Showing posts with label Machine Learning. Show all posts
Showing posts with label Machine Learning. Show all posts

Friday, March 22, 2013

Survey of Data Mining Approaches to User Modeling for Adaptive Hypermedia

Los modelos de usuario pueden ser creados ya sea dirigidos por el usuario (los modelos son creados directamente en base a información que el usuario proporciona directamente) o en un enfoque automático (el sistema controla el proceso de creación del modelo de usuario de manera oculta). Se tienen dos conjuntos de características, primero los adaptables que deben reducirse al mínimo (edad, género, color favorito, etc.) y segundo, los adaptivos que deben ser creados por un proceso de aprendizaje (temas favoritos, patrones de comportamiento, etc.)

Se mencionan como sitios importantes para User Modeling:

  • User Modeling and User-Adapted Interaction.
  • International Conference on User Modeling.
  • IEEE Transactions on Neural Networks.
  • Workshop of Intelligent Techniques for Web Personalization (part of IJCAI International Joint Conference of Artificial Intelligence).
  • International Workshop on Knowledge Discovery on the WEB (WEBKDD, part of the ACM SIGKDD).

Primero, queda definido el modelado del usuario como un conjunto de estructuras de información diseñadas para representar al menos uno de los siguientes elementos:

  • Representación de objetivos, planes, preferencias, tareas o habilidades de uno o más tipos de usuarios.
  • Representación de características comunes relevantes de usuarios pertenecientes a subgrupos de usuarios o estereotipos específicos.
  • Clasificación del usuario en uno o más subgrupos o estereotipos.
  • Almacenamiento del comportamiento del usuario.
  • Formación de suposiciones sobre el usuario basado en su historial.
  • Generalización de historiales de interacción de muchos usuarios en los grupos.

El proceso básico para la generación automática del modelo de usuario es la siguiente:

  1. Recolección de datos
  2. Pre-procesamiento/extracción de información
  3. Descubrimiento de patrones
  4. Validación e interpretación

La siguiente figura ilustra el proceso:

image

Algunos de los retos al llevar a cabo el modelado de usuario son: se requieren grandes cantidades de datos, etiquetar los datos para el aprendizaje supervisado y la complejidad computacional. Dependiendo de la técnica de aprendizaje empleada, se capturan distintas relaciones entre los datos. Se debe localizar qué patrones deben ser capturados para crear un servicio adaptivo.

A lo largo del artículo se analizan técnicas de aprendizaje no supervisado y de aprendizaje supervisado empleadas para el modelado de usuario.

Aprendizaje no supervisado

a) Clustering

Primero inicia con clustering que trata de estructurar un conjunto de instancias sin clasificar creando conceptos basado en las similitudes de los datos. Los conceptos encontrados deben cubrir a todos los datos y se deben de asegurar que la similitud de los ejemplos dentro de un concepto sea maximizada mientras que la similitud entre ejemplos de distintos conceptos sea minimizada. Se puede llevar a cabo hard-clustering y fuzzy-clustering. En el primero, cada ejemplo sólo puede pertenecer a un concepto. En el segundo, los ejemplos pueden pertenecer a más de un concepto y se lleva registro de un grado de pertenencia.

Los algoritmos de hard-clustering se pueden clasificar en jerárquicos y no jerárquicos. Los primeros consisten en crear una estructura jerárquica (como un árbol) resultando en una serie de particiones anidadas. Los no jerárquicos también se les conocen como particionales y obtienen un número en particular de clusters en un solo paso.

Los principales algoritmos no jerárquicos son: k-means y self-organizing maps (SOM). Por otra parte, los algoritmos no jerárquicos tienen problemas trabajando con ejemplos multidimensionales debido a que constantemente no se cuentan con suficientes datos para hacer relevantes a todas las relaciones, debido a esto se crearon los algoritmos jerárquicos. Existen dos tipos de algoritmos jerárquicos: aglomerantes y divisivos. La diferencia entre ambos es que los aglomerantes crean una jerarquía de abajo hacia arriba (bottom-up) mientras que los divisivos crean una contraria (top-down). De manera general, se menciona que los divisivos son menos eficientes computacionalmente.

Para los algoritmos difusos (fuzzy), el principal es conocido como fuzzy C-means. La técnica es muy parecida a k-means pero se guarda una matriz de pertenencia que asocia a cada ejemplo a un cluster con cierto grado.

Las dos áreas de clustering mencionadas son: clusters de uso y clusters de páginas. El primero, establece grupos de usuarios con patrones de navegación similares. El conocimiento obtenido se ha usado para inferir perfiles demográficos para llevar a cabo segmentaciones de mercado para aplicaciones de comercio electrónico o para contenido en web personalizado. El segundo tipo, descubre grupos de páginas con contenido relacionado. Esta información es usada en motores de búsqueda y proveedores de asistencia en web. Por el lado de UM, la característica principal es que se usan valores no numéricos por lo que se obtienen mayormente datos relacionales.

El principal problema para la aplicación de clustering es el decidir qué concepto de distancia será utilizado. En general, se requiere de un conocimiento del problema para definirlo. En el caso de UM, el problema es que los valores presentados no son numéricos por lo que las representaciones hechas tienden a perder parte del significado semántico original. Por otra parte, los algoritmos no jerárquicos asumen que se conoce de antemano el número de grupos y siendo que en general esto no ocurre, se deben aplicar heurísticas para determinarlo. Por último, se menciona que no se han explotado por completo los usos de los algoritmos difusos.

La siguiente tabla muestra algunos modelos de usuarios basados en clustering:

image

Por otra parte la siguiente tabla muestra algunos ejemplos de fuzzy clustering:

image

b) Reglas de asociación

Una de las principales aplicaciones es la captura de páginas accedidas en conjunto. Normalmente se emplean para tareas de recomendación. La principal limitante consiste en que no capturan la secuencialidad de antecedente y consecuente además de la información sobre temporalidad. La secuencialidad captura el orden en que un usuario lleva a cabo un conjunto de acciones que permite predecir el consecuente que se presentará al tener una acción actual. La temporalidad sirve para no sólo predecir una acción sino el momento en que se llevará a cabo. La siguiente tabla muestra algunos ejemplos de aplicaciones:

image

Aprendizaje supervisado

a) Árboles de decisión / Reglas de clasificación

Se emplean para clasificar usuarios y/o documentos para propósito de personalizar la información presentada. Los árboles pueden lidiar con datos con errores o con parámetros faltantes. Los árboles se emplean típicamente para labores de clasificación y para implementar tareas de recomendación. Las reglas de clasificación se emplean para modelar el comportamiento del usuario. Una de las principales limitantes radica en que se depende enteramente de la calidad de los datos disponibles. En problemas multidimensionales, el tiempo de respuesta de los árboles puede ser muy grande. Algunos ejemplos del uso árboles se muestra en la siguiente tabla:

image

Por otro lado, la siguiente tabla muestra el uso de reglas de clasificación para UM:

image

b) KNN

Este tipo de algoritmos se emplea efectivamente para labores de recomendación de elementos nuevos basado en el comportamiento previo del usuario. Sin embargo, al ser un algoritmo de clasificación, también puede ser usado para esa tarea, principalmente para inicializar de cierta forma a un nuevo usuario. Las principales limitantes son las dependencias de los resultados respecto al valor de k y la métrica elegida. En general, se requiere experimentación y conocimiento sobre el funcionamiento del sistema para llevar a cabo la elección. El valor de k debe ser grande para ser más tolerante al ruido (que se presenta constantemente en el caso de los datos para UM). Sin embargo, el incrementar el valor de k, también implica un incremento en el tiempo para computar. Algunos ejemplos que han usado estos algoritmos se muestran en la siguiente tabla:

