tutorial stopwords spanish sentimientos lemmatizer español ejemplo con book analisis nlp nltk weka classification

nlp - sentimientos - nltk stopwords spanish



¿Análisis de sentimiento con NLTK python para oraciones usando datos de muestra o servicio web? (2)

Me estoy embarcando en un proyecto de PNL para el análisis de sentimientos.

He instalado con éxito NLTK para python (parece ser una gran pieza de software para esto). Sin embargo, tengo problemas para entender cómo se puede utilizar para realizar mi tarea.

Aquí está mi tarea:

  1. Comienzo con un largo dato (digamos varios cientos de tweets sobre el tema de las elecciones en el Reino Unido desde su servicio web)
  2. Me gustaría dividir esto en oraciones (o información que no tenga más de 100 caracteres) (¿Supongo que puedo hacer esto en Python?)
  3. Luego, busque en todas las oraciones ejemplos específicos dentro de esa oración, por ejemplo, "David Cameron"
  4. Luego me gustaría verificar el sentimiento positivo / negativo en cada oración y contarlos en consecuencia

NB: No me preocupa demasiado la precisión porque mis conjuntos de datos son grandes y tampoco me preocupa demasiado el sarcasmo.

Aquí están los problemas que estoy teniendo:

  1. Todos los conjuntos de datos que puedo encontrar, por ejemplo, los datos de revisión de películas de corpus que vienen con NLTK no están en formato de servicio web. Parece que esto ya ha sido procesado. Por lo que puedo ver, el procesamiento (por Stanford) se realizó con WEKA. ¿No es posible que NLTK haga todo esto por su cuenta? Aquí todos los conjuntos de datos ya se han organizado en positivo / negativo ya, por ejemplo, conjunto de datos de polaridad http://www.cs.cornell.edu/People/pabo/movie-review-data/ ¿Cómo se hace esto? (para organizar las oraciones por sentimiento, ¿es definitivamente WEKA o algo más?)

  2. No estoy seguro de entender por qué WEKA y NLTK se usarían juntos. Parece que hacen mucho lo mismo. Si estoy procesando los datos con WEKA primero para encontrar una opinión, ¿por qué necesitaría NLTK? ¿Es posible explicar por qué esto podría ser necesario?

He encontrado algunos scripts que se acercan un poco a esta tarea, pero todos están usando los mismos datos preprocesados. ¿No es posible procesar estos datos por mí mismo para encontrar el sentimiento en las oraciones en lugar de utilizar las muestras de datos que figuran en el enlace?

Cualquier ayuda es muy apreciada y me ahorrará mucho pelo!

Saludos Ke


¿Por qué no usas WSD? Utilice la herramienta de desambiguación para encontrar los sentidos. y usa la polaridad del mapa para los sentidos en lugar de la palabra. En este caso, obtendrá resultados un poco más precisos en comparación con la polaridad del índice de palabras.


Los datos de la revisión de la película ya han sido marcados por los humanos como positivos o negativos (la persona que hizo la revisión le dio a la película una calificación que se utiliza para determinar la polaridad). Estas etiquetas estándar de oro le permiten entrenar a un clasificador, que luego podría usar para otras reseñas de películas. Podría entrenar a un clasificador en NLTK con esos datos, pero aplicar los resultados a los tweets de las elecciones podría ser menos preciso que suponer aleatoriamente que es positivo o negativo. Alternativamente, puede pasar y etiquetar unos pocos miles de tweets usted mismo como positivo o negativo y usar esto como su conjunto de entrenamiento.

Para obtener una descripción del uso de Naive Bayes para el análisis de sentimientos con NLTK: http://streamhacker.com/2010/05/10/text-classification-sentiment-analysis-naive-bayes-classifier/

Luego, en ese código, en lugar de usar el corpus de la película, use sus propios datos para calcular el recuento de palabras (en el método word_feats ).