次の方法で共有


クイックスタート: クライアント ライブラリと REST API を使用したエンティティ リンク設定

リファレンス ドキュメント | その他のサンプル | パッケージ (NuGet) | ライブラリのソース コード

このクイック スタートを使用して、.NET用クライアント ライブラリを使用してエンティティ リンク設定アプリケーションを作成します。 次の例では、テキストで見つかったエンティティを識別して明確に区別できる C# アプリケーションを作成します。

ヒント

AI Studio を使用すると、コードを記述することなく要約を試すことができます。

前提条件

設定

Azure リソースを作成する

以下のコード サンプルを使用するには、Azure リソースをデプロイする必要があります。 このリソースには、言語サービスに送信する API 呼び出しを認証するために使用するキーとエンドポイントが含まれます。

  1. Azure portal を使用して言語リソースを作成するには、次のリンクを使用します。 Azure サブスクリプションを使用してサインインする必要があります。

  2. 表示される [追加機能を選択する] スクリーンで、[続行] を選択 してリソースを作成します

    Azure portal の追加機能オプションを示すスクリーンショット。

  3. [言語の作成] スクリーンで、次の情報を入力します。

    詳細 説明
    サブスクリプション リソースが関連付けられるサブスクリプション アカウント。 ドロップダウン メニューから Azure サブスクリプションを選択します。
    リソース グループ リソース グループは、作成したリソースを保存するコンテナーです。 [新規作成] を選んで、新しいリソース グループを作成します。
    リージョン 言語リソースの場所。 別のリージョンを選択すると、物理的な場所によっては待機時間が生じる可能性がありますが、リソースのランタイムの可用性には影響しません。 このクイック スタートでは、近くの利用可能なリージョンを選択するか、米国東部を選択します。
    名前 言語リソースの名前。 この名前は、アプリケーションが API 要求の送信に使用するエンドポイント URL の作成にも使用されます。
    価格レベル 言語リソースの価格レベルFree F0 レベルを使用してサービスを試用し、後から運用環境用の有料レベルにアップグレードすることができます。

    Azure portal でのリソースの作成の詳細を示すスクリーンショット。

  4. [責任ある AI の通知] チェックボックスがオンになっていることを確認します。

  5. ページの下部にある [確認および作成] を選択します。

  6. 表示されるスクリーンで、検証に合格し、情報を正しく入力したことを確認します。 [作成] を選択します。

キーとエンドポイントを取得する

次に、アプリケーションを API に接続するには、リソースのキーとエンドポイントが必要です。 このクイックスタートで後に示すコードに、自分のキーとエンドポイントを貼り付けます。

  1. 言語リソースが正常にデプロイされたら、[次の手順][リソースに移動] ボタンをクリックします。

    リソースがデプロイされた後の次の手順を示すスクリーンショット。

  2. リソースのスクリーンで、左側のナビゲーション メニューの [キーとエンドポイント] を選択します。 以下の手順では、キーの 1 つとエンドポイントを使用します。

    リソースのキーとエンドポイント セクションを示すスクリーンショット。

環境変数を作成する

API 要求を送信するには、アプリケーションを認証する必要があります。 運用環境では、資格情報を安全に保存してアクセスできる方法を使用してください。 この例では、アプリケーションを実行しているローカル コンピューター上の環境変数に資格情報を書き込みます。

言語リソース キーの環境変数を設定するには、コンソール ウィンドウを開き、オペレーティング システムと開発環境の指示に従います。

  • LANGUAGE_KEY 環境変数を設定するには、your-key をリソースのキーの 1 つに置き換えます。
  • LANGUAGE_ENDPOINT 環境変数を設定するには、your-endpoint をリソースのエンドポイントに置き換えます。

重要

API キーを使用する場合は、それを Azure Key Vault などの別の場所に安全に保存します。 API キーは、コード内に直接含めないようにし、絶対に公開しないでください。

AI サービスのセキュリティの詳細については、「Azure AI サービスに対する要求の認証」を参照してください。

setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint

Note

現在実行中のコンソールで環境変数のみにアクセスする必要がある場合は、環境変数を setx の代わりに set に設定できます。

実行中のプログラムのうち、環境変数の読み取りを必要とするプログラム (コンソール ウィンドウを含む) については、環境変数を追加した後で再起動が必要となる場合があります。 たとえば、Visual Studio をエディターとして使用している場合、サンプルを実行する前に Visual Studio を再起動します。

