Tipos de entidade

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.

Uma entidade é um item ou um 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. Por exemplo:

Enunciado Intenção prevista Entidades extraídas Explicação
Olá, tudo bem? Saudação - Nada para extrair.
Quero pedir uma pizza pequena orderPizza 'pequena' A entidade 'Size' é extraída como 'pequena'.
Desligar a luz do quarto turnOff 'quarto' A entidade 'Room' é extraída como 'quarto'.
Verifique o saldo da minha conta poupança com final 4406 checkBalance 'poupança', '4406' A entidade 'accountType' é extraída como 'poupança', e a entidade 'accountNumber' é extraída como '4406'.
Comprar três passagens para Nova York buyTickets '3', 'Nova York' A entidade 'ticketsCount' é extraída como '3' e a entidade 'Destination' é extraída como 'Nova York'.

As entidades são opcionais, mas recomendadas. Você não precisa criar entidades para cada conceito do aplicativo, apenas quando:

  • O aplicativo cliente precisa dos dados, ou
  • A entidade atua como uma dica ou um sinal para outra entidade ou intenção. Para saber mais sobre entidades como Recursos, acesse Entidades como recursos.

Tipos de entidade

Para criar uma entidade, você precisa atribuir um nome e um tipo a ela. Há vários tipos de entidades no LUIS.

Entidade de lista

Uma entidade de lista representa um conjunto fixo e fechado de palavras relacionadas, juntamente com os respectivos sinônimos. Você pode usar as entidades de lista para reconhecer vários sinônimos ou variações e extrair uma saída normalizada para eles. Use a opção recomendado para consultar sugestões de novas palavras com base na lista atual.

Uma entidade de lista não tem machine learning, o que significa que o LUIS não descobre mais valores para entidades de lista. O LUIS marca qualquer correspondência a um item em qualquer lista como uma entidade na resposta.

A correspondência de entidades de lista diferencia maiúsculas de minúsculas e deve ser exata. Os valores normalizados também são usados ao fazer a correspondência da entidade de lista. Por exemplo:

Valor normalizado Sinônimos
Pequena sm, sml, tiny, smallest
Médio md, mdm, regular, average, middle
grande lg, lrg, big

Consulte o artigo de referência de entidades de lista para obter mais informações.

Entidade Regex

Uma entidade de expressão regular extrai uma entidade com base em um padrão de expressão regular fornecido por você. Não diferencia maiúsculas de minúsculas e ignora a variante cultural. As entidades de expressão regular são melhores para um texto estruturado ou uma sequência predefinida de valores alfanuméricos esperados em determinado formato. Por exemplo:

Entidade Expressão regular Exemplo
Número do Voo flight [A-Z]{2} [0-9]{4} flight AS 1234
Número do Cartão de Crédito [0-9]{16} 5478789865437632

Consulte o artigo de referência de entidades regex para obter mais informações.

Entidades predefinidas

O LUIS inclui um conjunto de entidades predefinidas para reconhecer tipos comuns de informações como datas, horas, números, medidas e moeda. O suporte a entidade predefinida varia conforme a cultura do seu aplicativo de LUIS. Para obter uma lista completa de entidades predefinidas compatíveis com LUIS, incluindo suporte por cultura, veja a referência de entidade predefinida.

Quando uma entidade predefinida é incluída em seu aplicativo, suas previsões são incluídas em seu aplicativo publicado. O comportamento das entidades predefinidas é previamente treinado e não pode ser modificado.

Entidade predefinida Valor de exemplo
PersonName James, Bill, Tom
DatetimeV2 2019-05-02, May 2nd, 8am on May 2nd 2019

Consulte o artigo de referência de entidades predefinidas para obter mais informações.

Entidade Pattern.Any

Uma entidade pattern.Any é um espaço reservado de tamanho variável usado apenas em um enunciado de modelo do padrão para marcar onde a entidade começa e termina. Ela segue uma regra ou padrão específico e é mais adequada para frases com estrutura lexical fixa. Por exemplo:

Exemplo de enunciado Padrão Entidade
Eu gostaria de um hambúrguer, por favor. Can I have a {meal} [please][?] hambúrguer
Eu gostaria de uma pizza. Can I have a {meal} [please][?] pizza
Onde posso encontrar O Grande Gatsby? Where can I find {bookName}? O Grande Gatsby

Consulte o artigo de referência de entidades Pattern.Any para obter mais informações.

Entidade com ML (aprendizado de máquina)

A entidade com aprendizado de máquina usa o contexto para extrair entidades com base em exemplos rotulados. É a entidade preferida para a criação de aplicativos LUIS. Ela se baseia em algoritmos de machine learning e exige que a rotulagem seja adaptada ao aplicativo com êxito. Use uma entidade com ML para identificar os dados que nem sempre estão bem formatados, mas que têm o mesmo significado.