image

c) Redes neuronales

Estas redes son capaces de obtener un significado de datos imprecisos o complejos. No se requiere de la definición de una métrica. Se han empleado para clasificación y recomendación de forma que agrupan a los usuarios con características similares creando así perfiles y estereotipos. La principal ventaja para usar este tipo de algoritmos es que no requieren ningún tipo de heurística. Las principales desventajas son el tiempo requerido para el entrenamiento y la cantidad de datos requerida. El tiempo de entrenamiento es un impedimento para la creación de modelos dinámicos. La siguiente tabla muestra algunas aplicaciones:

image

d) Máquinas de soporte vectorial (SVM)

Debido a su capacidad para trabajar con datos multidimensionales, se emplean clasificar documentos para personalizar las recomendaciones en los motores de búsqueda. También se han usado para labores de clasificación. La principal limitación es la selección del kernel para el clasificador. Aunque existen algunos predefinidos que sirven para varios tipos de aplicaciones, se recomienda crear uno específico. Hasta el momento de la escritura de este artículo, solo se había empleado SVM en documentos y no directamente en los usuarios. Algunos ejemplos se muestran en la siguiente tabla:

image

Las características principales de los métodos revisados se conjuntan en la siguiente tabla:

image

En general, este artículo es un buen punto de partida pero ya es un tanto viejo por lo que hace falta ver las aplicaciones que se han hecho a partir de su escritura.

Frias-Martinez, E., Chen, S. Y., & Liu, X. (2006). Survey of data mining approaches to user modeling for adaptive hypermedia. IEEE Transactions on Systems, Man, and Cybernetics, Part C: Applications and Reviews, 36(6), 734–749. doi:10.1109/TSMCC.2006.879391

Friday, February 1, 2013

A survey of opinion mining and sentiment analysis

Se trata de un artículo que habla de los aspectos fundamentales y más recientes de opinion mining y sentiment analysis. Para empezar, se trata la definición de una entidad. Una entidad e es un producto, servicio, persona, organización o tema. Se asocia a un par, e : (T,W), donde T es una jerarquía de componentes o partes y subcomponentes, mientras que W es el conjunto de atributos de e. Cada componente o subcomponente tiene un conjunto de atributos propio.

Basados en la definición de una entidad, esta es representada como un árbol o una jerarquía, la raíz es el nombre de la entidad, cada nodo que no es raíz es un componente o subcomponente de la entidad. Cada enlace representa una relación del tipo “parte de”. Cada nodo tiene un conjunto de atributos asociado. Una opinión puede ser expresada sobre cualquier nodo o atributo de un nodo. Para simplificar, se tiende a reducir a sólo dos niveles el árbol, juntando a componentes y atributos en un solo término: aspectos.

Se tienen dos tipos de opiniones: regulares (o normales) y comparativas. Las opiniones normales son frecuentemente referidas como opiniones, hablan sobre una entidad. Las opiniones comparativas expresan la relación de similitudes o diferencias entre dos o más entidades y/o la preferencia del autor de la opinión basado en alguna de los aspectos compartidos entre las entidades.

Para fines prácticos, si sólo se habla de opiniones, se refieren a opiniones regulares a menos que se indique explícitamente que son comparativas. Una opinión es un sentimiento, actitud, emoción o valoración positiva o negativa sobre una entidad o un aspecto de una entidad por parte de un autor de opinión. Las orientaciones de las opiniones (polaridades) pueden ser positivas, negativas o neutrales.

Una opinión es una quíntupla (ei, aij, ooijkl, hk, tl) donde ei es la entidad, aij es un aspecto de la entidad ei, ooijkl, es la orientación de la opinión sobre el aspecto aij de la entidad ei, hk es el autor de la opinión y tl es el tiempo cuando la opinión fue expresada por hk. La orientación ooijkl puede ser positiva, negativa o neutral, o ser expresada en niveles de fuerza o intensidad. Cuando una opinión es expresada sobre la entidad como un todo, el aspecto queda denominado como GENERAL.

Dependiendo de la aplicación, es posible no requerir de los cinco elementos. Por ejemplo, si se requiere analizar y resumir las opiniones de una gran cantidad de personas, el conocer el autor de cada opinión puede no ser necesario. Por otra parte, se pueden agregar datos complementarios dependiendo del enfoque del estudio.

Para descubrir las opiniones en un conjunto de documentos D, se llevan a cabo las siguientes tareas:

  • Extraer todas las expresiones de entidades en D y agrupar las que sean similares en clusters de entidades. Cada cluster refleja una entidad única.
  • Extraer todas las expresiones de aspectos de las entidades y agruparlos en clusters. Cada cluster representa un aspecto único de una entidad.
  • Extraer los datos sobre el autor de la opinión y el tiempo en que fue expresada.
  • Determinar la polaridad de cada opinión (positiva, negativa o neutral).
  • Producir las quíntuplas correspondientes a cada documento en D con la información obtenida de los pasos anteriores.

Debido a que la mayoría de aplicaciones requieren el análisis de una gran cantidad de opiniones, es provechoso obtener un resumen de opiniones. El resumen se puede crear a partir de las quíntuplas obtenidas y puede tener un enfoque cuantitativo o cualitativo. Un ejemplo se muestra en la siguiente figura:

image

Se mencionan las áreas de estudio más prominentes tanto de opinion mining como de sentiment analysis.

Document Sentiment Classification

Se trata de la clasificación de un documento de opinión como una opinión o sentimiento positiva o negativa. Se considera a todo el documento como unidad básica de información. Siguiendo la definición propuesta de quíntuplas, se debe determinar la orientación oo del documento en el aspecto GENERAL quedando algo del estilo (e, GENERAL, oo, h, t) donde e, h y t pueden considerarse como conocidas o irrelevantes.

En este tipo de clasificación, se asume que el documento exhibe una opinión sobre una sola entidad y que viene de un mismo autor. Este tipo de documentos se encuentran en reseñas debido a que hablan sobre un producto (entidad) en particular y normalmente son escritas por la misma persona. El enfoque falla en otros medios como blogs o foros porque los autores tienden a expresar opiniones sobre múltiples productos y frecuentemente los comparan entre sí. La mayoría de métodos existentes se basan en aprendizaje supervisado aunque también existen enfoques no supervisados.

Para empezar, la clasificación utilizando aprendizaje supervisado se da de manera natural ya que se tienen previamente las tres clases que se utilizan (negativa, positiva y neutral). Se menciona que todos los métodos de aprendizaje supervisado pueden ser utilizados y por ejemplo se pone a la clasificación con naive Bayes y SVM.

Algunas de las características importantes obtenidas mediante la aplicación de estas técnicas son:

  • Términos y su frecuencia: Se emplean palabras individuales o n-grams y la frecuencia en que se presentan. En algunos casos se toma en cuenta también la posición que ocupa la palabra en la oración. En otros casos, se han introducido técnicas como TF-IDF.
  • Part of Speech (POS): En varias investigaciones se han identificado a los adjetivos como indicadores importantes de las opiniones por lo que se tratan como un rasgo especial.
  • Palabras y frases de opinión: Son palabras que son frecuentemente empleadas para expresar una opinión. Aunque muchas palabras son adjetivos y adverbios, se encuentran también sustantivos (rubbish, junk, crap) y verbos (hate, like) que también indican una opinión. Aparte de las palabras, se encuentran frases completas (cost someone an arm and a leg).
  • Negaciones: Las palabras que expresan una negación pueden cambiar por completo el sentido de una opinión pero se deben cuidar ya que dependiendo del contexto pueden no alterar el sentido original de lo expresado.
  • Dependencia sintáctica: Se han intentado tomar la dependencia entre palabras generadas por el análisis sintáctico (parsing) o por árboles de dependencia.

