Presentación ASAI 2013 - Análisis de Sentimientos sobre un Corpus en Español - 42 JAIIO

24
An ´ alisis de Sentimientos sobre un Corpus en Espa ˜ nol Experimentaci´ on con un Caso de Estudio Luciana Dubiau ldubiau@fi.uba.ar Juan M Ale [email protected] Facultad de Ingenier´ ıa Universidad de Buenos Aires ASAI 2013 - 42 JAIIO

Transcript of Presentación ASAI 2013 - Análisis de Sentimientos sobre un Corpus en Español - 42 JAIIO

Page 1: Presentación ASAI 2013 - Análisis de Sentimientos sobre un Corpus en Español - 42 JAIIO

Analisis de Sentimientos sobre unCorpus en Espanol

Experimentacion con un Caso de Estudio

Luciana [email protected]

Juan M [email protected]

Facultad de IngenierıaUniversidad de Buenos Aires

ASAI 2013 - 42 JAIIO

Page 2: Presentación ASAI 2013 - Análisis de Sentimientos sobre un Corpus en Español - 42 JAIIO

Introduccion

Analisis de Sentimientos

• Tambien llamado Extraccion de Opiniones, Minerıa deOpiniones, Minerıa de Sentimientos o Analisis Subjetivo.

• Definicion Estudio computacional de opiniones,sentimientos y emociones expresadas en textos (Pang andLee, 2008).

• Objetivo Determinar la actitud de un escritor antedeterminados productos, situaciones, personas uorganizaciones.

• Componentes de Opinion (Liu, 2010)• Target: objeto de opinion.• Features: aspectos o atributos que generan opinion.• Holder: quien expresa la opinion.• Orientacion Semantica: positiva, negativa, neutra.• Tiempo: momento en que se expresa la opinion.

Page 3: Presentación ASAI 2013 - Análisis de Sentimientos sobre un Corpus en Español - 42 JAIIO

Introduccion

Ejemplo: Crıtica sobre Restaurante

“Me gusta mucho este restaurante. La comida es fresca y se nota que hayrotacion continua. El ambiente es bastante ruidoso pero los mozos sonmuy amables y los precios muy accesibles.”

• Target: restaurante

• Features: comida, ambiente, mozos, precios

• Polaridad de la opinion:

• me gusta mucho este restaurante

• comida fresca

• ambiente bastante ruidoso

• mozos muy amables

• precios muy accesibles

• Polaridad general del documento: positiva

• Holder: autor del comentario

• Tiempo: fecha del comentario

Page 4: Presentación ASAI 2013 - Análisis de Sentimientos sobre un Corpus en Español - 42 JAIIO

Introduccion

¿Que tipo de informacion puedeobtenerse?• Polaridad de sentimientos en crıticas sobre

arte, productos, servicios o personas

• Nivel de fidelizacion de clientes

• Opinion publica sobre situaciones de interessocial

• Popularidad de representantes polıticos yprediccion sobre resultados de elecciones

• Tendencias de mercado

Ejemplos de Aplicaciones

• http://sentione.pl/

• http://www.sentiment140.com/

• http://socialmention.com/

• http://www.tweetfeel.com/

• http://7puentes.com/en/products/ventura/

Page 5: Presentación ASAI 2013 - Análisis de Sentimientos sobre un Corpus en Español - 42 JAIIO

Introduccion

Tareas de Analisis de Sentimientos

• Clasificacion Binaria: polaridad general del documentopositiva o negativa

• Clasificacion en Multiples Categorıas: grado de polaridaddel documento en una escala.

• Clasificacion de Aspectos: identificacion de aspectosmencionados en el texto y emociones asociadas.Ejemplo:

• Comida: positiva• Ambiente: negativa• Servicio: positiva

En este trabajo nos enfocaremos en clasificacion binaria a nivelde documento.

Page 6: Presentación ASAI 2013 - Análisis de Sentimientos sobre un Corpus en Español - 42 JAIIO

Resumen

¿En que consiste este trabajo?

• Investigacion, evaluacion y comparacion experimental detecnicas de PLN para analisis de informacion subjetiva enidioma espanol.

