2023-09-07 ML勉強会
Nougat: Neural Optical Understanding for Academic Documents

Introduction
- 学術文献は多くの場合PDFで保存されるが、PDFでは数式の情報が失われてしまう
- Tesseractなどの既存のOCRエンジンは、画像の個々の文字や単語を検出・分類することに優れているが、上付き文字や下付き文字、分数や指数のような数式を認識することができない
- これらのOCRエンジンでは行単位で処理を行っている為に文字の相対的な位置が重要となる数式を認識することが困難
- 学術文献を機械可読のテキストに変換することができれば、科学全体への検索可能性を高めることができる
- Nougat (Neural Optical Understanding for Academic Documents) はそのような文書画像をマークダウンに変換するVisual Transformerモデル
- 本論文の主な貢献
- PDFをマークダウンに変換できる事前学習済みモデルを公開
- PDFとソースコードをペアリングするためのデータセットを作成するためのパイプライン
- OCRは不要で画像だけでスキャンした論文や書籍にアクセスができるようになる
Model

- Donutに従ったシンプルなE2Eのアーキテクチャ
- Swin Transformerエンコーダによって文書画像を埋め込みに変換し、その後BARTのデコーダを用いて自己回帰的にトークンのシーケンスを生成
- 入力画像
- 96dpi
- (H, W) = (896, 672)
- crop, resize, padding
- decoderの最大系列長は4096
- 学術論文は表なども含まれテキストの密度が高いため比較的大きなサイズとしている
Data Augmentation
データオーグメンテーションでスキャン文書の欠陥やばらつきをシミュレーション

Dataset
arXiv
- arXivで公開された 1,748,201 件の論文からソースコード(LaTeX)を収集しPDFに変換
- LaTeXMLでLaTeXからHTMLに変換
- このステップはLaTeXのソースコードを標準化し、あいまいさを取り除くために重要
- ユーザー定義のマクロの置き換え、空白の標準化、オプションの括弧の追加、表の正規化、参考文献や引用文献を正しい番号に置換
- HTMLをパースして、見出し、太字と斜体、LaTeXの表などさまざまな要素をサポートするマークダウンに変換

PubMed Central (PMC)
- レイアウトの多様性のためPMCもarXivと同じくXMLからマークダウンに変換
- 方程式や表が画像として保存されることが多く、このような場合は検出が容易ではないため事前学習時のみ使用
Industry Documents Library (IDL)
- BitenらはIDLデータセットからPDFのための高品質なOCRテキストを提供
- 事前学習にのみ使用
ページ分割
- 最終的なデータセットを作成するために画像に変換したいが、LaTeXコンパイラはPDFファイルのページ区切りを自動的に決定するため、ソースファイルも対応するページに分割しなければならない
- 以下の2ステップで精度高くページ分割のできるPDFのみのデータセットとする
- Bag of Words matching
- PDFからMuPDFでテキスト行を抽出しページ番号とヘッダー、フッターを除去
- PDFの各行にページ番号をラベリングし、TF-IDFとSVMを用いたモデルでMarkdownのページ番号を予測
- 理想的には予測の結果は階段関数となることだが、実際の予測結果にはノイズが含まれるのでジニ不純度を最小化するようにページを分割
- Fuzzy matching
- SVMによって予測された分割位置の近傍のソーステキストを、PDFの前ページの最後の文と、次のページの最初の文とfuzzysearchで比較
- 分割された2点が原文の同じ位置にある場合、ページ区切りは「正確」とみなされ、1点が与えられる
- 一方、分割位置が異なる場合、正規化レーベンシュタイン距離が最も小さいものが選ばれ、距離から1を引いたスコアが与えられる
- データセットに含まれるPDFページは、両方のページ区切りの平均スコアが少なくとも0.9とした (全ページの約47%)

- PDF内の図や表などソースコードにおける位置と一致しない場合
- 前処理でこれらの図や表を削除し、キャプションのレーベンシュタイン距離に基づいてマッチングし、削除された図や表が各ページの最後に挿入
Results & Evaluation

- Modality
- 論文には3種類のテキストがある
- 表 (Tables)
- プレーンテキスト (Plain text)
- 数式 (Math)
- LaTexでは同じ数式を表現する方法が複数存在するため、レンダリングされた数式が同一に見える場合でも予測と正解が不一致となることがある
- その為どのメトリクスも数式に対するスコアはプレーンテキストよりも低くなっている
- GROBID
- GROBIDの出力形式はXMLファイルであり、PMCやarXivと同様にマークダウンに変換する
- GROBIDは識別した計算式に対して、バウンディングボックスを取得できるのでこれをLaTeX-OCRに送ることで、数式を予測する
- GROBIDの結果は非常に悪く、主に GROBID による数式の見逃しの多さと、低品質なバウンディングボックスによる予測精度への影響によるもの
- Nougat smallとbaseは共に他のアプローチを上回り、全てのメトリクスで高いスコアを達成した
- smallとbaseではスコアは同等
Repetitions during inference
- このモデルは、同じ文を何度も繰り返すように縮退することがあり、最も単純な形では、最後の文や段落が何度も繰り返される
- この挙動はテストセットの 1.5%のページで観察され、ドメイン外の文書では頻度が増加
- 学習時にランダムな摂動を導入することで繰り返しの有意な低下が観察された。特にドメイン外の文書では32%減少した。
- 学習サンプル毎にランダムなトークンが他のランダムに選ばれたトークンに置き換わる確率を固定し、新しくサンプリングされた数値が指定された閾値(10%)以上になるまで継続
- 繰り返しの検出
- 最大4096個のトークンを生成しているので、モデルはある時点で停止するが、文末トークンがない場合に待つのは非常に非効率的でリソースがかかる。
- シーケンスのスライディングウィンドウに対するロジットの分散を見て閾値(6.75)を下回る場合に繰り返しと判定できることがわかった

Limitations & Future work
実用性
- このモデルは研究論文で学習されるため、類似の構造を持つ文書で特にうまく機能するが、他の種類の文書も変換することは可能
- ほぼすべてのデータセットは英語で、小さなサンプルでの初期テストによると、他のラテン語ベースの言語でのモデルの性能は満足できるものであったが、ラテン文字以外の言語では、即座に繰り返しが発生する
生成速度
- 24GBのVRAMを搭載したNVIDIA A10Gを搭載したマシンで6ページを並行して処理できる
- 生成速度は、任意のページのテキスト量に大きく依存し、平均トークン数1400の場合、推論最適化なしのbaseモデルでバッチあたりの平均生成時間は19.5秒となる。古典的なアプローチ(GROBID 10.6 PDF/s )と比較すると非常に遅いがPDFに限定されず数式を解析することができる
Future work
- このモデルは文書中の他のページについての知識がなくても、一度に1つのページで学習されており、その結果文書全体で矛盾が生じる。
- 各ページを個別に扱うことで、並列化とスケーラビリティは大幅に向上するが、統合された文書の品質が低下する可能性がある。