(57)【要約】【課題】  枠未定義の手書き文字認識でも、予測精度が高く、かつ、手書き入力の負荷を低減する。【解決手段】  形態素解析部６は、文字列候補生成部５で生成された第一位候補を単語に分割する。ストローク列分割部１０は、ストローク列記録部４、形態素解析部６、および形態素解析結果記録部７のデータに基づき、ストローク列を単語として書き終わった部分と単語としては未完成な部分に分割する。予測候補生成部１１は、 ストローク列分割部１０、言語的リソース部８および、入力履歴記録部９からの情報をもとに予測候補を計算する。候補表示部１２は、文字列候補生成部５および予測候補生成部１１で計算された文字列候補群・予測候補群をユーザに提示する。【選択図】  図１
2014081710.tif 000002
【特許請求の範囲】
【請求項１】
ストローク列と対応する文字列との対応辞書を記憶する手書き文字辞書記憶手段、
共起される自立語文字列の組み合わせを記憶する共起辞書記憶手段、
ユーザが確定した変換文字列とストローク列との組み合わせを単語毎に記憶する確定文字列記憶手段、
手書き文字入力部から与えられたストローク列を記憶するストローク列記録手段、
前記ストローク列記憶手段に記憶されたストローク列について、前記手書き文字辞書記憶手段を用いて、文字認識を行なう文字認識手段、
前記文字認識手段によって得られた認識文字列候補群について、形態素解析を行なう形態素解析手段、
前記形態素解析手段による形態素解析結果について、１画入力前の結果と比較することにより、単語として完成している部分と、単語として未完成な部分に分離する分離手段、
未完成部の予測候補を求める予測候補演算手段であって、前記確定文字列記憶手段に記憶された変換文字列のストローク列と前記未完成な部分のストローク列との一致度および前記共起辞書を用いて、単語として完成している部分のうち最後尾の自立語との共起度合いに基づいて、前記予測候補を決定する予測候補決定手段、
前記予測候補演算手段が予測した予測候補を提示する提示手段、
を備えたことを特徴とする枠未定義手書き文字認識装置。
【請求項２】
請求項１の枠未定義手書き文字認識装置において、
前記予測候補決定手段は、ストローク列の履歴の一致度が高いものから候補を選択するとともに、前記提示手段に、共起頻度順に並び替えて表示させること、
を特徴とする手書き文字認識装置。
【請求項３】
手書き文字入力部から与えられたストローク列について、ストローク列と対応する文字列との対応辞書を記憶する手書き文字辞書記憶手段を用いて、文字認識を行なう文字認識手段、
前記文字認識手段によって得られた認識文字列候補群について、形態素解析を行なう形態素解析手段、
前記形態素解析手段による形態素解析結果に基づき、単語として完成している部分と、単語として未完成な部分に分離する分離手段、
未完成部の予測候補を求める予測候補演算手段であって、前記確定文字列記憶手段に記憶された変換文字列のストローク列と前記未完成な部分のストローク列との一致度に基づいて、前記予測候補を決定する予測候補決定手段、
前記予測候補演算手段が予測した予測候補を提示する提示手段、
を備えたことを特徴とする枠未定義手書き文字認識装置。
【請求項４】
コンピュータを下記手段として実行させるための枠未定義手書き文字認識プログラム。
手書き文字入力部から与えられたストローク列について、ストローク列と対応する文字列との対応辞書を記憶する手書き文字辞書記憶手段を用いて、文字認識を行なう文字認識手段、
前記文字認識手段によって得られた認識文字列候補群について、形態素解析を行なう形態素解析手段、
前記形態素解析手段による形態素解析結果に基づき、単語として完成している部分と、単語として未完成な部分に分離する分離手段、
未完成部の予測候補を求める予測候補演算手段であって、前記確定文字列記憶手段に記憶された変換文字列のストローク列と前記未完成な部分のストローク列との一致度に基づいて、前記予測候補を決定する予測候補決定手段、
前記予測候補演算手段が予測した予測候補を提示する提示手段。
【請求項５】
請求項３の枠未定義手書き文字認識装置または請求項４の枠未定義手書き文字認識プログラムにおいて、
前記分離手段は、前記形態素解析結果について、１画入力前の結果と比較することにより、単語として完成している部分と、単語として未完成な部分に分離すること、
を特徴とするもの。
【請求項６】
請求項５の枠未定義手書き文字認識装置または枠未定義手書き文字認識プログラムにおいて、
前記予測候補決定手段は、連結して使用される自立語文字列の組み合わせを記憶する連結文字列辞書から、連結関係にある自立語文字列の組み合わせを読み出して、単語として完成している部分のうち最後尾の自立語との連結される度合いが高いものを候補として表示すること、
を特徴とするもの。
【請求項７】
請求項６の枠未定義手書き文字認識装置または枠未定義手書き文字認識プログラムにおいて、
前記予測候補決定手段は、前記連結文字列辞書により候補を絞ったあと、前記予測候補を決定すること、
を特徴とするもの。
【請求項８】
請求項７の枠未定義手書き文字認識装置または枠未定義手書き文字認識プログラムにおいて、
前記予測候補決定手段は、連結文字列辞書による連結度が高いものから所定数の候補を前記候補絞り込まれる候補とすること、
を特徴とするもの。
【請求項９】
請求項３〜請求項８のいずれかの枠未定義手書き文字認識装置または枠未定義手書き文字認識プログラムにおいて、
前記確定文字列記憶手段には、ユーザが確定した変換文字列とストローク列との組み合わせが単語毎に記憶されていること、
を特徴とするもの。
【請求項１０】
請求項３〜請求項９のいずれかの枠未定義手書き文字認識装置または枠未定義手書き文字認識プログラムにおいて、
前記予測候補決定手段は、当該ユーザが実際、連結した履歴がある用語である場合に、候補として決定すること、
を特徴とするもの。
【請求項１１】
コンピュータの記憶部に、下記1)〜3)を記憶しておき
1)手書き文字入力部から与えられたストローク列について、ストローク列と対応する文字列との対応辞書、2)連結使用される自立語文字列の組み合わせ、3)単語毎に、ユーザが確定した変換文字列とストローク列との組み合わせ、
コンピュータが下記ステップを実行すること、
手書き文字入力部からストローク列が与えられると、前記対応辞書を参照して、文字認識を行なうステップ、
前記得られた認識文字列候補群について、形態素解析を行なうステップ、
前記形態素解析手段による形態素解析結果に基づき、単語として完成している部分と、単語として未完成な部分に分離するステップ、
前記記憶された変換文字列のストローク列と前記未完成な部分のストローク列との一致度に基づいて、前記未完成部の予測候補を求めるステップ、
前記予測した予測候補を提示するステップ、
を特徴とする枠未定義手書き文字認識方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、枠未定義手書き文字認識方法に関し、特に、予測精度向上に関する。
【背景技術】
【０００２】
今日、手書き文字列認識の一つの手法として、枠未定義手書き文字列認識技術が知られている。枠未定義手書き文字列認識とは、１文字を定められた枠内に記載する枠あり手書き文字列認識と異なり、１文字を手書きする領域が定められていない手書き文字認識をいう。枠未定義手書き文字列認識においては、1文字の入力確定を何らかの方法で行う必要がある。
【０００３】
特許文献１には、入力されたストローク列のうち、文字として認識すべき部分と入力途中である部分とを自動的に分割する方法が開示されている。具体的には、入力途中である部分に対する文字認識結果は予測計算においてノイズであると判断し、このノイズを除いて予測候補を求める。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開2004-258800号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記特許文献１に開示された予測方法には、入力途中である部分に対する文字をノイズとして扱うので、予測精度が低いという問題があった。
【０００６】
例えば、「夏の終わり」という語を入力する場合、ユーザが「夏の」の直後に糸へんを書き始めた段階では、まだ、糸へんの部分については、ノイズと判断されるので、共起辞書を用いたとしても、「終わり」を予測候補として提示することはできない。
【０００７】
かかる問題を解決するために、入力された全てのストローク列について、DPマッチングを用いて、予測することも考えられる。しかし、辞書中の全ての単語に対してDPマッチングを実時間で行なうことは現実的ではない。
【０００８】
この発明は、上記問題を解決し、予測精度が高く、かつ、手書き入力の負荷を低減することのできる枠未定義手書き文字判定方法またはその装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
(1)本発明にかかる枠未定義手書き文字認識装置は、ストローク列と対応する文字列との対応辞書を記憶する手書き文字辞書記憶手段、共起される自立語文字列の組み合わせを記憶する共起辞書記憶手段、ユーザが確定した変換文字列とストローク列との組み合わせを単語毎に記憶する確定文字列記憶手段、手書き文字入力部から与えられたストローク列を記憶するストローク列記録手段、前記ストローク列記憶手段に記憶されたストローク列について、前記手書き文字辞書記憶手段を用いて、文字認識を行なう文字認識手段、前記文字認識手段によって得られた認識文字列候補群について、形態素解析を行なう形態素解析手段、前記形態素解析手段による形態素解析結果について、１画入力前の結果と比較することにより、単語として完成している部分と、単語として未完成な部分に分離する分離手段、未完成部の予測候補を求める予測候補演算手段であって、前記確定文字列記憶手段に記憶された変換文字列のストローク列と前記未完成な部分のストローク列との一致度および前記共起辞書を用いて、単語として完成している部分のうち最後尾の自立語との共起度合いに基づいて、前記予測候補を決定する予測候補決定手段、前記予測候補演算手段が予測した予測候補を提示する提示手段、を備えている。
【００１０】
このように、形態素解析結果を用いて、単語として未完成な部分について、予測候補を決定することにより、予測演算の対象を減らすとともに、高精度の予測が可能となる。
【００１１】
(2)本発明にかかる枠未定義手書き文字認識装置においては、 前記予測候補決定手段は、ストローク列の履歴の一致度が高いものから候補を選択するとともに、前記提示手段に、共起頻度順に並び替えて表示させる。したがって、ストローク列履歴の一致度の高いものから候補を選択し、かつ、共起頻度順に並び替えて表示できる。
【００１２】
(3)本発明にかかる枠未定義手書き文字認識装置においては、手書き文字入力部から与えられたストローク列について、ストローク列と対応する文字列との対応辞書を記憶する手書き文字辞書記憶手段を用いて、文字認識を行なう文字認識手段、前記文字認識手段によって得られた認識文字列候補群について、形態素解析を行なう形態素解析手段、前記形態素解析手段による形態素解析結果に基づき、単語として完成している部分と、単語として未完成な部分に分離する分離手段、未完成部の予測候補を求める予測候補演算手段であって、前記確定文字列記憶手段に記憶された変換文字列のストローク列と前記未完成な部分のストローク列との一致度に基づいて、前記予測候補を決定する予測候補決定手段、前記予測候補演算手段が予測した予測候補を提示する提示手段、を備えている。
【００１３】
このように、形態素解析結果を用いて、単語として未完成な部分について、予測候補を決定することにより、予測演算の対象を減らすとともに、高精度の予測が可能となる。
【００１４】
(4)本発明にかかる枠未定義手書き文字認識プログラムは、 コンピュータを下記手段として実行させるための手書き文字認識プログラムであって、手書き文字入力部から与えられたストローク列について、ストローク列と対応する文字列との対応辞書を記憶する手書き文字辞書記憶手段を用いて、文字認識を行なう文字認識手段、前記文字認識手段によって得られた認識文字列候補群について、形態素解析を行なう形態素解析手段、前記形態素解析手段による形態素解析結果に基づき、単語として完成している部分と、単語として未完成な部分に分離する分離手段、未完成部の予測候補を求める予測候補演算手段であって、前記確定文字列記憶手段に記憶された変換文字列のストローク列と前記未完成な部分のストローク列との一致度に基づいて、前記予測候補を決定する予測候補決定手段、前記予測候補演算手段が予測した予測候補を提示する提示手段。
【００１５】
このように、形態素解析結果を用いて、単語として未完成な部分について、予測候補を決定することにより、予測演算の対象を減らすとともに、高精度の予測が可能となる。
【００１６】
(5)本発明にかかる枠未定義手書き文字認識装置または手書き文字認識プログラムにおいては、前記分離手段は、前記形態素解析結果について、１画入力前の結果と比較することにより、単語として完成している部分と、単語として未完成な部分に分離する。したがって、形態素解析による分離が可能となる。
【００１７】
(6)本発明にかかる枠未定義手書き文字認識装置または手書き文字認識プログラムにおいては、前記予測候補決定手段は、連結して使用される自立語文字列の組み合わせを記憶する連結文字列辞書から、連結関係にある自立語文字列の組み合わせを読み出して、単語として完成している部分のうち最後尾の自立語との連結される度合いが高いものを候補として表示する。したがって、前記連結関係にある自立語を候補として表示できる。
【００１８】
(7)本発明にかかる枠未定義手書き文字認識装置または手書き文字認識プログラムにおいては、前記予測候補決定手段は、前記連結文字列辞書により候補を絞ったあと、前記予測候補を決定する。したがって、ストローク履歴判定処理の対象を減らすことができる。
【００１９】
(8)本発明にかかる枠未定義手書き文字認識装置または手書き文字認識プログラムにおいては、前記予測候補決定手段は、連結文字列辞書による連結度が高いものを前記候補絞り込まれる候補とする。したがって、連結度が高いものについて、前記予測候補が決定される。よって前記予測候補の決定対象を絞り込むことができる。
【００２０】
(9)本発明にかかる枠未定義手書き文字認識装置または手書き文字認識プログラムにおいては、前記確定文字列記憶手段には、ユーザが確定した変換文字列とストローク列との組み合わせが単語毎に記憶されている。したがって、ユーザの確定履歴に基づく候補が特定可能である。
【００２１】
(10)本発明にかかる枠未定義手書き文字認識装置または手書き文字認識プログラムにおいては、前記予測候補決定手段は、当該ユーザが実際、連結した履歴がある単語である場合に、候補として決定する。したがって、ユーザが連結して変換したことのある確定履歴に基づく候補が特定可能となる。
【００２２】
(11)本発明にかかる枠未定義手書き文字認識方法においては、コンピュータの記憶部に、下記1)〜3)を記憶しておき、1)手書き文字入力部から与えられたストローク列について、ストローク列と対応する文字列との対応辞書、2)連結使用される自立語文字列の組み合わせ、3)単語毎に、ユーザが確定した変換文字列とストローク列との組み合わせ；、コンピュータが下記ステップを実行する。手書き文字入力部からストローク列が与えられると、前記対応辞書を参照して、文字認識を行なうステップ、前記得られた認識文字列候補群について、形態素解析を行なうステップ、前記形態素解析手段による形態素解析結果に基づき、単語として完成している部分と、単語として未完成な部分に分離するステップ、前記記憶された変換文字列のストローク列と前記未完成な部分のストローク列との一致度に基づいて、前記未完成部の予測候補を求めるステップ、前記予測した予測候補を提示するステップ、を特徴とする。
【００２３】
このように、形態素解析結果を用いて、単語として未完成な部分について、予測候補を決定することにより、予測演算の対象を減らすとともに、高精度の予測が可能となる。
【００２４】
なお、本明細書において「連結使用」とは、自立語が付属語を介してまたは介することなく、連結して使用される場合をいい、実施形態では、共起関係にある自立語が該当する。
【図面の簡単な説明】
【００２５】
【図１】手書き文字認識方法装置１の機能ブロック図である。
【図２】手書き文字認識方法装置１を、ＣＰＵを用いて構成した場合のハード構成の一例である。
【図３】共起辞書のデータ構造の一例である。
【図４】全体のフローチャートである。
【図５】入力されるストローク列の時系列の履歴を示す図である。
【図６】予測候補生成処理の詳細フローチャートである。
【図７】入力履歴記憶部２６rに記憶される変換履歴を示す図である。
【発明を実施するための形態】
【００２６】
以下、本発明における実施形態について、図面を参照して説明する。
【００２７】
（１．１  機能ブロック）
図１に、本発明の１実施形態にかかる手書き文字認識装置１の機能ブロック図を示す。手書き文字認識装置１は、手書き入力部３、ストローク列記録部４、文字列候補生成部５、形態素解析部６、形態素解析結果記録部７、言語的リソース部８、入力履歴記録部９、ストローク列分割部１０、予測候補生成部１１、候補表示部１２、および候補選択部１３を備えている。
【００２８】
手書き入力部３には、手書き文字パターンがストロークとして入力される。ストローク列記録部４は、入力されたストローク列が記録される。文字列候補生成部５は、ストローク列記録部４に記録されたストローク列から文字列の候補を生成する。形態素解析部６は、文字列候補生成部５で生成された第一位候補を単語に分割する。形態素解析結果記録部７は、直前のストローク入力時の形態素解析結果を一時的に保持する。言語的リソース部８は、予測の手がかりとして利用する単語の共起頻度等の言語的な情報を格納する。入力履歴記録部９は、入力された単語列とストローク列の対応関係を格納する。ストローク列分割部１０は、ストローク列記録部４、形態素解析部６、および形態素解析結果記録部７のデータに基づき、ストローク列を単語として書き終わった部分と単語としては未完成な部分に分割する。予測候補生成部１１は、 ストローク列分割部１０、言語的リソース部８および、入力履歴記録部９からの情報をもとに予測候補を計算する。候補表示部１２は、文字列候補生成部５および予測候補生成部１１で計算された文字列候補群・予測候補群をユーザに提示する。候補選択部１３は、候補表示部が提示した候補群の中からユーザに候補を選択させる。
【００２９】
なお、文字列候補生成部５は、入力されたストローク列と辞書だけを参照して候補となる文字列群を生成するものとし、ストローク列の末尾が文字を形成しているかどうかの判定は行なわない。そのため、各候補の末尾には認識誤りが含まれていることがある。
【００３０】
また、文字認識候補生成部５は、受け取ったストローク列と各文字との対応関係も出力する。
【００３１】
形態素解析部６は、与えられた文字列を単語に分割し、各単語に品詞を付与する。単語・品詞の定義はどのようなものでも構わないが、単語が自立語かどうかを弁別できることを前提とする。入力が完全な文であることは前提としない。そのため、解析結果の末尾には解析誤りが含まれていることがある。
【００３２】
（１．２  ハードウェア構成）
図１に示す手書き文字認識装置１のハードウェア構成について、図２を用いて説明する。手書き文字認識装置１は、ＣＰＵ２３、メモリ２７、フラッシュメモリ２６、タッチパネル式表示部３１、通信部３７、スピーカ３３，位置情報取得部３５およびバスライン２９を備えている。ＣＰＵ２３は、フラッシュメモリ２６に記憶された各プログラムにしたがいバスライン２９を介して、各部を制御する。
【００３３】
フラッシュメモリ２６は、オペレーティングシステムプログラム２６ｏ（以下ＯＳと略す）、メインプログラム２６ｐに加えて、各種のデータが記憶されている。上記プログラムは、予めフラッシュメモリ２６にインストールされたものであるが、通信部３７を介して、ダウンロードするようにしてもよい。
【００３４】
フラッシュメモリ２６に記憶されるデータについて説明する。辞書記憶部２６ｊには、各文字を手書き文字認識するための、入力されたストローク列と文字との対応を記憶したストローク対応辞書(図示せず)に加えて、形態素解析をするための形態素解析辞書、さらに、共起辞書が記憶されている。この共起辞書には、図３に示すように、先行単語と後続単語の組み合わせが、その頻度と共に記憶されている。この共起辞書では、先行単語と後続単語がそのまま連続して用いられる場合は、もちろん、付属語で接続される場合も共起されるとして記憶されている。例えば、「夏」と「涼し」は、「夏は涼し」と共起されるような場合も含んでいる。また、過去に入力確定された文字列については、形態素解析して単語毎のストローク列対応データが記憶される入力履歴記憶部２６rを有する。
【００３５】
タッチパネル３６には、各文字の領域が限定されておらず、ストロークが入力されると、ＣＰＵ２３は、メインプログラム２６ｐに従い、後述するように、手書き文字認識処理を行う。
【００３６】
ＲＡＭ２７は、タッチパネル３６から受け取ったストローク列が記憶されるストローク列記憶部２７ｓおよび、1ストローク入力があるたびに、文字認識第一位候補を形態素解析した結果が上書きされる形態素解析結果記憶部２７ｋを有している。
【００３７】
（１．３  フローチャートの説明）
図２に示すプログラム２６ｐによる処理について図４を用いて説明する。以下では、図５に示すように、タッチパネル３６から、文字列「夏には甲子園に」と入力した履歴があり、その後、「夏の甲子園は」と手書き入力する場合における予測変換を例として説明する。
【００３８】
手書き文字認識処理は、大きく分けると、以下に示す、１）完成部分決定処理（図４ステップＳ１０１〜ステップＳ１１１）、２）予測候補生成処理（ステップＳ１１３）、３）予測候補確定処理（ステップＳ１１５〜ステップＳ１１９）がある。
【００３９】
ＣＰＵ２３は、ストローク列記憶部２７ｓおよび、形態素解析結果記憶部２７ｋを空にする（ステップＳ１０１）。ＣＰＵ２３は、タッチパネル３６からストロークを受け取ったか否か判断しており（ステップＳ１０３）、ストロークを受け取ると、これをストローク列記憶部２７Sに記憶する。例えば、図５Ａに示すような、ストローク「横棒」を受け取った場合、この形状を示すデータが記憶される。
【００４０】
ＣＰＵ２３は、辞書記憶部２６ｊのストローク列対応辞書を用いて、認識文字列候補群を取得する（ステップＳ１０７）。ここでは、ストローク「横棒」に対応する認識文字列候補「一」が取得されたものとする。ＣＰＵ２３は、第一位の候補に対して形態素解析を行う(ステップＳ１０９）。この場合、文字列「一」について、形態素解析が行われる。
【００４１】
ＣＰＵ２３は、単語として書き終わった部分と単語としては未完成な部分に分割して記憶する(ステップＳ１１１）。本実施形態においては、１つ前に形態素解析結果記憶部２７ｋに記憶された文字列と比較し、共通接頭辞となっている部分を「単語として書き終わった部分」、その後ろを「単語としては未完成な部分」とした。したがって、この場合は、共通接頭辞は、存在しないので、単語として書き終わった部分なしとして記憶される。
【００４２】
ＣＰＵ２３は単語として書き終わった部分を使って入力しようとしている文字列の予測候補を生成する（ステップＳ１１３）。この場合、単語として書き終わった部分が無いので、予測候補は生成されない。ＣＰＵ２３は、予測候補を表示する(ステップＳ１１５）。この場合、予測候補は存在しないので、表示は行われない。
【００４３】
ＣＰＵ２３は候補選択があるか否か判断しており(ステップＳ１１７）、候補選択がない場合には、ステップＳ１０３以下の処理を繰り返す。以下、同様にして、「夏の」まで、ストローク列が入力されたものとする。この場合、形態素解析結果記憶部２７ｋには、文字列「夏／の」が記憶されている(図５参照)。図５において、「／」は単語の区切りを表す。
【００４４】
ＣＰＵ２３は、タッチパネル３６からストロークを受け取ったか否か判断しており（ステップＳ１０３）、ストロークを受け取ると、これをストローク列記憶部２７Sに記憶する。ここでは、図５Ａに示すような、ストローク「縦棒」を受け取り、この形状を示すデータ自体が記憶される。
【００４５】
１）完成部分決定処理
ＣＰＵ２３は、辞書記憶部２６ｊのストローク列対応辞書を用いて、認識文字列候補群を取得する（ステップＳ１０７）。ここでは、ストローク「縦棒」に対して、文字列候補「１」が取得されたものとする。ＣＰＵ２３は、第一位の候補に対して形態素解析を行う(ステップＳ１０９）。この場合、文字列「夏の１」について、形態素解析が行われ、「夏／の／１」に分解される。
【００４６】
ＣＰＵ２３は、単語として書き終わった部分と単語としては未完成な部分に分割して記憶する(ステップＳ１１１）。この場合、形態素解析結果記憶部２７ｋには、1つ前の形態素解析結果として文字列「夏／の」が記憶されている。したがってＣＰＵ２３は、共通接頭辞となっている文字列「夏／の」が、単語として書き終わった部分として判断する。これにより図５Ｃ、Ｄに示すように、形態素解析結果として、文字列「夏／の／１」が記憶される。
【００４７】
２）予測候補生成処理
ＣＰＵ２３は、ステップＳ１０９の形態素解析によって区別された、未完成部分について、予測候補を生成する(ステップＳ１１３）。ステップＳ１１３の予測候補生成処理について図６を用いて、説明する。
【００４８】
ＣＰＵ２３は、「単語として書き終わった部分」の単語列末尾の単語Wを取り出す(図６ステップＳ２０１）。この場合、書き終わった部分である文字列「夏／の」から、末尾の単語「の」が単語Ｗとして取り出される。ＣＰＵ２３は、単語Wが自立語か否か判断する(ステップＳ２０３）。自立語か否かは、例えば、形態素解析結果の品詞から判断する。
【００４９】
この場合、単語Wは単語「の」であるので、自立語でないと判断し、「単語として書き終わった部分」の単語列中でWより左で最も近い自立語W'を取り出し、自立語W'を単語Wとする(ステップＳ２０５）。この場合、単語「夏」が取り出される。ＣＰＵ２３は、入力履歴記憶部２６ｒに記録された過去の入力履歴の中で、単語Wよりも右に位置し、かつ、最も近い自立語である単語Wiを抽出する(ステップＳ２０９)。ここでは、図７に示すような入力履歴があるとする。この場合、単語「休み」「花火」「旅行」「野菜」「な(る)」「海」「甲子園」「暑」が抽出される。
【００５０】
なお、ステップＳ２０９にて、単語Wよりも右に位置し、かつ、最も近い自立語である単語Wiを抽出しているのは、自立語の後に、複数の付属語が連続してから自立語が存在する場合があるからである。
【００５１】
ＣＰＵ２３は、入力履歴記憶部２６rに記憶されている入力文字列と、ストローク列との履歴を参照して、単語Wiに対する入力履歴中のストローク列(の先頭部分)と「単語としては未完成な部分」のストローク列の幾何的な照合を行ない、図６ステップＳ２０７で抽出した各単語について、一致度Yiを計算する（ステップＳ２１１）。この場合、単語「休み」−0、単語「花火」−0、単語「旅行」−0、単語「野菜」−0.65、単語「な(る)」−0、単語「海」−0、単語「甲子園」−0.7、単語「暑」−0.7が得られたものとする。本実施形態においては、かかる幾何的な照合は、DPマッチング演算手法を採用した。
【００５２】
ＣＰＵ２３は、共起辞書を使って単語Wと単語Wiとの共起頻度Xiを計算する。具体的に、図３に示す共起辞書から、 単語「夏」と共起する単語について、共起頻度Xiが計算される。この場合、共起頻度Xiは、単語「休み」−0、単語「花火」−0、単語「旅行」−0、単語「な(る)」−0、単語「海」−0、単語「暑」−46533/46533、単語「野菜」−44234/46533、単語「甲子園」−41267/46533、と計算される。本実施形態においては、頻度の最大値で正規化するようにしたが、これは任意である。
【００５３】
３）予測候補確定処理
ＣＰＵ２３は、予測候補をタッチパネル３６に表示する(ステップＳ１１５）。本実施形態においては、一致度Yiの値が、上位n個について、共起頻度Xi順に候補を並べて表示するようにした。この場合、「野菜」「甲子園」「暑」が候補として選択され、かつ、「暑」「野菜」「甲子園」の順に並べられて表示される。
【００５４】
ユーザは、入力希望である「甲子園」を選択する。ＣＰＵ２３は、候補の選択があるか否か判断しており(ステップＳ１１７）、選択がなされたので、結果を入力履歴記憶部２６rに記憶する（ステップＳ１１９）。
【００５５】
このようにして、ユーザは、入力希望である「甲子園」を、簡易に入力することができる。なお、上記予測は、ストローク列の入力が進めば、予測精度がより向上する。
【００５６】
本実施形態においては、単語として書き終わった部分から得られる共起などの言語的な情報と、単語としては未完成である部分から得られるストローク列の幾何的な類似性を複合的に用いている。これにより、精度の高い入力予測が可能となる。したがって、ユーザは入力しようとしているテキストを全て筆記することなく、入力しようとする各単語の最初の数画を筆記するだけで予測候補から選択することでテキスト入力を行なうことができる。
【００５７】
また、本件において、予測を開始するタイミングは、一旦、形態素解析をしたあと、未確定状態ではあるが単語として完成した部分ができ、かつ、単語としては未完成の部分についてストローク入力が開始された途中段階である。これにより、ストローク列判定する対象を減らすことができる。これに対して、一般的な手書き文字認識の場合は、ストローク入力を開始したタイミングであり、また、キーボード等から１文字をそのまま入力する一般的なカナ漢字変換とも異なる。
【００５８】
（２.他の実施形態）
本実施形態において、図４ステップＳ１１１にて「文字として書き終わった部分」ではなく「単語として書き終わった部分」を抽出しているのは、1)枠未定義手書き入力においては、予測候補の粒度として単語もしくは文節が自然であり、予測が的中した時に最も効果的なのはその書き始めであること、2)画数が多い漢字には文字としても使われる部分が含まれることが多く、適切に判断することが難しいことによる。したがって、ストローク列の入力進行に伴い、形態素解析結果が適切ではない場合がある。この場合、「単語として書き終わった部分」の判断が適切ではないことがある。
【００５９】
例えば、図５において、「夏の」まで入力したあと、「甲」の字を筆記し終わるまではこの部分に対する文字認識結果もストロークを入力するごとに変わるため、「夏の」までが「単語として書き終わった部分」と判断される。
【００６０】
一方、「甲」を筆記し終わった時点と次の「子」を筆記し始めた時点では、文字認識結果およびその形態素解析結果によって二通りの場合がある。
【００６１】
１つはストローク列末尾部分が「申す」のように認識された場合である。この場合は最後の形態素が直前の形態素解析結果と一致しないため、依然として「夏の」までが「単語として書き終わった部分」とされる。
【００６２】
もう１つはストローク列末尾部分が「甲了」のように認識され、形態素解析も「夏/の/甲/了」のように「甲」の部分まで直前の形態素解析結果と一致した場合である。この場合は「甲」までが「単語として書き終わった部分」とされる。さらに「甲子」まで筆記されると(文字認識器が「甲子」と認識し、形態素解析器が「甲子」を１形態素と解析すれば)、いずれの場合も「夏の」が「単語として書き終わった部分」とされる。
【００６３】
本実施形態においては、候補について、ストローク列の幾何的な一致度Yiについて上位n個に絞った後、共起頻度Xiの降順に並べ直すようにしている。しかし、これに限定されず、一致度Yiについては、任意の個数ではなく、閾値を設けておき、これ以下の候補については、対象としないようにしてもよい。
【００６４】
また、ストローク列の幾何的な一致度Yiおよび共起頻度Xiから、総合的に判断するようにしてもよい。たとえば、いずれか一方または双方に、重み付けをして加算してスコアを決定するようにしてよい。
【００６５】
例えば、予測候補のスコアを共起スコアCとDPマッチングスコアMの線形和 S = αC + βM で計算し、履歴検索の段階で共起スコアを計算することにより、第一位とのスコア差が βM' (M'は「正解との平均的なDPマッチングスコア」)より大きくなった候補については、DPマッチングを行なわないようにしてもよい。
【００６６】
また、本実施形態においては、過去に手書き入力した履歴から候補として表示するものを限定している。これは、一度その文字列を用いているので、候補として可能性が高いからである。
【００６７】
しかし、これに限定されず、共起辞書から候補を選択して、それとストローク列が一致する場合には、候補として選択するようにしてもよい。この場合、図６ステップＳ２０９で、単語Ｗiが決定された段階で、共起辞書から、そのあとに引き続く可能性のある単語を候補として1または2以上抽出して、抽出した候補について、ストローク列の一致度合いＹｉを計算すればよい。
【００６８】
このように、DPマッチングで決定する候補を、共起される候補を記憶した辞書にあるものに限定することにより、DPマッチングの演算量を減らすことができる。
【００６９】
例えば、図３にはあるコーパスにおいて、「夏」の直後に出現する自立語とその頻度を記載したものである(「夏」と自立語の間に付属語が出現しているものも含んでいる)。入力ストローク列のうち「夏/の」までが「単語として書き終わった部分」と認定された場合、次にくると予想される単語は、最後の自立語である「夏」との共起頻度が十分に高い単語「暑」「祭り」等である可能性が高い。そこで「夏」との共起頻度が高いものに限定して、それらの単語に対する(標準的な)ストローク列と入力ストローク列のうち、「単語としては未完成な部分」とのDPマッチングを行なえばよい。
【００７０】
これにより、ストローク列対応辞書に記憶された文字から始まる単語について、履歴として記憶されていなくても、予測させることができる。
【００７１】
本実施形態においては、形態素解析を行う文字列は、生成した第一位候補のみを対象としたが、計算資源に余裕がある場合は第二位以下の候補についても同様の方法で候補を予測生成するようにしてもよい。
【００７２】
また「単語としては未完成の部分」がある本数以上のストローク列を含む場合は、DPマッチングの計算コストが増大してユーザの入力に即応できなくなるおそれがある。したがって、かかる場合には、上記予測を行なわないようにしてもよい。
【００７３】
なお、「予測候補の生成」において予測候補として入力履歴ではなく、事前に用意したコーパスや辞書を用いることもできる。
【００７４】
また、予測候補の選別処理では候補の優先度に自立語の共起頻度を用いたが、他にも、文字n-gramや意味的な類似性といった様々な言語的リソースを利用することもできる。
【００７５】
本実施形態においては、「単語としては未完成な部分」について、DPマッチングするようにしたが、ストローク列同士の照合は位置および形状の一致を反映する方法であればどのようなものであっても構わない。
【００７６】
なお、入力履歴中に単語Wが一度も出現していない場合は、予測を行なわないようにしてもよい。
【００７７】
本実施形態においては、「単語として書き終わった部分」と「単語としては未完成な部分」の切り分けですが、本実施形態においては、１つ前に形態素解析結果記憶部２７ｋに記憶された文字列と比較し、共通接頭辞となっている部分を「単語として書き終わった部分」とするようにしている。しかしこれに限定されず、例えば、文字単位で認識を行ない、「末尾の認識結果を捨てる」 (文字としては未完成な部分とみなしたり、形態素解析は用いずに認識結果文字列に対して共通接頭辞をとって「書き終わった部分」と「未完成な部分」に切り分けたり、形態素解析結果の最後の単語について、その単語コストおよび直前の単語との連接コストが閾値以上の時は最後の単語に相当するストローク列を未完成だとする等してもよい。
【００７８】
なお、形態素解析における「単語コスト」とは、その単語の出現しにくさを表し、「連接コスト」とは隣接する二つ（もしくはそれ以上）の単語のつながりにくさを表す。例えば、日本語においては「世」という単語はよく出現するが、「丗」（３０）という単語はめったに出現しない。つまり「世」の単語コストは「丗」の単語コストより小さい。
【００７９】
また、「新聞」の直後には「雑誌」や「を」「に」などは出現しやすいが、「ます」や「った」などの活用語尾は出現しにくい。つまり「新聞−雑誌」「新聞−を」「新聞−に」の連接コストは、「新聞−ます」、「新聞−った」の連接コストより小さい。  
【００８０】
上記説明では、説明を簡略化するために、単語「夏」については、予測候補が提供されない場合を例として説明した。実際は、付属語等を除き、その前に入力した自立語との関係で、共起するものがあれば、候補として「夏」が予測候補として提示されることもある。たとえば、その前の文章で、「・・・は高校球児だ。」という入力がなされている場合、過去に文字列「高校球児の夏」が入力されている場合、「・・・は高校球児だ。」の後に、「夏」について、数ストロークが入力されると、候補として「夏」が提示される。
【００８１】
本実施形態においては、書き終わった部分についても、ストロークが入力されると、ストローク列からの変換した第一位の文字列候補を決定するようにしている。しかし、これに限定されず、単語として書き終わった部分が、繰り返し判断された部分については、ストローク列からの判断を省略するようにしてもよい。
【００８２】
例えば、「夏の甲子園」と入力したことがない場合でも、「甲子園」は入力したことがあれば、「夏」と「甲子園」が共起辞書にあれば、候補として選択するようにしてもよい。
【００８３】
なお、ストローク列を記憶する入力履歴記憶部２６rは、手書き文字が確定されると、予測入力された単語について、ストローク列との対応を上書きする。これにより、実際には入力されていないが、変換された単語を記憶することができる。
【００８４】
本実施形態においては、未完成部分についてDPマッチングをすることにより、候補を予測している。かかるDPマッチングは、演算量が大きい。したがって、ユーザの入力履歴を先に検索することにより、できる限りDPマッチング処理をする候補を絞っている。
【００８５】
本実施形態においては、ストローク列からの変換を行い、これを形態素解析し、単語として完成した部分と未完成な部分に分けて、未完成な部分について、入力履歴記憶部２６rの履歴および共起辞書に基づいて、予測候補を決定している。
【００８６】
しかし、入力履歴記憶部の履歴を用いることなく、辞書記憶部２６jのストローク列と文字列の対応を参照するとともに、共起辞書で候補を決定してもよい。
【００８７】
また、本実施形態においては、ストローク列からの変換を行い、これを形態素解析し、単語として完成した部分と未完成な部分に分けて、未完成な部分について、DPマッチングにより予測候補を決定している。これにより、入力された文字列全てについてのDPマッチングが必要でなくなるので、演算処理が軽くなる。
【００８８】
本実施形態においては、手書き文字認識装置内に辞書を記憶された場合について説明したが、一部または全部をサーバに記憶しておき、候補を手書き文字認識装置に送るようにしてもよい。
【００８９】
また、未確定部分について、ストローク数が所定数（例えば、2以上）とならない場合は、上記、候補演算を行わないようにしてもよい。
【００９０】
また、過去の入力履歴を対象とするのではなく、辞書記憶部のストローク列と文字との対応を参照して、文字1文字の候補を決めて、その候補が先頭に存在する単語の候補を共起辞書から、選出するようにしてもよい。
【００９１】
本実施形態においては、共起辞書による共起度が高いものから所定数の候補を絞り込まれる候補としたが、閾値で絞り込まれる候補を決定するようにしてもよい。
【００９２】
本実施形態においては、日本語について適用した場合について説明したが、以外でも、他の言語（中国語、英語など）についても同様に適用可能である。
【００９３】
上記実施形態においては、図１に示す機能を実現するために、ＣＰＵ２３を用い、ソフトウェアによってこれを実現している。しかし、その一部もしくは全てを、ロジック回路などのハードウェアによって実現してもよい。なお、プログラムの一部の処理を、オペレーティングシステム（ＯＳ）にさせるようにしてもよい。
【符号の説明】
【００９４】
２３      ＣＰＵ
２７      メモリ
２６      フラッシュメモリ
３６      タッチパネル
【図１】
2014081710.tif 000003
【図２】
2014081710.tif 000004
【図３】
2014081710.tif 000005
【図４】
2014081710.tif 000006
【図５】
2014081710.tif 000007
【図６】
2014081710.tif 000008
【図７】
2014081710.tif 000009