"装置であって、ディスプレイと、前記ディスプレイへ結合された複数のタッチセンサであって、前記複数のタッチセンサは前記ディスプレイとの感知ユーザ接触に基づき複数の感知信号を生成するよう構成される、前記複数のタッチセンサと、複数のモーションセンサであって、前記複数のモーションセンサは筐体の感知振動に基づき複数の運動信号を生成するよう構成される、前記複数のモーションセンサと、前記ディスプレイ、前記複数のタッチセンサ、および前記複数のモーションセンサと信号通信するプロセッサであって、前記プロセッサは、前記複数の生成された感知信号または前記複数の生成された運動信号の少なくとも一方に基づき複数のキーを有するキーボードの画像を生成し且つ前記ディスプレイに提示するよう構成される、前記プロセッサと、前記ディスプレイ、前記複数のタッチセンサ、前記複数のモーションセンサ、および前記プロセッサを収容するよう構成された筐体とを、備える、装置。前記プロセッサは、前記複数の生成された感知信号に基づき前記ディスプレイ上での前記キーボード画像の位置を判断するよう構成される、請求項1に記載の装置。前記プロセッサは、ホーム列規定イベントの存在の判断に基づき前記ディスプレイ上での前記キーボード画像の位置を判断するよう構成される、請求項1に記載の装置。前記プロセッサは、2つ以上の生成された感知信号が所定の時間にわたってアクティブと判断されるときに前記ホーム列規定イベントの存在を判断する、請求項3に記載の装置。前記プロセッサは、前記2つ以上の生成された感知信号の位置の判断に基づき前記キーボード画像の複数のホーム列キーの複数の位置を判断し、且つ前記複数のホーム列キーの少なくとも1つのホーム列キーの判断された位置に基づき前記キーボード画像の複数の非ホーム列キーの複数の位置を判断するよう、構成される、請求項4に記載の装置。前記プロセッサは、前記2つ以上の生成された感知信号の位置の判断に基づき前記キーボード画像の複数のホーム列キーの複数のサイズを判断し、且つ前記複数のホーム列キーの少なくとも1つのホーム列キーの判断された位置に基づき前記キーボード画像の複数の非ホーム列キーの複数のサイズを判断するよう、構成される、請求項4に記載の装置。前記プロセッサは、前記2つ以上の生成された感知信号の位置の判断に基づき前記キーボード画像の複数のホーム列キーの複数の向きを判断し、且つ前記複数のホーム列キーの少なくとも1つのホーム列キーの判断された位置に基づき前記キーボード画像の複数の非ホーム列キーの複数の向きを判断するよう、構成される、請求項4に記載の装置。前記筐体は1つ以上の周波数で振動を生成するよう構成された振動装置をさらに備え、前記プロセッサは、前記ホーム列規定イベントに基づき前記振動装置を所定の周波数で作動させるよう構成される、請求項3に記載の装置。前記筐体は1つ以上の周波数で振動を生成するよう構成された振動装置をさらに備え、前記プロセッサは、前記提示されるキーボードを静的動作モードに設定し、前記センサ信号に基づき少なくとも1本のユーザの指の位置を判断し、且つ前記少なくとも1本のユーザの指の前記判断された位置が前記少なくとも1つのホームキーから閾距離内にある場合に前記振動装置で所定周波数の振動を生成させるよう、構成される、請求項3に記載の装置。前記振動装置は、前記少なくとも1本のユーザの指の、前記対応するホームキーからの、距離に基づき、前記振動の強度を変えるよう、構成される、請求項9に記載の装置。前記筐体は1つ以上の周波数で音響信号を生成するよう構成された音響装置をさらに備え、前記プロセッサは、前記提示されるキーボードを静的動作モードに設定し、前記センサ信号に基づき少なくとも1本のユーザの指の位置を判断し、且つ前記少なくとも1本のユーザの指の前記判断された位置が前記少なくとも1つのホームキーから閾距離内にある場合に前記音響装置で所定周波数の音響信号を生成させるよう、構成される、請求項3に記載の装置。前記音響装置は、前記少なくとも1本のユーザの指の、前記対応するホームキーからの、距離に基づき、前記音響信号の強度を変えるよう、構成される、請求項11に記載の装置。前記プロセッサは、前記ディスプレイとの連続ユーザ指接触に対応する複数の感知信号を周期的に受信し、前記複数の受信された周期感知信号が、前記キーボード画像の生成および提示のときに使用される前記複数の感知信号の複数の位置からの漂動を指示するか否かを判断し、且つ前記ディスプレイで、前記キーボード画像の少なくとも1つのキーを、前記少なくとも1つのキーの指示された漂動に基づき、移動させるよう、構成される、請求項1に記載の装置。出力装置をさらに備え、前記プロセッサは、前記複数の周期的に受信される感知信号が、ユーザ指接触漂動が前記ディスプレイの端部の閾距離内であることを指示するか否かを判断し、且つユーザ指接触漂動が前記閾距離内であると判断された場合に前記出力装置へ信号を出力するよう、構成される、請求項13に記載の装置。前記プロセッサは、前記複数の生成された感知信号と前記複数の生成された運動信号とに基づきユーザタイピング行為を感知し、且つ所定時間にわたって前記ユーザタイピング行為が感知されない場合に、半透明または不可視の少なくとも一方となるよう前記キーボード画像を変化させるよう、構成される、請求項1に記載の装置。前記プロセッサは、前記キーボード画像が半透明または不可視の少なくとも一方になった後にユーザタイピング行為が感知された場合に、前記キーボード画像を少なくとも透明度の低い状態で出現させるよう、構成される、請求項15に記載の装置。前記プロセッサは、1つ以上の前のキー作動に基づき、作動される見込みが最も高い少なくとも1つの次のキーを判断し、且つ前記判断された見込みが最も高い少なくとも1つの次のキーを一意に表示するよう、構成される、請求項1に記載の装置。前記プロセッサは、前記複数の生成された感知信号に基づき前記複数のホーム列キーからの1つ以上のユーザ指の相対的運動を判断し、且つ前記複数の生成された運動信号と前記判断された相対的運動とに基づきキー作動イベントを生成するよう、構成される、請求項1に記載の装置。前記プロセッサは、前記複数の生成された感知信号と前記複数の生成された運動信号の少なくとも一部分に基づき1つ以上の候補キーを生成し、且つ統計的確率モデルを使用し前記生成された1つ以上の候補キーを絞り込むことによりキー作動イベントを生成するよう、構成される、請求項1に記載の装置。前記プロセッサは、統計的確率モデルと少なくとも1つの前のキー作動イベントとに基づき少なくとも1つのキーのサイズ値を判断し、且つ前記少なくとも1つのキーの前記判断されたサイズ値に基づき前記キーボード画像を変化させるよう、構成される、請求項19に記載の装置。前記プロセッサは、感知される第1のユーザ行為に基づき前記提示されたキーボード画像をアクティブ状態で不可視とし、且つ感知される第2のユーザ行為に基づき前記提示されたキーボード画像を非アクティブ状態で不可視とするよう、構成される、請求項1に記載の装置。前記生成される少なくとも1つの運動信号は前記筐体を基準とする位置に関連し、前記プロセッサは、前記少なくとも1つの運動信号が生成され、且つ感知信号が生成されない場合に、前記筐体を基準とする前記位置に基づき機能を特定するよう、構成される、請求項1に記載の装置。図1は、英数字入力のための適応型オンスクリーンキーボードユーザインターフェイスを提供する例示的装置100のブロック図である。装置100は、CPUプロセッサ110へ入力を提供する1つ以上のタッチセンサ120を含む。タッチセンサ120は、表面がタッチされるときにプロセッサ110に接触イベントを通知する。一実施形態において、タッチセンサ120またはプロセッサ110はハードウェアコントローラを含み、ハードウェアコントローラはタッチセンサ120によって生成される原信号を解釈し、公知の通信プロトコルを使用し使用可能なデータポートを通じてプロセッサ110へ情報を伝達する。装置100は1つ以上の振動センサ130を含み、振動センサ130は、タッチセンサ120と同様に、表面がタップされるときにプロセッサ110へ信号を伝達する。プロセッサ110は、センサ120、130から受信する信号に基づきディスプレイ140タッチ表面上に提示されるキーボード画像を生成する。ユーザにしかるべき聴覚信号を案内として送るため例えばエラー信号、プロセッサ110にはスピーカ150も結合されている。ユーザにしかるべき触覚フィードバックを提供するため例えばエラー信号、プロセッサ110にはバイブレータ155も結合されている。プロセッサ110はメモリ160とデータ通信し、メモリ160は、一時ストレージおよび/または永久ストレージの組み合わせ、読取専用および書込可能メモリランダムアクセスメモリまたはRAM、読取専用メモリROM、フラッシュメモリ、ハードドライブ、フロッピディスク等の書込可能不揮発性メモリ、その他を含む。メモリ160はプログラムメモリ170を含み、プログラムメモリ170は、オペレーティングシステム171、適応型オンスクリーンキーボードOSKソフトウェアコンポーネント172、他の何らかのアプリケーションプログラム173等、あらゆるプログラムおよびソフトウェアを含む。メモリ160はデータメモリ180をも含み、データメモリ180は語データベース181と、ユーザオプションおよび選好の記録182と、装置100の何らかの素子に必要な他の何らかのデータ183とを、含む。センサ120、130からの信号に基づきプロセッサ110によってホーム列イベントが検出されると、プロセッサ110はディスプレイ140上でユーザの指の下に仮想オンスクリーンキーボードを配置する。ユーザがタイプするにつれ、プロセッサ110はキー作動ごとにユーザの指の配置とタップされた位置を絶えず監視し、オンスクリーンキーボードをユーザがタイプする場所に位置付けるため、各キーおよびキーボード全体の位置、向き、およびサイズを調整する。これにより、オンスクリーンキーボードの当初の位置からのユーザの指の漂動または動きを計上することできる。ユーザが一方向に遠く漂動しタッチセンサ領域の端に達すると、プロセッサ110は可聴および/または触覚警告を出力する。ユーザは随時、ホーム列規定イベント上記を開始することによってオンスクリーンキーボードの位置を手動で再割り当てできる。一実施形態では、ユーザがホームキー典型的英語キーボードのFおよびJキーと一般的に呼ばれるキーの上に人さし指を置くと、バイブレータ155により触覚フィードバックが提供される。一実施形態では、ユーザがキーの上に指を置くと左と右で若干異なる振動数を使用し瞬時の振動が発せられる。このようにしてユーザはプロセッサ110がオンスクリーンキーボードの位置を動的に変更することを選ばない場合に、手を固定ホーム列位置に戻すことを選ぶことができる。別の実施形態において、これらの振動の強さは固定ホーム列のホームキーに対する指の位置に応じて変化できる。装置100は、ユーザが指や仮想キーボードを見ずにタイプすることを可能にする。したがって、キーボードは常に見えなくてもよいということになる。このため貴重な画面スペースを別の目的に使用できる。一実施形態では、可視、部分的に可視、不可視、または半透明の状態でキーボードの外観が変化する。ホーム列規定イベントが発生すると、またはユーザが設定可能な閾時間にわたってタイプせず指を載置すると、フルキーボードが現れる。ユーザがタイプし始めるとキーボードは徐々に消え、ホーム列規定イベント、タイピングを休止すること、4本の指を同時に押すこと、または一意に識別できる他の何らかのジェスチャを含み、ただしこれらに限定されない、行為のいずれか1つを、ユーザが遂行するまで、不可視となる。別の実施形態において、キーボードは徐々に消え完全に不可視となるのではなく、半透明になるため、ユーザはキーの場所を見分けることができるばかりでなく、オンスクリーンキーボードの下にある画面内容を見ることもできる。一実施形態において、キーボードは、タップされたキーと、タップされたキーを取り囲むキーを、一時的に照らす、またはタップされたキーからの距離に比例して半透明に表示する。これによりキーボードのタップされた領域は短時間明るくなる。一実施形態において、キーボードは、次に選択される確率が最も高いキーがその確率に比例して発光することにより、部分的に可視となる。ユーザがあるキーをタップすると直ちに、その後に続く見込みのある別のキーが可視または半可視となる。選択される見込みが高いキーは視認されやすくなり、そうでないキーは視認されづらくなる。このようにしてキーボードは最も見込みのある次のキーにユーザを案内する。一実施形態では、ユーザがタッチ感応表面を取り囲む囲いの外縁でタップジェスチャ例えば素早く連続するダブルまたはトリプルタップを行うことにより、オンスクリーンキーボードは一時的に可視となる。ユーザは、ユーザインターフェイスプログラムの選好設定を通じて様々なオンスクリーンキーボード視覚表示モードを選択できる。図2A-Fは装置100によって遂行される例示的プロセスを示す。図2A-Fに示すフローチャートは例示の目的で使用され、本発明のソフトウェアを完全に詳述するものではない。図2Aは、OSKソフトウェアコンポーネント172から提供される命令に基づきプロセッサ100によって実行されるプロセス200を示す。ブロック206でプロセス200が最初に開始されるときには、最小載置時間、指タッチ数閾値、漂動距離閾値、キー閾値等の様々なシステム変数が初期化される。ブロック208で、プロセッサ250はタッチスクリーンの領域内で接触が起きたことを通知されるまで待つ。その後ブロック210では、センサ120、130の1つ以上からの信号に基づきホーム列検出が行われる。ホーム列検出については図2Bでより詳細に説明する。ブロック212では、これから表示される仮想キーボードのキーの位置がセンサ信号に基づき判断される。キー位置判断については図2Cでより詳細に説明する。次にブロック216でキー作動が処理される詳細については図2DおよびEを参照されたい。ブロック218では、ユーザの指の漂動がセンサ信号に基づき検出される。その後ブロック220では、ブロック210-218で下された判断の少なくとも1つに基づきディスプレイ140に仮想キーボードが提示される。ユーザが8本の指を外し、その後タッチスクリーンに触れると、プロセス200が繰り返される。図2Bはホーム列検出プロセス210を示す。決定ブロック234で、プロセス210はユーザが最小時間すなわち最小載置閾値にわたってタッチスクリーン上に指を載置したか否かを判断する。決定ブロック236で、プロセス210は適当数の指がタッチ表面上に載置されることにより、ホーム列規定イベントが始まるか否かを判断する。ブロック234または236で条件が満たされない場合、プロセス210はオンスクリーンキーボードの位置を変えずに終了する。指の載置時間と指数の条件が満たされる場合、プロセッサ110は載置されている指の位置を判断する。ブロック240を参照されたい。その後、ブロック242でKeySpaceIndexKSI値が判断される。KSIは、ユーザの指のサイズと間隔に合わせてオンスクリーンキーボードをカスタマイズするために使用される。KSIは同じユーザであってもホーム列規定イベントのたびに変化することがある。一実施形態では、それぞれの手の全4本の指がタッチ表面に載置されるとホーム列規定イベントが始まる。この場合、KSIは次式によって与えられる。KSI=平均載置キー間隔/モデル化公称間隔=[abc/3]/A=abc/3Aここで、A=キー間のモデル化公称距離通常19mma=載置キー1と載置キー2との間の測定距離b=載置キー2と載置キー3との間の距離c=載置キー3と載置キー4との間の距離ホーム列規定イベントの開始に使用される載置指が4本に満たない場合は、KSI式を相応に調整できるデータベースに蓄積された1セットのユーザ選好で規定。KSIは以降のプロセスで使用される。標準オンスクリーンキーボードのデータモデルはシステムのメモリに蓄積される。このデータモデルでオンスクリーンキーボードレイアウトは2つの部分に、すなわち右手で通常タイプされるキーと、左手で通常タイプされるキーとに、分割される。さらに、各キーは、その特定のキーをタイプする見込みが最も高い指によって載置されているホーム列載置キーに関係付けられる関係載置キーと定義。データモデルでは各キーの位置がその関係載置キーからの相対的測定値として規定される。各キーの位置を判断する例示的式は次の通りである。キーx’,y’=キーモデルxKSI,yKSIここで、x=関係載置キーRRKの中心からの公称蓄積x距離y=RRKの中心からの公称蓄積y距離2つ以上のキーの修正キー位置が重なり合うことはあり得る。この場合、重なり合うキーのサイズは重なり合いがなくなるまで縮小される。X-Y軸の向きは載置キーごとに別々に判断される。左右のセクタごとに、セクタ内の載置キーに曲線が適合される。次に、各キーのX-Y軸は、キーの中心で曲線に対し正接x軸および直交正接y軸となるよう向けられる。図2Cはキー位置割当プロセス212を示す。プロセス212はキーボードの各キーごとに繰り返される。ブロック252では、[RestingKey,Δx,Δy]の形で関連載置キー位置を基準とする予め蓄積された各キーの位置がデータベース181から引き出される。例えば、文字Rを表すキーは載置キーL1通常は文字Fに関連し、L1の左上に位置する。したがって、そのデータセットは[L1,-5,19]ミリメートル単位となる。各キーにつき同様のデータがデータベース181から引き出される。ブロック254では、データベースから引き出されたオフセットにKSIを乗算することによって各キーにつき新しい相対オフセットが計算される。ブロック258では、ブロック254で求めた新しいオフセットを関連載置キーの絶対位置に加えることによって各キーの絶対座標が求められる。決定ブロック260で、プロセス212はキーが重なり合っているか否かを検査し、重なり合っている場合は、重なり合いをなくすためブロック262でキーのサイズと位置が調整される。その後、プロセス212はプロセス200へ復帰する。図2Dはキー作動処理プロセス216を示す。これにより実際のキーイベントが判断され、出力される。プロセス216は、有効なタッチタップイベントが発生したか否かを検査する決定ブロック270で始まる。これは、Marsdenらの米国特許出願第2009/0073128号で詳しく説明されているように、タッチセンサ120と振動センサ130との相関により判断される。ブロック272では、キー採点アルゴリズムを適用することによって候補キーが採点される。次いで、得点が最も高いキーはブロック274で出力され、プロセス216は復帰する。図2Eは、図2Dのブロック272からのキー採点アルゴリズムのプロセスを示す。ブロック280では、ユーザのタップがどこで行われたかを判断し、近接するキーを候補キーとして規定するため、タッチセンサ120と振動センサ130によって受信される信号が相関される。タップが行われたキーのみならずタップ領域を取り囲むキーを検討することにより、プロセッサ110はユーザのタイピングスタイルの曖昧さを計上する。決定ブロック282で、プロセス272はユーザがタイプするため載置キーから指を動かしたか否かを検査する。尚、典型的なタイピングスタイルでは、たとえ10本の指でタッチするタイピストでさえ全4本の指を常時絶えず載置するわけではない。したがって、正しいキーがタイプされるため載置キーで変化が起こることは前提条件ではない。ただし、候補キーの近くで載置キーの状態に変化が生じる場合はまたはこれが候補キーそのものである場合は、ブロック284で説明するように、かかる変化から有用な情報を得ることができる。ブロック284では、状態変化が検出されたタップの近くにある載置キーと、ブロック280で計算されたタップの位置との間で、仮想線が計算される。仮想線はタップ位置を越えて延出する。ブロック284では、投影された線が通過するキーが判断され、プロセッサ110はそれらのキーの得点を相応に増加させる。このようにしてタップ位置が所望のキーの真上でなくても、そのキーの方向での相対的動きはそのキーに相関される。ブロック288で、プロセッサ110はタイプされた先行の語および文字をデータメモリ181に蓄積された言語データに比較し、考慮に入れる。これは、文字対統計的頻度letterpairstatisticalfrequency、部分一致予測partialmatchprediction、語間予測interwordprediction、語内予測intrawordprediction等、公知の曖昧排除法disambiguationmethodを含む。それぞれの候補キーにはしかるべき得点が割り当てられる。ブロック290では、ユーザの意図する選択の最高計算確率を表す最高得点を持つ候補キーが判断され、プロセス272は復帰する。図2Fは、ユーザがタイプするときに意図せず手を動かす漂動場合に対処する漂動検出プロセス218を示す。ブロック300で、プロセス218は実際のタップ位置を表示された目的キーの現在の中心に比較し、XおよびY座標の差をΔXおよびΔYとして蓄積する。ブロック302では、これらの差が以前のキーストロークからの以前の累計に加えられる。決定ブロック304で、プロセッサ110はいずれかの方向での累積差がDriftThresholdデータメモリ182に蓄積されたユーザ選好またはデフォルトデータから規定と呼ばれる予め蓄積された変数を超過するか否かを検査する。閾値を超過する場合、プロセッサ110はブロック308で最後の位置規定イベント以降の全ΔXおよびΔYの平均によりキーボード全体の位置を移動させる。累積差がキーボード全体のDriftThresholdを超過しない場合は、ブロック316で選択された個々のキーにつき同様の計算が行われる。ブロック318で、プロセッサ110はブロック316の後に個々のキーの累積差がユーザ規定キー閾値を超過するか否かを検査し、超過する場合はブロック320でその位置を調整する。キー閾値は、関連キーの現在位置に比較したタップ位置の許容誤差である。キー閾値を超過した場合、関連キーは移動される。ブロック308の後、ブロック318の決定がいいえの場合、またはブロック320の後、プロセッサ110はブロック310で、新しい位置が他のキーと重なり合うか否かを、またキーボード全体がタッチセンサの境界内にとどまっているか否かを、検査する。いずれかの検査で衝突がある場合はブロック312でベストフィットアルゴリズムにより衝突が是正され、終了する。衝突が見つからない場合、プロセス218は復帰する。本発明の方法によりユーザはオンスクリーンキーボードが見えない状態でもタイプできるが、ユーザがキーを見たくなるときもある。例えば、ユーザが所望の文字に対応するキーがどれなのか分からない場合、または特定の文字が独立した数字および/または記号層にある場合である。別のユーザは各文字の位置を丸暗記してタイプできない場合もある。このような、および他の理由から、装置の画面上にオンスクリーンキーボードを見えるように提示することは重要である。蓄積されたユーザの選好に従い、オンスクリーンキーボードはタイピングが行われている最中にも連続的に可視状態を保つことができる。あるいは、オンスクリーンキーボードはホーム列規定イベントの後に透明になる。一実施形態において、オンスクリーンキーボードは半透明となり、ユーザはキーボードを通して下の画面内容を見ることができる。キーボードが不可視に設定される場合は、他の内容を全画面で表示できる。ボタン等の他のアクティブなユーザインターフェイス要素が不可視のオンスクリーンキーボードの下に位置する場合がある。この場合、装置100はそのような要素に向けられたユーザの入力を傍受し、オンスクリーンキーボードを可視にし、それが実際に存在することをユーザに知らせる。そしてユーザは、キーボード上の該当するキーを押すことによってキーボードを片付けることにすることができる。尚、キーボードを片付けることはキーボードを不可視にすることと同じではない。キーボードを片付けることとは、タッチスクリーン装置で一般的に行われるように、画面からキーボードを最小化することを意味する。一実施形態において、オンスクリーンキーボードはユーザがタイプしているときに可視状態と不可視状態を繰り返す。ユーザが隠れたオンスクリーンキーボードをタップするたびにオンスクリーンキーボードは一時的に現れ、ユーザ設定可能時間後に徐々に消える。一実施形態では、特定のキーだけが各キーストローク後に可視となる。一時的に可視となるキーは、直前のテキスト入力作業の後に続く見込みが最も高いキーであるシステムに蓄積された語および文字データベースに基づき判断。一実施形態では、ホーム列位置に指を載置しているユーザが載置している指で表面を押すと、タッチセンサ120によって感知される変化に基づき、オンスクリーンキーボードが一時的に可視となる。一実施形態では、ユーザがタッチセンサ領域の外側の囲いの端でダブルタップやトリプルタップ等の所定の動作を行うと、オンスクリーンキーボードが可視となる。オンスクリーンキーボードは通常、出現するように設定された場合に、一般的には挿入キャラットまたは類似する標識によって視覚的に表示されるテキスト挿入条件が存在するときにオペレーティングシステム171によって指示、出現する。一実施形態では、FおよびJホーム列キーで一般的に使用される触覚マーカが触覚フィードバックタッチスクリーンで発生する振動等によって模擬される。触覚フィードバックは、ユーザがそれらのキーに指を載置したときに提供される。このようにしてユーザはキーボードを同じ画面上の位置に静止させることを選ぶ場合に、タッチだけで見ずに手の正しい配置を確認できる。キーボードの精度を高めるため統計的言語モデルが使用される。タッチ/タップイベントによるキーの選択が曖昧な場合はプロセッサ110が統計モデルを呼び出し、ユーザが目的とする見込みが最も高いキーを提供する。本発明では所望のキーについての永続的決定をその場で下さなければならないため、この曖昧排除は他のテキスト入力システムで使われている他の方法と異なる。語の選択をユーザに向けて表示し出力を修正するためのエンドオブワードデリニエーションendofworddelineationはない。代わりに、ユーザがキーをタップするたびに決定を下さなければならず、キー作動を目的のアプリケーションプログラムすなわちテキスト入力プログラムへ送らなければならない。部分一致文字予測partialmatchletterprediction、現在語予測currentwordprediction、次語予測nextwordprediction、接続次語予測conjunctivenextwordprediction等、数通りの統計的分析法を使用できる。以降の節ではこれらを詳しく説明する。部分一致による予測この場合に有用な周知のアルゴリズムは、データ圧縮のため当初発明された部分一致による予測PPMである。キーボードに応用されたPPMアルゴリズムは、既に出来した長さkの文字列から最も見込みの高い次の文字を予測するために使われる。計算時間および資源は値kとともに指数関数的に増大する。したがって、まずまずの曖昧排除結果をもたらす最も低いk値を使用するべきである。一例としてk=2とする。本発明のプロセスは入力された過去の2文字に注目し、タイプされる見込みが最も高い次の文字の確率をデータベースから比較する。例えば下記の下線が引かれた文字は、見込みが最も高い次の文字を予測するために使われる。AnAnAneAnexAnexaAnexamAnexampAnexamplAnexampleこのアルゴリズムで可能性のあるキーの合計数Aに必要なデータ蓄積量は次の通りである。Ak1典型的なオンスクリーンキーボードの場合、このプロセスは1MB未満のデータを消費する。各言語につき統計モデルが構築されるkは小さい値。共通根を持つ言語で表は類似することがある。また、モデルはユーザがテキストを入力するにつれ動的に更新する。こうしてシステムはユーザのタイピングパターンを学習し、時間が経つにつれより正確にタイピングパターンを予測する。言語異形はオペレーティングシステムのコントロールパネルを通じて設定される言語別辞書の形で提供される。コントロールパネルはシステムロケールから現在のユーザの言語を識別し、適切な予測辞書を選択する。辞書は、新語識別と共通語使用採点を提供する連続的に実行するsystrayアプリケーションを使用して照会される。一実施形態では、意図されるキー作動を絞り込むため、ある言語で一般的に使用される語からなるデータベースが使用される。アルゴリズムはこれまでにタイプされた文字を語データベースに単に比較し、データベースでの一致に基づき最も見込みのある次の文字を予測する。例えばユーザがHelとタイプしたとする。語データベースで起こりうる一致は次の通りである。Hello50Help20Hell15Helicopter10Hellacious5各語の横の数字は100で正規化された使用頻度を表す。便宜上、この例の合計頻度は100になるが、通常はそうならない。Helの後に続く見込みが最も高い候補文字は次の通りである。L70-語Hello、Hell、およびHellaciousで加算された確率P20I20この例は、文字L、P、およびIが互いに近接している点がとりわけ有用である。ユーザは数通りのキー例えばI、O、P、またはLに近い位置をタップする可能性がある。語予測を加えることにより選択は大幅に絞り込まれる。この例で最も見込みのある次の文字は明らかにLである。尚、この語予測アルゴリズム実装はオンスクリーンキーボードに従来使われているものと異なる。なぜならこれは実際には語予測システムではなく、語データベースを使用する文字予測システムだからである。一実施形態では、選択される見込みが最も高いキーをさらに絞り込むため語対が使用される。簡素な語予測では現在の語の最初の文字を絞り込むための文脈がない。これは完全に曖昧である。この曖昧排除はその語の2番目以降の文字で若干低減される。ある語の最初の数文字の曖昧性は、現在の語の直前に入力された語を考慮に入れることにより大幅に低減される。これは次語予測と呼ばれる。例えば入力された語がCleankeysだったなら、データベースに蓄積された一般的な次の語は下記の通りである。Keyboard80Inc.20Is20Will15Makes10Touch5ユーザが次の語の先頭としてIキーとKキーの間を曖昧にタップする場合、次語予測アルゴリズムは絞り込みを支援するこの場合はKが勝つ。ロジックでは、タイプされた以前の語を検討するコンセプトは、タイプされた以前のk個の語まで展開されるものと決めてもよい。例えばk=2の場合、システムはデータベース内の全ての語につき第2度次語次の次の語を有するデータベースを蓄積する。換言すると、2つの前の語の組み合わせに注目し、後に続く見込みが最も高い語を判断する。ただし、これはスペースと計算能力の点でたちまち不利となる。組み合わせの殆どは出来しないため、そのように多くの組み合わせを蓄積することは実際的でなく、有益でもない。ただし、検討に値する大きな例外がある。非常に多数の次語候補を持つ語である。接続詞や冠詞として知られる品詞がこれに該当する。英語で最も使われる7つの接続詞は次の通りである。and、but、or、for、yet、so、nor。英語の冠詞は次の通りである。the、a、an。これらの10語を特別扱いすることにより、システムは第1文字予測を改善する。kickthe_という句を検討する。データベース内の全ての名詞は冠詞theにとって最も見込みのある次語候補となるため、次語予測アルゴリズムから得られるメリットは殆どない。ただし、冠詞theの前のkickの文脈が記憶されるなら、有意義な次次語選択が達成される。具体的にはkick_theという新しい語がデータベースに蓄積される。この新しい要素の次語候補は次の通りである。Ball50Bucket20Habit15Can10Tires5したがって、句kick_the_の後に続く見込みが最も高い次の文字が文字Bであると確信を持って予測できる。接続詞または冠詞と組み合わされた状態で見つかる語は、それらの品詞と組み合わされて新しい語要素を形成する。ここで説明する文字単位予測システムと語本位予測システムとの顕著な違いは、文字ごとに予測の方向を動的に変える能力にある。例えば、ある特定のキーについて推測を誤り、その後に所望の語が明らかとなる場合、アルゴリズムは間違った文字について行った選択を破棄し、新たに判断された目的の語に基づき残りの文字に予測を適用する。例:語が進むにつれ、最初の文字BがHであるべきだったことが明らかとなるこれらの文字はqwertyキーボードレイアウトで互いに近いため間違えやすい。その最初の文字を完全に確定し、Bから始まる語だけを検討するのではなく、システムは2番目の文字を予測するにあたって別の候補も検討する。したがって、後続のキーの最初の文字としてB、H、およびGが検討される。誤りは波及せず、ユーザは潜在的に多数の訂正を行う代わりに1回の訂正を行うだけでよい。入力される新たなキーごとに、当該キーに近接するキーと他の曖昧な候補が後続の文字を判断する際の可能性として検討される。ユーザが誤りを犯しバックスペースを使ってこれを訂正すると、システムはそのデータをアルゴリズムに投入し、相応に調整を行うことができる。例えば、ユーザがキーボードの中央であるキーを曖昧に入力すると、採点アルゴリズムは可能性のある候補としてH、J、およびNを指示する。これらの3文字の得点は許容範囲内であり、最高得点が取られる。例えば、アルゴリズムは文字Jを最も見込みがある候補として返し、キーボードはこれを出力するとする。この直後、ユーザは<バックスペース>とHを明確にタイプし、誤りを訂正する。この情報は採点アルゴリズムにフィードバックされ、採点アルゴリズムは、曖昧なキーが当初入力されたときにJより高くHを採点したサブアルゴリズムがどれなのかを調べる。それらのアルゴリズムの重みは増加されるため、同じ曖昧な入力が再び起こるなら文字Hが選択される。このようにユーザの訂正に直接基づいてフィードバックループが提供される。勿論、アルゴリズムのためではなくユーザ自身がタイピングの誤りを犯すこともある。アルゴリズムはユーザがタイプしたものを正確に出力する。したがって、ユーザ訂正フィードバックループを開始するべきか否かを判断するときには注意を払わなければならない。通常これは問題のキーが曖昧だったときにのみ起こる。ユーザ設定可能オプションにより、キーボードは明らかに間違っていた語を訂正するためバックスペースと新たな文字を発行できる。上の例で、論理にかなった語選択がhabitのみであると予測器が判断すると、キーボードはバックスペースを発行し、bをhに変更し、後続の文字を再発行する場合によっては語を完成させる。キーの曖昧排除には多数の要因が関与し、全てのアルゴリズムはキーの立候補を増加させる可能性がある。このアプローチは採点と呼ばれる。全てのアルゴリズムは重み付けされ、合計される。ユーザのタイピングスタイルおよび環境に合わせて採点アルゴリズムを調整するため、重み付けは動的に変更される。図3Aは、タッチ感応ディスプレイ352が前面に組み込まれた典型的な手持ち型タブレットコンピュータ350と本発明の一実施形態に従って設計および使用されるキーボード354の概略図を示す。本発明に従って使用されるキーボード354はテキストを生成し、生成されたテキストはテキスト表示領域358のテキスト挿入位置360に出力される。本願における用語キーボードは、タッチ感応ディスプレイに提示されるキーボードを含む、タッチおよびタップ感応表面で実現されるキーボードを指す。キーボード354は、殆どのキーボードに見られる標準QWERTY配置に概ね配置された個々のキーでユーザによって選ばれる各言語のアルファベット文字を表示する。一実施形態において、キーボードならびに個々のキーの向き、位置、およびサイズは、ユーザの入力挙動に従って適応的に変更される。ユーザが特定の方法でタッチ表面352に指を載置すると、システムは載置している指によって決まる位置へキーボード354を移動させる。ユーザはキーボード354であるキーを作動させようとするときに、指を上げ、認識できる力で表面352を叩くことにより、所望のキーをタップする。タッチセンサ領域352の外側の領域362、364で行われるユーザのタップは振動センサによって検出され、スペースバー等のキーボード機能に割り当てることもできる。タッチセンサ信号の不在は実際には値ゼロの信号であり、タップまたは振動センサと相関され、タップ位置を一意に識別するために使用できる。一実施形態において、領域362、364で示される領域等、タッチセンサ領域352の外側の特定の領域の振動信号は一意であり、システムによってデータベースに蓄積される。タップイベントとともにタッチ信号の不在が発生すると、システムはタップの振動特性をデータベースに蓄積された振動特性に比較し、外部タップの位置を判断する。一実施形態において、下外側境界領域362はスペース機能に割り当てられ、右外側境界領域364はバックスペース機能に割り当てられる。図3Bは例示的仮想オンスクリーンキーボード370の概略図である。キーボード370は2つの半分に、すなわち左半分372と右半分374ユーザの左および右手に相関とに、分割されている。2つの独立した半分372、374は互いに揃っていない。ユーザの指が通常載置される8個のキー378は、それらのキーに通常使われる指に応じて太字のラベルで表示されている例えばL1は左手の人さし指を表し、L4は左手の小指を表す。他の非ホーム列キーは、従来のタッチタイピング手法でそれらのキーのタイピングに通常使われる指を示すラベルで表示されている。ただし、図3Bに示す指配置を使用しないタイピングスタイルも多数あり、ラベルが専ら説明の目的で使われていることに注意されたい。キーボードの左半分372では従来の電気機械式キーボードのように全てのキーが水平の列に並べられている。一実施形態では、右半分374に見られるように、ホーム列キーがユーザの4本の指の通常の載置位置により良好に適合するため円弧に沿って分散されている。非ホーム列キーも同様にホーム列載置キーに対する相対位置に従って分散されている。一実施形態では、各キーのサイズもユーザがキーを選ぶ統計的見込みに従って変化できる見込みが高いほどキーは大きい。図3Cは、本発明の一実施形態に従って傾いた仮想オンスクリーンキーボード384の概略図である。ユーザは、典型的手持ち型タブレットコンピュータ394のタッチ感応表面392で手390をユーザが望む任意の位置および向きに載置できる。この場合、手は通常より離れており、装置394の直線端に対し傾いている。ユーザはホーム列規定イベントを指示する行為を開始する。ホーム列規定イベントは、全8本の指を短いユーザ規定可能時間にわたり載置すること、表面392で全8本の指を同時にダブルタップしてから表面392に載置すること、または表面392に載置した全8本の指を同時に押し付けること、を含み、ただしこれらに限定されない。別の実施形態では、ホーム列規定イベントを開始するにあたって全8本の指は必要とされない。例えば中指がない人は、その手の3本の指だけでホーム列規定イベントを開始できる。ユーザはタブレットコンピュータ394で手290を斜めに載置しているため、コンピュータ294のプロセッサは仮想オンスクリーンキーボード384を生成し斜めに表示している。排他的な所有権または特権を請求する本発明の実施形態は次のように定義される。"