Criar uma Intenção

Veja a seguir as etapas para criar uma intenção em uma habilidade.

Para criar uma intenção:
  1. Clique em Intenções Esta é uma imagem do ícone Intenção. na barra de navegação esquerda.
  2. Se você já tiver definido suas intenções em um arquivo CSV, clique em Importar Intenções. Importar Intenções de um Arquivo CSV descreve o formato desse arquivo. Caso contrário, clique em Adicionar Intenção. Sua habilidade precisa de pelo menos duas intenções.
  3. Clique em Esta é uma imagem do ícone Editar para digitar um nome descritivo ou uma frase para a intenção no campo Nome da Conversa. Por exemplo, se o nome da intenção for callAgent, o nome da conversa será Falar com um representante do cliente. Quando a habilidade não consegue resolver uma mensagem como intenção, ela gera nomes e frases simples do usuário que você digita no campo Nome da Conversa como as opções listadas nas mensagens de desambiguação Deseja descritas em Como Funciona a Margem de Ganho de Confiança e Configurar o Roteamento de Intenção e Módulo de Perguntas e Respostas.
  4. Adicione o nome da intenção no campo Nome. Se você não digitar um nome de conversa, o valor do campo Nome será utilizado. Lembre-se de que um nome curto sem pontuação final pode não contribuir para a experiência do usuário. O nome da intenção é exibido no campo Nome da Conversa para habilidades criadas com versões anteriores do Digital Assistant.
    Observação

    Ao nomear suas intenções, não use system. como prefixo. system. é um namespace reservado para as intenções que fornecemos. Como as intenções com este prefixo são tratadas de forma diferente pelo Trainer Tm, usá-lo pode fazer com que suas intenções sejam resolvidas de forma inesperada.
  5. Adicione uma descrição da intenção. Sua descrição deve focar no que torna a intenção exclusiva e na tarefa ou nas ações que ela executa.
  6. Se essa for uma intenção de resposta, adicione uma resposta curta ao campo Resposta.
  7. Opcionalmente, no campo Anotações, adicione uma ou mais tags para a intenção de categorizá-la de uma forma útil para você. Você pode usar qualquer palavra de sua escolha.

    Dica:

    Na página Intenções, você pode filtrar a exibição de intenções por anotação.
  8. Comece a criar o corpus de treinamento, adicionando declarações de exemplo que ilustrem o significado por trás da intenção. Para garantir a resolução ideal da intenção, use termos, texto e frases específicos da intenção individual. Idealmente, você deve basear seus dados de treinamento em frases do mundo real. Você pode salvar as declarações clicando em Enter ou fora do campo de entrada. Para gerenciar o conjunto de treinamento, selecione uma linha para acessar as funções Editar (Esta é uma imagem do botão Editar.) e Excluir (Esta é uma imagem da função Excluir.).
    Se sua habilidade suportar vários idiomas nativos, aumente o conjunto de treinamento com frases nos idiomas secundários para aumentar a precisão do modelo neste e em todos os outros idiomas nativos suportados pela habilidade.

    Consulte Criar seu Corpus de Treinamento para obter dicas sobre como criar um corpus de treinamento eficaz.
    Para permitir que sua habilidade distinga claramente entre intenções, crie uma intenção que resolva entrada inapropriada ou incompreensível do usuário.
    Embora as declarações possam ser adicionadas a uma intenção existente manualmente ou importando um CSV, elas também podem ser designadas a intenções por meio de jobs de fabricação de dados e do retrainer do Insights.
  9. No campo Sugestões de Preenchimento Automático, insira um conjunto de frases sugeridas que ajudam o usuário a inserir uma solicitação com palavras apropriadas. Não adicione todo o conjunto de dados de treinamento. Adicione um conjunto de frases que representam solicitações ideais do usuário. Adicionar um conjunto de declarações muito amplo pode não só confundir os usuários, mas também pode resultar em comportamento inesperado.
    Esta etapa é opcional. Esta função só é suportada pelo Canal Oracle Web.
  10. Adicione uma entidade se ela precisar de uma para resolver a entrada do usuário. Para saber como, consulte Adicionar Entidades a Intenções.
  11. Para ensinar sua habilidade a compreender a entrada do usuário usando o conjunto de declarações que você forneceu até aqui, clique em Treinar, escolha um modelo e clique em Submeter.
    Conforme descrito em Qual Modelo de Treinamento Devo Usar?, nós fornecemos dois modelos que aprendem com o seu corpus de treinamento: Trainer Ht e Trainer Tm. Cada um usa um algoritmo distinto para reconciliar a entrada do usuário com base nas intenções. O Trainer Ht usa correspondência de padrões; o Trainer Tm, um algoritmo de aprendizado de máquina que utiliza vetores de palavras. As habilidades que usam suporte ao idioma nativo do Digital Assistant e as habilidades com intenções de resposta exigem o Trainer TM.
    Geralmente, você seguiria este processo:
    1. Crie o corpus de treinamento inicial.

    2. Treine com o Trainer Ht. Comece com o Trainer Ht porque ele não precisa de um conjunto grande de declarações. Desde que haja declarações suficientes para eliminar as ambiguidades das intenções, sua habilidade poderá resolver a entrada do usuário.

      Se você receber uma mensagem Something’s gone wrong quando tentar treinar sua habilidade, talvez não tenha adicionado um número suficiente de declarações para dar suporte ao treinamento. Primeiramente, verifique se você tem pelo menos duas intenções com pelo menos duas (ou preferivelmente mais) declarações cada. Caso você não tenha adicionado declarações suficientes, adicione mais algumas e então treine sua habilidade.

    3. Refine seu corpus e treine novamente com o Trainer Ht. Repita conforme necessário — o treinamento é um processo iterativo.

    4. Treine com o Trainer Ht. Use esse treinador quando tiver acumulado um conjunto robusto de intenções.

    O Treinamento Necessário é exibido sempre que você adiciona ou quando atualiza uma intenção, seja adicionando, alterando ou excluindo declarações. Para atualizar o treinamento, escolha um modelo de treinamento e clique em Treinar. O modelo exibe um ponto de exclamação sempre que precisa de treinamento. Quando seu treinamento está atual, ele exibe uma marca de seleção.

  12. Clique em Testar Declarações (localizado na parte superior esquerda) para abrir o Testador de Declaração. Selecione o idioma de destino e digite declarações semelhantes às do seu conjunto de treinamento. O Testador de Declaração retorna o nível de confiança da declaração e permite que você a designe a uma intenção ou adicione-a como caso de teste.
    Para registrar os resultados do teste de intenção, ative o log de intenção de conversa ( Definições > Geral > Ativar Insights).
  13. Clique em Validar e verificar as mensagens de validação em busca de erros como muito poucas declarações e para obter orientação sobre a aplicação de melhores práticas, como adicionar uma intenção unresolvedIntent.

