快速入門:偵測個人識別資訊 (PII)
注意
本快速入門僅涵蓋文件中的 PII 偵測。 若要深入了解如何在交談中偵測 PII,請參閱如何在交談中偵測及修訂 PII。
參考文件 | 更多樣本 | 套件 (NuGet) | 程式庫原始程式碼
使用本快速入門,透過適用於 .NET 的用戶端程式庫,建立個人識別資訊 (PII) 偵測應用程式。 在下列範例中,您會建立 C# 應用程式,以便識別文字中辨識的敏感性資訊。
提示
您可以使用 Azure AI Foundry 來嘗試摘要,而不需要撰寫程式代碼。
必要條件
- Azure 訂用帳戶 - 建立免費帳戶
- 擁有 Azure 訂用帳戶之後, 請建立 AI 服務資源。
- Visual Studio IDE
設定
建立環境變數
您的應用程式必須經過驗證後,才能傳送 API 要求。 在生產環境中,請運用安全的方式來儲存和存取您的登入資訊。 在此範例中,您會在執行應用程式的本機電腦上將認證寫入環境變數。
若要設定語言資源金鑰的環境變數,請開啟主控台視窗,並遵循作業系統和開發環境的指示進行。
- 若要設定
LANGUAGE_KEY
環境變數,請將your-key
取代為您資源的其中一個金鑰。 - 若要設定
LANGUAGE_ENDPOINT
環境變數,請將your-endpoint
取代為您資源的端點。
重要
如果您使用 API 金鑰,請將其安全地儲存在別處,例如 Azure Key Vault。 請勿在程式碼中直接包含 API 金鑰,且切勿公開張貼金鑰。
如需 AI 服務安全性的詳細資訊,請參閱驗證對 Azure AI 服務的要求 (英文)。
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint
注意
如果您只需要存取目前執行中主控台的環境變數,您可以使用 set
(而不是 setx
) 來設定環境變數。
新增環境變數之後,您可能需要重新啟動任何需要讀取環境變數的執行中程式,包括主控台視窗。 例如,如果您使用 Visual Studio 做為編輯器,請在執行範例前重新啟動 Visual Studio。
建立新的 .NET Core 應用程式
使用 Visual Studio IDE,建立新的 .NET Core 主控台應用程式。 這會建立 "Hello World" 專案,內含單一 C# 來源檔案:program.cs。
以滑鼠右鍵按一下 [方案總管] 中的解決方案,然後選取 [管理 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 應用程式,以便識別文字中辨識的敏感性資訊。
提示
您可以使用 Azure AI Foundry 來嘗試摘要,而不需要撰寫程式代碼。
必要條件
- Azure 訂用帳戶 - 建立免費帳戶
- 擁有 Azure 訂用帳戶之後, 請建立 AI 服務資源。
- Java 開發套件 (JDK) 含第 8 版或更新版本
設定
建立環境變數
您的應用程式必須經過驗證後,才能傳送 API 要求。 在生產環境中,請運用安全的方式來儲存和存取您的登入資訊。 在此範例中,您會在執行應用程式的本機電腦上將認證寫入環境變數。
若要設定語言資源金鑰的環境變數,請開啟主控台視窗,並遵循作業系統和開發環境的指示進行。
- 若要設定
LANGUAGE_KEY
環境變數,請將your-key
取代為您資源的其中一個金鑰。 - 若要設定
LANGUAGE_ENDPOINT
環境變數,請將your-endpoint
取代為您資源的端點。
重要
如果您使用 API 金鑰,請將其安全地儲存在別處,例如 Azure Key Vault。 請勿在程式碼中直接包含 API 金鑰,且切勿公開張貼金鑰。
如需 AI 服務安全性的詳細資訊,請參閱驗證對 Azure AI 服務的要求 (英文)。
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint
注意
如果您只需要存取目前執行中主控台的環境變數,您可以使用 set
(而不是 setx
) 來設定環境變數。
新增環境變數之後,您可能需要重新啟動任何需要讀取環境變數的執行中程式,包括主控台視窗。 例如,如果您使用 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
取代為您資源的其中一個金鑰。 - 若要設定
LANGUAGE_ENDPOINT
環境變數,請將your-endpoint
取代為您資源的端點。
重要
如果您使用 API 金鑰,請將其安全地儲存在別處,例如 Azure Key Vault。 請勿在程式碼中直接包含 API 金鑰,且切勿公開張貼金鑰。
如需 AI 服務安全性的詳細資訊,請參閱驗證對 Azure AI 服務的要求 (英文)。
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint
注意
如果您只需要存取目前執行中主控台的環境變數,您可以使用 set
(而不是 setx
) 來設定環境變數。
新增環境變數之後,您可能需要重新啟動任何需要讀取環境變數的執行中程式,包括主控台視窗。 例如,如果您使用 Visual Studio 做為編輯器,請在執行範例前重新啟動 Visual Studio。
建立新的 Node.js 應用程式
在主控台視窗 (例如 cmd、PowerShell 或 Bash) 中,為您的應用程式建立新的目錄,並瀏覽至該目錄。
mkdir myapp
cd myapp
執行命令 npm init
,以使用 package.json
檔案建立節點應用程式。
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
取代為您資源的其中一個金鑰。 - 若要設定
LANGUAGE_ENDPOINT
環境變數,請將your-endpoint
取代為您資源的端點。
重要
如果您使用 API 金鑰,請將其安全地儲存在別處,例如 Azure Key Vault。 請勿在程式碼中直接包含 API 金鑰,且切勿公開張貼金鑰。
如需 AI 服務安全性的詳細資訊,請參閱驗證對 Azure AI 服務的要求 (英文)。
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint
注意
如果您只需要存取目前執行中主控台的環境變數,您可以使用 set
(而不是 setx
) 來設定環境變數。
新增環境變數之後,您可能需要重新啟動任何需要讀取環境變數的執行中程式,包括主控台視窗。 例如,如果您使用 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
取代為您資源的其中一個金鑰。 - 若要設定
LANGUAGE_ENDPOINT
環境變數,請將your-endpoint
取代為您資源的端點。
重要
如果您使用 API 金鑰,請將其安全地儲存在別處,例如 Azure Key Vault。 請勿在程式碼中直接包含 API 金鑰,且切勿公開張貼金鑰。
如需 AI 服務安全性的詳細資訊,請參閱驗證對 Azure AI 服務的要求 (英文)。
setx LANGUAGE_KEY your-key
setx LANGUAGE_ENDPOINT your-endpoint
注意
如果您只需要存取目前執行中主控台的環境變數,您可以使用 set
(而不是 setx
) 來設定環境變數。
新增環境變數之後,您可能需要重新啟動任何需要讀取環境變數的執行中程式,包括主控台視窗。 例如,如果您使用 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 要求。 將命令複製到終端機,然後執行該命令。
parameter | 描述 |
---|---|
-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 服務訂用帳戶,則可以刪除資源或資源群組。 刪除資源群組也會刪除與其相關聯的任何其他資源。