Criar um aplicativo LUIS não combinável

Importante

O LUIS será desativado em 1º de outubro de 2025 e, a partir de 1º de abril de 2023, você não poderá criar novos recursos do LUIS. É recomendável migrar seus aplicativos LUIS para a compreensão da linguagem coloquial a fim de usufruir do suporte contínuo ao produto e dos recursos multilíngues.

Neste tutorial, você poderá criar um aplicativo LUIS de telecomunicações que pode prever diferentes intenções do usuário. Ao final do tutorial, nós devemos ter um aplicativo de telecomunicações que pode prever as intenções do usuário com base no texto fornecido pelos usuários.

Trataremos cenários de usuário (intenções) diferentes, como:

  • Inscrever-se em uma nova linha de telecomunicações
  • Atualizar uma camada existente
  • Pagar uma fatura

Neste tutorial, você aprenderá a:

  1. Criar um aplicativo de LUIS
  2. Criar intenções
  3. Adicionar entidades
  4. Adicionar declarações
  5. Rotular enunciados de exemplo
  6. Treinar um aplicativo
  7. Publicar um aplicativo
  8. Obter previsões a partir do ponto de extremidade publicado

Criar um aplicativo de LUIS

  1. Entre no portal do LUIS

  2. Crie um novo aplicativo selecionando +Novo aplicativo.

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

  3. Na janela que é exibida, insira o nome "Tutorial de Telecomunicações", mantendo a cultura padrão, inglês. Os outros campos são opcionais, não os defina. Selecione Concluído.

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

Intenções do usuário

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

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

Provavelmente, ele precisaria realizar algum tipo de ação de usuário ou pedir ajuda. Outro usuário pode querer atualizar sua camada ou pagar uma fatura

O esquema resultante é o seguinte. Para obter mais informações, confira melhores práticas sobre como planejar o esquema.

Intenção Finalidade
UserActions Determinar ações do usuário
Ajuda Solicitar ajuda
UpdateTier Atualizar camada atual
PayBill Pagar fatura pendente
Nenhum Determine se o usuário está perguntando algo que o aplicativo LUIS não deve 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 enunciados do usuário com base na intenção dele, determinada com base no texto do idioma natural.

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

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

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

  2. Adicione vários enunciados de exemplo para esta intenção que se espera que o usuário solicite:

    • Olá! Desejo me inscrever para uma nova linha
    • Posso me inscrever para uma nova linha?
    • Olá, desejo uma nova linha
    • Esqueci meu número de linha!
    • Eu gostaria de um novo número de linha

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

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

  • Desejo pagar minha fatura
  • Liquidar minha fatura
  • Pagar fatura
  • Desejo fechar meu saldo atual
  • Ei! Desejo pagar a fatura atual

Ao fornecer enunciados de exemplo, você está treinando o LUIS sobre quais tipos de enunciados devem ser previstos para essa intenção. Esses são exemplos positivos. Os enunciados em todas as outras intenções são tratados como exemplos negativos para essa intenção. Idealmente, quanto mais enunciados de exemplo você adicionar, melhor serão as previsões do aplicativo.

Estas declarações são apenas para fins de demonstração. Um aplicativo real deve ter, pelo menos, 15-30 enunciados de comprimento, ordem de palavras, tempos verbais, correção gramatical, pontuação e contagem de palavras variados.

Criando as intenções restantes

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

"Ajuda"

  • “Preciso de ajuda”
  • "Preciso de assistência"
  • “Ajude-me, por favor”
  • "Alguém pode me dar suporte?"
  • "Estou paralisado, você pode me ajudar"
  • “Posso obter ajuda?”

"UpdateTier"

  • “Desejo atualizar minha camada”
  • "Atualize minha camada"
  • "Desejo mudar para a camada VIP"
  • "Altere minha assinatura para a camada standard"

Enunciados de exemplo para a intenção None

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

Se o LUIS retornar a intenção “None” para um enunciado, o aplicativo cliente pode perguntar se o usuário deseja encerrar a conversa ou fornecer mais orientações para continuar a conversa.

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

  1. Selecione Intenções no painel esquerdo.

  2. Selecione a intenção None. Adicione três enunciados que o usuário pode inserir, mas que não são relevantes para o seu aplicativo de telecomunicações. Esses exemplos não devem usar palavras que você espera no domínio de assunto, como Camada, upgrade, inscrição, fatura.

    • "Quando é meu voo?"
    • "Preciso alterar meu pedido de pizza, por favor"
    • "Como está o clima hoje?"

