Existen en general dos categorías de análisis de sentimientos:
Métodos léxicos: estas técnicas emplean diccionarios de palabras anotadas con su polaridad semántica y su fuerza sentimental. Esto se usa para calcular una puntuación para la polaridad y / o sentimiento del documento. Por lo general, este método ofrece alta precisión pero baja recuperación.
Métodos de aprendizaje automático: tales técnicas requieren la creación de un modelo entrenando al clasificador con ejemplos etiquetados. Esto significa que primero debe reunir un conjunto de datos con ejemplos para clases positivas, negativas y neutrales, extraer las características de los ejemplos y luego entrenar el algoritmo basado en los ejemplos. Estos métodos se utilizan principalmente para calcular la polaridad del documento.
- Procesamiento del lenguaje natural: ¿Hay alguna manera de medir la "informatividad" de una oración en un documento?
- ¿Cuál es un buen proyecto de aprendizaje automático para aprender Python?
- ¿Cuál es su opinión sobre el lenguaje de programación Julia?
- ¿Hay algún lugar para ingenieros de software que no aprendan IA o Machine Learning en los próximos 10 años o todos tienen que aprenderlo?
- La IA ha existido por décadas. ¿Qué condujo a toda la publicidad reciente de AI / Deep Learning?
La elección del método depende en gran medida de la aplicación, el dominio y el idioma. El uso de técnicas basadas en léxico con grandes diccionarios nos permite lograr muy buenos resultados. Sin embargo, requieren el uso de un léxico, algo que no siempre está disponible en todos los idiomas.
Por otro lado, las técnicas basadas en el aprendizaje automático ofrecen buenos resultados, pero requieren obtener capacitación sobre datos etiquetados.
Ahora analizaré un ejemplo de cada una de las técnicas anteriores.
Modelo AFINN: en el modelo AFINN, los autores han calculado las puntuaciones de los sentimientos para una lista de palabras. El sentimiento de un tweet se calcula en función de las puntuaciones de los términos en el tweet. El sentimiento del tweet se define como igual a la suma de las puntuaciones de los sentimientos para cada término en el tweet. El diccionario AFINN-111 contiene 2477 palabras en inglés clasificadas para valencia con un valor entero entre -5 y 5. Las palabras han sido etiquetadas manualmente por Finn Arup Neilsen en 2009-2010. Algunas de las palabras son las versiones gramaticalmente diferentes de la misma raíz, por ejemplo, ‘favorito’ y ‘favoritos’ se enumeran como dos palabras diferentes con diferentes puntuaciones de valencia.
Una implementación del modelo AFINN se puede encontrar aquí.
Clasificador Naive Bayes: El clasificador Naive Bayes puede entrenarse en un corpus de tweets etiquetados (+ ve, -ve, neutros) y luego emplearse para asignar polaridad a un nuevo tweet. Las características utilizadas en este modelo son las palabras o bi-gramos con sus frecuencias en las cadenas de tweet. Es posible que desee conservar o eliminar URL, emoticones y tokens cortos según la aplicación.
Si f = (f1, f2, f3,…, fn) [matemáticas] f = (f1, f2, f3,…, fn) [/ matemáticas] será el vector de las características de un tweet T [matemáticas] T [/ matemáticas ], entonces la probabilidad de que el tweet sea + ve [matemáticas] + ve [/ matemáticas] de acuerdo con la Regla de Bayes es:
p (+ ve | f) = p (f | + ve) ∗ p (+ ve) / p (f) [matemáticas] p (+ ve | f) = p (f | + ve) ∗ p (+ ve) / p (f) [/ matemáticas]
Ahora la teoría básica de la probabilidad nos dice que:
p (+ ve | f) = p (f1, f2, f3,…, fn | + ve) [matemáticas] p (+ ve | f) = p (f1, f2, f3,…, fn | + ve) [ /matemáticas]
y
p (f) = p (f1, f2, f3,…, fn) [matemáticas] p (f) = p (f1, f2, f3,…, fn) [/ matemáticas]
Naive Bayes afirma que todas las características son independientes y, por lo tanto:
p (f) = ∏ip (fi) [matemáticas] p (f) = ∏ip (fi) [/ matemáticas]
y
p (f | + ve) = ∏ip (fi | + ve) [matemáticas] p (f | + ve) = ∏ip (fi | + ve) [/ matemáticas]
Y de manera similar para −ve [math] −ve [/ math] y tweets neutrales.
Usando los valores estimados previamente de estas probabilidades, uno puede calcular la probabilidad de que un tweet sea positivo, negativo y neutral.
Cada vez que se alimenta un nuevo tweet al clasificador, predecirá la polaridad del tweet en función de la probabilidad de que tenga esa polaridad.
Aquí se puede encontrar una implementación del clasificador Naive Bayes para clasificar mensajes no deseados y no deseados.
Varios otros métodos en ambas categorías prevalecen hoy. Muchas empresas que utilizan el análisis de sentimientos emplean métodos léxicos donde crean diccionarios basados en sus algoritmos comerciales y el dominio de la aplicación.
Para el análisis basado en el aprendizaje automático, en lugar de Naive Bayes, uno puede usar algoritmos más sofisticados como SVM.
Más detalles Análisis de sentimientos de Twitter por Janu Verma sobre Aprender datos con estudiantes