Início rápido: Vinculação de entidade usando a biblioteca de clientes e a API REST

Documentação de referência | Mais amostras | Pacote (NuGet) | Código-fonte da biblioteca

Use este início rápido para criar um aplicativo de vinculação de entidade com a biblioteca de clientes para .NET. No exemplo a seguir, você criará um aplicativo C# que pode identificar e remover a ambiguidade das entidades encontradas no texto.

Dica

Use o Language Studio para experimentar os recursos do serviço de linguagem sem a necessidade de gravar o código.

Pré-requisitos

Configurando

Criar um recurso do Azure

Será necessário implantar um recurso do Azure para usar o exemplo de código abaixo. Esse recurso conterá uma chave e um ponto de extremidade que você usará para autenticar as chamadas de API enviadas para o serviço de linguagem.

  1. Use o link a seguir para criar um recurso de linguagem usando o portal do Azure. Você precisará se conectar usando sua assinatura do Azure.

  2. Na tela Selecionar recursos adicionais que aparece, selecione Continuar a criar seu recurso.

    Uma captura de tela mostrando opções de recursos adicionais no portal do Azure.

  3. Na tela Criar linguagem, forneça as seguintes informações:

    Detalhe Descrição
    Subscription A conta de assinatura à qual seu recurso será associado. Selecione a assinatura do Azure no menu suspenso.
    Resource group Um grupo de recursos é um contêiner que armazena os recursos criados por você. Selecione Criar novo para criar um novo grupo de recursos.
    Região O local do recurso de Linguagem. Diferentes regiões podem apresentar latência, dependendo do seu local físico, mas não impactam sobre a disponibilidade de runtime do seu recurso. Neste início rápido, selecione uma região disponível perto de você ou escolha Leste dos EUA.
    Nome O nome para o recurso de linguagem. Esse nome também será usado para criar uma URL de ponto de extremidade e seus aplicativos o usarão para enviar solicitações de API.
    Tipo de preço O tipo de preço do recurso de Linguagem. É possível usar o nível Gratuito F0 para experimentar o serviço e atualizar mais tarde para um nível pago para produção.

    Captura de tela mostrando os detalhes da criação de recursos no portal do Azure.

  4. Verifique se a caixa de seleção Aviso de IA Responsável está marcada.

  5. Selecione Examinar + Criar na parte inferior da página.

  6. Na tela exibida, verifique se a validação foi aprovada e se você inseriu suas informações corretamente. Em seguida, selecione Criar.

Obter chave e ponto de extremidade

Em seguida, você precisará da chave e do ponto de extremidade do recurso para conectar seu aplicativo à API. Você vai colar a chave e o ponto de extremidade no código mais adiante no guia de início rápido.

  1. Após a implantação bem-sucedida do recurso de linguagem, clique no botão Acessar recurso em Próximas etapas.

    Uma captura de tela mostrando as próximas etapas após a implantação de um recurso.

  2. Na tela do recurso, selecione Chaves e ponto de extremidade no menu de navegação à esquerda. Você usará uma das chaves e o ponto de extremidade nas etapas abaixo.

    Uma captura de tela mostrando as chaves e a seção de ponto de extremidade para um recurso.

Criar variáveis de ambiente

Seu aplicativo deve ser autenticado para enviar solicitações de API. Para produção, use uma maneira segura de armazenar e acessar suas credenciais. Neste exemplo, você gravará suas credenciais em variáveis de ambiente no computador local que está executando o aplicativo.

Dica

Não inclua a chave diretamente no código e nunca a divulgue publicamente. Confira o artigo de segurança dos serviços de IA do Azure para obter mais opções de autenticação como o Azure Key Vault.

Para definir a variável de ambiente da chave de recurso de linguagem, abra uma janela do console e siga as instruções para o seu sistema operacional e ambiente de desenvolvimento.

  1. Para definir a variável de ambiente LANGUAGE_KEY, substitua your-key por uma das chaves do recurso.
  2. Para definir a variável de ambiente LANGUAGE_ENDPOINT, substitua your-endpoint pelo ponto de extremidade do recurso.
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint

Observação

Se for necessário acessar somente as variáveis de ambiente no console em execução no momento, você pode definir a variável de ambiente com set em vez de setx.

Após adicionar as variáveis de ambiente, é aconselhável reiniciar todos os programas em execução que precisarem ler as variáveis de ambiente, incluindo a janela do console. Por exemplo, se estiver usando o Visual Studio como seu editor, reinicie-o antes de executar o exemplo.

Criar um aplicativo .NET Core

Usando o IDE do Visual Studio, crie um aplicativo de console do .NET Core. Isso criará um projeto "Olá, Mundo" com um arquivo de origem C#: program.cs.

Instale a biblioteca de cliente clicando com o botão direito do mouse na solução no Gerenciador de Soluções e selecionando Gerenciar Pacotes do NuGet. No gerenciador de pacotes que é aberto, selecione Procurar e pesquise por Azure.AI.TextAnalytics. Selecione a versão 5.2.0 e, em seguida, Instalar. Você também pode usar o Console do Gerenciador de Pacotes.

