画像中の文字を認識してテキストデータに変換する技術
OCR(Optical Character Recognition、光学文字認識)とは、画像の中に写っている文字を読み取り、コンピュータで扱える「テキストデータ」に変換する技術です。
ここで大切なのが「画像の文字」と「テキストデータ」の違いです。スキャナや写真で取り込んだ文字は、人間には文字に見えても、コンピュータにとってはただの点の集まり(絵)でしかなく、コピーも検索もできません。OCRはこの「絵としての文字」を「編集・検索できる文字データ」に変える橋渡しをします。
身近な例で言うと、紙の名刺をスマホで撮るだけで連絡先が自動入力されるアプリや、領収書を撮影して経費精算するサービスがOCRの応用です。手で打ち直す手間を省き、紙の情報をそのままデータとして活用できるようになります。OCRは前のページで紹介したスキャナと組み合わせて使われることが多い技術です。
OCRは、上の図解①のようにいくつかの段階を順番に処理して、画像から文字を取り出します。
・① 画像の取り込み:スキャナや写真で文字の写った画像を用意します
・② 前処理:傾きを直す、白黒(2値化)にする、ノイズ(汚れ・かすれ)を取り除くなど、認識しやすい状態に整えます
・③ 文字の切り出し:どこからどこまでが行か、1文字ずつの区切りはどこかを判断して、文字を1つずつ分けます
・④ パターン認識:切り出した1文字の形を調べ、「これは A だ」「これは 1 だ」と判定します
・⑤ テキスト出力:判定した文字をつなげて、文字データとして出力します
この中でも要となるのが④のパターン認識です。切り出した文字の形(線の向き・曲がり方・閉じた輪の有無など)を手がかりに、どの文字に最も近いかを判断します。前後の文字とのつながり(文脈)も使って「ここは数字より英字らしい」などと精度を高める工夫もされています。
身近な例で言うと、子どもが文字を覚える過程に似ています。まずノイズのない状態でじっくり見て(前処理)、1文字ずつ区切って眺め(切り出し)、知っている文字の形と見比べて「これは『あ』だ」と判断する(パターン認識)、という流れと同じです。
AI-OCRとは、文字の判定にAI(人工知能)の機械学習を取り入れた新しいOCRのことです。従来OCRとの違いは、文字の形を「どうやって見分けるか」にあります。
・従来OCR:あらかじめ登録された標準的な字形(パターン)と照合して文字を判定します。きれいに印刷された活字には強い一方、手書きや崩れた文字、複雑なレイアウトには弱いという弱点がありました。
・AI-OCR:大量の文字データをAIが学習し、未知の文字でも「どの文字に近いか」を推論します。手書き文字や崩れた文字、さまざまな帳票のレイアウトにも柔軟に対応でき、認識精度が高いのが特徴です。
| 項目 | 従来OCR | AI-OCR |
|---|---|---|
| 判定の方法 | 登録字形とのパターン照合 | 学習したAIによる推論 |
| 手書き文字 | 苦手 | 対応しやすい |
| レイアウト崩れ | 弱い | 柔軟に対応 |
| 精度向上 | 辞書の更新が必要 | データ学習で向上 |
例えるなら、従来OCRは「お手本帳とそっくり見比べる」方式で、お手本にない崩れた字は苦手。AI-OCRは「たくさんの字を見て育ったベテランの目」で、少し崩れた字でも経験から「たぶんこの字だろう」と推測できる、というイメージです。近年は手書き帳票の入力業務などでAI-OCRの活用が広がっています。