Construcción de listado de términos empleados en Twitter en situaciones de emergencia.
Informe Final Introducción a la Minería de Datos
Juglar Díaz Zamora y Arniel Labrada Deniz {juglar.diaz,arniellabrada}@gmail.com
Introducción y Motivación
La red social Twitter es una fuente de información valiosa ante situaciones de emergencia para funcionarios encargados de tomar decisiones y la comunidad en general. La naturaleza uno a muchos de Twitter brinda una plataforma donde los usuarios publican información actualizada de primera mano sobre eventos noticiosos, entre ellos situaciones de crisis. Dada las características de las API de Twitter, ante situaciones de crisis existen dos formas de recuperar tweets, mediante consulta de términos específicos o seleccionando una zona geográfica. Con la lista de términos se recuperan aquellos tweets que contengan al menos uno de los términos expecificados. Para el caso de la zona geográfica se selecciona una zona rectangular de donde se recuperarán los tweets producidos en esa zona que brinden esta información. En cualquiera de los dos casos si la cantidad de tweets recuperados supera el 1% del flujo de tweets en Twitter, solo se recupera hasta el 1% mediante muestreo. Por lo tanto se hace necesario tener una lista de términos con los que realizar búsquedas en Twitter que garanticen la mayor cobertura posible sobre los mensajes de interés producidos en la red relacionados con un evento de crisis.
En este trabajo nos proponemos construir una lista de términos que permitan recuperar tweets ante situaciones de crisis, además de servir para la construcción de nuevos métodos de procesamiento automático.
Hipótesis
Los algoritmos propuestos en (Mikolov et al., 2013a), (Mikolov et al., 2013b) y (Pennington et al., 2014) permiten calcular una representación vectorial para palabras a partir de una colección de textos. Los vectores extraídos por presentan relaciones sintácticas y semánticas como hombre-mujer, conjugaciones verbales, entre otras. Por ejemplo en la Figura 1: man-woman+king = queen, walking-walked+swimming = swam.
El vector de cada palabra es inducido de forma tal que ayude a predecir las palabras que aparecen en su contexto. Basándonos en estas propiedades tenemos la hipótesis de que los términos utilizados en situaciones de crisis, al ser palabras específicas de este dominio, presentarán menor variación en el vector que los representa en situaciones de crisis con respecto al vector calculado en situaciones de normalidad, mientras que palabras que aparezcan en este dominio, pero con presencia también en otros dominios, presentarán una mayor variación.
Metodología
Para construir la lista de términos proponemos los siguientes pasos.
-
1.
Entrenar algoritmo que calcule una representación vectorial para palabras sobre una colección de textos de dominio abierto.
-
2.
Para cada palabra del dominio de interés calcular un vector igual al promedio de los vectores de las palabras encontradas como contexto.
-
3.
Retornar los k términos cuyo vector presente menor variación del paso 1 al paso 2, no sean stop-words y aparezcan como mínimo m veces.
Trabajos relacionados
En esta sección presentamos los trabajos encontrados en la literatura relacionados con nuestra propuesta. Algunos casos proporcionan datos para validar nuestra propuesta, mientras que otros presentan además algoritmos que servirán como fuente de comparación.
EMTerms 1.0: A Terminological Resource for Crisis Tweets
Este trabajo (Temnikova et al., 2015) describe la construcción de una lista de más de 7000 términos utilizados en Twitter durante diferentes situaciones de emergencia. Se inicia con un conjunto de términos a partir de los cuales se crea un conjunto más grande de manera automática que es revisado por especialistas. Los términos se clasifican en 23 categorías de acuerdo al tipo de información que aportan.
CrisisLex: A Lexicon for Collecting and Filtering Microblogged Communications in Crises
Este trabajo (Olteanu et al., 2014) se basa en mejorar la cobertura de los tweets recuperados de Twitter en una situación de crisis. Se parte de un conjunto inicial de términos seleccionados manualmente que se va actualizando mediante técnicas estadísticas con el objetivo de mejorar los resultados de las consultas realizadas a Twitter.
Building a Crisis Management Term Resource for Social Media: The Case of Floods and Protests
En este trabajo (Temnikova et al., 2014) los autores recolectan tweets de dos inundaciones y dos protestas, luego realizan un análisis de las simitudes entre los conjuntos de términos utilizados en eventos de un mismo tipo y eventos de diferentes tipos. Se seleccionaron 500 tweets por cada evento y se anotaron un total de más de 1000 términos según su relevancia(alta, media, baja) de acuerdo a la información que aportan sobre la crisis.
Automatic Keyword Extraction on Twitter
En este trabajo (Marujo et al., ) la tarea de determinar que es un término y que no, se plantea como una tarea de clasificación. Los candidatos son representados mediante características determinadas manualmente, además del vector que representa el término según word2vec. El método propuesto es evaluado sobre datos recolectados de Twitter y validado por anotadores humanos.
A Domain Independent Approach for Extracting Terms from Research Papers
En este trabajo (Jiang et al., 2015) se parte de un conjunto de semillas, luego encuentran los k términos mas cercanos a cada una de las semillas a través de word2vec entrenado sobre un dominio abierto. Los candidatos son filtrados según aparezcan o no en el dominio de interés. Éste proceso se repite hasta que no aparezcan nuevos términos.
Datos
CrisisLex26:
Esta colección 11http://crisislex.org/data-collections.html#CrisisLexT26 está compuesta por tweets relacionados con 26 eventos de crisis durante los años 2012 y 2013. Cada evento cuenta con alrededor de 1000 tweets anotados de acuerdo a: es informativo o no, tipo de información (precaución, donaciones, personas afectadas ) y fuente de la información (medios, testigos visuales) (Olteanu et al., 2015). En la Figura 2 mostramos una nube de palabras construida a partir de esta colección luego de eliminar stop-words y convertir a minúsculas. Resaltan en la imagen términos asociados a eventos de crisis como explotion y fire, términos que identifican los lugares donde ocurrieron los eventos como philippine y colorado.
Word-vectors pre-entrenados:
Contamos con vectores de términos entrenados con Glove (Pennington et al., 2014) sobre una colección de 2000 millones de tweets en inglés y 27000 millones de tokens . El modelo22http://nlp.stanford.edu/projects/glove/ cuenta con un vocabulario de 1.2 millones de términos y vectores de 25, 50, 100 y 200 dimensiones. En la Tabla 1 mostramos una comparación entre consultas a esta colección y los vectores obtenidos luego de aplicar Word2vec sobre CrisisLex26.
Word2vec en CrisisLex26 | Glove pre-entrenado |
---|---|
glasgow | tornado |
explosions | collapse |
derailment | storm |
philippines | strikes |
boston | hurricane |
flooding | flood |
helicopter | disaster |
storms | quake |
tankers | warning |
flash | plane |
Evaluación
Modificación de la lista términos
De los 7219 términos extraídos en (Temnikova et al., 2015), 697 son de una palabra y 6543 de más de una palabra (en el artículo mencionan que el recurso contiene 7219 pero en el fichero disponible en la web hay 7240 anotados). Dado que actualmente solo estamos considerando producir términos de una palabra, para la evaluación construimos una nueva lista formada por los términos de una palabra más las palabras que no sean stop-words empleadas en los términos multipalabra. Luego utilizamos precisión y cobertura para evaluar la lista de términos producida automáticamente.
Resultados
En la Tabla 2 mostramos los resultados para (Jiang et al., 2015) variando los parámetros. Se obtuvo una precisión máxima de 0.78 con 69 términos extraídos, una cobertura máxima de 0.68 y 0.33 de precisión y cobertura para el caso promedio con 2934 términos extraídos.
k | Runs | Cantidad de términos | Precisión | Cobertura | |
---|---|---|---|---|---|
15 | 1 | 69 | 0,78 | 0.02 | |
20 | 1 | 85 | 0,74 | 0,02 | |
30 | 1 | 123 | 0,68 | 0,03 | |
50 | 1 | 196 | 0,61 | 0,04 | |
15 | 2 | 455 | 0,56 | 0,09 | |
20 | 2 | 629 | 0,52 | 0,11 | |
30 | 2 | 1122 | 0,46 | 0,17 | |
50 | 2 | 2096 | 0,41 | 0,29 | |
15 | 3 | 2008 | 0,36 | 0,25 | |
20 | 3 | 2934 | 0,33 | 0,33 | |
30 | 3 | 5256 | 0,27 | 0,48 | |
50 | 3 | 8706 | 0,21 | 0,62 | |
15 | 4 | 6103 | 0,24 | 0,49 | |
20 | 4 | 8526 | 0,20 | 0,57 | |
30 | 4 | 13171 | 0,15 | 0,68 |
Para analizar el contraste entre los vectores de mayor varianza y los vectores de menor varianza, mostramos resultados para ambos casos en las Tablas 3 y 4 con un número fijo de apariciones mínima. Podemos ver que a medida que crece la lista, baja la precisión para los vectores de menor variación, contrario a lo que sucede con la lista para los vectores de mayor variación, como es de esperar la cobertura aumenta para ambos casos.
mincount | Cantidad de términos | Precisión | Cobertura | ||
---|---|---|---|---|---|
8 | 100 | 0,35 | 0,01 | ||
8 | 500 | 0,38 | 0,06 | ||
8 | 1000 | 0,41 | 0,14 | ||
8 | 2000 | 0,42 | 0,28 | ||
8 | 2500 | 0,42 | 0,35 | ||
mincount | Cantidad de términos | Precisión | Cobertura | ||
---|---|---|---|---|---|
8 | 100 | 0,47 | 0,02 | ||
8 | 500 | 0,45 | 0,08 | ||
8 | 1000 | 0,43 | 0,15 | ||
8 | 2000 | 0,42 | 0,29 | ||
8 | 2500 | 0,42 | 0,35 |
En la Tabla 5 mostramos un resumen de los experimentos realizados con nuestra propuesta, podemos ver que en el caso promedio superamos nuestra implementación del algoritmo propuesto en (Jiang et al., 2015) (0.52, 0.35) vs (0.33, 0.33). Para la mejor precisión obtuvimos resultados similares, mientras que en el mejor caso logramos una mejor cobertura con mejor precisión (0.18, 0.70) vs (0.15, 0.68).
mincount | Cantidad de términos | Precisión | Cobertura | ||
---|---|---|---|---|---|
110 | 50 | 0,78 | 0.01 | ||
105 | 100 | 0,74 | 0,02 | ||
60 | 500 | 0,70 | 0,12 | ||
30 | 1000 | 0,63 | 0,21 | ||
14 | 2000 | 0,52 | 0,35 | ||
5 | 4000 | 0,35 | 0,47 | ||
1 | 11613 | 0,18 | 0,70 |
Conclusiones En este trabajo se propuso un algoritmo para extraer términos en situaciones de crisis, aunque puede ser extendido a otros dominios. Los experimentos realizados demuestran que para el dominio de situaciones de crisis las palabras con menor variación en su contexto son las que mejor representan los términos del dominio. Como trabajo futuro nos proponemos evaluarnos con otras colecciones y otros dominios, aplicar técnicas para detectar términos multipalabras además de hacer un análisis de los errores que comete nuestro algoritmo.
Referencias
- A domain independent approach for extracting terms from research papers. pp. 155–166. Cited by: 2, p22, p35, p37.
- [2] Automatic keyword extraction on twitter. Volume 2: Short Papers, pp. 637. Cited by: p20.
- Efficient estimation of word representations in vector space. arXiv preprint arXiv:1301.3781. Cited by: p7.
- Linguistic regularities in continuous space word representations.. Vol. 13, pp. 746–751. Cited by: p7.
- CrisisLex: a lexicon for collecting and filtering microblogged communications in crises.. Cited by: p16.
- What to expect when the unexpected happens: social media communications across crises. pp. 994–1009. Cited by: p25.
- Glove: global vectors for word representation.. Vol. 14, pp. 1532–43. Cited by: p27, p7.
- EMTerms 1. 0: a terminological resource for crisis tweets. Cited by: p14, p33.
- Building a crisis management term resource for social media: the case of floods and protests.. pp. 740–747. Cited by: p18.