
OpenAI の Decisions API に書類画像(日本語)を見せて、OCR 結果の誤りを見つけさせてみた
こんにちは、けーまです。
Cloudflare の Clef に書類画像(日本語)を見せて、OCR 結果の誤りを見つけさせてみた | DevelopersIO で、Cloudflare の Clef に日本語の書類画像と OCR の抽出結果を渡し、「画像に印字されたとおりの値か」を判定させました。
clef は注入した誤り36件のうち32件を見つけられたものの、OCR(Claude Haiku 4.5)が実際に起こした読み間違いは19件中7件しか拾えませんでした。
OpenAI の Decisions API(モデルは gpt-6-luna)も、画像を受け取って yes の確率を返す質問ができます。
そこで本記事では、Clef の検証と同じ日本語の書類3枚・同じ質問を Decisions API に渡し、Haiku の読み間違いまで拾えるかを Clef と比べてみました。
1. 検証の条件
データは Clef の検証と同じです。
日本語の請求書・見積書・領収書(3枚・計149項目)を Haiku で抽出させたところ、19件の読み間違いが自然に発生したため、これも検出対象に含めています。
さらに、4パターンの誤り(計36件)を注入しました。
-
桁の変更(12件):金額や番号の数字を1桁だけ変える(
51,750→51,790、MQ-2026-0918→MQ-2026-0916) -
似た文字への変更(9件):形の似た文字に差し替える(
カ→力、口→ロ、ー→一) -
全角と半角の入れ替え(3件):
20食→20食、MN-2407→MN-2407 -
別の値への置き換え(12件):書類にありそうな別の値にする(
普通→当座、株式会社ひかり物流→株式会社ひかり運輸)
抽出結果は、書類ごとに次の4通りを用意しました。
-
Haiku の出力:Haiku が抽出したそのままの結果(Haiku 自身の読み間違い19件を含む)
-
誤りあり A・誤りあり B:Haiku の出力に、検証用の誤りを6件ずつ注入したもの
-
正解データ:すべて正しい値だけの版(誤りが1件もないときの挙動を見るための対照データ)
書類画像1枚と抽出結果を渡し、項目ごとに predicate(yes の確率を返す質問)で「この値は画像に印字されたとおりか」を聞きます。
確率 0.5 未満を「誤り」と判定し、比較対象は clef・clef-flash(2026年10月4日の実測)です。
画像は元の PNG(1700×2200、約200〜300KB)をそのまま渡しました。
Clef では推定トークン数の上限を超えたため32色に減色した画像を使っており、画像の条件だけは Clef と異なります。
Decisions API へのリクエストは次の形です(質問は1問だけ載せています)。
コメントは説明用で、実際に送る JSON には含めません。
{
"model": "gpt-6-luna",
"input": [{
"role": "user",
"content": [
// 判断の前提(OCR システムが日本語の請求書画像を読み取り、キーと値を抽出した。画像と照合せよ)と抽出結果
{"type": "input_text", "text": "{\"task\": \"An OCR system read the attached Japanese invoice (請求書) image ...\", \"extracted\": {\"issuer_name\": \"株式会社さくらフーズ\", ...}}"},
{"type": "input_image", "image_url": "data:image/png;base64,..."}
]
}],
"questions": [{
"type": "predicate", // yes/no の質問。yes の確率を返す
"name": "field__issuer_name",
// 抽出された issuer_name の値は、書類画像に印字された文字列と一字一句一致しているか
"instructions": "Is the extracted value of \"issuer_name\" (\"株式会社さくらフーズ\") exactly what is printed in the document image, character for character?"
}]
}

