probabilistic latent semantic analysis

4
Trabajo Práctico: Bag of Words Meets Bags of Popcorn 75.06 Organización de Datos cuatrimestre año 2015 1 er Nombre del grupo de Kaggle :“La Papa Furiosa” Alvarez Nicolás 93503 Deciancio Nicolás 92150 Monsech Santiago 92968 Ottavianoni Natan 86249 Abstract Para la resolución de este trabajo decidimos emplear el uso de un algoritmo de modelado llamado Probabilistic LSA(latent semantic analysis) teniendo como partida el siguiente paper [1] que es muy recomendado dentro de la comunidad de data science, para un modelo de revisión de peliculas. Esto permite generar un modelo que trata de entender los sentimientos expresados en una review, y no tanto en el contenido del léxico que este contiene. Luego en base a la precisión alcanzada, vamos a evaluar trabajar con un algoritmo de clasificación automática como es el SVM (support vector machine) para poder clasificar reviews según el sentimiento transmitido en el mismo, tal como lo realizan en [12] . Fuente/Bibliografía [1] X. Yu, Y. Liu, J. Xiangji, A. An. Mining online reviews for predicting sales performance: A case study in the movie domain. (1999). [2] T. Hofmann. Probabilistic latent semantic indexing. (1999) [3] Hofmann, T. Probabilistic latent semantic analysis. (1999). [4] curso de Text Retrievalillinois de Coursera 1

Upload: natan-ottavianoni

Post on 13-Dec-2015

6 views

Category:

Documents


0 download

DESCRIPTION

Para la resolución de este trabajo decidimos emplear el uso de un algoritmo de modelado llamado Probabilistic LSA(latent semantic analysis) teniendo como partida el siguiente paper [1] que es muy recomendado dentro de la comunidad de data science, para un modelo de revisión de peliculas. Esto permite generar un modelo que trata de entender los sentimientos expresados en una review, y no tanto en el contenido del léxico que este contiene. Luego en base a la precisión alcanzada, vamos a evaluar trabajar con un algoritmo de clasificación automática como es el SVM (support vector machine) para poder clasificar reviews según el sentimiento transmitido en el mismo, tal como lo realizan en [12]

TRANSCRIPT

Page 1: Probabilistic   latent   semantic   analysis

Trabajo Práctico: Bag of Words Meets Bags of    Popcorn 

75.06 Organización de Datos cuatrimestre ­ año 20151er  

 Nombre del grupo de Kaggle : “La Papa Furiosa” 

  

Alvarez Nicolás ­ 93503 Deciancio Nicolás  ­ 92150 Monsech Santiago ­ 92968 Ottavianoni Natan ­ 86249  

 

Abstract  

Para la resolución de este trabajo decidimos emplear el uso de un algoritmo de                           modelado llamado Probabilistic LSA(latent semantic analysis) teniendo como partida el                   siguiente paper [1] que es muy recomendado dentro de la comunidad de data science, para                             un modelo de revisión de peliculas. Esto permite generar un modelo que trata de entender los                               sentimientos expresados en una review, y no tanto en el contenido del léxico que este                             contiene. 

Luego en base a la precisión alcanzada, vamos a evaluar trabajar con un algoritmo de                             clasificación automática como es el SVM (support vector machine) para poder clasificar                       reviews según el sentimiento transmitido en el mismo, tal como lo realizan en [12] .  

Fuente/Bibliografía  

● [1] X. Yu, Y. Liu, J. Xiangji, A. An. Mining online reviews for predicting sales performance: A case study in the movie domain. (1999). 

● [2] T. Hofmann. Probabilistic latent semantic indexing. (1999) ● [3] Hofmann, T. Probabilistic latent semantic analysis. (1999). ● [4] curso de Text Retrieval­illinois­ de Coursera  

 1 

Page 2: Probabilistic   latent   semantic   analysis

● [5] curso de NLP ­ Stanford ­ de Coursera. ● [6] http://en.wikipedia.org/wiki/Latent_semantic_analysis ● [7] http://en.wikipedia.org/wiki/Expectation%E2%80%93maximization_algorithm ● [8] Data Mining for Business Applications Longbing Cao, Philip S. Yu Chengqi Zhang 

Huaifeng Zhang, capítulo 13 :”Blog Data Mining: The Predictive Power of Sentiments”  ● [9] http://blog.echen.me/2011/08/22/introduction­to­latent­dirichlet­allocation/ ● [10] David M., Blei Andrew Y. Ng, Michael I. Jordan, Latent Dirichlet Allocation ● [11]  http://videolectures.net/slsfs05_hofmann_lsvm/ ●  [12] Weijian Ren, Kaixu Han:  Sentiment Detection of Web Users Using Probabilistic 

Latent Semantic Analysis  

Explicación de la solución Modelado: una vez obtenida la representación vectorial de las reviews ,el proceso para las                           modelar se llevará a cabo utilizando el algoritmo P­LSA debido a su naturaleza latente                           (basado en el principio de probabilidad y definiendo un de modelo generativo adecuado).                         Para procesar los datos con este algoritmo deberíamos obtener la cantidad de sentimientos                         latentes que creemos que podrían estar presentes (experimental).  Entrenamiento:  

