Esta es la base de un área de procesamiento del lenguaje natural llamada sentiment analysis. Aunque tu pregunta es general, ciertamente no es estúpida, esto tipo de investigación es realizada por Amazon en el texto en las revisiones de productos, por ejemplo.
Si usted es serio sobre esto, entonces un versio simple n podría lograrse -
adquirir un corpus de sentimiento positivo/negativo.Si se trata de un proyecto profesional, puede tomarse un tiempo y anotar manualmente un corpus, pero si tenía prisa o simplemente quería experimentar esto al principio, le sugiero que consulte el artículo sentiment polarity corpus de la investigación de Bo Pang y Lillian Lee. El problema con el uso de ese corpus es que no está adaptado a su dominio (específicamente, el corpus utiliza reseñas de películas), pero aún así debería ser aplicable.
Divida su conjunto de datos en oraciones positivas o negativas. Para el corpus de polaridad de sentimiento, puede dividir cada revisión en sus oraciones compuestas y luego aplicar la etiqueta de polaridad de sentimiento general (positiva o negativa) a todas esas oraciones. Divida este corpus en dos partes: el 90% debe ser para el entrenamiento, el 10% debe ser para la prueba. Si está usando Weka, entonces puede manejar la división del corpus por usted.
Aplique un algoritmo de aprendizaje automático (como SVM, Naive Bayes, Maximum Entropy) al cuerpo de entrenamiento en un nivel de palabra. Este modelo se llama bag of words model, que simplemente representa la oración como las palabras de las que está compuesta. Este es el mismo modelo en el que se ejecutan muchos filtros de correo no deseado. Para una buena introducción a los algoritmos de aprendizaje automático existe una aplicación llamada Weka que implementa un rango de estos algoritmos y le da una GUI para jugar con ellos. Luego puede probar el rendimiento del modelo aprendido de la máquina a partir de los errores cometidos al intentar clasificar su corpus de prueba con este modelo.
Aplique este algoritmo de aprendizaje automático a sus publicaciones de usuario. Para cada publicación de usuario, separe la publicación en oraciones y luego clasifíquelas utilizando su modelo de máquina aprendida.
Así que sí, si usted es serio acerca de esto, entonces es posible, incluso sin experiencia en lingüística computacional. Sería una buena cantidad de trabajo, pero incluso con modelos basados en palabras se pueden lograr buenos resultados.
Si necesita más ayuda no dude en ponerse en contacto conmigo - Estoy siempre dispuesto a ayudar a otras personas interesadas en PNL =]
Pequeñas Notas -
- Simplemente dividir un segmento de texto en oraciones es un campo de PNL - llamado sentence boundary detection. Hay una serie de herramientas, OSS o gratuitas, disponibles para hacer esto, pero para su tarea una simple división en espacios en blanco y puntuación debería estar bien.
SVMlight es también otro aprendiz de máquina a considerar, y de hecho su SVM inductivo realiza una tarea similar a la que estamos viendo, tratando de clasificar qué artículos de Reuter son sobre "adquisiciones corporativas" con 1000 ejemplos positivos y 1000 negativos.
- Convertir las oraciones en características para clasificar puede llevar algo de trabajo. En este modelo, cada palabra es una característica: esto requiere poner en paréntesis la oración, lo que significa separar palabras y signos de puntuación entre sí. Otro consejo es poner en minúscula todas las fichas de palabras separadas para que "TE ODIE" y "TE ODIO" terminen siendo consideradas iguales. Con más datos, podría probar y también incluir si la capitalización ayuda a clasificar si alguien está enojado, pero creo que las palabras deberían ser suficientes al menos para un esfuerzo inicial.
Editar
acabo de descubrir LingPipe que en realidad tiene un tutorial on sentiment analysis utilizando el corpus sentimiento de polaridad Bo Pang y Lillian Lee que estaba hablando. Si utiliza Java, puede ser una excelente herramienta para utilizar, e incluso si no, sigue todos los pasos que discutí anteriormente.
SI ES en mayúsculas el usuario es PROBABLEMENTE ENOJADO –
lectura de su mente mientras están escribiendo podría ser más fácil. –
tal vez puedas contar el número de 4 palabras de letras? ;) –