検証に使った請求書。印影が発行者名と登録番号に重なっている
2. 結果
2.1 誤りを見つけられたか
各モデルは項目ごとに「値が画像どおりである確率」を返します。
この確率が 0.5 未満の項目を「誤り」と判定し、次の3つの観点で件数を集計しました。
-
注入した誤りの検出:注入した誤り36件のうち、「誤り」と判定できた件数
-
Haiku の誤りの検出:Haiku の出力に含まれる読み間違い19件のうち、「誤り」と判定できた件数
-
誤検知:本来は正しい値なのに「誤り」と判定してしまった件数
| 条件 | 注入した誤りの検出(36件中) | Haiku の誤りの検出(19件中) | 誤検知(503件中) |
|---|---|---|---|
| Decisions API | 34 | 10 | 16 |
| clef | 32 | 7 | 7 |
| clef-flash | 29 | 5 | 20 |
Decisions API は、注入した誤りと Haiku の読み間違いのどちらも、3つのモデルの中で最も多く検出できました。
一方で、誤検知は16件と clef(7件)の2倍以上になりました。
| 種類 | Decisions API | clef | clef-flash |
|---|---|---|---|
| 注入した誤り:桁 | 12 / 12 | 10 / 12 | 9 / 12 |
| 注入した誤り:似た文字 | 9 / 9 | 9 / 9 | 8 / 9 |
| 注入した誤り:全角半角 | 1 / 3 | 1 / 3 | 1 / 3 |
| 注入した誤り:置き換え | 12 / 12 | 12 / 12 | 11 / 12 |
| Haiku の読み間違い | 10 / 19 | 7 / 19 | 5 / 19 |
| 誤検知 | 16 / 503 | 7 / 503 | 20 / 503 |
Decisions API は桁・似た文字・置き換えの誤りをすべて検出しましたが、全角と半角の入れ替えは Clef と同じく3件中1件しか拾えませんでした。
Decisions API が判定を誤った27件(Haiku の読み間違いの見逃し9件、注入した誤りの見逃し2件、誤検知16件)は次のとおりです。
Decisions API が判定を誤った27件(クリックすると展開します)
| 誤り方 | 種類 | 書類 | 抽出結果 | 項目 | 渡した値 | 正しい値 | 確率 |
|---|---|---|---|---|---|---|---|
| 見逃し | Haiku の読み間違い | 請求書 | Haiku の出力 | issuer_tel |
TEL 045-312-7788 | 045-312-7788 | 0.94 |
| 見逃し | Haiku の読み間違い | 請求書 | Haiku の出力 | reduced_rate_note |
※印は軽減税率(8%)対象品目です | ※印は軽減税率(8%)対象品目です | 0.66 |
| 見逃し | Haiku の読み間違い | 見積書 | Haiku の出力 | amount_kanji |
金壱百九拾六万五千四百八十円 | 金壱百九拾六万伍千四百八拾円也 | 0.53 |
| 見逃し | Haiku の読み間違い | 見積書 | Haiku の出力 | issuer_name |
株式会社テクアーク | 株式会社テクノアーク | 0.88 |
| 見逃し | Haiku の読み間違い | 見積書 | Haiku の出力 | discount_name |
出荷値引き | 出精値引き | 0.63 |
| 見逃し | Haiku の読み間違い | 見積書 | Haiku の出力 | remarks |
本見積の有効期限内にご注文いただいた場合に限り、上記価格を適用いたします。納期は受注確定後の目安であり、部材の調達状況により前後する場合がございます。夜間・休日の作業をご希望の場合は別途お見積りとなります。 | 本見積の有効期限内にご発注いただいた場合に限り、上記価格を適用いたします。納期は受注確定後の目安であり、部材の調達状況により前後する場合がございます。夜間・休日の作業をご希望の場合は別途お見積りとなります。 | 0.67 |
| 見逃し | Haiku の読み間違い | 領収書 | Haiku の出力 | item1_qty |
3日 | 3日 | 0.98 |
| 見逃し | Haiku の読み間違い | 領収書 | Haiku の出力 | item2_qty |
3日 | 3日 | 1.00 |
| 見逃し | Haiku の読み間違い | 領収書 | Haiku の出力 | item3_qty |
1式 | 1式 | 0.98 |
| 見逃し | 全角半角 | 領収書 | 誤りあり A | issue_date |
2026年10月2日 | 2026年10月2日 | 0.97 |
| 見逃し | 全角半角 | 領収書 | 誤りあり B | item4_qty |
20食 | 20食 | 0.56 |
| 誤検知 | 正しい値 | 請求書 | Haiku の出力 | bill_to_name |
株式会社みなと精機 | 株式会社みなと精機 | 0.34 |
| 誤検知 | 正しい値 | 請求書 | Haiku の出力 | subject |
9月分食材・消耗品代 | 9月分食材・消耗品代 | 0.34 |
| 誤検知 | 正しい値 | 請求書 | 誤りあり A | subject |
9月分食材・消耗品代 | 9月分食材・消耗品代 | 0.22 |
| 誤検知 | 正しい値 | 請求書 | 誤りあり B | bill_to_address |
神奈川県横浜市中区山下町1丁目14番地 | 神奈川県横浜市中区山下町1丁目14番地 | 0.48 |
| 誤検知 | 正しい値 | 請求書 | 正解データ | bill_to_name |
株式会社みなと精機 | 株式会社みなと精機 | 0.14 |
| 誤検知 | 正しい値 | 請求書 | 正解データ | subject |
9月分食材・消耗品代 | 9月分食材・消耗品代 | 0.12 |
| 誤検知 | 正しい値 | 請求書 | 正解データ | issuer_registration_no |
T4010403012345 | T4010403012345 | 0.28 |
| 誤検知 | 正しい値 | 請求書 | 正解データ | account_holder |
カ)サクラフーズ | カ)サクラフーズ | 0.13 |
| 誤検知 | 正しい値 | 見積書 | Haiku の出力 | customer_name |
株式会社ひかり物流 | 株式会社ひかり物流 | 0.48 |
| 誤検知 | 正しい値 | 領収書 | 誤りあり A | issuer_registration_no |
T9011001045678 | T9011001045678 | 0.41 |
| 誤検知 | 正しい値 | 領収書 | 正解データ | item1_name |
大会議室A利用料 | 大会議室A利用料 | 0.11 |
| 誤検知 | 正しい値 | 領収書 | 正解データ | item1_qty |
3日 | 3日 | 0.04 |
| 誤検知 | 正しい値 | 領収書 | 正解データ | item2_qty |
3日 | 3日 | 0.27 |
| 誤検知 | 正しい値 | 領収書 | 正解データ | recipient |
あおば企画株式会社 | あおば企画株式会社 | 0.45 |
| 誤検知 | 正しい値 | 領収書 | 正解データ | proviso |
会議室利用料(10月分)として | 会議室利用料(10月分)として | 0.34 |
| 誤検知 | 正しい値 | 領収書 | 正解データ | issuer_building |
桜丘第一ビル5階 | 桜丘第一ビル5階 | 0.41 |
Decisions API の誤検知16件のうち9件は、正解データの版で起きていました。
特に、Haiku が全角と半角を読み違えた領収書の数量では、正しい 3日 に 0.04、Haiku が読み間違えた 3日 に 0.98 を付けており、Clef と同じく全角と半角を逆に判断しています。
注入した誤り36件の一致の確率(クリックすると展開します)
確率は「抽出した値が画像どおり正しい確率」なので、低いほど誤りを強く疑っていることになります。
0.5 以上(見逃し)を太字にしています。
| 書類 | 抽出結果 | 項目 | 正しい値 | 注入した値 | パターン | Decisions API | clef | clef-flash |
|---|---|---|---|---|---|---|---|---|
| 請求書 | A | invoice_no |
INV-202609-0417 | INV-202609-0411 | 桁 | 0.00 | 0.12 | 0.17 |
| 請求書 | A | item3_amount |
51,750 | 51,790 | 桁 | 0.00 | 0.10 | 0.68 |
| 請求書 | A | item1_name |
新潟県産コシヒカリ5kg | 新潟県産コシヒ力リ5kg | 似た文字 | 0.01 | 0.06 | 0.21 |
| 請求書 | A | bank_branch |
横浜西口支店 | 横浜西ロ支店 | 似た文字 | 0.05 | 0.12 | 0.46 |
| 請求書 | A | bill_to_name |
株式会社みなと精機 | 株式会社みなと製作所 | 置き換え | 0.02 | 0.20 | 0.19 |
| 請求書 | A | account_type |
普通 | 当座 | 置き換え | 0.02 | 0.31 | 0.15 |
| 請求書 | B | tax_8 |
10,073 | 10,078 | 桁 | 0.00 | 0.30 | 0.62 |
| 請求書 | B | account_number |
4072519 | 4072579 | 桁 | 0.17 | 0.75 | 0.03 |
| 請求書 | B | item2_name |
有機緑茶ティーバッグ50包 | 有機緑茶ティ一バッグ50包 | 似た文字 | 0.01 | 0.26 | 0.17 |
| 請求書 | B | item3_name |
業務用キッチンペーパー | 業務用キッチソペーパー | 似た文字 | 0.00 | 0.10 | 0.15 |
| 請求書 | B | subject |
9月分食材・消耗品代 | 9月分飲料・消耗品代 | 置き換え | 0.00 | 0.11 | 0.14 |
| 請求書 | B | item5_tax_rate |
10% | 8% | 置き換え | 0.00 | 0.06 | 0.10 |
| 見積書 | A | item1_unit_price |
128,000 | 126,000 | 桁 | 0.00 | 0.03 | 0.06 |
| 見積書 | A | quote_no |
MQ-2026-0918 | MQ-2026-0916 | 桁 | 0.00 | 0.05 | 0.02 |
| 見積書 | A | item1_name |
ノートパソコン14型 | ノートパンコン14型 | 似た文字 | 0.00 | 0.10 | 0.14 |
| 見積書 | A | item3_name |
USB-Cドッキングステーション | USB-Cドッキングステーツョン | 似た文字 | 0.00 | 0.17 | 0.07 |
| 見積書 | A | delivery_date |
受注後約3週間 | 受注後約2か月 | 置き換え | 0.00 | 0.03 | 0.02 |
| 見積書 | A | customer_name |
株式会社ひかり物流 | 株式会社ひかり運輸 | 置き換え | 0.08 | 0.12 | 0.30 |
| 見積書 | B | subtotal |
1,786,800 | 1,788,800 | 桁 | 0.00 | 0.56 | 0.66 |
| 見積書 | B | item7_qty |
20 | 25 | 桁 | 0.00 | 0.03 | 0.08 |
| 見積書 | B | item4_name |
ワイヤレスキーボード | ワイヤレスキ一ボード | 似た文字 | 0.00 | 0.18 | 0.25 |
| 見積書 | B | item2_code |
MN-2407 | MN-2407 | 全角半角 | 0.00 | 0.05 | 0.41 |
| 見積書 | B | subject |
本社オフィスPC入替一式 | 支社オフィスPC入替一式 | 置き換え | 0.00 | 0.06 | 0.23 |
| 見積書 | B | item8_unit |
式 | 台 | 置き換え | 0.00 | 0.15 | 0.14 |
| 領収書 | A | amount |
¥165,000- | ¥185,000- | 桁 | 0.00 | 0.02 | 0.02 |
| 領収書 | A | issuer_tel |
03-5468-1234 | 03-5468-1284 | 桁 | 0.00 | 0.08 | 0.08 |
| 領収書 | A | item2_name |
プロジェクター貸出 | プロジェクタ一貸出 | 似た文字 | 0.01 | 0.29 | 0.09 |
| 領収書 | A | issue_date |
2026年10月2日 | 2026年10月2日 | 全角半角 | 0.97 | 0.71 | 0.96 |
| 領収書 | A | payment_method |
銀行振込 | 現金 | 置き換え | 0.00 | 0.02 | 0.01 |
| 領収書 | A | issuer_person |
佐々木美咲 | 佐藤美咲 | 置き換え | 0.01 | 0.43 | 0.83 |
| 領収書 | B | receipt_no |
004127 | 004121 | 桁 | 0.00 | 0.03 | 0.07 |
| 領収書 | B | item1_amount |
90,000 | 60,000 | 桁 | 0.00 | 0.02 | 0.05 |
| 領収書 | B | issuer_name |
株式会社みどり会議室サービス | 株式会社みどり会議室サーピス | 似た文字 | 0.00 | 0.28 | 0.54 |
| 領収書 | B | item4_qty |
20食 | 20食 | 全角半角 | 0.56 | 0.54 | 0.87 |
| 領収書 | B | item3_name |
音響設備一式 | 照明設備一式 | 置き換え | 0.01 | 0.05 | 0.09 |
| 領収書 | B | item1_name |
大会議室A利用料 | 中会議室A利用料 | 置き換え | 0.00 | 0.05 | 0.06 |
Haiku の読み間違い19件と一致の確率(クリックすると展開します)
0.5 以上(見逃し)を太字にしています。
| 書類 | 項目 | Haiku の値 | 正しい値 | Decisions API | clef | clef-flash |
|---|---|---|---|---|---|---|
| 請求書 | issuer_name |
株式会社さくら精機 | 株式会社さくらフーズ | 0.00 | 0.30 | 0.06 |
| 請求書 | issuer_registration_no |
T4010-0301-2345 | T4010403012345 | 0.09 | 0.73 | 0.76 |
| 請求書 | issuer_address |
神奈川県横浜市西区高島2丁目8番号号 | 神奈川県横浜市西区高島2丁目8番5号 | 0.00 | 0.05 | 0.07 |
| 請求書 | issuer_tel |
TEL 045-312-7788 | 045-312-7788 | 0.94 | 0.90 | 0.93 |
| 請求書 | reduced_rate_note |
※印は軽減税率(8%)対象品目です | ※印は軽減税率(8%)対象品目です | 0.66 | 0.78 | 0.91 |
| 請求書 | account_holder |
サクラフーズ | カ)サクラフーズ | 0.26 | 0.69 | 0.69 |
| 見積書 | amount_kanji |
金壱百九拾六万五千四百八十円 | 金壱百九拾六万伍千四百八拾円也 | 0.53 | 0.19 | 0.31 |
| 見積書 | issuer_name |
株式会社テクアーク | 株式会社テクノアーク | 0.88 | 0.76 | 0.83 |
| 見積書 | discount_name |
出荷値引き | 出精値引き | 0.63 | 0.87 | 0.64 |
| 見積書 | remarks |
本見積の有効期限内にご注文いただいた場合に限り、上記価格を適用いたします。納期は受注確定後の目安であり、部材の調達状況により前後する場合がございます。夜間・休日の作業をご希望の場合は別途お見積りとなります。 | 本見積の有効期限内にご発注いただいた場合に限り、上記価格を適用いたします。納期は受注確定後の目安であり、部材の調達状況により前後する場合がございます。夜間・休日の作業をご希望の場合は別途お見積りとなります。 | 0.67 | 0.63 | 0.91 |
| 領収書 | item1_qty |
3日 | 3日 | 0.98 | 0.89 | 0.88 |
| 領収書 | item2_qty |
3日 | 3日 | 1.00 | 0.89 | 0.88 |
| 領収書 | item3_qty |
1式 | 1式 | 0.98 | 0.87 | 0.84 |
| 領収書 | item4_name |
ケータリング食食 | ケータリング昼食 | 0.00 | 0.10 | 0.19 |
| 領収書 | recipient |
あおは企画株式会社 | あおば企画株式会社 | 0.01 | 0.91 | 0.64 |
| 領収書 | stamp_duty |
200円 | 200円 | 0.08 | 0.61 | 0.89 |
| 領収書 | proviso |
会議室利用料(10月分)として上記正に領収いたしました。 | 会議室利用料(10月分)として | 0.34 | 0.12 | 0.77 |
| 領収書 | issuer_address |
東京都渋谷区桜丘町1丁目2番3号 | 東京都渋谷区桜丘町1丁目2番3号 | 0.26 | 0.44 | 0.73 |
| 領収書 | issuer_building |
桜丘サービル5階 | 桜丘第一ビル5階 | 0.00 | 0.32 | 0.28 |
2.2 確率の分かれ方
注入した誤り(36件)、Haiku の読み間違い(19件)、正しい値(503件)に付いた確率のばらつきは次のとおりです。
下位5%と上位5%は、確率を低い順に並べたときに、下から5%と95%の位置にある値です。
| 条件 | 対象 | 最小 | 下位5% | 中央値 | 上位5% | 最大 |
|---|---|---|---|---|---|---|
| Decisions API | 注入した誤り | 0.0 | 0.0 | 0.0 | 0.268 | 0.97 |
| Decisions API | Haiku の誤り | 0.0 | 0.0 | 0.34 | 0.982 | 1.0 |
| Decisions API | 正しい値 | 0.04 | 0.661 | 0.99 | 1.0 | 1.0 |
| clef | 注入した誤り | 0.022 | 0.025 | 0.107 | 0.594 | 0.748 |
| clef | Haiku の誤り | 0.052 | 0.097 | 0.691 | 0.898 | 0.907 |
| clef | 正しい値 | 0.283 | 0.672 | 0.874 | 0.957 | 0.979 |
| clef-flash | 注入した誤り | 0.013 | 0.016 | 0.145 | 0.838 | 0.964 |
| clef-flash | Haiku の誤り | 0.063 | 0.068 | 0.764 | 0.916 | 0.928 |
| clef-flash | 正しい値 | 0.302 | 0.541 | 0.857 | 0.959 | 0.977 |
1項目を1点として、モデルごとに並べると次のようになります(点を上下に散らしているのは、重なりを避けるためです)。
なお、次の3つのグラフは、検証結果のデータをもとに Claude に作成してもらったものです。

