Showing posts with label Natural Language. Show all posts
Showing posts with label Natural Language. Show all posts

Friday, February 22, 2013

Artículos sobre Cross-domain y User modeling

  • Cross-domain:
    • Cross-Genre and Cross-Domain Detection of Semantic Uncertainty
    • When Specialists and Generalists Work Together: Overcoming Domain Dependence in Sentiment Tagging
    • The Good, the Bad, and the Unknown: Morphosyllabic Sentiment Tagging of Unseen Words
    • Multi-domain Sentiment Classification
    • Cross-Domain Dependency Parsing Using a Deep Linguistic Grammar
    • Automatically Extracting Polarity-Bearing Topics for Cross-Domain Sentiment Classification
    • Using Multiple Sources to Construct a Sentiment Sensitive Thesaurus for Cross-Domain Sentiment Classification
    • Cross-Domain Co-Extraction of Sentiment and Topic Lexicons
    • The Domain Restriction Hypothesis: Relating Term Similarity and Semantic Consistency
    • Online Methods for Multi-Domain Learning and Adaptation
    • Cross-Cultural Analysis of Blogs and Forums with Mixed-Collection Topic Models
    • Multi-Domain Learning: When Do Domains Matter?
    • Biased Representation Learning for Domain Adaptation
  • User modeling:
    • Extracting Social Networks and Biographical Facts From Conversational Speech Transcripts
    • An Unsupervised Approach to Biography Production using Wikipedia
    • Age Prediction in Blogs: A Study of Style, Content, and Online Behavior in Pre- and Post-Social Media Generations
    • Extracting Social Power Relationships from Natural Language
    • Tweet Recommendation with Graph Co-Ranking
    • Person Identification from Text and Speech Genre Samples
    • Sentiment Summarization: Evaluating and Learning User Preferences
    • Automatic Generation of Personalized Annotation Tags for Twitter Users
    • Identifying Opinion Holders and Targets with Dependency Parser in Chinese News Texts
    • Personalized Recommendation of User Comments via Factor Models
    • Discriminating Gender on Twitter
    • Explore Person Specific Evidence in Web Person Name Disambiguation

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 Analysis of Movie Reviews on Discussion Boards using a Linguistic Approach

En este artículo se presenta el análisis de opinión a nivel de cláusulas para facilitar el procesamiento de múltiples aspectos presentados en una sola oración.

Dividen a las oraciones en inglés en oraciones simples (una sola cláusula independiente), compuestas (dos o más cláusulas independientes) y compuestas (al menos una cláusula independiente y una cláusula dependiente). Las cláusulas a su vez son divididas en sujeto y predicado (siendo el predicado la combinación de verbo, objeto, complemento y adverbio).

El proceso en general es mostrado en la siguiente figura:

image

Algunos títulos de películas contienen palabras que expresan sentimientos (como ejemplo se mencionan “beautiful mind” y “fantastic four”), sin embargo, estas palabras no deberían ser tomadas en cuenta para analizar el sentido de la oración. La anotación semántica ayuda a identificar las partes de la oración que proporcionen información sobre la película, director, elenco y los nombres de los personajes para que sean ignorados en el momento de calificar la opinión. Se tiene una lista complementaria de palabras que deben tomarse en cuenta como: directing, animation, scene, music y sound effects. La anotación se lleva a cabo tomando siempre como prioridad los resultados de mayor tamaño que encajen.

Los marcadores de opinión o sentimiento se obtienen de una base de datos pública (SentiWordNet) que brinda un número en el rango de -1 a 1 como valor a cada palabra. Se complementan con una serie de valores dependientes del contexto (en este caso las películas).

Empleando la librería de lenguaje natural de Stanford, se procesan las relaciones gramaticales entre las palabras. Las relaciones se definen como dependencias binarias pudiendo ser un gobernador o un dependiente. Se crea un árbol que contiene la oración completa y que posteriormente se convierte en cláusulas (sub-árboles) mediante división o multiplicación dependiendo del tipo de oración. La división se presenta cuando en la oración existen dos o más cláusulas independientes como en la oración “I love Tom but hate the movie” y se divide como se muestra a continuación:

image

Por su parte, la multiplicación se presenta en los casos en que la oración contiene predicados u objetos compuestos como en la oración “I love the music but not the story” y como resultado se obtiene lo expuesto en la siguiente figura:

