¿Cómo identificar el sarcasmo en un texto?

El patrón es generalmente:

Dado algún objeto O,

  • En el intervalo de tiempo Tx: el objeto O está vinculado con la característica A (este es el contexto)
  • En el paso de tiempo Tx + n: el objeto O está vinculado con la característica B
  • A y B son opuestos (polos opuestos o mutuamente excluyentes, a menudo antónimos, etc.)
  • Un general tiene un sentimiento negativo. B generalmente tiene un sentimiento positivo.

Ejemplos:
1. ‘John es gordo … Joes dice’ John seguro es delgado ”

2. ‘Un gato tonto intenta entrar por la puerta. Bueno, ¿no es un gato inteligente?

3. ‘Alguien hizo un gran lío. Sí, voy a limpiar este desastre ‘.

Heurística de detección : se puede usar una heurística que busca un cambio en las características mutuamente exclusivas asociadas con algún objeto dado un cierto contexto y la declaración potencialmente sarcástica para un par de pasos de tiempo. Un cambio de sentimiento positivo a negativo suele ser más indicativo de sarcasmo. Para vincular características a objetos, podemos usar una serie de algoritmos de extracción de relaciones de entidad, que involucran cosas como la resolución de referencia.

Esta no es una tarea fácil, necesitamos una lista de todos los estados mutuamente excluyentes de los cuales algunos no son evidentes. Cosas como (‘gordo’, ‘delgado’) son obvias y se ha trabajado para detectar automáticamente tales antónimos, pero algo como (‘alguien más hace un desastre’, ‘Limpio el desastre’) no es tan fácil para una computadora detectar.

* En realidad podemos usar grandes conjuntos de declaraciones sarcásticas y no sarcásticas para identificar antónimos y pares de características mutuamente excluyentes.

Modelado automatizado al entrenar a un clasificador utilizando diferentes partes de declaraciones sarcásticas y no sarcásticas, junto con listas de pares de características opuestas (utilizando redes neuronales, árboles de decisión, etc.):

Solo voy a dejar una foto. Tenga en cuenta , ESTO NO ES COMO LO HARÍA . Lo ideal sería que no ingreses las palabras de nivel de superficie en sí mismas, sino los vectores de asociación que representan sus significados de niveles más profundos, el sistema de aprendizaje profundo aprenderá qué n-gramos se oponen, así como su sentimiento y otras cosas. Habría más niveles. Pero representa una forma de comenzar a pensar sobre el problema y podría funcionar en el modelado de sarcasmo basado en antónimos de nivel de superficie.

Una entrada sarcástica:

Nosotros, en ParallelDots, hemos desarrollado un algoritmo de reconocimiento de emociones a partir del contenido generado por el usuario (tweets, reseñas de productos, comentarios, etc.) que también puede detectar el sarcasmo.

Puede probar la demostración aquí y ver si funciona para su caso de uso.