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.0
e, 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
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)
- Copie o comando num editor de texto.
- Faça as alterações seguintes ao comando, se for necessário:
- Substitua o valor
<your-text-analytics-key-here>
pela sua chave. - Substitua a primeira parte do URL
<your-text-analytics-endpoint-here>
de pedido pelo URL do seu próprio ponto final.
- Substitua o valor
- Abra uma janela da linha de comandos.
- 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.