e4exp / paper_manager_abstract

0 stars 0 forks source link

StrucTexT: Structured Text Understanding with Multi-Modal Transformers #610

Open e4exp opened 2 years ago

e4exp commented 2 years ago

Visually Rich Documents (VRD)における構造化テキストの理解は、ドキュメント・インテリジェンスの重要な部分です。 VRDはコンテンツやレイアウトが複雑であるため、構造化テキストの理解は難しい課題でした。 既存の研究の多くは、この問題を「エンティティ・ラベリング」と「エンティティ・リンク」という2つのサブタスクに分離していますが、これらのサブタスクには、トークンとセグメントの両方のレベルでドキュメントのコンテキストを全体的に理解することが必要です。 しかし、異なるレベルから構造化されたデータを効率的に抽出するソリューションについては、ほとんど研究されていない。 本論文では、StrucTexTと名付けられた統合的なフレームワークを提案する。 具体的には、変換器に基づいて、セグメント・トークン整合型エンコーダを導入し、異なる粒度レベルのエンティティ・ラベリングとエンティティ・リンクのタスクを処理する。 さらに、より豊かな表現を学習するために、3つの自己教師付きタスクを用いた新しい事前学習戦略を設計しました。 StrucTexTは、既存のMasked Visual Language Modelingタスクと、新しいSentence Length PredictionタスクとPaired Boxes Directionタスクを用いて、テキスト、画像、レイアウトにまたがるマルチモーダルな情報を取り込みます。 我々の手法は、構造化されたテキストをセグメントレベルおよびトークンレベルで理解するために評価され、FUNSD、SROIE、EPHOIEの各データセットにおいて、最先端の手法を大幅に上回る性能を示した。

e4exp commented 2 years ago

1 はじめに

構造化文書の理解は,フォーム,領収書,請求書などのVisually Rich Documents (VRD)から構造化されたテキスト情報を自動的に探索するドキュメント・インテリジェンスの重要な要素である. このようなタスクは、VRDからテキストフィールドの重要な情報と意味的なエンティティ間のリンクを抽出することを目的としており、それぞれエンティティラベリングタスクとエンティティリンクタスクと名付けられています[15]。 構造化テキストの理解は、学界と産業界の両方で注目されています。 現実には、OA、会計システム、電子アーカイブなどのデジタルトランスフォーメーションプロセスの開発に重要な役割を果たしています。 また、企業にとっては、毎日何百万枚もの帳票や請求書を処理する時間を大幅に短縮することができます。 一般的な構造抽出手法は、ドキュメントのセマンティクスを理解するために、予備的な光学式文字認識(OCR)エンジン[19, 34, 39, 40, 47, 49]に依存しています。

図1に示すように、文書内のコンテンツは、テキスト検出器によっていくつかのテキストセグメント(ピンクの点線ボックス)として位置づけることができます。 エンティティフィールドは、部分文字、個々のセグメント、複数のセグメントラインの3つの形式で提示される。 従来のエンティティー・ラベリングの手法は、このタスクを逐次ラベリング問題として定式化していた。 この設定では、テキスト・セグメントは、事前に定義された順序を持つ線形シーケンスとして直列化される。 そして、名前付きエンティティ認識(NER)[17, 23]モデルを利用して、単語や文字などの各トークンにIOB(Inside, Outside, Beginning)タグを付けてラベル付けする。 しかし、トークンレベルで実行される方法では、機能が制限されます。 図1bおよび図1cの例のように、VRDは通常、複数のテキストセグメントで構成されています。 セグメントレベルのテキストコンテンツは、構造化されたテキストの理解に不可欠な、より豊かな幾何学的・意味論的情報を提供します。 いくつかの手法[1, 8, 14, 41]は、セグメントレベルの表現に焦点を当てています。 しかし、これらの手法では、図1aに示すような文字で構成されたエンティティに対応することができない。 そのため、セグメントレベルとトークンレベルの両方で構造を抽出する包括的な技術が検討に値する。 現在では、VRDから構造化されたテキストを正確に理解することが課題となっています。 成功の鍵となるのは、ドキュメント画像から複数のモーダルな特徴をフルに活用することです。 初期のソリューションでは、エンティティタスクを解決するために、プレーンテキストのみを操作していましたが、その結果、意味的に曖昧になっていました。 VRDには豊富な視覚情報が含まれているため、いくつかの手法[6, 16, 26, 32]では、2次元のレイアウト情報を利用して、テキストコンテンツを補完しています。 さらに、さらなる改善のために、主流の研究[2, 21, 24, 30, 38, 48, 50]では、文脈依存性を把握するために、テキスト、画像、レイアウトの浅い融合を採用しています。 近年,大規模データを用いてクロスモダリティの深い融合を共同学習するための事前学習モデル[28, 45, 46]がいくつか提案されており,文書理解において相手を上回る結果を得ている. これらの事前学習モデルは,文書のすべてのモダリティを考慮しているが,テキスト側に関連する貢献に焦点を当てており,視覚的特徴はあまり精巧ではない.

