2010-11-16 20 views
25

Mi requisito es recibir artículos de noticias y determinar si son positivos o negativos sobre un tema. Estoy tomando el enfoque descrito a continuación, pero sigo leyendo NLP puede ser de utilidad aquí. Todo lo que he leído apunta a que la PNL detecta la opinión de los hechos, lo cual no creo que importe mucho en mi caso. Me pregunto dos cosas:Mejor enfoque algorítmico para análisis de opinión

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

2) ¿Cómo podría ayudar NLP, por qué debería usarlo?

Mi enfoque algorítmico (tengo los diccionarios de, y palabras de negación negativos positivos):

1) Contar el 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 el mejor) niegan el puntaje.

3) Multiplique las puntuaciones por los pesos que se han asignado manualmente a cada palabra. (1.0 para comenzar)

4) Sume los totales de positivo y negativo para obtener el puntaje de opinión.

+0

El análisis del sentimiento es, por definición, una forma de PNL; estás procesando texto en lenguaje natural. La única forma de saber exactamente qué tan bien funcionará su enfoque es intentarlo. Convenientemente, eso también le dirá si funciona lo suficientemente bien para su propósito, que en realidad es la parte que importa. –

+1

Consulte esta pregunta y sus respuestas para un algoritmo sencillo que funciona bien en la práctica: http://stackoverflow.com/questions/3920759/unentrenamiento-entrenamiento –

+3

Mi algoritmo es el mejor algoritmo. Porque soy un estudiante de posgrado haciendo investigación en el análisis de sentimientos, y tengo un gran ego *:) * –

Respuesta

32

No creo que haya nada particularmente malo con su algoritmo, que es una forma bastante sencillo y práctico para ir, pero hay una gran cantidad de situaciones en las que conseguirá cometer errores.

  1. palabras ambiguas sentimiento - "Este producto funciona terriblemente" frente a "Este producto es terriblemente bueno"

  2. negaciones perdidas - "Yo nunca en un millones años decir que este producto vale la pena comprar"

  3. Citado/texto indirecta - 'Mi padre 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 aburrido, pero es el único en el mercado que hace el trabajo"

estoy usando comentario para ejemplos en lugar de las noticias, pero se entiende la idea. De hecho, los artículos de noticias son probablemente más difíciles porque a menudo intentan mostrar ambos lados de una discusión y tienden a usar un cierto estilo para transmitir un punto. El ejemplo final es bastante común en los artículos de opinión, por ejemplo.

En cuanto a la PNL que le ayuda con nada de esto, word sense disambiguation (o incluso sólo part-of-speech tagging) puede ayudar con (1), syntactic parsing podría ayudar con las dependencias de largo alcance en (2), una especie de chunking podría ayudar con (3). Aunque es todo un 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, tiro las manos y renuncio en este punto.

Me quedaré con el enfoque que tiene y mire la salida cuidadosamente para ver si está haciendo lo que quiere. Por supuesto, eso plantea la cuestión de lo que quiere que comprenda la definición de "sentimiento" que debe estar en primer lugar ...

+3

Según mi cálculo aproximado (basado en 20 documentos de un corpus de texto obstinado en el que estoy trabajando para hacer anotaciones), aproximadamente el 3% de las opiniones positivas/negativas son comparativas, por lo que # 4 probablemente no sea tan importante. Las dependencias de largo alcance son un gran problema, por lo que el análisis sintáctico es una buena idea, aunque la cantidad de patrones diferentes que conectan las características del producto con sus opiniones es * enorme *. –

+0

gran nombre y una respuesta maravillosa –

-1

¿Por qué no intentas algo similar a cómo funciona el filtro de correo no deseado SpamAsassin? Realmente no hay mucha diferencia entre la minería intensional y la minería de opiniones.

+2

-1. Hay mucha diferencia en la práctica. La opinión minera es mucho más difícil que la detección de spam. –

5

mi ejemplo favorito es "acaba de leer el libro". no contiene una palabra de opinión explícita y depende en gran medida del contexto. Si aparece en una reseña cinematográfica, significa que la película chupa es un desperdicio de su tiempo, pero el libro es bueno. Sin embargo, si está en una reseña de un libro, genera un sentimiento positivo.

Y qué tal - "este es el teléfono móvil más pequeño del mercado". allá en el '90, fue un gran elogio. Hoy puede indicar que es demasiado pequeño.

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

+0

El análisis del sentimiento no es una lámpara mágica.No está destinado a proporcionar información basada en una sola instancia aislada. Un humano ni siquiera podría proporcionar resultados útiles basados ​​en una sola instancia sin contexto de las oraciones que usted da. Esta es la razón por la que debe tomarse en conjunto, en un escenario de interés, con decenas/cientos/miles de enunciados analizados para tener una idea del sentimiento (o flujo de sentimiento) sobre un tema (a lo largo del tiempo). –

+0

Cris - sí y no. Tiene razón para algunas aplicaciones prácticas (dependiendo del error mensurable y cuantificable en el dominio de interés) pero creo que los investigadores de PNL/CL también están interesados ​​en el significado semántico de una instancia específica (oración sin contexto). Los humanos son bastante buenos en eso en la mayoría de los casos. Aún mucho mejor que los algoritmos de vanguardia. – ScienceFriction

2

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

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

+0

El enlace original fue roto para mí, pero creo que encontré el documento que querías señalar, así que lo edité en tu publicación. – syb0rg

2

Puede encontrar el sistema OpinionFinder y los documentos que lo describen útiles. 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 trate de encontrar opiniones individuales en el nivel de la oración.

+0

Nice first answer. – thomasfedb

2

Creo que la mejor respuesta a todas las preguntas que usted ha mencionado es leer el libro bajo el título de "Sentiment Analysis y la minería opinión" por el profesor Liu Bing . Este libro es el mejor en el campo del análisis de sentimientos. es asombroso. ¡Simplemente échale un vistazo y encontrarás la respuesta a todas tus preguntas sobre "por qué" y "cómo"!

Cuestiones relacionadas