41
Análisis de sentido en textos Alumno: Jorge Gálvez Gajardo Profesor Guía: Rodrigo Alfaro Arancibia Profesor Correferente: Guillermo Cabrera Guerrero

Análisis de sentido en textos

Embed Size (px)

Citation preview

Page 1: Análisis de sentido en textos

Análisis de sentido en textos

Alumno: Jorge Gálvez GajardoProfesor Guía: Rodrigo Alfaro Arancibia

Profesor Correferente: Guillermo Cabrera Guerrero

Page 2: Análisis de sentido en textos

2/37Jorge Gálvez Gajardo Pontificia Universidad Católica de Valparaíso

Descripción del proyecto Introducción Objetivos Estado del arte

Máquinas de aprendizaje Bayes ingenuo Máquinas de soporte vectorial

Representación de lenguaje natural Clasificación de texto Software Caso de estudio Conclusiones y trabajo futuro

Contenido

15 Diciembre de 2010

Page 3: Análisis de sentido en textos

Descripción del proyecto

Page 4: Análisis de sentido en textos

4/37Jorge Gálvez Gajardo Pontificia Universidad Católica de Valparaíso

Las opiniones tienen un impacto muy relevante en nuestra vida diaria. Gran cantidad de organizaciones e industrias están interesadas en

estas opiniones Cada vez hay más fuentes desde donde se pude obtener todas estas

opiniones Toda esta información no puede ser procesada por una persona o un

grupo de personas Opinion Mining es una disciplina que mezcla la recuperación de

información y la lingüística computacional.

Descripción del proyecto: Introducción

“La opinión pública es el termómetro de un monarca al cual debe constantemente consultar”

Napoleón Bonaparte15 Diciembre de 2010

Page 5: Análisis de sentido en textos

5/37Jorge Gálvez Gajardo Pontificia Universidad Católica de Valparaíso

Objetivo General: Utilizar Máquinas de Aprendizaje para categorizar textos en positivo o

negativo, según sea su sentido. Objetivos Específicos:

Utilizar Máquinas de Aprendizaje, eligiendo Bayes Ingenuo y Máquinas de Soporte Vectorial como técnicas para clasificar en positivo o negativo, según sea su sentido, distintos textos extraídos de comentarios sobre películas.

Desplegar resultados obtenidos y comparar técnicas utilizadas con el fin de analizar cual forma es la más eficiente para determinado tipo de texto.

Habilitar una interfaz web en la cual se puedan almacenar textos para poder ser utilizados en un entrenamiento o prueba de categorización de sentido.

Descripción del proyecto:Objetivos

15 Diciembre de 2010

Page 6: Análisis de sentido en textos

6/37Jorge Gálvez Gajardo Pontificia Universidad Católica de Valparaíso

Se han hecho investigaciones usando heurísticas lingüísticas o un set de palabras ya clasificadas [Hatzivassiloglou and McKeown, 1997; Turney and Littman, 2002].

