IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ コニカ ミノルタ ビジネス ソリューションズ ユー.エス.エー., インコーポレイテッドの特許一覧

特開2024-144209定型文のグループ化を利用したフォームの識別と登録方法、および装置
<>
  • 特開-定型文のグループ化を利用したフォームの識別と登録方法、および装置 図1
  • 特開-定型文のグループ化を利用したフォームの識別と登録方法、および装置 図2
  • 特開-定型文のグループ化を利用したフォームの識別と登録方法、および装置 図3
  • 特開-定型文のグループ化を利用したフォームの識別と登録方法、および装置 図4
  • 特開-定型文のグループ化を利用したフォームの識別と登録方法、および装置 図5
  • 特開-定型文のグループ化を利用したフォームの識別と登録方法、および装置 図6
  • 特開-定型文のグループ化を利用したフォームの識別と登録方法、および装置 図7A
  • 特開-定型文のグループ化を利用したフォームの識別と登録方法、および装置 図7B
  • 特開-定型文のグループ化を利用したフォームの識別と登録方法、および装置 図8
  • 特開-定型文のグループ化を利用したフォームの識別と登録方法、および装置 図9
  • 特開-定型文のグループ化を利用したフォームの識別と登録方法、および装置 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024144209
(43)【公開日】2024-10-11
(54)【発明の名称】定型文のグループ化を利用したフォームの識別と登録方法、および装置
(51)【国際特許分類】
   G06V 30/412 20220101AFI20241003BHJP
   G06F 16/55 20190101ALI20241003BHJP
   G06F 16/583 20190101ALI20241003BHJP
   G06V 30/194 20220101ALI20241003BHJP
   G06V 30/414 20220101ALI20241003BHJP
   G06T 7/00 20170101ALI20241003BHJP
   G06V 10/82 20220101ALI20241003BHJP
   G06V 30/418 20220101ALI20241003BHJP
   G06V 30/166 20220101ALI20241003BHJP
   G06V 30/16 20220101ALI20241003BHJP
