jueves, 16 de octubre de 2014

Análisis de Sentimientos: Otras tareas relacionadas

¿Cómo detectar más de un sentimiento en la misma frase?


¿Qué sucede cuando tenemos frases como la siguiente?
  • ¡La comida era excelente pero el servicio pésimo!

Minqing Hu y Bing Liu en [1] idearon un método para lidiar con este tipo de sentencias basados en dos conceptos simples:
  1. Frecuencia
  2. Reglas
1. Buscaron todas las frases frecuentes en las críticas de un lugar dado, por ejemplo para un mismo restaurante encontraron que se repetía muchas veces la frase: "tacos de pescado". A este tipo de frases las llamaron aspectos, atributos o bien "objetos de sentimiento" ya que representan el objeto al cual se está criticando. 
2. Filtraron todas esas frases frecuentes con algunas reglas como: "ocurre después de una palabra que indica sentimientos", ejemplo: "geniales tacos de pescado!" => indica que "tacos de pescado" es muy probablemente un aspecto.
Utilizando este método encontraron, para críticas sobre los siguientes sitios, los siguientes aspectos:

Sitio Aspectos
Casino casino,buffet, piscina, resort, camas
Peluquería infantil                corte, trabajo, experiencia, niños
Restaurante Griego comida, vino, servicio, aperitivos, cordero     
Grandes tiendas selecciones, departamentos, ventas, negocios, ropa   

Por supuesto en ingles, acá mostramos una versión traducida.

Algunas consideraciones sobre este método:


  • El aspecto puede no ser mencionado en una sentencia
  • Para hoteles/restaurantes los aspectos son generalmente conocidos y fáciles de identificar
  • Es posible utilizar una clasificación supervisada:
    • Para pequeños corpus, se puede utilizar una clasificación manual de aspectos:
      • comida, decoración, servicio, precio, NADA (puede no haber un aspecto en una sentencia)
    • Y luego entrenar un clasificador:
      • dada una sentencia, tiene alguno de estos aspectos: "comida, decoración, servicio, precio, NADA"


En el paper [2] se realizó un trabajo para poder resumir una gran cantidad de críticas en aspectos y una ponderación para cada uno de ellos, este proceso consta de los siguientes pasos:


  1. Extraer el texto de las diferentes críticas y obtener las sentencias que interesa analizar.
  2. Hacer análisis de sentimientos de esas sentencias para obtener su polaridad como ya se vio.
  3. Extraer los aspectos mencionados en cada una de esas sentencias.
  4. Sumar y promediar la polaridad de las críticas y asignar ese valor a cada aspecto encontrado.


Finalmente les quedó algo así:


Consideraciones finales:


  • Si la cantidad de críticas no está balanceada (entre positivas y negativas o entre los rangos elegidos)
    • No se puede utilizar el estimador: precisión
    • Hay que utilizar F-Score visto anteriormente
  • Si el desbalanceo es muy pronunciado se puede degradar severamente el rendimiento del clasificador
  • Dos soluciones comunes:
    • tomar un muestreo parejo, escogido al azar, para la etapa de entrenamiento
    • penalizar más severamente al clasificador por un error al categorizar la clase más rara.



Referencias:

[1]     HU, Minqing; LIU, Bing. Mining and summarizing customer reviews. EnProceedings of the tenth ACM SIGKDD international conference on Knowledge discovery and data mining. ACM, 2004. p. 168-177.

[2]    BLAIR-GOLDENSOHN, Sasha, et al. Building a sentiment summarizer for local service reviews. En WWW Workshop on NLP in the Information Explosion Era. 2008. p. 14.

No hay comentarios:

Publicar un comentario