ページの先頭行へ戻る
Symfoware Analytics ServerV12.2.0 利用ガイド
FUJITSU Software

D.4.1 匿名化アルゴリズム設定ファイル

匿名化コマンドに指定する匿名化アルゴリズム設定ファイルについて、説明します。

匿名化アルゴリズム設定ファイルは、以下の規則で記載してください。

サンプルファイル

匿名化アルゴリズム設定ファイルのサンプルファイルを以下に格納しています。運用に合わせて、本サンプルファイルをコピーして修正してください。

Windows[DWHサーバのインストールディレクトリ]\sample\config.csv
Linux/opt/FJSVsymas/sample/config.csv

設定内容

匿名化アルゴリズム設定ファイルの設定内容について、各Key値および設定値を説明します。

Key名

設定値

plain

対象となるデータに対してダブルクォーテーションを使用していない場合に高速化します。

plainモードを使用するには、必ず“true”を指定してください。

Missing'<column>

属性<column>に対して、欠損値扱いする値を指定します。

本Key名で設定していない属性には、欠損値として空文字列を採用します。

Algorithm*

実行する匿名化アルゴリズムを以下の内容から指定します。

  • LocalSuppressionAlgorithm

  • NcpTopDownAnonymizationAlgorithm

  • RandomSuppressionAlgorithm

例)
Key,Value
plain,true
Missing'relationship,n/a
Algorithm*,"RandomSuppressionAlgorithm
{column:[age,race,sex]
,k:3
}"

また、Key名“Algorithm*”の設定値に指定した匿名化アルゴリズムによって、指定形式が異なります。各匿名化アルゴリズムの指定値について説明します。

LocalSuppressionAlgorithm

LocalSuppressionAlgorithmの指定値について説明します。

column

QI(準識別子)とするカラム名またはその集合(リスト)を指定します。

id

カラム名を指定します。

  • idに値を指定した場合

    そのカラム名の値が同じ行同士は何行あっても1行として数えます。

  • idを指定しなかった場合

    行数を数えます。

たとえば、QI値が同じである3行のグループでidに指定したカラム名の値が全て同一だった場合に、指定しなかったときは、k=3の匿名性を満たしていると扱います。idに指定しているときは、k=1と扱います。

k

k値を自然数で指定します。

例)
Algorithm*," LocalSuppressionAlgorithm
{column:[""疾患"",""住所"",""趣味""]
,k:3
}"

NcpTopDownAnonymizationAlgorithm

NcpTopDownAnonymizationAlgorithmの指定値について説明します。

tree

QI(準識別子)とするカラム名の一般化木の集合を指定します。

たとえば、{住所:{川崎市:{中原区:"",川崎区:""},港北区:""},年齢:{10-19:{10:"",11:"",12: ""},20-29:{20:"",28:"",29:""} と指定すると、住所カラムについては中原区と川崎区を川崎市とし、港北区は欠損値とします。また、年齢を10-19、20-29で一般化木とします。

id

カラム名を指定します。

  • idに値を指定した場合

    そのカラム名の値が同じ行同士は何行あっても1行として数えます。

  • idを指定しなかった場合

    行数を数えます。

たとえば、QI値が同じである3行のグループでidに指定したカラム名の値が全て同一だった場合に、指定しなかったときは、k=3の匿名性を満たしていると扱います。idに指定しているときは、k=1と扱います。

k

k値を自然数で指定します。

weight

QI値のできるだけ変換しない属性の重み(優先度)の設定を正の実数で指定します。省略した場合、属性の重みは1として扱います。

たとえば、{住所:1,年齢:0.1} と指定すると、住所は年齢の10倍の重みとなり、その分住所の属性値は変換されにくくなります。 また、省略した場合の重みは1なので、{年齢:0.1} としても同じ結果になります。

tree で指定したカラム名以外のカラム名を指定するとエラーになります。

例)
Algorithm*," NcpTopDownAnonymizationAlgorithm
{tree:{住所:{川崎市:{中原区:"",川崎区:""},港北区:""},年齢:{10-19:{10:"",11:"",12: ""},20-29:{20:"",28:"",29:""}}
,k:3
,weight:{住所:1,年齢:0.1}
}"

RandomSuppressionAlgorithm

RandomSuppressionAlgorithmの指定値について説明します。

column

QI(準識別子)とするカラム名またはその集合(リスト)を指定します。指定順に処理されるので、欠損値としたくないカラム名の値を先に指定してください。

id

カラム名を指定します。

  • idに値を指定した場合

    そのカラム名の値が同じ行同士は何行あっても1行として数えます。

  • idを指定しなかった場合

    行数を数えます。

たとえば、QI値が同じである3行のグループでidに指定したカラム名の値が全て同一だった場合に、指定しなかったときは、k=3の匿名性を満たしていると扱います。idに指定しているときは、k=1と扱います。

k

k値を自然数で指定します。

s

行を抑制する最小行数を正の整数で指定します。指定しなかった場合は、kの指定値を採用します。

randomness

QI値とする各カラム名の属性についての抑制度合いを指定します。

たとえば、{住所:0.7} と指定すると、住所カラムの抑制度合いが0.7となります。抑制度合いは、0以上1未満の実数です。指定しなかったカラム名は0.5が設定されたものとして扱います。

設定値が大きいほど匿名性が高くなり(存在性が保護され)、活用性が低いデータに変換されてしまいます。

また、抑制度合いを“r”とすると、存在する確率が最大で“1/(r+1)”となる場合があります。

seed

乱数の種を整数で指定します。指定しなかった場合はランダムに与えられます。

例)
Algorithm*,"RandomSuppressionAnonymizationAlgorithm
{column:[""疾患"",""住所"",""趣味""]
,k:3
,randomness:{""疾患"":0.3,""住所"":0.5,""趣味"":1}
}"