Free Trial

Blog

Insights e ideias das mentes mais brilhantes em análise de dados.
Garabujo7
Alteryx
Alteryx

Ferramentas para processamento de linguagem natural

 

 

Retirado de Giphy e criado com editor de imagens onlineRetirado de Giphy e criado com editor de imagens online

 

 

Confira a amplitude e a variedade de possibilidades que o Alteryx oferece com Text Mining.


As próximos três ferramentas estão relacionadas com o tópico de Processamento de Linguagem Natural (PNL). A primeira coisa que iremos revisar será o processo de identificação do tópico para o qual usaremos as três ferramentas:

 

 

Garabujo7_1-1602289850667.png

 

 

  • Pré-processamento de texto
  • Modelagem de tópicos
  • Nuvem de palavras

Modelagem de tópicos

É um tipo de modelo estatístico que varre documentos e identifica padrões de uso de palavras e os agrupa em tópicos. Os modelos de tópicos ajudam a organizar e fornecer informações para entender uma grande coleção de texto não estruturado, ajudam os analistas a entender coleções de documentos (conhecidos como corpus no mundo do processamento de idioma nativo), identificando tópicos e organizando os textos em grupos.

 

Passo a passo:

Pré-limpeza de dados

Antes de começar, é uma boa prática fazer uma limpeza de texto usando a ferramenta Limpeza de Dados para remover espaços em branco à esquerda e à direita, números, sinais de pontuação e alterar todo o texto para minúsculas.

 

 

Garabujo7_3-1602289851182.png

 

Pré-processamento de texto

 

Garabujo7_4-1602289851183.png

 

 

Essa ferramenta nos apresenta várias opções para preparar os dados antes de fazer a identificação dos tópicos.

 

 

Garabujo7_5-1602289851186.png

 

 

A primeira etapa é escolher o idioma entre:

 

  • Inglês
  • Alemão
  • Espanhol
  • Francês
  • Português
  • Italiano

 

A seguir está o campo de texto que iremos pré-processar.

 

 

Garabujo7_6-1602289851188.png

 

 

 

Em seguida, selecionamos se queremos aplicar a lematização.

 

Lematizar

 

Lematizar é o processo que padroniza o texto, converte as palavras em suas raízes para facilitar o agrupamento e a análise, como por exemplo:

 

  • Correndo, corri, corro, corre, correm, corria, correu, correram - se lematizarmos esse verbo, seria como correr, no infinitivo.

 

Tokenização

 

Outro processo importante que ocorre no pré-processamento é a tokenização, ou seja, adicionar símbolos individuais a cada componente do texto para poder processá-lo facilmente.

 

O processo consiste em separar cada palavra em uma lista de tokens para que o processo de análise do texto trate cada palavra como um elemento independente.

 

 

Garabujo7_7-1602289851191.png

 

 

Posteriormente, aplicamos os filtros de dígitos e sinais de pontuação.

 

 

Garabujo7_8-1602289851196.png

 

 

Palavras irrelevantes

 

A última etapa é remover as palavras irrelevantes.

 

São palavras que são filtradas antes do processamento do texto para análise. Embora se refiram às palavras mais comuns do idioma (como preposições e pronomes que são frequentes mas não contribuem para o significado do texto e só fornecem validade gramatical), não é possível filtrar todas e nem todas as que são removidas necessariamente têm utilidade.

 

Devido à complexidade da linguagem, existem até palavras que podem ser úteis dependendo do objetivo que se busca.

 

Se pegarmos como exemplo títulos de livros, e removermos os números, não estaríamos considerando livros como "1984" de George Orwell. Para isso é utilizada a biblioteca SpaCy.

 

Se uma palavra entrar sorrateiramente em sua análise, significa que ela não está incluída na lista de palavras irrelevantes da biblioteca, que é onde você pode adicioná-la manualmente para filtrá-la. Se houver várias, você pode separá-las com vírgulas.

 

 

 

Garabujo7_9-1602289851198.png

 

 

Esse processo não produzirá um novo campo com o texto pré-processado e pronto para uso na modelagem de tópicos.

 

Modelagem de tópicos

 

 

Garabujo7_10-1602289851199.png

 

 

 

Para modelar ou identificar tópicos em documentos, usamos o algoritmo LDA (Latent Dirichlet Allocation).

 

Para fazer isso, você basicamente cria grupos ou clusters de palavras de acordo com os padrões de uso de palavras que eles têm. É muito útil para organizar e contribuir com descobertas para a compreensão de grandes quantidades de texto não estruturado e dar sentido à coleções de documentos, identificando temas e organizando textos em grupos.

 

 

As opções de configuração são as seguintes:

 

Começamos selecionando o campo de texto que iremos processar e o número de tópicos que queremos gerar. Normalmente, esta é uma etapa que requer várias iterações e um processo de tentativa e erro para encontrar o número ideal de tópicos, de acordo com o objetivo que procuramos.

 

Requer um processo iterativo, pois o processo utiliza um modelo não supervisionado e difuso, o que facilita o início do uso, pois não requer treinamento, mas requer interpretação dos tópicos pelo usuário.

 

 

 

