いろは堂AI ← 戻る

AI-OCRはなぜ手書きレシートまで読めるのか

2026年9月7日|いろは堂AI編集部
膝の上のノートパソコン前でレシートとカードを両手に持つ人物

画像出典: https://kaboompics.com/ / Pexels

この記事の要点
AI-OCRが手書き文字を読めるのは、1文字ずつパターン照合していた従来OCRと違い、CNNで文字の形の特徴を抽出したうえでRNNやTransformerが前後の文字の並びまで含めて「最も辻褄の合う読み」を推測しているためです。逆に言えば、前後の情報が足りない斜め撮り・影・かすれた文字では精度が落ちます。撮影は明るい場所で紙とカメラを平行に、スキャンなら300dpi以上が目安です。
😮‍💨
財布に溜まったレシート、アプリで撮るだけで金額が入るのはありがたい。でも手書きの領収書まで読めてるの、正直ちょっと不気味…

レシートを撮影すると日付と金額が勝手に埋まる。あの機能の中身は AI-OCR(OCR=画像の中の文字をテキストデータに変換する技術に、機械学習を組み合わせたもの)です。読み取り率99%超をうたうサービスもありますが、実際に使うと「きれいな活字は完璧なのに、手書きの但し書きだけ盛大に間違える」といったムラに気づくはずです。

このムラには理由があります。AI-OCRが文字を読む手順を知っておくと、どういう写真なら読め、どういう写真だと崩れるのかが事前にわかるようになります。上期末に何十枚も撮る前に、そこを押さえておきましょう。

従来のOCRは、なぜ手書きが苦手だったのか?

昔からあるOCRは、画像を1文字ずつに切り分けてから照合する方式でした。線の太さ、カーブ、角の位置といった形の特徴を取り出し、あらかじめ用意された文字パターンと比べて「これは『3』だ」と決めます。

この方式は印刷された活字にはよく効きます。フォントの形は決まっていて、文字と文字の間もきれいに空いているからです。ところが手書きになると前提が二つとも崩れます。人によって「3」の書き方が違ううえ、続け書きされるとどこからどこまでが1文字なのかという境界そのものが曖昧になる。切り分けに失敗した時点で、その先の照合は無意味になります。

🤔
じゃあAIになると、パターンの登録数が増えたってこと?

AI-OCRの進歩は、照合するパターンを増やしたことではありません。読み方の手順そのものが変わりました。1文字ずつ独立に判定するのをやめ、文字の並び全体をひとまとまりとして扱うようになったのが最大の変化です。

AI-OCRが手書き文字を読み取るしくみは?

AI-OCRの処理は、大きく2段階に分かれています。

  1. テキスト検出画像のどこに文字列があるかを先に見つける。レシートなら店名の行、日付の行、金額の行といった位置を切り出す工程で、微分型2値化(DB)アルゴリズム(文字と背景を白黒に分ける「境目の濃さ」自体を学習で調整し、かすれた文字も文字側として拾えるようにする手法)などが使われます。
  2. 文字認識切り出した領域の中身を実際に読む。手書きが読めるかどうかは、ほぼこの工程の作りで決まります。

①CNNが「形の特徴」をベクトルに変える

切り出された文字画像は、224×224といったサイズに揃えられてから CNN(畳み込みニューラルネットワーク。画像から視覚的な特徴を段階的に取り出すネットワーク。ResNetなどが代表) に入力されます。ここで線・曲線・角といった特徴が数値の並び(ベクトル)として抽出されます。

ポイントは、大量の手書きサンプルで学習しているため、「人によってこれだけ形がブレても同じ文字」という幅を、あらかじめ知った状態で特徴を取り出していることです。手書き文字の多様さを、パターン表への追加ではなく学習で吸収しているわけです。

②RNNやTransformerが「前後の並び」から辻褄を合わせる

