WatBot은 Android에서 실행되고 IBM Cloud(앱과 서비스를 구축, 실행 및 관리하기 위한 개방형 표준, 클라우드 플랫폼)에서 Watson Assistant 서비스를 사용하는 IBM Watson 기반 ChatBot입니다.
참고: 이 앱은 Watson Assistant V1 API를 사용합니다.
저장소를 복제하고 Android Studio에서 코드를 가져옵니다.
git clone https://github.com/VidyasagarMSC/WatBot.git
단계별 최신 지침을 보려면 이 블로그 게시물을 확인하세요.
앱을 구성하려면 Watson Assistant 서비스의 비밀번호 , URL 및 작업공간 ID를 가져와야 합니다.
MainActivity 클래스에서 sendMessage() 라는 메서드를 찾습니다. 생성한 어시스턴트 서비스의 관리 탭에서 실행 도구 > 스킬 > 스킬 옆에 있는 수직 점 3개 클릭 > API 세부정보 보기 > 워크스페이스 ID, 사용자 이름, 비밀번호를 확인할 수 있습니다. 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>");
작업공간 ID를 가져와서 아래 코드에 추가하세요.
MessageOptions options = new MessageOptions.Builder("<Workspace_ID>").input(input).context(context).build();
Gradle 항목
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)을 통해 텍스트가 들립니다. 코드에서 음성 형식을 변경할 수 있습니다(Line 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 서비스(인텐트, 엔터티 및 대화 상자)와 통신한다는 점을 기억하세요.**
화자 라벨
참고: 화자 라벨 기능은 미국 영어, 일본어 및 스페인어에 사용할 수 있는 베타 기능입니다.
화자 레이블은 다중 참가자 교환에서 어떤 개인이 어떤 단어를 말했는지 식별합니다. (말한 사람과 시기를 표시하는 것을 화자 분할이라고도 합니다.) 이 정보를 사용하여 콜 센터에 대한 연락과 같은 오디오 스트림의 개인별 기록을 개발할 수 있습니다. 또는 대화형 로봇이나 아바타와의 대화를 애니메이션화하는 데 사용할 수도 있습니다. 최상의 성능을 위해서는 최소 1분 길이의 오디오를 사용하십시오.
활성화하려면 Android Studio 하단 탭에서 TODO를 클릭하거나 MainActivity.java 파일에서 TODO를 검색하고 해당 줄의 주석 처리를 제거하세요. 아래와 같이 logcat에 출력이 표시되어야 합니다.
SPEECHRESULTS: {
"confidence": 0.5,
"final": false,
"from": 1.59,
"speaker": 0,
"to": 1.82
}