OCR(Optical Character Recognition/Reader)は、日本語では「光学式文字読取装置」といいます。英文表記の通り、印刷された活字や手書き文字を光学的に(Optical)スキャニングし、書かれた文字(Character)を識別して(Recognition/Reader)テキスト化します。会社で名刺から顧客リストをデータベース化するようなときに、OCRを使うことが多いのではないでしょうか。
今までのOCRにAI(人工知能)が搭載されることによって、「目を持ったAI」はRPA(Robotic Process Automation)など業務で活用されるようになりました。
AI OCRとは何か、今までのOCRとの違いや特徴、どのような人工知能のアルゴリズムが利用されているかを解説します。
AI OCRが登場するまでのOCRの歴史
現在、会社に設置されているプリンター、コピー、FAXなどの複合機の多くはOCRの機能を備えています。あるいはスマートフォンのアプリMicrosoft Office Lensは、カメラで撮影した画像の歪みを補正して、撮影した書籍や資料の文字をテキストに変換するOCRが便利です。
実はOCRには長い歴史があります。AI OCRに至るまで歴史を遡ってみましょう。
OCRの登場は、日本では1960年代から
一般的にOCRにはソフトウェアの印象がありますが、高速かつ高精度でスキャニングするためのハードウェアと、文字を正確に認識するソフトウェアで構成されています。
世界的な歴史を遡るとOCRは既に1900年前後に開発が始まり、1928年にはオーストラリアで数字を読み取る装置の特許が出願されていました。
日本の国内における初めての製品化は1968年で、郵便番号を読み取るために作られた東芝製のOCRでした。郵便番号の赤枠内の文字を読み取る装置で、手書き文字の認識としては世界初といわれています。
一般用途では同じ1968年に、日立製のOCRが登場しています。当初は公的機関を中心に導入されていたOCRですが、その後に卓上型のOCRが開発され、手書き文字の認識、文書の読み取りなどの機能を拡充させていきました。
しかし、手書き文字の認識では、人間がチェックを必要としました。さらに会社の販売部門では注文書、申込書、申請書、営業部門では顧客データ、請求書、営業日報、マーケティング部門ではアンケート調査など、文書のフォーマットは多岐に渡ります。このような多様な文書の読み取りに対応することは困難です。
OCRの技術は着実に進歩して、読み取りの精度の向上と、対応できる文書の種類を拡充させていきました。そして革新的に機能を向上させるようになった契機が、OCRとAIの融合です。飛躍的に認識精度が向上し、処理の自動化を実現できるようになりました。
今までのOCRを拡張したAI OCRとRPA
ところで、AIによって世界が変わるシンギュラリティを提唱しているレイ・カーツワイルは、1974年にOCRと音声合成技術を開発する会社を創設しています。デジタルカメラなどに使うCCDイメージセンサを使ったOCRで、読み取った文字を音声合成することにより、視覚に障がいがある人々に役立つと考えたようです。その後、会社は売却されました。
一方、手書き文字の認識は、1990年頃からブームになったPDA(Personal Digital Assistant:携帯情報端末)によって、注目を浴びるようになりました。Palm OSは独自の手書き文字入力を採用していましたが、手書き文字をデジタルデータに変換するニーズは情報技術の進歩とともに常にありました。
とはいえ、手書き文字をテキストに変換する着想はあっても技術が追いつきませんでした。しかし、第3次人工知能ブームによってディープラーニングの技術が進歩し、業務の効率化に人工知能が活用されるようになります。そのトレンドのひとつがRPAです。OCRは業務プロセス効率化のための技術として、重要性が高まりました。
AI OCRの特徴と、今までのOCRとの違い
AI OCRには3つの特徴があります。それぞれ今までのOCRの課題を踏まえた上で特徴を整理します。
AIOCRの特徴1:学習を繰り返して精度をアップ
今までのOCRで手書き文字を認識させる場合、一般的には特定の文書フォーマットを作らなければなりませんでした。また、OCRが認識しやすいように「数字の4は上の部分をあけて記入する」などのルールを定めていました。誤認識でエラーになった文字は、人間の手で修正する必要がありました。
AI OCRは、人工知能のディープラーニングによって、機械学習で読み取り精度を高めていくことができます。スキャニングと認識を繰り返すことによって誤った認識から学習して、自動的に精度を高めていくことが可能です。
AIOCRの特徴2:自由なフォーマットで読み取り可能
文書などをスキャニングする場合、今までのOCRでは認識させる項目を定義し、読み取り位置を文書内に指定しなければなりませんでした。つまり決められたレイアウトのフォーマットが必要だったということです。したがって、発注書や申請書など体裁の違う帳票から手書き文字だけを認識して読み取ることは困難でした。
しかし、AI OCRではスキャニングした文書から手書き文字を画像認識して、その部分をデジタル処理することが可能です。フリーフォーマットの書類から手書き文字を認識可能になり、煩雑な確認作業を減らすことができます。
AIOCRの特徴3:RPAによって業務の連携と自動化を実現
従来のOCRはどちらかというとスタンドアロンの仕組みで、読み取ったデータは従業員の手作業によってデータベースに格納したり帳票で出力したり活用していました。しかし、業務プロセスを自動化するRPAの登場によって、OCRが認識したテキストを自動的にSFAのような営業管理システムや販売管理システムに受け渡して処理できるようになりました。
RPAのロボットはソフトウェア上のプログラムです。この仕組みにOCRが加わることで、申込書を顧客データベースに転記するような単純作業から解放されます。
AI OCRに使われているディープラーニングの技術
AI OCRでは、人工知能の機械学習のうちディープラーニングの技術が使われています。ディープラーニングは深層学習ともいわれ、画像認識の分野では顔認証や異常検知など、さまざまな分野に使われています。
ディープラーニングは、ニューラルネットワークという人間の脳をモデルにした学習方法です。手書き文字には、書き手によってさまざまな癖があります。膨大な手書き文字のデータからAIが特徴を見出すことによって、どのような形の「あ」であっても「あ」として認識し、テキストデータを出力できるようになります。
AI OCRに用いられているディープラーニングのアルゴリズム(手順と計算方法)から、3つを解説します。
CNN:手書き文字を画像として認識
スキャニングされた文字は画像データとして、ディープラーニングで学習していきます。文字を認識するためのアルゴリズムがCNN(Convolutional Neural Network)で、畳込みニューラルネットワークといわれます。
文字を認識するために、画像の位置情報から特徴量を抽出します。手書き文字の場合、書き手の癖によって「さ」の部分のハネやつながり方が微妙に異なりますが、学習データからディープラーニングを繰り返すことによって精度を向上させていきます。
CNNを応用すると、名刺全体の認識も可能です。どのような場所に異なるサイズの名刺が置かれていても、背景とは別のまとまったパターンとして名刺を認識します。
RNN:文字列のまとまりを認識
RNN(Recurrent Neural Network)は再帰型ニューラルネットワークと呼ばれ、一般的に時系列で継続したデータを扱いますが、OCRの場合は文字列を扱う場合に使います。RNNは連続したまとまりを認識するため、たとえば今までのOCRでは困難だった手書き文字と活字が混在している文書や、複雑な手書きの漢字を認識できるようになります。
CNNとRNNを組み合わせて使うことで、従来のOCRには不可能だった複雑な帳票から文字の認識を実現します。また、文字の歪みや傾きなどを補正することが可能です。
GAN:誤った文字を自動生成して精度を向上
GAN(Generative Adversarial Network)は敵対的生成ネットワークで、学習データから特徴量を抽出し、実在しないデータを生成します。GANの有名な活用事例では、モノクロの古い写真の着色があります。OCRの場合、実在しない手書き文字を生成して学習データを増やすことにより、文字認識の精度を高めます。
まとめ
人工知能というと、アンドロイドのような形で人間と対話する印象がありますが、現実レベルではAI OCR のように、業務を効率化するRPAの一部として組み込まれています。読み取り精度を上げ、煩雑な業務を代替する機能として、従来のOCRを拡張ならびに強化する意義があります。ペーパーレス、ハンコ社会からの脱却においてAI OCRは期待される技術です。