A.F.K. by SoTel. An Introduction to SoTel SoTel created A.F.K., an Android application used to auto...

13
A.F.K. by SoTel

Transcript of A.F.K. by SoTel. An Introduction to SoTel SoTel created A.F.K., an Android application used to auto...

Page 1: 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.

A.F.K.

by SoTel

Page 2: 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.

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.

Page 3: 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.

How does it work?

Page 4: 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.

High Level Diagram

Page 5: 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.

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

Page 6: 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.

NLPThe Basics:

o Tagging o Parsingo Dependencies

Example:    The Stanford Parser

http://nlp.stanford.edu:8080/parser/

Page 7: 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.

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

Page 8: 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.

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.

Page 9: 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.

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.

Page 10: 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.

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. 

Page 11: 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.

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.

Page 12: 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.

Server

Page 13: 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.

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?