Otra área mencionada es la transferencia de aprendizaje o adaptación de dominio debido a que se ha demostrado que la clasificación de sentimientos es altamente dependiente al dominio de donde se extrajeron los datos de entrenamiento. Los clasificadores entrenados en un dominio suelen tener malos resultados cuando son probados con documentos de otro distinto. Esto es debido a que las palabras e incluso el lenguaje que rodea a un dominio puede ser completamente distinto (y a veces opuesto) al de otro. Los avances actuales han intentado usar datos etiquetados de un dominio, datos sin etiquetar de otro y palabras genéricas de opinión para proveer cierta adaptación.

Siendo que las palabras de opinión y sus frases respectivas de cierta forma dominan el estudio de la clasificación de sentimientos, también se ha tratado de emplear un enfoque no supervisado sobre estas características.

En resumen, la clasificación de sentimiento a nivel de documento brinda una opinión prevaleciente sobre una entidad, tema o evento. La principal desventaja es que no da detalles sobre lo que la gente le gustó o disgustó y no es aplicable a todos los textos sobre todo si contienen opiniones comparativas.

Sentence Subjetivity and Sentiment Classification

Esta es la aplicación de la clasificación de sentimiento (similar a la de nivel de documento) aplicada a oraciones individuales. El clasificar una oración como objetiva o subjetiva se le llama clasificación de subjetividad (subjetivity classification). Las oraciones subjetivas resultantes se clasifican como positivas o negativas según la opinión que expresan y a esto se le denomina clasificación de sentimiento a nivel de oración (sentence-level sentiment classification). Debido a que son problemas de clasificación, nuevamente se han empleado comúnmente técnicas de aprendizaje supervisado para ambas partes del problema.

El estudio de este nivel se basa tanto en la clasificación de subjetividad como en el de sentimiento. La principal suposición que se encuentra en este tipo de clasificación es que una oración expresa una sola opinión y proviene de un solo autor. Esta suposición se apega a las oraciones sencillas pero en otras de tipo compuesto, donde se presentan varias ideas u opiniones, entra en un conflicto.

Otro problema que se toca en uno de los artículos citados en el texto, indica que no sólo se pueden encontrar múltiples opiniones en una oración sino que también una mezcla entre cláusulas subjetivas y factuales. Uno de los estudios incluyó la fuerza de las opiniones empleando cuatro niveles (neutral, low, medium, high). La fuerza neutral indica la ausencia de una opinión o de subjetividad. Este tipo de clasificación también ayuda a evitar el paso previo (distinguir entre oraciones objetivas y subjetivas). También se menciona que identificar cláusulas no siempre es suficiente ya que hay ocasiones en que las opiniones pueden venir dentro de frases como: “Apple is doing very well in this terrible economy”, en donde Apple tiene una opinión positiva y la economía una negativa.

Los estudios se han basado en oraciones encontradas en reseñas y discusiones en foros, correos y grupos de noticias. En las discusiones, no sólo se plantea una opinión sino que se interactúa con otros usuarios por lo que se pueden producir varios argumentos altamente emocionales. Un caso tomó en cuenta este asunto y trató de diferenciar las opiniones que realmente iban dirigidas a una entidad y otras que eran influenciadas por la discusión (oraciones que sólo se presentaban por atacar a otro usuario).

Para finalizar este punto, se menciona que se debe tener en cuenta que no todas las oraciones subjetivas contienen opiniones y que este tipo de oraciones es sólo un subconjunto del universo de oraciones que expresan una opinión. Muchas de las oraciones objetivas llevan una opinión implícita por lo que se deben tomar en cuenta los dos tipos de oraciones.

Generación del léxico de opinión

El léxico de opinión es el conjunto de palabras y frases que permiten identificar una opinión y su polaridad. La generación de este conjunto se lleva comúnmente a cabo de manera previa a las clasificaciones. Para formar este conjunto se tienen dos tendencias:

§ Basado en diccionarios: se comienza con un conjunto semilla de palabras de opinión escritas manualmente y se busca en diccionarios en línea por sinónimos y antónimos. Se vuelve un proceso iterativo que se detiene cuando no se encuentran nuevos términos. Sin embargo, este proceso no toma en cuenta palabras con dominio y una orientación de contexto específica.

§ Basado en corpus y consistencia de sentimiento: Los métodos basados en corpus dependen de patrones sintácticos o de co-ocurrencia, también inician con un conjunto semilla de palabras de opinión que son usadas para encontrar otras en el corpus. La consistencia de sentimiento se encarga, en base a restricciones lingüísticas y convenciones en términos conectores, de determinar si los adjetivos y palabras de opinión tienen la misma o distinta orientación. Existen casos en que la consistencia de sentimiento se ve afectada dentro de un mismo dominio siendo que una palabra puede tomar ambas connotaciones (como ejemplo se pone en las cámaras la palabra “long” y las oraciones: “The battery life is long” y “The time taken to focus is long”). Uno de los métodos propuestos asocia la palabra de opinión al aspecto para intentar lidiar con este problema. El principal problema de emplear este enfoque basado en corpus radica en que es difícil conjuntar un cuerpo de texto que acumule todas las palabras que se puedan presentar.

Aspect-Based Sentiment Analysis

La clasificación de opiniones a nivel de documento o de oraciones no siempre es lo que se requiere para aplicaciones en específico. En muchas ocasiones, se desea obtener la opinión de una entidad y todos sus aspectos correspondientes, algo que las clasificaciones anteriores no permiten llevar a cabo. Para llevar a cabo un análisis basado en aspectos, los estudios se centran en dos partes de la construcción del modelo de la quíntupla: la extracción de aspectos y la clasificación de sentimiento del aspecto.

Aspect Sentiment Classification

En principio, muchos de los métodos usados en la clasificación a nivel de oraciones pueden ser empleados aquí. Sin embargo, recordando los problemas que presentan en oraciones compuestas conllevan a que se requiera un análisis más a detalle. El análisis a nivel de cláusulas requiere además un mecanismo de identificación de cláusulas que por sí mismo conlleva un reto debido al carácter informal del texto analizado y a que está lleno de errores gramaticales.

Uno de los estudios que mejores resultados ha arrojado se encuentra basado en el léxico. El proceso que lleva a cabo es el siguiente (se asume que las entidades y los aspectos son conocidos):

  1. Marcar frases y palabras de opinión
  2. Identificar cambiadores de orientación o sentido (negaciones, sarcasmo)
  3. Manejo de cláusulas con pero (but-clauses)
  4. Agregación de opiniones

El principal problema con este algoritmo es que no cubre todos los tipos de expresiones que expresan o implican una opinión. Se presentan una serie de reglas para identificar las opiniones pero se señala que no son suficientes.

Aspect Extraction

