We (two guys in a basement) have created AyeTap, a tool that we hope will make democracy cheaper, more efficient, and viral. We think it'll let you bring about civic and social change at every level, from deciding if your school is safe to re-open or picking a venue for your band or putting a traffic light on your street. AyeTap will help people change their space at a local level. To create a "Micro-Democracy" that will fix the broken windows … or just find out if any windows are broken.
We've been working on this for seven years. Most of that time, was developing a natural language processing engine that is the heart of the system. We had to get a machine to understand that:
"Does Taylor Swift rock?"
does not equal
"does a swift tailor, rock?"
(even though every word is the same with current spelling/pattern algorithms)
"I like ice cream"
"I really don't dislike frozen yogurt even though my friends think so"
(even though every word is different with current spelling/pattern algorithms)
"Do you stand while peeing"
"Do you sit while pissing?"
(curious why they are the opposite, yet equal? Read LiP Algorithm notes below)
Why did we spend seven years trying to figure out if two questions about peeing are the same? And what does that have to do with building a voting platform?
There are a ton of petitions and polling services, but:
The problem with current polls:
While there are many ways to start a poll including, Hacker News or with a tweet, these polls are not universal, not collaborative, and not validated. But the main reason why polls on Facebook are meaningless is that, for every survey that says Trump is fake, another says Trump is great. It's impossible to tally them up, so you'll never figure out what the majority wants. And for any online poll, all you need is an email address. Russian bots have millions of email addresses or Twitter handles or Facebook pages.
The problem with petitions:
Petitions are ineffective because, in their very essence, they are one-sided and only tell you how many signed. Imagine looking at a football scoreboard, which only shows you what one team scored??? Petitions don't show what the majority wants, only how many want something. See video
We believe that to make online democracy a reality, we needed to create intelligence that determines what can and cannot run. An election commissioner, if you will. Imagine this: if you have two parallel elections for the mayor of your city, each with different candidates on the ballot, you'll never know who won. If they are multiple questions about the same thing on AyeTap, then there will be no answers. So, we had first to figure out how to get a machine to understand language to recognize and block duplication. It took us seven years to teach a device how to read English, but without it, we would be just another Twitter poll or change.org petition, with hundreds of duplicate topics running in parallel, making it impossible to know what the majority thinks or wants. See video
We've built AyeTap around 'proof of majority,' an essential element for change so you can create referendums on things that are important to you but too small for a city or state (or the school or the HOA) to put on the ballot. And most change is useful only if it happens at the right time, not at some future election date next year. AyeTap is democracy on demand.
(you can read more about our long-term throughout the site)
Our service is currently only available within USA (the NLP algorithm can't handle German, French or even British English).
The Natural Language Processing technology we developed took the most effort, but it's something most users of AyeTap will never know exists. But since this is a dedicated page for Hacker News members, most of you will appreciate our NLP tech more than the concept of Micro-Democracy, so we've talked a little more about it.
The system parses two inputs and then outputs each as a weight. The numbers are then run through a 'weighing scale' to determine the degree of similarity.
We've developed our own dictionary called a Brahmand (named after the all-encompassing Hindu god, Brahma), which is a hybrid between a dictionary & thesaurus. Our dictionary does not follow the ISO 2788-1986 standard as we believe that standard has been the major stumbling block to current research on NLP. Our data is organized around bridges, which are like neurons, and create maps between words, phrases, and grammar. The database has a self-learning feature that will learn new words, phrases, idioms, proverbs, slang, puns, etc. as it gets used. The Brahmand expands with minimal manual intervention.
Our database, algorithms, mathematical formulas, and a set of rules (java code) constitute the entire LiP (Language Interpretation Protocol) System.
Here are some of the sentence handling rules:
Rule 4 – the Hitler name
Our system handles proper nouns differently since they have no synonyms. Names are typically omitted from our internal soundex / spelling matches. However, some proper nouns can be tagged as synonymous with qualities specific to that name.
Example: "Hitler" or "Xerox"
Although Hitler is a family name, it brings about the visions of dictatorship, Nazism, violence, etc. and is treated as a synonym for any of these words. Similarly, the proper noun 'Xerox' is synonymous with duplication, reprint, photocopy, etc.
"Do you love Gandhi"
"Do you hate Hitler"
(Gandhi and Hitler have synonyms, which are antonyms of each other. So, if you love peace, then you must hate genocide).
Rule 7 – Mr. and Mrs. Gray
Some proper nouns are spelt the same as adjectives, nouns, etc. Words such as gray, brown and swift are adjectives but also names. This rule identifies what we call 'gray or Mr. and Mrs. words' to determine weight.
"Do you like pastel brown"
"do you like pastor brown"
This rule identifies that brown in the sentence 2 is a person even though it is not capitalized and weighs it differently from the same word sentence 1.
Rule 15.2 - options dimensions – reversal rule
Two inputs, which are the opposite, could be the same after the additional dimension of voting options, is calculated. It uses a quadratic formula to determine how much the weight will deviate before and after processing the extra dimension of voting options.
'Do you stand while peeing' - yes/no
'Do you sit while peeing' - yes/no
When two questions are the opposite, AND both have bipolar voting options (yes/no, black/white, happy/sad, etc.), then this rule forces a change in polarity in one input. Because if you answered no to 'do you stand and pee" means, you would have answered 'yes' if asked 'do you sit while peeing". So, the system will consider both polls as the same, despite them being exact opposites.
Rule 15. 7 - options dimensions – ballot weight & & elasticity
This rule uses voting options to determine the weight of the question. The logic being is the answers are the same; perhaps the questions are the same? The degree of similarity of the answers is used as a multiplier to determine the weight of the question.
Answers for poll 1: Fred Flintstone, Micky Mouse, Snow White
Answers for poll 2: Fred Flintstone, Mick, Snow White
x chance the questions are the same
Answers for poll 1: Fred Flintstone, Micky Mouse, Snow White
Voting options for poll 2: Fred, Wilma, Miss. White
x - y chances the questions are the same
The more complex (first & last names, vs. only first name, larger numbers vs. smaller numbers, etc.) and the more similar the answers, the higher the chances of the questions being the same.
Rule 13 – idioms are not idiotic
This rule looks for multiple words that combine together to mean something else entirely (phrases, idiom, puns, etc.) in both inputs, sequentially, and awards weight based on the bridged word.
"I want the font to be of the color of fresh grass"
(color of fresh grass' will be assigned the weight for adj. 'green')
Rule 14 – yin & yang rule
This rule looks for the similarity between two inputs using a 'harmony factor' which will affect the final weight.
'The Glass is half full (=yin)'
'The Glass is half empty (=yang)'
'I have a dozen (=yin) apples'
'I have 12 (=yang) apples'
When we find a 'yin/yang' split across two inputs, then the current weight of both inputs is multiplied by the 'harmony factor'.
Rule 9 – lose the weight
Eliminates repetitiveness before the valuation
"He is a big huge guy" - will be cropped to - "He is a huge guy"
Rule 11 – negatives for dummies
This rule converts both inputs to the same state i.e., and it will take into consideration the negative usage within a sentence and convert to an anded output. So opposite words, when combined with a negative denominator, will reverse polarity.
'Never Lazy' = will be output as 'Active'
Of course, this is just a vague summary, and there is a limitation about how much I can talk about it without giving away too much, but if anyone is interested in learning more, please leave a comment on HN, and I'll be happy to tell you more.