Un enfoque de aprendizaje automático supervisado
para el etiquetado de mensajes cortos
Francisco Berrizbeitia
Universidad ...
La aplicación obtuvolosmensajesreferentesal término“CNE” durante entre el 15 de Octubre
de 2013 al 3 de Noviembre de 2013 ...
2 Trabajos Relacionados
Mucho se ha investigadoenel campode lasredessociales,específicamente en Twitter debido
la cantidad...
4 Metodología
En estasecciónhablaremosde formamásdetalladade cada unode lospasos ejecutados en el
estudio:obtenciónde losd...
En la figura4 podemosobservar larestriccióngeográficaimpuesta,laformaesdefinida por un
punto de (latitud, longitud) en nue...
Figura 5. Ejemplo de un tuit antes y después de la eliminación de la limpieza
En la figura 5 tenemos un ejemplo del proces...
En la validación usamos la noción de cobertura, definimos que un mensaje está cubierto si
tiene al menos una de sus palabr...
En la figura 8 vemos que ambos algoritmos exhiben un comportamiento similar clasificando
correctamente alrededor del 80% d...
4. The PHP Group. PHP:Hypertex Preprocesing. [Enlínea] [Citadoel:10 de 11 de 2013.]
http://php.net/.
5. Oracle Corporation...
Próxima SlideShare
Cargando en…5
×

Un enfoque de aprendizaje automático supervisado para el etiquetado de mensajes cortos

369 visualizaciones

Publicado el

Usar los actuales paquetes de software para análisis cualitativo de texto para el trabajo con mensajes cortos resulta tremendamente tedioso dado que el etiquetado de cada mensaje debe hacerse de forma manual. En este trabajo proponemos un acercamiento basado en aprendizaje automático supervisado para reducir la carga de trabajo de esta tarea de un modo significativo.

Publicado en: Ciencias
0 comentarios
0 recomendaciones
Estadísticas
Notas
  • Sé el primero en comentar

  • Sé el primero en recomendar esto

Sin descargas
Visualizaciones
Visualizaciones totales
369
En SlideShare
0
De insertados
0
Número de insertados
12
Acciones
Compartido
0
Descargas
1
Comentarios
0
Recomendaciones
0
Insertados 0
No insertados

No hay notas en la diapositiva.

