Conversational Content Library - Experimental version

v0.19.1-experimental-05 - Documentation last updated on 28/01/2020

Conversational Content Library is an Android library that provides predefined inputs and/or outputs:

  • Inputs are conversational
  • Outputs are conversational and can additionally be accompanied by robotic behaviors.

The provided content is split in different domains such as greetings, volume control, farewell, date and time etc. It is possible to use one or several domain(s) in a chat.

Setup

  1. Add this maven repository to your project’s build.gradle file:

    maven { url 'https://qisdk.softbankrobotics.com/experimental/maven' }
    
  2. Add the base dependency to your module’s build.gradle file:

    implementation 'com.aldebaran:qisdk-conversationalcontent:0.19.1-experimental-05'
    
  3. Add the domain dependencies you want to use to your module’s build.gradle file.

    Here, for example, to add Not understood and Repeat domains:

    implementation 'com.aldebaran:qisdk-conversationalcontent-notunderstood:0.19.1-experimental-05'
    implementation 'com.aldebaran:qisdk-conversationalcontent-repeat:0.19.1-experimental-05'
    

Usage

Create conversational contents:

val conversationalContents: List<AbstractConversationalContent> = listOf(
    NotUnderstoodConversationalContent(),
    RepeatConversationalContent()
)

Build a Chat with these conversational contents:

val chat: Chat = ConversationalContentChatBuilder.with(qiContext)
      .withChatbots(myChatbotsList) // Your chatbots
      .withConversationalContents(conversationalContents)
      .build()

List of domains

Domain Purpose Implementation
Ask robot name Allow the user to get information about the robot's identity. implementation 'com.aldebaran:qisdk-conversationalcontent-askrobotname:0.19.1-experimental-05'
Date & Time Make the robot answer to user's request about current time, date or some date's weekday by using natural language interaction. implementation 'com.aldebaran:qisdk-conversationalcontent-datetime:0.19.1-experimental-05'
Farewell Make the robot answer to user's farewell by using natural language interaction. implementation 'com.aldebaran:qisdk-conversationalcontent-farewell:0.19.1-experimental-05'
Gesture control Make the robot raise arms, open hands or turn his head on user's request. implementation 'com.aldebaran:qisdk-conversationalcontent-gesturecontrol:0.19.1-experimental-05'
Greetings Make the robot answer to user's greetings by using natural language interaction. implementation 'com.aldebaran:qisdk-conversationalcontent-greetings:0.19.1-experimental-05'
Navigation control Make the robot move forward, backward, left or right by using natural language interaction. implementation 'com.aldebaran:qisdk-conversationalcontent-navigationcontrol:0.19.1-experimental-05'
Not understood Allow the robot to make feedbacks when he didn't understand user's inputs or when he has no answer to user's inputs. implementation 'com.aldebaran:qisdk-conversationalcontent-notunderstood:0.19.1-experimental-05'
Repeat Make the robot repeat his last sentence or user's last sentence by using natural language interaction. implementation 'com.aldebaran:qisdk-conversationalcontent-repeat:0.19.1-experimental-05'
Robot abilities Allow the user to get information about the robot's abilities. implementation 'com.aldebaran:qisdk-conversationalcontent-robotabilities:0.19.1-experimental-05'
Robot battery info Allow the user to get information about the robot's battery. implementation 'com.aldebaran:qisdk-conversationalcontent-robotbatteryinfo:0.19.1-experimental-05'
Robot hardware info Allow the user to get information about the robot's hardware. implementation 'com.aldebaran:qisdk-conversationalcontent-robothardwareinfo:0.19.1-experimental-05'
Robot IP info Allow the user to get information about the robot's IP address. implementation 'com.aldebaran:qisdk-conversationalcontent-robotipinfo:0.19.1-experimental-05'
Robot network info Allow the user to get information about the robot's network connectivity. implementation 'com.aldebaran:qisdk-conversationalcontent-robotnetworkinfo:0.19.1-experimental-05'
Robot personal info Allow the user to get information about the robot's personal info. implementation 'com.aldebaran:qisdk-conversationalcontent-robotpersonalinfo:0.19.1-experimental-05'
User not speaking Make the robot repeat his last sentence if the user does not speak for 5 seconds. implementation 'com.aldebaran:qisdk-conversationalcontent-usernotspeaking:0.19.1-experimental-05'
Volume control Allow the user to adjust the robot's volume by using natural language interaction. implementation 'com.aldebaran:qisdk-conversationalcontent-volumecontrol:0.19.1-experimental-05'

ConversationBasics

Conversation Basics provides the basic conversational contents for a good conversation.

It provides the functionalities of the following conversational contents:

  • Farewell,
  • Greetings,
  • Not understood,
  • Repeat,
  • User not speaking.

To have access to it, add this dependency to your module’s build.gradle file:

implementation 'com.aldebaran:qisdk-conversationalcontent-conversationbasics:0.19.1-experimental-05'

Create a ConversationBasics object:

val conversationBasics = ConversationBasics()

And provide it to the ConversationalContentChatBuilder:

val chat: Chat = ConversationalContentChatBuilder.with(qiContext)
      .withChatbots(myChatbotsList) // Your chatbots
      .withConversationBasics(conversationBasics)
      .build()

Also, ConversationBasics gives access to:

  • Each conversational content it provides:

    val farewellCC = conversationBasics.farewell
    val greetingsCC = conversationBasics.greetings
    val notUnderstoodCC = conversationBasics.notUnderstood
    val repeatCC = conversationBasics.repeat
    val userNotSpeakingCC = conversationBasics.userNotSpeaking
    
  • The list of conversational content it provides:

    val conversationalContents = conversationBasics.conversationalContents
    

License

See the COPYING file for the license.