EvernoteのOCRについて

EvernoteOCRについて

画像ファイル

Evernoteのノートに含まれるリソースで、MIME TypeがJPG,GIF,PNGであるものが対象。それらが見つかると、OCR用のQueueに送られる。

ENEXでの表現

OCR結果はrecoIndexタグで記載される。 子要素のitemタグで認識結果を表記。tタグで認識結果を重み(=w要素)付きで表現。実際には、このtタグを検索していることになる。

<recoIndex docType="unknown" objType="image" objID="a25e6a5032ad1591b1f92171ef344be4" engineVersion="5.5.22.7" recoType="service" lang="en" objWidth="331" objHeight="528">
    <item x="99" y="215" w="111" h="35">
        <t w="44">a. ONG</t>
        <t w="37">a. long</t>
        <t w="36">a. ONo</t>
    </item>
</recoIndex>

PDF

PDFがOCRにかけられると、認識結果のテキストが付与された2番目のPDFが作られる。これは、検索用であって、ユーザには見えない(加えて、このファイルはユーザの月度Upload容量には含まれない)。

PDFファイルがOCRにかけられる条件は次の2つ。

  1. Bitmapイメージが含まれていること
  2. 選択可能なテキストが含まれていないこと

基本的に、スキャナーでスキャンされ、他のシステムでOCRがかかっていないものが対象と思って間違いない。

<created>20131013T100053Z<created>
<updated>20131013T100147Z</updated>
<note-attributes>
    <author>Yasumichi Mori</author>
    <reminder-order>0</reminder-order>
</note-attributes>
<resource>
    <data encoding="base64">
        <!-- もとのPDFファイルのBASE64表現-->
        JVBERi0xLjMKJcTl8uXrp/Og0MTGCjQgMCB...
    </data>
    <mime>application/pdf</mime>
    <resource-attributes>
        <file-name>20131012090201.pdf</file-name>
    </resource-attributes>
    <alternate-data encoding="base64">
        <!-- OCR後PDFのBASE64表現 -->
        JVBERi0xLjMKJbe...
    </alternate-data>
</resource>
</note>

その他

  • Typewritten Text(フォントを使ったようなもの)と、Handwritten Text(手書き)の両者に対応
  • 0° 90° 270° に合致しないテキストは無視される(斜め/裏返しも同様)。ただし、日本語の縦書には対応している模様。
  • 今のところ、EvernoteOCRは、28のTypewritten言語と、11のHandwritten言語とに対応している。

参考URL

How Evernote’s Image Recognition Works | Evernote Tech Blog

Base64のデコード - オンラインBase64のデコーダ