Utilizar a inteligência artificial a favor da sua marca para direcionar resultados positivos para a sua empresa é mais simples do que você imagina.
Nesta matéria iremos falar um pouco sobre a azure e demonstrar de maneira prática a utilização de algumas das APIs de análises de texto presente na suíte de serviços cognitivos da Azure.
Criando uma conta na Azure
O primeiro passo é acessar o link portal.azure.com. Se você não tiver uma conta microsoft, crie uma conta e faça o login. Em seguida faça a assinatura da Azure.
No link https://azure.microsoft.com/pt-br/free/ você encontra informações detalhadas para a criação da sua conta e fazer a assinatura e ainda ganha um crédito de R$ 750,00 para explorar os recursos da Azure por 12 meses.
Após realizar a assinatura, você deverá ser direcionado para uma tela parecida com esta:
Gerando a interface com a API Text Analytics
No Portal Azure pesquise por Serviços Cognitivos (ou Cognitive Services, se o seu portal estiver em ingês):
Clique em ‘ + Adicionar’ e em seguida pesquise por ‘Text Analytics’
Clique em ‘Criar’ e preencha os campos conforme abaixo:
Perceba que dei o nome ‘GenuxConsultCognitive’ e este nome será o prefixo do endpoint para as nossas chamadas as APIs.
Após clicar em criar, o endpoint será gerado junto com a sua API key para chamada as APIs. Note que temos 4 interfaces de APIs em TextAnalytics, mas utilizaremos apenas a api ‘keyPhrases’ e a ‘Sentiment’.
Azure KeyPhrases API
A api keyPhrases foi treinada para receber um texto como parâmetro e retornar todas as palavras ou frases com relevância dentro do contexto. Mais adiante faremos um exemplo de como utilizá-la.
Azure Sentiment API
A api sentiment foi treinada para receber um texto como parâmetro e analisar se o texto tem sentimento positivo ou negativo. Imagine poder analisar automaticamente um texto de opinião dos clientes sobre sua empresa.
Esta api retorna um range de valor de 0 a 1, onde mais próximo de zero significa um sentimento negativo e mais próximo de 1 indica um sentimento positivo.
Importando uma base de pesquisa qualitativa no Power BI
Enfim retornaremos ao Power BI para realizar a importação da planilha de pesquisa qualitativa de clientes que servirá de base para o nosso dashboard de análise.
Para o nosso exemplo, utilizarei uma base pública de comentários em vídeos do youtube baixados no link https://www.kaggle.com/datasnaek/youtube-new/data#.
Irei utilizar os arquivos USvideos.csv e US_category_id.json para construção do nosso dashboard.
Após a importação da informação iniciaremos a construção do nosso dashboar pelo relacionamento entre as bases de videos e de categoria conforme figura abaixo:
Fazendo chamada a APIs através do Power BI
No Power BI, abra o Power Query através ‘Editar Consultas’, logo após clique em ‘Nova Fonte’ -> ‘Consulta Nula’. Defina o nome ‘Sentiment’ para esta consulta e clique em ‘Editor Avançado’.
Será aberto um editor para linguagem M onde colocaremos o código de chamada da nossa API conforme abaixo:
(texto) => let
apikey = @apikey,
endpoint =@endpoint + “/text/analytics/v2.1/sentiment”,
jsontext = Text.FromBinary(Json.FromValue(Text.Start(Text.Trim(texto), 5000))),
jsonbody = “{ documents: [ { language: “”pt””, id: “”0″”, text: ” & jsontext & ” } ] }”,
bytesbody = Text.ToBinary(jsonbody),
headers = [#”Ocp-Apim-Subscription-Key” = apikey],
bytesresp = Web.Contents(endpoint, [Headers=headers, Content=bytesbody]),
jsonresp = Json.Document(bytesresp),
sentiment = jsonresp[documents]{0}[score]
in sentiment
Após clicar em ‘ok’, teremos a função personalizada chamado a api sentiment na azure.
Faremos o mesmo para chamar a api keyPhrases. No Power Query, clique em ‘Nova Fonte’ -> ‘Consulta Nula’, nomeie a função como keyphrases e clique em ‘Editor Avançado’. Coloque o código abaixo e clique em ‘ok’.
(texto) => let
apikey = @apikey,
endpoint = @endpoint + “/text/analytics/v2.1/keyPhrases”,
jsontext = Text.FromBinary(Json.FromValue(Text.Start(Text.Trim(texto), 5000))),
jsonbody = “{ documents: [ { language: “”pt-BR””, id: “”0″”, text: ” & jsontext & ” } ] }”,
bytesbody = Text.ToBinary(jsonbody),
headers = [#”Ocp-Apim-Subscription-Key” = apikey],
bytesresp = Web.Contents(endpoint, [Headers=headers, Content=bytesbody]),
jsonresp = Json.Document(bytesresp),
keyphrases = Text.Lower(Text.Combine(jsonresp[documents]{0}[keyPhrases], “, “))
in keyphrases
Aplicando as APIs cognitivas em minha pesquisa qualitativa
Faremos a chamada das funções cognitivas da Azure em cada uma das linhas de registros de nossas bases através de colunas de funções personalizadas.
Para tal, clique no menu ‘Adicionar Coluna’ -> ‘Invocar Função Personalizada’.
Inclua a coluna fazendo a chamada das funções ‘Sentiment’ e ‘keyPhrases’ conforme abaixo:
Montagem do dashboard para análise dos dados
Após a carga dos dados, feche o Power Query e volte à interface do Power BI para trabalharmos os dados no dashboard.
Para definição da métrica de sentimento estabeleceremos um padrão: Quando o índice de sentimento for menor que 0,40 indica que o sentimento é negativo, se o índice chegar até 0,60 indica ser um sentimento Neutro e caso ele seja maior que 0,60 indica ser um sentimento Positivo.
Para estabelecer essa régua, criaremos uma coluna com a seguinte fórmula:
IndicadorSentimento =
if(USvideos[IndiceSentimento]<=0,4;"Negativo";
if(USvideos[IndiceSentimento]>=0,6;”Positivo”;
“Neutro”))
Criando uma nuvem de conceito (visual Word Cloud)
O primeiro visual que colocaremos no nosso dashboard será o word cloud 2.0 baixado do marketplace.
Este visual cria uma nuvem de conceito baseada nas palavras chaves extraídas do texto pela api keyPhrases:
Utilizando o visual TreeMap
Faremos uso também do visual Treemap para que possamos visualizar as análises dos dados por categoria:
Informações e filtros importantes
Utilizaremos o segmentador de dados para estabelecer botões de filtro para sentimentos negativos, positivos os neutros. Também utilizaremos cards para visualizar informações segmentadas. Ao final teremos um dashboard com estas informações:
Análises possíveis
Com este dashboard que criamos, é possível visualizar quais as palavras relevantes que mais aparecem nos comentários, quantos comentários, likes ou deslikes existem por categoria de vídeos e é possível até cruzar informações de sentimento negativo com likes, por categoria.
Como percebemos, a diversidade de análises é enorme e pode ser aprofundado ainda mais com a criação das mais diversas métricas.
Espero que tenham gostado do conteúdo e caso queiram mais informações a respeito entre em contato conosco pelo e-mail contato@genuxConsult.com.br.
O dashboard criado nesta matéria está disponível para download em PbixAzureCognitive.