Guia de início rápido: detetando entidades nomeadas (NER)

Documentação | de referência Exemplos | adicionais Pacote (NuGet) | Código fonte da biblioteca

Use este início rápido para criar um aplicativo de reconhecimento de entidade nomeada (NER) com a biblioteca de cliente para .NET. No exemplo a seguir, você criará um aplicativo C# que pode identificar entidades reconhecidas no texto.

Gorjeta

Você pode usar o Language Studio para experimentar os recursos do serviço de idiomas sem precisar escrever código.

Pré-requisitos

  • Subscrição do Azure - Criar uma gratuitamente
  • O IDE do Visual Studio
  • Depois de ter sua assinatura do Azure, crie um recurso de idioma no portal do Azure para obter sua chave e ponto de extremidade. Depois de implantar, selecione Ir para recurso.
    • Você precisará da chave e do ponto de extremidade do recurso criado para conectar seu aplicativo à API. Você colará sua chave e ponto de extremidade no código abaixo mais adiante no início rápido.
    • Você pode usar o nível de preço gratuito (Free F0) para experimentar o serviço e atualizar posteriormente para um nível pago para produção.
  • Para usar o recurso Analisar, você precisará de um recurso de idioma com o nível de preço padrão (S).

Configuração

Criar uma nova aplicação .NET Core

Com o IDE do Visual Studio, crie uma nova aplicação de consola .NET Core. Isto irá criar um projeto "Hello World" com um único ficheiro de origem C#: program.cs.

Instale a biblioteca de cliente, clicando com o botão direito do rato na solução no Explorador de Soluções e selecionando Gerir Pacotes NuGet. No gerenciador de pacotes que é aberto, selecione Procurar e procure Azure.AI.TextAnalytics. Selecione a versão 5.2.0 e, em seguida, Instalar. Também pode utilizar a Consola do Gestor de Pacotes.

Exemplo de código

Copie o código a seguir para o arquivo program.cs . Lembre-se de substituir a key variável pela chave do seu recurso e substituir a endpoint variável pelo ponto de extremidade do seu recurso. Em seguida, execute o código.

Importante

Aceda ao portal do Azure. Se o recurso de idioma criado na seção Pré-requisitos for implantado com êxito, clique no botão Ir para recurso em Próximas etapas. Você pode encontrar sua chave e ponto de extremidade navegando até a página Chaves e Ponto Final do seu recurso, em Gerenciamento de Recursos.

Importante

Lembre-se de remover a chave do seu código quando terminar e nunca publicá-la publicamente. Para produção, use uma maneira segura de armazenar e acessar suas credenciais, como o Azure Key Vault. Consulte o artigo de segurança dos serviços de IA do Azure para obter mais informações.

using Azure;
using System;
using Azure.AI.TextAnalytics;

namespace Example
{
    class Program
    {
        private static readonly AzureKeyCredential credentials = new AzureKeyCredential("replace-with-your-key-here");
        private static readonly Uri endpoint = new Uri("replace-with-your-endpoint-here");
        
        // Example method for extracting named entities from text 
        static void EntityRecognitionExample(TextAnalyticsClient client)
        {
            var response = client.RecognizeEntities("I had a wonderful trip to Seattle last week.");
            Console.WriteLine("Named Entities:");
            foreach (var entity in response.Value)
            {
                Console.WriteLine($"\tText: {entity.Text},\tCategory: {entity.Category},\tSub-Category: {entity.SubCategory}");
                Console.WriteLine($"\t\tScore: {entity.ConfidenceScore:F2},\tLength: {entity.Length},\tOffset: {entity.Offset}\n");
            }
        }

        static void Main(string[] args)
        {
            var client = new TextAnalyticsClient(endpoint, credentials);
            EntityRecognitionExample(client);

            Console.Write("Press any key to exit.");
            Console.ReadKey();
        }

    }
}

Saída

Named Entities:
        Text: trip,     Category: Event,        Sub-Category:
                Score: 0.74,    Length: 4,      Offset: 18

        Text: Seattle,  Category: Location,     Sub-Category: GPE
                Score: 1.00,    Length: 7,      Offset: 26

        Text: last week,        Category: DateTime,     Sub-Category: DateRange
                Score: 0.80,    Length: 9,      Offset: 34

