- 概要
- Document Understanding Process
- クイックスタート チュートリアル
- 領収書からデータを抽出する
- 請求書のフィールドを 1 つ追加して再トレーニングする
- フォームからデータを抽出する
- フレームワーク コンポーネント
- ML パッケージ
- パイプライン
- Document Manager
- OCR サービス
- Automation Suite にデプロイされた Document Understanding
- AI Center スタンドアロンにデプロイされた Document Understanding
- ディープ ラーニング
- ライセンス
- 参照
- UiPath.Abbyy.Activities
- UiPath.AbbyyEmbedded.Activities
- UiPath.DocumentUnderstanding.ML.Activities
- UiPath.DocumentUnderstanding.OCR.LocalServer.Activities
- UiPath.IntelligentOCR.Activities
- UiPath.OCR.Activities
- UiPath.OCR.Contracts
- UiPath.DocumentProcessing.Contracts
- UiPath.OmniPage.Activities
- UiPath.PDF.Activities
Document Understanding ガイド
請求書のフィールドを 1 つ追加して再トレーニングする
このページは、Document Understanding を初めて使用するユーザーに Document Understanding の機能を分かりやすく紹介するためのページです。
運用環境へのスケーラブルなデプロイを実現するには、UiPath Studio の [テンプレート] セクションにある Document Understanding Process を使用することを強くお勧めします。
このクイックスタート チュートリアルでは、すぐに使える Invoices (請求書) ML モデルに抽出フィールドを 1 つ追加する再トレーニングの方法について説明します。
クイックスタート チュートリアル「領収書からデータを抽出する」の領収書に使用したワークフローと同じワークフローを、請求書にも使用できるように変更してみましょう。
そのためには、ワークフローで以下の手順を実行する必要があります。
- タクソノミーを変更する
- 分類器を追加する
- マシン ラーニング抽出器を追加する
- データをラベル付けする
- Invoices (請求書) ML モデルを再トレーニングする
次に、各ステップについて詳しく説明します。
この手順では、タクソノミーを変更しドキュメントの種類として請求書を追加する必要があります。
[タクソノミー マネージャー] を開き、「Semi Structured Documents (半構造化されたドキュメント)」という名前のグループ、「Finance (財務)」という名前のカテゴリ、「Invoices (請求書)」という名前のドキュメントの種類を作成します。先ほどリストアップしたフィールドを、それぞれのデータ型とともに分かりやすい名前で作成します。
- name -
Text
- vendor-addr -
Address
- billing-name -
Text
- billing-address -
Address
- shipping-address -
Address
- invoice-no -
Text
- po-no -
Text
- vendor-vat-no -
Text
- date -
Date
- tax -
Number
- total -
Number
- payment-terms -
Text
- net-amount -
Number
- due-date -
Date
- discount -
Number
- shipping-charges -
Number
- payment-addr -
Address
- description -
Text
-
items -
Table
- description -
Text
- quantity -
Number
- unit-price -
Number
- line-amount -
Number
- item-po-no -
Text
- line-no -
Text
- part-no -
Text
- billing-vat-no -
Text
- description -
この手順では、ワークフローで領収書と請求書の両方を処理できるように分類器を追加する必要があります。
ワークフローで「Receipts (領収書)」と「Invoices (請求書)」の 2 つのドキュメントの種類を処理できるようにするためには、分類器を追加して入力データとして使用されるドキュメントの種類を区別できるようにする必要があります。
- [ドキュメントをデジタル化] アクティビティの後に [ドキュメント分類スコープ] を追加し、入力引数として [ドキュメント パス]、[ドキュメント テキスト]、[ドキュメント オブジェクト モデル]、および [タクソノミー] を指定し、ClassificationResults を新しい変数に保存します。この変数は、処理するドキュメントの種類を確認するために必要です。
-
また、1 つ以上の分類器を指定する必要があります。この例では、[インテリジェント キーワード分類器] を使用します。この分類器を [ドキュメント分類スコープ] アクティビティに追加します。
こちらのページには、さまざまなシナリオにおいて使用すべき分類方法を適切に決定するのに役立つ情報が記載されています。
- こちらの手順に従って分類器をトレーニングします。
- 両方のドキュメントの種類に対して分類器を有効化します。
- ユースケースに応じて、分類結果を検証します。[分類ステーションを提示] アクティビティ、または [ドキュメント分類アクションを作成] アクティビティと [ドキュメント分類アクション完了まで待機し再開] アクティビティを使用します。
この手順では、[データ抽出スコープ] アクティビティに [マシン ラーニング抽出器] アクティビティを追加して、Invoices (請求書) のパブリック エンドポイントに接続する必要があります。
手順は、Receipts (領収書) のマシン ラーニング抽出器を追加した手順と同じです。
- Receipts (領収書) の [マシン ラーニング抽出器] アクティビティの横に [マシン ラーニング抽出器] アクティビティをもう 1 つ追加します。
- Invoices (請求書) のパブリック エンドポイント「https://du.uipath.com/ie/invoices/」と API キーを指定します。
-
請求書のデータを抽出できるように、タクソノミー マネージャーで作成したフィールドを ML モデルで使用可能なフィールドにマッピングして、抽出器の設定を行います。
-
[データ抽出スコープ] の入力として、[ドキュメントの種類の ID] を指定するのではなく [ドキュメント分類スコープ] によって出力される ClassificationResults 変数を使用します。
最終的に画面は次のようになります。
- ワークフローを実行して、請求書のデータが正しく抽出されるかをテストします。
Invoices (請求書) ML モデルで新しい IBAN フィールドが処理されるようにするには、ベース モデルを再トレーニングする前にデータをラベル付けする必要があります。
-
ユースケースの複雑さの度合いに応じて、要件と十分な量の請求書ドキュメントのサンプルを収集します。
こちらに記載されているように、50 ページのラベル付けを行います。
- オンプレミスまたはクラウド上の AI Center の Document Manager インスタンスにアクセスします。Document Manager を使用する権限が付与されていることを確認してください。
- AI Center プロジェクトを作成し、 [データのラベル付け] > [UiPath Document Understanding] に移動して、データのラベル付けセッションを作成します。
-
こちらの手順に従って OCR エンジンを設定し、幅広い種類の運用環境のドキュメントのセットをインポートして、その OCR エンジンで抽出対象のテキストが読み取られるかどうかを確認します。
この手順に関する提案については、こちらのセクションをご覧ください。使用する OCR エンジンを決定してから、次の手順に進みます。
-
新しい Document Manager セッションを作成し、トレーニング セットと評価セットをインポートします。評価セットをインポートする際は [これをテスト セットにする] チェックボックスをオンにします。
-
IBAN フィールドを作成して設定します。
詳細なガイドラインについては、こちらのセクションをご覧ください。
-
こちらの手順に従って、トレーニング データセットと評価データセットをラベル付けします。
Document Manager の事前ラベル付け機能を使用すると、より簡単にラベル付け作業が行えます。
-
Document Manager ビューの上部にあるフィルター ドロップダウンから、評価セット、トレーニング セットの順に選択して AI Center にエクスポートします。
次に、モデルを作成し、再トレーニングしてデプロイします。
ワークフローで請求書を処理できるようになったため、次は請求書から IBAN を抽出できるようにする必要があります。IBAN フィールドは、すぐに使える Invoices (請求書) ML モデルでは既定で抽出されません。つまり、ベース モデルを使用して再トレーニングを行う必要があります。
- こちらの手順に従って、ML パッケージを作成します。使用するドキュメントの種類がすぐに使えるドキュメントの種類と異なる場合は、DocumentUnderstanding ML パッケージを選択します。それ以外の場合は、データを抽出する必要があるドキュメントの種類に最も近いパッケージを使用します。
- こちらの手順に従って、前述のセクションで Document Manager からエクスポートした入力データセットを使用して、トレーニング パイプラインを作成します。
-
トレーニングの完了後にパッケージのマイナー バージョンが 1 である場合は、このマイナー バージョンで評価パイプラインを実行し、evaluation.xlsx を横並びで比較して検査します。
詳細なガイドラインについては、こちらをご覧ください。
- 評価結果に問題がなければ ML スキル ビューに移動し、ML パッケージの新しいマイナー バージョンを使用して ML スキルを作成します。このスキルを使用して Document Manager で事前ラベル付けを行う場合は、ML スキル ビューの右上にある [現在のデプロイを変更] ボタンをクリックして [ML スキルを公開] トグルをオンにする必要があります。
- ML スキルを作成したら、Studio で使用できるようにする必要があります。最も簡単なのは、こちらの手順に従って ML スキルを公開する方法です。最後に、ワークフローの [マシン ラーニング抽出器] アクティビティに最初に追加した Invoices (請求書) ML モデルのパブリック エンドポイントを、使用する ML スキルのパブリック エンドポイントで置き換えれば完了です。
- ワークフローを実行します。請求書の既定のフィールドに加えて、新たに追加した IBAN フィールドが抽出されることが確認できます。
このサンプル プロジェクトはこちらからダウンロードできます。Invoices (請求書) の [マシン ラーニング抽出器] アクティビティを、エンドポイント モードからトレーニング済みの ML スキルに変更する必要があります。