Un enfoque de aprendizaje automático supervisado para el etiquetado de mensajes cortos

  1. 1. Un enfoque de aprendizaje automático supervisado para el etiquetado de mensajes cortos Francisco Berrizbeitia Universidad Simón Bolívar fberrizbeitia@gmail.com Resumen Usar los actuales paquetes de software para análisis cualitativo de texto para el trabajo con mensajes cortos resulta tremendamente tedioso dado que el etiquetado de cada mensaje debe hacerse de forma manual. En este trabajo proponemos un acercamiento basado en aprendizaje automáticosupervisadoparareducirlacarga de trabajo de esta tarea de un modo significativo. Palabras Clave Twitter,Mineríade datos,Minería de Texto, Aprendizaje automático, Etiquetado de tuits J48, Naïve Bayes 1 Introducción La adopciónmasivade lasredessocialesporlapoblacióngeneralparacompartirsusopiniones y vivenciashageneradounaenorme cantidadde datospúblicosque puedenservir,yde hecho lo hacen, como insumo para el análisis cualitativo en estudios de opinión. Existen varios paquetescomercialesde software diseñados para realizar esta tarea como (1) (2) entre otros, enestospaqueteslosinvestigadoresdebenetiquetarmanualmentetodoslos mensajes lo que puede llegar a ser sumamente tedioso o incluso inviable si la cantidad de información recolectada es muy grande. En este trabajoproponemosunacercamientobasadoen aprendizaje automático supervisado que permitareducirconsiderablemente lacarga de trabajoenesta tarea. El métodopropuesto logra reducir el trabajo manual en un 80% ya que el etiquetado se realiza sobre una muestra (sistemática) del 20% de los mensajes. Los datosdel estudiofueronobtenidosatravésdel APIde Twitter (3) mediante unaaplicación desarrolladaenPHP (4) especialmenteparael estudio,losmensajes fueron guardados en una base de datos MYSQL (5) localmente para su posterior procesamiento.
  2. 2. La aplicación obtuvolosmensajesreferentesal término“CNE” durante entre el 15 de Octubre de 2013 al 3 de Noviembre de 2013 en Venezuela, siendo el total de mensajes de 1866. . Figura 1. Esquema general del método para usado para el tratamiento de los datos para generar el cuerpo de entrenamiento En la figura1 vemosel procesousado enel tratamientode losdatos para generarel cuerpo de entrenamiento del clasificador. Una vez obtenidos los mensajes se realizó un muestreo sistemático (6). Este conjunto de 373 mensajes fue etiquetado manualmente y luego fue sometido a un proceso de limpieza o eliminación de ruido, hecho esto y basado el acercamientode bolsade palabras(“Bag Of Words”) se convirtieron los mensajes en arreglos de palabras. Para la selección de atributos se implementó un algoritmo para minimizar la dimensionalidad de la matriz resultante basado en el criterio de cobertura. Con losdatos tratados de la formaanteriorfue posible entrenaryevaluarvarios clasificadores utilizando validación de 10 pliegues (“10 - cross fold validation”) obteniendo los mejores resultados con Naïve Bayes (80% de instancias correctamente clasificadas) y con árboles J48 (82% de instancias correctamente clasificados), en el análisis de la matriz de confusión notamos que gran parte de los problemas tiene que ver con los mensajes clasificados como SPAMy creemosque agregandoun buen filtro de SPAMen el pre procesamiento lograremos tasas de clasificación correctas superiores al 90%. El restodel artículoestá organizadode lasiguiente manera:Trabajosrelacionados,Descripción detallada de los datos, Presentación de la metodología, Trabajos futuros, Conclusiones y Referencias.
  3. 3. 2 Trabajos Relacionados Mucho se ha investigadoenel campode lasredessociales,específicamente en Twitter debido la cantidady disponibilidadde losdatosasícomo laimportanciaque tiene enel mundo actual. Se han realizados trabajos muy interesantes relacionados con clasificación de usuarios como (7) (8) que utilizan técnicas de aprendizaje automático supervisado para esta tarea. Tambiénse ha estudiadoel usode estastécnicasde aprendizajeparala detección automática de sentimientos en (9) (10) con buenos resultados. En cuanto al análisis del contenido se han publicado trabajos en cuanto a la polarización política de usuarios (11), técnicas de agrupamiento para mensajes cortos (12). 3 Descripción de los datos Un tuit es un mensaje corto que tiene a lo sumo 140 caracteres, estos mensajes pueden contenermencionesaotrosusuarios, etiquetasllamadas hashtagsyvínculos externos a otras páginaswebademásde texto.Cada tuit tiene asociadounidentificadorúnicode mensaje, y el ID del usuario que lo envía, esto nos permitió asegurarnos de no tener mensajes repetidos. Figura 2. Tuit de ejemplo tomado de la base de datos del estudio En la Figura 2 vemos un mensaje de ejemplo tomado de la base datos del estudio, podemos ver una mención a un usuario @CaraotaDigital, un hashtag #CNE, y un link. La base de datos del estudio consistió en 1866 de estos mensajes obtenidos entre el 15 de octubre y el 3 de noviembre, relacionados con el término CNE que corresponde con el acrónimo para el Consejo Nacional Electoral generados por usuarios en Venezuela.
  4. 4. 4 Metodología En estasecciónhablaremosde formamásdetalladade cada unode lospasos ejecutados en el estudio:obtenciónde losdatos, muestreo, etiquetado, limpieza, generaciónyselección de los atributos y entrenamiento del clasificador. 4.1 Obtención de los datos Para poderrealizarel estudioloprimeroque hicimosfue implementarunmódulo en PHP para obtener los tuits a través de API público de Twitter. En la Figura 3 vemos el flujo de los datos en la obtención de los mensajes. Figura 3. Esquema de la arquitectura de la aplicación para la obtención de los mensajes (Tuits) Los datos que queremos obtener debían contar con tres características: Hablar sobre el CNE, haber sido escritos desde Venezuela y en español. Esto lo hicimos haciendo una búsqueda y restringiendo la ubicación geográfica y el idioma de los tuits recuperados directamente en la consulta realizada a través del API. Figura 4. Restricción geográfica impuesta en la consulta realizada a Twitter
  5. 5. En la figura4 podemosobservar larestriccióngeográficaimpuesta,laformaesdefinida por un punto de (latitud, longitud) en nuestro caso (9.62897349763074,-67.08569313258183) y un radio que en el estudio fue de 650 km. Con esto logramos cubrir casi todo el país dejando fuera zonas poco pobladas, e incluyendo algunas islas del caribe con poblaciones bajas e idiomas distintos al español. Cada consultarealizadaescapazde recuperar hasta 1000 mensajespor vez, dado que el tema que nos interesanoestabagenerandoungranvolumende conversacióncorrimosel script una vezal día y guardamossololosnuevos.Realizandoeste proceso obtuvimos los 1866 mensajes sobre los cuales se realizó el estudio. 4.2 Muestreo Una vez obtenidoslos tuits el siguiente pasofue generar una muestra para crear el cuerpo de entrenamiento del clasificador. En este punto pudimos notar que los comentarios de los usuariossuelenllegarenrachas, es decir, un comentario realizado por un usuario influyente, genera una serie de reenvíos (“retweets” o “RT”) o comentarios originales sobre el tema introducido. Debidoaeste fenómenoconsideramosmejorrealizarunmuestreosistemático (6) donde tomamos 1/5 de los tuits comenzando por el primer mensaje de forma de obtener la mayor representatividadposible. Utilizandoeste método obtuvimos una muestra de 373 tuits para ser etiquetados manualmente y generar el cuerpo de entrenamiento. 4.3 Etiquetado Para realizar el etiquetado de los tuits se creó un módulo en PHP para facilitar esta tarea. La aplicación genera una serie de etiquetas sugeridas basadas en ocurrencia de parejas de palabras en los mensajes. Además se sugerir el módulo permite al usuario crear sus propias etiquetas. La operación de etiquetar un tuit consiste en leer en el texto y escoger de la lista la etiqueta que mejor se adapte o crear una nueva en el momento. Esto se hizo de forma manual para los 373 mensajes de la muestra obtenida y se obtuvo una clasificación en 22 etiquetas o temas de conversación sobre el CNE. 4.4 Limpieza La eliminación de ruido en minería de texto consiste en eliminar aquellas palabras que no tienen poder discriminatorio para separar los datos, como por ejemplo preposiciones, conjunciones y artículos. En el caso específico de los mensajes en Twitter debemos excluir tambiénlasmencionesaotrosusuarios,loslinks yalgunasabreviaciones de la jerga propia de la red social. Está tarea se realizó mediante un script de PHP.
  6. 6. Figura 5. Ejemplo de un tuit antes y después de la eliminación de la limpieza En la figura 5 tenemos un ejemplo del proceso de eliminación de ruido de los mensajes, podemosvercómonos quedamosúnicamente conaquellaspalabras que tienen mayor poder discriminatorio desechando todo los demás. 4.5 Generación y selección de atributos Con los mensajes limpios y etiquetados la siguiente tarea consistió en transformar los mensajes en vectores siguiendo el modelo de bolsa de palabras o “Bag of Words” (13). La mayor dificultad consiste en la correcta elección de las palabras que van a formar el diccionario, si tomamos todas la palabras terminaríamos con demasiadas dimensiones y si tomamos muy pocas no sería posible clasificar a muchos de los mensajes. Figura 6. Proceso de selección de atributos Para escogerlaspalabrasde diccionariooatributosimplementamos un algoritmo en PHP que podemosverenlafigura6. Comovemos en proceso tiene dos partes: Selección y Validación. La selección se realiza contando las ocurrencias de todas las palabras en cuerpo de entrenamiento y seleccionando aquellas cuyo número de ocurrencias sea mayor que un umbral especificado, mientras mayor sea el umbral menor será la cantidad de atributos seleccionados.
  7. 7. En la validación usamos la noción de cobertura, definimos que un mensaje está cubierto si tiene al menos una de sus palabras en el diccionario y que está bien cubierto si contiene al menos dos de las palabras seleccionadas. La ideaesbuscarun compromisorazonable entre el número de atributos (dimesionalidad) y cobertura. A mayor cobertura mayor dimensionalidad y viceversa. En nuestro caso nos quedamos con una cobertura del 97% y una cobertura buena del 84%, los mensajes no cubiertos fueron tratados como casos atípicos y dejados fuera del cuerpo de entrenamiento, esto fuero logrado con un diccionario de 196 palabras. Figura 7. Parte de la tabla resultante del proceso de generación y selección de atributos Al final de estaetapaobtenemos unatablacomola figura7 donde lostuitsson convertidos en un vectorde ceros y unos,donde cerorepresentaque la palabra no se encuentra presente en el mensaje y uno que sí. La primera columna de la tabla representa la clase. 4.6 Entrenamiento del clasificador En este estudio entrenamos dos clasificadores diferentes con los mismos datos y usado la misma técnica de validación de 10 pliegues (“10 fold cross validation”). Los algoritmos probados fueron Naïve Bayes y árbol J48. Para esta tarea utilizamos WEKA (14) por la facilidad de uso, la amplia documentación disponible y ser distribuido bajo licencia “GNU general public license”. Figura 8. Resultado después de entrenar y validar ambos algoritmos
  8. 8. En la figura 8 vemos que ambos algoritmos exhiben un comportamiento similar clasificando correctamente alrededor del 80% de los mensajes, resultando un poco superior J48. Figura 9. Matriz de confusión para Naïve Bayes Analizando la matriz de confusión de la figura 9 correspondiente a algoritmo Naïve Bayes, notamos que la mayoría de las clasificaciones erróneas están relacionadas con la etiqueta SPAM, esta dificultad es coherente con las observaciones de (8). El clasificador de árbol J48 tiene un comportamiento muy similar. Vistoesto creemosque agregarunfiltroanti SPAMcomoel propuestoen (8) pudiera tener un impacto positivo y elevar la tasa de clasificaciones correctas. 6 Conclusiones En este estudio logramos definir un método que utiliza técnicas de aprendizaje supervisado para reducir la carga de trabajo manual en el etiquetado de mensajes cortos proveniente de Twitter para su uso en análisis cualitativo. Nuestros resultados muestran que es posible lograr una efectividad superior al 80% en las clasificaciones correctas utilizando el método descrito en este artículo. Igualmente creemos que incluirunpasoprevioque separe el SPAMde losmensajesverdaderosde podrá aumentar significativamente la efectividad del clasificador. Referencias 1. MAXQDA. MAXQDA.[Enlínea] [Citadoel:2 de 1 de 2014.] http://www.maxqda.com. 2. Bitext Innovations,S.L. Bittext.com.[Enlínea] [Citadoel:2de 1 de 2013.] http://www.bitext.com/. 3. Twitter. Twitter.com.[Enlínea] [Citadoel:10 de 11 de 2013.] https://dev.twitter.com/.
  9. 9. 4. The PHP Group. PHP:Hypertex Preprocesing. [Enlínea] [Citadoel:10 de 11 de 2013.] http://php.net/. 5. Oracle Corporation and/or its affiliates. MYSQL.[En línea] [Citadoel:3 de 1 de 2014.] http://www.mysql.com/about/. 6. Wikipedia.[Enlínea] [Citadoel:3 de 1 de 2014.] http://es.wikipedia.org/wiki/Muestreo_(estad%C3%ADstica)#Muestreo_sistem.C3.A1tico. 7. Pennacchiotti,Marco y Popescu,Ana-Maria. A Machine LearningApproachtoTwitterUser Classification. Proceedingsof theFifthInternationalAAAIConferenceon Weblogsand Social Media. Barcelona: s.n.,2011. 8. Benevenuto,Fabrício,y otros, y otros. DetectingSpammersonTwitter. CEAS2010 Seventh annualCollaboration,Electronicmessaging,AntiAbuseand SpamConference. Redmond, Washington,US : s.n.,2010. 9. Pak, AlexanderyParoubek, Patrick. Twitteras a Corpusfor SentimentAnalysisandOpinion Mining. Proceedingsof LREC. 2010. 10. Barbosa, Luciano y Feng,Junlan. RobustSentimentDetectiononTwitterfromBiasedand NoisyData. Coling 2010. Beijing:s.n.,2010. 11. Conover,M. D., y otros, y otros. Political PolarizationonTwitter. Proceedingsof theFifth InternationalAAAIConferenceon Weblogsand SocialMedia. Barcelona: s.n.,2011. 12. Karandikar, Anand. Clusteringshortstatusmessages:A topicmodel basedapproach. GraduateThesis. 2010. 13. Wikipedia.Bag-Of-WordsModel.[En línea] [Citadoel:4de 1 de 2014.] http://en.wikipedia.org/wiki/Bag-of-words_model. 14. UniversityOfWaikato. Weka3: Data MiningSoftware inJava. [En línea] [Citadoel:4de 1 de 2014.] http://www.cs.waikato.ac.nz/ml/weka/index.html.

×