Adicionar Entidades a Intenções

Algumas intenções exigem que entidades — incorporadas e personalizadas — para concluir uma ação dentro do fluxo de caixas de diálogo ou fazer uma chamada REST para uma API de backend. O sistema só utiliza essas entidades, que são conhecidas como entidades de intenções, para cumprir a intenção associada a elas. Você pode associar uma entidade a uma intenção quando clica em Adicionar Nova Entidade e depois seleciona entre as entidades personalizadas (Esta é uma imagem do ícone Personalizado.) ou incorporadas (Esta é uma imagem do ícone Sistema.). Se você estiver designando uma entidade incorporada, deixe a opção Agnóstico do Valor ativada (o padrão) se os valores de entidade específicos não forem considerados na classificação da intenção (o que geralmente é o caso). Se a intenção exigir um valor de entidade específico, desative esse recurso.
Observação

Agnóstico de Valor só se aplica a entidades incorporadas. Não é possível aplicá-lo a entidades personalizadas.


Você tem a opção de clicar em Nova Entidade para adicionar uma entidade específica da intenção.

Dica:

Somente as entidades de intenção incluídas nos payloads JSON são enviadas ao Component Service e retornadas por ele. As que não estiverem associadas a uma intenção não serão incluídas, mesmo que contribuam para a resolução da intenção reconhecendo a entrada do usuário. Se seu componente personalizado acessar entidades por meio de correspondências de entidade, certifique-se de adicionar a entidade à sua intenção.

