アクティビティ
最新
バナーの背景画像
Document Understanding アクティビティ
最終更新日 2024 年 4 月 10 日

インテリジェント フォーム抽出器を使用したアンカーベースのデータ抽出

以下の例では、手書きのテキストが含まれる場合もあるフォームからデータを抽出する方法を説明します。次のユースケース シナリオは、発注書からデータを抽出する方法を説明します。

[ドキュメントをデジタル化][データ抽出スコープ][インテリジェント フォーム抽出器] などのアクティビティを使用します。これらのアクティビティは、UiPath.IntelligentOCR.Activities パッケージに含まれています。

ワークフローを作成する

下記のワークフローを作成する前に、次のパッケージをインストールしておく必要があります。

  • UiPath.DocumentProcessing.Contracts.Activities
  • UiPath.IntelligentOCR.Activities
  • UiPath.OCR.Activities
  • UiPath.OCR.Contracts
  • UiPath.WebAPI.Activities

サンプルと同等のオートメーション プロセスは以下のように構築できます。</summary>

サンプルと同等のオートメーション プロセスは以下のように構築できます。

  1. Studio を開いて、新しいプロセスを作成します。
  2. ワークフロー デザイナー[シーケンス] コンテナーをドラッグして Sequence1 と命名し、次の変数を作成します。

    変数名

    変数の型

    既定値

    item

    文字列

     

    classificationResult

    ClassificationResult[]

     

    outputFileName

    GenericValue

     
  3. ワークフロー デザイナーで、最初のコンテナーの下にもう 1 つ [シーケンス] コンテナーをドラッグして Sequence2 と命名し、次の変数を作成します。

    変数名

    変数の型

    既定値

    text

    文字列

     

    taxonomy

    DocumentTaxonomy

     

    dom

    Document

     

    documentPath

    文字列

     

    classificationResult2

    ClassificationResult[]

     

    outputFileName2

    GenericValue

     
  4. シーケンス内に [メッセージ ボックス] アクティビティを追加します。

    • [プロパティ] パネルの [ボタン] ドロップダウンから [Ok] オプションを選択します。[テキスト] フィールドに「Select a PDF file」というメッセージを追加します。

  5. TopMost オプションのチェックボックスをします。メッセージ ボックスが常に前面に表示されます。
  6. [メッセージ ボックス] アクティビティの下に [ファイルを選択] アクティビティを追加します。

    • [プロパティ] パネルの [フィルター] フィールドに、テキスト「Pdf files (*.pdf)|*.pdf」を追加します。
    • [選択されたファイル] フィールドに変数 documentPath を追加します。
  7. [ファイルを選択] アクティビティの下に、[代入] アクティビティを追加します。

    • [左辺値 (To)/宛先] フィールドに変数 outputFileName2 を追加します。
    • [右辺値 (Value)] フィールドに式 ".temp/" + Path.GetFileName(documentPath) を追加します。
  8. [代入] アクティビティの下に、[JSON を逆シリアル化] アクティビティを追加します。

    • [Json 文字列] フィールドに式 File.ReadAllText("DocumentProcessing axonomy.json") を追加します。
    • [プロパティ] パネルの [TypeArgument] ドロップダウン リストから [UiPath.DocumentProcessing.Contracts.Taxonomy.DocumentTaxonomy] オプションを選択します。
    • [Json オブジェクト] フィールドに変数 taxonomy を追加します。
  9. [JSON を逆シリアル化] アクティビティの下に [ドキュメントをデジタル化] アクティビティを追加します。

    • [プロパティ] パネルで [並列度] フィールドに値 1 を追加します。
    • [ドキュメントパス] フィールドに変数 documentPath を追加します。
    • [ドキュメントオブジェクトモデル] フィールドに変数 dom を追加します。
    • [ドキュメント テキスト] フィールドに変数 text を追加します。
    • アクティビティ内に [UiPath Document OCR] エンジンを追加します。
    • [API キー] フィールドに、使用する API キーを追加します。
    • [エンドポイント] フィールドに式 "https://du.uipath.com/ocr" を追加します。
  10. [ドキュメントをデジタル化] アクティビティの下に、[テキスト ファイルに書き込み] アクティビティを追加します。

    • [テキスト] フィールドに式 JsonConvert.SerializeObject(dom) を追加します。
    • [ファイル名] フィールドに式 outputFileName2 + ".dom.json" を追加します。
  11. [テキスト ファイルに書き込み] アクティビティの下に、もう 1 つ [テキスト ファイルに書き込み] アクティビティを追加します。

    • [テキスト] フィールドに変数 text を追加します。
    • [ファイル名] フィールドに式 outputFileName2 + ".text.txt" を追加します。
  12. ワークフロー デザイナーで、もう 1 つ [シーケンス] コンテナーをドラッグして Sequence3 と命名し、次の変数を作成します。

    変数名

    変数の型

    既定値

    extractionResult

    ExtractionResult

     

    validatedResults

    ExtractionResult

     

    doubleValidatedResults

    ExtractionResult

     

    dataset

    データセット

     

    i

    Int32

     
  13. Sequence3 内に [データ抽出スコープ] アクティビティを追加します。

    • [プロパティ] パネルの [ドキュメントオブジェクトモデル] フィールドに変数 dom を追加します。
    • [ドキュメントパス] フィールドに変数 documentPath を追加します。
    • [ドキュメント テキスト] フィールドに変数 text を追加します。
    • [ドキュメント種類 ID] フィールドに式 "All.Benchmarks.Invoice" を追加します。
    • [タクソノミー] フィールドに変数 taxonomy を追加します。
    • [抽出結果] フィールドに変数 extractionResult を追加します。
  14. [データ抽出スコープ] アクティビティ内に [インテリジェント フォーム抽出器] アクティビティを追加します。

    • [API キー] フィールドに、使用する API キーを追加します。
  15. [データ抽出スコープ] アクティビティの下に、[テキスト ファイルに書き込み] アクティビティを追加します。

    • [テキスト] フィールドに式 JsonConvert.SerializeObject(extractionResult) を追加します。
    • [ファイル名] フィールドに式 outputFileName2 + ".results.json" を追加します。
  16. [テキスト ファイルに書き込み] アクティビティの下に、[検証ステーションを提示] アクティビティを追加します。

    • [自動抽出結果] フィールドに変数 extractionResult を追加します。
    • [ドキュメントオブジェクトモデル] フィールドに変数 dom を追加します。
    • [ドキュメントパス] フィールドに変数 documentPath を追加します。
    • [ドキュメント テキスト] フィールドに変数 text を追加します。
    • [タクソノミー] フィールドに変数 taxonomy を追加します。
    • [承認された抽出結果] フィールドに変数 validatedResults を追加します。
  17. [検証ステーションを提示] アクティビティの下に、[テキスト ファイルに書き込み] アクティビティを追加します。

    • [テキスト] フィールドに式 JsonConvert.SerializeObject(validatedResults) を追加します。
    • [ファイル名] フィールドに式 outputFileName2 + ".savedinVS.results.json" を追加します。
  18. [テキスト ファイルに書き込み] アクティビティの下に、もう 1 つ [テキスト ファイルに書き込み] アクティビティを追加します。

    • [テキスト] フィールドに式 JsonConvert.SerializeObject(doubleValidatedResults) を追加します。
    • [ファイル名] フィールドに式 outputFileName2 + ".doubleSavedinVS.results.json" を追加します。
  19. プロセスを実行します。オートメーション プロセスによって、検証ステーションが開き、データが抽出および検証されて、出力フォルダーに保存されます。