● Proponemos usar un clasificador que generaremos a partir del modelo de P­LSA. Puesto que una vez obtenidas las probabilidades de los sentimientos latentes P[ ] y                      Z i    de las condicionales P[ ] y P[ | ] podríamos estimar cuáles sentimientos       |  W k Z i     Z i Dj          corresponden a un sentimiento positivo y cuales son negativos, sin embargo a priori                         no tendríamos manera de saber de antemano la polaridad de los sentimientos, por lo                           cual buscamos enseñarle al modelo cuales nosotros creeremos que son sentimientos                     positivos a partir de los puntajes recibidos por las reviews, para lograr esto usamos                           las probabilidades condicionales, nosotros creemos que podríamos obtener la                 polaridad de los sentimientos mirando: 

○ Para cada documento, las probabilidades de los sentimientos. Puesto que si                     sabemos que para un documento calificado como positivo, vemos                 probabilidades de sentimientos altas, podemos decir que esos sentimientos                 que son muy probables para un documento marcado como positivo, deberían                     ser sentimientos positivos.  

Clasificación: El clasificador debería utilizar los sentimientos que nosotros creemos                   positivos obtenidos en la fase de entrenamiento, sabidos cuales son los sentimientos                       positivos podemos ver sobre el set de prueba, cuáles documentos tienen alta probabilidad                         (que podría definirse con un umbral) de esos sentimientos positivos,para determinar si                       finalmente corresponde a una review positiva.   

 2 

Page 3: Probabilistic   latent   semantic   analysis

Posibles mejoras: dependiendo de los resultados que consigamos con el modelo planteado                       analizaremos la posibilidad de mejorar el algoritmo utilizando un modelo SVM mediante una                         librería.  

Procesamiento de textos   

Como idea principal para el procesamiento del texto se pretende armar vectores de                         documentos eliminando stop­words, solo contemplando unigramas, es decir, palabras por sí                     mismas. Teniendo estos vectores que conforman una matriz, se normalizara cada uno bajo el                           criterio de normalización Tf * idf. 

Algunas posibles mejoras para refinar la normalización es contemplar bigramas en                     lugar de unigramas, así como también la incorporación de un corpus con palabras definidas                           como adjetivos. Con esto estaríamos contemplando un contexto más reducido, lo que nos                         daría más certeza al momento de calcular las probabilidades que conciernen a cierta palabra                           dentro del texto.  Aporte de grupo  

­ Una de las cuestiones a determinar es la cantidad de sentimientos latentes, se                         realizarán experimentos, aplicando algoritmos como SVD, e ir variando la cantidad de                       valores singulares que serán aplicados al modelo, usando algún criterio (a decidir), y                         generar un histograma, para tratar de estimar el número óptimo de sentimientos.   

­ Proponemos usar dos maneras de clasificación, usando SVM y la otra usando el                         modelo que nos genero el P­LSA, realizando un entrenamiento previo. 

 La motivación de probar con dos algoritmos de clasificación son:  

● Usar el modelo generado por P­LSA para poder clasificar, nos permitirá observar qué                         tan bien se clasifica cuando se usa entendimiento de los sentimientos. 

● En contraposición usar SVM, permitirá combinar el modelo generativo probabilístico                   del P­LSA con el modelo discriminante de SVM. 

Como conclusión nos gustaría que este análisis se pueda extender a otro tipo de dominios,                             siguiendo la idea de Domain Driven Data Mining, es por ello que nos gustaría probarlo sobre                               otro dataset, y también para el caso del concurso comprobar que las palabras cuya                           probabilidad es alta para los sentimientos que nosotros esperamos que fuesen positivos,                       resultasen ser palabras de índole positiva. 

Librerías Aquí proponemos una lista de librerías que permiten resolver diversos problemas con los cuales nos vamos a encontrar en el desarrollo del mismo, muchas de ellas realizan la misma tarea pero es imposible a prima facie, poder optar por una u otra, sin haber realizado un set 

 3 

Page 4: Probabilistic   latent   semantic   analysis

de pruebas correspondiente, como así también conocer el grado de mantenimiento que tienen.  No todas estarán presentes en la release final, pero si serviran para ir probando distintos módulos del sistema en cada una de las iteraciones correspondientes.   

● GibbsLDA++: A C/C++ Implementation of Latent Dirichlet Allocation. ● Armadillo C++ linear algebra library implementation of SVD. ● YamCha http://chasen.org/~taku/software/yamcha/#source ● http://cdec­decoder.org/index.php?title=Main_Page ● http://www.cs.jhu.edu/~rflorian/fntbl/ ● http://nlp.lsi.upc.edu/freeling ● http://www.speech.sri.com/projects/srilm/ ● http://www.speech.cs.cmu.edu/SLM_info.html 

 

 4