Entidades de Intenção Independentes de Valor

O recurso Agnóstico do Valor permite ajustar como os valores da entidade afetam a classificação da intenção. Quando você ativa esse recurso, os valores específicos de uma entidade incorporada associada não têm relação com a classificação da intenção. No entanto, ao desativar esse recurso, você permite que o valor da entidade desempenhe um papel fundamental na resolução da entrada.

Em geral, você pode deixar esse recurso em sua definição padrão (ativado) porque um valor de entidade específico raramente fatores na classificação de intenção. As declarações de treinamento de uma intenção de saldos de conta, por exemplo, podem incluir datas específicas (Qual foi meu saldo em 5 de outubro?), mas esses valores não são o fator decisivo na resolução da entrada para a intenção. Deixar a opção Agnóstica do Valor ativada melhorará, na maioria dos casos, a resolução da intenção porque impede que os valores afetem as pontuações de confiança ou até mesmo sinalizem uma intenção não intencional. No entanto, sempre que valores específicos desempenharem um papel fundamental na resolução da intenção, você deverá desativar esse recurso. Por exemplo, você desativaria o recurso se o valor de uma DATA fosse fundamental para distinguir uma intenção de verificar saldos de férias passados de uma intenção que verifica saldos de férias futuros. Se essas intenções fossem independentes de data, o modelo ignoraria o passado e o presente e não resolveria a entrada corretamente.
Intenções de Exemplo Entidade Associada Declarações de Treinamento Ativar Agnóstico de Valor?
Saldo da Conta DATE
  • Você pode me informar o saldo da minha conta ontem?
  • Quanto tenho na conta?
  • Qual foi o meu saldo em 5 de outubro?
  • Qual foi o saldo do meu cartão de crédito na última semana?
  • Qual é o meu saldo bancário hoje?
  • Qual foi o saldo da minha conta poupança em 5/3?
Sim - Os valores de data específicos não sinalizam a intenção. Os vários valores de data nessas declarações podem ser ignorados porque um usuário pode solicitar um saldo de conta em qualquer dia.
Horário da Loja de Feriados DATE
  • Você está aberto em 1o de janeiro?
  • Você está aberto em Ação de Graças?
  • Horas para Dia de Ano Novo
  • Qual é o horário de funcionamento da loja em 4 de julho?
  • Quais são os seus horários de férias?
  • Você estará aberto no Natal?
Não - A classificação da intenção é baseada em um conjunto específico (e limitado) de valores e os usuários estão perguntando sobre feriados.
  • Verificar Saldo de Férias Passadas
  • Verificar Saldo de Férias Futuras
DATE
  • Verificar Saldo de Férias Passadas
    • Eu tirei alguma folga último mês?
  • Verificar Saldo de Férias Futuras
    • Alguma férias planejadas no próximo mês?
Não - Desative Agnóstico de Valor para ambas as intenções. Nesse caso, valores DATE agnósticos significariam que o modelo não consideraria um valor como passado ou futuro. Um valor "último mês", que deve sinalizar a intenção Verificar Saldo de Férias Passado, será ignorado. Como resultado, uma entrada com palavras semelhantes, como "Eu tirei alguma folga no próximo mês", pode ser resolvida incorretamente para essa intenção.

Importar Intenções de um Arquivo CSV

Você pode adicionar suas intenções manualmente ou importá-las de um arquivo CSV. Você pode criar esse arquivo com base em um CSV de intenções exportadas ou criando-o do zero em um programa de planilha ou arquivo de texto.

O arquivo CSV tem seis colunas para habilidades que usam o modo de idioma Suportado Nativamente e cinco colunas para aquelas que não usam. Estes são os nomes das colunas e o que elas representam:

  • query: Um exemplo de declaração.
  • topIntent: A intenção à qual a declaração deve corresponder.
  • conversationName: O nome da conversa da intenção.
  • answer: Para intenções de resposta, a resposta estática da intenção.
  • enabled: Se true, a intenção será ativada na habilidade.
  • nativeLanguageTag: (Para habilidades com suporte ao idioma nativo somente) o idioma da declaração. Para valores, use tags de idioma de dois caracteres (fr, en etc.).
    • Para habilidades com suporte ao idioma nativo do Digital Assistant, essa coluna é obrigatória.
    • Para habilidades sem suporte ao idioma nativo, não é possível importar um CSV que tenha essa coluna.

