Análisis sentimental de la polaridad de tweets en tiempo real aplicando algoritmos de clasificación

Campillos García, Eduardo (2017). Análisis sentimental de la polaridad de tweets en tiempo real aplicando algoritmos de clasificación. Proyecto Fin de Carrera / Trabajo Fin de Grado, E.T.S.I. Industriales (UPM), Madrid.

Descripción

Título: Análisis sentimental de la polaridad de tweets en tiempo real aplicando algoritmos de clasificación
Autor/es:
  • Campillos García, Eduardo
Director/es:
  • Ordieres Meré, Joaquín Bienvenido
Tipo de Documento: Proyecto Fin de Carrera/Grado
Grado: Grado en Ingeniería en Tecnologías Industriales
Fecha: Julio 2017
Materias:
Palabras Clave Informales: Análisis sentimental, Python3, NLTK, Naive Bayes, máxima entropía, procesamiento de lenguaje natural, Twitter
Escuela: E.T.S.I. Industriales (UPM)
Departamento: Ingeniería de Organización, Administración de Empresas y Estadística
Licencias Creative Commons: Reconocimiento - Sin obra derivada - No comercial

Texto completo

[img]
Vista Previa
PDF (Document Portable Format) - Se necesita un visor de ficheros PDF, como GSview, Xpdf o Adobe Acrobat Reader
Descargar (2MB) | Vista Previa

Resumen

