Showing posts with label Sentiment Analysis. Show all posts
Showing posts with label Sentiment Analysis. 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 15, 2013

Notas sobre Sentiment Analysis y Opinion Mining

Existe una asociación enfocada en la promoción de trabajos de procesamiento de lenguaje natural y la lingüística computacional. Se llama: Association for Computational Linguistics, tienen una serie de conferencias, asociaciones regionales y un journal (Computational Lingüistics).

Las conferencias más recientes de la ACL son:

  • Annual Meeting of the Association for Computational Linguistics
    • Long Papers:
      • Cross-domain co-extraction of sentiment and topic lexicons
      • Cross-lingual mixture model for sentiment classification
      • Polarity consistency checking for sentiment dictionaries
    • Short Papers
      • Baselines and Bigrams: Simple, Good Sentiment and Topic Classification
      • Identifying High-Impact Sub-Structures for Convolution Kernels in Document-level Sentiment Classification
  • International Conference on Intelligent Text Processing and Computational Linguistics (CICling)
    • Feature Specific Sentiment Analysis for Mixed Product Reviews
    • Biographies or Blenders: Which Resource is Best for Cross-Domain Sentiment Analysis?
    • A Generate-and-Test Method of Detecting Negative-Sentiment Sentences
    • Role of Event Actors and Sentiment Holders in Identifying Event-Sentiment Association
    • Applying Sentiment and Social Network Analysis in User Modeling
    • The 5W Structure for Sentiment Summarization-Visualization-Tracking
    • Naive Bayes Classifiers in opinion mining applications. In search of the best feature set
    • A Domain Independent Framework to Extract and Aggregate Analogous Features in Reviews
    • Learning Lexical Subjectivity Strength for Chinese Opinionated Sentence Identification
    • Building Subjectivity Lexicon(s) From Scratch For Essay Data
    • Emotion Ontology Construction From Chinese Knowledge
    • Complementary Proceedings:
      • Harnessing Wordnet Senses to Unify Sentiment Across Languages
      • Summarizing Public Opinions in Tweets
  • International Conference on Computational Linguistics (COLing)
    • Automatic Detection of Point of View Differences in Wikipedia
    • Sentiment Analysis in Twitter with Lightweight Discourse Analysis
    • A System For Multilingual Sentiment Learning On Big Data
    • Multi-View AdaBoost for Multilingual Subjectivity Analysis
    • Finding Thoughtful Comments from Social Media
    • Extraction of Russian Sentiment Lexicon for Product Meta-Domain
  • International Joint Conference on Natural Language Processing
    • Full papers
      • A POS-based Ensemble Model for Cross-domain Sentiment Classification
      • Automatic Topic Model Adaptation for Sentiment Analysis in Structured Domains
      • Detecting and Blocking False Sentiment Propagation
      • Enhancing the HL-SOT Approach to Sentiment Analysis via a Localized Feature Selection Framework
      • Towards Fine-Grained Sentiment Analysis with Structural Features
    • Short papers
      • Mining the Sentiment Expectation of Nouns Using Bootstrapping Method
    • Posters
      • Discovering Resource Terms for Sentiment Analysis
  • Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning
    • Active Learning for Imbalanced Sentiment Classification
    • Why Question Answering using Sentiment Analysis and Word Classes
    • Do Neighbours Help? An Exploration of Graph-based Algorithms for Cross-domain Sentiment Classification
    • Opinion Target Extraction Using Word-Based Translation Model
    • Answering Product Opinionated Questions by Exploiting Hierarchical Organization of Consumer Reviews
    • Extracting Opinion Expressions with semi-Markov Conditional Random Fields
  • Recent Advances in Natural Language
    • Sentiments and Opinions in Health-related Web messages
    • An Exploration into the Use of Contextual Document Clustering for Cluster Sentiment Analysis
    • Evaluating the Robustness of EmotiBlog for Sentiment Analysis and Opinion Mining
    • Multilingual Entity-Centered Sentiment Analysis Evaluated by Parallel Corpora

En general, la ACL es una agrupación que consolida diversas fuentes, las conferencias presentadas cuentan con el apoyo (patrocinio) de empresas como Google, IBM, Microsoft, etc. Todos los artículos presentados se encuentran en su repositorio en línea: http://aclweb.org/anthology-new/

