Intenções

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.

Uma intenção representa uma tarefa ou ação que o utilizador quer executar. É um objetivo expresso na expressão de um utilizador.

Defina um conjunto de intenções que corresponde às ações que os utilizadores querem realizar na sua aplicação. Por exemplo, uma aplicação de viagens teria várias intenções:

Intenções da aplicação de viagens Expressões de exemplo
ReservarBilhete "Reserve-me um voo para o Rio na próxima semana"
"Me levar ao Rio no dia 24"
"Preciso de um bilhete de avião no próximo domingo para o Rio de Janeiro"
Saudação "Hi" (Viva)
"Hello" (Olá)
"Good morning" (Bom dia)
CheckWeather "Como está o tempo em Boston?"
"Mostre-me a previsão para este fim de semana"
Nenhuma "Dê-me uma receita de cookies"
"Os Lakers ganharam?"

Todas as aplicações vêm com a intenção predefinida " None", que é a intenção de contingência.

Intenções pré-criadas

O LUIS fornece intenções pré-criadas e as suas expressões para cada um dos seus domínios pré-criados. As intenções podem ser adicionadas sem adicionar todo o domínio. Adicionar uma intenção é o processo de adicionar uma intenção e as respetivas expressões à sua aplicação. O nome da intenção e a lista de expressões podem ser modificados.

Devolver as pontuações de todas as intenções

Atribui uma expressão a uma única intenção. Quando o LUIS recebe uma expressão, por predefinição devolve a intenção superior dessa expressão.

Se quiser as pontuações para todas as intenções da expressão, pode fornecer um sinalizador na cadeia de consulta da API de predição.

Versão da API de Predição Sinalizador
V2 verbose=true
V3 show-all-intents=true

Intenção em comparação com a entidade

A intenção representa a ação que a aplicação deve tomar para o utilizador, com base na expressão completa. Uma expressão só pode ter uma intenção de melhor classificação, mas pode ter muitas entidades.

Crie uma intenção quando a intenção do utilizador acionar uma ação na sua aplicação cliente, como uma chamada para a função checkweather() da tabela acima. Em seguida, crie entidades para representar os parâmetros necessários para executar a ação.

Intenção Entidade Expressão de exemplo
CheckWeather { "type": "location", "entity": "Seattle" }
{ "type": "builtin.datetimeV2.date","entity": "tomorrow","resolution":"2018-05-23" }
Como está o tempo em Seattletomorrow?
CheckWeather { "type": "date_range", "entity": "this weekend" } Mostrar-me a previsão para this weekend

Intenção None (Nenhuma)

A intenção None é criada, mas deixada vazia de propósito. A intenção None é uma intenção necessária e não pode ser eliminada ou renomeada. Preencha-a com expressões que estejam fora do seu domínio.

A intenção None é a intenção de contingência e deve ter 10% do total de expressões. É importante em todas as aplicações, porque é utilizada para ensinar expressões luis que não são importantes no domínio da aplicação (área do assunto). Se não adicionar expressões para a intenção None , o LUIS força uma expressão fora do domínio numa das intenções de domínio. Isto irá distorcer as pontuações de predição ensinando ao LUIS a intenção errada para a expressão.

Quando uma expressão é prevista como a intenção None, a aplicação cliente pode fazer mais perguntas ou fornecer um menu para direcionar o utilizador para escolhas válidas.

Intenções negativas

Se quiser determinar intenções negativas e positivas, como " Quero um carro" e " Não quero um carro", pode criar duas intenções (uma positiva e uma negativa) e adicionar expressões adequadas para cada um. Em alternativa, pode criar uma única intenção e marcar os dois termos positivos e negativos diferentes como uma entidade.

Intenções e padrões

Se tiver expressões de exemplo, que podem ser definidas em parte ou no todo como uma expressão normal, considere utilizar a entidade de expressão regular emparelhada com um padrão.

A utilização de uma entidade de expressão regular garante a extração de dados para que o padrão seja correspondido. A correspondência de padrões garante que é devolvida uma intenção exata.

Saldo da intenção

As intenções de domínio da aplicação devem ter um equilíbrio de expressões em cada intenção. Por exemplo, não tem a maioria das intenções com 10 expressões e outra intenção com 500 expressões. Isto não está equilibrado. Nesta situação, gostaria de rever a intenção com 500 expressões para ver se muitas das intenções podem ser reorganizadas num padrão.