El objetivo de este proyecto es el análisis, desarrollo y evaluación de un sistema de clasificación de polaridad sobre un producto determinado a través del contenido generado en Twitter en español. En primer lugar, se ha estudiado la situación actual en el campo del análisis sentimental (AS) y los avances más notables en esta área perteneciente al procesamiento del lenguaje natural. En segundo lugar, una vez estudiado el estado del arte, se pasará a desarrollar el código que implementaremos para realizar el análisis semántico de los tweets que se recibirán masivamente a través de la API de Twitter. En tercer lugar, se probarán los clasificadores construidos con dos conjuntos de tweets de distinta procedencia para decidir que clasificador es el más eficiente. Y finalmente, sacaremos las conclusiones del clasificador elegido para posteriormente estudiar las posibles líneas futuras de su mejora en precisión. El AS o más conocido hoy en día como Opinion Mining es actualmente uno de los campos más prometedores en el mundo del Machine Learning pues su utilidad es indiscutible en el mundo digital. No obstante nos encontramos con un campo muy complejo de estudio pues la compresión de las máquinas no siempre es capaz de entender la situación y el contexto del documento en cuestión. Son numerosos los retos que se encuentran en esta apasionante área. El lenguaje no es algo matemático y es altamente maleable lo que causa que en muchas ocasiones pueda llegar a ser ambiguo e impreciso. El uso de las metáforas, la ironía o el sarcasmo son difíciles de detectar por los ordenadores lo que provoca que los clasificadores no siempre acierten en sus predicciones. Aunque existen muchos estudios dentro del procesamiento natural del lenguaje (PNL) multitud de algoritmos y corpus accesibles online lamentablemente la gran mayoría se encuentran en lengua inglesa por lo que la realización en castellano ha supuesto un obstáculo desde el principio del trabajo. El AS es sin duda uno de los campos más prometedores en la actualidad pues el alcance y las posibilidades de esta tecnología son infinitos. Con el crecimiento de internet generando año tras año un aumento de los dispositivos conectados y la democratización del acceso a él, el AS jugará próximamente un papel fundamental si no lo juega ya en la tecnología del futuro. Su utilidad es indiscutible. Automatizar los procesos de obtención de opinión sobre productos reduciría considerablemente los tiempos de investigación y análisis tras la implantación en el mercado. Asimismo, las empresas podrían conocer su reputación en la red u obtener feedback de los clientes con lo que se adaptarían más rápido a los cambios y sacarían productos mejores y en menor tiempo reduciendo los ciclos de vida de los productos. Por otro lado, los clientes podrían consultar la opinión que tiene un producto simplemente utilizando el clasificador a través de un portal web para decidir si comprarlo o no. Algo parecido al sistema de valoraciones de Amazon pero a través de Twitter. Evidentemente, el control de la veracidad de las opiniones sería un obstáculo que habría que solventar. De lo que no cabe duda es que la aplicabilidad de este campo es inmensa y con el tiempo tendrá un papel dominante en el mundo del comercio electrónico entre otros muchos sectores. El pre-procesamiento de las expresiones de los corpus para obtener un contenido lo más limpio posible es una tarea esencial. Para ello se seguirá un método exhaustivo de limpieza y se aplicará también tanto "lemmatization" como "Stemming" para evaluar que método nos ofrece mejores resultados. Para cada caso de uso se han documentado los resultados obtenidos y las exactitudes del clasificador con el objetivo de obtener el modelo más optimizado posible. Como ya se ha comentado, los clasificadores que se usarán son Naive Bayes y Máxima Entropía para posteriormente estudiar la conveniencia de cada uno en el análisis de la polaridad. La ejecución del código se ha dividido en tres partes bien diferenciadas. Primeramente se realizará el análisis gramatical de los dos corpus (COST y TASS) donde se usará la librería PANDAS para facilitar la obtención de los datos. Principalmente se usarán los campos "Texto" y "Polaridad"de los corpus. Posteriormente se ejecutará la implementación de los datos adquiridos en el clasificador realizando distintos tipos de limpieza de expresiones para conseguir insertar la entrada más óptima posible al clasificador. Para finalmente, aplicar la librería Tweepy que conectará nuestro sistema con la API de Twitter STREAMING para descargar masivamente los tweets. Para no saturar la red, se establecerá un máximo de 100 tweets por request. La metodología a seguir se ha obtenido del libro oficial Natural Language Processing. NLTK. (Steven Bird, Ewan Klein, 2009). .- Durante el entrenamiento, el extractor de características/rasgos es usado para convertir cada entrada en un vector de características/rasgos. Este vector de características junto con las etiquetas se ingresarán en el algoritmo para obtener el modelo predictivo. .- Durante la predicción, el mismo extractor de características se usa para convertir los tweets en un vector de rasgos/características. Este vector de características es alimentado al modelo para obtener la clase. Una vez se ha implementado el código y se han realizado las mejoras pertinentes para obtener la máxima precisión se llega a la conclusión de que el mejor clasificador posible es Naive Bayes junto con el método de Stemming alcanzando exactitudes del 70% y sin eliminar las stopwords. Aunque intuitivamente se pensara que eliminando las stopwords, la precisión mejoraría, lo cierto es que ha sucedido justo al contrario. La brevedad de los tweets, recordemos que son menos de 140 caracteres, implica que las stopwords apenas afecten a la precisión de los clasificadores. Además como ya intuíamos la diferencia entre realizar Stemming o lemmatización no iba a ser sustancial aunque ligeramente el Stemming aumenta levemente la exactitud del algoritmo. Los programas y métodos de comunicación que se han utilizado a lo largo del proyecto son los siguientes: • Python 2: aplicación de la librería Pattern2-6 para poder realizar la lematización de las palabras y conseguir mayor precisión. • Python 3: • Sublime: Es un completo entorno de desarrollo integrado (IDE) que permite a los desarrolladores crear aplicaciones en distintos lenguajes de programación. • SQLite: es un sistema de gestión de bases de datos relacional que se usará para guardar los tweets y visualizarlos tanto en local como en un servidor externo.

Más información

ID de Registro: 47610
Identificador DC: http://oa.upm.es/47610/
Identificador OAI: oai:oa.upm.es:47610
Depositado por: Biblioteca ETSI Industriales
Depositado el: 30 Ago 2017 08:50
Ultima Modificación: 30 Ago 2017 08:50
  • Open Access
  • Open Access
  • Sherpa-Romeo
    Compruebe si la revista anglosajona en la que ha publicado un artículo permite también su publicación en abierto.
  • Dulcinea
    Compruebe si la revista española en la que ha publicado un artículo permite también su publicación en abierto.
  • Recolecta
  • e-ciencia
  • Observatorio I+D+i UPM
  • OpenCourseWare UPM