Este documento describe un análisis de sentido de textos cortos utilizando máquinas de aprendizaje. Los objetivos son clasificar comentarios de películas como positivos o negativos usando Naive Bayes y máquinas de soporte vectorial, y comparar los resultados. Se entrenaron los modelos con 660 comentarios y se probaron con 100, obteniendo una precisión del 84-85%. Finalmente, se desarrolló un software con interfaz para almacenar y clasificar comentarios.
How to use Redis with MuleSoft. A quick start presentation.
Clasificación de Textos
1. Análisis de sentido a textos cortos Alumno: Jorge Gálvez Gajardo Profesor Guía: Rodrigo Alfaro Arancibia Profesor Correferente: Guillermo Cabrera Guerrero
2. Contenido Introducción Objetivos Problemática Representación de Lenguaje Natural Máquinas de Aprendizaje NaïveBayes Support Vector Machine Software Set de Pruebas Conclusiones y Trabajo Futuro
3. Introducción Trabajar en tesis abordando problemática actual y que podría acrecentarse. Gran cantidad de información que se genera en Internet. 60 Billones de páginas web (según worldwidewebsize.com) 1.100 millones de usuarios de internet y 2.000 para 2016 (según Universidad de Iowa) 143 Millones de blogs, 1 millón de posts en las últimas 24 horas. (según blogpulse.com)
4. Objetivos Objetivo General: Utilizar máquinas de aprendizaje para categorizar textos cortos en positivo o negativo, según sea su sentido. Objetivos Específicos: Utilizar máquinas de aprendizaje, eligiendo NaïveBayes y Maquinas de Soporte Vectorial como técnicas para clasificar en positivo o negativo, según su sentido, distintos textos extraídos de comentarios sobre películas. Desplegar resultados obtenidos y comparar técnicas utilizadas con el fin de analizar qué forma es la más eficiente para determinado tipo de texto. Habilitar una interfaz web en la cual se pueda almacenar textos para poder ser utilizados en un entrenamiento o prueba de categorización de sentido.
5. Problemática Se están produciendo grandes cambios en la sociedad al comentar lo que nos parece bien o mal. Analizar datos recolectados de internet para analizar patrones y tendencias. Automatizar esta tarea para lograr una mayor cantidad de datos a analizar. Apoyarse en técnicas de Recuperación de Información y en algoritmos de Machine Learning
6. Representación de lenguaje natural Indexar términos: Boolean retrieval Frecuencia de términos y peso Term frequency Inverse document frequency TF-IDF Modelo de espacio vectorial Similitud coseno = =
7. Máquinas de Aprendizaje ¿Cómo podemos usar computadoras para descubrir y describir patrones basados en comportamientos? Aprendizaje supervisado Entrenamiento etiquetado Aprendizaje no supervisado Entrenamiento no etiquetado Aprendizaje semi supervisado Aplica una combinación de las dos técnicas anteriores
9. Naïve Bayes Es un clasificador probabilístico Cada ejemplo observado va a modificar la probabilidad de que la hipótesis formulada sea correcta Las palabras en el documento se tratan de forma independiente del contexto : 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
10. Naïve Bayes Aplicando Laplacesmoothing = : Número de términos del vocabulario de entrenamiento de las dos clases
14. Set de Pruebas Set de datos: Obtenida de Internet MovieDataBase (IMDb), archivada por rec.arts.movies.reviews. 1000 comentarios positivos y 1000 comentarios negativos Introducido en Pang/Lee ACL 2004
15. Set de Pruebas NaïveBayes 660 Textos de Entrenamiento y 100 de Prueba.
16. Set de Pruebas SVM 660 Textos de Entrenamiento y 100 de Prueba. Accuracy Costo Kernel: Sigmoid, Gamma: 0.1, Costo: 0.001, Accuracy: 84% Kernel: Sigmoid, Gamma: 0.1, Costo: 0.01, Accuracy: 84% 29.054 Palabras
17. Set de Pruebas SVM 660 Textos de Entrenamiento y 100 de Prueba. Stop Words Accuracy Costo Kernel: Sigmoid, Gamma: 0.5, Costo: 0.1, Accuracy: 85% 28.489 Palabras
18. Set de Pruebas SVM 660 Textos de Entrenamiento y 100 de Prueba. Stemming Accuracy Costo Kernel: Sigmoid, Gamma: 0.1, Costo: 0.001, Accuracy: 85% Kernel: Sigmoid, Gamma: 0.1, Costo: 0.01, Accuracy: 85% Kernel: Sigmoid, Gamma: 0.1, Costo: 0.1, Accuracy: 85% 21.341 Palabras
19. Set de Pruebas SVM 660 Textos de Entrenamiento y 100 de Prueba. Stop Words y Stemming Accuracy Costo Kernel: Sigmoid, Gamma: 0.3, Costo: 0.1, Accuracy: 84% 20.999 Palabras
25. Conclusiones y Trabajo Futuro Se ha utilizado NaïveBayes y Maquinas de Soporte Vectorial para clasificar en positivo o negativo, según su sentido, distintos textos extraídos de comentarios sobre películas. Los resultados obtenidos se han comparado con las distintas técnicas. Habilito una interfaz web en la cual se pueda almacenar textos para poder ser utilizados en un entrenamiento o prueba de categorización de sentido. Aplicar técnicas que aumenten el porcentaje de accuracy.