こちらからサンプルをダウンロードできます。

タクソノミーを定義する

変数がすべて定義され、すべてのアクティビティがカスタマイズされたワークフローを作成できました。次は、タクソノミーの定義です。タクソノミーを定義するには、こちらの手順に従ってください。

請求書から情報を抽出できるように、タクソノミーを作成します。次のフィールドを持つドキュメントの種類 [請求書] を作成してください。

フィールド名

フィールドの種類

請求書番号

Text

小計

Number

消費税

Number

合計

Number

タクソノミーは次のようになります。



テンプレートを作成する

次は、抽出プロセスで使用するテンプレートを作成します。こちらの手順に従って作成してください。

次の GIF は、テンプレートの作成方法を示しています。



テンプレートにアンカーを設定する

アンカーとは、ドキュメントから正確な情報を抽出する必要がある場合に使用する、非常に特殊で便利な機能です。抽出領域をアンカーによって定義することで、高精度のデータ抽出が可能になります。

次の GIF は、上の例で使用する請求書ドキュメントでのアンカーの使用方法を示しています。アンカーに関する詳細は、こちらをご覧ください。

タクソノミーの定義とテンプレートの作成が完了したら、アンカーを使用してテンプレートの設定を開始できます。つまり、ボックスで抽出領域を定義し、アンカーによってボックスの位置を定義します。

テンプレートにアンカーを追加する前に、以下のことを知っておいてください。

  • あらゆる種類の請求書番号 (長短、フォントの大きさなど) に対応できるように、アンカー ボックスのサイズ (高さ、幅) は、できるだけ大きくしてください。
  • アンカーは 1 つの抽出領域に必要なだけ、いくつでも設定できますが、メインとして定義できるのは 1 つだけです (最初のアンカー)。
  • 複数の単語が横に並んだアンカーを使用します。
  • メイン アンカーは抽出領域のできるだけ近くに配置する必要があります。
  • テンプレート内での抽出領域とメイン アンカーの位置は、たとえ異なるドキュメントに適用される場合であっても、固定されています。変更できるのは、メイン アンカーとセカンダリ アンカーの間の距離だけです。

テンプレートの設定を続けて、アンカーを使用したデータ抽出の方法を見てみましょう。次の GIF は、抽出領域をマークして、メイン アンカーとセカンダリ アンカーを追加する方法を示しています。

  • 抽出領域を設定します。



    注:

    抽出処理の精度を高めて、より的確な結果を得られるようにするために、メイン アンカーには 2 ~ 3 つの単語を含めるようにしてください。

    アンカーにタグ付けするときに複数の単語を選択するには、Ctrl を押しながら目的の単語をクリックします。

  • メイン アンカーを設定します。



  • セカンダリ アンカーを設定します。



抽出領域の定義とアンカーの追加がすべて完了するまで、上記のプロセスを繰り返します。完了したら、テンプレートを保存します。



Was this page helpful?

サポートを受ける
RPA について学ぶ - オートメーション コース
UiPath コミュニティ フォーラム
UiPath ロゴ (白)
信頼とセキュリティ
© 2005-2024 UiPath. All rights reserved.