En Habré, más de una o dos veces escribieron sobre robots de voz, los principios de su trabajo y las tareas que son capaces de resolver. En consecuencia, los principios generales de la creación de tales robots (preferimos llamarlos “agentes digitales”) son claros para muchos. Y esto es bueno, porque en este artículo nos gustaría hablar sobre el aprendizaje rápido de los robots.
Pudimos capacitar a agentes con éxito en una base de llamadas muy limitada. El número mínimo de registros sobre cuya base se puede desarrollar un agente digital completo es de solo 500 (Alerta de spoiler: estamos hablando más de la especialización de un asistente y no de aprender desde cero). ¿Cómo se lleva a cabo la capacitación y cuáles son las dificultades, las características, lo que se encuentra en el corazón de la tecnología? Hablaremos de esto hoy.
¿Qué debería poder hacer un agente digital?
Por el momento, los agentes digitales que estamos diseñando, que trabajan con el uso del clasificador de intenciones en el segmento b2c, pueden mantener un diálogo pleno. Esto fue posible gracias al hecho de que les enseñamos:
- Determine en el discurso de una persona y clasifique varias respuestas, preguntas, objeciones.
- Seleccione una respuesta o reacción que tenga un significado apropiado.
- Identificar los casos en los que el suscriptor no está sintonizado con el diálogo y se expresa negativamente Determine si el suscriptor es un niño y / o una persona mayor y finalice correctamente la llamada en tales casos.
- Determine en el discurso de una persona y registre, si es necesario, varias entidades a las que llama el suscriptor: nombres, direcciones, fechas, números de teléfono, etc.
- . , , , . .
- «» («», «») , .
- , (, ) . , .
- «background sound» (« »). , , « », , - , .. . — .
¿Para qué es esta característica? Para que el agente digital pueda asumir las tareas de resolver la línea del centro de llamadas entrantes y responder las preguntas estándar de los clientes. En nuestra experiencia, un agente digital puede procesar de forma independiente hasta el 90% de las solicitudes. Al mismo tiempo, los operadores humanos pueden realizar tareas más creativas y ayudar con problemas no estándar. Se puede instruir a AI para que lleve a cabo un diálogo con los suscriptores del centro de llamadas, el soporte de la empresa, etc.
Bueno, y lo más importante en este segmento es que los agentes digitales no pueden vender peor (y en muchos casos incluso mejor) que un operador en vivo. Creamos agentes digitales tan avanzados, por ejemplo, para grandes operadores de telecomunicaciones.
Cómo entrenar a un robot para que lleve a cabo un diálogo
Este es un desafío muy interesante. Ahora lo estamos resolviendo de una manera completamente diferente a la de hace un par de años. Y ahora mismo, necesitamos varios cientos de registros para capacitar a un agente. Pero, por supuesto, no llegamos a esto de inmediato, tuvimos que trabajar mucho.
¿Como era antes?
Hace varios años, la extracción de intenciones y entidades del habla humana y su clasificación se llevó a cabo utilizando expresiones regulares ( regex ). En pocas palabras, es un idioma de búsqueda de texto. Para la búsqueda, se utiliza una cadena de muestra (también conocida como patrón), que establece la regla de búsqueda. La expresión regular usa una sintaxis especial para establecer las reglas de búsqueda. Pero este método tenía varias desventajas:
- La necesidad de un recurso humano grande y capacitado para crear expresiones regulares.
- – , , .
- , — .
- , .
- - (NLU).
- ( , , , , ) 3-7 ; .
?
Hemos desarrollado una base de datos básica, un conjunto de datos de millones de llamadas realizadas utilizando expresiones regulares: verificamos y marcamos los datos y creamos un modelo que, de hecho, imita el resultado del trabajo del clasificador sobre expresiones regulares, pero con mejor calidad.
En el curso del uso posterior del modelo en proyectos reales, llevamos a cabo capacitación adicional a través de una interfaz de marcado especial en nuestra plataforma. Entonces, los administradores de contenido identifican las señales que no están clasificadas con precisión, las marcan y "alimentan" el modelo para que se pueda mejorar en sus casos.
Ahora el entrenamiento consta de dos etapas: entrenamiento directo del modelo en el conjunto de datos y entrenamiento adicional durante la operación comercial. Por el momento, la conexión al motor NLU y las pruebas de reconocimiento rápido nos llevan solo unas pocas horas.
La calidad que solía lograrse con semanas de trabajo meticuloso ahora se proporciona de inmediato gracias a la base principal. Por ejemplo, en el segmento b2c, el% inicial de errores en el reconocimiento del consentimiento / rechazo a tomar una acción objetivo disminuyó en 3 veces (del 10% al 2-3% del número total de casos).
La formación comienza con la provisión de grabaciones de conversaciones entre operadores y clientes de la empresa cliente. Idealmente, un conjunto de datos debería contener al menos 500 registros. Además, se solicita información adicional, incluidas fechas de vencimiento, prioridad, instrucciones y guiones existentes para los empleados del centro de llamadas (opcional, pero deseable).
Para solucionarlo, utilizamos un motor NLU especializado . Se basa en el análisis semántico de texto que proviene de sistemas ASR. En el curso del reconocimiento, los principales objetos de reconocimiento son de dos tipos:
Entidades .
Intenciones (intención).
Un punto importante: no tenemos un sistema de diálogo clásico en su sentido tradicional, un sistema de aprendizaje automático no compone una respuesta de forma dinámica, la respuesta la determinan los diseñadores de guiones. Las frases del bot están estrictamente predeterminadas, no hay libre albedrío para la inteligencia artificial, afortunadamente o desafortunadamente ...
La lógica de la conversación también está predeterminada; de hecho, el clasificador de intenciones se usa para determinar lo que el suscriptor nos dijo y para que propósito. Una vez determinada la intención, podremos seleccionar la frase de bot adecuada, que es necesaria para responder al suscriptor, de hecho, para llevar a cabo un diálogo completo.
Ejemplo de diálogo
A continuación se muestra un script de recursos humanos complejo con las intenciones y entidades de designación; las entidades reconocidas y las intenciones se indican debajo de la réplica de cada suscriptor y están en cursiva.
Bot: ¡Hola! Mi nombre es Elena, te llamo por tu currículum. Dime, ¿la oferta de vacante es relevante para ti?
Suscriptor: Sí, hola
Intención: hello_confirm = true
Bot:Mira, ahora tenemos una vacante para un especialista en oficina de ventas. Las responsabilidades incluyen consultar a los suscriptores, vender equipos y trabajar con la caja registradora. El registro es completamente oficial, el salario es blanco, el ingreso promedio es de N rublos, el nivel máximo es prácticamente ilimitado, existe una oportunidad para el crecimiento profesional. Programe 5 días hábiles con dos días libres flotantes. También proporcionamos todas las garantías sociales, VMS, bonificaciones y descuentos de la empresa.
¿Considera estas condiciones por ti mismo?
Suscriptor: Y de nuevo, ¿desde dónde llamas?
Intención: question = what_company
Bot: Esta es una red minorista
Suscriptor de NNN : ¿Cuál es su horario?
Intención: pregunta = horario
Bot:El horario de trabajo está formado por el programa de forma automática, teniendo en cuenta el flujo de clientes y la carga de trabajo en la oficina con dos días libres flotantes, es decir, el turno de trabajadores 6 8 10 12 horas al día no puede ser superior a 40 horas. una semana. En este caso, el horario se elabora con anticipación durante 2 semanas, es decir, usted conoce de antemano su horario, su fin de semana y ya puede planificar.
Suscriptor: Bueno,
Intención: confirmación = verdadero
Bot: Permítanos comprobar sus datos personales con usted ...
Por favor, dígame su apellido Nombre completo Patronímico
Suscriptor : Elena Gudkova
Entidad: nombre = verdadero
Bot: Por favor, nombre su fecha de nacimiento
Suscriptor:decimotercer cero segundo ochenta y siete
Entidades:
día = [13]
mes == [febrero]
año == [1987]
Bot: Dime, ¿puedo anotar el número al que te llamo como contacto?
Suscriptor: No, probablemente
Intención: confirmación = falso
Bot: ¿ Dime entonces el número por el cual puedo contactarlo?
Suscriptor: novecientos diez ochocientos ochenta cincuenta veinticinco
Entidad: teléfono = verdadero
Bot: Dime, ¿cuál es tu educación?
Suscriptor:
Entidad superior : educación = superior
Bot:Aclarar, ¿estás estudiando actualmente a tiempo completo?
Suscriptor: No
Intención: confirmación = falso
Bot: Dime, ¿tienes la ciudadanía rusa?
Suscriptor: ciudadanía rusa
Entidad: ciudadanía = rusia
Bot: Ok, esa fue la última pregunta. Gracias por responder a mis preguntas, ahora enviaré el cuestionario al gerente para que lo considere. Los cuestionarios se consideran dentro de los 3 días y, en caso de una decisión positiva, nuestros empleados se comunicarán con usted. Adiós.
Ok, el guión está desarrollado, ¿luego qué?
Después de todo esto, los scripts desarrollados se acuerdan con el cliente. En algunos casos, los clientes quieren agregar o cambiar algo, lo cual hacemos. A veces se hace necesario aclarar los parámetros técnicos:
- Método de integración.
- Parámetros de entrada / salida.
- Conexión troncal SIP (si se planea utilizar la telefonía del cliente).
- Conexión SMS o conexión a sistemas de clientes de terceros (CRM, Gestión de campañas).
¿Cuáles son los parámetros de entrada y salida? Estas son varias variables que nuestro agente digital necesita para iniciar una llamada. En primer lugar, este, por supuesto, es el número de teléfono o la identificación del suscriptor al que estamos llamando. Opcionalmente, dependiendo del cliente y proyecto específico, pueden ser otros datos, por ejemplo:
- varios componentes y costo de los servicios y servicios que el asistente debe anunciar a los diferentes suscriptores, dependiendo de las condiciones específicas;
- nombres de paquetes de servicios o servicios que el asistente llama a diferentes abonados;
- diferentes nombres con los que el asistente puede dirigirse a las personas que llaman cuando saluda;
- Información adicional.
Es decir, para que el asistente, dependiendo de ciertas condiciones, realice esta o aquella acción durante la llamada o después de ella, debe transmitirle estas condiciones, que se denominan "parámetros de entrada".
Bueno, los parámetros de salida son un conjunto de datos que el asistente debe devolvernos después de realizar una llamada.
Por ejemplo: el número de teléfono del suscriptor, la duración de la llamada, el nombre del proyecto dentro del cual se realizó la llamada, los resultados de la llamada, etc. La salida también contiene el resultado principal de la llamada, que depende de los resultados del diálogo sobre un proyecto específico (el ejemplo más simple es el resultado "Consentimiento" si el suscriptor acordó realizar la acción objetivo o el resultado "Rechazo" si el suscriptor rechazado). Y lo último son los datos técnicos sobre el estado de la llamada y varios códigos de posibles errores (la llamada se realizó, la llamada no se realizó por problemas de telefonía, la llamada no se realizó debido a datos de entrada incorrectos, etc. ).
Estos datos pueden simplemente caer en la salida de los datos de entrada (por ejemplo, en los datos de entrada pasamos el número del suscriptor al asistente, y en los datos de salida después de la llamada, el asistente nos dio el mismo número de teléfono).
Además, el robot puede "recopilar" estos datos del suscriptor basándose en el resultado de la llamada: por ejemplo, escribir los nombres, direcciones, números de teléfono, etc. nombrados por los suscriptores y registrarlos en los datos de salida. A partir de ellos, se generan informes y análisis.
Bueno, luego viene el turno de etapas como la puntuación del guión, el desarrollo de la lógica, el desarrollo de patrones, la verificación del software y, finalmente, la transferencia del proyecto al cliente.
Eso, de hecho, es todo. Por supuesto, el proceso de creación de un agente digital en sí mismo es un poco más complicado de lo descrito anteriormente; solo dentro del marco del artículo no será posible indicar absolutamente todos los matices. Ahora planeamos continuar con este artículo haciendo ya la segunda parte sobre los aspectos técnicos de la capacitación y la “cocina” interna de la empresa. Si desea saber algo que no está en el artículo en este momento, pregunte y definitivamente le responderemos.