poggi analytics - sentiment - 1

56
Buenos Aires, junio de 2016 Eduardo Poggi There's no right, there's no wrong, there's only popular opinion." Twelve Monkeys, 1995

Upload: gaston-liberman

Post on 16-Jan-2017

122 views

Category:

Business


1 download

TRANSCRIPT

Page 1: Poggi   analytics - sentiment - 1

Buenos Aires junio de 2016Eduardo Poggi

ldquoTheres no righttheres no wrong

theres only popular opinionTwelve Monkeys 1995

Sentiment analysis

iquestSA Aproximacioacuten

Sentiment analysis

Anaacutelisis de Sentimientos Extraccioacuten de Opiniones Mineriacutea de Opiniones Minera de Sentimientos o Anaacutelisis Subjetivo

Es la tarea de identificar y extraer informacioacuten subjetiva de textos no estructurados mediante procesamiento computacional

y tiene como objetivo principal determinar la actitud de un escritor ante determinados objetos situaciones o personas

Sentiment analysis

El uso de teoriacuteas cognitivas de la emocioacuten en el anaacutelisis computacional de sentimientos es incipiente pero algunas aproximaciones han mostrado ser uacutetiles para por ejemplo identificar similitudes y contrastes entre

Los estados afectivos se dividen en emocioacuten humor posturas interpersonales actitudes y rasgos de la personalidad

Los sentimientos son un subtipo de actitudes definidas como relativamente duraderas creencias afectivas preferencias y predisposiciones hacia objetos o personas

Sentiment analysis

Wheel of Emotions de Plutchik (Plutchik 2002)

Sentiment analysis

En su enfoque mas general el anaacutelisis computacional de sentimientos consiste en

detectar estas emociones quien las posee (holder) cuaacutel es el aspecto que genera la emocioacuten (target) cuaacutel es el tipo de emocioacuten (me gusta me encanta lo

valoro lo odio) la polaridad (positiva negativa neutra) cuaacuteles son las sentencias que las contienen

Sentiment analysis

El tipo de informacioacuten que puede obtenerse utilizando sistemas de AS incluye

Polaridad de sentimientos en criacuteticas sobre arte productos o servicios

Nivel de fidelizacioacuten de clientes Opinioacuten publica sobre personajes puacuteblicos o situaciones

de intereacutes social Predicciones sobre resultados de elecciones Tendencias de mercado

Sentiment analysis

Existen distintas tareas que pueden realizarse seguacuten complejidad creciente

Clasificacioacuten binaria de la actitud de un texto en positiva o negativa (tambieacuten puede existir el neutro)

Clasificacioacuten de un texto en muacuteltiples categoriacuteas seguacuten el grado de polaridad de la actitud dentro de una escala

Identificacioacuten de los aspectos mencionados en un texto y sus sentimientos asociados

Sentiment analysis

Por ejemplo consideremos la siguiente criacutetica de un restaurante extraiacuteda de una guiacutea gastronoacutemica online (wwwguiaoleocom)

ldquoMe gusta mucho este restaurante para comer comida aacuterabe La comida es fresca y se nota que hay rotacioacuten continua El ambiente es bastante ruidoso pero los mozos son muy amables y los precios muy accesibles

iquestCoacutemo lo clasificariacuteamos en los distintos niveles

Sentiment analysis

El resultado de realizar anaacutelisis de sentimientos sobre el texto anterior puede ser alguno de los siguientes seguacuten los enfoques antes mencionados

Clasificacioacuten Binaria Positivo

Clasificacioacuten en Muacuteltiples Categoriacuteas Rating 45

Clasificacioacuten de Aspectos Comida Positivo Ambiente Negativo Servicio Positivo Precio Positivo

Sentiment analysis

Dificultades maacutes importantes Deteccioacuten de sarcasmo ldquoEste restaurante es genial si

quereacutes terminar hospitalizado Neologismos ldquoEncontramos este lugar googleando Lunfardo ldquoLa cuenta un poco salada gastamos dos

gambas por cabeza Errores gramaticales y ortograacuteficos ldquoLa comida muy cara

para lo que es Un salteado de lomo mas paresca un salteado de papas Poca carne y un exagero de papas por 150 pesos

Informalidad en textos ldquoMaliiiiisimo este lugar no volvemos ni locossssss

Procesamiento de hashtags ldquoComiendo ceviche en sipanrestaurante bueniacutesimo

Procesamiento de emoticones ldquoTodo perfecto hasta que llego la cuenta (

Capitalizaciones ldquoComimos en El Buen Gusto el servicio es muy malo y la comida regular

Sentiment analysis

Seguacuten wwwcomscorecom 81 de los usuarios de Internet han hecho una

investigacioacuten sobre un producto al menos una vez 20 lo hacen en un da tiacutepico sobre los lectores de criacuteticas

online de restaurantes hoteles y servicios varios (agencias de viaje o doctores)

73-87 reportan que las criacuteticas han tenido una influencia significativa en sus compras

Consumidores reportan estar dispuestos a pagar desde un 20 a un 99 maacutes por un producto clasificado como 5-estrellas que por uno clasificado como 4-estrellas

32 han clasificado un producto servicio o persona a traveacutes de un sistema online de clasificaciones

30 han posteado un comentario online o criacutetica sobre un producto o servicio

Sentiment analysis

Definiciones Documento cada unidad de texto que conforma la

coleccioacuten de datos Es un texto no estructurado compuesto por un conjunto de sentencias o secuencia de palabras que expresan opiniones y emociones

Corpus conjunto de documentos que se utilizan como entrada para entrenar el modelo (conjunto de datos de entrenamiento) y por el conjunto de documentos que seraacuten clasificados utilizaacutendolo

Leacutexico de Opinioacuten conjunto de palabras o vocabulario que se utiliza para expresar opinioacuten en un idioma dado

Feature caracteriacutesticas o atributos de los documentos que nos permitan encontrar patrones para predecir la positividad o negatividad de las opiniones expresadas en un texto

N-Gramas

Modelado del Lenguaje con N-Gramas En la mayora de las tareas de procesamiento de lenguaje

natural es necesario identificar las sentencias o secuencias de palabras que ocurren con mayor probabilidad dado un contexto

El objetivo de un modelo de lenguaje es calcular la probabilidad de ocurrencia de una sentencia que es originada por una secuencia de palabras que pasa a traveacutes de lo que se conoce como Noisy Channel

N-Gramas

El modelo que es utilizado por ejemplo en las siguientes tareas

Reconocimiento de discurso donde y es la sentildeal acuacutestica producida

Traduccioacuten automaacutetica de textos donde y es la sentencia en otro idioma

Correccioacuten automaacutetica de textos donde y es la secuencia de caracteres emitida por un escritor imperfecto

En los tres casos dada una secuencia de salida y se busca predecir la sentencia w que la originoacute

N-Gramas

Los algoritmos que asignan probabilidades a una sentencia pueden ser tambieacuten utilizados para calcular la probabilidad de la siguiente palabra dada una sentencia Esto resulta de gran utilidad en tareas de part-of-speech-tagging

N-Gramas

Los algoritmos que asignan probabilidades a una sentencia pueden ser tambieacuten utilizados para calcular la probabilidad de la siguiente palabra dada una sentencia Esto resulta de gran utilidad en tareas de part-of-speech-tagging

N-Gramas Modelo de Unigrama

El modelo de Unigrama es el caso trivial de la premisa de Markov es decir aproxima la probabilidad de una palabra con la probabilidad de ocurrencia de esa palabra en el corpus de datos y sin tener en cuenta las palabras que la preceden es decir considerando N = 0

P(ojos | lo esencial es invisible a los) = P(ojos) Modelo de Bigrama

El modelo de Bigrama utiliza la premisa de Markov para aproximar la probabilidad de una palabra con la probabilidad de ocurrencia de esa palabra dada la palabra anterior es decir considerando N = 1

P(ojos | lo esencial es invisible a los) = P(ojos | los) Modelo de Trigrama

El mismo modelo descripto para unigramas y bigramas puede utilizarse teniendo en cuenta las dos palabras anteriores es decir considerando N = 2

P(ojos | lo esencial es invisible a los) = P(ojos | a los) Modelo de N-grama

Generalizando los modelos anteriores la probabilidad de una palabra puede aproximarse como la probabilidad de una palabra dadas las N palabras anteriores

Maximum Likelihood Estimate (MLE)

Se denomina Maximum Likelihood Estimate a la estimacioacuten de probabilidades utilizando la frecuencia relativa de una secuencia de palabras en un corpus de entrenamiento

Donde C(w1wi) es la cantidad de ocurrencias de la sentencia en el corpus de entrenamiento N es el numero total de sentencias y C(w1wi10485761) es la cantidad de ocurrencias de la secuencia de palabras precedentes

Smoothing

Como Smoothing se conocen las teacutecnicas para ajustar el modelo de MLE para estimar probabilidades en forma mas apropiada Esta teacutecnica tiende a unificar la distribucioacuten ajustando las bajas o nulas probabilidades hacia arriba y las altas hacia abajo Las teacutecnicas de smoothing mas utilizadas

Laplace Smoothing El meacutetodo de Laplace tambieacuten conocido como Add-One Smoothing es la teacutecnica mas

simple y consiste en asumir que cada n-grama aparece una vez mas de las que realmente aparece Los distintos trabajos de anaacutelisis de teacutecnicas de Smoothing muestran que este es un meacutetodo pobre de ajuste de probabilidades No es utilizado en modelado de lenguaje porque existen teacutecnicas mejores pero s se utiliza en tareas de clasificacioacuten de textos o en dominios donde el numero de ceros no es muy grande

Linear Interpolation Esta teacutecnica combina modelos de mayor orden con modelos de menor orden por ejemplo

en modelos de trigrama se combina con modelos de bigrama y unigrama que son menos afectados por la falta de ocurrencias en el corpus de entrenamiento Las probabilidades estimadas en cada modelo se combinan linealmente ponderadas seguacuten su contribucioacuten y dando como resultado una nueva probabilidad estimada

Backoff Esta teacutecnica tambieacuten combina modelos de mayor orden con modelos de menor orden

utilizando el que corresponda seguacuten la evidencia que se tenga en el corpus de entrenamiento Esta teacutecnica es utilizada generalmente en modelos de N-Grama muy grandes como la Web

Good-Turing Estimate En la estimacioacuten de Good Turing por cada N-Grama que ocurre r veces se pondera el

numero de N-gramas que ocurren exactamente r veces en el corpus de entrenamiento Witten-Bell Smoothing

Esta teacutecnica se basa en el modelo de interpolacioacuten lineal Se utiliza un modelo de mayor orden si el n-grama wi i1048576N+1 esta presente en el corpus de entrenamiento y se utilizan modelos de menor orden en caso contrario

Google N-Grams Datasets

Cuando no se tiene un corpus de entrenamiento pueden utilizarse datasets disponibles en la web para calcular la probabilidad de ocurrencia de una sentencia dada

Existen herramientas como Google N-Grams Dataset (Google 2008) que proveen grandes colecciones de datos en distintos idiomas y permiten calcular estas probabilidades con muy buena precisioacuten

Ademaacutes Google provee una herramienta para visualizar graacuteficamente la probabilidad de ocurrencia de un conjunto de sentencias dado un idioma y un nuacutemero de smoothing y utilizando grandes cantidades de libros como corpus de datos

Ngram Viewer Consideremos la sentencia ldquoun viaje y supongamos que

queremos estimar la probabilidad de que esta secuencia de palabras este seguida de la palabra ldquoa es decir P(ajun viaje)

Se observa en un corpus de entrenamiento que esta sentencia aparece diez veces de las cuales seis estaacuten seguidas de la palabra ldquoa tres de la palabra ldquolargo y una de la palabra ldquodesde

La estimacioacuten basada en frecuencias relativas asignara las siguientes probabilidades de ocurrencia de la proacutexima palabra

P(a|un viaje) = 06 P(largo|un viaje) = 03 P(desde|un viaje) = 01

La estimacioacuten MLE asignara probabilidad cero a cualquier otro evento que no se encuentre en el corpus de entrenamiento y maximizara la probabilidad de los eventos observados

4En espa~nol es conocido comohttpsbooksgooglecomngrams

Deteccioacuten de features

Bag of Words Se consideran features todos los teacuterminos del corpus de entrenamiento descartando la posicioacuten Cuando se utiliza este feature puede considerarse frecuencia de aparicioacuten o no por lo que podemos hacer la siguiente distincioacuten

Presencia de Unigramas por cada documento se evaluacutea la presencia o ausencia de cada unigrama descartando la informacioacuten de frecuencia de aparicioacuten

Frecuencia de Unigramas por cada documento se evaluacutea la frecuencia con la que aparece cada unigrama

Presencia de Bigramas se consideran features todos los conjuntos de dos teacuterminos consecutivos del corpus de entrenamiento y por cada documento se evaluacutea la presencia o ausencia de cada bigrama

Presencia de Adjetivos se consideran features todos los adjetivos del corpus de entrenamiento y por cada documento se evaluacutea presencia o ausencia Este tipo de feature es utilizado en tareas de AS dado que los adjetivos aportan la informacioacuten mas relevante en cuanto a opiniones y sentimientos

Deteccioacuten de features

Cuando se tienen demasiados features puede ser necesario eliminar aquellos que aporten menos informacioacuten al clasificador con el objetivo de mejorar la performance y reducir el costo de entrenamiento Para esta tarea el meacutetodo mas utilizado consiste en seleccionar los top N features (generalmente en porcentaje) ordenados por frecuencia de aparicioacuten en el conjunto de datos de entrenamiento

En aplicaciones reales de anaacutelisis de sentimientos resulta fundamental utilizar features y pesos especiacuteficos de dominio para mejorar la performance de los clasificadores

Modelos Generativos vs Discriminativos

Los clasificadores generativos aprenden el modelo a partir de la forma en que se generan las observaciones esto es a partir de la probabilidad conjunta P(CD) (donde D es el documento y C la clase) y realizan la prediccioacuten maximizando la probabilidad condicional P(C|D) que es calculada utilizando el teorema de Bayes

Los clasificadores discriminativos modelan directamente la probabilidad condicional P(C|D) para realizar la prediccioacuten es decir a partir de la estructura oculta de los datos sin tener en cuenta la forma en que se generan

La desventaja de los modelos generativos es que resuelven un problema maacutes general como paso intermedio en cambio en los modelos discriminativos se resuelve el problema de clasificacioacuten directamente

Si tuvieacuteramos que clasificar el idioma de un texto dado el enfoque generativo se basaraacute en aprender el idioma a partir de las observaciones del corpus de entrenamiento para luego predecir en que idioma esta escrito el texto

La caracteriacutestica maacutes importante de los modelos discriminativos es que asignan pesos a los features de forma que el modelo corresponda con las observaciones Esto resuelve el problema de los modelos generativos donde los features son multiplicados aunque aporten la misma informacioacuten

Los modelos generativos mas importantes son los modelos de N-Gramas y NB y los modelos discriminativos mas relevantes son Logistic Regression Maximum Entropy Models SVM etc

NB

NB es un meacutetodo de clasificacioacuten supervisado y generativo que se basa en el teorema de Bayes y en la premisa de independencia de los atributos dada una clase

Las distintas implementaciones difieren principalmente en la aproximacioacuten de P(fk|Ci) y las teacutecnicas de smoothing utilizadas para el tratamiento de probabilidades bajas o nulas

Multinomial NB

En el caso de utilizar como features todos los teacuterminos del vocabulario del corpus de entrenamiento teniendo en cuenta su frecuencia de aparicioacuten add-one como teacutecnica de smoothing y MLE para estimar P(fk|Ci)

Multinomial NB - Ejemplo

Multinomial NB - Ejemplo

Binarized Multinomial NB

En el modelo Multinomial consideraacutebamos la frecuencia de aparicioacuten de cada feature para la estimacioacuten de P(fk|Ci) A diferencia de este meacutetodo NB puede ser implementado considerando exclusivamente presencia o ausencia de features es decir asociaacutendolos con un valor booleano cuando se evaluacutea un documento y descartando informacioacuten de frecuencia y posicioacuten

Binarized Multinomial NB - Ejemplo

Modelo de Maacutexima Entropiacutea

Es un meacutetodo de clasificacioacuten discriminativo y de aprendizaje supervisado donde los documentos del conjunto de datos son descriptos a partir de una lista de features siendo cada uno de estos features una restriccioacuten del modelo

Este meacutetodo se basa en seleccionar la distribucioacuten de probabilidad que satisfaga todas las restricciones del modelo y maximice la entropiacutea Esto apunta a preservar la incertidumbre tanto como sea posible

Polaridad de Turney Propone en su trabajo un meacutetodo no-supervisado

para la clasificacioacuten de textos seguacuten informacioacuten subjetiva que se basa en predecir la polaridad de un documento en base a su orientacioacuten semaacutentica

La orientacioacuten de un documento es calculada en base a la distancia a los teacuterminos del idioma ingles ldquoexcelent y ldquopoor que sugieren referencias positivas y negativas respectivamente

El algoritmo propuesto consiste en los siguientes 3 pasos

Extraer las frases del documento que contienen adjetivos o adverbios utilizando una herramienta de part-of-speech tagging

Estimar la orientacioacuten semaacutentica de cada frase extraiacuteda utilizando el algoritmo PMI-IR

Asignar las clases ldquorecomendado o ldquono recomendado al documento

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Polaridad de Turney

En el primer paso se extraen grupos de dos palabras cuyas etiquetas correspondan con los siguientes patrones

Siendo JJ Adjetivos NN Sustantivos en Singular NNS

Sustantivos en Plural RB Adverbios RBS Adverbios Superlativos RBR Adverbios Comparativos VB Verbos VBD Verbos en Pasado VBN Verbos en Pasado Participio VBG Verbos Gerundios o Pasado Participio

Algoritmo PMI-IR

Este algoritmo utiliza la teacutecnica de Pointwise Mutual Information (PMI) para obtener una medida de la asociacioacuten semaacutentica entre dos palabras seguacuten la ecuacioacuten que sigue

Siendo p(word1 amp word2) la probabilidad de que las palabras ocurran juntas

Luego la orientacioacuten semaacutentica se calcularaacute de la siguiente manera

Algoritmo PMI-IR El algoritmo PMI-IR estima el valor de PMI

realizando consultas a un motor de buacutesqueda a partir de la cantidad de resultados que devuelve la consulta y utilizando el operador NEAR que proveen algunos buscadores para estimar la ocurrencia conjunta de dos teacuterminos

Por ultimo la clasificacioacuten de un documento como ldquorecomendable o ldquono recomendable se realizaraacute a partir del caacutelculo de la orientacioacuten semaacutentica promedio de todas las frases extraiacutedas del documento

Algoritmo PMI-IR Consideraremos los teacuterminos ldquoexcelente como referencia

de polaridad positiva y los teacuterminos ldquomal malo mala como referencia negativa y estimaremos el operador NEAR a partir de la ocurrencia conjunta de palabras en la misma sentencia Consideremos las frases ldquobuena comida y ldquocomida friacutea para el caacutelculo de orientacioacuten semaacutentica

Clasificacioacuten basada en Leacutexico de Opinioacuten Existen otros meacutetodos de clasificacioacuten considerados no

supervisados o semi-supervisados que se basan en utilizar un conjunto de teacuterminos ldquosemillaldquo cuya polaridad es conocida y la clasificacioacuten consiste en calcular la similitud o distancia de los teacuterminos que componen el documento a estos teacuterminos conocidos

En este tipo de meacutetodos el leacutexico es utilizado como reemplazo de los features del modelo El ejemplo mas extremo de utilizacioacuten de leacutexico de opinioacuten es el algoritmo de Turney que utiliza la polaridad conocida de dos uacutenicos teacuterminos para clasificar un texto a partir de la distancia de los teacuterminos del documento a ellos

En un trabajo Sidorov (2012) se propone un leacutexico de opinioacuten de mas de 2000 palabras en idioma espantildeol que incluye la distancia de cada uno de estos teacuterminos a alguna de las siguientes emociones baacutesicas alegra ira miedo tristeza sorpresa y disgusto

En base a esta informacioacuten podraacute desarrollarse un algoritmo que infiera la polaridad de una sentencia a partir de calcular la distancia de los teacuterminos que la componen a las emociones baacutesicas asociadas a sentimientos positivos o negativos

Clasificacioacuten basada en Leacutexico de Opinioacuten

En este tipo de clasificadores puede ser necesario asociar la polaridad de los teacuterminos del leacutexico a dominios u objetivos especiacuteficos Por ejemplo

La palabra ldquobarato puede asociarse a sentimientos positivos cuando se refiere a comida y a sentimientos negativos cuando se refiere a vestimenta o decoracioacuten de ambientes

La palabra ldquoantildeejo tiene una connotacioacuten positiva cuando se refiere a vinos y altamente negativa si se refiere a comida

El termino ldquofriacuteo se asocia a emociones negativas si se habla de pizza y positivas si se habla de cervezas etc

Clasificacioacuten basada en Leacutexico de Opinioacuten Otro meacutetodo semi-supervisado basado en leacutexico de opinioacuten

consiste en identificar la polaridad de los adjetivos de un texto a partir de la ocurrencia conjunta con teacuterminos cuya polaridad es conocida y teniendo en cuenta la conjuncioacuten que los relaciona es decir considerando que si los adjetivos estaacuten conectados por el termino ldquoy tendraacuten la misma polaridad mientras que si aparecen conectados por el termino ldquopero tendraacuten polaridad opuesta

Un ejemplo Etiquetar un conjunto inicial de adjetivos semilla seguacuten su

polaridad Extender el conjunto anterior a partir de la ocurrencia conjunta

de los adjetivos conocidos con otros adjetivos y teniendo en cuenta la conjuncioacuten que los relaciona para determinar si tienen la misma polaridad u opuesta

Utilizar un clasificador supervisado para determinar el grado de similitud de polaridad de cada par de adjetivos generando como resultado un graacutefico que relacione los adjetivos del conjunto de datos

Clusterizar el graacutefico anterior en dos grandes grupos de polaridad similar (positivos y negativos)

Clasificacioacuten basada en Puntaje Para clasificar un texto de forma maacutes subjetiva se puede asignar a

cada documento un puntaje dentro de una escala dependiendo del grado de polaridad que expresa (por ejemplo asignar estrellas del 1 al 5)

La solucioacuten mas simple para esta tarea es clasificar el texto utilizando muacuteltiples categoriacuteas como clases Esta clasificacioacuten puede realizarse con los algoritmos como NB

Como SVM se utiliza para clasificacioacuten binaria se puede utilizar One-vs-All que se basa en crear un clasificador SVM para cada clase cuya salida nos permita saber si el documento pertenece o no a la clase en cuestioacuten

Otra solucion para resolver esta tarea consideraacutendola un problema de metric labeling En este tipo de problema la entrada es un conjunto de etiquetas (clases) y un grafo ponderado Se define una funcioacuten de distancia de las etiquetas y para cada etiqueta el costo de asignacioacuten a cada veacutertice siendo el objetivo encontrar el menor costo de asignar una etiqueta a un veacutertice Este enfoque combina los clasificadores SVM y k-nearest neighbors que es un meacutetodo no parametrito de clasificacioacuten basado en encontrar los elementos mas cercanos del conjunto de datos de entrenamiento en el espacio de features

Otro enfoque para la tarea de clasificacioacuten en muacuteltiples categoriacuteas consiste en utilizar un meacutetodo de regresioacuten considerando que las categoriacuteas corresponden a la discretizacioacuten de una funcioacuten continua

Clasificacioacuten de Muacuteltiples Aspectos Hasta ahora hemos presentado las tareas de anaacutelisis de

sentimientos a nivel de documento es decir asignando una clase a un documento completo a partir de las emociones que expresa Esta clasificacioacuten puede ser binaria (polaridad positiva o negativa) o basada en muacuteltiples categoriacuteas (utilizando puntajes o estrellas como clases) pero en ambos casos se claacutesica el documento completo

En esta seccioacuten presentaremos la clasificacioacuten aislada de los muacuteltiples objetivos aspectos o targets que generan opinioacuten dentro de un mismo documento Esta tarea es conocida como Multi-Aspect Sentiment Analysis

El objetivo de esta tarea consiste en la identificacioacuten de aspectos que generan opinioacuten dentro de un mismo documento seleccionando aquellas caracteriacutesticas que son frecuentemente mencionadas y las emociones asociadas Para identificar estas caracteriacutesticas o aspectos la solucioacuten mas simple consiste en utilizar un parser que nos permita obtener las frases nominales del documento teniendo en cuenta que la mayora de los aspectos son sustantivos

Clasificacioacuten de Muacuteltiples Aspectos

ldquoexcelente comida el ambiente es bastante ruidoso pero los precios accesibles

Clasificacioacuten de Muacuteltiples Aspectos A partir de la clasificacioacuten anterior podremos extraer los

sustantivos o frases nominales que nos permitiraacuten identificar teacuterminos candidatos a aspectos y los adjetivos para identificar las emociones asociadas Para obtener la polaridad de sentimientos utilizaremos los meacutetodos de clasificacioacuten estudiados en secciones anteriores

Luego a partir de la polaridad de la emocioacuten que genera cada aspecto debemos establecer un criterio que nos permita asignar pesos para obtener la polaridad general del documento La forma mas simple Serra basaacutendonos en la frecuencia de aparicioacuten de cada aspecto en el corpus de datos

Otro meacutetodo simple para la identificacioacuten de targets que generan opinioacuten consiste en definir aspectos ad-hoc para un determinado dominio por ejemplo

f(COMIDA SERVICIO AMBIENTE OTROS) y luego ejecutar la clasificacioacuten de todos los teacuterminos del

documento utilizando un meacutetodo supervisado y un conjunto de datos de entrenamiento clasificado manualmente que nos permita obtener aquellos teacuterminos que pertenecen a alguna de las clases de aspectos relevantes generadores de opinioacuten

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 2: Poggi   analytics - sentiment - 1

Sentiment analysis

iquestSA Aproximacioacuten

Sentiment analysis

Anaacutelisis de Sentimientos Extraccioacuten de Opiniones Mineriacutea de Opiniones Minera de Sentimientos o Anaacutelisis Subjetivo

Es la tarea de identificar y extraer informacioacuten subjetiva de textos no estructurados mediante procesamiento computacional

y tiene como objetivo principal determinar la actitud de un escritor ante determinados objetos situaciones o personas

Sentiment analysis

El uso de teoriacuteas cognitivas de la emocioacuten en el anaacutelisis computacional de sentimientos es incipiente pero algunas aproximaciones han mostrado ser uacutetiles para por ejemplo identificar similitudes y contrastes entre

Los estados afectivos se dividen en emocioacuten humor posturas interpersonales actitudes y rasgos de la personalidad

Los sentimientos son un subtipo de actitudes definidas como relativamente duraderas creencias afectivas preferencias y predisposiciones hacia objetos o personas

Sentiment analysis

Wheel of Emotions de Plutchik (Plutchik 2002)

Sentiment analysis

En su enfoque mas general el anaacutelisis computacional de sentimientos consiste en

detectar estas emociones quien las posee (holder) cuaacutel es el aspecto que genera la emocioacuten (target) cuaacutel es el tipo de emocioacuten (me gusta me encanta lo

valoro lo odio) la polaridad (positiva negativa neutra) cuaacuteles son las sentencias que las contienen

Sentiment analysis

El tipo de informacioacuten que puede obtenerse utilizando sistemas de AS incluye

Polaridad de sentimientos en criacuteticas sobre arte productos o servicios

Nivel de fidelizacioacuten de clientes Opinioacuten publica sobre personajes puacuteblicos o situaciones

de intereacutes social Predicciones sobre resultados de elecciones Tendencias de mercado

Sentiment analysis

Existen distintas tareas que pueden realizarse seguacuten complejidad creciente

Clasificacioacuten binaria de la actitud de un texto en positiva o negativa (tambieacuten puede existir el neutro)

Clasificacioacuten de un texto en muacuteltiples categoriacuteas seguacuten el grado de polaridad de la actitud dentro de una escala

Identificacioacuten de los aspectos mencionados en un texto y sus sentimientos asociados

Sentiment analysis

Por ejemplo consideremos la siguiente criacutetica de un restaurante extraiacuteda de una guiacutea gastronoacutemica online (wwwguiaoleocom)

ldquoMe gusta mucho este restaurante para comer comida aacuterabe La comida es fresca y se nota que hay rotacioacuten continua El ambiente es bastante ruidoso pero los mozos son muy amables y los precios muy accesibles

iquestCoacutemo lo clasificariacuteamos en los distintos niveles

Sentiment analysis

El resultado de realizar anaacutelisis de sentimientos sobre el texto anterior puede ser alguno de los siguientes seguacuten los enfoques antes mencionados

Clasificacioacuten Binaria Positivo

Clasificacioacuten en Muacuteltiples Categoriacuteas Rating 45

Clasificacioacuten de Aspectos Comida Positivo Ambiente Negativo Servicio Positivo Precio Positivo

Sentiment analysis

Dificultades maacutes importantes Deteccioacuten de sarcasmo ldquoEste restaurante es genial si

quereacutes terminar hospitalizado Neologismos ldquoEncontramos este lugar googleando Lunfardo ldquoLa cuenta un poco salada gastamos dos

gambas por cabeza Errores gramaticales y ortograacuteficos ldquoLa comida muy cara

para lo que es Un salteado de lomo mas paresca un salteado de papas Poca carne y un exagero de papas por 150 pesos

Informalidad en textos ldquoMaliiiiisimo este lugar no volvemos ni locossssss

Procesamiento de hashtags ldquoComiendo ceviche en sipanrestaurante bueniacutesimo

Procesamiento de emoticones ldquoTodo perfecto hasta que llego la cuenta (

Capitalizaciones ldquoComimos en El Buen Gusto el servicio es muy malo y la comida regular

Sentiment analysis

Seguacuten wwwcomscorecom 81 de los usuarios de Internet han hecho una

investigacioacuten sobre un producto al menos una vez 20 lo hacen en un da tiacutepico sobre los lectores de criacuteticas

online de restaurantes hoteles y servicios varios (agencias de viaje o doctores)

73-87 reportan que las criacuteticas han tenido una influencia significativa en sus compras

Consumidores reportan estar dispuestos a pagar desde un 20 a un 99 maacutes por un producto clasificado como 5-estrellas que por uno clasificado como 4-estrellas

32 han clasificado un producto servicio o persona a traveacutes de un sistema online de clasificaciones

30 han posteado un comentario online o criacutetica sobre un producto o servicio

Sentiment analysis

Definiciones Documento cada unidad de texto que conforma la

coleccioacuten de datos Es un texto no estructurado compuesto por un conjunto de sentencias o secuencia de palabras que expresan opiniones y emociones

Corpus conjunto de documentos que se utilizan como entrada para entrenar el modelo (conjunto de datos de entrenamiento) y por el conjunto de documentos que seraacuten clasificados utilizaacutendolo

Leacutexico de Opinioacuten conjunto de palabras o vocabulario que se utiliza para expresar opinioacuten en un idioma dado

Feature caracteriacutesticas o atributos de los documentos que nos permitan encontrar patrones para predecir la positividad o negatividad de las opiniones expresadas en un texto

N-Gramas

Modelado del Lenguaje con N-Gramas En la mayora de las tareas de procesamiento de lenguaje

natural es necesario identificar las sentencias o secuencias de palabras que ocurren con mayor probabilidad dado un contexto

El objetivo de un modelo de lenguaje es calcular la probabilidad de ocurrencia de una sentencia que es originada por una secuencia de palabras que pasa a traveacutes de lo que se conoce como Noisy Channel

N-Gramas

El modelo que es utilizado por ejemplo en las siguientes tareas

Reconocimiento de discurso donde y es la sentildeal acuacutestica producida

Traduccioacuten automaacutetica de textos donde y es la sentencia en otro idioma

Correccioacuten automaacutetica de textos donde y es la secuencia de caracteres emitida por un escritor imperfecto

En los tres casos dada una secuencia de salida y se busca predecir la sentencia w que la originoacute

N-Gramas

Los algoritmos que asignan probabilidades a una sentencia pueden ser tambieacuten utilizados para calcular la probabilidad de la siguiente palabra dada una sentencia Esto resulta de gran utilidad en tareas de part-of-speech-tagging

N-Gramas

Los algoritmos que asignan probabilidades a una sentencia pueden ser tambieacuten utilizados para calcular la probabilidad de la siguiente palabra dada una sentencia Esto resulta de gran utilidad en tareas de part-of-speech-tagging

N-Gramas Modelo de Unigrama

El modelo de Unigrama es el caso trivial de la premisa de Markov es decir aproxima la probabilidad de una palabra con la probabilidad de ocurrencia de esa palabra en el corpus de datos y sin tener en cuenta las palabras que la preceden es decir considerando N = 0

P(ojos | lo esencial es invisible a los) = P(ojos) Modelo de Bigrama

El modelo de Bigrama utiliza la premisa de Markov para aproximar la probabilidad de una palabra con la probabilidad de ocurrencia de esa palabra dada la palabra anterior es decir considerando N = 1

P(ojos | lo esencial es invisible a los) = P(ojos | los) Modelo de Trigrama

El mismo modelo descripto para unigramas y bigramas puede utilizarse teniendo en cuenta las dos palabras anteriores es decir considerando N = 2

P(ojos | lo esencial es invisible a los) = P(ojos | a los) Modelo de N-grama

Generalizando los modelos anteriores la probabilidad de una palabra puede aproximarse como la probabilidad de una palabra dadas las N palabras anteriores

Maximum Likelihood Estimate (MLE)

Se denomina Maximum Likelihood Estimate a la estimacioacuten de probabilidades utilizando la frecuencia relativa de una secuencia de palabras en un corpus de entrenamiento

Donde C(w1wi) es la cantidad de ocurrencias de la sentencia en el corpus de entrenamiento N es el numero total de sentencias y C(w1wi10485761) es la cantidad de ocurrencias de la secuencia de palabras precedentes

Smoothing

Como Smoothing se conocen las teacutecnicas para ajustar el modelo de MLE para estimar probabilidades en forma mas apropiada Esta teacutecnica tiende a unificar la distribucioacuten ajustando las bajas o nulas probabilidades hacia arriba y las altas hacia abajo Las teacutecnicas de smoothing mas utilizadas

Laplace Smoothing El meacutetodo de Laplace tambieacuten conocido como Add-One Smoothing es la teacutecnica mas

simple y consiste en asumir que cada n-grama aparece una vez mas de las que realmente aparece Los distintos trabajos de anaacutelisis de teacutecnicas de Smoothing muestran que este es un meacutetodo pobre de ajuste de probabilidades No es utilizado en modelado de lenguaje porque existen teacutecnicas mejores pero s se utiliza en tareas de clasificacioacuten de textos o en dominios donde el numero de ceros no es muy grande

Linear Interpolation Esta teacutecnica combina modelos de mayor orden con modelos de menor orden por ejemplo

en modelos de trigrama se combina con modelos de bigrama y unigrama que son menos afectados por la falta de ocurrencias en el corpus de entrenamiento Las probabilidades estimadas en cada modelo se combinan linealmente ponderadas seguacuten su contribucioacuten y dando como resultado una nueva probabilidad estimada

Backoff Esta teacutecnica tambieacuten combina modelos de mayor orden con modelos de menor orden

utilizando el que corresponda seguacuten la evidencia que se tenga en el corpus de entrenamiento Esta teacutecnica es utilizada generalmente en modelos de N-Grama muy grandes como la Web

Good-Turing Estimate En la estimacioacuten de Good Turing por cada N-Grama que ocurre r veces se pondera el

numero de N-gramas que ocurren exactamente r veces en el corpus de entrenamiento Witten-Bell Smoothing

Esta teacutecnica se basa en el modelo de interpolacioacuten lineal Se utiliza un modelo de mayor orden si el n-grama wi i1048576N+1 esta presente en el corpus de entrenamiento y se utilizan modelos de menor orden en caso contrario

Google N-Grams Datasets

Cuando no se tiene un corpus de entrenamiento pueden utilizarse datasets disponibles en la web para calcular la probabilidad de ocurrencia de una sentencia dada

Existen herramientas como Google N-Grams Dataset (Google 2008) que proveen grandes colecciones de datos en distintos idiomas y permiten calcular estas probabilidades con muy buena precisioacuten

Ademaacutes Google provee una herramienta para visualizar graacuteficamente la probabilidad de ocurrencia de un conjunto de sentencias dado un idioma y un nuacutemero de smoothing y utilizando grandes cantidades de libros como corpus de datos

Ngram Viewer Consideremos la sentencia ldquoun viaje y supongamos que

queremos estimar la probabilidad de que esta secuencia de palabras este seguida de la palabra ldquoa es decir P(ajun viaje)

Se observa en un corpus de entrenamiento que esta sentencia aparece diez veces de las cuales seis estaacuten seguidas de la palabra ldquoa tres de la palabra ldquolargo y una de la palabra ldquodesde

La estimacioacuten basada en frecuencias relativas asignara las siguientes probabilidades de ocurrencia de la proacutexima palabra

P(a|un viaje) = 06 P(largo|un viaje) = 03 P(desde|un viaje) = 01

La estimacioacuten MLE asignara probabilidad cero a cualquier otro evento que no se encuentre en el corpus de entrenamiento y maximizara la probabilidad de los eventos observados

4En espa~nol es conocido comohttpsbooksgooglecomngrams

Deteccioacuten de features

Bag of Words Se consideran features todos los teacuterminos del corpus de entrenamiento descartando la posicioacuten Cuando se utiliza este feature puede considerarse frecuencia de aparicioacuten o no por lo que podemos hacer la siguiente distincioacuten

Presencia de Unigramas por cada documento se evaluacutea la presencia o ausencia de cada unigrama descartando la informacioacuten de frecuencia de aparicioacuten

Frecuencia de Unigramas por cada documento se evaluacutea la frecuencia con la que aparece cada unigrama

Presencia de Bigramas se consideran features todos los conjuntos de dos teacuterminos consecutivos del corpus de entrenamiento y por cada documento se evaluacutea la presencia o ausencia de cada bigrama

Presencia de Adjetivos se consideran features todos los adjetivos del corpus de entrenamiento y por cada documento se evaluacutea presencia o ausencia Este tipo de feature es utilizado en tareas de AS dado que los adjetivos aportan la informacioacuten mas relevante en cuanto a opiniones y sentimientos

Deteccioacuten de features

Cuando se tienen demasiados features puede ser necesario eliminar aquellos que aporten menos informacioacuten al clasificador con el objetivo de mejorar la performance y reducir el costo de entrenamiento Para esta tarea el meacutetodo mas utilizado consiste en seleccionar los top N features (generalmente en porcentaje) ordenados por frecuencia de aparicioacuten en el conjunto de datos de entrenamiento

En aplicaciones reales de anaacutelisis de sentimientos resulta fundamental utilizar features y pesos especiacuteficos de dominio para mejorar la performance de los clasificadores

Modelos Generativos vs Discriminativos

Los clasificadores generativos aprenden el modelo a partir de la forma en que se generan las observaciones esto es a partir de la probabilidad conjunta P(CD) (donde D es el documento y C la clase) y realizan la prediccioacuten maximizando la probabilidad condicional P(C|D) que es calculada utilizando el teorema de Bayes

Los clasificadores discriminativos modelan directamente la probabilidad condicional P(C|D) para realizar la prediccioacuten es decir a partir de la estructura oculta de los datos sin tener en cuenta la forma en que se generan

La desventaja de los modelos generativos es que resuelven un problema maacutes general como paso intermedio en cambio en los modelos discriminativos se resuelve el problema de clasificacioacuten directamente

Si tuvieacuteramos que clasificar el idioma de un texto dado el enfoque generativo se basaraacute en aprender el idioma a partir de las observaciones del corpus de entrenamiento para luego predecir en que idioma esta escrito el texto

La caracteriacutestica maacutes importante de los modelos discriminativos es que asignan pesos a los features de forma que el modelo corresponda con las observaciones Esto resuelve el problema de los modelos generativos donde los features son multiplicados aunque aporten la misma informacioacuten

Los modelos generativos mas importantes son los modelos de N-Gramas y NB y los modelos discriminativos mas relevantes son Logistic Regression Maximum Entropy Models SVM etc

NB

NB es un meacutetodo de clasificacioacuten supervisado y generativo que se basa en el teorema de Bayes y en la premisa de independencia de los atributos dada una clase

Las distintas implementaciones difieren principalmente en la aproximacioacuten de P(fk|Ci) y las teacutecnicas de smoothing utilizadas para el tratamiento de probabilidades bajas o nulas

Multinomial NB

En el caso de utilizar como features todos los teacuterminos del vocabulario del corpus de entrenamiento teniendo en cuenta su frecuencia de aparicioacuten add-one como teacutecnica de smoothing y MLE para estimar P(fk|Ci)

Multinomial NB - Ejemplo

Multinomial NB - Ejemplo

Binarized Multinomial NB

En el modelo Multinomial consideraacutebamos la frecuencia de aparicioacuten de cada feature para la estimacioacuten de P(fk|Ci) A diferencia de este meacutetodo NB puede ser implementado considerando exclusivamente presencia o ausencia de features es decir asociaacutendolos con un valor booleano cuando se evaluacutea un documento y descartando informacioacuten de frecuencia y posicioacuten

Binarized Multinomial NB - Ejemplo

Modelo de Maacutexima Entropiacutea

Es un meacutetodo de clasificacioacuten discriminativo y de aprendizaje supervisado donde los documentos del conjunto de datos son descriptos a partir de una lista de features siendo cada uno de estos features una restriccioacuten del modelo

Este meacutetodo se basa en seleccionar la distribucioacuten de probabilidad que satisfaga todas las restricciones del modelo y maximice la entropiacutea Esto apunta a preservar la incertidumbre tanto como sea posible

Polaridad de Turney Propone en su trabajo un meacutetodo no-supervisado

para la clasificacioacuten de textos seguacuten informacioacuten subjetiva que se basa en predecir la polaridad de un documento en base a su orientacioacuten semaacutentica

La orientacioacuten de un documento es calculada en base a la distancia a los teacuterminos del idioma ingles ldquoexcelent y ldquopoor que sugieren referencias positivas y negativas respectivamente

El algoritmo propuesto consiste en los siguientes 3 pasos

Extraer las frases del documento que contienen adjetivos o adverbios utilizando una herramienta de part-of-speech tagging

Estimar la orientacioacuten semaacutentica de cada frase extraiacuteda utilizando el algoritmo PMI-IR

Asignar las clases ldquorecomendado o ldquono recomendado al documento

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Polaridad de Turney

En el primer paso se extraen grupos de dos palabras cuyas etiquetas correspondan con los siguientes patrones

Siendo JJ Adjetivos NN Sustantivos en Singular NNS

Sustantivos en Plural RB Adverbios RBS Adverbios Superlativos RBR Adverbios Comparativos VB Verbos VBD Verbos en Pasado VBN Verbos en Pasado Participio VBG Verbos Gerundios o Pasado Participio

Algoritmo PMI-IR

Este algoritmo utiliza la teacutecnica de Pointwise Mutual Information (PMI) para obtener una medida de la asociacioacuten semaacutentica entre dos palabras seguacuten la ecuacioacuten que sigue

Siendo p(word1 amp word2) la probabilidad de que las palabras ocurran juntas

Luego la orientacioacuten semaacutentica se calcularaacute de la siguiente manera

Algoritmo PMI-IR El algoritmo PMI-IR estima el valor de PMI

realizando consultas a un motor de buacutesqueda a partir de la cantidad de resultados que devuelve la consulta y utilizando el operador NEAR que proveen algunos buscadores para estimar la ocurrencia conjunta de dos teacuterminos

Por ultimo la clasificacioacuten de un documento como ldquorecomendable o ldquono recomendable se realizaraacute a partir del caacutelculo de la orientacioacuten semaacutentica promedio de todas las frases extraiacutedas del documento

Algoritmo PMI-IR Consideraremos los teacuterminos ldquoexcelente como referencia

de polaridad positiva y los teacuterminos ldquomal malo mala como referencia negativa y estimaremos el operador NEAR a partir de la ocurrencia conjunta de palabras en la misma sentencia Consideremos las frases ldquobuena comida y ldquocomida friacutea para el caacutelculo de orientacioacuten semaacutentica

Clasificacioacuten basada en Leacutexico de Opinioacuten Existen otros meacutetodos de clasificacioacuten considerados no

supervisados o semi-supervisados que se basan en utilizar un conjunto de teacuterminos ldquosemillaldquo cuya polaridad es conocida y la clasificacioacuten consiste en calcular la similitud o distancia de los teacuterminos que componen el documento a estos teacuterminos conocidos

En este tipo de meacutetodos el leacutexico es utilizado como reemplazo de los features del modelo El ejemplo mas extremo de utilizacioacuten de leacutexico de opinioacuten es el algoritmo de Turney que utiliza la polaridad conocida de dos uacutenicos teacuterminos para clasificar un texto a partir de la distancia de los teacuterminos del documento a ellos

En un trabajo Sidorov (2012) se propone un leacutexico de opinioacuten de mas de 2000 palabras en idioma espantildeol que incluye la distancia de cada uno de estos teacuterminos a alguna de las siguientes emociones baacutesicas alegra ira miedo tristeza sorpresa y disgusto

En base a esta informacioacuten podraacute desarrollarse un algoritmo que infiera la polaridad de una sentencia a partir de calcular la distancia de los teacuterminos que la componen a las emociones baacutesicas asociadas a sentimientos positivos o negativos

Clasificacioacuten basada en Leacutexico de Opinioacuten

En este tipo de clasificadores puede ser necesario asociar la polaridad de los teacuterminos del leacutexico a dominios u objetivos especiacuteficos Por ejemplo

La palabra ldquobarato puede asociarse a sentimientos positivos cuando se refiere a comida y a sentimientos negativos cuando se refiere a vestimenta o decoracioacuten de ambientes

La palabra ldquoantildeejo tiene una connotacioacuten positiva cuando se refiere a vinos y altamente negativa si se refiere a comida

El termino ldquofriacuteo se asocia a emociones negativas si se habla de pizza y positivas si se habla de cervezas etc

Clasificacioacuten basada en Leacutexico de Opinioacuten Otro meacutetodo semi-supervisado basado en leacutexico de opinioacuten

consiste en identificar la polaridad de los adjetivos de un texto a partir de la ocurrencia conjunta con teacuterminos cuya polaridad es conocida y teniendo en cuenta la conjuncioacuten que los relaciona es decir considerando que si los adjetivos estaacuten conectados por el termino ldquoy tendraacuten la misma polaridad mientras que si aparecen conectados por el termino ldquopero tendraacuten polaridad opuesta

Un ejemplo Etiquetar un conjunto inicial de adjetivos semilla seguacuten su

polaridad Extender el conjunto anterior a partir de la ocurrencia conjunta

de los adjetivos conocidos con otros adjetivos y teniendo en cuenta la conjuncioacuten que los relaciona para determinar si tienen la misma polaridad u opuesta

Utilizar un clasificador supervisado para determinar el grado de similitud de polaridad de cada par de adjetivos generando como resultado un graacutefico que relacione los adjetivos del conjunto de datos

Clusterizar el graacutefico anterior en dos grandes grupos de polaridad similar (positivos y negativos)

Clasificacioacuten basada en Puntaje Para clasificar un texto de forma maacutes subjetiva se puede asignar a

cada documento un puntaje dentro de una escala dependiendo del grado de polaridad que expresa (por ejemplo asignar estrellas del 1 al 5)

La solucioacuten mas simple para esta tarea es clasificar el texto utilizando muacuteltiples categoriacuteas como clases Esta clasificacioacuten puede realizarse con los algoritmos como NB

Como SVM se utiliza para clasificacioacuten binaria se puede utilizar One-vs-All que se basa en crear un clasificador SVM para cada clase cuya salida nos permita saber si el documento pertenece o no a la clase en cuestioacuten

Otra solucion para resolver esta tarea consideraacutendola un problema de metric labeling En este tipo de problema la entrada es un conjunto de etiquetas (clases) y un grafo ponderado Se define una funcioacuten de distancia de las etiquetas y para cada etiqueta el costo de asignacioacuten a cada veacutertice siendo el objetivo encontrar el menor costo de asignar una etiqueta a un veacutertice Este enfoque combina los clasificadores SVM y k-nearest neighbors que es un meacutetodo no parametrito de clasificacioacuten basado en encontrar los elementos mas cercanos del conjunto de datos de entrenamiento en el espacio de features

Otro enfoque para la tarea de clasificacioacuten en muacuteltiples categoriacuteas consiste en utilizar un meacutetodo de regresioacuten considerando que las categoriacuteas corresponden a la discretizacioacuten de una funcioacuten continua

Clasificacioacuten de Muacuteltiples Aspectos Hasta ahora hemos presentado las tareas de anaacutelisis de

sentimientos a nivel de documento es decir asignando una clase a un documento completo a partir de las emociones que expresa Esta clasificacioacuten puede ser binaria (polaridad positiva o negativa) o basada en muacuteltiples categoriacuteas (utilizando puntajes o estrellas como clases) pero en ambos casos se claacutesica el documento completo

En esta seccioacuten presentaremos la clasificacioacuten aislada de los muacuteltiples objetivos aspectos o targets que generan opinioacuten dentro de un mismo documento Esta tarea es conocida como Multi-Aspect Sentiment Analysis

El objetivo de esta tarea consiste en la identificacioacuten de aspectos que generan opinioacuten dentro de un mismo documento seleccionando aquellas caracteriacutesticas que son frecuentemente mencionadas y las emociones asociadas Para identificar estas caracteriacutesticas o aspectos la solucioacuten mas simple consiste en utilizar un parser que nos permita obtener las frases nominales del documento teniendo en cuenta que la mayora de los aspectos son sustantivos

Clasificacioacuten de Muacuteltiples Aspectos

ldquoexcelente comida el ambiente es bastante ruidoso pero los precios accesibles

Clasificacioacuten de Muacuteltiples Aspectos A partir de la clasificacioacuten anterior podremos extraer los

sustantivos o frases nominales que nos permitiraacuten identificar teacuterminos candidatos a aspectos y los adjetivos para identificar las emociones asociadas Para obtener la polaridad de sentimientos utilizaremos los meacutetodos de clasificacioacuten estudiados en secciones anteriores

Luego a partir de la polaridad de la emocioacuten que genera cada aspecto debemos establecer un criterio que nos permita asignar pesos para obtener la polaridad general del documento La forma mas simple Serra basaacutendonos en la frecuencia de aparicioacuten de cada aspecto en el corpus de datos

Otro meacutetodo simple para la identificacioacuten de targets que generan opinioacuten consiste en definir aspectos ad-hoc para un determinado dominio por ejemplo

f(COMIDA SERVICIO AMBIENTE OTROS) y luego ejecutar la clasificacioacuten de todos los teacuterminos del

documento utilizando un meacutetodo supervisado y un conjunto de datos de entrenamiento clasificado manualmente que nos permita obtener aquellos teacuterminos que pertenecen a alguna de las clases de aspectos relevantes generadores de opinioacuten

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 3: Poggi   analytics - sentiment - 1

Sentiment analysis

Anaacutelisis de Sentimientos Extraccioacuten de Opiniones Mineriacutea de Opiniones Minera de Sentimientos o Anaacutelisis Subjetivo

Es la tarea de identificar y extraer informacioacuten subjetiva de textos no estructurados mediante procesamiento computacional

y tiene como objetivo principal determinar la actitud de un escritor ante determinados objetos situaciones o personas

Sentiment analysis

El uso de teoriacuteas cognitivas de la emocioacuten en el anaacutelisis computacional de sentimientos es incipiente pero algunas aproximaciones han mostrado ser uacutetiles para por ejemplo identificar similitudes y contrastes entre

Los estados afectivos se dividen en emocioacuten humor posturas interpersonales actitudes y rasgos de la personalidad

Los sentimientos son un subtipo de actitudes definidas como relativamente duraderas creencias afectivas preferencias y predisposiciones hacia objetos o personas

Sentiment analysis

Wheel of Emotions de Plutchik (Plutchik 2002)

Sentiment analysis

En su enfoque mas general el anaacutelisis computacional de sentimientos consiste en

detectar estas emociones quien las posee (holder) cuaacutel es el aspecto que genera la emocioacuten (target) cuaacutel es el tipo de emocioacuten (me gusta me encanta lo

valoro lo odio) la polaridad (positiva negativa neutra) cuaacuteles son las sentencias que las contienen

Sentiment analysis

El tipo de informacioacuten que puede obtenerse utilizando sistemas de AS incluye

Polaridad de sentimientos en criacuteticas sobre arte productos o servicios

Nivel de fidelizacioacuten de clientes Opinioacuten publica sobre personajes puacuteblicos o situaciones

de intereacutes social Predicciones sobre resultados de elecciones Tendencias de mercado

Sentiment analysis

Existen distintas tareas que pueden realizarse seguacuten complejidad creciente

Clasificacioacuten binaria de la actitud de un texto en positiva o negativa (tambieacuten puede existir el neutro)

Clasificacioacuten de un texto en muacuteltiples categoriacuteas seguacuten el grado de polaridad de la actitud dentro de una escala

Identificacioacuten de los aspectos mencionados en un texto y sus sentimientos asociados

Sentiment analysis

Por ejemplo consideremos la siguiente criacutetica de un restaurante extraiacuteda de una guiacutea gastronoacutemica online (wwwguiaoleocom)

ldquoMe gusta mucho este restaurante para comer comida aacuterabe La comida es fresca y se nota que hay rotacioacuten continua El ambiente es bastante ruidoso pero los mozos son muy amables y los precios muy accesibles

iquestCoacutemo lo clasificariacuteamos en los distintos niveles

Sentiment analysis

El resultado de realizar anaacutelisis de sentimientos sobre el texto anterior puede ser alguno de los siguientes seguacuten los enfoques antes mencionados

Clasificacioacuten Binaria Positivo

Clasificacioacuten en Muacuteltiples Categoriacuteas Rating 45

Clasificacioacuten de Aspectos Comida Positivo Ambiente Negativo Servicio Positivo Precio Positivo

Sentiment analysis

Dificultades maacutes importantes Deteccioacuten de sarcasmo ldquoEste restaurante es genial si

quereacutes terminar hospitalizado Neologismos ldquoEncontramos este lugar googleando Lunfardo ldquoLa cuenta un poco salada gastamos dos

gambas por cabeza Errores gramaticales y ortograacuteficos ldquoLa comida muy cara

para lo que es Un salteado de lomo mas paresca un salteado de papas Poca carne y un exagero de papas por 150 pesos

Informalidad en textos ldquoMaliiiiisimo este lugar no volvemos ni locossssss

Procesamiento de hashtags ldquoComiendo ceviche en sipanrestaurante bueniacutesimo

Procesamiento de emoticones ldquoTodo perfecto hasta que llego la cuenta (

Capitalizaciones ldquoComimos en El Buen Gusto el servicio es muy malo y la comida regular

Sentiment analysis

Seguacuten wwwcomscorecom 81 de los usuarios de Internet han hecho una

investigacioacuten sobre un producto al menos una vez 20 lo hacen en un da tiacutepico sobre los lectores de criacuteticas

online de restaurantes hoteles y servicios varios (agencias de viaje o doctores)

73-87 reportan que las criacuteticas han tenido una influencia significativa en sus compras

Consumidores reportan estar dispuestos a pagar desde un 20 a un 99 maacutes por un producto clasificado como 5-estrellas que por uno clasificado como 4-estrellas

32 han clasificado un producto servicio o persona a traveacutes de un sistema online de clasificaciones

30 han posteado un comentario online o criacutetica sobre un producto o servicio

Sentiment analysis

Definiciones Documento cada unidad de texto que conforma la

coleccioacuten de datos Es un texto no estructurado compuesto por un conjunto de sentencias o secuencia de palabras que expresan opiniones y emociones

Corpus conjunto de documentos que se utilizan como entrada para entrenar el modelo (conjunto de datos de entrenamiento) y por el conjunto de documentos que seraacuten clasificados utilizaacutendolo

Leacutexico de Opinioacuten conjunto de palabras o vocabulario que se utiliza para expresar opinioacuten en un idioma dado

Feature caracteriacutesticas o atributos de los documentos que nos permitan encontrar patrones para predecir la positividad o negatividad de las opiniones expresadas en un texto

N-Gramas

Modelado del Lenguaje con N-Gramas En la mayora de las tareas de procesamiento de lenguaje

natural es necesario identificar las sentencias o secuencias de palabras que ocurren con mayor probabilidad dado un contexto

El objetivo de un modelo de lenguaje es calcular la probabilidad de ocurrencia de una sentencia que es originada por una secuencia de palabras que pasa a traveacutes de lo que se conoce como Noisy Channel

N-Gramas

El modelo que es utilizado por ejemplo en las siguientes tareas

Reconocimiento de discurso donde y es la sentildeal acuacutestica producida

Traduccioacuten automaacutetica de textos donde y es la sentencia en otro idioma

Correccioacuten automaacutetica de textos donde y es la secuencia de caracteres emitida por un escritor imperfecto

En los tres casos dada una secuencia de salida y se busca predecir la sentencia w que la originoacute

N-Gramas

Los algoritmos que asignan probabilidades a una sentencia pueden ser tambieacuten utilizados para calcular la probabilidad de la siguiente palabra dada una sentencia Esto resulta de gran utilidad en tareas de part-of-speech-tagging

N-Gramas

Los algoritmos que asignan probabilidades a una sentencia pueden ser tambieacuten utilizados para calcular la probabilidad de la siguiente palabra dada una sentencia Esto resulta de gran utilidad en tareas de part-of-speech-tagging

N-Gramas Modelo de Unigrama

El modelo de Unigrama es el caso trivial de la premisa de Markov es decir aproxima la probabilidad de una palabra con la probabilidad de ocurrencia de esa palabra en el corpus de datos y sin tener en cuenta las palabras que la preceden es decir considerando N = 0

P(ojos | lo esencial es invisible a los) = P(ojos) Modelo de Bigrama

El modelo de Bigrama utiliza la premisa de Markov para aproximar la probabilidad de una palabra con la probabilidad de ocurrencia de esa palabra dada la palabra anterior es decir considerando N = 1

P(ojos | lo esencial es invisible a los) = P(ojos | los) Modelo de Trigrama

El mismo modelo descripto para unigramas y bigramas puede utilizarse teniendo en cuenta las dos palabras anteriores es decir considerando N = 2

P(ojos | lo esencial es invisible a los) = P(ojos | a los) Modelo de N-grama

Generalizando los modelos anteriores la probabilidad de una palabra puede aproximarse como la probabilidad de una palabra dadas las N palabras anteriores

Maximum Likelihood Estimate (MLE)

Se denomina Maximum Likelihood Estimate a la estimacioacuten de probabilidades utilizando la frecuencia relativa de una secuencia de palabras en un corpus de entrenamiento

Donde C(w1wi) es la cantidad de ocurrencias de la sentencia en el corpus de entrenamiento N es el numero total de sentencias y C(w1wi10485761) es la cantidad de ocurrencias de la secuencia de palabras precedentes

Smoothing

Como Smoothing se conocen las teacutecnicas para ajustar el modelo de MLE para estimar probabilidades en forma mas apropiada Esta teacutecnica tiende a unificar la distribucioacuten ajustando las bajas o nulas probabilidades hacia arriba y las altas hacia abajo Las teacutecnicas de smoothing mas utilizadas

Laplace Smoothing El meacutetodo de Laplace tambieacuten conocido como Add-One Smoothing es la teacutecnica mas

simple y consiste en asumir que cada n-grama aparece una vez mas de las que realmente aparece Los distintos trabajos de anaacutelisis de teacutecnicas de Smoothing muestran que este es un meacutetodo pobre de ajuste de probabilidades No es utilizado en modelado de lenguaje porque existen teacutecnicas mejores pero s se utiliza en tareas de clasificacioacuten de textos o en dominios donde el numero de ceros no es muy grande

Linear Interpolation Esta teacutecnica combina modelos de mayor orden con modelos de menor orden por ejemplo

en modelos de trigrama se combina con modelos de bigrama y unigrama que son menos afectados por la falta de ocurrencias en el corpus de entrenamiento Las probabilidades estimadas en cada modelo se combinan linealmente ponderadas seguacuten su contribucioacuten y dando como resultado una nueva probabilidad estimada

Backoff Esta teacutecnica tambieacuten combina modelos de mayor orden con modelos de menor orden

utilizando el que corresponda seguacuten la evidencia que se tenga en el corpus de entrenamiento Esta teacutecnica es utilizada generalmente en modelos de N-Grama muy grandes como la Web

Good-Turing Estimate En la estimacioacuten de Good Turing por cada N-Grama que ocurre r veces se pondera el

numero de N-gramas que ocurren exactamente r veces en el corpus de entrenamiento Witten-Bell Smoothing

Esta teacutecnica se basa en el modelo de interpolacioacuten lineal Se utiliza un modelo de mayor orden si el n-grama wi i1048576N+1 esta presente en el corpus de entrenamiento y se utilizan modelos de menor orden en caso contrario

Google N-Grams Datasets

Cuando no se tiene un corpus de entrenamiento pueden utilizarse datasets disponibles en la web para calcular la probabilidad de ocurrencia de una sentencia dada

Existen herramientas como Google N-Grams Dataset (Google 2008) que proveen grandes colecciones de datos en distintos idiomas y permiten calcular estas probabilidades con muy buena precisioacuten

Ademaacutes Google provee una herramienta para visualizar graacuteficamente la probabilidad de ocurrencia de un conjunto de sentencias dado un idioma y un nuacutemero de smoothing y utilizando grandes cantidades de libros como corpus de datos

Ngram Viewer Consideremos la sentencia ldquoun viaje y supongamos que

queremos estimar la probabilidad de que esta secuencia de palabras este seguida de la palabra ldquoa es decir P(ajun viaje)

Se observa en un corpus de entrenamiento que esta sentencia aparece diez veces de las cuales seis estaacuten seguidas de la palabra ldquoa tres de la palabra ldquolargo y una de la palabra ldquodesde

La estimacioacuten basada en frecuencias relativas asignara las siguientes probabilidades de ocurrencia de la proacutexima palabra

P(a|un viaje) = 06 P(largo|un viaje) = 03 P(desde|un viaje) = 01

La estimacioacuten MLE asignara probabilidad cero a cualquier otro evento que no se encuentre en el corpus de entrenamiento y maximizara la probabilidad de los eventos observados

4En espa~nol es conocido comohttpsbooksgooglecomngrams

Deteccioacuten de features

Bag of Words Se consideran features todos los teacuterminos del corpus de entrenamiento descartando la posicioacuten Cuando se utiliza este feature puede considerarse frecuencia de aparicioacuten o no por lo que podemos hacer la siguiente distincioacuten

Presencia de Unigramas por cada documento se evaluacutea la presencia o ausencia de cada unigrama descartando la informacioacuten de frecuencia de aparicioacuten

Frecuencia de Unigramas por cada documento se evaluacutea la frecuencia con la que aparece cada unigrama

Presencia de Bigramas se consideran features todos los conjuntos de dos teacuterminos consecutivos del corpus de entrenamiento y por cada documento se evaluacutea la presencia o ausencia de cada bigrama

Presencia de Adjetivos se consideran features todos los adjetivos del corpus de entrenamiento y por cada documento se evaluacutea presencia o ausencia Este tipo de feature es utilizado en tareas de AS dado que los adjetivos aportan la informacioacuten mas relevante en cuanto a opiniones y sentimientos

Deteccioacuten de features

Cuando se tienen demasiados features puede ser necesario eliminar aquellos que aporten menos informacioacuten al clasificador con el objetivo de mejorar la performance y reducir el costo de entrenamiento Para esta tarea el meacutetodo mas utilizado consiste en seleccionar los top N features (generalmente en porcentaje) ordenados por frecuencia de aparicioacuten en el conjunto de datos de entrenamiento

En aplicaciones reales de anaacutelisis de sentimientos resulta fundamental utilizar features y pesos especiacuteficos de dominio para mejorar la performance de los clasificadores

Modelos Generativos vs Discriminativos

Los clasificadores generativos aprenden el modelo a partir de la forma en que se generan las observaciones esto es a partir de la probabilidad conjunta P(CD) (donde D es el documento y C la clase) y realizan la prediccioacuten maximizando la probabilidad condicional P(C|D) que es calculada utilizando el teorema de Bayes

Los clasificadores discriminativos modelan directamente la probabilidad condicional P(C|D) para realizar la prediccioacuten es decir a partir de la estructura oculta de los datos sin tener en cuenta la forma en que se generan

La desventaja de los modelos generativos es que resuelven un problema maacutes general como paso intermedio en cambio en los modelos discriminativos se resuelve el problema de clasificacioacuten directamente

Si tuvieacuteramos que clasificar el idioma de un texto dado el enfoque generativo se basaraacute en aprender el idioma a partir de las observaciones del corpus de entrenamiento para luego predecir en que idioma esta escrito el texto

La caracteriacutestica maacutes importante de los modelos discriminativos es que asignan pesos a los features de forma que el modelo corresponda con las observaciones Esto resuelve el problema de los modelos generativos donde los features son multiplicados aunque aporten la misma informacioacuten

Los modelos generativos mas importantes son los modelos de N-Gramas y NB y los modelos discriminativos mas relevantes son Logistic Regression Maximum Entropy Models SVM etc

NB

NB es un meacutetodo de clasificacioacuten supervisado y generativo que se basa en el teorema de Bayes y en la premisa de independencia de los atributos dada una clase

Las distintas implementaciones difieren principalmente en la aproximacioacuten de P(fk|Ci) y las teacutecnicas de smoothing utilizadas para el tratamiento de probabilidades bajas o nulas

Multinomial NB

En el caso de utilizar como features todos los teacuterminos del vocabulario del corpus de entrenamiento teniendo en cuenta su frecuencia de aparicioacuten add-one como teacutecnica de smoothing y MLE para estimar P(fk|Ci)

Multinomial NB - Ejemplo

Multinomial NB - Ejemplo

Binarized Multinomial NB

En el modelo Multinomial consideraacutebamos la frecuencia de aparicioacuten de cada feature para la estimacioacuten de P(fk|Ci) A diferencia de este meacutetodo NB puede ser implementado considerando exclusivamente presencia o ausencia de features es decir asociaacutendolos con un valor booleano cuando se evaluacutea un documento y descartando informacioacuten de frecuencia y posicioacuten

Binarized Multinomial NB - Ejemplo

Modelo de Maacutexima Entropiacutea

Es un meacutetodo de clasificacioacuten discriminativo y de aprendizaje supervisado donde los documentos del conjunto de datos son descriptos a partir de una lista de features siendo cada uno de estos features una restriccioacuten del modelo

Este meacutetodo se basa en seleccionar la distribucioacuten de probabilidad que satisfaga todas las restricciones del modelo y maximice la entropiacutea Esto apunta a preservar la incertidumbre tanto como sea posible

Polaridad de Turney Propone en su trabajo un meacutetodo no-supervisado

para la clasificacioacuten de textos seguacuten informacioacuten subjetiva que se basa en predecir la polaridad de un documento en base a su orientacioacuten semaacutentica

La orientacioacuten de un documento es calculada en base a la distancia a los teacuterminos del idioma ingles ldquoexcelent y ldquopoor que sugieren referencias positivas y negativas respectivamente

El algoritmo propuesto consiste en los siguientes 3 pasos

Extraer las frases del documento que contienen adjetivos o adverbios utilizando una herramienta de part-of-speech tagging

Estimar la orientacioacuten semaacutentica de cada frase extraiacuteda utilizando el algoritmo PMI-IR

Asignar las clases ldquorecomendado o ldquono recomendado al documento

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Polaridad de Turney

En el primer paso se extraen grupos de dos palabras cuyas etiquetas correspondan con los siguientes patrones

Siendo JJ Adjetivos NN Sustantivos en Singular NNS

Sustantivos en Plural RB Adverbios RBS Adverbios Superlativos RBR Adverbios Comparativos VB Verbos VBD Verbos en Pasado VBN Verbos en Pasado Participio VBG Verbos Gerundios o Pasado Participio

Algoritmo PMI-IR

Este algoritmo utiliza la teacutecnica de Pointwise Mutual Information (PMI) para obtener una medida de la asociacioacuten semaacutentica entre dos palabras seguacuten la ecuacioacuten que sigue

Siendo p(word1 amp word2) la probabilidad de que las palabras ocurran juntas

Luego la orientacioacuten semaacutentica se calcularaacute de la siguiente manera

Algoritmo PMI-IR El algoritmo PMI-IR estima el valor de PMI

realizando consultas a un motor de buacutesqueda a partir de la cantidad de resultados que devuelve la consulta y utilizando el operador NEAR que proveen algunos buscadores para estimar la ocurrencia conjunta de dos teacuterminos

Por ultimo la clasificacioacuten de un documento como ldquorecomendable o ldquono recomendable se realizaraacute a partir del caacutelculo de la orientacioacuten semaacutentica promedio de todas las frases extraiacutedas del documento

Algoritmo PMI-IR Consideraremos los teacuterminos ldquoexcelente como referencia

de polaridad positiva y los teacuterminos ldquomal malo mala como referencia negativa y estimaremos el operador NEAR a partir de la ocurrencia conjunta de palabras en la misma sentencia Consideremos las frases ldquobuena comida y ldquocomida friacutea para el caacutelculo de orientacioacuten semaacutentica

Clasificacioacuten basada en Leacutexico de Opinioacuten Existen otros meacutetodos de clasificacioacuten considerados no

supervisados o semi-supervisados que se basan en utilizar un conjunto de teacuterminos ldquosemillaldquo cuya polaridad es conocida y la clasificacioacuten consiste en calcular la similitud o distancia de los teacuterminos que componen el documento a estos teacuterminos conocidos

En este tipo de meacutetodos el leacutexico es utilizado como reemplazo de los features del modelo El ejemplo mas extremo de utilizacioacuten de leacutexico de opinioacuten es el algoritmo de Turney que utiliza la polaridad conocida de dos uacutenicos teacuterminos para clasificar un texto a partir de la distancia de los teacuterminos del documento a ellos

En un trabajo Sidorov (2012) se propone un leacutexico de opinioacuten de mas de 2000 palabras en idioma espantildeol que incluye la distancia de cada uno de estos teacuterminos a alguna de las siguientes emociones baacutesicas alegra ira miedo tristeza sorpresa y disgusto

En base a esta informacioacuten podraacute desarrollarse un algoritmo que infiera la polaridad de una sentencia a partir de calcular la distancia de los teacuterminos que la componen a las emociones baacutesicas asociadas a sentimientos positivos o negativos

Clasificacioacuten basada en Leacutexico de Opinioacuten

En este tipo de clasificadores puede ser necesario asociar la polaridad de los teacuterminos del leacutexico a dominios u objetivos especiacuteficos Por ejemplo

La palabra ldquobarato puede asociarse a sentimientos positivos cuando se refiere a comida y a sentimientos negativos cuando se refiere a vestimenta o decoracioacuten de ambientes

La palabra ldquoantildeejo tiene una connotacioacuten positiva cuando se refiere a vinos y altamente negativa si se refiere a comida

El termino ldquofriacuteo se asocia a emociones negativas si se habla de pizza y positivas si se habla de cervezas etc

Clasificacioacuten basada en Leacutexico de Opinioacuten Otro meacutetodo semi-supervisado basado en leacutexico de opinioacuten

consiste en identificar la polaridad de los adjetivos de un texto a partir de la ocurrencia conjunta con teacuterminos cuya polaridad es conocida y teniendo en cuenta la conjuncioacuten que los relaciona es decir considerando que si los adjetivos estaacuten conectados por el termino ldquoy tendraacuten la misma polaridad mientras que si aparecen conectados por el termino ldquopero tendraacuten polaridad opuesta

Un ejemplo Etiquetar un conjunto inicial de adjetivos semilla seguacuten su

polaridad Extender el conjunto anterior a partir de la ocurrencia conjunta

de los adjetivos conocidos con otros adjetivos y teniendo en cuenta la conjuncioacuten que los relaciona para determinar si tienen la misma polaridad u opuesta

Utilizar un clasificador supervisado para determinar el grado de similitud de polaridad de cada par de adjetivos generando como resultado un graacutefico que relacione los adjetivos del conjunto de datos

Clusterizar el graacutefico anterior en dos grandes grupos de polaridad similar (positivos y negativos)

Clasificacioacuten basada en Puntaje Para clasificar un texto de forma maacutes subjetiva se puede asignar a

cada documento un puntaje dentro de una escala dependiendo del grado de polaridad que expresa (por ejemplo asignar estrellas del 1 al 5)

La solucioacuten mas simple para esta tarea es clasificar el texto utilizando muacuteltiples categoriacuteas como clases Esta clasificacioacuten puede realizarse con los algoritmos como NB

Como SVM se utiliza para clasificacioacuten binaria se puede utilizar One-vs-All que se basa en crear un clasificador SVM para cada clase cuya salida nos permita saber si el documento pertenece o no a la clase en cuestioacuten

Otra solucion para resolver esta tarea consideraacutendola un problema de metric labeling En este tipo de problema la entrada es un conjunto de etiquetas (clases) y un grafo ponderado Se define una funcioacuten de distancia de las etiquetas y para cada etiqueta el costo de asignacioacuten a cada veacutertice siendo el objetivo encontrar el menor costo de asignar una etiqueta a un veacutertice Este enfoque combina los clasificadores SVM y k-nearest neighbors que es un meacutetodo no parametrito de clasificacioacuten basado en encontrar los elementos mas cercanos del conjunto de datos de entrenamiento en el espacio de features

Otro enfoque para la tarea de clasificacioacuten en muacuteltiples categoriacuteas consiste en utilizar un meacutetodo de regresioacuten considerando que las categoriacuteas corresponden a la discretizacioacuten de una funcioacuten continua

Clasificacioacuten de Muacuteltiples Aspectos Hasta ahora hemos presentado las tareas de anaacutelisis de

sentimientos a nivel de documento es decir asignando una clase a un documento completo a partir de las emociones que expresa Esta clasificacioacuten puede ser binaria (polaridad positiva o negativa) o basada en muacuteltiples categoriacuteas (utilizando puntajes o estrellas como clases) pero en ambos casos se claacutesica el documento completo

En esta seccioacuten presentaremos la clasificacioacuten aislada de los muacuteltiples objetivos aspectos o targets que generan opinioacuten dentro de un mismo documento Esta tarea es conocida como Multi-Aspect Sentiment Analysis

El objetivo de esta tarea consiste en la identificacioacuten de aspectos que generan opinioacuten dentro de un mismo documento seleccionando aquellas caracteriacutesticas que son frecuentemente mencionadas y las emociones asociadas Para identificar estas caracteriacutesticas o aspectos la solucioacuten mas simple consiste en utilizar un parser que nos permita obtener las frases nominales del documento teniendo en cuenta que la mayora de los aspectos son sustantivos

Clasificacioacuten de Muacuteltiples Aspectos

ldquoexcelente comida el ambiente es bastante ruidoso pero los precios accesibles

Clasificacioacuten de Muacuteltiples Aspectos A partir de la clasificacioacuten anterior podremos extraer los

sustantivos o frases nominales que nos permitiraacuten identificar teacuterminos candidatos a aspectos y los adjetivos para identificar las emociones asociadas Para obtener la polaridad de sentimientos utilizaremos los meacutetodos de clasificacioacuten estudiados en secciones anteriores

Luego a partir de la polaridad de la emocioacuten que genera cada aspecto debemos establecer un criterio que nos permita asignar pesos para obtener la polaridad general del documento La forma mas simple Serra basaacutendonos en la frecuencia de aparicioacuten de cada aspecto en el corpus de datos

Otro meacutetodo simple para la identificacioacuten de targets que generan opinioacuten consiste en definir aspectos ad-hoc para un determinado dominio por ejemplo

f(COMIDA SERVICIO AMBIENTE OTROS) y luego ejecutar la clasificacioacuten de todos los teacuterminos del

documento utilizando un meacutetodo supervisado y un conjunto de datos de entrenamiento clasificado manualmente que nos permita obtener aquellos teacuterminos que pertenecen a alguna de las clases de aspectos relevantes generadores de opinioacuten

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 4: Poggi   analytics - sentiment - 1

Sentiment analysis

El uso de teoriacuteas cognitivas de la emocioacuten en el anaacutelisis computacional de sentimientos es incipiente pero algunas aproximaciones han mostrado ser uacutetiles para por ejemplo identificar similitudes y contrastes entre

Los estados afectivos se dividen en emocioacuten humor posturas interpersonales actitudes y rasgos de la personalidad

Los sentimientos son un subtipo de actitudes definidas como relativamente duraderas creencias afectivas preferencias y predisposiciones hacia objetos o personas

Sentiment analysis

Wheel of Emotions de Plutchik (Plutchik 2002)

Sentiment analysis

En su enfoque mas general el anaacutelisis computacional de sentimientos consiste en

detectar estas emociones quien las posee (holder) cuaacutel es el aspecto que genera la emocioacuten (target) cuaacutel es el tipo de emocioacuten (me gusta me encanta lo

valoro lo odio) la polaridad (positiva negativa neutra) cuaacuteles son las sentencias que las contienen

Sentiment analysis

El tipo de informacioacuten que puede obtenerse utilizando sistemas de AS incluye

Polaridad de sentimientos en criacuteticas sobre arte productos o servicios

Nivel de fidelizacioacuten de clientes Opinioacuten publica sobre personajes puacuteblicos o situaciones

de intereacutes social Predicciones sobre resultados de elecciones Tendencias de mercado

Sentiment analysis

Existen distintas tareas que pueden realizarse seguacuten complejidad creciente

Clasificacioacuten binaria de la actitud de un texto en positiva o negativa (tambieacuten puede existir el neutro)

Clasificacioacuten de un texto en muacuteltiples categoriacuteas seguacuten el grado de polaridad de la actitud dentro de una escala

Identificacioacuten de los aspectos mencionados en un texto y sus sentimientos asociados

Sentiment analysis

Por ejemplo consideremos la siguiente criacutetica de un restaurante extraiacuteda de una guiacutea gastronoacutemica online (wwwguiaoleocom)

ldquoMe gusta mucho este restaurante para comer comida aacuterabe La comida es fresca y se nota que hay rotacioacuten continua El ambiente es bastante ruidoso pero los mozos son muy amables y los precios muy accesibles

iquestCoacutemo lo clasificariacuteamos en los distintos niveles

Sentiment analysis

El resultado de realizar anaacutelisis de sentimientos sobre el texto anterior puede ser alguno de los siguientes seguacuten los enfoques antes mencionados

Clasificacioacuten Binaria Positivo

Clasificacioacuten en Muacuteltiples Categoriacuteas Rating 45

Clasificacioacuten de Aspectos Comida Positivo Ambiente Negativo Servicio Positivo Precio Positivo

Sentiment analysis

Dificultades maacutes importantes Deteccioacuten de sarcasmo ldquoEste restaurante es genial si

quereacutes terminar hospitalizado Neologismos ldquoEncontramos este lugar googleando Lunfardo ldquoLa cuenta un poco salada gastamos dos

gambas por cabeza Errores gramaticales y ortograacuteficos ldquoLa comida muy cara

para lo que es Un salteado de lomo mas paresca un salteado de papas Poca carne y un exagero de papas por 150 pesos

Informalidad en textos ldquoMaliiiiisimo este lugar no volvemos ni locossssss

Procesamiento de hashtags ldquoComiendo ceviche en sipanrestaurante bueniacutesimo

Procesamiento de emoticones ldquoTodo perfecto hasta que llego la cuenta (

Capitalizaciones ldquoComimos en El Buen Gusto el servicio es muy malo y la comida regular

Sentiment analysis

Seguacuten wwwcomscorecom 81 de los usuarios de Internet han hecho una

investigacioacuten sobre un producto al menos una vez 20 lo hacen en un da tiacutepico sobre los lectores de criacuteticas

online de restaurantes hoteles y servicios varios (agencias de viaje o doctores)

73-87 reportan que las criacuteticas han tenido una influencia significativa en sus compras

Consumidores reportan estar dispuestos a pagar desde un 20 a un 99 maacutes por un producto clasificado como 5-estrellas que por uno clasificado como 4-estrellas

32 han clasificado un producto servicio o persona a traveacutes de un sistema online de clasificaciones

30 han posteado un comentario online o criacutetica sobre un producto o servicio

Sentiment analysis

Definiciones Documento cada unidad de texto que conforma la

coleccioacuten de datos Es un texto no estructurado compuesto por un conjunto de sentencias o secuencia de palabras que expresan opiniones y emociones

Corpus conjunto de documentos que se utilizan como entrada para entrenar el modelo (conjunto de datos de entrenamiento) y por el conjunto de documentos que seraacuten clasificados utilizaacutendolo

Leacutexico de Opinioacuten conjunto de palabras o vocabulario que se utiliza para expresar opinioacuten en un idioma dado

Feature caracteriacutesticas o atributos de los documentos que nos permitan encontrar patrones para predecir la positividad o negatividad de las opiniones expresadas en un texto

N-Gramas

Modelado del Lenguaje con N-Gramas En la mayora de las tareas de procesamiento de lenguaje

natural es necesario identificar las sentencias o secuencias de palabras que ocurren con mayor probabilidad dado un contexto

El objetivo de un modelo de lenguaje es calcular la probabilidad de ocurrencia de una sentencia que es originada por una secuencia de palabras que pasa a traveacutes de lo que se conoce como Noisy Channel

N-Gramas

El modelo que es utilizado por ejemplo en las siguientes tareas

Reconocimiento de discurso donde y es la sentildeal acuacutestica producida

Traduccioacuten automaacutetica de textos donde y es la sentencia en otro idioma

Correccioacuten automaacutetica de textos donde y es la secuencia de caracteres emitida por un escritor imperfecto

En los tres casos dada una secuencia de salida y se busca predecir la sentencia w que la originoacute

N-Gramas

Los algoritmos que asignan probabilidades a una sentencia pueden ser tambieacuten utilizados para calcular la probabilidad de la siguiente palabra dada una sentencia Esto resulta de gran utilidad en tareas de part-of-speech-tagging

N-Gramas

Los algoritmos que asignan probabilidades a una sentencia pueden ser tambieacuten utilizados para calcular la probabilidad de la siguiente palabra dada una sentencia Esto resulta de gran utilidad en tareas de part-of-speech-tagging

N-Gramas Modelo de Unigrama

El modelo de Unigrama es el caso trivial de la premisa de Markov es decir aproxima la probabilidad de una palabra con la probabilidad de ocurrencia de esa palabra en el corpus de datos y sin tener en cuenta las palabras que la preceden es decir considerando N = 0

P(ojos | lo esencial es invisible a los) = P(ojos) Modelo de Bigrama

El modelo de Bigrama utiliza la premisa de Markov para aproximar la probabilidad de una palabra con la probabilidad de ocurrencia de esa palabra dada la palabra anterior es decir considerando N = 1

P(ojos | lo esencial es invisible a los) = P(ojos | los) Modelo de Trigrama

El mismo modelo descripto para unigramas y bigramas puede utilizarse teniendo en cuenta las dos palabras anteriores es decir considerando N = 2

P(ojos | lo esencial es invisible a los) = P(ojos | a los) Modelo de N-grama

Generalizando los modelos anteriores la probabilidad de una palabra puede aproximarse como la probabilidad de una palabra dadas las N palabras anteriores

Maximum Likelihood Estimate (MLE)

Se denomina Maximum Likelihood Estimate a la estimacioacuten de probabilidades utilizando la frecuencia relativa de una secuencia de palabras en un corpus de entrenamiento

Donde C(w1wi) es la cantidad de ocurrencias de la sentencia en el corpus de entrenamiento N es el numero total de sentencias y C(w1wi10485761) es la cantidad de ocurrencias de la secuencia de palabras precedentes

Smoothing

Como Smoothing se conocen las teacutecnicas para ajustar el modelo de MLE para estimar probabilidades en forma mas apropiada Esta teacutecnica tiende a unificar la distribucioacuten ajustando las bajas o nulas probabilidades hacia arriba y las altas hacia abajo Las teacutecnicas de smoothing mas utilizadas

Laplace Smoothing El meacutetodo de Laplace tambieacuten conocido como Add-One Smoothing es la teacutecnica mas

simple y consiste en asumir que cada n-grama aparece una vez mas de las que realmente aparece Los distintos trabajos de anaacutelisis de teacutecnicas de Smoothing muestran que este es un meacutetodo pobre de ajuste de probabilidades No es utilizado en modelado de lenguaje porque existen teacutecnicas mejores pero s se utiliza en tareas de clasificacioacuten de textos o en dominios donde el numero de ceros no es muy grande

Linear Interpolation Esta teacutecnica combina modelos de mayor orden con modelos de menor orden por ejemplo

en modelos de trigrama se combina con modelos de bigrama y unigrama que son menos afectados por la falta de ocurrencias en el corpus de entrenamiento Las probabilidades estimadas en cada modelo se combinan linealmente ponderadas seguacuten su contribucioacuten y dando como resultado una nueva probabilidad estimada

Backoff Esta teacutecnica tambieacuten combina modelos de mayor orden con modelos de menor orden

utilizando el que corresponda seguacuten la evidencia que se tenga en el corpus de entrenamiento Esta teacutecnica es utilizada generalmente en modelos de N-Grama muy grandes como la Web

Good-Turing Estimate En la estimacioacuten de Good Turing por cada N-Grama que ocurre r veces se pondera el

numero de N-gramas que ocurren exactamente r veces en el corpus de entrenamiento Witten-Bell Smoothing

Esta teacutecnica se basa en el modelo de interpolacioacuten lineal Se utiliza un modelo de mayor orden si el n-grama wi i1048576N+1 esta presente en el corpus de entrenamiento y se utilizan modelos de menor orden en caso contrario

Google N-Grams Datasets

Cuando no se tiene un corpus de entrenamiento pueden utilizarse datasets disponibles en la web para calcular la probabilidad de ocurrencia de una sentencia dada

Existen herramientas como Google N-Grams Dataset (Google 2008) que proveen grandes colecciones de datos en distintos idiomas y permiten calcular estas probabilidades con muy buena precisioacuten

Ademaacutes Google provee una herramienta para visualizar graacuteficamente la probabilidad de ocurrencia de un conjunto de sentencias dado un idioma y un nuacutemero de smoothing y utilizando grandes cantidades de libros como corpus de datos

Ngram Viewer Consideremos la sentencia ldquoun viaje y supongamos que

queremos estimar la probabilidad de que esta secuencia de palabras este seguida de la palabra ldquoa es decir P(ajun viaje)

Se observa en un corpus de entrenamiento que esta sentencia aparece diez veces de las cuales seis estaacuten seguidas de la palabra ldquoa tres de la palabra ldquolargo y una de la palabra ldquodesde

La estimacioacuten basada en frecuencias relativas asignara las siguientes probabilidades de ocurrencia de la proacutexima palabra

P(a|un viaje) = 06 P(largo|un viaje) = 03 P(desde|un viaje) = 01

La estimacioacuten MLE asignara probabilidad cero a cualquier otro evento que no se encuentre en el corpus de entrenamiento y maximizara la probabilidad de los eventos observados

4En espa~nol es conocido comohttpsbooksgooglecomngrams

Deteccioacuten de features

Bag of Words Se consideran features todos los teacuterminos del corpus de entrenamiento descartando la posicioacuten Cuando se utiliza este feature puede considerarse frecuencia de aparicioacuten o no por lo que podemos hacer la siguiente distincioacuten

Presencia de Unigramas por cada documento se evaluacutea la presencia o ausencia de cada unigrama descartando la informacioacuten de frecuencia de aparicioacuten

Frecuencia de Unigramas por cada documento se evaluacutea la frecuencia con la que aparece cada unigrama

Presencia de Bigramas se consideran features todos los conjuntos de dos teacuterminos consecutivos del corpus de entrenamiento y por cada documento se evaluacutea la presencia o ausencia de cada bigrama

Presencia de Adjetivos se consideran features todos los adjetivos del corpus de entrenamiento y por cada documento se evaluacutea presencia o ausencia Este tipo de feature es utilizado en tareas de AS dado que los adjetivos aportan la informacioacuten mas relevante en cuanto a opiniones y sentimientos

Deteccioacuten de features

Cuando se tienen demasiados features puede ser necesario eliminar aquellos que aporten menos informacioacuten al clasificador con el objetivo de mejorar la performance y reducir el costo de entrenamiento Para esta tarea el meacutetodo mas utilizado consiste en seleccionar los top N features (generalmente en porcentaje) ordenados por frecuencia de aparicioacuten en el conjunto de datos de entrenamiento

En aplicaciones reales de anaacutelisis de sentimientos resulta fundamental utilizar features y pesos especiacuteficos de dominio para mejorar la performance de los clasificadores

Modelos Generativos vs Discriminativos

Los clasificadores generativos aprenden el modelo a partir de la forma en que se generan las observaciones esto es a partir de la probabilidad conjunta P(CD) (donde D es el documento y C la clase) y realizan la prediccioacuten maximizando la probabilidad condicional P(C|D) que es calculada utilizando el teorema de Bayes

Los clasificadores discriminativos modelan directamente la probabilidad condicional P(C|D) para realizar la prediccioacuten es decir a partir de la estructura oculta de los datos sin tener en cuenta la forma en que se generan

La desventaja de los modelos generativos es que resuelven un problema maacutes general como paso intermedio en cambio en los modelos discriminativos se resuelve el problema de clasificacioacuten directamente

Si tuvieacuteramos que clasificar el idioma de un texto dado el enfoque generativo se basaraacute en aprender el idioma a partir de las observaciones del corpus de entrenamiento para luego predecir en que idioma esta escrito el texto

La caracteriacutestica maacutes importante de los modelos discriminativos es que asignan pesos a los features de forma que el modelo corresponda con las observaciones Esto resuelve el problema de los modelos generativos donde los features son multiplicados aunque aporten la misma informacioacuten

Los modelos generativos mas importantes son los modelos de N-Gramas y NB y los modelos discriminativos mas relevantes son Logistic Regression Maximum Entropy Models SVM etc

NB

NB es un meacutetodo de clasificacioacuten supervisado y generativo que se basa en el teorema de Bayes y en la premisa de independencia de los atributos dada una clase

Las distintas implementaciones difieren principalmente en la aproximacioacuten de P(fk|Ci) y las teacutecnicas de smoothing utilizadas para el tratamiento de probabilidades bajas o nulas

Multinomial NB

En el caso de utilizar como features todos los teacuterminos del vocabulario del corpus de entrenamiento teniendo en cuenta su frecuencia de aparicioacuten add-one como teacutecnica de smoothing y MLE para estimar P(fk|Ci)

Multinomial NB - Ejemplo

Multinomial NB - Ejemplo

Binarized Multinomial NB

En el modelo Multinomial consideraacutebamos la frecuencia de aparicioacuten de cada feature para la estimacioacuten de P(fk|Ci) A diferencia de este meacutetodo NB puede ser implementado considerando exclusivamente presencia o ausencia de features es decir asociaacutendolos con un valor booleano cuando se evaluacutea un documento y descartando informacioacuten de frecuencia y posicioacuten

Binarized Multinomial NB - Ejemplo

Modelo de Maacutexima Entropiacutea

Es un meacutetodo de clasificacioacuten discriminativo y de aprendizaje supervisado donde los documentos del conjunto de datos son descriptos a partir de una lista de features siendo cada uno de estos features una restriccioacuten del modelo

Este meacutetodo se basa en seleccionar la distribucioacuten de probabilidad que satisfaga todas las restricciones del modelo y maximice la entropiacutea Esto apunta a preservar la incertidumbre tanto como sea posible

Polaridad de Turney Propone en su trabajo un meacutetodo no-supervisado

para la clasificacioacuten de textos seguacuten informacioacuten subjetiva que se basa en predecir la polaridad de un documento en base a su orientacioacuten semaacutentica

La orientacioacuten de un documento es calculada en base a la distancia a los teacuterminos del idioma ingles ldquoexcelent y ldquopoor que sugieren referencias positivas y negativas respectivamente

El algoritmo propuesto consiste en los siguientes 3 pasos

Extraer las frases del documento que contienen adjetivos o adverbios utilizando una herramienta de part-of-speech tagging

Estimar la orientacioacuten semaacutentica de cada frase extraiacuteda utilizando el algoritmo PMI-IR

Asignar las clases ldquorecomendado o ldquono recomendado al documento

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Polaridad de Turney

En el primer paso se extraen grupos de dos palabras cuyas etiquetas correspondan con los siguientes patrones

Siendo JJ Adjetivos NN Sustantivos en Singular NNS

Sustantivos en Plural RB Adverbios RBS Adverbios Superlativos RBR Adverbios Comparativos VB Verbos VBD Verbos en Pasado VBN Verbos en Pasado Participio VBG Verbos Gerundios o Pasado Participio

Algoritmo PMI-IR

Este algoritmo utiliza la teacutecnica de Pointwise Mutual Information (PMI) para obtener una medida de la asociacioacuten semaacutentica entre dos palabras seguacuten la ecuacioacuten que sigue

Siendo p(word1 amp word2) la probabilidad de que las palabras ocurran juntas

Luego la orientacioacuten semaacutentica se calcularaacute de la siguiente manera

Algoritmo PMI-IR El algoritmo PMI-IR estima el valor de PMI

realizando consultas a un motor de buacutesqueda a partir de la cantidad de resultados que devuelve la consulta y utilizando el operador NEAR que proveen algunos buscadores para estimar la ocurrencia conjunta de dos teacuterminos

Por ultimo la clasificacioacuten de un documento como ldquorecomendable o ldquono recomendable se realizaraacute a partir del caacutelculo de la orientacioacuten semaacutentica promedio de todas las frases extraiacutedas del documento

Algoritmo PMI-IR Consideraremos los teacuterminos ldquoexcelente como referencia

de polaridad positiva y los teacuterminos ldquomal malo mala como referencia negativa y estimaremos el operador NEAR a partir de la ocurrencia conjunta de palabras en la misma sentencia Consideremos las frases ldquobuena comida y ldquocomida friacutea para el caacutelculo de orientacioacuten semaacutentica

Clasificacioacuten basada en Leacutexico de Opinioacuten Existen otros meacutetodos de clasificacioacuten considerados no

supervisados o semi-supervisados que se basan en utilizar un conjunto de teacuterminos ldquosemillaldquo cuya polaridad es conocida y la clasificacioacuten consiste en calcular la similitud o distancia de los teacuterminos que componen el documento a estos teacuterminos conocidos

En este tipo de meacutetodos el leacutexico es utilizado como reemplazo de los features del modelo El ejemplo mas extremo de utilizacioacuten de leacutexico de opinioacuten es el algoritmo de Turney que utiliza la polaridad conocida de dos uacutenicos teacuterminos para clasificar un texto a partir de la distancia de los teacuterminos del documento a ellos

En un trabajo Sidorov (2012) se propone un leacutexico de opinioacuten de mas de 2000 palabras en idioma espantildeol que incluye la distancia de cada uno de estos teacuterminos a alguna de las siguientes emociones baacutesicas alegra ira miedo tristeza sorpresa y disgusto

En base a esta informacioacuten podraacute desarrollarse un algoritmo que infiera la polaridad de una sentencia a partir de calcular la distancia de los teacuterminos que la componen a las emociones baacutesicas asociadas a sentimientos positivos o negativos

Clasificacioacuten basada en Leacutexico de Opinioacuten

En este tipo de clasificadores puede ser necesario asociar la polaridad de los teacuterminos del leacutexico a dominios u objetivos especiacuteficos Por ejemplo

La palabra ldquobarato puede asociarse a sentimientos positivos cuando se refiere a comida y a sentimientos negativos cuando se refiere a vestimenta o decoracioacuten de ambientes

La palabra ldquoantildeejo tiene una connotacioacuten positiva cuando se refiere a vinos y altamente negativa si se refiere a comida

El termino ldquofriacuteo se asocia a emociones negativas si se habla de pizza y positivas si se habla de cervezas etc

Clasificacioacuten basada en Leacutexico de Opinioacuten Otro meacutetodo semi-supervisado basado en leacutexico de opinioacuten

consiste en identificar la polaridad de los adjetivos de un texto a partir de la ocurrencia conjunta con teacuterminos cuya polaridad es conocida y teniendo en cuenta la conjuncioacuten que los relaciona es decir considerando que si los adjetivos estaacuten conectados por el termino ldquoy tendraacuten la misma polaridad mientras que si aparecen conectados por el termino ldquopero tendraacuten polaridad opuesta

Un ejemplo Etiquetar un conjunto inicial de adjetivos semilla seguacuten su

polaridad Extender el conjunto anterior a partir de la ocurrencia conjunta

de los adjetivos conocidos con otros adjetivos y teniendo en cuenta la conjuncioacuten que los relaciona para determinar si tienen la misma polaridad u opuesta

Utilizar un clasificador supervisado para determinar el grado de similitud de polaridad de cada par de adjetivos generando como resultado un graacutefico que relacione los adjetivos del conjunto de datos

Clusterizar el graacutefico anterior en dos grandes grupos de polaridad similar (positivos y negativos)

Clasificacioacuten basada en Puntaje Para clasificar un texto de forma maacutes subjetiva se puede asignar a

cada documento un puntaje dentro de una escala dependiendo del grado de polaridad que expresa (por ejemplo asignar estrellas del 1 al 5)

La solucioacuten mas simple para esta tarea es clasificar el texto utilizando muacuteltiples categoriacuteas como clases Esta clasificacioacuten puede realizarse con los algoritmos como NB

Como SVM se utiliza para clasificacioacuten binaria se puede utilizar One-vs-All que se basa en crear un clasificador SVM para cada clase cuya salida nos permita saber si el documento pertenece o no a la clase en cuestioacuten

Otra solucion para resolver esta tarea consideraacutendola un problema de metric labeling En este tipo de problema la entrada es un conjunto de etiquetas (clases) y un grafo ponderado Se define una funcioacuten de distancia de las etiquetas y para cada etiqueta el costo de asignacioacuten a cada veacutertice siendo el objetivo encontrar el menor costo de asignar una etiqueta a un veacutertice Este enfoque combina los clasificadores SVM y k-nearest neighbors que es un meacutetodo no parametrito de clasificacioacuten basado en encontrar los elementos mas cercanos del conjunto de datos de entrenamiento en el espacio de features

Otro enfoque para la tarea de clasificacioacuten en muacuteltiples categoriacuteas consiste en utilizar un meacutetodo de regresioacuten considerando que las categoriacuteas corresponden a la discretizacioacuten de una funcioacuten continua

Clasificacioacuten de Muacuteltiples Aspectos Hasta ahora hemos presentado las tareas de anaacutelisis de

sentimientos a nivel de documento es decir asignando una clase a un documento completo a partir de las emociones que expresa Esta clasificacioacuten puede ser binaria (polaridad positiva o negativa) o basada en muacuteltiples categoriacuteas (utilizando puntajes o estrellas como clases) pero en ambos casos se claacutesica el documento completo

En esta seccioacuten presentaremos la clasificacioacuten aislada de los muacuteltiples objetivos aspectos o targets que generan opinioacuten dentro de un mismo documento Esta tarea es conocida como Multi-Aspect Sentiment Analysis

El objetivo de esta tarea consiste en la identificacioacuten de aspectos que generan opinioacuten dentro de un mismo documento seleccionando aquellas caracteriacutesticas que son frecuentemente mencionadas y las emociones asociadas Para identificar estas caracteriacutesticas o aspectos la solucioacuten mas simple consiste en utilizar un parser que nos permita obtener las frases nominales del documento teniendo en cuenta que la mayora de los aspectos son sustantivos

Clasificacioacuten de Muacuteltiples Aspectos

ldquoexcelente comida el ambiente es bastante ruidoso pero los precios accesibles

Clasificacioacuten de Muacuteltiples Aspectos A partir de la clasificacioacuten anterior podremos extraer los

sustantivos o frases nominales que nos permitiraacuten identificar teacuterminos candidatos a aspectos y los adjetivos para identificar las emociones asociadas Para obtener la polaridad de sentimientos utilizaremos los meacutetodos de clasificacioacuten estudiados en secciones anteriores

Luego a partir de la polaridad de la emocioacuten que genera cada aspecto debemos establecer un criterio que nos permita asignar pesos para obtener la polaridad general del documento La forma mas simple Serra basaacutendonos en la frecuencia de aparicioacuten de cada aspecto en el corpus de datos

Otro meacutetodo simple para la identificacioacuten de targets que generan opinioacuten consiste en definir aspectos ad-hoc para un determinado dominio por ejemplo

f(COMIDA SERVICIO AMBIENTE OTROS) y luego ejecutar la clasificacioacuten de todos los teacuterminos del

documento utilizando un meacutetodo supervisado y un conjunto de datos de entrenamiento clasificado manualmente que nos permita obtener aquellos teacuterminos que pertenecen a alguna de las clases de aspectos relevantes generadores de opinioacuten

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 5: Poggi   analytics - sentiment - 1

Sentiment analysis

Wheel of Emotions de Plutchik (Plutchik 2002)

Sentiment analysis

En su enfoque mas general el anaacutelisis computacional de sentimientos consiste en

detectar estas emociones quien las posee (holder) cuaacutel es el aspecto que genera la emocioacuten (target) cuaacutel es el tipo de emocioacuten (me gusta me encanta lo

valoro lo odio) la polaridad (positiva negativa neutra) cuaacuteles son las sentencias que las contienen

Sentiment analysis

El tipo de informacioacuten que puede obtenerse utilizando sistemas de AS incluye

Polaridad de sentimientos en criacuteticas sobre arte productos o servicios

Nivel de fidelizacioacuten de clientes Opinioacuten publica sobre personajes puacuteblicos o situaciones

de intereacutes social Predicciones sobre resultados de elecciones Tendencias de mercado

Sentiment analysis

Existen distintas tareas que pueden realizarse seguacuten complejidad creciente

Clasificacioacuten binaria de la actitud de un texto en positiva o negativa (tambieacuten puede existir el neutro)

Clasificacioacuten de un texto en muacuteltiples categoriacuteas seguacuten el grado de polaridad de la actitud dentro de una escala

Identificacioacuten de los aspectos mencionados en un texto y sus sentimientos asociados

Sentiment analysis

Por ejemplo consideremos la siguiente criacutetica de un restaurante extraiacuteda de una guiacutea gastronoacutemica online (wwwguiaoleocom)

ldquoMe gusta mucho este restaurante para comer comida aacuterabe La comida es fresca y se nota que hay rotacioacuten continua El ambiente es bastante ruidoso pero los mozos son muy amables y los precios muy accesibles

iquestCoacutemo lo clasificariacuteamos en los distintos niveles

Sentiment analysis

El resultado de realizar anaacutelisis de sentimientos sobre el texto anterior puede ser alguno de los siguientes seguacuten los enfoques antes mencionados

Clasificacioacuten Binaria Positivo

Clasificacioacuten en Muacuteltiples Categoriacuteas Rating 45

Clasificacioacuten de Aspectos Comida Positivo Ambiente Negativo Servicio Positivo Precio Positivo

Sentiment analysis

Dificultades maacutes importantes Deteccioacuten de sarcasmo ldquoEste restaurante es genial si

quereacutes terminar hospitalizado Neologismos ldquoEncontramos este lugar googleando Lunfardo ldquoLa cuenta un poco salada gastamos dos

gambas por cabeza Errores gramaticales y ortograacuteficos ldquoLa comida muy cara

para lo que es Un salteado de lomo mas paresca un salteado de papas Poca carne y un exagero de papas por 150 pesos

Informalidad en textos ldquoMaliiiiisimo este lugar no volvemos ni locossssss

Procesamiento de hashtags ldquoComiendo ceviche en sipanrestaurante bueniacutesimo

Procesamiento de emoticones ldquoTodo perfecto hasta que llego la cuenta (

Capitalizaciones ldquoComimos en El Buen Gusto el servicio es muy malo y la comida regular

Sentiment analysis

Seguacuten wwwcomscorecom 81 de los usuarios de Internet han hecho una

investigacioacuten sobre un producto al menos una vez 20 lo hacen en un da tiacutepico sobre los lectores de criacuteticas

online de restaurantes hoteles y servicios varios (agencias de viaje o doctores)

73-87 reportan que las criacuteticas han tenido una influencia significativa en sus compras

Consumidores reportan estar dispuestos a pagar desde un 20 a un 99 maacutes por un producto clasificado como 5-estrellas que por uno clasificado como 4-estrellas

32 han clasificado un producto servicio o persona a traveacutes de un sistema online de clasificaciones

30 han posteado un comentario online o criacutetica sobre un producto o servicio

Sentiment analysis

Definiciones Documento cada unidad de texto que conforma la

coleccioacuten de datos Es un texto no estructurado compuesto por un conjunto de sentencias o secuencia de palabras que expresan opiniones y emociones

Corpus conjunto de documentos que se utilizan como entrada para entrenar el modelo (conjunto de datos de entrenamiento) y por el conjunto de documentos que seraacuten clasificados utilizaacutendolo

Leacutexico de Opinioacuten conjunto de palabras o vocabulario que se utiliza para expresar opinioacuten en un idioma dado

Feature caracteriacutesticas o atributos de los documentos que nos permitan encontrar patrones para predecir la positividad o negatividad de las opiniones expresadas en un texto

N-Gramas

Modelado del Lenguaje con N-Gramas En la mayora de las tareas de procesamiento de lenguaje

natural es necesario identificar las sentencias o secuencias de palabras que ocurren con mayor probabilidad dado un contexto

El objetivo de un modelo de lenguaje es calcular la probabilidad de ocurrencia de una sentencia que es originada por una secuencia de palabras que pasa a traveacutes de lo que se conoce como Noisy Channel

N-Gramas

El modelo que es utilizado por ejemplo en las siguientes tareas

Reconocimiento de discurso donde y es la sentildeal acuacutestica producida

Traduccioacuten automaacutetica de textos donde y es la sentencia en otro idioma

Correccioacuten automaacutetica de textos donde y es la secuencia de caracteres emitida por un escritor imperfecto

En los tres casos dada una secuencia de salida y se busca predecir la sentencia w que la originoacute

N-Gramas

Los algoritmos que asignan probabilidades a una sentencia pueden ser tambieacuten utilizados para calcular la probabilidad de la siguiente palabra dada una sentencia Esto resulta de gran utilidad en tareas de part-of-speech-tagging

N-Gramas

Los algoritmos que asignan probabilidades a una sentencia pueden ser tambieacuten utilizados para calcular la probabilidad de la siguiente palabra dada una sentencia Esto resulta de gran utilidad en tareas de part-of-speech-tagging

N-Gramas Modelo de Unigrama

El modelo de Unigrama es el caso trivial de la premisa de Markov es decir aproxima la probabilidad de una palabra con la probabilidad de ocurrencia de esa palabra en el corpus de datos y sin tener en cuenta las palabras que la preceden es decir considerando N = 0

P(ojos | lo esencial es invisible a los) = P(ojos) Modelo de Bigrama

El modelo de Bigrama utiliza la premisa de Markov para aproximar la probabilidad de una palabra con la probabilidad de ocurrencia de esa palabra dada la palabra anterior es decir considerando N = 1

P(ojos | lo esencial es invisible a los) = P(ojos | los) Modelo de Trigrama

El mismo modelo descripto para unigramas y bigramas puede utilizarse teniendo en cuenta las dos palabras anteriores es decir considerando N = 2

P(ojos | lo esencial es invisible a los) = P(ojos | a los) Modelo de N-grama

Generalizando los modelos anteriores la probabilidad de una palabra puede aproximarse como la probabilidad de una palabra dadas las N palabras anteriores

Maximum Likelihood Estimate (MLE)

Se denomina Maximum Likelihood Estimate a la estimacioacuten de probabilidades utilizando la frecuencia relativa de una secuencia de palabras en un corpus de entrenamiento

Donde C(w1wi) es la cantidad de ocurrencias de la sentencia en el corpus de entrenamiento N es el numero total de sentencias y C(w1wi10485761) es la cantidad de ocurrencias de la secuencia de palabras precedentes

Smoothing

Como Smoothing se conocen las teacutecnicas para ajustar el modelo de MLE para estimar probabilidades en forma mas apropiada Esta teacutecnica tiende a unificar la distribucioacuten ajustando las bajas o nulas probabilidades hacia arriba y las altas hacia abajo Las teacutecnicas de smoothing mas utilizadas

Laplace Smoothing El meacutetodo de Laplace tambieacuten conocido como Add-One Smoothing es la teacutecnica mas

simple y consiste en asumir que cada n-grama aparece una vez mas de las que realmente aparece Los distintos trabajos de anaacutelisis de teacutecnicas de Smoothing muestran que este es un meacutetodo pobre de ajuste de probabilidades No es utilizado en modelado de lenguaje porque existen teacutecnicas mejores pero s se utiliza en tareas de clasificacioacuten de textos o en dominios donde el numero de ceros no es muy grande

Linear Interpolation Esta teacutecnica combina modelos de mayor orden con modelos de menor orden por ejemplo

en modelos de trigrama se combina con modelos de bigrama y unigrama que son menos afectados por la falta de ocurrencias en el corpus de entrenamiento Las probabilidades estimadas en cada modelo se combinan linealmente ponderadas seguacuten su contribucioacuten y dando como resultado una nueva probabilidad estimada

Backoff Esta teacutecnica tambieacuten combina modelos de mayor orden con modelos de menor orden

utilizando el que corresponda seguacuten la evidencia que se tenga en el corpus de entrenamiento Esta teacutecnica es utilizada generalmente en modelos de N-Grama muy grandes como la Web

Good-Turing Estimate En la estimacioacuten de Good Turing por cada N-Grama que ocurre r veces se pondera el

numero de N-gramas que ocurren exactamente r veces en el corpus de entrenamiento Witten-Bell Smoothing

Esta teacutecnica se basa en el modelo de interpolacioacuten lineal Se utiliza un modelo de mayor orden si el n-grama wi i1048576N+1 esta presente en el corpus de entrenamiento y se utilizan modelos de menor orden en caso contrario

Google N-Grams Datasets

Cuando no se tiene un corpus de entrenamiento pueden utilizarse datasets disponibles en la web para calcular la probabilidad de ocurrencia de una sentencia dada

Existen herramientas como Google N-Grams Dataset (Google 2008) que proveen grandes colecciones de datos en distintos idiomas y permiten calcular estas probabilidades con muy buena precisioacuten

Ademaacutes Google provee una herramienta para visualizar graacuteficamente la probabilidad de ocurrencia de un conjunto de sentencias dado un idioma y un nuacutemero de smoothing y utilizando grandes cantidades de libros como corpus de datos

Ngram Viewer Consideremos la sentencia ldquoun viaje y supongamos que

queremos estimar la probabilidad de que esta secuencia de palabras este seguida de la palabra ldquoa es decir P(ajun viaje)

Se observa en un corpus de entrenamiento que esta sentencia aparece diez veces de las cuales seis estaacuten seguidas de la palabra ldquoa tres de la palabra ldquolargo y una de la palabra ldquodesde

La estimacioacuten basada en frecuencias relativas asignara las siguientes probabilidades de ocurrencia de la proacutexima palabra

P(a|un viaje) = 06 P(largo|un viaje) = 03 P(desde|un viaje) = 01

La estimacioacuten MLE asignara probabilidad cero a cualquier otro evento que no se encuentre en el corpus de entrenamiento y maximizara la probabilidad de los eventos observados

4En espa~nol es conocido comohttpsbooksgooglecomngrams

Deteccioacuten de features

Bag of Words Se consideran features todos los teacuterminos del corpus de entrenamiento descartando la posicioacuten Cuando se utiliza este feature puede considerarse frecuencia de aparicioacuten o no por lo que podemos hacer la siguiente distincioacuten

Presencia de Unigramas por cada documento se evaluacutea la presencia o ausencia de cada unigrama descartando la informacioacuten de frecuencia de aparicioacuten

Frecuencia de Unigramas por cada documento se evaluacutea la frecuencia con la que aparece cada unigrama

Presencia de Bigramas se consideran features todos los conjuntos de dos teacuterminos consecutivos del corpus de entrenamiento y por cada documento se evaluacutea la presencia o ausencia de cada bigrama

Presencia de Adjetivos se consideran features todos los adjetivos del corpus de entrenamiento y por cada documento se evaluacutea presencia o ausencia Este tipo de feature es utilizado en tareas de AS dado que los adjetivos aportan la informacioacuten mas relevante en cuanto a opiniones y sentimientos

Deteccioacuten de features

Cuando se tienen demasiados features puede ser necesario eliminar aquellos que aporten menos informacioacuten al clasificador con el objetivo de mejorar la performance y reducir el costo de entrenamiento Para esta tarea el meacutetodo mas utilizado consiste en seleccionar los top N features (generalmente en porcentaje) ordenados por frecuencia de aparicioacuten en el conjunto de datos de entrenamiento

En aplicaciones reales de anaacutelisis de sentimientos resulta fundamental utilizar features y pesos especiacuteficos de dominio para mejorar la performance de los clasificadores

Modelos Generativos vs Discriminativos

Los clasificadores generativos aprenden el modelo a partir de la forma en que se generan las observaciones esto es a partir de la probabilidad conjunta P(CD) (donde D es el documento y C la clase) y realizan la prediccioacuten maximizando la probabilidad condicional P(C|D) que es calculada utilizando el teorema de Bayes

Los clasificadores discriminativos modelan directamente la probabilidad condicional P(C|D) para realizar la prediccioacuten es decir a partir de la estructura oculta de los datos sin tener en cuenta la forma en que se generan

La desventaja de los modelos generativos es que resuelven un problema maacutes general como paso intermedio en cambio en los modelos discriminativos se resuelve el problema de clasificacioacuten directamente

Si tuvieacuteramos que clasificar el idioma de un texto dado el enfoque generativo se basaraacute en aprender el idioma a partir de las observaciones del corpus de entrenamiento para luego predecir en que idioma esta escrito el texto

La caracteriacutestica maacutes importante de los modelos discriminativos es que asignan pesos a los features de forma que el modelo corresponda con las observaciones Esto resuelve el problema de los modelos generativos donde los features son multiplicados aunque aporten la misma informacioacuten

Los modelos generativos mas importantes son los modelos de N-Gramas y NB y los modelos discriminativos mas relevantes son Logistic Regression Maximum Entropy Models SVM etc

NB

NB es un meacutetodo de clasificacioacuten supervisado y generativo que se basa en el teorema de Bayes y en la premisa de independencia de los atributos dada una clase

Las distintas implementaciones difieren principalmente en la aproximacioacuten de P(fk|Ci) y las teacutecnicas de smoothing utilizadas para el tratamiento de probabilidades bajas o nulas

Multinomial NB

En el caso de utilizar como features todos los teacuterminos del vocabulario del corpus de entrenamiento teniendo en cuenta su frecuencia de aparicioacuten add-one como teacutecnica de smoothing y MLE para estimar P(fk|Ci)

Multinomial NB - Ejemplo

Multinomial NB - Ejemplo

Binarized Multinomial NB

En el modelo Multinomial consideraacutebamos la frecuencia de aparicioacuten de cada feature para la estimacioacuten de P(fk|Ci) A diferencia de este meacutetodo NB puede ser implementado considerando exclusivamente presencia o ausencia de features es decir asociaacutendolos con un valor booleano cuando se evaluacutea un documento y descartando informacioacuten de frecuencia y posicioacuten

Binarized Multinomial NB - Ejemplo

Modelo de Maacutexima Entropiacutea

Es un meacutetodo de clasificacioacuten discriminativo y de aprendizaje supervisado donde los documentos del conjunto de datos son descriptos a partir de una lista de features siendo cada uno de estos features una restriccioacuten del modelo

Este meacutetodo se basa en seleccionar la distribucioacuten de probabilidad que satisfaga todas las restricciones del modelo y maximice la entropiacutea Esto apunta a preservar la incertidumbre tanto como sea posible

Polaridad de Turney Propone en su trabajo un meacutetodo no-supervisado

para la clasificacioacuten de textos seguacuten informacioacuten subjetiva que se basa en predecir la polaridad de un documento en base a su orientacioacuten semaacutentica

La orientacioacuten de un documento es calculada en base a la distancia a los teacuterminos del idioma ingles ldquoexcelent y ldquopoor que sugieren referencias positivas y negativas respectivamente

El algoritmo propuesto consiste en los siguientes 3 pasos

Extraer las frases del documento que contienen adjetivos o adverbios utilizando una herramienta de part-of-speech tagging

Estimar la orientacioacuten semaacutentica de cada frase extraiacuteda utilizando el algoritmo PMI-IR

Asignar las clases ldquorecomendado o ldquono recomendado al documento

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Polaridad de Turney

En el primer paso se extraen grupos de dos palabras cuyas etiquetas correspondan con los siguientes patrones

Siendo JJ Adjetivos NN Sustantivos en Singular NNS

Sustantivos en Plural RB Adverbios RBS Adverbios Superlativos RBR Adverbios Comparativos VB Verbos VBD Verbos en Pasado VBN Verbos en Pasado Participio VBG Verbos Gerundios o Pasado Participio

Algoritmo PMI-IR

Este algoritmo utiliza la teacutecnica de Pointwise Mutual Information (PMI) para obtener una medida de la asociacioacuten semaacutentica entre dos palabras seguacuten la ecuacioacuten que sigue

Siendo p(word1 amp word2) la probabilidad de que las palabras ocurran juntas

Luego la orientacioacuten semaacutentica se calcularaacute de la siguiente manera

Algoritmo PMI-IR El algoritmo PMI-IR estima el valor de PMI

realizando consultas a un motor de buacutesqueda a partir de la cantidad de resultados que devuelve la consulta y utilizando el operador NEAR que proveen algunos buscadores para estimar la ocurrencia conjunta de dos teacuterminos

Por ultimo la clasificacioacuten de un documento como ldquorecomendable o ldquono recomendable se realizaraacute a partir del caacutelculo de la orientacioacuten semaacutentica promedio de todas las frases extraiacutedas del documento

Algoritmo PMI-IR Consideraremos los teacuterminos ldquoexcelente como referencia

de polaridad positiva y los teacuterminos ldquomal malo mala como referencia negativa y estimaremos el operador NEAR a partir de la ocurrencia conjunta de palabras en la misma sentencia Consideremos las frases ldquobuena comida y ldquocomida friacutea para el caacutelculo de orientacioacuten semaacutentica

Clasificacioacuten basada en Leacutexico de Opinioacuten Existen otros meacutetodos de clasificacioacuten considerados no

supervisados o semi-supervisados que se basan en utilizar un conjunto de teacuterminos ldquosemillaldquo cuya polaridad es conocida y la clasificacioacuten consiste en calcular la similitud o distancia de los teacuterminos que componen el documento a estos teacuterminos conocidos

En este tipo de meacutetodos el leacutexico es utilizado como reemplazo de los features del modelo El ejemplo mas extremo de utilizacioacuten de leacutexico de opinioacuten es el algoritmo de Turney que utiliza la polaridad conocida de dos uacutenicos teacuterminos para clasificar un texto a partir de la distancia de los teacuterminos del documento a ellos

En un trabajo Sidorov (2012) se propone un leacutexico de opinioacuten de mas de 2000 palabras en idioma espantildeol que incluye la distancia de cada uno de estos teacuterminos a alguna de las siguientes emociones baacutesicas alegra ira miedo tristeza sorpresa y disgusto

En base a esta informacioacuten podraacute desarrollarse un algoritmo que infiera la polaridad de una sentencia a partir de calcular la distancia de los teacuterminos que la componen a las emociones baacutesicas asociadas a sentimientos positivos o negativos

Clasificacioacuten basada en Leacutexico de Opinioacuten

En este tipo de clasificadores puede ser necesario asociar la polaridad de los teacuterminos del leacutexico a dominios u objetivos especiacuteficos Por ejemplo

La palabra ldquobarato puede asociarse a sentimientos positivos cuando se refiere a comida y a sentimientos negativos cuando se refiere a vestimenta o decoracioacuten de ambientes

La palabra ldquoantildeejo tiene una connotacioacuten positiva cuando se refiere a vinos y altamente negativa si se refiere a comida

El termino ldquofriacuteo se asocia a emociones negativas si se habla de pizza y positivas si se habla de cervezas etc

Clasificacioacuten basada en Leacutexico de Opinioacuten Otro meacutetodo semi-supervisado basado en leacutexico de opinioacuten

consiste en identificar la polaridad de los adjetivos de un texto a partir de la ocurrencia conjunta con teacuterminos cuya polaridad es conocida y teniendo en cuenta la conjuncioacuten que los relaciona es decir considerando que si los adjetivos estaacuten conectados por el termino ldquoy tendraacuten la misma polaridad mientras que si aparecen conectados por el termino ldquopero tendraacuten polaridad opuesta

Un ejemplo Etiquetar un conjunto inicial de adjetivos semilla seguacuten su

polaridad Extender el conjunto anterior a partir de la ocurrencia conjunta

de los adjetivos conocidos con otros adjetivos y teniendo en cuenta la conjuncioacuten que los relaciona para determinar si tienen la misma polaridad u opuesta

Utilizar un clasificador supervisado para determinar el grado de similitud de polaridad de cada par de adjetivos generando como resultado un graacutefico que relacione los adjetivos del conjunto de datos

Clusterizar el graacutefico anterior en dos grandes grupos de polaridad similar (positivos y negativos)

Clasificacioacuten basada en Puntaje Para clasificar un texto de forma maacutes subjetiva se puede asignar a

cada documento un puntaje dentro de una escala dependiendo del grado de polaridad que expresa (por ejemplo asignar estrellas del 1 al 5)

La solucioacuten mas simple para esta tarea es clasificar el texto utilizando muacuteltiples categoriacuteas como clases Esta clasificacioacuten puede realizarse con los algoritmos como NB

Como SVM se utiliza para clasificacioacuten binaria se puede utilizar One-vs-All que se basa en crear un clasificador SVM para cada clase cuya salida nos permita saber si el documento pertenece o no a la clase en cuestioacuten

Otra solucion para resolver esta tarea consideraacutendola un problema de metric labeling En este tipo de problema la entrada es un conjunto de etiquetas (clases) y un grafo ponderado Se define una funcioacuten de distancia de las etiquetas y para cada etiqueta el costo de asignacioacuten a cada veacutertice siendo el objetivo encontrar el menor costo de asignar una etiqueta a un veacutertice Este enfoque combina los clasificadores SVM y k-nearest neighbors que es un meacutetodo no parametrito de clasificacioacuten basado en encontrar los elementos mas cercanos del conjunto de datos de entrenamiento en el espacio de features

Otro enfoque para la tarea de clasificacioacuten en muacuteltiples categoriacuteas consiste en utilizar un meacutetodo de regresioacuten considerando que las categoriacuteas corresponden a la discretizacioacuten de una funcioacuten continua

Clasificacioacuten de Muacuteltiples Aspectos Hasta ahora hemos presentado las tareas de anaacutelisis de

sentimientos a nivel de documento es decir asignando una clase a un documento completo a partir de las emociones que expresa Esta clasificacioacuten puede ser binaria (polaridad positiva o negativa) o basada en muacuteltiples categoriacuteas (utilizando puntajes o estrellas como clases) pero en ambos casos se claacutesica el documento completo

En esta seccioacuten presentaremos la clasificacioacuten aislada de los muacuteltiples objetivos aspectos o targets que generan opinioacuten dentro de un mismo documento Esta tarea es conocida como Multi-Aspect Sentiment Analysis

El objetivo de esta tarea consiste en la identificacioacuten de aspectos que generan opinioacuten dentro de un mismo documento seleccionando aquellas caracteriacutesticas que son frecuentemente mencionadas y las emociones asociadas Para identificar estas caracteriacutesticas o aspectos la solucioacuten mas simple consiste en utilizar un parser que nos permita obtener las frases nominales del documento teniendo en cuenta que la mayora de los aspectos son sustantivos

Clasificacioacuten de Muacuteltiples Aspectos

ldquoexcelente comida el ambiente es bastante ruidoso pero los precios accesibles

Clasificacioacuten de Muacuteltiples Aspectos A partir de la clasificacioacuten anterior podremos extraer los

sustantivos o frases nominales que nos permitiraacuten identificar teacuterminos candidatos a aspectos y los adjetivos para identificar las emociones asociadas Para obtener la polaridad de sentimientos utilizaremos los meacutetodos de clasificacioacuten estudiados en secciones anteriores

Luego a partir de la polaridad de la emocioacuten que genera cada aspecto debemos establecer un criterio que nos permita asignar pesos para obtener la polaridad general del documento La forma mas simple Serra basaacutendonos en la frecuencia de aparicioacuten de cada aspecto en el corpus de datos

Otro meacutetodo simple para la identificacioacuten de targets que generan opinioacuten consiste en definir aspectos ad-hoc para un determinado dominio por ejemplo

f(COMIDA SERVICIO AMBIENTE OTROS) y luego ejecutar la clasificacioacuten de todos los teacuterminos del

documento utilizando un meacutetodo supervisado y un conjunto de datos de entrenamiento clasificado manualmente que nos permita obtener aquellos teacuterminos que pertenecen a alguna de las clases de aspectos relevantes generadores de opinioacuten

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 6: Poggi   analytics - sentiment - 1

Sentiment analysis

En su enfoque mas general el anaacutelisis computacional de sentimientos consiste en

detectar estas emociones quien las posee (holder) cuaacutel es el aspecto que genera la emocioacuten (target) cuaacutel es el tipo de emocioacuten (me gusta me encanta lo

valoro lo odio) la polaridad (positiva negativa neutra) cuaacuteles son las sentencias que las contienen

Sentiment analysis

El tipo de informacioacuten que puede obtenerse utilizando sistemas de AS incluye

Polaridad de sentimientos en criacuteticas sobre arte productos o servicios

Nivel de fidelizacioacuten de clientes Opinioacuten publica sobre personajes puacuteblicos o situaciones

de intereacutes social Predicciones sobre resultados de elecciones Tendencias de mercado

Sentiment analysis

Existen distintas tareas que pueden realizarse seguacuten complejidad creciente

Clasificacioacuten binaria de la actitud de un texto en positiva o negativa (tambieacuten puede existir el neutro)

Clasificacioacuten de un texto en muacuteltiples categoriacuteas seguacuten el grado de polaridad de la actitud dentro de una escala

Identificacioacuten de los aspectos mencionados en un texto y sus sentimientos asociados

Sentiment analysis

Por ejemplo consideremos la siguiente criacutetica de un restaurante extraiacuteda de una guiacutea gastronoacutemica online (wwwguiaoleocom)

ldquoMe gusta mucho este restaurante para comer comida aacuterabe La comida es fresca y se nota que hay rotacioacuten continua El ambiente es bastante ruidoso pero los mozos son muy amables y los precios muy accesibles

iquestCoacutemo lo clasificariacuteamos en los distintos niveles

Sentiment analysis

El resultado de realizar anaacutelisis de sentimientos sobre el texto anterior puede ser alguno de los siguientes seguacuten los enfoques antes mencionados

Clasificacioacuten Binaria Positivo

Clasificacioacuten en Muacuteltiples Categoriacuteas Rating 45

Clasificacioacuten de Aspectos Comida Positivo Ambiente Negativo Servicio Positivo Precio Positivo

Sentiment analysis

Dificultades maacutes importantes Deteccioacuten de sarcasmo ldquoEste restaurante es genial si

quereacutes terminar hospitalizado Neologismos ldquoEncontramos este lugar googleando Lunfardo ldquoLa cuenta un poco salada gastamos dos

gambas por cabeza Errores gramaticales y ortograacuteficos ldquoLa comida muy cara

para lo que es Un salteado de lomo mas paresca un salteado de papas Poca carne y un exagero de papas por 150 pesos

Informalidad en textos ldquoMaliiiiisimo este lugar no volvemos ni locossssss

Procesamiento de hashtags ldquoComiendo ceviche en sipanrestaurante bueniacutesimo

Procesamiento de emoticones ldquoTodo perfecto hasta que llego la cuenta (

Capitalizaciones ldquoComimos en El Buen Gusto el servicio es muy malo y la comida regular

Sentiment analysis

Seguacuten wwwcomscorecom 81 de los usuarios de Internet han hecho una

investigacioacuten sobre un producto al menos una vez 20 lo hacen en un da tiacutepico sobre los lectores de criacuteticas

online de restaurantes hoteles y servicios varios (agencias de viaje o doctores)

73-87 reportan que las criacuteticas han tenido una influencia significativa en sus compras

Consumidores reportan estar dispuestos a pagar desde un 20 a un 99 maacutes por un producto clasificado como 5-estrellas que por uno clasificado como 4-estrellas

32 han clasificado un producto servicio o persona a traveacutes de un sistema online de clasificaciones

30 han posteado un comentario online o criacutetica sobre un producto o servicio

Sentiment analysis

Definiciones Documento cada unidad de texto que conforma la

coleccioacuten de datos Es un texto no estructurado compuesto por un conjunto de sentencias o secuencia de palabras que expresan opiniones y emociones

Corpus conjunto de documentos que se utilizan como entrada para entrenar el modelo (conjunto de datos de entrenamiento) y por el conjunto de documentos que seraacuten clasificados utilizaacutendolo

Leacutexico de Opinioacuten conjunto de palabras o vocabulario que se utiliza para expresar opinioacuten en un idioma dado

Feature caracteriacutesticas o atributos de los documentos que nos permitan encontrar patrones para predecir la positividad o negatividad de las opiniones expresadas en un texto

N-Gramas

Modelado del Lenguaje con N-Gramas En la mayora de las tareas de procesamiento de lenguaje

natural es necesario identificar las sentencias o secuencias de palabras que ocurren con mayor probabilidad dado un contexto

El objetivo de un modelo de lenguaje es calcular la probabilidad de ocurrencia de una sentencia que es originada por una secuencia de palabras que pasa a traveacutes de lo que se conoce como Noisy Channel

N-Gramas

El modelo que es utilizado por ejemplo en las siguientes tareas

Reconocimiento de discurso donde y es la sentildeal acuacutestica producida

Traduccioacuten automaacutetica de textos donde y es la sentencia en otro idioma

Correccioacuten automaacutetica de textos donde y es la secuencia de caracteres emitida por un escritor imperfecto

En los tres casos dada una secuencia de salida y se busca predecir la sentencia w que la originoacute

N-Gramas

Los algoritmos que asignan probabilidades a una sentencia pueden ser tambieacuten utilizados para calcular la probabilidad de la siguiente palabra dada una sentencia Esto resulta de gran utilidad en tareas de part-of-speech-tagging

N-Gramas

Los algoritmos que asignan probabilidades a una sentencia pueden ser tambieacuten utilizados para calcular la probabilidad de la siguiente palabra dada una sentencia Esto resulta de gran utilidad en tareas de part-of-speech-tagging

N-Gramas Modelo de Unigrama

El modelo de Unigrama es el caso trivial de la premisa de Markov es decir aproxima la probabilidad de una palabra con la probabilidad de ocurrencia de esa palabra en el corpus de datos y sin tener en cuenta las palabras que la preceden es decir considerando N = 0

P(ojos | lo esencial es invisible a los) = P(ojos) Modelo de Bigrama

El modelo de Bigrama utiliza la premisa de Markov para aproximar la probabilidad de una palabra con la probabilidad de ocurrencia de esa palabra dada la palabra anterior es decir considerando N = 1

P(ojos | lo esencial es invisible a los) = P(ojos | los) Modelo de Trigrama

El mismo modelo descripto para unigramas y bigramas puede utilizarse teniendo en cuenta las dos palabras anteriores es decir considerando N = 2

P(ojos | lo esencial es invisible a los) = P(ojos | a los) Modelo de N-grama

Generalizando los modelos anteriores la probabilidad de una palabra puede aproximarse como la probabilidad de una palabra dadas las N palabras anteriores

Maximum Likelihood Estimate (MLE)

Se denomina Maximum Likelihood Estimate a la estimacioacuten de probabilidades utilizando la frecuencia relativa de una secuencia de palabras en un corpus de entrenamiento

Donde C(w1wi) es la cantidad de ocurrencias de la sentencia en el corpus de entrenamiento N es el numero total de sentencias y C(w1wi10485761) es la cantidad de ocurrencias de la secuencia de palabras precedentes

Smoothing

Como Smoothing se conocen las teacutecnicas para ajustar el modelo de MLE para estimar probabilidades en forma mas apropiada Esta teacutecnica tiende a unificar la distribucioacuten ajustando las bajas o nulas probabilidades hacia arriba y las altas hacia abajo Las teacutecnicas de smoothing mas utilizadas

Laplace Smoothing El meacutetodo de Laplace tambieacuten conocido como Add-One Smoothing es la teacutecnica mas

simple y consiste en asumir que cada n-grama aparece una vez mas de las que realmente aparece Los distintos trabajos de anaacutelisis de teacutecnicas de Smoothing muestran que este es un meacutetodo pobre de ajuste de probabilidades No es utilizado en modelado de lenguaje porque existen teacutecnicas mejores pero s se utiliza en tareas de clasificacioacuten de textos o en dominios donde el numero de ceros no es muy grande

Linear Interpolation Esta teacutecnica combina modelos de mayor orden con modelos de menor orden por ejemplo

en modelos de trigrama se combina con modelos de bigrama y unigrama que son menos afectados por la falta de ocurrencias en el corpus de entrenamiento Las probabilidades estimadas en cada modelo se combinan linealmente ponderadas seguacuten su contribucioacuten y dando como resultado una nueva probabilidad estimada

Backoff Esta teacutecnica tambieacuten combina modelos de mayor orden con modelos de menor orden

utilizando el que corresponda seguacuten la evidencia que se tenga en el corpus de entrenamiento Esta teacutecnica es utilizada generalmente en modelos de N-Grama muy grandes como la Web

Good-Turing Estimate En la estimacioacuten de Good Turing por cada N-Grama que ocurre r veces se pondera el

numero de N-gramas que ocurren exactamente r veces en el corpus de entrenamiento Witten-Bell Smoothing

Esta teacutecnica se basa en el modelo de interpolacioacuten lineal Se utiliza un modelo de mayor orden si el n-grama wi i1048576N+1 esta presente en el corpus de entrenamiento y se utilizan modelos de menor orden en caso contrario

Google N-Grams Datasets

Cuando no se tiene un corpus de entrenamiento pueden utilizarse datasets disponibles en la web para calcular la probabilidad de ocurrencia de una sentencia dada

Existen herramientas como Google N-Grams Dataset (Google 2008) que proveen grandes colecciones de datos en distintos idiomas y permiten calcular estas probabilidades con muy buena precisioacuten

Ademaacutes Google provee una herramienta para visualizar graacuteficamente la probabilidad de ocurrencia de un conjunto de sentencias dado un idioma y un nuacutemero de smoothing y utilizando grandes cantidades de libros como corpus de datos

Ngram Viewer Consideremos la sentencia ldquoun viaje y supongamos que

queremos estimar la probabilidad de que esta secuencia de palabras este seguida de la palabra ldquoa es decir P(ajun viaje)

Se observa en un corpus de entrenamiento que esta sentencia aparece diez veces de las cuales seis estaacuten seguidas de la palabra ldquoa tres de la palabra ldquolargo y una de la palabra ldquodesde

La estimacioacuten basada en frecuencias relativas asignara las siguientes probabilidades de ocurrencia de la proacutexima palabra

P(a|un viaje) = 06 P(largo|un viaje) = 03 P(desde|un viaje) = 01

La estimacioacuten MLE asignara probabilidad cero a cualquier otro evento que no se encuentre en el corpus de entrenamiento y maximizara la probabilidad de los eventos observados

4En espa~nol es conocido comohttpsbooksgooglecomngrams

Deteccioacuten de features

Bag of Words Se consideran features todos los teacuterminos del corpus de entrenamiento descartando la posicioacuten Cuando se utiliza este feature puede considerarse frecuencia de aparicioacuten o no por lo que podemos hacer la siguiente distincioacuten

Presencia de Unigramas por cada documento se evaluacutea la presencia o ausencia de cada unigrama descartando la informacioacuten de frecuencia de aparicioacuten

Frecuencia de Unigramas por cada documento se evaluacutea la frecuencia con la que aparece cada unigrama

Presencia de Bigramas se consideran features todos los conjuntos de dos teacuterminos consecutivos del corpus de entrenamiento y por cada documento se evaluacutea la presencia o ausencia de cada bigrama

Presencia de Adjetivos se consideran features todos los adjetivos del corpus de entrenamiento y por cada documento se evaluacutea presencia o ausencia Este tipo de feature es utilizado en tareas de AS dado que los adjetivos aportan la informacioacuten mas relevante en cuanto a opiniones y sentimientos

Deteccioacuten de features

Cuando se tienen demasiados features puede ser necesario eliminar aquellos que aporten menos informacioacuten al clasificador con el objetivo de mejorar la performance y reducir el costo de entrenamiento Para esta tarea el meacutetodo mas utilizado consiste en seleccionar los top N features (generalmente en porcentaje) ordenados por frecuencia de aparicioacuten en el conjunto de datos de entrenamiento

En aplicaciones reales de anaacutelisis de sentimientos resulta fundamental utilizar features y pesos especiacuteficos de dominio para mejorar la performance de los clasificadores

Modelos Generativos vs Discriminativos

Los clasificadores generativos aprenden el modelo a partir de la forma en que se generan las observaciones esto es a partir de la probabilidad conjunta P(CD) (donde D es el documento y C la clase) y realizan la prediccioacuten maximizando la probabilidad condicional P(C|D) que es calculada utilizando el teorema de Bayes

Los clasificadores discriminativos modelan directamente la probabilidad condicional P(C|D) para realizar la prediccioacuten es decir a partir de la estructura oculta de los datos sin tener en cuenta la forma en que se generan

La desventaja de los modelos generativos es que resuelven un problema maacutes general como paso intermedio en cambio en los modelos discriminativos se resuelve el problema de clasificacioacuten directamente

Si tuvieacuteramos que clasificar el idioma de un texto dado el enfoque generativo se basaraacute en aprender el idioma a partir de las observaciones del corpus de entrenamiento para luego predecir en que idioma esta escrito el texto

La caracteriacutestica maacutes importante de los modelos discriminativos es que asignan pesos a los features de forma que el modelo corresponda con las observaciones Esto resuelve el problema de los modelos generativos donde los features son multiplicados aunque aporten la misma informacioacuten

Los modelos generativos mas importantes son los modelos de N-Gramas y NB y los modelos discriminativos mas relevantes son Logistic Regression Maximum Entropy Models SVM etc

NB

NB es un meacutetodo de clasificacioacuten supervisado y generativo que se basa en el teorema de Bayes y en la premisa de independencia de los atributos dada una clase

Las distintas implementaciones difieren principalmente en la aproximacioacuten de P(fk|Ci) y las teacutecnicas de smoothing utilizadas para el tratamiento de probabilidades bajas o nulas

Multinomial NB

En el caso de utilizar como features todos los teacuterminos del vocabulario del corpus de entrenamiento teniendo en cuenta su frecuencia de aparicioacuten add-one como teacutecnica de smoothing y MLE para estimar P(fk|Ci)

Multinomial NB - Ejemplo

Multinomial NB - Ejemplo

Binarized Multinomial NB

En el modelo Multinomial consideraacutebamos la frecuencia de aparicioacuten de cada feature para la estimacioacuten de P(fk|Ci) A diferencia de este meacutetodo NB puede ser implementado considerando exclusivamente presencia o ausencia de features es decir asociaacutendolos con un valor booleano cuando se evaluacutea un documento y descartando informacioacuten de frecuencia y posicioacuten

Binarized Multinomial NB - Ejemplo

Modelo de Maacutexima Entropiacutea

Es un meacutetodo de clasificacioacuten discriminativo y de aprendizaje supervisado donde los documentos del conjunto de datos son descriptos a partir de una lista de features siendo cada uno de estos features una restriccioacuten del modelo

Este meacutetodo se basa en seleccionar la distribucioacuten de probabilidad que satisfaga todas las restricciones del modelo y maximice la entropiacutea Esto apunta a preservar la incertidumbre tanto como sea posible

Polaridad de Turney Propone en su trabajo un meacutetodo no-supervisado

para la clasificacioacuten de textos seguacuten informacioacuten subjetiva que se basa en predecir la polaridad de un documento en base a su orientacioacuten semaacutentica

La orientacioacuten de un documento es calculada en base a la distancia a los teacuterminos del idioma ingles ldquoexcelent y ldquopoor que sugieren referencias positivas y negativas respectivamente

El algoritmo propuesto consiste en los siguientes 3 pasos

Extraer las frases del documento que contienen adjetivos o adverbios utilizando una herramienta de part-of-speech tagging

Estimar la orientacioacuten semaacutentica de cada frase extraiacuteda utilizando el algoritmo PMI-IR

Asignar las clases ldquorecomendado o ldquono recomendado al documento

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Polaridad de Turney

En el primer paso se extraen grupos de dos palabras cuyas etiquetas correspondan con los siguientes patrones

Siendo JJ Adjetivos NN Sustantivos en Singular NNS

Sustantivos en Plural RB Adverbios RBS Adverbios Superlativos RBR Adverbios Comparativos VB Verbos VBD Verbos en Pasado VBN Verbos en Pasado Participio VBG Verbos Gerundios o Pasado Participio

Algoritmo PMI-IR

Este algoritmo utiliza la teacutecnica de Pointwise Mutual Information (PMI) para obtener una medida de la asociacioacuten semaacutentica entre dos palabras seguacuten la ecuacioacuten que sigue

Siendo p(word1 amp word2) la probabilidad de que las palabras ocurran juntas

Luego la orientacioacuten semaacutentica se calcularaacute de la siguiente manera

Algoritmo PMI-IR El algoritmo PMI-IR estima el valor de PMI

realizando consultas a un motor de buacutesqueda a partir de la cantidad de resultados que devuelve la consulta y utilizando el operador NEAR que proveen algunos buscadores para estimar la ocurrencia conjunta de dos teacuterminos

Por ultimo la clasificacioacuten de un documento como ldquorecomendable o ldquono recomendable se realizaraacute a partir del caacutelculo de la orientacioacuten semaacutentica promedio de todas las frases extraiacutedas del documento

Algoritmo PMI-IR Consideraremos los teacuterminos ldquoexcelente como referencia

de polaridad positiva y los teacuterminos ldquomal malo mala como referencia negativa y estimaremos el operador NEAR a partir de la ocurrencia conjunta de palabras en la misma sentencia Consideremos las frases ldquobuena comida y ldquocomida friacutea para el caacutelculo de orientacioacuten semaacutentica

Clasificacioacuten basada en Leacutexico de Opinioacuten Existen otros meacutetodos de clasificacioacuten considerados no

supervisados o semi-supervisados que se basan en utilizar un conjunto de teacuterminos ldquosemillaldquo cuya polaridad es conocida y la clasificacioacuten consiste en calcular la similitud o distancia de los teacuterminos que componen el documento a estos teacuterminos conocidos

En este tipo de meacutetodos el leacutexico es utilizado como reemplazo de los features del modelo El ejemplo mas extremo de utilizacioacuten de leacutexico de opinioacuten es el algoritmo de Turney que utiliza la polaridad conocida de dos uacutenicos teacuterminos para clasificar un texto a partir de la distancia de los teacuterminos del documento a ellos

En un trabajo Sidorov (2012) se propone un leacutexico de opinioacuten de mas de 2000 palabras en idioma espantildeol que incluye la distancia de cada uno de estos teacuterminos a alguna de las siguientes emociones baacutesicas alegra ira miedo tristeza sorpresa y disgusto

En base a esta informacioacuten podraacute desarrollarse un algoritmo que infiera la polaridad de una sentencia a partir de calcular la distancia de los teacuterminos que la componen a las emociones baacutesicas asociadas a sentimientos positivos o negativos

Clasificacioacuten basada en Leacutexico de Opinioacuten

En este tipo de clasificadores puede ser necesario asociar la polaridad de los teacuterminos del leacutexico a dominios u objetivos especiacuteficos Por ejemplo

La palabra ldquobarato puede asociarse a sentimientos positivos cuando se refiere a comida y a sentimientos negativos cuando se refiere a vestimenta o decoracioacuten de ambientes

La palabra ldquoantildeejo tiene una connotacioacuten positiva cuando se refiere a vinos y altamente negativa si se refiere a comida

El termino ldquofriacuteo se asocia a emociones negativas si se habla de pizza y positivas si se habla de cervezas etc

Clasificacioacuten basada en Leacutexico de Opinioacuten Otro meacutetodo semi-supervisado basado en leacutexico de opinioacuten

consiste en identificar la polaridad de los adjetivos de un texto a partir de la ocurrencia conjunta con teacuterminos cuya polaridad es conocida y teniendo en cuenta la conjuncioacuten que los relaciona es decir considerando que si los adjetivos estaacuten conectados por el termino ldquoy tendraacuten la misma polaridad mientras que si aparecen conectados por el termino ldquopero tendraacuten polaridad opuesta

Un ejemplo Etiquetar un conjunto inicial de adjetivos semilla seguacuten su

polaridad Extender el conjunto anterior a partir de la ocurrencia conjunta

de los adjetivos conocidos con otros adjetivos y teniendo en cuenta la conjuncioacuten que los relaciona para determinar si tienen la misma polaridad u opuesta

Utilizar un clasificador supervisado para determinar el grado de similitud de polaridad de cada par de adjetivos generando como resultado un graacutefico que relacione los adjetivos del conjunto de datos

Clusterizar el graacutefico anterior en dos grandes grupos de polaridad similar (positivos y negativos)

Clasificacioacuten basada en Puntaje Para clasificar un texto de forma maacutes subjetiva se puede asignar a

cada documento un puntaje dentro de una escala dependiendo del grado de polaridad que expresa (por ejemplo asignar estrellas del 1 al 5)

La solucioacuten mas simple para esta tarea es clasificar el texto utilizando muacuteltiples categoriacuteas como clases Esta clasificacioacuten puede realizarse con los algoritmos como NB

Como SVM se utiliza para clasificacioacuten binaria se puede utilizar One-vs-All que se basa en crear un clasificador SVM para cada clase cuya salida nos permita saber si el documento pertenece o no a la clase en cuestioacuten

Otra solucion para resolver esta tarea consideraacutendola un problema de metric labeling En este tipo de problema la entrada es un conjunto de etiquetas (clases) y un grafo ponderado Se define una funcioacuten de distancia de las etiquetas y para cada etiqueta el costo de asignacioacuten a cada veacutertice siendo el objetivo encontrar el menor costo de asignar una etiqueta a un veacutertice Este enfoque combina los clasificadores SVM y k-nearest neighbors que es un meacutetodo no parametrito de clasificacioacuten basado en encontrar los elementos mas cercanos del conjunto de datos de entrenamiento en el espacio de features

Otro enfoque para la tarea de clasificacioacuten en muacuteltiples categoriacuteas consiste en utilizar un meacutetodo de regresioacuten considerando que las categoriacuteas corresponden a la discretizacioacuten de una funcioacuten continua

Clasificacioacuten de Muacuteltiples Aspectos Hasta ahora hemos presentado las tareas de anaacutelisis de

sentimientos a nivel de documento es decir asignando una clase a un documento completo a partir de las emociones que expresa Esta clasificacioacuten puede ser binaria (polaridad positiva o negativa) o basada en muacuteltiples categoriacuteas (utilizando puntajes o estrellas como clases) pero en ambos casos se claacutesica el documento completo

En esta seccioacuten presentaremos la clasificacioacuten aislada de los muacuteltiples objetivos aspectos o targets que generan opinioacuten dentro de un mismo documento Esta tarea es conocida como Multi-Aspect Sentiment Analysis

El objetivo de esta tarea consiste en la identificacioacuten de aspectos que generan opinioacuten dentro de un mismo documento seleccionando aquellas caracteriacutesticas que son frecuentemente mencionadas y las emociones asociadas Para identificar estas caracteriacutesticas o aspectos la solucioacuten mas simple consiste en utilizar un parser que nos permita obtener las frases nominales del documento teniendo en cuenta que la mayora de los aspectos son sustantivos

Clasificacioacuten de Muacuteltiples Aspectos

ldquoexcelente comida el ambiente es bastante ruidoso pero los precios accesibles

Clasificacioacuten de Muacuteltiples Aspectos A partir de la clasificacioacuten anterior podremos extraer los

sustantivos o frases nominales que nos permitiraacuten identificar teacuterminos candidatos a aspectos y los adjetivos para identificar las emociones asociadas Para obtener la polaridad de sentimientos utilizaremos los meacutetodos de clasificacioacuten estudiados en secciones anteriores

Luego a partir de la polaridad de la emocioacuten que genera cada aspecto debemos establecer un criterio que nos permita asignar pesos para obtener la polaridad general del documento La forma mas simple Serra basaacutendonos en la frecuencia de aparicioacuten de cada aspecto en el corpus de datos

Otro meacutetodo simple para la identificacioacuten de targets que generan opinioacuten consiste en definir aspectos ad-hoc para un determinado dominio por ejemplo

f(COMIDA SERVICIO AMBIENTE OTROS) y luego ejecutar la clasificacioacuten de todos los teacuterminos del

documento utilizando un meacutetodo supervisado y un conjunto de datos de entrenamiento clasificado manualmente que nos permita obtener aquellos teacuterminos que pertenecen a alguna de las clases de aspectos relevantes generadores de opinioacuten

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 7: Poggi   analytics - sentiment - 1

Sentiment analysis

El tipo de informacioacuten que puede obtenerse utilizando sistemas de AS incluye

Polaridad de sentimientos en criacuteticas sobre arte productos o servicios

Nivel de fidelizacioacuten de clientes Opinioacuten publica sobre personajes puacuteblicos o situaciones

de intereacutes social Predicciones sobre resultados de elecciones Tendencias de mercado

Sentiment analysis

Existen distintas tareas que pueden realizarse seguacuten complejidad creciente

Clasificacioacuten binaria de la actitud de un texto en positiva o negativa (tambieacuten puede existir el neutro)

Clasificacioacuten de un texto en muacuteltiples categoriacuteas seguacuten el grado de polaridad de la actitud dentro de una escala

Identificacioacuten de los aspectos mencionados en un texto y sus sentimientos asociados

Sentiment analysis

Por ejemplo consideremos la siguiente criacutetica de un restaurante extraiacuteda de una guiacutea gastronoacutemica online (wwwguiaoleocom)

ldquoMe gusta mucho este restaurante para comer comida aacuterabe La comida es fresca y se nota que hay rotacioacuten continua El ambiente es bastante ruidoso pero los mozos son muy amables y los precios muy accesibles

iquestCoacutemo lo clasificariacuteamos en los distintos niveles

Sentiment analysis

El resultado de realizar anaacutelisis de sentimientos sobre el texto anterior puede ser alguno de los siguientes seguacuten los enfoques antes mencionados

Clasificacioacuten Binaria Positivo

Clasificacioacuten en Muacuteltiples Categoriacuteas Rating 45

Clasificacioacuten de Aspectos Comida Positivo Ambiente Negativo Servicio Positivo Precio Positivo

Sentiment analysis

Dificultades maacutes importantes Deteccioacuten de sarcasmo ldquoEste restaurante es genial si

quereacutes terminar hospitalizado Neologismos ldquoEncontramos este lugar googleando Lunfardo ldquoLa cuenta un poco salada gastamos dos

gambas por cabeza Errores gramaticales y ortograacuteficos ldquoLa comida muy cara

para lo que es Un salteado de lomo mas paresca un salteado de papas Poca carne y un exagero de papas por 150 pesos

Informalidad en textos ldquoMaliiiiisimo este lugar no volvemos ni locossssss

Procesamiento de hashtags ldquoComiendo ceviche en sipanrestaurante bueniacutesimo

Procesamiento de emoticones ldquoTodo perfecto hasta que llego la cuenta (

Capitalizaciones ldquoComimos en El Buen Gusto el servicio es muy malo y la comida regular

Sentiment analysis

Seguacuten wwwcomscorecom 81 de los usuarios de Internet han hecho una

investigacioacuten sobre un producto al menos una vez 20 lo hacen en un da tiacutepico sobre los lectores de criacuteticas

online de restaurantes hoteles y servicios varios (agencias de viaje o doctores)

73-87 reportan que las criacuteticas han tenido una influencia significativa en sus compras

Consumidores reportan estar dispuestos a pagar desde un 20 a un 99 maacutes por un producto clasificado como 5-estrellas que por uno clasificado como 4-estrellas

32 han clasificado un producto servicio o persona a traveacutes de un sistema online de clasificaciones

30 han posteado un comentario online o criacutetica sobre un producto o servicio

Sentiment analysis

Definiciones Documento cada unidad de texto que conforma la

coleccioacuten de datos Es un texto no estructurado compuesto por un conjunto de sentencias o secuencia de palabras que expresan opiniones y emociones

Corpus conjunto de documentos que se utilizan como entrada para entrenar el modelo (conjunto de datos de entrenamiento) y por el conjunto de documentos que seraacuten clasificados utilizaacutendolo

Leacutexico de Opinioacuten conjunto de palabras o vocabulario que se utiliza para expresar opinioacuten en un idioma dado

Feature caracteriacutesticas o atributos de los documentos que nos permitan encontrar patrones para predecir la positividad o negatividad de las opiniones expresadas en un texto

N-Gramas

Modelado del Lenguaje con N-Gramas En la mayora de las tareas de procesamiento de lenguaje

natural es necesario identificar las sentencias o secuencias de palabras que ocurren con mayor probabilidad dado un contexto

El objetivo de un modelo de lenguaje es calcular la probabilidad de ocurrencia de una sentencia que es originada por una secuencia de palabras que pasa a traveacutes de lo que se conoce como Noisy Channel

N-Gramas

El modelo que es utilizado por ejemplo en las siguientes tareas

Reconocimiento de discurso donde y es la sentildeal acuacutestica producida

Traduccioacuten automaacutetica de textos donde y es la sentencia en otro idioma

Correccioacuten automaacutetica de textos donde y es la secuencia de caracteres emitida por un escritor imperfecto

En los tres casos dada una secuencia de salida y se busca predecir la sentencia w que la originoacute

N-Gramas

Los algoritmos que asignan probabilidades a una sentencia pueden ser tambieacuten utilizados para calcular la probabilidad de la siguiente palabra dada una sentencia Esto resulta de gran utilidad en tareas de part-of-speech-tagging

N-Gramas

Los algoritmos que asignan probabilidades a una sentencia pueden ser tambieacuten utilizados para calcular la probabilidad de la siguiente palabra dada una sentencia Esto resulta de gran utilidad en tareas de part-of-speech-tagging

N-Gramas Modelo de Unigrama

El modelo de Unigrama es el caso trivial de la premisa de Markov es decir aproxima la probabilidad de una palabra con la probabilidad de ocurrencia de esa palabra en el corpus de datos y sin tener en cuenta las palabras que la preceden es decir considerando N = 0

P(ojos | lo esencial es invisible a los) = P(ojos) Modelo de Bigrama

El modelo de Bigrama utiliza la premisa de Markov para aproximar la probabilidad de una palabra con la probabilidad de ocurrencia de esa palabra dada la palabra anterior es decir considerando N = 1

P(ojos | lo esencial es invisible a los) = P(ojos | los) Modelo de Trigrama

El mismo modelo descripto para unigramas y bigramas puede utilizarse teniendo en cuenta las dos palabras anteriores es decir considerando N = 2

P(ojos | lo esencial es invisible a los) = P(ojos | a los) Modelo de N-grama

Generalizando los modelos anteriores la probabilidad de una palabra puede aproximarse como la probabilidad de una palabra dadas las N palabras anteriores

Maximum Likelihood Estimate (MLE)

Se denomina Maximum Likelihood Estimate a la estimacioacuten de probabilidades utilizando la frecuencia relativa de una secuencia de palabras en un corpus de entrenamiento

Donde C(w1wi) es la cantidad de ocurrencias de la sentencia en el corpus de entrenamiento N es el numero total de sentencias y C(w1wi10485761) es la cantidad de ocurrencias de la secuencia de palabras precedentes

Smoothing

Como Smoothing se conocen las teacutecnicas para ajustar el modelo de MLE para estimar probabilidades en forma mas apropiada Esta teacutecnica tiende a unificar la distribucioacuten ajustando las bajas o nulas probabilidades hacia arriba y las altas hacia abajo Las teacutecnicas de smoothing mas utilizadas

Laplace Smoothing El meacutetodo de Laplace tambieacuten conocido como Add-One Smoothing es la teacutecnica mas

simple y consiste en asumir que cada n-grama aparece una vez mas de las que realmente aparece Los distintos trabajos de anaacutelisis de teacutecnicas de Smoothing muestran que este es un meacutetodo pobre de ajuste de probabilidades No es utilizado en modelado de lenguaje porque existen teacutecnicas mejores pero s se utiliza en tareas de clasificacioacuten de textos o en dominios donde el numero de ceros no es muy grande

Linear Interpolation Esta teacutecnica combina modelos de mayor orden con modelos de menor orden por ejemplo

en modelos de trigrama se combina con modelos de bigrama y unigrama que son menos afectados por la falta de ocurrencias en el corpus de entrenamiento Las probabilidades estimadas en cada modelo se combinan linealmente ponderadas seguacuten su contribucioacuten y dando como resultado una nueva probabilidad estimada

Backoff Esta teacutecnica tambieacuten combina modelos de mayor orden con modelos de menor orden

utilizando el que corresponda seguacuten la evidencia que se tenga en el corpus de entrenamiento Esta teacutecnica es utilizada generalmente en modelos de N-Grama muy grandes como la Web

Good-Turing Estimate En la estimacioacuten de Good Turing por cada N-Grama que ocurre r veces se pondera el

numero de N-gramas que ocurren exactamente r veces en el corpus de entrenamiento Witten-Bell Smoothing

Esta teacutecnica se basa en el modelo de interpolacioacuten lineal Se utiliza un modelo de mayor orden si el n-grama wi i1048576N+1 esta presente en el corpus de entrenamiento y se utilizan modelos de menor orden en caso contrario

Google N-Grams Datasets

Cuando no se tiene un corpus de entrenamiento pueden utilizarse datasets disponibles en la web para calcular la probabilidad de ocurrencia de una sentencia dada

Existen herramientas como Google N-Grams Dataset (Google 2008) que proveen grandes colecciones de datos en distintos idiomas y permiten calcular estas probabilidades con muy buena precisioacuten

Ademaacutes Google provee una herramienta para visualizar graacuteficamente la probabilidad de ocurrencia de un conjunto de sentencias dado un idioma y un nuacutemero de smoothing y utilizando grandes cantidades de libros como corpus de datos

Ngram Viewer Consideremos la sentencia ldquoun viaje y supongamos que

queremos estimar la probabilidad de que esta secuencia de palabras este seguida de la palabra ldquoa es decir P(ajun viaje)

Se observa en un corpus de entrenamiento que esta sentencia aparece diez veces de las cuales seis estaacuten seguidas de la palabra ldquoa tres de la palabra ldquolargo y una de la palabra ldquodesde

La estimacioacuten basada en frecuencias relativas asignara las siguientes probabilidades de ocurrencia de la proacutexima palabra

P(a|un viaje) = 06 P(largo|un viaje) = 03 P(desde|un viaje) = 01

La estimacioacuten MLE asignara probabilidad cero a cualquier otro evento que no se encuentre en el corpus de entrenamiento y maximizara la probabilidad de los eventos observados

4En espa~nol es conocido comohttpsbooksgooglecomngrams

Deteccioacuten de features

Bag of Words Se consideran features todos los teacuterminos del corpus de entrenamiento descartando la posicioacuten Cuando se utiliza este feature puede considerarse frecuencia de aparicioacuten o no por lo que podemos hacer la siguiente distincioacuten

Presencia de Unigramas por cada documento se evaluacutea la presencia o ausencia de cada unigrama descartando la informacioacuten de frecuencia de aparicioacuten

Frecuencia de Unigramas por cada documento se evaluacutea la frecuencia con la que aparece cada unigrama

Presencia de Bigramas se consideran features todos los conjuntos de dos teacuterminos consecutivos del corpus de entrenamiento y por cada documento se evaluacutea la presencia o ausencia de cada bigrama

Presencia de Adjetivos se consideran features todos los adjetivos del corpus de entrenamiento y por cada documento se evaluacutea presencia o ausencia Este tipo de feature es utilizado en tareas de AS dado que los adjetivos aportan la informacioacuten mas relevante en cuanto a opiniones y sentimientos

Deteccioacuten de features

Cuando se tienen demasiados features puede ser necesario eliminar aquellos que aporten menos informacioacuten al clasificador con el objetivo de mejorar la performance y reducir el costo de entrenamiento Para esta tarea el meacutetodo mas utilizado consiste en seleccionar los top N features (generalmente en porcentaje) ordenados por frecuencia de aparicioacuten en el conjunto de datos de entrenamiento

En aplicaciones reales de anaacutelisis de sentimientos resulta fundamental utilizar features y pesos especiacuteficos de dominio para mejorar la performance de los clasificadores

Modelos Generativos vs Discriminativos

Los clasificadores generativos aprenden el modelo a partir de la forma en que se generan las observaciones esto es a partir de la probabilidad conjunta P(CD) (donde D es el documento y C la clase) y realizan la prediccioacuten maximizando la probabilidad condicional P(C|D) que es calculada utilizando el teorema de Bayes

Los clasificadores discriminativos modelan directamente la probabilidad condicional P(C|D) para realizar la prediccioacuten es decir a partir de la estructura oculta de los datos sin tener en cuenta la forma en que se generan

La desventaja de los modelos generativos es que resuelven un problema maacutes general como paso intermedio en cambio en los modelos discriminativos se resuelve el problema de clasificacioacuten directamente

Si tuvieacuteramos que clasificar el idioma de un texto dado el enfoque generativo se basaraacute en aprender el idioma a partir de las observaciones del corpus de entrenamiento para luego predecir en que idioma esta escrito el texto

La caracteriacutestica maacutes importante de los modelos discriminativos es que asignan pesos a los features de forma que el modelo corresponda con las observaciones Esto resuelve el problema de los modelos generativos donde los features son multiplicados aunque aporten la misma informacioacuten

Los modelos generativos mas importantes son los modelos de N-Gramas y NB y los modelos discriminativos mas relevantes son Logistic Regression Maximum Entropy Models SVM etc

NB

NB es un meacutetodo de clasificacioacuten supervisado y generativo que se basa en el teorema de Bayes y en la premisa de independencia de los atributos dada una clase

Las distintas implementaciones difieren principalmente en la aproximacioacuten de P(fk|Ci) y las teacutecnicas de smoothing utilizadas para el tratamiento de probabilidades bajas o nulas

Multinomial NB

En el caso de utilizar como features todos los teacuterminos del vocabulario del corpus de entrenamiento teniendo en cuenta su frecuencia de aparicioacuten add-one como teacutecnica de smoothing y MLE para estimar P(fk|Ci)

Multinomial NB - Ejemplo

Multinomial NB - Ejemplo

Binarized Multinomial NB

En el modelo Multinomial consideraacutebamos la frecuencia de aparicioacuten de cada feature para la estimacioacuten de P(fk|Ci) A diferencia de este meacutetodo NB puede ser implementado considerando exclusivamente presencia o ausencia de features es decir asociaacutendolos con un valor booleano cuando se evaluacutea un documento y descartando informacioacuten de frecuencia y posicioacuten

Binarized Multinomial NB - Ejemplo

Modelo de Maacutexima Entropiacutea

Es un meacutetodo de clasificacioacuten discriminativo y de aprendizaje supervisado donde los documentos del conjunto de datos son descriptos a partir de una lista de features siendo cada uno de estos features una restriccioacuten del modelo

Este meacutetodo se basa en seleccionar la distribucioacuten de probabilidad que satisfaga todas las restricciones del modelo y maximice la entropiacutea Esto apunta a preservar la incertidumbre tanto como sea posible

Polaridad de Turney Propone en su trabajo un meacutetodo no-supervisado

para la clasificacioacuten de textos seguacuten informacioacuten subjetiva que se basa en predecir la polaridad de un documento en base a su orientacioacuten semaacutentica

La orientacioacuten de un documento es calculada en base a la distancia a los teacuterminos del idioma ingles ldquoexcelent y ldquopoor que sugieren referencias positivas y negativas respectivamente

El algoritmo propuesto consiste en los siguientes 3 pasos

Extraer las frases del documento que contienen adjetivos o adverbios utilizando una herramienta de part-of-speech tagging

Estimar la orientacioacuten semaacutentica de cada frase extraiacuteda utilizando el algoritmo PMI-IR

Asignar las clases ldquorecomendado o ldquono recomendado al documento

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Polaridad de Turney

En el primer paso se extraen grupos de dos palabras cuyas etiquetas correspondan con los siguientes patrones

Siendo JJ Adjetivos NN Sustantivos en Singular NNS

Sustantivos en Plural RB Adverbios RBS Adverbios Superlativos RBR Adverbios Comparativos VB Verbos VBD Verbos en Pasado VBN Verbos en Pasado Participio VBG Verbos Gerundios o Pasado Participio

Algoritmo PMI-IR

Este algoritmo utiliza la teacutecnica de Pointwise Mutual Information (PMI) para obtener una medida de la asociacioacuten semaacutentica entre dos palabras seguacuten la ecuacioacuten que sigue

Siendo p(word1 amp word2) la probabilidad de que las palabras ocurran juntas

Luego la orientacioacuten semaacutentica se calcularaacute de la siguiente manera

Algoritmo PMI-IR El algoritmo PMI-IR estima el valor de PMI

realizando consultas a un motor de buacutesqueda a partir de la cantidad de resultados que devuelve la consulta y utilizando el operador NEAR que proveen algunos buscadores para estimar la ocurrencia conjunta de dos teacuterminos

Por ultimo la clasificacioacuten de un documento como ldquorecomendable o ldquono recomendable se realizaraacute a partir del caacutelculo de la orientacioacuten semaacutentica promedio de todas las frases extraiacutedas del documento

Algoritmo PMI-IR Consideraremos los teacuterminos ldquoexcelente como referencia

de polaridad positiva y los teacuterminos ldquomal malo mala como referencia negativa y estimaremos el operador NEAR a partir de la ocurrencia conjunta de palabras en la misma sentencia Consideremos las frases ldquobuena comida y ldquocomida friacutea para el caacutelculo de orientacioacuten semaacutentica

Clasificacioacuten basada en Leacutexico de Opinioacuten Existen otros meacutetodos de clasificacioacuten considerados no

supervisados o semi-supervisados que se basan en utilizar un conjunto de teacuterminos ldquosemillaldquo cuya polaridad es conocida y la clasificacioacuten consiste en calcular la similitud o distancia de los teacuterminos que componen el documento a estos teacuterminos conocidos

En este tipo de meacutetodos el leacutexico es utilizado como reemplazo de los features del modelo El ejemplo mas extremo de utilizacioacuten de leacutexico de opinioacuten es el algoritmo de Turney que utiliza la polaridad conocida de dos uacutenicos teacuterminos para clasificar un texto a partir de la distancia de los teacuterminos del documento a ellos

En un trabajo Sidorov (2012) se propone un leacutexico de opinioacuten de mas de 2000 palabras en idioma espantildeol que incluye la distancia de cada uno de estos teacuterminos a alguna de las siguientes emociones baacutesicas alegra ira miedo tristeza sorpresa y disgusto

En base a esta informacioacuten podraacute desarrollarse un algoritmo que infiera la polaridad de una sentencia a partir de calcular la distancia de los teacuterminos que la componen a las emociones baacutesicas asociadas a sentimientos positivos o negativos

Clasificacioacuten basada en Leacutexico de Opinioacuten

En este tipo de clasificadores puede ser necesario asociar la polaridad de los teacuterminos del leacutexico a dominios u objetivos especiacuteficos Por ejemplo

La palabra ldquobarato puede asociarse a sentimientos positivos cuando se refiere a comida y a sentimientos negativos cuando se refiere a vestimenta o decoracioacuten de ambientes

La palabra ldquoantildeejo tiene una connotacioacuten positiva cuando se refiere a vinos y altamente negativa si se refiere a comida

El termino ldquofriacuteo se asocia a emociones negativas si se habla de pizza y positivas si se habla de cervezas etc

Clasificacioacuten basada en Leacutexico de Opinioacuten Otro meacutetodo semi-supervisado basado en leacutexico de opinioacuten

consiste en identificar la polaridad de los adjetivos de un texto a partir de la ocurrencia conjunta con teacuterminos cuya polaridad es conocida y teniendo en cuenta la conjuncioacuten que los relaciona es decir considerando que si los adjetivos estaacuten conectados por el termino ldquoy tendraacuten la misma polaridad mientras que si aparecen conectados por el termino ldquopero tendraacuten polaridad opuesta

Un ejemplo Etiquetar un conjunto inicial de adjetivos semilla seguacuten su

polaridad Extender el conjunto anterior a partir de la ocurrencia conjunta

de los adjetivos conocidos con otros adjetivos y teniendo en cuenta la conjuncioacuten que los relaciona para determinar si tienen la misma polaridad u opuesta

Utilizar un clasificador supervisado para determinar el grado de similitud de polaridad de cada par de adjetivos generando como resultado un graacutefico que relacione los adjetivos del conjunto de datos

Clusterizar el graacutefico anterior en dos grandes grupos de polaridad similar (positivos y negativos)

Clasificacioacuten basada en Puntaje Para clasificar un texto de forma maacutes subjetiva se puede asignar a

cada documento un puntaje dentro de una escala dependiendo del grado de polaridad que expresa (por ejemplo asignar estrellas del 1 al 5)

La solucioacuten mas simple para esta tarea es clasificar el texto utilizando muacuteltiples categoriacuteas como clases Esta clasificacioacuten puede realizarse con los algoritmos como NB

Como SVM se utiliza para clasificacioacuten binaria se puede utilizar One-vs-All que se basa en crear un clasificador SVM para cada clase cuya salida nos permita saber si el documento pertenece o no a la clase en cuestioacuten

Otra solucion para resolver esta tarea consideraacutendola un problema de metric labeling En este tipo de problema la entrada es un conjunto de etiquetas (clases) y un grafo ponderado Se define una funcioacuten de distancia de las etiquetas y para cada etiqueta el costo de asignacioacuten a cada veacutertice siendo el objetivo encontrar el menor costo de asignar una etiqueta a un veacutertice Este enfoque combina los clasificadores SVM y k-nearest neighbors que es un meacutetodo no parametrito de clasificacioacuten basado en encontrar los elementos mas cercanos del conjunto de datos de entrenamiento en el espacio de features

Otro enfoque para la tarea de clasificacioacuten en muacuteltiples categoriacuteas consiste en utilizar un meacutetodo de regresioacuten considerando que las categoriacuteas corresponden a la discretizacioacuten de una funcioacuten continua

Clasificacioacuten de Muacuteltiples Aspectos Hasta ahora hemos presentado las tareas de anaacutelisis de

sentimientos a nivel de documento es decir asignando una clase a un documento completo a partir de las emociones que expresa Esta clasificacioacuten puede ser binaria (polaridad positiva o negativa) o basada en muacuteltiples categoriacuteas (utilizando puntajes o estrellas como clases) pero en ambos casos se claacutesica el documento completo

En esta seccioacuten presentaremos la clasificacioacuten aislada de los muacuteltiples objetivos aspectos o targets que generan opinioacuten dentro de un mismo documento Esta tarea es conocida como Multi-Aspect Sentiment Analysis

El objetivo de esta tarea consiste en la identificacioacuten de aspectos que generan opinioacuten dentro de un mismo documento seleccionando aquellas caracteriacutesticas que son frecuentemente mencionadas y las emociones asociadas Para identificar estas caracteriacutesticas o aspectos la solucioacuten mas simple consiste en utilizar un parser que nos permita obtener las frases nominales del documento teniendo en cuenta que la mayora de los aspectos son sustantivos

Clasificacioacuten de Muacuteltiples Aspectos

ldquoexcelente comida el ambiente es bastante ruidoso pero los precios accesibles

Clasificacioacuten de Muacuteltiples Aspectos A partir de la clasificacioacuten anterior podremos extraer los

sustantivos o frases nominales que nos permitiraacuten identificar teacuterminos candidatos a aspectos y los adjetivos para identificar las emociones asociadas Para obtener la polaridad de sentimientos utilizaremos los meacutetodos de clasificacioacuten estudiados en secciones anteriores

Luego a partir de la polaridad de la emocioacuten que genera cada aspecto debemos establecer un criterio que nos permita asignar pesos para obtener la polaridad general del documento La forma mas simple Serra basaacutendonos en la frecuencia de aparicioacuten de cada aspecto en el corpus de datos

Otro meacutetodo simple para la identificacioacuten de targets que generan opinioacuten consiste en definir aspectos ad-hoc para un determinado dominio por ejemplo

f(COMIDA SERVICIO AMBIENTE OTROS) y luego ejecutar la clasificacioacuten de todos los teacuterminos del

documento utilizando un meacutetodo supervisado y un conjunto de datos de entrenamiento clasificado manualmente que nos permita obtener aquellos teacuterminos que pertenecen a alguna de las clases de aspectos relevantes generadores de opinioacuten

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 8: Poggi   analytics - sentiment - 1

Sentiment analysis

Existen distintas tareas que pueden realizarse seguacuten complejidad creciente

Clasificacioacuten binaria de la actitud de un texto en positiva o negativa (tambieacuten puede existir el neutro)

Clasificacioacuten de un texto en muacuteltiples categoriacuteas seguacuten el grado de polaridad de la actitud dentro de una escala

Identificacioacuten de los aspectos mencionados en un texto y sus sentimientos asociados

Sentiment analysis

Por ejemplo consideremos la siguiente criacutetica de un restaurante extraiacuteda de una guiacutea gastronoacutemica online (wwwguiaoleocom)

ldquoMe gusta mucho este restaurante para comer comida aacuterabe La comida es fresca y se nota que hay rotacioacuten continua El ambiente es bastante ruidoso pero los mozos son muy amables y los precios muy accesibles

iquestCoacutemo lo clasificariacuteamos en los distintos niveles

Sentiment analysis

El resultado de realizar anaacutelisis de sentimientos sobre el texto anterior puede ser alguno de los siguientes seguacuten los enfoques antes mencionados

Clasificacioacuten Binaria Positivo

Clasificacioacuten en Muacuteltiples Categoriacuteas Rating 45

Clasificacioacuten de Aspectos Comida Positivo Ambiente Negativo Servicio Positivo Precio Positivo

Sentiment analysis

Dificultades maacutes importantes Deteccioacuten de sarcasmo ldquoEste restaurante es genial si

quereacutes terminar hospitalizado Neologismos ldquoEncontramos este lugar googleando Lunfardo ldquoLa cuenta un poco salada gastamos dos

gambas por cabeza Errores gramaticales y ortograacuteficos ldquoLa comida muy cara

para lo que es Un salteado de lomo mas paresca un salteado de papas Poca carne y un exagero de papas por 150 pesos

Informalidad en textos ldquoMaliiiiisimo este lugar no volvemos ni locossssss

Procesamiento de hashtags ldquoComiendo ceviche en sipanrestaurante bueniacutesimo

Procesamiento de emoticones ldquoTodo perfecto hasta que llego la cuenta (

Capitalizaciones ldquoComimos en El Buen Gusto el servicio es muy malo y la comida regular

Sentiment analysis

Seguacuten wwwcomscorecom 81 de los usuarios de Internet han hecho una

investigacioacuten sobre un producto al menos una vez 20 lo hacen en un da tiacutepico sobre los lectores de criacuteticas

online de restaurantes hoteles y servicios varios (agencias de viaje o doctores)

73-87 reportan que las criacuteticas han tenido una influencia significativa en sus compras

Consumidores reportan estar dispuestos a pagar desde un 20 a un 99 maacutes por un producto clasificado como 5-estrellas que por uno clasificado como 4-estrellas

32 han clasificado un producto servicio o persona a traveacutes de un sistema online de clasificaciones

30 han posteado un comentario online o criacutetica sobre un producto o servicio

Sentiment analysis

Definiciones Documento cada unidad de texto que conforma la

coleccioacuten de datos Es un texto no estructurado compuesto por un conjunto de sentencias o secuencia de palabras que expresan opiniones y emociones

Corpus conjunto de documentos que se utilizan como entrada para entrenar el modelo (conjunto de datos de entrenamiento) y por el conjunto de documentos que seraacuten clasificados utilizaacutendolo

Leacutexico de Opinioacuten conjunto de palabras o vocabulario que se utiliza para expresar opinioacuten en un idioma dado

Feature caracteriacutesticas o atributos de los documentos que nos permitan encontrar patrones para predecir la positividad o negatividad de las opiniones expresadas en un texto

N-Gramas

Modelado del Lenguaje con N-Gramas En la mayora de las tareas de procesamiento de lenguaje

natural es necesario identificar las sentencias o secuencias de palabras que ocurren con mayor probabilidad dado un contexto

El objetivo de un modelo de lenguaje es calcular la probabilidad de ocurrencia de una sentencia que es originada por una secuencia de palabras que pasa a traveacutes de lo que se conoce como Noisy Channel

N-Gramas

El modelo que es utilizado por ejemplo en las siguientes tareas

Reconocimiento de discurso donde y es la sentildeal acuacutestica producida

Traduccioacuten automaacutetica de textos donde y es la sentencia en otro idioma

Correccioacuten automaacutetica de textos donde y es la secuencia de caracteres emitida por un escritor imperfecto

En los tres casos dada una secuencia de salida y se busca predecir la sentencia w que la originoacute

N-Gramas

Los algoritmos que asignan probabilidades a una sentencia pueden ser tambieacuten utilizados para calcular la probabilidad de la siguiente palabra dada una sentencia Esto resulta de gran utilidad en tareas de part-of-speech-tagging

N-Gramas

Los algoritmos que asignan probabilidades a una sentencia pueden ser tambieacuten utilizados para calcular la probabilidad de la siguiente palabra dada una sentencia Esto resulta de gran utilidad en tareas de part-of-speech-tagging

N-Gramas Modelo de Unigrama

El modelo de Unigrama es el caso trivial de la premisa de Markov es decir aproxima la probabilidad de una palabra con la probabilidad de ocurrencia de esa palabra en el corpus de datos y sin tener en cuenta las palabras que la preceden es decir considerando N = 0

P(ojos | lo esencial es invisible a los) = P(ojos) Modelo de Bigrama

El modelo de Bigrama utiliza la premisa de Markov para aproximar la probabilidad de una palabra con la probabilidad de ocurrencia de esa palabra dada la palabra anterior es decir considerando N = 1

P(ojos | lo esencial es invisible a los) = P(ojos | los) Modelo de Trigrama

El mismo modelo descripto para unigramas y bigramas puede utilizarse teniendo en cuenta las dos palabras anteriores es decir considerando N = 2

P(ojos | lo esencial es invisible a los) = P(ojos | a los) Modelo de N-grama

Generalizando los modelos anteriores la probabilidad de una palabra puede aproximarse como la probabilidad de una palabra dadas las N palabras anteriores

Maximum Likelihood Estimate (MLE)

Se denomina Maximum Likelihood Estimate a la estimacioacuten de probabilidades utilizando la frecuencia relativa de una secuencia de palabras en un corpus de entrenamiento

Donde C(w1wi) es la cantidad de ocurrencias de la sentencia en el corpus de entrenamiento N es el numero total de sentencias y C(w1wi10485761) es la cantidad de ocurrencias de la secuencia de palabras precedentes

Smoothing

Como Smoothing se conocen las teacutecnicas para ajustar el modelo de MLE para estimar probabilidades en forma mas apropiada Esta teacutecnica tiende a unificar la distribucioacuten ajustando las bajas o nulas probabilidades hacia arriba y las altas hacia abajo Las teacutecnicas de smoothing mas utilizadas

Laplace Smoothing El meacutetodo de Laplace tambieacuten conocido como Add-One Smoothing es la teacutecnica mas

simple y consiste en asumir que cada n-grama aparece una vez mas de las que realmente aparece Los distintos trabajos de anaacutelisis de teacutecnicas de Smoothing muestran que este es un meacutetodo pobre de ajuste de probabilidades No es utilizado en modelado de lenguaje porque existen teacutecnicas mejores pero s se utiliza en tareas de clasificacioacuten de textos o en dominios donde el numero de ceros no es muy grande

Linear Interpolation Esta teacutecnica combina modelos de mayor orden con modelos de menor orden por ejemplo

en modelos de trigrama se combina con modelos de bigrama y unigrama que son menos afectados por la falta de ocurrencias en el corpus de entrenamiento Las probabilidades estimadas en cada modelo se combinan linealmente ponderadas seguacuten su contribucioacuten y dando como resultado una nueva probabilidad estimada

Backoff Esta teacutecnica tambieacuten combina modelos de mayor orden con modelos de menor orden

utilizando el que corresponda seguacuten la evidencia que se tenga en el corpus de entrenamiento Esta teacutecnica es utilizada generalmente en modelos de N-Grama muy grandes como la Web

Good-Turing Estimate En la estimacioacuten de Good Turing por cada N-Grama que ocurre r veces se pondera el

numero de N-gramas que ocurren exactamente r veces en el corpus de entrenamiento Witten-Bell Smoothing

Esta teacutecnica se basa en el modelo de interpolacioacuten lineal Se utiliza un modelo de mayor orden si el n-grama wi i1048576N+1 esta presente en el corpus de entrenamiento y se utilizan modelos de menor orden en caso contrario

Google N-Grams Datasets

Cuando no se tiene un corpus de entrenamiento pueden utilizarse datasets disponibles en la web para calcular la probabilidad de ocurrencia de una sentencia dada

Existen herramientas como Google N-Grams Dataset (Google 2008) que proveen grandes colecciones de datos en distintos idiomas y permiten calcular estas probabilidades con muy buena precisioacuten

Ademaacutes Google provee una herramienta para visualizar graacuteficamente la probabilidad de ocurrencia de un conjunto de sentencias dado un idioma y un nuacutemero de smoothing y utilizando grandes cantidades de libros como corpus de datos

Ngram Viewer Consideremos la sentencia ldquoun viaje y supongamos que

queremos estimar la probabilidad de que esta secuencia de palabras este seguida de la palabra ldquoa es decir P(ajun viaje)

Se observa en un corpus de entrenamiento que esta sentencia aparece diez veces de las cuales seis estaacuten seguidas de la palabra ldquoa tres de la palabra ldquolargo y una de la palabra ldquodesde

La estimacioacuten basada en frecuencias relativas asignara las siguientes probabilidades de ocurrencia de la proacutexima palabra

P(a|un viaje) = 06 P(largo|un viaje) = 03 P(desde|un viaje) = 01

La estimacioacuten MLE asignara probabilidad cero a cualquier otro evento que no se encuentre en el corpus de entrenamiento y maximizara la probabilidad de los eventos observados

4En espa~nol es conocido comohttpsbooksgooglecomngrams

Deteccioacuten de features

Bag of Words Se consideran features todos los teacuterminos del corpus de entrenamiento descartando la posicioacuten Cuando se utiliza este feature puede considerarse frecuencia de aparicioacuten o no por lo que podemos hacer la siguiente distincioacuten

Presencia de Unigramas por cada documento se evaluacutea la presencia o ausencia de cada unigrama descartando la informacioacuten de frecuencia de aparicioacuten

Frecuencia de Unigramas por cada documento se evaluacutea la frecuencia con la que aparece cada unigrama

Presencia de Bigramas se consideran features todos los conjuntos de dos teacuterminos consecutivos del corpus de entrenamiento y por cada documento se evaluacutea la presencia o ausencia de cada bigrama

Presencia de Adjetivos se consideran features todos los adjetivos del corpus de entrenamiento y por cada documento se evaluacutea presencia o ausencia Este tipo de feature es utilizado en tareas de AS dado que los adjetivos aportan la informacioacuten mas relevante en cuanto a opiniones y sentimientos

Deteccioacuten de features

Cuando se tienen demasiados features puede ser necesario eliminar aquellos que aporten menos informacioacuten al clasificador con el objetivo de mejorar la performance y reducir el costo de entrenamiento Para esta tarea el meacutetodo mas utilizado consiste en seleccionar los top N features (generalmente en porcentaje) ordenados por frecuencia de aparicioacuten en el conjunto de datos de entrenamiento

En aplicaciones reales de anaacutelisis de sentimientos resulta fundamental utilizar features y pesos especiacuteficos de dominio para mejorar la performance de los clasificadores

Modelos Generativos vs Discriminativos

Los clasificadores generativos aprenden el modelo a partir de la forma en que se generan las observaciones esto es a partir de la probabilidad conjunta P(CD) (donde D es el documento y C la clase) y realizan la prediccioacuten maximizando la probabilidad condicional P(C|D) que es calculada utilizando el teorema de Bayes

Los clasificadores discriminativos modelan directamente la probabilidad condicional P(C|D) para realizar la prediccioacuten es decir a partir de la estructura oculta de los datos sin tener en cuenta la forma en que se generan

La desventaja de los modelos generativos es que resuelven un problema maacutes general como paso intermedio en cambio en los modelos discriminativos se resuelve el problema de clasificacioacuten directamente

Si tuvieacuteramos que clasificar el idioma de un texto dado el enfoque generativo se basaraacute en aprender el idioma a partir de las observaciones del corpus de entrenamiento para luego predecir en que idioma esta escrito el texto

La caracteriacutestica maacutes importante de los modelos discriminativos es que asignan pesos a los features de forma que el modelo corresponda con las observaciones Esto resuelve el problema de los modelos generativos donde los features son multiplicados aunque aporten la misma informacioacuten

Los modelos generativos mas importantes son los modelos de N-Gramas y NB y los modelos discriminativos mas relevantes son Logistic Regression Maximum Entropy Models SVM etc

NB

NB es un meacutetodo de clasificacioacuten supervisado y generativo que se basa en el teorema de Bayes y en la premisa de independencia de los atributos dada una clase

Las distintas implementaciones difieren principalmente en la aproximacioacuten de P(fk|Ci) y las teacutecnicas de smoothing utilizadas para el tratamiento de probabilidades bajas o nulas

Multinomial NB

En el caso de utilizar como features todos los teacuterminos del vocabulario del corpus de entrenamiento teniendo en cuenta su frecuencia de aparicioacuten add-one como teacutecnica de smoothing y MLE para estimar P(fk|Ci)

Multinomial NB - Ejemplo

Multinomial NB - Ejemplo

Binarized Multinomial NB

En el modelo Multinomial consideraacutebamos la frecuencia de aparicioacuten de cada feature para la estimacioacuten de P(fk|Ci) A diferencia de este meacutetodo NB puede ser implementado considerando exclusivamente presencia o ausencia de features es decir asociaacutendolos con un valor booleano cuando se evaluacutea un documento y descartando informacioacuten de frecuencia y posicioacuten

Binarized Multinomial NB - Ejemplo

Modelo de Maacutexima Entropiacutea

Es un meacutetodo de clasificacioacuten discriminativo y de aprendizaje supervisado donde los documentos del conjunto de datos son descriptos a partir de una lista de features siendo cada uno de estos features una restriccioacuten del modelo

Este meacutetodo se basa en seleccionar la distribucioacuten de probabilidad que satisfaga todas las restricciones del modelo y maximice la entropiacutea Esto apunta a preservar la incertidumbre tanto como sea posible

Polaridad de Turney Propone en su trabajo un meacutetodo no-supervisado

para la clasificacioacuten de textos seguacuten informacioacuten subjetiva que se basa en predecir la polaridad de un documento en base a su orientacioacuten semaacutentica

La orientacioacuten de un documento es calculada en base a la distancia a los teacuterminos del idioma ingles ldquoexcelent y ldquopoor que sugieren referencias positivas y negativas respectivamente

El algoritmo propuesto consiste en los siguientes 3 pasos

Extraer las frases del documento que contienen adjetivos o adverbios utilizando una herramienta de part-of-speech tagging

Estimar la orientacioacuten semaacutentica de cada frase extraiacuteda utilizando el algoritmo PMI-IR

Asignar las clases ldquorecomendado o ldquono recomendado al documento

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Polaridad de Turney

En el primer paso se extraen grupos de dos palabras cuyas etiquetas correspondan con los siguientes patrones

Siendo JJ Adjetivos NN Sustantivos en Singular NNS

Sustantivos en Plural RB Adverbios RBS Adverbios Superlativos RBR Adverbios Comparativos VB Verbos VBD Verbos en Pasado VBN Verbos en Pasado Participio VBG Verbos Gerundios o Pasado Participio

Algoritmo PMI-IR

Este algoritmo utiliza la teacutecnica de Pointwise Mutual Information (PMI) para obtener una medida de la asociacioacuten semaacutentica entre dos palabras seguacuten la ecuacioacuten que sigue

Siendo p(word1 amp word2) la probabilidad de que las palabras ocurran juntas

Luego la orientacioacuten semaacutentica se calcularaacute de la siguiente manera

Algoritmo PMI-IR El algoritmo PMI-IR estima el valor de PMI

realizando consultas a un motor de buacutesqueda a partir de la cantidad de resultados que devuelve la consulta y utilizando el operador NEAR que proveen algunos buscadores para estimar la ocurrencia conjunta de dos teacuterminos

Por ultimo la clasificacioacuten de un documento como ldquorecomendable o ldquono recomendable se realizaraacute a partir del caacutelculo de la orientacioacuten semaacutentica promedio de todas las frases extraiacutedas del documento

Algoritmo PMI-IR Consideraremos los teacuterminos ldquoexcelente como referencia

de polaridad positiva y los teacuterminos ldquomal malo mala como referencia negativa y estimaremos el operador NEAR a partir de la ocurrencia conjunta de palabras en la misma sentencia Consideremos las frases ldquobuena comida y ldquocomida friacutea para el caacutelculo de orientacioacuten semaacutentica

Clasificacioacuten basada en Leacutexico de Opinioacuten Existen otros meacutetodos de clasificacioacuten considerados no

supervisados o semi-supervisados que se basan en utilizar un conjunto de teacuterminos ldquosemillaldquo cuya polaridad es conocida y la clasificacioacuten consiste en calcular la similitud o distancia de los teacuterminos que componen el documento a estos teacuterminos conocidos

En este tipo de meacutetodos el leacutexico es utilizado como reemplazo de los features del modelo El ejemplo mas extremo de utilizacioacuten de leacutexico de opinioacuten es el algoritmo de Turney que utiliza la polaridad conocida de dos uacutenicos teacuterminos para clasificar un texto a partir de la distancia de los teacuterminos del documento a ellos

En un trabajo Sidorov (2012) se propone un leacutexico de opinioacuten de mas de 2000 palabras en idioma espantildeol que incluye la distancia de cada uno de estos teacuterminos a alguna de las siguientes emociones baacutesicas alegra ira miedo tristeza sorpresa y disgusto

En base a esta informacioacuten podraacute desarrollarse un algoritmo que infiera la polaridad de una sentencia a partir de calcular la distancia de los teacuterminos que la componen a las emociones baacutesicas asociadas a sentimientos positivos o negativos

Clasificacioacuten basada en Leacutexico de Opinioacuten

En este tipo de clasificadores puede ser necesario asociar la polaridad de los teacuterminos del leacutexico a dominios u objetivos especiacuteficos Por ejemplo

La palabra ldquobarato puede asociarse a sentimientos positivos cuando se refiere a comida y a sentimientos negativos cuando se refiere a vestimenta o decoracioacuten de ambientes

La palabra ldquoantildeejo tiene una connotacioacuten positiva cuando se refiere a vinos y altamente negativa si se refiere a comida

El termino ldquofriacuteo se asocia a emociones negativas si se habla de pizza y positivas si se habla de cervezas etc

Clasificacioacuten basada en Leacutexico de Opinioacuten Otro meacutetodo semi-supervisado basado en leacutexico de opinioacuten

consiste en identificar la polaridad de los adjetivos de un texto a partir de la ocurrencia conjunta con teacuterminos cuya polaridad es conocida y teniendo en cuenta la conjuncioacuten que los relaciona es decir considerando que si los adjetivos estaacuten conectados por el termino ldquoy tendraacuten la misma polaridad mientras que si aparecen conectados por el termino ldquopero tendraacuten polaridad opuesta

Un ejemplo Etiquetar un conjunto inicial de adjetivos semilla seguacuten su

polaridad Extender el conjunto anterior a partir de la ocurrencia conjunta

de los adjetivos conocidos con otros adjetivos y teniendo en cuenta la conjuncioacuten que los relaciona para determinar si tienen la misma polaridad u opuesta

Utilizar un clasificador supervisado para determinar el grado de similitud de polaridad de cada par de adjetivos generando como resultado un graacutefico que relacione los adjetivos del conjunto de datos

Clusterizar el graacutefico anterior en dos grandes grupos de polaridad similar (positivos y negativos)

Clasificacioacuten basada en Puntaje Para clasificar un texto de forma maacutes subjetiva se puede asignar a

cada documento un puntaje dentro de una escala dependiendo del grado de polaridad que expresa (por ejemplo asignar estrellas del 1 al 5)

La solucioacuten mas simple para esta tarea es clasificar el texto utilizando muacuteltiples categoriacuteas como clases Esta clasificacioacuten puede realizarse con los algoritmos como NB

Como SVM se utiliza para clasificacioacuten binaria se puede utilizar One-vs-All que se basa en crear un clasificador SVM para cada clase cuya salida nos permita saber si el documento pertenece o no a la clase en cuestioacuten

Otra solucion para resolver esta tarea consideraacutendola un problema de metric labeling En este tipo de problema la entrada es un conjunto de etiquetas (clases) y un grafo ponderado Se define una funcioacuten de distancia de las etiquetas y para cada etiqueta el costo de asignacioacuten a cada veacutertice siendo el objetivo encontrar el menor costo de asignar una etiqueta a un veacutertice Este enfoque combina los clasificadores SVM y k-nearest neighbors que es un meacutetodo no parametrito de clasificacioacuten basado en encontrar los elementos mas cercanos del conjunto de datos de entrenamiento en el espacio de features

Otro enfoque para la tarea de clasificacioacuten en muacuteltiples categoriacuteas consiste en utilizar un meacutetodo de regresioacuten considerando que las categoriacuteas corresponden a la discretizacioacuten de una funcioacuten continua

Clasificacioacuten de Muacuteltiples Aspectos Hasta ahora hemos presentado las tareas de anaacutelisis de

sentimientos a nivel de documento es decir asignando una clase a un documento completo a partir de las emociones que expresa Esta clasificacioacuten puede ser binaria (polaridad positiva o negativa) o basada en muacuteltiples categoriacuteas (utilizando puntajes o estrellas como clases) pero en ambos casos se claacutesica el documento completo

En esta seccioacuten presentaremos la clasificacioacuten aislada de los muacuteltiples objetivos aspectos o targets que generan opinioacuten dentro de un mismo documento Esta tarea es conocida como Multi-Aspect Sentiment Analysis

El objetivo de esta tarea consiste en la identificacioacuten de aspectos que generan opinioacuten dentro de un mismo documento seleccionando aquellas caracteriacutesticas que son frecuentemente mencionadas y las emociones asociadas Para identificar estas caracteriacutesticas o aspectos la solucioacuten mas simple consiste en utilizar un parser que nos permita obtener las frases nominales del documento teniendo en cuenta que la mayora de los aspectos son sustantivos

Clasificacioacuten de Muacuteltiples Aspectos

ldquoexcelente comida el ambiente es bastante ruidoso pero los precios accesibles

Clasificacioacuten de Muacuteltiples Aspectos A partir de la clasificacioacuten anterior podremos extraer los

sustantivos o frases nominales que nos permitiraacuten identificar teacuterminos candidatos a aspectos y los adjetivos para identificar las emociones asociadas Para obtener la polaridad de sentimientos utilizaremos los meacutetodos de clasificacioacuten estudiados en secciones anteriores

Luego a partir de la polaridad de la emocioacuten que genera cada aspecto debemos establecer un criterio que nos permita asignar pesos para obtener la polaridad general del documento La forma mas simple Serra basaacutendonos en la frecuencia de aparicioacuten de cada aspecto en el corpus de datos

Otro meacutetodo simple para la identificacioacuten de targets que generan opinioacuten consiste en definir aspectos ad-hoc para un determinado dominio por ejemplo

f(COMIDA SERVICIO AMBIENTE OTROS) y luego ejecutar la clasificacioacuten de todos los teacuterminos del

documento utilizando un meacutetodo supervisado y un conjunto de datos de entrenamiento clasificado manualmente que nos permita obtener aquellos teacuterminos que pertenecen a alguna de las clases de aspectos relevantes generadores de opinioacuten

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 9: Poggi   analytics - sentiment - 1

Sentiment analysis

Por ejemplo consideremos la siguiente criacutetica de un restaurante extraiacuteda de una guiacutea gastronoacutemica online (wwwguiaoleocom)

ldquoMe gusta mucho este restaurante para comer comida aacuterabe La comida es fresca y se nota que hay rotacioacuten continua El ambiente es bastante ruidoso pero los mozos son muy amables y los precios muy accesibles

iquestCoacutemo lo clasificariacuteamos en los distintos niveles

Sentiment analysis

El resultado de realizar anaacutelisis de sentimientos sobre el texto anterior puede ser alguno de los siguientes seguacuten los enfoques antes mencionados

Clasificacioacuten Binaria Positivo

Clasificacioacuten en Muacuteltiples Categoriacuteas Rating 45

Clasificacioacuten de Aspectos Comida Positivo Ambiente Negativo Servicio Positivo Precio Positivo

Sentiment analysis

Dificultades maacutes importantes Deteccioacuten de sarcasmo ldquoEste restaurante es genial si

quereacutes terminar hospitalizado Neologismos ldquoEncontramos este lugar googleando Lunfardo ldquoLa cuenta un poco salada gastamos dos

gambas por cabeza Errores gramaticales y ortograacuteficos ldquoLa comida muy cara

para lo que es Un salteado de lomo mas paresca un salteado de papas Poca carne y un exagero de papas por 150 pesos

Informalidad en textos ldquoMaliiiiisimo este lugar no volvemos ni locossssss

Procesamiento de hashtags ldquoComiendo ceviche en sipanrestaurante bueniacutesimo

Procesamiento de emoticones ldquoTodo perfecto hasta que llego la cuenta (

Capitalizaciones ldquoComimos en El Buen Gusto el servicio es muy malo y la comida regular

Sentiment analysis

Seguacuten wwwcomscorecom 81 de los usuarios de Internet han hecho una

investigacioacuten sobre un producto al menos una vez 20 lo hacen en un da tiacutepico sobre los lectores de criacuteticas

online de restaurantes hoteles y servicios varios (agencias de viaje o doctores)

73-87 reportan que las criacuteticas han tenido una influencia significativa en sus compras

Consumidores reportan estar dispuestos a pagar desde un 20 a un 99 maacutes por un producto clasificado como 5-estrellas que por uno clasificado como 4-estrellas

32 han clasificado un producto servicio o persona a traveacutes de un sistema online de clasificaciones

30 han posteado un comentario online o criacutetica sobre un producto o servicio

Sentiment analysis

Definiciones Documento cada unidad de texto que conforma la

coleccioacuten de datos Es un texto no estructurado compuesto por un conjunto de sentencias o secuencia de palabras que expresan opiniones y emociones

Corpus conjunto de documentos que se utilizan como entrada para entrenar el modelo (conjunto de datos de entrenamiento) y por el conjunto de documentos que seraacuten clasificados utilizaacutendolo

Leacutexico de Opinioacuten conjunto de palabras o vocabulario que se utiliza para expresar opinioacuten en un idioma dado

Feature caracteriacutesticas o atributos de los documentos que nos permitan encontrar patrones para predecir la positividad o negatividad de las opiniones expresadas en un texto

N-Gramas

Modelado del Lenguaje con N-Gramas En la mayora de las tareas de procesamiento de lenguaje

natural es necesario identificar las sentencias o secuencias de palabras que ocurren con mayor probabilidad dado un contexto

El objetivo de un modelo de lenguaje es calcular la probabilidad de ocurrencia de una sentencia que es originada por una secuencia de palabras que pasa a traveacutes de lo que se conoce como Noisy Channel

N-Gramas

El modelo que es utilizado por ejemplo en las siguientes tareas

Reconocimiento de discurso donde y es la sentildeal acuacutestica producida

Traduccioacuten automaacutetica de textos donde y es la sentencia en otro idioma

Correccioacuten automaacutetica de textos donde y es la secuencia de caracteres emitida por un escritor imperfecto

En los tres casos dada una secuencia de salida y se busca predecir la sentencia w que la originoacute

N-Gramas

Los algoritmos que asignan probabilidades a una sentencia pueden ser tambieacuten utilizados para calcular la probabilidad de la siguiente palabra dada una sentencia Esto resulta de gran utilidad en tareas de part-of-speech-tagging

N-Gramas

Los algoritmos que asignan probabilidades a una sentencia pueden ser tambieacuten utilizados para calcular la probabilidad de la siguiente palabra dada una sentencia Esto resulta de gran utilidad en tareas de part-of-speech-tagging

N-Gramas Modelo de Unigrama

El modelo de Unigrama es el caso trivial de la premisa de Markov es decir aproxima la probabilidad de una palabra con la probabilidad de ocurrencia de esa palabra en el corpus de datos y sin tener en cuenta las palabras que la preceden es decir considerando N = 0

P(ojos | lo esencial es invisible a los) = P(ojos) Modelo de Bigrama

El modelo de Bigrama utiliza la premisa de Markov para aproximar la probabilidad de una palabra con la probabilidad de ocurrencia de esa palabra dada la palabra anterior es decir considerando N = 1

P(ojos | lo esencial es invisible a los) = P(ojos | los) Modelo de Trigrama

El mismo modelo descripto para unigramas y bigramas puede utilizarse teniendo en cuenta las dos palabras anteriores es decir considerando N = 2

P(ojos | lo esencial es invisible a los) = P(ojos | a los) Modelo de N-grama

Generalizando los modelos anteriores la probabilidad de una palabra puede aproximarse como la probabilidad de una palabra dadas las N palabras anteriores

Maximum Likelihood Estimate (MLE)

Se denomina Maximum Likelihood Estimate a la estimacioacuten de probabilidades utilizando la frecuencia relativa de una secuencia de palabras en un corpus de entrenamiento

Donde C(w1wi) es la cantidad de ocurrencias de la sentencia en el corpus de entrenamiento N es el numero total de sentencias y C(w1wi10485761) es la cantidad de ocurrencias de la secuencia de palabras precedentes

Smoothing

Como Smoothing se conocen las teacutecnicas para ajustar el modelo de MLE para estimar probabilidades en forma mas apropiada Esta teacutecnica tiende a unificar la distribucioacuten ajustando las bajas o nulas probabilidades hacia arriba y las altas hacia abajo Las teacutecnicas de smoothing mas utilizadas

Laplace Smoothing El meacutetodo de Laplace tambieacuten conocido como Add-One Smoothing es la teacutecnica mas

simple y consiste en asumir que cada n-grama aparece una vez mas de las que realmente aparece Los distintos trabajos de anaacutelisis de teacutecnicas de Smoothing muestran que este es un meacutetodo pobre de ajuste de probabilidades No es utilizado en modelado de lenguaje porque existen teacutecnicas mejores pero s se utiliza en tareas de clasificacioacuten de textos o en dominios donde el numero de ceros no es muy grande

Linear Interpolation Esta teacutecnica combina modelos de mayor orden con modelos de menor orden por ejemplo

en modelos de trigrama se combina con modelos de bigrama y unigrama que son menos afectados por la falta de ocurrencias en el corpus de entrenamiento Las probabilidades estimadas en cada modelo se combinan linealmente ponderadas seguacuten su contribucioacuten y dando como resultado una nueva probabilidad estimada

Backoff Esta teacutecnica tambieacuten combina modelos de mayor orden con modelos de menor orden

utilizando el que corresponda seguacuten la evidencia que se tenga en el corpus de entrenamiento Esta teacutecnica es utilizada generalmente en modelos de N-Grama muy grandes como la Web

Good-Turing Estimate En la estimacioacuten de Good Turing por cada N-Grama que ocurre r veces se pondera el

numero de N-gramas que ocurren exactamente r veces en el corpus de entrenamiento Witten-Bell Smoothing

Esta teacutecnica se basa en el modelo de interpolacioacuten lineal Se utiliza un modelo de mayor orden si el n-grama wi i1048576N+1 esta presente en el corpus de entrenamiento y se utilizan modelos de menor orden en caso contrario

Google N-Grams Datasets

Cuando no se tiene un corpus de entrenamiento pueden utilizarse datasets disponibles en la web para calcular la probabilidad de ocurrencia de una sentencia dada

Existen herramientas como Google N-Grams Dataset (Google 2008) que proveen grandes colecciones de datos en distintos idiomas y permiten calcular estas probabilidades con muy buena precisioacuten

Ademaacutes Google provee una herramienta para visualizar graacuteficamente la probabilidad de ocurrencia de un conjunto de sentencias dado un idioma y un nuacutemero de smoothing y utilizando grandes cantidades de libros como corpus de datos

Ngram Viewer Consideremos la sentencia ldquoun viaje y supongamos que

queremos estimar la probabilidad de que esta secuencia de palabras este seguida de la palabra ldquoa es decir P(ajun viaje)

Se observa en un corpus de entrenamiento que esta sentencia aparece diez veces de las cuales seis estaacuten seguidas de la palabra ldquoa tres de la palabra ldquolargo y una de la palabra ldquodesde

La estimacioacuten basada en frecuencias relativas asignara las siguientes probabilidades de ocurrencia de la proacutexima palabra

P(a|un viaje) = 06 P(largo|un viaje) = 03 P(desde|un viaje) = 01

La estimacioacuten MLE asignara probabilidad cero a cualquier otro evento que no se encuentre en el corpus de entrenamiento y maximizara la probabilidad de los eventos observados

4En espa~nol es conocido comohttpsbooksgooglecomngrams

Deteccioacuten de features

Bag of Words Se consideran features todos los teacuterminos del corpus de entrenamiento descartando la posicioacuten Cuando se utiliza este feature puede considerarse frecuencia de aparicioacuten o no por lo que podemos hacer la siguiente distincioacuten

Presencia de Unigramas por cada documento se evaluacutea la presencia o ausencia de cada unigrama descartando la informacioacuten de frecuencia de aparicioacuten

Frecuencia de Unigramas por cada documento se evaluacutea la frecuencia con la que aparece cada unigrama

Presencia de Bigramas se consideran features todos los conjuntos de dos teacuterminos consecutivos del corpus de entrenamiento y por cada documento se evaluacutea la presencia o ausencia de cada bigrama

Presencia de Adjetivos se consideran features todos los adjetivos del corpus de entrenamiento y por cada documento se evaluacutea presencia o ausencia Este tipo de feature es utilizado en tareas de AS dado que los adjetivos aportan la informacioacuten mas relevante en cuanto a opiniones y sentimientos

Deteccioacuten de features

Cuando se tienen demasiados features puede ser necesario eliminar aquellos que aporten menos informacioacuten al clasificador con el objetivo de mejorar la performance y reducir el costo de entrenamiento Para esta tarea el meacutetodo mas utilizado consiste en seleccionar los top N features (generalmente en porcentaje) ordenados por frecuencia de aparicioacuten en el conjunto de datos de entrenamiento

En aplicaciones reales de anaacutelisis de sentimientos resulta fundamental utilizar features y pesos especiacuteficos de dominio para mejorar la performance de los clasificadores

Modelos Generativos vs Discriminativos

Los clasificadores generativos aprenden el modelo a partir de la forma en que se generan las observaciones esto es a partir de la probabilidad conjunta P(CD) (donde D es el documento y C la clase) y realizan la prediccioacuten maximizando la probabilidad condicional P(C|D) que es calculada utilizando el teorema de Bayes

Los clasificadores discriminativos modelan directamente la probabilidad condicional P(C|D) para realizar la prediccioacuten es decir a partir de la estructura oculta de los datos sin tener en cuenta la forma en que se generan

La desventaja de los modelos generativos es que resuelven un problema maacutes general como paso intermedio en cambio en los modelos discriminativos se resuelve el problema de clasificacioacuten directamente

Si tuvieacuteramos que clasificar el idioma de un texto dado el enfoque generativo se basaraacute en aprender el idioma a partir de las observaciones del corpus de entrenamiento para luego predecir en que idioma esta escrito el texto

La caracteriacutestica maacutes importante de los modelos discriminativos es que asignan pesos a los features de forma que el modelo corresponda con las observaciones Esto resuelve el problema de los modelos generativos donde los features son multiplicados aunque aporten la misma informacioacuten

Los modelos generativos mas importantes son los modelos de N-Gramas y NB y los modelos discriminativos mas relevantes son Logistic Regression Maximum Entropy Models SVM etc

NB

NB es un meacutetodo de clasificacioacuten supervisado y generativo que se basa en el teorema de Bayes y en la premisa de independencia de los atributos dada una clase

Las distintas implementaciones difieren principalmente en la aproximacioacuten de P(fk|Ci) y las teacutecnicas de smoothing utilizadas para el tratamiento de probabilidades bajas o nulas

Multinomial NB

En el caso de utilizar como features todos los teacuterminos del vocabulario del corpus de entrenamiento teniendo en cuenta su frecuencia de aparicioacuten add-one como teacutecnica de smoothing y MLE para estimar P(fk|Ci)

Multinomial NB - Ejemplo

Multinomial NB - Ejemplo

Binarized Multinomial NB

En el modelo Multinomial consideraacutebamos la frecuencia de aparicioacuten de cada feature para la estimacioacuten de P(fk|Ci) A diferencia de este meacutetodo NB puede ser implementado considerando exclusivamente presencia o ausencia de features es decir asociaacutendolos con un valor booleano cuando se evaluacutea un documento y descartando informacioacuten de frecuencia y posicioacuten

Binarized Multinomial NB - Ejemplo

Modelo de Maacutexima Entropiacutea

Es un meacutetodo de clasificacioacuten discriminativo y de aprendizaje supervisado donde los documentos del conjunto de datos son descriptos a partir de una lista de features siendo cada uno de estos features una restriccioacuten del modelo

Este meacutetodo se basa en seleccionar la distribucioacuten de probabilidad que satisfaga todas las restricciones del modelo y maximice la entropiacutea Esto apunta a preservar la incertidumbre tanto como sea posible

Polaridad de Turney Propone en su trabajo un meacutetodo no-supervisado

para la clasificacioacuten de textos seguacuten informacioacuten subjetiva que se basa en predecir la polaridad de un documento en base a su orientacioacuten semaacutentica

La orientacioacuten de un documento es calculada en base a la distancia a los teacuterminos del idioma ingles ldquoexcelent y ldquopoor que sugieren referencias positivas y negativas respectivamente

El algoritmo propuesto consiste en los siguientes 3 pasos

Extraer las frases del documento que contienen adjetivos o adverbios utilizando una herramienta de part-of-speech tagging

Estimar la orientacioacuten semaacutentica de cada frase extraiacuteda utilizando el algoritmo PMI-IR

Asignar las clases ldquorecomendado o ldquono recomendado al documento

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Polaridad de Turney

En el primer paso se extraen grupos de dos palabras cuyas etiquetas correspondan con los siguientes patrones

Siendo JJ Adjetivos NN Sustantivos en Singular NNS

Sustantivos en Plural RB Adverbios RBS Adverbios Superlativos RBR Adverbios Comparativos VB Verbos VBD Verbos en Pasado VBN Verbos en Pasado Participio VBG Verbos Gerundios o Pasado Participio

Algoritmo PMI-IR

Este algoritmo utiliza la teacutecnica de Pointwise Mutual Information (PMI) para obtener una medida de la asociacioacuten semaacutentica entre dos palabras seguacuten la ecuacioacuten que sigue

Siendo p(word1 amp word2) la probabilidad de que las palabras ocurran juntas

Luego la orientacioacuten semaacutentica se calcularaacute de la siguiente manera

Algoritmo PMI-IR El algoritmo PMI-IR estima el valor de PMI

realizando consultas a un motor de buacutesqueda a partir de la cantidad de resultados que devuelve la consulta y utilizando el operador NEAR que proveen algunos buscadores para estimar la ocurrencia conjunta de dos teacuterminos

Por ultimo la clasificacioacuten de un documento como ldquorecomendable o ldquono recomendable se realizaraacute a partir del caacutelculo de la orientacioacuten semaacutentica promedio de todas las frases extraiacutedas del documento

Algoritmo PMI-IR Consideraremos los teacuterminos ldquoexcelente como referencia

de polaridad positiva y los teacuterminos ldquomal malo mala como referencia negativa y estimaremos el operador NEAR a partir de la ocurrencia conjunta de palabras en la misma sentencia Consideremos las frases ldquobuena comida y ldquocomida friacutea para el caacutelculo de orientacioacuten semaacutentica

Clasificacioacuten basada en Leacutexico de Opinioacuten Existen otros meacutetodos de clasificacioacuten considerados no

supervisados o semi-supervisados que se basan en utilizar un conjunto de teacuterminos ldquosemillaldquo cuya polaridad es conocida y la clasificacioacuten consiste en calcular la similitud o distancia de los teacuterminos que componen el documento a estos teacuterminos conocidos

En este tipo de meacutetodos el leacutexico es utilizado como reemplazo de los features del modelo El ejemplo mas extremo de utilizacioacuten de leacutexico de opinioacuten es el algoritmo de Turney que utiliza la polaridad conocida de dos uacutenicos teacuterminos para clasificar un texto a partir de la distancia de los teacuterminos del documento a ellos

En un trabajo Sidorov (2012) se propone un leacutexico de opinioacuten de mas de 2000 palabras en idioma espantildeol que incluye la distancia de cada uno de estos teacuterminos a alguna de las siguientes emociones baacutesicas alegra ira miedo tristeza sorpresa y disgusto

En base a esta informacioacuten podraacute desarrollarse un algoritmo que infiera la polaridad de una sentencia a partir de calcular la distancia de los teacuterminos que la componen a las emociones baacutesicas asociadas a sentimientos positivos o negativos

Clasificacioacuten basada en Leacutexico de Opinioacuten

En este tipo de clasificadores puede ser necesario asociar la polaridad de los teacuterminos del leacutexico a dominios u objetivos especiacuteficos Por ejemplo

La palabra ldquobarato puede asociarse a sentimientos positivos cuando se refiere a comida y a sentimientos negativos cuando se refiere a vestimenta o decoracioacuten de ambientes

La palabra ldquoantildeejo tiene una connotacioacuten positiva cuando se refiere a vinos y altamente negativa si se refiere a comida

El termino ldquofriacuteo se asocia a emociones negativas si se habla de pizza y positivas si se habla de cervezas etc

Clasificacioacuten basada en Leacutexico de Opinioacuten Otro meacutetodo semi-supervisado basado en leacutexico de opinioacuten

consiste en identificar la polaridad de los adjetivos de un texto a partir de la ocurrencia conjunta con teacuterminos cuya polaridad es conocida y teniendo en cuenta la conjuncioacuten que los relaciona es decir considerando que si los adjetivos estaacuten conectados por el termino ldquoy tendraacuten la misma polaridad mientras que si aparecen conectados por el termino ldquopero tendraacuten polaridad opuesta

Un ejemplo Etiquetar un conjunto inicial de adjetivos semilla seguacuten su

polaridad Extender el conjunto anterior a partir de la ocurrencia conjunta

de los adjetivos conocidos con otros adjetivos y teniendo en cuenta la conjuncioacuten que los relaciona para determinar si tienen la misma polaridad u opuesta

Utilizar un clasificador supervisado para determinar el grado de similitud de polaridad de cada par de adjetivos generando como resultado un graacutefico que relacione los adjetivos del conjunto de datos

Clusterizar el graacutefico anterior en dos grandes grupos de polaridad similar (positivos y negativos)

Clasificacioacuten basada en Puntaje Para clasificar un texto de forma maacutes subjetiva se puede asignar a

cada documento un puntaje dentro de una escala dependiendo del grado de polaridad que expresa (por ejemplo asignar estrellas del 1 al 5)

La solucioacuten mas simple para esta tarea es clasificar el texto utilizando muacuteltiples categoriacuteas como clases Esta clasificacioacuten puede realizarse con los algoritmos como NB

Como SVM se utiliza para clasificacioacuten binaria se puede utilizar One-vs-All que se basa en crear un clasificador SVM para cada clase cuya salida nos permita saber si el documento pertenece o no a la clase en cuestioacuten

Otra solucion para resolver esta tarea consideraacutendola un problema de metric labeling En este tipo de problema la entrada es un conjunto de etiquetas (clases) y un grafo ponderado Se define una funcioacuten de distancia de las etiquetas y para cada etiqueta el costo de asignacioacuten a cada veacutertice siendo el objetivo encontrar el menor costo de asignar una etiqueta a un veacutertice Este enfoque combina los clasificadores SVM y k-nearest neighbors que es un meacutetodo no parametrito de clasificacioacuten basado en encontrar los elementos mas cercanos del conjunto de datos de entrenamiento en el espacio de features

Otro enfoque para la tarea de clasificacioacuten en muacuteltiples categoriacuteas consiste en utilizar un meacutetodo de regresioacuten considerando que las categoriacuteas corresponden a la discretizacioacuten de una funcioacuten continua

Clasificacioacuten de Muacuteltiples Aspectos Hasta ahora hemos presentado las tareas de anaacutelisis de

sentimientos a nivel de documento es decir asignando una clase a un documento completo a partir de las emociones que expresa Esta clasificacioacuten puede ser binaria (polaridad positiva o negativa) o basada en muacuteltiples categoriacuteas (utilizando puntajes o estrellas como clases) pero en ambos casos se claacutesica el documento completo

En esta seccioacuten presentaremos la clasificacioacuten aislada de los muacuteltiples objetivos aspectos o targets que generan opinioacuten dentro de un mismo documento Esta tarea es conocida como Multi-Aspect Sentiment Analysis

El objetivo de esta tarea consiste en la identificacioacuten de aspectos que generan opinioacuten dentro de un mismo documento seleccionando aquellas caracteriacutesticas que son frecuentemente mencionadas y las emociones asociadas Para identificar estas caracteriacutesticas o aspectos la solucioacuten mas simple consiste en utilizar un parser que nos permita obtener las frases nominales del documento teniendo en cuenta que la mayora de los aspectos son sustantivos

Clasificacioacuten de Muacuteltiples Aspectos

ldquoexcelente comida el ambiente es bastante ruidoso pero los precios accesibles

Clasificacioacuten de Muacuteltiples Aspectos A partir de la clasificacioacuten anterior podremos extraer los

sustantivos o frases nominales que nos permitiraacuten identificar teacuterminos candidatos a aspectos y los adjetivos para identificar las emociones asociadas Para obtener la polaridad de sentimientos utilizaremos los meacutetodos de clasificacioacuten estudiados en secciones anteriores

Luego a partir de la polaridad de la emocioacuten que genera cada aspecto debemos establecer un criterio que nos permita asignar pesos para obtener la polaridad general del documento La forma mas simple Serra basaacutendonos en la frecuencia de aparicioacuten de cada aspecto en el corpus de datos

Otro meacutetodo simple para la identificacioacuten de targets que generan opinioacuten consiste en definir aspectos ad-hoc para un determinado dominio por ejemplo

f(COMIDA SERVICIO AMBIENTE OTROS) y luego ejecutar la clasificacioacuten de todos los teacuterminos del

documento utilizando un meacutetodo supervisado y un conjunto de datos de entrenamiento clasificado manualmente que nos permita obtener aquellos teacuterminos que pertenecen a alguna de las clases de aspectos relevantes generadores de opinioacuten

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 10: Poggi   analytics - sentiment - 1

Sentiment analysis

El resultado de realizar anaacutelisis de sentimientos sobre el texto anterior puede ser alguno de los siguientes seguacuten los enfoques antes mencionados

Clasificacioacuten Binaria Positivo

Clasificacioacuten en Muacuteltiples Categoriacuteas Rating 45

Clasificacioacuten de Aspectos Comida Positivo Ambiente Negativo Servicio Positivo Precio Positivo

Sentiment analysis

Dificultades maacutes importantes Deteccioacuten de sarcasmo ldquoEste restaurante es genial si

quereacutes terminar hospitalizado Neologismos ldquoEncontramos este lugar googleando Lunfardo ldquoLa cuenta un poco salada gastamos dos

gambas por cabeza Errores gramaticales y ortograacuteficos ldquoLa comida muy cara

para lo que es Un salteado de lomo mas paresca un salteado de papas Poca carne y un exagero de papas por 150 pesos

Informalidad en textos ldquoMaliiiiisimo este lugar no volvemos ni locossssss

Procesamiento de hashtags ldquoComiendo ceviche en sipanrestaurante bueniacutesimo

Procesamiento de emoticones ldquoTodo perfecto hasta que llego la cuenta (

Capitalizaciones ldquoComimos en El Buen Gusto el servicio es muy malo y la comida regular

Sentiment analysis

Seguacuten wwwcomscorecom 81 de los usuarios de Internet han hecho una

investigacioacuten sobre un producto al menos una vez 20 lo hacen en un da tiacutepico sobre los lectores de criacuteticas

online de restaurantes hoteles y servicios varios (agencias de viaje o doctores)

73-87 reportan que las criacuteticas han tenido una influencia significativa en sus compras

Consumidores reportan estar dispuestos a pagar desde un 20 a un 99 maacutes por un producto clasificado como 5-estrellas que por uno clasificado como 4-estrellas

32 han clasificado un producto servicio o persona a traveacutes de un sistema online de clasificaciones

30 han posteado un comentario online o criacutetica sobre un producto o servicio

Sentiment analysis

Definiciones Documento cada unidad de texto que conforma la

coleccioacuten de datos Es un texto no estructurado compuesto por un conjunto de sentencias o secuencia de palabras que expresan opiniones y emociones

Corpus conjunto de documentos que se utilizan como entrada para entrenar el modelo (conjunto de datos de entrenamiento) y por el conjunto de documentos que seraacuten clasificados utilizaacutendolo

Leacutexico de Opinioacuten conjunto de palabras o vocabulario que se utiliza para expresar opinioacuten en un idioma dado

Feature caracteriacutesticas o atributos de los documentos que nos permitan encontrar patrones para predecir la positividad o negatividad de las opiniones expresadas en un texto

N-Gramas

Modelado del Lenguaje con N-Gramas En la mayora de las tareas de procesamiento de lenguaje

natural es necesario identificar las sentencias o secuencias de palabras que ocurren con mayor probabilidad dado un contexto

El objetivo de un modelo de lenguaje es calcular la probabilidad de ocurrencia de una sentencia que es originada por una secuencia de palabras que pasa a traveacutes de lo que se conoce como Noisy Channel

N-Gramas

El modelo que es utilizado por ejemplo en las siguientes tareas

Reconocimiento de discurso donde y es la sentildeal acuacutestica producida

Traduccioacuten automaacutetica de textos donde y es la sentencia en otro idioma

Correccioacuten automaacutetica de textos donde y es la secuencia de caracteres emitida por un escritor imperfecto

En los tres casos dada una secuencia de salida y se busca predecir la sentencia w que la originoacute

N-Gramas

Los algoritmos que asignan probabilidades a una sentencia pueden ser tambieacuten utilizados para calcular la probabilidad de la siguiente palabra dada una sentencia Esto resulta de gran utilidad en tareas de part-of-speech-tagging

N-Gramas

Los algoritmos que asignan probabilidades a una sentencia pueden ser tambieacuten utilizados para calcular la probabilidad de la siguiente palabra dada una sentencia Esto resulta de gran utilidad en tareas de part-of-speech-tagging

N-Gramas Modelo de Unigrama

El modelo de Unigrama es el caso trivial de la premisa de Markov es decir aproxima la probabilidad de una palabra con la probabilidad de ocurrencia de esa palabra en el corpus de datos y sin tener en cuenta las palabras que la preceden es decir considerando N = 0

P(ojos | lo esencial es invisible a los) = P(ojos) Modelo de Bigrama

El modelo de Bigrama utiliza la premisa de Markov para aproximar la probabilidad de una palabra con la probabilidad de ocurrencia de esa palabra dada la palabra anterior es decir considerando N = 1

P(ojos | lo esencial es invisible a los) = P(ojos | los) Modelo de Trigrama

El mismo modelo descripto para unigramas y bigramas puede utilizarse teniendo en cuenta las dos palabras anteriores es decir considerando N = 2

P(ojos | lo esencial es invisible a los) = P(ojos | a los) Modelo de N-grama

Generalizando los modelos anteriores la probabilidad de una palabra puede aproximarse como la probabilidad de una palabra dadas las N palabras anteriores

Maximum Likelihood Estimate (MLE)

Se denomina Maximum Likelihood Estimate a la estimacioacuten de probabilidades utilizando la frecuencia relativa de una secuencia de palabras en un corpus de entrenamiento

Donde C(w1wi) es la cantidad de ocurrencias de la sentencia en el corpus de entrenamiento N es el numero total de sentencias y C(w1wi10485761) es la cantidad de ocurrencias de la secuencia de palabras precedentes

Smoothing

Como Smoothing se conocen las teacutecnicas para ajustar el modelo de MLE para estimar probabilidades en forma mas apropiada Esta teacutecnica tiende a unificar la distribucioacuten ajustando las bajas o nulas probabilidades hacia arriba y las altas hacia abajo Las teacutecnicas de smoothing mas utilizadas

Laplace Smoothing El meacutetodo de Laplace tambieacuten conocido como Add-One Smoothing es la teacutecnica mas

simple y consiste en asumir que cada n-grama aparece una vez mas de las que realmente aparece Los distintos trabajos de anaacutelisis de teacutecnicas de Smoothing muestran que este es un meacutetodo pobre de ajuste de probabilidades No es utilizado en modelado de lenguaje porque existen teacutecnicas mejores pero s se utiliza en tareas de clasificacioacuten de textos o en dominios donde el numero de ceros no es muy grande

Linear Interpolation Esta teacutecnica combina modelos de mayor orden con modelos de menor orden por ejemplo

en modelos de trigrama se combina con modelos de bigrama y unigrama que son menos afectados por la falta de ocurrencias en el corpus de entrenamiento Las probabilidades estimadas en cada modelo se combinan linealmente ponderadas seguacuten su contribucioacuten y dando como resultado una nueva probabilidad estimada

Backoff Esta teacutecnica tambieacuten combina modelos de mayor orden con modelos de menor orden

utilizando el que corresponda seguacuten la evidencia que se tenga en el corpus de entrenamiento Esta teacutecnica es utilizada generalmente en modelos de N-Grama muy grandes como la Web

Good-Turing Estimate En la estimacioacuten de Good Turing por cada N-Grama que ocurre r veces se pondera el

numero de N-gramas que ocurren exactamente r veces en el corpus de entrenamiento Witten-Bell Smoothing

Esta teacutecnica se basa en el modelo de interpolacioacuten lineal Se utiliza un modelo de mayor orden si el n-grama wi i1048576N+1 esta presente en el corpus de entrenamiento y se utilizan modelos de menor orden en caso contrario

Google N-Grams Datasets

Cuando no se tiene un corpus de entrenamiento pueden utilizarse datasets disponibles en la web para calcular la probabilidad de ocurrencia de una sentencia dada

Existen herramientas como Google N-Grams Dataset (Google 2008) que proveen grandes colecciones de datos en distintos idiomas y permiten calcular estas probabilidades con muy buena precisioacuten

Ademaacutes Google provee una herramienta para visualizar graacuteficamente la probabilidad de ocurrencia de un conjunto de sentencias dado un idioma y un nuacutemero de smoothing y utilizando grandes cantidades de libros como corpus de datos

Ngram Viewer Consideremos la sentencia ldquoun viaje y supongamos que

queremos estimar la probabilidad de que esta secuencia de palabras este seguida de la palabra ldquoa es decir P(ajun viaje)

Se observa en un corpus de entrenamiento que esta sentencia aparece diez veces de las cuales seis estaacuten seguidas de la palabra ldquoa tres de la palabra ldquolargo y una de la palabra ldquodesde

La estimacioacuten basada en frecuencias relativas asignara las siguientes probabilidades de ocurrencia de la proacutexima palabra

P(a|un viaje) = 06 P(largo|un viaje) = 03 P(desde|un viaje) = 01

La estimacioacuten MLE asignara probabilidad cero a cualquier otro evento que no se encuentre en el corpus de entrenamiento y maximizara la probabilidad de los eventos observados

4En espa~nol es conocido comohttpsbooksgooglecomngrams

Deteccioacuten de features

Bag of Words Se consideran features todos los teacuterminos del corpus de entrenamiento descartando la posicioacuten Cuando se utiliza este feature puede considerarse frecuencia de aparicioacuten o no por lo que podemos hacer la siguiente distincioacuten

Presencia de Unigramas por cada documento se evaluacutea la presencia o ausencia de cada unigrama descartando la informacioacuten de frecuencia de aparicioacuten

Frecuencia de Unigramas por cada documento se evaluacutea la frecuencia con la que aparece cada unigrama

Presencia de Bigramas se consideran features todos los conjuntos de dos teacuterminos consecutivos del corpus de entrenamiento y por cada documento se evaluacutea la presencia o ausencia de cada bigrama

Presencia de Adjetivos se consideran features todos los adjetivos del corpus de entrenamiento y por cada documento se evaluacutea presencia o ausencia Este tipo de feature es utilizado en tareas de AS dado que los adjetivos aportan la informacioacuten mas relevante en cuanto a opiniones y sentimientos

Deteccioacuten de features

Cuando se tienen demasiados features puede ser necesario eliminar aquellos que aporten menos informacioacuten al clasificador con el objetivo de mejorar la performance y reducir el costo de entrenamiento Para esta tarea el meacutetodo mas utilizado consiste en seleccionar los top N features (generalmente en porcentaje) ordenados por frecuencia de aparicioacuten en el conjunto de datos de entrenamiento

En aplicaciones reales de anaacutelisis de sentimientos resulta fundamental utilizar features y pesos especiacuteficos de dominio para mejorar la performance de los clasificadores

Modelos Generativos vs Discriminativos

Los clasificadores generativos aprenden el modelo a partir de la forma en que se generan las observaciones esto es a partir de la probabilidad conjunta P(CD) (donde D es el documento y C la clase) y realizan la prediccioacuten maximizando la probabilidad condicional P(C|D) que es calculada utilizando el teorema de Bayes

Los clasificadores discriminativos modelan directamente la probabilidad condicional P(C|D) para realizar la prediccioacuten es decir a partir de la estructura oculta de los datos sin tener en cuenta la forma en que se generan

La desventaja de los modelos generativos es que resuelven un problema maacutes general como paso intermedio en cambio en los modelos discriminativos se resuelve el problema de clasificacioacuten directamente

Si tuvieacuteramos que clasificar el idioma de un texto dado el enfoque generativo se basaraacute en aprender el idioma a partir de las observaciones del corpus de entrenamiento para luego predecir en que idioma esta escrito el texto

La caracteriacutestica maacutes importante de los modelos discriminativos es que asignan pesos a los features de forma que el modelo corresponda con las observaciones Esto resuelve el problema de los modelos generativos donde los features son multiplicados aunque aporten la misma informacioacuten

Los modelos generativos mas importantes son los modelos de N-Gramas y NB y los modelos discriminativos mas relevantes son Logistic Regression Maximum Entropy Models SVM etc

NB

NB es un meacutetodo de clasificacioacuten supervisado y generativo que se basa en el teorema de Bayes y en la premisa de independencia de los atributos dada una clase

Las distintas implementaciones difieren principalmente en la aproximacioacuten de P(fk|Ci) y las teacutecnicas de smoothing utilizadas para el tratamiento de probabilidades bajas o nulas

Multinomial NB

En el caso de utilizar como features todos los teacuterminos del vocabulario del corpus de entrenamiento teniendo en cuenta su frecuencia de aparicioacuten add-one como teacutecnica de smoothing y MLE para estimar P(fk|Ci)

Multinomial NB - Ejemplo

Multinomial NB - Ejemplo

Binarized Multinomial NB

En el modelo Multinomial consideraacutebamos la frecuencia de aparicioacuten de cada feature para la estimacioacuten de P(fk|Ci) A diferencia de este meacutetodo NB puede ser implementado considerando exclusivamente presencia o ausencia de features es decir asociaacutendolos con un valor booleano cuando se evaluacutea un documento y descartando informacioacuten de frecuencia y posicioacuten

Binarized Multinomial NB - Ejemplo

Modelo de Maacutexima Entropiacutea

Es un meacutetodo de clasificacioacuten discriminativo y de aprendizaje supervisado donde los documentos del conjunto de datos son descriptos a partir de una lista de features siendo cada uno de estos features una restriccioacuten del modelo

Este meacutetodo se basa en seleccionar la distribucioacuten de probabilidad que satisfaga todas las restricciones del modelo y maximice la entropiacutea Esto apunta a preservar la incertidumbre tanto como sea posible

Polaridad de Turney Propone en su trabajo un meacutetodo no-supervisado

para la clasificacioacuten de textos seguacuten informacioacuten subjetiva que se basa en predecir la polaridad de un documento en base a su orientacioacuten semaacutentica

La orientacioacuten de un documento es calculada en base a la distancia a los teacuterminos del idioma ingles ldquoexcelent y ldquopoor que sugieren referencias positivas y negativas respectivamente

El algoritmo propuesto consiste en los siguientes 3 pasos

Extraer las frases del documento que contienen adjetivos o adverbios utilizando una herramienta de part-of-speech tagging

Estimar la orientacioacuten semaacutentica de cada frase extraiacuteda utilizando el algoritmo PMI-IR

Asignar las clases ldquorecomendado o ldquono recomendado al documento

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Polaridad de Turney

En el primer paso se extraen grupos de dos palabras cuyas etiquetas correspondan con los siguientes patrones

Siendo JJ Adjetivos NN Sustantivos en Singular NNS

Sustantivos en Plural RB Adverbios RBS Adverbios Superlativos RBR Adverbios Comparativos VB Verbos VBD Verbos en Pasado VBN Verbos en Pasado Participio VBG Verbos Gerundios o Pasado Participio

Algoritmo PMI-IR

Este algoritmo utiliza la teacutecnica de Pointwise Mutual Information (PMI) para obtener una medida de la asociacioacuten semaacutentica entre dos palabras seguacuten la ecuacioacuten que sigue

Siendo p(word1 amp word2) la probabilidad de que las palabras ocurran juntas

Luego la orientacioacuten semaacutentica se calcularaacute de la siguiente manera

Algoritmo PMI-IR El algoritmo PMI-IR estima el valor de PMI

realizando consultas a un motor de buacutesqueda a partir de la cantidad de resultados que devuelve la consulta y utilizando el operador NEAR que proveen algunos buscadores para estimar la ocurrencia conjunta de dos teacuterminos

Por ultimo la clasificacioacuten de un documento como ldquorecomendable o ldquono recomendable se realizaraacute a partir del caacutelculo de la orientacioacuten semaacutentica promedio de todas las frases extraiacutedas del documento

Algoritmo PMI-IR Consideraremos los teacuterminos ldquoexcelente como referencia

de polaridad positiva y los teacuterminos ldquomal malo mala como referencia negativa y estimaremos el operador NEAR a partir de la ocurrencia conjunta de palabras en la misma sentencia Consideremos las frases ldquobuena comida y ldquocomida friacutea para el caacutelculo de orientacioacuten semaacutentica

Clasificacioacuten basada en Leacutexico de Opinioacuten Existen otros meacutetodos de clasificacioacuten considerados no

supervisados o semi-supervisados que se basan en utilizar un conjunto de teacuterminos ldquosemillaldquo cuya polaridad es conocida y la clasificacioacuten consiste en calcular la similitud o distancia de los teacuterminos que componen el documento a estos teacuterminos conocidos

En este tipo de meacutetodos el leacutexico es utilizado como reemplazo de los features del modelo El ejemplo mas extremo de utilizacioacuten de leacutexico de opinioacuten es el algoritmo de Turney que utiliza la polaridad conocida de dos uacutenicos teacuterminos para clasificar un texto a partir de la distancia de los teacuterminos del documento a ellos

En un trabajo Sidorov (2012) se propone un leacutexico de opinioacuten de mas de 2000 palabras en idioma espantildeol que incluye la distancia de cada uno de estos teacuterminos a alguna de las siguientes emociones baacutesicas alegra ira miedo tristeza sorpresa y disgusto

En base a esta informacioacuten podraacute desarrollarse un algoritmo que infiera la polaridad de una sentencia a partir de calcular la distancia de los teacuterminos que la componen a las emociones baacutesicas asociadas a sentimientos positivos o negativos

Clasificacioacuten basada en Leacutexico de Opinioacuten

En este tipo de clasificadores puede ser necesario asociar la polaridad de los teacuterminos del leacutexico a dominios u objetivos especiacuteficos Por ejemplo

La palabra ldquobarato puede asociarse a sentimientos positivos cuando se refiere a comida y a sentimientos negativos cuando se refiere a vestimenta o decoracioacuten de ambientes

La palabra ldquoantildeejo tiene una connotacioacuten positiva cuando se refiere a vinos y altamente negativa si se refiere a comida

El termino ldquofriacuteo se asocia a emociones negativas si se habla de pizza y positivas si se habla de cervezas etc

Clasificacioacuten basada en Leacutexico de Opinioacuten Otro meacutetodo semi-supervisado basado en leacutexico de opinioacuten

consiste en identificar la polaridad de los adjetivos de un texto a partir de la ocurrencia conjunta con teacuterminos cuya polaridad es conocida y teniendo en cuenta la conjuncioacuten que los relaciona es decir considerando que si los adjetivos estaacuten conectados por el termino ldquoy tendraacuten la misma polaridad mientras que si aparecen conectados por el termino ldquopero tendraacuten polaridad opuesta

Un ejemplo Etiquetar un conjunto inicial de adjetivos semilla seguacuten su

polaridad Extender el conjunto anterior a partir de la ocurrencia conjunta

de los adjetivos conocidos con otros adjetivos y teniendo en cuenta la conjuncioacuten que los relaciona para determinar si tienen la misma polaridad u opuesta

Utilizar un clasificador supervisado para determinar el grado de similitud de polaridad de cada par de adjetivos generando como resultado un graacutefico que relacione los adjetivos del conjunto de datos

Clusterizar el graacutefico anterior en dos grandes grupos de polaridad similar (positivos y negativos)

Clasificacioacuten basada en Puntaje Para clasificar un texto de forma maacutes subjetiva se puede asignar a

cada documento un puntaje dentro de una escala dependiendo del grado de polaridad que expresa (por ejemplo asignar estrellas del 1 al 5)

La solucioacuten mas simple para esta tarea es clasificar el texto utilizando muacuteltiples categoriacuteas como clases Esta clasificacioacuten puede realizarse con los algoritmos como NB

Como SVM se utiliza para clasificacioacuten binaria se puede utilizar One-vs-All que se basa en crear un clasificador SVM para cada clase cuya salida nos permita saber si el documento pertenece o no a la clase en cuestioacuten

Otra solucion para resolver esta tarea consideraacutendola un problema de metric labeling En este tipo de problema la entrada es un conjunto de etiquetas (clases) y un grafo ponderado Se define una funcioacuten de distancia de las etiquetas y para cada etiqueta el costo de asignacioacuten a cada veacutertice siendo el objetivo encontrar el menor costo de asignar una etiqueta a un veacutertice Este enfoque combina los clasificadores SVM y k-nearest neighbors que es un meacutetodo no parametrito de clasificacioacuten basado en encontrar los elementos mas cercanos del conjunto de datos de entrenamiento en el espacio de features

Otro enfoque para la tarea de clasificacioacuten en muacuteltiples categoriacuteas consiste en utilizar un meacutetodo de regresioacuten considerando que las categoriacuteas corresponden a la discretizacioacuten de una funcioacuten continua

Clasificacioacuten de Muacuteltiples Aspectos Hasta ahora hemos presentado las tareas de anaacutelisis de

sentimientos a nivel de documento es decir asignando una clase a un documento completo a partir de las emociones que expresa Esta clasificacioacuten puede ser binaria (polaridad positiva o negativa) o basada en muacuteltiples categoriacuteas (utilizando puntajes o estrellas como clases) pero en ambos casos se claacutesica el documento completo

En esta seccioacuten presentaremos la clasificacioacuten aislada de los muacuteltiples objetivos aspectos o targets que generan opinioacuten dentro de un mismo documento Esta tarea es conocida como Multi-Aspect Sentiment Analysis

El objetivo de esta tarea consiste en la identificacioacuten de aspectos que generan opinioacuten dentro de un mismo documento seleccionando aquellas caracteriacutesticas que son frecuentemente mencionadas y las emociones asociadas Para identificar estas caracteriacutesticas o aspectos la solucioacuten mas simple consiste en utilizar un parser que nos permita obtener las frases nominales del documento teniendo en cuenta que la mayora de los aspectos son sustantivos

Clasificacioacuten de Muacuteltiples Aspectos

ldquoexcelente comida el ambiente es bastante ruidoso pero los precios accesibles

Clasificacioacuten de Muacuteltiples Aspectos A partir de la clasificacioacuten anterior podremos extraer los

sustantivos o frases nominales que nos permitiraacuten identificar teacuterminos candidatos a aspectos y los adjetivos para identificar las emociones asociadas Para obtener la polaridad de sentimientos utilizaremos los meacutetodos de clasificacioacuten estudiados en secciones anteriores

Luego a partir de la polaridad de la emocioacuten que genera cada aspecto debemos establecer un criterio que nos permita asignar pesos para obtener la polaridad general del documento La forma mas simple Serra basaacutendonos en la frecuencia de aparicioacuten de cada aspecto en el corpus de datos

Otro meacutetodo simple para la identificacioacuten de targets que generan opinioacuten consiste en definir aspectos ad-hoc para un determinado dominio por ejemplo

f(COMIDA SERVICIO AMBIENTE OTROS) y luego ejecutar la clasificacioacuten de todos los teacuterminos del

documento utilizando un meacutetodo supervisado y un conjunto de datos de entrenamiento clasificado manualmente que nos permita obtener aquellos teacuterminos que pertenecen a alguna de las clases de aspectos relevantes generadores de opinioacuten

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 11: Poggi   analytics - sentiment - 1

Sentiment analysis

Dificultades maacutes importantes Deteccioacuten de sarcasmo ldquoEste restaurante es genial si

quereacutes terminar hospitalizado Neologismos ldquoEncontramos este lugar googleando Lunfardo ldquoLa cuenta un poco salada gastamos dos

gambas por cabeza Errores gramaticales y ortograacuteficos ldquoLa comida muy cara

para lo que es Un salteado de lomo mas paresca un salteado de papas Poca carne y un exagero de papas por 150 pesos

Informalidad en textos ldquoMaliiiiisimo este lugar no volvemos ni locossssss

Procesamiento de hashtags ldquoComiendo ceviche en sipanrestaurante bueniacutesimo

Procesamiento de emoticones ldquoTodo perfecto hasta que llego la cuenta (

Capitalizaciones ldquoComimos en El Buen Gusto el servicio es muy malo y la comida regular

Sentiment analysis

Seguacuten wwwcomscorecom 81 de los usuarios de Internet han hecho una

investigacioacuten sobre un producto al menos una vez 20 lo hacen en un da tiacutepico sobre los lectores de criacuteticas

online de restaurantes hoteles y servicios varios (agencias de viaje o doctores)

73-87 reportan que las criacuteticas han tenido una influencia significativa en sus compras

Consumidores reportan estar dispuestos a pagar desde un 20 a un 99 maacutes por un producto clasificado como 5-estrellas que por uno clasificado como 4-estrellas

32 han clasificado un producto servicio o persona a traveacutes de un sistema online de clasificaciones

30 han posteado un comentario online o criacutetica sobre un producto o servicio

Sentiment analysis

Definiciones Documento cada unidad de texto que conforma la

coleccioacuten de datos Es un texto no estructurado compuesto por un conjunto de sentencias o secuencia de palabras que expresan opiniones y emociones

Corpus conjunto de documentos que se utilizan como entrada para entrenar el modelo (conjunto de datos de entrenamiento) y por el conjunto de documentos que seraacuten clasificados utilizaacutendolo

Leacutexico de Opinioacuten conjunto de palabras o vocabulario que se utiliza para expresar opinioacuten en un idioma dado

Feature caracteriacutesticas o atributos de los documentos que nos permitan encontrar patrones para predecir la positividad o negatividad de las opiniones expresadas en un texto

N-Gramas

Modelado del Lenguaje con N-Gramas En la mayora de las tareas de procesamiento de lenguaje

natural es necesario identificar las sentencias o secuencias de palabras que ocurren con mayor probabilidad dado un contexto

El objetivo de un modelo de lenguaje es calcular la probabilidad de ocurrencia de una sentencia que es originada por una secuencia de palabras que pasa a traveacutes de lo que se conoce como Noisy Channel

N-Gramas

El modelo que es utilizado por ejemplo en las siguientes tareas

Reconocimiento de discurso donde y es la sentildeal acuacutestica producida

Traduccioacuten automaacutetica de textos donde y es la sentencia en otro idioma

Correccioacuten automaacutetica de textos donde y es la secuencia de caracteres emitida por un escritor imperfecto

En los tres casos dada una secuencia de salida y se busca predecir la sentencia w que la originoacute

N-Gramas

Los algoritmos que asignan probabilidades a una sentencia pueden ser tambieacuten utilizados para calcular la probabilidad de la siguiente palabra dada una sentencia Esto resulta de gran utilidad en tareas de part-of-speech-tagging

N-Gramas

Los algoritmos que asignan probabilidades a una sentencia pueden ser tambieacuten utilizados para calcular la probabilidad de la siguiente palabra dada una sentencia Esto resulta de gran utilidad en tareas de part-of-speech-tagging

N-Gramas Modelo de Unigrama

El modelo de Unigrama es el caso trivial de la premisa de Markov es decir aproxima la probabilidad de una palabra con la probabilidad de ocurrencia de esa palabra en el corpus de datos y sin tener en cuenta las palabras que la preceden es decir considerando N = 0

P(ojos | lo esencial es invisible a los) = P(ojos) Modelo de Bigrama

El modelo de Bigrama utiliza la premisa de Markov para aproximar la probabilidad de una palabra con la probabilidad de ocurrencia de esa palabra dada la palabra anterior es decir considerando N = 1

P(ojos | lo esencial es invisible a los) = P(ojos | los) Modelo de Trigrama

El mismo modelo descripto para unigramas y bigramas puede utilizarse teniendo en cuenta las dos palabras anteriores es decir considerando N = 2

P(ojos | lo esencial es invisible a los) = P(ojos | a los) Modelo de N-grama

Generalizando los modelos anteriores la probabilidad de una palabra puede aproximarse como la probabilidad de una palabra dadas las N palabras anteriores

Maximum Likelihood Estimate (MLE)

Se denomina Maximum Likelihood Estimate a la estimacioacuten de probabilidades utilizando la frecuencia relativa de una secuencia de palabras en un corpus de entrenamiento

Donde C(w1wi) es la cantidad de ocurrencias de la sentencia en el corpus de entrenamiento N es el numero total de sentencias y C(w1wi10485761) es la cantidad de ocurrencias de la secuencia de palabras precedentes

Smoothing

Como Smoothing se conocen las teacutecnicas para ajustar el modelo de MLE para estimar probabilidades en forma mas apropiada Esta teacutecnica tiende a unificar la distribucioacuten ajustando las bajas o nulas probabilidades hacia arriba y las altas hacia abajo Las teacutecnicas de smoothing mas utilizadas

Laplace Smoothing El meacutetodo de Laplace tambieacuten conocido como Add-One Smoothing es la teacutecnica mas

simple y consiste en asumir que cada n-grama aparece una vez mas de las que realmente aparece Los distintos trabajos de anaacutelisis de teacutecnicas de Smoothing muestran que este es un meacutetodo pobre de ajuste de probabilidades No es utilizado en modelado de lenguaje porque existen teacutecnicas mejores pero s se utiliza en tareas de clasificacioacuten de textos o en dominios donde el numero de ceros no es muy grande

Linear Interpolation Esta teacutecnica combina modelos de mayor orden con modelos de menor orden por ejemplo

en modelos de trigrama se combina con modelos de bigrama y unigrama que son menos afectados por la falta de ocurrencias en el corpus de entrenamiento Las probabilidades estimadas en cada modelo se combinan linealmente ponderadas seguacuten su contribucioacuten y dando como resultado una nueva probabilidad estimada

Backoff Esta teacutecnica tambieacuten combina modelos de mayor orden con modelos de menor orden

utilizando el que corresponda seguacuten la evidencia que se tenga en el corpus de entrenamiento Esta teacutecnica es utilizada generalmente en modelos de N-Grama muy grandes como la Web

Good-Turing Estimate En la estimacioacuten de Good Turing por cada N-Grama que ocurre r veces se pondera el

numero de N-gramas que ocurren exactamente r veces en el corpus de entrenamiento Witten-Bell Smoothing

Esta teacutecnica se basa en el modelo de interpolacioacuten lineal Se utiliza un modelo de mayor orden si el n-grama wi i1048576N+1 esta presente en el corpus de entrenamiento y se utilizan modelos de menor orden en caso contrario

Google N-Grams Datasets

Cuando no se tiene un corpus de entrenamiento pueden utilizarse datasets disponibles en la web para calcular la probabilidad de ocurrencia de una sentencia dada

Existen herramientas como Google N-Grams Dataset (Google 2008) que proveen grandes colecciones de datos en distintos idiomas y permiten calcular estas probabilidades con muy buena precisioacuten

Ademaacutes Google provee una herramienta para visualizar graacuteficamente la probabilidad de ocurrencia de un conjunto de sentencias dado un idioma y un nuacutemero de smoothing y utilizando grandes cantidades de libros como corpus de datos

Ngram Viewer Consideremos la sentencia ldquoun viaje y supongamos que

queremos estimar la probabilidad de que esta secuencia de palabras este seguida de la palabra ldquoa es decir P(ajun viaje)

Se observa en un corpus de entrenamiento que esta sentencia aparece diez veces de las cuales seis estaacuten seguidas de la palabra ldquoa tres de la palabra ldquolargo y una de la palabra ldquodesde

La estimacioacuten basada en frecuencias relativas asignara las siguientes probabilidades de ocurrencia de la proacutexima palabra

P(a|un viaje) = 06 P(largo|un viaje) = 03 P(desde|un viaje) = 01

La estimacioacuten MLE asignara probabilidad cero a cualquier otro evento que no se encuentre en el corpus de entrenamiento y maximizara la probabilidad de los eventos observados

4En espa~nol es conocido comohttpsbooksgooglecomngrams

Deteccioacuten de features

Bag of Words Se consideran features todos los teacuterminos del corpus de entrenamiento descartando la posicioacuten Cuando se utiliza este feature puede considerarse frecuencia de aparicioacuten o no por lo que podemos hacer la siguiente distincioacuten

Presencia de Unigramas por cada documento se evaluacutea la presencia o ausencia de cada unigrama descartando la informacioacuten de frecuencia de aparicioacuten

Frecuencia de Unigramas por cada documento se evaluacutea la frecuencia con la que aparece cada unigrama

Presencia de Bigramas se consideran features todos los conjuntos de dos teacuterminos consecutivos del corpus de entrenamiento y por cada documento se evaluacutea la presencia o ausencia de cada bigrama

Presencia de Adjetivos se consideran features todos los adjetivos del corpus de entrenamiento y por cada documento se evaluacutea presencia o ausencia Este tipo de feature es utilizado en tareas de AS dado que los adjetivos aportan la informacioacuten mas relevante en cuanto a opiniones y sentimientos

Deteccioacuten de features

Cuando se tienen demasiados features puede ser necesario eliminar aquellos que aporten menos informacioacuten al clasificador con el objetivo de mejorar la performance y reducir el costo de entrenamiento Para esta tarea el meacutetodo mas utilizado consiste en seleccionar los top N features (generalmente en porcentaje) ordenados por frecuencia de aparicioacuten en el conjunto de datos de entrenamiento

En aplicaciones reales de anaacutelisis de sentimientos resulta fundamental utilizar features y pesos especiacuteficos de dominio para mejorar la performance de los clasificadores

Modelos Generativos vs Discriminativos

Los clasificadores generativos aprenden el modelo a partir de la forma en que se generan las observaciones esto es a partir de la probabilidad conjunta P(CD) (donde D es el documento y C la clase) y realizan la prediccioacuten maximizando la probabilidad condicional P(C|D) que es calculada utilizando el teorema de Bayes

Los clasificadores discriminativos modelan directamente la probabilidad condicional P(C|D) para realizar la prediccioacuten es decir a partir de la estructura oculta de los datos sin tener en cuenta la forma en que se generan

La desventaja de los modelos generativos es que resuelven un problema maacutes general como paso intermedio en cambio en los modelos discriminativos se resuelve el problema de clasificacioacuten directamente

Si tuvieacuteramos que clasificar el idioma de un texto dado el enfoque generativo se basaraacute en aprender el idioma a partir de las observaciones del corpus de entrenamiento para luego predecir en que idioma esta escrito el texto

La caracteriacutestica maacutes importante de los modelos discriminativos es que asignan pesos a los features de forma que el modelo corresponda con las observaciones Esto resuelve el problema de los modelos generativos donde los features son multiplicados aunque aporten la misma informacioacuten

Los modelos generativos mas importantes son los modelos de N-Gramas y NB y los modelos discriminativos mas relevantes son Logistic Regression Maximum Entropy Models SVM etc

NB

NB es un meacutetodo de clasificacioacuten supervisado y generativo que se basa en el teorema de Bayes y en la premisa de independencia de los atributos dada una clase

Las distintas implementaciones difieren principalmente en la aproximacioacuten de P(fk|Ci) y las teacutecnicas de smoothing utilizadas para el tratamiento de probabilidades bajas o nulas

Multinomial NB

En el caso de utilizar como features todos los teacuterminos del vocabulario del corpus de entrenamiento teniendo en cuenta su frecuencia de aparicioacuten add-one como teacutecnica de smoothing y MLE para estimar P(fk|Ci)

Multinomial NB - Ejemplo

Multinomial NB - Ejemplo

Binarized Multinomial NB

En el modelo Multinomial consideraacutebamos la frecuencia de aparicioacuten de cada feature para la estimacioacuten de P(fk|Ci) A diferencia de este meacutetodo NB puede ser implementado considerando exclusivamente presencia o ausencia de features es decir asociaacutendolos con un valor booleano cuando se evaluacutea un documento y descartando informacioacuten de frecuencia y posicioacuten

Binarized Multinomial NB - Ejemplo

Modelo de Maacutexima Entropiacutea

Es un meacutetodo de clasificacioacuten discriminativo y de aprendizaje supervisado donde los documentos del conjunto de datos son descriptos a partir de una lista de features siendo cada uno de estos features una restriccioacuten del modelo

Este meacutetodo se basa en seleccionar la distribucioacuten de probabilidad que satisfaga todas las restricciones del modelo y maximice la entropiacutea Esto apunta a preservar la incertidumbre tanto como sea posible

Polaridad de Turney Propone en su trabajo un meacutetodo no-supervisado

para la clasificacioacuten de textos seguacuten informacioacuten subjetiva que se basa en predecir la polaridad de un documento en base a su orientacioacuten semaacutentica

La orientacioacuten de un documento es calculada en base a la distancia a los teacuterminos del idioma ingles ldquoexcelent y ldquopoor que sugieren referencias positivas y negativas respectivamente

El algoritmo propuesto consiste en los siguientes 3 pasos

Extraer las frases del documento que contienen adjetivos o adverbios utilizando una herramienta de part-of-speech tagging

Estimar la orientacioacuten semaacutentica de cada frase extraiacuteda utilizando el algoritmo PMI-IR

Asignar las clases ldquorecomendado o ldquono recomendado al documento

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Polaridad de Turney

En el primer paso se extraen grupos de dos palabras cuyas etiquetas correspondan con los siguientes patrones

Siendo JJ Adjetivos NN Sustantivos en Singular NNS

Sustantivos en Plural RB Adverbios RBS Adverbios Superlativos RBR Adverbios Comparativos VB Verbos VBD Verbos en Pasado VBN Verbos en Pasado Participio VBG Verbos Gerundios o Pasado Participio

Algoritmo PMI-IR

Este algoritmo utiliza la teacutecnica de Pointwise Mutual Information (PMI) para obtener una medida de la asociacioacuten semaacutentica entre dos palabras seguacuten la ecuacioacuten que sigue

Siendo p(word1 amp word2) la probabilidad de que las palabras ocurran juntas

Luego la orientacioacuten semaacutentica se calcularaacute de la siguiente manera

Algoritmo PMI-IR El algoritmo PMI-IR estima el valor de PMI

realizando consultas a un motor de buacutesqueda a partir de la cantidad de resultados que devuelve la consulta y utilizando el operador NEAR que proveen algunos buscadores para estimar la ocurrencia conjunta de dos teacuterminos

Por ultimo la clasificacioacuten de un documento como ldquorecomendable o ldquono recomendable se realizaraacute a partir del caacutelculo de la orientacioacuten semaacutentica promedio de todas las frases extraiacutedas del documento

Algoritmo PMI-IR Consideraremos los teacuterminos ldquoexcelente como referencia

de polaridad positiva y los teacuterminos ldquomal malo mala como referencia negativa y estimaremos el operador NEAR a partir de la ocurrencia conjunta de palabras en la misma sentencia Consideremos las frases ldquobuena comida y ldquocomida friacutea para el caacutelculo de orientacioacuten semaacutentica

Clasificacioacuten basada en Leacutexico de Opinioacuten Existen otros meacutetodos de clasificacioacuten considerados no

supervisados o semi-supervisados que se basan en utilizar un conjunto de teacuterminos ldquosemillaldquo cuya polaridad es conocida y la clasificacioacuten consiste en calcular la similitud o distancia de los teacuterminos que componen el documento a estos teacuterminos conocidos

En este tipo de meacutetodos el leacutexico es utilizado como reemplazo de los features del modelo El ejemplo mas extremo de utilizacioacuten de leacutexico de opinioacuten es el algoritmo de Turney que utiliza la polaridad conocida de dos uacutenicos teacuterminos para clasificar un texto a partir de la distancia de los teacuterminos del documento a ellos

En un trabajo Sidorov (2012) se propone un leacutexico de opinioacuten de mas de 2000 palabras en idioma espantildeol que incluye la distancia de cada uno de estos teacuterminos a alguna de las siguientes emociones baacutesicas alegra ira miedo tristeza sorpresa y disgusto

En base a esta informacioacuten podraacute desarrollarse un algoritmo que infiera la polaridad de una sentencia a partir de calcular la distancia de los teacuterminos que la componen a las emociones baacutesicas asociadas a sentimientos positivos o negativos

Clasificacioacuten basada en Leacutexico de Opinioacuten

En este tipo de clasificadores puede ser necesario asociar la polaridad de los teacuterminos del leacutexico a dominios u objetivos especiacuteficos Por ejemplo

La palabra ldquobarato puede asociarse a sentimientos positivos cuando se refiere a comida y a sentimientos negativos cuando se refiere a vestimenta o decoracioacuten de ambientes

La palabra ldquoantildeejo tiene una connotacioacuten positiva cuando se refiere a vinos y altamente negativa si se refiere a comida

El termino ldquofriacuteo se asocia a emociones negativas si se habla de pizza y positivas si se habla de cervezas etc

Clasificacioacuten basada en Leacutexico de Opinioacuten Otro meacutetodo semi-supervisado basado en leacutexico de opinioacuten

consiste en identificar la polaridad de los adjetivos de un texto a partir de la ocurrencia conjunta con teacuterminos cuya polaridad es conocida y teniendo en cuenta la conjuncioacuten que los relaciona es decir considerando que si los adjetivos estaacuten conectados por el termino ldquoy tendraacuten la misma polaridad mientras que si aparecen conectados por el termino ldquopero tendraacuten polaridad opuesta

Un ejemplo Etiquetar un conjunto inicial de adjetivos semilla seguacuten su

polaridad Extender el conjunto anterior a partir de la ocurrencia conjunta

de los adjetivos conocidos con otros adjetivos y teniendo en cuenta la conjuncioacuten que los relaciona para determinar si tienen la misma polaridad u opuesta

Utilizar un clasificador supervisado para determinar el grado de similitud de polaridad de cada par de adjetivos generando como resultado un graacutefico que relacione los adjetivos del conjunto de datos

Clusterizar el graacutefico anterior en dos grandes grupos de polaridad similar (positivos y negativos)

Clasificacioacuten basada en Puntaje Para clasificar un texto de forma maacutes subjetiva se puede asignar a

cada documento un puntaje dentro de una escala dependiendo del grado de polaridad que expresa (por ejemplo asignar estrellas del 1 al 5)

La solucioacuten mas simple para esta tarea es clasificar el texto utilizando muacuteltiples categoriacuteas como clases Esta clasificacioacuten puede realizarse con los algoritmos como NB

Como SVM se utiliza para clasificacioacuten binaria se puede utilizar One-vs-All que se basa en crear un clasificador SVM para cada clase cuya salida nos permita saber si el documento pertenece o no a la clase en cuestioacuten

Otra solucion para resolver esta tarea consideraacutendola un problema de metric labeling En este tipo de problema la entrada es un conjunto de etiquetas (clases) y un grafo ponderado Se define una funcioacuten de distancia de las etiquetas y para cada etiqueta el costo de asignacioacuten a cada veacutertice siendo el objetivo encontrar el menor costo de asignar una etiqueta a un veacutertice Este enfoque combina los clasificadores SVM y k-nearest neighbors que es un meacutetodo no parametrito de clasificacioacuten basado en encontrar los elementos mas cercanos del conjunto de datos de entrenamiento en el espacio de features

Otro enfoque para la tarea de clasificacioacuten en muacuteltiples categoriacuteas consiste en utilizar un meacutetodo de regresioacuten considerando que las categoriacuteas corresponden a la discretizacioacuten de una funcioacuten continua

Clasificacioacuten de Muacuteltiples Aspectos Hasta ahora hemos presentado las tareas de anaacutelisis de

sentimientos a nivel de documento es decir asignando una clase a un documento completo a partir de las emociones que expresa Esta clasificacioacuten puede ser binaria (polaridad positiva o negativa) o basada en muacuteltiples categoriacuteas (utilizando puntajes o estrellas como clases) pero en ambos casos se claacutesica el documento completo

En esta seccioacuten presentaremos la clasificacioacuten aislada de los muacuteltiples objetivos aspectos o targets que generan opinioacuten dentro de un mismo documento Esta tarea es conocida como Multi-Aspect Sentiment Analysis

El objetivo de esta tarea consiste en la identificacioacuten de aspectos que generan opinioacuten dentro de un mismo documento seleccionando aquellas caracteriacutesticas que son frecuentemente mencionadas y las emociones asociadas Para identificar estas caracteriacutesticas o aspectos la solucioacuten mas simple consiste en utilizar un parser que nos permita obtener las frases nominales del documento teniendo en cuenta que la mayora de los aspectos son sustantivos

Clasificacioacuten de Muacuteltiples Aspectos

ldquoexcelente comida el ambiente es bastante ruidoso pero los precios accesibles

Clasificacioacuten de Muacuteltiples Aspectos A partir de la clasificacioacuten anterior podremos extraer los

sustantivos o frases nominales que nos permitiraacuten identificar teacuterminos candidatos a aspectos y los adjetivos para identificar las emociones asociadas Para obtener la polaridad de sentimientos utilizaremos los meacutetodos de clasificacioacuten estudiados en secciones anteriores

Luego a partir de la polaridad de la emocioacuten que genera cada aspecto debemos establecer un criterio que nos permita asignar pesos para obtener la polaridad general del documento La forma mas simple Serra basaacutendonos en la frecuencia de aparicioacuten de cada aspecto en el corpus de datos

Otro meacutetodo simple para la identificacioacuten de targets que generan opinioacuten consiste en definir aspectos ad-hoc para un determinado dominio por ejemplo

f(COMIDA SERVICIO AMBIENTE OTROS) y luego ejecutar la clasificacioacuten de todos los teacuterminos del

documento utilizando un meacutetodo supervisado y un conjunto de datos de entrenamiento clasificado manualmente que nos permita obtener aquellos teacuterminos que pertenecen a alguna de las clases de aspectos relevantes generadores de opinioacuten

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 12: Poggi   analytics - sentiment - 1

Sentiment analysis

Seguacuten wwwcomscorecom 81 de los usuarios de Internet han hecho una

investigacioacuten sobre un producto al menos una vez 20 lo hacen en un da tiacutepico sobre los lectores de criacuteticas

online de restaurantes hoteles y servicios varios (agencias de viaje o doctores)

73-87 reportan que las criacuteticas han tenido una influencia significativa en sus compras

Consumidores reportan estar dispuestos a pagar desde un 20 a un 99 maacutes por un producto clasificado como 5-estrellas que por uno clasificado como 4-estrellas

32 han clasificado un producto servicio o persona a traveacutes de un sistema online de clasificaciones

30 han posteado un comentario online o criacutetica sobre un producto o servicio

Sentiment analysis

Definiciones Documento cada unidad de texto que conforma la

coleccioacuten de datos Es un texto no estructurado compuesto por un conjunto de sentencias o secuencia de palabras que expresan opiniones y emociones

Corpus conjunto de documentos que se utilizan como entrada para entrenar el modelo (conjunto de datos de entrenamiento) y por el conjunto de documentos que seraacuten clasificados utilizaacutendolo

Leacutexico de Opinioacuten conjunto de palabras o vocabulario que se utiliza para expresar opinioacuten en un idioma dado

Feature caracteriacutesticas o atributos de los documentos que nos permitan encontrar patrones para predecir la positividad o negatividad de las opiniones expresadas en un texto

N-Gramas

Modelado del Lenguaje con N-Gramas En la mayora de las tareas de procesamiento de lenguaje

natural es necesario identificar las sentencias o secuencias de palabras que ocurren con mayor probabilidad dado un contexto

El objetivo de un modelo de lenguaje es calcular la probabilidad de ocurrencia de una sentencia que es originada por una secuencia de palabras que pasa a traveacutes de lo que se conoce como Noisy Channel

N-Gramas

El modelo que es utilizado por ejemplo en las siguientes tareas

Reconocimiento de discurso donde y es la sentildeal acuacutestica producida

Traduccioacuten automaacutetica de textos donde y es la sentencia en otro idioma

Correccioacuten automaacutetica de textos donde y es la secuencia de caracteres emitida por un escritor imperfecto

En los tres casos dada una secuencia de salida y se busca predecir la sentencia w que la originoacute

N-Gramas

Los algoritmos que asignan probabilidades a una sentencia pueden ser tambieacuten utilizados para calcular la probabilidad de la siguiente palabra dada una sentencia Esto resulta de gran utilidad en tareas de part-of-speech-tagging

N-Gramas

Los algoritmos que asignan probabilidades a una sentencia pueden ser tambieacuten utilizados para calcular la probabilidad de la siguiente palabra dada una sentencia Esto resulta de gran utilidad en tareas de part-of-speech-tagging

N-Gramas Modelo de Unigrama

El modelo de Unigrama es el caso trivial de la premisa de Markov es decir aproxima la probabilidad de una palabra con la probabilidad de ocurrencia de esa palabra en el corpus de datos y sin tener en cuenta las palabras que la preceden es decir considerando N = 0

P(ojos | lo esencial es invisible a los) = P(ojos) Modelo de Bigrama

El modelo de Bigrama utiliza la premisa de Markov para aproximar la probabilidad de una palabra con la probabilidad de ocurrencia de esa palabra dada la palabra anterior es decir considerando N = 1

P(ojos | lo esencial es invisible a los) = P(ojos | los) Modelo de Trigrama

El mismo modelo descripto para unigramas y bigramas puede utilizarse teniendo en cuenta las dos palabras anteriores es decir considerando N = 2

P(ojos | lo esencial es invisible a los) = P(ojos | a los) Modelo de N-grama

Generalizando los modelos anteriores la probabilidad de una palabra puede aproximarse como la probabilidad de una palabra dadas las N palabras anteriores

Maximum Likelihood Estimate (MLE)

Se denomina Maximum Likelihood Estimate a la estimacioacuten de probabilidades utilizando la frecuencia relativa de una secuencia de palabras en un corpus de entrenamiento

Donde C(w1wi) es la cantidad de ocurrencias de la sentencia en el corpus de entrenamiento N es el numero total de sentencias y C(w1wi10485761) es la cantidad de ocurrencias de la secuencia de palabras precedentes

Smoothing

Como Smoothing se conocen las teacutecnicas para ajustar el modelo de MLE para estimar probabilidades en forma mas apropiada Esta teacutecnica tiende a unificar la distribucioacuten ajustando las bajas o nulas probabilidades hacia arriba y las altas hacia abajo Las teacutecnicas de smoothing mas utilizadas

Laplace Smoothing El meacutetodo de Laplace tambieacuten conocido como Add-One Smoothing es la teacutecnica mas

simple y consiste en asumir que cada n-grama aparece una vez mas de las que realmente aparece Los distintos trabajos de anaacutelisis de teacutecnicas de Smoothing muestran que este es un meacutetodo pobre de ajuste de probabilidades No es utilizado en modelado de lenguaje porque existen teacutecnicas mejores pero s se utiliza en tareas de clasificacioacuten de textos o en dominios donde el numero de ceros no es muy grande

Linear Interpolation Esta teacutecnica combina modelos de mayor orden con modelos de menor orden por ejemplo

en modelos de trigrama se combina con modelos de bigrama y unigrama que son menos afectados por la falta de ocurrencias en el corpus de entrenamiento Las probabilidades estimadas en cada modelo se combinan linealmente ponderadas seguacuten su contribucioacuten y dando como resultado una nueva probabilidad estimada

Backoff Esta teacutecnica tambieacuten combina modelos de mayor orden con modelos de menor orden

utilizando el que corresponda seguacuten la evidencia que se tenga en el corpus de entrenamiento Esta teacutecnica es utilizada generalmente en modelos de N-Grama muy grandes como la Web

Good-Turing Estimate En la estimacioacuten de Good Turing por cada N-Grama que ocurre r veces se pondera el

numero de N-gramas que ocurren exactamente r veces en el corpus de entrenamiento Witten-Bell Smoothing

Esta teacutecnica se basa en el modelo de interpolacioacuten lineal Se utiliza un modelo de mayor orden si el n-grama wi i1048576N+1 esta presente en el corpus de entrenamiento y se utilizan modelos de menor orden en caso contrario

Google N-Grams Datasets

Cuando no se tiene un corpus de entrenamiento pueden utilizarse datasets disponibles en la web para calcular la probabilidad de ocurrencia de una sentencia dada

Existen herramientas como Google N-Grams Dataset (Google 2008) que proveen grandes colecciones de datos en distintos idiomas y permiten calcular estas probabilidades con muy buena precisioacuten

Ademaacutes Google provee una herramienta para visualizar graacuteficamente la probabilidad de ocurrencia de un conjunto de sentencias dado un idioma y un nuacutemero de smoothing y utilizando grandes cantidades de libros como corpus de datos

Ngram Viewer Consideremos la sentencia ldquoun viaje y supongamos que

queremos estimar la probabilidad de que esta secuencia de palabras este seguida de la palabra ldquoa es decir P(ajun viaje)

Se observa en un corpus de entrenamiento que esta sentencia aparece diez veces de las cuales seis estaacuten seguidas de la palabra ldquoa tres de la palabra ldquolargo y una de la palabra ldquodesde

La estimacioacuten basada en frecuencias relativas asignara las siguientes probabilidades de ocurrencia de la proacutexima palabra

P(a|un viaje) = 06 P(largo|un viaje) = 03 P(desde|un viaje) = 01

La estimacioacuten MLE asignara probabilidad cero a cualquier otro evento que no se encuentre en el corpus de entrenamiento y maximizara la probabilidad de los eventos observados

4En espa~nol es conocido comohttpsbooksgooglecomngrams

Deteccioacuten de features

Bag of Words Se consideran features todos los teacuterminos del corpus de entrenamiento descartando la posicioacuten Cuando se utiliza este feature puede considerarse frecuencia de aparicioacuten o no por lo que podemos hacer la siguiente distincioacuten

Presencia de Unigramas por cada documento se evaluacutea la presencia o ausencia de cada unigrama descartando la informacioacuten de frecuencia de aparicioacuten

Frecuencia de Unigramas por cada documento se evaluacutea la frecuencia con la que aparece cada unigrama

Presencia de Bigramas se consideran features todos los conjuntos de dos teacuterminos consecutivos del corpus de entrenamiento y por cada documento se evaluacutea la presencia o ausencia de cada bigrama

Presencia de Adjetivos se consideran features todos los adjetivos del corpus de entrenamiento y por cada documento se evaluacutea presencia o ausencia Este tipo de feature es utilizado en tareas de AS dado que los adjetivos aportan la informacioacuten mas relevante en cuanto a opiniones y sentimientos

Deteccioacuten de features

Cuando se tienen demasiados features puede ser necesario eliminar aquellos que aporten menos informacioacuten al clasificador con el objetivo de mejorar la performance y reducir el costo de entrenamiento Para esta tarea el meacutetodo mas utilizado consiste en seleccionar los top N features (generalmente en porcentaje) ordenados por frecuencia de aparicioacuten en el conjunto de datos de entrenamiento

En aplicaciones reales de anaacutelisis de sentimientos resulta fundamental utilizar features y pesos especiacuteficos de dominio para mejorar la performance de los clasificadores

Modelos Generativos vs Discriminativos

Los clasificadores generativos aprenden el modelo a partir de la forma en que se generan las observaciones esto es a partir de la probabilidad conjunta P(CD) (donde D es el documento y C la clase) y realizan la prediccioacuten maximizando la probabilidad condicional P(C|D) que es calculada utilizando el teorema de Bayes

Los clasificadores discriminativos modelan directamente la probabilidad condicional P(C|D) para realizar la prediccioacuten es decir a partir de la estructura oculta de los datos sin tener en cuenta la forma en que se generan

La desventaja de los modelos generativos es que resuelven un problema maacutes general como paso intermedio en cambio en los modelos discriminativos se resuelve el problema de clasificacioacuten directamente

Si tuvieacuteramos que clasificar el idioma de un texto dado el enfoque generativo se basaraacute en aprender el idioma a partir de las observaciones del corpus de entrenamiento para luego predecir en que idioma esta escrito el texto

La caracteriacutestica maacutes importante de los modelos discriminativos es que asignan pesos a los features de forma que el modelo corresponda con las observaciones Esto resuelve el problema de los modelos generativos donde los features son multiplicados aunque aporten la misma informacioacuten

Los modelos generativos mas importantes son los modelos de N-Gramas y NB y los modelos discriminativos mas relevantes son Logistic Regression Maximum Entropy Models SVM etc

NB

NB es un meacutetodo de clasificacioacuten supervisado y generativo que se basa en el teorema de Bayes y en la premisa de independencia de los atributos dada una clase

Las distintas implementaciones difieren principalmente en la aproximacioacuten de P(fk|Ci) y las teacutecnicas de smoothing utilizadas para el tratamiento de probabilidades bajas o nulas

Multinomial NB

En el caso de utilizar como features todos los teacuterminos del vocabulario del corpus de entrenamiento teniendo en cuenta su frecuencia de aparicioacuten add-one como teacutecnica de smoothing y MLE para estimar P(fk|Ci)

Multinomial NB - Ejemplo

Multinomial NB - Ejemplo

Binarized Multinomial NB

En el modelo Multinomial consideraacutebamos la frecuencia de aparicioacuten de cada feature para la estimacioacuten de P(fk|Ci) A diferencia de este meacutetodo NB puede ser implementado considerando exclusivamente presencia o ausencia de features es decir asociaacutendolos con un valor booleano cuando se evaluacutea un documento y descartando informacioacuten de frecuencia y posicioacuten

Binarized Multinomial NB - Ejemplo

Modelo de Maacutexima Entropiacutea

Es un meacutetodo de clasificacioacuten discriminativo y de aprendizaje supervisado donde los documentos del conjunto de datos son descriptos a partir de una lista de features siendo cada uno de estos features una restriccioacuten del modelo

Este meacutetodo se basa en seleccionar la distribucioacuten de probabilidad que satisfaga todas las restricciones del modelo y maximice la entropiacutea Esto apunta a preservar la incertidumbre tanto como sea posible

Polaridad de Turney Propone en su trabajo un meacutetodo no-supervisado

para la clasificacioacuten de textos seguacuten informacioacuten subjetiva que se basa en predecir la polaridad de un documento en base a su orientacioacuten semaacutentica

La orientacioacuten de un documento es calculada en base a la distancia a los teacuterminos del idioma ingles ldquoexcelent y ldquopoor que sugieren referencias positivas y negativas respectivamente

El algoritmo propuesto consiste en los siguientes 3 pasos

Extraer las frases del documento que contienen adjetivos o adverbios utilizando una herramienta de part-of-speech tagging

Estimar la orientacioacuten semaacutentica de cada frase extraiacuteda utilizando el algoritmo PMI-IR

Asignar las clases ldquorecomendado o ldquono recomendado al documento

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Polaridad de Turney

En el primer paso se extraen grupos de dos palabras cuyas etiquetas correspondan con los siguientes patrones

Siendo JJ Adjetivos NN Sustantivos en Singular NNS

Sustantivos en Plural RB Adverbios RBS Adverbios Superlativos RBR Adverbios Comparativos VB Verbos VBD Verbos en Pasado VBN Verbos en Pasado Participio VBG Verbos Gerundios o Pasado Participio

Algoritmo PMI-IR

Este algoritmo utiliza la teacutecnica de Pointwise Mutual Information (PMI) para obtener una medida de la asociacioacuten semaacutentica entre dos palabras seguacuten la ecuacioacuten que sigue

Siendo p(word1 amp word2) la probabilidad de que las palabras ocurran juntas

Luego la orientacioacuten semaacutentica se calcularaacute de la siguiente manera

Algoritmo PMI-IR El algoritmo PMI-IR estima el valor de PMI

realizando consultas a un motor de buacutesqueda a partir de la cantidad de resultados que devuelve la consulta y utilizando el operador NEAR que proveen algunos buscadores para estimar la ocurrencia conjunta de dos teacuterminos

Por ultimo la clasificacioacuten de un documento como ldquorecomendable o ldquono recomendable se realizaraacute a partir del caacutelculo de la orientacioacuten semaacutentica promedio de todas las frases extraiacutedas del documento

Algoritmo PMI-IR Consideraremos los teacuterminos ldquoexcelente como referencia

de polaridad positiva y los teacuterminos ldquomal malo mala como referencia negativa y estimaremos el operador NEAR a partir de la ocurrencia conjunta de palabras en la misma sentencia Consideremos las frases ldquobuena comida y ldquocomida friacutea para el caacutelculo de orientacioacuten semaacutentica

Clasificacioacuten basada en Leacutexico de Opinioacuten Existen otros meacutetodos de clasificacioacuten considerados no

supervisados o semi-supervisados que se basan en utilizar un conjunto de teacuterminos ldquosemillaldquo cuya polaridad es conocida y la clasificacioacuten consiste en calcular la similitud o distancia de los teacuterminos que componen el documento a estos teacuterminos conocidos

En este tipo de meacutetodos el leacutexico es utilizado como reemplazo de los features del modelo El ejemplo mas extremo de utilizacioacuten de leacutexico de opinioacuten es el algoritmo de Turney que utiliza la polaridad conocida de dos uacutenicos teacuterminos para clasificar un texto a partir de la distancia de los teacuterminos del documento a ellos

En un trabajo Sidorov (2012) se propone un leacutexico de opinioacuten de mas de 2000 palabras en idioma espantildeol que incluye la distancia de cada uno de estos teacuterminos a alguna de las siguientes emociones baacutesicas alegra ira miedo tristeza sorpresa y disgusto

En base a esta informacioacuten podraacute desarrollarse un algoritmo que infiera la polaridad de una sentencia a partir de calcular la distancia de los teacuterminos que la componen a las emociones baacutesicas asociadas a sentimientos positivos o negativos

Clasificacioacuten basada en Leacutexico de Opinioacuten

En este tipo de clasificadores puede ser necesario asociar la polaridad de los teacuterminos del leacutexico a dominios u objetivos especiacuteficos Por ejemplo

La palabra ldquobarato puede asociarse a sentimientos positivos cuando se refiere a comida y a sentimientos negativos cuando se refiere a vestimenta o decoracioacuten de ambientes

La palabra ldquoantildeejo tiene una connotacioacuten positiva cuando se refiere a vinos y altamente negativa si se refiere a comida

El termino ldquofriacuteo se asocia a emociones negativas si se habla de pizza y positivas si se habla de cervezas etc

Clasificacioacuten basada en Leacutexico de Opinioacuten Otro meacutetodo semi-supervisado basado en leacutexico de opinioacuten

consiste en identificar la polaridad de los adjetivos de un texto a partir de la ocurrencia conjunta con teacuterminos cuya polaridad es conocida y teniendo en cuenta la conjuncioacuten que los relaciona es decir considerando que si los adjetivos estaacuten conectados por el termino ldquoy tendraacuten la misma polaridad mientras que si aparecen conectados por el termino ldquopero tendraacuten polaridad opuesta

Un ejemplo Etiquetar un conjunto inicial de adjetivos semilla seguacuten su

polaridad Extender el conjunto anterior a partir de la ocurrencia conjunta

de los adjetivos conocidos con otros adjetivos y teniendo en cuenta la conjuncioacuten que los relaciona para determinar si tienen la misma polaridad u opuesta

Utilizar un clasificador supervisado para determinar el grado de similitud de polaridad de cada par de adjetivos generando como resultado un graacutefico que relacione los adjetivos del conjunto de datos

Clusterizar el graacutefico anterior en dos grandes grupos de polaridad similar (positivos y negativos)

Clasificacioacuten basada en Puntaje Para clasificar un texto de forma maacutes subjetiva se puede asignar a

cada documento un puntaje dentro de una escala dependiendo del grado de polaridad que expresa (por ejemplo asignar estrellas del 1 al 5)

La solucioacuten mas simple para esta tarea es clasificar el texto utilizando muacuteltiples categoriacuteas como clases Esta clasificacioacuten puede realizarse con los algoritmos como NB

Como SVM se utiliza para clasificacioacuten binaria se puede utilizar One-vs-All que se basa en crear un clasificador SVM para cada clase cuya salida nos permita saber si el documento pertenece o no a la clase en cuestioacuten

Otra solucion para resolver esta tarea consideraacutendola un problema de metric labeling En este tipo de problema la entrada es un conjunto de etiquetas (clases) y un grafo ponderado Se define una funcioacuten de distancia de las etiquetas y para cada etiqueta el costo de asignacioacuten a cada veacutertice siendo el objetivo encontrar el menor costo de asignar una etiqueta a un veacutertice Este enfoque combina los clasificadores SVM y k-nearest neighbors que es un meacutetodo no parametrito de clasificacioacuten basado en encontrar los elementos mas cercanos del conjunto de datos de entrenamiento en el espacio de features

Otro enfoque para la tarea de clasificacioacuten en muacuteltiples categoriacuteas consiste en utilizar un meacutetodo de regresioacuten considerando que las categoriacuteas corresponden a la discretizacioacuten de una funcioacuten continua

Clasificacioacuten de Muacuteltiples Aspectos Hasta ahora hemos presentado las tareas de anaacutelisis de

sentimientos a nivel de documento es decir asignando una clase a un documento completo a partir de las emociones que expresa Esta clasificacioacuten puede ser binaria (polaridad positiva o negativa) o basada en muacuteltiples categoriacuteas (utilizando puntajes o estrellas como clases) pero en ambos casos se claacutesica el documento completo

En esta seccioacuten presentaremos la clasificacioacuten aislada de los muacuteltiples objetivos aspectos o targets que generan opinioacuten dentro de un mismo documento Esta tarea es conocida como Multi-Aspect Sentiment Analysis

El objetivo de esta tarea consiste en la identificacioacuten de aspectos que generan opinioacuten dentro de un mismo documento seleccionando aquellas caracteriacutesticas que son frecuentemente mencionadas y las emociones asociadas Para identificar estas caracteriacutesticas o aspectos la solucioacuten mas simple consiste en utilizar un parser que nos permita obtener las frases nominales del documento teniendo en cuenta que la mayora de los aspectos son sustantivos

Clasificacioacuten de Muacuteltiples Aspectos

ldquoexcelente comida el ambiente es bastante ruidoso pero los precios accesibles

Clasificacioacuten de Muacuteltiples Aspectos A partir de la clasificacioacuten anterior podremos extraer los

sustantivos o frases nominales que nos permitiraacuten identificar teacuterminos candidatos a aspectos y los adjetivos para identificar las emociones asociadas Para obtener la polaridad de sentimientos utilizaremos los meacutetodos de clasificacioacuten estudiados en secciones anteriores

Luego a partir de la polaridad de la emocioacuten que genera cada aspecto debemos establecer un criterio que nos permita asignar pesos para obtener la polaridad general del documento La forma mas simple Serra basaacutendonos en la frecuencia de aparicioacuten de cada aspecto en el corpus de datos

Otro meacutetodo simple para la identificacioacuten de targets que generan opinioacuten consiste en definir aspectos ad-hoc para un determinado dominio por ejemplo

f(COMIDA SERVICIO AMBIENTE OTROS) y luego ejecutar la clasificacioacuten de todos los teacuterminos del

documento utilizando un meacutetodo supervisado y un conjunto de datos de entrenamiento clasificado manualmente que nos permita obtener aquellos teacuterminos que pertenecen a alguna de las clases de aspectos relevantes generadores de opinioacuten

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 13: Poggi   analytics - sentiment - 1

Sentiment analysis

Definiciones Documento cada unidad de texto que conforma la

coleccioacuten de datos Es un texto no estructurado compuesto por un conjunto de sentencias o secuencia de palabras que expresan opiniones y emociones

Corpus conjunto de documentos que se utilizan como entrada para entrenar el modelo (conjunto de datos de entrenamiento) y por el conjunto de documentos que seraacuten clasificados utilizaacutendolo

Leacutexico de Opinioacuten conjunto de palabras o vocabulario que se utiliza para expresar opinioacuten en un idioma dado

Feature caracteriacutesticas o atributos de los documentos que nos permitan encontrar patrones para predecir la positividad o negatividad de las opiniones expresadas en un texto

N-Gramas

Modelado del Lenguaje con N-Gramas En la mayora de las tareas de procesamiento de lenguaje

natural es necesario identificar las sentencias o secuencias de palabras que ocurren con mayor probabilidad dado un contexto

El objetivo de un modelo de lenguaje es calcular la probabilidad de ocurrencia de una sentencia que es originada por una secuencia de palabras que pasa a traveacutes de lo que se conoce como Noisy Channel

N-Gramas

El modelo que es utilizado por ejemplo en las siguientes tareas

Reconocimiento de discurso donde y es la sentildeal acuacutestica producida

Traduccioacuten automaacutetica de textos donde y es la sentencia en otro idioma

Correccioacuten automaacutetica de textos donde y es la secuencia de caracteres emitida por un escritor imperfecto

En los tres casos dada una secuencia de salida y se busca predecir la sentencia w que la originoacute

N-Gramas

Los algoritmos que asignan probabilidades a una sentencia pueden ser tambieacuten utilizados para calcular la probabilidad de la siguiente palabra dada una sentencia Esto resulta de gran utilidad en tareas de part-of-speech-tagging

N-Gramas

Los algoritmos que asignan probabilidades a una sentencia pueden ser tambieacuten utilizados para calcular la probabilidad de la siguiente palabra dada una sentencia Esto resulta de gran utilidad en tareas de part-of-speech-tagging

N-Gramas Modelo de Unigrama

El modelo de Unigrama es el caso trivial de la premisa de Markov es decir aproxima la probabilidad de una palabra con la probabilidad de ocurrencia de esa palabra en el corpus de datos y sin tener en cuenta las palabras que la preceden es decir considerando N = 0

P(ojos | lo esencial es invisible a los) = P(ojos) Modelo de Bigrama

El modelo de Bigrama utiliza la premisa de Markov para aproximar la probabilidad de una palabra con la probabilidad de ocurrencia de esa palabra dada la palabra anterior es decir considerando N = 1

P(ojos | lo esencial es invisible a los) = P(ojos | los) Modelo de Trigrama

El mismo modelo descripto para unigramas y bigramas puede utilizarse teniendo en cuenta las dos palabras anteriores es decir considerando N = 2

P(ojos | lo esencial es invisible a los) = P(ojos | a los) Modelo de N-grama

Generalizando los modelos anteriores la probabilidad de una palabra puede aproximarse como la probabilidad de una palabra dadas las N palabras anteriores

Maximum Likelihood Estimate (MLE)

Se denomina Maximum Likelihood Estimate a la estimacioacuten de probabilidades utilizando la frecuencia relativa de una secuencia de palabras en un corpus de entrenamiento

Donde C(w1wi) es la cantidad de ocurrencias de la sentencia en el corpus de entrenamiento N es el numero total de sentencias y C(w1wi10485761) es la cantidad de ocurrencias de la secuencia de palabras precedentes

Smoothing

Como Smoothing se conocen las teacutecnicas para ajustar el modelo de MLE para estimar probabilidades en forma mas apropiada Esta teacutecnica tiende a unificar la distribucioacuten ajustando las bajas o nulas probabilidades hacia arriba y las altas hacia abajo Las teacutecnicas de smoothing mas utilizadas

Laplace Smoothing El meacutetodo de Laplace tambieacuten conocido como Add-One Smoothing es la teacutecnica mas

simple y consiste en asumir que cada n-grama aparece una vez mas de las que realmente aparece Los distintos trabajos de anaacutelisis de teacutecnicas de Smoothing muestran que este es un meacutetodo pobre de ajuste de probabilidades No es utilizado en modelado de lenguaje porque existen teacutecnicas mejores pero s se utiliza en tareas de clasificacioacuten de textos o en dominios donde el numero de ceros no es muy grande

Linear Interpolation Esta teacutecnica combina modelos de mayor orden con modelos de menor orden por ejemplo

en modelos de trigrama se combina con modelos de bigrama y unigrama que son menos afectados por la falta de ocurrencias en el corpus de entrenamiento Las probabilidades estimadas en cada modelo se combinan linealmente ponderadas seguacuten su contribucioacuten y dando como resultado una nueva probabilidad estimada

Backoff Esta teacutecnica tambieacuten combina modelos de mayor orden con modelos de menor orden

utilizando el que corresponda seguacuten la evidencia que se tenga en el corpus de entrenamiento Esta teacutecnica es utilizada generalmente en modelos de N-Grama muy grandes como la Web

Good-Turing Estimate En la estimacioacuten de Good Turing por cada N-Grama que ocurre r veces se pondera el

numero de N-gramas que ocurren exactamente r veces en el corpus de entrenamiento Witten-Bell Smoothing

Esta teacutecnica se basa en el modelo de interpolacioacuten lineal Se utiliza un modelo de mayor orden si el n-grama wi i1048576N+1 esta presente en el corpus de entrenamiento y se utilizan modelos de menor orden en caso contrario

Google N-Grams Datasets

Cuando no se tiene un corpus de entrenamiento pueden utilizarse datasets disponibles en la web para calcular la probabilidad de ocurrencia de una sentencia dada

Existen herramientas como Google N-Grams Dataset (Google 2008) que proveen grandes colecciones de datos en distintos idiomas y permiten calcular estas probabilidades con muy buena precisioacuten

Ademaacutes Google provee una herramienta para visualizar graacuteficamente la probabilidad de ocurrencia de un conjunto de sentencias dado un idioma y un nuacutemero de smoothing y utilizando grandes cantidades de libros como corpus de datos

Ngram Viewer Consideremos la sentencia ldquoun viaje y supongamos que

queremos estimar la probabilidad de que esta secuencia de palabras este seguida de la palabra ldquoa es decir P(ajun viaje)

Se observa en un corpus de entrenamiento que esta sentencia aparece diez veces de las cuales seis estaacuten seguidas de la palabra ldquoa tres de la palabra ldquolargo y una de la palabra ldquodesde

La estimacioacuten basada en frecuencias relativas asignara las siguientes probabilidades de ocurrencia de la proacutexima palabra

P(a|un viaje) = 06 P(largo|un viaje) = 03 P(desde|un viaje) = 01

La estimacioacuten MLE asignara probabilidad cero a cualquier otro evento que no se encuentre en el corpus de entrenamiento y maximizara la probabilidad de los eventos observados

4En espa~nol es conocido comohttpsbooksgooglecomngrams

Deteccioacuten de features

Bag of Words Se consideran features todos los teacuterminos del corpus de entrenamiento descartando la posicioacuten Cuando se utiliza este feature puede considerarse frecuencia de aparicioacuten o no por lo que podemos hacer la siguiente distincioacuten

Presencia de Unigramas por cada documento se evaluacutea la presencia o ausencia de cada unigrama descartando la informacioacuten de frecuencia de aparicioacuten

Frecuencia de Unigramas por cada documento se evaluacutea la frecuencia con la que aparece cada unigrama

Presencia de Bigramas se consideran features todos los conjuntos de dos teacuterminos consecutivos del corpus de entrenamiento y por cada documento se evaluacutea la presencia o ausencia de cada bigrama

Presencia de Adjetivos se consideran features todos los adjetivos del corpus de entrenamiento y por cada documento se evaluacutea presencia o ausencia Este tipo de feature es utilizado en tareas de AS dado que los adjetivos aportan la informacioacuten mas relevante en cuanto a opiniones y sentimientos

Deteccioacuten de features

Cuando se tienen demasiados features puede ser necesario eliminar aquellos que aporten menos informacioacuten al clasificador con el objetivo de mejorar la performance y reducir el costo de entrenamiento Para esta tarea el meacutetodo mas utilizado consiste en seleccionar los top N features (generalmente en porcentaje) ordenados por frecuencia de aparicioacuten en el conjunto de datos de entrenamiento

En aplicaciones reales de anaacutelisis de sentimientos resulta fundamental utilizar features y pesos especiacuteficos de dominio para mejorar la performance de los clasificadores

Modelos Generativos vs Discriminativos

Los clasificadores generativos aprenden el modelo a partir de la forma en que se generan las observaciones esto es a partir de la probabilidad conjunta P(CD) (donde D es el documento y C la clase) y realizan la prediccioacuten maximizando la probabilidad condicional P(C|D) que es calculada utilizando el teorema de Bayes

Los clasificadores discriminativos modelan directamente la probabilidad condicional P(C|D) para realizar la prediccioacuten es decir a partir de la estructura oculta de los datos sin tener en cuenta la forma en que se generan

La desventaja de los modelos generativos es que resuelven un problema maacutes general como paso intermedio en cambio en los modelos discriminativos se resuelve el problema de clasificacioacuten directamente

Si tuvieacuteramos que clasificar el idioma de un texto dado el enfoque generativo se basaraacute en aprender el idioma a partir de las observaciones del corpus de entrenamiento para luego predecir en que idioma esta escrito el texto

La caracteriacutestica maacutes importante de los modelos discriminativos es que asignan pesos a los features de forma que el modelo corresponda con las observaciones Esto resuelve el problema de los modelos generativos donde los features son multiplicados aunque aporten la misma informacioacuten

Los modelos generativos mas importantes son los modelos de N-Gramas y NB y los modelos discriminativos mas relevantes son Logistic Regression Maximum Entropy Models SVM etc

NB

NB es un meacutetodo de clasificacioacuten supervisado y generativo que se basa en el teorema de Bayes y en la premisa de independencia de los atributos dada una clase

Las distintas implementaciones difieren principalmente en la aproximacioacuten de P(fk|Ci) y las teacutecnicas de smoothing utilizadas para el tratamiento de probabilidades bajas o nulas

Multinomial NB

En el caso de utilizar como features todos los teacuterminos del vocabulario del corpus de entrenamiento teniendo en cuenta su frecuencia de aparicioacuten add-one como teacutecnica de smoothing y MLE para estimar P(fk|Ci)

Multinomial NB - Ejemplo

Multinomial NB - Ejemplo

Binarized Multinomial NB

En el modelo Multinomial consideraacutebamos la frecuencia de aparicioacuten de cada feature para la estimacioacuten de P(fk|Ci) A diferencia de este meacutetodo NB puede ser implementado considerando exclusivamente presencia o ausencia de features es decir asociaacutendolos con un valor booleano cuando se evaluacutea un documento y descartando informacioacuten de frecuencia y posicioacuten

Binarized Multinomial NB - Ejemplo

Modelo de Maacutexima Entropiacutea

Es un meacutetodo de clasificacioacuten discriminativo y de aprendizaje supervisado donde los documentos del conjunto de datos son descriptos a partir de una lista de features siendo cada uno de estos features una restriccioacuten del modelo

Este meacutetodo se basa en seleccionar la distribucioacuten de probabilidad que satisfaga todas las restricciones del modelo y maximice la entropiacutea Esto apunta a preservar la incertidumbre tanto como sea posible

Polaridad de Turney Propone en su trabajo un meacutetodo no-supervisado

para la clasificacioacuten de textos seguacuten informacioacuten subjetiva que se basa en predecir la polaridad de un documento en base a su orientacioacuten semaacutentica

La orientacioacuten de un documento es calculada en base a la distancia a los teacuterminos del idioma ingles ldquoexcelent y ldquopoor que sugieren referencias positivas y negativas respectivamente

El algoritmo propuesto consiste en los siguientes 3 pasos

Extraer las frases del documento que contienen adjetivos o adverbios utilizando una herramienta de part-of-speech tagging

Estimar la orientacioacuten semaacutentica de cada frase extraiacuteda utilizando el algoritmo PMI-IR

Asignar las clases ldquorecomendado o ldquono recomendado al documento

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Polaridad de Turney

En el primer paso se extraen grupos de dos palabras cuyas etiquetas correspondan con los siguientes patrones

Siendo JJ Adjetivos NN Sustantivos en Singular NNS

Sustantivos en Plural RB Adverbios RBS Adverbios Superlativos RBR Adverbios Comparativos VB Verbos VBD Verbos en Pasado VBN Verbos en Pasado Participio VBG Verbos Gerundios o Pasado Participio

Algoritmo PMI-IR

Este algoritmo utiliza la teacutecnica de Pointwise Mutual Information (PMI) para obtener una medida de la asociacioacuten semaacutentica entre dos palabras seguacuten la ecuacioacuten que sigue

Siendo p(word1 amp word2) la probabilidad de que las palabras ocurran juntas

Luego la orientacioacuten semaacutentica se calcularaacute de la siguiente manera

Algoritmo PMI-IR El algoritmo PMI-IR estima el valor de PMI

realizando consultas a un motor de buacutesqueda a partir de la cantidad de resultados que devuelve la consulta y utilizando el operador NEAR que proveen algunos buscadores para estimar la ocurrencia conjunta de dos teacuterminos

Por ultimo la clasificacioacuten de un documento como ldquorecomendable o ldquono recomendable se realizaraacute a partir del caacutelculo de la orientacioacuten semaacutentica promedio de todas las frases extraiacutedas del documento

Algoritmo PMI-IR Consideraremos los teacuterminos ldquoexcelente como referencia

de polaridad positiva y los teacuterminos ldquomal malo mala como referencia negativa y estimaremos el operador NEAR a partir de la ocurrencia conjunta de palabras en la misma sentencia Consideremos las frases ldquobuena comida y ldquocomida friacutea para el caacutelculo de orientacioacuten semaacutentica

Clasificacioacuten basada en Leacutexico de Opinioacuten Existen otros meacutetodos de clasificacioacuten considerados no

supervisados o semi-supervisados que se basan en utilizar un conjunto de teacuterminos ldquosemillaldquo cuya polaridad es conocida y la clasificacioacuten consiste en calcular la similitud o distancia de los teacuterminos que componen el documento a estos teacuterminos conocidos

En este tipo de meacutetodos el leacutexico es utilizado como reemplazo de los features del modelo El ejemplo mas extremo de utilizacioacuten de leacutexico de opinioacuten es el algoritmo de Turney que utiliza la polaridad conocida de dos uacutenicos teacuterminos para clasificar un texto a partir de la distancia de los teacuterminos del documento a ellos

En un trabajo Sidorov (2012) se propone un leacutexico de opinioacuten de mas de 2000 palabras en idioma espantildeol que incluye la distancia de cada uno de estos teacuterminos a alguna de las siguientes emociones baacutesicas alegra ira miedo tristeza sorpresa y disgusto

En base a esta informacioacuten podraacute desarrollarse un algoritmo que infiera la polaridad de una sentencia a partir de calcular la distancia de los teacuterminos que la componen a las emociones baacutesicas asociadas a sentimientos positivos o negativos

Clasificacioacuten basada en Leacutexico de Opinioacuten

En este tipo de clasificadores puede ser necesario asociar la polaridad de los teacuterminos del leacutexico a dominios u objetivos especiacuteficos Por ejemplo

La palabra ldquobarato puede asociarse a sentimientos positivos cuando se refiere a comida y a sentimientos negativos cuando se refiere a vestimenta o decoracioacuten de ambientes

La palabra ldquoantildeejo tiene una connotacioacuten positiva cuando se refiere a vinos y altamente negativa si se refiere a comida

El termino ldquofriacuteo se asocia a emociones negativas si se habla de pizza y positivas si se habla de cervezas etc

Clasificacioacuten basada en Leacutexico de Opinioacuten Otro meacutetodo semi-supervisado basado en leacutexico de opinioacuten

consiste en identificar la polaridad de los adjetivos de un texto a partir de la ocurrencia conjunta con teacuterminos cuya polaridad es conocida y teniendo en cuenta la conjuncioacuten que los relaciona es decir considerando que si los adjetivos estaacuten conectados por el termino ldquoy tendraacuten la misma polaridad mientras que si aparecen conectados por el termino ldquopero tendraacuten polaridad opuesta

Un ejemplo Etiquetar un conjunto inicial de adjetivos semilla seguacuten su

polaridad Extender el conjunto anterior a partir de la ocurrencia conjunta

de los adjetivos conocidos con otros adjetivos y teniendo en cuenta la conjuncioacuten que los relaciona para determinar si tienen la misma polaridad u opuesta

Utilizar un clasificador supervisado para determinar el grado de similitud de polaridad de cada par de adjetivos generando como resultado un graacutefico que relacione los adjetivos del conjunto de datos

Clusterizar el graacutefico anterior en dos grandes grupos de polaridad similar (positivos y negativos)

Clasificacioacuten basada en Puntaje Para clasificar un texto de forma maacutes subjetiva se puede asignar a

cada documento un puntaje dentro de una escala dependiendo del grado de polaridad que expresa (por ejemplo asignar estrellas del 1 al 5)

La solucioacuten mas simple para esta tarea es clasificar el texto utilizando muacuteltiples categoriacuteas como clases Esta clasificacioacuten puede realizarse con los algoritmos como NB

Como SVM se utiliza para clasificacioacuten binaria se puede utilizar One-vs-All que se basa en crear un clasificador SVM para cada clase cuya salida nos permita saber si el documento pertenece o no a la clase en cuestioacuten

Otra solucion para resolver esta tarea consideraacutendola un problema de metric labeling En este tipo de problema la entrada es un conjunto de etiquetas (clases) y un grafo ponderado Se define una funcioacuten de distancia de las etiquetas y para cada etiqueta el costo de asignacioacuten a cada veacutertice siendo el objetivo encontrar el menor costo de asignar una etiqueta a un veacutertice Este enfoque combina los clasificadores SVM y k-nearest neighbors que es un meacutetodo no parametrito de clasificacioacuten basado en encontrar los elementos mas cercanos del conjunto de datos de entrenamiento en el espacio de features

Otro enfoque para la tarea de clasificacioacuten en muacuteltiples categoriacuteas consiste en utilizar un meacutetodo de regresioacuten considerando que las categoriacuteas corresponden a la discretizacioacuten de una funcioacuten continua

Clasificacioacuten de Muacuteltiples Aspectos Hasta ahora hemos presentado las tareas de anaacutelisis de

sentimientos a nivel de documento es decir asignando una clase a un documento completo a partir de las emociones que expresa Esta clasificacioacuten puede ser binaria (polaridad positiva o negativa) o basada en muacuteltiples categoriacuteas (utilizando puntajes o estrellas como clases) pero en ambos casos se claacutesica el documento completo

En esta seccioacuten presentaremos la clasificacioacuten aislada de los muacuteltiples objetivos aspectos o targets que generan opinioacuten dentro de un mismo documento Esta tarea es conocida como Multi-Aspect Sentiment Analysis

El objetivo de esta tarea consiste en la identificacioacuten de aspectos que generan opinioacuten dentro de un mismo documento seleccionando aquellas caracteriacutesticas que son frecuentemente mencionadas y las emociones asociadas Para identificar estas caracteriacutesticas o aspectos la solucioacuten mas simple consiste en utilizar un parser que nos permita obtener las frases nominales del documento teniendo en cuenta que la mayora de los aspectos son sustantivos

Clasificacioacuten de Muacuteltiples Aspectos

ldquoexcelente comida el ambiente es bastante ruidoso pero los precios accesibles

Clasificacioacuten de Muacuteltiples Aspectos A partir de la clasificacioacuten anterior podremos extraer los

sustantivos o frases nominales que nos permitiraacuten identificar teacuterminos candidatos a aspectos y los adjetivos para identificar las emociones asociadas Para obtener la polaridad de sentimientos utilizaremos los meacutetodos de clasificacioacuten estudiados en secciones anteriores

Luego a partir de la polaridad de la emocioacuten que genera cada aspecto debemos establecer un criterio que nos permita asignar pesos para obtener la polaridad general del documento La forma mas simple Serra basaacutendonos en la frecuencia de aparicioacuten de cada aspecto en el corpus de datos

Otro meacutetodo simple para la identificacioacuten de targets que generan opinioacuten consiste en definir aspectos ad-hoc para un determinado dominio por ejemplo

f(COMIDA SERVICIO AMBIENTE OTROS) y luego ejecutar la clasificacioacuten de todos los teacuterminos del

documento utilizando un meacutetodo supervisado y un conjunto de datos de entrenamiento clasificado manualmente que nos permita obtener aquellos teacuterminos que pertenecen a alguna de las clases de aspectos relevantes generadores de opinioacuten

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 14: Poggi   analytics - sentiment - 1

N-Gramas

Modelado del Lenguaje con N-Gramas En la mayora de las tareas de procesamiento de lenguaje

natural es necesario identificar las sentencias o secuencias de palabras que ocurren con mayor probabilidad dado un contexto

El objetivo de un modelo de lenguaje es calcular la probabilidad de ocurrencia de una sentencia que es originada por una secuencia de palabras que pasa a traveacutes de lo que se conoce como Noisy Channel

N-Gramas

El modelo que es utilizado por ejemplo en las siguientes tareas

Reconocimiento de discurso donde y es la sentildeal acuacutestica producida

Traduccioacuten automaacutetica de textos donde y es la sentencia en otro idioma

Correccioacuten automaacutetica de textos donde y es la secuencia de caracteres emitida por un escritor imperfecto

En los tres casos dada una secuencia de salida y se busca predecir la sentencia w que la originoacute

N-Gramas

Los algoritmos que asignan probabilidades a una sentencia pueden ser tambieacuten utilizados para calcular la probabilidad de la siguiente palabra dada una sentencia Esto resulta de gran utilidad en tareas de part-of-speech-tagging

N-Gramas

Los algoritmos que asignan probabilidades a una sentencia pueden ser tambieacuten utilizados para calcular la probabilidad de la siguiente palabra dada una sentencia Esto resulta de gran utilidad en tareas de part-of-speech-tagging

N-Gramas Modelo de Unigrama

El modelo de Unigrama es el caso trivial de la premisa de Markov es decir aproxima la probabilidad de una palabra con la probabilidad de ocurrencia de esa palabra en el corpus de datos y sin tener en cuenta las palabras que la preceden es decir considerando N = 0

P(ojos | lo esencial es invisible a los) = P(ojos) Modelo de Bigrama

El modelo de Bigrama utiliza la premisa de Markov para aproximar la probabilidad de una palabra con la probabilidad de ocurrencia de esa palabra dada la palabra anterior es decir considerando N = 1

P(ojos | lo esencial es invisible a los) = P(ojos | los) Modelo de Trigrama

El mismo modelo descripto para unigramas y bigramas puede utilizarse teniendo en cuenta las dos palabras anteriores es decir considerando N = 2

P(ojos | lo esencial es invisible a los) = P(ojos | a los) Modelo de N-grama

Generalizando los modelos anteriores la probabilidad de una palabra puede aproximarse como la probabilidad de una palabra dadas las N palabras anteriores

Maximum Likelihood Estimate (MLE)

Se denomina Maximum Likelihood Estimate a la estimacioacuten de probabilidades utilizando la frecuencia relativa de una secuencia de palabras en un corpus de entrenamiento

Donde C(w1wi) es la cantidad de ocurrencias de la sentencia en el corpus de entrenamiento N es el numero total de sentencias y C(w1wi10485761) es la cantidad de ocurrencias de la secuencia de palabras precedentes

Smoothing

Como Smoothing se conocen las teacutecnicas para ajustar el modelo de MLE para estimar probabilidades en forma mas apropiada Esta teacutecnica tiende a unificar la distribucioacuten ajustando las bajas o nulas probabilidades hacia arriba y las altas hacia abajo Las teacutecnicas de smoothing mas utilizadas

Laplace Smoothing El meacutetodo de Laplace tambieacuten conocido como Add-One Smoothing es la teacutecnica mas

simple y consiste en asumir que cada n-grama aparece una vez mas de las que realmente aparece Los distintos trabajos de anaacutelisis de teacutecnicas de Smoothing muestran que este es un meacutetodo pobre de ajuste de probabilidades No es utilizado en modelado de lenguaje porque existen teacutecnicas mejores pero s se utiliza en tareas de clasificacioacuten de textos o en dominios donde el numero de ceros no es muy grande

Linear Interpolation Esta teacutecnica combina modelos de mayor orden con modelos de menor orden por ejemplo

en modelos de trigrama se combina con modelos de bigrama y unigrama que son menos afectados por la falta de ocurrencias en el corpus de entrenamiento Las probabilidades estimadas en cada modelo se combinan linealmente ponderadas seguacuten su contribucioacuten y dando como resultado una nueva probabilidad estimada

Backoff Esta teacutecnica tambieacuten combina modelos de mayor orden con modelos de menor orden

utilizando el que corresponda seguacuten la evidencia que se tenga en el corpus de entrenamiento Esta teacutecnica es utilizada generalmente en modelos de N-Grama muy grandes como la Web

Good-Turing Estimate En la estimacioacuten de Good Turing por cada N-Grama que ocurre r veces se pondera el

numero de N-gramas que ocurren exactamente r veces en el corpus de entrenamiento Witten-Bell Smoothing

Esta teacutecnica se basa en el modelo de interpolacioacuten lineal Se utiliza un modelo de mayor orden si el n-grama wi i1048576N+1 esta presente en el corpus de entrenamiento y se utilizan modelos de menor orden en caso contrario

Google N-Grams Datasets

Cuando no se tiene un corpus de entrenamiento pueden utilizarse datasets disponibles en la web para calcular la probabilidad de ocurrencia de una sentencia dada

Existen herramientas como Google N-Grams Dataset (Google 2008) que proveen grandes colecciones de datos en distintos idiomas y permiten calcular estas probabilidades con muy buena precisioacuten

Ademaacutes Google provee una herramienta para visualizar graacuteficamente la probabilidad de ocurrencia de un conjunto de sentencias dado un idioma y un nuacutemero de smoothing y utilizando grandes cantidades de libros como corpus de datos

Ngram Viewer Consideremos la sentencia ldquoun viaje y supongamos que

queremos estimar la probabilidad de que esta secuencia de palabras este seguida de la palabra ldquoa es decir P(ajun viaje)

Se observa en un corpus de entrenamiento que esta sentencia aparece diez veces de las cuales seis estaacuten seguidas de la palabra ldquoa tres de la palabra ldquolargo y una de la palabra ldquodesde

La estimacioacuten basada en frecuencias relativas asignara las siguientes probabilidades de ocurrencia de la proacutexima palabra

P(a|un viaje) = 06 P(largo|un viaje) = 03 P(desde|un viaje) = 01

La estimacioacuten MLE asignara probabilidad cero a cualquier otro evento que no se encuentre en el corpus de entrenamiento y maximizara la probabilidad de los eventos observados

4En espa~nol es conocido comohttpsbooksgooglecomngrams

Deteccioacuten de features

Bag of Words Se consideran features todos los teacuterminos del corpus de entrenamiento descartando la posicioacuten Cuando se utiliza este feature puede considerarse frecuencia de aparicioacuten o no por lo que podemos hacer la siguiente distincioacuten

Presencia de Unigramas por cada documento se evaluacutea la presencia o ausencia de cada unigrama descartando la informacioacuten de frecuencia de aparicioacuten

Frecuencia de Unigramas por cada documento se evaluacutea la frecuencia con la que aparece cada unigrama

Presencia de Bigramas se consideran features todos los conjuntos de dos teacuterminos consecutivos del corpus de entrenamiento y por cada documento se evaluacutea la presencia o ausencia de cada bigrama

Presencia de Adjetivos se consideran features todos los adjetivos del corpus de entrenamiento y por cada documento se evaluacutea presencia o ausencia Este tipo de feature es utilizado en tareas de AS dado que los adjetivos aportan la informacioacuten mas relevante en cuanto a opiniones y sentimientos

Deteccioacuten de features

Cuando se tienen demasiados features puede ser necesario eliminar aquellos que aporten menos informacioacuten al clasificador con el objetivo de mejorar la performance y reducir el costo de entrenamiento Para esta tarea el meacutetodo mas utilizado consiste en seleccionar los top N features (generalmente en porcentaje) ordenados por frecuencia de aparicioacuten en el conjunto de datos de entrenamiento

En aplicaciones reales de anaacutelisis de sentimientos resulta fundamental utilizar features y pesos especiacuteficos de dominio para mejorar la performance de los clasificadores

Modelos Generativos vs Discriminativos

Los clasificadores generativos aprenden el modelo a partir de la forma en que se generan las observaciones esto es a partir de la probabilidad conjunta P(CD) (donde D es el documento y C la clase) y realizan la prediccioacuten maximizando la probabilidad condicional P(C|D) que es calculada utilizando el teorema de Bayes

Los clasificadores discriminativos modelan directamente la probabilidad condicional P(C|D) para realizar la prediccioacuten es decir a partir de la estructura oculta de los datos sin tener en cuenta la forma en que se generan

La desventaja de los modelos generativos es que resuelven un problema maacutes general como paso intermedio en cambio en los modelos discriminativos se resuelve el problema de clasificacioacuten directamente

Si tuvieacuteramos que clasificar el idioma de un texto dado el enfoque generativo se basaraacute en aprender el idioma a partir de las observaciones del corpus de entrenamiento para luego predecir en que idioma esta escrito el texto

La caracteriacutestica maacutes importante de los modelos discriminativos es que asignan pesos a los features de forma que el modelo corresponda con las observaciones Esto resuelve el problema de los modelos generativos donde los features son multiplicados aunque aporten la misma informacioacuten

Los modelos generativos mas importantes son los modelos de N-Gramas y NB y los modelos discriminativos mas relevantes son Logistic Regression Maximum Entropy Models SVM etc

NB

NB es un meacutetodo de clasificacioacuten supervisado y generativo que se basa en el teorema de Bayes y en la premisa de independencia de los atributos dada una clase

Las distintas implementaciones difieren principalmente en la aproximacioacuten de P(fk|Ci) y las teacutecnicas de smoothing utilizadas para el tratamiento de probabilidades bajas o nulas

Multinomial NB

En el caso de utilizar como features todos los teacuterminos del vocabulario del corpus de entrenamiento teniendo en cuenta su frecuencia de aparicioacuten add-one como teacutecnica de smoothing y MLE para estimar P(fk|Ci)

Multinomial NB - Ejemplo

Multinomial NB - Ejemplo

Binarized Multinomial NB

En el modelo Multinomial consideraacutebamos la frecuencia de aparicioacuten de cada feature para la estimacioacuten de P(fk|Ci) A diferencia de este meacutetodo NB puede ser implementado considerando exclusivamente presencia o ausencia de features es decir asociaacutendolos con un valor booleano cuando se evaluacutea un documento y descartando informacioacuten de frecuencia y posicioacuten

Binarized Multinomial NB - Ejemplo

Modelo de Maacutexima Entropiacutea

Es un meacutetodo de clasificacioacuten discriminativo y de aprendizaje supervisado donde los documentos del conjunto de datos son descriptos a partir de una lista de features siendo cada uno de estos features una restriccioacuten del modelo

Este meacutetodo se basa en seleccionar la distribucioacuten de probabilidad que satisfaga todas las restricciones del modelo y maximice la entropiacutea Esto apunta a preservar la incertidumbre tanto como sea posible

Polaridad de Turney Propone en su trabajo un meacutetodo no-supervisado

para la clasificacioacuten de textos seguacuten informacioacuten subjetiva que se basa en predecir la polaridad de un documento en base a su orientacioacuten semaacutentica

La orientacioacuten de un documento es calculada en base a la distancia a los teacuterminos del idioma ingles ldquoexcelent y ldquopoor que sugieren referencias positivas y negativas respectivamente

El algoritmo propuesto consiste en los siguientes 3 pasos

Extraer las frases del documento que contienen adjetivos o adverbios utilizando una herramienta de part-of-speech tagging

Estimar la orientacioacuten semaacutentica de cada frase extraiacuteda utilizando el algoritmo PMI-IR

Asignar las clases ldquorecomendado o ldquono recomendado al documento

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Polaridad de Turney

En el primer paso se extraen grupos de dos palabras cuyas etiquetas correspondan con los siguientes patrones

Siendo JJ Adjetivos NN Sustantivos en Singular NNS

Sustantivos en Plural RB Adverbios RBS Adverbios Superlativos RBR Adverbios Comparativos VB Verbos VBD Verbos en Pasado VBN Verbos en Pasado Participio VBG Verbos Gerundios o Pasado Participio

Algoritmo PMI-IR

Este algoritmo utiliza la teacutecnica de Pointwise Mutual Information (PMI) para obtener una medida de la asociacioacuten semaacutentica entre dos palabras seguacuten la ecuacioacuten que sigue

Siendo p(word1 amp word2) la probabilidad de que las palabras ocurran juntas

Luego la orientacioacuten semaacutentica se calcularaacute de la siguiente manera

Algoritmo PMI-IR El algoritmo PMI-IR estima el valor de PMI

realizando consultas a un motor de buacutesqueda a partir de la cantidad de resultados que devuelve la consulta y utilizando el operador NEAR que proveen algunos buscadores para estimar la ocurrencia conjunta de dos teacuterminos

Por ultimo la clasificacioacuten de un documento como ldquorecomendable o ldquono recomendable se realizaraacute a partir del caacutelculo de la orientacioacuten semaacutentica promedio de todas las frases extraiacutedas del documento

Algoritmo PMI-IR Consideraremos los teacuterminos ldquoexcelente como referencia

de polaridad positiva y los teacuterminos ldquomal malo mala como referencia negativa y estimaremos el operador NEAR a partir de la ocurrencia conjunta de palabras en la misma sentencia Consideremos las frases ldquobuena comida y ldquocomida friacutea para el caacutelculo de orientacioacuten semaacutentica

Clasificacioacuten basada en Leacutexico de Opinioacuten Existen otros meacutetodos de clasificacioacuten considerados no

supervisados o semi-supervisados que se basan en utilizar un conjunto de teacuterminos ldquosemillaldquo cuya polaridad es conocida y la clasificacioacuten consiste en calcular la similitud o distancia de los teacuterminos que componen el documento a estos teacuterminos conocidos

En este tipo de meacutetodos el leacutexico es utilizado como reemplazo de los features del modelo El ejemplo mas extremo de utilizacioacuten de leacutexico de opinioacuten es el algoritmo de Turney que utiliza la polaridad conocida de dos uacutenicos teacuterminos para clasificar un texto a partir de la distancia de los teacuterminos del documento a ellos

En un trabajo Sidorov (2012) se propone un leacutexico de opinioacuten de mas de 2000 palabras en idioma espantildeol que incluye la distancia de cada uno de estos teacuterminos a alguna de las siguientes emociones baacutesicas alegra ira miedo tristeza sorpresa y disgusto

En base a esta informacioacuten podraacute desarrollarse un algoritmo que infiera la polaridad de una sentencia a partir de calcular la distancia de los teacuterminos que la componen a las emociones baacutesicas asociadas a sentimientos positivos o negativos

Clasificacioacuten basada en Leacutexico de Opinioacuten

En este tipo de clasificadores puede ser necesario asociar la polaridad de los teacuterminos del leacutexico a dominios u objetivos especiacuteficos Por ejemplo

La palabra ldquobarato puede asociarse a sentimientos positivos cuando se refiere a comida y a sentimientos negativos cuando se refiere a vestimenta o decoracioacuten de ambientes

La palabra ldquoantildeejo tiene una connotacioacuten positiva cuando se refiere a vinos y altamente negativa si se refiere a comida

El termino ldquofriacuteo se asocia a emociones negativas si se habla de pizza y positivas si se habla de cervezas etc

Clasificacioacuten basada en Leacutexico de Opinioacuten Otro meacutetodo semi-supervisado basado en leacutexico de opinioacuten

consiste en identificar la polaridad de los adjetivos de un texto a partir de la ocurrencia conjunta con teacuterminos cuya polaridad es conocida y teniendo en cuenta la conjuncioacuten que los relaciona es decir considerando que si los adjetivos estaacuten conectados por el termino ldquoy tendraacuten la misma polaridad mientras que si aparecen conectados por el termino ldquopero tendraacuten polaridad opuesta

Un ejemplo Etiquetar un conjunto inicial de adjetivos semilla seguacuten su

polaridad Extender el conjunto anterior a partir de la ocurrencia conjunta

de los adjetivos conocidos con otros adjetivos y teniendo en cuenta la conjuncioacuten que los relaciona para determinar si tienen la misma polaridad u opuesta

Utilizar un clasificador supervisado para determinar el grado de similitud de polaridad de cada par de adjetivos generando como resultado un graacutefico que relacione los adjetivos del conjunto de datos

Clusterizar el graacutefico anterior en dos grandes grupos de polaridad similar (positivos y negativos)

Clasificacioacuten basada en Puntaje Para clasificar un texto de forma maacutes subjetiva se puede asignar a

cada documento un puntaje dentro de una escala dependiendo del grado de polaridad que expresa (por ejemplo asignar estrellas del 1 al 5)

La solucioacuten mas simple para esta tarea es clasificar el texto utilizando muacuteltiples categoriacuteas como clases Esta clasificacioacuten puede realizarse con los algoritmos como NB

Como SVM se utiliza para clasificacioacuten binaria se puede utilizar One-vs-All que se basa en crear un clasificador SVM para cada clase cuya salida nos permita saber si el documento pertenece o no a la clase en cuestioacuten

Otra solucion para resolver esta tarea consideraacutendola un problema de metric labeling En este tipo de problema la entrada es un conjunto de etiquetas (clases) y un grafo ponderado Se define una funcioacuten de distancia de las etiquetas y para cada etiqueta el costo de asignacioacuten a cada veacutertice siendo el objetivo encontrar el menor costo de asignar una etiqueta a un veacutertice Este enfoque combina los clasificadores SVM y k-nearest neighbors que es un meacutetodo no parametrito de clasificacioacuten basado en encontrar los elementos mas cercanos del conjunto de datos de entrenamiento en el espacio de features

Otro enfoque para la tarea de clasificacioacuten en muacuteltiples categoriacuteas consiste en utilizar un meacutetodo de regresioacuten considerando que las categoriacuteas corresponden a la discretizacioacuten de una funcioacuten continua

Clasificacioacuten de Muacuteltiples Aspectos Hasta ahora hemos presentado las tareas de anaacutelisis de

sentimientos a nivel de documento es decir asignando una clase a un documento completo a partir de las emociones que expresa Esta clasificacioacuten puede ser binaria (polaridad positiva o negativa) o basada en muacuteltiples categoriacuteas (utilizando puntajes o estrellas como clases) pero en ambos casos se claacutesica el documento completo

En esta seccioacuten presentaremos la clasificacioacuten aislada de los muacuteltiples objetivos aspectos o targets que generan opinioacuten dentro de un mismo documento Esta tarea es conocida como Multi-Aspect Sentiment Analysis

El objetivo de esta tarea consiste en la identificacioacuten de aspectos que generan opinioacuten dentro de un mismo documento seleccionando aquellas caracteriacutesticas que son frecuentemente mencionadas y las emociones asociadas Para identificar estas caracteriacutesticas o aspectos la solucioacuten mas simple consiste en utilizar un parser que nos permita obtener las frases nominales del documento teniendo en cuenta que la mayora de los aspectos son sustantivos

Clasificacioacuten de Muacuteltiples Aspectos

ldquoexcelente comida el ambiente es bastante ruidoso pero los precios accesibles

Clasificacioacuten de Muacuteltiples Aspectos A partir de la clasificacioacuten anterior podremos extraer los

sustantivos o frases nominales que nos permitiraacuten identificar teacuterminos candidatos a aspectos y los adjetivos para identificar las emociones asociadas Para obtener la polaridad de sentimientos utilizaremos los meacutetodos de clasificacioacuten estudiados en secciones anteriores

Luego a partir de la polaridad de la emocioacuten que genera cada aspecto debemos establecer un criterio que nos permita asignar pesos para obtener la polaridad general del documento La forma mas simple Serra basaacutendonos en la frecuencia de aparicioacuten de cada aspecto en el corpus de datos

Otro meacutetodo simple para la identificacioacuten de targets que generan opinioacuten consiste en definir aspectos ad-hoc para un determinado dominio por ejemplo

f(COMIDA SERVICIO AMBIENTE OTROS) y luego ejecutar la clasificacioacuten de todos los teacuterminos del

documento utilizando un meacutetodo supervisado y un conjunto de datos de entrenamiento clasificado manualmente que nos permita obtener aquellos teacuterminos que pertenecen a alguna de las clases de aspectos relevantes generadores de opinioacuten

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 15: Poggi   analytics - sentiment - 1

N-Gramas

El modelo que es utilizado por ejemplo en las siguientes tareas

Reconocimiento de discurso donde y es la sentildeal acuacutestica producida

Traduccioacuten automaacutetica de textos donde y es la sentencia en otro idioma

Correccioacuten automaacutetica de textos donde y es la secuencia de caracteres emitida por un escritor imperfecto

En los tres casos dada una secuencia de salida y se busca predecir la sentencia w que la originoacute

N-Gramas

Los algoritmos que asignan probabilidades a una sentencia pueden ser tambieacuten utilizados para calcular la probabilidad de la siguiente palabra dada una sentencia Esto resulta de gran utilidad en tareas de part-of-speech-tagging

N-Gramas

Los algoritmos que asignan probabilidades a una sentencia pueden ser tambieacuten utilizados para calcular la probabilidad de la siguiente palabra dada una sentencia Esto resulta de gran utilidad en tareas de part-of-speech-tagging

N-Gramas Modelo de Unigrama

El modelo de Unigrama es el caso trivial de la premisa de Markov es decir aproxima la probabilidad de una palabra con la probabilidad de ocurrencia de esa palabra en el corpus de datos y sin tener en cuenta las palabras que la preceden es decir considerando N = 0

P(ojos | lo esencial es invisible a los) = P(ojos) Modelo de Bigrama

El modelo de Bigrama utiliza la premisa de Markov para aproximar la probabilidad de una palabra con la probabilidad de ocurrencia de esa palabra dada la palabra anterior es decir considerando N = 1

P(ojos | lo esencial es invisible a los) = P(ojos | los) Modelo de Trigrama

El mismo modelo descripto para unigramas y bigramas puede utilizarse teniendo en cuenta las dos palabras anteriores es decir considerando N = 2

P(ojos | lo esencial es invisible a los) = P(ojos | a los) Modelo de N-grama

Generalizando los modelos anteriores la probabilidad de una palabra puede aproximarse como la probabilidad de una palabra dadas las N palabras anteriores

Maximum Likelihood Estimate (MLE)

Se denomina Maximum Likelihood Estimate a la estimacioacuten de probabilidades utilizando la frecuencia relativa de una secuencia de palabras en un corpus de entrenamiento

Donde C(w1wi) es la cantidad de ocurrencias de la sentencia en el corpus de entrenamiento N es el numero total de sentencias y C(w1wi10485761) es la cantidad de ocurrencias de la secuencia de palabras precedentes

Smoothing

Como Smoothing se conocen las teacutecnicas para ajustar el modelo de MLE para estimar probabilidades en forma mas apropiada Esta teacutecnica tiende a unificar la distribucioacuten ajustando las bajas o nulas probabilidades hacia arriba y las altas hacia abajo Las teacutecnicas de smoothing mas utilizadas

Laplace Smoothing El meacutetodo de Laplace tambieacuten conocido como Add-One Smoothing es la teacutecnica mas

simple y consiste en asumir que cada n-grama aparece una vez mas de las que realmente aparece Los distintos trabajos de anaacutelisis de teacutecnicas de Smoothing muestran que este es un meacutetodo pobre de ajuste de probabilidades No es utilizado en modelado de lenguaje porque existen teacutecnicas mejores pero s se utiliza en tareas de clasificacioacuten de textos o en dominios donde el numero de ceros no es muy grande

Linear Interpolation Esta teacutecnica combina modelos de mayor orden con modelos de menor orden por ejemplo

en modelos de trigrama se combina con modelos de bigrama y unigrama que son menos afectados por la falta de ocurrencias en el corpus de entrenamiento Las probabilidades estimadas en cada modelo se combinan linealmente ponderadas seguacuten su contribucioacuten y dando como resultado una nueva probabilidad estimada

Backoff Esta teacutecnica tambieacuten combina modelos de mayor orden con modelos de menor orden

utilizando el que corresponda seguacuten la evidencia que se tenga en el corpus de entrenamiento Esta teacutecnica es utilizada generalmente en modelos de N-Grama muy grandes como la Web

Good-Turing Estimate En la estimacioacuten de Good Turing por cada N-Grama que ocurre r veces se pondera el

numero de N-gramas que ocurren exactamente r veces en el corpus de entrenamiento Witten-Bell Smoothing

Esta teacutecnica se basa en el modelo de interpolacioacuten lineal Se utiliza un modelo de mayor orden si el n-grama wi i1048576N+1 esta presente en el corpus de entrenamiento y se utilizan modelos de menor orden en caso contrario

Google N-Grams Datasets

Cuando no se tiene un corpus de entrenamiento pueden utilizarse datasets disponibles en la web para calcular la probabilidad de ocurrencia de una sentencia dada

Existen herramientas como Google N-Grams Dataset (Google 2008) que proveen grandes colecciones de datos en distintos idiomas y permiten calcular estas probabilidades con muy buena precisioacuten

Ademaacutes Google provee una herramienta para visualizar graacuteficamente la probabilidad de ocurrencia de un conjunto de sentencias dado un idioma y un nuacutemero de smoothing y utilizando grandes cantidades de libros como corpus de datos

Ngram Viewer Consideremos la sentencia ldquoun viaje y supongamos que

queremos estimar la probabilidad de que esta secuencia de palabras este seguida de la palabra ldquoa es decir P(ajun viaje)

Se observa en un corpus de entrenamiento que esta sentencia aparece diez veces de las cuales seis estaacuten seguidas de la palabra ldquoa tres de la palabra ldquolargo y una de la palabra ldquodesde

La estimacioacuten basada en frecuencias relativas asignara las siguientes probabilidades de ocurrencia de la proacutexima palabra

P(a|un viaje) = 06 P(largo|un viaje) = 03 P(desde|un viaje) = 01

La estimacioacuten MLE asignara probabilidad cero a cualquier otro evento que no se encuentre en el corpus de entrenamiento y maximizara la probabilidad de los eventos observados

4En espa~nol es conocido comohttpsbooksgooglecomngrams

Deteccioacuten de features

Bag of Words Se consideran features todos los teacuterminos del corpus de entrenamiento descartando la posicioacuten Cuando se utiliza este feature puede considerarse frecuencia de aparicioacuten o no por lo que podemos hacer la siguiente distincioacuten

Presencia de Unigramas por cada documento se evaluacutea la presencia o ausencia de cada unigrama descartando la informacioacuten de frecuencia de aparicioacuten

Frecuencia de Unigramas por cada documento se evaluacutea la frecuencia con la que aparece cada unigrama

Presencia de Bigramas se consideran features todos los conjuntos de dos teacuterminos consecutivos del corpus de entrenamiento y por cada documento se evaluacutea la presencia o ausencia de cada bigrama

Presencia de Adjetivos se consideran features todos los adjetivos del corpus de entrenamiento y por cada documento se evaluacutea presencia o ausencia Este tipo de feature es utilizado en tareas de AS dado que los adjetivos aportan la informacioacuten mas relevante en cuanto a opiniones y sentimientos

Deteccioacuten de features

Cuando se tienen demasiados features puede ser necesario eliminar aquellos que aporten menos informacioacuten al clasificador con el objetivo de mejorar la performance y reducir el costo de entrenamiento Para esta tarea el meacutetodo mas utilizado consiste en seleccionar los top N features (generalmente en porcentaje) ordenados por frecuencia de aparicioacuten en el conjunto de datos de entrenamiento

En aplicaciones reales de anaacutelisis de sentimientos resulta fundamental utilizar features y pesos especiacuteficos de dominio para mejorar la performance de los clasificadores

Modelos Generativos vs Discriminativos

Los clasificadores generativos aprenden el modelo a partir de la forma en que se generan las observaciones esto es a partir de la probabilidad conjunta P(CD) (donde D es el documento y C la clase) y realizan la prediccioacuten maximizando la probabilidad condicional P(C|D) que es calculada utilizando el teorema de Bayes

Los clasificadores discriminativos modelan directamente la probabilidad condicional P(C|D) para realizar la prediccioacuten es decir a partir de la estructura oculta de los datos sin tener en cuenta la forma en que se generan

La desventaja de los modelos generativos es que resuelven un problema maacutes general como paso intermedio en cambio en los modelos discriminativos se resuelve el problema de clasificacioacuten directamente

Si tuvieacuteramos que clasificar el idioma de un texto dado el enfoque generativo se basaraacute en aprender el idioma a partir de las observaciones del corpus de entrenamiento para luego predecir en que idioma esta escrito el texto

La caracteriacutestica maacutes importante de los modelos discriminativos es que asignan pesos a los features de forma que el modelo corresponda con las observaciones Esto resuelve el problema de los modelos generativos donde los features son multiplicados aunque aporten la misma informacioacuten

Los modelos generativos mas importantes son los modelos de N-Gramas y NB y los modelos discriminativos mas relevantes son Logistic Regression Maximum Entropy Models SVM etc

NB

NB es un meacutetodo de clasificacioacuten supervisado y generativo que se basa en el teorema de Bayes y en la premisa de independencia de los atributos dada una clase

Las distintas implementaciones difieren principalmente en la aproximacioacuten de P(fk|Ci) y las teacutecnicas de smoothing utilizadas para el tratamiento de probabilidades bajas o nulas

Multinomial NB

En el caso de utilizar como features todos los teacuterminos del vocabulario del corpus de entrenamiento teniendo en cuenta su frecuencia de aparicioacuten add-one como teacutecnica de smoothing y MLE para estimar P(fk|Ci)

Multinomial NB - Ejemplo

Multinomial NB - Ejemplo

Binarized Multinomial NB

En el modelo Multinomial consideraacutebamos la frecuencia de aparicioacuten de cada feature para la estimacioacuten de P(fk|Ci) A diferencia de este meacutetodo NB puede ser implementado considerando exclusivamente presencia o ausencia de features es decir asociaacutendolos con un valor booleano cuando se evaluacutea un documento y descartando informacioacuten de frecuencia y posicioacuten

Binarized Multinomial NB - Ejemplo

Modelo de Maacutexima Entropiacutea

Es un meacutetodo de clasificacioacuten discriminativo y de aprendizaje supervisado donde los documentos del conjunto de datos son descriptos a partir de una lista de features siendo cada uno de estos features una restriccioacuten del modelo

Este meacutetodo se basa en seleccionar la distribucioacuten de probabilidad que satisfaga todas las restricciones del modelo y maximice la entropiacutea Esto apunta a preservar la incertidumbre tanto como sea posible

Polaridad de Turney Propone en su trabajo un meacutetodo no-supervisado

para la clasificacioacuten de textos seguacuten informacioacuten subjetiva que se basa en predecir la polaridad de un documento en base a su orientacioacuten semaacutentica

La orientacioacuten de un documento es calculada en base a la distancia a los teacuterminos del idioma ingles ldquoexcelent y ldquopoor que sugieren referencias positivas y negativas respectivamente

El algoritmo propuesto consiste en los siguientes 3 pasos

Extraer las frases del documento que contienen adjetivos o adverbios utilizando una herramienta de part-of-speech tagging

Estimar la orientacioacuten semaacutentica de cada frase extraiacuteda utilizando el algoritmo PMI-IR

Asignar las clases ldquorecomendado o ldquono recomendado al documento

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Polaridad de Turney

En el primer paso se extraen grupos de dos palabras cuyas etiquetas correspondan con los siguientes patrones

Siendo JJ Adjetivos NN Sustantivos en Singular NNS

Sustantivos en Plural RB Adverbios RBS Adverbios Superlativos RBR Adverbios Comparativos VB Verbos VBD Verbos en Pasado VBN Verbos en Pasado Participio VBG Verbos Gerundios o Pasado Participio

Algoritmo PMI-IR

Este algoritmo utiliza la teacutecnica de Pointwise Mutual Information (PMI) para obtener una medida de la asociacioacuten semaacutentica entre dos palabras seguacuten la ecuacioacuten que sigue

Siendo p(word1 amp word2) la probabilidad de que las palabras ocurran juntas

Luego la orientacioacuten semaacutentica se calcularaacute de la siguiente manera

Algoritmo PMI-IR El algoritmo PMI-IR estima el valor de PMI

realizando consultas a un motor de buacutesqueda a partir de la cantidad de resultados que devuelve la consulta y utilizando el operador NEAR que proveen algunos buscadores para estimar la ocurrencia conjunta de dos teacuterminos

Por ultimo la clasificacioacuten de un documento como ldquorecomendable o ldquono recomendable se realizaraacute a partir del caacutelculo de la orientacioacuten semaacutentica promedio de todas las frases extraiacutedas del documento

Algoritmo PMI-IR Consideraremos los teacuterminos ldquoexcelente como referencia

de polaridad positiva y los teacuterminos ldquomal malo mala como referencia negativa y estimaremos el operador NEAR a partir de la ocurrencia conjunta de palabras en la misma sentencia Consideremos las frases ldquobuena comida y ldquocomida friacutea para el caacutelculo de orientacioacuten semaacutentica

Clasificacioacuten basada en Leacutexico de Opinioacuten Existen otros meacutetodos de clasificacioacuten considerados no

supervisados o semi-supervisados que se basan en utilizar un conjunto de teacuterminos ldquosemillaldquo cuya polaridad es conocida y la clasificacioacuten consiste en calcular la similitud o distancia de los teacuterminos que componen el documento a estos teacuterminos conocidos

En este tipo de meacutetodos el leacutexico es utilizado como reemplazo de los features del modelo El ejemplo mas extremo de utilizacioacuten de leacutexico de opinioacuten es el algoritmo de Turney que utiliza la polaridad conocida de dos uacutenicos teacuterminos para clasificar un texto a partir de la distancia de los teacuterminos del documento a ellos

En un trabajo Sidorov (2012) se propone un leacutexico de opinioacuten de mas de 2000 palabras en idioma espantildeol que incluye la distancia de cada uno de estos teacuterminos a alguna de las siguientes emociones baacutesicas alegra ira miedo tristeza sorpresa y disgusto

En base a esta informacioacuten podraacute desarrollarse un algoritmo que infiera la polaridad de una sentencia a partir de calcular la distancia de los teacuterminos que la componen a las emociones baacutesicas asociadas a sentimientos positivos o negativos

Clasificacioacuten basada en Leacutexico de Opinioacuten

En este tipo de clasificadores puede ser necesario asociar la polaridad de los teacuterminos del leacutexico a dominios u objetivos especiacuteficos Por ejemplo

La palabra ldquobarato puede asociarse a sentimientos positivos cuando se refiere a comida y a sentimientos negativos cuando se refiere a vestimenta o decoracioacuten de ambientes

La palabra ldquoantildeejo tiene una connotacioacuten positiva cuando se refiere a vinos y altamente negativa si se refiere a comida

El termino ldquofriacuteo se asocia a emociones negativas si se habla de pizza y positivas si se habla de cervezas etc

Clasificacioacuten basada en Leacutexico de Opinioacuten Otro meacutetodo semi-supervisado basado en leacutexico de opinioacuten

consiste en identificar la polaridad de los adjetivos de un texto a partir de la ocurrencia conjunta con teacuterminos cuya polaridad es conocida y teniendo en cuenta la conjuncioacuten que los relaciona es decir considerando que si los adjetivos estaacuten conectados por el termino ldquoy tendraacuten la misma polaridad mientras que si aparecen conectados por el termino ldquopero tendraacuten polaridad opuesta

Un ejemplo Etiquetar un conjunto inicial de adjetivos semilla seguacuten su

polaridad Extender el conjunto anterior a partir de la ocurrencia conjunta

de los adjetivos conocidos con otros adjetivos y teniendo en cuenta la conjuncioacuten que los relaciona para determinar si tienen la misma polaridad u opuesta

Utilizar un clasificador supervisado para determinar el grado de similitud de polaridad de cada par de adjetivos generando como resultado un graacutefico que relacione los adjetivos del conjunto de datos

Clusterizar el graacutefico anterior en dos grandes grupos de polaridad similar (positivos y negativos)

Clasificacioacuten basada en Puntaje Para clasificar un texto de forma maacutes subjetiva se puede asignar a

cada documento un puntaje dentro de una escala dependiendo del grado de polaridad que expresa (por ejemplo asignar estrellas del 1 al 5)

La solucioacuten mas simple para esta tarea es clasificar el texto utilizando muacuteltiples categoriacuteas como clases Esta clasificacioacuten puede realizarse con los algoritmos como NB

Como SVM se utiliza para clasificacioacuten binaria se puede utilizar One-vs-All que se basa en crear un clasificador SVM para cada clase cuya salida nos permita saber si el documento pertenece o no a la clase en cuestioacuten

Otra solucion para resolver esta tarea consideraacutendola un problema de metric labeling En este tipo de problema la entrada es un conjunto de etiquetas (clases) y un grafo ponderado Se define una funcioacuten de distancia de las etiquetas y para cada etiqueta el costo de asignacioacuten a cada veacutertice siendo el objetivo encontrar el menor costo de asignar una etiqueta a un veacutertice Este enfoque combina los clasificadores SVM y k-nearest neighbors que es un meacutetodo no parametrito de clasificacioacuten basado en encontrar los elementos mas cercanos del conjunto de datos de entrenamiento en el espacio de features

Otro enfoque para la tarea de clasificacioacuten en muacuteltiples categoriacuteas consiste en utilizar un meacutetodo de regresioacuten considerando que las categoriacuteas corresponden a la discretizacioacuten de una funcioacuten continua

Clasificacioacuten de Muacuteltiples Aspectos Hasta ahora hemos presentado las tareas de anaacutelisis de

sentimientos a nivel de documento es decir asignando una clase a un documento completo a partir de las emociones que expresa Esta clasificacioacuten puede ser binaria (polaridad positiva o negativa) o basada en muacuteltiples categoriacuteas (utilizando puntajes o estrellas como clases) pero en ambos casos se claacutesica el documento completo

En esta seccioacuten presentaremos la clasificacioacuten aislada de los muacuteltiples objetivos aspectos o targets que generan opinioacuten dentro de un mismo documento Esta tarea es conocida como Multi-Aspect Sentiment Analysis

El objetivo de esta tarea consiste en la identificacioacuten de aspectos que generan opinioacuten dentro de un mismo documento seleccionando aquellas caracteriacutesticas que son frecuentemente mencionadas y las emociones asociadas Para identificar estas caracteriacutesticas o aspectos la solucioacuten mas simple consiste en utilizar un parser que nos permita obtener las frases nominales del documento teniendo en cuenta que la mayora de los aspectos son sustantivos

Clasificacioacuten de Muacuteltiples Aspectos

ldquoexcelente comida el ambiente es bastante ruidoso pero los precios accesibles

Clasificacioacuten de Muacuteltiples Aspectos A partir de la clasificacioacuten anterior podremos extraer los

sustantivos o frases nominales que nos permitiraacuten identificar teacuterminos candidatos a aspectos y los adjetivos para identificar las emociones asociadas Para obtener la polaridad de sentimientos utilizaremos los meacutetodos de clasificacioacuten estudiados en secciones anteriores

Luego a partir de la polaridad de la emocioacuten que genera cada aspecto debemos establecer un criterio que nos permita asignar pesos para obtener la polaridad general del documento La forma mas simple Serra basaacutendonos en la frecuencia de aparicioacuten de cada aspecto en el corpus de datos

Otro meacutetodo simple para la identificacioacuten de targets que generan opinioacuten consiste en definir aspectos ad-hoc para un determinado dominio por ejemplo

f(COMIDA SERVICIO AMBIENTE OTROS) y luego ejecutar la clasificacioacuten de todos los teacuterminos del

documento utilizando un meacutetodo supervisado y un conjunto de datos de entrenamiento clasificado manualmente que nos permita obtener aquellos teacuterminos que pertenecen a alguna de las clases de aspectos relevantes generadores de opinioacuten

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 16: Poggi   analytics - sentiment - 1

N-Gramas

Los algoritmos que asignan probabilidades a una sentencia pueden ser tambieacuten utilizados para calcular la probabilidad de la siguiente palabra dada una sentencia Esto resulta de gran utilidad en tareas de part-of-speech-tagging

N-Gramas

Los algoritmos que asignan probabilidades a una sentencia pueden ser tambieacuten utilizados para calcular la probabilidad de la siguiente palabra dada una sentencia Esto resulta de gran utilidad en tareas de part-of-speech-tagging

N-Gramas Modelo de Unigrama

El modelo de Unigrama es el caso trivial de la premisa de Markov es decir aproxima la probabilidad de una palabra con la probabilidad de ocurrencia de esa palabra en el corpus de datos y sin tener en cuenta las palabras que la preceden es decir considerando N = 0

P(ojos | lo esencial es invisible a los) = P(ojos) Modelo de Bigrama

El modelo de Bigrama utiliza la premisa de Markov para aproximar la probabilidad de una palabra con la probabilidad de ocurrencia de esa palabra dada la palabra anterior es decir considerando N = 1

P(ojos | lo esencial es invisible a los) = P(ojos | los) Modelo de Trigrama

El mismo modelo descripto para unigramas y bigramas puede utilizarse teniendo en cuenta las dos palabras anteriores es decir considerando N = 2

P(ojos | lo esencial es invisible a los) = P(ojos | a los) Modelo de N-grama

Generalizando los modelos anteriores la probabilidad de una palabra puede aproximarse como la probabilidad de una palabra dadas las N palabras anteriores

Maximum Likelihood Estimate (MLE)

Se denomina Maximum Likelihood Estimate a la estimacioacuten de probabilidades utilizando la frecuencia relativa de una secuencia de palabras en un corpus de entrenamiento

Donde C(w1wi) es la cantidad de ocurrencias de la sentencia en el corpus de entrenamiento N es el numero total de sentencias y C(w1wi10485761) es la cantidad de ocurrencias de la secuencia de palabras precedentes

Smoothing

Como Smoothing se conocen las teacutecnicas para ajustar el modelo de MLE para estimar probabilidades en forma mas apropiada Esta teacutecnica tiende a unificar la distribucioacuten ajustando las bajas o nulas probabilidades hacia arriba y las altas hacia abajo Las teacutecnicas de smoothing mas utilizadas

Laplace Smoothing El meacutetodo de Laplace tambieacuten conocido como Add-One Smoothing es la teacutecnica mas

simple y consiste en asumir que cada n-grama aparece una vez mas de las que realmente aparece Los distintos trabajos de anaacutelisis de teacutecnicas de Smoothing muestran que este es un meacutetodo pobre de ajuste de probabilidades No es utilizado en modelado de lenguaje porque existen teacutecnicas mejores pero s se utiliza en tareas de clasificacioacuten de textos o en dominios donde el numero de ceros no es muy grande

Linear Interpolation Esta teacutecnica combina modelos de mayor orden con modelos de menor orden por ejemplo

en modelos de trigrama se combina con modelos de bigrama y unigrama que son menos afectados por la falta de ocurrencias en el corpus de entrenamiento Las probabilidades estimadas en cada modelo se combinan linealmente ponderadas seguacuten su contribucioacuten y dando como resultado una nueva probabilidad estimada

Backoff Esta teacutecnica tambieacuten combina modelos de mayor orden con modelos de menor orden

utilizando el que corresponda seguacuten la evidencia que se tenga en el corpus de entrenamiento Esta teacutecnica es utilizada generalmente en modelos de N-Grama muy grandes como la Web

Good-Turing Estimate En la estimacioacuten de Good Turing por cada N-Grama que ocurre r veces se pondera el

numero de N-gramas que ocurren exactamente r veces en el corpus de entrenamiento Witten-Bell Smoothing

Esta teacutecnica se basa en el modelo de interpolacioacuten lineal Se utiliza un modelo de mayor orden si el n-grama wi i1048576N+1 esta presente en el corpus de entrenamiento y se utilizan modelos de menor orden en caso contrario

Google N-Grams Datasets

Cuando no se tiene un corpus de entrenamiento pueden utilizarse datasets disponibles en la web para calcular la probabilidad de ocurrencia de una sentencia dada

Existen herramientas como Google N-Grams Dataset (Google 2008) que proveen grandes colecciones de datos en distintos idiomas y permiten calcular estas probabilidades con muy buena precisioacuten

Ademaacutes Google provee una herramienta para visualizar graacuteficamente la probabilidad de ocurrencia de un conjunto de sentencias dado un idioma y un nuacutemero de smoothing y utilizando grandes cantidades de libros como corpus de datos

Ngram Viewer Consideremos la sentencia ldquoun viaje y supongamos que

queremos estimar la probabilidad de que esta secuencia de palabras este seguida de la palabra ldquoa es decir P(ajun viaje)

Se observa en un corpus de entrenamiento que esta sentencia aparece diez veces de las cuales seis estaacuten seguidas de la palabra ldquoa tres de la palabra ldquolargo y una de la palabra ldquodesde

La estimacioacuten basada en frecuencias relativas asignara las siguientes probabilidades de ocurrencia de la proacutexima palabra

P(a|un viaje) = 06 P(largo|un viaje) = 03 P(desde|un viaje) = 01

La estimacioacuten MLE asignara probabilidad cero a cualquier otro evento que no se encuentre en el corpus de entrenamiento y maximizara la probabilidad de los eventos observados

4En espa~nol es conocido comohttpsbooksgooglecomngrams

Deteccioacuten de features

Bag of Words Se consideran features todos los teacuterminos del corpus de entrenamiento descartando la posicioacuten Cuando se utiliza este feature puede considerarse frecuencia de aparicioacuten o no por lo que podemos hacer la siguiente distincioacuten

Presencia de Unigramas por cada documento se evaluacutea la presencia o ausencia de cada unigrama descartando la informacioacuten de frecuencia de aparicioacuten

Frecuencia de Unigramas por cada documento se evaluacutea la frecuencia con la que aparece cada unigrama

Presencia de Bigramas se consideran features todos los conjuntos de dos teacuterminos consecutivos del corpus de entrenamiento y por cada documento se evaluacutea la presencia o ausencia de cada bigrama

Presencia de Adjetivos se consideran features todos los adjetivos del corpus de entrenamiento y por cada documento se evaluacutea presencia o ausencia Este tipo de feature es utilizado en tareas de AS dado que los adjetivos aportan la informacioacuten mas relevante en cuanto a opiniones y sentimientos

Deteccioacuten de features

Cuando se tienen demasiados features puede ser necesario eliminar aquellos que aporten menos informacioacuten al clasificador con el objetivo de mejorar la performance y reducir el costo de entrenamiento Para esta tarea el meacutetodo mas utilizado consiste en seleccionar los top N features (generalmente en porcentaje) ordenados por frecuencia de aparicioacuten en el conjunto de datos de entrenamiento

En aplicaciones reales de anaacutelisis de sentimientos resulta fundamental utilizar features y pesos especiacuteficos de dominio para mejorar la performance de los clasificadores

Modelos Generativos vs Discriminativos

Los clasificadores generativos aprenden el modelo a partir de la forma en que se generan las observaciones esto es a partir de la probabilidad conjunta P(CD) (donde D es el documento y C la clase) y realizan la prediccioacuten maximizando la probabilidad condicional P(C|D) que es calculada utilizando el teorema de Bayes

Los clasificadores discriminativos modelan directamente la probabilidad condicional P(C|D) para realizar la prediccioacuten es decir a partir de la estructura oculta de los datos sin tener en cuenta la forma en que se generan

La desventaja de los modelos generativos es que resuelven un problema maacutes general como paso intermedio en cambio en los modelos discriminativos se resuelve el problema de clasificacioacuten directamente

Si tuvieacuteramos que clasificar el idioma de un texto dado el enfoque generativo se basaraacute en aprender el idioma a partir de las observaciones del corpus de entrenamiento para luego predecir en que idioma esta escrito el texto

La caracteriacutestica maacutes importante de los modelos discriminativos es que asignan pesos a los features de forma que el modelo corresponda con las observaciones Esto resuelve el problema de los modelos generativos donde los features son multiplicados aunque aporten la misma informacioacuten

Los modelos generativos mas importantes son los modelos de N-Gramas y NB y los modelos discriminativos mas relevantes son Logistic Regression Maximum Entropy Models SVM etc

NB

NB es un meacutetodo de clasificacioacuten supervisado y generativo que se basa en el teorema de Bayes y en la premisa de independencia de los atributos dada una clase

Las distintas implementaciones difieren principalmente en la aproximacioacuten de P(fk|Ci) y las teacutecnicas de smoothing utilizadas para el tratamiento de probabilidades bajas o nulas

Multinomial NB

En el caso de utilizar como features todos los teacuterminos del vocabulario del corpus de entrenamiento teniendo en cuenta su frecuencia de aparicioacuten add-one como teacutecnica de smoothing y MLE para estimar P(fk|Ci)

Multinomial NB - Ejemplo

Multinomial NB - Ejemplo

Binarized Multinomial NB

En el modelo Multinomial consideraacutebamos la frecuencia de aparicioacuten de cada feature para la estimacioacuten de P(fk|Ci) A diferencia de este meacutetodo NB puede ser implementado considerando exclusivamente presencia o ausencia de features es decir asociaacutendolos con un valor booleano cuando se evaluacutea un documento y descartando informacioacuten de frecuencia y posicioacuten

Binarized Multinomial NB - Ejemplo

Modelo de Maacutexima Entropiacutea

Es un meacutetodo de clasificacioacuten discriminativo y de aprendizaje supervisado donde los documentos del conjunto de datos son descriptos a partir de una lista de features siendo cada uno de estos features una restriccioacuten del modelo

Este meacutetodo se basa en seleccionar la distribucioacuten de probabilidad que satisfaga todas las restricciones del modelo y maximice la entropiacutea Esto apunta a preservar la incertidumbre tanto como sea posible

Polaridad de Turney Propone en su trabajo un meacutetodo no-supervisado

para la clasificacioacuten de textos seguacuten informacioacuten subjetiva que se basa en predecir la polaridad de un documento en base a su orientacioacuten semaacutentica

La orientacioacuten de un documento es calculada en base a la distancia a los teacuterminos del idioma ingles ldquoexcelent y ldquopoor que sugieren referencias positivas y negativas respectivamente

El algoritmo propuesto consiste en los siguientes 3 pasos

Extraer las frases del documento que contienen adjetivos o adverbios utilizando una herramienta de part-of-speech tagging

Estimar la orientacioacuten semaacutentica de cada frase extraiacuteda utilizando el algoritmo PMI-IR

Asignar las clases ldquorecomendado o ldquono recomendado al documento

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Polaridad de Turney

En el primer paso se extraen grupos de dos palabras cuyas etiquetas correspondan con los siguientes patrones

Siendo JJ Adjetivos NN Sustantivos en Singular NNS

Sustantivos en Plural RB Adverbios RBS Adverbios Superlativos RBR Adverbios Comparativos VB Verbos VBD Verbos en Pasado VBN Verbos en Pasado Participio VBG Verbos Gerundios o Pasado Participio

Algoritmo PMI-IR

Este algoritmo utiliza la teacutecnica de Pointwise Mutual Information (PMI) para obtener una medida de la asociacioacuten semaacutentica entre dos palabras seguacuten la ecuacioacuten que sigue

Siendo p(word1 amp word2) la probabilidad de que las palabras ocurran juntas

Luego la orientacioacuten semaacutentica se calcularaacute de la siguiente manera

Algoritmo PMI-IR El algoritmo PMI-IR estima el valor de PMI

realizando consultas a un motor de buacutesqueda a partir de la cantidad de resultados que devuelve la consulta y utilizando el operador NEAR que proveen algunos buscadores para estimar la ocurrencia conjunta de dos teacuterminos

Por ultimo la clasificacioacuten de un documento como ldquorecomendable o ldquono recomendable se realizaraacute a partir del caacutelculo de la orientacioacuten semaacutentica promedio de todas las frases extraiacutedas del documento

Algoritmo PMI-IR Consideraremos los teacuterminos ldquoexcelente como referencia

de polaridad positiva y los teacuterminos ldquomal malo mala como referencia negativa y estimaremos el operador NEAR a partir de la ocurrencia conjunta de palabras en la misma sentencia Consideremos las frases ldquobuena comida y ldquocomida friacutea para el caacutelculo de orientacioacuten semaacutentica

Clasificacioacuten basada en Leacutexico de Opinioacuten Existen otros meacutetodos de clasificacioacuten considerados no

supervisados o semi-supervisados que se basan en utilizar un conjunto de teacuterminos ldquosemillaldquo cuya polaridad es conocida y la clasificacioacuten consiste en calcular la similitud o distancia de los teacuterminos que componen el documento a estos teacuterminos conocidos

En este tipo de meacutetodos el leacutexico es utilizado como reemplazo de los features del modelo El ejemplo mas extremo de utilizacioacuten de leacutexico de opinioacuten es el algoritmo de Turney que utiliza la polaridad conocida de dos uacutenicos teacuterminos para clasificar un texto a partir de la distancia de los teacuterminos del documento a ellos

En un trabajo Sidorov (2012) se propone un leacutexico de opinioacuten de mas de 2000 palabras en idioma espantildeol que incluye la distancia de cada uno de estos teacuterminos a alguna de las siguientes emociones baacutesicas alegra ira miedo tristeza sorpresa y disgusto

En base a esta informacioacuten podraacute desarrollarse un algoritmo que infiera la polaridad de una sentencia a partir de calcular la distancia de los teacuterminos que la componen a las emociones baacutesicas asociadas a sentimientos positivos o negativos

Clasificacioacuten basada en Leacutexico de Opinioacuten

En este tipo de clasificadores puede ser necesario asociar la polaridad de los teacuterminos del leacutexico a dominios u objetivos especiacuteficos Por ejemplo

La palabra ldquobarato puede asociarse a sentimientos positivos cuando se refiere a comida y a sentimientos negativos cuando se refiere a vestimenta o decoracioacuten de ambientes

La palabra ldquoantildeejo tiene una connotacioacuten positiva cuando se refiere a vinos y altamente negativa si se refiere a comida

El termino ldquofriacuteo se asocia a emociones negativas si se habla de pizza y positivas si se habla de cervezas etc

Clasificacioacuten basada en Leacutexico de Opinioacuten Otro meacutetodo semi-supervisado basado en leacutexico de opinioacuten

consiste en identificar la polaridad de los adjetivos de un texto a partir de la ocurrencia conjunta con teacuterminos cuya polaridad es conocida y teniendo en cuenta la conjuncioacuten que los relaciona es decir considerando que si los adjetivos estaacuten conectados por el termino ldquoy tendraacuten la misma polaridad mientras que si aparecen conectados por el termino ldquopero tendraacuten polaridad opuesta

Un ejemplo Etiquetar un conjunto inicial de adjetivos semilla seguacuten su

polaridad Extender el conjunto anterior a partir de la ocurrencia conjunta

de los adjetivos conocidos con otros adjetivos y teniendo en cuenta la conjuncioacuten que los relaciona para determinar si tienen la misma polaridad u opuesta

Utilizar un clasificador supervisado para determinar el grado de similitud de polaridad de cada par de adjetivos generando como resultado un graacutefico que relacione los adjetivos del conjunto de datos

Clusterizar el graacutefico anterior en dos grandes grupos de polaridad similar (positivos y negativos)

Clasificacioacuten basada en Puntaje Para clasificar un texto de forma maacutes subjetiva se puede asignar a

cada documento un puntaje dentro de una escala dependiendo del grado de polaridad que expresa (por ejemplo asignar estrellas del 1 al 5)

La solucioacuten mas simple para esta tarea es clasificar el texto utilizando muacuteltiples categoriacuteas como clases Esta clasificacioacuten puede realizarse con los algoritmos como NB

Como SVM se utiliza para clasificacioacuten binaria se puede utilizar One-vs-All que se basa en crear un clasificador SVM para cada clase cuya salida nos permita saber si el documento pertenece o no a la clase en cuestioacuten

Otra solucion para resolver esta tarea consideraacutendola un problema de metric labeling En este tipo de problema la entrada es un conjunto de etiquetas (clases) y un grafo ponderado Se define una funcioacuten de distancia de las etiquetas y para cada etiqueta el costo de asignacioacuten a cada veacutertice siendo el objetivo encontrar el menor costo de asignar una etiqueta a un veacutertice Este enfoque combina los clasificadores SVM y k-nearest neighbors que es un meacutetodo no parametrito de clasificacioacuten basado en encontrar los elementos mas cercanos del conjunto de datos de entrenamiento en el espacio de features

Otro enfoque para la tarea de clasificacioacuten en muacuteltiples categoriacuteas consiste en utilizar un meacutetodo de regresioacuten considerando que las categoriacuteas corresponden a la discretizacioacuten de una funcioacuten continua

Clasificacioacuten de Muacuteltiples Aspectos Hasta ahora hemos presentado las tareas de anaacutelisis de

sentimientos a nivel de documento es decir asignando una clase a un documento completo a partir de las emociones que expresa Esta clasificacioacuten puede ser binaria (polaridad positiva o negativa) o basada en muacuteltiples categoriacuteas (utilizando puntajes o estrellas como clases) pero en ambos casos se claacutesica el documento completo

En esta seccioacuten presentaremos la clasificacioacuten aislada de los muacuteltiples objetivos aspectos o targets que generan opinioacuten dentro de un mismo documento Esta tarea es conocida como Multi-Aspect Sentiment Analysis

El objetivo de esta tarea consiste en la identificacioacuten de aspectos que generan opinioacuten dentro de un mismo documento seleccionando aquellas caracteriacutesticas que son frecuentemente mencionadas y las emociones asociadas Para identificar estas caracteriacutesticas o aspectos la solucioacuten mas simple consiste en utilizar un parser que nos permita obtener las frases nominales del documento teniendo en cuenta que la mayora de los aspectos son sustantivos

Clasificacioacuten de Muacuteltiples Aspectos

ldquoexcelente comida el ambiente es bastante ruidoso pero los precios accesibles

Clasificacioacuten de Muacuteltiples Aspectos A partir de la clasificacioacuten anterior podremos extraer los

sustantivos o frases nominales que nos permitiraacuten identificar teacuterminos candidatos a aspectos y los adjetivos para identificar las emociones asociadas Para obtener la polaridad de sentimientos utilizaremos los meacutetodos de clasificacioacuten estudiados en secciones anteriores

Luego a partir de la polaridad de la emocioacuten que genera cada aspecto debemos establecer un criterio que nos permita asignar pesos para obtener la polaridad general del documento La forma mas simple Serra basaacutendonos en la frecuencia de aparicioacuten de cada aspecto en el corpus de datos

Otro meacutetodo simple para la identificacioacuten de targets que generan opinioacuten consiste en definir aspectos ad-hoc para un determinado dominio por ejemplo

f(COMIDA SERVICIO AMBIENTE OTROS) y luego ejecutar la clasificacioacuten de todos los teacuterminos del

documento utilizando un meacutetodo supervisado y un conjunto de datos de entrenamiento clasificado manualmente que nos permita obtener aquellos teacuterminos que pertenecen a alguna de las clases de aspectos relevantes generadores de opinioacuten

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 17: Poggi   analytics - sentiment - 1

N-Gramas

Los algoritmos que asignan probabilidades a una sentencia pueden ser tambieacuten utilizados para calcular la probabilidad de la siguiente palabra dada una sentencia Esto resulta de gran utilidad en tareas de part-of-speech-tagging

N-Gramas Modelo de Unigrama

El modelo de Unigrama es el caso trivial de la premisa de Markov es decir aproxima la probabilidad de una palabra con la probabilidad de ocurrencia de esa palabra en el corpus de datos y sin tener en cuenta las palabras que la preceden es decir considerando N = 0

P(ojos | lo esencial es invisible a los) = P(ojos) Modelo de Bigrama

El modelo de Bigrama utiliza la premisa de Markov para aproximar la probabilidad de una palabra con la probabilidad de ocurrencia de esa palabra dada la palabra anterior es decir considerando N = 1

P(ojos | lo esencial es invisible a los) = P(ojos | los) Modelo de Trigrama

El mismo modelo descripto para unigramas y bigramas puede utilizarse teniendo en cuenta las dos palabras anteriores es decir considerando N = 2

P(ojos | lo esencial es invisible a los) = P(ojos | a los) Modelo de N-grama

Generalizando los modelos anteriores la probabilidad de una palabra puede aproximarse como la probabilidad de una palabra dadas las N palabras anteriores

Maximum Likelihood Estimate (MLE)

Se denomina Maximum Likelihood Estimate a la estimacioacuten de probabilidades utilizando la frecuencia relativa de una secuencia de palabras en un corpus de entrenamiento

Donde C(w1wi) es la cantidad de ocurrencias de la sentencia en el corpus de entrenamiento N es el numero total de sentencias y C(w1wi10485761) es la cantidad de ocurrencias de la secuencia de palabras precedentes

Smoothing

Como Smoothing se conocen las teacutecnicas para ajustar el modelo de MLE para estimar probabilidades en forma mas apropiada Esta teacutecnica tiende a unificar la distribucioacuten ajustando las bajas o nulas probabilidades hacia arriba y las altas hacia abajo Las teacutecnicas de smoothing mas utilizadas

Laplace Smoothing El meacutetodo de Laplace tambieacuten conocido como Add-One Smoothing es la teacutecnica mas

simple y consiste en asumir que cada n-grama aparece una vez mas de las que realmente aparece Los distintos trabajos de anaacutelisis de teacutecnicas de Smoothing muestran que este es un meacutetodo pobre de ajuste de probabilidades No es utilizado en modelado de lenguaje porque existen teacutecnicas mejores pero s se utiliza en tareas de clasificacioacuten de textos o en dominios donde el numero de ceros no es muy grande

Linear Interpolation Esta teacutecnica combina modelos de mayor orden con modelos de menor orden por ejemplo

en modelos de trigrama se combina con modelos de bigrama y unigrama que son menos afectados por la falta de ocurrencias en el corpus de entrenamiento Las probabilidades estimadas en cada modelo se combinan linealmente ponderadas seguacuten su contribucioacuten y dando como resultado una nueva probabilidad estimada

Backoff Esta teacutecnica tambieacuten combina modelos de mayor orden con modelos de menor orden

utilizando el que corresponda seguacuten la evidencia que se tenga en el corpus de entrenamiento Esta teacutecnica es utilizada generalmente en modelos de N-Grama muy grandes como la Web

Good-Turing Estimate En la estimacioacuten de Good Turing por cada N-Grama que ocurre r veces se pondera el

numero de N-gramas que ocurren exactamente r veces en el corpus de entrenamiento Witten-Bell Smoothing

Esta teacutecnica se basa en el modelo de interpolacioacuten lineal Se utiliza un modelo de mayor orden si el n-grama wi i1048576N+1 esta presente en el corpus de entrenamiento y se utilizan modelos de menor orden en caso contrario

Google N-Grams Datasets

Cuando no se tiene un corpus de entrenamiento pueden utilizarse datasets disponibles en la web para calcular la probabilidad de ocurrencia de una sentencia dada

Existen herramientas como Google N-Grams Dataset (Google 2008) que proveen grandes colecciones de datos en distintos idiomas y permiten calcular estas probabilidades con muy buena precisioacuten

Ademaacutes Google provee una herramienta para visualizar graacuteficamente la probabilidad de ocurrencia de un conjunto de sentencias dado un idioma y un nuacutemero de smoothing y utilizando grandes cantidades de libros como corpus de datos

Ngram Viewer Consideremos la sentencia ldquoun viaje y supongamos que

queremos estimar la probabilidad de que esta secuencia de palabras este seguida de la palabra ldquoa es decir P(ajun viaje)

Se observa en un corpus de entrenamiento que esta sentencia aparece diez veces de las cuales seis estaacuten seguidas de la palabra ldquoa tres de la palabra ldquolargo y una de la palabra ldquodesde

La estimacioacuten basada en frecuencias relativas asignara las siguientes probabilidades de ocurrencia de la proacutexima palabra

P(a|un viaje) = 06 P(largo|un viaje) = 03 P(desde|un viaje) = 01

La estimacioacuten MLE asignara probabilidad cero a cualquier otro evento que no se encuentre en el corpus de entrenamiento y maximizara la probabilidad de los eventos observados

4En espa~nol es conocido comohttpsbooksgooglecomngrams

Deteccioacuten de features

Bag of Words Se consideran features todos los teacuterminos del corpus de entrenamiento descartando la posicioacuten Cuando se utiliza este feature puede considerarse frecuencia de aparicioacuten o no por lo que podemos hacer la siguiente distincioacuten

Presencia de Unigramas por cada documento se evaluacutea la presencia o ausencia de cada unigrama descartando la informacioacuten de frecuencia de aparicioacuten

Frecuencia de Unigramas por cada documento se evaluacutea la frecuencia con la que aparece cada unigrama

Presencia de Bigramas se consideran features todos los conjuntos de dos teacuterminos consecutivos del corpus de entrenamiento y por cada documento se evaluacutea la presencia o ausencia de cada bigrama

Presencia de Adjetivos se consideran features todos los adjetivos del corpus de entrenamiento y por cada documento se evaluacutea presencia o ausencia Este tipo de feature es utilizado en tareas de AS dado que los adjetivos aportan la informacioacuten mas relevante en cuanto a opiniones y sentimientos

Deteccioacuten de features

Cuando se tienen demasiados features puede ser necesario eliminar aquellos que aporten menos informacioacuten al clasificador con el objetivo de mejorar la performance y reducir el costo de entrenamiento Para esta tarea el meacutetodo mas utilizado consiste en seleccionar los top N features (generalmente en porcentaje) ordenados por frecuencia de aparicioacuten en el conjunto de datos de entrenamiento

En aplicaciones reales de anaacutelisis de sentimientos resulta fundamental utilizar features y pesos especiacuteficos de dominio para mejorar la performance de los clasificadores

Modelos Generativos vs Discriminativos

Los clasificadores generativos aprenden el modelo a partir de la forma en que se generan las observaciones esto es a partir de la probabilidad conjunta P(CD) (donde D es el documento y C la clase) y realizan la prediccioacuten maximizando la probabilidad condicional P(C|D) que es calculada utilizando el teorema de Bayes

Los clasificadores discriminativos modelan directamente la probabilidad condicional P(C|D) para realizar la prediccioacuten es decir a partir de la estructura oculta de los datos sin tener en cuenta la forma en que se generan

La desventaja de los modelos generativos es que resuelven un problema maacutes general como paso intermedio en cambio en los modelos discriminativos se resuelve el problema de clasificacioacuten directamente

Si tuvieacuteramos que clasificar el idioma de un texto dado el enfoque generativo se basaraacute en aprender el idioma a partir de las observaciones del corpus de entrenamiento para luego predecir en que idioma esta escrito el texto

La caracteriacutestica maacutes importante de los modelos discriminativos es que asignan pesos a los features de forma que el modelo corresponda con las observaciones Esto resuelve el problema de los modelos generativos donde los features son multiplicados aunque aporten la misma informacioacuten

Los modelos generativos mas importantes son los modelos de N-Gramas y NB y los modelos discriminativos mas relevantes son Logistic Regression Maximum Entropy Models SVM etc

NB

NB es un meacutetodo de clasificacioacuten supervisado y generativo que se basa en el teorema de Bayes y en la premisa de independencia de los atributos dada una clase

Las distintas implementaciones difieren principalmente en la aproximacioacuten de P(fk|Ci) y las teacutecnicas de smoothing utilizadas para el tratamiento de probabilidades bajas o nulas

Multinomial NB

En el caso de utilizar como features todos los teacuterminos del vocabulario del corpus de entrenamiento teniendo en cuenta su frecuencia de aparicioacuten add-one como teacutecnica de smoothing y MLE para estimar P(fk|Ci)

Multinomial NB - Ejemplo

Multinomial NB - Ejemplo

Binarized Multinomial NB

En el modelo Multinomial consideraacutebamos la frecuencia de aparicioacuten de cada feature para la estimacioacuten de P(fk|Ci) A diferencia de este meacutetodo NB puede ser implementado considerando exclusivamente presencia o ausencia de features es decir asociaacutendolos con un valor booleano cuando se evaluacutea un documento y descartando informacioacuten de frecuencia y posicioacuten

Binarized Multinomial NB - Ejemplo

Modelo de Maacutexima Entropiacutea

Es un meacutetodo de clasificacioacuten discriminativo y de aprendizaje supervisado donde los documentos del conjunto de datos son descriptos a partir de una lista de features siendo cada uno de estos features una restriccioacuten del modelo

Este meacutetodo se basa en seleccionar la distribucioacuten de probabilidad que satisfaga todas las restricciones del modelo y maximice la entropiacutea Esto apunta a preservar la incertidumbre tanto como sea posible

Polaridad de Turney Propone en su trabajo un meacutetodo no-supervisado

para la clasificacioacuten de textos seguacuten informacioacuten subjetiva que se basa en predecir la polaridad de un documento en base a su orientacioacuten semaacutentica

La orientacioacuten de un documento es calculada en base a la distancia a los teacuterminos del idioma ingles ldquoexcelent y ldquopoor que sugieren referencias positivas y negativas respectivamente

El algoritmo propuesto consiste en los siguientes 3 pasos

Extraer las frases del documento que contienen adjetivos o adverbios utilizando una herramienta de part-of-speech tagging

Estimar la orientacioacuten semaacutentica de cada frase extraiacuteda utilizando el algoritmo PMI-IR

Asignar las clases ldquorecomendado o ldquono recomendado al documento

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Polaridad de Turney

En el primer paso se extraen grupos de dos palabras cuyas etiquetas correspondan con los siguientes patrones

Siendo JJ Adjetivos NN Sustantivos en Singular NNS

Sustantivos en Plural RB Adverbios RBS Adverbios Superlativos RBR Adverbios Comparativos VB Verbos VBD Verbos en Pasado VBN Verbos en Pasado Participio VBG Verbos Gerundios o Pasado Participio

Algoritmo PMI-IR

Este algoritmo utiliza la teacutecnica de Pointwise Mutual Information (PMI) para obtener una medida de la asociacioacuten semaacutentica entre dos palabras seguacuten la ecuacioacuten que sigue

Siendo p(word1 amp word2) la probabilidad de que las palabras ocurran juntas

Luego la orientacioacuten semaacutentica se calcularaacute de la siguiente manera

Algoritmo PMI-IR El algoritmo PMI-IR estima el valor de PMI

realizando consultas a un motor de buacutesqueda a partir de la cantidad de resultados que devuelve la consulta y utilizando el operador NEAR que proveen algunos buscadores para estimar la ocurrencia conjunta de dos teacuterminos

Por ultimo la clasificacioacuten de un documento como ldquorecomendable o ldquono recomendable se realizaraacute a partir del caacutelculo de la orientacioacuten semaacutentica promedio de todas las frases extraiacutedas del documento

Algoritmo PMI-IR Consideraremos los teacuterminos ldquoexcelente como referencia

de polaridad positiva y los teacuterminos ldquomal malo mala como referencia negativa y estimaremos el operador NEAR a partir de la ocurrencia conjunta de palabras en la misma sentencia Consideremos las frases ldquobuena comida y ldquocomida friacutea para el caacutelculo de orientacioacuten semaacutentica

Clasificacioacuten basada en Leacutexico de Opinioacuten Existen otros meacutetodos de clasificacioacuten considerados no

supervisados o semi-supervisados que se basan en utilizar un conjunto de teacuterminos ldquosemillaldquo cuya polaridad es conocida y la clasificacioacuten consiste en calcular la similitud o distancia de los teacuterminos que componen el documento a estos teacuterminos conocidos

En este tipo de meacutetodos el leacutexico es utilizado como reemplazo de los features del modelo El ejemplo mas extremo de utilizacioacuten de leacutexico de opinioacuten es el algoritmo de Turney que utiliza la polaridad conocida de dos uacutenicos teacuterminos para clasificar un texto a partir de la distancia de los teacuterminos del documento a ellos

En un trabajo Sidorov (2012) se propone un leacutexico de opinioacuten de mas de 2000 palabras en idioma espantildeol que incluye la distancia de cada uno de estos teacuterminos a alguna de las siguientes emociones baacutesicas alegra ira miedo tristeza sorpresa y disgusto

En base a esta informacioacuten podraacute desarrollarse un algoritmo que infiera la polaridad de una sentencia a partir de calcular la distancia de los teacuterminos que la componen a las emociones baacutesicas asociadas a sentimientos positivos o negativos

Clasificacioacuten basada en Leacutexico de Opinioacuten

En este tipo de clasificadores puede ser necesario asociar la polaridad de los teacuterminos del leacutexico a dominios u objetivos especiacuteficos Por ejemplo

La palabra ldquobarato puede asociarse a sentimientos positivos cuando se refiere a comida y a sentimientos negativos cuando se refiere a vestimenta o decoracioacuten de ambientes

La palabra ldquoantildeejo tiene una connotacioacuten positiva cuando se refiere a vinos y altamente negativa si se refiere a comida

El termino ldquofriacuteo se asocia a emociones negativas si se habla de pizza y positivas si se habla de cervezas etc

Clasificacioacuten basada en Leacutexico de Opinioacuten Otro meacutetodo semi-supervisado basado en leacutexico de opinioacuten

consiste en identificar la polaridad de los adjetivos de un texto a partir de la ocurrencia conjunta con teacuterminos cuya polaridad es conocida y teniendo en cuenta la conjuncioacuten que los relaciona es decir considerando que si los adjetivos estaacuten conectados por el termino ldquoy tendraacuten la misma polaridad mientras que si aparecen conectados por el termino ldquopero tendraacuten polaridad opuesta

Un ejemplo Etiquetar un conjunto inicial de adjetivos semilla seguacuten su

polaridad Extender el conjunto anterior a partir de la ocurrencia conjunta

de los adjetivos conocidos con otros adjetivos y teniendo en cuenta la conjuncioacuten que los relaciona para determinar si tienen la misma polaridad u opuesta

Utilizar un clasificador supervisado para determinar el grado de similitud de polaridad de cada par de adjetivos generando como resultado un graacutefico que relacione los adjetivos del conjunto de datos

Clusterizar el graacutefico anterior en dos grandes grupos de polaridad similar (positivos y negativos)

Clasificacioacuten basada en Puntaje Para clasificar un texto de forma maacutes subjetiva se puede asignar a

cada documento un puntaje dentro de una escala dependiendo del grado de polaridad que expresa (por ejemplo asignar estrellas del 1 al 5)

La solucioacuten mas simple para esta tarea es clasificar el texto utilizando muacuteltiples categoriacuteas como clases Esta clasificacioacuten puede realizarse con los algoritmos como NB

Como SVM se utiliza para clasificacioacuten binaria se puede utilizar One-vs-All que se basa en crear un clasificador SVM para cada clase cuya salida nos permita saber si el documento pertenece o no a la clase en cuestioacuten

Otra solucion para resolver esta tarea consideraacutendola un problema de metric labeling En este tipo de problema la entrada es un conjunto de etiquetas (clases) y un grafo ponderado Se define una funcioacuten de distancia de las etiquetas y para cada etiqueta el costo de asignacioacuten a cada veacutertice siendo el objetivo encontrar el menor costo de asignar una etiqueta a un veacutertice Este enfoque combina los clasificadores SVM y k-nearest neighbors que es un meacutetodo no parametrito de clasificacioacuten basado en encontrar los elementos mas cercanos del conjunto de datos de entrenamiento en el espacio de features

Otro enfoque para la tarea de clasificacioacuten en muacuteltiples categoriacuteas consiste en utilizar un meacutetodo de regresioacuten considerando que las categoriacuteas corresponden a la discretizacioacuten de una funcioacuten continua

Clasificacioacuten de Muacuteltiples Aspectos Hasta ahora hemos presentado las tareas de anaacutelisis de

sentimientos a nivel de documento es decir asignando una clase a un documento completo a partir de las emociones que expresa Esta clasificacioacuten puede ser binaria (polaridad positiva o negativa) o basada en muacuteltiples categoriacuteas (utilizando puntajes o estrellas como clases) pero en ambos casos se claacutesica el documento completo

En esta seccioacuten presentaremos la clasificacioacuten aislada de los muacuteltiples objetivos aspectos o targets que generan opinioacuten dentro de un mismo documento Esta tarea es conocida como Multi-Aspect Sentiment Analysis

El objetivo de esta tarea consiste en la identificacioacuten de aspectos que generan opinioacuten dentro de un mismo documento seleccionando aquellas caracteriacutesticas que son frecuentemente mencionadas y las emociones asociadas Para identificar estas caracteriacutesticas o aspectos la solucioacuten mas simple consiste en utilizar un parser que nos permita obtener las frases nominales del documento teniendo en cuenta que la mayora de los aspectos son sustantivos

Clasificacioacuten de Muacuteltiples Aspectos

ldquoexcelente comida el ambiente es bastante ruidoso pero los precios accesibles

Clasificacioacuten de Muacuteltiples Aspectos A partir de la clasificacioacuten anterior podremos extraer los

sustantivos o frases nominales que nos permitiraacuten identificar teacuterminos candidatos a aspectos y los adjetivos para identificar las emociones asociadas Para obtener la polaridad de sentimientos utilizaremos los meacutetodos de clasificacioacuten estudiados en secciones anteriores

Luego a partir de la polaridad de la emocioacuten que genera cada aspecto debemos establecer un criterio que nos permita asignar pesos para obtener la polaridad general del documento La forma mas simple Serra basaacutendonos en la frecuencia de aparicioacuten de cada aspecto en el corpus de datos

Otro meacutetodo simple para la identificacioacuten de targets que generan opinioacuten consiste en definir aspectos ad-hoc para un determinado dominio por ejemplo

f(COMIDA SERVICIO AMBIENTE OTROS) y luego ejecutar la clasificacioacuten de todos los teacuterminos del

documento utilizando un meacutetodo supervisado y un conjunto de datos de entrenamiento clasificado manualmente que nos permita obtener aquellos teacuterminos que pertenecen a alguna de las clases de aspectos relevantes generadores de opinioacuten

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 18: Poggi   analytics - sentiment - 1

N-Gramas Modelo de Unigrama

El modelo de Unigrama es el caso trivial de la premisa de Markov es decir aproxima la probabilidad de una palabra con la probabilidad de ocurrencia de esa palabra en el corpus de datos y sin tener en cuenta las palabras que la preceden es decir considerando N = 0

P(ojos | lo esencial es invisible a los) = P(ojos) Modelo de Bigrama

El modelo de Bigrama utiliza la premisa de Markov para aproximar la probabilidad de una palabra con la probabilidad de ocurrencia de esa palabra dada la palabra anterior es decir considerando N = 1

P(ojos | lo esencial es invisible a los) = P(ojos | los) Modelo de Trigrama

El mismo modelo descripto para unigramas y bigramas puede utilizarse teniendo en cuenta las dos palabras anteriores es decir considerando N = 2

P(ojos | lo esencial es invisible a los) = P(ojos | a los) Modelo de N-grama

Generalizando los modelos anteriores la probabilidad de una palabra puede aproximarse como la probabilidad de una palabra dadas las N palabras anteriores

Maximum Likelihood Estimate (MLE)

Se denomina Maximum Likelihood Estimate a la estimacioacuten de probabilidades utilizando la frecuencia relativa de una secuencia de palabras en un corpus de entrenamiento

Donde C(w1wi) es la cantidad de ocurrencias de la sentencia en el corpus de entrenamiento N es el numero total de sentencias y C(w1wi10485761) es la cantidad de ocurrencias de la secuencia de palabras precedentes

Smoothing

Como Smoothing se conocen las teacutecnicas para ajustar el modelo de MLE para estimar probabilidades en forma mas apropiada Esta teacutecnica tiende a unificar la distribucioacuten ajustando las bajas o nulas probabilidades hacia arriba y las altas hacia abajo Las teacutecnicas de smoothing mas utilizadas

Laplace Smoothing El meacutetodo de Laplace tambieacuten conocido como Add-One Smoothing es la teacutecnica mas

simple y consiste en asumir que cada n-grama aparece una vez mas de las que realmente aparece Los distintos trabajos de anaacutelisis de teacutecnicas de Smoothing muestran que este es un meacutetodo pobre de ajuste de probabilidades No es utilizado en modelado de lenguaje porque existen teacutecnicas mejores pero s se utiliza en tareas de clasificacioacuten de textos o en dominios donde el numero de ceros no es muy grande

Linear Interpolation Esta teacutecnica combina modelos de mayor orden con modelos de menor orden por ejemplo

en modelos de trigrama se combina con modelos de bigrama y unigrama que son menos afectados por la falta de ocurrencias en el corpus de entrenamiento Las probabilidades estimadas en cada modelo se combinan linealmente ponderadas seguacuten su contribucioacuten y dando como resultado una nueva probabilidad estimada

Backoff Esta teacutecnica tambieacuten combina modelos de mayor orden con modelos de menor orden

utilizando el que corresponda seguacuten la evidencia que se tenga en el corpus de entrenamiento Esta teacutecnica es utilizada generalmente en modelos de N-Grama muy grandes como la Web

Good-Turing Estimate En la estimacioacuten de Good Turing por cada N-Grama que ocurre r veces se pondera el

numero de N-gramas que ocurren exactamente r veces en el corpus de entrenamiento Witten-Bell Smoothing

Esta teacutecnica se basa en el modelo de interpolacioacuten lineal Se utiliza un modelo de mayor orden si el n-grama wi i1048576N+1 esta presente en el corpus de entrenamiento y se utilizan modelos de menor orden en caso contrario

Google N-Grams Datasets

Cuando no se tiene un corpus de entrenamiento pueden utilizarse datasets disponibles en la web para calcular la probabilidad de ocurrencia de una sentencia dada

Existen herramientas como Google N-Grams Dataset (Google 2008) que proveen grandes colecciones de datos en distintos idiomas y permiten calcular estas probabilidades con muy buena precisioacuten

Ademaacutes Google provee una herramienta para visualizar graacuteficamente la probabilidad de ocurrencia de un conjunto de sentencias dado un idioma y un nuacutemero de smoothing y utilizando grandes cantidades de libros como corpus de datos

Ngram Viewer Consideremos la sentencia ldquoun viaje y supongamos que

queremos estimar la probabilidad de que esta secuencia de palabras este seguida de la palabra ldquoa es decir P(ajun viaje)

Se observa en un corpus de entrenamiento que esta sentencia aparece diez veces de las cuales seis estaacuten seguidas de la palabra ldquoa tres de la palabra ldquolargo y una de la palabra ldquodesde

La estimacioacuten basada en frecuencias relativas asignara las siguientes probabilidades de ocurrencia de la proacutexima palabra

P(a|un viaje) = 06 P(largo|un viaje) = 03 P(desde|un viaje) = 01

La estimacioacuten MLE asignara probabilidad cero a cualquier otro evento que no se encuentre en el corpus de entrenamiento y maximizara la probabilidad de los eventos observados

4En espa~nol es conocido comohttpsbooksgooglecomngrams

Deteccioacuten de features

Bag of Words Se consideran features todos los teacuterminos del corpus de entrenamiento descartando la posicioacuten Cuando se utiliza este feature puede considerarse frecuencia de aparicioacuten o no por lo que podemos hacer la siguiente distincioacuten

Presencia de Unigramas por cada documento se evaluacutea la presencia o ausencia de cada unigrama descartando la informacioacuten de frecuencia de aparicioacuten

Frecuencia de Unigramas por cada documento se evaluacutea la frecuencia con la que aparece cada unigrama

Presencia de Bigramas se consideran features todos los conjuntos de dos teacuterminos consecutivos del corpus de entrenamiento y por cada documento se evaluacutea la presencia o ausencia de cada bigrama

Presencia de Adjetivos se consideran features todos los adjetivos del corpus de entrenamiento y por cada documento se evaluacutea presencia o ausencia Este tipo de feature es utilizado en tareas de AS dado que los adjetivos aportan la informacioacuten mas relevante en cuanto a opiniones y sentimientos

Deteccioacuten de features

Cuando se tienen demasiados features puede ser necesario eliminar aquellos que aporten menos informacioacuten al clasificador con el objetivo de mejorar la performance y reducir el costo de entrenamiento Para esta tarea el meacutetodo mas utilizado consiste en seleccionar los top N features (generalmente en porcentaje) ordenados por frecuencia de aparicioacuten en el conjunto de datos de entrenamiento

En aplicaciones reales de anaacutelisis de sentimientos resulta fundamental utilizar features y pesos especiacuteficos de dominio para mejorar la performance de los clasificadores

Modelos Generativos vs Discriminativos

Los clasificadores generativos aprenden el modelo a partir de la forma en que se generan las observaciones esto es a partir de la probabilidad conjunta P(CD) (donde D es el documento y C la clase) y realizan la prediccioacuten maximizando la probabilidad condicional P(C|D) que es calculada utilizando el teorema de Bayes

Los clasificadores discriminativos modelan directamente la probabilidad condicional P(C|D) para realizar la prediccioacuten es decir a partir de la estructura oculta de los datos sin tener en cuenta la forma en que se generan

La desventaja de los modelos generativos es que resuelven un problema maacutes general como paso intermedio en cambio en los modelos discriminativos se resuelve el problema de clasificacioacuten directamente

Si tuvieacuteramos que clasificar el idioma de un texto dado el enfoque generativo se basaraacute en aprender el idioma a partir de las observaciones del corpus de entrenamiento para luego predecir en que idioma esta escrito el texto

La caracteriacutestica maacutes importante de los modelos discriminativos es que asignan pesos a los features de forma que el modelo corresponda con las observaciones Esto resuelve el problema de los modelos generativos donde los features son multiplicados aunque aporten la misma informacioacuten

Los modelos generativos mas importantes son los modelos de N-Gramas y NB y los modelos discriminativos mas relevantes son Logistic Regression Maximum Entropy Models SVM etc

NB

NB es un meacutetodo de clasificacioacuten supervisado y generativo que se basa en el teorema de Bayes y en la premisa de independencia de los atributos dada una clase

Las distintas implementaciones difieren principalmente en la aproximacioacuten de P(fk|Ci) y las teacutecnicas de smoothing utilizadas para el tratamiento de probabilidades bajas o nulas

Multinomial NB

En el caso de utilizar como features todos los teacuterminos del vocabulario del corpus de entrenamiento teniendo en cuenta su frecuencia de aparicioacuten add-one como teacutecnica de smoothing y MLE para estimar P(fk|Ci)

Multinomial NB - Ejemplo

Multinomial NB - Ejemplo

Binarized Multinomial NB

En el modelo Multinomial consideraacutebamos la frecuencia de aparicioacuten de cada feature para la estimacioacuten de P(fk|Ci) A diferencia de este meacutetodo NB puede ser implementado considerando exclusivamente presencia o ausencia de features es decir asociaacutendolos con un valor booleano cuando se evaluacutea un documento y descartando informacioacuten de frecuencia y posicioacuten

Binarized Multinomial NB - Ejemplo

Modelo de Maacutexima Entropiacutea

Es un meacutetodo de clasificacioacuten discriminativo y de aprendizaje supervisado donde los documentos del conjunto de datos son descriptos a partir de una lista de features siendo cada uno de estos features una restriccioacuten del modelo

Este meacutetodo se basa en seleccionar la distribucioacuten de probabilidad que satisfaga todas las restricciones del modelo y maximice la entropiacutea Esto apunta a preservar la incertidumbre tanto como sea posible

Polaridad de Turney Propone en su trabajo un meacutetodo no-supervisado

para la clasificacioacuten de textos seguacuten informacioacuten subjetiva que se basa en predecir la polaridad de un documento en base a su orientacioacuten semaacutentica

La orientacioacuten de un documento es calculada en base a la distancia a los teacuterminos del idioma ingles ldquoexcelent y ldquopoor que sugieren referencias positivas y negativas respectivamente

El algoritmo propuesto consiste en los siguientes 3 pasos

Extraer las frases del documento que contienen adjetivos o adverbios utilizando una herramienta de part-of-speech tagging

Estimar la orientacioacuten semaacutentica de cada frase extraiacuteda utilizando el algoritmo PMI-IR

Asignar las clases ldquorecomendado o ldquono recomendado al documento

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Polaridad de Turney

En el primer paso se extraen grupos de dos palabras cuyas etiquetas correspondan con los siguientes patrones

Siendo JJ Adjetivos NN Sustantivos en Singular NNS

Sustantivos en Plural RB Adverbios RBS Adverbios Superlativos RBR Adverbios Comparativos VB Verbos VBD Verbos en Pasado VBN Verbos en Pasado Participio VBG Verbos Gerundios o Pasado Participio

Algoritmo PMI-IR

Este algoritmo utiliza la teacutecnica de Pointwise Mutual Information (PMI) para obtener una medida de la asociacioacuten semaacutentica entre dos palabras seguacuten la ecuacioacuten que sigue

Siendo p(word1 amp word2) la probabilidad de que las palabras ocurran juntas

Luego la orientacioacuten semaacutentica se calcularaacute de la siguiente manera

Algoritmo PMI-IR El algoritmo PMI-IR estima el valor de PMI

realizando consultas a un motor de buacutesqueda a partir de la cantidad de resultados que devuelve la consulta y utilizando el operador NEAR que proveen algunos buscadores para estimar la ocurrencia conjunta de dos teacuterminos

Por ultimo la clasificacioacuten de un documento como ldquorecomendable o ldquono recomendable se realizaraacute a partir del caacutelculo de la orientacioacuten semaacutentica promedio de todas las frases extraiacutedas del documento

Algoritmo PMI-IR Consideraremos los teacuterminos ldquoexcelente como referencia

de polaridad positiva y los teacuterminos ldquomal malo mala como referencia negativa y estimaremos el operador NEAR a partir de la ocurrencia conjunta de palabras en la misma sentencia Consideremos las frases ldquobuena comida y ldquocomida friacutea para el caacutelculo de orientacioacuten semaacutentica

Clasificacioacuten basada en Leacutexico de Opinioacuten Existen otros meacutetodos de clasificacioacuten considerados no

supervisados o semi-supervisados que se basan en utilizar un conjunto de teacuterminos ldquosemillaldquo cuya polaridad es conocida y la clasificacioacuten consiste en calcular la similitud o distancia de los teacuterminos que componen el documento a estos teacuterminos conocidos

En este tipo de meacutetodos el leacutexico es utilizado como reemplazo de los features del modelo El ejemplo mas extremo de utilizacioacuten de leacutexico de opinioacuten es el algoritmo de Turney que utiliza la polaridad conocida de dos uacutenicos teacuterminos para clasificar un texto a partir de la distancia de los teacuterminos del documento a ellos

En un trabajo Sidorov (2012) se propone un leacutexico de opinioacuten de mas de 2000 palabras en idioma espantildeol que incluye la distancia de cada uno de estos teacuterminos a alguna de las siguientes emociones baacutesicas alegra ira miedo tristeza sorpresa y disgusto

En base a esta informacioacuten podraacute desarrollarse un algoritmo que infiera la polaridad de una sentencia a partir de calcular la distancia de los teacuterminos que la componen a las emociones baacutesicas asociadas a sentimientos positivos o negativos

Clasificacioacuten basada en Leacutexico de Opinioacuten

En este tipo de clasificadores puede ser necesario asociar la polaridad de los teacuterminos del leacutexico a dominios u objetivos especiacuteficos Por ejemplo

La palabra ldquobarato puede asociarse a sentimientos positivos cuando se refiere a comida y a sentimientos negativos cuando se refiere a vestimenta o decoracioacuten de ambientes

La palabra ldquoantildeejo tiene una connotacioacuten positiva cuando se refiere a vinos y altamente negativa si se refiere a comida

El termino ldquofriacuteo se asocia a emociones negativas si se habla de pizza y positivas si se habla de cervezas etc

Clasificacioacuten basada en Leacutexico de Opinioacuten Otro meacutetodo semi-supervisado basado en leacutexico de opinioacuten

consiste en identificar la polaridad de los adjetivos de un texto a partir de la ocurrencia conjunta con teacuterminos cuya polaridad es conocida y teniendo en cuenta la conjuncioacuten que los relaciona es decir considerando que si los adjetivos estaacuten conectados por el termino ldquoy tendraacuten la misma polaridad mientras que si aparecen conectados por el termino ldquopero tendraacuten polaridad opuesta

Un ejemplo Etiquetar un conjunto inicial de adjetivos semilla seguacuten su

polaridad Extender el conjunto anterior a partir de la ocurrencia conjunta

de los adjetivos conocidos con otros adjetivos y teniendo en cuenta la conjuncioacuten que los relaciona para determinar si tienen la misma polaridad u opuesta

Utilizar un clasificador supervisado para determinar el grado de similitud de polaridad de cada par de adjetivos generando como resultado un graacutefico que relacione los adjetivos del conjunto de datos

Clusterizar el graacutefico anterior en dos grandes grupos de polaridad similar (positivos y negativos)

Clasificacioacuten basada en Puntaje Para clasificar un texto de forma maacutes subjetiva se puede asignar a

cada documento un puntaje dentro de una escala dependiendo del grado de polaridad que expresa (por ejemplo asignar estrellas del 1 al 5)

La solucioacuten mas simple para esta tarea es clasificar el texto utilizando muacuteltiples categoriacuteas como clases Esta clasificacioacuten puede realizarse con los algoritmos como NB

Como SVM se utiliza para clasificacioacuten binaria se puede utilizar One-vs-All que se basa en crear un clasificador SVM para cada clase cuya salida nos permita saber si el documento pertenece o no a la clase en cuestioacuten

Otra solucion para resolver esta tarea consideraacutendola un problema de metric labeling En este tipo de problema la entrada es un conjunto de etiquetas (clases) y un grafo ponderado Se define una funcioacuten de distancia de las etiquetas y para cada etiqueta el costo de asignacioacuten a cada veacutertice siendo el objetivo encontrar el menor costo de asignar una etiqueta a un veacutertice Este enfoque combina los clasificadores SVM y k-nearest neighbors que es un meacutetodo no parametrito de clasificacioacuten basado en encontrar los elementos mas cercanos del conjunto de datos de entrenamiento en el espacio de features

Otro enfoque para la tarea de clasificacioacuten en muacuteltiples categoriacuteas consiste en utilizar un meacutetodo de regresioacuten considerando que las categoriacuteas corresponden a la discretizacioacuten de una funcioacuten continua

Clasificacioacuten de Muacuteltiples Aspectos Hasta ahora hemos presentado las tareas de anaacutelisis de

sentimientos a nivel de documento es decir asignando una clase a un documento completo a partir de las emociones que expresa Esta clasificacioacuten puede ser binaria (polaridad positiva o negativa) o basada en muacuteltiples categoriacuteas (utilizando puntajes o estrellas como clases) pero en ambos casos se claacutesica el documento completo

En esta seccioacuten presentaremos la clasificacioacuten aislada de los muacuteltiples objetivos aspectos o targets que generan opinioacuten dentro de un mismo documento Esta tarea es conocida como Multi-Aspect Sentiment Analysis

El objetivo de esta tarea consiste en la identificacioacuten de aspectos que generan opinioacuten dentro de un mismo documento seleccionando aquellas caracteriacutesticas que son frecuentemente mencionadas y las emociones asociadas Para identificar estas caracteriacutesticas o aspectos la solucioacuten mas simple consiste en utilizar un parser que nos permita obtener las frases nominales del documento teniendo en cuenta que la mayora de los aspectos son sustantivos

Clasificacioacuten de Muacuteltiples Aspectos

ldquoexcelente comida el ambiente es bastante ruidoso pero los precios accesibles

Clasificacioacuten de Muacuteltiples Aspectos A partir de la clasificacioacuten anterior podremos extraer los

sustantivos o frases nominales que nos permitiraacuten identificar teacuterminos candidatos a aspectos y los adjetivos para identificar las emociones asociadas Para obtener la polaridad de sentimientos utilizaremos los meacutetodos de clasificacioacuten estudiados en secciones anteriores

Luego a partir de la polaridad de la emocioacuten que genera cada aspecto debemos establecer un criterio que nos permita asignar pesos para obtener la polaridad general del documento La forma mas simple Serra basaacutendonos en la frecuencia de aparicioacuten de cada aspecto en el corpus de datos

Otro meacutetodo simple para la identificacioacuten de targets que generan opinioacuten consiste en definir aspectos ad-hoc para un determinado dominio por ejemplo

f(COMIDA SERVICIO AMBIENTE OTROS) y luego ejecutar la clasificacioacuten de todos los teacuterminos del

documento utilizando un meacutetodo supervisado y un conjunto de datos de entrenamiento clasificado manualmente que nos permita obtener aquellos teacuterminos que pertenecen a alguna de las clases de aspectos relevantes generadores de opinioacuten

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 19: Poggi   analytics - sentiment - 1

Maximum Likelihood Estimate (MLE)

Se denomina Maximum Likelihood Estimate a la estimacioacuten de probabilidades utilizando la frecuencia relativa de una secuencia de palabras en un corpus de entrenamiento

Donde C(w1wi) es la cantidad de ocurrencias de la sentencia en el corpus de entrenamiento N es el numero total de sentencias y C(w1wi10485761) es la cantidad de ocurrencias de la secuencia de palabras precedentes

Smoothing

Como Smoothing se conocen las teacutecnicas para ajustar el modelo de MLE para estimar probabilidades en forma mas apropiada Esta teacutecnica tiende a unificar la distribucioacuten ajustando las bajas o nulas probabilidades hacia arriba y las altas hacia abajo Las teacutecnicas de smoothing mas utilizadas

Laplace Smoothing El meacutetodo de Laplace tambieacuten conocido como Add-One Smoothing es la teacutecnica mas

simple y consiste en asumir que cada n-grama aparece una vez mas de las que realmente aparece Los distintos trabajos de anaacutelisis de teacutecnicas de Smoothing muestran que este es un meacutetodo pobre de ajuste de probabilidades No es utilizado en modelado de lenguaje porque existen teacutecnicas mejores pero s se utiliza en tareas de clasificacioacuten de textos o en dominios donde el numero de ceros no es muy grande

Linear Interpolation Esta teacutecnica combina modelos de mayor orden con modelos de menor orden por ejemplo

en modelos de trigrama se combina con modelos de bigrama y unigrama que son menos afectados por la falta de ocurrencias en el corpus de entrenamiento Las probabilidades estimadas en cada modelo se combinan linealmente ponderadas seguacuten su contribucioacuten y dando como resultado una nueva probabilidad estimada

Backoff Esta teacutecnica tambieacuten combina modelos de mayor orden con modelos de menor orden

utilizando el que corresponda seguacuten la evidencia que se tenga en el corpus de entrenamiento Esta teacutecnica es utilizada generalmente en modelos de N-Grama muy grandes como la Web

Good-Turing Estimate En la estimacioacuten de Good Turing por cada N-Grama que ocurre r veces se pondera el

numero de N-gramas que ocurren exactamente r veces en el corpus de entrenamiento Witten-Bell Smoothing

Esta teacutecnica se basa en el modelo de interpolacioacuten lineal Se utiliza un modelo de mayor orden si el n-grama wi i1048576N+1 esta presente en el corpus de entrenamiento y se utilizan modelos de menor orden en caso contrario

Google N-Grams Datasets

Cuando no se tiene un corpus de entrenamiento pueden utilizarse datasets disponibles en la web para calcular la probabilidad de ocurrencia de una sentencia dada

Existen herramientas como Google N-Grams Dataset (Google 2008) que proveen grandes colecciones de datos en distintos idiomas y permiten calcular estas probabilidades con muy buena precisioacuten

Ademaacutes Google provee una herramienta para visualizar graacuteficamente la probabilidad de ocurrencia de un conjunto de sentencias dado un idioma y un nuacutemero de smoothing y utilizando grandes cantidades de libros como corpus de datos

Ngram Viewer Consideremos la sentencia ldquoun viaje y supongamos que

queremos estimar la probabilidad de que esta secuencia de palabras este seguida de la palabra ldquoa es decir P(ajun viaje)

Se observa en un corpus de entrenamiento que esta sentencia aparece diez veces de las cuales seis estaacuten seguidas de la palabra ldquoa tres de la palabra ldquolargo y una de la palabra ldquodesde

La estimacioacuten basada en frecuencias relativas asignara las siguientes probabilidades de ocurrencia de la proacutexima palabra

P(a|un viaje) = 06 P(largo|un viaje) = 03 P(desde|un viaje) = 01

La estimacioacuten MLE asignara probabilidad cero a cualquier otro evento que no se encuentre en el corpus de entrenamiento y maximizara la probabilidad de los eventos observados

4En espa~nol es conocido comohttpsbooksgooglecomngrams

Deteccioacuten de features

Bag of Words Se consideran features todos los teacuterminos del corpus de entrenamiento descartando la posicioacuten Cuando se utiliza este feature puede considerarse frecuencia de aparicioacuten o no por lo que podemos hacer la siguiente distincioacuten

Presencia de Unigramas por cada documento se evaluacutea la presencia o ausencia de cada unigrama descartando la informacioacuten de frecuencia de aparicioacuten

Frecuencia de Unigramas por cada documento se evaluacutea la frecuencia con la que aparece cada unigrama

Presencia de Bigramas se consideran features todos los conjuntos de dos teacuterminos consecutivos del corpus de entrenamiento y por cada documento se evaluacutea la presencia o ausencia de cada bigrama

Presencia de Adjetivos se consideran features todos los adjetivos del corpus de entrenamiento y por cada documento se evaluacutea presencia o ausencia Este tipo de feature es utilizado en tareas de AS dado que los adjetivos aportan la informacioacuten mas relevante en cuanto a opiniones y sentimientos

Deteccioacuten de features

Cuando se tienen demasiados features puede ser necesario eliminar aquellos que aporten menos informacioacuten al clasificador con el objetivo de mejorar la performance y reducir el costo de entrenamiento Para esta tarea el meacutetodo mas utilizado consiste en seleccionar los top N features (generalmente en porcentaje) ordenados por frecuencia de aparicioacuten en el conjunto de datos de entrenamiento

En aplicaciones reales de anaacutelisis de sentimientos resulta fundamental utilizar features y pesos especiacuteficos de dominio para mejorar la performance de los clasificadores

Modelos Generativos vs Discriminativos

Los clasificadores generativos aprenden el modelo a partir de la forma en que se generan las observaciones esto es a partir de la probabilidad conjunta P(CD) (donde D es el documento y C la clase) y realizan la prediccioacuten maximizando la probabilidad condicional P(C|D) que es calculada utilizando el teorema de Bayes

Los clasificadores discriminativos modelan directamente la probabilidad condicional P(C|D) para realizar la prediccioacuten es decir a partir de la estructura oculta de los datos sin tener en cuenta la forma en que se generan

La desventaja de los modelos generativos es que resuelven un problema maacutes general como paso intermedio en cambio en los modelos discriminativos se resuelve el problema de clasificacioacuten directamente

Si tuvieacuteramos que clasificar el idioma de un texto dado el enfoque generativo se basaraacute en aprender el idioma a partir de las observaciones del corpus de entrenamiento para luego predecir en que idioma esta escrito el texto

La caracteriacutestica maacutes importante de los modelos discriminativos es que asignan pesos a los features de forma que el modelo corresponda con las observaciones Esto resuelve el problema de los modelos generativos donde los features son multiplicados aunque aporten la misma informacioacuten

Los modelos generativos mas importantes son los modelos de N-Gramas y NB y los modelos discriminativos mas relevantes son Logistic Regression Maximum Entropy Models SVM etc

NB

NB es un meacutetodo de clasificacioacuten supervisado y generativo que se basa en el teorema de Bayes y en la premisa de independencia de los atributos dada una clase

Las distintas implementaciones difieren principalmente en la aproximacioacuten de P(fk|Ci) y las teacutecnicas de smoothing utilizadas para el tratamiento de probabilidades bajas o nulas

Multinomial NB

En el caso de utilizar como features todos los teacuterminos del vocabulario del corpus de entrenamiento teniendo en cuenta su frecuencia de aparicioacuten add-one como teacutecnica de smoothing y MLE para estimar P(fk|Ci)

Multinomial NB - Ejemplo

Multinomial NB - Ejemplo

Binarized Multinomial NB

En el modelo Multinomial consideraacutebamos la frecuencia de aparicioacuten de cada feature para la estimacioacuten de P(fk|Ci) A diferencia de este meacutetodo NB puede ser implementado considerando exclusivamente presencia o ausencia de features es decir asociaacutendolos con un valor booleano cuando se evaluacutea un documento y descartando informacioacuten de frecuencia y posicioacuten

Binarized Multinomial NB - Ejemplo

Modelo de Maacutexima Entropiacutea

Es un meacutetodo de clasificacioacuten discriminativo y de aprendizaje supervisado donde los documentos del conjunto de datos son descriptos a partir de una lista de features siendo cada uno de estos features una restriccioacuten del modelo

Este meacutetodo se basa en seleccionar la distribucioacuten de probabilidad que satisfaga todas las restricciones del modelo y maximice la entropiacutea Esto apunta a preservar la incertidumbre tanto como sea posible

Polaridad de Turney Propone en su trabajo un meacutetodo no-supervisado

para la clasificacioacuten de textos seguacuten informacioacuten subjetiva que se basa en predecir la polaridad de un documento en base a su orientacioacuten semaacutentica

La orientacioacuten de un documento es calculada en base a la distancia a los teacuterminos del idioma ingles ldquoexcelent y ldquopoor que sugieren referencias positivas y negativas respectivamente

El algoritmo propuesto consiste en los siguientes 3 pasos

Extraer las frases del documento que contienen adjetivos o adverbios utilizando una herramienta de part-of-speech tagging

Estimar la orientacioacuten semaacutentica de cada frase extraiacuteda utilizando el algoritmo PMI-IR

Asignar las clases ldquorecomendado o ldquono recomendado al documento

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Polaridad de Turney

En el primer paso se extraen grupos de dos palabras cuyas etiquetas correspondan con los siguientes patrones

Siendo JJ Adjetivos NN Sustantivos en Singular NNS

Sustantivos en Plural RB Adverbios RBS Adverbios Superlativos RBR Adverbios Comparativos VB Verbos VBD Verbos en Pasado VBN Verbos en Pasado Participio VBG Verbos Gerundios o Pasado Participio

Algoritmo PMI-IR

Este algoritmo utiliza la teacutecnica de Pointwise Mutual Information (PMI) para obtener una medida de la asociacioacuten semaacutentica entre dos palabras seguacuten la ecuacioacuten que sigue

Siendo p(word1 amp word2) la probabilidad de que las palabras ocurran juntas

Luego la orientacioacuten semaacutentica se calcularaacute de la siguiente manera

Algoritmo PMI-IR El algoritmo PMI-IR estima el valor de PMI

realizando consultas a un motor de buacutesqueda a partir de la cantidad de resultados que devuelve la consulta y utilizando el operador NEAR que proveen algunos buscadores para estimar la ocurrencia conjunta de dos teacuterminos

Por ultimo la clasificacioacuten de un documento como ldquorecomendable o ldquono recomendable se realizaraacute a partir del caacutelculo de la orientacioacuten semaacutentica promedio de todas las frases extraiacutedas del documento

Algoritmo PMI-IR Consideraremos los teacuterminos ldquoexcelente como referencia

de polaridad positiva y los teacuterminos ldquomal malo mala como referencia negativa y estimaremos el operador NEAR a partir de la ocurrencia conjunta de palabras en la misma sentencia Consideremos las frases ldquobuena comida y ldquocomida friacutea para el caacutelculo de orientacioacuten semaacutentica

Clasificacioacuten basada en Leacutexico de Opinioacuten Existen otros meacutetodos de clasificacioacuten considerados no

supervisados o semi-supervisados que se basan en utilizar un conjunto de teacuterminos ldquosemillaldquo cuya polaridad es conocida y la clasificacioacuten consiste en calcular la similitud o distancia de los teacuterminos que componen el documento a estos teacuterminos conocidos

En este tipo de meacutetodos el leacutexico es utilizado como reemplazo de los features del modelo El ejemplo mas extremo de utilizacioacuten de leacutexico de opinioacuten es el algoritmo de Turney que utiliza la polaridad conocida de dos uacutenicos teacuterminos para clasificar un texto a partir de la distancia de los teacuterminos del documento a ellos

En un trabajo Sidorov (2012) se propone un leacutexico de opinioacuten de mas de 2000 palabras en idioma espantildeol que incluye la distancia de cada uno de estos teacuterminos a alguna de las siguientes emociones baacutesicas alegra ira miedo tristeza sorpresa y disgusto

En base a esta informacioacuten podraacute desarrollarse un algoritmo que infiera la polaridad de una sentencia a partir de calcular la distancia de los teacuterminos que la componen a las emociones baacutesicas asociadas a sentimientos positivos o negativos

Clasificacioacuten basada en Leacutexico de Opinioacuten

En este tipo de clasificadores puede ser necesario asociar la polaridad de los teacuterminos del leacutexico a dominios u objetivos especiacuteficos Por ejemplo

La palabra ldquobarato puede asociarse a sentimientos positivos cuando se refiere a comida y a sentimientos negativos cuando se refiere a vestimenta o decoracioacuten de ambientes

La palabra ldquoantildeejo tiene una connotacioacuten positiva cuando se refiere a vinos y altamente negativa si se refiere a comida

El termino ldquofriacuteo se asocia a emociones negativas si se habla de pizza y positivas si se habla de cervezas etc

Clasificacioacuten basada en Leacutexico de Opinioacuten Otro meacutetodo semi-supervisado basado en leacutexico de opinioacuten

consiste en identificar la polaridad de los adjetivos de un texto a partir de la ocurrencia conjunta con teacuterminos cuya polaridad es conocida y teniendo en cuenta la conjuncioacuten que los relaciona es decir considerando que si los adjetivos estaacuten conectados por el termino ldquoy tendraacuten la misma polaridad mientras que si aparecen conectados por el termino ldquopero tendraacuten polaridad opuesta

Un ejemplo Etiquetar un conjunto inicial de adjetivos semilla seguacuten su

polaridad Extender el conjunto anterior a partir de la ocurrencia conjunta

de los adjetivos conocidos con otros adjetivos y teniendo en cuenta la conjuncioacuten que los relaciona para determinar si tienen la misma polaridad u opuesta

Utilizar un clasificador supervisado para determinar el grado de similitud de polaridad de cada par de adjetivos generando como resultado un graacutefico que relacione los adjetivos del conjunto de datos

Clusterizar el graacutefico anterior en dos grandes grupos de polaridad similar (positivos y negativos)

Clasificacioacuten basada en Puntaje Para clasificar un texto de forma maacutes subjetiva se puede asignar a

cada documento un puntaje dentro de una escala dependiendo del grado de polaridad que expresa (por ejemplo asignar estrellas del 1 al 5)

La solucioacuten mas simple para esta tarea es clasificar el texto utilizando muacuteltiples categoriacuteas como clases Esta clasificacioacuten puede realizarse con los algoritmos como NB

Como SVM se utiliza para clasificacioacuten binaria se puede utilizar One-vs-All que se basa en crear un clasificador SVM para cada clase cuya salida nos permita saber si el documento pertenece o no a la clase en cuestioacuten

Otra solucion para resolver esta tarea consideraacutendola un problema de metric labeling En este tipo de problema la entrada es un conjunto de etiquetas (clases) y un grafo ponderado Se define una funcioacuten de distancia de las etiquetas y para cada etiqueta el costo de asignacioacuten a cada veacutertice siendo el objetivo encontrar el menor costo de asignar una etiqueta a un veacutertice Este enfoque combina los clasificadores SVM y k-nearest neighbors que es un meacutetodo no parametrito de clasificacioacuten basado en encontrar los elementos mas cercanos del conjunto de datos de entrenamiento en el espacio de features

Otro enfoque para la tarea de clasificacioacuten en muacuteltiples categoriacuteas consiste en utilizar un meacutetodo de regresioacuten considerando que las categoriacuteas corresponden a la discretizacioacuten de una funcioacuten continua

Clasificacioacuten de Muacuteltiples Aspectos Hasta ahora hemos presentado las tareas de anaacutelisis de

sentimientos a nivel de documento es decir asignando una clase a un documento completo a partir de las emociones que expresa Esta clasificacioacuten puede ser binaria (polaridad positiva o negativa) o basada en muacuteltiples categoriacuteas (utilizando puntajes o estrellas como clases) pero en ambos casos se claacutesica el documento completo

En esta seccioacuten presentaremos la clasificacioacuten aislada de los muacuteltiples objetivos aspectos o targets que generan opinioacuten dentro de un mismo documento Esta tarea es conocida como Multi-Aspect Sentiment Analysis

El objetivo de esta tarea consiste en la identificacioacuten de aspectos que generan opinioacuten dentro de un mismo documento seleccionando aquellas caracteriacutesticas que son frecuentemente mencionadas y las emociones asociadas Para identificar estas caracteriacutesticas o aspectos la solucioacuten mas simple consiste en utilizar un parser que nos permita obtener las frases nominales del documento teniendo en cuenta que la mayora de los aspectos son sustantivos

Clasificacioacuten de Muacuteltiples Aspectos

ldquoexcelente comida el ambiente es bastante ruidoso pero los precios accesibles

Clasificacioacuten de Muacuteltiples Aspectos A partir de la clasificacioacuten anterior podremos extraer los

sustantivos o frases nominales que nos permitiraacuten identificar teacuterminos candidatos a aspectos y los adjetivos para identificar las emociones asociadas Para obtener la polaridad de sentimientos utilizaremos los meacutetodos de clasificacioacuten estudiados en secciones anteriores

Luego a partir de la polaridad de la emocioacuten que genera cada aspecto debemos establecer un criterio que nos permita asignar pesos para obtener la polaridad general del documento La forma mas simple Serra basaacutendonos en la frecuencia de aparicioacuten de cada aspecto en el corpus de datos

Otro meacutetodo simple para la identificacioacuten de targets que generan opinioacuten consiste en definir aspectos ad-hoc para un determinado dominio por ejemplo

f(COMIDA SERVICIO AMBIENTE OTROS) y luego ejecutar la clasificacioacuten de todos los teacuterminos del

documento utilizando un meacutetodo supervisado y un conjunto de datos de entrenamiento clasificado manualmente que nos permita obtener aquellos teacuterminos que pertenecen a alguna de las clases de aspectos relevantes generadores de opinioacuten

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 20: Poggi   analytics - sentiment - 1

Smoothing

Como Smoothing se conocen las teacutecnicas para ajustar el modelo de MLE para estimar probabilidades en forma mas apropiada Esta teacutecnica tiende a unificar la distribucioacuten ajustando las bajas o nulas probabilidades hacia arriba y las altas hacia abajo Las teacutecnicas de smoothing mas utilizadas

Laplace Smoothing El meacutetodo de Laplace tambieacuten conocido como Add-One Smoothing es la teacutecnica mas

simple y consiste en asumir que cada n-grama aparece una vez mas de las que realmente aparece Los distintos trabajos de anaacutelisis de teacutecnicas de Smoothing muestran que este es un meacutetodo pobre de ajuste de probabilidades No es utilizado en modelado de lenguaje porque existen teacutecnicas mejores pero s se utiliza en tareas de clasificacioacuten de textos o en dominios donde el numero de ceros no es muy grande

Linear Interpolation Esta teacutecnica combina modelos de mayor orden con modelos de menor orden por ejemplo

en modelos de trigrama se combina con modelos de bigrama y unigrama que son menos afectados por la falta de ocurrencias en el corpus de entrenamiento Las probabilidades estimadas en cada modelo se combinan linealmente ponderadas seguacuten su contribucioacuten y dando como resultado una nueva probabilidad estimada

Backoff Esta teacutecnica tambieacuten combina modelos de mayor orden con modelos de menor orden

utilizando el que corresponda seguacuten la evidencia que se tenga en el corpus de entrenamiento Esta teacutecnica es utilizada generalmente en modelos de N-Grama muy grandes como la Web

Good-Turing Estimate En la estimacioacuten de Good Turing por cada N-Grama que ocurre r veces se pondera el

numero de N-gramas que ocurren exactamente r veces en el corpus de entrenamiento Witten-Bell Smoothing

Esta teacutecnica se basa en el modelo de interpolacioacuten lineal Se utiliza un modelo de mayor orden si el n-grama wi i1048576N+1 esta presente en el corpus de entrenamiento y se utilizan modelos de menor orden en caso contrario

Google N-Grams Datasets

Cuando no se tiene un corpus de entrenamiento pueden utilizarse datasets disponibles en la web para calcular la probabilidad de ocurrencia de una sentencia dada

Existen herramientas como Google N-Grams Dataset (Google 2008) que proveen grandes colecciones de datos en distintos idiomas y permiten calcular estas probabilidades con muy buena precisioacuten

Ademaacutes Google provee una herramienta para visualizar graacuteficamente la probabilidad de ocurrencia de un conjunto de sentencias dado un idioma y un nuacutemero de smoothing y utilizando grandes cantidades de libros como corpus de datos

Ngram Viewer Consideremos la sentencia ldquoun viaje y supongamos que

queremos estimar la probabilidad de que esta secuencia de palabras este seguida de la palabra ldquoa es decir P(ajun viaje)

Se observa en un corpus de entrenamiento que esta sentencia aparece diez veces de las cuales seis estaacuten seguidas de la palabra ldquoa tres de la palabra ldquolargo y una de la palabra ldquodesde

La estimacioacuten basada en frecuencias relativas asignara las siguientes probabilidades de ocurrencia de la proacutexima palabra

P(a|un viaje) = 06 P(largo|un viaje) = 03 P(desde|un viaje) = 01

La estimacioacuten MLE asignara probabilidad cero a cualquier otro evento que no se encuentre en el corpus de entrenamiento y maximizara la probabilidad de los eventos observados

4En espa~nol es conocido comohttpsbooksgooglecomngrams

Deteccioacuten de features

Bag of Words Se consideran features todos los teacuterminos del corpus de entrenamiento descartando la posicioacuten Cuando se utiliza este feature puede considerarse frecuencia de aparicioacuten o no por lo que podemos hacer la siguiente distincioacuten

Presencia de Unigramas por cada documento se evaluacutea la presencia o ausencia de cada unigrama descartando la informacioacuten de frecuencia de aparicioacuten

Frecuencia de Unigramas por cada documento se evaluacutea la frecuencia con la que aparece cada unigrama

Presencia de Bigramas se consideran features todos los conjuntos de dos teacuterminos consecutivos del corpus de entrenamiento y por cada documento se evaluacutea la presencia o ausencia de cada bigrama

Presencia de Adjetivos se consideran features todos los adjetivos del corpus de entrenamiento y por cada documento se evaluacutea presencia o ausencia Este tipo de feature es utilizado en tareas de AS dado que los adjetivos aportan la informacioacuten mas relevante en cuanto a opiniones y sentimientos

Deteccioacuten de features

Cuando se tienen demasiados features puede ser necesario eliminar aquellos que aporten menos informacioacuten al clasificador con el objetivo de mejorar la performance y reducir el costo de entrenamiento Para esta tarea el meacutetodo mas utilizado consiste en seleccionar los top N features (generalmente en porcentaje) ordenados por frecuencia de aparicioacuten en el conjunto de datos de entrenamiento

En aplicaciones reales de anaacutelisis de sentimientos resulta fundamental utilizar features y pesos especiacuteficos de dominio para mejorar la performance de los clasificadores

Modelos Generativos vs Discriminativos

Los clasificadores generativos aprenden el modelo a partir de la forma en que se generan las observaciones esto es a partir de la probabilidad conjunta P(CD) (donde D es el documento y C la clase) y realizan la prediccioacuten maximizando la probabilidad condicional P(C|D) que es calculada utilizando el teorema de Bayes

Los clasificadores discriminativos modelan directamente la probabilidad condicional P(C|D) para realizar la prediccioacuten es decir a partir de la estructura oculta de los datos sin tener en cuenta la forma en que se generan

La desventaja de los modelos generativos es que resuelven un problema maacutes general como paso intermedio en cambio en los modelos discriminativos se resuelve el problema de clasificacioacuten directamente

Si tuvieacuteramos que clasificar el idioma de un texto dado el enfoque generativo se basaraacute en aprender el idioma a partir de las observaciones del corpus de entrenamiento para luego predecir en que idioma esta escrito el texto

La caracteriacutestica maacutes importante de los modelos discriminativos es que asignan pesos a los features de forma que el modelo corresponda con las observaciones Esto resuelve el problema de los modelos generativos donde los features son multiplicados aunque aporten la misma informacioacuten

Los modelos generativos mas importantes son los modelos de N-Gramas y NB y los modelos discriminativos mas relevantes son Logistic Regression Maximum Entropy Models SVM etc

NB

NB es un meacutetodo de clasificacioacuten supervisado y generativo que se basa en el teorema de Bayes y en la premisa de independencia de los atributos dada una clase

Las distintas implementaciones difieren principalmente en la aproximacioacuten de P(fk|Ci) y las teacutecnicas de smoothing utilizadas para el tratamiento de probabilidades bajas o nulas

Multinomial NB

En el caso de utilizar como features todos los teacuterminos del vocabulario del corpus de entrenamiento teniendo en cuenta su frecuencia de aparicioacuten add-one como teacutecnica de smoothing y MLE para estimar P(fk|Ci)

Multinomial NB - Ejemplo

Multinomial NB - Ejemplo

Binarized Multinomial NB

En el modelo Multinomial consideraacutebamos la frecuencia de aparicioacuten de cada feature para la estimacioacuten de P(fk|Ci) A diferencia de este meacutetodo NB puede ser implementado considerando exclusivamente presencia o ausencia de features es decir asociaacutendolos con un valor booleano cuando se evaluacutea un documento y descartando informacioacuten de frecuencia y posicioacuten

Binarized Multinomial NB - Ejemplo

Modelo de Maacutexima Entropiacutea

Es un meacutetodo de clasificacioacuten discriminativo y de aprendizaje supervisado donde los documentos del conjunto de datos son descriptos a partir de una lista de features siendo cada uno de estos features una restriccioacuten del modelo

Este meacutetodo se basa en seleccionar la distribucioacuten de probabilidad que satisfaga todas las restricciones del modelo y maximice la entropiacutea Esto apunta a preservar la incertidumbre tanto como sea posible

Polaridad de Turney Propone en su trabajo un meacutetodo no-supervisado

para la clasificacioacuten de textos seguacuten informacioacuten subjetiva que se basa en predecir la polaridad de un documento en base a su orientacioacuten semaacutentica

La orientacioacuten de un documento es calculada en base a la distancia a los teacuterminos del idioma ingles ldquoexcelent y ldquopoor que sugieren referencias positivas y negativas respectivamente

El algoritmo propuesto consiste en los siguientes 3 pasos

Extraer las frases del documento que contienen adjetivos o adverbios utilizando una herramienta de part-of-speech tagging

Estimar la orientacioacuten semaacutentica de cada frase extraiacuteda utilizando el algoritmo PMI-IR

Asignar las clases ldquorecomendado o ldquono recomendado al documento

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Polaridad de Turney

En el primer paso se extraen grupos de dos palabras cuyas etiquetas correspondan con los siguientes patrones

Siendo JJ Adjetivos NN Sustantivos en Singular NNS

Sustantivos en Plural RB Adverbios RBS Adverbios Superlativos RBR Adverbios Comparativos VB Verbos VBD Verbos en Pasado VBN Verbos en Pasado Participio VBG Verbos Gerundios o Pasado Participio

Algoritmo PMI-IR

Este algoritmo utiliza la teacutecnica de Pointwise Mutual Information (PMI) para obtener una medida de la asociacioacuten semaacutentica entre dos palabras seguacuten la ecuacioacuten que sigue

Siendo p(word1 amp word2) la probabilidad de que las palabras ocurran juntas

Luego la orientacioacuten semaacutentica se calcularaacute de la siguiente manera

Algoritmo PMI-IR El algoritmo PMI-IR estima el valor de PMI

realizando consultas a un motor de buacutesqueda a partir de la cantidad de resultados que devuelve la consulta y utilizando el operador NEAR que proveen algunos buscadores para estimar la ocurrencia conjunta de dos teacuterminos

Por ultimo la clasificacioacuten de un documento como ldquorecomendable o ldquono recomendable se realizaraacute a partir del caacutelculo de la orientacioacuten semaacutentica promedio de todas las frases extraiacutedas del documento

Algoritmo PMI-IR Consideraremos los teacuterminos ldquoexcelente como referencia

de polaridad positiva y los teacuterminos ldquomal malo mala como referencia negativa y estimaremos el operador NEAR a partir de la ocurrencia conjunta de palabras en la misma sentencia Consideremos las frases ldquobuena comida y ldquocomida friacutea para el caacutelculo de orientacioacuten semaacutentica

Clasificacioacuten basada en Leacutexico de Opinioacuten Existen otros meacutetodos de clasificacioacuten considerados no

supervisados o semi-supervisados que se basan en utilizar un conjunto de teacuterminos ldquosemillaldquo cuya polaridad es conocida y la clasificacioacuten consiste en calcular la similitud o distancia de los teacuterminos que componen el documento a estos teacuterminos conocidos

En este tipo de meacutetodos el leacutexico es utilizado como reemplazo de los features del modelo El ejemplo mas extremo de utilizacioacuten de leacutexico de opinioacuten es el algoritmo de Turney que utiliza la polaridad conocida de dos uacutenicos teacuterminos para clasificar un texto a partir de la distancia de los teacuterminos del documento a ellos

En un trabajo Sidorov (2012) se propone un leacutexico de opinioacuten de mas de 2000 palabras en idioma espantildeol que incluye la distancia de cada uno de estos teacuterminos a alguna de las siguientes emociones baacutesicas alegra ira miedo tristeza sorpresa y disgusto

En base a esta informacioacuten podraacute desarrollarse un algoritmo que infiera la polaridad de una sentencia a partir de calcular la distancia de los teacuterminos que la componen a las emociones baacutesicas asociadas a sentimientos positivos o negativos

Clasificacioacuten basada en Leacutexico de Opinioacuten

En este tipo de clasificadores puede ser necesario asociar la polaridad de los teacuterminos del leacutexico a dominios u objetivos especiacuteficos Por ejemplo

La palabra ldquobarato puede asociarse a sentimientos positivos cuando se refiere a comida y a sentimientos negativos cuando se refiere a vestimenta o decoracioacuten de ambientes

La palabra ldquoantildeejo tiene una connotacioacuten positiva cuando se refiere a vinos y altamente negativa si se refiere a comida

El termino ldquofriacuteo se asocia a emociones negativas si se habla de pizza y positivas si se habla de cervezas etc

Clasificacioacuten basada en Leacutexico de Opinioacuten Otro meacutetodo semi-supervisado basado en leacutexico de opinioacuten

consiste en identificar la polaridad de los adjetivos de un texto a partir de la ocurrencia conjunta con teacuterminos cuya polaridad es conocida y teniendo en cuenta la conjuncioacuten que los relaciona es decir considerando que si los adjetivos estaacuten conectados por el termino ldquoy tendraacuten la misma polaridad mientras que si aparecen conectados por el termino ldquopero tendraacuten polaridad opuesta

Un ejemplo Etiquetar un conjunto inicial de adjetivos semilla seguacuten su

polaridad Extender el conjunto anterior a partir de la ocurrencia conjunta

de los adjetivos conocidos con otros adjetivos y teniendo en cuenta la conjuncioacuten que los relaciona para determinar si tienen la misma polaridad u opuesta

Utilizar un clasificador supervisado para determinar el grado de similitud de polaridad de cada par de adjetivos generando como resultado un graacutefico que relacione los adjetivos del conjunto de datos

Clusterizar el graacutefico anterior en dos grandes grupos de polaridad similar (positivos y negativos)

Clasificacioacuten basada en Puntaje Para clasificar un texto de forma maacutes subjetiva se puede asignar a

cada documento un puntaje dentro de una escala dependiendo del grado de polaridad que expresa (por ejemplo asignar estrellas del 1 al 5)

La solucioacuten mas simple para esta tarea es clasificar el texto utilizando muacuteltiples categoriacuteas como clases Esta clasificacioacuten puede realizarse con los algoritmos como NB

Como SVM se utiliza para clasificacioacuten binaria se puede utilizar One-vs-All que se basa en crear un clasificador SVM para cada clase cuya salida nos permita saber si el documento pertenece o no a la clase en cuestioacuten

Otra solucion para resolver esta tarea consideraacutendola un problema de metric labeling En este tipo de problema la entrada es un conjunto de etiquetas (clases) y un grafo ponderado Se define una funcioacuten de distancia de las etiquetas y para cada etiqueta el costo de asignacioacuten a cada veacutertice siendo el objetivo encontrar el menor costo de asignar una etiqueta a un veacutertice Este enfoque combina los clasificadores SVM y k-nearest neighbors que es un meacutetodo no parametrito de clasificacioacuten basado en encontrar los elementos mas cercanos del conjunto de datos de entrenamiento en el espacio de features

Otro enfoque para la tarea de clasificacioacuten en muacuteltiples categoriacuteas consiste en utilizar un meacutetodo de regresioacuten considerando que las categoriacuteas corresponden a la discretizacioacuten de una funcioacuten continua

Clasificacioacuten de Muacuteltiples Aspectos Hasta ahora hemos presentado las tareas de anaacutelisis de

sentimientos a nivel de documento es decir asignando una clase a un documento completo a partir de las emociones que expresa Esta clasificacioacuten puede ser binaria (polaridad positiva o negativa) o basada en muacuteltiples categoriacuteas (utilizando puntajes o estrellas como clases) pero en ambos casos se claacutesica el documento completo

En esta seccioacuten presentaremos la clasificacioacuten aislada de los muacuteltiples objetivos aspectos o targets que generan opinioacuten dentro de un mismo documento Esta tarea es conocida como Multi-Aspect Sentiment Analysis

El objetivo de esta tarea consiste en la identificacioacuten de aspectos que generan opinioacuten dentro de un mismo documento seleccionando aquellas caracteriacutesticas que son frecuentemente mencionadas y las emociones asociadas Para identificar estas caracteriacutesticas o aspectos la solucioacuten mas simple consiste en utilizar un parser que nos permita obtener las frases nominales del documento teniendo en cuenta que la mayora de los aspectos son sustantivos

Clasificacioacuten de Muacuteltiples Aspectos

ldquoexcelente comida el ambiente es bastante ruidoso pero los precios accesibles

Clasificacioacuten de Muacuteltiples Aspectos A partir de la clasificacioacuten anterior podremos extraer los

sustantivos o frases nominales que nos permitiraacuten identificar teacuterminos candidatos a aspectos y los adjetivos para identificar las emociones asociadas Para obtener la polaridad de sentimientos utilizaremos los meacutetodos de clasificacioacuten estudiados en secciones anteriores

Luego a partir de la polaridad de la emocioacuten que genera cada aspecto debemos establecer un criterio que nos permita asignar pesos para obtener la polaridad general del documento La forma mas simple Serra basaacutendonos en la frecuencia de aparicioacuten de cada aspecto en el corpus de datos

Otro meacutetodo simple para la identificacioacuten de targets que generan opinioacuten consiste en definir aspectos ad-hoc para un determinado dominio por ejemplo

f(COMIDA SERVICIO AMBIENTE OTROS) y luego ejecutar la clasificacioacuten de todos los teacuterminos del

documento utilizando un meacutetodo supervisado y un conjunto de datos de entrenamiento clasificado manualmente que nos permita obtener aquellos teacuterminos que pertenecen a alguna de las clases de aspectos relevantes generadores de opinioacuten

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 21: Poggi   analytics - sentiment - 1

Google N-Grams Datasets

Cuando no se tiene un corpus de entrenamiento pueden utilizarse datasets disponibles en la web para calcular la probabilidad de ocurrencia de una sentencia dada

Existen herramientas como Google N-Grams Dataset (Google 2008) que proveen grandes colecciones de datos en distintos idiomas y permiten calcular estas probabilidades con muy buena precisioacuten

Ademaacutes Google provee una herramienta para visualizar graacuteficamente la probabilidad de ocurrencia de un conjunto de sentencias dado un idioma y un nuacutemero de smoothing y utilizando grandes cantidades de libros como corpus de datos

Ngram Viewer Consideremos la sentencia ldquoun viaje y supongamos que

queremos estimar la probabilidad de que esta secuencia de palabras este seguida de la palabra ldquoa es decir P(ajun viaje)

Se observa en un corpus de entrenamiento que esta sentencia aparece diez veces de las cuales seis estaacuten seguidas de la palabra ldquoa tres de la palabra ldquolargo y una de la palabra ldquodesde

La estimacioacuten basada en frecuencias relativas asignara las siguientes probabilidades de ocurrencia de la proacutexima palabra

P(a|un viaje) = 06 P(largo|un viaje) = 03 P(desde|un viaje) = 01

La estimacioacuten MLE asignara probabilidad cero a cualquier otro evento que no se encuentre en el corpus de entrenamiento y maximizara la probabilidad de los eventos observados

4En espa~nol es conocido comohttpsbooksgooglecomngrams

Deteccioacuten de features

Bag of Words Se consideran features todos los teacuterminos del corpus de entrenamiento descartando la posicioacuten Cuando se utiliza este feature puede considerarse frecuencia de aparicioacuten o no por lo que podemos hacer la siguiente distincioacuten

Presencia de Unigramas por cada documento se evaluacutea la presencia o ausencia de cada unigrama descartando la informacioacuten de frecuencia de aparicioacuten

Frecuencia de Unigramas por cada documento se evaluacutea la frecuencia con la que aparece cada unigrama

Presencia de Bigramas se consideran features todos los conjuntos de dos teacuterminos consecutivos del corpus de entrenamiento y por cada documento se evaluacutea la presencia o ausencia de cada bigrama

Presencia de Adjetivos se consideran features todos los adjetivos del corpus de entrenamiento y por cada documento se evaluacutea presencia o ausencia Este tipo de feature es utilizado en tareas de AS dado que los adjetivos aportan la informacioacuten mas relevante en cuanto a opiniones y sentimientos

Deteccioacuten de features

Cuando se tienen demasiados features puede ser necesario eliminar aquellos que aporten menos informacioacuten al clasificador con el objetivo de mejorar la performance y reducir el costo de entrenamiento Para esta tarea el meacutetodo mas utilizado consiste en seleccionar los top N features (generalmente en porcentaje) ordenados por frecuencia de aparicioacuten en el conjunto de datos de entrenamiento

En aplicaciones reales de anaacutelisis de sentimientos resulta fundamental utilizar features y pesos especiacuteficos de dominio para mejorar la performance de los clasificadores

Modelos Generativos vs Discriminativos

Los clasificadores generativos aprenden el modelo a partir de la forma en que se generan las observaciones esto es a partir de la probabilidad conjunta P(CD) (donde D es el documento y C la clase) y realizan la prediccioacuten maximizando la probabilidad condicional P(C|D) que es calculada utilizando el teorema de Bayes

Los clasificadores discriminativos modelan directamente la probabilidad condicional P(C|D) para realizar la prediccioacuten es decir a partir de la estructura oculta de los datos sin tener en cuenta la forma en que se generan

La desventaja de los modelos generativos es que resuelven un problema maacutes general como paso intermedio en cambio en los modelos discriminativos se resuelve el problema de clasificacioacuten directamente

Si tuvieacuteramos que clasificar el idioma de un texto dado el enfoque generativo se basaraacute en aprender el idioma a partir de las observaciones del corpus de entrenamiento para luego predecir en que idioma esta escrito el texto

La caracteriacutestica maacutes importante de los modelos discriminativos es que asignan pesos a los features de forma que el modelo corresponda con las observaciones Esto resuelve el problema de los modelos generativos donde los features son multiplicados aunque aporten la misma informacioacuten

Los modelos generativos mas importantes son los modelos de N-Gramas y NB y los modelos discriminativos mas relevantes son Logistic Regression Maximum Entropy Models SVM etc

NB

NB es un meacutetodo de clasificacioacuten supervisado y generativo que se basa en el teorema de Bayes y en la premisa de independencia de los atributos dada una clase

Las distintas implementaciones difieren principalmente en la aproximacioacuten de P(fk|Ci) y las teacutecnicas de smoothing utilizadas para el tratamiento de probabilidades bajas o nulas

Multinomial NB

En el caso de utilizar como features todos los teacuterminos del vocabulario del corpus de entrenamiento teniendo en cuenta su frecuencia de aparicioacuten add-one como teacutecnica de smoothing y MLE para estimar P(fk|Ci)

Multinomial NB - Ejemplo

Multinomial NB - Ejemplo

Binarized Multinomial NB

En el modelo Multinomial consideraacutebamos la frecuencia de aparicioacuten de cada feature para la estimacioacuten de P(fk|Ci) A diferencia de este meacutetodo NB puede ser implementado considerando exclusivamente presencia o ausencia de features es decir asociaacutendolos con un valor booleano cuando se evaluacutea un documento y descartando informacioacuten de frecuencia y posicioacuten

Binarized Multinomial NB - Ejemplo

Modelo de Maacutexima Entropiacutea

Es un meacutetodo de clasificacioacuten discriminativo y de aprendizaje supervisado donde los documentos del conjunto de datos son descriptos a partir de una lista de features siendo cada uno de estos features una restriccioacuten del modelo

Este meacutetodo se basa en seleccionar la distribucioacuten de probabilidad que satisfaga todas las restricciones del modelo y maximice la entropiacutea Esto apunta a preservar la incertidumbre tanto como sea posible

Polaridad de Turney Propone en su trabajo un meacutetodo no-supervisado

para la clasificacioacuten de textos seguacuten informacioacuten subjetiva que se basa en predecir la polaridad de un documento en base a su orientacioacuten semaacutentica

La orientacioacuten de un documento es calculada en base a la distancia a los teacuterminos del idioma ingles ldquoexcelent y ldquopoor que sugieren referencias positivas y negativas respectivamente

El algoritmo propuesto consiste en los siguientes 3 pasos

Extraer las frases del documento que contienen adjetivos o adverbios utilizando una herramienta de part-of-speech tagging

Estimar la orientacioacuten semaacutentica de cada frase extraiacuteda utilizando el algoritmo PMI-IR

Asignar las clases ldquorecomendado o ldquono recomendado al documento

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Polaridad de Turney

En el primer paso se extraen grupos de dos palabras cuyas etiquetas correspondan con los siguientes patrones

Siendo JJ Adjetivos NN Sustantivos en Singular NNS

Sustantivos en Plural RB Adverbios RBS Adverbios Superlativos RBR Adverbios Comparativos VB Verbos VBD Verbos en Pasado VBN Verbos en Pasado Participio VBG Verbos Gerundios o Pasado Participio

Algoritmo PMI-IR

Este algoritmo utiliza la teacutecnica de Pointwise Mutual Information (PMI) para obtener una medida de la asociacioacuten semaacutentica entre dos palabras seguacuten la ecuacioacuten que sigue

Siendo p(word1 amp word2) la probabilidad de que las palabras ocurran juntas

Luego la orientacioacuten semaacutentica se calcularaacute de la siguiente manera

Algoritmo PMI-IR El algoritmo PMI-IR estima el valor de PMI

realizando consultas a un motor de buacutesqueda a partir de la cantidad de resultados que devuelve la consulta y utilizando el operador NEAR que proveen algunos buscadores para estimar la ocurrencia conjunta de dos teacuterminos

Por ultimo la clasificacioacuten de un documento como ldquorecomendable o ldquono recomendable se realizaraacute a partir del caacutelculo de la orientacioacuten semaacutentica promedio de todas las frases extraiacutedas del documento

Algoritmo PMI-IR Consideraremos los teacuterminos ldquoexcelente como referencia

de polaridad positiva y los teacuterminos ldquomal malo mala como referencia negativa y estimaremos el operador NEAR a partir de la ocurrencia conjunta de palabras en la misma sentencia Consideremos las frases ldquobuena comida y ldquocomida friacutea para el caacutelculo de orientacioacuten semaacutentica

Clasificacioacuten basada en Leacutexico de Opinioacuten Existen otros meacutetodos de clasificacioacuten considerados no

supervisados o semi-supervisados que se basan en utilizar un conjunto de teacuterminos ldquosemillaldquo cuya polaridad es conocida y la clasificacioacuten consiste en calcular la similitud o distancia de los teacuterminos que componen el documento a estos teacuterminos conocidos

En este tipo de meacutetodos el leacutexico es utilizado como reemplazo de los features del modelo El ejemplo mas extremo de utilizacioacuten de leacutexico de opinioacuten es el algoritmo de Turney que utiliza la polaridad conocida de dos uacutenicos teacuterminos para clasificar un texto a partir de la distancia de los teacuterminos del documento a ellos

En un trabajo Sidorov (2012) se propone un leacutexico de opinioacuten de mas de 2000 palabras en idioma espantildeol que incluye la distancia de cada uno de estos teacuterminos a alguna de las siguientes emociones baacutesicas alegra ira miedo tristeza sorpresa y disgusto

En base a esta informacioacuten podraacute desarrollarse un algoritmo que infiera la polaridad de una sentencia a partir de calcular la distancia de los teacuterminos que la componen a las emociones baacutesicas asociadas a sentimientos positivos o negativos

Clasificacioacuten basada en Leacutexico de Opinioacuten

En este tipo de clasificadores puede ser necesario asociar la polaridad de los teacuterminos del leacutexico a dominios u objetivos especiacuteficos Por ejemplo

La palabra ldquobarato puede asociarse a sentimientos positivos cuando se refiere a comida y a sentimientos negativos cuando se refiere a vestimenta o decoracioacuten de ambientes

La palabra ldquoantildeejo tiene una connotacioacuten positiva cuando se refiere a vinos y altamente negativa si se refiere a comida

El termino ldquofriacuteo se asocia a emociones negativas si se habla de pizza y positivas si se habla de cervezas etc

Clasificacioacuten basada en Leacutexico de Opinioacuten Otro meacutetodo semi-supervisado basado en leacutexico de opinioacuten

consiste en identificar la polaridad de los adjetivos de un texto a partir de la ocurrencia conjunta con teacuterminos cuya polaridad es conocida y teniendo en cuenta la conjuncioacuten que los relaciona es decir considerando que si los adjetivos estaacuten conectados por el termino ldquoy tendraacuten la misma polaridad mientras que si aparecen conectados por el termino ldquopero tendraacuten polaridad opuesta

Un ejemplo Etiquetar un conjunto inicial de adjetivos semilla seguacuten su

polaridad Extender el conjunto anterior a partir de la ocurrencia conjunta

de los adjetivos conocidos con otros adjetivos y teniendo en cuenta la conjuncioacuten que los relaciona para determinar si tienen la misma polaridad u opuesta

Utilizar un clasificador supervisado para determinar el grado de similitud de polaridad de cada par de adjetivos generando como resultado un graacutefico que relacione los adjetivos del conjunto de datos

Clusterizar el graacutefico anterior en dos grandes grupos de polaridad similar (positivos y negativos)

Clasificacioacuten basada en Puntaje Para clasificar un texto de forma maacutes subjetiva se puede asignar a

cada documento un puntaje dentro de una escala dependiendo del grado de polaridad que expresa (por ejemplo asignar estrellas del 1 al 5)

La solucioacuten mas simple para esta tarea es clasificar el texto utilizando muacuteltiples categoriacuteas como clases Esta clasificacioacuten puede realizarse con los algoritmos como NB

Como SVM se utiliza para clasificacioacuten binaria se puede utilizar One-vs-All que se basa en crear un clasificador SVM para cada clase cuya salida nos permita saber si el documento pertenece o no a la clase en cuestioacuten

Otra solucion para resolver esta tarea consideraacutendola un problema de metric labeling En este tipo de problema la entrada es un conjunto de etiquetas (clases) y un grafo ponderado Se define una funcioacuten de distancia de las etiquetas y para cada etiqueta el costo de asignacioacuten a cada veacutertice siendo el objetivo encontrar el menor costo de asignar una etiqueta a un veacutertice Este enfoque combina los clasificadores SVM y k-nearest neighbors que es un meacutetodo no parametrito de clasificacioacuten basado en encontrar los elementos mas cercanos del conjunto de datos de entrenamiento en el espacio de features

Otro enfoque para la tarea de clasificacioacuten en muacuteltiples categoriacuteas consiste en utilizar un meacutetodo de regresioacuten considerando que las categoriacuteas corresponden a la discretizacioacuten de una funcioacuten continua

Clasificacioacuten de Muacuteltiples Aspectos Hasta ahora hemos presentado las tareas de anaacutelisis de

sentimientos a nivel de documento es decir asignando una clase a un documento completo a partir de las emociones que expresa Esta clasificacioacuten puede ser binaria (polaridad positiva o negativa) o basada en muacuteltiples categoriacuteas (utilizando puntajes o estrellas como clases) pero en ambos casos se claacutesica el documento completo

En esta seccioacuten presentaremos la clasificacioacuten aislada de los muacuteltiples objetivos aspectos o targets que generan opinioacuten dentro de un mismo documento Esta tarea es conocida como Multi-Aspect Sentiment Analysis

El objetivo de esta tarea consiste en la identificacioacuten de aspectos que generan opinioacuten dentro de un mismo documento seleccionando aquellas caracteriacutesticas que son frecuentemente mencionadas y las emociones asociadas Para identificar estas caracteriacutesticas o aspectos la solucioacuten mas simple consiste en utilizar un parser que nos permita obtener las frases nominales del documento teniendo en cuenta que la mayora de los aspectos son sustantivos

Clasificacioacuten de Muacuteltiples Aspectos

ldquoexcelente comida el ambiente es bastante ruidoso pero los precios accesibles

Clasificacioacuten de Muacuteltiples Aspectos A partir de la clasificacioacuten anterior podremos extraer los

sustantivos o frases nominales que nos permitiraacuten identificar teacuterminos candidatos a aspectos y los adjetivos para identificar las emociones asociadas Para obtener la polaridad de sentimientos utilizaremos los meacutetodos de clasificacioacuten estudiados en secciones anteriores

Luego a partir de la polaridad de la emocioacuten que genera cada aspecto debemos establecer un criterio que nos permita asignar pesos para obtener la polaridad general del documento La forma mas simple Serra basaacutendonos en la frecuencia de aparicioacuten de cada aspecto en el corpus de datos

Otro meacutetodo simple para la identificacioacuten de targets que generan opinioacuten consiste en definir aspectos ad-hoc para un determinado dominio por ejemplo

f(COMIDA SERVICIO AMBIENTE OTROS) y luego ejecutar la clasificacioacuten de todos los teacuterminos del

documento utilizando un meacutetodo supervisado y un conjunto de datos de entrenamiento clasificado manualmente que nos permita obtener aquellos teacuterminos que pertenecen a alguna de las clases de aspectos relevantes generadores de opinioacuten

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 22: Poggi   analytics - sentiment - 1

Ngram Viewer Consideremos la sentencia ldquoun viaje y supongamos que

queremos estimar la probabilidad de que esta secuencia de palabras este seguida de la palabra ldquoa es decir P(ajun viaje)

Se observa en un corpus de entrenamiento que esta sentencia aparece diez veces de las cuales seis estaacuten seguidas de la palabra ldquoa tres de la palabra ldquolargo y una de la palabra ldquodesde

La estimacioacuten basada en frecuencias relativas asignara las siguientes probabilidades de ocurrencia de la proacutexima palabra

P(a|un viaje) = 06 P(largo|un viaje) = 03 P(desde|un viaje) = 01

La estimacioacuten MLE asignara probabilidad cero a cualquier otro evento que no se encuentre en el corpus de entrenamiento y maximizara la probabilidad de los eventos observados

4En espa~nol es conocido comohttpsbooksgooglecomngrams

Deteccioacuten de features

Bag of Words Se consideran features todos los teacuterminos del corpus de entrenamiento descartando la posicioacuten Cuando se utiliza este feature puede considerarse frecuencia de aparicioacuten o no por lo que podemos hacer la siguiente distincioacuten

Presencia de Unigramas por cada documento se evaluacutea la presencia o ausencia de cada unigrama descartando la informacioacuten de frecuencia de aparicioacuten

Frecuencia de Unigramas por cada documento se evaluacutea la frecuencia con la que aparece cada unigrama

Presencia de Bigramas se consideran features todos los conjuntos de dos teacuterminos consecutivos del corpus de entrenamiento y por cada documento se evaluacutea la presencia o ausencia de cada bigrama

Presencia de Adjetivos se consideran features todos los adjetivos del corpus de entrenamiento y por cada documento se evaluacutea presencia o ausencia Este tipo de feature es utilizado en tareas de AS dado que los adjetivos aportan la informacioacuten mas relevante en cuanto a opiniones y sentimientos

Deteccioacuten de features

Cuando se tienen demasiados features puede ser necesario eliminar aquellos que aporten menos informacioacuten al clasificador con el objetivo de mejorar la performance y reducir el costo de entrenamiento Para esta tarea el meacutetodo mas utilizado consiste en seleccionar los top N features (generalmente en porcentaje) ordenados por frecuencia de aparicioacuten en el conjunto de datos de entrenamiento

En aplicaciones reales de anaacutelisis de sentimientos resulta fundamental utilizar features y pesos especiacuteficos de dominio para mejorar la performance de los clasificadores

Modelos Generativos vs Discriminativos

Los clasificadores generativos aprenden el modelo a partir de la forma en que se generan las observaciones esto es a partir de la probabilidad conjunta P(CD) (donde D es el documento y C la clase) y realizan la prediccioacuten maximizando la probabilidad condicional P(C|D) que es calculada utilizando el teorema de Bayes

Los clasificadores discriminativos modelan directamente la probabilidad condicional P(C|D) para realizar la prediccioacuten es decir a partir de la estructura oculta de los datos sin tener en cuenta la forma en que se generan

La desventaja de los modelos generativos es que resuelven un problema maacutes general como paso intermedio en cambio en los modelos discriminativos se resuelve el problema de clasificacioacuten directamente

Si tuvieacuteramos que clasificar el idioma de un texto dado el enfoque generativo se basaraacute en aprender el idioma a partir de las observaciones del corpus de entrenamiento para luego predecir en que idioma esta escrito el texto

La caracteriacutestica maacutes importante de los modelos discriminativos es que asignan pesos a los features de forma que el modelo corresponda con las observaciones Esto resuelve el problema de los modelos generativos donde los features son multiplicados aunque aporten la misma informacioacuten

Los modelos generativos mas importantes son los modelos de N-Gramas y NB y los modelos discriminativos mas relevantes son Logistic Regression Maximum Entropy Models SVM etc

NB

NB es un meacutetodo de clasificacioacuten supervisado y generativo que se basa en el teorema de Bayes y en la premisa de independencia de los atributos dada una clase

Las distintas implementaciones difieren principalmente en la aproximacioacuten de P(fk|Ci) y las teacutecnicas de smoothing utilizadas para el tratamiento de probabilidades bajas o nulas

Multinomial NB

En el caso de utilizar como features todos los teacuterminos del vocabulario del corpus de entrenamiento teniendo en cuenta su frecuencia de aparicioacuten add-one como teacutecnica de smoothing y MLE para estimar P(fk|Ci)

Multinomial NB - Ejemplo

Multinomial NB - Ejemplo

Binarized Multinomial NB

En el modelo Multinomial consideraacutebamos la frecuencia de aparicioacuten de cada feature para la estimacioacuten de P(fk|Ci) A diferencia de este meacutetodo NB puede ser implementado considerando exclusivamente presencia o ausencia de features es decir asociaacutendolos con un valor booleano cuando se evaluacutea un documento y descartando informacioacuten de frecuencia y posicioacuten

Binarized Multinomial NB - Ejemplo

Modelo de Maacutexima Entropiacutea

Es un meacutetodo de clasificacioacuten discriminativo y de aprendizaje supervisado donde los documentos del conjunto de datos son descriptos a partir de una lista de features siendo cada uno de estos features una restriccioacuten del modelo

Este meacutetodo se basa en seleccionar la distribucioacuten de probabilidad que satisfaga todas las restricciones del modelo y maximice la entropiacutea Esto apunta a preservar la incertidumbre tanto como sea posible

Polaridad de Turney Propone en su trabajo un meacutetodo no-supervisado

para la clasificacioacuten de textos seguacuten informacioacuten subjetiva que se basa en predecir la polaridad de un documento en base a su orientacioacuten semaacutentica

La orientacioacuten de un documento es calculada en base a la distancia a los teacuterminos del idioma ingles ldquoexcelent y ldquopoor que sugieren referencias positivas y negativas respectivamente

El algoritmo propuesto consiste en los siguientes 3 pasos

Extraer las frases del documento que contienen adjetivos o adverbios utilizando una herramienta de part-of-speech tagging

Estimar la orientacioacuten semaacutentica de cada frase extraiacuteda utilizando el algoritmo PMI-IR

Asignar las clases ldquorecomendado o ldquono recomendado al documento

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Polaridad de Turney

En el primer paso se extraen grupos de dos palabras cuyas etiquetas correspondan con los siguientes patrones

Siendo JJ Adjetivos NN Sustantivos en Singular NNS

Sustantivos en Plural RB Adverbios RBS Adverbios Superlativos RBR Adverbios Comparativos VB Verbos VBD Verbos en Pasado VBN Verbos en Pasado Participio VBG Verbos Gerundios o Pasado Participio

Algoritmo PMI-IR

Este algoritmo utiliza la teacutecnica de Pointwise Mutual Information (PMI) para obtener una medida de la asociacioacuten semaacutentica entre dos palabras seguacuten la ecuacioacuten que sigue

Siendo p(word1 amp word2) la probabilidad de que las palabras ocurran juntas

Luego la orientacioacuten semaacutentica se calcularaacute de la siguiente manera

Algoritmo PMI-IR El algoritmo PMI-IR estima el valor de PMI

realizando consultas a un motor de buacutesqueda a partir de la cantidad de resultados que devuelve la consulta y utilizando el operador NEAR que proveen algunos buscadores para estimar la ocurrencia conjunta de dos teacuterminos

Por ultimo la clasificacioacuten de un documento como ldquorecomendable o ldquono recomendable se realizaraacute a partir del caacutelculo de la orientacioacuten semaacutentica promedio de todas las frases extraiacutedas del documento

Algoritmo PMI-IR Consideraremos los teacuterminos ldquoexcelente como referencia

de polaridad positiva y los teacuterminos ldquomal malo mala como referencia negativa y estimaremos el operador NEAR a partir de la ocurrencia conjunta de palabras en la misma sentencia Consideremos las frases ldquobuena comida y ldquocomida friacutea para el caacutelculo de orientacioacuten semaacutentica

Clasificacioacuten basada en Leacutexico de Opinioacuten Existen otros meacutetodos de clasificacioacuten considerados no

supervisados o semi-supervisados que se basan en utilizar un conjunto de teacuterminos ldquosemillaldquo cuya polaridad es conocida y la clasificacioacuten consiste en calcular la similitud o distancia de los teacuterminos que componen el documento a estos teacuterminos conocidos

En este tipo de meacutetodos el leacutexico es utilizado como reemplazo de los features del modelo El ejemplo mas extremo de utilizacioacuten de leacutexico de opinioacuten es el algoritmo de Turney que utiliza la polaridad conocida de dos uacutenicos teacuterminos para clasificar un texto a partir de la distancia de los teacuterminos del documento a ellos

En un trabajo Sidorov (2012) se propone un leacutexico de opinioacuten de mas de 2000 palabras en idioma espantildeol que incluye la distancia de cada uno de estos teacuterminos a alguna de las siguientes emociones baacutesicas alegra ira miedo tristeza sorpresa y disgusto

En base a esta informacioacuten podraacute desarrollarse un algoritmo que infiera la polaridad de una sentencia a partir de calcular la distancia de los teacuterminos que la componen a las emociones baacutesicas asociadas a sentimientos positivos o negativos

Clasificacioacuten basada en Leacutexico de Opinioacuten

En este tipo de clasificadores puede ser necesario asociar la polaridad de los teacuterminos del leacutexico a dominios u objetivos especiacuteficos Por ejemplo

La palabra ldquobarato puede asociarse a sentimientos positivos cuando se refiere a comida y a sentimientos negativos cuando se refiere a vestimenta o decoracioacuten de ambientes

La palabra ldquoantildeejo tiene una connotacioacuten positiva cuando se refiere a vinos y altamente negativa si se refiere a comida

El termino ldquofriacuteo se asocia a emociones negativas si se habla de pizza y positivas si se habla de cervezas etc

Clasificacioacuten basada en Leacutexico de Opinioacuten Otro meacutetodo semi-supervisado basado en leacutexico de opinioacuten

consiste en identificar la polaridad de los adjetivos de un texto a partir de la ocurrencia conjunta con teacuterminos cuya polaridad es conocida y teniendo en cuenta la conjuncioacuten que los relaciona es decir considerando que si los adjetivos estaacuten conectados por el termino ldquoy tendraacuten la misma polaridad mientras que si aparecen conectados por el termino ldquopero tendraacuten polaridad opuesta

Un ejemplo Etiquetar un conjunto inicial de adjetivos semilla seguacuten su

polaridad Extender el conjunto anterior a partir de la ocurrencia conjunta

de los adjetivos conocidos con otros adjetivos y teniendo en cuenta la conjuncioacuten que los relaciona para determinar si tienen la misma polaridad u opuesta

Utilizar un clasificador supervisado para determinar el grado de similitud de polaridad de cada par de adjetivos generando como resultado un graacutefico que relacione los adjetivos del conjunto de datos

Clusterizar el graacutefico anterior en dos grandes grupos de polaridad similar (positivos y negativos)

Clasificacioacuten basada en Puntaje Para clasificar un texto de forma maacutes subjetiva se puede asignar a

cada documento un puntaje dentro de una escala dependiendo del grado de polaridad que expresa (por ejemplo asignar estrellas del 1 al 5)

La solucioacuten mas simple para esta tarea es clasificar el texto utilizando muacuteltiples categoriacuteas como clases Esta clasificacioacuten puede realizarse con los algoritmos como NB

Como SVM se utiliza para clasificacioacuten binaria se puede utilizar One-vs-All que se basa en crear un clasificador SVM para cada clase cuya salida nos permita saber si el documento pertenece o no a la clase en cuestioacuten

Otra solucion para resolver esta tarea consideraacutendola un problema de metric labeling En este tipo de problema la entrada es un conjunto de etiquetas (clases) y un grafo ponderado Se define una funcioacuten de distancia de las etiquetas y para cada etiqueta el costo de asignacioacuten a cada veacutertice siendo el objetivo encontrar el menor costo de asignar una etiqueta a un veacutertice Este enfoque combina los clasificadores SVM y k-nearest neighbors que es un meacutetodo no parametrito de clasificacioacuten basado en encontrar los elementos mas cercanos del conjunto de datos de entrenamiento en el espacio de features

Otro enfoque para la tarea de clasificacioacuten en muacuteltiples categoriacuteas consiste en utilizar un meacutetodo de regresioacuten considerando que las categoriacuteas corresponden a la discretizacioacuten de una funcioacuten continua

Clasificacioacuten de Muacuteltiples Aspectos Hasta ahora hemos presentado las tareas de anaacutelisis de

sentimientos a nivel de documento es decir asignando una clase a un documento completo a partir de las emociones que expresa Esta clasificacioacuten puede ser binaria (polaridad positiva o negativa) o basada en muacuteltiples categoriacuteas (utilizando puntajes o estrellas como clases) pero en ambos casos se claacutesica el documento completo

En esta seccioacuten presentaremos la clasificacioacuten aislada de los muacuteltiples objetivos aspectos o targets que generan opinioacuten dentro de un mismo documento Esta tarea es conocida como Multi-Aspect Sentiment Analysis

El objetivo de esta tarea consiste en la identificacioacuten de aspectos que generan opinioacuten dentro de un mismo documento seleccionando aquellas caracteriacutesticas que son frecuentemente mencionadas y las emociones asociadas Para identificar estas caracteriacutesticas o aspectos la solucioacuten mas simple consiste en utilizar un parser que nos permita obtener las frases nominales del documento teniendo en cuenta que la mayora de los aspectos son sustantivos

Clasificacioacuten de Muacuteltiples Aspectos

ldquoexcelente comida el ambiente es bastante ruidoso pero los precios accesibles

Clasificacioacuten de Muacuteltiples Aspectos A partir de la clasificacioacuten anterior podremos extraer los

sustantivos o frases nominales que nos permitiraacuten identificar teacuterminos candidatos a aspectos y los adjetivos para identificar las emociones asociadas Para obtener la polaridad de sentimientos utilizaremos los meacutetodos de clasificacioacuten estudiados en secciones anteriores

Luego a partir de la polaridad de la emocioacuten que genera cada aspecto debemos establecer un criterio que nos permita asignar pesos para obtener la polaridad general del documento La forma mas simple Serra basaacutendonos en la frecuencia de aparicioacuten de cada aspecto en el corpus de datos

Otro meacutetodo simple para la identificacioacuten de targets que generan opinioacuten consiste en definir aspectos ad-hoc para un determinado dominio por ejemplo

f(COMIDA SERVICIO AMBIENTE OTROS) y luego ejecutar la clasificacioacuten de todos los teacuterminos del

documento utilizando un meacutetodo supervisado y un conjunto de datos de entrenamiento clasificado manualmente que nos permita obtener aquellos teacuterminos que pertenecen a alguna de las clases de aspectos relevantes generadores de opinioacuten

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 23: Poggi   analytics - sentiment - 1

Deteccioacuten de features

Bag of Words Se consideran features todos los teacuterminos del corpus de entrenamiento descartando la posicioacuten Cuando se utiliza este feature puede considerarse frecuencia de aparicioacuten o no por lo que podemos hacer la siguiente distincioacuten

Presencia de Unigramas por cada documento se evaluacutea la presencia o ausencia de cada unigrama descartando la informacioacuten de frecuencia de aparicioacuten

Frecuencia de Unigramas por cada documento se evaluacutea la frecuencia con la que aparece cada unigrama

Presencia de Bigramas se consideran features todos los conjuntos de dos teacuterminos consecutivos del corpus de entrenamiento y por cada documento se evaluacutea la presencia o ausencia de cada bigrama

Presencia de Adjetivos se consideran features todos los adjetivos del corpus de entrenamiento y por cada documento se evaluacutea presencia o ausencia Este tipo de feature es utilizado en tareas de AS dado que los adjetivos aportan la informacioacuten mas relevante en cuanto a opiniones y sentimientos

Deteccioacuten de features

Cuando se tienen demasiados features puede ser necesario eliminar aquellos que aporten menos informacioacuten al clasificador con el objetivo de mejorar la performance y reducir el costo de entrenamiento Para esta tarea el meacutetodo mas utilizado consiste en seleccionar los top N features (generalmente en porcentaje) ordenados por frecuencia de aparicioacuten en el conjunto de datos de entrenamiento

En aplicaciones reales de anaacutelisis de sentimientos resulta fundamental utilizar features y pesos especiacuteficos de dominio para mejorar la performance de los clasificadores

Modelos Generativos vs Discriminativos

Los clasificadores generativos aprenden el modelo a partir de la forma en que se generan las observaciones esto es a partir de la probabilidad conjunta P(CD) (donde D es el documento y C la clase) y realizan la prediccioacuten maximizando la probabilidad condicional P(C|D) que es calculada utilizando el teorema de Bayes

Los clasificadores discriminativos modelan directamente la probabilidad condicional P(C|D) para realizar la prediccioacuten es decir a partir de la estructura oculta de los datos sin tener en cuenta la forma en que se generan

La desventaja de los modelos generativos es que resuelven un problema maacutes general como paso intermedio en cambio en los modelos discriminativos se resuelve el problema de clasificacioacuten directamente

Si tuvieacuteramos que clasificar el idioma de un texto dado el enfoque generativo se basaraacute en aprender el idioma a partir de las observaciones del corpus de entrenamiento para luego predecir en que idioma esta escrito el texto

La caracteriacutestica maacutes importante de los modelos discriminativos es que asignan pesos a los features de forma que el modelo corresponda con las observaciones Esto resuelve el problema de los modelos generativos donde los features son multiplicados aunque aporten la misma informacioacuten

Los modelos generativos mas importantes son los modelos de N-Gramas y NB y los modelos discriminativos mas relevantes son Logistic Regression Maximum Entropy Models SVM etc

NB

NB es un meacutetodo de clasificacioacuten supervisado y generativo que se basa en el teorema de Bayes y en la premisa de independencia de los atributos dada una clase

Las distintas implementaciones difieren principalmente en la aproximacioacuten de P(fk|Ci) y las teacutecnicas de smoothing utilizadas para el tratamiento de probabilidades bajas o nulas

Multinomial NB

En el caso de utilizar como features todos los teacuterminos del vocabulario del corpus de entrenamiento teniendo en cuenta su frecuencia de aparicioacuten add-one como teacutecnica de smoothing y MLE para estimar P(fk|Ci)

Multinomial NB - Ejemplo

Multinomial NB - Ejemplo

Binarized Multinomial NB

En el modelo Multinomial consideraacutebamos la frecuencia de aparicioacuten de cada feature para la estimacioacuten de P(fk|Ci) A diferencia de este meacutetodo NB puede ser implementado considerando exclusivamente presencia o ausencia de features es decir asociaacutendolos con un valor booleano cuando se evaluacutea un documento y descartando informacioacuten de frecuencia y posicioacuten

Binarized Multinomial NB - Ejemplo

Modelo de Maacutexima Entropiacutea

Es un meacutetodo de clasificacioacuten discriminativo y de aprendizaje supervisado donde los documentos del conjunto de datos son descriptos a partir de una lista de features siendo cada uno de estos features una restriccioacuten del modelo

Este meacutetodo se basa en seleccionar la distribucioacuten de probabilidad que satisfaga todas las restricciones del modelo y maximice la entropiacutea Esto apunta a preservar la incertidumbre tanto como sea posible

Polaridad de Turney Propone en su trabajo un meacutetodo no-supervisado

para la clasificacioacuten de textos seguacuten informacioacuten subjetiva que se basa en predecir la polaridad de un documento en base a su orientacioacuten semaacutentica

La orientacioacuten de un documento es calculada en base a la distancia a los teacuterminos del idioma ingles ldquoexcelent y ldquopoor que sugieren referencias positivas y negativas respectivamente

El algoritmo propuesto consiste en los siguientes 3 pasos

Extraer las frases del documento que contienen adjetivos o adverbios utilizando una herramienta de part-of-speech tagging

Estimar la orientacioacuten semaacutentica de cada frase extraiacuteda utilizando el algoritmo PMI-IR

Asignar las clases ldquorecomendado o ldquono recomendado al documento

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Polaridad de Turney

En el primer paso se extraen grupos de dos palabras cuyas etiquetas correspondan con los siguientes patrones

Siendo JJ Adjetivos NN Sustantivos en Singular NNS

Sustantivos en Plural RB Adverbios RBS Adverbios Superlativos RBR Adverbios Comparativos VB Verbos VBD Verbos en Pasado VBN Verbos en Pasado Participio VBG Verbos Gerundios o Pasado Participio

Algoritmo PMI-IR

Este algoritmo utiliza la teacutecnica de Pointwise Mutual Information (PMI) para obtener una medida de la asociacioacuten semaacutentica entre dos palabras seguacuten la ecuacioacuten que sigue

Siendo p(word1 amp word2) la probabilidad de que las palabras ocurran juntas

Luego la orientacioacuten semaacutentica se calcularaacute de la siguiente manera

Algoritmo PMI-IR El algoritmo PMI-IR estima el valor de PMI

realizando consultas a un motor de buacutesqueda a partir de la cantidad de resultados que devuelve la consulta y utilizando el operador NEAR que proveen algunos buscadores para estimar la ocurrencia conjunta de dos teacuterminos

Por ultimo la clasificacioacuten de un documento como ldquorecomendable o ldquono recomendable se realizaraacute a partir del caacutelculo de la orientacioacuten semaacutentica promedio de todas las frases extraiacutedas del documento

Algoritmo PMI-IR Consideraremos los teacuterminos ldquoexcelente como referencia

de polaridad positiva y los teacuterminos ldquomal malo mala como referencia negativa y estimaremos el operador NEAR a partir de la ocurrencia conjunta de palabras en la misma sentencia Consideremos las frases ldquobuena comida y ldquocomida friacutea para el caacutelculo de orientacioacuten semaacutentica

Clasificacioacuten basada en Leacutexico de Opinioacuten Existen otros meacutetodos de clasificacioacuten considerados no

supervisados o semi-supervisados que se basan en utilizar un conjunto de teacuterminos ldquosemillaldquo cuya polaridad es conocida y la clasificacioacuten consiste en calcular la similitud o distancia de los teacuterminos que componen el documento a estos teacuterminos conocidos

En este tipo de meacutetodos el leacutexico es utilizado como reemplazo de los features del modelo El ejemplo mas extremo de utilizacioacuten de leacutexico de opinioacuten es el algoritmo de Turney que utiliza la polaridad conocida de dos uacutenicos teacuterminos para clasificar un texto a partir de la distancia de los teacuterminos del documento a ellos

En un trabajo Sidorov (2012) se propone un leacutexico de opinioacuten de mas de 2000 palabras en idioma espantildeol que incluye la distancia de cada uno de estos teacuterminos a alguna de las siguientes emociones baacutesicas alegra ira miedo tristeza sorpresa y disgusto

En base a esta informacioacuten podraacute desarrollarse un algoritmo que infiera la polaridad de una sentencia a partir de calcular la distancia de los teacuterminos que la componen a las emociones baacutesicas asociadas a sentimientos positivos o negativos

Clasificacioacuten basada en Leacutexico de Opinioacuten

En este tipo de clasificadores puede ser necesario asociar la polaridad de los teacuterminos del leacutexico a dominios u objetivos especiacuteficos Por ejemplo

La palabra ldquobarato puede asociarse a sentimientos positivos cuando se refiere a comida y a sentimientos negativos cuando se refiere a vestimenta o decoracioacuten de ambientes

La palabra ldquoantildeejo tiene una connotacioacuten positiva cuando se refiere a vinos y altamente negativa si se refiere a comida

El termino ldquofriacuteo se asocia a emociones negativas si se habla de pizza y positivas si se habla de cervezas etc

Clasificacioacuten basada en Leacutexico de Opinioacuten Otro meacutetodo semi-supervisado basado en leacutexico de opinioacuten

consiste en identificar la polaridad de los adjetivos de un texto a partir de la ocurrencia conjunta con teacuterminos cuya polaridad es conocida y teniendo en cuenta la conjuncioacuten que los relaciona es decir considerando que si los adjetivos estaacuten conectados por el termino ldquoy tendraacuten la misma polaridad mientras que si aparecen conectados por el termino ldquopero tendraacuten polaridad opuesta

Un ejemplo Etiquetar un conjunto inicial de adjetivos semilla seguacuten su

polaridad Extender el conjunto anterior a partir de la ocurrencia conjunta

de los adjetivos conocidos con otros adjetivos y teniendo en cuenta la conjuncioacuten que los relaciona para determinar si tienen la misma polaridad u opuesta

Utilizar un clasificador supervisado para determinar el grado de similitud de polaridad de cada par de adjetivos generando como resultado un graacutefico que relacione los adjetivos del conjunto de datos

Clusterizar el graacutefico anterior en dos grandes grupos de polaridad similar (positivos y negativos)

Clasificacioacuten basada en Puntaje Para clasificar un texto de forma maacutes subjetiva se puede asignar a

cada documento un puntaje dentro de una escala dependiendo del grado de polaridad que expresa (por ejemplo asignar estrellas del 1 al 5)

La solucioacuten mas simple para esta tarea es clasificar el texto utilizando muacuteltiples categoriacuteas como clases Esta clasificacioacuten puede realizarse con los algoritmos como NB

Como SVM se utiliza para clasificacioacuten binaria se puede utilizar One-vs-All que se basa en crear un clasificador SVM para cada clase cuya salida nos permita saber si el documento pertenece o no a la clase en cuestioacuten

Otra solucion para resolver esta tarea consideraacutendola un problema de metric labeling En este tipo de problema la entrada es un conjunto de etiquetas (clases) y un grafo ponderado Se define una funcioacuten de distancia de las etiquetas y para cada etiqueta el costo de asignacioacuten a cada veacutertice siendo el objetivo encontrar el menor costo de asignar una etiqueta a un veacutertice Este enfoque combina los clasificadores SVM y k-nearest neighbors que es un meacutetodo no parametrito de clasificacioacuten basado en encontrar los elementos mas cercanos del conjunto de datos de entrenamiento en el espacio de features

Otro enfoque para la tarea de clasificacioacuten en muacuteltiples categoriacuteas consiste en utilizar un meacutetodo de regresioacuten considerando que las categoriacuteas corresponden a la discretizacioacuten de una funcioacuten continua

Clasificacioacuten de Muacuteltiples Aspectos Hasta ahora hemos presentado las tareas de anaacutelisis de

sentimientos a nivel de documento es decir asignando una clase a un documento completo a partir de las emociones que expresa Esta clasificacioacuten puede ser binaria (polaridad positiva o negativa) o basada en muacuteltiples categoriacuteas (utilizando puntajes o estrellas como clases) pero en ambos casos se claacutesica el documento completo

En esta seccioacuten presentaremos la clasificacioacuten aislada de los muacuteltiples objetivos aspectos o targets que generan opinioacuten dentro de un mismo documento Esta tarea es conocida como Multi-Aspect Sentiment Analysis

El objetivo de esta tarea consiste en la identificacioacuten de aspectos que generan opinioacuten dentro de un mismo documento seleccionando aquellas caracteriacutesticas que son frecuentemente mencionadas y las emociones asociadas Para identificar estas caracteriacutesticas o aspectos la solucioacuten mas simple consiste en utilizar un parser que nos permita obtener las frases nominales del documento teniendo en cuenta que la mayora de los aspectos son sustantivos

Clasificacioacuten de Muacuteltiples Aspectos

ldquoexcelente comida el ambiente es bastante ruidoso pero los precios accesibles

Clasificacioacuten de Muacuteltiples Aspectos A partir de la clasificacioacuten anterior podremos extraer los

sustantivos o frases nominales que nos permitiraacuten identificar teacuterminos candidatos a aspectos y los adjetivos para identificar las emociones asociadas Para obtener la polaridad de sentimientos utilizaremos los meacutetodos de clasificacioacuten estudiados en secciones anteriores

Luego a partir de la polaridad de la emocioacuten que genera cada aspecto debemos establecer un criterio que nos permita asignar pesos para obtener la polaridad general del documento La forma mas simple Serra basaacutendonos en la frecuencia de aparicioacuten de cada aspecto en el corpus de datos

Otro meacutetodo simple para la identificacioacuten de targets que generan opinioacuten consiste en definir aspectos ad-hoc para un determinado dominio por ejemplo

f(COMIDA SERVICIO AMBIENTE OTROS) y luego ejecutar la clasificacioacuten de todos los teacuterminos del

documento utilizando un meacutetodo supervisado y un conjunto de datos de entrenamiento clasificado manualmente que nos permita obtener aquellos teacuterminos que pertenecen a alguna de las clases de aspectos relevantes generadores de opinioacuten

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 24: Poggi   analytics - sentiment - 1

Deteccioacuten de features

Cuando se tienen demasiados features puede ser necesario eliminar aquellos que aporten menos informacioacuten al clasificador con el objetivo de mejorar la performance y reducir el costo de entrenamiento Para esta tarea el meacutetodo mas utilizado consiste en seleccionar los top N features (generalmente en porcentaje) ordenados por frecuencia de aparicioacuten en el conjunto de datos de entrenamiento

En aplicaciones reales de anaacutelisis de sentimientos resulta fundamental utilizar features y pesos especiacuteficos de dominio para mejorar la performance de los clasificadores

Modelos Generativos vs Discriminativos

Los clasificadores generativos aprenden el modelo a partir de la forma en que se generan las observaciones esto es a partir de la probabilidad conjunta P(CD) (donde D es el documento y C la clase) y realizan la prediccioacuten maximizando la probabilidad condicional P(C|D) que es calculada utilizando el teorema de Bayes

Los clasificadores discriminativos modelan directamente la probabilidad condicional P(C|D) para realizar la prediccioacuten es decir a partir de la estructura oculta de los datos sin tener en cuenta la forma en que se generan

La desventaja de los modelos generativos es que resuelven un problema maacutes general como paso intermedio en cambio en los modelos discriminativos se resuelve el problema de clasificacioacuten directamente

Si tuvieacuteramos que clasificar el idioma de un texto dado el enfoque generativo se basaraacute en aprender el idioma a partir de las observaciones del corpus de entrenamiento para luego predecir en que idioma esta escrito el texto

La caracteriacutestica maacutes importante de los modelos discriminativos es que asignan pesos a los features de forma que el modelo corresponda con las observaciones Esto resuelve el problema de los modelos generativos donde los features son multiplicados aunque aporten la misma informacioacuten

Los modelos generativos mas importantes son los modelos de N-Gramas y NB y los modelos discriminativos mas relevantes son Logistic Regression Maximum Entropy Models SVM etc

NB

NB es un meacutetodo de clasificacioacuten supervisado y generativo que se basa en el teorema de Bayes y en la premisa de independencia de los atributos dada una clase

Las distintas implementaciones difieren principalmente en la aproximacioacuten de P(fk|Ci) y las teacutecnicas de smoothing utilizadas para el tratamiento de probabilidades bajas o nulas

Multinomial NB

En el caso de utilizar como features todos los teacuterminos del vocabulario del corpus de entrenamiento teniendo en cuenta su frecuencia de aparicioacuten add-one como teacutecnica de smoothing y MLE para estimar P(fk|Ci)

Multinomial NB - Ejemplo

Multinomial NB - Ejemplo

Binarized Multinomial NB

En el modelo Multinomial consideraacutebamos la frecuencia de aparicioacuten de cada feature para la estimacioacuten de P(fk|Ci) A diferencia de este meacutetodo NB puede ser implementado considerando exclusivamente presencia o ausencia de features es decir asociaacutendolos con un valor booleano cuando se evaluacutea un documento y descartando informacioacuten de frecuencia y posicioacuten

Binarized Multinomial NB - Ejemplo

Modelo de Maacutexima Entropiacutea

Es un meacutetodo de clasificacioacuten discriminativo y de aprendizaje supervisado donde los documentos del conjunto de datos son descriptos a partir de una lista de features siendo cada uno de estos features una restriccioacuten del modelo

Este meacutetodo se basa en seleccionar la distribucioacuten de probabilidad que satisfaga todas las restricciones del modelo y maximice la entropiacutea Esto apunta a preservar la incertidumbre tanto como sea posible

Polaridad de Turney Propone en su trabajo un meacutetodo no-supervisado

para la clasificacioacuten de textos seguacuten informacioacuten subjetiva que se basa en predecir la polaridad de un documento en base a su orientacioacuten semaacutentica

La orientacioacuten de un documento es calculada en base a la distancia a los teacuterminos del idioma ingles ldquoexcelent y ldquopoor que sugieren referencias positivas y negativas respectivamente

El algoritmo propuesto consiste en los siguientes 3 pasos

Extraer las frases del documento que contienen adjetivos o adverbios utilizando una herramienta de part-of-speech tagging

Estimar la orientacioacuten semaacutentica de cada frase extraiacuteda utilizando el algoritmo PMI-IR

Asignar las clases ldquorecomendado o ldquono recomendado al documento

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Polaridad de Turney

En el primer paso se extraen grupos de dos palabras cuyas etiquetas correspondan con los siguientes patrones

Siendo JJ Adjetivos NN Sustantivos en Singular NNS

Sustantivos en Plural RB Adverbios RBS Adverbios Superlativos RBR Adverbios Comparativos VB Verbos VBD Verbos en Pasado VBN Verbos en Pasado Participio VBG Verbos Gerundios o Pasado Participio

Algoritmo PMI-IR

Este algoritmo utiliza la teacutecnica de Pointwise Mutual Information (PMI) para obtener una medida de la asociacioacuten semaacutentica entre dos palabras seguacuten la ecuacioacuten que sigue

Siendo p(word1 amp word2) la probabilidad de que las palabras ocurran juntas

Luego la orientacioacuten semaacutentica se calcularaacute de la siguiente manera

Algoritmo PMI-IR El algoritmo PMI-IR estima el valor de PMI

realizando consultas a un motor de buacutesqueda a partir de la cantidad de resultados que devuelve la consulta y utilizando el operador NEAR que proveen algunos buscadores para estimar la ocurrencia conjunta de dos teacuterminos

Por ultimo la clasificacioacuten de un documento como ldquorecomendable o ldquono recomendable se realizaraacute a partir del caacutelculo de la orientacioacuten semaacutentica promedio de todas las frases extraiacutedas del documento

Algoritmo PMI-IR Consideraremos los teacuterminos ldquoexcelente como referencia

de polaridad positiva y los teacuterminos ldquomal malo mala como referencia negativa y estimaremos el operador NEAR a partir de la ocurrencia conjunta de palabras en la misma sentencia Consideremos las frases ldquobuena comida y ldquocomida friacutea para el caacutelculo de orientacioacuten semaacutentica

Clasificacioacuten basada en Leacutexico de Opinioacuten Existen otros meacutetodos de clasificacioacuten considerados no

supervisados o semi-supervisados que se basan en utilizar un conjunto de teacuterminos ldquosemillaldquo cuya polaridad es conocida y la clasificacioacuten consiste en calcular la similitud o distancia de los teacuterminos que componen el documento a estos teacuterminos conocidos

En este tipo de meacutetodos el leacutexico es utilizado como reemplazo de los features del modelo El ejemplo mas extremo de utilizacioacuten de leacutexico de opinioacuten es el algoritmo de Turney que utiliza la polaridad conocida de dos uacutenicos teacuterminos para clasificar un texto a partir de la distancia de los teacuterminos del documento a ellos

En un trabajo Sidorov (2012) se propone un leacutexico de opinioacuten de mas de 2000 palabras en idioma espantildeol que incluye la distancia de cada uno de estos teacuterminos a alguna de las siguientes emociones baacutesicas alegra ira miedo tristeza sorpresa y disgusto

En base a esta informacioacuten podraacute desarrollarse un algoritmo que infiera la polaridad de una sentencia a partir de calcular la distancia de los teacuterminos que la componen a las emociones baacutesicas asociadas a sentimientos positivos o negativos

Clasificacioacuten basada en Leacutexico de Opinioacuten

En este tipo de clasificadores puede ser necesario asociar la polaridad de los teacuterminos del leacutexico a dominios u objetivos especiacuteficos Por ejemplo

La palabra ldquobarato puede asociarse a sentimientos positivos cuando se refiere a comida y a sentimientos negativos cuando se refiere a vestimenta o decoracioacuten de ambientes

La palabra ldquoantildeejo tiene una connotacioacuten positiva cuando se refiere a vinos y altamente negativa si se refiere a comida

El termino ldquofriacuteo se asocia a emociones negativas si se habla de pizza y positivas si se habla de cervezas etc

Clasificacioacuten basada en Leacutexico de Opinioacuten Otro meacutetodo semi-supervisado basado en leacutexico de opinioacuten

consiste en identificar la polaridad de los adjetivos de un texto a partir de la ocurrencia conjunta con teacuterminos cuya polaridad es conocida y teniendo en cuenta la conjuncioacuten que los relaciona es decir considerando que si los adjetivos estaacuten conectados por el termino ldquoy tendraacuten la misma polaridad mientras que si aparecen conectados por el termino ldquopero tendraacuten polaridad opuesta

Un ejemplo Etiquetar un conjunto inicial de adjetivos semilla seguacuten su

polaridad Extender el conjunto anterior a partir de la ocurrencia conjunta

de los adjetivos conocidos con otros adjetivos y teniendo en cuenta la conjuncioacuten que los relaciona para determinar si tienen la misma polaridad u opuesta

Utilizar un clasificador supervisado para determinar el grado de similitud de polaridad de cada par de adjetivos generando como resultado un graacutefico que relacione los adjetivos del conjunto de datos

Clusterizar el graacutefico anterior en dos grandes grupos de polaridad similar (positivos y negativos)

Clasificacioacuten basada en Puntaje Para clasificar un texto de forma maacutes subjetiva se puede asignar a

cada documento un puntaje dentro de una escala dependiendo del grado de polaridad que expresa (por ejemplo asignar estrellas del 1 al 5)

La solucioacuten mas simple para esta tarea es clasificar el texto utilizando muacuteltiples categoriacuteas como clases Esta clasificacioacuten puede realizarse con los algoritmos como NB

Como SVM se utiliza para clasificacioacuten binaria se puede utilizar One-vs-All que se basa en crear un clasificador SVM para cada clase cuya salida nos permita saber si el documento pertenece o no a la clase en cuestioacuten

Otra solucion para resolver esta tarea consideraacutendola un problema de metric labeling En este tipo de problema la entrada es un conjunto de etiquetas (clases) y un grafo ponderado Se define una funcioacuten de distancia de las etiquetas y para cada etiqueta el costo de asignacioacuten a cada veacutertice siendo el objetivo encontrar el menor costo de asignar una etiqueta a un veacutertice Este enfoque combina los clasificadores SVM y k-nearest neighbors que es un meacutetodo no parametrito de clasificacioacuten basado en encontrar los elementos mas cercanos del conjunto de datos de entrenamiento en el espacio de features

Otro enfoque para la tarea de clasificacioacuten en muacuteltiples categoriacuteas consiste en utilizar un meacutetodo de regresioacuten considerando que las categoriacuteas corresponden a la discretizacioacuten de una funcioacuten continua

Clasificacioacuten de Muacuteltiples Aspectos Hasta ahora hemos presentado las tareas de anaacutelisis de

sentimientos a nivel de documento es decir asignando una clase a un documento completo a partir de las emociones que expresa Esta clasificacioacuten puede ser binaria (polaridad positiva o negativa) o basada en muacuteltiples categoriacuteas (utilizando puntajes o estrellas como clases) pero en ambos casos se claacutesica el documento completo

En esta seccioacuten presentaremos la clasificacioacuten aislada de los muacuteltiples objetivos aspectos o targets que generan opinioacuten dentro de un mismo documento Esta tarea es conocida como Multi-Aspect Sentiment Analysis

El objetivo de esta tarea consiste en la identificacioacuten de aspectos que generan opinioacuten dentro de un mismo documento seleccionando aquellas caracteriacutesticas que son frecuentemente mencionadas y las emociones asociadas Para identificar estas caracteriacutesticas o aspectos la solucioacuten mas simple consiste en utilizar un parser que nos permita obtener las frases nominales del documento teniendo en cuenta que la mayora de los aspectos son sustantivos

Clasificacioacuten de Muacuteltiples Aspectos

ldquoexcelente comida el ambiente es bastante ruidoso pero los precios accesibles

Clasificacioacuten de Muacuteltiples Aspectos A partir de la clasificacioacuten anterior podremos extraer los

sustantivos o frases nominales que nos permitiraacuten identificar teacuterminos candidatos a aspectos y los adjetivos para identificar las emociones asociadas Para obtener la polaridad de sentimientos utilizaremos los meacutetodos de clasificacioacuten estudiados en secciones anteriores

Luego a partir de la polaridad de la emocioacuten que genera cada aspecto debemos establecer un criterio que nos permita asignar pesos para obtener la polaridad general del documento La forma mas simple Serra basaacutendonos en la frecuencia de aparicioacuten de cada aspecto en el corpus de datos

Otro meacutetodo simple para la identificacioacuten de targets que generan opinioacuten consiste en definir aspectos ad-hoc para un determinado dominio por ejemplo

f(COMIDA SERVICIO AMBIENTE OTROS) y luego ejecutar la clasificacioacuten de todos los teacuterminos del

documento utilizando un meacutetodo supervisado y un conjunto de datos de entrenamiento clasificado manualmente que nos permita obtener aquellos teacuterminos que pertenecen a alguna de las clases de aspectos relevantes generadores de opinioacuten

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 25: Poggi   analytics - sentiment - 1

Modelos Generativos vs Discriminativos

Los clasificadores generativos aprenden el modelo a partir de la forma en que se generan las observaciones esto es a partir de la probabilidad conjunta P(CD) (donde D es el documento y C la clase) y realizan la prediccioacuten maximizando la probabilidad condicional P(C|D) que es calculada utilizando el teorema de Bayes

Los clasificadores discriminativos modelan directamente la probabilidad condicional P(C|D) para realizar la prediccioacuten es decir a partir de la estructura oculta de los datos sin tener en cuenta la forma en que se generan

La desventaja de los modelos generativos es que resuelven un problema maacutes general como paso intermedio en cambio en los modelos discriminativos se resuelve el problema de clasificacioacuten directamente

Si tuvieacuteramos que clasificar el idioma de un texto dado el enfoque generativo se basaraacute en aprender el idioma a partir de las observaciones del corpus de entrenamiento para luego predecir en que idioma esta escrito el texto

La caracteriacutestica maacutes importante de los modelos discriminativos es que asignan pesos a los features de forma que el modelo corresponda con las observaciones Esto resuelve el problema de los modelos generativos donde los features son multiplicados aunque aporten la misma informacioacuten

Los modelos generativos mas importantes son los modelos de N-Gramas y NB y los modelos discriminativos mas relevantes son Logistic Regression Maximum Entropy Models SVM etc

NB

NB es un meacutetodo de clasificacioacuten supervisado y generativo que se basa en el teorema de Bayes y en la premisa de independencia de los atributos dada una clase

Las distintas implementaciones difieren principalmente en la aproximacioacuten de P(fk|Ci) y las teacutecnicas de smoothing utilizadas para el tratamiento de probabilidades bajas o nulas

Multinomial NB

En el caso de utilizar como features todos los teacuterminos del vocabulario del corpus de entrenamiento teniendo en cuenta su frecuencia de aparicioacuten add-one como teacutecnica de smoothing y MLE para estimar P(fk|Ci)

Multinomial NB - Ejemplo

Multinomial NB - Ejemplo

Binarized Multinomial NB

En el modelo Multinomial consideraacutebamos la frecuencia de aparicioacuten de cada feature para la estimacioacuten de P(fk|Ci) A diferencia de este meacutetodo NB puede ser implementado considerando exclusivamente presencia o ausencia de features es decir asociaacutendolos con un valor booleano cuando se evaluacutea un documento y descartando informacioacuten de frecuencia y posicioacuten

Binarized Multinomial NB - Ejemplo

Modelo de Maacutexima Entropiacutea

Es un meacutetodo de clasificacioacuten discriminativo y de aprendizaje supervisado donde los documentos del conjunto de datos son descriptos a partir de una lista de features siendo cada uno de estos features una restriccioacuten del modelo

Este meacutetodo se basa en seleccionar la distribucioacuten de probabilidad que satisfaga todas las restricciones del modelo y maximice la entropiacutea Esto apunta a preservar la incertidumbre tanto como sea posible

Polaridad de Turney Propone en su trabajo un meacutetodo no-supervisado

para la clasificacioacuten de textos seguacuten informacioacuten subjetiva que se basa en predecir la polaridad de un documento en base a su orientacioacuten semaacutentica

La orientacioacuten de un documento es calculada en base a la distancia a los teacuterminos del idioma ingles ldquoexcelent y ldquopoor que sugieren referencias positivas y negativas respectivamente

El algoritmo propuesto consiste en los siguientes 3 pasos

Extraer las frases del documento que contienen adjetivos o adverbios utilizando una herramienta de part-of-speech tagging

Estimar la orientacioacuten semaacutentica de cada frase extraiacuteda utilizando el algoritmo PMI-IR

Asignar las clases ldquorecomendado o ldquono recomendado al documento

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Polaridad de Turney

En el primer paso se extraen grupos de dos palabras cuyas etiquetas correspondan con los siguientes patrones

Siendo JJ Adjetivos NN Sustantivos en Singular NNS

Sustantivos en Plural RB Adverbios RBS Adverbios Superlativos RBR Adverbios Comparativos VB Verbos VBD Verbos en Pasado VBN Verbos en Pasado Participio VBG Verbos Gerundios o Pasado Participio

Algoritmo PMI-IR

Este algoritmo utiliza la teacutecnica de Pointwise Mutual Information (PMI) para obtener una medida de la asociacioacuten semaacutentica entre dos palabras seguacuten la ecuacioacuten que sigue

Siendo p(word1 amp word2) la probabilidad de que las palabras ocurran juntas

Luego la orientacioacuten semaacutentica se calcularaacute de la siguiente manera

Algoritmo PMI-IR El algoritmo PMI-IR estima el valor de PMI

realizando consultas a un motor de buacutesqueda a partir de la cantidad de resultados que devuelve la consulta y utilizando el operador NEAR que proveen algunos buscadores para estimar la ocurrencia conjunta de dos teacuterminos

Por ultimo la clasificacioacuten de un documento como ldquorecomendable o ldquono recomendable se realizaraacute a partir del caacutelculo de la orientacioacuten semaacutentica promedio de todas las frases extraiacutedas del documento

Algoritmo PMI-IR Consideraremos los teacuterminos ldquoexcelente como referencia

de polaridad positiva y los teacuterminos ldquomal malo mala como referencia negativa y estimaremos el operador NEAR a partir de la ocurrencia conjunta de palabras en la misma sentencia Consideremos las frases ldquobuena comida y ldquocomida friacutea para el caacutelculo de orientacioacuten semaacutentica

Clasificacioacuten basada en Leacutexico de Opinioacuten Existen otros meacutetodos de clasificacioacuten considerados no

supervisados o semi-supervisados que se basan en utilizar un conjunto de teacuterminos ldquosemillaldquo cuya polaridad es conocida y la clasificacioacuten consiste en calcular la similitud o distancia de los teacuterminos que componen el documento a estos teacuterminos conocidos

En este tipo de meacutetodos el leacutexico es utilizado como reemplazo de los features del modelo El ejemplo mas extremo de utilizacioacuten de leacutexico de opinioacuten es el algoritmo de Turney que utiliza la polaridad conocida de dos uacutenicos teacuterminos para clasificar un texto a partir de la distancia de los teacuterminos del documento a ellos

En un trabajo Sidorov (2012) se propone un leacutexico de opinioacuten de mas de 2000 palabras en idioma espantildeol que incluye la distancia de cada uno de estos teacuterminos a alguna de las siguientes emociones baacutesicas alegra ira miedo tristeza sorpresa y disgusto

En base a esta informacioacuten podraacute desarrollarse un algoritmo que infiera la polaridad de una sentencia a partir de calcular la distancia de los teacuterminos que la componen a las emociones baacutesicas asociadas a sentimientos positivos o negativos

Clasificacioacuten basada en Leacutexico de Opinioacuten

En este tipo de clasificadores puede ser necesario asociar la polaridad de los teacuterminos del leacutexico a dominios u objetivos especiacuteficos Por ejemplo

La palabra ldquobarato puede asociarse a sentimientos positivos cuando se refiere a comida y a sentimientos negativos cuando se refiere a vestimenta o decoracioacuten de ambientes

La palabra ldquoantildeejo tiene una connotacioacuten positiva cuando se refiere a vinos y altamente negativa si se refiere a comida

El termino ldquofriacuteo se asocia a emociones negativas si se habla de pizza y positivas si se habla de cervezas etc

Clasificacioacuten basada en Leacutexico de Opinioacuten Otro meacutetodo semi-supervisado basado en leacutexico de opinioacuten

consiste en identificar la polaridad de los adjetivos de un texto a partir de la ocurrencia conjunta con teacuterminos cuya polaridad es conocida y teniendo en cuenta la conjuncioacuten que los relaciona es decir considerando que si los adjetivos estaacuten conectados por el termino ldquoy tendraacuten la misma polaridad mientras que si aparecen conectados por el termino ldquopero tendraacuten polaridad opuesta

Un ejemplo Etiquetar un conjunto inicial de adjetivos semilla seguacuten su

polaridad Extender el conjunto anterior a partir de la ocurrencia conjunta

de los adjetivos conocidos con otros adjetivos y teniendo en cuenta la conjuncioacuten que los relaciona para determinar si tienen la misma polaridad u opuesta

Utilizar un clasificador supervisado para determinar el grado de similitud de polaridad de cada par de adjetivos generando como resultado un graacutefico que relacione los adjetivos del conjunto de datos

Clusterizar el graacutefico anterior en dos grandes grupos de polaridad similar (positivos y negativos)

Clasificacioacuten basada en Puntaje Para clasificar un texto de forma maacutes subjetiva se puede asignar a

cada documento un puntaje dentro de una escala dependiendo del grado de polaridad que expresa (por ejemplo asignar estrellas del 1 al 5)

La solucioacuten mas simple para esta tarea es clasificar el texto utilizando muacuteltiples categoriacuteas como clases Esta clasificacioacuten puede realizarse con los algoritmos como NB

Como SVM se utiliza para clasificacioacuten binaria se puede utilizar One-vs-All que se basa en crear un clasificador SVM para cada clase cuya salida nos permita saber si el documento pertenece o no a la clase en cuestioacuten

Otra solucion para resolver esta tarea consideraacutendola un problema de metric labeling En este tipo de problema la entrada es un conjunto de etiquetas (clases) y un grafo ponderado Se define una funcioacuten de distancia de las etiquetas y para cada etiqueta el costo de asignacioacuten a cada veacutertice siendo el objetivo encontrar el menor costo de asignar una etiqueta a un veacutertice Este enfoque combina los clasificadores SVM y k-nearest neighbors que es un meacutetodo no parametrito de clasificacioacuten basado en encontrar los elementos mas cercanos del conjunto de datos de entrenamiento en el espacio de features

Otro enfoque para la tarea de clasificacioacuten en muacuteltiples categoriacuteas consiste en utilizar un meacutetodo de regresioacuten considerando que las categoriacuteas corresponden a la discretizacioacuten de una funcioacuten continua

Clasificacioacuten de Muacuteltiples Aspectos Hasta ahora hemos presentado las tareas de anaacutelisis de

sentimientos a nivel de documento es decir asignando una clase a un documento completo a partir de las emociones que expresa Esta clasificacioacuten puede ser binaria (polaridad positiva o negativa) o basada en muacuteltiples categoriacuteas (utilizando puntajes o estrellas como clases) pero en ambos casos se claacutesica el documento completo

En esta seccioacuten presentaremos la clasificacioacuten aislada de los muacuteltiples objetivos aspectos o targets que generan opinioacuten dentro de un mismo documento Esta tarea es conocida como Multi-Aspect Sentiment Analysis

El objetivo de esta tarea consiste en la identificacioacuten de aspectos que generan opinioacuten dentro de un mismo documento seleccionando aquellas caracteriacutesticas que son frecuentemente mencionadas y las emociones asociadas Para identificar estas caracteriacutesticas o aspectos la solucioacuten mas simple consiste en utilizar un parser que nos permita obtener las frases nominales del documento teniendo en cuenta que la mayora de los aspectos son sustantivos

Clasificacioacuten de Muacuteltiples Aspectos

ldquoexcelente comida el ambiente es bastante ruidoso pero los precios accesibles

Clasificacioacuten de Muacuteltiples Aspectos A partir de la clasificacioacuten anterior podremos extraer los

sustantivos o frases nominales que nos permitiraacuten identificar teacuterminos candidatos a aspectos y los adjetivos para identificar las emociones asociadas Para obtener la polaridad de sentimientos utilizaremos los meacutetodos de clasificacioacuten estudiados en secciones anteriores

Luego a partir de la polaridad de la emocioacuten que genera cada aspecto debemos establecer un criterio que nos permita asignar pesos para obtener la polaridad general del documento La forma mas simple Serra basaacutendonos en la frecuencia de aparicioacuten de cada aspecto en el corpus de datos

Otro meacutetodo simple para la identificacioacuten de targets que generan opinioacuten consiste en definir aspectos ad-hoc para un determinado dominio por ejemplo

f(COMIDA SERVICIO AMBIENTE OTROS) y luego ejecutar la clasificacioacuten de todos los teacuterminos del

documento utilizando un meacutetodo supervisado y un conjunto de datos de entrenamiento clasificado manualmente que nos permita obtener aquellos teacuterminos que pertenecen a alguna de las clases de aspectos relevantes generadores de opinioacuten

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 26: Poggi   analytics - sentiment - 1

NB

NB es un meacutetodo de clasificacioacuten supervisado y generativo que se basa en el teorema de Bayes y en la premisa de independencia de los atributos dada una clase

Las distintas implementaciones difieren principalmente en la aproximacioacuten de P(fk|Ci) y las teacutecnicas de smoothing utilizadas para el tratamiento de probabilidades bajas o nulas

Multinomial NB

En el caso de utilizar como features todos los teacuterminos del vocabulario del corpus de entrenamiento teniendo en cuenta su frecuencia de aparicioacuten add-one como teacutecnica de smoothing y MLE para estimar P(fk|Ci)

Multinomial NB - Ejemplo

Multinomial NB - Ejemplo

Binarized Multinomial NB

En el modelo Multinomial consideraacutebamos la frecuencia de aparicioacuten de cada feature para la estimacioacuten de P(fk|Ci) A diferencia de este meacutetodo NB puede ser implementado considerando exclusivamente presencia o ausencia de features es decir asociaacutendolos con un valor booleano cuando se evaluacutea un documento y descartando informacioacuten de frecuencia y posicioacuten

Binarized Multinomial NB - Ejemplo

Modelo de Maacutexima Entropiacutea

Es un meacutetodo de clasificacioacuten discriminativo y de aprendizaje supervisado donde los documentos del conjunto de datos son descriptos a partir de una lista de features siendo cada uno de estos features una restriccioacuten del modelo

Este meacutetodo se basa en seleccionar la distribucioacuten de probabilidad que satisfaga todas las restricciones del modelo y maximice la entropiacutea Esto apunta a preservar la incertidumbre tanto como sea posible

Polaridad de Turney Propone en su trabajo un meacutetodo no-supervisado

para la clasificacioacuten de textos seguacuten informacioacuten subjetiva que se basa en predecir la polaridad de un documento en base a su orientacioacuten semaacutentica

La orientacioacuten de un documento es calculada en base a la distancia a los teacuterminos del idioma ingles ldquoexcelent y ldquopoor que sugieren referencias positivas y negativas respectivamente

El algoritmo propuesto consiste en los siguientes 3 pasos

Extraer las frases del documento que contienen adjetivos o adverbios utilizando una herramienta de part-of-speech tagging

Estimar la orientacioacuten semaacutentica de cada frase extraiacuteda utilizando el algoritmo PMI-IR

Asignar las clases ldquorecomendado o ldquono recomendado al documento

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Polaridad de Turney

En el primer paso se extraen grupos de dos palabras cuyas etiquetas correspondan con los siguientes patrones

Siendo JJ Adjetivos NN Sustantivos en Singular NNS

Sustantivos en Plural RB Adverbios RBS Adverbios Superlativos RBR Adverbios Comparativos VB Verbos VBD Verbos en Pasado VBN Verbos en Pasado Participio VBG Verbos Gerundios o Pasado Participio

Algoritmo PMI-IR

Este algoritmo utiliza la teacutecnica de Pointwise Mutual Information (PMI) para obtener una medida de la asociacioacuten semaacutentica entre dos palabras seguacuten la ecuacioacuten que sigue

Siendo p(word1 amp word2) la probabilidad de que las palabras ocurran juntas

Luego la orientacioacuten semaacutentica se calcularaacute de la siguiente manera

Algoritmo PMI-IR El algoritmo PMI-IR estima el valor de PMI

realizando consultas a un motor de buacutesqueda a partir de la cantidad de resultados que devuelve la consulta y utilizando el operador NEAR que proveen algunos buscadores para estimar la ocurrencia conjunta de dos teacuterminos

Por ultimo la clasificacioacuten de un documento como ldquorecomendable o ldquono recomendable se realizaraacute a partir del caacutelculo de la orientacioacuten semaacutentica promedio de todas las frases extraiacutedas del documento

Algoritmo PMI-IR Consideraremos los teacuterminos ldquoexcelente como referencia

de polaridad positiva y los teacuterminos ldquomal malo mala como referencia negativa y estimaremos el operador NEAR a partir de la ocurrencia conjunta de palabras en la misma sentencia Consideremos las frases ldquobuena comida y ldquocomida friacutea para el caacutelculo de orientacioacuten semaacutentica

Clasificacioacuten basada en Leacutexico de Opinioacuten Existen otros meacutetodos de clasificacioacuten considerados no

supervisados o semi-supervisados que se basan en utilizar un conjunto de teacuterminos ldquosemillaldquo cuya polaridad es conocida y la clasificacioacuten consiste en calcular la similitud o distancia de los teacuterminos que componen el documento a estos teacuterminos conocidos

En este tipo de meacutetodos el leacutexico es utilizado como reemplazo de los features del modelo El ejemplo mas extremo de utilizacioacuten de leacutexico de opinioacuten es el algoritmo de Turney que utiliza la polaridad conocida de dos uacutenicos teacuterminos para clasificar un texto a partir de la distancia de los teacuterminos del documento a ellos

En un trabajo Sidorov (2012) se propone un leacutexico de opinioacuten de mas de 2000 palabras en idioma espantildeol que incluye la distancia de cada uno de estos teacuterminos a alguna de las siguientes emociones baacutesicas alegra ira miedo tristeza sorpresa y disgusto

En base a esta informacioacuten podraacute desarrollarse un algoritmo que infiera la polaridad de una sentencia a partir de calcular la distancia de los teacuterminos que la componen a las emociones baacutesicas asociadas a sentimientos positivos o negativos

Clasificacioacuten basada en Leacutexico de Opinioacuten

En este tipo de clasificadores puede ser necesario asociar la polaridad de los teacuterminos del leacutexico a dominios u objetivos especiacuteficos Por ejemplo

La palabra ldquobarato puede asociarse a sentimientos positivos cuando se refiere a comida y a sentimientos negativos cuando se refiere a vestimenta o decoracioacuten de ambientes

La palabra ldquoantildeejo tiene una connotacioacuten positiva cuando se refiere a vinos y altamente negativa si se refiere a comida

El termino ldquofriacuteo se asocia a emociones negativas si se habla de pizza y positivas si se habla de cervezas etc

Clasificacioacuten basada en Leacutexico de Opinioacuten Otro meacutetodo semi-supervisado basado en leacutexico de opinioacuten

consiste en identificar la polaridad de los adjetivos de un texto a partir de la ocurrencia conjunta con teacuterminos cuya polaridad es conocida y teniendo en cuenta la conjuncioacuten que los relaciona es decir considerando que si los adjetivos estaacuten conectados por el termino ldquoy tendraacuten la misma polaridad mientras que si aparecen conectados por el termino ldquopero tendraacuten polaridad opuesta

Un ejemplo Etiquetar un conjunto inicial de adjetivos semilla seguacuten su

polaridad Extender el conjunto anterior a partir de la ocurrencia conjunta

de los adjetivos conocidos con otros adjetivos y teniendo en cuenta la conjuncioacuten que los relaciona para determinar si tienen la misma polaridad u opuesta

Utilizar un clasificador supervisado para determinar el grado de similitud de polaridad de cada par de adjetivos generando como resultado un graacutefico que relacione los adjetivos del conjunto de datos

Clusterizar el graacutefico anterior en dos grandes grupos de polaridad similar (positivos y negativos)

Clasificacioacuten basada en Puntaje Para clasificar un texto de forma maacutes subjetiva se puede asignar a

cada documento un puntaje dentro de una escala dependiendo del grado de polaridad que expresa (por ejemplo asignar estrellas del 1 al 5)

La solucioacuten mas simple para esta tarea es clasificar el texto utilizando muacuteltiples categoriacuteas como clases Esta clasificacioacuten puede realizarse con los algoritmos como NB

Como SVM se utiliza para clasificacioacuten binaria se puede utilizar One-vs-All que se basa en crear un clasificador SVM para cada clase cuya salida nos permita saber si el documento pertenece o no a la clase en cuestioacuten

Otra solucion para resolver esta tarea consideraacutendola un problema de metric labeling En este tipo de problema la entrada es un conjunto de etiquetas (clases) y un grafo ponderado Se define una funcioacuten de distancia de las etiquetas y para cada etiqueta el costo de asignacioacuten a cada veacutertice siendo el objetivo encontrar el menor costo de asignar una etiqueta a un veacutertice Este enfoque combina los clasificadores SVM y k-nearest neighbors que es un meacutetodo no parametrito de clasificacioacuten basado en encontrar los elementos mas cercanos del conjunto de datos de entrenamiento en el espacio de features

Otro enfoque para la tarea de clasificacioacuten en muacuteltiples categoriacuteas consiste en utilizar un meacutetodo de regresioacuten considerando que las categoriacuteas corresponden a la discretizacioacuten de una funcioacuten continua

Clasificacioacuten de Muacuteltiples Aspectos Hasta ahora hemos presentado las tareas de anaacutelisis de

sentimientos a nivel de documento es decir asignando una clase a un documento completo a partir de las emociones que expresa Esta clasificacioacuten puede ser binaria (polaridad positiva o negativa) o basada en muacuteltiples categoriacuteas (utilizando puntajes o estrellas como clases) pero en ambos casos se claacutesica el documento completo

En esta seccioacuten presentaremos la clasificacioacuten aislada de los muacuteltiples objetivos aspectos o targets que generan opinioacuten dentro de un mismo documento Esta tarea es conocida como Multi-Aspect Sentiment Analysis

El objetivo de esta tarea consiste en la identificacioacuten de aspectos que generan opinioacuten dentro de un mismo documento seleccionando aquellas caracteriacutesticas que son frecuentemente mencionadas y las emociones asociadas Para identificar estas caracteriacutesticas o aspectos la solucioacuten mas simple consiste en utilizar un parser que nos permita obtener las frases nominales del documento teniendo en cuenta que la mayora de los aspectos son sustantivos

Clasificacioacuten de Muacuteltiples Aspectos

ldquoexcelente comida el ambiente es bastante ruidoso pero los precios accesibles

Clasificacioacuten de Muacuteltiples Aspectos A partir de la clasificacioacuten anterior podremos extraer los

sustantivos o frases nominales que nos permitiraacuten identificar teacuterminos candidatos a aspectos y los adjetivos para identificar las emociones asociadas Para obtener la polaridad de sentimientos utilizaremos los meacutetodos de clasificacioacuten estudiados en secciones anteriores

Luego a partir de la polaridad de la emocioacuten que genera cada aspecto debemos establecer un criterio que nos permita asignar pesos para obtener la polaridad general del documento La forma mas simple Serra basaacutendonos en la frecuencia de aparicioacuten de cada aspecto en el corpus de datos

Otro meacutetodo simple para la identificacioacuten de targets que generan opinioacuten consiste en definir aspectos ad-hoc para un determinado dominio por ejemplo

f(COMIDA SERVICIO AMBIENTE OTROS) y luego ejecutar la clasificacioacuten de todos los teacuterminos del

documento utilizando un meacutetodo supervisado y un conjunto de datos de entrenamiento clasificado manualmente que nos permita obtener aquellos teacuterminos que pertenecen a alguna de las clases de aspectos relevantes generadores de opinioacuten

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 27: Poggi   analytics - sentiment - 1

Multinomial NB

En el caso de utilizar como features todos los teacuterminos del vocabulario del corpus de entrenamiento teniendo en cuenta su frecuencia de aparicioacuten add-one como teacutecnica de smoothing y MLE para estimar P(fk|Ci)

Multinomial NB - Ejemplo

Multinomial NB - Ejemplo

Binarized Multinomial NB

En el modelo Multinomial consideraacutebamos la frecuencia de aparicioacuten de cada feature para la estimacioacuten de P(fk|Ci) A diferencia de este meacutetodo NB puede ser implementado considerando exclusivamente presencia o ausencia de features es decir asociaacutendolos con un valor booleano cuando se evaluacutea un documento y descartando informacioacuten de frecuencia y posicioacuten

Binarized Multinomial NB - Ejemplo

Modelo de Maacutexima Entropiacutea

Es un meacutetodo de clasificacioacuten discriminativo y de aprendizaje supervisado donde los documentos del conjunto de datos son descriptos a partir de una lista de features siendo cada uno de estos features una restriccioacuten del modelo

Este meacutetodo se basa en seleccionar la distribucioacuten de probabilidad que satisfaga todas las restricciones del modelo y maximice la entropiacutea Esto apunta a preservar la incertidumbre tanto como sea posible

Polaridad de Turney Propone en su trabajo un meacutetodo no-supervisado

para la clasificacioacuten de textos seguacuten informacioacuten subjetiva que se basa en predecir la polaridad de un documento en base a su orientacioacuten semaacutentica

La orientacioacuten de un documento es calculada en base a la distancia a los teacuterminos del idioma ingles ldquoexcelent y ldquopoor que sugieren referencias positivas y negativas respectivamente

El algoritmo propuesto consiste en los siguientes 3 pasos

Extraer las frases del documento que contienen adjetivos o adverbios utilizando una herramienta de part-of-speech tagging

Estimar la orientacioacuten semaacutentica de cada frase extraiacuteda utilizando el algoritmo PMI-IR

Asignar las clases ldquorecomendado o ldquono recomendado al documento

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Polaridad de Turney

En el primer paso se extraen grupos de dos palabras cuyas etiquetas correspondan con los siguientes patrones

Siendo JJ Adjetivos NN Sustantivos en Singular NNS

Sustantivos en Plural RB Adverbios RBS Adverbios Superlativos RBR Adverbios Comparativos VB Verbos VBD Verbos en Pasado VBN Verbos en Pasado Participio VBG Verbos Gerundios o Pasado Participio

Algoritmo PMI-IR

Este algoritmo utiliza la teacutecnica de Pointwise Mutual Information (PMI) para obtener una medida de la asociacioacuten semaacutentica entre dos palabras seguacuten la ecuacioacuten que sigue

Siendo p(word1 amp word2) la probabilidad de que las palabras ocurran juntas

Luego la orientacioacuten semaacutentica se calcularaacute de la siguiente manera

Algoritmo PMI-IR El algoritmo PMI-IR estima el valor de PMI

realizando consultas a un motor de buacutesqueda a partir de la cantidad de resultados que devuelve la consulta y utilizando el operador NEAR que proveen algunos buscadores para estimar la ocurrencia conjunta de dos teacuterminos

Por ultimo la clasificacioacuten de un documento como ldquorecomendable o ldquono recomendable se realizaraacute a partir del caacutelculo de la orientacioacuten semaacutentica promedio de todas las frases extraiacutedas del documento

Algoritmo PMI-IR Consideraremos los teacuterminos ldquoexcelente como referencia

de polaridad positiva y los teacuterminos ldquomal malo mala como referencia negativa y estimaremos el operador NEAR a partir de la ocurrencia conjunta de palabras en la misma sentencia Consideremos las frases ldquobuena comida y ldquocomida friacutea para el caacutelculo de orientacioacuten semaacutentica

Clasificacioacuten basada en Leacutexico de Opinioacuten Existen otros meacutetodos de clasificacioacuten considerados no

supervisados o semi-supervisados que se basan en utilizar un conjunto de teacuterminos ldquosemillaldquo cuya polaridad es conocida y la clasificacioacuten consiste en calcular la similitud o distancia de los teacuterminos que componen el documento a estos teacuterminos conocidos

En este tipo de meacutetodos el leacutexico es utilizado como reemplazo de los features del modelo El ejemplo mas extremo de utilizacioacuten de leacutexico de opinioacuten es el algoritmo de Turney que utiliza la polaridad conocida de dos uacutenicos teacuterminos para clasificar un texto a partir de la distancia de los teacuterminos del documento a ellos

En un trabajo Sidorov (2012) se propone un leacutexico de opinioacuten de mas de 2000 palabras en idioma espantildeol que incluye la distancia de cada uno de estos teacuterminos a alguna de las siguientes emociones baacutesicas alegra ira miedo tristeza sorpresa y disgusto

En base a esta informacioacuten podraacute desarrollarse un algoritmo que infiera la polaridad de una sentencia a partir de calcular la distancia de los teacuterminos que la componen a las emociones baacutesicas asociadas a sentimientos positivos o negativos

Clasificacioacuten basada en Leacutexico de Opinioacuten

En este tipo de clasificadores puede ser necesario asociar la polaridad de los teacuterminos del leacutexico a dominios u objetivos especiacuteficos Por ejemplo

La palabra ldquobarato puede asociarse a sentimientos positivos cuando se refiere a comida y a sentimientos negativos cuando se refiere a vestimenta o decoracioacuten de ambientes

La palabra ldquoantildeejo tiene una connotacioacuten positiva cuando se refiere a vinos y altamente negativa si se refiere a comida

El termino ldquofriacuteo se asocia a emociones negativas si se habla de pizza y positivas si se habla de cervezas etc

Clasificacioacuten basada en Leacutexico de Opinioacuten Otro meacutetodo semi-supervisado basado en leacutexico de opinioacuten

consiste en identificar la polaridad de los adjetivos de un texto a partir de la ocurrencia conjunta con teacuterminos cuya polaridad es conocida y teniendo en cuenta la conjuncioacuten que los relaciona es decir considerando que si los adjetivos estaacuten conectados por el termino ldquoy tendraacuten la misma polaridad mientras que si aparecen conectados por el termino ldquopero tendraacuten polaridad opuesta

Un ejemplo Etiquetar un conjunto inicial de adjetivos semilla seguacuten su

polaridad Extender el conjunto anterior a partir de la ocurrencia conjunta

de los adjetivos conocidos con otros adjetivos y teniendo en cuenta la conjuncioacuten que los relaciona para determinar si tienen la misma polaridad u opuesta

Utilizar un clasificador supervisado para determinar el grado de similitud de polaridad de cada par de adjetivos generando como resultado un graacutefico que relacione los adjetivos del conjunto de datos

Clusterizar el graacutefico anterior en dos grandes grupos de polaridad similar (positivos y negativos)

Clasificacioacuten basada en Puntaje Para clasificar un texto de forma maacutes subjetiva se puede asignar a

cada documento un puntaje dentro de una escala dependiendo del grado de polaridad que expresa (por ejemplo asignar estrellas del 1 al 5)

La solucioacuten mas simple para esta tarea es clasificar el texto utilizando muacuteltiples categoriacuteas como clases Esta clasificacioacuten puede realizarse con los algoritmos como NB

Como SVM se utiliza para clasificacioacuten binaria se puede utilizar One-vs-All que se basa en crear un clasificador SVM para cada clase cuya salida nos permita saber si el documento pertenece o no a la clase en cuestioacuten

Otra solucion para resolver esta tarea consideraacutendola un problema de metric labeling En este tipo de problema la entrada es un conjunto de etiquetas (clases) y un grafo ponderado Se define una funcioacuten de distancia de las etiquetas y para cada etiqueta el costo de asignacioacuten a cada veacutertice siendo el objetivo encontrar el menor costo de asignar una etiqueta a un veacutertice Este enfoque combina los clasificadores SVM y k-nearest neighbors que es un meacutetodo no parametrito de clasificacioacuten basado en encontrar los elementos mas cercanos del conjunto de datos de entrenamiento en el espacio de features

Otro enfoque para la tarea de clasificacioacuten en muacuteltiples categoriacuteas consiste en utilizar un meacutetodo de regresioacuten considerando que las categoriacuteas corresponden a la discretizacioacuten de una funcioacuten continua

Clasificacioacuten de Muacuteltiples Aspectos Hasta ahora hemos presentado las tareas de anaacutelisis de

sentimientos a nivel de documento es decir asignando una clase a un documento completo a partir de las emociones que expresa Esta clasificacioacuten puede ser binaria (polaridad positiva o negativa) o basada en muacuteltiples categoriacuteas (utilizando puntajes o estrellas como clases) pero en ambos casos se claacutesica el documento completo

En esta seccioacuten presentaremos la clasificacioacuten aislada de los muacuteltiples objetivos aspectos o targets que generan opinioacuten dentro de un mismo documento Esta tarea es conocida como Multi-Aspect Sentiment Analysis

El objetivo de esta tarea consiste en la identificacioacuten de aspectos que generan opinioacuten dentro de un mismo documento seleccionando aquellas caracteriacutesticas que son frecuentemente mencionadas y las emociones asociadas Para identificar estas caracteriacutesticas o aspectos la solucioacuten mas simple consiste en utilizar un parser que nos permita obtener las frases nominales del documento teniendo en cuenta que la mayora de los aspectos son sustantivos

Clasificacioacuten de Muacuteltiples Aspectos

ldquoexcelente comida el ambiente es bastante ruidoso pero los precios accesibles

Clasificacioacuten de Muacuteltiples Aspectos A partir de la clasificacioacuten anterior podremos extraer los

sustantivos o frases nominales que nos permitiraacuten identificar teacuterminos candidatos a aspectos y los adjetivos para identificar las emociones asociadas Para obtener la polaridad de sentimientos utilizaremos los meacutetodos de clasificacioacuten estudiados en secciones anteriores

Luego a partir de la polaridad de la emocioacuten que genera cada aspecto debemos establecer un criterio que nos permita asignar pesos para obtener la polaridad general del documento La forma mas simple Serra basaacutendonos en la frecuencia de aparicioacuten de cada aspecto en el corpus de datos

Otro meacutetodo simple para la identificacioacuten de targets que generan opinioacuten consiste en definir aspectos ad-hoc para un determinado dominio por ejemplo

f(COMIDA SERVICIO AMBIENTE OTROS) y luego ejecutar la clasificacioacuten de todos los teacuterminos del

documento utilizando un meacutetodo supervisado y un conjunto de datos de entrenamiento clasificado manualmente que nos permita obtener aquellos teacuterminos que pertenecen a alguna de las clases de aspectos relevantes generadores de opinioacuten

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 28: Poggi   analytics - sentiment - 1

Multinomial NB - Ejemplo

Multinomial NB - Ejemplo

Binarized Multinomial NB

En el modelo Multinomial consideraacutebamos la frecuencia de aparicioacuten de cada feature para la estimacioacuten de P(fk|Ci) A diferencia de este meacutetodo NB puede ser implementado considerando exclusivamente presencia o ausencia de features es decir asociaacutendolos con un valor booleano cuando se evaluacutea un documento y descartando informacioacuten de frecuencia y posicioacuten

Binarized Multinomial NB - Ejemplo

Modelo de Maacutexima Entropiacutea

Es un meacutetodo de clasificacioacuten discriminativo y de aprendizaje supervisado donde los documentos del conjunto de datos son descriptos a partir de una lista de features siendo cada uno de estos features una restriccioacuten del modelo

Este meacutetodo se basa en seleccionar la distribucioacuten de probabilidad que satisfaga todas las restricciones del modelo y maximice la entropiacutea Esto apunta a preservar la incertidumbre tanto como sea posible

Polaridad de Turney Propone en su trabajo un meacutetodo no-supervisado

para la clasificacioacuten de textos seguacuten informacioacuten subjetiva que se basa en predecir la polaridad de un documento en base a su orientacioacuten semaacutentica

La orientacioacuten de un documento es calculada en base a la distancia a los teacuterminos del idioma ingles ldquoexcelent y ldquopoor que sugieren referencias positivas y negativas respectivamente

El algoritmo propuesto consiste en los siguientes 3 pasos

Extraer las frases del documento que contienen adjetivos o adverbios utilizando una herramienta de part-of-speech tagging

Estimar la orientacioacuten semaacutentica de cada frase extraiacuteda utilizando el algoritmo PMI-IR

Asignar las clases ldquorecomendado o ldquono recomendado al documento

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Polaridad de Turney

En el primer paso se extraen grupos de dos palabras cuyas etiquetas correspondan con los siguientes patrones

Siendo JJ Adjetivos NN Sustantivos en Singular NNS

Sustantivos en Plural RB Adverbios RBS Adverbios Superlativos RBR Adverbios Comparativos VB Verbos VBD Verbos en Pasado VBN Verbos en Pasado Participio VBG Verbos Gerundios o Pasado Participio

Algoritmo PMI-IR

Este algoritmo utiliza la teacutecnica de Pointwise Mutual Information (PMI) para obtener una medida de la asociacioacuten semaacutentica entre dos palabras seguacuten la ecuacioacuten que sigue

Siendo p(word1 amp word2) la probabilidad de que las palabras ocurran juntas

Luego la orientacioacuten semaacutentica se calcularaacute de la siguiente manera

Algoritmo PMI-IR El algoritmo PMI-IR estima el valor de PMI

realizando consultas a un motor de buacutesqueda a partir de la cantidad de resultados que devuelve la consulta y utilizando el operador NEAR que proveen algunos buscadores para estimar la ocurrencia conjunta de dos teacuterminos

Por ultimo la clasificacioacuten de un documento como ldquorecomendable o ldquono recomendable se realizaraacute a partir del caacutelculo de la orientacioacuten semaacutentica promedio de todas las frases extraiacutedas del documento

Algoritmo PMI-IR Consideraremos los teacuterminos ldquoexcelente como referencia

de polaridad positiva y los teacuterminos ldquomal malo mala como referencia negativa y estimaremos el operador NEAR a partir de la ocurrencia conjunta de palabras en la misma sentencia Consideremos las frases ldquobuena comida y ldquocomida friacutea para el caacutelculo de orientacioacuten semaacutentica

Clasificacioacuten basada en Leacutexico de Opinioacuten Existen otros meacutetodos de clasificacioacuten considerados no

supervisados o semi-supervisados que se basan en utilizar un conjunto de teacuterminos ldquosemillaldquo cuya polaridad es conocida y la clasificacioacuten consiste en calcular la similitud o distancia de los teacuterminos que componen el documento a estos teacuterminos conocidos

En este tipo de meacutetodos el leacutexico es utilizado como reemplazo de los features del modelo El ejemplo mas extremo de utilizacioacuten de leacutexico de opinioacuten es el algoritmo de Turney que utiliza la polaridad conocida de dos uacutenicos teacuterminos para clasificar un texto a partir de la distancia de los teacuterminos del documento a ellos

En un trabajo Sidorov (2012) se propone un leacutexico de opinioacuten de mas de 2000 palabras en idioma espantildeol que incluye la distancia de cada uno de estos teacuterminos a alguna de las siguientes emociones baacutesicas alegra ira miedo tristeza sorpresa y disgusto

En base a esta informacioacuten podraacute desarrollarse un algoritmo que infiera la polaridad de una sentencia a partir de calcular la distancia de los teacuterminos que la componen a las emociones baacutesicas asociadas a sentimientos positivos o negativos

Clasificacioacuten basada en Leacutexico de Opinioacuten

En este tipo de clasificadores puede ser necesario asociar la polaridad de los teacuterminos del leacutexico a dominios u objetivos especiacuteficos Por ejemplo

La palabra ldquobarato puede asociarse a sentimientos positivos cuando se refiere a comida y a sentimientos negativos cuando se refiere a vestimenta o decoracioacuten de ambientes

La palabra ldquoantildeejo tiene una connotacioacuten positiva cuando se refiere a vinos y altamente negativa si se refiere a comida

El termino ldquofriacuteo se asocia a emociones negativas si se habla de pizza y positivas si se habla de cervezas etc

Clasificacioacuten basada en Leacutexico de Opinioacuten Otro meacutetodo semi-supervisado basado en leacutexico de opinioacuten

consiste en identificar la polaridad de los adjetivos de un texto a partir de la ocurrencia conjunta con teacuterminos cuya polaridad es conocida y teniendo en cuenta la conjuncioacuten que los relaciona es decir considerando que si los adjetivos estaacuten conectados por el termino ldquoy tendraacuten la misma polaridad mientras que si aparecen conectados por el termino ldquopero tendraacuten polaridad opuesta

Un ejemplo Etiquetar un conjunto inicial de adjetivos semilla seguacuten su

polaridad Extender el conjunto anterior a partir de la ocurrencia conjunta

de los adjetivos conocidos con otros adjetivos y teniendo en cuenta la conjuncioacuten que los relaciona para determinar si tienen la misma polaridad u opuesta

Utilizar un clasificador supervisado para determinar el grado de similitud de polaridad de cada par de adjetivos generando como resultado un graacutefico que relacione los adjetivos del conjunto de datos

Clusterizar el graacutefico anterior en dos grandes grupos de polaridad similar (positivos y negativos)

Clasificacioacuten basada en Puntaje Para clasificar un texto de forma maacutes subjetiva se puede asignar a

cada documento un puntaje dentro de una escala dependiendo del grado de polaridad que expresa (por ejemplo asignar estrellas del 1 al 5)

La solucioacuten mas simple para esta tarea es clasificar el texto utilizando muacuteltiples categoriacuteas como clases Esta clasificacioacuten puede realizarse con los algoritmos como NB

Como SVM se utiliza para clasificacioacuten binaria se puede utilizar One-vs-All que se basa en crear un clasificador SVM para cada clase cuya salida nos permita saber si el documento pertenece o no a la clase en cuestioacuten

Otra solucion para resolver esta tarea consideraacutendola un problema de metric labeling En este tipo de problema la entrada es un conjunto de etiquetas (clases) y un grafo ponderado Se define una funcioacuten de distancia de las etiquetas y para cada etiqueta el costo de asignacioacuten a cada veacutertice siendo el objetivo encontrar el menor costo de asignar una etiqueta a un veacutertice Este enfoque combina los clasificadores SVM y k-nearest neighbors que es un meacutetodo no parametrito de clasificacioacuten basado en encontrar los elementos mas cercanos del conjunto de datos de entrenamiento en el espacio de features

Otro enfoque para la tarea de clasificacioacuten en muacuteltiples categoriacuteas consiste en utilizar un meacutetodo de regresioacuten considerando que las categoriacuteas corresponden a la discretizacioacuten de una funcioacuten continua

Clasificacioacuten de Muacuteltiples Aspectos Hasta ahora hemos presentado las tareas de anaacutelisis de

sentimientos a nivel de documento es decir asignando una clase a un documento completo a partir de las emociones que expresa Esta clasificacioacuten puede ser binaria (polaridad positiva o negativa) o basada en muacuteltiples categoriacuteas (utilizando puntajes o estrellas como clases) pero en ambos casos se claacutesica el documento completo

En esta seccioacuten presentaremos la clasificacioacuten aislada de los muacuteltiples objetivos aspectos o targets que generan opinioacuten dentro de un mismo documento Esta tarea es conocida como Multi-Aspect Sentiment Analysis

El objetivo de esta tarea consiste en la identificacioacuten de aspectos que generan opinioacuten dentro de un mismo documento seleccionando aquellas caracteriacutesticas que son frecuentemente mencionadas y las emociones asociadas Para identificar estas caracteriacutesticas o aspectos la solucioacuten mas simple consiste en utilizar un parser que nos permita obtener las frases nominales del documento teniendo en cuenta que la mayora de los aspectos son sustantivos

Clasificacioacuten de Muacuteltiples Aspectos

ldquoexcelente comida el ambiente es bastante ruidoso pero los precios accesibles

Clasificacioacuten de Muacuteltiples Aspectos A partir de la clasificacioacuten anterior podremos extraer los

sustantivos o frases nominales que nos permitiraacuten identificar teacuterminos candidatos a aspectos y los adjetivos para identificar las emociones asociadas Para obtener la polaridad de sentimientos utilizaremos los meacutetodos de clasificacioacuten estudiados en secciones anteriores

Luego a partir de la polaridad de la emocioacuten que genera cada aspecto debemos establecer un criterio que nos permita asignar pesos para obtener la polaridad general del documento La forma mas simple Serra basaacutendonos en la frecuencia de aparicioacuten de cada aspecto en el corpus de datos

Otro meacutetodo simple para la identificacioacuten de targets que generan opinioacuten consiste en definir aspectos ad-hoc para un determinado dominio por ejemplo

f(COMIDA SERVICIO AMBIENTE OTROS) y luego ejecutar la clasificacioacuten de todos los teacuterminos del

documento utilizando un meacutetodo supervisado y un conjunto de datos de entrenamiento clasificado manualmente que nos permita obtener aquellos teacuterminos que pertenecen a alguna de las clases de aspectos relevantes generadores de opinioacuten

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 29: Poggi   analytics - sentiment - 1

Multinomial NB - Ejemplo

Binarized Multinomial NB

En el modelo Multinomial consideraacutebamos la frecuencia de aparicioacuten de cada feature para la estimacioacuten de P(fk|Ci) A diferencia de este meacutetodo NB puede ser implementado considerando exclusivamente presencia o ausencia de features es decir asociaacutendolos con un valor booleano cuando se evaluacutea un documento y descartando informacioacuten de frecuencia y posicioacuten

Binarized Multinomial NB - Ejemplo

Modelo de Maacutexima Entropiacutea

Es un meacutetodo de clasificacioacuten discriminativo y de aprendizaje supervisado donde los documentos del conjunto de datos son descriptos a partir de una lista de features siendo cada uno de estos features una restriccioacuten del modelo

Este meacutetodo se basa en seleccionar la distribucioacuten de probabilidad que satisfaga todas las restricciones del modelo y maximice la entropiacutea Esto apunta a preservar la incertidumbre tanto como sea posible

Polaridad de Turney Propone en su trabajo un meacutetodo no-supervisado

para la clasificacioacuten de textos seguacuten informacioacuten subjetiva que se basa en predecir la polaridad de un documento en base a su orientacioacuten semaacutentica

La orientacioacuten de un documento es calculada en base a la distancia a los teacuterminos del idioma ingles ldquoexcelent y ldquopoor que sugieren referencias positivas y negativas respectivamente

El algoritmo propuesto consiste en los siguientes 3 pasos

Extraer las frases del documento que contienen adjetivos o adverbios utilizando una herramienta de part-of-speech tagging

Estimar la orientacioacuten semaacutentica de cada frase extraiacuteda utilizando el algoritmo PMI-IR

Asignar las clases ldquorecomendado o ldquono recomendado al documento

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Polaridad de Turney

En el primer paso se extraen grupos de dos palabras cuyas etiquetas correspondan con los siguientes patrones

Siendo JJ Adjetivos NN Sustantivos en Singular NNS

Sustantivos en Plural RB Adverbios RBS Adverbios Superlativos RBR Adverbios Comparativos VB Verbos VBD Verbos en Pasado VBN Verbos en Pasado Participio VBG Verbos Gerundios o Pasado Participio

Algoritmo PMI-IR

Este algoritmo utiliza la teacutecnica de Pointwise Mutual Information (PMI) para obtener una medida de la asociacioacuten semaacutentica entre dos palabras seguacuten la ecuacioacuten que sigue

Siendo p(word1 amp word2) la probabilidad de que las palabras ocurran juntas

Luego la orientacioacuten semaacutentica se calcularaacute de la siguiente manera

Algoritmo PMI-IR El algoritmo PMI-IR estima el valor de PMI

realizando consultas a un motor de buacutesqueda a partir de la cantidad de resultados que devuelve la consulta y utilizando el operador NEAR que proveen algunos buscadores para estimar la ocurrencia conjunta de dos teacuterminos

Por ultimo la clasificacioacuten de un documento como ldquorecomendable o ldquono recomendable se realizaraacute a partir del caacutelculo de la orientacioacuten semaacutentica promedio de todas las frases extraiacutedas del documento

Algoritmo PMI-IR Consideraremos los teacuterminos ldquoexcelente como referencia

de polaridad positiva y los teacuterminos ldquomal malo mala como referencia negativa y estimaremos el operador NEAR a partir de la ocurrencia conjunta de palabras en la misma sentencia Consideremos las frases ldquobuena comida y ldquocomida friacutea para el caacutelculo de orientacioacuten semaacutentica

Clasificacioacuten basada en Leacutexico de Opinioacuten Existen otros meacutetodos de clasificacioacuten considerados no

supervisados o semi-supervisados que se basan en utilizar un conjunto de teacuterminos ldquosemillaldquo cuya polaridad es conocida y la clasificacioacuten consiste en calcular la similitud o distancia de los teacuterminos que componen el documento a estos teacuterminos conocidos

En este tipo de meacutetodos el leacutexico es utilizado como reemplazo de los features del modelo El ejemplo mas extremo de utilizacioacuten de leacutexico de opinioacuten es el algoritmo de Turney que utiliza la polaridad conocida de dos uacutenicos teacuterminos para clasificar un texto a partir de la distancia de los teacuterminos del documento a ellos

En un trabajo Sidorov (2012) se propone un leacutexico de opinioacuten de mas de 2000 palabras en idioma espantildeol que incluye la distancia de cada uno de estos teacuterminos a alguna de las siguientes emociones baacutesicas alegra ira miedo tristeza sorpresa y disgusto

En base a esta informacioacuten podraacute desarrollarse un algoritmo que infiera la polaridad de una sentencia a partir de calcular la distancia de los teacuterminos que la componen a las emociones baacutesicas asociadas a sentimientos positivos o negativos

Clasificacioacuten basada en Leacutexico de Opinioacuten

En este tipo de clasificadores puede ser necesario asociar la polaridad de los teacuterminos del leacutexico a dominios u objetivos especiacuteficos Por ejemplo

La palabra ldquobarato puede asociarse a sentimientos positivos cuando se refiere a comida y a sentimientos negativos cuando se refiere a vestimenta o decoracioacuten de ambientes

La palabra ldquoantildeejo tiene una connotacioacuten positiva cuando se refiere a vinos y altamente negativa si se refiere a comida

El termino ldquofriacuteo se asocia a emociones negativas si se habla de pizza y positivas si se habla de cervezas etc

Clasificacioacuten basada en Leacutexico de Opinioacuten Otro meacutetodo semi-supervisado basado en leacutexico de opinioacuten

consiste en identificar la polaridad de los adjetivos de un texto a partir de la ocurrencia conjunta con teacuterminos cuya polaridad es conocida y teniendo en cuenta la conjuncioacuten que los relaciona es decir considerando que si los adjetivos estaacuten conectados por el termino ldquoy tendraacuten la misma polaridad mientras que si aparecen conectados por el termino ldquopero tendraacuten polaridad opuesta

Un ejemplo Etiquetar un conjunto inicial de adjetivos semilla seguacuten su

polaridad Extender el conjunto anterior a partir de la ocurrencia conjunta

de los adjetivos conocidos con otros adjetivos y teniendo en cuenta la conjuncioacuten que los relaciona para determinar si tienen la misma polaridad u opuesta

Utilizar un clasificador supervisado para determinar el grado de similitud de polaridad de cada par de adjetivos generando como resultado un graacutefico que relacione los adjetivos del conjunto de datos

Clusterizar el graacutefico anterior en dos grandes grupos de polaridad similar (positivos y negativos)

Clasificacioacuten basada en Puntaje Para clasificar un texto de forma maacutes subjetiva se puede asignar a

cada documento un puntaje dentro de una escala dependiendo del grado de polaridad que expresa (por ejemplo asignar estrellas del 1 al 5)

La solucioacuten mas simple para esta tarea es clasificar el texto utilizando muacuteltiples categoriacuteas como clases Esta clasificacioacuten puede realizarse con los algoritmos como NB

Como SVM se utiliza para clasificacioacuten binaria se puede utilizar One-vs-All que se basa en crear un clasificador SVM para cada clase cuya salida nos permita saber si el documento pertenece o no a la clase en cuestioacuten

Otra solucion para resolver esta tarea consideraacutendola un problema de metric labeling En este tipo de problema la entrada es un conjunto de etiquetas (clases) y un grafo ponderado Se define una funcioacuten de distancia de las etiquetas y para cada etiqueta el costo de asignacioacuten a cada veacutertice siendo el objetivo encontrar el menor costo de asignar una etiqueta a un veacutertice Este enfoque combina los clasificadores SVM y k-nearest neighbors que es un meacutetodo no parametrito de clasificacioacuten basado en encontrar los elementos mas cercanos del conjunto de datos de entrenamiento en el espacio de features

Otro enfoque para la tarea de clasificacioacuten en muacuteltiples categoriacuteas consiste en utilizar un meacutetodo de regresioacuten considerando que las categoriacuteas corresponden a la discretizacioacuten de una funcioacuten continua

Clasificacioacuten de Muacuteltiples Aspectos Hasta ahora hemos presentado las tareas de anaacutelisis de

sentimientos a nivel de documento es decir asignando una clase a un documento completo a partir de las emociones que expresa Esta clasificacioacuten puede ser binaria (polaridad positiva o negativa) o basada en muacuteltiples categoriacuteas (utilizando puntajes o estrellas como clases) pero en ambos casos se claacutesica el documento completo

En esta seccioacuten presentaremos la clasificacioacuten aislada de los muacuteltiples objetivos aspectos o targets que generan opinioacuten dentro de un mismo documento Esta tarea es conocida como Multi-Aspect Sentiment Analysis

El objetivo de esta tarea consiste en la identificacioacuten de aspectos que generan opinioacuten dentro de un mismo documento seleccionando aquellas caracteriacutesticas que son frecuentemente mencionadas y las emociones asociadas Para identificar estas caracteriacutesticas o aspectos la solucioacuten mas simple consiste en utilizar un parser que nos permita obtener las frases nominales del documento teniendo en cuenta que la mayora de los aspectos son sustantivos

Clasificacioacuten de Muacuteltiples Aspectos

ldquoexcelente comida el ambiente es bastante ruidoso pero los precios accesibles

Clasificacioacuten de Muacuteltiples Aspectos A partir de la clasificacioacuten anterior podremos extraer los

sustantivos o frases nominales que nos permitiraacuten identificar teacuterminos candidatos a aspectos y los adjetivos para identificar las emociones asociadas Para obtener la polaridad de sentimientos utilizaremos los meacutetodos de clasificacioacuten estudiados en secciones anteriores

Luego a partir de la polaridad de la emocioacuten que genera cada aspecto debemos establecer un criterio que nos permita asignar pesos para obtener la polaridad general del documento La forma mas simple Serra basaacutendonos en la frecuencia de aparicioacuten de cada aspecto en el corpus de datos

Otro meacutetodo simple para la identificacioacuten de targets que generan opinioacuten consiste en definir aspectos ad-hoc para un determinado dominio por ejemplo

f(COMIDA SERVICIO AMBIENTE OTROS) y luego ejecutar la clasificacioacuten de todos los teacuterminos del

documento utilizando un meacutetodo supervisado y un conjunto de datos de entrenamiento clasificado manualmente que nos permita obtener aquellos teacuterminos que pertenecen a alguna de las clases de aspectos relevantes generadores de opinioacuten

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 30: Poggi   analytics - sentiment - 1

Binarized Multinomial NB

En el modelo Multinomial consideraacutebamos la frecuencia de aparicioacuten de cada feature para la estimacioacuten de P(fk|Ci) A diferencia de este meacutetodo NB puede ser implementado considerando exclusivamente presencia o ausencia de features es decir asociaacutendolos con un valor booleano cuando se evaluacutea un documento y descartando informacioacuten de frecuencia y posicioacuten

Binarized Multinomial NB - Ejemplo

Modelo de Maacutexima Entropiacutea

Es un meacutetodo de clasificacioacuten discriminativo y de aprendizaje supervisado donde los documentos del conjunto de datos son descriptos a partir de una lista de features siendo cada uno de estos features una restriccioacuten del modelo

Este meacutetodo se basa en seleccionar la distribucioacuten de probabilidad que satisfaga todas las restricciones del modelo y maximice la entropiacutea Esto apunta a preservar la incertidumbre tanto como sea posible

Polaridad de Turney Propone en su trabajo un meacutetodo no-supervisado

para la clasificacioacuten de textos seguacuten informacioacuten subjetiva que se basa en predecir la polaridad de un documento en base a su orientacioacuten semaacutentica

La orientacioacuten de un documento es calculada en base a la distancia a los teacuterminos del idioma ingles ldquoexcelent y ldquopoor que sugieren referencias positivas y negativas respectivamente

El algoritmo propuesto consiste en los siguientes 3 pasos

Extraer las frases del documento que contienen adjetivos o adverbios utilizando una herramienta de part-of-speech tagging

Estimar la orientacioacuten semaacutentica de cada frase extraiacuteda utilizando el algoritmo PMI-IR

Asignar las clases ldquorecomendado o ldquono recomendado al documento

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Polaridad de Turney

En el primer paso se extraen grupos de dos palabras cuyas etiquetas correspondan con los siguientes patrones

Siendo JJ Adjetivos NN Sustantivos en Singular NNS

Sustantivos en Plural RB Adverbios RBS Adverbios Superlativos RBR Adverbios Comparativos VB Verbos VBD Verbos en Pasado VBN Verbos en Pasado Participio VBG Verbos Gerundios o Pasado Participio

Algoritmo PMI-IR

Este algoritmo utiliza la teacutecnica de Pointwise Mutual Information (PMI) para obtener una medida de la asociacioacuten semaacutentica entre dos palabras seguacuten la ecuacioacuten que sigue

Siendo p(word1 amp word2) la probabilidad de que las palabras ocurran juntas

Luego la orientacioacuten semaacutentica se calcularaacute de la siguiente manera

Algoritmo PMI-IR El algoritmo PMI-IR estima el valor de PMI

realizando consultas a un motor de buacutesqueda a partir de la cantidad de resultados que devuelve la consulta y utilizando el operador NEAR que proveen algunos buscadores para estimar la ocurrencia conjunta de dos teacuterminos

Por ultimo la clasificacioacuten de un documento como ldquorecomendable o ldquono recomendable se realizaraacute a partir del caacutelculo de la orientacioacuten semaacutentica promedio de todas las frases extraiacutedas del documento

Algoritmo PMI-IR Consideraremos los teacuterminos ldquoexcelente como referencia

de polaridad positiva y los teacuterminos ldquomal malo mala como referencia negativa y estimaremos el operador NEAR a partir de la ocurrencia conjunta de palabras en la misma sentencia Consideremos las frases ldquobuena comida y ldquocomida friacutea para el caacutelculo de orientacioacuten semaacutentica

Clasificacioacuten basada en Leacutexico de Opinioacuten Existen otros meacutetodos de clasificacioacuten considerados no

supervisados o semi-supervisados que se basan en utilizar un conjunto de teacuterminos ldquosemillaldquo cuya polaridad es conocida y la clasificacioacuten consiste en calcular la similitud o distancia de los teacuterminos que componen el documento a estos teacuterminos conocidos

En este tipo de meacutetodos el leacutexico es utilizado como reemplazo de los features del modelo El ejemplo mas extremo de utilizacioacuten de leacutexico de opinioacuten es el algoritmo de Turney que utiliza la polaridad conocida de dos uacutenicos teacuterminos para clasificar un texto a partir de la distancia de los teacuterminos del documento a ellos

En un trabajo Sidorov (2012) se propone un leacutexico de opinioacuten de mas de 2000 palabras en idioma espantildeol que incluye la distancia de cada uno de estos teacuterminos a alguna de las siguientes emociones baacutesicas alegra ira miedo tristeza sorpresa y disgusto

En base a esta informacioacuten podraacute desarrollarse un algoritmo que infiera la polaridad de una sentencia a partir de calcular la distancia de los teacuterminos que la componen a las emociones baacutesicas asociadas a sentimientos positivos o negativos

Clasificacioacuten basada en Leacutexico de Opinioacuten

En este tipo de clasificadores puede ser necesario asociar la polaridad de los teacuterminos del leacutexico a dominios u objetivos especiacuteficos Por ejemplo

La palabra ldquobarato puede asociarse a sentimientos positivos cuando se refiere a comida y a sentimientos negativos cuando se refiere a vestimenta o decoracioacuten de ambientes

La palabra ldquoantildeejo tiene una connotacioacuten positiva cuando se refiere a vinos y altamente negativa si se refiere a comida

El termino ldquofriacuteo se asocia a emociones negativas si se habla de pizza y positivas si se habla de cervezas etc

Clasificacioacuten basada en Leacutexico de Opinioacuten Otro meacutetodo semi-supervisado basado en leacutexico de opinioacuten

consiste en identificar la polaridad de los adjetivos de un texto a partir de la ocurrencia conjunta con teacuterminos cuya polaridad es conocida y teniendo en cuenta la conjuncioacuten que los relaciona es decir considerando que si los adjetivos estaacuten conectados por el termino ldquoy tendraacuten la misma polaridad mientras que si aparecen conectados por el termino ldquopero tendraacuten polaridad opuesta

Un ejemplo Etiquetar un conjunto inicial de adjetivos semilla seguacuten su

polaridad Extender el conjunto anterior a partir de la ocurrencia conjunta

de los adjetivos conocidos con otros adjetivos y teniendo en cuenta la conjuncioacuten que los relaciona para determinar si tienen la misma polaridad u opuesta

Utilizar un clasificador supervisado para determinar el grado de similitud de polaridad de cada par de adjetivos generando como resultado un graacutefico que relacione los adjetivos del conjunto de datos

Clusterizar el graacutefico anterior en dos grandes grupos de polaridad similar (positivos y negativos)

Clasificacioacuten basada en Puntaje Para clasificar un texto de forma maacutes subjetiva se puede asignar a

cada documento un puntaje dentro de una escala dependiendo del grado de polaridad que expresa (por ejemplo asignar estrellas del 1 al 5)

La solucioacuten mas simple para esta tarea es clasificar el texto utilizando muacuteltiples categoriacuteas como clases Esta clasificacioacuten puede realizarse con los algoritmos como NB

Como SVM se utiliza para clasificacioacuten binaria se puede utilizar One-vs-All que se basa en crear un clasificador SVM para cada clase cuya salida nos permita saber si el documento pertenece o no a la clase en cuestioacuten

Otra solucion para resolver esta tarea consideraacutendola un problema de metric labeling En este tipo de problema la entrada es un conjunto de etiquetas (clases) y un grafo ponderado Se define una funcioacuten de distancia de las etiquetas y para cada etiqueta el costo de asignacioacuten a cada veacutertice siendo el objetivo encontrar el menor costo de asignar una etiqueta a un veacutertice Este enfoque combina los clasificadores SVM y k-nearest neighbors que es un meacutetodo no parametrito de clasificacioacuten basado en encontrar los elementos mas cercanos del conjunto de datos de entrenamiento en el espacio de features

Otro enfoque para la tarea de clasificacioacuten en muacuteltiples categoriacuteas consiste en utilizar un meacutetodo de regresioacuten considerando que las categoriacuteas corresponden a la discretizacioacuten de una funcioacuten continua

Clasificacioacuten de Muacuteltiples Aspectos Hasta ahora hemos presentado las tareas de anaacutelisis de

sentimientos a nivel de documento es decir asignando una clase a un documento completo a partir de las emociones que expresa Esta clasificacioacuten puede ser binaria (polaridad positiva o negativa) o basada en muacuteltiples categoriacuteas (utilizando puntajes o estrellas como clases) pero en ambos casos se claacutesica el documento completo

En esta seccioacuten presentaremos la clasificacioacuten aislada de los muacuteltiples objetivos aspectos o targets que generan opinioacuten dentro de un mismo documento Esta tarea es conocida como Multi-Aspect Sentiment Analysis

El objetivo de esta tarea consiste en la identificacioacuten de aspectos que generan opinioacuten dentro de un mismo documento seleccionando aquellas caracteriacutesticas que son frecuentemente mencionadas y las emociones asociadas Para identificar estas caracteriacutesticas o aspectos la solucioacuten mas simple consiste en utilizar un parser que nos permita obtener las frases nominales del documento teniendo en cuenta que la mayora de los aspectos son sustantivos

Clasificacioacuten de Muacuteltiples Aspectos

ldquoexcelente comida el ambiente es bastante ruidoso pero los precios accesibles

Clasificacioacuten de Muacuteltiples Aspectos A partir de la clasificacioacuten anterior podremos extraer los

sustantivos o frases nominales que nos permitiraacuten identificar teacuterminos candidatos a aspectos y los adjetivos para identificar las emociones asociadas Para obtener la polaridad de sentimientos utilizaremos los meacutetodos de clasificacioacuten estudiados en secciones anteriores

Luego a partir de la polaridad de la emocioacuten que genera cada aspecto debemos establecer un criterio que nos permita asignar pesos para obtener la polaridad general del documento La forma mas simple Serra basaacutendonos en la frecuencia de aparicioacuten de cada aspecto en el corpus de datos

Otro meacutetodo simple para la identificacioacuten de targets que generan opinioacuten consiste en definir aspectos ad-hoc para un determinado dominio por ejemplo

f(COMIDA SERVICIO AMBIENTE OTROS) y luego ejecutar la clasificacioacuten de todos los teacuterminos del

documento utilizando un meacutetodo supervisado y un conjunto de datos de entrenamiento clasificado manualmente que nos permita obtener aquellos teacuterminos que pertenecen a alguna de las clases de aspectos relevantes generadores de opinioacuten

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 31: Poggi   analytics - sentiment - 1

Binarized Multinomial NB - Ejemplo

Modelo de Maacutexima Entropiacutea

Es un meacutetodo de clasificacioacuten discriminativo y de aprendizaje supervisado donde los documentos del conjunto de datos son descriptos a partir de una lista de features siendo cada uno de estos features una restriccioacuten del modelo

Este meacutetodo se basa en seleccionar la distribucioacuten de probabilidad que satisfaga todas las restricciones del modelo y maximice la entropiacutea Esto apunta a preservar la incertidumbre tanto como sea posible

Polaridad de Turney Propone en su trabajo un meacutetodo no-supervisado

para la clasificacioacuten de textos seguacuten informacioacuten subjetiva que se basa en predecir la polaridad de un documento en base a su orientacioacuten semaacutentica

La orientacioacuten de un documento es calculada en base a la distancia a los teacuterminos del idioma ingles ldquoexcelent y ldquopoor que sugieren referencias positivas y negativas respectivamente

El algoritmo propuesto consiste en los siguientes 3 pasos

Extraer las frases del documento que contienen adjetivos o adverbios utilizando una herramienta de part-of-speech tagging

Estimar la orientacioacuten semaacutentica de cada frase extraiacuteda utilizando el algoritmo PMI-IR

Asignar las clases ldquorecomendado o ldquono recomendado al documento

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Polaridad de Turney

En el primer paso se extraen grupos de dos palabras cuyas etiquetas correspondan con los siguientes patrones

Siendo JJ Adjetivos NN Sustantivos en Singular NNS

Sustantivos en Plural RB Adverbios RBS Adverbios Superlativos RBR Adverbios Comparativos VB Verbos VBD Verbos en Pasado VBN Verbos en Pasado Participio VBG Verbos Gerundios o Pasado Participio

Algoritmo PMI-IR

Este algoritmo utiliza la teacutecnica de Pointwise Mutual Information (PMI) para obtener una medida de la asociacioacuten semaacutentica entre dos palabras seguacuten la ecuacioacuten que sigue

Siendo p(word1 amp word2) la probabilidad de que las palabras ocurran juntas

Luego la orientacioacuten semaacutentica se calcularaacute de la siguiente manera

Algoritmo PMI-IR El algoritmo PMI-IR estima el valor de PMI

realizando consultas a un motor de buacutesqueda a partir de la cantidad de resultados que devuelve la consulta y utilizando el operador NEAR que proveen algunos buscadores para estimar la ocurrencia conjunta de dos teacuterminos

Por ultimo la clasificacioacuten de un documento como ldquorecomendable o ldquono recomendable se realizaraacute a partir del caacutelculo de la orientacioacuten semaacutentica promedio de todas las frases extraiacutedas del documento

Algoritmo PMI-IR Consideraremos los teacuterminos ldquoexcelente como referencia

de polaridad positiva y los teacuterminos ldquomal malo mala como referencia negativa y estimaremos el operador NEAR a partir de la ocurrencia conjunta de palabras en la misma sentencia Consideremos las frases ldquobuena comida y ldquocomida friacutea para el caacutelculo de orientacioacuten semaacutentica

Clasificacioacuten basada en Leacutexico de Opinioacuten Existen otros meacutetodos de clasificacioacuten considerados no

supervisados o semi-supervisados que se basan en utilizar un conjunto de teacuterminos ldquosemillaldquo cuya polaridad es conocida y la clasificacioacuten consiste en calcular la similitud o distancia de los teacuterminos que componen el documento a estos teacuterminos conocidos

En este tipo de meacutetodos el leacutexico es utilizado como reemplazo de los features del modelo El ejemplo mas extremo de utilizacioacuten de leacutexico de opinioacuten es el algoritmo de Turney que utiliza la polaridad conocida de dos uacutenicos teacuterminos para clasificar un texto a partir de la distancia de los teacuterminos del documento a ellos

En un trabajo Sidorov (2012) se propone un leacutexico de opinioacuten de mas de 2000 palabras en idioma espantildeol que incluye la distancia de cada uno de estos teacuterminos a alguna de las siguientes emociones baacutesicas alegra ira miedo tristeza sorpresa y disgusto

En base a esta informacioacuten podraacute desarrollarse un algoritmo que infiera la polaridad de una sentencia a partir de calcular la distancia de los teacuterminos que la componen a las emociones baacutesicas asociadas a sentimientos positivos o negativos

Clasificacioacuten basada en Leacutexico de Opinioacuten

En este tipo de clasificadores puede ser necesario asociar la polaridad de los teacuterminos del leacutexico a dominios u objetivos especiacuteficos Por ejemplo

La palabra ldquobarato puede asociarse a sentimientos positivos cuando se refiere a comida y a sentimientos negativos cuando se refiere a vestimenta o decoracioacuten de ambientes

La palabra ldquoantildeejo tiene una connotacioacuten positiva cuando se refiere a vinos y altamente negativa si se refiere a comida

El termino ldquofriacuteo se asocia a emociones negativas si se habla de pizza y positivas si se habla de cervezas etc

Clasificacioacuten basada en Leacutexico de Opinioacuten Otro meacutetodo semi-supervisado basado en leacutexico de opinioacuten

consiste en identificar la polaridad de los adjetivos de un texto a partir de la ocurrencia conjunta con teacuterminos cuya polaridad es conocida y teniendo en cuenta la conjuncioacuten que los relaciona es decir considerando que si los adjetivos estaacuten conectados por el termino ldquoy tendraacuten la misma polaridad mientras que si aparecen conectados por el termino ldquopero tendraacuten polaridad opuesta

Un ejemplo Etiquetar un conjunto inicial de adjetivos semilla seguacuten su

polaridad Extender el conjunto anterior a partir de la ocurrencia conjunta

de los adjetivos conocidos con otros adjetivos y teniendo en cuenta la conjuncioacuten que los relaciona para determinar si tienen la misma polaridad u opuesta

Utilizar un clasificador supervisado para determinar el grado de similitud de polaridad de cada par de adjetivos generando como resultado un graacutefico que relacione los adjetivos del conjunto de datos

Clusterizar el graacutefico anterior en dos grandes grupos de polaridad similar (positivos y negativos)

Clasificacioacuten basada en Puntaje Para clasificar un texto de forma maacutes subjetiva se puede asignar a

cada documento un puntaje dentro de una escala dependiendo del grado de polaridad que expresa (por ejemplo asignar estrellas del 1 al 5)

La solucioacuten mas simple para esta tarea es clasificar el texto utilizando muacuteltiples categoriacuteas como clases Esta clasificacioacuten puede realizarse con los algoritmos como NB

Como SVM se utiliza para clasificacioacuten binaria se puede utilizar One-vs-All que se basa en crear un clasificador SVM para cada clase cuya salida nos permita saber si el documento pertenece o no a la clase en cuestioacuten

Otra solucion para resolver esta tarea consideraacutendola un problema de metric labeling En este tipo de problema la entrada es un conjunto de etiquetas (clases) y un grafo ponderado Se define una funcioacuten de distancia de las etiquetas y para cada etiqueta el costo de asignacioacuten a cada veacutertice siendo el objetivo encontrar el menor costo de asignar una etiqueta a un veacutertice Este enfoque combina los clasificadores SVM y k-nearest neighbors que es un meacutetodo no parametrito de clasificacioacuten basado en encontrar los elementos mas cercanos del conjunto de datos de entrenamiento en el espacio de features

Otro enfoque para la tarea de clasificacioacuten en muacuteltiples categoriacuteas consiste en utilizar un meacutetodo de regresioacuten considerando que las categoriacuteas corresponden a la discretizacioacuten de una funcioacuten continua

Clasificacioacuten de Muacuteltiples Aspectos Hasta ahora hemos presentado las tareas de anaacutelisis de

sentimientos a nivel de documento es decir asignando una clase a un documento completo a partir de las emociones que expresa Esta clasificacioacuten puede ser binaria (polaridad positiva o negativa) o basada en muacuteltiples categoriacuteas (utilizando puntajes o estrellas como clases) pero en ambos casos se claacutesica el documento completo

En esta seccioacuten presentaremos la clasificacioacuten aislada de los muacuteltiples objetivos aspectos o targets que generan opinioacuten dentro de un mismo documento Esta tarea es conocida como Multi-Aspect Sentiment Analysis

El objetivo de esta tarea consiste en la identificacioacuten de aspectos que generan opinioacuten dentro de un mismo documento seleccionando aquellas caracteriacutesticas que son frecuentemente mencionadas y las emociones asociadas Para identificar estas caracteriacutesticas o aspectos la solucioacuten mas simple consiste en utilizar un parser que nos permita obtener las frases nominales del documento teniendo en cuenta que la mayora de los aspectos son sustantivos

Clasificacioacuten de Muacuteltiples Aspectos

ldquoexcelente comida el ambiente es bastante ruidoso pero los precios accesibles

Clasificacioacuten de Muacuteltiples Aspectos A partir de la clasificacioacuten anterior podremos extraer los

sustantivos o frases nominales que nos permitiraacuten identificar teacuterminos candidatos a aspectos y los adjetivos para identificar las emociones asociadas Para obtener la polaridad de sentimientos utilizaremos los meacutetodos de clasificacioacuten estudiados en secciones anteriores

Luego a partir de la polaridad de la emocioacuten que genera cada aspecto debemos establecer un criterio que nos permita asignar pesos para obtener la polaridad general del documento La forma mas simple Serra basaacutendonos en la frecuencia de aparicioacuten de cada aspecto en el corpus de datos

Otro meacutetodo simple para la identificacioacuten de targets que generan opinioacuten consiste en definir aspectos ad-hoc para un determinado dominio por ejemplo

f(COMIDA SERVICIO AMBIENTE OTROS) y luego ejecutar la clasificacioacuten de todos los teacuterminos del

documento utilizando un meacutetodo supervisado y un conjunto de datos de entrenamiento clasificado manualmente que nos permita obtener aquellos teacuterminos que pertenecen a alguna de las clases de aspectos relevantes generadores de opinioacuten

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 32: Poggi   analytics - sentiment - 1

Modelo de Maacutexima Entropiacutea

Es un meacutetodo de clasificacioacuten discriminativo y de aprendizaje supervisado donde los documentos del conjunto de datos son descriptos a partir de una lista de features siendo cada uno de estos features una restriccioacuten del modelo

Este meacutetodo se basa en seleccionar la distribucioacuten de probabilidad que satisfaga todas las restricciones del modelo y maximice la entropiacutea Esto apunta a preservar la incertidumbre tanto como sea posible

Polaridad de Turney Propone en su trabajo un meacutetodo no-supervisado

para la clasificacioacuten de textos seguacuten informacioacuten subjetiva que se basa en predecir la polaridad de un documento en base a su orientacioacuten semaacutentica

La orientacioacuten de un documento es calculada en base a la distancia a los teacuterminos del idioma ingles ldquoexcelent y ldquopoor que sugieren referencias positivas y negativas respectivamente

El algoritmo propuesto consiste en los siguientes 3 pasos

Extraer las frases del documento que contienen adjetivos o adverbios utilizando una herramienta de part-of-speech tagging

Estimar la orientacioacuten semaacutentica de cada frase extraiacuteda utilizando el algoritmo PMI-IR

Asignar las clases ldquorecomendado o ldquono recomendado al documento

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Polaridad de Turney

En el primer paso se extraen grupos de dos palabras cuyas etiquetas correspondan con los siguientes patrones

Siendo JJ Adjetivos NN Sustantivos en Singular NNS

Sustantivos en Plural RB Adverbios RBS Adverbios Superlativos RBR Adverbios Comparativos VB Verbos VBD Verbos en Pasado VBN Verbos en Pasado Participio VBG Verbos Gerundios o Pasado Participio

Algoritmo PMI-IR

Este algoritmo utiliza la teacutecnica de Pointwise Mutual Information (PMI) para obtener una medida de la asociacioacuten semaacutentica entre dos palabras seguacuten la ecuacioacuten que sigue

Siendo p(word1 amp word2) la probabilidad de que las palabras ocurran juntas

Luego la orientacioacuten semaacutentica se calcularaacute de la siguiente manera

Algoritmo PMI-IR El algoritmo PMI-IR estima el valor de PMI

realizando consultas a un motor de buacutesqueda a partir de la cantidad de resultados que devuelve la consulta y utilizando el operador NEAR que proveen algunos buscadores para estimar la ocurrencia conjunta de dos teacuterminos

Por ultimo la clasificacioacuten de un documento como ldquorecomendable o ldquono recomendable se realizaraacute a partir del caacutelculo de la orientacioacuten semaacutentica promedio de todas las frases extraiacutedas del documento

Algoritmo PMI-IR Consideraremos los teacuterminos ldquoexcelente como referencia

de polaridad positiva y los teacuterminos ldquomal malo mala como referencia negativa y estimaremos el operador NEAR a partir de la ocurrencia conjunta de palabras en la misma sentencia Consideremos las frases ldquobuena comida y ldquocomida friacutea para el caacutelculo de orientacioacuten semaacutentica

Clasificacioacuten basada en Leacutexico de Opinioacuten Existen otros meacutetodos de clasificacioacuten considerados no

supervisados o semi-supervisados que se basan en utilizar un conjunto de teacuterminos ldquosemillaldquo cuya polaridad es conocida y la clasificacioacuten consiste en calcular la similitud o distancia de los teacuterminos que componen el documento a estos teacuterminos conocidos

En este tipo de meacutetodos el leacutexico es utilizado como reemplazo de los features del modelo El ejemplo mas extremo de utilizacioacuten de leacutexico de opinioacuten es el algoritmo de Turney que utiliza la polaridad conocida de dos uacutenicos teacuterminos para clasificar un texto a partir de la distancia de los teacuterminos del documento a ellos

En un trabajo Sidorov (2012) se propone un leacutexico de opinioacuten de mas de 2000 palabras en idioma espantildeol que incluye la distancia de cada uno de estos teacuterminos a alguna de las siguientes emociones baacutesicas alegra ira miedo tristeza sorpresa y disgusto

En base a esta informacioacuten podraacute desarrollarse un algoritmo que infiera la polaridad de una sentencia a partir de calcular la distancia de los teacuterminos que la componen a las emociones baacutesicas asociadas a sentimientos positivos o negativos

Clasificacioacuten basada en Leacutexico de Opinioacuten

En este tipo de clasificadores puede ser necesario asociar la polaridad de los teacuterminos del leacutexico a dominios u objetivos especiacuteficos Por ejemplo

La palabra ldquobarato puede asociarse a sentimientos positivos cuando se refiere a comida y a sentimientos negativos cuando se refiere a vestimenta o decoracioacuten de ambientes

La palabra ldquoantildeejo tiene una connotacioacuten positiva cuando se refiere a vinos y altamente negativa si se refiere a comida

El termino ldquofriacuteo se asocia a emociones negativas si se habla de pizza y positivas si se habla de cervezas etc

Clasificacioacuten basada en Leacutexico de Opinioacuten Otro meacutetodo semi-supervisado basado en leacutexico de opinioacuten

consiste en identificar la polaridad de los adjetivos de un texto a partir de la ocurrencia conjunta con teacuterminos cuya polaridad es conocida y teniendo en cuenta la conjuncioacuten que los relaciona es decir considerando que si los adjetivos estaacuten conectados por el termino ldquoy tendraacuten la misma polaridad mientras que si aparecen conectados por el termino ldquopero tendraacuten polaridad opuesta

Un ejemplo Etiquetar un conjunto inicial de adjetivos semilla seguacuten su

polaridad Extender el conjunto anterior a partir de la ocurrencia conjunta

de los adjetivos conocidos con otros adjetivos y teniendo en cuenta la conjuncioacuten que los relaciona para determinar si tienen la misma polaridad u opuesta

Utilizar un clasificador supervisado para determinar el grado de similitud de polaridad de cada par de adjetivos generando como resultado un graacutefico que relacione los adjetivos del conjunto de datos

Clusterizar el graacutefico anterior en dos grandes grupos de polaridad similar (positivos y negativos)

Clasificacioacuten basada en Puntaje Para clasificar un texto de forma maacutes subjetiva se puede asignar a

cada documento un puntaje dentro de una escala dependiendo del grado de polaridad que expresa (por ejemplo asignar estrellas del 1 al 5)

La solucioacuten mas simple para esta tarea es clasificar el texto utilizando muacuteltiples categoriacuteas como clases Esta clasificacioacuten puede realizarse con los algoritmos como NB

Como SVM se utiliza para clasificacioacuten binaria se puede utilizar One-vs-All que se basa en crear un clasificador SVM para cada clase cuya salida nos permita saber si el documento pertenece o no a la clase en cuestioacuten

Otra solucion para resolver esta tarea consideraacutendola un problema de metric labeling En este tipo de problema la entrada es un conjunto de etiquetas (clases) y un grafo ponderado Se define una funcioacuten de distancia de las etiquetas y para cada etiqueta el costo de asignacioacuten a cada veacutertice siendo el objetivo encontrar el menor costo de asignar una etiqueta a un veacutertice Este enfoque combina los clasificadores SVM y k-nearest neighbors que es un meacutetodo no parametrito de clasificacioacuten basado en encontrar los elementos mas cercanos del conjunto de datos de entrenamiento en el espacio de features

Otro enfoque para la tarea de clasificacioacuten en muacuteltiples categoriacuteas consiste en utilizar un meacutetodo de regresioacuten considerando que las categoriacuteas corresponden a la discretizacioacuten de una funcioacuten continua

Clasificacioacuten de Muacuteltiples Aspectos Hasta ahora hemos presentado las tareas de anaacutelisis de

sentimientos a nivel de documento es decir asignando una clase a un documento completo a partir de las emociones que expresa Esta clasificacioacuten puede ser binaria (polaridad positiva o negativa) o basada en muacuteltiples categoriacuteas (utilizando puntajes o estrellas como clases) pero en ambos casos se claacutesica el documento completo

En esta seccioacuten presentaremos la clasificacioacuten aislada de los muacuteltiples objetivos aspectos o targets que generan opinioacuten dentro de un mismo documento Esta tarea es conocida como Multi-Aspect Sentiment Analysis

El objetivo de esta tarea consiste en la identificacioacuten de aspectos que generan opinioacuten dentro de un mismo documento seleccionando aquellas caracteriacutesticas que son frecuentemente mencionadas y las emociones asociadas Para identificar estas caracteriacutesticas o aspectos la solucioacuten mas simple consiste en utilizar un parser que nos permita obtener las frases nominales del documento teniendo en cuenta que la mayora de los aspectos son sustantivos

Clasificacioacuten de Muacuteltiples Aspectos

ldquoexcelente comida el ambiente es bastante ruidoso pero los precios accesibles

Clasificacioacuten de Muacuteltiples Aspectos A partir de la clasificacioacuten anterior podremos extraer los

sustantivos o frases nominales que nos permitiraacuten identificar teacuterminos candidatos a aspectos y los adjetivos para identificar las emociones asociadas Para obtener la polaridad de sentimientos utilizaremos los meacutetodos de clasificacioacuten estudiados en secciones anteriores

Luego a partir de la polaridad de la emocioacuten que genera cada aspecto debemos establecer un criterio que nos permita asignar pesos para obtener la polaridad general del documento La forma mas simple Serra basaacutendonos en la frecuencia de aparicioacuten de cada aspecto en el corpus de datos

Otro meacutetodo simple para la identificacioacuten de targets que generan opinioacuten consiste en definir aspectos ad-hoc para un determinado dominio por ejemplo

f(COMIDA SERVICIO AMBIENTE OTROS) y luego ejecutar la clasificacioacuten de todos los teacuterminos del

documento utilizando un meacutetodo supervisado y un conjunto de datos de entrenamiento clasificado manualmente que nos permita obtener aquellos teacuterminos que pertenecen a alguna de las clases de aspectos relevantes generadores de opinioacuten

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 33: Poggi   analytics - sentiment - 1

Polaridad de Turney Propone en su trabajo un meacutetodo no-supervisado

para la clasificacioacuten de textos seguacuten informacioacuten subjetiva que se basa en predecir la polaridad de un documento en base a su orientacioacuten semaacutentica

La orientacioacuten de un documento es calculada en base a la distancia a los teacuterminos del idioma ingles ldquoexcelent y ldquopoor que sugieren referencias positivas y negativas respectivamente

El algoritmo propuesto consiste en los siguientes 3 pasos

Extraer las frases del documento que contienen adjetivos o adverbios utilizando una herramienta de part-of-speech tagging

Estimar la orientacioacuten semaacutentica de cada frase extraiacuteda utilizando el algoritmo PMI-IR

Asignar las clases ldquorecomendado o ldquono recomendado al documento

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Polaridad de Turney

En el primer paso se extraen grupos de dos palabras cuyas etiquetas correspondan con los siguientes patrones

Siendo JJ Adjetivos NN Sustantivos en Singular NNS

Sustantivos en Plural RB Adverbios RBS Adverbios Superlativos RBR Adverbios Comparativos VB Verbos VBD Verbos en Pasado VBN Verbos en Pasado Participio VBG Verbos Gerundios o Pasado Participio

Algoritmo PMI-IR

Este algoritmo utiliza la teacutecnica de Pointwise Mutual Information (PMI) para obtener una medida de la asociacioacuten semaacutentica entre dos palabras seguacuten la ecuacioacuten que sigue

Siendo p(word1 amp word2) la probabilidad de que las palabras ocurran juntas

Luego la orientacioacuten semaacutentica se calcularaacute de la siguiente manera

Algoritmo PMI-IR El algoritmo PMI-IR estima el valor de PMI

realizando consultas a un motor de buacutesqueda a partir de la cantidad de resultados que devuelve la consulta y utilizando el operador NEAR que proveen algunos buscadores para estimar la ocurrencia conjunta de dos teacuterminos

Por ultimo la clasificacioacuten de un documento como ldquorecomendable o ldquono recomendable se realizaraacute a partir del caacutelculo de la orientacioacuten semaacutentica promedio de todas las frases extraiacutedas del documento

Algoritmo PMI-IR Consideraremos los teacuterminos ldquoexcelente como referencia

de polaridad positiva y los teacuterminos ldquomal malo mala como referencia negativa y estimaremos el operador NEAR a partir de la ocurrencia conjunta de palabras en la misma sentencia Consideremos las frases ldquobuena comida y ldquocomida friacutea para el caacutelculo de orientacioacuten semaacutentica

Clasificacioacuten basada en Leacutexico de Opinioacuten Existen otros meacutetodos de clasificacioacuten considerados no

supervisados o semi-supervisados que se basan en utilizar un conjunto de teacuterminos ldquosemillaldquo cuya polaridad es conocida y la clasificacioacuten consiste en calcular la similitud o distancia de los teacuterminos que componen el documento a estos teacuterminos conocidos

En este tipo de meacutetodos el leacutexico es utilizado como reemplazo de los features del modelo El ejemplo mas extremo de utilizacioacuten de leacutexico de opinioacuten es el algoritmo de Turney que utiliza la polaridad conocida de dos uacutenicos teacuterminos para clasificar un texto a partir de la distancia de los teacuterminos del documento a ellos

En un trabajo Sidorov (2012) se propone un leacutexico de opinioacuten de mas de 2000 palabras en idioma espantildeol que incluye la distancia de cada uno de estos teacuterminos a alguna de las siguientes emociones baacutesicas alegra ira miedo tristeza sorpresa y disgusto

En base a esta informacioacuten podraacute desarrollarse un algoritmo que infiera la polaridad de una sentencia a partir de calcular la distancia de los teacuterminos que la componen a las emociones baacutesicas asociadas a sentimientos positivos o negativos

Clasificacioacuten basada en Leacutexico de Opinioacuten

En este tipo de clasificadores puede ser necesario asociar la polaridad de los teacuterminos del leacutexico a dominios u objetivos especiacuteficos Por ejemplo

La palabra ldquobarato puede asociarse a sentimientos positivos cuando se refiere a comida y a sentimientos negativos cuando se refiere a vestimenta o decoracioacuten de ambientes

La palabra ldquoantildeejo tiene una connotacioacuten positiva cuando se refiere a vinos y altamente negativa si se refiere a comida

El termino ldquofriacuteo se asocia a emociones negativas si se habla de pizza y positivas si se habla de cervezas etc

Clasificacioacuten basada en Leacutexico de Opinioacuten Otro meacutetodo semi-supervisado basado en leacutexico de opinioacuten

consiste en identificar la polaridad de los adjetivos de un texto a partir de la ocurrencia conjunta con teacuterminos cuya polaridad es conocida y teniendo en cuenta la conjuncioacuten que los relaciona es decir considerando que si los adjetivos estaacuten conectados por el termino ldquoy tendraacuten la misma polaridad mientras que si aparecen conectados por el termino ldquopero tendraacuten polaridad opuesta

Un ejemplo Etiquetar un conjunto inicial de adjetivos semilla seguacuten su

polaridad Extender el conjunto anterior a partir de la ocurrencia conjunta

de los adjetivos conocidos con otros adjetivos y teniendo en cuenta la conjuncioacuten que los relaciona para determinar si tienen la misma polaridad u opuesta

Utilizar un clasificador supervisado para determinar el grado de similitud de polaridad de cada par de adjetivos generando como resultado un graacutefico que relacione los adjetivos del conjunto de datos

Clusterizar el graacutefico anterior en dos grandes grupos de polaridad similar (positivos y negativos)

Clasificacioacuten basada en Puntaje Para clasificar un texto de forma maacutes subjetiva se puede asignar a

cada documento un puntaje dentro de una escala dependiendo del grado de polaridad que expresa (por ejemplo asignar estrellas del 1 al 5)

La solucioacuten mas simple para esta tarea es clasificar el texto utilizando muacuteltiples categoriacuteas como clases Esta clasificacioacuten puede realizarse con los algoritmos como NB

Como SVM se utiliza para clasificacioacuten binaria se puede utilizar One-vs-All que se basa en crear un clasificador SVM para cada clase cuya salida nos permita saber si el documento pertenece o no a la clase en cuestioacuten

Otra solucion para resolver esta tarea consideraacutendola un problema de metric labeling En este tipo de problema la entrada es un conjunto de etiquetas (clases) y un grafo ponderado Se define una funcioacuten de distancia de las etiquetas y para cada etiqueta el costo de asignacioacuten a cada veacutertice siendo el objetivo encontrar el menor costo de asignar una etiqueta a un veacutertice Este enfoque combina los clasificadores SVM y k-nearest neighbors que es un meacutetodo no parametrito de clasificacioacuten basado en encontrar los elementos mas cercanos del conjunto de datos de entrenamiento en el espacio de features

Otro enfoque para la tarea de clasificacioacuten en muacuteltiples categoriacuteas consiste en utilizar un meacutetodo de regresioacuten considerando que las categoriacuteas corresponden a la discretizacioacuten de una funcioacuten continua

Clasificacioacuten de Muacuteltiples Aspectos Hasta ahora hemos presentado las tareas de anaacutelisis de

sentimientos a nivel de documento es decir asignando una clase a un documento completo a partir de las emociones que expresa Esta clasificacioacuten puede ser binaria (polaridad positiva o negativa) o basada en muacuteltiples categoriacuteas (utilizando puntajes o estrellas como clases) pero en ambos casos se claacutesica el documento completo

En esta seccioacuten presentaremos la clasificacioacuten aislada de los muacuteltiples objetivos aspectos o targets que generan opinioacuten dentro de un mismo documento Esta tarea es conocida como Multi-Aspect Sentiment Analysis

El objetivo de esta tarea consiste en la identificacioacuten de aspectos que generan opinioacuten dentro de un mismo documento seleccionando aquellas caracteriacutesticas que son frecuentemente mencionadas y las emociones asociadas Para identificar estas caracteriacutesticas o aspectos la solucioacuten mas simple consiste en utilizar un parser que nos permita obtener las frases nominales del documento teniendo en cuenta que la mayora de los aspectos son sustantivos

Clasificacioacuten de Muacuteltiples Aspectos

ldquoexcelente comida el ambiente es bastante ruidoso pero los precios accesibles

Clasificacioacuten de Muacuteltiples Aspectos A partir de la clasificacioacuten anterior podremos extraer los

sustantivos o frases nominales que nos permitiraacuten identificar teacuterminos candidatos a aspectos y los adjetivos para identificar las emociones asociadas Para obtener la polaridad de sentimientos utilizaremos los meacutetodos de clasificacioacuten estudiados en secciones anteriores

Luego a partir de la polaridad de la emocioacuten que genera cada aspecto debemos establecer un criterio que nos permita asignar pesos para obtener la polaridad general del documento La forma mas simple Serra basaacutendonos en la frecuencia de aparicioacuten de cada aspecto en el corpus de datos

Otro meacutetodo simple para la identificacioacuten de targets que generan opinioacuten consiste en definir aspectos ad-hoc para un determinado dominio por ejemplo

f(COMIDA SERVICIO AMBIENTE OTROS) y luego ejecutar la clasificacioacuten de todos los teacuterminos del

documento utilizando un meacutetodo supervisado y un conjunto de datos de entrenamiento clasificado manualmente que nos permita obtener aquellos teacuterminos que pertenecen a alguna de las clases de aspectos relevantes generadores de opinioacuten

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 34: Poggi   analytics - sentiment - 1

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Polaridad de Turney

En el primer paso se extraen grupos de dos palabras cuyas etiquetas correspondan con los siguientes patrones

Siendo JJ Adjetivos NN Sustantivos en Singular NNS

Sustantivos en Plural RB Adverbios RBS Adverbios Superlativos RBR Adverbios Comparativos VB Verbos VBD Verbos en Pasado VBN Verbos en Pasado Participio VBG Verbos Gerundios o Pasado Participio

Algoritmo PMI-IR

Este algoritmo utiliza la teacutecnica de Pointwise Mutual Information (PMI) para obtener una medida de la asociacioacuten semaacutentica entre dos palabras seguacuten la ecuacioacuten que sigue

Siendo p(word1 amp word2) la probabilidad de que las palabras ocurran juntas

Luego la orientacioacuten semaacutentica se calcularaacute de la siguiente manera

Algoritmo PMI-IR El algoritmo PMI-IR estima el valor de PMI

realizando consultas a un motor de buacutesqueda a partir de la cantidad de resultados que devuelve la consulta y utilizando el operador NEAR que proveen algunos buscadores para estimar la ocurrencia conjunta de dos teacuterminos

Por ultimo la clasificacioacuten de un documento como ldquorecomendable o ldquono recomendable se realizaraacute a partir del caacutelculo de la orientacioacuten semaacutentica promedio de todas las frases extraiacutedas del documento

Algoritmo PMI-IR Consideraremos los teacuterminos ldquoexcelente como referencia

de polaridad positiva y los teacuterminos ldquomal malo mala como referencia negativa y estimaremos el operador NEAR a partir de la ocurrencia conjunta de palabras en la misma sentencia Consideremos las frases ldquobuena comida y ldquocomida friacutea para el caacutelculo de orientacioacuten semaacutentica

Clasificacioacuten basada en Leacutexico de Opinioacuten Existen otros meacutetodos de clasificacioacuten considerados no

supervisados o semi-supervisados que se basan en utilizar un conjunto de teacuterminos ldquosemillaldquo cuya polaridad es conocida y la clasificacioacuten consiste en calcular la similitud o distancia de los teacuterminos que componen el documento a estos teacuterminos conocidos

En este tipo de meacutetodos el leacutexico es utilizado como reemplazo de los features del modelo El ejemplo mas extremo de utilizacioacuten de leacutexico de opinioacuten es el algoritmo de Turney que utiliza la polaridad conocida de dos uacutenicos teacuterminos para clasificar un texto a partir de la distancia de los teacuterminos del documento a ellos

En un trabajo Sidorov (2012) se propone un leacutexico de opinioacuten de mas de 2000 palabras en idioma espantildeol que incluye la distancia de cada uno de estos teacuterminos a alguna de las siguientes emociones baacutesicas alegra ira miedo tristeza sorpresa y disgusto

En base a esta informacioacuten podraacute desarrollarse un algoritmo que infiera la polaridad de una sentencia a partir de calcular la distancia de los teacuterminos que la componen a las emociones baacutesicas asociadas a sentimientos positivos o negativos

Clasificacioacuten basada en Leacutexico de Opinioacuten

En este tipo de clasificadores puede ser necesario asociar la polaridad de los teacuterminos del leacutexico a dominios u objetivos especiacuteficos Por ejemplo

La palabra ldquobarato puede asociarse a sentimientos positivos cuando se refiere a comida y a sentimientos negativos cuando se refiere a vestimenta o decoracioacuten de ambientes

La palabra ldquoantildeejo tiene una connotacioacuten positiva cuando se refiere a vinos y altamente negativa si se refiere a comida

El termino ldquofriacuteo se asocia a emociones negativas si se habla de pizza y positivas si se habla de cervezas etc

Clasificacioacuten basada en Leacutexico de Opinioacuten Otro meacutetodo semi-supervisado basado en leacutexico de opinioacuten

consiste en identificar la polaridad de los adjetivos de un texto a partir de la ocurrencia conjunta con teacuterminos cuya polaridad es conocida y teniendo en cuenta la conjuncioacuten que los relaciona es decir considerando que si los adjetivos estaacuten conectados por el termino ldquoy tendraacuten la misma polaridad mientras que si aparecen conectados por el termino ldquopero tendraacuten polaridad opuesta

Un ejemplo Etiquetar un conjunto inicial de adjetivos semilla seguacuten su

polaridad Extender el conjunto anterior a partir de la ocurrencia conjunta

de los adjetivos conocidos con otros adjetivos y teniendo en cuenta la conjuncioacuten que los relaciona para determinar si tienen la misma polaridad u opuesta

Utilizar un clasificador supervisado para determinar el grado de similitud de polaridad de cada par de adjetivos generando como resultado un graacutefico que relacione los adjetivos del conjunto de datos

Clusterizar el graacutefico anterior en dos grandes grupos de polaridad similar (positivos y negativos)

Clasificacioacuten basada en Puntaje Para clasificar un texto de forma maacutes subjetiva se puede asignar a

cada documento un puntaje dentro de una escala dependiendo del grado de polaridad que expresa (por ejemplo asignar estrellas del 1 al 5)

La solucioacuten mas simple para esta tarea es clasificar el texto utilizando muacuteltiples categoriacuteas como clases Esta clasificacioacuten puede realizarse con los algoritmos como NB

Como SVM se utiliza para clasificacioacuten binaria se puede utilizar One-vs-All que se basa en crear un clasificador SVM para cada clase cuya salida nos permita saber si el documento pertenece o no a la clase en cuestioacuten

Otra solucion para resolver esta tarea consideraacutendola un problema de metric labeling En este tipo de problema la entrada es un conjunto de etiquetas (clases) y un grafo ponderado Se define una funcioacuten de distancia de las etiquetas y para cada etiqueta el costo de asignacioacuten a cada veacutertice siendo el objetivo encontrar el menor costo de asignar una etiqueta a un veacutertice Este enfoque combina los clasificadores SVM y k-nearest neighbors que es un meacutetodo no parametrito de clasificacioacuten basado en encontrar los elementos mas cercanos del conjunto de datos de entrenamiento en el espacio de features

Otro enfoque para la tarea de clasificacioacuten en muacuteltiples categoriacuteas consiste en utilizar un meacutetodo de regresioacuten considerando que las categoriacuteas corresponden a la discretizacioacuten de una funcioacuten continua

Clasificacioacuten de Muacuteltiples Aspectos Hasta ahora hemos presentado las tareas de anaacutelisis de

sentimientos a nivel de documento es decir asignando una clase a un documento completo a partir de las emociones que expresa Esta clasificacioacuten puede ser binaria (polaridad positiva o negativa) o basada en muacuteltiples categoriacuteas (utilizando puntajes o estrellas como clases) pero en ambos casos se claacutesica el documento completo

En esta seccioacuten presentaremos la clasificacioacuten aislada de los muacuteltiples objetivos aspectos o targets que generan opinioacuten dentro de un mismo documento Esta tarea es conocida como Multi-Aspect Sentiment Analysis

El objetivo de esta tarea consiste en la identificacioacuten de aspectos que generan opinioacuten dentro de un mismo documento seleccionando aquellas caracteriacutesticas que son frecuentemente mencionadas y las emociones asociadas Para identificar estas caracteriacutesticas o aspectos la solucioacuten mas simple consiste en utilizar un parser que nos permita obtener las frases nominales del documento teniendo en cuenta que la mayora de los aspectos son sustantivos

Clasificacioacuten de Muacuteltiples Aspectos

ldquoexcelente comida el ambiente es bastante ruidoso pero los precios accesibles

Clasificacioacuten de Muacuteltiples Aspectos A partir de la clasificacioacuten anterior podremos extraer los

sustantivos o frases nominales que nos permitiraacuten identificar teacuterminos candidatos a aspectos y los adjetivos para identificar las emociones asociadas Para obtener la polaridad de sentimientos utilizaremos los meacutetodos de clasificacioacuten estudiados en secciones anteriores

Luego a partir de la polaridad de la emocioacuten que genera cada aspecto debemos establecer un criterio que nos permita asignar pesos para obtener la polaridad general del documento La forma mas simple Serra basaacutendonos en la frecuencia de aparicioacuten de cada aspecto en el corpus de datos

Otro meacutetodo simple para la identificacioacuten de targets que generan opinioacuten consiste en definir aspectos ad-hoc para un determinado dominio por ejemplo

f(COMIDA SERVICIO AMBIENTE OTROS) y luego ejecutar la clasificacioacuten de todos los teacuterminos del

documento utilizando un meacutetodo supervisado y un conjunto de datos de entrenamiento clasificado manualmente que nos permita obtener aquellos teacuterminos que pertenecen a alguna de las clases de aspectos relevantes generadores de opinioacuten

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 35: Poggi   analytics - sentiment - 1

Modelo de Maacutexima Entropiacutea Log-Linear Classifier

MaxEnt pertenece a la familia de clasificadores conocidos como exponenciales o log-linear y se basa en extraer features de las observaciones y combinarlos linealmente ponderados con un determinado peso como se indica en la ecuacioacuten siendo wi el peso del feature fi y Z un factor de normalizacioacuten para que las probabilidades sumen 1

Linear Regression Los clasificadores log-linear utilizan el concepto de Linear Regression

para la combinacioacuten de features Este meacutetodo tiene el objetivo de predecir un valor perteneciente a los nuacutemeros reales a partir de la combinacioacuten lineal de los valores que toman determinados atributos en cada observacioacuten del modelo

Polaridad de Turney

En el primer paso se extraen grupos de dos palabras cuyas etiquetas correspondan con los siguientes patrones

Siendo JJ Adjetivos NN Sustantivos en Singular NNS

Sustantivos en Plural RB Adverbios RBS Adverbios Superlativos RBR Adverbios Comparativos VB Verbos VBD Verbos en Pasado VBN Verbos en Pasado Participio VBG Verbos Gerundios o Pasado Participio

Algoritmo PMI-IR

Este algoritmo utiliza la teacutecnica de Pointwise Mutual Information (PMI) para obtener una medida de la asociacioacuten semaacutentica entre dos palabras seguacuten la ecuacioacuten que sigue

Siendo p(word1 amp word2) la probabilidad de que las palabras ocurran juntas

Luego la orientacioacuten semaacutentica se calcularaacute de la siguiente manera

Algoritmo PMI-IR El algoritmo PMI-IR estima el valor de PMI

realizando consultas a un motor de buacutesqueda a partir de la cantidad de resultados que devuelve la consulta y utilizando el operador NEAR que proveen algunos buscadores para estimar la ocurrencia conjunta de dos teacuterminos

Por ultimo la clasificacioacuten de un documento como ldquorecomendable o ldquono recomendable se realizaraacute a partir del caacutelculo de la orientacioacuten semaacutentica promedio de todas las frases extraiacutedas del documento

Algoritmo PMI-IR Consideraremos los teacuterminos ldquoexcelente como referencia

de polaridad positiva y los teacuterminos ldquomal malo mala como referencia negativa y estimaremos el operador NEAR a partir de la ocurrencia conjunta de palabras en la misma sentencia Consideremos las frases ldquobuena comida y ldquocomida friacutea para el caacutelculo de orientacioacuten semaacutentica

Clasificacioacuten basada en Leacutexico de Opinioacuten Existen otros meacutetodos de clasificacioacuten considerados no

supervisados o semi-supervisados que se basan en utilizar un conjunto de teacuterminos ldquosemillaldquo cuya polaridad es conocida y la clasificacioacuten consiste en calcular la similitud o distancia de los teacuterminos que componen el documento a estos teacuterminos conocidos

En este tipo de meacutetodos el leacutexico es utilizado como reemplazo de los features del modelo El ejemplo mas extremo de utilizacioacuten de leacutexico de opinioacuten es el algoritmo de Turney que utiliza la polaridad conocida de dos uacutenicos teacuterminos para clasificar un texto a partir de la distancia de los teacuterminos del documento a ellos

En un trabajo Sidorov (2012) se propone un leacutexico de opinioacuten de mas de 2000 palabras en idioma espantildeol que incluye la distancia de cada uno de estos teacuterminos a alguna de las siguientes emociones baacutesicas alegra ira miedo tristeza sorpresa y disgusto

En base a esta informacioacuten podraacute desarrollarse un algoritmo que infiera la polaridad de una sentencia a partir de calcular la distancia de los teacuterminos que la componen a las emociones baacutesicas asociadas a sentimientos positivos o negativos

Clasificacioacuten basada en Leacutexico de Opinioacuten

En este tipo de clasificadores puede ser necesario asociar la polaridad de los teacuterminos del leacutexico a dominios u objetivos especiacuteficos Por ejemplo

La palabra ldquobarato puede asociarse a sentimientos positivos cuando se refiere a comida y a sentimientos negativos cuando se refiere a vestimenta o decoracioacuten de ambientes

La palabra ldquoantildeejo tiene una connotacioacuten positiva cuando se refiere a vinos y altamente negativa si se refiere a comida

El termino ldquofriacuteo se asocia a emociones negativas si se habla de pizza y positivas si se habla de cervezas etc

Clasificacioacuten basada en Leacutexico de Opinioacuten Otro meacutetodo semi-supervisado basado en leacutexico de opinioacuten

consiste en identificar la polaridad de los adjetivos de un texto a partir de la ocurrencia conjunta con teacuterminos cuya polaridad es conocida y teniendo en cuenta la conjuncioacuten que los relaciona es decir considerando que si los adjetivos estaacuten conectados por el termino ldquoy tendraacuten la misma polaridad mientras que si aparecen conectados por el termino ldquopero tendraacuten polaridad opuesta

Un ejemplo Etiquetar un conjunto inicial de adjetivos semilla seguacuten su

polaridad Extender el conjunto anterior a partir de la ocurrencia conjunta

de los adjetivos conocidos con otros adjetivos y teniendo en cuenta la conjuncioacuten que los relaciona para determinar si tienen la misma polaridad u opuesta

Utilizar un clasificador supervisado para determinar el grado de similitud de polaridad de cada par de adjetivos generando como resultado un graacutefico que relacione los adjetivos del conjunto de datos

Clusterizar el graacutefico anterior en dos grandes grupos de polaridad similar (positivos y negativos)

Clasificacioacuten basada en Puntaje Para clasificar un texto de forma maacutes subjetiva se puede asignar a

cada documento un puntaje dentro de una escala dependiendo del grado de polaridad que expresa (por ejemplo asignar estrellas del 1 al 5)

La solucioacuten mas simple para esta tarea es clasificar el texto utilizando muacuteltiples categoriacuteas como clases Esta clasificacioacuten puede realizarse con los algoritmos como NB

Como SVM se utiliza para clasificacioacuten binaria se puede utilizar One-vs-All que se basa en crear un clasificador SVM para cada clase cuya salida nos permita saber si el documento pertenece o no a la clase en cuestioacuten

Otra solucion para resolver esta tarea consideraacutendola un problema de metric labeling En este tipo de problema la entrada es un conjunto de etiquetas (clases) y un grafo ponderado Se define una funcioacuten de distancia de las etiquetas y para cada etiqueta el costo de asignacioacuten a cada veacutertice siendo el objetivo encontrar el menor costo de asignar una etiqueta a un veacutertice Este enfoque combina los clasificadores SVM y k-nearest neighbors que es un meacutetodo no parametrito de clasificacioacuten basado en encontrar los elementos mas cercanos del conjunto de datos de entrenamiento en el espacio de features

Otro enfoque para la tarea de clasificacioacuten en muacuteltiples categoriacuteas consiste en utilizar un meacutetodo de regresioacuten considerando que las categoriacuteas corresponden a la discretizacioacuten de una funcioacuten continua

Clasificacioacuten de Muacuteltiples Aspectos Hasta ahora hemos presentado las tareas de anaacutelisis de

sentimientos a nivel de documento es decir asignando una clase a un documento completo a partir de las emociones que expresa Esta clasificacioacuten puede ser binaria (polaridad positiva o negativa) o basada en muacuteltiples categoriacuteas (utilizando puntajes o estrellas como clases) pero en ambos casos se claacutesica el documento completo

En esta seccioacuten presentaremos la clasificacioacuten aislada de los muacuteltiples objetivos aspectos o targets que generan opinioacuten dentro de un mismo documento Esta tarea es conocida como Multi-Aspect Sentiment Analysis

El objetivo de esta tarea consiste en la identificacioacuten de aspectos que generan opinioacuten dentro de un mismo documento seleccionando aquellas caracteriacutesticas que son frecuentemente mencionadas y las emociones asociadas Para identificar estas caracteriacutesticas o aspectos la solucioacuten mas simple consiste en utilizar un parser que nos permita obtener las frases nominales del documento teniendo en cuenta que la mayora de los aspectos son sustantivos

Clasificacioacuten de Muacuteltiples Aspectos

ldquoexcelente comida el ambiente es bastante ruidoso pero los precios accesibles

Clasificacioacuten de Muacuteltiples Aspectos A partir de la clasificacioacuten anterior podremos extraer los

sustantivos o frases nominales que nos permitiraacuten identificar teacuterminos candidatos a aspectos y los adjetivos para identificar las emociones asociadas Para obtener la polaridad de sentimientos utilizaremos los meacutetodos de clasificacioacuten estudiados en secciones anteriores

Luego a partir de la polaridad de la emocioacuten que genera cada aspecto debemos establecer un criterio que nos permita asignar pesos para obtener la polaridad general del documento La forma mas simple Serra basaacutendonos en la frecuencia de aparicioacuten de cada aspecto en el corpus de datos

Otro meacutetodo simple para la identificacioacuten de targets que generan opinioacuten consiste en definir aspectos ad-hoc para un determinado dominio por ejemplo

f(COMIDA SERVICIO AMBIENTE OTROS) y luego ejecutar la clasificacioacuten de todos los teacuterminos del

documento utilizando un meacutetodo supervisado y un conjunto de datos de entrenamiento clasificado manualmente que nos permita obtener aquellos teacuterminos que pertenecen a alguna de las clases de aspectos relevantes generadores de opinioacuten

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 36: Poggi   analytics - sentiment - 1

Polaridad de Turney

En el primer paso se extraen grupos de dos palabras cuyas etiquetas correspondan con los siguientes patrones

Siendo JJ Adjetivos NN Sustantivos en Singular NNS

Sustantivos en Plural RB Adverbios RBS Adverbios Superlativos RBR Adverbios Comparativos VB Verbos VBD Verbos en Pasado VBN Verbos en Pasado Participio VBG Verbos Gerundios o Pasado Participio

Algoritmo PMI-IR

Este algoritmo utiliza la teacutecnica de Pointwise Mutual Information (PMI) para obtener una medida de la asociacioacuten semaacutentica entre dos palabras seguacuten la ecuacioacuten que sigue

Siendo p(word1 amp word2) la probabilidad de que las palabras ocurran juntas

Luego la orientacioacuten semaacutentica se calcularaacute de la siguiente manera

Algoritmo PMI-IR El algoritmo PMI-IR estima el valor de PMI

realizando consultas a un motor de buacutesqueda a partir de la cantidad de resultados que devuelve la consulta y utilizando el operador NEAR que proveen algunos buscadores para estimar la ocurrencia conjunta de dos teacuterminos

Por ultimo la clasificacioacuten de un documento como ldquorecomendable o ldquono recomendable se realizaraacute a partir del caacutelculo de la orientacioacuten semaacutentica promedio de todas las frases extraiacutedas del documento

Algoritmo PMI-IR Consideraremos los teacuterminos ldquoexcelente como referencia

de polaridad positiva y los teacuterminos ldquomal malo mala como referencia negativa y estimaremos el operador NEAR a partir de la ocurrencia conjunta de palabras en la misma sentencia Consideremos las frases ldquobuena comida y ldquocomida friacutea para el caacutelculo de orientacioacuten semaacutentica

Clasificacioacuten basada en Leacutexico de Opinioacuten Existen otros meacutetodos de clasificacioacuten considerados no

supervisados o semi-supervisados que se basan en utilizar un conjunto de teacuterminos ldquosemillaldquo cuya polaridad es conocida y la clasificacioacuten consiste en calcular la similitud o distancia de los teacuterminos que componen el documento a estos teacuterminos conocidos

En este tipo de meacutetodos el leacutexico es utilizado como reemplazo de los features del modelo El ejemplo mas extremo de utilizacioacuten de leacutexico de opinioacuten es el algoritmo de Turney que utiliza la polaridad conocida de dos uacutenicos teacuterminos para clasificar un texto a partir de la distancia de los teacuterminos del documento a ellos

En un trabajo Sidorov (2012) se propone un leacutexico de opinioacuten de mas de 2000 palabras en idioma espantildeol que incluye la distancia de cada uno de estos teacuterminos a alguna de las siguientes emociones baacutesicas alegra ira miedo tristeza sorpresa y disgusto

En base a esta informacioacuten podraacute desarrollarse un algoritmo que infiera la polaridad de una sentencia a partir de calcular la distancia de los teacuterminos que la componen a las emociones baacutesicas asociadas a sentimientos positivos o negativos

Clasificacioacuten basada en Leacutexico de Opinioacuten

En este tipo de clasificadores puede ser necesario asociar la polaridad de los teacuterminos del leacutexico a dominios u objetivos especiacuteficos Por ejemplo

La palabra ldquobarato puede asociarse a sentimientos positivos cuando se refiere a comida y a sentimientos negativos cuando se refiere a vestimenta o decoracioacuten de ambientes

La palabra ldquoantildeejo tiene una connotacioacuten positiva cuando se refiere a vinos y altamente negativa si se refiere a comida

El termino ldquofriacuteo se asocia a emociones negativas si se habla de pizza y positivas si se habla de cervezas etc

Clasificacioacuten basada en Leacutexico de Opinioacuten Otro meacutetodo semi-supervisado basado en leacutexico de opinioacuten

consiste en identificar la polaridad de los adjetivos de un texto a partir de la ocurrencia conjunta con teacuterminos cuya polaridad es conocida y teniendo en cuenta la conjuncioacuten que los relaciona es decir considerando que si los adjetivos estaacuten conectados por el termino ldquoy tendraacuten la misma polaridad mientras que si aparecen conectados por el termino ldquopero tendraacuten polaridad opuesta

Un ejemplo Etiquetar un conjunto inicial de adjetivos semilla seguacuten su

polaridad Extender el conjunto anterior a partir de la ocurrencia conjunta

de los adjetivos conocidos con otros adjetivos y teniendo en cuenta la conjuncioacuten que los relaciona para determinar si tienen la misma polaridad u opuesta

Utilizar un clasificador supervisado para determinar el grado de similitud de polaridad de cada par de adjetivos generando como resultado un graacutefico que relacione los adjetivos del conjunto de datos

Clusterizar el graacutefico anterior en dos grandes grupos de polaridad similar (positivos y negativos)

Clasificacioacuten basada en Puntaje Para clasificar un texto de forma maacutes subjetiva se puede asignar a

cada documento un puntaje dentro de una escala dependiendo del grado de polaridad que expresa (por ejemplo asignar estrellas del 1 al 5)

La solucioacuten mas simple para esta tarea es clasificar el texto utilizando muacuteltiples categoriacuteas como clases Esta clasificacioacuten puede realizarse con los algoritmos como NB

Como SVM se utiliza para clasificacioacuten binaria se puede utilizar One-vs-All que se basa en crear un clasificador SVM para cada clase cuya salida nos permita saber si el documento pertenece o no a la clase en cuestioacuten

Otra solucion para resolver esta tarea consideraacutendola un problema de metric labeling En este tipo de problema la entrada es un conjunto de etiquetas (clases) y un grafo ponderado Se define una funcioacuten de distancia de las etiquetas y para cada etiqueta el costo de asignacioacuten a cada veacutertice siendo el objetivo encontrar el menor costo de asignar una etiqueta a un veacutertice Este enfoque combina los clasificadores SVM y k-nearest neighbors que es un meacutetodo no parametrito de clasificacioacuten basado en encontrar los elementos mas cercanos del conjunto de datos de entrenamiento en el espacio de features

Otro enfoque para la tarea de clasificacioacuten en muacuteltiples categoriacuteas consiste en utilizar un meacutetodo de regresioacuten considerando que las categoriacuteas corresponden a la discretizacioacuten de una funcioacuten continua

Clasificacioacuten de Muacuteltiples Aspectos Hasta ahora hemos presentado las tareas de anaacutelisis de

sentimientos a nivel de documento es decir asignando una clase a un documento completo a partir de las emociones que expresa Esta clasificacioacuten puede ser binaria (polaridad positiva o negativa) o basada en muacuteltiples categoriacuteas (utilizando puntajes o estrellas como clases) pero en ambos casos se claacutesica el documento completo

En esta seccioacuten presentaremos la clasificacioacuten aislada de los muacuteltiples objetivos aspectos o targets que generan opinioacuten dentro de un mismo documento Esta tarea es conocida como Multi-Aspect Sentiment Analysis

El objetivo de esta tarea consiste en la identificacioacuten de aspectos que generan opinioacuten dentro de un mismo documento seleccionando aquellas caracteriacutesticas que son frecuentemente mencionadas y las emociones asociadas Para identificar estas caracteriacutesticas o aspectos la solucioacuten mas simple consiste en utilizar un parser que nos permita obtener las frases nominales del documento teniendo en cuenta que la mayora de los aspectos son sustantivos

Clasificacioacuten de Muacuteltiples Aspectos

ldquoexcelente comida el ambiente es bastante ruidoso pero los precios accesibles

Clasificacioacuten de Muacuteltiples Aspectos A partir de la clasificacioacuten anterior podremos extraer los

sustantivos o frases nominales que nos permitiraacuten identificar teacuterminos candidatos a aspectos y los adjetivos para identificar las emociones asociadas Para obtener la polaridad de sentimientos utilizaremos los meacutetodos de clasificacioacuten estudiados en secciones anteriores

Luego a partir de la polaridad de la emocioacuten que genera cada aspecto debemos establecer un criterio que nos permita asignar pesos para obtener la polaridad general del documento La forma mas simple Serra basaacutendonos en la frecuencia de aparicioacuten de cada aspecto en el corpus de datos

Otro meacutetodo simple para la identificacioacuten de targets que generan opinioacuten consiste en definir aspectos ad-hoc para un determinado dominio por ejemplo

f(COMIDA SERVICIO AMBIENTE OTROS) y luego ejecutar la clasificacioacuten de todos los teacuterminos del

documento utilizando un meacutetodo supervisado y un conjunto de datos de entrenamiento clasificado manualmente que nos permita obtener aquellos teacuterminos que pertenecen a alguna de las clases de aspectos relevantes generadores de opinioacuten

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 37: Poggi   analytics - sentiment - 1

Algoritmo PMI-IR

Este algoritmo utiliza la teacutecnica de Pointwise Mutual Information (PMI) para obtener una medida de la asociacioacuten semaacutentica entre dos palabras seguacuten la ecuacioacuten que sigue

Siendo p(word1 amp word2) la probabilidad de que las palabras ocurran juntas

Luego la orientacioacuten semaacutentica se calcularaacute de la siguiente manera

Algoritmo PMI-IR El algoritmo PMI-IR estima el valor de PMI

realizando consultas a un motor de buacutesqueda a partir de la cantidad de resultados que devuelve la consulta y utilizando el operador NEAR que proveen algunos buscadores para estimar la ocurrencia conjunta de dos teacuterminos

Por ultimo la clasificacioacuten de un documento como ldquorecomendable o ldquono recomendable se realizaraacute a partir del caacutelculo de la orientacioacuten semaacutentica promedio de todas las frases extraiacutedas del documento

Algoritmo PMI-IR Consideraremos los teacuterminos ldquoexcelente como referencia

de polaridad positiva y los teacuterminos ldquomal malo mala como referencia negativa y estimaremos el operador NEAR a partir de la ocurrencia conjunta de palabras en la misma sentencia Consideremos las frases ldquobuena comida y ldquocomida friacutea para el caacutelculo de orientacioacuten semaacutentica

Clasificacioacuten basada en Leacutexico de Opinioacuten Existen otros meacutetodos de clasificacioacuten considerados no

supervisados o semi-supervisados que se basan en utilizar un conjunto de teacuterminos ldquosemillaldquo cuya polaridad es conocida y la clasificacioacuten consiste en calcular la similitud o distancia de los teacuterminos que componen el documento a estos teacuterminos conocidos

En este tipo de meacutetodos el leacutexico es utilizado como reemplazo de los features del modelo El ejemplo mas extremo de utilizacioacuten de leacutexico de opinioacuten es el algoritmo de Turney que utiliza la polaridad conocida de dos uacutenicos teacuterminos para clasificar un texto a partir de la distancia de los teacuterminos del documento a ellos

En un trabajo Sidorov (2012) se propone un leacutexico de opinioacuten de mas de 2000 palabras en idioma espantildeol que incluye la distancia de cada uno de estos teacuterminos a alguna de las siguientes emociones baacutesicas alegra ira miedo tristeza sorpresa y disgusto

En base a esta informacioacuten podraacute desarrollarse un algoritmo que infiera la polaridad de una sentencia a partir de calcular la distancia de los teacuterminos que la componen a las emociones baacutesicas asociadas a sentimientos positivos o negativos

Clasificacioacuten basada en Leacutexico de Opinioacuten

En este tipo de clasificadores puede ser necesario asociar la polaridad de los teacuterminos del leacutexico a dominios u objetivos especiacuteficos Por ejemplo

La palabra ldquobarato puede asociarse a sentimientos positivos cuando se refiere a comida y a sentimientos negativos cuando se refiere a vestimenta o decoracioacuten de ambientes

La palabra ldquoantildeejo tiene una connotacioacuten positiva cuando se refiere a vinos y altamente negativa si se refiere a comida

El termino ldquofriacuteo se asocia a emociones negativas si se habla de pizza y positivas si se habla de cervezas etc

Clasificacioacuten basada en Leacutexico de Opinioacuten Otro meacutetodo semi-supervisado basado en leacutexico de opinioacuten

consiste en identificar la polaridad de los adjetivos de un texto a partir de la ocurrencia conjunta con teacuterminos cuya polaridad es conocida y teniendo en cuenta la conjuncioacuten que los relaciona es decir considerando que si los adjetivos estaacuten conectados por el termino ldquoy tendraacuten la misma polaridad mientras que si aparecen conectados por el termino ldquopero tendraacuten polaridad opuesta

Un ejemplo Etiquetar un conjunto inicial de adjetivos semilla seguacuten su

polaridad Extender el conjunto anterior a partir de la ocurrencia conjunta

de los adjetivos conocidos con otros adjetivos y teniendo en cuenta la conjuncioacuten que los relaciona para determinar si tienen la misma polaridad u opuesta

Utilizar un clasificador supervisado para determinar el grado de similitud de polaridad de cada par de adjetivos generando como resultado un graacutefico que relacione los adjetivos del conjunto de datos

Clusterizar el graacutefico anterior en dos grandes grupos de polaridad similar (positivos y negativos)

Clasificacioacuten basada en Puntaje Para clasificar un texto de forma maacutes subjetiva se puede asignar a

cada documento un puntaje dentro de una escala dependiendo del grado de polaridad que expresa (por ejemplo asignar estrellas del 1 al 5)

La solucioacuten mas simple para esta tarea es clasificar el texto utilizando muacuteltiples categoriacuteas como clases Esta clasificacioacuten puede realizarse con los algoritmos como NB

Como SVM se utiliza para clasificacioacuten binaria se puede utilizar One-vs-All que se basa en crear un clasificador SVM para cada clase cuya salida nos permita saber si el documento pertenece o no a la clase en cuestioacuten

Otra solucion para resolver esta tarea consideraacutendola un problema de metric labeling En este tipo de problema la entrada es un conjunto de etiquetas (clases) y un grafo ponderado Se define una funcioacuten de distancia de las etiquetas y para cada etiqueta el costo de asignacioacuten a cada veacutertice siendo el objetivo encontrar el menor costo de asignar una etiqueta a un veacutertice Este enfoque combina los clasificadores SVM y k-nearest neighbors que es un meacutetodo no parametrito de clasificacioacuten basado en encontrar los elementos mas cercanos del conjunto de datos de entrenamiento en el espacio de features

Otro enfoque para la tarea de clasificacioacuten en muacuteltiples categoriacuteas consiste en utilizar un meacutetodo de regresioacuten considerando que las categoriacuteas corresponden a la discretizacioacuten de una funcioacuten continua

Clasificacioacuten de Muacuteltiples Aspectos Hasta ahora hemos presentado las tareas de anaacutelisis de

sentimientos a nivel de documento es decir asignando una clase a un documento completo a partir de las emociones que expresa Esta clasificacioacuten puede ser binaria (polaridad positiva o negativa) o basada en muacuteltiples categoriacuteas (utilizando puntajes o estrellas como clases) pero en ambos casos se claacutesica el documento completo

En esta seccioacuten presentaremos la clasificacioacuten aislada de los muacuteltiples objetivos aspectos o targets que generan opinioacuten dentro de un mismo documento Esta tarea es conocida como Multi-Aspect Sentiment Analysis

El objetivo de esta tarea consiste en la identificacioacuten de aspectos que generan opinioacuten dentro de un mismo documento seleccionando aquellas caracteriacutesticas que son frecuentemente mencionadas y las emociones asociadas Para identificar estas caracteriacutesticas o aspectos la solucioacuten mas simple consiste en utilizar un parser que nos permita obtener las frases nominales del documento teniendo en cuenta que la mayora de los aspectos son sustantivos

Clasificacioacuten de Muacuteltiples Aspectos

ldquoexcelente comida el ambiente es bastante ruidoso pero los precios accesibles

Clasificacioacuten de Muacuteltiples Aspectos A partir de la clasificacioacuten anterior podremos extraer los

sustantivos o frases nominales que nos permitiraacuten identificar teacuterminos candidatos a aspectos y los adjetivos para identificar las emociones asociadas Para obtener la polaridad de sentimientos utilizaremos los meacutetodos de clasificacioacuten estudiados en secciones anteriores

Luego a partir de la polaridad de la emocioacuten que genera cada aspecto debemos establecer un criterio que nos permita asignar pesos para obtener la polaridad general del documento La forma mas simple Serra basaacutendonos en la frecuencia de aparicioacuten de cada aspecto en el corpus de datos

Otro meacutetodo simple para la identificacioacuten de targets que generan opinioacuten consiste en definir aspectos ad-hoc para un determinado dominio por ejemplo

f(COMIDA SERVICIO AMBIENTE OTROS) y luego ejecutar la clasificacioacuten de todos los teacuterminos del

documento utilizando un meacutetodo supervisado y un conjunto de datos de entrenamiento clasificado manualmente que nos permita obtener aquellos teacuterminos que pertenecen a alguna de las clases de aspectos relevantes generadores de opinioacuten

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 38: Poggi   analytics - sentiment - 1

Algoritmo PMI-IR El algoritmo PMI-IR estima el valor de PMI

realizando consultas a un motor de buacutesqueda a partir de la cantidad de resultados que devuelve la consulta y utilizando el operador NEAR que proveen algunos buscadores para estimar la ocurrencia conjunta de dos teacuterminos

Por ultimo la clasificacioacuten de un documento como ldquorecomendable o ldquono recomendable se realizaraacute a partir del caacutelculo de la orientacioacuten semaacutentica promedio de todas las frases extraiacutedas del documento

Algoritmo PMI-IR Consideraremos los teacuterminos ldquoexcelente como referencia

de polaridad positiva y los teacuterminos ldquomal malo mala como referencia negativa y estimaremos el operador NEAR a partir de la ocurrencia conjunta de palabras en la misma sentencia Consideremos las frases ldquobuena comida y ldquocomida friacutea para el caacutelculo de orientacioacuten semaacutentica

Clasificacioacuten basada en Leacutexico de Opinioacuten Existen otros meacutetodos de clasificacioacuten considerados no

supervisados o semi-supervisados que se basan en utilizar un conjunto de teacuterminos ldquosemillaldquo cuya polaridad es conocida y la clasificacioacuten consiste en calcular la similitud o distancia de los teacuterminos que componen el documento a estos teacuterminos conocidos

En este tipo de meacutetodos el leacutexico es utilizado como reemplazo de los features del modelo El ejemplo mas extremo de utilizacioacuten de leacutexico de opinioacuten es el algoritmo de Turney que utiliza la polaridad conocida de dos uacutenicos teacuterminos para clasificar un texto a partir de la distancia de los teacuterminos del documento a ellos

En un trabajo Sidorov (2012) se propone un leacutexico de opinioacuten de mas de 2000 palabras en idioma espantildeol que incluye la distancia de cada uno de estos teacuterminos a alguna de las siguientes emociones baacutesicas alegra ira miedo tristeza sorpresa y disgusto

En base a esta informacioacuten podraacute desarrollarse un algoritmo que infiera la polaridad de una sentencia a partir de calcular la distancia de los teacuterminos que la componen a las emociones baacutesicas asociadas a sentimientos positivos o negativos

Clasificacioacuten basada en Leacutexico de Opinioacuten

En este tipo de clasificadores puede ser necesario asociar la polaridad de los teacuterminos del leacutexico a dominios u objetivos especiacuteficos Por ejemplo

La palabra ldquobarato puede asociarse a sentimientos positivos cuando se refiere a comida y a sentimientos negativos cuando se refiere a vestimenta o decoracioacuten de ambientes

La palabra ldquoantildeejo tiene una connotacioacuten positiva cuando se refiere a vinos y altamente negativa si se refiere a comida

El termino ldquofriacuteo se asocia a emociones negativas si se habla de pizza y positivas si se habla de cervezas etc

Clasificacioacuten basada en Leacutexico de Opinioacuten Otro meacutetodo semi-supervisado basado en leacutexico de opinioacuten

consiste en identificar la polaridad de los adjetivos de un texto a partir de la ocurrencia conjunta con teacuterminos cuya polaridad es conocida y teniendo en cuenta la conjuncioacuten que los relaciona es decir considerando que si los adjetivos estaacuten conectados por el termino ldquoy tendraacuten la misma polaridad mientras que si aparecen conectados por el termino ldquopero tendraacuten polaridad opuesta

Un ejemplo Etiquetar un conjunto inicial de adjetivos semilla seguacuten su

polaridad Extender el conjunto anterior a partir de la ocurrencia conjunta

de los adjetivos conocidos con otros adjetivos y teniendo en cuenta la conjuncioacuten que los relaciona para determinar si tienen la misma polaridad u opuesta

Utilizar un clasificador supervisado para determinar el grado de similitud de polaridad de cada par de adjetivos generando como resultado un graacutefico que relacione los adjetivos del conjunto de datos

Clusterizar el graacutefico anterior en dos grandes grupos de polaridad similar (positivos y negativos)

Clasificacioacuten basada en Puntaje Para clasificar un texto de forma maacutes subjetiva se puede asignar a

cada documento un puntaje dentro de una escala dependiendo del grado de polaridad que expresa (por ejemplo asignar estrellas del 1 al 5)

La solucioacuten mas simple para esta tarea es clasificar el texto utilizando muacuteltiples categoriacuteas como clases Esta clasificacioacuten puede realizarse con los algoritmos como NB

Como SVM se utiliza para clasificacioacuten binaria se puede utilizar One-vs-All que se basa en crear un clasificador SVM para cada clase cuya salida nos permita saber si el documento pertenece o no a la clase en cuestioacuten

Otra solucion para resolver esta tarea consideraacutendola un problema de metric labeling En este tipo de problema la entrada es un conjunto de etiquetas (clases) y un grafo ponderado Se define una funcioacuten de distancia de las etiquetas y para cada etiqueta el costo de asignacioacuten a cada veacutertice siendo el objetivo encontrar el menor costo de asignar una etiqueta a un veacutertice Este enfoque combina los clasificadores SVM y k-nearest neighbors que es un meacutetodo no parametrito de clasificacioacuten basado en encontrar los elementos mas cercanos del conjunto de datos de entrenamiento en el espacio de features

Otro enfoque para la tarea de clasificacioacuten en muacuteltiples categoriacuteas consiste en utilizar un meacutetodo de regresioacuten considerando que las categoriacuteas corresponden a la discretizacioacuten de una funcioacuten continua

Clasificacioacuten de Muacuteltiples Aspectos Hasta ahora hemos presentado las tareas de anaacutelisis de

sentimientos a nivel de documento es decir asignando una clase a un documento completo a partir de las emociones que expresa Esta clasificacioacuten puede ser binaria (polaridad positiva o negativa) o basada en muacuteltiples categoriacuteas (utilizando puntajes o estrellas como clases) pero en ambos casos se claacutesica el documento completo

En esta seccioacuten presentaremos la clasificacioacuten aislada de los muacuteltiples objetivos aspectos o targets que generan opinioacuten dentro de un mismo documento Esta tarea es conocida como Multi-Aspect Sentiment Analysis

El objetivo de esta tarea consiste en la identificacioacuten de aspectos que generan opinioacuten dentro de un mismo documento seleccionando aquellas caracteriacutesticas que son frecuentemente mencionadas y las emociones asociadas Para identificar estas caracteriacutesticas o aspectos la solucioacuten mas simple consiste en utilizar un parser que nos permita obtener las frases nominales del documento teniendo en cuenta que la mayora de los aspectos son sustantivos

Clasificacioacuten de Muacuteltiples Aspectos

ldquoexcelente comida el ambiente es bastante ruidoso pero los precios accesibles

Clasificacioacuten de Muacuteltiples Aspectos A partir de la clasificacioacuten anterior podremos extraer los

sustantivos o frases nominales que nos permitiraacuten identificar teacuterminos candidatos a aspectos y los adjetivos para identificar las emociones asociadas Para obtener la polaridad de sentimientos utilizaremos los meacutetodos de clasificacioacuten estudiados en secciones anteriores

Luego a partir de la polaridad de la emocioacuten que genera cada aspecto debemos establecer un criterio que nos permita asignar pesos para obtener la polaridad general del documento La forma mas simple Serra basaacutendonos en la frecuencia de aparicioacuten de cada aspecto en el corpus de datos

Otro meacutetodo simple para la identificacioacuten de targets que generan opinioacuten consiste en definir aspectos ad-hoc para un determinado dominio por ejemplo

f(COMIDA SERVICIO AMBIENTE OTROS) y luego ejecutar la clasificacioacuten de todos los teacuterminos del

documento utilizando un meacutetodo supervisado y un conjunto de datos de entrenamiento clasificado manualmente que nos permita obtener aquellos teacuterminos que pertenecen a alguna de las clases de aspectos relevantes generadores de opinioacuten

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 39: Poggi   analytics - sentiment - 1

Algoritmo PMI-IR Consideraremos los teacuterminos ldquoexcelente como referencia

de polaridad positiva y los teacuterminos ldquomal malo mala como referencia negativa y estimaremos el operador NEAR a partir de la ocurrencia conjunta de palabras en la misma sentencia Consideremos las frases ldquobuena comida y ldquocomida friacutea para el caacutelculo de orientacioacuten semaacutentica

Clasificacioacuten basada en Leacutexico de Opinioacuten Existen otros meacutetodos de clasificacioacuten considerados no

supervisados o semi-supervisados que se basan en utilizar un conjunto de teacuterminos ldquosemillaldquo cuya polaridad es conocida y la clasificacioacuten consiste en calcular la similitud o distancia de los teacuterminos que componen el documento a estos teacuterminos conocidos

En este tipo de meacutetodos el leacutexico es utilizado como reemplazo de los features del modelo El ejemplo mas extremo de utilizacioacuten de leacutexico de opinioacuten es el algoritmo de Turney que utiliza la polaridad conocida de dos uacutenicos teacuterminos para clasificar un texto a partir de la distancia de los teacuterminos del documento a ellos

En un trabajo Sidorov (2012) se propone un leacutexico de opinioacuten de mas de 2000 palabras en idioma espantildeol que incluye la distancia de cada uno de estos teacuterminos a alguna de las siguientes emociones baacutesicas alegra ira miedo tristeza sorpresa y disgusto

En base a esta informacioacuten podraacute desarrollarse un algoritmo que infiera la polaridad de una sentencia a partir de calcular la distancia de los teacuterminos que la componen a las emociones baacutesicas asociadas a sentimientos positivos o negativos

Clasificacioacuten basada en Leacutexico de Opinioacuten

En este tipo de clasificadores puede ser necesario asociar la polaridad de los teacuterminos del leacutexico a dominios u objetivos especiacuteficos Por ejemplo

La palabra ldquobarato puede asociarse a sentimientos positivos cuando se refiere a comida y a sentimientos negativos cuando se refiere a vestimenta o decoracioacuten de ambientes

La palabra ldquoantildeejo tiene una connotacioacuten positiva cuando se refiere a vinos y altamente negativa si se refiere a comida

El termino ldquofriacuteo se asocia a emociones negativas si se habla de pizza y positivas si se habla de cervezas etc

Clasificacioacuten basada en Leacutexico de Opinioacuten Otro meacutetodo semi-supervisado basado en leacutexico de opinioacuten

consiste en identificar la polaridad de los adjetivos de un texto a partir de la ocurrencia conjunta con teacuterminos cuya polaridad es conocida y teniendo en cuenta la conjuncioacuten que los relaciona es decir considerando que si los adjetivos estaacuten conectados por el termino ldquoy tendraacuten la misma polaridad mientras que si aparecen conectados por el termino ldquopero tendraacuten polaridad opuesta

Un ejemplo Etiquetar un conjunto inicial de adjetivos semilla seguacuten su

polaridad Extender el conjunto anterior a partir de la ocurrencia conjunta

de los adjetivos conocidos con otros adjetivos y teniendo en cuenta la conjuncioacuten que los relaciona para determinar si tienen la misma polaridad u opuesta

Utilizar un clasificador supervisado para determinar el grado de similitud de polaridad de cada par de adjetivos generando como resultado un graacutefico que relacione los adjetivos del conjunto de datos

Clusterizar el graacutefico anterior en dos grandes grupos de polaridad similar (positivos y negativos)

Clasificacioacuten basada en Puntaje Para clasificar un texto de forma maacutes subjetiva se puede asignar a

cada documento un puntaje dentro de una escala dependiendo del grado de polaridad que expresa (por ejemplo asignar estrellas del 1 al 5)

La solucioacuten mas simple para esta tarea es clasificar el texto utilizando muacuteltiples categoriacuteas como clases Esta clasificacioacuten puede realizarse con los algoritmos como NB

Como SVM se utiliza para clasificacioacuten binaria se puede utilizar One-vs-All que se basa en crear un clasificador SVM para cada clase cuya salida nos permita saber si el documento pertenece o no a la clase en cuestioacuten

Otra solucion para resolver esta tarea consideraacutendola un problema de metric labeling En este tipo de problema la entrada es un conjunto de etiquetas (clases) y un grafo ponderado Se define una funcioacuten de distancia de las etiquetas y para cada etiqueta el costo de asignacioacuten a cada veacutertice siendo el objetivo encontrar el menor costo de asignar una etiqueta a un veacutertice Este enfoque combina los clasificadores SVM y k-nearest neighbors que es un meacutetodo no parametrito de clasificacioacuten basado en encontrar los elementos mas cercanos del conjunto de datos de entrenamiento en el espacio de features

Otro enfoque para la tarea de clasificacioacuten en muacuteltiples categoriacuteas consiste en utilizar un meacutetodo de regresioacuten considerando que las categoriacuteas corresponden a la discretizacioacuten de una funcioacuten continua

Clasificacioacuten de Muacuteltiples Aspectos Hasta ahora hemos presentado las tareas de anaacutelisis de

sentimientos a nivel de documento es decir asignando una clase a un documento completo a partir de las emociones que expresa Esta clasificacioacuten puede ser binaria (polaridad positiva o negativa) o basada en muacuteltiples categoriacuteas (utilizando puntajes o estrellas como clases) pero en ambos casos se claacutesica el documento completo

En esta seccioacuten presentaremos la clasificacioacuten aislada de los muacuteltiples objetivos aspectos o targets que generan opinioacuten dentro de un mismo documento Esta tarea es conocida como Multi-Aspect Sentiment Analysis

El objetivo de esta tarea consiste en la identificacioacuten de aspectos que generan opinioacuten dentro de un mismo documento seleccionando aquellas caracteriacutesticas que son frecuentemente mencionadas y las emociones asociadas Para identificar estas caracteriacutesticas o aspectos la solucioacuten mas simple consiste en utilizar un parser que nos permita obtener las frases nominales del documento teniendo en cuenta que la mayora de los aspectos son sustantivos

Clasificacioacuten de Muacuteltiples Aspectos

ldquoexcelente comida el ambiente es bastante ruidoso pero los precios accesibles

Clasificacioacuten de Muacuteltiples Aspectos A partir de la clasificacioacuten anterior podremos extraer los

sustantivos o frases nominales que nos permitiraacuten identificar teacuterminos candidatos a aspectos y los adjetivos para identificar las emociones asociadas Para obtener la polaridad de sentimientos utilizaremos los meacutetodos de clasificacioacuten estudiados en secciones anteriores

Luego a partir de la polaridad de la emocioacuten que genera cada aspecto debemos establecer un criterio que nos permita asignar pesos para obtener la polaridad general del documento La forma mas simple Serra basaacutendonos en la frecuencia de aparicioacuten de cada aspecto en el corpus de datos

Otro meacutetodo simple para la identificacioacuten de targets que generan opinioacuten consiste en definir aspectos ad-hoc para un determinado dominio por ejemplo

f(COMIDA SERVICIO AMBIENTE OTROS) y luego ejecutar la clasificacioacuten de todos los teacuterminos del

documento utilizando un meacutetodo supervisado y un conjunto de datos de entrenamiento clasificado manualmente que nos permita obtener aquellos teacuterminos que pertenecen a alguna de las clases de aspectos relevantes generadores de opinioacuten

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 40: Poggi   analytics - sentiment - 1

Clasificacioacuten basada en Leacutexico de Opinioacuten Existen otros meacutetodos de clasificacioacuten considerados no

supervisados o semi-supervisados que se basan en utilizar un conjunto de teacuterminos ldquosemillaldquo cuya polaridad es conocida y la clasificacioacuten consiste en calcular la similitud o distancia de los teacuterminos que componen el documento a estos teacuterminos conocidos

En este tipo de meacutetodos el leacutexico es utilizado como reemplazo de los features del modelo El ejemplo mas extremo de utilizacioacuten de leacutexico de opinioacuten es el algoritmo de Turney que utiliza la polaridad conocida de dos uacutenicos teacuterminos para clasificar un texto a partir de la distancia de los teacuterminos del documento a ellos

En un trabajo Sidorov (2012) se propone un leacutexico de opinioacuten de mas de 2000 palabras en idioma espantildeol que incluye la distancia de cada uno de estos teacuterminos a alguna de las siguientes emociones baacutesicas alegra ira miedo tristeza sorpresa y disgusto

En base a esta informacioacuten podraacute desarrollarse un algoritmo que infiera la polaridad de una sentencia a partir de calcular la distancia de los teacuterminos que la componen a las emociones baacutesicas asociadas a sentimientos positivos o negativos

Clasificacioacuten basada en Leacutexico de Opinioacuten

En este tipo de clasificadores puede ser necesario asociar la polaridad de los teacuterminos del leacutexico a dominios u objetivos especiacuteficos Por ejemplo

La palabra ldquobarato puede asociarse a sentimientos positivos cuando se refiere a comida y a sentimientos negativos cuando se refiere a vestimenta o decoracioacuten de ambientes

La palabra ldquoantildeejo tiene una connotacioacuten positiva cuando se refiere a vinos y altamente negativa si se refiere a comida

El termino ldquofriacuteo se asocia a emociones negativas si se habla de pizza y positivas si se habla de cervezas etc

Clasificacioacuten basada en Leacutexico de Opinioacuten Otro meacutetodo semi-supervisado basado en leacutexico de opinioacuten

consiste en identificar la polaridad de los adjetivos de un texto a partir de la ocurrencia conjunta con teacuterminos cuya polaridad es conocida y teniendo en cuenta la conjuncioacuten que los relaciona es decir considerando que si los adjetivos estaacuten conectados por el termino ldquoy tendraacuten la misma polaridad mientras que si aparecen conectados por el termino ldquopero tendraacuten polaridad opuesta

Un ejemplo Etiquetar un conjunto inicial de adjetivos semilla seguacuten su

polaridad Extender el conjunto anterior a partir de la ocurrencia conjunta

de los adjetivos conocidos con otros adjetivos y teniendo en cuenta la conjuncioacuten que los relaciona para determinar si tienen la misma polaridad u opuesta

Utilizar un clasificador supervisado para determinar el grado de similitud de polaridad de cada par de adjetivos generando como resultado un graacutefico que relacione los adjetivos del conjunto de datos

Clusterizar el graacutefico anterior en dos grandes grupos de polaridad similar (positivos y negativos)

Clasificacioacuten basada en Puntaje Para clasificar un texto de forma maacutes subjetiva se puede asignar a

cada documento un puntaje dentro de una escala dependiendo del grado de polaridad que expresa (por ejemplo asignar estrellas del 1 al 5)

La solucioacuten mas simple para esta tarea es clasificar el texto utilizando muacuteltiples categoriacuteas como clases Esta clasificacioacuten puede realizarse con los algoritmos como NB

Como SVM se utiliza para clasificacioacuten binaria se puede utilizar One-vs-All que se basa en crear un clasificador SVM para cada clase cuya salida nos permita saber si el documento pertenece o no a la clase en cuestioacuten

Otra solucion para resolver esta tarea consideraacutendola un problema de metric labeling En este tipo de problema la entrada es un conjunto de etiquetas (clases) y un grafo ponderado Se define una funcioacuten de distancia de las etiquetas y para cada etiqueta el costo de asignacioacuten a cada veacutertice siendo el objetivo encontrar el menor costo de asignar una etiqueta a un veacutertice Este enfoque combina los clasificadores SVM y k-nearest neighbors que es un meacutetodo no parametrito de clasificacioacuten basado en encontrar los elementos mas cercanos del conjunto de datos de entrenamiento en el espacio de features

Otro enfoque para la tarea de clasificacioacuten en muacuteltiples categoriacuteas consiste en utilizar un meacutetodo de regresioacuten considerando que las categoriacuteas corresponden a la discretizacioacuten de una funcioacuten continua

Clasificacioacuten de Muacuteltiples Aspectos Hasta ahora hemos presentado las tareas de anaacutelisis de

sentimientos a nivel de documento es decir asignando una clase a un documento completo a partir de las emociones que expresa Esta clasificacioacuten puede ser binaria (polaridad positiva o negativa) o basada en muacuteltiples categoriacuteas (utilizando puntajes o estrellas como clases) pero en ambos casos se claacutesica el documento completo

En esta seccioacuten presentaremos la clasificacioacuten aislada de los muacuteltiples objetivos aspectos o targets que generan opinioacuten dentro de un mismo documento Esta tarea es conocida como Multi-Aspect Sentiment Analysis

El objetivo de esta tarea consiste en la identificacioacuten de aspectos que generan opinioacuten dentro de un mismo documento seleccionando aquellas caracteriacutesticas que son frecuentemente mencionadas y las emociones asociadas Para identificar estas caracteriacutesticas o aspectos la solucioacuten mas simple consiste en utilizar un parser que nos permita obtener las frases nominales del documento teniendo en cuenta que la mayora de los aspectos son sustantivos

Clasificacioacuten de Muacuteltiples Aspectos

ldquoexcelente comida el ambiente es bastante ruidoso pero los precios accesibles

Clasificacioacuten de Muacuteltiples Aspectos A partir de la clasificacioacuten anterior podremos extraer los

sustantivos o frases nominales que nos permitiraacuten identificar teacuterminos candidatos a aspectos y los adjetivos para identificar las emociones asociadas Para obtener la polaridad de sentimientos utilizaremos los meacutetodos de clasificacioacuten estudiados en secciones anteriores

Luego a partir de la polaridad de la emocioacuten que genera cada aspecto debemos establecer un criterio que nos permita asignar pesos para obtener la polaridad general del documento La forma mas simple Serra basaacutendonos en la frecuencia de aparicioacuten de cada aspecto en el corpus de datos

Otro meacutetodo simple para la identificacioacuten de targets que generan opinioacuten consiste en definir aspectos ad-hoc para un determinado dominio por ejemplo

f(COMIDA SERVICIO AMBIENTE OTROS) y luego ejecutar la clasificacioacuten de todos los teacuterminos del

documento utilizando un meacutetodo supervisado y un conjunto de datos de entrenamiento clasificado manualmente que nos permita obtener aquellos teacuterminos que pertenecen a alguna de las clases de aspectos relevantes generadores de opinioacuten

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 41: Poggi   analytics - sentiment - 1

Clasificacioacuten basada en Leacutexico de Opinioacuten

En este tipo de clasificadores puede ser necesario asociar la polaridad de los teacuterminos del leacutexico a dominios u objetivos especiacuteficos Por ejemplo

La palabra ldquobarato puede asociarse a sentimientos positivos cuando se refiere a comida y a sentimientos negativos cuando se refiere a vestimenta o decoracioacuten de ambientes

La palabra ldquoantildeejo tiene una connotacioacuten positiva cuando se refiere a vinos y altamente negativa si se refiere a comida

El termino ldquofriacuteo se asocia a emociones negativas si se habla de pizza y positivas si se habla de cervezas etc

Clasificacioacuten basada en Leacutexico de Opinioacuten Otro meacutetodo semi-supervisado basado en leacutexico de opinioacuten

consiste en identificar la polaridad de los adjetivos de un texto a partir de la ocurrencia conjunta con teacuterminos cuya polaridad es conocida y teniendo en cuenta la conjuncioacuten que los relaciona es decir considerando que si los adjetivos estaacuten conectados por el termino ldquoy tendraacuten la misma polaridad mientras que si aparecen conectados por el termino ldquopero tendraacuten polaridad opuesta

Un ejemplo Etiquetar un conjunto inicial de adjetivos semilla seguacuten su

polaridad Extender el conjunto anterior a partir de la ocurrencia conjunta

de los adjetivos conocidos con otros adjetivos y teniendo en cuenta la conjuncioacuten que los relaciona para determinar si tienen la misma polaridad u opuesta

Utilizar un clasificador supervisado para determinar el grado de similitud de polaridad de cada par de adjetivos generando como resultado un graacutefico que relacione los adjetivos del conjunto de datos

Clusterizar el graacutefico anterior en dos grandes grupos de polaridad similar (positivos y negativos)

Clasificacioacuten basada en Puntaje Para clasificar un texto de forma maacutes subjetiva se puede asignar a

cada documento un puntaje dentro de una escala dependiendo del grado de polaridad que expresa (por ejemplo asignar estrellas del 1 al 5)

La solucioacuten mas simple para esta tarea es clasificar el texto utilizando muacuteltiples categoriacuteas como clases Esta clasificacioacuten puede realizarse con los algoritmos como NB

Como SVM se utiliza para clasificacioacuten binaria se puede utilizar One-vs-All que se basa en crear un clasificador SVM para cada clase cuya salida nos permita saber si el documento pertenece o no a la clase en cuestioacuten

Otra solucion para resolver esta tarea consideraacutendola un problema de metric labeling En este tipo de problema la entrada es un conjunto de etiquetas (clases) y un grafo ponderado Se define una funcioacuten de distancia de las etiquetas y para cada etiqueta el costo de asignacioacuten a cada veacutertice siendo el objetivo encontrar el menor costo de asignar una etiqueta a un veacutertice Este enfoque combina los clasificadores SVM y k-nearest neighbors que es un meacutetodo no parametrito de clasificacioacuten basado en encontrar los elementos mas cercanos del conjunto de datos de entrenamiento en el espacio de features

Otro enfoque para la tarea de clasificacioacuten en muacuteltiples categoriacuteas consiste en utilizar un meacutetodo de regresioacuten considerando que las categoriacuteas corresponden a la discretizacioacuten de una funcioacuten continua

Clasificacioacuten de Muacuteltiples Aspectos Hasta ahora hemos presentado las tareas de anaacutelisis de

sentimientos a nivel de documento es decir asignando una clase a un documento completo a partir de las emociones que expresa Esta clasificacioacuten puede ser binaria (polaridad positiva o negativa) o basada en muacuteltiples categoriacuteas (utilizando puntajes o estrellas como clases) pero en ambos casos se claacutesica el documento completo

En esta seccioacuten presentaremos la clasificacioacuten aislada de los muacuteltiples objetivos aspectos o targets que generan opinioacuten dentro de un mismo documento Esta tarea es conocida como Multi-Aspect Sentiment Analysis

El objetivo de esta tarea consiste en la identificacioacuten de aspectos que generan opinioacuten dentro de un mismo documento seleccionando aquellas caracteriacutesticas que son frecuentemente mencionadas y las emociones asociadas Para identificar estas caracteriacutesticas o aspectos la solucioacuten mas simple consiste en utilizar un parser que nos permita obtener las frases nominales del documento teniendo en cuenta que la mayora de los aspectos son sustantivos

Clasificacioacuten de Muacuteltiples Aspectos

ldquoexcelente comida el ambiente es bastante ruidoso pero los precios accesibles

Clasificacioacuten de Muacuteltiples Aspectos A partir de la clasificacioacuten anterior podremos extraer los

sustantivos o frases nominales que nos permitiraacuten identificar teacuterminos candidatos a aspectos y los adjetivos para identificar las emociones asociadas Para obtener la polaridad de sentimientos utilizaremos los meacutetodos de clasificacioacuten estudiados en secciones anteriores

Luego a partir de la polaridad de la emocioacuten que genera cada aspecto debemos establecer un criterio que nos permita asignar pesos para obtener la polaridad general del documento La forma mas simple Serra basaacutendonos en la frecuencia de aparicioacuten de cada aspecto en el corpus de datos

Otro meacutetodo simple para la identificacioacuten de targets que generan opinioacuten consiste en definir aspectos ad-hoc para un determinado dominio por ejemplo

f(COMIDA SERVICIO AMBIENTE OTROS) y luego ejecutar la clasificacioacuten de todos los teacuterminos del

documento utilizando un meacutetodo supervisado y un conjunto de datos de entrenamiento clasificado manualmente que nos permita obtener aquellos teacuterminos que pertenecen a alguna de las clases de aspectos relevantes generadores de opinioacuten

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 42: Poggi   analytics - sentiment - 1

Clasificacioacuten basada en Leacutexico de Opinioacuten Otro meacutetodo semi-supervisado basado en leacutexico de opinioacuten

consiste en identificar la polaridad de los adjetivos de un texto a partir de la ocurrencia conjunta con teacuterminos cuya polaridad es conocida y teniendo en cuenta la conjuncioacuten que los relaciona es decir considerando que si los adjetivos estaacuten conectados por el termino ldquoy tendraacuten la misma polaridad mientras que si aparecen conectados por el termino ldquopero tendraacuten polaridad opuesta

Un ejemplo Etiquetar un conjunto inicial de adjetivos semilla seguacuten su

polaridad Extender el conjunto anterior a partir de la ocurrencia conjunta

de los adjetivos conocidos con otros adjetivos y teniendo en cuenta la conjuncioacuten que los relaciona para determinar si tienen la misma polaridad u opuesta

Utilizar un clasificador supervisado para determinar el grado de similitud de polaridad de cada par de adjetivos generando como resultado un graacutefico que relacione los adjetivos del conjunto de datos

Clusterizar el graacutefico anterior en dos grandes grupos de polaridad similar (positivos y negativos)

Clasificacioacuten basada en Puntaje Para clasificar un texto de forma maacutes subjetiva se puede asignar a

cada documento un puntaje dentro de una escala dependiendo del grado de polaridad que expresa (por ejemplo asignar estrellas del 1 al 5)

La solucioacuten mas simple para esta tarea es clasificar el texto utilizando muacuteltiples categoriacuteas como clases Esta clasificacioacuten puede realizarse con los algoritmos como NB

Como SVM se utiliza para clasificacioacuten binaria se puede utilizar One-vs-All que se basa en crear un clasificador SVM para cada clase cuya salida nos permita saber si el documento pertenece o no a la clase en cuestioacuten

Otra solucion para resolver esta tarea consideraacutendola un problema de metric labeling En este tipo de problema la entrada es un conjunto de etiquetas (clases) y un grafo ponderado Se define una funcioacuten de distancia de las etiquetas y para cada etiqueta el costo de asignacioacuten a cada veacutertice siendo el objetivo encontrar el menor costo de asignar una etiqueta a un veacutertice Este enfoque combina los clasificadores SVM y k-nearest neighbors que es un meacutetodo no parametrito de clasificacioacuten basado en encontrar los elementos mas cercanos del conjunto de datos de entrenamiento en el espacio de features

Otro enfoque para la tarea de clasificacioacuten en muacuteltiples categoriacuteas consiste en utilizar un meacutetodo de regresioacuten considerando que las categoriacuteas corresponden a la discretizacioacuten de una funcioacuten continua

Clasificacioacuten de Muacuteltiples Aspectos Hasta ahora hemos presentado las tareas de anaacutelisis de

sentimientos a nivel de documento es decir asignando una clase a un documento completo a partir de las emociones que expresa Esta clasificacioacuten puede ser binaria (polaridad positiva o negativa) o basada en muacuteltiples categoriacuteas (utilizando puntajes o estrellas como clases) pero en ambos casos se claacutesica el documento completo

En esta seccioacuten presentaremos la clasificacioacuten aislada de los muacuteltiples objetivos aspectos o targets que generan opinioacuten dentro de un mismo documento Esta tarea es conocida como Multi-Aspect Sentiment Analysis

El objetivo de esta tarea consiste en la identificacioacuten de aspectos que generan opinioacuten dentro de un mismo documento seleccionando aquellas caracteriacutesticas que son frecuentemente mencionadas y las emociones asociadas Para identificar estas caracteriacutesticas o aspectos la solucioacuten mas simple consiste en utilizar un parser que nos permita obtener las frases nominales del documento teniendo en cuenta que la mayora de los aspectos son sustantivos

Clasificacioacuten de Muacuteltiples Aspectos

ldquoexcelente comida el ambiente es bastante ruidoso pero los precios accesibles

Clasificacioacuten de Muacuteltiples Aspectos A partir de la clasificacioacuten anterior podremos extraer los

sustantivos o frases nominales que nos permitiraacuten identificar teacuterminos candidatos a aspectos y los adjetivos para identificar las emociones asociadas Para obtener la polaridad de sentimientos utilizaremos los meacutetodos de clasificacioacuten estudiados en secciones anteriores

Luego a partir de la polaridad de la emocioacuten que genera cada aspecto debemos establecer un criterio que nos permita asignar pesos para obtener la polaridad general del documento La forma mas simple Serra basaacutendonos en la frecuencia de aparicioacuten de cada aspecto en el corpus de datos

Otro meacutetodo simple para la identificacioacuten de targets que generan opinioacuten consiste en definir aspectos ad-hoc para un determinado dominio por ejemplo

f(COMIDA SERVICIO AMBIENTE OTROS) y luego ejecutar la clasificacioacuten de todos los teacuterminos del

documento utilizando un meacutetodo supervisado y un conjunto de datos de entrenamiento clasificado manualmente que nos permita obtener aquellos teacuterminos que pertenecen a alguna de las clases de aspectos relevantes generadores de opinioacuten

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 43: Poggi   analytics - sentiment - 1

Clasificacioacuten basada en Puntaje Para clasificar un texto de forma maacutes subjetiva se puede asignar a

cada documento un puntaje dentro de una escala dependiendo del grado de polaridad que expresa (por ejemplo asignar estrellas del 1 al 5)

La solucioacuten mas simple para esta tarea es clasificar el texto utilizando muacuteltiples categoriacuteas como clases Esta clasificacioacuten puede realizarse con los algoritmos como NB

Como SVM se utiliza para clasificacioacuten binaria se puede utilizar One-vs-All que se basa en crear un clasificador SVM para cada clase cuya salida nos permita saber si el documento pertenece o no a la clase en cuestioacuten

Otra solucion para resolver esta tarea consideraacutendola un problema de metric labeling En este tipo de problema la entrada es un conjunto de etiquetas (clases) y un grafo ponderado Se define una funcioacuten de distancia de las etiquetas y para cada etiqueta el costo de asignacioacuten a cada veacutertice siendo el objetivo encontrar el menor costo de asignar una etiqueta a un veacutertice Este enfoque combina los clasificadores SVM y k-nearest neighbors que es un meacutetodo no parametrito de clasificacioacuten basado en encontrar los elementos mas cercanos del conjunto de datos de entrenamiento en el espacio de features

Otro enfoque para la tarea de clasificacioacuten en muacuteltiples categoriacuteas consiste en utilizar un meacutetodo de regresioacuten considerando que las categoriacuteas corresponden a la discretizacioacuten de una funcioacuten continua

Clasificacioacuten de Muacuteltiples Aspectos Hasta ahora hemos presentado las tareas de anaacutelisis de

sentimientos a nivel de documento es decir asignando una clase a un documento completo a partir de las emociones que expresa Esta clasificacioacuten puede ser binaria (polaridad positiva o negativa) o basada en muacuteltiples categoriacuteas (utilizando puntajes o estrellas como clases) pero en ambos casos se claacutesica el documento completo

En esta seccioacuten presentaremos la clasificacioacuten aislada de los muacuteltiples objetivos aspectos o targets que generan opinioacuten dentro de un mismo documento Esta tarea es conocida como Multi-Aspect Sentiment Analysis

El objetivo de esta tarea consiste en la identificacioacuten de aspectos que generan opinioacuten dentro de un mismo documento seleccionando aquellas caracteriacutesticas que son frecuentemente mencionadas y las emociones asociadas Para identificar estas caracteriacutesticas o aspectos la solucioacuten mas simple consiste en utilizar un parser que nos permita obtener las frases nominales del documento teniendo en cuenta que la mayora de los aspectos son sustantivos

Clasificacioacuten de Muacuteltiples Aspectos

ldquoexcelente comida el ambiente es bastante ruidoso pero los precios accesibles

Clasificacioacuten de Muacuteltiples Aspectos A partir de la clasificacioacuten anterior podremos extraer los

sustantivos o frases nominales que nos permitiraacuten identificar teacuterminos candidatos a aspectos y los adjetivos para identificar las emociones asociadas Para obtener la polaridad de sentimientos utilizaremos los meacutetodos de clasificacioacuten estudiados en secciones anteriores

Luego a partir de la polaridad de la emocioacuten que genera cada aspecto debemos establecer un criterio que nos permita asignar pesos para obtener la polaridad general del documento La forma mas simple Serra basaacutendonos en la frecuencia de aparicioacuten de cada aspecto en el corpus de datos

Otro meacutetodo simple para la identificacioacuten de targets que generan opinioacuten consiste en definir aspectos ad-hoc para un determinado dominio por ejemplo

f(COMIDA SERVICIO AMBIENTE OTROS) y luego ejecutar la clasificacioacuten de todos los teacuterminos del

documento utilizando un meacutetodo supervisado y un conjunto de datos de entrenamiento clasificado manualmente que nos permita obtener aquellos teacuterminos que pertenecen a alguna de las clases de aspectos relevantes generadores de opinioacuten

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 44: Poggi   analytics - sentiment - 1

Clasificacioacuten de Muacuteltiples Aspectos Hasta ahora hemos presentado las tareas de anaacutelisis de

sentimientos a nivel de documento es decir asignando una clase a un documento completo a partir de las emociones que expresa Esta clasificacioacuten puede ser binaria (polaridad positiva o negativa) o basada en muacuteltiples categoriacuteas (utilizando puntajes o estrellas como clases) pero en ambos casos se claacutesica el documento completo

En esta seccioacuten presentaremos la clasificacioacuten aislada de los muacuteltiples objetivos aspectos o targets que generan opinioacuten dentro de un mismo documento Esta tarea es conocida como Multi-Aspect Sentiment Analysis

El objetivo de esta tarea consiste en la identificacioacuten de aspectos que generan opinioacuten dentro de un mismo documento seleccionando aquellas caracteriacutesticas que son frecuentemente mencionadas y las emociones asociadas Para identificar estas caracteriacutesticas o aspectos la solucioacuten mas simple consiste en utilizar un parser que nos permita obtener las frases nominales del documento teniendo en cuenta que la mayora de los aspectos son sustantivos

Clasificacioacuten de Muacuteltiples Aspectos

ldquoexcelente comida el ambiente es bastante ruidoso pero los precios accesibles

Clasificacioacuten de Muacuteltiples Aspectos A partir de la clasificacioacuten anterior podremos extraer los

sustantivos o frases nominales que nos permitiraacuten identificar teacuterminos candidatos a aspectos y los adjetivos para identificar las emociones asociadas Para obtener la polaridad de sentimientos utilizaremos los meacutetodos de clasificacioacuten estudiados en secciones anteriores

Luego a partir de la polaridad de la emocioacuten que genera cada aspecto debemos establecer un criterio que nos permita asignar pesos para obtener la polaridad general del documento La forma mas simple Serra basaacutendonos en la frecuencia de aparicioacuten de cada aspecto en el corpus de datos

Otro meacutetodo simple para la identificacioacuten de targets que generan opinioacuten consiste en definir aspectos ad-hoc para un determinado dominio por ejemplo

f(COMIDA SERVICIO AMBIENTE OTROS) y luego ejecutar la clasificacioacuten de todos los teacuterminos del

documento utilizando un meacutetodo supervisado y un conjunto de datos de entrenamiento clasificado manualmente que nos permita obtener aquellos teacuterminos que pertenecen a alguna de las clases de aspectos relevantes generadores de opinioacuten

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 45: Poggi   analytics - sentiment - 1

Clasificacioacuten de Muacuteltiples Aspectos

ldquoexcelente comida el ambiente es bastante ruidoso pero los precios accesibles

Clasificacioacuten de Muacuteltiples Aspectos A partir de la clasificacioacuten anterior podremos extraer los

sustantivos o frases nominales que nos permitiraacuten identificar teacuterminos candidatos a aspectos y los adjetivos para identificar las emociones asociadas Para obtener la polaridad de sentimientos utilizaremos los meacutetodos de clasificacioacuten estudiados en secciones anteriores

Luego a partir de la polaridad de la emocioacuten que genera cada aspecto debemos establecer un criterio que nos permita asignar pesos para obtener la polaridad general del documento La forma mas simple Serra basaacutendonos en la frecuencia de aparicioacuten de cada aspecto en el corpus de datos

Otro meacutetodo simple para la identificacioacuten de targets que generan opinioacuten consiste en definir aspectos ad-hoc para un determinado dominio por ejemplo

f(COMIDA SERVICIO AMBIENTE OTROS) y luego ejecutar la clasificacioacuten de todos los teacuterminos del

documento utilizando un meacutetodo supervisado y un conjunto de datos de entrenamiento clasificado manualmente que nos permita obtener aquellos teacuterminos que pertenecen a alguna de las clases de aspectos relevantes generadores de opinioacuten

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 46: Poggi   analytics - sentiment - 1

Clasificacioacuten de Muacuteltiples Aspectos A partir de la clasificacioacuten anterior podremos extraer los

sustantivos o frases nominales que nos permitiraacuten identificar teacuterminos candidatos a aspectos y los adjetivos para identificar las emociones asociadas Para obtener la polaridad de sentimientos utilizaremos los meacutetodos de clasificacioacuten estudiados en secciones anteriores

Luego a partir de la polaridad de la emocioacuten que genera cada aspecto debemos establecer un criterio que nos permita asignar pesos para obtener la polaridad general del documento La forma mas simple Serra basaacutendonos en la frecuencia de aparicioacuten de cada aspecto en el corpus de datos

Otro meacutetodo simple para la identificacioacuten de targets que generan opinioacuten consiste en definir aspectos ad-hoc para un determinado dominio por ejemplo

f(COMIDA SERVICIO AMBIENTE OTROS) y luego ejecutar la clasificacioacuten de todos los teacuterminos del

documento utilizando un meacutetodo supervisado y un conjunto de datos de entrenamiento clasificado manualmente que nos permita obtener aquellos teacuterminos que pertenecen a alguna de las clases de aspectos relevantes generadores de opinioacuten

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 47: Poggi   analytics - sentiment - 1

Preprocesamiento Normalizacioacuten

Consiste en unificar teacuterminos que representan la misma informacioacuten y pueden ser escritos en distintos formatos Por ejemplo ldquorestaurante ldquorestaurant ldquorestauraacuten ldquoresto

Tokenizacioacuten Separacioacuten de sentencias y palabras de un documento a partir de tokens o

caracteres especiales que indican el n de una sentencia o palabra y el comienzo de la que sigue

Stemming Obtener la raiz o stem de una palabra eliminando terminaciones con el objetivo

de unificar aquellos teacuterminos que aportan la misma informacioacuten al clasificador Por ejemplo los teacuterminos ldquorecomendable recomendamos recomendar recomendacioacutenldquo son reemplazados por su stem ldquorecomend El stem de una palabra no necesariamente seraacute un termino valido del vocabulario

Reemplazar los teacuterminos del corpus con sus formas ldquostemizadas suele ser de utilidad para mejorar los resultados en tareas de recuperacioacuten de textos En AS este preprocesamiento no suele representar una mejora

Los algoritmos de stemming son fuertemente dependientes del idioma En ingles la implementacioacuten mas utilizada es el stemmer de Porter y en espantildeol se utiliza mas frecuentemente el Snowball

Lematizacioacuten Otra forma de unificar los teacuterminos que aportan la misma informacioacuten al

clasificador es reemplazando cada palabra por su lema El lema de una palabra es un termino valido del vocabulario (a diferencia de lo que ocurra con el stem) que por convencioacuten es la representacioacuten de todas las formas flexionadas de la palabra es decir para hallar el lema de un termino se eliminan todas las flexiones (conjugaciones grado persona geacutenero nuacutemero etc) Por ejemplo lema(ldquopeacutesimo) = malo lema(ldquoempieza) = empezar lema(ldquoprimeras) = primero lema(ldquoestas) = este

Freeling es la herramienta de lematizacioacuten maacutes utilizada para textos en espantildeol

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 48: Poggi   analytics - sentiment - 1

Preprocesamiento

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 49: Poggi   analytics - sentiment - 1

Tratamiento de negaciones Con el objetivo de distinguir aquellos teacuterminos que siguen a una

negacioacuten se debe indicar que la palabra aparece negada Por ejemplo consideremos los siguientes documentos a clasificar analizando sentimientos

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no es bueno la comida

muy mala D1 es claramente positivo y D2 negativo sin embargo en ambos

casos aparece la palabra ldquobueno como termino relevante aunque en el segundo caso viene despueacutes de una negacioacuten

Para distinguir estos dos casos se agrega un prefijo a los teacuterminos que siguen a la negacioacuten hasta el siguiente signo de puntuacioacuten Esto es

D1=ldquoEste restaurante es muy bueno D2=ldquoEste restaurante es horrible el servicio no NOT es NOT bueno la

comida muy mala Realizando esta distincioacuten evitamos incurrir en el error de

considerar el termino ldquobueno como relevante en la clase de comentarios negativos y agregamos como relevante el termino ldquoNOT bueno en esta clase con el objetivo de mejorar los resultados del clasificador

Los teacuterminos que se utilizan para indicar negacioacuten dependen del idioma del corpus

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 50: Poggi   analytics - sentiment - 1

Part Of Speech (POS) Tagging

Dentro del aacuterea de NLP se conoce como Part-of-Speech-Tagging a la tarea de asignar a cada termino del discurso una etiqueta que nos indique si la palabra actuacutea como sustantivo verbo adjetivo artiacuteculo adverbio etc dependiendo del contexto

En clasificacioacuten de textos y con el objetivo de desambiguar el sentido de una palabra puede ser de utilidad agregar a cada termino un sufijo con la etiqueta asignada realizando POS tagging de modo de diferenciar aquellos terminos

ideacutenticos que expresan significados distintos dependiendo del contexto de la oracioacuten Por ejemplo consideremos los siguientes documentos

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 51: Poggi   analytics - sentiment - 1

Part Of Speech (POS) Tagging

Por ejemplo consideremos los siguientes documentos

D1=ldquoEn este restaurante el vino es muy malo D2=ldquoTodo salio perfecto vino el chef y lo felicitamos por

sus excelentes platos En este caso puede interesarnos diferenciar el

termino ldquovino cuando este actuacutea como verbo donde no aporta informacioacuten relevante de su presencia actuando como sustantivo donde representa un target de opinioacuten

Luego de realizar POS tagging sobre los documentos mencionados el termino ldquovino seraacute reemplazado por vino SUST y vino VERB seguacuten corresponda

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 52: Poggi   analytics - sentiment - 1

Frameworks y Herramientas para AS

NLTK es la plataforma mas utilizada para trabajar con lenguaje natural en Python por su simplicidad y excelente documentacioacuten

Megam es una herramienta para el calculo de pesos de features en modelos de maacutexima entropiacutea

Sci-Kit Learn es un framework que provee una coleccioacuten de algoritmos basados en aprendizaje supervisado para tareas de clasificacioacuten

Freeling es un software que provee una coleccioacuten de herramientas para tareas de anaacutelisis de textos en espantildeol

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 53: Poggi   analytics - sentiment - 1

Adaptacioacuten del Algoritmo de Turney

El operador NEAR se definioacute como la ocurrencia conjunta de los teacuterminos en la misma sentencia

Para la extraccioacuten de bigramas se utilizaron los siguientes patrones de opinioacuten

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 54: Poggi   analytics - sentiment - 1

Adaptacioacuten del Algoritmo de Turney

Los teacuterminos utilizados para representar polaridad fueron

Positivos excelente excelentes buenoa buenosas bueniacutesimoa bueniacutesimosas ricoa ricosas espectacular genial

Negativos mal maloa malosas feoa feosas horrible horribles peacutesimoa peacutesimosas desastre mediocre NOT bueno NOT buenos NOT buena NOT buenas NOT rico NOT ricos NOT rica NOT ricas

Como teacutecnica de smoothing para el tratamiento de aquellos teacuterminos que no aparecen en forma conjunta con los teacuterminos que indican polaridad se suma 001 al resultado de la operacioacuten NEAR

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 55: Poggi   analytics - sentiment - 1

eduardopoggiyahoocomar

eduardo-poggi

httparlinkedincomineduardoapoggi

httpswwwfacebookcomeduardopoggi

eduardoapoggi

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea
Page 56: Poggi   analytics - sentiment - 1

Bibliografiacutea

Dubiau Luciana (2013) ldquoProcesamiento de Lenguaje Natural en Sistemas de Anaacutelisis de Sentimientosrdquo Tesis de Grado de Ingeniera en Informaacutetica FIUBA

Lage Garciacutea Lola (2014) ldquoHerramienta para el anaacutelisis de la opinioacuten en tweets periodiacutesticosrdquo

  • Slide 1
  • Sentiment analysis
  • Sentiment analysis (2)
  • Sentiment analysis (3)
  • Sentiment analysis (4)
  • Sentiment analysis (5)
  • Sentiment analysis (6)
  • Sentiment analysis (7)
  • Sentiment analysis (8)
  • Sentiment analysis (9)
  • Sentiment analysis (10)
  • Sentiment analysis (11)
  • Sentiment analysis (12)
  • N-Gramas
  • N-Gramas (2)
  • N-Gramas (3)
  • N-Gramas (4)
  • N-Gramas (5)
  • Maximum Likelihood Estimate (MLE)
  • Smoothing
  • Google N-Grams Datasets
  • Ngram Viewer
  • Deteccioacuten de features
  • Deteccioacuten de features (2)
  • Modelos Generativos vs Discriminativos
  • NB
  • Multinomial NB
  • Multinomial NB - Ejemplo
  • Multinomial NB - Ejemplo (2)
  • Binarized Multinomial NB
  • Binarized Multinomial NB - Ejemplo
  • Modelo de Maacutexima Entropiacutea
  • Polaridad de Turney
  • Modelo de Maacutexima Entropiacutea (2)
  • Modelo de Maacutexima Entropiacutea (3)
  • Polaridad de Turney (2)
  • Algoritmo PMI-IR
  • Algoritmo PMI-IR (2)
  • Algoritmo PMI-IR (3)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (2)
  • Clasificacioacuten basada en Leacutexico de Opinioacuten (3)
  • Clasificacioacuten basada en Puntaje
  • Clasificacioacuten de Muacuteltiples Aspectos
  • Clasificacioacuten de Muacuteltiples Aspectos (2)
  • Clasificacioacuten de Muacuteltiples Aspectos (3)
  • Preprocesamiento
  • Preprocesamiento (2)
  • Tratamiento de negaciones
  • Part Of Speech (POS) Tagging
  • Part Of Speech (POS) Tagging (2)
  • Frameworks y Herramientas para AS
  • Adaptacioacuten del Algoritmo de Turney
  • Adaptacioacuten del Algoritmo de Turney (2)
  • Slide 55
  • Bibliografiacutea