0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

DocumentAIとBigQueryを使用して健診データを読み取ってみる

0
Posted at

はじめに

健康診断データは受診した病院によってフォーマットが異なり、OCRで自動化する際に大きな課題になります。位置情報ベースの単純なOCRでは対応しきれないケースも多いです。

そこで今回はGoogle Cloud Document AIにあるCustom Extractorプロセッサを試してみました。これは、AIをベースとしたOCRの上に自分でカスタマイズした項目を追加できる仕組みです。

この記事では、実際に行った手順を備忘録的にまとめています。


流れ

  1. DocumentAIのプロセッサをカスタマイズ&ビルド
  2. 読み取り対象帳簿をCloud Strageに格納
  3. BigQueryとDocumentAI・Cloud Strageの連携
  4. BigQuery内のクエリを用いた帳簿読み取り~結果格納

DocumentAIのプロセッサをカスタマイズ&ビルド

①コンソール画面からDocumentAIを選択

Google Cloud Console にログインし、Document AI を選択します。

②Custom Extractor プロセッサを作成

  • 「カスタムプロセッサ > Custom Extractor > プロセッサを作成」をクリック
  • プロセッサ名、リージョン、ストレージの場所、暗号化方式を設定
    • リージョンは現在 US / EU のみ
    • 特にこだわりがなければ「Google 管理のストレージ・暗号化」で問題なし

③作成したプロセッサを選択

マイプロセッサ一覧から、先ほど作成したプロセッサを開きます。

④カスタマイズの開始

「概要」タブからカスタマイズの開始をクリックし、読み取りたい項目(フィールド)を作成します。

作成時の設定項目は以下の通り:

  • 名前:ラベル名(英語のみ)
  • データ型:数値、文字列、日付など
  • オカレンス:対象が何回登場するか(1回だけ / 複数回)

⑤学習用ドキュメントをアップロード

「ビルド > ドキュメントのインポート」から学習用データを投入します。
アップロード時に用途を選べますが、今回は「トレーニング」を選びました。
ドキュメントのアップロード

⑥ラベル付け

アップロードしたドキュメントに対し、項目ごとにラベル付けを行います。

  • 自動ラベル付けされた箇所は紫色で表示
  • 間違っていたら修正
  • 認識されなかった場合は手動で範囲選択してラベルと紐づけ可能

image.png

⑥プロセッサ調整完了

ラベル付けと学習が終わると、プロセッサが利用可能になります。


読み取り対象帳簿をCloud Strageに格納

DocumentAI で読み込む対象は GCS にアップロードしておきます。

①Cloud Storage バケットを作成

この設定は基本的に何でも良いと思いますが、念のためDocumentAIのプロセッサと同じリージョンにしました。

②Document AIで読み取りたい書類のアップロードを行う

OCR 対象のPDFや画像をバケットにアップロードします。


BigQueryとDocumentAI・Cloud Strageの連携

[1]を参考にしながら下記の手順で接続を行いました。
詳細については、参考に載せているリンク先を確認してください。

BigQueryとDocumentAIを連携する

①コンソール画面からBigQueryを選択

②BigQueryのエクスプローラーの3点ボタン>追加を選択

③「外部データソースへの接続」をクリック

この時は下記のように設定しました。

  • 接続タイプ:Vertex AI リモートモデル、リモート関数、BigLake(Cloud リソース)
  • 接続ID
  • ロケーションタイプ:マルチリージョン、US(DocumentAI構築時に指定したリージョン)

④BigQueryのエクスプローラーから、プロジェクトIDが表示される項目の▽ボタンを押して展開

⑤外部接続から、作成したコネクションを選択して開く

リージョン名.接続IDで表示されています。

⑥サービスアカウントIDをコピーする

⑦IAMに移動して、「アクセスを許可」をクリック

⑧下記を設定して保存をクリック

  • 新しいプリンシパル:コピーしたサービスアカウントID
  • ロール:DocumentAI 閲覧者、Storage オブジェクト閲覧者

BigQueryとCloud Strageを連携する

こちらも同様に「外部データソースへの接続」を使って設定します。

  • 接続タイプに Cloud Storage を選択
  • アクセス権限を設定
    これで BigQuery から GCS 上のファイルを参照できます。

BigQueryクエリで帳簿読み取り~結果格納

ここまで設定できれば、あとは BigQuery 上でクエリを実行することで:

  • GCSに置いたPDF/画像をDocumentAIでOCR処理
  • 結果をJSONとしてBigQueryに格納
  • SQLで抽出・集計

といった流れが可能になります。


まとめ

  • DocumentAI Custom Extractor を使うと、病院ごとに形式が異なる健康診断票でも柔軟にOCR可能
  • GCSとBigQueryを組み合わせることで、クラウドネイティブな帳簿処理パイプラインが構築できる

参考にした記事

[1]https://zenn.dev/cloud_ace/articles/cb2bcd1320a8e1

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?