Quickstart: Deteção de entidades nomeadas (NER)

Utilize este artigo para começar a detetar entidades em texto, utilizando a biblioteca de clientes NER e a API REST. Siga estes passos para experimentar o código exemplos para o texto de mineração:

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

Pré-requisitos

  • Subscrição Azure - Crie uma gratuitamente
  • O IDE Visual Studio
  • Assim que tiver a sua subscrição Azure, crie um recurso idioma no portal do Azure para obter a sua chave e ponto final. Depois de implementar, clique em Ir para o recurso.
    • Necessitará da chave e ponto final do recurso que criar para ligar a sua aplicação à API. Colará a sua chave e o ponto final no código abaixo mais tarde no arranque rápido.
    • Você pode usar o nível de preços gratuitos (F0) para experimentar o serviço, e atualizar mais tarde para um nível pago para produção.
  • Para utilizar a função Analisar, necessitará de um recurso idioma com o nível de preços padrão (S).

Configuração

Criar uma nova aplicação .NET Core

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

Instale a biblioteca do cliente clicando à direita na solução no Explorador de Soluções e selecione Gerir pacotes NuGet. No gestor de pacotes que abre selecione Navegar e procurar .Azure.AI.TextAnalytics Selecione a versão 5.1.0e, em seguida, instale. Também pode utilizar a Consola Gestor de Pacotes.

Exemplo de código

Copie o seguinte código no ficheiro .cs programa . Lembre-se de substituir a key variável pela chave para o seu recurso e substitua a endpoint variável pelo ponto final do seu recurso.

Importante

Aceda ao portal do Azure. Se o recurso idioma que criou na secção Pré-Requisitos implementado com sucesso, clique no botão 'Ir a Recursos ' nos Passos Seguintes. Pode encontrar a sua chave e ponto final na página chave e ponto final do recurso, sob gestão de recursos.

Lembre-se de remover a chave do seu código quando terminar, e nunca postá-la publicando publicamente. Para a produção, considere utilizar uma forma segura de armazenar e aceder às suas credenciais. Por exemplo, cofre de chaves Azure.

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.61,    Length: 4,      Offset: 18

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

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

Documentação de referência | Código fonte da biblioteca | Pacote | Amostras

Pré-requisitos

  • Subscrição Azure - Crie uma gratuitamente
  • Kit de Desenvolvimento java (JDK) com versão 8 ou superior
  • Assim que tiver a sua subscrição Azure, crie um recurso idioma no portal do Azure para obter a sua chave e ponto final. Depois de implementar, clique em Ir para o recurso.
    • Necessitará da chave e ponto final do recurso que criar para ligar a sua aplicação à API. Colará a sua chave e o ponto final no código abaixo mais tarde no arranque rápido.
    • Você pode usar o nível de preços gratuitos (F0) para experimentar o serviço, e atualizar mais tarde para um nível pago para produção.
  • Para utilizar a função Analisar, necessitará de um recurso idioma com o nível de preços padrão (S).

Configuração

Adicione a biblioteca do cliente

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

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

Exemplo de código

Crie um ficheiro Java chamado Example.java. Abra o ficheiro e copie o código abaixo. Lembre-se de substituir a key variável pela chave para o seu recurso e substitua a endpoint variável pelo ponto final do seu recurso.

Importante

Aceda ao portal do Azure. Se o recurso idioma que criou na secção Pré-Requisitos implementado com sucesso, clique no botão 'Ir a Recursos ' nos Passos Seguintes. Pode encontrar a sua chave e ponto final na página chave e ponto final do recurso, sob gestão de recursos.

Lembre-se de remover a chave do seu código quando terminar, e nunca postá-la publicando publicamente. Para a produção, considere utilizar uma forma segura de armazenar e aceder às suas credenciais. Por exemplo, cofre de chaves Azure.

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.61, offset: 8, length: 4.
Recognized entity: Seattle, entity category: Location, entity sub-category: GPE, score: 0.82, offset: 16, length: 7.
Recognized entity: last week, entity category: DateTime, entity sub-category: DateRange, score: 0.8, offset: 24, length: 9.

