Partilhar via


Habilidade cognitiva de Reconhecimento de Entidades (v2)

A habilidade de Reconhecimento de Entidade (v2) extrai entidades de diferentes tipos do texto. Essa habilidade usa os modelos de aprendizado de máquina fornecidos pela Análise de Texto nos serviços de IA do Azure.

Importante

A habilidade de Reconhecimento de Entidade (v2) (Microsoft.Skills.Text.EntityRecognitionSkill) agora foi descontinuada, substituída por Microsoft.Skills.Text.V3.EntityRecognitionSkill. Siga as recomendações em Habilidades preteridas para migrar para uma habilidade suportada.

Nota

À medida que você expande o escopo aumentando a frequência de processamento, adicionando mais documentos ou adicionando mais algoritmos de IA, você precisará anexar um recurso faturável de serviços de IA do Azure. As cobranças se acumulam ao chamar APIs nos serviços de IA do Azure e para extração de imagem como parte do estágio de quebra de documentos no Azure AI Search. Não há taxas para extração de texto de documentos.

A execução de habilidades internas é cobrada pelo preço pré-pago dos serviços de IA do Azure existentes. O preço da extração de imagem é descrito na página de preços do Azure AI Search.

@odata.type

Microsoft.Skills.Text.EntityRecognitionSkill

Limites de dados

O tamanho máximo de um registo deve ser de 50 000 carateres, medido por String.Length. Se você precisar dividir seus dados antes de enviá-los para o extrator de frase-chave, considere usar a habilidade Divisão de texto. Se você usar uma habilidade de divisão de texto, defina o comprimento da página como 5000 para obter o melhor desempenho.

Parâmetros de habilidade

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

Nome do parâmetro Description
categories Matriz de categorias que devem ser extraídas. Tipos de categorias possíveis: "Person", "Location", "Organization", "Quantity", "Datetime", "URL""Email", . Se nenhuma categoria for fornecida, todos os tipos serão retornados.
defaultLanguageCode Código linguístico do texto de entrada. Os seguintes idiomas são suportados: ar, cs, da, de, en, es, fi, fr, hu, it, ja, ko, nl, no, pl, pt-BR, pt-PT, ru, sv, tr, zh-hans. Nem todas as categorias de entidades são suportadas para todos os idiomas; veja nota abaixo.
minimumPrecision Um valor entre 0 e 1. Se a pontuação de confiança (na saída) for inferior a namedEntities este valor, a entidade não é devolvida. A predefinição é 0.
includeTypelessEntities Defina como true se quiser reconhecer entidades conhecidas que não se encaixam nas categorias atuais. As entidades reconhecidas são retornadas no campo de saída complexa entities . Por exemplo, "Windows 10" é uma entidade bem conhecida (um produto), mas como "Produtos" não é uma categoria suportada, essa entidade seria incluída no campo de saída entidades. O padrão é false

Contributos para as competências

Nome de entrada Description
languageCode Opcional. A predefinição é "en".
text O texto a analisar.

Resultados em termos de competências

Nota

Nem todas as categorias de entidades são suportadas para todos os idiomas. Os "Person"tipos de categoria , "Location"e entidade "Organization" são suportados para a lista completa de idiomas acima. Apenas de, en, es, fr e zh-hans suportam a extração de "Quantity", "Datetime", "URL", e "Email" tipos. Para obter mais informações, consulte Suporte a idioma e região para a API de Análise de Texto.

Nome da saída Description
persons Uma matriz de cadeias de caracteres onde cada cadeia 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 Uma matriz de cadeias de caracteres onde cada cadeia de caracteres representa uma quantidade.
dateTimes Uma matriz de cadeias de caracteres onde cada cadeia de caracteres representa um valor DateTime (como aparece no texto).
urls Uma matriz de cadeias de caracteres onde cada cadeia de caracteres representa uma URL
emails Uma matriz de cadeias de caracteres em que cada cadeia de caracteres representa um e-mail
namedEntities Uma matriz de tipos complexos que contém os seguintes campos:
  • category
  • value (O nome real da entidade)
  • offset (O local onde foi encontrado no texto)
  • confiança (maior valor significa que é mais para ser uma entidade real)
entities Uma matriz de tipos complexos que contém informações ricas sobre as entidades extraídas do texto, com os seguintes campos
  • nome (o nome real da entidade. Isto representa uma forma "normalizada")
  • wikipediaId
  • wikipediaLíngua
  • wikipediaUrl (um link para a página da Wikipédia para a entidade)
  • bingId
  • tipo (a categoria da entidade reconhecida)
  • subType (disponível apenas para determinadas categorias, isso fornece uma visão mais granular do tipo de entidade)
  • correspondências (uma coleção complexa que contém)
    • texto (o texto bruto da entidade)
    • offset (o local onde foi encontrado)
    • comprimento (o comprimento do texto bruto da entidade)

Definição da amostra

  {
    "@odata.type": "#Microsoft.Skills.Text.EntityRecognitionSkill",
    "categories": [ "Person", "Email"],
    "defaultLanguageCode": "en",
    "includeTypelessEntities": true,
    "minimumPrecision": 0.5,
    "inputs": [
      {
        "name": "text",
        "source": "/document/content"
      }
    ],
    "outputs": [
      {
        "name": "persons",
        "targetName": "people"
      },
      {
        "name": "emails",
        "targetName": "contact"
      },
      {
        "name": "entities"
      }
    ]
  }

Entrada de exemplo

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

Saída de exemplo

{
  "values": [
    {
      "recordId": "1",
      "data" : 
      {
        "persons": [ "John Smith"],
        "emails":["contact@contoso.com"],
        "namedEntities": 
        [
          {
            "category":"Person",
            "value": "John Smith",
            "offset": 35,
            "confidence": 0.98
          }
        ],
        "entities":  
        [
          {
            "name":"John Smith",
            "wikipediaId": null,
            "wikipediaLanguage": null,
            "wikipediaUrl": null,
            "bingId": null,
            "type": "Person",
            "subType": null,
            "matches": [{
                "text": "John Smith",
                "offset": 35,
                "length": 10
            }]
          },
          {
            "name": "contact@contoso.com",
            "wikipediaId": null,
            "wikipediaLanguage": null,
            "wikipediaUrl": null,
            "bingId": null,
            "type": "Email",
            "subType": null,
            "matches": [
            {
                "text": "contact@contoso.com",
                "offset": 70,
                "length": 19
            }]
          },
          {
            "name": "Contoso",
            "wikipediaId": "Contoso",
            "wikipediaLanguage": "en",
            "wikipediaUrl": "https://en.wikipedia.org/wiki/Contoso",
            "bingId": "349f014e-7a37-e619-0374-787ebb288113",
            "type": null,
            "subType": null,
            "matches": [
            {
                "text": "Contoso",
                "offset": 0,
                "length": 7
            }]
          }
        ]
      }
    }
  ]
}

Observe que os deslocamentos retornados para entidades na saída dessa habilidade são retornados diretamente da API de Análise de Texto, o que significa que, se você estiver usando-os para indexar na cadeia de caracteres original, deverá usar a classe StringInfo no .NET para extrair o conteúdo correto. Mais detalhes podem ser encontrados aqui.

Casos de alerta

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

Consulte também