my dialog brings all the roboys to the yard
and they’re like ― it’s better than yours!
soon the day will come when roboy passes the turing test!
At the Dialog Evolution, we are working on making your human-robot interaction with Roboy pleasant and meaningful. What does it entail for you? In the future, you will be able to engage with Roboy in various daily activities involving personal interaction such as recognition, speaking, question answering, suggesting, requesting and offering a cuppa just like your common fellow humans. Indeed, it is an ambitious goal, however, there is no limit to the power of robotic imagination other than what we are implementing and striving for. Nevertheless, we want the most excellent experience for you and Roboy, your best partner and pal.
this semester we want roboy to …
current architecture of the roboy dialog system
The basic NLP architecture is designed as a pipeline. An input device (derived from de.roboy.io.InputDevice)
is producing text, which is passed to a variety of linguistic analyzers (derived from de.roboy.linguistics.sentenceanalysis.Analyzer).
This currently consists of a Tokenizer and a POS tagger (both in de.roboy.linguistics.sentenceanalysis.SentenceAnalyzer) but could in the future be accompanied by named entity recognition, a syntactical and semantical analysis, an interpretation of the sentence type or other tools. The results of all these linguistics analyzers are collected together with the original text (de.roboy.linguistics.sentenceanalysis.Interpretation) and passed on to a state machine (states are derived from de.roboy.dialog.personality.states.State) within a personality class (derived from de.roboy.dialog.personality.Personality) that decides how to react to the utterance. In the future, the intentions (de.roboy.logic.Intention) determined by the state machine will then formulated into proper sentences or other actions (de.roboy.dialog.action.Action) by a module called Verbalizer. Currently, these actions are still directly created in the personality class. Finally, the created actions are sent to the corresponding output device (de.roboy.io.OutputDevice).
Upon incoming request, a Java client will pre-process the request and initiate transaction with the database. Two ways of communication between Roboy Java client and Neo4J database are supported: communication using Neo4J driver operating Cypher query language and Neo4J native Java API. Cypher query language offers more flexible querying while communications via Neo4J Java API are implemented as usage-specific routines. Interfaces are implemented on top of ros through the Java client. The input is any type of information Roboy can retrieve from environment abiding by Knowledge Representation reference in format of Roboy Communication Standard protocol, the output are pieces of data related to the requested scope in the same form.
get to know the dialog evolution team
Team members SS2018
Alona Kharchenko (Team Lead)
Heather Tooill (Agile Coach)
Where to go next
roadmap to turing test
- Make the state machine warm and fuzzy!