新しい .NET Core アプリを作成する

Visual Studio IDE を使用して新しい .NET Core コンソール アプリを作成します。 1 つの C# ソース ファイル (program.cs) を含んだ "Hello World" プロジェクトが作成されます。

ソリューション エクスプローラーでソリューションを右クリックし、 [NuGet パッケージの管理] を選択して、クライアント ライブラリをインストールします。 パッケージ マネージャーが開いたら、 [参照] を選択して Azure.AI.TextAnalytics を検索します。 バージョン 5.2.0 を選択し、 [インストール] を選択します。 パッケージ マネージャー コンソールを使用してもかまいません。

コードの例

次のコードを program.cs ファイルにコピーし、コードを実行します。

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();
        }

    }
}

出力

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

リソースをクリーンアップする

Azure AI サービス サブスクリプションをクリーンアップして削除したい場合は、リソースまたはリソース グループを削除することができます。 リソース グループを削除すると、それに関連付けられている他のリソースも削除されます。

次のステップ

リファレンス ドキュメント | その他のサンプル | パッケージ (Maven) | ライブラリのソース コード

このクイック スタートを使用して、Java用クライアント ライブラリを使用してエンティティ リンク設定アプリケーションを作成します。 次の例では、テキスト メッセージで見つかったエンティティを識別して明確に区別できる Java アプリケーションを作成します。

前提条件

設定

Azure リソースを作成する

以下のコード サンプルを使用するには、Azure リソースをデプロイする必要があります。 このリソースには、言語サービスに送信する API 呼び出しを認証するために使用するキーとエンドポイントが含まれます。

  1. Azure portal を使用して言語リソースを作成するには、次のリンクを使用します。 Azure サブスクリプションを使用してサインインする必要があります。

  2. 表示される [追加機能を選択する] スクリーンで、[続行] を選択 してリソースを作成します

    Azure portal の追加機能オプションを示すスクリーンショット。

  3. [言語の作成] スクリーンで、次の情報を入力します。

    詳細 説明
    サブスクリプション リソースが関連付けられるサブスクリプション アカウント。 ドロップダウン メニューから Azure サブスクリプションを選択します。
    リソース グループ リソース グループは、作成したリソースを保存するコンテナーです。 [新規作成] を選んで、新しいリソース グループを作成します。
    リージョン 言語リソースの場所。 別のリージョンを選択すると、物理的な場所によっては待機時間が生じる可能性がありますが、リソースのランタイムの可用性には影響しません。 このクイック スタートでは、近くの利用可能なリージョンを選択するか、米国東部を選択します。
    名前 言語リソースの名前。 この名前は、アプリケーションが API 要求の送信に使用するエンドポイント URL の作成にも使用されます。
    価格レベル 言語リソースの価格レベルFree F0 レベルを使用してサービスを試用し、後から運用環境用の有料レベルにアップグレードすることができます。

    Azure portal でのリソースの作成の詳細を示すスクリーンショット。

  4. [責任ある AI の通知] チェックボックスがオンになっていることを確認します。

  5. ページの下部にある [確認および作成] を選択します。

  6. 表示されるスクリーンで、検証に合格し、情報を正しく入力したことを確認します。 [作成] を選択します。

キーとエンドポイントを取得する

次に、アプリケーションを API に接続するには、リソースのキーとエンドポイントが必要です。 このクイックスタートで後に示すコードに、自分のキーとエンドポイントを貼り付けます。

  1. 言語リソースが正常にデプロイされたら、[次の手順][リソースに移動] ボタンをクリックします。

    リソースがデプロイされた後の次の手順を示すスクリーンショット。

  2. リソースのスクリーンで、左側のナビゲーション メニューの [キーとエンドポイント] を選択します。 以下の手順では、キーの 1 つとエンドポイントを使用します。

    リソースのキーとエンドポイント セクションを示すスクリーンショット。

環境変数を作成する

API 要求を送信するには、アプリケーションを認証する必要があります。 運用環境では、資格情報を安全に保存してアクセスできる方法を使用してください。 この例では、アプリケーションを実行しているローカル コンピューター上の環境変数に資格情報を書き込みます。

