Document AI: 人間参加型

1. はじめに

Document AI API は、ドキュメントやメールなどの非構造化データを対象に、データを簡単に理解、分析、利用できるようにするドキュメント理解のためのソリューションです。

人間による審査では、人間による審査を受けることでドキュメントの処理精度を向上させることができます。人間による審査を行うことで精度が向上するだけでなく、人間による審査用の専用ツールを使用することで予測の評価も行えます。このラボでは、人間によるレビューを使用して費用プロセッサを構成してテストし、人間によるループ構成と管理ツールを使用してプロセッサの結果を検証します。

前提条件

この Codelab は、Document AI の他の Codelab の内容に基づいて作成されています。

このラボを始める前に、次の Codelab を完了しておくことをおすすめします。

学習内容

  • プロセッサの人間による確認を構成します。
  • 人間による審査ユーザー リソース プールを作成します。
  • テスト用の人間による確認タスクを作成します。
  • 人間による確認タスクをユーザーに割り当てます。
  • ドキュメントの人間による審査を完了します。

必要なもの

  • Google Cloud プロジェクト
  • ブラウザ(ChromeFirefox など)
  • Python 3 の知識

2. 設定する

この Codelab は、入門編の Codelabにある Document AI の設定手順を完了していることを前提としています

先に進む前に、次のステップを完了してください。

Vertex AI API も有効にする必要があります。

  1. コンソールの上部にある検索バーで「Vertex AI API」を検索します。[有効にする] をクリックして、Google Cloud プロジェクトで API を使用します。
  2. または、次の gcloud コマンドを使用して API を有効にすることもできます。
gcloud services enable aiplatform.googleapis.com

3. プロセッサを作成する

まず、このラボで使用する費用プロセッサのインスタンスを作成する必要があります。

  1. コンソールで、Document AI Platform の概要に移動します。
  2. [プロセッサを作成] をクリックし、[専用] まで下にスクロールして、[経費パーサー] を選択します。
  3. codelab-expense-parser(または覚えている名前)を付けて、最も近いリージョンをリストから選択します。
  4. [作成] をクリックして、プロセッサを作成します。
  5. プロセッサ ID をコピーします。これは、後でコード内で使用します。
  6. Cloud Shell で、PROJECT_ID-hitl-results を名前として使用してストレージ バケットを作成します。
export PROJECT_ID=$(gcloud config get-value core/project)
gsutil mb gs://$PROJECT_ID-hitl-results
  1. ラボ プロジェクトの Vertex AI 管理者 IAM ロールにユーザー アカウントをバインドする
export USER_ACCOUNT=$(gcloud config get-value core/account)
gcloud projects add-iam-policy-binding $PROJECT_ID --member=user:$USER_ACCOUNT --role=roles/aiplatform.admin

4. 人間参加型を構成する

このタスクでは、先ほど作成した費用プロセッサの人間によるレビューを構成します。

  1. コンソールでナビゲーション メニューを開き、[Document AI] を選択します。
  2. [人間参加型 AI] をクリックします。HITLMenu
  3. [codelab-expense-parser] をクリックして、プロセッサの [Human Review] ページを開きます。
  4. [人間参加型を構成] をクリックします。

ConfigureHITL

  1. [ドキュメント レベルのフィルタ] を選択します。
  2. [信頼度のしきい値 %] スライダーを 50% に設定します。
  3. [スペシャリスト] オプションは [マイ スペシャリストを使用] のままにします。

HITLFilters

  1. [スペシャリスト プール] プルダウン ボックスをクリックし、[新しいスペシャリスト プール] をクリックします。
  2. [新しいスペシャリスト プール] ダイアログの [プール名] に「Codelab HITL Pool」と入力します。
  3. [プール マネージャー] と [スペシャリスト] に個人メールアドレスを入力します。
  4. [プールを作成] をクリックします。

HITLSpecialistPool

完了するまでに数分かかります。Vertex AI noreply-vertex@google.com からメールが届きます。

  1. [Auto-assignment] チェックボックスはオフのままにします。
  2. [料金を確認] セクションのチェックボックスをオンにします。
  3. [手順の場所] をクリックし、次の保存場所をコピーします。- パスに接頭辞 gs:// を含めないでください。
cloud-samples-data/documentai/codelabs/hitl/hitl-instructions.pdf
  1. [結果の場所] で [参照] をクリックし、先ほど作成した Cloud Storage バケットを選択します。
  2. [選択] をクリックします。
  3. [Save Configuration] をクリックします。

コンソールに [Configuring human-in-the-loop] と表示され、完了するまでに数分かかります。

HITLLoading

  1. 構成が完了すると、コンソールに人間参加型を有効にするよう求めるメッセージが表示されます。
  • スイッチ ボタンをクリックして有効にします。
  • ポップアップ ダイアログで [有効にする] をクリックします。

