以下の記事では、UiPath IXP が抽出した結果をユーザーに提示するところまで紹介しました。
では、ユーザーが抽出結果を検証・修正し、修正後のデータを後続処理で活用したい場合は、どうすればよいでしょうか?
本記事では、検証(Validation)後のドキュメントデータを取得して活用する方法を、以下のデモを通して解説します。
1. IXPによる申込書の抽出と検証
IXPでPDFから値を抽出し、Appsの検証コントロールに表示して人間が検証・修正します。
2. 検証結果の判定
人間の判定結果(OK/NG)を受け取り、後続処理を分岐します。
3. 人間検証後の結果の提示
1の検証コントロールで修正されたドキュメントデータを受け取ってAppsで表示します。
上記のデモを通して、以下の実装方法を説明します。
- Appsで人間の判定結果(OK/NG)を外部に渡す
- Appsで修正したドキュメントデータを外部に渡す
- 修正したドキュメントデータから必要な値を取得する
Appsでの関連処理
ユーザーがどのような意思決定を行えるのかを、あらかじめActionSchemaに定義します。
今回は「OK」と「NG」の2択とします。
次に、Appsのボタンがクリックされた際の処理を定義するため、ワークフローを作成します。
例えば、以下の画面には「承認」と「拒否」の2つのボタンがあります。
「承認」をクリックした際に、「OK」というアクション結果を送信するよう、以下のようにワークフローを定義します。
ワークフローでは、主に以下の2つのアクティビティを使用します。
-
検証コントロールのステートを保存:
後続処理で取得できるよう、人間による検証・修正後のドキュメントデータをストレージバケットに保存します。 -
アクションを送信:
ユーザーの判定結果(OK/NG)をアクション結果として送信します。
ここで重要なのは、「判定結果(OK/NG)」と「修正後のドキュメントデータ」は別物であるという点です。
前者は業務フローの分岐に使用され、後者は後続処理(登録・通知・審査など)で利用されます。
RPAでの関連処理
前編では、RPAで「アプリ タスク完了まで待機し再開」アクティビティまで実装しました。
Appsでの検証完了後、修正済みのドキュメントデータを取得するために、「ドキュメント検証成果物を取得」アクティビティを使用します。
該当アクティビティの2つの入力設定は以下の通りです。
次に、アクション結果と検証後のドキュメントデータを外部へ渡すため、RPAの出力パラメータを追加します。
RPAワークフロー内で、取得した値を出力パラメータに割り当てます。
-
「実行するアクション」
「アプリ タスク完了まで待機し再開」アクティビティの出力です。
ここには、ユーザーが選択したアクション結果(OK/NG)が格納されています。 -
「コンテンツ検証データオブジェクト」
「ドキュメント検証成果物を取得」アクティビティの出力です。
このオブジェクトには、人間による検証・修正後のドキュメントデータ(各フィールドの値・信頼度・ステータスなど)が含まれています。
補足:検証後のドキュメントデータから値の抽出
IXPで定義したタクソノミーの構造に対応するデータテーブルを取得するには、以下のようにドキュメントデータ_1.DocumentMetadata.ResultsAsDataTables(CurrentItem-1)からデータテーブルを取得できます。
- ResultsAsDataTables:検証後のドキュメントデータをタクソノミー構造に基づく DataTable 形式で取得できるプロパティです。
- CurrentItem - 1:処理対象となるドキュメントから抽出した複数のデータテーブルのインデックスを指定します。
以下のように、取り出したデータテーブルをテキストとして出力しました。
外部(Maestro)から人間の判定結果及び修正したドキュメントの利用
判定結果(OK・NG)は業務フローに使用されます。
人間による修正後のドキュメントデータを再度Appsに表示します。
実際の実行で、ここまでに来ると、以下のようなAppsが表示されます。
最後に
本記事では、検証コントロールを用いた人間の意思決定と修正後データを、業務フローに組み込む方法を解説しました。
この実装により、以下が実現可能になります。
- 監査可能な判断履歴の保持
- 後続システムへの正規化データ連携
- 業務ルールに基づく自動分岐
人間の判断結果を構造化されたデータとして扱うことが、エンタープライズ自動化における重要なポイントです。











