LoginSignup
7

More than 5 years have passed since last update.

Tesseract-ocr における漢字の対応(収録)状況

Posted at

オープンソースのOCRエンジン、tesseract-ocrの日本語用データ(tessdata/langdata)について。

残念ながら、日本語の漢字すべてに対応していないのは既知の事実(参考サイト)。リンク先の情報は2014年のバージョン3.02用のデータ。

要するに認識できないであろう漢字についての調査結果。

記事にする意味があるかについては深く考えないものとする。

調査対象について

調査対象はバージョン3.04用のデータについて調査。JISX0213の漢字リストはこちらより入手したものを使用。

jpn.trainddataをcombine_tessdataコマンドでjpn.traineddata展開する。

$ combine_tessdata -u jpn.traineddata tmp/jpn.
Extracting tessdata components from jpn.traineddata
Wrote tmp/jpn.config
Wrote tmp/jpn.unicharset
Wrote tmp/jpn.unicharambigs
Wrote tmp/jpn.inttemp
Wrote tmp/jpn.pffmtable
Wrote tmp/jpn.normproto
Wrote tmp/jpn.punc-dawg
Wrote tmp/jpn.word-dawg
Wrote tmp/jpn.number-dawg
Wrote tmp/jpn.freq-dawg
Wrote tmp/jpn.shapetable
Wrote tmp/jpn.params-model

お目当のファイルはjpn.unicharset。エディタで開くと先頭に3714という数字があるのでこれがおそらく学習済みの文字の総数。このファイルの左端の列をgrepするか、もしくはlangdataリポジトリの、jpn.training_textファイルをgrepすれば学習済みの漢字かどうかは確認できる。

常用漢字の対応状況

いわゆる常用漢字1945字のうち、下記の6字が含まれていない。

虞 劾 勺 錘 朕 匁

  • 虞美人草の「虞」
  • 弾劾の「劾」
  • 「勺」(しゃく):尺貫法の容積の単位
  • 「錘」(おもり)
  • 「朕」(ちん):皇帝の自称
  • 「匁」:尺貫法による重さの単位

あまり使わない字のような気もするが、6字ともJIS第一水準。

JIS第一水準

JIS第一水準漢字で含まれていないものは以下の123字。

穐 袷 吋 嬰 盈 穎 掩 鴛 恢 劾 浬 鈎 劃 廓 鰍 竃 侃 澗 翰 翫 誼 黍 笈 禦 兇 彊 粁 駈 虞 轡 粂 祁 戟 諺 乎 鈷 肱 砿 艮 孜 鴫 悉 蔀 屡 蕊 勺 輯 酋 藷 恕 鋤 妾 樵 鉦 擾 錘 趨 椙 頗 栴 賎 糎 岨 鎗 詑 柁 鐸 歎 樗 瀦 苧 凋 牒 朕 鍔 菟 鍍 梼 撞 鴇 涜 橡 椴 噸 乍 迩 廼 狽 矧 駁 硲 櫨 溌 釆 匪 簸 弼 畢 彪 斌 蕗 弗 箆 穆 釦 哩 柾 粍 鵡 棉 緬 摸 匁 鑓 愈 猷 熔 慾 葎 掠 賂 榔 亙

3.02の頃よりは未収録漢字が減っている。

OCR対象文書次第では必要そうなものがいくつかある。必要に応じてjpn.training_textに追加してtesstrain.shで学習させるべし。

JIS第二水準

546字だけ収録で残りは含まれていない。数が多いのでgistへ。

tesseract-ocr 3.04 日本語未収録漢字のうち、JIS第二水準漢字の一覧

JIS第三水準

収録されているのは1文字だけで残りは未収録。

多分、中国の政治家、鄧 小平(とう しょうへい)さんの「鄧」だろう。著名人の苗字なんでGoogleのコーパスにおける出現率が高くなったのであろう。

JIS第四水準

収録漢字なし。下手に学習させると認識率低下しそうではある。

まとめ

分類 規格上の漢字の総数 対応している漢字 未対応漢字
常用漢字 1945  1939 6
JIS第一水準 2965 2842 123
JIS第二水準 3390 546 2844
JIS第三水準 1259 1 1258
JIS第四水準 2436 0 2436

ただし、ひらがな、カタカナ、数字、アルファベット、記号類などのいわゆる非漢字については考慮してない。

機会があれば非漢字についても調査しておきたい。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7