Otras conferencias con artículos publicados relacionados a Sentiment Analysis y Opinion Mining son:

  • ACM International Conference on Web Search and Data Mining
    • A Large-Scale Sentiment Analysis for Yahoo! Answers
    • Mining Contrastive Opinions on Political Texts using the Cross-perspective Topic Model
    • Find Me Opinion Sources in Blogosphere: Opinionated Blog Feed Retrieval
    • Mining Contrastive Opinions on Political Texts using the Cross-perspective Topic Model
  • International Word Wide Web Conference:
    • Micropinion Generation: An Unsupervised Approach to Generating Ultra-Concise Summaries of Opinions
    • Building reputation and trust using federated search and opinion mining
    • Automatic Construction of a Context-Aware Sentiment Lexicon: An Optimization Approach
  • ACM Conference on Knowledge Discovery and Data Mining (SIGKDD)
    • Entity-Centric Topic-Oriented Opinion Summarization in Twitter
    • From Bias to Opinion: A Transfer-Learning Approach to Sentiment Analysis
  • International conference on Applications of Natural Language Processing to Information Systems
    • Blog Distillation via Sentiment-Sensitive Link Analysis
    • Improving document-level sentiment classification using contextual valence shifters
    • Extracting Social Events Based on Timeline and Sentiment analysis in Twitter Corpus
    • Comparing Different Methods for Opinion Mining in Newspaper Articles
    • Can Text Summaries help to Predict Ratings? A Case Study of Movie Reviews

Algunas de las áreas de investigación son:

  • Expandir el uso a que no sea sólo un tema.
  • Expandir/complementar el uso con textos de distintos idiomas.
  • Creación de un perfil (modelo) de usuario en base a sus opiniones.
  • Pre-procesamiento (creación de diccionarios, descubrimiento de términos, etc.)
  • Aplicaciones en un idioma en específico (sub-problemas basados en el idioma).
  • Predicción de aceptación de un producto/tema.
  • Optimización de parámetros.

Friday, February 8, 2013

Sentiment Analysis of Twitter Data

En este artículo se proponen modelos para clasificar los sentimientos u opiniones encontradas en Twitter y se clasifican en positivos, negativos o neutrales. En general se hace uso de un modelo de unigramas, uno basado en características de los mensajes y otro en un tree kernel.

Se obtuvieron 11,875 mensajes manualmente etiquetados de una fuente comercial. Los mensajes fueron obtenidos del flujo principal de Twitter por lo que no se incluyó una restricción en específico. Como no se distinguió en cuanto al idioma de los datos, se empleó el traductor de Google para unificarlos en inglés. Al final y tras descartar los mensajes que no pudieron ser clasificados por humanos (algunos de estos debido a una traducción ineficaz), se quedaron con 1709 mensajes de cada clase.

Al pre-procesamiento de los datos, se incluye un traductor de emoticons y otro de acrónimos. Algunos ejemplos del uso de ambos se muestran en las siguientes figuras:

image

image

Se obtuvieron en general las siguientes estadísticas:

image

Empleando una técnica propuesta por Agarwall (Apoorv Agarwal, Fadi Biadsy, y Kathleen Mckeown.2009. Contextual phrase-level polarity analysis using lexical affect scoring and syntactic n-grams), se asigna una polaridad a cada palabra dando así un número que representa su agrado. Se cubren el 88.9% de las palabras en inglés.

Se definen una serie de árboles como representación de los mensajes obtenidos, se incluye el mensaje y las características que posee (su etiqueta correspondiente). Un ejemplo se muestra a continuación:

image

También se crean todos los sub-árboles posibles para ser comparados con otros. El llevar a cabo esto permite la comparación entre información que extrae de otros datos y evita la creación de la comparación de características y estructuras definidas a mano.

Mientras que las características tomadas en cuenta se muestran en la siguiente figura:

image

Los experimentos se llevaron a cabo para clasificar en positivos y negativos y un segundo en positivos, negativos y neutrales. Se probó el modelo con unigramas, tree kernel, 100 características (Senti-features), kernel + Senti-features y unigramas + Senti-features. Todo es probado en una SVM.

Los resultados generales para la clasificación entre positivos y negativos se muestran a continuación:

image 

De estos resultados, al ser unigramas + Senti-features los que obtuvieron una mejor precisión, se analizaron las características empleadas para determinar las más determinantes dando el siguiente resultado:

image

Por otra parte, se repitieron los experimentos pero incluyendo la clase neutral, los resultados se muestran a continuación:

image

image