言語リソース キーの環境変数を設定するには、コンソール ウィンドウを開き、オペレーティング システムと開発環境の指示に従います。

  • LANGUAGE_KEY 環境変数を設定するには、your-key をリソースのキーの 1 つに置き換えます。
  • LANGUAGE_ENDPOINT 環境変数を設定するには、your-endpoint をリソースのエンドポイントに置き換えます。

重要

API キーを使用する場合は、それを Azure Key Vault などの別の場所に安全に保存します。 API キーは、コード内に直接含めないようにし、絶対に公開しないでください。

AI サービスのセキュリティの詳細については、「Azure AI サービスに対する要求の認証」を参照してください。

setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint

Note

現在実行中のコンソールで環境変数のみにアクセスする必要がある場合は、環境変数を setx の代わりに set に設定できます。

実行中のプログラムのうち、環境変数の読み取りを必要とするプログラム (コンソール ウィンドウを含む) については、環境変数を追加した後で再起動が必要となる場合があります。 たとえば、Visual Studio をエディターとして使用している場合、サンプルを実行する前に Visual Studio を再起動します。

クライアント ライブラリを追加する

好みの IDE または開発環境で Maven プロジェクトを作成します。 次に、自分のプロジェクトの pom.xml ファイルに次の依存関係を追加します。 その他のビルド ツールの実装構文はオンラインで確認できます。

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

コードの例

Example.java という名前で Java ファイルを作成します。 ファイルを開き、下のコードをコピーします。 次にコードを実行します。

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());
            }
        }
    }
}

出力

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

リソースをクリーンアップする

Azure AI サービス サブスクリプションをクリーンアップして削除したい場合は、リソースまたはリソース グループを削除することができます。 リソース グループを削除すると、それに関連付けられている他のリソースも削除されます。

次のステップ

リファレンス ドキュメント | その他のサンプル | パッケージ (npm) | ライブラリのソース コード

このクイック スタートを使用して、Node.js用クライアント ライブラリを使用してエンティティ リンク設定アプリケーションを作成します。 次の例では、テキスト メッセージで見つかったエンティティを識別して明確に区別できる JavaScript アプリケーションを作成します。

前提条件

設定

Azure リソースを作成する

以下のコード サンプルを使用するには、Azure リソースをデプロイする必要があります。 このリソースには、言語サービスに送信する API 呼び出しを認証するために使用するキーとエンドポイントが含まれます。

  1. Azure portal を使用して言語リソースを作成するには、次のリンクを使用します。 Azure サブスクリプションを使用してサインインする必要があります。

  2. 表示される [追加機能を選択する] スクリーンで、[続行] を選択 してリソースを作成します

    Azure portal の追加機能オプションを示すスクリーンショット。

  3. [言語の作成] スクリーンで、次の情報を入力します。

    詳細 説明
    サブスクリプション リソースが関連付けられるサブスクリプション アカウント。 ドロップダウン メニューから Azure サブスクリプションを選択します。
    リソース グループ リソース グループは、作成したリソースを保存するコンテナーです。 [新規作成] を選んで、新しいリソース グループを作成します。
    リージョン 言語リソースの場所。 別のリージョンを選択すると、物理的な場所によっては待機時間が生じる可能性がありますが、リソースのランタイムの可用性には影響しません。 このクイック スタートでは、近くの利用可能なリージョンを選択するか、米国東部を選択します。
    名前 言語リソースの名前。 この名前は、アプリケーションが API 要求の送信に使用するエンドポイント URL の作成にも使用されます。
    価格レベル 言語リソースの価格レベルFree F0 レベルを使用してサービスを試用し、後から運用環境用の有料レベルにアップグレードすることができます。

    Azure portal でのリソースの作成の詳細を示すスクリーンショット。

  4. [責任ある AI の通知] チェックボックスがオンになっていることを確認します。

  5. ページの下部にある [確認および作成] を選択します。

  6. 表示されるスクリーンで、検証に合格し、情報を正しく入力したことを確認します。 [作成] を選択します。

キーとエンドポイントを取得する