image

El cálculo de opinión contextual se calcula atravesando y procesando cada uno de los nodos basado en las relaciones gramaticales entre padres e hijos y su información POS (Part of Speech). El algoritmo es recursivo y se detiene hasta que se llegan a todas las hojas. Las fórmulas para cada tipo y relación varían.

Se llevaron a cabo experimentos sobre 370 oraciones (185 positivas y 185 negativas). La siguiente figura muestra la precisión del sistema comparada contra una calificación manual de las oraciones.

image

Por su parte la siguiente figura muestra otro tipo de resultados para el análisis de la herramienta:

image

Existen peculiaridades con los resultados obtenidos, lugares en los que las palabras pueden tomar un sentido positivo en la base de datos pero en la oración toman uno negativo (aunque no exista una palabra de negación) o viceversa. Por otra parte, existen fallas con la categorización del POS que no logra identificar correctamente todas las partes de las oraciones.

Thet, T. T., Na, J.-C., Khoo, C. S. G., & Shakthikumar, S. (2009). Sentiment analysis of movie reviews on discussion boards using a linguistic approach. Proceeding of the 1st international CIKM workshop on Topic-sentiment analysis for mass opinion - TSA ’09, 81. doi:10.1145/1651461.1651476

Thursday, December 13, 2012

Text Categorization Using Word Similarities Based on Higher Order Co-occurrences

Debido a la nula habilidad para lidiar con sinónimos y polisemias, k-vecinos más cercanos, Naive Bayes y las Máquinas de Soporte Vectorial, presentan problemas con el tamaño de las dimensiones en la clasificación de textos. Además, al presentarse formas de grandes dimensiones, los vectores empleados se esparcen y las medidas de distancia tradicionales como la euclidiana o el coseno pueden no proporcionar información relevante.

El concepto de coocurrencias de alto orden se presenta como una medida de la relación semántica entre palabras bajo la analogía que menciona que los humanos no necesariamente utilizan el mismo vocabulario al referirse a un tema.

El algoritmo que emplean se conoce con el nombre de X-Sim y está creado para aprendizaje no supervisado pero fue adaptado para problemas de clasificación en un entorno supervisado. El algoritmo consta de una matriz de datos con r filas (documentos) por c columnas (palabras). Dos matrices de similitud SR y SC (contienen la similitud de un documento con todos los demás y la similitud de una palabra respecto a todas las demás). La similitud de dos documentos es dada por la suma de las similitudes de las palabras que ambos contienen. Para las palabras, proponen no sólo tomar en cuenta las palabras que ocurren en ambos casos sino utilizar todos los posibles pares que puedan ser formados. Se hace lo mismo con los documentos para explotar la dualidad que dice que dos documentos son similares cuando se expresan por palabras similares mientras que dos palabras son similares cuando se expresan en documentos similares. La complejidad del algoritmo se mantiene en el orden de O(tn^3). La siguiente figura muestra cómo se van formando las coocurrencias:

image

Como el objetivo para que se vuelva útil a problemas de clasificación consiste en acercar a las palabras según los temas que expresan, se pueden tomar varios caminos. El primer método consiste en alterar las matrices iniciales de similitud dado un conocimiento previo de los temas a los que está relacionado. El segundo consiste en agregar una palabra extra (dummy word) a las matrices de similitud de palabras que de cierta forma incorpore la categoría a la que pertenece como se muestra en la siguiente figura:

image

Esto provoca que las matrices de similitud de documentos se agrupen según las palabras extra que se han agregado como se muestra en la siguiente figura:

image

Sin embargo, existen palabras que trascienden a los límites trazados por las categorías por lo que debieron hacer un mecanismo para disminuir el efecto de este fenómeno. El mecanismo consiste en multiplicaciones por un factor que determina el factor de las categorías en las coocurrencias de alto orden. El efecto de alterar el factor se muestra en la siguiente figura:

image

Se hicieron varias pruebas según 3 corpus que se emplean popularmente (20-Newsgroup, Reuters y LINGSPAM). En la siguiente tabla se muestra la comparación de resultados entre su algoritmo y otros que presentan pruebas similares:

image

