Sentiment Analysis. Proyecto.

Author: Jesús Cid Sueiro

Date: 2016/04/18

Proyecto propuesto: clasificación de críticas cinematográficas.

Contenido

El objetivo del proyecto consiste en desarrollar un clasificador de textos positivos y negativos para el movie_reviews dataset disponible en NLTK.

El trabajo mínimo consistirá en desarrollar un Notebook que complete los siguientes pasos:

  1. Carga del conjunto de datos.
  2. Preprocesado de textos y extracción de características.
  3. Ajuste y evaluación de un clasificador automático que utilice alguna técnica de análisis de sentimiento.

Se valorarán:

  • La implementación en pyspark y MLlib.
  • El uso de corpora y técnicas de análisis de sentimientos
  • El rigor metodológico en el tratamiento de los datos, el diseño experimental y la evaluación de las prestaciones del clasificador.

Todos estos aspectos son mucho más relevantes que los resultados finales de clasificación.

El proyecto debe tener un carácter exploratorio. A partir del trabajo mínimo, realice una extensión, de tema libre. Por ejemplo, puede

  • Comparar las prestaciones de un clasificador basado en modelos de bolsas y aprendizaje automático con un clasificador basado en la polaridad de los términos.
  • Evaluar las ventajas de combinar la polaridad con las técnicas de clasificación automática.
  • Explorar los términos más relevantes para determinar la polaridad de una crítica.
  • Explorar diferentes algoritmos de clasificación automática.
  • Explorar el uso de tokens no alfanuméricos (hastags, emoticonos, html tags)
  • Cualquier otra idea que se le ocurra. Enfoques originales se valorarán positivamente.

Comentarios adicionales.

  1. El notebook debe completar todos los pasos del proceso, de tal modo que el profesor pueda completar la ejecución del código sin más requisitos que (posiblemente) cargar cualesquiera corpus de datos en nltk o instalar las librerías de python que fueran necesarias. Los errores de ejecución o la imposibilidad de ejecutrar el trabajo entregado afectarán significativamente a la calificación.
  2. El alumno puede utilizar todo el material que considere relevante para el propósito del trabajo: se puede tomar código disponible en internet, o incluso compartir código con otros compañeros, con el único requisito imprescindible de hacer reconocimiento de autorías: el notebook debe hacer mención expresa y precisa de todas las fuentes de información utilizadas. En particular, cualquier fragmento de código tomado de otra fuente debe delimitarse (con marcas de inicio y fin) y etiquetarse con el comentario adecuado ("Este código está tomado de...", o "Este código es una adaptación de...", etc). Cualquier omisión en el reconocimiento de autorías supondrá una penalización severa en la calificación del trabajo.
  3. El alumno perseguirá obtener un clasificador con buenas prestaciones, pero en todo caso el rendimiento del clasificador no será un aspecto crítico en la evaluación.

Criterio de evaluación

El proyecto se evaluará de acuerdo con los criterios siguientes:

  • Claridad (1.5 ptos):
    • Claridad de la exposición, corrección ortográfica, claridad y precisión en el reconocimiento de autorias, uso de referencias, etc.
  • Presentación de resultados (1.5 ptos)
    • Síntesis de resultados más relevantes, visualización gráfica.
  • Metodología (2 ptos)
    • Justificación de las decisiones tomadas, tratamiento adecuado de los datos, rigor metodológico, uso de Spark, etc.
  • Amplitud del trabajo (2 ptos)
    • Extensión del trabajo realizado, exploración de alternativas
  • Calidad de los resultados (1.5 ptos)
    • Prestaciones del clasificador, valoración de los resultados.
  • Calidad del código (1.5 ptos)
    • Eficiencia del código, estructura, denominación de variables y métodos, comentarios, ejecución, eficiencia en el uso de RDD's, etc

Entrega:

El alumno entregará una carpeta con el notebook y todos aquellos ficheros adicionales que sean necesarios para la ejecución del software. No es necesario adjuntar el dataset ni los paquetes que se descarguen de nltk, aunque debe indicarse en el notebook qué paquetes deben descargarse mediante nltk.download() para completar la ejecución.

La fecha límite de entrega del trabajo es el VIERNES, 27 de MAYO. El trabajo podrá entregarse a través de la unidad L: en el aula, durante la sesión de clase de la asignatura del día 27, o bien por e-mail a

jesus.cid@live.u-tad.com.