(57)【要約】  一例において、コンピューティングデバイスが、グラフィカルキーボードを表示のために出力するように構成された少なくとも1つのプロセッサを含む。また、その少なくとも1つのプロセッサは、第1のラティスにおいて、第1のアルファベットの記号を含む複数の候補文字ストリングをモデル化するように構成されることも可能である。第1のラティスは、その複数の候補文字ストリングの空間的確率を示し得る。その少なくとも1つのプロセッサは、その複数の候補文字ストリングの空間的確率に少なくとも部分的に基づいて第2の言語の1つまたは複数の語の確率を示す第2のラティスを使用して、その複数の候補文字ストリングのうちの少なくとも1つが、第2の言語に含まれる少なくとも1つの語に対応する確率を決定するように構成され得る。その少なくとも1つのプロセッサは、少なくとも1つの語を表す1つまたは複数の記号を表示のために出力するように構成され得る。
2016509456.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも1つのプロセッサを備えるコンピューティングデバイスであって、前記少なくとも1つのプロセッサは、
複数のキーを備えるグラフィカルキーボードを表示のために出力するように構成され、前記複数のキーのうちの少なくとも1つは、第1の言語の第1のアルファベットに含まれる1つまたは複数の記号に関連付けられ、
プレゼンスセンシティブ入力デバイスにおいて検出される少なくとも1つのジェスチャの指示を受け取ることに応答して、第1のラティスにおいて、前記第1のアルファベットのシンボルを各々が含む複数の候補文字ストリングをモデル化するように構成され、前記第1のラティスは、前記複数の候補文字ストリングの各々の空間的確率を示し、前記空間的確率は、前記少なくとも1つのジェスチャの前記指示に少なくとも部分的に基づき、
前記複数の候補文字ストリングのうちの少なくとも1つに関して、前記複数の候補文字ストリングの前記空間的確率に少なくとも部分的に基づいて第2の言語の1つまたは複数の語の確率を示す第2のラティスを使用して、前記複数の候補文字ストリングのうちの前記少なくとも1つが、前記第2の言語に含まれる少なくとも1つの語に対応する確率を決定するように構成され、前記少なくとも1つの語は、前記第2の言語に対応する第2のアルファベットの1つまたは複数の記号によって表され、
前記確率がしきい値を満たすと決定することに応答して、前記少なくとも1つの語を表す前記1つまたは複数の記号を表示のために出力するように構成されるコンピューティングデバイス。
【請求項２】
前記少なくとも1つのプロセッサは、
前記複数の候補文字ストリングのうちの候補文字ストリングに含まれる文字のグループを決定するように構成され、
前記候補文字ストリングに含まれる文字に対応するキーの空間的モデル確率を決定するように構成され、
前記候補文字ストリングに含まれる文字に対応するキーの前記空間的モデル確率に少なくとも部分的に基づいて、前記候補文字ストリングの集合的空間的モデル確率を決定するように構成され、
前記第1のラティスにおいて辺を決定するように構成され、前記候補文字ストリング、および前記文字ストリングの前記集合的空間的モデル確率は、前記辺に関連付けられる請求項1に記載のコンピューティングデバイス。
【請求項３】
前記プレゼンスセンシティブ入力デバイスにおいて検出される少なくとも1つのジェスチャの前記指示は、タップ入力をさらに備え、前記少なくとも1つのプロセッサは、
前記タップ入力の位置に近接した前記グラフィカルキーボードのキーの空間的モデル確率を決定するように構成され、
第3のラティスにおいて、前記タップ入力の位置に近接した前記グラフィカルキーボードの前記キーに各々が対応する辺を生成するように構成され、
前記辺に、前記タップ入力の前記位置に近接した前記グラフィカルキーボードの文字、および前記タップ入力の前記位置に近接した前記グラフィカルキーボードの前記キーのそれぞれの空間的モデル確率を関連付けるように構成され、
前記第3のラティスにおいて複数の辺を決定するように構成され、
前記第1のラティスにおいて、候補文字ストリングに関連付けられた辺を生成するように構成され、前記候補文字ストリングは、前記第3のラティスにおける前記複数の辺に少なくとも部分的に基づいて生成される請求項1に記載のコンピューティングデバイス。
【請求項４】
前記少なくとも1つのプロセッサは、
第1の候補文字ストリングの第1の空間的モデル確率がしきい値を満たすと決定するように構成され、前記第1の候補文字ストリングは、前記第1のラティスの第1の辺に対応し、前記第1の辺は、第1の頂点から始まり、第2の頂点で終わり、
第2の候補文字ストリングの第2の空間的モデル確率がしきい値を満たすと決定するように構成され、前記第2の候補文字ストリングは、前記第1のラティスの第2の辺に対応し、前記第2の辺は、前記第2の頂点から始まり、第3の頂点で終わり、
前記第2のラティスにおいて、前記第1の空間的モデル確率および前記第2の空間的モデル確率に少なくとも部分的に基づいて、前記第2の言語に含まれる前記少なくとも1つの語の確率を示す第3の辺を生成するように構成される請求項1に記載のコンピューティングデバイス。
【請求項５】
前記少なくとも1つのプロセッサは、
前記第1の候補文字ストリングと前記第2の候補文字ストリングを連結して第3の候補文字ストリングを生成し、
前記第3の候補文字ストリングを前記第2のラティスにおける前記第3の辺に関連付け、
前記第2の言語における前記語を所与として前記第3の候補文字ストリングの確率を決定するように構成される請求項4に記載のコンピューティングデバイス。
【請求項６】
前記プレゼンスセンシティブ入力デバイスにおいて検出される少なくとも1つのジェスチャの前記指示は、連続的なジェスチャ入力をさらに備え、前記少なくとも1つのプロセッサは、
少なくとも1つのジェスチャの前記指示を受け取ることに応答して、キーのグループに少なくとも部分的に基づいて候補文字ストリングを決定するように構成され、前記決定することは、
前記ジェスチャが進んだ整列ポイントのグループを決定することと、
前記複数のキーのうちの少なくとも2つのキーの各々に関して、それぞれの費用値を決定することとを備え、前記それぞれの費用値の各々は、整列ポイントの前記グループの整列ポイントが、前記複数のキーのうちのキーを示す確率を表し、
キーの組合せの前記費用値がしきい値を満たすと決定することに応答して、前記コンピューティングデバイスによる、候補文字ストリングを前記第1のラティスの辺に関連付けるように構成され、前記文字ストリングは、キーの前記組合せに関連付けられた文字を含む、請求項1に記載のコンピューティングデバイス。
【請求項７】
前記少なくとも1つのプロセッサは、
プレゼンスセンシティブ入力デバイスにおいて検出される少なくとも1つのジェスチャの指示を受け取ることに応答して、複数の文字を決定するように構成され、
前記複数の文字の間の少なくとも1つの境界を決定するように構成され、前記少なくとも1つの境界は、第1の候補文字ストリングに対応する前記複数の文字における第1のグループの文字、および第2の候補文字ストリングに対応する前記複数の文字における第2のグループの文字を示し、
前記第1のラティスにおいて、前記第1の候補文字ストリングに関連付けられた第1の辺を生成するように構成され、前記第1の辺は、第1の頂点から始まり、第2の頂点で終わり、
前記第1のラティスにおいて、前記第2の候補文字ストリングに関連付けられた第2の辺を生成するように構成され、前記第2の辺は、前記第2の頂点から始まり、第3の頂点で終わり、
前記第2の言語における前記語を所与として、前記第1の候補文字ストリングおよび前記第2の候補文字ストリングの確率を決定するように構成される請求項1に記載のコンピューティングデバイス。
【請求項８】
実行されると、少なくとも1つのプロセッサに、
複数のキーを備えるグラフィカルキーボードを表示のために出力させ、前記複数のキーのうちの少なくとも1つは、第1の言語の第1のアルファベットに含まれる1つまたは複数の記号に関連付けられる、
プレゼンスセンシティブ入力デバイスにおいて検出される少なくとも1つのジェスチャの指示を受け取ることに応答して、第1のラティスにおいて、前記第1のアルファベットのシンボルを各々が含む複数の候補文字ストリングをモデル化させ、前記第1のラティスは、前記複数の候補文字ストリングの各々の空間的確率を示し、前記空間的確率は、前記少なくとも1つのジェスチャの前記指示に少なくとも部分的に基づく、
前記複数の候補文字ストリングのうちの少なくとも1つに関して、前記複数の候補文字ストリングの前記空間的確率に少なくとも部分的に基づいて第2の言語の1つまたは複数の語の確率を示す第2のラティスを使用して、前記複数の候補文字ストリングのうちの前記少なくとも1つが、前記第2の言語に含まれる少なくとも1つの語に対応する確率を決定させ、前記少なくとも1つの語は、前記第2の言語に対応する第2のアルファベットの1つまたは複数の記号によって表される、
前記確率がしきい値を満たすと決定することに応答して、前記少なくとも1つの語を表す前記1つまたは複数の記号を表示のために出力させる命令が符号化されたコンピュータ可読記憶媒体。
【請求項９】
実行されると、少なくとも1つのプロセッサに、
前記複数の候補文字ストリングのうちの候補文字ストリングに含まれる文字のグループを決定させ、
前記候補文字ストリングに含まれる文字に対応するキーの空間的モデル確率を決定させ、
前記候補文字ストリングに含まれる文字に対応するキーの前記空間的モデル確率に少なくとも部分的に基づいて、前記候補文字ストリングの集合的空間的モデル確率を決定させ、
前記第1のラティスにおいて辺を決定させ、前記候補文字ストリング、および前記文字ストリングの前記集合的空間的モデル確率は、前記辺に関連付けられる命令が符号化された請求項8に記載のコンピュータ可読記憶媒体。
【請求項１０】
前記プレゼンスセンシティブ入力デバイスにおいて検出される少なくとも1つのジェスチャの前記指示は、タップ入力をさらに備えるコンピュータ可読記憶媒体であって、実行されると、少なくとも1つのプロセッサに、
前記タップ入力の位置に近接した前記グラフィカルキーボードのキーの空間的モデル確率を決定させ、
第3のラティスにおいて、前記タップ入力の前記位置に近接した前記グラフィカルキーボードの前記キーに各々が対応する辺を生成させ、
前記辺に、前記タップ入力の前記位置に近接した前記グラフィカルキーボードの文字、および前記タップ入力の前記位置に近接した前記グラフィカルキーボードの前記キーのそれぞれの空間的モデル確率を関連付けさせ、
前記第3のラティスにおいて複数の辺を決定させ、
前記第1のラティスにおいて、候補文字ストリングに関連付けられた辺を生成させ、前記候補文字ストリングは、前記第3のラティスにおける前記複数の辺に少なくとも部分的に基づいて生成される命令が符号化された請求項8に記載のコンピュータ可読記憶媒体。
【請求項１１】
実行されると、少なくとも1つのプロセッサに、
第1の候補文字ストリングの第1の空間的モデル確率がしきい値を満たすと決定させ、前記第1の候補文字ストリングは、前記第1のラティスの第1の辺に対応し、前記第1の辺は、第1の頂点から始まり、第2の頂点で終わる、
第2の候補文字ストリングの第2の空間的モデル確率がしきい値を満たすと決定させ、前記第2の候補文字ストリングは、前記第1のラティスの第2の辺に対応し、前記第2の辺は、前記第2の頂点から始まり、第3の頂点で終わる、
前記第2のラティスにおいて、前記第1の空間的モデル確率および前記第2の空間的モデル確率に少なくとも部分的に基づいて、前記第2の言語に含まれる前記少なくとも1つの語の確率を示す第3の辺を生成させる命令が符号化された請求項8に記載のコンピュータ可読記憶媒体。
【請求項１２】
実行されると、少なくとも1つのプロセッサに、
前記第1の候補文字ストリングと前記第2の候補文字ストリングを連結して第3の候補文字ストリングを生成させ、
前記第3の候補文字ストリングを前記第2のラティスにおける前記第3の辺に関連付けさせ、
前記第2の言語における前記語を所与として前記第3の候補文字ストリングの前記確率を決定させる命令が符号化された請求項11に記載のコンピュータ可読記憶媒体。
【請求項１３】
前記プレゼンスセンシティブ入力デバイスにおいて検出される少なくとも1つのジェスチャの前記指示は、連続的なジェスチャ入力をさらに備えるコンピュータ可読記憶媒体であって、実行されると、少なくとも1つのプロセッサに、
少なくとも1つのジェスチャの前記指示を受け取ることに応答して、キーのグループに少なくとも部分的に基づいて候補文字ストリングを決定させ、前記決定することは、
前記ジェスチャが進んだ整列ポイントのグループを決定することと、
前記複数のキーのうちの少なくとも2つのキーの各々に関して、それぞれの費用値を決定することとを備え、前記それぞれの費用値の各々は、整列ポイントの前記グループの整列ポイントが、前記複数のキーのうちのキーを示す確率を表し、
キーの組合せの前記費用値がしきい値を満たすと決定することに応答して、前記コンピューティングデバイスによって、候補文字ストリングを前記第1のラティスの辺に関連付けさせ、前記候補文字ストリングは、キーの前記組合せに関連付けられた文字を含む命令が符号化された請求項8に記載のコンピュータ可読記憶媒体。
【請求項１４】
実行されると、少なくとも1つのプロセッサに、
プレゼンスセンシティブ入力デバイスにおいて検出される少なくとも1つのジェスチャの指示を受け取ることに応答して、複数の文字を決定させ、
前記複数の文字の間の少なくとも1つの境界を決定させ、前記少なくとも1つの境界は、第1の候補文字ストリングに対応する前記複数の文字における第1のグループの文字、および第2の候補文字ストリングに対応する前記複数の文字における第2のグループの文字を示し、
前記第1のラティスにおいて、前記第1の候補文字ストリングに関連付けられた第1の辺を生成させ、前記第1の辺は、第1の頂点から始まり、第2の頂点で終わり、
前記第1のラティスにおいて、前記第2の候補文字ストリングに関連付けられた第2の辺を生成させ、前記第2の辺は、前記第2の頂点から始まり、第3の頂点で終わり、
前記第2の言語における前記語を所与として、前記第1の候補文字ストリングおよび前記第2の候補文字ストリングの前記確率を決定させる命令が符号化された請求項8に記載のコンピュータ可読記憶媒体。
【請求項１５】
コンピューティングデバイスによる、複数のキーを備えるグラフィカルキーボードを表示のために出力するステップであって、前記複数のキーのうちの少なくとも1つは、第1の言語の第1のアルファベットに含まれる1つまたは複数の記号に関連付けられるステップと、
プレゼンスセンシティブ入力デバイスにおいて検出される少なくとも1つのジェスチャの指示を受け取ることに応答して、第1のラティスにおいて、前記第1のアルファベットのシンボルを各々が含む複数の候補文字ストリングをモデル化するステップであって、前記第1のラティスは、前記複数の候補文字ストリングの各々の空間的確率を示し、前記空間的確率は、前記少なくとも1つのジェスチャの前記指示に少なくとも部分的に基づくステップと、
前記複数の候補文字ストリングのうちの少なくとも1つに関して、前記複数の候補文字ストリングの前記空間的確率に少なくとも部分的に基づいて第2の言語の1つまたは複数の語の確率を示す第2のラティスを使用して、前記複数の候補文字ストリングのうちの前記少なくとも1つが、前記第2の言語に含まれる少なくとも1つの語に対応する確率を決定するステップであって、前記少なくとも1つの語は、前記第2の言語に対応する第2のアルファベットの1つまたは複数の記号によって表されるステップと、
前記確率がしきい値を満たすと決定することに応答して、前記少なくとも1つの語を表す前記1つまたは複数の記号を、前記コンピューティングデバイスによって表示のために出力するステップとを備える方法。
【請求項１６】
前記第1のラティスにおいて、前記第1のアルファベットのシンボルを各々が含む前記複数の文字ストリングをモデル化するステップは、
前記コンピューティングデバイスによる、前記複数の候補文字ストリングのうちの候補文字ストリングに含まれる文字のグループを決定するステップと、
前記コンピューティングデバイスによる、前記候補文字ストリングに含まれる文字に対応するキーの空間的モデル確率を決定するステップと、
前記コンピューティングデバイスによる、前記候補文字ストリングに含まれる文字に対応するキーの前記空間的モデル確率に少なくとも部分的に基づいて、前記候補文字ストリングの集合的空間的モデル確率を決定するステップと、
前記コンピューティングデバイスによる、前記第1のラティスにおいて辺を生成するステップであって、前記候補文字ストリング、および前記文字ストリングの前記集合的空間的モデル確率は、前記辺に関連付けられるステップとをさらに備える請求項15に記載の方法。
【請求項１７】
前記プレゼンスセンシティブ入力デバイスにおいて検出される少なくとも1つのジェスチャの前記指示は、タップ入力をさらに備える方法であって、
前記コンピューティングデバイスによる、前記タップ入力の位置に近接した前記グラフィカルキーボードのキーの空間的モデル確率を決定するステップと、
前記コンピューティングデバイスによる、第3のラティスにおいて、前記タップ入力の前記位置に近接した前記グラフィカルキーボードの前記キーに各々が対応する辺を生成するステップと、
前記コンピューティングデバイスによる、前記辺に、前記タップ入力の前記位置に近接した前記グラフィカルキーボードの文字、および前記タップ入力の前記位置に近接した前記グラフィカルキーボードの前記キーのそれぞれの空間的モデル確率を関連付けるステップと、
前記コンピューティングデバイスによる、前記第3のラティスにおいて複数の辺を決定するステップと、
前記コンピューティングデバイスによる、前記第1のラティスにおいて、候補文字ストリングに関連付けられた辺を生成するステップであって、前記候補文字ストリングは、前記第3のラティスにおける前記複数の辺に少なくとも部分的に基づいて生成されるステップとをさらに備える請求項15に記載の方法。
【請求項１８】
前記コンピューティングデバイスによる、第1の候補文字ストリングの第1の空間的モデル確率がしきい値を満たすと決定するステップであって、前記第1の候補文字ストリングは、前記第1のラティスの第1の辺に対応し、前記第1の辺は、第1の頂点から始まり、第2の頂点で終わるステップと、
前記コンピューティングデバイスによる、第2の候補文字ストリングの第2の空間的モデル確率が前記しきい値を満たすと決定するステップであって、前記第2の候補文字ストリングは、前記第1のラティスの第2の辺に対応し、前記第2の辺は、前記第2の頂点から始まり、第3の頂点で終わるステップと、
前記コンピューティングデバイスによる、前記第2のラティスにおいて、前記第1の空間的モデル確率および前記第2の空間的モデル確率に少なくとも部分的に基づいて、前記第2の言語に含まれる前記少なくとも1つの語の確率を示す第3の辺を生成するステップとをさらに備える請求項15に記載の方法。
【請求項１９】
前記コンピューティングデバイスによる、前記第1の候補文字ストリングと前記第2の候補文字ストリングを連結して第3の候補文字ストリングを生成するステップと、
前記コンピューティングデバイスによる、前記第3の候補文字ストリングを前記第2のラティスにおける前記第3の辺に関連付けるステップと、
前記コンピューティングデバイスによる、前記第2の言語における前記語を所与として前記第3の候補文字ストリングの前記確率を決定するステップとをさらに備える請求項18に記載の方法。
【請求項２０】
前記プレゼンスセンシティブ入力デバイスにおいて検出される少なくとも1つのジェスチャの前記指示は、連続的なジェスチャ入力をさらに備える方法であって、
前記コンピューティングデバイスによる、少なくとも1つのジェスチャの前記指示を受け取ることに応答して、キーのグループに少なくとも部分的に基づいて候補文字ストリングを決定するステップであって、前記決定するステップは、
前記コンピューティングデバイスによる、前記ジェスチャが進んだ整列ポイントのグループを決定するステップと、
前記コンピューティングデバイスによる、前記複数のキーのうちの少なくとも2つのキーの各々に関して、それぞれの費用値を決定するステップであって、前記それぞれの費用値の各々は、整列ポイントの前記グループの整列ポイントが、前記複数のキーのうちのキーを示す確率を表すステップとを備え、
キーの組合せの前記費用値がしきい値を満たすと決定することに応答して、前記コンピューティングデバイスによる、候補文字ストリングを前記第1のラティスの辺に関連付けるステップであって、前記候補文字ストリングは、キーの前記組合せに関連付けられた文字を含むステップをさらに備える請求項15に記載の方法。
【請求項２１】
前記コンピューティングデバイスによる、プレゼンスセンシティブ入力デバイスにおいて検出される少なくとも1つのジェスチャの指示を受け取ることに応答して、複数の文字を決定するステップと、
前記コンピューティングデバイスによる、前記複数の文字の間の少なくとも1つの境界を決定するステップであって、前記少なくとも1つの境界は、第1の候補文字ストリングに対応する前記複数の文字における第1のグループの文字、および第2の候補文字ストリングに対応する前記複数の文字における第2のグループの文字を示すステップと、
前記コンピューティングデバイスによる、前記第1のラティスにおいて、前記第1の候補文字ストリングに関連付けられた第1の辺を生成するステップであって、前記第1の辺は、第1の頂点から始まり、第2の頂点で終わるステップと、
前記コンピューティングデバイスによる、前記第1のラティスにおいて、前記第2の候補文字ストリングに関連付けられた第2の辺を生成するステップであって、前記第2の辺は、前記第2の頂点から始まり、第3の頂点で終わるステップと、
前記コンピューティングデバイスによる、前記第2の言語における前記語を所与として、前記第1の候補文字ストリングおよび前記第2の候補文字ストリングの前記確率を決定するステップとをさらに備える請求項15に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
国際言語のための仮想キーボード入力。
【背景技術】
【０００２】
一部のコンピューティングデバイス(たとえば、モバイル電話、タブレットコンピュータなど)は、プレゼンスセンシティブ(presence sensitive)ディスプレイ(たとえば、画面)を使用してテキストを作成するためのグラフィカルユーザインターフェースの一環としてグラフィカルキーボードを提供することが可能である。グラフィカルキーボードは、コンピューティングデバイスのユーザが、テキスト(たとえば、電子メール、テキストメッセージ、または文書など)を入力することを可能にし得る。たとえば、コンピューティングデバイスのプレゼンスセンシティブディスプレイが、ユーザが、プレゼンスセンシティブディスプレイに表示されたキーを指し示すことによって(たとえば、タップする(tap)ことによって)データを入力することができるようにするグラフィカル(つまり、「ソフト」)キーボードを出力することが可能である。
【０００３】
一部の事例において、コンピューティングデバイスは、ユーザが、キーボードの個々のキーをタップすること、またはそれらのキーに関連する領域上でユーザの指を滑らせることによって語を実質的にジェスチャで表すことによって対話するグラフィカルキーボードを提示することが可能である。このようにして、グラフィカルキーボードは、ユーザが、1つまたは複数のジェスチャによって文字、語、またはグループの語を入力することを可能にする入力方法をもたらす。このため、グラフィカルキーボードは、ユーザが、テキストを迅速に、正確に入力することによってある程度の効率を実現することを可能にし得る。
【０００４】
グラフィカルキーボードを提供するコンピューティングデバイスが、ユーザ入力からの語を決定するために語予測技法、自動訂正技法、および/または示唆技法を利用することが可能である。一部の国際的なコンテキストにおいて、グラフィカルキーボードのキーは、第1の言語(たとえば、英語)のアルファベットにおける文字に関連付けられ得る。ユーザは、グラフィカルキーボードの1つまたは複数のキーを選択して、第2の言語(たとえば、中国語、韓国語、日本語など)に含まれる語および/または文字を表す文字のストリングを入力することが可能である。語予測技法、自動訂正技法、および/または示唆技法を使用することは、テキスト入力をスピードアップし、スペリングミスを減らすことが可能である。しかし、これらの技法のうちの1つまたは複数は、いくつかの欠点を有し得る。たとえば、一部の例において、グラフィカルキーボードを提供し、前述した技法のうちの1つまたは複数に依拠するコンピューティングデバイスが、ユーザ入力からユーザによって意図されていた第2の言語の語および/または文字を正しく決定しない可能性がある。このため、ユーザが、第2の言語の文字および/または語を入力するさらなる作業を実行する必要があり得る。
【発明の概要】
【課題を解決するための手段】
【０００５】
一例において、方法が、コンピューティングデバイスによる、複数のキーを備えるグラフィカルキーボードを表示のために出力するステップを含む。複数のキーのうちの少なくとも1つが、第1の言語の第1のアルファベットに含まれる1つまたは複数の記号に関連付けられ得る。また、この方法は、プレゼンスセンシティブ入力デバイスにおいて検出される少なくとも1つのジェスチャの指示を受け取ることに応答して、第1のラティスにおいて、第1のアルファベットのシンボルを各々が含む複数の候補文字ストリングをモデル化するステップを含むことも可能である。第1のラティスは、複数の候補文字ストリングの各々の空間的確率を示すことが可能であり、ここで、空間的確率は、少なくとも1つのジェスチャの指示に少なくとも部分的に基づく。この方法は、複数の候補文字ストリングのうちの少なくとも1つに関して、その複数の候補文字ストリングの空間的確率に少なくとも部分的に基づいて第2の言語の1つまたは複数の語の確率を示す第2のラティスを使用して、その複数の候補文字ストリングのうちのその少なくとも1つが、第2の言語に含まれる少なくとも1つの語に対応する確率を決定するステップを含み得る。その少なくとも1つの語は、第2の言語に対応する第2のアルファベットの1つまたは複数の記号によって表され得る。この方法は、その確率がしきい値を満たすと決定することに応答して、コンピューティングデバイスによる、その少なくとも1つの語を表す1つまたは複数の記号を表示のために出力するステップを含み得る。
【０００６】
一例において、コンピュータ可読記憶媒体に、実行されると、少なくとも1つのプロセッサに、複数のキーを備えるグラフィカルキーボードを表示のために出力させる命令が符号化される。その複数のキーのうちの少なくとも1つが、第1の言語の第1のアルファベットに含まれる1つまたは複数の記号に関連付けられ得る。このコンピュータ可読記憶媒体に、少なくとも1つのプロセッサに、プレゼンスセンシティブ入力デバイスにおいて検出される少なくとも1つのジェスチャの指示を受け取ることに応答して、第1のラティスにおいて、第1のアルファベットのシンボルを各々が含む複数の候補文字ストリングをモデル化させる命令が符号化され得る。第1のラティスは、複数の候補文字ストリングの各々の空間的確率を示すことが可能であり、ここで、空間的確率は、少なくとも1つのジェスチャの指示に少なくとも部分的に基づく。このコンピュータ可読記憶媒体は、少なくとも1つのプロセッサに、複数の候補文字ストリングのうちの少なくとも1つに関して、その複数の候補文字ストリングの空間的確率に少なくとも部分的に基づいて第2の言語の1つまたは複数の語の確率を示す第2のラティスを使用して、その複数の候補文字ストリングのうちのその少なくとも1つが、第2の言語に含まれる少なくとも1つの語に対応する確率を決定させる命令が符号化され得る。その少なくとも1つの語は、第2の言語に対応する第2のアルファベットの1つまたは複数の記号によって表され得る。このコンピュータ可読記憶媒体に、少なくとも1つのプロセッサに、その確率がしきい値を満たすと決定することに応答して、その少なくとも1つの語を表す1つまたは複数の記号を表示のために出力させる命令が符号化され得る。
【０００７】
一例において、コンピューティングデバイスが、少なくとも1つのプロセッサを含むことが可能であり、ここにおいて、その少なくとも1つのプロセッサは、複数のキーを備えるグラフィカルキーボードを表示のために出力するように構成される。その複数のキーのうちの少なくとも1つが、第1の言語の第1のアルファベットに含まれる1つまたは複数の記号に関連付けられ得る。コンピューティングデバイスのその少なくとも1つのプロセッサは、プレゼンスセンシティブ入力デバイスにおいて検出される少なくとも1つのジェスチャの指示を受け取ることに応答して、第1のラティスにおいて、第1のアルファベットのシンボルを各々が含む複数の候補文字ストリングをモデル化するように構成され得る。第1のラティスは、複数の候補文字ストリングの各々の空間的確率を示すことが可能であり、ここで、空間的確率は、少なくとも1つのジェスチャの指示に少なくとも部分的に基づく。コンピューティングデバイスのその少なくとも1つのプロセッサは、複数の候補文字ストリングのうちの少なくとも1つに関して、その複数の候補文字ストリングの空間的確率に少なくとも部分的に基づいて第2の言語の1つまたは複数の語の確率を示す第2のラティスを使用して、その複数の候補文字ストリングのうちのその少なくとも1つが、第2の言語に含まれる少なくとも1つの語に対応する確率を決定するように構成され得る。その少なくとも1つの語は、第2の言語に対応する第2のアルファベットの1つまたは複数の記号によって表され得る。コンピューティングデバイスのその少なくとも1つのプロセッサは、その確率がしきい値を満たすと決定することに応答して、その少なくとも1つの語を表す1つまたは複数の記号を表示のために出力するように構成され得る。
【０００８】
1つまたは複数の例の詳細が、添付の図面、および後段の説明に記載される。本開示の他の特徴、目的、および利点は、説明および図面、ならびに特許請求の範囲から明白となろう。
【図面の簡単な説明】
【０００９】
【図１】本開示の1つまたは複数の態様による、第1の言語のアルファベットに含まれる文字を選択するユーザ入力に少なくとも部分的に基づいて、第2の言語の1つまたは複数の文字および/または語を決定するように構成された例示的なコンピューティングデバイスを示す概念図である。
【図２】本開示の1つまたは複数の技法による、図1に示されるコンピューティングデバイスの一例のさらなる詳細を示すブロック図である。
【図３】本開示の1つまたは複数の技法による、遠隔デバイスにおいて表示するためにグラフィカルコンテンツを出力する例示的なコンピューティングデバイスを示すブロック図である。
【図４】本開示の技法による、コンピューティングデバイスが、第1の言語におけるアルファベットの文字を選択するユーザ入力の指示に基づいて生成して、第2の言語の語を決定するのに使用することが可能なラティスを示す概念図である。
【図５】本開示の1つまたは複数の技法による、第1の言語のアルファベットに含まれる文字を選択する連続的なジェスチャに少なくとも部分的に基づいて、第2の言語の1つまたは複数の文字および/または語を決定する、図1に示されるコンピューティングデバイスの一例のさらなる詳細を示すブロック図である。
【図６Ａ】本開示の1つまたは複数の技法による、ジェスチャから語および/または句を決定するコンピューティングデバイスの例示的な動作を示す流れ図である。
【図６Ｂ】本開示の1つまたは複数の技法による、ジェスチャから語および/または句を決定するコンピューティングデバイスの例示的な動作を示す流れ図である。
【図７】本開示の1つまたは複数の態様による、第1の言語のアルファベットに含まれる文字を選択するユーザ入力に少なくとも部分的に基づいて、第2の言語の1つまたは複数の文字および/または語を決定するコンピューティングデバイスの例示的な動作を示す流れ図である。
【図８】本開示の1つまたは複数の態様による、第1の言語のアルファベットに含まれる文字を選択するユーザ入力に少なくとも部分的に基づいて、第2の言語の1つまたは複数の文字および/または語を決定するコンピューティングデバイスの例示的な動作を示す流れ図である。
【図９】本開示の技法による、コンピューティングデバイスが、第1の言語におけるアルファベットの文字を選択するユーザ入力の指示に基づいて生成して、第2の言語の語を決定するのに使用することが可能なラティスを示す概念図である。
【発明を実施するための形態】
【００１０】
一般に、本開示は、第1の言語のアルファベットの文字に対応するキーを含むグラフィカルキーボードにおいてユーザ入力を受け取るため、およびそのユーザ入力に少なくとも部分的に基づいて、第2の言語の1つまたは複数の文字および/または語を決定するための技法を対象とする。たとえば、国際的なコンテキストにおいて、そのグラフィカルキーボードのキーが、第1の言語(たとえば、英語)のアルファベットの文字に対応することが可能である。第2の言語(たとえば、中国語、韓国語、日本語など)における文字および/または語を入力するのに、ユーザは、集合的に第2の言語における1つまたは複数の文字および/または語の発音表現である第1の言語の文字のグループを選択するユーザ入力を与えることが可能である。たとえば、ピンインストリングが、集合的に漢字または語の発音表現であるラテン文字のグループであり得る。
【００１１】
本開示の技法は、グラフィカルキーボードを使用して国際的なコンテキストにおける文字および/または語の自動予測および/または自動訂正を向上させ得る。たとえば、本開示の技法によれば、コンピューティングデバイスが、グラフィカルキーボードの様々な領域に対応するユーザ入力の指示を決定することが可能である。コンピューティングデバイスが、各指示をインクリメンタルに決定するにつれ、コンピューティングデバイスは、グラフィカルキーボードの様々な選択された領域に近接したキーの文字を含む1つまたは複数の候補文字ストリングを構築することが可能である。コンピューティングデバイスは、グラフィカルキーボードの様々な選択された領域に近接したキーの文字に基づく候補文字ストリングの確率を示す第1のラティスをインクリメンタルに構築することが可能である。一部の例において、候補文字ストリングは、第2の言語における語の発音表現の正しくつづられた接頭辞および/または誤ってつづられた接頭辞を備え得る。
【００１２】
コンピューティングデバイスが、ユーザ入力の指示を受け取るにつれ、コンピューティングデバイスは、語彙情報および空間情報に基づいて、候補文字ストリングに基づいて第2の言語の1つまたは複数の語の確率を示す第2のラティスを構築することも可能である。コンピューティングデバイスは、第2のラティスを使用して、第2の言語の語が候補文字ストリングに対応する確率を決定することが可能である。一部の例において、コンピューティングデバイスは、表示のために、しきい値を満たす確率に関連する1つまたは複数の語を出力することが可能である。
【００１３】
このようにして、静的なキーマッピングを使用するのではなく、コンピューティングデバイスは、第2の言語における文字および/または語の発音表現を選択するユーザ入力の指示に基づいて、ユーザが入力することを意図した尤度の高い第2の言語の語を確率論的な様態で決定することが可能である。したがって、本開示の翻字技法は、コンピューティングデバイスが第2の言語の語を出力する精度および/または速度を向上させることが可能である。これらの技法は、コンピューティングデバイスが、ジェスチャ入力からの文字ストリングを誤って自動訂正すること、または誤って予測することを少なくする、または防止することが可能である。このようにして、これらの技法は、ユーザが、語を入力する際に自動訂正された、または予測された語を訂正する必要性を減らすこと、および/または解消することが可能である。したがって、コンピューティングデバイスが受け取る、語を入力する、かつ/または誤りを手動で訂正するユーザからの入力がより少なくなることが可能であり、コンピューティングデバイスは、その結果、文字ストリングを入力するユーザ作業を減らすことが可能である。より少ない入力を受け取るコンピューティングデバイスは、一部の例において、より少ない動作を実行することが可能であり、このため、より少ない電力を消費することが可能である。
【００１４】
図1は、本開示の1つまたは複数の態様による、第1の言語のアルファベットに含まれる文字を選択するユーザ入力に少なくとも部分的に基づいて、第2の言語の1つまたは複数の文字および/または語を決定するように構成された例示的なコンピューティングデバイスを示す概念図である。図1の例において、コンピューティングデバイス2は、モバイル電話であり得る。しかし、他の例において、コンピューティングデバイス2は、タブレットコンピュータ、携帯情報端末(PDA)、ラップトップコンピュータ、ポータブルゲームデバイス、ポータブルメディアプレーヤ、電子書籍リーダ、腕時計型のコンピューティングデバイス、テレビプラットフォームのコンピューティングデバイス、または別の型のコンピューティングデバイスであってもよい。
【００１５】
図1に示されるように、コンピューティングデバイス2は、プレゼンスセンシティブディスプレイ4を含む。コンピューティングデバイス2のプレゼンスセンシティブディスプレイ4は、コンピューティングデバイス2のための入力デバイスとして、かつ出力デバイスとして機能することが可能である。一部の例において、プレゼンスセンシティブディスプレイ4は、組み込まれたプレゼンスセンシティブ入力デバイスと、ディスプレイデバイスとを含み得る。たとえば、プレゼンスセンシティブディスプレイ4は、抵抗膜タッチスクリーン、表面弾性波タッチスクリーン、静電容量タッチスクリーン、投影型静電容量タッチスクリーン、感圧画面、音響パルス認識タッチスクリーン、または別のプレゼンスセンシティブ画面技術のような、プレゼンスセンシティブ画面を使用するプレゼンスセンシティブ入力デバイスとして機能し得る。プレゼンスセンシティブディスプレイ4は、コンピューティングデバイス2のユーザに目に見える情報を出力することができる、液晶ディスプレイ(LCD)、ドットマトリックスディスプレイ、発光ダイオード(LED)ディスプレイ、有機発光ダイオード(OLED)ディスプレイ、電子インクディスプレイ、または類似したモノクロもしくはカラーのディスプレイのいずれか1つまたは複数を使用する出力デバイスとして機能し得る。
【００１６】
コンピューティングデバイス2のプレゼンスセンシティブディスプレイ4は、コンピューティングデバイス2のユーザからのユーザ入力を検出することが可能なプレゼンスセンシティブ画面を含み得る。プレゼンスセンシティブディスプレイ4は、コンピューティングデバイス2のユーザから、1つまたは複数のタップジェスチャおよび/または非タップジェスチャ、ならびに/あるいは連続的なジェスチャ(たとえば、ユーザが、指またはスタイラスペンでプレゼンスセンシティブディスプレイ4の1つまたは複数の位置に触れること、またはそのような位置をポイントすること)を検出することによって、ユーザ入力の指示を受け取ることが可能である。プレゼンスセンシティブディスプレイ4のプレゼンスセンシティブ画面は、ユーザに出力を提示することが可能である。プレゼンスセンシティブディスプレイ4は、コンピューティングデバイス2において実行されるアプリケーション(たとえば、電子メッセージアプリケーション、インターネットブラウザアプリケーションなど)の様々なユーザインターフェースを提示することが可能である。コンピューティングデバイス2のユーザは、これらのアプリケーションのうちの1つまたは複数と対話して、各アプリケーションのそれぞれのユーザインターフェースを介してコンピューティングデバイス2で機能を実行することが可能である。
【００１７】
コンピューティングデバイス2は、ユーザインターフェース(「UI」)モジュール6と、キーボードモジュール8とを含み得る。モジュール6および8は、コンピューティングデバイス2に常駐し、コンピューティングデバイス2上で実行されるソフトウェア、ハードウェア、ファームウェア、またはハードウェアとソフトウェアとファームウェアとの混合を使用して説明される動作を実行することが可能である。コンピューティングデバイス2は、複数のプロセッサでモジュール6および8を実行することが可能である。コンピューティングデバイス2は、モジュール6および8を、基礎をなすハードウェア上で実行される仮想マシンとして実行することが可能である。モジュール6および8は、様々な様態で実装され得る。たとえば、UIモジュール6および/またはキーボードモジュール8は、ダウンロード可能な、またはあらかじめインストールされたアプリケーション、つまり、「アプリ(app)」として実装され得る。別の例において、UIモジュール6および/またはキーボードモジュール8は、コンピューティングデバイス2のオペレーティングシステムの一環として実装され得る。
【００１８】
コンピューティングデバイス2のUIモジュール6は、プレゼンスセンシティブディスプレイ4から、プレゼンスセンシティブディスプレイ4において検出されるユーザ入力の1つまたは複数の指示を受け取ることが可能である。一般に、プレゼンスセンシティブディスプレイ4が、プレゼンスセンシティブ画面のある位置で検出されるユーザ入力の指示を受け取るたびに、UIモジュール6が、プレゼンスセンシティブディスプレイ4からそのユーザ入力についての情報を受け取ることが可能である。UIモジュール6は、プレゼンスセンシティブディスプレイ4から受け取られた情報を、タッチイベントの系列のような、ジェスチャを示すイベントの時間順のセットに組み立てることが可能である。その系列における各タッチイベントは、プレゼンスセンシティブ画面における入力のプレゼンスおよび/または動きを特徴付けるパラメータ(たとえば、いつ、どこで、開始方向(originating direction))を表すデータまたは成分を含み得る。その系列における各タッチイベントは、プレゼンスセンシティブディスプレイ4の位置に対応する位置成分と、プレゼンスセンシティブディスプレイ4が、その位置にてユーザ入力をいつ検出したかと関係する時間成分と、そのタッチイベントが、その位置におけるリフトアップ(lift up)に対応するか、またはプッシュダウン(push down)に対応するかと関係するアクション成分とを含み得る。さらに、それらのイベントのうちの1つまたは複数が、同時発生の時間成分を有する可能性があり、そのようなイベントは、単に例としてタッチイベントとして説明され、任意の形態のプレゼンスセンシティブ入力デバイスにおけるジェスチャを示すことが可能である。
【００１９】
UIモジュール6は、タッチイベントの系列に基づいて、ユーザ入力の1つまたは複数の特性を決定して、タッチイベントの系列の中の各タッチイベント内にこの1つまたは複数の特性についての情報を含めることが可能である。たとえば、UIモジュール6は、ユーザ入力の開始位置、ユーザ入力の終了位置、ユーザ入力の部分の密度、ユーザ入力の部分の速度、ユーザ入力の部分の方向、およびユーザ入力の部分の曲率を決定することが可能である。タッチイベントの系列の中の1つまたは複数のタッチイベントは、ユーザ入力の1つまたは複数の特性(たとえば、密度、速度など)についての情報を含む特性成分を含み得る(前述した時間、位置、およびアクション成分に加えて)。UIモジュール6は、キーボードモジュール8に対する出力として、各タッチイベントに関連する成分またはパラメータ化されたデータを含むタッチイベントの系列を伝送することが可能である。
【００２０】
図1の例において、UIモジュール6は、プレゼンスセンシティブディスプレイ4に、例示的なユーザインターフェース14を出力させることが可能である。この例において、ユーザインターフェース14は、プレゼンスセンシティブディスプレイ4の様々な位置において表示されるグラフィカル要素を含む。図1は、ユーザインターフェース14の編集領域16A、ユーザインターフェース14のグラフィカルキーボード16B、および示唆される語領域18A〜18Cを示す。編集領域16Aは、画像、オブジェクト、ハイパーリンク、テキストの文字のようなグラフィカル要素を含み得る。グラフィカルキーボード16Bは、キーとして表示されるグラフィカル要素を含む。示唆される語領域18Aおよび18Bは、編集領域16Aに含まれる文字ストリングに取って代わる選択可能なスペル訂正または語示唆を表す示唆される語を含む。図1の例において、編集領域16Aは、テキストの文字22A〜22B(たとえば、語)として表示されるグラフィカル要素を含む。コンピューティングデバイス2のユーザは、グラフィカルキーボード16Bのキーを表示するプレゼンスセンシティブディスプレイ4の位置でユーザ入力を与えることによって、編集領域16Aにテキストを入力することが可能である。
【００２１】
UIモジュール6は、プレゼンスセンシティブディスプレイ4によって検出される入力に基づいて決定を行うコンピューティングデバイス2の様々な構成要素の間の仲介の役割をして、プレゼンスセンシティブディスプレイ4によって提示される出力を生成することが可能である。たとえば、UIモジュール6は、グラフィカルキーボード16Bに含められるキーのキーボードレイアウトの表現を含むキーボードモジュール8からの情報を受け取ることが可能である。UIモジュール6は、プレゼンスセンシティブディスプレイ4によって検出されるユーザ入力についての情報に基づいて、タッチイベントを生成することが可能である。UIモジュール6は、タッチイベントの系列の中の位置成分に基づいて、1つまたは複数の位置成分が1つまたは複数のキーの選択を近似すると決定することが可能である(たとえば、UIモジュール6は、タッチイベントのうちの1つまたは複数のイベントの位置が、グラフィカルキーボード16Bを提示するプレゼンスセンシティブディスプレイ4の区域に対応すると決定することが可能である)。UIモジュール6は、キーボードモジュール8に対する出力として、タッチイベントの系列を、プレゼンスセンシティブディスプレイ4がキーの各々を提示する位置と一緒に伝送することが可能である。これに応答して、UIモジュール6は、キーボードモジュール8からの入力として、文字ストリング、および1つまたは複数の示唆される語を受け取ることが可能である。UIモジュール6は、その文字ストリングを編集領域16A内に含め、その文字ストリングに関連する1つまたは複数の示唆される語を示唆される語領域16C内に含めるようにユーザインターフェース14を更新することが可能である。UIモジュール6は、プレゼンスセンシティブディスプレイ4に、更新されたユーザインターフェース14を提示させることが可能である。
【００２２】
コンピューティングデバイス2のキーボードモジュール8は、UIモジュール6に対する出力(ユーザインターフェース14のグラフィカルキーボード16Bとして含めるための)として、1つまたは複数の書記言語(たとえば、英語、スペイン語など)と関係する複数のキーを含むキーボードレイアウトを伝送することが可能である。キーボードモジュール8は、キーボードレイアウトにおける複数のキーの各キーに1つまたは複数の文字もしくは動作を割り当てることが可能である。たとえば、キーボードモジュール8は、英語をタップ入力する際に使用される文字を表すキーを含むQWERTYキーボードレイアウトを生成することが可能である。QWERTYキーボードレイアウトは、英語をタップ入力する際に使用される動作(たとえば、バックスペース、削除、スペースバー、エンターなど)を表すキーを含むことも可能である。
【００２３】
キーボードモジュール8は、タッチイベントの系列を表すデータをUIモジュール6から受け取ることが可能である。それらのタッチイベントは、プレゼンスセンシティブディスプレイ4がグラフィカルキーボード16Bのキーの各々を提示するプレゼンスセンシティブディスプレイ4のプレゼンスセンシティブ画面の位置を表すデータを含み得る。キーボードモジュール8は、キーの位置に基づいて、たとえば、空間的モデル10および言語モデル12を使用して、タッチイベントの系列が1つまたは複数のキーの選択を表すと決定することが可能である。
【００２４】
タッチイベントの系列に対応する1つまたは複数のキーを決定するのに、キーボードモジュール8は、空間的モデル10のような1つまたは複数の空間的モデルを使用することが可能である。一般に、キーボードモジュール8は、空間的モデル10を使用して、ユーザ入力に関連する位置データに基づいて、グラフィカルキーボードの特定の1つまたは複数のキーが選択されている1つまたは複数の確率を生成することが可能である。一部の例において、空間的モデル10は、各キーに関して二変量ガウスモデルを含む。キーに関する二変量ガウスモデルは、その所与のキーを提示するプレゼンスセンシティブディスプレイ4の位置に対応する座標(たとえば、(x,y)座標ペア)の分布を含み得る。より具体的には、一部の例において、キーに関する二変量ガウスモデルは、ユーザがその所与のキーを選択することを意図する場合にユーザによって最も高い頻度で選択されるプレゼンスセンシティブディスプレイ4の位置に対応する座標の分布を含み得る。ユーザ入力の位置データと空間的モデル10のより高い密度の区域との間の距離が短いほど、空間的モデル10に関連するキーが選択されている確率は、より高い。ユーザ入力の位置データと空間的モデル10のより高い密度の区域との間の距離が大きいほど、空間的モデル10に関連するキーが選択されている確率は、より低い。
【００２５】
キーボードモジュール8は、空間的モデル10を使用して、タッチイベントの系列の中の1つまたは複数のタッチイベントの位置成分(たとえば、座標)を、グラフィカルキーボード16Bの1つまたは複数のキーのそれぞれの位置と比較して、これらの比較に基づいて、キーの選択が生じた確率を生成することが可能である。一部の例において、キーボードモジュール8は、空間的モデル10を使用して空間的モデルスコアを生成することが可能である。空間的モデルスコアは、タップまたは連続的なジェスチャが進んだプレゼンスセンシティブディスプレイ4の位置に少なくとも部分的に基づいて、選択されたキーの確率を示すことが可能である。一部の例において、空間的モデルスコアは、ジェスチャが進んだUIデバイス6の位置に少なくとも部分的に基づいて、グループの選択されたキーの複合確率を示すことが可能である。
【００２６】
キーボードモジュール8は、空間的モデル10を使用して、タッチイベントの系列の中の各タッチイベントの位置成分を、グラフィカルキーボード16Bの特定のキーのキー位置と比較することが可能である。系列の中の各タッチイベントの位置成分は、プレゼンスセンシティブディスプレイ4の1つの位置を含み得る。グラフィカルキーボード16Bにおけるキーのキー位置(たとえば、キーの重心)は、プレゼンスセンシティブディスプレイ4の異なる位置を含み得る。キーボードモジュール8は、空間的モデル10を使用して、その2つの位置の間のユークリッド距離を決定して、そのユークリッド距離に基づいて、そのキーが選択された確率を生成することが可能である。空間的モデル10は、1つまたは複数のタッチイベントとより大きいユークリッド距離を共有するキーよりも、1つまたは複数のタッチイベントとより小さいユークリッド距離を共有するキーに関して、より高い確率を示し得る。各キーに関連する空間的モデル確率に基づいて、キーボードモジュール8は、最高の空間的モデル確率を有する個々のキー選択を、対応する文字を有するキーの時間順の系列に組み立てることが可能であり、次いで、キーボードモジュール8は、それらの文字が文字ストリングを表すと決定することが可能である。文字ストリングの中の文字に関連する各キーの複合確率は、文字ストリングに関する空間的モデルスコアを表し得る。後段でさらに説明されるように、キーボードモジュール8は、タッチイベントに関して、そのタッチイベントの位置に近接した複数のキーに対応する確率を決定することが可能である。つまり、タッチイベントが、グラフィカルキーボード16Bの「Z」キーに近接した位置を示した場合、キーボードモジュール8は、「Z」キーが選択された空間的モデル確率を決定することが可能であり、「X」キーおよび「S」キーが選択された空間的モデル確率を決定することも可能である。
【００２７】
キーボードモジュール8は、言語モデル12を使用して、タッチイベントによって示されたキーの系列に対応する候補文字ストリングに基づいて、言語の1つまたは複数の文字および/または語を決定することが可能である。候補文字ストリングは、タッチイベントによって示されたキーの可能な異なる系列の文字を表すことが可能である。キーボードモジュール8が、ユーザ入力の指示を受け取ると、キーボードモジュール8は、候補ストリングに基づいて、言語の1つまたは複数の文字および/または語を同時に決定することが可能である。キーボードモジュール8は、言語モデル12にアクセスして、プレゼンスセンシティブディスプレイ4において表示されるように出力される語を予測し、かつ/または自動訂正することが可能である。
【００２８】
一般に、コンピューティングデバイス2の言語モデル12は、言語ボキャブラリ内の語のグループを含み得る。一部の例において、言語モデル12は、コンピューティングデバイス2において、またはコンピューティングデバイス2によってアクセス可能である遠隔コンピューティングデバイスにおいて記憶された辞書の中の語のセットに基づくこと、および/またはそのようなセットを含むことが可能である。言語モデル12は、各語の確率を、所与の言語コンテキストにおいてその語が出現する頻度に基づいて、示すことが可能である。言語モデル12は、1つまたは複数のn-gram言語モデルを実施することが可能である。n-gram言語モデルは、項目の連続的な系列の中の項目xi(字、語、発音文字、または他の区切り記号)に関する確率分布を、その系列(すなわち、P(xi|xi-(n-1),...,xi-1))の中の前の項に基づいて、もたらすことが可能である。言語モデル12については、本明細書でさらに説明される。
【００２９】
本開示の技法は、第1の言語(たとえば、英語)のアルファベットの関連する文字であるグラフィカルキーボードのキーに対応するユーザ入力の指示に基づいて、ユーザが入力することを意図していた尤度の高い第2の言語(たとえば、中国語)の文字および/または語を、確率論的な様態で決定することが可能である。たとえば、コンピューティングデバイス2が、第2の言語のそのような文字および/または語を、発音表現(たとえば、ピンインストリング)を入力するユーザ入力の指示に基づいて、決定することが可能である。ユーザは、第1の言語のアルファベットの文字に対応するキーを含むグラフィカルキーボードを使用して、発音表現を入力することが可能である。本開示の技法により第2の言語の文字および/または語を確率論的に決定することにより、そのような技法は、ユーザが、1つまたは複数のキーを意図せずに、かつ/または不正確にタップした、またはジェスチャした際に、そのような文字および/または語を入力するユーザ作業の量を減らすことが可能である。
【００３０】
例として、これらの技法について、図1を参照してさらに、詳細に説明される。図1の例において、コンピューティングデバイス2が、複数のキーを備えるグラフィカルキーボード16Bを表示のために出力する。たとえば、キーボードモジュール8が、グラフィカルキーボード16Bの表現を含むデータを生成することが可能である。UIモジュール6が、ユーザインターフェース14の表現を含み、かつグラフィカルキーボード16Bを表現するデータに基づくユーザインターフェース14におけるグラフィカルキーボード16Bを含むデータを生成することが可能である。UIモジュール6が、プレゼンスセンシティブディスプレイ4においてユーザインターフェース14を表示するための命令を含むデータを、プレゼンスセンシティブディスプレイ4に送ることが可能である。プレゼンスセンシティブディスプレイ4が、そのデータを受け取り、プレゼンスセンシティブディスプレイ4に、編集領域16Aと、グラフィカルキーボード16Bと、示唆される語領域16Cとを含むユーザインターフェース14を提示させることが可能である。グラフィカルキーボード16Bは、複数のキーを含み得る。図1に示されるように、その複数のキーは、第1の言語の第1のアルファベットに含まれる1つまたは複数の記号(たとえば、文字、語、または他の何らかの適切な表現)に関連付けられ得る。たとえば、グラフィカルキーボード16Bのキーが、英語アルファベットの「Z」という文字に関連付けられ得る。他の例において、複数の文字が、グラフィカルキーボード16Bのキーに関連付けられ得る。たとえば、文字「A」、「B」、「C」がすべて、単一のキーに関連付けられることが可能であり、異なるユーザ入力が、この異なる3つの文字の各々の選択をもたらすことが可能である。
【００３１】
図1の例において、ユーザが、入力位置20A〜20Iにおける一連のタップ入力を実行することが可能である。タップ位置20A〜20Iの各々が、たとえば、図1の円で示され、ただし、プレゼンスセンシティブディスプレイ4は、一部の例においてそのような破線の円を出力しないことが可能であり、そのような部分は、様々な異なる例において、より大きいこと、および/またはより小さいことが可能である。たとえば、ユーザが、集合的に「zhongguo」という中国語の語を形成する「zhong」と「guo」とを表す発音表現を備えるピンインストリングを入力することを所望することが可能である。「zhongguo」という語は、中国を指し、「中央の国」を意味する。図1に示されるように、ユーザが、z-h-o-n-g-g-u-oというキー系列を入力しようと試みることが可能であるが、ユーザは、意図せずにz-h-o-n-g-h-u-oとタップする可能性がある。たとえば、ユーザが、入力位置20A〜20Iを選択する入力を、次の順序、すなわち、20A→20B→20C→20D→20E→20F→20G→20F→20G→20H→20Iで与えることが可能である。入力位置20Fにおいて、ユーザが、ユーザが「guo」というピンインストリングを始めることを意図していた「g」というキーの重心よりも、「h」というキーの重心の近くで意図せずにタップする可能性がある。本明細書でさらに説明されるように、本開示の技法を実施するコンピューティングデバイス2は、ユーザが、z-h-o-n-g-h-u-oを意図せずにタップしたものの、意図される中国語である中国を出力することが可能である。
【００３２】
UIモジュール6が、プレゼンスセンシティブディスプレイ4からタップ位置20A〜20Iを示す情報をインクリメンタルに受け取って、その情報を、タッチイベントの時間順の系列(たとえば、各タッチイベントが、位置成分、時間成分、およびアクション成分を含む)に組み立てることが可能である。UIモジュール6は、それらのタッチイベントをキーボードモジュール8に伝送することが可能である。キーボードモジュール8は、UIモジュール6から、それらのタッチイベントを、各タッチイベントに関連する情報(たとえば、位置、時間、アクションなど)と一緒に受け取ることが可能である。
【００３３】
プレゼンスセンシティブディスプレイ4において検出される少なくとも1つのジェスチャの指示を受け取ることに応答して、キーボードモジュール8は、タッチイベントの系列に対応する異なる1つまたは複数の候補ストリングのグループを決定することが可能である。たとえば、キーボードモジュール8は、空間的モデル10を使用して、タップ位置20Aが、グラフィカルキーボード16Bの「z」というキーに対応し、タップ位置20Bが、「h」というキーに対応し、タップ位置20Cが、「o」というキーに対応し、タップ位置20Dが、「n」というキーに対応し、タップ位置20Eが、「g」というキーに対応すると決定することが可能である。集合的に、それぞれのキーに対応する文字の系列は、「zhong」という第1の候補ストリングを表す。キーボードモジュール8は、空間的モデル10を使用して、タップ位置20Aが、グラフィカルキーボード16Bの「z」というキーに対応し、タップ位置20Bが、「h」というキーに対応し、タップ位置20Cが、「o」というキーに対応し、タップ位置20Dが、「m」というキーに対応し、タップ位置20Eが、「v」というキーに対応すると決定することも可能である。集合的に、それぞれのキーに対応する文字の系列は、「zhomv」という第2の候補ストリングを表す。したがって、キーボードモジュール8は、タッチイベントがキーボードモジュール8によってUIモジュール6から受け取られるにつれ、タップ位置20A〜20Bに近接するキーに対応する文字の異なる組合せを各々が表す複数の候補ストリングをインクリメンタルに生成することが可能である。
【００３４】
一部の例において、候補文字ストリングの中の各文字が、タップ位置がそれぞれの文字に関連するキーに対応する確率を示す、対応する空間的モデルスコアを有し得る。つまり、「z」という文字が、タップ入力20Aがグラフィカルキーボード16Bの「z」というキーに対応する確率を示す、0.64という空間的モデルスコアに関連することが可能である。キーボードモジュール8は、一部の例において、候補文字ストリングに含まれる文字の集合的な空間的モデルスコアを表す、各候補ストリングに関する空間的モデルスコアを生成する。たとえば、キーボードモジュール8が、「zhong」という第1の候補ストリングに関する空間的モデルスコアを、第1の候補ストリングの中の各文字に関する個々の空間的モデルスコアの積として生成することが可能である。
【００３５】
本開示の技法によれば、キーボードモジュール8が、プレゼンスセンシティブディスプレイ4におけるタップジェスチャの指示を受け取るにつれ、キーボードモジュール8は、候補文字ストリング、およびそれぞれの候補文字ストリングに対応する空間的モデル確率をインクリメンタルに決定することが可能である。前述したように、候補文字ストリングは、英語アルファベットの文字を含み得る。キーボードモジュール8は、一部の例において、第1のアルファベット(たとえば、英語)の文字を含む複数の候補文字ストリングのうちの1つまたは複数を、第1のラティスにおいてモデル化する。一部の例において、各発音表現(たとえば、ピンインストリング)および/または候補ストリングは、「トークン」と呼ばれることが可能であり、第1のラティスは、「トークンラティス」と呼ばれることが可能である。トークンラティスは、前述したように、タップジェスチャの指示に少なくとも部分的に基づくことが可能な、複数の候補文字ストリングのうちの1つまたは複数に関する空間的確率を示すことが可能である。
【００３６】
図4にさらに示されるように、トークンラティスは、辺によってつながれた頂点を含むグラフであり得る。各頂点は、インデックスで識別され得る。一部の例において、n個の文字を有する候補文字ストリングが、インデックス0を有する頂点で始まり、インデックスnを有する頂点に至る辺によってモデル化され得る。たとえば、キーボードモジュール8が、「zhong」という候補文字ストリングを、頂点0から頂点5に至る辺に関連付けることが可能である。図4にさらに示されるように、キーボードモジュール8が、トークンラティスの辺および頂点についての状態情報、ならびに他の対応する情報を記憶する任意の数の適切なデータ構造を使用して、トークンラティスを実施することが可能である。
【００３７】
候補文字ストリングをモデル化することの一環として、キーボードモジュール8は、対応する各辺に重みをさらに関連付けることが可能である。一部の例において、その重みは、その辺に関連付けられた候補文字ストリングの空間的モデル確率を示す。たとえば、「zhong」という候補文字ストリングに関連付けられた頂点0から頂点5に至る辺に、「zhong」という候補ストリングの空間的モデル確率を示す重みが割り当てられることが可能である。様々な例において、キーボードモジュール8は、キーボードモジュール8によって決定された、タップ位置20A〜20Hに対応するタップ、または連続的なジェスチャの部分(図5〜図6Bにさらに示される)のような、ユーザ入力の指示としてトークンラティスを使用して、複数の候補文字ストリングの各々をインクリメンタルにモデル化することが可能である。
【００３８】
キーボードモジュール8は、トークンラティスにおいてモデル化された候補文字ストリングに基づく第2の言語(たとえば、中国語)の1つまたは複数の候補語を、その複数の候補文字ストリングの空間的確率に少なくとも部分的に基づいて第2の言語の1つまたは複数の語の確率を示す第2のラティスを使用して、決定することが可能である。第2の言語の1つまたは複数の候補語は、第2の言語の第2のアルファベット(たとえば、中国語)の1つまたは複数のシンボル(たとえば、文字、語、または他の適切なグラフィカル表記(indicia))によって表現され得る。そのような候補語は、ユーザによって入力された候補ストリングに対応することが可能な第2の言語からの予測された語を表すことが可能である。
【００３９】
一部の例において、第2の言語における各文字および/または各語は、「語」と一般的に呼ばれることが可能であり、第2のラティスは、「語ラティス」と呼ばれることが可能である。トークンラティスの場合と同様に、語ラティスは、辺によってつながれた頂点を含むグラフであり得る。各頂点は、インデックスで識別されることも可能である。一部の例において、第2の言語のアルファベットのn個の文字を含む候補語が、インデックス0を有する頂点から始まり、インデックスnを有する頂点に至る辺によってモデル化され得る。たとえば、キーボードモジュール8が、頂点0から頂点2に至る辺に沿って、中および国という2つの漢字を含む「中国」という候補語をモデル化することが可能である。一部の例において、ビルダモジュール50が、語ラティス120の頂点が、トークンラティス110の頂点インデックスと同一の頂点インデックスを共有するように語ラティス120をモデル化する。つまり、一部の例において、語ラティス120は、トークンラティス110と同一の頂点インデックスを有する頂点を含み得る。さらなる例が、図9に示される。図4にさらに示されるように、キーボードモジュール8が、語ラティスの辺および頂点についての状態情報、ならびに他の対応する情報を記憶する任意の数の適切なデータ構造を使用して、語ラティスを実施することが可能である。
【００４０】
候補ストリングをモデル化することの一環として、キーボードモジュール8は、対応する各辺に重みをさらに関連付けることが可能である。辺の重みは、第2の言語に含まれる1つまたは複数の語を所与として、1つまたは複数の候補ストリングのグループの確率を表すことが可能である。キーボードモジュール8は、空間的確率および言語モデル確率に基づいて、重みを決定することが可能である。たとえば、辺の重みは、言語モデル12に含まれる中国語における語であり得る、「中国」という中国語の語を所与として、「zhonghuo」の言語モデル確率に少なくとも部分的に基づくことが可能である。言い換えると、キーボードモジュール8は、「中国」(「zuhongguo」)という中国語の語が、ユーザによって入力されることが意図された語であることを所与として、ユーザが、「zhong」および「huo」という2つの候補ストリングを含む「zhonghuo」という候補ストリングを意図していた確率を決定することが可能である。図4にさらに示されるように、「中国」を所与とした「zhonghuo」の言語モデル確率は、たとえば、中国語で「中国」が出現する頻度、ユーザ入力の指示が受け取られた言語コンテキスト(たとえば、n-gram言語モデルを使用している)などに基づくことが可能である。前段で示したように、ユーザは、「中国」という中国語の語に対応する「zhongguo」を入力することを意図していたとき、「guo」という文字ストリングではなく、意図せずに「huo」とタップ入力した可能性がある。したがって、キーボードモジュール8は、「中国」という中国語の語を所与として、様々な候補文字ストリング組合せの確率を示す複数の辺を、語ラティスにおいて作成することが可能である。このようにして、ユーザが、「guo」を入力しているときに「g」の代わりに「h」などの、意図しない、または誤った文字を意図せずにタイプした場合、キーボードモジュール8は、異なる複数の候補文字ストリングを試験することによって第2の言語の語を決定するための技法を提供する。このようにして、これらの技法は、ユーザ入力誤りに対してより回復力の高い語予測技法を提供して、その結果、ユーザ体験を向上させ、テキストを入力するユーザ労力の量を減らす。
【００４１】
キーボードモジュール8が、「中国」という語に関する語ラティスにおける辺に対応する「zhonghuo」という文字ストリングを集合的に備え得る、「zhong」と「huo」との複合空間的モデル確率に少なくとも部分的に基づいて、「zhonghuo」に関する辺の重みを決定することが可能である。つまり、キーボードモジュール8は、一部の例において、「zhong」という候補ストリングに関する空間的モデル確率と「huo」という候補ストリングに関する空間的モデル確率の積を備える複合空間的モデル確率を決定することが可能である。
【００４２】
キーボードモジュール8は、一部の例において、言語モデル12(たとえば、「中国」)に含まれる所与の語に関する複合空間的モデル確率および言語モデル確率、ならびに1つまたは複数の候補ストリング(たとえば、「zhonghuo」)のグループに少なくとも部分的に基づいて、語ラティスにおける辺の重みを決定する。一部の例において、キーボードモジュール8は、複合空間的モデル確率と言語モデル確率を足して、または掛けて、言語モデルに含まれる語を所与とした1つまたは複数の候補ストリングの全体的な確率を示す複合重みを生成することが可能である。所与の辺に関するより大きい重みは、その辺に対応する第2の言語の語がユーザによって意図されていたことのより高い確率を示し得る。所与の辺に関するより小さい重みは、その辺に対応する語がユーザによって意図されていたことのより低い確率を示し得る。様々な例において、キーボードモジュール8は、ユーザ入力の指示がキーボードモジュール8によって決定されるにつれ、候補ストリングに基づく語ラティスを使用して、言語モデル12に含められる1つまたは複数の語をインクリメンタルに決定することが可能である。
【００４３】
キーボードモジュール8は、ユーザインターフェース14の編集領域16Aの中に、またはユーザインターフェース14の示唆される語領域18Aおよび18Bの中の個々の示唆される語として含められるように、1つまたは複数の候補語もしくは候補句、および関連する重みをUIモジュール6に出力することが可能である。たとえば、キーボードモジュール8は、しきい値を満たす重みを有する辺に関連付けられた1つまたは複数の候補語を決定することが可能である。一例として、キーボードモジュール8は、語ラティスからの最高の2つの重みを有する2つの候補語を決定することが可能である。キーボードモジュール8は、2つの語候補を表すデータをUIモジュール6に送ることが可能である。UIモジュール6は、キーボードモジュール8からのその1つまたは複数の候補語もしくは候補句(生の文字ストリングを含む)を表すデータを、その1つまたは複数の候補語もしくは候補句の重みに対応する重みまたは格付けと一緒に受け取ることが可能である。
【００４４】
UIモジュール6が、最上位に格付けされる候補語を、「中国」という示唆される語として含めることによって、示唆される語領域18Aを更新することが可能である。UIモジュール6は、上位2番目の候補語を、「重活」という示唆される語として含めることによって、示唆される語領域18Bを更新することが可能である。ユーザインターフェース14から、ユーザは、プレゼンスセンシティブディスプレイ4が示唆される語18Aを出力するプレゼンスセンシティブディスプレイ4の位置に近接した入力をタップする、または与えることによって、示唆される語18Aに対するタップ位置20Iでユーザ入力を与えることができる。たとえば、ユーザは、プレゼンスセンシティブディスプレイ4が示唆される語18A、たとえば、「中国」を提示するプレゼンスセンシティブディスプレイ4の位置の上をタップする。示唆される語18Aの上をタップすることは、UIモジュール6に、ユーザインターフェース14、および編集領域16A内の「中国」を更新させることが可能である。
【００４５】
このようにして、本開示の技法は、コンピューティングデバイスが、ユーザ入力の指示が意図しない、かつ/または誤ったユーザ入力を含み得るものの、ユーザによって意図された第2の言語の文字および/または語を出力することを可能にし得る。たとえば、前述の例において、ユーザは、意図される「guo」ではなく、意図せずに「huo」とタップしている可能性があるものの、キーボードモジュール8が、語ラティスの重みに基づいて、「中国」という意図される語を出力した。このため、これらの技法は、ユーザが、第1の言語のアルファベットを含むキーボードを使用して、コンピューティングデバイスにおいて第2の言語におけるテキストをより迅速に入力することを可能にし得る。ユーザは、コンピューティングデバイスを訂正し、かつ/またはテキストを入力するのに、より少ない入力しか与えなくてもよいので、本開示の技法を実施するコンピューティングデバイスは、より少ない動作しか実行しないことが可能であり、その結果、より少ない電力しか消費しないことが可能である。
【００４６】
図2は、本開示の1つまたは複数の態様による、例示的なコンピューティングデバイスを示すブロック図である。図2のコンピューティングデバイス2については、図1との絡みで以下に説明される。図2は、コンピューティングデバイス2の1つの特定の例を示すにすぎず、コンピューティングデバイス2の他の多くの例が、他の実例において使用されることが可能であり、例示的なコンピューティングデバイス2に含まれる構成要素のサブセットを含むことが可能であり、または図2に示されないさらなる構成要素を含むことが可能である。
【００４７】
図2の例に示されるように、コンピューティングデバイス2は、プレゼンスセンシティブディスプレイ4と、1つまたは複数のプロセッサ40と、1つまたは複数の入力デバイス42と、1つまたは複数の通信ユニット44と、1つまたは複数の出力デバイス46と、1つまたは複数のストレージデバイス48とを含む。また、コンピューティングデバイス2のストレージデバイス48は、UIモジュール6と、キーボードモジュール8と、入力ルックアップモジュール48と、ビルダモジュール50と、復号モジュール52と、1つまたは複数のラティス54と、空間的モデル10と、言語モジュール12とをも含む。通信チャネル50が、構成要素間通信のために構成要素4、40、42、44、46、48、8、48、50、52、6、54、10、および12の各々を(物理的に、通信上、かつ/または動作上)互いに接続することが可能である。一部の例において、通信チャネル50は、システムバス、ネットワーク接続、プロセス間通信データ構造、またはデータを通信するための他の任意の方法を含み得る。
【００４８】
コンピューティングデバイス2の1つまたは複数の入力デバイス42が、入力を受け取ることが可能である。入力の例が、触覚入力、オーディオ入力、およびビデオ入力である。コンピューティングデバイス2の入力デバイス42は、一例において、マウス、キーボード、音声応答システム、ビデオカメラ、マイクロフォン、または人間もしくはマシンからの入力を検出するための他の任意のタイプのデバイスを含む。一部の例において、入力デバイス42は、プレゼンスセンシティブ画面、タッチセンシティブ画面などを含み得るプレゼンスセンシティブ入力デバイスであり得る。
【００４９】
コンピューティングデバイス2の1つまたは複数の出力デバイス46が、出力を生成することが可能である。出力の例が、触覚出力、オーディオ出力、およびビデオ出力である。コンピューティングデバイス2の出力デバイス46は、一例において、プレゼンスセンシティブ画面、サウンドカード、ビデオグラフィックスアダプタカード、スピーカ、陰極線管(CRT)モニタ、液晶ディスプレイ(LCD)、または人間もしくはマシンに対して出力を生成するための他の任意のタイプのデバイスを含む。出力デバイス46は、陰極線管(CRT)モニタ、液晶ディスプレイ(LCD)、または視覚出力を生成するための他の任意のタイプのデバイスを含み得る。
【００５０】
コンピューティングデバイス2の1つまたは複数の通信ユニット44は、1つまたは複数のネットワークを介して外部デバイスと、その1つまたは複数のネットワーク上でネットワーク信号を送信すること、および/または受信することによって、通信することが可能である。たとえば、コンピューティングデバイス2は、通信ユニット44を使用して、セルラー無線ネットワークのような無線ネットワーク上で無線信号を送信すること、および/または受信することが可能である。同様に、通信ユニット44は、GPSネットワークのような衛星ネットワーク上で衛星信号を送信すること、および/または受信することが可能である。通信ユニット44の例には、ネットワークインターフェースカード(たとえば、イーサネット（登録商標）カードのような)、光トランシーバ、無線周波数トランシーバ、GPS受信機、または情報を送信すること、および/または受信することができる他の任意のタイプのデバイスが含まれる。通信ユニット44の他の例には、モバイルデバイスおよびユニバーサルシリアルバス(USB)コントローラにおいて見られるBluetooth(登録商標)、GPS、3G、4G、およびWi-Fi(登録商標)無線機が含まれ得る。
【００５１】
一部の例において、コンピューティングデバイス2のプレゼンスセンシティブディスプレイ4は、入力デバイス42および/または出力デバイス46の機能を含み得る。図2の例において、プレゼンスセンシティブディスプレイ4は、プレゼンスセンシティブ画面、タッチセンシティブ画面などのようなプレゼンスセンシティブ入力デバイスであり得る、またはそのようなデバイスを含み得る。一部の例において、プレゼンスセンシティブ画面が、プレゼンスセンシティブ画面における、またはプレゼンスセンシティブ画面近くの物体を検出することが可能である。1つの例示的な範囲として、プレゼンスセンシティブ画面が、プレゼンスセンシティブ画面から2インチ以下の範囲内にある指またはスタイラスのような物体を検出することが可能である。このプレゼンスセンシティブ画面は、その物体が検出されるプレゼンスセンシティブ画面の位置(たとえば、(x,y)座標)を決定することが可能である。別の例示的な範囲において、プレゼンスセンシティブ画面が、プレゼンスセンシティブ画面から6インチ以下の物体を検出することが可能であり、他の範囲も可能である。このプレゼンスセンシティブ画面は、静電容量技法、誘導性技法、および/または光認識技法を使用して、ユーザの指によって選択された画面の位置を決定することが可能である。一部の例において、プレゼンスセンシティブディスプレイ4は、出力デバイス46に関して説明される触覚刺激、オーディオ刺激、またはビデオ刺激を使用してユーザに出力をもたらす。図2の例において、プレゼンスセンシティブディスプレイ4は、図1のユーザインターフェース14のようなユーザインターフェースを提示する。
【００５２】
コンピューティングデバイス2の内部構成要素として図示されるが、プレゼンスセンシティブディスプレイ4は、入力および出力を送信するため、および/または受信するためのコンピューティングデバイス2の他の構成要素とデータパスを共有する外部構成要素を表すことも可能である。たとえば、一例において、プレゼンスセンシティブディスプレイ4は、コンピューティングデバイス2の外部パッケージング内に配置され、そのよう外部パッケージングに物理的に接続されたコンピューティングデバイス2の組み込まれた構成要素(たとえば、モバイル電話上の画面)を表す。別の例において、プレゼンスセンシティブディスプレイ4は、コンピューティングデバイス2のパッケージングの外部に配置され、そのよう外部パッケージングとは物理的に分離されたコンピューティングデバイス2の外部構成要素(たとえば、タブレットコンピュータと有線データパスおよび/またはワイヤレスデータパスを共有するモニタ、プロジェクタなど)であることが可能である。
【００５３】
コンピューティングデバイス2内の1つまたは複数のストレージデバイス48は、コンピューティングデバイス2の動作中に処理するための情報を記憶することが可能である。一部の例において、ストレージデバイス48は、一時的メモリであり、つまり、ストレージデバイス48の主要な目的は、長期の記憶ではない。コンピューティングデバイス2上のストレージデバイス48は、揮発性メモリとして情報の短期の記憶のために構成されることが可能であり、したがって、電源が切られた場合、記憶されたコンテンツを保持しないことが可能である。揮発性メモリの例には、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックランダムアクセスメモリ(SRAM)、および当技術分野で知られている他の形態の揮発性メモリが含まれる。
【００５４】
ストレージデバイス48は、一部の例において、1つまたは複数のコンピュータ可読記憶媒体も含む。ストレージデバイス48は、揮発性メモリよりも多くの量の情報を格納するように構成され得る。ストレージデバイス48は、不揮発性メモリ空間として情報の長期の記憶のためにさらに構成されて、電源オン/オフサイクル後、情報を保持することが可能である。不揮発性メモリの例には、磁気ハードディスク、光ディスク、フロッピー（登録商標）ディスク、フラッシュメモリ、または電気的にプログラミング可能なメモリ(EPROM)もしくは電気的に消去可能かつプログラミング可能な(EERPOM)メモリの形態が含まれる。ストレージデバイス48は、UIモジュール6、キーボードモジュール8、入力ルックアップモジュール48、ビルダモジュール50、復号モジュール52、1つまたは複数のラティス54、空間的モデル10、および言語モジュール12に関連するプログラム命令および/またはデータを記憶することが可能である。
【００５５】
1つまたは複数のプロセッサ40が、コンピューティングデバイス2内で機能を実施し、かつ/または命令を実行することが可能である。たとえば、コンピューティングデバイス2上のプロセッサ40は、ストレージデバイス48によって記憶された、UIモジュール6、キーボードモジュール8、入力ルックアップモジュール48、ビルダモジュール50、復号モジュール52、1つまたは複数のラティス54、空間的モデル10、および言語モジュール12の機能を実行する命令を受け取り、実行することが可能である。プロセッサ40によって実行されるこれらの命令は、コンピューティングデバイス2に、プログラム実行中にストレージデバイス48内に情報を記憶させることが可能である。プロセッサ40は、UIモジュール6、キーボードモジュール8、入力ルックアップモジュール48、ビルダモジュール50、復号モジュール52、1つまたは複数のラティス54、空間的モデル10、および言語モジュール12の命令を実行して、プレゼンスセンシティブディスプレイ4に、プレゼンスセンシティブディスプレイ4の編集領域16A、グラフィカルキーボード16B、および示唆される語領域18A〜18Bでユーザインターフェース14を表示させることが可能である。つまり、UIモジュール6、キーボードモジュール8、入力ルックアップモジュール48、ビルダモジュール50、復号モジュール52、1つまたは複数のラティス54、空間的モデル10、および言語モジュール12などのモジュールは、プレゼンスセンシティブディスプレイ4のプレゼンスセンシティブ画面のいくつかの位置におけるジェスチャの指示を受け取ること、およびプレゼンスセンシティブディスプレイ4に、プレゼンスセンシティブディスプレイ4においてユーザインターフェース14を提示させることを含む、様々なアクションを実行するようにプロセッサ40によって動作可能であり得る。
【００５６】
本開示の態様によれば、キーボードモジュール8が、プレゼンスセンシティブディスプレイ4に、グラフィカルキーボードを表示のために出力させるデータをUIモジュール6に最初に送ることが可能である。グラフィカルキーボードは、複数のキーを含み得る。その複数のキーのうちの少なくとも1つが、第1の言語の第1のアルファベットに含まれる1つまたは複数の記号に関連付けられ得る。たとえば、一部の例において、1つまたは複数のキーが、英語のアルファベットに含まれる単一の文字に関連付けられ得る。別の例において、1つまたは複数のキーが各々、英語のアルファベットに含まれる複数の文字に関連付けられ得る。本開示の例は、例として、第1の言語を英語として参照するが、第1の言語は、任意の言語であることが可能であり、第1の言語の第1のアルファベットは、任意のアルファベットであることが可能である。記号は、アルファベットおよび/または言語における文字、語、または構造体の他のグラフィカル表現を一般に指すことが可能である。
【００５７】
一部の例において、ユーザが、グラフィカルキーボードを表示のために出力するプレゼンスセンシティブディスプレイ4の領域でタップおよび/または連続的なジェスチャを実行することが可能である。プレゼンスセンシティブ入力デバイス4において検出される少なくとも1つのジェスチャの指示を受け取ることに応答して、ビルダモジュール50が、第1のアルファベットの記号を各々が含む複数の文字ストリングを第1のラティスにおいてモデル化することが可能である。第1のラティスは、複数の文字ストリングの各文字ストリングの空間的確率を示すことが可能である。一部の例において、空間的確率は、少なくとも1つのジェスチャの指示に少なくとも部分的に基づく。
【００５８】
一部の例において、ビルダモジュール50が、複数の文字ストリングのうちの少なくとも1つに関して、その複数の文字ストリングの空間的確率に少なくとも部分的に基づいて第2の言語の1つまたは複数の語の確率を示す第2のラティスを使用して、複数の文字ストリングのうちの少なくとも1つが、第2の言語に含まれる少なくとも1つの語に対応する確率を決定することが可能である。図4にさらに示されるように、語ラティス120の辺が、複数の文字ストリングのうちの少なくとも1つが、第2の言語に含まれる少なくとも1つの語に対応する確率を示すことが可能である。その少なくとも1つの語は、第2の言語に対応する第2のアルファベットの1つまたは複数の記号によって表され得る。
【００５９】
復号モジュール52が、一部の例において、少なくとも1つの確率がしきい値を満たすと決定することに応答して、プレゼンスセンシティブディスプレイ4に、少なくとも1つの語を表す1つまたは複数の記号を表示のために出力させるデータを、UIモジュール6に送ることが可能である。たとえば、復号モジュール52は、図4にさらに示されるように、図4に示される語ラティス120の1つまたは複数の辺の重みを決定することが可能である。復号モジュール52は、それらの辺のうちの1つまたは複数の辺の重みが、しきい値を満たすと決定することが可能である。たとえば、復号モジュール52は、1つまたは複数の重みが、しきい値より大きいと決定することが可能である。そのような例において、復号モジュール52は、プレゼンスセンシティブディスプレイ4に、辺に関連付けられた語を表示のために出力させるデータを、UIモジュール6に送ることが可能である。本開示の技法は、第2の言語の語を出力することに関して説明されるが、これらの技法は、単独の文字、複数語の句、文などを予測し、自動訂正し、かつ/または出力するのに使用されることも可能である。
【００６０】
図3は、本開示の1つまたは複数の技法による、遠隔デバイスにおいて表示するためにグラフィカルコンテンツを出力する例示的なコンピューティングデバイスを示すブロック図である。グラフィカルコンテンツは、一般に、テキスト、画像、動画のグループのような、表示のために出力され得る任意の視覚情報を含み得る。図3に示される例は、コンピューティングデバイス60と、プレゼンスセンシティブディスプレイ64と、通信ユニット70と、プロジェクタ80と、プロジェクタスクリーン82と、モバイルデバイス86と、ビジュアルディスプレイデバイス90とを含む。例として図1および図2にスタンドアロンのコンピューティングデバイス10として示されるものの、コンピューティングデバイス60のようなコンピューティングデバイスは、一般に、ソフトウェア命令を実行するためのプロセッサまたは他の適切なコンピューティング環境を含む任意の構成要素またはシステムであることが可能であり、たとえば、プレゼンスセンシティブディスプレイを含まなくてもよい。
【００６１】
図3の例に示されるように、コンピューティングデバイス60は、図2のプロセッサ40に関して説明される機能を含むプロセッサであり得る。そのような例において、コンピューティングデバイス60は、システムバスまたは他の適切な接続であり得る通信チャネル62Aによってプレゼンスセンシティブディスプレイ64に動作上、結合され得る。また、コンピューティングデバイス60は、やはりシステムバスまたは他の適切な接続であり得る通信チャネル62Bによって、後段でさらに説明される通信ユニット70に動作上、結合されることも可能である。図3に例として別々に示されるものの、コンピューティングデバイス60は、任意の数の1つまたは複数の通信チャネルによってプレゼンスセンシティブディスプレイ64および通信ユニット70に動作上、結合され得る。
【００６２】
図1〜図2のコンピューティングデバイス10によって前段で示されたような他の例において、コンピューティングデバイスとは、モバイル電話(スマートフォンを含む)、ラップトップコンピュータのようなポータブルデバイスまたはモバイルデバイスを指すことが可能である。一部の例において、コンピューティングデバイスは、デスクトップコンピュータ、タブレットコンピュータ、スマートテレビプラットフォーム、カメラ、携帯情報端末(PDA)、サーバ、メインフレームなどであり得る。
【００６３】
図1に示されるようなプレゼンスセンシティブディスプレイ4のようなプレゼンスセンシティブディスプレイ64は、ディスプレイデバイス66と、プレゼンスセンシティブ入力デバイス68とを含み得る。ディスプレイデバイス66は、たとえば、コンピューティングデバイス60からデータを受け取り、グラフィカルコンテンツを表示することが可能である。一部の例において、プレゼンスセンシティブ入力デバイス68は、静電容量技法、誘導性技法、および/または光認識技法を使用して、プレゼンスセンシティブディスプレイ64における1つまたは複数のユーザ入力(たとえば、連続的なジェスチャ、マルチタッチジェスチャ、シングルタッチジェスチャなど)を決定して、そのようなユーザ入力の指示を、通信チャネル64Aを使用してコンピューティングデバイス60に送信することが可能である。一部の例において、プレゼンスセンシティブ入力デバイス68は、ユーザが、ディスプレイデバイス66によって表示されるグラフィカル要素の上に入力ユニットを位置付けた際に、プレゼンスセンシティブ入力デバイス68の位置が、グラフィカル要素が表示されるディスプレイデバイス66の位置に対応するように、ディスプレイデバイス66の上に物理的に位置付けられることが可能である。
【００６４】
図3に示されるように、コンピューティングデバイス60は、通信ユニット70を含み、かつ/またはユニット70に動作上、結合されることも可能である。通信ユニット70は、図2に示されるように通信ユニット44の機能を含み得る。通信ユニット70の例には、ネットワークインターフェースカード、イーサネット（登録商標）カード、光トランシーバ、無線周波数トランシーバ、または情報を送受信することができる他の任意のタイプのデバイスが含まれ得る。そのような通信ユニットの他の例には、Bluetooth（登録商標）、3G、およびWi-Fi無線機、ユニバーサルシリアルバス(USB)インターフェースなどが含まれ得る。また、コンピューティングデバイス60は、簡単さと例示のため、図3には示されない他の1つまたは複数のデバイス、たとえば、入力デバイス、出力デバイス、メモリ、ストレージデバイスなどを含むこと、および/またはそのようなデバイスに動作上、結合されることも可能である。
【００６５】
また、図3は、プロジェクタ80およびプロジェクタスクリーン82も示す。投影デバイスの他のそのような例には、グラフィカルコンテンツを表示するための電子ホワイトボード、ホログラフィックディスプレイデバイス、および他の任意の適切なデバイスが含まれ得る。プロジェクタ80およびプロジェクタスクリーン82は、それぞれのデバイスがコンピューティングデバイス60と通信することを可能にする1つまたは複数の通信ユニットを含み得る。一部の例において、1つまたは複数の通信ユニットは、プロジェクタ80とプロジェクタスクリーン82との間の通信を可能にし得る。プロジェクタ80は、グラフィカルコンテンツを含むデータを、コンピューティングデバイス60から受け取ることが可能である。プロジェクタ80は、そのデータを受け取ることに応答して、そのグラフィカルコンテンツをプロジェクタスクリーン82に投影することが可能である。一部の例において、プロジェクタ80は、光認識技法または他の適切な技法を使用して、プロジェクタスクリーンにおける1つまたは複数のユーザ入力(たとえば、連続的なジェスチャ、マルチタッチジェスチャ、シングルタッチジェスチャなど)を決定して、1つまたは複数の通信ユニットを使用してそのようなユーザ入力の指示をコンピューティングデバイス60に送信することが可能である。そのような例において、プロジェクタスクリーン82は、不必要であり、プロジェクタ80は、任意の適切な媒体上にグラフィカルコンテンツを投影し、光認識技法または他のそのような適切な技法を使用して1つまたは複数のユーザ入力を検出することが可能である。
【００６６】
プロジェクタスクリーン82は、一部の例において、プレゼンスセンシティブディスプレイ84を含み得る。プレゼンスセンシティブディスプレイ84は、本開示で説明されるUIデバイス6の機能のサブセットまたはその機能のすべてを含み得る。一部の例において、プレゼンスセンシティブディスプレイ84は、さらなる機能を含み得る。プロジェクタスクリーン82(たとえば、電子ホワイトボード)は、コンピューティングデバイス60からデータを受け取り、グラフィカルコンテンツを表示することが可能である。一部の例において、プレゼンスセンシティブディスプレイ84は、静電容量技法、誘導性技法、および/または光認識技法を使用して、プロジェクタスクリーン82における1つまたは複数のユーザ入力(たとえば、連続的なジェスチャ、マルチタッチジェスチャ、シングルタッチジェスチャなど)を決定して、そのようなユーザ入力の指示を、1つまたは複数の通信ユニットを使用してコンピューティングデバイス60に送信することが可能である。
【００６７】
また、図3は、モバイルデバイス86およびビジュアルディスプレイデバイス90も示す。モバイルデバイス86およびビジュアルディスプレイデバイス90は各々、コンピューティング能力および接続能力を含み得る。モバイルデバイス86の例には、電子リーダデバイス、コンバーティブル(convertible)ノートブックデバイス、ハイブリッドスレートデバイスなどが含まれ得る。ビジュアルディスプレイデバイス90の例には、テレビ、コンピュータモニタのような他の半据え置き型デバイスが含まれ得る。図3に示されるように、モバイルデバイス86は、プレゼンスセンシティブディスプレイ88を含み得る。ビジュアルディスプレイデバイス90は、プレゼンスセンシティブディスプレイ92を含み得る。プレゼンスセンシティブディスプレイ88、92は、本開示で説明されるプレゼンスセンシティブディスプレイ4の機能のサブセットまたはその機能のすべてを含み得る。一部の例において、プレゼンスセンシティブディスプレイ88、92は、さらなる機能を含み得る。任意の事例において、プレゼンスセンシティブディスプレイ92は、たとえば、コンピューティングデバイス60からデータを受け取り、グラフィカルコンテンツを表示することが可能である。一部の例において、プレゼンスセンシティブディスプレイ92は、静電容量技法、誘導性技法、および/または光認識技法を使用して、プロジェクタスクリーンにおける1つまたは複数のユーザ入力(たとえば、連続的なジェスチャ、マルチタッチジェスチャ、シングルタッチジェスチャなど)を決定して、そのようなユーザ入力の指示を、1つまたは複数の通信ユニットを使用してコンピューティングデバイス60に送信することが可能である。
【００６８】
前述したように、一部の例において、コンピューティングデバイス60は、システムバスまたは他の適切な通信チャネルによってコンピューティングデバイス60に結合されたプレゼンスセンシティブディスプレイ64において表示するためにグラフィカルコンテンツを出力することが可能である。また、コンピューティングデバイス60は、プロジェクタ80、プロジェクタスクリーン82、モバイルデバイス86、およびビジュアルディスプレイデバイス90のような1つまたは複数の遠隔デバイスにおいて表示するためにグラフィカルコンテンツを出力することも可能である。たとえば、コンピューティングデバイス60が、本開示の技法によりグラフィカルコンテンツを生成し、かつ/または変更する1つまたは複数の命令を実行することが可能である。コンピューティングデバイス60は、通信ユニット70のようなコンピューティングデバイス60の通信ユニットに、そのグラフィカルコンテンツを含むデータを出力することが可能である。通信ユニット70は、プロジェクタ80、プロジェクタスクリーン82、モバイルデバイス86、および/またはビジュアルディスプレイデバイス90のような遠隔デバイスのうちの1つまたは複数にそのデータを送信することが可能である。このようにして、コンピューティングデバイス60は、遠隔デバイスのうちの1つまたは複数において表示するためにグラフィカルコンテンツを出力することが可能である。一部の例において、遠隔デバイスのうちの1つまたは複数が、それぞれの遠隔デバイスに含まれる、かつ/または動作上、結合されたプレゼンスセンシティブディスプレイにおいてグラフィカルコンテンツを出力することが可能である。
【００６９】
一部の例において、コンピューティングデバイス60は、コンピューティングデバイス60に動作上、結合されたプレゼンスセンシティブディスプレイ64においてグラフィカルコンテンツを出力しない可能性がある。他の例において、コンピューティングデバイス60は、通信チャネル62Aによってコンピューティングデバイス60に結合されたプレゼンスセンシティブディスプレイ64と1つまたは複数の遠隔デバイスの両方において表示するためにグラフィカルコンテンツを出力することが可能である。そのような例において、グラフィカルコンテンツは、それぞれのデバイスにおいて実質的に同時に表示され得る。たとえば、グラフィカルコンテンツを含むデータを遠隔デバイスに送信する通信待ち時間によっていくらかの遅延が導入され得る。一部の例において、コンピューティングデバイス60によって生成され、プレゼンスセンシティブディスプレイ64において表示されるように出力されるグラフィカルコンテンツは、1つまたは複数の遠隔デバイスにおいて表示されるように出力されるグラフィカルコンテンツ表示とは異なり得る。
【００７０】
コンピューティングデバイス60は、任意の適切な通信技法を使用してデータを送受信することが可能である。たとえば、コンピューティングデバイス60は、ネットワークリンク72Aを使用して外部ネットワーク74に動作上、結合され得る。図3に示される遠隔デバイスの各々は、それぞれのネットワークリンク72B、72C、および72Dの1つによって外部ネットワーク74に動作上、結合され得る。外部ネットワーク74は、動作上、互いに結合されて、その結果、コンピューティングデバイス60と図3に示される遠隔デバイスとの間の情報の交換をもたらすネットワークハブ、ネットワークスイッチ、ネットワークルータなどを含み得る。一部の例において、ネットワークリンク72A〜72Dは、イーサネット（登録商標）、ATM、または他のネットワーク接続であり得る。そのような接続は、ワイヤレス接続および/または有線接続であり得る。
【００７１】
一部の例において、コンピューティングデバイス60は、直接デバイス通信78を使用して、図3に含まれる遠隔デバイスのうちの1つまたは複数に動作上、結合され得る。直接デバイス通信78は、コンピューティングデバイス60が、有線通信またはワイヤレス通信を使用して遠隔デバイスを相手にデータを直接に送受信する通信を含み得る。つまり、直接デバイス通信78の一部の例において、コンピューティングデバイス60によって送信されるデータは、さらなる1つまたは複数のデバイスによって転送されることなく、遠隔デバイスにおいて受信されることが可能であり、その逆もまた可能である。直接デバイス通信78の例には、Bluetooth（登録商標）、Near Field Communication、ユニバーサルシリアルバス、Wi-Fi、赤外線などが含まれ得る。図3に示される遠隔デバイスのうちの1つまたは複数が、通信リンク76A〜76Dによってコンピューティングデバイス60に動作上、結合され得る。一部の例において、通信リンク76A〜76Dは、Bluetooth（登録商標）、Near Field Communication、ユニバーサルシリアルバス、赤外線などを使用する接続であり得る。そのような接続は、ワイヤレス接続および/または有線接続であり得る。
【００７２】
本開示の技法によれば、コンピューティングデバイス60は、外部ネットワーク74を使用してビジュアルディスプレイデバイス90に動作上、結合され得る。コンピューティングデバイス60は、プレゼンスセンシティブディスプレイ92において表示されるようにグラフィカルキーボードを出力することが可能である。たとえば、コンピューティングデバイス60は、グラフィカルキーボードの表現を含むデータを通信ユニット70に送ることが可能である。通信ユニット70は、外部ネットワーク74を使用して、グラフィカルキーボードの表現を含むデータをビジュアルディスプレイデバイス90に送信することが可能である。ビジュアルディスプレイデバイス90は、外部ネットワーク74を使用してデータを受信することに応答して、プレゼンスセンシティブディスプレイ92に、グラフィカルキーボードを出力させることが可能である。ユーザが、プレゼンスセンシティブディスプレイ92において(たとえば、グラフィカルキーボードを出力するプレゼンスセンシティブディスプレイ92の領域において)ジェスチャを実行することに応答して、ビジュアルディスプレイデバイス90が、そのジェスチャの指示を、外部ネットワーク74を使用してコンピューティングデバイス60に送信することが可能である。通信ユニット70が、そのジェスチャの指示を受け取り、その指示をコンピューティングデバイス60に送信することが可能である。
【００７３】
プレゼンスセンシティブ入力デバイスにおいて検出される少なくとも1つのジェスチャの指示を受け取ることに応答して、コンピューティングデバイス60が、第1のアルファベットの記号を各々が含む複数の文字ストリングを、第1のラティスにおいてモデル化することが可能である。第1のラティスは、その複数の文字ストリングの各文字ストリングの空間的確率を含み得る。一部の例において、それらの空間的確率は、その少なくとも1つのジェスチャの指示に少なくとも部分的に基づく。コンピューティングデバイス60は、その複数の文字ストリングのうちの少なくとも1つに関して、その複数の文字ストリングの空間的確率に少なくとも部分的に基づいて第2の言語の1つまたは複数の語の確率を示す第2のラティスを使用して、その複数の文字ストリングのうちのその少なくとも1つが、第2の言語に含まれる少なくとも1つの語に対応する確率を決定することが可能である。その少なくとも1つの語は、第2の言語に対応する第2のアルファベットの1つまたは複数の記号によって表され得る。その少なくとも1つの確率がしきい値を満たすと決定することに応答して、コンピューティングデバイス60は、その少なくとも1つの語を表す1つまたは複数の記号を表示のために出力することが可能である。たとえば、コンピューティングデバイス60は、その少なくとも1つの語を表すデータを通信ユニット70に送ることが可能である。通信ユニット70は、外部ネットワーク74を介してそのデータをビジュアルディスプレイデバイス90に送信することが可能である。ビジュアルディスプレイデバイス90は、プレゼンスセンシティブディスプレイ92に、そのデータによって表される少なくとも1つの語を出力させることが可能である。
【００７４】
図4は、本開示の技法による、コンピューティングデバイスが、第1の言語におけるアルファベットの文字を選択するユーザ入力の指示に基づいて生成して、第2の言語の語を決定するのに使用することが可能なラティスを示す概念図である。本開示の技法は、例として、図1〜図2の例に示されるようなコンピューティングデバイス2に関して説明される。一部の例において、UIモジュール6が、タップジェスチャのようなユーザ入力の指示を決定すると、UIモジュール6は、図1〜図2において前段で説明されるようにタッチイベントを生成することが可能である。タッチイベントは、プレゼンスセンシティブディスプレイ4の位置に対応する位置成分、プレゼンスセンシティブディスプレイ4がその位置でユーザ入力を検出した時点と関係する時間成分、および/またはそのタッチイベントが、その位置におけるリフトアップに対応するか、またはプッシュダウンに対応するかと関係するアクション成分を含み得る。UIモジュール6は、図2に示されるように、それらのタッチイベントを入力ルックアップモジュール48に送ることが可能である。
【００７５】
入力ルックアップモジュール48が、それらのタッチイベントにおいて示されるプレゼンスセンシティブ画面4の1つまたは複数の位置に基づいて、近隣キーリストを決定することが可能である。その近隣キーリストは、それらのタッチイベントによって示される1つまたは複数の位置に近接するグラフィカルキーのグループを含み得る。たとえば、入力ルックアップモジュール48は、それらのタッチイベントによって示される1つまたは複数の位置のしきい値距離内にあるキーのグループを決定することが可能である。他の例において、入力ルックアップモジュール48は、それらのキーとそれらのタッチイベントにおいて示される位置との間の最小距離に対応するキーのグループを決定することが可能である。たとえば、入力ルックアップモジュール48は、近隣キーリストの中に、それらのタッチイベントにおいて示される1つまたは複数の位置に対して最短距離を有する2つのキーを含めることが可能である。一部の例において、入力ルックアップモジュール48は、キーの重心とその1つまたは複数のタッチ位置との間の距離を決定することが可能である。他の例において、入力ルックアップモジュール48は、キーの任意の適切な位置からその1つまたは複数のタッチ位置までの距離を決定することが可能である。
【００７６】
入力ルックアップモジュール48は、一部の例において、隣接キーリストの中の各キーに関する空間的モデル確率を決定する。たとえば、近隣キーリストは、図1のタップ位置20Aに関するタッチイベントを決定することに応答して、「z」キーおよび「x」キーに対応するキー情報を含み得る。キー情報および空間的モデル10を使用して、入力ルックアップモジュール48は、「z」キーに関する空間的モデル確率を決定することが可能である。同様に、ルックアップモジュール48は、「x」キーに関する空間的モデル確率を決定することが可能である。この例において、ルックアップモジュール48は、「z」キーに関する空間的モデル確率は0.64であり、「x」キーに関する空間的モデル確率は0.36であると決定することが可能である。一部の例において、入力ルックアップモジュール48は、近隣キーリスト、およびその近隣キーリストに含まれるキーの各々に関する対応する空間的モデル確率をビルダモジュール50に送ることが可能である。
【００７７】
ビルダモジュール50が、その近隣キーリスト、およびその近隣キーリストの中の各キーに関する対応する空間的モデル確率を受け取ることが可能である。ビルダモジュール50は、一般に、本開示の技法により1つまたは複数のラティスを構築することが可能である。たとえば、図4に示されるように、ビルダモジュール50は、文字ラティス100を生成することが可能である。文字ラティス100は、各入力ジェスチャ、たとえば、1つまたは複数のタップおよび/または連続的なジェスチャに対応する文字をモデル化することが可能である。ビルダモジュール50は、文字ラティス100を、頂点102A〜102Cのような頂点、および辺104A〜104Dのような辺を有する有向非巡回グラフとして生成することが可能である。
【００７８】
ユーザがタップ入力を与えると、ビルダモジュール50は、入力ルックアップモジュール48から、そのタップ入力に近接するキーを示す近隣キーリストをインクリメンタルに受け取ることが可能である。各頂点が、生成され、タップ入力に対応することが可能である。各辺は、そのタップ入力に対応する可能な文字に対応することが可能である。第1の決定されたタップ入力に関して、ビルダモジュール50は、インデックス0を有する頂点102Aからインデックス1を有する頂点102Bに至る1つまたは複数の辺を生成することが可能である。各頂点は、異なるインデックスに関連することが可能であり、ここにおいて、ルート頂点には、0というインデックス値が割り当てられることが可能である。ビルダモジュール50は、近隣キーリストの中の各キーに関して頂点102Aから頂点102Bに至るそれぞれの辺を生成することが可能である。たとえば、ビルダモジュール50は、「z」キーに関する辺104A、および「x」キーに関する辺104Bを生成することが可能である。また、ビルダモジュール50は、空間的モデル確率が辺104Aに関する重みとなるように、「z」キーに関する空間的モデル確率(たとえば、0.64)を「z」キーに対応する辺104Aに関連付けることも可能である。同様に、ビルダモジュール50は、「x」キーに関する空間的モデル確率(たとえば、0.36)を「x」キーに対応する辺104Bに関連付けることが可能である。このため、ビルダモジュール50は、タップ入力の位置に近接したグラフィカルキーボードのキーの空間的モデル確率を決定することが可能である。一部の例において、グラフィカルキーボードのキーは、そのキーの位置とタップ入力との間の距離がしきい値を満たす場合、タップ入力の位置に近接していることが可能である。たとえば、しきい値は、キーの位置とタップ入力との間の距離がしきい値未満である場合、満たされ得る。一例において、その距離は、0〜100ミリメートルの範囲内の決定された距離であり得る。一部の例において、キーの位置は、そのキーの重心であり得る。他の例において、キーの位置は、そのキーに対応する任意の位置であり得る。一部の例において、グラフィカルキーボードのキーは、そのキーの位置とタップ入力との間のピクセルの数がしきい値を満たす場合、タップ入力の位置に近接してい
ることが可能である。一例において、ピクセルの数は、0〜1000の範囲内のピクセルの決定された数であり得る。
【００７９】
ビルダモジュール50が、タップ入力をインクリメンタルに受け取るにつれ、ビルダモジュール50は、さらなる頂点102B、102Cなどを生成し、文字ラティス100のそれぞれの頂点に対する辺104A〜104Dを生成する。後続の各タップ入力が、頂点の次のインクリメンタルなインデックス値でモデル化され得る。つまり、ビルダモジュール50は、第1のタップ入力に基づいてモデル化される文字に関して、インデックス0を有する頂点からインデックス1を有する頂点に至る辺を生成する。ビルダモジュール50は、第2のタップ入力に基づいてモデル化される文字に関して、インデックス1を有する頂点からインデックス2を有する頂点に至る辺を生成するといった具合である。このようにして、ユーザが、グラフィカルキーボード16Bで「zhonghou」をタップするにつれ、ビルダモジュール50は、それらのタップ入力に対応する可能なキーに関する辺を生成することが可能である。このため、ビルダモジュール50は、タップ入力の位置に近接しているグラフィカルキーボードのキーに各々が対応する第3のラティスにおいて辺を生成することが可能である。したがって、文字ラティスは、ユーザが、タップ入力を与える際にタップした可能性がある様々なキーのそれぞれの確率を示すことが可能である。キーに関するより高い空間的モデルスコアが、ユーザがそのキーを選択することを意図していたより高い確率を示し得る一方で、キーに関するより低い空間的モデルスコアは、ユーザがそのキーを選択することを意図していたより低い確率を示し得る。
【００８０】
また、ビルダモジュール50は、ユーザ入力に応答してタッチイベントがUIモジュール6によって生成されるにつれ、図4に示されるように、トークンラティス110をインクリメンタルに構築することも可能である。トークンラティス110は、図4に示されるように、頂点および辺を有する有向非巡回グラフとして実施されることも可能である。一部の例において、トークンラティス110は、文字ラティス100と同一の頂点インデックスを有する頂点を含み得る。たとえば、頂点112Aが、頂点102Aと同一のインデックスを含むことが可能であり、頂点112Bが、頂点102Bと同一のインデックスを含むことが可能であり、頂点112Cが、頂点102Cと同一のインデックスを含むことが可能であるといった具合である。
【００８１】
また、ビルダモジュール50は、候補文字ストリングに対応する辺を生成することも可能である。図1で前段で説明されるように、候補文字ストリングは、ユーザによってタップされた可能なキーに対応する文字の組合せを表し得る。各候補文字ストリングは、発音表現、たとえば、漢字を表すピンインストリングに対応することが可能である。一部の例において、候補文字ストリングは、音節、語などのような意味単位および/または音声単位を備える文字のグループであり得る。一部の例において、候補文字ストリングは、「zhong」や「guo」のような、発音表現の正確なスペルであり得る。
【００８２】
ビルダモジュール50は、文字ラティス100の辺に対応する1つまたは複数の文字のグループを選択して、候補文字ストリングを形成し、その候補文字ストリングをトークンラティス110の辺に関連付けることが可能である。たとえば、ビルダモジュール50は、「zhong」という候補文字ストリングを辺114Cに関連付けることが可能である。辺114Cのヘッド頂点112Aのインデックスは、0に対応することが可能であり、テール頂点112Dのインデックスは、5に対応することが可能である。つまり、ビルダモジュール50は、テール頂点のインデックスがnと等しくなるように決定することが可能であり、ここで、nは、候補ストリングの中の文字の数である。たとえば、図4で、「zhong」という候補文字ストリングは、5つの文字を含み、したがって、ビルダモジュール50は、辺114Cのテール頂点が、5というインデックスを有する頂点112Dであると決定することが可能である。
【００８３】
図4に示されるように、ビルダモジュール50は、頂点112Dから頂点112Eに至る辺114Aを生成することも可能である。辺114Aは、「guo」という候補文字ストリングに対応することが可能である。また、ビルダモジュール50は、頂点112Dから頂点112Eに至る辺114Bを生成することも可能である。辺114Dは、「huo」という候補文字ストリングに対応することが可能である。後段でさらに説明されるように、ビルダモジュール50は、文字ラティス100から任意の数の候補文字ストリングを決定して、それぞれの候補文字ストリングをトークンラティス110の辺に関連付けることが可能である。
【００８４】
トークンラティス110の辺の各々は、重みをさらに含み得る。トークンラティス110における辺の重みは、その辺に関連付けられた候補文字ストリングの集合的な空間的モデル確率を示すことが可能である。その集合的な空間的モデル確率は、その候補文字ストリングの中の文字に対応する文字ラティス100における各辺に関連付けられた複合重みを表すことが可能である。たとえば、「zhong」に関する集合的な空間的モデル確率(すなわち、辺114Cに関する重み)は、「z」、「h」、「o」、「n」、「g」という文字に対応する文字ラティス100における辺の重みに基づくことが可能である。一例において、ビルダモジュール50は、辺114Cの重みが、次の積、すなわち、0.64×0.78×0.65×0.55×0.58=0.104と等しいと決定することが可能である。つまり、ビルダモジュール50は、その複数の候補文字ストリングのうちの候補文字ストリングに含まれる文字のグループを決定して、その候補文字ストリングに含まれる文字に対応するキーの空間的モデル確率を決定することが可能である。それらの決定に基づいて、ビルダモジュール50は、キーがその候補文字ストリングに含まれる文字に対応する空間的モデル確率に少なくとも部分的に基づいて、その候補文字ストリングの集合的な空間的モデル確率を決定する。ビルダモジュール50は、辺114Aおよび辺114Bに関する重みを同様に決定することが可能である。
【００８５】
ビルダモジュール50は、様々な技法を使用して、トークンラティス110に含まれる辺の数、トークンラティス110の各候補文字ストリングの中の文字の数、および文字ラティス100から決定された文字ストリングの開始文字と終了文字とを決定することが可能である。一部の例において、ビルダモジュール50は、しきい値に基づいて、トークンラティス110に含まれる辺の数を(したがって、候補ストリングの数も)決定することが可能である。たとえば、ビルダモジュール50は、しきい値未満である数の辺をトークンラティス110に含めることが可能である。一部の例において、トークンラティス110に含められる辺の数は、時間枠および/またはキーストローク量枠に基づくことが可能である。このようにして、さらなる文字が受け取られることが可能であり、かつ/またはさらなる時間が、初期入力から経過するので、辺の寿命が減衰することが可能であり、最終的に、ビルダモジュール50が、その辺をトークンラティス110から取り除くことが可能である。他の例において、ビルダモジュール50は、区切り文字、あるいは1つまたは複数の文字および/または語がユーザによって選択されていることを決定することに応答して、トークンラティス110から辺を取り除くことが可能である。
【００８６】
一部の例において、ビルダモジュール50は、1つまたは複数の規則に基づいて、トークンラティス110の辺に関連付けられた各候補文字ストリングの中の文字の数を決定することが可能である。一部の例において、その1つまたは複数の規則は、可能な様々な候補文字ストリングを含む語彙集として実施され得る。それらの規則は、後段でさらに説明されるように、たとえば、文字が他の所与の文字の後に続く頻度、それらの文字が入力される言語コンテキストなどに基づいて、候補文字ストリングのグループの確率を示すことが可能である。
【００８７】
語彙集は、アレイ、リスト、および/またはツリーのような部類のデータ構造によって表され得る。たとえば、一部の例において、コンピューティングデバイス2は、トライ(trie)データ構造として実装された語彙集を含み得る。語彙集は、語のリストを含むことが可能であり、リストアップされた語についてのさらなる情報を含むことが可能である。語彙集トライデータ構造は、複数のノードを包含することが可能であり、各ノードは、字を表すことが可能である。語彙集トライにおける第1のノードは、字に対応しない可能性があるエントリノードと呼ばれ得る。他の例において、エントリノードは、字に対応することが可能である。各ノードは、1つまたは複数の子ノードに対する1つまたは複数のブランチを含み得る。たとえば、エントリノードは、アルファベット(たとえば、英語のアルファベット)の字に各々が対応する26の子ノードを有することが可能である。その26の子ノードは各々、さらなるノードに対応する1つまたは複数のブランチを有することが可能である。それらのさらなるノードの各々が、文字に関連付けられ得る。子ノードは、その子ノードの字が親ノードの字の後に続く確率を示す確率を含み得る。確率は、1つまたは複数の語n-gram言語モデルもしくは文字n-gram言語モデル、子ノードの文字が出現する頻度などに基づくことが可能である。このようにして、語彙集トライにおけるパスは、候補文字ストリングに対応する子ノードの連鎖を含み得る。たとえば、エントリノードから始まる子ノードの連鎖が、「z」、「h」、「o」、「n」、「g」という文字を含むことが可能であり、ここで、各子ノードは、それらの文字のうちの1つを含む。
【００８８】
語彙集トライにおけるサブセットのノードが各々、そのノードが終端ノードであることを示すフラグを含み得る。語彙集トライの各終端ノードは、完全な候補ストリングを示すことが可能である。したがって、エントリノードから終端ノードに至るノードのパスに沿ったノードによって示される字は、その終端ノードによって示される候補文字ストリングを1文字ずつ規定する(spell out)ことが可能である。一部の例において、語彙集トライは、コンピューティングデバイス2にインストールされた辞書に基づくことが可能である。他の例において、語彙集トライは、コンピューティングデバイス2に記憶される、または1つまたは複数の遠隔コンピューティングデバイスに記憶されることが可能であり、1つまたは複数の通信チャネルを介してコンピューティングデバイス2がアクセス可能である複数のソースに基づくことが可能である。
【００８９】
辞書は、可能な候補文字ストリングのコーパスを示すことが可能である。たとえば、辞書は、第2の言語(たとえば、中国語)の文字および/または語の発音表現を含み得る。つまり、辞書は、辞書が中国語ピンインストリングを含む例において、「zhong」、「huo」、「guo」のようなピンインストリングを含み得る。
【００９０】
語彙集トライにおけるノードは、そのノードがエントリノードからのノードのパスにある子ノードである場合、終端トークンを示すフラグを含むことが可能であり、そのパス上の祖先ノードに含まれる文字は、辞書に含まれる語の文字のストリングを備える。たとえば、[〈entry〉,'z','h','o','n','g']をそれぞれの値として含む6つのノードのパスが、「g」という字を含む第6のノードにおいて終端ノードを示すフラグを含み得る。このようにして、エントリノードから終端まで語彙集トライを走査する(traverse)際、コンピューティングデバイス2は、候補文字ストリングの始めと終わりとを決定することが可能である。
【００９１】
一部の例において、語彙集トライのノードは、n-gram言語モデルのような言語モデル頻度情報に基づく、それらのノードに含まれる文字の確率を含み得る。n-gram言語モデルは、項目の連続的な系列の中の項目xi(字または語)に関する確率分布を、その系列(すなわち、P(xi|xi-(n-1),...,xi-1))の中の前の項に基づいて、もたらすことが可能である。たとえば、bigram言語モデル(n=2である場合のn-gramモデル)が、「zh」という系列の後に続く「o」という字の確率をもたらすことが可能である。一部の例において、語彙集トライは、統合された言語モデル頻度情報を含み得る。たとえば、語彙集トライの各ノードが、字の表現、および確率値を含み得る。
【００９２】
ビルダモジュール50が、一部の例において、語彙集トライの終端ノードに含まれる終端フラグに基づいて、候補文字ストリング(たとえば、文字ラティス100に含まれる文字のグループ)の開始文字および終了文字を決定することが可能である。たとえば、ビルダモジュール50が、文字ラティス100をインクリメンタルに構築するにつれ、ビルダモジュール50は、候補文字ストリングの各々に含まれる文字などの、可能な候補文字ストリングについての状態情報を記憶することが可能である。ビルダモジュール50は、それらの文字ストリングを語彙集トライのノードとインクリメンタルに比較することが可能である。ビルダモジュール50が、ある文字が、語彙集トライのパスに含まれる終端ノードに対応すると決定した場合、ビルダモジュール50は、そのパスにおけるノードに対応する文字が、その語彙集が構築されている辞書に含まれる候補文字ストリングであると決定することが可能である。たとえば、ビルダモジュール50が、「g」という文字に対応するキーに近接した位置を示すタッチイベントを受け取ることが可能である。ビルダモジュール50は、現在、「zhon」という候補ストリングについての状態情報を含むことが可能であり、したがって、「zhong」に対応するノードを有する語彙集トライにおけるパスを決定することが可能である。「g」に対応するノードは、そのノードが終端ノードであることを示すフラグを含み得る。終端ノードを示すフラグを決定することに応答して、ビルダモジュール50は、「zhong」に対応するトークンラティス110において辺114Cを生成することが可能である。
【００９３】
一部の例において、ビルダモジュール50は、終端ノードを決定することに応答して、後続のタップ入力が異なる候補文字ストリングの文字に対応し得ると決定することが可能である。たとえば、ビルダモジュール50は、「g」という終端ノードに基づいて、「zhong」が、辞書に含まれる候補ストリングであると決定することが可能である。次のタップ入力は、したがって、異なる候補文字ストリングの開始に対応することが可能である。たとえば、可能なキーに対応する次の2つの文字が、インデックス5を有する頂点からインデックス6を有する頂点に至る辺によって文字ラティス100において示される「h」および「g」であり得る。このようにして、ビルダモジュール50は、「h」という文字、および「g」という文字でそれぞれ始まる異なる候補ストリングの状態を保持することが可能である。後続のタップ入力に対応する文字が決定されると、ビルダモジュール50は、たとえば、「huo」および「guo」という候補ストリングを語彙集トライと比較することが可能である。語彙集トライにおいて「huo」および「guo」の各々に関する終端ノードを決定すると、ビルダモジュール50は、「guo」に関する辺114A、および「huo」に関する辺114Bをトークンラティス110に追加することが可能である。このようにして、ビルダモジュール50は、文字ラティス100における文字のグループの間の文字境界および語境界を決定して、対応する文字ストリングをトークンラティス110に追加することが可能である。
【００９４】
ビルダモジュール50は、一部の例において、語彙集トライに基づいて1つまたは複数の候補文字ストリングを、それらの文字ストリングの最後の字に対応するノードが終端ノードではないものの、選択することが可能である。たとえば、ビルダモジュール50は、語彙集トライのパスにおける複数のノードに対応する文字ストリングの集合的確率を決定することが可能である。その集合的確率は、その所与のパス上の個別の各ノードに関連する確率に基づき得る。個別のノードに関連する確率は、前述したとおり、1つまたは複数の語n-gram言語モデルおよび/または文字n-gram言語モデル、子ノードの文字が出現する頻度などに基づくことが可能である。ビルダモジュール50は、1つまたは複数の候補文字ストリングを、その1つまたは複数の候補文字ストリングの集合的確率に基づいて、決定することが可能である。たとえば、候補文字ストリングの集合的確率がしきい値を満たす(たとえば、集合的確率が、そのしきい値より大きい)場合、ビルダモジュール50は、その候補文字ストリングに対応する辺をトークンラティス110に追加することが可能である。
【００９５】
ビルダモジュール50は、前述の例に示されるように、語彙集トライを使用して、文字ラティス100に含まれる文字に基づいて、候補文字ストリングの開始文字および終了文字を識別することが可能であるが、ビルダモジュール50は、他の技法を使用して、開始文字および終了文字を決定することも可能である。たとえば、ビルダモジュール50は、開始文字および終了文字を決定する際に長さしきい値を使用してもよい。長さしきい値は、候補文字ストリングの推定の(probable)長さを示す統計情報に基づくことが可能である。他の例において、長さしきい値は、ユーザ定義値であり得る。中国語において、ピンイン値は、下限しきい値と上限しきい値との間の文字長さであることが最も一般的であり得る。1つの非限定的な例として、下限しきい値は、2文字であることが可能であり、上限しきい値は、4文字であることが可能である。タップ入力に近接したキーに対応し得る文字の系列を決定することに応答して、ビルダモジュール50は、長さ2、3、4、および5の候補文字ストリングに対応する辺を語ラティス110に追加することが可能である。たとえば、ビルダモジュール50は、「zh」、「zho」、「zhon」、および「zhong」という候補文字ストリングに関する辺を、それらの候補文字ストリングのうちの1つまたは複数が辞書に含まれないこと、および/または語彙集トライにおいてモデル化されていないことが可能であるものの、追加することが可能である。
【００９６】
1つの代替の例において、ビルダモジュール50は、辞書に含まれる候補文字ストリングのミススペルを備える候補文字ストリングをモデル化する中間トークンラティスを構築することが可能である。つまり、ビルダモジュール50は、ボキャブラリ外(out-of-vocabulary)候補文字ストリングを決定し、トークンラティス110におけるボキャブラリ外候補文字ストリングと類似した辞書における対応する候補文字ストリングをモデル化することが可能である。たとえば、ビルダモジュール50は、「zhong」という発音表現のミススペルであることも可能な、「zhomv」という候補文字ストリングを決定することが可能である。一部の例において、ビルダモジュール50は、中間トークンラティスにおいて、発音表現の両方のミススペルを備える候補文字ストリングに関する辺を生成することが可能である。一部の例において、ビルダモジュール50は、中間ラティスにおける辺に対応する候補文字ストリング(たとえば、ミススペルまたはボキャブラリ外候補文字ストリング)と辞書における1つまたは複数の候補文字ストリングとの間の類似度を確率論的に決定することが可能である。一部の例において、ビルダモジュール50は、語彙集トライ、あるいは1つまたは複数のJaccard係数を使用して類似度を決定することが可能である。ミススペルと辞書における候補文字ストリングとの間の類似度がしきい値を満たす(たとえば、類似度がしきい値より大きい)場合、ビルダモジュール50は、辞書に含まれるその候補文字ストリングに対応する辺をトークンラティス110に含めることが可能である。
【００９７】
コンピューティングデバイス2が、ユーザ入力の指示を受け取るにつれ、ビルダモジュール50が、語ラティス120をインクリメンタルに構築することが可能である。ビルダモジュール50は、単一の候補文字ストリングおよび/または複数の候補文字ストリングに関連付けられた辺を生成することが可能である。つまり、トークンラティス110の辺の上にモデル化される候補文字ストリングは、中国語ピンインストリングに対応することが可能であり、語ラティス120上の辺は、単一の中国語ピンインストリング、または組合せの中国語ピンインストリングに対応することが可能である。一部の例において、1つまたは複数の候補文字ストリングの組合せが、第2の言語の1つまたは複数の文字および/または語に対応することが可能である。たとえば、1つまたは複数の中国語ピンインストリングの組合せが、複数の語を含む中国語の語または中国語の句を備え得る。一例として、「zhongguo」というピンインストリングが、中国(すなわち、「China」)という中国語の語を表す表現であり得る。この説明の全体にわたって示されるように、中国語が、第2の言語の非限定的な例として示されるものの、本開示の技法は、任意の言語に一般に適用可能であり得る。
【００９８】
一部の例において、ビルダモジュール50は、語ラティス120において、第2の言語の1つまたは複数の文字、語、あるいは複数語の句に対応する辺を作成することが可能である。語ラティス120においてモデル化すべき第2の言語の1つまたは複数の文字、語、あるいは複数語の句を選択するのに、ビルダモジュール50は、トライ(trie)データ構造を使用することが可能である。トライデータ構造は、複数のノードを有するツリーとして実施され得る。各ノードは、候補文字ストリング(たとえば、中国語の事例では、ピンインストリング)に対応することが可能である。たとえば、トライデータ構造は、空のルートノードを含み得る。ルートノードは、「zhong」という候補文字ストリングに対応する子ノードを含み得る。さらに、「zhong」に関するノードは、候補文字ストリングに対応する第2の言語(たとえば、中国語)の文字、語、または複数語の句に関連付けられ得る。たとえば、「zhong」という候補文字ストリングに対応する子ノードは、中国語の中という文字に関連付けられ得る。「zhong」に対応する子ノードは、「hou」および「guo」にそれぞれ対応する子ノードをさらに含み得る。それぞれの子ノードの各々は、国および活に関連付けられ得る。
【００９９】
語ラティス120において辺を生成するのに、ビルダモジュール50は、語ラティス120において、語ラティス110の1つまたは複数の候補文字ストリングに対応する辺を作成することが可能である。たとえば、ビルダモジュール50は、語ラティス110を走査し、辺114Cに対応する「zhong」という候補文字ストリングを選択することが可能である。ビルダモジュール50は、語ラティス120において、「zhong」という候補文字ストリングに対応する辺124Aを作成することが可能である。ビルダモジュール50は、中という文字が、「zhong」という候補文字ストリングに対応するトライにおけるノードに関連付けられているので、中という文字を辺124Aにさらに関連付けることが可能である。後段でさらに詳細に説明されるとおり、辺(たとえば、124B)に関する重みに含まれる言語モデル確率は、中という文字、および「zhong」という候補文字ストリングに基づく。語ラティス120における辺124Aに関する頂点のインデックス値は、トークンラティス110における辺114Cの同一の開始頂点および終了頂点に対応することが可能である。ビルダモジュール50は、辺124Dおよび124Eを同様に生成することが可能である。
【０１００】
一部の例において、ビルダモジュール50は、語ラティス110においてモデル化される候補文字ストリングに基づいて、文字、語、または複数語の句の組合せに対応する辺124Bを生成することが可能である。たとえば、ビルダモジュール50は、トライを走査して、語ラティス110においてモデル化された様々な候補文字ストリングにそれぞれが対応する複数のノードを通るパスを決定することが可能である。たとえば、ビルダモジュール50は、語ラティス110から、辺114Cに対応する「zhong」、および辺114Aに対応する「guo」を選択することが可能である。ビルダモジュール50は、ルートノードから、「zhong」に対応する第1の子ノードまで走査し、トライにおいて「guo」に対応する第2の子ノードまでさらに走査することが可能である。一部の例において、「guo」に対応する第2の子ノードは、終端ノードであり得る。終端ノードは、「zhongguo」に対応する、候補文字ストリング、たとえば、「zhong」、「guo」のグループの中で「guo」が最後の候補文字ストリングであることを示すことが可能である。図4に示されるように、ビルダモジュール50は、「zhonggou」という候補文字ストリングの組合せに対応する辺124Bを、中国をその辺に関連付けることによって生成する。ビルダモジュール50は、辺124Cを同様に生成することが可能である。
【０１０１】
図4から理解され得るように、ビルダモジュール50は、語ラティス110の辺に対応する候補文字ストリングに基づく、語ラティス120に関する任意の数の辺を決定することが可能である。たとえば、「zhongguo」が、中国語における異なる複数の文字、語、または複数語の句に対応する場合、ビルダモジュール50は、可能な組合せのうちの1つまたは複数に関して辺を生成することが可能である。たとえば、「zhong」が、各々、異なるように発音され得る、中国語における「重」および「中」に対応することが可能である。トライにおいて、{zhong,重}と{zhong,中}に対応する別々のノードが存在し得る。その別々のノードの各々は、{guo,国}および{huo,活}に対応する2つの子ノードを各々、有することが可能である。したがって、ビルダモジュール50がトライを走査する際、ビルダモジュール50は、語ラティス120において、たとえば、{zhongguo,重国}、{zhonghuo,重活}、{zhongguo,中国}、および{zhonghuo,中活}に対応する、別々の辺を生成することが可能である。このようにして、ビルダモジュール50は、語ラティス120における辺の上に第2の言語の様々な文字/語/複数語の句に対応する候補文字ストリングの異なる複数の組合せをモデル化することが可能である。さらに、ビルダモジュール50は、トークンラティス110から、語ラティス120における単一の辺(たとえば、「zhongguo」)に対応する候補文字ストリング(たとえば、「zhong」および「guo」)の任意の数の組合せを決定することが可能である。
【０１０２】
一部の例において、ビルダモジュール50は、語ラティス120の各辺に関する重みを決定することが可能であり、ここで、語ラティス120の各辺は、1つまたは複数の候補文字ストリングの組合せに対応する。図4に示されるように、辺124Aは、「zhong」という候補文字ストリングに対応し、辺124Bは、「zhongguo」という候補文字ストリングに対応し、辺124Cは、「zhonghuo」という候補文字ストリングに対応し、辺124Dは、「guo」に対応し、辺124Eは、「huo」に対応する。一例において、ビルダモジュール50は、辺124Aの上にモデル化された候補文字ストリングに対応するトークンラティス110における辺(たとえば、114C)の開始頂点および終了頂点(たとえば、112Aおよび112D)に基づいて、辺124Aの開始頂点および終了頂点(122Aおよび122B)を決定することが可能である。複数の候補文字ストリングが、語ラティス120における単一の辺の上にモデル化される場合、ビルダモジュール50は、語ラティス120における開始頂点122Aのインデックスを、複数の候補文字ストリングに含まれる最初の候補文字ストリングに対応する、トークンラティス110における辺の開始頂点112のインデックスとなるように決定することが可能である。語ラティス120における終了頂点122Cのインデックスは、複数の候補文字ストリングの中の最後の候補文字ストリングに対応するトークンラティス110における辺の終了インデックス112Eと等しいことが可能である。たとえば、図4に示されるように、辺124Bに関する開始頂点のインデックスは、辺114Cに関する開始頂点のインデックスと等しく、辺124Bに関する終了頂点のインデックスは、辺114Aに関する終了頂点のインデックスと等しい。
【０１０３】
語ラティス120における辺の重みは、その辺に対応する1つまたは複数の候補文字ストリングのグループの語ラティス110からの集合的総計重みに基づくことが可能である。語ラティス120における辺の重みは、言語モデルスコアに基づくことが可能である。一部の例において、辺の重みは、トークンラティス110および言語モデルスコアからの集合的総計重みに基づくことが可能である。
【０１０４】
図4に示されるように、辺124Cは、「zhonghuo」に関する集合的総計重み(たとえば、空間的モデルスコア)、および言語モデルスコアに基づくことが可能である。その集合的総計重みは、0.104×0.308と等しいことが可能であり、これは、「zhonghuo」における文字に対応するキーの全体的な空間的確率を示し得る。また、ビルダモジュール50は、辺124Cに関する言語モデル確率(または「言語モデルスコア」)を決定することも可能である。一部の例において、言語モデル確率は、第2の言語における語を所与として、第1の言語のアルファベットの文字を含む1つまたは複数の候補文字ストリングのグループの確率を示し得る。たとえば、辺124Cに関する言語モデル確率は、中活という中国語の語を所与として、「zhonghuo」の確率を示し得る。言い換えると、ビルダモジュール50は、「中活」(「zhonghuo」)という中国語の語が、ユーザによって入力されることが意図される語であることを所与として、ユーザが、2つの候補文字ストリング、「zhong」および「huo」を含む、「zhonghuo」という候補ストリングを入力した確率を決定することが可能である。つまり、辺124Cの言語モデル確率は、中活という中国語の語124Cが、「中活」が「zhonghuo」と発音される確率に対応し得る確率を示すことが可能である。より一般的には、辺124Cの言語モデル確率は、第2の言語の文字、語、または句が、1つまたは複数の候補文字ストリングのグループに従って発音される確率を示し得る。一部の例において、言語モデル確率は、次のように表され得る。すなわち、
【０１０５】
【数１】
2016509456.tif 000003
【０１０６】
式1において、sは、1つまたは複数の候補文字ストリングのグループであることが可能であり、tは、第2の言語の語および/または句の辞書に基づく言語モデルに含まれる1つまたは複数の語であることが可能である。このようにして、辺124Cに関する言語モデルスコアは、
【０１０７】
【数２】
2016509456.tif 000004
【０１０８】
によって表され得る。
【０１０９】
一部の例において、ビルダモジュール50は、言語モデル12を使用して言語モデル確率を決定することが可能である。言語モデル12は、言語ボキャブラリ内の語のグループ、たとえば、中国語ボキャブラリ内の中国語の語のグループを含み得る。一部の例において、言語モデル12は、コンピューティングデバイス2、またはコンピューティングデバイス2によってアクセス可能な遠隔コンピューティングデバイスに記憶された辞書の中の語のセットに基づき、かつ/またはそのようなセットを含むことが可能である。言語モデル12は、各語の確率を、所与の言語コンテキストにおいてその語が出現する頻度に基づいて示すことが可能である。言語モデル12は、1つまたは複数のn-gram言語モデルを実施することが可能である。n-gram言語モデルは、項目の連続的な系列の中の項目xi(字、語、発音文字、または他の区切り記号)に関する確率分布を、その系列(すなわち、P(xi|xi-(n-1),...,xi-1))の中の前の項目に基づいて、もたらすことが可能である。
【０１１０】
ビルダモジュール50は、辺124A〜124Cの各々に関する重みを決定することが可能である。前段で説明したとおり、ビルダモジュール50は、コンピューティングデバイス2がユーザ入力の指示を受け取るにつれ、ラティス100、110、および120をインクリメンタルに構築することが可能である。ラティスが構築されるにつれ、復号モジュール52が、最高の重みに関連付けられた語ラティス120の辺を周期的に、かつ/または継続的に決定することが可能である。他の例において、復号モジュール52は、ユーザ入力のインクリメンタルな決定に基づいて、最高の重みに関連付けられた語ラティス120の辺を決定することが可能である。つまり、復号モジュール52は、最高の重みを有するしきい値数の辺を決定することが可能である。
【０１１１】
たとえば、復号モジュール52は、ビタビアルゴリズム、他の類似した動的プログラミング技法、または一般的に、語ラティスを検索するための任意の適切な検索技法を使用して、語ラティス120の辺重みを検索することが可能である。たとえば、復号モジュール52は、n個の最高の集合的総計重みを有する辺を含む語ラティス120を通る辺のパスを検索することが可能である。たとえば、復号モジュール52は、頂点122Aから頂点122Bに至るいずれの辺が最高の重みを有するかを最初に決定することが可能である。ビルダモジュール50が、頂点122Bから頂点122Cに至るいずれの辺が最高の重みを有するかをさらに決定することが可能である。
【０１１２】
復号モジュール52は、語ラティス120の可能な辺に沿って最高の重みを検索することを継続することが可能である。一部の例において、復号モジュール52は、しきい値数のパスに関する集合的総計重みを決定することが可能である。たとえば、ビルダモジュール50が、パスのしきい値数が、たとえば、3である場合、3つのパスに関する集合的総計重みを決定することが可能である。一部の例において、復号モジュール52は、辺のしきい値数に基づいて、1つのパス当たりの辺の最大数を決定することが可能である。つまり、復号モジュール52は、たとえば、2と等しい最大数の辺を有するパスに関して、集合的総計重みを決定することが可能である。そのような例において、復号モジュール52は、2つの辺を含むパスに関する集合的総計重みを決定することが可能である。辺124Aおよび124Dに関する集合的総計重みを決定するのに、復号モジュール52は、辺124Aに関する重みと辺124Dに関する重みの積を決定することが可能である。
【０１１３】
語ラティス120において示される第2の言語の1つまたは複数の文字、語、または句のグループを決定すると、コンピューティングデバイス2は、それらの文字、語、または句を表示のために出力する。一例として、ユーザインターフェース14が、2つの示唆される語領域18Aおよび18Bを含み得る。したがって、復号モジュール52は、辺のしきい値数が2と等しいことが可能であると決定し得る。その結果、復号モジュール52は、最高の2つの重みを有する辺に関連付けられたそれぞれの1つまたは複数の語を決定することが可能である。たとえば、図4で、復号モジュール52は、辺124Bおよび124Cに関する重みが最高の2つの重みを有すると決定することが可能である。辺124Bおよび124Cを決定することに応答して、復号モジュール52は、「中国」という語、および「重活」という語を表すデータをUIモジュール6に送信することが可能である。UIモジュール6が、示唆される語領域18Aおよび18Bの中で「中国」という語、および「重活」という語を表示することが可能である。他の例において、UIモジュール6は、最高の重みを有する辺に関連付けられた語を編集領域16A内で表示することが可能である。さらに他の例において、コンピューティングデバイス2は、ユーザがタップ位置20Iでタップジェスチャを実行したことの指示を受け取ることが可能であり、このことが、次いで、プレゼンスセンシティブディスプレイ4に、文字22Aおよび22Bでユーザインターフェース14において「中国」という語を出力させることが可能である。このようにして、タップ位置20A〜20Hは、「zhonghuo」に近接したキーを選択するように見えることが可能であるものの、ラティス100、110、および120を使用する本開示の技法は、プレゼンスセンシティブディスプレイ4に、「中国」(たとえば、「zhongguo」)を表示させることが可能である。したがって、その表示の技法は、第2の言語の文字および/または語を出力するために第1の言語のアルファベットの文字を含む発音表現を入力する際のユーザ入力に対するより高い誤り回復力をもたらし得る。
【０１１４】
図5は、本開示の1つまたは複数の技法による、第1の言語のアルファベットに含まれる文字を選択する連続的なジェスチャに少なくとも部分的に基づいて、第2の言語の1つまたは複数の文字および/または語を決定する、図1に示されるコンピューティングデバイスの一例のさらなる詳細を示すブロック図である。図5の概念的な例に示されるように、コンピューティングデバイス2は、プレゼンスセンシティブディスプレイ4、UIモジュール6、キーボードモジュール8、空間的モデル10、言語モジュール12、アクティブなビーム56、および次のビーム58を含み得る。GUI140は、QWERTYキーボードを含み得るグラフィカルキーボード142Bを含むことが可能である。
【０１１５】
図1の例に示されるように、ユーザが、グラフィカルキーボード142Bにおいて連続的なジェスチャを実行することによって、1つまたは複数の候補文字ストリング(たとえば、中国語ピンインストリングのような発音表現)をコンピューティングデバイス2に入力することを所望することが可能である。ユーザが連続的なジェスチャを実行する間、コンピューティングデバイス2は、その連続的なジェスチャに対応するジェスチャパス146を検出することが可能である。一部の例において、連続的なジェスチャとは、プレゼンスセンシティブディスプレイ4において検出される入力ユニット(たとえば、指、スタイラスなど)を用いてユーザがジェスチャを実行することを指すことが可能であり、プレゼンスセンシティブディスプレイ4において入力ユニットは、様々な位置を通ってジェスチャパスを進む。その入力ユニットがプレゼンスセンシティブ4において検出されたままである間、そのジェスチャが、プレゼンスセンシティブディスプレイ4において検出され得る。入力ユニットがプレゼンスセンシティブディスプレイ4においてもはや検出されなくなると、コンピューティングデバイス2は、そのジェスチャが終了したと決定することが可能である。このようにして、ユーザは、グラフィカルキーボードの複数のキーを進んでテキストを入力する連続的なジェスチャを実行することが可能である。図5の例において、コンピューティングデバイス2は、ジェスチャパス146を検出しているものとして示される。図5に示されるものの、ジェスチャパス146および/または整列ポイント148A〜148Hは、本明細書で説明される技法の実行中に目に見えなくてもよい。整列ポイントは、グラフィカルキーボードに含まれる複数のキーのうちのキーを示し得るジェスチャパス上のポイントであり得る。整列ポイントは、整列ポイントの所定の位置に対応する1つまたは複数の座標を含み得る。たとえば、整列ポイントは、グラフィカルユーザインターフェースにおけるポイントに対応するデカルト座標を含み得る。グラフィカルキーボードのキーがジェスチャパスに関連付けられていると決定するのに、コンピューティングデバイス2は、そのジェスチャのセグメントの長さのような整列ポイントのグループの特徴を決定することが可能であり、ここにおいて、そのセグメントは、プレゼンスセンシティブディスプレイにおいてそのジェスチャが進むパスと、そのジェスチャのそのセグメントの方向と、そのジェスチャのそのセグメントの曲率と、そのジェスチャのそのセグメントが検出されたレートを表す局所速度と、そのジェスチャが検出されたレートを表す大域速度などとを備える。たとえば、入力ユニットが、あるキーの近くで遅くなり、方向を変えると、そのジェスチャパスの曲率は、高いことが可能である。そのジェスチャに対応する整列ポイントに基づいて決定されたジェスチャパスの特徴は、ユーザがそのキーを選択することを意図したことを示し得る。
【０１１６】
キーボードモジュール8が、図5に説明される本開示の技法により、キーのグループに少なくとも部分的に基づいて、候補文字ストリングを決定することが可能である。文字ラティス、たとえば、文字ラティス100を生成するのではなく、キーボードモジュール8は、1つまたは複数の連続的なジェスチャに基づいて、候補文字ストリングをインクリメンタルに決定して、そのようなストリングをトークンラティス110における辺に関連付けることが可能である。たとえば、ユーザが、グラフィカルキーボード142Bにおいて連続的なジェスチャを実行することが可能であり、「zhong」という候補文字ストリングが連続的なジェスチャに対応すると決定することに応答して、キーボードモジュール8が、「zhong」をトークンラティス110の辺に関連付けることが可能である。キーボードモジュール8は、図4において前段で説明されるように、語ラティス120に基づいて、文字および/または語をインクリメンタルに決定することが可能である。次に、図5を参照して技法をさらに説明する。
【０１１７】
連続的なジェスチャ入力に基づいて1つまたは複数の候補ストリングを決定するのに、キーボードモジュール8は、言語モデル150を使用することが可能である。言語モデル150は、語彙集を含み得る。一部の例において、語彙集は、語のリストを含むことが可能であり、リストされた語についてのさらなる情報を含むことが可能である。語彙集は、アレイ、リスト、ツリー、または他のデータ構造のうちの1つまたは複数のような、1つまたは複数のデータ構造によって表され得る。たとえば、言語モデル150は、トライデータ構造の中に記憶された語彙集を含み得る。語彙集トライデータ構造は、複数のノードを含み得る。語彙集トライの各ノードは、字を表すことが可能である。語彙集トライにおける最初のノードは、字に対応しないことが可能なエントリノードと見なされ得る。他の例において、エントリノードは、字に対応することが可能である。各ノードは、1つまたは複数の子ノードを有することが可能である。たとえば、エントリノードは、英語のアルファベットの字に各々が対応する、26の子ノードを有することが可能である。
【０１１８】
語彙集トライにおけるサブセットのノードが各々、そのノードが終端ノードであることを示すフラグを含み得る。語彙集トライの各終端ノードは、その語彙集に含まれる候補文字ストリングを示すことが可能である。たとえば、語彙集は、有効な候補文字ストリング(たとえば、中国語ピンインストリング)の辞書に基づくことが可能である。エントリノードから終端ノードに至るノードのパス上のノードによって示される字は、終端ノードによって示される候補文字ストリングを1文字ずつ規定することが可能である。一部の例において、言語モデル150は、コンピューティングデバイス2にインストールされたデフォルトの辞書であり得る。いくつかの例において、言語モデル150は、事前定義された句のグループを含み得る。他の例において、言語モデル150は、コンピューティングデバイス2に記憶され得る、または1つまたは複数の通信チャネルを介してコンピューティングデバイス2がアクセス可能である1つまたは複数の遠隔コンピューティングデバイスに記憶され得る語彙集の複数のソースを含むことが可能である。
【０１１９】
ジェスチャパス146の一部分を最初に検出することに応答して、キーボードモジュール8は、ユーザによって実行されたジェスチャが進んだジェスチャパス146上の整列ポイント148Aを決定することが可能である。整列ポイント148Aに対応するジェスチャパス146の部分を検出することに応答して、キーボードモジュール8は、語レベルトークンを作成し、その語レベルトークンをアクティブなビーム56に入れるようにプッシュすることが可能である。この時点におけるアクティブなビーム56上のコンテンツは、以下のTable 1(表1)によって表され得る。
【０１２０】
【表１】
2016509456.tif 000005
【０１２１】
図5に示されるように、コンピューティングデバイス2は、アクティブなビーム56を含み得る。アクティブなビーム56は、一部の例において、キーボードモジュール8によって生成された1つまたは複数のトークン(たとえば、1つまたは複数の語レベルトークン)を記憶するように構成される。アクティブなビーム56は、ストレージデバイス48内に含められることが可能である。また、コンピューティングデバイス2は、次のビーム58を含むことも可能である。次のビーム58は、一部の例において、ジェスチャモジュール8によって生成された1つまたは複数のトークン(たとえば、1つまたは複数の語レベルトークン)を記憶するように構成される。次のビーム56もまた、ストレージデバイス48内に含められることが可能である。
【０１２２】
Table 1(表1)において、各行は、個別の語レベルトークンを表し、インデックス列は、各語レベルトークンの一意識別子を表し、親インデックス列は、リストアップされる語レベルトークンが子である語レベルトークンのインデックス値を表し、現在のノード列の字キーは、語レベルトークンの現在のノードによって表される字キーを表し、字連鎖列は、エントリノードから語レベルトークンの現在のノードに至るノードによって表される字キーのすべてを表し、費用値は、語レベルトークンの費用値を表す。Table 1(表1)に示されるように、作成された語レベルトークンは、0というインデックスを有し(すなわち、語レベルトークン0)、親インデックスをまったく有さず、現在のノードの字キーをまったく有さず、字連鎖をまったく有さず、0という費用値を有する。
【０１２３】
そのジェスチャによって示されるテキストを決定するのに、キーボードモジュール8は、各語レベルトークンのコピーを、その子ノードの上で作成することが可能である。つまり、各語レベルトークンは、言語モデル150の語彙集トライにおいて次のレベルの子ノードに進められることが可能である。一部の例において、エントリノードは、26の子ノード(英語のアルファベットの各字につき1つ)を有することが可能である。簡単のため、図5の例では、エントリノードは、「Z」および「X」という字の上に2つだけの子ノードを有する。したがって、キーボードモジュール8は、インデックス0を有する語レベルトークンのコピーを子ノード「Z」上(すなわち、語レベルトークン1)、および子ノード「X」上(すなわち、語レベルトークン2)に作成することが可能である。作成された各語レベルトークンコピーに関して、キーボードモジュール8は、費用値を決定することが可能である。つまり、コンピューティングデバイス2は、複数のキーのうちの少なくとも2つのキーの各々に関して、それぞれの費用値を決定することが可能である。それぞれの費用値は、整列ポイントのグループのうちの整列ポイントが複数のキーのうちのキーを示す確率をそれぞれ表すことが可能である。費用値は、現在のノードの字キーを所与としてその字連鎖の確率を示す言語モデル確率に基づくことが可能である。言語モデル確率は、1つまたは複数の文字、語、および/または句を所与として、文字、語、および/または句の確率を示す1つまたは複数の文字レベル、語レベル、および/または句レベルのn-gramに基づくことが可能である。費用値は、そのジェスチャが現在のノードの字のキーに対応する空間的モデル確率に少なくとも部分的に基づくことが可能である。一部の例において、費用値は、言語モデル確率および空間的モデル確率に少なくとも部分的に基づく。
【０１２４】
キーボードモジュール8は、各語レベルトークンコピーを次のビーム58にプッシュすることが可能であり、次のビーム58のコンテンツは、以下のTable 2(表2)によって表され得る。
【０１２５】
【表２】
2016509456.tif 000006
【０１２６】
Table 2(表2)に示されるエントリは、Table 1(表1)に示されるエントリとフォーマットが類似している。Table 2(表2)において、語レベルトークン1は、費用値CV1を有し、語レベルトークン2は、費用値CV2を有する。語レベルトークンコピーを作成した後、キーボードモジュール8は、語レベルトークン0が終端ノードではないと決定することが可能であり、語レベルトークン0を破棄することが可能である。キーボードモジュール8は、その後、アクティブなビーム56が空である(すなわち、トークンをまったく含まない)かどうかを決定することが可能である。アクティブなビーム56が空であると決定することに応答して、コンピューティングデバイス2は、次のビーム58のコンテンツをアクティブなビーム56にコピーすることが可能であり、次のビーム56Aのコンテンツを破棄することが可能である。
【０１２７】
キーボードモジュール8は、ジェスチャパス146上の整列ポイント148B〜148Eをさらに決定することが可能である。キーボードモジュール8は、アクティブなビーム56の中の各語レベルトークンに関して、キーボードモジュール8が、グラフィカルキーボード142Bの1つまたは複数のキーに対応し得る整列ポイント148B〜148Eの各々を決定するにつれ、各子ノード上にコピーをインクリメンタルに作成することが可能である。図5の例において、整列ポイント148Bを決定すると、語レベルトークン1が、「G」という字キーを有する子ノードを有し、語レベルトークン2が、「H」という字キーを有する子ノードを有する。作成された各語レベルトークンコピーに関して、コンピューティングデバイス2は、前述したように費用値を決定することが可能である。コンピューティングデバイス2は、各語レベルトークンコピーを次のビーム58に入れるようにプッシュすることが可能であり、次のビーム58のコンテンツは、以下のTable 3(表3)によって表され得る。
【０１２８】
【表３】
2016509456.tif 000007
【０１２９】
Table 3(表3)に示されるエントリは、Table 1(表1)およびTable 2(表2)に示されるエントリとフォーマットが類似している。Table 3(表3)において、各語レベルトークンに関する費用値は、前の字に関する費用値と、現在の字に関する費用値とを含む。コンピューティングデバイス2は、終端ノード上に語レベルトークンが存在する場合、語レベルトークンのうちのいずれが存在するかを決定することが可能である。たとえば、コンピューティングデバイス2は、語レベルトークン3が、語レベルトークン3の、「ZHONG」という予測される文字のストリング(すなわち、語レベルトークン3の字連鎖)が語彙集に(すなわち、ピンインストリング辞書に)含まれる候補語を表すので、終端ノードであると決定することが可能である。
【０１３０】
終端ノード上に語レベルトークンが存在すると決定することに応答して、キーボードモジュール8は、トークンラティス110において、その字連鎖、たとえば、候補文字ストリングに対応する辺を作成することが可能である。一部の例において、キーボードモジュール8は、文字ストリングの空間的モデルを決定し、その空間的モデルを、その候補文字ストリングに対応するトークンラティス110における辺の重みとして関連付けることが可能である。このようにして、キーボードモジュール8が、候補文字ストリング(たとえば、中国語ピンインストリング)に対応する字連鎖を決定するにつれ、キーボードモジュール8は、トークンラティス110に辺を含めることが可能であり、それらの辺は、図4で説明されるように、キーボードモジュール8によって語ラティス120でさらに使用されて、第2の言語における文字および/または語が決定される。
【０１３１】
さらに、コンピューティングデバイス2は、終端ノード上に語レベルトークンが存在すると決定することに応答して、複数のキーのうちの次の選択されたキーが第2の語レベルトークンの接頭辞であることを示す次の語トークンを生成することが可能である。次の語トークンは、第2の語レベルトークンのエントリノードと考えられ得る。コンピューティングデバイス2は、次の語トークン(すなわち、第2の語レベルトークンのエントリノード)をアクティブなビーム56に入れるようにプッシュすることが可能であり、アクティブなビーム56のコンテンツは、以下のTable 4(表4)によって表され得る。
【０１３２】
【表４】
2016509456.tif 000008
【０１３３】
Table 4(表4)に示されるエントリは、Table 1(表1)、Table 2(表2)、およびTable 3(表3)に示されるエントリとフォーマットが類似している。Table 4(表4)に示されるように、次の語トークンに対応する作成された語レベルトークンは、7というインデックスを有し(すなわち、語レベルトークン7)、3という親インデックス(すなわち、語レベルトークン3に対応する)を有し、現在のノードの字キーをまったく有さず、字連鎖をまったく有さず、0という費用値を有する。Table 4(表4)に示されるように、インデックス7を有する語レベルトークンは、前の候補文字ストリング、たとえば、「zhong」の親インデックスを状態情報として記憶して、キーボードモジュール8が、その親インデックスの字連鎖に関連付けられた候補文字ストリングを決定し得るようにすることが可能である。このようにして、キーボードモジュール8は、語彙集の中の語および/または語のグループに対応し得る、関連付けられた1つまたは複数の字連鎖のグループを決定することが可能である。
【０１３４】
キーボードモジュール8は、複数の候補文字ストリングに対応する連続的なジェスチャを受け取ると、語境界を識別するように終端ノードを決定することともに、状態情報を保持することが可能である。つまり、キーボードモジュール8は、「zhong」と、7というインデックスに対応する後続の候補文字ストリングとの間の遷移確率を決定することが可能である。キーボードモジュール8は、その遷移確率を、インデックス7に対応する次の語トークンに関する状態情報の一部分として記憶することが可能である。遷移確率は、候補文字ストリング間の境界の確率を示し、かつ候補文字ストリングの辞書に基づき得る1つまたは複数のn-gram文字言語モデルおよび/または語言語モデルに基づくことが可能である。一例において、キーボードモジュール8は、プレゼンスセンシティブ入力デバイスにおいて検出される少なくとも1つのジェスチャの指示を受け取ることに応答して、「zhonghuo」という複数の文字を決定することが可能である。キーボードモジュール8は、言語モデルに基づいて、異なる候補文字ストリングを表す複数の文字の間で、たとえば、「zhong」と「huo」との間で少なくとも1つの境界を決定することが可能である。その少なくとも1つの境界は、「zhong」という第1の候補文字ストリングに対応するその複数の文字における、第1のグループの文字、および「huo」という第2の候補文字ストリングに対応するその複数の文字における、第2のグループの文字を示すことが可能である。図5の例において後段でさらに説明されるように、キーボードモジュール8は、トークンラティスにおいて、「zhong」という第1の候補文字ストリングに関連付けられた第1の辺を生成することが可能であり、ここにおいて、第1の辺は、第1の頂点112Aから始まり、第2の頂点112Dで終わる。キーボードモジュール8は、トークンラティスにおいて、「huo」という第2の候補文字ストリングに関連付けられた第2の辺114Bを生成することが可能であり、ここにおいて、第2の辺は、第2の頂点112Dから始まり、第3の頂点112Eで終わる。一部の例において、キーボードモジュール8は、遷移確率を使用して、「zhong」という文字ストリングと「huo」という文字ストリングとを、語ラティス120の辺の上で「zhongh
uo」として連結するかどうかを決定することが可能である。
【０１３５】
図5の例において、キーボードモジュール8は、ジェスチャパス146上の整列ポイント148F〜148Hをさらに決定することが可能である。キーボードモジュール8は、アクティブなビーム56における各語レベルトークンに関して、各子ノード上にコピーを作成することが可能である。図5の例において、トークン3からトークン6は各々、「G」および「H」という字キーをそれぞれが有する子ノードを有する。さらに、トークン7は、7というインデックスを有する語レベルトークンに関するエントリノードと見なされ得る。このため、キーボードモジュール8は、語レベルトークン7の子ノードにおいてコピーを作成することも可能である。作成された各語レベルトークンコピーに関して、キーボードモジュール8は、前述したように費用値を決定することが可能である。キーボードモジュール8は、各語レベルトークンコピーを次のビーム58に入れるようにプッシュすることが可能であり、次のビーム58のコンテンツは、以下のTable 5(表5)によって表され得る。
【０１３６】
【表５】
2016509456.tif 000009
【０１３７】
Table 5(表5)に示されるエントリは、Table 1(表1)〜Table 4(表4)に示されるエントリとフォーマットが類似している。Table 5(表5)で、各語レベルトークンに関する費用値は、前の字に関する費用値と、現在の字に関する費用値とを含む。このため、コンピューティングデバイス2は、語彙集に含まれる候補語を表す語レベルトークン、および文字キーの予測される選択に少なくとも部分的に基づいて、1つまたは複数の語レベルトークンを決定することが可能である。そのようにして、キーボードモジュール8は、グラフィカルキーボードに含まれるキーのグループを選択する連続的なジェスチャの指示を受け取ることに応答して、語レベルトークンを決定することが可能である。キーボードモジュール8は、キーボードモジュール8が、そのジェスチャのさらなる指示を受け取るにつれ、1つまたは複数の語レベルトークンをインクリメンタルに決定することを継続し、その結果、語または句のキーのグループを選択するのにユーザが単一のジェスチャを与えることができるようにすることが可能である。
【０１３８】
前述したように、キーボードモジュール8は、終端ノードを決定すると、語ラティス112上に、その終端ノードの対応する字連鎖(たとえば、候補文字ストリング)を含む辺を生成することが可能である。他の例において、キーボードモジュール8は、費用値に基づいて、トークンラティス110に候補文字ストリングとして含める字連鎖を決定することが可能である。つまり、キーボードモジュール8は、しきい値を満たす費用値を決定することが可能である。たとえば、キーボードモジュール8は、しきい値よりも大きい費用値を決定して、トークンラティス110において、それらの費用値にそれぞれが関連付けられた字連鎖に関する辺を生成することが可能である。このため、一部の例において、キーの組合せの費用値(たとえば、候補文字ストリングを表す字連鎖に関連付けられた費用値)がしきい値を満たすと決定することに応答して、コンピューティングデバイスによる、候補文字ストリングを語ラティスの辺に関連付けることが行われ、ここにおいて、その文字ストリングは、キーのその組合せに関連する文字を含む。一部の例において、開始頂点のインデックスと終了頂点のインデックスとの差は、候補文字ストリングにおける文字の数と等しいことが可能である。たとえば、決定された候補文字ストリングが「zhong」である場合、開始頂点のインデックスは、0であることが可能であり、終了頂点のインデックスは、5であることが可能である。境界に基づいて、単一のストリングから複数の候補文字ストリング、たとえば、「zhong」、「huo」が決定された場合、第2の候補文字ストリングの開始頂点が、インデックス5を有する頂点で開始し、インデックス8を有する頂点で終了することが可能である。
【０１３９】
図6A〜図6Bは、本開示の1つまたは複数の技法による、ジェスチャから語および/または句を決定するコンピューティングデバイスの例示的な動作を示す流れ図である。単に例示の目的で、これらの例示的な動作は、たとえば、図1、図2、および図5に示されるコンピューティングデバイス2との絡みにおいて以下に説明される。
【０１４０】
図6A〜図6Bの例において、コンピューティングデバイス2が、複数のキーを備えるグラフィカルキーボード(たとえば、グラフィカルキーボード16B)を最初に表示のために出力することが可能である(150)。コンピューティングデバイス2が、プレゼンスセンシティブディスプレイにおいてジェスチャを検出することが可能である(152)。たとえば、プレゼンスセンシティブディスプレイ4が、ジェスチャパス146を有するジェスチャを検出することが可能である。1つまたは複数のプロセッサ上で実行されているUIモジュール6が、プレゼンスセンシティブディスプレイ4において検出されるジェスチャの指示を受け取ることが可能である。プレゼンスセンシティブディスプレイにおいて検出されるジェスチャの指示を受け取ることに応答して、コンピューティングデバイス2が、コンピューティングデバイス2上に語彙集トライとして記憶された語彙集のエントリノードにおいて0という費用値を有する語レベルトークンを生成することが可能である(154)。コンピューティングデバイス2が、その語レベルトークンをアクティブなビームに入れるようにプッシュすることが可能である(156)。たとえば、コンピューティングデバイス2が、その語レベルトークンをアクティブなビーム56に入れるようにプッシュすることが可能である。
【０１４１】
コンピューティングデバイス2が、アクティブなビームから語レベルトークンを選択することが可能である(158)。コンピューティングデバイス2は、その語レベルトークンの各子ノード上にその語レベルトークンのコピーを作成することが可能である(160)。コンピューティングデバイス2が、語レベルトークンコピーを選択して(162)、そのジェスチャ上の整列ポイントを決定することが可能である(164)。コンピューティングデバイス2が、その整列ポイントが、その語レベルトークンが位置付けられているノードの字キーを示す確率を表す費用値を決定して、その費用値をその語レベルトークンコピーに追加することが可能である(166)。コンピューティングデバイス2が、その語レベルトークンコピーを次のビームに入れるようにプッシュすることが可能である(168)。コンピューティングデバイス2が、アクティブなビームの中に残っている語レベルトークンコピーが存在するかどうかを決定することが可能である(170)。残っている語レベルトークンコピーが存在する場合(172)、コンピューティングデバイス2は、新たな語レベルトークンコピーを選択することが可能である(162)。
【０１４２】
残っている語レベルトークンコピーが存在しない場合(174)、コンピューティングデバイス2は、その語レベルトークンが語彙集トライの終端ノードであるかどうかを決定することが可能である(176)。たとえば、コンピューティングデバイス2は、言語モデル12を使用して、その語レベルトークンが、語彙集(たとえば、英語)に含まれる候補語を表すかどうかを決定することが可能である。その語レベルトークンが終端ノードである場合(178)、コンピューティングデバイス2は、図5で説明されるようにトークンラティス110において辺を作成することが可能であり、ここにおいて、その辺は、その終端ノードによって示される字連鎖(たとえば、候補文字ストリング)に対応する(182)。コンピューティングデバイス2が、図5で説明されるように、グラフィカルキーボードの複数のキーのうちの次の選択されるキーが第2の語レベルトークンの接頭辞であることを示す次の語トークンを生成することが可能である(184)。候補文字ストリングをトークンラティス110にコピーし、次の語トークンを生成した後、または語レベルトークンが終端ノードではない場合(180)、コンピューティングデバイス2は、その語レベルトークンを破棄することが可能である(186)。
【０１４３】
コンピューティングデバイス2が、アクティブなビームの中に残っている語レベルトークンが存在するかどうかを決定することが可能である(188)。アクティブなビームの中に残っている語レベルトークンが存在する場合(190)、コンピューティングデバイス2は、アクティブなビームから新たな語レベルトークンを選択することが可能である(158)。アクティブなビームの中に残っている語レベルトークンが存在しない場合(192)、コンピューティングデバイス2は、次のビームの中に残っている語レベルトークンが残っているかどうかを決定する(194)。次のビームの中に残っている語レベルトークンが存在する場合(196)、コンピューティングデバイス2は、次のビームをアクティブなビームにコピーして(198)、アクティブなビームから新たな語レベルトークンを選択することが可能である(158)。次のビームの中に残っている語レベルトークンが存在しない場合(200)、コンピューティングデバイス2は、一部の例において、ユーザ入力の次の指示、たとえば、タッチイベントを決定する(202)。
【０１４４】
図7は、本開示の1つまたは複数の態様による、第1の言語のアルファベットに含まれる文字を選択するユーザ入力に少なくとも部分的に基づいて、第2の言語の1つまたは複数の文字および/または語を決定するコンピューティングデバイスの例示的な動作を示す流れ図である。単に例示の目的で、これらの例示的な動作は、図1および図2に示されるコンピューティングデバイス2との絡みにおいて以下に説明される。
【０１４５】
コンピューティングデバイス2が、複数のキーを備えるグラフィカルキーボードを最初に表示のために出力することが可能である(220)。たとえば、コンピューティングデバイス2は、プレゼンスセンシティブディスプレイ4において表示されるようにQWERTキーボードを出力することが可能である。コンピューティングデバイス2が、プレゼンスセンシティブディスプレイにおいて検出されるジェスチャの指示を受け取ることが可能である(222)。たとえば、コンピューティングデバイス2は、タップ入力、連続的なジェスチャ、および/またはタップ入力と連続的なジェスチャの組合せを受け取ることが可能である。このようにして、ユーザが、スワイプすることとタップすることの両方を混ぜることも可能であり、したがって、ユーザは、候補文字ストリング(たとえば、ピンインストリング)の一部分においてスワイプする連続的なジェスチャを実行し、その候補文字ストリングの残りの部分をタップすることが可能である。
【０１４６】
そのジェスチャの指示を受け取ることに応答して、コンピューティングデバイス2が、そのジェスチャの指示に基づいて、1つまたは複数の候補文字ストリングのグループを決定することが可能である(224)。たとえば、コンピューティングデバイス2が、文字ラティス100のようなラティス上で1つまたは複数のタップ入力をモデル化することが可能である。コンピューティングデバイス2は、図4で説明される文字ラティスから1つまたは複数の候補文字ストリングを決定して、トークンラティス110において辺を作成することが可能である。一部の例において、コンピューティングデバイス2は、図5〜図6Bで説明されるように、語彙集トライに基づいて1つまたは複数の候補文字ストリングを決定することが可能である。たとえば、図5〜図6Bで説明されるように、コンピューティングデバイス2は、1つまたは複数の候補文字ストリングを決定し、それらの文字ストリングをトークンラティス110においてモデル化することが可能である。
【０１４７】
一部の例において、コンピューティングデバイス2は、1つまたは複数の候補文字ストリングのグループに関する確率を決定することが可能である(226)。たとえば、コンピューティングデバイス2は、それらの候補文字ストリングのうちの1つまたは複数に関する空間的モデル確率を決定することが可能である。図4〜図6Bで説明されるように、コンピューティングデバイス2は、候補文字ストリングに関する空間的モデル確率を、グラフィカルキーボードの1つまたは複数のキーに対応するその候補文字ストリングの中の1つまたは複数の文字に関するそれぞれの空間的モデル確率に基づいて、決定することが可能である。
【０１４８】
一部の例において、コンピューティングデバイス2が、その1つまたは複数の候補文字ストリングをトークンラティス110においてモデル化することが可能である(228)。たとえば、コンピューティングデバイス2は、候補文字ストリング、およびその候補文字ストリングに対応する空間的モデル確率を、トークンラティス110における辺に関連付けることが可能である。コンピューティングデバイス2は、トークンラティス110の候補文字ストリングのうちの1つまたは複数を、語ラティス120においてさらにモデル化することが可能である(230)。一部の例において、コンピューティングデバイス2は、トークンラティス110を走査して、最高の確率を有するパスを決定することが可能である。コンピューティングデバイス2は、トークンラティス110からの複数の候補文字ストリングを連結して、それらの文字ストリングの連結を語ラティス120の辺に関連付けることが可能である。
【０１４９】
コンピューティングデバイス2は、辺重みとして辺に関連付けられ得る、その連結に関連する確率を決定することが可能である。次いで、コンピューティングデバイス2は、候補文字ストリングの連結がある言語における1つまたは複数の語に対応するかどうかを決定することが可能である。たとえば、語ラティス120におけるある辺に関連付けられた、より高い確率が、ユーザがその辺に関連付けられた語を入力することを意図していた、より高い尤度を示すことが可能である。このため、一部の例において、コンピューティングデバイス2は、語ラティスにおける語に関連付けられた確率がしきい値を満たすかどうかを決定することが可能である(232)。たとえば、その確率がしきい値を満たす場合(236)(たとえば、その確率がしきい値より大きい場合)、コンピューティングデバイス2は、その少なくとも1つの語を表示のために出力することが可能である(238)。その確率がしきい値を満たさない場合、コンピューティングデバイス2は、その少なくとも1つの語を表示のために出力しないことが可能である(234)。一部の例において、コンピューティングデバイス2は、図7の技法をインクリメンタルに実行することが可能であり、コンピューティングデバイス2は、ユーザ入力の指示を決定する。つまり、各タップ入力および/またはジェスチャ入力の各部分に関して、コンピューティングデバイス2は、文字ラティスを使用して、表示のために出力すべき語をインクリメンタルに決定することが可能である。
【０１５０】
図8は、本開示の1つまたは複数の態様による、第1の言語のアルファベットに含まれる文字を選択するユーザ入力に少なくとも部分的に基づいて、第2の言語の1つまたは複数の文字および/または語を決定するコンピューティングデバイスの例示的な動作を示す流れ図である。単に例示の目的で、これらの例示的な動作は、図1および図2に示されるコンピューティングデバイス2との絡みにおいて以下に説明される。
【０１５１】
コンピューティングデバイス2が、複数のキーを備えるグラフィカルキーボードを最初に表示のために出力することが可能である(260)。一部の例において、複数のキーのうちの少なくとも1つが、第1の言語の第1のアルファベットに含まれる1つまたは複数の記号に関連付けられる。プレゼンスセンシティブディスプレイ4(プレゼンスセンシティブ入力デバイスを含み得る)において検出される少なくとも1つのジェスチャの指示を受け取ることに応答して、コンピューティングデバイス2は、第1のラティスにおいて、第1のアルファベットの記号を各々が含む複数の文字ストリングをモデル化することが可能である(262)。一部の例において、第1のラティスは、その複数の文字ストリングの各文字ストリングの空間的確率を示し、ここで、空間的確率は、その少なくとも1つのジェスチャの指示に少なくとも部分的に基づく。
【０１５２】
コンピューティングデバイス2は、一部の例において、その複数の文字ストリングのうちの少なくとも1つに関して、複数の文字ストリングの空間確率に少なくとも部分的に基づいて第2の言語の1つまたは複数の語の確率を示す第2のラティスを使用して、その複数の文字ストリングのうちのその少なくとも1つが、第2の言語に含まれる少なくとも1つの語に対応する確率を決定することが可能である(264)。一部の例において、その少なくとも1つの語は、第2の言語に対応する第2のアルファベットの1つまたは複数の記号によって表される。一部の例において、コンピューティングデバイス2は、その少なくとも1つの確率がしきい値を満たすと決定することに応答して、その少なくとも1つの語を表すその1つまたは複数の記号を表示のために出力することが可能である(266)。
【０１５３】
一例において、この方法は、コンピューティングデバイスによる、複数の候補文字ストリングのうちの候補文字ストリングに含まれる文字のグループを決定するステップ、コンピューティングデバイスによる、その候補文字ストリングに含まれる文字に対応するキーの空間的モデル確率を決定するステップ、コンピューティングデバイスによる、その候補文字ストリングに含まれる文字に対応するキーの空間的モデル確率に少なくとも部分的に基づいて、その候補文字ストリングの集合的空間的モデル確率を決定するステップ、およびコンピューティングデバイスによる、第1のラティスにおいて辺を生成するステップであって、ここにおいて、その候補文字ストリング、およびその文字ストリングの集合的空間的モデル確率は、その辺に関連付けられるステップを含み得る。
【０１５４】
一例において、この方法は、コンピューティングデバイスによる、タップ入力の位置に近接したグラフィカルキーボードのキーの空間的モデル確率を決定するステップと、コンピューティングデバイスによる、第3のラティスにおいて、タップ入力の位置に近接したグラフィカルキーボードのキーに各々が対応する辺を生成するステップと、コンピューティングデバイスによる、それらの辺、タップ入力の位置に近接したグラフィカルキーボードの文字、およびそれらのキーのそれぞれの空間的モデル確率に、タップ入力の位置に近接したグラフィカルキーボードを関連付けるステップと、コンピューティングデバイスによる、第3のラティスにおいて複数の辺を決定するステップと、コンピューティングデバイスによる、候補文字ストリングに関連付けられた第1のラティスにおける辺を生成するステップであって、ここにおいて、候補文字ストリングは、第3のラティスにおける複数の辺に少なくとも部分的に基づいて生成されるステップとを含み得る。
【０１５５】
一例において、この方法は、コンピューティングデバイスによる、第1の候補文字ストリングの第1の空間的モデル確率が、しきい値を満たすと決定するステップであって、ここにおいて、第1の候補文字ストリングは、第1のラティスの第1の辺に対応し、ここにおいて、第1の辺は、第1の頂点から始まり、第2の頂点で終わるステップと、コンピューティングデバイスによる、第2の候補文字ストリングの第2の空間的モデル確率がしきい値を満たすと決定するステップであって、ここにおいて、第2の候補文字ストリングは、第1のラティスの第2の辺に対応し、ここにおいて、第2の辺は、第1の頂点から始まり、第3の頂点で終わるステップと、コンピューティングデバイスによる、第1の空間的モデル確率および第2の空間的モデル確率に少なくとも部分的に基づいて、第2の言語に含まれる少なくとも1つの語の確率を示す第2のラティスにおける第3の辺を生成するステップとを含み得る。
【０１５６】
一例において、この方法は、コンピューティングデバイスによる、第1の候補文字ストリングと第2の候補文字ストリングとを連結して、第3の候補文字ストリングを生成するステップと、コンピューティングデバイスによる、第3の候補文字ストリングを第2のラティスにおける第3の辺に関連付けるステップと、コンピューティングデバイスによる、第2の言語における語を所与として、第3の候補文字ストリングの確率を決定するステップとを含み得る。
【０１５７】
一例において、この方法は、コンピューティングデバイスによる、少なくとも1つのジェスチャの指示を受け取ることに応答して、キーのグループに少なくとも部分的に基づいて候補文字ストリングを決定するステップであって、ここにおいて、決定するステップは、コンピューティングデバイスによる、ジェスチャが進む整列ポイントのグループを決定するステップを備えるステップと、コンピューティングデバイスによる、その複数のキーのうちの少なくとも2つのキーの各々に関して、それぞれの費用値を決定するステップであって、ここにおいて、そのそれぞれの費用値の各々は、整列ポイントのグループの整列ポイントがその複数のキーのうちのキーを示す確率を表すステップと、キーの組合せの費用値がしきい値を満たすと決定することに応答して、コンピューティングデバイスによる、候補文字ストリングを第1のラティスの辺に関連付けるステップであって、ここにおいて、その文字ストリングは、キーの組合せに関連付けられた文字を含むステップとを含み得る。
【０１５８】
一例において、この方法は、コンピューティングデバイスによる、プレゼンスセンシティブ入力デバイスにおいて検出される少なくとも1つのジェスチャの指示を受け取ることに応答して、複数の文字を決定するステップと、コンピューティングデバイスによる、その複数の文字の間で少なくとも1つの境界を決定するステップであって、ここにおいて、その少なくとも1つの境界は、第1の候補文字ストリングに対応する複数の文字における第1のグループの文字、および第2の候補文字ストリングに対応する複数の文字における第2のグループの文字を示すステップと、コンピューティングデバイスによる、第1のラティスにおいて、第1の候補文字ストリングに関連付けられた第1の辺を生成するステップであって、ここにおいて、第1の辺は、第1の頂点から始まり、第2の頂点で終わるステップと、コンピューティングデバイスによる、第1のラティスにおいて、第2の候補文字ストリングに関連付けられた第2の辺を生成するステップであって、ここにおいて、第2の辺は、第2の頂点から始まり、第3の頂点で終わるステップと、コンピューティングデバイスによる、第2の言語における語を所与として、第1の候補文字ストリングおよび第2の候補文字ストリングの確率を決定するステップとを含み得る。
【０１５９】
図9は、本開示の技法による、コンピューティングデバイスが、第1の言語におけるアルファベットの文字を選択するユーザ入力の指示に基づいて生成して、第2の言語の語を決定するのに使用することが可能なラティスを示す概念図である。図9は、図4で前述した文字ラティス100、トークンラティス110、および語ラティス120を示す。さらに、図9は、重に対応する漢字Z1、中に対応する漢字Z2、活に対応する漢字Hを示す。また、図9は、中国に対応する中国語の語ZGも示す。単に例としての図9に示されるように、語ラティス120は、辺(対応するノード281から延びる破線の垂直線で示されるノード境界285の間の双方向矢印の辺によって示される)の、図4に示されるのとは異なる組合せを含む。ビルダモジュール50が、図4で説明される技法により、図9における辺をモデル化することが可能である。
【０１６０】
図9は、復号モジュール52によって決定され得るビタビパス280および282も示す。たとえば、復号モジュール52は、語ラティス120の辺を探索して、最高の重みを有するパス(1つまたは複数の辺から集合的に構成される)を見出すことが可能である。一例として、復号モジュール52が、語ラティス120を探索している際、ビタビパス280を決定することが可能である。ビタビパス280は、ZG(すなわち、中国)という中国語の語に関連付けられた語ラティス120の辺302に対応することが可能である。復号モジュール52が、ZG(すなわち、中国)という中国語の語が中国語において出現する頻度または確率に対応し得る確率P(ZG)を決定することが可能である。復号モジュール52が、ビタビパス280における確率P('zhong','guo'|ZG)をさらに決定することが可能である。P('zhong','guo'|ZG)は、ZGという中国語の語を所与とした「zhong」、「guo」という候補文字ストリングの確率を示し得る。最後に、ビタビパス280は、トークンラティス110における「zhong」および「guo」に対応する辺のそれぞれの空間的モデル確率に対応し得るPspatial('zhong')Pspatial('guo')を含み得る。復号モジュール52が、
P(ZG)P('zhong','guo'|ZG)Pspatial('zhong')Pspatial('guo')
に関する確率の積に基づいて、辺302に関する総計重みを決定することが可能である。
【０１６１】
復号モジュール52は、語ラティス120における任意の数の辺に関してビタビパスを決定することが可能である。たとえば、図9に示されるとおり、復号モジュール52が、語ラティス120における辺304および306に関するビタビパス282を決定することも可能である。復号モジュール52が、Z1(すなわち、重)という漢字が中国語において出現する頻度または確率に対応し得る確率P(Z1)を決定することが可能である。確率P(Z1)は、unigram確率と呼ばれ得る。復号モジュール52が、ビタビパス282における確率P(H|Z1)をさらに決定することが可能である。確率P(H|Z1)は、Z1という文字の出現を所与としたHという文字の確率に対応し得る。その場合、確率P(H|Z1)は、bigram確率に対応し得る。復号モジュール52は、辺304に対応する確率P('zhong'|Z1)を決定することも可能である。確率P('zhong'|Z1)は、Z1という漢字を所与とした「zhong」という候補文字ストリングの確率を表し得る。同様に、復号モジュール52は、辺306に対応する確率P('huo'|H)を決定することも可能である。確率P('huo'|H)は、Hという漢字を所与とした「huo」という候補文字ストリングの確率を表し得る。復号モジュール52が、トークンラティス110における対応する辺から決定された辺304および306の空間的モデルスコアに対応するPspatial('zhong')Pspatial('guo')を決定することが可能である。復号モジュール52が、
P(Z1)P(H|Z1)P('zhong'|Z1)P('huo'|H)Pspatial('zhong')Pspatial('huo')
に関する確率の積に基づいて、辺304および306を含むパスに関する総計重みを決定することが可能である。
最後に、式283が、一部の例において、復号モジュール52が、空間的モデルスコアおよび言語モデルスコアに基づいて、最高の確率を有する語ラティス120における辺を検索することが可能であることを示す。たとえば、P(t)が、第2の言語における文字、語、または複数語の句の確率に対応することが可能であり、P(s'|t)が、第2の言語における文字、語、または複数語の句を所与とした1つまたは複数の候補文字ストリングの確率に対応することが可能であり、P(s|s')が、1つまたは複数の候補文字ストリングの空間的モデル確率に対応することが可能である。
【０１６２】
図9は、ユーザインターフェース(UI)要素284をさらに示す。一部の例において、復号モジュール52は、プレゼンスセンシティブディスプレイ4にUI要素284を出力させるUIモジュール6にデータを送信することが可能である。UI要素284は、本開示の技法に基づいて決定される第2の言語の文字、語、および/または複数語の句を提示することが可能である。たとえば、最初に、ユーザが、「zhong」を入力するユーザ入力の1つまたは複数の指示を与えることが可能である。本開示の技法に基づいて、復号モジュール52が、「zhong」に対応する語ラティス120の辺304を決定することが可能である。復号モジュール52は、辺304に関連付けられたスコアが、しきい値を満たすグループの最高のスコアのうちの1つであると決定することが可能であり、したがって、プレゼンスセンシティブディスプレイ4に辺304に対応する「中」という文字288を出力させるUIモジュール6にデータを送る。復号モジュール52が、辺302に関連付けられたスコアが、しきい値を満たす最高のスコアのグループに含まれるとさらに決定することが可能であり、したがって、284で示されるとおり、「中国」を出力する。
【０１６３】
一部の例において、ユーザは、たとえば、「中」という文字288を出力するプレゼンスセンシティブディスプレイ4画面の位置で、ジェスチャをすることによって、「中」という文字288を選択するユーザ入力の指示を与えることが可能である。そのジェスチャの指示を決定することに応答して、UIモジュール6が、プレゼンスセンシティブディスプレイ4に、プレゼンスセンシティブディスプレイ4によって前に表示されていた「zhong」の代わりに、「中」という文字209を出力させることが可能である。また、復号モジュール52が、「中」という文字288を選択するジェスチャの指示を決定すると、辺304および辺306を含む語ラティス120におけるパスのような、「zhong」に関連付けられた辺を含む語ラティス120における1つまたは複数のパスを決定することも可能である。また、復号モジュール52は、辺308および310を決定することも可能である。ユーザ入力の指示は「zhong」を選択したので、復号モジュール52は、「zhong」を含むパスにおける辺に関連付けられた候補文字ストリングを決定することが可能である。たとえば、復号モジュール52は、「zhong」に関連付けられた辺304および308にさらに対応する、辺306および310にそれぞれ対応する「guo」という候補文字ストリングおよび「huo」という候補文字ストリングを出力することが可能である。コンピューティングデバイス294は、候補文字ストリング300を選択するためにユーザ入力の後続の指示を受け取ることが可能である。図9に示されるように、復号モジュール52が、「zhongguo」に関連付けられた辺が、語ラティス120において最高の重みを有していた可能性があり、したがって、最も確率の高い語として出力していた可能性があるので、プレゼンスセンシティブディスプレイ4に「guo」を前に出力させていた可能性がある。しかし、ユーザは、「huo」に対応する候補文字ストリング300を選択したので、UIモジュール6が、プレゼンスセンシティブディスプレイ4に、「huo」に対応する「活」という文字を出力させて、UI要素284において表示されるように「中guo」が「中活」で置き換えられるようにすることが可能である。このようにして、ユーザが、ユーザ入力の指示をインクリメンタルに与えるにつれ、ユーザは、語ラティス120および復号モジュール52に基づいて決定された、UI要素284において表示された所望される文字、語、または複数語の句を選択することが可能である。
【０１６４】
1つまたは複数の例において、説明される機能は、ハードウェア、ソフトウェア、ファームウェア、または以上の任意の組合せとして実装され得る。ソフトウェアとして実装される場合、それらの機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体に記憶されて、またはコンピュータ可読媒体を介して伝送されて、ハードウェアベースの処理装置によって実行されることが可能である。コンピュータ可読媒体は、データ記憶媒体などの有形の媒体に対応するコンピュータ可読記憶媒体、または、たとえば、通信プロトコルにより、1つの場所から別の場所にコンピュータプログラムを転送することを円滑にする任意の媒体を含む通信媒体を含むことが可能である。このようにして、コンピュータ可読媒体は、一般に、(1)非一時的である有形のコンピュータ可読記憶媒体、または(2)信号もしくは搬送波のような通信媒体に対応することが可能である。データ記憶媒体は、1つまたは複数のコンピュータ、あるいは1つまたは複数のプロセッサによってアクセスされて、本開示で説明される技法を実施するための命令、コード、および/またはデータ構造が取り出されることが可能な任意の利用可能な媒体であり得る。コンピュータプログラム製品は、コンピュータ可読媒体を含み得る。
【０１６５】
例として、限定としてではなく、そのようなコンピュータ可読記憶媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気ストレージデバイス、フラッシュメモリ、または命令もしくはデータ構造の形態で所望されるプログラムコードを記憶するのに使用されることが可能であり、コンピュータによってアクセスされ得る他の任意の媒体を備えることが可能である。また、任意の接続が、コンピュータ可読媒体と適切に呼ばれる。たとえば、命令が、同軸ケーブル、光ファイバケーブル、より対線、デジタル加入者線(DSL)、または赤外線、電波、マイクロ波のようなワイヤレス技術を使用してウェブサイト、サーバ、または他の遠隔ソースから伝送される場合、その同軸ケーブル、光ファイバケーブル、より対線、DSL、または赤外線、電波、マイクロ波のようなワイヤレス技術が、媒体の定義に含められる。しかし、コンピュータ可読記憶媒体およびデータ記憶媒体は、接続、搬送波、信号、または他の一時的媒体を含まず、代わりに、非一時的な有形の記憶媒体を対象とすることを理解されたい。使用されるディスク(disk)およびディスク(disc)には、コンパクトディスク(CD)(disc)、レーザディスク(disc)、光ディスク(disc)、デジタルバーサタイルディスク(DVD)(disc)、フロッピー（登録商標）ディスク(disk)、およびブルーレイディスク(disc)が含まれ、ここで、ディスク(disk)は、通常、データを磁気的に再現するのに対して、ディスク(disc)は、レーザを用いてデータを光学的に再現する。また、以上の媒体の組合せも、コンピュータ可読媒体の範囲に含められなければならない。
【０１６６】
命令は、1つまたは複数のデジタルシグナルプロセッサ(DSP)、汎用マイクロプロセッサ、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、または他の均等の集積論理回路もしくはディスクリートの論理回路のような1つまたは複数のプロセッサによって実行され得る。したがって、使用される「プロセッサ」という用語は、前述の構造のうちのいずれか、または説明される技法を実施するのに適した任意の他の構造を指すのに使用され得る。さらに、一部の態様において、説明される機能は、専用のハードウェアモジュールおよび/またはソフトウェアモジュールの内部で提供されてもよい。また、これらの技法は、完全に1つまたは複数の回路または論理要素において実施されることも可能である。
【０１６７】
本開示の技法は、ワイヤレスハンドセット、処理回路(IC)、またはセットのIC(たとえば、チップセット)を含む、多種多様なデバイスまたは装置において実施され得る。様々な構成要素、モジュール、またはユニットが、開示される技法を実行するように構成されたデバイスの機能上の態様を強調するように説明されるが、異なるハードウェアユニットによって実現されることを必ずしも要求しない。むしろ、前述したように、様々なユニットは、ハードウェアユニットにおいて組み合わされること、または適切なソフトウェアおよび/またはファームウェアと連携して、前述したような1つまたは複数のプロセッサを含む相互運用ハードウェアユニットの集まりによって提供されることが可能である。
【０１６８】
実施形態に依存して、本明細書で説明される方法のうちのいずれかの方法の一部の動作またはイベントが、異なる順序で実行されることが可能であり、追加されること、マージされること、または完全に除外される(たとえば、説明されるすべての動作またはイベントが、方法の実施のために必要であるとは限らない)ことが可能であることを認識されたい。さらに、一部の実施形態において、動作またはイベントが、たとえば、マルチスレッド処理、割込み処理、または複数のプロセッサを介して、順次にではなく、同時に実行されることが可能である。
【０１６９】
様々な例が説明されてきた。これら、およびその他の例は、添付の特許請求の範囲に含まれる。
【符号の説明】
【０１７０】
2  コンピューティングデバイス
4、64、84、88、92  プレゼンスセンシティブディスプレイ
6  UIモジュール
8  キーボードモジュール
10  空間的モデル
12  言語モジュール/言語モデル
14、140  ユーザインターフェース
16A  編集領域
16B、142B  グラフィカルキーボード
16C  語領域
18A、18B  示唆される語領域
20A〜20I  入力位置/タップ位置
22A、22B  文字
40  プロセッサ
42  入力デバイス
44  通信ユニット
46  出力デバイス
48  入力ルックアップモジュール/ストレージデバイス
50  ビルダモジュール/通信チャネル
52  復号モジュール
54  ラティス
56  アクティブなビーム
58  次のビーム
60  コンピューティングデバイス
62A、62B  通信チャネル
66  ディスプレイデバイス
68  プレゼンスセンシティブ入力デバイス
70  通信ユニット
72A、72B、72C、72D  ネットワークリンク
74  外部ネットワーク
76A、76B、76C、76D  通信リンク
78  直接デバイス通信
80  プロジェクタ
82  プロジェクタスクリーン
86  モバイルデバイス
90  ビジュアルディスプレイデバイス
100  文字ラティス
102A〜102C  頂点
104A〜104D  辺
110  トークンラティス
112A〜112C  頂点
114A〜114c  辺
120  語ラティス
122A〜122C  頂点
124A〜124E  辺
130  言語モデル
146  ジェスチャパス
148A〜148H  整列ポイント
150  言語モデル
280、282  ビタビパス
281  ノード
283  式
284  UI要素
285  ノード境界
288  文字
302、304、306、310  辺
【図１】
2016509456.tif 000010
【図２】
2016509456.tif 000011
【図３】
2016509456.tif 000012
【図４】
2016509456.tif 000013
【図５】
2016509456.tif 000014
【図６Ａ】
2016509456.tif 000015
【図６Ｂ】
2016509456.tif 000016
【図７】
2016509456.tif 000017
【図８】
2016509456.tif 000018
【図９】
2016509456.tif 000019
【国際調査報告】
2016509456.tif 000020
2016509456.tif 000021