Detección de sarcasmo

Nahuel Seiler

propuesta: Pablo Torres

Una de las grandes áreas de la inteligencia artificial es el procesamiento del lenguaje natural (PLN) que básicamente tiene el fin de lograr que las computadoras entiendan el lenguaje humano. Antes de la aparición de los algoritmos de aprendizaje automático los algoritmos de PLN estaban basados en conjuntos de reglas creadas a mano por lingüistas, luego con el auge de los algoritmos de aprendizaje se empezaron a desarrollar modelos estadísticos para sustituir en parte ese proceso manual.

Dentro del área de PLN existe un subárea llamada “análisis de sentimientos” (sentiment analysis, opinion mining) que tiene el objetivo de predecir el sentimiento de una opinión, es decir el carácter positivo, negativo o neutro de una frase del lenguaje natural con respecto a un target concreto, por ejemplo un producto, un restaurante, un hotel, un candidato político, un tema social, etc., incluso poder detectar sentimientos como tristeza, enojo, alegría. Concretamente supongamos que queremos sondear la opinión sobre algún candidato político, podríamos analizar comentarios de Twitter que nos permitan inferir la imagen sobre dicho candidato. Otro ejemplo son las reviews de productos de Amazon, las cuales asignan un score de estrellas representando la calidad del producto.

En este punto, al intentar predecir el carácter subjetivo de una opinión surge un problema que es desafiante y difícil dentro del área: el sarcasmo.

Muchas veces en un diálogo entre humanos el sarcasmo es difícil de detectar, imaginemos entonces extender estas complicaciones a los modelos de predicción que usábamos para predecir el sentimiento de una opinión sobre un producto, ante un sarcasmo ese modelo nos dará una predicción incorrecta por lo general. Si la opinión por ejemplo de una computadora moderna que se vende en Amazon es “muy útil para jugar al tetris” lo más probable es que el emisor haya querido expresar que la computadora es lenta y que no le sirve para realizar tareas más complejas que jugar al tetris, pero si nosotros usamos el modelo que teníamos antes posiblemente nos califique al producto con 4 o 5 estrellas, dada la aparición de las palabras “muy útil”. En este punto comienza el desafío de generar modelos predictivos que puedan detectar el sarcasmo, los cuales serían capaces de asignar al producto del ejemplo anterior 1 o 2 estrellas, coincidiendo con la opinión que realmente quiso dar el usuario del producto más allá de la sintaxis escrita.

Este tema es interesante porque...

plantea muchos desafíos dentro del área de PLN además de involucrar una conjunción de áreas de conocimiento, el sarcasmo depende muchas veces de la construcción cultural e idiomática por lo cual tenemos que prestar especial atención al dataset que estamos analizando y con el cual entrenaremos nuestro modelo. Es evidente que si entrenamos nuestro modelo para detectar sarcasmo en inglés, dicho modelo no servirá para detectar sarcasmo en español.

Como mencionamos antes los modelos de detección de sarcasmo pueden utilizarse para evaluar calidad de productos, opiniones sobre algún tema de debate social y en general potenciarán todo modelo que esté destinado al análisis de sentimientos.


Objetivo general

Obtener un modelo de predicción de sarcasmo para opiniones en idioma inglés


Objetivos específicos

Realizar un buen análisis de los datos, entender qué estamos procesando y realizar una curación adecuada de los mismos.

Obtener clusters de palabras para identificar posibles “grupos” o “tipos” de sarcasmo.

Analizar modelos existentes de predicción de sarcasmo.

Comparar el accuracy entre algunos modelos existentes y el que generemos.


Los datos

Si querés inspeccionar el conjunto de datos, lo encontrarás en: https://github.com/nahuelseiler/diplodatos2020-deteccion_sarcasmo


Hitos de la mentoría

22/6 práctico de análisis y visualización

19/7 práctico de análisis y visualización

16/8 práctico de introducción al aprendizaje automático

13/9 práctico de aprendizaje supervisado

27/9 práctico de aprendizaje no supervisado

6/11/2020 – 7/11/2020 presentación de mentorías