El problema para clasificar los documentos determinados como jerárquicos radica en que los temas se encuentran compuestos de varios subárboles pero cuando se manejan sólo dos, obtuvieron el siguiente resultado:

image

Por otra parte se midieron los tiempos que tardó cada prueba en llevarse a cabo dando como resultado los siguientes datos:

image

Hussain, S., & Bisson, G. (2010). Text categorization using word similarities based on higher order co-occurrences. SIAM International Conference on Data Mining, 1–12. Retrieved from http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.165.7002&rep=rep1&type=pdf

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 29, 2012

Automatically Constructing a Normalisation Dictionary for Microblogs

Este artículo se basa en el uso de un diccionario para la normalización de mensajes de Twitter debido a que la búsqueda en un diccionario es menos costosa computacionalmente que otros métodos empleados para este proceso. Sin embargo, el enorme número de variantes de palabras existentes dentro de Twitter vuelve prácticamente imposible la construcción manual del diccionario.

Mientras más corta sea la representación de la palabra, mayor será su tendencia a ser ambigua. Mientras más caracteres posean, es más difícil encontrar distintas interpretaciones. En este segundo tipo de escenario es en el que está basado el sistema.

Primero se obtienen datos de Twitter para formar pares en base a la similitud de su distribución. Se forman pares de palabras IV con OOV. Se formarán pares del tipo (tmrw, tomorrow) y otros falsos positivos como (Tusday, Sunday) o (Youtube, web). El siguiente paso es reordenar los pares en base a la similitud existente entre ellos.

Para la similitud entre los pares se desea tomar en cuenta el contexto de las palabras. Para definir el contexto se hicieron pruebas con el tamaño de la ventana de contexto (1 a 3 tokens en ambos lados), el orden del n-gram de los tokens (unigrama, bigrama, trigrama), si las palabras están indexadas para posicionamiento relativo y si se emplean todos los tokens de contexto o sólo las palabras IV.

Se utilizó un corpus de 10 millones de mensajes en Twitter recolectados entre septiembre de 2010 y enero de 2011. Se utilizaron sólo aquéllos en el idioma inglés y se aplicó un tokenizer simplificado para Twitter. Se empleó el diccionario de Aspell para determinar si las palabras eran IV y sólo se introdujeron palabras OOV al diccionario que tuvieran al menos 64 apariciones y una longitud mayor o igual a 4 caracteres. Al formar los pares, sólo se tomaron en cuenta aquellos que son morfo-fonéticamente similares entre sí.

Para evaluar los pares generados, se usó el criterio de 5 anotadores con 10,000 palabras OOV seleccionadas aleatoriamente dentro de los 10 millones de mensajes. Se consideró que debían concordar 3 de los 5 anotadores para que fuese correcto el par. Como resultado se obtuvieron 351 variantes léxicas y 282 palabras OOV correctas (como nombres de productos como iPad).

Los resultados de manejar diversos valores en los parámetros de similitud se presentan a continuación:

image

Para la evaluación se tomaron en cuenta las siguientes métricas:

image

Se compararon los resultados con otros diccionarios y los resultados fueron los siguientes:

image

Han, B., Cook, P., & Baldwin, T. (2012). Automatically Constructing a Normalisation Dictionary for Microblogs. newdesign.aclweb.org, (July), 421–432. Retrieved from http://newdesign.aclweb.org/anthology-new/D/D12/D12-1039.pdf

Syntactic Normalization of Twitter Messages

Los mensajes dentro de Twitter suelen estar escritos con términos coloquiales, palabras repetitivas, palabras nuevas e interjecciones. Algunas palabras se escriben de acuerdo a su escritura fonética (nite en lugar de night) o en acrónimos combinadas con otras palabras (omg en lugar de oh my god). Además los mensajes carecen del uso correcto de mayúsculas y la puntuación. Algunos ejemplos de mensajes se presentan en la siguiente figura:

image

El sistema lleva a cabo una fase de normalización (preprocesamiento) de los mensajes para transformarlos en un inglés formal y que puedan ser analizados por técnicas de procesamiento de lenguaje natural. La arquitectura de esta fase se muestra a continuación:

image

