🧠

AI-OCRで業務用申請書を自動構造化!AWS Textract + フィールド分類AIでDB登録まで一気通貫

に公開

はじめに

多くの業界では、PDFや紙でやり取りされる「業務用申請書」をデジタルデータとして扱いたいニーズが高まっています。そこで本記事では、AI-OCRを使って申請書から必要な情報を自動抽出し、構造化されたデータとしてデータベースに登録するまでの実装構想を紹介します。

使用する主要技術は以下の通りです:

  • AI-OCR:AWS Textract
  • フィールド分類:軽量なテキスト分類AI(FastText または MiniLM)
  • 構造化データの登録:任意のDB(MySQL/PostgreSQLなど)

全体構成イメージ

[PDF or 画像アップロード]
        ↓
[AWS Textract で OCR]
        ↓
[テキストの KEY/VALUE 抽出]
        ↓
[フィールド分類AI でラベル付与]
        ↓
[構造化データに変換]
        ↓
[自社サービスのDBに登録]

なぜAWS Textract?

TextractはOCR処理に加え、フォームやテーブルの"構造"も抽出できる点が強みです。

  • フォームの"項目ラベル"と"値"を分けて取得できる
  • JSON形式で整った出力が得られる
  • AWS環境と親和性が高く、サーバレス構成にも組み込みやすい

ただし、Textractは「項目ラベル」を分類することはしません。
そこで次に必要なのが、フィールド分類用のAIです。


フィールド分類AIとは?

Textractが出力したテキスト(たとえば「保存方法」「申請理由」など)を見て、
それがどのフィールドに該当するかを分類するのがこのAIの役割です。

例:分類前と後

OCR結果:
"電子部品の交換に伴い、定期メンテナンスを実施" → ???(どのフィールド?)

分類後:
"電子部品の交換に伴い、定期メンテナンスを実施" → "申請理由"

ステップバイステップ設計

Step 1. フィールド一覧の定義

まずは分類対象となるフィールドを明確にします。

フィールド 例文
申請種別 設備交換申請
申請理由 電子部品の故障に伴い交換が必要
担当者名 山田 太郎
所属部署 生産技術部
実施予定日 2025年6月15日
添付資料 配線図・見積書

Step 2. 学習用データの作成

分類AIには、以下のようなペアをCSV形式で与えます。

テキスト,ラベル
"設備交換申請",申請種別
"電子部品の故障に伴い交換が必要",申請理由
"山田 太郎",担当者名
"生産技術部",所属部署

少数データ(各ラベル10〜50件)からでも始められます。

Step 3. モデル選定と学習

A. 軽量で簡単:FastText

  • 高速で小規模データに強い
  • すぐに学習&推論可能

B. 少し高精度:MiniLM日本語モデル

  • HuggingFace Transformersを利用
  • より文脈を理解した分類が可能

Step 4. API化

モデルを推論サーバーとしてAPI化します(例:FastAPI)。

POST /predict
{
  "text": "電子部品の故障に伴い交換が必要"
}
→ { "label": "申請理由" }

まとめ

  • Textractで項目を検出し、
  • フィールド分類AIで意味づけし、
  • DBに登録することで、業務申請書の自動デジタル化が可能に!

初期は小さな学習データからスタートして、
運用しながら分類精度を向上させていくプロセスが現実的でおすすめです。


次回予告?

  • TextractのJSONサンプルを読む方法
  • FastTextによる分類モデルの簡単構築
  • MiniLMによるファインチューニング実装例

など、もし需要があれば続編書きます!

ぜひ、ZennのLikeやフォローで応援してください :)

Discussion