上記の限界に対処するため、本論文では、様々なレベルとモダリティの特徴を取り入れ、様々な文書構造の理解を効果的に向上させるStrucTexTという統一的なフレームワークを提案する。 本論文では、最近の視覚言語変換器の開発[22, 35]にヒントを得て、セグメントの画像と単語のトークンの両方からクロスモーダルな知識を学習する変換器エンコーダを導入する。 さらに、セグメントIDを埋め込むことで、視覚的特徴とテキスト的特徴を異なる粒度で関連付けることができます。 また、レイアウトの手がかりを得るために、2D位置の埋め込みを行います。 さらに、異なるレベルとモダリティの間で符号化された特徴にハダマード積を作用させ、高度な特徴融合を行います。 このように、StrucTexTは、構造化されたテキストを理解するためのセグメントレベルとトークンレベルのタスクを単一のフレームワークでサポートすることができます。 図2は、我々が提案する手法のアーキテクチャを示している。

マルチモダリティの表現能力を向上させるために、テキスト、画像、レイアウトの事前学習用に3つの自己教師付きタスクを導入しました。 具体的には,LayoutLM [45]の研究に倣い,文脈情報を抽出するためにMasked Visual Language Modeling (MVLM)タスクを利用します. さらに、Sentence Length Prediction (SLP) と Paired Boxes Direction (PBD) という2つのタスクを用意しました。 SLPタスクは、エンティティ候補の内部セマンティクスを強化するためのセグメント長を予測します。 PBDタスクは、サンプリングされたセグメントペア内の相対的な方向性を特定するためのトレーニングであり、フレームワークが幾何学的構造のトポロジーを発見するのに役立ちます。 3つの自己教師付きタスクは、文書のテキストとビジュアルの両方の特徴を最大限に活用しています。 本論文では、これらのタスクを用いた教師なしの事前学習を行うことで、より優れた特徴量のエンコーダを得ることができました。

本論文の主な貢献は以下の通りである。 (1) 本論文では、構造化テキスト理解のタスクに統一的なソリューションで取り組むために、StrucTexTと名付けられた新しいフレームワークを提示する。StrucTexTは、異なるレベルとモダリティから意味的特徴を効率的に抽出し、エンティティラベリングとエンティティリンクのタスクを処理する。 (2) 自己教師付き学習により、VRDからマルチモーダルな情報を抽出するために、改良されたマルチタスク事前学習戦略を導入する。テキストの文脈を活用するMVLMタスクに加えて、画像やレイアウトの特徴を活用するSLPとPBDの2つのタスクを新たに事前学習として提案した。この3つのタスクを事前学習の段階で採用することで、より豊かな表現を実現しています。 (3) 実世界のベンチマークを用いた広範な実験により、StrucTexTが最先端の手法と比較して優れた性能を発揮することが示された。また、アブレーションの研究では、事前学習戦略の有効性が示されました。

image

image

e4exp commented 2 years ago

3 アプローチ

図2にStrucTexTの全体像を示します。 入力画像には、境界線やテキストの内容などのOCR結果が事前に設定されています。 特徴埋め込みの段階で、テキスト、画像、レイアウトなどの様々な情報を活用します。 そして、マルチモーダルな埋め込みは、事前に学習された変換ネットワークに与えられ、豊富な意味的特徴を得ることができます。 変換ネットワークは、異なるモダリティの入力間の相互作用を確立することで、クロスモダリティ融合を実現している。 最後に、構造化テキスト理解モジュールがエンコードされた特徴を受け取り、エンティティのラベリングのためのエンティティ認識と、エンティティのリンクのための関係性抽出を実行します。

3. 1 マルチモーダル特徴の埋め込み

𝑛個のテキストセグメントを持つ文書画像𝐼が与えられた場合、オープンソースのOCRアルゴリズム[33, 52]を実行して、左上と右下の境界ボックスを持つ𝑖番目のセグメント領域𝑏𝑖 = (𝑥0, 𝑦0, 𝑥1, 𝑦1) と、それに対応するテキスト文 𝑡𝑖 = {𝑐 𝑖 1 , 𝑐 𝑖 2 , - - , 𝑐 𝑖 𝑙𝑖 } を取得し、𝑐 は単語または文字、𝑙𝑖は𝑡𝑖の長さである。

レイアウト埋め込み

各セグメントや単語に対して、符号化されたバウンディングボックスをそのレイアウト情報として使用する