• Se implemento una herramienta de analisis de sentimientosque provee metricas sobre performance de modelos declasificacion en funcion distintos parametros de entrada.

• Como corpus de datos se utilizo un sitio de crıticagastronomica.

Principales contribuciones

• Proveer un analisis de performance de tecnicas declasificacion subjetiva de textos en funcion de distintosparametros para el idioma espanol.

• Aportar el corpus construido como un recurso linguıstico.

Page 7: Presentación ASAI 2013 - Análisis de Sentimientos sobre un Corpus en Español - 42 JAIIO

Tecnicas de Clasificacion

Tecnicas de Machine Learning - Aprendizaje Supervisado

• Naıve BayesSe basa en el teorema de Bayes y en la premisa de independencia de losatributos para obtener la probabilidad de que un documento pertenezca auna clase.

P (Ci|D) ∝ P (Ci)∏n

k=1 P (fk|Ci)

• Modelos de Maxima Entropıa (MaxEnt)Los documentos son descriptos a partir de una lista de atributos, siendocada uno una restriccion del modelo. El metodo se basa en seleccionar ladistribucion de probabilidad que satisfaga todas las restricciones del modeloy maximice la entropıa.

P (c|x) =exp(

∑Ni=0 wcifi)∑

c′∈C exp(∑N

i=0 wc′ifi)

Page 8: Presentación ASAI 2013 - Análisis de Sentimientos sobre un Corpus en Español - 42 JAIIO

Tecnicas de Clasificacion

Tecnicas de Machine Learning - Aprendizaje Supervisado

• Support Vector Machines (SVM)El entrenamiento consiste en encontrar unhiperplano que separe los vectores de atributos querepresentan los documentos siendo esta separacionla mas grande posible.

Support Vectors: definen los margenes de la

maxima separacion entre las clases.

f(~x) = sign(∑

i αi ~xi · ~x+ b)

• Arboles de DecisionEl entrenamiento consiste en la construccion de unarbol de decision de multiples caminos en el quepara cada nodo se busca el atributo que proveemayor ganancia de informacion para la clase→ Reglas de Decision

contiene(‘excelente’)

contiene(‘comida’)

contiene(‘malo’)

POS

0.6

NEG

0.8

si no

contiene(‘fria’)

POS

0.6

NEG

0.7

si no

si no

POS

0.9

si no

Page 9: Presentación ASAI 2013 - Análisis de Sentimientos sobre un Corpus en Español - 42 JAIIO

Tecnicas de Clasificacion

Clasificacion No Supervisada o Semi-Supervisada

• Algoritmo de Turney

1 Se extraen los bigramas del documento que cumplen condeterminados patrones de opinion.

2 Se calcula la distancia semantica de estos bigramas a losterminos “poor” y “excellent”:

SO(phrase) = log2[hits(phrase NEAR “excellent”)hits(“poor”)hits(phrase NEAR “poor”)hits(“excellent”) ]

3 Si SO > 0 → positivo , sino → negativo

Page 10: Presentación ASAI 2013 - Análisis de Sentimientos sobre un Corpus en Español - 42 JAIIO

Tecnicas de Preprocesamiento de Texto

Preprocesamientos con los que experimentamos en este trabajo:

• TokenizacionSeparacion de oraciones, palabras y signos de puntuacion.

• StemmingSe reemplazan los terminos por su raız o stem eliminando terminaciones.Ejemplo: stem(“recomendable”) = stem(“recomendamos”) =stem(“recomendar”) = “recomend”

• LematizacionSe reemplazan los terminos por su lema que es la representacion de todas lasformas flexionadas de la palabra.Ejemplo: lema(“pesimo”) = malo, lema(“buenısimo”) = bueno,lema(“empieza”) = empezar.

• Eliminacion de stopwords “de”, “la”, “el”, “que”, etc.

• Eliminacion de signos de puntuacion, caracteres especiales y caracteresrepetidos mas de N veces.

• Filtrado de Palabras por mınimo de longitud.

• Transformacion a minuscula.

• Tratamiento de NegacionesSe agrega el prefijo “NOT ” a los terminos que siguen a una negacion hastael siguiente signo de puntuacion.