Garabujo7_11-1602289851201.png

 

 

 

Opções de saída:

  • Gráfico interativo
  • Resumo de relevância das palavras

 

 

Garabujo7_12-1602289851202.png

 

 

 

A seguir, temos as opções do dicionário. Aqui podemos escolher as palavras que queremos considerar para nossa análise.

 

  • Frequência mínima, na imagem ficamos com as palavras que aparecem em pelo menos 5% dos documentos
  • A frequência máxima especifica do limite superior para incluir uma palavra, no caso da imagem consideraremos apenas aquelas que aparecem em menos de 75% dos documentos
  • Máximo de palavras é para limitar o número de palavras que usaremos para a análise.

 

A recomendação ao iniciar é deixar os valores padrão que a ferramenta possui para obter o melhor resultado.

 

 

 

Garabujo7_13-1602289851203.png

 

 

 

E, finalmente, as opções de LDA.

 

  • Alfa: é a densidade de tópicos dentro de cada documento, se aumentarmos o parâmetro, ele reconhecerá mais tópicos e vice-versa.
  • Eta: representa a densidade de palavras necessária para criar um tópico. Quanto maior o valor maior o número de palavras necessárias para identificar um tópico.

 

Aqui a recomendação também é manter as opções sugeridas para o melhor resultado.

 

Resultados

 

Selecionando a saída R (resultados), podemos ver o gráfico interativo com os resultados.

 

 

Garabujo7_14-1602289851204.png

 

Gráfico interativo

 

O gráfico interativo possui duas partes. Uma é o mapa com a distância entre os tópicos que nos mostra o quão semelhantes são os tópicos identificados, onde podemos ver se há sobreposição em alguns termos se eles estiverem separados o suficiente para nossa análise.

 

Isso significa que os tópicos mais próximos entre si têm mais palavras em comum. Para representá-lo, são utilizados componentes principais para reduzir as dimensões e poder visualizá-lo em um gráfico bidimensional.

 

Na imagem temos um mapa com três tópicos e podemos ver que eles estão claramente diferenciados entre si, o tamanho do círculo representa a quantidade de palavras contida em cada tópico.

 

Se selecionarmos um tópico, ele muda de cor e apresenta as palavras que contém no lado esquerdo da tela.

 

 

 

Garabujo7_15-1602289851208.png

 

 

 

No lado esquerdo do gráfico interativo, estão as 30 palavras mais relevantes para cada tópico, onde podemos avaliar o conteúdo de cada tópico e selecionar as palavras que consideramos mais convenientes para atribuir como um tópico para facilitar o consumo do usuário final.

 

As barras indicam o quanto uma palavra aparece dentro do número total de documentos.

 

 

 

Garabujo7_16-1602289851210.png

 

 

 

Saliência é uma métrica específica definida no final da visualização e pode ser considerada a métrica usada para identificar as palavras mais informativas ou úteis para identificar tópicos. Um destaque mais alto indica que a palavra é mais útil na identificação de um tópico específico.

 

 

Garabujo7_17-1602289851211.png

 

 

Quando um tópico é selecionado no mapa de distância do tópico, ou um tópico é especificado no painel superior, o gráfico de barras muda para mostrar as palavras mais proeminentes incluídas no tópico selecionado.

 

Uma segunda barra, mais escura, é exibida acima da frequência total da palavra e mostra a frequência específica do tópico de palavras pertencentes ao tópico selecionado. Se a barra escura se sobrepõe completamente à barra clara, a palavra pertence quase exclusivamente ao tópico selecionado.

 

 

 

Garabujo7_18-1602289851221.png

 

 

 

Quando uma palavra é selecionada no gráfico de barras, os tópicos e as probabilidades de cada tópico dessa palavra são exibidos no mapa de distância entre os tópicos, para que você possa ver quais outros tópicos compartilham essa palavra.

 

Por exemplo, a palavra 'brasil' aparece abaixo em todos os três tópicos.

 

 

 

Garabujo7_19-1602289851228.png

 

 

 

Embora a palavra 'economia' apareça apenas no tópico 1.

 

 

 

 

Garabujo7_20-1602289851236.png

 

 

 

Isso significa que podemos usar as palavras de maior frequência dentro de cada tópico para rotulá-lo, pois no caso anterior, o tópico 2 seria economia/fama.

 

Se ajustarmos a barra com a métrica de relevância em .6, ela nos mostrará os termos que são potencialmente mais raros e exclusivos para o tópico selecionado.

 

 

 

Garabujo7_21-1602289851244.png

 

 

Resumo de palavras por relevância

 

Este resumo é uma versão com os dados da visualização, ele retorna duas métricas: relevância (relevance) e proeminência (saliency).

 

Proeminência

 

Nos ajuda a identificar as palavras mais informativas para identificar tópicos nos documentos. Um valor de destaque mais alto indica que uma palavra é mais útil na identificação de um tópico específico.

 