L = Emb𝑙 (𝑥0, 𝑦0, 𝑥1, 𝑦1,𝑤, ℎ) (1)

ここで、Emb𝑙はレイアウト埋め込み層で、𝑤, ℎはバウンディングボックス𝑏の形状である。 なお、単語レベルの情報を持たないOCR結果があることを考慮して、単語のバウンディング・ボックスをその所属するテキスト・セグメントで推定していることは注目に値する。 言語トークンの埋め込み 一般的な手法[7]に従って、我々はWordPiece [43]を利用してテキスト文のトークン化を行います。 その後、テキストセグメントを左上から右下にソートすることで、すべてのテキストセンテンスをシーケンスSとして集めます。 直感的には、𝑡0 = {[CLS]}, 𝑡𝑛+1 = {[SEP]} のように、特別なタグ [CLS] と [SEP] のペアがシーケンスの最初と最後に追加されます。 したがって、言語シーケンスSを次のように定義することができます。

image

次に、𝑆の埋め込み特徴量とレイアウト埋め込み𝐿を合計して、言語埋め込み

T = Emb𝑡 (S) + L (3)

ここで、Emb𝑡はテキスト埋め込み層である。

ビジュアルセグメントの埋め込み

モデルアーキテクチャでは、画像特徴抽出器としてFPN[20]を用いたResNet50[44]を用いて、𝐼の特徴マップを生成する。 そして、各テキストセグメントの画像特徴は、𝑏にしたがってRoIAlign [10]によってCNNマップから抽出されます。 ビジュアルセグメントの埋め込みVは、

V = Emb𝑣 (ROIAlign(CNN(𝐼), 𝑏)) + L (4)

として計算されます。 ここで、𝐸𝑚𝑏𝑣は視覚的な埋め込み層である。 さらに、画像の特徴にグローバルな情報を導入するために、画像𝐼の特徴マップ全体をV0として埋め込みます。

セグメントIDの埋め込み

野生の写真に基づく視覚言語タスクと比較して、構造化された文書の理解には、曖昧なエンティティを識別するための高いセマンティクスが必要です。 そこで、セグメントIDを埋め込む𝑆 𝑖𝑑を提案し、各テキストセグメントに画像とテキストの特徴を持つ固有の番号を割り当てることで、クロスモダリティの手がかりを明示的に整合させる。

その他の埋め込み

さらに、2つのその他の埋め込み[22, 35]を入力に加える。 位置の埋め込み𝑃 𝑖𝑑は1から最大の配列長までのインデックスを符号化し、セグメントの埋め込み𝑀𝑖𝑑は各特徴のモダリティを表す。上記のエンベッディングはすべて同じ次元を持っています。 最終的に、我々のモデルの入力は、エンベッディングの組み合わせとして表される。 Input = Concat(𝑇 ,𝑉 ) + 𝑆 𝑖𝑑 + 𝑃 𝑖𝑑 + 𝑀 𝑖𝑑 (5)

さらに、短い入力列を一定の長さに埋めるために、いくつかの[PAD]タグを付加する。 特殊な[CLS]タグ、[SEP]タグ、[PAD]タグには、ゼロによる空のバウンディングボックスが割り当てられています。

3.2 マルチモーダル機能拡張モジュール

StrucTextは、ビジュアルセグメント、テキストセンテンス、ポジションレイアウトからマルチモーダルな情報を収集し、埋め込みシーケンスを生成します。 前述のセグメントIDを利用して、異なる粒度間での画像とテキストのアライメントをサポートします。 この段階で、我々は、モダリティとグラニュラリティの間の深い融合を確立するために、埋め込みシーケンスをエンコードするためにトランスフォーマネットワークを実行します。 重要なのは、3つの自己教師付きタスクが、事前学習段階で入力特徴をエンコードし、タスクに依存しない共同表現を学習することです。 詳細は以下の通りで、すべての自己教師付きタスクのパターンは図3に示されています。

タスク1:マスクド・ヴィジュアル・ランゲージ・モデリング MVLMタスクは、言語側の文脈表現を捉えることを目的としています。 ViLBERT[22]のマスクド・マルチモーダル・モデリングのパターンに従い、言語シーケンスから15%のトークンを選択し、そのうちの80%を[MASK]トークンでマスクし、そのうちの10%をランダムなトークンで置き換え、10%のトークンは変更しない。 そして、モデルには、対応するトークンを再構築することが求められます。 ViLBERTでは、画像領域のマスクに従うのではなく、その他の情報をすべて保持し、モデルが可能な限りクロスモダリティの手がかりを探すように促しています。

Task 2: Segment Length Prediction

