(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-06-11
(54)【発明の名称】ラベルなしデータからのフィールド抽出のためのシステム及び方法
(51)【国際特許分類】
G06T 7/60 20170101AFI20240604BHJP
G06T 7/00 20170101ALI20240604BHJP
G06V 10/82 20220101ALI20240604BHJP
G06F 16/383 20190101ALI20240604BHJP
【FI】
G06T7/60 200K
G06T7/00 350C
G06V10/82
G06F16/383
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2023571264
(86)(22)【出願日】2022-01-27
(85)【翻訳文提出日】2024-01-15
(86)【国際出願番号】 US2022014013
(87)【国際公開番号】W WO2022245407
(87)【国際公開日】2022-11-24
(32)【優先日】2021-05-17
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-09-24
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2021-09-24
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
(71)【出願人】
【識別番号】506332063
【氏名又は名称】セールスフォース インコーポレイテッド
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】カオ,ミンフェイ
(72)【発明者】
【氏名】チェン,ツォーユアン
(72)【発明者】
【氏名】シュイ,ラン
【テーマコード(参考)】
5B175
5L096
【Fターム(参考)】
5B175FB02
5L096BA08
5L096DA02
5L096FA03
5L096HA09
5L096HA11
5L096KA04
5L096MA07
(57)【要約】
実施形態は、訓練のためにフィールドレベルのアノテーションを必要としないフィールド抽出システムを記載している。具体的には、訓練プロセスは、単純なルールを使用してラベルなしフォームから擬似ラベルをマイニングすることによってブートストラップされる。次に、トランスフォーマベースの構造を使用して、入力フォーム内のテキストトークン間の相互作用をモデル化し、それに応じて各トークンのフィールドタグを予測する。擬似ラベルは、トランスフォーマ訓練を監督するために使用される。擬似ラベルはノイズが多いので、一連のブランチを含む洗練モジュールを使用して擬似ラベルを洗練する。各洗練ブランチの各々は、フィールドのタグ付けを行い、洗練されたラベルを生成する。各ステージで、ラベルノイズを低減するために、全ての前のブランチからアンサンブルされたラベルによってブランチが最適化される。
【特許請求の範囲】
【請求項1】
フィールド抽出モデルを介してラベルなしデータを有するフォームからのフィールド抽出のためのシステムであって、
複数のフィールドと複数のフィールド値とを含むラベルなしフォームを受信するデータインターフェースと、
複数のプロセッサ実行命令を記憶するメモリと、
前記プロセッサ実行命令を実行して動作を実行するプロセッサと、を含み、前記動作は、
単語のセット及び位置のセットを、ラベルなしフォーム内で前記単語のセットについて検出することと、
前記単語のセット及び前記位置のセットから、前記単語のセット間の幾何学的関係に少なくとも部分的に基づいて、フィールドのフィールド値を識別することと、
エンコーダによって、前記フィールド値に対応する第1の単語と第1の位置のペアを第1の表現に符号化することと、
分類器によって、前記第1の表現からフィールド分類分布を生成することと、
前記フィールド分類分布を擬似ラベルとしてのフィールド値と比較することによって、第1の損失目標をコンピューティングすることと、
逆伝搬を介して、前記第1の損失目標に基づいて前記エンコーダを更新することと、を含む、システム。
【請求項2】
前記フィールドの前記フィールド値を識別することは、キーのフォーム内の1つ以上の単語が前記フィールドのフィールド名に関連するという第1の規則を適用することを含む、請求項1に記載のシステム。
【請求項3】
前記フィールドの前記フィールド値を識別することは、水平又は垂直に整列された単語のペアが前記フィールド及び前記フィールド値のキーであるという第2の規則を適用することを含む、請求項2に記載のシステム。
【請求項4】
前記フィールドの前記フィールド値を識別することは、予め定義されたキーテキストにマッチングする前記単語のセットからの単語が前記フィールドのキーであるという第3の規則を適用することを含む、請求項3に記載のシステム。
【請求項5】
前記動作は、
前記単語のセットからフレーズ候補のセットを決定し、近傍の認識された単語をグループ化することによって、前記位置のセットから対応するフレーズ位置のセットを決定することと、
各フレーズ候補について、前記それぞれのフレーズ候補が前記フィールドのキーである可能性を示すキースコアをコンピューティングすることと、
前記フレーズ候補のセットの中の最大キースコアに基づいて、前記フィールドの前記キーを決定することと、をさらに含む、請求項1に記載のシステム。
【請求項6】
前記キースコアは、前記それぞれのフレーズ候補と予め定義されたキーとの間のストリング距離に基づいてコンピューティングされる、請求項5に記載のシステム。
【請求項7】
前記動作は、
ニューラルモデルを介して、各フレーズ候補についてそれぞれのデータ型を予測することと、
前記フィールドの予め定義されたデータ型とマッチングするデータ型を有するフレーズ候補のサブセットを決定することと、
サブセット内の各フレーズ候補について、それぞれのフレーズ候補が前記フィールドの前記フィールド値である可能性を示す値スコアをコンピューティングすることと、
前記フレーズ候補のサブセットの中の最大キースコアに基づいて、前記フィールド値を決定することと、をさらに含む、請求項5に記載のシステム。
【請求項8】
前記値スコアは、前記フィールドに対応する位置特定キーのキースコアと、前記それぞれのフレーズ候補と前記位置特定キーとの間の幾何学的関係基準に基づいてコンピューティングされる、請求項7に記載のシステム。
【請求項9】
前記幾何学的関係基準は、前記それぞれのフレーズ候補と前記位置特定キーとの間のストリング距離及び角度に基づいてコンピューティングされる、請求項8に記載のシステム。
【請求項10】
フィールド抽出モデルを介してラベルなしデータを有するフォームからのフィールド抽出のためのシステムであって、
複数のフィールドと複数のフィールド値とを含むラベルなしフォームを受信するデータインターフェースと、
複数のプロセッサ実行命令を記憶するメモリと、
前記プロセッサ実行命令を実行して動作を実行するプロセッサと、を含み、前記動作は、
ラベルなしフォーム内で第1の単語及び前記第1の単語の第1の位置を検出することと、
エンコーダによって、前記第1の単語と前記第1の位置のペアを第1の表現に符号化することと、
複数のプログレッシブ・ラベル・アンサンブル(PLE)ブランチにより、前記第1の表現に基づいて複数の予測ラベルを並列にそれぞれ生成することと、
1つのPLEブランチにおける予測ラベルと、擬似ラベルとしての前のPLEブランチからの予測ラベルとを比較することによって、前記1つのPLEブランチにおける損失コンポーネントをコンピューティングすることと、
複数のPLEブランチにわたる損失コンポーネントの和として損失目標をコンピューティングすることと、
前記損失目標に基づいて、前記複数のPLEブランチを逆伝搬を介して更新することと、を含む、システム。
【請求項11】
前記複数のPLEブランチの各々は、前記第1の表現に基づいてそれぞれの予測ラベルを生成するそれぞれの分類器を含む、請求項10に記載のシステム。
【請求項12】
前記1つのPLEブランチにおける前記予測ラベルは、
1つ以上の全結合層を介して、前記第1の表現をフィールド予測スコアのセットに投影することと、
単語のセットの中で最大のフィールド予測スコアに基づいて前記予測ラベルを生成することと、によって生成される、請求項10に記載のシステム。
【請求項13】
前記動作は、
前記複数のフィールドの中から1つのフィールドについて、前記最大のフィールド予測スコアが予め定義された閾値よりも大きいときに、前記単語のセットから前記最大のフィールド予測スコアに対応する単語を選択することをさらに含む、請求項12に記載のシステム。
【請求項14】
前記動作は、
プロセッサによって、単語のセット及び位置のセットをラベルなしフォーム内で前記単語のセットについて検出することと、
前記単語のセット及び前記位置のセットから、前記単語のセット間の幾何学的関係に少なくとも部分的に基づいて、フィールドのフィールド値を識別することと、
分類器によって、前記第1の表現からフィールド分類分布を生成することと、
前記フィールド分類分布を擬似ラベルとしてのフィールド値と比較することによって、第1の損失目標をコンピューティングすることと、をさらに含む、請求項10に記載のシステム。
【請求項15】
前記複数のPLEブランチからの第1のPLEブランチは、前記フィールドの前記識別されたフィールド値を第1の擬似ラベルとして使用する、請求項14に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、両方とも2021年5月17日に出願された米国仮出願第63/189,579号の非仮出願であり、かつ米国特許法第119条に基づく優先権を主張する米国非仮出願第第17/484,618号及び同17/484,623号に対する優先権を主張するものである。
【0002】
上記の出願の全ては、その全体が参照により本明細書に明示的に組み込まれる。
【0003】
本実施形態は、一般に、機械学習システム及びコンピュータビジョンに関し、より具体的には、ラベルなしデータを有するフォームからフィールドを抽出するためのメカニズムに関する。
【背景技術】
【0004】
請求書、給与明細、診療情報提供フォームなどのフォームのようなドキュメントは、日常のビジネス・ワークフローで一般的に使用される。様々なフォームからのフィールド抽出は、困難な作業となることが多い可能性がある。例えば、文書レイアウト及びテキスト表現は、同じフォームタイ(登録商標)プであっても異なる可能性があり、フォームが異なるベンダーによって発行される場合、例えば、異なる会社からの請求書は著しく異なるデザインを有する可能性があり、異なるシステム(例えば、ADP及びWorkday)からの給与明細は、同様の情報に対して異なるテキスト表現を有する可能性があるなどである。従来、このようなフォーム文書から情報を抽出するには、多大な人的努力が必要であった。例えば、人間の作業者には、通常、例えばpurchase_order、invoice_number、total_amountなどの期待されるフォームフィールドのリストが与えられ、それに基づいて、フォームの理解に基づいて対応する値を抽出する。
【0005】
したがって、フォーム文書からの情報抽出のための効率的なシステムが必要である。
【図面の簡単な説明】
【0006】
【
図1】本明細書に記載される実施形態による、請求書からの情報抽出の一例を例示する概略図である。
【0007】
【
図2】本明細書に記載される実施形態による、フィールド抽出システムの全体的な自己教師あり訓練フレームワークを例示する簡略図である。
【0008】
【
図3】本明細書に記載される実施形態による、
図2に記載されるフィールド抽出フレームワークを擬似ラベル・アンサンブル(PLE)で洗練するための例示的なフレームワークを例示するブロック図である。
【0009】
【
図4】本明細書に記載されるいくつかの実施形態による、フィールド抽出フレームワークを実装するコンピューティングデバイスの簡略図である。
【0010】
【
図5】いくつかの実施形態による、フィールド抽出モデルを介してラベルなしデータを有するフォームからのフィールド抽出のための方法の簡略図である。
【0011】
【
図6】いくつかの実施形態による、フィールド抽出モデルを介してラベルなしデータを有するフォームからのフィールド抽出におけるラベル洗練のための方法の概略図である。
【0012】
【
図7】いくつかの実施形態による、ラベルなしフォームデータの訓練データセットの例示的なキーリスト及び日付タイプを提供するデータテーブルである。
【0013】
【
図8A】いくつかの実施形態による、例示的なラベルなしフォームを例示する図である。
【
図8B】いくつかの実施形態による、例示的なラベルなしフォームを例示する図である。
【0014】
【
図9】いくつかの実施形態による、
図1~
図6に記載されるフィールド抽出モデルのデータ実験の例示的な結果を提供する。
【
図10】いくつかの実施形態による、
図1~
図6に記載されるフィールド抽出モデルのデータ実験の例示的な結果を提供する。
【
図11】いくつかの実施形態による、
図1~
図6に記載されるフィールド抽出モデルのデータ実験の例示的な結果を提供する。
【
図12】いくつかの実施形態による、
図1~
図6に記載されるフィールド抽出モデルのデータ実験の例示的な結果を提供する。
【
図13】いくつかの実施形態による、
図1~
図6に記載されるフィールド抽出モデルのデータ実験の例示的な結果を提供する。
【
図14】いくつかの実施形態による、
図1~
図6に記載されるフィールド抽出モデルのデータ実験の例示的な結果を提供する。
【
図15】いくつかの実施形態による、
図1~
図6に記載されるフィールド抽出モデルのデータ実験の例示的な結果を提供する。
【
図16】いくつかの実施形態による、
図1~
図6に記載されるフィールド抽出モデルのデータ実験の例示的な結果を提供する。
【0015】
図では、同一の呼称を有する要素は、同じ又は同様の機能を有する。
【発明を実施するための形態】
【0016】
機械学習システムは、コンピュータビジョン、例えば、パターン認識、物体特定などに広く使用されている。最近のいくつかの機械学習方法は、フォームフィールド抽出をフィールド値のペアリング又はフィールドタグ付けとして定式化する。例えば、いくつかの既存のシステムは、フィールドと値の候補を入力として取り、メトリック学習技法を利用して、正のフィールドと値のペアについて高いペアリングスコアを適用し、負のペアについて低いスコアを適用する表現学習方法を採用している。別のシステムでは、テキストとその位置の両方を入力として取る予め訓練されたトランスフォーマを使用する。しかし、これらの既存の方法は、一般に、訓練のために多数のフィールドレベルのアノテーションを必要とする。フォームのフィールドレベルのアノテーションを取得することは、非常にコストがかかり、労働集約的であり、時には不可能でさえある。なぜなら、(1)フォームには通常、機密情報が含まれるため、訓練目的で利用できる公開データは限られているからであり、(2)外部のアノテーターを雇用することも、個人情報をさらすリスクにより、実行不可能であるからである。
【0017】
フォーム文書から情報を抽出するための効率的なシステムの必要性を考慮して、実施形態は、訓練のためにフィールドレベルのアノテーションを必要としないフィールド抽出システムを記載している。具体的には、訓練プロセスは、単純なルールを使用してラベルなしフォームから擬似ラベルをマイニングすることによってブートストラップされる。次いで、トランスフォーマベースの構造を使用して、入力フォーム内のテキストトークン間の相互作用をモデル化し、それに応じて各トークンのフィールドタグを予測する。擬似ラベルは、トランスフォーマ訓練を監督する(supervise)ために使用される。擬似ラベルはノイズが多いので、一連のブランチを含む洗練モジュールを使用して擬似ラベルを洗練する。各洗練ブランチの各々は、フィールドのタグ付けを行い、洗練されたラベルを生成する。各ステージで、ラベルノイズを低減するために、全ての前のブランチからアンサンブルされたラベルによってブランチが最適化される。
【0018】
例えば、フィールド抽出システムは、ラベルなしデータからの自己教師あり擬似ラベルに基づいて訓練される。具体的には、フィールド抽出システムは、フォーム内の単語のセットとその位置を検出し、単語間の幾何学的規則に基づいてフィールド値を識別する。例えば、フィールドとフィールド値は、通常、水平に位置合わせされ、コロンで分離される。次いで、識別されたフィールド値を擬似ラベルとして使用して、検出された単語及び位置を分類のために符号化するトランスフォーマネットワークを訓練してもよい。
【0019】
いくつかの実施形態のうちの1つでは、多数の擬似ラベル・アンサンブル(PLE)ブランチを使用して、訓練のための擬似ラベルを洗練してもよい。具体的には、PLEブランチは、検出された単語及び位置の符号化された表現から予測された分類を生成するために並列に動作される。各ブランチでは、このブランチでの洗練されたラベルと、擬似ラベルとして「前の」PLEによって生成された予測ラベルとを比較することによって、損失コンポーネントがコンピューティングされる。次いで、PLEブランチ全体の損失コンポーネントを合計して、PLEを一緒に更新する。
【0020】
本明細書で使用される場合、「ネットワーク」という用語は、任意の人工知能ネットワーク又はシステム、ニューラルネットワーク又はシステム、及び/又はそこで実装されるか、又はそれと共に実装される任意の訓練又は学習モデルを含む任意のハードウェア又はソフトウェアベースのフレームワークを含んでもよい。
【0021】
本明細書で使用される場合、「モジュール」という用語は、1つ以上の機能を実行するハードウェア又はソフトウェアベースのフレームワークを含んでもよい。いくつかの実施形態では、モジュールは、1つ以上のニューラルネットワーク上で実装されてもよい。
【0022】
図1は、本明細書に記載される実施形態による、請求書からの情報抽出の一例を例示する概略
図100である。従来、フォーム処理において、人間の作業者には、通常、例えばpurchase_order、invoice_number、total_amountなどの期待されるフォームフィールドのリストが与えられ、目的は、フォームの理解に基づいて対応する値を抽出する。例えば、INVOICE#、PO Number、及びTotalであるキーは、フォーム内のフィールドの具体的なテキスト表現を参照し、値の位置特定の重要な指標となる。キーは、一般に、値の特定に最も重要な特徴である。したがって、フィールド抽出システムは、フォーム内の無関係な情報からフィールド値を自動的に抽出することを目的としており、これは、処理効率を向上させ、人的労力を低減するために不可欠である。
【0023】
図100に示すように、フォームは、「invoice#」、「1234」、「PO Number」、「000001」などの様々なフレーズを含む。フィールド抽出システムは、「PO Number」102が位置特定キーであることを識別し、次に、値「1234」104、「00000001」103、又は「100.00」105のいずれかが位置特定キーとマッチングするかどうかを決定してもよい。このようなマッチングは、位置特定キー102と値103~105との間の幾何学的関係に基づいて決定されてもよい。例えば、ルールベースのアルゴリズムを適用して、例えば、値「0000001」103が、位置特定キー102の位置に対応する可能性が高いとのマッチングを決定してもよい。なぜなら、値103は、位置特定キー102の位置と垂直方向に整列した位置を有するためである。
【0024】
大規模なラベル付きフォームにアクセスする従来の方法とは異なり、ルールベースの方法を使用して、ラベルなしデータからノイズの多い擬似ラベル(例えば、フィールド及び値)を生成してもよい。ルールベースのアルゴリズムは、次の観測に基づいて構築される。
(1)フィールド値(例えば、
図1の103)は、通常、何らかのキー(例えば、
図1の102)と共にフォーム内に示され、キー(例えば、
図1の102)は、フィールドの具体的なテキスト表現である。
(2)キーとそれに対応する値とは、強い幾何学的関係を有する(
図1に示すように、キーは、ほとんどが、それらの値の垂直方向又は水平方向の隣にある)。
(3)フォームのレイアウトは非常に多様であるが、通常、様々なフォームインスタンスで頻繁に使用されるキーテキストがいくつかある(例えば、フィールドpurchase_orderのキーテキストは「PO Number」、「PO#」などである)。
(4)フィールド値は常に何らかの日付タイプに関連付けられる(例えば、「invoice_date」の値のデータ型はdateで、「total_amount」の値のデータ型はmoney amount又はnumberである)。
【0025】
したがって、ルールベースの方法を使用して、大規模なフォームから関心のある各フィールドについて有用な擬似ラベルを生成してもよい。
図1に示すように、キー位置特定102は、最初に、フォーム内のテキストとフィールドの可能なキーストリングとの間のストリングマッチングに基づいて行われる。次いで、テキストのデータ型と位置特定キー102との幾何学的関係に基づいて、値103~105が推定される。
【0026】
図2は、本明細書に記載される実施形態による、フィールド抽出システムの全体的な自己教師あり訓練フレームワーク200を例示する簡略図である。フレームワーク200は、光学式文字認識モジュール205、トランスフォーマネットワーク210、及び分類器220を含む。ラベルなしフォーム202、例えば、小切手、請求書、給与明細などは、予め定義されたリスト{fd
1,fd
2,…,fd
N}内のフィールドの情報を含んでもよい。入力としてフォームが与えられると、一般のOCR検出及び認識モジュール205が、ラベルなしフォーム202に適用されて、バウンディングボックス{b
1,b
2,…,b
M}として表される位置を有する単語のセット{w
1,w
2,…,w
M}を取得する。したがって、フィールド抽出方法の目標は、フィールドの情報が入力フォームに存在する場合、フィールドfd
iにマッチングする目標値v
iを大量の単語候補{w
1,w
2,…,w
M}から自動的に抽出することである。
【0027】
次いで、単語と境界ボックス位置のペア{wi,bi}をトランスフォーマエンコーダ210に入力して、特徴表現に符号化してもよい。ペア{wi,bi}はまた、各予め定義されたフィールドに対応するキーの位置を識別するキー位置特定と、位置特定されたキーの対応するフィールド値を決定する値推定とを実行するように構成された擬似ラベル推論モジュール215に送信されてもよい。
【0028】
例えば、キー及び値は複数の単語を含んでもよく、単語及び境界ボックス位置のペア{w
i,b
i}を受信すると、擬似ラベル推論モジュール215は、DBSCANアルゴリズム(Esterら,1996)を使用して、近くの認識された単語をそれらの位置に基づいてグループ化し、フレーズ候補
【数1】
及びそれらの位置
【数2】
を取得してもよい。
【0029】
関心のある各フィールドfd
iについて、頻繁に使用されるキーのリストである
【数3】
が、ドメイン知識に基づいて決定される。例えば、フィールド名が、リスト内の唯一のキーとして使用される。そして、モジュール215は、フレーズ候補
【数4】
と各設計されたキー
【数5】
との間の文字距離を、
【数6】
として測定してもよい。モジュール215は、以下の式を使用して、この候補がフィールドのキーである可能性がどれくらいであるかを示す、各フレーズ候補のキースコアをコンピューティングしてもよい。
【数7】
【0030】
次いで、以下のように、最大のキースコアを持つ候補を見つけることによって、キーが位置特定される。
【数8】
【0031】
次いで、擬似ラベル推論モジュール215は、位置特定キーの値(又は、適用可能な場合は1つ以上の値)を決定してもよい。具体的には、次の2つの基準に従って値を推定する。第1に、データ型はフィールドに即している(in line with)必要がある。第2に、それらの位置は、位置特定キーとよく調和している必要がある。各フィールドについて、適格なデータ型のリストが予め決定されてもよい。例えば、データフィールド「invoice number」について、データ型は、ストリング又は整数を含んでもよい。予め訓練されたBERTベースのモデルを使用して、各フレーズ候補のデータ型を予測してもよく、正しいデータ型を有する候補
【数9】
のみが保持される。
【0032】
一実施形態では、値スコアが、各適格な候補
【数10】
について、以下のように決定される。
【数11】
式中、
【数12】
は、位置特定キーのキースコアを示し、
【数13】
は、候補と位置特定キーとの幾何学的関係スコアを示す。キー(例えば、
図1の102)とその値(例えば、
図1の103)は、一般に互いに近く、値は、キーのすぐ下にあるか、又は、それらの右側にある可能性が高い。したがって、距離、角度などの幾何学的関係は、キーと値の関係
【数14】
を測定するために決定される。式中、
【数15】
は、2つのフレーズの距離を示し、
【数16】
は、
【数17】
から
【数18】
への角度を示し、
【数19】
は、μを平均、σを標準偏差とするガウス関数を示す。ここで、μ
aは0にセットされ、σ
bとσ
aは0.5に固定される。キーに対する角度が0又はπ/2のいずれかに近い候補に報酬を与えるために、これら2つのオプションに対する最大角度スコアは以下のように取られる。
【数20】
このように、(5)式のように、全ての候補の中で値スコアが最大であり、かつ、そのスコアが閾値、例えばθ
v=0.1を超える場合、その候補がフィールドの予測値として決定される。
【0033】
一実施形態では、擬似ラベル推論モジュール215の出力、例えば、擬似ラベルとしてのフィールドの推定値は、スタンドアロン型フィールド抽出出力として使用されてもよい。別の実施形態では、フィールドの推定値は、フィールド抽出性能をさらに向上するために、ブートストラップ訓練のための擬似ラベルとして使用されてもよい。具体的には、単語のターゲットラベルを予測するためには、この単語の意味と周囲の文脈との相互作用を学習する必要がある。トランスフォーマベースのアーキテクチャ(例えば、Xuらに記載されているLayoutLM、2020)が、文脈情報をモデル化する優れた能力のために、単語の表現を学習するために使用されてもよい。意味表現を除いて、単語の位置と入力フォームの一般的なレイアウトも重要であり、単語の識別的特徴を捕捉するために使用できる。トランスフォーマエンコーダ210は、入力ペア{w
i,b
i}から特徴を抽出してもよい。
【数21】
式中、T(.)は、トランスフォーマベースの特徴抽出器を示し、f
iは、単語iの特徴を示す。
【0034】
トークン分類のための分類器220は、トランスフォーマエンコーダ210から符号化された特徴表現の入力を受信してもよく、このトランスフォーマエンコーダは、元のラベルなしフォーム202から各トークンに対するバックグラウンドを含む予測フィールドを生成する。具体的には、分類器220は、全結合(FC)層を介してフィールド空間({background,fd1,fd2,…,fdN})に特徴を投影することによって、フィールド予測スコアskを生成する。分類器220からの予測されたフィールドスコアと、擬似ラベル推論215から生成された擬似ラベルとは、次いで、損失モジュール230で比較され、訓練目標を生成してもよい。訓練目標は、逆伝搬経路(破線で示す)を介して、トランスフォーマ210及び分類器220を更新するためにさらに利用されてもよい。
【0035】
一実施形態では、複数のプログレッシブ擬似ラベル・アンサンブル(PLE)を、
図3にさらに記載されるように、ブートストラップ訓練のために採用してもよい。
【0036】
図3は、本明細書に記載される実施形態による、
図2に記載されるフィールド抽出フレームワークをPLEで洗練するための例示的なフレームワークを例示するブロック図である。
図2に記載されるように、トランスフォーマ210は、ラベルなしフォーム202から抽出された単語の入力302と、単語を囲む境界ボックスの位置(w
1,b
1),(w
2,b
2),…,(w
M,b
M)とを受信し、それに基づいて、初期単語レベルのフィールドラベル(ブートストラップラベルとも呼ばれる)
【数22】
が、擬似ラベル推定モジュール215で推定された擬似ラベルによって取得される。したがって、トランスフォーマネットワーク210は、分類器220からのフィールド予測スコア及び生成されたブートストラップラベルに基づいてコンピューティングされる交差エントロピー損失
【数23】
を使用して最適化することができる。
【0037】
しかし、ノイズの多いブートストラップラベルのみを訓練の正解として使用すると、モデルの性能低下に妥協してしまうことがある。トランスフォーマ210の後には、分類ブランチとして各々機能する複数のPLEを含む洗練モジュール304が採用される。具体的には、各ブランチjでは、PLEは独立してフィールド分類を行い、それらの予測に基づいて擬似ラベル
【数24】
を洗練する。後ステージのブランチは、前のブランチから取得された洗練されたラベルを使用して最適化される。
【0038】
例えば、ブランチkでは、洗練されたラベルは、(1)各単語についてargmax(sk
c)によって予測フィールドラベル
【数25】
を見つけ、(2)各フィールドについて、その予測スコアが全ての単語の中で最も高く、閾値値(0.1に固定)より大きい場合にのみ単語を保持する、というステップに従って、洗練されたラベルが生成される。例えば、ブランチ304a~304nを含むPLEモジュール304を仮定する。第1のPLEブランチ304aは、擬似ラベル推定モジュール215から生成された擬似ラベル
【数26】
を受信してもよく、それに基づいて、FC層は、フィールド分類スコアs
1を生成し、次いで、それは、擬似ラベル
【数27】
に変換される。そして、ブートストラップラベル
【数28】
と出力された擬似ラベル
【数29】
とが第2のPLEブランチ304bに供給され、これに基づいてFC層がフィールド分類スコアs2を生成し、これが、擬似ラベル
【数30】
に変換される。同様の処理により、k番目のPLEブランチは、ブートストラップラベル
【数31】
と生成された擬似ラベル
【数32】
を受信し、これに基づいてFC層がフィールド分類スコアskを生成し、これが、擬似ラベル
【数33】
に変換される。
【0039】
したがって、最終損失は、全ての損失を集約し、
【数34】
【0040】
このようにして、ラベルのプログレッシブ洗練が、ラベルノイズを低減する。しかし、各ステージで洗練されたラベルのみを使用すると、ラベルは洗練後により正確になるが、いくつかの信頼性の低い値がフィルタリングされて除去され、その結果、再現率が低下するため、性能の向上には限界がある。この問題を緩和するために、各ブランチは、前の全てのステージからのアンサンブルされたラベルで向上される。アンサンブルされたラベルは、適合率と再現率の間のより良いバランスを維持するだけでなく、より多様であり、モデル最適化のための正則化として役立つことができる。推論中に、全てのブランチから予測された平均スコアを使用してもよい。同様の手順を適用して、洗練されたラベルを生成するときに最終フィールド値を取得してもよい。
【0041】
コンピュータ環境
図4は、本明細書に記載するいくつかの実施形態による、フィールド抽出フレームワークを実装するコンピューティングデバイス400の簡略図である。
図4に示すように、コンピューティングデバイス400は、メモリ420に結合されたプロセッサ410を含む。コンピューティングデバイス400の動作は、プロセッサ410によって制御される。また、コンピューティングデバイス400は、1つのプロセッサ410のみを有して示されているが、プロセッサ410は、コンピューティングデバイス400内の1つ以上の中央処理ユニット、マルチコアプロセッサ、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路、グラフィック処理ユニット(GPU)などを代表するものであってもよいことが理解される。コンピューティングデバイス400は、スタンドアロンのサブシステムとして、コンピューティングデバイスに追加されたボードとして、及び/又は仮想マシンとして実装されてもよい。
【0042】
メモリ420は、コンピューティングデバイス400によって実行されるソフトウェア及び/又はコンピューティングデバイス400の動作中に使用される1つ以上のデータ構造を記憶するために使用されてもよい。メモリ420は、1つ以上のタイプの機械可読媒体を含んでもよい。機械可読媒体のいくつかの一般的な形態は、例えば、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、任意の他の磁気媒体、CD-ROM、任意の他の光学媒体、パンチカード、紙テープ、穴のパターンを有する任意の他の物理媒体、RAM、PROM、EPROM、FLASH-EPROM、任意の他のメモリチップ又はカートリッジ、及び/又はプロセッサ又はコンピュータが読むように適応される任意の他の媒体を含んでもよい。
【0043】
プロセッサ410及び/又はメモリ420は、任意の好適な物理的配置に配置されてもよい。いくつかの実施形態では、プロセッサ410及び/又はメモリ420は、同じボード、同じパッケージ(例えば、システムインパッケージ)、同じチップ(例えば、システムオンチップ)などに実装されてもよい。いくつかの実施形態では、プロセッサ410及び/又はメモリ420は、分散、仮想化、及び/又はコンテナ化されたコンピューティングリソースを含んでもよい。そのような実施形態とマッチングして、プロセッサ410及び/又はメモリ420は、1つ以上のデータセンター及び/又はクラウドコンピューティング施設に位置してもよい。
【0044】
いくつかの例では、メモリ420は、1つ以上のプロセッサ(例えば、プロセッサ410)によって動作するときに、1つ以上のプロセッサに本明細書にさらに詳細に記載される方法を実行させ得る実行可能コードを含む非一時的な有形機械可読媒体を含んでもよい。例えば、図示のように、メモリ420は、システム及びモデルを実装及び/又はエミュレートするため、及び/又は本明細書にさらに記載される方法のうちのいずれかを実装するために使用され得る抽出430のための命令を含む。いくつかの例では、フィールド抽出モジュール430は、データインターフェース415を介して、入力440、例えば、ラベルなしのフォームの画像インスタンスを受信してもよい。データインターフェース415は、ユーザがアップロードしたフォームの画像インスタンスを受信するユーザインターフェース、又はデータベースから以前に記憶されたフォームの画像インスタンスを受信又は取り出してもよい通信インターフェースのいずれであってもよい。フィールド抽出モジュール430は、入力440の抽出されたフィールドなどの出力450を生成してもよい。
【0045】
いくつかの実施形態では、フィールド抽出モジュール430は、擬似ラベル推定モジュール431とPLEモジュール432とをさらに含んでもよい。擬似ラベル推論モジュール431は、例えば
図2に記載されているように、フォームからノイズの多い擬似ラベルをマイニングするためのルールベースの方法を使用する。PLEモジュール432(
図3の洗練モジュール304と同様)は、フォームから抽出されたトークンのセットの入力と、各トークンのバックグラウンドを含む予測フィールドの出力とを用いて、トークン分類タスクとして実装される、訓練中にフィールドの推定値を擬似ラベルとして使用して、データ駆動モデルを学習してもよい。PLEモジュール432のさらなる詳細は、
図3に関連して以下に説明される。
【0046】
フィールド抽出ワークフロー
図5は、いくつかの実施形態による、フィールド抽出モデルを介してラベルなしデータを有するフォームからのフィールド抽出のための方法500の簡略図である。方法500のプロセスのうちの1つ以上は、少なくとも部分的に、1つ以上のプロセッサによって実行されるときに、1つ以上のプロセッサにプロセスのうちの1つ以上を実行させ得る非一時的な有形機械可読媒体に記憶された実行可能コードの形態で実装されてもよい。いくつかの実施形態では、方法500は、フィールド抽出又はフィールド抽出モデルを訓練する方法を実行するためのフィールド抽出モジュール430(
図4)の動作に対応する。例示されるように、方法500は、いくつかの列挙されたステップを含むが、方法500の態様は、列挙されたステップの前、後、及びその間に追加のステップを含んでもよい。いくつかの態様では、列挙されたステップのうちの1つ以上は、省略されてもよく、又は異なる順序で実行されてもよい。
【0047】
ステップ502では、複数のフィールド及び複数のフィールド値を含むラベルなしフォームが、データインターフェース(例えば、
図4の415)を介して受信される。例えば、ラベルなしフォームは、
図8A~
図8Bに示される形態と同様の形態をとることができる。
【0048】
ステップ504では、単語のセット及び位置のセットが、その単語のセットに対してラベルなしフォーム内で検出される。例えば、単語及び位置は、
図2のOCRモジュール205によって検出されてもよい。
【0049】
ステップ506では、フィールドのフィールド値が、単語のセットと位置のセットから、単語のセット間の幾何学的関係に少なくとも部分的に基づいて識別される。例えば、フィールド値は、キーのフォーム内の1つ以上の単語がフィールドのフィールド名に関連するという第1の規則を適用することによって識別され得る。別の例として、フィールド値は、水平又は垂直に整列された単語のペアがフィールド及びフィールド値のキーであるという第2の規則を適用することによって識別されてもよい。別の例では、フィールド値は、予め定義されたキーテキストにマッチングする単語のセットからの単語がフィールドのキーであるという第3の規則を適用することによって識別されてもよい。
【0050】
一実装では、フィールドに対応するキー位置特定が決定される。例えば、フレーズ候補のセットが単語のセットから決定され、対応するフレーズ位置のセットが、近傍の認識された単語をグループ化することによって位置のセットから決定される。各フレーズ候補に対して、それぞれのフレーズ候補がフィールドのキーである可能性を示すキースコアがコンピューティングされる。キースコアは、それぞれのフレーズ候補と予め定義されたキーとの間のストリング距離に基づいてコンピューティングされる(例えば、式(1)を参照)。次いで、キーが、フレーズ候補のセットの中の最大キースコアに基づいて、フィールドに対して決定される(例えば、式(2)を参照)。
【0051】
具体的には、キースコアをコンピューティングするために、ニューラルモデルを使用して、各フレーズ候補についてのそれぞれのデータ型を予測してもよい。次いで、フィールドの予め定義されたデータ型とマッチングするデータ型を有するフレーズ候補のサブセットが決定される。サブセット内の各フレーズ候補について、それぞれのフレーズ候補がフィールドのフィールド値である可能性を示す値スコアがコンピューティングされる。値スコアは、フィールドに対応する位置特定キーのキースコアと、それぞれのフレーズ候補と位置特定キーとの間の幾何学的関係基準に基づいてコンピューティングされる(例えば、式(3))。幾何学的関係基準は、例えば、ストリング距離と、それぞれのフレーズ候補と位置特定キーとの間の角度とに基づいてコンピューティングされる(例えば、式(4))。次いで、フィールド値は、フレーズ候補のサブセットの中の最大値スコアに基づいて決定される。
【0052】
ステップ508で、エンコーダ(例えば、
図2のトランスフォーマエンコーダ210)は、フィールド値に対応する第1の単語と第1の位置のペアを第1の表現に符号化してもよい。
【0053】
ステップ510で、分類器(例えば、
図2の分類器220)は、第1の表現からフィールド分類分布を分類器によって生成してもよい。
【0054】
ステップ512で、フィールド分類分布を擬似ラベルとしてのフィールド値と比較することによって、第1の損失目標がコンピューティングされる。
【0055】
ステップ514で、エンコーダは、逆伝搬を介して第1の損失目標に基づいて更新される。
【0056】
図6は、いくつかの実施形態による、フィールド抽出モデルを介してラベルなしデータを有するフォームからのフィールド抽出におけるラベル洗練のための方法600の概略図である。方法600のプロセスのうちの1つ以上は、少なくとも部分的に、1つ以上のプロセッサによって実行されるときに、1つ以上のプロセッサにプロセスのうちの1つ以上を実行させ得る非一時的な有形機械可読媒体に記憶された実行可能コードの形態で実装されてもよい。いくつかの実施形態では、方法600は、フィールド抽出又はフィールド抽出モデルを訓練する方法を実行するためのフィールド抽出モジュール430(
図4)の動作に対応する。例示されるように、方法600は、いくつかの列挙されたステップを含むが、方法600の態様は、列挙されたステップの前、後、及びその間に追加のステップを含んでもよい。いくつかの態様では、列挙されたステップのうちの1つ以上は、省略されてもよく、又は異なる順序で実行されてもよい。
【0057】
ステップ602では、複数のフィールド及び複数のフィールド値を含むラベルなしフォームが、データインターフェース(例えば、
図4の415)を介して受信される。例えば、ラベルなしフォームは、
図8A~
図8Bに示される形態と同様の形態をとることができる。
【0058】
ステップ604において、ラベルなしフォーム内で第1の単語及び第1の単語の第1の位置が検出される。例えば、単語及び位置は、
図2のOCRモジュール205によって検出されてもよい。
【0059】
ステップ606において、エンコーダ(例えば、
図2のトランスフォーマエンコーダ210)は、第1の単語と第1の位置のペアを第1の表現に符号化する(例えば、式(6))。
【0060】
ステップ608において、複数のプログレッシブ・ラベル・アンサンブル(PLE)ブランチ(例えば、
図3の304 a~nを参照)が、第1の表現に基づいて複数の予測ラベルをそれぞれ並列に生成する。複数のPLEブランチの各々は、第1の表現に基づいてそれぞれの予測ラベルを生成するそれぞれの分類器を含む。1つのPLEブランチにおける予測ラベルは、1つ以上の全結合層を介して、第1の表現をフィールド予測スコアのセットに投影することと、単語のセットの中で最大のフィールド予測スコアに基づいて予測スコアを生成することとによって生成される。最大のフィールド予測スコアが所定の閾値より大きいときに、複数のフィールドからのフィールドに対して、ワードのセットからの最大のフィールド予測スコアに対応する単語が選択される。
【0061】
ステップ610において、1つのPLEブランチにおける予測ラベルと、擬似ラベルとしての前のPLEブランチからの予測ラベルとを比較することによって、1つのPLEブランチにおける損失コンポーネントをコンピューティングする。
【0062】
ステップ612において、損失目標が、複数のPLEブランチにわたる損失コンポーネントの和として、コンピューティングされる(例えば、式(7))。
【0063】
ステップ614において、複数のPLEブランチは、逆伝搬を介して第1の損失目標に基づいて更新される。一実施形態では、複数のPLEブランチからの第1のPLEブランチは、フィールドの識別されたフィールド値を第1の擬似ラベルとして使用する。結合損失目標は、
図5のステップ512でコンピューティングされた第1の損失目標と損失目標を加算することによってコンピューティングされる。次いで、エンコーダと複数のPLEブランチは、結合損失目標に基づいて共同で更新される。
【0064】
例示的な性能
例示的な訓練データセットは、様々なベンダーから収集された実際の請求書を含んでもよい。例えば、訓練セットは、2,711のテンプレートの7,664のラベルなし請求書フォームを含む。例えば、検証セットは、222のテンプレートの348のラベルあり請求書を含む。テストセットは、222のテンプレートの339のラベルあり請求書を含む。各テンプレートは、各セットに最大5つの画像を有する。invoice_number、pur-chase_order、invoice_date、due_date、amount_due、total_amount、total_taxを含む7つの頻繁に使用されるフィールドが考慮される。
【0065】
Tobaccoテストセットについては、350の請求書が、一般公開のためにTobacco Collections of Industry Documents Library 2から収集される。内部IN-Invoiceデータセットの検証セットとテストセットは、フィールドの統計的分布が類似しているが、公開されているTobaccoテストセットは異なる。例えば、Tobaccoセット(
図8Aに示す)の請求書は、訓練データセット(
図8Bに示す)内の他の請求書と比較して、より低い解像度及びより乱雑なバックグラウンドを有することがある。
【0066】
フィールド上のエンドツーエンドのマクロ平均F1スコアは、モデルを評価するための基準として使用される。具体的には、予測値と正解値との間の正確なストリングマッチングを使用して、真陽性、偽陽性、及び偽陰性をカウントする。各フィールドについて、適合率、再現率及びF1スコアが取得される。報告されたスコアは、ランダム性の影響を軽減するために5回の実行で平均化される。
【0067】
ラベルなしデータのみを使用してフィールド抽出を実行する既存の方法はないので、本方法を検証するために以下のベースラインが構築される。すなわち、ブートストラップラベル(B-ラベル):提案した簡単な規則を用いて推論した初期擬似ラベルを使用して、データを訓練せずに直接フィールド抽出を行うことができる。B-ラベルを用いたトランスフォーマ訓練:トランスフォーマは単語の特徴を抽出するためのバックボーンとして使用されるため、トランスフォーマモデルは、(1)パイプラインのデータ駆動モデルと(2)洗練モジュールからの性能ゲインを評価するためのベースラインとしてB-ラベルを使用して訓練される。テキストの内容とその位置の両方が、フィールド予測に重要である。トランスフォーマバックボーンの例としては、テキストと位置の両方を入力とするLayoutLMがある。さらに、テキストのみを入力とするBERTとRoBERTaの2つの一般的なトランスフォーマモデルが使用される。
【0068】
OCRエンジンを使用して、単語とその位置を検出し、単語を読み順にランク付けする。各データセットに対する例示的なキーリスト及び日付タイプを
図7の表1に示す。キーリストとデータ型はかなり幅広い。式(4)においてαが4.0にセットされる。さらに偽陽性を除去するために、位置特定キーが隣接ゾーン内にない場合、値候補が除去される。具体的には、値候補の周囲の隣接ゾーンは、画像の左側まで延び、その上に4つの候補高さとその下に1つの候補高さがある。全ての実験で、洗練ブランチ数k=3である。ステージ数>1であるときに、分類前に1つの隠れFC層が768単位で追加される。式(7)におけるβは、検証セットにおけるその良好な性能により、
図11の表4におけるBERTベースの洗練のために、β=5.0であることを除いて、全てのインボイス実験で1.0にセットされる。本明細書で記載されるフィールド抽出モデル及びベースラインの両方について、最良のF1スコアを有するモデルが検証セットにおいてピックされる。オーバーフィッティングを防止するために、2ステージの訓練戦略が採用され、擬似ラベルを使用してモデルの第1のブランチを訓練し、次いで、第1のブランチは、洗練中に特徴抽出器と共に固定される。バッチサイズは8にセットされ、学習率5e
5でAdamオプティマイザを使用する。
【0069】
次いで、提案されたモデルは、大規模なラベルなし訓練データと十分な量の検証/テストデータを含むため、IN-Invoiceデータセットを使用して検証され、これは、実験セッティングによりよくフィッティングする。提案した訓練法を、バックボーンとしてLayoutLMを使用して最初に検証した。比較結果を、
図9の表2及び
図10の表3に示す。ブートストラップラベル(B-Labels)ベースラインは、検証セットとテストセットで43.8%と44.1%のF1スコアを達成しており、これは、B-Labelsが妥当な正確率を有しているが、依然としてノイズが多いことを示している。B-ラベルを使用してLayoutLMトランスフォーマを訓練するときに、検証セットで約15%、テストセットで約17%の大幅な性能向上が取得される。PLE洗練モジュールを追加すると、検証セットで約6%、テストセットで約7%でモデル適合率が大幅に向上しているが、検証セットで約2.5%、テストセットで約3%で再現率がわずかに減少している。これは、洗練されたラベルが後のステージでますます信頼されるようになり、より高いモデル適合率につながる。しかし、洗練ステージではまた、信頼性の低い偽陰性が除去され、再現率の低下をもたらす。全体として、PLE洗練モジュールは性能をさらに向上し、F1スコアで3%のゲインをもたらす。
【0070】
テキストとその位置の両方がタスクにとって重要であるため、LayoutLMがデフォルトの特徴バックボーンとして使用される。さらに、バックボーンとしての異なるトランスフォーマモデルの影響を理解するために、テキストのみを入力として使用するBERTとRoBERTaの2つの追加モデルを評価した。比較結果を、
図11の表4及び
図12の表5に示す。B-ラベルとPLE改良モジュールを使用してBERTとRoBERTaを直接訓練すると、パラメータの数(ベース又はラージ)が異なる様々なトランスフォーマ選択のベースライン結果が一貫して向上することが観察されている。しかし、LayoutLMは他の2つのバックボーンと比較してはるかに高い結果をもたらし、これは、テキストの位置がタスクの良い性能を取得するために非常に重要であることを示している。
【0071】
次いで、提案したモデルを、導入されたTobaccoテストセットを使用して
図13の表6においてテストした。単純なルールベースの方法は、25.1%のF1スコアが取得され、これは妥当であるが、内部IN-Invoiceデータセットの結果と比較してはるかに低い。その理由は、Tobaccoテストセットが視覚的にノイズが多く、より多くのテキスト認識エラーをもたらすためである。B-ラベルを使用するときに、LayoutLMベースラインは大幅に向上される。また、PLE洗練モジュールは、F1スコアをさらに約2%向上させる。その結果、提案した方法は多様なシナリオによく適合することが示唆された。
図8A~
図8Bでは、サンプルの請求書が異なるテンプレートにわたって非常に多様であり、雑然としたバックグラウンド及び低解像度を有するにもかかわらず、提案した方法が良好な性能を取得することを示す。
【0072】
アブレーション研究が、さらに、LayoutLMベースをバックボーンとする請求書データセットで実施される。ステージ数の影響:提案したモデルはkステージで洗練され、全ての実験でk=3を固定する。ステージ数を変更して評価する。
図15は、ステージ数kが増加すると、モデルは、一般に、検証セット及びテストセットの両方に対してより良好に動作することを示す。複数のステージを使用した場合の性能は、単一ステージモデル(トランスフォーマベースライン)よりも常に高くなる。モデルの性能は、k=3のときに最高に達した。
図16に示すように、モデル洗練中に、適合率は向上するが、再現率は低下する。k=3のときに、適合率と再現率の間で最良のバランスが取得される。k>3のときに、再現率が適合率の向上よりも低下し、F1スコアの悪化が観察される。
【0073】
洗練されたラベル(R-ラベル)の効果:この設計の効果を分析するために、洗練されたラベルは全て、最終的な損失で除去され、B-ラベルのみを使用して3つのブランチを独立に訓練し、推論中に予測をアンサンブルする。
図14の表7に示すように、洗練されたラベルを除去すると、検証セット及びテストセットにおけるF1スコアがそれぞれ2.2%及び2.6%減少する。
【0074】
B-ラベルを用いた正則化の効果。各ステージにおいて、B-ラベルは、モデルがオーバーフィッティングされた洗練されたラベルにオーバーフィッティングするのを防止するために、あるタイプの正則化として使用される。式(7)のβ=0をセットすることによる、洗練ステージでのB-ラベルの利用。
図14の表7に示すように、モデル性能は、この正則化なしではF1スコアで約2%低下する。
【0075】
2ステージの訓練戦略の効果:ノイズの多いラベルへのオーバーフィッティングを避けるために、2ステージの訓練戦略を採用し、第1のブランチはB-ラベルを使用して訓練され、洗練中に固定される。この効果は、単一ステップでモデルを訓練することによって分析される。
図14の表7に示すように、単一のステップの訓練は、有効セット及びテストセットにおいて、それぞれ1.8%及び1.4%のF1スコアの減少につながる。
【0076】
コンピューティングデバイス400のようなコンピューティングデバイスのいくつかの例は、1つ以上のプロセッサ(例えば、プロセッサ410)によって動作するときに、1つ以上のプロセッサに方法400のプロセスを実行させ得る実行可能コードを含む非一時的な有形機械可読媒体を含んでもよい。方法400のプロセスを含み得る機械可読媒体のいくつかの一般的な形態は、例えば、フロッピーディスク、フレキシブルディスク、ハードディスク、磁気テープ、任意の他の磁気媒体、CD-ROM、任意の他の光学媒体、パンチカード、紙テープ、穴のパターンを有する任意の他の物理媒体、RAM、PROM、EPROM、FLASH-EPROM、任意の他のメモリチップ又はカートリッジ、及び/又はプロセッサ又はコンピュータが読むように適合される任意の他の媒体である。
【0077】
発明の態様、実施形態、実装、又は用途を例示するこの説明及び添付の図面は、限定的なものと解釈されるべきではない。様々な機械的、組成的、構造的、電気的、及び動作上の変更は、この説明及び特許請求の範囲の精神及び範囲から逸脱することなく行われてもよい。いくつかの例では、本開示の実施形態を不明瞭にしないために、周知の回路、構造、又は技法が詳細に示されていないか、又は記載されていない。2つ以上の図の類似の数字は、同じ又は同様の要素を表す。
【0078】
この説明では、本開示と矛盾しないいくつかの実施形態を記載する特定の詳細が明記されている。実施形態の完全な理解を提供するために、多数の詳細が明記されている。いくつかの実施形態は、これらの特定の詳細の一部又は全部がなくても実施され得ると当業者に明らかであろう。本明細書に開示される特定の実施形態は、例示的であるが、限定的ではないことを意味する。当業者は、本明細書に具体的に記載されていないが、本開示の範囲及び精神内にある他の要素を認識してもよい。追加的に、不必要な繰り返しを回避するために、1つの実施形態に関連して示され、記載される1つ以上の特徴は、他の方法で具体的に記載されないいか、又は1つ以上の特徴が一実施形態を非機能的にする場合を除いて、他の実施形態に組み込まれてもよい。
【0079】
本出願は、本開示の一部とみなされ、その全体が参照により組み込まれる、「Field Extraction from Forms with Unlabeled Data」と題する付属書Iの9ページの添付文書に関してさらに記載される。
【0080】
例示的な実施形態が示され記載されたが、広範囲の修正、変更及び置換が、前述の開示において企図され、いくつかの例では、実施形態のいくつかの特徴を、他の特徴の対応する使用なしに採用してもよい。当業者であれば、多くの変形、代替、及び修正を認識するであろう。したがって、本発明の範囲は、以下の特許請求の範囲によってのみ限定されるべきであり、特許請求の範囲は、本明細書に開示された実施形態の範囲とマッチングする方式で広く解釈されることが適切である。
【0081】
本出願は、以下の内容についても開示する。
[付記1]
フィールド抽出モデルを介してラベルなしデータを有するフォームからのフィールド抽出のための方法であって、
データインターフェースを介して、複数のフィールドと複数のフィールド値とを含むラベルなしフォームを受信することと、
プロセッサによって、単語のセット及び位置のセットをラベルなしフォーム内で前記単語のセットについて検出することと、
前記単語のセット及び前記位置のセットから、前記単語のセット間の幾何学的関係に少なくとも部分的に基づいて、フィールドのフィールド値を識別することと、
エンコーダによって、前記フィールド値に対応する第1の単語と第1の位置のペアを第1の表現に符号化することと、
分類器によって、前記第1の表現からフィールド分類分布を生成することと、
前記フィールド分類分布を擬似ラベルとしてのフィールド値と比較することによって、第1の損失目標をコンピューティングすることと、
逆伝搬を介して、前記第1の損失目標に基づいて前記エンコーダを更新することと、を含む、方法。
[付記2]
前記フィールドの前記フィールド値を識別することは、キーのフォーム内の1つ以上の単語が前記フィールドのフィールド名に関連するという第1の規則を適用することを含む、付記1に記載の方法。
[付記3]
前記フィールドの前記フィールド値を識別することは、水平又は垂直に整列された単語のペアが前記フィールド及び前記フィールド値のキーであるという第2の規則を適用することを含む、付記2に記載の方法。
[付記4]
前記フィールドの前記フィールド値を識別することは、予め定義されたキーテキストにマッチングする前記単語のセットからの単語が前記フィールドのキーであるという第3の規則を適用することを含む、付記3に記載の方法。
[付記5]
前記単語のセットからフレーズ候補のセットを決定し、近傍の認識された単語をグループ化することによって、前記位置のセットから対応するフレーズ位置のセットを決定することと、
各フレーズ候補について、前記それぞれのフレーズ候補が前記フィールドのキーである可能性を示すキースコアをコンピューティングすることと、
前記フレーズ候補のセットの中の最大キースコアに基づいて、前記フィールドの前記キーを決定することと、をさらに含む、付記1に記載の方法。
[付記6]
前記キースコアは、前記それぞれのフレーズ候補と予め定義されたキーとの間のストリング距離に基づいてコンピューティングされる、付記5に記載の方法。
[付記7]
ニューラルモデルを介して、各フレーズ候補についてそれぞれのデータ型を予測することと、
前記フィールドの予め定義されたデータ型とマッチングするデータ型を有するフレーズ候補のサブセットを決定することと、
前記サブセット内の各フレーズ候補について、それぞれのフレーズ候補が前記フィールドの前記フィールド値である可能性を示す値スコアをコンピューティングすることと、
前記フレーズ候補のサブセットの中の最大キースコアに基づいて、前記フィールド値を決定することと、をさらに含む、付記5に記載の方法。
[付記8]
前記値スコアは、前記フィールドに対応する位置特定キーのキースコアと、前記それぞれのフレーズ候補と前記位置特定キーとの間の幾何学的関係基準に基づいてコンピューティングされる、付記7に記載の方法。
[付記9]
前記幾何学的関係基準は、前記それぞれのフレーズ候補と前記位置特定キーとの間のストリング距離及び角度に基づいてコンピューティングされる、付記8に記載の方法。
[付記10]
複数のプログレッシブ・ラベル・アンサンブル(PLE)ブランチにより、前記第1の表現に基づいて複数の予測ラベルをそれぞれ生成することと、
1つのPLEブランチにおける予測ラベルと、擬似ラベルとしての前のPLEブランチからの予測ラベルとを比較することによって、前記1つのPLEブランチにおける損失コンポーネントをコンピューティングすることと、をさらに含み、
前記複数のPLEブランチからの第1のPLEブランチは、前記フィールドの前記識別されたフィールド値を第1の擬似ラベルとして受信する、付記1に記載の方法。
[付記11]
フィールド抽出モデルを介してラベルなしデータを有するフォームからのフィールド抽出のためのシステムであって、
複数のフィールドと複数のフィールド値とを含むラベルなしフォームを受信するデータインターフェースと、
複数のプロセッサ実行命令を記憶するメモリと、
前記プロセッサ実行命令を実行して動作を実行するプロセッサと、を含み、前記動作は、
単語のセット及び位置のセットを、ラベルなしフォーム内で前記単語のセットについて検出することと、
前記単語のセット及び前記位置のセットから、前記単語のセット間の幾何学的関係に少なくとも部分的に基づいて、フィールドのフィールド値を識別することと、
エンコーダによって、前記フィールド値に対応する第1の単語と第1の位置のペアを第1の表現に符号化することと、
分類器によって、前記第1の表現からフィールド分類分布を生成することと、
前記フィールド分類分布を擬似ラベルとしてのフィールド値と比較することによって、第1の損失目標をコンピューティングすることと、
逆伝搬を介して、前記第1の損失目標に基づいて前記エンコーダを更新することと、を含む、システム。
[付記12]
前記フィールドの前記フィールド値を識別することは、キーのフォーム内の1つ以上の単語が前記フィールドのフィールド名に関連するという第1の規則を適用することを含む、付記11に記載のシステム。
[付記13]
前記フィールドの前記フィールド値を識別することは、水平又は垂直に整列された単語のペアが前記フィールド及び前記フィールド値のキーであるという第2の規則を適用することを含む、付記12に記載のシステム。
[付記14]
前記フィールドの前記フィールド値を識別することは、予め定義されたキーテキストにマッチングする前記単語のセットからの単語が前記フィールドのキーであるという第3の規則を適用することを含む、付記13に記載のシステム。
[付記15]
前記動作は、
前記単語のセットからフレーズ候補のセットを決定し、近傍の認識された単語をグループ化することによって、前記位置のセットから対応するフレーズ位置のセットを決定することと、
各フレーズ候補について、前記それぞれのフレーズ候補が前記フィールドのキーである可能性を示すキースコアをコンピューティングすることと、
前記フレーズ候補のセットの中の最大キースコアに基づいて、前記フィールドの前記キーを決定することと、をさらに含む、付記11に記載のシステム。
[付記16]
前記キースコアは、前記それぞれのフレーズ候補と予め定義されたキーとの間のストリング距離に基づいてコンピューティングされる、付記15に記載のシステム。
[付記17]
前記動作は、
ニューラルモデルを介して、各フレーズ候補についてそれぞれのデータ型を予測することと、
前記フィールドの予め定義されたデータ型とマッチングするデータ型を有するフレーズ候補のサブセットを決定することと、
サブセット内の各フレーズ候補について、それぞれのフレーズ候補が前記フィールドの前記フィールド値である可能性を示す値スコアをコンピューティングすることと、
前記フレーズ候補のサブセットの中の最大キースコアに基づいて、前記フィールド値を決定することと、をさらに含む、付記15に記載のシステム。
[付記18]
前記値スコアは、前記フィールドに対応する位置特定キーのキースコアと、前記それぞれのフレーズ候補と前記位置特定キーとの間の幾何学的関係基準に基づいてコンピューティングされる、付記17に記載のシステム。
[付記19]
前記幾何学的関係基準は、前記それぞれのフレーズ候補と前記位置特定キーとの間のストリング距離及び角度に基づいてコンピューティングされる、付記18に記載のシステム。
[付記20]
前記動作は、
複数のプログレッシブ・ラベル・アンサンブル(PLE)ブランチにより、前記第1の表現に基づいて複数の予測ラベルを並列にそれぞれ生成することと、
1つのPLEブランチにおける予測ラベルと、擬似ラベルとしての前のPLEブランチからの予測ラベルとを比較することによって、前記1つのPLEブランチにおける損失コンポーネントをコンピューティングすることと、をさらに含み、
前記複数のPLEブランチからの第1のPLEブランチは、前記フィールドの前記識別されたフィールド値を第1の擬似ラベルとして受信する、付記1に記載の方法。
[付記21]
フィールド抽出モデルを介してラベルなしデータを有するフォームからのフィールド抽出のための方法であって、
データインターフェースを介して、複数のフィールドと複数のフィールド値とを含むラベルなしフォームを受信することと、
プロセッサによって、ラベルなしフォーム内で第1の単語及び前記第1の単語の第1の位置を検出することと、
エンコーダによって、前記第1の単語と前記第1の位置のペアを第1の表現に符号化することと、
複数のプログレッシブ・ラベル・アンサンブル(PLE)ブランチにより、前記第1の表現に基づいて複数の予測ラベルを並列にそれぞれ生成することと、
1つのPLEブランチにおける予測ラベルと、擬似ラベルとしての前のPLEブランチからの予測ラベルとを比較することによって、前記1つのPLEブランチにおける損失コンポーネントをコンピューティングすることと、をさらに含み、
前記複数のPLEブランチにわたる損失コンポーネントの和として損失目標をコンピューティングすることと、
前記損失目標に基づいて、前記複数のPLEブランチを逆伝搬を介して更新することと、を含む、方法。
[付記22]
前記複数のPLEブランチの各々は、前記第1の表現に基づいてそれぞれの予測ラベルを生成するそれぞれの分類器を含む、付記21に記載の方法。
[付記23]
前記1つのPLEブランチにおける前記予測ラベルは、
1つ以上の全結合層を介して、前記第1の表現をフィールド予測スコアのセットに投影することと、
単語のセットの中で最大のフィールド予測スコアに基づいて前記予測スコアを生成することと、によって生成される、付記21に記載の方法。
[付記24]
前記複数のフィールドの中から1つのフィールドについて、前記最大のフィールド予測スコアが予め定義された閾値よりも大きいときに、前記単語のセットから前記最大のフィールド予測スコアに対応する単語を選択することをさらに含む、付記23に記載の方法。
[付記25]
プロセッサによって、単語のセット及び位置のセットをラベルなしフォーム内で前記単語のセットについて検出することと、
前記単語のセット及び前記位置のセットから、前記単語のセット間の幾何学的関係に少なくとも部分的に基づいて、フィールドのフィールド値を識別することと、
分類器によって、前記第1の表現からフィールド分類分布を生成することと、
前記フィールド分類分布を擬似ラベルとしての前記フィールド値と比較することによって、第1の損失目標をコンピューティングすることと、をさらに含む、付記21に記載の方法。
[付記26]
前記複数のPLEブランチからの第1のPLEブランチは、前記フィールドの前記識別されたフィールド値を第1の擬似ラベルとして使用する、付記25に記載の方法。
[付記27]
前記損失目標と前記第1の損失目標とを加算することにより、結合損失目標をコンピューティングすることと、
前記結合損失目標に基づいて、前記エンコーダ及び前記複数のPLEブランチを共同で逆伝搬を介して更新することと、をさらに含む、付記25に記載の方法。
[付記28]
逆伝搬を介して前記第1の損失目標に基づいて前記エンコーダを更新することと、を含む、方法。
[付記29]
前記エンコーダを更新した後、前記エンコーダのパラメータを固定しながら、前記損失目標に基づいて前記複数のPLEブランチを逆伝搬を介して更新することをさらに含む、付記28に記載の方法。
[付記30]
フィールド抽出モデルを介してラベルなしデータを有するフォームからのフィールド抽出のためのシステムであって、
複数のフィールドと複数のフィールド値とを含むラベルなしフォームを受信するデータインターフェースと、
複数のプロセッサ実行命令を記憶するメモリと、
前記プロセッサ実行命令を実行して動作を実行するプロセッサと、を含み、前記動作は、
ラベルなしフォーム内で第1の単語及び前記第1の単語の第1の位置を検出することと、
エンコーダによって、前記第1の単語と前記第1の位置のペアを第1の表現に符号化することと、
複数のプログレッシブ・ラベル・アンサンブル(PLE)ブランチにより、前記第1の表現に基づいて複数の予測ラベルを並列にそれぞれ生成することと、
1つのPLEブランチにおける予測ラベルと、擬似ラベルとしての前のPLEブランチからの予測ラベルとを比較することによって、前記1つのPLEブランチにおける損失コンポーネントをコンピューティングすることと、
複数のPLEブランチにわたる損失コンポーネントの和として損失目標をコンピューティングすることと、
前記損失目標に基づいて、前記複数のPLEブランチを逆伝搬を介して更新することと、を含む、システム。
[付記31]
前記複数のPLEブランチの各々は、前記第1の表現に基づいてそれぞれの予測ラベルを生成するそれぞれの分類器を含む、付記30に記載のシステム。
[付記32]
前記1つのPLEブランチにおける前記予測ラベルは、
1つ以上の全結合層を介して、前記第1の表現をフィールド予測スコアのセットに投影することと、
単語のセットの中で最大のフィールド予測スコアに基づいて前記予測ラベルを生成することと、によって生成される、付記30に記載のシステム。
[付記33]
前記動作は、
前記複数のフィールドの中から1つのフィールドについて、前記最大のフィールド予測スコアが予め定義された閾値よりも大きいときに、前記単語のセットから前記最大のフィールド予測スコアに対応する単語を選択することをさらに含む、付記32に記載のシステム。
[付記34]
前記動作は、
プロセッサによって、単語のセット及び位置のセットをラベルなしフォーム内で前記単語のセットについて検出することと、
前記単語のセット及び前記位置のセットから、前記単語のセット間の幾何学的関係に少なくとも部分的に基づいて、フィールドのフィールド値を識別することと、
分類器によって、前記第1の表現からフィールド分類分布を生成することと、
前記フィールド分類分布を擬似ラベルとしてのフィールド値と比較することによって、第1の損失目標をコンピューティングすることと、をさらに含む、付記30に記載のシステム。
[付記35]
前記複数のPLEブランチからの第1のPLEブランチは、前記フィールドの前記識別されたフィールド値を第1の擬似ラベルとして使用する、付記34に記載のシステム。
[付記36]
前記動作は、
前記損失目標と前記第1の損失目標とを加算することにより、結合損失目標をコンピューティングすることと、
前記結合損失目標に基づいて、前記エンコーダ及び前記複数のPLEブランチを共同で逆伝搬を介して更新することと、をさらに含む、付記34に記載のシステム。
[付記37]
前記動作は、
逆伝搬を介して前記第1の損失目標に基づいて前記エンコーダを更新することと、を含む、システム。
[付記38]
前記動作は、
前記エンコーダを更新した後、前記エンコーダのパラメータを固定しながら、前記損失目標に基づいて前記複数のPLEブランチを逆伝搬を介して更新することをさらに含む、付記37に記載のシステム。
[付記39]
フィールド抽出モデルを介してラベルなしデータを有するフォームからフィールド抽出のためのプロセッサ実行可能命令を記憶する非一時的な記憶プロセッサ可読媒体であって、前記命令は、動作を実行するプロセッサによって実行され、前記動作は、
データインターフェースを介して、複数のフィールドと複数のフィールド値とを含むラベルなしフォームを受信することと、
プロセッサによって、前記ラベルなしフォーム内で第1の単語及び前記第1の単語の第1の位置を検出することと、
エンコーダによって、前記第1の単語と前記第1の位置のペアを第1の表現に符号化することと、
複数のプログレッシブ・ラベル・アンサンブル(PLE)ブランチにより、前記第1の表現に基づいて複数の予測ラベルを並列にそれぞれ生成することと、
1つのPLEブランチにおける予測ラベルと、擬似ラベルとしての前のPLEブランチからの予測ラベルとを比較することによって、1つのPLEブランチにおける損失コンポーネントをコンピューティングすることと、
複数のPLEブランチにわたる損失コンポーネントの和として損失目標をコンピューティングすることと、
前記損失目標に基づいて、前記複数のPLEブランチを逆伝搬を介して更新することと、を含む、非一時的な記憶プロセッサ可読媒体。
[付記40]
前記複数のPLEブランチの各々は、前記第1の表現に基づいてそれぞれの予測ラベルを生成するそれぞれの分類器を含み、
前記1つのPLEブランチにおける前記予測ラベルは、
1つ以上の全結合層を介して、前記第1の表現をフィールド予測スコアのセットに投影することと、
単語のセットの中で最大のフィールド予測スコアに基づいて前記予測スコアを生成することと、によって生成する、付記39に記載の非一時的な記憶プロセッサ可読媒体。
【国際調査報告】