• No se han encontrado resultados

Análisis de documentos de opinión usando la representación word2vecAnalysis of opinion documents using the word2vec representation

N/A
N/A
Protected

Academic year: 2020

Share "Análisis de documentos de opinión usando la representación word2vecAnalysis of opinion documents using the word2vec representation"

Copied!
100
0
0

Texto completo

(1)

Superior de Ensenada, Baja California

MR

Maestr´ıa en Ciencias

en Ciencias de la Computaci ´

on

An ´alisis de documentos de opini ´

on usando la representaci ´

on

word2vec

Tesis

para cubrir parcialmente los requisitos necesarios para obtener el grado de Maestro en Ciencias

Presenta:

Antonio de Jes ´us Garc´ıa Ch ´avez

(2)

Dr. Edgar Leonel Ch ´avez Gonz ´alez

Dr. Israel Marck Mart´ınez P ´erez

Dr. Jaime S ´anchez Garc´ıa

Dr. Jes ´us Favela Vara

Coordinador del Posgrado en Ciencias de la Computaci ´on

Dra. Rufina Hern ´andez Mart´ınez Directora de Estudios de Posgrado

Antonio de Jes ´us Garc´ıa Ch ´avez © 2018

(3)

Resumen de la tesis que presentaAntonio de Jes ´us Garc´ıa Ch ´avez como requisito parcial para la obtenci ´on del grado de Maestro en Ciencias en Ciencias de la Computaci ´on.

An ´alisis de documentos de opini ´on usando la representaci ´on word2vec

Resumen aprobado por:

Dr. Carlos Alberto Brizuela Rodr´ıguez

Codirector de Tesis

Dr. Hugo Homero Hidalgo Silva

Codirector de Tesis

El an ´alisis de sentimientos es el ´area de estudio que involucra la utilizaci ´on y manejo de in-formaci ´on del tipo sentimientos, emociones y actitudes, las cuales se encuentran relacionadas a objetos, personas, servicios, lugares, eventos o temas en espec´ıfico. Una de las principales tareas en el ´area es la detecci ´on de polaridad en documentos de opini ´on, lo cual se refiere a realizar un an ´alisis de sentimientos a nivel de documento, para lo cual, es usual considerar y manipular infor-maci ´on del tipo sint ´actica as´ı como sem ´antica. Por lo que para aprovechar y beneficiarse de estas opiniones suele ser conveniente utilizar t ´ecnicas de clasificaci ´on automatizadas que facilitan la tarea. En este trabajo se propone emplear la sem ´antica como informaci ´on con la cual clasificar la polaridad de documentos de opini ´on. Para esto se utiliza una red neuronal denominada word2vec, la cual logra modelar, por medio de vectores palabra, relaciones sem ´anticamente representativas entre las palabras que se encuentren dentro de un corpus de texto dado. Estos vectores palabra son empleados dentro de la medida de distancia entre documentos que se propuso utilizar en este trabajo, dicha medida lleva por nombre “Word Mover’s Distance” (WMD). Para lo cual el pro-cedimiento propuesto realiza la clasificaci ´on de polaridad de documentos mediante los k-vecinos m ´as cercanos, el clasificador recibe como entrada un conjunto de documentos de opini ´on con polaridades desconocidas as´ı como un determinado n ´umero de documentos vecinos con los cua-les comparar, mediante la medida de similitud WMD. La salida del algoritmo es la clasificaci ´on de polaridad del conjunto de documentos desconocidos de entrada. Para la evaluaci ´on del pro-cedimiento propuesto se construyeron 12 espacios sem ´anticos, obtenidos de las combinaciones de los corpora de opiniones utilizados. Se emplearon dos corpora en idioma espa ˜nol, siendo el primero cr´ıticas de cine obtenidas de la web “MuchoCine” con un total de 2000 documentos y el segundo opiniones del sitio “TripAdvisor ” con un total de 10845 documentos. Resultados experi-mentales muestran que el procedimiento propuesto tiene dificultades para clasificar correctamente documentos provenientes del corpus de “MuchoCine” mientras que lo hace exitosamente con do-cumentos de “TripAdvisor ”. En este ´ultimo caso, se mostr ´o tambi ´en que es posible incrementar la calidad de los resultados variando el n ´umero de documentos vecinos a consultar y el tama ˜no de la votaci ´on.

(4)

Sentiment analysis is the area of study that involves the use and processing of information such as feelings, emotions, and attitudes, which are related to specific objects, people, services, places, events, or topics. One of the main tasks in the area is the polarity detection in opinion documents, which refers to performing a sentiment analysis at document level, for which it is usual to use syntactic as well as semantic information. Therefore, in order to take advantage of and benefit from these opinions, it is often convenient to use automated classification techniques that facilitate the task. In this work, we propose to use semantics as information with which to classify the polarity of opinion documents. A neural network called word2vec is used to model semantically representative relationships between words within a given text corpus by means of word vectors. These word vectors are used within the measure of distance between documents called Word Mover’s Distance (WMD). For this purpose, the proposed procedure classifies the polarity of documents by using the k-nearest neighbours, the classifier receives as input a set of opinion documents with unknown polarities as well as a certain number of neighbouring documents with which to compare, through the WMD similarity measure. The output of the algorithm is the polarity classification of the set of unknown input documents. For the evaluation of the proposed procedure, 12 semantic spaces were constructed, obtained from the combinations of the corpora of opinions used. Two Spanish-language corpora were used, the first being film reviews obtained from the MuchoCine website with a total of 2000 documents and the second being reviews from the TripAdvisor website with a total of 10845 documents. Experimental results show that the proposed procedure has difficulty to correctly classify documents from the MuchoCine corpus while successfully classifying documents from TripAdvisor. In the latter case, it was also shown that it is possible to increase the quality of the results by varying the number of neighbouring documents to be consulted and the size of the vote.

(5)

Dedicatoria

A mis padres Marco y Mar´ıa.

(6)

tesis, del mismo modo al resto de mi comit ´e por sus valiosas observaciones.

A mi hermano Raul Cordova, por brindarme incontables an ´ecdotas y alegr´ıas en esta larga

amistad.

A mi amiga de anta ˜no Jennifer Padilla, por tantas aventuras, consejos y memorias.

A mi hermano del cubo 103, Alejandro Flores, por su consejo, paciencia y su invaluable

amis-tad; por hacer la hora del caf ´e algo inigualable.

Al Centro de Investigaci ´on Cient´ıfica y de Educaci ´on Superior de Ensenada.

Al Consejo Nacional de Ciencia y Tecnolog´ıa (CONACyT) por brindarme el apoyo econ ´omico

(7)

P ´agina

Resumen en espa ˜nol ii

Resumen en ingl ´es iii

Dedicatoria iv

Agradecimientos v

Lista de figuras viii

Lista de tablas xiii

1. Introducci ´on 1

1.1. Antecedentes y motivaci ´on . . . 1

1.2. Planteamiento del problema . . . 3

1.3. Objetivos . . . 4

1.3.1. General . . . 4

1.3.2. Espec´ıficos . . . 4

1.4. Metodolog´ıa de soluci ´on . . . 4

1.5. Organizaci ´on de la tesis . . . 5

2. Marco Te ´orico 7 2.1. An ´alisis de sentimientos . . . 7

2.1.1. Informaci ´on sem ´antica . . . 7

2.1.2. El problema de la representaci ´on . . . 7

2.1.3. Modelos de sem ´antica en espacio vectorial . . . 8

2.1.3.1. Selecci ´on de caracter´ısticas sem ´anticas en el contexto del an ´alisis de sentimientos . . . 9

2.1.4. Documentos de opini ´on . . . 9

2.1.5. Word2vec para el modelado de sem ´antica . . . 9

2.1.5.1. Modelo CBOW . . . 10

2.1.5.2. Modelo Skip-gram . . . 15

2.2. Representaci ´on tradicional de documentos . . . 17

2.2.1. BOW . . . 19

2.3. Medida de distancia . . . 19

2.3.1. Word mover’s distance . . . 20

2.3.1.1. nBOW . . . 21

2.3.1.2. Distancia entre documentos . . . 21

2.4. k-NN . . . 23

3. Procedimiento propuesto 24 3.1. Obtenci ´on de informaci ´on sem ´antica . . . 24

3.2. Representaci ´on de documentos nBOW . . . 27

3.3. M ´etrica WMD . . . 28

3.4. k-NN . . . 29

3.4.1. Eliminaci ´on de palabras repetidas . . . 29

3.4.2. Sistema de votaci ´on . . . 30

3.5. Unigramas2Vec . . . 32

(8)

4.3.2. Discusi ´on . . . 52

4.4. Unigramas2Vec: el caso de MuchoCine . . . 53

4.4.1. Discusi ´on . . . 54

4.5. Selecci ´on de caracter´ısticas sem ´anticas mediante un algoritmo gen ´etico . . . . 57

4.5.1. Discusi ´on . . . 57

4.6. Algunos m ´etodos del estado del arte: Resultados . . . 58

5. Conclusiones 64 5.1. Sumario . . . 64

5.2. Conclusiones . . . 65

5.3. Trabajo a futuro . . . 66

Literatura citada 68 A. Ap ´endice 72 A.1. Ejemplo del modelo CBOW en su versi ´on general . . . 74

A.2. Matriz de distancias . . . 76

A.2.1. Discusi ´on . . . 80

(9)

Figura P ´agina

