Dialog Evolution

my dialog brings all the roboys to the yard
and they’re like ― it’s better than yours!

Vision

soon the day will come when roboy passes the turing test!

https://youtu.be/ZyuGzCvhbNI

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.

Our Goal

        this semester we want roboy to …

learn constructing proper triples w.r.t. the available ontologies
assess the sentiment of the utterance
correctly distinguish between statements and questions
resolve the co-references

ensure the keywords are extracted satisfactorily

Abstract

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.

Results

     roboy can now…

https://youtu.be/oJ0L1GjVhF8
Tell you how the weather is

Tell you how the weather is

“It seems like it is clear out there!”

Tell you what movie is playing

Tell you what movie is playing

I have heard that The Meg is playing!

Translate words into 90 different languages

Translate words into 90 different languages

I think, the answer is  机器人

The Team

       get to know the dialog evolution team

Team members SS2018

Alona Kharchenko (Team Lead)
Heather Tooill (Agile Coach)
Jason Lochert
Joseph Birkner
Vagram Airiian

Links

      codes, documentations & presentations

Where to go next

roadmap to turing test

  • Make the state machine warm and fuzzy!