A proeminência é sempre um valor positivo e não tem valor máximo. Um valor "0" indica que uma palavra está presente em todos os tópicos. O destaque é projetado para ver palavras específicas em relação à totalidade dos documentos que estamos analisando.

 

Relevância

 

É uma métrica usada para ordenar palavras dentro de tópicos. Nos ajuda a identificar as palavras mais relevantes para cada tópico, é um reflexo do nível em que uma palavra pertence a um tópico. Quanto maior for o valor de um determinado tópico, maior a exclusividade dessa palavra para aquele tópico.

 

Ambas as métricas mostram valores relativos que podemos usar para descrever e compreender um tópico específico.

 

 

 

Garabujo7_22-1602289851246.png

 

 

Atribuir tags aos tópicos

 

Para facilitar o processo de atribuição de tags aos tópicos, podemos selecionar a saída R da modelagem do tópico, executá-la e adicionar a ferramenta Fórmula para poder identificar o tópico ao qual cada palavra pertence.

 

 

 

 

Garabujo7_23-1602289851247.png

 

 

Garabujo7_24-1602289851248.png

 

 

Garabujo7_25-1602289851249.png

 

 

 

A fórmula MaxIDX nos dará o número máximo entre os três campos, com um resultado inteiro, e no final adicionamos 1.


Desta forma, teremos atribuído um tópico para cada palavra, juntamente com a proeminência.

 

 

Garabujo7_26-1602289851256.png

 

 

 

A próxima etapa é adicionar a ferramenta Amostra que nos permite selecionar apenas as primeiras N palavras de cada tópico que criamos.

 

 

 

Garabujo7_27-1602289851256.png

 

 

Garabujo7_28-1602289851262.png

 

 

 

E assim obtemos as três palavras mais proeminentes e relevantes.

 

 

 

Garabujo7_29-1602289851265.png

 

 

 

A próxima etapa é criar as tags com base nos termos. Para fazer isso de forma automatizada, podemos criar um resumo que reúne as três palavras para servir de rótulo para o tópico.

 

Faremos isso usando a ferramenta Resumir.

 

 

 

Garabujo7_30-1602289851266.png

 

 

 

Usando uma ferramenta Encontrar e Substituir, podemos alterar os números dos tópicos para tags que fazem mais sentido para os usuários que utilizam esse tipo de análise.

 

 

 

Garabujo7_31-1602289851267.png

 

Garabujo7_32-1602289851275.png

 

 

Garabujo7_33-1602289851281.png

 

 

 

Agora temos cada documento marcado com o tópico correspondente. Com isso podemos resumir os tópicos para contar quantos documentos pertencem a cada categoria.

 

 

 

Garabujo7_34-1602289851282.png

 

 


Visualizar os tópicos em uma nuvem de palavras personalizada

 

Agora, para categorizar cada documento em seu tópico, faremos um processo semelhante.

 

Pegando a saída D da modelagem de tópicos, adicionamos uma ferramenta Fórmula.

 

 

 

 

Garabujo7_35-1602289851284.png

 

 

 

Aplicamos a fórmula para obter o tema de maior relevância para cada documento.

 

 

 

Garabujo7_36-1602289851288.png

 

 

 

Filtramos cada tópico para poder visualizá-lo de forma independente.

 

 

 

Garabujo7_37-1602289851289.png

 

 

 

Usando a ferramenta Nuvem de Palavras, configuramos a visualização.

 

 

 

Garabujo7_38-1602289851290.png

 

 

 

Primeiro, selecionamos o campo que queremos visualizar. Se quisermos personalizar a nuvem de palavras, selecionamos a opção correspondente.

 

 

 

Garabujo7_39-1602289851296.png

 

 

 

Para personalizar a nuvem, temos várias possibilidades.

 

  • Podemos escolher uma cor de fundo
  • Selecionar o número máximo de palavras necessárias
  • Redimensionar
  • E mascarar, isso significa que podemos criar uma imagem como um logotipo para que a nuvem seja mostrada dessa forma.

 

 

Garabujo7_40-1602289851300.png

 

 

Para pegar uma imagem como modelo, temos que adicionar uma ferramenta Entrada de Blob da categoria Desenvolvedor e selecionar o caminho onde o arquivo está localizado.

 

 

 

Garabujo7_41-1602289851301.png

 

Garabujo7_42-1602289851303.png

 

 

 

Feito isso, na configuração da nuvem de palavras, a opção Blob aparecerá no campo Máscara.

 

Depois que o fluxo é executado, a nuvem de palavras é apresentada. Nesse caso, usei uma imagem do Twitter para modelar o gráfico.

 

 

 

Garabujo7_43-1602289851315.png

 

 

 

A imagem que usei como modelo é a seguinte.

 

 

 

Garabujo7_44-1602289851317.png

 

 

Desta forma, é mais fácil consumir a análise do tópico e fazê-lo automaticamente para aproveitar todo o potencial da plataforma de Automação de Processos Analíticos.

 

Espero que este artigo seja interessante e útil para você.


Agora vamos dançar um pouco.

 

 

 

 

Happy 13.gif

 

 

Rótulos