Poggi analytics - sentiment - 1

Post on 16-Jan-2017

122 Views

Category:

Business

1 Downloads

Preview:

Click to see full reader

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

                                                                                                                  top related