1. (a) Representacion intuitiva del modelo CBOW. (b) Representacion intuitiva del

mo-delo Skip-gram . . . 10

2. Modelo CBOW simple con solo una palabra en su contexto (Rong, 2014). . . 11

3. (a) Vector de entrada “one-hot”X y la matriz de pesosW. (b) Vectorhresultante y la matrizW0. . . 13

4. Modelo CBOW (Rong, 2014). . . 16

5. Modelo Skip-gram (Rong, 2014). . . 18

6. Ejemplo de conversi ´on de un documento a su versi ´onBOW. . . 18

7. Representaci ´on de documentos como nube de puntos enWMD(Kusneret al., 2015). 20 8. (a) Histograma nBOW de cada documento, as´ı como la colocaci ´on de cada valor di y d0j en sus respectivas posiciones. (b) Soluci ´on del problema de programaci ´on lineal. Se asigna la relaci ´on entre las palabras que resultaron cercanas o lejanas entre ambos documentos. . . 22

9. Diagrama para la creaci ´on del corpus sem ´antico. . . 25

10. (a) Documento de opini ´on del tipo positivo extra´ıdo del corpus “TripAdvisorV1”. (b) Representaci ´onnBOW del documento de opini ´on. . . 27

11. Listado de los 12 espacios sem ´anticos obtenidos mediante word2vec. . . 36

12. Validaci ´on cruzada de 3 pliegues empleando un corpus de opiniones de tama ˜no 9 . 39 13. Corpus de opiniones puntuadas con una y cuatro estrellas provenientes del corpus MuchoCine. La prueba se efectu ´o con un total de 350 documentos con una k = 10 por lo que cada compartimiento o (bin) contiene 35 documentos de opini ´on. Se empleo el corpus sem ´antico 1. En promedio se obtuvo unExactitud = 0.69 y T V P = 0.78. . . 40

14. Corpus de opiniones puntuadas con una y cuatro estrellas provenientes del corpus MuchoCine. La prueba se efectu ´o con un total de 350 documentos con una k = 10 por lo que cada compartimiento o (bin) contiene 35 documentos de opini ´on. Se empleo el corpus sem ´antico 2. En promedio se obtuvo unExactitud = 0.66 y T V P = 0.787356. . . 40

15. Corpus de opiniones puntuadas con una y cuatro estrellas provenientes del corpus MuchoCine. La prueba se efectu ´o con un total de 350 documentos con una k= 10 por lo que cada compartimiento o (bin) contiene 35 documentos de opini ´on. Se empleo el corpus sem ´antico 3. En promedio se obtuvo unExactitud = 0.708571y T V P = 0.731429. . . 41

(10)

18. Corpus de opiniones puntuadas con una y cinco estrellas provenientes del corpus TripAdvisorV1. La prueba se efectu ´o con un total de 630 documentos con una k

= 10 por lo que cada compartimiento o (bin) contiene 63 documentos de opini ´on. Se empleo el corpus sem ´antico 6. En promedio se obtuvo unExactitud = 0.82381

yT V P = 0.691083. . . 43 19. Corpus de opiniones puntuadas con una y cuatro estrellas provenientes del corpus

MuchoCine. La prueba se efectu ´o con un total de 350 documentos con una k= 10

por lo que cada compartimiento o (bin) contiene 35 documentos de opini ´on. Se empleo el corpus sem ´antico 7. En promedio se obtuvo unExactitud = 0.714286y

T V P = 0.678161. . . 44 20. Corpus de opiniones puntuadas con una y cinco estrellas provenientes del corpus

TripAdvisorV1. La prueba se efectu ´o con un total de 630 documentos con una k

= 10 por lo que cada compartimiento o (bin) contiene 63 documentos de opini ´on. Se empleo el corpus sem ´antico 7. En promedio se obtuvo unExactitud= 0.833333

yT V P = 0.812698. . . 44 21. Corpus de opiniones puntuadas con una y cinco estrellas provenientes del corpus

MuchoCine. La prueba se efectu ´o con un total de 350 documentos con una k= 10

por lo que cada compartimiento o (bin) contiene 35 documentos de opini ´on. Se empleo el corpus sem ´antico 8. En promedio se obtuvo unExactitud = 0.654286y

T V P = 0.697143. . . 45 22. Corpus de opiniones puntuadas con una y cinco estrellas provenientes del corpus

TripAdvisorV1. La prueba se efectu ´o con un total de 630 documentos con una k

= 10 por lo que cada compartimiento o (bin) contiene 63 documentos de opini ´on. Se empleo el corpus sem ´antico 8. En promedio se obtuvo unExactitud= 0.795238

yT V P = 0.691083. . . 46 23. Gr ´afica de radar (spider chart) donde se muestra los resultados obtenidos para las

(11)

Lista de figuras (continuaci ´

on)

Figura P ´agina

24. Gr ´afica de radar o (spider chart) donde se muestra los resultados obtenidos para las variables exactitud (accuracy), tasa de verdaderos positivos (true positive), pre-cisi ´on y tasa de verdaderos negativos (specificity). Se utiliz ´o el corpus sem ´antico 9 mediante un total de 100 documentos de opini ´on provenientes de “TripAdvisorV1 ”, estos documentos se encontraban puntuados mediante una y cinco estrellas. El corpus de prueba contiene 526 opiniones positivas y 526 negativas tomadas de “TripAdvisorV1 ”para un total de 1052 documentos de prueba a clasificar. . . 49 25. Gr ´afica de radar o (spider chart) donde se muestra los resultados obtenidos para

las variables exactitud (accuracy), tasa de verdaderos positivos (true positive), pre-cisi ´on y tasa de verdaderos negativos (specificity). Se utiliz ´o el corpus sem ´antico 10 mediante un total de 100 documentos de opini ´on provenientes de “TripAdvisorV1 ”, estos documentos se encontraban puntuados mediante una y cinco estrellas. El corpus de prueba contiene 526 opiniones positivas y 526 negativas tomadas de “TripAdvisorV1 ”para un total de 1052 documentos de prueba a clasificar. . . 50 26. Gr ´afica de radar o (spider chart) donde se muestra los resultados obtenidos para

las variables exactitud (accuracy), tasa de verdaderos positivos (true positive), pre-cisi ´on y tasa de verdaderos negativos (specificity). Se utiliz ´o el corpus sem ´antico 12 mediante un total de 100 documentos de opini ´on provenientes de “TripAdvisorV1 ”, estos documentos se encontraban puntuados mediante una y cinco estrellas. El corpus de prueba contiene 526 opiniones positivas y 526 negativas tomadas de “TripAdvisorV1 ”para un total de 1052 documentos de prueba a clasificar. . . 50 A.1. Dos opiniones extra´ıdas del corpus MuchoCine, ambas puntuadas con 1 estrella y

en su versi ´on original. . . 72 A.2. Dos opiniones extra´ıdas del corpus MuchoCine, ambas puntuadas con 2 estrella y

en su versi ´on original. . . 72 A.3. Dos opiniones extra´ıdas del corpus MuchoCine, ambas puntuadas con 4 estrella y

en su versi ´on original. . . 73 A.4. Dos opiniones extra´ıdas del corpus MuchoCine, ambas puntuadas con 5 estrella y

en su versi ´on original. . . 73 A.5. Una opini ´on extra´ıda del corpus MuchoCine puntuada con 1 estrella, sin embargo la

opini ´on de la izquierda se encuentra en su versi ´on original y la opini ´on de la derecha se trata de la misma pero en su versi ´on lematizada. . . 74 A.6. Ejemplo de la transici ´on desde la capa de entrada a la capa oculta en la red neuronal

CBOW, en su versi ´on conCentradas de palabras contexto, en este caso particular

C= 4. . . 74 A.7. Continuaci ´on del ejemplo iniciado en la Figura A.6, multiplicaci ´on del vectorh con

(12)

al verde; donde una distancia peque ˜na se representa con colores m ´as cercanos al rojo y en caso contrario una distancia alta se representa con colores cercanos al verde. . . 78 A.11.Matriz de distancias intra-clase de tama ˜no50x50, se utilizaron documentos de

opi-ni ´on puntuados con cuatro y cinco estrellas proveopi-nientes del corpus “MuchoCi-ne”usando el corpus sem ´antico 3. . . 78 A.12.Segmento de la matriz de distancia intra-clase observada en la Figura A.11. Se

muestra la barra de relaci ´on entre distancias y una tonalidad en el espectro del rojo al verde. . . 79 A.13.Matriz de distancias inter-clase de tama ˜no 50x50, se utilizaron documentos de

opi-ni ´on puntuados con una, dos, cuatro y cinco estrellas en el eje y y documentos puntuados con una y dos estrellas sobre el eje x, documentos provenientes del corpus “MuchoCine”y se dio uso del corpus sem ´antico 3. . . 79 A.14.Segmento de la matriz de distancia inter-clase observada en la Figura A.13. Se

muestra la barra de relaci ´on entre distancias y una tonalidad en el espectro del rojo al verde. . . 80 A.15.Matriz de distancias intra-clase de tama ˜no50x50, se utilizaron documentos de

opi-ni ´on puntuados con una y dos estrellas proveopi-nientes del corpus “TripAdvisorV1”usando el corpus sem ´antico 9. . . 81 A.16.Segmento de la matriz de distancia intra clase observada en la Figura A.15. Se

muestra la barra de relaci ´on entre distancias y una tonalidad en el espectro del rojo al verde. . . 82 A.17.Matriz de distancias intra-clase de tama ˜no50x50, se utilizaron documentos de