Documentação | de referência Exemplos | adicionais Pacote (Maven) | Código fonte da biblioteca

Use este início rápido para criar um aplicativo de reconhecimento de entidade nomeada (NER) com a biblioteca de cliente para Java. No exemplo a seguir, você criará um aplicativo Java que pode identificar entidades reconhecidas no texto.

Gorjeta

Você pode usar o Language Studio para experimentar os recursos do serviço de idiomas sem precisar escrever código.

Pré-requisitos

  • Subscrição do Azure - Criar uma gratuitamente
  • Java Development Kit (JDK) com a versão 8 ou superior
  • Depois de ter sua assinatura do Azure, crie um recurso de idioma no portal do Azure para obter sua chave e ponto de extremidade. Depois de implantar, selecione Ir para recurso.
    • Você precisará da chave e do ponto de extremidade do recurso criado para conectar seu aplicativo à API. Você colará sua chave e ponto de extremidade no código abaixo mais adiante no início rápido.
    • Você pode usar o nível de preço gratuito (Free F0) para experimentar o serviço e atualizar posteriormente para um nível pago para produção.
  • Para usar o recurso Analisar, você precisará de um recurso de idioma com o nível de preço padrão (S).

Configuração

Adicionar a biblioteca de cliente

Crie um projeto do Maven no IDE ou ambiente de desenvolvimento da sua preferência. Em seguida, adicione a seguinte dependência ao ficheiro pom.xml do projeto. Pode encontrar a sintaxe de implementação para outras ferramentas de criação online.

<dependencies>
     <dependency>
        <groupId>com.azure</groupId>
        <artifactId>azure-ai-textanalytics</artifactId>
        <version>5.2.0</version>
    </dependency>
</dependencies>

Exemplo de código

Crie um ficheiro Java com o nome Example.java. Abra o arquivo e copie o código abaixo. Lembre-se de substituir a key variável pela chave do seu recurso e substituir a endpoint variável pelo ponto de extremidade do seu recurso. Em seguida, execute o código.

Importante

Aceda ao portal do Azure. Se o recurso de idioma criado na seção Pré-requisitos for implantado com êxito, clique no botão Ir para recurso em Próximas etapas. Você pode encontrar sua chave e ponto de extremidade navegando até a página Chaves e Ponto Final do seu recurso, em Gerenciamento de Recursos.

Importante

Lembre-se de remover a chave do seu código quando terminar e nunca publicá-la publicamente. Para produção, use uma maneira segura de armazenar e acessar suas credenciais, como o Azure Key Vault. Consulte o artigo de segurança dos serviços de IA do Azure para obter mais informações.

import com.azure.core.credential.AzureKeyCredential;
import com.azure.ai.textanalytics.models.*;
import com.azure.ai.textanalytics.TextAnalyticsClientBuilder;
import com.azure.ai.textanalytics.TextAnalyticsClient;

public class Example {

    private static String KEY = "replace-with-your-key-here";
    private static String ENDPOINT = "replace-with-your-endpoint-here";

    public static void main(String[] args) {
        TextAnalyticsClient client = authenticateClient(KEY, ENDPOINT);
        recognizeEntitiesExample(client);
    }
    // Method to authenticate the client object with your key and endpoint
    static TextAnalyticsClient authenticateClient(String key, String endpoint) {
        return new TextAnalyticsClientBuilder()
                .credential(new AzureKeyCredential(key))
                .endpoint(endpoint)
                .buildClient();
    }
    // Example method for recognizing entities in text
    static void recognizeEntitiesExample(TextAnalyticsClient client)
    {
        // The text that need be analyzed.
        String text = "I had a wonderful trip to Seattle last week.";
    
        for (CategorizedEntity entity : client.recognizeEntities(text)) {
            System.out.printf(
                "Recognized entity: %s, entity category: %s, entity sub-category: %s, score: %s, offset: %s, length: %s.%n",
                entity.getText(),
                entity.getCategory(),
                entity.getSubcategory(),
                entity.getConfidenceScore(),
                entity.getOffset(),
                entity.getLength());
        }
    }
}

Saída

