-
Notifications
You must be signed in to change notification settings - Fork 10
3. Interact with Leolani
This Framework is built having in mind the use-case of social robot that people can interact with. The Responder Package contains logic to determine the correct response to a given Natural Language query.
Every _Responder must implement the function respond
, and it may have a list of required Components to provide this response. The ResponsePicker class decides which Responder to pick from a list of potential _Responder_s, based on their ResponderType and quality.
Responders may also have a list of cues or keywords they need to detect in an utterance in order to produce a response. These could be seen as commands for some specific behaviour.
Just like with _Component_s, not every application requires all types of _Responder_s. The available _Responder_s are:
- Brain Responder: Depending on the Brain Component, this responder analyses an utterance to extract triples. The reply to the utterance depends on the thoughts produced by the Brain.
-
Greetings responder: This responder replies by greeting the speaker.
keywords = ['Yo', 'Hey!', 'Hello!', 'Hi!', 'Good Day', "How's it going?", 'How are you doing?', "What's up?", "What's new?", "What's going on?", "What's up?", 'Good to see you!', 'Nice to see you!', 'How is it going?']
-
Goodbye responder: This responder replies by saying goodbye the speaker.
keywords = ['Bye', 'Bye Bye', 'See you', 'See you later', 'Goodbye', 'Good Bye', 'Have a nice day', 'Nice having talked to you', 'See you later alligator']
-
Thanks responder: This responder replies by welcoming the speaker when the speaker's utterance expreses gratitude.
keywords = ['thank you', 'thanks', 'appreciate it', 'cheers']
-
Affirmation responder: This responder replies in a happy mood when the utterance by the speaker confirms or validates the previous robot utterance.
keywords = ['yes', 'yeah', 'correct', 'alright', 'right', 'great', 'nice', 'sweet', 'true', 'good', 'ok', 'well', 'fair', 'correctamundo', 'splendid', 'indeed', 'superduper', 'wow', 'amazing']
-
Negation responder: This responder replies in an apologetic manner when the utterance by the speaker negates or invalidates the previous robot utterance.
keywords = ["no", "nope", "incorrect", "wrong", "false", "bad", "stupid"]
-
Meet Intention responder: This responder detects when a speaker intends to introduce themselves to the robot.
keywords = ["let's meet", 'want to meet', 'my name is']
-
Wikipedia responder: This responder replies by querying Wikipedia.
keywords = ['can you search', 'can you look up', 'can you query']
-
Wolfram responder: This responder replies by querying WolframAlpha.
keywords = ['can you search', 'can you look up', 'can you query']
-
QnA responder: This responder replies to a standard dictionary of questions and answers provided by the query module.
keywords (sample) = ['Tell me a joke!', 'Do you speak Dutch/English?', 'What is your height/weight/gender?', 'Are you married?', 'Do you need internet?', 'Where do you live?', 'Do you travel?', 'Do you do sports?']
-
Vision responder: This responder replies to questions regarding what the robot can see. If the questions is about a specific object and the object is in the field of vision, the robot can point at it.
keywords = ['what do you see', 'what can you see', 'what did you see', 'what have you seen','who do you see', 'who can you see', 'who did you see', 'who have you seen', 'do you see ', 'can you see ', 'where is the ']
-
Previous Utterance responder: This responder replies by repeating the last thing the robot said previously.
keywords = ['what did you say', "i didn't hear you", "i can't hear you", 'come again', 'excuse me']
-
Location responder: This responder replies by stating what the registered location is.
keywords = ['where are we', 'where are you', 'where we are', 'where you are', 'what is here']
-
Time responder: This responder replies by saying the date.
keywords = ['what day is it', 'which day is it', 'what is the date', 'today']
-
Identity responder: This responder identifies the participants in the chat by saying the name of speaker or the robot's.
keywords = ['who are you', 'what is your name', 'who am i', 'what is my name']
-
Brexit responder: This responder contains tailor-made snawers regarding Brexit.
keywords =['What do you think about the brexit?', 'What do you know about the brexit?']
- Unknown responder: This responder replies with last minute responses if the input is too short or not understood.