Como adicionar padrões para melhorar a precisão da predição
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.
Depois de uma aplicação LUIS receber expressões de ponto final, utilize um padrão para melhorar a precisão da predição para expressões que revelam um padrão na ordem das palavras e na escolha de palavras. Os padrões utilizam sintaxe específica para indicar a localização de: entidades, funções de entidade e texto opcional.
Nota
Adicionar expressão de modelo com a sintaxe correta
Inicie sessão no portal do LUIS e selecione o recurso Subscrição e Criação para ver as aplicações atribuídas a esse recurso de criação.
Abra a sua aplicação ao selecionar o respetivo nome na página As Minhas Aplicações.
Selecione Padrões no painel esquerdo, em Melhorar o desempenho da aplicação.
Selecione a intenção correta para o padrão.
Na caixa de texto do modelo, escreva a expressão do modelo e selecione Enter. Quando quiser introduzir o nome da entidade, utilize a sintaxe de entidade padrão correta. Inicie a sintaxe da entidade com
{
. É apresentada a lista de entidades. Selecione a entidade correta.Se a entidade incluir uma função, indique a função com dois pontos,
:
, depois do nome da entidade, como{Location:Origin}
. A lista de funções das entidades é apresentada numa lista. Selecione a função e, em seguida, selecione Enter.Depois de selecionar a entidade correta, conclua a introdução do padrão e, em seguida, selecione Enter. Quando terminar de introduzir padrões, prepare a sua aplicação.
Criar uma entidade pattern.any
Pattern.any entities are only valid in patterns, not intents's example utterances. Este tipo de entidade ajuda o LUIS a encontrar o fim das entidades de comprimento e escolha de palavras variáveis. Uma vez que esta entidade é utilizada num padrão, o LUIS sabe onde está o fim da entidade no modelo de expressão.
Inicie sessão no portal do LUIS e selecione o recurso Subscrição e Criação para ver as aplicações atribuídas a esse recurso de criação.
Abra a sua aplicação ao selecionar o respetivo nome na página As Minhas Aplicações.
Na secção Compilar , selecione Entidades no painel esquerdo e, em seguida, selecione + Criar.
Na caixa de diálogo Escolher um tipo de entidade , introduza o nome da entidade na caixa Nome e selecione Padrão.Qualquer um como o Tipo e, em seguida, selecione Criar.
Depois de criar uma expressão de padrão com esta entidade, a entidade é extraída com um algoritmo combinado de machine learning e correspondência de texto.
Adicionar expressões de exemplo como padrão
Se quiser adicionar um padrão para uma entidade, a forma mais fácil é criar o padrão a partir da página Detalhes da intenção. Isto garante que a sintaxe corresponde à expressão de exemplo.
Inicie sessão no portal do LUIS e selecione o recurso Subscrição e Criação para ver as aplicações atribuídas a esse recurso de criação.
Abra a sua aplicação ao selecionar o respetivo nome na página As Minhas Aplicações.
Na página Lista de intenções , selecione o nome da intenção da expressão de exemplo a partir da qual pretende criar uma expressão de modelo.
Na página Detalhes da intenção, selecione a linha para a expressão de exemplo que pretende utilizar como expressão de modelo e, em seguida, selecione + Adicionar como padrão na barra de ferramentas de contexto.
A expressão tem de incluir uma entidade para criar um padrão a partir da expressão.
Na caixa de pop-up, selecione Concluído na página Confirmar padrões . Não precisa de definir as subentidades ou funcionalidades das entidades. Só precisa de listar a entidade de machine learning.
Se precisar de editar o modelo, como selecionar texto como opcional, com os
[]
parênteses retos, tem de efetuar esta edição a partir da página Padrões .Na barra de navegação, selecione Preparar para preparar a aplicação com o novo padrão.
Utilizar o operador OR e os grupos
Os dois padrões seguintes podem ser combinados num único padrão com a sintaxe "( )" e OR "|".
Intenção | Expressões de exemplo com texto opcional e entidades pré-criadas |
---|---|
OrgChart-Manager | "who will be {EmployeeListEntity}['s] manager [[in]{datetimeV2}?]" |
OrgChart-Manager | "who will be {EmployeeListEntity}['s] manager [[on]{datetimeV2}?]" |
A nova expressão de modelo será:
"who ( era | é | será ) {EmployeeListEntity}['s] manager [([in]|[ on]){datetimeV2}?]" .
Isto utiliza um grupo à volta do verbo tenso necessário e o opcional "in" e "on" com um ou pipe entre eles.
Expressões de modelo
Devido à natureza do domínio do assunto do Recurso Humano, existem algumas formas comuns de perguntar sobre as relações dos colaboradores nas organizações. Como as seguintes expressões de exemplo:
- "A quem é que a Jill Jones reporta?"
- "Quem reporta a Jill Jones?"
Estas expressões estão demasiado próximas para determinar a exclusividade contextual de cada uma sem fornecer muitos exemplos de expressão. Ao adicionar um padrão para uma intenção, o LUIS aprende padrões de expressão comuns para uma intenção sem ter de fornecer mais vários exemplos de expressão.
Dica
Cada expressão pode ser eliminada da lista de revisão. Depois de eliminado, não voltará a aparecer na lista. Isto é verdade mesmo que o utilizador introduza a mesma expressão a partir do ponto final.
Os exemplos de expressão de modelo para esta intenção incluem:
Exemplos de expressões de modelo | significado da sintaxe |
---|---|
A quem é que o {EmployeeListEntity} reporta[?] | intercambiável: {EmployeeListEntity} ignore: [?] |
Quem reporta a {EmployeeListEntity}[?] | intercambiável: {EmployeeListEntity} ignore: [?] |
A sintaxe "{EmployeeListEntity}" marca a localização da entidade na expressão do modelo e a entidade que é. A sintaxe opcional, "[?]", marca palavras ou pontuação que é opcional. O LUIS faz corresponder a expressão, ignorando o texto opcional dentro dos parênteses retos.
Importante
Embora a sintaxe se pareça com uma expressão normal, não é uma expressão regular. Só é suportada a sintaxe "{ }" e o parêntese reto, "[ ]". Podem ser aninhadas até dois níveis.
Para que um padrão seja correspondido a uma expressão, primeiro as entidades na expressão têm de corresponder às entidades na expressão do modelo. Isto significa que as entidades precisam de ter exemplos suficientes em expressões de exemplo com um elevado grau de predição antes de os padrões com entidades serem bem-sucedidos. No entanto, o modelo não ajuda a prever entidades. O modelo apenas prevê intenções.
Nota
Embora os padrões lhe permitam fornecer menos expressões de exemplo, se as entidades não forem detetadas, o padrão não corresponderá.
Adicionar lista de expressões como uma funcionalidade
As funcionalidades ajudam o LUIS ao fornecer sugestões de que determinadas palavras e expressões fazem parte de um vocabulário de domínio de aplicação.
- Inicie sessão no portal do LUIS e selecione o recurso Subscrição e Criação para ver as aplicações atribuídas a esse recurso de criação.
- Abra a sua aplicação ao selecionar o respetivo nome na página As Minhas Aplicações.
- Selecione Compilar e, em seguida, selecione Funcionalidades no painel esquerdo da sua aplicação.
- Na página Funcionalidades , selecione + Criar.
- Na caixa de diálogo Criar nova funcionalidade de lista de expressões , introduza um nome como Coberturas de Pizza. Na caixa Valor , introduza exemplos de coberturas, como Ham. Pode escrever um valor de cada vez ou um conjunto de valores separados por vírgulas e, em seguida, premir Enter.
- Mantenha o seletor Estes valores são intercambiáveis ativados se as expressões puderem ser utilizadas alternadamente. A funcionalidade lista de expressões intercambiáveis serve como uma lista de sinónimos para preparação. As listas de expressões não intercambiáveis servem como funcionalidades separadas para preparação, o que significa que as funcionalidades são semelhantes, mas a intenção muda quando troca expressões.
- A lista de expressões pode aplicar-se a toda a aplicação com a definição Global ou a um modelo específico (intenção ou entidade). Se criar a lista de expressões como uma funcionalidade a partir de uma intenção ou entidade, o botão de alternar não está definido como global. Neste caso, o botão de alternar especifica que a funcionalidade é local apenas para esse modelo, pelo que não é global para a aplicação.
- Selecione Concluído. A nova funcionalidade é adicionada à página Funcionalidades do ML .
Nota
- Pode eliminar ou desativar uma lista de expressões a partir da barra de ferramentas contextual na página Funcionalidades do ML .
- Deve ser aplicada uma lista de expressões à intenção ou entidade que se destina a ajudar, mas pode haver alturas em que uma lista de expressões deve ser aplicada a toda a aplicação como uma funcionalidade Global . Na página Funcionalidades do Machine Learning , selecione a lista de expressões e, em seguida, selecione Tornar global na barra de ferramentas contextual superior.
Adicionar uma entidade como uma funcionalidade a uma intenção
Para adicionar uma entidade como uma funcionalidade a uma intenção, selecione a intenção na página Intenções e, em seguida, selecione + Adicionar funcionalidade acima da barra de ferramentas contextual. A lista incluirá todas as listas de expressões e entidades que podem ser aplicadas como funcionalidades.
Para adicionar uma entidade como uma funcionalidade a outra entidade, pode adicionar a funcionalidade na página Detalhes da intenção com a Paleta de Entidades ou pode adicionar a funcionalidade na página Detalhes da entidade.
Passos seguintes
- Preparar e testar a sua aplicação após a melhoria.