Exemplo de código

Copie o seguinte código para o seu arquivo program.cs e execute o código.

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

namespace EntityLinkingExample
{
    class Program
    {
        // This example requires environment variables named "LANGUAGE_KEY" and "LANGUAGE_ENDPOINT"
        static string languageKey = Environment.GetEnvironmentVariable("LANGUAGE_KEY");
        static string languageEndpoint = Environment.GetEnvironmentVariable("LANGUAGE_ENDPOINT");

        private static readonly AzureKeyCredential credentials = new AzureKeyCredential(languageKey);
        private static readonly Uri endpoint = new Uri(languageEndpoint);
        
        // Example method for recognizing entities and providing a link to an online data source.
        static void EntityLinkingExample(TextAnalyticsClient client)
        {
            var response = client.RecognizeLinkedEntities(
                "Microsoft was founded by Bill Gates and Paul Allen on April 4, 1975, " +
                "to develop and sell BASIC interpreters for the Altair 8800. " +
                "During his career at Microsoft, Gates held the positions of chairman, " +
                "chief executive officer, president and chief software architect, " +
                "while also being the largest individual shareholder until May 2014.");
            Console.WriteLine("Linked Entities:");
            foreach (var entity in response.Value)
            {
                Console.WriteLine($"\tName: {entity.Name},\tID: {entity.DataSourceEntityId},\tURL: {entity.Url}\tData Source: {entity.DataSource}");
                Console.WriteLine("\tMatches:");
                foreach (var match in entity.Matches)
                {
                    Console.WriteLine($"\t\tText: {match.Text}");
                    Console.WriteLine($"\t\tScore: {match.ConfidenceScore:F2}\n");
                }
            }
        }

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

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

    }
}

Saída

Linked Entities:
    Name: Microsoft,        ID: Microsoft,  URL: https://en.wikipedia.org/wiki/Microsoft    Data Source: Wikipedia
    Matches:
            Text: Microsoft
            Score: 0.55

            Text: Microsoft
            Score: 0.55

    Name: Bill Gates,       ID: Bill Gates, URL: https://en.wikipedia.org/wiki/Bill_Gates   Data Source: Wikipedia
    Matches:
            Text: Bill Gates
            Score: 0.63

            Text: Gates
            Score: 0.63

    Name: Paul Allen,       ID: Paul Allen, URL: https://en.wikipedia.org/wiki/Paul_Allen   Data Source: Wikipedia
    Matches:
            Text: Paul Allen
            Score: 0.60

    Name: April 4,  ID: April 4,    URL: https://en.wikipedia.org/wiki/April_4      Data Source: Wikipedia
    Matches:
            Text: April 4
            Score: 0.32

    Name: BASIC,    ID: BASIC,      URL: https://en.wikipedia.org/wiki/BASIC        Data Source: Wikipedia
    Matches:
            Text: BASIC
            Score: 0.33

    Name: Altair 8800,      ID: Altair 8800,        URL: https://en.wikipedia.org/wiki/Altair_8800  Data Source: Wikipedia
    Matches:
            Text: Altair 8800
            Score: 0.88

Limpar os recursos

Se quiser limpar e remover uma assinatura dos Serviços de IA do Azure, você poderá excluir o recurso ou grupo de recursos. Excluir o grupo de recursos também exclui todos os recursos associados a ele.

Próximas etapas

Documentação de referência | Mais amostras | Pacote (Maven) | Código-fonte da biblioteca

Use este início rápido para criar um aplicativo de vinculação de entidade com a biblioteca de clientes para Java. No exemplo a seguir, você criará um aplicativo Java que pode identificar e remover a ambiguidade das entidades encontradas no texto.

Pré-requisitos

Configurando

Criar um recurso do Azure

Será necessário implantar um recurso do Azure para usar o exemplo de código abaixo. Esse recurso conterá uma chave e um ponto de extremidade que você usará para autenticar as chamadas de API enviadas para o serviço de linguagem.

  1. Use o link a seguir para criar um recurso de linguagem usando o portal do Azure. Você precisará se conectar usando sua assinatura do Azure.

  2. Na tela Selecionar recursos adicionais que aparece, selecione Continuar a criar seu recurso.

    Uma captura de tela mostrando opções de recursos adicionais no portal do Azure.

  3. Na tela Criar linguagem, forneça as seguintes informações:

    Detalhe Descrição
    Subscription A conta de assinatura à qual seu recurso será associado. Selecione a assinatura do Azure no menu suspenso.
    Resource group Um grupo de recursos é um contêiner que armazena os recursos criados por você. Selecione Criar novo para criar um novo grupo de recursos.
    Região O local do recurso de Linguagem. Diferentes regiões podem apresentar latência, dependendo do seu local físico, mas não impactam sobre a disponibilidade de runtime do seu recurso. Neste início rápido, selecione uma região disponível perto de você ou escolha Leste dos EUA.
    Nome O nome para o recurso de linguagem. Esse nome também será usado para criar uma URL de ponto de extremidade e seus aplicativos o usarão para enviar solicitações de API.
    Tipo de preço O tipo de preço do recurso de Linguagem. É possível usar o nível Gratuito F0 para experimentar o serviço e atualizar mais tarde para um nível pago para produção.

    Captura de tela mostrando os detalhes da criação de recursos no portal do Azure.

  4. Verifique se a caixa de seleção Aviso de IA Responsável está marcada.

  5. Selecione Examinar + Criar na parte inferior da página.

  6. Na tela exibida, verifique se a validação foi aprovada e se você inseriu suas informações corretamente. Em seguida, selecione Criar.

