カテゴリ:

:doc:`/sql-reference/functions-string`(AI 関数)

AI_REDACT

非構造化テキストデータから個人を特定できる情報(PII)を検出して編集します。

構文

AI_REDACTを使用してPIIを検出し、編集します。

AI_REDACT( <input> [, <categories> ] [, <return_error_details> ] [, <mode> ] )
Copy

引数

必須:

input

個人を特定できる情報(PII)を含む可能性があるテキストデータを持つVARCHAR値。

オプション:

categories

編集される PII のタイプを指定する文字列値の ARRAY。指定しない場合、サポートされるすべての PII カテゴリが編集されます。サポートされているカテゴリのリストについては、 検出される PII カテゴリ をご参照ください。

サポートされていないカテゴリを渡すとエラーになります。

return_error_details

エラーが発生した場合にエラーの詳細を返すかどうかを示す BOOLEAN フラグ。TRUE に設定した場合、関数は値とエラーメッセージを含む OBJECT を返します。そのうちの1つは関数が成功したか失敗したかに応じて NULL になります。

セッションパラメーターAI_SQL_ERROR_HANDLING_USE_FAIL_ON_ERRORがFALSEに設定されている必要があります。

mode

動作モードを指定するVARCHAR値。有効な値:

  • ``redact``(デフォルト):検出されたPIIを[NAME]や[ADDRESS]などのカテゴリプレースホルダーに置き換えます。

  • detect:テキストの編集は行わず、検出された各PIIインスタンスの場所とカテゴリを特定する``spans``配列を含んだOBJECTを返します。

注釈

:code:`mode`引数では大文字と小文字を区別しません。

戻り値

AI_REDACTの戻り値は、``mode``引数によって異なります。

編集モード(デフォルト)

入力テキストが「John Smith」であった場合の``[NAME]``など、PIIをカテゴリプレースホルダーに置き換えた入力テキストを含むVARCHARを返します。

検出モード

``spans``配列を含むOBJECTを返します。配列の各要素は、次のフィールドをもつOBJECTです。

  • category:PIIカテゴリ(例、NAME``または``ADDRESS)を特定するVARCHAR値。

  • start:入力テキスト内のPIIの開始インデックスを特定するNUMBER値。

  • end:入力テキスト内のPIIの終了インデックスを特定するNUMBER値。

  • text: 一致したPIIテキストを含むVARCHAR値。

エラー動作

デフォルトでは、AI_REDACTが入力を処理できない場合、関数はエラーを返します。クエリが複数の行を処理する場合は、クエリ全体が失敗します。

AI_SQL_ERROR_HANDLING_USE_FAIL_ON_ERRORがFALSEに設定されている場合、エラー時の戻り値は``return_error_details``引数によって異なります。次の表は、``return_error_details``引数に基づいて、どのような戻り値が返されるかを示しています。

return_error_details

戻り値

説明

FALSE

引数が省略された場合

NULL

TRUE

``value``と``error``のフィールドを持つOBJECT

value: 編集されたテキストを含むVARCHAR値、またはエラーが発生した場合はNULL。

error: エラーが発生した場合はエラーメッセージを含むVARCHAR値、または関数が成功した場合はNULL。

エラー処理について詳しくは、:ref:`label-ai_redact_error_handling`を参照してください。

使用上の注意

  • AI_REDACT で編集できる PII のカテゴリについては、 検出される PII カテゴリ をご参照ください。

  • AI_REDACT の現在のバージョンの制限については、 制限事項 をご参照ください。

編集の例 をご参照ください。