¿Podemos enseñar a los robots de chat a razonar y participar con nosotros en el diálogo y en la recuperación de información?
Esta semana ha sido una gran semana para el procesamiento de lenguaje natural y estoy muy emocionada (¡y tú también deberías estarlo)! Esta semana, me encontré con Arxiv Sanity Preserver como lo hago normalmente, solo que en lugar de ser recibido por un aluvión de GAN (esto o CNN), mis ojos se posaron en dos conjuntos de datos que me hicieron muy feliz. Eran CoQA y QuAC , y en este blog vamos a hablar sobre por qué CoQA es tan emocionante.
¡También hablo de QuAC aquí si está interesado en responder más preguntas!
Un desafío de respuestas de preguntas conversacionales
¿Qué implica un “desafío de respuesta a una pregunta conversacional”? Bueno, requiere no solo leer un pasaje para descubrir respuestas, sino también tener una conversación sobre esa información. Requiere el uso de claves de contexto en un diálogo para descubrir lo que se solicita. Y requiere que la información se reformule de una manera que sea abstracta en lugar de extractiva.
¡Este conjunto de datos no se parece a nada que hayamos visto en la respuesta de preguntas!
La motivación
Entonces, ¿por qué necesitamos un conjunto de datos como CoQA?
Bueno, simplemente porque nuestros conjuntos de datos actuales simplemente no lo están haciendo por nosotros. Los seres humanos aprenden interactuando entre sí, haciendo preguntas, entendiendo el contexto y razonando acerca de la información. Chatbots … Bueno, los chatbots no hacen eso. Al menos no ahora. Y, como resultado, faltan agentes virtuales y los chatbots parecen estúpidos (la mayoría de las veces).
CoQA se creó como un conjunto de datos para ayudarnos a medir la capacidad de los algoritmos para participar en un diálogo de preguntas y respuestas. Esencialmente, para medir cómo una máquina puede ser conversacional.
En su artículo, la creación de CoQA llegó con tres objetivos:
- 1. Para crear un conjunto de datos que incluya pares de preguntas y respuestas que dependen de un historial de conversación
- ¡CoQA es el primer conjunto de datos que sale a hacer esto a gran escala!
- Después de la primera pregunta en un diálogo, cada pregunta depende de la historia de lo que se dijo
- ¡Hay 127,000 preguntas que abarcan 8,000 diálogos!
- 2. Crear un conjunto de datos que busque respuestas naturales.
- Muchos conjuntos de datos de preguntas y respuestas son extractivos, buscan respuestas lexicamente similares y las sacan directamente del texto
- CoQA espera que la razón se extraiga del pasaje, pero que tenga una respuesta resumida y reescrita
- 3. Para garantizar que los sistemas de respuesta a preguntas funcionen bien en un conjunto diverso de dominios
- CoQA tiene un conjunto de trenes que cuenta con 5 dominios y un conjunto de pruebas que cuenta con 7 dominios (¡2 nunca vistos en el entrenamiento!)
Y mientras que el desempeño humano tiene un puntaje de F1 del 88.8%, el modelo de mejor desempeño solo logra un F1 de 65.1%. ¡Eso es un gran margen y un montón de recuperación que las máquinas tienen que hacer!
Creando CoQA
¿Cómo se creó un dataset como este?
Con la ayuda de Amazon Mechanical Turk un mercado que ofrece trabajos a personas que requieren inteligencia humana, como etiquetar un dataset.
Dos trabajadores de AMT se emparejarían juntos, uno haciendo preguntas y el otro dando respuestas. Se le pediría al respondedor que resalte la porción del texto en un pasaje que da la respuesta y luego responda de manera que use palabras diferentes de las que se dieron en el pasaje (convirtiéndose en abstracto).
Todo esto se hizo dentro de un diálogo entre dos trabajadores. Parece el siguiente ejemplo resaltado en el documento:
¿Cuáles son los dominios de los pasajes
Los pasajes provienen de 7 dominios, 5 en el conjunto de entrenamiento y 2 reservados para el conjunto de prueba. Son:
- Cuentos infantiles de MCTest
- Literatura del Proyecto Gutenberg.
- exámenes de inglés de secundaria y preparatoria de RACE
- reportajes de la CNN
- Los artículos de Wikipedia
- Artículos científicos de AI2 Science Questions (solo prueba)
- Artículos de Reddit del conjunto de datos de indicaciones de escritura (solo conjunto de pruebas)
También hicieron todo lo posible para recopilar múltiples respuestas a las preguntas, ya que las preguntas se redefinen, lo que ayuda a que los agentes de diálogo obtengan más oportunidades para obtener una mejor puntuación y en realidad tengan la respuesta correcta.
CoQA: Comparación con otros conjuntos de datos
¿Qué teníamos antes de esto?
Bueno … tuvimos SQuAD, el conjunto de datos de Stanford Question Answering . La versión 1.0 dio uso a más de 100,000 preguntas en Wikipedia que requerían modelos para extraer porciones correctas de artículos en respuesta a las preguntas. Cuando se decidió que eso no era suficiente, obtuvimos la versión 2.0 . Esto agregó más de 50,000 preguntas sin respuesta a SQuAD, que ahora requieren que los algoritmos no solo encuentren las respuestas correctas, sino también la razón de si una respuesta existía en un pasaje.
Esta tarea sigue sin resolverse.
Pero tampoco resuelve los problemas de abstraer información y comprender lo que se pide en un diálogo. ¡Es por eso que se creó CoQA, como se describe en su primer objetivo!
Más análisis
Los creadores de CoQA hicieron un análisis de SQuAD versus CoQA y encontraron que mientras que aproximadamente la mitad de las preguntas de SQuAD son preguntas de “qué”, CoQA tiene una distribución de tipos de preguntas mucho más amplia y equilibrada.
Nos dieron este gráfico genial para representar que:
Lo que dificulta aún más CoQA es que a veces solo presenta preguntas de una palabra como “¿quién?” O “¿dónde?” O incluso “¿por qué?”
¡Estos son totalmente dependientes del contexto! ¡Como seres humanos ni siquiera podemos comenzar a tratar de responder a estas preguntas sin conocer el contexto en el que se les preguntó!
CoQA: Un desafío lingüístico
En caso de que no lo hayas reunido todavía, CoQA es muy, muy difícil. Está lleno de cosas llamadas co-referencias que pueden ser algo tan simple como un pronombre, pero en general es cuando dos o más expresiones se refieren a la misma cosa (¡por lo tanto, co-referencias!).
Esto es algo que sigue siendo un problema abierto en la PNL (resolución de co-referencia, resolución de pronombres, etc.), por lo que incorporar este paso en un conjunto de datos de preguntas sin duda aumenta la dificultad un poco más.
Aproximadamente la mitad de las preguntas en CoQA contienen una co-referencia explícita (algún indicador como él, eso, ella, eso). Cerca de una quinta parte de las preguntas contienen una co-referencia implícita. Esto es cuando se hace una pregunta como “¿dónde?”. Estamos pidiendo que se resuelva algo, pero está implícito. Esto es muy difícil para las máquinas. Demonios, incluso puede ser difícil para las personas a veces!
¡Y ahora para un desafío!
¿Cómo soportan los modelos actuales este desafío? La respuesta no está bien.
Ve por ti mismo:
¿Nos ayudará CoQA a hacer preguntas para responder qué hizo ImageNet al reconocimiento de imágenes? Solo el tiempo lo dirá, ¡pero las cosas son emocionantes!
¡Ahora, para un desafío para todos nosotros (tal como lo planteé con QuAC)! Todos podemos presionar para tratar de enfrentar este desafío y llevar a los agentes de conversación a la siguiente evolución.
CoQA tiene una tabla de clasificación que a partir de ahora está vacía! Es nuestro deber salir y tratar de trabajar en este desafío, tratar de resolver este problema, impulsar el conocimiento y quizás llegar a la tabla de clasificación para obtener un poco de fama y mucho orgullo;)