特許第6492238号(P6492238)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ タッチタイプ リミテッドの特許一覧

<>
  • 特許6492238-ユーザ入力予測 図000033
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6492238
(24)【登録日】2019年3月15日
(45)【発行日】2019年4月3日
(54)【発明の名称】ユーザ入力予測
(51)【国際特許分類】
   G06F 3/023 20060101AFI20190325BHJP
   G06F 3/048 20130101ALI20190325BHJP
   G06F 3/0488 20130101ALI20190325BHJP
【FI】
   G06F3/023 460
   G06F3/023 470
   G06F3/048
   G06F3/0488 160
【請求項の数】21
【全頁数】20
(21)【出願番号】特願2014-510874(P2014-510874)
(86)(22)【出願日】2012年5月8日
(65)【公表番号】特表2014-517602(P2014-517602A)
(43)【公表日】2014年7月17日
(86)【国際出願番号】GB2012051006
(87)【国際公開番号】WO2012156686
(87)【国際公開日】20121122
【審査請求日】2015年4月21日
【審判番号】不服2017-17596(P2017-17596/J1)
【審判請求日】2017年11月28日
(31)【優先権主張番号】1108200.5
(32)【優先日】2011年5月16日
(33)【優先権主張国】GB
(73)【特許権者】
【識別番号】319002706
【氏名又は名称】タッチタイプ リミテッド
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(74)【代理人】
【識別番号】100108213
【弁理士】
【氏名又は名称】阿部 豊隆
(72)【発明者】
【氏名】メドロック ベンジャミン
(72)【発明者】
【氏名】オア ダグラス アレクサンダー ハーパー
【合議体】
【審判長】 千葉 輝久
【審判官】 ▲吉▼田 耕一
【審判官】 松田 岳士
(56)【参考文献】
【文献】 国際公開第2010/035574(WO,A1)
【文献】 特表2009−522697(JP,A)
【文献】 米国特許出願公開第2011/0099506(US,A1)
【文献】 米国特許出願公開第2011/0074704(US,A1)
【文献】 米国特許出願公開第2010/0235780(US,A1)
【文献】 米国特許出願公開第2004/0136564(US,A1)
【文献】 特開平11−143486(JP,A)
【文献】 特開平11−272386(JP,A)
【文献】 国際公開第2009/069392(WO,A1)
【文献】 ひだか たかひろ,SL−C700シリーズ Linuxザウルス環境改善計画,Mobile PRESS,日本,(株)技術評論社,2003年10月 1日,第3巻 第4号,pp.61−63
(58)【調査した分野】(Int.Cl.,DB名)
G06F 3/023
G06F 3/048
G06F 3/0488
H03M 11/04
(57)【特許請求の範囲】
【請求項1】
ディスプレイと、
プロセッサと、
1つまたは複数のプロセッサによって実行されると、当該1つまたは複数のプロセッサを、
前記ディスプレイに複数のターゲットを出力することであって、前記複数のターゲットのそれぞれは選択可能な情報項目を表す、ことと、
前記ディスプレイ上の前記複数のターゲットのうちの少なくとも1つのターゲットの選択に関連するユーザ入力イベントを受信することであって、前記ユーザ入力イベントは前記ディスプレイ上の位置に対応する、ことと、
前記ユーザ入力イベントに応じて前記複数のターゲットのうち最も確率の高いn個のターゲットを生成することであって、前記最も確率の高いn個のターゲットは複数のモデルを用いて生成され、前記最も確率の高いn個のターゲットは前記ユーザ入力イベントを受信した前記ディスプレイ上の位置に隣接し、前記複数のモデルのそれぞれは、前記複数のターゲットのうちの前記ユーザ入力イベントを受信した前記ディスプレイ上の位置に隣接した所与の1つと関連付けられ、かつ、ユーザが前記複数のターゲットのうちの当該所与の1つを選択しようとしていたときの前記複数のターゲットのうちの当該所与の1つに対応する、以前のユーザ入力イベントの位置をモデル化し、モデルの選択は、複数のサンプルにわたってデータ尤度を評価することによって実行される、ことと
を行うように構成する命令を格納するメモリと
を備えるシステム。
【請求項2】
前記命令は、前記1つまたは複数のプロセッサによって実行されると、当該プロセッサを、
前記n個のターゲットのそれぞれに対して前記ユーザ入力イベントが当該ターゲットの選択に対応する確率を前記複数のモデルを使用して生成するように構成する、請求項1に記載のシステム。
【請求項3】
前記ディスプレイは、仮想キーボードであり、前記ユーザ入力イベントは、前記仮想キーボード上の位置に対応する、請求項1に記載のシステム。
【請求項4】
各モデルは、前記複数のターゲットのうちの前記所与の1つに対応する前記ユーザの以前の入力イベントの位置をモデル化した分布である、請求項1に記載のシステム。
【請求項5】
前記1つまたは複数のプロセッサによって実行されると、当該プロセッサを、
前記n個のターゲットの各々を、関連する確率値を有する1又はそれ以上のワードフラグメントにマッピングするように構成する命令をさらに備える、請求項2に記載のシステム。
【請求項6】
各ワードフラグメントに、該ワードフラグメントが対応する前記ターゲットが前記1つまたは複数のプロセッサによってタグ付けされる、請求項5に記載のシステム。
【請求項7】
前記1つまたは複数のプロセッサによって実行されると、当該プロセッサを、
前記ワードフラグメント及びその関連する確率に基づいて、確率値を有するテキスト予測を生成するように構成された命令をさらに備える、請求項5に記載のシステム。
【請求項8】
テキスト予測の選択時に、前記1つまたは複数のプロセッサによって、当該テキスト予測のうちの少なくとも1つのターゲットを、対応する入力イベントと一致させる、請求項7に記載のシステム。
【請求項9】
前記テキスト予測の前記ターゲットは、前記ワードフラグメントを対応するターゲットに逆マッピングし、かつ、前記対応するターゲットと前記対応する入力イベントとをペアにすることによって、対応する入力イベントと一致される、請求項8に記載のシステム。
【請求項10】
前記テキスト予測の選択は、前記テキスト予測の選択、又は最も確率の高い予測の前記1つまたは複数のプロセッサによる自動選択を含む、請求項8に記載のシステム。
【請求項11】
前記命令は、前記1つまたは複数のプロセッサによって実行されると、当該プロセッサを、
あるモデルに対応する前記ターゲットへの入力イベントのマッピングを反映すべく前記モデルを更新するように構成する、請求項9に記載のシステム。
【請求項12】
1つまたは複数のプロセッサを用いて、ディスプレイに複数のターゲットを出力することであって、前記複数のターゲットのそれぞれは選択可能な情報項目を表す、ことと、
前記ディスプレイ上の前記複数のターゲットのうちの少なくとも1つのターゲットの選択に関連するユーザ入力イベントを受信することであって、前記ユーザ入力イベントは前記ディスプレイ上の位置に対応する、ことと、
前記1つまたは複数のプロセッサを用いて、前記ユーザ入力イベントに応じて前記複数のターゲットのうち最も確率の高いn個のターゲットを生成することであって、前記n個のターゲットは複数のモデルを用いて生成され、前記n個のターゲットは前記ユーザ入力イベントを受信した前記ディスプレイ上の位置に隣接し、前記複数のモデルのそれぞれは、前記複数のターゲットのうちの前記ユーザ入力イベントを受信した前記ディスプレイ上の位置に隣接した所与の1つと関連付けられ、かつ、ユーザが前記複数のターゲットのうちの当該所与の1つを選択しようとしていたときの前記複数のターゲットのうちの当該所与の1つに対応する、以前のユーザ入力イベントの位置をモデル化し、モデルの選択は、複数のサンプルにわたってデータ尤度を評価することによって実行される、こととを含む、方法。
【請求項13】
前記1つまたは複数のプロセッサと前記複数のモデルとを用いて、前記n個のターゲットのそれぞれに対して前記ユーザ入力イベントが当該ターゲットの選択に対応する確率を生成することをさらに含む、請求項12に記載の方法。
【請求項14】
前記1つまたは複数のプロセッサを用いて、前記n個のターゲットの各々を、関連する確率値を有する1又はそれ以上のワードフラグメントにマッピングすることをさらに含む、請求項13に記載の方法。
【請求項15】
前記1つまたは複数のプロセッサを用いて、前記1つまたはそれ以上のワードフラグメント及びその関連する確率から、確率値を有するテキスト予測を生成することをさらに含む、請求項14に記載の方法。
【請求項16】
テキスト予測の選択を受信することと、
前記1つまたは複数のプロセッサを用いて、前記テキスト予測のうちの少なくとも1つのターゲットを、対応する入力イベントと一致させることと
をさらに含む、請求項15に記載の方法。
【請求項17】
前記入力イベントが所与のターゲットと一致した時に、前記1つまたは複数のプロセッサを用いて、前記所与のターゲットに関連付けられた前記モデルを更新することをさらに含む、請求項16に記載の方法。
【請求項18】
デバイスによって実行され、前記デバイス上のタッチスクリーンインタフェースを動作するためのプログラムステップを実行する、命令のプログラムを格納するコンピュータ読み取り可能な記憶媒体であって、前記プログラムステップは、
前記タッチスクリーンインタフェースに複数のターゲットを表示するステップであって、前記複数のターゲットのそれぞれは選択可能な情報項目を表す、ステップと、
前記タッチスクリーンインタフェース上のタッチ位置に対応するユーザ入力イベントを受信するステップであって、前記ユーザ入力イベントは前記タッチスクリーンインタフェース上の位置に対応する、ステップと、
前記ユーザ入力イベントに応じて前記複数のターゲットのうち最も確率の高いn個のターゲットを生成するステップであって、前記n個のターゲットは複数のモデルを用いて生成され、前記n個のターゲットは前記ユーザ入力イベントを受信した前記ディスプレイ上の位置に隣接し、前記複数のモデルのそれぞれは、前記複数のターゲットのうちの前記ユーザ入力イベントを受信した前記ディスプレイ上の位置に隣接した所与の1つと関連付けられ、かつ、ユーザが前記複数のターゲットのうちの当該所与の1つを選択しようとしていたときの前記複数のターゲットのうちの当該所与の1つに対応する、以前のユーザ入力イベントの位置をモデル化し、モデルの選択は、複数のサンプルにわたってデータ尤度を評価することによって実行される、ステップと
を含む、コンピュータ読み取り可能な記憶媒体。
【請求項19】
前記複数のモデルを用いて、前記n個のターゲットのそれぞれに対して前記ユーザ入力イベントが当該ターゲットの選択に対応する確率を生成する、プログラムステップをさらに含む、請求項18に記載のコンピュータ読み取り可能な記憶媒体。
【請求項20】
前記最も確率の高いn個のターゲット及びその関連する確率から、テキスト予測を生成する、プログラムステップをさらに含む、請求項19に記載のコンピュータ読み取り可能な記憶媒体。
【請求項21】
前記タッチスクリーンインタフェースに1つまたは複数のワード予測を前記確率の高いターゲットに基づいて出力するステップと、
前記1つまたは複数のワード予測から1つのワード予測の選択を受信するステップと、
前記テキスト予測のうちの少なくとも1つのターゲットを、対応する入力イベントと一致させるステップと、
前記少なくとも1つの対応する入力イベントに一致した少なくとも1つの前記ターゲットに関連付けられた少なくとも1つの前記モデルを更新するステップと
のプログラムステップをさらに含む、請求項20に記載のコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、一般にユーザインターフェイスを備えたデータ入力システムに関する。具体的には、このユーザインターフェイスは、複数のターゲットを含みユーザ入力を受け取るように構成される。本発明は、システムのユーザインターフェイスのターゲットをモデル化する方法、及びユーザインターフェイスのターゲットをそのようにモデル化したシステムにデータを入力する方法を提供する。
【背景技術】
【0002】
これまで、サイズが限られたキーボードとのユーザインタラクションを強化する取り組みでは、所与の言語の全ての文字範囲をカバーしていない縮小サイズキーボードに基づく方法が多く提供されてきた。この方法は、米国特許第6307549号の主題であり、この特許には、(通常は1つのキーにつき約3文字の)縮小キーボードからの出力の曖昧性を除去する方法が記載されている。現在の入力に一致する可能性のあるものをユーザが順に切り換えられるようにする選択ボタンを使用して、単語レベルの曖昧性除去が行われる。一般的なQWERTYレイアウトに基づく別の縮小キーボードレイアウトには、やはり入力後のさらなる曖昧性除去を使用する、米国特許第7083342号に記載される「ハーフqwerty」レイアウトがある。
【0003】
縮小キーボードでは、エラー率は低いものの、入力の量子化も大ざっぱになり、すなわちコンピュータが縮小キーボードから受け取る入力における情報コンテンツは、フルキーボードからのものよりも少ない。
【0004】
理論的には、適切なエラー訂正システムを使用した場合、エラー訂正を含むフルキーボードでは、曖昧性除去のキーストロークが縮小キーボードよりも少なくて済むはずである。ハードキーボードでは、入力イベントは、ユーザがキーボードのキーを押下することに関連する。このようなキーボードでは、ユーザがキーの境界内のあらゆる位置を押下する可能性があり、対応する入力イベントは、この境界内の全ての位置で同じものになる。しかしながら、タッチセンサ式の「ソフトキーボード」では、ソフトキーボード上のタッチによるほとんど連続する座標を使用することが可能である。
【0005】
例えば、米国特許出願公開第2009/0284471号及びそれ以前のものなどの多くの既存の仮想キーボードシステムは、ユーザが意図したものでない文字をシステムが受け取った場合にユーザ入力を自動的に「訂正」する機構を内蔵する。このようなシステムは、各々がデカルト座標の組によって示される事前に指定された位置の組を、ユーザの入力に利用可能な文字に関連付けるという発想に基づくものである。ある入力イベントを表す一連の座標を所与とすれば、このイベントと、それを取り囲む事前に指定した「オートコレクト領域」内の位置との間の距離を使用して、このイベントに割り当てられる重み付けした文字の組が構築される。このオートコレクト領域は、複数のアルファベット文字を含む。入力中、意図した文字列である可能性が高いと思われる「オブジェクト」の組がユーザに示される。ユーザが自身の意図する入力シーケンスを選択すると、入力イベント座標と文字座標の間の(場合によっては重み付けした)水平及び垂直オフセットが計算され、関連する移動平均(moving average)を使用して、ユーザのタイピング様式を反映するように入力イベント座標が較正される。この移動平均は、各キーの座標をそのキーに関する全ての以前の入力イベントの平均に設定した移動平均(running average)とすることができる。
【0006】
上述した既存の仮想キーボードは、各文字を座標の組によって示される位置としてモデル化する。対照的に、本発明のシステム及び方法は、ユーザが仮想キーボード上の文字をターゲットにした時のユーザの実際の入力をモデル化する。従って、本発明のシステム及び方法は、所与の文字に関するユーザの入力履歴をモデル化する。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】米国特許第6307549号明細書
【特許文献2】米国特許第7083342号明細書
【特許文献3】米国特許出願公開第2009/0284471号明細書
【特許文献4】国際特許出願公開第2010/112841号
【特許文献5】国際特許出願PCT/GB2010/001898号
【発明の概要】
【課題を解決するための手段】
【0008】
本発明のシステム及び方法は、ユーザに適合してユーザのテキスト入力様式を学習するシステムを提供する。このシステムは、ユーザのシステムとの対話履歴をモデル化することにより、入力イベントを所与としてユーザがどの文字を入力するつもりであったかをより正確に予測することができる。従って、本発明は、より正確かつ信頼性の高いテキスト予測を行い、従って電子装置へのより正確なテキスト入力を行うことができるシステムを提供する。精度が向上すれば訂正も減り、従ってシステムによるテキスト入力が効率的になるとともに、処理要件も低くなる。
【0009】
1つの実施形態では、本発明は、複数のターゲットを含みユーザ入力を受け取るように構成されたユーザインターフェイスを備えたデータ入力システムを提供する。このシステムは複数のモデルを含み、各モデルは、あるターゲットに対応する以前のユーザ入力イベントをこのターゲットに関連付ける。システムは、ユーザ入力イベントが特定のターゲットに対応する確率を複数のモデルに関連して生成するように構成された入力確率生成器をさらに備える。
【0010】
ターゲットは、1又はそれ以上の文字、キー、符号、又はユーザ選択のための他のいずれかの情報項目を表すことができる。
【0011】
ユーザインターフェイスは、仮想キーボードであることが好ましい。入力イベントは、この仮想キーボード上の位置に対応することができ、各モデルは、特定のターゲットに対応するユーザの以前の入力イベントの位置をモデル化した分布である。この分布は、2Dガウスとすることができる。この2Dガウスのパラメータは、ターゲットに対応する入力イベントに基づいて最大事後確率推定法を用いて学習されることが好ましい。モデルパラメータの事前分布の形は、共役事前分布であることが好ましい。ターゲットが仮想キーボード上のキーである場合、キーボードレイアウトに基づいて各ターゲットの事前分布を経験的に設定することができる。
【0012】
仮想キーボードは、複数のターゲットモデルセットを含むことができ、各ターゲットモデルセットは、異なるユーザ又は使用シナリオに合わせられる。
【0013】
入力確率生成器は、あるユーザ入力イベントに関して最も確率の高いn個のターゲット及びその関連する確率を複数のモデルに関連して出力することができる。
【0014】
システムは、n個のターゲットの各々を、関連する確率値を有する1又はそれ以上のワードフラグメントにマッピングするマップを含むことができる。各ワードフラグメントには、マップ内で対応するターゲットをタグ付けすることが好ましい。
【0015】
システムは、最も確率の高いn個のターゲット及びその関連する確率を受け取って、確率値を有するテキスト予測を生成するように構成された予測器をさらに備えることができる。この予測器は、ワードフラグメント及びその関連する確率を受け取って、確率値を有するテキスト予測を生成するように構成することができる。
【0016】
予測の選択時には、予測の(単複の)ターゲットを対応する(単複の)入力イベントと一致させる。予測のターゲットは、予測のワードフラグメントをこれらの対応するターゲットにタグ付けすることにより、対応する入力イベントと一致させることができる。或いは、予測のターゲットは、ワードフラグメントをこれらの対応するターゲットに逆マッピングし、これらのターゲットを入力イベントとペアにすることにより、対応する入力イベントと一致させることができる。
【0017】
予測の選択は、ユーザによる予測の選択、又は最も確率の高い予測の自動選択を含むことができる。選択された予測は、データ入力システムにテキストとして入力されることが好ましい。
【0018】
システムは、あるモデルに対応するターゲットへの入力イベントのマッピングを反映するようにこのモデルを更新するよう構成されたモデル更新器を備えることもできる。
【0019】
電子装置は、上述したようなデータ入力システムを備えることができる。電子装置は、コンピュータ、PDA又は携帯電話機とすることができる。
【0020】
第2の実施形態では、本発明は、複数のターゲットを含み入力を受け取るように構成されたユーザインターフェイスのターゲットをモデル化する方法を提供し、この方法は、各ターゲットに関し、このターゲットに対応するユーザ入力イベントをモデル化するステップを含む。
【0021】
ユーザインターフェイスは仮想キーボードであり、入力イベントは、仮想キーボード上の位置に対応し、方法は、ターゲットに対応するユーザの以前の入力イベントの位置を記述する分布として各ターゲットをモデル化するステップをさらに含むことができる。分布は、2Dガウスとすることができる。各モデルは、分布に対して共役とすることができる事前分布も含まなければならない。2Dガウスのパラメータは、ターゲットに対応する入力イベントに基づいて最大事後確率推定法を用いて学習されることが好ましい。ターゲットは仮想キーボード上のキーであり、各ターゲットの事前分布は、キーボードレイアウトに基づいて経験的に設定される。
【0022】
第3の実施形態では、複数のターゲットを有し入力を受け取るように構成されたユーザインターフェイスを備えたシステムにデータを入力する方法を提供し、この方法は、入力確率生成器を用いて、あるターゲットに対応する以前の入力イベントをそのターゲットに各々が関連付ける複数のモデルに関連して、ユーザ入力イベントが特定のターゲットに対応する確率を生成するステップを含む。
【0023】
この方法は、ユーザ入力イベントに関して、最も確率の高いn個のターゲット及びその関連する確率を入力確率生成器から出力するステップを含むことが好ましい。この方法は、マップを用いて、n個のターゲットの各々を、関連する確率値を有する1又はそれ以上のワードフラグメントにマッピングするステップを含むこともできる。この方法は、マップを用いて、1又はそれ以上のワードフラグメントの各々にマッピング元のターゲットをタグ付けするステップを含むことが好ましい。
【0024】
この方法は、最も確率の高いn個のターゲット及びその関連する確率を受け取るように構成された予測器を用いて、確率値を有するテキスト予測を生成するステップを含むことができる。この方法は、ワードフラグメント及びその関連する確率を受け取るように構成された予測器を用いて、確率値を有するテキスト予測を生成するステップを含むことが好ましい。この方法は、テキスト予測を選択するステップと、予測器を用いて、テキスト予測の(単複の)ターゲットを対応する(単複の)入力イベントと一致させるステップとを含むことができる。テキスト予測の(単複の)ターゲットを対応する(単複の)入力イベントと一致させるステップは、ワードフラグメントにタグ付けされたターゲットを入力イベントとペアにするステップを含むことができる。或いは、テキスト予測(単複の)ターゲットを対応する(単複の)入力イベントと一致させるステップは、ワードフラグメントをそのターゲットに逆マッピングするステップと、ターゲットを入力イベントとペアにするステップとを含むことができる。
【0025】
この方法は、入力イベントがターゲットと一致した時に、モデル更新器を用いてモデルを更新するステップをさらに含むことができる。
【0026】
以下、添付図面を参照しながら本発明を詳細に説明する。
【図面の簡単な説明】
【0027】
図1】本発明によるシステムアーキテクチャの概略図である。
【発明を実施するための形態】
【0028】
本発明は、仮想キーボード上におけるユーザインタラクションのモデル化方法を学習する機械を利用するシステム及び方法を提供する。このシステムの3つの主な動作は、予測器と連動した評価、推論及び学習であり、システムは、これらの動作を反復適用することに関連して構築される。本発明のシステムは、例えば、PDA、携帯電話機又はコンピュータなどの電子装置に組み込むことができる。
【0029】
ここで図1を参照しながらシステムの要素について説明する。
【0030】
本発明のシステムは、複数のターゲットを含みユーザ入力を受け取るように構成されたユーザインターフェイスを提供する。図1に示す例では、ユーザインターフェイスが、ソフトスクリーン上のキーボードなどの仮想キーボード1を含む。システムは、ユーザ入力を入力イベント10又は選択イベント20のいずれかとして解釈するように構成される。入力イベント10とは、仮想キーボード1により検出されデカルト座標として表現される、ユーザが(「タッチ」又は「クリック」などにより)仮想キーボード上の2D空間内における位置を選択するイベントのことである。選択イベント20とは、ユーザに表示された一連の予測からユーザが予測18を選択することである。仮想キーボード1は、入力イベント10と選択イベント20を区別するために、入力イベント領域及び選択イベント領域を有することができる。しかしながら、ユーザ入力を選択又は入力イベントとして解釈する方法は他にも存在し、例えば、選択イベント20は、(例えば画面のタッチに対応できる)入力イベント10とは異なる(画面を横切るスワイプなどの)キーボード上のジェスチャーに対応することもできる。
【0031】
入力イベント10は、デカルト座標によって表されることに限定されず、最後のキー押下からの時間、キー押下の圧力、ジェスチャー情報(ソフトスクリーンキーボード上をタッチすることによってなぞられる経路)、加速度計の測定値などのその他の変数によって表すこともできる。
【0032】
ソフトキーボードの場合、選択イベント20は、ユーザがキーボード上の予測を表示した範囲をタッチ/クリックしてシステムに予測を入力することにより、意図する予測を選択することに関連する。選択イベント20は、ユーザが「スペース」を「押して」語句を完成させた時の、システムによる最も確率の高い予測の自動選択に関連することもできる。ユーザが予測を選択する機構は他にも存在し、例えば、画面を横切る右スワイプなどのソフトキーボード上のジェスチャーなどが、最も確率の高い予測を挿入するための機構となり得る。選択された予測20は、ユーザが入力イベント10を通じて入力しようとしていた文字列に対応する。従って、以下でより詳細に説明するように、選択イベント20を入力することにより、ユーザにより入力された入力イベント10をその意図するターゲットと一致させることができる。
【0033】
仮想キーボード1の唯一の要件は、意図する入力に対応する、ユーザにとって明確な「ターゲットポイント」が存在することである。ターゲットポイントは、以下に限定されるわけではないが、文字キー(すなわち、通常のqwertyキーボードのようなグリッド状の仮想又は物理キー)、目に見えるキー境界が無いグリッドなどの文字グリフの配列、又は線形の文字ラインA〜Zとすることができる。従って、仮想キーボード1の各ターゲットは、単一の又は複数の文字、或いはユーザ選択のための他のいずれかの情報項目を表すことができる。以下の例では、システムへのテキスト入力に焦点を当てる。しかしながら、本システム及び方法はテキストの入力に限定されるものではなく、非テキストデータの入力にも適用可能であり、この場合、ユーザインターフェイス上のターゲットポイントによりデータの量子が表される。
【0034】
システムは、ユーザに提示する予測を生成するために、複数のターゲットの各々に関するユーザの以前の入力イベントをモデル化した複数のモデル6と、所与の入力イベント10について複数のモデル6に問い合わせ、1又はそれ以上の可能性のあるターゲット及びその確率を生成する入力確率生成器2と、可能性のあるターゲット及びその確率からテキスト予測18を生成する予測器4とを含む。好ましい例では、システムが、予測器4がテキスト予測を生成するために使用するワードフラグメントに可能性のあるターゲットをマッピングしたワードフラグメントマップ3をさらに含む。
【0035】
入力確率生成器2は、入力イベント10を受け取って、ターゲットシーケンス意図構造(Target Sequence Intention Structure)12を生成又は更新する。ターゲットシーケンス意図構造12は、1又はそれ以上のターゲットと、各ターゲットに関してユーザが入力イベント10を通じてそのターゲットを選択しようとしていた確率を含む。ターゲットシーケンス意図構造12は、例えば、ターゲットに入力イベント10をタグ付けすることによる、入力イベント10と、この入力イベント10に対応するターゲットとの間の対応関係を含む。ターゲットシーケンス意図構造12は、システムのターゲットを全て含むことも、或いは関連する確率が一定の閾値確率値よりも高いターゲットのみを含むこともできる。この閾値はシステムパラメータであり、経験的に(10−4などの)所定のレベルに設定することができる。或いは、ユーザによる試行によって閾値レベルを決定することもできる。以下でより詳細に説明するように、入力確率生成器2は、ターゲットの入力イベント10が観察される確率を生成するために、入力イベント10についてモデルセット6に問い合わせ、各ターゲットに関してイベント毎の確率ベクトルとして表現できる確率値を評価する。計算量を削減するために、細かな値はイベント毎の確率ベクトルからフィルタ除去することができる。これらのイベント毎の確率ベクトルを連結してターゲットシーケンス意図構造14を形成し、これが次の段階であるターゲットマッピング3への入力を形成する。
【0036】
モデルセット6は、システムの(文字とすることができる)複数のターゲットを表す複数の訓練モデルを含む。ターゲットは、ユーザがこのターゲットを「目的」としていた場合のユーザの実際の入力をモデル化した分布としてモデル化される。入力イベントの位置ベクトルをxとし、単一のターゲットを識別するラベルをcとした場合、モデル化される分布は、p(x|c)となる(ターゲットは、考えられる意図された文字の組を識別する)。
【0037】
好ましい実施形態では、この分布が、(全ての仮定及びパラメータを含む)仮定モデルをMとし、ガウス確率密度関数、xで評価された平均μ、共分散Σの省略表現をG(x;μ,Σ)とした場合、多変量ガウスp(x|c,M)=G(x;μ,Σ)としてモデル化される。モデルパラメータは、各ターゲットcに関してμ及びΣである。モデルパラメータは、キーボードとの対話履歴に基づいて最大事後確率(MAP)推定を用いて学習される。しかしながら、その他の学習機構を使用することもでき、後程これらのいくつかについて説明する。
【0038】
ユーザの入力は、2Dガウスを使用するのではなく、ユーザの入力イベントのx及びy座標をラプラス分布で個別に分布させることによりモデル化することができる。或いは、ユーザ入力をガンマ分布でモデル化することもできる。ラプラス分布及びガンマ分布は裾が重く、(タッチ位置などの)入力イベントがターゲットから離れるにつれて、確率密度の減衰がガウスのものよりも緩やかになるので、ガウス分布よりも適していると考えられる。このような裾の重い分布は、ユーザの実際の記述様式をより正確に反映することができ、従ってエラー訂正性能が潜在的に良好になる。その他の好適なモデル化技術を適用することもできる。
【0039】
μ,ΣのMAP推定を取得するには、これらのパラメータの事前分布を指定しなければならない。ターゲットが仮想キーボード上のキーに関連する場合、キーボードレイアウトに基づいて事前分布(平均及び共分散)を経験的に設定することができ、このための便利な選択肢として、未知の平均及び共分散によるガウスの共役事前分布であるという理由で正規逆ウィシャート分布、NIWDが挙げられる。その他の事前分布を使用することもでき、後程そのいくつかについて説明する。共役事前分布の定義では、事前分布が尤度と共役である場合、事後分布が(潜在的には異なるパラメータで)事前分布と同じ分布形態を取る。従って、共役分布(事前分布及び事後分布の両方)のパラメータは(モデルの実際のパラメータの分布をパラメータ化するので)ハイパーパラメータと呼ばれ、MAP学習を比較的単純なハイパーパラメータ再計算にすることができる。
【0040】
従って、ある実施形態では、学習が、容易に増分するアルゴリズムである4つのNIWDパラメータの再計算を伴う。従って、事前分布は以下のようになる。
そして事後分布は以下のようになる。
式中、α及びβは、それぞれ平均及び共分散のための自由度ハイパーパラメータであり(自由度値が大きければ、事前分布が強く、学習が緩慢であることを意味する)、
は、それぞれ平均及び共分散のモード値である。
は、t回の観察後の{xi=1..tのハイパーパラメータαの事後値であり、従って
となる。
【0041】
NIWD分布のための既知のハイパーパラメータ更新関係を解くと、このパラメータ化の一般的更新ルールは以下のようになる。



この場合、

この場合、平均
によりn回の観察{xi=1..nが存在する。全ての観察を用いて事前分布に適用すると、バッチ学習アルゴリズムが得られる。n=1を設定し、事後分布に更新式を再適用することにより、増分的学習アルゴリズムを形成することができ、すなわち
となる。
【0042】
NIWDのモードは
であるため、t回の観察後のパラメータのMAP推定は、単純に

となる。
【0043】
NIWDは、多変量ガウスの共役であり、単純かつ増分的な学習ルールを提供するので便利である。別の方法として、一様な(無益な)事前分布を使用することも可能である。位置及び共分散が独立している場合には事前分布を指定することができ、例えば、位置の事前分布をガウス又は一様とし、共分散の事前分布を「最大正規分布」とすることができる。
【0044】
本例では、事前分布からの1回の更新により、及び同時に1回の観察を追加することによりそれぞれ事後分布を計算するバッチモード学習アルゴリズム及び増分的学習アルゴリズムを使用する。これらの学習アルゴリズムの一方は、ユーザが、入力イベントの位置と選択された予測を構成する文字の位置とを一致させることによって予測を「選択した」時に機能する。
【0045】
ガウス分布の代わりにラプラス/ガンマ分布を選択した場合、ガウスの場合と同じ処理に従い、すなわち(例えば共役事前分布などの)事前分布を選択して、MAP学習目標のための学習ルールを導出する。
【0046】
MAPの代案としては、事前分布を使用せずモデル下のトレーニングデータの観察尤度が最大化されるようにパラメータを選択する最尤法(ML)推定が学習機構の別の選択肢となる。さらなる可能性としては、推論決定に使用する事後分布及び平均値又は中央値の全ての可能な値の積分値を計算する真のベイズ推定量を使用することが考えられる(ML法やMAP法は、いずれも点推定を行うので真にベイズではない)。これらの推定法は、計算に比較的コストがかかるという不利点があり、従って現在では、制限のあるリソース環境にとって魅力は低い。ベイズ推定量の例には、変分ベイズ及びギブスサンプリングがある。
【0047】
上述した学習アルゴリズムは、各データポイントを新しい又は古いに関わらず等しく考慮した学習アルゴリズムであり、一定数のデータポイントが観察されると、事前分布は(意図的に)圧倒される。モデルに新近性の基本形を加えるために、及び事前分布を継続的に強化することにより何らかの異常値許容範囲を加えるために、以下の2つの変更を行うことができる。
【0048】
第1の変更は、自由度パラメータα、βを単純に制限することであり、古い観察を「忘れて」、モデルがどれほど「リジッド」になるかを制限するという効果がある(「リジッド」モデルは、新たなデータポイントの効果がほとんどないような高い自由度値を有する)。この制限は、これらのパラメータが限界(他のハイパーパラメータ更新の動作を侵害すべきでない動作)を超えた場合にこれらを更新しないことにより適用される。
【0049】
第2の変更は、他の事前ハイパーパラメータ
及び
を更新方程式に再び投入して、多くのデータポイントが観察された後でもこれらのパラメータが効果を与え続けるようにすることである。この変更は、更新方程式が単純に少量の加重平均であるという理由で比較的簡単に行うことができ、従って以下のように何らかの量の事前分布を「加える」ことが妥当である。



【0050】
追加パラメータαcmax、βcmax、δ及びεは、必要に応じて経験的に設定することができる。これらのパラメータは、事前分布の「漸近強度」、及び過去の観察を忘れる度合いを制御する。
【0051】
単一の仮想キーボード1は、例えば異なるユーザが単一のシステムを使用できる場合、又は仮想キーボードのフォームファクタが可変である場合、複数の別個のターゲットモデルセット6を保持する必要があり得る。(フォームファクタの変更などの)場合によっては、システムは、異なる入力モデルを明示的に選択するための十分な情報を有することができるが、複数ユーザの場合には、適切なモデル選択が明らかでないこともある。この状況では、モデル選択の要素が支援を行うことができる。
【0052】
モデル選択を行うための健全な方法は、数多くのサンプルにわたってデータ尤度を評価することである。これは以下のように行うことができ、データ尤度は以下のように表現することができる。
式中、L(D|M)は、モデルM下でデータDを観察する尤度である。これは以下のように記述することができる。

ターゲットにわたる事前分布p(c|M)が一様であると仮定される場合、これを抽出して定数に入れることができる。
【0053】
この対数尤度統計は、入力確率生成器において一度に複数のモデルに問い合わせを行い、全てのターゲットにわたる出力を合計し、いくつかの「シード入力」の計算した対数尤度が最も高いモデルを選択することにより計算することができる。
【0054】
これまでに提示したモデルは、シーケンス内の各キー押下が他の全てのキー押下とは無関係であるという明らかに適確でない前提を組み込んでいた(特定のキーの入力分布は、恐らくは最後に入力された文字に非常に強く依存する)。最後の文字が入力されたことを所与とした場合に現在の文字入力が全ての以前の文字とは条件付きで無関係であるという一次マルコフの前提の方が適切であると考えられる。従って、入力シーケンス全体の確率は以下のようになる。
式中の全ての項は、上述した通りである。次に、重要なモデル化の決定は、タッチ位置の条件付き確率の形
を仮定することである。分布の1つの選択肢は、最初に以前のタッチ位置xを、各ターゲットに関して別個のガウス及び以前の入力位置のクラスで分類することである。別の考えられる選択肢は、移動した距離
を用いてターゲット毎の入力分布の変化を制御することである。この分布の形は、仮想キーボードユーザから収集した典型的なデータをモデル化するように選択すべきである。
【0055】
モデルセット6は、i)入力確率生成器2により問い合わせを行ってモデルパラメータの現在のMAP推定値を戻し、ii)選択イベントに応答してモデルを更新するために入力モデル更新器5によりトレーニングすることができる。
【0056】
モデルパラメータは、キー毎に記憶することも、又は(共分散の場合には)複数のキー間で共有することもできる。説明する例では、各キー/ターゲットが位置及び共分散値を有する。別の方法は、各キーに位置は与えるものの共分散を共有させ、キーのいずれかがトレーニングされる時に同じ共分散がトレーニングされるようにすることである。パラメータの正確な表現は柔軟であり、例えば共分散よりもむしろ精度マトリクスを記憶したほうが、確率生成中にはマトリクス反転が必要にならずモデルトレーニングの頻度が低い場合に反転が必要になるので都合が良いことがある。
【0057】
従って、入力確率生成器2は、入力イベント10を所与として、ユーザが入力イベント10によってこのターゲットを選択しようとしていた確率p(x|c,M)を各ターゲットcに関して生成する。入力確率生成器2は、所与のターゲットの確率値を生成するために、このターゲットのモデルに問い合わせを行ってモデルパラメータμ、Σの現在のMAP推定値を戻す。次に、入力確率生成器2は、これらのモデルパラメータを用いて、入力位置xにおいて評価されるガウス確率密度関数G(x;μ,Σ)の値を計算する。計算された確率値は、イベント毎の確率ベクトルとして表すことができ、これらを連結してターゲットシーケンス意図構造14を形成することができる。
【0058】
好ましい実施形態では、システムが、ターゲットマッピング段3をさらに含む。ターゲットマッピング段3は、ターゲット入力から予測の構築に使用できるワードフラグメント(通常は1又は2文字)へのマッピングを示すワードフラグメントマップを含む。このマッピングは、ターゲットシーケンス意図構造12を入力シーケンス意図構造(Input Sequence Intention Structure)16に変換するために、ターゲットシーケンス意図構造12内の各要素に個別に適用される。ワードフラグメントマップは、ターゲット(キーボード上の位置、キーの抽象化)から1又はそれ以上のワードフラグメント(ユーザが入力したいと思う単語の一部)へのマッピングを保持する。最も単純なケース(例えば、フルqwertyキーボード上で英語をタイピングする場合)では、各ターゲットが単一のワードフラグメントを参照する。各キーに別の文字が関連している場合(例えば、フランス語のアクセント付き文字、又は各キーが複数の文字を表す場合)、これらの文字を追加のワードフラグメントとして加えることができる。別の各ワードフラグメントごとに、各ターゲットに対応する確率を何らかの係数だけさらに割り引くことができる。その後、考えられるワードフラグメントの組及びシーケンス内の各イベントの確率を組み立てて入力シーケンス意図構造16にする。
【0059】
また、ターゲットマッピング段3は、選択された予測20のワードフラグメントをこれらの対応するターゲットイベントに再マッピングする。好ましい実施形態では、ワードフラグメントの各々にこれらが由来するターゲットをタグ付けして、選択イベントの発生時に予測器4がターゲットをそのタッチ位置にペアリングできるようにする。これは、各ワードフラグメントにその対応するターゲット及び入力イベントをタグ付けすることにより行うことができる。従って、アンマップは、タッチ位置とターゲットの自明のペアリングである。しかしながら、システムは、ワードフラグメントにタグ付けを行う代わりに、他の機構を用いて、選択された予測20のワードフラグメントをこれらの対応するターゲットイベントに再マッピングすることもできる。例えば、別の実施形態では、ターゲットマッピング段3が、選択された予測のワードフラグメントをこれらの対応するターゲットに逆マッピングすることを含む。この逆マッピングを行うために、選択された予測20及び入力イベントの対応する文字列を分離機構に転送する。分離機構は、選択された予測20に関して最も確率の高いワードフラグメントの組み合わせを評価することにより、予測20をワードフラグメントに分離する。次に、ターゲットマッピング段3においてワードフラグメントをこれらのターゲットに逆マッピングし、入力イベントの文字列とペアにする。このような機構の最も単純な実装では、ワードフラグメントが単一の文字を含み、分離機構が、ターゲットに逆マッピングすべき単一の文字に予測を分離する。この状況では、予測器4により分離を行うことができる。
【0060】
システムは、テキスト(又は同様の)予測18を生成するために予測器4を含む。予測器4は、このケースでは一連の「ワードフラグメント」の組及び確率を含む入力シーケンス意図構造16を含む何らかの入力を所与として予測18の組を生成する装置である。各予測18は、テキスト文字列、すなわち(s_iによって示される)用語又は語句、及びp_iによって示される確率値から成る。従って、予測の組内にn個の予測が存在する場合、この組は、{(s_1, p_1), (s_2, p_2) ... (s_n, p_n)}の形を取る。
【0061】
当業者であれば理解できるように、テキスト予測システムでは、あらゆるタイプの予測器4及びあらゆる数の予測器4を使用してテキスト予測を生成することができる。予測器4は、ユーザが入力したテキストのコンテキストに基づいてテキスト予測18を生成し、すなわちコンテキストのn−1までの用語に基づいてn番目の用語のテキスト予測18を生成することが好ましい。ここで言う「コンテキスト」とは、シーケンス内の以前に現れた用語、及びシステムが有している現在の用語に関するあらゆる知識(例えば、この用語に寄与する可能性の高いワードフラグメント)の両方を意味する。システムは、特定のコンテキストを所与として、確率の推定を使用することにより、後続する可能性が最も高い単語を予測する。予測18は、多言語モデル及び単一言語モデル予測器により生成することができる。
【0062】
テキスト予測を生成する予測器(単一言語及び多言語モデル)の使用についての詳細な説明は、国際特許出願公開第2010/112841号、「電子装置にテキストを入力するためのシステム及び方法(System and method for inputting text into electronic devices)」に記載されており、この特許出願はその全体が引用により本明細書に組み入れられる。さらに、カテゴリ重み付けされたテキスト予測を生成する適応的予測器(単一言語及び多言語モデル)の使用についての詳細な説明は、国際特許出願PCT/GB2010/001898号、「電子装置にテキストを入力するためのシステム及び方法(System and method for inputting text into electronic devices)」に記載されており、この特許出願はその全体が引用により本明細書に組み入れられる。
【0063】
システムの予測器4は、一連の「ワードフラグメント」の組及び確率を含む入力シーケンス意図構造16を入力として受け取り、ユーザに表示する予測18の組を生成する。例えば、入力シーケンス意図構造がt及びoというワードフラグメントを含み、単語を(単語を完成させる)「to」又は(ワードフラグメントが単語の接頭辞である)「together」であると予測できるような場合、予測器4を、入力シーケンス意図構造16が単語全体を完成させる一致を戻すように、又は入力シーケンス意図構造16が接頭辞である可能性が高い単語を戻すように構成することができる。入力シーケンス意図構造16は、指針として使用できればよく、例えば、ユーザが何らかの文字を入力し損ねたかのように追加の文字を加え、或いはユーザが余計な文字を入力したかのように文字を無視することができる。入力シーケンス意図構造16を通じた単一の経路を各予測18によって識別し、入力イベントとターゲットの間に関連性を形成できるようにしなければならない。各ターゲットは、言語に応じて、ターゲットマッピング段3においてワードフラグメントマップにより一意の1又はそれ以上のワードフラグメントに既にマッピングされている。さらに、好ましい実施形態では、入力シーケンス意図構造16が、ワードフラグメントのターゲット及び入力イベントへのタグ付けを記憶する。従って、予測器4は、ワードフラグメントに対応するターゲットをタグ付けすることを通じて、予測の構築に使用したターゲットを追跡するので、予測の選択により、入力イベント10とターゲットの間の対応性がもたらされる。アンマッピングが逆マッピングを含む実施形態では、分離機構が、選択した予測20をワードフラグメントの組み合わせに分離し、ワードフラグメントマップを用いてワードフラグメントを対応するターゲットに逆マッピングする。その後、各ターゲットをそれぞれの入力イベント10とペアにする。
【0064】
システムは、入力モデル更新器5も含む。入力モデル更新器5は、選択イベント20に応答して入力イベントとターゲットの対応14を受け取る。選択イベント20は、ユーザが入力しようとしていたターゲットを識別し、従って予測器4によりターゲットを入力イベント10と一致できるようにする。入力モデル更新器5は、好ましくは(メモリ使用量及び効率性のために)学習アルゴリズムの増分変化を用いて適当なモデルを更新する。入力モデル更新器5は、仮想キーボード1上の各選択イベント20に応答して、複数のモデルに増分的学習更新ルールを適用する。入力は、ターゲットとペアにされた入力位置の組{(x,c)}i=1..kであり、これらの各々を単一のターゲットcに対し単一のトレーニングポイントxとして使用することができる。事前ハイパーパラメータ及び学習パラメータは全て固定値に設定され、これらにより初期ターゲット位置及び予想精度が設定されるとともに、学習を行う速度が制御される。各モデルは、単独で考慮することができる。これにより、トレーニングデータにラベル付けを行う必要性が生じ、すなわち入力イベントはターゲットラベルとの関連性を必要とする。ラベル付けは、入力イベント10及びターゲットのストリームであるデータでは行われず、従って選択イベント20から推測しなければならない。上述したように、入力イベント10をターゲットに関連付ける1つの方法は、入力シーケンス意図構造16内でワードフラグメントにこれらのターゲット及び入力イベント10をタグ付けすることである。予測が選択されると、予測を構成するワードフラグメントが分かる。従って、ワードフラグメントにタグ付けされたターゲットを入力イベントとペアにして、ラベル付けされたトレーニングデータを提供することができる。或いは、ターゲットマッピング段3において、選択された予測のターゲットにワードフラグメントを逆マッピングすることにより、これらのターゲットを求めることができる。その後、このようにして求めたターゲットを入力イベント10とペアにすることができる。
【0065】
従って、本発明は、入力イベントを所与としてユーザがどの文字を入力する予定であるかをより正確に予測し、従ってより正確なテキスト予測を行うことができるシステムを提供するために、複数のターゲットのユーザ入力イベントをモデル化してこれらのモデルをユーザ入力で更新するシステムを提供する。
【0066】
ここで、本システムの使用法について非限定的な例として説明する。ユーザは、入力を行うことにより、例えばタッチセンサ式キーボード1上のある位置にタッチすることにより、仮想キーボード1の連続座標系と相互作用する。ユーザは、キーボード1上に表示されたターゲットを入力する意図でキーボード1上の位置にタッチする。キーボード1は、(本例ではキーボード上のタッチの位置を表すデカルト座標である)入力イベント10のストリームを構築し、これが入力確率生成器2に転送される。
【0067】
入力確率生成器2は、ターゲットシーケンス意図構造12を生成又は更新する。キーボードのターゲットが文字を表す場合、ターゲットシーケンス意図構造12は、ユーザが画面にタッチした時に入力しようとしていた可能性が最も高い文字に対応する1又はそれ以上の文字を含む。文字の各々には、ユーザがその画面の位置にタッチした時にその文字を入力しようとしていた確率、及び入力イベント10へのタグが関連付けられる。入力確率生成器2は、ターゲットシーケンス意図構造12を生成するために、各文字の関連するモデルに入力イベント10について問い合わせることにより、ユーザが1又はそれ以上の文字の各々を入力しようとしていた確率を計算する。上述したように、各モデルは、この文字に関するユーザのキーボードとの対話履歴をモデル化し、すなわちこの文字に関するユーザの以前の入力イベントをモデル化したものである。従って、入力確率生成器2は、経験的に(10−4などの)所定のレベルに設定された、又はユーザによる試行により決定された閾値確率値を上回る関連する確率を有する文字を保持することが好ましい。
【0068】
ターゲットシーケンス意図構造12は、ターゲットシーケンス意図構造12の各文字を、関連する確率を有する1又はそれ以上のワードフラグメントにマッピングするワードフラグメントマップに転送され、これにより入力シーケンス意図構造16が生成される。これらの1又はそれ以上の文字の各文字は、1又はそれ以上のワードフラグメントに個別にマッピングされ、これらのワードフラグメントには、そのワードフラグメントが由来する文字がタグ付けされる。ワードフラグメントに関連する確率は、文字に関連する確率と同じである必要はない。例えば、マッピング時には、文字に関連する確率に、ワードフラグメントに依存する付加的係数を乗算することができる。ワードフラグメントマップは、システムのメモリに記憶された固定マップとすることができる。このマップは使用する言語によって異なり、例えば、選択した言語で句読点が異なり、アクセントを置く文字、ウムラウトなどが、システムの選択された言語に依存するワードフラグメントの特徴になることもある。
【0069】
ワードフラグメントマップは、ワードフラグメントにマッピングされたターゲットを含み、ワードフラグメントには、ワードフラグメントが由来するターゲットがタグ付けされることが好ましい。
【0070】
入力シーケンス意図構造16は、ワードフラグメント、及び一連の入力イベント10に対応する確率を含み、ワードフラグメントは、ワードフラグメントが由来する文字及び入力イベントにタグ付けされることが好ましい。予測器4は、各予測18に関して入力シーケンス意図構造16を通じた単一の経路を識別することにより、すなわちワードフラグメントを通過し、入力イベント10の各々に関して単一のワードフラグメントを含む予測シーケンスを生成することにより、入力シーケンス意図構造16からいくつかの予測18を生成する。入力シーケンス意図構造16を通じた単一の経路を識別することにより、入力イベント10とターゲットの間の関連性14を形成することができる。予測器は、入力シーケンス意図構造16を通じた最も確率の高い複数の経路を考慮し、任意にこの経路が接頭辞である全ての語句も考慮する。次に、これをn−gram言語モデルに投入して予測候補の順序付けを行う。この処理の実施は、国際特許出願公開第2010/112841号に記載されており、この特許出願はその全体が引用により本明細書に組み入れられる。
【0071】
仮想キーボード1は、予測器が生成した予測を表示するように構成することができる。正しい予測の選択20は、ユーザに表示された所与の予測のユーザ選択、又はシステムによる最も確率の高い予測の自動承認のいずれかによって行うことができる。予測器4は、入力シーケンス意図構造16を介してどのワードフラグメントが予測の構築に使用されるかを追跡し、ユーザ選択20時に入力イベント10をこれらのターゲットと一致14させるように構成される。入力シーケンス意図構造16が、ターゲットをタグ付けられたワードフラグメントを含む場合、予測器4は、ターゲットタグを追跡して、入力イベント10をこれらのターゲットと一致させることが入力イベント10をこれらのターゲットとペアにすることを含むようにするよう構成される。或いは、これらのターゲットを入力イベント10とペアにする前に、ターゲットマッピング段3における逆マッピングにより、最初にワードフラグメントをその対応するターゲットと一致させる。これらのターゲットとペアになった入力イベント10を入力モデル更新器5に転送し、これによりモデルセット6の関連するモデルが更新される。
【0072】
ここで、システムの機能を説明するために、ある例について考察する。この例では、ユーザが仮想キーボード1(qwertyレイアウト)上で「it’s」という単語を入力しようとしている。
【0073】
ユーザは、最初の文字である「i」に最も近い画面にタッチする。仮想キーボード1は、この位置を表す入力イベント10(デカルト座標など)を生成し、これを入力確率生成器2に送信する。
【0074】
入力確率生成器2は、ターゲットモデル6を全て評価し、これらのモデルがこの入力イベントに対応する可能性がどれほどであるかを計算する。入力確率生成器は、(経験的に又はユーザによる試行を通じて設定された)所定の閾値を上回る確率を有するターゲットのみを保持することにより、低確率のターゲットをフィルタ除去する。本例では、結果として得られるターゲットシーケンス意図構造12が、[(@I, 1.0),(@O,0.2),(@U, 0.2),(@K,0.15),(@J,0.1)]であり、この場合の@Iは、文字「i」に対応するターゲットである。
【0075】
ターゲットマッピング段3は、例えば、
のように、各ターゲットを複数の別のワードフラグメントに変換する。ターゲットマッピング段3は、ターゲットをワードフラグメントにマッピングし、各ワードフラグメントにその由来となるターゲットをタグ付けする。結果として得られる入力シーケンス意図構造16は、
となる。
【0076】
次に、予測器4は、この単語のコンテキスト及びいずれかの利用可能な単語のコンテキストを使用して、ユーザにフィードバックするための予測18を生成する。予測器4は、例えば、[“I”,“I’m”,“in”]と予測する可能性がある。
【0077】
次に、ユーザは、2番目の文字「t」からかなり遠く、実際には「r」のほうに近い第2のタッチイベントを行う。仮想キーボード1は、両方のタッチイベント10(「i」及び「t」)を入力確率生成器2に送信する。
【0078】
ここで、入力確率生成器2は、一連の確率ベクトル{[(@I,1.0),(@O,0.2),...],[(@R,0.8),(@T,0.6),(@E,0.1),...]}を生成する。
【0079】
ターゲットマッピング段3をシーケンス内の各イベントに個別に適用して、ワードフラグメントをこれらのターゲットにタグ付けし、
とする。
【0080】
予測器4は、予測18[“it”,“it’s”,“or”]を形成し、これらがユーザに表示される。これらの予測は、仮想キーボードによって表示することができる。ユーザは、予測「it’s」を選択する。仮想キーボード1は、選択イベント20を作成し、予測器は、2つのタッチイベント10を予測18のターゲットと一致させる。システムは、ワードフラグメントにこれらのターゲット及び入力イベントをタグ付けすることを通じて、各予測を構成するターゲット及び入力イベントのリストを追跡するので、アンマッピング段は、タッチ位置とターゲットの自明のペアリングである。
【0081】
予測器4は、ユーザが画面にタッチした位置をこれらのターゲットとペアにする(タッチ1→@I)、(タッチ2→@T)。次に、入力モデル更新器5が、(第1のタッチイベントが非常に正確であったという理由で)密接である可能性が高い@Iのモデル、及び(第2のタッチイベントがそれほど正確ではなかったという理由で)密接である可能性が低い@Tのモデルを更新する。
【0082】
上記の例は、単一の文字を表すターゲットに関する。しかしながら、ターゲットは、複数の文字を表すこともできる。ターゲットが、A/B/Cなどの複数の文字を表す場合、このターゲットのモデルは、ターゲットA/B/Cに対応するユーザ入力イベントをモデル化する。選択された予測18がA、B又はCを含む場合、ターゲットA/B/Cが入力イベントに再マッピングされる。
【0083】
本方法は、ユーザの仮想キーボードとの対話履歴をモデル化することにより、ユーザが画面にタッチした時に入力しようとしていた文字を正確に予測することができる。
【0084】
本説明は一例にすぎず、説明した実施形態には、特許請求の範囲に定義する本発明の範囲から逸脱することなく変更及び修正を加えることができると理解されたい。
【符号の説明】
【0085】
1 仮想キーボード
2 入力確率生成器
3 ターゲットマッピング段
4 予測器
5 入力モデル更新器
6 ターゲットモデルセット
10 入力イベント
12 ターゲットシーケンス意図構造
14 入力−ターゲットの対応
16 入力シーケンス意図構造
18 予測
20 選択イベント
図1