Recognized entity: trip, entity category: Event, entity sub-category: null, score: 0.74, offset: 18, length: 4.
Recognized entity: Seattle, entity category: Location, entity sub-category: GPE, score: 1.0, offset: 26, length: 7.
Recognized entity: last week, entity category: DateTime, entity sub-category: DateRange, score: 0.8, offset: 34, length: 9.

Documentação | de referência Exemplos | adicionais Pacote (npm) | Código fonte da biblioteca

Use este guia de início rápido para criar um aplicativo de reconhecimento de entidade nomeada (NER) com a biblioteca de cliente para Node.js. No exemplo a seguir, você criará um aplicativo JavaScript que pode identificar entidades reconhecidas no texto.

Gorjeta

Você pode usar o Language Studio para experimentar os recursos do serviço de idiomas sem precisar escrever código.

Pré-requisitos

  • Subscrição do Azure - Criar uma gratuitamente
  • Node.js v14 LTS ou posterior
  • Depois de ter sua assinatura do Azure, crie um recurso de idioma no portal do Azure para obter sua chave e ponto de extremidade. Depois de implantar, selecione Ir para recurso.
    • Você precisará da chave e do ponto de extremidade do recurso criado para conectar seu aplicativo à API. Você colará sua chave e ponto de extremidade no código abaixo mais adiante no início rápido.
    • Você pode usar o nível de preço gratuito (Free F0) para experimentar o serviço e atualizar posteriormente para um nível pago para produção.
  • Para usar o recurso Analisar, você precisará de um recurso de idioma com o nível de preço padrão (S).

Configuração

Criar uma nova aplicação Node.js

Numa janela de consola (como cmd, PowerShell ou Bash), crie um novo diretório para a sua aplicação e navegue para a mesma.

mkdir myapp 

cd myapp

Execute o comando npm init para criar uma aplicação de nó com um ficheiro package.json.

npm init

Instalar a biblioteca de cliente

Instale o pacote npm:

npm install @azure/ai-language-text

Exemplo de código

Abra o arquivo e copie o código abaixo. Lembre-se de substituir a key variável pela chave do seu recurso e substituir a endpoint variável pelo ponto de extremidade do seu recurso. Em seguida, execute o código.

Importante

Aceda ao portal do Azure. Se o recurso de idioma criado na seção Pré-requisitos for implantado com êxito, clique no botão Ir para recurso em Próximas etapas. Você pode encontrar sua chave e ponto de extremidade navegando até a página Chaves e Ponto Final do seu recurso, em Gerenciamento de Recursos.

Importante

Lembre-se de remover a chave do seu código quando terminar e nunca publicá-la publicamente. Para produção, use uma maneira segura de armazenar e acessar suas credenciais, como o Azure Key Vault. Consulte o artigo de segurança dos serviços de IA do Azure para obter mais informações.

"use strict";

const { TextAnalysisClient, AzureKeyCredential } = require("@azure/ai-language-text");;
const key = '<paste-your-key-here>';
const endpoint = '<paste-your-endpoint-here>';

//an example document for entity recognition
const documents = [ "Microsoft was founded by Bill Gates and Paul Allen on April 4, 1975, to develop and sell BASIC interpreters for the Altair 8800"];

//example of how to use the client library to recognize entities in a document.
async function main() {
    console.log("== NER sample ==");
  
    const client = new TextAnalysisClient(endpoint, new AzureKeyCredential(key));
  
    const results = await client.analyze("EntityRecognition", documents);
  
    for (const result of results) {
      console.log(`- Document ${result.id}`);
      if (!result.error) {
        console.log("\tRecognized Entities:");
        for (const entity of result.entities) {
          console.log(`\t- Entity ${entity.text} of type ${entity.category}`);
        }
      } else console.error("\tError:", result.error);
    }
  }

//call the main function
main().catch((err) => {
    console.error("The sample encountered an error:", err);
});

Saída

Document ID: 0
        Name: Microsoft         Category: Organization  Subcategory: N/A
        Score: 0.29
        Name: Bill Gates        Category: Person        Subcategory: N/A
        Score: 0.78
        Name: Paul Allen        Category: Person        Subcategory: N/A
        Score: 0.82
        Name: April 4, 1975     Category: DateTime      Subcategory: Date
        Score: 0.8
        Name: 8800      Category: Quantity      Subcategory: Number
        Score: 0.8
