GithubHelp home page GithubHelp logo

tm-socialmedia's Introduction

tm-socialmedia

Codacy Badge

Predicción de género en Twitter. Máster en Big Data, asignatura Text Mining en Social Media

Abstract

Esta tarea ha sido centrada en el estudio y modelado del género de los autores en Twitter. Haciendo uso de una extensa colección de tweets, se han extraído un conjunto de características diferenciadoras del género: emojis, preposiciones, palabras usadas, media de palabras por tweet...

Con Python como lenguaje, y haciendo uso de diferentes técnicas, algunas de ellas avanzadas (Machine Learning), el objetivo ha sido predecir en base a un tweet el género de la persona que lo escribe, con el mayor acierto posible.

Uno de los principales retos encontrados ha sido la mala escritura presente en general en las redes sociales, y más concretamente, en Twitter. Las faltas gramaticales, las repeticiones de caracteres, faltas de signos de puntuación, etc, han ocasionado numerosos problemas a la hora de realizar el procesamiento del texto y la extracción de las características buscadas.

Las predicciones se han realizado con modelos de Machine Learning, realizando un ajuste de los parámetros de control en busca de un mejor resultado. Entre los modelos usados para evaluar encontramos los siguientes: SVM (Super Vector Machine), Árboles de Decisión, Random Forest y Redes Neuronales.

Ejecución

Dentro de la carpeta pan-ap17-bigdata, se pueden encontrar el código fuente y los dataset necesarios. Esta será la ruta que debamos marcar como el directorio activo (si lo ejecutas desde un IDE como Spyder)

Los tweets en formato XML que se usan para entrenar y predecir los modelos se encuentran en las carpetas training y test, respectivamente. Es necesario descomprimir los RAR incluidos en ambas carpetas para tener los XML sueltos.

Fase 1: Procesado. Para el procesamiento de los datos, se debe ejecutar el archivo Test1.py. Al acabar ese archivo, se genera un txt denominado lista_modelo.txt que será la entrada utilizada en la Fase 2.

Fase 2: Entrenamiento. Para el entrenamiento de los datos, se debe ejecutar el archivo Test2.py. Utilizando el archivo resultante de la Fase 1, entrenará los modelos y nos facilitará unos porcentajes de acierto (en base a datos de entrenamiento).

Conclusiones y trabajo futuro

A lo largo de esta tarea se ha abordado el problema de la predicción del género en Twitter. No obstante, por limitaciones de tiempo, no se ha podido abordar el problema en su totalidad. Entre las tareas que se quedan pendientes para una futura iteración se encuentran:

  • Aplicar los modelos entrenados a los datos de testing.
  • Mejorar el procesamiento de los tweets, eliminando signos de puntuación, caracteres repetidos... Se han escapado algunos.
  • Utilizar un análisis sintáctico de los tweets para detectar los adjetivos y su género, en lugar de una lista limitada y una separación en función a la terminación de los mismos.
  • Probar más modelos, buscando una mejor aproximación, más rápida.
  • Implementar un TF-IDF en lugar de un simple TF en la creación de las bolsas de palabras más repetidas en cada género. Creemos que puede marcar una gran diferencia.
  • Abordar el problema de la identificación de la variedad del lenguaje. Al margen de los mismas características ya empleadas, creemos que el uso de los dominios de las webs acortadas en los enlaces puede ser realmente interesante, aunque potencialmente costoso en tiempo.

Finalmente, se está en general muy satisfecho con los resultados obtenidos, superiores al 70%. Y se cree que aún hay margen de mejora.

tm-socialmedia's People

Contributors

davix16 avatar codacy-badger avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.