As empresas terão dominado a aquisição de dados de interação do consumidor até 2021.
A dependência excessiva desses pontos de dados, por outro lado, frequentemente leva as organizações a tratar a entrada do cliente como uma estatística – uma abordagem bastante unidimensional para ouvir a voz do cliente.
A voz do cliente não pode ser identificada ou convertida em número.
Deve ser lido, condensado e, sobretudo, compreendido.
O fato é que as empresas devem ouvir ativamente o que seus consumidores têm a dizer em todos os canais pelos quais interagem com eles, seja por telefone, e-mail ou chat ao vivo.
Toda empresa deve priorizar o monitoramento e a avaliação do feedback do consumidor, mas as empresas tradicionalmente lutam para lidar com esses dados e transformá-los em inteligência significativa.
Este não é mais o caso da Análise de Sentimentos.
Neste tutorial, veremos mais detalhadamente a análise de sentimentos, suas vantagens e como usar o NLTK biblioteca para fazer análise de sentimento nos dados.
O que é análise de sentimento?
A análise de sentimentos, muitas vezes conhecida como mineração de conversas, é um método para analisar os sentimentos, pensamentos e opiniões das pessoas.
A análise de sentimento permite que as empresas obtenham uma melhor compreensão de seus consumidores, aumentem a receita e aprimorem seus produtos e serviços com base nas informações dos clientes.
A diferença entre um sistema de software capaz de analisar o sentimento do cliente e um vendedor/representante de atendimento ao cliente tentando deduzi-lo é a pura capacidade do primeiro de obter resultados objetivos do texto bruto - isso é realizado principalmente por meio de processamento de linguagem natural (NLP) e aprendizado de máquina técnicas.
Da identificação de emoções à categorização de texto, a análise de sentimentos tem uma ampla gama de aplicações. Empregamos análise de sentimento em dados textuais para ajudar uma empresa a monitorar o sentimento de avaliações de produtos ou feedback do consumidor.
Diferentes sites de mídia social o usam para avaliar o sentimento das postagens e, se a emoção for muito forte ou violenta, ou ficar abaixo do limite, a postagem será excluída ou ocultada.
A análise de sentimentos pode ser usada para tudo, desde a identificação de emoções até a categorização de texto.
O uso mais popular da análise de sentimento é em dados textuais, onde é usado para ajudar uma empresa a rastrear o sentimento de avaliações de produtos ou comentários de consumidores.
Diferentes sites de mídia social também o usam para avaliar o sentimento das postagens e, se a emoção for muito forte ou violenta, ou estiver abaixo do limite, eles excluem ou ocultam a postagem.
Benefícios da Análise de Sentimentos
A seguir estão alguns dos benefícios mais importantes da análise de sentimentos que não devem ser desconsiderados.
- Ajuda na avaliação da percepção de sua marca entre seu público-alvo.
- O feedback direto do cliente é fornecido para ajudá-lo a desenvolver seu produto.
- Aumenta a receita de vendas e prospecção.
- As oportunidades de upsell para os campeões do seu produto aumentaram.
- O atendimento proativo ao cliente é uma opção prática.
Os números podem fornecer informações como o desempenho bruto de uma campanha de marketing, a quantidade de envolvimento em uma chamada de prospecção e o número de tickets pendentes no suporte ao cliente.
No entanto, não lhe dirá por que um evento específico ocorreu ou o que o causou. Ferramentas de análise como Google e Facebook, por exemplo, podem ajudá-lo a avaliar o desempenho de seus esforços de marketing.
Mas eles não fornecem a você um conhecimento profundo do motivo pelo qual essa campanha específica foi bem-sucedida.
A Análise de Sentimento tem o potencial de mudar o jogo a esse respeito.
Análise de Sentimentos - Declaração do Problema
O objetivo é determinar se um tweet tem emoção favorável, negativa ou neutra em relação a seis companhias aéreas dos EUA com base em tweets.
Este é um trabalho de aprendizado supervisionado padrão no qual devemos categorizar uma string de texto em categorias predeterminadas, dada uma string de texto.
Solução
Usaremos o processo de aprendizado de máquina padrão para resolver esse problema. Começaremos importando as bibliotecas e conjuntos de dados necessários.
Em seguida, realizaremos algumas análises de dados exploratórias para determinar se há algum padrão nos dados. Em seguida, realizaremos o pré-processamento de texto para transformar dados numéricos de entrada de texto que um aprendizado de máquina sistema pode usar.
Por fim, treinaremos e avaliaremos nossos modelos de análise de sentimentos usando métodos de aprendizado de máquina.
1. Importando Bibliotecas
Carregue as bibliotecas necessárias.
2. Importar conjunto de dados
Este artigo será baseado em um conjunto de dados que pode ser encontrado em Github. O conjunto de dados será importado usando a função read CSV do Pandas, como visto abaixo:
Usando a função head(), examine as primeiras cinco linhas do conjunto de dados:
Saída:
3. Análise dos Dados
Vamos examinar os dados para determinar se há alguma tendência. Mas primeiro, vamos alterar o tamanho de plotagem padrão para tornar os gráficos mais visíveis.
Vamos começar com o número de tweets recebidos por cada companhia aérea. Usaremos um gráfico de pizza para isso:
A porcentagem de tweets públicos para cada companhia aérea é exibida na saída.
Vamos dar uma olhada em como os sentimentos são distribuídos por todos os tweets.
Saída:
Vamos agora examinar a distribuição de sentimento para cada companhia aérea específica.
De acordo com os resultados, a maior parte dos tweets para quase todas as companhias aéreas é desfavorável, com tweets neutros e bons seguindo. A Virgin America é talvez a única companhia aérea onde a proporção dos três sentimentos é comparável.
Saída:
Por fim, usaremos a biblioteca Seaborn para obter o nível médio de confiança para tweets de três categorias de sentimento.
Saída:
O resultado mostra que o nível de confiança para tweets negativos é maior do que para tweets positivos ou neutros.
4. Limpando os dados
Muitas gírias e sinais de pontuação podem ser encontrados em tweets. Antes de podermos treinar o modelo de aprendizado de máquina, precisamos limpar nossos tweets.
No entanto, antes de começarmos a limpar os tweets, devemos separar nosso conjunto de dados em conjuntos de recursos e rótulos.
Podemos limpar os dados depois de separá-los em recursos e conjuntos de treinamento. Expressões regulares serão usadas para fazer isso.
5. Representação Numérica do Texto
Para treinar modelos de aprendizado de máquina, algoritmos estatísticos empregam matemática. A matemática, por outro lado, trabalha apenas com números.
Devemos primeiro transformar o texto em números para os algoritmos estatísticos lidarem com isso. Existem três maneiras básicas de fazer isso: Bag of Words, TF-IDF e Word2Vec.
Felizmente, a classe TfidfVectorizer no módulo Scikit-Learn do Python pode ser usada para transformar recursos de texto em vetores de recursos TF-IDF.
6. Criação de conjuntos de treinamento e teste orientados a dados
Finalmente, devemos dividir nossos dados em conjuntos de treinamento e teste antes de treinar nossos algoritmos.
O conjunto de treinamento será usado para treinar o algoritmo e o conjunto de teste será usado para avaliar o desempenho do modelo de aprendizado de máquina.
7. Desenvolvimento de modelo
Depois que os dados são separados em conjuntos de treinamento e teste, técnicas de aprendizado de máquina são usadas para aprender com os dados de treinamento.
Você pode usar qualquer algoritmo de aprendizado de máquina. A abordagem Random Forest, no entanto, será usada devido à sua capacidade de lidar com dados não normalizados.
8. Previsões e Avaliação do Modelo
Após o modelo ter sido treinado, a etapa final é fazer as previsões. Para fazer isso, devemos aplicar o método de previsão ao objeto de classe RandomForestClassifier que treinamos.
Por fim, medidas de classificação como métricas de confusão, medidas F1, precisão e assim por diante podem ser usadas para avaliar o desempenho de modelos de aprendizado de máquina.
Saída:
Nosso algoritmo alcançou uma precisão de 75.30, como visto pelos resultados.
Conclusão
A análise de sentimentos é um dos trabalhos mais frequentes da PNL, pois ajuda a identificar a opinião pública geral sobre um assunto específico.
Vimos como várias bibliotecas Python podem ajudar na análise de sentimentos.
Realizamos um estudo de tweets públicos sobre seis companhias aéreas dos EUA e alcançamos uma precisão de aproximadamente 75%.
Sugiro que você tente outro algoritmo de aprendizado de máquina, como regressão logística, SVM ou KNN, para ver se consegue obter melhores resultados.
Deixe um comentário