次に、アプリケーションを API に接続するには、リソースのキーとエンドポイントが必要です。 このクイックスタートで後に示すコードに、自分のキーとエンドポイントを貼り付けます。

  1. 言語リソースが正常にデプロイされたら、[次の手順][リソースに移動] ボタンをクリックします。

    リソースがデプロイされた後の次の手順を示すスクリーンショット。

  2. リソースのスクリーンで、左側のナビゲーション メニューの [キーとエンドポイント] を選択します。 以下の手順では、キーの 1 つとエンドポイントを使用します。

    リソースのキーとエンドポイント セクションを示すスクリーンショット。

環境変数を作成する

API 要求を送信するには、アプリケーションを認証する必要があります。 運用環境では、資格情報を安全に保存してアクセスできる方法を使用してください。 この例では、アプリケーションを実行しているローカル コンピューター上の環境変数に資格情報を書き込みます。

言語リソース キーの環境変数を設定するには、コンソール ウィンドウを開き、オペレーティング システムと開発環境の指示に従います。

  • LANGUAGE_KEY 環境変数を設定するには、your-key をリソースのキーの 1 つに置き換えます。
  • LANGUAGE_ENDPOINT 環境変数を設定するには、your-endpoint をリソースのエンドポイントに置き換えます。

重要

API キーを使用する場合は、それを Azure Key Vault などの別の場所に安全に保存します。 API キーは、コード内に直接含めないようにし、絶対に公開しないでください。

AI サービスのセキュリティの詳細については、「Azure AI サービスに対する要求の認証」を参照してください。

setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint

Note

現在実行中のコンソールで環境変数のみにアクセスする必要がある場合は、環境変数を setx の代わりに set に設定できます。

実行中のプログラムのうち、環境変数の読み取りを必要とするプログラム (コンソール ウィンドウを含む) については、環境変数を追加した後で再起動が必要となる場合があります。 たとえば、Visual Studio をエディターとして使用している場合、サンプルを実行する前に Visual Studio を再起動します。

新しい Node.js アプリケーションを作成する

コンソール ウィンドウ (cmd、PowerShell、Bash など) で、ご利用のアプリ用に新しいディレクトリを作成し、そこに移動します。

mkdir myapp 

cd myapp

npm init コマンドを実行し、package.json ファイルを使用して node アプリケーションを作成します。

npm init

クライアント ライブラリをインストールする

npm パッケージをインストールします:

npm install @azure/ai-language-text

コードの例

ファイルを開き、下のコードをコピーします。 次にコードを実行します。

"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);
});

出力

== 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

リソースをクリーンアップする

Azure AI サービス サブスクリプションをクリーンアップして削除したい場合は、リソースまたはリソース グループを削除することができます。 リソース グループを削除すると、それに関連付けられている他のリソースも削除されます。

次のステップ

リファレンス ドキュメント | その他のサンプル | パッケージ (PyPi) | ライブラリのソース コード

このクイック スタートを使用して、Python用クライアント ライブラリを使用してエンティティ リンク設定アプリケーションを作成します。 次の例では、テキスト メッセージで見つかったエンティティを識別して明確に区別できる Python アプリケーションを作成します。

前提条件

設定

Azure リソースを作成する

以下のコード サンプルを使用するには、Azure リソースをデプロイする必要があります。 このリソースには、言語サービスに送信する API 呼び出しを認証するために使用するキーとエンドポイントが含まれます。

  1. Azure portal を使用して言語リソースを作成するには、次のリンクを使用します。 Azure サブスクリプションを使用してサインインする必要があります。

  2. 表示される [追加機能を選択する] スクリーンで、[続行] を選択 してリソースを作成します

    Azure portal の追加機能オプションを示すスクリーンショット。

  3. [言語の作成] スクリーンで、次の情報を入力します。

    詳細 説明
    サブスクリプション リソースが関連付けられるサブスクリプション アカウント。 ドロップダウン メニューから Azure サブスクリプションを選択します。
    リソース グループ リソース グループは、作成したリソースを保存するコンテナーです。 [新規作成] を選んで、新しいリソース グループを作成します。
    リージョン 言語リソースの場所。 別のリージョンを選択すると、物理的な場所によっては待機時間が生じる可能性がありますが、リソースのランタイムの可用性には影響しません。 このクイック スタートでは、近くの利用可能なリージョンを選択するか、米国東部を選択します。
    名前 言語リソースの名前。 この名前は、アプリケーションが API 要求の送信に使用するエンドポイント URL の作成にも使用されます。
    価格レベル 言語リソースの価格レベルFree F0 レベルを使用してサービスを試用し、後から運用環境用の有料レベルにアップグレードすることができます。

    Azure portal でのリソースの作成の詳細を示すスクリーンショット。

  4. [責任ある AI の通知] チェックボックスがオンになっていることを確認します。

  5. ページの下部にある [確認および作成] を選択します。

  6. 表示されるスクリーンで、検証に合格し、情報を正しく入力したことを確認します。 [作成] を選択します。