Adicionar entidades

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

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

  2. Para adicionar uma nova entidade, selecione +Criar

    Neste exemplo, criaremos duas entidades, "UpdateTierInfo" como um tipo de entidade aprendida por computador e "camada" como um tipo de entidade de lista. O Luis também permite criar tipos de entidade diferentes.

  3. Na janela que aparece, insira "UpdateTierInfo" e selecione aprendizado de máquina dos tipos disponíveis. Selecione o campo Adicionar estrutura para poder adicionar uma estrutura a esta entidade.

    Uma captura de tela mostrando uma entidade.

  4. Selecione Avançar.

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

    • OriginalTier
    • NewTier
    • PhoneNumber

    Uma captura de tela de subentidades no aplicativo.

  6. Selecione Criar após adicionar todas as subentidades.

    Nós criaremos outra entidade chamada "Camada", mas desta vez ela será uma entidade de lista e incluirá todas as camadas que podem ser fornecidas: camada Standard, camada Premium e camada VIP.

  7. Para fazer isso, acesse a guia entidades, pressione +Criar e selecione lista dos tipos que aparecem na tela.

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

    Uma captura de tela de uma entidade de lista.

  9. Agora, volte para a entidade "UpdateTierInfo" e adicione a entidade "camada" como um recurso para as entidades "OriginalTier" e "newTier" que criamos. Ele deverá ser semelhante a este:

    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 de Regex. Ele pode ser criado da mesma forma que criamos um ML e uma entidade de lista.

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

Rotular enunciados de exemplo

A entidade de aprendizado de máquina é criada e as subentidades têm recursos. Para concluir ao aprimoramento da extração, os enunciados de exemplo precisam ser rotulados com as subentidades.

Existem duas maneiras de rotular enunciados:

  1. Usando a ferramenta de rotulagem

    1. Abrir a Paleta de Entidades e selecionar o símbolo @ na barra de ferramentas contextual.
    2. Selecione cada linha de entidade na paleta e, em seguida, use o cursor de paleta para selecionar a entidade em cada exemplo de enunciado.
  2. Realce o texto ao arrastar o cursor. Usando o cursor, realce o texto que você deseja rotular. Na imagem a seguir, realçamos "camada VIP" e selecionamos a entidade "NewTier".

    Uma captura de tela mostrando como rotular enunciados.

Treinar o aplicativo

No lado superior direito do site do LUIS, selecione o botão Treinar.

Antes do treinamento, verifique se há pelo menos um enunciado para cada intenção.

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

Publicar o aplicativo

Para receber uma previsão do LUIS em um chatbot ou em outro aplicativo cliente, publique o aplicativo no ponto de extremidade de previsão. Primeiro você precisa treinar o seu aplicativo para poder publicá-lo.

  1. Selecione Publicar no painel de navegação superior direito.

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

  2. Selecione o slot de Produção e Concluído.

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

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

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

Obter a previsão de intenção

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

  2. Copie a URL de consulta de exemplo e cole-a em uma nova guia do navegador da Web.

    A URL do ponto de extremidade terá o formato a seguir.

    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. Acesse o final da URL na barra de endereços e substitua o parâmetro da cadeia de caracteres query= por:

    “Olá! Estou procurando um novo número, por favor. "

    O enunciado da consulta é passado no URI. Esse enunciado não é o mesmo que um dos enunciados de exemplo e deve ser um bom teste para verificar se o LUIS prevê a intenção de UserAction como a intenção de maior pontuação.

    {
        "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 maior pontuação como a propriedade prediction.topIntent. Todas as pontuações estão entre 1 e 0, com a melhor pontuação mais próxima a 1.

Próximas etapas do aplicativo cliente

Este tutorial criou um aplicativo do LUIS, intenções, entidades, adicionou enunciados de exemplo a cada intenção, adicionou enunciados de exemplo à intenção None, além de treiná-la, publicá-la e testá-la no ponto de extremidade. Essas são as etapas básicas da criação de um modelo LUIS.

O LUIS não fornece respostas para os enunciados do usuário, ele só identifica qual tipo de informação está sendo solicitado em idioma natural. O acompanhamento de conversação é fornecido pelo aplicativo cliente como um Bot do Azure.

Limpar os recursos

Quando não for mais necessário, exclua o aplicativo LUIS. Para fazer isso, selecione Meus aplicativos no menu superior esquerdo. Selecione as reticências (...) à direita do nome do aplicativo na lista de aplicativos e selecione Excluir. Na caixa de diálogo pop-up Excluir aplicativo?, selecione OK.