Como escribimos en nuestro
primer artículo , en Just AI nos especializamos en tecnologías de inteligencia artificial para comprender el lenguaje natural (NLU). Tenemos nuestra propia plataforma para desarrollar asistentes de conversación, tanto de texto como de voz. La plataforma ha desarrollado funcionalidades para resolver problemas de PNL (agrupación de registros, búsqueda de frases semánticamente cercanas, etc.) y su propio lenguaje de desarrollo (Just AI DSL). Utilizando DSL, un equipo de desarrolladores lingüísticos escribe código de script de chatbot, módulos de integración para comunicarse con sistemas externos, así como pruebas automáticas.
En este artículo, hablaremos sobre la herramienta que creamos para desarrollar bots para diferentes plataformas, incluso para Yandex Dialogs, sin conocimiento de DSL y habilidades de programación.
Los grandes proyectos, como un informador automático para apoyar a los clientes de operadores de telecomunicaciones o un asistente de voz con todas las funciones, pueden incluir más de 1000 intentos de usuarios clasificados, docenas de directorios para extraer entidades e incluir integraciones con varios servicios externos. Por lo tanto, el desarrollo se lleva a cabo simultáneamente por varios lingüistas y desarrolladores, utilizando sistemas de control de versiones y herramientas para pruebas de estrés, con la participación de redactores y diseñadores UX.
Inicialmente, estábamos seguros de que un enfoque integral para el desarrollo es lo que necesitan los desarrolladores de chatbot y las empresas, porque crear un chatbot inteligente no es una tarea fácil y que requiere muchos recursos. Creamos una arquitectura bastante compleja para cerrar todos los casos posibles, e incluso creamos un editor visual en la plataforma para facilitar a los clientes administrar la lógica del chatbot. Pero a menudo, en la práctica, seguimos encontrando el hecho de que incluso una empresa preparada con un presupuesto planificado para la automatización, es lenta de implementar y no comprende cómo componer correctamente una especificación técnica y planificar correctamente la implementación de IA en sus procesos.
Queríamos facilitar a las empresas comenzar a trabajar con inteligencia artificial y, al mismo tiempo, proporcionarles una herramienta que nos permitiera comenzar a probar la tecnología de inmediato. Al mismo tiempo, era necesario que el producto pudiera comprender el lenguaje natural (solicitudes del usuario común) y no responder a preguntas monosilábicas típicas ("No entendí, repita su pregunta"). En general, era necesario ocultar "bajo el capó" nuestras tecnologías geniales de la plataforma empresarial para facilitar la entrada de las empresas rusas en el mundo de la inteligencia artificial. En general, era necesario hacer un producto para el usuario para que pudiera configurar, tocar y ver cómo funciona. Por lo tanto, el interior de la plataforma estaba oculto bajo el caparazón del diseñador.
Es bueno que usted juzgue si hemos tenido éxito o no (los enlaces para el registro en el diseñador y para la correspondencia en la comunidad se encuentran al final del artículo). Como resultado, apareció el producto Aimylogic: un diseñador visual en el que puede ensamblar un chatbot inteligente que comprende el lenguaje natural a partir de bloques simples: réplicas de usuarios, respuestas de bots, llamadas a sistemas externos. Trabajar con Aimylogic no requiere el conocimiento de la plataforma central DSL, habilidades en la escritura de patrones para reconocer intentos y pruebas automáticas.
Caso: crear un chatbot para el departamento de recursos humanos
Hoy veremos un caso bastante simple: crear un chatbot para recursos humanos, que consulta a los empleados sobre los procesos internos de la compañía a través de Telegram, el sitio web de la compañía o Yandex.Alisa, puede aceptar solicitudes (para vacaciones, VHI, etc.) y enviarlas a la junta en Trello.
Todo el proceso se puede dividir en las siguientes etapas:
- crear un script para un diálogo de bot de recursos humanos con un empleado de la empresa;
- configuración de recopilación de solicitud de usuario (usaremos Trello);
- prueba de bot;
- publicación de bot en Telegram, en el sitio web o en Yandex.Alice.
Entonces, lo primero es lo primero ...
1. Crear un script para la comunicación con los empleados.
Ahora en Aimylogic ya hay una plantilla de bot para RRHH con diálogos sobre el proyecto de salario, vacaciones, seguros y otros temas que el bot entenderá de inmediato. Por lo tanto, puede usar el guión listo para usar y, si lo desea, cambiarlo usted mismo. Describimos cómo se hizo esta plantilla.
El proceso de crear un script en Aimylogic se reduce a agregar bloques y establecer transiciones entre ellos.
La captura de pantalla anterior muestra que la secuencia de comandos bot comienza con un saludo. Para saludar al usuario y explicar qué preguntas puede hacerle al bot, utilizamos un bloque de texto. Puedes agregar una foto.

