Comments
Description
Transcript
手書き文字認識技術
シャープ技報 第84号・2002年12月 技術解説 手書き文字認識技術 Handwritten Character Recognition Technologies 広 瀬 斉 志 * Hitoshi Hirose 石 塚 康 司 * Yasushi Ishizuka 鈴 木 哲 * Satoshi Suzuki 杉 山 晃 一 * Kouichi Sugiyama 斗 谷 充 宏 * Mitsuhiro Hakaridani 要 旨 当社の手書き文字認識技術は, ザウルスをはじめとするペンを備えた情報端末の文字入力技術 として搭載されてきた。これまでは, 1文字の筆記制限を緩和することを目的に開発してきたが, さらに文字枠が無く,筆記場所を問わない枠なし文字認識を開発し,商品化を行った。本稿では, 当社の文字認識技術の歴史,1文字を認識する技術,および新たに開発した枠なし文字認識技術 について概説する。 The handwriting character recognition technology of our company has established the character input technology of the information terminal equipped with a pen including Zaurus. At present we developed and commercialized the box-free character recognition, that allows easy and accurate input. In this paper, we describe the history of the character recognition technology of our company, especially the one character recognition, and the newly developed box-free character recognition technologies. まえがき 手書き文字認識技術の開発は1981年から始まり,当 社の PDA やワードプロセッサの文字入力技術として 搭載されてきた。開発当初は,認識対象文字も少な く,楷書で筆記しなければならなかったが,認識対象 文字の拡大,崩し字認識技術の開発により,1文字に 対する筆記制限を大幅に緩和した。さらに,文字を連 続筆記する場合の制限となっている文字枠を必要とし ない枠なし認識の開発を行った。本稿では,当社手書 き文字認識技術の開発の歴史, 手書き文字認識技術の 解説,および Linux® 注ザウルスに搭載した枠なし認識 技術の紹介を行う。 注:Linux® は,Linus Torvalds 氏所有の登録商標である。 1 . 当社の手書き文字認識技術 当社では,1981年から「楷書で筆記した常用漢字ま での文字(英数字,記号,ひらがな,カタカナ等の非 漢字を含む)」を認識対象とした手書き文字認識エン ジンの開発を開始した。この認識エンジンは,ビジネ スワープロ(WD-2900T,1985 年)の文字入力技術と * 技術本部 システム開発センター 22 して搭載された。当時は,オフィスでワープロを使っ て活字の文章を作成する環境が出来つつあり, 個人で も活字で文書を作成する欲求が出てきたが,キーボー ドを使った文字入力に対して敷居の高さを感じる人が 多く, 音声認識と共に手書き認識による文字入力への 期待は高かった。 1992 年からは,小型情報機器をターゲットとした 手書き文字認識技術の開発を行った。キーボードが無 いことが前提にあったため,認識対象文字を「楷書で 筆記した約4000文字(漢字は JIS第1水準漢字+第2 水準漢字の一部) 」とした。基本は楷書で筆記した文 字を認識対象としていたが, 統計的によく筆記される 筆順や2,3画程度の続け書きへの対応を行い,実用 レベルの楷書認識エンジンを実現した。 この楷書認識 エンジンにより, 小型情報機器への文字入力が容易に 行えるようになったが,より楽に文字を入力するに は,ラフに書いた文字が認識できるようにする必要が あった。そこで,1995年に偏や旁などの文字を構成す るパーツ内の続け書きに対応した続け字認識エンジン を開発した。さらに,1997年に一筆書きに対応した崩 し字認識エンジンを開発した。 この崩し字認識エンジ ンにより,1文字を認識するのに十分なレベルの手書 手書き文字認識技術 表1 当社の手書き認識技術と商品 Table1 Handwriting recognition technology and products of our company. ペン入力技術 ペン入力搭載の製品 1992 日本語楷書認識 PV-F1(PDA),WV-S200(ワードプロセッサ) 1993 PI-3000(ザウルス) ジェスチャ (手書きコマンド)認識 ペン書院(ワードプロセッサ) 手書き図形認識, 中国語手書き認識 PI-5000(ザウルス) 部首部品認識 1994 ビジネス用ザウルス WIZ(PDA) 日本語続け字認識 1995 PI-6000(ザウルス) MI-500(パワーザウルス) 日本語崩し字認識 1998 コペルニクス 2002 日本語枠なし認識 SL-A300(Linuxザウルス) とマッチング処理を行い, ストローク認識候補を求め る。筆記された文字の全ストロークについてストロー ク認識候補が求まると, 筆記されたストロークの順に サブパターン辞書を参照して, サブパターン認識結果 を得る。そして,サブパターン認識候補の組み合わせ を作成し,文字辞書に登録されている各文字と照合を 行い,入力文字の認識結果を得る(図3) 。文字辞書 に登録されている各文字はサブパターンの組み合わせ で記述されており , 例えば ,「林」は「木」+「木」の 組み合わせが記述されている。 き文字認識技術を確立することができた。しかし,こ れまでの認識エンジンは文字枠に1文字ずつ筆記する 必要があり, 通常の文字を筆記するという行為を考え ると,ユーザの文字入力における負担は存在してい る。そこで,文字枠に筆記するという制限を無くした 枠なし文字認識技術の開発を行い,2002 年8月発売 のザウルスに搭載した(表1) 。 1: 20: 2: 21: 3: 4: 図2 ストロークパターン例 Fig. 2 Example of a stroke pattern. 1 2 3 4 5 6 7 8 2 . 一文字を認識する技術 手書き文字認識は,図1に示す手順で行われる。基 本的には文字認識部でユーザが筆記した文字のサブパ ターンを認識し, 認識されたサブパターンの組み合わ せで漢字を識別する方式となっている。 楷書認識と続 け字・崩し字認識は文字認識処理のサブパターンを認 識するまでの処理に違いがある。ここで,サブパター ンを簡単に説明しておく。サブパターンとは,部首の ような文字を構成するパーツのことで, その形状は独 自に定義した。このサブパターンの導入により,認識 辞書のサイズの増大を抑え, 筆順の異なる文字の認識 を可能としている。 タブレット 前処理 特徴抽出 文字認識 詳細識別 図1 オンライン手書き文字認識フロー Fig. 1 On-line handwriting character recognition flow. 2・1 楷書認識 楷書認識は,ユーザが筆記した全ストロークにつ いて予め登録されているストロークパターン(図2) 十 亠 木 小 十 小 八人 木 八人 図3 「林」のサブパターン認識結果 Fig. 3 Sub pattern recognition result of a " 林 ". 2・2 続け字・崩し字認識 続け字認識では, ユーザが筆記した全ストロークに 対してストローク順に連結させた続け書きパターンを 生成し(図4),サブパターン辞書とマッチングを 行って,サブパターン認識候補を求める。そして,サ ブパターン認識結果を基にサブパターン候補のラティ スを作成し, サブパターン候補ラティスと文字辞書と の照合を行うことで,最終的な文字認識結果を得る。 崩し字認識は,続け字認識を拡張したもので,続け 字認識がサブパターン内を続け書きした文字に対応し ているが,崩し字認識は一筆書きの文字まで対象とし ている。そのため,崩し字認識は,一筆書きパターン をマッチングした結果と続け字認識の結果を統合し, 23 シャープ技報 第84号・2002年12月 入力 パターン 連結 パターン 図4 入力パターンと連結パターン例 Fig. 4 Input pattern and the example of a connection pattern. 総合的に確からしい文字を判定して最終的な認識結果 を求めている。 続け字・崩し字認識の,続け書きによる画数の変動 と筆順のバリエーションは, 画数変動にはアルゴリズ ムで対応しており, 筆順変動には手書きデータベース を基に統計的に多い筆順を中心に認識辞書へ登録する ことで対応している。 3 . 枠なし認識 3・1 開発の目的 崩し字認識エンジンの開発によって,1 文字を認識 するには十分な精度を実現したが, 情報機器への手書 き入力は、まだノートにペンで筆記するような入力を 実現しているとはいえない。そのため、情報機器に対 する手書き入力を, ノートにペンで筆記する感覚に近 づけるには , 以下の反応を行う必要がある。 文字認識 (崩し字) 文字切り出し 文字切り出し候補 (1)あらかじめ設定された文字枠への筆記 (2)様々な方向や複数行の筆記 (3)文字 / 図形 / インク / ジェスチャ等のモードレ ス入力 現在,情報端末への手書き入力が,3文字程度の文字 枠に 1 文字ずつ筆記する方法であり,連続して文字を 入力する場合は,頻繁にペンの移動が発生し,ユーザ にストレスを感じさせることがある。そこで, (1)を 解決することで,より快適に手書きで文字を入力する ことが可能となる。次に,私たちがペンでノートに文 字を書いている様子を考えてみる。通常,文字の筆記 方向は,大体一定方向であるが,時には縦書きや斜め 書きが混在することがある。また,複数行に渡って書 くことは当たり前に行われている。そこで,よりノー トに筆記する感覚に近づけるには(2)の対応が必要 となる。また,私たちは,図や表などを文字と区別な く筆記している。さらに,私たちは筆記途中で文字の 間違いを見つけると,ストロークや点を書きたした り、間違った文字に「×」などを書いて,その近くに 正しい文字を書き直すということを行う。これと同じ 動作で情報機器に筆記されたデータを処理するには, (3)を解決する必要がある。しかし,上記内容への対 応は処理量の多さから,現在のハード資源では実現困 難と思われる。そこで,ます, (1)の解決のため,左 から右方向に横書きされた1行分の手書きデータを対 象とした,文字枠を必要としない枠なし認識技術の開 発を行うこととした。ただし,崩し字認識エンジン以 上の認識精度を確保し,ザウルスクラスのCPUでリア ルタイムに認識することを開発目標とした。 確率言語処理 1 イィメ人 2 ンニ二 3 夕タ インター応ト インター祈ト 4 ー一− インターネツト 5 応祈 インターネット 6 卜ト人 7 ネ広六庁 8 ツッ川 各切り出し位置の認識 文字列候補 図5 枠なし認識の処理フロー Fig. 5 Processing flow of box free recognition. 24 認識結果表示 インターネット 出力結果 手書き文字認識技術 3・2 枠なし認識技術 枠なし認識では, 文字枠がない領域にユーザが筆記 したストローク列を対象とするため, 図5に示すよう に文字切り出し処理によって入力されたストローク列 から文字エリアを推定する。 次に各文字エリアについ て文字認識処理を行い,文字認識候補を得る。文字認 識処理には崩し字認識エンジンを利用している。 そし て,文字認識候補から文字列候補を生成し,言語処理 によって言語的に妥当な文字列の順位付けを行い,最 終的に入力された文字列の認識結果が得られる。 以下 に,文字認識処理以外の処理について説明を行う。 (1)文字切り出し 筆記されたデータの筆記方向に対する空白を検出 し,文字切り出し位置の生成を行う。次に,ストロー ク列の外接矩形が極端な横長にならない範囲を統合 し,文字エリアを生成する。この段階で大まかな文字 エリアが決まるが, 正解の文字エリアを漏れなく生成 できるように空白検出や統合の条件を決めることが重 要である(図6) 。 (2)言語処理 文字切り出し処理で得られた全文字エリアに対する 文字認識候補から,候補文字列を作成し,言語的に確 からしい文字列の判定を行う(図7) 。日本語では,外 来語などの新しい単語や省略語などが良く使われるた め,文字間の統計的情報を利用している。この処理に より,切り出し誤りや同形文字(大小文字,微小記号 ほか) を含む候補文字列から言語的に確からしい文字 列の判定が行われる。 3・3 手書き入力を補助する技術 手書き入力の大きな弱点は, (1)多くの文字を筆記 すると疲れる,(2)文字の入力速度が遅いことであ る。これらの弱点を解消する技術を以降に解説する。 (1)かな漢字混じり変換 かな漢字混じり変換とは, かなと漢字を混ぜて入力 インター応ト インターネツト インターネット ◎ 図7 言語処理結果 Fig. 7 Linguistic processing result. された文字列を漢字文字列に変換する技術のことであ る。かな漢字混じり変換を利用することにより,簡単 な漢字は直接筆記し,画数が多い文字はかなで筆記し た後,漢字文字列に変換できる。例えば, 「会議」を 「会ぎ」と書いて変換操作をすることで「会議」を得 ることができる。そのため,文字を入力するためのペ ンの操作数を大幅に低減することができ, 筆記による 疲れや入力速度の遅さを解消することができる。例え ば,楷書で「会議」を筆記するには 26 ストロークを 書く必要があるが, 「会ぎ」の場合は 12 ストロークを 書いて変換処理の指示をすればよいので,操作数は1/ 2 以下に低減できることになる。 (2)短縮入力・登録 通常, 文書を作成するときやスケジュールを入力す るときは,同じ文字列を繰り返し入力することが多 い。本稿でも「ストローク」や「文字認識」などは多 く出てきているが,短縮入力は,このように良く使わ れる文字列を少ない文字数で入力するための技術であ る。短縮入力の対象文字列は , 筆記中に入力された文 字列を基に自動登録されている。まず,入力したい文 字列の先頭文字か読みを筆記し,短縮入力を指示する と候補文字列が表示される。そして,表示された候補 文字列から所望の文字列を選択することで入力を完了 する。例えば, 「情報家電」を入力したいときは「情」 を筆記するか, 「じ」を筆記して短縮入力を行い, 「情 報家電」を選択すればよい(図8) 。この入力方法に より,表2に示すように大幅に操作数を低減できる。 筆記データ ・ 「情」を筆記後に「短縮」 情 文字切り出し 位置の生成 情報 ・ 「じ」を筆記後に「短縮」 じ 情報 情報家電 情報家電 情報システム 情報システム 文字エリアの生成 (極端な横長は除去) 図6 文字切り出し処理例 図8 「情報家電」の短縮入力例 Fig. 6 Example of character segmentation. Fig. 8 Example of a shortening input of an " 情報家電 ". 25 シャープ技報 第84号・2002年12月 表2 ペン操作数の比較( 「情報家電」の入力) する必要がなくなり,手書き入力をより快適に行える ようになった。枠なし認識では認識誤りに対して従来 の文字単位の候補選択による修正以外に, 文字列単位 の候補選択による修正が行える。 Table 2 Comparison of the number of pen operations (input of an " 情報家電 "). ペン操作内容 操作数 手書き入力 情報家電(11+12+10+13)+[認識] 47 短縮入力 情(11)+[短縮]+[候補選択] 13 じ( 3)+[短縮]+[候補選択] 5 むすび 崩し字認識エンジンの開発により, 業界トップレベ ルの手書き文字認識技術を確立した。そして,崩し字 認識技術をベースとして,文字切り出し技術の開発, 言語処理の適用により, 従来のザウルスと同等の認識 精度を確保した枠なし認識技術を開発し,商品化を 行った。今後,ノートにペンで書くような入力環境を 実現するには,入力デバイスの性能向上,枠なし認識 精度の向上, 文字や図形の入力/修正をシームレスに 行えるペンユーザインタフェース技術の確立が必要で あると考える。さらにノート以上の入力/操作環境を 実現するためには,入力データをテキスト/インクの 区別なく高速に検索する技術など電子的特長を活かし た技術を開発することが必要であると考える。 4 . ザウルス SL-A300 今回紹介した枠なし認識技術は,2002 年8月発売 の Linux ザウルス SL-A300 に搭載された。SL-A300 は パソコンとの連携が強化され, 主にビューアとしての 利用を想定された商品である。文字入力は,画面上の 様々な入力パッドを利用して行う。 手書き入力パッド は枠あり/枠なし/字種優先の3種類あり,それらの 切り替えは,切替タグをペンでタッチすることで行 う。枠あり/字種優先のパッドは3文字分の文字枠が あるが,枠なしのパッドは,文字枠に 1 文字ずつ入力 枠なし 枠あり 文字種別(左から、 かな漢字、 アルファベット、数字) 図9 手書き入力パッド(SL-A300) Fig. 9 Handwriting input pad (SL-A300). 「イ」の候補文字 「イン」の候補文字/文字列 「インターネット」の候補文字文字列 図 10 候補文字および候補文字列の表示例 Fig. 10 Candidate character and the example of a display of a candidate character sequence. (2 002年1 1月7日受理) 26