Obter chave e ponto de extremidade

Em seguida, você precisará da chave e do ponto de extremidade do recurso para conectar seu aplicativo à API. Você vai colar a chave e o ponto de extremidade no código mais adiante no guia de início rápido.

  1. Após a implantação bem-sucedida do recurso de linguagem, clique no botão Acessar recurso em Próximas etapas.

    Uma captura de tela mostrando as próximas etapas após a implantação de um recurso.

  2. Na tela do recurso, selecione Chaves e ponto de extremidade no menu de navegação à esquerda. Você usará uma das chaves e o ponto de extremidade nas etapas abaixo.

    Uma captura de tela mostrando as chaves e a seção de ponto de extremidade para um recurso.

Criar variáveis de ambiente

Seu aplicativo deve ser autenticado para enviar solicitações de API. Para produção, use uma maneira segura de armazenar e acessar suas credenciais. Neste exemplo, você gravará suas credenciais em variáveis de ambiente no computador local que está executando o aplicativo.

Dica

Não inclua a chave diretamente no código e nunca a divulgue publicamente. Confira o artigo de segurança dos serviços de IA do Azure para obter mais opções de autenticação como o Azure Key Vault.

Para definir a variável de ambiente da chave de recurso de linguagem, abra uma janela do console e siga as instruções para o seu sistema operacional e ambiente de desenvolvimento.

  1. Para definir a variável de ambiente LANGUAGE_KEY, substitua your-key por uma das chaves do recurso.
  2. Para definir a variável de ambiente LANGUAGE_ENDPOINT, substitua your-endpoint pelo ponto de extremidade do recurso.
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint

Observação

Se for necessário acessar somente as variáveis de ambiente no console em execução no momento, você pode definir a variável de ambiente com set em vez de setx.

Após adicionar as variáveis de ambiente, é aconselhável reiniciar todos os programas em execução que precisarem ler as variáveis de ambiente, incluindo a janela do console. Por exemplo, se estiver usando o Visual Studio como seu editor, reinicie-o antes de executar o exemplo.

Adicionar a biblioteca de clientes

