Compartilhar via


Como a correspondência difusa funciona no Power Query

Os recursos do Power Query, como mesclagem difusa, valores de cluster e agrupamento difuso , usam os mesmos mecanismos para funcionar como correspondência difusa.

Este artigo aborda muitos cenários que demonstram como aproveitar as opções que a correspondência difusa tem, com o objetivo de deixar claro "difuso".

Observação

Embora a opção de valores de cluster esteja disponível apenas no Power Query Online, os mecanismos mostrados nesta seção também se aplicam a mesclagem difusa e agrupamento difuso.

Ajustar o limite de similaridade

O melhor cenário para aplicar o algoritmo de correspondência difusa é quando todas as cadeias de caracteres de texto em uma coluna contêm apenas as cadeias de caracteres que precisam ser comparadas e nenhum componente extra. Por exemplo, a comparação com Apples4ppl3s os resultados de pontuações de similaridade mais altas do que a comparação com ApplesMy favorite fruit, by far, is Apples. I simply love them!.

Como a palavra Apples na segunda cadeia de caracteres é apenas uma pequena parte da cadeia de caracteres de texto inteira, essa comparação produz uma pontuação de similaridade menor.

Por exemplo, o conjunto de dados a seguir consiste em respostas de uma pesquisa que teve apenas uma pergunta: "Qual é a sua fruta favorita?"

Fruta
Mirtilos
Frutos azuis são simplesmente os melhores
Morangos
Morangos = <3
Apples
'sples
4ppl3s
Bananas
fav fruit é bananas
Banas
Minha fruta favorita, de longe, são maçãs. Eu simplesmente os amo!

A pesquisa forneceu uma única caixa de texto para inserir o valor e não teve validação.

Agora você tem a tarefa de agrupar os valores. Para fazer essa tarefa, carregue a tabela anterior de frutas no Power Query, selecione a coluna e, em seguida, selecione a opção Valores de cluster na guia Adicionar coluna na faixa de opções.

Captura de tela com a opção de valores de cluster dentro da guia Adicionar coluna na faixa de opções disponível depois de selecionar a coluna Frutas da tabela.

A caixa de diálogo Valores do Cluster é exibida, na qual você pode especificar o nome da nova coluna. Nomeie este novo cluster de colunas e selecione OK.

Captura de tela da caixa de diálogo valores do cluster depois de selecionar a coluna Fruta. O novo campo nome da coluna é definido como Cluster.

Por padrão, o Power Query usa um limite de similaridade de 0,8 (ou 80%). O valor mínimo de 0,00 faz com que todos os valores com qualquer nível de similaridade correspondam uns aos outros, e o valor máximo de 1,00 só permite correspondências exatas. Uma "correspondência exata" difusa pode ignorar diferenças como maiúsculas, ordem de palavras e pontuação. O resultado da operação anterior produz a tabela a seguir com uma nova coluna cluster .

Captura de tela da saída padrão com uma nova coluna cluster depois de executar a operação de valores de cluster na coluna Fruit com valores padrão.

Enquanto o clustering é feito, ele não está dando os resultados esperados para todas as linhas. A linha número dois (2) ainda tem o valor Blue berries are simply the best, mas deve ser clusterizado Blueberriespara , e algo semelhante acontece com as cadeias Strawberries = <3de texto, fav fruit is bananase My favorite fruit, by far, is Apples. I simply love them!.

Para determinar o que está causando esse clustering, clique duas vezes em valores clusterizados no painel de etapas aplicadas para trazer de volta a caixa de diálogo Valores do Cluster . Dentro dessa caixa de diálogo, expanda as opções de cluster Difuso. Habilite a opção Mostrar pontuações de similaridade e selecione OK.

Captura de tela da janela valores de cluster com as opções de cluster difusas exibidas e a opção mostrar pontuações de similaridade selecionada.

Habilitar a opção Mostrar pontuações de similaridade cria uma nova coluna em sua tabela. Esta coluna mostra a pontuação exata de similaridade entre o cluster definido e o valor original.

Captura de tela da tabela com uma nova coluna de pontuação de similaridade chamada Fruit_Cluster_Similarity.

Após uma inspeção mais detalhada, o Power Query não pôde encontrar outros valores no limite de similaridade para as cadeias de caracteres Blue berries are simply the bestde texto ,Strawberries = <3fav fruit is bananas e My favorite fruit, by far, is Apples. I simply love them!.

Volte para a caixa de diálogo Valores do Cluster mais uma vez clicando duas vezes em valores clusterizados no painel de etapas aplicadas. Altere o limite de Similaridade de 0,8 para 0,6 e selecione OK.

Captura de tela da caixa de diálogo valores de cluster com as opções de cluster difusas exibidas e o limite de similaridade definido em 0,6.

Essa alteração o aproxima do resultado que você está procurando, exceto pela cadeia de caracteres de texto My favorite fruit, by far, is Apples. I simply love them!. Quando você alterou o valor do limite de similaridade de 0,8 para 0,6, o Power Query agora foi capaz de usar os valores com uma pontuação de similaridade que começa de 0,6 até 1.

Captura de tela da tabela depois de definir o limite de similaridade em 0,6 com novos valores atribuídos na coluna Cluster.

Observação

O Power Query sempre usa o valor mais próximo do limite para definir os clusters. O limite define o limite inferior da pontuação de similaridade aceitável para atribuir o valor a um cluster.

Você pode tentar novamente alterando a pontuação de similaridade de 0,6 para um número menor até obter os resultados que você está procurando. Nesse caso, altere a pontuação similaridade para 0,5. Essa alteração gera o resultado exato que você está esperando com a cadeia de My favorite fruit, by far, is Apples. I simply love them! caracteres de texto agora atribuída ao cluster Apples.

Captura de tela da tabela com todos os valores corretos na coluna Cluster.

Observação

Atualmente, apenas o recurso valores de cluster no Power Query Online fornece uma nova coluna com a pontuação de similaridade.

Considerações especiais para a tabela de transformação

A tabela de transformação ajuda você a mapear valores de sua coluna para novos valores antes de executar o algoritmo de correspondência difusa.

Alguns exemplos de como a tabela de transformação pode ser usada:

Importante

Quando a tabela de transformação é usada, a pontuação máxima de similaridade para os valores da tabela de transformação é 0,95. Esta penalidade deliberada de 0,05 está em vigor para distinguir que o valor original dessa coluna não é igual aos valores aos quais foi comparado desde que ocorreu uma transformação.

Para cenários em que você primeiro deseja mapear seus valores e, em seguida, executar a correspondência difusa sem a penalidade de 0,05, recomendamos que você substitua os valores da coluna e execute a correspondência difusa.