Realizar análise de sentimentos no twitter
Video: Primer Taller de Análisis de Sentimiento en Twitter con R
Conteúdo
Parece que todo mundo está usando o Twitter para fazer suas sentimentos conhecidos hoje. Claro, o problema é que ninguém realmente sabe a semelhança desses sentimentos - isto é, se alguém poderia retirar qualquer tipo de tendência de todos os tweets lá fora.
Video: Análisis de sentimiento usando rapidminer
O exemplo seguinte mostra como classificar os tweets como sentimentos positivos ou negativos automaticamente. O exemplo usa sentimentos específicos que você pode mudar para ver resultados diferentes.
de NaiveBayesClassifierfrom importação nltk.classify LogisticRegressionpositive_tweets sklearn.feature_extraction.text importação TfidfVectorizerfrom sklearn.linear_model importação = [( `Flores cheiro bom`, `positiva`), ( `Aves são bonitas`, `positiva`), ( `Isso vai ser um grande dia ` `positivo`), ( `Eu amo meu bFF`, `positiva`), ( `Este restaurante tem comida excelente`, `positivo`)] negative_tweets = [( `cebolas cheiro ruim`,` negativo `), (` lixo é feio`, `negativo`), ( `Nada deu certo hoje`, `negativo`), ( `Eu odeio meu chefe`, `negativo`), ( `Este restaurante tem comida terrível` , `negativo`)] test_tweets = [( `Cantar me faz feliz`, `positivo`), ( `céus azuis são agradáveis`, `positivo`), ( `Eu amo a mola`, `positiva`), ( `Coughing me deixa triste`, `negativo`), ( `céu nublado são deprimentes`, `negativo`), ( `Eu odeio o inverno`, `negativo`)] X_train, y_train = zip (* positive_tweets + negative_tweets) X_test, y_test = zip (* test_tweets) tfidfvec = TfidfVectorizer (minúsculas = TRUE) vectorizada = tfidfvec.fit_transform (X_train) sentiment_class ifier = regressão logística () sentiment_classifier.fit (vectorizada, y_train) vectorized_test = tfidfvec.transform (X_test) predição = lista (sentiment_classifier.predict (vectorized_test)) probabilidades = lista (sentiment_classifier.predict_probavectorized_test) [:, 1]) de impressão de etiquetas correctas :% s% s% s% s% s% s`% y_testprint `predição:% s% s% s% s% s% s` % tuplo (previsão) de impressão `proba positivo:% 0.6f% 0.6f 0,6% f% 0.6f% 0.6f% 0.6f` % tuplo (probabilidades)
O exemplo começa com a criação de dados de treinamento que consiste de tweets positivos e negativos. Mais tarde, no exemplo, o código cria X_train e y_train a partir desses tweets. A fim de testar o algoritmo resultante, você também precisa de dados de teste, que vem sob a forma de test_tweets. O exemplo mais tarde cria X_test e y_test a partir desses tweets. Estes elementos constituem os dados utilizados para simular os tweets para o exemplo.
Video: Análisis de Sentimientos
Antes do código pode fazer qualquer coisa com os tweets, os tweets devem ser vetorizadas e então classificadas. O problema da classificação divide as palavras para baixo em pedaços menores que o algoritmo pode usar para identificar comum entre os dados de treinamento e os dados de teste.
Neste ponto, o algoritmo treinado é testado para garantir que a formação tem funcionado como esperado. O seguinte resultado mostra os resultados do processo de treino e de teste:
Video: Using twitter to predict heart disease | Lyle Ungar | TEDxPenn
rótulos corretos: negativeprediction negativenegative positivo positivo positivo: negativeproba positiva negativepositive positivo negativo positivo: 0.497926 0.555813 0.561923 0.4979260.555813 0,434459