Extrair dados do texto de expressão com intenções e entidades

Importante

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

O LUIS dá-lhe a capacidade de obter informações a partir das expressões de linguagem natural de um utilizador. A informação é extraída de forma a que possa ser usada por um programa, aplicação ou chat bot para tomar medidas. Nas secções seguintes, saiba quais os dados devolvidos de intenções e entidades com exemplos de JSON.

Os dados mais difíceis de extrair são os dados de aprendizagem automática porque não é uma correspondência exata de texto. A extração de dados das entidades de aprendizagem automática tem de fazer parte do ciclo de autoria até estar confiante de que recebe os dados que espera.

Localização de dados e utilização de chaves

A LUIS extrai dados da expressão do utilizador no ponto final publicado. O pedido HTTPS (POST ou GET) contém a expressão, bem como algumas configurações opcionais, tais como ambientes de encenação ou produção.

Pedido de ponto final de previsão V2

https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/<appID>?subscription-key=<subscription-key>&verbose=true&timezoneOffset=0&q=book 2 tickets to paris

Pedido de ponto final de previsão V3

https://westus.api.cognitive.microsoft.com/luis/v3.0-preview/apps/<appID>/slots/<slot-type>/predict?subscription-key=<subscription-key>&verbose=true&timezoneOffset=0&query=book 2 tickets to paris

A appID página de Definições da sua app LUIS, bem como parte do URL (depois /apps/) quando estiver a editar a aplicação LUIS. Esta subscription-key é a chave de ponto final utilizada para consultar a sua aplicação. Enquanto pode usar a sua tecla de autoria/arranque gratuita enquanto está a aprender LUIS, é importante mudar a chave de ponto final para uma chave que suporta o seu uso luis esperado. A timezoneOffset unidade é de minutos.

A resposta HTTPS contém todas as informações de intenção e entidade que a LUIS pode determinar com base no modelo atual publicado, quer da encenação quer do ponto final de produção. O URL de ponto final encontra-se no site da LUIS , na secção Gestão , na página Chaves e pontos finais .

Dados de intenções

Os dados primários são o nome de intenção de pontuação mais alto. A resposta do ponto final é:

{
  "query": "when do you open next?",
  "topScoringIntent": {
    "intent": "GetStoreInfo",
    "score": 0.984749258
  },
  "entities": []
}
Objeto de dados Tipo de Dados Localização de Dados Valor
Intenção String topScoringIntent.intent "GetStoreInfo"

Se o seu chatbot ou app LUIS-call tomar uma decisão com base em mais de uma pontuação de intenção, devolva todas as pontuações das intenções.

Desa estaladem o parâmetro de identificação. verbose=true A resposta do ponto final é:

{
  "query": "when do you open next?",
  "topScoringIntent": {
    "intent": "GetStoreInfo",
    "score": 0.984749258
  },
  "intents": [
    {
      "intent": "GetStoreInfo",
      "score": 0.984749258
    },
    {
      "intent": "None",
      "score": 0.2040639
    }
  ],
  "entities": []
}

As intenções são ordenadas da pontuação mais alta para a menor.

Objeto de dados Tipo de Dados Localização de Dados Valor Resultado
Intenção String intenções[0].intenção "GetStoreInfo" 0.984749258
Intenção String intenções[1].intenção "Nenhum" 0.0168218873

Se adicionar domínios pré-construídos, o nome de intenção indica o domínio, tais como Utilties ou Communication bem como a intenção:

{
  "query": "Turn on the lights next monday at 9am",
  "topScoringIntent": {
    "intent": "Utilities.ShowNext",
    "score": 0.07842206
  },
  "intents": [
    {
      "intent": "Utilities.ShowNext",
      "score": 0.07842206
    },
    {
      "intent": "Communication.StartOver",
      "score": 0.0239675418
    },
    {
      "intent": "None",
      "score": 0.0168218873
    }],
  "entities": []
}
Domain Objeto de dados Tipo de Dados Localização de Dados Valor
Utilitários Intenção String intenções[0].intenção "Serviços públicos. ShowNext"
Comunicação Intenção String intenções[1].intenção A comunicação. StartOver"
Intenção String intenções[2].intenção "Nenhum"

