Analisando sentimentos de publicações no Twitter
0
0

Analisando sentimentos de publicações no Twitter

SisData
7 min
0
0
Email image

Com bilhões de usuários ativos, o Twitter se tornou uma plataforma valiosa para entender como as pessoas se sentem sobre diferentes tópicos, produtos, serviços e eventos. A análise de sentimentos é uma técnica que utiliza a inteligência artificial e machine learning para identificar, extrair e classificar emoções e opiniões expressas em postagens de mídias sociais, incluindo o Twitter. Essa análise é fundamental para empresas, organizações governamentais, pesquisadores e profissionais de marketing que desejam obter insights sobre como as pessoas percebem suas marcas, produtos ou serviços e quais são suas necessidades e expectativas. Neste artigo, exploraremos como a análise de sentimentos no Twitter pode ser realizada usando técnicas de machine learning e como ela pode fornecer informações valiosas para empresas e organizações.

A análise de sentimentos é uma das ferramentas mais populares para classificação de textos e permite avaliar o sentimento implícito em uma mensagem recebida. Embora existam outras técnicas de classificação de textos disponíveis, a análise de sentimentos é amplamente utilizada devido à sua eficácia e facilidade de implementação. Com essa ferramenta, é possível inserir uma sentença de sua escolha e avaliar o sentimento associado a ela de forma rápida e objetiva.

Aplicações da Análise de Sentimentos

A análise de sentimentos tem se tornado uma ferramenta fundamental para os analistas de dados de grandes empresas. Com ela, é possível avaliar a opinião pública, realizar pesquisas de mercado, monitorar a reputação de marcas e produtos e compreender as experiências dos clientes ou potenciais clientes.

Essa técnica pode ser aplicada em diversas estruturas de dados que contenham conteúdo textual padronizado. Alguns exemplos de ferramentas que podem ser usadas como bases de dados incluem:

  • Redes sociais;
  • Portais de atendimento ao cliente;
  • Sistemas de service desk;
  • Sistemas de avaliações;
  • E muitos outros.

A análise de sentimentos é uma maneira eficaz de extrair informações valiosas desses dados e utilizar essas informações para tomar decisões estratégicas.

Mas, como ela funciona?

A análise de sentimentos é uma técnica de processamento de linguagem natural que tem como objetivo extrair e identificar a polaridade do sentimento expresso em um texto. Essa técnica é muito útil para entender como as pessoas se sentem sobre determinado assunto ou produto em redes sociais, comentários de blog, avaliações de produtos, entre outras fontes de dados.

A análise de sentimentos por meio de NLP (processamento de linguagem natural) e Machine Learning envolve a utilização de técnicas computacionais para classificar o sentimento expresso em um texto. Em geral, o processo é dividido em três etapas principais:

  1. Pré-processamento do texto: nesta etapa, o texto é processado para remover informações irrelevantes, como pontuação, stop words (palavras comuns que não trazem significado) e símbolos. Em seguida, o texto é normalizado, transformando todas as letras em minúsculas e realizando a lematização (transformação das palavras para sua forma raiz).
  2. Extração de características: nesta etapa, são extraídas características relevantes do texto, que podem ser utilizadas para classificar o sentimento. Algumas das características mais comuns são a frequência de palavras positivas e negativas, a presença de emojis, a intensidade das palavras utilizadas, entre outras.
  3. Classificação do sentimento: nesta etapa, o sentimento é classificado utilizando técnicas de aprendizado de máquina, como classificadores SVM (Support Vector Machine), Naive Bayes, Redes Neurais, entre outros. É necessário que o modelo seja treinado previamente com um conjunto de dados rotulados (anotados) para que ele possa aprender a classificar o sentimento em novos textos.

Após a etapa de treinamento, o modelo pode ser utilizado para classificar o sentimento em novos textos. No geral, os modelos de Machine Learning são capazes de aprender a identificar padrões e características específicas de sentimentos expressos em textos, tornando-os cada vez mais precisos com o aumento do volume de dados utilizados para treinamento.

Vale lembrar que a análise de sentimentos não é 100% precisa, pois a linguagem humana é complexa e pode ser ambígua ou sutil. No entanto, a análise de sentimentos por meio de NLP e Machine Learning pode ser uma ferramenta valiosa para entender o sentimento geral do público em relação a um determinado assunto ou produto.

Preparando a análise

Nesta etapa iremos iniciar com a instalação das bibliotecas necessárias para realizar o processo de análise de sentimentos de tweets utilizando a API do Twitter e a linguagem de programação Python.

Instalação:

  • Tweepy: tweepy é o cliente Python da API oficial do Twitter .
    Instale-o usando o seguinte comando pip:
pip install tweepy
  • TextBlob: textblob é a biblioteca python para processamento de dados textuais. Instale-o usando o seguinte comando pip:
pip install textblob

Autenticação:para buscar tweets por meio da API do Twitter, é necessário registrar um aplicativo por meio de sua conta do Twitter. Siga estas etapas para o mesmo:

  • Abra este link e clique no botão: ‘Criar novo aplicativo’
  • Preencha os detalhes do aplicativo. Você pode deixar o campo do URL de retorno em branco.
  • Assim que o aplicativo for criado, você será redirecionado para a página do aplicativo.
  • Abra a guia ‘Chaves e tokens de acesso’.
  • Copie ‘Chave do consumidor’, ‘Segredo do consumidor’, ‘Token de acesso’ e ‘Segredo do token de acesso’.