Este é um trecho de um arquivo CSV para uma habilidade que não tem suporte ao idioma nativo e que não usa intenções de resposta.

query,topIntent,conversationName,answer,enabled
I want to order a pizza,OrderPizza,Order a Pizza.,,true
I want a pizza,OrderPizza,Order a Pizza.,,true
I want a pizaa,OrderPizza,Order a Pizza.,,true
I want a pizzaz,OrderPizza,Order a Pizza.,,true
I'm hungry,OrderPizza,Order a Pizza.,,true
Make me a pizza,OrderPizza,Order a Pizza.,,true
I feel like eating a pizza,OrderPizza,Order a Pizza.,,true
Gimme a pie,OrderPizza,Order a Pizza.,,true
Give me a pizza,OrderPizza,Order a Pizza.,,true
pizza I want,OrderPizza,Order a Pizza.,,true
I do not want to order a pizza,CancelPizza,Cancel your order.,,true
I do not want this,CancelPizza,Cancel your order.,,true
I don't want to order this pizza,CancelPizza,Cancel your order.,,true
Cancel this order,CancelPizza,Cancel your order.,,true
Can I cancel this order?,CancelPizza,Cancel your order.,,true
Cancel my pizza,CancelPizza,Cancel your order.,,true
Cancel my pizaa,CancelPizza,Cancel your order.,,true
Cancel my pizzaz,CancelPizza,Cancel your order.,,true
I'm not hungry anymore,CancelPizza,Cancel your order.,,true
don't cancel my pizza,unresolvedIntent,unresolvedIntent,,true
Why is a cheese pizza called Margherita,unresolvedIntent,unresolvedIntent,,true

Este é o trecho de um arquivo CSV para uma habilidade com suporte ao idioma nativo que usa intenções de resposta.

query,topIntent,conversationName,answer,enabled,nativeLanguageTag
Do you sell pasta,Products,Our Products,We sell only pizzas. No salads. No pasta. No burgers. Only pizza,true,en
Vendez-vous des salades,Products,Our Products,Nous ne vendons que des pizzas. Pas de salades. Pas de pâtes. Pas de hamburgers. Seulement pizza,fr
do you sell burgers,Products,Our Products,We sell only pizzas. No salads. No pasta. No burgers. Only pizza,true,en
Do you sell salads,Products,Our Products,We sell only pizzas. No salads. No pasta. No burgers. Only pizza,true,en
Vendez des hamburgers,Products,Our Products,Nous ne vendons que des pizzas. Pas de salades. Pas de pâtes. Pas de hamburgers. Seulement pizza,true,fr

Para importar um arquivo CSV:

  1. Clique em Intenções (Esta é uma imagem do ícone Intenção.) na barra de navegação esquerda.

  2. Clique em Mais e escolha Importar intenções.
    Descrição da importação-intents.png a seguir
    Descrição da ilustração import-intents.png

  3. Selecione o arquivo .csv e depois clique em Abrir.

  4. Treine sua habilidade.

Exportar Intenções para um Arquivo CSV

Você pode reutilizar seu corpus de treinamento exportando-o para CSV. Você pode então importar esse arquivo para outra habilidade.

Para exportar suas intenções e declarações:
  1. Clique em Intenções Esta é uma imagem do ícone Intenção. na barra de navegação esquerda.

  2. Clique em Mais e escolha Exportar intenções.
    Descrição da exportação-corpus.png a seguir
    Descrição da ilustração export-corpus.png

  3. Salvar o arquivo. Este arquivo tem as seguintes colunas, que são descritas em Importar Intenções de um Arquivo CSV:
    query, topIntent, conversationName, answer, enabled, nativeLanguageTag

Qual Modelo de Treinamento Devo Usar?

Nós fornecemos dois modelos de treinamento que moldam a cognição de sua habilidade, Trainer Tm e Trainer Ht. Você pode usar qualquer um desses modelos cada um deles tem uma abordagem distinta para aprendizado de máquina. Em geral, você treina seu/sua com o Trainer TM antes de colocar suas habilidades em produção. Devido ao seu tempo de treinamento mais curto, você pode usar o Ht para prototipagem ou para habilidades.
Observação

