Criar uma aplicação LUIS decomposta

Importante

O LUIS será descontinuado a 1 de outubro de 2025 e a partir de 1 de abril de 2023 não poderá criar novos recursos do LUIS. Recomendamos que migre as suas aplicações LUIS para a compreensão de linguagem de conversação para beneficiar do suporte contínuo do produto e das capacidades multilingues.

Neste tutorial, poderá criar uma aplicação LUIS de telecomunicações que possa prever diferentes intenções de utilizador. No final do tutorial, devemos ter uma aplicação de telecomunicações que possa prever as intenções do utilizador com base no texto fornecido pelos utilizadores.

Iremos processar diferentes cenários de utilizador (intenções), tais como:

  • Inscrever-se numa nova linha de telecomunicações
  • Atualizar um escalão existente
  • Pagar uma fatura

Neste tutorial, vai aprender a:

  1. Criar uma aplicação LUIS
  2. Criar intenções
  3. Adicionar entidades
  4. Adicionar expressões
  5. Etiquetar expressões de exemplo
  6. Preparar uma aplicação
  7. Publicar uma aplicação
  8. Obter predições do ponto final publicado

Criar uma aplicação LUIS

  1. Iniciar sessão no portal do LUIS

  2. Crie uma nova aplicação ao selecionar +Nova aplicação.

    Uma captura de ecrã do ecrã de criação da aplicação.

  3. Na janela apresentada, introduza o nome "Tutorial de Telecomunicações", mantendo a cultura predefinida, Inglês. Os outros campos são opcionais, não os defina. Selecione Concluído.

    Uma captura de ecrã dos campos de criação da aplicação LUIS.

Intenções do utilizador como intenções

A primeira coisa que verá na secção Compilar são as intenções da aplicação. As intenções representam uma tarefa ou uma ação que um utilizador quer executar.

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

Provavelmente, teriam de efetuar algum tipo de ação do utilizador ou pedir ajuda. Outro utilizador poderá querer atualizar o escalão ou pagar uma fatura

O esquema resultante é o seguinte. Para obter mais informações, veja melhores práticas sobre o planeamento do esquema.

Intenção Objetivo
UserActions Determinar as ações do utilizador
Help Pedir ajuda
UpdateTier Atualizar o escalão atual
PayBill Pagar fatura pendente
Nenhuma Determine se o utilizador está a perguntar algo que a aplicação LUIS não foi concebida para responder. Esta intenção é fornecida como parte da criação da aplicação e não pode ser eliminada.

Criar uma nova Intenção

Uma intenção é utilizada para classificar expressões de utilizador com base na intenção do utilizador, determinada a partir do texto de linguagem natural.

Para classificar uma expressão, a intenção precisa de exemplos de expressões de utilizador que devem ser classificadas com esta intenção.

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

    UserAction pode ser uma das muitas intenções. Por exemplo, alguns utilizadores podem querer inscrever-se numa nova linha, enquanto outros podem pedir para obter informações.

  2. Adicione várias expressões de exemplo a esta intenção que espera que um utilizador peça:

    • 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 ter um novo número de linha

    Captura de ecrã a mostrar expressões de exemplo para a intenção UserAction.

Para a intenção PayBill , algumas expressões podem ser:

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

Ao fornecer expressões de exemplo, está a ensinar ao LUIS que tipos de expressões devem ser previstas para esta intenção. Estes são exemplos positivos. As expressões em todas as outras intenções são tratadas como exemplos negativos para esta intenção. Idealmente, quanto mais expressões de exemplo adicionar, melhor serão as predições da sua aplicação.

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

Criar as restantes intenções

Execute os passos acima para adicionar as seguintes intenções à aplicação:

"Ajuda"

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

"UpdateTier"

  • "Quero atualizar o meu escalão"
  • "Atualizar o meu escalão"
  • "Quero mudar para o escalão VIP"
  • "Alterar a minha subscrição para o escalão standard"

Expressões de exemplo para a intenção None

A aplicação cliente precisa de saber se uma expressão não é significativa ou adequada para a aplicação. A intenção "None" é adicionada a cada aplicação como parte do processo de criação para determinar se uma expressão não deve ser respondida pela aplicação cliente.

Se o LUIS devolver a intenção "Nenhum" para uma expressão, a aplicação cliente pode perguntar se o utilizador quer terminar a conversação ou dar mais instruções para continuar a conversação.

Se deixar a intenção "Nenhum" vazia, uma expressão que deve ser prevista fora do domínio do assunto será prevista numa das intenções de domínio do assunto existente. O resultado é que a aplicação cliente, como um chatbot, irá realizar operações incorretas com base numa predição incorreta.

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

  2. Selecione a intenção None (Nenhuma). Adicione três expressões que o utilizador pode introduzir, mas não são relevantes para a sua aplicação Telecom. Estes exemplos não devem utilizar palavras esperadas no seu domínio de assunto, como Camada, atualização, inscrição, fatura.

    • "Quando é o meu voo?"
    • "Preciso de mudar a minha encomenda de pizza, por favor"
    • "Como é o tempo para hoje?"

