Como construir um programa Python de análise de sentimento do Twitter? [Tutorial passo a passo]

Publicados: 2020-08-07

Fonte

À medida que as empresas estão se tornando cada vez mais orientadas por dados, uma técnica de aprendizado de máquina chamada 'Análise de sentimentos' está ganhando imensa popularidade a cada dia. Ele analisa os dados/textos digitais por meio do Processamento de Linguagem Natural (PLN) para encontrar a polaridade (positiva, negativa, neutra), sentimentos e emoções (raiva, feliz, triste etc.) expressas no texto.

Como o Twitter é uma das fontes mais abrangentes de conversas públicas ao vivo em todo o mundo, empresas, grupos políticos etc. estão interessados ​​em realizar 'Análise de sentimentos' de tweets para entender as emoções/opiniões do mercado-alvo ou para estudar o mercado dos concorrentes . Embora eles estejam prontos para usar programas para esse fim, mas para obter previsões com alto nível de precisão, específicas para critérios e domínios específicos, a melhor maneira é criar um modelo ou programa Python de análise de sentimentos do Twitter personalizado.

Índice

Tutorial passo a passo: Criar programa de análise de sentimentos do Twitter usando Python

Este tutorial tem como objetivo criar um Programa de Análise de Sentimentos do Twitter usando Python. O programa resultante deve ser capaz de analisar os tweets obtidos do twitter e entender os sentimentos do texto, como sua polaridade e subjetividade.

Os privilégios

1. Em primeiro lugar está o conhecimento básico de codificação/programação de Python.

2. Ferramentas a serem instaladas em seu computador:

  • Pitão
  • Bibliotecas: Tweepy, blob de texto, nuvem de palavras, pandas, NumPy, matplotlib

(Tweepy é a biblioteca oficial do python para a API do Twitter que permite que o Python se comunique com a plataforma do Twitter)

3. Uma conta no Twitter

4. Um aplicativo do Twitter precisa ser criado e autenticado pelo Twitter: Isso é necessário para obter a 'chave do consumidor e os tokens de acesso' que você precisará em sua programação.

Se você ainda não tem um aplicativo do Twitter criado para esse fim, veja aqui como criá-lo.

Leia mais: Tutorial Python NumPy: Aprenda Python Numpy com exemplos

Como criar um aplicativo do Twitter?

  • Acesse o site do desenvolvedor do Twitter: dev.twitter.com.
  • Faça login com sua conta do Twitter
  • Vá para 'Meus aplicativos'
  • Clique em 'Criar um novo aplicativo'.
  • Em seguida, você precisa preencher um formulário, conforme mostrado abaixo.

Fonte

  • Em seguida, clique em 'Criar meu token de acesso'.
  • Na próxima página, escolha a opção 'Ler e Gravar' na coluna 'Tipo de Aplicativo'.

Você receberá suas configurações de OAuth do aplicativo do Twitter, que incluem todos os detalhes necessários relacionados à sua chave do consumidor, segredo do consumidor, token de acesso, segredo do token de acesso etc. Você precisa observar esses detalhes, pois essas credenciais da API permitirão buscar tweets do twitter. É melhor salvá-lo em um arquivo CSV em seu computador, depois você pode carregar diretamente o arquivo CSV em seu programa para ler as credenciais da API

Comece a criar o programa Python de análise de sentimentos do Twitter

1. Importe as bibliotecas : Tweepy, blob de texto, nuvem de palavras, pandas, NumPy, matplotlib

2. Autentique o aplicativo do Twitter: Em seguida, você precisa autenticar seu aplicativo do Twitter usando as credenciais de configurações de OAuth do aplicativo do Twitter, também conhecidas como credenciais da API do Twitter. Para isso, você precisa criar um objeto Authentication, utilizando os códigos conforme a imagem abaixo.

Fonte

Para preencher as credenciais da API do Twitter, você pode carregar o arquivo CSV ou copiar e colar manualmente os detalhes da credencial.