Los aportes sobre la extracción de aspectos se basan principalmente en las reseñas encontradas en línea. Se emplean métodos no supervisados y se mencionan algunos sencillos como el primero que solo emplea dos pasos:

  • Encontrar sustantivos y frases nominales frecuentes: Al examinar varios textos que hablan sobre una entidad, el vocabulario que se emplea tiende a converger por lo que los sustantivos encontrados son frecuentemente aspectos genuinos de la entidad.
  • Encontrar aspectos poco frecuentes al explotar las relaciones entre los aspectos y las palabras de opinión: Se sigue el entendimiento que una misma palabra de opinión puede ser empleada para describir o modificar distintos aspectos. Entonces, si una palabra se encuentra modificando un aspecto común, es posible que se pueda encontrar también afectando a uno poco frecuente.

Se mencionan (sólo por nombre) otros métodos que incluyen CRF (Conditional Random Fields), HMM (Hidden Markov Models) y Sequential Rule Mining para llevar a cabo este proceso.

Otros métodos proponen la extracción simultánea del léxico de opinión y los aspectos de las entidades al explotar las relaciones sintácticas que existen entre ellos. Este tipo de enfoque requiere de nuevo un conjunto semilla de palabras de opinión pero nada en cuanto a aspectos. El proceso básico que se lleva a cabo es el siguiente:

  • Extracción de aspectos usando palabras de opinión
  • Extracción de aspectos usando los aspectos extraídos
  • Extracción de palabras de opinión usando los aspectos extraídos
  • Extracción de palabras de opinión usando las palabras de opinión dadas en inicio y las extraídas.

Mining Comparative Opinions

Las comparaciones entre entidades son una manera de expresar una opinión (sea positiva o negativa) de manera distinta a una expresión directa. Se agrupan las relaciones de comparación en los siguientes tipos:

  • Non-equal gradable comparisons: Comparaciones del tipo mayor que y menor que, respecto a un aspecto compartido entre dos entidades.
  • Equative comparisons: Comparaciones del tipo igual que, en aspectos compartidos por dos entidades.
  • Superlative comparisons: Comparaciones de mayor que o menor que, respecto al resto de entidades existentes (mejor que todos, peor que todos).
  • Non-gradable comparisons: Comparaciones entre dos o más entidades sin una calificación (la Coca sabe distinta a la Pepsi).

El principal aporte de este tipo de comparaciones es el conocer la entidad preferida por el autor al comparar las características compartidas por las entidades en cuestión.

Otros problemas

Se mencionan la siguiente serie de dificultades que se pueden presentar en el proceso de llevar a cabo la minería de opinión.

  • Extracción de entidades, autor de la opinión y el tiempo en que fue expresada la opinión: La extracción de entidades es la que supone un mayor problema debido a que no siempre se escriben de la misma manera las entidades aunque se haga referencia a una misma (por ejemplo Motorola se llega a escribir como Moto o como Mot).
  • Implicación de sentimientos en expresiones objetivas: La mayor parte de las investigaciones se basan en la parte subjetiva de los textos debido a que se cree que llevan casi todas las opiniones, sin embargo, hay una gran cantidad de documentos y oraciones que expresan aspectos de una entidad con alguna connotación (positiva o negativa) de forma objetiva. Por ejemplo, se menciona una oración que dice: “Después de un mes, se formó un hueco a la mitad del colchón”. Mientras que es una oración objetiva, el hueco indica la calidad del colchón e implica una opinión negativa. Este tipo de situaciones es muy difícil de identificar ya que muchas expresiones requieren de uso del sentido común o un conocimiento profundo del mundo del dominio.
  • Agrupamiento de las expresiones de aspectos que hablan sobre un mismo aspecto: Existen muchas ocasiones en que las personas emplean distintas palabras para hablar sobre un mismo aspecto. Por ejemplo se menciona que foto e imagen se pueden referir a lo mismo en el contexto de las reseñas de cámaras digitales.
  • Mapeo de expresiones implícitas de aspectos: Algunas expresiones pueden referirse a un aspecto si no se presentan con un contexto pero eso no implica que siempre se refieran al mismo. Se pone como ejemplo pesado, normalmente se refiere a peso pero si se encuentra en una oración como: el tráfico está pesado, entonces no se describe el aspecto correspondiente al peso del tráfico.
  • Resolución de co-referencia: Se plantean dos ejemplos para este problema. El primero es el siguiente: “La cámara de Sony es mejor que la cámara de Canon. También es barata.” Se debe identificar que se la segunda oración se refiere a la cámara de Sony debido a que la opinión expresada es positiva y dado que en la primer oración se refiere a la cámara de Sony con una connotación similar, por consistencia así debe ser. El segundo ejemplo dice algo como: “La calidad de imagen en la cámara Canon es muy buena. Tampoco es cara”. Se debe ser capaz de inferir que la segunda oración debe referirse a la cámara Canon y no a la calidad de imagen (ya que no tendría sentido) por lo que el sistema debe conocer que palabras de opinión están usualmente asociadas a las entidades y/o aspectos.
  • Cross lingual opinion mining: Este tipo de investigación o problema se refiere a llevar a cabo la minería de opinión en cuerpos de lenguas distintas. Esto se lleva a cabo debido a que para ciertos idiomas no es posible (debido a que muchas veces no existe) encontrar un corpus suficientemente grande sobre un tema para llevar a cabo la minería.

Opinion Spam Detection

Para muchas personas, el encontrar y revisar opiniones en línea se ha vuelto una costumbre para varios propósitos. Las empresas pueden obtener grandes pérdidas o ganancias si los consumidores basan sus decisiones de compra en las reseñas encontradas en línea.

Es debido a esto que una de las vertientes de estas investigaciones se encuentra dirigida a la identificación de spam entre las opiniones encontradas en línea.

Se utilizan técnicas de aprendizaje supervisado, análisis de comportamiento anormal o algoritmos de detección de grupos dedicados a estas actividades. La principal diferencia con los temas previamente mencionados es que el patrón que se busca no consiste en evaluar las opiniones por su polaridad sino detectar un posible fraude o amañamiento de las reseñas en línea de las cuales se pueda sacar un provecho que no sea ético.

Utility of Reviews

Otra vertiente que se ha seguido en años recientes es determinar la utilidad para el usuario de una reseña. Mientras que muchos sitios lo llevan a cabo de manera manual al preguntar directamente a los usuarios si la reseña les fue útil, el determinarlo automáticamente puede ayudar a reseñas que tengan poca o nula retroalimentación.

Se menciona que los datos empleados para este tipo de investigaciones son los mismos proporcionados por los usuarios y normalmente se trata como un problema de regresión.

En conclusión el artículo muestra una buena introducción a minería de opinión y cuenta con una buena cantidad de referencias que ayudan para lograr encontrar las mayores áreas de oportunidad en este rubro.

Liu, B., & Zhang, L. (2012). A Survey of Opinion Mining and Sentiment Analysis. Mining Text Data (pp. 415–463). doi:10.1007/978-1-4614-3223-4_13

Friday, January 25, 2013

Sentiment Analyzer: Extracting Sentiments about a Given Topic using Natural Language Processing Techniques

Este artículo busca encontrar el análisis de opinión de documentos pero tomando en cuenta las partes que lo componen y no solo dando una calificación general. Las principales características son: extracción de características específicas de un tema, extracción de opinión de cada frase que contenga una opinión expresada y creación de una asociación entre temas o características y su opinión correspondiente.

