¿Cómo funciona Delta TF-IDF?

Es importante mencionar primero que Delta TFIDF es una característica de recuperación que generalmente se asocia con la tarea de clasificación de texto, cuando los documentos pertenecen a dos más de una clase.

Imagine 4 documentos con su anotación entre corchetes
Creo que este teléfono es bueno . [POS]
Creo que este teléfono es malo . [NEG]
Este es un buen teléfono. [POS]
Tiene una muy mala experiencia de usuario [NEG]

Ahora calculemos el TFIDF tradicional para el primer documento para los términos “bueno”, “pensar”.
Las dos palabras tienen frecuencia de término de valor 1 y frecuencia de documento de valor 2 (ambas aparecieron en dos documentos solamente). esto muestra que todas las palabras “bueno” y “pensar” terminarán teniendo el mismo puntaje TFIDF para el primer documento.
Lo mismo sucede con el tercer documento si compara el puntaje TFIDF “pensar” y “malo”.

Aunque es obvio que los términos “bueno” y “malo” se repiten solo en una clase de documentos, mientras que “pensar” se repite en ambos, en términos de sentimiento transmitido por los términos “bueno” y “malo” debería tener más puntaje que “pensar”
Además, sucede que podría haber un caso en el que “bueno” y “malo” se repiten dentro de un mismo documento, por lo que en este caso también deberían tener puntajes diferentes.

El problema aquí es que TFIDF no logra diferenciar los términos desde la perspectiva de los sentimientos transmitidos, ya que no utiliza ningún documento anotado.

Entonces, para superar este problema, se propuso Delta TFIDF:
Delta TFIDF = TFIDF_POS – TFIDF_NEG

Para cada documento en el corpus anotado:

  1. dividir el corpus anotado en los subconjuntos POS y NEG que contienen cuerpos anotados positivos y negativos
  2. Trate cada término únicamente, calcule su valor TFIDF para este término en el corpus positivo y negativo
  3. el TF será el mismo para ambos (la repetición del término dentro de este documento) mientras que el IDF cambiará dependiendo de los valores del IDF usando los cuerpos positivo y negativo.
  4. el valor Delta TFIDF para cada término es igual a la diferencia entre su puntaje TFIDF en los corpus positivo y negativo

al hacerlo:

para el primer documento:

  • TFIDF_POS> TFIDF_NEG para el término “Bueno”
  • TFIDF_NEG = TFIDF_POS para el término “pensar”

Por lo tanto, los diferentes puntajes Delta TFIDF para los términos “bueno” y “pensar” son iguales para el documento 3

para los casos en que los términos “Bueno” y “Malo” aparecen en el mismo documento, el delta-tfidf puede capturar la fuerza del sentimiento transmitido por cada término. Entonces, por ejemplo, los términos positivos subjetivos altos tendrán un puntaje positivo alto y, por otro lado, los términos con un sentimiento negativo bajo tendrán valores inferiores de
Delta-TFIDF

Algunos inconvenientes de Delta-TFIDF:

  1. Debe tener un corpus anotado (no aplicable a métodos no supervisados)
  2. La fórmula en el documento solo se desarrolló para el problema de clasificación de dos clases (aunque es fácil generalizarla utilizando la metodología de uno contra todos)
  3. Confiar en la frecuencia de término para documentos cortos (como tweets) es obsoleto, ya que es muy raro tener repeticiones dentro del contexto de un ejemplo.

aquí puede encontrar la implementación del vectorizador Scikit-learn para TFIDF
https://github.com/hadyelsahar/l…

y este documento compara Delta-TFIDF con otros métodos de creación de características para la tarea de clasificación de sentimientos.
https://www.dropbox.com/s/993lf5…