Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
生成AIで帳票OCRが「簡単に」作れる時代になった?
Search
Shohei Kondo
July 29, 2026
Programming
1.3k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
生成AIで帳票OCRが「簡単に」作れる時代になった?
Shohei Kondo
July 29, 2026
More Decks by Shohei Kondo
See All by Shohei Kondo
在庫違算を防ごう!トランザクション&行ロック
kon_shou
0
49
Serverless 入門 ~環境構築からデプロイまで~
kon_shou
0
390
実運用におけるLaravelとNuxtでのRepositoryのレイヤ分割の話
kon_shou
3
3.8k
Other Decks in Programming
See All in Programming
作れるエンジニアから、価値を届けるエンジニアへ
ryunakayama
1
240
全ての永続トークンを、生まれる前に消し去りたい!
sylph01
3
1.7k
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
4
1.5k
高橋メソッドでCVE解説シリーズ 〜CVE-2026-112816〜
hakkadaikon
0
230
DroidKnights 2026 Android A2UI Jetpack Compose 기반의 안전한 AI UI 렌더링 - 박제창
itsmedreamwalker
1
210
AI駆動開発4年目の現在地(『あなたはFDEになるべきか?』イベント資料)
kumaiu
0
500
AIが生成したコードは読むべきか?抽象化設計とコードの品質保証 / abstraction-design-and-quality
minodriven
16
8.9k
現場と育てるRailsモデリング 〜Spreadsheetから始めたモデル設計〜
siroemk
2
1.2k
クラウドエージェントは、 何がそんなに便利なのか / what makes cloud agents so useful
rkaga
5
810
AI-Powered Domain-Driven Design
ziobrando
0
420
Claude Code ハーネスDeep Dive – 君はどこまで制御する? -
takateeen_knj
6
4.4k
Kawaiicon: Kubernetes, it's no longer cool, but let's secure it anyway!
barnbarn
0
130
Featured
See All Featured
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.3k
The browser strikes back
jonoalderson
0
1.9k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
470
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
3
1.4k
Optimizing for Happiness
mojombo
378
71k
Discover your Explorer Soul
emna__ayadi
2
1.3k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
560
svc-hook: hooking system calls on ARM64 by binary rewriting
retrage
2
670
Leo the Paperboy
mayatellez
10
2.4k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
340
Transcript
生成AIで帳票OCRが「簡単に」作れる時代にな った? 1
自己紹介 名前 — 近藤 祥平(kon-shou) 仕事 — フリーのWeb系のソフトウェアエンジニア。主には PHPer/Laravel 今日の話
— FAX で届く注文書をOCRで読み取りたい ※ 以降の数値はすべて、この発表のために作った実験環境での実測です。業務の実データではありません。 2
お題:FAX で届いた注文書を読む FAX 受信 → OCR → 数量を取り出す → 受注データ
注文書のフォーマットは、システムから出 力 品名、品番等は印刷されていて、数量が空 白 発注側が、数量を手書きしてるので、それ をシステムのOCRで読み取る 3
投げたプロンプト これはFAXで受信した注文書のスキャン画像です。 画像は回転・傾き・かすれを含むことがあります。 この注文書は次のフォーマットです: - 商品テーブルには No / 品名 /
品番 / 数量 / 単位 の列がある - 注文者は必要な行の数量欄にだけ手書きで数量を記入する (記入のない行が多数ある) - 用紙上部に注文日を「月」「日」の枠へ手書きする欄がある 読み取る項目: 1. rows: 手書きの数量が記入されている行だけを対象に、印字された行番号と 手書き数量の組。空欄の行は含めない 2. order_date: 手書きされた注文日の月と日 注意: - 印字済みの行番号・品番などの数字を、手書き数量と混同しないこと - 読み取れない値を推測で埋めないこと。不確かな場合は null にすること 4
生成AIで、日本語の読み取り 利用インフラ Amazon Bedrock / Claude Haiku 4.5 前処理なしで画像をそのまま。API 1
回 レスポンス { "detected_rotation": 0, "order_date": { "month": 10, "day": 13 }, "rows": { "1": 75, "2": 76, "3": 84, "7": 89, "9": 79, "12": 0.9 } } 読み取り精度 記入行 33/33・数量 31/33・注文日 5/5 → F1 0.938 5
「生成AIで【安価】で【簡単】に【精度良い】 OCRが作れました」 で、一件落着…? 6
ただ、FAX はいつもまっすぐに来ません! 結構な頻度で、送信側が紙を逆にして送信とかあるあるです。 7
すべての角度で回転させて、読み取り精度を確認 30 度ずつ回して、60 枚 8
先に結論:生成AIだと、回転してたら精度が出ない 帳票 5 枚 × 12 角度を、2つの構成で読ませて比べる Claude Haiku 4.5
プロンプトに「回っていたら向きを判断して読め」と書いた版 Document AI Form Parser Google Cloud の帳票向け OCR。今回でいうところの生成AI「ではない」 9
10
角度も Claude に測らせれば? ➡ 難しい 11
「モデルの性能あげたら?」➡ 価格が高すぎる! 同じ帳票・同じプロンプトで、0° / 30° / 180° を抜き取り 0° 30°
180° 角度誤差 1 ページ Claude Haiku 4.5 0.967 0.200 0.062 34.0° 0.77円 Claude Sonnet 5 1.000 0.282 0.850 5.8° 14.63円 Claude Opus 5 1.000 1.000 0.640 0.0° 20.26円 Document AI Form Parser 0.939 0.819 0.968 0.1° 4.50円 12
しかも、Opus5でも、数字を逆さに読む Opus 5 に上下逆さ(180°)の帳票を読ませたとき Claude Opus 5 角度の申告 行番号の対応 数量の誤り
5 枚とも 180° と正解 33 行中 33 行が一致 12 件 桁の並びが逆 逆さだと似る数字 51 → 15 75 → 45 56 → 95 65 → 95 13
回転補正をしたうえで Claude に測らせれば? ➡ 精度高い 14
傾いた紙でもOCRしたいなら、3パターン 1. Document AI Form Parser に丸投げ($30 / 1,000 ページ
= 4.50円) 2. Claude Opus 5 に丸投げ(一番高いモデルの力で押し切る) 3. 「角度補正」 + Claude(角度だけを前段で測る) 3. の「角度補正」ってどうやる? OCRでFAXの表の長辺・短辺の座標を抽出し、その座標から、数式で、角度を求める 座標測定のOCRツール Amazon Textract DetectDocumentText Document AI Document OCR 1. の Form Parser とは別プロセッサ OpenCV 15
FAX1ページ当たりの価格・読み取り精度の比較 構成 1 ページ F1(行+値) Claude Opus 5 に丸投げ 20.26円
0.880 ※3角度 Document AI Form Parser に丸投げ 4.50円 0.832 Claude Haiku + Amazon Textract 0.97円 Claude Haiku + Document AI Document OCR 0.97円 Claude Haiku + OpenCV 0.74円 0.948※ 価格的には、角度補正と生成AIの組み合わせが筋がよさそう 16
まとめ 正立が保証できる? ── YES → ── NO → 生成AI でお手軽
Haiku 単体 / 選択肢は3つ 角度補正 + Haiku Document AI 一発 Opus 5 に丸投げ / F1 0.95 / 0.74〜0.97円 / F1 0.83 / 4.50円 / F1 0.88※ / 20.26円 F1 0.97 / 0.77円 ※ Opus 5 だけ 0°/30°/180° の 3 角度平均。他は全 12 角度平均 17
さいごに タイトルはミスリード。 生成AIで帳票OCRが「簡単に」作れる時代になった 正立だけなら 生成AIで帳票OCRが「簡単に」作れる時代になった ➡ 正立だけでないなら これまで通りに、生成AI以外による、下準備が要る ※このスライドのための調査のレポジトリ https://github.com/kon-shou/ocr_before_after
18