2012-06-11 21 views
5

Probé el clasificador de bayes naive y está funcionando muy mal. SVM funciona un poco mejor, pero sigue siendo horrible. La mayoría de los artículos que he leído sobre SVM y naive bayes con algunas variaciones (n-gram, POS, etc.) pero todos dan resultados cercanos al 50% (los autores de artículos hablan de un 80% y alto pero no puedo obtener la misma precisión en datos reales).Buen algoritmo para análisis de sentimiento

¿Hay alguna métodos más potentes excepto analys lexixal? SVM y Bayes suponen que las palabras independet. Este enfoque llamado "bolsa de palabras". ¿Qué pasa si suponemos que las palabras están asociadas?

Por ejemplo: Utilice apriory algoritmo para detectar que si contiene frases "malo y horrible", entonces el 70% probality que la sentencia es negativa. También podemos usar la distancia entre palabras, etc.

¿Es buena idea o estoy inventando bicicleta?

Respuesta

2

estás confundiendo un par de conceptos aquí. Ni Naive Bayes ni SVM están vinculados al enfoque de la bolsa de palabras. Ni los SVM ni el enfoque BOW tienen una suposición de independencia entre los términos.

Aquí hay algunas cosas que usted puede intentar:

  • incluyen signos de puntuación en sus bolsas de palabras; esp. ! y? puede ser útil para el análisis de los sentimientos, mientras que muchos extractores de características orientadas a la clasificación de documentos tirarlos a la basura
  • mismo para las palabras vacías: palabras como "yo" y "mi" pueden ser indicativos de texto subjetiva
  • construir un clasificador de dos etapas ; primero determinar si cualquier opinión se expresa, a continuación, ya sea positiva o negativa
  • probar un kernel SVM cuadrática en lugar de una lineal para capturar las interacciones entre características.
+0

¿Qué opinas sobre algoritmo previo y assotiation entre palabras? – Neir0

+0

@ Neir0: No veo de inmediato cómo te gustaría aplicarlo. Tampoco he visto intentos de hacer análisis de sentimientos con él. Sé que algunas personas lo usan para construir aproximaciones al kernel cuadrático (más o menos lo que ustedes llaman "asociaciones de palabras"), pero primero probaría un kernel vanilla SVM primero. –

+0

La manera directa es ingresar tokens con badge neg o pos. Por ejemplo: "pos i love my mom". En la salida, recibo algo así como "si tenemos amor y mamá en las sentencias, entonces el 70% que tenemos la insignia de puesto". Por supuesto, podemos modificar este enfoque para obtener mejores resultados. – Neir0

4

Los algoritmos como SVM, Naive Bayes y los de máxima entropía son algoritmos supervisados ​​de aprendizaje automático y la salida de su programa depende del conjunto de entrenamiento que haya proporcionado. Para análisis a gran escala sentimiento Yo prefiero usar método de aprendizaje sin supervisión en la que se puede determinar los sentimientos de los adjetivos por la agrupación de documentos en partes orientadas al mismo, y la etiqueta de los grupos positivos o negativos. Se puede encontrar más información de este documento. http://icwsm.org/papers/3--Godbole-Srinivasaiah-Skiena.pdf

la esperanza que esto le ayuda en su trabajo :)

0

se pueden encontrar algunos materiales útiles en Sentimnetal analysis using python. Esta presentación resume Sentiment Analysis como 3 simples pasos

  • datos de etiquetado
  • preprocesamiento &
  • Aprender Modelo
0

Sentiment Analysis es un área de investigación en curso. Y hay mucha investigación pasando en este momento. Para una visión general de los enfoques más recientes y exitosos, generalmente le aconsejo que eche un vistazo a las tareas compartidas de SemEval. Por lo general, cada año organizan una competencia sobre Análisis de Sentimientos en Twitter.Puede encontrar el documento que describe la tarea y los resultados para 2016 aquí (aunque podría ser un poco técnico): http://alt.qcri.org/semeval2016/task4/data/uploads/semeval2016_task4_report.pdf

A partir de allí, puede consultar los documentos que describen los sistemas individuales (como se hace referencia allí) .

Cuestiones relacionadas