WatBot 是一個由 IBM Watson 支援的 ChatBot,在 Android 上運行,並使用 IBM Cloud(一個用於建置、運行和管理應用程式和服務的開放標準雲端平台)上的 Watson Assistant 服務。
注意:此應用程式使用 Watson Assistant V1 API
克隆儲存庫並在 Android Studio 中匯入程式碼,
git clone https://github.com/VidyasagarMSC/WatBot.git
請參閱此部落格文章以獲取逐步和最新說明。
要設定應用程序,您需要取得 Watson Assistant 服務的密碼、 URL和工作區 ID
在MainActivity類別中找到名為sendMessage()的方法。在您建立的助理服務的管理標籤上,按一下啟動工具> 技能 > 點選技能旁的三個垂直點 > 查看 API 詳細資料 > 您可以找到工作區 ID、使用者名稱和密碼。如果您希望使用 API Key 直接閱讀 TODO,請取消註解程式碼並將佔位符替換為 API Key 值。
您可以在管理標籤或服務憑證下找到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>");
取得工作區 ID:並將其新增至以下程式碼中,
MessageOptions options = new MessageOptions.Builder("<Workspace_ID>").input(input).context(context).build();
搖籃入口
compile 'com.ibm.watson.developer_cloud:assistant:6.11.0'
在 MainActivity.java 的第 95 行,將密碼和 URL 佔位符替換為 TTS 服務憑證
textService.setUsernameAndPassword("apikey", "<TEXT_TO_SPEECH_APIKEY>");
textService.setEndPoint("<TEXT_TO_SPEECH_URL>");
現在,當您點擊任何訊息時,將透過語音 (Voice.EN_US_LISAVOICE) 聽到文字。您可以在程式碼中變更語音格式(第120行0f MainActivity.java)
注意: TTS 所需的 gradle 條目已包含在 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 所需的 gradle 條目已包含在 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 服務對話(意圖、實體和對話)。
演講者標籤
注意:說話者標籤功能是測試版功能,適用於美國英語、日語和西班牙語。
發言者標籤標示了在多參與者溝通中哪些人說了哪些字。 (標記發言者和發言時間有時稱為發言者分類。)您可以使用這些資訊來開發音訊串流的逐人轉錄,例如與呼叫中心的聯繫。或者,您可以使用它來動畫化與對話機器人或頭像的交流。為了獲得最佳性能,請使用至少一分鐘長的音訊。
若要啟用,請按一下 Android Studio 底部標籤上的 TODO 或在 MainActivity.java 檔案中搜尋 TODO 並取消註解行。您應該在 logcat 中看到輸出,如下所示
SPEECHRESULTS: {
"confidence": 0.5,
"final": false,
"from": 1.59,
"speaker": 0,
"to": 1.82
}