A.F.K. by SoTel. An Introduction to SoTel SoTel created A.F.K., an Android application used to auto...
-
Upload
natalie-wood -
Category
Documents
-
view
212 -
download
0
Transcript of A.F.K. by SoTel. An Introduction to SoTel SoTel created A.F.K., an Android application used to auto...
A.F.K.
by SoTel
An Introduction to SoTel
• SoTel created A.F.K., an Android application used to auto generate text message responses to other users.
• A.F.K. created to help automate responses to those annoying, needy text-ers.
How does it work?
High Level Diagram
NLP
Phonologyo Sounds of words, for spoken input
Morphologyo Meanings of the different parts of the word (suffix, prefix...)
Lexicalo Meaning of individual words
Syntactico Grammatical structure of the sentence
Semantico Overall meaning of a sentence
Discourseo Meaning of all sentences together
Pragmatico Understanding intentions of speech
NLPThe Basics:
o Tagging o Parsingo Dependencies
Example: The Stanford Parser
http://nlp.stanford.edu:8080/parser/
Input sentence: The dog runs very quickly
Penn-style Parse tree: (TOP (S (NP (DT The) (NN dog)) (VP (VBZ runs) (ADVP (RB very) (RB quickly)))))
Flattened String: TOP S NP DT The NN dog VP VBZ runs ADVP RB very RB quickly
Tokens: TOP, S, NP. DT, The, NN, dog, VP, VBZ, runs, ADVP, RB, very, RB, quickly
Our NLP
Our NLP
The parse tree also contains information as to what kind of sentence it is, such as a question, or statement.By looking at our parse tree and the Penn Tree Bank POS tags we extract the main subject of the sentence to send to the NLG. Ex. I love cats. Main Subject: CATS
If it is a question, it will even tell us if it is a who, what, or where question. If it is a question with no subject then we just pass it to our NLG, which may or may not have an answer.
Android SMS Background
• Android works in mysterious ways.• Currently there is no standard long term database for text
messages.• Any text messaging client can have its own individual text
message database.• Although there's no documentation on how to do this, it is an
unwritten rule to use the stock app's database • This allows any text messages sent and received from on
app to apply to the history of all apps.
Android App'
1. When the app is opened, your most recent text messages are logged.
– A background thread is also started which diffs your most recent text message received against the previously logged messages at 1/30 Hz. (The rest of the program is executed in the background thread)
– Once a diff is found, the thread requests for a response from the server.
– Then creates a message deliver intent and a BroadcastReciever.
– If the message is successfully sent, the message is added to the sent message database and then updates old text DB.
Server
The server is comprised of three parts: aiServer: a Python-based web server NLPmes: Our NLP (mentioned earlier) AIML Database: Our database of response tokens. AIMLParse: AIML Database manipulator.
Server
Project Feedback and Evaluation
Based on the Turing Test and Other Questions
• Is there an automated response to the text message?• Does the response seem intelligent for a computer?• Does the response seem at the intelligence level of a human?• Is the response a reasonable reply for the text message?• Is it plausible that without knowing the truth, a person would believe that there
was another person sending the texts? (Turing test) User Feedback• Impressions on Overall Project• How were the auto-generated responses?