MLVMの他に、画像側の細かい意味情報を発掘するために、新たにSLP(Sequence Length Prediction)という自己教師付きタスクを導入しました。 SLPタスクでは、各視覚的特徴からテキストセグメントの長さを認識するようモデルに求めます。 このようにして、エンコーダは画像の特徴から、より重要な、同じセグメントIDを介した言語シーケンスの知識を学習させます。 このような情報の流れは、テキスト、ビジュアル、レイアウト情報の深いクロスモーダルな融合を促進することができると考えています。 さらに、WordPiece[43]によって生成されるサブワードの妨害を避けるために、言語シーケンスと画像セグメントの間で同じ長さを保つために、各最初のサブワードのみをカウントします。 このように、2つの粒度の間に余分なアライメントを構築することは、単純ではあるが効果的である。

タスク3:Paired Box Direction さらに、3つ目の自己教師付きタスクであるPaired Box Direction (PBD)は、グローバルなレイアウト情報を利用するように設計されています。 PBDタスクは、テキストセグメントの対の空間的関係を予測することで、文書構造の包括的な幾何学的トポロジーを学習することを目的としています。 まず、360度のフィールドを8つの同じバケットに分割します。 次に、テキストセグメント𝑖と𝑗の間の角度𝜃𝑖𝑗を計算し、それをバケットの一つにラベル付けする。 次に、画像側の2つの視覚的特徴の間で減算を行い、その結果△𝑉^𝑗𝑖をPBDの入力とする。

image

ここでは、変形符号化後の特徴量を^記号で表す。 𝑉^𝑖と𝑉^𝑗は、𝑖番目のセグメントと𝑗番目のセグメントの視覚的特徴を表す。 最後に、PBDを△𝑉^𝑖𝑗で相対的な位置方向を推定する分類タスクと定義する。

3.3 構造的テキスト理解

クロスグラニュラリティラベリングモジュール

クロスグラニュラリティラベリングモジュールは、トークンレベルのエンティティラベリングとセグメントレベルのエンティティラベリングの両方のタスクをサポートしています。 このモジュールでは 言語側で同じセグメントIDを持つトークンは、算術平均

𝑇^𝑖 = mean(𝑡^𝑖) = (𝑐^1 + 𝑐^2 + - -𝑐^𝑙𝑖 )/𝑙𝑖 (7)

ここで𝑡^𝑖は、𝑖- thテキスト文の特徴を意味する。 thテキスト文の特徴量を意味する。 𝑐^はトークンの特徴、𝑙𝑖は文の長さを表します。 その後、バイリニアプーリング層を利用してハダマード積を計算し、テキストセグメント特徴𝑇𝑖とビジュアルセグメント特徴𝑉𝑖を融合します。

𝑋𝑖 = 𝑉𝑖 ∗ 𝑇𝑖 (8)

最後に、クロスモーダル特徴量𝑋𝑖に対して完全連結層を適用し、CrossEntropy損失を用いてセグメント𝑖のエンティティラベルを予測します。

セグメント関係抽出モジュール

エンティティリンクのために、セグメント関係抽出モジュールを提案する。 ドキュメントは通常、キーバリューペアやテーブルパースのように、その構造を階層的な関係のセットとして表現します。 Docstruct[41]にヒントを得て 非対称パラメータ行列𝑀を用いて、セグメント𝑖から𝑗への関係を確率形式で抽出する

𝑃𝑖→𝑗 = 𝜎(𝑋j𝑀𝑋𝑇 𝑖 ) (9)

ここで、𝑃𝑖→𝑗は、𝑖が𝑗にリンクするかどうかの確率である。 𝑀はパラメータ行列、𝜎はシグモイド関数です。 文書中のセグメントペアのほとんどは関連性がないことに気づく。 データの希薄性を緩和し、関連するペアと関連しないペアの数をバランスさせるために、Negative Sampling法[25]に習い、固定されていないサイズのサンプリングセットを構築します。 このサンプリングセットは,同じ数の正と負のサンプルで構成されている. しかし,上記のサンプリング方法だけでは,学習過程が不安定になることがわかった. エンティティリンクの不均衡な分布を最大限に処理するために,マージンランキング損失とバイナリクロスエントロピーを組み合わせて,同時に学習を監視する. したがって、リンキングロスは

Loss = LossBCE + LossRank (10)

と定式化でき、LossRankは以下のように計算される。

LossRank (𝑃𝑖 , 𝑃𝑗 , 𝑦) = 𝑚𝑎𝑥 (0, -𝑦 ∗ (𝑃𝑖 - 𝑃𝑗) + Margin), (11)

なお、𝑦は(𝑃𝑖 , 𝑃𝑗)がポジティブ・ネガティブのサンプルペアの場合は1に、ネガティブ・ポジティブのサンプルペアの場合は0に等しい。

image