JP6169612B2 - テキスト入力のためのシステム及び方法 - Google Patents

テキスト入力のためのシステム及び方法 Download PDF

Info

Publication number
JP6169612B2
JP6169612B2 JP2014551669A JP2014551669A JP6169612B2 JP 6169612 B2 JP6169612 B2 JP 6169612B2 JP 2014551669 A JP2014551669 A JP 2014551669A JP 2014551669 A JP2014551669 A JP 2014551669A JP 6169612 B2 JP6169612 B2 JP 6169612B2
Authority
JP
Japan
Prior art keywords
gesture
prefix tree
features
word
feature
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014551669A
Other languages
English (en)
Other versions
JP2015503807A (ja
JP2015503807A5 (ja
Inventor
ベンジャミン メドロック
ベンジャミン メドロック
ジェイムズ アレイ
ジェイムズ アレイ
ダグラス アレクサンダー ハーパー オール
ダグラス アレクサンダー ハーパー オール
Original Assignee
タッチタイプ リミテッド
タッチタイプ リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by タッチタイプ リミテッド, タッチタイプ リミテッド filed Critical タッチタイプ リミテッド
Publication of JP2015503807A publication Critical patent/JP2015503807A/ja
Publication of JP2015503807A5 publication Critical patent/JP2015503807A5/ja
Application granted granted Critical
Publication of JP6169612B2 publication Critical patent/JP6169612B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04803Split screen, i.e. subdividing the display area or the window area into separate subareas

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、ジェスチャ感知式キーボードでのユーザのジェスチャから1又はそれ以上の用語を予測するためのシステム及び方法に関する。具体的には、ユーザによる単一の連続ジェスチャから1又はそれ以上の用語を予測することができる。
現在では、タッチセンサ式キーボード/画面でのユーザの「ストローク」に基づいて1つの単語を予測するシステムが存在する。
1つのこのようなシステムが、「連続ストロークによる単語に基づくテキスト入力システム及び方法(System and Method for Continuous Stroke Word−based text input)」という名称の米国特許第7,098,896号に開示されており、このシステムは、データベース内に蓄積された単語を含む。入力ストロークパターンから単語を予測する方法は、入力ストロークパターンをデータベース内の一連の単語と比較することを含む。この方法は、候補単語の終了文字を識別するために、ストロークパターンにおける「最終タッチポイント」を識別することを含む。この結果、入力ストロークパターンから識別された単語の最初と最後の文字に基づいて候補単語が予測される。入力されたストロークパターンの実際の経路長が、単語データベース内の各単語と共に記憶されている予想経路長と比較される。
「仮想キーボードレイアウトに基づいて単語パターンを認識するためのシステム及び方法(System and Method for Recognizing Word Patterns Based on a Virtual Keyboard Layout)」という名称の米国特許第7,251,367号には、連続ストロークから単語を予測するための別の方法が開示されている。この開示では、ストローク入力パターンが、ここでも1つの単語の境界内で、予め設定されたストロークパターンのライブラリと比較される。この技術は、完全に予め定義されたライブラリ、及び動的に生成されるライブラリの両方を用いて実証されている。
上述したものを含む既知のシステムは全て、単語を表すための入力ストロークをデータベース内の単語とマッチさせる課題を、入力ストロークパターンと、データベース内の個々の単語の開始文字及び終了文字に(近似的に)対応する規定の開始点及び終了点とに基づいて解決するという原理に基づく。
米国特許第7,098,896号明細書 米国特許第7,251,367号明細書 国際出願第GB2011/001419号 国際公開第2010/112841号
既知のシステム及び方法の問題点は、入力ストロークがデータベース内の単語の開始文字及び終了文字と一致することに制限され、ユーザが完全な1つの単語に対応するストロークを入力する必要があり、そのように制限される点である。
従って、既知のシステム及び方法は、例えばユーザが1回の連続ストロークで語句を入力しようとした場合、ある単語のプレフィックスに対応する入力ストローク、又は複数の単語に対応する入力ストロークに基づいて単語を予測することができない。
本発明の目的は、上述した問題点を解決することである。
本発明の第1の態様では、ジェスチャ感知式キーボードでの単一の連続ジェスチャから1又はそれ以上の用語を予測する方法を提供する。この方法は、ジェスチャ感知式キーボード上でジェスチャが実行されている時に、このジェスチャの位置を複数の時点でサンプリングするステップと、これらの複数のサンプルから、ユーザがジェスチャの実行時に入力しようとした可能性のある、ジェスチャ感知式キーボード上のターゲットに各々が関連する1又はそれ以上の特徴を生成し、これらの1又はそれ以上の特徴を含む用語プレフィックスツリーを生成し、この用語プレフィックスツリー内の、1又はそれ以上の特徴を与えられた1又はそれ以上の経路を発見することにより、複数のサンプルから1又はそれ以上の用語を予測するステップとを含む。
用語プレフィックスツリーはグラフによって表され、方法は、グラフ理論を用いてグラフを生成するステップを含むことが好ましい。
複数のサンプルから1又はそれ以上の特徴を生成するステップは、ユーザがジェスチャ感知式キーボードのターゲットを通過しようとした可能性のあるジェスチャ感知式キーボード上のジェスチャの位置を識別するステップを含むことが好ましい。特徴の位置は、ターゲットの最も近くを通ったジェスチャの位置であることが好ましい。ターゲットは、点ターゲット又は線ターゲットとすることができる。特徴は、ジェスチャ感知式キーボード上のターゲット毎に識別されることが好ましい。特徴とターゲットの間の最小距離が閾値距離を下回る場合にのみ特徴が保持されることが好ましい。
各特徴は、ジェスチャとターゲットの間の最小距離に対応する距離メトリックを含むことができる。
用語プレフィックスツリーは、1又はそれ以上の特徴を所与として許可される辞書プレフィックスツリーの用語を保持することにより生成されることが好ましい。辞書プレフィックスツリーの用語は、特徴がこの用語に対応しない場合でも保持することができる。
ジェスチャ感知式キーボードのターゲットは、アルファベット文字、及び任意にスペース及び/又は句読記号などの単語境界の区切り文字に対応することができる。用語プレフィックスツリーは、完成した単語の最後の文字を表す1又はそれ以上のノードを含むことができ、用語プレフィックスツリーを生成するステップは、この最後の文字に対応するノードが単語内に存在する場合、スペース文字に対応するノードをプレフィックスツリーに挿入するステップをさらに含むことができる。スペース文字に関連する特徴が識別されていない場合、このスペース文字に対応するノードに関連する確率が低下することが好ましい。用語プレフィックスツリーを生成するステップは、スペース文字に対応するノードにおいて、一連の1又はそれ以上の特徴内の残りの特徴を所与として許可される辞書プレフィックスツリーの用語を保持することにより生成される新たな用語プレフィックスツリーを生成するステップをさらに含むことができる。
方法は、用語プレフィックスツリーをプルーニングして、用語プレフィックスツリー内の、所与の経路の確率を最も可能性の高い経路の確率で割った比率が予め設定した閾値を下回る全ての経路を削除するステップをさらに含むことが好ましい。スペース文字を表すノードは、新たな用語プレフィックスツリーを文脈データに基づいてプルーニングするためにメタデータを含むことができる。
用語プレフィックスツリーを生成するステップは、1又はそれ以上の特徴を与えられた反復文字のための有効な経路がプレフィックスツリー内に存在する場合、この反復文字を含む辞書プレフィックスツリーの用語を保持することにより、所与の特徴が関連する文字の反復インスタンスを表せるようにするステップをさらに含むことができる。
1つの実施形態では、用語プレフィックスツリー内の1又はそれ以上の経路を発見するステップが、経路発見アルゴリズムを使用するステップを含む。経路発見アルゴリズムは、距離メトリックを用いて用語プレフィックスツリー内の各経路に関連する確率推定値を生成することができる。経路発見アルゴリズムは、対応するルートが閾値を上回る確率推定値を有する用語を1又はそれ以上の用語として戻すように構成されることが好ましい。
別の実施形態では、用語プレフィックスツリー内の1又はそれ以上の経路を発見するステップが、ジェスチャの最後の位置に対応する1又はそれ以上の特徴を識別するステップと、このジェスチャの最後の位置に対応する1又はそれ以上の特徴を表すいずれかのノードが用語プレフィックスツリーのリーフに対応する場合のみ、ノードに所与の経路の累積確率の指示を割り当てるステップとを含む。1又はそれ以上の経路は、これらの経路の累積確率順に順序付けることができ、累積確率が閾値を上回る、1又はそれ以上の用語に対応する(単複の)経路が戻される。
経路発見手段のいずれかの実施形態では、全ての現在利用可能なサンプルに基づいて1又はそれ以上の用語が予測される。方法は、単一の連続ストロークが行われてさらに多くのサンプルが生成されている時に、1又はそれ以上の用語の予測を定期的に更新するステップを含む。
1又はそれ以上の用語を予測するステップは、1又はそれ以上の単語を予測するステップを含むことができる。1又はそれ以上の単語は、ユーザがジェスチャ感知式キーボード上の1又はそれ以上の文字上で単語のプレフィックスを示すように意図されたジェスチャを行うことに対応する単一の連続ジェスチャに基づいて予測することができる。1又はそれ以上の単語を予測するステップは、ユーザがジェスチャ感知式キーボード上の複数の単語を表す文字上でジェスチャを行うことに対応する単一の連続ジェスチャに基づいて、一連の2又はそれ上の単語を含む語句を予測するステップを含むことができる。方法は、文脈情報を用いて1又はそれ以上の用語の予測を調整するステップを含むことが好ましい。
サンプリングは、予め設定した周波数で行われることが好ましい。このサンプリング周波数は、約60Hzとすることができる。
1又はそれ以上の用語の予測は、ジェスチャ感知式キーボードのトポグラフィをジェスチャの速度及び/又はジェスチャの曲線方向と組み合わせたものに基づくことが好ましい。プレフィックスツリー内の経路の確率は、2つの特徴と、この2つの特徴に関連するキーボードのターゲットとの間のジェスチャのトポグラフィに依存することができる。経路の確率は、2つのターゲット間の直線距離と、2つのターゲット間におけるジェスチャの曲線長との間の差分の単調減少関数に基づくことができる。経路の確率は、2つのターゲット間の直線の方向と、この2つのターゲット間の各地点におけるジェスチャの方向との間の差分の単調減少関数に基づくことができる。
ジェスチャはストロークとすることができ、ジェスチャ感知式キーボードはタッチセンサ式キーボードである。方法は、単一の連続ストロークを形成するためにユーザがキーボードをストロークすることからの圧力を検出するステップを含むことができ、サンプリングするステップは、圧力が存在する位置をサンプリングするステップを含む。サンプリングは、所与の時点における圧力値及び位置を検出するステップを含むことができる。
本発明の第2の態様では、上述した方法をプロセッサに実行させるためのコンピュータプログラム手段を記憶したコンピュータ可読媒体を含むコンピュータプログラム製品を提供する。
本発明の第3の態様では、システムを提供する。このシステムは、ジェスチャ感知式キーボード上で単一の連続ジェスチャが実行されている時のジェスチャの位置に各々が対応する、異なる時点でサンプリングされた複数のサンプルから、ジェスチャ感知式キーボードの、ユーザがジェスチャを実行した時に入力しようとした可能性のある複数のターゲットの1つに関連する1又はそれ以上の特徴を生成するように構成された特徴識別手段と、これらの1又はそれ以上の特徴から1又はそれ以上の用語を予測するように構成された予測手段とを備え、この予測手段は、1又はそれ以上の特徴を含む用語プレフィックスツリーを生成するように構成されたプレフィックスツリー生成手段と、用語プレフィックスツリー内の、1又はそれ以上の特徴を与えられた1又はそれ以上の経路を発見するように構成された経路発見手段と、予測子とを含む。
システムは、複数のターゲットを含み単一の連続ジェスチャを入力として受け取るように構成されたジェスチャ感知式キーボードをさらに備える。
システムは、ジェスチャが行われた時にジェスチャ感知式キーボード上のジェスチャの位置を複数の時点でサンプリングするためのサンプリング手段をさらに備えることができる。
プレフィックスツリー生成手段は、用語プレフィックスツリーを表すグラフをグラフ理論によって生成するように構成することができる。
特徴識別手段は、ユーザがジェスチャ感知式キーボードのターゲットを通過しようとした可能性のあるジェスチャ感知式キーボード上のジェスチャの位置を識別することにより、複数のサンプルから1又はそれ以上の特徴を生成するように構成されることが好ましい。特徴の位置は、ターゲットの最も近くを通ったジェスチャの位置であることが好ましい。ターゲットは、点ターゲット又は線ターゲットとすることができる。特徴識別手段は、複数のターゲット毎に特徴を識別するように構成されることが好ましく、特徴とターゲットの間の最小距離が閾値距離を下回る場合にのみ特徴を保持するように構成することができる。
各特徴は、ジェスチャとターゲットの間の最小距離に対応する距離メトリックを含むことが好ましい。
プレフィックスツリー生成手段は、1又はそれ以上の特徴を所与として許可される辞書プレフィックスツリーの用語を保持することにより、用語プレフィックスツリーを生成するように構成されることが好ましい。辞書プレフィックスツリーの用語は、この用語に特徴が対応しない場合でも保持することができる。
複数のターゲットは、アルファベット文字、及び任意にスペース及び/又は句読記号などの単語境界の区切り文字に対応することができる。用語プレフィックスツリーは、完成した単語の最後の文字を表す1又はそれ以上のノードを含むことができ、プレフィックスツリー生成手段は、この最後の文字に対応するノードが単語内に存在する場合、スペース文字に対応するノードをプレフィックスツリーに挿入するように構成される。プレフィックスツリー生成手段は、特徴識別手段がスペース文字に関連する特徴を識別しなかった場合、このスペース文字に対応するノードに関連する確率を低下させるように構成されることが好ましい。プレフィックスツリー生成手段は、スペース文字に対応するノードにおいて、一連の1又はそれ以上の特徴内の残りの特徴を所与として許可される辞書プレフィックスツリーの用語を保持することにより生成される新たな用語プレフィックスツリーを生成するように構成されることが好ましい。
プレフィックスツリー生成手段は、用語プレフィックスツリーをプルーニングして、グラフ内の経路の確率が予め設定した閾値を下回る全ての経路を削除するように構成することができる。プレフィックスツリー生成手段は、新たな用語プレフィックスツリーを文脈データに基づいてプルーニングするために、スペース文字を表すノードにメタデータを関連付けるように構成されることが好ましい。
プレフィックスツリー生成手段は、1又はそれ以上の特徴を与えられた反復文字のための有効な経路がプレフィックスツリー内に存在する場合、反復文字を含む辞書プレフィックスツリーの用語を保持することにより、所与の特徴が関連する文字の反復インスタンスを表せるようにするように構成することができる。
1つの実施形態では、経路発見手段が経路発見アルゴリズムである。経路発見アルゴリズムは、距離メトリックを用いて用語プレフィックスツリー内の各経路に関連する確率推定値を生成するように構成することができる。経路発見アルゴリズムは、対応するルートが閾値を上回る確率推定値を有する用語を1又はそれ以上の用語として戻すように構成されることが好ましい。
別の実施形態では、特徴識別手段が、ジェスチャの最後の位置に対応する1又はそれ以上の特徴を識別するように構成され、プレフィックスツリー生成手段が、このジェスチャの最後の位置に対応する1又はそれ以上の特徴を表すいずれかのノードが用語プレフィックスツリーのリーフに対応する場合のみ、このノードに所与の経路の累積確率の指示を割り当てるように構成される。経路発見手段は、累積確率を順序付け、対応するルートが閾値を上回る累積確率推定値を有する用語を1又はそれ以上の用語として戻すように構成されることが好ましい。
予測子は、1又はそれ以上の用語を全ての現在利用可能なサンプルに基づいて予測するように構成されることが好ましく、単一の連続ストロークが行われてサンプリング手段がさらに多くのサンプルを生成している時に、1又はそれ以上の用語の予測を定期的に更新するように構成することができる。
予測子は、1又はそれ以上の単語を予測するように構成されることが好ましい。予測子は、ジェスチャ感知式キーボード上の1又はそれ以上の文字上でユーザが1又はそれ以上の単語のプレフィックスを示すように意図されたジェスチャを行うことに対応する単一の連続ジェスチャに基づいて単語を予測するように構成することができる。予測子は、ジェスチャ感知式キーボード上の複数の単語を表す文字上でユーザがジェスチャを行うことに対応する単一の連続ジェスチャに基づいて、一連の2又はそれ上の単語を含む語句を予測するように構成することができる。予測子は、文脈情報を用いて1又はそれ以上の用語の予測を調整するように構成されることが好ましい。
サンプリング手段は、予め設定した周波数でサンプリングを行うように構成されることが好ましい。このサンプリング周波数は、約60Hzとすることができる。
予測子は、ジェスチャ感知式キーボードのトポグラフィをジェスチャの速度及び/又はジェスチャの曲線方向と組み合わせたものに基づいて1又はそれ以上の用語を予測するように構成されることが好ましい。予測子は、プレフィックスツリー内の経路を、2つの特徴と、これら2つの特徴に関連するキーボードのターゲットとの間のジェスチャのトポグラフィに依存して予測するように構成されることが好ましい。経路の確率は、2つのターゲット間の直線距離と、この2つのターゲット間におけるジェスチャの曲線長との間の差分の単調減少関数に基づくことができる。経路の確率は、2つのターゲット間の直線の方向と、この2つのターゲット間の各地点におけるジェスチャの方向との間の差分の単調減少関数に基づくことができる。
ジェスチャ感知式キーボードは、タッチセンサ式キーボードであり、単一の連続ジェスチャは、タッチセンサ式キーボードでのストロークである。タッチセンサ式キーボードは、ユーザがタッチセンサ式キーボードをストロークすることからの圧力を検出するように構成することができ、サンプリング手段は、圧力が存在するストロークの位置をサンプリングするように構成される。サンプリング手段は、所与の時点における圧力値及び位置を検出するように構成することができる。
以下の添付図面を参照しながら本発明を詳細に説明する。
本発明の方法及びシステムの使用を示す図であり、具体的には、ジェスチャ感知式キーボードを含むユーザインターフェイスでの語句を入力するための単一の連続するユーザジェスチャ、及びユーザインターフェイスのディスプレイ上に表示された対応する予測語句を示す図である。 本発明の方法及びシステムの使用を示す図であり、具体的には、ジェスチャ感知式キーボードを含むユーザインターフェイスでの単語のプレフィックスを入力するための単一の連続するユーザジェスチャ、及びユーザインターフェイスのディスプレイに表示された対応する予測単語を示す図である。 本発明による、入力ストリームの連続処理を示すためのフロー図である。 本発明による、入力サンプルを変換して予測を更新するために行われる下位処理を示すフロー図である。 本発明による、閾値及びヒステリシスを含む特徴生成アルゴリズムを示す図である。 本発明による、辞書を表す参照プレフィックスツリー(図6b)からの用語プレフィックスツリー(図6a)の生成を示す図である。 本発明による、辞書を表す参照プレフィックスツリー(図6b)からの用語プレフィックスツリー(図6a)の生成を示す図である。 本発明による、用語プレフィックスツリー内の最終単語の終点を示す図である。 本発明の方法及びシステムのプレフィックス生成手段が、用語プレフィックスツリーを生成する際に最終単語の終点をどのように処理するかを示す図である。 本発明による、ジェスチャにおける2地点間を追跡するための、距離変数及び長さ変数に基づくコスト関数の実装を示す図である。 本発明による、2地点間の追跡に利用可能な、範囲に基づくコスト関数の実装を示す図である。 本発明による、2つの近接点を所与とする2地点間を追跡するための、終点の方向に基づくコスト関数の実装を示す図である。 本発明によるシステムの概略図である。 本発明の方法及びシステムの使用例を示す図であり、具体的には、例示的な単一の連続ジェスチャからの最初の数サンプルの特徴グラフを示す図である。 本発明のシステムの使用例を示す図であり、具体的には、「a wet」という用語を示すためのユーザジェスチャを表す、ジェスチャ感知式キーボードでのジェスチャを示す図である。 図14に示す単一の連続ジェスチャのために生成される部分的特徴グラフを示す図である。
開示するシステム及び方法は、ユーザが単一の連続ストロークを用いて、潜在的に複数の単語又は単語のプレフィックスから成る任意の長さの一連の文字ベースの入力を行いながら、プレフィックス、単語及び/又は語句予測の形の定期的フィードバックを維持することを可能にする。
従って、本発明のシステム及び方法は、ユーザが単一の連続ジェスチャを行うことで意図する単語又は語句の入力を示すことができる、ジェスチャ感知式装置のためのテキスト入力を提供する。以下の例では、タッチスクリーン装置又はタッチセンサ式装置を記載している。説明する実施形態のタッチスクリーン装置では、ユーザが指を動かして順々に文字を選択すると同時にシステムが入力を処理して予測を生成することにより、ユーザが文字又は単語間で画面との接触を中断することなく単語又は語句を入力することができる。
本発明は、テキスト入力スピードの増加とともに、より正確かつ柔軟なテキスト入力を提供するので、既知の装置よりも優れた大幅な改善を示す。
説明するタッチスクリーン装置の実施形態では、ユーザの入力ジェスチャを「ストローク」と呼び、この入力ジェスチャは、ユーザがタッチ画面から指を持ち上げることによって終了する。このシステムは、ユーザが画面との接触を中断したことを、この特定のストロークにおいてその地点から後に単語が存在しないことを示すものと解釈する。
このシステム及び方法は、ジェスチャが行われている間に、各々がジェスチャの位置を時間で表す連続的なサンプルストリームに基づいて用語の予測を行う。このシステム及び方法は、このようにしてサンプリングを行うことにより、単語マッチングシステムよりも高い機能レベルで機能することができる。従って、本発明のシステム及び方法は、両方向、すなわち1つの単語に満たないもの(プレフィックス)又は複数の単語に対して同時に拡張性を提供することができ、これにより、図1及び図2に関連して説明するように、既知のシステム及び方法の問題点を解決し、より柔軟な代替手段を提供する。
図1に、タッチセンサ式キーボード上でたどられる、この例では「How are you」という複数の単語を示すためのユーザジェスチャの例を示す。図示のように、ユーザは、単語間で画面から指を持ち上げる必要がない。このシステムが採用する(以下で説明するような)確率論的アプローチは、自然言語に関して候補になりそうな語句のスペースの存在を推測できることを意味する。
図2には、単語のプレフィックスを示すためのユーザのジェスチャの例を示しており、この例では、「please」という単語の「pl」がプレフィックスである。この例では、「p」と「l」を通過する入力ジェスチャが与えられた場合、これらが文の始まりとなる可能性が最も高い単語(すなわち、文脈を示す単語が存在しない場合の予測)は「please」という単語であり、従ってシステムは、タッチスクリーンキーボードを含むユーザインターフェイスの表示枠にこの単語を表示する。システム及び方法は、後述するような確率論的文脈モデルにより提供される文脈的根拠を用いることにより、所望の単語のプレフィックスなどのより短いストロークの文脈情報を考慮できるようになり、この結果、ユーザに提供するテキスト予測の精度が改善される。
図1及び2に示す例は、スペースキーを含まない仮想キーボードを用いたテキスト入力に関するものであるが、本発明は、スペースキーを含むキーボードでのジェスチャにより入力されたテキストにも等しく適用可能である。本発明のシステム及び方法では、ユーザが、単一の連続ジェスチャを介して複数の単語を入力することができる。このテキスト予測生成方法により、ユーザが単語の境界を指示しない場合でも、単一の連続ジェスチャから複数の単語又は語句を推測することができる。
以下、残りの図を参照しながら、方法及びシステムの例に従って本発明がどのように実現されるかについての詳細を説明する。
上述したように、本発明の方法及びシステムは、ジェスチャが行われている時に、ジェスチャの位置を時間と共にサンプリングする。タッチスクリーン装置では、位置と同時に圧力値もサンプリングして、ユーザのストロークが表そうとしている単語/語句に関するさらなる情報を提供することができる。位置及び/又は圧力値のサンプリングは、当業で公知のあらゆる方法で行うことができる。システム及び方法は、この連続するユーザ入力サンプルストリームをモデル化して用語/単語/語句の予測を行う。ストローク入力は、(潜在的に無限の)サンプルシーケンスsとして以下のように定義することができる。
x及びyの値は、サンプリング時のユーザの指の物理的位置を表す座標値にすぎず、pは圧力読み取り値であり、tはサンプルを取得した時点である。従って、ストロークsは次式のようになる。
この式は、システムのコア入力要件を定義するものである。システムは、この入力ストロークを、予測が要求された時点における特定の文字シーケンスCを表すサンプルシーケンスの確率の推定値に変換するように機能する。
この確率推定値では、nがサンプルの指数として定義され、最新のサンプルはtによって表される。Cは、ユーザがストロークを介して何を入力しようとしているかの予測であり、スペースを含むことができる一連の文字を含む。この推定値は、例えば、「電子装置にテキストを入力するためのテキスト予測エンジン、システム及び方法(Text prediction engine, system and method for inputting text into electronic devices)」という名称の国際出願第GB2011/001419号に記載されているシステム及び方法などの複数の根拠の源に基づいて用語/単語/語句予測を行う他のいずれかのシステム又は方法のさらなる根拠の源として使用することができ、この特許出願の内容はその全体が引用により本明細書に組み入れられる。
本発明のシステムは、この確率推定値を継続的に提供するように構成されることが好ましく、この推定値を、国際出願第GB2011/001419号における、推定値を(文脈などの)他の根拠の源と共に考慮して正確なテキスト予測を生成するテキスト予測機構への入力として提供することができる。
上述したように、特定の文字シーケンスを表すサンプルシーケンスの確率の推定値を生成するには、{x,y,p,t}の形の連続サンプルストリームを処理する必要がある。この処理ステップを図3に示す。図示のように、ユーザが画面にタッチしてストロークを行っている間にサンプルを取得する。システムは、このストロークから生成されるサンプルシーケンスを継続して処理する。従って、ユーザが画面にタッチしたままの間はサンプルが取得され続け、これらのサンプルは、このジェスチャよりも前の全てのサンプルと共に処理されて、継続的に更新された予測が関連する確率推定値と共に提供される。ユーザが画面へのタッチを中断すると、ストロークが終了し、この特定のストロークに関してはこの地点から先に文字/単語が存在しないと想定される。
{x,y,p,t}の形のサンプルシーケンスを、関連する確率推定値を伴う1又はそれ以上の文字候補シーケンスに変換するには、下位処理が必要である。図4に、「未加工」の入力サンプルから確率推定値/更新値への変換を示す。図示のように、未加工サンプルを、関連する確率推定値を伴う文字候補シーケンスに変換するための3ステップ処理を示す。
図4に示すように、この下位処理の第1のステップは、未加工サンプルを、より抽象的な「特徴」のよりまばらなシーケンスに変換することであり、これらの各特徴は、確率推定値を計算するために使用される距離メトリックと共に予測に含めるための文字候補(すなわち、文字候補シーケンス)を表すことができる。以下、未加工サンプルから一連の特徴への変換について説明する。
未加工サンプルが特徴に変換されると、下位処理の第2のステップは、用語プレフィックスツリーを生成することを含む。用語プレフィックスツリーは、潜在的な特徴のサブシーケンスを所与とする有効な参照プレフィックスツリーの経路を保持することにより、参照辞書プレフィックスツリーから生成される。参照プレフィックスツリーは、辞書全体のための完全なプレフィックスツリーであり、従って静的な読み出し専用のデータ構造である。参照プレフィックスツリーは、システムのメモリに記憶することができる。対照的に、用語プレフィックスツリーは、動的に生成されるプレフィックスツリーであり、ストロークパターンに関連する要素のみを組み込んだ参照プレフィックスツリーのまばらなコピーである。通常、用語プレフィックスツリーは、所与のストロークパターンの予測の生成後に廃棄される。しかしながら、場合によっては、文/語句内の連続する用語を表す2つのストロークパターンが存在する状況などにおいて、連続ストロークパターンから予測される次の予測のための文脈根拠を提供するために用語プレフィックスツリーを保持することが好ましい場合もある。
参照辞書プレフィックスツリーは、例えば、http://en.wikipedia.org/wiki/Trieで引用されている参考文献のいずれか、又は「電子装置にテキストを入力するためのシステム及び方法(System and method for inputting text into electronic devices)」という名称の国際公開第2010/112841号に記載されているような英語テキストに基づく英語のモデルなどの、当業で公知のいずれかの参照辞書プレフィックスツリーとすることができ、この国際公開の内容はその全体が引用により本明細書に組み入れられる。好ましい実施形態では、用語プレフィックスツリーがグラフで表され、用語プレフィックスツリーの生成が、特徴の潜在的サブシーケンスの重み付けした指向的グラフを構築することを含む。
重み付けした指向的グラフは、関連言語のための参照辞書プレフィックスツリーを所与として以下のように構築される。
・ グラフ内のノードNを、このノードが表す特徴をfとし、対応する参照辞書プレフィックスツリー内のノードをtとするペア{f,t}として定義する。
・ 特徴によって表される文字から若干後の特徴への有効なプレフィックスツリー接続の存在、及びこの経路に関連するコスト(コスト関数については後述する)の両方を表すためのエッジEを定義する。
・ これらの特徴からノード及びエッジの組としてのグラフを構築する。
グラフの構築は、たとえ特徴識別手段によって当該文字に関する特徴が識別されなかった場合でも、参照辞書プレフィックスツリー内にノードtが存在する場合には、グラフにノードを挿入することをさらに含むことが好ましい。システム及び方法は、参照辞書プレフィックスツリー内にノードが存在する時にこのようなノードをグラフに挿入することにより、スペル又はタイピングを誤った単語を訂正する精度を高めることができる。ノードに関連する文字に対応する特徴が識別されない場合にこのノードをグラフに挿入することについては、グラフエッジのコストの説明、すなわち挿入されたノードに割り当てられるコストの説明と共に以下で詳述する。
単語又は語句の各候補の確率の推定値が必要であるが、グラフエッジを処理する際には「コスト」の概念を入れて作業する方がより自然である。従って、以下の説明では、所与の経路に関連する確率を、その経路のコスト面から述べることが多い。候補Cの確率p(C)は、そのグラフ内のルートから終端ノードまでの累積コストcに基づいてp(C)=e−cのように求めることができ、或いは再帰的に、c=−In(p(C))を用いて確率推定値からコストを求めることもできる。
従って、本発明のシステム及び方法は、下位処理の第2及び第3のステップにおいて、(装置のメモリに記憶された)第1の参照辞書プレフィックスツリーと、(本発明者らは用語プレフィックスツリー又はグラフと呼ぶ)第2の動的に生成されたプレフィックスツリーとを有する。静的な参照プレフィックスツリーと動的に生成されたプレフィックスツリーを使用することにより、1つのジェスチャが別のジェスチャのプレフィックスである時に、簡単な再開動作を行うことによって効率的な連続予測が可能になる。また、経路発見アルゴリズムを使用してツリーを効率的に探索することも可能になる(これについては、以下の下位処理のステップ3の説明から明らかになる)。動的に生成されたツリーは、単一ジェスチャの有効期間にわたって(又は最初のジェスチャが次のジェスチャのプレフィックスである場合には、次のジェスチャの有効期間にわたって)使用された後で廃棄されるのに対し、静的プレフィックスツリーは未修正のまま残る。用語プレフィックスツリーは、ノード間の接続に関連するコスト値を有するので、「用語プレフィックスツリー」という用語と「グラフ」という用語は同義的に使用される。
再び図4を参照すると、未加工の入力サンプルから関連する確率推定値を伴う予測への変換における最終ステップは、プレフィックスツリー又はグラフ内の有効な経路を特定することである。用語プレフィックスツリーを通る経路は、考えられる文字候補シーケンスの予測を表す。図3のフロー図では、プレフィックスツリー又はグラフを通る最も安価な又は最も可能性の高い経路が更新済み予測として戻される。1つの実施形態では、経路発見アルゴリズムを使用して、プレフィックスツリー又はグラフ内の最も安価な(又は最も可能性の高い)経路を特定することができる。例えばDijkstra又はAなどの、当業で公知のあらゆる経路発見アルゴリズムを使用することができる。しかしながら、後述するように、最も可能性の高い経路を特定するための別の方法を使用することもできる。所与の予測の確率推定値は、その所与の経路のためのグラフ又はプレフィックスツリーの特徴を通じた累積コストから求められる。プレフィックスツリーの各リーフにコストをもたらすためのコスト関数の実装については後述する。
予測及びこれらの関連する確率推定値は、国際出願第GB2011/001419号に記載されるシステムに、全体的な予測確率のための根拠の源として提供することができる。
グラフによってプレフィックスツリーを表す好ましい方法は、グラフ理論技術を利用して、連続サンプリングによって生じる組み合わせ的複雑性を管理する。未加工の入力サンプルから生成された一連の特徴は、対象となるユーザ入力よりもはるかに多くの文字を表す。グラフ内の経路を発見することにより、完全な特徴シーケンスの考えられるサブシーケンスが選択される。さらに、参照辞書プレフィックスツリーのサブグラフであるグラフ/プレフィックスツリーを生成することにより、有効な経路の探索時に経路発見アルゴリズムがより効率的になる。参照辞書プレフィックスツリーからグラフ/プレフィックスツリーを生成することによって得られるさらなる利点は、スペル又はタイピングを誤った単語を効率的かつ正確に訂正できる点であり、これは、特徴として識別されなかった参照辞書のいくつかの文字を保持することによって部分的に実現することができる。
一連の特徴が、順序集合Fとしてモデル化される場合、考えられるサブシーケンスは、全てFのべき集合である。すなわち、考えられるFのサブセットを全て含む集合である。

nが、これまでにサンプル入力から求められた特徴の数である場合、P(F)の増加は次式のように与えられる。
あるユーザ入力が示唆する全ての考えられるルートを考慮するネイティブアルゴリズムは、非常に多項式時間の複雑なものになる。何らかの動的プルーニング及びルートの優先順位付けとの組み合わせをグラフにする方法は、この問題の助けとなることができる。このような方法は、探索空間の複雑さを処理するためのハイレベルな戦略を提供するようになる。
上述したように、未加工の入力サンプルに基づいて予測を推定することの問題点は、一連の未加工サンプルから一連の特徴を識別すること、これらの特徴に基づいてグラフを生成すること、及びグラフ内の経路を発見することを含む構成可能な下位の問題点に分解することができる。さらに、グラフを通る経路の累積コストに基づいて、確率推定値を経路に関連付けることもできる。
計算の複雑さを抑えるために、所与の時点で、グラフの一連の経路の累積コストに基づいて、これらの経路を何らかの程度までプルーニングすることができる。例えば、経路を削除(プルーニング)して、この経路のための確率推定値の更新を、最も可能性の高い経路の(全ての経路の)確率推定値に対するこの経路の確率推定値の比率が閾値を下回るように減少させることができる。
図4に示す下位処理のステップに戻ると、システムは、特徴識別手段、グラフ(又は用語プレフィックスツリー)生成手段、及び経路発見手段を必要とする。この例では、システム及び方法が、特徴識別アルゴリズム、グラフ生成アルゴリズム及び経路発見アルゴリズムを含むアルゴリズムを使用する。グラフ生成アルゴリズムは、2つの異なる段階に分割することができ、いずれかの部分を置き換えて異なる成果又は品質特性を達成することができる。第1の部分は、グラフ/用語プレフィックスツリー内の考えられる接続間に重みを割り当てる「コスト関数」である。第2の部分は、高価過ぎると思われるグラフ内ルートを早い時期に動的に廃棄するために使用できる(任意の)プルーニング関数である。プルーニング関数は、(場合によっては精度を犠牲にして)グラフ構築アルゴリズムのパフォーマンスを向上させるという利点をもたらす。
「コスト関数」が、用語プレフィックスツリー内の各ノードに累積コストを割り当てるように構成される場合、(以下で詳述するように)リーフに割り当てられた累積コスト値によって最も安価な経路を決定できるので、最も安価なルートを発見するように構成された経路発見アルゴリズムは不要になる。従って、この場合、アルゴリズムは、特徴識別アルゴリズムとグラフ生成アルゴリズムのみを含んでいればよい。この予測子は、ターゲットノードに対する累積コスト毎に経路を並べ替え、これらの経路が表すシーケンスを関連する確率と共に予測通りに出力するように構成される。
ここで、下位処理の個々のステップについてさらに詳細に説明する。第1のステップに戻ると、特徴識別アルゴリズムは、未加工の入力サンプルから特徴を生成するように構成される。特徴は、ユーザがキーボード上の固定ターゲット(例えば、ターゲット点又はターゲット線)の1つを通過する予定であった可能性のあるストローク上の地点を表すように定義される。(特徴を含めるコスト又は特徴をスキップするコストはグラフ生成アルゴリズムが計算するので)特徴識別アルゴリズムは、入力サンプルからこのようないくつかの任意の特徴を生成するだけでよい。
特徴は、以下の値の組によって記述することができる。
式中、tは意図するターゲットであり、lはストロークに沿った特徴までの距離であり、dは(ストローク上の)特徴とtの位置との間の距離であり、sは最も特徴に近いサンプルの指数である。このように記述される特徴は、キーボード上の単一の「ターゲット」にしか当てはまらない(ターゲットは、文字に対して近似的に1対1のマッピングを有することができる)。例えば、「z」というターゲットのための特徴により、入力に「x」が追加されることは決してない。このため、ストロークのトポロジーのみからターゲットを計算することはできず、これらのターゲットは、トポロジーとキーボードレイアウトに基づいて定められる。
特徴識別アルゴリズムは、キーボード上のターゲット毎に個別に特徴を追加し、ストロークとターゲットの間の局所的最接近時に特徴を追加する。局所的最接近とは、ストローク(曲線)とターゲット(点又は線など)の間の分離距離の局所的最小値のことである。ターゲットが(例えば、仮想キーボード上の文字キーを表す)点である場合、分離距離を直接的に計算することができる。しかしながら、他のタイプのターゲットが使用されることもあり、例えばターゲットが線によって表されることもあり、この線は、(例えば、仮想キーボード上のスペースキーの場合)直線又は曲線の場合がある。線ターゲットの場合、特徴識別アルゴリズムは、ストローク曲線とターゲット線の間の距離が最小になる位置を表す線沿いの点を計算する。標準的な点ターゲットに関しては、次にこの点を使用して分離距離を計算する。ストローク曲線がターゲット線に交わる場合、ストローク曲線とターゲット線の間の分離距離はゼロになり、ストローク曲線がターゲット線に交わる点における特徴が追加される。図5に示すように、ストロークのサンプリングと特徴の識別との間にはレイテンシが存在するので、局所的最小値の検出粒度は、特徴検出器のヒステリシスによって定められる。
ユーザは人間である可能性が最も高いので、ストロークが滑らかである可能性は低い(しかしながら、必要に応じて平滑化アルゴリズムを使用することもできる)。あるキーの中心からの滑らかでないストロークの距離は、ユーザがこの距離を通った時に変動し、多くの局所的最小値を生成する可能性がある。特徴識別アルゴリズムは、何らかの「有意」な局所的最小値が存在する曲線上の点における特徴を識別するように構成することが好ましい。ヒステリシス定数は、最小値が有意なものとなって特徴が識別されるように、ターゲットからの距離を変動させる必要がある値を定める手段を提供する。図4のグラフには、閾値距離を下回る4つの局所的最小値を示しており、これらの最小値の2つのみが有意と見なされる。
ヒステリシスの利点は、滑らかでないストロークにより、追加される特徴が多くなり過ぎるのを避けることができる点である。また、特徴は、特徴とターゲットの間の分離距離が特徴検出器の閾値未満である場合にのみ追加される(図5を参照)。
特徴が識別されると、次のステップ(図4を参照)では、これらの特徴を含むプレフィックスツリー又はグラフを生成する。好ましい実施形態では、システム及び方法が、グラフ生成アルゴリズムを使用する。
図6aを参照しながら、グラフ生成アルゴリズムの所望の出力について説明する。図6bには、参照辞書プレフィックスツリーを示している。図6aには、生成された用語プレフィックスツリー(又はグラフ)を示している。図から分かるように、生成されたプレフィックスツリー/グラフは、参照辞書プレフィックスツリー内の関連するルート、すなわち特徴に基づく有効なルートしか含まない。
従って、グラフ/プレフィックスツリーは、特徴に関連する単語セットしか記述しない。図から分かるように、シーケンスの特徴はグラフ内に順々に留まるので、プレフィックスツリー/グラフには方向性があるが、完全な一連の特徴からのある特徴をスキップすることができ、例えば、c、d、o、f、g、hという入力特徴の場合、「dog」という単語が有効なルートであり、c、d及びhの特徴はスキップされている。上述したように、特徴識別アルゴリズムにより識別された特徴は、ユーザが入力を予定していたであろうよりも多くの文字を表すが、グラフ生成アルゴリズムによって特徴をスキップすることができる。
また、特徴識別アルゴリズムによって特徴として識別されなかった文字を表すノードが辞書プレフィックスツリー内に存在し、識別された特徴を与えられた有効な経路の一部である場合、グラフ生成アルゴリズムは、そのノードをグラフ/プレフィックスツリーに挿入するように構成されることが好ましい。非限定的な例として、特徴識別アルゴリズムが、(図6a及び図6bに関連して)上述した例において「c、d、o、f、g、h、t」という特徴を識別すると仮定する。グラフ生成アルゴリズムは、「a」を表すノードを、これに関連する対応するコストと共にグラフ/プレフィックスツリーに挿入し、図6aのグラフ/プレフィックスツリーに「cat」が追加経路として提供されるようになる。以下、挿入されたノードにコストを割り当てる方法について説明する。
プレフィックスツリーでは、提供される参照辞書による単語を終了するための有効点が終端ノードで表される。図6a及び図6bでは、終端ノードを非終端ノードと区別するために、終端ノードをより目立つ境界で強調している。なお、生成されたプレフィックスツリー/グラフ内の全てのエッジは、これらに関連するコストを有するが、簡略化するためにこの例では1つのルートしか示していない。また、特徴については、これらが表す可能性が最も高い文字としてしか表していない。実際には、特徴は、その特徴に関連する使用されるコスト関数に関する他のデータも有する。
グラフを構築する方法は数多く存在し、異なる方法によって異なる性能特性又は柔軟性の妥協点がもたらされる。好ましいアルゴリズムは深度優先再帰的構築法を使用し、すなわちグラフ/用語プレフィックスツリーは、深度優先探索によってグラフ/用語プレフィックスツリーのノードが訪問される順序で(グラフ生成アルゴリズムにより)構築される。このアルゴリズムは、各再帰ステップにおいてプルーニングを組み込むように構成される。
プレフィックスツリー又はグラフ生成アルゴリズムは、いずれかの特徴が表す文字のための有効なプレフィックスツリールートが存在する場合、この文字の反復インスタンスを表すために、これらの特徴を考慮することによって非明示的な文字反復をカバーすることが好ましい。これが行われた場合、コスト関数に、親パラメータ及び子パラメータと同じ特徴が呼び出される。コスト関数の実装には、反復される特徴に合理的なコスト値を割り当てるためのルールがある。非限定的な例として、特徴f、f’の実装は、以下のように成り得る。
cost=s(f)*c(f’,f)
式中、s(f)は、「分離」距離(ストローク上の特徴fからキーの重心までの距離)と共に機能する関数であり、c(f’,f)は、曲線上の2つの特徴間の距離である「曲線距離」デルタと共に機能する関数である。f’とfが同じ場合にはc(f’,f)=1であり、従って分離成分のみが考慮される。
下位処理における最終ステップは、有効な経路及びこれらの経路に関連する確率を識別することを含む。各終端ノードにおける累積コストを使用して、単語の確率が計算される。
図6aに示す特定の例では、所与のユーザ入力に関する予測が「dog」及び「of」になったと思われる。これらは、提供された入力シーケンスを所与として考えられるたった2つの単語であり、これらの単語は、後程これらの単語の確率の計算と共に使用される、これらの単語に関連する個別に計算されたコスト値の組を有する。しかしながら、図6aに関連して説明する別の例では、予測に関連する計算されたコスト値を有する「cat」というさらなる予測が存在する。
システムは、プレフィックスツリーが示す特徴経路が有効な間しかコスト関数を呼び出さないように構成することができる。
1つの方法は、Dijkstra又はAなどの既知の経路発見アルゴリズムを用いてグラフ内の最もコストの低い経路を発見することであってもよい。
別の好ましい方法は、グラフの構築時に各グラフノードにおける累積コストを記録することである。好ましい実施形態のグラフのツリー状構造を所与とした場合、各「リーフ」までは1つのルートしか存在することができない。すなわち、妥当な「ターゲット」ノードを識別する方法が存在する場合、これらの経路をその地点までの累積コスト順に並べ替え、経路発見アルゴリズムを必要とせずに、これらの経路が表すシーケンスを非常に効率的に戻すことができる。
本方法は、既知の方法とは異なり、作成されたグラフ構造及び上記で概説した探索方法が全ての情報の柔軟な表現を含む場合、1つの単語に対する入力ストロークのマッチングを制限しない。同じ特徴識別及びグラフ生成を使用して、単語のプレフィックスのみを表す特徴から単語を予測し、複数の単語にわたる特徴から語句を予測できることが明らかである。
グラフ/プレフィックスツリー生成手段は、参照辞書プレフィックスツリーのサブツリーを、これに加わる重み(又はコスト)とともに効果的に生成する。従って、グラフを通る最もコストの低いルートが最も可能性の高いプレフィックスであるはずなので、プレフィックスをマッチさせることができる。グラフ/プレフィックスツリーには、単語を完成させる特徴のコスト計算をバイアシングするために「終端ノード」の概念を加えることができ、以下でさらに詳述するように、単語の最後の文字を表す終端ノードは、スペース確率関数に依存して何らかの係数により重み付けされた、その終端ノードに関連するコストを有する。図6a、図6b及び図7には、終端ノードを非終端ノードと区別する暗い境界(boarder)で網掛けしたノードによって終端ノードを示している。
以下で詳述するように、1又はそれ以上の単語を含む語句を予測するには、グラフ/プレフィックスツリー生成手段によって単語の末尾を識別し、適当なコストを伴うスペースの可能性(又は他の単語境界の区切り文字)をグラフに組み入れる。これにより、システム及び方法は、ユーザが(例えば、仮想キーボード上のスペースキー上又はその近くでジェスチャを行うことにより)入力を介して実際に単語の境界を示したかどうかに関わらず、単語を互いにつなぎ合わせ、所望の出力となり得ることが入力によって示唆される場合には語句全体をマッチさせることができるようになる。
グラフ生成アルゴリズムは、以下のような場合に、あるノードNの子としてグラフにスペース文字(又は他のいずれかの単語境界の区切り文字)を追加するように構成することができる。
・ Nが終端(有効な単語の末尾)である場合。
・ スペース確率関数を与えられた終端ノードNを通過する経路のコストcが、使用中のプルーニング基準を満たす場合。1つの例では、その経路の確率を最も可能性の高い経路の確率で割った比率が閾値を下回る場合に経路をプルーニングする。
グラフに組み込まれたスペースに関連するコストは、特徴識別手段がこのスペースに対応する特徴を識別するかどうかに依存する。例えば、ユーザが、仮想キーボード上におけるストローク中にスペースキーを横切って単語の境界を明確にシグナリングし、特徴識別手段が、このスペースを特徴として識別することがある。或いは、例えばユーザが(例えば、誤って又は意図的に)スペースキーを押し損ねたという理由、又は仮想キーボードが用語の境界を示すための対象を含んでいない(例えばスペースキーのないキーボード)という理由で、ユーザがスペースキー上又はその近くでジェスチャすることができないこともある。このような場合、特徴識別手段により識別された特徴の組の中にスペースの特徴は存在しない。
図7に、終端ノードNを示すプレフィックスツリーの例を示す。以下で詳述するように、終端ノードNに関連する標準コストはコスト関数によって決まる。しかしながら、終端ノードを通る経路に関連するコストは、後続するスペースノードに関連するコストにより修正される。
単語境界文字(スペースなど)に対応する特徴が特徴識別手段により識別され、このスペースの特徴がスペースノードに対応する(すなわち、グラフを所与とした方向性のある特徴の組内の適当な場所にスペースの特徴が現れる)場合、グラフ生成手段は、後述するように標準コスト関数を用いてこのスペースノードにコストを関連付ける。
しかしながら、スペースの特徴が特徴識別手段によって識別されない場合には、スペースノードがユーザによって明確に識別されなかったという理由でグラフ生成手段によりスペースノードにペナルティが適用される(これにより終端ノードを通る経路のコストが増加する)。このペナルティは、一定のコストであることが好ましい。
(図1及び図2に示すような)スペースキーのないキーボードの場合、ユーザは、単語間のスペースを明確に識別できないので、低い一定のコストなどのわずかなペナルティをスペースノードに割り当てるようにグラフ生成手段を構成することができる。いくつかの実施形態では、終端ノードの後のスペースノードに対するペナルティを完全に無くすことができる。例えば、ユーザが1つのジェスチャを通じて(複数の単語又は語句ではなく)1つの単語又は1つの単語のプレフィックスを入力した可能性が高い場合には、たとえスペースを明確に入力することが不可能な場合でも、より正確な予測を与えることができるという理由で、スペースノードに対するペナルティを含めることが有利となり得る。
従って、スペースノードの関連コストが高いと、終端ノードを通る経路に関連するコストが高くなり、結局は終端ノードに関連するコストが基本的に増えることになる。
上述したように、グラフ生成アルゴリズムは、ある文字が特徴として識別されなかったものの参照辞書ツリー内に存在する場合、この文字に対応するノードを挿入するように構成することができ、例えば、グラフ生成アルゴリズムは、特徴識別アルゴリズムによって識別されなかった文字に対応するノードを挿入することができる。グラフ生成アルゴリズムは、スペースが特徴として識別されなかった時にそのスペースノードにペナルティを割り当てるのと同じ方法で、この挿入されたノードに一定のコストなどのペナルティを割り当てる。挿入されたノードに割り当てられるペナルティは、その挿入されたノードに対応する文字のタイプに依存することが好ましく、例えば、スペースノードに割り当てられる一定のコストは、文字ノードに割り当てられる一定のコストとは異なり、スペースノード以外の句読点ノードに割り当てられる一定のコストとも異なり得ることが好ましい。
以下、対応する特徴が識別されずに文字が挿入された場合の経路のコストの決定について説明する。
図8に、結果として得られたグラフ内でスペース文字がどのように表されるかを示す。上述したように、グラフ内の各ノードは、参照辞書プレフィックスツリー内の対応するノードと対になっている。「スペースノード」に続くノードは、参照プレフィックスツリーのルートと対になり、事実上、(スペース文字に続く)これらのノードの各々において参照プレフィックスツリーの新たなサブツリーが生成されるようになる。このことは、アルゴリズムが、新しい単語にふさわしいプレフィックス探索を再開できることを意味する。スペースノードに何らかのメタデータを追加することにより、文脈根拠を用いて次の単語に続く探索をプルーニングできるようにすることも可能である。考えられるスペース毎に探索を再開すると、探索空間のサイズが大幅に増加する。文脈情報を用いることにより、スペースノードに先行する単語又は単語シーケンスを所与として、そのスペースノードに後続する可能性の高い単語を識別することが可能になる。後続する特徴が、文脈情報を所与としてスペースノードに続く可能性のない単語の文字を表す場合、この後続する特徴のコスト値にペナルティを課すことができ、従って(可能性のない経路をプレフィックスツリーから削除できるので)文脈情報をプルーニングに使用できるようになる。
ユーザが単一のストロークで「hi there」という語句を入力する例を挙げてみる。アルゴリズムは、プレフィックスツリー内の「h−>i」の所まで進み、「i」に終端ノードとしてのマークが付いていることが分かる。ツリーには、スペース文字を表すノードが、関連する確率と共に追加される。
「hi」に続く可能性の高い単語とこれに関連する確率をスペースノードに加え、このスペースノードに後続のノードを加える時にこのことを考慮するようにコスト関数を構成することができる。文脈情報を用いてその後の予測を知らせる例示的なシステム及び方法が、国際公開第2010/112841号又は国際出願第GB2011/001419号に開示されており、これらの国際公開及び特許出願の内容はその全体が引用により本明細書に組み入れられる。
従って、(「hi threw」などの、同じ入力パターンでは潜在的に有効であるが)可能性のない語句には大幅に高いコストを割り当てることができる。プルーニング関数は、この経路を早いうちに削除し、プレフィックスツリー内の探索を必要とする経路を減らす可能性が高い。
上記で概説したグラフ構築アルゴリズムは、一連の特徴内のあらゆる特徴を、有効な開始点であった可能性があると考える。すなわち、これらの特徴のいずれかを、最初の単語の最初の文字が何であるべきかを示すものであると見なすことができる。計算の複雑さを抑えるために、特にストロークの始まりのユーザ入力にはある程度の正確さが存在すると仮定することができる。
上記の説明で述べたように、候補ルート及び「ターゲット」を識別できる場合には、計算の複雑さを大幅に低減することができる。候補ルートは、所与の一連の特徴に関して予測される最初の単語の最初の文字に対応する特徴を表し、従ってユーザがジェスチャを開始することを意図したキーボードのターゲットに対応するはずである。ターゲット候補は、ジェスチャの最後におけるターゲット、すなわちユーザがジェスチャの最後にタッチし、その後画面から指を離すことを意図した(文字キーなどの)ターゲットに対応する特徴を表す。
ターゲット候補の識別は、探索空間を制限するために使用されることはないが、累積コスト分析に使用するのにふさわしいリーフの組を与えるので、予測候補を更新するために使用することができる。ターゲット候補として識別された特徴が、一連の特徴の「有効な終端」である場合、プレフィックスツリー内には、この「有効な終端」が存在するよりもさらに多くのリーフが存在する。従って、ターゲット候補を識別することにより、プレフィックスツリー内の有効な経路を識別して、累積コストが割り当てられるノードの数を大幅に減らすことができる。例えば、図6aでは、ターゲット候補が「f」として識別された(すなわち、一連の特徴のうちの最後の特徴が「f」である)場合、唯一の有効な経路は「of」であり、終端ノード「f」のみに累積コストを割り当てればよい。この例では、システムは「of」を予測し、「dog」(又は別の説明例では「cat」)を予測することはない。
ターゲット候補を識別し、これらのターゲットにおける累積コストを記憶することにより、経路発見アルゴリズムを使用せずに予測を行うことができる。すなわち、有効な最後の特徴を含む経路を識別し、有効な最後の特徴を表すノードに累積コストを割り当て、これにより累積コストを順序付けて最もコストの低い(単複の)経路を識別することにより、最も可能性の高い経路の決定が可能になる。この予測子は、関連する(単複の)累積コストから最もコストの低い(単複の)経路の確率を計算し、最も可能性の高い経路を予測として出力するためにのみ必要とされる。
ここで、候補ルート及びターゲット候補の決定について説明する。探索空間を各々単一の値に限定することは、絶対的な自信を持って行うことができない限り不必要に制限的になるので、ストロークSの最初のサンプルの位置を表すx及びy両方の位置座標の役割を果たすように複数の「妥当な」候補ルートを識別する。同様に、複数の「妥当な」ターゲット候補を識別する。
入力されているシーケンス内の最初の単語に望ましい開始文字は、入力が開始されたキーの重心に近い可能性が高い。従って、ルート候補を決定するには、入力ストロークの開始点からキーが最大に離れた距離についての何らかの定数因子内にサンプル、従って特徴が存在すると仮定することができる。同様に、入力されているシーケンス内の最後の用語に望ましい最終文字は、入力が終了してユーザが画面との接触を終えたキーの重心に近い可能性が高い。
好ましい実施形態では、この方法が、ルート候補を識別するために特徴内の「曲線距離」属性lを決定するステップを含む。この曲線距離は、以下の式により定義される。
式中、fはn番目の特徴であり、s(f)はこれに最も近いサンプルの指数であり、||s−sj−1||は2つの隣接するサンプル間のユークリッド距離である。従って、n番目の特徴の曲線距離lは、一連のサンプルに沿ったその特徴までの合計距離である。
この実装では、2つのキー間の最大分離距離を表す定数kと、入力シーケンスからルート候補及びターゲット候補を識別する上でそれぞれ使用すべき係数を表すチューニングパラメータR及びLとを想定する。
上記の関数は、ユーザエラーとキー分離の間の線形関係を想定する。各特徴に関連するタイムスタンプ、又は潜在的に圧力読み取り値から計算できる運動速度を伴うさらに高度な方法を使用することもできる。
説明したグラフ生成アルゴリズムは、プレフィックスツリーに関して考えられるルートをモデル化する。このアルゴリズムは、グラフに重みを加えて入力パターンの物理的トポロジーを組み込む方法であるコスト関数を呼び出す。上述したように、グラフ生成アルゴリズムは、コスト関数を呼び出すことに加え、グラフに挿入されたノードによって表される文字が特徴として識別されなかった場合に、このノードにペナルティ、すなわち一定のコストを割り当てることができる。以下、曲線長、ユーザストロークと基準ストロークの間の平均距離、ストローク(トレース)速度及び終点検出に基づく、考えられるコスト関数の実装について説明する。
1つのコスト関数の実装は、図9に示すようなトレース曲線長に基づく。ユーザによる2地点間のトレースの単純な一次モデルは、2地点間の理想的なトレースが、これらの両地点を経由する考えられる最短距離であるという想定から開始する。
エラーモデルでは、いずれかの地点からの距離が増すことによって曲線の可能性が低くなり、より長い曲線も同様である。このスキームにおける「理想的なユーザ」は、各文字を前の文字から順に直線で訪れることが明らかである。
このスキームにおける1つの単純なエラーモデルは以下のようになる。
式中、Sはストロークの一部(一連のサンプル)であり、f及びfi+1は部分的ストロークを区切る特徴であり、pは距離エラーモデルであり、pは長さエラーモデルであり、dはターゲットとストロークの間の距離であり、||S||は部分的ストロークの長さであり、||xi+1−x||は2つのターゲット間の直線距離である。各変数の意味を図9で実証する。距離エラーモデルと長さエラーモデルは、いずれもガウス分布又は指数分布とすることができ、最大確率は、必要に応じてゼロ距離又は長さエラーにおいて生じる。現在のトレースの終了は次のトレースの開始を生じるので、上記の方程式は、最初の地点に関する距離確率推定値のみを含み、従って終点における距離di+1は、次の文字ターゲットのペアの推定値に含まれるべきである。
(ユーザが2地点間の最短経路を取る)「曲線長」モデルと同じ想定を符号化して評価する別の方法は、図10に示すように、ユーザのトレースと「基準トレース」の間の平均距離を測定することである。最短経路の想定の場合、「基準トレース」は2つのキー間の直線である。このモデルでは、考えられるエラーモデルは次式のようになる。
式中、Aは、図10に示すように特徴間のトレースと直線経路とによって囲まれた範囲である。指数分布又はガウス分布は、pのための可能な選択肢である。このモデルでは、この範囲及び直線距離を単純に使用して、「最良な経路」からのトレースの平均距離を計算している。同様に、この「最良な経路」を、例えばターゲット地点を通るエルミートスプライン、又はターゲット地点へのbスプライン近似などの他のいずれかの種類の理想的な経路とすることもできる。
コスト関数に代わる別の実装は、トレース速度に基づくものである。最も知られているサブトレースモデリング技術は、純粋にトポロジーに基づくものであり、これらの技術は、トレースが「トレース速度」を求めるために使用できるタイミング情報をさらに含むという事実を考慮していない。トレース入力のための完全なモデルはトレースの速度を含む。トレース速度のための単純なモデルは、ユーザのトレース速度が特徴間で最大になり、特徴において最低になると想定することができる。
エラーモデルは、特徴から離れても速度の低いトレースにペナルティを課す。このようなモデルは、次式のように2つの特徴間のトレースに沿った確率を蓄積することができる。
式中、s(a)は、開始と終了の間の曲線距離の変数としての(できる限り平滑化した)トレース速度であり、psは、サブトレースの開始と終了の間の曲線距離が長くて速度が低い時に低くなる。
コスト関数の別の実装は、図11に示すような終点検出に基づく。曲線方向は、トポロジーから自明に決まることができ、この実装は、潜在的にトレースモデルに近隣地点を組み込むために有効な方法である。「理想的な」トレースが、4地点を経由するエルミートスプラインである場合、xにおける曲線の方向は、次式のような前の地点と次の地点の間の単位ベクトルになる。
これを使用したエラーモデルは、以下の形をとることができる。
式中、tはサブトレースの開始点における曲線の(できる限り平滑化した)方向ベクトルである。pは、同様の方向のベクトルに高確率を与え、異なる方向に低確率を与える確率分布である。図11には、関連する様々なベクトル及び値を示している。
コスト関数の別の実装は、曲線方向に基づくことができる。平均距離と速度エラーを積分により曲線に沿って合計できるような同じ方法では、曲線方向のモデルを想定して、終点のみではなく曲線全体にわたる方向エラーを評価することができる。単純な方向モデルは、以下の形とすることができる。
この形は、まさに終点方向方程式の連続バージョンである。基準方向
の単純な選択はaに依存せず、単純に前のキーと次のキーの間の方向である。
或いは、
を、
における方向ベクトルと
における方向ベクトルとの間の以前に線形補間した方向ベクトルとすることもできる。pの選択は、終点方向モデルと同様に行われる。
上述したコスト関数は、グラフ/プレフィックスツリー内の有効な経路の各特徴ノードにコストをもたらす。例えば、スペースノード、文字ノード、句読点ノード、又はある特徴の反復インスタンスを表すノードなどの、対応する文字が特徴として識別されなかった場合に挿入されるノードの場合、コスト関数の実装は、上述したように、特徴ノードにコストを割り当てるように先行し、挿入されたノードは、コストを計算するために無視される。挿入されたノードを含む経路の累積コストを決定する場合、このコストは、コスト関数により計算された特徴ノードの累積コストに、挿入されたノードに割り当てられたコストを足し合せたものになる。
例えば、経路(「cat」)の識別された特徴が「c、t」であった場合、コスト関数は、まるで挿入されたaのノードが存在しないかのように、これらの特徴ノード「c、t」にコストを与える。その後、累積経路コストは、aのノードを挿入することに対するペナルティを含むようになる。
反復特徴を表すように挿入されたノードの場合、このノードに割り当てられるコストは、上述したように(cost=s(f)*c(f’,f))となる。
従って、上述したように、本方法及びシステムは、単語のプレフィックス、単語又は語句を表すことができる単一の連続ジェスチャに基づいて単語又は語句を予測する手段を提供する。システム及び方法は、(例えば、ジェスチャが1つの完全な単語を表すこと、ジェスチャが単語の境界を明確に示すこと、又はユーザが意図する単語を正確にスペリング又はタイプするように求められることに制限されない)ユーザ入力における柔軟性、及びジェスチャ感知式キーボード上でジェスチャが行われている時に、このジェスチャを(複数の時点における位置及び任意に圧力を)サンプリングすることによるテキスト予測を実現する。
上述したように、これらのサンプルから単語又は語句予測を生成するには、サンプルを特徴に変換し、これらの特徴を使用して用語プレフィックスツリー又は用語プレフィックスツリーを表すグラフを生成し、このプレフィックスツリー又はグラフ内の、予測候補を表す有効な経路を識別する。経路に確率推定値を関連付けることができるコスト関数を提供する(確率推定値は、P(C)=e−cを用いてコストから求めることができる)。
最も可能性の高い経路によって表される単語を、例えばユーザインターフェイスのディスプレイパネル上に表示することにより、単語又は語句予測の組としてユーザに戻すことができる。1つの実施形態では、最も可能性の高い単語又は語句のみがユーザに表示される。或いは、これらの予測及び関連する確率推定値を別のシステムに渡し、このシステムが、複数の根拠の源に基づいて予測を行う予測子の根拠の源としてこれらを使用できるようにすることもできる。
以下、本発明によるタッチスクリーン装置の使用例を示す。上記の説明から明らかなように、システムは、単一の連続ジェスチャをユーザからの入力として受け取るように構成された、(点又は線などの)複数のターゲットを含むジェスチャ感知式キーボードと、ジェスチャが行われた時にジェスチャ感知式キーボード上のジェスチャの位置を複数の時点でサンプリングするためのサンプリング手段とを含む。さらに、システムは、複数のサンプルから1又はそれ以上の特徴を生成するように構成された特徴識別手段と、1又はそれ以上の特徴を含む用語プレフィックスツリーを生成するように構成されたプレフィックスツリー生成手段と、用語プレフィックスツリー内の、1又はそれ以上の特徴を所与とする有効な1又はそれ以上の経路を発見するように構成された経路発見手段とを含む。
本発明によるシステム10を図12に示す。システム10は、ジェスチャが行われている時に複数の時点でタッチ位置のサンプル11を取得するように構成されたサンプリング手段1を含む。サンプル11は、特徴識別手段2に渡される。特徴識別手段2は、方法に関連して上述したように、サンプル11からの特徴を識別するように構成される。
特徴12は、この特徴12を用いてグラフ/用語プレフィックスツリー13を構築するように構成されたグラフ/用語プレフィックスツリー生成手段3に渡される。グラフ/用語プレフィックスツリー生成手段3は、参照辞書プレフィックスツリー3cを用いて、識別された特徴12を与えられた、参照辞書プレフィックスツリー3cの有効な経路を含む動的グラフ/用語サブプレフィックスツリー13を生成するように構成される。グラフ/用語プレフィックスツリー生成手段3は、グラフ/用語プレフィックスツリー13のノードにコストを割り当てるように構成されたコスト関数3aを含む。システムが経路発見アルゴリズムを含む実施形態では、コスト関数3aが、グラフ/用語プレフィックスツリー13内の各ノードにコストを割り当てる。しかしながら、(上述したような)システムがターゲットノードを識別するように構成された別の実施形態では、コスト関数3aが、ターゲットノードに累積コストを割り当てるように構成される。
グラフ/用語プレフィックスツリー生成手段3は、プルーニング手段3bを含むことが好ましい。プルーニング手段3bは、グラフ/用語プレフィックスツリー13から低確率の経路を削除するように構成される。プルーニング手段3bは、所与の経路の確率を最も可能性の高い経路の確率で割った比率が閾値を下回る経路を削除することが好ましい。関連コスト(及び任意にプルーニング)を含むグラフ/用語プレフィックスツリー13は、経路発見手段4に渡される。
経路発見手段4は、グラフ/用語プレフィックスツリー13内の最もコストの低い(従って最も可能性の高い)経路14の1つ又はそれ以上を識別するように構成される。経路発見手段は、ターゲットノードにおける累積コストが最も低い(単複の)経路を識別することにより、例えば、これらの経路をその累積コスト順に順序付け、最もコストの低い1又はそれ以上の経路を戻すことにより、又は経路発見アルゴリズムを使用することによってグラフ/用語プレフィックスツリー13内の最もコストの低い経路を発見することにより、1又はそれ以上の経路14を発見する。経路14は、この経路14に基づいて予測15を生成する予測子5に渡される。予測15は、関連する確率推定値を有する1又はそれ以上の単語又は語句を含み、上述したように、これらの単語又は語句は、経路14のノードにより表される特徴12から形成され、確率推定値は、この経路に関連するコストから決定される。
上述したように、最も可能性の高い経路によって表される予測15は、例えばユーザインターフェイスのディスプレイパネル上に表示することにより、単語又は語句予測の組としてユーザに戻すことができる。1つの実施形態では、最も可能性の高い単語又は語句のみがユーザに表示される。或いは、これらの予測及び関連する確率推定値15を別のシステムに渡し、このシステムが、複数の根拠の源に基づいてさらなる予測を行う第2の予測子の根拠の源としてこれらを使用できるようにすることもできる。
本発明のシステムの使用例
システム10は、未加工の入力サンプル11を特徴ストリーム12に変換するために、使用するキーボードレイアウトの記述を必要とする。以下の例では、次の構成を使用する。
以下、ジェスチャ入力から予測を生成する方法及びシステムの柔軟性を示すために、単語のプレフィックスを入力するつもりのユーザ、及び複数の単語を入力するつもりのユーザのためのシステム10の使用例を説明する。
プレフィックスマッチング
システム10は、幅広い予測システムが、文脈及びその他のソースを用いて、これらからより正確な完全な単語の予測を生成できるように、プレフィックスを構成する望ましい最初の1又はそれ以上の文字を十分に高い確率で出力することが求められる。或いは、システム10は、より大規模なシステムにプレフィックスを受け渡すことなく、プレフィックスが表す可能性の最も高い(単複の)単語を表示することにより、識別されたプレフィックスに基づく予測15を出力してユーザに表示することもできる。
上述したように、システム10のサンプリング手段1は、ジェスチャが行われている時にこのジェスチャをサンプリングして、位置ベクトル、圧力読み取り値及び時間値で構成されたデータを各々が含む一連のサンプル11を生成する。
この例では、図13に示すように、ユーザが、キーボードのターゲット「キー」にわたって指を動かすことにより、「type」という単語の入力を開始しているが、システム10は、今のところわずかなサンプル11しかサンプリングしていない。サンプリング手段1が〜60Hzでサンプリングを行う装置から以下のデータを取得し、時間をミリ秒で測定した。
システム10の特徴識別手段2は、最初に、例えば上述したような特徴識別アルゴリズムを使用することにより、サンプルシーケンス11を一連の特徴12に変換する。好ましい実施形態では、特徴を保持するためのチューニングパラメータ(閾値距離及びヒステリシス)が、キー間の最小分離距離の関数である。上述したレイアウトでは、この最小分離距離が48画素である。従って、以下のパラメータを使用する。

式中、hはヒステリシスとして使用され、tは距離閾値として使用される。特徴識別アルゴリズムは、入力サンプル11に関する特徴の組を以下のように生じる。
この特徴12は、ターゲット文字c、座標x及びy、分離距離s及び時間値tで構成される。この例で提供された8つの未加工サンプル11に対して、一連の5つの特徴12が生成されたことが分かる。
次のステップは、一連の特徴12をグラフ生成アルゴリズム3に供給して、一連の特徴12から考えられる特徴の組み合わせを表すグラフ13を構築することである。この考えられる組み合わせを、使用中の言語辞書を表すプレフィックスツリー3cと相互参照する。この例では、本発明者らは英語の辞書を想定しており、従って図13に示すように、英単語の有効なプレフィックスのみを含むグラフ13が作成される。
グラフ生成手段3のコスト関数3aを、グラフ13の特徴12を表すノードにコストを割り当てるように構成することができる。様々な組み合わせに関連するコストを生成するために、この例では距離に基づくコスト関数を使用する。この距離に基づくコスト関数は、曲線の長さ及び距離の差分にコストを割り当てるために使用するガウス関数及び指数関数の減衰を表すいくつかのパラメータを必要とする。上記の例では、これらのパラメータがやはりキー分離距離の関数であると想定する。

式中、δは、特徴のキー重心dからの距離を表す減衰パラメータであり、λは、特徴間の曲線の長さと理想的な最短の長さとの差分lを表す減衰パラメータである。従って、図13のコスト値は以下のように計算される。
経路発見手段4は、経路発見アルゴリズムを使用することにより、又は(累積コストがターゲットノードに記憶される実施形態では)累積コストを順序付けることにより、累積コストの最も低い1又はそれ以上の経路を識別するように構成される。予測子5は、1又はそれ以上の経路14に関連する1又はそれ以上の確率推定値を(これらの経路14のコスト関数から)決定して、関連する確率推定値を伴うプレフィックス又は単語/語句を各々が含む1又はそれ以上の予測15を提供するように構成される。
上記の例における累積コスト及び確率推定値を以下に示す。この例では、経路発見手段が、「ty」を最もコストの低い経路として識別する。システム10の予測子5は、経路毎の確率推定値を決定するように構成され、ここでp(C)=e−cとする。予測子5は、1又はそれ以上の最も可能性の高いプレフィックスを予測15として出力するように構成することができる。
その後、この情報を他の根拠の源と共に使用して、完全な単語予測を生成することができる。或いは、この情報を単独で使用して、プレフィックスを与えられた最も可能性の高い完全な単語、例えばこの例では「ty」というプレフィックスを含む可能性の最も高い単語を戻すことにより、ユーザがジェスチャを介して入力しようとしている単語を予測することもでき、又はこの情報を、タッチセンサ式キーボードを利用する多くの既知の装置で見られるような、これらの予測に対するユーザの応答に基づいて予測を向上させるための機構と共に使用することもできる。
複数単語のマッチング
この例では、図14に示すように、ユーザが、システム10に2つの単語から成る「a wet」という語句を入力しようとしている。この処理の第1段階は、プレフィックスマッチの例と全く同じものである。
図14には、入力ストロークパターンを示しており、以下の表は、このストロークを記録した未加工データである。このストローク例では、入力サンプリング手段1によって以下の入力ストリームサンプル11が生成される。

特徴識別手段2は、例えば特徴識別アルゴリズムを使用して未加工サンプル11を特徴12に変換し、以下を提供する。
前回と同様に、グラフ生成手段3(例えばグラフ生成アルゴリズム)によって特徴12からグラフ13が構築される。この例においてグラフ生成手段3により生成されたグラフを図15に示す。「a」はそれだけで1つの単語であり、従ってプレフィックスツリー上の終端ノードであることにより、グラフ生成アルゴリズムは、図8を参照して上述したように、グラフに適当なコスト(すなわちペナルティ)と共にスペースノードを追加するようになる。
図15には、構築アルゴリズムがグラフにスペースノードを挿入する場合を示している。上述したように、この時点でプレフィックスツリー内の探索がリセットされ、ルートからのあらゆる有効な単語を残りの特徴シーケンスから構築することができる。この構造が定まると、予測を生成するための処理は、上述したものと全く同じものである。従って、経路発見手段4は、グラフ13内の最もコストの低い経路14を識別するように構成され、予測子5は、これらの経路14の確率推定値を計算して1又はそれ以上の予測15を出力するように構成される。グラフの最後のリーフは、ルートからの全体の文字シーケンスを表し、この場合は少なくとも1つのスペースを含む。従って、実証したように、本システム及び方法は、複数の単語及びスペース文字を含む語句を予測することができる。
上述したように、1又はそれ以上のノードが参照辞書プレフィックスツリー内には存在するが、特徴識別アルゴリズムにより特徴として識別されなかった場合には、これらをグラフに挿入しておくことができる。
さらに、上述したように、ユーザが、例えばスペースキー上又はその近くでジェスチャを行うことにより、入力ジェスチャを介して単語の境界を明確に識別した場合、特徴識別手段がその用語の境界に関連する特徴を識別し、グラフ構築アルゴリズムを、上述したコスト関数の実装に基づいてスペースノードにコストを割り当てるように構成することができる。
一例として実証したように、本発明は、ジェスチャ感知式キーボードでの単一の連続ジェスチャから、プレフィックス、単語及び語句の予測を生成する手段を提供する。従って、テキスト予測及び確率を生成する本方法及びシステムは、既知のシステム及び方法をしのぐ大きな利点を提供する。上記の説明から理解されるように、本方法及びシステムでは、後の情報がそれよりも前の訂正に影響を与えることができる。このことは、語句を予測する際に、入力された2番目の単語を用いて最初の単語の推測を支援できる場合に特に当てはまる。従って、システム及び方法は、(完全な1つの単語を示すための)ジェスチャを辞書内の単語にマッチさせるにすぎない既知のシステム及び装置よりも精度の高い単語及び語句の予測を行う。
この説明はほんの一例であり、特許請求の範囲に規定する本発明の範囲から逸脱することなく、説明した実施形態に変更及び修正を行うことができると理解されるであろう。

Claims (16)

  1. ジェスチャ感知式キーボードでの単一の連続ジェスチャから1又はそれ以上の用語を予測する方法であって、
    前記ジェスチャ感知式キーボード上で前記ジェスチャが実行されている時に、前記ジェスチャの位置を複数の時点でサンプリングするステップと、
    前記複数のサンプルから、ユーザが前記ジェスチャの実行時に入力しようとした可能性のある前記ジェスチャ感知式キーボード上のターゲットに各々が関連する1又はそれ以上の特徴を生成し、
    前記1又はそれ以上の特徴を含む用語プレフィックスツリーを生成することであって、前記用語プレフィックスツリーは、完成した単語の最後の文字を表す1又はそれ以上のノードを含み、前記用語プレフィックスツリーを生成することは、前記最後の文字に対応するノードが単語内に存在する場合、前記プレフィックスツリーに、単語境界の区切り文字に対応するノードを挿入することをさらに含み
    前記用語プレフィックスツリー内の、前記1又はそれ以上の特徴を与えられた1又はそれ以上の経路を発見する、
    ことにより前記複数のサンプルから1又はそれ以上の用語を予測するステップと、
    を含むことを特徴とする方法。
  2. 前記用語プレフィックスツリーは、前記1又はそれ以上の特徴を所与として許可される辞書プレフィックスツリーの用語を保持することにより生成される、
    ことを特徴とする請求項1に記載の方法。
  3. 前記ジェスチャ感知式キーボードのターゲットは、アルファベット文字、及び任意にスペース及び/又は句読記号などの単語境界の区切り文字に対応する、
    ことを特徴とする請求項1又は2に記載の方法。
  4. 前記1又はそれ以上の用語を予測するステップは、1又はそれ以上の単語を予測するステップを含み、前記1又はそれ以上の単語は、ジェスチャ感知式キーボード上の1又はそれ以上の文字上で、ユーザが前記単語のプレフィックスを示すように意図されたジェスチャを行うことに対応する単一の連続ジェスチャに基づいて予測される、
    ことを特徴とする請求項1から3のいずれか一つに記載の方法。
  5. 前記1又はそれ以上の用語を予測するステップは、1又はそれ以上の単語を予測するステップを含み、前記1又はそれ以上の単語を予測するステップは、ジェスチャ感知式キーボード上の複数の単語を表す文字上でユーザがジェスチャを行うことに対応する単一の連続ジェスチャに基づいて、一連の2又はそれ上の単語を含む語句を予測するステップを含む、
    ことを特徴とする請求項1から3のいずれか1項に記載の方法。
  6. 前記サンプリングは、予め設定した周波数で行われる、
    ことを特徴とする請求項1からのいずれかに記載の方法。
  7. ジェスチャ感知式キーボード上で単一の連続ジェスチャが実行されている時に、前記ジェスチャの位置を複数の時点でサンプリングするステップと、
    前記複数のサンプルから、ユーザが前記ジェスチャの実行時に入力しようとした可能性のある前記ジェスチャ感知式キーボード上のターゲットに各々が関連する1又はそれ以上の特徴を生成し、
    前記1又はそれ以上の特徴を含む用語プレフィックスツリーを生成することであって、前記用語プレフィックスツリーは、完成した単語の最後の文字を表す1又はそれ以上のノードを含み、前記用語プレフィックスツリーを生成することは、前記最後の文字に対応するノードが単語内に存在する場合、前記プレフィックスツリーに、単語境界の区切り文字に対応するノードを挿入することをさらに含み
    前記用語プレフィックスツリー内の、前記1又はそれ以上の特徴を与えられた1又はそれ以上の経路を発見する、
    ことにより前記複数のサンプルから1又はそれ以上の用語を予測するステップと、
    を装置に実行させるためのコンピュータプログラム。
  8. ジェスチャ感知式キーボード上で単一の連続ジェスチャが実行されている時の該ジェスチャの位置に各々が対応する、異なる時点でサンプリングされた複数のサンプルから、前記ジェスチャ感知式キーボードの、ユーザが前記ジェスチャを実行した時に入力しようとした可能性のある複数のターゲットの1つに関連する1又はそれ以上の特徴を生成するように構成された特徴識別手段と、
    前記1又はそれ以上の特徴から1又はそれ以上の用語を予測するように構成された予測手段と、
    を備え、前記予測手段は、
    前記1又はそれ以上の特徴を含む用語プレフィックスツリーを生成するように構成されたプレフィックスツリー生成手段であって、前記用語プレフィックスツリーは、完成した単語の最後の文字を表す1又はそれ以上のノードを含み、前記最後の文字に対応するノードが単語内に存在する場合、前記プレフィックスツリーに、単語境界の区切り文字に対応するノードを挿入するように構成されるプレフィックスツリー生成手段と、
    前記用語プレフィックスツリー内の、前記1又はそれ以上の特徴を与えられた1又はそれ以上の経路を発見するように構成された経路発見手段と、
    予測子と、
    を含む、
    ことを特徴とするシステム。
  9. 前記ジェスチャが行われた時に前記ジェスチャ感知式キーボード上の前記ジェスチャの位置を複数の時点でサンプリングするためのサンプリング手段をさらに備え、前記サンプリング手段は、所定の頻度でサンプリングを行うよう構成されている、
    ことを特徴とする請求項8に記載のシステム。
  10. 前記特徴識別手段は、前記ユーザが前記ジェスチャ感知式キーボードのターゲットを通過しようとした可能性のある前記ジェスチャ感知式キーボード上のジェスチャの位置を識別することにより、前記複数のサンプルから1又はそれ以上の特徴を生成するように構成され、前記特徴の位置は、前記ターゲットの最も近くを通ったジェスチャの位置である、
    ことを特徴とする請求項8又は9に記載のシステム。
  11. 前記特徴識別手段は、前記複数のターゲット毎に特徴を識別するように構成される、
    ことを特徴とする請求項10に記載のシステム。
  12. 前記プレフィックスツリー生成手段は、前記1又はそれ以上の特徴を所与として許可される辞書プレフィックスツリーの用語を保持することにより、前記用語プレフィックスツリーを生成するように構成され、前記プレフィックスツリー生成手段は、前記プレフィックスツリーに、前記特徴識別手段によって特徴として識別されていない前記辞書プレフィックスツリーの用語の一部の文字に対応するノードを挿入するように構成される
    ことを特徴とする請求項8から11のいずれか1項に記載のシステム。
  13. 前記複数のターゲットは、アルファベット文字、及び任意にスペースキー及び/又は句読記号などの単語境界の区切り文字に対応する
    ことを特徴とする請求項8から12のいずれか1項に記載のシステム。
  14. 前記プレフィックスツリー生成手段は、前記単語境界の区切り文字に対応するノードにおいて、新たな用語プレフィックスツリーを生成するように構成される、
    ことを特徴とする請求項に記載のシステム。
  15. 前記予測子は、ジェスチャ感知式キーボード上の1又はそれ以上の文字上で、ユーザが1又はそれ以上の単語のプレフィックスを示すように意図されたジェスチャを行うことに対応する単一の連続ジェスチャに基づいて前記単語を予測するように構成される、
    ことを特徴とする請求項8から14のいずれか1項に記載のシステム。
  16. 前記予測子は、ジェスチャ感知式キーボード上の複数の単語を表す文字上でユーザがジェスチャを行うことに対応する単一の連続ジェスチャに基づいて、一連の2又はそれ上の単語を含む語句を予測するように構成される、
    ことを特徴とする請求項8から14のいずれか1項に記載のシステム。
JP2014551669A 2012-01-16 2012-11-30 テキスト入力のためのシステム及び方法 Active JP6169612B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
GBGB1200643.3A GB201200643D0 (en) 2012-01-16 2012-01-16 System and method for inputting text
GB1200643.3 2012-01-16
PCT/GB2012/052981 WO2013107998A1 (en) 2012-01-16 2012-11-30 A system and method for inputting text

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2017126156A Division JP6492239B2 (ja) 2012-01-16 2017-06-28 テキスト入力のためのシステム及び方法

Publications (3)

Publication Number Publication Date
JP2015503807A JP2015503807A (ja) 2015-02-02
JP2015503807A5 JP2015503807A5 (ja) 2016-01-21
JP6169612B2 true JP6169612B2 (ja) 2017-07-26

Family

ID=45814040

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2014551669A Active JP6169612B2 (ja) 2012-01-16 2012-11-30 テキスト入力のためのシステム及び方法
JP2017126156A Active JP6492239B2 (ja) 2012-01-16 2017-06-28 テキスト入力のためのシステム及び方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2017126156A Active JP6492239B2 (ja) 2012-01-16 2017-06-28 テキスト入力のためのシステム及び方法

Country Status (7)

Country Link
US (2) US9563348B2 (ja)
EP (1) EP2805218B1 (ja)
JP (2) JP6169612B2 (ja)
KR (1) KR102062931B1 (ja)
CN (1) CN104272222B (ja)
GB (1) GB201200643D0 (ja)
WO (1) WO2013107998A1 (ja)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201003628D0 (en) * 2010-03-04 2010-04-21 Touchtype Ltd System and method for inputting text into electronic devices
WO2013119712A1 (en) 2012-02-06 2013-08-15 Colby Michael K Character-string completion
WO2014019085A1 (en) * 2012-08-01 2014-02-06 Whirlscape, Inc. One-dimensional input system and method
US8782549B2 (en) 2012-10-05 2014-07-15 Google Inc. Incremental feature-based gesture-keyboard decoding
US9021380B2 (en) 2012-10-05 2015-04-28 Google Inc. Incremental multi-touch gesture recognition
US8843845B2 (en) 2012-10-16 2014-09-23 Google Inc. Multi-gesture text input prediction
US8701032B1 (en) 2012-10-16 2014-04-15 Google Inc. Incremental multi-word recognition
US8850350B2 (en) 2012-10-16 2014-09-30 Google Inc. Partial gesture text entry
US8819574B2 (en) 2012-10-22 2014-08-26 Google Inc. Space prediction for text input
GB201223450D0 (en) 2012-12-27 2013-02-13 Touchtype Ltd Search and corresponding method
GB201322037D0 (en) * 2013-12-12 2014-01-29 Touchtype Ltd System and method for inputting images/labels into electronic devices
US10664657B2 (en) 2012-12-27 2020-05-26 Touchtype Limited System and method for inputting images or labels into electronic devices
US8832589B2 (en) 2013-01-15 2014-09-09 Google Inc. Touch keyboard using language and spatial models
US9646605B2 (en) * 2013-01-22 2017-05-09 Interactive Intelligence Group, Inc. False alarm reduction in speech recognition systems using contextual information
CN105431809B (zh) * 2013-03-15 2018-12-18 谷歌有限责任公司 用于国际语言的虚拟键盘输入
US9081500B2 (en) 2013-05-03 2015-07-14 Google Inc. Alternative hypothesis error correction for gesture typing
CN103699321A (zh) * 2013-11-30 2014-04-02 张剑文 智能手机滑动选择字母、字母随手指波动的方法
US20150153949A1 (en) * 2013-12-03 2015-06-04 Google Inc. Task selections associated with text inputs
US20150286402A1 (en) * 2014-04-08 2015-10-08 Qualcomm Incorporated Live non-visual feedback during predictive text keyboard operation
KR101527354B1 (ko) * 2014-05-20 2015-06-09 한국전자통신연구원 가상 키보드 상의 입력값을 생성하는 장치 및 그 방법
GB201418402D0 (en) * 2014-10-16 2014-12-03 Touchtype Ltd Text prediction integration
JP6402611B2 (ja) * 2014-12-04 2018-10-10 富士通株式会社 入力制御方法、入力制御プログラム、及び情報処理装置
US9996258B2 (en) * 2015-03-12 2018-06-12 Google Llc Suggestion selection during continuous gesture input
US10402734B2 (en) * 2015-08-26 2019-09-03 Google Llc Temporal based word segmentation
US10786182B2 (en) 2015-09-09 2020-09-29 The Joan and Irwin Jacobs Technion-Cornell Institute System and method for passive remote monitoring of patients' fine motor behavior
US10771427B2 (en) * 2016-02-18 2020-09-08 Versign, Inc. Systems and methods for determining character entry dynamics for text segmentation
US20180018086A1 (en) * 2016-07-14 2018-01-18 Google Inc. Pressure-based gesture typing for a graphical keyboard
US10884610B2 (en) 2016-11-04 2021-01-05 Myscript System and method for recognizing handwritten stroke input
JP6859711B2 (ja) * 2017-01-13 2021-04-14 オムロン株式会社 文字列入力装置、入力文字列推定方法、および入力文字列推定プログラム
CN106843737B (zh) * 2017-02-13 2020-05-08 北京新美互通科技有限公司 文本输入方法、装置及终端设备
CN107050839A (zh) * 2017-04-14 2017-08-18 安徽大学 基于uct算法的亚马逊棋机器博弈***
EP3613060A1 (en) * 2017-04-20 2020-02-26 Koninklijke Philips N.V. Learning and applying contextual similarities between entities
CN108845682B (zh) * 2018-06-28 2022-02-25 北京金山安全软件有限公司 一种输入预测方法及装置
CN110888577B (zh) * 2018-09-10 2021-09-28 百度在线网络技术(北京)有限公司 字符纠正方法、装置、设备以及存储介质
JP2020042625A (ja) 2018-09-12 2020-03-19 株式会社東海理化電機製作所 触覚呈示装置及び触覚呈示方法
KR20220049407A (ko) 2020-10-14 2022-04-21 삼성전자주식회사 디스플레이 장치 및 그 제어 방법
CN112835920B (zh) * 2021-01-22 2022-10-14 河海大学 基于混合存储模式的分布式sparql查询优化方法
US11893983B2 (en) * 2021-06-23 2024-02-06 International Business Machines Corporation Adding words to a prefix tree for improving speech recognition
CN113569027B (zh) * 2021-07-27 2024-02-13 北京百度网讯科技有限公司 一种文档标题处理方法、装置及电子设备
US11977852B2 (en) 2022-01-12 2024-05-07 Bank Of America Corporation Anaphoric reference resolution using natural language processing and machine learning
CN114103845B (zh) * 2022-01-25 2022-04-15 星河智联汽车科技有限公司 一种车辆中控屏操作者身份识别方法、装置及车辆

Family Cites Families (178)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6418871A (en) * 1987-07-13 1989-01-23 Ricoh Kk Kana/kanji converter
US5027406A (en) 1988-12-06 1991-06-25 Dragon Systems, Inc. Method for interactive speech recognition and training
CA2006163A1 (en) 1988-12-21 1990-06-21 Alfred B. Freeman Keyboard express typing system
US5477451A (en) 1991-07-25 1995-12-19 International Business Machines Corp. Method and system for natural language translation
US5963671A (en) 1991-11-27 1999-10-05 International Business Machines Corporation Enhancement of soft keyboard operations using trigram prediction
JPH05290030A (ja) 1992-04-08 1993-11-05 Sharp Corp 文書処理装置
US5664059A (en) 1993-04-29 1997-09-02 Panasonic Technologies, Inc. Self-learning speaker adaptation based on spectral variation source decomposition
US5612690A (en) 1993-06-03 1997-03-18 Levy; David Compact keypad system and method
US5671426A (en) 1993-06-22 1997-09-23 Kurzweil Applied Intelligence, Inc. Method for organizing incremental search dictionary
US6304841B1 (en) 1993-10-28 2001-10-16 International Business Machines Corporation Automatic construction of conditional exponential models from elementary features
US5510981A (en) 1993-10-28 1996-04-23 International Business Machines Corporation Language translation apparatus and method using context-based translation models
JP3403838B2 (ja) 1994-10-28 2003-05-06 三菱電機株式会社 句境界確率計算装置および句境界確率利用連続音声認識装置
US5748512A (en) 1995-02-28 1998-05-05 Microsoft Corporation Adjusting keyboard
US5680511A (en) 1995-06-07 1997-10-21 Dragon Systems, Inc. Systems and methods for word recognition
JP4326591B2 (ja) 1995-07-26 2009-09-09 テジック・コミュニケーションズ・インコーポレーテッド 減少型キーボード曖昧さ除去システム
US5953541A (en) 1997-01-24 1999-09-14 Tegic Communications, Inc. Disambiguating system for disambiguating ambiguous input sequences by displaying objects associated with the generated input sequences in the order of decreasing frequency of use
US6009444A (en) 1997-02-24 1999-12-28 Motorola, Inc. Text input device and method
JPH10275046A (ja) 1997-03-31 1998-10-13 Toshiba Corp 単語入力装置及び方法
US6054941A (en) 1997-05-27 2000-04-25 Motorola, Inc. Apparatus and method for inputting ideographic characters
DE69837979T2 (de) 1997-06-27 2008-03-06 International Business Machines Corp. System zum Extrahieren einer mehrsprachigen Terminologie
US6052657A (en) 1997-09-09 2000-04-18 Dragon Systems, Inc. Text segmentation and identification of topic using language models
ES2182363T3 (es) 1997-09-25 2003-03-01 Tegic Communications Inc Sistema de resolucion de ambiguedades de teclado reducido.
US6125342A (en) 1997-11-18 2000-09-26 L & H Applications Usa, Inc. Pronoun semantic analysis system and method
US6219632B1 (en) 1997-11-20 2001-04-17 International Business Machines Corporation System for the facilitation of supporting multiple concurrent languages through the use of semantic knowledge representation
JPH11167569A (ja) 1997-12-02 1999-06-22 Sony Corp 文章入力装置及び方法並びに記録媒体
JP3272288B2 (ja) 1997-12-24 2002-04-08 日本アイ・ビー・エム株式会社 機械翻訳装置および機械翻訳方法
US6052443A (en) 1998-05-14 2000-04-18 Motorola Alphanumeric message composing method using telephone keypad
US6253169B1 (en) 1998-05-28 2001-06-26 International Business Machines Corporation Method for improvement accuracy of decision tree based text categorization
US6104989A (en) 1998-07-29 2000-08-15 International Business Machines Corporation Real time detection of topical changes and topic identification via likelihood based methods
US6393399B1 (en) 1998-09-30 2002-05-21 Scansoft, Inc. Compound word recognition
US6321192B1 (en) 1998-10-22 2001-11-20 International Business Machines Corporation Adaptive learning method and system that matches keywords using a parsed keyword data structure having a hash index based on an unicode value
DE19849855C1 (de) 1998-10-29 2000-04-27 Ibm Verfahren zur automatischen Generierung einer textlichen Äußerung aus einer Bedeutungsrepräsentation durch ein Computersystem
US7712053B2 (en) 1998-12-04 2010-05-04 Tegic Communications, Inc. Explicit character filtering of ambiguous text entry
US6885317B1 (en) 1998-12-10 2005-04-26 Eatoni Ergonomics, Inc. Touch-typable devices based on ambiguous codes and methods to design such devices
US6460015B1 (en) 1998-12-15 2002-10-01 International Business Machines Corporation Method, system and computer program product for automatic character transliteration in a text string object
US6362752B1 (en) 1998-12-23 2002-03-26 Motorola, Inc. Keypad with strokes assigned to key for ideographic text input
AU3267700A (en) 1999-03-18 2000-10-09 602531 British Columbia Ltd. Data entry for personal computing devices
US6204848B1 (en) 1999-04-14 2001-03-20 Motorola, Inc. Data entry apparatus having a limited number of character keys and method
US6275792B1 (en) 1999-05-05 2001-08-14 International Business Machines Corp. Method and system for generating a minimal set of test phrases for testing a natural commands grammar
US7821503B2 (en) 2003-04-09 2010-10-26 Tegic Communications, Inc. Touch screen and graphical user interface
US7750891B2 (en) 2003-04-09 2010-07-06 Tegic Communications, Inc. Selective input system based on tracking of motion parameters of an input device
US7610194B2 (en) 2002-07-18 2009-10-27 Tegic Communications, Inc. Dynamic database reordering system
US7030863B2 (en) 2000-05-26 2006-04-18 America Online, Incorporated Virtual keyboard system with automatic correction
US6327561B1 (en) 1999-07-07 2001-12-04 International Business Machines Corp. Customized tokenization of domain specific text via rules corresponding to a speech recognition vocabulary
US6993476B1 (en) 1999-08-26 2006-01-31 International Business Machines Corporation System and method for incorporating semantic characteristics into the format-driven syntactic document transcoding framework
US6484136B1 (en) 1999-10-21 2002-11-19 International Business Machines Corporation Language model adaptation via network of similar users
US6848080B1 (en) 1999-11-05 2005-01-25 Microsoft Corporation Language input architecture for converting one text form to another text form with tolerance to spelling, typographical, and conversion errors
US6904402B1 (en) 1999-11-05 2005-06-07 Microsoft Corporation System and iterative method for lexicon, segmentation and language model joint optimization
US7177795B1 (en) 1999-11-10 2007-02-13 International Business Machines Corporation Methods and apparatus for semantic unit based automatic indexing and searching in data archive systems
US6621424B1 (en) * 2000-02-18 2003-09-16 Mitsubishi Electric Research Laboratories Inc. Method for predicting keystroke characters on single pointer keyboards and apparatus therefore
US6646572B1 (en) * 2000-02-18 2003-11-11 Mitsubish Electric Research Laboratories, Inc. Method for designing optimal single pointer predictive keyboards and apparatus therefore
US6490549B1 (en) 2000-03-30 2002-12-03 Scansoft, Inc. Automatic orthographic transformation of a text stream
US6865528B1 (en) 2000-06-01 2005-03-08 Microsoft Corporation Use of a unified language model
US6519557B1 (en) 2000-06-06 2003-02-11 International Business Machines Corporation Software and method for recognizing similarity of documents written in different languages based on a quantitative measure of similarity
US6724936B1 (en) 2000-08-23 2004-04-20 Art-Advanced Recognition Technologies, Ltd. Handwriting input device and method using a single character set
EP1315980B1 (en) * 2000-09-08 2006-10-04 Raytheon Company Path prediction system and method
US7092870B1 (en) 2000-09-15 2006-08-15 International Business Machines Corporation System and method for managing a textual archive using semantic units
US7277732B2 (en) 2000-10-13 2007-10-02 Microsoft Corporation Language input system for mobile devices
CA2323856A1 (en) 2000-10-18 2002-04-18 602531 British Columbia Ltd. Method, system and media for entering data in a personal computing device
US6963831B1 (en) 2000-10-25 2005-11-08 International Business Machines Corporation Including statistical NLU models within a statistical parser
GB0103053D0 (en) 2001-02-07 2001-03-21 Nokia Mobile Phones Ltd A communication terminal having a predictive text editor application
US7395205B2 (en) 2001-02-13 2008-07-01 International Business Machines Corporation Dynamic language model mixtures with history-based buckets
US7426505B2 (en) 2001-03-07 2008-09-16 International Business Machines Corporation Method for identifying word patterns in text
US6813616B2 (en) 2001-03-07 2004-11-02 International Business Machines Corporation System and method for building a semantic network capable of identifying word patterns in text
US7385591B2 (en) 2001-03-31 2008-06-10 Microsoft Corporation Out-of-vocabulary word determination and user interface for text input via reduced keypad keys
US6625600B2 (en) 2001-04-12 2003-09-23 Telelogue, Inc. Method and apparatus for automatically processing a user's communication
US6925433B2 (en) 2001-05-09 2005-08-02 International Business Machines Corporation System and method for context-dependent probabilistic modeling of words and documents
US7269546B2 (en) 2001-05-09 2007-09-11 International Business Machines Corporation System and method of finding documents related to other documents and of finding related words in response to a query to refine a search
US6671670B2 (en) 2001-06-27 2003-12-30 Telelogue, Inc. System and method for pre-processing information used by an automated attendant
US20030007018A1 (en) 2001-07-09 2003-01-09 Giovanni Seni Handwriting user interface for personal digital assistants and the like
US7610189B2 (en) 2001-10-18 2009-10-27 Nuance Communications, Inc. Method and apparatus for efficient segmentation of compound words using probabilistic breakpoint traversal
US6792414B2 (en) * 2001-10-19 2004-09-14 Microsoft Corporation Generalized keyword matching for keyword based searching over relational databases
US7075520B2 (en) 2001-12-12 2006-07-11 Zi Technology Corporation Ltd Key press disambiguation using a keypad of multidirectional keys
GB0200352D0 (en) 2002-01-09 2002-02-20 Ibm Finite state dictionary and method of production thereof
US7111248B2 (en) 2002-01-15 2006-09-19 Openwave Systems Inc. Alphanumeric information input method
US7949513B2 (en) 2002-01-22 2011-05-24 Zi Corporation Of Canada, Inc. Language module and method for use with text processing devices
US7175438B2 (en) 2002-03-01 2007-02-13 Digit Wireless Fast typing system and method
ATE436083T1 (de) 2002-05-23 2009-07-15 Digit Wireless Llc Elektrischer tastschalter
US7493253B1 (en) 2002-07-12 2009-02-17 Language And Computing, Inc. Conceptual world representation natural language understanding system and method
US7151530B2 (en) 2002-08-20 2006-12-19 Canesta, Inc. System and method for determining an input selected by a user through a virtual interface
FI20021759A0 (fi) 2002-10-03 2002-10-03 Nokia Corp Menetelmä ja käyttöliittymä tekstin syöttämiseen
EP2544102A1 (en) 2002-11-28 2013-01-09 Nuance Communications Austria GmbH Method to assign word class information
US7199786B2 (en) 2002-11-29 2007-04-03 Daniel Suraqui Reduced keyboards system using unistroke input and having automatic disambiguating and a recognition method using said system
US7251367B2 (en) 2002-12-20 2007-07-31 International Business Machines Corporation System and method for recognizing word patterns based on a virtual keyboard layout
US7453439B1 (en) 2003-01-16 2008-11-18 Forward Input Inc. System and method for continuous stroke word-based text input
US7098896B2 (en) 2003-01-16 2006-08-29 Forword Input Inc. System and method for continuous stroke word-based text input
US7382358B2 (en) 2003-01-16 2008-06-03 Forword Input, Inc. System and method for continuous stroke word-based text input
US7129932B1 (en) 2003-03-26 2006-10-31 At&T Corp. Keyboard for interacting on small devices
WO2005020091A1 (en) 2003-08-21 2005-03-03 Idilia Inc. System and method for processing text utilizing a suite of disambiguation techniques
US7475010B2 (en) 2003-09-03 2009-01-06 Lingospot, Inc. Adaptive and scalable method for resolving natural language ambiguities
US7366666B2 (en) 2003-10-01 2008-04-29 International Business Machines Corporation Relative delta computations for determining the meaning of language inputs
WO2005050474A2 (en) 2003-11-21 2005-06-02 Philips Intellectual Property & Standards Gmbh Text segmentation and label assignment with user interaction by means of topic specific language models and topic-specific label statistics
US8136050B2 (en) 2003-11-21 2012-03-13 Nuance Communications, Inc. Electronic device and user interface and input method therefor
US7250938B2 (en) 2004-01-06 2007-07-31 Lenovo (Singapore) Pte. Ltd. System and method for improved user input on personal computing devices
US7362305B2 (en) 2004-02-10 2008-04-22 Senseboard Technologies Ab Data input device
US7706616B2 (en) 2004-02-27 2010-04-27 International Business Machines Corporation System and method for recognizing word patterns in a very large vocabulary based on a virtual keyboard layout
US7555732B2 (en) 2004-03-12 2009-06-30 Steven Van der Hoeven Apparatus method and system for a data entry interface
US7478033B2 (en) 2004-03-16 2009-01-13 Google Inc. Systems and methods for translating Chinese pinyin to Chinese characters
US7187365B2 (en) 2004-03-31 2007-03-06 Motorola, Inc. Indic intermediate code and electronic device therefor
US7508324B2 (en) 2004-08-06 2009-03-24 Daniel Suraqui Finger activated reduced keyboard and a method for performing text input
US7758264B2 (en) 2004-08-13 2010-07-20 5 Examples, Inc. One-row keyboard
US20130304453A9 (en) 2004-08-20 2013-11-14 Juergen Fritsch Automated Extraction of Semantic Content and Generation of a Structured Document from Speech
US7373248B2 (en) 2004-09-10 2008-05-13 Atx Group, Inc. Systems and methods for off-board voice-automated vehicle navigation
US20060055669A1 (en) 2004-09-13 2006-03-16 Mita Das Fluent user interface for text entry on touch-sensitive display
JP2006127488A (ja) 2004-09-29 2006-05-18 Toshiba Corp 入力装置、コンピュータ装置、情報処理方法及び情報処理プログラム
US7610191B2 (en) 2004-10-06 2009-10-27 Nuance Communications, Inc. Method for fast semi-automatic semantic annotation
US20060117307A1 (en) 2004-11-24 2006-06-01 Ramot At Tel-Aviv University Ltd. XML parser
CN100550011C (zh) 2004-11-29 2009-10-14 广东瑞图万方科技有限公司 建立联想输入***的方法及对应的联想输入***和方法
US7630980B2 (en) 2005-01-21 2009-12-08 Prashant Parikh Automatic dynamic contextual data entry completion system
US7734471B2 (en) 2005-03-08 2010-06-08 Microsoft Corporation Online learning for dialog systems
US7487461B2 (en) 2005-05-04 2009-02-03 International Business Machines Corporation System and method for issuing commands based on pen motions on a graphical keyboard
US8036878B2 (en) 2005-05-18 2011-10-11 Never Wall Treuhand GmbH Device incorporating improved text input mechanism
US20090193334A1 (en) 2005-05-18 2009-07-30 Exb Asset Management Gmbh Predictive text input system and method involving two concurrent ranking means
US8374846B2 (en) 2005-05-18 2013-02-12 Neuer Wall Treuhand Gmbh Text input device and method
EP1727024A1 (en) 2005-05-27 2006-11-29 Sony Ericsson Mobile Communications AB Automatic language selection for text input in messaging context
US7496513B2 (en) 2005-06-28 2009-02-24 Microsoft Corporation Combined input processing for a computing device
US20070067744A1 (en) 2005-08-11 2007-03-22 Lane David M System and method for the anticipation and execution of icon selection in graphical user interfaces
US7827484B2 (en) 2005-09-02 2010-11-02 Xerox Corporation Text correction for PDF converters
WO2007035827A2 (en) 2005-09-20 2007-03-29 Forward Input, Inc. System and method for continuous stroke word-based text input
US20070094024A1 (en) 2005-10-22 2007-04-26 International Business Machines Corporation System and method for improving text input in a shorthand-on-keyboard interface
US20070115343A1 (en) 2005-11-22 2007-05-24 Sony Ericsson Mobile Communications Ab Electronic equipment and methods of generating text in electronic equipment
US8010343B2 (en) 2005-12-15 2011-08-30 Nuance Communications, Inc. Disambiguation systems and methods for use in generating grammars
US7574672B2 (en) 2006-01-05 2009-08-11 Apple Inc. Text entry interface for a portable communication device
CN101034390A (zh) 2006-03-10 2007-09-12 日电(中国)有限公司 用于语言模型切换和自适应的装置和方法
US8462118B2 (en) 2006-06-19 2013-06-11 Nuance Communications, Inc. Data entry system and method of entering data
US7586423B2 (en) 2006-06-30 2009-09-08 Research In Motion Limited Handheld electronic device and method for dual-mode disambiguation of text input
US7856350B2 (en) 2006-08-11 2010-12-21 Microsoft Corporation Reranking QA answers using language modeling
US7774197B1 (en) 2006-09-27 2010-08-10 Raytheon Bbn Technologies Corp. Modular approach to building large language models
US7793228B2 (en) * 2006-10-13 2010-09-07 Apple Inc. Method, system, and graphical user interface for text entry with partial word display
US20080126075A1 (en) 2006-11-27 2008-05-29 Sony Ericsson Mobile Communications Ab Input prediction
US7698326B2 (en) 2006-11-27 2010-04-13 Sony Ericsson Mobile Communications Ab Word prediction
US8074172B2 (en) 2007-01-05 2011-12-06 Apple Inc. Method, system, and graphical user interface for providing word recommendations
US8225203B2 (en) 2007-02-01 2012-07-17 Nuance Communications, Inc. Spell-check for a keyboard system with automatic correction
US8201087B2 (en) 2007-02-01 2012-06-12 Tegic Communications, Inc. Spell-check for a keyboard system with automatic correction
US7912700B2 (en) 2007-02-08 2011-03-22 Microsoft Corporation Context based word prediction
US8768689B2 (en) 2007-02-14 2014-07-01 Nuance Communications, Inc. Method and system for translation management of source language text phrases
US7809575B2 (en) 2007-02-27 2010-10-05 Nuance Communications, Inc. Enabling global grammars for a particular multimodal application
CN105117376B (zh) 2007-04-10 2018-07-10 谷歌有限责任公司 多模式输入法编辑器
US7895518B2 (en) * 2007-04-27 2011-02-22 Shapewriter Inc. System and method for preview and selection of words
WO2008133619A2 (en) 2007-04-27 2008-11-06 Shapewriter Inc. System and method for preview and selection of words
US8639826B2 (en) * 2007-05-07 2014-01-28 Fourthwall Media, Inc. Providing personalized resources on-demand over a broadband network to consumer device applications
US8065624B2 (en) 2007-06-28 2011-11-22 Panasonic Corporation Virtual keypad systems and methods
CN101122901B (zh) 2007-09-25 2011-11-09 腾讯科技(深圳)有限公司 中文整句生成方法及装置
US8364694B2 (en) * 2007-10-26 2013-01-29 Apple Inc. Search assistant for digital media assets
US7953692B2 (en) 2007-12-07 2011-05-31 Microsoft Corporation Predicting candidates using information sources
US8232973B2 (en) 2008-01-09 2012-07-31 Apple Inc. Method, device, and graphical user interface providing word recommendations for text input
US8010465B2 (en) 2008-02-26 2011-08-30 Microsoft Corporation Predicting candidates using input scopes
US8484582B2 (en) 2008-05-12 2013-07-09 Nuance Communications, Inc. Entry selection from long entry lists
DE602008005428D1 (de) 2008-06-11 2011-04-21 Exb Asset Man Gmbh Vorrichtung und Verfahren mit verbessertem Texteingabemechanismus
WO2010003155A1 (en) 2008-07-03 2010-01-07 Nuance Communications, Inc. Methods and systems for processing japanese text on a mobile device
CN101620469B (zh) 2008-07-04 2013-03-27 索尼(中国)有限公司 字元输入装置及其方法
US8117144B2 (en) 2008-12-12 2012-02-14 Nuance Communications, Inc. Generating predilection cohorts
US8669941B2 (en) 2009-01-05 2014-03-11 Nuance Communications, Inc. Method and apparatus for text entry
US20100199226A1 (en) * 2009-01-30 2010-08-05 Nokia Corporation Method and Apparatus for Determining Input Information from a Continuous Stroke Input
US20100235780A1 (en) 2009-03-16 2010-09-16 Westerman Wayne C System and Method for Identifying Words Based on a Sequence of Keyboard Events
GB0905457D0 (en) 2009-03-30 2009-05-13 Touchtype Ltd System and method for inputting text into electronic devices
GB0917753D0 (en) 2009-10-09 2009-11-25 Touchtype Ltd System and method for inputting text into electronic devices
GB201016385D0 (en) 2010-09-29 2010-11-10 Touchtype Ltd System and method for inputting text into electronic devices
US20100315266A1 (en) 2009-06-15 2010-12-16 Microsoft Corporation Predictive interfaces with usability constraints
US9110515B2 (en) 2009-08-19 2015-08-18 Nuance Communications, Inc. Method and apparatus for text input
US20110063231A1 (en) * 2009-09-14 2011-03-17 Invotek, Inc. Method and Device for Data Input
US8135582B2 (en) * 2009-10-04 2012-03-13 Daniel Suraqui Keyboard system and method for global disambiguation from classes with dictionary database from first and last letters
JP2011090356A (ja) * 2009-10-20 2011-05-06 Nec Corp データ処理装置、そのコンピュータプログラムおよびデータ処理方法
US20110106792A1 (en) 2009-11-05 2011-05-05 I2 Limited System and method for word matching and indexing
US8884872B2 (en) * 2009-11-20 2014-11-11 Nuance Communications, Inc. Gesture-based repetition of key activations on a virtual keyboard
US8782556B2 (en) 2010-02-12 2014-07-15 Microsoft Corporation User-centric soft keyboard predictive technologies
KR101557358B1 (ko) * 2010-02-25 2015-10-06 엘지전자 주식회사 문자열 입력 방법 및 그 장치
GB201003628D0 (en) 2010-03-04 2010-04-21 Touchtype Ltd System and method for inputting text into electronic devices
US9104312B2 (en) 2010-03-12 2015-08-11 Nuance Communications, Inc. Multimodal text input system, such as for use with touch screens on mobile phones
JP5615583B2 (ja) * 2010-04-08 2014-10-29 京セラ株式会社 文字入力装置、文字入力方法および文字入力プログラム
US9552125B2 (en) 2010-05-21 2017-01-24 Google Inc. Input method editor
US8918734B2 (en) 2010-07-28 2014-12-23 Nuance Communications, Inc. Reduced keyboard with prediction solutions when input is a partial sliding trajectory
US10037319B2 (en) 2010-09-29 2018-07-31 Touchtype Limited User input prediction
CN102117175A (zh) 2010-09-29 2011-07-06 北京搜狗科技发展有限公司 一种滑行输入中文的方法、装置和触摸屏输入法***
US9092425B2 (en) 2010-12-08 2015-07-28 At&T Intellectual Property I, L.P. System and method for feature-rich continuous space language models
US20120167009A1 (en) 2010-12-22 2012-06-28 Apple Inc. Combining timing and geometry information for typing correction
CN102253929A (zh) 2011-06-03 2011-11-23 北京搜狗科技发展有限公司 一种提示用户输入字符的方法和装置
US9223497B2 (en) 2012-03-16 2015-12-29 Blackberry Limited In-context word prediction and word correction

Also Published As

Publication number Publication date
EP2805218B1 (en) 2019-07-10
JP2015503807A (ja) 2015-02-02
CN104272222B (zh) 2017-11-07
KR102062931B1 (ko) 2020-01-06
US9563348B2 (en) 2017-02-07
KR20140119734A (ko) 2014-10-10
US20170102869A1 (en) 2017-04-13
EP2805218A1 (en) 2014-11-26
JP6492239B2 (ja) 2019-04-03
US10613746B2 (en) 2020-04-07
JP2017199410A (ja) 2017-11-02
GB201200643D0 (en) 2012-02-29
CN104272222A (zh) 2015-01-07
US20140359515A1 (en) 2014-12-04
WO2013107998A1 (en) 2013-07-25

Similar Documents

Publication Publication Date Title
JP6492239B2 (ja) テキスト入力のためのシステム及び方法
US11614862B2 (en) System and method for inputting text into electronic devices
US10474355B2 (en) Input pattern detection over virtual keyboard for candidate word identification
JP6492238B2 (ja) ユーザ入力予測
US9659002B2 (en) System and method for inputting text into electronic devices
JP5731281B2 (ja) 文字入力装置およびプログラム
JP5852930B2 (ja) 入力文字推定装置およびプログラム
US9189472B2 (en) System and method for inputting text into small screen devices
JP2019526142A (ja) 検索語句の誤り訂正方法および装置
JP6335794B2 (ja) ユーザデータ入力の予測
CN106164932B (zh) 用于识别音乐符号的方法和装置
EP3772015B1 (en) Text line extraction
KR102209076B1 (ko) 가상 키보드 오타 보정을 위한 방법과 시스템 및 비-일시적인 컴퓨터 판독가능한 기록 매체
JP2012173959A (ja) 文字認識装置及びプログラム
JP5014813B2 (ja) 手書き文字入力装置および手書き文字入力プログラム
JP6798055B1 (ja) 情報処理装置、情報処理方法、プログラムおよび順序情報
JP2023135489A (ja) 情報処理装置、および、情報処理方法とプログラム
JP2015170044A (ja) 依存構造解析方法、装置、及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151120

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151120

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20160421

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20160421

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160915

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161004

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161226

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170605

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170628

R150 Certificate of patent or registration of utility model

Ref document number: 6169612

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250