3. Buscar os tweets do usuário do Twitter: Agora, para buscar os tweets, primeiro você precisa escolher um usuário do Twitter cujos tweets você deseja analisar para entender o sentimento expresso nele. Digamos; você deseja ver se os tweets de 'UserXYZ' são positivos ou negativos ou neutros realizando uma análise de sentimento dos 100 tweets do UserXYZ.

Código para buscar os tweets

posts = api.user_timeline(screen_name = ”UserXYZ”, contagem= 100, Lang =”en”, tweet_mode=“extended”)

A execução do comando acima mostrará os tweets.

4. Criar Data Frame: Agora, você precisa criar um data frame para os tweets que você buscou. Digamos que você nomeie a primeira coluna do seu df como 'Tweets', e ela conterá todos os tweets espalhados por 100 linhas, já que você está analisando 100 tweets.

Df = pd.dataframe( [tweet.full_text for tweet in posts] , columns=[ 'Tweet'])

5. Limpe o Texto: Limpar o texto dos tweets é importante para o sucesso do seu programa python de análise de sentimento do twitter, pois haverá muitos símbolos indesejados como @, #, retuítes, hiperlinks nas URLs, etc. python'' entra em uso.

Obtenha a subjetividade e a polaridade: Depois de limpar o texto, você precisa criar duas funções usando a biblioteca python TextBlob para obter a subjetividade e a polaridade dos tweets. A subjetividade mostra o quanto o texto é opinativo, e a polaridade descreve a positividade ou negatividade do texto. Seria melhor escrever o script python para criar mais duas colunas em seu quadro de dados para hospedar Subjetividade e Polaridade. Então, agora seu quadro de dados terá três colunas (primeira para os tweets, 2ª para a subjetividade, 3ª para a polaridade)

Os códigos para criar as funções Subjetividade e Polaridade são os seguintes:

Fonte

Depois de executar o código, você verá as pontuações de subjetividade e polaridade de cada tweet mostrado nas respectivas colunas. TextBlob descreve a polaridade dentro de uma escala de 1 a -1. Então, se um tweet tem polaridade -0,4 significa que é ligeiramente negativo, e se tem 0,6 de subjetividade, então é bastante subjetivo.

6. Em seguida, você pode optar por incluir uma nuvem de palavras em seu programa Python de análise de sentimentos do Twitter , pois as nuvens de palavras também são populares como uma técnica de visualização de dados usada para análise de sentimentos, em que o tamanho das palavras indica sua importância.

Exemplo de um WordCloud:

Fonte

As bibliotecas matplotlib, Pandas e WordCloud entrarão em ação que você já importou. Para plotar uma nuvem de palavras primeiro, você precisa criar uma variável; vamos chamá-lo de 'allwords' para representar todos os tweets na coluna 'Tweets' do quadro de dados.

Código para criar WordCloud

allwords = ' '.join( [twts para twts em df [ 'Tweets' ]] )