キーとエンドポイントを取得する

次に、アプリケーションを API に接続するには、リソースのキーとエンドポイントが必要です。 このクイックスタートで後に示すコードに、自分のキーとエンドポイントを貼り付けます。

  1. 言語リソースが正常にデプロイされたら、[次の手順][リソースに移動] ボタンをクリックします。

    リソースがデプロイされた後の次の手順を示すスクリーンショット。

  2. リソースのスクリーンで、左側のナビゲーション メニューの [キーとエンドポイント] を選択します。 以下の手順では、キーの 1 つとエンドポイントを使用します。

    リソースのキーとエンドポイント セクションを示すスクリーンショット。

環境変数を作成する

API 要求を送信するには、アプリケーションを認証する必要があります。 運用環境では、資格情報を安全に保存してアクセスできる方法を使用してください。 この例では、アプリケーションを実行しているローカル コンピューター上の環境変数に資格情報を書き込みます。

言語リソース キーの環境変数を設定するには、コンソール ウィンドウを開き、オペレーティング システムと開発環境の指示に従います。

  • LANGUAGE_KEY 環境変数を設定するには、your-key をリソースのキーの 1 つに置き換えます。
  • LANGUAGE_ENDPOINT 環境変数を設定するには、your-endpoint をリソースのエンドポイントに置き換えます。

重要

API キーを使用する場合は、それを Azure Key Vault などの別の場所に安全に保存します。 API キーは、コード内に直接含めないようにし、絶対に公開しないでください。

AI サービスのセキュリティの詳細については、「Azure AI サービスに対する要求の認証」を参照してください。

setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint

Note

現在実行中のコンソールで環境変数のみにアクセスする必要がある場合は、環境変数を setx の代わりに set に設定できます。

実行中のプログラムのうち、環境変数の読み取りを必要とするプログラム (コンソール ウィンドウを含む) については、環境変数を追加した後で再起動が必要となる場合があります。 たとえば、Visual Studio をエディターとして使用している場合、サンプルを実行する前に Visual Studio を再起動します。

クライアント ライブラリをインストールする

Python をインストールしたら、次を使用してクライアント ライブラリをインストールすることができます。

pip install azure-ai-textanalytics==5.2.0

コードの例

新しい Python ファイルを作成し、下のコードをコピーします。 次にコードを実行します。

# 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)

出力

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

リソースをクリーンアップする

Azure AI サービス サブスクリプションをクリーンアップして削除したい場合は、リソースまたはリソース グループを削除することができます。 リソース グループを削除すると、それに関連付けられている他のリソースも削除されます。

次のステップ

リファレンス ドキュメント

REST API を使用してエンティティ リンク設定要求を送信するには、このクイック スタートを使用します。 次の例では、cURL を使用して、テキスト メッセージで見つかったエンティティを識別し、明確に区別できます。

前提条件

設定

Azure リソースを作成する

以下のコード サンプルを使用するには、Azure リソースをデプロイする必要があります。 このリソースには、言語サービスに送信する API 呼び出しを認証するために使用するキーとエンドポイントが含まれます。

  1. Azure portal を使用して言語リソースを作成するには、次のリンクを使用します。 Azure サブスクリプションを使用してサインインする必要があります。

  2. 表示される [追加機能を選択する] スクリーンで、[続行] を選択 してリソースを作成します

    Azure portal の追加機能オプションを示すスクリーンショット。

  3. [言語の作成] スクリーンで、次の情報を入力します。

    詳細 説明
    サブスクリプション リソースが関連付けられるサブスクリプション アカウント。 ドロップダウン メニューから Azure サブスクリプションを選択します。
    リソース グループ リソース グループは、作成したリソースを保存するコンテナーです。 [新規作成] を選んで、新しいリソース グループを作成します。
    リージョン 言語リソースの場所。 別のリージョンを選択すると、物理的な場所によっては待機時間が生じる可能性がありますが、リソースのランタイムの可用性には影響しません。 このクイック スタートでは、近くの利用可能なリージョンを選択するか、米国東部を選択します。
    名前 言語リソースの名前。 この名前は、アプリケーションが API 要求の送信に使用するエンドポイント URL の作成にも使用されます。
    価格レベル 言語リソースの価格レベルFree F0 レベルを使用してサービスを試用し、後から運用環境用の有料レベルにアップグレードすることができます。

    Azure portal でのリソースの作成の詳細を示すスクリーンショット。

  4. [責任ある AI の通知] チェックボックスがオンになっていることを確認します。

  5. ページの下部にある [確認および作成] を選択します。

  6. 表示されるスクリーンで、検証に合格し、情報を正しく入力したことを確認します。 [作成] を選択します。

