WatBot es un ChatBot con tecnología IBM Watson que se ejecuta en Android y utiliza el servicio Watson Assistant en IBM Cloud (una plataforma en la nube de estándares abiertos para crear, ejecutar y administrar aplicaciones y servicios).
Nota: esta aplicación utiliza la API Watson Assistant V1
Clona el repositorio e importa el código en Android Studio,
git clone https://github.com/VidyasagarMSC/WatBot.git
Consulte esta publicación de blog para obtener instrucciones paso a paso y actualizadas.
Para configurar la aplicación, necesita obtener la contraseña , la URL y el ID del espacio de trabajo del servicio Watson Assistant.
En la clase MainActivity ubique el método llamado sendMessage() . En la pestaña Administrar del servicio Asistente que creó, haga clic en Iniciar herramienta > Habilidades > Haga clic en los tres puntos verticales al lado de la Habilidad > Ver detalles de API > Puede encontrar el ID del espacio de trabajo, el nombre de usuario y la contraseña. Si desea utilizar la clave API, lea directamente TODO, descomente el código y reemplace el marcador de posición con el valor de la clave API.
Puede encontrar la clave API y la URL en la pestaña Administrar o en las credenciales de servicio.
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>");
Obtenga el ID del espacio de trabajo: y agréguelo en el siguiente código,
MessageOptions options = new MessageOptions.Builder("<Workspace_ID>").input(input).context(context).build();
Entrada Gradle
compile 'com.ibm.watson.developer_cloud:assistant:6.11.0'
En la línea 95 de MainActivity.java, reemplace la contraseña y los marcadores de posición de la URL con las credenciales del servicio TTS.
textService.setUsernameAndPassword("apikey", "<TEXT_TO_SPEECH_APIKEY>");
textService.setEndPoint("<TEXT_TO_SPEECH_URL>");
Ahora, cuando toque cualquier mensaje, el texto se escuchará a través de una voz (Voice.EN_US_LISAVOICE). Puede cambiar los formatos de voz en el código (Línea 120 0f MainActivity.java)
Nota: Las entradas gradle requeridas para TTS ya están incluidas en el archivo 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: Las entradas gradle requeridas para STT ya están incluidas en el archivo 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'
Si ha seguido todas las instrucciones anteriores, debería estar felizmente charlando con su Wat(hijo)Bot.
** Recuerde que su bot estará hablando con su servicio Watson Assistant (Intentos, Entidades y Diálogo).**
Etiquetas de altavoz
Nota: La función de etiquetas de oradores es una funcionalidad beta que está disponible para inglés de EE. UU., japonés y español.
Las etiquetas de los oradores identifican qué individuos pronunciaron qué palabras en un intercambio de múltiples participantes. (Etiquetar quién habló y cuándo a veces se denomina diario del orador). Puede utilizar la información para desarrollar una transcripción persona por persona de una transmisión de audio, como un contacto con un centro de llamadas. O puedes usarlo para animar un intercambio con un robot o avatar conversacional. Para obtener el mejor rendimiento, utilice audio de al menos un minuto de duración.
Para habilitarlo, haga clic en TODO en la pestaña inferior de Android Studio o busque TODO en el archivo MainActivity.java y descomente las líneas. Deberías ver el resultado en el logcat como se muestra a continuación.
SPEECHRESULTS: {
"confidence": 0.5,
"final": false,
"from": 1.59,
"speaker": 0,
"to": 1.82
}