opi-ni ´on puntuados con cuatro y cinco estrellas proveopi-nientes del corpus “TripAdvisorV1”y se dio uso del corpus sem ´antico 9. . . 82 A.18.Segmento de la matriz de distancia intra clase observada en la Figura A.17. Se

muestra la barra de relaci ´on entre distancias y una tonalidad en el espectro del rojo al verde. . . 83 A.19.Matriz de distancias inter-clase de tama ˜no 50x50, se utilizaron documentos de

(13)
(14)

choCine”, en el caso del escenario real empleando solo 100 documentos co-mo vecinos. . . 48 5. Resultados de cada corpus sem ´antico utilizado con el corpus de opini ´on

“Tri-pAdvisorV1”, en el caso del escenario real empleando solo 100 documentos como vecinos. . . 48 6. Resultados obtenidos al clasificar 1308 documentos de opini ´on, provenientes

del corpus de “MuchoCine”; se vari ´o el valor de k en conjunto con el corpus sem ´antico, cada resultado se obtuvo empleando un total de 340 documentos como vecinos (170 y 170). . . 52 7. Resultados obtenidos al clasificar 1052 documentos de opini ´on, provenientes

del corpus de “TripAdvisorV1”; se vari ´o el valor de k en conjunto con el corpus sem ´antico, cada resultado se obtuvo empleando un total de 600 documentos como vecinos (300 y 300). . . 52 8. Tama ˜nos de vocabulario seg ´un el valor de R-k y el tipo de corpus sem ´antico

utilizado. La primera columna se refiere al identificador de corpus sem ´antico definido en la Figura 11. . . 55 9. Resultados del corpus de opini ´on “MuchoCine”utilizando el corpus sem ´antico

1 (Figura11). Se combinaron distintos valores de R-k cercanos a cada unigra-ma, as´ı como distintos valores de k para el sistema de votaci ´on. N ´umero de vecinos de 340. . . 56 10. Resultados del corpus de opini ´on “MuchoCine”utilizando el corpus sem ´antico

7 (Figura11). Se combinaron distintos valores de R-k cercanos a cada unigra-ma, as´ı como distintos valores de k para el sistema de votaci ´on. N ´umero de vecinos de 340. . . 56 11. Resultados del corpus de opini ´on “MuchoCine”utilizando el corpus sem ´antico

11 (Figura11). Se combinaron distintos valores de R-k cercanos a cada uni-grama, as´ı como distintos valores de k para el sistema de votaci ´on. N ´umero de vecinos de 340. . . 56 12. Mejores soluciones encontradas en los experimentos preliminares del AG

para la selecci ´on de caracter´ısticas sem ´anticas en vectores palabra. Compo-nentes del vector word2vec seleccionados por el algoritmo. . . 57 13. Trabajos relevantes a la investigaci ´on. P: Precisi ´on, Exa: Exactitud. E:

(15)

Lista de tablas (continuaci ´

on)

Tabla P ´agina

A.1.1. Tipo y n ´umero de opiniones utilizadas para crear el corpora sem ´antico em-pleado en este trabajo. . . 76 A.3.1. Resultados de poner a prueba las soluciones parciales presentadas en la

Tabla 12. Se utilizaron 500 documentos desconocidos (250 positivos y 250 negativos) provenientes del corpus de “TripAdvisorV2”, asi como 600 docu-mentos como vecinos (300 positivos y 300 negativos); se emple ´o el corpus sem ´antico 9. . . 84 A.3.2. Resultados de poner a prueba las soluciones parciales presentadas en la

(16)

Las opiniones son de primordial importancia para distintas empresas, las cuales siempre bus-can la manera de obtener el sentir de sus clientes, de los servicios o productos que ofrecen. De igual forma en pol´ıtica los gobiernos se ven beneficiados al obtener informaci ´on sobre el estado an´ımico de una comunidad, para cuestiones como valoraci ´on de servicios, problemas sociales o bien para campa ˜nas electorales.

Para aprovechar y explotar estas opiniones es necesario utilizar t ´ecnicas de clasificaci ´on au-tomatizada que faciliten la manipulaci ´on de esta informaci ´on y as´ı poder organizarla para los usuarios. El an ´alisis de sentimientos nos ayuda en esta tarea ya que busca clasificar los textos por su opini ´on, para distinguirlos entre comentarios positivos o negativos de manera autom ´atica. M ´as concretamente, el an ´alisis de sentimientos es el ´area de estudio que involucra la utilizaci ´on y manejo de informaci ´on del tipo: sentimientos, emociones y actitudes, las cuales se encuentran relacionadas a objetos, personas, servicios, lugares, eventos o temas en espec´ıfico (Liu, 2015).

El t ´ermino an ´alisis de sentimiento (sentiment analysis) fue utilizado por primera vez en (Na-sukawa y Yi, 2003), trabajo en el cual se realiz ´o una de las principales tareas del an ´alisis de sentimiento la cual es la detecci ´on de polaridad; la tarea consiste en asignarle una clase positiva o negativa a un documento.

(17)

conjunto de opiniones o cr´ıticas, en este caso de pel´ıculas, cu ´ales de estas pertenecen a la clase de documentos positivos o negativos.

Autores como Councill et al. (2010) y Taboada et al. (2011) se han orientado principalmen-te hacia un enfoque ling ¨u´ıstico con el cual inprincipalmen-tentan, medianprincipalmen-te reglas sint ´acticas y diccionarios sem ´anticos, mejorar la precisi ´on de clasificaci ´on en documentos de opini ´on.

Un segundo enfoque concentra sus esfuerzos en utilizar t ´ecnicas de aprendizaje de m ´aquina, donde autores como Poriaet al.(2015); Clasteret al.(2010); Rahate y Emmanuel (2013); Hong y Fang (2015), han encontrado una mejora constante en la tarea del an ´alisis de sentimiento.

Agrupamos los trabajos relevantes a esta investigaci ´on en dos categor´ıas: trabajos en el len-guaje ingl ´es y en lenlen-guaje espa ˜nol, esto, dado que el ´area del procesamiento del lenlen-guaje y por ello del an ´alisis de sentimiento, se ha enfocado principalmente a resolver los problemas que con-llevan estas ´areas casi exclusivamente en el lenguaje ingl ´es. En consecuencia, las nuevas tenden-cias, t ´ecnicas y m ´etodos se encuentran relacionadas a este idioma, no obstante, estos trabajos aportan informaci ´on relevante para el an ´alisis de sentimiento en espa ˜nol.

Trabajos recientes utilizan m ´etodos estad´ısticos (Clasteret al., 2010), donde la idea principal, fue la de clasificar pel´ıculas conforme a los sentimientos que estas transmitan a los usuarios. Utilizaron como base de datos la red social Twitter, ya que, la plataforma presenta facilidades como la creaci ´on demicro-blogs mediantehashtags y una cantidad limitada de caracteres (140) para expresarse.

SenticNet, una base de conocimiento para el an ´alisis de sentimientos basado en conceptos, fue utilizada en (Ofeket al., 2016) y a la cual enriquecieron con un conocimiento del tipo “senti-do com ´un”. En (Poriaet al., 2015) utilizan una red neuronal convolutiva, mediante la cual buscan extraer caracter´ısticas en textos cortos con las cuales realizaron un an ´alisis de sentimiento mul-timodal. En (Tripathy et al., 2015) se presentaron resultados comparativos entre un clasificador Bayesiano (Naive Bayes) y una m ´aquina de soporte vectorial (support vector machine), aplicados a la tarea de an ´alisis de sentimiento en cr´ıticas de cine.

(18)

caracter´ısticas es cr´ıtico para mejorar el desempe ˜no en general de los analizadores de sentimien-tos. Algunos resultados que destacan son F-Score de 83 % en el segundo nivel de la arquitectura propuesta, utilizando un 60 % de datos de entrenamiento y un 40 % para prueba de un total de 2625 documentos de opini ´on.

En el ´area del procesamiento del lenguaje natural, la identificaci ´on y an ´alisis de expresiones del tipo negaci ´on en documentos representa un problema no resuelto; Jim ´enezet al. (2015) pro-ponen aprovechar la detecci ´on de la negaci ´on en documentos de opini ´on de cine provenientes de “MuchoCine” mediante reglas ling ¨u´ısticas y utilizar esta informaci ´on en un sistema de clasifica-ci ´on de polaridad. Un sistema de an ´alisis de sentimiento para observar patrones de conducta en las votaciones para presidente en Colombia fue propuesto en (Cer ´on-Guzm ´an y Le ´on-Guzm ´an, 2016), en este trabajo se enfocaron en filtrar opiniones de la red socialTwitter, con la intenci ´on de obtener un conjunto de datos que mejor reflejara las tendencias en las elecciones.

1.2 Planteamiento del problema

Recientemente los m ´etodos conocidos como de palabra vectorial o “embeddings” como por ejemploword2vec (Mikolovet al., 2013) se presentan como estrategias prometedoras en el con-texto del procesamiento del lenguaje natural (Baroni et al., 2014). Siguiendo esta estrategia un documento puede ser representado como una nube de puntos, por lo tanto dos documentos ser ´an similares en la medida que sus nubes de puntos sean similares.

(19)

1.3 Objetivos

1.3.1 General