Para la fase de preparación, se extrajeron aproximadamente un millón de tuits del Edinburgh Twitter Corpus (que contiene 97 millones de mensajes). Se removieron los mensajes que no se encontraran en el idioma inglés, es decir que al menos 40% de las palabras contenidas estuvieran en dicho idioma. De los mensajes restantes, se tomaron al azar 1150 mensajes y fueron traducidos a mano por 10 anotadores. Se removieron caracteres como los emoticons y otros elementos que no aportaran información para que las oraciones se tradujeran directamente al inglés. El propósito de esto fue el facilitar el trabajo a las herramientas de procesamiento de lenguaje natural.

Debido a la presencia de palabras que se han vuelto comunes dentro de la jerga de Twitter y que no están presentes en diccionarios, decidieron utilizar un enfoque conservador al corregir errores ortográficos para no cambiar palabras que posiblemente no estaban mal escritas.

Se creó una lista con las abreviaciones más comunes dentro de Twitter y su equivalencia en inglés. Sin embargo, existen abreviaciones que pueden variar su significado de acuerdo al contexto del mensaje por lo que fueron omitidas de la lista para ser posteriormente tratadas por un modelo estadístico de MT (Machine Translation).

Para el caso de signos y caracteres repetidos, se eliminan y si se logra formar una palabra que puede ser reconocida, se mantiene en el texto o de otra forma se elimina por completo.

Para el proceso de MT estadístico se empleó Moses. Moses permite llevar a cabo traducciones entre idiomas al seguir un proceso mediante el cual encuentra la equivalencia de una palabra dentro de un corpus a otro.

La evaluación se lleva a cabo mediante el indicador BLEU. Este indicador requiere como entrada una serie de traducciones llevadas a cabo por humanos para evaluar la traducción de la máquina en una escala de 0 a 1, siendo 0 el peor y 1 lo mejor. Los resultados se muestran a continuación:

image

Según se menciona, al momento de la publicación de este artículo, no existen otras investigaciones similares para comparar la efectividad de la normalización por lo que lo debieron hacer con mensajes SMS. Los resultados se muestran a continuación:

image

Al tener un mejor resultado BLEU de inicio, se sostiene la hipótesis que dice que los mensajes dentro de Twitter contienen menor cantidad de errores ortográficos que los encontrados en los SMS. Algunos ejemplos de los mensajes traducidos se muestran a continuación:

image

En el artículo se muestra que la combinación de un MT estadístico junto a un preprocesamiento, ayuda a eliminar la mayoría del ruido encontrado dentro de los mensajes de Twitter.

Kaufmann, M., & Kalita, J. (2010). Syntactic normalization of Twitter messages. International Conference on Natural Language …, 1–7. Retrieved from http://cs.uccs.edu/~jkalita/work/reu/REUFinalPapers2010/Kaufmann.pdf

Thursday, November 8, 2012

POS-Taggers

Revisar características a detalle de los siguientes POS-Taggers:

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?

Empirical Study of Machine Learning Based Approach for Opinion Mining in Tweets

El artículo se encuentra basado en minería de opiniones (análisis de sentimientos). La minería de opiniones se define como el estudio computacional de las opiniones, sentimientos y emociones expresadas en texto.

Formalmente definen a una opinión como la siguiente quíntupla:

  • oj – Es el objeto de la opinión, en caso de Twitter, de la entidad o entidades sobre las que se habla en un mensaje.
  • fjk – es la característica del objeto de opinión, en el caso del artículo se ignora esta parte.
  • ooijkl – es la polaridad de la opinión, en este caso es la polaridad del mensaje entero y puede ser: positiva, negativa o neutral.
  • hi – es quien emite la opinión, en este caso quien escribió el mensaje en Twitter.
  • t1 – es el tiempo en que la opinión fue emitida, en este caso el momento en que se publicó el mensaje.

Para la clasificación, se representa al texto como una serie de características. Las características son n-grams formados por las palabras extraídas de los mensajes. Se emplea una representación morfológicamente normalizada. Al utilizar POS n-grams, se emplean los tags que arroja el POS en lugar de las palabras del mensaje. Por ejemplo se menciona el uso de Noun en lugar de batería, Verb en lugar de descargar, etc.

Se menciona que no encontraron una referencia anterior que utilice Twitter en español como cuerpo de estudio por lo que tuvieron que diseñar todo el pre-procesamiento de datos.

