(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0015】
本発明による実施例を詳しく説明する前に、以下のことに注意すべきであり:前記実施例は主に、電子機器にテキストを入力することに関連する方法ステップおよび機器モジュールの組み合せにある。したがって、前記機器モジュールおよび方法ステップは、既に図面において通常符号により適当な位置で示されたとともに、本発明を読んだその分野の当業者にとって自明である詳細により本公開内容が不明瞭になることをしないように、本発明を理解する実施例に関連する詳細のみを示した。
【0016】
本文において、左と右、上と下、前と後、第1と第2といった関係術語はただ、一つの実体又は動作ともう一つの実体又は動作とを区別するためであり、必ずしもこのような実体又は動作の間になんら実際のこのような関係又は順序があることを要求又は示唆するわけではない。「含む」、「備える」という術語又はなんらそのほかの変形は、排他的でない含みを包含する趣旨であるので、一連の要素を含む過程、方法、物品又は機器はこれらの要素を含むのみならず、明確に挙げていないそのほかの要素、或はこのような過程、方法、物品又は機器に固有の要素を含む。
【0017】
本公開の目的から見れば、「キーボード」という術語は広義に定義され、特定領域を有するなんらの入力部品を含み、ハードウエア機械式キーボード、ハードウエア誘導式キーボード、タッチパネルにおけるソフトウエアキーボードなどを含むが、それらに限定されない。本発明の実施例は、タッチパネルにおけるソフトウエアキーボードを例として説明するが、その分野の当業者は、本発明に言及された方法およびシステムをハードウエアキーボードにも適用できることが考えられる。
【0018】
1、基本機能及び操作
図1Aは本発明に係る柔軟なキー配列を実現することが可能であるキーボードシステム100およびそのキャリア携帯機器101を示した。ユーザはキーボード110上でキーを押した後、その入力内容はテキスト領域102に表示される。キーボード110はQWERTY配列であり、26個のアルファベットと、数字と、符号と、スペースキーとを含み、キー毎に三つの文字を表すことができる。
図1Bはもう一つの配列のキーボード120を示し、ワンキーQWERTY配列であり、キー毎に一つの文字を表し、2つのキーの間に数字と符号があってもよい。
図1Cはもう一つの配列のキーボード130を示し、AZERTY配列であり、キー毎に三つの文字を表すことができる。
図1Dはもう一つのキーボード140を示し、9キー配列であり、キー毎に3〜4個のアルファベットと1個の数字を表すことができ、携帯電話キーボードに広く応用されている。
図1Eはユーザ自己定義配列のキーボード150を示し、キー毎に三つの文字を表すことができ、文字の内容と順序は、ユーザの使用習慣に応じて定められる。
【0019】
本公開の目的から見れば、図面符号が複雑すぎることを避けるために、以下には各キー配列における各キーの1行目の中央文字で各キーを表す。例えば、キー「qw」で
図1Aにおけるキーボードの一番左上角のキー111を表し、キー「p」で
図1Bにおけるキーボードの一番右上角のキー121を表し、キー「wx」で
図1Cにおけるキーボードの一番左下角のキーを表し、キー「wxyz」で
図1Dにおけるキーボードの一番右下角のキー141を表す。同一の図面においてこの方法によって定義した重複のマークが現れた場合、番号マークで区別して、当該表し方の唯一性を確保する。
【0020】
なお、本発明に記載された方法は、英語以外のそのほかの語種、そのほかのキー配列にも適用でき、且つアルファベット、数字、符号の具体的な内容と位置も任意に変更することができる。
【0021】
図1Aに戻り、ユーザがキーボード入力領域上でのキーをクリックし打鍵シーケンスを発生するときに、システムは候補の単語を候補領域103に表示させるとともに、テキスト領域にデフォルトの候補語が表示される。ユーザが候補語をクリックする、又は確認キー(例えばスペースキー又はある句読点)を押すと、選択された単語はテキスト領域102に入力される。
【0022】
例えば、
図1Aにおいて、ユーザが順にキー「ty」、キー「ui」、キー「er」を押すと、システムは辞書におけるこのキーシーケンスに対応する全ての単語を見出し、それらをソートして候補領域103に表示させる。単語「tie」、「turn」、「tired」、「yield」は最高の使用頻度を有するので、候補語リストの1ページ目に表示される。その中で「tie」は同時にデフォルトの候補語としてテキスト領域にも表示され、特別な書式(例えばアンダーライン)でまだ確認されていないテキストとして示される。ユーザがスペースキーを押すと、当該候補語が確認され、テキストに入力される。ユーザがキーを押すときに各キーの表す具体的な文字を明確に指定せず、辞書により候補語とマッチングするので、「ファジー入力」と称する。
【0023】
本発明のある実施例によると、ユーザは正確に入力を行うこともできる。例えば、
図1Aを参照すると、タッチパネルのキーボード110上で、ユーザはキー「ty」を押したまま左に移動してから放し、アルファベット「t」を正確に入力することができ、キー「ui」を押したまま右に移動してから放し、アルファベット「i」を正確に入力することができ、キー「er」を押したまま右に移動してから放し、アルファベット「r」を正確に入力することができる。このときにシステムが見出したのは全て、「tired」、「tiring」、「tire」、「tirade」という、先頭が「tir」の単語である。
【0024】
本発明のある実施例によると、ユーザはタッチポイントを下にスライドすることによりキーの下方の符号又は数字を入力することができる。例えば、
図1Aを参照すると、ユーザはキー「gh」上でタッチポイントを下に移動すれば、数字「3」が入力される。このように、ユーザは専用の数字モード又は符号モードに切り換える必要がなくなる。
【0025】
また、例えば、
図1Bを参照すると、ユーザは、キー「q」又はキー「s」又はその中間領域で下にタッチポイントをスライドし、両者の間の符号「;」を入力してもよい。
【0026】
本発明のある実施例によると、符号と数字も単語の一部となってもよい。例えば、「I’m」、「I’ll」、「let’s」、「C++」、「part-time」などである。ユーザは、別の符号モードに切り換えることなく、同一のキーボードモードで符号又は数字を容易にファジー入力することができる。例えば、
図1Aを参照すると、キーボード110上で、シングルクォーテーションマーク「'」がキー「ui」にあり、ユーザは順にキー「ui」、キー「ui」、キー「m/」を押せば、システムは単語「I’m」を見出し候補領域に表示することができる。
【0027】
本発明のある実施例によると、ユーザがキー配列を変更しようとするときに、例えば
図1AのQWERTY配列を
図1Dの9キー配列に変更するときに、予め定義した動作だけで、素早く切り換えることができる。例えば、タッチパネルのキーボード上で、ユーザは指をキーボード領域の左端から右端に素早くスライドすれば、QWERTY配列は右に移動し画面の右端から移出し、9キー配列は画面の左端から入り、滑らかな動的効果を発生する。同様に、ユーザは
図1Bに示すワンキーQWERTY配列、又は
図1Cに示すAZERTTY配列、又は
図1Eに示すユーザ自己定義配列に切り換えてもよい。配列切り換えの方式は、複数の種類があってもよく、ユーザの手振りを検出してもよく、一つの特定のキーを用いてもよく、音声コントロールを利用してもよい。このような切り換え過程において、システムの配列と辞書探索機能とが互いに独立するので、同じ辞書ファイルとソフトウエアを用いてもよい。
【0028】
小さいキーボード領域上で、ユーザが入力するときにいつも隣接するキーを押すので、本発明の好ましい実施例によると、辞書に基づき、このような誤りを自動訂正することができる。
図1Bにおいて、ユーザがキー「t」を押そうとするときに、間違ってキー「f」を押しやすい。システムはキー「f」の周囲のアルファベット「r」、「g」、「d」、「v」を探索し、ユーザによるこの前の入力に基づき可能な正確単語を判断する。本発明の実施例において、たとえユーザの入力したアルファベットを全て間違っても、システムは正確な単語を見出す可能性がある。例えば、ユーザは「v」、「i」、「p」、「l」を入力したが、システムはユーザに候補語「book」を与えることができ、それは「v」、「i」、「p」、「l」がそれぞれ「b」、「o」、「o」、「k」の隣接するアルファベットだからである。なお、アルファベットの位置が大きく離れる場合に、誤り訂正の範囲を広くする必要がある(例えば2つのキーおいて誤り訂正する)。しかし誤り訂正の範囲を広くする副作用は、候補語の数が増えることである。この矛盾を解決するために、本発明の好ましい実施例において誤り訂正範囲がユーザの好みに応じて調節することができる。ユーザはあるアルファベットを基準として、例えば、全ての隣接するアルファベットにおいて誤り訂正する、又は左右隣接するアルファベットのみにおいて誤り訂正する、又は上下隣接するアルファベットのみにおいて誤り訂正する、又は2つのアルファベット(例えば「t」と「u」)おいて誤り訂正する、又は誤り訂正しないように、どんな範囲以内に誤り訂正するかを設定することができる。
【0029】
本発明のある実施例によると、候補語の関連語を素早く選択することができる。たとえば、
図2Aを参照すると、候補領域において候補語211である「compare」が現れるときに、ユーザは「compare」上でタッチポイントを下にスライドすれば、キーボード領域において「compare」に対応する関連語、つまり「comparing」、「compared」、「compares」、「comparison」が現れる。ユーザがその中の一つの関連語をクリックすれば、それをテキスト領域に入力することができる。多くの言語において、このような関連語はよくある。例えば、英語における動詞は異なる時制が多くあり、名詞は複数形があり、一つの語は複数種類の品詞がある。本発明の実施例はこれらの語を関連付けることができるので、ユーザは一つの候補語によってそのほかの関連語を取得することができる。
【0030】
本発明のある実施例によると、テキストの文脈によって候補語を関連付け、連語の予測を提供することができる。例えば、
図2Bを参照すると、ユーザが「I」を入力した後、「am」を入力する必要があるが、「m」を入力するときに隣接するキー「bn」を押してしまった。この場合に、システムは文脈関連規則によって、「I am」がよく使う連語であるのを判断することができるので、候補語221である「am」の優先順位をもとの候補語「an」より高くするように調整する。多くの言語において、このような連語、特定の組み合せ、習慣文法の現象はよくある。したがって、一つの単語の現れ確率は当該単語の使用頻度に依存するのみならず、当該単語と文脈との間の組み合せの確率にもっと依存する。この例において、「an」は「am」より使用頻度が高い単語にもかかわらず、Iの後に続くのはほとんど「am」であり、「an」ではない。したがって、文脈によって適当な単語を選択すれば、選択の有効性を高めることができ、ひいては入力の効率を高めることができる。また、例えば、
図2Cを参考して、ユーザが単語231である「look」を入力した後、候補語リストで「look」と組み合わせて連語を形成する候補語である「forward to」、「at」、「into」、「for」を自動的に予測し、ユーザによる選択に供する。
【0031】
本発明のある実施例によると、関連語を基として文脈関連と連語連想を提供することができる。例えば、
図2Dを参照すると、ユーザが「look」の関連語である「looking」を入力した場合にも、候補語領域において「look」に対応する連語組み合わせである「forward to」、「at」、「into」、「for」などを予測することができる。
【0032】
2、システム構成及び原理
図3は本発明を適用した携帯機器300の概略ブロック図を示した。入力装置301と、表示装置302と、記憶装置303は電子回線を介してプロセッサ304に接続される。入力装置301はキーボード又はタッチパネルであってもよく、表示装置302は液晶パネルであってもよく、記憶装置303は、例えばランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、フラッシュメモリ(Flash)、ハードディスクなどといった記憶媒体のいずれかであってもよく、プロセッサ304はCPU又は専用集積回路チップであってもよい。多くの場合には、入力装置301は表示装置302と組み合わせてもよく、例えばタッチパネルであってもよい。記憶装置303はオペレーティングシステム311と本発明に係るキーボードソフトウエア310などの全てのソフトウエアを格納することができ、記憶装置は、例えばテキストエディターなどといったそのほかのアプリケーションプログラム312を選択的に備えてもよい。
【0033】
本発明のキーボードシステムはキーボードソフトウエア310により管理されている。
図4は当該キーボードソフトウエアの好ましいシステム構成400を示した。当該システムは、主に、入力モジュール401と、配列マッピングモジュール402と、設定モジュール403と、候補語モジュール404と、辞書モジュール405と、出力モジュール406とで構成されている。
【0034】
入力モジュール401は、例えばユーザによるキー押し、タッチパネル上でのタッチポイントの動作などといったユーザによる入力を検出するためであり、配列マッピングモジュール402に出力する。配列マッピングモジュールは現在のキー配列に応じて、ユーザの入力を今回の入力に対応する文字集合にマッピングし、候補語モジュール404に出力する。辞書モジュール405は候補語モジュール404に辞書における単語を提供するためである。候補語モジュール404はこれまで各回の文字集合により入力シーケンスを生成し、入力シーケンスに基づき可能な候補語を探し、それらをソートする。出力モジュール406は候補語を一定の方式で機器に出力し、ユーザによる選択に供する。設定モジュール403は例えば誤り訂正を起動するか、文脈を検出するかといったユーザとシステムの設定を記憶し、配列マッピングモジュール402と候補語モジュール404の使用に供する。
【0035】
図5は、ユーザによる入力を待つステップ(ステップ501)と、操作を確認したかを判断するステップ(ステップ502)と、「はい」であれば、テキスト領域において確認した語を入力し、入力シーケンスをリセットするステップ(ステップ503)と、「いいえ」であれば、配列マッピングモジュール402で今回の入力に対応する文字集合を生成するステップ(ステップ504)と、今回入力した文字集合とこの前に入力した文字集合とにより入力シーケンスを構成するステップ(ステップ505)と、候補語モジュールで候補語リストを生成し、優先順位にソートするステップ(ステップ506)と、更新された候補語リストを出力するステップ(ステップ507)とを備える、ユーザが語を選択入力する場合のキーボードソフトウエアメインプログラムのメインフロー500を示す。
【0036】
ステップ502について、入力モジュール401は今回の入力が操作を確認したかを判断する。確認操作はスペースキー又は確認キーを押す(デフォルトの候補語を選定する)こと、又は直接に候補語をクリックすること、又は方向キーにより候補語を選択した後スペースキー又は確認キーを押すこと、句読点を入力することによりデフォルトの候補語を自動的に選定すること、又はそのほかの任意の予め指定した操作であってもよい。
【0037】
ステップ504について、配列マッピングモジュール402は現在のキー配列に応じて、今回の入力を対応する文字集合にマッピングすることができる。当該文字集合には、今回の入力に対応する可能性がある全ての文字が含まれる。例えば、ユーザが
図1Aに示すQWERTYキー配列においてキー「qw」を押す場合に、文字集合は当該キー上のファジー入力文字「q」、「w」を含む。また、誤り訂正を起動するように設定する場合に、文字集合には、さらに、例えば「a」、「s」、「e」といった隣接するキー上の文字を含んでもよい。
【0038】
ステップ505について、候補語404は今回入力した文字集合を入力シーケンスに追加することができる。例えば、
図1Aに示すQWERTYキー配列において、ユーザが順番にキー「ty」、キー「ui」、キー「er」を押した後、入力シーケンスは三回入力した文字集合:{「t」,「y」}、{「u」,「i」}、{「e」,「r」}を含む。その後、候補語モジュール404は種々の可能な組み合せに基づき、辞書モジュール405で例えば「tie」、「turn」などといった可能な候補語を探索することができる。最後に、優先順位に候補語をソートすることができる。ある好ましい実施例において、優先順位が一番高い候補語をデフォルトの候補語として指定し、つまり、ユーザがスペースキー又はそのほかの符号を入力する場合に、デフォルトの候補語がテキスト領域に入力された単語であることを自動的に確認することができる。
【0039】
ステップ506について、出力モジュール406は更新された候補語リストを画面に表示し、ユーザによる選択に供することができる。ある実施例において、デフォルトの候補語をテキスト領域に表示し、特別な書式でハイライトマークしてもよい。
【0040】
以下、
図4に戻り、本実施例における各モジュールの実現方法を詳しく示す。
入力モジュール401はユーザによるキー押し動作を検出し、キー押し毎の関連データを記録し出力する。一回のキー押しの関連データは、
● ユーザがタッチポイントを押す始点位置
● ユーザがタッチポイントを放す終点位置
● ユーザがタッチポイントを移動する軌跡
● ユーザがタッチポイントを保持する停留期間
を含んでもよいが、それらに限定されない。例えば、
図1Aにおいて、ユーザがキー「qw」を押したまま右に移動してから放す場合に、入力モジュール401の出力は、ユーザが当該キーを押す始点座標および当該キーを放す終点座標を含んでもよい。
【0041】
図4に戻り、設定モジュール403はユーザの使用好み、システム動作モードなどを含むシステム運転に関する種々の設定情報、を備える。例えば、ユーザは誤り訂正をオフすることができる。そうすると、隣接するキーを押した全ての誤りは誤り訂正されない。また、ユーザは、上下隣接するキーを押す誤りのみの訂正、左右隣接するキーを押す誤りのみの訂正、周辺隣接するキーを押す誤りの訂正、または2層隣接するキーを押す誤りの訂正(例えば
図1Bに示すワンキーQWERTY配列上で「g」を押す場合に、「d」、「f」、「h」、「j」まで訂正することができる)といった誤り訂正のレベルを選択することができる。設定モジュール403はオプショナルである。
【0042】
図4に戻り、配列マッピングモジュール402は主に三つの機能を有する。
配列マッピングモジュール402の第1の機能は、例えばキーボードに何の文字があるか、何の文字が一つのキーに複合されたか、如何にキー上での文字を正確に選択するかなどといった、異なるキーボードの種々の配列パラメータを定義し記憶するものである。例えば、
図1Aにおいて、アルファベット「q」、「w」と、符号「;」とが一つのキー「qw」を多重使用する。
図6はメモリでキー「qw」を示すデータ構造を示し、その中で
● 当該キーのキー配列上での位置とサイズ
● 当該キーに表示された文字及びその対応位置領域:「q」、「w」、「;」
● ユーザの異なる動作に対応して入力された文字グループ:
○ クリックした後直接に放す:ファジー入力「q」、「w」、「;」
○ 上に移動する:ファジー入力「q」、「w」のキャピタルレター(「Q」、「W」)
○ 左に移動する:正確入力「q」
○ 右に移動する:正確入力「w」
○ 左上に移動する:正確入力「Q」
○ 右上に移動する:正確入力「W」
○ 下に移動する:正確入力「;」
といったフィールドを含んでもよい(それらに限定されない)。
【0043】
正確入力の方式は複数種類がある。一つの好ましい方式は、ユーザによるタッチポイント移動に基づき、正確入力の文字を判断する方式である。もう一つの好ましい方式は、あるキーを長く押した後、当該キー上での複数の文字を展開し、ユーザによる選択に供する方式である。例えば、
図1Aにおいて、ユーザがキー「as」を予定期間以上長く押した後、当該キーボードは
図7に示す正確入力モードとなり、当該キーの表す全ての文字グループ701を表示し、ユーザによる選択に供する。選択した後、
図1Aの初期モードに戻る。西ヨーロッパの言語において、このような方式は「aaaaa」などのアクセント文字を選択することができる。
【0044】
なお、当該データ構造の各フィールドは必要に応じて削減や補正してもよく、本発明の実質に影響しない。例えば、キーを押した後、ユーザに現在の入力を思いつかせるための拡大された図を、キーの上方に表示するかどうかを示すためのフィールドを追加してもよい。また、例えば、キーの位置又はサイズが固定である場合、当該キーのキーボード領域上での位置とサイズの情報フィールドを省略してもよい。同時に、ユーザの異なるタッチ動作の定義も拡張することができる。例えば、「ユーザが当該キーをX秒以上長く押す」ことを定義した対応入力を追加してもよく、その中でXは設定できる値であってもよい。また、例えば、「ユーザが当該キーをダブルクリックする」ことを定義した対応入力を追加してもよい。
【0045】
これにより、異なるキー押し動作は異なる文字集合に対応することができる。
【0046】
配列マッピングモジュール402の第2の機能は、用いる可能性がある全てのキー配列を記憶し必要に応じて切り換えるものである。ある時点では、現在アクティブなキー配列は一つしかない。それは、ユーザがキーボード入力領域で見える現在のキー配列である。
【0047】
本発明の好ましい実施例において、ユーザはタッチパネル上での手振りにより現在のキー配列を切り替えてもよく、ハードウエアキーボード上でのある特定のキーにより現在のキー配列を切り換えてもよい。
【0048】
配列マッピングモジュール402の第3の機能は、現在のキー配列に応じて、ユーザによるオリジナルの入力を、今回の入力に対応する可能性がある文字集合にマッピングするものである。一つの好ましい文字集合のデータ構造はファジー入力文字グループと、正確入力文字と、誤り訂正文字グループとを含んでもよい。
【0049】
例えば
図1Aに示すQWERTY配列において、ユーザがキー「qw」を押し且つ直接に放した後、当該モジュールはまず入力モジュール401からタッチポイントの座標を取得し、現在の配列に応じてキー「qw」を押したことを判断した。クリックした後直接に放す動作であるので、キー「qw」の配列データに基づき、それに対応するファジー入力文字グループが(「q」、「w」、「l」、「;」)であることが得られる。設定モジュール403から現在の誤り訂正設定を読み取り、それが垂直誤り訂正であると、現在の配列から下方の文字「a」と「s」を誤り訂正文字として取得する。その結果、今回のキー押しにおいて、配列マッピングモジュール402の出力文字集合は、ファジー入力文字グループ(「q」、「w」、「l」、「;」)と、正確入力文字(空)と、誤り訂正入力文字グループ(「a」、「s」)である。
【0050】
また、例えば、
図1Dに示す9キー配列において、キー「jkl」に対応する配列情報は以下のように示す。
【0051】
● 当該キーのキー配列上での位置とサイズ
● 当該キーに表示された文字及びその対応位置領域:「j」、「k」、「l」、数字「5」、句点「.」
● ユーザの異なる動作に対応して入力された文字グループ:
○ クリックした後直接に放す:ファジー入力「j」、「k」、「l」、「5」
○ 長く押す:SHIFTモードに入る(コンピュータのキーボード上でSHIFTキーを押したままのように)
○ 左に移動する:普通モードでは、「j」を正確に入力する;SHIFTモードでは、「J」を正確に入力する
○ 右に移動する:普通モードでは、「l」を正確に入力する;SHIFTモードでは、「L」を正確に入力する
○ 上に移動する:普通モードでは、「k」を正確に入力する;SHIFTモードでは、「K」を正確に入力する
○ 下に移動する:普通モードでは、句点「.」を正確に入力する;SHIFTモードでは、「5」を正確に入力する
ユーザがキー「jkl」をクッリクした後直接に放す場合、配列マッピングモジュール402はキー「jkl」の上記配列情報を得る。今回の動作は、クリックした後直接に放すことであるので、ファジー入力文字グループは(「j」、「k」、「l」、「5」)である。また、設定モジュール403における誤り訂正設定は左右誤り訂正であるので、誤り訂正文字グループはキー「jkl」周辺の隣接する文字グループ(「m」、「i」)である。
【0052】
ユーザがキー「jkl」上で左に移動した後長く押した場合(又は長く押した後左に移動した)、今回のキー押しにおいて一つの長く押す動作を含むので、SHIFTモードに切り替え、正確入力文字は(「J」)であり、ファジー入力文字グループは(空)である。設定モジュール403の設定情報によると、正確入力が空でない場合、システムは誤り訂正する必要がない。したがって誤り訂正文字グループも(空)である。
【0053】
これにより、配列マッピングモジュール402は、ユーザの入力を、キー配列に依存しない文字集合に効果的に切り換えるので、その後の候補語モジュール404は配列の相違に応じてソフトウエア又はデータ構造を変更する必要がない。キー配列が変更された後、それに応じて配列マッピングモジュール402の得る配列情報も変更されたので、それに伴って出力した文字集合も変更された。
【0054】
独立したキー配列設計を有したので、キー配列は、なんらのシステムの機能に影響することもなく、携帯メーカーにより予め定義され、又はユーザにより自己定義されることができる。例えば、ユーザは、キーの配列と、キー毎に対応する文字と、動作に対応する文字グループとを自己定義することにより、自分の使用習慣に適するキー配列をエディットすることができる。同時に、異なる言語バージョンの入力方法も異なるキー配列に対応することができる。
【0055】
図4に戻り、候補語モジュール404は今回の入力に対応する文字集合を入力シーケンスに追加することにより、辞書モジュール405における対応する単語を探し、一定の規則(例えば単語の使用頻度、文脈連語、関連語など)に基づき候補単語を優先順位にソートした結果、候補語を出力モジュール406に出力する。
【0056】
その分野の当業者は、辞書の構造が、例えばデータベースに記憶され、又はトリー構造で記憶されるといった複数の実現方式を用いることが可能であると考えられる。それに応じて、辞書から可能な候補語を探す方法も複数ある。
【0057】
以下、本システムのフィージビリティーを完全に示すために、素早く単語を探すことができる辞書実現方法を例示するが、本発明はこのような方法に依存しない。当該方法は、
図8に示すように、辞書における単語をトリー構造で並べる。トリー状辞書における各ノード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である。その中で1番目のアルファベットaに対応するノードはトリーの1層目にあり、2番目のアルファベットpに対応するノードはトリーの2層目にあり、最後のアルファベットeのノードは単語ノードであり、その文字シーケンスは「apple」である。このようなトリー構造のメリットは、一つの特定のアルファベットシーケンスが辞書にある一つの単語であるか、および当該単語に対応するノードを素早く見出すことができるものである。
【0058】
各単語ノードはそれぞれ一つの単語対象に対応してもよいが、単語対象のデータ構造は辞書構造に対して独立するのである。一つの単語対象は、単語の統計使用頻度と、関連語と、文脈関連規則と、代替え書式などといった情報を含んでもよい。単語の統計使用頻度は一つの数値、例えば数字1〜8のいずれかで表してもよく、8は一番よく使う語を表し、1は一番よく使わない語を表す。統計使用頻度は、候補語を優先順位にソートするときに重要な要素として考えてもよい。そのほかの要素を考えない場合、使用頻度が高いほど、単語の優先順位が高い。
【0059】
単語の関連語は当該単語に関連付けられる単語であり、例えば名詞の複数形と、動詞の異なる時制と、当該語の異なる品詞などである。例えば英文単語「jump」の関連語は「jumps」、「jumping」、「jumped」などを含む。関連語リストはポインター方式で実現してもよく、つまり一つの単語対象はそれに関連付けられるそのほかの単語対象をポイントしてもよい。関連語情報を残しておく目的は、ユーザが一つの単語からそれに関連付けられる単語を素早く選択するためである。例えば、ユーザは、「jump」が候補語において現れることを見た場合、ある予め指定した動作により(例えば単語上で下にスライドする)システムに全ての関連語を表示させ、その中から選択する。
【0060】
文脈関連規則は、当該単語のよくある連語組み合せと文法基準などの文脈に関連する情報を含む。例えば、単語「look」の文脈関連規則は「look at」、「look forward to」、「look for」などのよくある連語組み合わせを含んでもよい。また、例えば、単語「am」の文脈関連規則は「I am」などのよくある連語組み合わせを含んでもよい。また、例えば、単語「of」の文脈関連規則は、「その後に続く語は名詞又は動名詞でなければならない」という文法規則を含んでもよい。これらの情報があれば、システムは文脈により候補語の優先順位をインテリジェント判断することができる。
【0061】
本実施例において、文脈関連規則は関連語の間においても互いに発効してもよい。例えば、文脈関連規則には「look forward to」がある場合、文には「looking」が現れても、「forward to」に関連付けられ、それは「looking」が「look」の関連語だからである。
【0062】
代替え書式は当該単語のある表現形式であり、例えば、「asap」は「as soon as possible」の略語形式であり、ユーザが「asap」を入力すれば、システムは「as soon as possible」に自動的に対応することができる。したがって「as soon as possible」は単語対象「asap」の代替え書式である。また、例えば、ユーザが「dont」を入力すると、自動的に「don’t」に訂正することができ、それは単語対象「dont」が代替え書式「don’t」を含むからである。その場合、単語対象「dont」は実際には索引である。一つの単語は代替え書式がある場合、候補語モジュールは代替え書式を優先的に出力してもよい。
【0063】
図9は、入力シーケンスに基づき、辞書から対応する単語対象を候補語として探すステップ(ステップ901)と、誤り訂正文字グループにおける文字を含む候補語を誤り訂正候補語としてマークするステップ(ステップ902)と、候補語に対応する関連語リストを探すステップ(ステップ903)と、候補語に対応する代替え形式を探すステップ(ステップ904)と、候補語を優先順位にソートするステップ(ステップ905)とを含み、本実施例に係る候補語を生成する方法を示す。
【0064】
ステップ901について、候補語モジュール404は配列マッピングモジュール402から得られたこれまで各回のキー押しに対応する文字集合により構成された入力シーケンスを可能な候補語として組み合わせる。理論上、入力シーケンスの全ての文字の順列組合せを計算し、辞書モジュールに存在する全ての既知単語を選び出せば、候補語リストを構成することができる。しかし、実際には、一回のキー押しでは可能な文字を複数含む可能性があり、複数回のキー押しで形成する可能性がある文字シーケンスはさらに多くなる。全ての文字シーケンスの順列を全部求めた後、辞書を調べるとすれば、入力シーケンスの長さが増えることに伴って、計算量が非常に大きくなる。したがって、本発明の好ましい候補語探し方法は辞書トリーの特徴を利用して、トリーのノードを検索することにより可能でない文字シーケンスを素早く排除する。例えば、ユーザの1回目のキー押しの文字集合は(「a」、「s」)であり、2回目のキー押しの文字集合は(「b」、「n」)であり、3回目のキー押しの文字集合は(「t」、「y」。「u」)である場合、三回のキー押しの文字シーケンスの組合せは2*2*3=12個である。最初の2回のキー押しによる可能な文字シーケンスの「ab」、「an」、「sb」、「sn」を解析すると、辞書には「sb」というシーケンスが先頭となる単語が存在しない(経路は空)ことが分かるので、「ab」、「an」、「sn」とその後の三つの文字との組み合わせのみを考えればよい。さらに解析すると、三つの文字の全ての順列において、「ant」、「any」、「aby」、「abu」のみが単語又は単語の先頭部となる可能性がある。したがって実際の可能な組み合わせは12個よりずっと少ない。ユーザのキー押しの回数が増えることに伴って、理論上文字シーケンスの可能な組み合わせが増えるにもかかわらず、このような方法により、可能でない経路を排除し続けるので、計算量が常に低いレベルに保つ。
【0065】
ステップ902について、入力シーケンスが誤り訂正文字グループを含む場合、ステップ901で探した候補語には誤り訂正された単語が含まれるので、それを誤り訂正されていない普通の候補語と区別するために、それを誤り訂正候補語としてマークする。統計によると、ユーザがキーを正しく押す確率は間違ってあるキーを押す確率より高い。したがって、後の優先順位ソートにおいて、誤り訂正候補語の優先順位が普通の候補語より低くくなてもよい。
【0066】
ステップ904について、探した代替え形式が元の候補語に代わって、候補語リストに追加されてもよい。
【0067】
ステップ905について、候補語探しモジュール404は候補語を優先順位にソートする必要がある。優先順位に影響する要素は、文脈関連規則、統計使用頻度、候補語の長さなどを含んでもよい。まず、優先的に文脈関連規則を考えてもよい。例えば、前文で「look forward」を入力すると、その後で入力されるのは、「to」と接近し且つ同様に使用頻度が高い「go」ではなく、「to」である可能性が大きい。その場合、候補語の文脈関連規則と現在のテキスト位置の前文および後文とを照合することにより、もしある候補語が前文および後文と連語の組み合わせを形成すれば、当該候補語の優先順位を高めることができる。そして、システムは単語の当該言語における統計使用頻度を考えてもよく、使用頻度が高いほど、現れる確率が大きいので、優先順位が高い。また、候補語の長さがユーザのキー押し回数と等しく又は接近する場合、当該語の優先順位が高められる。ある候補語には誤り訂正文字が含まれる場合、その優先順位が低下してもよい。一つの好ましい実施例において、最終的な優先順位は複数の要素により重みを付けて計算することにより得られる。
【0068】
図4に戻り、入力モジュール406は候補語リストをユーザへ表示させる。本発明のある実施例において、関連語を有する候補語について、特別な状態でマークするとともに、ユーザが当該単語の関連語の選択モードに入るようにショートカットを定義してもよい。例えば、
図2Aを参照すると、単語「compare」の下方に一つの矢印があり、それの関連語リストが見つかったことを表す。ユーザが「compare」上で下にタッチポイントをスライドすれば関連語選択モードに入ることができる。本発明のある実施例において、誤り訂正候補語について、異なる書式でマークすることにより区別することができる。
【0069】
本発明の一つの実施例によると、ユーザがある候補語を確認しそれをテキスト領域に入力した後、候補領域には次の一つ又は複数の現れる可能性がある語を表示する。
図2Cを参照すると、ユーザが「look」を入力した後、候補領域には次の語に対する予測である「forward to」、「at」、「into」、「for」が現れる。それは、単語対象「look」の文脈関連規則には連語組み合わせである「look forward to」、「look at」、「look into」、「look for」を有するからである。ユーザが候補語「look」を確認した後、候補語モジュール404は当該単語の文脈関連規則からこれらの規則を見出し、「look」の後の部分を候補語として候補領域に表示する。
【0070】
本発明の一つの実施例によると、ユーザがある候補語を確認し、それをテキスト領域に入力した後、その関連語の連語組み合わせも候補領域に現れてもよい。
図2Dを参照すると、ユーザが「I’m looking」を入力した後、候補語領域には次の語に対する予測である「forward to」、「at」、「into」、「for」が現れてもよい。それは、単語対象「looking」の関連語リストには「look」を有し、候補語モジュールは関連語に対応する文脈関連規則から対応する連語組み合わせを探し、候補領域に表示するからである。
【0071】
図10は、ユーザによる信号入力を待つステップ(ステップ1001)と、現在のキー配列に応じて、ユーザの入力した信号を、前記ユーザの入力する、対応する可能性がある文字を含む一つの文字集合に変換するステップ(ステップ1002)と、前記文字集合を現在の入力シーケンスに追加するステップ(ステップ1003)と、前記現在の入力シーケンスに基づき、候補語を生成し優先順位にソートするステップ(ステップ1004)と、前記候補語を表示するステップ(ステップ1005)とを備え、本発明に係る電子機器にテキストを入力するための柔軟なキー配列を実現することが可能である方法を示す。
【0072】
3、配列の切り替えと動的な調整
柔軟なキー配列設計を有したので、本発明のキーボードシステムは、方法の実現とユーザの使用に影響することなく、随時キー配列を変更することができる。
【0073】
本発明のある実施例によると、ユーザはある予め定義した操作により、随時キー配列を変更することができる。例えば、タッチパネル上で、ユーザがキーボード領域においてタッチポイントを素早くスライドすると、システムは現在の配列を
図1Aに示すQWERTY配列から
図1Cに示すAZERTY配列に動的に切り換えることができる。ハードウエアキーボード付きの機器上で、ユーザがあるショートカットを押すと、システムも同様にキー配列を切り換えることができる。
【0074】
本発明のある実施例によると、キー配列の切り替え過程において、動画効果により切り替えをさらに自然にすることができる。例えば、
図11Aを参照すると、ユーザの指がタッチパネル上でのキーボード領域において左から右に移動すると、元のキー配列は左から右に滑らかに移動してフェードアウトし、新たなキー配列は画面の左端から右に滑らかに移動してフェードインする。
図11Bは、指が移動する間に、元のキー配列1102が途中まで移出し、新たなキー配列1103が途中まで移入している状態を示す。
図11Cは新たなキー配列が完全に移入した状況を示す。本実施例において、動画効果については、滑らかに入り、移動速度がユーザのタッチポイントの移動速度に応じて決定され、キー配列がユーザの指に動かされるように感じさせてもよい。
【0075】
図12は、タッチ型の表示機器に一つのキー配列を表示するステップ(ステップ1201)と、ユーザのタッチポイントがタッチパネル上で移動する動作を待つステップ(ステップ1202)と、元のキー配列をタッチポイントの移動方向に沿って画面から移出するステップ(ステップ1203)と、新たなキー配列をタッチポイントの移動方向に沿って画面に移入するステップ(ステップ1204)とを備え、本実施例に係るキー配列を素早く切り替える方法1200を示す。
【0076】
本方法の指すキー配列はアルファベットの異なる配列を表すのみならず、複数ページの内容におけるあるページを広義に指してもよい。例えば、符号選択ページには複数ページの選択があり、ユーザは本方法でめくり操作を行ってもよい。
【0077】
本発明のある実施例によると、ユーザはさらにキー配列を動的に変更し、例えば、キーの位置などを変更してもよい。例えば、
図13Aにおいて、ユーザが「SPACE」というスペースキー1301を押したまま、それをキーボード領域の左下角にドラッグしてから放すと、当該キーは
図13Bに示す新たな位置1302に配置される。同時に、キー配列はそれに応じて更新し、例えばもともとスペースキー上にある数字「8」は数字「6」に変更され、数字の連続性を保つ。
【0078】
図14は、タッチ型の表示機器に複数のキーを表示するステップ(ステップ1401)と、ユーザが一つのキーを押したままタッチポイントを移動する動作を検出するステップ(ステップ1402)と、ユーザがタッチポイントを放す位置を検出するステップ(ステップ1403)と、キー配列を調整し、前記キーを前記タッチポイントを放す位置に対応する位置に調整し、更新されたキー配列を表示するステップ(ステップ1404)とを備え、本実施例に係るキー配列を動的に変更する方法を示す。
【0079】
ステップ1402について、予めあるキーを移動可能なキーとして設定し、あるキーを移動不可能なキーとして設定してもよい。例えば、
図13Aにおいて「SPACE」キーは移動可能なキーであり、そのほかのキーは移動不可能なキーである。
【0080】
ステップ1404について、キーの調整後位置は常にタッチポイントを放す位置の辺りのある予め定義した位置にあってもよい。例えば、ユーザがタッチポイントを放す位置は、
図13Bにおける「SPACE」キーに覆われる領域又はその周囲からのX画素を超えない範囲以内(Xは所定の値でよい)にある場合、対応する調整後位置は全て画面の一番左下角のキー位置となる。