(57)【要約】      （修正有）【課題】電子機器にテキストを入力するための柔軟なキー配列を実現するシステムを提供する。【解決手段】入力モジュール４０１と、配列マッピングモジュール４０２と、辞書モジュール４０５と、候補語モジュール４０４と、出力モジュール４０６とを含む。システムは、ユーザー入力を、キー配列に応じて文字集合にマッピングし、入力シーケンスを形成する。【選択図】図４
2015028784.tif 000002
【特許請求の範囲】
【請求項１】
電子機器に入力するための、柔軟なキー配列を実現することが可能であるシステムであって、
ユーザの入力を検出するための入力モジュールと、
現在のキー配列に応じて、ユーザによる少なくとも一回の入力を対応する少なくとも一つの文字集合にマッピングする、前記入力モジュールに接続する配列マッピングモジュールと、
候補語を記憶するための辞書モジュールと、
前記対応する複数の文字集合に基づき入力シーケンスを生成し、入力シーケンスに基づき可能な候補語を見出しそれらをソートする、前記辞書モジュールおよび前記配列マッピングモジュールに接続する候補語モジュールと、
前記候補語モジュールに接続し前記候補語を出力する出力モジュールと、
を備えることを特徴とするシステム。
【請求項２】
ユーザおよびシステムの設定を記憶する、前記配列マッピングモジュールおよび前記候補語モジュールに接続する設定モジュールをさらに備えることを特徴とする請求項１に記載のシステム。
【請求項３】
前記配列マッピングモジュールは異なるキーボードの種々の配列パラメータを定義かつ記憶し、ユーザの入力に応じて現在のキー配列を別のキー配列に切り換えることが可能であることを特徴とする請求項１に記載のシステム。
【請求項４】
前記文字集合はファジー文字グループ、つまりユーザがファジー入力するときに入力する可能性がある全ての文字を含むことを特徴とする請求項１に記載のシステム。
【請求項５】
前記文字集合は正確入力文字を含むことを特徴とする請求項１に記載のシステム。
【請求項６】
前記文字集合は誤り訂正文字グループを備え、前記誤り訂正文字グループは、ユーザの入力が間違ったときに対応する可能性がある正確な文字を含むことを特徴とする請求項１に記載のシステム。
【請求項７】
前記誤り訂正文字グループは、ユーザの入力したキーに隣接するキー上での文字を含むことを特徴とする請求項６に記載のシステム。
【請求項８】
前記候補語モジュールは、優先順位に影響する複数の要素により重みを付けて得られた最終優先順位にソートし、前記優先順位に影響する複数の要素は文脈関連規則と、統計使用頻度と、候補語の長さとを含むことを特徴とする請求項１に記載のシステム。
【請求項９】
前記候補語モジュールにおける文脈関連規則は、単語のよくある連語組み合わせと、文法基準とを含むことを特徴とする請求項８に記載のシステム。
【請求項１０】
前記候補語モジュールは、候補語の関連語を候補語リストに追加することを特徴とする請求項９に記載のシステム。
【請求項１１】
前記文脈関連規則は、規則に係る単語の関連語に対して発効することを特徴とする請求項１０に記載のシステム。
【請求項１２】
前記候補語モジュールは、候補語の代替え書式を候補語リストに追加することを特徴とする請求項１に記載のシステム。
【請求項１３】
前記配列マッピングモジュールは、キー毎の配列情報を含むことを特徴とする請求項１〜１２のいずれか一つに記載のシステム。
【請求項１４】
前記配列マッピングモジュールのキー毎の配列情報は、前記キーのキー配列領域での位置とサイズを含むことを特徴とする請求項１３に記載のシステム。
【請求項１５】
前記配列マッピングモジュールのキー毎の配列情報は、前記キーに表示された文字とその対応する位置領域とを含むことを特徴とする請求項１３に記載のシステム。
【請求項１６】
前記配列マッピングモジュールのキー毎の配列情報は、ユーザの異なる動作に対応して入力された文字を含むことを特徴とする請求項１３に記載のシステム。
【請求項１７】
入力装置と、
関連するソフトウエアを記憶するための記憶装置と、
ユーザにシステム出力を与える表示装置と、
請求項１に記載のシステムを実現するための、前記入力装置、記憶装置および表示装置に接続するプロセッサと、
を備えることを特徴とする携帯機器。
【請求項１８】
電子機器に入力するための、柔軟なキー配列を実現することが可能である方法であって、
ユーザによる信号入力を待つ第１のステップと、
現在のキー配列に応じて、ユーザの入力した信号を、前記ユーザの入力する、対応する可能性がある文字を含む一つの文字集合に変換する第２のステップと、
前記文字集合を現在の入力シーケンスに追加する第３のステップと、
前記現在の入力シーケンスに基づき、辞書から候補語を生成し、優先順位にソートする第４のステップと、
前記候補語を表示する第５のステップと、
を備えることを特徴とする方法。
【請求項１９】
第２のステップにおいて、前記文字集合はファジー入力文字グループ、つまりユーザがファジー入力するときに入力する可能性がある全ての文字を含むことを特徴とする請求項１８に記載の方法。
【請求項２０】
第２のステップにおいて、前記文字集合は正確入力文字を含むことを特徴とする請求項１８に記載の方法。
【請求項２１】
第２のステップにおいて、前記文字集合は誤り訂正文字グループを含み、前記誤り訂正文字グループは、ユーザの入力が間違ったときに対応する可能性がある正確な文字を含むことを特徴とする請求項１８に記載の方法。
【請求項２２】
前記誤り訂正文字グループは、ユーザの入力したキーに隣接するキー上での文字を含むことを特徴とする請求項２１に記載の方法。
【請求項２３】
第４のステップにおいて、優先順位に影響する複数の要素により重みを付けて得られた最終優先順位にソートし、前記優先順位に影響する複数の要素は文脈関連規則と、統計使用頻度と、候補語の長さとを含むことを特徴とする請求項１８に記載の方法。
【請求項２４】
前記文脈関連規則は、単語のよくある連語組み合わせと、文法基準とを含むことを特徴とする請求項１９に記載の方法。
【請求項２５】
第４のステップにおいて、前記候補語の関連語を候補語リストに追加するのをさらに備えることを特徴とする請求項２４に記載の方法。
【請求項２６】
前記文脈関連規則は、規則に係る単語の関連語に対して発効することを特徴とする請求項２５に記載の方法。
【請求項２７】
第４のステップにおいて、候補語の代替え書式を候補語リストに追加するのをさらに備えることを特徴とする請求項１８に記載の方法。
【請求項２８】
電子機器に入力するための誤り訂正候補語を提供する方法であって、
ユーザによる信号入力を待つ第１のステップと、
ユーザの入力した文字を検出するとともに、前記入力した文字に対応する、ユーザが実際に入力したい文字となる可能性がある誤り訂正文字を特定する第２のステップと、
ユーザが入力した各回の前記入力文字と前記誤り訂正文字とを入力シーケンスとして組み合わせ、前記入力シーケンスに基づき辞書から誤り訂正候補語を生成する第３のステップと、
誤り訂正候補語を表示する第４のステップと、
を備えることを特徴とする方法。
【請求項２９】
前記誤り訂正文字は、前記ユーザが入力した文字に対応するキーと隣接する関係を有するキー上での文字を指し、このような隣接する関係は、上下左右隣接、上下隣接、左右隣接、又は２つのキーおいて隣接するのを含むことを特徴とする請求項２８に記載の方法。
【請求項３０】
前記誤り訂正文字はシステムにより設定され又は人により設定されることを特徴とする請求項２８に記載の方法。
【請求項３１】
第２のステップにおいて、検出されたユーザの入力した文字を一つの入力文字集合に変換し、前記入力文字集合は前記ユーザの入力する、対応する可能性がある文字を含み、特定された誤り訂正文字を誤り訂正文字集合に変換し、
第３のステップにおいて、前記入力文字集合を前記誤り訂正文字集合とともに現在の入力シーケンスに追加し、現在の入力シーケンスに基づき誤り訂正候補語を生成し優先順位にソートすることを特徴とする請求項２８に記載の方法。
【請求項３２】
第２のステップにおいて、前記文字集合はファジー入力文字グループ、つまりユーザがファジー入力するときに入力する可能性がある全ての文字を含むことを特徴とする請求項３１に記載の方法。
【請求項３３】
第２のステップにおいて、前記文字集合は正確入力文字を含むことを特徴とする請求項３１に記載の方法。
【請求項３４】
第３のステップにおいて、優先順位に影響する複数の要素により重みを付けて得られた最終優先順位にソートし、前記優先順位に影響する複数の要素は文脈関連規則と、統計使用頻度と、候補語の長さとを含むことを特徴とする請求項３１に記載の方法。
【請求項３５】
前記文脈関連規則は、単語のよくある連語組み合わせと、文法基準とを含むことを特徴とする請求項３４に記載の方法。
【請求項３６】
キー配列を素早く切り換える方法であって、
タッチ型の表示機器に一つのキー配列を表示する第１のステップと、
ユーザのタッチポイントがタッチパネル上で移動する動作を待つ第２のステップと、
元のキー配列をタッチポイントの移動方向に沿って画面から移出する第３のステップと、
新たなキー配列をタッチポイントの移動方向に沿って画面に移入する第４のステップと、
を備えることを特徴とする方法。
【請求項３７】
キー配列を動的に変更する方法であって、
タッチ型の表示機器に複数のキーを表示する第１のステップと、
ユーザが一つのキーを押したままタッチポイントを移動する動作を検出する第２のステップと、
ユーザがタッチポイントを放す位置を検出する第３のステップと、
キー配列を調整し、前記キーを前記タッチポイントを放す位置に対応する位置に調整し、更新されたキー配列を表示する第４のステップと、
を備えることを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器の分野に関し、特に電子機器情報入力の技術分野に関し、具体的にはユーザが電子機器にテキストを入力する、柔軟なキー配列を実現することが可能であるシステムを指す。
【背景技術】
【０００２】
現代生活において、集積回路技術が発展しつつあり、それに伴って様々な電子機器が現れ、これら多くの電子機器（例えばパームトップ型コンピュータ、インテリジェント携帯電話、組み込みシステム、小型コンピュータなど）には、体積、生産コストなどの要素に制限されることにより、フルサイズのハードウエアキーボードを配置することができないので、このような機器で入力するのは常に挑戦的なことである。
【０００３】
伝統的な携帯電話又は携帯機器のキーボードは、複数の文字を複合したキーを用い、付属ソフトウエアと自体で持つ辞書ファイルとにより、ユーザの入力したキー押しシーケンスに基づき、ユーザの入力したい単語を予測している。一つのよくある入力方法は、打鍵シーケンスに対して索引トリーを構成するものであり、一つの特定の打鍵シーケンスは複数の単語に固定的に対応付けられる。ユーザがキーを押すときに、打鍵シーケンスに基づき索引トリーを調べ、対応する複数の候補語を探し、画面に表示しユーザによる選択に供する。このような方法において、辞書構造がキー配列に密接に関連し、キー配列を変更する度に、辞書構造を改めて構成しひいてはソフトウエアを改めて設計する必要がある。特にタッチパネル上のソフトウエアキーボードにとって、この方法は柔軟性が不良で、主な欠点が三つある。第一、キー配列を柔軟に変更することができない。もしアルファベットの配列が変更され、例えばＱＷＥＲＴＹ標準コンピュータキー配列（アメリカ州、アジア各国でよく使われている）からＡＺＥＲＴＹキー配列（ヨーロッパ各国でよく使われている）に切り換えるときに、ソフトウエアと辞書ファイルとを徹底的に書き換えなければならない。第二、インテリジェント誤り訂正することができない。もしユーザが一つ又は複数のキーを間違って押せば、訂正された単語を表示することができない。第三、例えば人名、地名、Ｅメールアドレス、専門用語などといった辞書にない単語を簡単に入力することができない。
【０００４】
同時に、縮んだキーボードサイズにより、ユーザがキーを間違って押しやすく、特に隣接するキーを押しやすくなる。したがってソフトウエアで自動誤り訂正の機能を実現するのは有用である。一つのよくある自動誤り訂正方法は、よくある誤りリストを調べることにより、自動誤り訂正の機能を実現するものである。例えば、ユーザはいつも「can」を「csn」に誤綴り、それはＱＷＥＲＴＹ配列のキーボードで、アルファベット「a」と「s」は隣接する位置にあり、誤押しやすいからである。このような方法は、例えば「csn」→「can」という誤押シーケンスおよび正確な単語を含む、一つの予め定義したよくある誤りリストを調べることにより、誤押シーケンスを正確な単語に修正する。しかし、無論、このような方法には制限があり、それは限りある既知の誤り類別のみを判断することができ、もっと一般的な隣接誤押に対して効果的に識別することができず、しかも誤判断しやすい。
【０００５】
もう一つの自動誤り訂正方法は、画面タッチポイントの位置を判断し、それと各キーとの距離を算出することにより、打鍵シーケンスと各々の可能な単語との重み付き距離を算出した結果、重み付き距離が一番小さい、辞書における単語を選択する。このような方法は理論的には可能であるが、現実には複雑すぎ、一般的な携帯機器の計算能力は限りあるので、実現することが困難である。
【発明の概要】
【０００６】
本発明は、上記従来技術における欠点を克服するために、キー配列を柔軟に変更することが可能であり、インテリジェント誤り訂正機能を有するシステムを提供することを目的とする。伝統的な方法に比べて、本発明は以下の点に優れている。
【０００７】
第一、本発明のシステムは種々のキー配列を柔軟に用いることが可能である。機器メーカーにとって、新たな言語又は入力方法毎に対して、もとのソフトウエアと入力システムを作り直すために大量の人力と物質を費やし、又は新たなソフトウエアを購入する必要がある。本システムを用いると、付属ソフトウエアを変更することなく、新たなキー配列のみを簡単に定義すればよい。それは、多国言語バージョンのローカル化に、より素早くより便利な提案を提供した。同時に、ユーザにとって、自分の使用習慣に応じてキー配列を自己定義することが可能であり、さらに柔軟で実用的になる。
【０００８】
第二、本発明のシステムは、より効果的、より実用的な誤り訂正方法を実現し、ユーザがいつも縮んだキーボード上でキーを間違って押すという問題を解決することが可能である。二つの伝統的な誤り訂正方法に対して、本発明のシステムは、普通の携帯機器の実際計算能力で、素早くて全面的に誤り訂正するとともに、ユーザに誤り訂正範囲を設定させることが可能であり、確実に実用的な誤り訂正方法である。
【０００９】
第三、本発明のシステムはテキストの文脈に基づき、文法解析に組み合わせて、現在の言語環境に最も適する候補語を判断し、候補語の正確率を高めることが可能である。
【００１０】
本発明の一局面によれば、ユーザの入力を検出するための入力モジュールと、現在のキー配列に応じて、ユーザによる少なくとも一回の入力を、対応する少なくとも一つの文字集合にマッピングする、前記入力モジュールに接続する配列マッピングモジュールと、候補語を記憶するための辞書モジュールと、前記対応する複数の文字集合に基づき入力シーケンスを生成し、入力シーケンスに基づき可能な候補語を見出しそれらをソートする、前記辞書モジュールおよび前記配列マッピングモジュールに接続する候補語モジュールと、前記候補語モジュールに接続し前記候補語を出力する出力モジュールとを備え、電子機器に入力するための、柔軟なキー配列を実現することが可能であるシステムが提供されている。
【００１１】
本発明の他の一局面によれば、ユーザによる信号入力を待つ第１のステップと、現在のキー配列に応じて、ユーザの入力した信号を、前記ユーザの入力する、対応する可能性がある文字を含む一つの文字集合に変換する第２のステップと、前記文字集合を現在の入力シーケンスに追加する第３のステップと、前記現在の入力シーケンスに基づき、候補語を生成し優先順位にソートする第４のステップと、前記候補語を表示する第５のステップとを備え、電子機器に入力するための、柔軟なキー配列を実現することが可能である方法が提供されている。
【００１２】
本発明の他の一局面によれば、タッチ型の表示機器に一つのキー配列を表示する第１のステップと、ユーザのタッチポイントがタッチパネル上で移動する動作を待つ第２のステップと、元のキー配列をタッチポイントの移動方向に沿って画面から移出する第３のステップと、新たなキー配列をタッチポイントの移動方向に沿って画面に移入する第４のステップとを備え、キー配列を素早く切り換える方法である。
【００１３】
本発明の他の一局面によれば、タッチ型の表示機器に複数のキーを表示する第１のステップと、ユーザが一つのキーを押したままタッチポイントを移動する動作を検出する第２のステップと、ユーザがタッチポイントを放す位置を検出する第３のステップと、キー配列を調整し、前記キーを前記タッチポイントを放す位置に対応する位置に調整し、更新されたキー配列を表示する第４のステップとを備え、キー配列を動的に変更する方法である。
【図面の簡単な説明】
【００１４】
【図１Ａ】本発明の実施例による種々の異なるキー配列を例示する概念図である。
【図１Ｂ】本発明の実施例による種々の異なるキー配列を例示する概念図である。
【図１Ｃ】本発明の実施例による種々の異なるキー配列を例示する概念図である。
【図１Ｄ】本発明の実施例による種々の異なるキー配列を例示する概念図である。
【図１Ｅ】本発明の実施例による種々の異なるキー配列を例示する概念図である。
【図２Ａ】本発明の実施例による候補語及びその関連語を例示する概念図である。
【図２Ｂ】本発明の実施例による文脈によって候補語を判断することを例示する概念図である。
【図２Ｃ】本発明の実施例による前文によって次の単語を予測することを例示する概念図である。
【図２Ｄ】本発明の実施例による前文によって次の単語を予測することを例示する概念図である。
【図３】本発明の実施例によるハードウエアブロックを例示する図である。
【図４】本発明の実施例によるシステムモジュールの構成を例示する図である。
【図５】本発明の実施例によるユーザが一回の入力を完成することを例示するフローチャートである。
【図６】本発明の実施例による配列モジュールにおけるキー毎に含まれる情報を例示する概念図である。
【図７】本発明の実施例による一つのキーを展開し正確に入力を行うことを例示する概念図である。
【図８】本発明の実施例による候補語を素早く探すのを実現する辞書構造を例示する概念図である。
【図９】本発明の実施例による候補語を生成することを例示するフローチャートである。
【図１０】本発明の実施例による電子機器にテキストを入力するための、柔軟なキー配列を実現することが可能である方法を例示する一般的なフローチャートである。
【図１１Ａ】本発明の実施例によるキー配列を素早く切り換える過程を例示する概念図である。
【図１１Ｂ】本発明の実施例によるキー配列を素早く切り換える過程を例示する概念図である。
【図１１Ｃ】本発明の実施例によるキー配列を素早く切り換える過程を例示する概念図である。
【図１２】本発明の実施例によるキー配列を素早く切り換えるのを実現することを例示する一般的なフローチャートである。
【図１３Ａ】本発明の実施例によるキー配列を動的に変更する過程を例示する概念図である。
【図１３Ｂ】本発明の実施例によるキー配列を動的に変更する過程を例示する概念図である。
【図１４】本発明の実施例によるキー配列を動的に変更することを例示する一般的なフローチャートである。
【発明を実施するための形態】
【００１５】
本発明による実施例を詳しく説明する前に、以下のことに注意すべきであり：前記実施例は主に、電子機器にテキストを入力することに関連する方法ステップおよび機器モジュールの組み合せにある。したがって、前記機器モジュールおよび方法ステップは、既に図面において通常符号により適当な位置で示されたとともに、本発明を読んだその分野の当業者にとって自明である詳細により本公開内容が不明瞭になることをしないように、本発明を理解する実施例に関連する詳細のみを示した。
【００１６】
本文において、左と右、上と下、前と後、第１と第２といった関係術語はただ、一つの実体又は動作ともう一つの実体又は動作とを区別するためであり、必ずしもこのような実体又は動作の間になんら実際のこのような関係又は順序があることを要求又は示唆するわけではない。「含む」、「備える」という術語又はなんらそのほかの変形は、排他的でない含みを包含する趣旨であるので、一連の要素を含む過程、方法、物品又は機器はこれらの要素を含むのみならず、明確に挙げていないそのほかの要素、或はこのような過程、方法、物品又は機器に固有の要素を含む。
【００１７】
本公開の目的から見れば、「キーボード」という術語は広義に定義され、特定領域を有するなんらの入力部品を含み、ハードウエア機械式キーボード、ハードウエア誘導式キーボード、タッチパネルにおけるソフトウエアキーボードなどを含むが、それらに限定されない。本発明の実施例は、タッチパネルにおけるソフトウエアキーボードを例として説明するが、その分野の当業者は、本発明に言及された方法およびシステムをハードウエアキーボードにも適用できることが考えられる。
【００１８】
１、基本機能及び操作
図１Ａは本発明に係る柔軟なキー配列を実現することが可能であるキーボードシステム１００およびそのキャリア携帯機器１０１を示した。ユーザはキーボード１１０上でキーを押した後、その入力内容はテキスト領域１０２に表示される。キーボード１１０はＱＷＥＲＴＹ配列であり、２６個のアルファベットと、数字と、符号と、スペースキーとを含み、キー毎に三つの文字を表すことができる。図１Ｂはもう一つの配列のキーボード１２０を示し、ワンキーＱＷＥＲＴＹ配列であり、キー毎に一つの文字を表し、２つのキーの間に数字と符号があってもよい。図１Ｃはもう一つの配列のキーボード１３０を示し、ＡＺＥＲＴＹ配列であり、キー毎に三つの文字を表すことができる。図１Ｄはもう一つのキーボード１４０を示し、９キー配列であり、キー毎に３〜４個のアルファベットと１個の数字を表すことができ、携帯電話キーボードに広く応用されている。図１Ｅはユーザ自己定義配列のキーボード１５０を示し、キー毎に三つの文字を表すことができ、文字の内容と順序は、ユーザの使用習慣に応じて定められる。
【００１９】
本公開の目的から見れば、図面符号が複雑すぎることを避けるために、以下には各キー配列における各キーの１行目の中央文字で各キーを表す。例えば、キー「qw」で図１Ａにおけるキーボードの一番左上角のキー１１１を表し、キー「p」で図１Ｂにおけるキーボードの一番右上角のキー１２１を表し、キー「wx」で図１Ｃにおけるキーボードの一番左下角のキーを表し、キー「wxyz」で図１Ｄにおけるキーボードの一番右下角のキー１４１を表す。同一の図面においてこの方法によって定義した重複のマークが現れた場合、番号マークで区別して、当該表し方の唯一性を確保する。
【００２０】
なお、本発明に記載された方法は、英語以外のそのほかの語種、そのほかのキー配列にも適用でき、且つアルファベット、数字、符号の具体的な内容と位置も任意に変更することができる。
【００２１】
図１Ａに戻り、ユーザがキーボード入力領域上でのキーをクリックし打鍵シーケンスを発生するときに、システムは候補の単語を候補領域１０３に表示させるとともに、テキスト領域にデフォルトの候補語が表示される。ユーザが候補語をクリックする、又は確認キー（例えばスペースキー又はある句読点）を押すと、選択された単語はテキスト領域１０２に入力される。
【００２２】
例えば、図１Ａにおいて、ユーザが順にキー「ty」、キー「ui」、キー「er」を押すと、システムは辞書におけるこのキーシーケンスに対応する全ての単語を見出し、それらをソートして候補領域１０３に表示させる。単語「tie」、「turn」、「tired」、「yield」は最高の使用頻度を有するので、候補語リストの１ページ目に表示される。その中で「tie」は同時にデフォルトの候補語としてテキスト領域にも表示され、特別な書式（例えばアンダーライン）でまだ確認されていないテキストとして示される。ユーザがスペースキーを押すと、当該候補語が確認され、テキストに入力される。ユーザがキーを押すときに各キーの表す具体的な文字を明確に指定せず、辞書により候補語とマッチングするので、「ファジー入力」と称する。
【００２３】
本発明のある実施例によると、ユーザは正確に入力を行うこともできる。例えば、図１Ａを参照すると、タッチパネルのキーボード１１０上で、ユーザはキー「ty」を押したまま左に移動してから放し、アルファベット「t」を正確に入力することができ、キー「ui」を押したまま右に移動してから放し、アルファベット「i」を正確に入力することができ、キー「er」を押したまま右に移動してから放し、アルファベット「r」を正確に入力することができる。このときにシステムが見出したのは全て、「tired」、「tiring」、「tire」、「tirade」という、先頭が「tir」の単語である。
【００２４】
本発明のある実施例によると、ユーザはタッチポイントを下にスライドすることによりキーの下方の符号又は数字を入力することができる。例えば、図１Ａを参照すると、ユーザはキー「gh」上でタッチポイントを下に移動すれば、数字「3」が入力される。このように、ユーザは専用の数字モード又は符号モードに切り換える必要がなくなる。
【００２５】
また、例えば、図１Ｂを参照すると、ユーザは、キー「q」又はキー「s」又はその中間領域で下にタッチポイントをスライドし、両者の間の符号「;」を入力してもよい。
【００２６】
本発明のある実施例によると、符号と数字も単語の一部となってもよい。例えば、「I’m」、「I’ll」、「let’s」、「C++」、「part-time」などである。ユーザは、別の符号モードに切り換えることなく、同一のキーボードモードで符号又は数字を容易にファジー入力することができる。例えば、図１Ａを参照すると、キーボード１１０上で、シングルクォーテーションマーク「'」がキー「ui」にあり、ユーザは順にキー「ui」、キー「ui」、キー「m/」を押せば、システムは単語「I’m」を見出し候補領域に表示することが
できる。
【００２７】
本発明のある実施例によると、ユーザがキー配列を変更しようとするときに、例えば図１ＡのＱＷＥＲＴＹ配列を図１Ｄの９キー配列に変更するときに、予め定義した動作だけで、素早く切り換えることができる。例えば、タッチパネルのキーボード上で、ユーザは指をキーボード領域の左端から右端に素早くスライドすれば、ＱＷＥＲＴＹ配列は右に移動し画面の右端から移出し、９キー配列は画面の左端から入り、滑らかな動的効果を発生する。同様に、ユーザは図１Ｂに示すワンキーＱＷＥＲＴＹ配列、又は図１Ｃに示すＡＺＥＲＴＴＹ配列、又は図１Ｅに示すユーザ自己定義配列に切り換えてもよい。配列切り換えの方式は、複数の種類があってもよく、ユーザの手振りを検出してもよく、一つの特定のキーを用いてもよく、音声コントロールを利用してもよい。このような切り換え過程において、システムの配列と辞書探索機能とが互いに独立するので、同じ辞書ファイルとソフトウエアを用いてもよい。
【００２８】
小さいキーボード領域上で、ユーザが入力するときにいつも隣接するキーを押すので、本発明の好ましい実施例によると、辞書に基づき、このような誤りを自動訂正することができる。図１Ｂにおいて、ユーザがキー「t」を押そうとするときに、間違ってキー「f」を押しやすい。システムはキー「f」の周囲のアルファベット「r」、「g」、「d」、「v」を探索し、ユーザによるこの前の入力に基づき可能な正確単語を判断する。本発明の実施例において、たとえユーザの入力したアルファベットを全て間違っても、システムは正確な単語を見出す可能性がある。例えば、ユーザは「v」、「i」、「p」、「l」を入力したが、システムはユーザに候補語「book」を与えることができ、それは「v」、「i」、「p」、「l」がそれぞれ「b」、「o」、「o」、「k」の隣接するアルファベットだからである。なお、アルファベットの位置が大きく離れる場合に、誤り訂正の範囲を広くする必要がある（例えば２つのキーおいて誤り訂正する）。しかし誤り訂正の範囲を広くする副作用は、候補語の数が増えることである。この矛盾を解決するために、本発明の好ましい実施例において誤り訂正範囲がユーザの好みに応じて調節することができる。ユーザはあるアルファベットを基準として、例えば、全ての隣接するアルファベットにおいて誤り訂正する、又は左右隣接するアルファベットのみにおいて誤り訂正する、又は上下隣接するアルファベットのみにおいて誤り訂正する、又は２つのアルファベット（例えば「t」と「u」）おいて誤り訂正する、又は誤り訂正しないように、どんな範囲以内に誤り訂正するかを設定することができる。
【００２９】
本発明のある実施例によると、候補語の関連語を素早く選択することができる。たとえば、図２Ａを参照すると、候補領域において候補語２１１である「compare」が現れると
きに、ユーザは「compare」上でタッチポイントを下にスライドすれば、キーボード領域において「compare」に対応する関連語、つまり「comparing」、「compared」、「compares」、「comparison」が現れる。ユーザがその中の一つの関連語をクリックすれば、それをテキスト領域に入力することができる。多くの言語において、このような関連語はよくある。例えば、英語における動詞は異なる時制が多くあり、名詞は複数形があり、一つの語は複数種類の品詞がある。本発明の実施例はこれらの語を関連付けることができるので、ユーザは一つの候補語によってそのほかの関連語を取得することができる。
【００３０】
本発明のある実施例によると、テキストの文脈によって候補語を関連付け、連語の予測を提供することができる。例えば、図２Ｂを参照すると、ユーザが「I」を入力した後、「am」を入力する必要があるが、「m」を入力するときに隣接するキー「bn」を押してしまった。この場合に、システムは文脈関連規則によって、「I am」がよく使う連語であるのを判断することができるので、候補語２２１である「am」の優先順位をもとの候補語「an」より高くするように調整する。多くの言語において、このような連語、特定の組み合せ、習慣文法の現象はよくある。したがって、一つの単語の現れ確率は当該単語の使用頻度に依存するのみならず、当該単語と文脈との間の組み合せの確率にもっと依存する。この例において、「an」は「am」より使用頻度が高い単語にもかかわらず、Iの後に続くのはほとんど「am」であり、「an」ではない。したがって、文脈によって適当な単語を選択すれば、選択の有効性を高めることができ、ひいては入力の効率を高めることができる。また、例えば、図２Ｃを参考して、ユーザが単語２３１である「look」を入力した後、候補語リストで「look」と組み合わせて連語を形成する候補語である「forward to」、「at」、「into」、「for」を自動的に予測し、ユーザによる選択に供する。
【００３１】
本発明のある実施例によると、関連語を基として文脈関連と連語連想を提供することができる。例えば、図２Ｄを参照すると、ユーザが「look」の関連語である「looking」を入力した場合にも、候補語領域において「look」に対応する連語組み合わせである「forward to」、「at」、「into」、「for」などを予測することができる。
【００３２】
２、システム構成及び原理
図３は本発明を適用した携帯機器３００の概略ブロック図を示した。入力装置３０１と、表示装置３０２と、記憶装置３０３は電子回線を介してプロセッサ３０４に接続される。入力装置３０１はキーボード又はタッチパネルであってもよく、表示装置３０２は液晶パネルであってもよく、記憶装置３０３は、例えばランダムアクセスメモリ（RAM）、読み出し専用メモリ（ROM）、フラッシュメモリ（Flash）、ハードディスクなどといった記憶媒体のいずれかであってもよく、プロセッサ３０４はＣＰＵ又は専用集積回路チップであってもよい。多くの場合には、入力装置３０１は表示装置３０２と組み合わせてもよく、例えばタッチパネルであってもよい。記憶装置３０３はオペレーティングシステム３１１と本発明に係るキーボードソフトウエア３１０などの全てのソフトウエアを格納することができ、記憶装置は、例えばテキストエディターなどといったそのほかのアプリケーションプログラム３１２を選択的に備えてもよい。
【００３３】
本発明のキーボードシステムはキーボードソフトウエア３１０により管理されている。図４は当該キーボードソフトウエアの好ましいシステム構成４００を示した。当該システムは、主に、入力モジュール４０１と、配列マッピングモジュール４０２と、設定モジュール４０３と、候補語モジュール４０４と、辞書モジュール４０５と、出力モジュール４０６とで構成されている。
【００３４】
入力モジュール４０１は、例えばユーザによるキー押し、タッチパネル上でのタッチポイントの動作などといったユーザによる入力を検出するためであり、配列マッピングモジュール４０２に出力する。配列マッピングモジュールは現在のキー配列に応じて、ユーザの入力を今回の入力に対応する文字集合にマッピングし、候補語モジュール４０４に出力する。辞書モジュール４０５は候補語モジュール４０４に辞書における単語を提供するためである。候補語モジュール４０４はこれまで各回の文字集合により入力シーケンスを生成し、入力シーケンスに基づき可能な候補語を探し、それらをソートする。出力モジュール４０６は候補語を一定の方式で機器に出力し、ユーザによる選択に供する。設定モジュール４０３は例えば誤り訂正を起動するか、文脈を検出するかといったユーザとシステムの設定を記憶し、配列マッピングモジュール４０２と候補語モジュール４０４の使用に供する。
【００３５】
図５は、ユーザによる入力を待つステップ（ステップ５０１）と、操作を確認したかを判断するステップ（ステップ５０２）と、「はい」であれば、テキスト領域において確認した語を入力し、入力シーケンスをリセットするステップ（ステップ５０３）と、「いいえ」であれば、配列マッピングモジュール４０２で今回の入力に対応する文字集合を生成するステップ（ステップ５０４）と、今回入力した文字集合とこの前に入力した文字集合とにより入力シーケンスを構成するステップ（ステップ５０５）と、候補語モジュールで候補語リストを生成し、優先順位にソートするステップ（ステップ５０６）と、更新された候補語リストを出力するステップ（ステップ５０７）とを備える、ユーザが語を選択入力する場合のキーボードソフトウエアメインプログラムのメインフロー５００を示す。
【００３６】
ステップ５０２について、入力モジュール４０１は今回の入力が操作を確認したかを判断する。確認操作はスペースキー又は確認キーを押す（デフォルトの候補語を選定する）こと、又は直接に候補語をクリックすること、又は方向キーにより候補語を選択した後スペースキー又は確認キーを押すこと、句読点を入力することによりデフォルトの候補語を自動的に選定すること、又はそのほかの任意の予め指定した操作であってもよい。
【００３７】
ステップ５０４について、配列マッピングモジュール４０２は現在のキー配列に応じて、今回の入力を対応する文字集合にマッピングすることができる。当該文字集合には、今回の入力に対応する可能性がある全ての文字が含まれる。例えば、ユーザが図１Ａに示すＱＷＥＲＴＹキー配列においてキー「qw」を押す場合に、文字集合は当該キー上のファジー入力文字「q」、「w」を含む。また、誤り訂正を起動するように設定する場合に、文字集合には、さらに、例えば「a」、「s」、「e」といった隣接するキー上の文字を含んでもよい。
【００３８】
ステップ５０５について、候補語４０４は今回入力した文字集合を入力シーケンスに追加することができる。例えば、図１Ａに示すＱＷＥＲＴＹキー配列において、ユーザが順番にキー「ty」、キー「ui」、キー「er」を押した後、入力シーケンスは三回入力した文字集合：｛「t」,「y」｝、｛「u」,「i」｝、｛「e」,「r」｝を含む。その後、候補語モジュール４０４は種々の可能な組み合せに基づき、辞書モジュール４０５で例えば「tie」、「turn」などといった可能な候補語を探索することができる。最後に、優先順位に候補語をソートすることができる。ある好ましい実施例において、優先順位が一番高い候補語をデフォルトの候補語として指定し、つまり、ユーザがスペースキー又はそのほかの符号を入力する場合に、デフォルトの候補語がテキスト領域に入力された単語であることを自動的に確認することができる。
【００３９】
ステップ５０６について、出力モジュール４０６は更新された候補語リストを画面に表示し、ユーザによる選択に供することができる。ある実施例において、デフォルトの候補語をテキスト領域に表示し、特別な書式でハイライトマークしてもよい。
【００４０】
以下、図４に戻り、本実施例における各モジュールの実現方法を詳しく示す。入力モジュール４０１はユーザによるキー押し動作を検出し、キー押し毎の関連データを記録し出力する。一回のキー押しの関連データは、
● ユーザがタッチポイントを押す始点位置
● ユーザがタッチポイントを放す終点位置
● ユーザがタッチポイントを移動する軌跡
● ユーザがタッチポイントを保持する停留期間
を含んでもよいが、それらに限定されない。例えば、図１Ａにおいて、ユーザがキー「qw」を押したまま右に移動してから放す場合に、入力モジュール４０１の出力は、ユーザが当該キーを押す始点座標および当該キーを放す終点座標を含んでもよい。
【００４１】
図４に戻り、設定モジュール４０３はユーザの使用好み、システム動作モードなどを含むシステム運転に関する種々の設定情報、を備える。例えば、ユーザは誤り訂正をオフすることができる。そうすると、隣接するキーを押した全ての誤りは誤り訂正されない。また、ユーザは、上下隣接するキーを押す誤りのみの訂正、左右隣接するキーを押す誤りのみの訂正、周辺隣接するキーを押す誤りの訂正、または２層隣接するキーを押す誤りの訂正（例えば図１Ｂに示すワンキーＱＷＥＲＴＹ配列上で「g」を押す場合に、「d」、「f」、「h」、「j」まで訂正することができる）といった誤り訂正のレベルを選択することができる。設定モジュール４０３はオプショナルである。
【００４２】
図４に戻り、配列マッピングモジュール４０２は主に三つの機能を有する。配列マッピングモジュール４０２の第１の機能は、例えばキーボードに何の文字があるか、何の文字が一つのキーに複合されたか、如何にキー上での文字を正確に選択するかなどといった、異なるキーボードの種々の配列パラメータを定義し記憶するものである。例えば、図１Ａにおいて、アルファベット「q」、「w」と、符号「;」とが一つのキー「qw」を多重使用する。図６はメモリでキー「qw」を示すデータ構造を示し、その中で
● 当該キーのキー配列上での位置とサイズ
● 当該キーに表示された文字及びその対応位置領域：「q」、「w」、「;」
● ユーザの異なる動作に対応して入力された文字グループ：
○ クリックした後直接に放す：ファジー入力「q」、「w」、「;」
○ 上に移動する：ファジー入力「q」、「w」のキャピタルレター（「Q」、「W」）
○ 左に移動する：正確入力「q」
○ 右に移動する：正確入力「w」
○ 左上に移動する：正確入力「Q」
○ 右上に移動する：正確入力「W」
○ 下に移動する：正確入力「;」
といったフィールドを含んでもよい（それらに限定されない）。
【００４３】
正確入力の方式は複数種類がある。一つの好ましい方式は、ユーザによるタッチポイント移動に基づき、正確入力の文字を判断する方式である。もう一つの好ましい方式は、あるキーを長く押した後、当該キー上での複数の文字を展開し、ユーザによる選択に供する方式である。例えば、図１Ａにおいて、ユーザがキー「as」を予定期間以上長く押した後、当該キーボードは図７に示す正確入力モードとなり、当該キーの表す全ての文字グループ７０１を表示し、ユーザによる選択に供する。選択した後、図１Ａの初期モードに戻る。西ヨーロッパの言語において、このような方式は「aaaaa」などのアクセント文字を選択することができる。
【００４４】
なお、当該データ構造の各フィールドは必要に応じて削減や補正してもよく、本発明の実質に影響しない。例えば、キーを押した後、ユーザに現在の入力を思いつかせるための拡大された図を、キーの上方に表示するかどうかを示すためのフィールドを追加してもよい。また、例えば、キーの位置又はサイズが固定である場合、当該キーのキーボード領域上での位置とサイズの情報フィールドを省略してもよい。同時に、ユーザの異なるタッチ動作の定義も拡張することができる。例えば、「ユーザが当該キーをＸ秒以上長く押す」ことを定義した対応入力を追加してもよく、その中でＸは設定できる値であってもよい。また、例えば、「ユーザが当該キーをダブルクリックする」ことを定義した対応入力を追加してもよい。
【００４５】
これにより、異なるキー押し動作は異なる文字集合に対応することができる。
【００４６】
配列マッピングモジュール４０２の第２の機能は、用いる可能性がある全てのキー配列を記憶し必要に応じて切り換えるものである。ある時点では、現在アクティブなキー配列は一つしかない。それは、ユーザがキーボード入力領域で見える現在のキー配列である。
【００４７】
本発明の好ましい実施例において、ユーザはタッチパネル上での手振りにより現在のキー配列を切り替えてもよく、ハードウエアキーボード上でのある特定のキーにより現在のキー配列を切り換えてもよい。
【００４８】
配列マッピングモジュール４０２の第３の機能は、現在のキー配列に応じて、ユーザによるオリジナルの入力を、今回の入力に対応する可能性がある文字集合にマッピングするものである。一つの好ましい文字集合のデータ構造はファジー入力文字グループと、正確入力文字と、誤り訂正文字グループとを含んでもよい。
【００４９】
例えば図１Ａに示すＱＷＥＲＴＹ配列において、ユーザがキー「qw」を押し且つ直接に放した後、当該モジュールはまず入力モジュール４０１からタッチポイントの座標を取得し、現在の配列に応じてキー「qw」を押したことを判断した。クリックした後直接に放す動作であるので、キー「qw」の配列データに基づき、それに対応するファジー入力文字グループが（「q」、「w」、「l」、「;」）であることが得られる。設定モジュール４０３から現在の誤り訂正設定を読み取り、それが垂直誤り訂正であると、現在の配列から下方の文字「a」と「s」を誤り訂正文字として取得する。その結果、今回のキー押しにおいて、配列マッピングモジュール４０２の出力文字集合は、ファジー入力文字グループ（「q」、「w」、「l」、「;」）と、正確入力文字（空）と、誤り訂正入力文字グループ（「a」、「s」）である。
【００５０】
また、例えば、図１Ｄに示す９キー配列において、キー「jkl」に対応する配列情報は以下のように示す。
【００５１】
● 当該キーのキー配列上での位置とサイズ
● 当該キーに表示された文字及びその対応位置領域：「j」、「k」、「l」、数字「5」、句点「.」
● ユーザの異なる動作に対応して入力された文字グループ：
○ クリックした後直接に放す：ファジー入力「j」、「k」、「l」、「5」
○ 長く押す：ＳＨＩＦＴモードに入る（コンピュータのキーボード上でＳＨＩＦＴキーを押したままのように）
○ 左に移動する：普通モードでは、「j」を正確に入力する；ＳＨＩＦＴモードでは、「Ｊ」を正確に入力する
○ 右に移動する：普通モードでは、「l」を正確に入力する；ＳＨＩＦＴモードでは、「L」を正確に入力する
○ 上に移動する：普通モードでは、「k」を正確に入力する；ＳＨＩＦＴモードでは、「K」を正確に入力する
○ 下に移動する：普通モードでは、句点「.」を正確に入力する；ＳＨＩＦＴモードでは、「5」を正確に入力する
ユーザがキー「jkl」をクッリクした後直接に放す場合、配列マッピングモジュール４０２はキー「jkl」の上記配列情報を得る。今回の動作は、クリックした後直接に放すことであるので、ファジー入力文字グループは（「j」、「k」、「l」、「5」）である。また、設定モジュール４０３における誤り訂正設定は左右誤り訂正であるので、誤り訂正文字グループはキー「jkl」周辺の隣接する文字グループ（「m」、「i」）である。
【００５２】
ユーザがキー「jkl」上で左に移動した後長く押した場合（又は長く押した後左に移動した）、今回のキー押しにおいて一つの長く押す動作を含むので、ＳＨＩＦＴモードに切り替え、正確入力文字は(「J」)であり、ファジー入力文字グループは（空）である。設定モジュール４０３の設定情報によると、正確入力が空でない場合、システムは誤り訂正する必要がない。したがって誤り訂正文字グループも（空）である。
【００５３】
これにより、配列マッピングモジュール４０２は、ユーザの入力を、キー配列に依存しない文字集合に効果的に切り換えるので、その後の候補語モジュール４０４は配列の相違に応じてソフトウエア又はデータ構造を変更する必要がない。キー配列が変更された後、それに応じて配列マッピングモジュール４０２の得る配列情報も変更されたので、それに伴って出力した文字集合も変更された。
【００５４】
独立したキー配列設計を有したので、キー配列は、なんらのシステムの機能に影響することもなく、携帯メーカーにより予め定義され、又はユーザにより自己定義されることができる。例えば、ユーザは、キーの配列と、キー毎に対応する文字と、動作に対応する文字グループとを自己定義することにより、自分の使用習慣に適するキー配列をエディットすることができる。同時に、異なる言語バージョンの入力方法も異なるキー配列に対応することができる。
【００５５】
図４に戻り、候補語モジュール４０４は今回の入力に対応する文字集合を入力シーケンスに追加することにより、辞書モジュール４０５における対応する単語を探し、一定の規則（例えば単語の使用頻度、文脈連語、関連語など）に基づき候補単語を優先順位にソートした結果、候補語を出力モジュール４０６に出力する。
【００５６】
その分野の当業者は、辞書の構造が、例えばデータベースに記憶され、又はトリー構造で記憶されるといった複数の実現方式を用いることが可能であると考えられる。それに応じて、辞書から可能な候補語を探す方法も複数ある。
【００５７】
以下、本システムのフィージビリティーを完全に示すために、素早く単語を探すことができる辞書実現方法を例示するが、本発明はこのような方法に依存しない。当該方法は、図８に示すように、辞書における単語をトリー構造で並べる。トリー状辞書における各ノードNi-1,Ni-2…Ni-mはそれぞれ一つの文字を表し、その中でiは当該ノードのトリーでの深さ（i層目）を表す。i層目に位置するノードは単語のi番目の文字を表す。mは当該層での文字合計を表し、例えば英語において26個のアルファベットがある場合、mが26を超えなくてよい。辞書には、例えばdon’tといったそのほかの符号から構成される単語が含まれる場合、mが26より大きくてもよい。これらのノードは経路Pi-j-1,Pi-j-2,…,Pi-j-mにより接続され、その中でi-jは当該経路に接続される親ノードがNi-jであることを表す。根ノードから下に、あるノードに達する経路が経由したノードシーケンスは、当該ノード（又は当該経路）の文字シーケンスと称する。もし一つのノードの文字シーケンスは辞書における一つの単語であれば、当該ノードを単語ノードと称する。もしある経路が存在しなければ、当該経路の文字シーケンスが辞書に存在しないことを表す。例えば、英語単語appleに対応するノードは、根ノードから下に順に探したノードa-p-p-l-eである。その中で１番目のアルファベットaに対応するノードはトリーの１層目にあり、２番目のアルファベットpに対応するノードはトリーの２層目にあり、最後のアルファベットeのノードは単語ノードであり、その文字シーケンスは「apple」である。このようなトリー構造のメリットは、一つの特定のアルファベットシーケンスが辞書にある一つの単語であるか、および当該単語に対応するノードを素早く見出すことができるものである。
【００５８】
各単語ノードはそれぞれ一つの単語対象に対応してもよいが、単語対象のデータ構造は辞書構造に対して独立するのである。一つの単語対象は、単語の統計使用頻度と、関連語と、文脈関連規則と、代替え書式などといった情報を含んでもよい。単語の統計使用頻度は一つの数値、例えば数字１〜８のいずれかで表してもよく、８は一番よく使う語を表し、１は一番よく使わない語を表す。統計使用頻度は、候補語を優先順位にソートするときに重要な要素として考えてもよい。そのほかの要素を考えない場合、使用頻度が高いほど、単語の優先順位が高い。
【００５９】
単語の関連語は当該単語に関連付けられる単語であり、例えば名詞の複数形と、動詞の異なる時制と、当該語の異なる品詞などである。例えば英文単語「jump」の関連語は「jumps」、「jumping」、「jumped」などを含む。関連語リストはポインター方式で実現してもよく、つまり一つの単語対象はそれに関連付けられるそのほかの単語対象をポイントしてもよい。関連語情報を残しておく目的は、ユーザが一つの単語からそれに関連付けられる単語を素早く選択するためである。例えば、ユーザは、「jump」が候補語において現れることを見た場合、ある予め指定した動作により（例えば単語上で下にスライドする）システムに全ての関連語を表示させ、その中から選択する。
【００６０】
文脈関連規則は、当該単語のよくある連語組み合せと文法基準などの文脈に関連する情報を含む。例えば、単語「look」の文脈関連規則は「look at」、「look forward to」、「look for」などのよくある連語組み合わせを含んでもよい。また、例えば、単語「am」の文脈関連規則は「I am」などのよくある連語組み合わせを含んでもよい。また、例えば、単語「of」の文脈関連規則は、「その後に続く語は名詞又は動名詞でなければならない」という文法規則を含んでもよい。これらの情報があれば、システムは文脈により候補語の優先順位をインテリジェント判断することができる。
【００６１】
本実施例において、文脈関連規則は関連語の間においても互いに発効してもよい。例えば、文脈関連規則には「look forward to」がある場合、文には「looking」が現れても、「forward to」に関連付けられ、それは「looking」が「look」の関連語だからである。
【００６２】
代替え書式は当該単語のある表現形式であり、例えば、「asap」は「as soon as possible」の略語形式であり、ユーザが「asap」を入力すれば、システムは「as soon as possible」に自動的に対応することができる。したがって「as soon as possible」は単語対象「asap」の代替え書式である。また、例えば、ユーザが「dont」を入力すると、自動的に「don’t」に訂正することができ、それは単語対象「dont」が代替え書式「don’t」を含むからである。その場合、単語対象「dont」は実際には索引である。一つの単語は代替え書式がある場合、候補語モジュールは代替え書式を優先的に出力してもよい。
【００６３】
図９は、入力シーケンスに基づき、辞書から対応する単語対象を候補語として探すステップ（ステップ９０１）と、誤り訂正文字グループにおける文字を含む候補語を誤り訂正候補語としてマークするステップ（ステップ９０２）と、候補語に対応する関連語リストを探すステップ（ステップ９０３）と、候補語に対応する代替え形式を探すステップ（ステップ９０４）と、候補語を優先順位にソートするステップ（ステップ９０５）とを含み、本実施例に係る候補語を生成する方法を示す。
【００６４】
ステップ９０１について、候補語モジュール４０４は配列マッピングモジュール４０２から得られたこれまで各回のキー押しに対応する文字集合により構成された入力シーケンスを可能な候補語として組み合わせる。理論上、入力シーケンスの全ての文字の順列組合せを計算し、辞書モジュールに存在する全ての既知単語を選び出せば、候補語リストを構成することができる。しかし、実際には、一回のキー押しでは可能な文字を複数含む可能性があり、複数回のキー押しで形成する可能性がある文字シーケンスはさらに多くなる。全ての文字シーケンスの順列を全部求めた後、辞書を調べるとすれば、入力シーケンスの長さが増えることに伴って、計算量が非常に大きくなる。したがって、本発明の好ましい候補語探し方法は辞書トリーの特徴を利用して、トリーのノードを検索することにより可能でない文字シーケンスを素早く排除する。例えば、ユーザの１回目のキー押しの文字集合は（「a」、「s」）であり、２回目のキー押しの文字集合は（「b」、「n」）であり、３回目のキー押しの文字集合は（「t」、「y」。「u」）である場合、三回のキー押しの文字シーケンスの組合せは２＊２＊３＝１２個である。最初の２回のキー押しによる可能な文字シーケンスの「ab」、「an」、「sb」、「sn」を解析すると、辞書には「sb」というシーケンスが先頭となる単語が存在しない（経路は空）ことが分かるので、「ab」、「an」、「sn」とその後の三つの文字との組み合わせのみを考えればよい。さらに解析すると、三つの文字の全ての順列において、「ant」、「any」、「aby」、「abu」のみが単語又は単語の先頭部となる可能性がある。したがって実際の可能な組み合わせは１２個よりずっと少ない。ユーザのキー押しの回数が増えることに伴って、理論上文字シーケンスの可能な組み合わせが増えるにもかかわらず、このような方法により、可能でない経路を排除し続けるので、計算量が常に低いレベルに保つ。
【００６５】
ステップ９０２について、入力シーケンスが誤り訂正文字グループを含む場合、ステップ９０１で探した候補語には誤り訂正された単語が含まれるので、それを誤り訂正されていない普通の候補語と区別するために、それを誤り訂正候補語としてマークする。統計によると、ユーザがキーを正しく押す確率は間違ってあるキーを押す確率より高い。したがって、後の優先順位ソートにおいて、誤り訂正候補語の優先順位が普通の候補語より低くくなてもよい。
【００６６】
ステップ９０４について、探した代替え形式が元の候補語に代わって、候補語リストに追加されてもよい。
【００６７】
ステップ９０５について、候補語探しモジュール４０４は候補語を優先順位にソートする必要がある。優先順位に影響する要素は、文脈関連規則、統計使用頻度、候補語の長さなどを含んでもよい。まず、優先的に文脈関連規則を考えてもよい。例えば、前文で「look forward」を入力すると、その後で入力されるのは、「to」と接近し且つ同様に使用頻度が高い「go」ではなく、「to」である可能性が大きい。その場合、候補語の文脈関連規則と現在のテキスト位置の前文および後文とを照合することにより、もしある候補語が前文および後文と連語の組み合わせを形成すれば、当該候補語の優先順位を高めることができる。そして、システムは単語の当該言語における統計使用頻度を考えてもよく、使用頻度が高いほど、現れる確率が大きいので、優先順位が高い。また、候補語の長さがユーザのキー押し回数と等しく又は接近する場合、当該語の優先順位が高められる。ある候補語には誤り訂正文字が含まれる場合、その優先順位が低下してもよい。一つの好ましい実施例において、最終的な優先順位は複数の要素により重みを付けて計算することにより得られる。
【００６８】
図４に戻り、入力モジュール４０６は候補語リストをユーザへ表示させる。本発明のある実施例において、関連語を有する候補語について、特別な状態でマークするとともに、ユーザが当該単語の関連語の選択モードに入るようにショートカットを定義してもよい。例えば、図２Ａを参照すると、単語「compare」の下方に一つの矢印があり、それの関連語リストが見つかったことを表す。ユーザが「compare」上で下にタッチポイントをスライドすれば関連語選択モードに入ることができる。本発明のある実施例において、誤り訂正候補語について、異なる書式でマークすることにより区別することができる。
【００６９】
本発明の一つの実施例によると、ユーザがある候補語を確認しそれをテキスト領域に入力した後、候補領域には次の一つ又は複数の現れる可能性がある語を表示する。図２Ｃを参照すると、ユーザが「look」を入力した後、候補領域には次の語に対する予測である「forward to」、「at」、「into」、「for」が現れる。それは、単語対象「look」の文脈関連規則には連語組み合わせである「look forward to」、「look at」、「look into」、「look for」を有するからである。ユーザが候補語「look」を確認した後、候補語モジュール４０４は当該単語の文脈関連規則からこれらの規則を見出し、「look」の後の部分を候補語として候補領域に表示する。
【００７０】
本発明の一つの実施例によると、ユーザがある候補語を確認し、それをテキスト領域に入力した後、その関連語の連語組み合わせも候補領域に現れてもよい。図２Ｄを参照すると、ユーザが「I’m looking」を入力した後、候補語領域には次の語に対する予測である「forward to」、「at」、「into」、「for」が現れてもよい。それは、単語対象「looking」の関連語リストには「look」を有し、候補語モジュールは関連語に対応する文脈関連規則から対応する連語組み合わせを探し、候補領域に表示するからである。
【００７１】
図１０は、ユーザによる信号入力を待つステップ（ステップ１００１）と、現在のキー配列に応じて、ユーザの入力した信号を、前記ユーザの入力する、対応する可能性がある文字を含む一つの文字集合に変換するステップ（ステップ１００２）と、前記文字集合を現在の入力シーケンスに追加するステップ（ステップ１００３）と、前記現在の入力シーケンスに基づき、候補語を生成し優先順位にソートするステップ（ステップ１００４）と、前記候補語を表示するステップ（ステップ１００５）とを備え、本発明に係る電子機器にテキストを入力するための柔軟なキー配列を実現することが可能である方法を示す。
【００７２】
３、配列の切り替えと動的な調整
柔軟なキー配列設計を有したので、本発明のキーボードシステムは、方法の実現とユーザの使用に影響することなく、随時キー配列を変更することができる。
【００７３】
本発明のある実施例によると、ユーザはある予め定義した操作により、随時キー配列を変更することができる。例えば、タッチパネル上で、ユーザがキーボード領域においてタッチポイントを素早くスライドすると、システムは現在の配列を図１Ａに示すＱＷＥＲＴＹ配列から図１Ｃに示すＡＺＥＲＴＹ配列に動的に切り換えることができる。ハードウエアキーボード付きの機器上で、ユーザがあるショートカットを押すと、システムも同様にキー配列を切り換えることができる。
【００７４】
本発明のある実施例によると、キー配列の切り替え過程において、動画効果により切り替えをさらに自然にすることができる。例えば、図１１Ａを参照すると、ユーザの指がタッチパネル上でのキーボード領域において左から右に移動すると、元のキー配列は左から右に滑らかに移動してフェードアウトし、新たなキー配列は画面の左端から右に滑らかに移動してフェードインする。図１１Ｂは、指が移動する間に、元のキー配列１１０２が途中まで移出し、新たなキー配列１１０３が途中まで移入している状態を示す。図１１Ｃは新たなキー配列が完全に移入した状況を示す。本実施例において、動画効果については、滑らかに入り、移動速度がユーザのタッチポイントの移動速度に応じて決定され、キー配列がユーザの指に動かされるように感じさせてもよい。
【００７５】
図１２は、タッチ型の表示機器に一つのキー配列を表示するステップ（ステップ１２０１）と、ユーザのタッチポイントがタッチパネル上で移動する動作を待つステップ（ステップ１２０２）と、元のキー配列をタッチポイントの移動方向に沿って画面から移出するステップ（ステップ１２０３）と、新たなキー配列をタッチポイントの移動方向に沿って画面に移入するステップ（ステップ１２０４）とを備え、本実施例に係るキー配列を素早く切り替える方法１２００を示す。
【００７６】
本方法の指すキー配列はアルファベットの異なる配列を表すのみならず、複数ページの内容におけるあるページを広義に指してもよい。例えば、符号選択ページには複数ページの選択があり、ユーザは本方法でめくり操作を行ってもよい。
【００７７】
本発明のある実施例によると、ユーザはさらにキー配列を動的に変更し、例えば、キーの位置などを変更してもよい。例えば、図１３Ａにおいて、ユーザが「SPACE」というスペースキー１３０１を押したまま、それをキーボード領域の左下角にドラッグしてから放すと、当該キーは図１３Ｂに示す新たな位置１３０２に配置される。同時に、キー配列はそれに応じて更新し、例えばもともとスペースキー上にある数字「8」は数字「6」に変更され、数字の連続性を保つ。
【００７８】
図１４は、タッチ型の表示機器に複数のキーを表示するステップ（ステップ１４０１）と、ユーザが一つのキーを押したままタッチポイントを移動する動作を検出するステップ（ステップ１４０２）と、ユーザがタッチポイントを放す位置を検出するステップ（ステップ１４０３）と、キー配列を調整し、前記キーを前記タッチポイントを放す位置に対応する位置に調整し、更新されたキー配列を表示するステップ（ステップ１４０４）とを備え、本実施例に係るキー配列を動的に変更する方法を示す。
【００７９】
ステップ１４０２について、予めあるキーを移動可能なキーとして設定し、あるキーを移動不可能なキーとして設定してもよい。例えば、図１３Ａにおいて「SPACE」キーは移動可能なキーであり、そのほかのキーは移動不可能なキーである。
【００８０】
ステップ１４０４について、キーの調整後位置は常にタッチポイントを放す位置の辺りのある予め定義した位置にあってもよい。例えば、ユーザがタッチポイントを放す位置は、図１３Ｂにおける「SPACE」キーに覆われる領域又はその周囲からのＸ画素を超えない範囲以内（Ｘは所定の値でよい）にある場合、対応する調整後位置は全て画面の一番左下角のキー位置となる。
【図１Ａ】
2015028784.tif 000003
【図１Ｂ】
2015028784.tif 000004
【図１Ｃ】
2015028784.tif 000005
【図１Ｄ】
2015028784.tif 000006
【図１Ｅ】
2015028784.tif 000007
【図２Ａ】
2015028784.tif 000008
【図２Ｂ】
2015028784.tif 000009
【図２Ｃ】
2015028784.tif 000010
【図２Ｄ】
2015028784.tif 000011
【図３】
2015028784.tif 000012
【図４】
2015028784.tif 000013
【図５】
2015028784.tif 000014
【図６】
2015028784.tif 000015
【図７】
2015028784.tif 000016
【図８】
2015028784.tif 000017
【図９】
2015028784.tif 000018
【図１０】
2015028784.tif 000019
【図１１Ａ】
2015028784.tif 000020
【図１１Ｂ】
2015028784.tif 000021
【図１１Ｃ】
2015028784.tif 000022
【図１２】
2015028784.tif 000023
【図１３Ａ】
2015028784.tif 000024
【図１３Ｂ】
2015028784.tif 000025
【図１４】
2015028784.tif 000026
【手続補正書】
【提出日】平成26年8月28日(2014.8.28)
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
キーボード入力に基づく入力方法であって、
毎回のキー押し入力を少なくとも１つの文字集合にマッピングし、毎回取得された前記文字集合には現在のキー押し入力に対応する可能性がある全ての文字が含まれ、
辞書から前記文字集合における文字毎に関連付けられるノードを検索することで、毎回の入力で取得された文字集合に次々にわたって、不可能な経路を排除し、単語ノードを探し、
前記辞書における根ノードから下へ単語ノードに達する経路が経由したノードに対応する文字によって、文字シーケンスを構成し、
該文字シーケンスによって、前記ユーザの入力に対応する入力結果を取得する
ことを特徴とする入力方法。
【請求項２】
i回目の入力により取得された文字集合における各文字はそれぞれ前記辞書におけるi層目の１つのノードに対応し、前記辞書のi層目の単語ノードは辞書における対応単語のi番目の文字に関連付けられる
ことを特徴とする請求項１に記載の入力方法。
【請求項３】
前記辞書から文字集合における文字毎に関連付けられるノードを検索することで、毎回の入力で取得された文字集合に次々にわたって、不可能な経路を排除し、単語ノードを探すことは、i回目の入力で取得された文字集合について、前記辞書における根ノードから下へのi層目で前記文字集合における文字毎に関連付けられるノードを探すことと、文字毎に関連付けられるノードが単語ノードであるか否か又は存在しないノードであるか否かを判断することと、存在しないノードについて、前記辞書における根ノードから該ノードまでの文字シーケンスを含む組み合せを全て排除することとを実行することを含む
ことを特徴とする請求項２に記載の入力方法。
【請求項４】
前記毎回のキー押し入力を少なくとも１つの文字集合にマッピングすることは、前記現在のキー押しに対する入力動作と現在のキー押しのキーボード配列パラメータによって、現在のキー押し入力に対応する文字集合を取得することを含む
ことを特徴とする請求項３に記載の入力方法。
【請求項５】
前記キーボード配列パラメータは、キー毎のキーボード配列領域における位置と、キー毎における文字定義及び文字表示位置領域と、ユーザの異なる動作に応じて入力された文字グループとを含む
ことを特徴とする請求項４に記載の入力方法。
【請求項６】
前記ユーザの現在の入力動作と現在のキーボード配列パラメータに対応する文字集合は、
現在のキーボード配列パラメータによって、ユーザの現在のファジー入力操作に対応する文字グループを含むファジー入力文字グループと、
現在のキーボード配列パラメータによって、ユーザの現在の正確入力操作に対応する文字グループを含む正確入力文字グループと、
現在のキーボード配列パラメータによって、設定する誤り訂正範囲内における少なくとも１つのキーに対応する文字を含む誤り訂正入力文字グループと、
の１つ又は組み合わせを含む
ことを特徴とする請求項５に記載の入力方法。
【請求項７】
前記ファジー入力文字グループは、ユーザの現在のファジー入力で操作するキーにおける全ての可能な文字集合を含む
ことを特徴とする請求項６に記載の入力方法。
【請求項８】
前記誤り訂正範囲はユーザが現在で操作するキー周辺のキーを含み、前記周辺のキーは、全ての隣接するキーと、上下隣接するキーと、左右隣接するキーと、２つのアルファベットおいてのキーとの１種又は複数種を含む
ことを特徴とする請求項６に記載の入力方法。
【請求項９】
前記ファジー入力文字グループ又は前記正確入力文字グループ又は前記誤り訂正入力文字グループは、アルファベットと、アルファベットのキャピタルレターと、アクセント文字と、ユーザ自己定義アルファベットの関連形式と、数字と、符号との１種又は複数種の形式を含む
ことを特徴とする請求項６に記載の入力方法。
【請求項１０】
前記ユーザの現在の入力動作と現在のキーボード配列パラメータに対応する文字集合を取得することは、さらに前記キーボード配列パラメータの少なくとも１つのパラメータが更新された場合、更新された配列パラメータによって対応する文字集合を取得することを含む
ことを特徴とする請求項６に記載の入力方法。
【請求項１１】
キーボードに基づいて入力する装置であって、
毎回のキーボードのキー押し入力を少なくとも１つの文字集合にマッピングする配列マッピングモジュールと、
少なくとも１つの文字からなる単語を複数記憶する辞書モジュールと、
前記文字集合に従って辞書から探索し、前記文字集合における各文字はそれぞれ前記辞書における１つのノードに対応することと、辞書から前記文字集合における文字毎に関連付けられるノードを検索することで、毎回の入力で取得された文字集合に次々にわたって、不可能な経路を排除し、単語ノードを探すことと、前記辞書における根ノードから下へ単語ノードに達する経路が経由したノードに対応する文字によって、文字シーケンスを構成することと、前記文字シーケンスによって、前記ユーザの入力に対応する入力結果を取得することとを実行する候補語モジュールと、
を含むことを特徴とする装置。
【請求項１２】
前記辞書モジュールはトリー構造で単語を記憶し、前記辞書のi層目の単語ノードは辞書における対応単語のi番目の文字に関連付けられる
ことを特徴とする請求項１１に記載の装置。
【請求項１３】
前記候補語モジュールは、i回目の入力で取得された文字集合について、
前記辞書における根ノードから下へのi層目で前記文字集合における文字毎に関連付けられるノードを探すことと、文字毎に関連付けられるノードが単語ノードであるか否か又は存在しないノードであるか否かを判断することと、存在しないノードについて、前記辞書における根ノードから該ノードまでの文字シーケンスを含む組み合せを全て排除することと
を実行することを特徴とする請求項１２に記載の装置。
【請求項１４】
前記配列マッピングモジュールは、現在のキーボード配列パラメータによって、毎回のキー押し入力を文字集合にマッピングし、前記キーボード配列パラメータは、キー毎のキーボードにおける位置と、該キー毎に表示される文字と対応位置領域と、異なるキー押し入力動作に対応する文字グループとの少なくとも１つのデータを含む
ことを特徴とする請求項１３に記載の装置。