En general, aplicaron el modelo de unigramas y obtuvieron una mejora del 4% al incluir las características (Senti-features) que ellos determinaron. En trabajo a futuro se propone el enriquecimiento del proceso empleando un análisis lingüístico más a detalle como: parseo, análisis semántico y modelado de temas.

Apoorv Agarwal, Boyi Xie, Ilia Vovsha, Owen Rambow, R. P. (2011). Sentiment Analysis of Twitter Data. ACL HLT 2011 Workshop on Language in Social Media LSM 2011 Proceedings of the Workshop (pp. 30–38).

Twitter as a Corpus for Sentiment Analysis and Opinion Mining

Las principales contribuciones en el artículo son:

  • Se presenta un método para recolectar opiniones positivas o negativas de los mensajes en Twitter.
  • El método mencionado también permite recolectar mensajes objetivos (hechos).
  • Se lleva a cabo un análisis estadístico lingüístico del corpus.
  • Se creó un sistema de clasificación de opiniones con los mensajes recolectados.

Para recolectar los datos (en cuanto a opiniones o sentimientos positivos y negativos) se basaron en un trabajo previo que hace uso de los emoticons presentes en Twitter. Los emoticons buscados fueron:

  • Emoticons de felicidad: “:-)”, “:)”, “=)”, “:D” etc.
  • Emoticons de tristeza: “:-(”, “:(”, “=(”, “;(” etc.

Para recolectar el corpus para los datos objetivos, se tomaron mensajes de periódicos y revistas populares como New York Times, Washington Post, etc. En total fueron mensajes de 40 cuentas usadas en esta parte.

Debido a la restricción de longitud en la red social (los mensajes no puede exceder los 140 caracteres), se asume que cada mensaje es una sola oración y que la presencia de un emoticon representa la emoción de todo el mensaje y que todas las palabras del mensaje están relacionadas al emoticon.

El primer análisis que llevaron a cabo sobre los datos recolectados fue simplemente de frecuencias de palabras. Posteriormente llevaron a cabo un análisis sintáctico usando el TreeTager. Se produjeron los siguientes resultados:

image

image

Entre algunas de las observaciones, encontraron que los mensajes objetivos suele contener más nombres comunes y propios mientras que los mensajes subjetivos suelen contener pronombres personales. Los mensajes subjetivos suelen hablar en primera persona o hacia el público (segunda persona) mientras que los verbos en los textos objetivos se encuentran en tercera persona, entre otras observaciones.

Para el clasificador, se prueban tanto frecuencias como presencias de n-gramas, en el caso del último, se trata de encontrar el tamaño óptimo puesto que un tamaño grande debería de ser capaz de capturar patrones de expresiones de sentimientos mientras que un tamaño pequeño debería dar una buena cobertura de datos.

Para obtener los n-gramas se lleva a cabo el siguiente proceso:

  • Filtrado – se remueven los enlaces URL, nombres de usuarios, palabras especiales de Twitter y emoticons.
  • Se dividen el texto por sus espacios y signos de puntuación.
  • Se remueven los artículos.
  • Se crean los n-gramas del tamaño deseado con palabras consecutivas, si se presenta una negación, se toman las palabras que la siguen o que la anteceden.

Se crearon clasificadores empleando el clasificador multinominal Naive Bayes, SVM y CRF. El clasificador de Naive Bayes mostró los mejores resultados. Se crearon dos clasificadores para el Naive Bayes, uno toma en cuenta los n-gramas y el otro usa la distribución de la información arrojada por el POS.

Para mejorar la precisión del sistema, se descartan algunos n-gramas comunes que no aportan mayor información. Se emplea la entropía y la prominencia (salience) como medidas para decidir qué términos eliminar. La siguiente figura muestra algunos de esos términos:

image

En general se determinó que los bi-gramas son una mejor medida debido a que dan cierto balance, el incorporar las negaciones a las palabras mejora la precisión, aumentar el tamaño del dataset mejora el desempeño aunque llega un punto en que se estanca y la prominencia como método para descartar n-gramas mejora los resultados.

Pak, A., & Paroubek, P. (2010). Twitter as a corpus for sentiment analysis and opinion mining. Proceedings of LREC, 1320–1326. Retrieved from http://deepthoughtinc.com/wp-content/uploads/2011/01/Twitter-as-a-Corpus-for-Sentiment-Analysis-and-Opinion-Mining.pdf

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

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