論文紹介:Graph Convolution for Multimodal Information Extraction from Visually Rich Documents
model
グラフ畳み込みを画像に対して実施した後に、BiLSTM-CRFでエンティティを認識する。グラフ畳み込みの入力は、既存の研究がエッジの情報がないものを扱っていたのに対して、この研究ではエッジの情報をマルチレイヤーパーセプトロンを使用して予測して、その情報をもとにグラフ畳み込みを計算している。
OCR処理によって生成されたバウンディングボックスと、その中の文字情報のリスト。それぞれのノードは他のノードと全結合の形でエッジでつながっている。
グラフ畳み込みの処理は複数の層を使ってベクトルを取得する。そのベクトルとテキストのトークンの埋め込み情報をWord2Vectreを使って取得した後に、二つをconcatenateさせる。
各ノードに対して、BiLSTM-CRFを用いてテキストの埋め込み表現を獲得する。
ノード間のエッジの情報は、] という形で表現される。
GraphConvolution
Graph Convolution of Document : 出力は、各ノードのエンティティの隠れ層と、リンクに対する隠れ層の両方を出力する。
グラフ畳み込みの計算をするときには、attentionが適応されている。
リンクに対する埋め込み表現は、ノード に対してMLPを通すことで取得している。
CRF
【技術解説】CRF(Conditional Random Fields) - ミエルカAI は、自然言語処理技術を中心とした、RPA開発・サイト改善・流入改善レコメンドエンジンを開発
CRFの参考になるページ
埋め込み表現
word2vec
各矩形の文字列を埋め込みベクトルに変換する。
埋め込み表現の連結
各ノードに対して、ward2vecで取得した単語の埋め込み表現とGraphConvから得た埋め込み表現をconcatして、BiLSTM、FCL、CRFの順に連結されていく。
ノードのタグ付け
グラフ畳み込みの重みにシグモイド層を追加することで、各ノードを事前定義したクラスに分類する処理を付け加えている。いわゆるマルチタスクラーニングの処理に相当する。この時の損失の値は重み付き和で計算される。この論文内では、損失の重みの決め方に関しては Multi-Task Learning Using Uncertainty to Weigh Losses という論文のアプローチを採用している。
dataset
中国語のデータセット(フォーマットは一定)のものと、たぶんICDARのOCRからの情報抽出で使用されているデータセット(英語、フォーマットは可変)を使用している。