nikkie-ftnextの日記

イベントレポートや読書メモを発信

Google CloudのDocument AIで、processorを作ってPDF内のテキストを認識する(コンソールでチュートリアル篇)

はじめに

ミリアニムビナナ異文化交流の模様がYahoo!ニュースに😭 nikkieです。

Google Cloudの「Document AI」なるサービスを触りました。
ドキュメントに関していろいろと賢いことができそうな印象ですが、今回はOCR光学文字認識)用途でのみ触っています。

目次

Google CloudのDocument AI

※Document AIという研究領域もある1ので、「Google Cloudの」と枕詞を付けています。

前回のDocument AI!

先日OCR目的で、Google CloudのVision APIを触りました。

Vision APIのドキュメントでDocument AIが案内されていて、その存在を知りました。
Document AIは未知で、「Vision APIとは何が違うんだろう?」というところから今回スタートしています。
よく分かんないけど、ひとまず触ってみよう!

理解したこと:processorを選んでドキュメントに関するタスクを解かせられる

ドキュメント プロセッサを作成して、面倒なタスクの自動化、データ抽出の改善、非構造化または構造化ドキュメント情報からのより詳細な分析情報の取得を支援します。

プロダクトページを見ていてもいまいちVision APIとの違いが分からなかったので、コンソールで触りました。
今回触った範囲の理解が以下です

チュートリアル「Get started with Document AI in the Google Cloud console」

https://console.cloud.google.com/ai/document-ai から開けます。
Google Cloudのアカウントを持っている前提です)

「Learn」の中にある「Get started with Document AI in the Google Cloud console」(英語)をやってみることにしました。

Create a Document AI OCR processor and extract text from a PDF

準備

チュートリアルを進める前に以下を終わらせていました。
そのため、チュートリアルのsetupはサクサク進みました。

  1. プロジェクトの選択
  2. 1のプロジェクトで課金の有効化
  3. 1のプロジェクトでDocument AI APIの有効化

ref: https://cloud.google.com/document-ai/docs/process-documents-ocr#before-you-begin

課金を有効にしたので料金が気になりますよね。
https://cloud.google.com/document-ai/pricing?hl=ja
このチュートリアルで使うのは「汎用プロセッサ」の中の「ドキュメント OCR プロセッサ」です。

1~5,000,000 ページ以上/月
1,000 ページあたり $1.5

Vision APIと違って無料枠はなさそうです。
チュートリアルの範囲では数ページ送るので、少額(1ドル未満)の利用料がかかってくる認識です。

processor作成

チュートリアルに沿ってprocessorを作ります。
今回は「Processor gallery」から選択します

Generalの「Document OCRprocessorを「Create Processor」します

  • Processor name: 「quickstart-document-ocr
  • Region:「US」を選択
    • EUも選べます

作ると「My processors」(processorの一覧)から「quickstart-document-ocr」を選択した画面(processorの詳細画面)になりました。

サンプルドキュメントPDFを送って動作確認

「Test your processor」にある「Upload Test Document」からサンプルPDFを送ります。

サンプルPDFはチュートリアル(3/4)からダウンロードできます。
Winnie-the-Pooh」(クマのプーさん)の3ページ分の(英語の)PDFでした。

アップロードしたあとは「Document OCR analysis」が見えます。

OCRできてますね🙌
このanalysisページはテストと銘打っており、どうやら一回限り。
(ChatGPTの会話履歴のように)analysisの履歴はなく、過去のanalysisは参照できなさそうでした。

日本語を送ってもOCRされます!

https://huggingface.co/datasets/naver-clova-ix/synthdog-ja?row=0 を送りました

終わりに

Google CloudのDocument AIを触りました。
コンソール内のチュートリアルに沿って

  • OCR用のprocessorを作成(ライブラリから選んだ)
  • 作ったprocessorに英語のサンプルPDFを送ってOCRの動作確認

しました。

今回やったOCRVision APIでもサポートされていますよね3
Document AIでは、ドキュメントを文字に起こすだけでなく、パース(すなわち構造化)もできるprocessorが提供されているので、OCR+αができるというのがVision APIとの差分かなと思います。


  1. 参考
  2. Invoice Parserの例
  3. PDFのOCR