クイック スタート: 個人を特定できる情報 (PII) を検出する
注意
このクイックスタートでは、ドキュメントの PII 検出だけを対象とします。 会話の PII 検出の詳細については、会話で PII を検出し、編集する方法に関するページを参照してください。
リファレンス ドキュメント | その他のサンプル | パッケージ (NuGet) | ライブラリのソース コード
このクイック スタートを使用して、.NET 用のクライアント ライブラリを使用して個人を特定できる情報 (PII) 検出アプリケーションを作成します。 次の例では、テキスト メッセージの認識された機密情報を識別できる C# アプリケーションを作成します。
ヒント
AI Studio を使用すると、コードを記述することなく要約を試すことができます。
前提条件
- Azure サブスクリプション - 無料アカウントを作成します
- Azure サブスクリプションを取得したら、AI サービス リソースを作成します。
- Visual Studio IDE
設定
環境変数を作成する
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 Azure.AI.TextAnalytics;
namespace Example
{
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 detecting sensitive information (PII) from text
static void RecognizePIIExample(TextAnalyticsClient client)
{
string document = "Call our office at 312-555-1234, or send an email to support@contoso.com.";
PiiEntityCollection entities = client.RecognizePiiEntities(document).Value;
Console.WriteLine($"Redacted Text: {entities.RedactedText}");
if (entities.Count > 0)
{
Console.WriteLine($"Recognized {entities.Count} PII entit{(entities.Count > 1 ? "ies" : "y")}:");
foreach (PiiEntity entity in entities)
{
Console.WriteLine($"Text: {entity.Text}, Category: {entity.Category}, SubCategory: {entity.SubCategory}, Confidence score: {entity.ConfidenceScore}");
}
}
else
{
Console.WriteLine("No entities were found.");
}
}
static void Main(string[] args)
{
var client = new TextAnalyticsClient(endpoint, credentials);
RecognizePIIExample(client);
Console.Write("Press any key to exit.");
Console.ReadKey();
}
}
}
出力
Redacted Text: Call our office at ************, or send an email to *******************.
Recognized 2 PII entities:
Text: 312-555-1234, Category: PhoneNumber, SubCategory: , Confidence score: 0.8
Text: support@contoso.com, Category: Email, SubCategory: , Confidence score: 0.8
リファレンス ドキュメント | その他のサンプル | パッケージ (Maven) | ライブラリのソース コード
このクイック スタートを使用して、Java 用のクライアント ライブラリを使用して個人を特定できる情報 (PII) 検出アプリケーションを作成します。 次の例では、テキスト メッセージの認識された機密情報を識別できる Java アプリケーションを作成します。
ヒント
AI Studio を使用すると、コードを記述することなく要約を試すことができます。
前提条件
- Azure サブスクリプション - 無料アカウントを作成します
- Azure サブスクリプションを取得したら、AI サービス リソースを作成します。
- Java Development Kit (JDK) バージョン 8 以降
設定
環境変数を作成する
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);
recognizePiiEntitiesExample(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 detecting sensitive information (PII) from text
static void recognizePiiEntitiesExample(TextAnalyticsClient client)
{
// The text that need be analyzed.
String document = "My SSN is 859-98-0987";
PiiEntityCollection piiEntityCollection = client.recognizePiiEntities(document);
System.out.printf("Redacted Text: %s%n", piiEntityCollection.getRedactedText());
piiEntityCollection.forEach(entity -> System.out.printf(
"Recognized Personally Identifiable Information entity: %s, entity category: %s, entity subcategory: %s,"
+ " confidence score: %f.%n",
entity.getText(), entity.getCategory(), entity.getSubcategory(), entity.getConfidenceScore()));
}
}
出力
Redacted Text: My SSN is ***********
Recognized Personally Identifiable Information entity: 859-98-0987, entity category: USSocialSecurityNumber, entity subcategory: null, confidence score: 0.650000.
リファレンス ドキュメント | その他のサンプル | パッケージ (npm) | ライブラリのソース コード
このクイック スタートを使用して、Node.js 用のクライアント ライブラリを使用して個人を特定できる情報 (PII) 検出アプリケーションを作成します。 次の例では、テキスト メッセージの認識された機密情報を識別できる JavaScript アプリケーションを作成します。
前提条件
- Azure サブスクリプション - 無料アカウントを作成します
- Azure サブスクリプションを取得したら、AI サービス リソースを作成します。
- Node.js v14 LTS 以降
設定
環境変数を作成する
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-text-analytics
コードの例
ファイルを開き、下のコードをコピーします。 次にコードを実行します。
"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;
//an example document for pii recognition
const documents = [ "The employee's phone number is (555) 555-5555." ];
async function main() {
console.log(`PII recognition sample`);
const client = new TextAnalyticsClient(endpoint, new AzureKeyCredential(key));
const documents = ["My phone number is 555-555-5555"];
const [result] = await client.analyze("PiiEntityRecognition", documents, "en");
if (!result.error) {
console.log(`Redacted text: "${result.redactedText}"`);
console.log("Pii Entities: ");
for (const entity of result.entities) {
console.log(`\t- "${entity.text}" of type ${entity.category}`);
}
}
}
main().catch((err) => {
console.error("The sample encountered an error:", err);
});
出力
PII recognition sample
Redacted text: "My phone number is ************"
Pii Entities:
- "555-555-5555" of type PhoneNumber
リファレンス ドキュメント | その他のサンプル | パッケージ (PyPi) | ライブラリのソース コード
このクイック スタートを使用して、Python 用のクライアント ライブラリを使用して個人を特定できる情報 (PII) 検出アプリケーションを作成します。 次の例では、テキスト メッセージの認識された機密情報を識別できる Python アプリケーションを作成します。
前提条件
- Azure サブスクリプション - 無料アカウントを作成します
- Azure サブスクリプションを取得したら、AI サービス リソースを作成します。
- Python 3.8 以降
設定
環境変数を作成する
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 method for detecting sensitive information (PII) from text
def pii_recognition_example(client):
documents = [
"The employee's SSN is 859-98-0987.",
"The employee's phone number is 555-555-5555."
]
response = client.recognize_pii_entities(documents, language="en")
result = [doc for doc in response if not doc.is_error]
for doc in result:
print("Redacted Text: {}".format(doc.redacted_text))
for entity in doc.entities:
print("Entity: {}".format(entity.text))
print("\tCategory: {}".format(entity.category))
print("\tConfidence Score: {}".format(entity.confidence_score))
print("\tOffset: {}".format(entity.offset))
print("\tLength: {}".format(entity.length))
pii_recognition_example(client)
出力
Redacted Text: The ********'s SSN is ***********.
Entity: employee
Category: PersonType
Confidence Score: 0.97
Offset: 4
Length: 8
Entity: 859-98-0987
Category: USSocialSecurityNumber
Confidence Score: 0.65
Offset: 22
Length: 11
Redacted Text: The ********'s phone number is ************.
Entity: employee
Category: PersonType
Confidence Score: 0.96
Offset: 4
Length: 8
Entity: 555-555-5555
Category: PhoneNumber
Confidence Score: 0.8
Offset: 31
Length: 12
REST API を使用して個人を特定できる情報 (PII) 検出要求を送信するには、このクイック スタートを使用します。 次の例では、cURL を使用して、テキスト メッセージ内の 認識された機密情報を識別します。
前提条件
- Azure サブスクリプション - 無料アカウントを作成します
- Azure サブスクリプションを取得したら、AI サービス リソースを作成します。
設定
環境変数を作成する
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_pii_payload.json
という名前の新しいファイルを作成し、次の JSON の例をコピーします。 この例の要求は、次の手順で API に送信されます。
{
"kind": "PiiEntityRecognition",
"parameters": {
"modelVersion": "latest"
},
"analysisInput":{
"documents":[
{
"id":"1",
"language": "en",
"text": "Call our office at 312-555-1234, or send an email to support@contoso.com"
}
]
}
}
'
test_pii_payload.json
をコンピューターの任意の場所に保存します。 たとえば、デスクトップなどです。
個人を特定できる情報 (PII) の検出 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_pii_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_pii_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_pii_payload.json"
JSON 応答
{
"kind": "PiiEntityRecognitionResults",
"results": {
"documents": [{
"redactedText": "Call our office at ************, or send an email to *******************",
"id": "1",
"entities": [{
"text": "312-555-1234",
"category": "PhoneNumber",
"offset": 19,
"length": 12,
"confidenceScore": 0.8
}, {
"text": "support@contoso.com",
"category": "Email",
"offset": 53,
"length": 19,
"confidenceScore": 0.8
}],
"warnings": []
}],
"errors": [],
"modelVersion": "2021-01-15"
}
}
リソースをクリーンアップする
Azure AI サービス サブスクリプションをクリーンアップして削除したい場合は、リソースまたはリソース グループを削除することができます。 リソース グループを削除すると、それに関連付けられている他のリソースも削除されます。