Documentação de referência | Código fonte da biblioteca | Pacote (NPM) | Amostras

Pré-requisitos

  • Subscrição Azure - Crie uma gratuitamente
  • A versão atual de Node.js.
  • Assim que tiver a sua subscrição Azure, crie um recurso idioma no portal do Azure para obter a sua chave e ponto final. Depois de implementar, clique em Ir para o recurso.
    • Necessitará da chave e ponto final do recurso que criar para ligar a sua aplicação à API. Colará a sua chave e o ponto final no código abaixo mais tarde no arranque rápido.
    • Você pode usar o nível de preços gratuitos (F0) para experimentar o serviço, e atualizar mais tarde para um nível pago para produção.
  • Para utilizar a função Analisar, necessitará de um recurso idioma com o nível de preços 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 até ela.

mkdir myapp 

cd myapp

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

npm init

Instalar a biblioteca do cliente

Instale o pacote NPM:

npm install @azure/ai-text-analytics@5.1.0

Exemplo de código

Abra o ficheiro e copie o código abaixo. Lembre-se de substituir a key variável pela chave para o seu recurso e substitua a endpoint variável pelo ponto final do seu recurso.

Importante

Aceda ao portal do Azure. Se o recurso idioma que criou na secção Pré-Requisitos implementado com sucesso, clique no botão 'Ir a Recursos ' nos Passos Seguintes. Pode encontrar a sua chave e ponto final na página chave e ponto final do recurso, sob gestão de recursos.

Lembre-se de remover a chave do seu código quando terminar, e nunca postá-la publicando publicamente. Para a produção, considere utilizar uma forma segura de armazenar e aceder às suas credenciais. Por exemplo, cofre de chaves Azure.

"use strict";

const { TextAnalyticsClient, AzureKeyCredential } = require("@azure/ai-text-analytics");
const key = '<paste-your-key-here>';
const endpoint = '<paste-your-endpoint-here>';
// Authenticate the client with your key and endpoint
const textAnalyticsClient = new TextAnalyticsClient(endpoint,  new AzureKeyCredential(key));

// Example method for recognizing entities in text
async function entityRecognition(client){

    const entityInputs = [
        "Microsoft was founded by Bill Gates and Paul Allen on April 4, 1975, to develop and sell BASIC interpreters for the Altair 8800",
        "La sede principal de Microsoft se encuentra en la ciudad de Redmond, a 21 kilómetros de Seattle."
    ];
    const entityResults = await client.recognizeEntities(entityInputs);

    entityResults.forEach(document => {
        console.log(`Document ID: ${document.id}`);
        document.entities.forEach(entity => {
            console.log(`\tName: ${entity.text} \tCategory: ${entity.category} \tSubcategory: ${entity.subCategory ? entity.subCategory : "N/A"}`);
            console.log(`\tScore: ${entity.confidenceScore}`);
        });
    });
}
entityRecognition(textAnalyticsClient);

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 | Código fonte da biblioteca | Pacote (PiPy) | Amostras

Pré-requisitos

  • Subscrição Azure - Crie uma gratuitamente
  • Python 3.x
  • Assim que tiver a sua subscrição Azure, crie um recurso idioma no portal do Azure para obter a sua chave e ponto final. Depois de implementar, clique em Ir para o recurso.
    • Necessitará da chave e ponto final do recurso que criar para ligar a sua aplicação à API. Colará a sua chave e o ponto final no código abaixo mais tarde no arranque rápido.
    • Você pode usar o nível de preços gratuitos (F0) para experimentar o serviço, e atualizar mais tarde para um nível pago para produção.
  • Para utilizar a função Analisar, necessitará de um recurso idioma com o nível de preços padrão (S).

Configuração

Instalar a biblioteca do cliente

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

pip install azure-ai-textanalytics==5.1.0

Exemplo de código

