Discovering QiChat, the SBR language for creating chatbots

Let's discover the basics of the QiChat language to have a fun yet meaningful conversation with Pepper
discovering qichat


As a humanoid robot, Pepper's primary means of communication is verbal: language acquisition is,therefore, an important part of the robot's growth and development. Be it greeting people politely, learning a person's name and entertaining people with jokes and games, or retaining information from the conversation, a humanoid robot needs to converse fluently. In this lesson, you will learn how to create and run a simple dialogue to handle various situations in a smart and funny way.

What you will need

  • Android Studio with Pepper SDK plugin installed;
  • Pepper robot with NaoQi 2.9;
  • English language package installed on the robot;
  • Pepper robot connected via WiFi (not ethernet).

What you should know about

What you will learn

In this lesson, we will create a simple playful dialogue with Pepper as an opportunity to cover all major features of QiChat, Softbank Robotics's proprietary chatbot language:

  • Building a Chat and QiChatbot
  • QiChat syntax:
    • List of synonyms (or): []
    • Optional words: {}
    • Concepts: ~
    • Lexicon
    • Input storing: _ and $1
    • Wildcard: *
    • Random function: ^rand
    • First function: ^first
    • User rules u:
      • Subrules: u1:
      • Proposals: proposal:
    • Goto function: ^enableThenGoto

Applicable use cases

QiChat is useful for any robot interacting verbally with users, for example:

  • Welcoming clients in shops and malls;
  • Making speeches on stage for various events;
  • Showcasing a given brand;
  • Answering specific Q&A;
  • ...
  • Discovering QiChat, the SBR language for creating chatbots
  • Creating a Topic, a QiChatbot and a Chat
  • Replying to greetings
  • Reacting when someone makes an introduction
  • Randomizing jokes
  • Taking conversational context into account
  • Building a dialogue tree
Let's go!