(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024009774
(43)【公開日】2024-01-23
(54)【発明の名称】フォーム上のフィールドラベルを識別する方法とシステム
(51)【国際特許分類】
G06V 30/412 20220101AFI20240116BHJP
G06V 30/12 20220101ALI20240116BHJP
G06V 30/16 20220101ALI20240116BHJP
G06F 40/216 20200101ALI20240116BHJP
【FI】
G06V30/412
G06V30/12 Z
G06V30/16
G06F40/216
【審査請求】有
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023108397
(22)【出願日】2023-06-30
(31)【優先権主張番号】17/856,764
(32)【優先日】2022-07-01
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】519448326
【氏名又は名称】コニカ ミノルタ ビジネス ソリューションズ ユー.エス.エー., インコーポレイテッド
(74)【代理人】
【識別番号】110001254
【氏名又は名称】弁理士法人光陽国際特許事務所
(72)【発明者】
【氏名】ジャン, ヨンミェン
(57)【要約】 (修正有)
【課題】AI技術の使用またはAIシステムを訓練するための実質的なデータセットのコンパイルを必要とすることなく、比較的少数の繰り返しにおいて、記入済みフォームでのフィールドラベルの識別及び識別後の記入されていないフォームの生成を可能にする方法並びにシステムを提供する。
【解決手段】画像処理を使用して、記入済みフォームからフィールドラベルを識別し、同じ種類のフォーム、あるいは異なって記入されたフォームを2部又は数部比較する方法であって、各記入済みフォーム上の各テキスト行に1つのテキスト文字列を生成し、テキスト文字列を、ベクトルに変換し、異なる記入済みフォームからのベクトルを、フィールドラベルを示す共通の単語を識別するために比較する。一実施形態では、ヒストグラムが生成されて文字や単語の出現頻度を示す。ヒストグラム数値もまたフィールドラベルを示す。
【選択図】
図5
【特許請求の範囲】
【請求項1】
a. 画像として記入済みフォームの複数のバージョンの受領に応じて、前記画像を処理し、各バージョンの各行についてテキスト文字列を生成することと、
b. 各バージョンについて、テキスト文字列の複数の行の行列を生成することと、
各バージョンの各行について、
c. 1つのバージョンの行と別のバージョンの当該行のベクトルの所定の行数内の複数のベクトルの1つとの最良の一致を生成することと、
d. その行にあるテキスト文字列の複数の文字について文字ヒストグラムを構築することと、
e. その行にあるテキスト文字列の複数の単語について単語ヒストグラムを構築することを備える、コンピュータ実施方法であって、
前記方法が、
f. 前記最良の一致の生成に応じて、前記文字ヒストグラムと前記単語ヒストグラムから前記記入済みフォームのフィールドラベルを識別することと、
g. 前記識別されたフィールドラベルを有する空白のフォームを生成することを更に備える、コンピュータ実施方法。
【請求項2】
前記a.におけるバージョンの数が、2または3である、請求項1に記載のコンピュータ実施方法。
【請求項3】
前記所定の行数が3である、請求項1に記載のコンピュータ実施方法。
【請求項4】
前記処理することが、各記入済みフォームの行画像を識別すること、および前記識別された行画像のそれぞれからテキスト文字列を生成することを備える、請求項1に記載のコンピュータ実施方法。
【請求項5】
前記最良の一致の生成に応じて、前記最良の一致の複数のベクトルに対応するそれぞれのテキスト行をアラインすることを更に備える、請求項1に記載のコンピュータ実施方法。
【請求項6】
前記アラインすることが、前記それぞれのテキスト行のテキストが同じ大きさになるように、前記それぞれのテキスト行のテキストをスケーリングすることを備える、請求項5に記載のコンピュータ実施方法。
【請求項7】
前記スケーリングすることが、前記それぞれのテキスト行内の同じ文字を識別することと、前記識別された文字にスケーリングを実行することとを備える、請求項6に記載のコンピュータ実施方法。
【請求項8】
前記最良の一致の生成が、
a. 前記テキスト文字列の識別された単語を使用して、前記テキスト文字列の識別された各単語のベクトルに番号を割り当てて、その行にある前記テキスト文字列のベクトルを作成することと、
b. 1つのバージョンの前記行のベクトルと別のバージョンの当該行の前記ベクトルの所定の行数内の複数のベクトルとを比較することと、
c. 前記比較に応じて、前記最良の一致を生成することを備える、請求項1に記載のコンピュータ実施方法。
【請求項9】
各バージョンにおける各行について、前記テキスト文字列のそれぞれで複数回出現する複数の単語を識別することと、複数回出現する前記複数の単語のそれぞれについて、当該単語が出現するベクトルの各位置に同じ番号を割り当てることとを更に備える、請求項8に記載のコンピュータ実施方法。
【請求項10】
前記単語ヒストグラムのx軸はテキスト行の複数の単語を表し、前記単語ヒストグラムのy軸は前記単語内の複数の文字の基礎分布の密度を表しており、
前記密度の範囲は[0,1]であり、次の式を使用し、
【数1】
ここで、ρは単語内の複数の文字の基礎分布の密度であり、mはテキスト行の数、nは前記単語内の複数の文字の数、f
iは前記単語内のi番目の文字の番号である、請求項1に記載のコンピュータ実施方法。
【請求項11】
プロセッサと、
前記プロセッサによって実行されると、方法を実行する指示を記憶する非一時的なメモリとを備えるシステムであって、
前記方法は、
a. 画像として記入済みフォームの複数のバージョンの受領に応じて、前記画像を処理し、各バージョンの各行についてテキスト文字列を生成することと、
b. 各バージョンについて、テキスト文字列の複数の行の行列を生成することと、
各バージョンの各行について、
c. 1つのバージョンの行と別のバージョンの当該行のベクトルの所定の行数内の複数のベクトルの1つとの最良の一致を生成することと、
d. その行にあるテキスト文字列の複数の文字について文字ヒストグラムを構築することと、
e. その行にあるテキスト文字列の複数の単語について単語ヒストグラムを構築することを備え、
前記方法が、
f. 前記最良の一致の生成に応じて、前記文字ヒストグラムと前記単語ヒストグラムから前記記入済みフォームのフィールドラベルを識別することと、
g. 前記識別されたフィールドラベルを有する空白のフォームを生成することを更に備える、システム。
【請求項12】
前記a.におけるバージョンの数が、2または3である、請求項11に記載のシステム。
【請求項13】
前記所定の行数が3である、請求項11に記載のシステム。
【請求項14】
前記処理することが、各記入済みフォームの行画像を識別すること、および前記識別された行画像のそれぞれからテキスト文字列を生成することを備える、請求項11に記載のシステム。
【請求項15】
前記方法が、前記最良の一致の生成に応じて、前記最良の一致の複数のベクトルに対応するそれぞれのテキスト行をアラインすることを更に備える、請求項11に記載のシステム。
【請求項16】
前記アラインすることが、前記それぞれのテキスト行のテキストが同じ大きさになるように、前記それぞれのテキスト行のテキストをスケーリングすることを備える、請求項15に記載のシステム。
【請求項17】
前記スケーリングすることが、前記それぞれのテキスト行内の同じ文字を識別することと、前記識別された文字にスケーリングを実行することとを備える、請求項16に記載のシステム。
【請求項18】
前記最良の一致の生成が、
a. 前記テキスト文字列の識別された単語を使用して、前記テキスト文字列の識別された各単語のベクトルに番号を割り当てて、その行にある前記テキスト文字列のベクトルを作成することと、
b. 1つのバージョンの前記行のベクトルと別のバージョンの当該行の前記ベクトルの所定の行数内の複数のベクトルとを比較することと、
c. 前記比較に応じて、前記最良の一致を生成することを備える、請求項11に記載のシステム。
【請求項19】
前記方法が、各バージョンにおける各行について、前記テキスト文字列のそれぞれで複数回出現する複数の単語を識別することと、複数回出現する前記複数の単語のそれぞれについて、当該単語が出現するベクトルの各位置に同じ番号を割り当てることとを更に備える、請求項11に記載のシステム。
【請求項20】
前記単語ヒストグラムのx軸はテキスト行の複数の単語を表し、前記単語ヒストグラムのy軸は前記単語内の複数の文字の基礎分布の密度を表しており、
前記密度の範囲は[0,1]であり、次の式を使用し、
【数2】
ここで、ρは単語内の複数の文字の基礎分布の密度であり、mはテキスト行の数、nは前記単語内の複数の文字の数、f
iは前記単語内のi番目の文字の番号である、請求項11に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の態様は、フォームの画像処理に関し、より具体的には、フォーム内のフィールドを識別するための、記入済みフォームの画像処理に関する。
【背景技術】
【0002】
フォームの画像内のフィールドラベルを自動的に検索することは、ドキュメント処理の自動化に役立つ。フォームの内容がフォームのフィールドとどのように一致するかを理解するには、フォームのフィールドラベルを知る必要がある。多くの場合、フィールドラベルは空白のフォームで識別できる。しかしながら、空白のフォームは常に使用できるとは限らない。その場合、記入済みフォームの画像からフィールドラベルを識別する必要がある。
【0003】
記入済みフォームを読み、比較する際には、特有の課題がある。例えば、同じフォームで、各フィールドに異なる内容を異なる方法で入力することがある。別の例として、記入済みフォーム画像は、異なる程度に拡大または縮小することができ、その結果、異なる垂直および水平寸法を有する異なる記入済みフォームができる。
【発明の概要】
【発明が解決しようとする課題】
【0004】
前述の相違点のために、2つの同じタイプの記入済みフォーム画像は、見た目だけでなく、スケール、回転、フォントスタイル、および/またはフォントサイズにおいても、互いに著しく異なることがある。その結果、画像特徴記述子や画像変換のような画像処理技術を直接適用して、記入済みフォーム中のフィールドを見つけることは困難となり得る。
【0005】
更に、上述の問題に人工知能(AI)技術を適用しようとすると、教師付き学習か教師なし学習かにかかわらず、時間がかかり、達成が困難になり得る。
【課題を解決するための手段】
【0006】
前述のことを考慮すると、本発明の目的の1つは、同じタイプの記入済みフォームの画像を比較することによって、フィールドラベルを識別することである。とりわけ、本発明の実施形態は、以下を提供する。
●記入済みフォームの2つの異なる画像間のテキスト行の画像のアライメントを解くための、スケールと回転、フォントサイズとフォントスタイルのバリエーション下における非常に堅牢な文字列エンコーディング技法。
●光学文字認識(OCR)エラー耐性の誤りに耐えつつ、フィールドラベルと記入済み内容の間を識別することができるフィールドラベル識別ヒストグラム階層技法。
●フィールドラベルを識別するために、記入済みフォームの多数の画像の必要性の減少。
【0007】
本発明の態様は、AI技術の使用またはAIシステムを訓練するための実質的なデータセットのコンパイルを必要とすることなく、比較的少数の繰り返しにおいて、記入済みフォームでのフィールドラベルの識別、および識別後の記入されていないフォームの生成を可能にする。
【図面の簡単な説明】
【0008】
次に、本発明の前述と他の特徴、および態様を、添付の図面を参照して詳細に説明するが、これらの図面は、以下のように記載される。
【0009】
【
図1】
図1は、本発明の態様を実施するための構造の例示的実施形態を示す高レベルブロック図である。
【
図2A】
図2Aは、フィールドラベルを有するフォームのサンプルである。
【
図2B】
図2Bは、フィールドラベルを有するフォームのサンプルである。
【
図4A】
図4Aは、一実施形態による例示的な動作シーケンスを示すフローチャートである。
【
図4B】
図4Bは、一実施形態による例示的な動作シーケンスを示すフローチャートである。
【
図5】
図5は、
図3のテキスト行における単語の文字の発生ヒストグラムを示す。
【
図6】
図6は、一実施形態に従って作成され得るサンプルフォームである。
【発明を実施するための形態】
【0010】
図1は、1つまたは複数の実施形態に従って、本明細書に記載される方法の態様を実施するためのシステムの高レベルのブロック図である。
図1において、計算装置は、合成的に生成されたフォーム(空白、部分的に記入されたフォーム、または記入済みフォーム)の対をコンピューティングシステム150に提供し得る。一実施形態では、記入済みフォーム110はスキャナ120を介して提供され、コンピューティングシステム150に直接または計算装置130を介して接続されてもよい。一実施形態では、カメラは入力画像を提供し得る。
【0011】
一実施形態では、コンピューティングシステム150は、記入済みフォームを処理してフィールドラベルを識別する。コンピューティングシステム150は、1つまたは複数のプロセッサ、1つまたは複数の記憶装置、および1つまたは複数の固体メモリシステム(記憶装置とは異なり、非一時的なメモリおよび一時的なメモリの両方を含むことができる)を含み得る。
【0012】
フィールドラベルとの数値位置の判別の一部として、コンピューティングシステム150は、バウンディングボックス生成システム160を使用して、テキスト周辺にバウンディングボックスを生成し得る。一実施形態では、コンピューティングシステム150は、テキストスケーリングおよびアライメントシステム165を含み得、異なるスケールの画像を異なる記入済みフォームで補償する。一実施形態では、ストレージ175は、コンピューティングシステム150が処理する入力画像を格納してもよい。
【0013】
コンピューティングシステム150は、単一の場所にあってもよく、ネットワーク155は、コンピューティングシステム150の様々な要素間の通信を可能にする。さらに、または代替的に、コンピューティングシステム150の1つまたは複数の部分が他の部分から遠隔であってもよく、その場合、ネットワーク155は、通信用のクラウドシステムを意味することがある。一実施形態では、様々な要素が併設されている場合であっても、ネットワーク155は、クラウドベースのシステムであり得る。
【0014】
さらに、または代替的に、上記で言及したプロセッサ、ストレージシステム、およびメモリシステムのうちの1つまたは複数を含むことができる処理システム190は、フィールドラベルの位置を解決するために1つまたは複数のアルゴリズムを実装することができる。
【0015】
行レベル検出を有するために、行の画像は、まず行分割アルゴリズムを用いて抽出される。通常、当業者は、利用可能な行分割アルゴリズムを認識するため、行分割アルゴリズムの詳細を簡潔にし、ここでは省略する。
【0016】
図2Aおよび
図2Bは、同じフォームの2つの例を示し、各々は異なって記入されており、各々は異なる倍率を有する。これらの図では、バウンディングボックスがフォーム内にフィールドラベルでテキストの周囲に描かれる。フィールド205、205’は、氏名フィールドであり、「Jonas Jackson」という名前が記入されている。フィールド210、210’は、生年月日フィールドであり、月および日、ならびに年については、4桁(
図2A)または2桁(
図2B)のいずれかの2つの桁で記入されている。フィールド215、215’は、住所フィールドであり、住所が2行で記入されている。フィールド220、220’は、電話番号フィールドであり、10桁の数字で記入されている。
【0017】
フィールド225、225’は、診断フィールドであり、診断の説明が記入されている。フィールド230、230’は、処置/治療フィールドであり、従うべき処置および/または治療の識別が記入されている。フィールド235、235’は、開始日フィールドであり、処置および/または治療が開始される日付が記入されている。フィールド240、240’は、終了日フィールドであり、処置および/または治療が終了される日付が記入されている。フィールド210、210’と同様に、
図2Aにおいて、開始日フィールド235、235’および終了日フィールド240、240’は、月と日に対して2桁で、および年に対して4桁(
図2A)または2桁(
図2B)のいずれかの2つの桁で記入されている。フィールド245、245’は、フィールド230、230’内の特定の処置および/または治療の理由を記入するフィールドである。フィールド250、250’は、処置および/または治療を実施するための指示を記入するフィールドである。
【0018】
また、
図2Aは、
図2Bには無い、無関係な手書きの表記255を含む。
【0019】
図2Aおよび
図2Bのような記入済みフォームの1つの態様は、それらのフィールドが、それらのフィールドに記入されるべきものによって、異なって記入されることである。様々な診断、処置/治療、および/または処置/治療の指示の記述は、異なる量のスペースを必要とすることがある。これらの様々に記入されたフォームの結果については、以下で説明する。
【0020】
図3は、
図2Aおよび
図2Bの各文書における第1の行の画像の一例を示す。第1の行310は、フィールド205、210(
図2A)を含み、第2の行320は、フィールド205’、210’(
図2B)を含む。
【0021】
一実施形態では、
図2Aおよび
図2Bの記入済みフォームから
図3の行画像が抽出された後、各行画像は、テキスト文字列にデジタル化される。次に、テキスト文字列は、文字列内の単語の位置に基づく順序で、一組の単語にセグメント化される。テキスト文字列内の繰り返しの単語は、単語の後に追加の文字を置くことで識別できる。例えば、テキスト文字列内のある単語が2回出現する場合、2番目の出現には_1が付加され得る。単語が3回出現する場合、2番目の出現には_1が付加され、3番目の出現には_2が付加される。一実施形態では、句読点は、テキスト文字列中の文字として数えられない。
【0022】
例えば、
図3の行画像310がデジタル化された後、テキスト文字列は、次のようにセグメント化され得る。「開始\日\02\03\2023\終了\日_1\04\03\2023」
図3の行画像320がデジタル化された後、結果として得られるテキスト文字列は、次のようにセグメント化され得る。「開始\日\07\08\23\終了\日_1\11\08\23」
【0023】
前述のことを考慮し、一実施形態では、以下のように、一組の単語をテキスト文字列内に符号化することが可能である。
1)テキスト文字列内の単語は、左から右へ順に番号を付けて、テキスト文字列の数値ベクトル表現を形成することができる。例えば、行画像310からのテキスト文字列は、ベクトルS
1={1,2,3,4,5,6,2,7,8,9}として符号化され得る。つまり、「日」という単語がベクトルに2回現れ、同じ番号が割り当てられる。
2)ベクトルS
1は、ベクトルS
2と同様に、
図3のテキスト文字列320に対して符号化されてもよい。ベクトルS
2は、次のように生成され得る。ベクトルS
2の単語がS
1の単語と同じ場合、その単語の位置はベクトルS
1の対応する単語の位置と同じで、同じ番号が割り当てられる。現在の状況では、ベクトルS
2={1,2,10,11,12,2,7,13,14,15}である。すなわち、テキスト文字列320内の第1、第2、第6、および第7の単語は、テキスト文字列310内のものと同じであり、したがって、それらは、テキスト文字列310のベクトル内のものと同じ番号が割り当てられる。テキスト文字列320内の3番目から5番目の単語および8番目から10番目の単語は、テキスト文字列310内のものとは異なる。
【0024】
一実施形態では、ベクトルS1にない単語がベクトルS2にある場合、これらの単語は、ベクトルS1の最後の位置の番号に続くように符号化されてもよい。一実施形態では、第2のテキスト文字列が第1のテキスト文字列より短い場合、ベクトルS2にゼロパディングを追加して、ベクトルS2をベクトルS1と同じ長さにしてもよい。ベクトルS2は、ベクトルS2の最長増加サブシーケンスの長さが、ベクトルS1とベクトルS2との間の類似性の尺度であり得るように、この方法で符号化され得る。ここで、最長増加サブシーケンストとは、サブシーケンスの要素がソートされた順序、最下位から最上位へ、そして、サブシーケンスが可能な限り長くなる、所与のシーケンスのサブシーケンスである。
【0025】
2つの異なる記入済みフォームの同じテキスト行に対する2つのベクトルの前述の比較では、2つの異なる記入済みフォームのすべてのテキスト行に対するこの比較のパフォーマンスを考慮することが有益である。この比較のためには、異なって記入された同一フォームの2部を手作業で選択することが適切である。このようにして、2部のテキストを比較し、フィールドラベルを識別することができる。
【0026】
図2Aおよび
図2Bを見返すと、フィールドのいくつかは、他のフィールドよりも多くの行を含むことが分かる。例えば、
図2Aのフィールド215は2行を有し、一方、
図2Bのフィールド215’は3行を有する。
図2Aのフィールド225は1行を有し、一方、
図2Bのフィールド225’は2行を有する。
図2Aのフィールド250は3行を有し、一方、
図2Bのフィールド255’は1行を有する。
図2Aおよび
図2Bにそれぞれ示される2つのフォームにおける異なる行数は、2つのフォームの行画像を比較するために説明されるアプローチを動機づける。
【0027】
次に、同じフォームの異なる2部を見ると、デジタル化と単語セグメント化の後、第1の画像からのM個のテキスト文字列(M行画像に対応)と、第2の画像からのN個のテキスト文字列(N行画像に対応)があり得る。MとNは、様々理由で異なり得る。例えば、
図2Aおよび
図2Bが示すように、画像の一方又は他方に追加のテキスト行があり得る。先に述べたように、手書きの表記255を有する
図2Aの上部に見られるように、アーティファクトが存在することがある。その結果、上記の2つの文書画像を表すために、それぞれM行とN行を持つ、次の2つの単語行列AとBを提供することができる。
【数1】
式中、それぞれ、a
i1・・・a
iKは、第1の画像に対する一組の単語で、行列Aの行であり、b
j1・・・b
jKは、第2の画像に対する一組の単語で、行列Bの行である。行列Aの行と行列Bの行との対応を決定するために、一実施形態では、次のシーケンスを実行することができる。
1)行列Aから行a
i1・・・a
iKを取る。
2)a
i1・・・a
iKで繰り返される単語を検索し、繰り返し単語の末尾に「_n」を付ける。
3)前述のように、a
i1・・・a
iKをベクトルとして符号化する。
4)一組の行b
j1・・・b
jKを行列Bから取る。ここで、一実施形態では、j=i-3からi+3である。実施形態に応じて、フォーカスの行の前または後に、より多くまたはより少数の行を選択することができる。少なくとも3つの行(すなわち、フォーカス行の少なくとも前の1行および後の1行)を見る理由は、
図2Aおよび2Bに関して上述した例のように、特定のフィールドラベルに関連付けられて記入されたテキストが、それぞれの記入済みフォームにおいて異なる行数を占める可能性のある状況を説明することである。
5)前述のように、a
i1・・・a
iKに関してb
j1・・・b
jKの各行を符号化する。
6)b
j1・・・b
jKの各行の最長増加サブシーケンスを見つけることにより、a
i1・・・a
iKとb
j1・・・b
jKの間の最良の一致を見つける。ここで、j=i-3からi+3である。
7)i=i+1を増加させて次の行に移動する。
【0028】
先ほど説明したプロセスのi番目の繰り返しの後、2つの画像からそれぞれ2つのテキスト行、l1とl2を関連付けることになり、次のステップは、次の行に進む前にl1とl2をアラインすることである。l1とl2のアライメントは、2つのテキスト行の間の画像スケールやフォントサイズの違いなどの考慮のために必要となり得る。正しいアライメントを決定するために、一実施形態では、l1とl2の各単語は、文字または単語にセグメント化されてもよい。テキスト行はベクトル一致に基づいて照合されているため、2つのテキスト行の間には共通する文字や単語が存在する可能性が高く、これによりスケーリングを実行できる。共通の文字または単語が見つからない場合、共通の文字がないということは、これら2つの行に共通のキーワードが存在しないことを意味する。この場合、プロセスは、前述したように、他のテキスト行のペアを処理するために続行することができる。
【0029】
一実施形態では、テキスト行をアラインさせる能力に関して、プロセスの一定数の失敗の後、アライメントが失敗したと推定することができる。このような失敗は、記入済みフォームの一方または両方が比較される画像品質、または記入済みフォームの一方または両方のアーティファクト、または通常当業者が理解するであろうその他の技術的理由のために起こり得る。その場合、別の記入済みフォームを、比較したばかりの記入済みフォームの1つに置き換えてもよく、または別の記入済みフォームのペアを選択してもよく、このプロセスが繰り返される。
【0030】
2つのテキスト行l1とl2の間に共通の文字または単語がある場合、2つのテキスト行のスケールS
xとS
yを計算するためのシードとして、l1とl2の両方に共通する文字または単語のグループを識別できる。例えば、
図5の下方を見て、バウンディングボックスは、それぞれのテキスト行内の各単語の周囲に描かれてもよい。
【0031】
上記の算出されたスケールS
xとS
yを使用すると、l1内の単語のバウンディングボックスはすべて、l2と同じスケールにすることができる。次いで、
図5に示すように、l2内の各単語は、そのバウンディングボックスの位置に基づいて、l1内の対応する単語にアラインされ得る。一実施形態では、削除および挿入操作を介して編集距離を最小化することによって、l1とl2との間の各対応する単語の文字に対して、さらなるアライメントを行うことができる。アライメント後、
図5の中央に示すように、文字ヒストグラムを構築することができる。文字ヒストグラムでは、x軸はテキスト行の単語の文字を表し、y軸は単語に出現する文字数を表す。より頻繁に出現する文字は、より高い線で表される。
【0032】
さらに、単語ヒストグラムは、文字ヒストグラムの上に構築することができ、ここで、x軸はテキスト行内の単語を表し、y軸は単語内の文字の基礎分布(underlying distribution)の密度を表す。ここで密度の範囲は[0,1]であり、以下の式を使用する。
【数2】
式中、ρは単語内の文字の基礎分布の密度、mはテキスト行の数、nは単語内の文字の数、f
iは単語内のi番目の文字のカウントである。文字ヒストグラムと単語ヒストグラムはヒストグラム階層を形成し、いくつかのフォーム画像を与えられたフィールドラベルを識別するために使用することができる。より高い密度値を持つ隣接単語のグループは、抽出されるフィールドラベルであると決定される。この抽出により、
図6に示されるもののような空白のフォームを作成することができ、ここで、フィールドラベル605から650は、
図2Aのフィールドラベル205から250に対応する。
【0033】
前述の説明は、プロセスの開始時に受領された2つの記入済みフォームが、一致、アライメント、スケーリングを行うことができ、それらの2つのフォームのみからフィールドラベルを決定するために文字と単語のヒストグラムが作成されるという仮定に基づいている。場合によっては、追加の記入済みフォームを比較に追加する必要がある。その場合、構築された単語行列A、BおよびCを有する3つの画像、ならびに行列AとB間および行列AとC間の識別された行対応を見ると、次のプロセスが提供され得る。
1)行列Aから、および行列BとCの対応する行から、単語の一行を取り出す。
2)行列BとCの単語の行を行列Aの単語の行にアラインする。
3)3つのアラインされた行を使用してヒストグラムを作成する。
4)この行の階層ヒストグラムに基づいてキーワードをローカライズする。
5)すべての行が処理されるまで、1から4を繰り返す。
【0034】
図4Aおよび
図4Bは、一実施形態による前述のプロセスのためのフローを説明する。401では、同じ記入済みフォームの多数のバージョンが受領される。具体的に説明した実施形態では、この時点で2つまたは3つのバージョンを受け取ることができるが、いずれにしても、その数は大きくない。403では、画像処理が実行され、記入済みフォームの各々の行画像を識別する。405では、テキスト文字列が行画像から作成される。407では、記入済みフォームごとにテキスト文字列の行列が作成される。409では、それぞれの行列の行の比較の最初の繰り返しが、変数mが1に設定された状態で始まる。
【0035】
411では、第1の行列に対して、テキスト文字列内で、複数回出現する単語が識別される。413では、指定された単語を使用して、テキスト文字列ごとにベクトルが作成される。415では、同じ単語がテキスト文字列内で識別され、ベクトル内のその位置にある同じ番号が割り当てられる。
【0036】
417では、プロセスが、作業中の行の前後に所定数の行(xは整数)を見ることができるように、行列を十分に下っている行画像上で作業するのに十分に沿っているかどうかを確認する決定が行われる。そうでない場合(417で「No」)、419で、m番目の行のベクトルが使用され、フローは429に進み、これについて説明する。プロセスが十分に沿っている場合(417で「Yes」)、421で、別の行列に対してm-xからm+xまでの多数のテキスト文字列が選択され、423で、各テキスト文字列内の識別された単語を使用して、それらのテキスト文字列の各々に対してベクトルが作成される。前述と同様に、同じ単語を含む各テキスト文字列のベクトル位置にも同じ番号が割り当てられる。
【0037】
427で、第1の行列の行mと、別の行列の行m-xからm+xとの間の最良のベクトル一致を見つけることができる。(行列A、B、およびCの説明と同様に、427は、AIベースのシステムを訓練するためのトレーニングセットを得るために必要な数と比較して、2つの行列間、または3つの行列間、またはいずれかの場合において、非常に小さい数の間の比較であり得る。)429では、テキスト行は、一致したベクトルに対応してアラインされる。
【0038】
ベクトルを一致させると、433では、スケーリングがテキスト行に同じスケールを与えることが可能であるかどうかが決定される。そうでない場合(433で「No」)、435で第1の行列のすべての行が処理されたかどうかがチェックされる。そうでない場合(435で「No」)、437でmが増加され、フローは411に戻る。第1の行列のすべての行が処理された場合(435で「Yes」)、439で、同じ記入済みフォームのバージョンまたは更なるバージョンが受領され、フローは403に戻る。
【0039】
スケーリングが可能な場合(433で「Yes」)、441では、テキスト行ごとに文字および/または単語の中からシードが識別され、スケールが算出される。443では、算出されたスケールが、比較対象のテキスト行に同じスケールを与えるために使用される。ここでも、比較対象のテキスト行数は、実施形態において比較される行列の数に応じて、2つまたは3つであってもよく、あるいは、おそらく数行多くではあるが、いずれの場合でも、AIベースのシステムを訓練するためのトレーニングセットを得るために必要な数に比べて、はるかに少ない数であり得る。
【0040】
445では、スケーリングが達成された後、文字ヒストグラムは、テキスト行内の文字に対して構築され得る。次いで、447では、テキスト行内の単語に対して単語ヒストグラムが構築され得る。この後、449では、フィールドラベルがヒストグラムから識別され得、ヒストグラムのY軸に沿って表されるように、フィールドラベル内の単語中の文字(445)およびフィールドラベル内の単語(447)を示す、より高い数が示される。
【0041】
451では、フォームのすべてのフィールドラベルが識別されている場合(451で「Yes」)、453では、フィールドラベルを持つ空白のフォームが生成され得る。すべてのフィールドラベルが生成されていない場合(451で「No」)、455で第1の行列のすべての行が処理されたかどうかがチェックされる。そうでない場合(455で「No」)、437でmが増加され、フローは411に戻る。第1の行列のすべての行が処理された場合(455で「Yes」)、439で、同じ記入済みフォームのバージョンまたは更なるバージョンが受領され、フローは403に戻る。
【0042】
本発明の態様を様々な図面を参照して詳細に説明したが、当業者であれば、本発明の範囲および精神の範囲内で多数の変更があり得ることを理解するであろう。従って、本発明は以下の特許請求の範囲によってのみ限定される。
【手続補正書】
【提出日】2023-10-31
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
a. 画像として記入済みフォームの複数のバージョンの受領に応じて、前記画像を処理し、各バージョンの各行についてテキスト文字列を生成することと、
b. 各バージョンについて、テキスト文字列の複数の行の行列を生成することと、
各バージョンの各行について、
c. 1つのバージョンの行と別のバージョンの当該行のベクトルの所定の行数内の複数のベクトルの1つとの最良の一致を生成することと、
d. その行にあるテキスト文字列の複数の文字について文字ヒストグラムを構築することと、
e. その行にあるテキスト文字列の複数の単語について単語ヒストグラムを構築することを備える、コンピュータ実施方法であって、
前記方法が、
f. 前記最良の一致の生成に応じて、前記文字ヒストグラムと前記単語ヒストグラムから前記記入済みフォームのフィールドラベルを識別することと、
g. 前記識別されたフィールドラベルを有する空白のフォームを生成することを更に備える、コンピュータ実施方法。
【請求項2】
前記a.におけるバージョンの数が、2または3である、請求項1に記載のコンピュータ実施方法。
【請求項3】
前記所定の行数が3である、請求項1又は2に記載のコンピュータ実施方法。
【請求項4】
前記処理することが、各記入済みフォームの行画像を識別すること、および前記識別された行画像のそれぞれからテキスト文字列を生成することを備える、請求項1又は2に記載のコンピュータ実施方法。
【請求項5】
前記最良の一致の生成に応じて、前記最良の一致の複数のベクトルに対応するそれぞれのテキスト行をアラインすることを更に備える、請求項1又は2に記載のコンピュータ実施方法。
【請求項6】
前記アラインすることが、前記それぞれのテキスト行のテキストが同じ大きさになるように、前記それぞれのテキスト行のテキストをスケーリングすることを備える、請求項5に記載のコンピュータ実施方法。
【請求項7】
前記スケーリングすることが、前記それぞれのテキスト行内の同じ文字を識別することと、前記識別された文字にスケーリングを実行することとを備える、請求項6に記載のコンピュータ実施方法。
【請求項8】
前記最良の一致の生成が、
a. 前記テキスト文字列の識別された単語を使用して、前記テキスト文字列の識別された各単語のベクトルに番号を割り当てて、その行にある前記テキスト文字列のベクトルを作成することと、
b. 1つのバージョンの前記行のベクトルと別のバージョンの当該行の前記ベクトルの所定の行数内の複数のベクトルとを比較することと、
c. 前記比較に応じて、前記最良の一致を生成することを備える、請求項1又は2に記載のコンピュータ実施方法。
【請求項9】
各バージョンにおける各行について、前記テキスト文字列のそれぞれで複数回出現する複数の単語を識別することと、複数回出現する前記複数の単語のそれぞれについて、当該単語が出現するベクトルの各位置に同じ番号を割り当てることとを更に備える、請求項8に記載のコンピュータ実施方法。
【請求項10】
前記単語ヒストグラムのx軸はテキスト行の複数の単語を表し、前記単語ヒストグラムのy軸は前記単語内の複数の文字の基礎分布の密度を表しており、
前記密度の範囲は[0,1]であり、次の式を使用し、
【数1】
ここで、ρは単語内の複数の文字の基礎分布の密度であり、mはテキスト行の数、nは前記単語内の複数の文字の数、f
iは前記単語内のi番目の文字の番号である、請求項1
又は2に記載のコンピュータ実施方法。
【請求項11】
プロセッサと、
前記プロセッサによって実行されると、方法を実行する指示を記憶する非一時的なメモリとを備えるシステムであって、
前記方法は、
a. 画像として記入済みフォームの複数のバージョンの受領に応じて、前記画像を処理し、各バージョンの各行についてテキスト文字列を生成することと、
b. 各バージョンについて、テキスト文字列の複数の行の行列を生成することと、
各バージョンの各行について、
c. 1つのバージョンの行と別のバージョンの当該行のベクトルの所定の行数内の複数のベクトルの1つとの最良の一致を生成することと、
d. その行にあるテキスト文字列の複数の文字について文字ヒストグラムを構築することと、
e. その行にあるテキスト文字列の複数の単語について単語ヒストグラムを構築することを備え、
前記方法が、
f. 前記最良の一致の生成に応じて、前記文字ヒストグラムと前記単語ヒストグラムから前記記入済みフォームのフィールドラベルを識別することと、
g. 前記識別されたフィールドラベルを有する空白のフォームを生成することを更に備える、システム。
【請求項12】
前記a.におけるバージョンの数が、2または3である、請求項11に記載のシステム。
【請求項13】
前記所定の行数が3である、請求項11又は12に記載のシステム。
【請求項14】
前記処理することが、各記入済みフォームの行画像を識別すること、および前記識別された行画像のそれぞれからテキスト文字列を生成することを備える、請求項11又は12に記載のシステム。
【請求項15】
前記方法が、前記最良の一致の生成に応じて、前記最良の一致の複数のベクトルに対応するそれぞれのテキスト行をアラインすることを更に備える、請求項11又は12に記載のシステム。
【請求項16】
前記アラインすることが、前記それぞれのテキスト行のテキストが同じ大きさになるように、前記それぞれのテキスト行のテキストをスケーリングすることを備える、請求項15に記載のシステム。
【請求項17】
前記スケーリングすることが、前記それぞれのテキスト行内の同じ文字を識別することと、前記識別された文字にスケーリングを実行することとを備える、請求項16に記載のシステム。
【請求項18】
前記最良の一致の生成が、
a. 前記テキスト文字列の識別された単語を使用して、前記テキスト文字列の識別された各単語のベクトルに番号を割り当てて、その行にある前記テキスト文字列のベクトルを作成することと、
b. 1つのバージョンの前記行のベクトルと別のバージョンの当該行の前記ベクトルの所定の行数内の複数のベクトルとを比較することと、
c. 前記比較に応じて、前記最良の一致を生成することを備える、請求項11又は12に記載のシステム。
【請求項19】
前記方法が、各バージョンにおける各行について、前記テキスト文字列のそれぞれで複数回出現する複数の単語を識別することと、複数回出現する前記複数の単語のそれぞれについて、当該単語が出現するベクトルの各位置に同じ番号を割り当てることとを更に備える、請求項11又は12に記載のシステム。
【請求項20】
前記単語ヒストグラムのx軸はテキスト行の複数の単語を表し、前記単語ヒストグラムのy軸は前記単語内の複数の文字の基礎分布の密度を表しており、
前記密度の範囲は[0,1]であり、次の式を使用し、
【数2】
ここで、ρは単語内の複数の文字の基礎分布の密度であり、mはテキスト行の数、nは前記単語内の複数の文字の数、f
iは前記単語内のi番目の文字の番号である、請求項11
又は12に記載のシステム。
【外国語明細書】