Page 11: Presentación ASAI 2013 - Análisis de Sentimientos sobre un Corpus en Español - 42 JAIIO

Implementacion y Herramientas

Se desarrollo una herramienta en lenguaje Python paraclasificacion automatica de textos segun polaridad desentimientos que se ejecuta en funcion de los siguientesparametros:

• Algoritmos de clasificacion: Naıve Bayes, MaxEnt, SVM,Decision Trees y adaptacion del algoritmo de Turney.

• Tamano de Corpus

• Tipos de atributos extraıdos:• Presencia de Unigramas• Frecuencia de Unigramas• Presencia de Bigramas• Presencia de Unigramas + Bigramas• Presencia de Adjetivos

• Preprocesamientos de Texto

Page 12: Presentación ASAI 2013 - Análisis de Sentimientos sobre un Corpus en Español - 42 JAIIO

Implementacion y Herramientas

Herramientas ExternasSeleccionadas en base a la precision de los resultados y velocidad de convergencia.

• Naıve Bayes→ NLTKhttp://nltk.org

• Calculo de pesos en modelos de Maxima Entropıa→ megamhttp://www.umiacs.umd.edu/~hal/megam/

• SVM y Decision Trees (CART)→ sci-kit learnhttp://scikit-learn.org/

• Lematizacion, Stemming y POS Tagging→ Freelinghttp://nlp.lsi.upc.edu/freeling/

Page 13: Presentación ASAI 2013 - Análisis de Sentimientos sobre un Corpus en Español - 42 JAIIO

Implementacion y Herramientas

Adaptacion del Algoritmo de Turney al Idioma Espanol

• El operador NEAR se definio como la ocurrencia conjuntade los terminos en la misma oracion.

• Patrones de opinion:

Primera Palabra Segunda Palabra Tercera Palabra(No Extraıda)

Adjetivo Nombre CualquieraNombre Adjetivo No NombreAdverbio Adjetivo No NombreAdverbio Verbo CualquieraVerbo Adverbio Cualquiera

• Terminos utilizados para representar polaridad:• Positivos: excelente, excelentes, bueno/a, buenos/as,

buenisimo/a, buenisimos/as, rico/a, ricos/as, espectacular,genial.

• Negativos: mal, malo/a, malos/as, feo/a, feos/as, horrible,horribles, pesimo/a, pesimos/as, desastre, mediocre.

Page 14: Presentación ASAI 2013 - Análisis de Sentimientos sobre un Corpus en Español - 42 JAIIO

Caso de Estudio

Guıa Oleohttp://guiaoleo.com

• Sitio de crıticagastronomica

• Los usuariosemiten opinionessobre restaurantesen las categorıas:comida, ambientey servicioasignandopuntajes:

1 → malo / regular2 → bueno3 → muy bueno4 → excelente

Page 15: Presentación ASAI 2013 - Análisis de Sentimientos sobre un Corpus en Español - 42 JAIIO

Caso de Estudio

Construccion del Corpus

1 Se extrajeron los comentarios del sitio en estudio juntocon el puntaje asignado por el usuario.

2 Se etiqueto el set de datos a partir del siguientecriterio:

• Suma de puntos ≥ 10 → POSITIVO• 1 punto en la categorıa “comida” (la mas relevante)

o 2 puntos en esta categorıa y 1 punto en el resto→ NEGATIVO

• El resto de los comentarios se descartaron

3 El dataset final incluye un total de 34808 comentariospositivos y 16912 negativos.

Page 16: Presentación ASAI 2013 - Análisis de Sentimientos sobre un Corpus en Español - 42 JAIIO

Experimentacion

Experiencias Realizadas

• Mejora de performance aplicando preprocesamientos de texto.

• Performance de clasificadores en funcion de distintos parametros.

Parametros Generales

• Tamano de Corpus entre 500 y 22000 documentos

• Corpus Balanceado

• 5-fold cross validation para metodos supervisados.

• Criterio para la extraccion de features:

• Unigramas → frecuencia mayor a 10.• Adjetivos y Bigramas → frecuencia mayor a 4.• Maximo de 3000 atributos.

Metricas

Accuracy =tp+tn