Crie um novo ficheiro Python e copie o código abaixo. Lembre-se de substituir a key variável pela chave para o seu recurso e substitua a endpoint variável pelo ponto final do seu recurso.

Importante

Aceda ao portal do Azure. Se o recurso idioma que criou na secção Pré-Requisitos implementado com sucesso, clique no botão 'Ir a Recursos ' nos Passos Seguintes. Pode encontrar a sua chave e ponto final na página chave e ponto final do recurso, sob gestão de recursos.

Lembre-se de remover a chave do seu código quando terminar, e nunca postá-la publicando publicamente. Para a produção, considere utilizar uma forma segura de armazenar e aceder às suas credenciais. Por exemplo, cofre de chaves Azure.

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.61   Length:          4      Offset:          18

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

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

Documentação de referência

Pré-requisitos

  • A versão atual da CURL.
  • Assim que tiver a sua subscrição Azure, crie um recurso idioma no portal do Azure para obter a sua chave e ponto final. Depois de implementar, clique em Ir para o recurso.
    • Necessitará da chave e ponto final do recurso que criar para ligar a sua aplicação à API. Colará a sua chave e o ponto final no código abaixo mais tarde no arranque rápido.
    • Você pode usar o nível de preços gratuitos (F0) para experimentar o serviço, e atualizar mais tarde para um nível pago para produção.

Nota

  • Os seguintes exemplos BASH usam o carácter de continuação da \ linha. Se a sua consola ou terminal utilizar um carácter de continuação de linha diferente, utilize esse personagem.
  • Pode encontrar amostras específicas da linguagem no GitHub.
  • Vá ao portal do Azure e encontre a chave e o ponto final para o recurso idioma que criou nos pré-requisitos. Serão localizados na página chave e endpoint do recurso, sob gestão de recursos. Em seguida, substitua as cordas do código abaixo com a sua chave e ponto final. Para ligar para a API, precisa das seguintes informações:
parameter Description
-X POST <endpoint> Especifica o seu ponto final para aceder à API.
-H Content-Type: application/json O tipo de conteúdo para o envio de dados JSON.
-H "Ocp-Apim-Subscription-Key:<key> Especifica a chave para aceder à API.
-d <documents> O JSON contendo os documentos que pretende enviar.

Os seguintes comandos cURL são executados a partir de uma concha BASH. Edite estes comandos com o seu próprio nome de recurso, chave de recursos e valores JSON.

Extração de entidades nomeadas (NER)

  1. Copie o comando num editor de texto.
  2. Faça as alterações seguintes ao comando, se for necessário:
    1. Substitua o valor <your-text-analytics-key-here> pela sua chave.
    2. Substitua a primeira parte do URL <your-text-analytics-endpoint-here> de pedido pelo URL do seu próprio ponto final.
  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 -X POST https://<your-text-analytics-endpoint-here>/text/analytics/v3.2-preview.1/entities/recognition/general \
-H "Content-Type: application/json" \
-H "Ocp-Apim-Subscription-Key: <your-text-analytics-key-here>" \
-d '{ documents: [{ id: "1", language:"en", text: "I had a wonderful trip to Seattle last week."}]}'

Resposta JSON

{
   "documents":[
      {
         "id":"1",
         "entities":[
            {
               "text":"Seattle",
               "category":"Location",
               "subcategory":"GPE",
               "offset":26,
               "length":7,
               "confidenceScore":0.99
            },
            {
               "text":"last week",
               "category":"DateTime",
               "subcategory":"DateRange",
               "offset":34,
               "length":9,
               "confidenceScore":0.8
            }
         ],
         "warnings":[
            
         ]
      }
   ],
   "errors":[
      
   ],
   "modelVersion":"2021-01-15"
}

Limpar os recursos

Se pretender limpar e remover uma subscrição dos Serviços Cognitivos, pode eliminar o grupo de recursos ou recursos. A eliminação do grupo de recursos também elimina quaisquer outros recursos que lhe sejam associados.

Passos seguintes