【文献】
片山拓也 他,"片手用キーボードのための入力補完手法",情報処理学会研究報告,2009年12月15日,Vol.2009-UBI-24,No.17,pp.1-6
【文献】
徳永拓之,"かな漢字変換をどのように実現するか 作って学ぶ日本語入力",WEB+DB PRESS,2011年 9月25日,初版,Vol.64,pp.114-121
(58)【調査した分野】(Int.Cl.,DB名)
前記1又はそれ以上の用語を予測するステップは、1又はそれ以上の単語を予測するステップを含み、前記1又はそれ以上の単語は、ジェスチャ感知式キーボード上の1又はそれ以上の文字上で、ユーザが前記単語のプレフィックスを示すように意図されたジェスチャを行うことに対応する単一の連続ジェスチャに基づいて予測される、
ことを特徴とする請求項1から3のいずれか一つに記載の方法。
前記1又はそれ以上の用語を予測するステップは、1又はそれ以上の単語を予測するステップを含み、前記1又はそれ以上の単語を予測するステップは、ジェスチャ感知式キーボード上の複数の単語を表す文字上でユーザがジェスチャを行うことに対応する単一の連続ジェスチャに基づいて、一連の2又はそれ上の単語を含む語句を予測するステップを含む、
ことを特徴とする請求項1から3のいずれか1項に記載の方法。
ジェスチャ感知式キーボード上で単一の連続ジェスチャが実行されている時の該ジェスチャの位置に各々が対応する、異なる時点でサンプリングされた複数のサンプルから、前記ジェスチャ感知式キーボードの、ユーザが前記ジェスチャを実行した時に入力しようとした可能性のある複数のターゲットの1つに関連する1又はそれ以上の特徴を生成するように構成された特徴識別手段と、
前記1又はそれ以上の特徴から1又はそれ以上の用語を予測するように構成された予測手段と、
を備え、前記予測手段は、
前記1又はそれ以上の特徴を含む用語プレフィックスツリーを生成するように構成されたプレフィックスツリー生成手段であって、前記用語プレフィックスツリーは、完成した単語の最後の文字を表す1又はそれ以上のノードを含み、前記最後の文字に対応するノードが単語内に存在する場合、前記プレフィックスツリーに、単語境界の区切り文字に対応するノードを挿入するように構成されるプレフィックスツリー生成手段と、
前記用語プレフィックスツリー内の、前記1又はそれ以上の特徴を与えられた1又はそれ以上の経路を発見するように構成された経路発見手段と、
予測子と、
を含む、
ことを特徴とするシステム。
前記ジェスチャが行われた時に前記ジェスチャ感知式キーボード上の前記ジェスチャの位置を複数の時点でサンプリングするためのサンプリング手段をさらに備え、前記サンプリング手段は、所定の頻度でサンプリングを行うよう構成されている、
ことを特徴とする請求項8に記載のシステム。
前記特徴識別手段は、前記ユーザが前記ジェスチャ感知式キーボードのターゲットを通過しようとした可能性のある前記ジェスチャ感知式キーボード上のジェスチャの位置を識別することにより、前記複数のサンプルから1又はそれ以上の特徴を生成するように構成され、前記特徴の位置は、前記ターゲットの最も近くを通ったジェスチャの位置である、
ことを特徴とする請求項8又は9に記載のシステム。
前記プレフィックスツリー生成手段は、前記1又はそれ以上の特徴を所与として許可される辞書プレフィックスツリーの用語を保持することにより、前記用語プレフィックスツリーを生成するように構成され、前記プレフィックスツリー生成手段は、前記プレフィックスツリーに、前記特徴識別手段によって特徴として識別されていない前記辞書プレフィックスツリーの用語の一部の文字に対応するノードを挿入するように構成される、
ことを特徴とする請求項8から11のいずれか1項に記載のシステム。
前記予測子は、ジェスチャ感知式キーボード上の1又はそれ以上の文字上で、ユーザが1又はそれ以上の単語のプレフィックスを示すように意図されたジェスチャを行うことに対応する単一の連続ジェスチャに基づいて前記単語を予測するように構成される、
ことを特徴とする請求項8から14のいずれか1項に記載のシステム。
前記予測子は、ジェスチャ感知式キーボード上の複数の単語を表す文字上でユーザがジェスチャを行うことに対応する単一の連続ジェスチャに基づいて、一連の2又はそれ上の単語を含む語句を予測するように構成される、
ことを特徴とする請求項8から14のいずれか1項に記載のシステム。
【発明の概要】
【発明が解決しようとする課題】
【0007】
既知のシステム及び方法の問題点は、入力ストロークがデータベース内の単語の開始文字及び終了文字と一致することに制限され、ユーザが完全な1つの単語に対応するストロークを入力する必要があり、そのように制限される点である。
【0008】
従って、既知のシステム及び方法は、例えばユーザが1回の連続ストロークで語句を入力しようとした場合、ある単語のプレフィックスに対応する入力ストローク、又は複数の単語に対応する入力ストロークに基づいて単語を予測することができない。
【0009】
本発明の目的は、上述した問題点を解決することである。
【課題を解決するための手段】
【0010】
本発明の第1の態様では、ジェスチャ感知式キーボードでの単一の連続ジェスチャから1又はそれ以上の用語を予測する方法を提供する。この方法は、ジェスチャ感知式キーボード上でジェスチャが実行されている時に、このジェスチャの位置を複数の時点でサンプリングするステップと、これらの複数のサンプルから、ユーザがジェスチャの実行時に入力しようとした可能性のある、ジェスチャ感知式キーボード上のターゲットに各々が関連する1又はそれ以上の特徴を生成し、これらの1又はそれ以上の特徴を含む用語プレフィックスツリーを生成し、この用語プレフィックスツリー内の、1又はそれ以上の特徴を与えられた1又はそれ以上の経路を発見することにより、複数のサンプルから1又はそれ以上の用語を予測するステップとを含む。
【0011】
用語プレフィックスツリーはグラフによって表され、方法は、グラフ理論を用いてグラフを生成するステップを含むことが好ましい。
【0012】
複数のサンプルから1又はそれ以上の特徴を生成するステップは、ユーザがジェスチャ感知式キーボードのターゲットを通過しようとした可能性のあるジェスチャ感知式キーボード上のジェスチャの位置を識別するステップを含むことが好ましい。特徴の位置は、ターゲットの最も近くを通ったジェスチャの位置であることが好ましい。ターゲットは、点ターゲット又は線ターゲットとすることができる。特徴は、ジェスチャ感知式キーボード上のターゲット毎に識別されることが好ましい。特徴とターゲットの間の最小距離が閾値距離を下回る場合にのみ特徴が保持されることが好ましい。
【0013】
各特徴は、ジェスチャとターゲットの間の最小距離に対応する距離メトリックを含むことができる。
【0014】
用語プレフィックスツリーは、1又はそれ以上の特徴を所与として許可される辞書プレフィックスツリーの用語を保持することにより生成されることが好ましい。辞書プレフィックスツリーの用語は、特徴がこの用語に対応しない場合でも保持することができる。
【0015】
ジェスチャ感知式キーボードのターゲットは、アルファベット文字、及び任意にスペース及び/又は句読記号などの単語境界の区切り文字に対応することができる。用語プレフィックスツリーは、完成した単語の最後の文字を表す1又はそれ以上のノードを含むことができ、用語プレフィックスツリーを生成するステップは、この最後の文字に対応するノードが単語内に存在する場合、スペース文字に対応するノードをプレフィックスツリーに挿入するステップをさらに含むことができる。スペース文字に関連する特徴が識別されていない場合、このスペース文字に対応するノードに関連する確率が低下することが好ましい。用語プレフィックスツリーを生成するステップは、スペース文字に対応するノードにおいて、一連の1又はそれ以上の特徴内の残りの特徴を所与として許可される辞書プレフィックスツリーの用語を保持することにより生成される新たな用語プレフィックスツリーを生成するステップをさらに含むことができる。
【0016】
方法は、用語プレフィックスツリーをプルーニングして、用語プレフィックスツリー内の、所与の経路の確率を最も可能性の高い経路の確率で割った比率が予め設定した閾値を下回る全ての経路を削除するステップをさらに含むことが好ましい。スペース文字を表すノードは、新たな用語プレフィックスツリーを文脈データに基づいてプルーニングするためにメタデータを含むことができる。
【0017】
用語プレフィックスツリーを生成するステップは、1又はそれ以上の特徴を与えられた反復文字のための有効な経路がプレフィックスツリー内に存在する場合、この反復文字を含む辞書プレフィックスツリーの用語を保持することにより、所与の特徴が関連する文字の反復インスタンスを表せるようにするステップをさらに含むことができる。
【0018】
1つの実施形態では、用語プレフィックスツリー内の1又はそれ以上の経路を発見するステップが、経路発見アルゴリズムを使用するステップを含む。経路発見アルゴリズムは、距離メトリックを用いて用語プレフィックスツリー内の各経路に関連する確率推定値を生成することができる。経路発見アルゴリズムは、対応するルートが閾値を上回る確率推定値を有する用語を1又はそれ以上の用語として戻すように構成されることが好ましい。
【0019】
別の実施形態では、用語プレフィックスツリー内の1又はそれ以上の経路を発見するステップが、ジェスチャの最後の位置に対応する1又はそれ以上の特徴を識別するステップと、このジェスチャの最後の位置に対応する1又はそれ以上の特徴を表すいずれかのノードが用語プレフィックスツリーのリーフに対応する場合のみ、ノードに所与の経路の累積確率の指示を割り当てるステップとを含む。1又はそれ以上の経路は、これらの経路の累積確率順に順序付けることができ、累積確率が閾値を上回る、1又はそれ以上の用語に対応する(単複の)経路が戻される。
【0020】
経路発見手段のいずれかの実施形態では、全ての現在利用可能なサンプルに基づいて1又はそれ以上の用語が予測される。方法は、単一の連続ストロークが行われてさらに多くのサンプルが生成されている時に、1又はそれ以上の用語の予測を定期的に更新するステップを含む。
【0021】
1又はそれ以上の用語を予測するステップは、1又はそれ以上の単語を予測するステップを含むことができる。1又はそれ以上の単語は、ユーザがジェスチャ感知式キーボード上の1又はそれ以上の文字上で単語のプレフィックスを示すように意図されたジェスチャを行うことに対応する単一の連続ジェスチャに基づいて予測することができる。1又はそれ以上の単語を予測するステップは、ユーザがジェスチャ感知式キーボード上の複数の単語を表す文字上でジェスチャを行うことに対応する単一の連続ジェスチャに基づいて、一連の2又はそれ上の単語を含む語句を予測するステップを含むことができる。方法は、文脈情報を用いて1又はそれ以上の用語の予測を調整するステップを含むことが好ましい。
【0022】
サンプリングは、予め設定した周波数で行われることが好ましい。このサンプリング周波数は、約60Hzとすることができる。
【0023】
1又はそれ以上の用語の予測は、ジェスチャ感知式キーボードのトポグラフィをジェスチャの速度及び/又はジェスチャの曲線方向と組み合わせたものに基づくことが好ましい。プレフィックスツリー内の経路の確率は、2つの特徴と、この2つの特徴に関連するキーボードのターゲットとの間のジェスチャのトポグラフィに依存することができる。経路の確率は、2つのターゲット間の直線距離と、2つのターゲット間におけるジェスチャの曲線長との間の差分の単調減少関数に基づくことができる。経路の確率は、2つのターゲット間の直線の方向と、この2つのターゲット間の各地点におけるジェスチャの方向との間の差分の単調減少関数に基づくことができる。
【0024】
ジェスチャはストロークとすることができ、ジェスチャ感知式キーボードはタッチセンサ式キーボードである。方法は、単一の連続ストロークを形成するためにユーザがキーボードをストロークすることからの圧力を検出するステップを含むことができ、サンプリングするステップは、圧力が存在する位置をサンプリングするステップを含む。サンプリングは、所与の時点における圧力値及び位置を検出するステップを含むことができる。
【0025】
本発明の第2の態様では、上述した方法をプロセッサに実行させるためのコンピュータプログラム手段を記憶したコンピュータ可読媒体を含むコンピュータプログラム製品を提供する。
【0026】
本発明の第3の態様では、システムを提供する。このシステムは、ジェスチャ感知式キーボード上で単一の連続ジェスチャが実行されている時のジェスチャの位置に各々が対応する、異なる時点でサンプリングされた複数のサンプルから、ジェスチャ感知式キーボードの、ユーザがジェスチャを実行した時に入力しようとした可能性のある複数のターゲットの1つに関連する1又はそれ以上の特徴を生成するように構成された特徴識別手段と、これらの1又はそれ以上の特徴から1又はそれ以上の用語を予測するように構成された予測手段とを備え、この予測手段は、1又はそれ以上の特徴を含む用語プレフィックスツリーを生成するように構成されたプレフィックスツリー生成手段と、用語プレフィックスツリー内の、1又はそれ以上の特徴を与えられた1又はそれ以上の経路を発見するように構成された経路発見手段と、予測子とを含む。
【0027】
システムは、複数のターゲットを含み単一の連続ジェスチャを入力として受け取るように構成されたジェスチャ感知式キーボードをさらに備える。
【0028】
システムは、ジェスチャが行われた時にジェスチャ感知式キーボード上のジェスチャの位置を複数の時点でサンプリングするためのサンプリング手段をさらに備えることができる。
【0029】
プレフィックスツリー生成手段は、用語プレフィックスツリーを表すグラフをグラフ理論によって生成するように構成することができる。
【0030】
特徴識別手段は、ユーザがジェスチャ感知式キーボードのターゲットを通過しようとした可能性のあるジェスチャ感知式キーボード上のジェスチャの位置を識別することにより、複数のサンプルから1又はそれ以上の特徴を生成するように構成されることが好ましい。特徴の位置は、ターゲットの最も近くを通ったジェスチャの位置であることが好ましい。ターゲットは、点ターゲット又は線ターゲットとすることができる。特徴識別手段は、複数のターゲット毎に特徴を識別するように構成されることが好ましく、特徴とターゲットの間の最小距離が閾値距離を下回る場合にのみ特徴を保持するように構成することができる。
【0031】
各特徴は、ジェスチャとターゲットの間の最小距離に対応する距離メトリックを含むことが好ましい。
【0032】
プレフィックスツリー生成手段は、1又はそれ以上の特徴を所与として許可される辞書プレフィックスツリーの用語を保持することにより、用語プレフィックスツリーを生成するように構成されることが好ましい。辞書プレフィックスツリーの用語は、この用語に特徴が対応しない場合でも保持することができる。
【0033】
複数のターゲットは、アルファベット文字、及び任意にスペース及び/又は句読記号などの単語境界の区切り文字に対応することができる。用語プレフィックスツリーは、完成した単語の最後の文字を表す1又はそれ以上のノードを含むことができ、プレフィックスツリー生成手段は、この最後の文字に対応するノードが単語内に存在する場合、スペース文字に対応するノードをプレフィックスツリーに挿入するように構成される。プレフィックスツリー生成手段は、特徴識別手段がスペース文字に関連する特徴を識別しなかった場合、このスペース文字に対応するノードに関連する確率を低下させるように構成されることが好ましい。プレフィックスツリー生成手段は、スペース文字に対応するノードにおいて、一連の1又はそれ以上の特徴内の残りの特徴を所与として許可される辞書プレフィックスツリーの用語を保持することにより生成される新たな用語プレフィックスツリーを生成するように構成されることが好ましい。
【0034】
プレフィックスツリー生成手段は、用語プレフィックスツリーをプルーニングして、グラフ内の経路の確率が予め設定した閾値を下回る全ての経路を削除するように構成することができる。プレフィックスツリー生成手段は、新たな用語プレフィックスツリーを文脈データに基づいてプルーニングするために、スペース文字を表すノードにメタデータを関連付けるように構成されることが好ましい。
【0035】
プレフィックスツリー生成手段は、1又はそれ以上の特徴を与えられた反復文字のための有効な経路がプレフィックスツリー内に存在する場合、反復文字を含む辞書プレフィックスツリーの用語を保持することにより、所与の特徴が関連する文字の反復インスタンスを表せるようにするように構成することができる。
【0036】
1つの実施形態では、経路発見手段が経路発見アルゴリズムである。経路発見アルゴリズムは、距離メトリックを用いて用語プレフィックスツリー内の各経路に関連する確率推定値を生成するように構成することができる。経路発見アルゴリズムは、対応するルートが閾値を上回る確率推定値を有する用語を1又はそれ以上の用語として戻すように構成されることが好ましい。
【0037】
別の実施形態では、特徴識別手段が、ジェスチャの最後の位置に対応する1又はそれ以上の特徴を識別するように構成され、プレフィックスツリー生成手段が、このジェスチャの最後の位置に対応する1又はそれ以上の特徴を表すいずれかのノードが用語プレフィックスツリーのリーフに対応する場合のみ、このノードに所与の経路の累積確率の指示を割り当てるように構成される。経路発見手段は、累積確率を順序付け、対応するルートが閾値を上回る累積確率推定値を有する用語を1又はそれ以上の用語として戻すように構成されることが好ましい。
【0038】
予測子は、1又はそれ以上の用語を全ての現在利用可能なサンプルに基づいて予測するように構成されることが好ましく、単一の連続ストロークが行われてサンプリング手段がさらに多くのサンプルを生成している時に、1又はそれ以上の用語の予測を定期的に更新するように構成することができる。
【0039】
予測子は、1又はそれ以上の単語を予測するように構成されることが好ましい。予測子は、ジェスチャ感知式キーボード上の1又はそれ以上の文字上でユーザが1又はそれ以上の単語のプレフィックスを示すように意図されたジェスチャを行うことに対応する単一の連続ジェスチャに基づいて単語を予測するように構成することができる。予測子は、ジェスチャ感知式キーボード上の複数の単語を表す文字上でユーザがジェスチャを行うことに対応する単一の連続ジェスチャに基づいて、一連の2又はそれ上の単語を含む語句を予測するように構成することができる。予測子は、文脈情報を用いて1又はそれ以上の用語の予測を調整するように構成されることが好ましい。
【0040】
サンプリング手段は、予め設定した周波数でサンプリングを行うように構成されることが好ましい。このサンプリング周波数は、約60Hzとすることができる。
【0041】
予測子は、ジェスチャ感知式キーボードのトポグラフィをジェスチャの速度及び/又はジェスチャの曲線方向と組み合わせたものに基づいて1又はそれ以上の用語を予測するように構成されることが好ましい。予測子は、プレフィックスツリー内の経路を、2つの特徴と、これら2つの特徴に関連するキーボードのターゲットとの間のジェスチャのトポグラフィに依存して予測するように構成されることが好ましい。経路の確率は、2つのターゲット間の直線距離と、この2つのターゲット間におけるジェスチャの曲線長との間の差分の単調減少関数に基づくことができる。経路の確率は、2つのターゲット間の直線の方向と、この2つのターゲット間の各地点におけるジェスチャの方向との間の差分の単調減少関数に基づくことができる。
【0042】
ジェスチャ感知式キーボードは、タッチセンサ式キーボードであり、単一の連続ジェスチャは、タッチセンサ式キーボードでのストロークである。タッチセンサ式キーボードは、ユーザがタッチセンサ式キーボードをストロークすることからの圧力を検出するように構成することができ、サンプリング手段は、圧力が存在するストロークの位置をサンプリングするように構成される。サンプリング手段は、所与の時点における圧力値及び位置を検出するように構成することができる。
【0043】
以下の添付図面を参照しながら本発明を詳細に説明する。
【発明を実施するための形態】
【0045】
開示するシステム及び方法は、ユーザが単一の連続ストロークを用いて、潜在的に複数の単語又は単語のプレフィックスから成る任意の長さの一連の文字ベースの入力を行いながら、プレフィックス、単語及び/又は語句予測の形の定期的フィードバックを維持することを可能にする。
【0046】
従って、本発明のシステム及び方法は、ユーザが単一の連続ジェスチャを行うことで意図する単語又は語句の入力を示すことができる、ジェスチャ感知式装置のためのテキスト入力を提供する。以下の例では、タッチスクリーン装置又はタッチセンサ式装置を記載している。説明する実施形態のタッチスクリーン装置では、ユーザが指を動かして順々に文字を選択すると同時にシステムが入力を処理して予測を生成することにより、ユーザが文字又は単語間で画面との接触を中断することなく単語又は語句を入力することができる。
【0047】
本発明は、テキスト入力スピードの増加とともに、より正確かつ柔軟なテキスト入力を提供するので、既知の装置よりも優れた大幅な改善を示す。
【0048】
説明するタッチスクリーン装置の実施形態では、ユーザの入力ジェスチャを「ストローク」と呼び、この入力ジェスチャは、ユーザがタッチ画面から指を持ち上げることによって終了する。このシステムは、ユーザが画面との接触を中断したことを、この特定のストロークにおいてその地点から後に単語が存在しないことを示すものと解釈する。
【0049】
このシステム及び方法は、ジェスチャが行われている間に、各々がジェスチャの位置を時間で表す連続的なサンプルストリームに基づいて用語の予測を行う。このシステム及び方法は、このようにしてサンプリングを行うことにより、単語マッチングシステムよりも高い機能レベルで機能することができる。従って、本発明のシステム及び方法は、両方向、すなわち1つの単語に満たないもの(プレフィックス)又は複数の単語に対して同時に拡張性を提供することができ、これにより、
図1及び
図2に関連して説明するように、既知のシステム及び方法の問題点を解決し、より柔軟な代替手段を提供する。
【0050】
図1に、タッチセンサ式キーボード上でたどられる、この例では「How are you」という複数の単語を示すためのユーザジェスチャの例を示す。図示のように、ユーザは、単語間で画面から指を持ち上げる必要がない。このシステムが採用する(以下で説明するような)確率論的アプローチは、自然言語に関して候補になりそうな語句のスペースの存在を推測できることを意味する。
【0051】
図2には、単語のプレフィックスを示すためのユーザのジェスチャの例を示しており、この例では、「please」という単語の「pl」がプレフィックスである。この例では、「p」と「l」を通過する入力ジェスチャが与えられた場合、これらが文の始まりとなる可能性が最も高い単語(すなわち、文脈を示す単語が存在しない場合の予測)は「please」という単語であり、従ってシステムは、タッチスクリーンキーボードを含むユーザインターフェイスの表示枠にこの単語を表示する。システム及び方法は、後述するような確率論的文脈モデルにより提供される文脈的根拠を用いることにより、所望の単語のプレフィックスなどのより短いストロークの文脈情報を考慮できるようになり、この結果、ユーザに提供するテキスト予測の精度が改善される。
【0052】
図1及び2に示す例は、スペースキーを含まない仮想キーボードを用いたテキスト入力に関するものであるが、本発明は、スペースキーを含むキーボードでのジェスチャにより入力されたテキストにも等しく適用可能である。本発明のシステム及び方法では、ユーザが、単一の連続ジェスチャを介して複数の単語を入力することができる。このテキスト予測生成方法により、ユーザが単語の境界を指示しない場合でも、単一の連続ジェスチャから複数の単語又は語句を推測することができる。
【0053】
以下、残りの図を参照しながら、方法及びシステムの例に従って本発明がどのように実現されるかについての詳細を説明する。
【0054】
上述したように、本発明の方法及びシステムは、ジェスチャが行われている時に、ジェスチャの位置を時間と共にサンプリングする。タッチスクリーン装置では、位置と同時に圧力値もサンプリングして、ユーザのストロークが表そうとしている単語/語句に関するさらなる情報を提供することができる。位置及び/又は圧力値のサンプリングは、当業で公知のあらゆる方法で行うことができる。システム及び方法は、この連続するユーザ入力サンプルストリームをモデル化して用語/単語/語句の予測を行う。ストローク入力は、(潜在的に無限の)サンプルシーケンスsとして以下のように定義することができる。
【0055】
x及びyの値は、サンプリング時のユーザの指の物理的位置を表す座標値にすぎず、pは圧力読み取り値であり、tはサンプルを取得した時点である。従って、ストロークsは次式のようになる。
【0056】
この式は、システムのコア入力要件を定義するものである。システムは、この入力ストロークを、予測が要求された時点における特定の文字シーケンスCを表すサンプルシーケンスの確率の推定値に変換するように機能する。
【0057】
この確率推定値では、nがサンプルの指数として定義され、最新のサンプルはtによって表される。Cは、ユーザがストロークを介して何を入力しようとしているかの予測であり、スペースを含むことができる一連の文字を含む。この推定値は、例えば、「電子装置にテキストを入力するためのテキスト予測エンジン、システム及び方法(Text prediction engine, system and method for inputting text into electronic devices)」という名称の国際出願第GB2011/001419号に記載されているシステム及び方法などの複数の根拠の源に基づいて用語/単語/語句予測を行う他のいずれかのシステム又は方法のさらなる根拠の源として使用することができ、この特許出願の内容はその全体が引用により本明細書に組み入れられる。
【0058】
本発明のシステムは、この確率推定値を継続的に提供するように構成されることが好ましく、この推定値を、国際出願第GB2011/001419号における、推定値を(文脈などの)他の根拠の源と共に考慮して正確なテキスト予測を生成するテキスト予測機構への入力として提供することができる。
【0059】
上述したように、特定の文字シーケンスを表すサンプルシーケンスの確率の推定値を生成するには、{x,y,p,t}の形の連続サンプルストリームを処理する必要がある。この処理ステップを
図3に示す。図示のように、ユーザが画面にタッチしてストロークを行っている間にサンプルを取得する。システムは、このストロークから生成されるサンプルシーケンスを継続して処理する。従って、ユーザが画面にタッチしたままの間はサンプルが取得され続け、これらのサンプルは、このジェスチャよりも前の全てのサンプルと共に処理されて、継続的に更新された予測が関連する確率推定値と共に提供される。ユーザが画面へのタッチを中断すると、ストロークが終了し、この特定のストロークに関してはこの地点から先に文字/単語が存在しないと想定される。
【0060】
{x,y,p,t}の形のサンプルシーケンスを、関連する確率推定値を伴う1又はそれ以上の文字候補シーケンスに変換するには、下位処理が必要である。
図4に、「未加工」の入力サンプルから確率推定値/更新値への変換を示す。図示のように、未加工サンプルを、関連する確率推定値を伴う文字候補シーケンスに変換するための3ステップ処理を示す。
【0061】
図4に示すように、この下位処理の第1のステップは、未加工サンプルを、より抽象的な「特徴」のよりまばらなシーケンスに変換することであり、これらの各特徴は、確率推定値を計算するために使用される距離メトリックと共に予測に含めるための文字候補(すなわち、文字候補シーケンス)を表すことができる。以下、未加工サンプルから一連の特徴への変換について説明する。
【0062】
未加工サンプルが特徴に変換されると、下位処理の第2のステップは、用語プレフィックスツリーを生成することを含む。用語プレフィックスツリーは、潜在的な特徴のサブシーケンスを所与とする有効な参照プレフィックスツリーの経路を保持することにより、参照辞書プレフィックスツリーから生成される。参照プレフィックスツリーは、辞書全体のための完全なプレフィックスツリーであり、従って静的な読み出し専用のデータ構造である。参照プレフィックスツリーは、システムのメモリに記憶することができる。対照的に、用語プレフィックスツリーは、動的に生成されるプレフィックスツリーであり、ストロークパターンに関連する要素のみを組み込んだ参照プレフィックスツリーのまばらなコピーである。通常、用語プレフィックスツリーは、所与のストロークパターンの予測の生成後に廃棄される。しかしながら、場合によっては、文/語句内の連続する用語を表す2つのストロークパターンが存在する状況などにおいて、連続ストロークパターンから予測される次の予測のための文脈根拠を提供するために用語プレフィックスツリーを保持することが好ましい場合もある。
【0063】
参照辞書プレフィックスツリーは、例えば、http://en.wikipedia.org/wiki/Trieで引用されている参考文献のいずれか、又は「電子装置にテキストを入力するためのシステム及び方法(System and method for inputting text into electronic devices)」という名称の国際公開第2010/112841号に記載されているような英語テキストに基づく英語のモデルなどの、当業で公知のいずれかの参照辞書プレフィックスツリーとすることができ、この国際公開の内容はその全体が引用により本明細書に組み入れられる。好ましい実施形態では、用語プレフィックスツリーがグラフで表され、用語プレフィックスツリーの生成が、特徴の潜在的サブシーケンスの重み付けした指向的グラフを構築することを含む。
【0064】
重み付けした指向的グラフは、関連言語のための参照辞書プレフィックスツリーを所与として以下のように構築される。
・ グラフ内のノードNを、このノードが表す特徴をfとし、対応する参照辞書プレフィックスツリー内のノードをtとするペア{f,t}として定義する。
・ 特徴によって表される文字から若干後の特徴への有効なプレフィックスツリー接続の存在、及びこの経路に関連するコスト(コスト関数については後述する)の両方を表すためのエッジEを定義する。
・ これらの特徴からノード及びエッジの組としてのグラフを構築する。
【0065】
グラフの構築は、たとえ特徴識別手段によって当該文字に関する特徴が識別されなかった場合でも、参照辞書プレフィックスツリー内にノードtが存在する場合には、グラフにノードを挿入することをさらに含むことが好ましい。システム及び方法は、参照辞書プレフィックスツリー内にノードが存在する時にこのようなノードをグラフに挿入することにより、スペル又はタイピングを誤った単語を訂正する精度を高めることができる。ノードに関連する文字に対応する特徴が識別されない場合にこのノードをグラフに挿入することについては、グラフエッジのコストの説明、すなわち挿入されたノードに割り当てられるコストの説明と共に以下で詳述する。
【0066】
単語又は語句の各候補の確率の推定値が必要であるが、グラフエッジを処理する際には「コスト」の概念を入れて作業する方がより自然である。従って、以下の説明では、所与の経路に関連する確率を、その経路のコスト面から述べることが多い。候補Cの確率p(C)は、そのグラフ内のルートから終端ノードまでの累積コストcに基づいてp(C)=e
−cのように求めることができ、或いは再帰的に、c=−In(p(C))を用いて確率推定値からコストを求めることもできる。
【0067】
従って、本発明のシステム及び方法は、下位処理の第2及び第3のステップにおいて、(装置のメモリに記憶された)第1の参照辞書プレフィックスツリーと、(本発明者らは用語プレフィックスツリー又はグラフと呼ぶ)第2の動的に生成されたプレフィックスツリーとを有する。静的な参照プレフィックスツリーと動的に生成されたプレフィックスツリーを使用することにより、1つのジェスチャが別のジェスチャのプレフィックスである時に、簡単な再開動作を行うことによって効率的な連続予測が可能になる。また、経路発見アルゴリズムを使用してツリーを効率的に探索することも可能になる(これについては、以下の下位処理のステップ3の説明から明らかになる)。動的に生成されたツリーは、単一ジェスチャの有効期間にわたって(又は最初のジェスチャが次のジェスチャのプレフィックスである場合には、次のジェスチャの有効期間にわたって)使用された後で廃棄されるのに対し、静的プレフィックスツリーは未修正のまま残る。用語プレフィックスツリーは、ノード間の接続に関連するコスト値を有するので、「用語プレフィックスツリー」という用語と「グラフ」という用語は同義的に使用される。
【0068】
再び
図4を参照すると、未加工の入力サンプルから関連する確率推定値を伴う予測への変換における最終ステップは、プレフィックスツリー又はグラフ内の有効な経路を特定することである。用語プレフィックスツリーを通る経路は、考えられる文字候補シーケンスの予測を表す。
図3のフロー図では、プレフィックスツリー又はグラフを通る最も安価な又は最も可能性の高い経路が更新済み予測として戻される。1つの実施形態では、経路発見アルゴリズムを使用して、プレフィックスツリー又はグラフ内の最も安価な(又は最も可能性の高い)経路を特定することができる。例えばDijkstra又はA
*などの、当業で公知のあらゆる経路発見アルゴリズムを使用することができる。しかしながら、後述するように、最も可能性の高い経路を特定するための別の方法を使用することもできる。所与の予測の確率推定値は、その所与の経路のためのグラフ又はプレフィックスツリーの特徴を通じた累積コストから求められる。プレフィックスツリーの各リーフにコストをもたらすためのコスト関数の実装については後述する。
【0069】
予測及びこれらの関連する確率推定値は、国際出願第GB2011/001419号に記載されるシステムに、全体的な予測確率のための根拠の源として提供することができる。
【0070】
グラフによってプレフィックスツリーを表す好ましい方法は、グラフ理論技術を利用して、連続サンプリングによって生じる組み合わせ的複雑性を管理する。未加工の入力サンプルから生成された一連の特徴は、対象となるユーザ入力よりもはるかに多くの文字を表す。グラフ内の経路を発見することにより、完全な特徴シーケンスの考えられるサブシーケンスが選択される。さらに、参照辞書プレフィックスツリーのサブグラフであるグラフ/プレフィックスツリーを生成することにより、有効な経路の探索時に経路発見アルゴリズムがより効率的になる。参照辞書プレフィックスツリーからグラフ/プレフィックスツリーを生成することによって得られるさらなる利点は、スペル又はタイピングを誤った単語を効率的かつ正確に訂正できる点であり、これは、特徴として識別されなかった参照辞書のいくつかの文字を保持することによって部分的に実現することができる。
【0071】
一連の特徴が、順序集合Fとしてモデル化される場合、考えられるサブシーケンスは、全てFのべき集合である。すなわち、考えられるFのサブセットを全て含む集合である。
【0072】
nが、これまでにサンプル入力から求められた特徴の数である場合、P(F)の増加は次式のように与えられる。
【0073】
あるユーザ入力が示唆する全ての考えられるルートを考慮するネイティブアルゴリズムは、非常に多項式時間の複雑なものになる。何らかの動的プルーニング及びルートの優先順位付けとの組み合わせをグラフにする方法は、この問題の助けとなることができる。このような方法は、探索空間の複雑さを処理するためのハイレベルな戦略を提供するようになる。
【0074】
上述したように、未加工の入力サンプルに基づいて予測を推定することの問題点は、一連の未加工サンプルから一連の特徴を識別すること、これらの特徴に基づいてグラフを生成すること、及びグラフ内の経路を発見することを含む構成可能な下位の問題点に分解することができる。さらに、グラフを通る経路の累積コストに基づいて、確率推定値を経路に関連付けることもできる。
【0075】
計算の複雑さを抑えるために、所与の時点で、グラフの一連の経路の累積コストに基づいて、これらの経路を何らかの程度までプルーニングすることができる。例えば、経路を削除(プルーニング)して、この経路のための確率推定値の更新を、最も可能性の高い経路の(全ての経路の)確率推定値に対するこの経路の確率推定値の比率が閾値を下回るように減少させることができる。
【0076】
図4に示す下位処理のステップに戻ると、システムは、特徴識別手段、グラフ(又は用語プレフィックスツリー)生成手段、及び経路発見手段を必要とする。この例では、システム及び方法が、特徴識別アルゴリズム、グラフ生成アルゴリズム及び経路発見アルゴリズムを含むアルゴリズムを使用する。グラフ生成アルゴリズムは、2つの異なる段階に分割することができ、いずれかの部分を置き換えて異なる成果又は品質特性を達成することができる。第1の部分は、グラフ/用語プレフィックスツリー内の考えられる接続間に重みを割り当てる「コスト関数」である。第2の部分は、高価過ぎると思われるグラフ内ルートを早い時期に動的に廃棄するために使用できる(任意の)プルーニング関数である。プルーニング関数は、(場合によっては精度を犠牲にして)グラフ構築アルゴリズムのパフォーマンスを向上させるという利点をもたらす。
【0077】
「コスト関数」が、用語プレフィックスツリー内の各ノードに累積コストを割り当てるように構成される場合、(以下で詳述するように)リーフに割り当てられた累積コスト値によって最も安価な経路を決定できるので、最も安価なルートを発見するように構成された経路発見アルゴリズムは不要になる。従って、この場合、アルゴリズムは、特徴識別アルゴリズムとグラフ生成アルゴリズムのみを含んでいればよい。この予測子は、ターゲットノードに対する累積コスト毎に経路を並べ替え、これらの経路が表すシーケンスを関連する確率と共に予測通りに出力するように構成される。
【0078】
ここで、下位処理の個々のステップについてさらに詳細に説明する。第1のステップに戻ると、特徴識別アルゴリズムは、未加工の入力サンプルから特徴を生成するように構成される。特徴は、ユーザがキーボード上の固定ターゲット(例えば、ターゲット点又はターゲット線)の1つを通過する予定であった可能性のあるストローク上の地点を表すように定義される。(特徴を含めるコスト又は特徴をスキップするコストはグラフ生成アルゴリズムが計算するので)特徴識別アルゴリズムは、入力サンプルからこのようないくつかの任意の特徴を生成するだけでよい。
【0079】
特徴は、以下の値の組によって記述することができる。
式中、t
iは意図するターゲットであり、l
iはストロークに沿った特徴までの距離であり、d
iは(ストローク上の)特徴とt
iの位置との間の距離であり、s
iは最も特徴に近いサンプルの指数である。このように記述される特徴は、キーボード上の単一の「ターゲット」にしか当てはまらない(ターゲットは、文字に対して近似的に1対1のマッピングを有することができる)。例えば、「z」というターゲットのための特徴により、入力に「x」が追加されることは決してない。このため、ストロークのトポロジーのみからターゲットを計算することはできず、これらのターゲットは、トポロジーとキーボードレイアウトに基づいて定められる。
【0080】
特徴識別アルゴリズムは、キーボード上のターゲット毎に個別に特徴を追加し、ストロークとターゲットの間の局所的最接近時に特徴を追加する。局所的最接近とは、ストローク(曲線)とターゲット(点又は線など)の間の分離距離の局所的最小値のことである。ターゲットが(例えば、仮想キーボード上の文字キーを表す)点である場合、分離距離を直接的に計算することができる。しかしながら、他のタイプのターゲットが使用されることもあり、例えばターゲットが線によって表されることもあり、この線は、(例えば、仮想キーボード上のスペースキーの場合)直線又は曲線の場合がある。線ターゲットの場合、特徴識別アルゴリズムは、ストローク曲線とターゲット線の間の距離が最小になる位置を表す線沿いの点を計算する。標準的な点ターゲットに関しては、次にこの点を使用して分離距離を計算する。ストローク曲線がターゲット線に交わる場合、ストローク曲線とターゲット線の間の分離距離はゼロになり、ストローク曲線がターゲット線に交わる点における特徴が追加される。
図5に示すように、ストロークのサンプリングと特徴の識別との間にはレイテンシが存在するので、局所的最小値の検出粒度は、特徴検出器のヒステリシスによって定められる。
【0081】
ユーザは人間である可能性が最も高いので、ストロークが滑らかである可能性は低い(しかしながら、必要に応じて平滑化アルゴリズムを使用することもできる)。あるキーの中心からの滑らかでないストロークの距離は、ユーザがこの距離を通った時に変動し、多くの局所的最小値を生成する可能性がある。特徴識別アルゴリズムは、何らかの「有意」な局所的最小値が存在する曲線上の点における特徴を識別するように構成することが好ましい。ヒステリシス定数は、最小値が有意なものとなって特徴が識別されるように、ターゲットからの距離を変動させる必要がある値を定める手段を提供する。
図4のグラフには、閾値距離を下回る4つの局所的最小値を示しており、これらの最小値の2つのみが有意と見なされる。
【0082】
ヒステリシスの利点は、滑らかでないストロークにより、追加される特徴が多くなり過ぎるのを避けることができる点である。また、特徴は、特徴とターゲットの間の分離距離が特徴検出器の閾値未満である場合にのみ追加される(
図5を参照)。
【0083】
特徴が識別されると、次のステップ(
図4を参照)では、これらの特徴を含むプレフィックスツリー又はグラフを生成する。好ましい実施形態では、システム及び方法が、グラフ生成アルゴリズムを使用する。
【0084】
図6aを参照しながら、グラフ生成アルゴリズムの所望の出力について説明する。
図6bには、参照辞書プレフィックスツリーを示している。
図6aには、生成された用語プレフィックスツリー(又はグラフ)を示している。図から分かるように、生成されたプレフィックスツリー/グラフは、参照辞書プレフィックスツリー内の関連するルート、すなわち特徴に基づく有効なルートしか含まない。
【0085】
従って、グラフ/プレフィックスツリーは、特徴に関連する単語セットしか記述しない。図から分かるように、シーケンスの特徴はグラフ内に順々に留まるので、プレフィックスツリー/グラフには方向性があるが、完全な一連の特徴からのある特徴をスキップすることができ、例えば、c、d、o、f、g、hという入力特徴の場合、「dog」という単語が有効なルートであり、c、d及びhの特徴はスキップされている。上述したように、特徴識別アルゴリズムにより識別された特徴は、ユーザが入力を予定していたであろうよりも多くの文字を表すが、グラフ生成アルゴリズムによって特徴をスキップすることができる。
【0086】
また、特徴識別アルゴリズムによって特徴として識別されなかった文字を表すノードが辞書プレフィックスツリー内に存在し、識別された特徴を与えられた有効な経路の一部である場合、グラフ生成アルゴリズムは、そのノードをグラフ/プレフィックスツリーに挿入するように構成されることが好ましい。非限定的な例として、特徴識別アルゴリズムが、(
図6a及び
図6bに関連して)上述した例において「c、d、o、f、g、h、t」という特徴を識別すると仮定する。グラフ生成アルゴリズムは、「a」を表すノードを、これに関連する対応するコストと共にグラフ/プレフィックスツリーに挿入し、
図6aのグラフ/プレフィックスツリーに「cat」が追加経路として提供されるようになる。以下、挿入されたノードにコストを割り当てる方法について説明する。
【0087】
プレフィックスツリーでは、提供される参照辞書による単語を終了するための有効点が終端ノードで表される。
図6a及び
図6bでは、終端ノードを非終端ノードと区別するために、終端ノードをより目立つ境界で強調している。なお、生成されたプレフィックスツリー/グラフ内の全てのエッジは、これらに関連するコストを有するが、簡略化するためにこの例では1つのルートしか示していない。また、特徴については、これらが表す可能性が最も高い文字としてしか表していない。実際には、特徴は、その特徴に関連する使用されるコスト関数に関する他のデータも有する。
【0088】
グラフを構築する方法は数多く存在し、異なる方法によって異なる性能特性又は柔軟性の妥協点がもたらされる。好ましいアルゴリズムは深度優先再帰的構築法を使用し、すなわちグラフ/用語プレフィックスツリーは、深度優先探索によってグラフ/用語プレフィックスツリーのノードが訪問される順序で(グラフ生成アルゴリズムにより)構築される。このアルゴリズムは、各再帰ステップにおいてプルーニングを組み込むように構成される。
【0089】
プレフィックスツリー又はグラフ生成アルゴリズムは、いずれかの特徴が表す文字のための有効なプレフィックスツリールートが存在する場合、この文字の反復インスタンスを表すために、これらの特徴を考慮することによって非明示的な文字反復をカバーすることが好ましい。これが行われた場合、コスト関数に、親パラメータ及び子パラメータと同じ特徴が呼び出される。コスト関数の実装には、反復される特徴に合理的なコスト値を割り当てるためのルールがある。非限定的な例として、特徴f、f’の実装は、以下のように成り得る。
cost=s(f)*c(f’,f)
式中、s(f)は、「分離」距離(ストローク上の特徴fからキーの重心までの距離)と共に機能する関数であり、c(f’,f)は、曲線上の2つの特徴間の距離である「曲線距離」デルタと共に機能する関数である。f’とfが同じ場合にはc(f’,f)=1であり、従って分離成分のみが考慮される。
【0090】
下位処理における最終ステップは、有効な経路及びこれらの経路に関連する確率を識別することを含む。各終端ノードにおける累積コストを使用して、単語の確率が計算される。
【0091】
図6aに示す特定の例では、所与のユーザ入力に関する予測が「dog」及び「of」になったと思われる。これらは、提供された入力シーケンスを所与として考えられるたった2つの単語であり、これらの単語は、後程これらの単語の確率の計算と共に使用される、これらの単語に関連する個別に計算されたコスト値の組を有する。しかしながら、
図6aに関連して説明する別の例では、予測に関連する計算されたコスト値を有する「cat」というさらなる予測が存在する。
【0092】
システムは、プレフィックスツリーが示す特徴経路が有効な間しかコスト関数を呼び出さないように構成することができる。
【0093】
1つの方法は、Dijkstra又はA
*などの既知の経路発見アルゴリズムを用いてグラフ内の最もコストの低い経路を発見することであってもよい。
【0094】
別の好ましい方法は、グラフの構築時に各グラフノードにおける累積コストを記録することである。好ましい実施形態のグラフのツリー状構造を所与とした場合、各「リーフ」までは1つのルートしか存在することができない。すなわち、妥当な「ターゲット」ノードを識別する方法が存在する場合、これらの経路をその地点までの累積コスト順に並べ替え、経路発見アルゴリズムを必要とせずに、これらの経路が表すシーケンスを非常に効率的に戻すことができる。
【0095】
本方法は、既知の方法とは異なり、作成されたグラフ構造及び上記で概説した探索方法が全ての情報の柔軟な表現を含む場合、1つの単語に対する入力ストロークのマッチングを制限しない。同じ特徴識別及びグラフ生成を使用して、単語のプレフィックスのみを表す特徴から単語を予測し、複数の単語にわたる特徴から語句を予測できることが明らかである。
【0096】
グラフ/プレフィックスツリー生成手段は、参照辞書プレフィックスツリーのサブツリーを、これに加わる重み(又はコスト)とともに効果的に生成する。従って、グラフを通る最もコストの低いルートが最も可能性の高いプレフィックスであるはずなので、プレフィックスをマッチさせることができる。グラフ/プレフィックスツリーには、単語を完成させる特徴のコスト計算をバイアシングするために「終端ノード」の概念を加えることができ、以下でさらに詳述するように、単語の最後の文字を表す終端ノードは、スペース確率関数に依存して何らかの係数により重み付けされた、その終端ノードに関連するコストを有する。
図6a、
図6b及び
図7には、終端ノードを非終端ノードと区別する暗い境界(boarder)で網掛けしたノードによって終端ノードを示している。
【0097】
以下で詳述するように、1又はそれ以上の単語を含む語句を予測するには、グラフ/プレフィックスツリー生成手段によって単語の末尾を識別し、適当なコストを伴うスペースの可能性(又は他の単語境界の区切り文字)をグラフに組み入れる。これにより、システム及び方法は、ユーザが(例えば、仮想キーボード上のスペースキー上又はその近くでジェスチャを行うことにより)入力を介して実際に単語の境界を示したかどうかに関わらず、単語を互いにつなぎ合わせ、所望の出力となり得ることが入力によって示唆される場合には語句全体をマッチさせることができるようになる。
【0098】
グラフ生成アルゴリズムは、以下のような場合に、あるノードNの子としてグラフにスペース文字(又は他のいずれかの単語境界の区切り文字)を追加するように構成することができる。
・ Nが終端(有効な単語の末尾)である場合。
・ スペース確率関数を与えられた終端ノードNを通過する経路のコストcが、使用中のプルーニング基準を満たす場合。1つの例では、その経路の確率を最も可能性の高い経路の確率で割った比率が閾値を下回る場合に経路をプルーニングする。
【0099】
グラフに組み込まれたスペースに関連するコストは、特徴識別手段がこのスペースに対応する特徴を識別するかどうかに依存する。例えば、ユーザが、仮想キーボード上におけるストローク中にスペースキーを横切って単語の境界を明確にシグナリングし、特徴識別手段が、このスペースを特徴として識別することがある。或いは、例えばユーザが(例えば、誤って又は意図的に)スペースキーを押し損ねたという理由、又は仮想キーボードが用語の境界を示すための対象を含んでいない(例えばスペースキーのないキーボード)という理由で、ユーザがスペースキー上又はその近くでジェスチャすることができないこともある。このような場合、特徴識別手段により識別された特徴の組の中にスペースの特徴は存在しない。
【0100】
図7に、終端ノードNを示すプレフィックスツリーの例を示す。以下で詳述するように、終端ノードNに関連する標準コストはコスト関数によって決まる。しかしながら、終端ノードを通る経路に関連するコストは、後続するスペースノードに関連するコストにより修正される。
【0101】
単語境界文字(スペースなど)に対応する特徴が特徴識別手段により識別され、このスペースの特徴がスペースノードに対応する(すなわち、グラフを所与とした方向性のある特徴の組内の適当な場所にスペースの特徴が現れる)場合、グラフ生成手段は、後述するように標準コスト関数を用いてこのスペースノードにコストを関連付ける。
【0102】
しかしながら、スペースの特徴が特徴識別手段によって識別されない場合には、スペースノードがユーザによって明確に識別されなかったという理由でグラフ生成手段によりスペースノードにペナルティが適用される(これにより終端ノードを通る経路のコストが増加する)。このペナルティは、一定のコストであることが好ましい。
【0103】
(
図1及び
図2に示すような)スペースキーのないキーボードの場合、ユーザは、単語間のスペースを明確に識別できないので、低い一定のコストなどのわずかなペナルティをスペースノードに割り当てるようにグラフ生成手段を構成することができる。いくつかの実施形態では、終端ノードの後のスペースノードに対するペナルティを完全に無くすことができる。例えば、ユーザが1つのジェスチャを通じて(複数の単語又は語句ではなく)1つの単語又は1つの単語のプレフィックスを入力した可能性が高い場合には、たとえスペースを明確に入力することが不可能な場合でも、より正確な予測を与えることができるという理由で、スペースノードに対するペナルティを含めることが有利となり得る。
【0104】
従って、スペースノードの関連コストが高いと、終端ノードを通る経路に関連するコストが高くなり、結局は終端ノードに関連するコストが基本的に増えることになる。
【0105】
上述したように、グラフ生成アルゴリズムは、ある文字が特徴として識別されなかったものの参照辞書ツリー内に存在する場合、この文字に対応するノードを挿入するように構成することができ、例えば、グラフ生成アルゴリズムは、特徴識別アルゴリズムによって識別されなかった文字に対応するノードを挿入することができる。グラフ生成アルゴリズムは、スペースが特徴として識別されなかった時にそのスペースノードにペナルティを割り当てるのと同じ方法で、この挿入されたノードに一定のコストなどのペナルティを割り当てる。挿入されたノードに割り当てられるペナルティは、その挿入されたノードに対応する文字のタイプに依存することが好ましく、例えば、スペースノードに割り当てられる一定のコストは、文字ノードに割り当てられる一定のコストとは異なり、スペースノード以外の句読点ノードに割り当てられる一定のコストとも異なり得ることが好ましい。
【0106】
以下、対応する特徴が識別されずに文字が挿入された場合の経路のコストの決定について説明する。
【0107】
図8に、結果として得られたグラフ内でスペース文字がどのように表されるかを示す。上述したように、グラフ内の各ノードは、参照辞書プレフィックスツリー内の対応するノードと対になっている。「スペースノード」に続くノードは、参照プレフィックスツリーのルートと対になり、事実上、(スペース文字に続く)これらのノードの各々において参照プレフィックスツリーの新たなサブツリーが生成されるようになる。このことは、アルゴリズムが、新しい単語にふさわしいプレフィックス探索を再開できることを意味する。スペースノードに何らかのメタデータを追加することにより、文脈根拠を用いて次の単語に続く探索をプルーニングできるようにすることも可能である。考えられるスペース毎に探索を再開すると、探索空間のサイズが大幅に増加する。文脈情報を用いることにより、スペースノードに先行する単語又は単語シーケンスを所与として、そのスペースノードに後続する可能性の高い単語を識別することが可能になる。後続する特徴が、文脈情報を所与としてスペースノードに続く可能性のない単語の文字を表す場合、この後続する特徴のコスト値にペナルティを課すことができ、従って(可能性のない経路をプレフィックスツリーから削除できるので)文脈情報をプルーニングに使用できるようになる。
【0108】
ユーザが単一のストロークで「hi there」という語句を入力する例を挙げてみる。アルゴリズムは、プレフィックスツリー内の「h−>i」の所まで進み、「i」に終端ノードとしてのマークが付いていることが分かる。ツリーには、スペース文字を表すノードが、関連する確率と共に追加される。
【0109】
「hi」に続く可能性の高い単語とこれに関連する確率をスペースノードに加え、このスペースノードに後続のノードを加える時にこのことを考慮するようにコスト関数を構成することができる。文脈情報を用いてその後の予測を知らせる例示的なシステム及び方法が、国際公開第2010/112841号又は国際出願第GB2011/001419号に開示されており、これらの国際公開及び特許出願の内容はその全体が引用により本明細書に組み入れられる。
【0110】
従って、(「hi threw」などの、同じ入力パターンでは潜在的に有効であるが)可能性のない語句には大幅に高いコストを割り当てることができる。プルーニング関数は、この経路を早いうちに削除し、プレフィックスツリー内の探索を必要とする経路を減らす可能性が高い。
【0111】
上記で概説したグラフ構築アルゴリズムは、一連の特徴内のあらゆる特徴を、有効な開始点であった可能性があると考える。すなわち、これらの特徴のいずれかを、最初の単語の最初の文字が何であるべきかを示すものであると見なすことができる。計算の複雑さを抑えるために、特にストロークの始まりのユーザ入力にはある程度の正確さが存在すると仮定することができる。
【0112】
上記の説明で述べたように、候補ルート及び「ターゲット」を識別できる場合には、計算の複雑さを大幅に低減することができる。候補ルートは、所与の一連の特徴に関して予測される最初の単語の最初の文字に対応する特徴を表し、従ってユーザがジェスチャを開始することを意図したキーボードのターゲットに対応するはずである。ターゲット候補は、ジェスチャの最後におけるターゲット、すなわちユーザがジェスチャの最後にタッチし、その後画面から指を離すことを意図した(文字キーなどの)ターゲットに対応する特徴を表す。
【0113】
ターゲット候補の識別は、探索空間を制限するために使用されることはないが、累積コスト分析に使用するのにふさわしいリーフの組を与えるので、予測候補を更新するために使用することができる。ターゲット候補として識別された特徴が、一連の特徴の「有効な終端」である場合、プレフィックスツリー内には、この「有効な終端」が存在するよりもさらに多くのリーフが存在する。従って、ターゲット候補を識別することにより、プレフィックスツリー内の有効な経路を識別して、累積コストが割り当てられるノードの数を大幅に減らすことができる。例えば、
図6aでは、ターゲット候補が「f」として識別された(すなわち、一連の特徴のうちの最後の特徴が「f」である)場合、唯一の有効な経路は「of」であり、終端ノード「f」のみに累積コストを割り当てればよい。この例では、システムは「of」を予測し、「dog」(又は別の説明例では「cat」)を予測することはない。
【0114】
ターゲット候補を識別し、これらのターゲットにおける累積コストを記憶することにより、経路発見アルゴリズムを使用せずに予測を行うことができる。すなわち、有効な最後の特徴を含む経路を識別し、有効な最後の特徴を表すノードに累積コストを割り当て、これにより累積コストを順序付けて最もコストの低い(単複の)経路を識別することにより、最も可能性の高い経路の決定が可能になる。この予測子は、関連する(単複の)累積コストから最もコストの低い(単複の)経路の確率を計算し、最も可能性の高い経路を予測として出力するためにのみ必要とされる。
【0115】
ここで、候補ルート及びターゲット候補の決定について説明する。探索空間を各々単一の値に限定することは、絶対的な自信を持って行うことができない限り不必要に制限的になるので、ストロークSの最初のサンプルの位置を表すx及びy両方の位置座標の役割を果たすように複数の「妥当な」候補ルートを識別する。同様に、複数の「妥当な」ターゲット候補を識別する。
【0116】
入力されているシーケンス内の最初の単語に望ましい開始文字は、入力が開始されたキーの重心に近い可能性が高い。従って、ルート候補を決定するには、入力ストロークの開始点からキーが最大に離れた距離についての何らかの定数因子内にサンプル、従って特徴が存在すると仮定することができる。同様に、入力されているシーケンス内の最後の用語に望ましい最終文字は、入力が終了してユーザが画面との接触を終えたキーの重心に近い可能性が高い。
【0117】
好ましい実施形態では、この方法が、ルート候補を識別するために特徴内の「曲線距離」属性lを決定するステップを含む。この曲線距離は、以下の式により定義される。
【0118】
式中、f
nはn番目の特徴であり、s(f
n)はこれに最も近いサンプルの指数であり、||s
j−s
j−1||は2つの隣接するサンプル間のユークリッド距離である。従って、n番目の特徴の曲線距離lは、一連のサンプルに沿ったその特徴までの合計距離である。
【0119】
この実装では、2つのキー間の最大分離距離を表す定数kと、入力シーケンスからルート候補及びターゲット候補を識別する上でそれぞれ使用すべき係数を表すチューニングパラメータR及びLとを想定する。
【0120】
上記の関数は、ユーザエラーとキー分離の間の線形関係を想定する。各特徴に関連するタイムスタンプ、又は潜在的に圧力読み取り値から計算できる運動速度を伴うさらに高度な方法を使用することもできる。
【0121】
説明したグラフ生成アルゴリズムは、プレフィックスツリーに関して考えられるルートをモデル化する。このアルゴリズムは、グラフに重みを加えて入力パターンの物理的トポロジーを組み込む方法であるコスト関数を呼び出す。上述したように、グラフ生成アルゴリズムは、コスト関数を呼び出すことに加え、グラフに挿入されたノードによって表される文字が特徴として識別されなかった場合に、このノードにペナルティ、すなわち一定のコストを割り当てることができる。以下、曲線長、ユーザストロークと基準ストロークの間の平均距離、ストローク(トレース)速度及び終点検出に基づく、考えられるコスト関数の実装について説明する。
【0122】
1つのコスト関数の実装は、
図9に示すようなトレース曲線長に基づく。ユーザによる2地点間のトレースの単純な一次モデルは、2地点間の理想的なトレースが、これらの両地点を経由する考えられる最短距離であるという想定から開始する。
【0123】
エラーモデルでは、いずれかの地点からの距離が増すことによって曲線の可能性が低くなり、より長い曲線も同様である。このスキームにおける「理想的なユーザ」は、各文字を前の文字から順に直線で訪れることが明らかである。
【0124】
このスキームにおける1つの単純なエラーモデルは以下のようになる。
式中、S
iはストロークの一部(一連のサンプル)であり、f
i及びf
i+1は部分的ストロークを区切る特徴であり、p
dは距離エラーモデルであり、p
lは長さエラーモデルであり、d
iはターゲットとストロークの間の距離であり、||S
i||は部分的ストロークの長さであり、||x
i+1−x
i||は2つのターゲット間の直線距離である。各変数の意味を
図9で実証する。距離エラーモデルと長さエラーモデルは、いずれもガウス分布又は指数分布とすることができ、最大確率は、必要に応じてゼロ距離又は長さエラーにおいて生じる。現在のトレースの終了は次のトレースの開始を生じるので、上記の方程式は、最初の地点に関する距離確率推定値のみを含み、従って終点における距離d
i+1は、次の文字ターゲットのペアの推定値に含まれるべきである。
【0125】
(ユーザが2地点間の最短経路を取る)「曲線長」モデルと同じ想定を符号化して評価する別の方法は、
図10に示すように、ユーザのトレースと「基準トレース」の間の平均距離を測定することである。最短経路の想定の場合、「基準トレース」は2つのキー間の直線である。このモデルでは、考えられるエラーモデルは次式のようになる。
式中、A
iは、
図10に示すように特徴間のトレースと直線経路とによって囲まれた範囲である。指数分布又はガウス分布は、p
aのための可能な選択肢である。このモデルでは、この範囲及び直線距離を単純に使用して、「最良な経路」からのトレースの平均距離を計算している。同様に、この「最良な経路」を、例えばターゲット地点を通るエルミートスプライン、又はターゲット地点へのbスプライン近似などの他のいずれかの種類の理想的な経路とすることもできる。
【0126】
コスト関数に代わる別の実装は、トレース速度に基づくものである。最も知られているサブトレースモデリング技術は、純粋にトポロジーに基づくものであり、これらの技術は、トレースが「トレース速度」を求めるために使用できるタイミング情報をさらに含むという事実を考慮していない。トレース入力のための完全なモデルはトレースの速度を含む。トレース速度のための単純なモデルは、ユーザのトレース速度が特徴間で最大になり、特徴において最低になると想定することができる。
【0127】
エラーモデルは、特徴から離れても速度の低いトレースにペナルティを課す。このようなモデルは、次式のように2つの特徴間のトレースに沿った確率を蓄積することができる。
式中、s(a)は、開始と終了の間の曲線距離の変数としての(できる限り平滑化した)トレース速度であり、psは、サブトレースの開始と終了の間の曲線距離が長くて速度が低い時に低くなる。
【0128】
コスト関数の別の実装は、
図11に示すような終点検出に基づく。曲線方向は、トポロジーから自明に決まることができ、この実装は、潜在的にトレースモデルに近隣地点を組み込むために有効な方法である。「理想的な」トレースが、4地点を経由するエルミートスプラインである場合、x
iにおける曲線の方向は、次式のような前の地点と次の地点の間の単位ベクトルになる。
これを使用したエラーモデルは、以下の形をとることができる。
式中、t
iはサブトレースの開始点における曲線の(できる限り平滑化した)方向ベクトルである。p
tは、同様の方向のベクトルに高確率を与え、異なる方向に低確率を与える確率分布である。
図11には、関連する様々なベクトル及び値を示している。
【0129】
コスト関数の別の実装は、曲線方向に基づくことができる。平均距離と速度エラーを積分により曲線に沿って合計できるような同じ方法では、曲線方向のモデルを想定して、終点のみではなく曲線全体にわたる方向エラーを評価することができる。単純な方向モデルは、以下の形とすることができる。
この形は、まさに終点方向方程式の連続バージョンである。基準方向
の単純な選択はaに依存せず、単純に前のキーと次のキーの間の方向である。
【0130】
或いは、
を、
における方向ベクトルと
における方向ベクトルとの間の以前に線形補間した方向ベクトルとすることもできる。p
tの選択は、終点方向モデルと同様に行われる。
【0131】
上述したコスト関数は、グラフ/プレフィックスツリー内の有効な経路の各特徴ノードにコストをもたらす。例えば、スペースノード、文字ノード、句読点ノード、又はある特徴の反復インスタンスを表すノードなどの、対応する文字が特徴として識別されなかった場合に挿入されるノードの場合、コスト関数の実装は、上述したように、特徴ノードにコストを割り当てるように先行し、挿入されたノードは、コストを計算するために無視される。挿入されたノードを含む経路の累積コストを決定する場合、このコストは、コスト関数により計算された特徴ノードの累積コストに、挿入されたノードに割り当てられたコストを足し合せたものになる。
【0132】
例えば、経路(「cat」)の識別された特徴が「c、t」であった場合、コスト関数は、まるで挿入されたaのノードが存在しないかのように、これらの特徴ノード「c、t」にコストを与える。その後、累積経路コストは、aのノードを挿入することに対するペナルティを含むようになる。
【0133】
反復特徴を表すように挿入されたノードの場合、このノードに割り当てられるコストは、上述したように(cost=s(f)*c(f’,f))となる。
【0134】
従って、上述したように、本方法及びシステムは、単語のプレフィックス、単語又は語句を表すことができる単一の連続ジェスチャに基づいて単語又は語句を予測する手段を提供する。システム及び方法は、(例えば、ジェスチャが1つの完全な単語を表すこと、ジェスチャが単語の境界を明確に示すこと、又はユーザが意図する単語を正確にスペリング又はタイプするように求められることに制限されない)ユーザ入力における柔軟性、及びジェスチャ感知式キーボード上でジェスチャが行われている時に、このジェスチャを(複数の時点における位置及び任意に圧力を)サンプリングすることによるテキスト予測を実現する。
【0135】
上述したように、これらのサンプルから単語又は語句予測を生成するには、サンプルを特徴に変換し、これらの特徴を使用して用語プレフィックスツリー又は用語プレフィックスツリーを表すグラフを生成し、このプレフィックスツリー又はグラフ内の、予測候補を表す有効な経路を識別する。経路に確率推定値を関連付けることができるコスト関数を提供する(確率推定値は、P(C)=e
−cを用いてコストから求めることができる)。
【0136】
最も可能性の高い経路によって表される単語を、例えばユーザインターフェイスのディスプレイパネル上に表示することにより、単語又は語句予測の組としてユーザに戻すことができる。1つの実施形態では、最も可能性の高い単語又は語句のみがユーザに表示される。或いは、これらの予測及び関連する確率推定値を別のシステムに渡し、このシステムが、複数の根拠の源に基づいて予測を行う予測子の根拠の源としてこれらを使用できるようにすることもできる。
【0137】
以下、本発明によるタッチスクリーン装置の使用例を示す。上記の説明から明らかなように、システムは、単一の連続ジェスチャをユーザからの入力として受け取るように構成された、(点又は線などの)複数のターゲットを含むジェスチャ感知式キーボードと、ジェスチャが行われた時にジェスチャ感知式キーボード上のジェスチャの位置を複数の時点でサンプリングするためのサンプリング手段とを含む。さらに、システムは、複数のサンプルから1又はそれ以上の特徴を生成するように構成された特徴識別手段と、1又はそれ以上の特徴を含む用語プレフィックスツリーを生成するように構成されたプレフィックスツリー生成手段と、用語プレフィックスツリー内の、1又はそれ以上の特徴を所与とする有効な1又はそれ以上の経路を発見するように構成された経路発見手段とを含む。
【0138】
本発明によるシステム10を
図12に示す。システム10は、ジェスチャが行われている時に複数の時点でタッチ位置のサンプル11を取得するように構成されたサンプリング手段1を含む。サンプル11は、特徴識別手段2に渡される。特徴識別手段2は、方法に関連して上述したように、サンプル11からの特徴を識別するように構成される。
【0139】
特徴12は、この特徴12を用いてグラフ/用語プレフィックスツリー13を構築するように構成されたグラフ/用語プレフィックスツリー生成手段3に渡される。グラフ/用語プレフィックスツリー生成手段3は、参照辞書プレフィックスツリー3cを用いて、識別された特徴12を与えられた、参照辞書プレフィックスツリー3cの有効な経路を含む動的グラフ/用語サブプレフィックスツリー13を生成するように構成される。グラフ/用語プレフィックスツリー生成手段3は、グラフ/用語プレフィックスツリー13のノードにコストを割り当てるように構成されたコスト関数3aを含む。システムが経路発見アルゴリズムを含む実施形態では、コスト関数3aが、グラフ/用語プレフィックスツリー13内の各ノードにコストを割り当てる。しかしながら、(上述したような)システムがターゲットノードを識別するように構成された別の実施形態では、コスト関数3aが、ターゲットノードに累積コストを割り当てるように構成される。
【0140】
グラフ/用語プレフィックスツリー生成手段3は、プルーニング手段3bを含むことが好ましい。プルーニング手段3bは、グラフ/用語プレフィックスツリー13から低確率の経路を削除するように構成される。プルーニング手段3bは、所与の経路の確率を最も可能性の高い経路の確率で割った比率が閾値を下回る経路を削除することが好ましい。関連コスト(及び任意にプルーニング)を含むグラフ/用語プレフィックスツリー13は、経路発見手段4に渡される。
【0141】
経路発見手段4は、グラフ/用語プレフィックスツリー13内の最もコストの低い(従って最も可能性の高い)経路14の1つ又はそれ以上を識別するように構成される。経路発見手段は、ターゲットノードにおける累積コストが最も低い(単複の)経路を識別することにより、例えば、これらの経路をその累積コスト順に順序付け、最もコストの低い1又はそれ以上の経路を戻すことにより、又は経路発見アルゴリズムを使用することによってグラフ/用語プレフィックスツリー13内の最もコストの低い経路を発見することにより、1又はそれ以上の経路14を発見する。経路14は、この経路14に基づいて予測15を生成する予測子5に渡される。予測15は、関連する確率推定値を有する1又はそれ以上の単語又は語句を含み、上述したように、これらの単語又は語句は、経路14のノードにより表される特徴12から形成され、確率推定値は、この経路に関連するコストから決定される。
【0142】
上述したように、最も可能性の高い経路によって表される予測15は、例えばユーザインターフェイスのディスプレイパネル上に表示することにより、単語又は語句予測の組としてユーザに戻すことができる。1つの実施形態では、最も可能性の高い単語又は語句のみがユーザに表示される。或いは、これらの予測及び関連する確率推定値15を別のシステムに渡し、このシステムが、複数の根拠の源に基づいてさらなる予測を行う第2の予測子の根拠の源としてこれらを使用できるようにすることもできる。
【0143】
本発明のシステムの使用例
システム10は、未加工の入力サンプル11を特徴ストリーム12に変換するために、使用するキーボードレイアウトの記述を必要とする。以下の例では、次の構成を使用する。
【0144】
以下、ジェスチャ入力から予測を生成する方法及びシステムの柔軟性を示すために、単語のプレフィックスを入力するつもりのユーザ、及び複数の単語を入力するつもりのユーザのためのシステム10の使用例を説明する。
【0145】
プレフィックスマッチング
システム10は、幅広い予測システムが、文脈及びその他のソースを用いて、これらからより正確な完全な単語の予測を生成できるように、プレフィックスを構成する望ましい最初の1又はそれ以上の文字を十分に高い確率で出力することが求められる。或いは、システム10は、より大規模なシステムにプレフィックスを受け渡すことなく、プレフィックスが表す可能性の最も高い(単複の)単語を表示することにより、識別されたプレフィックスに基づく予測15を出力してユーザに表示することもできる。
【0146】
上述したように、システム10のサンプリング手段1は、ジェスチャが行われている時にこのジェスチャをサンプリングして、位置ベクトル、圧力読み取り値及び時間値で構成されたデータを各々が含む一連のサンプル11を生成する。
【0147】
この例では、
図13に示すように、ユーザが、キーボードのターゲット「キー」にわたって指を動かすことにより、「type」という単語の入力を開始しているが、システム10は、今のところわずかなサンプル11しかサンプリングしていない。サンプリング手段1が〜60Hzでサンプリングを行う装置から以下のデータを取得し、時間をミリ秒で測定した。
【0148】
システム10の特徴識別手段2は、最初に、例えば上述したような特徴識別アルゴリズムを使用することにより、サンプルシーケンス11を一連の特徴12に変換する。好ましい実施形態では、特徴を保持するためのチューニングパラメータ(閾値距離及びヒステリシス)が、キー間の最小分離距離の関数である。上述したレイアウトでは、この最小分離距離が48画素である。従って、以下のパラメータを使用する。
【0149】
式中、hはヒステリシスとして使用され、tは距離閾値として使用される。特徴識別アルゴリズムは、入力サンプル11に関する特徴の組を以下のように生じる。
【0150】
この特徴12は、ターゲット文字c、座標x及びy、分離距離s及び時間値tで構成される。この例で提供された8つの未加工サンプル11に対して、一連の5つの特徴12が生成されたことが分かる。
【0151】
次のステップは、一連の特徴12をグラフ生成アルゴリズム3に供給して、一連の特徴12から考えられる特徴の組み合わせを表すグラフ13を構築することである。この考えられる組み合わせを、使用中の言語辞書を表すプレフィックスツリー3cと相互参照する。この例では、本発明者らは英語の辞書を想定しており、従って
図13に示すように、英単語の有効なプレフィックスのみを含むグラフ13が作成される。
【0152】
グラフ生成手段3のコスト関数3aを、グラフ13の特徴12を表すノードにコストを割り当てるように構成することができる。様々な組み合わせに関連するコストを生成するために、この例では距離に基づくコスト関数を使用する。この距離に基づくコスト関数は、曲線の長さ及び距離の差分にコストを割り当てるために使用するガウス関数及び指数関数の減衰を表すいくつかのパラメータを必要とする。上記の例では、これらのパラメータがやはりキー分離距離の関数であると想定する。
【0153】
式中、δは、特徴のキー重心dからの距離を表す減衰パラメータであり、λは、特徴間の曲線の長さと理想的な最短の長さとの差分lを表す減衰パラメータである。従って、
図13のコスト値は以下のように計算される。
【0154】
経路発見手段4は、経路発見アルゴリズムを使用することにより、又は(累積コストがターゲットノードに記憶される実施形態では)累積コストを順序付けることにより、累積コストの最も低い1又はそれ以上の経路を識別するように構成される。予測子5は、1又はそれ以上の経路14に関連する1又はそれ以上の確率推定値を(これらの経路14のコスト関数から)決定して、関連する確率推定値を伴うプレフィックス又は単語/語句を各々が含む1又はそれ以上の予測15を提供するように構成される。
【0155】
上記の例における累積コスト及び確率推定値を以下に示す。この例では、経路発見手段が、「ty」を最もコストの低い経路として識別する。システム10の予測子5は、経路毎の確率推定値を決定するように構成され、ここでp(C)=e
−cとする。予測子5は、1又はそれ以上の最も可能性の高いプレフィックスを予測15として出力するように構成することができる。
【0156】
その後、この情報を他の根拠の源と共に使用して、完全な単語予測を生成することができる。或いは、この情報を単独で使用して、プレフィックスを与えられた最も可能性の高い完全な単語、例えばこの例では「ty」というプレフィックスを含む可能性の最も高い単語を戻すことにより、ユーザがジェスチャを介して入力しようとしている単語を予測することもでき、又はこの情報を、タッチセンサ式キーボードを利用する多くの既知の装置で見られるような、これらの予測に対するユーザの応答に基づいて予測を向上させるための機構と共に使用することもできる。
【0157】
複数単語のマッチング
この例では、
図14に示すように、ユーザが、システム10に2つの単語から成る「a wet」という語句を入力しようとしている。この処理の第1段階は、プレフィックスマッチの例と全く同じものである。
【0158】
図14には、入力ストロークパターンを示しており、以下の表は、このストロークを記録した未加工データである。このストローク例では、入力サンプリング手段1によって以下の入力ストリームサンプル11が生成される。
【0159】
特徴識別手段2は、例えば特徴識別アルゴリズムを使用して未加工サンプル11を特徴12に変換し、以下を提供する。
【0160】
前回と同様に、グラフ生成手段3(例えばグラフ生成アルゴリズム)によって特徴12からグラフ13が構築される。この例においてグラフ生成手段3により生成されたグラフを
図15に示す。「a」はそれだけで1つの単語であり、従ってプレフィックスツリー上の終端ノードであることにより、グラフ生成アルゴリズムは、
図8を参照して上述したように、グラフに適当なコスト(すなわちペナルティ)と共にスペースノードを追加するようになる。
【0161】
図15には、構築アルゴリズムがグラフにスペースノードを挿入する場合を示している。上述したように、この時点でプレフィックスツリー内の探索がリセットされ、ルートからのあらゆる有効な単語を残りの特徴シーケンスから構築することができる。この構造が定まると、予測を生成するための処理は、上述したものと全く同じものである。従って、経路発見手段4は、グラフ13内の最もコストの低い経路14を識別するように構成され、予測子5は、これらの経路14の確率推定値を計算して1又はそれ以上の予測15を出力するように構成される。グラフの最後のリーフは、ルートからの全体の文字シーケンスを表し、この場合は少なくとも1つのスペースを含む。従って、実証したように、本システム及び方法は、複数の単語及びスペース文字を含む語句を予測することができる。
【0162】
上述したように、1又はそれ以上のノードが参照辞書プレフィックスツリー内には存在するが、特徴識別アルゴリズムにより特徴として識別されなかった場合には、これらをグラフに挿入しておくことができる。
【0163】
さらに、上述したように、ユーザが、例えばスペースキー上又はその近くでジェスチャを行うことにより、入力ジェスチャを介して単語の境界を明確に識別した場合、特徴識別手段がその用語の境界に関連する特徴を識別し、グラフ構築アルゴリズムを、上述したコスト関数の実装に基づいてスペースノードにコストを割り当てるように構成することができる。
【0164】
一例として実証したように、本発明は、ジェスチャ感知式キーボードでの単一の連続ジェスチャから、プレフィックス、単語及び語句の予測を生成する手段を提供する。従って、テキスト予測及び確率を生成する本方法及びシステムは、既知のシステム及び方法をしのぐ大きな利点を提供する。上記の説明から理解されるように、本方法及びシステムでは、後の情報がそれよりも前の訂正に影響を与えることができる。このことは、語句を予測する際に、入力された2番目の単語を用いて最初の単語の推測を支援できる場合に特に当てはまる。従って、システム及び方法は、(完全な1つの単語を示すための)ジェスチャを辞書内の単語にマッチさせるにすぎない既知のシステム及び装置よりも精度の高い単語及び語句の予測を行う。
【0165】
この説明はほんの一例であり、特許請求の範囲に規定する本発明の範囲から逸脱することなく、説明した実施形態に変更及び修正を行うことができると理解されるであろう。