(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-01-17
(54)【発明の名称】トレーニングセットとして用いる文書からの機密データの除去
(51)【国際特許分類】
G06T 7/00 20170101AFI20220107BHJP
G06V 30/14 20220101ALI20220107BHJP
【FI】
G06T7/00 350Z
G06K9/20 340J
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021524961
(86)(22)【出願日】2019-11-07
(85)【翻訳文提出日】2021-06-24
(86)【国際出願番号】 CA2019051589
(87)【国際公開番号】W WO2020093165
(87)【国際公開日】2020-05-14
(32)【優先日】2018-11-07
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】521132406
【氏名又は名称】エレメント・エイ・アイ・インコーポレイテッド
【氏名又は名称原語表記】ELEMENT AI INC.
(74)【代理人】
【識別番号】110001195
【氏名又は名称】特許業務法人深見特許事務所
(72)【発明者】
【氏名】ドゥ・ベルカー,アルシー・オットー
(72)【発明者】
【氏名】グアイ,フィリップ
(72)【発明者】
【氏名】トゥーリヨン,ドミニク
(72)【発明者】
【氏名】マルコット,エティエンヌ
【テーマコード(参考)】
5B029
5L096
【Fターム(参考)】
5B029AA01
5B029BB02
5B029CC27
5B029EE13
5L096BA18
5L096FA19
5L096HA11
5L096JA22
5L096KA04
(57)【要約】
文書の画像内の機密データの置き換えまたは除去に関するシステムおよび方法を提供する。機密データを含む文書の初期画像が実行モジュールにおいて受取られ、実行モジュールのトレーニングに基づいて変更が加えられる。当該変更は、文書の画像から機密データを置き換えるかまたは実質的に除去することを含む。次いで、変更の検証のために、サニタイズ済み結果画像がユーザに送信される。次いで、文書の他の初期画像に変更を加えるときに、実行モジュールの挙動を改良するように当該実行モジュールをトレーニングする際にユーザからのフィードバックが用いられる。実行モジュールをトレーニングするために、ユーザによって手動でタグ付けされた機密データを含む文書画像のトレーニングデータセットが用いられる。このため、実行モジュールは、機密データを識別するように学習し、当該実行モジュールのサブモジュールは当該機密データを適切な置き換えデータと置き換える。ユーザからのフィードバックは、実行モジュールからのサニタイズ済み結果画像を改善するように機能する。
【特許請求の範囲】
【請求項1】
文書の画像内の機密データを置き換えるための方法であって、
a)前記文書の初期画像を受取るステップと、
b)前記初期画像に少なくとも1つの変更を加えることで前記文書のサニタイズ済み画像をもたらす実行モジュールに前記初期画像を通すステップと、
c)検証のために前記サニタイズ済み画像をユーザに送信するステップと、
d)前記サニタイズ済み画像に関するユーザフィードバックを受取るステップと、
e)前記ユーザフィードバックを用いて前記実行モジュールをトレーニングするステップとを含み、
前記少なくとも1つの変更は、前記画像内の前記機密データの実質的な除去または置き換えを含む、方法。
【請求項2】
前記実行モジュールがニューラルネットワークを含む、請求項1に記載の方法。
【請求項3】
前記実行モジュールが畳み込みニューラルネットワークを含む、請求項2に記載の方法。
【請求項4】
前記ユーザフィードバックが前記変更に対する修正を含む、請求項1に記載の方法。
【請求項5】
前記変更は、
少なくとも1つの境界ボックスを前記初期画像内の機密データのクラスタに追加することで、前記少なくとも1つの境界ボックス内の機密データを実質的に除去すべきものまたは非機密置き換えデータと置き換えるべきものとすることと、
前記機密データが難読化されるかまたは読取り不可能となるように、前記文書中の機密データの少なくとも1つのクラスタを覆い隠すことと、
前記初期画像において少なくとも1つの要素の周囲に境界を設けることと、のうち少なくとも1つを含み、前記少なくとも1つの要素は、前記画像内で実質的に除去すべきものまたは置き換えるべきものとなるように前記機密データを含む、請求項1に記載の方法。
【請求項6】
ステップe)で用いられる前記フィードバックは、前記初期画像において前記実行モジュールによって除去されていないかまたは置き換えられていない機密データの線引きの少なくとも1回の追加を含む、請求項1に記載の方法。
【請求項7】
前記フィードバックは前記少なくとも1つの変更の承認または却下を含む、請求項1に記載の方法。
【請求項8】
少なくとも1つの特定のタイプのデータの前記機密データは、
人の名前、
人の住所、
性別、
秘密情報、
身体的特徴、
財政情報、
健康関連情報、
ビジネス関連情報、
企業体の名前、
企業体の住所、
日付、
クレジットカード番号、
銀行口座データ、
社会保障番号/社会保険番号、
個人識別データ、および、
血液型、
のうち少なくとも1つを含む、請求項1に記載の方法。
【請求項9】
前記機密データが置き換えデータと置き換えられ、前記置き換えデータの要素がデータベースから無作為に選択される、請求項1に記載の方法。
【請求項10】
前記機密データが置き換えデータと置き換えられ、前記置き換えデータがデータベースから選択されたデータ要素を連結することによって作成される、請求項1に記載の方法。
【請求項11】
前記機密データが置き換えデータと置き換えられ、前記置き換えデータの少なくとも一部が無作為に生成される、請求項1に記載の方法。
【請求項12】
前記機密データが置き換えデータと置き換えられ、前記置き換えデータは、前記画像から前記機密データを実質的に除去するブロックである、請求項1に記載の方法。
【請求項13】
前記機密データが置き換えデータと置き換えられ、前記置き換えデータの少なくとも一部は、データベースから選択されたデータ要素を連結することによって作成される、請求項1に記載の方法。
【請求項14】
文書内の機密データを置き換えるのに用いられるシステムであって、
前記文書の初期バージョンを受取るための、および、前記初期画像に少なくとも1つの変更を加えてサニタイズ済み画像をもたらすための実行モジュールと、
検証のために前記文書の前記サニタイズ済みバージョンをユーザに送信するための、および、前記ユーザからフィードバックを受取るための検証モジュールとを含み、
前記フィードバックは、前記実行モジュールをさらにトレーニングするために用いられ、
前記少なくとも1つの変更は、前記文書内の前記機密データの実質的な除去または置き換えを含む、システム。
【請求項15】
前記ユーザから受取った前記フィードバックを格納するための格納モジュールをさらに含む、請求項14に記載のシステム。
【請求項16】
前記検証モジュールから前記フィードバックを受取るための、および、前記フィードバックに基づいて前記実行ユニットの挙動を調整するための連続学習ユニットをさらに含む、請求項14に記載のシステム。
【請求項17】
前記実行ユニットはニューラルネットワークを含む、請求項14に記載のシステム。
【請求項18】
前記実行ユニットは畳み込みニューラルネットワークを含む、請求項17に記載のシステム。
【請求項19】
少なくとも1つの特定のタイプのデータの前記機密データは、
人の名前、
人の住所、
性別、
秘密情報、
身体的特徴、
財政情報、
健康関連情報、
ビジネス関連情報、
企業体の名前、
企業体の住所、
日付、
クレジットカード番号、
銀行口座データ、
社会保障番号/社会保険番号、
個人識別データ、および、
血液型、
のうち少なくとも1つを含む、請求項14に記載のシステム。
【請求項20】
前記文書が、前記システムによって受取られ、前記文書のデジタル画像として処理される、請求項14に記載のシステム。
【請求項21】
文書内の機密データを置き換えるための方法であって、
a)前記文書の初期バージョンを受取るステップと、
b)前記初期バージョンに少なくとも1つの変更を加えることで前記文書のサニタイズ済みバージョンをもたらす実行モジュールに前記初期バージョンを通すステップと、
c)検証のために前記サニタイズ済みバージョンをユーザに送信するステップと、
d)前記サニタイズ済みバージョンに関するユーザフィードバックを受取るステップと、
e)前記ユーザフィードバックを用いて前記実行モジュールをトレーニングするステップとを含み、
前記少なくとも1つの変更は、前記文書内の前記機密データの実質的な除去または置き換えを含む、方法。
【発明の詳細な説明】
【技術分野】
【0001】
技術分野
本発明は文書処理に関する。より具体的には、本発明は、文書内の機密情報を置き換えるためのシステムおよび方法に関する。
【背景技術】
【0002】
背景
21世紀初期は、複数の産業において機械学習が出現し、その偏在性が高まったことを特徴とした時代であった。しかしながら、機械学習が次段階へと進んでビジネス界に浸透するには、機械学習は、ビジネスを運営するための何千ものさまざまなタスクに対処できなければならない。これを可能にするために、機械学習システムは、このようなタスクを学習し、改良し、最終的に実行しなければならないだろう。また、これを適切に実行できるようにするために、機械学習システムは大量のデータへのアクセスを必要とするだろう。さらに、これらの大量のデータを用いてこのような機械学習システムを適切にトレーニングすることで、さまざまなビジネスプロセスを実現することができる。
【0003】
このような大量のデータが利用可能であることは明らかであろう。ビジネスの自動化の利用が増えているにも関わらず、ビジネス界は依然として紙やその写しを中心として展開している。一例として、ビジネスは依然として、(紙上の)文字、(紙上に印刷される)請求書、および(紙上に印刷される)領収書を用いて行なわれている。ペーパーレス社会がますます盛んに推奨されているが、実際には紙が依然として広く用いられており、紙を段階的に廃止する試みが進められているものの、このように紙を媒体としてデータを扱う形態が直ちに変化する可能性は低い。このような例として挙げられるのはペーパーレスの請求書および領収書であり、ペーパーレスであるにも関わらず、その見た目は紙に印刷されたものと同じままである。
【0004】
このようなビジネスプロセスを実行するために、上述のような紙の記録、請求書および文書を用いることで機械学習システムをトレーニングすることができる。しかしながら、この方針は、プライバシーといった、情報技術革命の別の主要な懸念に起因する問題を伴う。請求書、クレジットカード領収書、医療報告書などの現実世界の文書は全て、人々が自分以外の他者に利用されることを望まない情報を含んでいる。このため、機械学習システムのためのトレーニングデータセットにおいて現実世界の文書を使用できるようにしつつユーザのデータおよびプライバシーを保護できるシステムおよび方法が必要とされている。
【発明の概要】
【課題を解決するための手段】
【0005】
概要
本発明は、文書の画像内の機密データの置き換えまたは除去に関するシステムおよび方法を提供する。機密データを含む文書の初期画像は、実行モジュールにおいて受取られ、実行モジュールのトレーニングに基づいて変更が加えられる。当該変更は、文書の画像から機密データを識別すること、線引きすること、および、置き換えるかまたは実質的に除去することを含む。次いで、変更の検証のために、サニタイズ済み結果画像がユーザに送信される。文書の他の初期画像に変更を加えるときに、実行モジュールの挙動を改良するように当該実行モジュールをさらにトレーニングするのにユーザからのフィードバックが用いられる。実行モジュールをトレーニングするために、ユーザによって手動でタグ付けされた機密データを含む文書画像のトレーニングデータセットが用いられる。このため、実行モジュールは、機密データを識別するように学習し、当該モジュールは、そのサブモジュールを用いて当該機密データを適切な置き換えデータと置き換える。ユーザからのフィードバックは、実行モジュールからのサニタイズ済み結果画像を改善させるように機能する。
【0006】
第1の局面では、本発明は、文書の画像内の機密データを置き換えるための方法を提供する。当該方法は、
a)当該文書の初期画像を受取るステップと、
b)当該初期画像に少なくとも1つの変更を加えることで当該文書のサニタイズ済み画像をもたらす実行モジュールに当該初期画像を通すステップと、
c)検証のために当該サニタイズ済み画像をユーザに送信するステップと、
d)当該サニタイズ済み画像に関するユーザフィードバックを受取るステップと、
e)当該ユーザフィードバックを用いて当該実行モジュールをトレーニングするステップとを含み、
当該少なくとも1つの変更は、当該画像内の当該機密データの実質的な除去または置き換えを含む。
【0007】
第2の局面では、本発明は、文書内の機密データを置き換えるための方法を提供する。当該方法は、
a)当該文書の初期バージョンを受取るステップと、
b)当該初期バージョンに少なくとも1つの変更を加えることで当該文書のサニタイズ済みバージョンをもたらす実行モジュールに当該初期バージョンを通すステップと、
c)検証のために当該サニタイズ済みバージョンをユーザに送信するステップと、
d)当該サニタイズ済みバージョンに関するユーザフィードバックを受取るステップと、
e)当該ユーザフィードバックを用いて当該実行モジュールをトレーニングするステップとを含み、
当該少なくとも1つの変更は、当該文書内の当該機密データの実質的な除去または置き換えを含む。
【0008】
さらなる局面において、本発明は、文書内の機密データを置き換えるのに用いられるシステムを提供する。当該システムは、
当該文書の初期バージョンを受取るための、および、当該初期バージョンに少なくとも1つの変更を加えて当該文書のサニタイズ済みバージョンをもたらすための実行モジュールと、
検証のために当該サニタイズ済みバージョンをユーザに送信するための、および、当該ユーザからフィードバックを受取るための検証モジュールとを含み、
当該フィードバックは、当該実行モジュールをさらにトレーニングするために用いられ、
当該少なくとも1つの変更は、当該文書内の当該機密データの実質的な除去または置き換えを含む。
【0009】
図面の簡単な説明
本発明の実施形態を添付の図面を参照して説明する。添付の図面においては、異なる図中の同一の参照符号は同一の要素を示す。
【図面の簡単な説明】
【0010】
【
図1】本発明の一局面に従ったシステムを示すブロック図である。
【
図2】
図1に示すシステムの変形例を示すブロック図である。
【
図3】
図1に示すシステムのさらに別の変形例を示すブロック図である。
【
図4】境界ボックスによって線引きされた機密データのクラスタを含む文書を示す画像である。
【
図5】
図1のシステムにおいて用いられるとおりに実行モジュールにおいて用いられ得るサブモジュールを示すブロック図である。
【
図6】
図1に示すシステムの一部分におけるサブモジュールを示すブロック図である。
【
図7】本発明の別の局面に従った方法を示すフローチャートである。
【発明を実施するための形態】
【0011】
詳細な説明
一局面では、本発明は、機密データを含む1つ以上の文書の画像を受取る。本発明のこの局面に従ったシステムは、1つ以上の文書内の機密データを位置特定し、遮断し、置き換えデータと置き換えるようにトレーニングされる。当該システムは、1つ以上の文書上の機密データをユーザに識別させる(すなわち、機密データに「タグ付け」する)ことによってトレーニングされる。このように、当該システムは、タグ付けされたデータを観察することによって、文書内のどのデータがタグ付けされ、(たとえば、境界ボックスを用いることによって)遮断され、さらに置き換えられるべきかを学習する。置き換えデータは、無作為に生成されてもよく、許容可能なデータ(すなわち、非機密データ)のデータベースを利用して生成されてもよく、または、1つ以上の文書の画像から機密データが実質的に難読化/除去されるようなものであってもよい。
【0012】
図1を参照すると、本発明の一局面に従ったシステムのブロック図が示される。この実現例では、システムは、ラベル付けされていないデータセット画像を受入れ、ラベル付けし、検証するように構成される。システム10は、機密データを含む文書の画像20と、実行モジュール30と、同じ文書のサニタイズ済み結果画像40とを含む。文書の初期画像20は実行モジュール30によって受取られ、画像内の機密データが、実行モジュール30によってタグ付けされる、および/または置き換えデータと置き換えられる。次いで、サニタイズ済み結果画像40は、検証モジュールによる検証のためにユーザ50に送信される。ユーザ50は、実行モジュール30によって初期画像20に加えられた変更を確認または編集する。次いで、ユーザのフィードバック60を用いることで、より適切な変更を初期画像に加える際に実行モジュール30をさらにトレーニングすることができる。当然、必要に応じて、必要なときに、1つ以上の光学式文字認識(optical character recognition:OCR)プロセスを画像または画像のいくつかの部分に適用することで、当該画像内または当該画像のいくつか部分内の文字および/またはテキストを判定してもよい。
【0013】
本発明の変形例では、
図2を参照すると、ユーザからのフィードバック60が格納モジュール70に格納され、実行モジュール30の挙動を後でトレーニングするために用いられる。代替的には、
図3に示す別の変形例では、フィードバック60は、フィードバック60に基づいて実行モジュール30の挙動を調整する連続学習モジュール80に送信される。
図3において、連続学習モジュール80は、実行モジュール30がどのように挙動するかと、実行モジュール30が何を初期画像20に加えるかと、を連続的に学習して調整する。
【0014】
想定され得るように、初期画像20に加えられた変更をユーザ50が承認または検証した結果、サニタイズ済み画像40が得られると、このサニタイズ済み画像40がトレーニングデータセットにおいて使用可能となる。しかしながら、ユーザ50が実行モジュールによって加えられた変更を不許可とする場合および/または編集する場合、この不許可および/または編集という結果を用いて実行モジュール30がさらにトレーニングされる。実行モジュール30のさらなるトレーニングが(
図3に示す構成のように)連続的であり得ること、または、(
図2に示す構成のように)実行モジュールのためのトレーニングデータとして適用される収集データ(すなわち、ユーザフィードバック)を用いてさまざまな時間に実行され得ることが明らかであろう。
【0015】
上述の説明は初期画像およびサニタイズ済み画像について言及しているが、一局面では、これら2つの画像間の主な相違点が、初期画像から機密データおよび/または機密テキストを除去することおよび/または置き換えることにより結果としてサニタイズ済み画像を得ることであることが明らかであろう。上述の説明はテキストのタグ付けおよび/または当該テキストの周囲への境界ボックスの配置について言及しているが、機密データが非テキストデータを含み得ることにも留意されたい。別の変形例では、サニタイズ済み画像は、ユーザによる検証のために、タグ付けされた機密データ/境界ボックスに配置された機密データのみを有している可能性もある。次いで、タグ付けされた機密データのこれらのクラスタが、後続のステップにおいて置き換えられ得るかまたは実質的に除去され得る。
【0016】
一実現例では、実行モジュール30は畳み込みニューラルネットワーク(convolutional neural network:CNN)を含む。当該畳み込みニューラルネットワークは文書の画像を用いてトレーニングされたものであって、機密データが手動で識別および/またはタグ付けされており、当該画像はトレーニングデータセットにコンパイルされている。これらのトレーニングデータセットは、CNNに、所望の最終結果の例、たとえば、境界ボックスで線引きされている機密データを含む画像を提供する。CNNが機密データを認識するようにトレーニングされると、実行モジュール30の一部は、機密データを適切な置き換えデータと置き換えることができる。
【0017】
図4に示される一例では、システムのためのタスクは、特定のデータタイプを認識すること、および、ユーザがデータ(すなわち、機密データ)を入力した請求書式の領域の周囲に境界ボックスを配置することである。
図4から分かるように、境界ボックスを含む領域は、個人情報(たとえば、名前(name)、住所(address)、生年月日(date of birth)、電子メールアドレス(email address)、および保険証券番号(policy number))を含む区域を含む。データのこれらのクラスタが境界ボックスで区切られていると、これらの境界ボックス内のデータは、適切な置き換えデータを用いて置き換え/除去することができる。データが除去される/置き換えられると、結果として得られる画像がユーザによって検証され得ることが明らかであろう。ユーザにはサニタイズ済み画像が提示されるだろう。すると、ユーザにとっては、機密データが置き換えられたかまたは実質的に除去されたことの確認だけが必要となるだろう。
【0018】
実行モジュールがトレーニングされると、機密データを含む画像を実行モジュールによって受取ることができ、各画像に対する所望の変更を実行モジュールによって加えることができる(すなわち、機密データを境界ボックスによって範囲規定することができ、境界ボックス内のデータを適切な置き換えデータと置き換えることができる)ことは明らかであろう。この変更が加えられると、サニタイズ済み結果画像が検証のためにユーザに送信される。検証がなされると、サニタイズ済み画像はトレーニングデータセットの一部として格納可能および使用可能になる。しかしながら、サニタイズ済み画像が適切でない(たとえば、境界ボックスがすべての機密データを含まないか、または、機密データのうち少なくともいくらかが適切に除去されていないかもしくは置き換えられていないか、または、機密データが適切に除去されていない/置き換えられていない)場合、ユーザは、置き換えられていない機密データまたは残りの機密データを遮断することによって、変更を編集することができる。このため、ユーザは、境界ボックスによって範囲規定する必要のある機密データがボックス内に収まるように、たとえば、境界ボックスを追加することができるか、または、画像に適用された境界ボックスの範囲を変更もしくは追加することができる。
【0019】
ラベル付けされたデータセット画像に加えられた変更をユーザが編集すると、編集されたデータセット画像はフィードバックとして用いられる。上述したように、このフィードバックは、実行モジュールをさらにトレーニングするのに用いられる新しいトレーニングデータセットの一部として用いることができる。
【0020】
また、本発明のさまざまな局面が異なる変形例を包含することも明らかであろう。一例として、図および上述の説明は「境界ボックス」を説明しているが、画像内の特徴を線引きするのに用いられる「ボックス」は、箱形または長方形/正方形でもなくてもよい。他の形状および線引き方法(たとえば、点、線、多角形)も可能であり、本発明によって包含される。また、このようなボックスの他の構成およびシステムの他の構成も本発明によって包含される。
【0021】
本発明の一変形例では、実行モジュールをトレーニングするのに用いられるフィードバックはいくつかの形態を取り得る。第1の変形例では、実行モジュールをトレーニングする際にサニタイズ済み画像および検証済み画像がすべて用いられる。この変形例では、適切に変更が加えられたすべての画像(すなわち、機密データの識別、除去/置き換えが適切に施された画像)がフィードバックとして用いられる。したがって、実行モジュールが元の画像または初期画像に所望の変更を適切に加えた場合、結果として得られる画像がフィードバックとして用いられる。同様に、実行モジュールが不適切に変更を加える(たとえば、機密データが完全に除去されないかもしくは置き換えられないか、または、置き換えデータが不適切である)場合、変更が適切に加えられた(すなわち、機密データが境界ボックスによって適切に線引きされている)ユーザによる修正画像またはユーザによる編集画像もフィードバックとして用いられる。この変形例では、適切に加えられた変更は実行モジュールの適切な動作を補強するものとして作用し得るとともに、ユーザによる修正画像は、実行モジュールの不適切な動作を修正するものとして作用するはずである。
【0022】
上述に対する別の変形例では、ユーザによる修正画像のみがフィードバックとして用いられる。この変形例では、実行モジュールによって適切に変更が加えられたラベル付き画像は、トレーニングデータセット画像として用いるために送られ得るが、フィードバックの一部を形成しないだろう。これは、ユーザによる編集済みのラベル付き画像またはユーザによる修正済みのラベル付き画像のみがフィードバックに含まれるだろうことを意味している。
【0023】
システムのさらなる変形例では、ユーザ検証は、実行モジュールからのサニタイズ済み画像を承認するかまたは承認しないという形態だけを取り得る。この変形例では、承認されなかったデータセット画像(すなわち、変更が不適切に加えられた画像)は破棄されるだろう。逆に、機密データが置き換えられた/除去された承認済み画像は、フィードバックの一部として用いられ得るとともに、実行モジュールのための新しいトレーニングセットの一部として用いられ得る。このような変形例では、結果として得られた画像に不適切に加えた変更をユーザが編集/修正する必要がないので、検証プロセスが大幅に促進されるだろう。
【0024】
実行モジュールのためのタスクの一部がさまざまなタイプの機密データを区別することであり得ることが明らかであろう。これは、特に、機密データが適切な置き換えデータに置き換えられる実現例に関連しているだろう。一例として、名前データは適切な名前データに置き換えられるべきであり、アドレスデータはアドレスデータに置き換えられるべきである。名前データをアドレスデータと置き換えること、またはその逆に置き換えることは適切ではないだろう。本発明の一変形例では、ユーザは、元の画像において識別されるべき/タグ付けされるべき秘密情報のタイプを指定する。
【0025】
明確にするために、
図5は、実行モジュール内のブロックまたはステージを示す。
図5から分かるように、実行モジュールは、クラスタ判定サブモジュール130と、位置判定サブモジュール140と、データタイプ判定サブモジュール150と、置き換えデータ生成器サブモジュール160と、データ置き換えサブモジュール170とを含む。クラスタ判定サブモジュール130は、手動でタグ付けされたデータトレーニングセットからシステムが学習したものに基づいて、画像内のどの領域が機密データを含んでいるかを判定し得る。次いで、位置判定サブモジュール140によって、そのクラスタについての(ここでは境界ボックスによって区切られている)位置が判定される。次いで、そのクラスタ内のデータ(すなわち、境界ボックス内のデータ)は、データのタイプ(たとえば、データが電話番号であるか、名前であるか、住所であるか、等)に関して判定される必要があるだろう。これは、データタイプ判定サブモジュール150によって行なわれる。次いで、このサブモジュールの結果を用いて、置き換えデータ生成器サブモジュール160を用いて適切な置き換えデータを生成する。置き換えデータが生成されると、次に、この置き換えデータが、データ置き換えサブモジュール170を用いて画像に挿入される。
【0026】
明確にするために、サブモジュール130によって判定されるクラスタは線引きされた上述の境界ボックスに対応しているものとする。こうして、当該システムは、どの領域をクラスタとして規定すべきかと、これにより、どれが境界ボックスを必要とし得るかとを(手動でタグ付けされてユーザによって線引きされたトレーニングデータセットを通じて)学習するだろう。
【0027】
機密データが境界ボックスによって線引きされると(ユーザがトレーニングデータセット内の特定のデータを線引きした後、および、システムが少なくともそのデータセットを用いてトレーニングされた後)、機密データは異なるタイプの機密データに分類される必要があるだろう。このため、実行モジュールは、境界ブロック内のデータのうちどれが機密データで構成されているかを判定するだろう。どのデータタイプがどの境界ブロック内にあるかを初期処理ステージが既に判定しているので、処理ステージは関連するデータタイプを探索するだけである。したがって、一実現例では、名前データ(たとえば、適切な名前および企業名)ならびに住所データ(たとえば、少なくとも番号および街路からなるデータ)が判定される。次いで、各機密データのための適切な置き換えデータが生成される。これは、適切な置き換えデータを無作為に生成するために用いることができる名前要素/住所要素および/または適切な名前のデータベースを参照して行うことができる。機密データのインスタンスごとに置き換えデータが生成されると、次に、置き換えデータが適切な態様で画像に挿入され、これにより、置き換えデータによって元の機密データを覆い隠すことおよび/もしくは上書きすること、または不明瞭にすること、がなされる。上述のように、当該システムは、ユーザからの入力に基づいて、どのデータタイプを見つけるべきかおよび/または置き換えるべきかを学習してもよい。これにより、文書画像内の機密の名前データの置き換えだけを望むユーザが、住所除去済みの画像/住所置き換え済みの画像を有することが確実に防止されるだろう。
【0028】
再び
図5を参照すると、初期処理ステージは、クラスタ判定サブモジュール130および位置判定サブモジュール140を含み得る。処理ステージは、データタイプ判定サブモジュール150、置き換えデータ生成器サブモジュール160、およびデータ置き換えサブモジュール170を含み得る。
【0029】
置き換えデータを無作為に生成する場合、置き換えデータを生成するためにデータベースから無作為に選択されて連結される名前要素/住所要素のデータベースを用いる必要があり得ることが明らかであろう。一例として、無作為な名前は、公知の/一般的なファーストネーム(たとえば、ビル(Bill)、ウィリアム(William)、ジェーン(Jane)、ジョー(Joe)、トム(Tom)、ステイシー(Stacey)など)のデータベースからファーストネームを最初に選択することによって生成されてもよい。次いで、公知の/一般的なラストネームのデータベースにアクセスして、公知の/一般的なラストネーム(たとえば、スミス(Smith)、キム(Kim)、パーク(Park)、シンハ(Singh)、フレッチャー(Fletcher)、クーパー(Cooper)など)を無作為に選択する。次に、これらの2つの無作為な要素を連結することで、結果として、文書の画像内の名前データの1つ以上のインスタンスを置き換えるために用いることができる無作為な置き換え名が得られる。住所については、公知の/一般的な街路名のデータベースにアクセスして、街路名(たとえば、公園、第1番、第2番、主、壁、川など)を無作為に選択する。次いで、一般的な街路名の追加部分を含んだ別のデータベースにアクセスして、無作為な街路の追加部分(たとえば、街路、通り、広場、小路、三日月形広場など)を探し出す。次いで、これらの住所要素を連結することで、街路名を得ることができる。街路番号については、適切な乱数生成器が、街路名と共に用いられるべき街路番号を生成し得る。住所を生成するために、無作為な都市名を上述の方法と併せて用いることもできる。無作為に生成された他の置き換えデータを用いて、他の機密データを置き換えることができる。一例として、社会保険番号または社会保障番号のインスタンスの代わりに、無作為に生成された番号を用いることができる。会社識別情報に関して、データベースから1つ以上の会社名要素を無作為に選択し、次いで、これらの要素を連結して無作為な置き換え用会社名を形成することによって、無作為な会社名も生成され得る。電話番号も無作為に生成され得るか、または、既知の偽番号が文書内に挿入されてもよい。一例として、市外局番を無作為に生成し、市内局番555を無作為に生成された4桁の数字とともに用いて、たとえば(212)555-4243といった既知の偽の番号を得ることもできる。
【0030】
当然、上述のデータベースの内容が偽データまたは無作為データである必要がないことは明らかであろう。文書中に元から存在している機密データの代わりに実データを当該文書に挿入することが望まれる場合もあるかもしれない。このような場合、文書に挿入されるべき実データ点を含む適切なデータベースが用いられてもよい。
【0031】
上述の代替例として、各機密データごとに新しい置き換えデータ点を生成する代わりに、住所または名前の各インスタンスごとに特定の置き換え名/住所を用いることができる。したがって、この代替例の一例として、名前の各インスタンスがJohn Doeなどの特定の名前と置き換えられ、住所の各インスタンスが「スプリングフィールド、エバーグリーンテラス、742(742 Evergreen Terrace, Springfield)」などの特定の置き換え住所と置き換えられるだろう。文書中の電話番号のすべてのインスタンスを置き換えるために特定の偽の電話番号が用いられてもよい。
【0032】
明確にするために、以下のいずれかは、文書中の機密データと見なされ得るとともに、上述の適切な置き換えデータと置き換えられ得る。具体的には、名前、住所、電話番号、社会保険番号、社会保障番号、健康保険番号、ライセンスプレート番号、会社名、ウェブサイトアドレス、電子メールアドレス、車両登録番号、IPアドレス、保険証券番号、クレジットカード番号、身分証明書番号、生年月日、血液型、銀行口座データ、および医療処方箋データである。より明確にするために、「機密データ」という語は、テキストデータだけでなく、画像データ、音声データ、または、ユーザ、企業体もしくは組織が自身/それ自体以外の誰かに利用可能になることを望まないであろう任意のタイプのデータ、も含み得る。このため、「機密データ」という語は、1つの文脈において機密データと見なされる可能性のあるものが別の文脈において機密データと見なされる可能性のないように、文脈に応じて定義され得る。同様に、「機密データ」はまた、ロゴ、企業ロゴ、または文書の画像中に存在し得る他の任意の画像を包含し得る。したがって、ロゴが機密データである場合、そのロゴは、適切な置き換えデータによってタグ付けおよび/または置き換えがなされてもよい。ロゴの場合、適切な置き換えデータは、汎用ロゴ、汎用画像、適切に生成された画像、ならびに/または、文書の画像から機密データを実質的にブロックおよび/もしくは除去するブロックを含み得る。
【0033】
さらにより明確にするために、いくつかの実現例では、個人データであると見なされ得るデータはいずれも、「機密データ」という語に含まれ得る。したがって、「個人データ」または「機密データ」が、識別された自然人または識別可能な自然人に関連する任意の情報を含み得ることと、識別可能な自然人が、特に名前、識別番号、ロケーションデータ、オンライン識別子などの識別子を参照することによって、または当該自然人の身体的、生理学的、遺伝的、精神的、経済的、文化的もしくは社会的な識別情報に特有の1つ以上の要因を参照することによって、直接的または間接的に識別可能な人であることと、が明らかであろう。「機密データ」はまた、或る自然人の先天的または後天的な遺伝的特徴に関連する個人データも含み得るものであって、これら遺伝的特徴は、当該自然人の生理学的機能もしくは健康についての固有の情報を与えるとともに、特に、当該自然人から得られる生体サンプルを分析することによって得られるものである。同様に、「機密データ」はまた、「生体認証データ」または個人データを含み得る。これらデータは、或る自然人の身体的特徴、生理学的特徴または行動特徴に関する特定の技術的処理の結果得られるものであって、これにより、顔の画像または指紋鑑定データなどの当該自然人の固有の識別情報が認められるかまたは裏付けられる。「機密データ」はまた、或る自然人の身体的健康または精神的健康に関連する個人データも含み得るものであって、健康医療サービスの規定も含め、当該個人の健康状態についての情報を示している。加えて、「機密データ」は、或る自然人についての仕事の実績、経済状況、健康、個人的嗜好、関心、信頼性、素行、ロケーション、または動向に関する分析もしくは識別または予測に用いられ得るデータを含み得る。
【0034】
本発明の一実現例では、システムの出力は、文書中のデータのさまざまなクラスタのリストである。各クラスタのパラメータ、内容、ロケーション/位置、およびクラスタの内容のパラメータは各クラスタに関連付けられている。したがって、この出力は、文書の所望の内容および/または関連する内容を判定するために機械学習システムによって用いられ得る。
【0035】
上述の実現例の場合、文書中のデータのさまざまなクラスタ内の機密データは、クラスタ内で、機械学習システムによってデータが処理される前に置き換えることができる。このため、本発明のシステムは文書の画像内の機密データを処理し、判定し、ロケーションを特定するとともに、当該システムは、文書内のデータを用いるであろう機械学習システムによって当該文書が処理される前に、当該機密データを適切な置き換えデータと置き換えるだろう。このため、機密データは、機械学習システムをトレーニングするためのデータセットの一部を形成しないだろう。しかしながら、機密データ自体がトレーニングのためのデータセットの一部を形成しない場合であっても、特に機密データが置き換えデータによって置き換えられた後に、元の機密データの文脈または特徴が保存されて、トレーニングデータセットの一部を形成することが明らかであろう。機密データの特徴(たとえば、機密データの配置、位置決め、および性質)はトレーニングデータセットの一部を形成し得るが、実際の機密データ自体はトレーニングデータセットの一部を形成しないだろう。
【0036】
別の実現例では、ニューラルネットワークが、データタイプ判定サブモジュールにおいて用いられ得る。ニューラルネットワークは、さまざまなクラスタを日付クラスタ、住所クラスタ、または総量クラスタとして分類するタスクが課されている可能性もある。ある特定のサイズよりも大きいクラスタ(すなわち、予め定められた量を上回る量の文字を有するクラスタ)は、それらクラスタが本文クラスタを構成し得るものであって日付クラスタ、住所クラスタまたは総量クラスタではないので、廃棄されてもよい。ニューラルネットワークは或るデータセットでトレーニングされ得る。データセットには、さまざまなビジネス書簡、請求書、領収書、購入注文、請求書式、支払伝票、ならびに、日付クラスタ、住所クラスタおよび総額クラスタとして(手動で、または自動的に)既に分類されているクラスタを含む他のビジネスタイプ文書が含まれる。ニューラルネットワークは、このようなデータセットを用いることにより、ビジネス文書中のクラスタうちどのクラスタがこれらのデータ点(すなわち、住所、日付、総額)を含んでいるかを判定するようにトレーニングされ得る。
【0037】
さらに別の変形例では、
図1のシステムの出力は、上述のデータタイプ判定のためのニューラルネットワークへの適切な入力として用いられてもよい。次いで、ニューラルネットワークは、どのクラスタがどのデータを含み、したがって、どのデータを処理および/または置き換える必要があるかを判定することができる。
【0038】
置き換えデータ生成サブモジュール160が
図6に示すような構成を有し得ることは明らかであろう。
図6から、サブモジュールが、置き換えデータについての要求を受取る集合サブモジュール190を含み得ることが分かるだろう。当該要求は、要求されている置き換えデータのタイプ(たとえば、住所、名前、電話番号など)を含むだろう。この要求に基づいて、適切な置き換えデータ要素がデータベースサブモジュール200から収集され得るとともに、適切な数要素が乱数生成器サブモジュール210から生成され得る。次いで、さまざまな置き換えデータ要素が集合サブモジュール190に送り返され、次に、当該集合サブモジュール190が当該さまざまな要素を組合わせて適切な置き換えデータ点にする。次いで、この生成された置き換えデータがサブモジュール160の出力として送出され得る。
【0039】
本発明はOCR(optical character recognition)方法および技術と共に用いるのに適切であり得るが、本発明が手書きテキストおよび/または手書きデータにも適用可能であり得ることが明らかであろう。このため、手書きテキストが認識され得ると、適切にタグ付けされ得るとともに、適切な置き換えデータに置き換えられ得る。このような置き換えデータはまた、画像内に挿入された置き換えデータが手書きテキストのように見えるように、または、手書きテキストの特徴を有するように、処理または生成されてもよい。当然、置き換えデータは、必要に応じてまたは所望に応じて、タイプされたテキストまたは他の適切なタイプのテキストデータであってもよい。
【0040】
さらに別の代替例では、本発明は、文書の画像に対して作用するのではなく/文書の画像を用いるのではなく、テキスト文書に対して直接作用するように/テキスト文書を直接用いるように、実現されてもよい。テキスト文書は、文書中の機密データを位置特定して識別するように処理することができる。適用可能であれば、機密データのクラスタが識別され、境界ボックスによって範囲規定され、次いで、必要に応じて置き換えられてもよい。テキスト文書上で用いられるプロセスは、テキストがもはやテキストとして認識される必要がないので、OCRプロセスをテキスト文書に適用する必要がない場合を除いて、文書の画像上で用いられるプロセスと同様であることが明らかとなるはずである。テキスト文書の初期バージョンが受取られ、処理され得る。処理が完了すると、テキスト文書のサニタイズ済みバージョンが生成されるだろう。このサニタイズ済みバージョンは、初期バージョン中の機密データがテキスト文書のサニタイズ済みバージョンにおいて置き換えられるかまたは除去されるだろうことを除いては、初期バージョンと同じである。当然、文書の画像に対して機能を発揮する実現例の場合、文書の初期バージョンおよび文書のサニタイズ済みバージョンは、ここでも、機密データがサニタイズ済みバージョンにおいて除去され得るかまたは置き換えられ得るという点で、互いに異なり得る。
【0041】
本発明の別の代替的な実現例は、データベースを参照することなくデータを生成するデータ生成サブモジュールを用いてもよい。適切な名前/データ生成サブモジュールが、このような実現例のために用いられ得る。一例として、適切な名前、住所および他のデータを生成する敵対的生成ネットワークを有するサブモジュールが用いられてもよい。
【0042】
代替例として、上述の説明は、機密データを当該機密データと同じタイプの置き換えデータと置き換えることを詳述しているが、機密データは、単に文書の画像から除去されるだけでもよい。このような代替例の場合、機密データは、文書から機密データを実質的に削除するように、無地色の画像ブロックによって覆い隠されてもよい。このような代替例の場合、置き換えデータは単に機密データを実質的に除去するおよび/または覆い隠すデジタル画像ブロックであるだろう。
【0043】
さらなる代替例として、画像内のデータを手動で「タグ付け」するかまたは線引きするユーザはまた、タイプごとにそのデータを「タグ付け」してもよい。これにより、当該システムが、画像中のどのデータを認識すべきかと、そのデータの種類とを学習することが可能となる。これにより、置き換えデータを生成するべき場合に、当該システムは、適切なタイプの置き換えデータを生成することができる。したがって、名前がサニタイズ済み画像中の生成されたアドレスと置き換えられることはないだろう。
【0044】
図7を参照すると、本発明の別の局面に従った方法のステップを詳述するフローチャートが示されている。この方法は、機密データを含む文書の初期画像を受取るステップ300から開始される。次いで、この初期画像は、1つ以上の変更が画像に加えられる実行モジュールに送信される(ステップ310)。上述したように、この変更は、実行モジュールをトレーニングするのに用いられたデータセットに基づいている。当該変更は、文書の画像内のさまざまな機密データの置き換えまたは除去であり得る。この変更が初期画像に加えられると、検証のためにサニタイズ済み結果画像がユーザに送信される(ステップ320)。ステップ330は、初期画像に変更を加えることに関するユーザのフィードバックを受取るステップである。上述したように、フィードバックは、サニタイズ済み結果画像についてのユーザの検証(すなわち、承認)を含み得るか、または、加えられた変更についてのユーザの編集/修正を含み得る。次いで、このフィードバックを用いて、実行モジュールをさらにトレーニングすることができる(ステップ340)。
【0045】
本発明のさまざまな局面がソフトウェアシステム全体においてソフトウェアモジュールとして実現され得ることが明らかであろう。したがって、本発明は、実行されると、所定の機能でさまざまなソフトウェアモジュールを実現するコンピュータ実行可能命令の形態をとり得る。
【0046】
加えて、他に規定のない限り、本明細書で「画像」または「複数の画像」と言及している場合、それは、ピクセルまたは画素を含むデジタル画像または複数のデジタル画像を指すことが明らかであろう。同様に、「音声ファイル」または「複数の音声ファイル」と言及している場合、それは、他に規定のない限り、デジタル音声ファイルを指している。また、「映像」、「映像ファイル」、「データオブジェクト」、「データファイル」、および他のそのような語はすべて、他に規定のない限り、デジタルファイルおよび/またはデータオブジェクトを意味するものと解釈されるべきである。
【0047】
本発明の実施形態は、方法ステップの態様でプログラムされたコンピュータプロセッサまたは同様のデバイスによって実行されてもよく、または、これらのステップを実行するための手段を備えた電子システムによって実行されてもよい。同様に、電子メモリは、コンピュータディスケット、CD-ROM、ランダムアクセスメモリ(Random Access Memory:RAM)、読出専用メモリ(Read Only Memory:ROM)、または当該技術において公知の同様のコンピュータソフトウェア記憶媒体などを意味し、そのような方法ステップを実行するようにプログラムされてもよい。また、これらの方法ステップを表わす電子信号が通信ネットワークを介して伝送されてもよい。
【0048】
本発明の実施形態は、従来の任意のコンピュータプログラミング言語で実現されてもよい。たとえば、好ましい実施形態は、手続き型プログラミング言語(たとえば「C」もしくは「Go」)、またはオブジェクト指向言語(たとえば「C++」、「java(登録商標)」、「PHP」、「PYTHON」、もしくは「C#」)で実現されてもよい。本発明の代替的な実施形態は、予めプログラムされたハードウェア要素、他の関連する構成要素として、または、ハードウェア構成要素とソフトウェア構成要素との組合せとして実現されてもよい。
【0049】
実施形態は、コンピュータシステムとともに使用するためのコンピュータプログラム製品として実現され得る。そのような実現例は、一連のコンピュータ命令を含んでいてもよく、当該コンピュータ命令は、コンピュータ読取可能媒体(たとえばディスケット、CD-ROM、ROM、もしくは固定ディスク)などの有形媒体上に固定されるか、または、モデムもしくは他のインターフェイスデバイス、たとえば、媒体を通じてネットワークに接続された通信アダプタなどを介して、コンピュータシステムに伝送可能である。媒体は、有形媒体(たとえば光通信線または電気通信線)であってもよく、または、無線技術で実現される媒体(たとえば、マイクロ波、赤外線もしくは他の伝送手法)であってもよい。一連のコンピュータ命令は、本明細書中に前述された機能のすべてまたは一部を具現化するものである。当業者であれば、そのようなコンピュータ命令が、多くのコンピュータアーキテクチャまたはオペレーティングシステムとともに使用するためのいくつかのプログラミング言語で書かれ得ることを理解するはずである。さらに、そのような命令は、半導体デバイス、磁気デバイス、光学デバイスまたは他のメモリデバイスなどの任意のメモリデバイスに格納されてもよく、光学、赤外線、マイクロ波または他の伝送技術などの任意の通信技術を用いて伝送されてもよい。このようなコンピュータプログラム製品が、印刷された文書または電子文書とともに取外し可能媒体(たとえば、市販ソフトウェア)として配布され得ること、コンピュータシステムに(たとえば、システムROMもしくは固定ディスク上に)予め搭載され得ること、または、サーバからネットワーク(たとえばインターネットもしくはワールドワイドウェブ)を介して配布され得ること、が予想される。当然、本発明のいくつかの実施形態は、ソフトウェア(たとえば、コンピュータプログラム製品)とハードウェアとの組合せとして実現されてもよい。本発明のさらに他の実施形態は、全体がハードウェアとして、また全体がソフトウェア(たとえばコンピュータプログラム製品)として実現されてもよい。
【0050】
本発明を理解する人であれば、上述したものの代替的構造および実施形態または変形例に想到し得る。それらはすべて、添付の特許請求の範囲で定義されるとおり本発明の範囲内に収まるよう意図されている。
【国際調査報告】