(57)【特許請求の範囲】
【請求項１】
(a) 複数の文字を有する自動訂正キーボード領域をもつタッチ表面を備えるユーザ入力デバイスであって、前記複数の文字の各々が、前記自動訂正キーボード領域の既知の座標を有する場所に対応し、ユーザが前記自動訂正キーボード領域内で前記ユーザ入力デバイスに接触する際に、ユーザが接触した場所が確定し、かつ確定した前記接触場所が、接触場所の現在の入力シーケンスに加えられる、ユーザ入力デバイス、
(b) 複数のオブジェクトを含むメモリであって、前記オブジェクトの各々は、単語、語幹、接頭語または接尾辞を形成する、１つ以上の文字から構成され、かつ各オブジェクトが、さらに、使用頻度に関係づけられている、メモリ、
(c) テキスト表示領域をもつ出力デバイス、および
(d) 前記ユーザ入力デバイス、メモリおよび出力デバイスに結合されているプロセッサであって、
(i) 前記接触入力シーケンスの各々の確定した接触位置に対して、前記接触位置と、前記自動訂正キーボード領域内の1つあるいは複数の文字に対応する前記既知の座標位置との間の1組の距離値を計算する、距離値計算コンポーネントと、
(ii) 生成された各入力シーケンスに対して、メモリ内の前記オブジェクトから任意の候補オブジェクトを識別し、前記現在の入力シーケンス内の全ての確定された接触に対し、前記入力シーケンスの各接触位置から、前記候補オブジェクトに含まれる前記文字に割り当てられている前記既知の各座標位置までの前記計算された距離値を合計し、かつ前記識別された候補オブジェクトに関係する使用頻度に従って重み関数を適用して、各候補オブジェクトのマッチング・メトリック値を計算することにより、前記識別された各候補オブジェクトを評価し、かつ前記計算されたマッチング・メトリック値に基づいて評価された前記候補オブジェクトを順位付けする、単語評価コンポーネントと、
(iii) １つ以上の前記識別されて順位付けされたオブジェクトを前記ユーザに提示し、かつ前記ユーザが、前記出力デバイス上のテキスト表示領域への出力に対し前記提示されたオブジェクトの１つを選択することを可能にする、選択コンポーネント、
を有するプロセッサ、
を備える、テキスト・エントリ・システム。
【請求項２】
(a)メモリ内の複数のオブジェクトの各々が、さらに、1つないし複数のオブジェクトの既定のグループに関係し、
(b) 前記単語評価コンポーネントが、生成された各々の入力シーケンスに対して、マッチング・メトリックがメモリ内オブジェクトの1つまたは複数の候補グループの識別により計算されるオブジェクトの数を制限し、そして1つないし複数のオブジェクトの識別された候補グループに関係した1つないし複数のオブジェクトに対して、各候補オブジェクトに関係する計算された距離値および使用頻度に基づいてマッチング・メトリックを計算し、そして、前記計算されたマッチング・メトリック値に基づいて前記評価された候補オブジェクトを順位付けする、請求項１のテキスト・エントリ・システム。
【請求項３】
当該自動訂正キーボード領域が、1つまたは複数の句読文字に関係した1つまたは複数の既知の位置を含み、当該メモリが、当該自動訂正キーボード領域で位置と関係づけられた1つまたは複数の前記句読文字を含む、メモリ内の1つまたは複数のオブジェクトを含む、請求項１のシステム。
【請求項４】
メモリ内のオブジェクトが、さらに、1つまたは複数のモジュールに関係付けられ、各モジュールが共通の特性をもつ1つまたは複数のオブジェクトを備える、請求項１のシステム。
【請求項５】
前記複数のモジュールが、単語語幹モジュールと接尾辞モジュールを備えるシステムであって、
各単語語幹モジュールが、語尾変化のない語幹オブジェクトの論理構成を備え、および各接尾辞モジュールが、語尾変化する単語を形成するために語幹に添えることができる接尾辞の論理構成を備え、
各単語語幹モジュールが、1つまたは複数の接尾辞モジュールに関係付けられ、
前記単語評価コンポーネントが、所定の単語語幹モジュール中の所定の語幹に対し、入力シーケンス内の最初の接触シーケンスに関し、計算されたマッチング・メトリック値が既定のしきい値より高く順位付けられるように、マッチング・メトリック値を計算する場合は常に、前記単語評価コンポーネントが、関係する前記接尾辞モジュールに関する前記入力シーケンスの残りの接触を評価し、
前記単語評価コンポーネントが、当該関係する接尾辞モジュールの内の1つにある所定の接尾辞であって、事前に確定された第2のしきい値より高く順位付けされている接尾辞に対して、マッチング・メトリック値を計算する場合には常に、当該確定された単語語幹マッチング・メトリック値と当該確定された接尾辞マッチング・メトリック値の関数であるマッチング・メトリック値に対応する完全な単語を形成するために、当該接尾辞が当該語幹に加えられる、
請求項４のシステム。
【請求項６】
前記距離値が、表内に置かれる、請求項１のシステム。
【請求項７】
前記自動訂正キーボード領域上の各位置が、水平および垂直の座標によって定義され、かつ接触位置と文字に対応する前記既知の座標位置の間の距離値が、水平および垂直成分を有し、前記垂直成分が、前記文字からの前記接触位置の距離を計算する際に重み係数によって調整される、請求項１のシステム。
【請求項８】
前記合計された距離値に前記単語評価コンポーネントが適用された候補オブジェクトに対する前記頻度重み関数が、前記距離値の前記合計と前記オブジェクトの順位の基数2の対数との積を有する、請求項１のシステム。
【請求項９】
前記単語評価コンポーネントが、前記入力シーケンスの各接触位置から、前記候補オブジェクトの対応する場所の文字に割り当てられた位置までの計算された前記距離値を合計し、かつ前記オブジェクトに関係した使用頻度に従って重み関数を適用することにより、各候補オブジェクトに対するマッチング・メトリックを計算する、請求項２のシステム。
【請求項１０】
前記自動訂正キーボード領域の既知の位置に対応する個々の文字に対して、1つの領域が1つまたは複数の当該既知の位置のまわりに定義済みであり、定義済みの当該領域内にある入力接触位置と定義済みの当該領域内の既知の文字位置の間の距離が、ゼロとして計算される、請求項１のシステム。
【請求項１１】
前記自動訂正キーボード領域の既知の座標を伴う位置の少なくとも1つが、1つまたは複数の多様な発音区別記号を含む複数の文字に相当し、前記複数の文字が、単一基本文字の変形された形式を有し、かつメモリ内オブジェクトが、それらの正確なアクセントが置かれた文字とともに格納される、請求項１のシステム。
【請求項１２】
前記選択コンポーネントが、テキスト表示領域の候補オブジェクト・リストのユーザによる選択のために識別された1つまたは複数の候補オブジェクトを表示する請求項１のシステム。
【請求項１３】
前記自動訂正キーボード領域の外側の接触に対応づけられる、ユーザが選択した文字が、テキスト表示領域のテキスト挿入位置で、最も高い順位を持つと確定された候補オブジェクトを受け入れかつ出力する、請求項１のシステム。
【請求項１４】
テキスト表示領域のテキスト挿入ポイントで、ユーザが選択して出力したオブジェクトが、前記自動訂正キーボード領域内の次の接触が新しい入力シーケンスを始動するように、現在の入力シーケンスを終了する、請求項１のシステム。
【請求項１５】
前記選択コンポーネントが、前記ユーザによる候補オブジェクトの選択を検知し、そしてオブジェクトが選択されたことを検知すると、前記システムが、実際の接触位置の現在の入力シーケンスを選択されたオブジェクトを有する文字の座標位置に対応する接触位置の入力シーケンスに置き換え、かつ前記自動訂正キーボード領域の次の接触が、前記現在の入力シーケンスに加えられる、請求項１のシステム。
【請求項１６】
前記単語評価コンポーネントが、接触位置の各入力シーケンスの個々の確定された接触位置に対して、文字に対応する最も接近している前記既知の位置を確定し、かつ接触位置の入力シーケンスに対応する順に当該確定された対応する文字から構成されたタイプのままのオブジェクトを構築する、請求項１のシステム。
【請求項１７】
前記選択コンポーネントが、最も高い順位を付けられた候補オブジェクトを識別し、かつ出力デバイス上のテキスト表示領域のテキスト挿入ポイントで識別されたオブジェクトを表示する、請求項１のシステム。
【請求項１８】
前記テキスト・エントリ・システムが削除機能に関連した削除キー領域を含み、前記現在の入力シーケンスが少なくとも1つの接触領域を含み、かつ、当該削除キー領域が接触される時、前記現在の接触入力シーケンスからの最後の入力接触が、前記現在の入力シーケンスを終了せずに削除される、請求項１のシステム。
【請求項１９】
前記テキスト・エントリ・システムが、単語領域機能に関係した単語領域キー領域を含み、
現在の入力シーケンスが存在せずかつ単語領域キー領域が接触される場合であって、
前記出力デバイス上の前記テキスト表示領域の前記テキスト挿入ポイントが、あらかじめ出力された一単語の内に含まれている場合、前記システムが、当該単語の文字に関係した前記座標位置に対応する接触位置のシーケンスからなる新しい現在の入力シーケンスを確立し、かつ
また前記出力デバイス上の前記テキスト表示領域の前記テキスト挿入ポイントが、あらかじめ出力された二単語の間に位置する場合、前記システムが、前記テキスト挿入ポイントに隣接している単語の文字に関係した前記座標位置に対応する接触位置のシーケンスからなる新しい現在の入力シーケンスを確立し、かつ
前記テキスト・エントリ・システムプロセスが、当該新しい現在の入力シーケンスを処理し、かつ新しい候補オブジェクトの対応する順位を確定し、かつ
前記新しい候補オブジェクトの1つの選択により、当該新しい現在の入力シーケンスを確立するために用いられた、前記あらかじめ出力された単語が置き換えられる、請求項１のシステム。
【請求項２０】
各入力接触位置に対して、前記距離値計算コンポーネントが、個々の対応する入力接触位置の座標に関しての個々の選択された単語の各文字に対応する前記座標位置のオフセットの水平及び垂直のコンポーネントの移動平均を計算し、そしてそこで、前記単語評価コンポーネントのための距離計算を実行する際に、前記距離値計算コンポーネントが、符号付き水平及び垂直の計算された平均オフセットの関数である量によって入力された各接触位置の水平及び垂直の座標を調整する、請求項１のシステム。
【請求項２１】
前記プロセッサがさらに、前記自動訂正キーボード領域内のユーザの各接触動作に対して接触点が、タッチ表面から上げられる前に、最初の接触位置からしきい値距離未満だけ移動されたか否かを確定する打けん認識コンポーネントを有し、
前記接触点が、タッチ検知表面から上げられる前に前記最初の接触位置からしきい値距離未満しかだけ移動しないされる場合には、前記打けん認識コンポーネントは、ユーザの接触がタップ接触であると確定し、そして前記ユーザの接触に関係付けられるように確定された位置が、前記距離値計算コンポーネント、前記単語評価コンポーネントおよび前記選択コンポーネントによって処理される接触位置の現在の前記入力シーケンスに加えられ、
前記接触点が、前記タッチ表面から上げられる前に前記最初の接触位置からしきい値距離以上移動する場合、前記打けん認識コンポーネントが、ユーザ接触が、既知のシステム機能に関係する複数のストローク接触のうちの1つであることを確定し、かつ複数の既定の型のストローク接触を分類する、請求項１のシステム。
【請求項２２】
前記プロセッサが、さらに、前記オブジェクトがユーザに選択され、前記出力デバイス上の前記テキスト表示領域に出力するためにユーザにより選択される回数の関数として各メモリ内オブジェクトに関連した使用頻度の調整をするための頻度昇格コンポーネントを有する、請求項１のシステム。
【請求項２３】
前記プロセッサが、さらに、前記ユーザによってオブジェクトが出力デバイス上のテキスト表示領域に出力するために選択される前記ユーザによって選択され回数の関数として、各メモリ内のオブジェクトに関係した使用頻度を調整するための頻度昇格コンポーネントを備える、請求項２のシステム。
【請求項２４】
1つまたは複数のオブジェクトの大文字使用に関する情報が、メモリ内オブジェクトと共に記憶され、前記選択コンポーネントが、前記記憶された大文字使用情報による好ましい形式で大文字が使用された個々の識別されたオブジェクトを表示する、請求項１のシステム。
【請求項２５】
1つまたは複数のメモリ内のオブジェクトが、1つまたは複数の文字あるいは記号のシーケンスを備える2次的なメモリ内のオブジェクトに関係付けられ、前記選択コンポーネントが単語評価コンポーネントによって計算されたマッチング・メトリックに基づいてユーザに呈示される当該オブジェクトのうちの1つを識別する場合、前記選択コンポーネントが、選択のための前記関係する2次的なオブジェクトを示す、請求項１のシステム。
【請求項２６】
(a) 各々が、文字に対応しかつ既知の座標位置に存する複数のキーを備える自動訂正キーボード領域を含む、機械的なキーにより構築されたキーボードを有する、ユーザ入力デバイスであって、ユーザがキーの起動事象を生成するために、既定のしきい値期間内に前記自動訂正キーボード領域の1つまたは複数の隣接したキーを活性化する際に、前記キーの起動事象に対応する確定された位置が、前記キーの起動事象の確定された位置の現在の入力シーケンスに加えられる、ユーザ入力デバイス、
(b) 複数のオブジェクトを含むメモリであって、前記オブジェクトの各々は、単語、語幹、接頭語または接尾辞を形成する１つ以上の文字から構成され、かつ各オブジェクトが、さらに、使用頻度に関係づけられている、メモリ、
(c) テキスト表示領域を備えた出力デバイス、および
(d) 前記ユーザ入力デバイス、メモリおよび出力デバイスに結合されているプロセッサであって、
(i) 入力シーケンス内の生成された各々のキー起動事象位置に対し、キーの前記起動事象位置と、前記自動訂正キーボード領域内の1つまたは複数のキーに対応する前記既知の座標位置との間の距離値を計算する、距離値計算コンポーネントと、
(ii) 生成された各入力シーケンスに対して、メモリ内の前記オブジェクトから任意の候補オブジェクトを識別し、前記現在の入力シーケンス内の全ての確定されたキーに対し、前記入力シーケンスの確定された各位置から、前記候補オブジェクトに含まれる前記文字に対応する前記キーの前記既知の各座標位置までの前記計算された距離値を合計し、かつ前記識別された候補オブジェクトに関係する使用頻度に従って重み関数を適用して、各候補オブジェクトのマッチング・メトリック値を計算することにより、前記識別された各候補オブジェクトを評価し、かつ前記計算されたマッチング・メトリック値に基づいて評価された前記候補オブジェクトを順位付けする、単語評価コンポーネントと、
(iii) １つ以上の前記識別されて順位付けされたオブジェクトを前記ユーザに提示し、かつ前記ユーザが、前記出力デバイス上のテキスト表示領域への出力に対し前記提示されたオブジェクトの１つを選択することを可能にする、選択コンポーネント、
を有するプロセッサ、
を備える、テキスト・エントリ・システム。
【請求項２７】
(a) メモリ内の複数のオブジェクトの各々が、さらに、オブジェクトの1つまたは複数の既定のグループに関係しており、そして
(b) 前記単語評価コンポーネントが、各々の生成された入力シーケンスに対して、マッチング・メトリックがメモリ内オブジェクトの1つまたは複数の候補グループの識別により計算される、オブジェクトの数を制限し、そして、1つまたは複数のオブジェクトの識別された候補グループに関係した1つまたは複数のオブジェクトに対して、各候補オブジェクトに関係した、前記計算された距離値および使用頻度に基づいてマッチング・メトリックを計算し、そしてまた計算されたマッチング・メトリック値に基づいて評価された候補を順位付けする、請求項２６のテキスト・エントリ・システム。
【請求項２８】
アルファベットの文字に関係した前記キーが、ほぼ規格「QWERTY」レイアウトで前記自動訂正キーボード領域に配列される、請求項２６のシステム。
【請求項２９】
キーの起動事象が自動訂正キーボード領域の複数の隣接したキーの同時の起動を有すると検知される場合、当該キー起動事象に対応する位置が、同時に活性化されたキーの位置の関数として確定され、そして、前記キーの起動事象の位置の前記現在の入力シーケンスに当該確定された位置が加えられる、請求項２６のシステム。
【請求項３０】
当該キー起動事象の位置の確定に用いられる前記関数が、同時に活性化された前記キーの位置の中心に対応する前記位置の計算を有する、請求項２９のシステム。
【請求項３１】
当該キー起動事象の位置の確定に用いられる前記関数が、同時に活性化された前記キーの位置の重み付けをされた重心に対応する前記位置の計算を備え、前記自動訂正キーボード領域での前記キーの各々に関係した重み係数が、前記キーに関係づけられた文字の相対出現頻度に対応し、当該相対頻度が、メモリ内オブジェクトの中の文字の出現頻度に関して確定される、請求項３０のシステム。
【請求項３２】
キーの起動事象が、既定のしきい値の期間内に前記自動訂正キーボード領域の複数の隣接したキーの起動を有すると検知される場合、当該キー起動事象に対応する位置は、当該キー起動事象中に検知された、複数の隣接したキーの位置の関数として確定され、そして、前記キーの起動事象の位置の前記現在の入力シーケンスに当該確定された位置が加えられる、請求項２６のシステム。
【請求項３３】
当該キー起動事象の位置の確定に用いられる前記関数が、同時に活性化された前記キーの位置の中心に対応する前記位置の計算を備える、請求項３２のシステム。
【請求項３４】
当該キー起動事象の位置の確定に用いられる前記関数が、同時に活性化された前記キーの位置の重み付けをされた重心に対応する前記位置の計算を備え、前記自動訂正キーボード領域で前記キーの各々に関係した重み係数が、前記キーに関係づけられた文字の相対出現頻度に対応し、当該相対頻度が、メモリ内オブジェクトの中の文字の出現頻度に関して確定される、請求項３３のシステム。
【請求項３５】
当該自動訂正キーボード領域が、1つまたは複数の句読文字に関係づけた1つまたは複数のキーを備え、当該メモリが、当該自動訂正キーボード領域でキーに関係づけた1つまたは複数の句読文字を備える、1つまたは複数のメモリ内オブジェクトを備える、請求項３４のシステム。
【請求項３６】
自動訂正キーボード領域のキーの少なくとも1つが、その1つまたは複数が様々な発音区別記号を有している複数の文字に対応し、複数の文字が単一の基本文字の変形された形式を有し、メモリ内オブジェクトがそれらの正確なアクセントが置かれた文字とともに蓄えられる、請求項２６のシステム。
【請求項３７】
前記選択コンポーネントが、前記テキスト表示領域の候補オブジェクト・リスト中の、ユーザの選択のために識別された1つまたは複数の候補オブジェクトを表示する、請求項２６のシステム。
【請求項３８】
前記選択コンポーネントが、最も高い順位を付けられた候補オブジェクトを識別し、そして前記自動訂正キーボード領域の最も近辺の場所の前記候補オブジェクト・リスト中の識別された前記オブジェクトを表示する、請求項３７のシステム。
【請求項３９】
キーが前記自動訂正キーボード領域内に含まれていない文字に関係付けられるキーの起動が、前記テキスト表示領域の前記テキスト挿入点で選択された前記文字の出力に先立ち、前記テキスト表示領域のテキスト挿入点で確定された最も高い順位が付けられた前記候補オブジェクトを受け取りそして出力する、請求項３７のシステム。
【請求項４０】
前記テキスト表示領域のテキスト挿入点でユーザがオブジェクトを選択して出力すると、現在の入力シーケンスが終了し、前記自動訂正キーボード領域内の次のキーの起動事象が、新しい入力シーケンスを始動する、請求項３７のシステム。
【発明の詳細な説明】
【本発明が属する技術分野】
本発明は、キーボードやスクリーンに接触タッチするときのエラーによる「ぞんざいな」テキスト入力を自動訂正するキーボード・システムを提供する。より明確には、本発明は、タッチパネルかディスプレイ・スクリーン上、および機械的キーボード・システムに実施され、ユーザ・エントリの不正確さ（ぞんざいなテキスト入力）を解決する単語レベル解析を用いた、簡略化されたキーボードを提供する。本発明は、小さな電子デバイス用のキーパッド入力の分野で好ましい。
【従来の技術】
長年の間に、携帯コンピュータはますます小さくなってきている。より小さな携帯コンピュータを生産しようとする試みにおいて、大きさを制限する主要な因子はキーボードである。標準のタイプライタのサイズのキーを用いる場合、携帯コンピュータは、必然的に、キーボードより小さくならない。小型のキーボードが携帯コンピュータ上で使用されて来ているが、小型のキーボードのキーは小さすぎるため、ユーザが容易にあるいは速く、十分な精度で操作できないことが見出されている。
携帯コンピュータに標準サイズのキーボードを組み込むことは、またコンピュータの本来の携帯使用には不利である。ほとんどの携帯コンピュータは、ユーザが両手でタイプできるように、操作時には必ず平坦な作業面に置かれる。ユーザは、立っている時や移動する間に容易に携帯コンピュータを使用することはできない。パーソナル・ディジタル・アシスタンツ（PDA）と呼ばれる最新世代の小型携帯コンピュータの場合、コンピュータメーカは、PDAに手書き認識ソフトウェアを組み込むことによりこの問題に取り組むことを試みてきた。ユーザは、タッチパネルまたはディスプレイ・スクリーンに書くことにより、直接テキストを入力できる。その後、この手書きのテキストは認識ソフトウェアによってディジタル・データに変換される。残念ながら、ペンで活字体あるいは筆記体を書くことがタイピングより全般に遅いという事実に加えて、手書き認識ソフトウェアの精度および速度は、現在に至るまで満足であるとは言い難い。さらに悪いことに、テキスト入力が必要な今日の携帯計算デバイスは、益々、より小さくなっている。2ウェイ・ページング、携帯電話および他の携帯無線技術の近年の進歩により、小さく携帯可能な2ウェイ・メッセージ・システムの需要、およびとりわけ、電子メール（e-mail）を送受信できるシステムの需要が高まっている。
したがって、コンピュータへのテキスト・エントリのために、はるかに小さなキーボードを開発することは有益であろう。キーボードのサイズが小さくなると、ユーザが打とうとする文字を選択することがより困難になる。一般的に、このような携帯デバイスに利用されるキーボードには2つの異なるタイプがある。1つは、指か親指でキーを押し下げることにより起動される1組の機械的なキーからなる、よく知られた機械的キーボードである。しかしながら、これらの機械的キーボードは、タイプライタ、デスクトップ・コンピューターおよび「ラップトップ」コンピュータなどの標準サイズのキーボードより著しく小さくなりがちである。キーボードの物理的な大きさがより小さくなる結果、各キーはより小さくなり、そして隣のキーにより接近する。これにより、ユーザが意図しないキーを押し下げる可能性が増加し、またユーザがより速くタイプしようとするほど、キーストローク・エラーの可能性が増加する傾向がある。
もう1つの一般に用いられる型のキーボードは、ある型のキーボードオーバーレイが印刷されたタッチパネル、あるいはキーボードオーバーレイを表示できるタッチ・ディスプレイ・スクリーンからなる。特定のキーボードの大きさおよび特性によって、指あるいはスタイラスを用いて、パネルまたはディスプレイ・スクリーンのユーザは、起動したいキーに関係づけられた領域に接触することができる。多くの携帯デバイスの場合、大きさが小さくなったため、個々の所望のキーを起動するためにキーボードに接触する際、スタイラスが、十分な精度を保証するために、しばしば使用される。この場合も、このようなキーボードの外形サイズが小さいために、各キーに関係づけられる領域は小さくなり、平均的なユーザが十分な精度で速くタイプすることはきわめて困難である。
機械的キーボードの主要な技術発展の一領域においては、通常のキーボードよりはるかに小さいキーの使用が考慮された。より小さなキーを用いる場合は、ユーザは、各キーの押し下げを制御する際に大きな注意を払わなければならない。1つのアプローチ（米国特許第5,612,690号）では、一次文字（アルファベット）を定義するために4個までの小型のキーを協同して使用し、そして一次文字行間に二次（数のような）文字行を入れ子にするシステムが提案されている。二次文字の選択には、周囲の一次文字の各々からの小型のキーを押し下げることが関係する。この方法により小さなキーをグループ化することにより、4個の隣接した小さなキーから構成されたより大きな明白な仮想のキーが生成され、その仮想のキーは指で押し下げるのに十分な大きさを有する。しかしながら、指は、協同して押し下げられる4つの隣接したキーの間の境界の「十字マーク」上でキーと多かれ少なかれ正確に接触しなければならない。これでは、十分な精度で速くタイプすることは依然として困難である。
タッチ・スクリーンおよび機械的キーボードの両方における主要な技術発展の他の一領域では、標準サイズのキーをはるかに少ない量しか使用しないことが考慮された。より少数のキーでは、個々の単一キーの押し下げを複数の文字に対応付けなければならず、個々のキーの起動によってどの文字を押そうとしているのかが曖昧となる。プッシュホン式の電話のキーパッド・レイアウトによって示唆されるように、各キーが3文字あるいは4文字に対応付けられる場合（米国特許第5,818,437号）、簡略化されたキーボードの多くはキーの3×4配列を使用している。このようなキーボード上のキー・ストローク・シーケンスの曖昧さを解決するために、いくつかのアプローチが提案された。このアプローチは、キーの数が限られたキーボード向きの長所を有している一方、キーの定数が限られた縮小されたサイズのキーボードには適用できない。
タッチ・スクリーン・キーボードのもう1つのアプローチにおいては、ある文字の表示位置の中心に近くないキー・ストロークでどの文字が生成されるかを確定するために直前の何文字かを分析することが考慮された（米国特許第5,748,512号）。キーボードが小さなタッチ・スクリーン上に表示される場合、文字の中心から外れたキー・ストロークが見られる。ソフトウェアは、可能性の有る順序の2文字あるいは3文字の可能なテキスト文字列を、あらかじめタイプされたテキストの履歴あるいは文脈内の頻度で順位付けされたテキスト文字列の辞書のような、既知の組合せと比較する。システムによって生成された文字がユーザの意図した文字でない場合、生成された文字が次のキー・ストロークの確率の確定に使用されるため、ユーザは、次の文字を選択する前に文字を修正しなければならない。
根本的な問題は、キーボードのキーを起動するユーザの特定の試みに起因するある起動が、ユーザの意図と必ずしも正確に一致するとは限らないということである。タッチ・スクリーン・キーボードの場合、ユーザの指またはスタイラスが間違った文字を打つかもしれまたは、あるいはどの特定の文字にも関係づけられていない境界領域のキーの隙間を打つかもしれない。小型の機械的キーボードの場合、あるキーの押し下げ操作で、間違ったキーが起動されるかもしれまたは、あるいは同時に、または速い動作で隣接したキーを起動する「倒れ込み」運動のいずれかで、2個以上のキーが起動されるかもしれない。他の例としては、運動能力が限られているまたはモータ制御しかできないユーザによって操作される通常のキーボードがある。この場合、特別のスペースあるいはキーを打つ能力が一貫して制限されるか、（手足を失った人に用いられる、あるいは手袋をはめた手あるいは手袋をはめた指のような）アームまたは（スタイラスのような）エントリを行うために使用されるデバイスが、目標とされるキーまたは文字スペースよりはるかに大きい。
【課題を解決するための手段】
本発明は、自動的にユーザ・キーストローク・エントリ中の不正確さを修正するために単語レベル明確化を使用する、機能向上したテキスト・エントリ・システムを提供する。特に、本発明は、
(a) 複数のアルファベット文字を有する自動訂正キーボード領域をもつタッチ表面を有し、その複数の文字の各々が前記自動訂正キーボード領域の既知の座標を備えた場所に対応し、ユーザが前記自動訂正キーボード領域内で前記ユーザ入力デバイスに接触するごとに、ユーザが接触した場所が確定し、確定した前記接触場所が現在の接触場所の入力シーケンスに加えられるような、ユーザ入力デバイス複数のアルファベット文字を有する自動訂正キーボード領域をもつタッチ表面を有し、その複数の文字の各々が自動訂正キーボード領域の既知の座標を備えた場所に相当し、ユーザがその自動訂正キーボード領域内でユーザ入力デバイスに接触するごとに、ユーザが接触した場所が確定し、確定した接触場所が現在の接触場所の入力シーケンスに加えられるような、ユーザ入力デバイス、
(b) 各オブジェクトがさらに使用頻度に関連する、複数のオブジェクトを含むメモリ各々が単語を形成する一連の1つまたは複数の文字あるいは単語の一部であり、各オブジェクトがさらに使用頻度に関係づけられた複数のオブジェクトを含んでいるメモリ、
(c) テキスト表示領域をもつ出力デバイス、および
(d) ユーザ入力デバイス、メモリおよび出力デバイスに結合されているプロセッサであって、ユーザ入力デバイス、メモリおよび出力デバイスに連結され、
(i) 接触入力シーケンスの個々の確定した接触位置に対して、接触位置と、自動訂正キーボード領域内の1つあるいは複数1つまたは複数の文字に対応する既知の座標位置との間の1組の距離値を計算する距離値計算コンポーネント、接触の入力シーケンスの個々の確定した接触位置に対して、その接触位置と、自動訂正キーボード領域内の1つあるいは複数の文字に対応する既知の座標位置の間の1組の距離値を計算する距離値計算コンポーネント、
(ii) 生成された各入力シーケンスに対して、メモリ内の1つないし複数の候補オブジェクトを識別し、かつ1つないし複数の識別された候補オブジェクトの各々に対して、前記オブジェクトに関連した計算された距離値および使用頻度に基づいてマッチング・メトリックを計算することにより、識別された各候補オブジェクトを評価し、かつ計算されたマッチング・メトリック値に基づいて評価された候補オブジェクトを順位付けする単語評価コンポーネント、および生成された各入力シーケンスに対して、メモリ内の1つまたは複数の候補オブジェクトを識別し、1つまたは複数の識別されたその候補オブジェクトの各々に対して、そのオブジェクトに関連した、計算された距離値および使用頻度に基づいたマッチング・メトリックを計算することにより、識別された各候補オブジェクトを評価し、また計算されたマッチング・メトリック値に基づいて評価された候補オブジェクトを順位付けする単語評価コンポーネント、そして
(iii)(a) 識別されたオブジェクトをユーザに提示して、
(b) それらの評価された順位に従って1つあるいは複数1つまたは複数の候補オブジェクトを識別し、そして出力デバイス上のテキスト表示領域への出力として示されたオブジェクトのうちの1つをユーザが選ぶことを可能にする選択コンポーネントそれらの評価された順位付けに従って1つあるいは複数の候補オブジェクトを識別し、また、その出力デバイス上のテキスト表示領域への出力として示されたオブジェクトのうちの1つをそのユーザが選ぶことを可能にするための選択コンポーネントを有するプロセッサ、を有するテキスト・エントリ・システムを提供する。好ましくは、選択コンポーネントはさらに、
(c)出力デバイス上のテキスト表示領域に出力のため表示されたオブジェクトのうちの1つをユーザが選択したことを検知すると、接触位置の現在の入力シーケンスを空シーケンスにリセットすることを有する。
(a) 複数のメモリ内オブジェクトの各々がは、さらにオブジェクトの1つないしまたは複数の定義済みのグループに関係し、そして、
(b) その単語評価コンポーネントは、生成された各々の入力シーケンスに対して、マッチング・メトリックがメモリ内オブジェクトの1つあるいは複数1つまたは複数の候補グループの識別により計算されるオブジェクトの数を制限し、そして1つないし複数のオブジェクトの識別された候補グループに関連した1つないし複数のオブジェクトに対して、各候補オブジェクトに関連する計算された距離値および使用頻度に基づいてマッチング・メトリックを計算し、そして、計算されたマッチング・メトリック値に基づいて評価された候補オブジェクトを順位付けする単語評価コンポーネントが、生成された各々の入力シーケンスに対して、それに対するマッチング・メトリックがメモリ内オブジェクトの1つあるいは複数の候補グループの識別により計算されるオブジェクトの数を制限し、そして1つまたは複数のオブジェクトの識別された候補グループに関連した1つまたは複数のオブジェクトに対して、各候補オブジェクトに関連する計算された距離値および使用頻度に基づいたマッチング・メトリックを計算し、そして、その計算されたマッチング・メトリック値に基づいた、評価された候補オブジェクトを順位付けすること、が好ましい。これは、反対に、オブジェクトの1つ以上のグループが、接触の所定の入力シーケンスに対して候補オブジェクトを含んでいないこととして識別されるので、そのように識別されたグループの任意のオブジェクトに対してはマッチング・メトリックの計算を不必要にし、必要な計算が簡略化される。
アルファベットの文字は、ほぼ規格「QWERTY」レイアウトで自動訂正キーボード領域に配列されることが好ましい。また自動訂正キーボード領域の幅対高さの比率は、およそ2：1、あるいは、自動訂正キーボード領域の幅対高さの比率は、2：1未満であることが最も好ましい。一実施例では、1つあるいは複数1つまたは複数の、自動訂正キーボード領域上に配列された文字は不明瞭である。
自動訂正キーボード領域は、1つまたは複数の句読文字に関連した1つまたは複数の既知の位置を含み、メモリが、自動訂正キーボード領域で位置と関係づけられた1つまたは複数のその句読文字を含む、1つまたは複数のメモリ内のオブジェクトを含むことが好ましい。また、メモリ内オブジェクトは、モジュールにさらに対応付けられ、各モジュールは1つまたは複数の共通の特性をもつ1つまたは複数のオブジェクトを有する各モジュールが1つまたは複数の共通の特性をもつ1つまたは複数のオブジェクトを有するモジュールにさらに対応付けられることが好ましい。一実施例では、テキスト・エントリ・システムは、どのモジュールが候補オブジェクトを識別するために単語評価コンポーネントによって評価されるべきかを、ユーザが確定することができるモジュール・セレクタを有するテキスト・エントリ・システムは、それによってどのモジュールが候補オブジェクトを識別するために単語評価コンポーネントによって評価されることになっているか、ユーザが確定することができるモジュール・セレクタを有する。他の一実施例では、複数のモジュールは、各々が語尾変化がない語幹オブジェクトの論理構成を有する語幹モジュール、および各々が語尾変化する単語を形成するために語幹に添えることができる接尾辞の論理構成を有する接尾辞モジュールを有し、各語幹モジュールが、1つまたは複数の接尾辞モジュールに対応付けられ、単語評価コンポーネントは、計算されたマッチング・メトリック値が事前に確定されたしきい値より高く順位付けするように、入力シーケンス内の最初の接触シーケンスに関して所定の語幹モジュール中の所定の語幹に対してマッチング・メトリック値を計算する場合は常に、単語評価コンポーネントが、関連する接尾辞モジュールに関して入力シーケンスの残りの接触を評価し、
単語評価コンポーネントは、第2の事前に確定されたしきい値より高く順位付けするように、関連する接尾辞モジュールの1つの中の所定の接尾辞に対してマッチング・メトリック値を計算する場合には常に、確定された語幹マッチング・メトリック値と確定された接尾辞マッチング・メトリック値の関数であるマッチング・メトリック値に対応する完全な単語を形成するために、接尾辞が語幹に加えられる複数のモジュールは、各々が語尾変化がない語幹オブジェクトの論理構成を有する語幹モジュール、および、各々が語尾変化する単語を形成するために語幹に添えることができる接尾辞の論理構成を有する接尾辞モジュールを有し、それによって、各語幹モジュールが1つまたは複数の接尾辞モジュールに対応付けられ、それによって単語評価コンポーネントは、計算されたマッチング・メトリック値が事前に確定されたしきい値より高く順位付けされるような、入力シーケンス内の最初の接触シーケンスに関しての所定の語幹モジュール中の所定の語幹に対するマッチング・メトリック値を計算する場合に常に、単語評価コンポーネントが、関連するその接尾辞モジュールに関してのその入力シーケンスの残りの接触を評価し、それによって単語評価コンポーネントは、第2の事前に確定されたしきい値より高く順位付けされるような、関連する接尾辞モジュールの1つの中の所定の接尾辞に対するマッチング・メトリック値を計算する場合に常に、確定された語幹マッチング・メトリック値との確定された接尾辞マッチング・メトリック値の関数であるマッチング・メトリック値に対応する完全な単語を形成するために、接尾辞が語幹に加えられる。
単語評価コンポーネントは、入力シーケンスの各接触位置から、候補オブジェクトの対応する場所の文字に割り当てられている位置までの計算された距離値を合計し、かつそのオブジェクトに関連した使用頻度に従って重み関数を適用することにより、各候補オブジェクトのマッチング・メトリックを計算する単語評価コンポーネントは、入力シーケンスの各接触位置から、候補オブジェクトの対応する場所の文字に割り当てられ、オブジェクトに関連したその使用頻度によって重み関数を適用した位置までの、計算された距離値を合計することにより、各候補オブジェクトのマッチング・メトリックを計算することが好ましい。さらに、その自動訂正キーボード領域に関連した前記アルファベットの各文字に、デカルト座標が割り当てられていて、前記距離値計算コンポーネントは、標準のデカルト座標距離分析に従って、前記接触位置と文字に対応する前記位置との間の前記距離を計算する自動訂正キーボード領域に関連したそのアルファベットの各文字は、距離値計算コンポーネントが、標準のデカルト座標距離分析により、接触位置と、文字に対応する位置の間の距離を計算するデカルト座標を割り当てられる。加えて、自動訂正キーボード領域に関連した前記アルファベットの各文字に、デカルト座標が割り当てられていて、かつ前記距離値計算コンポーネントが、前記接触位置と文字に対応する前記位置との間の前記距離を標準のデカルト座標距離の二乗として計算する自動訂正キーボード領域に関連したアルファベットの各文字は、距離値計算コンポーネントが、標準のデカルト座標距離の二乗として、接触位置と、文字に対応する位置の間の距離を計算するデカルト座標を割り当てられる。距離値は表内に置かれる。加えて、自動訂正キーボード領域上の各位置は、水平および垂直の座標によって定義され、かつ接触位置と文字に対応する前記既知の座標位置の間の距離値は、水平および垂直成分を有し、前記垂直成分は、前記文字からの前記接触位置の距離を計算する際に重み係数によって調整される自動訂正キーボード領域上の各位置は、接触位置と、文字に対応する既知の座標位置の間の距離値が、その文字からの接触位置の距離を計算する際に、重み係数によって垂直成分が調整されるような水平および垂直成分を有する水平および垂直の座標によって定義される。単語評価コンポーネントは、候補オブジェクトに関連した使用頻度によって使用頻度に従って重み関数を適用するに先立ち、距離値の合計に増分を加える。その増分値は、文字に対応するその自動訂正キーボード領域上で隣接した位置の間の平均距離のおよそ2倍の一定の値であることが最も好ましい。メモリ内の各候補オブジェクトに関連する使用頻度は、他のメモリ内オブジェクトに関しオブジェクトの順位を有し、より高い相対頻度に関係づけられたオブジェクトは、数の小さい順位に対応するメモリ内の各候補オブジェクトに関連する使用頻度がオブジェクトの順位を有し、他のメモリ内オブジェクトに関してより高い相対頻度と関係づけられたオブジェクトが数の小さい順位に対応する。合計された距離値に単語評価コンポーネントが適用された候補オブジェクトに対する頻度重み関数は、距離値の合計とそのオブジェクトの順位の��数2の対数との積を有する単語評価コンポーネントによって、候補オブジェクトに対する合計された距離値に適用された頻度重み関数が、距離値の合計とオブジェクトの順位の基数2の対数との積を有することが最も好ましい。
メモリ内オブジェクトは、オブジェクトが同じ長さのオブジェクトを有するグループに分類されるようてに記憶されることが好ましい。単語評価コンポーネントは、その入力シーケンスの入力の数と同じ長さのオブジェクトの候補グループを最初に識別することにより、マッチング・メトリックが計算される、オブジェクトの数を制限する。しきい値より良いマッチング・メトリック評点を得たと評価される候補オブジェクトの数がしきい値より少ない場合、単語評価コンポーネントは、次第に長さが長くなるオブジェクトの候補グループを識別し、かつしきい値数の候補オブジェクトが、しきい値よりよいマッチング・メトリック評点を得たと評価されるまで、識別されたそのグループ中のそのオブジェクトに対してマッチング・メトリックを計算するしきい値よりよいマッチング・メトリック評点をとるように評価される候補オブジェクトの数がしきい値より少ない場合、その単語評価コンポーネントは、次第に長さが長くなるオブジェクトの候補グループを識別し、しきい値数の候補オブジェクトが、しきい値よりよいマッチング・メトリック評点を得たと評価されるまで、識別されたそのグループ中のそのオブジェクトに対するマッチング・メトリックを計算することが最も好ましい。さらに、単語評価コンポーネントは、入力シーケンスの各接触位置から、候補オブジェクトの対応する場所の文字に割り当てられた位置まで計算された距離値を合計し、かつ候補オブジェクトに関係付けられた使用頻度に従ってこの合計に重み関数を適用することにより各候補オブジェクトのマッチング・メトリックを計算し、かつ距離値の前記合計に加算された増分は、候補オブジェクト内の文字の数と現在の入力シーケンスの入力の数の差に基づく値である、単語評価コンポーネントは、入力シーケンスの各接触位置から、候補オブジェクトの対応する場所の文字に割り当てられ、また距離値の合計に加えられた増分が、候補オブジェクト中の文字の数と現在の入力シーケンスの入力の数の差に基づく値であるような、増分を加えた位置まで計算された、距離値を合計することにより、およびオブジェクトに関連したその使用頻度によってこの合計に重み関数を適用することにより、各候補オブジェクトのマッチング・メトリックを計算する。
単語評価コンポーネントは、入力シーケンスの各接触位置から、前記候補オブジェクトの対応する場所の文字に割り当てられた位置までの計算された距離値を合計し、かつオブジェクトに関連した使用頻度によって使用頻度に従って重み関数を適用することにより、各候補オブジェクトに対するマッチング・メトリックを計算する単語評価コンポーネントは、入力シーケンスの各接触位置から、候補オブジェクトの対応する場所の文字に割り当てられ、オブジェクトに関連した使用頻度によって重み関数を適用した位置までの計算された距離値を合計することにより、各候補オブジェクトのマッチング・メトリックを計算することが好ましい。また、メモリ内の各候補オブジェクトに関係づけられた使用頻度は、オブジェクトが関係づけられる1つあるいは複数1つまたは複数のメモリ内のサブグループの中の他のオブジェクトに関してオブジェクトの順位を有し、より高い相対頻度に関連したオブジェクトが、数の小さい順位に対応するメモリ内の各候補オブジェクトに関係づけられた使用頻度は、そのオブジェクトが関係づけられる1つあるいは複数のメモリ内のサブグループの中の他のオブジェクトに関してのオブジェクトの順位を有し、より高い相対頻度に関連したオブジェクトが、数の小さい順位に対応することが最も好ましい。さらに、その文字は、入力シーケンスの接触位置の前記場所に対応するオブジェクトのその文字のシーケンス内の場所で生じるメモリ内の各オブジェクトに対し、計算された距離が距離しきい値を超過する状況で、入力シーケンスの接触位置と自動訂正キーボード領域内の文字に対応する既知の座標位置との間の計算された各距離値に対して、そのオブジェクトは、選択に対しユーザへの表示から除外されるオブジェクトとして単語評価コンポーネントによって順位付けされるその文字が入力シーケンスの接触位置の場所に対応するオブジェクトの文字のシーケンスの場所で生じるメモリ内の各オブジェクトに対し、その計算された距離が距離しきい値を超過する、入力シーケンスの接触位置と自動訂正キーボード領域内の文字に対応する既知の上記座標位置の間の計算された各距離値に対して、そのオブジェクトは、選択のためのユーザへの表示から除外されるオブジェクトとして前記単語評価コンポーネントによって順位付けされる。1つまたは複数のメモリ内オブジェクトの識別された候補グループは、ユーザへの選択のための表示から除外されるようなオブジェクトを有し、オブジェクトの1つまたは複数の識別された候補グループの各オブジェクトに対する距離値の計算された合計に含まれる、計算された距離値の少なくとも1つは、距離しきい値を超過する1つまたは複数のメモリ内オブジェクトの識別された候補グループは、オブジェクトの1つまたは複数の識別された候補グループの各オブジェクトに対する距離値の計算された合計に含まれた、計算された距離値の少なくとも1つは、距離しきい値を超過するような、ユーザへの選択のための表示から除外されるオブジェクトを有する。自動訂正キーボード領域は、2つ以上の定義済みのクラスタ領域に分けられ、その各々が1つまたは複数の文字の既知の位置を含んでおり、1つまたは複数のオブジェクトの頭文字に対応する既知の位置を含んでいる2つ以上の定義済みのクラスタ領域によって、メモリ内の各オブジェクトが、定義済みのグループに割り当てられる自動訂正キーボード領域は、各々が1つまたは複数の文字の既知の位置を含んでおり、1つまたは複数のオブジェクトの頭文字に対応する既知の位置を含んでいる2つ以上の定義済みのクラスタ領域によって、メモリ内の各オブジェクトが定義済みのグループに割り当てられるような、2つ以上の定義済みのクラスタ領域に分けられる。一実施例では、前記自動訂正キーボード領域は、3つの定義済みのクラスタ領域に分けられ、メモリ内の各オブジェクトがそのオブジェクトの最初の2文字の各々に対応する既知の位置を含んでいる3つの定義済みのクラスタ領域に基づく9つの定義済みのグループのうちの1つに割り当てられる自動訂正キーボード領域は、メモリ内の各オブジェクトは、オブジェクトの最初の2文字の各々に対応する既知の位置を含んでいる3つの定義済みのクラスタ領域に基づく9つの定義済みのグループのうちの1つに割り当てられる3つの定義済みのクラスタ領域に分けられる。
自動訂正キーボード領域の既知の位置に対応する個々の文字に対して、1つの領域が1つまたは複数の当該既知の位置のまわりに定義済みであり、定義済みの当該領域内にある入力接触位置と定義済みの当該領域内の既知の文字位置の間の距離はゼロとして計算される自動訂正キーボード領域の既知の位置に対応する個々の文字に対して、定義済みの領域内にある入力接触位置と定義済みの領域内の既知の文字位置の間の距離がゼロとして計算される1つの領域が、1つまたは複数の既知の位置のまわりに定義済みであることが好ましい。また、その定義済みの当該領域の相対的なサイズは、定義済みの当該領域内の既知の位置に関連した文字の発生の相対頻度に対応する定義済みの領域の相対的なサイズは、定義済みの領域内の既知の位置に関連した文字の発生の相対頻度に対応することが最も好ましい。その既知の文字位置のまわりの定義済みの領域はタッチ・スクリーン上の表示されたキーに対応する。さらに、自動訂正キーボード領域の既知の座標を伴う位置の少なくとも1つは、1つまたは複数の多様な発音区別記号を含む複数の文字に相当し、その複数の文字は単一基本文字の変形された形式を有し、メモリ内オブジェクトはそれらの正確なアクセントが置かれた文字とともに蓄えられる格納される自動訂正キーボード領域の既知の座標を伴う位置の少なくとも1つは、その複数の文字は、単一基本文字の変形された形式を有し、そしてメモリ内オブジェクトはそれらの正確なアクセントが置かれた文字とともに蓄えられる、1つまたは複数の多様な発音区別マークを含む複数の文字に相当する。
選択コンポーネントは、テキスト表示領域の候補オブジェクト・リストのユーザによる選択のための識別された1つまたは複数の候補オブジェクトを表示する選択コンポーネントは、テキスト表示領域の候補オブジェクト・リストのユーザによる選択のための識別された1つまたは複数の候補オブジェクトを表示することが好ましい。また、選択コンポーネントは、最も高く順位付けされた候補オブジェクトを識別し、自動訂正キーボード領域の最も近辺の場所の候補オブジェクト・リストの識別されたオブジェクトを表示することが最も好ましい。さらに、自動訂正キーボード領域の外側の接触に対応づけられる、ユーザが選択した文字は、テキスト表示領域のテキスト挿入位置で、最も高い順位を持つと確定された候補オブジェクトを受け入れまた出力する。テキスト表示領域のテキスト挿入ポイントで、ユーザが選択して出力したオブジェクトは、自動訂正キーボード領域内の次の接触が新しい入力シーケンスを始動するように、現在の入力シーケンスを終了する。加えて、選択コンポーネントは、候補オブジェクトを選択するために使用される特殊な選択方式を検知し、そしてオブジェクトが特殊方式によって選択されたことを検知すると、システムは、実際の接触位置の現在の入力シーケンスを選択されたオブジェクトを有する文字の座標位置に対応する接触位置の入力シーケンスに置き換え、そして自動訂正キーボード領域の次の接触がその現在の入力シーケンスに加えられる。
単語評価コンポーネントがは、接触位置の各入力シーケンスの個々の確定された接触位置に対して、文字に対応する最も接近しているその既知の位置を確定し、接触位置の入力シーケンスに対応する順に確定された対応する文字から構成されたタイプのままのオブジェクトを構築することが好ましい。また、接触位置の各入力シーケンスに対して、選択コンポーネントがユーザが選択できるように正確なタイプのままオブジェクトを表示することが最も好ましい。さらに、ユーザが、タイプのままオブジェクトを選択して出力デバイスのテキストディスプレイ領域に出力し、タイプのままオブジェクトが既にメモリ内オブジェクトの1つとして含まれていない場合、タイプのままオブジェクトはメモリに追加される。ユーザが選択できるようにタイプのままオブジェクトを表示するに先立って、選択コンポーネントは、その各々が、表示されるために受け入れ可能な代替オブジェクトに関係している好ましくないオブジェクトのデータベースと正確なタイピング・オブジェクトを比較し、また条件のマッチングが見つかる場合、タイプのままオブジェクトをユーザに表示する関連する受け入れ可能なオブジェクトに置き換える。
選択コンポーネントが最も高い順位を付けられた候補オブジェクトを識別し、出力デバイス上のテキスト表示領域のテキスト挿入ポイントで識別されたオブジェクトを表示することが好ましい。また、テキスト・エントリ・システムは、オブジェクト選択機能に関連した選択キー領域を含み、その選択キー領域が接触される時、その出力デバイス上のそのテキスト表示領域のそのテキスト挿入ポイントで表示されたそのオブジェクトが、識別された1つまたは複数のその候補オブジェクトの中で二番目に高い順位を付けられたオブジェクトと置き換えられる、オブジェクト選択機能に関連した選択キー領域を含むことが最も好ましい。
そのテキスト・エントリ・システムは、削除機能に関連した削除キー領域を含み、そこでその現在の入力シーケンスが少なくとも1つの接触領域を含み、抹消キー領域が接触される時、その現在の接触入力シーケンスからの最後の入力接触が、その現在の入力シーケンスを終了せずに削除されることが好ましい。もう1つの好ましい実施例では、テキスト・エントリ・システムは、現在の入力シーケンスが存在せず、に単語編集キー領域が接触される時、単語編集機能に関連した単語編集キー領域を含み、
(i) 出力デバイス上のテキスト表示領域のテキスト挿入ポイントが、あらかじめ出力された一単語の内に含まれている場合、システムは、単語の文字に関連した座標位置に対応する接触位置のシーケンスからなる新しい現在の入力シーケンスを確立し、また
(ii) 出力デバイス上のテキスト表示領域のテキスト挿入ポイントが、あらかじめ出力された二単語の間に位置する場合、システムは、テキスト挿入ポイントに隣接している単語の文字に関連したその座標位置に対応する接触位置のシーケンスからなる新しい現在の入力シーケンスを確立し、
そしてそこでテキスト・エントリ・システムプロセスがその新しい現在の入力シーケンスを処理し、新しい候補オブジェクトの対応する順位を確定し、そしてそこで新しい候補オブジェクトの1つの選択により、その新しい現在の入力シーケンスを確立するのに用いられた、あらかじめ出力された単語が置き換えられる。
自動訂正キーボード領域内の接触動作のシーケンスを実行して、ユーザが入力シーケンスを入力する際に、プロセッサは、ユーザ接触動作によって追従された経路に沿った2つ以上の等間隔の一定の数の接触点の主要な組としてそのシーケンスに各接触動作を記録することにより、各ユーザ接触動作に関連した位置を確定し、そして、2つ以上の可能な主要指標値の各々に対して、各々の接触点の指標付きの記録された主要な組から1つ、同じ指標値をもつ接触点のそのシーケンスを取ることにより、接触点の2つ以上の対応する2次的な組を集めることによって、そして、ユーザによって選ばれて出力される各単語に関して、接触点の集められた補助的な組を識別する極小になる主要指標値を確定することによって、その接触点に対して、接触点の集められたその補助的な組と、選択された単語の文字に対応する既知の位置の間のその計算された距離が極小にされ、そしてそれによってユーザの接触動作の次の入力シーケンスに対して、距離値計算コンポーネントが、確定された極小になる主要指標値に対応する接触動作の次の入力シーケンスから集められた接点位置の補助的な組として確定された接触位置のシーケンスに基づいて距離値を計算することが好ましい。また、複数のユーザ入力シーケンスについて、その距離値計算コンポーネントが、2つ以上の主要指標値に対応する2つ以上のその集められた補助的な組の各々のための距離計算の移動平均を計算し、そしてそれによって接触動作の次の入力シーケンスに対して、距離値計算コンポーネントが、の計算された移動平均に関して確定された、極小になる主要指標値に対応する接触動作の次の入力シーケンスから集められた接点位置の補助的なセットとして確定された接触位置のシーケンスに基づいた距離値を計算することが最も好ましい。さらに、各主要指標値に対して、距離値計算コンポーネントが、個々の対応する記録された指標をつけられた接点の座標位置に関しての関して個々の選択された単語の各文字に対応する座標位置のオフセットの垂直及び水平成分の移動平均を計算し、そしてそこで単語評価コンポーネントのための距離計算を実行する際に、距離値計算コンポーネントが、対応する主要指標値に関して計算された、水平および垂直の平均のオフセットの関数である量によって指標付きの接触点を記録した、各々の水平および垂直座標を調整する。
各入力接触位置に対して、距離値計算コンポーネントが、個々の対応する入力接触位置の座標に関しての関して個々の選択された単語の各文字に対応するその座標位置のオフセットの水平及び垂直のコンポーネントの移動平均を計算し、そしてそこで、単語評価コンポーネントのための距離計算を実行する際に、距離値計算コンポーネントが、符号付き水平及び垂直の計算された平均オフセットの関数である量によって入力された各接触位置の水平及び垂直の座標を調整することが好ましい。代わりに、プロセッサはさらに、自動訂正キーボード領域内のユーザの各接触動作に対し、接触点がタッチ表面から上げられる前に、最初の接触位置からしきい値距離未満だけ移動されたか否かを確定する打けん認識コンポーネントを有し、そしてそれによって
(a) その接触点が、タッチ表面から上げられる前に最初の接触位置からしきい値距離未満だけ移動される場合、打けん認識コンポーネントが、ユーザ接触がタップ接触であると確定し、そしてユーザの接触に対応付けられるように確定された位置は距離値計算コンポーネント、単語評価コンポーネントおよび選択コンポーネントによって処理される接触位置の現在の入力シーケンスに加えられる、そして、
(b) 接触点が、タッチ表面から上げられる前に最初の接触位置からしきい値距離以上移動される場合、打けん認識コンポーネントは、ユーザ接触が対応付けられる既知のシステム機能の1つに関連づけられた複数のストローク接触のうちの1つであると確定し、また、複数の定義済みの型のストローク接触を分類する。
入力シーケンスの接触位置のしきい値数が所定の候補オブジェクトを有する文字シーケンス内の対応する文字からの最大のしきい値距離より大きい場合、そのオブジェクトはもはやその選択コンポーネントのための候補オブジェクトでないと識別されることが好ましい。代わりに、プロセッサはさらに、そのオブジェクトがユーザに選択されその出力デバイス上のそのテキスト表示領域に出力される回数の関数として各メモリ内オブジェクトに関連した使用頻度の調整をするための頻度昇格コンポーネントを有する。さらに、各オブジェクトに関連した使用頻度は、他のメモリ内オブジェクトに関するオブジェクトの順位を有し、そこでより高い相対頻度をもつオブジェクトが、より数の小さい順位に相当し、そしてそこでオブジェクトがユーザに選択され出力される場合、その頻度昇格コンポーネントが、調整に先立ったそのオブジェクトの順位の関数である量によって選択されたオブジェクトが関連づけられた順位を調整する。さらに、選択されたオブジェクトに関連づけられる順位が調整されるその量を確定するために、その頻度昇格コンポーネントによって使用される関数は、相対的に高い使用頻度に対応付けられる順位のオブジェクトに対する量を減らす。頻度昇格コンポーネントは、既にテキスト・エントリ・システムのメモリ内のオブジェクトのなかに含まれていない、ファイルに含まれる新しいオブジェクトを識別するテキスト・エントリ・システムにアクセス可能な付加的な情報ファイルを分析し、そしてそこでその新しく識別されたオブジェクトは、低い使用頻度に対応付けられるオブジェクトとしてメモリ内オブジェクトに加えられる。さらに、メモリ内オブジェクトに加えられる、新しく識別されたオブジェクトに関連した使用頻度は、その新しく識別されたオブジェクトが付加的な情報ファイルの分析中に検知される回数の関数として頻度昇格コンポーネントによって調整される。
プロセッサがさらに、ユーザによってオブジェクトが出力デバイス上のテキスト表示領域に選択され出力される回数の関数として各メモリ内オブジェクトに関連した使用頻度を調整するための頻度昇格コンポーネントを有することが好ましい。また、ユーザによってオブジェクトが出力デバイス上のテキスト表示領域に選択され出力される場合、頻度昇格コンポーネントは選択されたオブジェクトに関連した頻度値を相対的に大きな増分だけ増加し、選択されたオブジェクトと同一のグループに関連付けられる未選択のオブジェクトに関連した頻度を相対的に小さな減分だけ減少することが最も好ましい。代わりに、1つまたは複数のオブジェクトの大文字使用に関する情報が、メモリ内オブジェクトと共に記憶され、そしてそこで選択コンポーネントが記憶された大文字使用情報による好ましい形式で大文字が使用された個々の識別されたオブジェクトを表示する。他の一実施例では、1つまたは複数のメモリ内オブジェクトが1つまたは複数の文字あるいは記号のシーケンスを有する補助的なメモリ内オブジェクトに対応付けられ、そしてそこで、選択コンポーネントが、単語評価コンポーネントによって計算されたマッチング・メトリックに基づいてユーザに呈示されるオブジェクトのうちの1つを識別する場合、選択コンポーネントが、選択のための関連する補助的なオブジェクトを示す。
本発明はさらに、
(a) 各々が既知の座標位置でアルファベットおよび各々の文字に対応する複数のキーを有する自動訂正キーボード領域を有する機械的なキーで構築されたキーボードを有し、ユーザがキーの起動事象を生成するために、事前に確定されたしきい値期間内の自動訂正キーボード領域の1つまたは複数の隣接したキーを活性化するごとに、キーの起動事象に対応する確定された位置が、キーの起動事象の確定された位置の現在の入力シーケンスに加えられるユーザ入力デバイス、
(b) 各々が単語を形成する一連の1つまたは複数の文字あるいは単語の一部であり、さらに使用頻度に関係づけられた、複数のオブジェクトを含んでいるメモリ、
(c) テキスト表示領域を備えた出力デバイス、そして
(d)
(i) キー起動事象の入力シーケンスにおける生成された各キー起動事象位置に対し、キーの起動事象位置と、その自動訂正キーボード領域内の1つあるいは複数1つまたは複数のキーに対応するその既知の座標位置の間の距離値を計算する距離値計算コンポーネント、
(ii) 生成された各入力シーケンスに対して、1つまたは複数の候補メモリ内オブジェクトを識別し、そして1つまたは複数の識別された候補オブジェクトの各々に対して、そのオブジェクトに関連した、計算された距離値および使用頻度に基づいたマッチング・メトリックを計算することにより、識別された各候補オブジェクトを評価し、また計算されたマッチング・メトリック値に基づいて評価された候補を順位付けする単語評価コンポーネント、そして
(iii) それらの評価された順位付けにより、1つあるいは複数1つまたは複数の候補オブジェクトを識別し、ユーザに識別されたオブジェクトを表示し、またユーザが、出力デバイス上のテキスト表示領域に示されたオブジェクトのうちの1つを選択して出力することを可能にする選択コンポーネント、
を有し、ユーザ入力デバイス、メモリおよび出力デバイスに連結されたプロセッサ、
を有するテキスト・エントリ・システムを提供する。
(a) 多くの各々のメモリ内オブジェクトが、さらにオブジェクトの1つまたは複数の定義済みのグループに関係しており、そして(b)その単語評価コンポーネントが、各々の生成された入力シーケンスに対して、マッチング・メトリックがメモリ内オブジェクトの1つあるいは複数1つまたは複数の候補グループの識別により計算される、オブジェクトの数を制限し、そして、1つあるいは複数1つまたは複数のオブジェクトの識別された候補グループに関連した1つまたは複数のオブジェクトに対して、各候補オブジェクトに関連した、計算された距離値およびその使用頻度に基づいたマッチング・メトリックを計算し、また計算されたマッチング・メトリック値に基づいて評価された候補を順位付けすることが好ましい。さらに、アルファベットの文字に関連したそのキーは、ほぼ規格「QWERTY」レイアウトでその自動訂正キーボード領域に配列される。
キーの起動事象が自動訂正キーボード領域の複数の隣接したキーの同時の起動を有すると検知される場合、そのキー起動事象に対応する位置が、同時に活性化されたキーの位置の関数として確定され、そして、そのキーの起動事象の位置の現在の入力シーケンスに確定された位置が加えられることが好ましい。また、そのキー起動事象の位置の確定に用いられる関数が、同時に活性化されたそのキーの位置の中心に対応するその位置の計算を有することが最も好ましい。さらに、そのキー起動事象の位置の確定に用いられるその関数が、同時に活性化されたそのキーの位置の重み付けをされた重心に対応するその位置の計算を有し、そこで自動訂正キーボード領域でそのキーの各々に関連した重み係数は、そのキーに関連づけられた文字の相対出現頻度に対応し、相対頻度が、メモリ内オブジェクトの中の文字の出現頻度に関して確定される。
キーの起動事象が事前に確定されたしきい値の期間内に自動訂正キーボード領域の複数の隣接したキーの起動を有すると検知される場合、そこでいつでも、キー起動事象中に、多くの隣接したキーの少なくとも1つは活性化されており、そしてそこでその多くのキーの如何なる部分集合も同時に活性化されるというキー起動事象中にはいつでも、そのキーの同時に活性化された部分集合は、接触して隣接するキーを有し、キー起動事象に対応する位置は、キー起動事象中に検知された、全体の多くの隣接したキーの位置の関数として確定され、そして、そのキーの起動事象の位置のその現在の入力シーケンスに確定された位置が加えられることが好ましい。また、キー起動事象の位置の確定に用いられる関数が、同時に活性化されたキーの位置の中心に対応する位置の計算を有することが最も好ましい。さらに、キー起動事象の位置の確定に用いられる関数が、同時に活性化されたキーの位置の重み付けをされた重心に対応する位置の計算を有し、そこで自動訂正キーボード領域でそのキーの各々に関連した重み係数は、そのキーに関連づけられた文字の相対出現頻度に対応し、相対頻度が、メモリ内オブジェクトの中の文字の出現頻度に関して確定される。
自動訂正キーボード領域が、1つまたは複数の句読文字に関連した1つまたは複数のキーを有し、そこでメモリが、自動訂正キーボード領域でキーに関連させた1つあるいは複数1つまたは複数の句読文字を有する、1つまたは複数のメモリ内オブジェクトを有することが好ましい。代わりに、単語評価コンポーネントは、入力シーケンスの確定された位置から、候補オブジェクトの対応する場所の文字に対応するキーの既知の位置まで計算され、オブジェクトに関連した使用頻度によって使用頻度に従って重み関数を適用した距離値を合計することにより、各候補オブジェクトのマッチング・メトリックを計算する。他の一実施例では、自動訂正キーボード領域のキーの少なくとも1つは、その1つまたは複数が様々な発音区別記号を有している複数の文字に対応し、そこで複数の文字は、単一の基本文字の変形された形式を有する、そしてそこでメモリ内オブジェクトは、それらの正確なアクセントが置かれた文字とともに蓄えられる格納される。
その選択コンポーネントが、そのテキスト表示領域の候補オブジェクト・リスト中の、ユーザの選択のために識別された1つあるいは複数1つまたは複数の候補オブジェクトを表示することが好ましい。また、その選択コンポーネントが、最も高い順位を付けられた候補オブジェクトを識別し、その自動訂正キーボード領域の最も近辺の場所のその候補オブジェクト・リスト中の識別されたそのオブジェクトを表示することが最も好ましい。さらに、キーがその自動訂正キーボード領域内に有されていない文字に対応付けられるキーの起動が、テキスト表示領域のテキスト挿入点で選択された文字の出力に先立ち、テキスト表示領域のテキスト挿入点で確定された最も高い順位を付けられた候補オブジェクトを受け取り出力する。さらに、テキスト表示領域のテキスト挿入点でユーザがオブジェクトを選択して出力すると、現在の入力シーケンスが終了し、自動訂正キーボード領域内の次のキーの起動事象が新しい入力シーケンスを始動する。
本発明はさらに、
(a) 複数のアルファベット文字を有する自動訂正キーボード領域をもつタッチ表面を有し、前記複数の文字の各々が前記自動訂正キーボード領域の既知の座標を備えた場所に対応し、ユーザが前記自動訂正キーボード領域内の前記ユーザ入力デバイスに接触するごとに、ユーザが接触した場所が確定し、確定した前記接触場所が現在の接触場所の入力シーケンスに加えられるような、ユーザ入力デバイスを提供すること、
(b) 各々が単語を形成する一連の一つまたは複数の文字あるいは単語の一部であり、さらに使用頻度に関係づけられた複数のオブジェクトを含んでいるメモリを提供すること、
(c) テキスト表示領域をもつ出力デバイスを提供すること、そして、
(d) ユーザ入力デバイス、メモリおよび出力デバイスに連結され、
(i) 前記接触の入力シーケンスの個々の確定された接触位置に対して、前記接触位置と、自動訂正キーボード領域内の一つあるいは複数の文字に対応する既知の座標位置の間の1組の距離値を計算する距離値計算コンポーネント、
(ii) 生成された各入力シーケンスに対して、メモリ内の一つまたは複数の候補オブジェクトを識別し、また一つまたは複数の識別された前記候補オブジェクトの各々に対して、前記オブジェクトに関連した、前記計算された距離値および使用頻度に基づいたマッチング・メトリックを計算することにより、識別された各候補オブジェクトを評価し、さらに計算された前記マッチング・メトリック値に基づいて評価された前記候補オブジェクトを順位付けする単語評価コンポーネント、そして、
(iii)(a) それらの評価された順位によって一つまたは複数の候補オブジェクトを識別し、(b)ユーザが出力デバイス上のテキスト表示領域への出力に示されたオブジェクトのうちの1つを選べるようにして、識別されたオブジェクトをユーザに提示するための選択コンポーネント、
を有するプロセッサを提供すること、
を有する自動訂正テキスト・エントリ・システムのためのプロセスを提供する。選択コンポーネントはさらに、(c)出力デバイス上のテキスト表示領域に出力のため表示されたオブジェクトのうちの1つをユーザが選択したことを検知すると、接触位置の現在の入力シーケンスを空シーケンスにリセットすることを有することが好ましい。
【発明を実施するための形態】
ユーザのキー・ストローク・エントリは、往々にして不正確であると考えられるので、ユーザがタイプする際に意図した文字列を生成するために、キー・ストロークの特定シーケンスをどのように解釈すべきかと言う点については、ある程度の曖昧さがある。本発明は、ユーザが所望する解釈を容易に選択できるように、単語に対応する個々のキー・ストローク・シーケンスの1つ以上の代替の解釈がユーザに示され、そこで最も妥当と認められる解釈を選択するための特別な動作を必要としないプロセスおよびシステム、つまり発明性のあるソフトウェアを内蔵する装置あるいはデバイスを提供する。このアプローチによって、このシステムは、シーケンスの各文字に対するユーザの妥当な意図は何であったかを確定する際、単語に対応するキー・ストロークの全シーケンスに含まれる情報を利用することができる。
本発明の方法は、米国特許5,748,512によって開示されたような、主要なシステムに関する2つの非常に著しい長所を有する。1つは、この発明のシステムにより、各キー・ストロークに対して意図された文字を確定する際に、その単語の長さ、およびマッチングする可能性がある単語の相対頻度に関する情報を含むデータベースに加えて、先行または後続するキー・ストロークに関する情報も利用することが可能になることである。これは、従来のシステムが利用することができる情報よりはるかに多い情報なので、システムの性能を大幅に向上させる。第2の長所は、ユーザが、各キー・ストロークの直後にシステムが生成する各文字を検査し、かつ受け入れるか拒否するかという作業をせずに、各単語の文字がすべて入力された後に、単語の境界でのシステムによる予測と対話しかつ応答しさえすればよいことである。これはシステムの使用利便性を非常に高める。なぜならばユーザは、これにより、キー・ストローク毎にディスプレイに常に注意を払っておく必要なしに、キーボード上でのテキストのエントリに一層集中することができるからである。もう1つの長所は、このシステムが、ハイフンで結んだ合成語および短縮形のような英単語に一般に埋め込まれているハイフンやアポストロフィのような句読文字にも適応することである。このような埋込まれた句読文字は、英字と関係づけられたキーや文字位置に含まれる、1個以上のキーや文字位置に関係づけることが出来る。
用語の定義
「キーボード」は、キー、個別の機械的なキーあるいは膜状キーのための文字に関係づけられた複数の定義された位置を含む定義された領域を持つタッチ・スクリーンを含む、定義された領域を持つ如何なる入力装置（ただし、これらに限定されない）も含む意味を持つものとする。
「自動訂正キーボード領域」とは、キーボード上で本発明の自動訂正プロセスおよび機能が適用された領域をいう。
「オブジェクト」は、単語、語幹、接頭辞あるいは接尾辞を形成する、1つ以上の文字の連なりを意味するものとする。
「語幹(wordstem)」は「語根」を意味するものとする。例えば、「interestingly」という語は、語根「interest」からなり、これに接尾辞「ingly」が添えられたものである。
「モジュール」はオブジェクトの特性に基づいたオブジェクトの論理構成である。例えば、（1）フランス語の単語は英語の単語に対し異なるモジュールに配置され、（2）動詞語幹モジュールは、各々に1つ以上の接尾辞を添えることが可能な動詞語幹を含んでおり、接尾辞は、動詞語幹モジュールに関連した1つ以上の接尾辞モジュールに含まれ、そして接尾辞モジュールから取り出される接尾辞は、適切に語尾変化する単語を形成するために、動詞語幹モジュールの動詞語幹に添えることができる。
「接触動作」は、第1の接触かつ瞬間からの起動、および、キーボードとの接触が終了する瞬間までに検知される追加された連続した接触点を含む、キーボードと接触する結果になる、ユーザの全体動作を有する。接触動作の例には、スタイラスまたは指により物理的にタッチ・スクリーンに触れてタッチして、スクリーンからスタイラスまたは指を離す前に多少ともスタイラスまたは指を動かすこと、あるいはマウス・カーソルを表示されたキーボード上の場所まで動かし、マウスボタンをクリックし、マウスボタンを離す前に多少ともマウス・カーソルを動かすことがあるが、これらに限定されることはない。
「接触位置」とは、キーボードとの接触という結果に到るユーザの動作に対応して確定される位置のことである。接触位置を確定する方法には、ユーザが最初あるいは最後に接触した、タッチ・スクリーンあるいは同様のデバイス上の点を検出すること、または、マウスボタンが最初に押し下げられた時に表示されたキーボード領域内で、マウス・カーソルの位置に対応して接触位置を確定する、マウス・クリックのようなユーザの動作を検出すること、があるが、これらに限定されることはない。
「距離値計算コンポーネント」は、接触位置と、キーボードの自動訂正領域内の1つ以上の文字に対応する既知の座標位置との間の1組の距離値を計算する。2つの位置の間の距離を計算する方法には、各位置へデカルト座標を割り当て、標準のデカルト座標距離解析により2つの位置の間の距離を計算すること、各位置にデカルト座標を割り当て、標準のデカルト座標距離の二乗として2つの位置の間の距離を計算すること、そして各位置にデカルト座標を割り当て、垂直成分に重み係数を用いて調整を行い、デカルト座標距離解析により2つの位置の間の距離を計算することがあるが、これらに限定されることはない。
「マッチング・メトリック」は、接触入力シーケンスを実行する際に、オブジェクトがユーザの意図にどれだけ対応しているかを推定する手段として、接触位置の入力シーケンスに関するオブジェクトに対して、計算される評点である。例えば、一実施例では、マッチング・メトリックは、入力シーケンスの各接触位置から、所定の候補オブジェクトの対応する場所にある文字に割り当てられた位置までの距離の二乗の和として計算することができ、そして、好ましい実施例の1つにおいては、他の潜在的な候補オブジェクトに対する単語の順位の基数2の対数として計算される頻度補正係数が、距離の二乗の和に乗算される。ここでより高い相対頻度を持つオブジェクトは、低い順位に対応する（つまり、最も頻繁にあらわれるオブジェクトは「1」の場所にある）。この実施例の場合、このように、計算されたマッチング・メトリックの数値が小さいほど、接触点のシーケンスを生成する際に、所定のオブジェクトがユーザの意図に対応すると認められる可能性が高い。
「評価された順位」は、接触点のシーケンスを生成する際に、ユーザの意図にオブジェクトの各々が対応する可能性に応じた1組の候補オブジェクトの相対的な優先順位で、この可能性は、そのオブジェクトに対して計算されたマッチング・メトリックによって確定される。
「キーの起動」には、1番目に押し下げられたキーに始まり、かつそれが押し下げられている時間を含む、機械的キーボードの1個以上の隣接したキーの起動と言う結果になるユーザの一連の動作の間に検出された、起動されたキー全体、および1番目のキーも同時に押し下げられた隣接した如何なるキーの何れも押し下げられていない瞬間までに検出される、1番目に押し下げられたキーに隣接しかつ同時に押し下げられるすべての付加的なキーを含む、事象が含まれるが、これに限定されることはない。
具体例
図1Aには、本発明に従って形成された、簡略化された自動訂正キーボード・システム100が、パームトップ携帯コンピュータ102に組み入まれて描かれている。携帯コンピュータ102は、テキスト表示領域104へ出力されるテキストを生成するために使用される、タッチ・スクリーンディスプレイ103上で実施された、簡略化されたキーボード105を有する。本出願の目的に対し、用語「キーボード」は、キー、個別の機械的キー、または膜状キーに対する定義された領域を持つタッチ・スクリーンを含む定義された領域を有する如何なる入力デバイス（これに限られることはない）も含むように広く定義される。キーボード105は、ほぼ標準の「QWERTY」配置で、アポストロフィと英語のアルファベットの26文字が表示される自動訂正キーボード領域106を有している。キーボード106のアスペクト比（幅と高さの比率）が、標準のコンピュータ・キーボードまたはタイプライタについてはおよそ4:1であるのに対し、この好ましい実施例では2:1未満であることは、注記すべきである。このアスペクト比により、隣接した列の相対的間隔が増加するため、隣接した列の文字同士を識別するシステムの能力が高まる一方で、キーボードの形が正方形に近いほど、スタイラスがキーボードの両端にある文字の間を移動する距離が最小化される傾向があるので、キーボード106は使いやすくする。これにより、ユーザは、より容易に垂直方向で、意図する文字に相対的に近い位置でキーボードに接触することができる。従って、好ましい実施例では、文字からの接触点の距離は、水平成分に対して距離の垂直成分の相対的な重みを増加させる方法を使用して計算される。
キーボードは、非常に小さいか、非常に大きくてもよく、任意のサイズでよい。例えば、1cm×0.5cmほどの小さなスペースに実施された、英語のアルファベットの26の文字をすべて含む自動訂正キーボードは、小さなプラスチックスタイラスで全く問題なく使用可能であることが判明している。このサイズのキーボードとして具体化する時、標準の「QWERTY」レイアウトのようなよく知られたキー配置を使用してもよい。このキー配置を用いるならば、明確なキーボード・スペースの各文字の相対的な位置が、そのような標準配置に精通しているユーザによく知られているので、明瞭に表示された文字を含むことは必要ではない。この代わりに、ユーザのために点のような非常に小さなラベルを各文字位置に表示させてもよい。
本発明のもう1つの側面に従うと、文字の内部の論理的表現は、自動訂正キーボードで実際の文字のラベルによって表される物理的な配置を反映する必要はない。例えば、フランス語の語いモジュールを表すために構築されたデータベースの場合、アクセント記号が付された文字&Acirc;および&Agrave;を、機械的キーボードかタッチ・ディスプレイ・スクリーン上に実施されたキーボード上の文字位置に、明示的にラベルされたキーとして見える、アクセント記号のない文字Aに対応付けることも出来る。フランス語の語いモジュールに収録された単語は、アクセント記号がない文字に関連したキーまたは文字位置に十分近い入力接触点に基づいて、正確に綴られた形式を自動的に生成することができるように、所定の単語がアクセント記号のついている文字によりまたはついていない文字により綴られるべきかを確定するために必要な情報を含んでいる。これは、適切なアクセント記号を含む正確な綴りで単語をタイプするための特別なタイピング技術、付加的なキーまたは付加的なキー・ストロークが、要求されないので、しばしばアクセント記号のついた文字が用いられるフランス語のような言語のための重要な長所となる。
図1Aに示す好ましいキーボードは、特定の機能の実行あるいは特定の文字の生成に関連した6個の付加的なキーを含んでいる。これらのキーには、シフトキー108、スペースキー110、バックスペースキー112、単語編集キー114、記号モード・キー116、リターンあるいはエンターキー118、代替キーボードモード・キー120およびテンキーモード・キー122がある。これらのキーの機能は図1Bとともに論じられる。
テキストは、自動訂正キーボード106上でのキー・ストロークを介して、キーボード・システムにより生成される。ユーザが、キーボードを使用してキー・ストローク・シーケンスを入力すると、テキストが、コンピュータ・ディスプレイ103上に表示される。2つの重なりあう領域がディスプレイ上で定義され、その各々がユーザへの情報を表示する。上部の出力テキスト領域104は、ユーザによって入力されたテキストを表示し、テキスト入力と編集用のバッファとして使われる。図1Bに示される好ましい実施例では、テキスト領域104の上に重なる単語選択肢リスト領域150が、ユーザに入力されたキー・ストローク・シーケンスに対応する単語や他の解釈のリストを提供する。単語選択肢リスト領域150は、入力したキー・ストロークの不正確さをユーザが訂正するのを助ける。他の一実施例では、表示領域が限られたデバイスにシステムを実施してもよく、かつデフォルトあるいは最も妥当な単語オブジェクトのみを、生成されたテキストの挿入ポイント107に表示してもよい。
もう1つの好ましい実施例では、本発明のキーボードは、キーボード・デバイスを使用して実施される。このようなデバイスの例としては、パーソナルコンピュータに使用される標準のデスクトップ・キーボード、または、英語とラテン文字を用いる他の言語の場合には、少なくとも26個の小さい、密に配置されたキーの、しばしば標準の「QWERTY」レイアウトに並べられたフルセットをもつ、双方向ページャのような、携帯のハンドヘルド電子デバイスにおいて一般に使用される、はるかに小さな機械的キーボードがあるだろう。この実施例は、スクリーンとの物理的な接触を検出することができるポイントが、キーボードの文字に関係づけられた座標の組に正確に対応するようなタッチスクリーンの実施と論理的に同一である。このように、本発明の方法は、そのような機械的キーボードへの実施にもよく適用できる。
しかしながら、機械的キーボードの場合、単一の不正確あるいは誤ったキーの起動が、1つの意図したキー以外のキーを起動させるのみならず、2個以上の隣接したキーを同時かほぼ連続して起動させることも起こり、そこで起動されたキーが意図したキーを含む場合も含まない場合もあり得るという点で、タッチ・スクリーンと異なる特性を有している。このように、本発明のもう1つの側面に従うと、自動訂正キーボードのキー・ストロークのシーケンスは、単一の意図したキー・ストロークが1個以上の隣接したキーを起動するかもしれないという点で、時間および空間の両方のウィンドーを通してフィルターされる。一例としては、ユーザの指が、意図したキーあるいはある特定の単一のキーに整合していない時に、ユーザが2個、3個あるいは4個のキーを押し下げる場合である。このように、受け取られる各キー・ストロークに従い、非常にわずかのタイムアウトしきい値の間のシステム待機の後まで、またはキー・ストロークが隣接していないキーから受け取られるまで、キー・ストロークは処理されない。次のキー・ストロークが隣接したキーに生じる場合、または多数のキー・ストロークが隣接したキーに生じる場合、タイムアウトしきい値の終了前に検出されたキーは、単一のキー・ストローク事象と見なされる。このような場合、「仮想の」接触点は、その「同時に」起動されたキーの組の中心で計算される。この計算された「仮想の」接触点から既知の文字位置（キーの位置はこの場合機械的にキーボードから入力する）までの距離は、物理的センサ（キー）の分解能より細かい分解能をもつ論理的座標軸に内挿することにより計算される。
本発明の他の一実施例では、自動訂正キーボード上のキー・ストロークは離れた文字にはマッチングせず、完成した単語に対応するキー・ストロークの全シーケンスが、代表的な用例集の中に各単語が現れる相対頻度に関する情報を含む、候補単語の辞書にマッチングする。このようにして、このシステムは、しばしば時々の平均より大きなキーストローク・エラーを、また意図した単語が高い相対頻度を持つ場合には相対的に大きな多重のエラーでさえ、正確に補うことができる。このキー・ストローク入力シーケンスの単語レベル解析は、本発明のシステムがユーザのキーストローク・エラーに柔軟に適応することを可能にするための主要な因子である。
このシステムは、キー・ストローク・シーケンスの単語レベル解析によって、ハイフンで結んだ合成語および短縮形のような英単語に一般に埋め込まれているハイフンやアポストロフィのような句読文字を生成することができる。このような埋込まれた句読文字は、英字と対応づけられたキーあるいは文字位置のうちで、自動訂正キーボードに含まれた1個以上のキーあるいは文字位置に対応づけることができる。二つ以上の句読文字が単一のキーに対応付けられている場合、意図した特定句読文字を辞書に含まれた情報に基づいて明確にすることができる。従って、例えば、辞書の単語が、あいまいな句読点キーの領域へのキーの接触に対応する場所にアポストロフィを含んでいる場合、マッチング・アルゴリズムは、自動的に関連する単語を識別し、そしてこのキー・ストロークをアポストロフィと認識するであろう。同時に、このシステムは、辞書内で最もマッチングする単語を確定し、かつハイフンで結んだ合成語が意図された可能性を計算するために、句読点キーの領域のキーの接触に先行あるいは後続するキー・ストローク・シーケンスを別々に解析することができる。タッチ・ディスプレイ・スクリーン上に実施されたキーボードの場合には、一般に使用されない他の記号、数字あるいは他の文字が、好ましくは一連の一時的に表示された表の表示により、個別の記号選択機構に移管される。このような記号表は、自動訂正キーボード領域に隣接して割り当てられたファンクション・キーまたは接触タッチ・エントリ・入力エレメントによってアクセスすることができることが好ましい。機械的キーボードの場合には、これらの他の記号、数字および通常用いられない文字は、しばしば、自動訂正キーボードに含まれない付加的なキーにより処理される。
本発明のもう1つの側面に従うと、入力シーケンスに条件がマッチングする候補単語は、各入力が受け付けられると、ディスプレイ上の訳語選択肢リストによりユーザに提示される。本発明のもう1つの側面に従うと、単語解釈は、マッチング・メトリックによって最も妥当と考えられた単語が、先ずリスト中に現れるように、各候補単語に対して計算されたマッチング・メトリックによって確定された順に表示される。入力シーケンスの提案された解釈のうちの1つを選択することにより、入力シーケンスは終了し、自動訂正キーボード領域内の次のキー・ストロークが新しい入力シーケンスを始動する。さらに本発明のもう1つの側面に従うと、単一語の解釈のみが、ディスプレイの生成されているテキストの挿入ポイントに現れることが好ましい。表示された単語の解釈は、マッチング・メトリックによって最も妥当と認められたものである。特に指定した選択入力を繰り返し起動することによって、ユーザは、表示された単語を、マッチング・メトリックによって確定された順に示された代替の解釈に取り替えてもよい。（システムの実際の出力に対しシーケンスの提案された解釈のただ1つを有効に選んで）、指定した選択入力を一回あるいはそれ以上起動することにより、入力シーケンスも終了するので、自動訂正キーボード領域内の次のキー・ストロークは新しい入力シーケンスを始動する。
本発明のもう1つの側面に従うと、接触点の各入力シーケンスに対して、単語は、各接触点に最も近い文字を識別し、かつ識別された文字のシーケンスからなる単語を構成することにより構築される。その後、この「タイプのまま」の単語は、訳語選択肢リストの中に単語選択肢として示される。この単語は、その後通常の方法で、例えば、訳語選択肢リスト中でそれに接触タッチすることによって、選択される。タイプのままの項目は、例えば、バックスペースキーを押して単語の末端から一度に1文字を抹消して、編集することができる。一旦ユーザがタイプのままの単語を選択すれば、その語は自動的に「受け入れられ」て出力され、構成されている情報に追加される。このように選択された場合、タイプのままの文字列は、将来、タイプのままエントリを最初にエントリする際に必要となるように、単語の各文字に正確に接触する必要なしに、自動訂正キーボードを使用して、それをタイプすることができるように、単語の辞書に含まれる候補に加えてもよい。
図1Bは、ユーザが自動訂正キーボード領域106にキー・ストローク・シーケンスを入力した後に、表示される単語選択肢リスト150の好ましい実施例を示す。単語選択肢リストは、キャンセル・キー152を持つ。キャンセルキーに接触すると、システムは現在の入力シーケンスを廃棄し、単語選択肢リストをクリアし、システムは、単語選択肢リストが重なって見えなかったすべてのテキストあるいはグラフィックスの表示を復活させる。「タイプのまま」の単語154は、これらが、いずれかの語いモジュールのいずれかの単語に対応するか否かにかかわらず、入力シーケンスの実際の接触点に近い文字のシーケンスを示す。図1Bに示される例の場合、タイプのままの単語「rwzt」は英語の単語に対応しない。好ましい実施例の場合、出力にタイプのままの単語を選べば、その単語が適切な語いモジュールにまだ含まれてていない場合、その単語は、自動的に適切な語いモジュールに追加される。デフォルトの単語160（図1Bの例での「text」）は、語いモジュールから得られる単語で、最小のマッチング・メトリック値を持ち（すなわち、この単語がユーザの意図に対応する可能性が最も高い）、かつ好ましい実施例では、自動訂正キーボード領域106に最も近い単語選択肢リストの最下段に示される。同様に、3つの代替の単語選択肢157が、それらの対応するマッチング・メトリック値によって確定された順番にリスト中に示される。
記号モード・キー116、代替文字モード・キー120およびテンキーモード・キー122により、各々、句読文字と記号、アルファベット文字、および数字の対応するキーボードがそれぞれディスプレイ・スクリーンに現れる。そして、ユーザは、表示されたキーボードから1つあるいは複数1つまたは複数の希望の文字を選ぶことができる。単語選択肢リストがこのような代替キーボードの表示に先だって表示されると、代替のキーボードから選択された文字の出力に先立ち、あらかじめ表示された単語選択肢リストのデフォルトの単語が、表示された代替キーボードから任意の文字を選択することによって、出力テキスト領域104に出力される。同様に、単語選択肢リストが、スペースキー110あるいはリターンキー118に接触することに先立って表示されると、デフォルトの単語160が、一個のスペースか改行文字を生成する前に、出力テキスト領域104にそれぞれ流し込まれる。
好ましい実施例では、シフトキー108は、ラッチ型シフトキーとして機能し、それに接触すると、自動訂正キーボード106で次に接触した文字が、英大文字として生成される。もう1つの好ましい実施例では、シフトキー108に二度続けて接触すると、システムは「シフトロック」モードになり、次の起動で「シフトロック」モードがキャンセルされる。バックスペース・キー112は、現在の接触シーケンスが存在する場合には、現在の接触シーケンスから最後の入力接触を抹消し、現在の接触シーケンスが存在しない場合には、出力テキスト領域104中の挿入ポイント107でカーソルの左側の文字を抹消する。現在の入力シーケンスが存在しない場合に、単語編集キー114に接触すると、システムは、挿入ポイント・カーソル107を含む単語、または出力テキスト領域104中の挿入ポイント・カーソル107のすぐ左の単語の文字に関係づけられた座標位置からなる現在の入力シーケンスを作成する。この結果、この単語は、システムに「引き込まれ」、この単語がデフォルトの単語160およびタイプのままの単語154の両方として現れるような単語選択肢リストが生成される。
システム・ハードウェアを明確にする簡略化されたキーボードのブロック図を、図2に示す。タッチ・スクリーン202およびディスプレイ203は、適切な結合回路によってプロセッサ201に接続される。またスピーカ204をプロセッサに接続してもよい。プロセッサ201は、タッチ・スクリーンから入力を受取り、かつディスプレイおよびスピーカへの出力をすべて管理する。プロセッサ201は、メモリ210に接続される。メモリは、ランダム・アクセス・メモリー（RAM）のような一時記憶媒体、およびリード・オンリー・メモリ（ROM）、フロッピー・ディスク、ハード・ディスクまたはCD-ROMのような永久記憶媒体の組合せを有している。メモリ210は、システムの動作を管理するためのソフトウェア・ルーチンをすべて含んでいる。望ましくは、メモリは、オペレーティング・システム211、自動訂正ソフトウェア212、以下で論じられる関連語いモジュール213を含む。メモリは、1つ以上のアプリケーション・プログラム214、215、216を含んでいてもよい。アプリケーション・プログラムの例としては、ワードプロセッサ、辞書ソフトおよび外国語翻訳ソフトがある。アプリケーション・プログラムとして、簡略化された自動訂正キーボード・システムに通信の補助の機能を持たせる音声合成ソフトウェアを用いてもよい。
本発明の別の側面に従うと、各入力シーケンスは、各々が1つ以上の単語を含み、その単語の文字数、および同じ長さの他の言葉に対するその単語の発生の相対頻度といった、各言葉に関する情報を伴う、1つ以上の語いモジュールに対して処理される。これに代えて、所定の単語が含まれる1つ以上の語いモジュールに関する情報を、各単語とともに蓄えることも出来る。各入力シーケンスは、入力シーケンス中の各接触点から、各候補単語の対応する場所の文字に割り当てられた点までの、計算された距離を合計することにより処理され、そこで好ましい方法のうちの1つによって距離が計算される。この全距離は、様々な候補単語を順位付けしユーザに呈示するためのマッチング・メトリックを計算するために、各候補単語に関する頻度情報で統合化される。1つの好ましい実施例では、マッチング・メトリックは、以下のように計算される。エントリ・シーケンス中の各接触点から各候補単語の対応する場所の文字に割り当てられた場所までの距離の二乗が、計算され、そして距離の二乗の合計が、各候補単語に対して計算される。そして、この合計に、1つの好ましい実施例では候補リスト中の単語の順位の基数2の対数として計算される頻度調整係数が、乗算され、ここで、高い相対頻度を持つ単語は、リスト中で「上の」方、数の小さい順位に移動される（すなわち、最も頻繁に現れる単語は順位1にある）。したがって、計算されたマッチング・メトリックの数値が小さいほど、所定の単語は接触点のシーケンスを生成する際にユーザの意図によりよく対応しているとみなすことが出来る。
発明の別の側面では、（エントリ・シーケンス内の各接点から候補単語の個々の対応する文字までの）距離の合計に頻度調整係数を乗算する前に、その合計がその増分と少なくとも同じななるかそれより大きくなるように、一定の増分を合計に加える。これは、その単語がきわめて低い頻度でしか生じない（つまり、高い数値の順位を持っている）にしろ、接触点のシーケンスが偶然所定の単語の綴りに正確に対応する場合に、計算されたマッチング・メトリック値がゼロになる（つまり最も妥当なマッチングがとれる）ことを避けるために行われる。これにより、きわめて頻繁に現れる単語は、不正確な接触点のシーケンスが入力される場合でさえも、よりよいマッチング・メトリックを生成することができる。この好ましい実施例の1つの実施においては、一定の増分値をキーボード内の隣接した文字の間の平均距離のほぼ二倍にすることが、出現頻度の低い単語とのみせかけのマッチングを減らすのに有効であった。本発明の別の側面に従うと、各語いモジュール中の単語は、同じ長さの単語からなるクラスタあるいはファイルにグループ化されて記憶される。各入力シーケンスは、先ず、入力シーケンスの入力の数と同じ長さの単語のグループを探索し、そしてそれらの候補単語を最良のマッチング・メトリック評点により識別することにより処理される。本発明の別の側面に従うと、入力シーケンスと同じ長さで、しきい値より良いマッチング・メトリック評点をもつ候補単語がしきい値数未満しか識別されない場合、システムは、次に、長さN+1の単語のグループ中の各単語の最初のN文字と、N個の入力の入力シーケンスを比較する。このプロセスは、より長い単語のグループを次々に探索し、かつ、各グループ中の各単語の最初のN文字とN個の入力の入力シーケンスを比較して、しきい値の候補単語数が得られるまで継続される。したがって、入力シーケンスより長い生き残った候補単語を、単語の終了形を示す入力シーケンスの可能な解釈としてユーザに提示してもよい。本発明の別の側面では、入力シーケンス中の各接触点から現在の入力シーケンスより長い候補単語の個々の対応する最初の文字までの距離の合計に頻度調整係数を乗算する前に、その合計が、現在の入力シーケンスの長さに正確に一致する長さを持つ単語に対して計算される距離の合計より大きくなるように、第二の一定の増分が合計に加えられる。これは、長さが正確に一致する単語に、相対的に高いマッチング確率を割り当てるためになされる。別の好ましい実施例では、この第2の増分が候補単語と現在の入力シーケンスとの長さの差の関数である。
本発明の別の側面に従うと、語いモジュールの処理効率を向上させるために、自動訂正キーボード領域のタッチパッド上に配置された各文字に、排除境界が割り当てられる。個々のこのような境界が、接触点から文字までの距離が計算されない領域を識別するので、入力シーケンスのその接触点に対するその文字の考慮は不必要になり、距離計算プロセスに必要な演算は減ることになる。いくつかの文字の排除境界は、いくつかあるいはすべての共通の境界セグメントを共有してもよい。共有される境界の例としては、自動訂正キーボード領域の最端部、あるいは自動訂正キーボードを2つ、3つまたはそれ以上の主要なクラスタ領域に細分化するために文字領域を通って引かれた全体的な境界がある。概念的に、これは、この境界の外側の如何なる文字もこの入力点に対する条件がマッチングするとして考慮から排除される、所定の接触点に対して排除境界を考慮することと同一である。例えば、図3は、ほぼ等しいサイズの3つのクラスタ領域301、302、303に垂直に分割される、横長の長方形から成る、自動訂正キーボード領域300を示す。これらの領域は、各文字が3つのクラスタ領域のうちのどれか1つに含まれるように定義される。クラスタ領域は、自動訂正キーボード領域の各接触点に対して、3つの領域のうちの少なくとも1つ、またはしばしば2つが完全にその接触点の排除境界外に位置するように定義される。例えば、領域301の左側の接触点311は、領域302から十分に離れているので、領域302（および領域303）の文字のすべてが、接触点311の排除境界外に位置すると定義することができる。反対に、領域301の右側の接触点312の排除境界は、領域302の1つ以上の文字が境界の内部に位置すると考えられるために、領域302内に拡張されるであろう。その結果、完全に接触点312の排除境界の外側となるただ1つの領域は、領域303になるであろう。領域302の中心にある接触点313の排除境界は、領域301および領域303の両方から十分に離れていると考えられるため、領域301および領域303の両方の領域の文字はすべて境界の外にあると定義することができる。
このようなクラスタ領域は、次いで、システムが、接触点の所定の入力シーケンスに対して1つ以上の語いモジュールの中で最も適当な条件がマッチングする単語を識別する効率を高めるために使用される。上で説明され、図3に描かれた例に続き、そのような領域には9つの順序対が可能であるので、各語いモジュール中の所定の長さの単語は、各単語の最初の二文字のそれぞれが見出されるクラスタ領域に基づいて、9つまでの異なるサブグループに分割することができる。一文字からなる単語の処理に最適化は必要でないことに注意すべきである。なぜなら、計算はほとんど必要または、どの文字も一文字の「単語」として扱えるとはいえ、一文字の単語はきわめて少ないからである。最初の2つの接触点の各々については、クラスタ領域のうちの1つあるいは2つの中の文字を考慮から除外することができ、その結果、如何なる距離計算も実行する必要なしに、除外された領域の文字に関連したサブグループ内の単語のすべてをスキップすることができる。したがって、語いモジュール中の単語の最初の2つの文字の位置に対する3つの領域における全ての文字の頻度分布が、多かれ少なかれ等しいと仮定すると、システムは、第2の接触点を受け取って、（1つのクラスタ領域のみが各接触点に対する考慮から除外される場合には）候補単語の高々4/9から、（2つのクラスタ領域が各接触点に対して除外される場合）最少で候補単語の1/9まで、距離を計算しかつ比較するだけでよい。当業者には明白であるように、この方法は、クラスタ領域の数が多くても少なくても、最初の接触点の数が異なっても使用でき、相応の結果が得られる。例えば、4つのクラスタ領域を使用し、候補単語を最初の2つの接触点に基づいた16のサブグループに分割してもよい。
本発明の別の実施例の場合、文字または機能の部分集合は、自動訂正キーボード外の一意に定義された領域あるいはキーに対応付けられであろう。この場合、これらの領域内のエントリは、例えば、選択された時に明白に一個のスペースを生成するスペースキーのような、特定の文字または機能の明示的なエントリとして解釈される。そのようなキーの定義された組に対して、入力シーケンスの直後で、かつ入力シーケンスに対してシステムによって提示された解釈のうちのいずれかの明示的な選択を実行する前に、そのようなキーを選択することにより、各候補単語に対して計算されたマッチング・メトリックによって最も妥当と認められた入力シーケンスの解釈が自動的に受け入れられる結果になる。入力シーケンスが終了すると、自動訂正キーボード領域内の次のキー・ストロークは、新しい入力シーケンスを始動する。一旦、入力シーケンスの所望の単語の解釈が確定され、かつシーケンスが終了すると、システムは、自動的に単語を出力し、それを構築されている情報に加える。ある機能、例えば、バックスペース機能の場合には、関連する領域内の入力が、バックスペース機能の明示的な入力と解釈され、直ぐに実行される。しかし、この場合の結果は、入力シーケンスを終了させず、単にシーケンスの最後の、最も新しい入力を抹消するのみである。一般的に、自動訂正キーボード外のキーは、直ぐに解釈され、キーに関連した特別な文字か機能に従って実行される。関連する文字か機能により、ある場合には、現在の入力シーケンスは終了される。
本発明の別の側面に従うと、このシステムは、自動訂正キーボード領域および他の一意に定義された自動訂正キーボード外の領域またはキーを表示するために使用される、タッチ・スクリーンあるいはタッチ・ディスプレイの領域で生じる2つの異なるタイプの接触を識別する。第一の型の接触は「タップ」で、タッチ・スクリーンに接触すると、接触の始点からの有限の距離を越えることなく、接触が終了する。この型の事象は、この開示に記述されるような簡略化された自動訂正キーボード・システムのためのキー・ストロークとして処理される。第二の型の接触は「ストローク」で、タッチ・スクリーンに接触すると、接触点は、タップを定義するために使用される有限の距離のしきい値を越えて1つ以上の方向に移動する。この第二の型の接触は、この分野において公知の方法を用いたストローク認識システムを用いて処理できる。これにより、ユーザは、プルダウン・メニューを起動したり、余分なキーを定義して余分なスクリーンスペースを要したりキーのサイズを小さくしたりすることなしに、多くの補助機能や特別な文字を使えるようになる。その後、そのようなストロークの解釈、および認識されたストロークに関連して生じる文字や機能は、自動訂正キーボードの外側の一意に定義される領域あるいはキーのうちの1つの起動と同じ方法でシステムによって処理される。このように、キーボードに基づいた、あるいはストローク認識の入力方法に適応するように用いるには、利用可能なタッチ・スクリーンあるいはタッチ・ディスプレイの限られた領域だけが必要である。
本発明の別の側面に従うと、システムは、「タップ」の付加的な処理を実行し、タッチ・スクリーンあるいはタッチ・ディスプレイに接触する特定のユーザのスタイルに動的に合わせる。ある点に近づこうとするスタイラスによる「ジェスチャ」でディスプレイに接触する（すなわち、スタイラスが、ディスプレイに接触し、そしてすこしも距離を移動せずに持ち上げられる）ユーザに対しては、ユーザがどこでキーボードと接触するつもりであったかは、それほどあいまいではまたはかしスタイラスが持ち上げられるまでに多少とも移動する場合、スタイラス「動作」の間に接触されたどの点、すなわち、接触開始点かスタイラスが持ち上げられた点、またはその間の接触経路の何れかの点が、ユーザが触れようとした点かについてあいまいさが生じる。好ましい実施例では、システムは、各接触によってなぞられる点を、接触の終点とゼロ個以上の接触経路に沿った等間隔の点からなる、N個の接触点の組として記録する。例えば、Nが3であるような実施例では、その組は、両端の点および経路の中間点となるであろう。まず、記録された点の各組の1点が、自動訂正キーボード中の文字への距離を計算する際に、接触点を表すために使用される座標に指定される。例えば、好ましい実施例では、各組に記録された接触始点は、すべての距離計算において接触点を表すために使用される座標に指定される。単語が単語選択肢リストからの出力のために選択されるたびに、選択された単語の各文字から他の組の記録された点の各々までの距離計算が、繰り返される。例えば、Nが3で、計算が接触開始点に対して実行される場合、計算は、中間点の組と、終端点の組に対して繰り返される。計算距離が最小になる点の組が、その座標がその後の各接触シーケンスに対する選択肢リストを作る際の全ての距離計算において接触シーケンスの点を表すために用いられる点の組として指定される。もう1つの好ましい実施例では、各点の集合に対して実行された距離計算の移動平均が計算され、そしてこの移動平均が最小である点の組が、単語選択肢リストを生成する際の距離計算に使用される。もう1つの好ましい実施例では、意図したターゲット文字から指定の点までの水平および垂直方向の正負符号付きのオフセットの移動平均が、計算され、そして単語選択肢リストを生成する際に距離計算に使用される座標値が、この符号付きのオフセットの平均またはこのオフセットの一定の割合によって調整される。したがって、ユーザが、常に、タッチ・スクリーンで意図した文字のやや左、および下に接触するならば、システムは、自動的に調整することができ、かつより正確に、平均して、意図した文字を予言することが出来る。
本発明の別の側面に従うと、自動訂正キーボード領域のタッチパッド上にマップされた各文字には、受け持ち領域が割り当てられる。このような各領域は、距離計算プロセスが単純化されて、ユーザ入力から文字までの距離に0の値が割り当てられる領域を識別する。このような領域のサイズは、文字および機能に対して異なってもよい。例えば、代表的な用例集の中でほかの文字より高い頻度であらわれる文字には、より大きな領域を、割り当ててもよい。一実施例では、文字に割り当てられたこの領域は、単純に、タッチ・スクリーン上で明白に囲まれかつ区別され、そして文字が割り当てられた定義済みのキーに対応する。
簡略化された自動訂正キーボード・システムの操作は、部分的には接触点と様々な候補文字の間の距離に基づいて、自動訂正ソフトウェア212によって管理される。本発明の一実施例では、キー・ストロークへの距離の計算を単純化するために、自動訂正キーボード中の各文字にデカルト座標が割り当てられる。したがって、自動訂正キーボード上の接触された点と様々な候補文字場所の間の距離は、単純なデカルト座標距離分析により計算される。本発明の別の実施例では、単純なデカルト座標距離の二乗が、平方根を計算する必要をなくして計算を単純化するためと、またより離れた接触点に非線形の重み付けを適用するための両方の目的で使われる。他の実施例では、距離計算において、さらに自然対数あるいは離散ステップのような他の非線形の関数が、排他的に、またはデカルト座標距離分析との適切に重み付けされた組合せで利用される。
さらに、別の好ましい実施例では、x方向およびy方向の距離は異なった重み付けがされる。距離計算へのこのような修正は、単語の選択を単純化し、処理の必要事項を簡略化し、または、所定のシステムとその実施の特別な必要に応じて、規則に従ったエントリの例外に適応させることができる。例えば、文字キーの3つの列によってQWERTYキーボード配置が表示されるタッチ・スクリーンディスプレイパネルの場合には、キーボードの間違った列に接触することが重大な誤りになることは一般にそれほど発生しない。この場合、Y軸に沿った垂直距離に対し、X軸に沿った水平距離より極度に大きな重み付けをしてもよい。
さらに、言語の代表的な用例集の中である文字がどれくらい頻繁に使用されるかによって、またはその文字のキーボードの中心または端に対する相対位置によっては、自動訂正キーボード上の文字間の間隔は同じでなくてもよい。この代わりに、計算能力が十分である場合には、1つ以上の文字に、キーボードが接触された点の位置からのキーの距離を計算する上での基準点として使用される複数の対応する座標位置を割り当てることも出来る。この場合、この距離は、接触された点から最も近い割り当てられた基準座標までの距離として計算される。これは、ディスプレイが非線形的に接触された点への計算された距離を減少させ、従って、この領域に接触点を有する接触のシーケンスが、文字を囲む対応する場所で文字と単語をマッチングさせる可能性が高い領域のサイズを増加させる傾向がある。
さらに、文字の座標は、キーボードキーによって共有されない場所に割り当ててもよく、またはセンサによって直接検知してもよい。これにより、システムを、接点を検知する際により分解能の低いそれほど高価でないタッチ・スクリーンまたはキーボードにより実施することができる。さらに、キーボードを、ユーザの希望に応じ、同じ物理的キーボード・タッチ・スクリーンまたはセンサ列を利用したまま、再構成することも可能である。例えば、キーボードの機械的な複雑性を簡略化し、あるいは斬新なキーボード配列の動的再割当ができるようにするために、1つ、2つ、3つあるいはそれ以上のセンサの列を、通常のQWERTYレイアウトの3列の文字に用いてもよい。一例としては、9文字3列を7文字4列に変えることがあるであろう。したがって、所定の文字キーに割り当てられた座標位置を、キーボードとの物理的な接触を検知しかつ分離させる最も近い2つ以上の点の間に配置させてもよい。この場合、検知できる接触点および割り当てられた文字場所からの距離は、物理的なセンサより優れた解像度を有する論理座標フレームに内挿することにより計算される。
このシステムの好ましい実施例の1つでは、付加的な処理最適化は、所定の候補単語のどれだけ多くの文字が、事前に設定されたしきい値距離（maximum_key_distance）よりも対応する入力接触点から遠ざかってもよいかについて、制限を設定することにより達成される。この事前に設定されたしきい値maximum_key_distanceが、MAX_DISTANCE_VALUE（そのシステムで使用される距離測量アルゴリズムによって計算できる最大の距離値）以外の値に設定される場合、第二のしきい値over_max_distance_limitが、対応する入力接触点からのmaximum_key_distanceよりも遠くになりうる、所定の候補単語の文字数の最大値にセットされる。
図4A〜図4Kは、ユーザが効率的に不正確なキー・ストローク・シーケンスを利用するのを助けるために単語選択肢リストを生成し管理する、自動訂正ソフトウェア212のメインルーチンの好ましい実施例の流れ図を示す。図4Aは、メイン処理ルーチンを示す。システムは、最初、始動される時、ブロック4105で、単語選択肢リストおよび現在の入力シーケンスの両方を空の状態に初期化する。次いで、システムは、ブロック4110で、タッチ・スクリーン202からのキー・ストロークの受け取りを待つ。キー・ストロークを受け取ると、システムは、ブロック4115で、受け取られるキー・ストローク接触点の座標x/yが、自動訂正キーボード領域106の境界内に位置するか否かを確定する。その答えが否であれば、図4Iの流れ図の中で示されるように、ブロック4120に指示されたプロセスが行なわれ、そこで、システムは接触点x/yを含む定義済みのキー領域に関連した特定の文字か機能を処理する。ブロック4115で、受け取られるキー・ストローク接触点x/yが、自動訂正キーボード領域106の境界内に位置する場合、ブロック4130で、シーケンスの長さkは1だけ増加され、また、点x/yはk番目の入力として現在の入力シーケンスの終りへ追加される。それからブロック4140で、システムは、x/yがキー領域Kiの内部にある場合はKDikを0に設定して、key_distance表の要素KDikを自動訂正キーボード中の個々のキーKiの周囲のk番目の入力点x/yから最も近い点までのデカルト座標上の距離の二乗に設定する。ブロック4150では、対応するキーKiに各文字値Cjを写像する変換表character_mapが、語いモジュール213の1つ以上の単語に現れる正当な文字である個々の可能な文字Cjに対して、character_distance表のk番目の列の各要素CDjkを、k番目の入力x/yから個々の可能な文字Cjに対応するキーKiまでの距離の2乗KDikに設定するために、使用される。この結果、マッチング・メトリックを計算するときに使われる距離は、character_distance表が埋められる時に一度だけ計算され、そして変換表character_mapは、同様に、character_distance表がkey_distance表から埋められる時一度だけ使用される。これは、語いモジュールの単語を処理する際に、これを使用しない場合には繰り返されるであろう多くの計算の効率を向上させる。
決定ブロック4160で、変数maximum_key_distanceが検定され、それがMAX_DISTANCE_VALUE以外の値に設定されるか否かが確定される。そして、もしその答えが真であれば、ブロック4170において、補助の索引配列は、語いモジュールの単語を探索する際に、x/y入力を、x/y入力に近いキーに写像された文字にマッチングする可能性の低い順に処理するように、並べ替えられる。この順序で処理されるように入力x/yを並べ替えることにより、入力シーケンス用の語いモジュールを処理するのに必要な全計算量を最少化させる方向に向けることが出来る。これは、入力がすべて処理される前に、1つ以上のx/y入力が、すべての単語にわたって、対応するキーからのmaximum_key_distanceより大きいという可能性を増加するためであり、この結果、このような入力の数がover_max_distance_limitを超過すると直ちにその単語が候補から失格するので、残りの入力を処理する必要がなくなる。図4Kは、所定のx/y入力に近い1つのキーに写像された文字がマッチングする可能性を計算する方法の好ましい実施例を示す。表character_frequenciesは、語いモジュールに含まれ、その要素character_frequenciesijは、語い中の任意の単語の第jの文字として見いだされるすべての文字の相対頻度の合計を含んでおり、そしてそれらはKiをキーボードから入力するためにcharacter_map中に写像される。ブロック41110で、現在の入力x/yに対するmatch_probabilitykが0に初期化される。ループ41120において、決定ブロック41130で、キーKiが入力x/yからmaximum_key_distance以下の場合、ブロック41140で、match_probabilitykは、character_frequenciesijの値を距離（KDik+1）で割った値だけ増加される。ここで、ゼロ割りを避けかつ各character_frequenciesijを適切に比較するために、距離KDikが1だけ増加される。すべてのキーがループ41120で処理されると、その後ブロック41150で、配列key_indexの中の指標1.kが、各入力に対して計算されたmatch_probabilitykの値の小さい順に、並べ替えられる。
図4Aに戻って、ブロック4180では、新語選択肢リストが、長さkの現在の入力シーケンスに基づいて計算される。図4Bは、新語選択肢リストを計算するための好ましい実施例を示す。ブロック4210では、以前に計算された単語選択肢リストが全部クリアされる。ブロック4220では、現在の入力シーケンスが2つ以上の入力を含んでいる場合、ソフトウェアは、シーケンスの最初の2つの入力の座標位置に基づいて考察から、3つのクラスタに分かれる領域のどれを除外してもよいかを確定する。ブロック4230では、語いモジュールの各単語リストの9つの可能なサブグループのうち除外されたクラスタ領域に基づき、現実に処理される必要のある単語のサブグループが、識別される。その後、ブロック4240で、識別されたサブグループのみが、単語選択肢リスト中で表示すべき候補単語を識別するために処理される。
図4Cは、自動訂正キーボード領域内の接触点からなるキー・ストロークの入力シーケンスを入力するユーザの意図に最もマッチングしそうな単語の単語選択肢リストを構築するために、識別されたサブグループの単語がどのように処理されるかを示す。ブロック4305は、ブロック4380でループ終端の検定を行って、ブロック4310からのループの範囲を定義する。ブロック4380は、識別されたサブグループのうちの1つに属し、かつまだ処理されていない、長さk（入力シーケンスの現在の長さ）の単語が、まだ存在している否かを検定する。その答えが否であれば、ブロック4385で、システムは、単語リストが充たされた否か、およびリスト中の各単語に対して計算されたマッチング・メトリックの値が、事前に確定されたしきい値未満であるか否かを、検定する。その答が真であれば、単語リストは十分に質のよい潜在的にマッチングするもので充たされたと認められ、そしてブロック4395で、プロセッサは図4Bのブロック4260に戻る。その答えが否であれば、ブロック4390で、システムは、kより長い任意の長さの、識別されたサブグループの1つに属し、かつまだ処理されていない単語がさらに存在するか否かを検定する。その答えが否であれば、ブロック4395で、プロセッサはブロック4260に戻る。
一旦次に処理される単語が、ブロック4310で語いモジュールから得られると、ブロック4315で、入力シーケンスからこの単語までの重み付けされた距離をこの変数に合計することができるように、word_distanceが、ゼロに設定される。次いで、ブロック4320で、over_max_distance_countが、この単語への事前に設定された最大しきい値maximum_key_distanceより入力シーケンスの対応する接触点からさらに離れている単語の文字の数を、この変数で数えることができるように、ゼロに設定される。次いで、ブロック4330で、単語は図4Dに示されるように処理される。ブロック4410は、ループ・カウンタiを1に初期化し、現在のシーケンスのk個の入力の各々が処理されたときに、ブロック4490でループ終端検定を行い、ブロック4420からのループの範囲を定義する。ブロック4420で、変数next_keyは、計算されたkey_distanceがしきい値maximum_key_distanceを最も超過しそうなものから初めて、入力が処理されるように、図4Jに従って並べ替えられている、次の索引配列値key_indexiに設定される。次いで、ループ・カウンタiは増加される。ブロック4430で、key_distanceが、入力シーケンスの各接触点から語いモジュールの任意の単語で生じる個々の可能な文字までの距離を含む配列CD内の上述したように既に計算されかつ記憶された対応する値に設定される。決定ブロック4440では、もしkey_distanceがしきい値maximum_key_distanceを超える場合、ブロック4450でover_max_distance_countが増加され、そして決定ブロック4455で、そのような入力の最大値over_max_distance_limitが超過されたか否かを確定するためにover_max_distance_countが検定される。その答えが真であれば、ループ4410は早く終了され、そしてブロック4490で戻される正しくない単語距離は、この単語がさらに考慮されることはないので、重要ではない。もし決定ブロック4440で、key_distanceが、しきい値maximum_key_distanceを超えない場合、またはもし決定ブロック4455で、over_max_distance_countがしきい値over_max_distance_limitを超えない場合、ブロック4460で、key_distanceが、現在の単語に対して計算されている全word_distanceに合計される。決定ブロック4470で、入力がすべて処理されたと確定されるまで、このプロセスは、入力シーケンスの各接触点に対して繰り返される。このプロセスがブロック4490から戻ると、word_distanceが現在の単語に対して正確に計算されたか、または、over_max_distance_countがしきい値over_max_distance_limitを超えているかの何れかであり、かつ現在の単語にはさらなる考察は不必要である。
図4Cに戻って、決定ブロック4335で、over_max_distance_countが、現在の単語の考察が不必要であるか否かを確定するために、検定される。また、その結果が真であれば、実行はブロック4380に進み、単語処理ループ4305を終了すべきか否かが検定される。その結果が否であれば、決定ブロック4340で、もし現在の単語の長さが入力の数より大きい場合、ブロック4345で、計算されたword_distanceが固定された量wrong_length_additive_factorだけ増加される。もう1つの好ましい実施例では、wrong_length_additive_factorが、単語の文字数と、入力シーケンスの接触点数の差の関数として計算される。いずれの場合にも、処理はブロック4350に戻り、如何なる単語もゼロのword_distance値を有するのを防ぐために、word_distanceが、固定の量all_word_additive_factorだけ増加される。この結果、この単語のために計算されたmatch_metricは、語いモジュールのリストにおける相対的な優先度を反映する。ブロック4355で、乗法的係数idx_multiplierが計算され、この単語に対するmatch_metricの値を確定するために計算されたword_distanceと組み合わせて重み係数として使用される。図4Cに示される好ましい実施例では、idx_multiplierが、それがメンバーであるリストの単語の順位の数値の指標の二進表現で最高位のビットが1に設定されたビット場所として、計算される。この値は、0〜31（0が最も高いビット場所、および31が最も低いビット場所に相当する）に変動する。ブロック4360で、この値は1だけ増されるので、如何なる0でないword_distanceも0でないmatch_metric値になると言う結果になるように、使用される乗法係数は1以上である。
もし決定ブロック4370で、match_metricが単語選択肢リスト内の最悪（つまり、最大）のmatch_metric評点未満である場合、現在の単語は単語選択肢リストに挿入される。もしそのmatch_metricが、完全な単語選択肢リスト内の最悪のmatch_metric評点以上である場合、現在の単語は無視される。現在の入力シーケンスと同じ長さkの未処理単語がある場合、決定ブロック4380は、ブロック4310に戻る。決定ブロック4380が、長さkの処理すべき単語をもはや見つけない場合には、決定ブロック4385は、単語選択肢リストが、各々が、事前に確定されたしきい値より小さいmatch_metric値を有する、条件にマッチングする単語の全量（1つの好ましい実施例では、全量は4単語からなる）を含んでいるか否かについて検定を行う。もし決定ブロック4385で、単語リストがまだ全量のマッチングする単語を含まないことが分かると、ブロック4390で、システムは、現在の入力シーケンス長さkより長い単語が残っているか否かを確定し、もしその答えが真であれば、ブロック4310から実行を継続する。単語検定は、単語選択肢リストがマッチングする単語で充たされることを確定ブロック4385が知るまで、または検定する付加的な単語がもはや存在しないことを確定ブロック4390が知るまで継続される。
図4Bに戻ると、単語選択肢リストは、ブロック4260で処理される。図4Eは、単語選択肢リストを処理するための好ましい実施例を示す。ブロック4510で、エントリされた文字列のキーの数と長さが等しい単語が、単語選択肢リスト内の最も適切な選択肢として示されるように、単語選択肢リストに選ばれた単語が、語長の短い順に並べ替えられる。ブロック4520では、同じ長さの単語の各グループが、各単語に対して計算されたmatch_metric値の小さい順に並べ替えられているので、より小さいmatch_metric値をもつ単語が、最も適切な選択肢として示される。
単語は、例えば、文字「i」および「e」の正確な順序がしばしば逆にされた英単語のような既知の誤った綴りとしてマークされた語いモジュールに含ませてもよい。1つの好ましい実施例では、このような誤って綴られた単語が、語いモジュールからの候補単語として識別され、単語選択肢リストに含まれている場合、ブロック4540で、それらを単語リストに対応する正確に綴られた単語に置き換えることができるように、それらにフラグが立てられる。同様に、単語は、また、出力されるテキストの他の文字列、または関連する単語の選択で実行されるよう指定された機能に対応付けられたマクロまたは省略形としてフラグが立てられる語いモジュールに含ませてもよい。このようなマクロは、また、ブロック4540で単語選択において対応する関連するテキスト文字列に置き換えられる。ブロック4560は、関連する文字を大文字または小文字の適切な形に変えて、各文字に対応するキー・ストロークが実行された時に有効だったシフト状態により、単語選択肢リスト内の単語のすべての文字に適切なシフト状態を適用する。ブロック4580では、単語選択肢リストの重複した単語が、優先度の最も低い重複語の除去により削除される。
本発明のもう1つの側面に従うと、本発明の入力方式を実施するソフトウェア・アプリケーションが、既存のデバイスに導入される。このアプリケーションをデバイスにインストールする際、既存の情報ファイルは、単語を辞書に加えるために走査される。このような情報ファイルを走査する方法は、当技術分野においては周知である。新語が走査中に見つかると、それらは出現頻度の低い単語として辞書構造に加えられ、かつそれらは、単語が関係している単語リストの終りに出現頻度の低い単語として置かれる。所定の新語が走査中に検出される回数に応じて、情報エントリの間に単語選択においてその単語が現れる可能性を増加させ、その関連するリスト中でその語を昇格させることにより、その語には、他に比較してますます高い優先順位が割り当てられる。
本発明のもう1つの側面に従うと、単語の辞書は、受け入れられる可能性のある類似の単語と対で、好ましくない単語の付録を有する。これにより、文字の位置でのタイプのままが好ましくない単語を有する場合であっても、好ましくない単語の入力により、タイプのまま領域には関連する受け入れ可能な単語しか生じず、かつ適切な場合には、単語選択肢リストにおける提案が生じる。意図した文字の正確な位置でキーボードに接触することに払われる注意がより少ない場合、ユーザが、より速くタイプすることが可能であることを知れば、この特徴により、選択肢リストにユーザの意図にかかわらず現れるかもしれない好ましくない単語の出現を除去することができる。このように、タイプのままの単語列を表示するに先立って、当技術分野において周知の技術を用いて、単語選択肢リストを表示するソフトウェア・ルーチンは、単純に、好ましくない単語の付録と現在のタイプのままの文字列を比較し、そしてマッチングが見つかると、表示された文字列を関連する受け入れられる単語に置き換える。もしマッチングが見つからなければ、好ましくない単語がきわめて出現頻度の低い単語として扱われる時でさえ、単語の文字の各々が直接接触されると、好ましくない単語が、依然としてタイプのまま単語として現れるであろう。これは、標準のキーボードで好ましくない単語を偶然にタイプすることに類似しているが、本発明のシステムは、ユーザがより低い精度でタイプすることを可能にし、さらにユーザがより低い精度でタイプするよう勧めるように設計されている。この特徴は、例えば、システムメニュー選択で、ユーザが有効あるいは無効にすることができる。
当業者は、また、例えば、法律用語、医学用語および外国語の用語を含む語いモジュールなどの付加的な語いモジュールを、コンピュータに組み込みことも可能であることを認識するであろう。ユーザは、システムメニューにより、付加的な語い単語を、可能な単語リスト中の最初か最後に特別な色や強調表示で現れるように、システムを構成することができる。従って、添付の請求項の範囲内で、特にここで説明した以外の方法で本発明を実行することができることが認識されるであろう。
図4Bを経て図4Aに戻って、訳語選択肢リストが、ユーザに提示され、そしてメインルーチンは、ブロック4110でタッチスクリーン202からの次のキー・ストロークを待つ。キー・ストロークの受け取りに応じて、ブロック4115で、システムが、受け取られたキー・ストローク接触点が自動訂正キーボード領域106の境界の外部にあるか否かを確定すると、ブロック4120のプロセスが、図4Iに示されるように実行される。ブロック4910は、定義された領域に関連した文字または機能を識別する。もし決定ブロック4920で、単語選択肢リストが空の場合、ブロック4925は、定義されたキー領域に関連した1つ以上の文字を生成するか、または定義されたキー領域に関連した機能を実行し、そしてシステムはブロック4970で図4Aに戻る。もし現在1つ以上の単語が単語選択肢リスト中で表示されている場合、決定ブロック4930は、キー・ストロークx/y座標が単語選択肢リスト領域150内にあるか否かを確定する。もしその答えが真であれば、ブロック4935で、システムは単語選択肢リストからの単語選択処理を行う。
本発明のもう1つの側面に従うと、ユーザは、入れられたキー・ストローク・シーケンスの境界を定めるためにスペースキーを押す。スペースキーを受け取った後、この解明システムは、最も頻繁に用いられている単語を選択しそしてこの単語を構築されている情報に加える。スペースキーは入力されたシーケンスの境界を定めるために使用される。
本発明のもう1つの側面に従うと、単語選択肢リストは、候補単語の垂直のリストとして各行に1語づつ示され、そして各行はさらに領域またはカラムに細分化される。この領域またはカラムは、後置スペースを含ませるまたは含ませない、句読点を添える、または発音区別のためのアクセント記号を適用するなどの、選択された行に表示される候補文字列の受け入れに関連する機能を定義する。この機能は、ユーザーが、所望の機能に関連した領域またはカラムに含まれる点で単語選択肢リスト内の意図した文字列の行にタッチした時に、適用させてもよい。ユーザが、ある領域あるいはカラムの中の行に接触して所望の候補単語を選択する場合、その単語は、自動的に出力に対して「受け入れられ」、そして構成されている情報に加えられる。例えば、後置スペースを添えることに直接関連した領域内の行に接触することにより、後置スペースを伴う関連する単語が出力される。本発明のもう1つの側面に従うと、このような1つの領域あるいはカラムは、領域内の行との接触が、現在の入力シーケンスを終了することなしに、実際の接触点の現在の入力シーケンスを、選択された行の単語を有する文字の座標位置に対応する接触点のシーケンスにより置き換える機能を引き起すように、定義される。この結果、選択された単語は、入力シーケンスのタイプのまま解釈として選択肢リストに現れる。もし単語の文字が、各々、はるかに頻繁に現れる単語の文字に近いと、このより頻繁に現れる単語は、依然として最も適切な単語解釈として現れるであろうが、ほとんどの場合、選択された単語は、入力シーケンスの最も妥当な単語解釈としても現れる。入力シーケンスを終了せずに、意図した単語の文字の座標位置として入力シーケンスを再定義するこの能力により、ユーザが、次いで、例えば、単語に添える所望の語尾変化または接尾辞を続けてタイプすることが可能になる。意図した単語の出現頻度が相対的に低く、かゆ特に所望の語尾変化または接尾辞を伴うことがまれにしか見られない場合、この特徴は、ユーザが、単語の各文字を注意深くタイプする必要なしに、頻度が低い単語の所望のまれに生じる形をタイプすることをより容易にする。単語の語尾変化なしの形が、この特徴に関連した領域の選択肢リストの関連する行との接触により選択されている場合、ただ1つの付加的な選択ステップしか要求されない。
図4Jは、領域154、157、または160内の接触を登録し、単語選択肢リスト選択項目を処理するための好ましい実施例を示す。ブロック41010は、単語選択肢リストのどの行が接触されたか、およびその関連する単語を識別する。ブロック41020は、接触された単語選択肢リスト・カラムおよびそのカラムに関連する機能Fcolを識別する。図1Bに示される好ましい実施例では、カラム・マーカ170の左に1つ、カラム・マーカ172の右に1つ、およびカラム・マーカ170と172の間に1つの異なる3カラムが定義される。決定ブロック41030は、機能Fcolが、入力シーケンスを、図1Bに示される好ましい実施例において、カラム・マーカ172の右へのx/y位置に対応する選択される単語のx/y位置の新しい組による置き換えからなるか否かを確定する。この答えが真であれば、ブロック41032は、入力シーケンスを、選択された単語の文字に対応するx/y位置のシーケンスにより置き換え、かつブロック41034で、新語選択肢リストが図4Bに示されるように生成される。機能Fcolが入力シーケンスを置き換えない場合、単語選択肢リストから選択された単語の処理は継続する。ブロック41040は選択された単語の優先順位を調整する。本発明のもう1つの側面に従うと、ユーザのシステム使用中に、辞書は、単語がユーザによって選択されるごとに、その単語に関係づけられた相対頻度を少しずつ増加させることにより、辞書内のその単語を昇格させる「昇格アルゴリズム」によって自動的に修正される。1つの好ましい実施例では、昇格アルゴリズムが、選択された言葉に関連した頻度の値を相対的に大きな増分増加させる一方、候補から外された言葉の頻度値を非常に小さな減分減少させる。言葉がリスト中で現れる順序によって相対頻度情報が指示される辞書に対しては、昇格は、選択された単語をリストの頭からの距離のある割合上方へ移動させることによりなされる。昇格アルゴリズムは、最も一般に使用される言葉、および非常にまれにそれらの本来の位置から非常に遠くで使用される言葉を移動させることを避ける傾向をもつように設計されている。1つの好ましい実施例では、これは、残りの距離の割合を変えることにより達成され、これにより、選択された単語が、全体のリストにおけるその単語の現在の相対的な場所に依存して昇格される。例えば、リストの中央の範囲にある単語は、各選択に伴い最大の割合で昇格される。辞書の昇格において選択された単語が開始する位置と終了する位置の中間の単語は、1の値有効に降格される。「単語リストの質量」の保存は、維持されるので、リストの単語の相対頻度に関する情報は、維持され、そしてリストに必要な記憶を増加せずに更新される。
本発明のもう1つの側面に従うと、昇格アルゴリズムは、選択された単語の頻度を増加させ、かつ適切な場合、選択されていない単語の頻度を減少させるという操作の両方を行う。例えば、単語がリスト中に現れる順序によって相対頻度情報が示される辞書の場合、リストの場所IDXに現れる選択された単語は、場所（IDX/2）に移動される。これに対応して、リスト中の場所（IDX/2）から（IDX+1）までの単語は、リストの1つの下の場所に移動される。接触点のシーケンスが処理され、単語選択肢リストが計算されたマッチング・メトリック値に基づいて生成され、かつ1つ以上の単語が、ユーザによって選択された単語に先立ったリストに現れると、単語はリスト中で降格される。選択肢リスト中でより上位に見えるが選択されていない単語は、不当に高い頻度を割り当てられている（つまり、それらはリスト中で過度に上位に見える）と仮定することが出来る。場所IDXで当初現れるこのような単語は、場所（IDX*2+1）にそれを移動させることによって降格される。このように、単語がより頻繁に現れると考えられるほど、この単語は、より小さなステップ数で移動されるという意味で、その降格は少なくなる。
本発明のもう1つの側面に従うと、昇格と降格のプロセスは、ユーザの行為への応答のみを引き金としてもよいし、またはユーザの入力に依存して違うように実行させてもよい。例えば、ユーザがスタイラスかマウスを使用して、意図した単語を単語選択肢リスト内の主要な位置まで「クリックおよびドラッグ」することによって意図した単語を選択する場合に限り、選択肢リスト中ユーザが意図した単語より上方にある単語は、降格される。これに代えて、手動でより上方への「ドラッグ」により選択された選択肢リストの単語は、通常より大きな係数で昇格させてもよい。例えば、昇格された単語は、場所IDXから場所（IDX/3）に移動される。多くのこのような変形は、当業者には明らかである。
図4Fは、単語を単語選択肢リストから選ぶ場合に、単語の優先順位を調整するために好ましい実施例を示す。決定ブロック4610は、選択された単語選択項目が、タイプのままの単語、すなわち、図1Bに示されるように、リスト中の他の語と実線により分けられているタイプのままの単語154（図示された例では、「rwzt」）のような、そのx/y位置が、好ましい実施例では単語選択肢リストの個別の位置に表示される接触点のシーケンスに正確に対応する文字列であるか否かを確定する。選択された単語が、項目157または160のようなタイプのまま単語でない場合、ブロック4620では、図4Gに示される好ましい実施例のように、選択された単語が昇格され、かつブロック4630では、選択された単語に先立つ単語選択肢リストに現れた単語の各々が、（図4Hに示される好ましい実施例のように、単にもう1つの単語が昇格される結果1つ以上の単語が同時に降格されるのとは対照的に）、明示的に降格される。
ブロック4610で、選択された単語が、タイプのまま単語であると確定されると、決定ブロック4640は、この単語が語いモジュールにまだ含まれていない新語であるか否かを識別する。もしその答えが否であれば、ブロック4650で選択された単語は、昇格される。選ばれたタイプのまま単語が語いモジュールにまだ含まれていない場合、ブロック4660は、単語が加えられることになる適切な単語リストを識別する。決定ブロック4665は、適切な単語リスト内に利用可能なスペースがあるか否かを識別し、もしその答えが否であれば、ブロック4670で、その適切な単語リスト中で最も適切でない単語が、単語が加えられるべき余地を作るために消去される。ブロック4675で、新語が、適切な単語リストで最も適切でない単語として加えられ、次いで、ブロック4680で、新しく追加された単語が、単語選択肢リストに現れた他の単語を明示的に降格させずに、昇格される。
図4Gは、ブロック4620、4650および4680において実行された単語の昇格の好ましい実施例を示す。ブロック4710は、選択された単語の単語リスト中での場所を識別し、idxにその場所の値を割り当てる。ブロック4720は、現在の場所からリストの先頭までの間の中間、すなわち最も選択される可能性があると考えられた単語の場所に場所を特定して、new_idxをidxの値の半分として定義する。ブロック4730は、idxとnew_idxの間の場所の単語をすべて場所1つずつ降格して、その単語が元あったidxの場所を充たし、かつその単語のためにnew_idxの余地を作る。次いでブロック4740は、選択された単語をリストの場所new_idxに挿入して昇格させる。昇格のこの好ましい方法には、本質的に、ブロック4355でその単語に対して計算されたidx_multiplierに1分減分を与える効果があることに注意すべきである。
図4Hは、ブロック4635において実行される明示的な単語降格の好ましい実施例を示す。ブロック4810は、明示的に降格された単語の単語リスト内での順位を識別し、idxにその順位値を割り当てる。ブロック4820は、new_idxをidx値の2倍+1に定義する。決定ブロック4830は、単語リスト中の単語の合計とnew_idxの値を比較する。new_idxが単語リストの単語の合計数より大きい場合、リストの端から単語をそれ以上降格させることができないので、ブロック4835は、単語リストの単語の数の値と等しいnew_idxを設定する。ブロック4840は、idxとnew_idxの間の場所の単語をすべて場所1つずつ昇格させ、その単語が元あったidxの場所を充たし、その単語のためにnew_idxの余地を作る。次いで、ブロック4850は、選択された単語をリストの場所new_idxに挿入しそして降格させる。降格のこの好ましい方法には、本質的にブロック4355でその単語に対して計算されたidx_multiplierに1分増分を与える効果があることに注意すべきである。
図5A〜図5Eは、図1Aおよび図1Bに示されるような、本発明に従って形成された簡略化された自動訂正キーボード・システム100を組み込んだ携帯コンピュータ102の好ましい実施例において、単語をエンタする説明例としのて文字入力のシーケンスを示す、模式的な図である。携帯コンピュータ102は、テキスト表示領域104に出力されるテキストを生成するために使用される、タッチ・スクリーンディスプレイ103に実施された、簡略化されたキーボード105を含んでいる。
図5Aは、単語「text」の入力に対応するキー・ストローク・シーケンスの第1のキー・ストロークの位置510を示す。キー・ストローク501に応じて、自動訂正キーボード・システムは、単語、およびキー・ストロークに対応する他の解釈のリストを示す、テキスト領域104の上に重ねられた単語選択肢リスト領域150を表示する。この例の場合、キー・ストロークの座標位置510は、物理的に文字「r」に関連した最も近い座標位置である。単語選択肢リストは、自動訂正キーボード領域106に最も近い場所に、単語選択肢リスト中で示されるデフォルトの選択肢として「R」511を含んでいる。長さ1文字の「単語」として現れる場合、文字「r」は、「R」が人の名前の一部に含まれる頭文字として現れる場合のように、大文字としてより頻繁に見られるので、「R」は大文字で単語選択肢リスト中に提示される。これは、各単語の大文字の使用に関する情報が、エンターされた単語の大文字使用を指定するためにユーザがシフトキーのようなキーの活性化を必要とせずに、単語が大文字を使用した好ましい形で示されるように、語いモジュール中に単語と共に記憶されるという、本発明の側面に従う。単語選択肢リストは、文字の関連するシーケンスがユーザによって入力される場合、この単語または記号が、単語選択肢リストの選択肢として提示されるように、1つの単語または記号が1つ以上の文字の任意のシーケンスに対応付けられてもよいという本発明の側面に従って、「are」512を、次の最も適切な選択肢として示す。この例の場合、単語「are」は、英語で同じように発音される一文字の英字「r」の「マクロの」展開として関連付けられる。同様に、単語選択肢リストは、この記号が文字「r」からの論理的な関連に基づく語いモジュールに含まれていた場合、「&reg;」513を3番めに適切な選択肢として示す。単語選択肢リストは、「a」514を4番めに適切な選択肢として示す。「a」は一文字単語としては一般に非常によく現れる単語であるので、たとえ文字「a」と関連した座標位置が接触位置501から相対的に遠く離れているとしても、文字「a」は単語選択肢リストに候補として現れる。文字「r」に関連した座標位置が、他の文字のそれよりもキー・ストロークの座標位置510に接近しているので、選択に対するオプションとして「r」515を表示するタイプのまま領域は、これらの選択肢より上にある。
図5Bは、文字「w」に関連した座標位置に最も近い、次のキー・ストロークの位置520を示す。単語選択肢リストは、デフォルトの選択肢として「re」521、次に最も適切な選択肢「Re」522、3番めに適切な選択肢「ra」523および4番めに適切な選択肢「Rs」524を含んでいる。これらの選択肢より上に、選択に対するオプションとして「rw」525を表示するタイプのまま領域がある。
図5Cは、文字「z」に関連した座標位置に最も近い次のキー・ストロークの位置530を示す。単語選択肢リストは、デフォルトの選択肢として「tax」531、次に最も適切な選択肢「Rex」532、3番めに適切な選択肢「fax」533および4番めに適切な選択肢「was」534を含んでいる。これらの選択肢より上に、選択に対するオプションとして「rwz」535を表示するタイプのまま領域がある。
図5Dは、文字「t」の座標位置のすぐ近くの、次のキー・ストロークの位置540を示す。単語選択肢リストは、デフォルトの選択肢として「text」541、次に最も適切な選択肢「year」542、3番めに適切な選択肢「rest」543および4番めに適切な選択肢「fact」544を含んでいる。これらの選択肢より上に、選択に対するオプションとして「rwzt」545を表示するタイプのまま領域がある。単語「text」が次の単語として入力されることになる。
図5Eは、「スペース」キーとして指定された領域にある次のキー・ストローク550を示す。スペースキーは自動訂正キーボード領域106の外にあり、したがって明白に特定の機能に対応付けることができる。スペースキーは、デフォルトの単語「text」541を受け入れ、またカーソルが最後に置かれた場所に生成されている挿入点107でテキスト出力領域104に単語「text」542を入力する。同時に、現在の入力シーケンスはクリアされ、そしてテキスト出力領域104が明瞭になるように、単語選択肢リスト表示は、携帯コンピュータ102のディスプレイ・スクリーン103から除去される。
本発明の好ましい実施例が示されかつ説明されたが、本発明の精神および範囲から逸脱せずに、様々な変更をその中で行うことができることは、理解されるであろう。例えば、当業者は、キーボード105およびその自動訂正キーボード領域106を、様々な方法で構成することが出来、かつそれが可変の数の明示的な関数キー108〜122を持つことが出来ることを認識するであろう。ここに開示された自動訂正技術は、異なるサイズのキーボードにも、好ましい実施例に記述されたようなタッチ・パネルとタッチ・スクリーンに基づいたキーボードにも、様々なサイズの従来の機械的キーボードにも等しく適用可能である。ここで示した単語選択肢の数、単語選択肢の配置および、単語選択肢リストの異なる領域に関連した機能のような、単語選択肢リスト150の特定のフォーマットは変えることが出来る。例えば、当業者は、ある応用においては、入力シーケンスを選択された単語のx/y位置の新しい組に置き換える機能を省略することができることを認識するであろう。さらに、語いモジュール内の単語を昇格し降格するのに使用される特定のアルゴリズムを変えることが出来る。例えば、上述した好ましい実施例の中で使用される係数1/2ではなく、リストの先頭までの距離の1/4分単語を移動させることにより、選択された単語を昇格させることができる。
【図面の簡単な説明】
【図１Ａ】  本発明の自動的に入力キー・ストロークを訂正する簡略化されたキーボード・システムを組み込んだ、携帯コンピュータの好ましい実施例の模式図である。
【図１Ｂ】  同じ模式図で、ユーザが自動訂正キーボード領域で一連のキー・ストロークを入力した後、表示される単語選択肢リストの具体例を示す。
【図２】    図1Aおよび図1Bの簡略化されたキーボード・システムのハードウェア・ブロック図である。
【図３】    自動的に入力キー・ストロークを訂正する、本発明の簡略化されたキーボード・システムの自動訂正キーボード領域の好ましい実施例の模式図で、3つのクラスタ領域への分割および3つの接触点の例を示す。
【図４Ａ】  意図したテキストがキー・ストローク・エントリ入力シーケンスに対応して生成されるように確定するソフトウェアの好ましい実施例の流れ図を示す。
【図４Ｂ】  意図したテキストがキー・ストローク・エントリ入力シーケンスに対応して生成されるように確定するソフトウェアの好ましい実施例の流れ図を示す。
【図４Ｃ】  意図したテキストがキー・ストローク・エントリ入力シーケンスに対応して生成されるように確定するソフトウェアの好ましい実施例の流れ図を示す。
【図４Ｄ】  意図したテキストがキー・ストローク・エントリ入力シーケンスに対応して生成されるように確定するソフトウェアの好ましい実施例の流れ図を示す。
【図４Ｅ】  意図したテキストがキー・ストローク・エントリ入力シーケンスに対応して生成されるように確定するソフトウェアの好ましい実施例の流れ図を示す。
【図４Ｆ】  意図したテキストがキー・ストローク・エントリ入力シーケンスに対応して生成されるように確定するソフトウェアの好ましい実施例の流れ図を示す。
【図４Ｇ】  意図したテキストがキー・ストローク・エントリ入力シーケンスに対応して生成されるように確定するソフトウェアの好ましい実施例の流れ図を示す。
【図４Ｈ】  意図したテキストがキー・ストローク・エントリ入力シーケンスに対応して生成されるように確定するソフトウェアの好ましい実施例の流れ図を示す。
【図４Ｉ】  意図したテキストがキー・ストローク・エントリ入力シーケンスに対応して生成されるように確定するソフトウェアの好ましい実施例の流れ図を示す。
【図４Ｊ】  意図したテキストがキー・ストローク・エントリ入力シーケンスに対応して生成されるように確定するソフトウェアの好ましい実施例の流れ図を示す。
【図４Ｋ】  意図したテキストがキー・ストローク・エントリ入力シーケンスに対応して生成されるように確定するソフトウェアの好ましい実施例の流れ図を示す。
【図５Ａ】  本発明の簡略化されたキーボード・システムを組み込んだ携帯コンピュータの好ましい実施例において、一単語の入力の説明に役立つ例として文字入力のシーケンスを示す模式図である。
【図５Ｂ】  本発明の簡略化されたキーボード・システムを組み込んだ携帯コンピュータの好ましい実施例において、一単語の入力の説明に役立つ例として文字入力のシーケンスを示す模式図である。
【図５Ｃ】  本発明の簡略化されたキーボード・システムを組み込んだ携帯コンピュータの好ましい実施例において、一単語の入力の説明に役立つ例として文字入力のシーケンスを示す模式図である。
【図５Ｅ】  本発明の簡略化されたキーボード・システムを組み込んだ携帯コンピュータの好ましい実施例において、一単語の入力の説明に役立つ例として文字入力のシーケンスを示す模式図である。
【符号の説明】
100      自動訂正キーボード・システム
102      パームトップ・携帯・コンピューター
103      タッチ・スクリーンディスプレイ
104      テキスト表示領域
105      キーボード
106      自動訂正キーボード領域
107      挿入ポイント
108      シフトキー
110      スペースキー
112      バックスペースキー
114      単語編集キー
116      記号モード・キー
118      リターンあるいは入力キー
120      代替キーボードモード・キー
122      テンキーモード・キー
150      単語選択リスト領域
154      「タイプのまま」の単語
157      代替の単語選択肢
160      デフォルトの単語
170      カラム・マーカ
172      カラム・マーカ
201      プロセッサ
202      タッチ・スクリーン
203      ディスプレイ
204      スピーカ
210      メモリ
211      オペレーティング・システム
212      自動訂正ソフトウェア
213      関連語いモジュール
214      アプリケーション・プログラム
215      アプリケーション・プログラム
216      アプリケーション・プログラム
300      自動訂正キーボード領域
301      クラスタ領域
302      クラスタ領域
302      クラスタ領域
311      接触点
312      接触点
313      接触点
501      キー・ストローク
510,520,530,540      キー・ストロークの座標位置
511,521,531,541      デフォルトの選択肢
512,522,532,542      次に最も適切な選択肢
513.523.533.543      3番目に適切な選択肢
514,524,534,544      4番目に適切な選択肢
515,525,535,545      タイプのまま領域
520,530,540,550      次のキー・ストロークの位置
【図１Ａ】
0004519381.tif 000002
【図１Ｂ】
0004519381.tif 000003
【図２】
0004519381.tif 000004
【図３】
0004519381.tif 000005
【図５Ａ】
0004519381.tif 000006
【図５Ｂ】
0004519381.tif 000007
【図５Ｃ】
0004519381.tif 000008
【図５Ｅ】
0004519381.tif 000009
【図４Ａ】
0004519381.tif 000010
【図４Ｂ】
0004519381.tif 000011
【図４Ｃ】
0004519381.tif 000012
【図４Ｄ】
0004519381.tif 000013
【図４Ｅ】
0004519381.tif 000014
【図４Ｆ】
0004519381.tif 000015
【図４Ｇ】
0004519381.tif 000016
【図４Ｈ】
0004519381.tif 000017
【図４Ｉ】
0004519381.tif 000018
【図４Ｊ】
0004519381.tif 000019
【図４Ｋ】
0004519381.tif 000020