HITLEnable

サンプル経費フォームをアップロードする

  1. Google Cloud Storage に保存するためのサンプル フォームが用意されています。以下のボタンまたはコマンドでダウンロードできます。

gsutil cp gs://cloud-samples-data/documentai/codelabs/hitl/expense-claim.pdf .
  1. Human-in-the-loop を有効にしたら、[ドキュメントをアップロード] ボタンをクリックし、ダウンロードしたサンプル ドキュメントを参照します。
  2. [アップロード] をクリックし、完了するまで待ちます。

5. 人間による審査のために項目を割り当てる

  1. このページには、プール マネージャー コンソールとスペシャリスト コンソールのリンクが表示されます。これらのリンクは、Vertex AI noreply-vertex@google.com からのメールにも表示されます。
    • 次のようになります。https://datacompute.google.com/cm/cloudml_data_specialists_us_central1_xxxxxxx/tasks
    • [Manager] コンソールのリンクをクリックします。

  1. Data Labeling Console で、[タスク] タブのタイトルをクリックして、タスク割り当てページを開きます。
  2. [割り当てなし] チェックボックスをオンにします。codelab-expense-parser-P1 タスクキューに新しいエントリがリストされていることを確認します。

イメージ

  1. [codelab-expense-parser-P1] を選択します。
  2. [割り当てを管理] をクリックします。
  3. [メールでスペシャリストを含める] テキスト ボックスに自分の個人用メールアドレスを入力し、プルダウン リストから選択します。
  4. [適用] をクリックします。

タスクが自分に割り当てられていることが表示されます。変更が反映されて表示されるまでに数分かかることがあります。

イメージ

  1. 新しいユーザーを選択し、メニュー アイコンをクリックします。
  2. 表示されたポップアップ メニューで [すべてのタスクに割り当てる] をクリックします。

イメージ

  1. [Commit changes] をクリックします。
  2. [Commit] をクリックします。

イメージ

6. 人間による確認タスクを実行する

  1. Cloud Console の Human-in-the-Loop 構成ページに戻ります。

リンクをクリックして、スペシャリスト(ワーカー)コンソールにアクセスします。https://datacompute.google.com/w/cloudml_data_specialists_us_central1_xxxxxxxxxxx のようになります。

ワーカー コンソールが開き、新しいタスクがリストに表示されます。

イメージ

  1. [Meeting with 4m] を含む広告申込情報にカーソルを合わせ、[edit](鉛筆)アイコンをクリックします。
  2. 値を編集して、テキストを「Adam との会議」に変更します。テキスト ボックスを下にスクロールしないとテキストが表示されない場合があります。
  3. [適用] をクリックします。
  4. 次の項目の [確認](緑色のチェックマーク)アイコンをクリックします。イメージ
  5. 他のハイライト表示されたエンティティの [確認] アイコンをクリックします。
  6. [送信] をクリックします。レビュー タスクがラベル付けキューから削除されました。

7. 完了したタスクを表示する

  1. マネージャー コンソールに戻ります。
  2. [タスク] をクリックして [進行中] を選択します。イメージ
  3. [スペシャリスト] をクリックします。
  4. メールアドレスを選択します。
  5. [割り当てを管理] をクリックします。
  6. Select specialists working on specific tasks プルダウンと Select tasks プルダウンから expense-processor-P1 を選択します。選択ごとに [適用] をクリックします。割り当てられた expense-processor-P1 のコンテキスト メニューで、[View Specialists](スペシャリストを表示)を選択します。

イメージ

ラベラーがラベリング タスクを送信すると、回答済みのタスク数と合計所要時間が更新されますが、このビューのデータが表示されるまでに数分かかることがあります。

  1. スペシャリストのポップアップを閉じると、[スペシャリスト] タブが表示されます。
  2. ユーザー名のコンテキスト メニューをクリックし、[タスクを表示] を選択します。

このビューには、ユーザーのタスクのリスト、完了数、所要時間が次のように表示されます。

イメージ

8. 完了

お疲れさまでした。ここでは、Document AI 人間参加型を使用して、Document AI 経費プロセッサで処理されたドキュメントの人間による審査を構成しました。

クリーンアップ

このチュートリアルで使用したリソースについて、Google Cloud アカウントに課金されないようにする手順は次のとおりです。

  • Cloud コンソールで、[リソースの管理] ページに移動します。
  • プロジェクト リストでプロジェクトを選択し、[削除] をクリックします。
  • ダイアログでプロジェクト ID を入力し、[シャットダウン] をクリックしてプロジェクトを削除します。

詳細

次の Codelab で Document AI について理解を深めてください。

リソース

ライセンス

この作業はクリエイティブ・コモンズの表示 2.0 汎用ライセンスにより使用許諾されています。