コンピュータクワガタ

かっぱのかっぱによるコンピュータ関連のサイトです

しつこいけど、Googleドキュメントが日本語OCRに対応したというので、Evernoteと比較してみたよ

以前のエントリーGoogleドキュメントのOCRとEvernoteのOCRをざっくりと比較しました。
そのエントリーで、「EvernoteのOCRデータはPC版でエクスポートしたXMLに入ってますよ。」というコメントをいただきましたので、エクスポートしてどのようにOCRされているか見てみました。

試す画像は前回も使用した以下の手書きの画像です。

Evernoteのエクスポートは、エクスポートしたいノートを選んで、右クリックのコンテキストメニューから「ノートのエクスポート」を選択し、「ENEXフォーマットファイル(.enex)でエクスポート」を選択します。そうすると選択していたノートがファイルとしてエクスポートできます。

エクスポートしたファイルはXML形式ですが、今回のノートは画像ファイルです。エクスポートしたファイルの大部分がBase64エンコードされた文字列になっています。そのBase64エンコードされた文字列の後ろに、OCRされたデータはあります。OCRされたデータは、以下のようなタグで始まります。

<recoIndex docType="handwritten" objType="image" objID="dd8e9c88fc45168fb359da555abe86ea" engineVersion="3.0.17.13" recoType="service" lang="ja" objWidth="480" objHeight="360">

docType="handwritten"というところがすごいですね。手書きと認識してそれようのOCRが動いたんではないかと推測できます。
そのタグの内容を詳しく見ていくと、<recoIndex>タグに囲まれた部分にOCRされたような文字が並んでいます。一つ抽出してみてみます。実際には改行が入っていませんが、見やすさのため改行を入れています。

<item x="96" y="43" w="202" h="74">
 <t w="54">あえて</t>
 <t w="50">あえで</t>
 <t w="50">あえ乙</t>
 <t w="48">あえ2</t>
 <t w="45">あ云で</t>
 <t w="45">あ云て</t>
 <t w="43">あ之で</t>
 <t w="43">あ之て</t>
 <t w="42">あ之乙</t>
 <t w="37">あ云2</t>
 <t w="36">あ之2</t>
 <t w="36">あ云乙</t>
 <t w="26">源で</t>
 <t w="26">源て</t>
 <t w="25">源2</t>
</item>

itemはOCRされた部分の座標と範囲です。(96,43)から横に202、縦に74ピクセルの範囲を対象としています。まず、画像のその範囲を確認してみます。

といい感じに、文字の部分が囲まれています。そのitem要素に囲まれる形でt要素が出てきます。t要素はitem要素の属性値で指定された範囲の画像をOCRでどのように解析したかを示しています。t要素の値はOCRで解析した結果、属性wはその信頼性というか確度の%となっています。つまり確度が高い順に読み取った候補をずらずらと並べています。複数の結果を持っているとは分かっていましたが、「あえて」の部分だけで15個も候補を持っています。

さて、本当にこのように解析されているか、いくつか検索して確認してみます。まず、「あ云乙」で検索してみます。

検索されました。もうひとつ、「源2」で検索してみます。さすが25%です、どうやったらそのようなOCRになるか想像しにくいです。

こちらも検索されますし、認識している範囲を表すマーカーもばっちりです。

このようにEvernoteのOCRは複数結果を保持し、その精度もかなり高いことが再確認できました。
通常はXMLファイルまで確認することはないですが、知的好奇心はかなり満たされました。