- 概要
- Document Processing Contracts
- リリース ノート
- Document Processing Contracts について
- Box クラス
- IPersistedActivity インターフェイス
- PrettyBoxConverter クラス
- IClassifierActivity インターフェイス
- IClassifierCapabilitiesProvider インターフェイス
- ClassifierDocumentType クラス
- ClassifierResult クラス
- ClassifierCodeActivity クラス
- ClassifierNativeActivity クラス
- ClassifierAsyncCodeActivity クラス
- ClassifierDocumentTypeCapability クラス
- ExtractorAsyncCodeActivity クラス
- ExtractorCodeActivity クラス
- ExtractorDocumentType クラス
- ExtractorDocumentTypeCapabilities クラス
- ExtractorFieldCapability クラス
- ExtractorNativeActivity クラス
- ExtractorResult クラス
- ICapabilitiesProvider インターフェイス
- IExtractorActivity インターフェイス
- ExtractorPayload クラス
- DocumentActionPriority 列挙型
- DocumentActionData クラス
- DocumentActionStatus 列挙型
- DocumentActionType 列挙型
- DocumentClassificationActionData クラス
- DocumentValidationActionData クラス
- UserData クラス
- Document クラス
- DocumentSplittingResult クラス
- DomExtensions クラス
- Page クラス
- PageSection クラス
- Polygon クラス
- PolygonConverter クラス
- Metadata クラス
- WordGroup クラス
- Word クラス
- ProcessingSource 列挙型
- ResultsTableCell クラス
- ResultsTableValue クラス
- ResultsTableColumnInfo クラス
- ResultsTable クラス
- Rotation 列挙型
- SectionType 列挙型
- WordGroupType 列挙型
- IDocumentTextProjection インターフェイス
- ClassificationResult クラス
- ExtractionResult クラス
- ResultsDocument クラス
- ResultsDocumentBounds クラス
- ResultsDataPoint クラス
- ResultsValue クラス
- ResultsContentReference クラス
- ResultsValueTokens クラス
- ResultsDerivedField クラス
- ResultsDataSource 列挙型
- ResultConstants クラス
- SimpleFieldValue クラス
- TableFieldValue クラス
- DocumentGroup クラス
- DocumentTaxonomy クラス
- DocumentType クラス
- Field クラス
- FieldType 列挙型
- LanguageInfo クラス
- MetadataEntry クラス
- TextType 列挙型
- TypeField クラス
- ITrackingActivity インターフェイス
- ITrainableActivity インターフェイス
- ITrainableClassifierActivity インターフェイス
- ITrainableExtractorActivity インターフェイス
- TrainableClassifierAsyncCodeActivity クラス
- TrainableClassifierCodeActivity クラス
- TrainableClassifierNativeActivity クラス
- TrainableExtractorAsyncCodeActivity クラス
- TrainableExtractorCodeActivity クラス
- TrainableExtractorNativeActivity クラス
- Document Understanding Digitizer
- Document Understanding ML
- Document Understanding OCR ローカル サーバー
- Document Understanding
- IntelligentOCR
- リリース ノート
- IntelligentOCR アクティビティ パッケージについて
- プロジェクトの対応 OS
- 認証を構成する
- タクソノミーを読み込み
- ドキュメントをデジタル化
- ドキュメント分類スコープ
- キーワード ベースの分類器
- Document Understanding プロジェクト分類器
- インテリジェント キーワード分類器
- ドキュメント分類アクションを作成
- ドキュメント分類アクション完了まで待機し再開
- 分類器トレーニング スコープ
- キーワード ベースの分類器トレーナー
- インテリジェント キーワード分類器トレーナー
- データ抽出スコープ
- Document Understanding プロジェクト抽出器
- 正規表現ベースの抽出器
- フォーム抽出器
- インテリジェント フォーム抽出器
- 検証ステーションを提示
- ドキュメント検証アクションを作成
- ドキュメント検証アクション完了まで待機し再開
- 抽出器トレーニング スコープ
- 抽出結果をエクスポート
- ML サービス
- OCR
- OCR Contracts
- リリース ノート
- OCR コントラクトについて
- プロジェクトの対応 OS
- IOCRActivity インターフェイス
- OCRAsyncCodeActivity クラス
- OCRCodeActivity クラス
- OCRNativeActivity クラス
- Character クラス
- OCRResult クラス
- Word クラス
- FontStyles 列挙型
- OCRRotation 列挙型
- OCRCapabilities クラス
- OCRScrapeBase クラス
- OCRScrapeFactory クラス
- ScrapeControlBase クラス
- ScrapeEngineUsages 列挙型
- ScrapeEngineBase
- ScrapeEngineFactory クラス
- ScrapeEngineProvider クラス
- OmniPage
- PDF
- [リストから削除済] ABBYY
- [リストから削除済] ABBYY Embedded
Document Understanding アクティビティ
フォーム抽出器
UiPath.IntelligentOCR.Activities.DataExtraction.FormExtractor
フォーム抽出器は、ドキュメント内の単語の位置を分析するか、署名を検出することにより、特定の情報を抽出、照合、およびレポートするのに最適です。このアクティビティは、[データ抽出スコープ] アクティビティと組み合わせた場合にのみ使用できます。[フォーム抽出器] アクティビティを [UiPath Document OCR] アクティビティとともに使用すると、手書きのテキストも検出できます。
プロパティ パネル
共通
- 表示名 - アクティビティの表示名です。
入力
- API キー - アカウントの API キーを指定します。ローカルのプロジェクト設定または Document Understanding フレームワークで定義されている場合、[API キー] フィールドは自動的に事前入力されます。
- エンドポイント - UiPath® サーバーの URL です。既定のエンドポイントは
https://du.uipath.com/svc/formextractor
です。詳細については、「Document Understanding のパブリック エンドポイント」をご覧ください。 - 重複率の最小値 - 抽出を実行するために必要な、ドキュメント内のボックスとテンプレート内のボックスが重複する領域の割合 (パーセント) の最小値を指定します。パーセント値は
0
から100
の間で設定できます。既定値は65
です。 - タイムアウト - サーバーからの応答があるまで待機する時間をミリ秒で指定します。指定した時間が経過しても実行が完了しない場合には例外をスローします。既定値は 100000 ミリ秒 (100 秒) です。
その他
- プライベート - オンにした場合、変数および引数の値が Verbose レベルでログに出力されなくなります。
注: 1 つのドキュメントの種類に対して、複数のテンプレートを定義できます。アクティビティの実行時、抽出器は最初のページで見つかった情報に基づいて、最も合うテンプレートを選択します。
分類データで定義されたドキュメントの種類のテンプレートの作成、編集、管理ならびにエクスポート/インポートを可能にします。
テンプレートを作成する
- [データ抽出スコープ] 内のワークフローに [フォーム抽出器] アクティビティを追加します。
- [テンプレートを管理] を選択して抽出器を構成します。
[テンプレート マネージャー] ウィンドウが開きます。図 1. テンプレート マネージャー ウィザードの概要
- [テンプレートを作成] を選択して新しいテンプレートを作成します。
図 2. [新しいテンプレートを作成] 設定フィールドの概要
注:UiPath.IntelligentOCR.Activities パッケージが v5.1.0 に更新されている場合、[OCR を強制適用] パラメーターは [PDF に OCR を適用] に置き換えられています。古いパラメーターと新しいパラメーターとの対応は次のとおりです。
- [OCR を強制適用] = [True] は [PDF に OCR を適用] = [はい] に置き換えられます。
- [OCR を強制適用] = [False] は [PDF に OCR を適用] = [自動] に置き換えられます。
- [OCR を強制適用] = [空] は [PDF に OCR を適用] = [自動] に置き換えられます。
- [OCR を強制適用] =
<user-defined variable>
は [PDF に OCR を適用] = [自動] に置き換えられます。
[PDF に OCR を適用] オプションは、PDF ドキュメントに OCR プロセスを適用するかどうかを指定します。ドロップダウン リストには、[True]、[False]、[自動] の 3 つのオプションがあります。
[True] に設定すると、ドキュメントのすべての PDF ページに OCR が適用されます。[False] にすると、デジタル入力されたテキストのみが抽出されます。既定値は [Auto] で、入力ドキュメントに応じてドキュメントに OCR アルゴリズムを適用する必要があるかを判断します。
各 OCR エンジンには、それぞれ独自のカスタム オプションが付属しています。各 OCR エンジンで利用可能なすべてのオプションに関する詳細は、「OCR エンジン」をご覧ください。既定の OCR エンジンは UiPath Document OCR です。
- [ドキュメントの種類] ドロップダウン リストから、テンプレートのドキュメントの種類を選択します。
注: [ドキュメントの種類] は、すべてタクソノミーに基づいています。必ず、プロジェクトのフォルダー内にタクソノミーを追加または作成してください。
- [テンプレート名]] フィールドに名前を追加します。ドキュメントのバージョンやレイアウトを反映する適切な名前を選択してください。
- [テンプレート ドキュメント] フィールドにドキュメント パスを追加します。
[参照] オプションを使用してファイルのパスに移動します。
- [OCR エンジン] ドロップダウン リストから OCR を選択し、必要に応じて設定します。
- [設定] を選択して、テンプレートの編集をトリガーします。
テンプレートを作成済みの場合、これを編集、エクスポート、または削除できます。[削除] と [エクスポート] オプションは、テンプレートを 1 つ以上選択したときのみ使用できるようになります。個別のテンプレートの [編集] および [削除] オプションは、いつでも使用できます。
Boolean
の内容解釈に使用されます。この解釈では、キャプチャした値を報告値である [はい] または [いいえ] にマッピングします。
他のワークフローで作成およびエクスポートされたテンプレートをインポートできます。これらの機能を使用してプロジェクト間でテンプレートを共有します。フォーム抽出器を使用してドキュメントの種類を設定した後は、新しい実装でテンプレートを再設定する必要はありません。
エクスポートの手順
テンプレートをエクスポートするときに従う必要がある手順を以下に示します。
- このページの前半で説明した手順に従い、1 つ以上のテンプレートを作成します。
- エクスポートするテンプレートを選択します。
- [エクスポート] オプションを選択します。
- 元のファイルを含んでエクスポート
元のファイルを含めるエクスポートでは、元のファイルが添付されます。
- 元のファイルを含めずエクスポート図 5. [元のファイルを含んでエクスポート] オプションを選択する操作
- 元のファイルを含んでエクスポート
- 希望の名前でテンプレートのアーカイブを保存します。
- テンプレートが保存されると、メッセージが表示されます。[OK] を選択します。
図 6. 「X 個のテンプレートが正常にエクスポートされました。」というメッセージ
注:テンプレートを作成したドキュメントのコンテンツを共有できない場合は、[元のファイルを含めずエクスポート] オプションを使用します。他のプロジェクトでテンプレート アーカイブを共有およびインポートすることはできますが、編集や表示はできなくなります。
別のプロジェクトでインポートしたテンプレートを編集する場合は、エクスポートしてからインポートする際に [元のファイルを含んでエクスポート] オプションを使用してください。
インポートの手順
テンプレートをインポートするときに従う必要がある手順を以下に示します。
- [インポート] を選択します。
図 7. テンプレート マネージャー ウィザードで [インポート] を選択する操作
- アーカイブを選択します。インポート ウィザードが表示され、選択したエクスポート アーカイブで使用できるドキュメントの種類とテンプレートがすべて提示されます。インポートするテンプレートを、目的のインポート オプションとともに選択します。
- 元のファイルを含んでインポート
- 元のファイルを含めずインポート図 8. テンプレート マネージャー ウィザードのインポート オプション
注:- テンプレートがインポートされると、プロジェクトの分類データ内にドキュメントの種類が自動的に作成されます。同名のドキュメントの種類が既に存在する場合、名前の末尾に数字を付加して、もう 1 つのドキュメントの種類が作成されます。
- 元のファイルなしでエクスポートされたテンプレートをインポートする場合、または元のファイル含めずにテンプレートをインポートする場合、それらのテンプレートに対しては表示または編集のオプションを使用できません。
テンプレートをインポートすると、いくつかの特殊な状況が発生する場合があります。次のリストでは、それぞれの状況とその特徴について説明します。
- 新しいドキュメントの種類: 新しいドキュメントの種類をインポートすると、ウィザードの設定ツールに新しいフィールドが追加され、新しいテンプレートが作成されることを知らせます。
- 重複するドキュメントの種類: 同じドキュメントの種類のテンプレートをインポートすると、次の警告メッセージが表示されます。「このテンプレートはすでに存在するため、上書きされます。」
- 拡張テンプレート: 既存のフィールド以外のフィールドが追加されたドキュメントの種類のテンプレートをインポートすると、「このドキュメントの種類は次のように更新されます。次のフィールドは存在しないため作成されます。」という警告メッセージが表示されます。
- 拡張されたドキュメントの種類: 既存のフィールド以外のフィールドが追加されたドキュメントの種類をインポートすると、次の警告メッセージが表示されます。「このドキュメントの種類は次のように更新されます。次のフィールドにはインポートする設定がありません。」
- 同じ名前で内容が異なるドキュメントの種類: 既存のものと同じ名前でありながら、フィールドが異なるドキュメントの種類をインポートすると、次の警告メッセージが表示されます。「このドキュメントの種類は次のように更新されます。」
- 「次のフィールドは存在しないため作成されます。」
- 「次のフィールドにはインポートする設定がありません。」
- 表が欠落したドキュメントの種類: 表を含まないドキュメントの種類のテンプレートをインポートすると、次の警告メッセージが表示されます。「このドキュメントの種類は次のように更新されます。次のフィールドにはインポートする設定がありません。」
- 拡張テーブルを含むドキュメントの種類: 追加の列を含む表を含むドキュメントの種類をインポートすると、「このドキュメントは次のように更新されます。次のフィールドは存在しないため作成されます。」という警告メッセージが表示されます。
- 表が縮小されたドキュメントの種類: 列が欠落した表を含むドキュメントの種類をインポートすると、「このドキュメントは次のように更新されます。次のフィールドにはインポートする設定がありません。」という警告メッセージが表示されます。
- 異なるドキュメントの種類の表のテンプレート: 異なるドキュメントの種類の表を含むドキュメントの種類のテンプレートをインポートした場合、新しいテンプレートが作成されます。異なるドキュメントの種類のフィールドを持つ表がタクソノミーに含まれている場合、「ID が
xyz
のフィールドが、インポートされたタクソノミーと既存のタクソノミーの両方で見つかりましたが、それらの種類が一致しません (両方がテーブルであるか、両方ともテーブル以外である必要があります)。」という警告メッセージが表示されます。
一般的な考慮事項
テンプレート エディターは、検証ステーションにある機能をベースにして構築されています。アクセスするには、テンプレートの [編集] を選択します。
検証ステーションの基本的な使用法については、「検証ステーション」をご覧ください。
- : アンカー選択モードを設定します。
- : アンカーの選択をすべてクリアします。
新しいテンプレートを作成すると、テンプレート エディターを最初に開くときに説明のテキストが表示されます。テキストに再度アクセスする場合は、右側のドキュメント ビュー セクションに移動し、[その他のオプション]、[説明テキストを表示します] の順に選択します。
表の情報は、セル レベルまたは表レベルで変更できます。セル レベルで表を設定する方法と表レベルで表を設定する方法について詳しくは、「検証ステーションを提示する」をご覧ください。
テンプレート マネージャーからテンプレート エディターを開いたら、アンカーを定義できます。アンカーは [選択モード] オプションに含まれています。
ページレベルのテンプレートを定義または編集するときに最初に実行すべきことは (任意ですが)、[ページ 1 の一致情報] を選択することです。この手順は、固定フォーム テンプレートの場合にのみ必要になります。
画面左側に表示される [ページ 1 の一致情報] の選択には、テンプレートの最初のページからのテキスト入力 (トークンのみが受け入れられます) が必要です。これは、その特定のテンプレート レイアウト内で常に同じ位置にあり、特定のドキュメントの種類に定義されたすべてのテンプレートで一意の単語のグラフを (単語間の相対距離や角度を考慮して) 形成します。
言い換えれば、[ページ 1 の一致情報] (および他のすべてのページ一致情報フィールド) は特定ページの「指紋」であり、実行時に適合するテンプレートを識別するのに幅広く使用されます。
このため、[ページ 1 の一致情報] フィールドには 10 ~ 20 の単語を選択することが強く推奨されます。できれば長く、ページ領域全体に広がるようにしてください。
他の「ページの一致情報」系のフィールド (テンプレート ページごとに 1 つ) には、その特定のページからデータ抽出を試みていて、テンプレート間の一意性が不要な場合にのみ値を入力する必要があります。特定のページからフィールドを抽出する必要がない場合、そのページのページレベルの一致情報の定義は必須ではありません。
テーブル以外のすべてのフィールドでは、テンプレートの設定は、カスタム領域の選択とそれらの特定フィールドへの割り当てで構成されます。
固定フォームの設定の場合、データ フィールドはカスタム領域の選択を使用してのみ設定できます。
1 つのフィールドに対して、[追加] ボタンを使用して、こうしたカスタム領域を 1 つ以上定義できます。1 つのフィールドに 2 つ以上のカスタム領域が定義されている場合、実行時に、フィールドがタクソノミーで単一の値として定義されていると、すべての値が 1 つの報告値に連結されます。フィールドが複数値として定義されていると、各値が個別に報告されます。
各フィールドの横のアイコンは、サポートされている選択の種類 ([トークン] または [カスタム領域]) を示します。
空の領域を選択した場合、選択領域は自動的に [カスタム領域] として設定されます。選択した領域にテキストが検出されると、選択領域の種類として [トークン] または [カスタム領域] のどちらかを選択するよう求められます。
検証ステーションの「選択モード」機能を使用して、トークンとカスタム領域間の選択の切り替えをロックします。
上記のように、トークンによってのみ (「ページの一致情報」系のフィールドなど) またはカスタム領域によってのみ (簡易フィールドなど)、情報を追加できるフィールドがあります。「テーブル」系のフィールドでは、以下を行うことができます。
- 表エディターを展開したら、各セルを 1 つずつ定義する - 各セルに個別にカスタム領域の選択を追加します。
- テーブル マークアップ機能を使用する - テーブル領域をマークし、行および列の区切りを作成して、マークしたテーブルをフィールドに割り当てます。抽出領域の列数と行数がテンプレート領域と同じであることを確認します。
- 表フィールドで [その他のオプション] を選択します。
- [新しい表を抽出] を選択します。
- 抽出する表を選択します。
- 表の各列の上にあるすべてのフィールドに対して、そのフィールドを表す列名を選択します。
[ヘッダーを抽出] を選択することもできます。
- 最後に、[新しい表を保存] を選択します。
データの抽出元のカスタム領域の境界は、フィールドレベルのアンカーの使用という特殊な方法で定義します。それにより、フィールドレベルの設定に基づいてデータ抽出の対象を指定し、フォーム抽出ルールをより柔軟に定義できるようになります。
その結果、実行時にフォーム抽出器が以下を実行する方法を認識します。
- ページレベルのテンプレートが一致するかどうかを明らかにし、認識する最適なページレベルのテンプレートの一致に従って情報を抽出する。
- アンカーベースの設定が一致するかどうかを明らかにし、処理するドキュメントでの用途に応じて情報を抽出する。
- すべての利用可能なオプションの最高の結果 (最も可能性の高い一致) を報告できるように、考えられるすべての一致に対する適切な信頼度スコアを計算する。
新しいアンカーの設定を作成する
- アンカー選択モードになっていることを確認します。
- 値の領域の周囲にボックスを描画します。
- 次のいずれかの方法を使用して、値の領域のラベル (メイン アンカー) を選択します。
- 最初の単語を選択し、選択範囲の最後の単語で
Ctrl + Select
を使用する。 - 選択してドラッグしてからマウスのボタンを放し、単語の範囲をキャプチャします。
注: ラベルには、同じ表示ラインからの連続する単語だけを含めることができます。
- 最初の単語を選択し、選択範囲の最後の単語で
- ラベルを一意に特定する追加のアンカーを選択します。同じ選択の原則が適用されます。
- 特定のフィールドで [値を抽出] を選択することによって、アンカーの構成を適切なフィールドに割り当てます。
図 12. フィールドに複数のアンカーを作成する例
注: このページの前の例を使用して、テンプレートを作成し、抽出領域とアンカーを定義する方法を学ぶこともできます。
既存のアンカーの設定を編集する
- アンカーの設定を強調表示します。
- アンカーの設定を変更します (アンカー、ラベル、(必要に応じて) 値領域の削除、新しい要素の追加など)。
- フィールドのアンカーの [その他のオプション] を選択し、[抽出値を変更] オプションを使用して、フィールドの関連付けを更新します。
図 13. フィールドの抽出値を変更する例
注:- 対象の領域を削除するとすべてのアンカーが削除されるので、最初からやり直します。
- ラベル (メイン アンカー) を削除すると、残りのアンカーのうち最初に作成されたものが新しいラベルになります。
既存のアンカー設定を削除する
アンカー設定を削除するには、以下のいずれかのオプションを使用できます。
- 保存された値の場合は、フィールドのアンカーの [その他のオプション] を選択し、[存在しないとしてマーク] オプションを使用します。
図 14. [存在しないとしてマーク] オプションを使用してアンカーの設定を削除する例
- 指定したフィールドに定義されたアンカーのリストの場合は、フィールドのアンカーの [その他のオプション] を選択し、[値を削除] を使用します。
図 15. [値を削除] オプションを使用してアンカーの設定を削除する例
さまざまな設定を組み合わせる
同じドキュメントの種類に対して、必要な数のテンプレートを定義できます。複数のページレベル テンプレート、同じフィールドに対する複数のアンカー、ページレベルとフィールドレベルの両方のアンカーを含むテンプレートも利用できます。
- フィールドレベルのアンカーを定義するときは、ラベルが値領域の近くにあることを確認してください。また、同じドキュメント内の複数の場所に同じテキスト構造がある場合は、ラベルが追加のアンカーでサポートされていることを確認してください。
- ラベルとアンカーが大きくて長いほど、精度が高くなります。
- 値の領域は常に、ラベル (メイン アンカー) に対する相対位置に基づいて計算されます。それに応じて、メイン アンカーを選択します。
- フィールドレベルのアンカーを使用すると、フィールドをテンプレート内で移動して、引き続きキャプチャできるため、ドキュメント レイアウトをさらに自由に変更できるようになります。
[フォーム抽出器] アクティビティは、Document Understanding のソリューションに含まれます。詳細については、『Document Understanding ガイド』をご覧ください。