Qlik Community

Qlik Connectors Documents

Documents related to Qlik Connectors.

Análise de Sentimentos do Twitter com Qlik WebConnectors

Partner
Partner

Análise de Sentimentos do Twitter com Qlik WebConnectors

Olá a todos,

Já pensou em fazer análise de sentimentos usando o Qlik? Se já pensou, então esse artigo foi escrito prá vc ! Se não pensou, algumas perguntas talvez o levem a considerar a análise de sentimentos para responder alguns questionamentos como:

  • O que o mercado pensa da empresa que você trabalha ?
  • E sobre algum produto que vocês estão pensando em retirar de linha?
  • Qual a satisfação dos colaboradores sobre sua empresa ?
  • Consegue descobrir o que seus colegas pensam sobre determinados temas importantes ?
  • Será melhor lançar um determinado produto no litoral ou no interior ? Na capital ou nas cidades menores ?

Se já ficou interessado ou achou que algo faz sentido prá vc, então mãos a obra !

Construí uma aplicação que faz análise de pelo menos 1000 posts de cada Trending Topic do Twitter. A análise é feita através do serviço MeaningCloud, ambos conectados pelo Qlik Web Connectors.

Há dezenas de serviços na web para fazer análises de sentimentos, alguns muito bons, outros pagos, mas escolhi esse por ter uma boa performance e não exigir um conhecimento grande sobre o tema, e mesmo assim, tem uma boa resposta em português.

Entenda que a NLP (Natural Language Processing) é um tema espinhoso e a maioria dos serviços não possui uma boa resposta, girando a assertividade abaixo de 70%. E na nossa língua, o português (do Brasil), isso pode ainda ser pior.

Escolhi o Twitter para obter sentenças curtas, mas com assuntos e informações heterogêneas, grande uso de gírias, vários idiomas, ou seja, um mar de lama para testarmos e entendermos tudo que existe sem um esforço muito grande.

Mas você poderá ajustar essa aplicação em qualquer base, ou local que deseje.

Para fazer nossa análise de sentimentos pelo Qlik, que descrevo aqui nesse artigo você terá que:

  1. Possuir uma conta no Twitter (https//www.twitter.com)
  2. Possuir uma conta no MeaningCloud (https://www.meaningcloud.com)
  3. Instalar e configurar o Qlik WebConnectors (licença paga)
  4. Qlik Sense Desktop (Enterprise também funciona)

O Qlik WebConnectors tem que estar licenciado, mas quem já tem a licença Qlik Sense Enterprise, pode usa-lo em seu desktop. Pode ser instalado em qualquer computador, eu uso no Qlik Sense Desktop com Windows 10 sem problema nenhum. Para saber mais como instalar o Qlik Web Connectors, vá nesse link do Help da Qlik.

Depois da instalação do Qlik Web Connectors, você deverá autenticar sua conta no Twitter e também no MeaningCloud, vamos ver como fazer isso:

1. Configurando Twitter no Qlik Web Connectors.

Acesse o browser com o endereço do Qlik Web Connectors. No Desktop será http://localhost:5555/web

Depois selecione Qlik Twitter Connector 

Selecione CanAuthenticate

Dentro dele, clique no botão Authenticate. Nesse momento, ele irá abrir uma página com a conta do Twitter para gerar o PIN, que você deverá colar de volta no Qlik Web Connectors e Salvar.

Não se esqueça de escolher a opção Use token from user settings. Isso para não ter que passar o token da conexão com o Twitter diretamente na aplicação.

Clicou em Save Inputs & Run Table? Veja se a resposta do Data Preview é OK !! Se for, parabéns, já podemos ler o Twitter pelo Qlik. Senão, repita o processo novamente, e confira se seu perfil no Twitter permite acesso de outras aplicativos.

2. Configurando o MeaningCloud

O processo do MeaningCloud é semelhante. Se já fez o Twitter, clique em View All Connectors no canto superior direito.

Selecione Qlik MeaningCloud Connector

Escolha CanAuthenticate

Cole a API Key, que você recebeu por e-mail ao se cadastrar no MeaningCloud.

Em seguida, escolha o plano da MeaningCloud. Eu uso o Free mesmo, e funciona bem.

Clicou em Save Inputs & Run Table? Veja se a resposta do Data Preview é OK !! Se for, parabéns, já podemos usar o serviço de análise de sentimentos pelo Qlik. Senão, repita o processo novamente, e confira se seu perfil no MeaningCloud, se a API Key está correta.

3. Carregando a aplicação.

Abra o Qlik Sense Desktop e abra a aplicação anexa. Se precisar, cole ela  em %HOMEPATH%\Documents\Qlik\Sense\Apps

Entre no modo editor de scripts.

Se você instalou o Qlik Web Connectors em local diferente ou usa o Enterprise, será preciso editar a Conexão apontando para o local correto.

Na seção Main ajuste os seguintes parâmetros:

// Define quantos tópicos serão pesquisados
LET vTopics=5; 

// Define quantas páginas serão carregadas para cada tópico
// Cada página do Twitter tem 100 registros, ou seja, 5 páginas são 500 registros.
LET vPages=5; 

// Define quantos tweets serão analisados
// Você não precisa analisar todos os registros, pegue os 100, 200 ou 500 registros de cada tópico.
LET vRegSent=100; 

A performance é importante nesse caso, porque a app vai fazer uma chamada para cada post do twitter, o processo gratuito não é batch. Prá efeito de entendimento, fiz análise de 12.500 posts em cerca de 1:20h.

Outro ponto importante, é que o twitter limita o número de páginas em cada request, no máximo 15, o que significa que você poderá fazer até 1500 registros a cada leitura. Outro limitador é o número de requests, que são 180 a cada 15 minutos, ou seja, você tem um limite de 2700 mil registros (15 páginas x 100 registros x 180 requests), se considerar que todos os tópicos tem 1500 registros, o que várias vezes não ocorre. Há outros limitadores, vale a pena ler a documentação do twiiter para isso.

Uma opção seria gerar uma app para ler o Twitter e gerar QVDs e depois outra app para fazer a análise de sentimentos de forma estatística, seria bem interessante.

Bem, voltando ao nosso ponto. Ajustou os parâmetros? Deixou como está? Mande rodar !!

Nos parâmetros acima, o tempo foi cerca de 9 minutos !

4. Analisando os resultados

O MeaningCloud irá classificar cada post dizendo se ele é Muito Positivo, Positivo, Sem sentimento, Negativo ou Muito Negativo. Com isso, é possível entender se um determinado Tópico tem uma avaliação boa ou se está sendo ridicularizada. Há outras informações como Score (Confidence) que diz qual a confiança que a MeaningCloud tem sobre a avaliação dada. Também se é uma ironia, uma coisa extremamente complicada de avaliar pelos computadores.

Você poderá saber o número de Tweets, Retweets e mais outros indicadores. Brinque a vontade ! 

Bem, se tudo deu certo, você já pode analisar os resultados e saber qual a opinião dada para cada um dos tópicos mencionados. Escreva prá mim o que achou e se não deu certo, pode me perguntar !!

 

Abs,

Pedro Bergo

 

 

 

 

Attachments
Version history
Revision #:
1 of 1
Last update:
‎2019-02-22 08:09 PM
Updated by: