個人を特定できる情報 (PII) を検出して編集する方法
PII 機能では、事前に定義された複数のカテゴリにわたって、非構造化テキストを評価し、機密情報 (PII) と健康情報 (PHI) をテキストで抽出および編集できます。
開発オプション
PII 検出を使うには、分析対象のテキストを送信し、API の出力をアプリケーションで処理します。 分析はそのままの状態で行われ、データに使用されるモデルに対してカスタマイズは行われません。 PII 検出を使用するには、次の 2 つの方法があります。
開発オプション | 説明 |
---|---|
Language Studio | Language Studio は Web ベースのプラットフォームであり、Azure アカウントがなければテキストの例で、サインアップしたら独自のデータで、エンティティ リンクを試すことができます。 詳しくは、Language Studio の Web サイトまたは Language Studio のクイックスタートに関する記事をご覧ください。 |
REST API またはクライアント ライブラリ (Azure SDK) | さまざまな言語で使用できる REST API ライブラリ、またはクライアント ライブラリを使用して、PII 検出をお使いのアプリケーションに統合します。 詳細については、PII 検出のクイックスタートを参照してください。 |
データの処理方法を決定する (省略可能)
PII 検出モデルを指定する
既定では、テキストで利用可能な最新の AI モデルがこの機能で使われます。 特定のバージョンのモデルを使うように API 要求を構成することもできます。
入力言語
処理されるドキュメントを送信するときに、サポートされている言語のうちのどれでそのドキュメントが書かれているかを指定できます。言語を指定しない場合、抽出は既定で英語に設定されます。 さまざまな多言語と絵文字のエンコードをサポートするため、API からの応答でオフセットが返される場合があります。
Redaction Policy (バージョン 2024-11-5-preview のみ)
バージョン 2024-11-5-preview では、redactionPolicy
パラメーターを定義して、応答でドキュメントを編集するときに使用される編集ポリシーを反映できます。 ポリシー フィールドでは、次の 3 種類のポリシーがサポートされています。
DoNotRedact
MaskWithCharacter
(既定)MaskWithEntityType
DoNotRedact
ポリシーを使用すると、ユーザーは redactedText
フィールドなしで応答を返すことができます。
MaskWithRedactionCharacter
ポリシーでは、元のテキストの長さとオフセットを保持し、1 文字を使用して redactedText
をマスクできます。 これは既存の動作です。
MaskWithCharacter
ポリシーを使用している場合は、編集で使用される文字を入力できる redactionCharacter
と呼ばれる省略可能なフィールドもあります
MaskWithEntityType
ポリシーを使用すると、検出されたエンティティ型を使用して、検出された PII エンティティ テキストをマスクできます。
データの送信
要求が受信されると分析が実行されます。 PII 検出機能の同期的な使用はステートレスです。 データはアカウントに保存されず、結果がすぐに応答で返されます。
この機能を非同期的に使うと、API の結果は、応答で示される要求取り込み時刻から 24 時間利用できます。 この時間が経過すると、結果は消去され、取得できなくなります。
返されるエンティティを選択する
API では、指定されたドキュメント言語について、定義されたエンティティのカテゴリの検出が試みられます。 検出されて返されるエンティティを指定する場合は、オプションの piiCategories
パラメーターを適切なエンティティ カテゴリと共に使用します。 このパラメーターを使用すると、ドキュメントの言語に対して既定で有効になっていないエンティティを検出することもできます。 次の例では、Person
のみが検出されます。 返されるエンティティ型を 1 つ以上指定できます。
ヒント
エンティティ カテゴリを指定するときに default
を含めなかった場合、API では指定したエンティティ カテゴリのみが返されます。
入力:
Note
この例では、person エンティティ型のみが返されます。
https://<your-language-resource-endpoint>/language/:analyze-text?api-version=2022-05-01
{
"kind": "PiiEntityRecognition",
"parameters":
{
"modelVersion": "latest",
"piiCategories" :
[
"Person"
]
},
"analysisInput":
{
"documents":
[
{
"id":"1",
"language": "en",
"text": "We went to Contoso foodplace located at downtown Seattle last week for a dinner party, and we adore the spot! They provide marvelous food and they have a great menu. The chief cook happens to be the owner (I think his name is John Doe) and he is super nice, coming out of the kitchen and greeted us all. We enjoyed very much dining in the place! The pasta I ordered was tender and juicy, and the place was impeccably clean. You can even pre-order from their online menu at www.contosofoodplace.com, call 112-555-0176 or send email to order@contosofoodplace.com! The only complaint I have is the food didn't come fast enough. Overall I highly recommend it!"
}
]
},
"kind": "PiiEntityRecognition",
"parameters": {
"redactionPolicy": {
"policyKind": "MaskWithCharacter"
//MaskWithCharacter|MaskWithEntityType|DoNotRedact
"redactionCharacter": "*"
}
出力:
{
"kind": "PiiEntityRecognitionResults",
"results": {
"documents": [
{
"redactedText": "We went to Contoso foodplace located at downtown Seattle last week for a dinner party, and we adore the spot! They provide marvelous food and they have a great menu. The chief cook happens to be the owner (I think his name is ********) and he is super nice, coming out of the kitchen and greeted us all. We enjoyed very much dining in the place! The pasta I ordered was tender and juicy, and the place was impeccably clean. You can even pre-order from their online menu at www.contosofoodplace.com, call 112-555-0176 or send email to order@contosofoodplace.com! The only complaint I have is the food didn't come fast enough. Overall I highly recommend it!",
"id": "1",
"entities": [
{
"text": "John Doe",
"category": "Person",
"offset": 226,
"length": 8,
"confidenceScore": 0.98
}
],
"warnings": []
}
],
"errors": [],
"modelVersion": "2021-01-15"
}
}
PII の結果の取得
PII 検出から結果を取得するときは、結果をアプリケーションにストリーミングしたり、ローカル システム上のファイルに出力を保存したりできます。 API の応答には、認識されたエンティティと、そのカテゴリ、サブカテゴリ、信頼度スコアなどが含まれます。 PII エンティティが編集されたテキスト文字列も返されます。
サービスとデータの制限
分単位および秒単位で送信できる要求のサイズと数については、サービスの制限に関する記事を参照してください。