poggi analytics - sentiment - 1
TRANSCRIPT
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-
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
-