Document ID: 1
        Name: 21        Category: Quantity      Subcategory: Number
        Score: 0.8
        Name: Seattle   Category: Location      Subcategory: GPE
        Score: 0.25

Documentação | de referência Exemplos | adicionais Pacote (PyPi) | Código fonte da biblioteca

Use este início rápido para criar um aplicativo de reconhecimento de entidade nomeada (NER) com a biblioteca de cliente para Python. No exemplo a seguir, você criará um aplicativo Python que pode identificar entidades reconhecidas no texto.

Gorjeta

Você pode usar o Language Studio para experimentar os recursos do serviço de idiomas sem precisar escrever código.

Pré-requisitos

  • Subscrição do Azure - Criar uma gratuitamente
  • Python 3.8 ou posterior
  • Depois de ter sua assinatura do Azure, crie um recurso de idioma no portal do Azure para obter sua chave e ponto de extremidade. Depois de implantar, selecione Ir para recurso.
    • Você precisará da chave e do ponto de extremidade do recurso criado para conectar seu aplicativo à API. Você colará sua chave e ponto de extremidade no código abaixo mais adiante no início rápido.
    • Você pode usar o nível de preço gratuito (Free F0) para experimentar o serviço e atualizar posteriormente para um nível pago para produção.
  • Para usar o recurso Analisar, você precisará de um recurso de idioma com o nível de preço padrão (S).

Configuração

Instalar a biblioteca de cliente

Depois de instalar o Python, pode instalar a biblioteca de cliente com:

pip install azure-ai-textanalytics==5.2.0

Exemplo de código

Crie um novo arquivo Python e copie o código abaixo. Lembre-se de substituir a key variável pela chave do seu recurso e substituir a endpoint variável pelo ponto de extremidade do seu recurso. Em seguida, execute o código.

Importante

Aceda ao portal do Azure. Se o recurso de idioma criado na seção Pré-requisitos for implantado com êxito, clique no botão Ir para recurso em Próximas etapas. Você pode encontrar sua chave e ponto de extremidade navegando até a página Chaves e Ponto Final do seu recurso, em Gerenciamento de Recursos.

Importante

Lembre-se de remover a chave do seu código quando terminar e nunca publicá-la publicamente. Para produção, use uma maneira segura de armazenar e acessar suas credenciais, como o Azure Key Vault. Consulte o artigo de segurança dos serviços de IA do Azure para obter mais informações.

key = "paste-your-key-here"
endpoint = "paste-your-endpoint-here"

from azure.ai.textanalytics import TextAnalyticsClient
from azure.core.credentials import AzureKeyCredential

# Authenticate the client using your key and endpoint 
def authenticate_client():
    ta_credential = AzureKeyCredential(key)
    text_analytics_client = TextAnalyticsClient(
            endpoint=endpoint, 
            credential=ta_credential)
    return text_analytics_client

client = authenticate_client()

# Example function for recognizing entities from text
def entity_recognition_example(client):

    try:
        documents = ["I had a wonderful trip to Seattle last week."]
        result = client.recognize_entities(documents = documents)[0]

        print("Named Entities:\n")
        for entity in result.entities:
            print("\tText: \t", entity.text, "\tCategory: \t", entity.category, "\tSubCategory: \t", entity.subcategory,
                    "\n\tConfidence Score: \t", round(entity.confidence_score, 2), "\tLength: \t", entity.length, "\tOffset: \t", entity.offset, "\n")

    except Exception as err:
        print("Encountered exception. {}".format(err))
entity_recognition_example(client)

Saída

Named Entities:

    Text:    trip   Category:        Event  SubCategory:     None
    Confidence Score:        0.74   Length:          4      Offset:          18

    Text:    Seattle        Category:        Location       SubCategory:     GPE
    Confidence Score:        1.0    Length:          7      Offset:          26

    Text:    last week      Category:        DateTime       SubCategory:     DateRange
    Confidence Score:        0.8    Length:          9      Offset:          34

Documentação de referência