Não é possível usar o Trainer Ht para habilidades que usam intenções de resposta, usar suporte ao idioma nativo ou ter um grande número de intenções. Use o Trainer Tm para essas habilidades.
O Trainer Ht é o modelo padrão, mas você pode mudar isso clicando em Definições > Geral e, em seguida, escolhendo outro modelo na lista. O modelo padrão é exibido no mosaico do catálogo de habilidades.

Trainer Tm

O Trainer Tm (Tm) obtém classificação de intenção altamente precisa mesmo quando uma habilidade tem centenas, ou mesmo milhares, de intenções. Mesmo que as intenções nesses grandes conjuntos de dados estejam muitas vezes intimamente relacionadas e às vezes sejam "não balanceadas" na quantidade de declarações, o Tm ainda pode diferenciar entre elas. Em geral, você aplicaria o Tm a qualquer habilidade antes de colocá-la em produção.
Observação

Ao treinar com o Trainer Tm, você também pode usar o Relatório de Declarações Semelhantes.

Você não precisa aumentar seus dados de treinamento em massa com declarações que acomodem distinção entre maiúsculas e minúsculas (o Tm reconhece BlacK Friday como Black Friday, por exemplo), pontuação, verbos e substantivos semelhantes ou erros de ortografia. No último caso, o Trainer Tm usa contexto para resolver uma frase mesmo quando um usuário digita uma palavra-chave incorretamente. Aqui estão algumas diretrizes gerais para criar um corpus de treinamento quando você está desenvolvendo sua habilidade com este modelo.

O Trainer Tm aumenta a cognição da habilidade
  • Reconhecendo o conteúdo irrelevante. Para Mal posso esperar pelas ofertas da próxima Black Friday. Estou realmente ansioso. Você pode me dizer o que vai estar com desconto na Black Friday?, Trainer Tm:
    • Descarta o conteúdo estranho (Mal posso esperar pelas ofertas da próxima Black Friday...)
    • Resolve o conteúdo relevante (Você pode me dizer o que vai estar com desconto na Black Friday?) para uma intenção. Neste caso, uma intenção chamada Ofertas da Black Friday.
    O Trainer Tm também pode distinguir entre o conteúdo relevante e irrelevante em uma mensagem, mesmo quando o conteúdo irrelevante pode ser potencialmente resolvido para uma intenção. Comprei a nova TV de 80 polegadas na Black Friday por US$ 2200, mas agora vejo que o mesmo aparelho está disponível on-line por US$ 2100. Você oferece correspondência de preço? Por exemplo, poderia corresponder à intenção Ofertas da Black Friday e a uma intenção Correspondência de Preço, que é apropriada para esta mensagem. Neste caso, o Trainer Tm:
    • Reconhece que Comprei a nova TV de 80 polegadas na Black Friday por US$ 2200, mas agora vejo que o mesmo aparelho está disponível on-line por US$ 2100 é um conteúdo estranho.
    • Resolve Você oferece correspondência de preço?
  • Resolvendo intenções quando uma única palavra ou um nome corresponde a uma entidade. Por exemplo, o Trainer Tm pode resolver uma mensagem consistindo em apenas Black Friday para uma intenção associada a uma entidade da Black Friday.
  • Distinguindo entre declarações semelhantes (Cancel my order e Why did you cancel my order?).
  • Reconhecendo declarações fora de escopo, como Show me pizza recipes ou How many calories in a Meat Feast para uma habilidade para atender a um pedido de pizza e nada mais.
  • Reconhecendo declarações fora de domínio, como What's the weather like today para uma habilidade de pedido de pizza.

    Dica:

    Embora o Trainer Tm possa facilmente distinguir quando uma mensagem de usuário não pode ser classificada porque é claramente diferente dos dados de treinamento, talvez você ainda queira definir unresolvedIntent com declarações que representem as frases que deseja garantir que não sejam resolvidas para nenhuma das intenções de sua habilidade. Essas frases podem estar dentro do domínio de sua habilidade, mas ainda estão fora do escopo, embora possam compartilhar algumas das mesmas palavras que os dados de treinamento. Por exemplo, I want to order a car para uma habilidade de pizza, que também tenha sido treinada com I want to order a pizza.
  • Distinguindo entre entidades semelhantes – Por exemplo, o Tm reconhece que o e-mail não é igual ao e-mail no contexto de uma intenção chamada Inscrever-se para Ofertas por E-mail. Porque ele reconhece que uma entidade chamada regular mail estaria fora do escopo, ele resolveria a frase I want to sign up for deals through regular mail com menos confiança do que resolveria I want to sign up for email deals.

