Download presentation
Presentation is loading. Please wait.
Published byNatalie Wood Modified over 9 years ago
1
A.F.K. by SoTel
2
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.
3
How does it work?
4
High Level Diagram
5
NLP Phonology o Sounds of words, for spoken input Morphology o Meanings of the different parts of the word (suffix, prefix...) Lexical o Meaning of individual words Syntactic o Grammatical structure of the sentence Semantic o Overall meaning of a sentence Discourse o Meaning of all sentences together Pragmatic o Understanding intentions of speech
6
NLP The Basics: o Tagging o Parsing o Dependencies Example: The Stanford Parser http://nlp.stanford.edu:8080/parser/ http://nlp.stanford.edu:8080/parser/
7
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
8
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.
9
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.
10
Android App' 1.When the app is opened, your most recent text messages are logged. 2.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) 3.Once a diff is found, the thread requests for a response from the server. 4.Then creates a message deliver intent and a BroadcastReciever. 5.If the message is successfully sent, the message is added to the sent message database and then updates old text DB.
11
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.
12
Server
13
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?
Similar presentations
© 2024 SlidePlayer.com Inc.
All rights reserved.