WordCloud = WordCloud (largura =xxx, altura =xxx, randon_state =xxx, max_font_size =xxx. gerar (todas as palavras)

plt.imshow(nuvem de palavras)

plt.axis(“desligado”)

plt.show()

7. Como você tem as pontuações de polaridade para cada tweet, você pode começar a calcular a análise positiva, negativa e neutra dos tweets. Para isso, você precisa criar uma função, vamos chamá-la de 'Análise', onde você pode atribuir a pontuação 0 ao neutro, <0 ao negativo e >0 ao positivo.

Análise Def (pontuação):

Se pontuação < 0

retorne 'Negativo'.

pontuação elif == 0

retornar 'neutro

outro,

retorne 'positivo'.

Em seguida, para hospedar os resultados da análise de sentimento dos tweets, crie uma nova coluna em seu data frame, vamos nomeá-la 'TwtAnalysis' e então escreva o seguinte código:

df['TwtAnalysis'] = df['Polaridade']. aplicar (Análise)

8. O novo quadro de dados terá a coluna adicionada chamada 'TwtAnalysis' e se referirá a cada tweet como positivo, negativo ou neutro com base em sua pontuação de polaridade. Um exemplo é mostrado abaixo na imagem:

Fonte

9. Depois de classificar os tweets como positivos, negativos e neutros, você pode continuar construindo seu programa Python de Análise de Sentimento do Twitter para representar os dados em diferentes formatos, como:

  • Obtenha a porcentagem de tweets positivos, negativos ou neutros.
  • Imprima todos os comentários positivos ou tweets negativos ou neutros separadamente
  • Crie um gráfico de análise visual de sentimentos dos tweets positivos, negativos e neutros e muito mais.

Leia também: As 9 principais bibliotecas Python para aprendizado de máquina

Conclusão

O programa Python de análise de sentimentos do Twitter , explicado em este artigo, é apenas um maneira de criar tal programa. O desenvolvedor pode personalizar o programa de várias maneiras para corresponder às especificações para obter a máxima precisão na leitura dos dados, essa é a beleza de programá-lo através de python, que é uma ótima linguagem, suportada por uma comunidade ativa de desenvolvedores e muitas bibliotecas.

Python tem um escopo imenso no espaço de Machine Learning e Data Science. Quem está há algum tempo na programação sabe bem que o Machine Learning continuará sendo um dos avanços no futuro da programação.

Se você deseja obter uma experiência de aprendizado abrangente e estruturada, também se estiver interessado em aprender mais sobre aprendizado de máquina, confira o Diploma PG do IIIT-B e do upGrad em aprendizado de máquina e IA, projetado para profissionais que trabalham e oferece mais de 450 horas de treinamento rigoroso, mais de 30 estudos de caso e atribuições, status de ex-alunos do IIIT-B, mais de 5 projetos práticos práticos e assistência de trabalho com as principais empresas.

Qual é a importância funcional da análise de sentimentos nas mídias sociais?

Nesta era das mídias sociais, as opiniões dos consumidores têm um poder infinito para fazer ou quebrar uma marca. A análise de sentimentos é a melhor maneira de entender com precisão os fatores que impulsionam as opiniões e emoções dos consumidores. Com os dados disponíveis da análise de sentimentos, as empresas podem encontrar seu público-alvo, identificar influenciadores de mídia social para sua marca e identificar tendências de mercado emergentes. Além disso, a análise de sentimentos em plataformas de mídia social também oferece uma ideia abrangente da saúde de sua marca; as empresas podem receber feedback honesto dos consumidores sobre seus produtos e serviços recém-lançados para melhorá-los. Também é eficaz no tratamento da reputação online, identificando melhor os escopos de melhoria e a resolução de problemas.

Você pode aprender Python por conta própria?

Se você tem algum nível de experiência com programação, certamente pode começar a aprender Python por conta própria. Python vem com uma estrutura sintática comparativamente simples e também é intuitivo, tornando-o fácil de entender mesmo para iniciantes. Além disso, é fácil instalar o pacote e executá-lo em sua máquina de qualquer lugar. Você pode acelerar seu aprendizado inscrevendo-se em cursos de Python, participando de bootcamps de codificação. Com uma comunidade de desenvolvedores ativa que está sempre disposta a estender o suporte, uma abundância de recursos de aprendizado e documentação, os iniciantes podem aprender os fundamentos do Python em cerca de 7 a 8 semanas.

O que é mais difícil de aprender entre Python e C++?

Python e C++ são linguagens de programação totalmente diferentes com comportamento e recursos totalmente diferentes. No entanto, ambos suportam fortemente a programação orientada a objetos. Mas, considerando a estrutura geral do Python, é simples, muito mais fácil e rápido de aprender do que C++. Na verdade, muitas pessoas aprendem Python para experimentar como é a codificação simples. O Python é de código aberto, gratuito e oferece uma tremenda confiabilidade e facilidade quando se trata de desenvolver aplicativos complexos de aprendizado de máquina. Embora o C++ seja mais eficiente em termos de desempenho, ele não é considerado adequado ao Python para projetos de aprendizado de máquina.