Trainer Ht

O Trainer Ht é o modelo de treinamento padrão. Ele precisa apenas de um pequeno corpus de treinamento; portanto, use-o conforme você desenvolve as entidades, as intenções e o corpus de treinamento. Quando o corpus de treinamento estiver consistente com o ponto em que os testes revelam uma resolução de intenção altamente precisa, você estará pronto para adicionar uma dimensão mais profunda à cognição da sua habilidade usando o Trainer Tm.

Você obtém um entendimento geral de como o Trainer Ht resolve intenções apenas do próprio corpus de treinamento. Ele forma regras de correspondência das sentenças de amostra, marcando partes de fala e entidades (personalizadas e incorporadas) e detectando palavras que tenham o mesmo significado no contexto da intenção. Se uma intenção chamada SendMoney tiver Send $500 to Mom e Pay Cleo $500, por exemplo, o Trainer Ht interpretará pay como equivalente a send. Após o treinamento, a tag do Trainer Ht reduz essas sentenças a modelos (Send Currency to person, Pay person Currency) que ela aplica à entrada do usuário.

Como o Trainer Ht desenha as sentenças que você fornece, você pode prever seu comportamento: ele será altamente preciso quando testado com sentenças semelhantes às que formam o corpus de treinamento (a entrada do usuário que segue as regras, de modo a falar), mas poderá também render menos quando confrontado com entrada esotérica do usuário.

Criar seu Corpus de Treinamento

Ao definir uma intenção, você primeiro dá a ela um nome que ilustra uma ação do usuário e depois acompanha compilando um conjunto de instruções reais do usuário ou declarações. Coletivamente, suas intenções e as declarações que pertencem a elas formam um corpus de treinamento. O termo corpus é apenas uma forma rápida de dizer “todas as intenções e frases de amostra que eu encontrei para tornar essa habilidade inteligente”. O corpus é a chave para a inteligência da sua habilidade. Ao treinar um modelo com seu corpus, você essencialmente transforma esse modelo em uma ferramenta de referência para resolver a entrada do usuário como intenção única. Como seu corpus de treinamento por fim executa a função-chave na decisão de qual rota a conversa entre habilidade e humano tomará, escolha suas palavras cuidadosamente ao criá-lo.

Falando no sentido geral, um conjunto grande e variado de frases de amostra aumenta a capacidade do modelo de resolver intenções com precisão. Mas a criação de um corpus de treinamento robusto não só começa com frases de amostra bem elaboradas; na verdade, começa com intenções claramente delineadas. Elas devem não somente refletir claramente seu caso de uso, mas o relacionamento delas com as sentenças de amostra deve ser igualmente claro. Se você não tiver certeza de onde uma amostra de sentença pertence, suas intenções não serão distintas umas das outras.

Provavelmente, você tem declarações de amostra em mente quando cria suas intenções, mas pode expandi-las usando estas diretrizes.