Primero se extraen los términos que indican una característica de lo que se habla. Para validarlo debe cumplir con alguna de las siguientes relaciones: ser una parte del tema dado, ser un atributo del tema o ser un atributo de una característica conocida del tema. En la siguiente figura, se remarcan en negritas los términos que se pretenden extraer:

image

Al revisar las características que se desean analizar, se dieron cuenta que todas corresponden a sustantivos por lo que definieron una serie de reglas que permitan elegirlos detalladamente. Primero se toman en cuenta sustantivos y adjetivos que deben cumplir con las siguientes formas: NN, NN NN, JJ NN, NN NN NN, JJ NN NN, JJ JJ NN en donde NN corresponde a un sustantivo y JJ a un adjetivo, estas formas las denominan como BNP (Base Noun Phrase). Después se considera el uso de las dBNP (Definite Base Noun Phrase) que son fragmentos que cumplen el formato de las BNP pero que van precedidas del artículo definitivo “the”. Debido a que en el texto se está hablando de un tema en particular, los dBNP no requieren mayor información contextual por lo que se puede conocer gracias a fragmentos como “the battery” que se está hablando de la batería de una cámara digital. Por último se definieron a los bBNP (Beginning Definite Base Noun Phrase) que son un dBNP al inicio de una oración y seguidos de un verbo. Esta heurística permite determinar el cambio de enfoque del objeto de un sustantivo a otro.

Para seleccionar las características emplearon dos modelos:

  • Mixture Language Model: Se considera el modelo del lenguaje como una mezcla de un lenguaje general de la web y un modelo de lenguaje específico.
  • Likelihood Ratio: Se calcula la probabilidad de un término a pertenecer a un conjunto de documentos de un tema y la probabilidad de pertenercer a un conjunto de documentos que no son de dicho tema.

Las pruebas se hicieron en el dominio de las reseñas de cámaras digitales y de música. El conjunto D+ habla del tema mientras que el conjunto D- habla de cosas específicamente que no corresponden al tema. La siguiente figura muestra la composición del dataset empleado:

image

Los resultados de la extracción se muestran a continuación:

image

Para el análisis de opinión, extrajeron 3000 términos que incluyen 2500 adjetivos y 500 sustantivos. El análisis de opinión lo basan en la desviación del estado neutral, ya sea positivo o negativo. La base creada tiene el formato: <lexical_entry> <POS> <sent_category> y un ejemplo de un registro es: "excellent" JJ +.

Por otro lado, se definieron patrones de opinión que describen el sentimiento reflejado en la oración en un formato único que consiste en lo siguiente: <predicate> <sent_category> <target> donde predicate es normalmente un verbo, sent_category es +|- (~ para negación) y su fuente (SP|OP|CP|PP – sujeto, objeto, complemento (o adjetivo) y frases preposicionales) y por último target (SP|OP|CP) es sobre quien recae la opinión. Algunos verbos no tienen una connotación positiva ni negativa. La siguiente figura muestra algunos ejemplos de estos patrones:

image

La primera prueba que se realizó fue basada en las reseñas de cámaras y música y se comparó contra un algoritmo estadístico de análisis de opinión llamado ReviewSeer y se obtuvieron los siguientes resultados:

image

La segunda lleva a cabo una comparación con el algoritmo ReviewSeer pero basado en documentos en general encontrados en la web dando como resultado lo siguiente:

image

Yi, J., Nasukawa, T., Bunescu, R., & Niblack, W. (2003). Sentiment analyzer: extracting sentiments about a given topic using natural language processing techniques. Third IEEE International Conference on Data Mining, 427–434. doi:10.1109/ICDM.2003.1250949

Friday, December 7, 2012

Sentence Recognition Using Hopfield Neural Network

El sistema propuesto utiliza los clasificadores de Hopfield para categorizar a las oraciones de acuerdo a su significado. Un clasificador de Hopfield es una red neuronal que trabaja de manera recursiva busca situar su salida en uno de los puntos dados. La arquitectura general se muestra en la siguiente figura:

image

El primer módulo es encargado de extraer las oraciones que serán utilizadas en el sistema. Las oraciones y por tanto la base de datos son específicas de un dominio y deben ser relevantes para la clasificación.

Las oraciones son enviadas al segundo módulo en el que son separadas en palabras y son codificadas en una matriz. Se emplea una codificación binaria (1 y -1). La matriz tiene en cuenta la letra que ocupa cada posición dentro de la palabra. Las columnas representan cada letra dentro del alfabeto mientras que las filas representan la posición en la que se encuentra. La siguiente figura es el ejemplo de la representación de la palabra “web”.

image

Siendo la red de Hopfield una red recurrente por lo que la salida de cada nodo repercute en los pesos de las otras neuronas. Se crea la red dando como entrada una serie de vectores que corresponden a las diversas clases. El número de dimensiones debe corresponder al número de componentes binarios.

El módulo de reconocimiento de palabra, es una red neuronal entrenada con ciertas palabras de la base de datos y tiene como objetivo arrojar la palabra conocida (de las empleadas en el entrenamiento) más apegada a la palabra que se dio como entrada.

Las palabras obtenidas se juntan para obtener un patrón que describe a la oración y que requiere el módulo de codificación de oraciones. El módulo consta de otra red neuronal entrenada con las oraciones de la base de datos. Al final se obtiene una oración que debe tener el mismo significado. La siguiente figura muestra el patrón utilizado como entrada:

image

La base de datos empleada para las pruebas consta de 500 oraciones. Para el entrenamiento se hizo uso de 50 oraciones. Se emplearon las palabras dentro de las 50 oraciones y se agregaron otras 100. Los detalles de las redes empleadas se muestran a continuación:

image

Empleando los parámetros descritos, lograron clasificar correctamente el 92.2% de las oraciones de entrada según su significado. Los resultados se muestran a continuación:

image

Se trabaja con un diccionario finito y se propone como trabajo a futuro la extensión de este modelo a sistemas expertos (se propone uno médico como ejemplo).

Pandey, B., Ranjan, S., Shukla, A., & Tiwari, R. (2010). Sentence Recognition Using Hopfield Neural Network. IJCSI - International Journal of Computer Science Issues, 7(4). Retrieved from http://www.ijcsi.org/papers/IJCSI-Vol-7-Issue-4-No-6.pdf#page=26

Thursday, December 6, 2012

Learning Similarities for Text Documents using Neural Networks

En IR (Information Retrieval) y los motores de búsqueda Web, se tiende a representar a las palabras como bolsas de palabras (bags of words) por lo que se toma a cada palabra independiente una de la otra. De este modo, los documentos representados como vectores ocupan un espacio dimensional muy grande (con millones de componentes que corresponden a cada palabra en el diccionario). Para determinar la similitud entre dos documentos, se emplea la co-ocurrencia de las mismas palabras (correlación de coseno). Esta representación no logra capturar el sentido semántico de los documentos ya que no toma en cuenta la complejidad del lenguaje natural (sinónimos, homónimos, verbos, etc.). En el artículo se propone una MLP (Multi Layered Perceptron) para proyectar la bolsa de palabras a un espacio dimensional pequeño y posteriormente realizar las búsquedas mediante el k-vecino más cercano basado en su distancia euclidiana.

Mientras que el aprendizaje supervisado es empleado en ocasiones en las que se tiene clara una salida (una clasificación) y una serie de entradas, en el caso del artículo buscan un enfoque no supervisado en el que se intenta obtener patrones de relación entre los términos de entrada.

