Cómo diferenciar entre afirmaciones subjetivas y objetivas para el análisis del sentimiento

La respuesta corta sería “entrenar a un clasificador”, y realmente podría entrenar a un clasificador usando cualquier característica que crea que pueda distinguir entre afirmaciones subjetivas y objetivas.

La respuesta larga: (si ya está familiarizado con ML / Sentiment Analysis, vaya a la sección ‘Buenas características:’)

No estoy seguro de su experiencia con el análisis de sentimientos, pero la idea general es que ciertas “características” pueden extraerse de las declaraciones, y en base a una puntuación / ponderación de estas características, un algoritmo de aprendizaje automático puede detectar consistencias y asociaciones dentro de las declaraciones en el conjunto de datos. La ‘ponderación’ asignada a la puntuación de estas características se basa en la precisión de un predictor que cada característica tiene para una ‘clase’ en los datos de entrenamiento. Aquí los datos de entrenamiento son un conjunto de afirmaciones, que ha sido predeterminado como positivo / negativo / objetivo. Luego, un clasificador califica las nuevas afirmaciones en función de estas características y utiliza los pesos recogidos de los datos de entrenamiento para determinar en qué clase colocar la afirmación.

Consideramos a un clasificador como “bueno” si mejora la recuperación o la precisión en un conjunto de datos de prueba (declaraciones que ya se han clasificado, que se utilizan para ver cuántas declaraciones predice correctamente su clasificador).

Entonces, tu pregunta es, ¿qué son buenos ‘datos de entrenamiento’, cuáles son ‘características’ buenas y qué ‘algoritmos’ construyen / actúan como buenos clasificadores? Necesitas los tres para desarrollar un clasificador preciso.

Buenos datos de entrenamiento:

Tenga en cuenta también que el rendimiento de su clasificador está influenciado por el conocimiento del dominio del campo en el que está aplicando su clasificador. Pero en general, desea utilizar un conjunto de datos de entrenamiento con una cantidad significativa de declaraciones clasificadas de todas las clases (objetiva, positiva, negativa). Tenga en cuenta, sin embargo, que si tiene demasiadas declaraciones de una clase, su clasificador puede volverse sobre ajustado a esa clase.

Los datos de capacitación estandarizados están disponibles a través de la Conferencia de recuperación de textos (TREC).

Buenas características:

Como ejemplo, considere un conjunto de tweets (mensajes de twitter).

Una característica simple, que probablemente mejorará el rendimiento de su clasificador, sería un conteo de emoticonos positivos como [🙂 (: 😀 XD] y un conteo separado de emociones negativas [🙁: ‘(> :(].

Otra característica simple sería una cuenta de puntuación, como cuentas individuales de? o! o …

En general, estos enfoques más conceptuales complementarán un enfoque de BOW (paquete de palabras) de línea de base, que puntúa la positividad / negatividad / objetividad estadística de los términos individuales (o bigramas, etc.) en los datos de entrenamiento. Los datos sobre el sentimiento asociado con los términos individuales también se pueden encontrar en los corpuses como sentiwordnet, y esta puntuación podría utilizarse como una característica. Dicho esto, la ambigüedad en el lenguaje afectará la precisión de cualquiera de estas mediciones y la desambiguación es una tarea difícil en la PNL.

Pero, de nuevo, podría entrenar cualquier característica que crea que ayude a distinguir las declaraciones y luego probar el efecto en la precisión y la recuperación.

Una buena técnica es pensar e implementar tantas funciones como sea posible, y luego usar algoritmos estadísticos para determinar qué características tienen el mayor impacto en la clasificación (según los datos de entrenamiento). Esto ayudará con el rendimiento de su clasificador.

Buenos algoritmos:

No entraré en los detalles exactos de los algoritmos aquí, pero algunos algoritmos que me han funcionado bien en el pasado son SMO (SVM), Naive Bayes (modelo probabilístico), J48 (árboles de decisión).

Todos estos algoritmos (y más) están disponibles en el programa Weka, y pueden usarse para construir un clasificador y probar sus características.

Todas las afirmaciones, especialmente sobre los sentimientos, son subjetivas. Solo puedes tratar de ser lo más honesto y neutral posible, es decir, tratar de tener en cuenta todos los puntos de vista que puedas, al hablar e interpretar. A lo mejor de la capacidad de uno. Pero lo que es más importante, puedes sentirlos, aunque nunca puedes saber si sería correcto o incorrecto. Sólo puedes saber qué efecto tienen sobre ti. ¡Aunque creo que la intención se siente bastante! 🙂