Para el cuerpo de datos, se recolectaron 32,000 mensajes correspondientes a una lista de entidades predefinidas sobre marcas de teléfonos celulares. 8,000 mensajes fueron clasificados manualmente como: Positivo, Negativo, Neutral e Informativo.

Los mensajes en Twitter suelen contener errores, en el caso específico del español se mencionan algunos representados en la siguiente figura:
image

Para poder llevar a cabo el análisis se requiere realizar una normalización del texto, en su caso decidieron emplear los siguientes cuatro procesos:

  • Error correction – en errores ortográficos como “muertooo” se corrigen basados en un diccionario de español y un modelo estadístico sobre letras dobles comunes en el idioma. Se hicieron reglas a mano sobre la jerga y las palabras comunes tomadas del inglés. No se detectan otro tipo de errores ortográficos.
  • Special tags – se emplean USER_TAG, WINK_TAG, HASH_TAG, y URL_TAG para remplazar palabras con formato especial conocido para Twitter. Por ejemplo @usuario se cambia por USER_TAG y =) se cambia por WINK_TAG.
  • POS-tagging – Utilizaron freeling como POS-Tagger ya que no solo lleva a cabo el etiquetado, también lleva a cabo una lematización de las palabras para reducir el número de conjugaciones y formas que se pueden presentar.
  • Negation process – las negaciones alteran el sentido de la opinión en el texto, para lidiar con ellas, cada que se presentan, se adhieren a su siguiente palabra. Por ejemplo “no tener” quedaría como “no_tener”.

Para las entradas a los clasificadores se emplean dos vectores. Cada entrada en un vector corresponde a una característica arrojada por el POS-tagger y se emplean: verbs, nouns, adjetives, adverbs e interjections.

De los 8000 mensajes manualmente marcados, 7000 son utilizados para el conjunto de entrenamiento y 1000 para pruebas de los cuales 236 son positivos, 145 negativos, 342 neutrales y 257 informativos.

Para las pruebas se quiso medir el efecto del tamaño del cuerpo, del tamaño de los n-grams, número de clases y balance del cuerpo.

Los resultados obtenidos se muestran en las siguientes figuras:

image

image

image

image

image

image

image

Según los resultados obtenidos, consideraron que los mejores parámetros para llevar a cabo la clasificación en tuits en español constan de lo siguiente:

  • Utilizar unigrams
  • Tener un conjunto de entrenamiento de al menos 3000 tuits
  • Utilizar SVM como clasificador
  • Tener solo dos clases polarizadoras
  • Que el conjunto de entrenamiento y el de prueba sean sobre el mismo dominio

Al emplear estos parámetros, lograron conseguir una precisión del 85.8%.

Los errores más comunes al clasificar los mensajes se dividen en lo siguiente:

  • Mensajes acortados – suceden cuando ni el humano es capaz de etiquetar el mensaje como una de las clasificaciones planteadas debido a la falta de información.
  • Faltas de ortografía – las palabras mal escritas evitan la posibilidad de poder identificar la opinión dentro del mensaje.
  • Humor, ironía y sarcasmo – interpretar el sentido de la oración cuando se emplean este tipo de connotaciones se vuelve complejo y completamente dependiente de un contexto general que a veces no es fácilmente identificable ni por un humano.
  • Errores en el etiquetado – De nuevo, no todos los mensajes se pueden etiquetar fácilmente y se requiere de cierta interpretación que no siempre concuerda con el enfoque original.

Grigori Sidorov, Sabino Miranda-Jiménez, Francisco Viveros-Jiménez, Alexander Gelbukh, Noé Castro-Sánchez, Francisco Velásquez, Ismael Díaz-Rangel, Sergio Suárez-Guerra, Alejandro Treviño, and Juan Gordon. Empirical Study of Machine Learning Based Approach for Opinion Mining in Tweets. LNAI 7630, 2012, pp. 1-14.

Aplicación del Procesamiento de Lenguaje Natural en la Recuperación de Información

La aplicación está basada en Recuperación de Información (RI) que consiste en la acción de recibir una consulta o pregunta de un usuario y devolver un conjunto o serie de documentos ordenados según su relevancia respecto a lo que se pidió. El propósito general consiste en mejorar la calidad de los resultados arrojados al hacer uso de técnicas de procesamiento de lenguaje natural (PLN).