キーとエンドポイントを取得する

次に、アプリケーションを API に接続するには、リソースのキーとエンドポイントが必要です。 このクイックスタートで後に示すコードに、自分のキーとエンドポイントを貼り付けます。

  1. 言語リソースが正常にデプロイされたら、[次の手順][リソースに移動] ボタンをクリックします。

    リソースがデプロイされた後の次の手順を示すスクリーンショット。

  2. リソースのスクリーンで、左側のナビゲーション メニューの [キーとエンドポイント] を選択します。 以下の手順では、キーの 1 つとエンドポイントを使用します。

    リソースのキーとエンドポイント セクションを示すスクリーンショット。

環境変数を作成する

API 要求を送信するには、アプリケーションを認証する必要があります。 運用環境では、資格情報を安全に保存してアクセスできる方法を使用してください。 この例では、アプリケーションを実行しているローカル コンピューター上の環境変数に資格情報を書き込みます。

言語リソース キーの環境変数を設定するには、コンソール ウィンドウを開き、オペレーティング システムと開発環境の指示に従います。

  • LANGUAGE_KEY 環境変数を設定するには、your-key をリソースのキーの 1 つに置き換えます。
  • LANGUAGE_ENDPOINT 環境変数を設定するには、your-endpoint をリソースのエンドポイントに置き換えます。

重要

API キーを使用する場合は、それを Azure Key Vault などの別の場所に安全に保存します。 API キーは、コード内に直接含めないようにし、絶対に公開しないでください。

AI サービスのセキュリティの詳細については、「Azure AI サービスに対する要求の認証」を参照してください。

setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint

Note

現在実行中のコンソールで環境変数のみにアクセスする必要がある場合は、環境変数を setx の代わりに set に設定できます。

実行中のプログラムのうち、環境変数の読み取りを必要とするプログラム (コンソール ウィンドウを含む) については、環境変数を追加した後で再起動が必要となる場合があります。 たとえば、Visual Studio をエディターとして使用している場合、サンプルを実行する前に Visual Studio を再起動します。

要求本文の例を使用して JSON ファイルを作成する

コード エディターで、test_entitylinking_payload.json という名前の新しいファイルを作成し、次の JSON の例をコピーします。 この例の要求は、次の手順で API に送信されます。

{
    "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."
            }
        ]
    }
}

test_entitylinking_payload.json をコンピューターの任意の場所に保存します。 たとえば、デスクトップなどです。

エンティティ リンク設定 API 要求を送信する

現在使用しているプログラムを使用して API 要求を送信するには、次のコマンドを使用します。 コマンドをターミナルにコピーして実行します。

パラメーター Description
-X POST <endpoint> API にアクセスするためのエンドポイントを指定します。
-H Content-Type: application/json JSON データを送信するためのコンテンツ タイプ。
-H "Ocp-Apim-Subscription-Key:<key> API にアクセスするためのキーを指定します。
-d <documents> 送信するドキュメントを含む JSON。

C:\Users\<myaccount>\Desktop\test_entitylinking_payload.json は、前のステップで作成した JSON 要求ファイルの例の場所に置き換えます。

コマンド プロンプト

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"

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"
	}
}

リソースをクリーンアップする

Azure AI サービス サブスクリプションをクリーンアップして削除したい場合は、リソースまたはリソース グループを削除することができます。 リソース グループを削除すると、それに関連付けられている他のリソースも削除されます。

次のステップ