Skip to content
This repository has been archived by the owner on Jun 4, 2021. It is now read-only.

3. Interact with Leolani

Selene Baez edited this page Aug 31, 2020 · 6 revisions

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.

Responder module

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 module

  • 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.

Conversational module

  • 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"]

Intention module

  • 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']

Internet module

  • 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']

Personal module

  • 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?']

Sensory module

  • 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']

Topic module

  • 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 module

  • Unknown responder: This responder replies with last minute responses if the input is too short or not understood.