El modelo propuesto se basa en que un documento puede estar representado por sus entidades y las relaciones que existen entre ellas. Las entidades son representadas por sintagramas nominales (Noun Phrase NP). Para las relaciones se emplean cláusulas en las que el verbo es el núcleo y los modificadores son los NP y los sintagramas preposicionales (Prepositional Phrase PP).

El ejemplo que indican para su análisis inicia con la siguiente oración: “Mary Blake arrived late, so Mary Spencer who is the secretary of ARS fined her, the president of ISS, with 1000€”. Se identifican dos entidades: Mary Blake y Mary Spencer, además se puede obtener datos de Mary Spencer (secretary of ARS). Al resolver la referencia anafórica entre her y Mary Blake se puede obtener que ella es the president of ISS. Esto permite que se pueda responder al usuario por consultas por Mary Blake, the president of ISS y descartar otras como Mary Blake, the president of ARS.

Para obtener el conocimiento emplearon el Slot Unification Parser for Anaphora Resolution (SUPAR). El sistema necesita como entrada el resultado de un etiquetador POS tagger (para el idioma español emplearon Maco) y se realiza un análisis sintáctico parcial del texto.

Para implementar las entidades y relaciones dentro del modelo vectorial tradicional de RI, se emplean 3 tablas NPT, PPT y CCT. NPT almacena la información de las entidades NP. PPT Y CCT almacenan información adicional sobre las entidades o las relaciones entre ellas ya sea en sintagramas preposicionales o clausulas. Por ejemplo se maneja la frase architecture in San Louis, la preposición in indica que es muy probable que San Louis sea un lugar en lugar de una persona por lo que se debe dar más puntaje al documento en que una PP aparezca como in San Louis a que aparezca solo. CCT se dedica a guardar información sobre las relaciones entre entidades en base a los verbos. A continuación se presentan ejemplos de las tablas:

image

image

image

image

En general el modelo se utiliza para enfrentar al concepto tradicional del modelo de sacos de palabras que asumen que los términos ocurren independientemente unos de otros al indexar entidades y las relaciones entre ellas.

Se adaptó el modelo vectorial al cambiar los términos por entidades y modificar la medida de similitud al introducir NLPfactor y proximity como valores.

En general los resultados muestran una mejoría respecto al modelo vectorial original en dos idiomas (inglés y español) en consultas largas y cortas. En inglés, las preguntas cortas tuvieron una mejoría en precisión de 35.11% mientras que en las largas fue de 12.96%. En español se lograron mejorías de 27.42% y 37.18% respectivamente. Comparándolos contra el método de coseno pivotado se obtuvo que en inglés se mejoró en 21.12% y 9.91% mientras que en español resultó con 19.76% y 36.67%.

Rojas, Y., Ferrández, A., & Peral, J. (2005). Aplicación del procesamiento de lenguaje natural en la recuperación de información. Procesamiento del lenguaje natural, (1999). Retrieved from http://www.sepln.org/revistaSEPLN/revista/34/02.pdf

Thursday, October 25, 2012

Hot Topic Detection in Local Areas Using Twitter and Wikipedia

El artículo habla sobre la detección de temas dentro de Twitter al observar las palabras que se incluyen en los mensajes, se buscan los temas más repetidos y se toman como hot topics. Sin embargo, que una palabra se encuentre en dos mensajes no significa que ambos hablen necesariamente del mismo evento, por ejemplo encontrar estadio puede referirse en un mensaje a un partido de beisbol y en otro a un juego de fútbol. Para corregir los errores que pueden generarse por este problema, utilizaron las propiedades temporales y espaciales de los mensajes.

El sistema propuesto utiliza la siguiente arquitectura:

image

Primer se toman todos los tuits que tengan geotagging activado pero se eliminan los que provienen de foursquare debido a que la mayoría solo contienen información del sitio y un enlace. Posteriormente emplearon MeCab (herramienta morfológica del idioma japonés) para descomponer el cuerpo de los mensajes en las partes en su categoría gramatical enfocándose solamente en los sustantivos y verbos.

Después de construir un conjunto de palabras semánticamente relacionadas obtenidas en los tuits, se procede a detectar los hot topics mediante los siguientes pasos:

