Document Automation にドキュメントをアップロードする Bot のビルド

特定のラーニングインスタンスにドキュメントをアップロードして処理と抽出を行う Bot をビルドします。

前提条件

  • アップロード先のラーニングインスタンスの名前がわかっており、
  • 十分な数の Bot Runner が接続されていることを確認します。Bot Runner を接続する方法については、「Document Automation 環境の設定」のステップ 5 を参照してください。
    注: ドキュメントの平均ページ数に応じて、この Bot の専用の Bot Runner と、extraction および download Bot の追加の Bot Runner が必要です。必要な Bot Runner の数に関するさらに詳しいガイダンスについては、以下の説明をご覧ください。
  • この Bot をデプロイするスケジュール間隔を決定します (最大で 30 分おき)。
  • アップロード待ちドキュメントの平均ページ数を決定します。
この Bot は、ドキュメント抽出プロセスのエンドツーエンドのオートメーションのために必要です。デプロイ時、Bot は、アップロード済みファイルの数を計算値と比較することで、ドキュメントを処理する Bot Runner が十分にあるかどうかをチェックします。計算では、Bot Runner の数、スケジュール間隔、ドキュメントの平均ページ数が考慮に入れられます。
注: このステップは、アップロードされるドキュメントの数を制御することにより、スムーズな処理を確保して、タイムアウト エラーを引き起こす可能性のある Bot Runner の過負荷を回避するために重要です。
必要な Bot Runner の数を決めるには、次の点を考慮に入れてください。
  • 1 つの Bot Runner は、単一ページのドキュメントを 1 分で処理できます。
  • 1 つの Bot Runner は、2 ページのドキュメントを 2 分で処理できます。
  • 1 つの Bot Runner は、1,440 件の単一ページのドキュメントを 1 日で処理できます。
  • 2 つの Bot Runner は、単一ページのドキュメント 2 件を 1 分で処理できます。
この式を使って、必要な Bot Runner の数を決定します。
Number of Documents to Process per day * Average Number of Pages per document / 1440 = Number of Bot Runner
注: 式の結果が整数でない場合、次の整数に切り上げて、適切な Bot Runner 数を取得する必要があります。たとえば、式の結果が 4.2 の場合、5 個の Bot Runner が必要です。
例として、毎日 1 万件のドキュメントを、ドキュメントあたり平均 1 ページで処理する場合、7 つの Bot Runner が必要です。
10,000 documents * 1 page per document / 1440 = 7 Bot Runner

手順

