(57)【特許請求の範囲】
【請求項１】
プロセッサと、
命令を記憶するメモリと
を備えたシステムであって、
前記命令は前記プロセッサによって実行されると、前記システムに
ジェスチャ感知式キーボード上で単一の連続ジェスチャが実行されている時に、前記ジェスチャの位置を複数の時点でサンプリングすることと、
前記複数のサンプルから、前記ジェスチャに基づくユーザが意図した入力を示す前記ジェスチャ感知式キーボードの複数のターゲットの１つに関連する１又はそれ以上の特徴を生成することと、
前記１又はそれ以上の特徴を含む用語プレフィックスツリーを生成することと、
前記特徴及び前記複数のターゲットの前記１つのターゲットの距離に基づいて、前記用語プレフィックスツリー内の、前記１又はそれ以上の特徴を与えられた１又はそれ以上の経路を選択することであって、前記プレフィックスツリー内の経路を、２つの特徴に関連する前記キーボードの２つのターゲットを結ぶ直線と、前記２つの特徴の間の前記ジェスチャのトポグラフィとに依存して予測することを含む、ことと、
前記１又はそれ以上の特徴から１又はそれ以上の用語を予測することと
を含む動作を実行させる、システム。
【請求項２】
前記命令はさらに、前記システムに、前記用語プレフィックスツリーを表すグラフをグラフ理論によって生成させる、請求項１に記載のシステム。
【請求項３】
前記命令はさらに、前記システムに、前記ジェスチャ感知式キーボードのターゲットを通過しようとしたジェスチャを示す、前記ジェスチャ感知式キーボード上の前記ジェスチャの位置を識別することにより、前記複数のサンプルから１又はそれ以上の特徴を生成させる、請求項１に記載のシステム。
【請求項４】
前記複数のターゲットの前記１つのターゲットは、点ターゲット又は線ターゲットである、請求項１に記載のシステム。
【請求項５】
前記命令はさらに、前記システムに、前記複数のターゲット毎に特徴を識別させる、請求項１に記載のシステム。
【請求項６】
前記命令はさらに、前記システムに、前記特徴と前記複数のターゲットの前記１つのターゲットの間の最小距離が閾値距離を下回る場合にのみ特徴を保持させる、請求項１に記載のシステム。
【請求項７】
前記用語プレフィックスツリーは、前記１又はそれ以上の特徴を所与として許可される辞書プレフィックスツリーの用語を保持することにより生成される、請求項１に記載のシステム。
【請求項８】
前記命令はさらに、前記システムに、前記プレフィックスツリーに、特徴として識別されていない前記辞書プレフィックスツリーの用語の一部の文字に対応するノードを挿入させる、請求項７に記載のシステム。
【請求項９】
前記複数のターゲットは、アルファベット文字に対応し、
前記用語プレフィックスツリーは、完成した単語の最後の文字を表す１又はそれ以上のノードを含み、
前記命令はさらに、前記システムに、前記最後の文字に対応するノードが前記完成した単語内に存在する場合、前記プレフィックスツリーに、単語境界の区切り文字に対応するノードを挿入させる、請求項１に記載のシステム。
【請求項１０】
前記命令はさらに、前記システムに、前記単語境界の区切り文字に関連する特徴が識別されていない場合、前記単語境界の区切り文字に対応するノードに関連する確率を低下させる、請求項９に記載のシステム。
【請求項１１】
一連の１又はそれ以上の特徴内の残りの特徴を所与として許可される辞書プレフィックスツリーの用語を保持することにより、前記単語境界の区切り文字に対応するノードにおいて、新たな用語プレフィックスツリーが生成される、請求項１０に記載のシステム。
【請求項１２】
前記命令はさらに、前記システムに、前記新たな用語プレフィックスツリーを文脈データに基づいてプルーニングするために、単語境界の区切りを表すノードにメタデータを関連付けさせる、請求項１１に記載のシステム。
【請求項１３】
前記複数のターゲットは、アルファベット文字、又は単語境界の区切り文字に対応し、前記命令はさらに、前記システムに、前記プレフィックスツリー内に、前記１又はそれ以上の特徴を与えられた反復文字のための有効な経路が存在する場合、前記反復文字を含む辞書プレフィックスツリーの用語を保持することにより、所与の特徴が、関連する前記文字の反復インスタンスを表せるようにさせる、請求項１２に記載のシステム。
【請求項１４】
前記命令はさらに、前記システムに、前記用語プレフィックスツリーをプルーニングして、グラフ内の経路の確率が予め設定した閾値を下回る経路を削除させる、請求項１に記載のシステム。
【請求項１５】
各特徴は、前記ジェスチャと前記複数のターゲットの前記１つのターゲットの間の最小距離に対応する距離メトリックを含み、前記命令はさらに、前記システムに、前記距離メトリックを用いて、前記用語プレフィックスツリー内の各経路に関連する確率推定値を生成させる、請求項１に記載のシステム。
【請求項１６】
前記命令はさらに、前記システムに、対応するルートが閾値を上回る確率推定値を有する用語を前記１又はそれ以上の用語として戻させる、請求項１５に記載のシステム。
【請求項１７】
前記命令はさらに、前記システムに、
前記ジェスチャの最後の位置に対応する１又はそれ以上の特徴を識別させ、
前記ジェスチャの最後の位置に対応する前記１又はそれ以上の特徴を表すいずれかのノードが前記用語プレフィックスツリーのリーフに対応する場合のみ、前記ノードに所与の経路の累積確率の指示を割り当てさせる、請求項１に記載のシステム。
【請求項１８】
前記１又はそれ以上の用語は、現在利用可能なサンプルに基づいて予測される、請求項１に記載のシステム。
【請求項１９】
前記命令はさらに、前記システムに、前記単一の連続ジェスチャが行われて、さらに多くのサンプルが生成されている時に、前記１又はそれ以上の用語の前記予測を定期的に更新させる、請求項１に記載のシステム。
【請求項２０】
前記命令はさらに、前記システムに、ジェスチャ感知式キーボード上の１又はそれ以上の文字上で、ユーザが前記１又はそれ以上の単語のプレフィックスを示すように意図されたジェスチャを行うことに対応する単一の連続ジェスチャに基づいて前記単語を予測させる、請求項１に記載のシステム。
【請求項２１】
前記命令はさらに、前記システムに、ジェスチャ感知式キーボード上の複数の単語を表す文字上でジェスチャを行うことに対応する単一の連続ジェスチャに基づいて、一連の２又はそれ上の単語を含む語句を予測させる、請求項１に記載のシステム。
【請求項２２】
前記命令はさらに、前記システムに、文脈情報を用いて前記１又はそれ以上の用語の前記予測を調整させる、請求項１に記載のシステム。
【請求項２３】
前記命令はさらに、前記システムに、前記ジェスチャ感知式キーボードのトポグラフィをジェスチャの速度又はジェスチャの曲線方向の少なくとも１つと組み合わせたものに基づいて前記１又はそれ以上の用語を予測させる、請求項１に記載のシステム。
【請求項２４】
前記経路の確率は、前記２つのターゲット間の直線距離と、前記２つのターゲット間における前記ジェスチャの曲線長との間の差分の単調減少関数に基づく、請求項１に記載のシステム。
【請求項２５】
前記経路の確率は、前記２つのターゲット間の直線の方向と、前記２つのターゲット間の各地点におけるジェスチャの方向との間の差分の単調減少関数に基づく、請求項１に記載のシステム。
【請求項２６】
ジェスチャ感知式キーボードでの単一の連続ジェスチャから１又はそれ以上の用語を予測する方法であって、
前記ジェスチャ感知式キーボード上で前記ジェスチャが実行されている時に、前記ジェスチャの位置を複数の時点でサンプリングするステップと、
前記複数のサンプルから、前記ジェスチャに基づく入力を示す前記ジェスチャ感知式キーボード上のターゲットに関連する１又はそれ以上の特徴を生成し、
前記１又はそれ以上の特徴を含む用語プレフィックスツリーを生成し、
前記特徴及び前記ターゲットの距離に基づいて、前記用語プレフィックスツリー内の、前記１又はそれ以上の特徴を与えられた１又はそれ以上の経路を選択することであって、前記プレフィックスツリー内の経路を、２つの特徴に関連する前記キーボードの２つのターゲットを結ぶ直線と、前記２つの特徴の間の前記ジェスチャのトポグラフィとに依存して予測することを含む、
ことにより前記複数のサンプルから１又はそれ以上の用語を予測するステップと、
を含むことを特徴とする方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ジェスチャ感知式キーボードでのユーザのジェスチャから１又はそれ以上の用語を予測するためのシステム及び方法に関する。具体的には、ユーザによる単一の連続ジェスチャから１又はそれ以上の用語を予測することができる。
【背景技術】
【０００２】
現在では、タッチセンサ式キーボード／画面でのユーザの「ストローク」に基づいて１つの単語を予測するシステムが存在する。
【０００３】
１つのこのようなシステムが、「連続ストロークによる単語に基づくテキスト入力システム及び方法（Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｃｏｎｔｉｎｕｏｕｓ  Ｓｔｒｏｋｅ  Ｗｏｒｄ−ｂａｓｅｄ  ｔｅｘｔ  ｉｎｐｕｔ）」という名称の米国特許第７，０９８，８９６号に開示されており、このシステムは、データベース内に蓄積された単語を含む。入力ストロークパターンから単語を予測する方法は、入力ストロークパターンをデータベース内の一連の単語と比較することを含む。この方法は、候補単語の終了文字を識別するために、ストロークパターンにおける「最終タッチポイント」を識別することを含む。この結果、入力ストロークパターンから識別された単語の最初と最後の文字に基づいて候補単語が予測される。入力されたストロークパターンの実際の経路長が、単語データベース内の各単語と共に記憶されている予想経路長と比較される。
【０００４】
「仮想キーボードレイアウトに基づいて単語パターンを認識するためのシステム及び方法（Ｓｙｓｔｅｍ  ａｎｄ  Ｍｅｔｈｏｄ  ｆｏｒ  Ｒｅｃｏｇｎｉｚｉｎｇ  Ｗｏｒｄ  Ｐａｔｔｅｒｎｓ  Ｂａｓｅｄ  ｏｎ  ａ  Ｖｉｒｔｕａｌ  Ｋｅｙｂｏａｒｄ  Ｌａｙｏｕｔ）」という名称の米国特許第７，２５１，３６７号には、連続ストロークから単語を予測するための別の方法が開示されている。この開示では、ストローク入力パターンが、ここでも１つの単語の境界内で、予め設定されたストロークパターンのライブラリと比較される。この技術は、完全に予め定義されたライブラリ、及び動的に生成されるライブラリの両方を用いて実証されている。
【０００５】
上述したものを含む既知のシステムは全て、単語を表すための入力ストロークをデータベース内の単語とマッチさせる課題を、入力ストロークパターンと、データベース内の個々の単語の開始文字及び終了文字に（近似的に）対応する規定の開始点及び終了点とに基づいて解決するという原理に基づく。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】米国特許第７，０９８，８９６号明細書
【特許文献２】米国特許第７，２５１，３６７号明細書
【特許文献３】国際出願第ＧＢ２０１１／００１４１９号
【特許文献４】国際公開第２０１０／１１２８４１号
【発明の概要】
【発明が解決しようとする課題】
【０００７】
既知のシステム及び方法の問題点は、入力ストロークがデータベース内の単語の開始文字及び終了文字と一致することに制限され、ユーザが完全な１つの単語に対応するストロークを入力する必要があり、そのように制限される点である。
【０００８】
従って、既知のシステム及び方法は、例えばユーザが１回の連続ストロークで語句を入力しようとした場合、ある単語のプレフィックスに対応する入力ストローク、又は複数の単語に対応する入力ストロークに基づいて単語を予測することができない。
【０００９】
本発明の目的は、上述した問題点を解決することである。
【課題を解決するための手段】
【００１０】
本発明の第１の態様では、ジェスチャ感知式キーボードでの単一の連続ジェスチャから１又はそれ以上の用語を予測する方法を提供する。この方法は、ジェスチャ感知式キーボード上でジェスチャが実行されている時に、このジェスチャの位置を複数の時点でサンプリングするステップと、これらの複数のサンプルから、ユーザがジェスチャの実行時に入力しようとした可能性のある、ジェスチャ感知式キーボード上のターゲットに各々が関連する１又はそれ以上の特徴を生成し、これらの１又はそれ以上の特徴を含む用語プレフィックスツリーを生成し、この用語プレフィックスツリー内の、１又はそれ以上の特徴を与えられた１又はそれ以上の経路を発見することにより、複数のサンプルから１又はそれ以上の用語を予測するステップとを含む。
【００１１】
用語プレフィックスツリーはグラフによって表され、方法は、グラフ理論を用いてグラフを生成するステップを含むことが好ましい。
【００１２】
複数のサンプルから１又はそれ以上の特徴を生成するステップは、ユーザがジェスチャ感知式キーボードのターゲットを通過しようとした可能性のあるジェスチャ感知式キーボード上のジェスチャの位置を識別するステップを含むことが好ましい。特徴の位置は、ターゲットの最も近くを通ったジェスチャの位置であることが好ましい。ターゲットは、点ターゲット又は線ターゲットとすることができる。特徴は、ジェスチャ感知式キーボード上のターゲット毎に識別されることが好ましい。特徴とターゲットの間の最小距離が閾値距離を下回る場合にのみ特徴が保持されることが好ましい。
【００１３】
各特徴は、ジェスチャとターゲットの間の最小距離に対応する距離メトリックを含むことができる。
【００１４】
用語プレフィックスツリーは、１又はそれ以上の特徴を所与として許可される辞書プレフィックスツリーの用語を保持することにより生成されることが好ましい。辞書プレフィックスツリーの用語は、特徴がこの用語に対応しない場合でも保持することができる。
【００１５】
ジェスチャ感知式キーボードのターゲットは、アルファベット文字、及び任意にスペース及び／又は句読記号などの単語境界の区切り文字に対応することができる。用語プレフィックスツリーは、完成した単語の最後の文字を表す１又はそれ以上のノードを含むことができ、用語プレフィックスツリーを生成するステップは、この最後の文字に対応するノードが単語内に存在する場合、スペース文字に対応するノードをプレフィックスツリーに挿入するステップをさらに含むことができる。スペース文字に関連する特徴が識別されていない場合、このスペース文字に対応するノードに関連する確率が低下することが好ましい。用語プレフィックスツリーを生成するステップは、スペース文字に対応するノードにおいて、一連の１又はそれ以上の特徴内の残りの特徴を所与として許可される辞書プレフィックスツリーの用語を保持することにより生成される新たな用語プレフィックスツリーを生成するステップをさらに含むことができる。
【００１６】
方法は、用語プレフィックスツリーをプルーニングして、用語プレフィックスツリー内の、所与の経路の確率を最も可能性の高い経路の確率で割った比率が予め設定した閾値を下回る全ての経路を削除するステップをさらに含むことが好ましい。スペース文字を表すノードは、新たな用語プレフィックスツリーを文脈データに基づいてプルーニングするためにメタデータを含むことができる。
【００１７】
用語プレフィックスツリーを生成するステップは、１又はそれ以上の特徴を与えられた反復文字のための有効な経路がプレフィックスツリー内に存在する場合、この反復文字を含む辞書プレフィックスツリーの用語を保持することにより、所与の特徴が関連する文字の反復インスタンスを表せるようにするステップをさらに含むことができる。
【００１８】
１つの実施形態では、用語プレフィックスツリー内の１又はそれ以上の経路を発見するステップが、経路発見アルゴリズムを使用するステップを含む。経路発見アルゴリズムは、距離メトリックを用いて用語プレフィックスツリー内の各経路に関連する確率推定値を生成することができる。経路発見アルゴリズムは、対応するルートが閾値を上回る確率推定値を有する用語を１又はそれ以上の用語として戻すように構成されることが好ましい。
【００１９】
別の実施形態では、用語プレフィックスツリー内の１又はそれ以上の経路を発見するステップが、ジェスチャの最後の位置に対応する１又はそれ以上の特徴を識別するステップと、このジェスチャの最後の位置に対応する１又はそれ以上の特徴を表すいずれかのノードが用語プレフィックスツリーのリーフに対応する場合のみ、ノードに所与の経路の累積確率の指示を割り当てるステップとを含む。１又はそれ以上の経路は、これらの経路の累積確率順に順序付けることができ、累積確率が閾値を上回る、１又はそれ以上の用語に対応する（単複の）経路が戻される。
【００２０】
経路発見手段のいずれかの実施形態では、全ての現在利用可能なサンプルに基づいて１又はそれ以上の用語が予測される。方法は、単一の連続ストロークが行われてさらに多くのサンプルが生成されている時に、１又はそれ以上の用語の予測を定期的に更新するステップを含む。
【００２１】
１又はそれ以上の用語を予測するステップは、１又はそれ以上の単語を予測するステップを含むことができる。１又はそれ以上の単語は、ユーザがジェスチャ感知式キーボード上の１又はそれ以上の文字上で単語のプレフィックスを示すように意図されたジェスチャを行うことに対応する単一の連続ジェスチャに基づいて予測することができる。１又はそれ以上の単語を予測するステップは、ユーザがジェスチャ感知式キーボード上の複数の単語を表す文字上でジェスチャを行うことに対応する単一の連続ジェスチャに基づいて、一連の２又はそれ上の単語を含む語句を予測するステップを含むことができる。方法は、文脈情報を用いて１又はそれ以上の用語の予測を調整するステップを含むことが好ましい。
【００２２】
サンプリングは、予め設定した周波数で行われることが好ましい。このサンプリング周波数は、約６０Ｈｚとすることができる。
【００２３】
１又はそれ以上の用語の予測は、ジェスチャ感知式キーボードのトポグラフィをジェスチャの速度及び／又はジェスチャの曲線方向と組み合わせたものに基づくことが好ましい。プレフィックスツリー内の経路の確率は、２つの特徴と、この２つの特徴に関連するキーボードのターゲットとの間のジェスチャのトポグラフィに依存することができる。経路の確率は、２つのターゲット間の直線距離と、２つのターゲット間におけるジェスチャの曲線長との間の差分の単調減少関数に基づくことができる。経路の確率は、２つのターゲット間の直線の方向と、この２つのターゲット間の各地点におけるジェスチャの方向との間の差分の単調減少関数に基づくことができる。
【００２４】
ジェスチャはストロークとすることができ、ジェスチャ感知式キーボードはタッチセンサ式キーボードである。方法は、単一の連続ストロークを形成するためにユーザがキーボードをストロークすることからの圧力を検出するステップを含むことができ、サンプリングするステップは、圧力が存在する位置をサンプリングするステップを含む。サンプリングは、所与の時点における圧力値及び位置を検出するステップを含むことができる。
【００２５】
本発明の第２の態様では、上述した方法をプロセッサに実行させるためのコンピュータプログラム手段を記憶したコンピュータ可読媒体を含むコンピュータプログラム製品を提供する。
【００２６】
本発明の第３の態様では、システムを提供する。このシステムは、ジェスチャ感知式キーボード上で単一の連続ジェスチャが実行されている時のジェスチャの位置に各々が対応する、異なる時点でサンプリングされた複数のサンプルから、ジェスチャ感知式キーボードの、ユーザがジェスチャを実行した時に入力しようとした可能性のある複数のターゲットの１つに関連する１又はそれ以上の特徴を生成するように構成された特徴識別手段と、これらの１又はそれ以上の特徴から１又はそれ以上の用語を予測するように構成された予測手段とを備え、この予測手段は、１又はそれ以上の特徴を含む用語プレフィックスツリーを生成するように構成されたプレフィックスツリー生成手段と、用語プレフィックスツリー内の、１又はそれ以上の特徴を与えられた１又はそれ以上の経路を発見するように構成された経路発見手段と、予測子とを含む。
【００２７】
システムは、複数のターゲットを含み単一の連続ジェスチャを入力として受け取るように構成されたジェスチャ感知式キーボードをさらに備える。
【００２８】
システムは、ジェスチャが行われた時にジェスチャ感知式キーボード上のジェスチャの位置を複数の時点でサンプリングするためのサンプリング手段をさらに備えることができる。
【００２９】
プレフィックスツリー生成手段は、用語プレフィックスツリーを表すグラフをグラフ理論によって生成するように構成することができる。
【００３０】
特徴識別手段は、ユーザがジェスチャ感知式キーボードのターゲットを通過しようとした可能性のあるジェスチャ感知式キーボード上のジェスチャの位置を識別することにより、複数のサンプルから１又はそれ以上の特徴を生成するように構成されることが好ましい。特徴の位置は、ターゲットの最も近くを通ったジェスチャの位置であることが好ましい。ターゲットは、点ターゲット又は線ターゲットとすることができる。特徴識別手段は、複数のターゲット毎に特徴を識別するように構成されることが好ましく、特徴とターゲットの間の最小距離が閾値距離を下回る場合にのみ特徴を保持するように構成することができる。
【００３１】
各特徴は、ジェスチャとターゲットの間の最小距離に対応する距離メトリックを含むことが好ましい。
【００３２】
プレフィックスツリー生成手段は、１又はそれ以上の特徴を所与として許可される辞書プレフィックスツリーの用語を保持することにより、用語プレフィックスツリーを生成するように構成されることが好ましい。辞書プレフィックスツリーの用語は、この用語に特徴が対応しない場合でも保持することができる。
【００３３】
複数のターゲットは、アルファベット文字、及び任意にスペース及び／又は句読記号などの単語境界の区切り文字に対応することができる。用語プレフィックスツリーは、完成した単語の最後の文字を表す１又はそれ以上のノードを含むことができ、プレフィックスツリー生成手段は、この最後の文字に対応するノードが単語内に存在する場合、スペース文字に対応するノードをプレフィックスツリーに挿入するように構成される。プレフィックスツリー生成手段は、特徴識別手段がスペース文字に関連する特徴を識別しなかった場合、このスペース文字に対応するノードに関連する確率を低下させるように構成されることが好ましい。プレフィックスツリー生成手段は、スペース文字に対応するノードにおいて、一連の１又はそれ以上の特徴内の残りの特徴を所与として許可される辞書プレフィックスツリーの用語を保持することにより生成される新たな用語プレフィックスツリーを生成するように構成されることが好ましい。
【００３４】
プレフィックスツリー生成手段は、用語プレフィックスツリーをプルーニングして、グラフ内の経路の確率が予め設定した閾値を下回る全ての経路を削除するように構成することができる。プレフィックスツリー生成手段は、新たな用語プレフィックスツリーを文脈データに基づいてプルーニングするために、スペース文字を表すノードにメタデータを関連付けるように構成されることが好ましい。
【００３５】
プレフィックスツリー生成手段は、１又はそれ以上の特徴を与えられた反復文字のための有効な経路がプレフィックスツリー内に存在する場合、反復文字を含む辞書プレフィックスツリーの用語を保持することにより、所与の特徴が関連する文字の反復インスタンスを表せるようにするように構成することができる。
【００３６】
１つの実施形態では、経路発見手段が経路発見アルゴリズムである。経路発見アルゴリズムは、距離メトリックを用いて用語プレフィックスツリー内の各経路に関連する確率推定値を生成するように構成することができる。経路発見アルゴリズムは、対応するルートが閾値を上回る確率推定値を有する用語を１又はそれ以上の用語として戻すように構成されることが好ましい。
【００３７】
別の実施形態では、特徴識別手段が、ジェスチャの最後の位置に対応する１又はそれ以上の特徴を識別するように構成され、プレフィックスツリー生成手段が、このジェスチャの最後の位置に対応する１又はそれ以上の特徴を表すいずれかのノードが用語プレフィックスツリーのリーフに対応する場合のみ、このノードに所与の経路の累積確率の指示を割り当てるように構成される。経路発見手段は、累積確率を順序付け、対応するルートが閾値を上回る累積確率推定値を有する用語を１又はそれ以上の用語として戻すように構成されることが好ましい。
【００３８】
予測子は、１又はそれ以上の用語を全ての現在利用可能なサンプルに基づいて予測するように構成されることが好ましく、単一の連続ストロークが行われてサンプリング手段がさらに多くのサンプルを生成している時に、１又はそれ以上の用語の予測を定期的に更新するように構成することができる。
【００３９】
予測子は、１又はそれ以上の単語を予測するように構成されることが好ましい。予測子は、ジェスチャ感知式キーボード上の１又はそれ以上の文字上でユーザが１又はそれ以上の単語のプレフィックスを示すように意図されたジェスチャを行うことに対応する単一の連続ジェスチャに基づいて単語を予測するように構成することができる。予測子は、ジェスチャ感知式キーボード上の複数の単語を表す文字上でユーザがジェスチャを行うことに対応する単一の連続ジェスチャに基づいて、一連の２又はそれ上の単語を含む語句を予測するように構成することができる。予測子は、文脈情報を用いて１又はそれ以上の用語の予測を調整するように構成されることが好ましい。
【００４０】
サンプリング手段は、予め設定した周波数でサンプリングを行うように構成されることが好ましい。このサンプリング周波数は、約６０Ｈｚとすることができる。
【００４１】
予測子は、ジェスチャ感知式キーボードのトポグラフィをジェスチャの速度及び／又はジェスチャの曲線方向と組み合わせたものに基づいて１又はそれ以上の用語を予測するように構成されることが好ましい。予測子は、プレフィックスツリー内の経路を、２つの特徴と、これら２つの特徴に関連するキーボードのターゲットとの間のジェスチャのトポグラフィに依存して予測するように構成されることが好ましい。経路の確率は、２つのターゲット間の直線距離と、この２つのターゲット間におけるジェスチャの曲線長との間の差分の単調減少関数に基づくことができる。経路の確率は、２つのターゲット間の直線の方向と、この２つのターゲット間の各地点におけるジェスチャの方向との間の差分の単調減少関数に基づくことができる。
【００４２】
ジェスチャ感知式キーボードは、タッチセンサ式キーボードであり、単一の連続ジェスチャは、タッチセンサ式キーボードでのストロークである。タッチセンサ式キーボードは、ユーザがタッチセンサ式キーボードをストロークすることからの圧力を検出するように構成することができ、サンプリング手段は、圧力が存在するストロークの位置をサンプリングするように構成される。サンプリング手段は、所与の時点における圧力値及び位置を検出するように構成することができる。
【００４３】
以下の添付図面を参照しながら本発明を詳細に説明する。
【図面の簡単な説明】
【００４４】
【図１】本発明の方法及びシステムの使用を示す図であり、具体的には、ジェスチャ感知式キーボードを含むユーザインターフェイスでの語句を入力するための単一の連続するユーザジェスチャ、及びユーザインターフェイスのディスプレイ上に表示された対応する予測語句を示す図である。
【図２】本発明の方法及びシステムの使用を示す図であり、具体的には、ジェスチャ感知式キーボードを含むユーザインターフェイスでの単語のプレフィックスを入力するための単一の連続するユーザジェスチャ、及びユーザインターフェイスのディスプレイに表示された対応する予測単語を示す図である。
【図３】本発明による、入力ストリームの連続処理を示すためのフロー図である。
【図４】本発明による、入力サンプルを変換して予測を更新するために行われる下位処理を示すフロー図である。
【図５】本発明による、閾値及びヒステリシスを含む特徴生成アルゴリズムを示す図である。
【図６ａ】本発明による、辞書を表す参照プレフィックスツリー（図６ｂ）からの用語プレフィックスツリー（図６ａ）の生成を示す図である。
【図６ｂ】本発明による、辞書を表す参照プレフィックスツリー（図６ｂ）からの用語プレフィックスツリー（図６ａ）の生成を示す図である。
【図７】本発明による、用語プレフィックスツリー内の最終単語の終点を示す図である。
【図８】本発明の方法及びシステムのプレフィックス生成手段が、用語プレフィックスツリーを生成する際に最終単語の終点をどのように処理するかを示す図である。
【図９】本発明による、ジェスチャにおける２地点間を追跡するための、距離変数及び長さ変数に基づくコスト関数の実装を示す図である。
【図１０】本発明による、２地点間の追跡に利用可能な、範囲に基づくコスト関数の実装を示す図である。
【図１１】本発明による、２つの近接点を所与とする２地点間を追跡するための、終点の方向に基づくコスト関数の実装を示す図である。
【図１２】本発明によるシステムの概略図である。
【図１３】本発明の方法及びシステムの使用例を示す図であり、具体的には、例示的な単一の連続ジェスチャからの最初の数サンプルの特徴グラフを示す図である。
【図１４】本発明のシステムの使用例を示す図であり、具体的には、「ａ  ｗｅｔ」という用語を示すためのユーザジェスチャを表す、ジェスチャ感知式キーボードでのジェスチャを示す図である。
【図１５】図１４に示す単一の連続ジェスチャのために生成される部分的特徴グラフを示す図である。
【発明を実施するための形態】
【００４５】
開示するシステム及び方法は、ユーザが単一の連続ストロークを用いて、潜在的に複数の単語又は単語のプレフィックスから成る任意の長さの一連の文字ベースの入力を行いながら、プレフィックス、単語及び／又は語句予測の形の定期的フィードバックを維持することを可能にする。
【００４６】
従って、本発明のシステム及び方法は、ユーザが単一の連続ジェスチャを行うことで意図する単語又は語句の入力を示すことができる、ジェスチャ感知式装置のためのテキスト入力を提供する。以下の例では、タッチスクリーン装置又はタッチセンサ式装置を記載している。説明する実施形態のタッチスクリーン装置では、ユーザが指を動かして順々に文字を選択すると同時にシステムが入力を処理して予測を生成することにより、ユーザが文字又は単語間で画面との接触を中断することなく単語又は語句を入力することができる。
【００４７】
本発明は、テキスト入力スピードの増加とともに、より正確かつ柔軟なテキスト入力を提供するので、既知の装置よりも優れた大幅な改善を示す。
【００４８】
説明するタッチスクリーン装置の実施形態では、ユーザの入力ジェスチャを「ストローク」と呼び、この入力ジェスチャは、ユーザがタッチ画面から指を持ち上げることによって終了する。このシステムは、ユーザが画面との接触を中断したことを、この特定のストロークにおいてその地点から後に単語が存在しないことを示すものと解釈する。
【００４９】
このシステム及び方法は、ジェスチャが行われている間に、各々がジェスチャの位置を時間で表す連続的なサンプルストリームに基づいて用語の予測を行う。このシステム及び方法は、このようにしてサンプリングを行うことにより、単語マッチングシステムよりも高い機能レベルで機能することができる。従って、本発明のシステム及び方法は、両方向、すなわち１つの単語に満たないもの（プレフィックス）又は複数の単語に対して同時に拡張性を提供することができ、これにより、図１及び図２に関連して説明するように、既知のシステム及び方法の問題点を解決し、より柔軟な代替手段を提供する。
【００５０】
図１に、タッチセンサ式キーボード上でたどられる、この例では「Ｈｏｗ  ａｒｅ  ｙｏｕ」という複数の単語を示すためのユーザジェスチャの例を示す。図示のように、ユーザは、単語間で画面から指を持ち上げる必要がない。このシステムが採用する（以下で説明するような）確率論的アプローチは、自然言語に関して候補になりそうな語句のスペースの存在を推測できることを意味する。
【００５１】
図２には、単語のプレフィックスを示すためのユーザのジェスチャの例を示しており、この例では、「ｐｌｅａｓｅ」という単語の「ｐｌ」がプレフィックスである。この例では、「ｐ」と「ｌ」を通過する入力ジェスチャが与えられた場合、これらが文の始まりとなる可能性が最も高い単語（すなわち、文脈を示す単語が存在しない場合の予測）は「ｐｌｅａｓｅ」という単語であり、従ってシステムは、タッチスクリーンキーボードを含むユーザインターフェイスの表示枠にこの単語を表示する。システム及び方法は、後述するような確率論的文脈モデルにより提供される文脈的根拠を用いることにより、所望の単語のプレフィックスなどのより短いストロークの文脈情報を考慮できるようになり、この結果、ユーザに提供するテキスト予測の精度が改善される。
【００５２】
図１及び２に示す例は、スペースキーを含まない仮想キーボードを用いたテキスト入力に関するものであるが、本発明は、スペースキーを含むキーボードでのジェスチャにより入力されたテキストにも等しく適用可能である。本発明のシステム及び方法では、ユーザが、単一の連続ジェスチャを介して複数の単語を入力することができる。このテキスト予測生成方法により、ユーザが単語の境界を指示しない場合でも、単一の連続ジェスチャから複数の単語又は語句を推測することができる。
【００５３】
以下、残りの図を参照しながら、方法及びシステムの例に従って本発明がどのように実現されるかについての詳細を説明する。
【００５４】
上述したように、本発明の方法及びシステムは、ジェスチャが行われている時に、ジェスチャの位置を時間と共にサンプリングする。タッチスクリーン装置では、位置と同時に圧力値もサンプリングして、ユーザのストロークが表そうとしている単語／語句に関するさらなる情報を提供することができる。位置及び／又は圧力値のサンプリングは、当業で公知のあらゆる方法で行うことができる。システム及び方法は、この連続するユーザ入力サンプルストリームをモデル化して用語／単語／語句の予測を行う。ストローク入力は、（潜在的に無限の）サンプルシーケンスｓとして以下のように定義することができる。
【数１】
0006492239.tif 000002
【００５５】
ｘ及びｙの値は、サンプリング時のユーザの指の物理的位置を表す座標値にすぎず、ｐは圧力読み取り値であり、ｔはサンプルを取得した時点である。従って、ストロークｓは次式のようになる。
【数２】
0006492239.tif 000003
【００５６】
この式は、システムのコア入力要件を定義するものである。システムは、この入力ストロークを、予測が要求された時点における特定の文字シーケンスＣを表すサンプルシーケンスの確率の推定値に変換するように機能する。
【数３】
0006492239.tif 000004
【００５７】
この確率推定値では、ｎがサンプルの指数として定義され、最新のサンプルはｔによって表される。Ｃは、ユーザがストロークを介して何を入力しようとしているかの予測であり、スペースを含むことができる一連の文字を含む。この推定値は、例えば、「電子装置にテキストを入力するためのテキスト予測エンジン、システム及び方法（Ｔｅｘｔ  ｐｒｅｄｉｃｔｉｏｎ  ｅｎｇｉｎｅ，  ｓｙｓｔｅｍ  ａｎｄ  ｍｅｔｈｏｄ  ｆｏｒ  ｉｎｐｕｔｔｉｎｇ  ｔｅｘｔ  ｉｎｔｏ  ｅｌｅｃｔｒｏｎｉｃ  ｄｅｖｉｃｅｓ）」という名称の国際出願第ＧＢ２０１１／００１４１９号に記載されているシステム及び方法などの複数の根拠の源に基づいて用語／単語／語句予測を行う他のいずれかのシステム又は方法のさらなる根拠の源として使用することができ、この特許出願の内容はその全体が引用により本明細書に組み入れられる。
【００５８】
本発明のシステムは、この確率推定値を継続的に提供するように構成されることが好ましく、この推定値を、国際出願第ＧＢ２０１１／００１４１９号における、推定値を（文脈などの）他の根拠の源と共に考慮して正確なテキスト予測を生成するテキスト予測機構への入力として提供することができる。
【００５９】
上述したように、特定の文字シーケンスを表すサンプルシーケンスの確率の推定値を生成するには、｛ｘ，ｙ，ｐ，ｔ｝の形の連続サンプルストリームを処理する必要がある。この処理ステップを図３に示す。図示のように、ユーザが画面にタッチしてストロークを行っている間にサンプルを取得する。システムは、このストロークから生成されるサンプルシーケンスを継続して処理する。従って、ユーザが画面にタッチしたままの間はサンプルが取得され続け、これらのサンプルは、このジェスチャよりも前の全てのサンプルと共に処理されて、継続的に更新された予測が関連する確率推定値と共に提供される。ユーザが画面へのタッチを中断すると、ストロークが終了し、この特定のストロークに関してはこの地点から先に文字／単語が存在しないと想定される。
【００６０】
｛ｘ，ｙ，ｐ，ｔ｝の形のサンプルシーケンスを、関連する確率推定値を伴う１又はそれ以上の文字候補シーケンスに変換するには、下位処理が必要である。図４に、「未加工」の入力サンプルから確率推定値／更新値への変換を示す。図示のように、未加工サンプルを、関連する確率推定値を伴う文字候補シーケンスに変換するための３ステップ処理を示す。
【００６１】
図４に示すように、この下位処理の第１のステップは、未加工サンプルを、より抽象的な「特徴」のよりまばらなシーケンスに変換することであり、これらの各特徴は、確率推定値を計算するために使用される距離メトリックと共に予測に含めるための文字候補（すなわち、文字候補シーケンス）を表すことができる。以下、未加工サンプルから一連の特徴への変換について説明する。
【００６２】
未加工サンプルが特徴に変換されると、下位処理の第２のステップは、用語プレフィックスツリーを生成することを含む。用語プレフィックスツリーは、潜在的な特徴のサブシーケンスを所与とする有効な参照プレフィックスツリーの経路を保持することにより、参照辞書プレフィックスツリーから生成される。参照プレフィックスツリーは、辞書全体のための完全なプレフィックスツリーであり、従って静的な読み出し専用のデータ構造である。参照プレフィックスツリーは、システムのメモリに記憶することができる。対照的に、用語プレフィックスツリーは、動的に生成されるプレフィックスツリーであり、ストロークパターンに関連する要素のみを組み込んだ参照プレフィックスツリーのまばらなコピーである。通常、用語プレフィックスツリーは、所与のストロークパターンの予測の生成後に廃棄される。しかしながら、場合によっては、文／語句内の連続する用語を表す２つのストロークパターンが存在する状況などにおいて、連続ストロークパターンから予測される次の予測のための文脈根拠を提供するために用語プレフィックスツリーを保持することが好ましい場合もある。
【００６３】
参照辞書プレフィックスツリーは、例えば、ｈｔｔｐ：／／ｅｎ．ｗｉｋｉｐｅｄｉａ．ｏｒｇ／ｗｉｋｉ／Ｔｒｉｅで引用されている参考文献のいずれか、又は「電子装置にテキストを入力するためのシステム及び方法（Ｓｙｓｔｅｍ  ａｎｄ  ｍｅｔｈｏｄ  ｆｏｒ  ｉｎｐｕｔｔｉｎｇ  ｔｅｘｔ  ｉｎｔｏ  ｅｌｅｃｔｒｏｎｉｃ  ｄｅｖｉｃｅｓ）」という名称の国際公開第２０１０／１１２８４１号に記載されているような英語テキストに基づく英語のモデルなどの、当業で公知のいずれかの参照辞書プレフィックスツリーとすることができ、この国際公開の内容はその全体が引用により本明細書に組み入れられる。好ましい実施形態では、用語プレフィックスツリーがグラフで表され、用語プレフィックスツリーの生成が、特徴の潜在的サブシーケンスの重み付けした指向的グラフを構築することを含む。
【００６４】
重み付けした指向的グラフは、関連言語のための参照辞書プレフィックスツリーを所与として以下のように構築される。
・  グラフ内のノードＮを、このノードが表す特徴をｆとし、対応する参照辞書プレフィックスツリー内のノードをｔとするペア｛ｆ，ｔ｝として定義する。
・  特徴によって表される文字から若干後の特徴への有効なプレフィックスツリー接続の存在、及びこの経路に関連するコスト（コスト関数については後述する）の両方を表すためのエッジＥを定義する。
・  これらの特徴からノード及びエッジの組としてのグラフを構築する。
【００６５】
グラフの構築は、たとえ特徴識別手段によって当該文字に関する特徴が識別されなかった場合でも、参照辞書プレフィックスツリー内にノードｔが存在する場合には、グラフにノードを挿入することをさらに含むことが好ましい。システム及び方法は、参照辞書プレフィックスツリー内にノードが存在する時にこのようなノードをグラフに挿入することにより、スペル又はタイピングを誤った単語を訂正する精度を高めることができる。ノードに関連する文字に対応する特徴が識別されない場合にこのノードをグラフに挿入することについては、グラフエッジのコストの説明、すなわち挿入されたノードに割り当てられるコストの説明と共に以下で詳述する。
【００６６】
単語又は語句の各候補の確率の推定値が必要であるが、グラフエッジを処理する際には「コスト」の概念を入れて作業する方がより自然である。従って、以下の説明では、所与の経路に関連する確率を、その経路のコスト面から述べることが多い。候補Ｃの確率ｐ（Ｃ）は、そのグラフ内のルートから終端ノードまでの累積コストｃに基づいてｐ（Ｃ）＝ｅ−ｃのように求めることができ、或いは再帰的に、ｃ＝−Ｉｎ（ｐ（Ｃ））を用いて確率推定値からコストを求めることもできる。
【００６７】
従って、本発明のシステム及び方法は、下位処理の第２及び第３のステップにおいて、（装置のメモリに記憶された）第１の参照辞書プレフィックスツリーと、（本発明者らは用語プレフィックスツリー又はグラフと呼ぶ）第２の動的に生成されたプレフィックスツリーとを有する。静的な参照プレフィックスツリーと動的に生成されたプレフィックスツリーを使用することにより、１つのジェスチャが別のジェスチャのプレフィックスである時に、簡単な再開動作を行うことによって効率的な連続予測が可能になる。また、経路発見アルゴリズムを使用してツリーを効率的に探索することも可能になる（これについては、以下の下位処理のステップ３の説明から明らかになる）。動的に生成されたツリーは、単一ジェスチャの有効期間にわたって（又は最初のジェスチャが次のジェスチャのプレフィックスである場合には、次のジェスチャの有効期間にわたって）使用された後で廃棄されるのに対し、静的プレフィックスツリーは未修正のまま残る。用語プレフィックスツリーは、ノード間の接続に関連するコスト値を有するので、「用語プレフィックスツリー」という用語と「グラフ」という用語は同義的に使用される。
【００６８】
再び図４を参照すると、未加工の入力サンプルから関連する確率推定値を伴う予測への変換における最終ステップは、プレフィックスツリー又はグラフ内の有効な経路を特定することである。用語プレフィックスツリーを通る経路は、考えられる文字候補シーケンスの予測を表す。図３のフロー図では、プレフィックスツリー又はグラフを通る最も安価な又は最も可能性の高い経路が更新済み予測として戻される。１つの実施形態では、経路発見アルゴリズムを使用して、プレフィックスツリー又はグラフ内の最も安価な（又は最も可能性の高い）経路を特定することができる。例えばＤｉｊｋｓｔｒａ又はＡ＊などの、当業で公知のあらゆる経路発見アルゴリズムを使用することができる。しかしながら、後述するように、最も可能性の高い経路を特定するための別の方法を使用することもできる。所与の予測の確率推定値は、その所与の経路のためのグラフ又はプレフィックスツリーの特徴を通じた累積コストから求められる。プレフィックスツリーの各リーフにコストをもたらすためのコスト関数の実装については後述する。
【００６９】
予測及びこれらの関連する確率推定値は、国際出願第ＧＢ２０１１／００１４１９号に記載されるシステムに、全体的な予測確率のための根拠の源として提供することができる。
【００７０】
グラフによってプレフィックスツリーを表す好ましい方法は、グラフ理論技術を利用して、連続サンプリングによって生じる組み合わせ的複雑性を管理する。未加工の入力サンプルから生成された一連の特徴は、対象となるユーザ入力よりもはるかに多くの文字を表す。グラフ内の経路を発見することにより、完全な特徴シーケンスの考えられるサブシーケンスが選択される。さらに、参照辞書プレフィックスツリーのサブグラフであるグラフ／プレフィックスツリーを生成することにより、有効な経路の探索時に経路発見アルゴリズムがより効率的になる。参照辞書プレフィックスツリーからグラフ／プレフィックスツリーを生成することによって得られるさらなる利点は、スペル又はタイピングを誤った単語を効率的かつ正確に訂正できる点であり、これは、特徴として識別されなかった参照辞書のいくつかの文字を保持することによって部分的に実現することができる。
【００７１】
一連の特徴が、順序集合Ｆとしてモデル化される場合、考えられるサブシーケンスは、全てＦのべき集合である。すなわち、考えられるＦのサブセットを全て含む集合である。
【数４】
0006492239.tif 000005
【００７２】
ｎが、これまでにサンプル入力から求められた特徴の数である場合、Ｐ（Ｆ）の増加は次式のように与えられる。
【数５】
0006492239.tif 000006
【００７３】
あるユーザ入力が示唆する全ての考えられるルートを考慮するネイティブアルゴリズムは、非常に多項式時間の複雑なものになる。何らかの動的プルーニング及びルートの優先順位付けとの組み合わせをグラフにする方法は、この問題の助けとなることができる。このような方法は、探索空間の複雑さを処理するためのハイレベルな戦略を提供するようになる。
【００７４】
上述したように、未加工の入力サンプルに基づいて予測を推定することの問題点は、一連の未加工サンプルから一連の特徴を識別すること、これらの特徴に基づいてグラフを生成すること、及びグラフ内の経路を発見することを含む構成可能な下位の問題点に分解することができる。さらに、グラフを通る経路の累積コストに基づいて、確率推定値を経路に関連付けることもできる。
【００７５】
計算の複雑さを抑えるために、所与の時点で、グラフの一連の経路の累積コストに基づいて、これらの経路を何らかの程度までプルーニングすることができる。例えば、経路を削除（プルーニング）して、この経路のための確率推定値の更新を、最も可能性の高い経路の（全ての経路の）確率推定値に対するこの経路の確率推定値の比率が閾値を下回るように減少させることができる。
【００７６】
図４に示す下位処理のステップに戻ると、システムは、特徴識別手段、グラフ（又は用語プレフィックスツリー）生成手段、及び経路発見手段を必要とする。この例では、システム及び方法が、特徴識別アルゴリズム、グラフ生成アルゴリズム及び経路発見アルゴリズムを含むアルゴリズムを使用する。グラフ生成アルゴリズムは、２つの異なる段階に分割することができ、いずれかの部分を置き換えて異なる成果又は品質特性を達成することができる。第１の部分は、グラフ／用語プレフィックスツリー内の考えられる接続間に重みを割り当てる「コスト関数」である。第２の部分は、高価過ぎると思われるグラフ内ルートを早い時期に動的に廃棄するために使用できる（任意の）プルーニング関数である。プルーニング関数は、（場合によっては精度を犠牲にして）グラフ構築アルゴリズムのパフォーマンスを向上させるという利点をもたらす。
【００７７】
「コスト関数」が、用語プレフィックスツリー内の各ノードに累積コストを割り当てるように構成される場合、（以下で詳述するように）リーフに割り当てられた累積コスト値によって最も安価な経路を決定できるので、最も安価なルートを発見するように構成された経路発見アルゴリズムは不要になる。従って、この場合、アルゴリズムは、特徴識別アルゴリズムとグラフ生成アルゴリズムのみを含んでいればよい。この予測子は、ターゲットノードに対する累積コスト毎に経路を並べ替え、これらの経路が表すシーケンスを関連する確率と共に予測通りに出力するように構成される。
【００７８】
ここで、下位処理の個々のステップについてさらに詳細に説明する。第１のステップに戻ると、特徴識別アルゴリズムは、未加工の入力サンプルから特徴を生成するように構成される。特徴は、ユーザがキーボード上の固定ターゲット（例えば、ターゲット点又はターゲット線）の１つを通過する予定であった可能性のあるストローク上の地点を表すように定義される。（特徴を含めるコスト又は特徴をスキップするコストはグラフ生成アルゴリズムが計算するので）特徴識別アルゴリズムは、入力サンプルからこのようないくつかの任意の特徴を生成するだけでよい。
【００７９】
特徴は、以下の値の組によって記述することができる。
【数６】
0006492239.tif 000007
式中、ｔｉは意図するターゲットであり、ｌｉはストロークに沿った特徴までの距離であり、ｄｉは（ストローク上の）特徴とｔｉの位置との間の距離であり、ｓｉは最も特徴に近いサンプルの指数である。このように記述される特徴は、キーボード上の単一の「ターゲット」にしか当てはまらない（ターゲットは、文字に対して近似的に１対１のマッピングを有することができる）。例えば、「ｚ」というターゲットのための特徴により、入力に「ｘ」が追加されることは決してない。このため、ストロークのトポロジーのみからターゲットを計算することはできず、これらのターゲットは、トポロジーとキーボードレイアウトに基づいて定められる。
【００８０】
特徴識別アルゴリズムは、キーボード上のターゲット毎に個別に特徴を追加し、ストロークとターゲットの間の局所的最接近時に特徴を追加する。局所的最接近とは、ストローク（曲線）とターゲット（点又は線など）の間の分離距離の局所的最小値のことである。ターゲットが（例えば、仮想キーボード上の文字キーを表す）点である場合、分離距離を直接的に計算することができる。しかしながら、他のタイプのターゲットが使用されることもあり、例えばターゲットが線によって表されることもあり、この線は、（例えば、仮想キーボード上のスペースキーの場合）直線又は曲線の場合がある。線ターゲットの場合、特徴識別アルゴリズムは、ストローク曲線とターゲット線の間の距離が最小になる位置を表す線沿いの点を計算する。標準的な点ターゲットに関しては、次にこの点を使用して分離距離を計算する。ストローク曲線がターゲット線に交わる場合、ストローク曲線とターゲット線の間の分離距離はゼロになり、ストローク曲線がターゲット線に交わる点における特徴が追加される。図５に示すように、ストロークのサンプリングと特徴の識別との間にはレイテンシが存在するので、局所的最小値の検出粒度は、特徴検出器のヒステリシスによって定められる。
【００８１】
ユーザは人間である可能性が最も高いので、ストロークが滑らかである可能性は低い（しかしながら、必要に応じて平滑化アルゴリズムを使用することもできる）。あるキーの中心からの滑らかでないストロークの距離は、ユーザがこの距離を通った時に変動し、多くの局所的最小値を生成する可能性がある。特徴識別アルゴリズムは、何らかの「有意」な局所的最小値が存在する曲線上の点における特徴を識別するように構成することが好ましい。ヒステリシス定数は、最小値が有意なものとなって特徴が識別されるように、ターゲットからの距離を変動させる必要がある値を定める手段を提供する。図４のグラフには、閾値距離を下回る４つの局所的最小値を示しており、これらの最小値の２つのみが有意と見なされる。
【００８２】
ヒステリシスの利点は、滑らかでないストロークにより、追加される特徴が多くなり過ぎるのを避けることができる点である。また、特徴は、特徴とターゲットの間の分離距離が特徴検出器の閾値未満である場合にのみ追加される（図５を参照）。
【００８３】
特徴が識別されると、次のステップ（図４を参照）では、これらの特徴を含むプレフィックスツリー又はグラフを生成する。好ましい実施形態では、システム及び方法が、グラフ生成アルゴリズムを使用する。
【００８４】
図６ａを参照しながら、グラフ生成アルゴリズムの所望の出力について説明する。図６ｂには、参照辞書プレフィックスツリーを示している。図６ａには、生成された用語プレフィックスツリー（又はグラフ）を示している。図から分かるように、生成されたプレフィックスツリー／グラフは、参照辞書プレフィックスツリー内の関連するルート、すなわち特徴に基づく有効なルートしか含まない。
【００８５】
従って、グラフ／プレフィックスツリーは、特徴に関連する単語セットしか記述しない。図から分かるように、シーケンスの特徴はグラフ内に順々に留まるので、プレフィックスツリー／グラフには方向性があるが、完全な一連の特徴からのある特徴をスキップすることができ、例えば、ｃ、ｄ、ｏ、ｆ、ｇ、ｈという入力特徴の場合、「ｄｏｇ」という単語が有効なルートであり、ｃ、ｄ及びｈの特徴はスキップされている。上述したように、特徴識別アルゴリズムにより識別された特徴は、ユーザが入力を予定していたであろうよりも多くの文字を表すが、グラフ生成アルゴリズムによって特徴をスキップすることができる。
【００８６】
また、特徴識別アルゴリズムによって特徴として識別されなかった文字を表すノードが辞書プレフィックスツリー内に存在し、識別された特徴を与えられた有効な経路の一部である場合、グラフ生成アルゴリズムは、そのノードをグラフ／プレフィックスツリーに挿入するように構成されることが好ましい。非限定的な例として、特徴識別アルゴリズムが、（図６ａ及び図６ｂに関連して）上述した例において「ｃ、ｄ、ｏ、ｆ、ｇ、ｈ、ｔ」という特徴を識別すると仮定する。グラフ生成アルゴリズムは、「ａ」を表すノードを、これに関連する対応するコストと共にグラフ／プレフィックスツリーに挿入し、図６ａのグラフ／プレフィックスツリーに「ｃａｔ」が追加経路として提供されるようになる。以下、挿入されたノードにコストを割り当てる方法について説明する。
【００８７】
プレフィックスツリーでは、提供される参照辞書による単語を終了するための有効点が終端ノードで表される。図６ａ及び図６ｂでは、終端ノードを非終端ノードと区別するために、終端ノードをより目立つ境界で強調している。なお、生成されたプレフィックスツリー／グラフ内の全てのエッジは、これらに関連するコストを有するが、簡略化するためにこの例では１つのルートしか示していない。また、特徴については、これらが表す可能性が最も高い文字としてしか表していない。実際には、特徴は、その特徴に関連する使用されるコスト関数に関する他のデータも有する。
【００８８】
グラフを構築する方法は数多く存在し、異なる方法によって異なる性能特性又は柔軟性の妥協点がもたらされる。好ましいアルゴリズムは深度優先再帰的構築法を使用し、すなわちグラフ／用語プレフィックスツリーは、深度優先探索によってグラフ／用語プレフィックスツリーのノードが訪問される順序で（グラフ生成アルゴリズムにより）構築される。このアルゴリズムは、各再帰ステップにおいてプルーニングを組み込むように構成される。
【００８９】
プレフィックスツリー又はグラフ生成アルゴリズムは、いずれかの特徴が表す文字のための有効なプレフィックスツリールートが存在する場合、この文字の反復インスタンスを表すために、これらの特徴を考慮することによって非明示的な文字反復をカバーすることが好ましい。これが行われた場合、コスト関数に、親パラメータ及び子パラメータと同じ特徴が呼び出される。コスト関数の実装には、反復される特徴に合理的なコスト値を割り当てるためのルールがある。非限定的な例として、特徴ｆ、ｆ’の実装は、以下のように成り得る。
ｃｏｓｔ＝ｓ（ｆ）＊ｃ（ｆ’，ｆ）
式中、ｓ（ｆ）は、「分離」距離（ストローク上の特徴ｆからキーの重心までの距離）と共に機能する関数であり、ｃ（ｆ’，ｆ）は、曲線上の２つの特徴間の距離である「曲線距離」デルタと共に機能する関数である。ｆ’とｆが同じ場合にはｃ（ｆ’，ｆ）＝１であり、従って分離成分のみが考慮される。
【００９０】
下位処理における最終ステップは、有効な経路及びこれらの経路に関連する確率を識別することを含む。各終端ノードにおける累積コストを使用して、単語の確率が計算される。
【００９１】
図６ａに示す特定の例では、所与のユーザ入力に関する予測が「ｄｏｇ」及び「ｏｆ」になったと思われる。これらは、提供された入力シーケンスを所与として考えられるたった２つの単語であり、これらの単語は、後程これらの単語の確率の計算と共に使用される、これらの単語に関連する個別に計算されたコスト値の組を有する。しかしながら、図６ａに関連して説明する別の例では、予測に関連する計算されたコスト値を有する「ｃａｔ」というさらなる予測が存在する。
【００９２】
システムは、プレフィックスツリーが示す特徴経路が有効な間しかコスト関数を呼び出さないように構成することができる。
【００９３】
１つの方法は、Ｄｉｊｋｓｔｒａ又はＡ＊などの既知の経路発見アルゴリズムを用いてグラフ内の最もコストの低い経路を発見することであってもよい。
【００９４】
別の好ましい方法は、グラフの構築時に各グラフノードにおける累積コストを記録することである。好ましい実施形態のグラフのツリー状構造を所与とした場合、各「リーフ」までは１つのルートしか存在することができない。すなわち、妥当な「ターゲット」ノードを識別する方法が存在する場合、これらの経路をその地点までの累積コスト順に並べ替え、経路発見アルゴリズムを必要とせずに、これらの経路が表すシーケンスを非常に効率的に戻すことができる。
【００９５】
本方法は、既知の方法とは異なり、作成されたグラフ構造及び上記で概説した探索方法が全ての情報の柔軟な表現を含む場合、１つの単語に対する入力ストロークのマッチングを制限しない。同じ特徴識別及びグラフ生成を使用して、単語のプレフィックスのみを表す特徴から単語を予測し、複数の単語にわたる特徴から語句を予測できることが明らかである。
【００９６】
グラフ／プレフィックスツリー生成手段は、参照辞書プレフィックスツリーのサブツリーを、これに加わる重み（又はコスト）とともに効果的に生成する。従って、グラフを通る最もコストの低いルートが最も可能性の高いプレフィックスであるはずなので、プレフィックスをマッチさせることができる。グラフ／プレフィックスツリーには、単語を完成させる特徴のコスト計算をバイアシングするために「終端ノード」の概念を加えることができ、以下でさらに詳述するように、単語の最後の文字を表す終端ノードは、スペース確率関数に依存して何らかの係数により重み付けされた、その終端ノードに関連するコストを有する。図６ａ、図６ｂ及び図７には、終端ノードを非終端ノードと区別する暗い境界（ｂｏａｒｄｅｒ）で網掛けしたノードによって終端ノードを示している。
【００９７】
以下で詳述するように、１又はそれ以上の単語を含む語句を予測するには、グラフ／プレフィックスツリー生成手段によって単語の末尾を識別し、適当なコストを伴うスペースの可能性（又は他の単語境界の区切り文字）をグラフに組み入れる。これにより、システム及び方法は、ユーザが（例えば、仮想キーボード上のスペースキー上又はその近くでジェスチャを行うことにより）入力を介して実際に単語の境界を示したかどうかに関わらず、単語を互いにつなぎ合わせ、所望の出力となり得ることが入力によって示唆される場合には語句全体をマッチさせることができるようになる。
【００９８】
グラフ生成アルゴリズムは、以下のような場合に、あるノードＮの子としてグラフにスペース文字（又は他のいずれかの単語境界の区切り文字）を追加するように構成することができる。
・  Ｎが終端（有効な単語の末尾）である場合。
・  スペース確率関数を与えられた終端ノードＮを通過する経路のコストｃが、使用中のプルーニング基準を満たす場合。１つの例では、その経路の確率を最も可能性の高い経路の確率で割った比率が閾値を下回る場合に経路をプルーニングする。
【００９９】
グラフに組み込まれたスペースに関連するコストは、特徴識別手段がこのスペースに対応する特徴を識別するかどうかに依存する。例えば、ユーザが、仮想キーボード上におけるストローク中にスペースキーを横切って単語の境界を明確にシグナリングし、特徴識別手段が、このスペースを特徴として識別することがある。或いは、例えばユーザが（例えば、誤って又は意図的に）スペースキーを押し損ねたという理由、又は仮想キーボードが用語の境界を示すための対象を含んでいない（例えばスペースキーのないキーボード）という理由で、ユーザがスペースキー上又はその近くでジェスチャすることができないこともある。このような場合、特徴識別手段により識別された特徴の組の中にスペースの特徴は存在しない。
【０１００】
図７に、終端ノードＮを示すプレフィックスツリーの例を示す。以下で詳述するように、終端ノードＮに関連する標準コストはコスト関数によって決まる。しかしながら、終端ノードを通る経路に関連するコストは、後続するスペースノードに関連するコストにより修正される。
【０１０１】
単語境界文字（スペースなど）に対応する特徴が特徴識別手段により識別され、このスペースの特徴がスペースノードに対応する（すなわち、グラフを所与とした方向性のある特徴の組内の適当な場所にスペースの特徴が現れる）場合、グラフ生成手段は、後述するように標準コスト関数を用いてこのスペースノードにコストを関連付ける。
【０１０２】
しかしながら、スペースの特徴が特徴識別手段によって識別されない場合には、スペースノードがユーザによって明確に識別されなかったという理由でグラフ生成手段によりスペースノードにペナルティが適用される（これにより終端ノードを通る経路のコストが増加する）。このペナルティは、一定のコストであることが好ましい。
【０１０３】
（図１及び図２に示すような）スペースキーのないキーボードの場合、ユーザは、単語間のスペースを明確に識別できないので、低い一定のコストなどのわずかなペナルティをスペースノードに割り当てるようにグラフ生成手段を構成することができる。いくつかの実施形態では、終端ノードの後のスペースノードに対するペナルティを完全に無くすことができる。例えば、ユーザが１つのジェスチャを通じて（複数の単語又は語句ではなく）１つの単語又は１つの単語のプレフィックスを入力した可能性が高い場合には、たとえスペースを明確に入力することが不可能な場合でも、より正確な予測を与えることができるという理由で、スペースノードに対するペナルティを含めることが有利となり得る。
【０１０４】
従って、スペースノードの関連コストが高いと、終端ノードを通る経路に関連するコストが高くなり、結局は終端ノードに関連するコストが基本的に増えることになる。
【０１０５】
上述したように、グラフ生成アルゴリズムは、ある文字が特徴として識別されなかったものの参照辞書ツリー内に存在する場合、この文字に対応するノードを挿入するように構成することができ、例えば、グラフ生成アルゴリズムは、特徴識別アルゴリズムによって識別されなかった文字に対応するノードを挿入することができる。グラフ生成アルゴリズムは、スペースが特徴として識別されなかった時にそのスペースノードにペナルティを割り当てるのと同じ方法で、この挿入されたノードに一定のコストなどのペナルティを割り当てる。挿入されたノードに割り当てられるペナルティは、その挿入されたノードに対応する文字のタイプに依存することが好ましく、例えば、スペースノードに割り当てられる一定のコストは、文字ノードに割り当てられる一定のコストとは異なり、スペースノード以外の句読点ノードに割り当てられる一定のコストとも異なり得ることが好ましい。
【０１０６】
以下、対応する特徴が識別されずに文字が挿入された場合の経路のコストの決定について説明する。
【０１０７】
図８に、結果として得られたグラフ内でスペース文字がどのように表されるかを示す。上述したように、グラフ内の各ノードは、参照辞書プレフィックスツリー内の対応するノードと対になっている。「スペースノード」に続くノードは、参照プレフィックスツリーのルートと対になり、事実上、（スペース文字に続く）これらのノードの各々において参照プレフィックスツリーの新たなサブツリーが生成されるようになる。このことは、アルゴリズムが、新しい単語にふさわしいプレフィックス探索を再開できることを意味する。スペースノードに何らかのメタデータを追加することにより、文脈根拠を用いて次の単語に続く探索をプルーニングできるようにすることも可能である。考えられるスペース毎に探索を再開すると、探索空間のサイズが大幅に増加する。文脈情報を用いることにより、スペースノードに先行する単語又は単語シーケンスを所与として、そのスペースノードに後続する可能性の高い単語を識別することが可能になる。後続する特徴が、文脈情報を所与としてスペースノードに続く可能性のない単語の文字を表す場合、この後続する特徴のコスト値にペナルティを課すことができ、従って（可能性のない経路をプレフィックスツリーから削除できるので）文脈情報をプルーニングに使用できるようになる。
【０１０８】
ユーザが単一のストロークで「ｈｉ  ｔｈｅｒｅ」という語句を入力する例を挙げてみる。アルゴリズムは、プレフィックスツリー内の「ｈ−＞ｉ」の所まで進み、「ｉ」に終端ノードとしてのマークが付いていることが分かる。ツリーには、スペース文字を表すノードが、関連する確率と共に追加される。
【０１０９】
「ｈｉ」に続く可能性の高い単語とこれに関連する確率をスペースノードに加え、このスペースノードに後続のノードを加える時にこのことを考慮するようにコスト関数を構成することができる。文脈情報を用いてその後の予測を知らせる例示的なシステム及び方法が、国際公開第２０１０／１１２８４１号又は国際出願第ＧＢ２０１１／００１４１９号に開示されており、これらの国際公開及び特許出願の内容はその全体が引用により本明細書に組み入れられる。
【０１１０】
従って、（「ｈｉ  ｔｈｒｅｗ」などの、同じ入力パターンでは潜在的に有効であるが）可能性のない語句には大幅に高いコストを割り当てることができる。プルーニング関数は、この経路を早いうちに削除し、プレフィックスツリー内の探索を必要とする経路を減らす可能性が高い。
【０１１１】
上記で概説したグラフ構築アルゴリズムは、一連の特徴内のあらゆる特徴を、有効な開始点であった可能性があると考える。すなわち、これらの特徴のいずれかを、最初の単語の最初の文字が何であるべきかを示すものであると見なすことができる。計算の複雑さを抑えるために、特にストロークの始まりのユーザ入力にはある程度の正確さが存在すると仮定することができる。
【０１１２】
上記の説明で述べたように、候補ルート及び「ターゲット」を識別できる場合には、計算の複雑さを大幅に低減することができる。候補ルートは、所与の一連の特徴に関して予測される最初の単語の最初の文字に対応する特徴を表し、従ってユーザがジェスチャを開始することを意図したキーボードのターゲットに対応するはずである。ターゲット候補は、ジェスチャの最後におけるターゲット、すなわちユーザがジェスチャの最後にタッチし、その後画面から指を離すことを意図した（文字キーなどの）ターゲットに対応する特徴を表す。
【０１１３】
ターゲット候補の識別は、探索空間を制限するために使用されることはないが、累積コスト分析に使用するのにふさわしいリーフの組を与えるので、予測候補を更新するために使用することができる。ターゲット候補として識別された特徴が、一連の特徴の「有効な終端」である場合、プレフィックスツリー内には、この「有効な終端」が存在するよりもさらに多くのリーフが存在する。従って、ターゲット候補を識別することにより、プレフィックスツリー内の有効な経路を識別して、累積コストが割り当てられるノードの数を大幅に減らすことができる。例えば、図６ａでは、ターゲット候補が「ｆ」として識別された（すなわち、一連の特徴のうちの最後の特徴が「ｆ」である）場合、唯一の有効な経路は「ｏｆ」であり、終端ノード「ｆ」のみに累積コストを割り当てればよい。この例では、システムは「ｏｆ」を予測し、「ｄｏｇ」（又は別の説明例では「ｃａｔ」）を予測することはない。
【０１１４】
ターゲット候補を識別し、これらのターゲットにおける累積コストを記憶することにより、経路発見アルゴリズムを使用せずに予測を行うことができる。すなわち、有効な最後の特徴を含む経路を識別し、有効な最後の特徴を表すノードに累積コストを割り当て、これにより累積コストを順序付けて最もコストの低い（単複の）経路を識別することにより、最も可能性の高い経路の決定が可能になる。この予測子は、関連する（単複の）累積コストから最もコストの低い（単複の）経路の確率を計算し、最も可能性の高い経路を予測として出力するためにのみ必要とされる。
【０１１５】
ここで、候補ルート及びターゲット候補の決定について説明する。探索空間を各々単一の値に限定することは、絶対的な自信を持って行うことができない限り不必要に制限的になるので、ストロークＳの最初のサンプルの位置を表すｘ及びｙ両方の位置座標の役割を果たすように複数の「妥当な」候補ルートを識別する。同様に、複数の「妥当な」ターゲット候補を識別する。
【０１１６】
入力されているシーケンス内の最初の単語に望ましい開始文字は、入力が開始されたキーの重心に近い可能性が高い。従って、ルート候補を決定するには、入力ストロークの開始点からキーが最大に離れた距離についての何らかの定数因子内にサンプル、従って特徴が存在すると仮定することができる。同様に、入力されているシーケンス内の最後の用語に望ましい最終文字は、入力が終了してユーザが画面との接触を終えたキーの重心に近い可能性が高い。
【０１１７】
好ましい実施形態では、この方法が、ルート候補を識別するために特徴内の「曲線距離」属性ｌを決定するステップを含む。この曲線距離は、以下の式により定義される。
【数７】
0006492239.tif 000008
【０１１８】
式中、ｆｎはｎ番目の特徴であり、ｓ（ｆｎ）はこれに最も近いサンプルの指数であり、｜｜ｓｊ−ｓｊ−１｜｜は２つの隣接するサンプル間のユークリッド距離である。従って、ｎ番目の特徴の曲線距離ｌは、一連のサンプルに沿ったその特徴までの合計距離である。
【０１１９】
この実装では、２つのキー間の最大分離距離を表す定数ｋと、入力シーケンスからルート候補及びターゲット候補を識別する上でそれぞれ使用すべき係数を表すチューニングパラメータＲ及びＬとを想定する。
【０１２０】
上記の関数は、ユーザエラーとキー分離の間の線形関係を想定する。各特徴に関連するタイムスタンプ、又は潜在的に圧力読み取り値から計算できる運動速度を伴うさらに高度な方法を使用することもできる。
【０１２１】
説明したグラフ生成アルゴリズムは、プレフィックスツリーに関して考えられるルートをモデル化する。このアルゴリズムは、グラフに重みを加えて入力パターンの物理的トポロジーを組み込む方法であるコスト関数を呼び出す。上述したように、グラフ生成アルゴリズムは、コスト関数を呼び出すことに加え、グラフに挿入されたノードによって表される文字が特徴として識別されなかった場合に、このノードにペナルティ、すなわち一定のコストを割り当てることができる。以下、曲線長、ユーザストロークと基準ストロークの間の平均距離、ストローク（トレース）速度及び終点検出に基づく、考えられるコスト関数の実装について説明する。
【０１２２】
１つのコスト関数の実装は、図９に示すようなトレース曲線長に基づく。ユーザによる２地点間のトレースの単純な一次モデルは、２地点間の理想的なトレースが、これらの両地点を経由する考えられる最短距離であるという想定から開始する。
【０１２３】
エラーモデルでは、いずれかの地点からの距離が増すことによって曲線の可能性が低くなり、より長い曲線も同様である。このスキームにおける「理想的なユーザ」は、各文字を前の文字から順に直線で訪れることが明らかである。
【０１２４】
このスキームにおける１つの単純なエラーモデルは以下のようになる。
【数８】
0006492239.tif 000009
式中、Ｓｉはストロークの一部（一連のサンプル）であり、ｆｉ及びｆｉ＋１は部分的ストロークを区切る特徴であり、ｐｄは距離エラーモデルであり、ｐｌは長さエラーモデルであり、ｄｉはターゲットとストロークの間の距離であり、｜｜Ｓｉ｜｜は部分的ストロークの長さであり、｜｜ｘｉ＋１−ｘｉ｜｜は２つのターゲット間の直線距離である。各変数の意味を図９で実証する。距離エラーモデルと長さエラーモデルは、いずれもガウス分布又は指数分布とすることができ、最大確率は、必要に応じてゼロ距離又は長さエラーにおいて生じる。現在のトレースの終了は次のトレースの開始を生じるので、上記の方程式は、最初の地点に関する距離確率推定値のみを含み、従って終点における距離ｄｉ＋１は、次の文字ターゲットのペアの推定値に含まれるべきである。
【０１２５】
（ユーザが２地点間の最短経路を取る）「曲線長」モデルと同じ想定を符号化して評価する別の方法は、図１０に示すように、ユーザのトレースと「基準トレース」の間の平均距離を測定することである。最短経路の想定の場合、「基準トレース」は２つのキー間の直線である。このモデルでは、考えられるエラーモデルは次式のようになる。
【数９】
0006492239.tif 000010
式中、Ａｉは、図１０に示すように特徴間のトレースと直線経路とによって囲まれた範囲である。指数分布又はガウス分布は、ｐａのための可能な選択肢である。このモデルでは、この範囲及び直線距離を単純に使用して、「最良な経路」からのトレースの平均距離を計算している。同様に、この「最良な経路」を、例えばターゲット地点を通るエルミートスプライン、又はターゲット地点へのｂスプライン近似などの他のいずれかの種類の理想的な経路とすることもできる。
【０１２６】
コスト関数に代わる別の実装は、トレース速度に基づくものである。最も知られているサブトレースモデリング技術は、純粋にトポロジーに基づくものであり、これらの技術は、トレースが「トレース速度」を求めるために使用できるタイミング情報をさらに含むという事実を考慮していない。トレース入力のための完全なモデルはトレースの速度を含む。トレース速度のための単純なモデルは、ユーザのトレース速度が特徴間で最大になり、特徴において最低になると想定することができる。
【０１２７】
エラーモデルは、特徴から離れても速度の低いトレースにペナルティを課す。このようなモデルは、次式のように２つの特徴間のトレースに沿った確率を蓄積することができる。
【数１０】
0006492239.tif 000011
式中、ｓ（ａ）は、開始と終了の間の曲線距離の変数としての（できる限り平滑化した）トレース速度であり、ｐｓは、サブトレースの開始と終了の間の曲線距離が長くて速度が低い時に低くなる。
【０１２８】
コスト関数の別の実装は、図１１に示すような終点検出に基づく。曲線方向は、トポロジーから自明に決まることができ、この実装は、潜在的にトレースモデルに近隣地点を組み込むために有効な方法である。「理想的な」トレースが、４地点を経由するエルミートスプラインである場合、ｘｉにおける曲線の方向は、次式のような前の地点と次の地点の間の単位ベクトルになる。
【数１１】
0006492239.tif 000012
これを使用したエラーモデルは、以下の形をとることができる。
【数１２】
0006492239.tif 000013
式中、ｔｉはサブトレースの開始点における曲線の（できる限り平滑化した）方向ベクトルである。ｐｔは、同様の方向のベクトルに高確率を与え、異なる方向に低確率を与える確率分布である。図１１には、関連する様々なベクトル及び値を示している。
【０１２９】
コスト関数の別の実装は、曲線方向に基づくことができる。平均距離と速度エラーを積分により曲線に沿って合計できるような同じ方法では、曲線方向のモデルを想定して、終点のみではなく曲線全体にわたる方向エラーを評価することができる。単純な方向モデルは、以下の形とすることができる。
【数１３】
0006492239.tif 000014
この形は、まさに終点方向方程式の連続バージョンである。基準方向
【数１４】
0006492239.tif 000015
の単純な選択はａに依存せず、単純に前のキーと次のキーの間の方向である。
【数１５】
0006492239.tif 000016
【０１３０】
或いは、
【数１６】
0006492239.tif 000017
を、
【数１７】
0006492239.tif 000018
における方向ベクトルと
【数１８】
0006492239.tif 000019
における方向ベクトルとの間の以前に線形補間した方向ベクトルとすることもできる。ｐｔの選択は、終点方向モデルと同様に行われる。
【０１３１】
上述したコスト関数は、グラフ／プレフィックスツリー内の有効な経路の各特徴ノードにコストをもたらす。例えば、スペースノード、文字ノード、句読点ノード、又はある特徴の反復インスタンスを表すノードなどの、対応する文字が特徴として識別されなかった場合に挿入されるノードの場合、コスト関数の実装は、上述したように、特徴ノードにコストを割り当てるように先行し、挿入されたノードは、コストを計算するために無視される。挿入されたノードを含む経路の累積コストを決定する場合、このコストは、コスト関数により計算された特徴ノードの累積コストに、挿入されたノードに割り当てられたコストを足し合せたものになる。
【０１３２】
例えば、経路（「ｃａｔ」）の識別された特徴が「ｃ、ｔ」であった場合、コスト関数は、まるで挿入されたａのノードが存在しないかのように、これらの特徴ノード「ｃ、ｔ」にコストを与える。その後、累積経路コストは、ａのノードを挿入することに対するペナルティを含むようになる。
【０１３３】
反復特徴を表すように挿入されたノードの場合、このノードに割り当てられるコストは、上述したように（ｃｏｓｔ＝ｓ（ｆ）＊ｃ（ｆ’，ｆ））となる。
【０１３４】
従って、上述したように、本方法及びシステムは、単語のプレフィックス、単語又は語句を表すことができる単一の連続ジェスチャに基づいて単語又は語句を予測する手段を提供する。システム及び方法は、（例えば、ジェスチャが１つの完全な単語を表すこと、ジェスチャが単語の境界を明確に示すこと、又はユーザが意図する単語を正確にスペリング又はタイプするように求められることに制限されない）ユーザ入力における柔軟性、及びジェスチャ感知式キーボード上でジェスチャが行われている時に、このジェスチャを（複数の時点における位置及び任意に圧力を）サンプリングすることによるテキスト予測を実現する。
【０１３５】
上述したように、これらのサンプルから単語又は語句予測を生成するには、サンプルを特徴に変換し、これらの特徴を使用して用語プレフィックスツリー又は用語プレフィックスツリーを表すグラフを生成し、このプレフィックスツリー又はグラフ内の、予測候補を表す有効な経路を識別する。経路に確率推定値を関連付けることができるコスト関数を提供する（確率推定値は、Ｐ（Ｃ）＝ｅ−ｃを用いてコストから求めることができる）。
【０１３６】
最も可能性の高い経路によって表される単語を、例えばユーザインターフェイスのディスプレイパネル上に表示することにより、単語又は語句予測の組としてユーザに戻すことができる。１つの実施形態では、最も可能性の高い単語又は語句のみがユーザに表示される。或いは、これらの予測及び関連する確率推定値を別のシステムに渡し、このシステムが、複数の根拠の源に基づいて予測を行う予測子の根拠の源としてこれらを使用できるようにすることもできる。
【０１３７】
以下、本発明によるタッチスクリーン装置の使用例を示す。上記の説明から明らかなように、システムは、単一の連続ジェスチャをユーザからの入力として受け取るように構成された、（点又は線などの）複数のターゲットを含むジェスチャ感知式キーボードと、ジェスチャが行われた時にジェスチャ感知式キーボード上のジェスチャの位置を複数の時点でサンプリングするためのサンプリング手段とを含む。さらに、システムは、複数のサンプルから１又はそれ以上の特徴を生成するように構成された特徴識別手段と、１又はそれ以上の特徴を含む用語プレフィックスツリーを生成するように構成されたプレフィックスツリー生成手段と、用語プレフィックスツリー内の、１又はそれ以上の特徴を所与とする有効な１又はそれ以上の経路を発見するように構成された経路発見手段とを含む。
【０１３８】
本発明によるシステム１０を図１２に示す。システム１０は、ジェスチャが行われている時に複数の時点でタッチ位置のサンプル１１を取得するように構成されたサンプリング手段１を含む。サンプル１１は、特徴識別手段２に渡される。特徴識別手段２は、方法に関連して上述したように、サンプル１１からの特徴を識別するように構成される。
【０１３９】
特徴１２は、この特徴１２を用いてグラフ／用語プレフィックスツリー１３を構築するように構成されたグラフ／用語プレフィックスツリー生成手段３に渡される。グラフ／用語プレフィックスツリー生成手段３は、参照辞書プレフィックスツリー３ｃを用いて、識別された特徴１２を与えられた、参照辞書プレフィックスツリー３ｃの有効な経路を含む動的グラフ／用語サブプレフィックスツリー１３を生成するように構成される。グラフ／用語プレフィックスツリー生成手段３は、グラフ／用語プレフィックスツリー１３のノードにコストを割り当てるように構成されたコスト関数３ａを含む。システムが経路発見アルゴリズムを含む実施形態では、コスト関数３ａが、グラフ／用語プレフィックスツリー１３内の各ノードにコストを割り当てる。しかしながら、（上述したような）システムがターゲットノードを識別するように構成された別の実施形態では、コスト関数３ａが、ターゲットノードに累積コストを割り当てるように構成される。
【０１４０】
グラフ／用語プレフィックスツリー生成手段３は、プルーニング手段３ｂを含むことが好ましい。プルーニング手段３ｂは、グラフ／用語プレフィックスツリー１３から低確率の経路を削除するように構成される。プルーニング手段３ｂは、所与の経路の確率を最も可能性の高い経路の確率で割った比率が閾値を下回る経路を削除することが好ましい。関連コスト（及び任意にプルーニング）を含むグラフ／用語プレフィックスツリー１３は、経路発見手段４に渡される。
【０１４１】
経路発見手段４は、グラフ／用語プレフィックスツリー１３内の最もコストの低い（従って最も可能性の高い）経路１４の１つ又はそれ以上を識別するように構成される。経路発見手段は、ターゲットノードにおける累積コストが最も低い（単複の）経路を識別することにより、例えば、これらの経路をその累積コスト順に順序付け、最もコストの低い１又はそれ以上の経路を戻すことにより、又は経路発見アルゴリズムを使用することによってグラフ／用語プレフィックスツリー１３内の最もコストの低い経路を発見することにより、１又はそれ以上の経路１４を発見する。経路１４は、この経路１４に基づいて予測１５を生成する予測子５に渡される。予測１５は、関連する確率推定値を有する１又はそれ以上の単語又は語句を含み、上述したように、これらの単語又は語句は、経路１４のノードにより表される特徴１２から形成され、確率推定値は、この経路に関連するコストから決定される。
【０１４２】
上述したように、最も可能性の高い経路によって表される予測１５は、例えばユーザインターフェイスのディスプレイパネル上に表示することにより、単語又は語句予測の組としてユーザに戻すことができる。１つの実施形態では、最も可能性の高い単語又は語句のみがユーザに表示される。或いは、これらの予測及び関連する確率推定値１５を別のシステムに渡し、このシステムが、複数の根拠の源に基づいてさらなる予測を行う第２の予測子の根拠の源としてこれらを使用できるようにすることもできる。
【０１４３】
本発明のシステムの使用例
システム１０は、未加工の入力サンプル１１を特徴ストリーム１２に変換するために、使用するキーボードレイアウトの記述を必要とする。以下の例では、次の構成を使用する。
【表１】
0006492239.tif 000020
【０１４４】
以下、ジェスチャ入力から予測を生成する方法及びシステムの柔軟性を示すために、単語のプレフィックスを入力するつもりのユーザ、及び複数の単語を入力するつもりのユーザのためのシステム１０の使用例を説明する。
【０１４５】
プレフィックスマッチング
システム１０は、幅広い予測システムが、文脈及びその他のソースを用いて、これらからより正確な完全な単語の予測を生成できるように、プレフィックスを構成する望ましい最初の１又はそれ以上の文字を十分に高い確率で出力することが求められる。或いは、システム１０は、より大規模なシステムにプレフィックスを受け渡すことなく、プレフィックスが表す可能性の最も高い（単複の）単語を表示することにより、識別されたプレフィックスに基づく予測１５を出力してユーザに表示することもできる。
【０１４６】
上述したように、システム１０のサンプリング手段１は、ジェスチャが行われている時にこのジェスチャをサンプリングして、位置ベクトル、圧力読み取り値及び時間値で構成されたデータを各々が含む一連のサンプル１１を生成する。
【０１４７】
この例では、図１３に示すように、ユーザが、キーボードのターゲット「キー」にわたって指を動かすことにより、「ｔｙｐｅ」という単語の入力を開始しているが、システム１０は、今のところわずかなサンプル１１しかサンプリングしていない。サンプリング手段１が〜６０Ｈｚでサンプリングを行う装置から以下のデータを取得し、時間をミリ秒で測定した。
【表２】
0006492239.tif 000021
【０１４８】
システム１０の特徴識別手段２は、最初に、例えば上述したような特徴識別アルゴリズムを使用することにより、サンプルシーケンス１１を一連の特徴１２に変換する。好ましい実施形態では、特徴を保持するためのチューニングパラメータ（閾値距離及びヒステリシス）が、キー間の最小分離距離の関数である。上述したレイアウトでは、この最小分離距離が４８画素である。従って、以下のパラメータを使用する。
ｈ＝０．５＊４８＝２４
ｈ＝１．５＊４８＝７２
【０１４９】
式中、ｈはヒステリシスとして使用され、ｔは距離閾値として使用される。特徴識別アルゴリズムは、入力サンプル１１に関する特徴の組を以下のように生じる。
【表３】
0006492239.tif 000022
【０１５０】
この特徴１２は、ターゲット文字ｃ、座標ｘ及びｙ、分離距離ｓ及び時間値ｔで構成される。この例で提供された８つの未加工サンプル１１に対して、一連の５つの特徴１２が生成されたことが分かる。
【０１５１】
次のステップは、一連の特徴１２をグラフ生成アルゴリズム３に供給して、一連の特徴１２から考えられる特徴の組み合わせを表すグラフ１３を構築することである。この考えられる組み合わせを、使用中の言語辞書を表すプレフィックスツリー３ｃと相互参照する。この例では、本発明者らは英語の辞書を想定しており、従って図１３に示すように、英単語の有効なプレフィックスのみを含むグラフ１３が作成される。
【０１５２】
グラフ生成手段３のコスト関数３ａを、グラフ１３の特徴１２を表すノードにコストを割り当てるように構成することができる。様々な組み合わせに関連するコストを生成するために、この例では距離に基づくコスト関数を使用する。この距離に基づくコスト関数は、曲線の長さ及び距離の差分にコストを割り当てるために使用するガウス関数及び指数関数の減衰を表すいくつかのパラメータを必要とする。上記の例では、これらのパラメータがやはりキー分離距離の関数であると想定する。
δ＝０．７＊４２．０＝２９．４
λ＝０．４＊４２＝１６．８
【０１５３】
式中、δは、特徴のキー重心ｄからの距離を表す減衰パラメータであり、λは、特徴間の曲線の長さと理想的な最短の長さとの差分ｌを表す減衰パラメータである。従って、図１３のコスト値は以下のように計算される。
【数１９】
0006492239.tif 000023
【０１５４】
経路発見手段４は、経路発見アルゴリズムを使用することにより、又は（累積コストがターゲットノードに記憶される実施形態では）累積コストを順序付けることにより、累積コストの最も低い１又はそれ以上の経路を識別するように構成される。予測子５は、１又はそれ以上の経路１４に関連する１又はそれ以上の確率推定値を（これらの経路１４のコスト関数から）決定して、関連する確率推定値を伴うプレフィックス又は単語／語句を各々が含む１又はそれ以上の予測１５を提供するように構成される。
【０１５５】
上記の例における累積コスト及び確率推定値を以下に示す。この例では、経路発見手段が、「ｔｙ」を最もコストの低い経路として識別する。システム１０の予測子５は、経路毎の確率推定値を決定するように構成され、ここでｐ（Ｃ）＝ｅ−ｃとする。予測子５は、１又はそれ以上の最も可能性の高いプレフィックスを予測１５として出力するように構成することができる。
【表４】
0006492239.tif 000024
【０１５６】
その後、この情報を他の根拠の源と共に使用して、完全な単語予測を生成することができる。或いは、この情報を単独で使用して、プレフィックスを与えられた最も可能性の高い完全な単語、例えばこの例では「ｔｙ」というプレフィックスを含む可能性の最も高い単語を戻すことにより、ユーザがジェスチャを介して入力しようとしている単語を予測することもでき、又はこの情報を、タッチセンサ式キーボードを利用する多くの既知の装置で見られるような、これらの予測に対するユーザの応答に基づいて予測を向上させるための機構と共に使用することもできる。
【０１５７】
複数単語のマッチング
この例では、図１４に示すように、ユーザが、システム１０に２つの単語から成る「ａ  ｗｅｔ」という語句を入力しようとしている。この処理の第１段階は、プレフィックスマッチの例と全く同じものである。
【０１５８】
図１４には、入力ストロークパターンを示しており、以下の表は、このストロークを記録した未加工データである。このストローク例では、入力サンプリング手段１によって以下の入力ストリームサンプル１１が生成される。
【表５】
0006492239.tif 000025
【表６】
0006492239.tif 000026
【０１５９】
特徴識別手段２は、例えば特徴識別アルゴリズムを使用して未加工サンプル１１を特徴１２に変換し、以下を提供する。
【表７】
0006492239.tif 000027
【０１６０】
前回と同様に、グラフ生成手段３（例えばグラフ生成アルゴリズム）によって特徴１２からグラフ１３が構築される。この例においてグラフ生成手段３により生成されたグラフを図１５に示す。「ａ」はそれだけで１つの単語であり、従ってプレフィックスツリー上の終端ノードであることにより、グラフ生成アルゴリズムは、図８を参照して上述したように、グラフに適当なコスト（すなわちペナルティ）と共にスペースノードを追加するようになる。
【０１６１】
図１５には、構築アルゴリズムがグラフにスペースノードを挿入する場合を示している。上述したように、この時点でプレフィックスツリー内の探索がリセットされ、ルートからのあらゆる有効な単語を残りの特徴シーケンスから構築することができる。この構造が定まると、予測を生成するための処理は、上述したものと全く同じものである。従って、経路発見手段４は、グラフ１３内の最もコストの低い経路１４を識別するように構成され、予測子５は、これらの経路１４の確率推定値を計算して１又はそれ以上の予測１５を出力するように構成される。グラフの最後のリーフは、ルートからの全体の文字シーケンスを表し、この場合は少なくとも１つのスペースを含む。従って、実証したように、本システム及び方法は、複数の単語及びスペース文字を含む語句を予測することができる。
【０１６２】
上述したように、１又はそれ以上のノードが参照辞書プレフィックスツリー内には存在するが、特徴識別アルゴリズムにより特徴として識別されなかった場合には、これらをグラフに挿入しておくことができる。
【０１６３】
さらに、上述したように、ユーザが、例えばスペースキー上又はその近くでジェスチャを行うことにより、入力ジェスチャを介して単語の境界を明確に識別した場合、特徴識別手段がその用語の境界に関連する特徴を識別し、グラフ構築アルゴリズムを、上述したコスト関数の実装に基づいてスペースノードにコストを割り当てるように構成することができる。
【０１６４】
一例として実証したように、本発明は、ジェスチャ感知式キーボードでの単一の連続ジェスチャから、プレフィックス、単語及び語句の予測を生成する手段を提供する。従って、テキスト予測及び確率を生成する本方法及びシステムは、既知のシステム及び方法をしのぐ大きな利点を提供する。上記の説明から理解されるように、本方法及びシステムでは、後の情報がそれよりも前の訂正に影響を与えることができる。このことは、語句を予測する際に、入力された２番目の単語を用いて最初の単語の推測を支援できる場合に特に当てはまる。従って、システム及び方法は、（完全な１つの単語を示すための）ジェスチャを辞書内の単語にマッチさせるにすぎない既知のシステム及び装置よりも精度の高い単語及び語句の予測を行う。
【０１６５】
この説明はほんの一例であり、特許請求の範囲に規定する本発明の範囲から逸脱することなく、説明した実施形態に変更及び修正を行うことができると理解されるであろう。
【図１】
0006492239.tif 000028
【図２】
0006492239.tif 000029
【図３】
0006492239.tif 000030
【図４】
0006492239.tif 000031
【図５】
0006492239.tif 000032
【図６ａ】
0006492239.tif 000033
【図６ｂ】
0006492239.tif 000034
【図７】
0006492239.tif 000035
【図８】
0006492239.tif 000036
【図９】
0006492239.tif 000037
【図１０】
0006492239.tif 000038
【図１１】
0006492239.tif 000039
【図１２】
0006492239.tif 000040
【図１３】
0006492239.tif 000041
【図１４】
0006492239.tif 000042
【図１５】
0006492239.tif 000043