Diretrizes para Trainer Tm

  • Use um limite mínimo de confiança de 0,7 para qualquer habilidade que você planeja colocar em produção.
  • Use boas convenções de nomenclatura para seus nomes de intenção, de modo que seja fácil revisar as iintenções relacionadas.
  • Como regra geral, crie pelo menos 80 a 100 declarações para cada intenção. De acordo com as diretrizes de tamanho e forma do corpus, o número mínimo (por meio de não recomendado) de declarações para uma intenção é dois. O número total de declarações em seu conjunto de treinamento não deve exceder 25.000.
  • Se possível, use frases de palavras reais não modificadas que incluam:
    • expressões coloquiais
    • abreviações padrão que um usuário pode inserir ("opty" para opportunity, por exemplo)
    • nomes não padrão, como nomes de produtos
    • variantes ortográficas ("check" e "cheque", por exemplo)
    Se você não tiver dados reais, incorpore-os em seus próprios dados de treinamento. Aqui estão alguns ponteiros:
    • Crie sentenças totalmente formadas que mencionem a ação e a entidade em que a ação é executada.
    • Tente manter o comprimento da declaração entre 3 e 30 palavras. Declarações muito curtas e sem contexto podem fazer com que o modelo se generalize de maneiras imprevisíveis. Declarações que são muito longas podem impedir que o modelo identifique as palavras e frases pertinentes. No entanto, pode haver exceções para declarações de uma ou duas palavras quando são frases comumente usadas. Se você espera mensagens de duas palavras, como status do pedido, verificação de preço, informações de associação ou envio internacionalmente) que especificam a entidade e a ação, adicione-as aos seus dados de treinamento. Certifique-se de que suas frases de amostra tenham uma ação e uma entidade.
    • Seja específico. Por exemplo, What is your store phone number? é melhor do que What is your phone number? porque permite que o Trainer Tm associe um número de telefone a uma loja. Como resultado desse aprendizado, ele resolverá What's your mom's phone number? para uma pontuação de confiança mais baixa.
    • Embora o Trainer Tm detecte declarações fora do escopo, você ainda pode melhorar a confiança e a precisão criando uma unresolvedIntent para declarações que estão no domínio, mas que ainda estão fora do escopo das intenções da habilidade. Isso permite que o Trainer Tm saiba o limite das intenções de domínio. Você pode definir uma unresolvedIntent para frases que não deseja resolver para nenhuma das intenções de sua habilidade. Talvez você só queira definir uma unresolvedIntent quando as mensagens do usuário forem resolvidas para as intenções de uma habilidade, mesmo quando não se aplicarem a nenhuma delas.
    • Varie tanto quanto possível as palavras e frases que envolvem o conteúdo significativo. Por exemplo, "I'd like a pizza, please", "Can you get me a pizza?", "A pizza, please"
    • Algumas práticas a serem evitadas:
      • Não associe uma única palavra ou frase a uma intenção específica, a menos que essa palavra ou frase indique a intenção. As frases repetidas podem distorcer a resolução da intenção. Por exemplo, iniciar cada declaração de OrderPizza com "I want to …" e cada intenção de ShowMenu com "Can you help me to …" pode aumentar a probabilidade de o modelo resolver qualquer entrada do usuário que comece com "Can you help me to" com OrderPizza e "I want to" com ShowMenu.
      • Uma alta ocorrência de declarações de uma palavra em suas intenções. As declarações de uma palavra são uma exceção. Use-as com moderação, se for o caso.
      • Expressões abertas que possam ser facilmente aplicadas a outros domínios ou tópicos fora do domínio.
      • Seu corpus não precisa repetir a mesma declaração om letras maiúsculas e minúsculas ou com diferentes formas de palavras que tenham o mesmo padrão. Por exemplo, como o Trainer Tm pode distinguir entre gerenciar, gerenciar e gerente, ele não só diferencia entre "O Sam é gerente de quem?" e "Quem é o gerente do Sam?", mas também entende que essas palavras estão relacionadas entre si.
        Observação

        Você pode ficar tentado a adicionar erros de ortografia de palavras. Mas antes de fazer isso, use esses erros de ortografia no testador de declarações para ver se o modelo os reconhece. Você pode se surpreender com o quão bem ele lida com eles. Além disso, ao não adicionar erros ortográficos, você corre menos risco de distorcer seu modelo de maneiras inesperadas.
  • Crie casos de exame para garantir a integridade da resolução de intenção.
  • Execute o Relatório de visão geral da qualidade da habilidade para manter um conjunto de treinamento balanceado. Execute o relatório de anomalias também para verificar se há declarações classificadas incorretamente ou incomuns.
  • Ao implantar sua habilidade, você pode melhorar continuamente os dados de treinamento ao:
    • Revisar os Logs de Conversas, resumos de todas as conversas que ocorreram para um período especificado. Ative o registro em log alternando a opção Ativar Insights para Ativado em Definições.
    • Executando Relatórios de Qualidade da Habilidade e designando (ou redesignando) mensagens reais do usuário às suas intenções com o Retrainer de Insights. Se esses relatórios indicarem que unresolvedIntent tem muitas declarações classificadas incorretamente dentro das intenções de domínio:
      • Mova as declarações no escopo de unresolvedIntent para as intenções do domínio.
      • Mova as declarações fora do escopo das intenções do domínio para unresolvedIntent.