Bot をビルドするには、以下のステップに従います。

  1. [オートメーション] > [非公開] タブに移動し、[Bot を作成] をクリックします。
    Bot を [Document Workspace] フォルダーに配置しないようにしてください。
  2. Bot の名前を入力してください (Extraction-Scheduler など)。
  3. 変数 変数の作成 を作成します。
    変数名 説明 データ タイプ
    File_Count ループの反復ごとに増分して、処理用にアップロードされたファイルの数をカウントします。 数字 0
    Extraction_DeviceCount Control Room に接続されている Bot Runner デバイスの数 数字 接続されている Bot Runner デバイスの数を入力
    Scheduler_Interval スケジュール間隔 (分) 数字 デプロイ時にこの Bot の実行をスケジュール設定する間隔を入力します (最小 2 分、最大 30 分)。
    Average_Pages ドキュメントあたりの平均ページ数 ドキュメントのおおよその平均ページ数を入力
    FilesInFolder ファイル名と拡張子が保持される ディクショナリ --
    SourcePath Document Automation へのアップロード待ちドキュメントが含まれるフォルダーのファイル パス 文字列 ファイル パスを入力
    OutputPath 抽出されたデータと無効または失敗したドキュメントが含まれるフォルダーのファイル パス 文字列 抽出を出力するファイル パスを入力
  4. [ループ] アクション を挿入し、特定のファイル パスにあるすべてのドキュメントで反復します。
    1. [ループ] アクション をダブルクリックまたはドラッグします。
    2. [フォルダー内の各ファイル] 反復子を選択します。
    3. SourcePath 変数を [フォルダー パス] フィールドに挿入します。
    4. FilesInFolder 変数を [ファイル名と拡張子をこの変数に代入] フィールドに挿入します。
  5. [If] アクション を挿入し、処理用にアップロードされたドキュメントの数と、スケジュール間隔で乗算して平均ページ数で除算した Bot Runner デバイスの数を比較します。
    注: Bot Runner がドキュメントを処理できるように、処理用に一度にアップロードされるファイルの数を制限するため、この式を含める必要があります。
    1. [If] アクション を [ループ] コンテナにドラッグします。
    2. [数字] 条件を選択します。
    3. File_Count 変数を [元の値] フィールドに挿入します。
    4. [より小さい] 演算子を選択します。
    5. 以下を [ターゲット値] フィールドに入力します。$Extraction_DeviceCount$*$Scheduler_Interval$/$Average_Pages$
  6. [If: Else] および [ループ: Break] アクションを挿入し、条件が満たされていない場合にループを終了します。
    1. [If: Else] アクションを [ループ] コンテナの [If] アクションの横にドラッグします。
    2. [ループ: Break] アクションを [If: Else] コンテナにドラッグします。
  7. エラー処理メカニズムを挿入し、考えられるエラーをログ記録します。
    1. [エラー ハンドラー: 試行] アクションを [If] コンテナにドラッグします。
    2. [エラー ハンドラー: キャッチ] アクションを [エラー ハンドラー: 試行] アクションの下にドラッグします。
    3. [遅延] アクションを [エラー ハンドラー: キャッチ] アクションの下にドラッグします。
    4. 10 秒の遅延時間を設定します。
  8. 特定のラーニングインスタンスに関連するプロセスにドキュメントをアップロードするように アクション を構成します。
    1. [Process Composer: リクエストを作成] アクションを [エラー ハンドラー: 試行] アクションの下にドラッグします。
      注: Document Automationが自動的に作成するパブリック プロセス パスを指しています。たとえば、次の画像をご覧ください。
      Process-Composer-Public-Processor
    2. [LearningInstanceName を設定] オプションをマークし、ドキュメントを送信するラーニングインスタンスの名前を指定します。
    3. [InputFile を設定] オプションをマークし、$SourcePath$/$FilesInFolder{name}$.$FilesInFolder{extension}$ と入力します。
    4. [InputFileName を設定] オプションをマークし、$FilesInFolder{name}$.$FilesInFolder{extension}$ と入力します。
    5. [OutputFolder を設定] オプションをマークし、$OutputPath$ と入力します。
    6. [数字: インクリメント] を アクション[Process Composer: リクエストを作成] アクションの下にドラッグします。
    7. File_Count 変数を [数字] フィールドと [変数に出力を代入] フィールドに挿入します。
      ラーニングインスタンスにファイルがアップロードされるたびに、[数字] アクション により File_Count の値が 1 増加します。File_Count の値がステップ 5 で入力した式の合計値より小さい限り、Bot は別のループ反復を実行して、ラーニングインスタンスに別のドキュメントをアップロードすることができます。
  9. アップロードしたファイルのコピーをデスクトップの別の場所に作成し、どのドキュメントが正常にアップロードされたかを追跡します。
    1. [ファイル: デスクトップ ファイルをコピー] アクションを [数字: インクリメント] アクションの下にドラッグします。
    2. $SourcePath$/$FilesInFolder{name}$.$FilesInFolder{extension}$ を [元のファイル] フィールドに入力します。
    3. ファイルをコピーするフォルダー パスを指定します。
  10. Document Automation にアップロードされたドキュメントを削除し、次の反復で再アップロードされないようにします。
    1. [ファイル: 削除] アクションをドラッグします。
    2. $SourcePath$/$FilesInFolder{name}$.$FilesInFolder{extension}$ を [ファイル] フィールドに入力します。
  11. [保存] をクリックします。

完成した Bot は、下の図のようになります。

完成した Bot のスクリーンショット

次のステップ

プロセスと Bot を公開します。「ラーニングインスタンスを本番環境に公開する」のステップ 3 を参照してください。