ここが手書きを読める本当の理由です。手書き文字の代表的な構成に CRNN があります。CNNで特徴を抽出し、続く RNN(LSTMなど。並んだデータを前から順に、前後関係を保ちながら処理するネットワーク) が文字の並びを時系列として解析し、最後に CTC という仕組みで「何文字あるか決めずに」文字列として出力します。

1文字だけ取り出すと「1」にも「7」にも見える崩れた字が、前後に金額の桁と「円」があれば数字として読める。単独では判別しづらい文字を、周囲の並びから統計的に最も辻褄の合う読みへ寄せていく——この補完が働くから、癖字や続け書きが読めるのです。近年はここが Transformer(前から順に1つずつ処理するRNNと違い、並んだ文字すべてを一度に見渡して、どの文字がどの文字と関係が深いかを重み付けする構造。TrOCRなどが該当)に置き換わりつつあり、計算を並列にできるぶん推論が速く、複雑なレイアウトの書類にも強くなっています。CNNの特徴抽出とTransformerの文脈理解を組み合わせた構成が、各種OCRで成果を上げています。

手書きが読める理由は、結局この2点
  • 大量の手書きサンプルを学習し、文字の形のブレ幅そのものを知っている
  • 1文字単体でなく前後の文字列まで見て、最も辻褄の合う読みを推測する

精度が落ちるのはどんなときか?

読み方がわかると、崩れる条件も裏返しで見えてきます。AI-OCRは形の特徴が取り出せること前後の並びが揃っていることを前提にしているので、この前提を壊す写真で精度が落ちます。

崩れる条件何が起きているか
斜めから撮った画像文字が歪み、文字列の並びも直線でなくなるため、検出と並びの解析が同時に狂う
影が落ちた画像影の境界を文字の線と誤認し、形の特徴が正しく取れない
低解像度の画像線の太さやカーブといった、判別の材料そのものが失われる
薄い鉛筆書き・かすれ文字と背景の差が小さく、そもそも文字として検出されない
極端な癖字学習したブレ幅の外に出ると、前後からの補完も効きにくくなる

多くのAI-OCRエンジンは、傾き補正・影除去・輪郭強調といった前処理を内部に持っていて、ある程度までは自動で立て直します。ただし前処理は元の画像に残っている情報を整えるもので、失われた情報を生み出せるわけではありません。潰れた文字は、後からは戻りません。

読み取り精度を上げる、撮り方の実践ポイント

😤
つまり、撮り方でだいぶ変わるってことね

撮影の質で読み取り精度の6割が決まるという指摘もあるほどです。手間としては数秒の話なので、40枚撮るなら最初に習慣づけたほうが結局は速く終わります。狙うのは、四辺が長方形に写り、文字列が水平に等間隔で並んだ状態です。斜め上から撮ると紙は台形に歪み、行の間隔も文字の形も少しずつ引き伸ばされます。影の濃い部分では、文字と背景の差も小さくなります。

  1. 明るい場所で撮る手元の影が入らない位置に移動する。自分の体で照明を遮っていることが多いので、レシートを窓側や照明の下へ置き直す。
  2. 紙とカメラを平行にする斜め上から見下ろさず、真上から正対させる。台形に歪んだ写真が、精度低下のいちばん多い原因です。
  3. 皺と丸まりを伸ばす財布で折れたレシートは、平らな面に置いて押さえてから撮る。曲面は文字が歪むうえ影も生みます。
  4. スキャナーなら300dpi以上複合機で取り込む場合の目安。解像度を落とすと、細い線の情報から先に失われます。
  5. 手書きが多いならエンジンを選ぶ手書き高精度認識モードを持つサービスがあります。汎用エンジンのままでは限界があるとされるため、手書き伝票の比率が高い職場ではここが効きます。
99%でも、確認をやめてはいけません

文字認識率99%超をうたうサービスがありますが、これは各社の公称値で、手書きと活字の比率や画像の品質といった算出条件が公開されていないことが多い数字です。そして仮に99%が本当でも、100枚撮れば1枚は間違っている計算になります。金額や日付は、人の目で通し確認する工程を残してください。AIと人手を組み合わせ、OCR後の誤字チェックを外部委託できるサービスも存在します。

