(57)【要約】【課題】曖昧なテキスト入力の明確なフィルタリングのための方法と装置を提供すること。【解決手段】本発明は、曖昧なテキスト入力の明確なフィルタリングのための方法と装置に関する。本発明は、2-キーおよび長押しのようなさまざまな明確なテキスト入力方法論を含む実施例を提供する。本発明は、更に、ビルドアラウンド方法論、語幹ロッキング方法論、語完成方法論およびn-グラム検索を使用して、データベースにおける語をマッチングさせる手段を提供する。本発明の実施例は、cpu(100)に結合される、キーボード(54)、ディスプレイ(53)、およびスピーカ(102)を有する。このcpuは、オペレーティング・システム(106)、曖昧さ除去ソフトウェア(108)、語彙モジュール(110)、並びに様々なアプリケーションプログラム(112, 114)に接続されている。
2005530272.tif 000002
【特許請求の範囲】
【請求項１】
曖昧なテキスト入力の明確な文字フィルタリングのための装置であって、
各々適切なインターフェース回路を介してプロセッサに結合されているキーボードおよびディスプレイであって、当該プロセッサが、当該キーボードからインプットされた文字を受信し、かつ当該ディスプレイに対する出力オブジェクトを管理する、キーボードおよびディスプレイと、
当該プロセッサに結合されているメモリであって、
オペレーティング・システムと、
曖昧さ除去ソフトウェアと、
曖昧なテキスト入力ソフトウェアにおける明確な文字フィルタリングと、
オブジェクト・データベースと、
オプションとして、1つ以上のアプリケーションプログラムと、
を有する、メモリと
を有する装置。
【請求項２】
通信補助として音声合成ソフトウェアおよびスピーカを更に有する請求項1に記載の装置。
【請求項３】
当該文字が、これらに限定されるものではないが、字、数字、句読記号、任意の言語からの記号、日本語の仮名、韓国のジャモ、アイコン等を有し；かつ
オブジェクトが、これらに限定されるものではないが、文字、語、語の部分、語幹、アイコン、電話番号、目録記録等のシーケンスを有する請求項1に記載の装置。
【請求項４】
これらに限定されるものではないが、
2-キーの明確な入力；
文字シーケンスを表示し、かつ循環するためにキーを長押しすること；
明確に数／数字を入力するためにキーを長押しすること；
明確に数／数字を入力するために、数モードに変化させ、かつキーを押すこと;
明確に文字を入力するために、マルチタップ・モードに変化させ、かつ繰り返しキーを押すこと；
2-キーの明確な入力として、キー押しの各対をグループ化することにより、またはマルチタップ入力として前記同じキーの繰り返された押しをグループ化することにより、明確な文字として曖昧なモード・キー押しを解釈すること；
それによって単一の押しでの曖昧な入力および異なる種類の押しでの明確な文字入力を可能にするマルチスイッチ・キーを使用すること；
曖昧な文字のセットを示している一次キーおよび前記セットにおける何れの文字を選択すべきかを示している2次キーを有する、同時に1つより多いキーを押すことによるコーディング；および
先行するキーストロークと関連している最も可能性がある文字の解析に基づいて、または現在の語の候補リストの中の語に基づいてキーに割り当てられる任意の文字を提供するための二次手段としてソフトキーを使用することの何れかによる、またはそれらの任意の組み合わせによる、明確な文字を入力するための手段を更に有する請求項1に記載の装置。
【請求項５】
当該2-キーの明確な入力が、これらに限定されるものではないが、
マトリックス表示；
関連づけられた文字の予め定められたセットのサブセットを含んでいるラベル；および
スクロールリストの何れかを使用する請求項4に記載の装置。
【請求項６】
当該長押しが、
当該文字シーケンスが表示された後で、これらに限定されるものではないが：
当該キーが押される追加的な時間ごとに、当該文字シーケンスにおける次の文字が、強調され、充分な時間が、一回のキー押しと前記次のものとの間で経過した後、または異なるキーが押されたとき、終了すること；
または、ナビゲーション・キーが押されるごとに、当該文字シーケンスにおける次の文字が強調されることの何れかを更に有する請求項4に記載の装置。
【請求項７】
当該明確な文字フィルタリング・ソフトウェアが：
文字のシーケンスにおける1つ以上の文字が明確に入力されるとき、対応する位置の当該明確に入力された文字を有している当該オブジェクト・データベースから格納されたオブジェクトのみを検索するための手段を更に有する請求項1に記載の装置。
【請求項８】
当該明確な文字フィルタリング・ソフトウェアが：
最初の明確に入力された文字にデフォルトの語を受け入れるのではなく、可能な限り長く、明確に入力された文字および曖昧に入力された文字に対して当該データベースの当該オブジェクトをマッチングさせるための手段を更に有する請求項1に記載の装置。
【請求項９】
当該明確な文字フィルタリング・ソフトウェアが：
それによって、当該曖昧に選択されたキーおよび当該明確に選択された文字と関連している文字であって、それぞれの対応する位置にある当該文字を有するオブジェクトのための当該オブジェクト・データベースを検索することにより、当該曖昧に選択されたおよび明確に選択された文字を使用する候補の所望のオブジェクトを解釈することを作動させ、および当該検索されたオブジェクトを示す、所望の文字を曖昧または明確に選択するための手段；
所望のオブジェクトが当該示された検索されたオブジェクトの中にあるか否かを決定するための手段；
当該所望のオブジェクトが当該示された検索されたオブジェクトの中にない場合、所望のキー・ステップを当該選択することから方法を繰り返すための手段；および
当該所望のオブジェクトを選択するための手段を更に有する請求項1に記載の装置。
【請求項１０】
当該示された検索されたオブジェクトが、予め定められた順序である、または当該予め定められた順序が、優先順位をつけられている請求項9に記載の装置。
【請求項１１】
当該明確な文字フィルタリング・ソフトウェアが、少なくとも1つの区切り文字をビルドアラウンドするための手段を更に有し、当該少なくとも1つの区切り文字が、それらに決して限定されないが、明確または曖昧に入力された文字、または予め定められた文字のセットからの文字である請求項1に記載の装置。
【請求項１２】
ビルドアラウンドするための当該手段が：
特定のシーケンスのための明確に入力された文字を含むオブジェクトをマッチングさせることにより解釈するための手段；
当該少なくとも1つの区切り文字を先行する曖昧なキーとマッチングする1つ以上のオブジェクトを含むオブジェクトをマッチングさせることにより解釈するための手段；
当該少なくとも1つの区切り文字で終わる曖昧なキーとマッチングする1つ以上のオブジェクトを含むオブジェクトをマッチングさせることにより解釈するための手段；
当該少なくとも1つの区切り文字によって始まる1つ以上のオブジェクトを含むオブジェクトをマッチングさせることにより解釈するための手段；および
当該少なくとも1つの区切り文字に続く1つ以上のオブジェクトを含むオブジェクトをマッチングさせることにより解釈するための手段の何れか、または任意の組み合わせを更に有する請求項11に記載の装置。
【請求項１３】
ビルドアラウンドするための当該手段が、当該オブジェクト・データベースの複数の検索から、次の結果のセットを得るために次のキーを押すことにより作動させられる請求項11に記載の装置。
【請求項１４】
当該明確な文字フィルタリング・ソフトウェアが、1つ以上の文字列を明確に入力されたとしてマークすることにより、当該1つ以上の文字列を解釈し直すことを除去するために、語幹ロッキングのための手段を更に有する請求項1に記載の装置。
【請求項１５】
当該語幹ロッキングのための手段が、これらに限定されるものではないが：
次のキーが当該1つ以上の文字列の1つをロックするフル・ネクスト・ロッキング・メカニズム；
矢印キーを使用することにより当該1つ以上の文字列のうちの1つの上でカーソルを移動させることによる制限のないロッキング；
当該オブジェクトが、当該明確に入力された文字によって始まり、かつ当該曖昧に入力されたキーシーケンスとマッチングする当該データベースにおけるオブジェクトをマッチングさせることにより現在の曖昧なキーシーケンスに先行するあらかじめ明確に入力された文字を使用するための手段；
オブジェクト完成能力；
「OK」または選択キーのような、ロッキング機能を割り当てられたキーを押すことを可能にするための手段；
提供されている語完成をロックするために適切な矢印キーを押すことを可能にするための手段；
ロッキングメカニズムの階層；および
当該オブジェクト・データベースに格納されないオブジェクトを生成するための手段の何れか、または任意の組み合わせを更に有する請求項14に記載の装置。
【請求項１６】
当該フル・ネクスト・ロッキング・メカニズムが、語の境界を識別し、かつ使用するための手段を更に有する請求項15に記載の装置。
【請求項１７】
当該オブジェクト・データベースに格納されないオブジェクトを生成するための当該手段が：
一連のロックされた入力を有する最初の文字のセットを受信するための手段；
第2の文字のセットと関連している次の曖昧な入力を受信するための手段；
ロックされた文字の当該入力された最初のセットおよび当該次の曖昧な入力を使用している当該所望のオブジェクトのための当該データベースを検索するための手段；
当該所望のオブジェクトが当該データベースにおいて見つけ出される場合、当該所望のオブジェクトを選択することを可能にするための手段；および
さもなければ、当該第2の文字のセットのサブセットをロックし、かつ検索することにより、第2の検索を実行するための手段を更に有する請求項15に記載の装置。
【請求項１８】
曖昧なテキスト入力の明確な文字フィルタリングのための方法であって、当該方法が：
キーボードおよびディスプレイであって、各々適切なインターフェース回路を介してプロセッサに結合され、当該プロセッサが、当該キーボードからインプットされた文字を受信し、かつ当該ディスプレイに対する出力オブジェクトを管理するキーボードおよびディスプレイを提供すること；および
メモリであって、当該メモリが：
オペレーティング・システム；
曖昧さ除去ソフトウェア；
曖昧なテキスト入力ソフトウェアにおける明確な文字フィルタリング；
オブジェクト・データベース；および
オプションとして、1つ以上のアプリケーションプログラムを有する当該プロセッサに結合されているメモリを提供すること有する方法。
【請求項１９】
通信補助として音声合成ソフトウェアおよびスピーカを提供することを更に有する請求項18に記載の方法。
【請求項２０】
当該文字が、これらに限定されるものではないが、字、数字、句読記号、任意の言語からの記号、日本語の仮名、韓国のジャモ、アイコン等を有し；かつ
オブジェクトが、これらに限定されるものではないが、文字、語、語の部分、語幹、アイコン、電話番号、目録記録等のシーケンスを有する請求項18に記載の方法。
【請求項２１】
これらに限定されるものではないが、
2-キーの明確な入力；
文字シーケンスを表示し、かつ循環するためにキーを長押しすること；
明確に数／数字を入力するためにキーを長押しすること；
明確に数／数字を入力するために、数モードに変化させ、かつキーを押すこと;
明確に文字を入力するために、マルチタップ・モードに変化させ、かつ繰り返しキーを押すこと；
2-キーの明確な入力として、キー押しの各対をグループ化することにより、またはマルチタップ入力として前記同じキーの繰り返された押しをグループ化することにより、明確な文字として曖昧なモード・キー押しを解釈すること；
それによって単一の押しでの曖昧な入力および異なる種類の押しでの明確な文字入力を可能にするマルチスイッチ・キーを使用すること；
曖昧な文字のセットを示している一次キーおよび前記セットにおける何れの文字を選択すべきかを示している2次キーを有する、同時に1つより多いキーを押すことによるコーディング；および
先行するキーストロークと関連している最も可能性がある文字の解析に基づいて、または現在の語の候補リストの中の語に基づいてキーに割り当てられる任意の文字を提供するための二次手段としてソフトキーを使用することの何れかによる、またはそれらの任意の組み合わせによる、明確な文字を入力することを更に有する請求項18に記載の方法。
【請求項２２】
当該2-キーの明確な入力が、これらに限定されるものではないが、
マトリックス表示；
関連づけられた文字の予め定められたセットのサブセットを含んでいるラベル；および
スクロールリストの何れかを使用する請求項21に記載の方法。
【請求項２３】
当該長押しが、
当該文字シーケンスが表示された後で、これらに限定されるものではないが：
当該キーが押される追加的な時間ごとに、当該文字シーケンスにおける次の文字が、強調され、充分な時間が、一回のキー押しと前記次のものとの間で経過した後、または異なるキーが押されたとき、終了すること；
または、ナビゲーション・キーが押されるごとに、当該文字シーケンスにおける次の文字が強調されることの何れかを更に有する請求項21に記載の方法。
【請求項２４】
当該明確な文字フィルタリング・ソフトウェアが：
文字のシーケンスにおける1つ以上の文字が明確に入力されるとき、対応する位置の当該明確に入力された文字を有している当該オブジェクト・データベースから格納されたオブジェクトのみを検索するための手段を更に有する請求項18に記載の方法。
【請求項２５】
当該明確な文字フィルタリング・ソフトウェアは：
最初の明確に入力された文字にデフォルトの語を受け入れるのではなく、可能な限り長く、明確に入力された文字および曖昧に入力された文字に対して当該データベースの当該オブジェクトとマッチングさせることを更に有する請求項18に記載の方法。
【請求項２６】
当該明確な文字フィルタリング・ソフトウェアが：
それによって、当該曖昧に選択されたキーとおよび当該明確に選択された文字関連している文字であって、それぞれの対応する位置にある当該文字を有するオブジェクトのための当該オブジェクト・データベースを検索することにより、当該曖昧に選択されたおよび明確に選択された文字を使用する候補の所望のオブジェクトを解釈することを作動させ、および当該検索されたオブジェクトを示す、所望の文字を曖昧または明確に選択すること；
所望のオブジェクトが当該示された検索されたオブジェクトの中にあるか否かを決定すること；
当該所望のオブジェクトが当該示された検索されたオブジェクトの中にない場合、所望のキー・ステップを当該選択することから方法を繰り返すこと；および
当該所望のオブジェクトを選択することを更に有する請求項18に記載の方法。
【請求項２７】
当該示された検索されたオブジェクトが、予め定められた順序である、または当該予め定められた順序が、優先順位をつけられている請求項26に記載の方法。
【請求項２８】
当該明確な文字フィルタリング・ソフトウェアが、少なくとも1つの区切り文字をビルドアラウンドすることを更に有し、当該少なくとも1つの区切り文字が、それらに決して限定されないが、明確または曖昧に入力された文字、または予め定められた文字のセットからの文字である請求項18に記載の方法。
【請求項２９】
当該ビルドアラウンドすることが：
特定のシーケンスのための明確に入力された文字を含むオブジェクトとマッチングさせることにより解釈すること；
当該少なくとも1つの区切り文字を先行する曖昧なキーとマッチングさせる1つ以上のオブジェクトを含むオブジェクトをマッチングさせることにより解釈すること；
当該少なくとも1つの区切り文字で終わる曖昧なキーとマッチングする1つ以上のオブジェクトを含むオブジェクトをマッチングさせることにより解釈すること；
当該少なくとも1つの区切り文字によって始まる1つ以上のオブジェクトを含むオブジェクトをマッチングさせることにより解釈すること；および
当該少なくとも1つの区切り文字に続く1つ以上のオブジェクトを含むオブジェクトをマッチングさせることにより解釈することの何れか、または任意の組み合わせを更に有する請求項28に記載の方法。
【請求項３０】
当該ビルドアラウンドすることが、当該オブジェクト・データベースの複数の検索から、次の結果のセットを得るために次のキーを押すことにより作動させられる請求項28に記載の方法。
【請求項３１】
当該明確な文字フィルタリング・ソフトウェアが、文字列を明確に入力されたとしてマークすることにより、当該1つ以上の文字列を解釈し直すことを除去するために、語幹ロッキングすることを更に有する請求項18に記載の方法。
【請求項３２】
当該語幹ロッキングすることが、これらに限定されるものではないが：
次のキーが当該1つ以上の文字列の1つをロックするフル・ネクスト・ロッキング・メカニズムを提供すること；
矢印キーを使用することにより当該1つ以上の文字列のうちの1つの上でカーソルを移動させることによる制限のないロッキングを提供すること；
当該オブジェクトが、当該明確に入力された文字によって始まり、かつ当該曖昧に入力されたキーシーケンスとマッチングする、当該データベースにおけるオブジェクトをマッチングさせることにより現在の曖昧なキーシーケンスに先行するあらかじめ明確に入力された文字を使用すること；
オブジェクト完成能力を提供すること；
「OK」または選択キーのような、ロッキング機能を割り当てられたキーを押すことを可能にすること；
提供されている語完成をロックするために適切な矢印キーを押すことを可能にすること；
ロッキングメカニズムの階層を提供すること；および
当該オブジェクト・データベースに格納されないオブジェクトを生成することの何れか、または任意の組み合わせを更に有する請求項31に記載の方法。
【請求項３３】
当該フル・ネクスト・ロッキング・メカニズムが、語の境界を識別し、かつ使用することを更に有する請求項32に記載の方法。
【請求項３４】
当該オブジェクト・データベースに格納されないオブジェクトを当該生成することが：
一連のロックされた入力を有する最初の文字のセットを受信すること；
第2の文字のセットと関連している次の曖昧な入力を受信すること；
ロックされた文字の当該入力された最初のセットおよび当該次の曖昧な入力を使用している当該所望のオブジェクトのための当該データベースを検索すること；
当該所望のオブジェクトが当該データベースにおいて見つけ出される場合、当該所望のオブジェクトを選択することを可能にすること；および
さもなければ、当該第2の文字のセットのサブセットをロックし、かつ検索することにより、第2の検索を実行することを更に有する請求項32に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、テキスト・インプット技術に関する。より詳しくは、本発明は、キーの数を減少させたキーパッドを有する無線通信デバイスに対するテキスト入力ソリューションに関する。
【背景技術】
【０００２】
年を追って、携帯型コンピュータは、小さくなって来ている。より小さな携帯型コンピュータを生産しようとする上でサイズ縮小を妨げる主な要素は、キーボードであった。標準のタイプライタ-サイズのキーを使用する場合、携帯型コンピュータは、少なくともキーボードと同じ大きさでなければならない。ミニチュア・キーボードも携帯型コンピュータに使われて来たが、ミニチュア・キーボードのキーは、小さすぎてユーザが容易にまたは軽快に操作することが出来ないことが判明している。
【０００３】
携帯型コンピュータにフルサイズのキーボードを組み込むことは、コンピュータを真に携帯して使用することを妨げる。ほとんどの携帯型コンピュータは、それを平坦な作業面に配置しないと、ユーザが両手でタイプすることはできない。ユーザは、立っているときまたは移動中には、携帯型コンピュータを使用することは困難である。パーソナル携帯情報機器(PDA)またはパームサイズのコンピュータと呼ばれる、小型携帯型コンピュータの最近の世代において、メーカは、デバイスに手書き文字認識ソフトウェアを組み込むことによって本問題に対処しようとした。ユーザは、タッチセンシティブ・パネルまたはスクリーン上に書くことによってテキストを直接入力することができる。この手書きのテキストは、次に、認識ソフトウェアによって、デジタルデータに変換される。残念なことに、ペンを用いたプリントまたは書込みは、一般に、タイプより遅いという事実に加えて、手書き文字認識ソフトウェアの精度および速度は、現在まで、満足であるとは言えない。日本語の場合、その多数の複合文字ゆえに、問題は特に難しくなる。更に悪いことには、テキスト・インプットを必要とする今日のハンドヘルドコンピューティング・デバイスは、今もなお小型化されている。双方向ページング、移動電話および他のポータブル無線技術の最近の進歩により、小さくて携帯可能な双方向メッセージ通信システム、特に、電子メール(e-mail)を送受信することができるシステムが要求されて来ている。
【０００４】
したがって、小型で、かつユーザが片手でデバイスを保持しながら、他方の手で操作することが可能な、テキストをコンピュータ・デバイスに入力させるためのキーボードを開発することは、有益であろう。従来の製品開発では、キーの数を減少させたキーボードを使用することが検討されて来た。タッチ-トーン電話のキーパッド・レイアウトにおいて使用されているように、キーの数を減少させたキーボードの多くには、3行4列のキーが使用されて来ている。その配列において多数のキーは、複数の文字(character)と関連している。したがって、与えられたキーと関連している文字のいずれが所望の文字であるかをユーザに示すための方法が必要である。キーの数を減少させたキーボード上に入力された平仮名文字を曖昧でなく特定するのための或る提案されたアプローチは、ユーザに各々の仮名を特定するために2回以上のキーストロークを入力することを要求する。キーストロークは、同時に（コーディング）、またはシーケンスに（マルチストローク仕様）入力される。コーディングもマルチストローク仕様も、充分に簡単かつ効率的な使用を備えるキーボードをもたらさなかった。マルチストローク仕様は、非効率的であり、およびコーディングは、習得し使用することが、多くの場合、複雑である。
【０００５】
日本語の五十音図の各音節は、単一の母音、または母音が続く子音の何れかから構成される。例外が2つある：母音を有しない音節「ん」、および次の子音の発音の「ダブリング(doubling)」、または「ハードニング(hardening)」を示すために使用される「小さい」「っ」。これらの音節は、（ネイティブの日本語を書く場合、一般に使用される）平仮名または（外来語を書く場合、一般に使用される）片仮名として書くことができる。用語「仮名」は、平仮名または片仮名の何れかを指すために使用される。字音表は、（表1に示される）行と列の表として一般に表される。ここにおいて、各行は、5つの日本の母音、「あ」、「い」、「う」、「え」、および「お」に対応する列に5つまでの入力を有することができる。所定の子音が行内の或る入力に対して音の変化を受けるにもかかわらず、各行は、最初の子音に対応する（例えば、s(a)「さ」=>sh(i)「し」； t(a)「た」=>ts(u)「つ」；など）。第1の行は、最初の子音を持たない5つの母音の各々に対応する5つの音節から成る。第8の行は、口蓋音化された母音、「や」、「ゆ」、および、「よ」から成る（「YI」および「YE」は、現代の日本語で使用されない）。発音区別符号「  ゛」および「  ゜」は、子音の発音の変化を示すために使用され、無声子音から有声子音への変化を一般に示す。表2は、発音区別符号「  ゛」および「  ゜」を表1の音節に追加することによって形成される基本的な音節を示す。音節「 や」、「ゆ」 および 「よ」 のより小さいバージョンも、また、表1および2の第2の列または「い」列の音節と結合して使用され、対応する子音と口蓋音化された母音から成る音節を表す（例えば、「小さい」「や」が続く「き」  は、「きゃ」を表す）。したがって、表3に示されるように、発音区別符号を用いて書かれた形を含む、口蓋音化された母音を有するこれらの音節は一対の仮名として書かれる。
表2
2005530272.tif 000003
表3
2005530272.tif 000004
【０００６】
日本語の辞書式順序は、（母音Aに対応する）表1の第1の列の音節のシーケンス：「あ」、「か」、「さ」、「た」、「な」、「は」、「ま」、「や」、「ら」、「わ」、および「ん」によって一般に表される；ここで（「ん」を除く）これらの音節の各々は、母音「あ」、「い」、「う」、「え」、および「お」からこの順序で構成される5つまでの音節のサブ階層を表す。現在、日本のテキスト・インプットを必要とする移動電話のような製品は、一般に、9個のキーの各々が、第1の9つの行（「あ」から「ら」）の各々と関連されるマルチストローク仕様方法を使用する。キー上の複数のストロークは、対応している行の音節のいずれが意図されるかを示すために使用され、そこで、キー上の各追加のストロークが、出力される文字を表1または2の次の列に現れる文字へシーケンシャルに変化する。分離キーまたはタイムアウト方法は、同じキーと関連している連続した文字の入力を可能にするために使用される。第10のキーは、音節「わ」、「を」、「ん」および前の音節の母音を繰り返す母音のみの音節を示す片仮名「ー」記号のために使用される。小さい「や」、「ゆ」、および「よ」もまた「や」キーと関連し、選択されるために、追加のキーストロークを要求する。追加のキーは、音節に続いている発音区別符号を追加するために共通に使用される。キーの数を減少させたキーボードを使用して日本の平仮名（または片仮名）を入力することは、引き続き難しい問題である。上述のような現在のマルチストローキング方法を用いると、単一の仮名音節を生成することは、平均少なくとも3回のキーストロークを必要とする。2文字によって表される口蓋音化された母音を有する音節（すなわち、「小さい」「や」「ゆ」または「よ」が続く表1および2の第2列または「い」列からの音節から成る表3の音節）は、生成するために8回までのキーストロークを必要とする可能性がある。したがって、平仮名を入力するために必要とされるキーストロークの数を最小限に抑えるのに役立ち、かつ使用するのが簡単かつ直覚的でもあるキーの数を減少させたキーボード・システムを開発することは、望ましいことであろう。
【０００７】
キーの数を減少させたキーボードに仮名に加えて中国語文字（漢字）を含む標準日本語文をタイプすることは、更にいっそう難しい問題である。フルキーボードおよび大きなディスプレイを有する標準のコンピュータにテキストをタイプすることは、表1〜3に示される各平仮名音節に対応する（日本語で「ローマ字(romaji)」と呼ばれる）ラテンアルファベットの文字を使用して所望のテキストの発音を最初にタイプすることによって一般に達成される。文字がタイプされるとき、インプットは、対応している平仮名音節に自動的に変換されて、かつスクリーンに表示される。多くの場合、ユーザは、次に、平仮名として最初に表示されたテキストを所望の特定のテキストの解釈へ変換することを必要とする。表示された平仮名は、ユーザが、実際に入力を望む漢字と平仮名の組み合わせの表音読みを表し、およびユーザの意図した意味を伝える。日本語の多数の同音異義語に起因して、起こり得るユーザによる平仮名インプットに対応する漢字と平仮名の意味のある組み合わせが、多数存在する可能性がある。多数のこれらの代替変換は、標準のコンピュータに表示可能であり、ここで、例えば、キーを押すことが、インプットされた平仮名を表示された漢字解釈に変換するように、各代替は、数字キーと関連している。小さい手持ち型デバイス上でこのプロセスを実施しようとする場合、限られた表示サイズおよび利用可能なキーの少ない数に起因して、追加の複雑さが発生する。
【０００８】
キーの数を減少させたキーボード上で入力された平仮名を特定するための代替方法は、ユーザが単一のキーストロークを用いて各平仮名を入力することを可能にする。キーの数を減少させたキーボードの各キーは、複数の平仮名文字と関連している。ユーザがキーのシーケンスを入力する時、各キーストロークがいくつかの平仮名の1つを示すので、したがって、結果として生じる出力に曖昧性が存在する。したがって、システムは、ユーザが、各キーストロークの可能な解釈のいずれを意図したかを効率的に示すことができる手段を提供しなければならない。いくつかのアプローチは、キーストローク・シーケンスの曖昧性を解決するために提案された。
【０００９】
曖昧なキーストローク・シーケンスに対応する正しい文字シーケンスを決定するための多くの提案されたアプローチは、非特許文献1にまとめられている。非特許文献1は、曖昧さ除去アプローチの大部分が、所定のコンテクストにおいて文字曖昧性を解決するために、関連する言語の文字シーケンスの公知の統計学を使用することに言及している。すなわち、既存の曖昧さ除去システムは、キーストロークの適切な解釈を決定するために、曖昧なキーストローク・グループを、それらがユーザによって入力されているとき、統計学的に解析する。非特許文献1は、また、いくつかの曖昧さ除去システムが、キーの数を減少させたキーボードからのテキストをデコードするために語レベルの曖昧さ除去を使用を試みたことに言及している。語レベルの曖昧さ除去プロセスは、語の最後を示している曖昧でない文字の受信の後、受信されたキーストロークの全シーケンスを、辞書の可能なマッチングと比較することによって語を完成する。非特許文献1は、語レベルの曖昧さ除去のいくつかの不利な点を指摘している。例えば、語レベルの曖昧さ除去は、珍しい語を識別する際の制限および辞書に含まれない語をデコードすることができないことに起因して、しばしば語を正しくデコードすることに失敗する。デコーディング制限のため、語レベルの曖昧さ除去は、文字につき1回のキーストロークの効率で、制約のない英語テキストのエラーの無いデコーディングを提供しない。したがって、非特許文献1は、語レベルの曖昧さ除去ではなく文字レベルの曖昧さ除去に集中し、かつ文字レベルの曖昧さ除去が最も有望な曖昧さ除去技法であると思われることを指摘している。しかしながら、アルファベットの言語とは対照的に、日本語の各平仮名文字は、基本的に音素であるものを表す単一の字(letter)ではなく音節を表す。このために、平仮名の可能なシーケンスに関して制約がほとんどなく、かつ平仮名シーケンスの確率分布がこのアプローチが効果的となるには充分に非対称ではないので、文字レベル曖昧さ除去は、日本語において非効率的である。
【００１０】
更に別の提案されたアプローチは、非特許文献2において開示される。非特許文献2は、テレフォン・タッチパッドを使用して入力されるテキストから曖昧性を減らすためのシステムを論じている。非特許文献2は、24,500語の英語辞書の語のおよそ92%に対して、キーストローク・シーケンスを辞書と比較するとき、曖昧性は発生しないことを認めている。しかしながら、非特許文献2は、曖昧性が発生するとき、それらは、ユーザに曖昧性を示し、かつユーザに曖昧な入力のリストの中で選択をするよう依頼するシステムによって、インタラクティブに解決されなければならないことに注目している。したがって、ユーザは、各語の最後でシステムの予測に応じなければならない。このような応答は、システムの効率を低下させ、かつテキストの所定のセグメントを入力するために必要とされるキーストロークの数を増加させる。
【００１１】
日本語の場合、ワープロ・ソフトのユーザは、この言語の多数の同音異義語のために1つの語の入力に続いて多数の曖昧な解釈から選択しなければならないことに慣れている。仮名の同じシーケンスは、2つ以上の異なる漢字解釈に変換される可能性が頻繁にある。したがって、仮名のシーケンスを入力した後に、ユーザは、一般に、可能な選択のセットから所望の漢字変換を選択することを必要とされ、更に、正しい変換が選択されたことを、何とかして確認することがしばしば必要とされる。平仮名がキーの数を減少させたキーボードを使用して入力される場合、ユーザが、漢字に変換されるべき平仮名のシーケンスとして実際に意図するものに関しても、曖昧性がある。この結果、可能な解釈の数は、非常に増加する。
【００１２】
曖昧なキーストローク・シーケンスの曖昧さを除去することは、引き続き難しい問題である。前述の出版物において言及されたように、テキストのセグメントを入力するために必要とされるキーストロークの数を最小化する既存の解決法は、携帯型コンピュータの使用において許容可能な必要な効率を達成することに失敗した。したがって、簡単でわかりやすいユーザ・インターフェースのコンテクスト内で、必要とされるキーストロークの合計数を最小化しながら、入力されたキーストロークの曖昧性を解決するための曖昧さ除去システムを開発することが望まれている。このようなシステムは、これによって、テキスト入力の効率を最大にするであろう。
【００１３】
日本語のための効果的なキーの数を減少させたキーボード・インプット・システムは、次の基準を全て満たさなければならない。第1に、キーボード上の日本語の音節（仮名）の配置およびそれらが生成される方法は、ネイティブスピーカにとって理解しやすく、かつ使用するために習得しやすくなければならない。第2に、システムは、キーの数を減少させたキーボード・システムの効率を高めるために、テキストを入力するために必要とされるキーストロークの数を最小化するのに役立たなければならない。第3に、システムは、インプット処理の間に必要とされる注意および意志決定の量を減らすことによって、ユーザへの認識負荷を減らさなければならない。第4に、アプローチは、実用システムを実施するために必要とされるメモリおよび処理リソースの量を最小化すべきである。
【００１４】
特許文献1は、テレフォン・キーパッドのキー1〜0が、それぞれ、平仮名音節｛あいうえお｝、｛かきくけこ｝、｛さしすせそ｝、｛たちつてと｝、｛なにぬねの｝、｛はひふへほ｝、｛まみむめも｝、｛やゆよ｝、｛らりるれろ｝、および｛わをん｝によりラベル付けされる、1つのアプローチを開示する。これは、テレフォン・キーパッドのキー1〜9が、それぞれ、平仮名音節「あ」、「か」、「さ」、「た」、「な」、「は」、「ま」、「や」、および「ら」によりラベル付けされる、日本のテレフォン・キーパッド用の事実上の標準であるものに対応する。各キー上に現れる単一の平仮名は、単一の平仮名が第1の列に現れる表1において現れる平仮名の全行と対応する、そのキーに割り当てられた平仮名の完全なセットを表す。「0」のキーは、しばしば、｛わ、を、ん｝により、明確にラベル付けされる。
【００１５】
特許文献1は、ユーザが、各文字が関連したキーを単一回押すことにより、曖昧に文字のシーケンス（平仮名）をインプットする、語レベルの曖昧さ除去アプローチを開示する。各インプット・シーケンスの最後に、ユーザは、インプット・キーシーケンスと関連する平仮名の可能なシーケンスの1の第1のテキストの解釈を表示するために「変換／次候補」キーを押す。特許文献1は、所定のインプット・キーシーケンスの全てのテキストの解釈がメモリの連続ブロックに連続的に格納された辞書構造を開示する。「変換／次候補」キーの各追加の押しは、もし存在するならば、辞書に格納された次のテキストの解釈を表示する。テキストの解釈がもう存在しない場合、エラーメッセージが、表示され、かつオプションの異常処理が実行される可能性がある。所望のテキストの解釈が表示される場合、特別な「確認」キーは、ユーザが次のテキストオブジェクトを入力し続けることが可能となる前に、所望のテキストが表示されたことを確認するために押されなければならない。
【００１６】
特許文献1により開示されるアプローチの場合、多くの困難がある。1つは、曖昧性が平仮名ストリングの仕様と各可能な平仮名候補ストリングの変換の両方にあるという事実に起因して、所定のキーシーケンスの極めて多数の可能なテキストの解釈になる傾向があるということである。このことは、「変換／次候補」キー使用して所望の解釈を見つけるために多数の解釈を介して進むことをユーザに要求する可能性がある。更に、可能な解釈を介して進む場合、ユーザは、インプットの曖昧性に起因する様々な平仮名ストリングと対応する様々な漢字および／または平仮名ストリングを見る。このことは、気を散らす可能性があり、かつ所望の解釈を見つけようとする際、ユーザから余分な注意を要求する可能性がある。更に、テキストの解釈のデータベースは、全てのデータが完全な語からのみ成るように配置され、かつ所定の長さの全てのキーシーケンスのための全てのデータも、また、メモリの連続ブロックに連続的に格納される。特許文献1は、何れの完成された語とも対応しないインプット・シーケンスにおけるそれらの時点で、より長い、まだ未完成の語に対応する適切な語幹(stem)の表示を可能にするための如何なるアプローチをも開示していない。インプットにおけるこのような時点で、特許文献1のシステムは、数字またはデフォルトの字または文字のような、入力された各キーのデフォルトの表示を表示することができるだけである。このことは、ユーザを混乱させ、かつ意図されたキーが入力されたことをユーザが確認するのを助ける際に効果的であるフィードバックを提供することに失敗する。最後に、ユーザは各語のインプットに対して「確認」キーを押すことを要求され、各インプットに対して追加のキーストロークを入力しなければならない。したがって、特許文献1により開示されるシステムは、上述の基準を満たしていない。
【００１７】
語レベルの曖昧さ除去の応用に直面している別の重要な課題は、その使用が最も有利である種類のハードウェア・プラットホーム上で、いかにうまくそれを実施するかということである。上記のように、このようなデバイスは、双方向ポケットベル、移動電話および他のハンドヘルド無線通信デバイスを含む。これらのシステムは、バッテリー電源であり、したがって、ハードウェア設計およびリソース利用において可能な限り節約型に設計される。このようなシステム上で実行するように設計されるアプリケーションは、プロセッサ・バンド幅利用および必要メモリのどちらも最小化しなければならない。これら2つの要素は、一般に、逆相関する傾向がある。語レベルの曖昧さ除去システムが、機能するために、語の大きなデータベースを必要とし、かつ満足なユーザ・インターフェースを提供するために速やかにインプット・キーストロークに反応しなければならないので、それを利用するために必要とされる処理時間に重大な影響を与えずに、必要とされたデータベースを圧縮することが可能であることは、大きな利点である。日本語の場合、仮名のシーケンスをユーザによって意図される漢字へ変換するサポートをするために、追加情報が、データベースに含まれなければならない。
【００１８】
語レベルの曖昧さ除去の任意の応用に直面している別の課題は、インプットされているキーストロークに関してユーザに充分なフィードバックを提供することである。通常のタイプライタまたはワードプロセッサでは、各キーストロークは、それが入力されるとすぐに、ユーザに表示することができる一意的な文字を表現する。しかしながら、語レベルの曖昧さ除去の場合、各キーストロークは、複数の文字を表現し、かつキーストロークの任意のシーケンスは、複数の語または語幹(word stem)とマッチングする場合もあるので、このことは、多くの場合、可能でない。したがって、入力されたキーストロークの曖昧性を最小化し、また、テキスト入力の間、発生する任意の曖昧性をユーザが解決することができる効率を最大にする、曖昧さ除去システムを開発することは、望ましいであろう。ユーザの効率を高める1つの方法は、各キーストロークに続く適切なフィードバックを提供することである。このことは、各キーストロークの後に最も有望な語を表示すること、および現在のキーストローク・シーケンスが、完成された語に対応してない場合、まだ未完成の語の最も見込みのある語幹を表示することを含む。日本語のための効果的なキーの数を減少させたキーボード・インプット・システムを作成するために、前述の基準の全てを満たすシステムが、設計された。第1に、キーボード上の日本語の音節（仮名）の配置およびそれらが生成される方法は、ネイティブスピーカにとって理解しやすくかつ使用するために習得しやすい。第2に、システムは、テキストを入力するために必要とされるキーストロークの数を最小化するのに役立つ。第3に、システムは、インプット処理の間に要求される注意および意志決定の量を減らすことによって、および適切なフィードバックを提供することによって、ユーザへの認識負荷を減らす。第4に、アプローチは、実用システムを実施するために必要とされるメモリおよび処理リソースの量を最小化するのに役立つ。
【００１９】
年を追って、携帯型コンピュータは、小さくなって来ている。より小さな携帯型コンピュータを生産しようとする上でサイズ縮小を妨げる主な要素は、キーボードであった。標準のタイプライタ-サイズのキーを使用する場合、携帯型コンピュータは、少なくともキーボードと同じ大きさでなければならない。ミニチュア・キーボードも携帯型コンピュータに使われて来たが、ミニチュア・キーボードのキーは、小さすぎてユーザが容易にまたは軽快に操作することが出来ないことが判明している。携帯型コンピュータにフルサイズのキーボードを組み込むことは、コンピュータを真に携帯して使用することを妨げる。ほとんどの携帯型コンピュータは、それを平坦な作業面に配置しないと、ユーザが両手でタイプすることはできない。ユーザは、立っているときまたは移動中には、携帯型コンピュータを使用することは困難である。
【００２０】
パーソナル携帯情報機器(PDA)またはパームサイズのコンピュータと呼ばれる、小型携帯型コンピュータの最近の世代において、メーカは、装置に手書き文字認識ソフトウェアを組み込むことによって本問題に対処しようとした。ユーザは、タッチセンシティブ・パネルまたはスクリーン上に書くことによってテキストを直接入力することができる。この手書きのテキストは、次に、認識ソフトウェアによって、デジタルデータに変換される。残念なことに、ペンを用いたプリントまたは書込みは、一般に、タイプより遅いという事実に加えて、手書き文字認識ソフトウェアの精度および速度は、現在まで、満足であるとは言えない。
【００２１】
現在、無線業界の目覚ましい成長は、携帯電話、双方向ポケットベル、PDAなどのような、普通の消費者に利用可能な、信頼できる、便利かつ極めて普及している移動通信デバイスを生み出した。テキスト・インプットを要求するこれらの手持ち型無線通信およびコンピューティング装置は、今もまだ小型化されている。双方向ページング、移動電話および他のポータブル無線技術の最近の進歩は、小さくて携帯可能な双方向メッセージ通信システム、特に、電子メール(e-mail)を送受信両方できるシステムの需要をもたらした。いくつかの無線通信装置メーカは、更に、消費者がデバイスを保持しているのと同じ手で動作することができるデバイスを消費者に提供することを望んでいる。
曖昧さ除去の背景
【００２２】
従来の研究開発活動は、キーの数を減少させたキーボードの使用を考えた。タッチ-トーン電話のキーパッド・レイアウトにおいて使用されているように、キーの数を減少させたキーボードの多くには、3行4列のキーが使用されてきている。キー配列において各キーは、複数の文字を含んでいる。したがって、各キーストロークがいくつかの字の1つを示す可能性があるので、ユーザがキーのシーケンスを入力するとき、曖昧性がある。曖昧さ除去(disambiguation)と称されるいくつかのアプローチは、キーストローク・シーケンスの曖昧性を解決するために提案された。
【００２３】
キーの数を減少させたキーボード上に入力された文字を曖昧でなく特定するのための1つの使用されている方法は、ユーザに各々の文字を特定するために、平均で、2回以上のキーストロークを入力することを必要とする。キーストロークは、同時に（コーディング）、またはシーケンスに（マルチストローク仕様）入力される。コーディングもマルチストローク仕様も、充分に簡単かつ効率的な使用を備えるキーボードをもたらさなかった。マルチストローク仕様は、非効率的であり、およびコーディングは、習得し使用することが、多くの場合、複雑である。
【００２４】
曖昧なキーストローク・シーケンスに対応する正しい文字シーケンスを決定するための他の提案されたアプローチは、非特許文献1にまとめられている。非特許文献1は、曖昧さ除去アプローチの大部分が、所定のコンテクストにおいて文字曖昧性を解決するために、関連する言語の文字シーケンスの公知の統計学を使用することに言及している。
【００２５】
語レベルの曖昧さ除去に基づく別の提案されたアプローチは、非特許文献2において開示されている。非特許文献2は、テレフォン・タッチパッドを使用して入力されるテキストから曖昧性を減らすためのシステムを論じている。非特許文献2は、24,500語の英語辞書の語のおよそ92%に対して、キーストローク・シーケンスを辞書と比較するとき、曖昧性は発生しないことを認めている。しかしながら、非特許文献2は、曖昧性が発生するとき、それらは、ユーザに曖昧性を示しかつユーザに複数の曖昧な入力の中で選択をするよう依頼するシステムによって、インタラクティブに解決されなければならないことに注目している。したがって、ユーザは、各語の最後でシステムの予測に応答しなければならない。このような応答は、システムの効率を低下させ、かつテキストの所定のセグメントを入力するために必要とされるキーストロークの数を増加させる。
【００２６】
特許文献2は、タイプ可能な(typable)デバイスおよび、特に、曖昧なコードを具体化するタッチ‐タイプ・デバイスの設計が、多くの人間工学的な(ergonomical)問題を提示することを開示し、かつこのような問題のためのいくつかのソリューションを提案している。特許文献2は、コンピュータ、PDA等および他の情報機器のタッチタイプ可能な(touch-typable)デバイス、デバイスのサイズ、形状およびコンピュータの容量のような所定の設計制約条件、デバイスの典型的な用途、およびアルファベットの順位付けまたはQwerty順位付けのような従来の制約条件のための、強くタッチタイプ可能な(strongly-touch-typable)曖昧なコードおよび実質的に最適な曖昧なコードのクラスから曖昧なコードを選択するための方法を教示する。
【００２７】
Eatoni Ergonomics Inc.は、標準的なキーボードから構成されるWordWise（著作権 2001 Eatoni Ergonomics Inc.）と呼ばれるシステムを提供する。ここで、代表文字は、通常のキーボード上でタイプされ、および、意図された字に関するキーが押される間、シフトキーのような補助キーは、押されたままである。WordWiseの背後の主要な考えは、テレフォン・キーパッド上の各々のキー上の字のグループの各々から1つの字を選択することである。このような選ばれた字は、意図された字に関するキーを押すとき、補助キーを押したままにすることよってタイプされる。WordWiseは、曖昧な、曖昧でないまたはそれらの組み合わせの入力を解決するために語を検索する語彙データベース／辞書を使用しない。Zi Corporationは、予測テキスト手法、 eZiText（著作権 2002 Zi Corporation）を教示するが、曖昧なモードにおける明確なテキスト・フィルタリング、または、2-キーの明確な入力(2-key explicit entry)、語幹-ロッキング(stem-locking)またはn-グラム(n-gram)検索との組み合わせを、どこにも教示せず、提案もしてない。
現在の曖昧さ除去方法論に対する改善の必要性
【００２８】
曖昧なキーストローク・シーケンスの曖昧さを除去することは、引き続き難しい問題である。曖昧さ除去に直面している特別の課題は、インプットされているキーストロークに関してユーザに充分なフィードバックを提供することである。通常のタイプライタまたはワードプロセッサでは、各キーストロークは、それが入力されるとすぐに、ユーザに表示することができる一意的な文字を表現する。しかしながら、例えば、語レベルの曖昧さ除去の場合、各入力は、複数の文字を表現し、かつ任意の入力のシーケンスは、例えば、語または語幹のような複数のオブジェクトとマッチングする場合もあるので、このことは、多くの場合、不可能である。例えば、ユーザがスペルまたは入力を間違え、かつ完全なシーケンスが入力されかつ所望の結果が示されるまで、ユーザが、このような間違いを確信しない場合、このような曖昧性は、特に問題である。別の具体例において、終了選択、例えばスペース・キーとしてシステムによって認識可能な、特定のキー選択のような予め定められた選択がなされるまで、語-レベルの曖昧さ除去を利用する従来のシステムは、任意のフィードバックを提供することに失敗する。
【００２９】
更に、タイ語およびアラビア語のような、いくつかのアルファベットは、英語のアルファベットより多くの字を含み、このことは、減少された数のキーでの更に大きな曖昧性をまねく。これらの言語の効率的なインプットは、必要な場合、その曖昧性を減らすためのメカニズムを要求する。
【００３０】
したがって、入力の間、ディスプレイ上の明白な曖昧性を減らし、かつスペル、および／または入力の誤りを検出し訂正するユーザの能力を改善する曖昧さ除去システムを提供することは、有利である。
【００３１】
候補語、語幹、記号のシーケンス等のリストが、狭められ、かつユーザが、続いて、語完成またはシーケンス完成をより速く提供されることができるように、明確なフィルタ機能を提供することにより曖昧性を減らし、かつ効率を増加する、曖昧さ除去システムを提供することは、更に有利である。より詳しくは、これらに限定されるものではないが、オブジェクトおよび／または語幹、および明確に入力された文字を含む、あらかじめ入力された文字の一部または全部の解釈の現在の状態にロッキングすることを可能にすることは、有利であり、このことにより前の入力の再解釈を妨ぐことができるであろう。
【００３２】
新しいオブジェクト、語または語幹の終わりまたは開始に対して、明確に入力された文字をアンカ(anchor)としてビルドアラウンド(build around)することは、更に有利である。
【００３３】
先行して明確に入力された文字のn-グラム解析によりオブジェクトまたは語を拡張するために合理的な推測を提供することは、更に有利である。
【００３４】
語または語幹のような言語学的なオブジェクトの曖昧さを除去するプロセスの間、例えば、前の入力の再解釈を妨げることにより、曖昧性を減少し、かつ効率を増加させることは、更に有利である。
【００３５】
キーストロークの解釈が再開可能なところを示唆するために、2つの別の文字のセットを接続する時点を示唆として、曖昧または明確に入力された共通の区切りを認識することは、更に有利である。
【００３６】
【特許文献１】Kisaichi et al. [JP 8-314920; US 5,786,776; EP 0 732 646 A2]
【特許文献２】国際公開第00/35091号パンフレット（2000年6月15日出願）（発明者 H. A. Gutowitz ）（発明の名称「曖昧なコードに基づくタッチタイプ可能な装置およびこのような装置を設計する方法(Touch-Typable Devices Based on Ambiguous Codes and Methods to Design Such Devices)」）
【非特許文献１】John L. Arnott and Muhammad Y. Javad 著、「短いテキストサンプルを使用するキーの数を減少させたキーボード用確率的文字曖昧さ除去(Probabilistic Character Disambiguation for Reduced Keyboards Using Small Text Samples)」（the Journal of the International Society for Augmentative and Alternative Communication）
【非特許文献２】I. H. Witten 著、「コンピュータスピーチの原理(Principles of Computer Speech)」(Academic Press in 1982)
【発明の開示】
【課題を解決するための手段】
【００３７】
本発明は、曖昧なテキスト入力の明確なフィルタリングのための方法と装置に関する。本発明は、2-キーおよび長押しのようなさまざまな明確なテキスト入力方法論を含む実施例を提供する。本発明は、更に、ビルドアラウンド方法論、語幹ロッキング方法論、語完成方法論およびn-グラム検索を使用して、データベースにおける語をマッチングさせる手段を提供する。
【発明を実施するための最良の形態】
【００３８】
前述の観点および本発明の付随的利点の多くは、添付の図面と併せて読むと、次の詳細な説明を参照することによりこの発明をよりよく理解することにより、より容易に明らかになるであろう：
日本語のためのキーの数を減少させたキーボード・テキスト・インプット・システム
I. システム構成および基本動作
図1aに関し、本発明に従って形成されたキーの数を減少させたキーボードの曖昧さ除去システムは、ディスプレイ53を有している携帯型移動電話52に組み込まれるように表される。携帯型移動電話52は、標準テレフォン・キー上で実施されるキーの数を減少させたキーボード54を含む。本出願のために、用語「キーボード」は、キー用の定義領域を有するタッチスクリーン、離散的メカニカルキー、膜キー等を含んでいる任意のインプット装置を含むように広く定義される。キーボード54の各キー上の仮名の配置は、図1aに表され、日本のテレフォンの事実上の標準になったものと対応する。キーボード54は、したがって、標準QWERTYキーボード、または1個のキーが表1に示される基本的な日本語の五十音図の仮名の各々に割り当てられる少なくとも46個のキーを含むキーボードと比較して、減少された数のデータ入力キーを有することに留意されたい。
表1
2005530272.tif 000005
【００３９】
より詳しくは、本実施例において示される好適なキーボードは、選択(Select)キー60と変換(CONVERT)キー62と共に、3行4列に配列された1〜0の番号をつけられた10個のデータ・キーを含む。オプションとして、キーボードは、更に、前のキーストロークを削除するためのクリア・キー64；明確な文字、数および記号をタイプするためのモードの入力に関するモード(Mode)キー67；および予め入力された仮名に濁点(dakuten)および半濁点(handakuten)を追加するための発音区別符号(Diacritic)キー68を含むことができる。
【００４０】
データは、キーの数を減少させたキーボード54のキーストロークを介して曖昧さ除去システムにインプットされる。第一の好適な実施例の場合、ユーザがキーボードを使用してキーストローク・シーケンスを入力するとき、テキストは、テレフォン・ディスプレイ53に表示される。システムが、図1a〜dで表される移動電話のような限られたディスプレイ空間を有するデバイス上で実施される場合、現在選択された、または最も見込みのある語のオブジェクトのみが、テキストが生成される時、挿入位置88において、表示される。キーが所望の語を入力するためにシーケンスに押される時、インプット・シーケンスに対応する最も見込みのある語は、いくつかの特徴的なフォーマットで表示される。図1aにおいて表される好適な実施例の場合、現在の語は、点線のアンダーラインと共に表示される。後で詳しく述べるように、選択キー60または変換キー62が押された後で、点線のアンダーラインは実線のアンダーラインに変化される。
【００４１】
図2bおよび2cに示される第二の好適な実施例において、2つの領域が、ユーザに情報を表示するためにディスプレイ53上に定義される。上記した第一の実施例に関してまさに記載されるように、テキスト領域66は、ユーザによって入力されるテキストを表示し、テキストのインプットおよび編集のためのバッファとして役立つ。図2bおよび2cに示されるように、典型的にテキスト領域66の下に位置する選択リスト領域77は、語のリストおよびユーザにより入力されたキーストローク・シーケンスと対応する他の解釈を示す。選択リスト領域は、インプット・キーストローク・シーケンスの最も頻繁に発生する解釈および頻度の降順に表示された他のより頻繁に発生しない代替解釈の両方を同時に示すことによって、ユーザが、入力されたキーストロークの曖昧性を解決するのを援助する。
【００４２】
キーの数を減少させたキーボードの曖昧さ除去システムハードウェアのブロック線図は、図2aにおいて提供される。キーボード54およびディスプレイ53は、適切なインターフェース回路を介してプロセッサ100に結合されている。オプションとして、スピーカ102もまた、プロセッサに結合されている。プロセッサ100は、キーボードからインプットを受信し、かつディスプレイおよびスピーカへの全ての出力を管理する。プロセッサ100は、メモリ104に結合されている。メモリは、ランダムアクセスメモリ(RAM)のような一時記憶媒体、および読取り専用メモリ(ROM)、フロッピー（登録商標）ディスク、ハードディスクまたはCD-ROMのような恒久的な記憶媒体の組み合わせを含む。メモリ104は、システムオペレーションを支配するために全てのソフトウェア・ルーチンを含む。メモリには、オペレーティング・システム106、曖昧さ除去ソフトウェア108、以下で更に詳細に論じられる関連語彙モジュール110が含まれていることが好ましい。オプションとして、メモリは、1つ以上のアプリケーションプログラム112、114を含むことができる。アプリケーションプログラムの具体例は、ワードプロセッサ、ソフトウェア辞書および外国の言語翻訳プログラムを含む。音声合成ソフトウェアもまた、アプリケーションプログラムとして提供することができ、キーの数を減少させたキーボードの曖昧さ除去システムが通信補助として機能することを可能にする。
【００４３】
図1aを再び参照すると、キーの数を減少させたキーボードの曖昧さ除去システムは、ユーザが片手だけを使用して、すばやくテキストまたは他のデータを入力することを可能にする。データは、キーの数を減少させたキーボード54を使用して入力される。1〜0のデータ・キーの各々は、文字、数および他の記号によりキー上に表される複数の意味を有する。（この開示の目的上、各データ・キーは、データ・キー上に現れている数と文字、例えば、右上データ・キーを識別するために、「3 さ」により識別される。）個々のキーが複数の意味を有するので、キーストローク・シーケンスはそれらの意味に関しては曖昧である。したがって、ユーザがデータを入力する時、キーストロークのさまざまな解釈は、ユーザが任意の曖昧性を解決するのを援助するためにディスプレイ上の複数の領域において表示される。大画面デバイス上で、入力されたキーストロークの可能な解釈の選択リストは、同様に、選択リスト領域においてユーザに表示される。選択リストの第1の入力は、デフォルトの解釈として選択され、かつ挿入位置88でテキスト領域66において表示される。好適な実施例の場合、この入力は、挿入位置88（および大画面デバイス上の選択リスト領域）においてそれの下に引かれる点線のアンダーラインとともに表示される。フォーマッティングは、このオブジェクトが、現在の選択リストにおいて最も頻繁に発生しているオブジェクトであることにより、暗に選択されることを示す。図2bのようにディスプレイが選択リスト領域を含む場合、このフォーマッティングは、同様に、挿入位置88のオブジェクトと選択リスト領域77の表示された同じオブジェクトとの間の視覚的関係を確立する。図1aにおいて、選択リストは、表示されず、およびデフォルト・オブジェクト（選択キーの任意のアクティブ化より前の選択リストにおいて第1に表示されるであろうオブジェクト）または1つが明確に選択された場合の現在選択されたオブジェクトのみが、挿入位置88で表示される。
【００４４】
入力されたキーストロークの可能な解釈の選択リストは、多数の方法で順序づけることができる。通常の操作モードにおいて、キーストロークは、所望の語（以下、「語解釈」）に対応する読み方(Yomikata)をつづる仮名の入力として最初に解釈される。例えば、図2bに示すように、キーストローク・シーケンス「カ」、「カ」および「カ」がユーザにより入力された。キーが入力されるとき、語彙モジュール探索が、キーストローク・シーケンスとマッチングする読み方を見つけるために、同時に実行される。読み方は、最も一般的に使用される読み方が最初にリストアップされ、使用頻度に従って、語彙モジュールから戻される。具体例のキーストローク・シーケンスを使用すると、読み方「かかく」、「きかく」および「きこく」は、キーストローク・シーケンスに対応する3つの最も有望な読み方であるとして語彙モジュールから識別される。この選択リストにおける8つの識別された読み方の中で、「かかく」は、最も多用されるので、それはデフォルトの解釈として採用され、および挿入位置88において暫定的に平仮名テキストとして示される。図1aに示されるように、選択キー60を押す前に、この第1の読み方が、デフォルトの解釈として採用され、かつ特徴的なフォーマットを使用して、挿入位置88において示される。このフォーマットは、データ・キーの1つの次のキーストロークが、新しいシーケンスを始めるのではなく現在のキーシーケンスに追加されるであろうことを示す。例えば、図1aに示されるように、特徴的なフォーマッティングは、点線のアンダーラインを伴う平仮名テキストとして読み方を表示することから成る。他の可能なマッチングが取れている読み方のリストは、メモリに保持され、それらの相対頻度に従ってソートされる。
【００４５】
好適な実施例の場合、所望の読み方に対応するキーストローク・シーケンスの入力に続いて、ユーザは、選択キー60を単に押す。挿入位置88において表示されたデフォルトの読み方「かかく」の下の点線のアンダーラインは、実線のアンダーラインに置き換えられる。表示されるデフォルトの読み方が所望の読み方でない場合、所望の読み方が現れるまで、選択キー60は繰り返し押される。好適な一実施例の場合、キーシーケンスとマッチングするメモリの読み方の全てが選択キー60の繰り返されるアクティブ化で表示された後で、キーシーケンスは数として解釈される、ここで、各キーストロークは、キーのラベルに現れている数字を生成する。このことは、数が別個の数字モードなしで生成されることを可能にし、更に、読み方解釈の選択リストの終わりを容易に認識できるインジケータとしても役立つ。選択キー60の次の押しは、選択リストにおける第1の読み方へ循環する。
【００４６】
一旦所望の読み方が表示されると、所望の見出し語(Midashigo)（テキストの解釈）が平仮名テキストにおいてすでに表示された読み方に実際同じ場合、ユーザは、入力される次の読み方の第1の仮名に対応するデータ・キーを続けて押す。一方、所望の見出し語が、漢字、漢字と平仮名、片仮名またはそれらの或る組み合わせから成る場合、ユーザは変換キー62を押す。このことは、表示された読み方を語彙モジュールにおけるその読み方と関連した最も頻繁に発生している見出し語に置き換えさせる。変換キー62の繰り返される押しは、表示された見出し語を他の関連づけられた見出し語に頻度の降順で置き換える。好ましい一実施例の場合、選択された読み方と関連しているメモリの見出し語の全てが、変換キー62の繰り返されるアクティブ化により表示された後、選択された読み方は片仮名として表示される。このことは、片仮名語が別のモードなしで生成されることを可能にし、更に、見出し語解釈の選択リストの終わりを容易に認識できるインジケータとしても役立つ。別の好適な実施例の場合、ユーザがインプット・キーシーケンスと関連している第1の（デフォルトの）読み方と関連している見出し語を選びたい場合、選択キー60を第1に押すことなく、変換キー62を、所望の見出し語を得るためにすぐに押すことができる。
【００４７】
選択キー60および変換キー62の何れかまたは両方の1回以上の押しの後、押された任意のデータ・キーは、表示された読み方または見出し語の特別なフォーマッティング（好適な実施例の実線のアンダーライン）を除去し、かつシステムにより解釈される新しいキーシーケンスの第1のキーストロークになる。特別なキーストロークは、先行するキーストローク・シーケンスの解釈を確認するために必要とされない。
【００４８】
上記した好適な実施例の場合、選択キー60を押すことは、（頻度の降順で）現在のキーシーケンスと関連している、メモリ内の読み方を通して前方へ循環する。別の好適な実施例の場合、予め定められた時間閾値を過ぎて選択キー60を押し続けること(pressing-and-holding)は、メモリにおける読み方を通して頻度の昇順で後方に循環する。したがって、数の解釈が先に述べた通りにメモリ内の関連づけられた読み方のシーケンスの終わりに含まれる場合、選択キー60の任意の普通の押しの前に選択キー60を押し続けること(press-and-hold)は数の解釈にすぐに後方へと循環する。次に、選択キー60を繰り返し押し続けることは、関連づけられた読み方を通して頻度の昇順で後退循環する。同様に、変換キー62を押し続けることは、現在選択された読み方と関連している見出し語を通して頻度の昇順で後方に循環する。同様に、変換キー62の任意の標準的な押しの前に変換キー62の第1の押し続けは片仮名解釈に対して後方へとすぐに循環する。
【００４９】
更に、図1aを参照すると、別の好適な実施例の場合、データ・キーを入力する場合、クリア・キー64は前に入力されたデータ・キーを削除するために押すことが可能である。したがって、現在のキーシーケンスにおける全てのデータ・キーが削除される場合、クリア・キー64を押すことは、現在の選択リストが空の場合、標準テキストカーソルが表示される挿入位置88の左のテキスト表示53の文字を削除する。選択キー60および変換キー62のどちらかまたは両方の1回以上の押しの後、クリア・キー64を押すことは、現在のキーシーケンスのデフォルトの読み方解釈で挿入位置88における現在選択されたテキストの解釈を置き換えるが、キーシーケンスからの任意のデータ・キーを削除をしない。言い換えると、選択キー60および／または変換キー62の任意の回数の押しの後、クリア・キー64の第1の押しは、事実上、選択キー60および変換キー62のアクティブ化の全てを「削除」し、選択キー60または変換キー62の何れかの第1の押しのすぐ前の状態にシステムを戻す。
【００５０】
別の好適な実施例の場合、変換キー62の１回以上の押しの後、選択キー60を押すことは、挿入位置88において現在選択された見出し語を、見出し語が関連づけられた読み方に置き換える。選択キー60の更なる押しは、（頻度の降順で）現在のキーシーケンスと関連しているメモリ内の他の読み方を通してその時点から前方へ循環し続ける。別の好適な実施例の場合、明確に曖昧でない文字を生成する任意の他の手段のアクティブ化（例えば特別な記号モードを入力することおよび単一の特定の文字と曖昧でなく関連しているキーを押すこと）は、現在のキーシーケンスを終了するのに役立つ。この結果、挿入位置88において表示された読み方または見出し語の任意の特別なフォーマッティング（好適な実施例の点線また実線のアンダーライン）は、除去され、および特定の曖昧でない文字は、新しい挿入位置88において出力語に追加される。
【００５１】
挿入位置88において選択された読み方または見出し語をテキスト領域に暫定的に示すことは、ユーザが選択リストを参照する必要なしにテキスト領域上に彼等の注意を維持することを可能にする。ユーザのオプションで、システムは、また、選択キー60（または変換キー62）の第1の押しを受信すると、暫定的に示された挿入位置88における読み方（または見出し語）が、現在の選択リストのコピーを表示するために（垂直にまたは水平に）拡張することができるように、構成されることも可能である。ユーザは、選択リストのこのコピーに表示される語の最大数を選択することができる。これに代えて、ユーザは、選択キーの第1のアクティブ化の前でさえ、挿入位置88において常に表示される選択リストを有することを決めることができる。曖昧さ除去システムは、現在選択された入力が所望の入力である確認として、（曖昧なデータ・キーのアクティブ化または明確な曖昧でない文字の生成により信号を送られた）次の語の開始を解釈する。したがって、選択された語は、ユーザの選択として挿入位置88に残り、アンダーラインは完全に消え、および語は特別なフォーマッティングのない標準テキストで再表示される。
【００５２】
テキスト入力の大部分において、キーストローク・シーケンスは、読み方を形成する仮名としてユーザにより意図される。しかしながら、各キーと関連している複数の文字および記号が、個々のキーストロークおよびキーストローク・シーケンスにいくつかの解釈を有することを可能とすることは、理解されるであろう。好適なキーの数を減少させたキーボードの曖昧さ除去システムの場合、さまざまな異なる解釈は、キーストローク・シーケンスが解釈されかつ語のリストとしてユーザに表示されるのと同時に、自動的に決定され、かつユーザに表示される。
【００５３】
例えば、キーストローク・シーケンスは、ユーザが入力している可能性がある仮名の可能な有効なシーケンスに対応する語幹の観点から解釈される（以下、「語幹解釈」）。語解釈と異なって、語幹は不完全な語である。最後のキーストロークの可能な解釈を示すことにより、語幹は、ユーザが、正しいキーストロークが入力されたことを容易に確認することを可能にし、また、彼または彼女の注意が語の途中で変更された場合、タイプを再開することを可能にする。長い語または句の部分的な入力と対応するが、任意の完成された語または句と対応しないキーシーケンスがある。そのような場合、ユーザに提供できる最も有効なフィードバックは、その時点まで入力された語の語幹と対応する仮名を示すことである。図2bに示される具体例の場合、キーストローク・シーケンス「カ」、「カ」、「カ」は、有効な語幹「かけき」（語「かけきん」となる）を形成するように、解釈されることが可能である。したがって、語幹解釈は、選択リストの入力として提供される。好ましくは、語幹解釈は、データ・キーに追加されたキーストロークにより、各語幹から生成されることができる全ての可能な語のセットの合成頻度に従ってソートされる。表示されるこのような入力の最大数および最小の合成頻度は、ユーザにより選択可能であり、またはシステムにおいて構成可能であり、その結果、いくつかの語幹解釈は、表示される可能性はない。選択リストに語幹解釈をリストするとき、語幹解釈が選択リストに現れる語を重複する場合に、語幹は、省略される。しかしながら、語幹が省略されるとき、省略された語幹に対応する語は、それらの語幹としてこの語を有する、より長い語もまた存在することを示すために記号で印をつけることが可能である。語幹解釈は、正しいキーストロークが所望の語の入力になるめに入力されたことを確認することによりユーザにフィードバックを提供する。
【００５４】
図3は、曖昧なキーストローク・シーケンスの曖昧さを除去する際にユーザを援助するために、選択リストを処理し、かつ挿入位置88に何を表示されるかを決定する、曖昧さ除去ソフトウェアのメインルーチンのフローチャートである。ブロック150において、システムは、キーボード54からキーストロークを受信するために待つ。キーストロークを受信すると、判断ブロック151において、受信されたキーストロークがモード選択キーであるか否かを決定するために、テストが行われる。そうであれば、ブロック172において、システムは現在のシステムモードを示すためにフラグをセットする。判断ブロック173において、システムモードが変化したか否かを決定するために、テストが行われる。そうであれば、ブロック171において、現在のシステムモードを反映するために必要に応じて、表示はアップデートされる。ブロック151が、キーストロークがモード選択キーではないと決定する場合、判断ブロック152において、受信されたキーストロークが選択キーであるか否かを決定するために、テストが行われる。キーストロークが選択キーでない場合、判断ブロック152Aにおいて、受信されたキーストロークが変換キーであるか否かを決定するために、テストが行われる。キーストロークが変換キーでない場合、判断ブロック153において、システムが特別な明確な文字モード、例えば明確な記号モードにあるか否かを決定するために、テストが行われる。そうであれば、任意の暫定的に選択された項目が選択リストに存在するか否かを決定するために、判断ブロック166において、テストが行われる。そうであれば、ブロック167において、項目は受け入れられおよび標準テキストとして出力される。次に、ブロック168において、キーストロークに対応する明確な文字は、テキスト領域に出力される。次に、判断ブロック169において、システムモードが自動的に変化されるべきか否かを決定するために、記号モードの場合と同様に、テストが行われる。そうであれば、実行はブロック170へ進み、およびシステムモードはあらかじめアクティブなモードに戻され、そうでなければ、実行はブロック150へ戻る。
【００５５】
ブロック153において明確な文字モードがアクティブでない場合、ブロック154において、キーストロークは格納されたキーストローク・シーケンスに追加される。ブロック156において、キーストローク・シーケンスに対応するオブジェクトは、システムの語彙モジュールから識別される。語彙モジュールは、キーストローク・シーケンスと関連しているオブジェクトのライブラリである。オブジェクトは、受信されたキーストローク・シーケンスに基づいて検索される格納されたデータの任意の部分である。例えば、語彙モジュールの範囲内のオブジェクトは、数、文字、語、語の構成要素、語幹、句またはシステム関数およびマクロを含む可能性がある。各々のこれらのオブジェクトは、次の表に簡潔に記される：
2005530272.tif 000006
【００５６】
好適な語彙オブジェクトが上述されるが、他のオブジェクトが考察可能であることは理解されるであろう。例えば、グラフィックオブジェクトは、格納されたグラフィックイメージと関連可能であり、またはスピーチ・オブジェクトは、格納されたスピーチのセグメントと関連可能である。一般に誤って綴られた語および入力ミスのキーストローク・シーケンスを、その語の正しいスペルとリンクするスペリング・オブジェクトもまた、構想可能である。処理を単純化するために、各語彙モジュールは、好ましくは同様のオブジェクトを含む。しかしながら、さまざまなオブジェクトが語彙モジュールの中で混合されている可能性があることは、理解されるであろう。
【００５７】
図3を再び参照すると、ブロック156において、受信されたキーストローク・シーケンスに対応するそれらのオブジェクトは、各語彙モジュール内で識別される。ブロック158〜165において、語彙モジュールのキーストローク・シーケンスを探索することにより見いだされたオブジェクトは、オブジェクトがユーザに表示される順序を決定するために優先順位をつけられる。選択リストに表示されるオブジェクトのシーケンスを決定するために、優先順位は、各語彙モジュール間、更に、各語彙モジュールから戻されたオブジェクト間で確立される。
【００５８】
さまざまな語彙モジュールから識別されるオブジェクト・リストに優先順位をつけるために、ブロック158において、キーの数を減少させたキーボードの曖昧さ除去システムの操作モードは、調べられる。上記のように、通常の操作モードにおいて、語解釈（読み方および見出し語）は、選択リストの中で最初に表示される。したがって、語の語彙モジュールからのオブジェクト・リストは、他の語彙モジュールからのオブジェクト・リストより高い優先順位を割り当てられるであろう。逆にいえば、曖昧さ除去システムが数の操作モードである場合、数の解釈は、他の語彙モジュールより高い優先順位を割り当てられるであろう。したがって、曖昧さ除去システムのモードは、語彙モジュール・オブジェクト・リスト間の優先順位を指図する。或るモードにおいて、或る語彙モジュールからのオブジェクト・リストが、完全に選択リストから省略される可能性があることは、理解されるであろう。
【００５９】
語彙モジュールから生成されるオブジェクト・リストは、単一入力のみを含む場合があり、または、それらは複数の入力を含む場合もある。したがって、ブロック160において、オブジェクト・リストが複数の入力を含む場合、同じ語彙モジュールからのオブジェクト間の優先順位は、解決される。所定の語彙モジュールにおいて探索された特定のキーストローク・シーケンスとマッチングするオブジェクトに、互いに関してそれらの相対的なプレゼンテーションを決定する優先順位もまた与えられる。上記したように、好ましくは、デフォルト・プレゼンテーションの順序は、代表的なコーパスの使用量における減少する使用頻度による。したがって、各オブジェクトと関連している優先順位データは、選択リストのオブジェクトを順序づけるために使用される。
【００６０】
語彙モジュールにおいて探索されるオブジェクトのプレゼンテーションと関連している特性の多くは、適切なシステムメニューにアクセスすることによりユーザ・プログラマブルである。例えば、ユーザは選択リストのオブジェクトの個々のオブジェクトまたはクラスの順序を特定することができる。ユーザは、また、語彙モジュール間および各語彙モジュールから識別されたオブジェクト間の優先順位を決定する優先順位レベルを設定することができる。
【００６１】
オブジェクト間の優先順位が解決された後で、ブロック165において、選択リストは、識別されたオブジェクトから構成されかつユーザに示される。ユーザにより入力された曖昧なキーストローク・シーケンスのデフォルトの解釈として、選択リストの第1の入力は、暫定的に示され、および図1aと1cに図示されたように、テキスト領域53の挿入位置88において強調される。次に、曖昧さ除去ソフトウェア・ルーチンは、次のキーストロークを待つためにブロック150へ戻る。
【００６２】
検出されたキーストロークが選択キー60である場合、判断ブロック152から判断ブロック163へ「はい」の分岐を取り、ここで、テストは、現在の選択リストが空であるか否かを決定する。そうであれば、実行はブロック150へ戻る。判断ブロック163において選択リストが空でない場合、ブロック174へ「いいえ」の分岐が取られる。ブロック174において、それが暫定的に示された挿入位置88において表示されたデフォルトの読み方の下の点線のアンダーラインは、実線アンダーラインに変化される。ブロック175において、システムは、その時、ユーザにより入力される次のキーストロークを検出するために待つ。キーストロークを受信すると、判断ブロック176において、次のキーストロークが選択キーであるか否かを決定するために、テストが行われる。次のキーストロークが選択キーである場合、ブロック178において、システムは、選択リストの次の読み方へ進み、および現在選択された項目としてそれに印をつける。ブロック179において、現在選択された入力は、挿入位置に、実線のアンダーラインと共に、暫定的に表示される。次に、ルーチンは、ユーザにより入力される次のキーストロークを検出するためにブロック175へ戻る。ブロック175〜179から形成されるループが、選択キーを複数回を押すことにより、より少ない使用頻度の入力された曖昧なキーストローク・シーケンスのさまざまな読み方解釈をユーザに選択可能とすることは、理解されるであろう。
【００６３】
次のキーストロークが選択キーでない場合、判断ブロック177において、次のキーストロークが変換キーであるか否かを決定するために、テストが行われる。検出されたキーストロークが変換キーである場合、判断ブロック177からブロック190へ「はい」の分岐が取られ、ここで、現在の読み方と関連している第1の見出し語は選択された項目として印をつけられ、および見出し語テキストは、挿入位置88に、実線のアンダーラインと共に、暫定的に表示される。ブロック191において、システムは、次に、ユーザにより入力される次のキーストロークを検出するために待つ。キーストロークを受信すると、判断ブロック192において、次のキーストロークが選択キーであるか否かを決定するために、テストが行われる。次のキーストロークが選択キーである場合、ブロック196において、システムは、現在選択された項目を、現在選択された見出し語が関連づけられた読み方へ戻して変化させ、かつ現在選択された項目としてそれに印をつけ、次に、前と同様にブロック179に進行する。判断ブロック192において次のキーストロークが選択キーでない場合、判断ブロック193において、次のキーストロークが変換キーであるか否かを決定するために、テストが行われる。それが変換キーである場合、ブロック194において、現在選択されたオブジェクトは、現在の読み方と関連している次の見出し語へ進み、かつ選択された項目として印をつけられる。ブロック195において、今選択された見出し語は、挿入位置88に、実線のアンダーラインと共に、暫定的に表示される。次に、システムは、ブロック191へ戻り、ユーザにより入力される次のキーストロークを検出するために待つ。
【００６４】
判断ブロック177または193において、次のキーストロークが変換キーでない場合、ルーチンは、ブロック180へと続き、ここで、暫定的に表示された入力は、キーストローク・シーケンス解釈として選択され、かつテキスト領域において標準テキスト・フォーマッティングへ変換される。ブロック184において、選択キーまたは変換キーに続く曖昧なキーストロークの受信が、システムに新しい曖昧なシーケンスの開始を示すので、古いキーストローク・シーケンスは、システムメモリからクリアされる。新しく受信されたキーストロークは、次に、ブロック154において新しいキーストローク・シーケンスを開始するために使用される。最高の使用頻度を有する読み方解釈がデフォルトの選択として示されるので、曖昧さ除去ソフトウェアのメインルーチンは、ユーザが選択キーの追加されたアクティブ化を必要とする事例の最小数を有するテキストを連続的に入力することを可能にする。
【００６５】
図1Ｂは、図1Ａと同様の、移動電話キーパッドの線図である。キーの数を減少させたキーボード54'は、複数のデータ入力キー21'〜30'を含む。１つ以上のデータ入力キーは、複数のローマ字(romaji character)（音声学上日本の仮名文字の発音を綴るために使用されるラテン文字）と関連し、およびキーと関連している各々のローマ字によってラベル付けされる。インプットがインプット装置のユーザ操作により選択されるごとに、インプット・シーケンスは生成される。生成されたインプット・シーケンスは、データ入力キーの1つ以上と関連している複数のローマ字に起因した曖昧であるテキストの解釈を有する。システムのこの実施例は、図1aに示されるものと概念的に極めて似ているが、発音区別符号を有する仮名は異なるラテン文字の使用によりローマ字(romaji)において特定されるので、発音区別符号キー68を必要としない。例えば、仮名「か」は、ローマ字で「KA」として特定され、発音区別符号の濁点が付けられた同じ仮名「が」は、ローマ字で「GA」として特定される。
【００６６】
通常の操作モードにおいて、キーストロークは、所望の語解釈に対応する読み方を綴るために仮名に対応するローマ字のシーケンスの入力として最初に解釈される。例えば、図1bに示されるように、キーストローク・シーケンス、「5 KLM」、「4 HIJ」、「5 KLM」、「1 ABC」、「5 KLM」および「9 TUV」は、ユーザにより入力される。キーが入力されるとき、語彙モジュール探索は、キーストローク・シーケンスとマッチングする読み方を見つけるために同時に実行される。読み方は、最初にリストされる最も一般的に使用される読み方と共に、使用頻度に従って語彙モジュールから戻される。具体例のキーストローク・シーケンスを使用すると、読み方KIKAKU（「きかく」）およびMIKAKU（「みかく」）は、キーストローク・シーケンスに対応する2つの最も有望な読み方として語彙モジュールから識別される。この選択リストの2つの識別された読み方の中で、KIKAKU「きかく」は最も多用されるので、それはデフォルトの解釈とされ、および挿入位置88'に平仮名テキストとして暫定的に示される。図1bに示されるように、選択キー60'を押す前に、この第1の読み方は、デフォルトの解釈とされ、かつ特徴的なフォーマットを使用して、挿入位置88'に示される。ローマ字での読み方を特定することは、平均して仮名の対応する仕様のおよそ倍の文字（したがって、倍のキー選択）を必要とする。従って、同じ数（10個）のインプット・キーの中で分散された倍のキーストロークが入力されるとき、統計学的により多くの情報が特定されるので、図1bに示されるシステムは、一般に、図1Ａに示されるそれより、少ない曖昧な選択に結果としてなる。
II. 曖昧でないテキスト入力方法
【００６７】
本発明は、また、ユーザがキーストロークの順序づけられた対として各所望の仮名を曖昧でなく特定することを可能とする日本語用のキーの数を減少させたキーボードのための方法を提供する。日本語の五十音図は、108個の音節を含む。（小さい「っ」、「ゃ」、「ゅ」および「ょ」は、それらが、異なった様式で書かれ、かつ発音されるので、標準サイズの「つ」、「や」、「ゆ」および「よ」と別個の音節として計算に入れる。）いくつかの追加のあまり使用されない音節、例えば、主に片仮名においてのみ使用される母音音節「あ」、「い」、「う」、「え」および「お」の「小さい」バージョンがある。後述するようにディスプレイと連動して使用されるとき、これらのあまり使用されない音節もまた、システムにより、容易に、生成されることができる。108個の標準音節の中で、37個は、他の71個の音節の1つに単に発音区別符号「゛」または「゜」の1つを追加することにより生成される。発音区別符号のないこれらの71の音節は、下記で詳細に説明されるように、9または10の行および8〜10の列の単一のマトリックスに論理的に編成されることができる。本発明のキーボード上の複数のキーは、2つの仮名、すなわちマトリックスの所定の行と関連している子音を表している1つの仮名とマトリックスの所定の列と関連している母音を表している第2の仮名とによってラベル付けされる。
【００６８】
編成は、108個の音節の106個に対して日本語のネイティブスピーカにとって論理的なおよび直覚的であり、および、残っている2音節（小さい「つ」、および「ん」）を生成するための方法は、単純かつ覚えやすい。すべての音節は、キーストロークの単一の対により生成され、2つの別々の仮名により表される口蓋音化された母音を有する音節（例えば「KYA」、「KYU」および「KYO」）を含む。このことは、キーの数を減少させたキーボードに仮名を入力するための現在使用されているマルチストローク方法により必要とされるより著しく少ないキーストロークに結果としてなる。したがって、本発明は、容易に理解され、かつ日本語のネイティブスピーカによりすばやく覚えられ、およびインプット・キーストローク・シーケンスの長さを減らす観点から効率的であるキーの数を減少させたキーボードを提供する。
【００６９】
好適な実施例の場合、日本語の五十音図の71個の音節は、表4aに示されるマトリックスにおいて編成される。表4aの最初の8つの列に現れる全ての69個の音節を含む一般の場合、対応する順序づけられた対の第1のキーストロークは出力される音節の子音を決定し、および、第2のキーストロークは母音を決定する。2つの残っている音節（小さい「つ」、および「ん」）は、以下に記載される例外的な場合である。表4aに示されない、残っている37個の音節は、表4aのマトリックスに現れる対応するベース音節を生成することによる出力であり、次に、別個のキーを使用する発音区別符号を追加する。図1cは、日本語のための本発明のキーの数を減少させたキーボード・システムの実施例を組み込んだキーパッドを有する、限られた機能を備える表示または表示機能を備えない移動電話の線図を示す。10個のキー121〜130の各々は、キーの左上領域において、表4aの「Key1」に分類される列の行ヘッダからの仮名ラベル（以下、「行ラベル仮名」）の1つによりラベル付けされ、およびキーの右下領域において、表4aの「Key2」に分類される行の列ヘッダからの仮名ラベル（以下、「列ラベル仮名」）の1つによりラベル付けされる。好適な実施例の場合、2-キー・シーケンスが入力されるとき、表4aに現れる音節は、生成される。ここで、第1のキーは、音節が現れる行に対応する行ラベル仮名を有する左上においてラベル付けされるキーであり、および第2のキーは、音節が現れる列に対応する列ラベル仮名を有する右下でラベル付けされるキーである。10個の行ラベル仮名は、それらの標準辞書編集のシーケンスで図1cに示されるキーボードの10個のキー121〜130の左上に現れる。最初の5個の列ラベル仮名は、それらの標準辞書編集のシーケンスでキーボードの最初の5個のキー121〜125の右下に現れ、次の3個のキー126〜128上に（同様に、標準辞書編集のシーケンスで）小さい「や」、「ゆ」および「よ」が続く。最後に、次のキー129に、小さい「つ」が現れ、キー130に「ん」が続く。発音区別符号は、発音区別符号「゛」を生成するために一回、および発音区別符号「゜」を生成するために二回連続して発音区別符号キー131をアクティブにすることにより、任意の音節に追加することができる。発音区別符号が口蓋音化された母音を有する（小さい「や」、「ゆ」または「よ」が続く表4の「い」列からの音節からなる2つの出力仮名により表される）音節に追加されるとき、発音区別符号は、2つの仮名の第1のものにすぐ続くその正しい位置で出力に追加される。
【００７０】
したがって、表4aの最初の8つの列に現れる69個の音節に対して、対応する順序づけられた対の第1のキーストロークは、出力される音節の子音を決定し、および第2のキーストロークは、母音を決定する。別の好適な実施例の場合、ディスプレイは、ユーザにフィードバックを提供するために使用される。順序づけられた対の第1のキーストロークを受信すると、システムは、順序づけられた対の第2のキーストロークとして有効な各キーにより生成されることができるさまざまな音節を表示する。どのキーがどの音節を生成するかの関連は、音節を生成するキーと関連している数（または他の識別子）で各音節をラベル付けすることにより、示されることができる。これに代えて、音節は、対応するキーの配置と対応する幾何学的な配置で（数のラベルの有無にかかわらず）表示されることができる。例えば、テキスト表示を有する移動電話のようなデバイスの場合、音節は、テレフォン・キーパッドの1〜 9のキーの配置に対応する3×3マトリックスで表示することができる。ディスプレイがこのように使用されるとき、母音音節「あ」、「い」、「う」、「え」および「お」の「小さい」バージョンのようなたまにしか使用されない音節さえ、容易に生成可能である。例えば、表4bに示されるマトリックスを使用する場合、第1のキーが表4bの最上部行の母音のみの音節に対応する順序づけられた対の第1のキーを押すと、ディスプレイは、キー1〜5の第2のキーストロークと関連している母音音節「あ」、「い」、「う」、「え」および「お」の通常の大きさのバージョン、およびキー6〜0と関連している母音音節「あ」、「い」、「う」、「え」および「お」の「小さい」バージョンを示す。
【００７１】
図1Ｄは、日本語のための本発明のキーの数を減少させたキーボード・システムの実施例を組み込んだキーパッドを有する、テキスト表示機能を含む移動電話の線図を示す。10個のキー121〜130の各々は、キーの中央領域において表4bからの行ラベル仮名の1つのみでラベル付けされる。10個の行ラベル仮名は、図1Ｄに示されるキーボードの10個のキー121〜130上にそれらの標準辞書編集のシーケンスで現れる。図1dは、キーストロークの順序づけられた対の第1のキーとして、（曖昧に「か」、「き」、「く」、「け」および「こ」と関連している）キー122のアクティブ化に続くディスプレイの外観を示す。好適な実施例の場合、行ラベル仮名によってラベル付けされるキーがアクティブにされるとき、表4bの対応する行に現れる音節が、表示される。ディスプレイは、生成されるであろう仮名と、仮名を生成するためにキーストロークの順序づけられた対の第2のキーとして押されることができる各キーとの間の関連を示す。表4bの列は、図1Ｄに示される移動電話の各キー上にも現れる数によりラベル付けされる。この好ましい実施例の場合、口蓋音化された母音（「きゃ」、「きゅ」および「きょ」）を有する3音節は、（数字7、8および9によりラベル付けされる）キー127〜129と関連し、したがって、これらはディスプレイの単一の行において表示可能であることに留意されたい。このことは、ユーザがそれらを生成するであろうキーにこれらの関連した音節を関連づけることをより容易する。何故なら、この関連が、キー上の数ラベルおよび表示された音節の観点ばかりでなくディスプレイ上の音節およびキーパッドのキーの同じ3×3マトリックス配置の観点からも作成可能でないからである。前と同様に、発音区別符号は、発音区別符号「゛」を生成するために一回、および発音区別符号「゜」を生成するために二回連続して発音区別符号キー131をアクティブにすることにより、任意の音節に追加することができる。発音区別符号が、（図1Ｄに示される具体例におけるキー127〜129上の第2のキーストロークと関連している）口蓋音化された母音を有する音節に追加されるとき、発音区別符号は、2つの仮名の第1のものにすぐ続くその正しい位置で、出力に追加される。
【００７２】
図2Ｂおよび2Ｃは、携帯型コンピュータ・タッチスクリーン上に表示されるキーボードとして実施される場合、それが現れる可能性がある、本システムの好適な実施例を示す。図2Ｂは、それがキーストロークの順序づけられた対の第1のキーストロークの前に表示されるときの、キーボード150を示す。図2Ｃは、それがキーストロークの順序づけられた対の第1のものとして音節「か」、「き」、「く」、「け」および「こ」と関連している図2bのキー152のアクティブ化に続いて表示されるときの、キーボード170を示す。図2cにおいて、キー171〜179は、キーがアクティブにされるとき、出力のために生成された仮名により、それぞれ、ラベル付けされる。キーおよび音節のこの配置は、図1Ｄのディスプレイに示される同じ3×3マトリックス配置に依拠し、表4bに示される音節の同じ概念上の編成を使用してキーパッドのキーと音節を関連づける。
【００７３】
別の好適な実施例の場合、表4aまたは4bの空のセルに対応する2-キー・シーケンスの入力は、出力をもたらさない、およびユーザのオプションで、聞き取れるエラー信号を生成する。別の実施例の場合、図1cの（列ラベル仮名、小さい「つ」によりラベル付けされる）キー129上の二回ヒットに対応しているセルもまた、小さい「つ」を生成する。別の代替実施例の場合、列ラベル仮名、小さい「つ」によりラベル付けされる列のセルの全ても、また、小さい「つ」を生成する。同様に、別の代替実施例の場合、列ラベル仮名「ん」によりラベル付けされる列のセルの全ては、「ん」を生成する。さまざまな修正が、本発明の範囲を逸脱することなく、表4aおよび4bのマトリックスに作成可能であることは、当業者に明らかであろう。例えば、小さい「つ」および「ん」は、小さい「つ」を生成するために一回、および「ん」を生成するために連続二回、アクティブにされる別個のキーにそれらを割り当てることによるような多種多様な方法で特定されることができる例外的な場合である。より重要な本発明の観点は、表4aの第1の8つの列（または表4bの列1〜5および7〜9）の音節の仕様の方法である。
【００７４】
表4b
2005530272.tif 000007
【００７５】
図1Ｃに示される好適な実施例における行ラベル仮名および列ラベル仮名のキーへの割当てが最も自然であるにもかかわらず、行ラベル仮名および列ラベル仮名が本発明の範囲から逸脱することなく他の組み合わせにおいてキーに割り当てられる代替実施例も、また、可能であることは、当業者に明らかであろう。図4および5は、行ラベル仮名および列ラベル仮名が代替配置のキーに割り当てられる、多くの可能な代替実施例のいくつかを示す。
【００７６】
別の実施例の場合、本発明のシステムは、図5に示すように単に9個のキーを有するキーボード上で実施されることも可能である。表4aの71個の異なった音節の68個（68）は、行ラベル「や」に対応する行が除去された表5に示されるように編成されることも可能である。このような9個のキーシステムで、3個の音節「や」、「ゆ」および「よ」は、第1のキーが表の第1の行のセルに対応する、行ラベルである順序づけられた対のキーシーケンスから生成される。音節、小さい「つ」および「ん」は、併合された表4aの最後の2列を含む、最後の列のセルに対応するキーシーケンスにより生成される。
表4a
2005530272.tif 000008
表5
2005530272.tif 000009
【００７７】
本発明の別の観点の場合、システムは、次のキーストロークが、（出力される音節の子音を決定する）順序づけられた対の第1のキーストロークとして、または（出力される音節の母音を決定する）順序づけられた対の第2のキーストロークとしての何れかに処理されるかに関して、ユーザに表示を提供する。例えば、この表示は、交替に点灯される一対のラベル付けされたLEDとして、実施されることが可能である。これに代えて、2つの異なったアイコンが、ディスプレイに交替に示されることが可能である。このような表示の多くの他の代替実施例も、また、本発明の範囲を逸脱することなく可能であることは、当業者に明らかであろう。
【００７８】
図1Ｃおよび2Ｂに示されるようにキーへの適切なラベルの割当ての組み合わせられた効果；キーストロークの順序づけられた対からの音節の生成；図1Ｄおよび2Ｃに示されるように順序づけられた対の第1のキーストロークに続く適切なフィードバックの提供；キー・ラベルの編成と日本語の五十音図の標準順位付けおよび配置との間の自然の対応；および次のキーストロークが、音節の子音を特定する行ラベル仮名または母音を特定する列ラベル仮名に対応するかの何れかに関して、ユーザへの表示を包含(inclusion)することは、曖昧でなくインプットしているテキストに対して効率的であるのみならず日本語のネイティブスピーカにより容易に理解され、かつすばやく覚えられるシステムに結果としてなる。したがって、習得し使用し易い、減少された数のフルサイズのキーを有するキーボードを使用することにより、テキストの高速な曖昧でない入力は、達成される。
III. 曖昧なおよび曖昧でないキーストロークを組み合わせているテキスト入力方法
【００７９】
本発明の更に別の観点の場合、音節の曖昧な仕様と曖昧でない仕様の両方が、インプット方法のより大きな効率を達成するために組み合わせられる。好適な一実施例の場合、ユーザのオプションで、入力される語の第1の音節は、上記に開示される2-キーストローク方法を使用して、曖昧でなく特定される。口蓋音化された母音を有する音節の場合、これらの第1の2-キーストロークが、（口蓋音化された母音を示す小さい「や」、「ゆ」または「よ」を含む）2つの平仮名文字の仕様に結果としてなることに留意されたい。語または句の残っている音節は、各音節に関する単一のキーストロークによって、曖昧に特定される。1または2音節と同様に短い語の場合、この組み合わせられた方法は、インプット・シーケンスの曖昧性を著しく減らすことができ、従って、ユーザが、所望の読みを見つけるために調べる必要がある候補の読みの数を減らすことができる。別の代替実施例の場合、当業者に公知のようにマルチストローク仕様方法は、語または句の第1の音節のみを曖昧でなく特定するために使用されることが可能であり、かつ残りの音節は、曖昧に特定される。
【００８０】
本発明の曖昧な仕様方法を使用する更に別の代替実施例の場合、2-ストロークの方法は、語または句の（第1のもののみではなく）任意の所望の音節を特定するために使用されることができる。例えば、或る時間閾値を過ぎてキーを押し続けることは、すぐ次のキーストロークが、所望の音節を曖昧でなく特定する2-キーストロークの第2のものであることを示すことができる。このアプローチは、2つの利点を有する。1つは、（語または句の第1の音節のみではなく）任意の音節が曖昧でなく特定されることが可能であるということである。2つ目は、このことがインプットの効率を増加すると考えられるときのみ、ユーザが、曖昧でなく音節を特定する選択をすることが可能であることである。より一般的でない、いくつかの語および句に対して（特により短い語に対して）、最も一般的に使用される語および句のデフォルト・プレゼンテーションは、全ての音節が曖昧に特定されるとき、所望の読み方を選択するために、多数の選択キーのアクティブ化を必要とするかもしれない。このような場合、少なくとも1つの音節を曖昧でなく特定することは、ユーザが、同じポジションで同じ曖昧でなく特定された音節を共有するそれらの読み方の中から選択することのみを必要とするので、著しく少ないキーストロークが所望の読み方を生成するために必要さされることになる可能性がある。
IV. 曖昧なキーストロークの曖昧さ除去をサポートするデータベース構造
【００８１】
インプット・シーケンスの曖昧さを除去するために使用される語および句のデータベースは、1つ以上のツリー・データ構造を使用する語彙モジュールに格納される。特定のキーストローク・シーケンスに対応する語は、すぐに先行するキーストローク・シーケンスと関連している語および語幹のセットを修正する命令の形で、ツリー構造に格納されるデータから構成される。したがって、シーケンスの各新しいキーストロークが処理されるとき、そのキーストロークと関連している命令のセットは、それに追加される新しいキーストロークを有するキーストローク・シーケンスと関連している語および語幹の新しいセットを作成するために使用される。このように、語および語幹は、明確にデータベースに格納されず、それらは、それらにアクセスするために使用されるキーシーケンスに基づいて構成される。
【００８２】
日本語の場合、ツリー・データ構造は、2つのタイプの命令を含む。一次命令は、語および句の発音に対応する仮名のシーケンスから成る語彙モジュールに格納される語および句の読み方を作成する。各読み方に対応することは、各読み方と関連している見出し語を作成する二次命令のリストである。各読み方は、すぐに先行するキーストローク・シーケンスと関連している読み方の1つを修正する一次命令により作成される。同様に、各見出し語は、二次命令が関連づけられた一次命令により修正された読み方と関連している見出し語の1つを修正する二次命令により作成される。
【００８３】
各一次命令が公知のキーを参照するので、どの特定の仮名が追加されることになっているかに関する情報は、キーと関連している仮名のセットへの論理的インデックスとして格納されることが好ましい。単一のキー540の代表的な線図は、図6に表される。好適な実施例におけるキーの内部の論理的表現は、物理的な配列を反映させる必要はない。例えば、541は、日本語の語彙モジュールの「2 か」キーと関連しているキーの好適な論理的記述である。4つの追加された記号542（き、く、け、こ）も、また、キーと関連している。また、記号は、日本語の辞典におけるそれらが使用頻度を減少する順序（く、き、こ、け）により、インデックス543を付けられることが好ましい。そして更には、図7は、日本語へのキー押しの曖昧さ除去で使用されるキー・インデックスへ、論理記号のインデックスを関連づけている好適な表である。図7は、先行する文字が濁点または半濁点と共に現れるとき、特定するために使用される別個の発音区別符号キー68を有する図1aに示される好適な実施例に対応する表を示す。発音区別符号キー68を押すことは、濁点または半濁点が先行する仮名に追加されることになっているかどうかに関して曖昧である。代替実施例の場合、発音区別符号キー68は、曖昧でなく、かつ濁点のために一回、および半濁点を特定するために連続して二回、押される。別の好適な実施例の場合、（濁点または半濁点を伴うおよび伴わない）所定の仮名の全ての形状は、同じキーと関連し、および論理記号インデックス表(Logical Symbol Index Table)の同じ行にも現れる。このことは、発音区別符号キー68の使用がオプションであるように設定されるデータベースを使用するシステムを可能にする。このようなシステムにおいて、発音区別符号キー68の使用を必要とするオプションが使われない場合、発音区別符号を有する仮名の追加を特定する命令は、発音区別符号キー68が（濁点のために）一回、または（半濁点のために）二回押されるまで、飛ばされる。
【００８４】
語オブジェクト語彙モジュール1010のツリーの代表的な線図は、図10に表される。ツリー・データ構造は、対応するキーストローク・シーケンスに基づいて語彙モジュールにおけるオブジェクトを編成するために使用される。図10に示されるように、語彙モジュール・ツリーにおける各ノードN001、N002、... N011は、特定のキーストローク・シーケンスを表す。ツリーのノードは、パスP001、P002、...P011により接続される。11個の曖昧なデータ・キーが曖昧さ除去システムの好適な実施例にあるので、語彙モジュール・ツリーの各親ノードは、11個の子ノードと接続可能である。ノードからのパスの欠如が、無効なキーストローク・シーケンス、すなわち、任意の格納された語に対応しないものを示す一方、パスにより接続されるノードは、有効なキーストローク・シーケンスを示す。無効なインプット・キーストローク・シーケンスの場合、好適な実施例のシステムは、インプット・キーシーケンスの数の解釈を構成しかつ表示することがなお可能であることに留意されたい。（選択キーの任意の押し無しの）挿入位置における数の解釈の出現は、ユーザに、語彙モジュールがインプット・キーシーケンスに対応する語を含まないことを示す。
【００８５】
語彙モジュール・ツリーは、受信されたキーストローク・シーケンスに基づいてトラバースされる。例えば、ルート・ノード1011から第2のデータ・キーを押すことにより、第1のキーと関連しているデータがルート・ノード1011の内部からフェッチされ、かつ評価され、次に、ノードN002へのパスP002は、トラバースされる。二度目に第2のデータ・キーを押すことにより、第2のキーと関連しているデータがノードN002からフェッチされ、かつ評価され、次に、ノードN102へのパスP102は、トラバースされる。以下に、より詳細に述べるように、各ノードは、キーストローク・シーケンスに対応する多くのオブジェクトと関連している。各キーストロークが受信され、対応するノードが処理されるとき、オブジェクト・リストは、キーストローク・シーケンスに対応するオブジェクトから生成される。各語彙モジュールからのオブジェクト・リストは、選択リストを生成するために曖昧さ除去システムのメインルーチンにより使用される。
【００８６】
図8Ａは、各ノードと関連している好適なデータ構造400のブロック線図である。データ構造は、各親ノードを語彙モジュール・ツリーの子ノードにリンクする情報を含む。データ構造は、また、ノードにより表される特定のキーストローク・シーケンスと関連しているオブジェクトを識別するための情報（命令）も含む。
【００８７】
ノード・データ構造400の第1のフィールドは、親ノードに接続され、かつ11個の可能なキーのどれが、ノードにより表される特定のキーストローク・シーケンスと関連しているオブジェクトを識別する（構成する）ための情報（命令）と関連している子ノードの数および識別を示す有効なキー・ビット・フィールド402である。好適な実施例の場合、11個のデータ・キーがあるので、多くて11個の子ノードは、任意の親ノードに接続される可能性があり、したがって、11個の有効なキー・ビットは、子ノードの有無を示すために、有効なキー・ビット・フィールドに提供される。各有効なキー・ビットは、語彙モジュールのそれぞれの子ノード・データ構造のポインタを含むポインタ・フィールド404a、404b、... 404nと関連している。子ノードと関連しているキーストロークが親ノードと関連しているキーストローク・シーケンスの有効な継続である場合、子ノードは単に存在するのみであるので、ポインタ・フィールドの数は、各ノードに対して変化する。例えば、有効なキー・ビット・フィールド402は、可能な11回のキーストロークの6回のみが有効な子ノードに導くことを示す可能性がある。6つの有効なパスがあるだけであるので、6つのポインタ・フィールドのみが、親ノードのためのデータ構造に含まれる。有効なキー・ビット・フィールド402は、ノード・データ構造の範囲内に含まれるポインタ・フィールドの識別を確認するために使用される。キーストロークが有効な子ノードに至らない場合、関連づけられたポインタ・フィールドは、語彙モジュールを格納するために必要なメモリ空間の量を節約するためにノード・データ構造から省略される。
【００８８】
ノードにより表されるキーストローク・シーケンスに対応する多数のオブジェクトは、各ノードと関連している。各々のオブジェクトは、ノード・データ構造に含まれる有効なキー・ビット・フィールド402のビットのパターンにより示されるように特定の有効なキーに付与されたパケット408の命令406により記述される。
【００８９】
各パケットの各命令406は、各ノードにより表されるキーストローク・シーケンスに対応するオブジェクトの1つを記述する。オブジェクトを記述することは、2つのオブジェクト・リストを維持することを必要とする。図11は、語彙モジュール・ツリーの親および子から曖昧さ除去ソフトウェア・プロセスにより動的に作成される代表的なオブジェクト・リストを表す。オブジェクト・リスト430は、2回のキーストロークを表すノードと関連しているオブジェクト1〜N1を含むオブジェクト・リストである。オブジェクト・リスト440は、3回のキーストローク表すノードと関連しているオブジェクト1〜N2を含むオブジェクト・リストである。各オブジェクト・リストは、各ノードと関連している全てのオブジェクトのリストを含む。オブジェクト・リスト430は、図1aのキーボードからのキーストローク・シーケンス「2か2か」を表す親ノードと関連している。オブジェクト・リスト440は、キーストローク・シーケンス「2か2か2か」を表す子ノードと関連している。オブジェクト・リストのサイズが、各ノードと関連しているオブジェクトの実際の数を説明するために変化することは、理解されるであろう。
【００９０】
子ノードと関連している各読み方オブジェクトは、親ノードにより構成されたオブジェクトに仮名文字を追加する一次命令により構成される。図8Aの命令406のパケットにおける各命令は、したがって、子ノード・オブジェクトを構成するために使用されたオブジェクトを親ノード・オブジェクト・リストから識別する図8Bに示されるオブジェクト・リスト・インデクス(Object-List-Index)フィールド556を含む。例えば、図11に関して、古いオブジェクト・リスト430の第3のオブジェクト「きか」は新しいオブジェクト・リスト440の第2のオブジェクト「きかく」を構成するために使用される。前のオブジェクト識別子フィールドのオブジェクト・リスト・インデクス 556は、したがって、新しいオブジェクトを構成するために使用される古いオブジェクトを識別するために古いオブジェクト・リストの入力へリンクを提供する。
【００９１】
命令558は、新しいオブジェクトを構成するために識別されたオブジェクトに追加する記号を示すために論理記号インデクス(LOGICAL-SYMBOL-INDEX)フィールド555を含む。したがって、論理記号インデクス・フィールドは、新しいオブジェクトを構成するために追加されるノードのキーシーケンスの最終的なキーから字(letter)を特定する。字は、図7に表されるような表により特定される。例えば、図11に関して、新しいオブジェクト・リスト440の第1のオブジェクト「かかく」は、古いオブジェクト・リスト430の第4のオブジェクト「かか」を使用し、かつ「く」を特定する追加されたキーストロークを追加することにより構成される。図7の論理記号インデックス表において、「く」は,「2か」キー上の第2の論理的字であり、したがって、オブジェクト「かかく」を生成した命令の論理記号インデクス・フィールドは、表の第2の字を示すために「2」に設定される。このようにオブジェクトを符号化することは、各ノードと関連している公知のキーシーケンスおよびキーに対する字の公知の関連を利用し、その結果、各語彙モジュールに必要な記憶空間の量を非常に減らす。
【００９２】
また、語彙を符号化する技術は、検索することなく語彙モジュール入力へのアクセスを可能とする。各新しい有効なキーストロークを受信すると、システムは、古いものから新しいオブジェクト・リストを構成するために現在のノードにおいてキーと関連する命令を実行し、次に、適切な子ノードへの単一のポインタに続く。また、すべてのオブジェクトを語彙モジュールに格納しなければならないのではなく、新しいオブジェクトは、古い解釈上に追加する論理記号インデックス・フィールドを使用して定義される。したがって、語彙モジュールの複数のオブジェクトにより共有された語幹は、一回、格納されるのみであり、かつそれから導き出されるオブジェクトの全てを作成するために使用される。開示された記憶方法は、子ノードのオブジェクト・リストを構成するために、語彙モジュール・ツリーの親ノードからのオブジェクト・リストを維持することを必要とする。
【００９３】
例えば、図7に表されるような論理記号インデックス表の入力は、単一の文字である必要はない。任意のシーケンスが、単一入力を占有することが可能である。例えば、仮名シーケンス「なかった」は、語「きかなかった」を形成するために古いオブジェクト・リストから第3のオブジェクト「きか」に追加されることが可能である。このように、入力されたキーストローク・シーケンスの長さが、関連づけられたオブジェクトの長さに必ずしも直接対応しない。記号インデックス表の入力で格納された文字シーケンスは、語彙オブジェクトが任意のキーシーケンスにより識別される、すなわち語彙モジュール・ツリーの範囲内で任意の位置に格納されることを可能にする。
【００９４】
オブジェクトタイプ・フィールドは、また、構成されているオブジェクトに関する追加情報を特定するために、図8Bの各命令558に含まれることも可能である。オブジェクトタイプ・フィールドは、生成されたオブジェクトが、語、語幹、または任意の他のオブジェクトであるかどうかを特定するためにコードを含むことが可能である。したがって、オブジェクトタイプ・フィールドは、所定の語彙モジュールの範囲内で混合される異なるタイプのオブジェクトを可能にする。更に、オブジェクトタイプ・フィールドは、また、語の音声部分と考えられる情報、またはさまざまな語尾変化および語尾を構成するために必要とされる情報を含むことを可能にする。音声情報の部分を有する語彙モジュールを使用するキーの数を減少させたキーボードの曖昧さ除去システムは、曖昧さ除去プロセスを改善するために構文上の解析を実施するための追加情報を使用することが可能である。オブジェクトタイプ・フィールドは、また、圧縮形式においてテキストの伝送を可能にするために一意的なコードを含むことも可能である。一意的なコードは、入力されたキーストローク・シーケンスまたは関連づけられた曖昧さを除かれた文字を送信する代わりに、リモートターミナルに送信される。
【００９５】
好適な語彙モジュール・ツリー・データ構造の主な特徴の1つは、各ノードと関連しているオブジェクトが、それらの使用頻度に従ってノード・データ構造400に格納されることである。すなわち、命令406のパケットの第1の命令により構成されるオブジェクトは、第3の命令（存在すれば）より高い使用頻度を有する406における第2の命令（存在すれば）により構成されるものよりより高い使用頻度を有する。このように、オブジェクトは、減少する使用頻度に従ってソートされるように、オブジェクト・リストに自動的に配置される。説明の便宜上、語オブジェクトの使用頻度は、各語がコーパスにおいて発生する回数と比例する、有用な代表的なコーパスの範囲内における所定の語を使用する可能性を参照する。語幹オブジェクトの場合、使用頻度は語幹を共有する全ての語の頻度を合計することにより決定される。
【００９６】
システムが使用中のとき、各ノードにおける使用頻度または他のランク情報を格納することは、各オブジェクトのランクに関して決定およびソートする必要を回避する。このことは、格納されたオブジェクトが、極めて多数のより長い語に共通の共有された語幹を含む可能性があるので、語オブジェクト語彙において重要な意味を有する。動的にこれらの語幹の相対的なランクを決定することは、子ノードの全ツリーをトラバースすることを必要とし、かつ各語幹に関して情報を蓄積し、携帯型コンピューティング装置用の重大な処理オーバーヘッドを追加するであろう。したがって、前もってこの情報を決定し、かつそれを語彙データに格納することは、処理オーバーヘッドを減らす。更に、ノードにより作成されたオブジェクトの使用頻度またはランクがそれらを作成する命令406の順位付けにより暗黙に表されるとき、如何なる追加の記憶空間も、この情報のために必要とされない。
【００９７】
オブジェクトが、好ましくは、それらの使用頻度に従う順序でノード・データ構造400の範囲内で格納されるとき、使用頻度フィールドもまた各命令と関連可能であることは、理解されるであろう。使用頻度フィールドは、関連づけられたオブジェクトの使用頻度と対応する代表的な数を含む。異なるオブジェクト間の使用頻度は、各オブジェクトの使用頻度フィールドを比較することにより決定される。使用頻度フィールドを各オブジェクト・パケットと関連づける後者の構成を使用する1つの利点は、使用頻度フィールドが曖昧さ除去システムにより変化可能であろうということである。例えば、システムは、ユーザが代表的なテキスト入力の間、語彙モジュールの範囲内で或るオブジェクトを使用した頻度を反映するために使用頻度フィールドを変化させることができるであろう。
【００９８】
図12は、特定の語彙モジュール・ツリーの対応しているオブジェクトを識別する受信されたキーストローク・シーケンスを解析するためのサブルーチン600のフローチャートである。サブルーチン600は、特定のキーストローク・シーケンスに関するオブジェクト・リストを構成する。ブロック602は、新しいオブジェクト・リストをクリアする。ブロック604は、そのルート・ノード1011において図10のツリー1010のトラバースすることを開始する。ブロック606は、第1のキー押しを得る。ブロック608〜612は、全ての利用可能なキー押しを処理するためにループを形成する。ブロック608は、図13のサブルーチン620を呼び出す。全ての利用可能なキー押しが処理されたか否かを判断ブロック610が決定する。任意のキー押しが未処理で残る場合、ブロック612は、次の利用可能なものへ進む。全てのキー押しが処理された場合、ブロック614は、完成されたオブジェクト・リストを戻す。メインルーチンが、各々最後よりもう一つ多いキーを有しかつ最後以外の全てのキーが前の呼出しと同じものである、新しいキーストローク・シーケンスによって繰り返しサブルーチン600を呼び出す場合、サブルーチン620が、最新のキー押しのみを処理するために直接呼び出される場合は、初期設定ブロック602および604はバイパス可能であることは、理解されるであろう。
【００９９】
図13は、サブルーチン600から呼び出されるサブルーチン620のフローチャートである。上記したように、新しいオブジェクト・リストを構成するために、曖昧さ除去システムは、古いオブジェクト・リストのコピーからスタートする。したがって、ブロック626において、それが新しいオブジェクト・リストを構成するために使用される可能性があるために、従来のノードからのオブジェクト・リストは、格納される。
【０１００】
図3に示されるメインルーチンの場合、キーストロークはブロック150においてシステムにより検出された。有効なパスがキーストロークに対応する子に存在する場合、新しいキーストロークの受信によって、語彙モジュール・ツリーの下方へのトラバースすることが生じる。したがって、図13のブロック621において、ノード400データ構造の有効なキー・ビット・フィールドは、有効な命令およびポインタが受信されたキーストロークに対応するか否かを決定するために調べられる。判断ブロック622において、命令406および404aのようなポインタ・フィールドから成る有効なパケット408が入力されたキーストロークに対応して存在するか否かを決定するために、テストは、有効なキー・ビット・フィールドで、行われる。有効なパケットがキーストロークに対応しない場合、ブロック624において、古いオブジェクト・リストは選択リストを生成するためにメインルーチンに戻される。受信されたキーストロークが語彙モジュールの範囲内で任意のオブジェクトに対応しない無効なキーストローク・シーケンスの一部であるので、キーストロークは無視され、および、現在のオブジェクト・リストは語彙モジュールからのオブジェクト・リストであるとしてメインルーチンに戻される。したがって、ブロック622および624から成るサブルーチン620の分岐は、任意の無効なキーストローク・シーケンスを無視し、および曖昧さ除去システムにより生成される選択リストの可能な包含(inclusion)のための親ノードにおいて生成されるオブジェクト・リストを戻す。
【０１０１】
有効なパケットが判断ブロック622において受信されたキーストロークに対応して存在する場合、サブルーチンはここで、新しいオブジェクト・リストが、古いオブジェクト・リストへコピーされたブロック626へ進む。ブロック628は、所定のキーと関連している第1の有効な命令をフェッチする。ブロック630は、第1の命令が新しいオブジェクト・リストに第1の項目を生成するために、繰返し子(iterator)NEW-INDEXを「1」に初期化する。サブルーチンは、次に、有効な命令と関連しているオブジェクト・リストを構成するためにブロック632〜642より成るループに入力する。ブロック632において、オブジェクト-リスト-インデックス・フィールド556は調べられ、および、対応するオブジェクトは古いオブジェクト・リストからロードされる。ブロック634において、論理記号インデックス・フィールド555は、調べられ、および（図7の550のような論理記号インデックス表を介して受信されたキーストロークと関連している）適切な記号は、識別されたオブジェクトの終わりに追加される。所定のキー551および論理記号インデックス552において記号表550の入力が文字シーケンスを保持する場合、１つ以上の文字が、ブロック634において識別されたオブジェクトに追加可能であることは、理解されるであろう。ブロック636において、組み合わせられたオブジェクトおよび記号は、新しいオブジェクト・リストにおける新しいオブジェクトとして格納される。ブロック638において、サブルーチンが所定のノードで所定のキーと関連している最後の有効な命令を処理したか否かを決定するために、テストが行われる。最後の有効な命令が処理されなかった場合、ブロック640において、次の有効な命令はフェッチされる。ブロック642において、NEW-INDEXは、増加する。
【０１０２】
判断ブロック638におけるテストがオブジェクトの全てがノードのために構成されたことを示す場合、サブルーチンは、ブロック644へ進み、および子ノードに関連づけられたポインタに続く。ブロック646において、新しいオブジェクト・リストは、選択リストを生成するためにメインルーチンに戻される。各ノードと関連しているオブジェクト・リストを生成に関する図12のサブルーチン600が、ユーザから受信される各キーストロークに対して実行されることは、理解されるであろう。ユーザが新しいキーストローク・シーケンスを入力するとき、各キーストロークが、語彙モジュール・ツリーの範囲内で、1つ追加されたレベルだけ、サブルーチンを前進させるので、語彙モジュールの「検索」は、実行されない。検索が各キーストロークに対して実行されないので、語彙モジュールは、最小の処理オーバーヘッドで各ノードと関連しているオブジェクトのリストを戻す。
【０１０３】
サブルーチン620の処理時間を増やすことなく語彙モジュール用のより少ない記憶を使用するとき、図10に表されたツリー・データ構造1010上で動作する、図13に表された、サブルーチン620のオブジェクト識別ソフトウェア・プロセスに対するキーストロークの組み合わせに固有の、オブジェクトのより多数の語彙を検索する新規ないくつかの手段が存在する。
【０１０４】
インプット辞典のそれらの使用頻度に従って所定の語彙モジュールの論理記号インデックス表550（図7）の各行の記号を順序づけることにより、ツリー・データ構造1010の全てのノード400の命令558（図8B）の大部分は、「1」に等しいそれらの論理記号-インデックス・フィールド555を有するように作成可能である。同様に、語幹および語オブジェクトが言語におけるそれらの使用の減少する順にオブジェクト・リスト440（図11）に生成されるように、全てのノード400の全ての命令パケット406の命令558を順序づけることにより、ツリー構造1010の全てのノード400の命令558の大部分は、「1」に等しいそれらのオブジェクト-リスト-インデックス・フィールド556を有するように作成可能である。したがって、ツリー1010のデータの多くは、冗長である。子ノードへ親ノードをリンクするパスを切り換え、およびもはや参照されない子ノードを削除することにより、系統的に冗長を識別し、およびそれらを除去することは、オリジナルのツリーよりはるかに少ないノード、はるかに少ない命令およびはるかに少ないリンク含む非常に折り畳まれた、または折り返されたデータ構造に至るが、それでも、オリジナルのツリーから検索可能なすべてのオブジェクトをなお検索する。更に、その命令がオブジェクト・リスト440において同様のオブジェクトを生成するオリジナルのツリーを介するパスの異なった事例は、（特定のものに対して）一般化されたルールを構成しているオブジェクトとして、それゆえに、前へ機能する折り畳まれたツリーの共通のパスに併合され、縮小された構造が所定の語彙モジュールのツリー1010を定義するために当初使用されたよりはるかに多くのオブジェクトを生成することを可能にする。例えば、好適な実施例において、30,000の英語の語のリストから生成される折り畳まれていない語彙ツリーは、78,000を超える命令を含む可能性があるであろう。上記の好適な実施例における折り畳むプロセスにより折り畳まれた後、修正されたツリーは、曖昧なキーストローク・シーケンスおよび図12のフローチャートの好適な方法において実施される検索プロセスを与えられる、構造が検索可能な語オブジェクトの数よりすくない数、29,000より少ない命令を含むことが可能であろう。各命令がキー押しに応答して単一の記号を追加することにより図11のオブジェクト・リスト430の1つのオブジェクトを変えるのみなので、著しいかつ新しい結果となる。このことは、一般的なオブジェクト構成ルールとして命令の共通のシーケンスを再利用する、折り畳まれたツリーおよびソフトウェア検索プロセスの結果である。修正されたツリー構造の更なる観点は、オブジェクトをキーストローク・シーケンスと関連づけるための一般化されたルールの自動識別である。このようなルールを使用すると、語彙モジュールは、成功の高い確率で、キーストローク・シーケンスを、それを作成する際に最初に使用されなかった語および語幹オブジェクトと関連づけることができる。例えば、語彙モジュールを構築するインプットされた語のリストは、語「sun」、「run」および「running」を含むが、語「sunning」を含むことができない、しかし、対応するキーシーケンスのための選択リストにおいて、オブジェクトの1つとして、アルゴリズムにより作成され��折り畳まれたツリー構造は、なお「sunning」語を作成するであろう。
【０１０５】
図9に表されたノードは、具体例である。ノード560は、その有効なキー・フィールド562「01010000000」において「1」により示された2つの有効なキーを有する。好適な実施例の場合、「1」の位置は、第2のおよび第4のキーが有効なパスであることを示し、および、それぞれ、それらと関連している子ノードへ命令およびポインタのパケット566および568を有する。パケット566は、子ノードへ560をリンクするポインタ「P」が続く3つの命令「(1,1,0)」、「(1,2,0)」および「(2,1,1)」を含む。図12のサブルーチン600がノード560に至るキーストロークのリストを処理した場合、図13のサブルーチン620は、好適な実施例の「2 か」キーである、「2」キーを処理するために呼び出され、以下が、発生するであろう。命令561は、インデックス1において新しいオブジェクトを構築するために、インデックス1において古いオブジェクトにキー「2 か」の第1の論理記号（「か」）を追加するであろう。561の第3のフィールド「0」は、ストップ・フラグ(STOP-FLAG)557（図8B）の誤った値であり、これが現在のパケットの最後の命令でないことを示し、したがって、次の命令563は解釈される。命令563は、インデックス2において新しいオブジェクトを構築するために、インデックス2において古いオブジェクトにキー「2 か」の第1の論理記号（図7の「か」）を追加する。構築されている新しいオブジェクトのインデックスがそれ自身命令の順序において暗黙的であるので、新しいオブジェクトのインデックスは2である、例えば、第2の命令は、常に第2のオブジェクトを構築する。命令563の第3のフィールド「0」は、ストップ・フラグ 557の誤った値である、したがって、次の命令567は解釈される。命令567は、インデックス3において新しいオブジェクトを構築するために、インデックス1において古いオブジェクトに、キー「2か」の第2の論理記号（図7の「か」）を追加する。命令567の第3のフィールド「1」は、ストップ・フラグ 557の真値であり、これが現在のパケットの最後の命令であることを示し、したがって、サブルーチン620（図13）の実行は、ブロック638からブロック644までパスするであろう。
【０１０６】
複数のノードと同じ目的に単独で役立つことができる単一ノードへの異なる命令パケット408を含む2つ以上のノードを組み合わせることは、可能であり、このことは、語彙ツリー1010の或るノードが、新しい意味において冗長であることを意味する。本発明のために、語「冗長」は、図14〜17で表される好適な実施例に関して以下に記述される、ソフトウェア・プロセスの動作により、1つのノードを分配することができるという意味で、2つのノードに関して使用される。
【０１０７】
例えば、図9においてノード560をノード574と比較されたい。キー「2 か」の命令パケット566および571は、正確に対応するが、ノード560のキー「4 た」の命令570は、ノード574のキー「4 た」の命令572とコンフリクトし、したがって、どちらも他のものの仕事を行うことができないし、両方の仕事を行う1つに、2つのノードを組み合わせることもできない。ノード560をノード576と比較されたい。各ノードのキー「2 か」と関連している命令パケット566および577は、正確に対応する。命令569および578は、それらのストップ・フラグフィールド557の設定において異なる、しかし、その差はそれらをコンフリクトさせない。図13のサブルーチン620のオブジェクト検索プロセスの必須の結果は、所定のキーのためのノードで命令の設定を実行することにより作成される新しいオブジェクト・リストである。追加されたオブジェクトは、任意のそのノードの子の正しい処理を損なわずにオブジェクト・リストの終わりに追加されることができる。したがって、誤りは、578の後の追加された命令の実行によるノード576の子の処理において、生じない。間違った命令を実行する場合、またはあまりに少ない命令を実行する場合のみ、処理の本質は妨げられる。同様に、ノード576のキー「9 ら」上の有効なキーの存在は、ノード560における有効な「9 ら」キーの不在とコンフリクトしない。したがって、ノード560および576は、冗長であり、両方の正味の効果を達成する新しいノード582に併合可能であり、および両方の子の親ノードとして正しく機能する。ポインタも、また、冗長を定義する際に役割を果たすことは、理解されるであろう。より長い語の語幹を形成し続けない語と関連しているツリーのシーケンスの最後のキーストロークにおいて、有効なキー・パケット408におけるポインタは、子がもうそれ以上ないことを示すために好適な実施例において、特別な値、ヌル(NULL)を有する。このようなノードは、「端末ノード」と呼ばれる。両方のノードに共通な有効なキーの子ノードを有する2つのノードに対して、それぞれの子ノードは、親ノードが冗長となるために、冗長にならなければならないし、および以下同様のことが、その子から下になるノードに対しても、端末ノードに達するまで、または比較されているノードに共通の有効なキーシーケンス上に、子孫が存在しなくなるまで、繰り返される。
【０１０８】
図14〜17は、1010と同様の語彙モジュール・ツリーの圧縮および折り畳み(folding)のためのソフトウェア処理の好適な実施例のフローチャートを表す。図14は、圧縮語彙モジュールを構築するソフトウェア処理の好適な実施例のフローチャートである。ブロック652において、辞典は、日本語の語彙モジュールに対する図6におけるような物理的キーに現れるものではなく任意の必要な追加された曖昧な記号を識別するために走査される。ブロック654〜656において、記号は、図7の具体例のようにインプット辞典のそれらの使用頻度の減少する順序で、それらのそれぞれのキー上にそれらの論理的インデックスを割り当てられる。頻度を有するオブジェクトの辞典を与えられると、どのようにブロック658が形式1010の語彙ツリーを構築するかは、当業者にとって明らかであろう。ブロック660において、冗長ノードは、データの重複を最小限に抑え、したがって、単一のオブジェクトと関連している分離された命令シーケンスを複数のオブジェクトを検索するための一般化されたルールへ回すために、識別され、および一緒に併合される。この処理は、図15において詳細に示される。ブロック662は、端末ノードから全ての残っているヌル・ポインタを識別し、および親の最大の数を有するノードへ向けるようにそれらを変化させ、したがって、モジュールにおいてルールの数を増加する。他のルールが、ヌル・ポインタに子ノードを割り当てることに適用することができるであろうこと、および処理されているキーストロークに関連した要素に基づいて、このようなルールは、オブジェクト検索時に動的に適用されられることが可能であろうことは、理解されるであろう。ブロック664において、各一意的な命令558（図8B）およびポインタ404a（図8A）の残っている事例は、それらがスペースを節約するためにより高い頻度命令およびアドレスに割り当てられる、より短いビットを有するパターンを有する一意的なビットのパターンとして符号化可能となるように、カウントされる。好適な実施例は、当業者に公知のハフマン・コーディングである。更に、複数の親ノードの子ノードであるノードは、それらの迅速な検索を容易にし、およびそれらにアドレス指定するために要求されるビットの数を最小限に抑えるために、特別な順位付けに格納可能である。
【０１０９】
ブロック658においてツリーを構築するとき、格納されるオブジェクトを記述するために命令558を選ぶ際、オブジェクトが語または語の語幹であるとき、それらの文字シーケンスは、ツリー1010のノードの冗長を増やすために有利に使用される可能性がある追加されたデータを含むことは、理解されるであろう。例えば、日本語の仮名の全ての対が、等しく共通であるというわけではなく、例えば、「ま」には、「す」が一般に続く。仮名の対または2-グラム(bigram)の統計学は、先行する仮名からオブジェクトにおいて最も見込みのある次の仮名を予測するために使用されることができる。このような予測によって、図7の論理記号インデックス表550の曖昧な記号の論理的順位付けは、第1の位置の使用を更に最適化するために、動的に変更可能である。予測は、仮名の三つぞろい(triplet)、3-グラム(trigram)、および一般にn-グラムに拡張可能である。
【０１１０】
図15は、語彙モジュールのツリー1010を折り畳むソフトウェア処理の好適な実施例のフローチャートである。ブロック670は、図14のフローチャートのブロック660から入力される。ブロック672は、ルート・ノード1011の後で図10の1010の第1のノードと共に始まるように処理を初期化する。ブロック674は、もしあるならば、現在のノードに関して最大に冗長なノードを見つけるために、図16のフローチャートの好適な実施例に表されたサブルーチン690を呼ぶ。宛先ノードが見いだされた場合、判断ブロック676は、冗長ノードが一緒に併合されるブロック678に処理を指示し、重複データを、ツリーを包含する複数かつ個々の事例の命令から共有されたシーケンスへ、削除する。これは、オブジェクトにキーストローク・シーケンスを関連づけるための一般的なルールである。判断ブロック676が失敗する場合、判断ブロック680は処理が行われるか否かをテストする。より多くの処理するノードがある場合、流れは別のノードを識別するためにブロック682へ進む。
【０１１１】
図16は、ツリー1010において所定のノードに関して最も高い程度の冗長を有するノードを見いだすソフトウェア処理の好適な実施例のフローチャートである。ブロック690は、図15のフローチャートのブロック674から入力される。ブロック692は、測定された冗長に関する記入子MAX-SAVINGSを初期化する。ブロック694は、図10のツリー1010のルート・ノード1011から始まる処理を初期化する。ブロック696は、現在のノードに関して所定のノードの冗長を計算するために、図17の好適な実施例のフローチャートに表されるサブルーチン710を呼び出す。判断ブロック698は、MAX-SAVINGSより大きい冗長の程度が報告されたか否かをテストする。もしそうであれば、ブロック700は、所定のノードに関して最も冗長であることが暫定的に見出されたノードの識別BEST-NODEおよびMAX-SAVINGSとして報告された冗長の測定を記録する。判断ブロック702は、全てのノードが評価されたか否かをテストする。そうでない場合には、流れは、ブロック704に続き、現在のノードから次のノードへ進む。ブロック704から、流れは、ブロック696へ戻る。判断ブロック702におけるテストの結果が、最後のノードが評価された場合、ブロック706は、仮にそうであるとしても、図15のサブルーチン670のブロック674に対する所定のノードに最大冗長ノードの識別を戻す。
【０１１２】
図17は、2つの特定されたノード間の数値的な冗長を計算するソフトウェア処理の好適な実施例のフローチャートである。ブロック710は、図16のサブルーチン690のフローチャートのブロック696から入力される。ブロック712は、重複命令のカウントを初期化する。ブロック714は、KEY-INDEXを1に初期化する。ブロック716は、キーKEY-INDEXと関連している命令パケット406を、サブルーチンに対するパラメータとして特定された2つのノード400の第1のものから読み込み、および、一時リスト、LIST-Aにそれらを置く。キーKEY-INDEXが有効なキーでない場合、命令は、読取られない。ブロック718は、キーKEY-INDEXと関連している命令パケット406を、サブルーチンに対するパラメータとして特定された2つのノード400の第2のものから読み込み、および、一時リスト、LIST-Bにそれらを置く。キーKEY-INDEXが有効なキーでない場合、命令は、読取られない。判断ブロック720は、LIST-AまたはLIST-Bの何れも空であるか否かを決定する。そうでない場合には、ブロック722は、LIST-AおよびLIST-Bの両方から1つの命令をフェッチし、1つだけ各々の中に残っている命令数を減らす。判断ブロック724は、命令がそれらの論理記号インデックスおよびオブジェクト・リスト・インデックスフィールド内で同じであるか否かをテストする。そうでない場合には、非冗長(no redundancy)に対する失敗コードが、図16のサブルーチン690のブロック696に戻される。ブロック724の判断が「はい」である場合、ブロック728は、カウントSAVED INSTRUCTIONSを増加させる。制御は、再びブロック720にパスする。判断ブロック720がTRUEをテストする場合、制御は、2つのノードが全ての可能なキーに関して比較されたか否かをテストする、判断ブロック730にパスする。そうでない場合には、ブロック732は、KEY-INDEXを増加させ、かつ制御は、ブロック716にパスする。ブロック730の判断が「はい」である場合、制御は、ブロック734にパスし、KEY-INDEXを1にリセットする。ブロック736は、2つのノードのキーKEY-INDEXと関連しているポインタを調べる。判断ブロック738は、端末ノードのポインタまたは有効でない任意のキーの場合であろう、いずれのポインタも、空（ヌル）か否かをテストする。どちらのポインタも空でない場合、2つの空でないポインタにより示された子ノードが冗長か否かをテストするために、制御がブロック740にパスして、再帰的にサブルーチン710を使用する。ブロック740の結果は、判断ブロック742においてテストされる。2つの子ノードが冗長でないと分かった場合、失敗コードは戻される。さもなければ、2つの子は、ブロック746により蓄積される或る数値的なスコアによって冗長であることが分かる。判断ブロック748は、最後のキー（好適な実施例におけるキー9）と関連しているポインタがテストされたか否かをテストする。そうでない場合には、ブロック752は、KEY-INDEXを増加させ、かつブロック736に制御をパスする。ブロック748におけるテストが、全てのポインタがチェックされたことを決定する場合、サブルーチンがブロック710で入力されたとき、最初に識別された2つのノードの冗長の蓄積された数値的な測定は戻される。
【０１１３】
冗長の数値の計算が、各ノードに存在する分岐の数およびノードを子として示す親の数のような追加された要素を考慮するために、重み付けされる可能性があることは、理解されるであろう。2つのノードが、或るキーと関連している命令の順位付けのために、冗長でない場合、インプット辞典の低い頻度の語と関連している命令の順序は、より高い頻度のオブジェクトと関連している命令の優先順位に影響を与えずに再び順序付けされ、したがって、ツリーの冗長を増加することが可能であろうことは、理解されるであろう。
【０１１４】
冗長ノードを除去することによりツリーのサイズを減らすための上で開示された方法は、一次命令から成るツリーに関して記述された。ゼロ以上の二次命令のリストと各一次命令を関連づけることは、併合されるオブジェクトの複雑さを増加するが、開示された手続きは、一次および二次命令の両方を含むツリーの冗長を識別し、かつ除去するために、なお使用可能である。更に、一次および二次命令の両方が、メモリ内の同じ物理的ツリーに格納される必要はない。命令の2つのセットは、一次であることが可能であり、かつ二次命令は、メモリ内の同じ物理的ツリーに格納される。一次命令ツリーのノードにおける一次命令のシーケンスが、二次命令ツリーの対応するノードにおける二次命令のセットのシーケンスに対応する限り、命令の2つのセットは、別々のツリーに格納されることが好ましい。同様に、一次および二次命令がメモリ内の同じ物理的ツリーに格納されるとき、それらは、（ゼロ以上の）関連づけられた二次命令のシーケンスが、各一次命令にすぐに続くように、混ぜられる可能性がある。これに代えて、ノード内の一次命令の全ては、順番に、連続ブロックに格納させることが可能である。この連続ブロックには、一次命令と同じ順序で連続ブロックの第2のシーケンスが続き、各ブロックは、（ゼロ以上の）関連づけられた二次命令を含む。この代替フォーマットにおいて、それらの一次命令に関して冗長なノードは、併合させることが可能であり、かつ関連づけられた二次命令の2つ以上の別々のセットは、併合させることが可能である。その時、併合されたノードへジャンプする各親ノードにおいて、二次命令の代替セットの何れが実行されるかを特定するために少量の追加情報を追加することが、単に必要である。
【０１１５】
更に、本発明のさらなる別の観点の場合、データベース圧縮におけるより大きな効率は、任意の特定の関連づけられた読みに関するデータベース構造に一回のみ各漢字文字を格納することにより達成される。一般に、データベースは、同じ読みを有する同じ漢字の、多数の異なる事例、例えば、「動物」（どうぶつ）および「植物」（しょくぶつ）の漢字「物」（「ぶつ」として読む）を含む可能性がある。データベースに明確に含まれない珍しい名前または語、例えば、「官物」（かんぶつ）のような、漢字文字のさまざまな珍しい組み合わせの入力を容易にするために、各漢字は、所望の関連づけられた読みを入力することのみにより特定されることが可能でなければならない。したがって、好適な一実施例の場合、ツリー構造のルートからすぐに開始すると、所定の漢字の各読みは、関連づけられた漢字に関するコードの仕様を含む二次命令を有と共にデータベースに含まれる。この命令は、同じ読みと関連し、かつ同じ二次命令リストの他の命令により特定される、他のテキストオブジェクトに関するその特定の漢字の発生の相対頻度により決定される順序で、二次命令リストに格納される。全てのこのような場合において、関連づけられた読みを構築するノード・シーケンスがデータベース・ツリーのルートから開始するので、対応する二次命令は、ヌル・テキストオブジェクトに漢字を追加する。したがって、ヌル・テキストオブジェクトに漢字を追加する全ての二次命令は特徴的なフォーマットを有することができる。ここで、インデックスは、前の見出し語のインデックスを特定するために必要とされず、かつ漢字文字コードを特定するために使用されるビットの数は、データベース内に表される多数の有効な漢字文字を含みかつそれらの間を区別するのに、充分であることが可能である。
【０１１６】
同様に、漢字文字が、語または句の先頭文字としてではなく、データベースの語または句のどこにでも現れるとき、関連づけられた二次命令は、すぐに先行するノードの一次オブジェクト・リスト内の、対応している読み方用の二次オブジェクト・リストにあらかじめ追加された、既存の見出し語テキストオブジェクトに漢字を追加している。したがって、この場合、命令フォーマットは、見出し語テキストオブジェクトの二次オブジェクト・インデックスが特定される、フィールドを含まなければならない。同様に、漢字が後のノードに追加されることができるように、既存の見出し語が「保存」されなければならないとき、または（一次命令において特定される）仮名が追加されなければならないとき、二次オブジェクト・インデックス・フィールドは、命令に含まれなければならない。したがって、データベースのサイズを最小限に抑えるために、二次命令のこれらの2つのタイプのフォーマット、二次オブジェクト・インデックスの無い一方のものとこのようなインデックスを有する他方のものとは、区別されなければならない。
【０１１７】
後者の場合、すなわち、命令の二次オブジェクト・インデックスがゼロでなく、かつ漢字が見出し語に追加されることになっている場合、文字が命令のインデックスにより特定された見出し語テキストオブジェクトへ最後に追加された時から、システムが、その音節が一次オブジェクト・リストの関連づけられた読みに追加されたトラックを保持するので、追加される漢字と関連している読みは、システムにより決定可能である。上記のように、各漢字文字の各読みは、漢字文字用のコードが、関連づけられた命令において充分に特定されるツリーのルートから開始しているデータベースに格納される。したがって、漢字文字が、あらかじめ存在する見出し語に追加された命令において、漢字は、ツリー構造のルートから開始する決定された読みの二次オブジェクト・リストに現れる、充分に特定された漢字文字の位置に対応するインデックスを格納することにより特定される。このアプローチは、格納されたインデックスが、データベースが作成される時に決定可能な極めて限られた範囲の値の範囲内で減少するので、データベースにおける漢字文字の発生の大部分が通常必要とされるよりはるかにより少ないビットにより特定されることを可能にする。例えば、約89,000語が符号化されたデータベースにおいて、漢字文字の発生の約89%は、このように、格納されることが好ましい。図8Cに示されるように、好適な一実施例の場合、4つのタイプの二次命令があり、各々、4つの異なった値の1つに設定される2-ビット・フォーマットフィールドから開始する。例えば：
2005530272.tif 000010
【０１１８】
したがって、図8Cに示されるように、「00」, 「01」 および 「10」にセットされたフォーマットフィールド・コード5610を有する命令5600〜5602は、全て、すぐに先行するノードにより作成されたリストにおいてすでに存在する見出し語のインデックスを特定する、フィールド5611 二次オブジェクト・リスト・インデックスを含む。保存(PRESERVE)命令5600において、インデックスを付けられた見出し語は、それが、次のノードの１つ以上の命令により修正されるように、リストに保存されるものである。仮名(KANA)命令5601において、インデックスを付けられた見出し語は、関連づけられた一次命令により特定された仮名を追加することにより修正される。間接漢字(INDIRECT KANJI)命令5602において、追加される漢字のための仮名読みは、命令5602が関連づけられる一次命令と共に命令の先行するシーケンスから決定される。追加される漢字は、決定された読みの最終的な仮名をルート・ノード1011から開始するシーケンスに追加する、一次命令と関連している二次命令リストの命令のインデックスであるルートからの漢字インデックス・フィールド5613により特定される。直接漢字(DIRECT KANJI)命令5603において、所定の漢字の全部の符号化を回復するのに十分な情報を含むより大きい漢字コードのビットフィールド5614は、含まれる。命令フォーマット5600〜5603の全ては、また、所定の一次命令と関連しているグループの最後の命令を識別するために役に立つストップ・フラグフィールド5612を含む。
【０１１９】
これらのさまざまな場合の具体例は、データベース・ツリー構造の3つのノードのいくつかの可能な命令リストの表現を示す図18に示される。説明のために、図18は、実際にデータベース命令に格納されるであろう（図7の）論理記号インデックスではなく、追加する実際の仮名を示す「デコードされた」形式の一次命令を示すことに留意されたい。また、説明のために、各命令により作成されるリスト・オブジェクトは、命令の右に中括弧で示される。図18は、「2 か」キー（例えば、図1dのキー122）の3つの逐次的アクティブ化のためのノードの一次および二次命令の両方のリストの部分的なリスティングを示す。左側の列は、第1のレベル・ノード用の（すなわち、ツリー構造のルートから開始する）命令を示し、シーケンスのキーの第1のアクティブ化の結果として、作成されるテキストオブジェクトを表す。次の2列は、キーの第2および第3のアクティブ化用の命令を示す。リストの各一次命令は、Y1,...,Yn（ここで、「Y」は「読み方」を表す）としてラベル付けされ、および各一次命令は、二次命令のその関連づけられたリストによって示され、各々M1,...,Mn（「見出し語」に対して「M」）としてラベル付けされる。図18において、Y0およびM0は、「ヌル」テキストオブジェクトを表す。したがって、期待されるであろうように、ルート・レベル（レベル1）において、一次命令の全ては、Y0を特定し、および二次命令の全てはM0を特定する。したがって、このレベルで表される二次命令は、直接漢字命令である（すなわち、二次オブジェクト・リスト・インデックスフィールドは、含まれない）、および「M0 + X」として図18に示される各漢字文字「X」用の文字コードは、命令の漢字コードのフィールドにおいて、充分に特定される。直接漢字命令が、見出し語の先頭文字として現れる漢字を特定するために使用されるのみであるので、このような命令がツリーの第1のレベルの下に現れるときさえ、先行する保存命令は、必要とされない。したがって、形式「M0 +P」の命令は、それらが推定可能であるので、レベル1に現れない、および「ヌル」テキストオブジェクトを保存する必要性はない。例えば、中間の列（レベル2）において、一次命令Y1は、先行するレベルの読み方 Y1（すなわち「か」）に仮名「く」を追加し、したがって、第2のレベルにおいて読み方オブジェクト「かく」を作成する。第5の二次命令M5は、直接漢字命令であり、したがって、ルート・ノードから現在のレベルまで追加される全ての仮名を含む完全な読み「かく」に対応する。命令は、また、文字「画」のための正しい出力コードを決定するのに充分な情報を含む。この同じ漢字文字は、また、レベル3における一次命令Y2と関連している二次命令M1により作成される見出し語の一部である。一次命令Y2は、先行するレベル（すなわち「きか」）の読み方 Y11へ仮名「く」を追加し、したがって、第3のレベルにおいて、読み方オブジェクト「きかく」を作成する。この一次命令Y2と関連している二次命令M1は、「M5 + [ M5 ]」として示される。この命令は、間接漢字命令であり、したがって、（「M5 +」として図18に示される）「5」の値を特定する二次オブジェクト・リスト・インデックスフィールドを含む。これは、先行するレベル2で（一次命令のオブジェクト・リスト・イ���デックスフィールドにより参照される）Y11と関連している第5の見出し語オブジェクトを参照する。レベル2におけるこの見出し語オブジェクトは、一次命令Y11により作成される：「Y2 +か」およびその関連づけられた二次命令M5：「M7 +P」（先行するレベル（レベル1）の読み方 Y2と関連している命令M7により作成され、かつ充分に特定された見出し語オブジェクト「企」が、現在のレベル（レベル2）でリストの第5の見出し語オブジェクトとして複製される（保存される）ことになっていること示す保存命令）。この「保存(preserve)」命令は、記入子として役立ち、かつこのレベルで加えられる仮名（か）は、後の命令により追加される漢字の読みの開始であることを示す。これは、レベル3の間接漢字命令で発生する。Y2：M1：「M5 + [ M5 ]」、ここで、インデックスを付けられた漢字[ M5 ]と関連している読みは、保存された「か」＋レベル3でY2により加えられた「く」（かく）であることは公知である。ルートから開始するこの読み「かく」を探索すると、レベル2でY1に至る。ここで、インデックス[ M5 ]が充分に特定された漢字「画」に至る。レベル1から保存された見出し語へこれを追加することは、充分に特定された見出し語「企画」を作成する。
【０１２０】
別の好適な実施例の場合、代替方法は、「保存」命令（上記した実施例の形式コード「00」）により提供される機能を実施するために使用される。図8Dに示されるこの代替実施例の場合、形式コード「00」を有する代替命令フォーマット5604は、それがルートからの漢字インデックス・フィールド5613とすでに存在する見出し語のインデックスを特定する二次オブジェクト・リスト・インデックスフィールド5611との両方を特定するという点において、命令フォーマット5602に似ている。しかしながら、この代替実施例の場合、二次オブジェクト・リスト・インデックスは、すぐに先行するノードではなく、仮名の数(NUMBER-OF-KANA)フィールド5615により特定されたノードの数より一つ多いノードだけ現在のノードに先行するノードを参照する。追加される漢字に対応する読みは、参照されるノードから現在ノードの関連づけられた一次命令までの一次命令のチェインをトレース・バックすることにより決定される。このアプローチの利点は、別の保存命令が介在ノードで必要とされないことであり、したがって、データベースを更にコンパクトにすることができる。不利な点は、先行するノードからのただ1つのリストではなく、前のノードからの複数のオブジェクト・リストが、キーストローク・シーケンスを処理する際に維持されなければならないことである。同様に、仮名(KANA)命令5605の代替形式の場合、二次オブジェクト・リスト・インデックスは、仮名の数フィールド5615により特定されたノードの数だけ現在のノードに先行するノードを参照する。追加される1つ以上の仮名のシーケンスは、参照されるノードから現在ノードの関連づけられた一次命令までの一次命令のチェインをトレース・バックすることにより決定される。代替保存命令に関して、同じ利点および不利な点が当てはまる。当業者に明らかなように、フォーマットコード(FORMAT CODE)フィールド(5610)、二次オブジェクト・リスト・インデックスフィールド(5611)および、仮名の数フィールド(5615)は、格納された命令において、より大きな圧縮を達成するために、さまざまな方法で、例えば、ハフマン符号化を使用することにより、組み合わせることが可能である。
【０１２１】
本発明の別の好適な実施例の場合、データベースの更なる圧縮は、次のメカニズムによって実質的な追加的な処理負担なしで達成される。多くの場合、それが語の初期でない位置に現れるとき、所定の漢字と関連している読みは、変化する。大部分のこのような場合において、この表音変化は、先行する漢字の発音の調音結合(co-articulation)効果の結果であり、および、初期でない漢字の初期子音を無声音から有声音へ、または摩擦音から破裂音へ変化させる。これは、初期でない漢字の読みの第1の仮名への濁点または半濁点の追加に対応する。上述のデータ記憶および検索方式において、このことは、追加的な入力が、ツリーのルートで開始するノードのシーケンスに格納される（濁点または半濁点を有する）代替読みと関連している充分に符号化された漢字を格納するためにデータベースに作成されることを必要とする。この好適な実施例の場合、漢字が、このような代替読みと共に初期でない位置に現れるとき、間接漢字命令は、代替読みに関して所望の漢字を特定するために使用される。データベースのサイズを縮小するために、参照される漢字は、代替読みに関連してルートから格納されず、しかし、（濁点または半濁点なしの）その標準読みに関連してのみ格納される。意図された漢字を識別するために、間接漢字命令の二次オブジェクト・リスト・インデックスフィールドに格納された値は、次の方法で修正される：Nを代替読みに関連してルートから格納された漢字の数とし、かつ、Xをそれが（濁点または半濁点なしの）その標準読みに関連してルートから格納された意図された漢字の位置に対応する二次オブジェクト・リスト・インデックス値とする。次に、間接漢字命令の二次オブジェクト・リスト・インデックスフィールドは、値（N + X）に設定される。間接漢字命令を処理する際に、システムは、最初に代替読みに関連してルートから格納された漢字を検索し、かつそこに格納された、フィールド値（N + X）より小さい、Nの漢字のみがあることを決定する。関連づけられた読みが濁点または半濁点を有する仮名から始まることを決定すると、対応している標準読みは、生成され、漢字の決定された数Nは、フィールド値（N + X）から差し引かれ、および意図された漢字は、決定されたインデックス位置Xで決定された標準読みのもとで見つけ出される。
V. 曖昧なキーストロークを使用する代表的なシステム動作
【０１２２】
図19は、図1aに示されるシステムの動作の3つの代表的な具体例を示す。これらの具体例は、システムの動作およびデータ・キー21〜30、選択キー60、変換キー62および発音区別符号キー68の用途を含む実施例において提供されるフィードバックの性質を示す。具体例は、各キーストロークの結果として、挿入位置88（点線のアンダーラインまたは実線のアンダーライン）において、オブジェクトの特別なフォーマッティングを含む、テキスト領域66に現れるテキストを示す。各キーストロークは、図1aに示されるキーの数のラベルにより識別される。
【０１２３】
図19の具体例1は、図1aのシステムの好適な一実施例において句「お願いします」がインプットされる方法を示す。キー21、25および22での最初の3回のキーストロークの各々の後、最も頻度が高い読み方が、表示され、各々、長さが1、2、および3の仮名の語にそれぞれ対応する。発音区別符号キー68の第4のキーストロークは、キー22の先行するキーストロークの仮名が濁点を有する仮名に対応することを特定し、および表示された読み方は、キーシーケンス21、25、22とマッチングし、かつ第3の位置に濁点を有する仮名を有する、最も一般的な3-仮名読み方（うなぎ）に変化する。キー21の第5のキーストロークの後、最も一般的な読み方は、所望のインプットされた句の最初の語に対応する「おねがい」である。変換キー62の次のキーストロークは、表示されたテキストを、この場合もまた所望のインプットされた句の最初の語に対応し、表示された読み方に対応する、最も一般的な見出し語に変化する。それが、選択キー60または変換キー62の何れかの１回以上のアクティブ化（この場合、変換キー62の1回のアクティブ化）に続くので、曖昧さを除去される新しいキーストローク・シーケンスのインプットを開始する次のキーストロークは、データ・キー23上にある。キー23上のこのキーストローク、およびキー27上、再び23上の次の2回のキーストロークに続いて、いつものように最も頻度が高い読み方が、表示される。この場合においてもまた、これらのキーストロークの後で表示された語は、インプットされた句の所望の語「します」に対応する。選択キー60上の最後のキーストロークは、現在の語オブジェクトのキーストローク・シーケンスが、完了したことを示し、その結果、データ・キー21〜30上の次のキーストロークが、新しいインプット・シーケンスを開始する。
【０１２４】
図19の具体例2は、データベースに含まれる句「ありがとうございます」のインプットの間のディスプレイを示す。（キー22上の）第7のキーストロークに続いて、インプット・キーシーケンスとマッチングするデータベースの唯一のオブジェクトは、所望のインプットされた句そのものである。したがって、この時点でのシーケンスが完成された語または句に対応しなくても、最も頻度が高いマッチングが取れた語幹（この場合「ありがとうご」）は、表示される。更に、データベース内に潜在的にマッチングが取れた1つのオブジェクトのみがあり、およびこのオブジェクトの現在位置の仮名は、濁点を含むので、たとえ発音区別符号キー68がアクティブにされなかったとしても、仮名は、濁点とともに表示される。したがって、この場合、発音区別符号キー68をアクティブにすることはオプションであり、および実施例2は、「ご」または「ざ」仮名の何れに対しても発音区別符号キー68をアクティブにせずに、句の生成を示す。インプットされた句が、第11のキーストロークにより完成するまで、語幹は、シーケンスの第10のキーストロークを経て第7のものに対して表示される。
【０１２５】
具体例3は、実施例における選択キー60および変換キー62と関連しているさまざまな機能を示す。キー22およびキー25上の最初の2回のキーストロークの後、最も頻度が高いマッチングが取れた読み方は、「この」であると決定される。選択キー60上の次のキーストロークは、現在の語オブジェクトに関するデータ・キーシーケンスの終わりの信号を送り、および点線のアンダーラインが実線のアンダーラインに変化することにより示される。選択キー60の第2の押しは、第2の最も一般的な読み方「くに」を選択する。変換キー62上の次のキーストロークは、選択されかつ表示された読み方「くに」に対応する最も一般的な見出し語を選択する。変換キー62上の次の2-キーストロークは、単一の漢字文字である、より一般的でない見出し語を介して循環し、そして片仮名の形の選択された読み方を示すシーケンスの最後の見出し語となる。変換キー62上の次のキーストロークは、この読み方と同じである見出し語のシーケンスの最初のテキストの解釈として最初に表示された平仮名へ循環する。変換キー62上の追加的なキーストロークはサイクルを繰り返し、再び、最も一般的な漢字解釈を示す。それに続いて、選択キー60の押しは現在選択された読み方の表示「くに」に戻る。選択キー60の第2の押しは、次の（3番目に最も頻度が高い）読み方「かね」に進む。変換キー62上の次の2-キーストロークは、この読み方と関連している最初の2つの（最も一般的な）見出し語を介して循環し、それぞれは、単一の漢字文字である。変換キー62の最後の押し続けは、前に表示された漢字を再選択するために見出し語リストにおいて後方に循環する。
【０１２６】
本明細書において開示されるキーの数を減少させたキーボードの日本語文インプット・システムは、システムを組み込むコンピュータまたは他のデバイスのサイズを縮小する。減少された数のキーは、デバイスを、ユーザが一方の手で保持しながら、他方の手によって操作するように、構成可能とする。開示されたシステムは、特に、正確な、高速テキスト入力から利益を得る、携帯電話、PDA、双方向ポケットベルまたは他の小さい電子デバイスの用途に有利である。タッチスクリーン・ベースのデバイス、または限られたディスプレイスクリーン領域もまた有することが可能な限定された数のメカニカルキーを有するデバイス上で実施されるとき、システムは、効率および簡略化を提供することができる。本発明のシステムは、日本語の表音字音表を構成する仮名の形でインプットを生成し、かつ意図された漢字または仮名読みに対応する他のテキストの解釈に入力仮名を変換する処理を集積化する。更に、本発明のシステムは、極めてコンパクトでありかつ実行時に最小の処理オーバーヘッドのみを必要とする、データベースにおけるシステムの動作に必要とされる情報を格納する方法を提供する。
【０１２７】
当業者は、小さな変更が、本発明の基本的な原理から著しく逸脱せずに、キーボード配置の設計および基本的なデータベース設計に対して行われることも可能であることを認識するであろう。従って、添付した特許請求の範囲の範囲内において、本発明が本明細書に特に記述した通り以外にも実施できることは、理解されるであろう。
【０１２８】
曖昧なテキスト入力の典型的な明確な文字フィルタリング
本発明は、曖昧なテキスト入力の明確なフィルタリングのための方法と装置に関する。本発明は、2-キーおよび長押しのようなさまざまな明確なテキスト入力方法論を含む実施例を提供する。本発明は、更に、ビルドアラウンド方法論、語幹ロッキング方法論、語完成方法論およびn-グラム検索を使用して、データベースにおける語をマッチングさせる手段を提供する。
【０１２９】
より詳しくは、本発明は、曖昧なテキスト入力モードにおける明確なフィルタリングのための、オブジェクト、語、語幹等を拡張かつ解釈するための、および語幹-ロッキングのための方法と装置に関する。曖昧性を縮小するための明確なフィルタリングの1つの特別の実施例は、マトリックス表示と組み合わせたキー押下が使用される、2-キーの明確な入力機能を含む様々な明確な入力手段を使用する。複雑な句をタイプ可能とする、拡張かつ解釈する方法論が、提供される。文字の予め定められたセットは、新語または語幹の終わりまたは始めのためのアンカ(anchor)として「ビルドアラウンド(build around)」される。合理的な推測は、先行する明確な字の「n-グラム」解析により語を拡張するために提供される。具体的には、語幹-ロッキングを使用する3つの特別の実施例が、提供される。ここで、第1の実施例は、語のような所望のオブジェクトのn個の字、および次のキーの組み合わせを使用する。第2の実施例は、オブジェクトの語幹部をロックし、かつオブジェクトのロックがかかってない部分を解決する。第3の実施例は、n-グラム検索を使用する。
【０１３０】
キーの数を減少させたキーボードの曖昧さ除去システムハードウェアの好適な実施例のブロック線図が、図20において提供される。キーボード54およびディスプレイ53は、適切なインターフェース回路を介してプロセッサ100に結合されている。オプションとして、スピーカ102もまた、プロセッサに結合する。プロセッサ100は、キーボードからインプットを受信し、およびディスプレイおよびスピーカへの全ての出力を管理する。プロセッサ100は、メモリ104に結合されている。メモリは、ランダムアクセスメモリ(RAM)のような一時記憶媒体、および読取り専用メモリ(ROM)、フロッピー（登録商標）ディスク、ハードディスクまたはCD-ROMのような恒久的な記憶媒体の組み合わせを含む。メモリ104は、システムオペレーションを支配するために全てのソフトウェア・ルーチンを含む。メモリは、オペレーティング・システム106、曖昧さ除去ソフトウェア108、および曖昧なテキスト入力ソフトウェアにおける関連づけられた明確な文字のフィルタリング、および／または以下で更に詳細に論じられる拡張解釈ソフトウェア110を含むことが好ましい。メモリは、また、語彙データベース30を含む。オプションとして、メモリは、1つ以上のアプリケーションプログラム112、114を含むことも可能である。アプリケーションプログラムの具体例は、ワードプロセッサ、ソフトウェア辞書および外国の言語翻訳プログラムを含む。音声合成ソフトウェアは、また、アプリケーションプログラムとして提供されることも可能であり、キーの数を減少させたキーボードの曖昧さ除去システムが通信補助として機能することを可能にする。したがって、この場合、出力は、スピーカから音声で出力されることが可能であろう。
【０１３１】
議論が、組み合わされる場合、オブジェクトまたはオブジェクトの部分を作る記号および記号のシーケンスに適用されることは、当業者に理解されるべきである。記号の典型的な具体例は、字、数字、句読記号または言語からの任意の他の記号のような任意の言語の文字である。オブジェクトまたはオブジェクトの部分の典型的な具体例は、語または語の部分である。しかしながら、本明細書における議論は、日本語の仮名および韓国のジャモ(jamo)に等しく適用される。或る種の記号ストリング表現が存在する限り、本明細書において請求された曖昧さ除去システムがアイコン、電話番号または目録記録を探索するために使用可能であるので、オブジェクトは、言語学的である必要はないことも、また、留意するべきである。したがって、字、語、語幹等のような用語の使用が、それらのアプリケーションにのみに限定されず、かつ本明細書における議論を読みかつ理解することを容易にするために使用されることは、理解されるべきである。
明確な入力
【０１３２】
本発明に従う語選択をフィルタリングするために明確な文字を生成する好適な一実施例は、2-キーの明確な入力機能を提供する。多くの言語、例えば英語において、キーと関連している全ての字は、図21に図示されるように、キー上にプリントされる。ここで、図21は、本発明に従うキーと関連している英語のアルファベットの各字を示す、無線ハンドヘルド・デバイスの具体例の図である。
【０１３３】
しかしながら、他の言語、例えばフランス語は、携帯電話キーのように、キーに視覚的に取り付け可能であるより、更に多くの字を含む。図22は、0〜9のキーおよびそれらのそれぞれのシフトキー上に示されるヨーロッパの字およびいくつかの特殊記号のチャートの具体例である。例えば、ユーザが「5」キーを押す場合、英数字「j」、「k」、「l」および「5」を有するマトリックス表示が現れる。図23は、本発明に従う1つの2-キー・マトリックス・インプット方法のスクリーン・ショットの具体例である。最初のキーが押された後、選択のマトリックスは、デバイス・パネルに表示される。例えば、各キーが関連づけられた字の予め定められたセットのサブセット含むように、関連づけられた字の予め定められたセットの最初と最後の文字を表示するように、キーにプリントされる他のラベルが可能であることは、理解されるべきである。
【０１３４】
図24は、図20の曖昧なテキスト入力システムの明確な文字フィルタリングのための2-キーの明確な入力のフローチャートである。本発明の好適な実施例によれば、ユーザがキーに割り当てられた多くの字の1つを明確に選択するために、フランス語の場合のように、ユーザは、例えば押下により、関連づけられたキーを選択する(5000)。所望のキーの選択、例えば押下は、システムに、例えばマトリクス形式で、選択されたキーに対応する字の第2のセットを表示させる(5100)。マトリックスの各ブロックは、まさしく選択／押下キーと関連している字のセットからの字を含む。図23は、1個のキーを押し下げた結果として表示されるものの具体例を示す。この時点で必要とされる全てのことは、ユーザが所望の文字を含むマトリックス・ブロックのキーナンバを選択することである(5200)。この明確な選択過程は、字の選択のため最大で2回のキー選択／押下を必要とする。
【０１３５】
フィルタリングのための2-キーの明確な入力方法が、任意の他の言語にまで拡張されることができることは、当業者に容易に明らかになるであろう。例えばスクロールリストのような代替構成が可能であることも、また、当業者に明らかになるであろう。
【０１３６】
代替構成によれば、ユーザは、そのキー上の文字シーケンスを表示し、かつそれにより循環するために、長押しを介してキーを選択する。図27に示されるように、キーが押されている限り、文字の一部または全ては、プレビューウィンドウにおいて履歴をスクロールすることができる。キーがリリースされるとき、最後に強調された文字が受け入れられる。
【０１３７】
更に別の構成において、文字シーケンスがキーの長押しにより示された後、キーが押されるたびに、文字が現れる、または強調される。充分な時間が一回目と次のキー押しとの間に経過するとき、または異なるキーが押されるとき、各明確な文字のプレゼンテーションは、終了可能である。
【０１３８】
更に別の構成において、文字シーケンスがキーの長押しにより示された後で、ナビゲーション・キーが押されるたびに、文字が現れる、または強調される。ここで、ナビゲーション・キーは、例えば、矢印キーまたはスクロール・ホイールである。
【０１３９】
以下は、フィルタリングのための他の明確な入力手段のリストである。リストが具体例としてのみ意味され、かつ網羅的でないことは、理解されるべきである。：
・明確に数／数字を入力するために、キーを長く押す；
・数／数字を明確に入力するために、数モードに変化させ、かつキーを押す（そして次に、フィルタリングのための曖昧な入力モードへ戻す）；
・文字を明確に入力するために、マルチタップ・モードに変化させ、かつ繰り返しキーを押す（そして次に、フィルタリングのための曖昧な入力モードへ戻す）;
・2-キーの明確な入力としてキー押しの各対をグループ化することにより、またはマルチタップ入力として同じキーの繰り返される押しをグループ化することにより、明確な文字として曖昧なモード・キー押しを解釈する；
・単純な押しでの曖昧な入力、および異なる種類の押しでの明確な文字入力を可能にするマルチスイッチ・キー、例えば5-ウェイ・ロッカー(5-way rocker)を使用する；および、
・「コーディング」による。これは、文字の曖昧なセットを示す一次キーとこのセットのどの文字を選択するべきかを示す二次キーとを有する１つより多いキーを同時に押すことを意味する（例えば、ビデオゲーム・コントローラ）。
【０１４０】
フィルタリングのための明確な入力の別の手段は、キーに割り当てられる任意の文字が二次手段によりユーザに提供されるとき、例えば、プログラマブル・キー、または選択されるなら明確に入力されるであろう「ソフトキー」のラベル上に表示される。ソフトキー・メカニズムは、例えば、ユーザが追加文字により語を拡張している、または全ての語が入力される前に表示された解釈を訂正したい場合、入力された最後のキーストロークの訂正を可能にする。提供される追加文字は、先行するキーストロークと関連している最も見込みのある文字の解析に基づく、または現在の語候補リストの語に基づくであろう。最も見込みのある文字が曖昧な語選択においてすでに表示されたと仮定すると、次いで、第2の最も見込みのある文字が、提供されるであろう。例えば、ユーザが「ram」をタイプすることを望み、かつキーシーケンス「726」を入力する場合、語「ran」が、現れる。「726」と関連している語候補リストのその位置に対する最も見込みのある字は、「m」であり、その時、「m」はソフトキー上に提供可能であろう。ユーザがソフトキーを押すと、「m」が、語「ran」の「n」に代わる。
曖昧なモードにおける明確な文字フィルタリング
【０１４１】
曖昧なモードにおける明確な文字フィルタリングは、文字が、曖昧な入力のシーケンスの入力中に、明確に入力される時である。すでに議論された明確な入力の一実施例は、上記の通りにマトリクスを使用する2-キーの明確な入力方法である。本発明の別の好適な実施例によると、文字の明確な入力は、関連づけられたキーの長い押下により達成される。文字のシーケンスの1つ以上の文字が、明確に入力される場合、対応している位置のその明確に選択された文字を有する格納された語のみが、検索される。
【０１４２】
本発明の一実施例に従う所望の語を検索する1つの方法は、明確な文字が曖昧な入力モードにおいて入力される時、曖昧さ除去フィルタリングシステムが、最初の明確な字にデフォルトの語を受け入れるのではなく、可能な限り長く、曖昧および明確な字に対して、データベースの語をマッチングさせ続ける。マッチングがない場合、選択される最後の曖昧な語が、受け入れられ、かつ新しい字がそれに追加される。
【０１４３】
例えば、ユーザが語「home」を英語T9で入力することを望むと仮定する。ユーザは、「m」を明確に選択するために、第3の位置の「6」キーを長押しし、「home」のみの結果になり、更に、4回のキーストロークの後、語幹「imme」および「gome」の結果になる。
【０１４４】
別の具体例、例えば、データベースに格納されることができる「cu2night」では、混合された英数字の語を使用している。ユーザが「2」キー上を長押しし、次に明確に「2」を入力する場合、「cub」のような語は、したがって、語候補リストからフィルタリングされる。
【０１４５】
明確なフィルタリングは、すばやく語完成を提供する別の方法である。「cu2night」は、データベースにあり、かつ「cu」は、曖昧に入力され、「2」が明確に続く場合、キーストローク・シーケンス「282」の全ての曖昧な解釈は、フィルタリングされ、より可能性がある選択として語完成によって提供されるために「cu2night」を残すであろう。
【０１４６】
図25は、本発明の好適な実施例に従う曖昧なモードにおける明確にフィルタリングするためのフローチャートである。文字は、所望され、かつその関連づけられたキーは、曖昧にまたは明確に入力される(6000)。所望の語は、次に、曖昧に選択されたキーのシーケンス（すなわちそれらの関連づけられた文字）および明確に選択された文字に基づいて解釈される。データベースは、それらのそれぞれの対応する位置において、曖昧に選択された入力、例えばキー、および明確に入力された文字と関連している文字により語に対して検索される(6100)。検索された語は、次に、予め定められた優先順位をつけられた順序、例えば、とても頻繁に使われる順序で、示され、または表示される(6200)。所望の語が、示された検索された語のセットの中にある場合(6300)、次に、所望の語は、選択され(6400)、かつ処理が終わる。さもなければ、処理は終わらず、かつステップは所望のキーを選択することから繰り返される(6000)。
ビルドアラウンド
【０１４７】
曖昧さ除去フィルタリングシステムの別の観点において、データベースからの語は、明確にまたは曖昧に入力された文字、または、文字の予め定められたセットからの追加的な文字を「ビルドアラウンド」可能である。1つの解釈によれば、マッチングが取れている語は、もしあれば、特定のシーケンスに対する明確な文字を含む。しかしながら、シーケンスの追加的な解釈は、以下を含むことができる：明確な文字によって先行する、および／または終わる曖昧なキーとマッチングする1つ以上の語；もしあれば明確な文字から始まる1つ以上のマッチングする語；および明確な文字に続く、曖昧なキーにマッチングが取れている1つ以上の語。例えば、明確に入力される数字「4」を有する、「gifts4less」のためのキーシーケンスが入力される場合、「gifts4less」、「gifts4」および「4less」がデータベース内に見つけ出されない場合でさえ、語「gifts」は、明確な文字に先行する曖昧なキーシーケンスとマッチングし、かつ「less」はそれに続くキーシーケンスとマッチングする。同様に、「mobile.com」は、データベース・入力「mobile」および「.com」から、または曖昧な句読点に関するキーがある場合、入力「mobile」および「.」および「com」から、自動的に構成される1つの語としてタイプされることができ、これらの場合の何れにおいても、ピリオドが明確に入力される必要がない。
【０１４８】
ビルドアラウンド概念の一実施例は、ビルドアラウンドの具体例を表しているフローチャート、図28を参照して説明することができる。ビルドアラウンド方法は、入力されているキーシーケンス、例えば[ k1 k2 k3 kd k5 k6 k7 k8 ]で開始する(9000)。「k#」は、曖昧に入力されたキーを参照し、および「kd」は、明確に入力された文字または曖昧に入力された句読文字の何れかの可能性がある区切りキーを参照する。この方法は、次に、データベースがマッチングを見つけ出したか否かを決定する(9100)。「はい」であるならば、語は表示される(9200)。ユーザが、データベースにより見つけ出される語のリストにおいて次の選択に進むよう望む場合、ユーザは、データベースにより更なる探索を要求するために次のキーを押す(9300)。特に、データベースは、キーシーケンスへのマッチングのために多様に検索される。キーシーケンスは、区切りの両側で2つのセットに分割される。区切りにより分割されたシーケンスの2つのセットのさまざまなグループ化の具体例は、以下の通りである：
・[k1 k2 k3 kd ] [ k5 k6 k7 k8 ]；
・[k1 k2 k3 ] [ kd k5 k6 k7 k8 ]；および
・[ k1 k2 k3 ] kd [ k5 k6 k7 k8 ]。
【０１４９】
マッチングが任意のグループの中で見つけ出される場合(9400)、所望の語は、選択されかつ表示される(9500)。ユーザが、このシーケンスをビルドアラウンドすることを望む場合、ユーザは、データベースに対する複数検索による次のセットを得るために、次のキーを押することができる(9600)。
【０１５０】
データベースが最初のマッチングを見つけ出せない場合(9100)、データベースはキーシーケンスに対するマッチのために多様に検索される(9700)。ここにおいて、キーシーケンスは、その説明およびその具体例が前に示されている区切りの両側で2つのセットに分割される。
【０１５１】
可能な所望の語のセットを検索し、かつ表示(display/present)する手段が、本発明の範囲および精神の範囲内で、変化しかつ依然として留まることができることは、理解されるであろう。
語幹-ロッキング
【０１５２】
本発明の好適な実施例において、語幹-ロッキングは、シーケンスの範囲内の1つ以上のサブシーケンスまたは文字のサブストリングをロックする。例えば、語の文字のシーケンスの最初のn個の数は、ロックされることができる。語幹-ロッキングが機能する方法は、これらのロックされた文字を有する語のみが検索されることである。例えば、ユーザが、T9技術を使用している無線携帯電話の「4」、次に「6」キーを選択すると仮定する。語「go」は、ディスプレイに示される。「go」がロックされる場合、次のキー選択で、最初の2つの位置に「go」を有する語のみが、選択される。
【０１５３】
字のロッキングは、多数の異なる方法で実行されることができる。例えば、2つのこのような方法は、「フル・ネクスト・ロッキング(full next locking)」メカニズムによるもの、および選択するために文字にわたりカーソルを移動することによる「制限のない(unbounded)」方法論である。「フル・ネクスト・ロッキング」を実施する具体例として、「next」キーが、使用される。すなわち、本発明の一実施例により、「next」キーを選択することは、あらかじめ示された文字列をロックし、このことにより、ロックされた文字列を解釈し直すことによりオブジェクトを解釈し直すシステムの可能性を除去している。選択された文字列は、明確に入力されるとき、すぐにマークされる。本発明の一実施例に従い（制限のない）文字の上でカーソルを移動させる具体例において、カーソルは、列の初めへ移動され、かつユーザが右矢印キー（または、例えばヘブライ語では左矢印キー）を選択することにより、カーソルが移動した全ての文字は、ロックされる。
【０１５４】
フル・ネクスト・ロッキングの別の観点は、可能性がある語の境界が識別されるとき、あらかじめ示された文字列をロックしている。このような境界は、例えば、ユーザが「next」、そして次に、記号または句読文字を選択する時；または、ユーザが「next」および次に明確な数を入力するときのような、インタラクションの或るシーケンスに基づいて識別されることができる。
【０１５５】
「ロック」に対する他の方法が、以下を含むが、決してそれらに制限されるものではないことは、理解されるであろう：
・「OK」または選択キーのような「ロック」機能に割り当てられたキーを押すこと；
・および提供されている語完成を「ロック」するために適切な矢印キーを押すこと。
【０１５６】
上述したような語幹ロッキング・アプローチは、本明細書において上記説明されるように、「ビルドアラウンド」に関係づけることができる。すなわち、一旦、シーケンスがロックされると、それは、「ビルドアラウンド」される。
日本語仮名の具体例
【０１５７】
曖昧さ除去フィルタリング方法論の別の具体例は、日本語において存在する。仮名（表音）文字形式のサブ・フレーズは、漢字（読み方）に変換されることができ、およびこれらの変換されたサブ・フレーズは、変換されたサブ・フレーズに先行するまたは続く、残っている曖昧な仮名の解釈を順番にフィルタリングすることができ、有効な句を構成するために使用されることができない解釈を除外する。
【０１５８】
本発明の他の実施例において、ロック・メカニズムの階層が、使用される。例えば、右矢印キーは、カーソルの左に対して全ての文字をロックすることができる。したがって、この実施において、右矢印キーは、第一の選択語幹をロックし、一方、「next」キーは、第一の選択でない語幹をロックする。
【０１５９】
別の実施は、「next」キーと組み合わせた右矢印キーの代わりに「選択」キーを使用している。例えば、デフォルトの選択を選択しかつ受け入れる（選択キーが、一回押される）ために、または、代替選択を選択する（所望の選択が現れるまたは強調されるまで、選択キーが一回より多く押される）ために、「選択」キーは、各曖昧なキーシーケンスの終わりに使用されることができる。この場合、「選択」キーは、最初の選択のための右矢印キーおよび他の選択のための「next」キーを使用するのではなく、最初または代替選択の語幹をロックするために使用される、（または、キーの選択が任意で、しかも、予め決められているとき、その逆も同じである）。
語拡張および完成
【０１６０】
本発明の別の観点は、ロック位置で新語を自動的に開始するシステムである。例えば、ユーザが、「car」を入力し、それをロックし、そして次に、「pet」のためのキーを入力する。「Carpet」は、それがデータベースにおける完全な語であるので、示される。語「carset」もまた、それが「car」 + 「set」であるので、示される。これは、「ビルドアラウンド」概念の別の具体例であり、ここで、曖昧なシーケンスが、明確な文字入力に続くことができ、新しい曖昧な語の始まりに1つの解釈を生じさせる。
【０１６１】
これに代えて、1つ以上の予め受け入れられた文字が、現在のかつアクティブな曖昧なキーシーケンスに先行する（スペースなしで、隣接する）場合、システムは、それらの文字で始まり、かつそれらの文字に続く曖昧なキーシーケンスとマッチングする（例えば、ユーザ・データベース内の）語および句をマッチングさせるために先行する文字を使用する。オプションとして、1つ以上の語完成が、提供される。具体例は、以下の通りである。ユーザは、文字「con」を入力しかつロックする（受け入れる）。次に、ユーザは、「stan」のための曖昧なキーをタイプし、および、語完成として、「constantinople」を提供される。この具体例において、受け入れられた文字で始まりかつ曖昧なキーシーケンスとすぐに隣接している語完成をフィルタリングし、かつ提案するために使用される「con」を受け入れるために、ユーザは、左／右矢印キーを使用することができたであろう。ヘブライ語および他の言語は、他の方向へ進む、したがって、右側のみは仮定されない。
【０１６２】
図26は、本発明のデータベースに格納されない語を生成するための方法のフローチャートである。すなわち、等しく好適な代替実施例において、一連の入力がロックされ(7000)、次の曖昧な文字が入力され(7100)、および対応する格納された語が、データベースにおいて見つけ出されない(7200)場合、検索は、前にロックされたnの文字に基づいて可能性がある組み合わせのために実行される(7300)。本発明の一実施例の場合、n-グラムは、格納された語を見つけ出すために使用される。このことは、ロックされた字の全てのセットを使用することに反している。例えば、ユーザが、語「flight」を入力し、かつ明確に選択したが、しかしながら、ユーザが、データベースにない語「flightplan」を入力することを望むと仮定する。本発明の本実施例において、ユーザは、次に、「flight」の後、字「p」および「l」を明確にロックする。システムは、次に、最後の明確に入力された2-グラム(bigram)（pとl）を使用している語を検索する。したがって、データベースに格納されない語が、生成される。
【０１６３】
本発明が好適な実施例を参照して本明細書において説明されるにもかかわらず、当業者は、他のアプリケーションが、本発明の精神および範囲から逸脱することなく、本明細書において記載されるそれらと置換することができることを容易に理解するであろう。
【０１６４】
したがって、本発明は、下記で含まれる請求の範囲によりのみ制限されるべきである。
【図面の簡単な説明】
【０１６５】
【図１Ａ】本発明のキーの数を減少させたキーボードの曖昧さ除去システムを組み込んだ移動電話の実施例の線図である。
【図１Ｂ】複数のキーの各々が1つ以上のローマ字と関連している図1aと同様の移動電話キーパッドの線図である。
【図１Ｃ】制限された表示機能を備える、または表示機能を備えない本発明のキーの数を減少させたキーボード・システムの実施例を組み込んだ移動電話キーパッドの線図である。
【図１Ｄ】表示機能を有する本発明のキーの数を減少させたキーボード・システムの実施例を組み込んだ移動電話キーパッドの線図であり、曖昧でない2-ストローク方法においてキーストロークの順序づけられた対の第1のものとしてキー「2」のアクティブ化に続くディスプレイを示す。
【図２Ａ】図1aのキーの数を減少させたキーボードの曖昧さ除去システムのハードウェア・ブロック線図である。
【図２Ｂ】本発明のキーの数を減少させたキーボード・システムを組み込んでいる携帯型コンピュータ・タッチスクリーンの実施例の線図であり、曖昧でない2-ストロークの方法においてキーストロークの順序づけられた対の第1のキーストロークの前に表示されたキーパッドを示す。
【図２Ｃ】図2bのタッチスクリーンの線図であり、キーストロークの順序づけられた対の第1として、音節「か」「き」「く」「け」「こ」と関連しているキーのアクティブ化に続く表示されたキーパッドを示す。
【図３】日本語用のキーの数を減少させたキーボードの曖昧さ除去システムのための語レベルの曖昧さ除去ソフトウェアの実施例のフローチャートである。
【図４】本発明のキーの数を減少させたキーボード・システムを組み込んだ携帯型コンピュータ・タッチスクリーンの別の実施例の線図である。
【図５】9個のキーを有する本発明のキーの数を減少させたキーボード・システムを組み込んだ携帯型コンピュータ・タッチスクリーンの更に別の実施例の線図である。
【図６】記号の物理的関連を、物理的キーに現れる文字の追加の強調されたバリエーションを含む論理的関連の事例を有するキーと比較している。
【図７】キー・インデックスに論理記号を関連づけている表の具体例である。
【図８Ａ】語彙モジュールのツリーのノードにおけるデータの内部配置を表す。
【図８Ｂ】読み方(Yomikata)テキストオブジェクトを構築するための一次命令の実施例の意味上の構成要素を表す。
【図８Ｃ】見出し語(Midashigo)テキストオブジェクトを構築するために使用される二次命令の4つの異なるタイプの実施例の意味上の構成要素を表す。
【図８Ｄ】見出し語テキストオブジェクトを構築するために使用される二次命令の4つの異なるタイプの2つの別の好適な実施例の意味上の構成要素を表す。
【図９】実施例のノードの構造の可能な内部データ項目の、4つの具体例を表す。
【図１０】圧縮されていない語彙モジュールの好適なツリー構造を表す。
【図１１】語彙モジュールから検索されているプロセスにおけるオブジェクトの中間記憶装置のための好適な実施例であるオブジェクト・リストの具体例の状態を表す。
【図１２】キー押しのリストが与えられた語彙モジュールから、テキストオブジェクトを検索するためのソフトウェア・プロセスの好適な実施例のフローチャートである。
【図１３】単一のキー押しが与えられた語彙モジュールのツリー構造をトラバースし、かつオブジェク・リストの状態を変えるためのソフトウェア・プロセスの一実施例のフローチャートである。
【図１４】折り畳まれ、圧縮された語彙モジュールを構築するためのソフトウェア・プロセスの実施例のフローチャートである。
【図１５】語彙モジュールのツリー・データ構造を折り畳むためのソフトウェア・プロセスの実施例のフローチャートである。
【図１６】所定のノードと比較して最も大きな冗長を有する語彙モジュールのツリーの二次ノードを位置づけるためのソフトウェア・プロセスの実施例のフローチャートである。
【図１７】語彙モジュールにおけるツリーの2つのノード間の冗長を計算するためのソフトウェア・プロセスの実施例のフローチャートである。
【図１８】音節「か」、「き」、「く」、「け」、および「こ」と曖昧に関連している、キー上の3回の連続したキーストロークのシーケンスのための本発明のデータベースの部分的なコンテンツを示しているチャートである。
【図１９】システムオペレーションの3つの代表例を示し、テキストをインプットするとき入力されるキーのシーケンスに関する各キーストロークが続く図1aに示されるシステムのテキスト表示のコンテンツを示す。
【図２０】本発明に従う明確な文字フィルタリングシステムのハードウェア・ブロック線図である。
【図２１】本発明に従うキーと関連している英語のアルファベットの各字を示している無線手持ち型デバイスの図である。
【図２２】本発明に従う0〜9のキーに示されるヨーロッパの字といくつかの特殊記号およびそれらのそれぞれのシフト(Shift)キーの具体例のチャートである。
【図２３】本発明に従う1つの2-キー・マトリックス・インプット方法のサンプル・スクリーン・ショットである。
【図２４】図20の曖昧なテキスト入力システムの明確な文字フィルタリングのための2-キーの明確な入力のフローチャートである。
【図２５】本発明の好ましい実施例に従う曖昧なモードにおける明確なフィルタリングのフローチャートである。
【図２６】本発明に従うデータベースに格納されていない語を生成するための方法のフローチャートである。
【図２７】本発明に従うキーの長押しによる明確な入力の具体例を示す。
【図２８】本発明に従うビルドアラウンド(build around)の具体例を表すフローチャートである。
【符号の説明】
【０１６６】
53  ディスプレイ
54  キーボード
100  CPU
102  スピーカ
104  メモリ
106  オペレーティング・システム
108  曖昧さ除去ソフトウェア
110  語彙モジュール
112  アプリケーションプログラム
114  アプリケーションプログラム
【図１Ａ】
2005530272.tif 000011
【図１Ｂ】
2005530272.tif 000012
【図１Ｃ】
2005530272.tif 000013
【図１Ｄ】
2005530272.tif 000014
【図２Ａ】
2005530272.tif 000015
【図２Ｂ】
2005530272.tif 000016
【図２Ｃ】
2005530272.tif 000017
【図３Ａ】
2005530272.tif 000018
【図３Ｂ】
2005530272.tif 000019
【図３Ｃ】
2005530272.tif 000020
【図４】
2005530272.tif 000021
【図５】
2005530272.tif 000022
【図６】
2005530272.tif 000023
【図７】
2005530272.tif 000024
【図８Ａ】
2005530272.tif 000025
【図８Ｂ】
2005530272.tif 000026
【図８Ｃ】
2005530272.tif 000027
【図８Ｄ】
2005530272.tif 000028
【図９Ａ】
2005530272.tif 000029
【図９Ｂ】
2005530272.tif 000030
【図９Ｃ】
2005530272.tif 000031
【図９Ｄ】
2005530272.tif 000032
【図１０】
2005530272.tif 000033
【図１１】
2005530272.tif 000034
【図１２】
2005530272.tif 000035
【図１３】
2005530272.tif 000036
【図１４】
2005530272.tif 000037
【図１５】
2005530272.tif 000038
【図１６】
2005530272.tif 000039
【図１７Ａ】
2005530272.tif 000040
【図１７Ｂ】
2005530272.tif 000041
【図１８】
2005530272.tif 000042
【図１９】
2005530272.tif 000043
【図２０】
2005530272.tif 000044
【図２１】
2005530272.tif 000045
【図２２】
2005530272.tif 000046
【図２３】
2005530272.tif 000047
【図２４】
2005530272.tif 000048
【図２５】
2005530272.tif 000049
【図２６】
2005530272.tif 000050
【図２７】
2005530272.tif 000051
【図２８】
2005530272.tif 000052
【国際調査報告】
2005530272.tif 000053
2005530272.tif 000054