Compartilhar via


Como usar o NER (Reconhecimento de Entidade Nomeada)

O recurso NER pode avaliar texto não estruturado e extrair entidades nomeadas do texto em várias categorias pré-definidas, por exemplo, pessoa, local, evento, produto e organização.

Opções de desenvolvimento

Para usar o reconhecimento de entidade nomeada, você envia um texto não estruturado para análise e processa a saída da API no aplicativo. A análise é realizada no estado em que se encontra, sem nenhuma personalização adicional para o modelo usado em seus dados. Há duas maneiras de usar o reconhecimento de entidade nomeada:

Opção de desenvolvimento Descrição
Language Studio O Language Studio é uma plataforma baseada na Web que permite que você experimente a vinculação de entidade com exemplos de texto sem uma conta do Azure, e seus próprios dados quando você se inscreve. Para obter mais informações, confira o site do Language Studio ou o início rápido do Language Studio.
API REST ou biblioteca de clientes (SDK do Azure) Integre o reconhecimento de entidade nomeada aos aplicativos usando a API REST ou a biblioteca de clientes disponível em uma variedade de idiomas. Para saber mais, confira o início rápido do reconhecimento de entidade nomeada.

Determinar como processar os dados (opcional)

Idiomas de entrada

Ao enviar documentos a serem processados, é possível especificar em qual dos idiomas com suporte eles estão escritos. Se você não especificar um idioma, a extração de frases-chave assumirá o padrão em inglês. A API pode retornar deslocamentos na resposta para dar suporte a diferentes codificações de emojis e vários idiomas.

Enviando dados

A análise é executada após o recebimento da solicitação. O uso do recurso NER de maneira síncrona é sem 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; isso é indicado 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 tentará detectar as categorias de entidade definidas para um determinado idioma de documento.

Obter resultados de NER

Quando você recebe os resultados da NER, pode transmiti-los a um aplicativo ou salvar a saída em um arquivo no sistema local. A resposta à API inclui entidades reconhecidas, incluindo suas categorias e subcategorias e pontuações de confiança.

Selecione quais entidades serão retornadas

A API tentará detectar os tipos e rótulos de entidade definidos para um determinado idioma de documento. Os tipos de entidade e as marcas substituem a estrutura de categorias e subcategorias que os modelos mais antigos usam para definir entidades para obter mais flexibilidade. Você também pode especificar quais entidades são detectadas e retornadas, usar os parâmetros opcionais includeList e excludeList com os tipos de entidade apropriados. O exemplo a seguir detectaria apenas Location. Você pode especificar um ou mais tipos de entidade a serem retornados. Considerando a hierarquia de tipos e marcas introduzida para esta versão, você tem a flexibilidade de filtrar em diferentes níveis de granularidade da seguinte maneira:

Entrada:

Observação

Neste exemplo, ele retorna apenas o tipo de entidade "Localização".

{
    "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 tipo de entidade Location, como as entidades marcadas GPE, Structurale Geological, conforme descrito por tipos de entidade e marcas. Também poderíamos filtrar ainda mais as entidades retornadas ao filtrar usando uma das marcas de entidade para o tipo de entidade Location, como filtrar por marca GPE, somente conforme descrito:


    "parameters": 
    {
        "includeList" :
        [
            "GPE"
        ]
    }
    

Esse método retorna todas as entidades Location que se enquadram apenas na marca GPE e ignoram qualquer outra entidade que esteja sob o tipo Location marcado com qualquer outra marca de entidade, como entidades Structuralou Geological marcadas Location. Também poderíamos detalhar ainda mais nossos resultados usando o parâmetro excludeList. GPE as entidades marcadas podem ser marcadas com as seguintes marcas: City, State, CountryRegion, Continent. Poderíamos, por exemplo, excluir as marcas Continent e CountryRegion para nosso exemplo:


    "parameters": 
    {
        "includeList" :
        [
            "GPE"
        ],
        "excludeList": :
        [
            "Continent",
            "CountryRegion"
        ]
    }
    

Usando esses parâmetros, podemos filtrar com êxito apenas os tipos de entidade Location, uma vez que a marca de entidade GPE incluída no parâmetro includeList se enquadra no tipo Location. Em seguida, filtramos apenas entidades geopolíticas e excluímos todas as entidades marcadas com marcas Continent ou CountryRegion.

Atributos de saída adicionais

Para fornecer aos usuários mais informações sobre os tipos de uma entidade e fornecer maior usabilidade, o Reconhecimento de Entidade Nomeada dá suporte a estes atributos na saída:

Nome do atributo Tipo Definição
type String O tipo mais específico da entidade detectada.

Por exemplo, “Seattle” é um City, um GPE (Entidade Geopolítica) e um Location. A classificação mais granular para “Seattle” é que é um City. O tipo seria City para o texto “Seattle".
tags Listar (rótulos) Uma lista de objetos de rótulo que expressa a afinidade da entidade detectada com uma hierarquia ou qualquer outro agrupamento.

Um rótulo contém dois campos:
1. name: um nome exclusivo para o rótulo.
2. confidenceScore: a pontuação de confiança associada para um rótulo que varia de 0 a 1.

Esse tagName exclusivo é usado para filtrar os parâmetros inclusionList e exclusionList.
metadata Objeto Metadados é um objeto que contém mais dados sobre o tipo de entidade detectado. Ele 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 de NER

Por padrão, o recurso usará o modelo de IA mais recente disponível no texto. Você também pode configurar suas solicitações de API para usar uma versão de modelo específica.

Limites de dados e serviços

Para obter informações sobre o tamanho e o número de solicitações que você pode enviar por minuto e segundo, confira o artigo Limites de serviços.

Próximas etapas

Visão geral do Reconhecimento de Entidade Nomeada