Crie um projeto Maven no IDE ou no ambiente de desenvolvimento de sua preferência. Em seguida, adicione a dependência a seguir ao arquivo pom.xml do projeto. Você pode encontrar a sintaxe de implementação para outras ferramentas de build 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 arquivo Java chamado Example.java. Abra o arquivo e copie o código abaixo. Depois, execute o código.

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 {

    // This example requires environment variables named "LANGUAGE_KEY" and "LANGUAGE_ENDPOINT"
    private static String languageKey = System.getenv("LANGUAGE_KEY");
    private static String languageEndpoint = System.getenv("LANGUAGE_ENDPOINT");

    public static void main(String[] args) {
        TextAnalyticsClient client = authenticateClient(languageKey, languageEndpoint);
        recognizeLinkedEntitiesExample(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 and providing a link to an online data source
    static void recognizeLinkedEntitiesExample(TextAnalyticsClient client)
    {
        // The text that need be analyzed.
        String text = "Microsoft was founded by Bill Gates and Paul Allen on April 4, 1975, " +
                "to develop and sell BASIC interpreters for the Altair 8800. " +
                "During his career at Microsoft, Gates held the positions of chairman, " +
                "chief executive officer, president and chief software architect, " +
                "while also being the largest individual shareholder until May 2014.";

        System.out.printf("Linked Entities:%n");
        for (LinkedEntity linkedEntity : client.recognizeLinkedEntities(text)) {
            System.out.printf("Name: %s, ID: %s, URL: %s, Data Source: %s.%n",
                    linkedEntity.getName(),
                    linkedEntity.getDataSourceEntityId(),
                    linkedEntity.getUrl(),
                    linkedEntity.getDataSource());
            System.out.printf("Matches:%n");
            for (LinkedEntityMatch linkedEntityMatch : linkedEntity.getMatches()) {
                System.out.printf("Text: %s, Score: %.2f, Offset: %s, Length: %s%n",
                        linkedEntityMatch.getText(),
                        linkedEntityMatch.getConfidenceScore(),
                        linkedEntityMatch.getOffset(),
                        linkedEntityMatch.getLength());
            }
        }
    }
}

Saída

Linked Entities:

Name: Microsoft, ID: Microsoft, URL: https://en.wikipedia.org/wiki/Microsoft, Data Source: Wikipedia.
Matches:
Text: Microsoft, Score: 0.55, Offset: 0, Length: 9
Text: Microsoft, Score: 0.55, Offset: 150, Length: 9
Name: Bill Gates, ID: Bill Gates, URL: https://en.wikipedia.org/wiki/Bill_Gates, Data Source: Wikipedia.
Matches:
Text: Bill Gates, Score: 0.63, Offset: 25, Length: 10
Text: Gates, Score: 0.63, Offset: 161, Length: 5
Name: Paul Allen, ID: Paul Allen, URL: https://en.wikipedia.org/wiki/Paul_Allen, Data Source: Wikipedia.
Matches:
Text: Paul Allen, Score: 0.60, Offset: 40, Length: 10
Name: April 4, ID: April 4, URL: https://en.wikipedia.org/wiki/April_4, Data Source: Wikipedia.
Matches:
Text: April 4, Score: 0.32, Offset: 54, Length: 7
Name: BASIC, ID: BASIC, URL: https://en.wikipedia.org/wiki/BASIC, Data Source: Wikipedia.
Matches:
Text: BASIC, Score: 0.33, Offset: 89, Length: 5
Name: Altair 8800, ID: Altair 8800, URL: https://en.wikipedia.org/wiki/Altair_8800, Data Source: Wikipedia.
Matches:
Text: Altair 8800, Score: 0.88, Offset: 116, Length: 11

Limpar os recursos

Se quiser limpar e remover uma assinatura dos Serviços de IA do Azure, você poderá excluir o recurso ou grupo de recursos. Excluir o grupo de recursos também exclui todos os recursos associados a ele.

Próximas etapas

Documentação de referência do | Mais amostras | Pacote (npm) | Código-fonte da biblioteca

Use este início rápido para criar um aplicativo de vinculação de entidade com a biblioteca de clientes para Node.js. No exemplo a seguir, você criará um aplicativo JavaScript que pode identificar e remover a ambiguidade das entidades encontradas no texto.

Pré-requisitos

Configurando

Criar um recurso do Azure

Será necessário implantar um recurso do Azure para usar o exemplo de código abaixo. Esse recurso conterá uma chave e um ponto de extremidade que você usará para autenticar as chamadas de API enviadas para o serviço de linguagem.

  1. Use o link a seguir para criar um recurso de linguagem usando o portal do Azure. Você precisará se conectar usando sua assinatura do Azure.

  2. Na tela Selecionar recursos adicionais que aparece, selecione Continuar a criar seu recurso.

    Uma captura de tela mostrando opções de recursos adicionais no portal do Azure.

  3. Na tela Criar linguagem, forneça as seguintes informações:

    Detalhe Descrição
    Subscription A conta de assinatura à qual seu recurso será associado. Selecione a assinatura do Azure no menu suspenso.
    Resource group Um grupo de recursos é um contêiner que armazena os recursos criados por você. Selecione Criar novo para criar um novo grupo de recursos.
    Região O local do recurso de Linguagem. Diferentes regiões podem apresentar latência, dependendo do seu local físico, mas não impactam sobre a disponibilidade de runtime do seu recurso. Neste início rápido, selecione uma região disponível perto de você ou escolha Leste dos EUA.
    Nome O nome para o recurso de linguagem. Esse nome também será usado para criar uma URL de ponto de extremidade e seus aplicativos o usarão para enviar solicitações de API.
    Tipo de preço O tipo de preço do recurso de Linguagem. É possível usar o nível Gratuito F0 para experimentar o serviço e atualizar mais tarde para um nível pago para produção.

    Captura de tela mostrando os detalhes da criação de recursos no portal do Azure.

  4. Verifique se a caixa de seleção Aviso de IA Responsável está marcada.

  5. Selecione Examinar + Criar na parte inferior da página.

  6. Na tela exibida, verifique se a validação foi aprovada e se você inseriu suas informações corretamente. Em seguida, selecione Criar.

Obter chave e ponto de extremidade

Em seguida, você precisará da chave e do ponto de extremidade do recurso para conectar seu aplicativo à API. Você vai colar a chave e o ponto de extremidade no código mais adiante no guia de início rápido.

  1. Após a implantação bem-sucedida do recurso de linguagem, clique no botão Acessar recurso em Próximas etapas.

    Uma captura de tela mostrando as próximas etapas após a implantação de um recurso.

  2. Na tela do recurso, selecione Chaves e ponto de extremidade no menu de navegação à esquerda. Você usará uma das chaves e o ponto de extremidade nas etapas abaixo.

    Uma captura de tela mostrando as chaves e a seção de ponto de extremidade para um recurso.

Criar variáveis de ambiente

Seu aplicativo deve ser autenticado para enviar solicitações de API. Para produção, use uma maneira segura de armazenar e acessar suas credenciais. Neste exemplo, você gravará suas credenciais em variáveis de ambiente no computador local que está executando o aplicativo.

Dica

Não inclua a chave diretamente no código e nunca a divulgue publicamente. Confira o artigo de segurança dos serviços de IA do Azure para obter mais opções de autenticação como o Azure Key Vault.

Para definir a variável de ambiente da chave de recurso de linguagem, abra uma janela do console e siga as instruções para o seu sistema operacional e ambiente de desenvolvimento.

  1. Para definir a variável de ambiente LANGUAGE_KEY, substitua your-key por uma das chaves do recurso.
  2. Para definir a variável de ambiente LANGUAGE_ENDPOINT, substitua your-endpoint pelo ponto de extremidade do recurso.
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint

Observação

Se for necessário acessar somente as variáveis de ambiente no console em execução no momento, você pode definir a variável de ambiente com set em vez de setx.

Após adicionar as variáveis de ambiente, é aconselhável reiniciar todos os programas em execução que precisarem ler as variáveis de ambiente, incluindo a janela do console. Por exemplo, se estiver usando o Visual Studio como seu editor, reinicie-o antes de executar o exemplo.

Criar um novo aplicativo do Node.js

Em uma janela de console (como cmd, PowerShell ou Bash), crie um novo diretório para seu aplicativo e navegue até ele.

mkdir myapp 

cd myapp

Execute o comando npm init para criar um aplicativo do Node com um arquivo package.json.

npm init

Instalar a biblioteca de clientes

Instale o pacote npm:

npm install @azure/ai-language-text

Exemplo de código

Abra o arquivo e copie o código abaixo. Depois, execute o código.

"use strict";

const { TextAnalyticsClient, AzureKeyCredential } = require("@azure/ai-text-analytics");

// This example requires environment variables named "LANGUAGE_KEY" and "LANGUAGE_ENDPOINT"
const key = process.env.LANGUAGE_KEY;
const endpoint = process.env.LANGUAGE_ENDPOINT;

//example sentence for recognizing entities
const documents = ["Microsoft was founded by Bill Gates and Paul Allen on April 4, 1975."];

//example of how to use the client to perform entity linking on a document
async function main() {
    console.log("== Entity linking sample ==");
  
    const client = new TextAnalysisClient(endpoint, new AzureKeyCredential(key));
  
    const results = await client.analyze("EntityLinking", documents);
  
    for (const result of results) {
      console.log(`- Document ${result.id}`);
      if (!result.error) {
        console.log("\tEntities:");
        for (const entity of result.entities) {
          console.log(
            `\t- Entity ${entity.name}; link ${entity.url}; datasource: ${entity.dataSource}`
          );
          console.log("\t\tMatches:");
          for (const match of entity.matches) {
            console.log(
              `\t\t- Entity appears as "${match.text}" (confidence: ${match.confidenceScore}`
            );
          }
        }
      } else {
        console.error("  Error:", result.error);
      }
    }
  }

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

Saída

== Entity linking sample ==
- Document 0
    Entities:
    - Entity Microsoft; link https://en.wikipedia.org/wiki/Microsoft; datasource: Wikipedia
            Matches:
            - Entity appears as "Microsoft" (confidence: 0.48
    - Entity Bill Gates; link https://en.wikipedia.org/wiki/Bill_Gates; datasource: Wikipedia
            Matches:
            - Entity appears as "Bill Gates" (confidence: 0.52
    - Entity Paul Allen; link https://en.wikipedia.org/wiki/Paul_Allen; datasource: Wikipedia
            Matches:
            - Entity appears as "Paul Allen" (confidence: 0.54
    - Entity April 4; link https://en.wikipedia.org/wiki/April_4; datasource: Wikipedia
            Matches:
            - Entity appears as "April 4" (confidence: 0.38

Limpar os recursos

Se quiser limpar e remover uma assinatura dos Serviços de IA do Azure, você poderá excluir o recurso ou grupo de recursos. Excluir o grupo de recursos também exclui todos os recursos associados a ele.

Próximas etapas

Documentação de referência | Mais amostras | Pacote (PyPi) | Código-fonte da biblioteca

Use este início rápido para criar um aplicativo de vinculação de entidade com a biblioteca de clientes para Python. No exemplo a seguir, você criará um aplicativo Python que pode identificar e remover a ambiguidade das entidades encontradas no texto.

Pré-requisitos

Configurando

Criar um recurso do Azure

Será necessário implantar um recurso do Azure para usar o exemplo de código abaixo. Esse recurso conterá uma chave e um ponto de extremidade que você usará para autenticar as chamadas de API enviadas para o serviço de linguagem.

  1. Use o link a seguir para criar um recurso de linguagem usando o portal do Azure. Você precisará se conectar usando sua assinatura do Azure.

  2. Na tela Selecionar recursos adicionais que aparece, selecione Continuar a criar seu recurso.

    Uma captura de tela mostrando opções de recursos adicionais no portal do Azure.

  3. Na tela Criar linguagem, forneça as seguintes informações:

    Detalhe Descrição
    Subscription A conta de assinatura à qual seu recurso será associado. Selecione a assinatura do Azure no menu suspenso.
    Resource group Um grupo de recursos é um contêiner que armazena os recursos criados por você. Selecione Criar novo para criar um novo grupo de recursos.
    Região O local do recurso de Linguagem. Diferentes regiões podem apresentar latência, dependendo do seu local físico, mas não impactam sobre a disponibilidade de runtime do seu recurso. Neste início rápido, selecione uma região disponível perto de você ou escolha Leste dos EUA.
    Nome O nome para o recurso de linguagem. Esse nome também será usado para criar uma URL de ponto de extremidade e seus aplicativos o usarão para enviar solicitações de API.
    Tipo de preço O tipo de preço do recurso de Linguagem. É possível usar o nível Gratuito F0 para experimentar o serviço e atualizar mais tarde para um nível pago para produção.

    Captura de tela mostrando os detalhes da criação de recursos no portal do Azure.

  4. Verifique se a caixa de seleção Aviso de IA Responsável está marcada.

  5. Selecione Examinar + Criar na parte inferior da página.

  6. Na tela exibida, verifique se a validação foi aprovada e se você inseriu suas informações corretamente. Em seguida, selecione Criar.

Obter chave e ponto de extremidade

Em seguida, você precisará da chave e do ponto de extremidade do recurso para conectar seu aplicativo à API. Você vai colar a chave e o ponto de extremidade no código mais adiante no guia de início rápido.

  1. Após a implantação bem-sucedida do recurso de linguagem, clique no botão Acessar recurso em Próximas etapas.

    Uma captura de tela mostrando as próximas etapas após a implantação de um recurso.

  2. Na tela do recurso, selecione Chaves e ponto de extremidade no menu de navegação à esquerda. Você usará uma das chaves e o ponto de extremidade nas etapas abaixo.

    Uma captura de tela mostrando as chaves e a seção de ponto de extremidade para um recurso.

Criar variáveis de ambiente

Seu aplicativo deve ser autenticado para enviar solicitações de API. Para produção, use uma maneira segura de armazenar e acessar suas credenciais. Neste exemplo, você gravará suas credenciais em variáveis de ambiente no computador local que está executando o aplicativo.

Dica

Não inclua a chave diretamente no código e nunca a divulgue publicamente. Confira o artigo de segurança dos serviços de IA do Azure para obter mais opções de autenticação como o Azure Key Vault.

Para definir a variável de ambiente da chave de recurso de linguagem, abra uma janela do console e siga as instruções para o seu sistema operacional e ambiente de desenvolvimento.

  1. Para definir a variável de ambiente LANGUAGE_KEY, substitua your-key por uma das chaves do recurso.
  2. Para definir a variável de ambiente LANGUAGE_ENDPOINT, substitua your-endpoint pelo ponto de extremidade do recurso.
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint

Observação

Se for necessário acessar somente as variáveis de ambiente no console em execução no momento, você pode definir a variável de ambiente com set em vez de setx.

Após adicionar as variáveis de ambiente, é aconselhável reiniciar todos os programas em execução que precisarem ler as variáveis de ambiente, incluindo a janela do console. Por exemplo, se estiver usando o Visual Studio como seu editor, reinicie-o antes de executar o exemplo.

Instalar a biblioteca de clientes

Depois de instalar o Python, você pode instalar a biblioteca de clientes com:

pip install azure-ai-textanalytics==5.2.0

Exemplo de código

Crie um novo arquivo Python e copie o código abaixo. Depois, execute o código.

# This example requires environment variables named "LANGUAGE_KEY" and "LANGUAGE_ENDPOINT"
language_key = os.environ.get('LANGUAGE_KEY')
language_endpoint = os.environ.get('LANGUAGE_ENDPOINT')

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(language_key)
    text_analytics_client = TextAnalyticsClient(
            endpoint=language_endpoint, 
            credential=ta_credential)
    return text_analytics_client

client = authenticate_client()

# Example function for recognizing entities and providing a link to an online data source.
def entity_linking_example(client):

    try:
        documents = ["""Microsoft was founded by Bill Gates and Paul Allen on April 4, 1975, 
        to develop and sell BASIC interpreters for the Altair 8800. 
        During his career at Microsoft, Gates held the positions of chairman,
        chief executive officer, president and chief software architect, 
        while also being the largest individual shareholder until May 2014."""]
        result = client.recognize_linked_entities(documents = documents)[0]

        print("Linked Entities:\n")
        for entity in result.entities:
            print("\tName: ", entity.name, "\tId: ", entity.data_source_entity_id, "\tUrl: ", entity.url,
            "\n\tData Source: ", entity.data_source)
            print("\tMatches:")
            for match in entity.matches:
                print("\t\tText:", match.text)
                print("\t\tConfidence Score: {0:.2f}".format(match.confidence_score))
                print("\t\tOffset: {}".format(match.offset))
                print("\t\tLength: {}".format(match.length))
            
    except Exception as err:
        print("Encountered exception. {}".format(err))
entity_linking_example(client)

Saída

Linked Entities:
    
    Name:  Microsoft        Id:  Microsoft  Url:  https://en.wikipedia.org/wiki/Microsoft
    Data Source:  Wikipedia
    Matches:
            Text: Microsoft
            Confidence Score: 0.55
            Offset: 0
            Length: 9
            Text: Microsoft
            Confidence Score: 0.55
            Offset: 168
            Length: 9
    Name:  Bill Gates       Id:  Bill Gates         Url:  https://en.wikipedia.org/wiki/Bill_Gates
    Data Source:  Wikipedia
    Matches:
            Text: Bill Gates
            Confidence Score: 0.63
            Offset: 25
            Length: 10
            Text: Gates
            Confidence Score: 0.63
            Offset: 179
            Length: 5
    Name:  Paul Allen       Id:  Paul Allen         Url:  https://en.wikipedia.org/wiki/Paul_Allen
    Data Source:  Wikipedia
    Matches:
            Text: Paul Allen
            Confidence Score: 0.60
            Offset: 40
            Length: 10
    Name:  April 4  Id:  April 4    Url:  https://en.wikipedia.org/wiki/April_4
    Data Source:  Wikipedia
    Matches:
            Text: BASIC
            Confidence Score: 0.33
            Offset: 98
            Length: 5
    Name:  Altair 8800      Id:  Altair 8800        Url:  https://en.wikipedia.org/wiki/Altair_8800
    Data Source:  Wikipedia
    Matches:
            Text: Altair 8800
            Confidence Score: 0.88
            Offset: 125
            Length: 11

Limpar os recursos

Se quiser limpar e remover uma assinatura dos Serviços de IA do Azure, você poderá excluir o recurso ou grupo de recursos. Excluir o grupo de recursos também exclui todos os recursos associados a ele.

Próximas etapas

Documentação de referência

Use este início rápido para enviar solicitações de vinculação de entidade usando a API REST. No exemplo a seguir, você usará o cURL para identificar e remover a ambiguidade das entidades encontradas no texto.

Pré-requisitos

Configurando

Criar um recurso do Azure

Será necessário implantar um recurso do Azure para usar o exemplo de código abaixo. Esse recurso conterá uma chave e um ponto de extremidade que você usará para autenticar as chamadas de API enviadas para o serviço de linguagem.

  1. Use o link a seguir para criar um recurso de linguagem usando o portal do Azure. Você precisará se conectar usando sua assinatura do Azure.

  2. Na tela Selecionar recursos adicionais que aparece, selecione Continuar a criar seu recurso.

    Uma captura de tela mostrando opções de recursos adicionais no portal do Azure.

  3. Na tela Criar linguagem, forneça as seguintes informações:

    Detalhe Descrição
    Subscription A conta de assinatura à qual seu recurso será associado. Selecione a assinatura do Azure no menu suspenso.
    Resource group Um grupo de recursos é um contêiner que armazena os recursos criados por você. Selecione Criar novo para criar um novo grupo de recursos.
    Região O local do recurso de Linguagem. Diferentes regiões podem apresentar latência, dependendo do seu local físico, mas não impactam sobre a disponibilidade de runtime do seu recurso. Neste início rápido, selecione uma região disponível perto de você ou escolha Leste dos EUA.
    Nome O nome para o recurso de linguagem. Esse nome também será usado para criar uma URL de ponto de extremidade e seus aplicativos o usarão para enviar solicitações de API.
    Tipo de preço O tipo de preço do recurso de Linguagem. É possível usar o nível Gratuito F0 para experimentar o serviço e atualizar mais tarde para um nível pago para produção.

    Captura de tela mostrando os detalhes da criação de recursos no portal do Azure.

  4. Verifique se a caixa de seleção Aviso de IA Responsável está marcada.

  5. Selecione Examinar + Criar na parte inferior da página.

  6. Na tela exibida, verifique se a validação foi aprovada e se você inseriu suas informações corretamente. Em seguida, selecione Criar.

Obter chave e ponto de extremidade

Em seguida, você precisará da chave e do ponto de extremidade do recurso para conectar seu aplicativo à API. Você vai colar a chave e o ponto de extremidade no código mais adiante no guia de início rápido.

  1. Após a implantação bem-sucedida do recurso de linguagem, clique no botão Acessar recurso em Próximas etapas.

    Uma captura de tela mostrando as próximas etapas após a implantação de um recurso.

  2. Na tela do recurso, selecione Chaves e ponto de extremidade no menu de navegação à esquerda. Você usará uma das chaves e o ponto de extremidade nas etapas abaixo.

    Uma captura de tela mostrando as chaves e a seção de ponto de extremidade para um recurso.

Criar variáveis de ambiente

Seu aplicativo deve ser autenticado para enviar solicitações de API. Para produção, use uma maneira segura de armazenar e acessar suas credenciais. Neste exemplo, você gravará suas credenciais em variáveis de ambiente no computador local que está executando o aplicativo.

Dica

Não inclua a chave diretamente no código e nunca a divulgue publicamente. Confira o artigo de segurança dos serviços de IA do Azure para obter mais opções de autenticação como o Azure Key Vault.

Para definir a variável de ambiente da chave de recurso de linguagem, abra uma janela do console e siga as instruções para o seu sistema operacional e ambiente de desenvolvimento.

  1. Para definir a variável de ambiente LANGUAGE_KEY, substitua your-key por uma das chaves do recurso.
  2. Para definir a variável de ambiente LANGUAGE_ENDPOINT, substitua your-endpoint pelo ponto de extremidade do recurso.
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint

Observação

Se for necessário acessar somente as variáveis de ambiente no console em execução no momento, você pode definir a variável de ambiente com set em vez de setx.

Após adicionar as variáveis de ambiente, é aconselhável reiniciar todos os programas em execução que precisarem ler as variáveis de ambiente, incluindo a janela do console. Por exemplo, se estiver usando o Visual Studio como seu editor, reinicie-o antes de executar o exemplo.

Criar um arquivo JSON com o corpo da solicitação de exemplo

Em um editor de código, crie um arquivo chamado test_entitylinking_payload.json e copie o exemplo JSON a seguir. Esta solicitação de exemplo será enviada para a API na próxima etapa.

{
    "kind": "EntityLinking",
    "parameters": {
        "modelVersion": "latest"
    },
    "analysisInput":{
        "documents":[
            {
                "id":"1",
                "language":"en",
                "text": "Microsoft was founded by Bill Gates and Paul Allen on April 4, 1975."
            }
        ]
    }
}

Salve test_entitylinking_payload.json em algum lugar no seu computador. Por exemplo, sua área de trabalho.

Enviar uma solicitação de API de vinculação de entidade

Use os comandos a seguir para enviar a solicitação de API usando o programa que você está usando. Copie o comando para o terminal e execute-o.

parâmetro Descrição
-X POST <endpoint> Especifica o ponto de extremidade para acessar a API.
-H Content-Type: application/json Tipo de conteúdo para enviar dados JSON.
-H "Ocp-Apim-Subscription-Key:<key> Especifica a chave para acessar a API.
-d <documents> JSON contendo os documentos que você deseja enviar.

Substitua C:\Users\<myaccount>\Desktop\test_entitylinking_payload.json pela localização do arquivo da solicitação JSON de exemplo criado na etapa anterior.

Prompt de comando

curl -X POST "%LANGUAGE_ENDPOINT%/language/:analyze-text?api-version=2022-05-01" ^
-H "Content-Type: application/json" ^
-H "Ocp-Apim-Subscription-Key: %LANGUAGE_KEY%" ^
-d "@C:\Users\<myaccount>\Desktop\test_entitylinking_payload.json"

PowerShell

curl.exe -X POST $env:LANGUAGE_ENDPOINT/language/:analyze-text?api-version=2022-05-01 `
-H "Content-Type: application/json" `
-H "Ocp-Apim-Subscription-Key: $env:LANGUAGE_KEY" `
-d "@C:\Users\<myaccount>\Desktop\test_entitylinking_payload.json"

Resposta JSON

{
	"kind": "EntityLinkingResults",
	"results": {
		"documents": [{
			"id": "1",
			"entities": [{
				"bingId": "a093e9b9-90f5-a3d5-c4b8-5855e1b01f85",
				"name": "Microsoft",
				"matches": [{
					"text": "Microsoft",
					"offset": 0,
					"length": 9,
					"confidenceScore": 0.48
				}],
				"language": "en",
				"id": "Microsoft",
				"url": "https://en.wikipedia.org/wiki/Microsoft",
				"dataSource": "Wikipedia"
			}, {
				"bingId": "0d47c987-0042-5576-15e8-97af601614fa",
				"name": "Bill Gates",
				"matches": [{
					"text": "Bill Gates",
					"offset": 25,
					"length": 10,
					"confidenceScore": 0.52
				}],
				"language": "en",
				"id": "Bill Gates",
				"url": "https://en.wikipedia.org/wiki/Bill_Gates",
				"dataSource": "Wikipedia"
			}, {
				"bingId": "df2c4376-9923-6a54-893f-2ee5a5badbc7",
				"name": "Paul Allen",
				"matches": [{
					"text": "Paul Allen",
					"offset": 40,
					"length": 10,
					"confidenceScore": 0.54
				}],
				"language": "en",
				"id": "Paul Allen",
				"url": "https://en.wikipedia.org/wiki/Paul_Allen",
				"dataSource": "Wikipedia"
			}, {
				"bingId": "52535f87-235e-b513-54fe-c03e4233ac6e",
				"name": "April 4",
				"matches": [{
					"text": "April 4",
					"offset": 54,
					"length": 7,
					"confidenceScore": 0.38
				}],
				"language": "en",
				"id": "April 4",
				"url": "https://en.wikipedia.org/wiki/April_4",
				"dataSource": "Wikipedia"
			}],
			"warnings": []
		}],
		"errors": [],
		"modelVersion": "2021-06-01"
	}
}

Limpar os recursos

Se quiser limpar e remover uma assinatura dos Serviços de IA do Azure, você poderá excluir o recurso ou grupo de recursos. Excluir o grupo de recursos também exclui todos os recursos associados a ele.

Próximas etapas