Dise ˜nar, implementar y evaluar el desempe ˜no de unpipeline basado en palabras vectoriales para el an ´alisis de sentimiento en documentos en espa ˜nol basado en una medida de similitud entre documentos en su representaci ´on vectorial.

Elpipelinese valdr ´a de la informaci ´on sem ´antica contenida en cada documento y realizar ´a una clasificaci ´on de los mismos por medio de una medida de similitud entre ellos. Se evaluar ´a el desempe ˜no de dicho algoritmo sobre distintos corpora sem ´anticos mediante la precisi ´on del cla-sificador.

1.3.2 Espec´ıficos

Se plantean los siguientes objetivos espec´ıficos:

Establecer un corpus o corpora de informaci ´on sem ´antica para entrenamiento y pruebas finales.

Implementar m ´etodos de pre-procesamiento para documentos en espa ˜nol.

Implementar una estructura por la cual se representen los documentos en espa ˜nol.

Implementar una funci ´on de evaluaci ´on que utilice informaci ´on sem ´antica para determinar la polaridad de un documento en espa ˜nol.

Evaluar la confiabilidad de los resultados con nuevos documentos en espa ˜nol.

Analizar el desempe ˜no logrado con respecto al logrado por cada clasificador por separado utilizando distintas combinaciones de documentos en espa ˜nol y corpus sem ´anticos.

1.4 Metodolog´ıa de soluci ´on

(20)

res. Se generaron 12 distintos corpora sem ´anticos para este trabajo. Esta representaci ´on vectorial de palabras (word embeddings) se utiliza en la medida ya mencionada y por ello para clasificar los documentos.

Se utiliza el m ´etodo de los k-vecinos m ´as cercanos, el cual consiste en asignar la clase de un documento consulta en base a la de sus k-vecinos m ´as cercanos. La cercan´ıa o lejan´ıa de un documento a otro se establece mediante una funci ´on de distancia. La distancia busca relacionar a documentos que compartan caracter´ısticas sem ´anticas y alejar aquellos que no. Esta funci ´on de distancia entrega resultados diferentes dependiendo del grado de semejanza que los documentos expresen.

Una vez que obtenemos el listado de los k documentos m ´as cercanos, la clasificaci ´on se realiza mediante un sistema de votaci ´on, donde la mayor´ıa de votos provenientes de una clase en particular (positivo, negativo) le otorgan al documento consulta (query) la membres´ıa a dicha clase.

Una vez que se tienen los 12 corpora sem ´anticos, se experimenta con los distintos conjuntos de documentos de prueba para evaluar la precisi ´on del clasificador.

1.5 Organizaci ´on de la tesis

En el Cap´ıtulo 2 se introducen los conceptos b ´asicos para el entendimiento de este trabajo, as´ı como ejemplos sencillos para facilitar la comprensi ´on de estos.

(21)

nBOW, la medida de similitudWMD, el clasificadork-NN y un experimento denominado “Unigra-mas2Vec”.

En el Cap´ıtulo 4 se presentan los experimentos elaborados a lo largo de este trabajo, as´ı como los par ´ametros que se tomaron para el algoritmo. Tambi ´en se presentan los resultados obtenidos a partir de estos experimentos.

En el Cap´ıtulo 5 se presenta un sumario del trabajo as´ı como las conclusiones y algunas ideas de trabajo a futuro.

En el Ap ´endice A se encuentran ejemplos de opiniones extra´ıdas del corpus de “MuchoCine” puntuadas con una, dos, cuatro y cinco estrellas, as´ı como una opini ´on puntuada con una estrella en su versi ´on original y en su versi ´on lematizada.

(22)

do un conjunto de documentos de opini ´on D = {d1, d2, ..., dn} y un conjunto de clases C = {positiva, negativa}, determinar la clase a la que pertenece cada documentodi.

Tres son los niveles de an ´alisis de sentimientos (Cambria et al., 2013): nivel de documento, nivel de enunciado y nivel de aspecto (Document level, Sentence level, Aspect level). Cada nivel presenta sus propios retos, el nivel de documento se refiere a la tarea que acabamos de definir en el p ´arrafo anterior; el nivel de enunciado busca clasificar cu ´ando un enunciado es positivo, ne-gativo o neutral, este nivel se relaciona en gran medida a la detecci ´on de enunciados subjetivos (subjectivity classification); el nivel de aspecto determina los sentimientos y opiniones referentes a entidades espec´ıficas en un mismo contexto, ejemplo: “La empresaApplese maneja bien a ´un en esta econom´ıa tan mala”, el clasificar como positivo o negativo este enunciado no tiene mucho sentido, para ello, es necesario identificar las entidades de las cuales se habla (Apple, econom´ıa) y relacionarlas con sus respectivos sentimientos (positivo, negativo). Este trabajo enfoca sus es-fuerzos en resolver el problema del an ´alisis de sentimientos a nivel de documento.

2.1.1 Informaci ´on sem ´antica

Se define la sem ´antica en general como el significado de una palabra, frase, oraci ´on o cual-quier texto en alg ´un lenguaje que el ser humano utilice, as´ı como el estudio de ´estos (Turney y Pantel, 2010). El manejo y modelado de informaci ´on sem ´antica representa en particular un proble-ma para las computadoras y por ello para los sisteproble-ma de an ´alisis de sentimiento (Cambria, 2016).

2.1.2 El problema de la representaci ´on

(23)

siguientes enfoques (Molinaet al., 2002):

El subconjunto de un tama ˜no espec´ıfico que optimice una medida de evaluaci ´on.

El subconjunto de menor tama ˜no que satisfaga cierta restricci ´on en la medida de evaluaci ´on.

Los subconjuntos con el mejor compromiso entre tama ˜no y el valor de medida de evaluaci ´on (caso general).

Formalmente, el problema de selecci ´on de caracter´ısticas se define como, seaX el conjunto original de caracter´ısticas con cardinalidad|X|=ny seaJ(X0)una medida de evaluaci ´on que se desea optimizar (digamos maximizar) definida porJ :X0 →R. La selecci ´on de un subconjunto de caracter´ısticas se da bajo las tres consideraciones como (Molinaet al., 2002):

EncontrarX0⊆X, tal queJ(X0)es m ´aximo y|X0|=m < n.

Establecer un valor J0, esto es, el m´ınimo J que ser ´a, tolerado. Encontrar el X0 ⊆ X con

menor|X0|, tal queJ(X0)≥J0.

Encontrar un compromiso entre minimizar|X0|y maximizarJ(X0)(caso general).

N ´otese que, con estas definiciones, un subconjunto ´optimo de caracter´ısticas no es necesa-riamente ´unico.

2.1.3 Modelos de sem ´antica en espacio vectorial

En general los trabajos que realizan un modelado de la sem ´antica en el lenguaje natural se clasifican en dos categor´ıas los basados en conteo (count-based) y los basados en predicci ´on del contexto (context-predicting). A esta ´ultima se le conoce tambi ´en como “embeddings” (Baroni et al., 2014). Ambas categor´ıas se encuentran inspiradas en la teor´ıa de distribuci ´on, la cual

in-dica que las palabras que se encuentren en contextos similares tienden a compartir significados similares (Harris, 1954).

(24)

2.1.4 Documentos de opini ´on

Definimos como un documento de opini ´on a cualquier unidad de texto que contenga un senti-miento, evaluaci ´on o postura relacionado a objetos, servicios, pel´ıculas, noticias o bien cualquier entidad de la cual pueda generarse una cr´ıtica u opini ´on, as´ı como informaci ´on de quien sostenga dicha opini ´on (Liu, 2015).

A diferencia de documentos con informaci ´on objetiva, los sentimientos y las opiniones son enteramente subjetivos, esto ocurre dado que cada persona puede tener distintas experiencias alrededor de un producto o servicio del cual tengan una opini ´on, de igual manera cada persona suele tener una perspectiva, intereses o ideolog´ıa distinta, por lo que las opiniones pueden ser tan similares o contrarias como la expresi ´on del lenguaje natural lo permita (Liu, 2015).

2.1.5 Word2vec para el modelado de sem ´antica

Por mucho tiempo los modelos para sem ´antica basados en conteo representaron el estado del arte en distintas ´areas como: procesamiento del lenguaje natural, recuperaci ´on de informaci ´on y miner´ıa de datos (Turney y Pantel, 2010). Sin embargo, se ha demostrado que los modelos basados en predicci ´on (embeddings), representan el estado del arte actual y posiblemente el futuro en estas ´areas (Baroniet al., 2014).

(25)

(a) (b)

Figura 1: (a) Representacion intuitiva del modelo CBOW. (b) Representacion intuitiva del modelo Skip-gram

para de esta manera optimizar las probabilidades de los contextos conforme las palabras tiendan a aparecer en un corpus de entrenamiento, de manera que los vectores por predicci ´on naturalmente aprenden a asignar vectores similares a palabras similares.

A continuaci ´on se describe un modelo basado en predicci ´on denominado word2vec, este pre-senta dos variantes: el modelo CBOW (Continuous Bag-of Words) y Skip-gram (Mikolov et al., 2013; Mikolovet al., 2013a). Ambos modelos ser ´an presentados en sus arquitecturas basadas en redes neuronales. En trabajos siguientes los autores presentan para ambos modelos arquitecturas las cuales no se representan precisamente como redes neuronales, esto con la intenci ´on de me-jorar la eficiencia y el costo computacional en el entrenamiento de los vectores contexto (Mikolov et al., 2013a).

Modelo CBOW