Adicionar entidades

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

  1. Na secção de compilação, selecione Entidades.

  2. Para adicionar uma nova entidade, selecione +Criar

    Neste exemplo, vamos criar duas entidades, "UpdateTierInfo" como um tipo de entidade de aprendizagem automática e "Camada" como um tipo de entidade de lista. O Luis também lhe permite criar diferentes tipos de entidade.

  3. Na janela apresentada, introduza "UpdateTierInfo" e selecione Máquina aprendida a partir dos tipos disponíveis. Selecione a caixa Adicionar estrutura para poder adicionar uma estrutura a esta entidade.

    Uma captura de ecrã a mostrar uma entidade.

  4. Selecione Seguinte.

  5. Para adicionar uma subentidade subordinada, selecione o símbolo "+" e comece a adicionar o menor. Para o nosso exemplo de entidade, "UpdateTierInfo", precisamos de três aspetos:

    • OriginalTier
    • NewTier
    • PhoneNumber

    Uma captura de ecrã de subentidades na aplicação.

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

    Vamos criar outra entidade denominada "Camada", mas desta vez será uma entidade de lista e incluirá todos os escalões que poderemos fornecer: escalão Standard, Escalão Premium e escalão VIP.

  7. Para tal, aceda ao separador entidades e prima +criar e selecionar lista a partir dos tipos apresentados no ecrã.

  8. Adicione os itens à sua lista e, opcionalmente, pode adicionar sinónimos para se certificar de que todos os casos dessa menção serão compreendidos.

    Uma captura de ecrã de uma entidade de lista.

  9. Agora, volte à entidade "UpdateTierInfo" e adicione a entidade "tier" como uma funcionalidade para as entidades "OriginalTier" e "newTier" que criámos anteriormente. Deve ter um aspeto semelhante a:

    Uma captura de ecrã das funcionalidades de uma entidade.

    Adicionámos o escalão como uma funcionalidade para "originalTier" e "newTier", e adicionámos a entidade "Phonenumber", que é um tipo Regex. Pode ser criado da mesma forma que criámos um ML e uma entidade de lista.

Agora, criámos intenções com êxito, adicionámos expressões de exemplo e adicionámos entidades. Criámos quatro intenções (para além da intenção "nenhum") e três entidades.

Expressões de exemplo de etiqueta

A entidade machine learned é criada e as subentidades têm funcionalidades. Para concluir a melhoria da extração, as expressões de exemplo têm de ser etiquetadas com as subentidades.

Existem duas formas de etiquetar expressões:

  1. Utilizar a 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, utilize o cursor de paleta para selecionar a entidade em cada expressão de exemplo.
  2. Realce o texto ao arrastar o cursor. Com o cursor, realce sobre o texto que pretende etiquetar. Na imagem seguinte, realçamos "vip - tier" e selecionamos a entidade "NewTier".

    Uma captura de ecrã a mostrar como etiquetar expressões.

Preparar a aplicação

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

Antes da preparação, certifique-se de que existe, pelo menos, uma expressão para cada intenção.

Uma captura de ecrã a mostrar o mas para preparar uma aplicação.

Publicar a aplicação

Para receber uma predição do LUIS num chat bot ou noutra aplicação cliente, tem de publicar a aplicação no ponto final de predição. Para publicar, tem de preparar o punho da aplicação.

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

    Uma captura de ecrã a mostrar o botão para publicar uma aplicação.

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

    Captura de ecrã a mostrar o seletor de blocos de produção.

  3. Selecione Aceder aos URLs do ponto final na notificação para aceder à página Recursos do Azure . Só poderá ver os URLs se tiver um recurso de predição associado à aplicação. Também pode encontrar a página Recursos do Azure ao clicar em Gerir no lado esquerdo do ecrã.

    Uma captura de ecrã a mostrar a notificação de acesso ao ponto final.

Obter predição de intenções

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

  2. Copie o URL da Consulta de Exemplo e cole-o num novo separador do browser.

    O URL do ponto final 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. Aceda ao fim do URL na barra de endereço e substitua o parâmetro da query= cadeia por:

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

    A consulta de expressão é transmitida no URI. Esta expressão não é igual a qualquer uma das expressões de exemplo e deve ser um bom teste para verificar se o LUIS prevê a intenção UserAction como a intenção de classificação superior.

    {
        "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 classificação superior como propriedade prediction.topIntent . Todas as pontuações estão entre 1 e 0, com a melhor pontuação a aproximar-se de 1.

Passos seguintes da aplicação cliente

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

O LUIS não fornece respostas a expressões de utilizador, apenas identifica que tipo de informação está a ser pedida em linguagem natural. O seguimento da conversação é fornecido pela aplicação cliente, como um Bot do Azure.

Limpar os recursos

Quando já não precisar, elimine a aplicação LUIS. Para tal, selecione As minhas aplicações no menu superior esquerdo. Selecione as reticências ( ... ) à direita do nome da aplicação na lista de aplicações, selecione Eliminar. Na caixa de diálogo de pop-up denominada Eliminar aplicação? , selecione Ok.