Partilhar via


Crie um aplicativo LUIS decomponível

Importante

O LUIS será aposentado em 1º de outubro de 2025 e a partir de 1º de abril de 2023 você não poderá criar novos recursos do LUIS. Recomendamos migrar seus aplicativos LUIS para o entendimento de linguagem conversacional para se beneficiar do suporte contínuo ao produto e dos recursos multilíngues.

Neste tutorial, você será capaz de criar um aplicativo LUIS de telecomunicações que pode prever diferentes intenções do usuário. No final do tutorial, devemos ter um aplicativo de telecomunicações que possa prever as intenções do usuário com base no texto fornecido pelos usuários.

Estaremos lidando com diferentes cenários de usuário (intenções), tais como:

  • Inscrição numa nova linha de telecomunicações
  • Atualizando uma camada existente
  • Pagar uma conta

Neste tutorial, vai aprender a:

  1. Criar uma aplicação LUIS
  2. Criar intenções
  3. Adicionar entidades
  4. Adicionar expressões
  5. Exemplos de enunciados de rótulo
  6. Treinar um aplicativo
  7. Publicar uma aplicação
  8. Obter previsões do ponto de extremidade publicado

Criar uma aplicação LUIS

  1. Iniciar sessão no portal LUIS

  2. Crie um novo aplicativo selecionando +Novo aplicativo.

    Uma captura de tela da tela de criação do aplicativo.

  3. Na janela que aparece, digite o nome "Telecom Tutorial", mantendo a cultura padrão, Inglês. Os outros campos são opcionais, não os defina. Selecionar Concluído.

    Uma captura de tela dos campos de criação do aplicativo LUIS.

Intenções do usuário como intenções

A primeira coisa que você verá na seção Build são as intenções do aplicativo. As intenções representam uma tarefa ou uma ação que um usuário deseja executar.

Imagine uma aplicação LUIS de telecomunicações, o que um usuário precisaria?

Eles provavelmente precisariam executar algum tipo de ação do usuário ou pedir ajuda. Outro usuário pode querer atualizar sua camada ou pagar uma conta

O esquema resultante é o seguinte. Para obter mais informações, consulte as práticas recomendadas sobre o planejamento do esquema.

Intenção Objetivo
Ações do usuário Determinar as ações do usuário
Help Pedir ajuda
UpdateTier Atualizar camada atual
PayBill Pagar conta pendente
Nenhuma Determine se o usuário está perguntando algo que o aplicativo LUIS não foi projetado para responder. Essa intenção é fornecida como parte da criação do aplicativo e não pode ser excluída.

Criar uma nova intenção

Uma intenção é usada para classificar os enunciados do usuário com base na intenção do usuário, determinada a partir do texto em linguagem natural.

Para classificar um enunciado, a intenção precisa de exemplos de enunciados do usuário que devem ser classificados com essa intenção.

  1. Selecione Construir no menu de navegação superior e, em seguida, selecione Intenções no lado esquerdo da tela. Selecione + Criar para criar uma nova intenção. Digite o nome da nova intenção, "UserAction", e selecione Concluído

    UserAction pode ser uma das muitas intenções. Por exemplo, alguns usuários podem querer se inscrever em uma nova linha, enquanto outros podem pedir para recuperar informações.

  2. Adicione vários exemplos de enunciados a essa intenção que você espera que um usuário pergunte:

    • Olá! Quero inscrever-me numa nova linha
    • Posso inscrever-me numa nova linha?
    • Olá, quero uma nova linha
    • Esqueci-me do meu número de linha!
    • Gostaria de um novo número de linha

    Uma captura de tela mostrando expressões de exemplo para a intenção UserAction.

Para a intenção do PayBill , alguns enunciados poderiam ser:

  • Quero pagar a minha conta
  • Liquidar a minha conta
  • Pagar conta
  • Quero fechar o meu saldo atual
  • Excelente! Quero pagar a conta atual

Ao fornecer enunciados de exemplo, você está ensinando LUIS sobre que tipos de enunciados devem ser previstos para essa intenção. Estes são exemplos positivos. Os enunciados em todas as outras intenções são tratados como exemplos negativos dessa intenção. Idealmente, quanto mais exemplos de declarações você adicionar, melhores serão as previsões do seu aplicativo.

Estas poucas expressões destinam-se apenas a fins de demonstração. Um aplicativo do mundo real deve ter pelo menos 15-30 enunciados de comprimento variável, ordem de palavras, tempo, correção gramatical, pontuação e contagem de palavras.