Este modelo entrena la red neuronal bajo la siguiente suposici ´on: se puede predecir una pala-bra centro (palapala-bra objetivo) dada una ventana deCpalabras alrededor de esta (palabras contex-to); lo anterior puede verse de manera intuitiva en la Figura 1 (a).

(26)

Figura 2: Modelo CBOW simple con solo una palabra en su contexto (Rong, 2014).

La red neuronal recibe como entrada un vector codificado “one-hot” o bien “uno deV”, el cual es un vector de tama ˜noV conX=x1, ..., xV elementos, dondeV es el tama ˜no del vocabulario. El

modeloCBOW recibe como entrada los vectores “one-hot” de las palabras contexto. El vector de entrada contiene un valor de uno en la posici ´on donde se encontrar´ıa la palabra que representa dentro del vocabulario y cero en las dem ´as posiciones.

El tama ˜no de la capa oculta en la red neuronal representa la dimensi ´on de los vectores palabra resultantes, en este caso su tama ˜no es deN, por lo que los pesos entre la capa de entrada y la capa oculta puede verse como una matriz W de tama ˜no V XN, donde cada fila en W es la representaci ´on vectorial de dimensi ´on N de la palabra que se ingresa en la capa de entrada; formalmente la filaienW esvTw. Dada una palabra contextowI, suponiendo quexk= 1yxk0 = 0 ∀k6=k0, tenemos que:

h=WTX=W(Tk,.):=vTwI, (1)

lo cual es simplemente copiar lak−´esimafila deW ah, lo anterior indica que la funci ´on de la capa oculta es lineal. La representaci ´on vectorial de la palabra que se ingresa como contextowI

esvwI.

La transici ´on de la capa oculta a la capa de salida se representa como una matriz de pesos

(27)

uj =v

0

wj

T

h, (2)

vw0 j es la j−´esima columna de la matriz W0. Recordemos que la capa de salida debe dar un vectorY = (y1, ..., yV), donde cada elemento enY representa la probabilidad de que esa palabra

sea la palabra objetivo; para lo cual se utiliza la funci ´onsoftmax (Bridle, 1990) la cual transforma estos valores parcialesuj en probabilidades de la siguiente manera:

p(wj|wI) =yj =

exp(uj)

PV

j0=1exp(uj0)

, (3)

donde p(wj|wI) es la probabilidad de que la palabra entrada wj sea la palabra objetivo dada la

palabra contextowI. Finalmente, substituyendo la ecuaci ´on (1) y (2) en (3) tenemos,

p(wj|wI) =yj =

exp(vw0 jTvwI)

PV

j0=1exp(v 0 wj0

Tv wI)

, (4)

Al final obtenemos dos representaciones de la palabraw:vwyvw0 , dondevwes el vector fila de

la matriz de pesosW en la transici ´on de la capa de entrada a la capa oculta yvw0 el vector columna de la matriz de pesos en la transici ´on de la capa oculta a la capa de salida. El aprendizaje de estos vectores palabra contenidos en las matrices de pesosWyW0se realiza mediante el procedimiento del gradiente descendente estoc ´astico (Bottou, 1991).

Con la intenci ´on de hacer propio el funcionamiento del modelo CBOW, consideremos el si-guiente corpus de entrenamiento: “el perro mir ´o al gato”, “el perro sigui ´o al gato”, “el perro trep ´o el

´arbol”. El vocabularioBobtenido del corpus es de tama ˜no|B|= 8, conB ={el, perro, miro, al, gato, sigui´ o, trep´ o,´ ´arbol}. Una vez ordenado el vocabulario alfab ´eticamente, para nuestro casoBo ={al,´arbol, el, gato, miro, perro, sigui´ o, trep´ ´o}

cada palabra podr ´a hacerse referencia mediante su posici ´on o ´ındice en el vocabulario ordenado

Bo. Supongamos, por inter ´es del ejemplo, utilizar una capa oculta de tama ˜noN = 3, por lo queW

ser ´a de tama ˜no8X3yW0 de3X8, como suele ser com ´un en el entrenamiento de redes neurona-les, estas matrices ser ´an inicializadas en valores aleatorios peque ˜nos entre(−1,1). En la Figura 3(a) se muestra el vector “one-hot” de entradaX y la matriz inicializadaW.

(28)

(a)

(b)

(29)

introducida a la red neuronal. De manera formal la palabra “trep ´o” representa la palabra objetivo y “gato” la palabra contexto. Note en la Figura 3(a) que el vector one-hot que representa a la palabra contexto “gato” solo contiene un valor de uno en su cuarta posici ´onx4 = 1, esto ocurre dado que

la palabra “gato” se encuentra en la cuarta posici ´on dentro de nuestro diccionario.

Con lo anterior definido, se obtienehmediante (1) lo cual nos entrega el vector fila deW,h= [0.104514,−0.463000,0.079367]T relacionado a la palabra contexto; observe que este vector fila h

se encuentra en negritas en la Figura 3(a). Lo siguiente es obtener mediante (2) cada valor parcial

ujen la capa de salida[0.206327,−0.117586,0.201338,0.106534,−0.087468,−0.211193,0.116229,−0.132753],

y por ´ultimo, aplicamos softmax (3) (Bridle, 1990) a estos resultados parciales y obtenemos

Y = [0.150291,0.108707,0.149543, 0.136017,0.112031,0.098993,0.137342,0.107071], note que la probabilidad de que aparezca la palabra objetivo “trep ´o” dada la palabra contexto “gato” se en-cuentra en negritas enY.

El ejemplo anterior supon´ıa una ventana de contexto de tan solo una palabra, esto para facilitar la comprensi ´on del comportamiento de la red neuronal. En la Figura 4 se muestra la estructura del modeloCBOW bajo la suposici ´on general, donde este utiliza una ventana deC palabras contexto alrededor de la palabra objetivo. En lugar de solo copiar el vector filavwI relacionado a la palabra

entradawI como en nuestro ejemplo, se toma el promedio de los C vectores que representan a

las palabras contexto, por lo que la transici ´on de la capa de entrada a la capa oculta est ´a dada por:

h= 1

CW

T(x

1+x2+...+xC) (5)

= 1

C(vw1+vw2+...+vwC)

T. (6)

La transici ´on de la capa oculta a la capa de salida se realiza de la misma manera que en (4).

(30)

j=1

La minimizaci ´on de este error se realiza mediante el m ´etodo del gradiente descendente estoc ´asti-co (stochastic gradient descent) (Ruder, 2016). De esta manera los “embeddings” en las matrices

W y W0 se actualizan y el error se minimiza, conforme vectores palabras sem ´anticamente rela-cionados tiendan a aparecer en contextos similares. En las Figuras A.6, A.7 y A.8 se facilita un ejemplo deword2vec mediante CBOW en su versi ´on general, donde la red neuronal recibe un total deCpalabras contexto en contraste con el ejemplo mostrado en la Figura 2 que usa una sola palabra contexto.

Modelo Skip-gram

Este modelo de manera intuitiva realiza su entrenamiento y predicciones mediante una su-posici ´on opuesta a la propuesta en el modeloCBOW: se pueden predecir las palabras contexto (palabras objetivo) en una ventana deC palabras alrededor de una palabra centro (palabra con-texto); en este modelo se invierte el uso de las palabras contexto y objetivo. En la Figura 1(b) se aprecia de manera intuitiva el modeloskip-gram.

La Figura 5 presenta la estructura del modeloSkip-Gram. Como puede observarse el modelo recibe solo una palabra contexto en la capa de entrada y obtieneCvectores salida como resultado, los cuales representan las palabras objetivo. Dado que la red neuronal recibe solo una palabra como entrada, la transici ´on de la capa de entrada a la capa oculta se mantiene igual que en (1), por lo quevwI aun representar ´a el vector de la palabra que recibe como entrada la red neuronal y

wI la palabra entrada.

(31)
(32)

wI es la palabra que recibe como entrada la red neuronal.

yc,j es elj−esimo´ elemento en lac−esima´ representaci ´on vectorial de las palabras objetivo

en la capa de salida.

uc,j es elj−´esimoelemento de lac−´esimasalida en la capa oculta.

La funci ´on de error cambia a:

E =-log p(wO,1, ..., wO,C|wI) (11)

=−log

C

Y

c=1

exp(uc,j∗

c)

PV

j0=1exp(uj0)

(12)

=− C

X

c=1

uj∗

c +C.log

V

X

j0=1

exp(uj0) , (13)

dondejc∗ es el ´ındice de lac−esima´ palabra contexto en el vocabulario.

De igual manera este error se minimiza mediante gradiente descendente estoc ´astico, donde las variables a optimizar son cada uno de los vectores palabra.

2.2 Representaci ´on tradicional de documentos

(33)

Figura 5: Modelo Skip-gram (Rong, 2014).

mencionado la manera en que estos documentos ser ´an manipulados, estructurados o represen-tados computacionalmente. La representaci ´on cl ´asica de documentos conocida comoBOW (Bag of Words) ha contribuido en ´areas como: categorizaci ´on de documentos (Salton y Buckley, 1988),

visi ´on por computadora (Lazebniket al., 2006) e identificaci ´on de canciones (Brochu y De Freitas, 2002).

(34)

contiene el total de palabras en orden de aparici ´on de ambos documentos de opini ´on. Una vez obtenida la lista se puede representar cada documentoaybcomo un vectorBOW a0 yb0, como se presentan al extremo derecho en la Figura 6.