A intenção None não está incluída no saldo. Essa intenção deve conter 10% do total de expressões na aplicação.

Limites de intenção

Reveja os limites para compreender quantas intenções pode adicionar a um modelo.

Dica

Se precisar de mais do que o número máximo de intenções, considere se o seu sistema está a utilizar demasiadas intenções e determine se várias intenções são combinadas numa única intenção com entidades. As intenções demasiado semelhantes podem dificultar a distinção entre o LUIS. As intenções devem ser variadas o suficiente para capturar as tarefas principais que o utilizador está a pedir, mas não precisam de capturar todos os caminhos que o seu código toma. Por exemplo, duas intenções: BookFlight() e FlightCustomerService() podem ser intenções separadas numa aplicação de viagens, mas BookInternationalFlight() e BookDomesticFlight() são demasiado semelhantes. Se o seu sistema precisar de as distinguir, utilize entidades ou outras lógicas em vez de intenções.

Pedir ajuda para aplicações com um número significativo de intenções

Se reduzir o número de intenções ou dividir as intenções em várias aplicações não funcionar para si, contacte o suporte. Se a sua subscrição do Azure incluir serviços de suporte, contacte o suporte técnico do Azure.

Melhores Práticas para Intenções:

Definir intenções distintas

Certifique-se de que o vocabulário para cada intenção é apenas para essa intenção e não se sobrepõe a uma intenção diferente. Por exemplo, se quiser ter uma aplicação que processe disposições de viagem, como voos de companhia aérea e hotéis, pode optar por ter estas áreas temáticas como intenções separadas ou a mesma intenção com entidades para dados específicos dentro da expressão.

Se o vocabulário entre duas intenções for o mesmo, combine a intenção e utilize entidades.

Considere as seguintes expressões de exemplo:

  1. Reservar um voo
  2. Reservar um hotel

"Reservar um voo" e "reservar um hotel" utilizam o mesmo vocabulário de "reservar um <substantivo>". Este formato é o mesmo, pelo que deve ser a mesma intenção com as diferentes palavras de voo e hotel como entidades extraídas.

Adicionar funcionalidades a intenções

As funcionalidades descrevem conceitos para uma intenção. Uma funcionalidade pode ser uma lista de expressões de palavras que são significativas para essa intenção ou uma entidade que é significativa para essa intenção.

Encontrar um ponto doce para intenções

Utilize dados de predição do LUIS para determinar se as intenções estão sobrepostas. As intenções sobrepostas confundem o LUIS. O resultado é que a intenção de classificação superior está demasiado próxima de outra intenção. Uma vez que o LUIS não utiliza exatamente o mesmo caminho através dos dados para preparação de cada vez, uma intenção sobreposta tem a possibilidade de ser a primeira ou a segunda na preparação. Quer que a classificação da expressão para cada intenção esteja mais distante, para que esta variância não aconteça. Uma boa distinção para intenções deve resultar sempre na intenção superior esperada.

Equilibrar expressões entre intenções

Para que as predições do LUIS sejam precisas, a quantidade de expressões de exemplo em cada intenção (exceto a intenção None) tem de ser relativamente igual.

Se tiver uma intenção com 500 expressões de exemplo e todas as outras intenções com 10 expressões de exemplo, a intenção de expressão de 500 terá uma taxa de predição mais elevada.

Adicionar expressões de exemplo a nenhuma intenção

Esta intenção é a intenção de contingência, que indica tudo fora da sua aplicação. Adicione uma expressão de exemplo à intenção None para cada 10 expressões de exemplo no resto da aplicação LUIS.

Não adicione muitas expressões de exemplo a intenções

Após a publicação da aplicação, adicione apenas expressões da aprendizagem ativa no processo de ciclo de vida de desenvolvimento. Se as expressões forem demasiado semelhantes, adicione um padrão.

Não misture a definição de intenções e entidades

Crie uma intenção para qualquer ação que o bot efetue. Utilize entidades como parâmetros que tornam essa ação possível.

Por exemplo, para um bot que irá reservar voos de avião, crie uma intenção BookFlight . Não crie uma intenção para cada companhia aérea ou destino. Utilize esses dados como entidades e marque-os nas expressões de exemplo.

Passos seguintes

Como utilizar intenções