Internet DRAFT - draft-phillips-uvml
draft-phillips-uvml
Internet Engineering Task Force Erin M. Phillips
Internet-Draft Oofoo, LLC.
Intended status: Informational July 15, 2013
Expires: January 16, 2014
The Universal Voting Markup Language (UVML)
draft-phillips-uvml-04
Abstract
This document describes the Universal Voting Markup Language (UVML),
a syntax for the structured representation of opinion in free text.
Using UVML, opinions can be encoded in text, image, or video, and
reliably interpreted by either human readers or automated-agents.
UVML supports both rating and ranking semantics. Ratings may be
scored using symbols associated with the five most commonly used
opinion dimensions: quality(*), importance(!), outlook($), support-
opposition(+), and likelihood(%). In addition, UVML defines a syntax
for optionally including a demographic signature by which voters can
publish basic demographic information with their UVML votes. The
design of UVML leverages cross-cultural sentiment and voting-systems
scholarship.
Status of this Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. This document may not be modified,
and derivative works of it may not be created, and it may not be
published except as an Internet-Draft.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on January 16, 2014.
Copyright Notice
Copyright (c) 2013 IETF Trust and the persons identified as the
document authors. All rights reserved.
Phillips Expires January 16, 2014 [Page 1]
Internet-Draft Universal Voting Markup Language (UVML) July 2013
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4
2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. UVML Voting System . . . . . . . . . . . . . . . . . . . . . . 5
4. UVML Technical Specification . . . . . . . . . . . . . . . . . 5
4.1. Ballot . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.2. Vote . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4.3. Rating . . . . . . . . . . . . . . . . . . . . . . . . . . 10
4.3.1. Target . . . . . . . . . . . . . . . . . . . . . . . . 10
4.3.2. Score . . . . . . . . . . . . . . . . . . . . . . . . 10
4.3.3. Undecided . . . . . . . . . . . . . . . . . . . . . . 10
4.3.4. Valuation . . . . . . . . . . . . . . . . . . . . . . 11
4.3.4.1. Quality . . . . . . . . . . . . . . . . . . . . . 11
4.3.4.2. Importance . . . . . . . . . . . . . . . . . . . . 11
4.3.4.3. Outlook . . . . . . . . . . . . . . . . . . . . . 11
4.3.4.4. Support-Opposition . . . . . . . . . . . . . . . . 12
4.3.4.5. Likelihood . . . . . . . . . . . . . . . . . . . . 12
4.3.4.6. Emphasis . . . . . . . . . . . . . . . . . . . . . 12
4.4. Ranking . . . . . . . . . . . . . . . . . . . . . . . . . 13
4.5. Signature . . . . . . . . . . . . . . . . . . . . . . . . 13
5. UVML Implementation Standards . . . . . . . . . . . . . . . . 14
5.1. No Vote Roll-up . . . . . . . . . . . . . . . . . . . . . 14
5.2. Multiple Votes . . . . . . . . . . . . . . . . . . . . . . 14
5.3. Signature Location . . . . . . . . . . . . . . . . . . . . 14
5.4. Multiple Signatures . . . . . . . . . . . . . . . . . . . 14
5.5. Forwarded Ballots . . . . . . . . . . . . . . . . . . . . 14
5.6. UVML Video Ballots . . . . . . . . . . . . . . . . . . . . 14
6. UVML Rhetorical Guide . . . . . . . . . . . . . . . . . . . . 15
7. UVML Functional Specification . . . . . . . . . . . . . . . . 15
7.1. Usability . . . . . . . . . . . . . . . . . . . . . . . . 15
7.1.1. Completeness . . . . . . . . . . . . . . . . . . . . . 15
7.1.2. Clarity . . . . . . . . . . . . . . . . . . . . . . . 15
7.1.3. Compactness . . . . . . . . . . . . . . . . . . . . . 16
7.1.4. Universality . . . . . . . . . . . . . . . . . . . . . 16
7.2. Privacy . . . . . . . . . . . . . . . . . . . . . . . . . 16
7.3. Integrity . . . . . . . . . . . . . . . . . . . . . . . . 16
7.4. Verifiability . . . . . . . . . . . . . . . . . . . . . . 16
7.5. Veracity . . . . . . . . . . . . . . . . . . . . . . . . . 16
7.6. Robustness . . . . . . . . . . . . . . . . . . . . . . . . 16
Phillips Expires January 16, 2014 [Page 2]
Internet-Draft Universal Voting Markup Language (UVML) July 2013
7.7. Intelligence . . . . . . . . . . . . . . . . . . . . . . . 17
8. Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
8.1. Accidental Vote Rates . . . . . . . . . . . . . . . . . . 17
8.2. Opinion Semantics . . . . . . . . . . . . . . . . . . . . 18
8.3. Election-Contest Semantics . . . . . . . . . . . . . . . . 18
8.4. Right to Left Language Support . . . . . . . . . . . . . . 18
9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 18
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 18
11. Security Considerations . . . . . . . . . . . . . . . . . . . 19
12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 19
12.1. Normative References . . . . . . . . . . . . . . . . . . . 19
12.2. Informative References . . . . . . . . . . . . . . . . . . 19
Appendix A. UVML Regular Expressions . . . . . . . . . . . . . . 19
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 20
Phillips Expires January 16, 2014 [Page 3]
Internet-Draft Universal Voting Markup Language (UVML) July 2013
1. Introduction
"Let's have a poll that doesn't have a 4 per cent margin of error,
where no thought need be given to loaded questions, respondent
bias, interviewer cheating, or cross-section accuracy." - Paul
Trescott, 1949
The Universal Voting Markup Language (UVML) enables the structured
expression of opinions in text, images, or video. The motivation
behind UVML is to be found in the above quote, and in "the long tail"
of disenfranchised opinion found in society in general and social
media in particular.
This document contains a UVML Voting System description (Section 3),
a UVML Technical Specification (Section 4), a limited set of UVML
Implementation Standards (Section 5), a UVML Rhetorical Guide
(Section 6), and a UVML Functional Specification (Section 7). Some
miscellaneous topics are addressed in Notes (Section 8).
2. Conventions
The meanings of the following terms require clarification in this
context. Terms quoted ("") in this section will not be quoted
afterward.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
All UVML elements are defined using ABNF (Augmented Backus-Naur Form)
notation. If you are not familiar with ABNF notation, please see
[RFC5234] for a complete description. ABNF rule names are shown as
verbatim.
The term "ballot" refers to something (text, image, video, or
physical object) which includes one or more UVML votes.
The term "polling station" refers to a service that processes UVML
ballots and responds to UVML queries.
The terms "target" and "topic" refers to the object of an opinion, as
defined by FrameNet [1].
The term "contest" refers to a competition between candidates or
options for which voters determine the outcome.
Phillips Expires January 16, 2014 [Page 4]
Internet-Draft Universal Voting Markup Language (UVML) July 2013
3. UVML Voting System
UVML is intended to enable a voting system with some deliberative
qualities. Figure 1 shows the principle interactions between actors
in the system.
_
O >--(1)-->--- UVML votes ------>-(1)-> / \
-|- | |
| <--(2)--<--- voting results --< (2)-< \ /
/ \ |
VOTER >------\ ---|---
| UVML(3) O |
(4) votes \------> -|- >---(3)------> |
| | |
_v_ / \ / \
| \| UVML votes PROXY / \
| | on physical POLLING STATION
|___| media
Figure 1
The following is a brief explanation of these interactions:
1. Voters write UVML-ballots on topics or contests for which they
have an opinion, and send them to a polling station using email,
SMS/text, applications, or through a session at a polling station
website.
2. Polling stations tally votes and publish the results in response
to implementation defined queries.
3. Voters write UVML-ballots on a proxy, such as a blog or micro-
blog. If the voter has registered the proxy with a polling
station, the polling station counts the votes in the ballots.
4. Voters write UVML votes on physical media, such as a personal
journal, billboard, clothing, etc., as a form of expression, and
not necessarily for aggregation.
4. UVML Technical Specification
The UVML specification is shown below in ABNF notation. Additional
details are provided in succeeding subsections. ABNF rules
referenced below but not defined in this specification are either
Phillips Expires January 16, 2014 [Page 5]
Internet-Draft Universal Voting Markup Language (UVML) July 2013
ABNF core rules or otherwise in the public domain.
Any document which contains UVML is a ballot. Ballots may contain
free text, one or more votes, and optionally a demographic signature.
ABNF Rule Definition
ballot = [text] 1*(vote [text]) [signature] [text]
vote = rating / ranking
rating = HASH target score
ranking = 2HASH contest selections
signature = 3HASH profile
;
;; rating
target = name / this
score = [undecided] valuation
name = tag *( PERIOD tag )
this = T H I S
;
;; ranking
contest = name
selections = 1*25selection
selection = *HWS [rank] HASH name [[undecided]
valuation]
rank = DIGIT / "1" DIGIT / "2" ZEROTOFIVE
;
;; score
undecided = QUESTION
valuation = quality / importance / outlook
valuation =/ support-opposition / likelihood
;
;; signature
profile = [age [HYPHEN]] gender [jurisdiction]
age = 1*3DIGIT
gender = iso-5218-gender
jurisdiction = [country] [region] [area-code]
country = [HYPHEN] iso-3166-country
region = [HYPHEN] iso-3166-subdivision
area-code = [HYPHEN] 3*4DIGIT
;
;; name
tag = name-begin *70name-inner name-end
name-begin = LETTER / UPPER-ASCII / UNICODE
name-inner = name-begin / DIGIT
name-end = name-inner
;
;; valuation
quality = among-the-very-best / very-good
quality =/ good / fair / poor
Phillips Expires January 16, 2014 [Page 6]
Internet-Draft Universal Voting Markup Language (UVML) July 2013
quality =/ very-poor / among-the-very-worst
;
importance = highest-importance / very-important
importance =/ important / unimportant / irrelevant
;
outlook = never-more-optimistic / very-optimistic
outlook =/ optimistic / pessimistic
outlook =/ very-pessimistic / never-more-pessimistic
;
support-opposition = strongly-support / support
support-opposition =/ somewhat-support / somewhat-oppose
support-opposition =/ oppose / strongly-oppose
;
likelihood = definitely / very-likely / likely
likelihood =/ unlikely / very-unlikely / definitely-not
;
;; ~~ quality ~~
among-the-very-best = 5*10STAR
very-good = 4STAR
good = 3STAR
fair = 2STAR
poor = 1STAR
very-poor = STAR MINUS
among-the-very-worst = STAR 2*9MINUS
;
;; ~~ importance ~~
highest-importance = 3*10BANG
very-important = 2BANG
important = BANG
unimportant = BANG MINUS
irrelevant = BANG 2*9MINUS
;
;; ~~ outlook ~~
never-more-optimistic = 3*10CURRENCY
very-optimistic = 2CURRENCY
optimistic = CURRENCY
pessimistic = CURRENCY MINUS
very-pessimistic = CURRENCY 2MINUS
never-more-pessimistic = CURRENCY 3*9MINUS
CURRENCY = DOLLAR / EURO / POUND / YUAN-YEN
;
;; ~~ support ~~
strongly-support = 3*10PLUS
support = 2PLUS
somewhat-support = PLUS
somewhat-oppose = MINUS
oppose = 2MINUS
strongly-oppose = 3*10MINUS
Phillips Expires January 16, 2014 [Page 7]
Internet-Draft Universal Voting Markup Language (UVML) July 2013
;
;; ~~ likelihood ~~
definitely = 3*10PERCENT
very-likely = 2PERCENT
likely = PERCENT
unlikely = PERCENT MINUS
very-unlikely = PERCENT 2MINUS
definitely-not = PERCENT 3*9MINUS
;
;; ISO code sets
iso-5218-gender = male / female
iso-3166-country = 2LETTER
iso-3166-subdivision = 1*2DIGIT / 2*3LETTER
male = M
female = F
;
;; symbols
BANG = %x21
HASH = %x23
DOLLAR = %x24
PERCENT = %x25
AMPERSAND = %x26
APOSTROPHE = %x27
STAR = %x2A
PLUS = %x2B
MINUS = %x2D
HYPHEN = %x2D
PERIOD = %x2E
SLASH = %x2F
QUESTION = %x3F
UNDERSCORE = %x5F
EURO = %x80
POUND = %xA3
YUAN-YEN = %xA5
M = "M" / "m"
F = "F" / "f"
T = "T" / "t"
H = "H" / "h"
I = "I" / "i"
S = "S" / "s"
;
;; symbol groups
LETTERDIGIT = LETTER / DIGIT
LETTER = "A" / "B" / "C" / "D" / "E" / "F" / "G"
LETTER =/ "H" / "I" / "J" / "K" / "L" / "M" / "N"
LETTER =/ "O" / "P" / "Q" / "R" / "S" / "T" / "U"
LETTER =/ "V" / "W" / "X" / "Y" / "Z"
LETTER =/ "a" / "b" / "c" / "d" / "e" / "f" / "g"
Phillips Expires January 16, 2014 [Page 8]
Internet-Draft Universal Voting Markup Language (UVML) July 2013
LETTER =/ "h" / "i" / "j" / "k" / "l" / "m" / "n"
LETTER =/ "o" / "p" / "q" / "r" / "s" / "t" / "u"
LETTER =/ "v" / "w" / "x" / "y" / "z"
ONETONINE = "1" / "2" / "3" / "4" / "5" / "6" / "7" /
"8" / "9"
ZEROTOFIVE = "0" / "1" / "2" / "3" / "4" / "5"
UPPER-ASCII = %xC0-FF
UNICODE = PLANE0
PLANE0 = %x0100-D7FF / %xE000-FDCF
PLANE0 =/ %xFDF0-FFFD
;; NOTE: java/scala
lack support for
PLANE1-2
;; PLANE1 = %x10000-1FFFD
;; PLANE2 = %x20000-2FFFD
Table 1: UVML Syntax Specification
4.1. Ballot
A UVML ballot consists of one or more UVML votes (rating or ranking)
and optionally including a UVML voter demographic signature. Ballots
can coexist with standard prose in any language.
A UVML rating vote begins with a hash (#), followed immediately by a
target and score.
A UVML ranking vote begins with a double-hash (##), followed
immediately by a contest list of selections in order preference:
#first #second ... etc., up to 25 selections. Selections may be a
simple hash tag, or a UVML rating vote (#first+++).
A UVML demographic signature begins with a triple-hash (###),
followed by age, gender, and location (ideally, voting jurisdiction)
of the voter.
Ex. Lorem ipsum dolor sit #topic*** amet, consectetur adipiscing
elit. Nulla sed blandit felis. #topic++ Ut lacinia nunc ##contest1
#candidateA #candidateB #candidateC venenatis sapien #topic%--
adipiscing ##contest2 #candidateD+++ #candidateE+ ultrices. Nulla
dictum tempus #topic$$$ volutpat. ###35F-USNY
4.2. Vote
UVML supports two types of votes: rating, and ranking. Rating votes
represent a voters valuation of a specific target. Ranking votes
represent a voters preferences among a number of options.
Phillips Expires January 16, 2014 [Page 9]
Internet-Draft Universal Voting Markup Language (UVML) July 2013
Ex (Opinion). #fluger**** ;; fluger quality is 'very good'
Ex (Choice). ##president.us #Smith #Jones #Johnson ;; voter
preferences for president of the United States are Smith, then Jones,
then Johnson.
Ex (Choice). Choice votes may also include Opinion votes, as in:
##president.us #Smith+++ #Jones+ #Johnson+ ;; preferences for
president of the United States are Smith (strongly support), then
Jones (somewhat support), then Johnson (somewhat support).
4.3. Rating
An UVML rating vote consists of a hash (#) followed immediately by a
target and score. Optionally, a voter may qualify a rating as
provisional, or, subject to change, by indicating that he or she is
undecided.
4.3.1. Target
A UVML target is the object of the voter sentiment, optionally
suffixed by a taxonomy of subgroups from largest to smallest
separated by a period (.). UVML also makes provision for a local
reference, using the special target '#this'.
Ex. #target***
Ex. #drivers.subgroup.subsubgroup*****
Ex. #this!!! ;; a comment on the importance of whatever the comment
is attached to
4.3.2. Score
The score on a UVML rating vote consists of an optional undecided
indicator followed by a valuation.
4.3.3. Undecided
A voter may indicate that he or she is undecided by placing a
question-mark (?) before the valuation. The connotation is that the
voter is not completely convinced of his or her opinion, but the
recorded opinion is the voter's current inclination.
Ex. #propXYZ?++ ;; unsure, but tending to support propXYZ
Ex. #target?$ ;; unsure, but tending to be optimistic
Phillips Expires January 16, 2014 [Page 10]
Internet-Draft Universal Voting Markup Language (UVML) July 2013
4.3.4. Valuation
UVML supports five of the most commonly used opinion valuation
dimensions ([Phillips2011]): _quality_, _importance_, _outlook_,
_support-opposition_, and _likelihood_.
4.3.4.1. Quality
Quality: How good or bad someone thinks something is.
UVML defines quality as the level of "virtue" or "positive effects
produced" or "positive connotation of".
Quality Syntax
------------------------------------------------ ------
Among the Very Best *****
Very Good ****
Good ***
Fair **
Bad (or Poor) *
Very Bad (or Very Poor) *-
Among the Very Worst *--
Table 2: UVML Quality Syntax
4.3.4.2. Importance
Importance: How significant or insignificant someone thinks something
is compared to other items to be considered.
Importance Syntax
------------------------------------------------------- ------
Highest Importance !!!
Very Important !!
Important !
Unimportant !-
Irrelevant !--
Table 3: UVML Importance Syntax
4.3.4.3. Outlook
Outlook: How expectant of good (optimistic) or bad (pessimistic)
someone is about something.
Phillips Expires January 16, 2014 [Page 11]
Internet-Draft Universal Voting Markup Language (UVML) July 2013
Outlook Syntax
------------------------------------------------------- ------
Never More Optimistic $$$
Very Optimistic $$
Optimistic $
Pessimistic $-
Very Pessimistic $--
Never More Pessimistic $---
Table 4: UVML Outlook Syntax
4.3.4.4. Support-Opposition
Support-Opposition: How strongly someone's thinking is aligned with a
topic.
Support Syntax
---------------------------------------------------------- ------
Strongly Agree or Strongly Support +++
Agree or Support ++
Agree, somewhat +
Disagree, somewhat -
Disagree or Oppose --
Strongly Disagree or Strongly Oppose ---
Table 5: UVML Support Syntax
4.3.4.5. Likelihood
Likelihood: How certain someone is that something is going to happen.
Likelihood Syntax
---------------------------------------------------------- ------
Definitely (100%) %%%
Very Likely (>90+%) %%
Likely (>75%) %
Unlikely (<25%) %-
Very Unlikely (<10%) %--
Definitely Not (0%) %---
Table 6: UVML Likelihood Syntax
4.3.4.6. Emphasis
UVML provides a means of emphasis to give voters freedom to emphasize
the strength of their opinion, may be done by repeating the final
symbol of the opinion. After all, three exclamation points are just
not enough for some #topics!!!!!!
Phillips Expires January 16, 2014 [Page 12]
Internet-Draft Universal Voting Markup Language (UVML) July 2013
From a tabulation standpoint, these opinions do not carry more than
the maximum consideration.
Ex. #life********* ;; life has never been better
Ex. #life$$$$$$ ;; never been more optimistic
4.4. Ranking
A ranking consists of a contest, and one or more selections.
A UVML contest vote is a indicated by a double-hash (##), followed by
the contest name. Each selection takes the form of a hash tag,
optionally followed by a valuation. Voter selections are listed in
order, beginning with the voter's first selection, optionally
followed by second, then third, etc., up to 25 selections.
Ex. ##president.us #Smith #Jones #Johnson
Ex. ##president.us #Smith+++ #Jones++ #Johnson
From a contest tabulation standpoint---both of the above examples are
tabulated the same. Each candidate receives a 1/CHOICE score for the
ballot, where CHOICE represents that candidates ordinal position, in
this case Smith +1.0, Jones +0.5, and Johnson +0.33.
The second example shows that UVML rating votes can be used as UVML
contest selections. In such cases, the rating votes as tabulated as
well, in this case Smith (strongly support) and Jones (support).
4.5. Signature
UVML enables voters to provide a demographic signature, to help
polling stations do voter segmentation. A UVML signature is prefixed
by triple-hashes (###). The voter signature may appear before,
after, or between votes within a ballot.
A UVML demographic signature is composed of three parts: age, gender,
and location. Only gender is required. The location may be a
country, country-state, or country-areacode. The country is
optional, but recommended in cases where the polling station may not
reliably supply a correct default.
Ex. ###F ;; female voter
Ex. ###M ;; male voter
Ex. ###29F212 ;; 29 year old female voter from New York City
Phillips Expires January 16, 2014 [Page 13]
Internet-Draft Universal Voting Markup Language (UVML) July 2013
Ex. ###M-CN ;; male voter from China
Ex. ###75F-USCA ;; 75 year old female voter from California
Votes are tabulated at each level where the information is provided
or can be derived. In the case of ###M212, votes would be counted
for the 212 area code, the state of New York, and the country of the
Unites States.
5. UVML Implementation Standards
The following standards promote consistency in voter experience
across polling stations.
5.1. No Vote Roll-up
For any UVML topic, contest, or selection which includes a subgroup
delimiter (.), the polling station must roll up a specific topic to a
more general one. For example, #drivers.ny**** must not imply
#drivers****.
5.2. Multiple Votes
If multiple votes for the same topic and valuation type are included
in a single ballot, then a polling station must count the first vote
only.
5.3. Signature Location
Signatures may appear anywhere within a ballot, though the ABNF
grammar for a ballot indicates that a signature follows after all
votes.
5.4. Multiple Signatures
If multiple demographic signatures are present in a single ballot,
then a polling station must reference the first signature only.
5.5. Forwarded Ballots
Ballots which are obviously forwarded should not be counted.
5.6. UVML Video Ballots
UVML in video is treated as UVML in text. Whether on one frame or
all frames, multiple UVML votes for the same topic and opinion type
are not counted more than once.
Phillips Expires January 16, 2014 [Page 14]
Internet-Draft Universal Voting Markup Language (UVML) July 2013
6. UVML Rhetorical Guide
A UVML vote can take two rhetorical forms: confirming and inline.
In the confirming form, UVML restates, clarifies, or quantifies an
opinion expressed elsewhere in the text.
Ex. Came across this cool voting syntax called, UVML. #uvml*****.
In the inline form, UVML both embodies the full semantics of opinion
and plays a grammatical role in the text.
Ex. Check out #uvml*****.
7. UVML Functional Specification
This section contains some more theoretical descriptions of the core
motivations of the various components of UVML. Future changes to the
UVML standard should be supported by these functional specifications.
Author's Note: While an effort has been made to inform UVML's design
goals with concepts from elections systems theory, the field is
highly complex and the treatment of related topics in this document
should only be considered superficial.
The aim of UVML is to enable a high quality ubiquitous voting system
capable of processing ballots authored in text, image, or video. The
functional requirements for UVML are presented below. The framework
for the below requirements benefits from [HospVora2010].
7.1. Usability
UVML must enable voters to express their opinions completely,
clearly, and compactly, such that the voter can be confident that a
vote cast using UVML accurately reflects his or her intentions.
7.1.1. Completeness
UVML must enable voters to express their opinions using the principle
elements of opinion semantics (Section 8.2) and rank-order preference
semantics (Section 8.3).
7.1.2. Clarity
UVML must enable voters to clearly communicate to readers the
semantics of their opinions ( Completeness ) to both human and
automated-agent readers.
Phillips Expires January 16, 2014 [Page 15]
Internet-Draft Universal Voting Markup Language (UVML) July 2013
The syntax for UVML votes and signatures must be defined using an
ABNF grammar.
The syntax for UVML votes and signatures should be defined so as to
minimize conflicts with established modes of textual or visual
communications.
7.1.3. Compactness
UVML syntax must include only the minimum number of symbols required
to meet semantic requirements. UVML must reconcile conflicts between
compactness and clarity in favor of compactness.
7.1.4. Universality
UVML syntax must be a universal syntax, requiring no or only minimal
localization.
7.2. Privacy
UVML must enable voters to sign their ballots with a demographic
signature; however, "polling stations" must not require a signature
for a ballot to be counted.
7.3. Integrity
UVML must provide inference-free voting tabulation, such that the
vote cast is the vote recorded.
7.4. Verifiability
UVML must enable voters to query voting results and sample ballots.
7.5. Veracity
UVML syntax must be easy enough to process such that polling stations
can render tabulated returns in near-real-time, so that voters can be
assured that their votes and the votes of others are being reported
as they are counted.
7.6. Robustness
UVML must enable a voter to vote again if a previous vote was cast
incorrectly or the voter's opinion changes.
Phillips Expires January 16, 2014 [Page 16]
Internet-Draft Universal Voting Markup Language (UVML) July 2013
7.7. Intelligence
UVML must enable a closed-loop voting system, where voters can query
the full content of the ballots of other voters and re-vote as they
learn more about the things that are important to themselves and
other voters.
8. Notes
This section includes remarks which didn't seem to fit anywhere else.
8.1. Accidental Vote Rates
Some work was done in the design of UVML to limit accidental voting.
Accidental votes are votes which are valid UVML, but for which the
author did not intend to vote using UVML---his or her text just
happened to be valid UVML.
This author examined a blog corpus ([Spinn3r2009]) totaling 62M
social media documents in . The accidental vote rate for unique
targets was 33:1,000,000. The rate of accidental voting for
meaningful targets is much lower, perhaps 3-5:1,000,000. Below are
some examples of the false positives. Unicode characters in the
below examples will appear as � in the ascii format of this
specification.
Ex(s). #BWE08!, #ta!!!!!, #arriba-, #cbaaab+, ##BR#Showing, #top-,
#user-, #Movies336-, #Caution!, #路况市区20%,
#DSNYUK23789BNew!!, #er!, #YUWB7JLUQI%, #Ap+, #cutid1!, #leella!,
##BR#Great, #︿$*, #FNT*, #Уво&#
1083;ьте!, #g4+, #¥......--*, #FF6021!,
#trendanalysis-, #输出heapdump*, #KSCS25FVSS-, #у&#
1081;!, #EL+, #tch!!!, #fwe%, #seoad-, #outros240-, #GOBAMA!, #NR%,
#данутых!, #osleoperd-,
#而对于c++, #DANUNO-, ##BR#Only, #vouvotar!, ##BR#
Jacquelyn.
The language distribution of these accidental votes was more or less
consistent with each language's representation in the corpus.
Portuguese was a little higher than expected for some reason, and
Chinese/Japanese/Korean accidental voting rates were a little lower
than expected: U -> 382, my -> 1, de -> 89, fr -> 182, pl -> 6, hr ->
9, uk -> 7, ta -> 4, hi -> 2, io -> 11, ka -> 3, ru -> 178, ko -> 3,
th -> 6, cjk -> 489, ar -> 18, no -> 9, nl -> 17, et -> 7, pt -> 317,
ro -> 4, hu -> 1, ja -> 122, vi -> 8, da -> 3, sv -> 19, he -> 21, fa
-> 4, it -> 20, zh -> 31, es -> 123, en -> 3006.
Phillips Expires January 16, 2014 [Page 17]
Internet-Draft Universal Voting Markup Language (UVML) July 2013
UVML's current syntax seems to strike a useful balance between
compactness, differentiation from conventional text, and
expressiveness power.
8.2. Opinion Semantics
UVML leverages the definition of opinion semantics provided by
FrameNet [1]: "topic", an "aspect", a "constancy" value, a "manner."
Topic UVML must enable voters to define their own topics, using
taxonomy if desired.
Aspect UVML must enable voters to express the most common opinion
types : quality, support (or agreement), importance, outlook, and
likelihood.
Constancy UVML must enable voters to make "provisional" votes, in
cases where the voter is undecided.
Manner UVML must enable voters to emphasize the strength of their
opinions beyond the limits of a conventional Likert-type scale.
8.3. Election-Contest Semantics
For Election-Contest semantics, UVML uses the definition of rank-
order semantics provided by FrameNet [1]. Specifically, "the
{perceived} state of occupying a certain {place} within a hierarchy."
8.4. Right to Left Language Support
At this time, the specification of UVML does not include a hash-right
convention for right-to-left languages. To date, social media
content of users of right-to-left languages have not worked to
implement such a convention. If this changes, the UVML specification
may follow.
9. Acknowledgements
This document was constructed using the xml2rfc project.
10. IANA Considerations
This memo includes no request to IANA.
Phillips Expires January 16, 2014 [Page 18]
Internet-Draft Universal Voting Markup Language (UVML) July 2013
11. Security Considerations
UVML does not pose a security threat.
12. References
12.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
12.2. Informative References
[HospVora2010]
Department of Computer Science, George Washington
University, "An information-theoretic model of voting
systems", October 2008.
[Phillips2011]
(unpublished, available at http://uvml.org), "Multi-
language Analysis of Sentiment Types in Blogs", May 2011.
[RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", STD 68, RFC 5234, January 2008.
[Spinn3r2009]
Proceedings of the Third Annual Conference on Weblogs and
Social Media (ICWSM 2009, "The icwsm 2009 spinn3r
dataset", May 2009.
URIs
[1] <http://framenet.icsi.berkeley.edu>
Appendix A. UVML Regular Expressions
The following basic regular expressions (from scala) express the
above ABNF specification.
Basic regular expression for the capture of UVML rating votes.
(?:\x23(?:[A-Za-z\xc0-\ud7ff\ue000-\ufdcf\ufdf0-\ufffd][0-9A-Za-
z\xc0-\ud7ff\ue000-\ufdcf\ufdf0-\ufffd]{0,70}[0-9A-Za-z\xc0-
\ud7ff\ue000-\ufdcf\ufdf0-\ufffd](?:\x2e[A-Za-z\xc0-\ud7ff\ue000-
\ufdcf\ufdf0-\ufffd][0-9A-Za-z\xc0-\ud7ff\ue000-\ufdcf\ufdf0-
\ufffd]{0,70}[0-9A-Za-z\xc0-\ud7ff\ue000-\ufdcf\ufdf0-\ufffd])*|
Phillips Expires January 16, 2014 [Page 19]
Internet-Draft Universal Voting Markup Language (UVML) July 2013
[Tt][Hh][Ii][Ss])\x3f?(?:\x2a{5,10}|\x2a{4}|\x2a{3}|\x2a{2}|\x2a|
\x2a\x2d|\x2a\x2d{2,9}|!{3,10}|!{2}|!|!\x2d|!\x2d{2,9}|
[\x24\x80\xa3\xa5]{3,10}|[\x24\x80\xa3\xa5]{2}|[\x24\x80\xa3\xa5]|
[\x24\x80\xa3\xa5]\x2d|[\x24\x80\xa3\xa5]\x2d{2}|
[\x24\x80\xa3\xa5]\x2d{3,9}|\x2b{3,10}|\x2b{2}|[\x2b\x2d]|\x2d{2}|
\x2d{3,10}|%{3,10}|%{2}|%|%\x2d|%\x2d{2}|%\x2d{3,9}))(?=\Z|[.;:\s])
Basic regular expression for the capture of UVML ranking votes.
(?:\x23{2}[A-Za-z\xc0-\ud7ff\ue000-\ufdcf\ufdf0-\ufffd][0-9A-Za-
z\xc0-\ud7ff\ue000-\ufdcf\ufdf0-\ufffd]{0,70}[0-9A-Za-z\xc0-
\ud7ff\ue000-\ufdcf\ufdf0-\ufffd](?:\x2e[A-Za-z\xc0-\ud7ff\ue000-
\ufdcf\ufdf0-\ufffd][0-9A-Za-z\xc0-\ud7ff\ue000-\ufdcf\ufdf0-
\ufffd]{0,70}[0-9A-Za-z\xc0-\ud7ff\ue000-\ufdcf\ufdf0-
\ufffd])*(?:[\t\x20]*(?:\d|1\d|
2[0-5])?\x23[A-Za-z\xc0-\ud7ff\ue000-\ufdcf\ufdf0-\ufffd][0-9A-Za-
z\xc0-\ud7ff\ue000-\ufdcf\ufdf0-\ufffd]{0,70}[0-9A-Za-z\xc0-
\ud7ff\ue000-\ufdcf\ufdf0-\ufffd](?:\x2e[A-Za-z\xc0-\ud7ff\ue000-
\ufdcf\ufdf0-\ufffd][0-9A-Za-z\xc0-\ud7ff\ue000-\ufdcf\ufdf0-
\ufffd]{0,70}[0-9A-Za-z\xc0-\ud7ff\ue000-\ufdcf\ufdf0-
\ufffd])*(?:\x3f?(?:\x2a{5,10}|\x2a{4}|\x2a{3}|\x2a{2}|\x2a|\x2a\x2d|
\x2a\x2d{2,9}|!{3,10}|!{2}|!|!\x2d|!\x2d{2,9}|
[\x24\x80\xa3\xa5]{3,10}|[\x24\x80\xa3\xa5]{2}|[\x24\x80\xa3\xa5]|
[\x24\x80\xa3\xa5]\x2d|[\x24\x80\xa3\xa5]\x2d{2}|
[\x24\x80\xa3\xa5]\x2d{3,9}|\x2b{3,10}|\x2b{2}|[\x2b\x2d]|\x2d{2}|
\x2d{3,10}|%{3,10}|%{2}|%|%\x2d|%\x2d{2}|%
\x2d{3,9}))?){1,25})(?=\Z|[.;:\s])
Basic regular expression for the capture of UVML signatures.
(?:\x23{3}(?:\d{1,3}\x2d?)?[FMfm](?:(?:\x2d?[A-Za-
z]{2})?(?:\x2d?(?:\d{1,2}|[A-Za-
z]{2,3}))?(?:\x2d?\d{3,4})?)?)(?=\Z|[.;:\s])
Author's Address
Erin Mikel Phillips
Oofoo, LLC.
Des Moines, IA
US
Phone: +1-515-943-3853
Email: ep1@uvml.org
Phillips Expires January 16, 2014 [Page 20]