Construir la relación entre un conjunto de palabras:

Es posible que dos palabras distintas hablen de un mismo tema dando paso a un fenómeno llamado fluctuación semántica. Se tomaron en cuenta fluctuaciones ortográficas, espaciales y temporales.

Se asume que cada mensaje habla de un solo tema debido al límite de caracteres que existe en Twitter. Para determinar las relaciones entre palabras, primero se construye la relación de palabras entre cada par contenido en el tuit. Se establece un peso entre cada par de palabras que es directamente proporcional a la frecuencia en que ambas palabras son encontradas en distintos tuits. Se emplea a Wikipedia como medio para contribuir al cálculo de los pesos dependiendo de si los términos también son encontrados en su sitio.

Clasificar las palabras en temas o clustering:

Se emplea un método de clustering incremental para clasificar las palabras en temas. El threshold empleado en el método fue determinado de manera empírica. Se introduce un grado de similitud de asociación entre las palabras y los temas.

Detectar los hot topics utilizando un método de burst-detection:

Se utiliza un método de burst-detection para determinar la frecuencia de un tema en un periodo de tiempo. Se determina si el flujo de mensajes respecto a un tema es más denso que en condiciones normales al compararlo con otras fuentes foros y sitios de noticias.

El experimento realizado tomó en cuenta una región de 5x5 km alrededor de un estadio de beisbol para determinar la fluctuación semántica. Los resultados se muestran en las siguientes figuras:

imageimage

Se puede observar que las palabras Tokyo y Shinjyuku aparecen frecuentemente en el rango de tiempo al estar relacionadas con el espacio observado. Sin embargo, palabras como strike o preemptive point solo aparecen en una fecha específica como cuando ocurre un juego de beisbol ya que son términos directamente relacionados a dicho deporte. Además, ambas palabras no aparecen en todos los días en los que un juego ocurrió debido a que el número de mensajes relacionados a los juegos es relativamente bajo.

De las frecuencias se puede observar que existen temas que aparecen o aumentan su cantidad cuando el evento ocurre.

En general el sistema funciona al clasificar los tuits en temas de acuerdo a su contenido y se obtienen los principales dependiendo de la frecuencia en que se presenten mensajes que contienen palabras relacionadas con los temas.

Ishikawa, S., & Arakawa, Y. (2012). Hot topic detection in local areas using Twitter and Wikipedia. ARCS Workshops. Retrieved from http://ieeexplore.ieee.org/xpls/abs_all.jsp?arnumber=6222198

Thursday, October 18, 2012

TwiNER: Named Entity Recognition in Targeted Twitter Stream

Debido a la gran cantidad de mensajes generados en Twitter, se adopta comúnmente a un grupo objetivo que puede estar determinado por una región geográfica o una búsqueda sobre un grupo de palabras de modo que se pueda obtener una opinión de los usuarios más focalizada.

También se encuentra como totalmente deseable la posibilidad de detectar de manera temprana una posible crisis basada en el stream del grupo objetivo. Por ejemplo, las empresas podrían detectar nombres de competidores, personas o lugares que según su contexto puedan derivar en una crisis de relaciones públicas. Si la compañía logra una detección temprana, puede reaccionar de manera rápida evitando que la crisis crezca o se esparza.

Los proceso NER (Named Entity Recognition) tradicionales emplean las características lingüísticas locales de las frases, como capitalización y etiquetas POS (Part of Speech) de palabras previas, en documentos con una estructura bien formada. Los mensajes en Twitter debido a su naturaleza predominantemente informal y corta (limitada por los 140 caracteres permitidos), frecuentemente contienen errores gramaticales, faltas de ortografía o mala capitalización.

La estructura general de TwiNER se presenta en la siguiente figura:

image

A pesar de los problemas mencionados en los mensajes de Twitter, el orden de las palabras que denominan a una entidad suele respetarse por lo que se puede hacer una segmentación básica de palabras como se muestra en la siguiente figura:

image

La segmentación se lleva a cabo por la probabilidad de que las palabras formen una frase válida. La forma de calcular la probabilidad se basa en contar la aparición del segmente en un gran cuerpo de texto. Idealmente se utilizaría la totalidad de mensajes de Twitter pero debido a que no se pueden acceder, se emplea Microsoft Web N-Gram corpus que contiene todos los documentos del mercado EN-US indexados por Bing.

