¿Cómo se utiliza el aprendizaje automático en el análisis de sentimientos?

En el aprendizaje automático, hay un término llamado Clasificación que se incluye en la categoría de Aprendizaje supervisado (es decir, requiere un conjunto de capacitación). La clasificación no es más que simplemente identificar qué objeto pertenece a qué categoría. Y hay muchos enfoques para la clasificación como Naive Bayes Classifier, Neural Network Classifier, Nearest Neighbour Classifier, Support Vector Machines, etc.

El análisis de sentimientos es simplemente una aplicación de clasificación. Tenemos nuestros sentimientos predefinidos como positivo, negativo, etc. Entonces, un modelo de aprendizaje automático simplemente clasifica el texto de entrada en nuestras categorías predefinidas.

Permítanme explicar el funcionamiento de un clasificador vecino más cercano:

Tenemos nuestro conjunto de datos inicial (o conjunto de entrenamiento):

Texto : Me encanta esta película.

Categoría : Positiva

Texto : Odio este teléfono.

Categoría : Negativo

(Estoy tomando solo dos oraciones aquí solo para explicar el funcionamiento básico, pero un conjunto de capacitación general será enorme. Puedes encontrar fácilmente los conjuntos de datos de Twitter).

Primer paso :

Eliminamos las palabras de parada. las palabras de detención son palabras que se filtran antes o después del procesamiento de datos de lenguaje natural (texto) Palabras como “I, We, are, am, was”, etc., que no son importantes para procesar el texto.

Entonces, después de eliminar las palabras de detención, tenemos:
Nuestro diccionario: amado, película, odio, teléfono.

Segundo paso

Después de eliminar las palabras de parada, convertimos nuestro conjunto de datos en una Matriz M x N donde M es el número de documentos (u oraciones) y N es el número de palabras en nuestro diccionario.

En nuestro caso, será una matriz de 2 x 4. Nuestra matriz se vería así:

El | El | El | El |
| amor | película | odio | teléfono
——– | ——– | ——- | ——– | ————–
Texto1 | 1 | 1 | 0 | 0 0
El | El | El | El |
Text2 | 0 | 0 | 1 | 1

La entrada (i, j) significa el número de apariciones de la palabra j-ésima del diccionario en la oración i-ésima.

Ahora, toma cada texto y se verán como coordenadas en un gráfico de 4 dimensiones.
Las coordenadas de Text1 son: (1,1,0,0) y las coordenadas de Text2 son: (0,0,1,1).

Esta fue nuestra parte de entrenamiento.
Ahora viene la parte de prueba. Tomamos una oración de prueba:
Sentencia de prueba : Me encanta este juego.

Ahora, convertiremos la oración de prueba en coordenadas usando nuestro diccionario. Entonces, tendremos: (1, 0, 0, 0)

Una vez, tenemos las coordenadas de la oración de prueba y los conjuntos de entrenamiento, podemos usar cualquier similitud para obtener el resultado, como la distancia euclidiana, la similitud del coseno, la distancia de Manhattan, etc.

Digamos que usamos Cosine Similarity.

Por lo tanto, aquí ayb son nuestros vectores. Calculamos el coseno entre cada oración de conjunto de entrenamiento y nuestra oración de prueba. El que tendrá el mayor valor de similitud nos informará sobre la categoría de nuestra oración de prueba.

En nuestro conjunto, puede ver claramente que el ángulo entre text1 y la oración de prueba será el más bajo y, por lo tanto, dará el valor más alto de coseno. Por lo tanto, su categoría será la categoría de nuestra oración de prueba, es decir, positiva .

Aquí hay un proyecto de trabajo que codifiqué hace un tiempo para una competencia de kaggle: proyecto de plantilla Weka para la clasificación de sentimientos de un texto en inglés

Eche un vistazo y verá una manera fácil de ingresar a ML para la tarea de análisis de sentimientos.