Esta representaci ´on de documentos puede ser visto como un histograma, donde histogramas similares pudieran compartir temas o significados similares. En el ejemplo mostrado en la Figura 6 si intent ´aramos clasificar mediante temas ser´ıa altamente probable que la opini ´on(a)apareciese agrupada en opiniones relacionadas a pol´ıtica o educaci ´on, en contraste la opini ´on (b) podr´ıa f ´acilmente aparecer en temas relevantes a telefon´ıa celular o tecnolog´ıa. Esta tarea pudiese verse como un intento por categorizar noticias (Ontrup y Ritter, 2002).

Por otro lado, BOW es incapaz de relacionar documentos que no compartan palabras en com ´un aunque el significado o informaci ´on sea similar, por ejemplo: “Obama habla a los medios en Illinois”, “El Presidente se re ´une con la prensa enChicago”. Pese que ambos documentos no comparten palabras, la relaci ´on sem ´antica entre ellos es evidente, esta clase de relaci ´on no puede ser representada correctamente medianteBOW.

2.3 Medida de distancia

Como se apreci ´o en la Secci ´on 2.2.1 utilizar una representaci ´on conveniente de documentos puede facilitar la categorizaci ´on de estos mismos, sin embargo, la incapacidad de agrupar do-cumentos que resultan similares o “cercanos” aunque estos no compartan palabras en com ´un, representa un desaf´ıo.

(35)

Figura 7: Representaci ´on de documentos como nube de puntos enWMD(Kusneret al., 2015).

la cual tomar ´a en cuenta esta clase de relaci ´on. A continuaci ´on se presenta la m ´etrica denominada WMD(Word Movers Distance) (Kusneret al., 2015). La intuici ´on detr ´as de la m ´etrica es definir una distancia sem ´anticamente significativa entre los documentos, donde aquellos documentos que se encuentren “cercanos” compartan no solo palabras si no un significado, mensaje o en este caso un sentimiento similar, por el contrario documentos “lejanos” representar ´an mensajes o sentimien-tos opuessentimien-tos.

2.3.1 Word mover’s distance

Como se ha mencionado la m ´etrica busca utilizar la relaci ´on sem ´antica entre las palabras de los documentos, para ello los autores propusieron un criterio de similitud entre documentos modelado bajo una medida de distancia. Esta distancia propone utilizar los vectores palabra (em-beddings) resultantes del entrenamiento de la red neuronalword2vec (Mikolovet al., 2013). Estos vectores palabra han demostrado preservar una alta relaci ´on sem ´antica entre ellos, por lo que palabras que se encuentran cercanas en este espacio vectorial tienden a tener significados seme-jantes (Harris, 1954). Intuitivamente, esto podr´ıa hacernos pensar que palabras que se agrupan o se encuentran cercanas en este espacio vectorial podr´ıan compartir un sentimiento similar.

(36)

di=

ci

Pn

j=1cj

. (14)

Anterior a esto se remueven palabras que no aporten informaci ´on sem ´antica al documento tales como art´ıculos, a estas palabras tambi ´en se le conocen como “stop words”.

Distancia entre documentos

La m ´etrica supone que se cuenta con una matriz de vectores palabra obtenidas mediante word2vec W ∈RV xN, donde cada fila en W es la representaci ´on vectorial de dimensi ´on N de cada palabra en el vocabulario, como se define en (1). Una distancia que se incorpora con facilidad para medir la disimilitud entre las palabras en los documentos es la distancia Euclidiana, aplicada en el espacio deword2Vec. El costo asociado de transportar una palabraia otraj es calculada de la siguiente manera:

c(i, j) =kXi−Xj k2 , (15)

donde:

Xres el vector palabra relacionado en el espacio deword2vec a la palabrar.

c(i, j)se referir ´a al costo asociado de viajar de una palabraia otraj.

(37)

(a) (b)

Figura 8: (a) HistogramanBOW de cada documento, as´ı como la colocaci ´on de cada valordi yd0jen sus

res-pectivas posiciones. (b) Soluci ´on del problema de programaci ´on lineal. Se asigna la relaci ´on entre las palabras que resultaron cercanas o lejanas entre ambos documentos.

como Earth Mover’s Distance (EMD) (Rubner et al., 1998). Consideremos dos documentos d y

d0 ambos con su representaci ´on nBOW, permitamos que cada palabraiendsea transportada a toda palabra end0. DefinamosT ∈Rnxn como una matriz de flujos en la cualTij ≥0denotar ´a la

proporci ´on de la palabraiendque se traslad ´o para encontrarse en la posici ´on de la palabrajen

d0.

Para convertir o transportar tododend0necesitamos asegurarnos que la cantidad total de flujo que sale de una palabraisea exactamente igual adi, i.e

P

jTij = di, as´ı como todo el flujo que

se le adjunte a la palabrajdebe ser igual ad0j o bienP

iTij =d0j. Por lo anterior se puede definir

la distancia entre dos documentos como la distancia acumulativa m´ınima que se necesita para transportar cada palabra endad0. Esta distancia se obtiene al resolver el siguiente problema de programaci ´on lineal:

m´ın T≥0

n

X

i,j=1

Tijc(i, j) (16)

sujeto a:

n

X

j=1

Tij =di∀i∈ {1, ..., n} y

n

X

i=1

(38)

y significado.

2.4 k-NN

La m ´etrica WMD fue puesta a prueba por los autores en la tarea de clasificaci ´on mediante los k-vecinos m ´as cercanos, al igual que en esta investigaci ´on. La idea es encontrar un total de

k vecinos los cuales sean los m ´as cercanos dado una m ´etrica o funci ´on de similitud entre los objetos. Como ya hemos vistoWMD (Kusneret al., 2015) representa una m ´etrica interesante y capaz de relacionar documentos a trav ´es de una distancia entre los documentos (Secci ´on 2.3.1.2).

(39)

Cap´ıtulo 3.

Procedimiento propuesto

En este cap´ıtulo se describe la metodolog´ıa propuesta, la cual consiste en utilizar informaci ´on sem ´antica obtenida mediante una red neuronal y emplearla en una medida de distancia entre documentos que maximice la precisi ´on de clasificaci ´on usando la t ´ecnica de los k-vecinos m ´as cercanos.

3.1 Obtenci ´on de informaci ´on sem ´antica

La informaci ´on sem ´antica se obtuvo utilizandoword2vec (Mikolov et al., 2013a), actualmente word2vec se encuentra en distintas plataformas de aprendizaje de m ´aquina como TensorFlow1, Theano2o bien se puede encontrar el c ´odigo en lenguaje C3; estas implementaciones funcionan bajo cualquier sistema operativo y no requieren de un tipo de hardware en espec´ıfico.

La principal motivaci ´on de utilizar word2vec para el modelado de la informaci ´on sem ´antica recae en lo siguiente: word2vec ha demostrado capturar relaciones sem ´anticamente represen-tativas entre las palabras que se encuentren dentro de un corpus de texto. La hip ´otesis que se busca confirmar es la siguiente: dando como entrada un corpus de texto de un dominio en es-pec´ıfico a word2vec, en este caso documentos de opini ´on, este producir ´a vectores palabra los cuales contendr ´an de manera impl´ıcita relaciones sem ´anticas seg ´un su sentimiento.

Estas relaciones sem ´anticas seg ´un el sentimiento, estar´ıan dadas seg ´un la teor´ıa de la distri-buci ´on la cual indica que las palabras que se encuentren en contextos similares tienden a com-partir significados similares (Harris, 1954). Sin embargo, en el contexto de la tarea del an ´alisis de sentimiento lo que buscamos es encontrar que palabras que se encuentren en contextos similares tiendan a compartir una emoci ´on o sentimiento similar.

La red neuronal recibe un corpus de opini ´on en crudo y de este, se obtienen los vectores pala-bra; vectores los cuales habr ´an capturado las relaciones sem ´anticas entre las palabras del corpus de entrada. Se construyeron unos corpora los cuales pasar ´an por un pre-procesamiento antes de ser utilizados por la red neuronal; cada corpus generado, se conform ´o de la concatenaci ´on de

nopiniones a la cual se le aplica un filtrado de palabras que no aportan informaci ´on sem ´antica.

(40)
(41)

La Figura 9 muestra el procedimiento realizado para la obtenci ´on de cada uno de los corpora sem ´anticos.

Algunos par ´ametros a considerar enword2vec son los siguientes:

size define el tama ˜no de los vectores palabra resultantes. Este valor generalmente suele definirse entre 200 y 550 (Mikolovet al., 2013).

trainnombre del archivo que contiene el corpus en crudo del cual se obtendr ´an los vectores palabra.

save−vocabnombre del archivo en el cual se guardar ´a el vocabulario del total de vectores palabra obtenidos.

read−vocab archivo del cual se obtendr ´a un vocabulario el cual no fue construido por el corpus de entradatrain.

debug este par ´ametro permite obtener una visualizaci ´on m ´as detallada durante el entrena-miento de los vectores palabras.

binary permite guardar los vectores palabras resultante en formato binario.

cbowel valor por omisi ´on es 1 indicando la selecci ´on del modeloCBOW; 0 en caso de querer utilizar el modelo Skip-gram.

alpha el punto de partida de la tasa de aprendizaje, el valor por omisi ´on es 0.025 para el modeloSkip-gramy 0.05 para el modeloCBOW.

outputnombre del archivo salida donde ser ´an guardados los vectores palabra.