Otra forma de calcular la probabilidad consta en hacer la búsqueda de los segmentos en una base de conocimientos donde sean fácilmente reconocibles. Para esto se tomó un Snapshot del sitio en inglés de Wikipedia y se creó un diccionario con todos los títulos de artículos, paginas de desambiguación, páginas re-direccionadas (sinónimos) y wikilinks. Si un segmento encaja con algún término en el diccionario, entonces tiene una mayor probabilidad de ser una entidad.

Se combinan ambas fuentes con un algoritmo de programación dinámica para probar de manera eficiente varias combinaciones de segmentos. El algoritmo lleva a cabo segmentaciones binarias y se evalúa cada una de las posibilidades. La función con la que se evalúa esta basada en PMI (Point Mutual Information) y SCP (Symmetric Conditional Probability).

PMI calcula el grado en que dos palabras puedan encontrarse juntas que sea mayor a la casualidad. SCP calcula el grado de unión entre un bigrama dadas dos probabilidades condicionales para el bigrama dado cada término.

Se agregó una función que permite priorizar los nombres largos en los segmentos válidos ya que tienen una mayor probabilidad de ser el nombre de una entidad que los segmentos cortos.

Después de obtener los segmentos válidos de los mensajes, se debe hacer un filtrado de las entidades del resto de los segmentos. Como primer filtro se lleva a cabo lo siguiente:

  • Se eliminan segmentos que contienen o consisten jerga conocida y comúnmente utilizada. Se basan en el sitio http://www.noslang.com/dictionary/full
  • Eliminación de segmentos con caracteres repetidos consecutivamente como “hahahahahaha”, “gooooooood” y “nooooooooo” debido a que tienden a ser palabras que muestran una exageración de las emociones.
  • Palabras que inicien con # debido a que normalmente se utilizan para resaltar un tema. Simplemente no se les considera como entidades en esta investigación.

Ya que un contexto general no es suficiente para la identificación de las entidades, se emplea un contexto local. Se crea un grafo de segmentos en el que cada nodo es un segmento y los arcos son pesos dados por el Jaccard Index. Se basa en que no es común que un conjunto de segmentos que no son entidades, aparezca continuamente junto.

Se aplica un modelo de caminata aleatoria (random walk) para calcular la probabilidad estacionaria de cada segmento de ser una entidad al considerar el grafo como bidireccional. En la definición de la caminata, se crea un vector de tele-transportación que favorece a los segmendos que aparecen en los enlaces de Wikipedia ya que son los que tienen mayor probabilidad de ser una entidad.

Se emplearon dos conjuntos de datos para llevar a cabo las pruebas. El primero consiste en los usuarios con más seguidores de Singapur, mientras que el segundo consiste de la búsqueda de palabras relacionadas con la elección de Singapur en el año 2011.

Para ambos conjuntos de datos, se tomaron 5000 mensajes que fueron clasificados por dos anotadores humanos con conocimientos sobre entidades ubicadas en Singapur.

Las métricas usadas para la evaluación son: Precision (Prec),Recall y F1. Prec cuantifica el porcentaje de frases extraídas que en realidad son una entidad. Recall cuantifica el número de entidades que son reconocidas correctamente. F1 es la media armónica entre Prec y Recall.

Se compararon los resultados con:

  • LBJ-NER: NER basado en el perceptrón de promedio regularizado basado en índices tomados de Wikipedia.
  • Stanford-NER: NER basado en el modelo CRF que incorpora información de distancia.
  • T-NER: NER supervisado que utiliza el modelo CRF para aprendizaje e inferencia.

Se hicieron dos pruebas, la primera con los NER entrenados con datos de Twitter y una segunda con los NER entrenados con datos formales. El desempeño de los NER supervisados varía notablemente dependiendo de la fuente de entrenamiento. Los resultados se muestran a continuación:

image

image

Li, C., Weng, J., He, Q., Yao, Y., Datta, A., Sun, A., & Lee, B. (2012). TwiNER. Proceedings of the 35th international ACM SIGIR conference on Research and development in information retrieval - SIGIR  ’12 (p. 721). New York, New York, USA: ACM Press. doi:10.1145/2348283.2348380