Importamos as biblotecas necessárias:

import re
import tweepy
from tweepy import OAuthHandler
from textblob import TextBlob

Depois definimos a autenticação para a API do Twitter e as chaves de acesso foram geradas na área do App que você criou:

# insira suas credenciais de API do Twitter aqui
consumer_key = CONSUMER_KEY
consumer_secret = CONSUMER_SECRET
access_token = ACCESS_TOKEN
access_token_secret = ACCESS_SECRET
# autenticação com a API do Twitter
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
# criação de um objeto API
api = tweepy.API(auth)

Podemos realizar um teste através de um termo de busca, como mostra o código abaixo:

# define o termo de busca e o número de tweets para analisar
termo_de_busca = 'Palmeiras'
num_de_tweets = 10
# busca os tweets
tweets = tweepy.Cursor(api.search_tweets, /
q=termo_de_busca, lang='pt').items(num_de_tweets)
# itera sobre os tweets e realiza a análise de sentimentos com TextBlob
for tweet in tweets:
print(tweet.text)
analysis = TextBlob(tweet.text)
print(analysis.sentiment)

Utilizei o termo de busca Palmeiras (meu time do coração 😊), percebe-se que em cada tweet há uma avalição prévia do sentimento da postagem, que no caso é Polaridade e Subjetividade. Como mostra o retorno do código executado aqui:

Email image

Na análise de sentimentos, a polaridade refere-se à direção e intensidade do sentimento expresso em um texto ou discurso. A polaridade pode ser positiva, negativa ou neutra. Uma análise de polaridade é usada para determinar se um texto é predominantemente positivo, negativo ou neutro.

A subjetividade refere-se à opinião ou perspectiva pessoal expressa em um texto. Ela é medida pela presença de palavras que refletem emoções, atitudes ou crenças pessoais, como “eu acredito”, “eu amo”, “eu odeio”, entre outras. A subjetividade é importante na análise de sentimentos porque pode ajudar a identificar a intensidade e a natureza do sentimento expresso em um texto.

A polaridade e a subjetividade estão intimamente ligadas na análise de sentimentos. Por exemplo, um texto altamente subjetivo pode ter uma polaridade forte, positiva ou negativa, enquanto um texto menos subjetivo pode ter uma polaridade neutra. A polaridade e subjetividade são medidas úteis para compreender o tom e o sentimento expressos em um texto, o que pode ser valioso para entender a opinião pública sobre um produto, serviço, empresa ou evento específico.

Podemos realizar também a busca por uma palavra ou frase para fazer busca diretamente na API do Twitter, como desmonstra o código abaixo:

def main():
pesquisa = input("Digite sua pesquisa: ")
api = TwitterClient()
tweets = api.get_tweets(query = pesquisa, count = 200)
ptweets = [tweet for tweet in tweets if tweet['sentiment'] == 'positive']
print("Positive tweets percentage: {:.2f} %".format(100*len(ptweets)/len(tweets)))
ntweets = [tweet for tweet in tweets if tweet['sentiment'] == 'negative']
print("Negative tweets percentage: {:.2f} %".format(100*len(ntweets)/len(tweets)))
print("Neutral tweets percentage: {:.2f} % \ ".format(100*(len(tweets) -(len( ntweets )+len( ptweets)))/len(tweets)))
print("\n\nPositive tweets:")
for tweet in ptweets[:10]:
print(tweet['text'])
print("\n\nNegative tweets:")
for tweet in ntweets[:10]:
print(tweet['text'])
if __name__ == "__main__":
main()

Ao executar o código, é perguntado o que você deseja pesquisar no Twitter, e a partir disso e exibido a porcentagem desses tweets que são de conteúdo Positivo, Negativo ou Neutro, além de exibir quais deles estão em cada grupo.

Email image

Conclusão

Em resumo, a análise de sentimentos usando Python no Twitter é uma ferramenta valiosa para entender as opiniões e emoções expressas pelos usuários da rede social. Através do uso de técnicas de processamento de linguagem natural e machine learning, é possível extrair insights significativos sobre como as pessoas se sentem em relação a um determinado tópico, produto ou evento.

Embora existam alguns desafios na análise de sentimentos no Twitter, como o uso de gírias e linguagem coloquial, é possível superá-los com as ferramentas e técnicas certas. Com o uso adequado das bibliotecas Python, como o NLTK e o TextBlob, é possível realizar uma análise de sentimentos eficaz no Twitter.

Em última análise, a análise de sentimentos no Twitter pode ser uma ferramenta valiosa para empresas e organizações que desejam entender como seus produtos, serviços e eventos estão sendo percebidos pelo público em geral. Além disso, a análise de sentimentos também pode ser útil para indivíduos que desejam entender as opiniões e emoções em torno de tópicos específicos no Twitter.

Espero ter ajudado! Curta, compartilhe e deixe seu comentário ou dúvida! Até a próxima!!!