Habilidade cognitiva de reconhecimento de entidade (v3)

A habilidade de Reconhecimento de Entidade (v3) extrai entidades de diferentes tipos do texto. Essas entidades se enquadram em 14 categorias distintas, variando de pessoas e organizações a URLs e números de telefone. Essa habilidade usa o Reconhecimento de Entidade Nomeada modelos de machine learning fornecidos pelo Linguagem de IA do Azure.

Observação

Essa habilidade está associada aos serviços de IA do Azure e requer um recurso faturável para transações que excedem 20 documentos por indexador por dia. A execução de habilidades internas é cobrada pelo preço pago conforme o uso dos serviços de IA do Azure existentes.

@odata.type

Microsoft.Skills.Text.V3.EntityRecognitionSkill

Limites de dados

O tamanho máximo de um registro deve ser de 50.000 caracteres conforme medido por String.Length. Se você precisar dividir seus dados antes de enviá-los para a habilidade EntityRecognition, considere o uso da habilidade de Texto Dividido. Ao usar uma habilidade dividida, defina o comprimento da página como 5000 para obter o melhor desempenho.

Parâmetros de habilidades

Os parâmetros diferenciam maiúsculas de minúsculas e são todos opcionais.

Nome do parâmetro Descrição
categories Matriz de categorias que devem ser extraídas. Os tipos possíveis de categoria: "Person", "Location", "Organization", "Quantity", "DateTime", "URL", "Email", "personType", "Event", "Product", "Skill", "Address", "phoneNumber", "ipAddress". Se nenhuma categoria for fornecida, todos os tipos são retornados.
defaultLanguageCode Código de idioma do texto de entrada. Se o código de idioma padrão não for especificado, em inglês (en) será usado como o código de idioma padrão.
Consulte a Lista completa dos idiomas com suporte. Não há suporte para todas as categorias de entidade em todos os idiomas; veja a observação abaixo.
minimumPrecision Um valor entre 0 e 1. Se a pontuação de confiança (na saída namedEntities) for menor do que esse valor, a entidade não será retornada. O padrão é 0.
modelVersion (opcional) Especifica a versão do modelo a ser usada ao chamar a API de reconhecimento de entidade. O padrão será o mais recente disponível quando não for especificado. Recomendamos que você não especifique esse valor, a menos que seja necessário.

Entradas de habilidades

Nome de entrada Descrição
languageCode Uma cadeia de caracteres que indica o idioma dos registros. Se esse parâmetro não for especificado, o código de idioma padrão será usado para analisar os registros.
Consulte a Lista completa dos idiomas com suporte.
text O texto para analisar.

Saídas de habilidades

Observação

Não há suporte para todas as categorias de entidade em todos os idiomas. Confira Categorias de entidade NER (Reconhecimento de Entidade Nomeada) com suporte para saber quais categorias de entidade têm suporte para o idioma que você vai usar.

Nome de saída Descrição
persons Uma matriz de cadeias de caracteres onde cada cadeia de caracteres representa o nome de uma pessoa.
locations Uma matriz de cadeias de caracteres onde cada cadeia de caracteres representa um local.
organizations Uma matriz de cadeias de caracteres onde cada cadeia de caracteres representa uma organização.
quantities Um array de strings onde cada cadeia de caracteres representa uma quantidade.
dateTimes Uma matriz de cadeia de caracteres onde cada cadeia de caracteres representa um valor DateTime (como aparece no texto).
urls Uma matriz de cadeia de caracteres onde cada cadeia de caracteres representa um URL
emails Uma matriz de cadeia de caracteres onde cada cadeia de caracteres representa um e-mail
personTypes Uma matriz de strings onde cada string representa um PersonType
events Uma matriz de strings onde cada string representa um evento
products Uma matriz de strings onde cada string representa um produto
skills Uma matriz de strings onde cada string representa uma habilidade
addresses Uma matriz de strings onde cada string representa um endereço
phoneNumbers Uma matriz de strings onde cada string representa um número de telefone
ipAddresses Uma matriz de strings onde cada string representa um endereço IP
namedEntities Uma matriz de tipos complexos que contêm os seguintes campos:
  • category
  • subcategory
  • confidenceScore (um valor maior significa que é mais provável se tratar de uma entidade real)
  • length (O comprimento (número de caracteres) dessa entidade)
  • deslocamento (o local onde ele foi encontrado no texto)
  • text (o nome real da entidade como ele aparece no texto)

Definição de exemplo

  {
    "@odata.type": "#Microsoft.Skills.Text.V3.EntityRecognitionSkill",
    "context": "/document",
    "categories": [ "Person", "Email"],
    "defaultLanguageCode": "en", 
    "minimumPrecision": 0.5, 
    "inputs": [
        {
            "name": "text", 
            "source": "/document/content"
        },
        {
            "name": "languageCode", 
            "source": "/document/language"
        }
    ],
    "outputs": [
        {
            "name": "persons", 
            "targetName": "people"
        },
        {
            "name": "emails", 
            "targetName": "emails"
        },
        {
            "name": "namedEntities", 
            "targetName": "namedEntities"
        }
    ]
  }

Entrada de exemplo

{
    "values": [
      {
        "recordId": "1",
        "data":
           {
             "text": "Contoso Corporation was founded by Jean Martin. They can be reached at contact@contoso.com",
             "languageCode": "en"
           }
      }
    ]
}

Saída de exemplo

{
  "values": [
    {
      "recordId": "1",
      "data" : 
      {
        "people": [ "Jean Martin"],
        "emails":["contact@contoso.com"],
        "namedEntities": 
        [
          {
            "category": "Person",
            "subcategory": null,
            "length": 11,
            "offset": 35,
            "confidenceScore": 0.98,
            "text": "Jean Martin"
          },
          {
            "category": "Email",
            "subcategory": null,
            "length": 19,
            "offset": 71,
            "confidenceScore": 0.8,
            "text": "contact@contoso.com"
          }
        ],
      }
    }
  ]
}

Os deslocamentos retornados para entidades na saída dessa habilidade são retornados diretamente das APIs do Serviço de Linguagem, o que significa que, se você os estiver usando para indexar na cadeia de caracteres original, deverá usar a classe StringInfo no .NET para extrair o conteúdo correto. Para saber mais, confira Suporte multilíngue e para emoji nos recursos do Serviço de Linguagem.

Casos de aviso

Se o código do idioma do documento não for suportado, um aviso será retornado e nenhuma entidade será extraída.

Confira também