Esta es una publicación de blog complementaria a mi charla en la conferencia REWORK del 28 de abril de 2021. Las diapositivas de la charla están disponibles
aquí
.
La comprensión del lenguaje natural (CLN) es un componente clave en cualquier sistema de IA conversacional. Normalmente, en un sistema de diálogo orientado a tareas, la comprensión del lenguaje natural consta de clasificadores para identificar la intención del usuario y los parámetros o entidades presentes. El administrador de diálogos utiliza este resultado para seleccionar el estado de diálogo apropiado y tomar las acciones correspondientes a fin de satisfacer la solicitud del usuario. En algunos casos, puede que no sea posible definir claramente una intención, o que el simple hecho de conocer la intención y las entidades presentes en la solicitud del usuario no proporcione suficiente información para que el administrador de diálogos realice la acción óptima. Por ejemplo, considere la siguiente interacción de un usuario con un bot para un sitio web de venta de ropa:
El usuario comienza la interacción con un saludo, seguido de una solicitud para encontrar un producto específico. En ambos casos, la intención y los parámetros identificados son suficientes para que el bot responda de forma inteligente y proporcione con éxito una recomendación pertinente al usuario. El problema surge cuando el usuario responde a la recomendación con su impresión del producto. ¿A qué intención deben asignarse estas consultas y qué entidades deben detectarse? Por lo general, manejamos este tipo de situaciones con un mensaje para que el usuario redirija la conversación a algo más procesable, como “Mmm, no entendí eso. Para ver más opciones, di ‘muéstrame más’”.
Si bien esta no es una experiencia del usuario terrible, podemos hacer que el bot sea más inteligente añadiendo un módulo clasificador adicional al sistema de comprensión del lenguaje natural para identificar actos de habla o de diálogo.
¿Qué son los actos de habla?
Un acto de habla capta el contexto y la intención del usuario en cada enunciado de una conversación. Estas intenciones se diferencian de las intenciones de diálogo habituales en que son de naturaleza más general. Por ejemplo, “¿Cuánto cuesta esto?” y “¿Cómo está el tiempo hoy?” pueden pertenecer a las intenciones “OBTENER_COSTO” y “OBTENER_TIEMPO” respectivamente, pero tienen el mismo acto de habla: “PREGUNTA”, o si quiere mayor granularidad, una “PREGUNTA ABIERTA”. Existen diferentes taxonomías de actos de habla definidas en la bibliografía, y podemos utilizar el subconjunto que funcione para nuestra aplicación. Para tener una mejor idea de lo que pueden ser estas etiquetas, consulte la taxonomía SWBD-DAMSL, que ofrece un amplio conjunto de 42 etiquetas.
Actos de habla para la administración de diálogos
En el ejemplo de usuario-bot que presentamos antes, podríamos tener etiquetas de acto de habla de “SALUDO” (o “APERTURA CONVENCIONAL”), “PREGUNTA” y “OPINIÓN NEGATIVA” para las tres consultas del usuario. Ahora que sabemos que el último turno de usuario expresó una opinión negativa sobre la marca (etiquetada como perteneciente al tipo de entidad “categoría”), el administrador de diálogos puede filtrar la lista recomendada para excluir opciones de la categoría que no le gusta.
Actos de habla para identificar elementos procesables en las conversaciones
Otra aplicación interesante de los actos de habla con la que experimentamos es su utilización para extraer los puntos destacados de una reunión. A diferencia de resumir artículos de noticias, un problema bien estudiado, proporcionar un resumen extraído de una reunión (es decir, los puntos destacados de la reunión) es difícil, ya que es complicado obtener datos anotados. Hay mucha subjetividad en lo que constituye un punto destacado. Por ejemplo, un ingeniero puede centrarse en los detalles de implementación que se tratan en la reunión, mientras que un gerente de producto puede no necesitar los detalles técnicos prácticos. Esta subjetividad, junto con la naturaleza confidencial de los datos de las reuniones, dificulta la obtención de datos anotados para formar un modelo.
La bibliografía y las encuestas internas han demostrado que si hay algo en lo que las personas están de acuerdo es en que los elementos de acción y los seguimientos deben ser parte de los puntos clave de una reunión. Motivados por esto, nos centramos en la identificación de elementos procesables en las reuniones. A continuación, se presentan ejemplos de lo que entendemos por elementos procesables. Parece que hay dos grandes categorías de cómo se expresan los elementos de acción: el orador promete una acción y el orador emite una orden. Esta observación hace que los actos de habla sean perfectos para resolver este problema.
Definimos nuestra taxonomía de actos de habla para la tarea de la siguiente manera:
- Compromiso[COM]: el orador promete hacer algo
- “Te enviaré un correo electrónico con los detalles”
- “Concertaré una reunión con Jerry el lunes”
- Directiva[DIR]: el orador le pide al oyente que haga algo como respuesta
- “¿Puedes ponerte en contacto con ellos mañana?”
- “¿Cuál es tu estimación para este proyecto?”
- Elaboración[ELB]: el orador añade más información a un compromiso o a una directiva
- “Concertaré una reunión con Emma hoy. El principal objetivo es analizar este proyecto con ella para mayor claridad”. (Compromiso seguido de elaboración)
- “Debes empezar a trabajar en la documentación. Facilitará el proceso de compartir”. (Directiva seguida de elaboración)
- Confirmación[ACK]: el orador confirma algo
- “Sí, suena bien”
- “Eso me sirve”
Algunos compromisos y directivas no son necesariamente puntos clave, ya que el alcance de sus acciones se limita a la duración de la reunión. Por ejemplo: “Déjame compartir mi pantalla” o “¿Puedes ver mi ventana de Chrome?” Para ocuparnos de estos casos, dividimos los compromisos y las directivas en dos tipos: durante la reunión y después de la reunión. Las frases que se clasifican como “compromiso después de la reunión” o “directiva después de la reunión” son las que nos interesa captar para el usuario como elementos procesables.
Ajustamos un modelo de RoBERTa (una variante del transformador) previamente entrenado con 50 000 frases de reuniones anotadas con estas etiquetas. El modelo tiene una precisión de alrededor del 82% para predecir el acto de habla correcto cuando se prueba con un conjunto de 3000 frases contenidas. Para evaluar el objetivo final de identificar los puntos clave de las reuniones, pedimos a dos anotadores expertos que anotaran doce reuniones con etiquetas binarias sobre si cada frase de la reunión debía ser un punto destacado o no. El modelo tiene una precisión alta del 88%, es decir, 88 de cada 100 puntos destacados que predijo fueron correctos. Sin embargo, la coincidencia es del 42%, lo que significa que más del 50% de los puntos destacados no son detectados por el modelo o no encajan en este esquema de compromisos o directivas. Si bien esto demuestra que hay mucho por mejorar, el nivel alto de precisión es muy alentador.
Otras aplicaciones
Solo compartimos dos aplicaciones en las que los actos de habla son útiles, pero hay muchos otros casos de uso en el mundo real. Los actos de habla ayudan a comprender la estructura general de una conversación que puede ser útil para analizar los registros de conversaciones del centro de llamadas. Una publicación reciente cuyo objetivo es hacer automáticamente que las frases sean corteses utilizó un clasificador de actos de habla para identificar las frases descorteses y luego hizo las correcciones necesarias. También hay algunos conjuntos de datos abiertos que puede explorar, como el corpus Switchboard y el corpus ICSI Meeting Recorder, que tienen conversaciones anotadas con una amplia variedad de etiquetas de actos de habla.
En Webex, encontramos habla conversacional en múltiples formas: en nuestras aplicaciones de llamadas, mensajería y reuniones, así como en nuestras soluciones de centro de contacto. Apenas estamos empezando a descubrir cómo los modelos de procesamiento del lenguaje natural basados en los actos de habla pueden ayudar a nuestros clientes a aprovechar sus propios datos. Esté atento para conocer más sobre este tema en los próximos meses.
¿Está interesado en unirse al equipo de MindMeld? Envíe un correo a mindmeld-jobs@cisco.com.
Sobre la autora
Varsha Embar es ingeniera sénior de aprendizaje automático en el equipo MindMeld de Cisco, en el que crea interfaces conversacionales de producción. Trabaja en la mejora de la plataforma central de procesamiento del lenguaje natural, que incluye características y algoritmos para entornos de bajos recursos, y aborda problemas desafiantes, como la síntesis y la detección de elementos de acción en transcripciones de reuniones con ruido. Antes de trabajar en MindMeld, Varsha obtuvo un máster en Aprendizaje Automático y Procesamiento del Lenguaje Natural de la Universidad Carnegie Mellon.
Visite nuestra página de inicio o póngase en contacto con nosotros directamente para obtener ayuda.
Haga clic aquí para obtener más información sobre las ofertas de Webex y para inscribirse en una cuenta gratuita.