Exemplo de enunciado Entidade de produto extraído
Quero comprar um livro. 'livro'
Eu quero estes sapatos, por favor. 'sapatos'
Inclua esses shorts na minha cesta. 'shorts'

Confira Entidades com machine learning para obter mais informações.

Entidade com ML com Estrutura

Uma entidade com ML pode ser composta por subentidades menores, cada uma tendo suas próprias propriedades. Por exemplo, uma entidade de Endereço pode ter a seguinte estrutura:

  • Endereço: 4567 Main Street, NY, 98052, EUA
    • Número do Edifício: 4567
    • Nome da Rua: Main Street
    • Estado: NY
    • CEP: 98052
    • País: EUA

Compilando entidades com ML efetivas

Para criar entidades com aprendizado de máquina de forma eficiente, siga estas práticas recomendadas:

  • Se você tiver uma entidade com aprendizado de máquina com subentidades, verifique se as diferentes ordens e variantes da entidade e das subentidades são apresentadas nos enunciados rotulados. Os exemplos de enunciados rotulados devem incluir todos os formatos válidos e incluir entidades que aparecem e que estão ausentes e reordenadas dentro do enunciado.
  • Evite sobreajustar as entidades a um conjunto fixo. O sobreajuste ocorre quando o modelo não generaliza bem o conteúdo, e esse é um problema comum em modelos de machine learning. Isso indica que o aplicativo não trabalhará em novos tipos de exemplos adequadamente. Por sua vez, você deve variar os exemplos de enunciados rotulados para que o aplicativo possa generalizar o conteúdo para além dos exemplos limitados fornecidos.
  • O rotulamento deve ser consistente entre as intenções. Isso inclui, até mesmo, enunciados fornecidos na intenção Nenhuma que inclui essa entidade. Caso contrário, o modelo não poderá determinar as sequências com eficiência.

Entidades como recursos

Outra função importante das entidades é usá-las como recursos ou distinguir características para outras intenções ou entidades para que seu sistema observe e aprenda com elas.

Entidades como recursos para intenções

Você pode usar entidades como um sinal para uma intenção. Por exemplo, a presença de uma determinada entidade no enunciado pode distinguir em qual intenção ela se enquadra.

Exemplo de enunciado Entidade Intencional
Reserve um voo para Nova York. City Reservar Voo
Reserve a sala de conferência principal. Sala Reservar Sala

Entidades como Recurso para entidades

Você também pode usar entidades como um indicador de presença de outras entidades. Um exemplo comum é usar uma entidade predefinida como um recurso para outra entidade com ML. Se você estiver criando um sistema de reservas de voo e seu enunciado for semelhante a 'Reserve para mim um voo do Cairo para Seattle', provavelmente, terá a Cidade de Origem e a Cidade de Destino como entidades de ML. Uma boa prática é usar a entidade GeographyV2 predefinida como um recurso para as duas entidades.

Para saber mais, confira o artigo de referência de entidades GeographyV2.

Você também pode usar entidades como recursos necessários para outras entidades. Isso ajuda na resolução de entidades extraídas. Por exemplo, se você estiver criando um aplicativo de pedido de pizza e tiver uma entidade com ML Size, poderá criar a entidade de lista SizeList e usá-la como um recurso obrigatório para a entidade Size. Seu aplicativo retornará o valor normalizado como a entidade extraída do enunciado.

Consulte recursos para obter mais informações e entidades predefinidas para saber mais sobre a resolução de entidades predefinidas disponível em sua cultura.

Dados de entidades

A maioria dos chatbots e aplicativos precisam de mais do que o nome da intenção. Esses dados adicionais e opcionais são provenientes de entidades descobertas na declaração. Cada tipo de entidade retorna diferentes informações sobre a correspondência.

Uma única palavra ou frase em uma declaração pode corresponder a mais de uma entidade. Nesse caso, cada entidade de correspondência é retornada com sua pontuação.

Todas as entidades são retornadas na matriz de entidades da resposta do ponto de extremidade

Melhores práticas para entidades

Usar entidades com machine learning

As entidades aprendidas do computador são adaptadas ao seu aplicativo e exigem que o rótulo seja bem-sucedido. Se você não está usando entidades com machine learning, talvez esteja usando as entidades erradas.

As entidades aprendidas do computador podem usar outras entidades como recursos. Essas outras entidades podem ser entidades personalizadas, como entidades de expressão regular ou entidades de lista, ou pode usar entidades predefinidas como recursos.

Saiba mais sobre as entidades aprendidas da máquina em vigor.

Próximas etapas