P A T H

Como contar as ocorrências de uma palavra em um texto utilizando o Alteryx

O que você vai aprender?

As vezes nos pegamos pensando: “Quantas vezes será que esse artista falou essa palavra na música?” ou “Será que o texto que eu fiz está muito repetitivo?”. Nessa dica você irá aprender como sanar essas questões, pois veremos como contar as ocorrências de uma palavra em um determinado texto utilizando o Alteryx. Assim como, criar um relatório dos trechos onde a palavra apareceu. (E em uma dica futura iremos mostrar como podemos tornar essa interação mais amigável com o usuário utilizando ferramentas de Interface).

INTRODUÇÃO

Freddie Mercury foi um cantor, pianista e compositor britânico, conhecido pelo seu trabalho com a banda britânica de rock Queen, que integrou como vocalista de 1970 até 1991. Freddie tornou-se conhecido pelo seu poderoso tom de voz, mas o que ele tem a ver com o Alteryx? Vamos explicar.

Como exemplo para nossa dica, iremos tomar como inspiração a questão feita lá no primeiro parágrafo e responder a seguinte pergunta: Quantas vezes Freddie canta a palavra “you” na famosa música Bohemian Rhapsody?

Passo 1: Criando entradas para o texto e a palavra

Vamos começar colocando duas Text input Tools, uma vai ter apenas uma coluna chamada “Texto”, essa coluna representa o texto em que a palavra será procurada. A outra text input tool terá apenas uma coluna chamada “Palavra”, é onde ficará a palavra que será procurada.

Passo 2: Dividindo o texto em palavras

Para facilitar a busca pela palavra e para vasculharmos todo o texto, precisamos inserir uma ferramenta de “Texto para colunas” para dividirmos o texto em palavras. Devemos configura-la como mostrado abaixo:

Assim, cada palavra será dividida em uma linha, e o campo “Texto” ficará neste formato:

Passo 3: Procurando ocorrência da palavra em cada linha

Agora que dividimos o texto em palavras, basta usar a ferramenta “Encontrar e Substituir” para checar quando a palavra está presente em cada linha, para isso vamos ligar a saída da ferramenta “texto para colunas” na entrada “F” e a saída da ferramenta text input com o campo “Palavra” na entrada “R”, como mostrado na imagem acima. Vamos configurar a ferramenta assim:

Após isso, nossos dados ficarão nesse formato (quando a linha não tiver a palavra, a coluna “Palavra” será nula e quando a linha tiver a palavra, a coluna “Palavra” não será nula):

Passo 4: Contando total de ocorrências da palavra

Agora vamos dividir o fluxo em duas partes:

– Uma ficará responsável por contar o total de ocorrências da palavra.

– A outra fará o relatório dos trechos onde a palavra aparece.

Esse passo mostra como contar o total de ocorrências da palavra, e é bem simples, basta ligar uma ferramenta de Sumarizar ao fluxo:

Nela, vamos configurar para contar as linhas não nulas da coluna “Palavra”:

E já temos o resultado:

A palavra “you” tem 14 ocorrências na letra da música! Vamos agora apenas fazer uns ajustes nesse campo que foi gerado pela ferramenta Sumarizar:

– Vamos adicionar uma ferramenta de Select, para mudar o tipo do campo gerado de Número para texto, e mudar o Nome para “ocorrências”, como mostrado abaixo:

– E vamos adicionar uma ferramenta de Formula, para adicionar o texto “Total: ” antes do número de ocorrências para tornar o resultado mais intuitivo no relatório:

Passo 5: Criar relatório dos trechos onde a palavra aparece

Vamos adicionar uma ferramenta de “Fórmula de Múltiplas Linhas” para seguir esta regra:

– Toda vez que acharmos uma ocorrência da palavra, vamos pegar as 5 palavras que estão antes e as 5 palavras que estão depois para formar a frase (ou trecho) em que a palavra está inserida. Então por exemplo, na estrofe:

Mamaaa,
Just killed a man,
Put a gun against his head, pulled my trigger,
Now he’s dead
Mamaaa, life had just begun,
But now I’ve gone and thrown it all away
Mama, oooh,
Didn’t mean to make you cry,
If I’m not back again this time tomorrow,
Carry on, carry on as if nothing really matters

 

Precisamos criar uma linha na base com a frase:

… oooh, Didn’t mean to make you cry, If I’m not back…

 

Para isso, vamos configurar a ferramenta com a seguinte fórmula:

Para tornar mais fácil a configuração, aqui está o texto da fórmula:

IF !IsNull([Palavra])

  THEN “… ” + [Row-5:Texto] + ” ” +

                [Row-4:Texto] + ” ” +

                [Row-3:Texto] + ” ” +

                [Row-2:Texto] + ” ” +

                [Row-1:Texto] + ” ” +

                [Texto] + ” ” +

                [Row+1:Texto] + ” ” +

                [Row+2:Texto] + ” ” +

                [Row+3:Texto] + ” ” +

                [Row+4:Texto] + ” ” +

                [Row+5:Texto] + “…”

  ELSE “” ENDIF

 

Após isso, os dados ficarão assim:

Agora, precisamos filtrar apenas quando a coluna “Ocorrências” não estiver vazia, isso nos dará uma base em que o tanto de linhas será o número de ocorrências da palavra. Vamos adicionar a ferramenta de filtro e ela será configurada assim:

Agora podemos usar uma ferramenta de Select para retirar as colunas “Texto” e “Palavra” pois não vamos precisar mais delas. Após isso, nosso fluxo estará assim:

Passo 6: Unificar o fluxo e exportar o resultado

Esta parte é bem simples, basta incluir uma ferramenta de União no final do fluxo e unir as duas pontas, configure para unir pela posição dos campos mesmo:

Depois, basta conectar uma ferramenta de Output de dados para gerar um arquivo de saída e os dados finais ficarão assim:

E esse é o fluxo final:

Se você quer saber como podemos tornar essa interação ainda mais amigável para qualquer usuário, fique de olho em nossas dicas e truques pois logo ensinaremos como aplicar Ferramentas de Interface de Usuário neste cenário.

22 de Abril de 2022

Pronto! Agora você sabe como contar as ocorrências de uma palavra em um texto utilizando o Alteryx.

Language