Criando as intenções restantes

Execute as etapas acima para adicionar as seguintes intenções ao aplicativo:

"Ajuda"

  • "Preciso de ajuda"
  • "Preciso de ajuda"
  • "Ajuda por favor"
  • "Alguém pode me apoiar?"
  • "Estou preso, você pode me ajudar"
  • "Posso obter ajuda?"

"UpdateTier"

  • "Quero atualizar o meu nível"
  • "Atualizar minha camada"
  • "Quero mudar para o nível VIP"
  • "Alterar a minha subscrição para o nível padrão"

Exemplos de enunciados para a intenção Nenhum

O aplicativo cliente precisa saber se um enunciado não é significativo ou apropriado para o aplicativo. A intenção "Nenhuma" é adicionada a cada aplicativo como parte do processo de criação para determinar se um enunciado não deve ser respondido pelo aplicativo cliente.

Se o LUIS retornar a intenção "Nenhum" para uma declaração, seu aplicativo cliente poderá perguntar se o usuário deseja encerrar a conversa ou dar mais instruções para continuar a conversa.

Se você deixar a intenção "Nenhuma" vazia, um enunciado que deve ser previsto fora do domínio do assunto será previsto em uma das intenções existentes do domínio do assunto. O resultado é que o aplicativo cliente, como um bot de chat, executará operações incorretas com base em uma previsão incorreta.

  1. Selecione Intents (Intenções) no painel esquerdo.

  2. Selecione a intenção None (Nenhuma). Adicione três expressões que o usuário pode inserir, mas que não são relevantes para seu aplicativo de Telecom. Esses exemplos não devem usar palavras que você espera em seu domínio de assunto, como Tier, upgrade, signup, bill.

    • "Quando é o meu voo?"
    • "Eu preciso mudar meu pedido de pizza, por favor"
    • "Como está o tempo para hoje?"

Adicionar entidades

Uma entidade é um item ou elemento relevante para a intenção do usuário. As entidades definem dados que podem ser extraídos do enunciado e são essenciais para concluir a ação necessária de um usuário.

  1. Na seção build, selecione Entidades.

  2. Para adicionar uma nova entidade, selecione +Criar

    Neste exemplo, criaremos duas entidades, "UpdateTierInfo" como um tipo de entidade aprendida por máquina e "Tier" como um tipo de entidade de lista. Luis também permite que você crie diferentes tipos de entidade.

  3. Na janela que aparece, digite "UpdateTierInfo" e selecione Machine learned from the available types. Selecione a caixa Adicionar estrutura para poder adicionar uma estrutura a esta entidade.

    Uma captura de tela mostrando uma entidade.

  4. Selecione Seguinte.

  5. Para adicionar uma subentidade filha, selecione o símbolo "+" e comece a adicionar a criança. Para o nosso exemplo de entidade, "UpdateTierInfo", precisamos de três coisas:

    • OriginalTier
    • Novo Nível
    • Número de telefone

    Uma captura de tela de subentidades no aplicativo.

  6. Selecione Criar depois de adicionar todas as subentidades THE.

    Criaremos outra entidade chamada "Tier", mas desta vez será uma entidade de lista e incluirá todas as camadas que pudermos fornecer: Standard tier, Premium e VIP.

  7. Para fazer isso, vá para a guia entidades e pressione +create e selecione list dos tipos na tela que aparece.

  8. Adicione os itens à sua lista e, opcionalmente, você pode adicionar sinônimos para garantir que todos os casos dessa menção sejam compreendidos.

    Uma captura de tela de uma entidade de lista.

  9. Agora volte para a entidade "UpdateTierInfo" e adicione a entidade "tier" como um recurso para as entidades "OriginalTier" e "newTier" que criamos anteriormente. Deve ter um aspeto semelhante a:

    Uma captura de tela dos recursos de uma entidade.

    Adicionamos a camada como um recurso para "originalTier" e "newTier", e adicionamos a entidade "Phonenumber", que é um tipo Regex. Ele pode ser criado da mesma forma que criamos um ML e uma entidade de lista.

Agora, criamos intenções com sucesso, adicionamos enunciados de exemplo e adicionamos entidades. Criamos quatro intenções (além da intenção "nenhuma") e três entidades.

Exemplos de enunciados de rótulo

