OCRライブラリでは、以下のアルゴリズムを利用しています。
2009年〜2016年導入の新しいアルゴリズム

  1. 判別分析法
    グレイスケール画像を2値化する際に用いている。黒地と白地の級間分散を最大化、級内分散を最小化する ようなしきい値を高速計算する。
  2. 高速ラベリングアルゴリズム モノクロラスタ画像から図形を抽出、ラベル付けします。ラベル付けした図形を距離等のパラメータによっ てクラスタリングすることによって、段落・行・文字の全てのレベルにおける抽出にラベリング結果を用い ています。
  3. KL変換
    数百次元の特徴ベクトルを数次元の主成分に圧縮して、認識率をアップすると同時に認識速度を向上、認識 に必要なリソース(メモリや辞書サイズ)を節約する。
  4. LBGクラスタリング
    行の半角・全角文字ピッチを決定する際に、統計的に最適な解が得られるクラスタリングアルゴリズムによっ て、文字ピッチを決定する。段落内の行幅の決定にも用いている。
  5. 非線形正規化
    文字画像をストローク分布のバランスが一定となるように非線形正規化してから認識している。文字のスト ローク(文字を構成する線分)の位置の違いをある程度吸収することができる。
  6. 細線化
    文字画像を細線化後に特徴計算を行っている。文字のストロークの線幅の違いをある程度吸収することができる。
  7. viterbiアルゴリズム
    可変長ピッチのテキスト行を認識するときに、半角・全角文字、漢字の偏と旁「い」や「小」のような左 右に分かれた文字などから、正しい文字を切り出すときに、組み合わせ最適化アルゴリズムとして、viterbi アルゴリズムを採用。
    縦書きの場合は、冠と足、「う」や「三」などの要素に使う。
  8. n-gram 連接頻度計算
    膨大なプレーンテキストファイルから文字列連接頻度統計(1文字、2文字...n文字が連続する頻度)をとり、 認識結果を連接頻度確率を使って補正する。
  9. チャートパーサー
    住所、メールアドレス、url、電話番号(FAX番号)などを認識する際に、チャートパーサーによる構文解析技 術を適用している。