Como usar o Reconhecimento de Entidade Nomeada (NER)
O recurso NER pode avaliar texto não estruturado e extrair entidades nomeadas do texto em várias categorias predefinidas, por exemplo: pessoa, local, evento, produto e organização.
Opções de desenvolvimento
Para usar o reconhecimento de entidade nomeada, envie texto bruto não estruturado para análise e manipule a saída da API em seu aplicativo. A análise é realizada no estado em que se encontra, sem personalização adicional ao modelo usado em seus dados. Há duas maneiras de usar o reconhecimento de entidade nomeada:
Opção de desenvolvimento | Description |
---|---|
Estúdio de linguagem | O Language Studio é uma plataforma baseada na Web que permite que você tente vincular entidades com exemplos de texto sem uma conta do Azure e seus próprios dados quando você se inscreve. Para obter mais informações, consulte o site do Language Studio ou o início rápido do language studio. |
API REST ou biblioteca de cliente (SDK do Azure) | Integre o reconhecimento de entidade nomeada em seus aplicativos usando a API REST ou a biblioteca de cliente disponível em vários idiomas. Para obter mais informações, consulte o guia de início rápido de reconhecimento de entidade nomeada. |
Determinar como processar os dados (opcional)
Línguas de entrada
Ao enviar documentos para serem processados, você pode especificar em quais dos idiomas suportados eles estão escritos. se você não especificar um idioma, a extração de frases-chave será padronizada para o inglês. A API pode retornar deslocamentos na resposta para suportar diferentes codificações multilíngues e emojis.
Envio de dados
A análise é realizada aquando da receção do pedido. Usar o recurso NER de forma síncrona é sem monitoração de estado. Nenhum dado é armazenado em sua conta e os resultados são retornados imediatamente na resposta.
Ao usar esse recurso de forma assíncrona, os resultados da API ficam disponíveis por 24 horas a partir do momento em que a solicitação foi ingerida e são indicados na resposta. Após esse período de tempo, os resultados são limpos e não estão mais disponíveis para recuperação.
A API tenta detetar as categorias de entidade definidas para um determinado idioma de documento.
Obter resultados NER
Quando você obtém resultados do NER, você pode transmitir os resultados para um aplicativo ou salvar a saída em um arquivo no sistema local. A resposta da API inclui entidades reconhecidas, incluindo suas categorias e subcategorias, e pontuações de confiança.
Selecionar quais entidades serão retornadas
A API tenta detetar os tipos de entidade definidos e as tags para um determinado idioma de documento. Os tipos de entidade e as tags substituem as categorias e subcategorias que os modelos mais antigos usam para definir entidades para maior flexibilidade. Você também pode especificar quais entidades são detetadas e retornadas, usar o opcional includeList
e excludeList
os parâmetros com os tipos de entidade apropriados. O exemplo a seguir detetaria apenas Location
. Você pode especificar um ou mais tipos de entidade a serem retornados. Dada a hierarquia de tipos e tags introduzida para esta versão, você tem a flexibilidade de filtrar em diferentes níveis de granularidade da seguinte forma:
Entrada:
Nota
Neste exemplo, ele retorna apenas o tipo de entidade "Local".
{
"kind": "EntityRecognition",
"parameters":
{
"includeList" :
[
"Location"
]
},
"analysisInput":
{
"documents":
[
{
"id":"1",
"language": "en",
"text": "We went to Contoso foodplace located at downtown Seattle last week for a dinner party, and we adore the spot! They provide marvelous food and they have a great menu. The chief cook happens to be the owner (I think his name is John Doe) and he is super nice, coming out of the kitchen and greeted us all. We enjoyed very much dining in the place! The pasta I ordered was tender and juicy, and the place was impeccably clean. You can even pre-order from their online menu at www.contosofoodplace.com, call 112-555-0176 or send email to order@contosofoodplace.com! The only complaint I have is the food didn't come fast enough. Overall I highly recommend it!"
}
]
}
}
Os exemplos acima retornariam entidades que se enquadram no Location
tipo de entidade, como , GPE
e Geological
entidades marcadas, Structural
conforme descrito por tipos de entidade e tags. Também podemos filtrar ainda mais as entidades retornadas filtrando usando uma das tags de entidade para o Location
tipo de entidade, como filtrar sobre GPE
tag apenas conforme descrito:
"parameters":
{
"includeList" :
[
"GPE"
]
}
Esse método retorna todas as Location
entidades que se enquadram apenas na GPE
tag e ignora qualquer outra entidade que se enquadre no Location
tipo que está marcado com qualquer outra marca de entidade, como Structural
ou Geological
entidades marcadas Location
. Também podemos detalhar ainda mais nossos resultados usando o excludeList
parâmetro. GPE
As entidades marcadas podem ser marcadas com as seguintes tags: City
, State
, CountryRegion
, Continent
. Poderíamos, por exemplo, excluir Continent
e CountryRegion
marcar o nosso exemplo:
"parameters":
{
"includeList" :
[
"GPE"
],
"excludeList": :
[
"Continent",
"CountryRegion"
]
}
Usando esses parâmetros, podemos filtrar com êxito apenas Location
os tipos de entidade, uma vez que a includeList
GPE
tag de entidade incluída no parâmetro se enquadra no Location
tipo. Em seguida, filtramos apenas entidades geopolíticas e excluímos quaisquer entidades marcadas com Continent
ou CountryRegion
tags.
Atributos de saída adicionais
Para fornecer aos usuários mais informações sobre os tipos de uma entidade e fornecer maior usabilidade, o NER suporta estes atributos na saída:
Nome do atributo | Tipo | Definição |
---|---|---|
type |
String | O tipo mais específico de entidade detetada. Por exemplo, "Seattle" é um City , a GPE (Entidade Geopolítica) e um Location . A classificação mais granular para "Seattle" é que é um City arquivo . O tipo seria City para o texto "Seattle". |
tags |
Lista (tags) | Uma lista de objetos de marca que expressa a afinidade da entidade detetada com uma hierarquia ou qualquer outro agrupamento. Uma tag contém dois campos: 1. name : Um nome exclusivo para a tag.2. confidenceScore : A pontuação de confiança associada para uma tag que varia de 0 a 1.Este tagName exclusivo é usado para filtrar os inclusionList parâmetros e exclusionList . |
metadata |
Object | Metadados são um objeto que contém mais dados sobre o tipo de entidade detetado. Muda com base no campo metadataKind . |
Saída de exemplo
Esta saída de exemplo inclui um exemplo dos atributos de saída adicionais.
{
"kind": "EntityRecognitionResults",
"results": {
"documents": [
{
"id": "1",
"entities": [
{
"text": "Microsoft",
"category": "Organization",
"type": "Organization",
"offset": 0,
"length": 9,
"confidenceScore": 0.97,
"tags": [
{
"name": "Organization",
"confidenceScore": 0.97
}
]
},
{
"text": "One",
"category": "Quantity",
"type": "Number",
"subcategory": "Number",
"offset": 21,
"length": 3,
"confidenceScore": 0.9,
"tags": [
{
"name": "Number",
"confidenceScore": 0.8
},
{
"name": "Quantity",
"confidenceScore": 0.8
},
{
"name": "Numeric",
"confidenceScore": 0.8
}
],
"metadata": {
"metadataKind": "NumberMetadata",
"numberKind": "Integer",
"value": 1.0
}
}
],
"warnings": []
}
],
"errors": [],
"modelVersion": "2023-09-01"
}
}
Especificar o modelo NER
Por padrão, esse recurso usa o modelo de IA mais recente disponível em seu texto. Você também pode configurar suas solicitações de API para usar uma versão de modelo específica.
Limites de serviço e dados
Para obter informações sobre o tamanho e o número de solicitações que você pode enviar por minuto e segundo, consulte o artigo Limites de serviço.