クイックスタート: クライアント ライブラリと REST API を使用したエンティティ リンク設定
リファレンス ドキュメント | その他のサンプル | パッケージ (NuGet) | ライブラリのソース コード
このクイック スタートを使用して、.NET用クライアント ライブラリを使用してエンティティ リンク設定アプリケーションを作成します。 次の例では、テキストで見つかったエンティティを識別して明確に区別できる C# アプリケーションを作成します。
ヒント
Language Studio を使用すると、コードを記述することなく言語サービス機能を試すことができます。
前提条件
- Azure サブスクリプション - 無料アカウントを作成します
- Visual Studio IDE
設定
Azure リソースを作成する
以下のコード サンプルを使用するには、Azure リソースをデプロイする必要があります。 このリソースには、言語サービスに送信する API 呼び出しを認証するために使用するキーとエンドポイントが含まれます。
Azure portal を使用して言語リソースを作成するには、次のリンクを使用します。 Azure サブスクリプションを使用してサインインする必要があります。
表示される [追加機能を選択する] スクリーンで、[続行] を選択 してリソースを作成します。
[言語の作成] スクリーンで、次の情報を入力します。
詳細 説明 サブスクリプション リソースが関連付けられるサブスクリプション アカウント。 ドロップダウン メニューから Azure サブスクリプションを選択します。 リソース グループ リソース グループは、作成したリソースを保存するコンテナーです。 [新規作成] を選んで、新しいリソース グループを作成します。 リージョン 言語リソースの場所。 別のリージョンを選択すると、物理的な場所によっては待機時間が生じる可能性がありますが、リソースのランタイムの可用性には影響しません。 このクイック スタートでは、近くの利用可能なリージョンを選択するか、米国東部を選択します。 名前 言語リソースの名前。 この名前は、アプリケーションが API 要求の送信に使用するエンドポイント URL の作成にも使用されます。 価格レベル 言語リソースの価格レベル。 Free F0 レベルを使用してサービスを試用し、後から運用環境用の有料レベルにアップグレードすることができます。 [責任ある AI の通知] チェックボックスがオンになっていることを確認します。
ページの下部にある [確認および作成] を選択します。
表示されるスクリーンで、検証に合格し、情報を正しく入力したことを確認します。 [作成] を選択します。
キーとエンドポイントを取得する
次に、アプリケーションを API に接続するには、リソースのキーとエンドポイントが必要です。 このクイックスタートで後に示すコードに、自分のキーとエンドポイントを貼り付けます。
言語リソースが正常にデプロイされたら、[次の手順] の [リソースに移動] ボタンをクリックします。
リソースのスクリーンで、左側のナビゲーション メニューの [キーとエンドポイント] を選択します。 以下の手順では、キーの 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 サブスクリプション - 無料アカウントを作成します
- Java Development Kit (JDK) バージョン 8 以降
設定
Azure リソースを作成する
以下のコード サンプルを使用するには、Azure リソースをデプロイする必要があります。 このリソースには、言語サービスに送信する API 呼び出しを認証するために使用するキーとエンドポイントが含まれます。
Azure portal を使用して言語リソースを作成するには、次のリンクを使用します。 Azure サブスクリプションを使用してサインインする必要があります。
表示される [追加機能を選択する] スクリーンで、[続行] を選択 してリソースを作成します。
[言語の作成] スクリーンで、次の情報を入力します。
詳細 説明 サブスクリプション リソースが関連付けられるサブスクリプション アカウント。 ドロップダウン メニューから Azure サブスクリプションを選択します。 リソース グループ リソース グループは、作成したリソースを保存するコンテナーです。 [新規作成] を選んで、新しいリソース グループを作成します。 リージョン 言語リソースの場所。 別のリージョンを選択すると、物理的な場所によっては待機時間が生じる可能性がありますが、リソースのランタイムの可用性には影響しません。 このクイック スタートでは、近くの利用可能なリージョンを選択するか、米国東部を選択します。 名前 言語リソースの名前。 この名前は、アプリケーションが API 要求の送信に使用するエンドポイント URL の作成にも使用されます。 価格レベル 言語リソースの価格レベル。 Free F0 レベルを使用してサービスを試用し、後から運用環境用の有料レベルにアップグレードすることができます。 [責任ある AI の通知] チェックボックスがオンになっていることを確認します。
ページの下部にある [確認および作成] を選択します。
表示されるスクリーンで、検証に合格し、情報を正しく入力したことを確認します。 [作成] を選択します。
キーとエンドポイントを取得する
次に、アプリケーションを API に接続するには、リソースのキーとエンドポイントが必要です。 このクイックスタートで後に示すコードに、自分のキーとエンドポイントを貼り付けます。
言語リソースが正常にデプロイされたら、[次の手順] の [リソースに移動] ボタンをクリックします。
リソースのスクリーンで、左側のナビゲーション メニューの [キーとエンドポイント] を選択します。 以下の手順では、キーの 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 サブスクリプション - 無料アカウントを作成します
- Node.js v14 LTS 以降
設定
Azure リソースを作成する
以下のコード サンプルを使用するには、Azure リソースをデプロイする必要があります。 このリソースには、言語サービスに送信する API 呼び出しを認証するために使用するキーとエンドポイントが含まれます。
Azure portal を使用して言語リソースを作成するには、次のリンクを使用します。 Azure サブスクリプションを使用してサインインする必要があります。
表示される [追加機能を選択する] スクリーンで、[続行] を選択 してリソースを作成します。
[言語の作成] スクリーンで、次の情報を入力します。
詳細 説明 サブスクリプション リソースが関連付けられるサブスクリプション アカウント。 ドロップダウン メニューから Azure サブスクリプションを選択します。 リソース グループ リソース グループは、作成したリソースを保存するコンテナーです。 [新規作成] を選んで、新しいリソース グループを作成します。 リージョン 言語リソースの場所。 別のリージョンを選択すると、物理的な場所によっては待機時間が生じる可能性がありますが、リソースのランタイムの可用性には影響しません。 このクイック スタートでは、近くの利用可能なリージョンを選択するか、米国東部を選択します。 名前 言語リソースの名前。 この名前は、アプリケーションが API 要求の送信に使用するエンドポイント URL の作成にも使用されます。 価格レベル 言語リソースの価格レベル。 Free F0 レベルを使用してサービスを試用し、後から運用環境用の有料レベルにアップグレードすることができます。 [責任ある AI の通知] チェックボックスがオンになっていることを確認します。
ページの下部にある [確認および作成] を選択します。
表示されるスクリーンで、検証に合格し、情報を正しく入力したことを確認します。 [作成] を選択します。
キーとエンドポイントを取得する
次に、アプリケーションを API に接続するには、リソースのキーとエンドポイントが必要です。 このクイックスタートで後に示すコードに、自分のキーとエンドポイントを貼り付けます。
言語リソースが正常にデプロイされたら、[次の手順] の [リソースに移動] ボタンをクリックします。
リソースのスクリーンで、左側のナビゲーション メニューの [キーとエンドポイント] を選択します。 以下の手順では、キーの 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 サブスクリプション - 無料アカウントを作成します
- Python 3.7 以降
設定
Azure リソースを作成する
以下のコード サンプルを使用するには、Azure リソースをデプロイする必要があります。 このリソースには、言語サービスに送信する API 呼び出しを認証するために使用するキーとエンドポイントが含まれます。
Azure portal を使用して言語リソースを作成するには、次のリンクを使用します。 Azure サブスクリプションを使用してサインインする必要があります。
表示される [追加機能を選択する] スクリーンで、[続行] を選択 してリソースを作成します。
[言語の作成] スクリーンで、次の情報を入力します。
詳細 説明 サブスクリプション リソースが関連付けられるサブスクリプション アカウント。 ドロップダウン メニューから Azure サブスクリプションを選択します。 リソース グループ リソース グループは、作成したリソースを保存するコンテナーです。 [新規作成] を選んで、新しいリソース グループを作成します。 リージョン 言語リソースの場所。 別のリージョンを選択すると、物理的な場所によっては待機時間が生じる可能性がありますが、リソースのランタイムの可用性には影響しません。 このクイック スタートでは、近くの利用可能なリージョンを選択するか、米国東部を選択します。 名前 言語リソースの名前。 この名前は、アプリケーションが API 要求の送信に使用するエンドポイント URL の作成にも使用されます。 価格レベル 言語リソースの価格レベル。 Free F0 レベルを使用してサービスを試用し、後から運用環境用の有料レベルにアップグレードすることができます。 [責任ある AI の通知] チェックボックスがオンになっていることを確認します。
ページの下部にある [確認および作成] を選択します。
表示されるスクリーンで、検証に合格し、情報を正しく入力したことを確認します。 [作成] を選択します。
キーとエンドポイントを取得する
次に、アプリケーションを API に接続するには、リソースのキーとエンドポイントが必要です。 このクイックスタートで後に示すコードに、自分のキーとエンドポイントを貼り付けます。
言語リソースが正常にデプロイされたら、[次の手順] の [リソースに移動] ボタンをクリックします。
リソースのスクリーンで、左側のナビゲーション メニューの [キーとエンドポイント] を選択します。 以下の手順では、キーの 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 リソースを作成する
以下のコード サンプルを使用するには、Azure リソースをデプロイする必要があります。 このリソースには、言語サービスに送信する API 呼び出しを認証するために使用するキーとエンドポイントが含まれます。
Azure portal を使用して言語リソースを作成するには、次のリンクを使用します。 Azure サブスクリプションを使用してサインインする必要があります。
表示される [追加機能を選択する] スクリーンで、[続行] を選択 してリソースを作成します。
[言語の作成] スクリーンで、次の情報を入力します。
詳細 説明 サブスクリプション リソースが関連付けられるサブスクリプション アカウント。 ドロップダウン メニューから Azure サブスクリプションを選択します。 リソース グループ リソース グループは、作成したリソースを保存するコンテナーです。 [新規作成] を選んで、新しいリソース グループを作成します。 リージョン 言語リソースの場所。 別のリージョンを選択すると、物理的な場所によっては待機時間が生じる可能性がありますが、リソースのランタイムの可用性には影響しません。 このクイック スタートでは、近くの利用可能なリージョンを選択するか、米国東部を選択します。 名前 言語リソースの名前。 この名前は、アプリケーションが API 要求の送信に使用するエンドポイント URL の作成にも使用されます。 価格レベル 言語リソースの価格レベル。 Free F0 レベルを使用してサービスを試用し、後から運用環境用の有料レベルにアップグレードすることができます。 [責任ある AI の通知] チェックボックスがオンになっていることを確認します。
ページの下部にある [確認および作成] を選択します。
表示されるスクリーンで、検証に合格し、情報を正しく入力したことを確認します。 [作成] を選択します。
キーとエンドポイントを取得する
次に、アプリケーションを API に接続するには、リソースのキーとエンドポイントが必要です。 このクイックスタートで後に示すコードに、自分のキーとエンドポイントを貼り付けます。
言語リソースが正常にデプロイされたら、[次の手順] の [リソースに移動] ボタンをクリックします。
リソースのスクリーンで、左側のナビゲーション メニューの [キーとエンドポイント] を選択します。 以下の手順では、キーの 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 サービス サブスクリプションをクリーンアップして削除したい場合は、リソースまたはリソース グループを削除することができます。 リソース グループを削除すると、それに関連付けられている他のリソースも削除されます。