tp+fp+tn+fn; Precision =

tptp+fp

; Recall =tp

tp+fn; F1 = 2PR

P+R

Por ser un corpus balanceado analizamos la performance en base a la accuracy sin

perder informacion de alguna de las clases.

Page 17: Presentación ASAI 2013 - Análisis de Sentimientos sobre un Corpus en Español - 42 JAIIO

Experimentacion

Efectividad de Preprocesadores: Tamano maximo de Corpus,Unigramas como Features y Algoritmo Naıve Bayes

Preproceso Accuracy Mejora (%)

NP (Sin Preproceso) 0.868

SW (Eliminacion de stopwords) 0.895 3.11%

NEG (Tratamiento de negaciones) 0.875 0.81%

WL (Filtrado de palabras de menos de 3 caracteres) 0.883 1.73%

DC (Eliminacion de caracteres repetidos mas de 2 veces) 0.867 -0.12%

STEM (Stemming) 0.861 -0.81%

LC (Transformacion de capitalizaciones) 0.868 0.00%

PUNCT (Eliminacion de signos de puntuacion) 0.871 0.35%

SC (Transformacion de caracteres especiales) 0.869 0.12%

LEMMA (Lematizacion) 0.867 -0.12%

Combinacion 1: SW + NEG 0.905 4.26%

Combinacion 2: SW + NEG + WL 0.911 4.95%

Combinacion 3: SW + NEG + WL + PUNCT 0.914 5.3%

Combinacion 4: SW + NEG + WL + PUNCT + SC 0.918 5.76%

Combinacion 5: SW + NEG + WL + PUNCT + SC + LC 0.924 6.45%

Combinacion 6: SW + NEG + WL + PUNCT + SC + LC +LEMMA

0.92 5.99%

Combinacion 7: SW + NEG + WL + PUNCT + SC + LC +DC

0.924 6.45%

Combinacion 8: SW + NEG + WL + PUNCT + SC + LC +STEM

0.918 5.76%

Page 18: Presentación ASAI 2013 - Análisis de Sentimientos sobre un Corpus en Español - 42 JAIIO

Experimentacion

Efectividad de PreprocesadoresSW

NE

G

WL

DC

ST

EM LC

PU

NC

TSC

LE

MM

AC

OM

B1

CO

MB

2C

OM

B3

CO

MB

4C

OM

B5

CO

MB

6C

OM

B7

CO

MB

8

−2

0

2

4

6

8

3.11

%0.

81% 1.

73%

−0.

12%

−0.

81%

0%

0.35

%0.

12%

−0.

12%

4.26

% 4.95

%

5.3% 5.

76% 6.45

%5.

99%

6.45

%5.

76%

Mej

ora

de

Acc

ura

cy(%

)

Analisis de Resultados

• Hay preprocesamientosque aplicados en formaaislada no representanuna mejora pero sı lohacen en combinacioncon otros(transformacion aminuscula).

• Contrario a lo queocurre en tareas de IR,realizar stemming olematizacion sobre eltexto empeora losresultados.

• La mejora querepresenta lacombinacion depreprocesos resultamayor que la suma delas mejoras individuales.

Page 19: Presentación ASAI 2013 - Análisis de Sentimientos sobre un Corpus en Español - 42 JAIIO

Experimentacion

Efectividad de Clasificadores Supervisados por Algoritmo

0 5000 10000 15000 200000.75

0.8

0.85

0.9

0.95

Tamano del Corpus

Acc

ura

cy

(a) Presencia de Unigramas

0 5000 10000 15000 20000

0.75

0.8

0.85

0.9

0.95

Tamano del Corpus

(b) Frecuencia de Unigramas

0 5000 10000 15000 200000.6

0.7

0.8

0.9

Tamano del Corpus

(c) Bigramas

0 5000 10000 15000 20000

0.75

0.8

0.85

0.9

0.95

Tamano del Corpus

Acc

ura

cy

(d) Unigramas + Bigramas

0 5000 10000 15000 20000

0.8

0.85

0.9

Tamano del Corpus

(d) Adjetivos

Naıve BayesMaxEntSVMDecision Trees

