1. 概要

Procurement Document AI とは
企業は、毎年数千件の請求書、領収書、その他の関連ドキュメントを含む大規模な調達パイプラインを管理しています。Procurement DocAI を使用すると、PDF、画像、手書きフォームなどの「ダークデータ」をインテリジェントに処理し、調達ライフサイクルの手作業によるオーバーヘッドを削減できます。請求書や領収書などの非構造化ドキュメントを構造化データに変換して運用効率を高め、カスタマー エクスペリエンスを向上させ、意思決定に情報を提供することで、調達データのキャプチャを大規模に自動化します。
この Codelab では、Document AI Platform の設定方法、サンプル請求書の処理方法、AI Platform Notebook でのエンティティの抽出と可視化について説明します。
学習内容
- Document AI Platform の使用を開始する方法
- Procurement DocAI ソリューションを使用してスキーマ化されたエンティティを抽出する
- AI Platform Notebooks インスタンスを作成してカスタマイズする
必要なもの
アンケート
このチュートリアルをどのように使用されますか?
Python のご利用経験はどの程度ありますか?
Google Cloud サービスの使用経験はどの程度ありますか?
2. 設定と要件
セルフペース型の環境設定
- Cloud Console にログインし、新しいプロジェクトを作成するか、既存のプロジェクトを再利用します(Gmail アカウントまたは G Suite アカウントをお持ちでない場合は、アカウントを作成する必要があります)。



プロジェクト ID を忘れないようにしてください。プロジェクト ID はすべての Google Cloud プロジェクトを通じて一意の名前にする必要があります(上記の名前はすでに使用されているため、使用できません)。以降では、PROJECT_ID の箇所にこの ID を使用してください。
- 次に、Google Cloud リソースを使用するために、Cloud コンソールで課金を有効にする必要があります。
「クリーンアップ」セクションにある指示に従ってください。ここには、このチュートリアルの終了後に課金が発生しないようにリソースをシャットダウンする方法が記載されています。Google Cloud の新規ユーザーは、 300 米ドル分の無料トライアル プログラムをご利用いただけます。
3. Cloud Document AI API を有効にする
Document AI を使用する前に、API を有効にする必要があります。ブラウザで Cloud コンソール を開きます。
- ナビゲーション メニュー > [API とサービス] > [ライブラリ]
をクリックします。 - 「Document AI API」を検索し、[有効にする] をクリックして、Google Cloud プロジェクトで API を使用します。
4. プロセッサを作成してテストする
このチュートリアルでは最初に、Document AI Platform で使用する Form Parser プロセッサのインスタンスを作成する必要があります。
- コンソールで [Document AI Platform Overview] に移動します。
- [プロセッサを作成] をクリックして、[Invoice パーサー] を選択します

- プロセッサ名を指定し、リストからリージョンを選択します。
- [作成] をクリックして、プロセッサを作成します。
- プロセッサ ID をコピーします。これは、後でコード内で使用します。
(省略可)ドキュメントをアップロードして、コンソールでプロセッサをテストできます。[ドキュメントをアップロード] をクリックして、解析するフォームを選択します。使用できるフォームがない場合は、このサンプルフォームをダウンロードして使用できます。

出力は次のようになります。 
5. AI Platform Notebook を作成する
Cloud Console の [AI Platform Notebooks] セクションに移動し、[新しいインスタンス] をクリックします。次に、最新の Python インスタンス タイプを選択します。

デフォルトのオプションを使用して、[作成] をクリックします。インスタンスが作成されたら、[JupyterLab を開く] を選択します。
6. サンプルコードを取得する
Document AI Notebooks Github リポジトリからサンプルコードを直接インポートします。ノートブックで、上部のメニューの [Git] > [リポジトリのクローン] に移動するか、Git アイコンをクリックします。
次のリポジトリ URL を貼り付けます。
https://github.com/GoogleCloudPlatform/documentai-notebooks.git
リポジトリのクローンが作成されたら、documentai-notebooks/specialized/ ディレクトリをクリックして、specialized_form_parser.ipynb ノートブックを開きます。GCP プロジェクトと Document AI プロセッサ ID が宣言されているセルを見つけます。

ステップ 4 で取得した GCP プロジェクト ID とプロセッサ ID を貼り付けます。ノートブックを保存します。
7. エンティティを抽出して可視化する
これで、請求書からスキーマ化されたエンティティと対応する信頼スコアを抽出できます。Document レスポンス オブジェクトには、エンティティのリストが含まれます。スキーマ化されたエンティティの詳細については、Invoice パーサーのクイックスタートをご覧ください。
ノートブックのすべてのセルを実行し、表形式の出力までスクロールします。前のコードは各エンティティを反復処理し、結果を含む Pandas DataFrame を作成します。 
可視化コンポーネントまで下にスクロールします。Document オブジェクトのレスポンスには、ドキュメント内の各ページの空間レイアウト情報が含まれています。以下では、各フォーム フィールドのレイアウト情報を使用して、画像にバウンディング ボックスを描画します。このデータを使用して、Document AI をフロントエンド アプリケーションに統合できます。

8. 完了
お疲れさまでした。Procurment Document AI ソリューションを使用して、請求書からデータを抽出できました。他のフォームタイプも試してみてください。
クリーンアップ
このチュートリアルで使用したリソースについて、Google Cloud アカウントに課金されないようにするには、ノートブックをシャットダウンするか、GCP プロジェクトを削除します。
AI Platform Notebooks インスタンスをシャットダウンする
AI Platform Notebooks インスタンスをシャットダウンする手順は次のとおりです。
プロジェクトの削除
課金をなくす最も簡単な方法は、チュートリアル用に作成したプロジェクトを削除することです。
プロジェクトを削除するには、次の操作を行います。
- GCP Console で [プロジェクト] ページに移動します。プロジェクト ページ
- プロジェクト リストで、削除するプロジェクトを選択し、[削除] をクリックします。
- ダイアログにプロジェクト ID を入力し、[シャットダウン] をクリックしてプロジェクトを削除します。