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:
|
entities |
Uma matriz de tipos complexos que contém informações ricas sobre as entidades extraídas do texto, com os seguintes campos
|
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.