- Inscrever-se no RSS Feed
- Marcar como novo
- Marcar como lido
- Marcar como favorito
- Inscrever-se
- Versão para impressão
- Notificar o moderador
- Inscrever-se no RSS Feed
- Marcar como novo
- Marcar como lido
- Marcar como favorito
- Inscrever-se
- Versão para impressão
- Notificar o moderador
Ferramentas para processamento de linguagem natural
Retirado 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:
- 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.
Pré-processamento de texto
Essa ferramenta nos apresenta várias opções para preparar os dados antes de fazer a identificação dos tópicos.
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.
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.
Posteriormente, aplicamos os filtros de dígitos e sinais de pontuação.
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.
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
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.
Opções de saída:
- Gráfico interativo
- Resumo de relevância das palavras
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.
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.
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.
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.
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.
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.
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.
Embora a palavra 'economia' apareça apenas no tópico 1.
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.
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.
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.
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.
A próxima etapa é adicionar a ferramenta Amostra que nos permite selecionar apenas as primeiras N palavras de cada tópico que criamos.
E assim obtemos as três palavras mais proeminentes e relevantes.
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.
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.
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.
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.
Aplicamos a fórmula para obter o tema de maior relevância para cada documento.
Filtramos cada tópico para poder visualizá-lo de forma independente.
Usando a ferramenta Nuvem de Palavras, configuramos a visualização.
Primeiro, selecionamos o campo que queremos visualizar. Se quisermos personalizar a nuvem de palavras, selecionamos a opção correspondente.
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.
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.
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.
A imagem que usei como modelo é a seguinte.
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.
Você deve ser um usuário registrado para adicionar um comentário aqui. Se você já estiver registrado, faça logon. Se você ainda não estiver registrado, registre-se e faça logon.