手書き文字認識（てがきもじにんしき、）とは、認識可能な手書き入力を受け取るコンピュータの機能である。入力元としては、紙に手書きされた文書・写真・タッチパネルなどの機器がある。事前に「オフライン」で書かれた文書を光学スキャンして入力する「オフライン手書き文字認識」と、「オンライン」で手書き文字入力する「オンライン手書き文字認識」に区別される。
手書き文字認識は基本的に光学文字認識の技術の上に成り立っている。しかし、オンライン手書き文字認識の場合は筆順や線を描く方向なども考慮し、最もそれらしい文字または単語を探すという技術も必要になる。
オフライン手書き文字認識.
この技術は、保険会社のようなたくさんの手書きの文書を処理するビジネスで使われて、成功している。認識の質は、文書を構造化することによって大幅に向上させることができる。
対象領域の限定.
主に次のような技法がある。
文字抽出.
文字認識.
抽出後、個々の文字のイメージが認識エンジンに入力され、対応する文字コードが何かを特定する。認識技法はいくつか存在する。
ニューラルネットワーク.
ニューラルネットワークによる認識エンジンは、まず訓練用イメージ群で学習する。そして、訓練済みネットワークを使って文字を認識する。ニューラルネットワークはそれぞれの訓練イメージを区別する属性を学んでおり、認識対象のイメージに同様の属性がないか捜す。ニューラルネットワークはセットアップが簡単だが、認識対象と傾向の異なる訓練イメージしか与えられていないと、認識率は低くなる。
特徴抽出.
特徴抽出もニューラルネットワークと似たような方式で機能するが、プログラマが重要と考える属性を決め、手動でそれらを設定する必要がある。
ここでいう属性とは次のようなものである。
この技法は認識工程で属性を制御できるという利点がある。しかし、特徴量は自動的に学習されないため、ニューラルネットワークのような機械学習よりも開発には大いに時間がかかる。
オンライン手書き文字認識.