OCRとは何か。AIは画像やPDFの文字をどう読んでいるのか

OCRとは何か。AIは画像やPDFの文字をどう読んでいるのか

OCRとは、画像やPDFの中に「見えている文字」を、AIが「扱える文字」に変える仕組みです。

この記事でわかること

  • OCRが「意味理解」ではなく「文字起こし」である理由
  • PDFやスキャン資料でOCRが必要になる場面
  • OCRが「AIの入力の口」を広げる意味

生成AIを使っていると、ときどきこう思います。

「この資料、見た目では読めるけど、AIにはちゃんと読めてるんだろうか」「PDFを渡したら要約してくれたけど、文字を読んでるのか、画像を見てるのか、どっちなんだろう」「スクショの中の文字も扱えるのはなぜ?」

この違和感は自然です。人間にとっては、画面に文字が見えていればそれは「読める情報」です。でもコンピュータにとってはそうとは限りません。

たとえば同じ「PDF」でも、文字データとして埋め込まれているPDFと、ただの画像として貼られているPDFでは扱いが違います。テキストファイル、画像の中の文字、スキャンされた帳票も、見た目は似ていても機械側では全然違う。

この「見た目と中身の違い」を橋渡しするのがOCRです。最初にひとことで言うと、OCRは「見えている文字」を「扱える文字」に変える仕組みです。

OCRは「読む」より「文字起こし」に近い

OCRがまずやっているのは、画像の意味を理解することより、文字を文字列として取り出すことです。つまりOCRは「内容理解」の前にある文字起こしに近い。

たとえばスキャンされた契約書、レシート写真、会議資料のスクリーンショット、ホワイトボード写真。こういうものに対して、OCRはまず「そこに何という文字が書かれているか」を取り出そうとします。内容をどう解釈するかはその次の段階です。

この順番を分けて考えると分かりやすいです。OCR=文字を起こす。生成AI=起こした文字を理解・要約・説明する。この役割分担です。

画像の中に文字があるだけでは、AIがそのまま使えるとは限りません。紙を撮った写真、画像化されたPDF、プレゼン資料のスクリーンショットには文字が「見えて」います。でもそれが最初からコピペできるテキストとは限らない。だからOCRが必要になります。「なんでこのPDFは検索できるのに、こっちはできないの?」みたいな違いも、ここが分かると理解しやすくなります。

OCRだけでは「意味理解」までは終わらない

OCRは強いです。でもOCRがやっていることは基本的に「文字を起こすところまで」です。

たとえば請求書画像があるとします。OCRはそこから請求書番号、支払期限、合計金額、発行日といった文字を拾えるかもしれない。でもそのあとに必要なのは別です。どれが本当に支払期限なのか、どれが税抜金額でどれが税込なのか、このレイアウトのどこを優先して見るのか、どの値をシステムに入れるべきか。文字起こしだけでは終わりません。

つまり、OCR=文字を出す。その後のAI処理=意味を整理する、抽出する、要約する、判断前の材料にする。OCRは重要。でもそれだけで「理解」まで済むわけではありません。

OCRには苦手なものもあります。画質が荒い、傾いている、手書きで崩れている、背景と文字のコントラストが弱い、レイアウトが複雑すぎる。こういうものは精度が落ちやすい。また文字そのものは拾えても、読む順番が不自然になる、表の列と行の対応が崩れる、ということも起きます。OCRの難しさは「文字を正しく拾えるか」と「構造をそれっぽく保てるか」の両方にあるのです。

最近のマルチモーダルAIでは、OCRっぽいことと画像理解を一緒にやることも増えています。画像の中の文字も見る、レイアウトもある程度見る、そのまま要約や説明まで行う。OCRと画像理解の境界が少し曖昧になってきている面はあります。ただ整理としてはやはり分けた方が分かりやすいです。OCR=文字を取り出す入口。画像理解=見た目全体の意味を捉える。生成AI=その結果を説明や要約に変える。

OCRは「AIの入力の口」を広げる

OCRの価値を短く言うと、AIに渡せる情報の入口を広げることです。

もしOCRがなければ、AIが扱いやすいのは文章として入力されたもの、テキスト化された文書、構造化されたデータに限られやすい。でも現実の仕事では、紙、写真、スキャン、スライド画像、帳票画像、注釈が書き込まれた資料がたくさんあります。OCRがあるとそれらもまず文字として取り込めるようになる。

つまりOCRは、AIを「賢くする」というより、AIに入る前の入口を広げる仕組みです。前回のコードインタープリターが「処理の手」を広げる仕組みだとすれば、OCRは「入力の口」を広げる仕組みとも言えます。

OCRは、紙や画像の世界をAIの処理対象に変える

ここまでの話をシンプルにまとめます。


OCRと関連概念の違い

OCRテキスト抽出(テキストPDF)画像理解(マルチモーダル)
やること画像内の文字をテキスト化埋め込まれた文字データを取得画像全体の意味を捉える
対象スキャン・写真・画像PDFテキスト埋め込みPDF画像・図表・スクリーンショット
強み紙や画像の文字を扱えるようにする正確なテキストが即取得できる文字だけでなくレイアウトも見る
弱み手書き・低画質・複雑なレイアウト画像化されたPDFには無力細かい数字や固有名詞の精度

よくある疑問

PDFなら全部OCRが必要ですか?

いいえ。テキストが埋め込まれているPDFなら、OCRなしで文字を取り出せます。OCRが必要なのは、スキャンや写真のように「画像として貼られている」場合です。

OCRの精度はどうすれば上がりますか?

画質を良くする、傾きを正す、背景と文字のコントラストを上げることが基本です。また、OCR後の結果を人がサンプル確認することも重要です。

OCRとコードインタープリターは一緒に使えますか?

はい。OCRで帳票の文字を起こし、そのテキストをコードインタープリターで集計するという流れは自然です。OCRが「入力の口」、コードインタープリターが「処理の手」として補完し合います。


まとめ

この記事のポイントを3つにまとめます。

  • OCRは「見えている文字」を「扱える文字」に変える文字起こしの仕組みで、意味理解はその先の工程
  • スキャンPDF・写真・帳票など「紙や画像の世界」をAIの処理対象にする入口
  • コードインタープリターが「処理の手」、OCRが「入力の口」として補完し合う

次回は「Markdownとは何か」をやります。

ここまでで、AIがPythonで処理を動かせること、画像や紙の文字もテキスト化して扱えること。ここまで見てきました。では次に、AIに渡す情報の「形」はなぜ大事なのか。Markdownです。次はそこをやります。