windowtama ˜no de la ventana de palabras en el entrenamiento.

samplevalor umbral para la ocurrencia de palabras. Aquellas palabras que tengan una alta frecuencia, se les disminuye sus ocurrencias de manera aleatoria; el valor por omisi ´on es de

(0.001).

hsutilizarsoftmax jer ´arquico, el valor por omisi ´on es 0 (no utilizar).

negativen ´umero de ejemplos negativos para el entrenamiento, el valor por omisi ´on es 5.

(42)

(a) (b)

Figura 10: (a) Documento de opini ´on del tipo positivo extra´ıdo del corpus “TripAdvisorV1”. (b) Representaci ´on

nBOW del documento de opini ´on.

itern ´umero de iteraciones de entrenamiento, el valor por omisi ´on es 5.

min−countm´ınimo para el total de ocurrencias de una palabra para no ser descartada, el valor por omisi ´on es 5.

classesentrega la clase a la cual es miembro una palabra en lugar de los vectores palabra, el valor por omisi ´on es 0 (los vectores palabra son generados).

Una vez seleccionados los par ´ametros a utilizar, se inicia el entrenamiento de los vectores palabra, mediante alguno de los dos modelos a seleccionar,CBOW oSkip-gram (Mikolov et al., 2013; Mikolovet al., 2013a).

3.2 Representaci ´on de documentos nBOW

(43)

3.3 M ´etrica WMD

WMD se propuso como una medida de similitud entre documentos que compartan desde te-mas, g ´enero de literatura o hasta autores en com ´un, por lo que la m ´etrica asigna una similitud mayor a aquellos documentos que compartan alg ´un tipo de caracter´ıstica seg ´un un criterio. Este grado de similitud entre documentos se obtiene en gran medida de la manipulaci ´on de vectores palabras obtenidos medianteword2vec.

Por lo tanto, la hip ´otesis a confirmar medianteword2vec debe cumplirse, para que la hip ´otesis que buscamos demostrar utilizando WMD se cumpla de igual manera. Hip ´otesis la cual es: la m ´etrica WMD funciona como una medida de similitud entre documentos de opini ´on seg ´un su sentimiento.

WMDrecibe como entrada dos documentosdyd0ambos en su representaci ´onnBOW; de igual manera la m ´etrica supone que se cuenta con un vocabulario de vectores palabras previamente entrenados. De manera intuitiva la m ´etrica visualiza cada documentod y d0 como una nube de puntos colocados en el espacio de word2vec, dado que a cada palabra de los documentos se le adjunta su vector palabra relacionado, la Figura 8(a) muestra esta representaci ´on en forma de nube de puntos; por otro lado la representaci ´onnBOW de cada documento se puede pensar como un histograma, de igual manera en la Figura 8(a) y 8(b) encontramos esta representaci ´onnBOW a forma de histograma.

Lo siguiente en la m ´etrica es obtener la distancia acumulativa m´ınima que un documento d

debe viajar para que cada vector palabra endse empate en la exacta posici ´on en el espacio de word2vecdel documentod0 (Figura 8(b)); lo anterior es entonces plasmado como un problema de programaci ´on lineal (Rubneret al., 1998), donde la soluci ´on a este problema indica la distancia entre ambos documentosdyd0.

La m ´etrica WMD (Kusner et al., 2015) no contempla par ´ametro alguno, sin embargo, en la implementaci ´on puede manipularse aspectos como:

M AX IT ERAT ION S n ´umero de iteraciones m ´aximo para resolver el problema de progra-maci ´on lineal.

(44)

3.4 k-NN

Un clasificador del tipo k-NN recibe como entrada un objeto al cual se le asigna una lista de k objetos m ´as cercanos a ´el; cabe mencionar que para que esta lista sea creada, debe existir una cantidadnde objetos de los cuales elegir como miembro o no de esta lista (objetos vecinos). El valor de cercan´ıa se encuentra dado por una m ´etrica o funci ´on de similitud, la cual busca alejar del “objeto entrada” objetos de clases contrarias o bien, que no contengan relaci ´on alguna dado alg ´un criterio y acercar a ´el objetos que pertenezcan a la misma clase o que compartan alg ´un tipo de relaci ´on. La pertenencia o clasificaci ´on a una clase del “objeto entrada” se encuentra dada mediante un sistema de votaci ´on, el cual contabiliza el mayor n ´umero de ocurrencias en la lista de k objetos m ´as cercanos de un tipo de clase en particular.

En el caso particular del problema que buscamos resolver mediante k-NN, el “objeto en-trada” se trata de un corpus de opiniones de las cuales se desconoce su polaridad, “objeto entrada” el cual en el Algoritmo 1 se define como opiniones desconocidas. Como “objeto veci-nos” tenemos un determinado n ´umero de opiniones con polaridades conocidas, definido como

opiniones desconocidas. En el Algoritmo 1 linea 14, se observa la utilizaci ´on de la metricaWMD, introducida en la secci ´on anterior; de manera similar se presenta a detalle la estructura del clasi-ficador tipo k-NN modificado para la tarea de an ´alisis de sentimiento mediante el procedimiento propuesto en este trabajo.

3.4.1 Eliminaci ´on de palabras repetidas

(45)

Algoritmo 1:KNNPAS.

Entrada: opiniones desconocidas, opiniones vecinas, vectores palabra

Salida : opiniones clasificadas

1 n←tama ˜no deopiniones desconocidas 2 v←tama ˜no deopiniones vecinas 3 opiniones clasif icadas[1...n] 4 parai:0→nhacer

5 opinion←opiniones desconocidas[i] 6 documentos[r]1≤r≤2

7 documentos[1]←opinion

8 paraj:0→vhacer 9 d←0

10 vecino←opiniones vecinas[j]

11 documentos[2]=vecino

12 documentos= eliminar Palabras Repetidas(documentos) 13 documentos= representacion nBOW(documentos) 14 d←WMD(documentos)

15 agregar ListakNN(documentos,d) 16 fin para

17 seleccionar kNN(documentos[1]) 18 sistema de Votacion(documentos[1]) 19 opiniones clasif icadas[i]←documentos[1]

20 fin para

deban ser pre-procesados. Como se mencion ´o, uno de los principales pre-procesamientos es la eliminaci ´on de palabras del tipo “stop words”, seguido de ello es necesario la eliminaci ´on de palabras que ambos documentos compartan, esto quiere decir que la representaci ´onnBOW para cada documento el cual es el ´ultimo paso, solo contendr ´a palabras diferentes y ´unicas en ambos documentos, en el Algoritmo 2 se puede observar la estructura del algoritmo para la eliminaci ´on de palabras repetidas.

La eliminaci ´on de palabras repetidas pudiera parecer no conveniente a primera vista, dado que lo que buscamos es relacionar documentos que compartan un significado o sentimiento me-diante la sem ´antica; sin embargo, dos documentos de opini ´on aun sin compartir palabras pueden encontrarse “cercanos” o relacionados: e.g. “El hotel result ´o contar con un excelente servicio”, “La experiencia fue de lo mejor as´ı como el trato del personal por igual”.

3.4.2 Sistema de votaci ´on

(46)

Algoritmo 2:Eliminar Palabras Repetidas.

Entrada: documentos[r]1≤r≤2 Salida : documentos[r]1≤r≤2

1 opinion←documentos[1] 2 vecino←documentos[2]

3 n←total de palabras enopinion

4 v←total de palabras envecino 5 parai:0→nhacer

6 palabra←opinion[i]

7 j ←0

8 bandera←falso 9 mientrasj≤v

10 sipalabra==vecino[j]entonces 11 borrar(vecino[j])

12 v←v−1 13 j←j−1

14 bandera←cierto

15 si no

16 j←j+ 1

17 fin si

18 fin mientras

19 sibandera! =falso entonces

20 borrar(opinion[i]) 21 n←n−1

22 i←i−1

(47)

desconocida dependiendo del mayor n ´umero de ocurrencias de opiniones vecinas de una clase determinada.

De esta manera cada opini ´on de la cual se desconozca su polaridad, es clasificada como posi-tiva o negaposi-tiva, en funci ´on de la mayor cantidad de opiniones vecinas m ´as cercanas, de una clase en particular que contenga en su lista dekNN.

3.5 Unigramas2Vec

Se propuso utilizar parcialmente los resultados obtenidos en el trabajo de Ortega del Castillo (2015), donde se obtuvo un 0.75 de precisi ´on al clasificar 200 documentos desconocidos me-diante un enfoque selecci ´on de caracter´ısticas empleando un algoritmo gen ´etico, el corpus de documentos de opini ´on utilizado fue “MuchoCine”. En este trabajo se report ´o una predominan-cia de unigramas en todos los individuos generados por el AG con un promedio de 0.59, por lo que se puede suponer que los unigramas aportan en gran medida informaci ´on relevante para la clasificaci ´on de documentos.

De los resultados de este trabajo se obtuvo un individuo el cual obtuvo un 0.91 de precisi ´on sobre documentos conocidos con un total de 535 caracter´ısticas, siendo 342 unigramas, 71 le-mas, 9 pos-tags y 113 posbigramas. A sugerencia de Ch ´avez (2018) se propuso emplear estos 342 unigramas dentro del contexto de los corpora sem ´anticos propuestos en este trabajo, bajo la suposici ´on de que estos unigramas mantendr ´an informaci ´on sem ´anticamente significativa de manera individual y en conjunto con otras palabras en estos espacios.