Decisions API:注入した誤りは 0.0 付近に固まるが、Haiku の読み間違いは 0.0 と 1.0 の両端に分かれる

clef:注入した誤りは 0.0〜0.3 台に散らばり、Haiku の読み間違いの多くは 0.5 を上回る

clef-flash:clef に近い分かれ方だが、正しい値の一部と注入した誤りの一部が 0.5 をまたいで重なる
Decisions API は、注入した誤りの中央値が 0.0、正しい値の中央値が 0.99 と、英語のときと同じく確率が端に寄っていました。
Haiku の読み間違いも中央値は 0.34 と Clef(0.691)より低く出ていますが、見逃した項目には 0.9 以上を付けたものもあります。
しきい値を変えたときの結果は次のとおりです。
| しきい値 | Decisions API:注入 | Decisions API:Haiku | Decisions API:誤検知 | clef:注入 | clef:Haiku | clef:誤検知 | clef-flash:注入 | clef-flash:Haiku | clef-flash:誤検知 |
|---|---|---|---|---|---|---|---|---|---|
| 0.1 | 33/36 | 7/19 | 1/503 | 16/36 | 1/19 | 0/503 | 14/36 | 2/19 | 0/503 |
| 0.3 | 34/36 | 9/19 | 8/503 | 30/36 | 5/19 | 1/503 | 27/36 | 4/19 | 0/503 |
| 0.5 | 34/36 | 10/19 | 16/503 | 32/36 | 7/19 | 7/503 | 29/36 | 5/19 | 20/503 |
| 0.7 | 35/36 | 14/19 | 29/503 | 34/36 | 10/19 | 30/503 | 33/36 | 8/19 | 105/503 |
| 0.8 | 35/36 | 14/19 | 41/503 | 36/36 | 13/19 | 85/503 | 33/36 | 11/19 | 190/503 |
Decisions API はしきい値 0.1 でも注入した誤りを33件拾え、誤検知は1件でした。
2.3 時間と費用
リクエストは書類1枚につき1回で、画像1枚とその書類の全項目に関する質問(30〜63問)をまとめて送っています。
3書類 × 4通りの抽出結果で、モデルごとに12回呼び出しました。
時間は日本国内から REST API を呼び出した際の実測値で、費用は1ドル150円で換算しています。
| 条件 | 1回あたりの時間(中央値) | 12回の合計時間 | 12回の入力トークン | 12回の費用合計 |
|---|---|---|---|---|
| Decisions API | 0.925秒(925ms) | 11.92秒 | 157,876 | $0.0158(約2.37円) |
| clef | 1.913秒(1,913ms) | 21.60秒 | 86,426 | $0.0207(約3.11円) |
| clef-flash | 1.010秒(1,010ms) | 11.30秒 | 86,426 | $0.0078(約1.17円) |
処理時間は Decisions API が clef の約半分で、費用も clef の約4分の3で済みました。
入力トークンは Clef の約1.8倍ですが、画像の条件(Decisions API は減色していない画像)が違うため、単純には比較できません。
3. まとめ
日本語の書類でも、Decisions API は注入した誤りを36件中34件、Haiku の読み間違いを19件中10件検出し、どちらも Clef の2モデルを上回りました。
OCR 結果のチェックでは誤りを見逃さないことが何より大事なので、日本語の書類にも比較的強いと感じました。
また、Clef のように画像を減色する必要がなく、元の画質のまま渡せる点も、細かい文字を読み取るうえでは有利だと考えられます。
一方で、誤検知は16件と clef(7件)の2倍以上あり、誤検知の少なさでは clef に及びませんでした。
全角と半角の違いも Clef と同じく見逃しやすく、Haiku が実際に起こした読み間違いの約半分は 0.5 以上の確率が付いて素通りしています。
全角と半角の区別は英語圏にはない概念なので、米国企業が開発したモデルは、Decisions API や Clef に限らずこの違いを苦手としやすいのかもしれません。










