Habilidade cognitiva de Reconhecimento de Entidade (v2)
A habilidade de Reconhecimento de Entidade (v2) extrai entidades de diferentes tipos do texto. Essa habilidade usa os modelos de machine learning 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) foi descontinuada e substituída porMicrosoft.Skills.Text.V3.EntityRecognitionSkill. Siga as recomendações em Habilidades preteridas para migrar para uma habilidade compatível.
Observação
À medida que você expande o escopo aumentando a frequência de processamento, adicionando mais documentos ou adicionando mais algoritmos de IA, será necessário anexar um recurso de serviços de IA do Azure faturável. Os encargos são acumulados ao chamar APIs nos serviços de IA do Azure e para extração de imagem como parte do estágio de quebra de documento na Pesquisa de IA do Azure. Não há encargos para extração de texto em documentos.
A execução de habilidades internas é cobrada pelo preço pago conforme o uso dos serviços de IA do Azure existentes. O preço de extração de imagem é descrito na página de preços da IA do Azure Search.
@odata.type
Microsoft.Skills.Text.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 interromper o backup de seus dados antes de enviá-la para o extrator de frases-chave, considere o uso de habilidade de Texto Dividido. 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 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" . Se nenhuma categoria for fornecida, todos os tipos são retornados. |
defaultLanguageCode |
Código de idioma do texto de entrada. Há suporte para vários idiomas: ar, cs, da, de, en, es, fi, fr, hu, it, ja, ko, nl, no, pl, pt-BR, pt-PT, ru, sv, tr, zh-hans . 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. |
includeTypelessEntities |
Defina como true se você quiser reconhecer entidades conhecidas que não se ajustam às categorias atuais. As entidades reconhecidas são retornadas no entities campo complexo de saída. Por exemplo, "Windows 10" é uma entidade (um produto) conhecida, mas como "produtos" não é uma categoria compatível, essa entidade seria incluída no campo de saída de entidades. O padrão é false |
Entradas de habilidades
Nome de entrada | Descrição |
---|---|
languageCode |
Opcional. O padrão é "en" . |
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. Os tipos de categoria de entidade "Person"
, "Location"
e "Organization"
têm suporte para a lista completa de idiomas acima. Somente os pares de idiomas de, en, es, fre zh-Hans dão suporte à extração dos tipos "Quantity"
, "Datetime"
, "URL"
e "Email"
. Para obter mais informações, consulte Suporte a idiomas e regiões para o API de Análise de Texto.
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 |
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 de exemplo
{
"@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ê os estiver usando para indexar na cadeia de caracteres original, deverá usar a classe StringInfo no .NET para extrair o conteúdo correto. Encontre mais detalhes aqui.
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.