【FI】
G06V30/412
G06F16/55
G06F16/583
G06V30/194
G06V30/414
G06T7/00 350C
G06V10/82
G06V30/418
G06V30/166
G06V30/16
【審査請求】有
【請求項の数】20
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2024038059
(22)【出願日】2024-03-12
(31)【優先権主張番号】18/128,951
(32)【優先日】2023-03-30
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】519448326
【氏名又は名称】コニカ ミノルタ ビジネス ソリューションズ ユー.エス.エー., インコーポレイテッド
(74)【代理人】
【識別番号】110001254
【氏名又は名称】弁理士法人光陽国際特許事務所
(72)【発明者】
【氏名】ウェイ, ジュンチャオ
【テーマコード(参考)】
5B029
5B064
5B175
5L096
【Fターム(参考)】
5B029AA01
5B029BB02
5B029BB12
5B029CC26
5B029EE03
5B029EE15
5B064AA01
5B064BA01
5B064DA27
5B064DA32
5B064EA27
5B175DA02
5B175FA01
5B175FA03
5L096AA03
5L096AA07
5L096BA07
5L096BA17
5L096DA02
5L096HA11
5L096MA07
(57)【要約】      (修正有)
【課題】フォームを識別するための機械学習システムを訓練するコンピュータ実装方法を提供する。
【解決手段】フォームを識別するために機械学習システムを使用するコンピュータ実装方法であって、フォームを入力画像として受け取ることと、入力画像の1つまたは複数のフィールドを識別することと、各識別されたフィールドに対して、識別されたフィールドの1つまたは複数の下位領域を識別することと、1つまたは複数のフィールドの識別に応じて、1つまたは複数のフィールドを分類することと、入力画像の1つまたは複数のフィールドの相対的な位置を特定することと、相対的な位置の特定に応じて、フォームを分類する。フィールド識別が正しくない場合、ニューラルネットワークのノードの重みを更新するなど、機械学習システムが更新され、フィールド識別の不正確さに対処する。
【選択図】図7A
【特許請求の範囲】
【請求項1】
フォームを識別するための機械学習システムを訓練するコンピュータ実装方法であって、
a)フォームを入力画像として受け取ることと、
b)前記入力画像の1つまたは複数のフィールドを識別することと、
c)各識別されたフィールドに対して、前記識別されたフィールドの1つまたは複数の下位領域を識別することと、
d)前記1つまたは複数のフィールドの識別に応じて、前記1つまたは複数のフィールドを分類することと、
e)前記入力画像の前記1つまたは複数のフィールドの相対的な位置を特定することと、
f)前記相対的な位置の前記特定に応じて、前記フォームを分類することと、を備える、コンピュータ実装方法。
【請求項2】
前記入力画像がスキャンされた画像、または人工的に生成されたフォームである、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記フォームの誤った分類に応じて、前記機械学習システムのノードの重みを更新することによって、前記機械学習システムを更新すること、を更に備える、請求項1に記載のコンピュータ実装方法。
【請求項4】
前記誤った分類を訂正すること、を更に備える、請求項3に記載のコンピュータ実装方法。
【請求項5】
g)前記1つまたは複数の下位領域の境界を識別することと、
h)前記フィールド内の位置に応じて、前記1つまたは複数の下位領域を分類することと、
i)前記フィールド内のすべての下位領域が識別されるまで、前記識別と分類を繰り返すことと、を更に備える、請求項1に記載のコンピュータ実装方法。
【請求項6】
j)前記1つまたは複数の下位領域の前記識別に応じて、前記1つまたは複数のフィールドを識別することであって、前記識別されたフィールドにおける互いに相対的な前記1つまたは複数の下位領域の位置の識別を含むことを更に備える、請求項1に記載のコンピュータ実装方法。
【請求項7】
フォームを識別するための機械学習システムを使用するコンピュータ実装方法であって、
a)フォームを入力画像として受け取ることと、
b)前記入力画像の1つまたは複数のフィールドを識別することと、
c)各識別されたフィールドに対して、前記識別されたフィールドの1つまたは複数の下位領域を識別することと、
d)前記1つまたは複数のフィールドの識別に応じて、前記1つまたは複数のフィールドを分類することと、
e)前記入力画像の前記1つまたは複数のフィールドの相対的な位置を特定することと、
f)前記相対的な位置の前記特定に応じて、前記フォームを分類することと、を備える、コンピュータ実装方法。
【請求項8】
すべてのフォームを受け取るまでa)からf)を繰り返すこと、を更に備える、請求項1に記載のコンピュータ実装方法。
【請求項9】
前記1つまたは複数のフィールドのそれぞれについて、前記1つまたは複数の下位領域のフォーマットを識別することで、前記1つまたは複数のフィールドの前記フォーマットを識別すること、を更に備える、請求項1に記載のコンピュータ実装方法。
【請求項10】
異なるフォーマットおよび/または位置を特定することによって、前記1つまたは複数のフィールドのうちのいくつかを前記1つまたは複数のフィールドのうちの他のフィールドと区別すること、を更に備える、請求項1に記載のコンピュータ実装方法。
【請求項11】
フォームを識別する機械学習システムであって、
少なくとも1つのプロセッサと、
実行されると、
a)フォームを入力画像として受け取ることと、
b)前記入力画像の1つまたは複数のフィールドを識別することと、
c)各識別されたフィールドに対して、前記識別されたフィールドの1つまたは複数の下位領域を識別することと、
d)前記1つまたは複数のフィールドの識別に応じて、前記1つまたは複数のフィールドを分類することと、
e)前記入力画像の前記1つまたは複数のフィールドの相対的な位置を特定することと、
f)前記相対的な位置の前記特定に応じて、前記フォームを分類することと、
を含む方法を実行するようにする命令を含む非一時的なメモリと、を備える、機械学習システム。
【請求項12】
すべてのフォームを受け取るまでa)からf)を繰り返すこと、を更に備える、請求項1に記載のコンピュータ実装方法。
【請求項13】
前記1つまたは複数のフィールドのそれぞれについて、前記1つまたは複数の下位領域のフォーマットを識別することで、前記1つまたは複数のフィールドの前記フォーマットを識別することを更に備える、請求項1に記載のコンピュータ実装方法。
【請求項14】
異なるフォーマットおよび/または位置を特定することによって、前記1つまたは複数のフィールドのうちのいくつかを前記1つまたは複数のフィールドのうちの他のフィールドと区別すること、を更に備える、請求項1に記載のコンピュータ実装方法。
【請求項15】
前記フォームの誤った分類に応じて、前記機械学習システムのノードの重みを更新することによって、前記機械学習システムを更新すること、を更に備える、請求項1に記載のコンピュータ実装方法。
【請求項16】
前記誤った分類を訂正すること、を更に備える、請求項3に記載のコンピュータ実装方法。
【請求項17】
g)前記1つまたは複数の下位領域の境界を識別することと、
h)前記フィールド内の位置に応じて、前記1つまたは複数の下位領域を分類することと、
i)前記フィールド内のすべての下位領域が識別されるまで、前記識別と分類を繰り返すことと、を更に備える、請求項1に記載のコンピュータ実装方法。
【請求項18】
j)前記1つまたは複数の下位領域の前記識別に応じて、前記1つまたは複数のフィールドを識別することであって、前記識別されたフィールドにおける互いに相対的な前記1つまたは複数の下位領域の位置の識別を含むことを更に備える、請求項1に記載のコンピュータ実装方法。
【請求項19】
前記フォームの分類に応じて、前記フォームが、登録、拡大縮小、平行移動を必要とするかどうかを判断することを、前記方法が更に備える、請求項11に記載のシステム。
【請求項20】
前記フォームが登録の必要があるという判断に応じて、前記フォームの登録を行うこと、を更に備える、請求項19に記載のシステム。
【発明の詳細な説明】
【関連出願の相互参照】
【0001】
本願は、2022年9月30日に出願された「フォームの識別と登録のための方法及び装置」と題する米国特許出願第17/958,262号に関する。本願は、この出願の全てを参照によりその全体が組み込まれる。
【技術分野】
【0002】
本発明の態様は、画像処理に関し、より詳細にはフォーム処理に関する。
【背景技術】
【0003】
文書およびフォーム分析の分野では、コンテンツの位置を含むフォームの照合と登録は重要であるが、困難な場合があり得る。次のような課題がある。1)比較的非構造化(半構造化)された形態、2)スキャン抽出エラー(光学文字認識(OCR)、画像文字認識(ICR)、またはこれらの組み合わせ(OICR)のいずれであるか)、3)フォームの異なる部分に表示され得る表、および/または可変サイズを有し得る表、4)堅牢性を維持したまま、大規模なデータセットやバリアントへのスケーリング。
【発明の概要】
【発明が解決しようとする課題】
【0004】
半構造化フォーム表現は位相的特徴(バウンディングボックスや意味情報など)を混合する。この混合は、フォームの回転、平行移動、および/または拡大縮小の結果をスキャンまたは撮影する際に、位相的特徴間の可能な関連を理解することを困難にする。
【0005】
上記のような課題に対して、効率的でスケーラブルかつ一般化可能なアプローチを提供することが望ましい。
【課題を解決するための手段】
【0006】
上記の観点から、本発明の態様は、フォーム上の複数の総称グループまたは領域を識別する機械学習システムを訓練し、これらのグループまたは領域間の位置的および意味的関係を使用して、同じフォームまたは異なるフォーム上の対応するそのようなグループまたは領域を識別する。
【図面の簡単な説明】
【0007】
次に、本発明の実施形態による様々な態様を、以下の図面を参照して詳細に説明する。
図1図1は、複数のフィールドを持つフォームのモックアップである。
図2図2は、複数のフィールドを持つ異なるフォームのモックアップである。
図3図3は、複数のフィールドを持つ更に異なるフォームのモックアップである。
図4図4は、複数のフィールドを持つフォームである。
図5図5は、複数のフィールドを持つ別のフォームである。
図6図6は、複数のフィールドを持つ更に別のフォームである。
図7A図7Aは、一実施形態による工程の上位フローチャートである。
図7B図7Bは、一実施形態による工程の上位フローチャートである。
図8図8は、一実施形態による本発明の態様を実施するためのシステムの上位ブロック図である。
図9図9は、一実施形態によるディープラーニングモジュールの上位ブロック図である。
図10図10は、一実施形態によるノード重み付けモジュールの上位ブロック図である。
【発明を実施するための形態】
【0008】
複数の実施形態では、フォーム内の汎用テキストグループまたは領域の複数が識別される。以下に述べる非限定の実施形態では、そのような領域を6つ記載する。
【0009】
本発明の態様は、フォームを識別するための機械学習システムを訓練するコンピュータ実装方法であって、フォームを入力画像として受け取ることと、前記入力画像の1つまたは複数のフィールドを識別することと、各識別されたフィールドに対して、前記識別されたフィールドの1つまたは複数の下位領域を識別することと、前記1つまたは複数のフィールドの識別に応じて、前記1つまたは複数のフィールドを分類することと、前記入力画像の前記1つまたは複数のフィールドの相対的な位置を特定することと、前記相対的な位置の前記特定に応じて、前記フォームを分類することと、を備える、コンピュータ実装方法を提供する。
【0010】
一実施形態では、受け取るべき入力画像がなくなるまで前段落の工程を繰り返すことができる。一実施形態では、入力画像はスキャンされた画像、または合成的に生成されたフォームであり得る。一実施形態では、フォームの誤った分類に応じて、機械学習システムが更新され得る。一実施形態では、機械学習システムの更新は、機械学習システム内の重みの更新を含み得る。一実施形態では、誤った分類を訂正することができる。
【0011】
一実施形態では、コンピュータ実装方法は、1つまたは複数の下位領域の境界を識別すること、1つまたは複数の下位領域をフィールドでの位置に従って分類すること、およびフィールド内のすべての下位領域が識別されるまで、識別と分類を繰り返すことを含み得る。
【0012】
一実施形態では、コンピュータ実装方法は、1つまたは複数の下位領域の識別に応じて、1つまたは複数のフィールドを識別することを更に備え、識別されたフィールドにおいて互いに相対的な1つまたは複数の下位領域の位置を含み得る。
【0013】
一実施形態では、1つまたは複数のフィールドの分類は、1つまたは複数のフィールドのフォーマットの識別を含む。一実施形態では、1つまたは複数のフィールドのそれぞれについて、1つまたは複数のフィールドのフォーマットの識別は、1つまたは複数の下位領域のフォーマットの識別を含み得る。一実施形態では、コンピュータ実装方法は、更に、異なるフォーマットおよび/または位置を識別することによって、1つまたは複数のフィールドのいくつかを1つまたは複数のフィールドの他のフィールドと区別することを含み得る。
【0014】
本発明の他の態様は、フォームを識別するために機械学習システムを使用するコンピュータ実装方法を提供する。その方法は、フォームを入力画像として受け取ることと、前記入力画像の1つまたは複数のフィールドを識別することと、各識別されたフィールドに対して、前記識別されたフィールドの1つまたは複数の下位領域を識別することと、前記1つまたは複数のフィールドの識別に応じて、前記1つまたは複数のフィールドを分類することと、前記入力画像の前記1つまたは複数のフィールドの相対的な位置を識別することと、前記相対的な位置の前記識別に応じて、前記フォームを分類することと、を備える。
【0015】
本発明の更に他の態様は、フォームを識別するための機械学習システムを提供する。機械学習システムは、少なくとも一つのプロセッサと、先ほど要約された方法に従って機械学習システムが方法を実行するようにプログラムされた非一時的なメモリを含む。
【0016】
複数の実施形態による記載された本発明の態様は、以下の例を参考にするとより理解され得る。
【0017】
図1はフォーム100のモックアップを示し、1つのフォームに異なるタイプのデータをグループ化した3種類の領域110、120、130がある。このようなモックアップは、一実施形態による機械学習システムの訓練に使用され得る。一実施形態では、領域110は、特定の種類のフォームに共通の情報を含むことがある。請求書の場合、そのような情報にはフォームのタイトル、企業の名前と住所(たとえば、請求先企業と請求元企業)が含まれる場合がある。このコンテンツ情報を意味情報(semantic information)と呼ぶことがある。さらに、これらの領域110は、多くの異なる種類のフォームにわたって、おおよそ同じ位置に発生することが多い。この位置情報は、位相情報(topological information)と呼ぶことがある。したがって、機械学習システムが異なる種類のフォームを分析する場合、異なる種類のフォームを分析する際に、そのような領域を認識するように機械学習システムを訓練することができる。例えば、領域110の互いに対する相対的な位置(位相情報)は、それらの領域の内容に関する情報(意味情報)を提供し得る。一実施形態では、機械学習システムが領域の位置のパターンを認識するように訓練され得る。システムはこれらのパターンを分類して、将来システムが特定のフォーム、つまりフォームの種類を認識するようにする。一実施形態では、パターン分類によって特定のカテゴリ、たとえば請求書にフォームを配置できるようになり、システムが将来請求書を認識できるようになり得る。
【0018】
別の見方をすると、領域110、120、130には、さまざまな既知の位置に多数の文字が含まれている。これらの領域内の文字位置は、フィールドが何であるかを識別する(たとえば、住所フィールド)、フォームを再現する、フォームを他のフォームと照合する、フォーム登録を実行するなどの意味を持つことがある。この場合、対応するフォームのフィールドにフィールドを正しく揃えるために、入力フォームの平行移動、拡大縮小、および/または回転が必要になることがある。
【0019】
一実施形態では、領域110内の領域114は、領域110全体の単なる一部であり、領域内の他のデータと未分化であり得る。つまり、領域114のデータは単に領域110の全体的な意味情報の一部であり得る。一実施形態では、領域114は、領域内の他のデータ、例えば、1次元の横長の表、2次元の縦長の表などの表として区別することができる。一実施形態では、位相情報は同じになるが、意味情報の種類は異なる。一実施形態では、機械学習システムは、未分化な状況と分化した状況の両方の状況に共通する位相情報に照らして、両方を認識するように訓練され得る。
【0020】
一実施形態では、領域120は多くの場合、さまざまなタイプの表形式の情報を含むことができる。たとえば、請求書の場合、数量や単価など、購入した商品の表がある場合がある。小計、税、合計の表があり得る。当業者が理解しているように、その他の表もあり得る。縦長の表は、ヘッダー(キーワードと考えられるものを含む)と、ヘッダーの各単語の下に適切なデータ行を有する。横長の表は、左側にヘッダー、右側にそのヘッダーに対応するデータを持つことができる。複数の行を持つ横長の表がある場合があるが、ヘッダーはフォームを横方向ではなく、フォームを縦方向に下へと進む。一実施形態では、検出された縦横の表が互いに隣接し、領域120にグループ化され得る。
【0021】
図1では、ヘッダー122は、フォーム100の中央に向かう、ヘッダー「品目」「番号」「数量」「単価」「価格」がある大きな表のような縦長の表にあり、ヘッダーの下にデータ126の行が続く。ヘッダーは、フォーム100の左下隅に「支払い情報」という文字があるヘッダーのように、1行の表で存在することがある。データ128は、その左下の表のヘッダーの下の行に表示される。
【0022】
ヘッダー122は、フォーム100の中央上部にある日付の表のようなの横長の表にもある。これらの横長の表では、左側にヘッダー122、右側にデータが続く。日付の表は、左側にヘッダー「日付」、右側に日付情報が表示される。また、縦長の表の下にフォーム100の右下方向に集計表のような横長の表がある場合もある。集計表では、ヘッダーは1行で、「小計」「税」「合計」と表示されている。一実施形態では、配送料の行がある場合がある。それらの各ヘッダーワードのデータは、関連するヘッダーワードの右側にある。一実施形態では、日付の表は横長の表ではなく縦長の表になることがある。
【0023】
機械学習システムは、フォーム100上の予想される位相上の位置にある横長の表または縦長の表を認識するように訓練され得る。表自体の認識は、実際の内容の認識、すなわちヘッダーテキストと関連データの正確な解読を必要としないことに注意する必要がある。むしろ、テキスト(縦または横)をヘッダーとして認識し、数字(横または縦)をデータとして認識するだけで十分である。一実施形態では、機械学習システムは、表内のヘッダーの位置に応じて、表が縦長または横長であると認識するように訓練され得る。さらに、注文中または購入中のアイテムを示す請求書の表を識別する際、機械学習システムは、そのような表が通常フォームのページの中央部分に属していることを認識することがある。表が複数ページにわたる場合、各ページの上部にヘッダー110などの情報がある場合がある。機械学習システムはそれを認識するように訓練でき、項目別の請求書の表が複数ページに分割されるかもしれないことも認識する。このような場合、ヘッダーの位相上の位置と項目別請求書の表の位相上の位置は、他の種類のフォームの請求書の表を認識するという点で、機械学習システムにとって有益となり得る。縦書きの「項目別請求書」表の下にある横書きの「合計」表のような表内の表も機械学習システムに指示を与え得る。
【0024】
また、一実施形態では、図1において、フォーム100の左下側に領域120がある。ヘッダー122には、図1のように「銀行情報」などのキーワードを含めることができる。ヘッダー122の下側又は横にあり得るデータ128は、ヘッダー122に対応する情報を構成し得る。
【0025】
なお、124のような領域には、必ずしもそれらに関連する領域122があるわけではない。一実施形態では、126のような領域も同様であり得る。ある態様では、キーワードが存在しなくても、横長か縦長かにかかわらず、表データの検出が可能であり得る。
【0026】
一実施形態では、下位領域の組み合わせを使用して、縦長または横長の表領域を検出することができる。ある態様では、横長の表は領域122(1つのキーワードまたは複数のキーワード)のように左側に、領域124(キーワードに対応するデータ)のように右側に配置され得る。縦長の表は、領域122のような最初の行(繰り返すが、キーワードまたは複数のキーワード)と領域126のような後続の行(それぞれのキーワードに対応するデータ)を持つことができる。
【0027】
図1のフォーム100の右下部分の領域130のデータ文字列134など、さらに別の種類の意味情報が存在し得る。フォームには、テキスト情報が含まれている場合があり、テキスト情報は、大きく異なる可能性があるが、必ずしも表形式であったり、何らかの方法でキーワードとして認識されるとは限らない。特定のフォームタイプでは、テキスト情報は、例えば、標準的な契約条件や標準的な免責事項のように標準的であり得る。また、コメントフィールドや特記事項フィールドのように、同じフォームタイプ内でテキスト情報が異なる場合がある。一実施形態では、領域130は、データ文字列134に先行するデータヘッダー132を含み得る。一実施形態では、データヘッダー132が存在しない場合がある。機械学習システムは、例えば領域の位置(位置情報)とそのテキスト内容(意味情報)に基づいて、領域130をテキスト領域として認識するように訓練することができる。ここでも領域130のテキスト情報の正確な内容を決定する必要はない。むしろ、機械学習システムに指示を与え得る情報の一般的な性質である。
【0028】
以上のことから、当業者は、発明の実施形態において、フォームを認識する機械学習システムを訓練するために、キーワードの明示的な解読が不要であることがわかるであろう。むしろ、特定のデータを認識することなく、互いが必要に近接して、および/またはフォーム内の特定の位置にあるフィールドのタイプを認識するだけで十分である(例えば、ぼやけた入力画像の場合、データは区別されないかもしれないが、フォーマットは識別できる)。このような場合、テキスト検出エラーおよび/または認識エラーが発生し得る。そのようなエラーは、機械学習システムが領域の位置や意味情報を正しく識別する能力にとって致命的である必要はない。また、一実施形態では、前述のようにフォームのモックアップを訓練データとして採用し得る。一実施形態では、そのようなフォームには、ぼやけやデータを読み取ることが困難なシミュレーションが含まれ得る。
【0029】
当業者が以下の説明から理解するように、機械学習システムの訓練には、システムのさまざまな層にあるさまざまなノードの重み付けの変更が含まれ得る。
【0030】
異なる種類の請求書のモックアップである図2では、フォーム左上の領域110にフォームのタイトルと会社情報が含まれている。図1のケースにあるように、このようなモックアップは、一実施形態による機械学習システムの訓練に使用され得る。フォームの右上にある領域110には、会社のロゴが含まれている。機械学習システムは、特定のロゴを解読することなく、位置(位置情報)と一般的な内容(意味情報)によってフォーム内のロゴを認識するように訓練され得る。
【0031】
図2は、フォーム内に顕著に配置される領域120を示しており、比較的より広い空間をとる。表の垂直部分のヘッダー122は2行あり、縦長の表のデータ行126の上にあり、横長の表のデータ124の左には表の水平部分のヘッダー122が4行ある。図1の同様の横長の表(小計、税、合計あり)と比較して、図2の領域120の下部にある横長の表は、領域の幅を横切って広がっている。
【0032】
さらに別の種類の請求書のモックアップである図3では、日付と注文者情報を含む図の最上部付近の領域120は、図1の日付情報とは異なる形式になっている。図1のケースにあるように、このようなモックアップは、一実施形態による機械学習システムの訓練に使用され得る。図3の領域110は、領域110が同様に配置されている図1図2とは異なり、フォーム全体に多少分散している。図3の領域130は、フォームの下部ではなく、フォームの中央付近にある。領域120は領域130の上下にある。上の領域120は、ヘッダー122とデータ126を持つ縦長の表のみを含み、下の領域120は、ヘッダー122とデータ124を持つ2つの横長の表を含む。
【0033】
先に述べたように、図1-3のモックアップは、実施形態に従って機械学習システム用に合成的に生成された訓練データであり得るデータを示したものである。異なる種類の意味データの位相的位置を混在させることで、機械学習システムが多種多様なフォームを認識するように訓練することができる。合成的に生成された訓練データは、比較的簡単に生成でき、スキャンされたフォームのようなスキャン、拡大縮小、回転の効果に悩まされないため、有利である。また、すでに述べたように、ぼやけやデータを読み取ることが困難なシミュレーションを、合成生成フォームに訓練データとして挿入することも可能である。
【0034】
図4-6は領域110、120、130を持つフォームの例である。領域120は場所によって数が異なる。また、領域130は場所によって数が異なる。さまざまな表のデータがはっきりしないことが見られ得る。機械学習システムを訓練するという点では、データの明確さや可読性は、さまざまな領域のデータに関する位置情報や意味情報を特定することほど重要ではない。これらの領域を異なる量および/またはフォーム内の異なる位置に置くことは、機械学習システムの訓練に役立つ。訓練された機械学習システムは、図4-6のようなフォームを読み取ることができる。図4-6のスタンプ140の存在さえも、機械学習システムの訓練または操作のいずれかを妨げる必要はない。これらの各図において、スタンプ140は、領域130のように一領域に位置される。領域130の残りの位置的および意味的情報は、訓練および運用目的に十分対応できる。
【0035】
図7Aは、一実施形態による訓練操作を概略した上位フローチャートである。700において、システムは入力画像を受け取る。実施形態に応じて、画像は図4-6の1つのようなスキャン画像である場合と、および/または図1-3の1つのような合成画像である場合がある。705において、入力画像を解析して画像内のフィールドを識別する。一実施形態では、このフィールド識別工程は、図7Bに関して説明するように、反復的であるかもしれないが、これは必須ではない。710において、識別されたフィールド内の下位領域自体が識別され得る。715において、フィールドは識別されて、例えば領域110、120、130のような領域に分類される。一実施形態では、フィールドはフィールド内の下位領域の識別によって識別および/または分類され得る。一実施形態では、まず下位領域が識別され、隣接または互いに接する下位領域が組み合わされて、識別されたフィールドが構成される。そのような実施形態では、705と710が逆転され得る。実施形態によっては、さらに領域の種類が存在し得る。フォームやドキュメントによっては、下位領域間の関係が異なると、それらの下位領域がフィールドとして定義される可能性がある。720において、互いに相対的な複数のフィールドの位置が特定される。
【0036】
725において、フィールド位置の特定に応じて、入力画像が特定のフォームとして識別される。730において、フォームの識別が正しいかどうかのチェックが行われる。その場合、740において、訓練用の追加の入力画像があるかどうかがチェックされる。その場合、工程は700に戻る。そうでない場合、工程は終了する。
【0037】
フィールド識別が正しくない場合、735において、ニューラルネットワークのノードの重みを更新するなど、機械学習システムが更新され、フィールド識別の不正確さに対処する。その後、740へと進み、訓練用の追加の入力画像があるかどうかがチェックされる。その場合、工程は700に戻る。そうでない場合、工程は終了する。
【0038】
一実施形態では、機械学習システムの訓練には、新しい領域や新しいフィールドの定義、ここでの概念を定義されたフィールドによって識別できるさまざまな種類の文書に拡張することが含まれ得る。
【0039】
図7Bは、一実施形態によるフォーム識別操作を概略した上位フローチャートである。750において、入力画像を受け取る。この画像は、識別されて、必要に応じて登録、拡大縮小、平行移動されるフォームとなる。755において、入力画像でフィールドが識別される。760において、入力画像のすべてのフィールドが識別されているかどうかチェックされる。そうでない場合、フローは765に進み、755に戻って次のフィールドを識別する。
【0040】
すべてのフィールドが識別されている場合、770において、フィールドは、例えば領域110、120、130などの領域に分類される。実施形態によっては、さらに領域の種類が存在し得る。一実施形態では、下位領域が特定され、そこからフィールドが分類され得る。あるいは、フィールドが分類され、それらのフィールドの下位領域が識別され得る。この点では、図7Aの705-715と同様にフローが進み得る。775において、互いに相対的な複数の識別されたフィールドの位置が特定される。780において、フォームが識別され得る。一実施形態では、さらにフォームを分類する処理があり得る。
【0041】
785において、識別が正しければ、790においてフォームの登録を行う必要があるかどうかが判断される。一実施形態では、画像またはスキャンの品質に応じて、入力フォームの回転、平行移動、および/または拡大縮小が必要または適切である場合がある。795において、次に処理される入力画像があるかどうかが判断される。その場合、フローは750に戻る。そうでない場合、工程は終了する。
【0042】
識別が正しくない場合、790において、フォームは将来の処理のために分離される。このような将来の処理は、さまざまなフォームをとる場合がある。非制限の例によって、フォームは将来の訓練で使用され得る。さらに、または代替的に、フォームを手動で処理できる。一実施形態では、画像またはスキャンの品質に応じて、入力フォームの回転、平行移動、および/または拡大縮小が必要または適切であり得る。795において、次に処理される入力画像があるかどうかが判断される。その場合、フローは750に戻る。そうでない場合、工程は終了する。
【0043】
図7A図7Bは、一実施形態によるフィールド識別とフォーム特性化のための一般的な上位フローを示している。この識別および特性化へのアプローチの1つは、上から下、左から右へフォームでの階層構造の確立に見ることができる。このような工程では、抽出された領域がツリー状のデータ構造にランク付けされる場合がある。このようなランク付けは、類似文書内または類似文書間のコンテンツの検索および/または関連付けを容易にすることができる。
【0044】
本発明の態様では、フローティングフォーム登録及び自由フォーム登録を容易にすることができる。実施形態では、領域内のテキストおよび/またはデータの拡大縮小、誤登録、平行移動、および/または可読性の欠如を補ったり、その他の方法で対応したりできる堅牢なシステムを提供する。実施形態は、より大きなビジネスにも容易に拡張でき、一貫した改善が可能なシステムももたらす。
【0045】
図8では、ディープラーニングシステム900を訓練するために、コンピューティングシステム850は、スキャナ820を使用してドキュメント810をスキャンし、コンピュータ830を介してスキャンされたフォームを受信することができる。さらに、または代替的に、コンピューティングシステム850は、当業者が理解するように、合成生成された訓練フォームを採用する場合がある。コンピューティングシステム850は、フィールド識別セクション860を介して、スキャンまたは合成生成された訓練フォーム内のフィールドを識別することができる。
【0046】
一実施形態では、記憶装置875は、スキャン画像又はディープラーニングシステム900が処理する合成生成された訓練フォームを記憶することができる。記憶装置875はまた、トレーニングセット、および/または識別されたフィールドを含むことができるディープラーニングシステム900の処理された出力を格納することができる。
【0047】
コンピューティングシステム850は、単一の場所にあってもよく、ネットワーク855は、コンピューティングシステム850の様々な要素間の通信を可能にする。さらに、または代替的に、コンピューティングシステム850の1つまたは複数の部分が他の部分から遠隔であってもよく、その場合、ネットワーク855は、通信用のクラウドシステムを意味することがある。一実施形態では、様々な要素が併設されている場合であっても、ネットワーク655は、クラウドベースのシステムであってもよい。
【0048】
さらに、または代替的に、プロセッサ、ストレージシステム、およびメモリシステムのうちの1つまたは複数を含むことができる処理システム890は、フィールドの位置を解決するために回帰アルゴリズムまたはその他の適切な処理を実装することができる。一実施形態では、処理システム890は、ディープラーニングシステム900と通信して、例えば、システム900におけるノードの重み付けを支援する。
【0049】
図9は、ディープラーニングシステム900のやや詳細な構成図である。一般に、ディープラーニングシステム900は、当業者が認識するプロセッサ、ストレージ、およびメモリ構造を有することになる。一実施形態では、ディープラーニングシステム900のプロセッサ構造には、グラフィックス処理装置(GPU)だけでなく、中央処理装置(CPU)の代わりに、ニューラルネットワークが1つまたは複数のCPUよりも1つまたは複数のGPUでより良く、および/または高速に、および/または効率的に実行されるインスタンスが含まれる場合がある。畳み込みニューラルネットワーク(CNN)やディープ畳み込みニューラルネットワーク(DCNN)などのニューラルネットワークは、描かれているように、層920-1~920-Nに配置された複数のノードを有することになる。層920-1は入力層となり、層920-Nは出力層となる。異なる実施形態によれば、Nは2以上であってもよい。Nが3以上の場合、少なくとも1つの隠れ層(例えば、層920-2)が存在することになる。Nが2である場合、隠れ層はない。
【0050】
ニューラルネットワークのノードには、最初に重み付けが行われる。重み付けは、当業者であれば理解できるように、トレーニングセットがシステムに提示する様々な状況に対応するために必要な修正として、調整される。ノード重み付けモジュール910は、最初の更新重み付けを保存してもよい。システム900がキーワードを識別する際に、出力層920ーNはキーワードデータベース950にフィールドおよび/またはフォームの識別を提供できる。データベース950には、フォームの分類も格納され、それに付随するフィールドの位置も格納される。
【0051】
いくつかの実施形態では、本書で説明されている方法、プロセス、アルゴリズム、フローチャートのいずれかの機能が、ソフトウェアおよび/またはコンピュータプログラムコード、あるいはメモリまたはその他のコンピュータ読み取り可能または有形のメディアに保存されたコードの一部によって実装され、プロセッサによって実行され得る。
【0052】
いくつかの実施形態では、装置が四則演算として構成された少なくとも1つのソフトウェアアプリケーション、モジュール、ユニットまたはエンティティ、またはプログラムまたはプログラムの一部(追加または更新されたソフトウェアルーチンを含む)を含むか、またはそれらと関連付けられ、少なくとも1つの演算プロセッサまたは制御装置によって実行され得る。プログラムは、ソフトウェアルーチン、アプレットおよびマクロを含むプログラム製品またはコンピュータプログラムとも呼ばれ、装置が読み取り可能な任意のデータ記憶媒体に格納され、特定のタスクを実行するためのプログラム命令が含まれる得る。コンピュータプログラム製品には、プログラムの実行時に、いくつかの例示を実行するように構成された、1つまたは複数のコンピュータ実行可能なコンポーネントが含まれ得る。1つまたは複数のコンピュータ実行可能コンポーネントは、少なくとも1つのソフトウェアコードまたはコードの一部であってよい。例示実施機能の実装に必要な修正および構成は、ルーチンとして実行され、追加または更新されたソフトウェアルーチンとして実装され得る。一例では、ソフトウェアルーチンが装置にダウンロードされることがある。
【0053】
非制限の1つの例として、ソフトウェアまたはコンピュータのプログラムコードまたはコードの一部は、ソースコード形式、オブジェクトコード形式、または何らかの中間形式であり、何らかのキャリア、配布媒体、またはコンピュータが読み取り可能な媒体に格納される。これらの媒体は、プログラムを伝送できるエンティティまたはデバイスである。そのようなキャリアは、例えば、記録媒体、コンピュータメモリ、読み取り専用メモリ、光電気および/または電気キャリア信号、電気通信信号、および/またはソフトウェア配布パッケージを含み得る。必要な処理能力に応じて、コンピュータプログラムは単一の電子デジタルコンピュータで実行され得、または多数のコンピュータに分散して実行され得る。コンピュータ読み取り可能な媒体またはコンピュータ読み取り可能な記憶媒体は、非一時的な媒体であり得る。
【0054】
他の実施形態では、例えば特定用途集積回路(ASIC)、プログラマブルゲートアレイ(PGA)、フィールドプログラマブルゲートアレイ(FPGA)、またはその他のハードウェアとソフトウェアの任意の組み合わせを使用して、例示体の機能が装置に含まれるハードウェアまたは回路によって実行され得る。さらに別の例では、インターネットや他のネットワークからダウンロードした電磁信号によって伝送される非有形手段などの信号として、例示の機能が実装され得る。
【0055】
一実施形態では、制御装置のような装置は、回路、シングルチップコンピュータ素子のようなコンピュータまたはマイクロプロセッサとして、あるいはチップセットとして構成されることもあり、これには、四則演算に使用する記憶容量を提供するための少なくともメモリおよび/または四則演算を実行するための演算プロセッサが含まれる。
【0056】
図10は、ノード重み付けモジュール910の態様を実施するために使用され得るコンピュータシステムの上位図である。図10では、1つまたは複数の中央処理装置(CPU)1010が、RAMを構成し得るCPUメモリ1020およびディスクストレージ1050と通信する。1つまたは複数のCPU1010は、それぞれ特定の能力と容量を持つ複数のコアで構成され得る。実施形態に応じて、各CPU1010は、それぞれ関連するCPUメモリ1020を有し得る。あるいは、CPU1010がCPUメモリ1020の一部または全部を共有し得る。複数の実施形態では、CPUメモリ1020には揮発性メモリおよび/または不揮発性メモリ、場合によっては非一時的なストレージが含まれ得る。実施形態に応じて、CPU1010の1つまたは複数がバス(図示せず)を介して相互に通信し、そこにCPUメモリ1020も接続されることがある。
【0057】
また、システムには1つまたは複数のグラフィックス処理装置(GPU)1030が含まれ、それぞれが複数のコアで構成され得る。複数の実施形態では、GPU1030の1つまたは複数が、CPU1010のどれよりもコア数が大きく、場合によっては実質的に多い場合がある。図10では、1つまたは複数のGPU1030が、RAM、またはVRAM、あるいはその両方とディスクストレージ1050で構成されるGPUメモリ1040と通信していることが示されている。実施形態に応じて、各GPU1030は、それぞれ関連するGPUメモリ1040を有し得る。あるいは、GPU1030がGPUメモリ1040の一部または全部を共有し得る。実施形態に応じて、GPU1030の1つまたは複数が直接、もしくは、バス(図示せず)を介して相互に通信し、そこにGPUメモリ1040も接続され得る。複数の実施形態では、GPUメモリ1040には揮発性メモリおよび/または不揮発性メモリ、場合によっては非一時的なストレージが含まれ得る。実施形態に応じて、1つまたは複数のGPU1030は、1つまたは複数のCPU1010と直接またはバス(図示せず)を介して通信することができる。GPUのコア数が多いほど、当業者が理解するように、機械学習システムの運用が容易となる。一実施形態では、各GPUコアはCPUコアよりも能力や容量が低い可能性がある。
【0058】
一般に、CPUメモリ1020、GPUメモリ1040、およびディスクストレージ1050のすべてがコンピュータ読み取り可能な記憶媒体を構成し得る。複数の実施形態では、ディスクストレージ1050は、非一時的なコンピュータ読み取り可能な記憶媒体を構成する。ディスクストレージ1050は、1つまたは複数のハードディスクドライブ(HDD)、および/または1つまたは複数のソリッドステートドライブ(SDD)で構成され得る。複数の実施形態では、メモリ1020および/またはメモリ1040内のRAMおよび/またはVRAMは一時的な記憶域となり、したがって揮発性のコンピュータ読み取り可能な記憶媒体を構成することができる。複数の実施形態では、CPU1010および/またはGPU1030の1つまたは複数に、オンボード揮発性および/または不揮発性コンピュータ読み取り可能ストレージが含まれ得る。
【0059】
一実施形態では、CPUとGPUの非同期操作とは、GPUが特定のデータセットを使用して訓練のある時点にいる間、CPUはGPUが訓練および/またはテストで使用する1つまたは複数の将来のデータセットを生成している可能性があることを意味する。
【0060】
訓練モデルと関連する機械学習アルゴリズムによっては、関係するアルゴリズムと関連するハードウェア要件に応じて、上記で説明した処理を2つ以上のCPUおよび/または2つ以上のGPUに割り当てることができる。
【0061】
当業者は、異なる種類のニューラルネットワークが適宜採用され得ること、およびシステム全体で異なるプロセッサ/GPU/CPU間で演算を分割する機能とその結果生じる効率性に応じて、図8の構成要素860、865、890の異なるものによってさまざまな機能が実行され得ることを理解するであろう。
【0062】
上記の説明は、フォーム、特に請求書を非制限的な実施形態として使用してきた。当業者は、ここで説明する概念が請求書だけでなく、他のフォーム、またはフィールドの識別可能な位置関係、フィールド内の意味情報、場合によってはドキュメント内のフィールド内のテキストの配置を含む他のドキュメントにも適用できることを理解するであろう。
【0063】
以上、本発明の態様による実施形態を説明したが、本発明は、これらの実施形態または態様に限定されるものと考えてはならない。当業者であれば、添付の特許請求の範囲の範囲および精神の範囲内で、本発明の変更を理解するであろう。
図1
図2
図3
図4
図5
図6
図7A
図7B
図8
図9
図10
【手続補正書】
【提出日】2024-07-02
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
フォームを識別するための機械学習システムを訓練するコンピュータ実装方法であって、
a)フォームを入力画像として受け取ることと、
b)前記入力画像の1つまたは複数のフィールドを識別することと、
c)各識別されたフィールドに対して、前記識別されたフィールドの1つまたは複数の下位領域を識別することと、
d)前記1つまたは複数のフィールドの識別に応じて、前記1つまたは複数のフィールドを分類することと、
e)前記入力画像の前記1つまたは複数のフィールドの相対的な位置を特定することと、
f)前記相対的な位置の前記特定に応じて、前記フォームを分類することと、を備える、コンピュータ実装方法。
【請求項2】
フォームを識別するための機械学習システムを使用するコンピュータ実装方法であって、
a)フォームを入力画像として受け取ることと、
b)前記入力画像の1つまたは複数のフィールドを識別することと、
c)各識別されたフィールドに対して、前記識別されたフィールドの1つまたは複数の下位領域を識別することと、
d)前記1つまたは複数のフィールドの識別に応じて、前記1つまたは複数のフィールドを分類することと、
e)前記入力画像の前記1つまたは複数のフィールドの相対的な位置を特定することと、
f)前記相対的な位置の前記特定に応じて、前記フォームを分類することと、を備える、コンピュータ実装方法。
【請求項3】
前記入力画像がスキャンされた画像、または人工的に生成されたフォームである、請求項1または2に記載のコンピュータ実装方法。
【請求項4】
前記フォームの誤った分類に応じて、前記機械学習システムのノードの重みを更新することによって、前記機械学習システムを更新すること、を更に備える、請求項1または2に記載のコンピュータ実装方法。
【請求項5】
前記誤った分類を訂正すること、を更に備える、請求項に記載のコンピュータ実装方法。
【請求項6】
g)前記1つまたは複数の下位領域の境界を識別することと、
h)前記フィールド内の位置に応じて、前記1つまたは複数の下位領域を分類することと、
i)前記フィールド内のすべての下位領域が識別されるまで、前記識別と分類を繰り返すことと、を更に備える、請求項1または2に記載のコンピュータ実装方法。
【請求項7】
j)前記1つまたは複数の下位領域の前記識別に応じて、前記1つまたは複数のフィールドを識別することであって、前記識別されたフィールドにおける互いに相対的な前記1つまたは複数の下位領域の位置の識別を含むことを更に備える、請求項1または2に記載のコンピュータ実装方法。
【請求項8】
すべてのフォームを受け取るまでa)からf)を繰り返すこと、を更に備える、請求項1または2に記載のコンピュータ実装方法。
【請求項9】
前記1つまたは複数のフィールドのそれぞれについて、前記1つまたは複数の下位領域のフォーマットを識別することで、前記1つまたは複数のフィールドの前記フォーマットを識別すること、を更に備える、請求項1または2に記載のコンピュータ実装方法。
【請求項10】
異なるフォーマットおよび/または位置を特定することによって、前記1つまたは複数のフィールドのうちのいくつかを前記1つまたは複数のフィールドのうちの他のフィールドと区別すること、を更に備える、請求項1または2に記載のコンピュータ実装方法。
【請求項11】
フォームを識別する機械学習システムであって、
少なくとも1つのプロセッサと、
実行されると、
a)フォームを入力画像として受け取ることと、
b)前記入力画像の1つまたは複数のフィールドを識別することと、
c)各識別されたフィールドに対して、前記識別されたフィールドの1つまたは複数の下位領域を識別することと、
d)前記1つまたは複数のフィールドの識別に応じて、前記1つまたは複数のフィールドを分類することと、
e)前記入力画像の前記1つまたは複数のフィールドの相対的な位置を特定することと、
f)前記相対的な位置の前記特定に応じて、前記フォームを分類することと、
を含む方法を実行するようにする命令を含む非一時的なメモリと、を備える、機械学習システム。
【請求項12】
すべてのフォームを受け取るまでa)からf)を繰り返すこと、を更に備える、請求項11に記載のシステム
【請求項13】
前記1つまたは複数のフィールドのそれぞれについて、前記1つまたは複数の下位領域のフォーマットを識別することで、前記1つまたは複数のフィールドの前記フォーマットを識別することを更に備える、請求項11または12に記載のシステム
【請求項14】
異なるフォーマットおよび/または位置を特定することによって、前記1つまたは複数のフィールドのうちのいくつかを前記1つまたは複数のフィールドのうちの他のフィールドと区別すること、を更に備える、請求項11または12に記載のシステム
【請求項15】
前記フォームの誤った分類に応じて、前記機械学習システムのノードの重みを更新することによって、前記機械学習システムを更新すること、を更に備える、請求項11または12に記載のシステム
【請求項16】
前記誤った分類を訂正すること、を更に備える、請求項15に記載のシステム
【請求項17】
g)前記1つまたは複数の下位領域の境界を識別することと、
h)前記フィールド内の位置に応じて、前記1つまたは複数の下位領域を分類することと、
i)前記フィールド内のすべての下位領域が識別されるまで、前記識別と分類を繰り返すことと、を更に備える、請求項11または12に記載のシステム
【請求項18】
j)前記1つまたは複数の下位領域の前記識別に応じて、前記1つまたは複数のフィールドを識別することであって、前記識別されたフィールドにおける互いに相対的な前記1つまたは複数の下位領域の位置の識別を含むことを更に備える、請求項11または12に記載のシステム
【請求項19】
前記フォームの分類に応じて、前記フォームが、登録、拡大縮小、平行移動を必要とするかどうかを判断することを、前記方法が更に備える、請求項11または12に記載のシステム。
【請求項20】
前記フォームが登録の必要があるという判断に応じて、前記フォームの登録を行うこと、を更に備える、請求項19に記載のシステム。
【外国語明細書】