メインコンテンツへスキップ
半構造化ドキュメント向け Deep Learning アクティビティは、ニューラルネットワークを使用して半構造化ドキュメントから field を抽出する、本番運用レベルの品質を備えた認知 Skill を構築するために設計されています。
注: このアクティビティでは、複雑な構造(たとえば、他のテーブル内に繰り返し構造として含まれる入れ子のテーブル)や、Text 以外の型の field を抽出することはできません。そのような構造を抽出するには、Extraction Rules アクティビティを使用してください。

ユースケース

次のような場合に、このアクティビティをドキュメント処理フローに追加します。
  • Skill を特定のドキュメントタイプの複数のバリアントの処理に使用する場合。
  • Skill がまだ学習していないドキュメントバリアントを処理する予定がある場合。たとえば、複数の異なる銀行から送られてくるローン契約書(それぞれ field 構造が異なる)から field を抽出するように、Fast Learning アクティビティで学習させた Document skill があるとします。この既存の Skill を、まだ Skill が認識していない新しい銀行のローン契約書の処理に使用すると、抽出精度が期待より低くなる可能性があります。抽出精度を向上させるには、Fast Learning アクティビティの代わりに Deep Learning アクティビティを使用できます。

仕組み

Deep Learning では、Convolutional Neural Networks (CNN)、Recurrent Neural Networks (RNN)、そして Natural Language Processing (NLP) のトークンを組み合わせて用います。この組み合わせにより、Deep Learning は画像のパターン、ドキュメント構造、field の内容、およびその周辺のラベルを理解します。学習には大量のドキュメントが必要ですが、まだ遭遇していない新しいドキュメントレイアウトにも汎化できるため、真にテンプレートに依存しない抽出アプローチを実現します。これは、学習段階であらゆるレイアウトを網羅したセットを用意できないドキュメントに対応する唯一の方法です。

トレーニング要件

最良の結果を得るためには、できるだけ多くのドキュメントに対して正しくラベル付けを行うことが不可欠です。トレーニングに使用するサンプルドキュメントの数は、field 抽出の品質に大きく影響します。推奨されるサンプルドキュメント数は次のとおりです。
  • 変動が大きいドキュメントの場合: 少なくとも 200〜300 件のサンプルドキュメント(バリアントごとに 2〜3 件のサンプルドキュメント)が必要です。
  • 変動が小さいドキュメントの場合: 最低 10 件のサンプルドキュメントが必要です(バリアントごとに 2〜3 件のサンプルドキュメント)。
最小要件は 10 件ですが、ラベル付けされたドキュメントを 500 件以上用意することが推奨されます。その際、トレーニングセットには、処理対象とするすべてのドキュメントバリアントが概ね同数含まれるようにします(理想的には、各バリアントにつき少なくとも数件のサンプル)。すべての可能なバリアントを用意する必要はありませんが、この技術がパターンを導き出し、まだ遭遇していないバリアントにも一般化できるようにするためには、十分に多様なドキュメントを提示する必要があります。たとえば請求書の場合、トレーニングセットに 500〜1,000 の異なるサプライヤーが含まれ、それぞれについて 2〜3 件のサンプルドキュメントを含めておくことで、この技術は新しいサプライヤーに対してもうまく一般化できることが期待されます。Deep Learning は一般化する傾向がありますが、トレーニングセットには、そのドキュメントの中で最も頻度の高いバリアント、たとえば最も多くの請求書を発行するサプライヤーを含めておくことが有益です。

トレーニングの特性

より少数のドキュメントでトレーニングされ、よりシンプルなドキュメントセットを対象とする Fast Learning アクティビティとは異なり、Deep Learning アクティビティのトレーニングにははるかに長い時間がかかり、より多くのシステムリソース(現在は CPU 16 コアと 64 GB の RAM)が必要です。 ニューラルネットワークのトレーニングは反復的なプロセスです。各反復はエポックと呼ばれます。エポックの開始時に、ドキュメントセットはトレーニング用サブセットと検証用サブセットに分割されます。エポックの間、トレーニング用サブセット内のすべてのドキュメントがトレーニングアルゴリズムに渡されます。その後、検証用サブセットを使用してニューラルネットワークの性能が評価され、各 field およびドキュメントセット全体に対する指標が更新されます。 詳細については、「Deep Learning アクティビティの設定」を参照してください。