A entidade machine learned é criada e as subentidades têm recursos. Para concluir a melhoria da extração, os enunciados de exemplo precisam ser rotulados com as subentidades.

Há duas maneiras de rotular os enunciados:

  1. Utilização da ferramenta de etiquetagem

    1. Abra a Paleta de entidades e selecione o símbolo "@" na barra de ferramentas contextual.
    2. Selecione cada linha de entidade na paleta e, em seguida, use o cursor da paleta para selecionar a entidade em cada enunciado de exemplo.
  2. Realce o texto arrastando o cursor. Usando o cursor, realce sobre o texto que você deseja rotular. Na imagem seguinte, destacamos "vip - tier" e selecionamos a entidade "NewTier".

    Uma captura de tela mostrando como rotular enunciados.

Preparar a aplicação

No canto superior direito do site do LUIS, selecione o botão Comboio .

Antes do treino, certifique-se de que há pelo menos um enunciado para cada intenção.

Uma captura de tela mostrando o mas para treinar um aplicativo.

Publicar a aplicação

Para receber uma previsão LUIS em um bot de chat ou outro aplicativo cliente, você precisa publicar o aplicativo no ponto de extremidade de previsão. Para publicar, você precisa treinar seu punho de aplicação.

  1. Selecione Publicar na navegação no canto superior direito.

    Uma captura de tela mostrando o botão para publicar um aplicativo.

  2. Selecione o slot Produção e, em seguida, selecione Concluído.

    Uma captura de tela mostrando o seletor de slot de produção.

  3. Selecione Acessar suas URLs de ponto de extremidade na notificação para ir para a página Recursos do Azure. Você só poderá ver as URLs se tiver um recurso de previsão associado ao aplicativo. Você também pode encontrar a página Recursos do Azure clicando em Gerenciar à esquerda da tela.

    Uma captura de tela mostrando a notificação de acesso ao ponto de extremidade.

Obtenha previsão de intenção

  1. Selecione Gerir no menu superior direito e, em seguida, selecione Recursos do Azure à esquerda.

  2. Copie o URL de Consulta de Exemplo e cole-o em uma nova guia do navegador da Web.

    O URL do ponto de extremidade terá o seguinte formato.

    https://YOUR-CUSTOM-SUBDOMAIN.api.cognitive.microsoft.com/luis/prediction/v3.0/apps/YOUR-APP-ID/slots/production/predict?subscription-key=YOUR-KEY-ID&verbose=true&show-all-intents=true&log=true&query=YOUR\_QUERY\_HERE
    
  3. Vá para o final do URL na barra de endereço e substitua o query= parâmetro string por:

    "Olá! Estou à procura de um novo número, por favor."

    A consulta de enunciado é passada no URI. Este enunciado não é o mesmo que qualquer um dos enunciados de exemplo, e deve ser um bom teste para verificar se o LUIS prevê a intenção UserAction como a intenção de pontuação máxima.

    {
        "query": "hello! i am looking for a new number please",
        "prediction": 
        {
            "topIntent": "UserAction",
            "intents": 
            {
                "UserAction": {
                "score": 0.8607431},
                "Help":{
                "score": 0.031376917},
                "PayBill": {
                "score": 0.01989629},
                "None": {
                "score": 0.013738701},
                "UpdateTier": {
                "score": 0.012313577}
            },
        "entities": {}
        }
    }
    

O resultado JSON identifica a intenção de pontuação superior como propriedade prediction.topIntent . Todas as pontuações estão entre 1 e 0, com a melhor pontuação sendo mais próxima de 1.

Próximas etapas do aplicativo cliente

Este tutorial criou um aplicativo LUIS, criou intenções, entidades, adicionou expressões de exemplo a cada intenção, adicionou expressões de exemplo à intenção Nenhum, treinou, publicou e testou no ponto de extremidade. Estes são os passos básicos de criação de um modelo do LUIS.

O LUIS não fornece respostas aos enunciados dos utilizadores, apenas identifica que tipo de informação está a ser pedida em linguagem natural. O acompanhamento da conversa é fornecido pelo aplicativo cliente, como um Bot do Azure.

Clean up resources (Limpar recursos)

Quando já não precisar, elimine a aplicação LUIS. Para fazer isso, selecione Meus aplicativos no menu superior esquerdo. Selecione as reticências ( ... ) à direita do nome do aplicativo na lista de aplicativos, selecione Excluir. Na caixa de diálogo pop-up chamada Excluir aplicativo? , selecione Ok.