Use este guia de início rápido para enviar solicitações de Reconhecimento de Entidade Nomeada (NER) usando a API REST. No exemplo a seguir, você usará cURL para identificar entidades reconhecidas no texto.

Gorjeta

Você pode usar o Language Studio para experimentar os recursos do serviço de idiomas sem precisar escrever código.

Pré-requisitos

  • A versão atual do cURL.
  • Depois de ter sua assinatura do Azure, crie um recurso de idioma no portal do Azure para obter sua chave e ponto de extremidade. Depois de implantar, selecione Ir para recurso.
    • Você precisa da chave e do ponto de extremidade do recurso criado para conectar seu aplicativo à API. Cole sua chave e ponto de extremidade no código mais tarde no início rápido.
    • Você pode usar o nível de preço gratuito (Free F0) para experimentar o serviço e atualizar posteriormente para um nível pago para produção.

Nota

  • Os exemplos de BASH a seguir usam o caractere de continuação de \ linha. Se o console ou terminal usar um caractere de continuação de linha diferente, use esse caractere.
  • Você pode encontrar exemplos específicos de idiomas no GitHub.
  • Vá para o portal do Azure e localize a chave e o ponto de extremidade para o recurso Language que você criou nos pré-requisitos. Eles estão localizados na página de chave e ponto de extremidade do recurso, em gerenciamento de recursos. Em seguida, substitua as cadeias de caracteres no código por sua chave e ponto de extremidade. Para chamar a API, você precisa das seguintes informações:
parâmetro Description
-X POST <endpoint> Especifica seu ponto de extremidade para acessar a API.
-H Content-Type: application/json O tipo de conteúdo para enviar dados JSON.
-H "Ocp-Apim-Subscription-Key:<key> Especifica a chave para acessar a API.
-d <documents> O JSON que contém os documentos que você deseja enviar.

Os seguintes comandos cURL são executados a partir de um shell BASH. Edite esses comandos com seu próprio nome de recurso, chave de recurso e valores JSON.

Extração de entidade nomeada (NER)

  1. Copie o comando para um editor de texto.
  2. Faça as seguintes alterações no comando onde necessário:
    1. Substitua o valor <your-language-resource-key> pela sua chave.
    2. Substitua a primeira parte da URL <your-language-resource-endpoint> da solicitação pela URL do ponto de extremidade.
  3. Abra uma janela da linha de comandos.
  4. Cole o comando a partir do editor de texto na janela da linha de comandos e, em seguida, execute o comando.
curl -i -X POST https://<your-language-resource-endpoint>/language/:analyze-text?api-version=2022-05-01 \
-H "Content-Type: application/json" \
-H "Ocp-Apim-Subscription-Key:<your-language-resource-key>" \
-d \
'
{
    "kind": "EntityRecognition",
    "parameters": {
        "modelVersion": "latest"
    },
    "analysisInput":{
        "documents":[
            {
                "id":"1",
                "language": "en",
                "text": "I had a wonderful trip to Seattle last week."
            }
        ]
    }
}
'

Resposta JSON

Nota

  • A API geralmente disponível e a API de visualização atual têm formatos de resposta diferentes, consulte o artigo de mapeamento de api geralmente disponível para visualização.
  • A API de visualização está disponível startin a partir da versão 2023-04-15-previewda API.
{
	"kind": "EntityRecognitionResults",
	"results": {
		"documents": [{
			"id": "1",
			"entities": [{
				"text": "trip",
				"category": "Event",
				"offset": 18,
				"length": 4,
				"confidenceScore": 0.74
			}, {
				"text": "Seattle",
				"category": "Location",
				"subcategory": "GPE",
				"offset": 26,
				"length": 7,
				"confidenceScore": 1.0
			}, {
				"text": "last week",
				"category": "DateTime",
				"subcategory": "DateRange",
				"offset": 34,
				"length": 9,
				"confidenceScore": 0.8
			}],
			"warnings": []
		}],
		"errors": [],
		"modelVersion": "2021-06-01"
	}
}

Clean up resources (Limpar recursos)

Se quiser limpar e remover uma assinatura de serviços do Azure AI, você pode excluir o recurso ou grupo de recursos. A exclusão do grupo de recursos também exclui quaisquer outros recursos associados a ele.

Próximos passos