El proceso de la red intenta agrupar a los términos mediante su similitud, los patrones similares son atraídos entre sí mientras que se alejan de los que no se tiene nada en común. La siguiente figura muestra un ejemplo del proceso:

image

Para las pruebas se buscaron documentos que hablasen de Linux, Formula 1 y Ciencia Ficción. Se recolectaron aproximadamente 90,000 entradas por tema. Los resultados muestran que solamente para las búsquedas hechas sobre temas de ciencia ficción, se obtuvieron resultados no favorables como se muestra en la siguiente figura:

image

Cada red fue entrenada con una capa oculta de 8 neuronas y como máximo 250 iteraciones. Los resultados fueron evaluados respecto a opiniones de expertos en cada uno de los temas elegidos.

Diligenti, M., Maggini, M., & Rigutini, L. (2003). Learning similarities for text documents using neural networks. Artificial Neural Networks in Pattern Recognition (ANNPR). Retrieved from http://nautilus.dii.unisi.it/pubblicazioni/files/conference/ANN.pdf

Thursday, November 22, 2012

Text Spam Neural Network Classification Algorithm

Este artículo busca hacer una clasificación del texto contenido dentro de los correos electrónicos para determinar si son correos basura (spam). El flujo del procesamiento de mensajes se muestra en la siguiente figura:

image

El conjunto de reglas indicado se refiere a una serie de indicadores propuestos por spamassassin. Mediante el proceso de la figura anterior, se genera una matriz con los correos usados y las reglas que se aplican a ellos, este proceso se emplea principalmente para reducir la dimensión del conjunto de reglas.

El modelo de red neuronal empleado fue el de retropropagación siguiendo el modelo clásico mostrado en la siguiente figura:

image

Para las pruebas se empleó el corpus de Spamassassin del que fueron seleccionados 2,501 correos marcados como interesantes y 500 etiquetados como spam. Procesando los datos con el conjunto de reglas predefinido, se obtuvo una matriz de 568 correos y 328 rasgos de los que se escogieron de manera aleatoria 464 para entrenamiento, dejando los 104 restantes para pruebas.

Los resultados se muestran a continuación:

image

image

image

El artículo terminó estando más enfocado a la manipulación de los parámetros de la red de retropropagación que al proceso que sigue.

Ma, Q., Qin, Z., Zhang, F., & Liu, Q. (2010). Text spam neural network classification algorithm. 2010 International Conference on Communications, Circuits and Systems (ICCCAS), 466–469. doi:10.1109/ICCCAS.2010.5581954

Recurrent Neural Networks for Robust Real-World Text Classification

La clasificación de texto puede ser considerada como el proceso automático de asignación de una o más categorías predefinidas a un documento de texto. El trabajo realizado en este artículo se centra en las capacidades de los modelos simples de redes neuronales recurrentes para clasificar títulos de noticias del Reuters-Corpus.

Las características de una red neuronal recurrente simple (SRN) permite procesar información secuencial, teniendo en cuenta las reglas gramaticales y el contexto de las palabras. Este tipo de consideraciones puede ser valioso ya que el orden de las palabras puede aportar información relevante para la clasificación de la red neuronal. Otra característica del modelo consiste en la habilidad de procesar secuencias con tamaños arbitrarios.

La arquitectura general contiene dos capas de contexto asociadas a dos capas ocultas que extienden la memoria sobre estados previos a través del tiempo. La recurrencia parcial en las capas de contexto es controlada por una función de histéresis. La siguiente figura muestra una visualización de la arquitectura:

image

La entrada de una capa oculta Hn en la red, es afectada por la capa Hn-1 y por la capa de contexto incremental Cn.

Para que el texto pueda ser procesado por algún clasificador, se debe llevar a cabo un mapeo para poder representar las características o rasgos en una forma apropiada.

Se menciona al Vector Space Model (VSM) como la técnica mayormente usada y establecida para llevar a cabo este proceso dentro de Information Retrieval (IR). VSM se encarga de codificar un conjunto de palabras sin tomar en cuenta el orden secuencial.

Por otra parte, la medida estadística más comúnmente usada dentro de IR y minería de texto es TFIDF (Term Frequency-Inverse Document Frequency). TFIDF indica la relevancia de una palabra respecto a un documento.

Se empleó una variación de VSM conocida como vectores semánticos para representar los títulos de las noticias y reducir la dimensión de los datos. Los rasgos son transformados en representaciones vectoriales con pesos para cada palabra de tal forma que el número de dimensiones para cada vector de palabras está en función del número total de clases dentro del corpus. A cada palabra se le asigna un número único decimal en el rango de 0 a 1 que la asocia a una clase en particular, mientras más alto es el valor, mayor es la asociación y mientras menor sea el valor, de igual forma la asociación es menor. Esto se calcula con las siguientes fórmulas:

image

La frecuencia de aparición normalizada de una palabra w en una categoría semántica ci es dada por el valor de v(w,ci), para cada elemento del vector semántico, dividido por la frecuencia de aparición normalizada de la palabra w en el corpus. C indica el número total de clases.

El corpus empleado consiste de 10,733 títulos que están relacionados al menos a un tema. El conjunto de entrenamiento consistió de 1,040 títulos (los primeros 130 de cada una de las 8 categorías). Los 9,693 títulos restantes se emplearon para probar las capacidades de generalización de la red entrenada. Los resultados se presentan a continuación:

image

image

Los resultados muestran que las redes de este tipo son una buena opción para la clasificación de texto. Según los resultados obtenidos, el orden de las palabras no resultó importante y hasta se llegó a obtener mejores resultados al mezclar las palabras.

Arevian, G. (2007). Recurrent Neural Networks for Robust Real-World Text Classification. IEEE/WIC/ACM International Conference on Web Intelligence (WI’07), (2), 326–329. doi:10.1109/WI.2007.126

Thursday, November 15, 2012

Notas de Redes Neuronales:

Las pruebas de las redes neuronales variarán en el pre-procesamiento de los datos:

  • Normalización de texto:
    • Se incluyen pruebas eliminando (al máximo posible) los errores de ortografía, lematización de los verbos, eliminación de abreviaturas, etc.
  • Eliminación de palabras frecuentes:
    • Quitar las palabras que frecuentemente se utilizan en el español y que no aporten información sustancial al contexto del mensaje, se encontró una lista de palabras frecuentes en: http://corpus.rae.es/creanet.html
  • Estandarización de los datos de entrada:
    • Se sigue tratando con la manera de introducir los valores a la red neuronal, se había pensado en utilizar una función de mapeo directo como una tabla hash pero se están analizando las posibles implicaciones.

Neural Network Approaches for Text Document Categorization

Para este artículo se emplea un perceptrón multicapa como componente base para la categorización de documentos de texto en una gran cantidad de documentos con una gran cantidad de categorías. Se exploran dos arquitecturas, una categórica y otra jerárquica.

Una categorización multinivel de documentos consiste en una estructura jerárquica que contiene enlaces y nodos para representar la relación entre los conceptos de la categoría del documento cubiertos por la clasificación. La primera tope esta conformada por el concepto en general del dominio del documento. Se puede definir a dicha categoría como un conjunto de subcategorías (C1, C2, … Cn) que forman al primer nivel (L1) dentro del sistema. La composición de subcategorías se muestra en la siguiente figura:

image

La red tradicional fue entrenada una metodología de todos contra todos debido al gran número de clases y al gran tamaño del conjunto de entrenamiento. Esta red fue entrenada para comparar sus resultados con los dos enfoques presentados dentro del artículo.

