what sentimientos sentiment polaridad emociones analisis nlp sentiment-analysis

nlp - sentimientos - El mejor enfoque algorítmico para el análisis del sentimiento



analisis de polaridad (6)

Mi requerimiento es tomar artículos de noticias y determinar si son positivos o negativos sobre un tema. Estoy adoptando el enfoque que se describe a continuación, pero sigo leyendo que la PNL puede ser útil aquí. Todo lo que he leído ha señalado que la PNL detectó una opinión de hecho, lo que no creo que importe mucho en mi caso. Me estoy preguntando dos cosas:

1) ¿Por qué no funciona mi algoritmo y / o cómo puedo mejorarlo? (Sé que el sarcasmo probablemente sería un escollo, pero una vez más no veo que ocurra mucho en el tipo de noticias que recibiremos)

2) ¿Cómo ayudaría la PNL, por qué debería usarla?

Mi enfoque algorítmico (tengo diccionarios de palabras positivas, negativas y de negación):

1) Número de palabras positivas y negativas en el artículo.

2) Si se encuentra una palabra de negación con 2 o 3 palabras de la palabra positiva o negativa, (es decir, NO es la mejor), anule la puntuación.

3) Multiplique los puntajes por pesos que se han asignado manualmente a cada palabra. (1.0 para empezar)

4) Sume los totales de positivo y negativo para obtener la puntuación del sentimiento.


¿Por qué no intentas algo similar a cómo SpamAsassin filtro de spam SpamAsassin ? Realmente no hay mucha diferencia entre la minería intension y la minería de opinión.


Creo que la mejor respuesta a todas las preguntas que mencionaste es leer el libro bajo el título "Análisis de sentimiento y minería de opinión" por el profesor Bing Liu . Este libro es lo mejor de sí mismo en el campo del análisis de sentimientos. es asombroso. Solo eche un vistazo y encontrará la respuesta a todas sus preguntas sobre "por qué" y "cómo".


Las técnicas de aprendizaje automático son probablemente mejores.

Whitelaw, Garg y Argamon tienen una técnica que logra el 92% de precisión, utilizando una técnica similar a la suya para tratar la negación, y admiten máquinas de vectores para la clasificación de texto.


Mi ejemplo favorito es "solo lee el libro". no contiene una palabra de sentimiento explícita y es altamente dependiendo del contexto. Si aparece en una reseña de una película, significa que la película apesta, es una pérdida de tiempo, pero el libro es bueno. Sin embargo, si se encuentra en una reseña de un libro, ofrece un sentimiento positivo.

Y qué hay de "este es el teléfono [móvil] más pequeño del mercado". De vuelta en el ''90, fue un gran elogio. Hoy puede indicar que es demasiado pequeño.

Creo que este es el lugar para comenzar para obtener la complejidad del análisis de sentimientos: http://www.cs.cornell.edu/home/llee/opinion-mining-sentiment-analysis-survey.html (por Lillian Lee de Cornell).


No creo que haya nada particularmente incorrecto con su algoritmo, es una forma bastante directa y práctica de hacerlo, pero hay muchas situaciones en las que puede cometer errores.

  1. Palabras de sentimiento ambiguas : "Este producto funciona terriblemente" vs. "Este producto es terriblemente bueno"

  2. Negaciones perdidas : "Nunca en un millón de años diría que vale la pena comprar este producto"

  3. Texto citado / indirecto : "Mi papá dice que este producto es terrible, pero no estoy de acuerdo"

  4. Comparaciones - "Este producto es tan útil como un agujero en la cabeza"

  5. Cualquier cosa sutil : "Este producto es feo, lento y poco inspirador, pero es lo único en el mercado que hace el trabajo"

Estoy usando reseñas de productos para ejemplos en lugar de noticias, pero entiendes la idea. De hecho, los artículos de noticias son probablemente más difíciles porque a menudo intentarán mostrar ambos lados de un argumento y tenderán a usar un cierto estilo para expresar un punto. El ejemplo final es bastante común en artículos de opinión, por ejemplo.

En la medida en que la PNL lo ayuda con algo de esto, la desambiguación del sentido de las palabras (o incluso el etiquetado de parte del discurso ) puede ayudar con (1), el análisis sintáctico puede ayudar con las dependencias de largo alcance en (2), algún tipo de chunking podría ayudar con (3). Sin embargo, todo es trabajo de nivel de investigación, no hay nada que yo sepa que puedas usar directamente. Los problemas (4) y (5) son mucho más difíciles, levanto las manos y me rindo en este punto.

Me quedaría con el enfoque que tiene y observo la salida cuidadosamente para ver si está haciendo lo que quiere. Por supuesto que luego plantea el problema de lo que quiere que entienda la definición de "sentimiento" para estar en primer lugar ...


Puede encontrar útil el sistema OpinionFinder y los documentos que lo describen. Está disponible en http://www.cs.pitt.edu/mpqa/ con otros recursos para el análisis de opinión.

Va más allá de la clasificación de polaridad en el nivel del documento, pero trata de encontrar opiniones individuales en el nivel de la oración.