Diretrizes para Trainer Ht

Crie de 12 a 24 frases de amostra por intenção, se possível. Use frases de palavras reais não modificadas que incluam:
  • expressões coloquiais
  • erros ortográficos comuns
  • abreviações padrão que um usuário pode inserir ("opty" para "opportunity", por exemplo)
  • nomes não padrão, como nomes de produtos
  • variantes ortográficas ("check" e "cheque", por exemplo)
Se você não tiver dados reais, incorpore-os em seus próprios dados de treinamento. Aqui estão alguns ponteiros:
  • Varie o vocabulário e a estrutura da sentença nessas frases iniciais por uma ou duas permutações usando:
    • gírias (moolah, lucre, dough)

    • abreviações padrão que um usuário pode inserir ("opty" para opportunity, por exemplo)
    • nomes não padrão, como nomes de produtos
    • expressões comuns (Am I broke? para uma intenção chamada AccountBalance)

    • texto alternativo (Send cash to savings, Send funds to savings, Send money to savings, Transfer cash to savings.)

    • outras categorias de objetos (Quero pedir uma pizza, Quero pedir comida).

    • ortografias alternativas (check, cheque)

    • erros ortográficos comuns ("buisness" para business)

    • ordem de palavras incomum (To checking, $20 send)

  • Use outros conceitos para expressar a mesma intenção, como I am hungry e Make me a pizza
  • Não associe uma única palavra ou frase a uma intenção específica, a menos que essa palavra ou frase indique a intenção. As frases repetidas podem distorcer a resolução da intenção. Por exemplo, iniciar cada declaração de OrderPizza com "I want to …" e cada intenção de ShowMenu com "Can you help me to …" pode aumentar a probabilidade de o modelo resolver qualquer entrada do usuário que comece com "I want to" com OrderPizza e "Can you help me to" com ShowMenu.
  • Evite fragmentos de sentença e palavras únicas. Em vez disso, use frases completas (que podem ter até 255 caracteres) que incluam a ação e a entidade. Se você precisar usar exemplos de palavra-chave única, escolha-os com cuidado.

  • Crie casos de teste para garantir a integridade do teste da resolução da intenção. Como a adição de novos exemplos de intenção pode causar regressões, você pode acabar adicionando várias frases de teste para estabilizar o comportamento de resolução de intenção.

Limites para Forma e Tamanho dos Dados de Treinamento

Em relação aos dados e à forma de treinamento, aqui estão os limites do número de intenções e declarações.

intenções:

  • Número mínimo de intenções por habilidade: 2
  • Número máximo de intenções por habilidade: 2.500

Declarações:

  • Número máximo de declarações por habilidade: 25.000
  • Número mínimo de declarações por intenção: 2
  • Tamanho da palavra de declaração: Entre 3 e 30 palavras. De acordo com as diretrizes do Trainer Tm, há exceções em que declarações de uma ou duas palavras podem ser apropriadas se forem usadas com frequência.
Observação

Esses são limites técnicos, não recomendações. Consulte Guidelines for Trainer Tm para obter recomendações práticas para definir suas habilidades e fornecer dados de treinamento robustos.

Exportar Dados da Intenção

Para registrar conversas, ative a opção Ativar Insights em Definições > Geral antes de testar suas intenções.

Para exportar dados de uma habilidade:
  1. Clique em ícone para abrir o menu lateral para abrir o menu lateral e selecione Desenvolvimento > Habilidades.
  2. No mosaico da habilidade, clique em ícone para abrir o menu Opções e selecione Exportar Conversas.
  3. Escolha Log de Conversas da Intenção, defina o período do log e clique em Exportar.
  4. Revise a entrada do usuário abrindo os arquivos CSV em um programa de planilha.