Las 193 caracter´ısticas restantes del tipo lemas, pos-tags y posbigramas, no fueron empleadas en estos experimentos; ya que, estas se refieren en su mayor´ıa a informaci ´on sint ´actica (etiqueta-do morfosint ´actico), informaci ´on la cual no se contempla expl´ıcitamente en este trabajo.

Estos experimentos se realizaron combinando valores de R-k en conjunto con distintos valores de k, donde R-k representa el n ´umero de vectores palabras vecinas a contemplar para cada uno de los 343 unigramas, estas palabras vecinas se obtendr ´an de alguno de los corpora sem ´anticos utilizados en este trabajo y k representa el total de documentos vecinos a considerar en el sistema de votaci ´on.

(48)

4. Emplear estos nuevos corpus sem ´anticos dentro del algoritmo propuesto en este trabajo de tesis.

Cada uno de estos experimentos inicia con un vocabulario de vectores palabra a lo m ´as de 343, el tama ˜no del vocabulario inicial puede variar dado que no se puede asegurar que todos los unigramas se encuentren contenidos en los corpora sem ´anticos empleados; lo siguiente es encontrar los R-k vectores palabra m ´as cercanos de cada uno de los unigramas en nuestro voca-bulario original, de esta manera el vocavoca-bulario de vectores palabra se ve incrementado por lo que suponemos ser ´an palabras sem ´anticamente relacionadas a los 343 unigramas originales.

(49)

Cap´ıtulo 4.

Experimentos y resultados

En este cap´ıtulo se describe de manera detallada los experimentos realizados as´ı como los resultados obtenidos con el procedimiento propuesto.

4.1 Consideraciones preliminares

Se tom ´o la decisi ´on de trabajar con el lenguaje C++11 dada la accesibilidad de la herramienta utilizada para el modelado de informaci ´on sem ´anticaword2vec1 (Mikolovet al., 2013), la cual es de c ´odigo abierto y desarrollada originalmente en lenguaje C, de igual manera la m ´etricaWMD2 (Kusneret al., 2015) se encuentra implementada en lenguaje C. De tal manera que se busc ´o apro-vechar ambas implementaciones en lenguajes de bajo nivel integr ´andolas en C++11.

Con lo que respecta a la implementaci ´on deword2vec, en ella se puede configurar el entre-namiento de los vectores palabra (embeddings) mediante los dos modelos disponibles CBOW (Continuos Bag-of Words) y Skip-gram((Mikolovet al., 2013) (Mikolovet al., 2013a)); la configu-raci ´on de par ´ametros utilizada se muestra en la Tabla 1.

Por otro lado, la m ´etricaWMD (Kusner et al., 2015) cuenta con cuatro par ´ametros a nivel de c ´odigo, los cuales deben considerarse seg ´un la magnitud del problema; la Tabla 2 muestra los valores utilizados.

1

https://code.google.com/archive/p/word2vec/source/default/source

2

http://robotics.stanford.edu/ rubner/emd/default.htm

Tabla 1:Lista de los valores utilizados para los par ´ametros de word2vec para el entrenamiento de los vectores palabra. Par ´ametros Valor

(50)

Se utilizaron dos tipos de corpora, un corpus de cr´ıticas de cine en espa ˜nol (Cruzet al., 2008) y un corpus con opiniones de hoteles extra´ıdas de la p ´aginaT ripAdvisor.com.mx. Ambos corpora se encuentran puntuados con una y hasta cinco estrellas, donde una puntuaci ´on de una estrella indica que la pel´ıcula o bien que la experiencia de estancia en el hotel fue mala, por lo que, una puntuaci ´on de cinco estrellas indica que la pel´ıcula y que la estancia en el hotel fue buena.

El corpus de cr´ıticas de cine contiene un total de 2000 documentos de opini ´on, donde 654 documentos fueron puntuados con una o dos estrellas, tomados como negativas (las Figuras A.1 y A.2 muestran un par de ejemplos de opiniones); 714 documentos fueron puntuados con cuatro o cinco estrellas, tomados como positivas (en las Figuras A.3 y A.4 se observan ejemplos); el resto de documentos fue puntuado con tres estrellas y fueron descartados por considerarse opiniones del tipo neutral. Cabe mencionar que se utilizaron dos versiones de este corpus, una primera versi ´on denominada como “original” lo cual hace referencia a que estas opiniones se consideran tal cual fueron escritas originalmente y una segunda “lematizada”; la Figura A.5 muestra una opini ´on en ambas versiones.

(51)

Figura 11: Listado de los 12 espacios sem ´anticos obtenidos mediante word2vec.

.

4.1.2 Obtenci ´on de los corpora sem ´anticos

En total se utilizaron 12 versiones de espacios sem ´anticos obtenidos medianteword2vec, es-tos fueron construidos mediante combinaciones de los distines-tos tipos de corpus de opini ´on con los cuales contamos. El objetivo de generar distintos corpora sem ´anticos de “embeddings” fue el de analizar si es posible observar la existencia de una combinaci ´on de documentos de opini ´on que logre una destacada distribuci ´on de estos vectores palabra, lo cual reflejar´ıa resultados deseables en la clasificaci ´on de opiniones.

(52)

los corpora de opini ´on as´ı como en los corpora sem ´anticos, se implement ´o utilizando el lenguaje C++11.

4.1.3 Medidas de calidad

Para la evaluaci ´on de resultados utilizamos las siguientes medidas de calidad:

Exactitud= (T P +T N)/T otaldeopiniones

TVP=T P/T otaldeopiniones

TFP=F P/T odaldeOpinionesN egativas

Especificidad=T N/T odaldeOpinionesN egativas

Precisi ´on=T P/(F P +T P)

Sensibilidad=T P/(T P +F N)

F-Score= 2∗((P recision∗T V P)/(P recision+T V P))

(53)

4.1.4 Par ´ametros del algoritmo y resultados

Como se mencion ´o en la Secci ´on 4.1, el procedimiento propuesto solo contempla par ´ametros enword2Vecy algunas consideraciones menores en la m ´etricaWMD. Todo experimento realizado en este trabajo contempl ´o la utilizaci ´on de corpora balanceados, esto quiere decir que se utilizaron en cada caso de opiniones con un mismo n ´umero de documentos positivos y negativos, esto con la intenci ´on de proveer una distribuci ´on uniforme de documentos de ambos tipos al algoritmo.

4.2 Evaluaci ´on del algoritmo mediante validaci ´on cruzada

Los primeros experimentos sobre los corpora de opiniones fueron realizados mediante vali-daci ´on cruzada de k-pliegues (k-fold cross-validation), en cada caso se utiliz ´o una k= 10lo cual divide cualquier corpus a prueba en 10 subconjuntos de igual tama ˜no, donde k−1 subconjuntos de opiniones son utilizadas como datos de entrenamiento y solo un subconjunto es tratado como datos de prueba (documentos desconocidos a clasificar).

En la Figura 12 puede observarse un ejemplo de corpus de documentos de opini ´on puestos a prueba mediante validaci ´on cruzada con una k= 3, dado que el total de documentos es de nueve, el corpus se divide en tres grupos de igual tama ˜no. En cada desde i = 1 hastai = 3 los datos de prueba cambian de posici ´on, lo que quiere decir que en cada iteraci ´on ponemos a prueba un grupo distinto de opiniones, por lo que estos documentos o datos de prueba utilizan como posibles vecinos al resto de los documentos o datos de entrenamiento.

Se obtuvieron resultados para cada corpus sem ´antico desde el corpus n ´umero uno hasta el corpus n ´umero ocho, cada corpus sem ´antico se puso a prueba en la tarea de clasificar pares de corpora de opini ´on, de tal forma que un corpus sem ´antico, supongamos el corpus n ´umero 7, fue puesto a prueba bajo las siguientes combinaciones de documentos de opini ´on: documentos puntuados con una y cuatro estrellas, una y cinco estrellas, dos y cuatro estrellas, dos y cinco estrellas y por ´ultimo mezclando todas las puntuaciones de estrellas e ignorando opiniones del tipo neutral.

Referencias

Documento similar

It is well known that El Niño-Southern Oscillation is recurrent in an average period of two to seven years; the phenomenon is identified between the months

Posición sobre total: 1 En calidad de: Autor/a o coautor/a de capítulo de libro 21 Castejón Porcel, G.Lavaderos de Fuente Álamo de Murcia: patrimonio hidráulico y cultura del agua

Al mismo tiempo, dado que el modelo teórico o paradigma predominante en la agricultura europea ha experimentado desde comienzos de la década de los años

En 1910 la distribución de la población en el municipio de Orihuela, como recoge el Cuadro 1, está caracterizada por una gran fragmentación, a pesar de que la ciudad concentra casi

Impartición de un curso de itinerarios didácticos para profesorado en activo de centros públicos de enseñanza secundaria de la Comunidad Valenciana (España).. Sector de

PROCEDIMIENTO PARA EL DISEÑO DE PRODUCTOS TURÍSTICOS INTEGRADOS En este epígrafe se pretende brindar un procedimiento con carácter estructural, participativo, flexible y

 Para recibir todos los números de referencia en un solo correo electrónico, es necesario que las solicitudes estén cumplimentadas y sean todos los datos válidos, incluido el

La determinación molecular es esencial para continuar optimizando el abordaje del cáncer de pulmón, por lo que es necesaria su inclusión en la cartera de servicios del Sistema