Después de crear el bloque con el texto de bienvenida, agregaremos el bloque "Frases" en nuestro bot, lo que nos permite entrenar el bot usando ejemplos de solicitudes de los usuarios. En el bloque "Frases", agregue grupos separados de frases que correspondan a las intenciones (intenciones) de los usuarios y complete cada una de ellas con ejemplos de consultas.
En este ejemplo, crearemos varios grupos de frases:
- conexión de un proyecto salarial;
- Programa corporativo VHI;
- solicitud de vacaciones;
- obtención de certificados de contabilidad y recursos humanos;
- compensación de poder.
En grupos de frases, definimos conjuntos de ejemplos basados en solicitudes reales de empleados al departamento de recursos humanos. Por ejemplo, para el grupo "Programa Corporativo VHI", estas serán solicitudes:
- ¿Cómo solicitar el DMS?
- Estoy interesado en el seguro de salud
- ¿Cómo obtener una política de VHI?
Los grupos de frases se pueden complementar con ejemplos en cualquier momento, lo que le permite volver a entrenar rápidamente el bot durante la operación.
Para cada grupo de frases, cree su propia secuencia de acciones en el guión. Por ejemplo, para el grupo de frases "Solicitud de vacaciones", implementamos una solicitud de datos adicionales del usuario y guardamos su solicitud en Trello para su posterior procesamiento por parte de un empleado del departamento de recursos humanos.
Para solicitar datos del usuario, agregaremos secuencialmente bloques al script solicitando el nombre del empleado y las fechas de vacaciones deseadas.
La información ingresada por el usuario se almacena en las variables $ Name y $ vacation_date y está disponible para su uso posterior en el script. Por ejemplo, para enviar estos datos a un sistema externo.
En futuras versiones de Aimylogic para recibir datos de varios tipos (texto, números, número de teléfono), los bloques correspondientes aparecerán en el sistema, que validará automáticamente la entrada del usuario.Ahora configuraremos la integración del bot con Trello, donde se guardarán las aplicaciones recopiladas de los usuarios.
2. Guardar solicitudes de usuario en Trello
Trello proporciona una API para la integración con sus herramientas, pero hay servicios, incluidos los gratuitos, que le permiten usarlos sin perder tiempo escribiendo un código de integración. Uno de esos servicios es IFTTT. El chatbot que creamos en Aimylogic envía los datos a IFTTT y aparece en Trello.
Para hacer esto, cree un applet Webhook en IFTTT, que, al recibir una solicitud HTTP del bot, colocará los datos del cuerpo de la solicitud en el tablero en Trello. En el script de bot en Aimylogic, agregue el bloque "Solicitud HTTP", que transmitirá datos al applet.
Creación de applets
En la interfaz IFTTT, cree un nuevo applet (My Applets -> New applet) configure el disparador para que se dispare el applet (haciendo clic en
+ este ). En la búsqueda que aparece, escriba "webhook" y seleccione el activador que se encuentra bajo el nombre "Webhooks".
Haga clic en "Recibir una solicitud web" y establezca el nombre del evento desencadenante (escríbalo en latín sin espacios en el campo "Nombre del evento"). Haga clic en "Crear disparador".
Ahora configuramos la acción que ocurrirá cuando el bot envíe una solicitud para el applet desde el script que acabamos de configurar: haga clic en "
eso " en el applet.

