ALDialog¶
NAOqi Interaction engines - Overview | API | Tutorials
What it does¶
The ALDialog module allows you to endow your robot with conversational skills by using a list of “rules” written and categorized in an appropriate way.
How it works¶
Rules¶
ALDialog uses a list of written rules in order to manage the flow of the conversation between the human and the robot.
These rules are of two types: User rules and Proposal rules
A User rule links a specific user input to possible robot output.
u: (Hello Nao how are you today) Hello human, I am fine thank you and you?
A Proposal rule triggers a specific robot output without any user output beforehand.
proposal: Have you seen that guy on the TV yesterday? u1: (yes) He was crazy, no? u1: (no) Really, I need to tell you.
Grouped by Topics¶
In order to properly manage the conversation between the human and the robot, the rules are grouped by Topics.
topic: ~greetings
language: English
u: (Hello Nao how are you today) Hello human, I am fine thank you and you?
u: ({"Good morning"} {Nao} did you sleep * well) No damn! You forgot to switch me off!
proposal: human, are you going well ?
u1: (yes) I'm so happy!
u1: (no) I'm so sad
A Topic can either be created and edited directly in any text editor or through a qiChat Choregraphe box.
Collaborative dialog vs applications¶
We can differenciate three steps in robot life: autonomous life, collaborative dialog (interactive state) and your application. Collaborative dialog allows running your application by voice. You can simply add trigger sentences in the manifest of your application or add more advanced dialog.
If you want to start your application with confirmation, trigger sentences do not allow it, you may write the topic (check collaborative in Choregraphe)
topic: ~startmyweather
language: English
include: lexicon_enu.top
u: (start weather) are you sure?
u1: (~yes) ok ^switchFocus(myweather/.)