WatBot — это ChatBot на базе IBM Watson, работающий на Android и использующий службу Watson Assistant в IBM Cloud (облачная платформа с открытыми стандартами для создания, запуска и управления приложениями и службами).
Примечание. В этом приложении используется API Watson Assistant V1.
Клонируйте репозиторий и импортируйте код в Android Studio.
git clone https://github.com/VidyasagarMSC/WatBot.git
Ознакомьтесь с этой публикацией в блоге, чтобы получить пошаговые и актуальные инструкции.
Чтобы настроить приложение, вам необходимо получить пароль службы Watson Assistant, URL-адрес и идентификатор рабочей области.
В классе MainActivity найдите метод sendMessage() . На вкладке «Управление» созданной вами службы «Помощник» нажмите «Инструмент запуска» > «Навыки» > щелкните три вертикальные точки рядом с навыком > «Просмотреть сведения об API» > вы можете найти идентификатор рабочей области, имя пользователя и пароль. Если вы хотите использовать ключ API напрямую, прочитайте TODO, раскомментируйте код и замените заполнитель значением ключа API.
Ключ API и URL-адрес можно найти на вкладке «Управление» или в разделе «Учетные данные службы».
Assistant assistantservice = new Assistant("2018-02-16");
//If you like to use USERNAME AND PASSWORD
//Your Username: "apikey", password: "<APIKEY_VALUE>"
assistantservice.setUsernameAndPassword("apikey", "<API_KEY_VALUE>");
//TODO: Uncomment this line if you want to use API KEY
//assistantservice.setApiKey("<API_KEY_VALUE>");
//Set endpoint which is the URL. Default value: https://gateway.watsonplatform.net/assistant/api
assistantservice.setEndPoint("<ASSISTANT_URL>");
InputData input = new InputData.Builder(inputmessage).build();
//WORKSPACES are now SKILLS
MessageOptions options = new MessageOptions.Builder().workspaceId("<WORKSPACE_ID>").input(input).context(context).build();
MessageResponse response = assistantservice.message(options).execute();
assistantservice.setUsernameAndPassword("apikey", "<ASSISTANT_PASSWORD>");
Получите идентификатор рабочей области: и добавьте его в приведенный ниже код:
MessageOptions options = new MessageOptions.Builder("<Workspace_ID>").input(input).context(context).build();
Вход в Gradle
compile 'com.ibm.watson.developer_cloud:assistant:6.11.0'
В строке 95 файла MainActivity.java замените заполнители пароля и URL-адреса учетными данными службы TTS.
textService.setUsernameAndPassword("apikey", "<TEXT_TO_SPEECH_APIKEY>");
textService.setEndPoint("<TEXT_TO_SPEECH_URL>");
Теперь, когда вы НАЖАЕТЕ на любое сообщение, текст будет услышан через голос (Voice.EN_US_LISAVOICE). Вы можете изменить голосовые форматы в коде (строка 120 0f MainActivity.java).
Примечание. Необходимые записи градиента для TTS уже включены в файл build.gradle.
compile 'com.ibm.watson.developer_cloud:text-to-speech:6.11.0'
compile 'com.ibm.watson.developer_cloud:android-sdk:0.5.0'
Примечание. Необходимые записи градиента для STT уже включены в файл build.gradle.
compile 'com.ibm.watson.developer_cloud:speech-to-text:6.11.0'
compile 'com.ibm.watson.developer_cloud:android-sdk:0.5.0'
Если вы выполнили все приведенные выше инструкции, вы должны с удовольствием общаться со своим Wat(son)Bot.
** Помните, что ваш бот будет общаться с вашей службой Watson Assistant (намерения, сущности и диалог).**
Этикетки динамиков
Примечание. Функция меток говорящих — это бета-версия, доступная для английского, японского и испанского языков (США).
Ярлыки говорящих определяют, какие люди какие слова произнесли в ходе обмена мнениями между несколькими участниками. (Отметку о том, кто и когда говорил, иногда называют диаризацией говорящего.) Вы можете использовать эту информацию для разработки индивидуальной расшифровки аудиопотока, например, обращения в колл-центр. Или вы можете использовать его для анимации диалога с диалоговым роботом или аватаром. Для достижения наилучшего качества используйте аудио продолжительностью не менее минуты.
Чтобы включить, нажмите TODO на нижней вкладке Android Studio или найдите TODO в файле MainActivity.java и раскомментируйте строки. Вы должны увидеть результат в логарифме, как показано ниже.
SPEECHRESULTS: {
"confidence": 0.5,
"final": false,
"from": 1.59,
"speaker": 0,
"to": 1.82
}