Page 1
CS-EE 481 Spring 2005
Founders Day, 2005 1University of Portland School of Engineering
Project Pocket GopherConversational Learning Agent
TeamJosh Jones
Philip Little
Tiffany Takahara
AdvisorDr. Rylander
Industry RepresentativeMs. Glenna Van Duzer
Harland Financial Solutions
Page 2
CS-EE 481 Spring 2005
Founders Day, 2005 2University of Portland School of Engineering
Agenda
• Introduction Philip
• Background Philip
• Methods Tiffany
• Results Josh
• Conclusions Tiffany
• Demonstration
Page 3
CS-EE 481 Spring 2005
Founders Day, 2005 3University of Portland School of Engineering
Introduction
Thanks to Dr. Rylander, Ms. Glenna Van Duzer and Dr. Ward for all of their help.
Page 4
CS-EE 481 Spring 2005
Founders Day, 2005 4University of Portland School of Engineering
Introduction
• Objective: Allow computers to process human language.
• Provide a foundation for future programs that ‘understand’ and respond to written language.
• Provide a sample application that uses this foundation.
Page 5
CS-EE 481 Spring 2005
Founders Day, 2005 5University of Portland School of Engineering
Background
• Loebner Prize Contest, Artificial Intelligence• Initial vision: Design a program which can
converse normally with a human.• Actual scope: A program which can present
the grammatical breakdown of a sentence.• Application areas: User interfaces, search
technology, tech support, software development, etc.
Page 6
CS-EE 481 Spring 2005
Founders Day, 2005 6University of Portland School of Engineering
Background
• Parsing written language: A hard problem.
• No, I mean a really hard problem.
• Entire research field devoted to this area.
Page 7
CS-EE 481 Spring 2005
Founders Day, 2005 7University of Portland School of Engineering
The CLA (Conversational Learning Agent)
• The user types an English sentence into the CLA, to which the CLA gives a response.
• The CLA’s response is determined by its current “personality module.”
• The default personality module recognizes the grammatical structure of a sentence.
Page 8
CS-EE 481 Spring 2005
Founders Day, 2005 8University of Portland School of Engineering
The CLA (cont.)
• Words and grammar rules can be added to the CLA’s data file.– (the “learning” in Conversational Learning
Agent)
• Definitions are associated with each word.
Page 9
CS-EE 481 Spring 2005
Founders Day, 2005 9University of Portland School of Engineering
Methods
Rapid Application Development Model
• 3 main parts: Underlying Architecture (Josh), GUI (Tiffany), Parser (Philip).
• Modeling Phase done as a group
• Construction done individually
• Integration & Deployment done as a group
Page 10
CS-EE 481 Spring 2005
Founders Day, 2005 10University of Portland School of Engineering
Methods
Underlying Architecture (Josh)
• Lets the program access word definitions.
• Hash table for fast word lookup.
• Allows new words to be added to datafile.
Page 11
CS-EE 481 Spring 2005
Founders Day, 2005 11University of Portland School of Engineering
Methods
GUI (Tiffany)
• Implemented in C++.
• Designed for Windows XP.
• Chat interface, Word Editor, and Rules Editor.
• Integration with personality module and parsing back-end.
Page 12
CS-EE 481 Spring 2005
Founders Day, 2005 12University of Portland School of Engineering
Methods
Parser (Philip)
• Researched existing algorithms.
• Built parser back-end around modified algorithm.
• Designed public interface & integrated
Page 13
CS-EE 481 Spring 2005
Founders Day, 2005 13University of Portland School of Engineering
User
Personality Module
Parser Word Graph
Sentence
Response
Sentence
Parse Tree
GUI Chat WindowSentence
Definitions
Response
Architecture
Page 14
CS-EE 481 Spring 2005
Founders Day, 2005 14University of Portland School of Engineering
Architecture
• Consists of 4 main objects interacting• GUI
– The interface which the user interacts with the program.
– Three modes of interaction
• Word Graph– Internal database of recognized words and their
definitions.
Page 15
CS-EE 481 Spring 2005
Founders Day, 2005 15University of Portland School of Engineering
Architecture (Cont.)
• Personality Module– Determines responses based on grammatical
structure of a sentence and its meaning.– Functionality decided by developer– May update Word Graph
• Parser– Analyzes the sentence and identifies
grammatical structure
Page 16
CS-EE 481 Spring 2005
Founders Day, 2005 16University of Portland School of Engineering
Implementation
• Parsing isn’t as easy as it sounds!
• Consider the sentence “Book that flight.”
1. Book. “It must be a noun!”
2. That. “A determinant?”
3. Flight. “Another noun?”
• “Book” is a verb in this context.
Page 17
CS-EE 481 Spring 2005
Founders Day, 2005 17University of Portland School of Engineering
Implementation
• Solution: Earley Algorithm
• Only tests grammatical correctness
• Solution: Modify to include parse tree info
Page 18
CS-EE 481 Spring 2005
Founders Day, 2005 18University of Portland School of Engineering
Improvements
• Make properties/relationships within words more dynamic– The different properties definitions can have is
currently hard-coded. Use a data file for easier modification if other representations are needed.
• Allow removal of definitions.– Current design does not like forgetting its vocabulary.
• Handle numbers
Page 19
CS-EE 481 Spring 2005
Founders Day, 2005 19University of Portland School of Engineering
Conclusions
• The CLA currently provides a method of quickly identifying various parts of English sentences.
• The CLA provides the means to be easily extended with further capabilities– Learning new words, relationships based on user input.
– Providing different kinds of responses.
• An exciting step into the problem of natural language recognition.
Page 20
CS-EE 481 Spring 2005
Founders Day, 2005 20University of Portland School of Engineering
Demonstration
• Inputting various sentences, showing how the CLA responds.
• Adding and modifying word information.
• Adding and modifying grammar rules.
Page 21
CS-EE 481 Spring 2005
Founders Day, 2005 21University of Portland School of Engineering
Any Questions?
Thank You!
(Not exactly a pocket gopher…)