EvernoteでOCR処理したテキストデータを抽出する3分LifeHacking

Evernoteは、文字列を含む画像をアップロードするとサーバ側でOCR処理をするので、テキストでの検索が可能だ。このテキストデータを抽出する方法を紹介しよう。

» 2012年02月06日 12時20分 公開
[kizukiBusiness Media 誠]

 「Evernote」は、文字列を含む画像をアップロードするとサーバ側でOCR処理をする。それにより、テキストでの検索が可能となっている。任意の語句で検索をすると、画像上の文字列を黄色くハイライト表示するので、文字列をテキストデータとして認識しているのが分かるというわけだ。

 逆に言うと、画像からテキストデータを取り出したければ、わざわざOCRソフトを使わなくともEvernoteにアップロードしてOCR処理すればよい。だが、残念ながらOCR処理したテキストデータを画面上で範囲選択してコピーすることはできない。こうした場合、OCRしたノートをエクスポートした後ちょっと加工することで、テキストデータを取り出せる。以下、その手順を紹介しよう。

Evernote上で「WORD」という単語でテキスト検索をしたところ。JPG画像上の「Word」という文字列をハイライト表示していることから、文字列をテキストデータとして認識していることが分かる

 まず、Evernoteのクライアントソフト上で対象のノートを選択し、メニューから「ファイル」−「エクスポート」を選択。「ENEXフォーマットファイル(.enex)でエクスポート」を選択して実行すると、ローカルに拡張子が.enexというファイルを保存する。これをテキストエディタなどで開くと、画像やタグなどを含むデータをテキストで表示。データの前半は画像のバイナリデータで、後半にOCR処理したテキストデータを含んでいる。これを取り出してメモ帳などに貼れば、再利用も容易になるというわけだ。


Evernoteにアップロード済の画像を選択し、メニューからファイル→エクスポートを選択。「ENEXフォーマットファイル(.enex)でエクスポート」を選択して実行すると、ローカルに保存した「.enex」という拡張子のファイルを生成する。それをテキストエディタで開くと、画像のバイナリデータの末尾に、OCRで認識したテキストデータがある。ただしこの時点では余計なXMLタグがたくさん付いている

 難点が2つある。1つはこのテキストデータにXMLのタグを含んでいること。部分的に使用するだけなら必要な文字列だけを手動でピックアップすればよいが、長文ともなると煩わしい。この場合、正規表現で<>で囲んだタグのみを除去してやるか、GUGEN ARKがオンラインで提供している「HTMLタグ除去ツール」などを使って取り除いてやるとよい。

 もう1つは、そっくりな文章が何度も繰り返し出てくること。よく見れば分かるのだが、これらはまったく同じ文章というわけではなく、「原縞が」「原稲が」「原絹が」「原積が」と、外見がよく似た文字がすこしずつ違った状態で並んでいる。これは恐らくEvernote内の検索でヒットしやすくするために、OCRで判断が付きにくい文字の候補語全てを埋め込んでいるものと思われる。

 従ってこれらのテキストデータを利用するためには、不正解の文字列を除去する作業が必要になる。長文を処理するのはややつらいが、あからさまに間違った文字を1つずつ直していくのに比べ、高い確率で「正解」が含まれているぶん手間が省けるとも言える。このあたりは利用目的にもよるだろう。


オンラインで提供されているHTMLタグ除去ツールを使い、不要なタグを取り除く。画像右は不要なXMLタグを除去したテキストデータ。同じに見えて微妙に異なる文字列が連続しているが、ここから短文を抽出して再利用するのであればまあまあ使える。ちなみに縦書きの原稿からもテキスト抽出は可能だが、語順が前後していたりと、横書きの原稿に比べると精度は低い

 なお、必ずしもEvernoteにこだわらないのであれば、Googleドキュメントもお薦めだ。Googleドキュメントでは、アップロードした画像からテキストデータを抽出する機能がある。こちらはXMLタグもなく、文章の重複もないので、すぐにテキストとして再利用できる。とはいえ、OCR認識の傾向が違うことから、一概にGoogleドキュメントの方が優れているとはいえない。両方を試してみて、うまく傾向の違いを見極めたうえで使い分けるとよいだろう。


GoogleドキュメントでOCR処理して抽出したテキストデータ。原稿にもよるが、内容はかなり正確で、テキストの重複もない。ちなみに縦書きの原稿では漢字まわりの変換がかなり怪しくなる。フリーソフトのレベルでは、実用に耐えうる品質のOCRはほぼ皆無といっていい。画像右は海外製の某OCRソフトでの抽出結果。日本語読み取りも可能で、国内でこのエンジンを使用したソフトも市販しているほどだが、実際に使ってみると漢字の読み取りがおぼつかないレベル

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