メインコンテンツへスキップ半構造化ドキュメントからデータを抽出する場合、Advanced Designer は、(たとえば大きく異なるバリアントを多数含むなど)複雑なドキュメントセットの処理に使用します。ドキュメント処理フローには、半構造化ドキュメントからのデータ抽出に特化したアクティビティが含まれます。
開発後に新しいドキュメントのバリエーションが現れることがあります
同一種類でもレイアウトが異なるドキュメントを処理する必要があり、Skill の開発時にすべてのバリエーションを用意できない場合があります。これは、複数の仕入先の請求書を処理する Skill を作成しているケースに当てはまります。通常、各仕入先は独自の請求書テンプレートを持っており、今後も新しいテンプレートが出てくることは確実です。十分な数のドキュメントサンプルがある場合は、Deep Learning activity の後に Fast Learning activity を使用できます。
Deep Learning activity は想定外のドキュメントのバリエーションの処理を担い、Fast Learning activity は顧客から提供された特定のバリエーションを学習して、該当ドキュメントの精度をさらに高めます。Fast Learning activity は、手動確認からの Online Learning フィードバックループを通じて学習させることもできます。
- Advanced Designer を開きます。スタートページで Create Document Skill をクリックして新しい Skill を作成します。
- 開いた Documents タブで、Skill の構成に使用するドキュメントをアップロードします。
- 画像をアップロードしたら、Fields タブに移動し、Skill で抽出する field を作成・設定して、Skill の field 構造を定義します。Reference セクションでドキュメントにラベルを付けます。
- Activities タブに移動し、半構造化ドキュメント向けの Deep Learning activity をドキュメント処理フローに追加します。
- Activity Editor を開き、Deep Learning activity を構成して学習させます。この activity の学習に使用するドキュメントセットには、少なくとも 100 件のラベル付きドキュメントを含めてください。
- Activities タブに戻り、Fast Learning activity をドキュメント処理フローに追加します。
- Activity Editor を開き、activity を構成して学習させます。
- Test Skill Using Selected Documents をクリックして Skill をテストし、結果を分析します。
- テスト結果が十分に良好であれば、Skill を公開します。
ドキュメントセットに含まれる大半のバリアントは、Deep Learning と Fast Learning のアクティビティで処理できるとします。それでも、一部には入れ子のテーブルがあったり、学習に使ったほかのドキュメントとはまったく異なるものが含まれている場合があります。
このようなドキュメントを処理するには、Classification アクティビティを使ってメインのドキュメントセットから切り分けます。
-
ドキュメントのバリアントが異なる企業によって発行され、会社名や住所がドキュメントに記載されている場合は、Classify By Company アクティビティを使用します。
たとえば、複数の銀行の取引明細を処理する場合、対象の銀行リストをデータベースとして簡単に用意でき、個別に扱うべきすべてのバリアントに対応できます。
-
それ以外の場合は、Classify By Text and Image アクティビティを使用します。このマルチモーダル分類テクノロジーは、テキスト、空間構造、画像パターンを用いてドキュメントのバリアントを見分けるため、他と異なるバリアントも容易に認識できます。
IF アクティビティでドキュメント処理フローを分岐し、処理品質が低いバリアント(たとえば先に述べた入れ子のテーブルを含むもの)を切り出し、そのようなドキュメントから対象の field やテーブルを抽出するために Extraction Rules アクティビティを使用します。
- Advanced Designer を開きます。スタートページで Create Document Skill をクリックして新しい Skill を作成します。
- 開いた Documents タブで、Skill の設定に使用するドキュメントをアップロードします。分類器の構成に十分なデータセットを確保するため、各バリアントごとにおおよそ同数のドキュメントを追加します。
- 画像をアップロードしたら、Fields タブに移動し、Skill で抽出する fields を作成・設定して、Skill の field 構造を定義します。Reference セクションでドキュメントにラベルを付けます。
- Activities タブに移動し、ドキュメント処理フローに Classify アクティビティを追加します。
- Activity Editor を開き、Classify アクティビティを設定します。各バリアントに対応するクラスを作成し、それらのクラスをドキュメントに割り当てて、アクティビティを学習させます。
- Activities タブに戻り、IF アクティビティを追加して条件分岐を設定し、各ドキュメントのバリアントを処理する個別のアクティビティも追加します。
- 作成したアクティビティを構成します。
- Test Skill Using Selected Documents をクリックして Skill をテストし、結果を分析します。
- テスト結果が十分に良好であれば、Skill を公開します。
少数のドキュメントのバリアントからデータを抽出する必要があるものの、Deep Learning activityをトレーニングするのに十分なドキュメントがないとします。ただし、各ドキュメントのバリアントについて、データ抽出の基本原則を記述できる専門知識がある場合があります。たとえば、異なる年度の税務フォームを処理するSkillを作成する場合は、Classify activityを使用してすべてのドキュメントをバリアントごとに分割できます。続いて、各バリアントに合わせて調整したExtraction Rules activitiesのセットを配置します。VantageにSkillの追加学習をさせたい場合は、Fast Learning activityを追加してください。
- Advanced Designer を開きます。スタートページで Create Document Skill をクリックして、新しい Skill を作成します。
- 開いた Documents タブで、Skill の設定に使用するドキュメントをアップロードします。分類器の設定に十分なドキュメントセットにするため、各バリアントごとにおおよそ同数のドキュメントを追加してください。
- 画像をアップロードしたら、Fields タブに移動し、Skill で抽出する field を作成・設定して、Skill の field 構造を構成します。Reference セクションでドキュメントにラベルを付けます。
- Activities タブに移動し、ドキュメント処理フローに Classify アクティビティを追加します。
- Activity Editor を開き、Classify アクティビティを設定します。各バリアントに対応するクラスを作成し、それらのクラスをドキュメントに割り当て、アクティビティを学習させます。
- Activities タブに戻り、Extraction Rules アクティビティを作成します。このワークフロー項目に他の Extraction Rules アクティビティも追加します。Classify アクティビティで入力された field を選択し、その値を Extraction Rules アクティビティにマッピングして分岐条件を設定します。特別な抽出ルールが不要なクラスのドキュメントについては、この手順を省略できます。
- 作成した抽出アクティビティを設定します。
- Test Skill Using Selected Documents をクリックして Skill をテストし、結果を分析します。
- テスト結果が十分に良好になったら、Skill を公開します。