Realización de análisis de sentimientos en twitter

Parece como si todo el mundo está utilizando Twitter para hacer sus sentimientos conocidos en la actualidad. Por supuesto, el problema es que nadie sabe realmente el carácter común de esos sentimientos - es decir, si alguien pudiera derivar algún tipo de tendencia a partir de todos los tweets que hay.

El siguiente ejemplo muestra cómo clasificar los tweets como sentimientos positivos o negativos de forma automática. El ejemplo utiliza los sentimientos específicos que se pueden cambiar para ver resultados diferentes.

NaiveBayesClassifierfrom de importación nltk.classify LogisticRegressionpositive_tweets importación TfidfVectorizerfrom importación sklearn.feature_extraction.text sklearn.linear_model = [( `flores huelen bien`, `positiva`), ( `Las aves son hermosa`, `positiva`), ( `Esto va a ser un gran día ` `positiva`), ( `me encanta mi BFF`, `positiva`), ( `Este restaurante tiene buena comida`, `positiva`)] negative_tweets = [( `Cebollas huelen mal`,` negativo `), (` basura es fea`, `negativa`), ( `Nada ha salido bien hoy`, `negativa`), ( `odio a mi jefe`, `negativo`), ( `Este restaurante tiene comida horrible` , `negativo`)] test_tweets = [( `El canto me hace feliz`, `positiva`), ( `El cielo azul es agradable`, `positiva`), ( `me encanta la primavera`, `positiva`), ( `Tos me hace triste`, `negativo`), ( `cielos nublados son deprimentes`, `negativo`), ( `No me gusta el invierno`, `negativo`)] X_train, y_train = zip (* positive_tweets + negative_tweets) X_test, y_test = zip (* test_tweets) tfidfvec = TfidfVectorizer (en minúsculas = true) vectorizados = tfidfvec.fit_transform (X_train) sentiment_class ifier = regresión logística () sentiment_classifier.fit (vectorizado, y_train) vectorized_test = tfidfvec.transform (X_test) predicción = lista (sentiment_classifier.predict (vectorized_test)) probabilidades = lista (sentiment_classifier.predict_probavectorized_test) [:, 1]) de impresión de etiquetas correctas :% s% s% s% s% s% s`% y_testprint `predicción:% s% s% s% s% s% s` % tupla (predicción) de impresión `proba positivo:% 0,6F% 0,6F% 0,6 f% 0,6F% 0,6F% 0,6F` % tupla (probabilidades)

El ejemplo comienza creando datos de entrenamiento que consta de tweets positivos y negativos. Más tarde, en el ejemplo, el código crea X_train y y_train a partir de estos tweets. Con el fin de probar el algoritmo resultante, también necesita los datos de prueba, que viene en la forma de test_tweets. El ejemplo crea más adelante X_test y y_test a partir de estos tweets. Estos elementos constituyen los datos utilizados para simular los tweets para el ejemplo.

Video: App para realizar un Análisis de Sentimientos con tweets

Antes de que el código se puede hacer nada con los tweets, los tweets deben ser vectorizados y luego se clasifican. El problema de la clasificación rompe las palabras abajo en las piezas más pequeñas que el algoritmo puede utilizar para identificar elementos comunes entre los datos de entrenamiento y los datos de prueba.

En este punto, el algoritmo entrenado se prueba para asegurar que la formación ha trabajado como se esperaba. La siguiente salida muestra los resultados del proceso de formación y las pruebas:

Video: Feel IT: Análisis de Sentimientos en Español

etiquetas correctas: negativeprediction negativenegative positiva positiva positiva positiva: negativeproba negativepositive positivo negativo positivo: 0.497926 0.555813 0.561923 0.434459 0.4979260.555813
Artículos Relacionados