Lectura de comprensión
Fernanda Mora
fernanda-mora.com
![](https://s3.amazonaws.com/media-p.slid.es/uploads/265996/images/3627158/DATA-DAY-LOGO-200.png)
#datadaymx
https://sg.com.mx/dataday/
automatizada con DL
![](https://s3.amazonaws.com/media-p.slid.es/uploads/265996/images/4703562/1_EQMcnbiMO1GVWL2fAu4vRQ.png)
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
![](https://s3.amazonaws.com/media-p.slid.es/uploads/265996/images/4703252/nlu.png)
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
![](https://s3.amazonaws.com/media-p.slid.es/uploads/265996/images/4705788/span.png)
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
![](https://s3.amazonaws.com/media-p.slid.es/uploads/265996/images/4705857/questions.png)
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
![](https://s3.amazonaws.com/media-p.slid.es/uploads/265996/images/4707304/Untitled_drawing.png)
Proyecto
SQuAD
- Dataset completo:
536 artículos de Wikipedia
108K pares pregunta-respuesta
Training, dev and test
![](https://s3.amazonaws.com/media-p.slid.es/uploads/265996/images/4707376/jerarq.png)
- 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
![](https://s3.amazonaws.com/media-p.slid.es/uploads/265996/images/4707415/factoid.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/265996/images/4707444/bpx.png)
- Longitud de preguntas y respuestas
Análisis exploratorio
![](https://s3.amazonaws.com/media-p.slid.es/uploads/265996/images/4707448/lex_sim.png)
- 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
![](https://s3.amazonaws.com/media-p.slid.es/uploads/265996/images/4707482/pipe.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/265996/images/4707721/emb.png)
- Cluster 2 identificó fechas, números y meses.
- Cluster 4 deportes y música
- Cluster 5 política, reyes y reinos
Word embeddings
![](https://s3.amazonaws.com/media-p.slid.es/uploads/265996/images/4707505/glove2.png)
Methodology
![](https://s3.amazonaws.com/media-p.slid.es/uploads/265996/images/4708127/pipeline_execution.png)
- 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
![](https://s3.amazonaws.com/media-p.slid.es/uploads/265996/images/4707761/PFk2vmfl.png)
- 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
![](https://s3.amazonaws.com/media-p.slid.es/uploads/265996/images/4707846/rerank.png)
[Severyn and Moschitti2015]
- BM25 y Jaccard similarity
Models: sentence selection
![](https://s3.amazonaws.com/media-p.slid.es/uploads/265996/images/4707872/jaccc.png)
- Results
Models: sentence selection
![](https://s3.amazonaws.com/media-p.slid.es/uploads/265996/images/4707875/results.png)
- 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
![](https://s3.amazonaws.com/media-p.slid.es/uploads/265996/images/4707761/PFk2vmfl.png)
- Para cada palabra de la oración escogida, se obtiene:
Models: answer extraction
![](https://s3.amazonaws.com/media-p.slid.es/uploads/265996/images/4707977/features.png)
![](https://s3.amazonaws.com/media-p.slid.es/uploads/265996/images/4707990/it.png)
- Results
Models: answer extraction
![](https://s3.amazonaws.com/media-p.slid.es/uploads/265996/images/4708007/forest.png)
- Final results
Models: combined result
![](https://s3.amazonaws.com/media-p.slid.es/uploads/265996/images/4708025/results2.png)
Automated Pipeline
![](https://s3.amazonaws.com/media-p.slid.es/uploads/265996/images/4708127/pipeline_execution.png)
- Ejecución End-to-end
- Model training
- Model testing
- Interactive Mode
Automated Pipeline
![](https://s3.amazonaws.com/media-p.slid.es/uploads/265996/images/4708120/pipeline.png)
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