¿Cuáles son las características importantes para el análisis de sentimientos basado en aspectos en el enfoque de aprendizaje automático? ¿Qué algoritmos se pueden usar para extraer estas características?

La tarea de identificar el sentimiento de un aspecto particular depende principalmente de dos pasos:

  1. Identificar aspectos en el texto.
  2. Identificando el sentimiento hacia este aspecto

Hay que tener en cuenta las características sintácticas y léxicas. Me gusta

  • Identificar palabras que mantienen una relación de dependencia con términos de aspecto.
  • Identificar cláusulas en las que aparece el término de aspecto
  • Unigramas, bigramas, adjetivos y verbos de la oración.
  • Suma de polaridades de sentimiento basadas en léxico de las palabras en la cláusula

Consulte estos artículos para una comprensión profunda – Características sintácticas y léxicas para el análisis de sentimientos basado en aspectos : página en aclweb.org

El procesamiento del lenguaje natural junto con las clasificaciones de aprendizaje automático ayudan mucho aquí. Necesitas saber

  • Técnica de análisis de oraciones
    • analizador de frases nltk: análisis
    • Stanford Parser – La PNL de Stanford
    • Gramática de enlaces – Gramática de enlaces
  • Parte del discurso, extracción de entidad sustantiva
    • Los tres análisis anteriores pueden ayudar
  • Análisis de dependencia
    • El grupo Stanford NLP (procesamiento del lenguaje natural)
    • Conferencias de síntesis sobre tecnologías del lenguaje humano

Aquí hay algunos algoritmos que sé que funcionan bien:
1. Máxima entropía basada en NGram (La mejor demostración que he visto está en indico | sitio web de aprendizaje automático amigable para desarrolladores)
2. Redes neuronales recurrentes basadas en GRU (una vez más, indico | el aprendizaje automático amigable para el desarrollador tiene una muy buena demostración en funcionamiento)
3. Redes neuronales convolucionales: en ParallelDots utilizamos redes neuronales convolucionales para la clasificación de sentimientos. La CNN se basa en cierta medida en el documento de análisis de sentimientos de FAIR. La demo está en vivo en ParallelDots
4. Las redes neuronales recursivas funcionan mejor en mi humilde opinión para la clasificación de sentimientos, pero funcionan en un conjunto de datos analizados lingüísticamente (como Stanford Sentiment Treebank). La demostración está en vivo en la página stanford.edu:8080.
El grupo de Socher incluso ha desarrollado un clasificador de sentimientos dirigido después de esto, por lo que uno puede saber que “A es bueno, B es malo” es básicamente + ve para A y -ve para B.
5. Un método fácil de codificar y muy efectivo es usar NBSVM para el sentimiento. Un código de Python de cincuenta líneas puede poner esto en funcionamiento usando Numpy y SKlearn.

Editar: RNN de Indico se basa en GRU, no en LSTM.

Bueno, puede explorar con varias características como bolsa de palabras, ngrams, etiquetas POS, puntuación tf-idf.
Bayes ingenuas, entropía máxima, svm son buenas opciones. También se pueden explorar las redes neuronales. Si está familiarizado con Python, pruebe scikit learn.

Hasta ahora, el mejor algoritmo que he encontrado para el análisis de sentimientos es la red neuronal recurrente (RNN) con LSTM (memoria a corto y largo plazo). Podemos pasar la entrada al LSTM y al hacer que la salida sea independiente del estado de la celda LSTM, podemos obtener una serie de salidas de una capa de LSTM. Luego, las salidas se agrupan y la salida de la agrupación media se pasa a la capa de Regresión logística. La idea es ideada por Yoshua Bengio. Puede consultar más sobre esto en el sitio disponible aquí: Redes LSTM para el Análisis de Sentimientos.

More Interesting

¿Existe una buena herramienta de aprendizaje de idiomas?

¿Se utilizan algoritmos básicos de CS en el aprendizaje automático?

¿Qué componentes de hardware (CPU, RAM, GC, etc.) se necesitan para que una PC / computadora doméstica de aprendizaje automático / aprendizaje profundo funcione rápidamente?

¿Pueden los métodos de aprendizaje profundo ser útiles para el seguimiento de múltiples objetos en una multitud?

¿Qué debería aprender primero para el aprendizaje automático y la autoeducación: cálculo, probabilidad, estadística o álgebra lineal?

Cómo validar mi sistema de recomendaciones sin datos previos de interacción del usuario

¿Qué es el entorno de base de datos en una explicación simple con ejemplos?

¿Dónde puedo encontrar un código de Python para SVM que use datos de funciones múltiples?

¿Cómo funciona el sistema de recomendación de filtrado basado en contenido por word2vec usando etiquetas?

¿Se pueden describir las redes adversas generativas como un método de entrenamiento en el que se aprende la función de pérdida en lugar de seleccionarse manualmente?

¿Por qué se usan capas completamente conectadas en el "extremo" [lado de salida] de las NN convolucionales? ¿Por qué no antes?

¿Cuál es el valor de un curso de Coursera sobre aprendizaje automático por Andrew Ng para solicitar una maestría en Estados Unidos en las 20 mejores universidades?

Cómo clasificar micro-textos (tweets, preguntas, etc.)

¿Cuáles son los populares paquetes ML de adopción (Machine wise)?

¿Cuáles son actualmente los temas candentes en la investigación de aprendizaje automático y en aplicaciones reales?