(57)【特許請求の範囲】
【請求項１】
グラフィカル・キーボード・インタフェースを介して入力された入力信号を認識し、かつ、入力テキストの語幹および接辞を組み合わせることを可能にするためのシステムであって、
前記システムは、
メモリと、
前記メモリにストアされた連結モジュールであって、前記連結モジュールは、実行されたときに、前記入力信号を入力接辞として認識するように構成されており、前記連結モジュールは、更に、候補単語を隣接候補単語として認識する、連結モジュールと、
前記メモリにストアされた複合単語モジュールであって、前記複合単語モジュールは、実行されたときに、前記入力接辞を含む辞書内の１組の単語を検索するように構成されている、複合単語モジュールと、
前記メモリにストアされたランク付けモジュールであって、前記ランク付けモジュールは、実行されたときに、前記入力接辞を含む前記１組の単語における各辞書単語を前記候補単語および前記入力接辞を含むストリングと比較する類似性関数に従って、前記入力接辞を含む前記１組の単語をランク付けするように構成されており、前記複合単語モジュールは、前記入力接辞を含む前記１組の単語において最も高いランクの辞書単語を出力する、ランク付けモジュールと、
前記メモリにストアされたモジュールであって、前記モジュールは、実行されたときに、少なくとも２つの単語または接辞を別個に表示し、前記少なくとも２つの単語または接辞の内側のエッジをタッチする円形の動きに応答して、前記少なくとも２つの単語または接辞を連結するように構成されており、前記少なくとも２つの単語または接辞は、前記候補単語および前記入力接辞に対応する、モジュールと
を備える、システム。
【請求項２】
前記入力接辞が接尾辞である、請求項１に記載のシステム。
【請求項３】
前記複合単語モジュールが前記接尾辞および前記最も高いランクの辞書単語を結合させる、請求項２に記載のシステム。
【請求項４】
前記入力接辞が接頭辞である、請求項１に記載のシステム。
【請求項５】
前記複合単語モジュールが前記接頭辞および前記最も高いランクの辞書単語を結合させる、請求項４に記載のシステム。
【請求項６】
前記類似性関数が距離関数を含む、請求項４に記載のシステム。
【請求項７】
前記隣接候補単語が、前記入力接辞の前に付く候補単語または前記入力接辞の後に付く候補単語のいずれか１つを含む、請求項４に記載のシステム。
【請求項８】
前記入力テキストが前記入力接辞として認識されない場合、前記複合単語モジュールは、前記入力テキストおよび前記隣接候補単語の連結の結果として生じるストリングを生成し、前記辞書における前記ストリングの発生頻度を求め、前記ストリングの発生頻度を前記入力テキストおよび前記隣接候補単語のそれぞれの発生頻度と比較し、前記ストリングの発生頻度が前記入力テキストおよび前記隣接候補単語のそれぞれの発生頻度を超えた場合、前記複合単語モジュールは、前記入力テキストおよび前記隣接候補単語を連結単語として連結し、前記ストリングを前記連結単語によって置換する、請求項７に記載のシステム。
【請求項９】
前記入力テキストおよび前記隣接候補単語の発生頻度に対する前記ストリングの発生頻度の比較が重み付け比較である、請求項８に記載のシステム。
【請求項１０】
グラフィカル・キーボード・インタフェースを介して入力された入力信号を認識し、かつ、入力テキストの語幹および接辞を組み合わせることを可能にするための方法であって、前記方法は、コンピュータにより実行され、
前記方法は、
コンピューティング・システムによって、前記入力テキストを入力接辞として認識することと、
前記入力テキストが前記入力接辞として認識された場合に、前記コンピューティング・システムによって、候補単語を隣接候補単語として認識することと、
前記コンピューティング・システムによって、前記入力接辞を含む辞書内の１組の単語を検索することであって、前記辞書は、コンピュータ・データベースにストアされている、ことと、
前記入力接辞を含む前記１組の単語における各辞書単語を前記候補単語および前記入力接辞を含むストリングと比較することによる類似性関数に従って、前記コンピューティング・システムによって、前記入力接辞を含む前記１組の単語をランク付けすることと、
出力ディスプレイ上で、前記入力接辞を含む前記１組の単語において最も高いランクの辞書単語を出力することと、
前記出力ディスプレイ上で、前記最も高いランクの辞書単語を表示し、分割単語を表示することであって、２つの別個に表示された単語は、正方形のボックス内の枠にはめられ、前記２つの別個に表示された単語は、前記候補単語および前記入力接辞に対応する、ことと
を含む、方法。
【請求項１１】
前記接辞および前記最も高いランクの辞書単語を結合させることを更に含む、請求項１０に記載の方法。
【請求項１２】
入力信号を認識し、かつ、入力テキストの語幹および接辞を組み合わせることを可能にするための非一時的なコンピュータが使用可能な媒体にストアされたプログラム・コードを有するコンピュータ・プログラム製品であって、
前記コンピュータ・プログラム製品は、
前記入力信号を入力接辞として認識し、更に、候補単語を隣接候補単語として認識するためのプログラム・コードと、
前記入力接辞を含む辞書内の１組の単語を検索するためのプログラム・コードと、
前記入力接辞を含む前記１組の単語における各辞書単語を前記候補単語および前記入力接辞を含むストリングと比較する類似性関数に従って、前記入力接辞を含む前記１組の単語をランク付けするためのプログラム・コードと、
前記入力接辞を含む前記１組の単語において最も高いランクの辞書単語を出力するためのプログラム・コードと、
前記最も高いランクの辞書単語を表示し、分割単語を表示するためのプログラム・コードであって、２つの別個に表示された単語は、正方形のボックス内の枠にはめられ、前記２つの別個に表示された単語は、前記候補単語および前記入力接辞に対応する、プログラム・コードと
を備える、コンピュータ・プログラム製品。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、辞書に基づいたテキスト入力およびテキスト予測システムに関する。更に具体的には、本発明は、グラフィックで表した画面上キーボードの上で幾何学的パターンを描くことによって単語を入力する効率的な方法であるショートハンド・オン・キーボード（shorthand-on-keyboard）を用いたテキスト入力に関する。
【背景技術】
【０００２】
グラフィカル・キーボード（graphicalkeyboard）上のショートハンド（簡略な伝達方法）（以降、「ショートハンド・オン・キーボード」と称する）または図表としてのキーボード上のショートハンド（sokgraph）は、物理的なキーボードなしで、典型的には手書き入力用のペンを用いて、効率的にテキストを入力するための入力方法およびシステムを表す。ショートハンド・オン・キーボードによって、ユーザは、グラフィカル・キーボード上の文字または機能キーをたどって、単語およびコマンドをコンピュータに入力することができる。経験豊富なユーザは、キーボードのレイアウト上で頻繁に用いる単語およびコマンドの幾何学的パターンを部分的にまたは完全に記憶し、例えばデジタル・ペンを用いて、記憶力に基づいてこれらのパターンを描くことができる。
【０００３】
ショートハンド・オン・キーボードおよび手書き／音声認識およびテキスト予測システム等の単語レベルの認識に基づいたテキスト入力システムは、全て、これらのシステムが認識する単語セットを定義する何らかの形態の辞書に頼っている。ユーザの入力は、辞書内の選択肢に対して照合される。辞書に含まれない単語は、通常、自動的には認識されない。かかる場合、特別なモードを設けなければならない。例えば、ショートハンド・オン・キーボードでは、ユーザは最初に候補リスト（Ｎ−ベスト・リスト）を調べることができる。候補リスト上のどの選択肢も目的の単語ではない場合、ユーザは、描いたパターンが間違っていたか否かを判断する。描いたパターンが正しい場合、ユーザは目的の単語がその辞書には載っていないことを認識する。次いで、ユーザは、単語の個々の文字を入力することによって、辞書にこの新しい単語を入力する。理想的には、辞書は、特定のユーザが書く必要がある全ての単語を過不足なく含む。大きすぎたり小さすぎたりする辞書は、ユーザに対して問題を引き起こす可能性がある。
【０００４】
辞書が大きくなると、いくつかの問題が生じる恐れがある。なぜなら、各ユーザ入力ごとに、正解以外の選択肢の数が増える可能性があるために、認識の精度が低くなりやすいからである。いずれの言語においても、あらゆる人に共通するコアの語彙集合が存在する傾向がある。このコア集合を超えると、語彙は特定の個人のために専門化しがちである。例えば、エンジニアは、特定の分野またはビジネス領域について高度に技術的な用語および略語を含む電子メールを作成することがある。他のユーザに対しては、これらの専門化した用語は無関係であり、認識プロセスにノイズを生じて、認識プロセスの確実さを低下させる恐れがある。
【０００５】
辞書が小さくなると、通常、目的とする単語が辞書に載っている場合にユーザ入力が正しく認識される可能性が高くなるという点で、辞書はいっそう確実なものとなる。辞書が小さくなると、ユーザの入力に対して与えられる柔軟性および許容度が高くなり、目的とする入力選択肢の理想的な形態に比べて大ざっぱで不正確な入力も可能となる。小さい辞書の更に別の利点は、検索空間が小さくなることである。この結果、小さい辞書では、検索の待ち時間を短縮することができる。これは、処理パワーが大きく制限されるモバイル・デバイスでは特に重要である。
【０００６】
しかしながら、小さい辞書にユーザが必要とする単語が含まれない場合、ユーザはいらいらする経験をすることがある。ユーザは、入力の前には、辞書に単語が載っているか否かを知らないので、ユーザには不確実さが生じる。従来のシステムでは、単語が間違って入力された場合または単語が辞書に載っていない場合のいずれかに、単語が認識されないということが起こり得る。このため、ユーザにとって、なぜ単語が認識されないかを判断するのが難しいことがある。一般に、ある単語が辞書に載っているか否かを知るには、ユーザはその単語を繰り返し試さなければならない。その単語が辞書に載っていないことが確実になると、ユーザは、認識システムによって与えられるインタフェースを介して、先に述べたように入力することによって、その単語を辞書に追加する。辞書が小さくなると、ユーザが辞書に単語を追加しなければならないことが頻繁に起こる。
【０００７】
辞書サイズの問題には、従来からいくつかの解決策がある。一般的に用いられている方法は、大きい辞書を用い、次いで単語レベルのトライグラム（trigram）・モデル等の高水準言語規則を利用して、極めて可能性の低い候補を除去することである。言語モデル手法の欠点は、一般に、大きい言語モデルを生成して効率的に利用することのオーバーヘッドである。更に、言語モデルでは、エラーが生じ、目的とする単語が誤って除去される恐れがある。これは、言語モデルが特定のユーザにカスタマイズされるのではなく汎用的である場合に、特に当てはまる。実際、言語モデルの効率的なカスタマイゼーションは難しい。更に、言語モデルは、ショートハンド・オン・キーボード等の、すでに高い精度を有する認識技法と統合することが難しい。
【０００８】
ある代替的な従来の手法では、例えば書面の電子メールおよび他の文書のような、ユーザが発生した書面のテキストを利用することによって、ユーザのためにカスタマイズした辞書を生成する。この手法では、特定のユーザによりいっそう合った辞書が作成されるが、ユーザが発生した以前の文書データは、所望の単語を全てカバーするには小さすぎる場合がある。更に、実際、ユーザが用いている可能性がある様々な電子メールおよび文書フォーマットを全て開いて読むことができるコンピュータ・プログラム・コードを書くことは難しい。この手法では、多くの場合、ユーザが以前の文書の位置を特定して選択する必要があるが、これはユーザにとって不便である。また、カスタム化した辞書は、異なるデバイス間で持ち運ぶのが難しい場合がある。
【発明の概要】
【発明が解決しようとする課題】
【０００９】
これらの従来の解決策は意図する目的のためには適切であるが、ユーザの所望の入力に対して無関係な選択肢の数が比較的少ない辞書を可能とし、更に、ほとんどのユーザが頻繁には用いないもっと専門化した単語も含めて、ユーザが必要とし得るほとんど全ての単語に対して容易にアクセスすることができる解決策を見出すことが望ましい。概して、極めて大きい辞書においてユーザが必要とする可能性のある全ての単語を含むことが望ましい。しかしながら、極めて大きい辞書は、同じ照合閾値が与えられた場合、キーボード上に描かれたパターンに合致する単語が増えることを意味し、入力システムにおける信号対雑音比を低下させることになる。従って、辞書を大きくすると、ユーザに対する柔軟性および確実さが低下する。従って、使いやすさと柔軟性および確実さとのバランスを取ったショートハンド・オン・キーボード・システムのための辞書構成が必要とされている。
【００１０】
従来のショートハンド・オン・キーボード入力方法の別の問題点は、一度に１つの単語ずつ、単語レベルでテキストを正確に入力しなければならないことである。単語には長いものもある。比較的新しいユーザにとっては、ショートハンド・オン・キーボードを用いて１つの動きで長い単語を描くことは認知的に難しいことがある。この難しさは、英語よりも複合的な長い単語がよくあるいくつかのヨーロッパの言語においては特に切実である。更に、単語の語幹とは別の動きとして一般的な接辞を描くことができれば、ユーザは入力をもっと便利だと感じることができる。例えば、ショートハンド・オン・キーボードを用いて「working」という単語を書く場合、ユーザはグラフィカル・キーボード上でw-o-r-kのパターンを描き、次いでi-n-gを描き、この２つを組み合わせて１つの単語にしたいと考えることがある。このため、キーボード上の部分的な語（「sokgraph」）を自動的に組み合わせてユーザが意図する１つの単語とする効果的なシステムおよび方法が求められている。
【００１１】
従って、ショートハンド・オン・キーボード・インタフェースにおいてテキスト入力を改善することが求められている。
【課題を解決するための手段】
【００１２】
本発明は、ショートハンド・オン・キーボード・インタフェースにおいてテキスト入力を改善するためのシステム、コンピュータ・プログラム、および関連する方法（ここでは、まとめて「システム」または「本システム」と呼ぶ）を開示する。本システムは、コア辞書および拡張辞書を含む。コア辞書は、ある言語において一般的に用いられる単語を含む。コア辞書は、本システムの用途に応じて、典型的に約５，０００から１５，０００の単語を含む。拡張辞書は、コア辞書に含まれない単語を含む。拡張辞書は、約３０，０００から１００，０００の単語を含む。
【００１３】
コア辞書によって、本システムは、動きを識別する際に、最高ランクの候補単語として一般的に用いられる単語に的を絞ることができ、より小さい辞書に関連付けていっそう確実な認識性能を提供することができる。本システムでは、コア辞書からの単語のみを直接出力することができる。拡張辞書から追加の候補単語を利用することができ、このためユーザは候補リスト上のあまり知らない単語を見つけることができるが、メニュー選択するだけである。本システムは、大きい辞書からの単語選択を犠牲にすることなく、単語認識の精度を高める。コア辞書によって、目的とする入力選択肢の理想的な形態に比べて大ざっぱで不正確なユーザ入力に対する柔軟性および許容度が高くなる。
【００１４】
本システムは、更に、認識モジュール、事前ランク付けモジュール、およびランク付けモジュールを含む。認識モジュールは、入力パターンに対応する候補単語のＮ−ベスト・リストを発生する。事前ランク付けモジュールは、所定の基準に従ってＮ−ベスト候補単語をランク付けする。ランク付けモジュールは、候補単語のＮ−ベスト・リストのランク付けを調節して、コア辞書から得られた単語を、拡張辞書から得られた単語よりも高く配置して、ランク付けた単語候補のリストを発生する。コア辞書に載っている単語のみが、本システムによって出力される。本システムは、拡張辞書に載っている候補単語をＮ−ベスト・リストにのみ記載する。これらの単語は、出力となるにはユーザに選択されなければならない。いったんユーザによってＮ−ベスト・リストから選択されると、拡張辞書からの単語をコア辞書に載せることが許可される。
【００１５】
更に具体的には、好適な実施形態において、コア辞書に載っている単語のみが認識システムによって出力される。拡張辞書に載っている単語は、Ｎ−ベスト・リストに記載することができるだけであり、出力されるためには明示的にユーザに選択されなければならない。いったん選択されると、拡張辞書に載っている単語もコア辞書に載ることが許可される。
【００１６】
本システムは、ユーザが動作で示した単語がコア辞書の語彙に含まれない場合にユーザに与えられるオーバーヘッドを低減する。単語が辞書に含まれているのか、またはシステムが入力を誤って認識したのかが不確かであるということではなく、ユーザはＮ−ベスト・リストをスキャンして所望の候補単語を選択することができる。
【００１７】
本システムは、更に、連結モジュールおよび複合単語モジュールを含む。連結モジュールによって、ユーザは、長い単語の部分を別個に入力することができる。本システムは、部分的な「sokgraph」である単語および単語の部分を、ユーザが意図する１つの単語に自動的に結合する。単語の部分は、「work」等の語幹および「ing」「pre」等の接辞である場合がある。複合単語モジュールは、英語の「short+hand」等、連結によって１つの長い単語を形成する１つ以上の一般的な短い単語を組み合わせる。いくつかの短い単語が連結して１つの複合的な単語になることは、スウェーデン語またはドイツ語等のいくつかのヨーロッパ言語ではもっとよくあることである。
【００１８】
本システムによって、単語１および単語２の連結および組み合わせた単語の分離を調節するためのユーザ・インタラクションが可能となる。ユーザが、例えば「smokefree」のような連結した単語をクリックすると、メニュー・オプション「smokeとfreeに分割」または同等のオプションがユーザに提示される。あるいは、単語「smokefree」を横切る下向きの動き等のペン・トレースの動きを、分割コマンドとして定義することができる。信頼度が低いために動作が行われない連結可能単語については、単語１および単語２にメニュー・オプションが埋め込まれている。ユーザが単語１をクリックした場合、オプション「右に動く」または同等のオプションが選択可能である。ユーザが単語２をクリックした場合、オプション「左に動く」または同等のオプションが選択可能である。あるいは、単語１および単語２の双方を横切る円などのペンの動きを、２つの単語を１つの連結した長い単語として結び付けるためのコマンドとして定義する。
例えば、本発明は以下の項目を提供する。
（項目１）
ショートハンド・オン・キーボード・インタフェースを介して入力された入力信号を認識するための単語認識システムであって、
一般的に用いられる単語を含むコア辞書と、
前記コア辞書に含まれない単語を含む拡張辞書と、
前記入力信号に関連付けられた単語を認識するための認識モジュールと、
前記入力信号に関連付けられた出力単語を前記コア辞書から出力するための選択モジュールと、
前記入力信号に関連付けられた候補単語がユーザによって選択されると、前記候補単語を前記コア辞書に載せることを許可するためのモジュールと、
を含む、システム。
（項目２）
前記ユーザによる選択のために、前記コア辞書および前記拡張辞書の少なくとも一方からの、前記入力信号に関連付けられた候補単語を提示するユーザ選択インタフェースを更に含む、項目１に記載のシステム。
（項目３）
前記ユーザ選択インタフェースが、前記コア辞書からの候補単語および前記拡張辞書からの候補単語を、容易に区別するために異なる知覚的特徴でリスト化する、項目２に記載のシステム。
（項目４）
前記認識モジュールが、前記コア辞書および前記拡張辞書から候補単語のＮ−ベスト・リストを発生する、項目１に記載のシステム。
（項目５）
少なくとも１つの基準に従って前記候補単語のＮ−ベスト・リストをランク付けするための事前ランク付けモジュールを更に含む、項目４に記載のシステム。
（項目６）
前記事前ランク付けモジュールが、前記コア辞書からの最も高いランクの単語を、前記候補単語のＮ−ベスト・リストにおける最も高いランクの単語として出力する、項目５に記載のシステム。
（項目７）
ショートハンド・オン・キーボード・インタフェースを介して入力された入力信号を認識するための単語認識方法であって、
一般的に用いられる単語をコア辞書にストアするステップと、
前記コア辞書に含まれない単語を拡張辞書にストアするステップと、
前記入力信号に関連付けられた単語を認識するステップと、
前記入力信号に関連付けられた出力単語を前記コア辞書から出力するステップと、
前記入力信号に関連付けられた候補単語がユーザによって選択されると、前記候補単語を前記コア辞書に載せることを許可するステップと、
を含む、方法。
（項目８）
前記ユーザによる選択のために、前記コア辞書および前記拡張辞書の少なくとも一方からの、前記入力信号に関連付けられた候補単語を提示するステップを更に含む、項目７に記載の方法。
（項目９）
前記コア辞書からの候補単語および前記拡張辞書からの候補単語を、容易に区別するために異なる知覚的特徴でリスト化するステップを更に含む、項目８に記載の方法。
（項目１０）
ユーザ入力インタフェースを介して入力された入力信号を認識するための、コンピュータが使用可能な媒体上にストアされたプログラム・コードを有するコンピュータ・プログラム製品であって、
一般的に用いられる単語を含むコア辞書と、
前記コア辞書に含まれない単語を含む拡張辞書と、
前記入力信号に関連付けられた単語を認識するためのプログラム・コードと、
前記入力信号に関連付けられた出力単語を前記コア辞書から出力するためのプログラム・コードと、
前記入力信号に関連付けられた候補単語がユーザによって選択されると、前記候補単語を前記コア辞書に載せることを許可するためのプログラム・コードと、
を含む、コンピュータ・プログラム製品。
（項目１１）
前記入力信号に係るテキストの語幹および接辞を組み合わせることを可能にするための、項目１に記載のシステムであって、
前記入力信号を入力接辞として認識するための連結モジュールであって、更に、候補単語を隣接候補単語として認識する、連結モジュールと、
前記入力接辞を含む辞書内の１組の単語を検索するための、複合単語出力モジュールであって、前記入力接辞を含む前記１組の単語において最も高いランクの辞書単語を出力する、複合単語出力モジュールと、
前記入力接辞を含む前記１組の単語における各辞書単語を、前記候補単語および前記入力接辞を含むストリングと比較する類似性関数に従って、前記入力接辞を含む前記１組の単語をランク付けするための、ランク付けモジュールと、
を更に含む、システム。
（項目１２）
前記入力接辞が接尾辞である、項目１１に記載のシステム。
（項目１３）
前記複合単語出力モジュールが前記接尾辞および前記最も高いランクの辞書単語を結合させる、項目１２に記載のシステム。
（項目１４）
前記入力接辞が接頭辞である、項目１１に記載のシステム。
（項目１５）
前記複合単語出力モジュールが前記接頭辞および前記最も高いランクの辞書単語を結合させる、項目１４に記載のシステム。
（項目１６）
前記類似性関数が距離関数を含む、項目１４に記載のシステム。
（項目１７）
前記隣接候補単語が、前記入力接辞の前に付く候補単語または前記入力接辞の後に付く候補単語のいずれか１つを含む、項目１４に記載のシステム。
（項目１８）
前記入力信号に係るテキストが前記入力接辞として認識されない場合、前記複合単語モジュールは、前記入力信号に係るテキストおよび前記隣接候補単語の連結の結果として生じるストリングを生成し、前記辞書における前記ストリングの発生頻度を求め、前記ストリングの発生頻度を前記入力信号に係るテキストおよび前記隣接候補単語のそれぞれの発生頻度と比較し、前記ストリングの発生頻度が前記入力テキストおよび前記隣接候補単語のそれぞれの発生頻度を超えた場合、前記複合単語モジュールは前記入力テキストおよび前記隣接候補単語を連結単語として連結し、前記ストリングを前記連結単語によって置換する、項目１７に記載のシステム。
（項目１９）
前記入力信号に係るテキストおよび前記隣接候補単語の発生頻度に対する前記ストリングの発生頻度の比較が重み付け比較である、項目１８に記載のシステム。
（項目２０）
前記入力信号に係るテキストの語幹および接辞を組み合わせることを可能にするための、項目７に記載の方法であって、
前記入力信号を入力接辞として認識するステップと、
前記入力信号が前記入力接辞として認識された場合、候補単語を隣接候補単語として認識するステップと、
前記入力接辞を含む辞書内の１組の単語を検索するステップと、
前記入力接辞を含む前記１組の単語における各辞書単語を前記候補単語および前記入力接辞を含むストリングと比較することによる類似性関数に従って、前記入力接辞を含む前記１組の単語をランク付けするステップと、
前記入力接辞を含む前記１組の単語において最も高いランクの辞書単語を出力するステップと、
を更に含む、方法。
（項目２１）
前記接尾辞および前記最も高いランクの辞書単語を結合させるステップを更に含む、請求項１９に記載の方法。
（項目２２）
前記入力信号に係るテキストの語幹および接辞を組み合わせることを可能にするための、項目１０に記載のコンピュータ・プログラム製品であって、
前記入力信号を入力接辞として認識するため、および、候補単語を隣接候補単語として更に認識するためのプログラム・コードと、
前記入力接辞を含む辞書内の１組の単語を検索するためのプログラム・コードと、
前記入力接辞を含む前記１組の単語における各辞書単語を前記候補単語および前記入力接辞を含むストリングと比較することによる類似性関数に従って、前記入力接辞を含む前記１組の単語をランク付けするためのプログラム・コードと、
前記入力接辞を含む前記１組の単語において最も高いランクの辞書単語を出力するためのプログラム・コードと、
を含む、コンピュータ・プログラム製品。
【００１９】
本発明の様々な特徴およびそれらを達成する方法について、以下の説明、特許請求の範囲、および図面を参照して、更に詳細に説明する。図面において、適宜、参照番号を繰り返し用いて、参照した要素間の対応関係を示す。
【図面の簡単な説明】
【００２０】
【図１】本発明の単語パターン認識システムを使用可能である例示的な動作環境の概略図である。
【図２】図１の単語パターン認識システムの高レベル・アーキテクチャのブロック図である。
【図３】コア辞書または拡張辞書における位置に従って候補単語をランク付けする際の、図１および図２の単語パターン認識システムの動作の方法を示すプロセス・フロー・チャートである。
【図４】コア辞書からの単語および拡張辞書からの単語を異なる方法で表示する、図１および図２の単語パターン認識システムによって発生されるＮ−ベスト・リストを示す図である。
【図５】コア辞書からの単語を拡張辞書からの単語よりも高くグループ化してランク付けする、図１および図２の単語パターン認識システムによって発生されるＮ−ベスト・リストを示す図である。
【図６】単語候補を接尾辞または接頭辞として認識し、認識した接頭尾または接尾辞を適切な方法である原語における認識された単語に結合する際の、図１および図２の単語パターン認識システムの動作の方法を示すプロセス・フロー・チャートである。
【図７】複数の単語を組み合わせて複合的な単語にする際の、図１および図２の単語パターン認識システムの動作の方法を示すプロセス・フロー・チャートである。
【図８Ａ】図１および図２の単語パターン認識システムのメニューを示す図であり、このメニューによって、ユーザが複合的な単語を語幹および接尾語に分割することを可能とする。
【図８Ｂ】図１および図２の単語パターン認識システムのメニューを示す図であり、このメニューによって、ユーザが複合的な単語を語幹および接尾語に分割することを可能とする。
【図８Ｃ】図１および図２の単語パターン認識システムのメニューを示す図であり、このメニューによって、ユーザが複合的な単語を語幹および接尾語に分割することを可能とする。
【図９】図１および図２の単語パターン認識システムによって提示される複合的な単語上でユーザが行うペンの動きを示す図であり、このペンの動きによって複合的な単語を語幹および接尾語に分割する。
【図１０Ａ】図１および図２の単語パターン認識システムのメニューを示す図であり、このメニューを語幹に適用することで、ユーザは語幹および接尾辞を複合的な単語に組み合わせることができる。
【図１０Ｂ】図１および図２の単語パターン認識システムのメニューを示す図であり、このメニューを語幹に適用することで、ユーザは語幹および接尾辞を複合的な単語に組み合わせることができる。
【図１０Ｃ】図１および図２の単語パターン認識システムのメニューを示す図であり、このメニューを語幹に適用することで、ユーザは語幹および接尾辞を複合的な単語に組み合わせることができる。
【図１１】図１および図２の単語パターン認識システムのメニューを示す図であり、このメニューを接尾時に適用することで、ユーザは語幹および接尾辞を複合的な単語に組み合わせることができる。
【図１２】図１および図２の単語パターン認識システムによって提示される語幹および接尾辞の上でユーザが行うペンの動きを示す図であり、このペンの動きによって語幹および接尾辞を複合的な単語に組み合わせる。
【発明を実施するための形態】
【００２１】
以下の定義および説明は、本発明の技術分野に関する背景情報を与えるものであり、本発明の範囲を限定することなくその理解を容易にすることを意図していいる。
【００２２】
辞書：  認識システムにおけるユーザの入力に対して照合することができる認識可能な要素を定義する要素集合。
【００２３】
ＰＤＡ：パーソナル・デジタル・アシスタント：  ポケット・サイズのパーソナル・コンピュータ。ＰＤＡは通常、電話番号、約束、予定リストをストアする。ＰＤＡには、小さいキーボードを有するものがあり、仮想キーボード上で入力および出力を行うために用いる特別なペンのみを有するものもある。
【００２４】
sokgraph：  グラフとしてのショートハンド・オン・キーボード。仮想キーボード上での単語のパターン表現。
【００２５】
仮想キーボード：  タッチスクリーンのインタラクティブな機能を有するコンピュータ・シミュレーションによるキーボードであり、キー入力を用いてキーボードに置き換わるかまたは補足するために使用可能である。仮想キーは通常、手書き入力用のペンによって連続的に入力される。また、これは、グラフィカル・キーボード、オンスクリーン・キーボード、または手書き入力用ペン・キーボードとも呼ばれる。
【００２６】
図１は、本発明に従って、ショートハンド・オン・キーボード・インタフェース（単語パターン認識システム１０または「システム１０」）におけるテキスト入力を改善するためのシステム、コンピュータ・プログラム、および関連する方法を用いることができる例示的な全体的な環境を示す。システム１０は、通常コンピュータ内に埋め込まれたかコンピュータ上にインストールされたソフトウェア・プログラム・コードまたはコンピュータ・プログラムを含む。システム１０がインストールされたコンピュータは、ＰＤＡ１５または携帯電話２０等のモバイル・デバイスとすることができる。また、システム１０は、タブレット・コンピュータ２５、タッチ・スクリーン・モニタ３０、電子ホワイト・ボード３５、およびデジタル・ペン４０等のデバイスにインストールすることも可能である。
【００２７】
システム１０は、仮想キーボードまたは補助デバイス４５に代表される入力用の同様のインタフェースを用いたあらゆるデバイスにインストールすることができる。システム１０は、ディスケット、ＣＤ、ハード・ドライブ、または同様のデバイス等、適切なストレージ媒体上に記憶することができる。
【００２８】
システム１０は、ユーザがグラフィカル・キーボード上に形成するペンの動きの形状および位置から、単語を特定する。システム１０は、特定した単語を、例えばアプリケーション、オペレーティング・システム等のソフトウェア受信側に送信する。
【００２９】
図２は、システム１０の高レベルの階層を示す。システム１０は、辞書２０５を含む。辞書２０５は、コア辞書２１０および拡張辞書２１５を含む。コア辞書２１０は、ある原語において一般的に用いられる単語を含む。コア辞書は、システム１０の用途に応じて、典型的に約５，０００から１５，０００の単語を含む。拡張辞書２１５は、コア辞書２１５に含まれない単語を含む。拡張辞書２１５は、約３０，０００から１００，０００の単語を含む。
【００３０】
システム１０は、更に、認識モジュール２２０、事前ランク付けモジュール２２５、および選択／ランク付けモジュール２３０を含む。認識モジュール２２０は、入力パターン２３５に対応する候補単語のＮ−ベスト・リストを発生する。事前ランク付けモジュール２２５は、所定の基準に従ってＮ−ベスト候補単語をランク付けする。ランク付けモジュール２３０は、候補単語のＮ−ベスト・リストのランク付けを調節して、コア辞書２１０から得られた単語を、拡張辞書２１５から得られた単語よりも高く配置して、ランク付けた単語候補のリスト２４０を発生する。先に説明したように、拡張辞書から得られた単語は出力せず、コア辞書からの単語のみを出力する。
【００３１】
システム１０は、更に、連結モジュール２４５および複合単語モジュール２５０を含む。連結モジュール２４５は、ランク付けた単語候補のリスト２４０から選択された語を連結する。例えば、「ing」を「code」と連結して「coding」を形成する。複合単語モジュール２５０は、ランク付けた単語候補のリスト２４０から選択された単語を組み合わせてもっと大きい単語にする。出力単語２５５は、ランク付けた単語候補のリスト２４０から選択され、必要に応じて連結モジュール２４５および複合単語モジュール２５０によって処理された単語である。コア辞書２１０に載っている単語のみが、システム１０によって出力単語２５５として与えられる。システム１０は、拡張辞書２１５に載っている候補単語をＮ−ベスト・リストにのみ記載する。これらの単語は、出力単語２５５となるにはユーザに選択されなければならない。いったんユーザによって選択されると、システム１０は、拡張辞書２１５からの単語をコア辞書２１０に載せることを許可する。
【００３２】
システム１０は、認識モジュール２２０による入力パターン２３５の認識をユーザの語彙に適合させる一方で、認識システムにおいて最大の信号対雑音比を維持する。システム１０によって、コア辞書２１０および拡張辞書２１５は、認識モジュール２２０の認識プロセスに参加することができる。しかしながら、コア辞書２１０内の単語のみが、認識モジュール２２０の出力に直接入る。これらの単語は、デフォルトの出力である。入力パターン２３５に合致する拡張辞書２１５内の単語は、「Ｎ−ベスト」リストに記載されて、ユーザによる選択を待つだけである。ユーザがＮ−ベスト・リストからこれらの候補単語の１つを選択してデフォルトの出力に置き換えると、選択された単語はコア辞書２１０に載ることを許可される。単語がコア辞書２１０に載ることを許可された後、許可された単語が入力パターン２３５に合致した場合に、この単語が認識モジュールの出力に直接入ることができる。
【００３３】
図３は、入力パターン２３５に合致する候補のＮ−ベスト・リストを発生させる際のシステム１０の方法３００を示す。ユーザは、ショートハンド・オン・キーボード・インタフェース上で、ある単語を動作で示す（gesture）（ステップ３０５）。認識モジュール２２０は、単語候補のＮ−ベスト・リストを発生する（ステップ３１０）。事前ランク付けモジュール２２５は、信頼値または同様の尺度等の基準に従って、コア辞書２１０および拡張辞書２１５から単語候補のＮ−ベスト・リストをランク付けする（ステップ３１５）。
【００３４】
ランク付けモジュール２３０は、候補単語のＮ−ベスト・リスト内の最も高いランクの単語がコア辞書２１０から得られたか否かを判定する（判断ステップ３２０）。イエスの場合、ランク付けモジュール２３０は、ランク付けした単語候補のＮ−ベスト・リストを、ランク付けた単語候補のリスト２４０として出力する（ステップ３２５）。候補単語のＮ−ベスト・リスト内の最も高いランクの候補がコア辞書２１０に乗っていない場合、ランク付けモジュール２３０は、候補単語のＮ−ベスト・リストを検索して、コア辞書２１０から得られた最も高いランクの単語候補の位置を見つける（ステップ３３０）。
【００３５】
候補単語のＮ−ベスト・リスト内において、コア辞書２１０から得られた単語候補が見つからない場合（判断ステップ３３５）、ランク付けモジュール２３０は、ランク付けした単語候補のＮ−ベスト・リストを、ランク付けた単語候補のリスト２４０として出力する。その他の場合、ランク付けモジュール２３０は、見つけた単語候補を単語候補のＮ−ベスト・リスト内の最も高いランクの位置に移動させる（ステップ３３５）。ランク付けモジュールは、ランク付けした単語候補のＮ−ベスト・リストを、ランク付けた単語候補のリスト２４０として出力する（ステップ３４０）。
【００３６】
最も高いランクでない候補単語をユーザが選択することを可能とするために、ユーザ・インタフェース・コンポーネントは、次のベスト候補リスト（Ｎ−ベスト・リスト）を表示し、ここからユーザは入力パターン２３５に密接に合致する代替的な候補単語を見ることができる。一実施形態においては、このリスト上の候補単語の位置は、その候補単語に関連付けたランクによって決定され、その候補単語がコア辞書２１０または拡張辞書２１５のいずれに載っている否かとは無関係である。ただし、コア辞書内の単語がどれもユーザの入力に合致しない場合を除いて、最も高いランクの単語は常にコア辞書内にあるものでなければならない。別の実施形態においては、候補単語は辞書の出典によってグループ化される。すなわち、コア辞書２１０からの候補単語をグループ化し、拡張辞書２１５からの候補単語をグループ化する。
【００３７】
候補単語の出典は、任意に、候補単語に関連付けた異なる知覚的特徴を強調することによって示して、例えばコア辞書または拡張辞書からという候補単語のソースの認識を容易にすることができる。例示的な知覚的特徴は、例えば、色、背景の陰影、太字のフォント、イタリック対のフォント等を含む。ユーザがどの単語も選ばない場合、システム１０はコア辞書から候補単語のＮ−ベスト・リスト内の最も高いランクの単語を出力する。ユーザが単語を選択しない場合、システム１０はコア辞書から候補単語のＮ−ベスト・リスト内の最も高いランクの単語を出力する。
【００３８】
拡張辞書２１５から得られた単語は、候補単語のＮ−ベスト・リストからアクセスすることができる。このため、最も高いランクの候補を発生させる際のシステム１０のエラー許容度が著しく高まる。なぜなら、システムによって表示される最も高いランクの候補は、小さい方のコア辞書２１０から得るからである。所望の単語がコア辞書２１０において見つからないというまれな状況では、ユーザはＮ−ベスト・リストを活性化して所望の候補を選択する。
【００３９】
図４は、ランク付けモジュール２３０によって発生した例示的な候補単語のＮ−ベスト・リスト４００を示す。コア辞書２１０からの候補単語は、候補単語１、４０５、候補単語２、４１０、および候補単語３、４１５を含み、これらをまとめてコア候補単語４２０と称する。拡張辞書２１５からの候補単語は、候補単語４、４２５、候補５、４３０、候補６、４３５、候補７、４４０、および候補８、４４５を含み、これらをまとめて拡張候補単語４５０と称する。コア候補単語４２０および拡張候補単語４５０は、異なる強調を用いて表示されている。
【００４０】
この例において、コア候補単語４２０は太字の文字で示し、拡張候補単語４５０はイタリック体の文字で示す。コア候補単語４２０および拡張候補単語４５０を区別するために、例えば、文字の色、色の背景、陰影等、いかなる形態の強調も使用可能である。例示的な候補単語のＮ−ベスト・リスト４００内の候補単語は、認識モジュール２２０によって与えられるランクに従って位置付けられる。ただし、最上部の単語候補位置４５５は、コア辞書２１０から得られる単語のために確保される。これは、コア辞書からのどの単語もユーザの入力に合致しない場合には当てはまらない。この場合は、最上部の単語候補位置４５５に、拡張辞書からの単語を配置することができる。
【００４１】
図５は一実施形態を示し、例示的なＮ−ベスト・リスト５００は、ソースに従っておよび認識モジュール２００が与えるランク付け基準に従ってランク付けされた候補単語を含む。図４と同様に、コア候補単語４２０および拡張候補単語４５０は異なる強調で表示されている。この例では、コア候補単語４２０を太字の文字で示し、拡張候補単語４５０をイタリック体の文字で示す。
【００４２】
システム１０は、ユーザが動作で示した単語がコア辞書２１０の語彙に含まれない場合にユーザに与えられるオーバーヘッドを著しく低減する。単語がコア辞書２１０に含まれているのか、またはシステムが入力を誤って認識したのかが不確かであるということではなく、ユーザはＮ−ベスト・リストをスキャンして所望の候補単語を選択することができる。
【００４３】
最新の技術に精通した者には、単語を別個の辞書に分割することが単純な概念的モデルでもある１つの実施であることは明らかであろう。あるいは、辞書２０５を、コア辞書層および拡張辞書層という層として概念化して、頻度または事前確率（priori probability）によってランク付けすることも可能である。拡張辞書層からの単語がＮ−ベスト候補インタフェースから選択された場合、選択された単語の頻度または事前確率を、閾値または他の基準に対して調節して、選択された単語をコア層に属するように調節する効果を有する。
【００４４】
更に、システム１０によって、ユーザは、長い単語の部分を別個に入力することができる。システム１０は、部分的な「sokgraphs」を、ユーザが意図する１つの語に自動的に結合する。単語の部分は、「work」等の語幹および「ing」等の接辞である場合があり、または、２つ以上の一般的な短い単語であり、英語の「short+hand」のように連結して長い単語を形成する場合がある。いくつかの短い単語が連結して１つの複合的な単語になることは、スウェーデン語またはドイツ語等のいくつかのヨーロッパ言語ではもっとよくあることである。
【００４５】
連結は、連結した語に含まれる個別に認識される部分に基づいている。語幹および接辞の例では、ユーザは最初に語幹を表す語について入力パターン２３５を動作で示し、次いで接辞の入力パターン２３５を動作で示す。例えば、「coding」という単語では、ユーザは最初に「code」を動作で書き、次いで「ing」を動作で書く。キーボード上の入力トレースについて、認識モジュール２２０は、最適な合致を見つけて、これらの合致をストリング
【００４６】
【数１】
0005400200.tif 000002
【００４７】
と共にＮ−ベスト・リストに出力する。ここで、ストリングのランクｉは、選択されたストリング合致入力パターン２３５における認識モジュール２２０の信頼度を意味する。ランクｉ＝１を有するストリングは、認識モジュール２２０の最上位の選択肢である。認識モジュール２２０は、最新のＮ−ベスト・リストを一時バッファにストアする。規則的な語（語幹）についてのバッファされたＮ−ベスト・リストを、Ｓ0と示す。
【００４８】
一実施形態においては、連結可能接尾辞と呼ぶリストに接尾辞がストアされている。そのグラフィカル・キーボード上の幾何学的パターンであるsokgraphsは、一般的な単語のsokgraphと同じ方法で表される。例えば、「ing」という接尾辞では、そのsokgraphは、ｉキーで開始してｎキーへと動きｇキーで終了する連続的なトレースである。システムは、「ing」のsokgraphについての入力パターン２３５を、他のいずれのsokgraphとも同じ方法で認識する。ただし、接尾辞「ing」を連結可能接尾辞のリストにストアする。あるいは、接尾辞および規則的な語の双方を同一の辞書にストアすることも可能であるが、識別子によって規則的な語から接尾辞を区別する。一実施形態においては、連結可能接尾辞を参照テーブルにストアし、ここで、「ing」等の各接尾辞を、その接尾辞で終わる辞書内の入力を指し示す一連のポインタに関連付ける。
【００４９】
図６は、連結可能接尾辞を語幹の語と結合する際のシステム１００の方法６００を示す。ユーザは、ショートハンド・オン・キーボード・インタフェース上で、ある単語を動作で示す（ステップ６０５）。連結モジュール２４５は、単語候補の出力Ｎ−ベスト・リスト２４０について最高ランクの単語を取得する（ステップ６１０）。連結モジュール２４５は、取得した単語が連結可能接尾辞であるか否かを、例えば取得した単語を連結可能接尾辞リストと比較することによって判定する（判断ステップ６１５）。取得した単語が連結可能接尾辞でない場合、連結モジュール２４５は何の動作も行わない（ステップ６２０）。
【００５０】
取得した単語が連結可能接尾辞である場合、連結モジュール２４５は、特定した連結可能接尾辞で終わる連結候補を見つける（ステップ６２５）。連結モジュール２４５は、各連結候補から連結可能接尾辞を取り除く（ステップ６３０）。現在の接尾辞（例えば「ing」）で終わる単語はＳ1(i)と示し（例えばcodingまたはworking）、接尾辞を取り除いた残りはＳ2(i)と示す（例えば「code」または「work」）。
【００５１】
連結モジュール２４５は、接尾辞を取り除いた連結候補と連結可能接尾辞との間のストリング編集距離（具体的には、Ｗａｇｎｅｒ−Ｆｉｓｈｅｒアルゴリズムを用いたＭｏｒｇａｎ編集エラー）を計算する（ステップ６３５）。次いで、残りＳ2(i)を、バッファしたＮ−ベスト・リスト内の最上位の選択肢Ｓ0(i)に対して照合する。Ｓ0は、単語の断片でなく単語全体を含むので（例えばＳ0(1)＝code）、照合は正確でない。システム１０は、編集距離（単一の文字の挿入、削除、または置換から選択される最少数の編集動作）を用いて、２つのストリングを照合し、Ｓ0(1)に最も近いＳ2(i)（ｉ＝１、Ｎ）内のストリングを見出して、それをＳ2minと表す。連結モジュール２４５は、関連する編集距離によって連結候補を分類する（ステップ６４０）。連結モジュール２４５は、最小編集距離を有する連結候補を戻す（ステップ６４５）。
【００５２】
代替的な実施形態においては、単語の頻度または前の確率または高水準言語規則を用いて、同じ編集距離を共有する連結候補をランク付けする。
【００５３】
Ｓ1(i)におけるＳ2minに対応する単語を、選択した連結候補として戻す。例えば、「cod」（「coding」の接尾辞を取り除いた部分）に対する「code」は、編集距離について、「work」（「working」の接尾辞を取り除いた部分）に対する「code」よりも近い。一実施形態においては、最低許容可能編集距離不一致として閾値を設定することも可能である。
【００５４】
別の実施形態においては、接尾辞は、その接尾辞で終わる単語の全てにはリンクされない。その代わりに、ある接尾辞を認識した場合、システム１０は辞書２０５をスキャンし、認識した接尾辞で終わる単語を見つけ、見つけた単語から最後部分を取り除き、取り除いた残りを直前の単語と照合し、前述したように連結について最も近い合致を選択する。これらの２つの実施形態の違いは、計算時間とメモリ空間とのトレードオフにある。辞書をスキャンすることは、別個のポインタ・リストが必要ないことを意味し、従って、ソフトウェア・コードがアクセスしている媒体内の辞書のストレージ要求が抑えられる。他方で、辞書をスキャンすることは、別個のポインタ・リストによってインデクスをつけた辞書を含むシステムよりも単語の位置を見つけるよりも長い時間を要する。
【００５５】
システム１０は、接頭辞および語幹を、語幹および接尾辞と同様に扱う。連結モジュール２４５は、最初に、別個の接頭辞リストまたは接頭辞識別子を有する共通の辞書のいずれかから、ランク付けた単語候補のリスト２４０の出力から接頭辞に基づいた単語を認識する。次いで、連結モジュール２４５は、接頭辞の後の単語を認識する。連結モジュール２４５は、その接頭辞を含む全ての単語を照合し、合致した単語の接頭辞を取り除き、連結のために最も近い合致を戻す。
【００５６】
２つの短い単語を１つの長い単語に連結することは、決定的ではない。例えば、スウェーデン語において、「smoke free」および「smokefree」は双方とも許されるが、それらの意味は反対である（「喫煙は許されない」に対して「喫煙は許される」）。複合単語モジュール２５０は、統計的かつインタラクティブな方法を用いて、２つの単語の連結を処理する。この方法をサポートするため、システム１０は、辞書２０５に、全ての単語の頻度（テキストの文書データ内の各単語の合計発生数に基づく）および全てのバイグラム（bigram）の頻度（２つの並んだ単語の合計発生数に基づく）を含む統計的情報をストアする。
【００５７】
図７は、単語を組み合わせて複合的な単語にする際のシステム１０の方法７００を示す。方法７００は、連続する単語対（単語１、単語２）を調べる（ステップ７０５）。複合単語モジュール２５０は、辞書２０５において、組み合わせた連続する単語（単語１＋単語２＝単語３）が見つかるか否かを判定する（判断ステップ７１０）。組み合わせた単語すなわち単語３が見つからない場合、複合単語モジュール２５０は何も動作を行わない（ステップ７１５）。合致（単語３＝単語１＋単語２）が見つかった場合、複合単語モジュール２５０は、単語３の頻度をバイグラム（単語１、単語２）と比較する（ステップ７２０）。単語３の頻度が、所定の閾値と比較して、バイグラム（単語１、単語２）の頻度よりも大きい場合、または、バイグラム（単語１、単語２）の頻度に対する単語３の頻度の比が所定の閾値よりも大きい場合（判断ステップ７２５）、複合単語モジュールは、単語１および単語２を単語３に置き換える（ステップ７３０）。その他の場合は、何も動作を行わない（ステップ７１５）。あるいは、単語３の頻度およびバイグラム（単語１、単語２）の頻度の比較は、重み付け比較である。
【００５８】
システム１０は、連結および分離を調節するためのユーザ・インタラクションを可能とするユーザ・インタフェースを提供する。図８Ａ、図８Ｂ、図８Ｃは、組み合わせた単語を２つの別個の単語または単語の部分に分離することを示す。例示的なスクリーン８０５は、例示的な連結した単語「coding」８１０をユーザに対して表示する。ユーザは、例えば単語「coding」８１０をクリックすることによって、表示した連結単語「coding」を選択する（図８Ａ）。単語「coding」８１０の選択によって、メニュー・オプション８１５が表示される。これは、例えば、選択可能な命令「「code」と「ing」に分割」または同等のオプションを含む（図８Ｂ）。ユーザがメニュー・オプション８１５に示された命令を選択すると、システム１０は、表示された連結単語「coding」８１０を、語幹「code」８２０および接尾辞「ing」８２５に分割する（図８Ｃ）。
【００５９】
図９は、連結した単語「coding」８１０を分割するために用いられる代替的な例であるペン・トレースの動き９０５を示す。スクリーン８０５は、連結した単語「coding」８１０をユーザに対して表示する。ユーザは、連結した単語「coding」８１０上で、ペン・トレースの動き９０５を行う。システム１０は、図８Ｃに示すように、表示されている連結単語「coding」８１０を、語幹「code」８２０および接尾辞「ing」８２５に分割する。
【００６０】
信頼度が低いために動作が行われない連結可能単語については、図１０Ａから図１０Ｃに示すように、単語１および単語２にメニュー・オプションが埋め込まれている。例えば、スクリーン８０５は、図１０Ａに示すように、単語１「code」１００５および単語２「ing」１０１０をユーザに対して表示する。単語１「code」１００５を選択すると、オプション・メニュー１０１５が表示され、これは、選択可能な命令「右に動く」または同等のオプションを含む（図１０Ｂ）。ユーザが、オプション・メニュー１０１５に示された命令「右に動く」を選択すると、システム１０は、単語１「code」１００５および単語２「ing」１０１０を連結し、連結された単語「coding」１０２０を形成する（図１０Ｃ）。
【００６１】
図１１は、ユーザが単語２「ing」１０１０を選択した場合に表示される例示的なオプション・メニュー１１０５を示す。ユーザが、オプション・メニュー１１０５に示される命令「左に動く」を選択すると、システム１０は、単語１「code」１００５および単語２「ing」１０１０を連結し、図１０Ｃに示すように、連結された単語「coding」１０２０を形成する。
【００６２】
図１２は、単語１「code」１００５および単語２「ing」１０１０を連結するために用いられる代替例であるペン・トレースの動き１２０５を示す。ペン・トレースの動き１２０５は、例えば、単語１「code」１００５および単語２「ing」１０１０を横切る円を含む。システム１０は、ペン・トレースの動き１２０５によって表されるコマンドを認識し、単語１「code」１２０５および単語２「ing」１０１０を連結し、図１０Ｃに示すように、連結された単語「coding」１０２０を形成する。
【図１】
0005400200.tif 000003
【図２】
0005400200.tif 000004
【図３】
0005400200.tif 000005
【図４】
0005400200.tif 000006
【図５】
0005400200.tif 000007
【図６】
0005400200.tif 000008
【図７】
0005400200.tif 000009
【図８Ａ】
0005400200.tif 000010
【図８Ｂ】
0005400200.tif 000011
【図８Ｃ】
0005400200.tif 000012
【図９】
0005400200.tif 000013
【図１０Ａ】
0005400200.tif 000014
【図１０Ｂ】
0005400200.tif 000015
【図１０Ｃ】
0005400200.tif 000016
【図１１】
0005400200.tif 000017
【図１２】
0005400200.tif 000018