(57)【要約】  任意の数のデータソースをスキャンして、保存された個人情報、そのような個人情報の保存に関連するリスク、および／またはそのような情報に関連する使用活動をユーザーに可視化するための、プライバシー管理プラットフォームが開示される。このプラットフォームは、個人情報結果を特定のデータ主体と相関させてもよく、機械学習モデルを使用して結果を特定の個人情報属性に対応するものとして分類し、複数のデータソースに亘ってインデックス付けされたインベントリを提供してもよい。
2021534483.tif 000002
【特許請求の範囲】
【請求項１】
データソース内の個人情報を検索および分類するコンピュータ実装の方法であって、
第１の属性値に関連付けられた第１の属性フィールドおよび第２の属性値に関連付けられた第２の属性フィールドを含むＩＤデータソースをコンピュータにより受信する工程；
前記コンピュータにより、第１のスキャンされた値に関連付けられた第１のスキャンされたフィールドを含むスキャンされたデータソースを受信する工程；
前記第１の属性値を前記第１のスキャンされた値と比較することによって決定された第１のセットの個人情報結果および前記第２の属性値を前記第１のスキャンされた値と比較することによって決定された第２のセットの個人情報結果を含む、複数の個人情報結果を、前記コンピュータにより決定する工程；
前記第１のセットの個人情報結果の一部またはすべてから作成された第１のセットの個人情報レコードおよび前記第２のセットの個人情報結果の一部またはすべてから作成された第２のセットの個人情報レコードを含む、複数の個人情報結果の一部またはすべてから作成された複数の個人情報レコードを、前記コンピュータにより作成する工程；
前記第１のスキャンされた値のカウント、前記第１のセットの個人情報結果のカウント、前記第１のセットの個人情報レコードのカウント、および、前記第１のセットの個人情報レコードのカウントと前記第２のセットの個人情報レコードのカウントの合計の複数に基づいて、前記第１のスキャンされたフィールドおよび前記第１の属性フィールドについて第１の信頼性レベルを、前記コンピュータにより計算する工程；
前記第１のスキャンされた値のカウント、前記第２のセットの個人情報結果のカウント、前記第２のセットの個人情報レコードのカウント、および、前記第１のセットの個人情報レコードのカウントと前記第２のセットの個人情報レコードのカウントの合計の複数に基づいて、前記第１のスキャンされたフィールドおよび前記第２の属性フィールドについて第２の信頼性レベルを、前記コンピュータにより計算する工程；
前記第１の信頼性レベルが最小信頼性閾値以上であり前記第２の信頼性レベルが前記最小信頼性閾値未満であると決定すると、前記コンピュータにより、レポートにおいて前記第２の属性フィールドではなく前記第１の属性フィールドを前記第１のスキャンされたフィールドと関連付ける工程；および
前記レポートをユーザーデバイスに提供する工程
を含む、方法。
【請求項２】
前記スキャンされたデータソースがさらに、第２のスキャンされた値と関連付けられた第２のスキャンされたフィールドを含み、
前記複数の個人情報結果がさらに、
前記第１の属性値を前記第２のスキャンされた値と比較することによって決定された第２のセットの個人情報結果；および
前記第２の属性値を前記第２のスキャンされた値と比較することによって決定された第４のセットの個人情報結果；
を含み、
前記複数の個人情報レコードがさらに、
前記第３のセットの個人情報結果の一部またはすべてから作成された第３のセットの個人情報レコード；および
前記第４のセットの個人情報結果の一部またはすべてから作成された第４のセットの個人情報レコード；
を含み、
前記方法がさらに、
前記第２のスキャンされた値のカウント、前記第３のセットの個人情報結果のカウント、前記第３のセットの個人情報レコードのカウント、および、前記第３のセットの個人情報レコードのカウントと前記第４のセットの個人情報レコードのカウントの合計の複数に基づいて、前記第２のスキャンされたフィールドおよび前記第１の属性フィールドについて第３の信頼性レベルを、前記コンピュータにより計算する工程；
前記第２のスキャンされた値のカウント、前記第４のセットの個人情報結果のカウント、前記第４のセットの個人情報レコードのカウント、および、前記第３のセットの個人情報レコードのカウントと前記第４のセットの個人情報レコードのカウントの合計の複数に基づいて、前記第２のスキャンされたフィールドおよび前記第２の属性フィールドについて第４の信頼性レベルを、前記コンピュータにより計算する工程；および
前記第４の信頼性レベルが前記最小信頼性閾値以上であり前記第３の信頼性レベルが前記最小信頼性閾値未満であると決定すると、前記レポートにおいて前記第１の属性フィールドではなく前記第２の属性フィールドを前記第２のスキャンされたフィールドと関連付ける工程
を含む、
ことを特徴とする、請求項１に記載のコンピュータ実装の方法。
【請求項３】
前記第１の信頼性レベルを計算する工程がさらに、前記第１のセットの個人情報レコードのカウントと前記第３のセットの個人情報レコードのカウントの合計に基づき、
前記第２の信頼性レベルを計算する工程がさらに、前記第２のセットの個人情報レコードのカウントと前記第４のセットの個人情報レコードのカウントの合計に基づき、
前記第３の信頼性レベルを計算する工程がさらに、前記第１のセットの個人情報レコードのカウントと前記第３のセットの個人情報レコードのカウントの合計に基づき、
前記第４の信頼性レベルを計算する工程がさらに、前記第２のセットの個人情報レコードのカウントと前記第４のセットの個人情報レコードのカウントの合計に基づく
ことを特徴とする、請求項２に記載のコンピュータ実装の方法。
【請求項４】
前記第１の信頼性レベルを計算する工程がさらに、一意の第１の属性値と関連付けられた前記第１のセットの個人情報結果のカウントに基づき、
前記第２の信頼性レベルを計算する工程がさらに、一意の第２の属性値と関連付けられた前記第２のセットの個人情報結果のカウントに基づき、
前記第３の信頼性レベルを計算する工程がさらに、一意の第１の属性値と関連付けられた前記第３のセットの個人情報結果のカウントに基づき、
前記第４の信頼性レベルを計算する工程がさらに、一意の第２の属性値と関連付けられた前記第４のセットの個人情報結果のカウントに基づく
ことを特徴とする、請求項３に記載のコンピュータ実装の方法。
【請求項５】
前記第１の信頼性レベルを計算する工程がさらに、一意の第１の属性値と関連付けられた前記第１のセットの個人情報レコードのカウントに基づき、
前記第２の信頼性レベルを計算する工程がさらに、一意の第２の属性値と関連付けられた前記第２のセットの個人情報レコードのカウントに基づき、
前記第３の信頼性レベルを計算する工程がさらに、一意の第１の属性値と関連付けられた前記第３のセットの個人情報レコードのカウントに基づき、
前記第４の信頼性レベルを計算する工程がさらに、一意の第２の属性値と関連付けられた前記第４のセットの個人情報レコードのカウントに基づく
ことを特徴とする、請求項４に記載のコンピュータ実装の方法。
【請求項６】
前記第１の信頼性レベルを計算する工程がさらに、前記第１の属性フィールドに関連する確実な一致の第１のカウントに基づき、
前記第２の信頼性レベルを計算する工程がさらに、前記第２の属性フィールドに関連する確実な一致の第２のカウントに基づき、
前記第３の信頼性レベルを計算する工程がさらに、前記第１の属性フィールドに関連する確実な一致の第１のカウントに基づき、
前記第４の信頼性レベルを計算する工程がさらに、前記第２の属性フィールドに関連する確実な一致の第２のカウントに基づく
ことを特徴とする、請求項５に記載のコンピュータ実装の方法。
【請求項７】
前記第１の信頼性レベルを計算する工程がさらに、前記第１の属性フィールドに関連する完全な一致の第１のカウントに基づき、
前記第２の信頼性レベルを計算する工程がさらに、前記第２の属性フィールドに関連する完全な一致の第２のカウントに基づき、
前記第３の信頼性レベルを計算する工程がさらに、前記第１の属性フィールドに関連する完全な一致の第１のカウントに基づき、
前記第４の信頼性レベルを計算する工程がさらに、前記第２の属性フィールドに関連する完全な一致の第２のカウントに基づく
ことを特徴とする、請求項６に記載のコンピュータ実装の方法。
【請求項８】
前記第１の信頼性レベルを計算する工程がさらに、前記第１の属性フィールドに関連する確実かつ完全な一致の第１のカウントに基づき、
前記第２の信頼性レベルを計算する工程がさらに、前記第２の属性フィールドに関連する確実かつ完全な一致の第２のカウントに基づき、
前記第３の信頼性レベルを計算する工程がさらに、前記第１の属性フィールドに関連する確実かつ完全な一致の第１のカウントに基づき、
前記第４の信頼性レベルを計算する工程がさらに、前記第２の属性フィールドに関連する確実かつ完全な一致の第２のカウントに基づく
ことを特徴とする、請求項７に記載のコンピュータ実装の方法。
【請求項９】
前記第１の信頼性レベルを計算する工程がさらに、前記第１の属性フィールドと関連付けられた名前および前記第１のスキャンされたフィールドと関連付けられた名前について決定された第１の名前類似性の値に基づき、
前記第２の信頼性レベルを計算する工程がさらに、前記第２の属性フィールドと関連付けられた名前および前記第１のスキャンされたフィールドと関連付けられた名前について決定された第２の名前類似性の値に基づく
ことを特徴とする、請求項８に記載のコンピュータ実装の方法。
【請求項１０】
レーベンシュタイン距離を使用して、前記第１の名前類似性の値および前記第２の名前類似性の値を決定することを特徴とする、請求項９に記載のコンピュータ実装の方法。
【請求項１１】
前記レポートがさらに、前記スキャンされたデータソースと関連付けられたスキャンされたデータソース情報を含み、
該スキャンされたデータソース情報が、前記スキャンされたデータソース中の列の総数、前記複数の個人情報結果を決定するために使用された列のサブセット、該列のサブセットについて決定された個人情報結果の総数、および、該個人情報結果の総数について作成された個人情報レコードの総数を含む
ことを特徴とする、請求項１に記載のコンピュータ実装の方法。
【請求項１２】
前記第１の属性フィールドおよび前記第２の属性フィールドがそれぞれ、名前、社会保障番号、電話番号、住所、電子メールアドレス、運転免許証番号、パスポート番号、クレジットカード番号、ユーザーネーム、生年月日、個人の健康情報、教育情報およびそれらの組合せからなる群より選択される個人情報属性と関連付けられることを特徴とする、請求項１に記載のコンピュータ実装の方法。
【請求項１３】
ランダムフォレストまたはロジスティック回帰機械学習モデルを使用して、前記第１および第２の信頼性レベルを計算することを特徴とする、請求項１に記載のコンピュータ実装の方法。
【請求項１４】
１つまたは複数のコンピュータおよび該１つまたは複数のコンピュータによって実行されると前記１つまたは複数のコンピュータにオペレーションを実行させる命令を格納する１つまたは複数の記憶装置を含むシステムであって、
前記オペレーションが、
第１の属性値に関連付けられた第１の属性フィールドおよび第２の属性値に関連付けられた第２の属性フィールドを含むＩＤデータソースを受信する工程；
第１のスキャンされた値に関連付けられた第１のスキャンされたフィールドを含むスキャンされたデータソースを受信する工程；
前記第１の属性値を前記第１のスキャンされた値と比較することによって決定された第１のセットの個人情報結果および前記第２の属性値を前記第１のスキャンされた値と比較することによって決定された第２のセットの個人情報結果を含む、複数の個人情報結果を決定する工程；
前記第１のセットの個人情報結果の一部またはすべてから作成された第１のセットの個人情報レコードおよび前記第２のセットの個人情報結果の一部またはすべてから作成された第２のセットの個人情報レコードを含む、複数の個人情報結果の一部またはすべてから作成された複数の個人情報レコードを作成する工程；
前記第１のスキャンされた値のカウント、前記第１のセットの個人情報結果のカウント、前記第１のセットの個人情報レコードのカウント、および、前記第１のセットの個人情報レコードのカウントと前記第２のセットの個人情報レコードのカウントの合計の複数に基づいて、前記第１のスキャンされたフィールドおよび前記第１の属性フィールドについて第１の信頼性レベルを計算する工程；
前記第１のスキャンされた値のカウント、前記第２のセットの個人情報結果のカウント、前記第２のセットの個人情報レコードのカウント、および、前記第１のセットの個人情報レコードのカウントと前記第２のセットの個人情報レコードのカウントの合計の複数に基づいて、前記第１のスキャンされたフィールドおよび前記第２の属性フィールドについて第２の信頼性レベルを計算する工程；
前記第１の信頼性レベルが最小信頼性閾値以上であり前記第２の信頼性レベルが前記最小信頼性閾値未満であると決定すると、レポートにおいて前記第２の属性フィールドではなく前記第１の属性フィールドを前記第１のスキャンされたフィールドと関連付ける工程；および
前記レポートをユーザーデバイスに提供する工程
を含む、システム。
【請求項１５】
前記スキャンされたデータソースがさらに、第２のスキャンされた値と関連付けられた第２のスキャンされたフィールドを含み、
前記複数の個人情報結果がさらに、
前記第１の属性値を前記第２のスキャンされた値と比較することによって決定された第２のセットの個人情報結果；および
前記第２の属性値を前記第２のスキャンされた値と比較することによって決定された第４のセットの個人情報結果；
を含み、
前記複数の個人情報レコードがさらに、
前記第３のセットの個人情報結果の一部またはすべてから作成された第３のセットの個人情報レコード；および
前記第４のセットの個人情報結果の一部またはすべてから作成された第４のセットの個人情報レコード；
を含み、
前記オペレーションがさらに、
前記第２のスキャンされた値のカウント、前記第３のセットの個人情報結果のカウント、前記第３のセットの個人情報レコードのカウント、および、前記第３のセットの個人情報レコードのカウントと前記第４のセットの個人情報レコードのカウントの合計の複数に基づいて、前記第２のスキャンされたフィールドおよび前記第１の属性フィールドについて第３の信頼性レベルを計算する工程；
前記第２のスキャンされた値のカウント、前記第４のセットの個人情報結果のカウント、前記第４のセットの個人情報レコードのカウント、および、前記第３のセットの個人情報レコードのカウントと前記第４のセットの個人情報レコードのカウントの合計の複数に基づいて、前記第２のスキャンされたフィールドおよび前記第２の属性フィールドについて第４の信頼性レベルを計算する工程；および
前記第４の信頼性レベルが前記最小信頼性閾値以上であり前記第３の信頼性レベルが前記最小信頼性閾値未満であると決定すると、前記レポートにおいて前記第１の属性フィールドではなく前記第２の属性フィールドを前記第２のスキャンされたフィールドと関連付ける工程
を含む、
ことを特徴とする、請求項１４に記載のシステム。
【請求項１６】
前記第１の信頼性レベルを計算する工程がさらに、前記第１のセットの個人情報レコードのカウントと前記第３のセットの個人情報レコードのカウントの合計に基づき、
前記第２の信頼性レベルを計算する工程がさらに、前記第２のセットの個人情報レコードのカウントと前記第４のセットの個人情報レコードのカウントの合計に基づき、
前記第３の信頼性レベルを計算する工程がさらに、前記第１のセットの個人情報レコードのカウントと前記第３のセットの個人情報レコードのカウントの合計に基づき、
前記第４の信頼性レベルを計算する工程がさらに、前記第２のセットの個人情報レコードのカウントと前記第４のセットの個人情報レコードのカウントの合計に基づく
ことを特徴とする、請求項１５に記載のシステム。
【請求項１７】
前記第１の信頼性レベルを計算する工程がさらに、一意の第１の属性値と関連付けられた前記第１のセットの個人情報結果のカウントに基づき、
前記第２の信頼性レベルを計算する工程がさらに、一意の第２の属性値と関連付けられた前記第２のセットの個人情報結果のカウントに基づき、
前記第３の信頼性レベルを計算する工程がさらに、一意の第１の属性値と関連付けられた前記第３のセットの個人情報結果のカウントに基づき、
前記第４の信頼性レベルを計算する工程がさらに、一意の第２の属性値と関連付けられた前記第４のセットの個人情報結果のカウントに基づく
ことを特徴とする、請求項１６に記載のシステム。
【請求項１８】
前記第１の信頼性レベルを計算する工程がさらに、一意の第１の属性値と関連付けられた前記第１のセットの個人情報レコードのカウントに基づき、
前記第２の信頼性レベルを計算する工程がさらに、一意の第２の属性値と関連付けられた前記第２のセットの個人情報レコードのカウントに基づき、
前記第３の信頼性レベルを計算する工程がさらに、一意の第１の属性値と関連付けられた前記第３のセットの個人情報レコードのカウントに基づき、
前記第４の信頼性レベルを計算する工程がさらに、一意の第２の属性値と関連付けられた前記第４のセットの個人情報レコードのカウントに基づく
ことを特徴とする、請求項１７に記載のシステム。
【請求項１９】
前記第１の信頼性レベルを計算する工程がさらに、前記第１の属性フィールドに関連する確実な一致の第１のカウント、前記第１の属性フィールドに関連する完全な一致の第１のカウント、および前記第１の属性フィールドに関連する確実かつ完全な一致の第１のカウントに基づき、
前記第２の信頼性レベルを計算する工程がさらに、前記第２の属性フィールドに関連する確実な一致の第２のカウント、前記第２の属性フィールドに関連する完全な一致の第２のカウント、および前記第２の属性フィールドに関連する確実かつ完全な一致の第２のカウントに基づき、
前記第３の信頼性レベルを計算する工程がさらに、前記確実な一致の第１のカウント、前記完全な一致の第１のカウント、および前記確実かつ完全な一致の第１のカウントに基づき、
前記第４の信頼性レベルを計算する工程がさらに、前記確実な一致の第２のカウント、前記完全な一致の第２のカウント、および前記確実かつ完全な一致の第２のカウントに基づく
ことを特徴とする、請求項１８に記載のシステム。
【請求項２０】
前記第１の信頼性レベルを計算する工程がさらに、前記第１の属性フィールドと関連付けられた名前および前記第１のスキャンされたフィールドと関連付けられた名前について決定された第１の名前類似性の値に基づき、
前記第２の信頼性レベルを計算する工程がさらに、前記第２の属性フィールドと関連付けられた名前および前記第１のスキャンされたフィールドと関連付けられた名前について決定された第２の名前類似性の値に基づき、
前記第３の信頼性レベルを計算する工程がさらに、前記第１の属性フィールドと関連付けられた名前および前記第２のスキャンされたフィールドと関連付けられた名前について決定された第３の名前類似性の値に基づき、
前記第４の信頼性レベルを計算する工程がさらに、前記第２の属性フィールドと関連付けられた名前および前記第２のスキャンされたフィールドと関連付けられた名前について決定された第４の名前類似性の値に基づく
ことを特徴とする、請求項１９に記載のシステム。
【発明の詳細な説明】
【関連出願の相互参照】
【０００１】
本出願は、ここに参照することによってその全体において本願に援用される、２０１８年８月１３日出願の「Ｍａｃｈｉｎｅ Ｌｅａｒｎｉｎｇ Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄｓ  ｆｏｒ  Ｄｅｔｅｒｍｉｎｉｎｇ  Ｃｏｎｆｉｄｅｎｃｅ  Ｌｅｖｅｌｓ  ｏｆ  Ｐｅｒｓｏｎａｌ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｆｉｎｇｉｎｄｓ」と題された米国仮特許出願第６２／７１８，３４９号の優先権を主張する。
【背景技術】
【０００２】
本出願は、概して、データの分析（discovery）および保護に関する。より詳細には、本出願は、任意の数のデータソースに格納されている個人情報を分析および分類するためのシステムおよび方法に関する。
【０００３】
デジタル経済では、顧客の信用と信頼を維持するには、個人の識別情報を紛失、盗難および誤用から保護する必要がある。情報技術およびインターネットによって、インターネットセキュリティ、ネットワークセキュリティおよびウェブブラウザセキュリティの侵害を通じてそのような個人情報を盗むことが容易になり、個人情報の収集と再販において収益性の高い市場が生じた。このような個人情報はまた、個人の身元を追跡または盗難する、または犯罪行為の計画を補助するために犯罪者によって悪用されうる。
【０００４】
データ保護に関して、今日ほとんどの組織が直面している主な課題は、個人の識別情報が組織のデータセンター全体のどこに位置するかを理解することである。この問題に対処しようとするレガシーデータ保護およびデータ損失防止（「ＤＬＰ」）ソリューションは多数あるが、このようなアプリケーションは通常、正規表現に基づく分類アルゴリズムを採用する。残念ながら、このようなソリューションは、特定の組織の顧客に固有の個人情報を検索するように最適化されておらず、データ主体の身元を特定できず、文脈上の個人情報を見つけることができない。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
組織のさまざまなデータシステム全体に保存されている機密データを識別および分類できるデータ保護および顧客プライバシー管理システムが依然として必要とされる。そのようなシステムが、データリスクおよび顧客プライバシーの管理を容易にするために、属性によってインデックスされた個人情報の組織化インベントリ（inventory）を提供できれば有益である。
【課題を解決するための手段】
【０００６】
前述の目的および他の目的に従って、例示的なプライバシー管理プラットフォームが本細書に記載されている。そのようなプラットフォームは、システム、コンピュータで実装された方法、装置、および／またはソフトウェアアプリケーションで具体化することができる。説明されているプラットフォームは、プライバシー情報を監視および分析するためのプライバシーおよびデータ保護クライアントアプリケーションを提供しうる。例えば、プラットフォームは、組織のさまざまなシステムやアプリケーションをスキャンして、そのようなデータソースに保存されうる任意の個人情報、そのような情報の保存に関連する任意の関連リスク、および／またはそのような情報に関する任意の使用活動をユーザーに可視化するように構成できる。
【０００７】
プライバシー管理プラットフォームの実施形態は、格納されたおよび／または学習されたルールに基づいて、任意の数のローカルおよび／またはクラウドベースのシステムに亘って個人情報を検索することができる。潜在的な個人情報が見つかると、プラットフォームは、偽陽性の個人情報の結果を除外し、相関プロセス中に個人情報レコードを作成することで真陽性の結果を特定のデータ主体に相関させることができる。したがって、プラットフォームは、組織によって使用されうるそのような個人情報のインベントリを提供し、プライバシー影響評価を実施しうる。
【０００８】
特定の実施形態では、プラットフォームは、機械学習分類器と組み合わせてサンプルスキャン技術を使用し、検索時間およびシステム上の負担を大幅に削減しながら、スキャンされたデータソース内に特定のタイプまたは属性の個人情報が格納されている場所の統計的に有効なサーベイ（survey）を提供しうる。１つのそのような実施形態において、システムは、機械学習モデルを使用して、個人情報属性値を含むことが知られている１つまたは複数のＩＤデータソースのフィールド（すなわち、列）をスキャンされたデータソースのフィールドと比較することができる。より具体的には、機械学習モデルは、スキャンされたデータソース内の各スキャンされたフィールドに対する１つまたは複数のＩＤデータソース内の各属性フィールドのフィールド間の比較に関連する様々な特徴を分析して、ＩＤデータソース内の所定の属性フィールドが、スキャンされたデータソース内の所定のスキャンされたフィールドと同じタイプの個人情報を含むか否かを特定しうる。
【０００９】
一実施形態では、機械学習モデルは、各属性フィールドとスキャンされたフィールドとの比較について信頼性レベルを特定し、信頼性レベルに基づいて、属性フィールドの属性に関連付けられているものとしてスキャンされたフィールドを分類することができる。本明細書で論じられるように、信頼性レベルは、以下の１つまたは複数と関連付けられた値、メタデータおよび／または要約統計量に関するさまざまの特徴に基づいて特定される：所定のスキャンされたフィールド、スキャンされたフィールドに関連する個人情報の調査結果、およびＩＤデータソースの少なくとも１つの属性フィールド。一般に、プライバシー管理プラットフォームは、そのような属性フィールドおよびスキャンされたフィールドについて機械学習モデルによって特定された信頼性レベルが最小信頼性閾値以上である場合に、ＩＤデータソースの特定の属性フィールドに対応する個人情報属性を、特定のスキャンされたフィールドから作成された個人情報レコードに関連付けるように適合させることができる。
【００１０】
例示的なプライバシープラットフォームは、ユーザーが発見された個人情報を調査および分析して、プライバシーリスクおよび／または様々な規制に対する使用コンプライアンスおよび／または顧客の同意を決定することを可能にするクライアントアプリケーションを提供する。このようなアプリケーションは、データの機密性、常駐性、セキュリティおよび／またはアクセスなどであるがこれらに限定されない要因に基づいて、組織がデータのリスクを理解および比較するのに役立ちうる。例えば、プラットフォームには次のものが含まれうる：静的および／または動的なリスク測定を提供するデータリスクスコアリング機能；米国国立標準技術研究所（「ＮＩＳＴ」）などのグループのモジュラーリスクモデル；エンタープライズカスタマイズ性；および／または緩和および割当てワークフローについての運用上の推奨事項。
【００１１】
特定の実施形態では、プラットフォームは、自然言語クエリ機能を含んでもよく、追加的または代替的にレポート（例えば、監査人および法定代理人と共有できるレポート）を提供してもよい。したがって、プラットフォームは、例えば個人情報属性の特定の値を含むクエリを受信する；スキャンされたデータソースおよびそのようなスキャンされたデータソース内で属性に関連付けられた個人情報が配置されているフィールドを決定する（例えば、スキャンされたデータソースに関連付けられた、以前に作成、スキャン、および分類された個人情報レコードに基づいて）；および、スキャンされたデータソースのフィールドを検索して、要求された個人情報をすばやく見つける、ように適合させることができる。
【００１２】
一実施形態では、１つまたは複数のデータソースに格納されている個人情報を見つけて分類するコンピュータ実装の方法が提供される。本発明の方法は、コンピュータによって、第１の属性値に関連付けられた第１の属性フィールドおよび第２の属性値に関連付けられた第２の属性フィールドを含む識別データソースを受信する工程、および、コンピュータによって、第１のスキャン値に関連付けられた第１のスキャンされたフィールドを含むスキャンされたデータソースを受信する工程を含みうる。本発明の方法はまた、コンピュータによって、第１の属性値を第１のスキャン値と比較することによって決定される第１のセットの個人情報結果、および、第２の属性値を第１のスキャン値と比較することによって決定される第２のセットの個人情報結果を含む、複数の個人情報結果を決定する工程を含みうる。特定の実施形態では、複数の個人情報レコードは、複数の個人情報結果の一部またはすべてから作成することができ、複数の個人情報レコードは、第１のセットの個人情報結果の一部またはすべてから作成された第１のセットの個人情報レコード、および、第２のセットの個人情報結果の一部またはすべてから作成された第２のセットの個人情報レコードを含む。本発明の方法は、以下の工程をさらに含んでもよい：コンピュータによって、第１のスキャンされたフィールドおよび第１の属性フィールドについて第１の信頼性レベルを計算する工程であって、以下の複数に基づいて計算する工程：第１のスキャン値のカウント、第１のセットの個人情報発見のカウント、第１のセットの個人情報レコードのカウント、および、第１のセットの個人情報レコードのカウントと第２のセットの個人情報レコードのカウントとの合計；コンピュータによって、第１のスキャンされたフィールドおよび第２の属性フィールドについて第２の信頼性レベルを計算する工程であって、以下の複数に基づいて計算する工程：第１のスキャン値のカウント、第２のセットの個人情報結果のカウント、第２のセットの個人情報レコードのカウント、および、第１のセットの個人情報レコードのカウントと第２のセットの個人情報レコードのカウントとの合計；第１の信頼性レベルが最小信頼性閾値以上であり、かつ、第２の信頼性レベルが最小信頼性閾値未満であることを決定すると、コンピュータによって、第２の属性フィールドではなく第１の属性フィールドを、レポートにおける第１のスキャンされたフィールドと関連付ける工程；および、レポートをユーザーデバイスに提供する工程。
【００１３】
特定の場合、スキャンされたデータソースは、第２のスキャン値に関連付けられた第２のスキャンされたフィールドをさらに含む。追加的または代替的に、複数の個人情報結果はさらに、第１の属性値を第２のスキャン値と比較することによって決定された第３のセットの個人情報結果；および第２の属性値を第２のスキャン値と比較することによって決定された第４のセットの個人情報結果を含み得る。場合によっては、複数の個人情報レコードはさらに、第３のセットの個人情報結果の一部またはすべてから作成された第３のセットの個人情報レコード、および第４のセットの個人情報レコードの一部またはすべてから作成された第４のセットの個人情報レコードを含む。個人情報の調査結果。そのような場合、本発明の方法はまた、以下の工程を含みうる：コンピュータによって、第２のスキャンされたフィールドおよび第１の属性フィールドについて第３の信頼性レベルを計算する工程であって、以下の複数に基づいて計算する工程：第２のスキャン値のカウント、第３のセットの個人情報発見のカウント、第３のセットの個人情報レコードのカウント、および、第３のセットの個人情報レコードのカウントと第４のセットの個人情報レコードのカウントとの合計；コンピュータによって、第２のスキャンされたフィールドおよび第２の属性フィールドについて第４の信頼性レベルを計算する工程であって、以下の複数に基づいて計算する工程：第２のスキャン値のカウント、第４のセットの個人情報結果のカウント、第４のセットの個人情報レコードのカウント、および、第３のセットの個人情報レコードのカウントと第４のセットの個人情報レコードのカウントとの合計；および、第４の信頼性レベルが最小信頼性閾値以上であり、かつ、第３の信頼性レベルが最小信頼性閾値未満であることを決定すると、第１の属性フィールドではなく第２の属性フィールドを、レポートにおける第２のスキャンされたフィールドと関連付ける工程。
【００１４】
本明細書の主題の１つまたは複数の実施形態の詳細は、添付の図面および以下の説明に記載されている。主題の他の特徴、態様、および利点は、説明、図面、および特許請求の範囲から明らかになるであろう。
【図面の簡単な説明】
【００１５】
【図１】識別グラフについて初期データ主体プロファイルを作成する例示的な方法を示す図
【図２】データ主体プロファイルを拡張するために個人情報について一次および二次データソースを検索する例示的な方法を示す図
【図３】個人情報結果をデータ主体プロファイルに相関させる例示的な方法を示す図
【図４】機械学習モデルを使用して、個人情報属性に従ってスキャンされたデータソース中でフィールドを分類する例示的なサンプルスキャン方法を示す図
【図５Ａ】例示的なＩＤデータソース５０２を示す図
【図５Ｂ】例示的なスキャンされたデータソース５０３を示す図
【図６】スキャンされたデータソース中でフィールドを分類するために使用される機械学習モデルの例示的なアウトプットを示す図
【図７】例示的なスキャン結果ヒートマップスクリーンを示す図
【図８】スキャンされたデータソース中でフィールドを分類するために機械学習モデルをトレーニングする例示的な方法を示す図
【図９】メタデータに従ってラベル化および整理された例示的なトレーニングデータを示す図
【図１０】ランダムフォレストおよびロジスティック回帰機械学習モデルのパフォーマンスメトリックスを示すグラフを示す図
【図１１】ある実施形態に従った、例示的な信頼性閾値調整スクリーンを示す図
【図１２】ある実施形態に従った、例示的な個人情報スキャン結果のレビューおよび修正スクリーンを示す図
【図１３】例示的なシステムを示す図
【図１４】例示的なデータフローダイアグラムを示す図
【発明を実施するための形態】
【００１６】
組織が顧客データを発見、分析、監視、および／または保護し、顧客のプライバシー管理を可能にするために、様々なシステム、コンピュータ実装方法、装置、およびソフトウェアアプリケーションが開示されている。説明される実施形態は、そのようなデータソースに保存された任意の機密の顧客データ、そのようなデータの保存に関連するリスク、および／またはそのような情報に関連する任意の使用アクティビティへの可視性を提供するために、組織の様々なシステムおよびアプリケーションをスキャンするように適合され得る。
【００１７】
説明される実施形態は、以下を含むがそれに限定されない、従来のデータセキュリティシステムによって対処されない多くの問題を解決し得る：どのデータが「個人情報」を構成するかを組織が決定するのを支援する；組織のシステム全体の中での個人情報の場所に関連する情報を含む組織化されたインベントリを提供する（例えば、属性および／またはデータ主体によるインデックス付け）；組織がデータ主体の居住地を決定し、それによって準拠する必要のある規制を理解することを可能とする；違反またはプライバシー違反が発生した場合に影響を受ける顧客を組織が判断することを可能とする；および／または組織が個人情報の削除に関する顧客の要求に応じることを可能とする機能を提供する。
【００１８】
例示的な実施形態は、以下を行うように構成されてもよい：どのデータが個人情報を構成するかを決定する；個人情報を監視する必要がある１つまたは複数のデータ主体を決定する；任意の数のデータソース（例えば、オンプレミスおよび／またはリモートシステムおよびアプリケーション）全体に保存されている個人情報を発見する；発見された個人情報を分析および処理して、属性によりインデックス付けされた個人情報インベントリを作成する；および／またはプライバシーおよびデータセキュリティのリスクの監視および視覚化を提供する。
【００１９】
本明細書で使用される場合、「個人情報」という用語は、単独で、または他の情報と共に使用して、単一の個人を識別、接触、または特定するため、および／または文脈において個人を識別するために使用できる、任意の情報またはデータを称しうる。このような情報には、個人の身元を区別または追跡するために使用できる情報が含まれてもよい。個人情報の種類または「属性」の具体的で非限定的な例には、以下が含まれるがこれに限定されない：名前、自宅の住所、職場の住所、電子メールアドレス、国民識別番号、社会保障番号、パスポート番号、運転免許証番号、年齢、性別、人種、通学した学校名、職場名、学年、給与、職位、犯罪歴、ウェブクッキー、車両登録プレート番号、顔の画像または特徴、指紋、手書き、ＩＰアドレス、クレジットカード番号、デジタルＩＤ、ログインネーム、スクリーン名、ニックネーム、ユーザーハンドル、電話番号、生年月日、出身地、および／またはその他の遺伝情報。
【００２０】
モデムの再識別アルゴリズムの多様性およびパワーのために、定義された個人情報がないことは、残りのデータが個人を識別しないことを意味しない。一部の属性はそれ自体で一意に識別できるが、任意の属性を他の属性と組み合わせて識別できる。したがって、個人情報には、医療情報、個人健康情報（「ＰＨＩ」）、教育情報、財務情報、ペイメントカードインダストリ（「ＰＣＩ」）データ、雇用情報および／または他のいわゆる「準識別子」または「疑似識別子」など、個人にリンクまたはリンク可能な任意の他の情報が含まれうる。個人情報には、ヨーロッパでは「個人データ」、あるいは、米国では「個人を特定できる情報」、「ＰＩＩ」または「機密性の高い個人情報」（およびそれらの他のバリエーション）として定義される情報が含まれうる。
【００２１】
図１を参照すると、ＩＤグラフいついての初期データ主体プロファイルを作成する例示的な方法が示されている。オプションの第１のステップ１０１で、１つまたは複数のデータ主体の初期個人情報をシステムが受信して、１つまたは複数のデータ主体プロファイルを作成することができる。このような個人情報（および生じるプロファイル）は、ユーザー、顧客、従業員、または組織によって個人情報が保存されている任意の他の個人（ここではまとめて「データ主体」と称する）に対応しうる。さらに、初期個人情報は、特定の環境で個人情報がどのように見えるかをシステムが学習するための学習セットとして使用することができる。初期個人情報は、ユーザーによって（例えば、クライアントアプリケーションを介して）システムに手動で入力され得る、および／またはシステムにアップロードされるファイルに含まれてもよい。
【００２２】
一実施形態では、システムは、１つまたは複数の個人情報ルール１０２を受信および／または決定することができる。このようなルールは、システムがさまざまなデータソースに保存されている個人情報を見つけるために必要なロジックを提供する。個人情報ルールには、一意の識別子、表示名、特定の個人情報属性（例えば、社会保障番号や電話番号）に関連付けられる居住国の属性、および／またはそのような属性の組合せにマッピングする定義ルールが含まれうる。個人情報ルールはさらに、任意の発見された個人情報属性の近くの場所内での検索を規定する１つまたは複数の近接ルールを含み得る。例えば、郵便番号などの個人情報属性が社会保障番号の近くに表示される場合（例えば、同じデータベース行内または特定の文字数内）、システムはこの近接検索結果を、指定された社会保障番号に関連付けられたデータ主体に相関させることができる。
【００２３】
特定の実施形態では、システムは、多くの個人情報ルールで事前構成され得る。例えば、システムは、例えば、どちらもここに参照することによりその全体が本明細書に組み込まれるＮＩＳＴ  Ｓｐｅｃｉａｌ  Ｐｕｂｌｉｃａｔｉｏｎ  ８００−１２２（ＵＳ）および／またはＧｅｎｅｒａｌ  Ｄａｔａ  Ｐｒｏｔｅｃｔｉｏｎ  Ｒｅｇｕｌａｔｉｏｎ（ＥＵ）によって与えられる定義のような、１つまたは複数の組織によって指定された個人情報の定義に対応する個人情報属性ルールを使用して実施できる。追加的または代替的に、システムは、ユーザーが個人情報ルールを手動で作成および／または更新することを可能にするように適合され得る。
【００２４】
以下で詳細に説明するように、システムは、既存の個人情報ルールを自動的に更新するおよび／または新しいルールを決定するように構成され得る。例示的なシステムは、そのようなルールを反復的および／または継続的に作成および更新するために、機械学習または同様の技術を実装することができる。
【００２５】
ステップ１０３において、システムは、データ主体の個人情報を保持することが知られているＩＤデータソースに向けられ得る。例示的なＩＤデータソースは、構造化データベース、ユーザーディレクトリ（例えば、ライトウェイトディレクトリアクセスプロトコル（「ＬＤＡＰ」）ディレクトリ）、顧客関係管理（「ＣＲＭ」）システム、人的資源システム、ｅコマースシステム、および／またはその他を含みうるがこれらに限定されない。
【００２６】
システムは、データソースの名前、場所、タイプ、および／またはアクセス情報など、１つまたは複数のＩＤデータソースに関連付けられたデータソース情報を決定および／または受信することができる。他の実施形態では、システムは、ユーザーからデータソース情報を受信することができる。例えば、ユーザーは、ＩＤデータソース情報をクライアントアプリケーションに手動で入力してもよい、および／またはそのような情報を含むファイルをアップロードしてもよい。別の実施形態では、システムは、任意の対応するデータソース情報と共に、１つまたは複数のＩＤデータソースを自動的に発見するように構成され得る。システムは、ＮＭＡＰ、ＣＡＣＴＩ、ＮＡＧＩＯＳ、ＩＣＩＮＧＡ、およびその他のようなオープンソースツールを使用して、データソースの検出や監視を実行できる。
【００２７】
ステップ１０４で、システムは、１つまたは複数のＩＤデータソースに接続し、格納された個人情報ルールに基づいて、そこに含まれる個人情報の検索を実行することができる。潜在的な個人情報がＩＤデータソースで発見されると、システムは、各発見の値および／またはそれに関連する関連属性のようなメタデータを含むそのような情報、例えば、個人情報が見つかったデータソース、データソース内で個人情報が位置する場所（例えば、コレクション、テーブル、フィールド、列など）、および／または個人情報が見つかった日付の、個人情報発見リストを作成することができる。
【００２８】
システムが、ＩＤデータソースを検索し、個人情報調査結果ファイルを作成すると、システムは、各結果をデータ主体１０５に相関させようと試みることができる。相関プロセスは、例えば、ＯＰＥＮＤＬＰ、ＷＥＫＡ、ＯＲＧＡＮＥ、ＲＡＰＩＤＭＩＮＥＲなどのオープンソースツールを利用してもよい。例示的な相関プロセスは、図３を参照して以下で詳細に説明される。
【００２９】
ステップ１０６で、システムは、個人情報がＩＤデータソース内に含まれると決定された任意の数のデータ主体いついて初期ＩＤグラフデータ主体プロファイルを作成する。概して、システムはデータ主体ごとに一意のプロファイルを作成できる。またシステムは、個人情報レコードの作成を介して、任意の相関する個人情報（および任意の対応するメタデータ）を関連するデータ主体プロファイルに関連付けることができる。総称して、データ主体プロファイルは、本明細書では「ＩＤグラフ」と呼ばれてもよく、そのようなＩＤグラフは、システムによって格納され動的に更新され得る。
【００３０】
一実施形態では、ＩＤグラフにおけるデータ主体に関連付けられた個人情報レコードは、プライバシー上の理由により個人情報自体ではなく、個人情報属性（例えば、検索に使用される安全なハッシュ）へのポインタを格納することができる。したがって、システムは、個人情報が見つかった元の場所から個人情報を抽出しない場合がある。
【００３１】
ＩＤグラフによって、企業は、保存されている個人情報が属する一意のデータ主体を識別できる。これは、以下を含む多くの理由で重要である：ユーザー情報へのアクセス権を決定する；データ主体の居住性に基づいてユーザーおよびデータの居住性を理解する；違反の場合に影響を受けるデータ主体を特定することにより違反を抑制する；および／または個人情報をデータ主体と関連付けて検証することにより偽陽性を減らす。
【００３２】
ステップ１０７で、システムは、データ主体プロファイルに追加された各個人情報属性について属性識別可能性スコアを計算することができる。このスコアは、単一の個人情報属性および／または属性の組合せの一意性を反映し、特定のデータ主体を識別するためにこれらの属性および組合せをどの程度強力に使用できるかを判断する。システムは、属性の識別可能性スコアを格納してもよく、それを対応する個人情報レコードに関連付けてもよい。
【００３３】
図２を参照すると、ＩＤグラフのデータ主体プロファイルを作成および更新する例示的な方法が示されている。システムが初期データ主体プロファイルで構成されると（例えば、図１に関して上記で説明したように）、システムは、データベース、ファイル共有およびデータ保護ソリューションなどの様々な一次および／または二次データソースの個人情報検索を実行することによってそのようなプロファイルを更新することができる。したがって、ＩＤグラフは、様々なシステムおよびアプリケーションに亘って組織によって格納されたすべての個人情報の個人情報レコードを含むインベントリを含むように構築されてもよく、各レコードは、以下のような情報を含み得るが、これらに限定されない：１つまたは複数の格納された属性、各属性の場所、アプリケーションインベントリ、ユーザーストアインベントリ、および／またはすべての個人情報属性およびアプリケーションメタデータ（タグ）。
【００３４】
第１のステップ２０１で、システムは、１つまたは複数の一次および／または二次データソースに対応するデータソース情報を受信および／または決定し、これらのデータソース内の個人情報の場所を検索、収集、および／または決定しうる。例示的な一次データソースには、例えば、構造化データベース（例えば、ＳＱＬ）、非構造化ファイル共有、半構造化ビッグデータおよびＮｏＳＱＬリポジトリ（例えば、Ａｐａｃｈｅ  Ｈａｄｏｏｐ、ＲＤＢおよびＭｏｎｇｏＤＢ）、ＬＤＡＰリポジトリ、ＣＲＭシステム（例えば、ＳＡＬＥＳＦＯＲＣＥ）、コラボレーションツール、クラウドストレージシステム、テキストファイル、および／またはその他の内部または外部アプリケーションが含まれうる。また、例示的な二次データソースには、例えば、ＤＬＰ、データ保護および／またはデータガバナンスソリューション（例えば、ＳＹＭＡＮＴＥＣ、ＭＣＡＦＥＥ、ＶＡＲＯＮＩＳ、ＩＭＰＥＲＶＡ、およびＩＢＭ  ＧＵＡＲＤＩＵＭ）、および／または、例えばセキュリティ情報およびイベント管理（「ＳＩＥＭ」）ソリューション（例えば、ＳＰＬＵＮＫ、ＨＰＡＲＣＳＩＧＨＴ、ＩＢＭ  ＱＲＡＤＡＲなど）であるがこれらに限定されないもののログソースが含まれうる。
【００３５】
システムは、そのようなデータソースに対応する任意のデータソース情報とともに、一次および／または二次データソースを自動的に発見するように構成され得る。追加的または代替的に、システムは、手動入力またはファイルアップロードを介してユーザーからデータソース情報を受信することができる。
【００３６】
ステップ２０２で、システムは、発見された一次または二次データソースが個人情報について検索されていないかどうか、および／またはそのようなデータソースが最後の個人情報検索以降に更新されているかどうかを決定する。そのようなデータソースが存在しない場合、プロセスは２１０で終了することができる。それ以外の場合、プロセスは続行され、システムは２０３で個人情報について一次または二次データソースを検索する。
【００３７】
概して、システムは、以前にデータ主体プロファイルに関連付けられた（すなわち、ユーザーによってシステムに追加された、および／またはＩＤデータソースで発見された）個人情報属性について一次および二次データソースを検索することができる。システムはまた、個人情報ルールに基づいて、追加の個人情報について一次および二次データソースを検索することができる。
【００３８】
ステップ２０４で、検索２０３中に個人情報が見つからない場合、プロセスは、ステップ２０２に戻って、追加の一次または二次データソースが検索に利用可能であるかどうかを決定することができる。
【００３９】
あるいは、そうでなければ、個人情報属性が発見された場合、そのような属性（すなわち、「元の属性」）の近接性を２０５で検索して、元の属性の近くに位置する追加の個人情報属性（すなわち、「近接属性」）を識別することができる。そのような近接検索は、格納された個人情報近接ルールおよび／または個人情報ルールのうちの１つまたは複数に基づくことができる。また、近接検索を使用して、システムに現在存在するかどうかにかかわらず（すなわち、元のＩＤソースの一部である必要はない）、任意の数のデータ主体について近接属性を見つけることができる。
【００４０】
上で説明したように、潜在的な個人情報がデータソースで検出されると、システムはその結果を関連するメタデータとともに個人情報の結果ファイルに追加しうる。したがって、個人情報調査結果ファイルは、任意の数の個人情報調査結果およびそのような調査結果に関連するメタデータを含み得る。
【００４１】
ステップ２０６で、システムは、調査結果ファイル内の各個人情報調査結果をデータ主体に相関させようと試みる。図３に関して以下で詳細に論じられるように、システムは、データ主体に首尾よく関連付けられた個人情報発見ごとに個人情報レコードを作成することができる。システムは、個人情報レコードを作成する前に、特定の調査結果を追加的または代替的に除外する場合がある（例えば、誤検知、複数のデータ主体に相関する調査結果、属性識別可能性スコアが低い調査結果など）。
【００４２】
一実施形態では、システムは、相関の結果（例えば、個人情報レコード）を使用して、２０７でＩＤグラフ内のデータ主体プロファイルに格納された情報を作成、更新、削除、および／または置換することができる。例えば、個人情報レコードが既存のデータ主体に対応する場合、その記録はそのデータ主体のプロファイルに追加される場合がある。別の例として、個人情報レコードが新しいデータ主体（すなわち、ＩＤデータソースに含まれていなかったデータ主体）に関連付けられている場合、データ主体に対して新しいプロファイルが作成され、個人情報レコードは新しいプロファイルに追加されうる。
【００４３】
ステップ２０８で、システムは、作成された個人情報レコードに関連付けられた１つまたは複数の個人情報属性の属性識別可能性スコアを決定することができる。上記のように、システムは、属性の識別可能性スコアを格納し、それを対応する個人情報レコードに関連付けることができる。
【００４４】
ステップ２０９で、システムは、個人情報ルールおよび／または近接ルールを含む個人情報ルールを更新することができる。属性または属性の組合せの識別可能性スコアを決定した後、高度に識別可能な属性または属性の組み合わせを再度繰り返し使用して、新しい検索を再帰的に開始できる。これにより、システムは、同じＩＤに関連付けられている追加のデータセット（すなわち、ＩＤグラフ内のノード）を検出できる。
【００４５】
別の例として、上記のステップで発見された新しいデータ主体に関連する個人情報を検索するようにルールを更新することができる。さらに別の例として、近接検索２０５が近接属性の発見をもたらす場合、近接属性の位置情報を使用して、１つまたは複数の個人情報近接ルールを更新して、後続の検索がこの追加情報を利用できるようにすることができる。概して、位置情報は、近接属性の絶対位置および／または元の属性に対する近接属性の相対位置を含むことができるが、これらに限定されない。追加的または代替的に、近接属性のタイプに関連する情報を使用して、１つまたは複数の属性定義ルールを更新し、その後の検索でこのタイプの個人情報を検索できるようにすることができる。
【００４６】
一実施形態では、システムは、機械学習技術を使用して、個人情報ルールを繰り返し更新することができる。以下の機械学習アルゴリズムの１つまたは複数を使用してもよい：クラスタリング、ロジスティック回帰、決定木学習、ベイジアンネットワーク、ランダムフォレスト、サポートベクターマシン（「ＳＶＭ」）、人工ニューラルネットワークおよび任意の他の機械学習アルゴリズム。
【００４７】
さまざまな機械学習アルゴリズムが、構造化または非構造化、テキスト、ドキュメント、地理的位置、画像など、さまざまなタイプのデータに対して異なる結果を提供することが理解されるであろう。さらに、保存されるデータの種類や量は、組織によって大きく異なる場合がある。したがって、分散（variance）を決定するために、単一の組織内および／または複数の組織に亘るさまざまなデータソースで異なる機械学習アルゴリズムによって得られた結果を継続的に比較することが好ましいかもしれない。そのために、システムは、トレーニングデータをテストし、複数のアルゴリズムを検証して、特定のデータセットおよび／または組織に最も効果的なものを選択することができる。
【００４８】
上記のアルゴリズムの１つまたは複数は、組織固有のトレーニングデータを使用する各組織によって個別にトレーニングされて、個人情報属性ルールを含む１つまたは複数の組織固有の個人情報分類関数を構築することができる。次いで、その組織の要件または好みに基づいて、効果的な個人情報分類機能を特定の組織に使用することができる。
【００４９】
機械学習を使用して、近接検索中に見つかった近接属性を分類することもできる。そのような分類は、近接属性が、元の属性が相関しているデータ主体に一意に相関しているかどうかに基づいてもよい（すなわち、近接属性の識別可能性スコアに基づく）。
【００５０】
一実施形態では、システムは、半教師あり能動学習プロセスを採用することができる。例えば、システムは、個人情報を識別するための機械学習アルゴリズムを訓練するため（例えば、個人情報ルールを作成および／または更新するため）のトレーニングデータとして以下の情報を使用することができる：元の属性の近接内に位置する第１の近接属性（例えば、データベース内の列またはテキストファイル内の段落のコレクション）；元の属性；および／または元の属性が関連付けられているデータ主体に関連する任意の他の情報。次いで、トレーニングされたアルゴリズムを使用して、元の属性の近接内にある追加の各近接属性を、元の属性が関連付けられているデータ主体に相関させる必要があるかどうかを判断することができる。
【００５１】
いずれにせよ、ステップ２０９で個人情報ルールが更新されると、システムはステップ２０２に戻って、接続された一次または二次データソースが個人情報を検索されていないか、および／または前回の個人情報検索以降にそのようなデータソースが更新されているかどうかを決定することができる。そのようなデータソースが存在しない場合、２１０でプロセスは終了する。それ以外の場合、プロセスは継続し、２０３で次の一次または二次データソースで個人情報を検索する。
【００５２】
図３を参照すると、データソースで見出された潜在的な個人情報（すなわち、個人情報結果）をデータ主体プロファイルに相関させる例示的な方法が示されている。ステップ３１０で、システムは、相関のために１つまたは複数の個人情報結果を受け取る。そのような発見は、サンプル検索（以下の図４を参照）または初期データソース、一次データソースおよび／または二次データソースの完全検索を介して決定され得る。
【００５３】
特定の実施形態では、データソースのスキャンに関連するすべての個人情報結果は、個人情報結果ファイルまたはコレクションに格納され得る。調査結果のそれぞれは、以下の１つまたは複数を含む検出された潜在的な個人情報に関連付けられたメタデータを含みうる：属性タイプ、値（プライバシー上の理由でハッシュされる場合がある）、スキャンＩＤ、個人情報が保存される（例えば、名前、タイプ、場所、アクセス資格情報など）データソースに対応するデータソース情報、および／または個人情報が保存されるデータソース内の場所（例えば、コレクション、テーブル、フィールド、列など）に対応する位置情報。
【００５４】
ステップ３０２で、システムは、相関させるために利用可能な個人情報結果の数を選択する。相関はバルクプロセスとして処理され、システムは利用可能なすべての調査結果を選択するか、ユーザーが構成可能な変数またはシステムが決定した変数に基づいてそのような調査結果のサブセットを選択する。
【００５５】
ステップ３０３で、システムは、個人情報として分類されるべきではないデータ値に関連する個人情報結果を除外することができる。一実施形態では、システムは、それ自体が少数のディスティンクト（distinct）値のみを含むデータソース内の所与のフィールド（すなわち、カラム）内で何度も発生する値に関連する結果を除外することができる。
【００５６】
例えば、システムは、以下の場合に、データソースフィールドで見つかった特定の値に関連付けられた結果を除外してもよい：（１）フィールド内のディスティンクト値の数を、フィールド内で見つかった個人情報の結果の総数で割った値が、事前に決定された構成可能な最大値（例えば０．００１）より大きい；および／または（２）フィールド内の値の出現回数を、フィールド内で検出された個人情報の調査結果の総数で割った値が、事前に決定された構成可能な最大値（例えば０．１）より大きい。
【００５７】
別の例として、システムは、以下の場合に、データソースフィールドで見つかった特定の値に関連する結果を除外してもよい：（１）フィールド内の特定の値の出現の標準偏差（「ｓｔｄＤｅｖＰｏｐ」）が、フィールド内のすべての異なる値の平均出現回数より大きい；（２）フィールド内のディスティンクト値の最大出現数をｓｔｄＤｅｖＰｏｐで割った値が、事前に定義された構成可能な最大数（例えば１０）より大きい；および／または（３）フィールド内の指定された値の出現回数が、フィールド内のすべてのディスティンクト値の平均出現回数にｓｔｄＤｅｖＰｏｐの２倍を加えた数よりも大きい。
【００５８】
上記のフィルタリング技術は単なる例示であり、システムは、偽陽性の発見のために個人情報レコードが作成されないことを保証するために、任意の数のフィルタリングプロセスを採用できることが理解されよう。
【００５９】
ステップ３０４で、システムは、残った個人情報結果（すなわち、ステップ３０３で除外されなかった発見）のそれぞれを、ＩＤグラフのデータ主体に相関させようとする。一実施形態では、システムは、例えば、結果の値を識別グラフに格納された個人情報の値のそれぞれ（すなわち、保存された各データ主体プロファイルに関連付けられた各値）と比較することによって、所与の結果の値がマッピングされる各データ主体プロファイルおよびそのような一致の総数を決定する。したがって、個人情報結果は、結果に関連する値がデータ主体プロファイルに関連する属性値と一致する場合、データ主体プロファイルに「相関する」と言うことができることが理解されよう。
【００６０】
一実施形態では、システムは、ステップ３０４において、任意のデータ主体の属性にマッピングすることができない個人情報結果を破棄することができる。
【００６１】
ステップ３０５で、システムは、ステップ３０４でデータ主体に相関する個人情報結果に対して追加のフィルタリングを実行することができる。例えば、システムは、複数のデータ主体プロファイルに相関するおよび／または特定の属性識別可能性基準を満たさないデータ主体属性にのみマッピングする結果をフィルタリングすることができる。
【００６２】
一実施形態では、システムは、結果に関連する属性の属性識別可能性スコアに基づいて、個人情報結果を除外することができる。概して、属性の識別可能性スコアは、単一の個人情報属性および／または属性の組合せの一意性を反映する。このスコアは、例えば、属性に関連付けられた値が相関し得るデータ主体の平均数を計算することによって、所与の属性について決定され得る。一例として、可能な限り最高の属性識別可能性スコア１を、平均して単一のデータ主体に相関する値を含む属性に割り当てることができる。別の例として、０．５の属性識別可能性スコアが、平均して２つのデータ主体に相関する値を含む属性に割り当てられ得る。
【００６３】
したがって、システムは、「低い」属性識別可能性スコアを有する属性のみに関連する個人情報結果を除外することができる。例えば、システムは、最小識別可能性閾値（例えば、約０．５）未満の属性識別可能性スコアを有する属性のみに関連する結果を除外することができる。そのような閾値は、ユーザーによって手動で入力されてもよい、および／またはシステムによって自動的に決定されてもよい。
【００６４】
さらに、システムは、所定の最大数を超えるデータ主体プロファイルに相関する結果を除外することができる。一実施形態では、所定の最大数のデータ主体は、ユーザーによって手動でシステムに入力され得る。別の実施形態では、システムは、以下によってそのような結果を自動的に除外することができる：（１）最も低い有効な属性識別可能性スコア（すなわち、属性識別可能性閾値を超えるスコア）を有する属性を選択し、（２）選択した属性のディスティンクト値に平均の標準偏差を加えたものに関連付けられたデータ主体の平均数の合計を計算する。
【００６５】
オプションのステップ３０６で、システムは、代替の相関プロセスを介して、ステップ３０５で除外された個人情報結果のそれぞれをデータ主体プロファイルに相関させようと試みることができる。
【００６６】
一実施形態では、システムは、所与の結果に関連するデータソースから以前に作成され、かつ、結果が発見された場所の近接内（例えば、ＲＤＢ内の同じテーブル列内またはＭｏｎｇｏＤＢの同じドキュメント内）の格納された個人情報レコードを検索することができる。システムはまた、近くで見つかった個人情報に関連付けられているすべてのデータ主体プロファイルを識別することができる。
【００６７】
次に、システムは、調査結果の値を以下と比較することにより、特定の調査結果をデータ主体に関連付けようとすることができる：（１）検索された個人情報レコードに含まれる各値、および（２）識別されたデータ主体のそれぞれに関連付けられた各値。システムは、ステップ３０６で、任意のデータ主体プロファイルにマッピングすることができない任意の個人情報結果を破棄することができる。
【００６８】
オプションのステップ３０７で、システムは、エンリッチメント（enrichment）相関プロセスを採用することができる。一実施形態では、エンリッチメント相関プロセスは、個人情報結果が構造化されたデータソースに関連付けられている場合にのみ実行することができる。さらに、エンリッチメント相関は、（１）個人情報レコードを有するデータソース内の近接数（例えば、ＲＤＢのレコード、ＭｏｎｇｏＤＢ内のドキュメント）と（２）データソース内の近接の総数との比率（「比率（Proportion）」）が所定の最小値（例えば、０．９９）より大きい場合にのみ実行できる。一実施形態では、最小値は、１−enrich_identify_rangeに等しくてもよい。
【００６９】
第１に、システムは、以下を有するフィールドに対応するデータソース内の最良のフィールド（すなわち、カラム）を決定し得る：（１）最も個人的な情報の記録、および（２）データ主体と個人情報結果との間の最も高い比率。以下のデータソース内のすべてのフィールドから最良のフィールドを選択できる：（１）対応する個人情報レコードの数がカラム内のレコードの総数の半分を超えている；（２）対応する各個人情報の調査結果に一致するデータ主体の平均数が１＋enrich_identify_range未満である；および（３）対応する各近接度に一致するデータ主体の平均数が１＋enrich_identify_range未満である。
【００７０】
次に、システムは、対応する個人情報レコードの数がレコードの総数の半分未満であるデータソース内の各フィールド（「エンリッチメントフィールド」）を識別することができる。エンリッチメントフィールドを識別すると、システムは、各エンリッチメントフィールドに格納された値のそれぞれに対応するエンリッチメント結果を作成することができる。
【００７１】
一実施形態では、システムは、任意のエンリッチメント結果を、同じディスティンクト値およびフィールドに関連する個人情報結果と組み合わせることができる。システムはまた、一意性または識別可能性に基づいてエンリッチメント結果を除外することもできる。例えば、システムは、（１）対応するエンリッチメントフィールド内のディスティンクト値の数と（２）エンリッチメントフィールド内のレコードの総数との比率が最小値（例えば、属性の識別可能性閾値）未満であるエンリッチメント結果を除外することができる。
【００７２】
ステップ３０８で、システムは、データ主体に相関する残りの個人情報結果および／またはエンリッチメント結果のそれぞれについて、個人情報レコードを作成することができる。残りの個人情報の調査結果には、以下が含まれうる：（１）ステップ３０４でデータ主体に相関し、ステップ３０５で除外されなかった調査結果；および（２）ステップ３０６でデータ主体に相関する結果。各個人情報レコードは、対応する個人情報発見に格納されたデータのいずれか、および／または上記の１つまたは複数のステップでシステムによって決定された情報またはメタデータのいずれかを含み得ることが理解されよう。
【００７３】
一実施形態では、システムは、フィールド名が最良のフィールドに等しい近接性における個人情報レコードとエンリッチメント結果を結合し、一致する個人情報レコードからデータ主体の詳細を決定することによって、残りのエンリッチメント結果のそれぞれについて個人情報レコードを作成することができる。
【００７４】
ステップ３０９で、システムは、個人情報レコードが作成されていない（または除外されていない）追加の個人情報結果があるかどうかを決定する。そのような結果が１つまたは複数存在する場合、プロセスはステップ３０２に戻って追加の結果を選択することができる。あるいは、プロセスは３１０で終了してもよい。
【００７５】
いくつかの実施形態では、システムは、処理ステップ３０３から３０７のいずれかまたはすべてをスキップしてもよいことが理解されよう。例えば、システムは、ステップ３０２で選択された個人情報結果のそれぞれについて、３０７で個人情報レコードを単に作成することができる。これは、好ましくは、個人情報の調査結果がＩＤデータソースに関連付けられている場合に使用される。
【００７６】
図４を参照すると、例示的なサンプルスキャン方法が示されている。特定の実施形態では、システムは、１つまたは複数のサンプリング方法を使用して、１つまたは複数のデータソースに存在するデータの構成可能なサブセット（またはサンプル）をスキャンすることができる。このようなサンプルスキャン技術は、個人情報が保存されている場所の統計的に有効な調査を提供すると同時に、検索時間とシステムへの負担を大幅に削減する。
【００７７】
通常の検索には次の手順が含まれるため、個人情報のデータソースのスキャンには時間がかかる場合がある：特定のデータソース（例えば、テーブル、コレクション、および／またはファイル）に存在するすべてのデータをスキャンし、データをスキャナにフェッチし、次いで、データが個人情報を構成するかどうかを（例えば、個人情報インデックスに対してデータをチェックすることによって）判断する。さらに、特定の検索では、検索されたデータソースに個人情報が密集している場合（例えば、各データベース列における個人情報のいくつかのフィールド）、多数の個人情報の結果が見つかる可能性がある。このような状況は、検索によって最終的に少数の新しい個人情報レコードしか作成されない場合でも、各個人情報の検索結果をフェッチして相互に関連付ける必要があるため、スキャンプロセスの速度に悪影響を与える可能性がある。
【００７８】
一部のシナリオでは、システム内のすべてのデータ主体に属するすべての個人情報の完全な説明を決定するために、すべてのデータソースを包括的に検索する必要があるが、これは必ずしも必要ではない。概して、例示的なサンプルスキャン技術は、組織全体の１つまたは複数のデータソースに格納されたデータのサブセットを検索することができる。このような手法は、フェッチおよび処理する必要のあるデータの量と検索の実行に必要な合計時間を削減するために、適度に小さいサンプルサイズを維持しながら、個人情報を見つける可能性を最大化するように設計される。
【００７９】
図４に示されるように、第１のステップ４０１において、システムは、サンプルスキャンが実行されるデータソース（すなわち、スキャンされたデータソース）に対応するデータソース情報を受信する。上で論じたように、データソース情報は、ユーザから受信されてもよい、および／または発見プロセスを介してシステムによって自動的に決定されてもよい。
【００８０】
ステップ４０２で、システムは、スキャンされたデータソースに接続して、その中の任意の数の列に含まれるデータを検索する。一実施形態では、検索する列の数は、所定の値（例えば、１，０００，０００）である。別の実施形態では、数は、データベース内の列の総数に基づいてシステムによって計算され得る。場合によっては、システムがランダムに列を選択することがある。
【００８１】
オプションのステップ４０３で、システムは、検索するために取得された列のサブセットを選択することができる。一実施形態では、サブセットは、取得された列の総数の約１％〜約２５％（例えば、取得された列の総数の約１％、２％、３％、４％、５％、６％、７％、８％、９％、１０％、１１％、１２％、１３％、１４％、１５％、１６％、１７％、１８％、１９％、２０％、２１％、２２％、２３％、２４％または約２５％）を含み得る。一実施形態では、取得された列のサブセットの選択は、ランダムな選択を含み得る。別の実施形態では、サブセットは、選択された各列の後に、所望の数の取得された列が選択されるまで、所定の、計算された、または可変数の列をスキップすることによって選択され得る。追加的または代替的に、スキップおよび／または制限フラグを含む任意の数のクエリを使用して、データソースの検索されたレコード内で選択するレコードを決定することができる。ステップ４０３は任意であることが理解されよう。いくつかの実施形態では、システムは、ステップ４０２で選択されたすべての列を利用することができる。
【００８２】
ステップ４０４で、システムは、図２に関して上記で説明したように、選択された列を検索し、個人情報結果を作成する。次に、ステップ４０５で、システムは、個人情報結果に対して相関プロセスを実行して、個人情報がスキャンされたデータソースに存在するかどうかを決定する。図３に関して上で論じたように、相関プロセスは、偽陽性の結果を除外し、システムに格納された既知の属性値に一致する真陽性の結果のそれぞれについて個人情報レコードを作成する結果となる。
【００８３】
ステップ４０６で、システムは、データ主体の個人情報を保持することが知られているＩＤデータソースに対応するデータソース情報を受信し、ＩＤデータソースに接続して、そこに含まれるデータを受信する。スキャンされたデータソース情報と同様に、ＩＤデータソース情報は、ユーザーから受信されてもよい、および／または発見プロセスを介してシステムによって自動的に決定されてもよい。
【００８４】
ステップ４０７で、システムは、機械学習モデルを使用して、ＩＤデータソースの各フィールド（各「属性フィールド」）がスキャンされたデータソースの各フィールド（各「スキャンされたフィールド」）にどれだけ密接に対応するかを示す信頼性レベルを決定する。以下で詳細に説明するように、決定された信頼性レベルのそれぞれは、概して、所与の属性フィールドが所与のスキャンされたフィールドにどれだけ密接にマッピング、一致、または対応するかに関係する。したがって、決定された信頼性レベルは、１つまたは複数の個人情報結果の識別可能性、相関、ディスティンクト値、および／またはディスティンクト分類に関連する多くの特徴を考慮に入れる発見的計算に基づくことができる。また、信頼性レベルは、属性フィールドとスキャンされたフィールドとの間の一致に関するある程度の確実性を表すように、最小（精度が低いことを示す）から最大（精度が高いことを示す）の範囲でありうる。
【００８５】
図４に示される分類プロセスの議論を容易にするために、図５Ａ−５Ｂに示される例示的なＩＤデータソース５０２および例示的なスキャンされたデータソース５０３が参照される。図示されるように、ＩＤデータソース５０２は、任意の数の属性フィールド（すなわち、カラム５４０、５５０、５６０、および５７０）を有する１つまたは複数のテーブルを含んでもよく、各属性フィールドは、フィールド名、個人情報属性、および複数の値（すなわち、列）と関連付けられる。例えば、属性フィールド５４０は、「ユーザーＩＤ」のフィールド名、ユーザーＩＤ属性、およびユーザーＩＤ値（例えば、値５４１）を含む複数の列に関連付けられている。別の例として、属性フィールド５５０は、「フルネーム」のフィールド名、名前属性、および名前値（例えば、値５５１）を含む複数の列に関連付けられている。
【００８６】
ＩＤデータソース５０２の単一の列内の値は、通常、単一のエンティティに関連付けられることが理解されよう。例えば、値５４１、５５１、５６１、および５７１は、それぞれ単一のエンティティ（すなわち、「Ｊｏｈｎ  Ｓｍｉｔｈ」の名前属性値５５１に関連付けられたデータ主体）に関連付けられている。したがって、ＩＤデータソース５０２は、複数のエンティティのそれぞれについて複数の個人情報属性値を格納することができる。
【００８７】
スキャンされたデータソース５０３は、同様に、任意の数のスキャンされたフィールド（すなわち、カラム５１０、５２０、および５３０）を有する１つまたは複数のテーブルを含み得、各フィールドは、フィールド名および１つまたは複数の値（すなわち、列）に関連付けられる。例えば、スキャンされたフィールド５１０は、「ユーザー」のフィールド名および複数の値（例えば、値５４１）に関連付けられている。別の例として、スキャンされたフィールド５２０は、「プロモ（Promo）」のフィールド名および複数の値（例えば、値５２１）に関連付けられている。そして、ＩＤデータソーステーブル５０２と同様に、スキャンされたデータソーステーブル５０３の所与の列内のすべての値は、通常、特定のエンティティに関連付けられるであろう。
【００８８】
システムは、識別データソース５０２内の各属性フィールドが特定の個人情報属性に関連付けられた値を含むことを「知っている」が、スキャンされたデータソース５０３内のスキャンされたフィールドのそれぞれに含まれる値の性質は不明であることが理解されよう。したがって、システムは、機械学習モデルを使用して、属性フィールドおよびスキャンされたフィールドに関連する様々な特徴を分析して、所与の属性フィールドおよび所与のスキャンされたフィールドの両方が同じ個人情報属性（例えば、ユーザーＩＤ、名前、言語、社会保障番号、電話番号など）に関連する値を含むかどうかを予測し得る。
【００８９】
概して、機械学習モデルで使用される機能は、以下の１つまたは複数に関してもよい：スキャンされたデータソースの選択された列に含まれる値、スキャンされたデータソースのフィールドに関連付けられたメタデータ、ＩＤデータソースに含まれる値、ＩＤデータソースのフィールドに関連付けられているメタデータ、スキャンされたデータソースとＩＤデータソースから決定された個人情報の調査結果に関連付けられている情報、および／またはそのような調査結果から作成された個人情報レコードに関連付けられている情報。例示的な機能について、以下で詳細に説明する。
【００９０】
一実施形態では、機械学習モデルは、フィールド値カウントに関連する１つまたは複数の特徴を利用することができる。フィールド値カウントは、現在スキャンされているフィールドの値の総数（つまり、列の総数）として定義されてもよい。例えば、スキャンされたデータソース５０３内のスキャンされたフィールド５１０は、９つの列を含み、したがって、９のフィールド値カウントに関連付けられている。別の例として、スキャンされたフィールド５２０はまた、９つの合計値を含むので、９のフィールド値カウントに関連付けられる。
【００９１】
別の実施形態では、機械学習モデルは、フィールド結果カウントに関連する１つまたは複数の特徴を使用することができる。フィールド結果の数は、現在スキャンされているフィールド内の現在の属性フィールドの個人情報調査結果の数として定義できる。例えば、属性フィールド５４０とスキャンされたフィールド５１０のフィールド結果カウントは７であり、これは、フィールドに次の結果が含まれているためである：値５４１と５４２は値５１２に一致し、値５４３は値５１３に一致し、値５４４は値５１４に一致し、値５４５は値５１５に一致し、値５４６は値５１６に一致し、値５４７は値５１７に一致し、値５４８は値５１８に一致するからである。別の例として、属性フィールド５５０およびスキャンされたフィールド５１０のフィールド結果カウントは４に等しく、これは、フィールドが、値５５６と値５１１、値５５６と値５１６、値５５７と値５１１、および値５５７と値５１６との間の結果を含むからである。
【００９２】
属性フィールドの値がスキャンされたフィールドの値と一致するときに、結果が決定され得ることが理解されよう。システムは、そのような一致を決定するために様々な基準を利用することができる。例えば、システムは、属性フィールド値がスキャンされたフィールド値と正確に一致することを要求する場合がある。別の例として、システムは、属性フィールド値がスキャンされたフィールド値の部分文字列（substring）のみと一致することを要求する場合がある。
【００９３】
一実施形態では、システムは、値が一致するかどうかを決定する前に、値をクリーンアップ、正規化、および／または標準化するために任意の数の処理ステップを実行することができる。例えば、システムは、それらが一致するかどうかを決定する前に、値（例えば、スペース、ピリオド、ダッシュ、括弧など）から英数字以外の文字を削除することができる。別の例として、システムは、テキストフォーマットを変更し（例えば、テキストを大文字または小文字に変換する、下付き文字または上付き文字を変換するなど）、数字を四捨五入する、および／または値をある単位から別の単位に変換することができる。
【００９４】
他の実施形態では、システムは、自然言語処理および／または様々な文字列類似性アルゴリズムを利用して、属性フィールド値とスキャンされたフィールド値との間の一致を決定することができる。そのような場合、例えば、属性フィールド値およびスキャンされたフィールド値について計算された類似性スコアが最小閾値以上である場合、システムは一致を決定することができる。
【００９５】
一実施形態では、機械学習モデルは、フィールド固有の結果カウントに関連する１つまたは複数の特徴を使用することができる。フィールドの一意の調査結果の数は、現在スキャンされているフィールドの現在の属性フィールドの個人情報の調査結果に関連付けられている一意の値の数として定義できる。例えば、スキャンされたフィールドは２つの固有の値（例えば、値５２１および値５２２）のみを含むので、属性フィールド５７０およびスキャンされたフィールド５２０のフィールド固有の結果カウントは２である。そして、別の例として、属性フィールド５７０およびスキャンされたフィールド５３０のフィールド固有の結果カウントは３に等しい。
【００９６】
別の実施形態では、モデルは、属性レコードカウントに関連する１つまたは複数の特徴を使用することができる。属性レコードカウントは、現在の属性フィールドおよび現在のスキャンされたフィールドに対して決定された個人情報の調査結果から作成された個人情報レコードの数として定義できる。上で説明したように、システムは、相関プロセス中に除外されなかった調査結果の個人情報レコードのみを作成する場合がある。
【００９７】
属性フィールド５４０およびスキャンされたフィールド５１０を例として取り上げると、システムは、上記で論じられた７つの個人情報結果を作成することができる。属性フィールド５４０に関連付けられたユーザーＩＤ属性が高度に識別可能である（すなわち、属性が最小値以上の属性識別可能性スコアに関連付けられている）と仮定すると、各結果は相関プロセスを通過し、個人情報レコードが値５４１〜５４８について作成される可能性が高い。したがって、この場合、属性レコードカウントは８に等しくなる。
【００９８】
別の例として、属性フィールド５５０およびスキャンされたフィールド５１０を取り上げる。上で説明したように、これらのフィールドのフィールド結果カウントは３に等しくなる。しかしながら、値５５６、５５７、および５１１はそれぞれ、データ入力エラーまたはその他のノイズを反映しているため、これらの値の３つの結果はすべて、通常、相関プロセス中に除外さる。その結果、システムはこれらの調査結果の個人情報レコードを作成せず、この場合、属性レコードカウントは０に等しくなる。
【００９９】
一実施形態では、機械学習モデルは、ディスティンクトＩＤカウントに関連する１つまたは複数の特徴を使用することができる。個別ＩＤカウントは、現在の属性フィールドとスキャンされたソースフィールドの一意の値の個人情報の結果から作成された個人情報レコードの数として定義できる。前者が個人情報レコードをカウントし、後者が個人情報結果をカウントすることを除いて、ディスティンクトＩＤカウントは、フィールド固有の結果カウントと同様であることが理解されよう。
【０１００】
属性フィールド５４０および走査フィールド５１０を例として取り上げると、属性フィールド５４０の値５４１および５４２はいずれも、走査フィールド５１０の値５１２と一致する；また、属性フィールドの値５４３〜５４８のそれぞれは、スキャンされたフィールドの１つの値（それぞれ５１３〜５１８）と一致する。これらすべての調査結果に対して個人情報レコードが作成されると仮定すると、値５４１と５４２は同一であり、１回だけカウントされるため、ディスティンクトＩＤの数は７になる。
【０１０１】
さらに別の実施形態では、機械学習モデルは、フィールドレコードカウントに関連する１つまたは複数の機能を使用することができる。フィールドレコードカウントは、すべてのＩＤデータソースおよび現在スキャンされているフィールドのすべての属性フィールドに対して決定された個人情報の調査結果から作成された個人情報レコードの数として定義できる。
【０１０２】
一例として、フィールドレコードカウントは、ＩＤデータソース５０２のすべての属性フィールド（例えば、５４０、５５０、５６０、５７０）およびスキャンされたデータソース５０３のスキャンされたフィールドの１つ（例えば、５１０）について決定され得る。この場合、レコードは次の一致に対して作成される：属性フィールド５４０の値５４１は、スキャンされたフィールド５１０の値５１２と一致する；属性フィールド５４０の値５４２は、スキャンされたフィールドの値５１２と一致する；属性フィールド５４０の値５４３は、スキャンされたフィールドの値５１３と一致する；属性フィールド５４０の値５４４は、スキャンされたフィールドの値５１４と一致する；属性フィールド５４０の値５４５は、スキャンされたフィールドの値５１５と一致する；属性フィールド５４０の値５４６は、スキャンされたフィールドの値５１６と一致する；属性フィールド５４０の値５４７は、スキャンされたフィールドの値５１７と一致する；および属性フィールド５４０の値５４８は、スキャンされたフィールドの値５１８と一致する。属性フィールド５５０の値５５６と５５７、および属性フィールド５７０の値５７９は、それぞれスキャンフィールド５１０の値５１１と５１６に一致するが、これらの一致に対しては、高度に識別可能ではなく高度に識別可能な属性に近接していないため、レコードは作成されない。したがって、識別データソース５０２のすべての属性フィールド（５４０、５５０、５６０、５７０）およびスキャンされたデータソース５０３のスキャンされたフィールド５１０のフィールドレコードカウントは、８に等しい。
【０１０３】
この機能は、属性レコードカウントとフィールドレコードカウントとの比率の計算に使用できることに留意すべきである（以下で説明する）。この比率の値が高いほど、特定の属性フィールドが特定のスキャンフィールドに対応しているという確実性が高いことを示し、したがって、属性フィールドに関連付けられている属性は、スキャンされたフィールドに関連付けられている可能性がある。一方、値が小さいほど、属性フィールドがソースフィールドに対応していないことを示している可能性がある；むしろ、ＩＤデータソースの異なる属性フィールドは、スキャンされたフィールドによりよく一致する可能性がある。
【０１０４】
別の実施形態では、機械学習モデルは、最大属性レコードテーブルカウント（「ＭＡＲＴＣ」）に関連する１つまたは複数の機能を使用することができる。ＭＡＲＴＣは、スキャンされたデータソーステーブル内の１つの属性フィールドとすべてのスキャンされたフィールドに対して決定された個人情報の調査結果から作成された個人情報レコードカウントとして定義できる。
【０１０５】
一例として、フィールドレコードカウントは、ＩＤデータソース５０２の属性フィールド５４０およびスキャンされたデータソース５０３のすべてのスキャンされたフィールド（例えば、５１０、５２０、５３０）について決定され得る。この場合、属性フィールド５４０の値５４１および５４２は、スキャンされたフィールド５１０の値５１２と一致する；また、属性フィールド５４０の値５４３〜５４８のそれぞれは、スキャンされたフィールド５１０の１つの値（５１３〜５１８）と一致する。属性フィールド５４０の値のいずれも、スキャンされたフィールド５２０または５３０の値と一致しない。したがって、属性フィールド５４０およびスキャンされたすべてのフィールド（５１０、５２０、５３０）のＭＡＲＴＣは、８に等しい。
【０１０６】
一実施形態では、機械学習モデルは、スキャンされたソースごとの属性比に関連する１つまたは複数の機能を使用することができる。この機能は、属性レコード数をＭＡＲＴＣで割ることによって計算できる。例えば、属性フィールド５４０およびスキャンされたフィールド５１０についてのスキャンされたソースごとの属性比は、８／８＝１である。
【０１０７】
スキャンされたソース機能ごとの属性比の値がより高いと、特定の属性フィールドが特定のスキャンされたフィールドに対応するという確実性がより高いことを示し、したがって、属性フィールドに関連付けられた属性もまたスキャンされたフィールドと関連付けられることが理解されよう。一方、値が小さい場合は、属性フィールドがソースフィールドに対応していないことを示している可能性がある；むしろ、ＩＤデータソースの異なる属性フィールドが、スキャンされたフィールドによりよく一致する可能性がある。
【０１０８】
特定の実施形態では、機械学習モデルは、確実な一致の数、完全な一致の数、および／または確実かつ完全な一致の数に関連する様々な機能を使用することができる。概して、属性フィールドが高度に識別可能な属性に関連付けられている場合、属性フィールドの値とスキャンされたフィールドの値との一致は、「確実一致（sure match）」と称されうる。上記のように、属性フィールドの値がそれぞれ２つ以下の一意のデータ主体プロファイルと相関している場合、属性フィールドは高度に識別可能であると見なされうる。言い換えると、少なくとも０．５の属性識別可能性スコアに関連付けられた属性フィールドは高度に識別可能であると見なされ、そのような属性フィールド値に一致できるスキャンフィールドの値は確実に一致すると見なされる。
【０１０９】
例えば、ＩＤデータソース５０２の属性フィールド５４０が少なくとも０．５の識別可能性スコアを有すると仮定する。このような場合、属性フィールド５４０の値（例えば、値５４３）とスキャンされたフィールドの値（例えば、スキャンされたフィールド５１０の値５１３）が一致するたびに、確実に一致すると見なされる（上述のように他の基準が満たされていると仮定して）。別の例として、属性フィールド５５０が０．５未満の識別可能性スコアを有すると仮定すると、属性フィールドの値とスキャンされたフィールドの値との一致は、確実な一致とは見なされない。
【０１１０】
「完全一致（full match）」とは、属性フィールド値がスキャンされたフィールド値と完全に一致するシナリオを示す。例えば、属性フィールド５４０の値５４３は、スキャンされたフィールド５１０の値５１３と正確に一致し、完全一致としてカウントされる。別の例として、属性フィールド５５０の値５５６および５５７は、スキャンされたフィールド５１０の値５１６と部分的にのみ一致し、完全一致としてカウントされない。
【０１１１】
「確実かつ完全一致(sure and full match)」とは、属性フィールド値がスキャンされたフィールド値と確実に一致し、完全に一致する場合を指す。上記の例では、スキャンされたフィールド５１０の値５１３は、属性フィールド５４０の値５４３と確実に一致し、完全に一致する。したがって、確実一致、完全一致、および確実完全一致としてカウントされます。しかしながら、属性フィールド５７０の値５７９は、スキャンされたフィールド５２０の値５２２と完全に一致するが、属性フィールド５７０は高度に識別可能であると見なされないので、これは確実な一致ではない；したがって、確実かつ完全一致とは見なされない。
【０１１２】
最後に、機械学習モデルは、名前の類似性に関連する１つ以上の機能を採用する場合がある。概して、名前の類似性とは、特定の属性フィールドの名前と特定のスキャンされたフィールドの名前の間の類似性の尺度を指す。システムは名前の類似性を決定するために任意の数のアルゴリズムを使用できるが、１つの好ましいアルゴリズムはレーベンシュタイン距離（「ＬＤ」）であり、これは、スキャンされたフィールド名を属性フィールド名に変換するため（またはその逆）に必要な削除、挿入、および／または置換の数に関連する。一例として、属性フィールド５４０（すなわち、文字列「ユーザーＩＤ」）およびスキャンされたフィールド５１０（すなわち、文字列「ユーザー」）のＬＤは、約０．７である。別の例として、属性フィールド５７０およびスキャンされたフィールド５２０のＬＤは１であり、両方のフィールドが「プロモーション」のフィールド名に関連付けられている。
【０１１３】
以下の表１は、属性フィールドとスキャンされたフィールドの信頼性レベルを決定するために機械学習モデルで使用できる、重要度に従ってランク付けされた予測機能のリストを示している。リストされた機能は例示的なものであり、プライバシー管理プラットフォームによって利用される様々な機械学習モデルは、追加のまたは代替の機能を使用できることが理解されよう。
【表１】
2021534483.tif 000003
【０１１４】
システムは、信頼性レベルを決定するために１つまたは複数の機械学習アルゴリズムを採用できることが理解されよう。例示的なアルゴリズムには、ランダムフォレスト、クラスタリング、ロジスティック回帰、決定木学習、ベイジアンネットワーク、ＳＶＭ、人工ニューラルネットワークなどが含まれるが、これらに限定されない。これらのアルゴリズムの１つ以上は、組織固有のトレーニングデータを使用して、個人情報属性ルールを含む１つ以上の組織固有の個人情報分類関数を構築することにより、プラットフォームを使用する組織ごとに個別にトレーニングできる。
【０１１５】
さらに、さまざまな機械学習アルゴリズムが、さまざまなタイプのデータ（例えば、構造化または非構造化、テキスト、ドキュメント、地理的位置、画像など）に対してさまざまな結果を提供することが理解されよう。さらに、保存されるデータの種類や量は、組織によって大きく異なる場合がある。したがって、分散を決定するために、単一の組織内および／または複数の組織に亘るさまざまなデータソースで異なる機械学習アルゴリズムによって得られた結果を継続的に比較することが好ましいかもしれない。そのために、システムは、トレーニングデータをテストし、複数のアルゴリズムを検証して、特定のデータセットおよび／または組織に最も効果的なものを選択することができる。
【０１１６】
図４に示されるように、システムは、機械学習モデルによって計算された信頼性レベルのそれぞれが、ステップ４０８で最小信頼性閾値以上であるかどうかを決定する。信頼性レベルが閾値よりも大きい場合ごとに、システムは、信頼性レベルが決定された属性フィールドの個人情報属性を、対応するスキャンされたフィールドと関連付けることができる。
【０１１７】
ステップ４０９で、システムは、個人情報が属性（例えば、フィールドおよび／またはそのようなフィールド内の列）に従って確認および／または分類された、スキャンされたデータソース内の１つまたは複数の場所に対応する位置情報を含む、スキャンの結果を格納、送信、および／または表示する。一実施形態では、スキャン結果は、例えば以下のようであるがこれに限定されないメタデータを含んでもよい：スキャンされたテーブルに対応するスキャンされたデータソース情報、スキャンされた列の数、スキャンされた特定の列、検出された結果の数、そのような調査結果から作成された個人情報レコードの数、フィールド間の信頼性レベル、スキャンされたフィールド属性分類、および／またはその他の情報。
【０１１８】
スキャン結果は、ターゲットシステム内の個人情報事例の迅速な分析のための基礎を提供するため、任意の数の潜在的な使用事例に利用できる。一例として、スキャン結果は、データ主体の相関関係が不要なデータセンターの移行を行っている組織に強力な価値（および迅速なターンアラウンドタイム）を提供しうる。別の例として、初期サンプルスキャンを利用して、個人情報が格納されるデータソース内の１つまたは複数の場所（例えば、そのようなオブジェクト内のテーブル／コレクションおよび／または特定のカラム）を決定することができる。
【０１１９】
一実施形態では、サンプルスキャン結果を利用して、個人情報を保持すると決定されたデータソースおよび／またはデータソース内の場所に対してのみフルスキャンを実行することができる。例えば、属性に関連付けられた必要な個人情報を取得する要求を含む検索またはクエリを受信すると、システムは、要求された個人情報をすばやく見つけるために、どの個人情報レコードが属性に関連付けられているかを決定し、そのようなレコードに対応するスキャンされたデータソースフィールドを検索することができる。これにより、データソースが多数のテーブルで構成されているが、個人情報が含まれているテーブルはごくわずかである場合に、検索時間を大幅に短縮できる。サンプルスキャンを使用することにより、システムは「ジャストインタイム」方式でフルスキャンを実行できる（例えば、１人以上のユーザーがデータをシステムから削除するように要求した場合）。
【０１２０】
別の実施形態では、システムは、スキャン結果の一部またはすべてを、１つまたは複数のクライアントアプリケーションまたはアプリケーションプログラミングインターフェース（「ＡＰＩ」）を介してユーザーに送信または表示することができる。例えば、システムは、個人情報の調査結果、そのような調査結果に関連するメタデータ、さまざまなフィールドに対して決定された信頼性レベル、および／または他のインジケータのそれぞれを表示し、システムが個人情報属性に従って各フィールドを分類したかどうかを示すことできる。エントリが個人情報として分類される場合、システムはさらに、エントリが関連付けられている１つまたは複数のデータ主体に対して作成された個人情報レコードを表示することができる。
【０１２１】
概して、開示された実施形態は、任意の数のスキャンされたフィールドの信頼性レベルを決定することができる。一実施形態では、システムは、すべてのＩＤデータソーステーブル内のすべての属性フィールドに亘って、スキャンされたデータソース内のすべてのスキャンされたフィールドの信頼性レベルを計算することができる。例えば、システムは、第１の属性フィールド（例えば、属性フィールド５４０）および第１のスキャンされたフィールド（例えば、スキャンされたフィールド５１０）の第１の信頼性レベルを決定することができる；次に、システムは、第２の属性フィールド（例えば、属性フィールド５５０）および第１のスキャンされたフィールドの第２の信頼性レベルを決定することができる；次に、システムは、第３の属性フィールド（例えば、属性フィールド５６０）および第１のスキャンされたフィールドの第３の信頼性レベルを決定することができる；次に、システムは、第４の属性フィールド（例えば、属性フィールド５７０）および第１のスキャンされたフィールドの第４の信頼性レベルを決定することができる。複数のＩＤデータソーステーブルが利用可能である場合（図示せず）、プロセスは、第１のスキャンされたフィールドおよび追加のＩＤデータソーステーブルの各属性フィールドの追加の信頼性レベルを計算し続けることができる。次いで、上記のプロセスは、スキャンされたデータソーステーブル５０３内の追加のスキャンされたフィールド（例えば、スキャンされたフィールド５２０、および次いでスキャンされたフィールド５３０）ごとに繰り返されてもよい。
【０１２２】
代替の実施形態では、システムは、最小閾値より大きい信頼性レベルが決定されるまで、特定のスキャンされたフィールドの信頼性レベルのみを計算することができる。例えば、システムは、第１の属性フィールド（例えば、属性フィールド５４０）および第１のスキャンされたフィールド（例えば、スキャンされたフィールド５１０）の第１の信頼性レベルを決定することができる；システムは、第１の信頼性レベルが最小閾値以上であると判断しうる；次に、第２の属性フィールド（例えば、属性フィールド５５０）および第１のスキャンされたフィールドの第２の信頼性レベルを計算するのではなく、システムは、第１の属性フィールドおよび第２のスキャンされたフィールド（例えば、スキャンされたフィールド５２０）の第２の信頼性レベルの計算に進んでもよい。次に、上記のプロセスは、スキャンされたデータソース内の追加のスキャンされたフィールド（例えば、スキャンされたフィールド５３０）ごとに繰り返されてもよい。また、追加のＩＤデータソースが利用可能な場合、スキャンされたフィールド（５１０、５２０、５３０）および追加のＩＤデータソースに含まれる属性フィールドのそれぞれについて、プロセス全体を繰り返すことができる。
【０１２３】
サンプルスキャン技術を使用して、ＩＤデータソース、一次データソース、および／または二次データソースを含む構造化データソースを検索できることが理解されよう。サンプルスキャン技術を使用して、非構造化データソースを検索することもできることがさらに理解される。非構造化データソースの性質はさまざまであるため、サンプルスキャン技術では、ファイルのサンプルグループからファイル全体をスキャンする、および／または上記の方法に従ってすべてのファイルのサブセットをサンプリングすることを組み合わせて使用できる。
【０１２４】
図６を参照すると、属性フィールドをデータソースフィールドに一致させるための予測結果を示す例示的なテーブル６００が示されている。図示されるように、出力テーブル６００は、以下のラベルを含む：ＩＤソースフィールド名６０５、スキャンされたソースフィールド名６１０、フィールド結果カウント６１５、フィールド固有結果カウント６２０、名前類似性６２５、信頼性レベル６３０、および分類または予測６３５。
【０１２５】
上で論じたように、機械学習モデルは、スキャンされたデータソースのフィールドを１つまたは複数のＩＤデータソースのフィールドと比較して信頼性レベル６３０を決定するためにいくつかの機能を使用する。図示の実施形態では、フィールド結果カウント６１５およびフィールド固有結果カウント６２０は、スキャンされたデータソースフィールドが個人情報を含むかどうかの強力な指標を提供するために示されている。例えば、フィールド固有結果カウント６２０が結果の数６１５に近い場合、スキャンされたソースフィールドは、個人情報を含む可能性が高い。
【０１２６】
他方、名前類似性６２５は、スキャンされたソースフィールドが、ＩＤデータソース内の所与のフィールドに対応する個人情報を含むかどうかのより弱い指標であり得る。例えば、スキャンされたソースフィールド名６１０がＩＤソースフィールド名６０５と類似または同一である場合でさえ、スキャンされたソースフィールドに格納されたデータは必ずしも意味のある個人情報を保持するとは限らない。これは、例えば、列６４０に示され、ＩＤソースフィールド名６０５は、スキャンされたソースフィールド名とほぼ同一であるが、モデルはわずかに０．０３８９の信頼性レベルを決定する。
【０１２７】
図６はさらに、機械学習モデルが、そのようなフィールドに対して決定された信頼性レベル６３０に基づいて、スキャンされたソースフィールドのそれぞれを分類し、ラベル付けすることができることを示している。例えば、システムは、対応する予測カラム６３５に「１」を含めることによって、スキャンされたソースフィールドが個人情報（および具体的には、所与の属性フィールドと同じタイプの個人情報）を含むことを示すことができる。また、システムは、そのようなカラムに「０」を含めることにより、個人情報がないことの分類を示す場合があります。以下で説明するように、そのような分類は、信頼性レベルが所定の最小閾値以上であるかどうかの決定に基づいている。
【０１２８】
図７に示されるように、一実施形態では、スキャン結果は、システムの１人または複数のユーザーによって（例えば、クライアントアプリケーションを介して）アクセス可能なヒートマップレポート７００の形で提示され得る。図示されるように、ヒートマップは、スキャンされたデータソースで発見された個人情報結果７０５の数を、そのような結果のために決定された属性（例えば、郵便番号７１１、国７１２、およびフルネーム７１３）とともに表示し得る。ヒートマップは、データ７２１を、例えば、ＣＳＶファイルにエクスポートするためのオプションをさらに表示することができる。
【０１２９】
概して、ヒートマップ７００は、ユーザーがトップレベルのデータソース（例えば、データセンターエンドポイントおよび／またはクラウドストレージシステム）からカラムレベルのビューにドリルダウンすることを可能にし得る。これは、サーバーのデータ機密性の評価が不可欠なクラウド移行や、潜在的な個人情報の汚染についてデータストアとマイクロサービスを監視する必要がある開発者環境など、複数の使用事例でメリットがある。
【０１３０】
図８を参照すると、個人情報分類機械学習モデルのトレーニングおよび使用を示す例示的なフローチャート８００が示されている。上で説明したように、システムは、個人情報属性に従ってスキャンされたデータソースフィールドを分類するために、信頼性レベルを計算するために機械学習モデルを採用することができる。
【０１３１】
モデルが信頼性レベルを正確に決定する前に、モデルを構成してトレーニングする必要がある。一実施形態では、ユーザーは、所与の機械学習モデルを構成するために、システムに様々なモデル情報を入力することができる。例示的なモデル情報には、予測が行われるターゲット変数または結果の定義、モデルおよび／または初期パラメータ／重みによって使用されるトレーニングデータに関連する変形または活性化関数情報が含まれ得るが、これらに限定されない。
【０１３２】
概して、機械学習モデルの「学習」または「トレーニング」とは、モデルの全体的な予測パフォーマンスを向上させるためにモデルパラメータを変更または変更することを指す。モデルで使用される特定のパラメータ  ｗを決定することは、データからマッピングを学習するというより一般的な問題の例である。入力と対応する出力の観測値のペアの例の数Ｎを含むトレーニングデータセットＤが与えられた場合（つまり、Ｄ＝｛（ｘ１，ｙ１）．．．、（ｘｎ、ｙｎ）｝）、目標は、トレーニングセットにおけるマッピングを近似し、重要なことに、トレーニングデータセットＤのペアと同じ確率分布から抽出された見えないテストデータに一般化および／または外挿するマッピングを学習することである。
【０１３３】
このようなマッピングを学習するために、目的の出力がｙの場合、入力ｘから出力ｙ’を提供するマッピングの正の効用（目的関数の場合）または負の効用（損失関数の場合）を測定するために誤差関数が定義される。エラー関数が損失関数である場合、特定のトレーニングデータセットのエラーは、損失の合計（つまり、経験的損失）としてマッピングに対して定義できる。
【０１３４】
トレーニングデータへの過剰適合を防ぐ正規化項を含む関数、確率モデルの可能性または事後関数から導出された関数、大規模なデータセットのサブサンプリングに基づく関数、または対象の損失関数のその他の近似（いわゆる「代理損失関数」）を含む、多くのエラー関数を使用して、開示された機械学習モデルをトレーニングできる。概して、エラーはトレーニングデータ全体で計算されるか、または、トレーニングデータの小さなサブサンプル（またはミニバッチ）でエラーを計算することで概算されてもよい。
【０１３５】
トレーニングは通常、最適化アルゴリズムを使用して誤差関数Ｅを最適化することにより、いくつかの事例データＤに基づいて行われる。例えば、誤差関数は、いくつかの初期パラメータ値ｗから開始し、パラメータｗに関してＥ（ｗ、Ｄ）の偏導関数を取り、これらの導関数によって与えられる方向にｗを調整することによって最小化できる（例えば、最急降下最適化アルゴリズムに従って）。任意の数の最適化アルゴリズムを使用して、例えば、確率的勾配、可変適応ステップサイズ、二次導関数、それらの近似および／またはそれらの組合せの使用を含む、開示された機械学習モデルをトレーニングできることが理解されよう。
【０１３６】
図８に示されるように、８１０で、システムは、そこに含まれる入力データを取り込んで格納するために、１つまたは複数のデータソースに接続する。一実施形態では、システムは、スケジュールされたクエリまたはプロセスを実行して、データソースから入力データを引き出すことができる。他の実施形態では、システムは、許可されたユーザーが処理のために入力データをアップロードするためのエンドポイントを提供することができる。
【０１３７】
ステップ８１５で、システムは、一元化されたデータスキーマに従って取り込んだ入力データを処理して、初期データレコードを作成する。一実施形態では、システムは、入力データおよびそれに関連するトランザクションに関連する様々なメタデータ（例えば、許可されたユーザー、摂取時間、データソース情報、列数および／またはその他）を決定する。次に、システムは、そのようなメタデータを対応する初期データレコードに関連付けることができる。
【０１３８】
ステップ８２０で、システムは、様々な前処理ステップを実行して、初期データレコードを前処理されたデータレコードにクリーンアップ、検証、および／または正規化する。このような前処理は、標準化されたフォーマットまたはスキーマを持つデータテーブルを含む前処理されたデータレコードを作成するために必要になる場合がある。機械学習技術は、不完全および／または不正確なデータの一般的な問題を処理するために十分に整っているが、システムは、高品質の予測機能の作成を確実にするために前処理、クリーニング、および／または正則化を利用する場合がある。本明細書で使用される場合、「テーブル」という用語は、その最も広い意味で使用され、解釈または提示を容易にするフォーマットへのデータのグループ化を指す。このようなフォーマットには、コンピュータプログラム指示の実行から提供されるデータ、ソフトウェアアプリケーション、表、スプレッドシートなどが含まれるが、これらに限定されない。
【０１３９】
前処理中に、システムは、初期データレコードに対して任意の数のデータ操作を実行して、そこから前処理されたデータレコードを作成することができる。いくつかの例示的な操作には、以下が含まれうる：結合（２つ以上のデータベーステーブル間の接続を確立し、それによってテーブル間の関係を作成するために実行される操作）、フィルタ（特定の適格基準のための各入力または出力要求を検査し、次いでそれに応じて処理または転送するように設計されたプログラムまたはコードのセクション）、集計（情報が収集され、統計分析などの目的で要約形式で表現されるプロセス）、キャッシング（つまり、後で使用するために結果を保存する）、カウント、名前変更、検索、並べ替え、および／またはその他のテーブル操作。このような前処理により、例えば、前処理されたデータレコードに関連付けられたすべての情報が、標準化された命名ルール、ファイルシステムレイアウト、および構成変数で構成されることが保証される。
【０１４０】
一実施形態では、システムは、個人情報ルールに基づいて、入力データから個人情報結果を識別することができる。システムは、属性タイプ、フィールド名（例えば、個人情報が配置されているデータベース内のカラムの名前）、フィールド値（プライバシー上の理由でハッシュされる場合がある）、スキャンＩＤ、個人情報が保存されているデータソースに対応するデータソース情報（例えば、名前、タイプ、場所、アクセス資格など）、および／または個人情報が保存されているデータソース内の場所に対応する場所情報（テーブル、カラム、列、コレクションなど）であるがこれらに限定されない、そのような結果に関連するメタデータをさらに識別することができる。初期データレコードでそのような情報を識別すると、システムはこの情報を結果ファイルに集約、エンコード、および分類しうる。
【０１４１】
ステップ８２５で、様々な予測特徴が前処理された情報から作成される。そのような特徴は、機械学習モデルに提供されて、特徴の予測値（すなわち、特徴の重み）、信頼性レベル、および信頼性レベルに基づく分類を決定しうる。
【０１４２】
概して、実施形態によって使用される特徴のそれぞれは、ステップ８２０で生成された処理された情報の１つまたは複数の特定の態様に関連する個々の値を含む。また、各機能は、以下の関連する値に関連して実行される１つ以上の処理ステップを介して作成できる：例えば、ログスケーリングカウント変数、バケット変数、ビニング変数、および／または決定値（例えば、カウント、最大値、最小値、平均値、中央値、モード、標準偏差など）。
【０１４３】
特定の実施形態では、特徴は、（１）前処理された情報を任意の数の組み合わせ、集約、変換、正規化、および／または代入にかけ、（２）生じたデータの１つまたは複数の要約統計量を計算することによって作成され得る。例示的な要約統計量には、カウント、平均値、中央値、最頻値、および／または標準偏差が含まれ得るが、これらに限定されない。
【０１４４】
特徴は、値の比率、値の集計の比率、および／または値の集計の標準化の比率を計算することによって作成することもできる。さらに、そのような情報の比較に関連する様々な特徴が作成され得る。本明細書に記載される機械学習モデルを使用して、情報の重要な比率および組合せを決定し、高い予測性能を達成することができる。
【０１４５】
特徴は、使用されるモデリング技術に応じて（例えば、モデルをより安定させるために）様々な方法で標準化または変換され得ることが理解されよう。例えば、ロジスティック回帰モデルは極値に敏感である可能性があり、情報属性をバケットに集約し、属性を機能として個別に組み込むことが有用でありうる。しかしながら、ランダムフォレストモデルはパーティションベースであるため、極値に対する感度が低くなる。
【０１４６】
一実施形態では、モデルは、上記で論じた特徴のいくつかまたはすべてを使用することができる。したがって、そのような特徴のいくつかまたはすべてに関連するトレーニングデータが生成され、ステップ８３０で機械学習モデルをトレーニングするために使用され得る。
【０１４７】
図９は、いくつかの監視された使用事例（例えば、最低４０００の使用事例）で機械学習モデルをトレーニングするために提供され得る例示的なラベル付けされた訓練データ９００を示す。図示されるように、トレーニングデータ９００の各列は、ＩＤデータソース内の属性フィールドに対応する属性フィールド名９０１、信頼性レベルが決定されるスキャンされたデータソース内のスキャンされたフィールドに対応するスキャンされたフィールド名９０２、および、スキャンされたフィールドが属性フィールドと同じ属性に関連付けられた個人情報を含むものとして分類されるべきかどうかを示すラベル９５０を含みうる。
【０１４８】
トレーニングデータ９００はさらに、例えば以下のようであるがこれに限定されない、機械学習モデルによって使用される機能に関連する値を含むことができる：フィールド値カウント９０５、フィールド結果カウント９１０、フィールド固有結果カウント９１５、属性レコードカウント９２０、フィールドレコードカウント９２５、ＭＡＲＴＣ９３０、確実な一致のカウント９３５、完全な一致のカウント９４０、および／または確実かつ完全な一致のカウント９４５。トレーニングデータは、本明細書で論じられる予測特徴のいずれかに関連する値を追加的または代替的に含み得ることが理解されよう。
【０１４９】
いずれにせよ、トレーニングデータ９００は、ステップ８３５で機械学習モデルに提供されてもよく、その結果、そこに含まれる情報を分析して、信頼性レベルを決定し、個人情報属性に従ってスキャンされたフィールドを分類し得る。次に、システムは、ステップ８３５で、任意の数の追加のアクションを実行することができる。次に、システムは、ステップ８３５で、予測結果および対応する信頼性レベルをユーザーに表示することができる。
【０１５０】
特定の実施形態では、システムは、教師あり能動学習プロセスを使用して、個人情報を分類するために（例えば、個人情報ルールを作成および／または更新するために）機械学習モデルをトレーニングすることができる。図示されているように、ユーザーは、より正確な予測結果を生成するために、ユーザーのデータの特定のプロパティに合わせてアルゴリズムを調整することにより、モデルをトレーニングおよび再トレーニングできる。例えば、ステップ８３５でトレーニングデータに関連する予測結果を表示すると、ユーザーは、結果をレビューし、フィードバック８４０（例えば、１つまたは複数の結果を拒否する）を提供することができる。次に、ユーザーフィードバックは機械学習モデルに提供され、ユーザーが予測結果に満足していることを示すまでおよび／または所定の停止基準に達するまで、トレーニングプロセスが繰り返されてもよい。
【０１５１】
トレーニングが完了すると、モデルは（例えばＪａｖａやＪａｖａＳｃｒｉｐｔに）変換され、プライバシー管理プラットフォームに組み込まれて、入力情報に基づいて個人情報の調査結果を分類できるようになる。つまり、８４５で、トレーニングされた機械学習モデルを使用して、所望にまたは必要に応じて、新しい入力データの信頼性レベルを決定できる。いくつかの実施形態では、モデルは、ファイル（バイナリまたはテキスト）にエクスポートされ、モジュール（例えば、ＪａｖａまたはＪａｖａＳｃｒｉｐｔモジュール）によってロードされ得る。ロードされたモデルは、予測結果を生成するために使用できる。
【０１５２】
したがって、新たに利用可能な情報を再取り込みして前処理し、次にＭＬモデルについて特徴を計算して、トレーニングデータで生成された相対的な特徴の重みに基づいて修正された信頼性レベルを計算することができる。一実施形態では、ＭＬモデルは、新しいデータが利用可能になると（例えば、毎日、毎週、または毎月）、定期的に個々の信頼性レベルを再計算することができる。さらに、システムは、そのような信頼性レベルを、分類されたスキャンされたフィールドに対応する保存された個人情報レコードと関連付けることができる。
【０１５３】
一実施形態では、パフォーマンスメトリクスはまた、モデルによって決定された信頼性レベルおよび分類に基づいて計算され得る。有効で堅牢なモデルは、モデルが最初にトレーニングされたデータのホールドアウトサブサンプルから計算されたパフォーマンスメトリクスと同様のパフォーマンスメトリクスを追加データセットで期待することが理解される。
【０１５４】
実際に機械学習システムを使用するには、信頼性閾値を選択する必要がある。システムは、決定された信頼性レベルが閾値よりも高い場合にのみ、スキャンされたフィールドが属性フィールドに対応することを示す。閾値が増加するにつれて、偽陽性の数は減少するが、偽陰性の数は増加することが理解されよう。逆に、閾値を下げると、誤検知の数は増えるが、誤検知の数は減る。したがって、特定のモデルの最適な閾値を評価するには、偽陽性と偽陰性の結果の間の適切なトレードオフを決定する必要がある。
【０１５５】
この実施形態の文脈では、概して、偽陰性に対してより大きなペナルティがあり、偽陽性に対してより小さなペナルティが存在する。例として、情報を個人情報として識別できない（つまり、偽陰性）と、組織に罰金が科せられたり、顧客の信頼が失われたりする可能性がある。一方、情報を個人情報として誤って識別する（つまり、偽陽性）と、組織が情報を不必要に監視および保護することとなる。偽陰性のペナルティは偽陽性のペナルティよりも大きくなるが、データの監視と保護にはコストがかかり、バランスをとる必要があることが理解されよう。
【０１５６】
感度（すなわち、再現率または真陽性率）および適合率（すなわち、真陰性率）を含む、開示されたモデルの性能を評価するために、いくつかの測定基準を計算することができる。以下の式１に示すように、感度は受信者動作特性（「ＲＯＣ」）曲線のＹ軸に対応し、各ポイントは予測が行われる閾値に対応する。感度は、ある予測閾値の個人情報属性として正しく識別された情報のパーセンテージを提供する。より高い再現率はより低い予測閾値に対応し、これは今度は、偽陽性よりも偽陰性を回避するという選好を反映することが理解されよう。
【数１】
2021534483.tif 000004
【０１５７】
以下の式２に示すように、適合率はＲＯＣ曲線のＸ軸に対応し、特定の閾値未満で正しく識別された実際の陰性の割合を測定する。
【数２】
2021534483.tif 000005
【０１５８】
開示された機械学習モデルは、広範な特徴を有するデータソースフィールドに亘って個人情報を分類する際に非常に高いレベルのパフォーマンスを達成しうる。例えば、モデルは、約０．８〜約０．９８の再現率および／または適合率を達成するように構成され得る。特定の実施形態では、モデルは、少なくとも約０．８、少なくとも約０．８５、少なくとも約０．９、または少なくとも約０．９５の再現率および／または適合率を達成するように構成され得る。
【０１５９】
図１０を参照すると、ランダムフォレストアルゴリズムおよびロジスティック回帰アルゴリズムを採用した機械学習モデルのパフォーマンスメトリックを示すグラフ１０００が示されている。図示されているように、ランダムフォレスト機械学習モデルは約９７％の再現率１００１と約８９％の適合率１０１１を達成し、ロジスティック回帰モデルは約８２％の再現率１００２と約６８％の適合率１０１２を達成した。したがって、ランダムフォレストモデルは、分類においてロジスティック回帰モデルよりも優れていることがわかった。
【０１６０】
特定の理論に縛られることを望まないが、ランダムフォレスト機械学習モデルは、特徴間の複雑な関係を処理する能力が優れているため、他の機械学習モデルよりも優れていると考えられる（例えば、名前の類似性は、フィールドレコードカウント／フィールド結果カウントが高い場合にのみ重要である）。さらに、ランダムフォレストアルゴリズムは、それぞれデータ特徴の一部の断面を含むデータのサブセットのみでトレーニングされた多数の決定木からの結果の集約を可能にするため、他の分類器よりもパフォーマンスが高く、普及すると考えられる。
【０１６１】
図１１を参照すると、例示的な信頼性レベル閾値調整画面１１００が示されている。この画面１１００は、ユーザーが、分類の目的で機械学習モデルによって採用される信頼性閾値を調整することを可能にし得る。
【０１６２】
図示されるように、ユーザーは、最小信頼性閾値（例えば、０）１１１１から最大信頼性閾値（例えば、１）１１１２までの範囲のバー１１１０を調整することができる。図示の実施形態では、画面１１００はまた、低信頼性閾値１１１５の値が０から０．２５の範囲であり、中信頼性閾値１１２０の値が０．２５から０．６５の範囲であり、高信頼性閾値１１２５の値が０．６５から１．０の範囲であることをユーザーに通知し得る。
【０１６３】
信頼度の閾値を調整することにより、適合率と再現率のレベルが変更される。つまり、信頼度の閾値を上げると、再現率が高くなり、適合率が低下する。信頼度の閾値を下げると、再現率が低くなり、適合率が高くなる。いずれにせよ、所望の信頼性閾値を選択すると、ユーザーは、リセットオプション１１３０を選択してデフォルト設定に戻すか、キャンセルオプション１１３５を選択して画面を終了するか、または更新オプション１１４０を選択して信頼性閾値を更新することができる。
【０１６４】
図１２を参照すると、例示的なスキャン結果のレビューおよび修正画面１２００が示されている。図示されるように、この画面１２００は、スキャンプロセスからの結果、ならびに様々なスキャンされたフィールドに対して決定された信頼性レベル１２１０を含む表１２０１を表示する。
【０１６５】
一実施形態では、ユーザーは、結果の１つまたは複数の列を選択し、各列の信頼性レベル１２１０を変更することができる。例えば、結果は、基礎となるデータ１２２０の信頼性レベルと対応するメタデータ１２１０の信頼性レベルとの間の不一致を示し得る（例えば、低対高）。
【０１６６】
そのような状況では、ユーザーは、更新信頼性レベルモーダルまたはポップアップ１２１５を介して、メタデータ１２１０に関連する信頼性レベルを変更することができる。そのような特徴１２１５は、ユーザーが更新された信頼性レベル１２１７を選択することを可能にするためのオプション（例えば、ドロップダウンメニュー）を提供し得る。更新された信頼性レベル１２１７を選択すると、システムはその選択を記憶し、次に機械学習モデルを自動的に再トレーニングして、調整された信頼性レベル１２１７に従って結果を予測することができる。したがって、モデルは、同様に見える観測値に、ユーザーが指定した調整済み信頼性レベル１２１７を割り当てる必要があることを学習しうる。
【０１６７】
図１３を参照すると、例示的なシステムが示されている。図示されているように、システムは、パブリッククラウドからまたは組織のデータセンター内でデプロイできるマイクロサービスアーキテクチャを含みうる。このアーキテクチャにより、システムを単純な単一サーバーデプロイメントとして、または１つ以上のオンプレミスおよび／またはクラウドベースのアプリケーションを含む多層ハイブリッドクラウド環境としてデプロイできる。
【０１６８】
コアシステムコンポーネントは、スケーラビリティを促進し、柔軟な展開を可能にするために、コンテナ（例えばＤＯＣＫＥＲコンテナ）にパッケージ化できるマイクロサービスとして設計できる。コンポーネントが分離され、それぞれが独自の分離された環境で実行できる場合、関連するマイクロサービスのインスタンスをさらに追加することでシステムを拡張できる。コンテナイメージは、管理、バージョンコントロール、コンテナハブからのダウンロード、または組織の環境でハブへのアクセスが許可されていない場合の圧縮ファイルからのロードが可能である。概して、各コンポーネントはＲＥＳＴ  ＡＰＩ（または非同期ジョブの場合はメッセージキュー）を介して通信でき、ほとんどのサービスはステートレスである。複数のマイクロサービスが同じコンテナを共有することが可能であることが理解されよう。
【０１６９】
システムはコンテナサービスを利用しうるが、コア成果物はプレーンコード（ＪａｖａＳｃｒｉｐｔ、Ｊａｖａなど）で維持される場合がある。したがって、コンポーネントは、所望または必要な場合、さまざまな仮想マシンイメージにパッケージ化するまたはインストーラーによってインストールすることができる。
【０１７０】
図示されるように、システムは、クラウドまたはオンプレミスのいずれかにデプロイされ得る管理サーバーモジュール１３１０および通常はローカルに展開されるメインモジュール１３３０を含むがこれらに限定されない、任意の数のモジュールを含み得る。一実施形態では、メインモジュール１３３０は、共有データベースコンポーネント１３４０、オーケストレータコンポーネント１３３１、相関器コンポーネント１３３３、リスク分析およびルール評価コンポーネント１３３２、データソース発見コンポーネント１３３４、および多くのスキャナワーカーコンポーネント１３５０（例えば、ＩＤスキャナ１３５１、Ｈａｄｏｏｐスキャナ１３５２、ファイルシェアスキャナ１３５３、および／またはサードパーティシステムスキャナ１３５４）などの多くのコンポーネントを含む。
【０１７１】
共有データベースコンポーネント１３４０は、データ主体テーブル１３４１、個人情報レコードテーブル１３４２、データソーステーブル１３４３、ルールテーブル１３４４、インシデントテーブル１３４５、アプリケーションテーブル１３４６および／またはアクティビティテーブル１３４７などの多くのデータベーステーブル（１３４１〜１３４７）に情報を格納することができる。図示されるように、様々なコンポーネントおよび／またはマイクロサービスは、情報を格納および／または検索するために共有データベースコンポーネント１３４０にアクセスすることができる。
【０１７２】
特定の実施形態では、データソース発見コンポーネント１３３４を使用することができる。発見コンポーネントは、利用可能なデータソースを検索するように適合させることができる（例えば、ネットワーク発見を使用して）。見つかったデータソースに関連付けられたデータソース情報は、共有データベース１３４０内（例えば、データソーステーブル１３４３内）に格納され得る。
【０１７３】
図示されるように、システムは、ＩＤデータソース１３６１、一次データソース１３６２、二次ソース１３６３、および／またはサードパーティデータソース１３７４などの様々なデータソース１３６０から個人情報結果をスキャンおよび検索するように適合された、多数の分散型オンプレミススキャナワーカーコンポーネント１３５０を含み得る。スキャナ１３５０のそれぞれは、共有データベース１３４０内（例えば、ルールテーブル１３４４内）に格納された１つまたは複数の個人情報ルールに基づいて、データソース内の個人情報を検索することができる。さらに、スキャナ１３５０のそれぞれは、検索された個人情報を共有データベース１３４０内（例えば、個人情報データベーステーブル１３４２内）に格納することができる。上記のように、例示的な個人情報の調査結果は、属性タイプ、属性値および／またはリンク、位置情報、および／またはスキャナＩＤを含み得る。スキャン結果には、ワークロードの計画を可能にするために（例えば、特定の属性について一部またはすべての結果を取得するために）、個人情報属性、データ主体の数などであるがこれに限定されないメタデータも含まれうる。
【０１７４】
一実施形態では、ＩＤスキャナ１３５１は、ＩＤグラフプロファイルがシステムによって維持されるべきデータ主体を決定するために、顧客のＩＤデータソース１３６１のうちの１つまたは複数に接続することができる。上記のように、そのようなＩＤシステム１３６１は、１つまたは複数の構造化データベース（例えば、ＳＱＬ）、ＬＤＡＰまたは他のディレクトリシステムおよび／またはＣＲＭシステムなどのアプリケーションを含み得る。
【０１７５】
ＩＤスキャナ１３５１は、ＩＤシステムに接続し、関連する個人情報を検索し、その結果を共有データベースコンポーネント１３４０に格納することができる。特定の実施形態では、ＩＤスキャナは、ＡＰＩを公開して、スキャンの開始、スキャナステータスのチェック、および／またはスキャンの結果の検索を可能にすることができる。
【０１７６】
一次データソーススキャナ（Ｈａｄｏｏｐスキャナ１３５２など）は、前述のように、個人情報を検索するために組織のプライマリデータソース（Ｈａｄｏｏｐシステム１３６２など）に接続する。特定の実施形態では、一次データソーススキャナは、ＡＰＩを公開して、スキャンを開始し、ステータスをチェックし、および／または個人情報に関連する結果を取得することができる。このスキャナは、入力ファイルの値に基づいてスキャンを実行するジョブを送信する場合がある。そして、そのようなスキャナは、ＡＰＩを介して結果を共有データベース１３４０（例えば、個人情報テーブル１３４２）に格納することができる。
【０１７７】
二次データソーススキャナ（ファイル共有スキャナ１３５３など）は、前述のように、個人情報を検索するために組織の二次データソース（ファイル共有システム１３６３など）に接続する。特定の実施形態では、二次データソーススキャナは、ＡＰＩを公開して、スキャンを開始し、ステータスをチェックし、および／または個人情報に関連する結果を取得することができる。このスキャナは、入力ファイルの値に基づいてスキャンを実行するジョブを送信しうる。そして、そのようなスキャナは、ＡＰＩを介して結果を共有データベース１３４０内（例えば、個人情報テーブル１３４２内）に格納することができる。
【０１７８】
特定の実施形態では、システムは、データ保護システムなどのサードパーティシステムおよびアプリケーション１３７４と統合することができる。サードパーティのスキャナ１３５４を使用して、利用できる個人情報結果および／または個人情報の記録を検索することができる。追加的または代替的に、システムは、格納されたデータおよび／またはメタデータを照会するために、サードパーティシステムおよびアプリケーション１３０５用のＡＰＩを公開することができる。
【０１７９】
概して、システムは、複数のタイプの複数のデータソースをスキャンするように構成することができる（例えば、Ｈａｄｏｏｐサーバー１、Ｈａｄｏｏｐサーバー２、ファイル共有１、ファイル共有２など）。一実施形態では、各タイプのデータソースは、そのタイプのデータソースをスキャンするように特別に適合されたスキャナ１３５０によってスキャンされ得る。他の実施形態では、単一のスキャナを使用して、複数のタイプのデータソースをスキャンすることができる。
【０１８０】
スキャナ１３５０のそれぞれは、ターゲットデータソースのネイティブ検索機能を活用してもよいおよび／またはデータソースの一部として実行してもよい。例えば、Ｈａｄｏｏｐスキャナ１３５１はＭａｐＲｊｏｂを実行できるが、ＳＱＬスキャナ（図示せず）は複数のクエリ（例えば、各テーブルの各カラムに１つなど）を実行できる。
【０１８１】
スケーラビリティは、特定のスキャナのインスタンスをさらに追加することで達成でき、各スキャナはスキャンジョブを取得し、他のスキャナと並行して実行できる。各スキャナインスタンスは、共有データベースをチェックして、実行する保留中のジョブ（「スキャン中タスク」）があるかどうかを確認できる。また、スキャン中タスクが存在する場合、適切なスキャナが自動的にトリガーされてスキャンが実行されうる。
【０１８２】
一部のスキャナでは、作業を別々のスキャンに分割することで並列処理を実現することが所望でありうる。例えば、各個人情報属性を異なるスキャンに分けてもよい（例えば、第１のスキャンで社会保障番号を検索し、第２のスキャンで氏名を検索してもよい）。別の例として、スキャンはアルファベット分割で区切ることができる（例えば、第１のスキャンでは文字ａ〜ｆで始まるフルネームを検索し、第２のスキャンでは文字ｇ〜ｚで始まるフルネームを検索してもよい）。特定のスキャナの場合（例えば、Ｈａｄｏｏｐスキャナ１３５１）、システムのネイティブ並列処理が使用されてもよい。
【０１８３】
一実施形態では、システムは、ディスティンクトハンドラおよび／またはマイクロサービスを呼び出して調整するように適合されたオーケストレータコンポーネント１３３１を備えることができる。例えば、オーケストレータコンポーネントは、スキャナコンポーネント１３５０、相関器１３３３、リスクおよびルールコンポーネント１３３２、データソース１３６０、共有データベースコンポーネント１３４０、および／または管理サーバーコンポーネント１３１２と相互作用することができる。概して、オーケストレータコンポーネント１３３１は、データ主体の個人情報に関連する情報を受信し、スキャナ１３５０のために（例えば、入力ファイルを介して）情報を準備する。スキャナをトリガーし、完了したら、結果を取得して追加のメタデータとともに共有データベースコンポーネントに送信してもよい。
【０１８４】
オーケストレータコンポーネント１３３１は、以下のうちの１つまたは複数を担うことができる：（ユーザからの入力を介して）スキャナ１３５０に構成データを提供する；スキャン、更新などをスケジューリングする；相関ロジックを実行して、個人情報の調査結果と実際のＩＤを照合する（例えば、個人情報のルールに基づいて）；インベントリに対して静的リスク分析を実行し、関連するリスクスコアを更新する；インベントリに対してルール評価を実行し、違反を生成する；および／またはビジネス情報処理を実行する（例えば、ダッシュボードに必要な要約、集計など）。特定の実施形態では、オーケストレータ１３３１は、メタデータ要約を生成する、および／またはそれを管理サーバコンポーネント１３１２にアップロードすることができる。オーケストレータコンポーネント１３３１はまた、リスク計算およびコンプライアンス決定などのさらなる処理を実行することができる。
【０１８５】
例示的なオーケストレータワークフローには、以下のステップが含まれ得る：（１）ＩＤソースのスキャンを実行する；（２）終了時にチェックする；（３）相関器コンポーネント１３３３から、スキャンする属性値のリストを回収し、その値を含む入力ファイルを作成することによって、所与のスキャナ起動を準備する；（４）入力ファイルを使用して所定のスキャナ１３５０を実行する；（５）スキャナがスキャンを完了したことを判断する；および（６）相関コンポーネントを呼び出して、スキャン結果から個人情報レコードを作成する。いずれかのスキャナの特定の要件および／または制約に応じて、結果を共有データベース１３４０に直接書き込み、スキャンが完了したときにオーケストレータコンポーネントが結果を直接読み取ることができる。
【０１８６】
相関器コンポーネント１３３３を使用して、個人情報を定義し、個人情報結果を対応するデータ主体に相関させる。相関器コンポーネント１３３３は、以下のうちの１つまたは複数を担うことができる：（１）個人情報ルール（例えば、共有データベース１３４０のルールテーブル１３４４に格納された）を決定、検索、および／または更新する；（２）個人情報ルールに基づいて、スキャナ１３５０の入力として使用される検索可能な値のリストを提供する；（３）１つまたは複数のスキャナから個人情報結果を受け取ったときに一致するデータ主体を検索する；および（４）一致が見つかったときに、データ主体名、一意のデータ主体ＩＤ、属性名、データソース、および／またはデータリンクを含む個人情報レコードを作成し、それを共有データベース１３４０内（例えば、個人情報テーブル１３４２および／またはデータ主体テーブル１３４１内）に保存する。
【０１８７】
個人情報の調査結果、並びに、ＩＤスキャナから受信した個人情報の属性には、機密値が含まれうることが理解されよう。可能な場合、システムはそのような属性のハッシュ値のみを保存できる。不可能な場合、システム内の他のすべての場所は実際の値ではなくデータへのポインタを保持／使用するだけでよいため、相関のために保持されているすべての一時データが完了後に消去されてもよい。
【０１８８】
特定の実施形態では、システムは、使用またはアクセスされるアプリケーション、アカウント、および／または個人情報レコードを含むがこれらに限定されない、データソース１３６０に関連する活動情報を提供するリスクおよびルールコンポーネント１３３２をさらに含み得る。このような活動データは、ＳＩＥＭ、デジタル資産管理（「ＤＡＭ」）、および／またはクラウドアクセスセキュリティブローカー（「ＣＡＳＢ」）製品を介して決定できる。そして、そのようなデータは、共有データベース内（例えば、活動テーブル１３４７内）に格納され得る。
【０１８９】
リスクおよびルールコンポーネント１３３２は、各個人情報レコードのリスクスコアを計算するようにさらに適合させることができる。上記のように、リスクは、追加的または代替的に、ユーザー、データ主体、個人情報属性、システム、および／または組織全体の１つ以上について計算される場合がある。そのような計算は、個人情報の属性および重みなどの静的パラメータ、および／または使用頻度およびアクセスのタイプ（例えば、読み取り／書き込みなど）などの動的パラメータに基づくことができる。
【０１９０】
リスクおよびルールコンポーネントは、事前に決定され、学習され、および／またはユーザーによって作成されたコンプライアンス規制／ルールに基づいて個人情報レコードをレビューするためにさらに使用できる（例えば、ドイツのユーザーはデータをドイツに保存する必要がある）。このコンポーネントは、ルール違反を報告する／およびまたは特定の場合にそのようなルール違反を許可するように設計されている場合がある。
【０１９１】
依然として図１３を参照すると、システムはさらに、クラウドベースの管理サーバーモジュール１３１０を備える。このモジュールは、管理データベースコンポーネント１３２０、管理サーバー１３１２、およびクライアントアプリケーションコンポーネント１３１１を含む多くのコンポーネントを含む。
【０１９２】
管理データベースコンポーネント１３２０は、メタデータ要約テーブル１３２１、テナント情報テーブル１３２２、ユーザテーブル１３２３、および／またはタスクテーブル１３２４などのいくつかのデータベーステーブル（１３２１〜１３２４）に情報を格納することができる。図示されるように、様々なコンポーネントおよび／またはマイクロサービスは、情報を格納および／または検索するために管理データベースコンポーネント１３２０にアクセスすることができる。
【０１９３】
システムはさらに、任意の数のユーザに情報をグラフィック形式で表示するためのクライアントアプリケーション１３１１を備えることができる。クライアントアプリケーション１３１１は、クライアントデバイス１３０１のウェブブラウザ上で実行されるマルチテナントのウェブベースのアプリケーション（例えば、ＡｎｇｕｌａｒＪＳを使用する）を含み得る。上記のように、クライアントアプリケーションでは、さまざまなテナントのオンプレミス要素をリモート管理することで、個人情報の管理と保護が可能になる場合がある。クライアントアプリケーション１３１１は、コンテナにパッケージ化され、リモートでホストされて、オンプレミスのプライベートクラウドアプリケーションとして単純な移植を提供できるようにするＳａａＳ分散アプリケーションを備えることができる。
【０１９４】
特定の実施形態では、ユーザは、顧客登録活動を実行するためにクライアントアプリケーションにアクセスすることができる。例えば、クライアントアプリケーションでは、ユーザーが以下を行うことを可能にしうる：オンプレミス要素をダウンロードして登録する；個人情報発見タスクを設定および管理する；セルフサービス要素のソフトウェア更新を実行する；システムの状態を監視する；および／またはプラットフォームの上記のダッシュボードおよび機能のいずれかにアクセスする。
【０１９５】
図示されていないが、特定の実施形態では、分析および構成コンポーネントを使用して、クライアントアプリケーションの１つまたは複数のユーザインターフェース画面によって消費されるＡＰＩのバックエンドを提供することができる。このコンポーネントは、メインモジュールによってポーリングされたアクティビティなどのアクティビティを追加することによって、メインモジュール１３３０に命令を送信することができる。
【０１９６】
図１４を参照すると、例示的なデータフロー図が示されている。図示されるように、一実施形態では、クライアントデバイス１４０１上で（例えば、ブラウザまたはブラウザのようなアプリケーションを介して）実行されるクライアントアプリケーション１４１１は、一連のＲＥＳＴ  ＡＰＩ１４０４を介して管理サーバ１４１２と通信することができる。この実施形態では、すべてのグラフィカルユーザインターフェース（「ＧＵＩ」）コマンドは、ディスパッチャキュー１４０２を介してディスパッチされてもよく、オンプレミスコンポーネントからの発信呼び出しのみに依存するようにシステムコンポーネントによってポーリングされてもよい。これにより、ファイアウォールで開いている任意のポートが不要になる。
【０１９７】
スキャナ１４５０によって生成されたスキャンおよび／またはシステムの健全性に関するすべての統計およびメタデータは、応答性のあるユーザー体験を可能にするために、サーバー側のメタデータ要約キャッシュデータベース１４２１に格納され得る。一実施形態では、メタデータの要約のみを管理サーバー１４１２にアップロードして、個人情報がサーバーに到達しないようにすることができる。したがって、そのようなメタデータの要約は、クラウドにのみ保存することができる。
【０１９８】
本明細書に記載されている主題および機能的操作の実施形態は、以下の１つ以上で実装できる：デジタル電子回路；有形に具現化されたコンピュータソフトウェアまたはファームウェア；本明細書に開示されている構造およびそれらの機能等価物を含むコンピュータハードウェア；およびそれらの組合せ。そのような実施形態は、データ処理装置（すなわち、１つまたは複数のコンピュータプログラム）による実行のために、またはその動作を制御するために、有形の非一時的プログラムキャリア上に符号化されたコンピュータプログラム命令の１つまたは複数のモジュールとして実装することができる。プログラム命令は、代替的または追加的に、データ処理装置による実行のために適切な受信機装置に送信するための情報を符号化するために生成される人工的に生成された伝搬信号（例えば、機械生成の電気、光、または電磁信号）に符号化され得る。そして、コンピュータ記憶媒体は、機械可読記憶装置、機械可読記憶基板、ランダムまたはシリアルアクセスメモリ装置、およびそれらの組合せのうちの１つまたは複数であり得る。
【０１９９】
本明細書で使用される場合、「データ処理装置」という用語は、プログラム可能なプロセッサ、コンピュータ、および／または複数のプロセッサまたはコンピュータを含むがこれらに限定されない、データを処理するためのすべての種類の装置、デバイス、および機械を含む。例示的な装置は、フィールドプログラマブルゲートアレイ（「ＦＰＧＡ」）および／または特定用途向け集積回路（「ＡＳＩＣ」）などの特別な目的の論理回路を含み得る。ハードウェアに加えて、例示的な装置は、コンピュータプログラムの実行環境を作成するコード（例えば、プロセッサファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、およびそれらの組合せのうちの１つまたは複数を構成するコード）を含み得る。
【０２００】
「コンピュータプログラム」という用語は、本明細書では、「プログラム」、「ソフトウェア」、「ソフトウェアアプリケーション」、「モジュール」、「ソフトウェアモジュール」、「スクリプト」、または単に「コード」として称されるあるいは説明されてもよい。コンピュータプログラムは、コンパイルまたは解釈された言語、宣言型または手続き型言語などを含む、あらゆる形式のプログラミング言語で記述でき、スタンドアロンプログラムとしてまたはモジュールとして、コンポーネント、サブルーチン、またはコンピューティング環境での使用に適した他のユニットを含む任意の形態でデプロイできる。このようなソフトウェアは、ファイルシステム内のファイルに対応する場合がある。プログラムは、他のプログラムまたはデータを保持するファイルの一部に保存できる。例えば、プログラムには、以下に格納された１つまたは複数のスクリプトが含まれてもよい：マークアップ言語ドキュメント；問題のプログラム専用の単一ファイル；または複数の調整されたファイル（例えば、１つ以上のモジュール、サブプログラム、またはコードの一部を格納するファイル）。コンピュータプログラムは、または、１つのサイトに配置されているか、複数のサイトに分散され通信ネットワークによって相互接続されている、１台のコンピュータまたは複数のコンピュータ上で展開および／または実行できる。
【０２０１】
本明細書に記載のプロセスおよび論理フローは、１つまたは複数のコンピュータプログラムを実行する１つまたは複数のプログラム可能なコンピュータによって実行され、入力データを操作して出力を生成することによって機能を実行することができる。プロセスおよび論理フローはまた、ＦＰＧＡおよび／またはＡＳＩＣなどであるがこれらに限定されない、特別な目的の論理回路によって実行することができ、装置を実装することもできる。
【０２０２】
１つまたは複数のコンピュータプログラムの実行に適したコンピュータには、汎用マイクロプロセッサ、特殊目的マイクロプロセッサ、および／または任意の他の種類の中央処理装置（「ＣＰＵ」）が含まれるが、これらに限定されない。概して、ＣＰＵは、読み取り専用メモリ（「ＲＯＭ」）および／またはランダムアクセスメモリ（「ＲＡＭ」）から命令とデータを受信する。コンピュータの重要な要素は、命令を実行または実行するためのＣＰＵと、命令とデータを格納するための１つ以上のメモリデバイスである。概して、コンピュータはまた、データを格納するための１つまたは複数の大容量記憶装置（例えば、磁気、光磁気光ディスク、および／または光ディスク）を含むか、またはそれらからデータを受信するかまたはそれらへデータを転送するかあるいはその両方のために動作結合される。ただし、コンピュータにそのようなデバイスが必要なわけではない。さらに、コンピュータは、携帯電話、携帯情報端末（「ＰＤＡ」）、モバイルオーディオまたはビデオプレーヤー、ゲーム機、グローバルポジショニングシステム（「ＧＰＳ」）受信機、またはポータブルストレージデバイス（ユニバーサルシリアルバス（「ＵＳＢ」）フラッシュドライブなど）などであるがこれらに限定されない別のデバイスに組み込まれ得る。
【０２０３】
コンピュータプログラムの命令およびデータを格納するのに適したコンピュータ可読媒体には、あらゆる形態の不揮発性メモリ、媒体、およびメモリデバイスが含まれる。例えば、コンピュータ可読媒体は、以下のうちの１つまたは複数を含み得る：消去可能プログラマブル読み取り専用メモリ（「ＥＰＲＯＭ」）、電気的消去可能プログラマブル読み取り専用メモリ（「ＥＥＰＲＯＭ」）および／またはフラッシュメモリデバイスなどの半導体メモリデバイス；内蔵ハードディスクやリムーバブルディスクなどの磁気ディスク；光磁気ディスク；および／またはＣＤ−ＲＯＭおよびＤＶＤ−ＲＯＭディスクプロセッサとメモリは、特別な目的の論理回路によって補完または組み込むことができる。
【０２０４】
ユーザとの相互作用を提供するために、実施形態は、ユーザに情報を表示するための任意のタイプの表示デバイスを有するコンピュータ上に実装され得る。例示的なディスプレイデバイスには、プロジェクター、ブラウン管（「ＣＲＴ」）モニター、液晶ディスプレイ（「ＬＤＣ」）、発光ダイオード（「ＬＥＤ」）モニター、および／または有機物発光ダイオード（「ＯＬＥＤ」）モニターのうちの１つまたは複数が含まれるが、これらに限定されない。コンピュータは、ユーザがコンピュータに入力を提供することができる１つまたは複数の入力デバイスをさらに備えることができる。入力デバイスは、キーボード、ポインティングデバイス（例えば、マウスまたはトラックボール）のうちの１つまたは複数を含み得る。ユーザーからの入力は、音響、音声、または触覚入力を含む任意の形式で受信できる。さらに、フィードバックは、任意の形態の感覚フィードバック（例えば、視覚的フィードバック、聴覚的フィードバック、または触覚的フィードバック）を介してユーザーに提供され得る。コンピューターは、ユーザーが使用するデバイスとの間でドキュメントを送受信することにより、ユーザーと対話できる（例えば、Ｗｅｂブラウザーから受信した要求に応じて、ユーザーのクライアントデバイス上のＷｅｂブラウザーにＷｅｂページを送信することにより）。
【０２０５】
本明細書に記載されている主題の実施形態は、以下のコンポーネントのうちの１つまたは複数を含むコンピューティングシステムに実装することができる：バックエンドコンポーネント（例えば、データサーバ）；ミドルウェアコンポーネント（アプリケーションサーバーなど）；フロントエンドコンポーネント（例えば、グラフィカルユーザーインターフェイス（「ＧＵＴ」）および／またはユーザーがこの仕様に記載されている主題の実装と対話できるＷｅｂブラウザを備えたクライアントコンピュータ）；および／またはそれらの組合せ。システムの構成要素は、通信ネットワークなどであるがこれに限定されない、任意の形式または媒体のデジタルデータ通信によって相互接続することができる。通信ネットワークの非限定的な例には、ローカルエリアネットワーク（「ＬＡＮ」）およびワイドエリアネットワーク（「ＷＡＮ」）、例えばインターネットが含まれる。
【０２０６】
コンピューティングシステムは、クライアントおよび／またはサーバーを含み得る。クライアントとサーバーは互いに離れていて、通信ネットワークを介して相互作用する場合がある。クライアントとサーバーの関係は、それぞれのコンピュータで実行され、クライアントとサーバーの関係を持っているコンピュータープログラムによって発生する。
【０２０７】
本明細書では、上記で論じた詳細、添付の図面、および特許請求の範囲を参照して、様々な実施形態が説明されている。様々な実施形態の完全な理解を提供するために、多数の特定の詳細が説明されている。ただし、場合によっては、簡潔な説明を提供するために、よく知られている、または従来の詳細が説明されていない。図は必ずしも縮尺どおりではなく、特定のコンポーネントの詳細を示すために、一部の機能が誇張または最小化されている場合がある。したがって、本明細書に開示される特定の構造的および機能的詳細は、限定として解釈されるべきではなく、単に請求項の基礎として、および当業者に実施形態を様々に使用することを教えるための代表的な基礎として解釈されるべきである。
【０２０８】
本明細書に記載および特許請求される実施形態および図面は例示的なものであり、実施形態を限定するものとして解釈されるべきではない。これらの実施例は、実施形態のいくつかの態様の例示として意図されているので、本明細書の主題は、特定の実施例によって範囲が限定されるべきではない。任意の等価実施例は、仕様の範囲内にあることを意図している。実際、本明細書に示され記載されたものに加えて、開示された実施形態の様々な修正が当業者に明らかになり、そのような修正もまた、添付の特許請求の範囲内に入ることが意図される。
【０２０９】
本明細書は多くの特定の実施の詳細を含むが、これらは、任意の発明の範囲または請求され得るものの制限として解釈されるべきではなく、むしろ特定の発明の特定の実施形態に固有であり得る特徴の説明として解釈されるべきである。ディスティンクト実施形態の文脈で本明細書に記載されている特定の特徴はまた、単一の実施形態で組み合わせて実施することができる。逆に、単一の実施形態の文脈で説明される様々な特徴はまた、複数の実施形態で別々に、または任意の適切なサブコンビネーションで実装することができる。さらに、特徴は、特定の組合せで作用するものとして上記に記載され、最初はそのように主張されても、主張された組み合わせからの１つまたは複数の特徴は、場合によっては組合せから切り出され得、主張された組合せは、サブコンビネーションまたはサブコンビネーションの変形に向けられ得る。
【０２１０】
同様に、操作は特定の順序で図面に描かれているが、これは、望ましい結果を達成するために、そのような操作が示された特定の順序または順番に実行されること、または図示されたすべての操作が実行されることを要求することとして理解されるべきではない。特定の状況では、マルチタスクと並列処理が有効な場合がある。さらに、上記の実施形態における様々なシステムモジュールおよびコンポーネントの分離は、すべての実施形態においてそのような分離を必要とするものとして理解されるべきではなく、説明されたプログラムコンポーネントおよびシステムは、概して、単一のソフトウェア製品に一緒に統合され得る、または複数のソフトウェア製品にパッケージ化されている。
【０２１１】
本明細書で引用された特許、特許出願および出版物を含むすべての参考文献は、あらゆる目的のために、個々の刊行物または特許または特許出願がその全体が参照により組み込まれることが具体的かつ個別に示された場合と同程度に、その全体およびすべての目的のために参照により本明細書に組み込まれる。
【図１】
2021534483.tif 000006
【図２】
2021534483.tif 000007
【図３】
2021534483.tif 000008
【図４】
2021534483.tif 000009
【図５Ａ】
2021534483.tif 000010
【図５Ｂ】
2021534483.tif 000011
【図６】
2021534483.tif 000012
【図７】
2021534483.tif 000013
【図８】
2021534483.tif 000014
【図９】
2021534483.tif 000015
【図１０】
2021534483.tif 000016
【図１１】
2021534483.tif 000017
【図１２】
2021534483.tif 000018
【図１３】
2021534483.tif 000019
【図１４】
2021534483.tif 000020
【国際調査報告】
2021534483.tif 000021