Configuración de la integración IFTTT con Trello
Después de hacer clic en "
eso " en IFTTT, la búsqueda aparece nuevamente. Buscamos a Trello allí e iniciamos sesión en este servicio.
Después de emitir permisos para acceder a su cuenta en Trello, seleccione la acción "Crear una tarjeta" en IFTTT.
A continuación, indique el tablero en el que aparecerán las tarjetas, en el campo "Título" (nombre de la tarjeta), indique "Valor1": esta es una variable del cuerpo de solicitud del bot en el que se transmitirá la esencia de la aplicación del empleado ("<Nombre del empleado> quiere irse de vacaciones < período de vacaciones> ").
Haga clic en "Crear acción" cuando todo esté configurado como lo necesitamos. El siguiente es "Finalizar".
Ahora, cada vez que el bot envía una solicitud HTTP al webhook que configuramos, IFTTT tomará la variable "Value1" de esta solicitud y agregará automáticamente una tarjeta con ese nombre a Trello.
Obtener una dirección de webhook en IFTTT
Quizás esta es la parte más trivial de la integración.
Haga clic en el menú "Buscar" en la parte superior de la página IFTTT. A continuación, busque "webhook". Haga clic en los Webhooks encontrados. A continuación, haga clic en "Configuración".
Se abre una página con una URL.
¡Esta no es una dirección de webhook todavía! Debe copiar esta URL y abrirla en una nueva pestaña del navegador.
Se abre la página de prueba de webhook. Aquí puede completar el nombre del evento desencadenante (el que pensamos al crear el applet en la sección "Creación del applet") y el valor de la variable "Value1". Ahora, si hace clic en "Probar", se agregará a Trello una tarjeta con el valor de la variable "Valor1" en el encabezado.
Ahora copie la URL del webhook resultante (en la última línea, encima del botón "Probarlo"):
esta es la dirección del webhook que debemos usar en la solicitud HTTP en el bot.
Configurar una solicitud HTTP en Aimylogic
Agregamos un bloque con una solicitud HTTP al script cuando ya hemos recopilado datos del usuario (en las variables $ Name y $ vacation_date).
En la configuración de solicitud HTTP, como URL, especificamos la dirección de webhook que recibimos de IFTTT.
Colocamos el valor de la variable "Value1" en el cuerpo de la solicitud; formamos texto con la variable $ Name, en la que se almacena el nombre de usuario, y también la variable $ vacation_date, en la que se almacenan las fechas de vacaciones. Es decir, debería ser así:
{ "value1" : "$Name $vacation_date" }
Ahora, al ejecutar esta solicitud, el bot sustituirá los valores $ Name y $ vacation_date en el cuerpo de la solicitud y enviará la solicitud al applet IFTTT. Eso, a su vez, creará una carta en el tablero de Trello.

3. Probar el bot
Una vez preparado un guión de diálogo, puede verificarlo inmediatamente en Aimylogic haciendo clic en el botón "Prueba". Aparecerá un widget en la pantalla en el que puedes chatear con el bot. El widget admite la entrada de texto y el uso de botones, si lo proporciona el script. Por ejemplo, en Alice es habitual ofrecer botones al usuario como pistas para familiarizarlo con las capacidades de la habilidad.
En esta etapa, puede depurar el diálogo y verificar qué tan correcto y comprensible es sin usar herramientas de creación de prototipos adicionales.
Tenga en cuenta que, gracias a las tecnologías NLU (que incluyen sinónimos coincidentes, formas de palabras normales, sus representaciones vectoriales y estructuras de consulta sintácticas), el bot comprenderá no solo las frases que coinciden con los ejemplos, sino también su significado cercano. Si esto no sucede, puede entrenar al bot expandiendo la lista de ejemplos relevantes.
Ahora el chatbot puede comunicarse con el empleado y guardar datos en Trello. Queda por colocar el bot en el canal deseado.
4. Publica un chatbot
Usando Aimylogic, el bot creado se puede colocar en uno o varios canales. Actualmente disponible en Aimylogic: widget de chat para el sitio, Telegram o asistente de voz Yandex.Alice.
Pronto agregaremos nuevos canales: VK, Facebook, Slack y otros. En todas partes, el escenario de comportamiento del bot HR será casi el mismo, y las aplicaciones de todos los canales irán a la placa Trello.
Dependiendo del canal seleccionado, Aimylogic generará automáticamente un script para insertarlo en el sitio web o en la dirección del webhook para especificar en Yandex.Dialogs. Para usar Telegram, es suficiente indicar el token de su bot de Telegram recibido de BotFather.
Aimylogic muestra todos los canales conectados al bot y sus estados.
¿Dónde puedo probarlo?
Estamos abriendo Aimylogic en modo beta. Honestamente, todavía está "húmedo", pero puedes probarlo y probar diferentes casos: crea scripts de diálogos en diferentes canales, experimenta con la conexión de sistemas externos, construye bots de preguntas frecuentes con una comprensión del lenguaje natural.
El lanzamiento de la próxima versión incluirá directorios de entidades con nombre, lo que ampliará significativamente las capacidades del producto.
Comenzamos a crear Aimylogic, tratando de facilitar a los usuarios la creación de bots simples en nuestra plataforma, manteniendo el acceso a su funcionalidad principal: NLU, facilidad de integración con sistemas y canales externos. Continuaremos desarrollando el producto, mejorando su UX, lanzando nuevas características útiles desde la plataforma principal. Esperamos sus comentarios y sugerencias.
Puede
probar la plataforma aquí:
app.aimylogic.comPuedes chatear con nosotros u otros desarrolladores en el
canal de telegramas . O simplemente escriba "Aimylogic" en la búsqueda de Telegram.