[Turney's, 2002] trabajó en clasificación de reviews utilizando aprendizaje no supervisado basado en la información que era encontrada dentro de los documentos, por ejemplo palabras como "bueno" o "malo“.

[Pang y Lee, 2002] utilizan conocimiento previo de cada uno de los textos, pudiendo aplicar aprendizaje supervisado.

Descripción del proyecto: Estado del arte

15 Diciembre de 2010

Page 7: Análisis de sentido en textos

Máquinas de aprendizaje

Page 8: Análisis de sentido en textos

8/37Jorge Gálvez Gajardo Pontificia Universidad Católica de Valparaíso

Máquinas de aprendizaje: Aprendizaje supervisado

Jorge Gálvez Gajardo Pontificia Universidad Católica de Valparaíso

Datos de entrenamiento

Algoritmo de aprendizaje

Modelo Datos de prueba

Precisión

15 Diciembre de 2010

Page 9: Análisis de sentido en textos

9/37Jorge Gálvez Gajardo Pontificia Universidad Católica de Valparaíso

Máquinas de aprendizaje: Bayes Ingenuo Modelo simple de clasificación [Duda & Hart 1973; Langley et al.

1992] Cada ejemplo observado va a modificar la probabilidad que la

hipótesis formulada sea correcta Las palabras en el documento se tratan de forma independiente

del contexto

Clase

Atrib. 1 Atrib. 2 Atrib. n…….

15 Diciembre de 2010

Page 10: Análisis de sentido en textos

10/37Jorge Gálvez Gajardo Pontificia Universidad Católica de Valparaíso

Máquinas de aprendizaje: Bayes Ingenuo

Problema de frecuencia cero: un término que no se encuentre en el documento nos genera una probabilidad de cero.

Número de ocurrencias de t en los documentos de entrenamiento de la clase c

Número de ocurrencias de t en el documento de prueba mas número de términos del vocabulario de entrenamiento de la clase c

15 Diciembre de 2010

Page 11: Análisis de sentido en textos

11/37Jorge Gálvez Gajardo Pontificia Universidad Católica de Valparaíso

Máquinas de aprendizaje: Bayes Ingenuo

=

Aplicando Laplace smoothing

Número de términos del vocabulario de entrenamiento de las dos clases

15 Diciembre de 2010

Número de ocurrencias de t en los documentos de entrenamiento de la clase c

Número de ocurrencias de t en el documento de prueba mas número de términos del vocabulario de entrenamiento de la clase c

+

Page 12: Análisis de sentido en textos

12/37Jorge Gálvez Gajardo Pontificia Universidad Católica de Valparaíso

Máquinas de aprendizaje: Bayes Ingenuo Pros:

Muy fácil y rápido de implementar Bien entendido formal y experimentalmente

Contras: Pocas veces es el mejor rendimiento Las Probabilidades Pr(y|x) no son exactas

15 Diciembre de 2010

Page 13: Análisis de sentido en textos

13/37Jorge Gálvez Gajardo Pontificia Universidad Católica de Valparaíso

Máquinas de aprendizaje: Máquinas de Soporte Vectorial

Clase 1

Clase 2w

x + b = 1

x + b = 0

x + b = -1

m

- Pertenece a la familia de clasificadores lineales ya que inducen separadores lineales o hiperplanos en espacios de características de muy alta dimensionalidad [Vapnik 1990s]

- Una SVM construye un hiperplano en un conjunto de espacio de dimensionalidad muy alta. Una buena separación entre las clases permitirá una clasificación correcta

15 Diciembre de 2010

Page 14: Análisis de sentido en textos

14/37Jorge Gálvez Gajardo Pontificia Universidad Católica de Valparaíso

Máquinas de aprendizaje: Máquinas de Soporte Vectorial

• El Problema:• La maximización del margen es un importante concepto en

clasificación, pero no puede ser usado en problemas del mundo real.

• Muchos conjuntos de datos no son linealmente separables• La Solución:

• Mapear los datos a un espacio de características de dimensionalidad mayor.

15 Diciembre de 2010

¿?

Page 15: Análisis de sentido en textos

15/37Jorge Gálvez Gajardo Pontificia Universidad Católica de Valparaíso

Mapear los datos de espacio X en espacio F

15 Diciembre de 2010

Máquinas de aprendizaje: Máquinas de Soporte Vectorial

Existe una forma muy efectiva de calcular el producto escalar entre los vectores, utilizando el truco del kernel

Algunas funciones kernel son: Polinómica, Gaussiana, Sigmoidal

Page 16: Análisis de sentido en textos

Representación de lenguaje natural

Page 17: Análisis de sentido en textos

17/37Jorge Gálvez Gajardo Pontificia Universidad Católica de Valparaíso

Representación de lenguaje natural

15 Diciembre de 2010

Booleano: determina si se encuentra o no la palabra en el documento.

Frecuencia de términos (TF): asigna un peso a cada término del documento dependiendo del número de veces que se encuentre en dicho documento.

IDF:Total de documentos

Número de documentos que contiene el término

TF-IDF:

Page 18: Análisis de sentido en textos

18/37Jorge Gálvez Gajardo Pontificia Universidad Católica de Valparaíso

Representación de lenguaje natural

15 Diciembre de 2010

La representación de un conjunto de documentos como vectores se conoce como modelo de espacio vectorial [Salton, Wong and and Yang, 1975].

N° Palabra

1 Auto

2 Película

3 Mejor

n Intentar

Vector de palabras

Vector de documentos

1:3 3:1 4:1 11:9 18:4

3:1 6:2 8:7 14:3

5:7 9:5 12:3 17:4 21:3 25:1

Page 19: Análisis de sentido en textos

19/37Jorge Gálvez Gajardo Pontificia Universidad Católica de Valparaíso

Es habitual filtrar las palabras que no tienen sentido semántico (artículos, preposiciones, pronombres, etc.) llamadas stop words.

Reducir palabras a su raíz es llamado Stemming el cual agrupa palabras escritas en distinta forma verbal y que tienen un mismo significado

15 Diciembre de 2010

Representación de lenguaje natural

bibliotecas bibliotecario

bibliotec

Page 20: Análisis de sentido en textos

Clasificación de texto

Page 21: Análisis de sentido en textos

21/37Jorge Gálvez Gajardo Pontificia Universidad Católica de Valparaíso

Clasificación de texto: Definición

Documentos etiquetados

Algoritmo de aprendizaje

Modelo Documentos sin etiqueta

Precisión

15 Diciembre de 2010

Page 22: Análisis de sentido en textos

22/37Jorge Gálvez Gajardo Pontificia Universidad Católica de Valparaíso

Clasificación de texto: Usos

Clasificar: noticias email en Spam o no spam. review de películas como positivas, negativas o neutras. papers como interesantes o no interesantes. chistes como divertidos o fomes.

15 Diciembre de 2010

Page 23: Análisis de sentido en textos

23/37Jorge Gálvez Gajardo Pontificia Universidad Católica de Valparaíso

Clasificación de texto: Ejemplo

ARGENTINE 1986/87 GRAIN/OILSEED REGISTRATIONSBUENOS AIRES, Feb 26Argentine grain board figures show crop registrations of grains, oilseeds

and their products to February 11, in thousands of tonnes, showing those for future shipments month, 1986/87 total and 1985/86 total to February 12, 1986, in brackets:

• Bread wheat prev 1,655.8, Feb 872.0, March 164.6, total 2,692.4 (4,161.0).

• Maize Mar 48.0, total 48.0 (nil).• Sorghum nil (nil)• Oilseed export registrations were:• Sunflowerseed total 15.0 (7.9)• Soybean May 20.0, total 20.0 (nil)The board also detailed export registrations for subproducts, as follows....

15 Diciembre de 2010

Page 24: Análisis de sentido en textos

24/37Jorge Gálvez Gajardo Pontificia Universidad Católica de Valparaíso

Clasificación de texto: Representación

ARGENTINE 1986/87 GRAIN/OILSEED REGISTRATIONSBUENOS AIRES, Feb 26Argentine grain board figures show crop registrations of grains, oilseeds and their

products to February 11, in thousands of tonnes, showing those for future shipments month, 1986/87 total and 1985/86 total to February 12, 1986, in brackets:

• Bread wheat prev 1,655.8, Feb 872.0, March 164.6, total 2,692.4 (4,161.0).• Maize Mar 48.0, total 48.0 (nil).• Sorghum nil (nil)• Oilseed export registrations were:• Sunflowerseed total 15.0 (7.9)• Soybean May 20.0, total 20.0 (nil)The board also detailed export registrations for subproducts, as follows....

f( )=y

? ¿Cual es la mejor representación del documento X para poder ser clasificado?

15 Diciembre de 2010

Page 25: Análisis de sentido en textos

25/37Jorge Gálvez Gajardo Pontificia Universidad Católica de Valparaíso

Clasificación de texto: Lista de palabrasARGENTINE 1986/87 GRAIN/OILSEED REGISTRATIONSBUENOS AIRES, Feb 26Argentine grain board figures show crop registrations of grains, oilseeds and their

products to February 11, in thousands of tonnes, showing those for future shipments month, 1986/87 total and 1985/86 total to February 12, 1986, in brackets:

• Bread wheat prev 1,655.8, Feb 872.0, March 164.6, total 2,692.4 (4,161.0).• Maize Mar 48.0, total 48.0 (nil).• Sorghum nil (nil)• Oilseed export registrations were:• Sunflowerseed total 15.0 (7.9)• Soybean May 20.0, total 20.0 (nil)The board also detailed export registrations for subproducts, as follows....

f( )=y

f( )=y(argentine, 1986, 1987, grain, oilseed, registrations, buenos, aires, feb, 26, argentine, grain, board, figures, show, crop, registrations, of, grains, oilseeds, and, their, products, to, february, 11, in, …

Refinamiento: remover stop words, stemming.

15 Diciembre de 2010

Page 26: Análisis de sentido en textos

26/37Jorge Gálvez Gajardo Pontificia Universidad Católica de Valparaíso

Representación de texto: Frecuencia

grain(s) 3

oilseed(s) 2

total 3

wheat 1

maize 1

soybean 1

tonnes 1

... ...

palabra frecuenciaARGENTINE 1986/87 GRAIN/OILSEED REGISTRATIONSBUENOS AIRES, Feb 26Argentine grain board figures show crop registrations of

grains, oilseeds and their products to February 11, in thousands of tonnes, showing those for future shipments month, 1986/87 total and 1985/86 total to February 12, 1986, in brackets:

• Bread wheat prev 1,655.8, Feb 872.0, March 164.6, total 2,692.4 (4,161.0).

• Maize Mar 48.0, total 48.0 (nil).• Sorghum nil (nil)• Oilseed export registrations were:• Sunflowerseed total 15.0 (7.9)• Soybean May 20.0, total 20.0 (nil)The board also detailed export registrations for subproducts,

as follows....

Si el orden de las palabras no importa, x puede ser un vector de frecuencias de palabras

“Bag of words”: un vector x=(,…,fi,….) donde fi es la frecuencia de la i-esima palabra en el vocabulario

15 Diciembre de 2010

Page 27: Análisis de sentido en textos

Software

Page 28: Análisis de sentido en textos

28/37Jorge Gálvez Gajardo Pontificia Universidad Católica de Valparaíso

Se desarrolla una interfaz utilizando HTML y PHP para pre procesar los textos, obtener la precisión de Bayes Ingenuo y elegir los parámetros de los distintos kernels en la máquina de soporte vectorial utilizada.

Los textos analizados se almacenan en una base de datos MySQL Se utiliza LibSVM [Chih-Chung Chang and Chih-Jen Lin, 2001-2010]

para el procesamiento de textos mediante máquinas de soporte vectorial.

Software

15 Diciembre de 2010

InicioBD

Elección NB/SVM

Elección parámetros LibSVM

NB

Obtengo resultados

BD

Entrego resultados

Page 29: Análisis de sentido en textos

29/37Jorge Gálvez Gajardo Pontificia Universidad Católica de Valparaíso

Software:Caso de uso de alto nivel

15 Diciembre de 2010

Page 30: Análisis de sentido en textos

30/37Jorge Gálvez Gajardo Pontificia Universidad Católica de Valparaíso

Software:Modelo base de datos

15 Diciembre de 2010

Page 31: Análisis de sentido en textos

Caso de estudio

Page 32: Análisis de sentido en textos

32/37Jorge Gálvez Gajardo Pontificia Universidad Católica de Valparaíso

Se examinará la eficiencia de aplicar técnicas de máquinas de aprendizaje a problemas de clasificación de sentido.

Set de datos: Utilizado por [Pang y Lee, 2002] consiste en 1000 reviews positivos

y 1000 reviews negativos el cual son comentarios de películas obtenidos de imdb.com

Aplicando técnicas de máquinas de aprendizaje se clasificará su sentido (positivo o negativo)

Caso de estudio

15 Diciembre de 2010

Page 33: Análisis de sentido en textos

33/37Jorge Gálvez Gajardo Pontificia Universidad Católica de Valparaíso

Caso de estudio:Set de datos

15 Diciembre de 2010

Page 34: Análisis de sentido en textos

34/37Jorge Gálvez Gajardo Pontificia Universidad Católica de Valparaíso

Caso de estudio:Resultado obtenido

Limpieza # Palabras vocabulario

Representación NB SVM

Ninguno 29.054 Frecuencia 71,7% 84%

Stop Words 28.489 Frecuencia N/A 85%

Stemming 21.341 Frecuencia N/A 85%

Stop Words + Stemming 20.999 Frecuencia 72,2% 84%

15 Diciembre de 2010

Limpieza # Palabras vocabulario Representación NB SVM

Ninguno 16.165 Frecuencia 78.7% 72.8%

Ninguno 16.165 Binaria 81.0% 82.9%

[Pang y Lee, 2002]

[Gálvez, 2010]

Page 35: Análisis de sentido en textos

35/37Jorge Gálvez Gajardo Pontificia Universidad Católica de Valparaíso

Bayes ingenuo tiende a tener relativamente menor precisión que máquinas de soporte vectorial

Bayes ingenuo es de más fácil implementación Máquinas de soporte vectorial es de mayor complejidad Temas que quedan por verificar:

¿Cómo enfrentar las preguntas dentro de un texto? ¿Cómo enfrentar las comparaciones dentro de un texto? ¿Cómo enfrentar las negaciones dentro de un texto?

Caso de estudio:Discusión

15 Diciembre de 2010

Page 36: Análisis de sentido en textos

Conclusiones y trabajo futuro

Page 37: Análisis de sentido en textos

37/37Jorge Gálvez Gajardo Pontificia Universidad Católica de Valparaíso

Se han obtenido resultados satisfactorios de acuerdo a la utilización de las dos técnicas de aprendizaje supervisado.

En clasificación de opiniones la representación del texto juega un papel importante en el análisis.

Se ha desarrollado satisfactoriamente el software, el cual ajusta automáticamente los parámetros para obtener el mejor resultado y almacenar el modelo generado.

En el futuro es posible utilizar aprendizaje no supervisado o semi supervisado al no contar con la gran mayoría de textos etiquetados desde Internet.

En el futuro lograr descomponer y analizar las frases encontradas dentro de un texto ayudaría un análisis más detallado.

Conclusiones y trabajo futuro

15 Diciembre de 2010

Page 38: Análisis de sentido en textos

¿Preguntas?

Page 39: Análisis de sentido en textos

Jorge Gálvez Gajardo Pontificia Universidad Católica de Valparaíso

Referencias

15 Diciembre de 2010

Page 40: Análisis de sentido en textos

40/37Jorge Gálvez Gajardo Pontificia Universidad Católica de Valparaíso

Vasileios Hatzivassiloglou and Kathleen R. McKeown. "Predicting the Semantic Orientation of Adjectives". In Proceedings of the 35th Annual Meeting of the ACL and the 8th Conference of the European Chapter of the ACL, pages 174–181, Madrid, Spain, July 1997. Association for Computational Linguistics

Turney, P.D., and Littman, M.L. (2002), Unsupervised Learning of Semantic Orientation from a Hundred-Billion-Word Corpus, National Research Council, Institute for Information Technology, Technical Report ERB-1094

Turney, P.D. (2002), Thumbs up or thumbs down? Semantic orientation applied to unsupervised classification of reviews, Proceedings of the 40th Annual Meeting of the Association for Computational Linguistics (ACL'02), Philadelphia, Pennsylvania, 417-424

15 Diciembre de 2010

Referencias

Page 41: Análisis de sentido en textos

41/37Jorge Gálvez Gajardo Pontificia Universidad Católica de Valparaíso

Thumbs up? Sentiment Classification using Machine Learning Techniques Bo Pang, Lillian Lee, and Shivakumar Vaithyanathan. Proceedings of the Conference on Empirical Methods in Natural Language Processing (EMNLP), pp. 79--86, 2002

Duda, R. O. and Hart, P. E. (1973). Pattern Classification and Scene Analysis. Wiley.

Pat Langley, Wayne Iba, Kevin Thompson. An Analysis of Bayesian Classifiers. In Proceedings of AAAI'1992. pp.223~228

VAPNIK…, V., The Nature of Statistical Learning Theory. 1995. NY Springer. Gerard M. Salton, A. Wong, and C. S. Yang. (1975). "A Vector Space Model for

Automatic Indexing." In: Communications of the ACM Chih-Chung Chang and Chih-Jen Lin, LIBSVM : a library for support vector

machines, 2001. Software available at http://www.csie.ntu.edu.tw/~cjlin/libsvm

15 Diciembre de 2010

Referencias