For the complete documentation index, see llms.txt. This page is also available as Markdown.

Ordem das palavras e diversidade de expressões

Este tutorial aprofunda como criar conjuntos ideais de expressões para seu modelo de NLP usando ordem das palavras e diversidade de palavras.

Para garantir que seu chatbot entenda os usuários de forma eficaz, ele deve analisar dois elementos-chave:

  • as palavras específicas usadas

  • a ordem em que essas palavras são usadas

Ordem das palavras

A ordem das palavras pode impactar significativamente o significado. Por exemplo, quero pegar o trem, não o carro difere de quero pegar o carro, não o trem, apesar de conter as mesmas palavras em uma ordem diferente.

Ao gerar expressões para o seu chatbot, é crucial considerar todas as ordens de palavras e estruturas sintáticas plausíveis.

Exemplo

Por exemplo, se você estiver alimentando sua intent book_train_ticket com expressões, certifique-se de considerar diferentes:

  • Quero pegar o trem para Paris.

  • Para Paris, quero pegar o trem.

  • Quero ir para Paris de trem.

Embora algumas estruturas possam não ser perfeitamente gramaticais, é importante incluí-las, pois os usuários nem sempre podem estar sintaticamente corretos. Se o significado estiver claro para um ser humano, ele deve fazer parte do seu modelo.

Diversidade de palavras

Para garantir que seu chatbot entenda a diferença entre entradas boas e ruins, use palavras diversas e pertinentes ao caso de uso. Para casos restritos, controle rigorosamente o vocabulário.

Vetores de palavras

Para tornar as palavras utilizáveis por algoritmos de aprendizado de máquina, elas são convertidas em vetores numéricos com centenas ou milhares de dimensões, semelhantes a coordenadas em um gráfico.

A vantagem dessa abordagem é que ela agrupa naturalmente palavras com significados semelhantes, como "barco" e "navio", próximas umas das outras no espaço vetorial. Com as técnicas certas, os vetores de palavras podem capturar relações ainda mais complexas. Por exemplo, "carros" e "aviões" são ambos meios de transporte e estarão relacionados, mas suas diferenças também são preservadas.

Se colocarmos esses meios de transporte em um gráfico simples, fica algo assim:

Exemplo de como as palavras são representadas para aprendizado de máquina.
Exemplo

Por exemplo, para criar um chatbot para organizar transporte terrestre, você deve ser preciso com o eixo horizontal — sem água, não há transporte por barco. O eixo vertical pode ser mais flexível; por exemplo, uma bicicleta basta para pequenas encomendas em cidades lotadas, enquanto cargas maiores exigem caminhões ou trens. Os diferentes meios de transporte que você consideraria estão destacados em amarelo abaixo.

Considere outro cenário em que você precise transportar algo grande, independentemente do meio de transporte — terra, água ou ar. Aqui, carros e bicicletas não são adequados, mas um barco, trem ou avião seriam apropriados. Nesse cenário, você deve permitir alguma variedade horizontal, mas limitar a diversidade vertical, como mostrado pela caixa azul na ilustração.

Como criar conjuntos ideais de expressões

Agora que sabemos o quão importantes são a diversidade de palavras e a ordem das palavras, podemos usar essa percepção para criar um guia passo a passo sobre como montar um bom conjunto de expressões.

Para facilitar esse processo, gerar expressões de sua Intenções aba..

Para ser ideal na sua entrada manual de expressões:

  1. Crie uma lista de expressões com ordens de palavras muito diferentes. Tente pensar em o maior número possível de frases estranhas que possam transmitir sua intenção de pegar o trem. Não se preocupe se esquecer algo; você sempre pode voltar a essa etapa mais tarde e adicionar outras frases.

Exemplo

Se olharmos para as expressões mostradas acima para pegar o trem, já podemos usar as frases acima e adicionar mais algumas:

  1. Quero pegar o trem para Paris

  2. Para Paris quero pegar o trem

  3. Quero ir para Paris de trem

  4. De trem é como quero ir para Paris

  5. Para Paris de trem é como quero ir

  6. …

  1. Seja diverso. Nesta etapa, você pega todas as frases listadas acima e pensa em tantos sinônimos quanto possível.

  • Comece dividindo uma expressão geral que represente sua intenção em uma série de componentes.

Exemplo

Para ilustrar como isso funciona, vamos usar a frase: Quero ir para Paris de trem. Primeiro, você remove os componentes dessa frase, assim:

  • Quero

  • ir

  • como

  • Paris

  • de

  • treinar

  • Encontre sinônimos para cada um desses componentes. Aqui é importante cobrir a maior diversidade de palavras possível para cada termo.

Exemplo

Pegar Quero por exemplo. Você pode substituir isso por:

  • Eu gostaria de

  • Eu devo

  • Eu deveria

  • Eu prefiro

  • Deixe-me

  • …

  1. Repita isso para cada palavra ou conjunto de palavras.

Exemplo

Usando geração de expressões, isso ficará algo assim:

  • Quero ir para Paris

  • Eu gostaria de viajar na direção de Paris

  • Eu deveria ir para Paris

Se mais tarde você tiver um sinônimo adicional, basta adicioná-lo à lista de alternativas. Assim, você não precisa verificar todas as suas expressões novamente para ver se deixou algo passar.

Seguindo essa abordagem, você pode gerar rapidamente uma grande quantidade de expressões. Se você observar o exemplo acima para “Quero ir para Paris de trem”, todas as combinações possíveis para essa frase somam 6 x 3 x 3 x 2 x 2 x 3 = 648 expressões! Então, se você repetir isso para todas as 5 frases acima, acabará com mais de 3.000 expressões e só precisou pensar em 5 ou 6 frases. Sem complicação.

Atualizado

Isto foi útil?