WatBot é um ChatBot desenvolvido pelo IBM Watson rodando em Android e usando o serviço Watson Assistant na IBM Cloud (uma plataforma de nuvem de padrões abertos para construir, executar e gerenciar aplicativos e serviços).
Nota: Este aplicativo usa a API Watson Assistant V1
Clone o repositório e importe o código no Android Studio,
git clone https://github.com/VidyasagarMSC/WatBot.git
Verifique esta postagem do blog para obter instruções passo a passo e atualizadas.
Para configurar o App é necessário obter a Senha , URL e ID do Workspace do serviço Watson Assistant
Na classe MainActivity localize o método denominado sendMessage() . Na guia Gerenciar do serviço Assistant que você criou, clique em Iniciar ferramenta > Habilidades > Clique nos três pontos verticais ao lado da Habilidade > Exibir detalhes da API > Você pode encontrar o ID do espaço de trabalho, o nome de usuário e a senha. Se você deseja usar a chave API, leia diretamente o TODO, remova o comentário do código e substitua o espaço reservado pelo valor da chave API.
Você pode encontrar a chave de API e o URL na guia Gerenciar ou nas credenciais de serviço.
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>");
Obtenha o ID do espaço de trabalho: e adicione-o no código abaixo,
MessageOptions options = new MessageOptions.Builder("<Workspace_ID>").input(input).context(context).build();
Entrada Gradle
compile 'com.ibm.watson.developer_cloud:assistant:6.11.0'
Na linha 95 de MainActivity.java, substitua a senha e os espaços reservados de URL pelas credenciais do serviço TTS
textService.setUsernameAndPassword("apikey", "<TEXT_TO_SPEECH_APIKEY>");
textService.setEndPoint("<TEXT_TO_SPEECH_URL>");
Agora, quando você TOCA em qualquer mensagem, o texto será ouvido por meio de uma voz (Voice.EN_US_LISAVOICE). Você pode alterar os formatos de voz no código (Linha 120 0f MainActivity.java)
Nota: As entradas gradle necessárias para TTS já estão incluídas no arquivo 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'
Nota: As entradas gradle necessárias para STT já estão incluídas no arquivo 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'
Se você seguiu todas as instruções acima, você deverá conversar alegremente com seu Wat(son)Bot.
**Lembre-se de que seu bot estará conversando com seu serviço Watson Assistant (Intents, Entities e Dialog).**
Etiquetas de alto-falante
Observação: o recurso de rótulos de alto-falante é uma funcionalidade beta disponível para inglês dos EUA, japonês e espanhol.
Os rótulos dos palestrantes identificam quais indivíduos falaram quais palavras em uma troca multiparticipante. (Rotular quem falou e quando às vezes é chamado de diarização do locutor.) Você pode usar as informações para desenvolver uma transcrição pessoa por pessoa de um fluxo de áudio, como contato com uma central de atendimento. Ou você pode usá-lo para animar uma troca com um robô conversacional ou avatar. Para melhor desempenho, use áudio com pelo menos um minuto de duração.
Para ativar, clique em TODO na guia inferior do Android Studio ou pesquise TODO no arquivo MainActivity.java e remova o comentário das linhas. Você deverá ver a saída no logcat conforme mostrado abaixo
SPEECHRESULTS: {
"confidence": 0.5,
"final": false,
"from": 1.59,
"speaker": 0,
"to": 1.82
}