Page 20: Presentación ASAI 2013 - Análisis de Sentimientos sobre un Corpus en Español - 42 JAIIO

Experimentacion

Efectividad de Clasificadores Supervisados por Atributo

0 5000 10000 15000 20000

0.7

0.8

0.9

Tamano del Corpus

Acc

ura

cy

(a) Naıve Bayes (NLTK)

0 5000 10000 15000 20000

0.7

0.8

0.9

Tamano del Corpus

(b) MaxEnt (megam)

0 5000 10000 15000 20000

0.7

0.8

0.9

Tamano del Corpus

Acc

ura

cy

(c) SVM (sci-kit learn)

0 5000 10000 15000 200000.6

0.7

0.8

0.9

Tamano del Corpus

(d) Decision Trees (sci-kit learn)

Presencia de UnigramasFrecuencia de UnigramasPresencia de BigramasPresencia de Unigramas y BigramasPresencia de Adjetivos

Page 21: Presentación ASAI 2013 - Análisis de Sentimientos sobre un Corpus en Español - 42 JAIIO

Experimentacion

Comparacion de Clasificadores Supervisados y No Supervisadospara Maximo Tamano de Corpus

Naıve Bayes MaxEnt SVM DecisionTrees Turney

0.6

0.7

0.8

0.9

1

0.92 0.

94

0.94

0.88

0.92 0.94

0.95

0.88

0.88

0.84 0.86

0.8

0.94 0.95

0.95

0.880.

91

0.88 0.

9

0.85

0.84

Acc

ura

cy

Presencia de Unigramas Frecuencia de Unigramas Presencia de Bigramas

Presencia de Unigramas y Bigramas Presencia de Adjetivos Patrones de Opinion

Page 22: Presentación ASAI 2013 - Análisis de Sentimientos sobre un Corpus en Español - 42 JAIIO

Experimentacion

Efectividad de Clasificadores - Analisis de Resultados

• Naıve Bayes arroja los mejores resultados para corpus pequenos pero superformance decrece levemente para los tamanos de corpus mas grandes.

• MaxEnt y SVM mejoran su performance a medida que crece el tamano decorpus y alcanzan la maxima performance de la experiencia.

• Como ya se conoce la performance de Decision Trees es notablemente peorque la obtenida con los otros modelos.

• Para todos los clasificadores supervisados los mejores resultados seobtienen utilizando como atributos la combinacion de presencia deunigramas y bigramas.

• Utilizar adjetivos como atributos arroja resultados considerablementepeores que utilizando todos los unigramas.

• Al igual que para el idioma ingles (Pang and Lee, 2002) considerarfrecuencia de unigramas como atributos no representa una mejora notablecon respecto a presencia.

• El algoritmo de Turney arroja muy buenos resultados comparables a losobtenidos para metodos supervisados usando bigramas como atributosconsiderando que no requiere un corpus etiquetado para el entrenamiento.

Page 23: Presentación ASAI 2013 - Análisis de Sentimientos sobre un Corpus en Español - 42 JAIIO

Conclusiones y Trabajo Futuro

Conclusiones• Analizamos el impacto en la performance de los clasificadores

ante la variacion de parametros de entrada para un corpus enespanol.

• Hallamos que aplicar preprocesamientos influyeconsiderablemente en los resultados.

• Alcanzamos la maxima precision utilizando MaxEnt y SVM paracorpus grandes y Naıve Bayes para corpus mas pequenos.

• Mostramos que Turney tambien resulta una opcion adecuadapara el idioma espanol cuando no se tiene un corpus etiquetado ypuede refinarse para un dominio especıfico.

Proximos Pasos

• Evaluar la performance de los modelos en estudio cuando seentrena con el corpus propuesto y se clasifica otro dominio.

• Realizar experiencias para corpus desbalanceados.

• Proponer otros preprocesamientos y tipos de atributos quepermitan mejorar los resultados y generalizar los clasificadores.

Page 24: Presentación ASAI 2013 - Análisis de Sentimientos sobre un Corpus en Español - 42 JAIIO

¿Preguntas?

“There’s no right,there’s no wrong,

there’s only popular opinion.”(Twelve Monkeys, 2005)