Lectura de comprensión
Fernanda Mora
fernanda-mora.com
#datadaymx
https://sg.com.mx/dataday/
automatizada con DL
Contenido
- Objetivo
- Contexto
- Preliminares
- Proyecto
- Conclusiones
Objetivo
2 objetivos
- Dar una intro a lectura de comprensión automática.
- Platicar sobre el proyecto de verano en Carnegie Mellon (lectura de comprensión).
Contexto
Motivación
- Esfuerzos desde los 60's (lexemas, parsers, gramáticas
- Meta: modelos que "entiendan"
- ¿Dónde estamos?
- Interés no sólo teórico sino comercial: Siri y Watson
Imagen tomada de Bengio et al., 2016
Retos
- Lectura de comprensión automática es la habilidad de un programa de leer y entender documentos a un nivel tal de ser capaz de responder preguntas.
- Retos son en dos direcciones: datasets y modelos.
- Datasets 'buenos' son esenciales: pequeños y realistas ([Richardson et al.2013) vs grandes pero sintéticos (Hermann et al.2015).
- Modelos deben tomar en cuenta el contexto del lenguaje
Preliminares
Definición del problema
- Agradecimientos a Luis Román (ITAM), Siddha Ganju, Arwush Arwal , Salvador Medina, Matthias Grabmair, Eric Nyberg (CMU, LTI)
- Implementar un sistema que sea capaz de realizar lectura de comprensión automática sobre el dataset de SQuAD que mejore el estado del arte
SQuAD
- SQuAD [Rajpurkar et al.2016], está formado de +100K pares de pregunta-respuesta basados en +500 artículos de Wikipedia
- Las preguntas fueron hechas por humanos en plataforma de crowdsourcing
- Las respuestas son un segmento del párrafo asociado
SQuAD
- No hay un número fijo de respuestas
- Cualquier sucesión de palabras del párrafo es una posible respuesta
- Respuestas creadas por humanos: variedad, 99% son factoides
Numérico
Nombres propios
Otros
Modelos
- [Hermann et al.2015] usó redes neuronales recurrentes con mecanismos de atención para predecir un sólo token
- Modelos sequence-to-sequence se han aplicado con éxito en datasets más grandes
- Memory networks no escalan bien [Weston et al.2014]
- [Rajpurkar et al.2016] propone el primer modelo sobre SQuAD
- F1 score de 51% vs 86.8 %
- Regresión logística con features a la medida
Proyecto
SQuAD
- Dataset completo:
536 artículos de Wikipedia
108K pares pregunta-respuesta
Training, dev and test
- Dataset de entrenamiento:
378 artículos de Wikipedia
42 pasajes por artículo
5 preguntas por pasaje
1 respuesta por pasaje
80K pares QA
- Evaluación del modelo:
Output: sucesión de tokens
Mediciones: Exact match y F1
Análisis exploratorio
- 99% de las preguntas son factoides
- Longitud de preguntas y respuestas
Análisis exploratorio
- Existe similaridad léxica entre pasajes del mismo artículo
Análisis exploratorio
- Se hizo un LDA para entender los temas persistentes
- Variamos el número de palabras y el número de tópicos y se encontraron los siguientes tópicos persistentes:
history
government
nation-state
sports
art
Análisis exploratorio
- Embeddings extraen información sintáctica y léxica que permita encontrar relaciones semánticas
- Se hicieron embeddings por palabra, oración y párrafo
- Se usó tanto Word2Vec como GloVe
Word embeddings
- Cluster 2 identificó fechas, números y meses.
- Cluster 4 deportes y música
- Cluster 5 política, reyes y reinos
Word embeddings
Methodology
- Adaptados la red convolutional propuesta por [Severyn and Moschitti2015]
- Encontrar la oración que tiene la mayor probabilidad de contener la respuesta
Models: sentence selection
- Red convolucional para rankear las oraciones:
- Aprender una representación óptima de pregunta-oración
- Aprender una función de similaridad entre pregunta oración
Models: sentence selection
[Severyn and Moschitti2015]
- BM25 y Jaccard similarity
Models: sentence selection
- Results
Models: sentence selection
- Idea: Usar features que extraigan features que extraigan la estructura léxica, sintáctica y semántica de la oración, pregunta y respuesta para entrenar un clasificador
Models: answer extraction
- Para cada palabra de la oración escogida, se obtiene:
Models: answer extraction
- Results
Models: answer extraction
- Final results
Models: combined result
Automated Pipeline
- Ejecución End-to-end
- Model training
- Model testing
- Interactive Mode
Automated Pipeline
Conclusiones
Conclusiones
- Se hizo análisis exploratorio sobre SQuAD
- Se probaron varios métodos de embeddings
- No se logró mejorar el resultado de Stanford
- Se diseñó un pipeline cuya modularidad permite desarrollar y probar modelos por partes, así como combinar sus resultados
- Se implementó dicho pipeline
¿Preguntas?
fernanda-mora.com
fernandamoralba@gmail.com