いちばん危ないのは、精度より「文字が消えること」

ここまで読み取り精度の話をしてきましたが、経費精算の実務でより深刻なのは別の問題です。レシートの多くに使われる感熱紙は、熱・光・時間の経過で印字そのものが薄れていきます。一般的な寿命は3〜5年とされています。

これはOCRの性能でどうにかなる話ではありません。読み取る文字が消えてしまえば、どんなエンジンでも読めません。しかも経費の証拠書類として認められなくなる可能性があり、税務調査で経費否認や追徴課税につながるリスクが指摘されています。夏に車内へ置きっぱなしにした封筒の中身が、期末に真っ白になっていた——という事態は起こりうるということです。

感熱紙レシートへの備え
  • 受け取ったその日〜数日以内に、消える前に撮影してデータ化しておく
  • 余白に日付・金額・店名を手書きでメモしておく
  • 出金伝票に控えて、原本とホチキス留めしておく
  • 電子帳簿保存法(帳簿や領収書を紙の代わりに電子データで保存する際の要件を定めた法律)に対応した形でスキャンデータを保存する

結局のところ、受け取った当日にOCRへ通してしまう運用が、いちばん理にかなっています。印字がまだ濃く、紙も皺になっていない状態は、AI-OCRにとって最も読みやすい条件でもあるからです。精度対策と保存対策が同じひとつの習慣で片づく、というのが実務上の要点です。

撮ってから、AIの答えをどう疑うか

AI-OCRは前後の並びから「最も辻褄の合う読み」を推測する仕組みだ、と説明しました。裏を返せば、辻褄が合ってしまう間違いは、見た目に自然な形で紛れ込みます。「7」を「1」と読んだ結果が金額としてありえない額ならすぐ気づきますが、桁がそれらしく収まっていると素通りしてしまう。

そこで確認の優先順位をつけます。合計金額、日付、それから但し書き。この3つだけは原本と突き合わせる。店名の一文字違いは後から直せますが、金額と日付のずれは仕訳ごと崩れます。全部を疑うのではなく、間違えたら痛い順に疑う。これがAIに任せる作業の基本の構えです。

よくある質問

AI-OCRと従来のOCRは何が違いますか?

従来のOCRは画像を1文字ずつに切り分け、線の太さやカーブといった形の特徴をあらかじめ用意されたパターンと比較して文字を特定していました。AI-OCRはディープラーニングを使い、1文字単体ではなく前後の文字の並びや文脈まで含めて読みを推測します。この違いにより、1文字の境界が曖昧な手書き文字でも読み取れるようになりました。

なぜAI-OCRは癖のある手書き文字まで読めるのですか?

理由は2つあります。1つは大量の手書きサンプルを学習し、同じ文字が人によってどれだけ形にばらつくかを知った状態で特徴を抽出していること。もう1つはCRNNやTransformerといった構成により、前後の文字列を見て統計的に最も辻褄の合う読みを選んでいることです。単独では「1」か「7」か判別できない字も、周囲が金額の桁なら数字として補完されます。

レシート撮影で読み取り精度を上げるコツはありますか?

明るい場所で、レシートとカメラを平行にして真上から撮ることが基本です。斜め撮りは文字が歪み、影は文字の線と誤認される原因になります。折れたレシートは平らな面に置いて伸ばしてから撮影してください。スキャナーを使う場合は300dpi以上の解像度が推奨されます。

感熱紙のレシートはいつまで保存できますか?

感熱紙の印字は熱・光・時間の経過で薄くなり、一般的な寿命は3〜5年とされています。印字が消えると経費の証拠書類として認められなくなる可能性があり、税務調査での経費否認や追徴課税のリスクにつながります。受け取った当日から数日以内に撮影してデータ化し、余白に日付・金額・店名を手書きでメモしておく運用が安全です。

※記事で使用した内容・数値は変更される場合があります。最新情報は公式サイトをご確認ください。