En el modelo categórico, se entrenó a una red neuronal por cada categoría de nivel 1. Cada red tiene distintas salidas incluyendo la posibilidad que un tema no pertenezca a la categoría. Al final, todo se conjunta en un módulo de decisión que se encarga de asignar una categoría en base a un umbral que puede ser modificado. Esta arquitectura se puede paralelizar fácilmente y las estructuras de cada una de las redes neuronales son independientes entre sí así como sus parámetros. También el espacio necesario para esta representación es menor al de una sola red. La arquitectura se presenta en la siguiente figura:

image

El modelo jerárquico consiste en una primera red neuronal para el nivel 1. Esta red comparte un solo espacio y las salidas son binarias (pertenece o no pertenece). Se procede a un segundo conjunto de redes en las que cada una tiene un espacio más específico para la categoría que busca. El entrenamiento del primer nivel se hace de manera rápida y eficiente debido a la salida binaria mientras que para las redes del siguiente nivel se pueden paralelizar y al contar con espacios personalizados, requieren menos recursos que el uso de una sola red. La arquitectura se muestra a continuación:

image

Se utilizaron datos de diagnóstico de la industria automotriz para los experimentos. Se tienen 7 categorías de nivel 1 y cada una tiene un número distinto de datos siendo la segunda la más grande con 911. La siguiente figura presenta una descripción de los datos:

image

Uno de los principales motivos para realizar estas comparaciones consistió en el tiempo requerido para ejecutar los pasos. Los resultados se muestran en la siguiente figura:

image

Por otro lado, se debió llevar a cabo una medición de la confiabilidad de clasificación entre los tres modelos. Los resultados se presentan a continuación:

image

Murphey, Y. L. (2006). Neural Network Approaches for Text Document Categorization. The 2006 IEEE International Joint Conference on Neural Network Proceedings (pp. 1054–1060). IEEE. doi:10.1109/IJCNN.2006.246805

Document Classification and Recurrent Neural Networks

Se habla sobre un sistema de clasificación automática de documentos llamado NeuroClass. Es una herramienta de clasificación sobre texto en lenguaje natural basado en redes neuronales recurrentes.

Los documentos empleados para entrenamiento fueron cinco tipos de veintiocho posibles de la sección de aeropuertos de Transport Canada. Se emplearon aproximadamente 1000 documentos en la construcción del sistema. Las clases son las siguientes:

  • 5151 Establishment & Operations – General
  • 5157 Marketing
  • 5158 Construction & Maintenance – Airside
  • 5160 Emergency Services & Rescue
  • 5164 Light & Power

De los 1000 documentos, 400 fueron empleados en la construcción de un diccionario que contiene aproximadamente 14000 palabras. El diccionario contiene las palabras más empleadas en los documentos junto a la información requerida para convertir a los documentos en secuencias de vectores de probabilidad correspondientes a las palabras. Se guardan las palabras, su frecuencia en todos los documentos y la frecuencia en cada documento.

La primera codificación de los documentos se basó en el uso de los valores ASCII de las letras. Cada palabra era convertida en un vector de números reales en el rango [0,1]. Cada vector era normalizado al dividir cada componente entre 255. Sin embargo, surgió un problema al clasificar las palabras ya que sucedía que en palabras con una longitud similar, con letras cercanas (en valores), no lograban diferenciarse lo suficiente.

La representación corregida consiste en leer los documentos mediante una rutina, palabra por palabra. Cada palabra es buscada dentro del diccionario, al encontrarse se convierte a la palabra en un vector de probabilidades pi al dividir la frecuencia de la frecuencia en cada clase fi entre la frecuencia total de la palabra ftot. Si no se encuentra la palabra dentro del diccionario, se hace uso de una probabilidad de 1/n donde n=5 ya que es el número de clases consideradas para las pruebas.

La primera arquitectura propuesta consistía en dos redes. La primera se encargaba de obtener las palabras claves de cada documento mientras que la segunda llevaba a cabo la clasificación del mismo. Los resultados con esta arquitectura no fueron los deseados y se decidió utilizar una sola red entrenada con las secuencias de vectores de probabilidad que representan las palabras contenidas en el documento. El paradigma de Elman fue elegido en base a experimentos.

El progreso de eficiencia de clasificación fue avanzando gradualmente. Con 500,000 iteraciones, solo se pudo clasificar la clase 5160 al 100%. Con 1,000,000 de iteraciones, sólo la clase 5158 fue propiamente identificada. Después de 1,500,000 iteraciones se empezó a diferenciar entre clases y no fue sino hasta las 3,000,000 de iteraciones que todas empezaron a obtener un 100% de precisión.

Se creó una herramienta de validación estadística para medir la confiabilidad del sistema. Después de asignar una clase a un documento, se calcula un nivel de confianza C(x, y) mediante la siguiente fórmula:

image

En la fórmula, X representa el total del número de palabras en un documento en que pi ≥ 0.55 y Y es el número total de palabras en el documento. Los experimentos que realizaron mostraron que los casos en que C(x, y) ≥ 0.30, la mayoría de los documentos fueron correctamente clasificados mientras que en el caso C(x, y) < 0.30 eran incorrectamente clasificados. La siguiente gráfica muestra los resultados finales:

image

En general, el sistema puede asegurar la correcta clasificación al alcanzar los 3,500,000 ciclos de entrenamiento.

Farkas, J. (1995). Document classification and recurrent neural networks. Proceeding CASCON ’95 Proceedings of the 1995 conference of the Centre for Advanced Studies on Collaborative research. Retrieved from http://dl.acm.org/citation.cfm?id=781936

Thursday, November 8, 2012

Neural network for theme recognition in twitter

Tweets -> Normalization -> Label -> Train Neural network -> Works for just 1 theme?
                |-> POS Tagger
                |-> Unsupervised Learning
                |-> Ontology

¿Clasificar en base a la estructura? ¿En base al contenido?

Automatic labeling? -> Entity Relationship? -> Clustering?
                                  |-> Web n-gram?
                                  |-> Wikipedia?

Thursday, August 30, 2012

Earthquake Shakes Twitter Users: Real-time Event Detection by Social Sensors

Se habla de las características de Twitter como un sitio microblogging, el uso que se le da para reportar eventos como tormentas, incendios, congestionamiento de tráfico, revueltas, etc. A diferencia de los blogs personales que son actualizados pocas veces por semana, los usuarios de Twitter tienden a hacer posts varias veces al día.

Se dice que debido a su naturaleza, encontrar información en tiempo real de un desastre o evento como un terremoto sucederá primero en esta red social que en medios tradicionales y antes que el reporte de las autoridades.

El uso de palabras clave para detectar eventos es importante, sin embargo se debe tomar en cuenta el contexto de las oraciones para no malinterpretarlo ya que las mismas palabras se pueden encontrar en mensajes que quieran transmitir mensajes completamente distintos.

Los eventos los definen con las siguientes características:

  • Son a gran escala (una gran cantidad de usuarios experimentan el evento).
  • Influyen de manera particular en la vida diaria de los usuarios (debido a ello, se ven impulsados a mandar tweets relacionados al evento).
  • Están definidos por una región tanto temporal como espacial (así la estimación del lugar en tiempo real puede ser llevada a cabo).

Por estas características, los eventos no se encuentran reducidos a un tipo y pueden incluir eventos sociales, deportivos, políticos, accidentes, desastres naturales, etc.

