次の方法で共有


個人を特定できる情報 (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 エンティティが編集されたテキスト文字列も返されます。

サービスとデータの制限

分単位および秒単位で送信できる要求のサイズと数については、サービスの制限に関する記事を参照してください。

次のステップ

固有表現認識の概要