Trabajar con lenguajes naturales (NLU, NLP) es un área de intensa competencia entre gigantes de TI. Así como el desarrollo de la IA. Bueno, y en consecuencia, la intersección de estos conjuntos también es un nicho popular, que es interesante para observar y aprender cosas nuevas. Voximplant se ha hecho amigo de
Google Dialogflow desde hace mucho
tiempo , y tan bien que creamos un envoltorio para esta integración:
Dialogflow Connector . IBM tiene un análogo, el Agente de voz basado en Watson, que realiza la misma tarea de automatizar una comunicación flexible y adecuada con el cliente para reemplazar el IVR clásico. Probamos la tecnología en una demostración simple y hoy, paso a paso, le diremos cómo hacerlo también. Mientras tanto, leerá esto, nuestros desarrolladores continuarán haciendo un envoltorio para esta integración ...
Que haremos
Sin ciencia de cohetes: crearemos un bot simple que llamaremos, él saludará, ofrecerá dos opciones: uno cerrará la conversación, el otro terminará la conversación y el bot se despedirá. Nuance: al momento de escribir, Watson solo admite cuatro idiomas: inglés, árabe, portugués y chino (simplificado), por lo que la demostración estará en inglés, como el más familiar de ellos.
Creación de recursos
Si no tiene una cuenta de IBM Cloud,
regístrese aquí . Vaya a su cuenta, en la esquina superior derecha, haga clic en Crear recurso, se abrirá el directorio de recursos. A la izquierda, seleccione la categoría Web y Aplicación, luego, en el lado derecho de la pantalla, haga clic en Agente de voz con Watson.
Puede dejar todos los campos de forma predeterminada (Nombre del servicio, región, etc.): en la parte inferior de la pantalla, haga clic en Crear y vaya a preparar un té (esto es una broma, porque IBM Cloud no siempre se da vuelta rápidamente). Cuando se crea el recurso, se lo llevará al tablero de este recurso recién creado; aquí verá el nombre del recurso, la ubicación (Washington, DC), así como el menú de administración de recursos, que se encuentra a la izquierda. Pronto necesitaremos el elemento Administrar de este menú, pero primero tenemos que comprar ...
Número de planta voxim
El agente necesita un número para poder comunicarse con él. Para hacer esto, vaya al panel Voximplant, la sección
Números -> Mis números de teléfono , en la esquina superior derecha, haga clic en Comprar nuevo número de teléfono. Un número virtual es adecuado para nuestros propósitos: seleccione el interruptor Números de prueba, marque un número de la lista y haga clic en Comprar seleccionado en la parte inferior, luego en Comprar en la ventana que se abre.
Inmediatamente verá este número en la lista de sus números. Cópielo y regrese a IBM Cloud, al Agente de voz con recurso Watson.
Creación de agente
Consejo Si ha cerrado una pestaña con un recurso, a continuación, le mostramos cómo abrir rápidamente un recurso desde la página principal. En el panel de cloud.ibm.com , haga clic en la palabra Servicios, se abrirá una lista de los recursos actuales de su cuenta.
Al mismo tiempo, el grupo de Servicios ya estará implementado y el Agente de voz estará visible en él. Haga clic en él - saludos, nuevamente ha abierto el recurso deseado.
En el menú de la izquierda, seleccione Administrar, luego, en el lado derecho de la pantalla, haga clic en el botón Crear un agente de voz. Ingrese el nombre del agente e inserte el número virtual comprado, desplácese hacia abajo - Crear agente de voz.
IBM Cloud pensará un poco y mostrará un mensaje sobre la creación exitosa de un agente y 3 servicios integrados. Bueno, ahora tenemos que enseñarle al agente cómo ...
Hablar con bolsos de cuero.
En la esquina superior izquierda, haga clic en el icono de hamburguesa, seleccione Lista de recursos. En la lista de recursos, seleccione VoiceAgent-WatsonAssistant (parte inferior de la lista). En el panel de control, haga clic en la herramienta Iniciar. Se abrirá el Panel de control del asistente de Watson. Desde la parte superior, selecciona la pestaña Habilidades. Verá que ya existe la habilidad VoiceGatewayConversation: este es un conjunto de frases y un diagrama de flujo de diálogo que el asistente agregó al crear el agente. Puede usar esta habilidad, pero por interés le sugerimos que cree la suya propia.
Para hacer esto, en la pestaña Habilidades, haga clic en Crear habilidad. Póngale el nombre de habilidad simple, deje el idioma inglés (EE. UU.), Haga clic en Crear habilidad de diálogo.
Dentro de la habilidad necesitarás tres pestañas:
- Intenciones: las intenciones del cliente. En esencia, estas son frases y sus variaciones;
- Entidades: palabras clave para el reconocimiento y sus sinónimos;
- Diálogo: un diagrama de flujo de diálogo.
En la pestaña Intentos, agregue el enunciado #whatcanido y escriba algunas opciones ("¿Qué puedo hacer?", "Mostrarme las opciones", etc.).
En la pestaña Entidades, agregue:
- continuar con los sinónimos "continuar", "continuar";
- opciones con los sinónimos " opciones ", "opción", "opciones";
- pare con los sinónimos "parado", "salir".
En la pestaña Diálogo, haga clic en Crear diálogo, aparecerán los bloques Bienvenido y Cualquier otra cosa. Abra Cualquier otra cosa y configure los ajustes como en la captura de pantalla (texto: "Puede elegir continuar esta conversación sin sentido o detenerla. Diga" continuar "o" detener "). Tenga en cuenta que en la condición de reconocimiento, hemos agregado no solo intención, sino también una palabra clave para seguridad.
Luego haga clic en los tres puntos en el bloque Cualquier otra cosa, seleccione Agregar nodo secundario y cree un bloque
continuo . Crear dentro de cualquier otra cosa, crear otro bloque secundario -
detente . Configuración de bloque:
Por lo tanto, el bot repetirá interminablemente el texto sobre la elección mientras la persona dice "continuar", o finalizará el diálogo cuando la persona diga "detenerse". De hecho, una conversación sin sentido.
Si eres demasiado vago para hacer todo esto, puedes descargar nuestro archivo json e importarlo como una habilidad. Para hacer esto, en la pestaña Habilidades, haga clic en Crear habilidad, cambie a la pestaña Importar habilidad, haga clic en Elegir archivo JSON, especifique el archivo descargado y finalmente haga clic en Importar.
Por último, pero no menos importante, en esta etapa: regrese a
cloud.ibm.com , abra la lista de recursos, haga clic en Agente de voz con Watson, vaya a la pestaña Administrar. En el agente habr-watson, haga clic en los tres puntos, seleccione Editar agente. En la sección Conversación, cambie el nombre de la habilidad para indicar la habilidad que acaba de crear:
Hecho, ¡ahora el agente puede comunicarse con la gente! Hubo el último toque, a saber ...
Aplicación Voximplant y script
En
el panel de control de Voximplant, cree la aplicación Watson. Todos los siguientes pasos deben realizarse dentro de esta aplicación. Vaya a la pestaña Escenarios y cree un escenario watson con el código:
require(Modules.ASR) VoxEngine.addEventListener(AppEvents.CallAlerting, (e) => { let call2 = VoxEngine.callSIP("sip:699100484@us-east.voiceagent.cloud.ibm.com") const recognition = VoxEngine.createASR({ lang: ASRLanguage.ENGLISH_US }) let botSpeech = "" recognition.addEventListener(ASREvents.Result, e => { botSpeech += e.text botSpeech.includes("goodbye") ? VoxEngine.terminate() : Logger.write("There is no 'goodbye' yet.") }) call2.addEventListener(CallEvents.Connected, () => call2.sendMediaTo(recognition)) VoxEngine.easyProcess(e.call, call2) })
¡No olvide sustituir el número de teléfono que compró anteriormente y que se especificó en la configuración del agente de IBM en la llamada al método callSIP!Luego vaya a la pestaña Enrutamiento y cree una regla de watson. Especifique el script de escenario watson:
Finalmente, vaya a la pestaña Números, donde habrá las secciones Adjuntas (hasta ahora está vacía) y Disponible. Cambie a Disponible, marque el número comprado y haga clic en Adjuntar.
En la ventana que se abre, especifique la regla watson, luego Adjunte.
Ahora el número aparecerá en la sección Adjunta. Aquí verá los números a los que puede llamar, luego ingrese el número virtual comprado en modo de tono y comience una conversación altamente inteligente con el bot de IBM.