Para clasificar los tweets en cuanto a su contenido, se hace uso de Support Vector Machines (SVM) definiendo 3 características:

  • El número de palabras en un tweet y la posición de la palabra clave en el mensaje.
  • Las palabras en un tweet.
  • Las palabras encontradas antes y después de la palabra clave.

Se considera a cada usuario como un posible sensor y a sus mensajes como lecturas del sensor. Por ejemplo, si se esta buscando información correspondiente a un terremoto, si un usuario difunde un mensaje refiriéndose al tema, ese usuario como sensor de terremoto devuelve un valor positivo. Se clasifican a los usuarios como sensores de eventos en específico porque pueden existir eventos en los que no participen o no puedan hacerlo por lo que no debe considerárseles en dichos casos. Se asume lo siguiente:

  • Se considera a cada usuario de Twitter como un sensor. Un sensor detecta un evento y lleva a cabo un reporte probabilístico.
  • Cada tweet se encuentra asociado a un tiempo y lugar.

Los mensajes difundidos sobre un evento se incrementan de manera considerable durante la duración del mismo y hasta un tiempo después de ocurrido debido a que en ocasiones las personas que están viviendo el evento no pueden comunicarlo de manera inmediata. Un ejemplo se puede apreciar en la siguiente figura:

image

La clasificación se probó con las palabras “earthquake” y “shaking” dando como resultado que usando su primer criterio o todos juntos dieron el mejor desempeño. La siguiente figura muestra los resultados:

image

Se hizo un mapeo de la red de difusión de los mensajes respecto a los eventos. Este mapeo permite seguir de cierta forma la manera en que la información se difunde por la red. Un ejemplo de la prueba que hicieron con un evento de terremoto se presenta en la siguiente figura:

image

Otra característica que probaron fue la estimación del lugar en que sucedieron los eventos. Por ejemplo en el terremoto utilizaron los datos de espacio de cada mensaje. El ejemplo del terremoto se ilustra en la siguiente figura:

image

Queda mostrada como una herramienta interesante y planteado como trabajo a futuro el utilizarlo en otro tipo de eventos y ver su efectividad. Se usó Kalman filtering y particle filtering para llevar a cabo las estimaciones de las posiciones de la trayectoria del tifón y para el epicentro del terremoto. También queda planteada la necesidad de mejorar los queries con los que obtienen la información relevante de los tweets.

Sakaki, T., Okazaki, M., & Matsuo, Y. (2010). Earthquake shakes Twitter users. Proceedings of the 19th international conference on World wide web - WWW  ’10 (p. 851). New York, New York, USA: ACM Press. doi:10.1145/1772690.1772777

Using Social Media to Enhance Emergency Situation Awareness

Se menciona la definición del conocimiento de una situación como la percepción de elementos en un ambiente dentro de un volumen de tiempo y espacio, la comprensión de su significado y la proyección de su estado en un futuro cercano. Siendo así, se concluye que se divide en tres fases o actividades: Percepción, Comprensión y Proyección.

La naturaleza de redes sociales como Twitter, permite que en caso de un siniestro, se tenga acceso a esta red a través de las distintas conexiones a internet que se pueden tener en un sitio. La rápida distribución de los datos permite están informando en tiempo real así como tener un gran alcance. Existe un aumento en el número de mensajes que se publican en el tiempo en que ocurre un desastre como se muestra en la siguiente figura:

image

Debido a las características de los mensajes (conteniendo ruido y otros factores), resulta muy difícil aplicar directamente técnicas de procesamiento de lenguaje natural. Para lidiar con los problemas presentados, se creó un conjunto de componentes capaz de extraer elementos del conocimiento de la situación mediante el uso de técnicas de minería de datos como burst detection, clasificación de texto, online clustering y geo-tagging. Las técnicas fueron adaptadas de tal forma que puedan responder en tiempo real a grandes cantidades de texto.

El sistema intenta ayudar al CCC (Crisis Coordination Centre) de Australia en la tarea de identificar las posibles situaciones de emergencia que pueden surgir y ser reportadas por medio sociales. La arquitectura del sistema se muestra en la siguiente figura:

image

En el periodo de Marzo de 2010 hasta la escritura del artículo, se recopilaron alrededor de 66 millones de tweets de aproximadamente 2.51 millones de usuarios distintos que cubrieron reportes de desastres naturales e incidentes de seguridad.

Para identificar los incidentes inesperados, crearon un modulo llamado Bursting Detection que monitorea continuamente el flujo de información recibido y dispara una alerta cuando detecta un incidente no previsto. Para determinar que existe un evento inesperado, se toma la probabilidad de que una o varias palabras aparezcan en una ventana de tiempo actual contra la probabilidad de que aparezcan en una ventana de tiempo aleatoria. Si la probabilidad es relativamente grande, puede indicar que se presenta un incidente. Se logró un porcentaje de detección del 72.13% en los experimentos realizados y un 1.40% de falsos positivos.

Para poder reaccionar debidamente, fue encargado un método para poder identificar el impacto del evento. Se construyeron clasificadores estadísticos que automáticamente detectan tweets que contienen información del estado de la infraestructura (edificios, carreteras, puentes, etc.). Se experimentaron con Naive Bayes y Support Vector Machines que dieron como resultado una precisión del 86.2% y 87.5% respectivamente.

Para descubrir los temas relevantes en Twitter, se creó un algoritmo de clustering incremental en línea que automáticamente agrupa tweets similares en clusters de temas de tal forma que cada cluster represente un evento. El algoritmo debe ser capaz de manejar un gran volumen de información y no requerir conocimiento a priori del número de clusters debido a la constante evolución del contenido de los tweets.

El funcionamiento básico del clustering en línea hace que cada que se recibe un nuevo dato, se compara con los clusters existentes (si no hay, se crea uno para el mensaje) en base a una función de similitud. La similitud con el cluster con el que más se asemeja se compara contra un umbral (threshold empíricamente definido) y si no es lo suficientemente similar, se crea un nuevo cluster. Si en cambio se agregó el dato a un cluster existente, se debe recalcular el centroide de dicho cluster.

Se tiene una lista de clusters activos que se van manteniendo según llega la información. Si pasa cierto tiempo sin que se utilice un cluster (no se agregan nuevos datos), este se descarta y deja de ser un candidato para que los nuevos tweets sean agrupados. Para evitar que el número de clusters crezca desmesuradamente, solo se utilizan los tweets con candidatos a presentar un evento inesperado arrojados por el Bursting Detection. Las medidas de similitud empleadas fueron la similitud de Jaccard y la similitud de coseno dando resultados de 0.42 y 0.34 en el marcador Silhuoette.

Otra forma de reducir el campo de los tweets analizados se basa en la ubicación geográfica de la persona que escribió el mensaje. Si se tiene habilitada la opción de posicionamiento en Twitter, se usa la latitud y longitud, de otra forma se trata de utilizar la información del perfil para determinar su posible ubicación. Un ejemplo de esta función se muestra en la siguiente figura:

image

Finalmente se creó una herramienta de visualización que permite captar eventos en Twitter si se da un tiempo especificado. Se presentan las palabras clave y los tweets relacionados con el evento. La interfaz se muestra en la siguiente figura:

image

Yin, J., Lampert, A., Cameron, M., Robinson, B., & Power, R. (2012). Using Social Media to Enhance Emergency Situation Awareness. IEEE Intelligent Systems, 1, 1–7. doi:10.1109/MIS.2012.6