Dados de entidades

A maioria dos bots de chat e aplicações precisam mais do que o nome de intenção. Estes dados adicionais e opcionais provêm de entidades descobertas na expressão. Cada tipo de entidade devolve informações diferentes sobre a partida.

Uma única palavra ou frase numa expressão pode corresponder a mais do que uma entidade. Nesse caso, cada entidade correspondente é devolvida com a sua pontuação.

Todas as entidades são devolvidas no conjunto de entidades da resposta a partir do ponto final

Entidade tokenizada devolvida

Reveja o suporte simbólico no LUIS.

Dados de entidades pré-construídas

As entidades pré-construídas são descobertas com base numa combinação de expressão regular utilizando o projeto De código aberto Recognisers-Text. As entidades pré-construídas são devolvidas no conjunto de entidades e utilizam o nome de tipo prefixado com builtin::.

Dados da entidade de lista

As entidades da lista representam um conjunto fixo e fechado de palavras relacionadas juntamente com os seus sinónimos. A LUIS não descobre valores adicionais para as entidades de lista. Utilize a função Recomendação para ver sugestões de novas palavras com base na lista atual. Se houver mais de uma entidade de lista com o mesmo valor, cada entidade é devolvida na consulta de ponto final.

Dados regulares da entidade de expressão

Uma entidade de expressão regular extrai uma entidade com base numa expressão regular que fornece.

Extrair nomes

Obter nomes de uma expressão é difícil porque um nome pode ser quase qualquer combinação de letras e palavras. Dependendo do tipo de nome que está a extrair, tem várias opções. As seguintes sugestões não são regras, mas mais orientações.

Adicionar entidades pré-construídas personName e GeografiaV2

As entidades PersonName e GeografiaV2 estão disponíveis em algumas culturas linguísticas.

Nomes de pessoas

O nome de Pessoas pode ter um pequeno formato dependendo da linguagem e da cultura. Utilize uma pessoa pré-construída PessoasMe ou uma entidade simples com funções de primeiro e último nome.

Se utilizar a entidade simples, certifique-se de dar exemplos que usam o primeiro e o último nome em diferentes partes da expressão, em expressões de diferentes comprimentos, e expressões em todas as intenções, incluindo a intenção de Zero. Reveja as declarações de ponto final regularmente para rotular quaisquer nomes que não foram previstos corretamente.

Nomes de lugares

Os nomes de localização são definidos e conhecidos como cidades, condados, estados, províncias e países/regiões. Utilize a geografia da entidade pré-construídaV2 para extrair informações de localização.

Nomes novos e emergentes

Algumas aplicações precisam de ser capazes de encontrar nomes novos e emergentes, como produtos ou empresas. Este tipo de nomes são o tipo mais difícil de extração de dados. Comece com uma entidade simples e adicione uma lista de frases. Reveja as declarações de ponto final regularmente para rotular quaisquer nomes que não foram previstos corretamente.

Padrão.quaisquer dados de entidade

Padrão.qualquer um é um espaço reservado de comprimento variável usado apenas na expressão do modelo de um padrão para marcar onde a entidade começa e termina. A entidade utilizada no padrão deve ser encontrada para que o padrão seja aplicado.

Análise de sentimentos

Se a análise do sentimento estiver configurada durante a publicação, a resposta do json LUIS inclui a análise do sentimento. Saiba mais sobre a análise de sentimento na documentação do serviço de língua .

Dados da entidade de extração de frases-chave

A entidade de extração de frases-chave devolve frases-chave na expressão, fornecidas pelo serviço Language.

Dados que combinam com várias entidades

LUIS devolve todas as entidades descobertas na expressão. Como resultado, o seu chat bot pode ter de tomar uma decisão com base nos resultados.

Dados que combinam várias entidades de lista

Se uma palavra ou frase corresponder a mais de uma entidade de lista, a consulta de ponto final devolve cada entidade lista.

Para a consulta when is the best time to go to red rock?, e a app tem a palavra red em mais de uma lista, a LUIS reconhece todas as entidades e devolve um conjunto de entidades como parte da resposta ao ponto final da JSON.

Passos seguintes

Consulte entidades Add para saber mais sobre como adicionar entidades à sua app LUIS.