JP6140668B2 - 携帯電話のタッチスクリーンとの使用等のためのマルチモーダルテキスト入力システム - Google Patents

携帯電話のタッチスクリーンとの使用等のためのマルチモーダルテキスト入力システム Download PDF

Info

Publication number
JP6140668B2
JP6140668B2 JP2014220009A JP2014220009A JP6140668B2 JP 6140668 B2 JP6140668 B2 JP 6140668B2 JP 2014220009 A JP2014220009 A JP 2014220009A JP 2014220009 A JP2014220009 A JP 2014220009A JP 6140668 B2 JP6140668 B2 JP 6140668B2
Authority
JP
Japan
Prior art keywords
input
user
word
key
selection
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.)
Expired - Fee Related
Application number
JP2014220009A
Other languages
English (en)
Other versions
JP2015057721A (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 JP2015057721A publication Critical patent/JP2015057721A/ja
Application granted granted Critical
Publication of JP6140668B2 publication Critical patent/JP6140668B2/ja
Expired - Fee Related 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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3322Query formulation using system suggestions
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • 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
    • 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/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/237Lexical tools
    • G06F40/242Dictionaries
    • 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/038Indexing scheme relating to G06F3/038
    • G06F2203/0381Multimodal input, i.e. interface arrangements enabling the user to issue commands by simultaneous use of input devices of different nature, e.g. voice plus gesture on digitizer

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)
  • Computational Linguistics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Input From Keyboards Or The Like (AREA)
  • User Interface Of Digital Computer (AREA)
  • Telephone Function (AREA)
  • Position Input By Displaying (AREA)

Description

(関連出願の引用)
本願は、同一人に譲渡された以下の出願を基礎とする優先権を主張する。これらの出願は、その全体が参照により本明細書に引用される:米国仮特許出願第61/313,454号(2010年3月12日出願、名称「Method and Apparatus for Text Input」、(代理人事件番号71007.8045))、米国仮特許出願第61/313,864号(2010年3月15日出願、名称「Method and Apparatus for Text Input」、(代理人事件番号71007.8047))、米国仮特許出願第61/313,423号(2010年3月12日出願、名称「Method and Apparatus for Secure Data Transmission」、(代理人事件番号71007.8044))、および米国仮特許出願第61/316,799号(2010年3月23日出願、名称「Multimodal Text Input System, Such as for Use with Touch screens on Mobile Phones」、(代理人事件番号71007.8036))。
本願は、同一人に譲渡された以下のものにも関連する。これらの出願は、参照により本明細書に引用される:米国特許第6,307,549号(名称「REDUCED KEYBOARD DISAMBIGUATION SYSTEM」)、米国特許出願第11/379,006号(2006年4月17日出願、特許出願公開第2006/0274051号、名称「VIRTUAL KEYBOARD SYSTEMS WITH AUTOMATIC CORRECTION」)、米国特許出願第11/379,006号(2007年3月29日出願、名称「DISAMBIGUATION OF ICONS AND OTHER MEDIA IN TEXT−BASED APPLICATIONS」)、米国仮特許出願第61/313,564号(3/12/10出願)。
ユーザは、多くの種類のキーボードを含む、種々の入力デバイスを使用して、コンピュータおよび他のデータ処理システムにテキストを入力する。ほとんどの標準キーボードは、タイピストの両手に適応するよう大きいが、これはあまり携帯用ではないデバイスにつながる。ラップトップコンピュータは、時には一部のユーザにとってのタイピング効率を犠牲にして、キーボードのサイズを縮小しようとしてきた。
携帯電話、スマートフォン、および同等物等のあるモバイルデバイスは、そのようなデバイスでよく見られる形状因子を維持するために、さらに小さいキーボードを必要とする。いくつかの電話は、ユーザがボタンを作動させるために親指を使用し得る、キーボード上の各キーを区別するように、物理的なボタンを伴う小型キーパッドを含む。他のデバイスは、同様のサイズのキーボードを表示するタッチスクリーンを使用する。これらのより小さいキーボードの両方は、文字が読み難く、より遅い、および/または間違いを起こしやすいテキスト入力を提供し得る。
タッチスクリーンデバイスがますます人気になってきているが、消費者は、Eメール、テキストメッセージング、インスタントメッセージング、および他の活動等のために、テキストを入力するより簡単な方法を要求し続けている。しかしながら、これらのタッチスクリーンキーボードは、小型キーパッド対応物よりも多くの問題を抱える場合がある。そのようなキーボードのタッチスクリーン上のソフトキーは、入力エラーならびに他の問題につながり得る、低触覚フィードバックをユーザに提供する。
ここで、開示された技術の種々の実施例を説明する。以下の説明は、これらの実施例を徹底的に理解し、説明を可能にするために具体的詳細を提供する。しかしながら、当業者であれば、これらの詳細の多くがなくても、開示された技術が実践され得ることを理解するであろう。同様に、当業者であれば、開示された技術が、本明細書で詳細に説明されていない多くの他の明白な特徴を含み得ることも理解するであろう。加えて、関連説明を不必要に曖昧にすることを回避するように、いくつかの周知の構造または機能が、以下で詳細に図示または説明されないこともある。
以下で使用される用語は、たとえ開示された技術のある具体的実施例の詳細な説明と併せて使用されていても、その最も広い妥当な方式で解釈されるものである。実際に、ある用語は、以下で強調さえされ得るが、制限された方式で解釈されることを目的としている任意の用語は、この発明を実施するための形態の項の中等で、明白かつ具体的に定義される。
例えば、本発明は以下の項目を提供する。
(項目1)
データ入力の方法であって、
ユーザのマイクロジェスチャを含む第1のユーザ入力を受信するステップであって、前記マイクロジェスチャは、少なくとも第1の入力選択および第2の入力選択を示し、前記少なくとも第1の入力選択および第2の入力選択は、言葉全体未満を表す、ステップと、
前記第1のユーザ入力に基づいて、1つ以上の可能な言葉の提案を決定するステップと、
前記可能な言葉の提案を前記ユーザに提供するステップと
を含む、方法。
(項目2)
前記第1の入力選択から前記第2の入力選択へのジェスチャの中に屈曲があるかどうかを決定するステップをさらに含む、項目1に記載の方法。
(項目3)
屈曲が前記ジェスチャの中にあると決定された場合に、中間入力選択が前記ユーザによって意図されていることを決定するステップをさらに含む、項目2に記載の方法。
(項目4)
前記第1の入力選択からの前記ユーザ入力の移動の方向を決定するステップをさらに含む、項目1に記載の方法。
(項目5)
決定されたユーザ移動の方向に少なくとも部分的に基づいて、中間入力選択が前記ユーザによって意図されていることを決定するステップをさらに含む、項目4に記載の方法。
(項目6)
前記第1のユーザ入力は、モバイルデバイスのタッチスクリーンキーボード上で受信される、項目1に記載の方法。
(項目7)
前記第1のユーザ入力は、コンピューティングデバイスのタッチスクリーンキーボード上で受信される、項目1に記載の方法。
(項目8)
前記第1のユーザ入力は、テレビのセットトップボックスで受信され、前記第1のユーザ入力は、遠隔制御ポインタを採用して行われる、項目1に記載の方法。
(項目9)
データ入力の方法であって、
ユーザのマイクロジェスチャを含む第1のユーザ入力を受信するステップであって、前記マイクロジェスチャは、少なくとも第1の入力選択および第2の入力選択を示し、前記少なくとも第1の入力選択および第2の入力選択は、言葉全体未満を表す、ステップと、
前記第1のユーザ入力に基づいて、1つ以上の可能な言葉の提案を決定するステップと、
前記可能な言葉の提案を前記ユーザに提供するステップと、
ユーザのマイクロジェスチャを含む第2のユーザ入力を受信するステップであって、前記ユーザのマイクロジェスチャは、少なくとも第3の入力選択および第4の入力選択を示す、ステップと、
前記第1のユーザ入力および前記第2のユーザ入力に基づいて、1つ以上の可能な言葉の提案を決定するステップと、
前記可能な言葉の提案を前記ユーザに提供するステップと
を含む、方法。
(項目10)
プログラムされた命令を記憶するためのメモリと、
プロセッサ電子機器と
を含み、
前記プロセッサ電子機器は、
ユーザのマイクロジェスチャを含む第1のユーザ入力を受信することであって、前記マイクロジェスチャは、少なくとも第1の入力選択および第2の入力選択を示し、前記少なくとも第1の入力選択および第2の入力選択は、言葉全体未満を表す、ことと、
前記第1のユーザ入力に基づいて、1つ以上の可能な言葉の提案を決定することと、
前記可能な言葉の提案を前記ユーザに提供することと、
によるデータ入力の方法を行うために、前記命令を実行するように構成されている、
コンピュータシステム。
(項目11)
遠隔に位置するコンピューティングデバイスにおけるデータ入力の方法であって、
前記遠隔に位置するコンピューティングデバイスの入力選択デバイスを複数のゾーンに分割するステップであって、各ゾーンは、1つ以上のキーを含む、ステップと、
連続的に選択されたゾーンの一連のユーザ指示を受信するステップと、
前記選択されたゾーンの各々に関連付けられている1つ以上のキーの全てが選択されていると見なすステップと、
一連の連続的に選択された1つ以上のキーを遠隔データベース記憶場所に伝送するステップと、
一連の選択されたキーに従って入力された1つまたは複数の意図されたユーザの言葉を決定するためのアルゴリズムに、前記一連の連続的に選択された1つ以上のキーを入力するステップと、
決定された1つまたは複数の意図されたユーザの言葉を、前記遠隔に位置するコンピューティングデバイスに伝送するステップと、
前記決定された1つまたは複数の意図されたユーザの言葉のうちの1つの選択のユーザ指示を受信するステップと
を含む、方法。
(項目12)
前記1つまたは複数の意図されたユーザの言葉を決定するための前記アルゴリズムに従って、前記遠隔に位置するコンピューティングデバイスの1つ以上の特性を考慮するステップをさらに含む、項目11に記載の方法。
(項目13)
前記1つ以上の特性は、前記遠隔に位置するコンピューティングデバイスを採用するユーザの識別を含む、項目12に記載の方法。
(項目14)
前記1つ以上の特性は、前記遠隔に位置するコンピューティングデバイスのユーザに従った過去のテキスト入力選択の指示を含む、項目12に記載の方法。
(項目15)
前記アルゴリズムに従って、より最近の過去に行われたテキスト入力選択は、より遠い過去に行われたテキスト入力選択よりも重く加重される、項目14に記載の方法。
(項目16)
前記1つ以上の特性は、前記遠隔に位置するコンピューティングデバイスのユーザが関連付けられているグループを含む、項目12に記載の方法。
(項目17)
前記1つ以上の特性は、前記グループに従った過去のテキスト入力選択の指示をさらに含む、項目16に記載の方法。
(項目18)
前記アルゴリズムに従って、より最近の過去に、かつより頻繁に行われたテキスト入力選択は、より遠い過去に、かつ低頻度で行われたテキスト入力選択よりも重く加重される、項目14に記載の方法。
(項目19)
プログラムされた命令を記憶するように構成されているメモリと、
プロセッサ電子機器と
を含み、
前記プロセッサ電子機器は、
遠隔に位置するコンピューティングデバイスの入力選択デバイスを複数のゾーンに分割することであって、各ゾーンは、1つ以上のキーを含む、ことと、
連続的に選択されたゾーンの一連のユーザ指示を受信することと、
前記選択されたゾーンの各々に関連付けられている1つ以上のキーの全てが選択されていると見なすことと、
一連の連続的に選択された1つ以上のキーを遠隔データベース記憶場所に伝送することと、
一連の選択されたキーに従って入力された1つまたは複数の意図されたユーザの言葉を決定するためのアルゴリズムに、前記一連の連続的に選択された1つ以上のキーを入力することと、
決定された1つまたは複数の意図されたユーザの言葉を、前記遠隔に位置するコンピューティングデバイスに伝送することと、
前記決定された1つまたは複数の意図されたユーザの言葉のうちの1つの選択のユーザ指示を受信することと
によるデータ入力の方法を、前記遠隔に位置するコンピューティングデバイスにおいて行うために、前記プログラムされた命令を実行するように構成されている、
コンピュータシステム。
(項目20)
データ伝送の方法であって、
入力選択デバイスを複数のゾーンに分割するステップであって、各ゾーンは、少なくとも1つのゾーン出力キーに対応する2つ以上の入力キーを含む、ステップと、
複数の入力を受信するステップであって、各入力は、前記複数のゾーンのうちの1つにおけるキーの選択に関連付けられている、ステップと、
受信された前記複数の入力の各々に対応する複数のゾーン出力キーを出力するステップと
を含む、方法。
(項目21)
前記複数の入力文字は、パスワードを含む、項目20に記載の方法。
(項目22)
前記複数のゾーンの構成は、ゾーン定義を含む、項目20に記載の方法。
(項目23)
前記ゾーン定義は、前記ゾーン出力キーとともに出力される、項目20に記載の方法。
(項目24)
データ伝送の方法であって、
複数のゾーンレイアウト定義を定義するステップであって、各ゾーンレイアウト定義は、ゾーン定義識別子によって識別され、各ゾーン定義は、入力選択デバイスを複数のゾーンに分割し、各ゾーンは、各ゾーンに関連付けられている1つの出力キーを含む、ステップと、
前記ゾーンレイアウト定義のうちの1つを選択するステップと、
複数の入力文字を受信するステップであって、各入力文字は、選択されたゾーンレイアウト定義によって定義される前記複数のゾーンのうちの少なくとも1つに関連付けられている、ステップと、
前記ゾーンの各々に含まれるゾーン出力キーを含む一連のゾーン出力キーを出力するステップであって、前記ゾーンの各々は、前記選択されたゾーンレイアウト定義に従って定義されるように、前記複数の入力文字の各々に関連付けられている、ステップと
を含む、方法。
(項目25)
前記選択されたゾーンレイアウト定義に対する前記ゾーン定義識別子を出力するステップをさらに含む、項目24に記載の方法。
(項目26)
前記ゾーン定義識別子および一連のゾーン出力キーを受信デバイスに伝送するステップをさらに含む、項目25に記載の方法。
(項目27)
伝送されたゾーン定義識別子および一連のゾーン出力キーを前記受信デバイスにおいて受信するステップと、
前記伝送された一連のゾーン出力キーに関連付けられている期待される一連のゾーン出力キーを決定するために、前記複数のゾーンレイアウト定義のうちの既定の1つに対して所定の一連の文字を適用するステップであって、前記複数のゾーンレイアウト定義のうちの既定の1つは、前記伝送されたゾーン定義識別子に関連付けられている、ステップと、
前記伝送された一連のゾーン出力キーを前記期待される一連のゾーン出力キーと比較することにより、前記伝送された一連のゾーン出力キーと前記期待される一連のゾーン出力キーとの間の合致を決定するステップと
をさらに含む、項目26に記載の方法。
(項目28)
パスワードは、前記伝送された一連のゾーン出力キーが、前記期待される一連のゾーン出力キーと合致する場合に容認される、項目27に記載の方法。
(項目29)
データ伝送の方法であって、
複数のゾーンレイアウト定義を定義するステップであって、各ゾーンレイアウト定義は、入力選択デバイスを複数のゾーンに分割し、各ゾーンは、各ゾーンに関連付けられている1つの出力キーを含む、ステップと、
既定の選択方法に従って前記ゾーンレイアウト定義のうちの1つを選択するステップと、
複数の入力文字を受信するステップであって、各入力文字は、前記選択されたゾーンレイアウト定義によって定義される前記複数のゾーンのうちの少なくとも1つに関連付けられている、ステップと、
前記ゾーンの各々に含まれるゾーン出力キーを含む一連のゾーン出力キーを受信デバイスに出力するステップであって、前記ゾーンの各々は、前記選択されたゾーンレイアウト定義に従って定義されるように、前記複数の入力文字の各々に関連付けられている、ステップと
出力された一連のゾーン出力キーを受信デバイスで受信するステップと、
前記既定の選択方法に従って前記ゾーンレイアウト定義のうちの1つを選択するステップと、
前記出力された一連のゾーン出力キーに関連付けられている期待される一連のゾーン出力キーを決定するために、前記選択されたゾーンレイアウト定義に対して所定の一連の文字を適用するステップと、
前記出力された一連のゾーン出力キーを前記期待される一連のゾーン出力キーと比較することにより、前記出力された一連のゾーン出力キーと前記期待される一連のゾーン出力キーとの間の合致を決定するステップと
を含む、方法。
(項目30)
前記ゾーンレイアウト定義は、既定数のゾーン定義を通して順序付けることによって選択される、項目29に記載の方法。
(項目31)
前記ゾーンレイアウト定義は、1つ以上の所定の係数への既定のアルゴリズムの適用によって選択される、項目29に記載の方法。
(項目32)
ゾーンレイアウト定義における各ゾーンは、隣接する一群のキーを含む、項目29に記載の方法。
(項目33)
ゾーンレイアウト定義における少なくとも1つのゾーンは、非隣接キーを含む、項目29に記載の方法。
(項目34)
ゾーンの中の1つのキーが選択されると、前記ゾーンに関連付けられているキーの全ては、選択されたものとして示される、項目29に記載の方法。
(項目35)
特定の選択された入力キーを含むゾーンに関連付けられている前記ゾーン出力キーは、前記ゾーンの中の他のキーとは異なって示される、項目29に記載の方法。
(項目36)
前記ゾーンは、QWERTYキーボードレイアウトから定義される、項目29に記載の方法。
(項目37)
少なくとも1つのキーが、複数のゾーンに関連付けられている、項目29に記載の方法。
(項目38)
パスワードは、前記出力された一連のゾーン出力キーが、前記期待される一連のゾーン出力キーと合致する場合に容認される、項目29に記載の方法。
(項目39)
ユーザは、前記パスワードの容認を通知される、項目29に記載の方法。
(項目40)
一連のプログラム命令を記憶するように構成されているメモリと、
プロセッサ電子機器と
を含み、
前記プロセッサ電子機器は、
入力選択デバイスを複数のゾーンに分割することであって、各ゾーンは、少なくとも1つのゾーン出力キーに対応する2つ以上の入力キーを含む、ことと、
複数の入力を受信することであって、各入力は、前記複数のゾーンのうちの1つにおけるキーの選択に関連付けられている、ことと、
受信された前記複数の入力の各々に対応する複数のゾーン出力キーを出力することと
によるデータ伝送の方法を行うために、前記プログラム命令を実行するように構成されている、
コンピュータシステム。
(項目41)
プログラムされた命令を記憶するように構成されているメモリと、
プロセッサ電子機器と、
を含み、
前記プロセッサ電子機器は、
2つ以上の異なるモダリティでユーザから入力を受信することであって、前記入力は、入力されたテキストを示す、ことと、
前記入力されたテキストに対応する1つ以上の言葉の選択を決定するために、前記2つ以上のモダリティの各々における前記入力を分析することと、
前記2つ以上のモダリティの各々から決定される前記言葉の選択を使用して、前記入力されたテキストに対応する言葉を選択する、ことと
によるユーザからテキスト入力を受信する方法を行うために、前記プログラムされた命令を実行するように構成されている、
コンピュータシステム。
(項目42)
前記命令は、前記2つ以上のモダリティの各々から選択される前記言葉の選択を、前記入力されたテキストに対応する言葉を選択する前記ユーザに提示するために、前記プロセッサ電子機器によって実行可能である、項目41に記載のコンピュータシステム。
(項目43)
前記コンピュータは、キーボードとマイクロホンとを含み、前記命令は、前記キーボード上の入力および前記マイクロホンによって受信される音声入力を介して、前記ユーザから入力を受信するために、前記プロセッサによって実行可能である、項目41に記載のコンピュータシステム。
(項目44)
前記コンピュータは、触覚入力とマイクロホンとを含み、前記命令は、前記触覚入力上の入力および前記マイクロホンによって受信される音声入力を介して、前記ユーザから入力を受信するために、前記プロセッサによって実行可能である、項目41に記載のコンピュータシステム。
(項目45)
前記メモリは、キーボード上の入力からテキストへのマッピングを記憶している、項目41に記載のコンピュータシステム。
(項目46)
前記メモリは、前記ユーザによって入力されるテキストに対応する可能性が高い言葉のデータベースを記憶し、前記データベースは、前記データベースの中の言葉が、前記ユーザによってどの程度頻繁に選択されたかを記録している、項目41に記載のコンピュータシステム。
(項目47)
前記メモリは、前記ユーザによって入力されるテキストに対応する可能性が高い言葉のデータベースを記憶し、前記データベースは、前記データベースの中の言葉が、前記ユーザによってどの程度最近に選択されたかを記録している、項目41に記載のコンピュータシステム。
(項目48)
前記命令は、前記プロセッサに、前記ユーザによって講じられた最近の措置を決定させ、前記ユーザによって講じられた最近の措置に対応する言葉の選択を選択させる、項目41に記載のコンピュータシステム。
(項目49)
前記ユーザによって講じられた最近の措置は、使用されたプログラム、閲覧された文書、訪問されたインターネットサイト、および/または体験された音声/ビデオコンテンツのうちの1つ以上を含む、項目48に記載のコンピュータシステム。
(項目50)
前記命令は、前記プロセッサに、前記ユーザの場所を決定させ、前記ユーザの場所に対応する言葉の選択を選択させる、項目41に記載のコンピュータシステム。
図1は、1つ以上の遠隔に位置するデバイスと集中企業サーバとの間の通信インターフェースのグラフィック表現である。 図2は、開示された技術の実施形態による、言葉の選択を作成する過程のフローチャートである。 図3は、開示された技術の実施形態による、種々の提案された言葉の選択を含むキーボードを描写する。 図4は、開示された技術の実施形態による、テキストを入力する方法を図示する。 図5Aから5Iは、開示された技術の種々の実装下でテキストを入力するためのユーザインターフェース方法を図示する、スクリーンショットである。 図5Aから5Iは、開示された技術の種々の実装下でテキストを入力するためのユーザインターフェース方法を図示する、スクリーンショットである。 図5Aから5Iは、開示された技術の種々の実装下でテキストを入力するためのユーザインターフェース方法を図示する、スクリーンショットである。 図5Aから5Iは、開示された技術の種々の実装下でテキストを入力するためのユーザインターフェース方法を図示する、スクリーンショットである。 図5Aから5Iは、開示された技術の種々の実装下でテキストを入力するためのユーザインターフェース方法を図示する、スクリーンショットである。 図5Aから5Iは、開示された技術の種々の実装下でテキストを入力するためのユーザインターフェース方法を図示する、スクリーンショットである。 図5Aから5Iは、開示された技術の種々の実装下でテキストを入力するためのユーザインターフェース方法を図示する、スクリーンショットである。 図5Aから5Iは、開示された技術の種々の実装下でテキストを入力するためのユーザインターフェース方法を図示する、スクリーンショットである。 図5Aから5Iは、開示された技術の種々の実装下でテキストを入力するためのユーザインターフェース方法を図示する、スクリーンショットである。 図6は、開示された技術の側面を採用し得る、好適なコンピュータシステムを図示するブロック図である。 図7Aは、デバイスへのユーザ入力に基づいて言葉の選択リストを作成するための過程を図示する、フローチャートである。 図7Bは、特別な機能の処理を図示するフローチャートである。 図8Aは、入力データから、入力特徴、文字セット、および近接性加重セットを決定する過程を図示する、フロー図である。 図8Bは、入力特徴に対する文字セットおよび適切な加重を識別する過程を図示する、フロー図である。 図8Cから8Fは、文字選択サブモジュールが、どのようにして異なる種類の入力特徴に対する文字セットを識別し得るかを図示する、スクリーンショットである。 図8Cから8Fは、文字選択サブモジュールが、どのようにして異なる種類の入力特徴に対する文字セットを識別し得るかを図示する、スクリーンショットである。 図8Cから8Fは、文字選択サブモジュールが、どのようにして異なる種類の入力特徴に対する文字セットを識別し得るかを図示する、スクリーンショットである。 図8Cから8Fは、文字選択サブモジュールが、どのようにして異なる種類の入力特徴に対する文字セットを識別し得るかを図示する、スクリーンショットである。 図9Aは、言葉の選択リストを生成する過程を図示するフロー図である。 図9Bは、言葉に対する合致測定基準を計算するための過程を図示するフロー図である。 図10は、開示された技術の実施形態に従って構築される、ゾーン出力キーと、選択されたゾーンとを含む、表示されたキーボードのグラフィック表現である。 図11は、開示された技術の実施形態による、ユーザによるパスワードの入力を描写するフローチャートである。 図12は、開示された技術の実施形態による、受信デバイスにおけるパスワードの受信を描写するフローチャート図である。 図13は、開示された技術の実施形態による、QWERTYキーボード上のゾーン出力キーへの数字キーパッドのマッピングを描写する。 図14Aおよび14Bは、開示された技術の実施形態による、ポインティングデバイスを採用するゾーンの選択を描写する。 図14Aおよび14Bは、開示された技術の実施形態による、ポインティングデバイスを採用するゾーンの選択を描写する。 図15は、開示された技術による、縮小ゾーン構成を描写する。 図16は、開示された技術の代替実施形態による、代替的なゾーン定義スキームを描写する。
(I.企業/クラウド環境)
以下でさらに詳細に説明されるように、本明細書で説明される技術は、ユーザが、テキストをデバイスに、具体的にはモバイルデバイスに入力することができる、速度および精度を増加させるためのシステムおよび方法に関する。1つの環境によれば、ユーザによるテキストの入力時に、そのようなテキスト入力を表すデータは、インターネット、無線通信システム、または遠隔集中サーバへの他の適切なデータ伝送方法を介して、集中場所に伝送される。
図1を最初に参照すると、開示された技術による第1の実施形態が示されている。図1では、1つ以上の遠隔に位置するデバイスが示されている。デバイスは、携帯電話、スマートフォン、ネットブック、またはラップトップコンピュータ、あるいは同等物を含む。これらのデバイスのそれぞれは、好ましくは、当業者に周知であるように、標準インターネット接続または他の専用無線あるいは有線通信システム等の通信システムが提供される。したがって、遠隔デバイスのうちの1つ以上で講じられた措置または入力されたデータは、適宜に集中企業サーバに伝達される。そのような同期通信は、例えば、Eメールが送信または受信される時に、企業Eメール受信箱または送信箱を更新することを含み得る。従来、これらの遠隔デバイスのそれぞれは、デバイス上で全ての主要機能を果たし、上述のように、Eメールのユーザ等の企業サーバと情報を同期させる。
開示された技術の一実施形態によれば、遠隔に位置するデバイスのうちの1つ以上での実装に以前は限定されていた、ある機能が、企業サーバに移転され、したがって、企業システムの全てのユーザに、より同様のユーザ体験を提供する。特に、上述のように、遠隔に位置するデバイスのうちの1つ以上にテキストを入力する場合に、典型的には、テキスト修正ならびにテキスト入力の言葉の自動提案および自動記入に関する、全ての機能性が、遠隔に位置するデバイス上で保持された情報に従って行われる。したがって、そのような選択で使用されるデータおよび同等物の更新に関係する問題、特に、Eメールアドレス等の企業規模で潜在的に頻繁に更新される情報と関連する問題が存在する。したがって、Eメールアドレスリストが、企業ユーザのグループ全体にわたる特定の企業について更新された場合、そのような更新は、遠隔に位置するデバイスのうちの1つ以上に伝送されないことがある。企業が十分に大きい場合、Eメールリスト全体をそのような遠隔デバイスにダウンロードすることが実践可能ではない場合がある。したがって、遠隔デバイスは、限定数のテキスト入力を有するローカルキャッシュを維持し、典型的には、そのような入力は、ローカルに維持されたアドレスリスト等に従って決定される。Eメールアドレスが、特定の指示された個人について見出されない場合、ユーザは、遠隔サーバ上でEメールアドレスを検索するというオプションを提供され得るが、この過程は、ユーザによって行われる付加的なステップを必要とする。さらに、個別企業ユーザのユーザ体験へのそのようなシステムの自動統合はない。さらに、企業サーバ上に記憶された情報へのアクセスを求める前に、ユーザがテキスト入力を完了しなければならないので、そのようなシステムは、エラートレラントなテキスト入力(error tolerant text entry)を採用しないことがある。したがって、従来、言葉の完全な辞書が遠隔に位置するデバイス上で利用可能ではない場合に、そのようなシステムがユーザの意図を決定するためのテキスト入力に役立つための方法がなかった。
したがって、開示された技術によれば、集中データベース場所から提案されたテキスト入力情報を選択するために、そのようなエラートレラントなテキスト入力を使用しながら、遠隔デバイスレベルでエラートレラントなテキスト入力技法を採用する方法および装置が提供される。
例えば、開示された技術の一実施形態では、それぞれが1つ以上のキーを含む、好ましくは9つ、または他の適切な数のゾーンをユーザに提供することによって、エラートレラントなテキスト入力がユーザに提供される。ゾーンが選択される場合に、ゾーンを構成する既定数のキーも選択される。革新的ソフトウェアは、各個別キーが選択されることを必要とするよりもむしろ、ゾーン選択シーケンスに基づいて、所望の選択された言葉を決定することが可能であり得る。そのようなゾーンテキスト入力方法の一実施例のより詳細な説明は、METHOD AND APPARATUS FOR TEXT ENTRYと題された、2009年7月10日出願の米国特許出願第12/500,675号で説明されており、その内容は、参照することにより本明細書に組み込まれる。
開示された技術の他の実施形態では、そのようなゾーンキー入力は、そのようなゾーンの指示をユーザに提供することなく、背景で行われ得る。したがって、ユーザが、タイプする時に可能な限り正確となるように促され得る一方で、多大な精度は必要ではない。その内容が参照することにより本明細書に組み込まれる、「A PROBABILITY−BASED APPROACH TO RECOGNITION OF USER−ENTERED DATA」と題された2007年6月14日出願のMatthew Cecilらへの同時譲渡米国特許出願第12/186,425号で説明されているもの等の他のエラートレラントなテキスト入力システムもまた、採用され得る。開示された技術のなおもさらなる実施形態では、より従来的なテキスト入力システム、および他の公知の予測テキスト入力システムが採用され得る。
さらに、開示された技術の側面によれば、開示された技術の特定の実施形態では、エラートレラントなテキスト入力システムが、上記で参照される米国特許出願第12/500,675号で説明されているように提供され得る。したがって、遠隔に位置するデバイス上に位置する完全な言葉の辞書を有することなく、説明されたゾーン入力テキストシステムが、そのような遠隔に位置するデバイス上で採用され得る。そのようなエラートレラントなテキスト入力システムはまた、ユーザに表示されない方式でゾーン定義を維持し得る。最終的に、他のエラートレラントなテキスト入力システムもまた、本開示された技術に従って採用され得る。
次に図2を参照すると、ユーザは、最初に、ステップ210で、特定の遠隔に位置するコンピューティングデバイスに付随する提供されたテキスト入力システムに従って、テキストを入力する。本開示された技術の好ましい実施形態では、ユーザが、12/500,675出願のゾーン入力システムの使用、または任意の他のエラートレラントなテキスト入力システムを通して、1つ以上のキーを入力する際に、初期テキスト入力処理ステップが行われ、ユーザによって意図され得る、可能な文字シーケンスを決定し始める。したがって、辞書検索はこの時に行われないが、むしろ遠隔に位置するコンピューティングデバイス上でローカルに行われ、テキスト入力に関係する情報が、辞書検索において後で使用されるために決定される。
その後、ステップ230では、予測テキスト入力情報を企業サーバに伝送することによって、辞書検索または他のデータベース検索のうちの1つ以上が行われる。重要なことには、それは、単に伝送される入力されたテキストキーではないが、むしろ、初期エラートレラントなテキスト入力処理に従って決定されているような、そのようなデータが伝送される。開示された技術の好ましい実施形態によれば、ユーザによって入力される各キーについて、選択されたキーを伴うゾーンの中にあることが定義された全ての他のキーが、これらのゾーンが固定されるか動的であるか、ユーザに利用可能であるか否かにかかわらず、開示された技術に従って、さらなる処理のために企業サーバに伝送される。そのようにして、1つ以上の遠隔デバイスのうちのいずれかで入力される受信された予測テキスト入力情報を、任意の数の一貫して維持された企業規模のデータベースに適用することができる。
図3は、キーがいくつかのゾーンの中にあるように分割される、キーボード100を示す。したがって、第12/500,675号出願のエラートレラントなテキスト入力システムで説明される開示された技術によれば、特定のゾーンを示す1つ以上のキーがキーボード100から選択される度に、選択されたキーによって表されるゾーンの中のキーの全てが、予測テキストアルゴリズムに渡される。一実施形態では、各ゾーンの中で選択されたキーによって表される言葉の候補がローカルで決定され、企業サーバに伝送される。別の実施形態では、ユーザによって選択されるゾーンのリストが、可能な言葉の候補のリストを決定するように企業サーバに送信される。可能な言葉のリストは、ユーザへの可能な言葉の選択の1つ以上の提案を決定するために、企業サーバによって分析され、1つ以上の提案は、310において図3で示されるように、遠隔に位置するデバイスの画面上に表示される。これらの言葉の選択330は、選択されたキーのゾーンに関連付けられている各入力キーの全てを考慮して、入力されたキーシーケンスに基づく。320では、ユーザによって選択される一連のキーが示される。言葉の選択340は、企業サーバ上に位置する1つ以上の適用可能なデータベースから決定されるような、ユーザによって意図されていると決定される、最も可能性が高い、または最もよく見られる言葉を描写する。企業サーバによる、これらの言葉の提案の決定時に、それらは、遠隔に位置するデバイスに返送され、図2のステップ240でのユーザによる選択のために図3に示されるようにユーザに表示される。
ステップ250で、提案された言葉を選択することにより、入力された言葉を選択された提案と置換する。言葉のうちのいずれも選択されない場合、処理は図2のステップ210に戻り、そこでさらなるテキスト入力がユーザから受信される。そのような付加的なテキスト入力時に、上述のステップが再び行われ、したがって、ユーザ選択のために潜在的に異なる言葉を提供するか、またはユーザのために選択を絞り込む。ユーザによって提示された言葉のうちの1つが選択されると、そのような選択された言葉が遠隔に位置するコンピューティングデバイスに入力され、ユーザによる別のテキストシーケンスの入力まで処理が終了する。
開示された技術の代替実施形態では、特定の辞書の決定されたサイズに基づいて、遠隔デバイスにおける処理を加速するために、ユーザによるテキスト入力の開始前に、辞書を遠隔デバイスにダウンロードすることが有益であることが認められ得る。したがって、書式等の中の特定のフィールドへの入力が少数の可能な入力に限定される場合において、ユーザによるフィールドの入力時にそのような辞書をダウンロードすることは、単一のデータ転送のみが採用されることを可能にし得る。同様に、ユーザがいくつかのフィールドを伴う書式等を訪問している場合、特定の書式の中のフィールドのそれぞれのための辞書が、事前に、または書式の第1のフィールドの入力時にダウンロードされ得る。当然ながら、任意の特定のフィールドが非常に大型の辞書を有することが分かった場合、企業サーバ上のこの辞書へのアクセスが、上述のように提供され得る。
ユーザは、言葉をその辞書に追加するようにシステムを訓練することができ、または言葉が入力された事前設定された回数後に、自動的に言葉を追加するようにシステムを設定することができる。したがって、開示された技術によれば、企業規模のプラットフォームで辞書を修正することができるだけでなく、遠隔に位置するコンピューティングデバイスを採用する特定のユーザによるテキストの入力が、任意の企業ユーザによる後続の使用のために、データベースまたは辞書へのそのようなテキスト入力の追加をもたらし得る。当然ながら、ローカルデータベースも、全体として企業に利用可能となる必要がないテキスト入力のために維持され得る。
例示的な予測テキストアルゴリズムが、上記で参照される米国特許出願第12/186,425号で描写されている。本開示された技術に従って利用される、そのようなアルゴリズムは、開示された技術の予測テキスト要件に対処する。遠隔に位置するコンピューティングデバイスのうちの1つ以上の上でユーザに提供されるユーザインターフェースが、文字(または1つ以上の選択されたゾーンに関連付けられている文字列)を企業の場所におけるアルゴリズムに提供し、アルゴリズムは、その一組の文字を解釈し、1つ以上の提案された言葉の選択の形態で、企業サーバからの結果を遠隔に位置するコンピューティングデバイスにおけるユーザインターフェースに返信する。代替として、企業サーバは、言葉の選択を適正に解析できないという指示を返信し、それにより、ユーザがまだ今のところ十分な文字を入力していないことを示し得る。
一実施形態では、特定の個別ユーザに従った、または完全な一組の企業ユーザの集合的体験に従った、ユーザコンテキスト、履歴、または同等物が、そのような提案された言葉の選択に役立つために採用され得る。加えて、説明された予測テキストアルゴリズムが採用され得る一方で、本開示された技術は、任意の適切なテキスト解析または予測テキストアルゴリズムとともに使用され得る。
確率行列を使用して、予測テキストアルゴリズムは、押された各文字について、ユーザが、左側、右側、上側、または下側の文字、または上記で説明されるように示されたゾーンの中の他の文字を意味した可能性があることを知る。いったんアルゴリズムが、(選択されたキーに関連付けられているキーに基づいて)どの文字がありそうかを知ると、次いで、アルゴリズムは、上記で参照される第‘425号出願でより完全に説明されるように、複数の企業ユーザにアクセス可能であるような企業サーバの場所で好ましくは提供される、辞書に対して検索を実行する。起こり得る文字列に合致する任意の言葉が指定され、次いで、好ましくは、文字間の距離、頻度、確率、およびユーザ意図を示し得る任意の数の他の特性に基づいて採点され得る。
システムはまた、より高い選択の確率を、特定のユーザの頻繁に使用されているパターンに、または企業環境内のユーザの特定のグループに与えることを経時的に採用し得る。したがって、たとえ特定のユーザが共通集中企業辞書またはデータベースから言葉を選択していても、予測機構がそのユーザのために個人化され得る。そのような個人化は、既定の先行期間中の特定のユーザによる言葉の選択の頻度に基づいて、選択を提供することを含み得る。したがって、ユーザが特定の言葉を多く使用するほど、それが再び選択され得る可能性が高くなり、それがユーザに提案される可能性が高くなる。この個人化は、ユーザが集中型の企業規模のEメールリストからEメールアドレスを入力している時等の状況で、特に有用であり得る。特定のユーザがEメールを1人以上の特定の受信者に送信する際に、これらの受信者の名前は、将来ユーザによって入力される可能性が高い。さらに、そのような個人化は、1人の個人に限定される必要はない。むしろ、特定のEメールアドレスの入力が、人々のグループ等について蓄積され得、したがって、部門等が、Eメールアドレスの好ましいリストを生成することを可能にする。この選択はまた、テキスト入力システムに従って選択され得る、標準の言葉または他のシーケンスに適用され得る。そのような個人化は、ごく最近または最も頻繁に選択される言葉またはEメールアドレスが最初にユーザに提供され、その時以前に、または低頻度で選択された言葉がその後に続く、加重選択システムを提供し得る。
別の実施形態では、ユーザ辞書の個人化は、よくまたは最近ユーザによって選択された言葉に限定されない。辞書はまた、ユーザの最近の挙動に基づいてカスタマイズされ得る。ユーザが特定の話題に専念したウェブページについてインターネットを検索している場合、これらのウェブページからの言葉を、よく起こり得る選択として分類し、辞書に追加することができる。例えば、ユーザが、食品および料理に関連付けられているウェブページを遠隔デバイス上で閲覧している場合、ユーザが「d i s e r t」というキーを入力すると、言葉検索アルゴリズムが、「desert」という言葉の前に「dessert」という言葉を提案するために最近の履歴を使用する。同様に、時間的および地理的配慮を、テキスト選択アルゴリズムによって使用することができる。例えば、遠隔デバイスのGPS場所を検出し、企業サーバに送信することができる。ユーザが山の中に位置することが分かっている場合、テキスト予測アルゴリズムは、「how is the snor?」というテキスト入力が、「How is the show?」ではなく「How is the snow?」となるべきであると提案するように訓練される。
この実施形態では、辞書をカスタマイズするため、または最近の挙動に基づいてユーザにとって起こり得る言葉の選択に役立つために、最近の閲覧履歴、現在の場所、読んだEメール、GPSの場所等に関する情報が、企業サーバに送信され、ユーザに関連付けられているファイルの中で維持される。
図3で見ることができるように、表示されたキーボードは、完全QWERTYキーボードを表すが、任意の他の所望の構成を備え得る。そのようなキーボードは、仮想キーボード、またはテキスト入力のために提供される1つ以上の文字に関連付けられているハードキーを含む物理的キーボードを備え得る。開示された技術は、概して、そのようなキーボードを参照するものとして説明されているが、任意の数の入力デバイス、機構、またはスキームが採用され得る。開示された技術は、同様に、9または12キー数字パッドまたは4方向キーを伴う従来の携帯電話上でのテキスト入力に適用可能である。開示された技術は、Apple Ipod(登録商標)デバイス上で提供されるもの等のスクロール型ホイールの使用に適用可能であり得る。そのような状況では、スクロールホイールに沿った移動が、ゾーン選択の円に沿った移動をもたらすように、円形構成でゾーンを定義することが有益であり得る。
開示された技術はまた、スクローリングデバイスを使用する、またはそうでなければ、1つだけ、あるいは2つの方向指示キーを含む、モバイルまたは他のデバイスに適用され得る。スクローリングデバイス、または1つあるいは2つの方向キーを用いて、方向キーをスクロールまたは利用すると、ユーザが所定のゾーンのそれぞれを通して進められ、現在選択されているゾーンをハイライトする、または別様に示すように、所定のゾーンが、好ましくは、おそらく左右、次いで、上下等の所定のシーケンスによって提供される。スクローリングデバイスを押すこと、または他の選択の方法は、ユーザがゾーンを選択することを可能にし、次いで、スクローリングは、選択のために次のゾーンへ移動するために採用される。
開示された技術はさらに、ユーザが投影キーボードに触れる場所を種々の感知機構が決定する、投影キーボードに適用され得る。そのような感知の精度は、おそらく決定し難いため、ユーザがより少数のより大きいゾーンから選択することを可能にすることが、極めて有益となる。
(II.マイクロジェスチャ入力)
開示された技術の別の側面によれば、エラートレラントな予測テキストアルゴリズムを活用する、高速テキスト入力システムおよび方法が提供される。ユーザは、慣れたQWERTYキーボード(または他の一般的なキーボードレイアウト)を採用し、言葉全体未満を含む、2つまたは3つの文字のより短いマイクロジェスチャを入力することができる。より短い言葉を、1つのそのようなマイクロジェスチャで入力することができる一方で、より長い言葉は、2つ以上のマイクロジェスチャを使用し得る。したがって、以下で説明されるテキスト入力システムは、以前のシステムの少なくとも1つの主要な欠点を克服し、すなわち、ユーザが指を持ち上げることなく、意図した言葉の入力全体を入力するという要件を克服し、したがって、意図した言葉全体の単一のトレースを提供する。
一実施形態によれば、テキスト入力システムは、各マイクロジェスチャの開始および終了場所に留意する。さらに、屈曲がユーザによって入力されたマイクロジェスチャで検出された場合、第3の中間文字が意図されたことが決定される。いくつかの異なる方法が、意図した中間文字を決定するために使用され得る。第1に、マイクロジェスチャの屈曲の場所が決定され得る。第2に、開始および終点入力が与えられた場合、いくつかの可能な次の文字のテキスト入力の間で選択するのに役立つように、開始位置から移動させられた方向がテキスト解析アルゴリズムに提供され得る。代替として、そのような屈曲の存在の認識が決定され、したがって、中間文字が意図されたことを示す。次いで、テキスト解析アルゴリズムは、より従来的なテキスト入力システムにおいて欠落している文字に遭遇したかのように、付加的な助けなしで、そのような文字を決定することを支援し得る。
いったん第1のマイクロジェスチャが決定されると、選択された文字がテキスト選択アルゴリズムに入力され、言葉の提案等が、より従来的な形式でユーザに提供される。いずれの言葉も選択されない場合、次のキーのタップ、または次のマイクロジェスチャが、同じより長い言葉のテキスト入力の一部であると決定される。
一実施形態では、ユーザが、持ち上げ、入力されるそれぞれの意図した文字を押す代わりに、キーボード上のいくつかの文字の間で指をスライドする。より便利であり、連続して指を持ち上げて各キーを押すことが必要とされる場合に、ユーザが間違ったキーをタップする場合がある、従来のタップ入力システムと比較して、テキスト入力エラーの可能性を低減するため、一部のユーザは、各文字を個別にタップする代わりに、隣接する文字へのそのようなスライドを好むと決定されている。さらに、ユーザは、任意の種類の反復のストレスの問題を回避することができ、より迅速にテキストを入力することが可能であり得る。
より小さい、典型的には可動式のタッチスクリーンデバイスを使用する場合に、ユーザは、概して、より従来的な通常のラップトップ/PCキーボードのように、全ての指の代わりに、1本または2本の指を使用してタイプすることが分かっている。1本だけ/2本の指の使用は、指の疲労をもたらし、ユーザがタッチスクリーンデバイス上でタイプするのを思いとどまらせ得る。入力される各文字のために、指を持ち上げて配置するという必要な行為はしばしば、手根管症候群等の反復性のストレス障害に関連付けられている。開示された技術の実施形態によれば、ユーザは、指をスライドしていくつかの文字を入力する、または所望に応じて特定の文字の入力をタップするオプションを有する。したがって、従来のテキスト入力システムのようにタップすること、または上記で記載される従来技術の特許で記述されるような言葉全体に対する文字をトレースすることを必要とするよりもむしろ、ユーザは、好みの通りにテキストを入力するオプションおよび融通性を有する。そのような選好は、特定の入力デバイス、入力されている特定の言葉等に基づき得る。最終的に、ユーザは、最も融通性のあるオプションが提供され、利便性に基づいて、マイクロジェスチャ、タップすること、または両方の組み合わせで入力することを選択することができる。
マイクロジェスチャは、ユーザが単一のマイクロジェスチャで一度に2つまたは3つの文字を選択することを可能にする。そのようなマイクロジェスチャの1つのさらなる利益は、予測テキストアルゴリズムが対応する言葉を提案し始める前に、ユーザが言葉の完全経路を精神的または身体的にトレースする必要がないことである。より長い言葉の経路をトレースすることは、紛らわしく、困難となり得る。ユーザは、言葉のどの文字をすでに入力したかを忘れる傾向があり、スペルミスをする傾向がある。長い言葉の経路をトレースすることはまた、精神的および/または身体的な疲労をもたらす場合がある。さらに、言葉全体をトレースする経路を受信する装置は、入力データを処理する前に、その言葉の完成を待たなければならないので、そのようなテキスト入力の自動完了、または可能な意図した言葉の入力の提案を提供することが可能ではない。したがって、ユーザは、言葉全体の完全追跡を完了しなければならず、その時初めて、システムが言葉の提案を提供することができる。
開示された技術のマイクロジェスチャ入力システムはまた、アルファベットが単一のキーボードに適合せず、したがって、代替/ファンクション/シフトキーボードから文字を得ることを必要とする、言語のテキストまたは言葉を入力するためにも有用である。
しかしながら、各マイクロジェスチャの完了時に、開示された技術の一実施形態によるシステムは、入力を自動完了させることができる。そのような自動完了を使用する能力は、ユーザが部分的な言葉のみを入力し、提供される提案から選択することを可能にする。ユーザがしばしば、単に第1のマイクロジェスチャを入力した後に、所望の入力された言葉を選択することができるようになるので、これは、ユーザ体験を増進し、より高速のテキスト入力に役立ち、言葉全体の追跡を必要とする従来技術のシステムとくらべてさらに向上する。このようにして、開示された技術による予測テキストアルゴリズムは、滑動すること、またはタップすることに対してエラートレラントな入力をサポートする。ユーザは、テキストを入力するのが雑となり得て、所望の言葉を得るために正確な文字入力を提供する必要がない。事実上、マイクロジェスチャ入力で選択される文字は、従来のテキスト入力システムでタップされたかのようにテキスト解析アルゴリズムによって見なされる。したがって、既存のテキスト解析アルゴリズムを活用することができ、はるかに単純かつ融通性のあるシステムがユーザに提供される。したがって、欠落した、および/または正しくない文字を受信することができ、システムは依然として、ユーザによる正しく意図されたテキスト入力を決定することができる。
滑動の使用を通してテキスト入力のための文字を選択することにより、ユーザが、図4の実施例によって示されるような言葉の全てよりも少ない文字の経路をトレースすることを可能にする。この実施例によれば、ユーザが言葉INPUTを入力することに関心があると仮定される。従来、ユーザは、5つのキーのそれぞれをタップする。5つのキーの全てをタップした場合、言葉の入力がユーザに提示される。
しかしながら、開示された技術の実施形態によれば、ユーザは、5つの文字のそれぞれをタップする必要がなく、実際に、所望の文字を入力するために1つ以上のマイクロジェスチャ滑動を採用し得る。開示された技術にしたがって、言葉INPUTを入力するためのいくつかの異なるシ−ケンスがある。
図4に示されるように、ユーザは、「i−n−p」の上で指を滑らせ、「u」、「t」という文字をタップすることができる。上記の図で示されるように、ユーザは、「i」においてマイクロジェスチャ滑動を開始し、次いで、「n」へと滑らせ、「p」においてマイクロジェスチャ滑動を終了する。その後、「u」および「t」という文字が、完全な言葉を入力するようにタップされる。以下の代替的な入力順はまた、テキスト予測アルゴリズムによって言葉INPUTを認識させる。
「i−n−p」を滑らせ、「u−t」を滑らせる。
「i」、「n」をタップし、「p−u−t」を滑らせる。
「i」、「n」、「p」をタップし、「u−t」を滑らせる。
ユーザ体験をさらに容易にするために、ユーザによって入力される任意の滑動またはタップは、十分なフィードバックをユーザに提供して、何が入力されたかを決定するために、ある期間にわたって表示上で維持され得る。しかしながら、上述のように、滑動入力のそのような維持は、ユーザだけに有用であり、好ましくは、ユーザ入力を決定することで役割を果たさなくてもよい(当然ながら、開示された技術の代替実施形態では、テキスト入力を決定するために、そのような滑動場所を使用することが可能となる)。したがって、図4に示されるトレースは、ユーザがデバイス上で観察し得る経路を示すが、内部で、開示された技術によるテキスト予測アルゴリズムは、好ましくは異なり、ユーザによって入力された滑動の最初および最後の文字を追跡するのみである。中間文字は、該当する場合、滑動の最初および最後の文字の間の移動方向に関連付けられているベクトルを使用して、またはあまり好ましくないが、ユーザによって入力される滑動における屈曲の近似場所を使用して解読される。したがって、開示された技術によれば、本発明のアルゴリズムは、特定の最初の滑動と、該当する場合、中間文字とともに、最初および最後の文字入力を使用することによって、データベースから言葉を見出そうとする。滑動における屈曲の決定、または3文字グライダを仮定したワイルドカード文字の使用に基づいて、テキスト予測アルゴリズムが結果を返す。次いで、中間文字がユーザによって描かれるようなベクトル方向を満たさない言葉をフィルタにかけるように、さらなる計算が行われ得る。
以下の実施例は、そのような滑動およびベクトルアルゴリズムの使用をさらに描写する。ユーザが「t−h−e」という経路をトレースする場合、「h」は、「t」の下側および右側にある。アルゴリズムの最初の通過は、「tie」、「toe」、および「the」のような言葉を返す。最初の文字「t」を入力した後の移動のベクトルを見ると、ユーザが「h」という文字に向かって下方に移動したと決定することができる。「o」および「i」の両方は、「t」という文字の右側にあるため、アルゴリズムが見出す、より近いオプションがあるので、破棄される(またはより低い値の選択としてユーザに提供される)。潜在的な提案の選択「the」からの「h」という文字は、入力のベクトル近接性をより密接に満たし、したがって、好ましくは中間文字として選択される。さらに、エラートレラントなテキスト入力が提供され得、したがって、ユーザは、「r−j−w」をトレースし、依然として提案された言葉として「the」を得ることができる。「j」という文字は、「r」という文字の下方および右側に位置し、「h」という文字は、「t」という文字の下方および右側に位置する。両方のベクトルがごく接近しているため、「h」という文字が中間文字として選択される。
ここで、ベクトル方向の説明が記載され、その内容全体が参照することにより本明細書に組み込まれる、「DATA ENTRY SYSTEM AND METHOD OF
ENTERING DATA」と題された2007年6月14日出願のSharanらへの米国特許出願第12/091,700号でより完全に説明されている。開示された技術は、平行移動、すなわち、ユーザによって連続的に作動させられる時の別のキーに対する1つのキーの方向に関して、ユーザ入力を有利に符号化する。
平行移動は、好ましくは、一組の既定の主要な方向内でコード化され、これらは、2つの連続キー作動の間でとられることができる全ての可能な方向の削減された組である。削減された組の一実施例は、「上」、「下」、「左」、および「右」といった4つの方向となる。したがって、とられた実際の方向に従って各平行移動を登録するよりもむしろ、システムは、好ましくは、削減された組のうちの1つを割り当てる。例えば、2つの作動の間の実際の移動方向が垂直から10°外れている場合、平行移動は、例えば、「上」に割り当てられ、これは、主要な方向のうち実際の10°の先頭方位に最も近い。
全ての平行移動方向が、例えば、「上」、「下」、「左」、および「右」への縮小グループ内で分類されるように、無限数から少数へ可能な方向を削減することは、多くの異種の平行方向が、同じ主要方向を割り当てられることを意味する。例えば、真っ直ぐ上の方向に対して最大±44°の方位を伴う全ての移動には、「上」という同じ主要方向を割り当てることができる。また、これは、キーボード上の多くの異なる点で起こる同じ垂直運動を全て単純に「上」によって表すことができるように、同じ実際の方位を伴う平行移動を含むが、完全に異なる始点を伴う。
本開示された技術のマイクロジェスチャテキスト入力システムに従って使用するための例示的な予測テキストアルゴリズムは、上記で参照される米国特許出願第12/186,425号で説明されている。本開示された技術に従って利用される、そのようなアルゴリズムは、開示された技術の予測テキスト要件に対処する。ユーザインターフェースは、アルゴリズムに文字(または特定のジャンパ点およびゾーンに関連付けられている文字列)を渡し、アルゴリズムは、その文字(または複数の文字)を解釈し、1つ以上の提案された言葉の選択の形態でユーザインターフェースに結果を返し、または、言葉の選択を適正に解析できないという指示を返し、それにより、ユーザがまだ今のところ十分な文字を入力していないことを示し得る。当然ながら、ユーザコンテキスト、履歴、または同等物が、そのような提案された言葉の選択に役立つために採用され得る。加えて、説明された予測テキストアルゴリズムが採用され得る一方で、本開示された技術は、任意の適切なテキスト解析または予測テキストアルゴリズムとともに使用され得る。ジャンプ点をいくつかの異なる入力と関連付けることができ、これらの入力を互に区別し、ユーザによる意図した入力を選択するために使用することができる限り、開示された技術が採用され得る。
したがって、確率行列を使用して、アルゴリズムは、押された各文字について、ユーザが、左側、右側、上側、または下側の文字、または上記で説明されるような技術に従って示されたゾーンの中の他の文字を意味した可能性があることを知る。いったんアルゴリズムが、(選択されたジャンパ点に関連付けられているキー、または代替として、ユーザ意図の動的または他の決定に基づいて)どの文字があり得るか、すなわち、たとえ所定のゾーンが提供されていなくても、どの文字をユーザが意図した可能性が高いかを知ると、次いで、アルゴリズムは、上記で参照される第‘425号出願でより完全に説明されるように、辞書に対して検索を実行する。起こり得る文字列に合致する任意の言葉が指定され、次いで、好ましくは、ユーザ意図を示し得る、文字間の距離、頻度、確率、および任意の数の他の特性に基づいて採点され得る。システムはまた、より高い選択の確率を、特定のユーザの頻繁に使用されているパターンに与えることを経時的に採用することができる。したがって、予測機構が特定のユーザのために個人化され得る。
加えて、開示された技術に従って、ユーザ意図を決定することに役立つために、提案されたシステムの予測アルゴリズムは、従来の辞書に依存することに加えて、入力がEメール、チャット、検索、または同等物のためのものであるかどうか、またはテキスト入力が特定のテレビ番組中に、または音楽アプリケーションが楽曲を演奏している間に行われているかどうかを決定すること等の、特定のテキスト入力のコンテキストを決定することによって、ユーザ意図をさらに決定しようとし得る。ユーザが異なる言葉および/または他の言語の違いを使用する可能性が高い程度に、そのようなコンテキスト決定は、予測テキストアルゴリズムの精度に役立ち得る。アルゴリズムはまた、予測の信頼性を向上させるように、ユーザの連絡先リストおよび同等物等の1つ以上のデータベースのコンテンツである、記憶されたコンテンツからの情報に関する情報を受信し得る。そのようなコンテキストは、テキスト入力に使用されているデバイス内で記憶されるか、またはインターネットあるいは他の利用可能なネットワーク上でアクセス可能なデータベースに遠隔で記憶され得る。次いで、言葉のリストは、そのスコアに基づいて仕分けられ、ユーザインターフェースに返される。したがって、開示された技術は、ユーザ意図につき、曖昧ではない入力の中へ近似入力をマップするために、入力言語または可能な入力機能性における冗長性を使用する。加えて、ユーザ入力を決定する場合に、デバイス特徴および機能性が考慮され得、したがって、そのような入力を決定する場合に、デバイス制限を考慮する。
本開示された技術は、一実施形態では、第‘425号出願の予測テキストアルゴリズムを採用して説明されているが、他のテキスト解析アルゴリズムを使用することが可能である。1つのそのような代替的なテキスト入力システムは、その内容全体が参照することにより本明細書に組み込まれる、「METHOD AND APPARATUS FOR TEXT INPUT」と題された2009年7月10日出願のSharanらへの米国特許出願第12/500,676号で説明されている。第‘676号出願は、キーボードを複数のゾーンに分割し、次いで、特定のゾーンの中の任意のテキスト入力がゾーンの中の文字の全ての選択であると見なすためのシステムおよび方法を説明する。したがって、ユーザは、テキストを入力する時にあまり正確ではないことが可能である。このシステムは、上記で説明されるマイクロジェスチャ入力方法と併せて使用され得、したがって、それぞれの決定された始点、終点、および任意のベクトル方向または屈曲決定は、意図した文字を含む、示されたゾーンのみを必要とし、したがって、ユーザにとってのテキスト入力の困難をさらに緩和する。
加えて、開示された技術は、表示またはタッチスクリーンキーボードと接触を行うユーザについて説明されているが、接触を必要としないが、ユーザが特定のキー等に近接して指等を引くと、テキスト入力を可能にする場合がある、キーボードに等しく適用可能となる。マイクロジェスチャは、キーボードより上での最終キーへの指の移動を含み得、それは、ユーザが指を除去する時に入力されたと見なされる場合がある。したがって、処理は、上記で説明されるシステムおよび方法に従って進み得るが、キー選択および入力のための接触よりもむしろ、近接性の検出に依存する。
開示された技術の方法およびシステムのための主要な使用は、小型モバイルデバイス、またはカメラ、携帯情報端末、ネットブック、および同等物等の他の小型電子デバイス用であり得るが、そのような入力システムは、例えば、リモートコントロール、あるいはWii(登録商標)コントローラまたは同等物等の他の入力デバイスを使用した、セットトップボックスまたはテレビ上での入力のために、等しく適用可能であり得る。したがって、ユーザは、キー(またはゾーン)を指し示し、選択ボタンを押下し、ユーザが、(所望に応じて)第2の文字を通して、選択ボタンの解放によって示されるマイクロジェスチャの第3の最後の文字へインジケータを移動させながらボタンを長押しすることによって、入力を開始し得る。第‘676号出願におけるゾーン入力システムおよびそのようなリモートコントロールを採用する入力のより完全な説明は、参照することにより以前に本明細書に組み込まれている。実際に、本開示された技術は、リモートコントロール、Wii(登録商標)リモート、手ぶり、または他の入力技法を含むが、それらに限定されない、第‘676号出願で記述される任意の入力スキームまたは技術に適用可能であり得ることが検討される。
(III.好適なユーザインターフェース)
図5Aは、マルチモーダルユーザ入力(例えば、タップ、トレース、ホバー、他の触覚入力および/または非触覚入力の混合)を受信し、言葉を出力するために好適なユーザインターフェースを図示する。本明細書で説明されるユーザインターフェースは、携帯電話、携帯情報端末、携帯用オーディオシステム、ラップトップコンピュータ(ウルトラモバイルパーソナルコンピュータを含む)、デスクトップコンピュータ、他のコンピュータシステム、ビデオゲームシステム、テレビ、ならびに無数の他の消費者および業務用電子システムまたは器具(例えば、冷蔵庫、キオスク等を含む)を含むが、それらに限定されない、ユーザ入力を言葉に変換することが望ましい任意のシステムの一部を形成し得る。
ユーザインターフェースは、(例えば、指先による、またはスタイラスによる)ユーザからの触覚入力および視覚出力の両方を促進する、タッチスクリーンまたは同様の表示を含む。例証的な軸によって示されるように、表示上の各点は、独自のX−Y座標によって表され得る。加えて、図5Aに示されていないが、ユーザインターフェースは、タッチスクリーン内のシステム加速度計および/または圧力センサからの入力、音声入力、視覚入力等を含む、他の入力を受信し得る。加えて、ユーザインターフェースは、視覚出力、音声出力、触覚出力等を含む、他の出力を生じ得る。
図5Aに示されるサンプル表示(および他の描写された表示)は、無線モバイルデバイス用であり、信号強度、無線通信事業者名、時間、バッテリ強度等の、あるシステム情報を提供する、上水平部分502を含む。上水平部分502より下側には、描写された表示の中ではEメールアプリケーションである、アプリケーション用のいくつかの情報および入力ボタンを含む、アプリケーションバー504がある。テキスト表示部分または出力領域506は、例えば、アプリケーションプログラムと関連付けられ得、ユーザによるテキスト入力を表示する。言葉の提案部分または言葉の選択領域508(以下で説明される)は、ユーザ入力に基づいて提案された言葉をユーザに表示する。
ユーザインターフェース表示は、仮想キーボードを表示し、その仮想キーボードからの文字選択を示す触覚ユーザ入力を受信するように構成される、仮想ソフトキーのキーボード領域510を下部に含む。示されるように、仮想キーボードは、表示上に特定のレイアウトで配置された複数の規定された領域を有する。各規定された領域は、キーを囲む。特殊機能キーを除いて、仮想キーボードの中の各キーは、本明細書でより詳細に説明されるように、1つ以上の文字に関連付けられている。本明細書で使用される場合、「文字」という用語は、アルファベット文字(アクセント等の発音区別符を伴う、または伴わない)、数字、日本語の仮名、韓国語の字母、および中国語の注音を含む、音声構成要素または言葉の従属構成要素を表す文字または記号、または略語、チャットスラング、顔文字、ユーザID、あるいはURLに含まれる数字および句読点等の別の言語および非言語的文字を含み得る。仮想キーボードの中の特殊機能キーは、テキスト情報の入力に関係する特殊機能の実施(例えば、文字の大文字化、文字の削除)に関連付けられている。特殊機能キーは、シフトキー、削除キー、(例えば、数字および記号文字のより高速の入力に好適なキーボードレイアウトを選択するための)数字入力キー、(例えば、異なる文字セットをサポートする異なるキーボードレイアウトおよび/または仮想キーボードを選択するための)マルチキーボード選択キー、リターンキー、およびスペースキーを含み得るが、それらに限定されない。
ユーザは、一連の文字の選択を示すために、本明細書でより詳細に説明されるように、異なる種類の触覚入力を仮想キーボード領域510に提供し得る。ユーザは、一組の触覚入力が、ユーザインターフェース表示に(または別の出力時に)示される出力領域506の中で特定の意図した言葉の形成を集合的にもたらすことを意図し得る。明確にするために、文脈が明確に他に要求しない限り、本明細書で使用されるような「言葉」という用語は、文字列、語幹、接頭辞、接尾辞、語句、文、省略、チャットスラング、顔文字、ユーザID、URL、または表示文字列、顔文字あるいはアイコンを含むが、それらに限定されない、任意の種類の言語的オブジェクトを表す。
システム介入がないと、例えば、(1)ユーザが触覚入力におろそか、または不正確である場合、(2)ユーザが言葉のスペルミスをする場合、(3)(例えば、発音区別符が必要とされる場合、または仮想キーボードが図1Hに示されるもの等の半QWERTYまたは12キーレイアウトを有する場合に)特定の文字を選択するために複数のキーストロークが必要とされる場合、(4)意図した言葉が特に長い場合、および/または(5)他の理由の場合に、仮想キーボードへのユーザの生の触覚入力が、意図した言葉とは異なる、意図しない言葉を出力領域に追加させる場合がある。これらの要因のうちのいずれかが、意図した言葉のユーザの入力を遅延させる場合がある。
したがって、向上したユーザ体験を促進するために、開示されたユーザインターフェースは、仮想キーボード領域510(およびタッチセンサ式ディスプレイの他の領域および/または他の入力)から受信されたユーザ入力を、本明細書で開示される曖昧性除去モジュール等の曖昧性システムまたはモジュールに提供し得る。曖昧性除去モジュールは、論理的な様式でランク別に順序付けられるか、または別様に組織化され得る、提案された言葉の選択のリスト(「言葉の選択リスト」)を生成するように、受信したユーザ入力を分析する。次いで、ユーザインターフェースは、(例えば、順序付けられた、またはグループ化された様式で)言葉の選択リスト領域508の中の曖昧性除去モジュールによって生成される言葉の選択リストの一部を表示し得る。言葉の選択リスト領域内で、1つ以上のデフォルト言葉が、ハイライトされ(例えば、図5Aに示されるような「are」)、および/または出力領域中で表示され得る。ユーザは、(例えば、言葉の選択リスト領域内で触覚入力を提供することによって、スペースバー等の特殊キーまたはその付近で表示上のポイントを押下することによって、または選択を示す他の入力を提供することによって)意図した言葉を示すように、言葉の選択領域の中で表示される言葉を選択し得る。ユーザは、代替として、言葉を選択する前に(例えば、言葉の選択領域内でスクロールまたはスワイプすることによって)言葉の選択リスト領域の中の言葉の選択リストからさらなる結果をレビューし得る。ユーザが言葉の選択リストから選択を示した後、次いで、ユーザインターフェースは、選択された言葉を出力領域506に追加し得る(またはそうでなければ、選択された言葉を出力する)。
ユーザインターフェース表示は、主にタッチセンサ式タッチスクリーンとして本明細書で説明されているが、当業者であれば、本明細書で説明されるユーザインターフェースおよび曖昧性除去システムおよび方法は、レーザ投影キーボード、筋肉感知キーボード、ファブリックキーボード、運動感受性ビデオシステム(Nintendo Wii(登録商標)等)、仮想現実システム等を代わりに使用して実装され得ることを理解するであろう。なぜなら、これらのシステムは、仮想キーボードを表示し、ユーザ動作を、タッチスクリーンの触覚入力と類似している表示キーボード内の一情報に変換することが可能であるからである。
(ユーザ入力のモード)
図5B−Gは、図5Aに示される好適なユーザインターフェースによって受信され、ユーザインターフェース内で表示される言葉の選択リストを生じるように曖昧性除去システムによって分析される、種々の種類のユーザ入力を図示する。簡単にするために、タッチスクリーンディスプレイへの触覚ユーザ入力は、ユーザが指先で表示を押下することと併せて本明細書で説明される。しかしながら、当業者であれば、ユーザが、任意の好適な手段、例えば、指、スタイラス、または任意の他の好適な入力ツールによって、タッチスクリーンを押下し得ることを理解するであろう。
(タップ入力)
図5Bは、どのようにしてユーザインターフェースが一連のタップを受信し、それに応じて言葉の選択リストを出力し得るかを図示する。タップは、ユーザが指を持ち上げる前に局所的な点でタッチスクリーンを短く押下することから成る。図5Bの実施例では、ユーザインターフェースは、一連の3つのタップを受信する(時間(T)=1では「A」キーの付近、T=3では「D」キーの上、およびT=4では「E」キーの上)。この実施例では、これら3つのタップ特徴を使用して、曖昧性除去モジュールが、「are」というデフォルトの選択を含む、言葉の選択リストを生じる。英語では、ユーザが「ade」という言葉の代わりに「are」という言葉を作成することを意図しやすいため、このデフォルトの選択は、どのようにして曖昧性除去モジュールが明白なユーザエラーを訂正し得るかを例証する。
(トレース入力)
図5Cは、どのようにしてユーザインターフェースがユーザからトレース入力を受信し、それに応じて言葉の選択リストを出力し得るかを図示する。トレースを入力するために、ユーザは、タッチスクリーンディスプレイ上で指を押下または配置し、表示を継続的に押下しながら、画面から指を最終的に持ち上げる前に、指で表示内に線をトレースする。本明細書でより詳細に説明されるように、トレース入力はさらに、コーナーおよびセグメントといった、少なくとも2つの異なる種類の別個の特徴に分けられ得る。本明細書でより詳細に説明されるように、「コーナー特徴」は、ユーザが、(1)トレースの開始時に画面を最初に押下すること、(2)トレースの終了時に画面から指を持ち上げて離すこと、および/または(3)トレース中に突然方向を変更することを含むが、それらに限定されない、トレース中の異なる種類の事象の発生時に生じる。次いで、各対のコーナーは、2つのコーナーの間のユーザのトレース経路に沿って及ぶセグメント特徴の境界を定める。
図5Cに示される実施例では、ユーザが、キーボード領域510の中の「K」キー付近で、画面上で指を押下することによって、T=1から始まるトレースを入力し、「P」および「O」キー付近の点へ上向きに指をなぞり、仮想キーボードの最上列を横断して横断して移動することによって、その点付近で方向を突然変更し、最終的に、T=3で、「W」キー付近の点で画面から指を持ち上げる。3つのドットによって示されるように、この単一の連続トレースは、3つの明確に異なるコーナー(コーナー1、コーナー2、コーナー3)および2つのセグメント特徴(コーナー1および2の間に延在するセグメント1、ならびにコーナー2および3の間に延在するセグメント2)に分けられ得る。図5Cに示されるように、5つの抽出された入力特徴(3つのコーナーおよび2つのセグメント)を使用して、曖昧性除去モジュールは、ユーザインターフェースを介してユーザに表示される、「how」というデフォルトの言葉を含む、言葉の選択リストを生じ得る。
(ホバー)
図5Dは、どのようにしてユーザインターフェースがユーザからホバー入力特徴を受信し得るかを図示する。ホバー特徴は、点の付近で指を一時停止すること、点の周りで指を小刻みに動かすこと、回すこと、またはスクリブルすること、トレース中に点の付近で減速すること、(例えば、感圧タッチスクリーンディスプレイによって検出されるように)点において付加的な圧力を提供すること、トレース中に同時に別の指で第2のタップを提供すること等を含み得る、特定の方式で、ユーザが表示内の点に特に重点を置く、任意のユーザ入力を備え得る。例えば、図5Dに示されるように、図5Cに関して以前に説明されたトレース中に、ユーザは、時間窓T=[2:5]中にそこに残存することによって、「T」キー付近の点でホバー特徴を入力し得る。図5Dは、トレース特徴と併せて起こるホバー特徴を示すが、ホバー特徴は他の場合に(例えば、タップ特徴と併せて、例えば、タップ押下が閾値持続時間を超えて延びる場合)起こり得る。
(マルチモーダル入力:複数の触覚特徴)
本明細書で説明されるユーザインターフェースは、(例えば、2つのタップが続く、3つのトレースが続くトレースを入力すること等)ユーザが任意の順番で異なる種類の入力特徴を入力することを可能にする。さらに、ユーザインターフェースは、第1の特徴(例えば、トレース)を入力した後に、ユーザが一時停止し、次いで、入力(例えば、第2のトレースを入力すること、またはタップを入力すること)を再開することを可能にする。一時停止後、曖昧性除去モジュールは、言葉の選択リストを生成するために、一時停止前および一時停止後に検出される両方の入力特徴を利用し得る。
図5Eは、どのようにしてユーザインターフェースが、異なる種類の触覚入力を含むユーザから入力を受信し、それに応じて、複数の入力特徴の全てを使用して生成される言葉の選択リストを表示するかを図示する。図5Eの実施例では、T=[1:3]から、ユーザは、言葉の選択リストの中で表示されている「how」というデフォルトの言葉をもたらす線を描くことによって、図5Cに示されるのと同じ入力を提供する。次いで、ユーザは、T=7まで一時停止し、そして「E」および「R」キーの間をタップする(これは更新された言葉の選択リストの表示をもたらし得る)。ユーザは、T=9まで一時停止し、再び、T=10において「F」および「R」キー付近で終了する新しいトレースを「V」キー付近で開始する。このトレースの終わりに、入力特徴の全て(すなわち、第1のトレース(3つのコーナーおよび2つのセグメントから成る)、タップ、および第2のトレース(2つのコーナーおよび1つのセグメントから成る)の全体を使用して、曖昧性除去モジュールは、ユーザインターフェースで表示されるデフォルトの言葉が「however」であるように、言葉の選択リストを更新する。
(マルチモーダル入力:触覚入力特徴および音声入力)
図5F−Gによって図示されるように、本明細書で説明されるユーザインターフェースはまた、ユーザが相補的に複数の触覚入力および音声入力を混合することも可能にする。そのような実施例では、ユーザインターフェースおよび/または曖昧性除去モジュールはさらに、言葉および/または言葉の選択リストの中への音声入力を解析する、および/または音声入力の曖昧性を排除するように構成される、音声認識モジュールを備え得る。第1の実施例として、ユーザインターフェースは、触覚ユーザ入力によって最初に生成された言葉の選択リストから言葉を選択するために、ユーザが音声入力を提供することを可能にし得る。図5Fに示される実施例では、時間T=[1:10]中に、ユーザは、「however」というデフォルトの言葉、ならびに「howdy」という言葉を含む、言葉の選択リストの表示をもたらす、複数の触覚特徴を入力することによって、図5Eで説明されるのと同じ入力を提供する。時間T=11で、ユーザは、(例えば、ユーザインターフェースを提供または携持するデバイスに連結されるマイクロホンに向かって話し掛けることによって)その選択を示すユーザインターフェースへの音声入力を生じるために、大きな声で「howdy」と言うことによって、後者の言葉を選択する意向を示す。
別の実施例として、ユーザインターフェースは、ユーザが、触覚入力(例えば、トレース入力)を介して、言葉の選択リストから言葉を選択することを可能にし得、言葉の選択リストは、音声入力(例えば、音声認識ソフトウェアを使用して生成された言葉の選択リスト)、自由形式の手書き入力(例えば、手書き認識ソフトウェアを使用して生成された言葉の選択リスト)、または別の入力モードによって生成されている。図5Gの実施例では、ユーザは、「I am using voice recognition software to enter text initially and using tracing to correct mistakes(最初にテキストを入力するために音声認識ソフトウェアを使用し、間違いを訂正するためにトレーシングを使用しています)」と大きな声で述べることによって、時間T=1で入力を開始する。音声入力に応じて、(例えば、音声認識モジュールを使用する)ユーザインターフェースが、出力領域506の中にユーザの文のテキストバージョンを生成するが、誤りのある第4の言葉(「reconnaissance」)を伴う。誤りを訂正するために、ユーザは、時間T2で、キーボード領域510での触覚入力(例えば、タップ)を介して誤りのある言葉を選択する。ユーザインターフェースは、随意で、音声認識モジュールによって生成される、reconnaissance、recognizable、およびrecognitionという音声学的に同様の言葉から成る言葉の選択リストを言葉の選択領域508の中で表示し得る。次いで、ユーザは、以前に説明されたように、仮想キーボードを使用して、正しい言葉(「recognition」)をトレースする。どの言葉の選択が最も良く合致するかを決定するようにトレースを分析することによって、システムは、ユーザの意図した言葉を認識し、間違いを訂正することができる。システムのマルチモーダル性質は、発話、タップすること、手書き、発話等の任意の特定のモダリティを使用して入力された言葉を選択/再選択および訂正できることを意味する。いくつかのモダリティでは、曖昧さの性質は、代替的選択として1つより多くの言葉(語句セグメント)を有する単一の言葉をもたらす場合があり、または1つより多くの言葉でできている部分は、より短い代替的選択を有することができる。実施例としては、ユーザが「Do little」と口に出す時に、それが「Do Little」および「Do let a」という代替案とともに「Doolittle」として認識される場合がある。
上記の実施例は、ユーザインターフェースが相補的に複数の種類の曖昧性除去を混合するためのより一般的な能力を実証する。これらの実施例では、曖昧性除去の第1のモダリティ(例えば、テキストの曖昧性除去または音声の曖昧性除去)が、第1の言葉の選択リスト(例えば、N個の最良リスト)を生成し、その構成要素は、共通の特性を共有する(例えば、キーボード上の同様の文字配置または音声の類似性)。次に、第2の種類のユーザ入力の曖昧性を排除する場合、第2の入力の曖昧性を排除するように検索されなければならない一組の可能な言葉(例えば、検索される「辞書」)は、第1の言葉の選択リスト(例えば、N個の最良リスト)の構成要素に限定される。
(代替的なキーボードレイアウトおよび他の特徴)
図5Aの好適なユーザインターフェースは、各キーと併せて、多くても単一の文字を表示する、完全QWERTY仮想キーボードを示す。しかしながら、本明細書で説明される入力、出力、および曖昧性除去機能性の全て(タップすること、トレースすること、ホバーすること、マルチモーダル入力等)は、単一のキーが2つ以上の文字と併せて表示されるキーボードレイアウトを含む、任意の種類のキーボードレイアウトを利用するユーザインターフェースを用いて好適に実装され得る。例えば、図5Hは、4×3構成で配置された12個の主要キーおよび側方の2個の付加的なファンクションキー(スペースキーおよび削除キー)を伴う仮想キーボードを含む、ユーザインターフェースを示す。そのようなレイアウトでは、主要キーの大部分が、1〜4個の異なる文字と併せて表示される。同様の12キーレイアウトを使用する従来のシステムでは、ユーザは、典型的には、ある文字を示すために複数のキーストロークを利用しなければならない(例えば、従来のシステムでは、4回の反復キーストロークまたはキーの持続押下が、「i」という文字を示すために必要とされ得る)。対照的に、図5Hに示されるように、本明細書で説明される曖昧性除去方法は、ユーザが、数回だけのトレースおよび1回のタップで、「imminent」という意図した言葉を含む言葉リストを生成することを可能にする。ユーザインターフェースでは、複数の入力特徴(例えば、4回の連続タップまたは「4GHI」キーの上での長いホバー)は、「i」という意図した言葉の最初の文字を選択するために必要とされない。
同様に、従来のシステムと違って、本明細書で説明されるシステムでは、仮想キーボード上で視覚的に表示されないことがあるアクセントのある文字(または他の代替的な文字)を選択するために、反復または長期ユーザ入力特徴(例えば、複数の入力タップまたはホバー)が必要とされない。例として、従来のシステムでは、図5Aに示されるもの等のQWERTYキーボードレイアウト上でアクセントのある文字
を選択するために、ユーザは、いくつかのキーストロークを実行する必要があり得、そのうちの1つが「E」キーを含む。対照的に、本明細書で説明される曖昧性除去方法は、ユーザが、「E」キーに関係するユーザインターフェースへの1つだけの入力特徴(例えば、単一のタップまたはコーナー)を用いて、アクセントのある文字
を有する言葉を含む、言葉リストを生成することを可能にする。単一のキーにマップされた複数の類似の文字を有することに加えて、本明細書で説明される曖昧性除去方法はまた、番号が最上列で文字の代替として現れる、キーボードレイアウトを用いて実装され得る。
加えて、本明細書で説明されるユーザインターフェースは、反復文字および/または反復キーストロークを示すためのユーザからの反復または追加の入力特徴を必要としない。例えば、図5Aに示される完全QWERTYユーザインターフェースを使用して、「moonlight」という意図した言葉を効率的に入力するために、ユーザは、意図した言葉の中の反復した「oo」の発生にもかかわらず、生成された言葉リストの中で意図した言葉を生じるために、「O」キーの付近で1つの触覚特徴を入力する必要しかない。別の実施例として、図5Hのインターフェースを使用して「his」という言葉を効率的に入力するために、ユーザは、単一の入力特徴(例えば、単一のタップまたはコーナー)を介して、「4GHI」ボタンの選択を示す必要しかない。なぜなら、同じキーが意図した言葉の中の第1の文字(「h」)および第2の文字(「i」)の両方に利用されるからである。
(コンテキスト駆動型トレーシング)
図5Iは、より効率的なテキスト入力を提供するために、どのようにしてコンテキスト情報が使用され得るかという実施例を図示する。図5Iでは、ユーザが、連絡先アプリケーションプログラム内で連絡先の名前を検索している。友達の名前を入力するために、ユーザは3コーナーのトレースを描く。このトレース入力の曖昧性を排除する場合に、曖昧性除去モジュール213は、その言葉の参照を、ユーザの連絡先リストの中の言葉(例えば、大抵は適正な名詞)のみを含む辞書に限定し得る。さらに、曖昧性除去モジュールは、言葉の選択リストをランク付けするために、およびデフォルト名を提案するために、トレース合致以上のものを使用し得る。例えば、曖昧性除去モジュールは、連絡先アプリケーションプログラム、Eメールプログラム、または全てのアプリケーションプログラムにおいて、ユーザが頻繁に入力またはアクセスする名前を昇格させ得る。例証するために、図5Iに示されるトレースは「D」で始まり、「A」で曲がって「N」という文字で終わり、「DAN」という一般的な名前を形成するが、ユーザが「DAN」よりもはるかに高い頻度および/または新近性で「DAVID」という名前を入力している場合、曖昧性除去モジュールは、依然としてその名前を昇格させ得る。
図5A−5Iは、仮想キーボードに関係するタップ、トレース、ホバー、およびマルチモーダル入力等の触覚入力を強調しているが、当業者であれば、本明細書で説明される曖昧性除去システムおよび方法はまた、マルチタッチ入力(例えば、タッチスクリーン上の2本以上の指)、加速度計入力(例えば、より大型のシステムの過速度を示す入力)、手書き/ジェスチャ入力(例えば、自由形式触覚入力)、および/または入力ボタンからの信号を含む、他の種類のユーザ入力を利用し得ることを理解するであろう。
(好適なシステムおよび曖昧性除去モジュール)
図6および以下の論議は、開示された技術を実装することができる、好適なコンピュータ環境の簡潔な一般説明を提供する。必須ではないが、開示された技術の側面は、汎用データ処理デバイス、例えば、サーバコンピュータ、無線デバイス、またはパーソナルコンピュータによって実行されるルーチン等のコンピュータ実行可能命令の一般文脈で説明される。当業者であれば、開示された技術の側面は、インターネット家電、手持ち式デバイス(携帯情報端末(PDA)を含む)、装着型コンピュータ、あらゆる種類のセルラーまたは携帯電話(ボイスオーバーIP(VoIP)電話を含む)、ダム端末、メディアプレーヤ、ゲームデバイス、マルチプロセッサシステム、マイクロプロセッサベースまたはプログラム可能な消費者電子機器、セットトップボックス、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、および同等物を含む、他の通信、データ処理、またはコンピュータシステム構成を用いて実践できることを理解するであろう。実際に、「コンピュータ」、「サーバ」、「ホスト」、「ホストシステム」、および同等物といった用語は、概して、本明細書で交換可能に使用され、上記のデバイスおよびシステムのうちのいずれか、ならびに任意のデータプロセッサを指す。
開示された技術の側面は、本明細書で詳細に説明されるコンピュータ実行可能命令のうちの1つ以上を実施するように特定的にプログラム、構成、または構築される、専用コンピュータまたはデータプロセッサで具現化することができる。ある機能等の開示された技術の側面は、単一のデバイス上で独占的に実施されるものとして説明されるが、開示された技術はまた、機能またはモジュールが、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、またはインターネット等の通信ネットワークを通して結び付けられる、異種の処理デバイス間で共有される、分散環境で実践することもできる。分散コンピュータ環境では、プログラムモジュールは、ローカルおよび遠隔メモリ記憶デバイスの両方に位置し得る。
一実施形態では、開示された技術は、非一過性のコンピュータ可読媒体またはコンピュータ可読メモリに記憶される、一連のプログラム命令として実装される。命令は、本明細書で説明される機能を果たすようにプロセッサ電子機器によって実行される。
開示された技術の側面は、磁気または光学的可読コンピュータディスク、配線で接続された、または事前にプログラムされたチップ(例えば、EEPROM半導体チップ)、ナノ技術メモリ、生物学的メモリ、または他のデータ記憶媒体を含む、有形コンピュータ可読媒体上に記憶または分配され得る。代替として、開示された技術の側面の下のコンピュータ実装命令、データ構造、画面表示、および他のデータは、インターネット上または他のネットワーク(無線ネットワークを含む)上で、ある期間にわたって伝搬媒体(例えば、電磁波、音波等)上の伝搬信号上で分配され得、または任意のアナログあるいはデジタルネットワーク(パケット交換型、回路交換型、または他のスキーム)上で提供され得る。
図6は、本明細書で説明されるユーザインターフェースを提供するために曖昧性除去モジュール613が動作し得る、好適なデータ処理またはコンピュータシステム600を図示する。コンピュータシステムは、タッチスクリーンディスプレイ603、他の入力デバイス608、音声出力構成要素604、他の出力デバイス606、1つ以上のプロセッサまたは中央処理ユニット(CPU)601、および少なくとも1つのメモリ610を含み、そのいくつかまたは全ては、筐体(図示せず)内で携持または収納され得る。代替案として、またはCPUに加えて、コンピュータシステム600は、1つ以上のデジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、または他の論理/データ処理回路を含み得る。
入力および出力構成要素は、グローバルポジショニングシステム(GPS)、デジタルカメラ、無線LAN(WiFi)インターフェース、運動センサ、加速度計、Bluetooth(登録商標)インターフェース、外部USBまたは同様のポート、ヘッドホンまたはヘッドセットジャックアダプタ、投写型ディスプレイ、触覚出力デバイス(例えば、振動器)、ならびに他の構成要素または通信要素を含み得る。例えば、Bluetooth(登録商標)インターフェースは、音声入力を受信するためだけでなく、音声出力を提供するためにも、無線ヘッドセット等の外部無線通信構成要素と通信し得る。1つの実装では、コンピュータシステム600は、携帯電話であり、それにより、システムはまた、無線通信を可能にするようにCPU601に連結される1つ以上の無線装置も含む。
システムの出力モダリティは、テキスト音声変換、音声、振動、触覚、視覚等の出力を含み得る。例えば、システムは、「振動」または「音」のフィードバックを追加することによって、どの入力特徴、文字、および/または字が認識されているかをユーザに知らせることができる。同様に、システムは、抽出される特徴およびその決定に関与する不確実性のレベルのより詳細な理解をユーザに提供することができる。
メモリ610はさらに、オペレーティングシステム611、曖昧性除去モジュール613、および1つ以上のアプリケーションプログラム(アプリケーションプログラム1からN614−616として示される)を備え得る。アプリケーションプログラムは、文書処理プログラム、スライド表示または画像作成プログラム、Eメールプログラム、SMS/MMSメッセージングプログラム、インスタントメッセージングプログラム、または他のテキストベースの通信あるいはテキストベースの文書作成プログラムを含むことができる。
曖昧性除去モジュール613は、タッチスクリーン603を用いたユーザの入力に関係するデータを含む、オペレーティングシステムからのユーザ入力データを受信し、アプリケーションプログラムに提供し得る、ユーザによって選択された言葉を識別するために、受信した入力データを使用し得る。例えば、曖昧性除去モジュール613は、指を下に向けた事象(ユーザがタッチスクリーン上の点を押下する時)、指を動かす事象(例えば、ユーザが画面を押下しながら指を動かす時)、および指を上に向けた事象(例えば、ユーザがタッチスクリーンから指を持ち上げる時)というオペレーティングシステム611からの一連の通知を受信し得る。(本明細書では指を使用するものとして概して説明されているが、ユーザは、タッチスクリーンに触れる、またはそれを作動させるためにスタイラス等のどんなものでも使用し得る。)受信した通知のそれぞれは、時系列の位置データ、例えば、タッチスクリーン603へのユーザの触覚入力を反映する、タイムスタンプtを伴う一組のX−Y座標(x,y)(すなわち、座標(x,y,t))を含み得る。加えて、タッチスクリーン603が圧力センサを含む場合、受信した通知は、時系列の位置および圧力データ、例えば、印加された圧力pを含む、タッチスクリーン603へのユーザの触覚入力を反映する、一組の座標(x,y,t,p)を含み得る。オペレーティングシステム611はまた、マルチタッチ入力(例えば、タッチスクリーンに同時に接触する第2の指を表す、付加的な同時座標セット(x,y,t))、音声入力(例えば、声の入力)、視覚入力、加速度計入力、場所データ、センサデータ等を含む、他の種類の入力を曖昧性除去モジュール613に提供し得る。
曖昧性除去モジュールは、加えて、その言葉の識別を促進するために、オペレーティングシステムおよび/またはアプリケーションプログラムから動的コンテキストデータを受信し、処理し得る。コンテキスト情報は、ユーザの意図を曖昧性除去モジュールに知らせるのに役立ち得る任意の情報であり、本明細書でさらに詳細に説明されるように、文または言葉のペアのコンテキスト、言語コンテキスト、アプリケーション特有のコンテキスト(例えば、データフィールド/タグ)、ユーザ特有のコンテキスト、場所、時刻等の情報を含み得る。例えば、モジュールは、ユーザによって選択された最後の言葉、他の文レベルのコンテキスト、利用された仮想キーボードレイアウト、言葉が入力される入力フィールドの種類(例えば、「連絡先」フィールド)、場所データ(例えば、コンピュータシステムがGPS受信機、または場所データへのアクセスを含む場合)、ユーザ用のカレンダーデータ、および/または、識別された言葉を利用し得る、使用された、または使用されているコンテキストデータまたはアプリケーション等のコンテキスト情報を受信し得る。別の実施例として、曖昧性除去モジュールは、別の入力モードから「N個の最良」リストを受信し得る。N個の最良リストは、固定サイズ(例えば、N)で上限を定められ得る提案された言葉のランク別に順序付けられたリストである。一実施例として、N個の最良リストは、発話認識プログラム(例えば、異形同音異義語のリスト)または手書き認識プログラムから生成される言葉のリスト等の、別の種類の曖昧性除去アプリケーションプログラムまたはモジュールから生成され得る。なおも別の実施例として、ユーザが以前のEメールに応答するためにテキストを入力している場合、曖昧性除去モジュールは、以前のEメールで使用された言葉のリストを受信し得る。
曖昧性除去モジュールは、文字選択サブモジュール618と、言葉リスト選択サブモジュール620と、キーボードマッピングデータベース622と、語彙モジュール624と、ユーザコンテキストデータベース626と、アプリケーションコンテキストデータベース628と、曖昧性除去パラメータデータベース630とを含み得る。別個のモジュールとして描写されているが、単一のモジュール、プログラム、またはルーチンが、モジュールのうちの2つ以上を組み込み得る。
文字選択サブモジュール618は、受信したユーザ入力または入力データを分析して、入力特徴(または「複数の入力特徴」)、例えば、タップ、コーナー、セグメント、ホバー、または他の特徴を抽出するように構成される。文字選択サブモジュール618はさらに、言語非依存型キーボードマッピングデータベース622を使用して、抽出された入力特徴を分析し、順序付けられた一組の特徴オブジェクト(例えば、スペルされている言葉に対するランク別に順序付けられた一組の文字)を含む入力シーケンスを生じるように構成される。入力シーケンスの中の各特徴オブジェクトは、複数の仮想キーボードまたはキーレイアウトのうちの1つに対する対応するキーに関連付けられている一組の文字、一組の近接性加重、および1つ以上の特徴の種類に関連付けられている。近接性加重は、ユーザが特定の入力特徴(例えば、タップ、コーナー、セグメント、またはホバー)を介して特定のキーストロークを達成することを意図した可能性を反映する。この可能性は、入力特徴の場所と仮想キーボード上のキーの場所との間の近接性に基づき得る。その動作中に、文字選択サブモジュールは、曖昧性除去パラメータデータベースから読み出されるパラメータ、方針、および選好を利用し得る。文字選択サブモジュール618の側面についてのさらなる詳細は、「VIRTUAL KEYBOARD SYSTEMS WITH AUTOMATIC CORRECTION」と題され、参照することにより本明細書に組み込まれる出願人の米国特許出願公開第2006/0274051号で見出され得る。
キーボードマッピングデータベース622は、ユーザが特定の入力特徴を入力することによって特定のキーストロークを達成することを意図した可能性を、文字選択サブモジュール618が評価することを可能にする。システムによって利用され、タッチスクリーン上でユーザに表示される仮想キーレイアウトの各種類については、完全QWERTY(例えば、28キー、32キー、またはそれ以上)、14キー半QWERTYキーボード、12キー「数字」キーパッド等である。キーボードマッピングデータベース622は、タッチスクリーンディスプレイ上の特定の規定された領域または点に特定のキーをマップする、および逆も同様である、領域とキーのマッピングを提供する。例えば、完全28キーQWERTYキーレイアウトでは、領域・キーマッピングは、一組の4つの表示点{(x1,y1),(x2,y2),(x3,y3),(x4,y4)}を使用して「Eキー」を規定し得る。別の実施例として、図5Hに示されるもの等の4×3の12キーレイアウトでは、領域・キーマッピングが、一組の4つの点{(x11,y11),(x22,y22),(x33,y33),(x44,y44)}を使用して「5JKL」キーを規定し得る。当然ながら、仮想キーボードに対する円およびその仮想キーボードに対する対応する文字へのマップ(円が交差していてもよい)を規定するために、x−y中心場所および半径等の他のマッピングが可能である。
加えて、システムによって利用される各種類の文字レイアウト(例えば、アメリカ英語完全QWERTY文字レイアウト対フランス語完全AZERTY文字レイアウト)について、キーボードマッピングデータベースは、特定のキー(例えば、「Eキー」)を1つ以上の文字に(または特殊機能キーについては、特定の機能に)マップし、および、逆に、文字を特定のキーにマップするキー・文字マッピングを提供する。キー・文字マッピングは、1対多数の関係を表してもよく、特定のキーは、タッチスクリーンのユーザに仮想キーボード上で表示されない文字を含む、1つより多くの文字に関連付けられている。例えば、完全QWERTYキーレイアウトに関係するキー・文字マッピングでは、「Eキー」は、
といった文字のうちの2つ以上にマップされ得る。別の実施例として、図5Hに示されるもののような12キーレイアウトに関係するキー・文字マッピングでは、「5JKL」キーは、5、%、J、j、K、k、L、lといった文字にマップされ得る。単一の領域・キーマッピングは、例えば、単一の仮想キーボードレイアウトを介して、より容易な他言語入力を可能にするように、1つより多くのキー・文字マッピングに関係し得る。ユーザ入力の曖昧性を排除するためのキーボードマッピングデータベース622の使用は、本明細書でさらに詳細に説明される。
加えて、キーは、ユーザが標準ラテン−1ベースのキーボードを使用して外来文字を入力することを可能にする、ローマ字化、音訳、または転写入力を形成するように組み合わさり得る。ユーザは、標準ラテン−1ベースのキーボードを使用して言葉の聞こえ方で言葉をタイプすることができ、音訳がその国字で言葉を生じる。例えば、「serodija」とタイプすることにより、
というロシア語の言葉をもたらす。1つ以上のラテン−1文字が、1つ以上のロシア語文字を形成するように組み合わさることができる。これらのマッピングは、種々の方法で、状態機械を使用して、または他の一般的に使用されている方法で、実装することができる。この翻訳または音訳層は、確率として実装されるマッピングまたは付加的なサブモジュールの層を追加する。1対1のマッピングがある場合、実装は単純である。複数の解釈がある場合に、各マッピングには確率値を割り当てることができる。例えば、ヒンズー語では、文字が1つより多くの有効なマッピングを有し得る。例えば、文字
は、i、yi、ee、およびyiといったマッピングを有する。同様に、文字
は、iおよびyiにマップする。ここで記述されるコンテキストまたは他のパラメータは、ユーザへのオプションの表示されたリストの曖昧性をさらに排除するため、またはリストを順序付けるために使用され得る。
言葉リスト選択サブモジュール620は、文字選択サブモジュールによって生成される入力シーケンスを受信するように構成される。言葉リスト選択サブモジュール620は、図5A−5Iで示されるもの等のランク別に順序付けられた、または別様に構築された言葉の選択リストを生成するために、種々の他の入力を使用して入力シーケンスを分析し得る。言葉リスト選択サブモジュール620が使用し得る、他の入力は、語彙モジュール624からのデータ、曖昧性除去パラメータデータベース630から読み出されたパラメータ、受信した動的コンテキストデータ、ならびにユーザコンテキストデータベース626およびアプリケーションコンテキストデータベース628から読み出されたコンテキストデータを含み得る。言葉リスト選択サブモジュール620は、本明細書でさらに詳細に説明される。
言葉選択を促進するために、語彙モジュール624は、一組の言葉または言葉の論理グループを定義する1つ以上の辞書を提供する。例えば、「アメリカ英語」辞書が、英語を話すアメリカ人による一般的な使用で言葉の論理グループを定義し得る一方で、「アメリカ英語Msg」辞書は、テキストおよびマルチメディアメッセージ(例えば、SMS、MMS、または同様のメッセージ)で英語を話すアメリカ人によって一般的に使用されている言葉の論理グループ(顔文字を含む)を定義し得る。語彙モジュール624はまた、(例えば、特定の言語内の)言葉および/または特定のコンテキストの特定の論理グループ内の静的または動的頻度情報等の付加的な言語情報を提供し得る。例えば、付加的な言語情報は、正式および/または会話の文章の中の言葉の発生頻度、ある1つまたは複数の先行の言葉に続く時の言葉の発生頻度、周辺の文の適正または共通文法、左幹または右幹(または接頭辞あるいは接尾辞)として利用されている言葉の頻度等のうちの1つ以上を含み得る、言語モデルに従った頻度情報を含み得る。頻度に加えて、推移確率には特定の推移が割り当てられ得、1部類の接頭辞を、起こり得る語幹または1つ以上の部類の接尾辞を伴う語幹と結び付ける一方で、不正な言葉を形成する辞書の中の他の言葉を伴う接頭辞を拒絶する。例えば、言葉(word work)は、しばしば有効な言葉を形成する、−er、−ers、−ing、−s、および−edという接尾辞を伴う高い推移確率を有し得る。
曖昧性除去モジュールは、ユーザがキーボード構成を変更した場合に、その辞書を変更する必要がないことに留意されたい。さらに、キーボードマッピングデータベース622を使用することによって、曖昧性除去モジュールは、キーボードレイアウトにかかわらず、任意のシステム内で利用され得る。
曖昧性除去パラメータデータベース630は、相互作用または入力特徴抽出、文字の選択、および/または言葉の選択を行うためのパラメータ、方針、および選好を記憶し得る。例えば、曖昧性除去パラメータデータベースは、距離関数、近接性測定基準、合致測定基準、および後処理ステップの選択および適用に役立つ、パラメータおよび方針を含み得、その全ては本明細書で説明される。
向上した文字および/または言葉の選択を促進するために、ユーザコンテキストデータベース626およびアプリケーションコンテキストデータベース628は、コンテキスト情報を文字選択サブモジュール618および/または言葉リスト選択サブモジュール620に提供して、その処理を通知し得る。これらのサブモジュールはまた、アプリケーションプログラムおよび/またはオペレーティングシステムから動的コンテキスト情報を受信し得る。テキストの入力、代替案からの選択、コンテキスト情報、および複数のモダリティが、曖昧性除去モジュールによって管理される。システムは、本明細書で記述されるようなユーザの意図を決定するために、ユーザからの入力、アプリケーションのコンテキスト、外部センサおよびコンテキストリソースおよび曖昧性除去、ならびに訂正アプローチを使用し得る。ユーザの意図の理解に基づいて、システムは、アプリケーションのコンテキストおよび状態を維持し、入力の構成、および複数の入力モダリティにわたる同期化を管理する。ビジネスロジックと連動することによって、システムは、ユーザに提示されるマルチモーダル出力を生じることができる。相互作用、ビジネスロジック、ならびにコンテキストおよび状態は、相互作用スクリプト、またはより複雑な状態機械(State Chart XMLまたはSCXML)あるいはXHTML+Voice ProfileまたはSALT等のユーザインターフェースの制御に使用される言語を通して管理され得る。
ユーザコンテキストデータベース626は、ユーザによって利用された以前の言葉、ユーザによって入力された言葉の頻度、およびユーザによって採用された一般的な語句等の、ユーザの以前の文字および/または言葉の選択挙動に関する任意の履歴情報を含み得る。ユーザコンテキスト情報の他の実施例は、ユーザによって入力された言葉のペア、特定のアプリケーション(例えば、テキストメッセージング対Eメール)におけるユーザの独自の語彙、システムにテキストを入力している間のユーザの「粗雑さ」のレベル(文字領域のサイズを増加させる)等を含む。加えて、ユーザコンテキスト情報は、どれだけ頻繁にユーザが特定の言語から言葉を選択するか、またはどの言語をユーザが主に使用するかを反映し得る。例えば、システムがバイリンガルのユーザ用にフランス語および英語の辞書の両方を使用する場合、ユーザコンテキストデータベース626は、ユーザの「主要言語」を決定するために、ユーザが英語の言葉と対比してフランス語の言葉を選択する相対的頻度を追跡してもよく、次いで、その辞書からの言葉が、他の辞書からの言葉よりも優先されるか、または最初に提示され得る。
代替として、または加えて、いくらかのユーザコンテキスト情報が、語彙モジュール624におけるユーザ特有の辞書および/または他のデータの構造で反映され得る。加えて、または代替として、ユーザコンテキストデータベース626はまた、曖昧性除去パラメータデータベース230に記憶されたデフォルトの曖昧性除去パラメータに優先し得る、ユーザ特有の方針およびパラメータを提供し得る。
アプリケーションコンテキストデータベース628は、曖昧性除去モジュール613が、特定のアプリケーションプログラム内の文字または言葉の選択に関係する履歴情報にアクセスすることを可能にし得る。アプリケーションコンテキストデータベース628はまた、曖昧性除去パラメータデータベース630に記憶されたデフォルトの曖昧性除去パラメータに優先し得る、アプリケーション特有の辞書および/またはアプリケーション特有の方針およびパラメータを提供し得る。コンテキストはまた、情報が入力されるはずであるテキストフィールドに由来することもできる。実施例として、いくつかの実装では、曖昧性除去モジュールは、特定の言葉の入力と関連付けられ得るアプリケーション特有のフィールド、タグ、またはラベルを定義する、特定の種類のアプリケーションプログラムと統合するように設計され得る。実施例として、書式のテキストフィールド(「名前」または「Eメール」)が、コンテキスト情報を提供するために利用することができるラベルであり得る。次いで、アプリケーションコンテキストデータベース628は、付加的なコンテキスト情報を提供するように、ユーザの履歴上の言葉の入力をアプリケーション特有のフィールドと相関させ得る。システムは、アプリケーションコンテキストデータベースの中で、どのようにしてフィールド情報および他のコンテキスト情報が言葉の選択中に利用され得るかを反映する、アプリケーション特有のフィールドおよび規則(例えば、文法規則、合致測定基準、および/または後処理規則)を定義し得る。これらの規則は、特定のフィールドに対する言葉の提案が、どのような言葉をユーザが他のフィールドに入力したかに依存し得ることさえ特定し得る。
システムは、フィールドの意図したテキスト情報(名前、電話番号、日付、Eメールアドレス、パスワード)を曖昧性除去モジュールに知らせ、および/または情報を説明する文法をそれに提供する。例えば、州、郵便番号、および都市が入力されることを要求する書式は、他のフィールドのコンテキストおよびコンテンツに基づいて、適切な文法を提供することが可能であるアプローチを用いるであろう。州が「WA」である場合、都市の文法は、ワシントン州内の実際の都市によって制約され、郵便番号も同様に制約される。都市および州が入力された時に、郵便番号の範囲が再び制約される。フィールドと文法との間の複雑な相互作用は、そのような「書式」の中のデータの入力を単純化することができる。代替として、システムは、しばしば使用されているテキストフィールドに対するコンテキストを習得することができる。
このコンテキスト情報の使用を例証するために、どのような言葉をユーザが特定のフィールドに入力したかを曖昧性除去モジュールが留意し得る場合の書式記入の実施例を考慮する。例証すると、注文書で、ユーザが、仕事用EメールをEメールフィールドに入力し、次いで、曖昧性除去モジュールは、配送先フィールドが勤務先住所を含むことを予測する。対照的に、ユーザが個人用EメールアドレスをEメールフィールドに入力する場合、曖昧性除去モジュールは、配送先フィールドの中で自宅住所を予測する。
他のコンテキスト情報は、時刻、場所、カレンダー入力、ユーザ設定、アプリケーション設定、およびシステム設定等の環境パラメータを含む。
別個のデータベースとして示されているが、本明細書で説明されるデータベースのうちの2つ以上が組み合わせら、任意のデータ構造または論理的構成で実装され得る。
文字選択サブモジュール618および/または言葉リスト選択サブモジュール620は、ユーザの現在の挙動に関する通知を提供することによって、ユーザコンテキストデータベース626および/またはアプリケーションコンテキストデータベース228を更新し得る。例えば、言葉リスト選択サブモジュール620は、ユーザが言葉選択リストから言葉を選択する場合に、情報をこれらのデータベースに返し得る。
加えて、以前に説明されているように、曖昧性除去モジュール613はまた、オペレーティングシステムおよび/またはアプリケーションプログラムから付加的な動的コンテキストデータを受信し得る。図示されていないが、曖昧性除去モジュールは、加えて、本明細書で説明されるように、発話または音声入力の曖昧性を排除するように構成される、音声認識ソフトウェアを備え得る。
(好適な曖昧性除去方法)
本明細書で説明されるフロー図は、データの全ての機能または交換を示すわけではないが、代わりに、システム下で交換されるコマンドおよびデータの理解を提供する。当業者であれば、コマンドおよびデータのいくつかの機能または交換が、繰り返され、変更され、省略され、または補足され得、示されていない他の(あまり重要ではない)側面が容易に実装され得ることを認識するであろう。さらに、過程ステップ、方法ステップ、ブロック、アルゴリズム、または同等物は、特定の順番で説明され得るが、そのような過程、方法、ブロック、およびアルゴリズムは、代替的な順番で機能するように構成され得る。言い換えれば、本明細書で説明されるいずれの順序または順番も、ステップまたはブロックがその順番で実施されるという要件を必ずしも示すわけではない。本明細書で説明される過程および方法のステップまたはブロックは、実用的である任意の順番で実施され得、いくつかのステップが同時に実施され得る。
図7Aは、言葉の選択リストからの言葉の選択を可能にするために、マルチモーダルユーザ入力に対応し得る、一連のユーザ入力データの曖昧性を排除するための過程700を示す。過程700は、曖昧性除去モジュール613によって行われ、曖昧性除去モジュール613がブロック730へ進む前に入力データを待って受信する時である、ブロック710から始まる。典型的には、曖昧性除去モジュール613は、オペレーティングシステムからの1つ以上のユーザ入力通知または入力事象の形態で入力データを受信するが、アプリケーションプログラム等の他の過程からも入力データを受信し得る。例えば、ブロック710において、曖昧性除去モジュールは、オペレーティングシステムから、指を下に向けた通知、指を動かす通知、および/または指を上に向けた通知を待って受信し得、そのそれぞれは、一組の(x,y,t)または(x,y,t,p)座標を伴い、xは、表示上のユーザの指のx位置であり、yは、ユーザの指のy位置であり、tは、これらの入力の時間またはクロック参照であり、pは、(感圧画面用の)随意的な圧力測定である。曖昧性除去モジュール613はまた、音声入力、加速度計入力、外部センサデータ、場所情報等の他の形態の入力データを待ち得る。示されていないが、ブロック710では、曖昧性除去モジュール613は、例えば、オペレーティングシステムおよび/またはアプリケーションプログラムから、付加的な動的コンテキストデータを受信し得る。例えば、それは、ユーザがテキストを入力しているアプリケーションプログラムの種類またはコンテキスト(例えば、ユーザがタイプしているフィールドの種類、例えば、日付フィールド対名前フィールド)に関する情報を受信し得る。
曖昧性除去モジュールがユーザ入力データを待って受信する期間は異なり得る。例えば、1つの実装では、曖昧性除去モジュールは、ブロック730に進む前に、(1)指を下に向けた通知、(2)次の指を上に向けた通知、および(3)これら最初の2つの通知の間に起こる、指を動かす通知の全てに対応する、通知のグループ全体を受信し得る。いくつかの他の実装では、ブロック710において、曖昧性除去モジュール613は、ユーザ入力データの中の他の種類の論理グループ化を識別するように、受信ユーザ入力データを連続的に分析し、論理グループがその全体で受信された場合のみブロック730へ進み得る。例えば、ブロック710では、曖昧性除去モジュールは、(例えば、それぞれブロック802およびブロック730において本明細書で説明される技法を使用して)入力特徴(例えば、タップ、コーナー、ホバー等)または特殊機能が発生したかどうか、および単一の入力特徴または特殊機能に対応する入力データの論理グループが検出された時を決定するために、通知が着信するにつれて受信した通知を連続的に分析し、次いで、その論理グループの処理は、ブロック730で進められ得る。
決定ブロック730では、曖昧性除去モジュールは、曖昧性除去モジュールが、言葉の選択、文字の削除、または特殊機能キー(例えば、シフト、キャプスロック、キーボード選択キー等)に関係する機能等の特殊機能を実施するべきであるという入力をユーザが提供したかどうかを決定する。図7Aに示されるように、特殊機能が指示された場合、処理はブロック780へ進み、そこで、曖昧性除去モジュールは、過程がブロック740へ進む前に、(本明細書で説明される)図7Bに示される過程に従って特殊機能を果たす。入力データが特殊機能を指示しない場合、過程はブロック740へ直接進む。
ブロック740では、曖昧性除去モジュールは、該当する場合、どのような入力特徴(例えば、タップ、コーナー、セグメント、ホバー、音声入力等)が受信した入力データによって示されるかを識別するために、文字選択サブモジュール618を利用する。さらに、ブロック740では、曖昧性除去モジュールは、それぞれの識別された入力特徴に対する特徴オブジェクトを生成するために、文字選択サブモジュールを利用する。特徴オブジェクトは、文字セット、一組の特徴種類、および近接性加重セットを含む。文字選択サブモジュールは、図8A−8Bに示される過程に従って、これらのタスクを行い得る。
ブロック740中に、文字選択サブモジュールはまた、1つ以上の特徴種類を使用して、それぞれの識別された入力特徴を特性化し得る。例えば、文字選択サブモジュールは、タップ、コーナー、セグメント、ホバー等として各入力特徴を特性化し得る。加えて、文字選択サブモジュールはまた、識別された入力特徴が「意図的な入力特徴」(または「意図的な特徴」)であるかどうかを決定し得る。意図的な入力特徴は、他の種類の入力特徴と比較して、ユーザによる意図したキーストロークに対応する可能性が高いと思われる入力特徴である。特徴が意図的な入力特徴ではない場合は、代わりに「付随的な入力特徴」(または「付随的な特徴」)として特性化され得る。言葉の候補を入力特徴と合致させる時に、意図的な入力特徴は、本明細書で説明されるように、付随的な入力特徴とは異なって扱われ得る(例えば、より高く加重される)。
例証すると、いくつかの実装では、全てのタップおよび全てのコーナーが、ユーザの入力挙動の明確に異なる突然の変化を示すので、曖昧性除去モジュールは、これらの特徴を意図的な入力特徴として扱う。別の例証として、曖昧性除去モジュールは、全てのタップ、コーナー、およびホバーを「意図的な」入力特徴として扱い得る。曖昧性除去モジュールはさらに、本明細書で説明される他の要因を採用することによって、どの入力特徴が意図的または付随的として特性化されるかを精緻化し得る。入力特徴の特性化は、図8Aに関して本明細書でさらに詳細に説明されている。いくつかの実装では、曖昧性除去モジュールは、区別をつけずに、全ての入力特徴を意図的として扱い得る。
ブロック750では、曖昧性除去モジュールは、推定入力長変数(L)を増分して、該当する場合、ブロック740で識別された新しい意図的な入力特徴の数を反映し得る。本明細書で説明されるように、曖昧性除去モジュールは、ブロック370で言葉の選択リストを生成する場合に、辞書を事前にフィルタにかけるために、または他の目的で、推定入力長Lを後で使用し得る。同様に、ブロック750では、曖昧性除去モジュールは、加えて、入力シーケンスの構成を反映する他の変数(例えば、入力シーケンスに存在するセグメント特徴の数を反映する変数)を更新し得る。
ブロック760では、曖昧性除去モジュールは、任意の新たに生成された特徴オブジェクトを入力シーケンスに付加する。入力シーケンスは、ユーザが最後に言葉を選択してから作成された、順序付けられた一組の全ての入力特徴オブジェクトを反映する。入力シーケンスの中の種々の特徴オブジェクトは、時間に基づいて順序付けられる。
ブロック770では、曖昧性除去モジュールは、現在の入力シーケンスを使用して言葉の選択リストを作成するために、および(例えば、タッチスクリーンディスプレイ上の言葉の選択リスト領域を介して)このリストをユーザに出力するために、言葉リスト選択サブモジュール618を利用する。このようにして、曖昧性除去モジュールは、意図した言葉を選択する機会をユーザに与える。言葉の選択リストの作成は、図9Aおよび9Bに関して本明細書でより詳細に説明される。
システムの1つの変化形では、ユーザが言葉の選択リストの中の言葉を選択する場合、システムは、選択された言葉から始まる言葉のみを示すことによって応答し得る。言葉に加えて、選択リストはまた、言葉によって表されるオブジェクトを含み得る。例えば、loveという言葉が、それに関連付けられているハートの形状のアイコンを有し得る。加えて、連絡先辞書等の異なる語彙またはプロバイダから読み出される言葉が、選択された時に付加的なオプションを提供し得る。例えば、ユーザが、連絡先辞書の中の名前に合致する名前を入力した場合、ユーザは、電話番号、運転方向、Eメールアドレス、または機械可読形式(vCard等)で連絡先を表すオブジェクトを含む、任意の他の関連オブジェクトを追加することを選択し得る。他の言葉が、キーワード、電話番号、潜在的なカレンダー入力等を認識し得る、「認識装置」に送信され得る。ユーザが「Let’s meet for Lunch at Joey’s(Joeyの家で昼食に集まりましょう)」とタイプした時に、認識装置は、カレンダーに追加する、Joeyの家に電話する、予約をする、方向を挿入する等の動作を追加することができる。ユーザが任意の動作を選択する場合に、システムは、完了時にユーザをテキスト入力の活動に戻す、活動を開始し得る。そのような活動は、ユーザ履歴、ユーザ選好を含む、ユーザの意図に関して活動がより良好に知らされるのに役立ち得る、任意の関連コンテキストパラメータを伴って開始され得る。別の実施例では、ユーザは、楽曲をEメールに追加することを希望し得る。曲名、アーティスト、アルバム、またはmp3、楽曲等のキーワードさえもタイプすることによって、ユーザは、ユーザがオブジェクトを継ぎ目なく添付することを可能にする活動を開始し得る。随意で、活動の開始を引き起こすように選択された言葉は、自動的に削除され得る。
図7Bは、ユーザ入力データによって示される特殊機能を果たすための過程715を示す。過程715は、どのような種類の特殊機能がユーザの入力データによって示されたかを曖昧性除去モジュールが識別する時である、ブロック782から始まる。そうするために、曖昧性除去モジュールは、特殊機能キー、言葉の選択リスト領域、および/またはメニューボタン等の他の活動領域への触覚ユーザ入力の近接性を分析し、音声コマンド入力の発話認識分析を行い、(例えば、スワイプ、マルチタッチ動作を検出するための)他の触覚ジェスチャまたは物理的ジェスチャ(例えば、デバイスを振ること)を分析し、および/または入力の種類を特殊機能にマップするために曖昧性除去パラメータデータベースにおける探索を行い得る。
決定ブロック784では、曖昧性除去モジュールは、ユーザが(例えば、言葉の選択リストから)言葉を選択したことを入力データが示すかどうかを決定する。言葉のユーザ選択は、ユーザが特殊キー(例えば、スペースバー、タブキー、エンターキー等)の付近または上でタップする、トレースする、またはホバーした場合に、またはユーザが言葉の選択リスト領域の中の言葉の上または付近でタップする、トレースする、またはホバーする場合に、例えば、(以前に説明されているような)発声選択を介して起こり得る。当然ながら、ユーザは、デバイスを振ること、入力ボタンを押すこと等による、任意の他の好適な方法によって言葉を選択し得る。
一実施例では、曖昧性除去モジュール613は、ユーザが1つの個別の言葉を終了して別の言葉を始める意向であることを、ユーザの入力が示すかどうかを決定するために、ユーザによって利用される入力特徴の種類を分析することによって、「自動間隔」機能性を提供し得る。いくつかの実装では、曖昧性除去モジュール613は、入力シーケンスの中の2つの連続トレース(すなわち、介入するトレースまたはホバーのような別の種類の入力特徴を伴わない)を、ユーザが(1)入力シーケンスの中の最後のトレースおよび他の以前の特徴に対して決定されたデフォルトの言葉を選択すること、および(2)第2のトレースから始まる新しい言葉を始めることを意図した指示として解釈する。したがって、決定ブロック784では、曖昧性除去モジュールは、最後の2つの入力特徴がトレースであったかどうかを決定し得る。そうであった場合、システムは、(1)最後のデフォルトの言葉のユーザの選択を処理するためにブロック792へと進み、(2)新しい入力シーケンスの中の第1の特徴として第2のトレースの構成要素(すなわち、そのコーナーおよびセグメント)を用いて過程700を再開し得る。そうでなければ、システムは、単に過程700を継続し得る。当然ながら、決定ブロック784における自動間隔を試験するために、任意の他の好適な特徴の組み合わせを利用することができる。より一般的に、曖昧性除去モジュール613は、入力シーケンス内の特定の特徴構成の発生時に、自動間隔を実施し、曖昧性除去パラメータデータベース630の中の曖昧性除去パラメータおよび選好を使用して、トリガ構成が設定され得る。
加えて、ある言語(例えば、複合言語)またはコンテキスト(例えば、URL入力)について、自動間隔特徴は、無効にされ得、または異なる様式で実装され得る。例えば、2つの連続トレース(または異なるトリガ条件)が検出された場合、システムは、(1)最後のデフォルトの言葉のユーザの選択を処理するためにブロック792へと進み、および(2)新しい入力シーケンスの中の第1の特徴として第2のトレースの構成要素(すなわち、そのコーナーおよびセグメント)を用いて過程700を再開し、新しい言葉が選択された時に、最後のデフォルトの言葉および新しい言葉が複合されるべきであると示すフラグを設定し得る。
ユーザが言葉を選択したことを入力データが示す場合、処理はブロック792へと進み、そこで、曖昧性除去モジュールは、選択された言葉を処理し、そうでなければ、処理はブロック786へ直接進む。ブロック792では、曖昧性除去モジュールは、選択された言葉を所望に出力に(例えば、現在実行しているアプリケーションプログラムに関連付けられているウィンドウの出力領域に)出力する。この出力の性質は、コンテキスト(例えば、センテンスコンテキスト)、フラグ、パラメータ、または他の要因の影響を受ける場合がある。例えば、文中の直前の言葉が複合言語の共通左幹であり、現在選択されている言葉が同じ複合言語の共通右幹である場合、曖昧性除去モジュールは、現在選択されている言葉の前にスペースを挿入するかどうか、または新たに選択された言葉を直前の言葉に複合するかどうかを決定し得る。そのような決定を行うために、曖昧性除去モジュールは、語彙モジュール624および/またはグラマーモジュールからの言語情報を利用し得る。別の実施例として、曖昧性除去モジュールは、ユーザがURLを入力していることをコンテキスト(例えば、「google.com」という以前の入力)から推測することができる場合に、言葉の間のスペースを排除することができる。
加えて、ブロック792では、曖昧性除去モジュールは、選択を反映するように語彙モジュールを更新し得る。例えば、曖昧性除去モジュールは、選択された言葉に関係する頻度および新近性情報を更新し、および/またはユーザが同じ言葉を数回入力するまで、ユーザが作成した言葉をユーザ特有の辞書または一時的な辞書に追加し得る。これは、ユーザデータベースへの不要な言葉の付随的な追加を回避する。システムは、さらなるユーザ介入なしで、辞書へのそのような付随的な追加を除去するように、言葉の以降の編集を気に留めてもよい。加えて、ユーザは、言葉の長押し等の特定の動作を通して、ユーザが生成した言葉がユーザ辞書に即時に追加されるべきであると示し得る。言葉に加えて、システムはまた、(例えば、本明細書で記述されるように言葉のペアを用いて)将来の予測をさらに向上させるように、選好の1つ/複数の言葉等の言葉のテキストのコンテキストに関する情報を含み得る。
別の実施例として、曖昧性除去モジュールは、(例えば、システムがEメール対テキストメッセージング用の異なるユーザ辞書を維持する場合)アプリケーションおよびユーザの両方に依存性である辞書を更新し得る。さらに別の実施例として、曖昧性除去モジュールは、ユーザによって利用される言葉のペアに関する情報を用いてユーザコンテキストデータベース626を更新するために、入力された以前の言葉を読み出し得る。例えば、ユーザが「school book」という言葉のペアを頻繁に使用し、現在の入力では以前の言葉が「school」であった場合、「book」という言葉が、より高い確率を受け取り、言葉の選択リスト内で昇格され得る。別の実施例として、いくつかの実装では、曖昧性除去モジュールは、例えば、選択された言葉を適用可能なフィールドラベルと関連付けることによって、アプリケーションコンテキストデータベース628を更新し得る。
加えて、ブロック792では、曖昧性除去モジュールは、その将来の挙動を調整するために、現在および/または履歴上の受信した入力データ、現在および/または履歴上の入力シーケンス、ならびに現在および/または履歴上の選択された言葉を分析し得る。例えば、曖昧性除去モジュールは、どのようにユーザがユーザインターフェースにデータを入力するかにおける任意の傾向を識別することができる(どのようしてシステムが一組の同様のユーザ入力に基づいてユーザのパターンまたは習慣を習得することができる)かどうかを決定するために、ユーザの選択された言葉に対応するキーの場所を、入力シーケンスの中の検出された特徴の場所と比較し得る。傾向が識別された場合、曖昧性除去モジュールは、任意の観察された傾向を反映するように、ユーザ特定または他の曖昧性除去パラメータを更新し得る。実施例として、ユーザが常にコーナーにおいて文字を通り過ぎる、または文字に達しない(またはある場合においてそうする)場合、ユーザが、余分な強調を明確に提供しようとして、または繰り返しの文字を示そうとして、タップ中にわずかに小刻みに動かす場合、ユーザが、典型的には、意図したキーストロークを示すためにセグメントの途中で一時停止する場合等に、曖昧性除去モジュールが、その文字選択パラメータを調整し得る。別の具体的実施例として、曖昧性除去モジュールは、ユーザが入力においてどれだけ特に正確または不正確であるかを反映するように、適用可能な距離関数および/または近接性測定基準パラメータ(例えば、本明細書で説明されるように、コーナーの長円形を生成するために使用されるもの)を調整し得る。多くの場合において、曖昧性除去モジュールは、フィードバックループを採用し、モジュールは、ユーザが言葉のリストから選択した同じ言葉に関連付けられている一連のユーザ入力を記憶し、これらの入力を比較し、後続の言葉のリスト上の言葉の順序付けられたリスト、入力への加重の曖昧性除去等に調整を行う。両手でキーボードを握る時に複数の指を通した入力と対比して、システムが1本の指の入力(デバイスを片手で握る時の親指等)を検出する場合に、異なる適
合モデルが存在し得る。加えて、モデルは、ユーザの速度、環境光の可用性等の他のコンテキストパラメータを考慮することができる。
別の実施例として、曖昧性除去モジュールは、ユーザが好ましい言語を明示的に設定する必要がないように、ユーザが特定の言語から言葉を選択する頻度を決定することによって、ユーザの主要または好ましい言語を決定するように選択された言葉を分析し得る。
加えて、ブロック792では、曖昧性除去モジュールはまた、特定のアプリケーションプログラム(例えば、テキストメッセージプログラム)および/または特定のアプリケーションフィールド(例えば、「名前」フィールド)のコンテキストにおける言葉または語句の頻度または新近性を反映するように、アプリケーションコンテキストデータベースを更新し得る。適切であれば、パスワードフィールド等の選択されたフィールドは、覚えられ得るが、ユーザが秘密のパスコード、ジェスチャ、シェイク、発話コマンドを入力し、種々のコンテキストパラメータに依存し得る期間にわたって、これらの極秘の言葉を含む保護メモリ、ボールト、または場所をロック解除するまで、読み取られることから保護することができる。例えば、デバイスが「スリープ」モードまたは「スクリーンセーバ」モードになった時に、ボールトが自動ロックし得る。ボールトの挙動は、必要であれば、または場合によって、ユーザによって定義され得る。さらに、ユーザは、種々の「人格」または身なりを定義していてもよく、明示的あるいは暗示的起動に基づいて、ユーザ名、パスワード、および他の極秘データが変化し得る。例えば、勤務時間中に、人格が「仕事」となる一方で、勤務時間後または週末の間に、人格は「娯楽」または「自宅」または「家族」となり得、システムの異なる辞書、データベース、および選好が、人格に応じて使用される。
最終的に、ブロック792では、曖昧性除去モジュールは、入力シーケンスを消去し、図7Aに示されるように新しい過程700を再開し得る。
ブロック786では、曖昧性除去モジュールは、入力データが文字の削除を示すかどうかを決定する。例えば、曖昧性除去モジュールは、削除特殊機能キーが押下された(または辿られた)かどうか、またはユーザがデバイスを振ったか、または削除ジェスチャを別様に行ったかどうかを決定し得る。削除事象が検出された場合、処理はブロック788の前にブロック794および796へ進む。そうでなければ、処理はブロック788へ直接進む。ブロック794では、曖昧性除去モジュールは、入力リストから1つ以上の特徴オブジェクトを除去する。典型的には、削除キーの単一の押下(例えば、タップ)またはトレースについては、曖昧性除去モジュールは、入力シーケンスから、最後の意図的な特徴オブジェクトおよび任意の後続の付随的な特徴オブジェクトを除去し得る。しかしながら、曖昧性除去モジュールは、入力シーケンスから特徴オブジェクトの異なる一部を除去してもよく、ブロック394で除去される特徴の数、性質、および順番は、受信される入力データの正確な性質(例えば、「1つ削除する」キーまたはジェスチャの代わりに「全て削除する」キーまたはジェスチャが利用されたかどうか、ユーザの削除ジェスチャまたは入力が、特定の特徴が削除されるべきであると示したかどうか等)に依存し得る。ブロック794では、曖昧性除去モジュールは、加えて、推定入力長変数Lを減少させて、入力シーケンスからの1つ以上の意図的な特徴オブジェクトの削除を反映し得る。ブロック796では、曖昧性除去モジュールは、更新された入力シーケンスを使用して新しい言葉リストを作成し、(例えば、図9Aで説明されるように)この新しいリストをユーザに出力する。
ブロック788では、曖昧性除去モジュールは、言葉の選択リストを生成する場合に、どのようにして曖昧性除去モジュールが文字および/または言葉の候補を選択するべきかに関係する特殊機能を入力データが示すかどうかを決定する。例えば、曖昧性除去モジュールは、ユーザが、シフトキー、キャプスロックキー、キーボード選択キー、またはどのようにして曖昧性除去モジュールが文字および/または言葉を選択するべきかを修正する同様のキーをタップまたはトレースしたかどうかを決定し得る。別の実施例では、キーボードは、ユーザがシステムコマンドを迅速に入力することを可能にする、「コマンド」キーを含み得る。例えば、コマンドキー上で「COPY」という言葉をトレースすること、またはコマンドキーからトレースし、次いで、キーボード上でCOPYという言葉をトレースすることによって、ユーザは、選択されたテキストをコピーすることができる。同様に、CTRLキーが、CTRL−A「全てを選択」、コピーおよびペーストするためのCTRL−C/V、テキストを入力するためのCTRL−E等といった、一般的に使用されている機能をマップするために使用することができる。加えて、ユーザは、コマンドおよびショートカットを定義することが可能であり得る。別の実施例では、曖昧性除去モジュールは、他の入力手段を介して(例えば、オフキーボードをトレースすることによって(例えば、表示されていない文字を示すことが所望される)、振ること、なでること、または他の身体的ジェスチャによって、または音声コマンドによって)ユーザが同様の意図を示したかどうかを決定し得る。特殊機能が示された場合、曖昧性除去モジュールは、例えば、文字決定フラグ(大文字化フラグ、領域・キーマッピング選択フラグ、キー・文字マッピング選択フラグ、および/または発音区別符フラグ等)、あるいは言葉決定フラグ(大文字化フラグ等)を調整することによって、入力シーケンスのコンテンツを調整することによって、および/または任意の他の好適な措置を講じることによって、ブロック798において適切な応答措置を講じる。
ブロック790では、曖昧性除去モジュールは、入力データが別の機能を示すかどうかを決定する。例えば、曖昧性除去モジュールは、ユーザがメニューボタンをタップしたことを決定し得る。別の機能が示された場合、ブロック799では、曖昧性除去モジュールは、過程315が戻る前に他の示された機能を果たすために必要とされる好適なステップを講じる。そうでなければ、過程715は即時に戻る。
図8Aは、該当する場合、どのような入力特徴が受信した入力データによって示されているかを識別し、それぞれの識別された入力特徴に対する特徴オブジェクトを生成するための過程800を図示する。過程はまた、各入力特徴を特性化し、入力特徴と関連付ける文字セットを選択し、その文字セットに関連付けられている近接性加重セット、またはセットの中の各文字の対応する加重を決定する。
過程800は、ブロック802から始まり、そこで、文字選択サブモジュールが、未加工入力データ(例えば、時系列の指を下に向けた、指を動かす、および指を上に向けた通知、または位置測定に関連付けられている事象)を処理して、存在する入力特徴の種類および識別された入力特徴の場所を識別する。各入力特徴を識別するために、文字選択サブモジュールは、ユーザの指の単一の押下に対応する入力データのグループ、すなわち、指を下に向けた事象、任意の数の指を動かす事象、および指を上に向けた事象で始まる、時系列の入力データを分析し得る。次いで、文字選択サブモジュールは、関連時系列の位置/圧力データX−Y={x(t),y(t)、随意で、p(t)}から運動および/または圧力測定基準を決定するために、このグループを分析し得る。例えば、文字選択サブモジュールは、押下の合計時間、移動した合計距離(例えば、X−Yで反映される線分の全てを合計することによる)、(x(t),y(t))の範囲またはそれらの何らかの組み合わせ、押下中の正味の圧力差等の一次値を計算し得る。別の実施例として、文字選択サブモジュールは、トレースに沿ったユーザの指の速度を決定すること、またはコーナー、変曲点(例えば、二次導関数を使用する)、および/または他の関心点を識別するために使用され得る、周知の幾何学的分析アルゴリズムを実施すること等の、高次および/または時間依存性計算を行い得る。
決定ブロック805では、文字選択サブモジュールは、入力データがタップ特徴を示すかどうかを決定する。タップ特徴を識別するために、文字選択サブモジュールは、合計押下時間が閾値タップ時間値に該当する、および/または時間系列中の移動の全範囲も閾値タップ距離値に該当するかどうかを単に決定し得る。これらの条件が満たされた場合、文字選択サブモジュールは、タップ特徴の場所として利用するように、好適な場所(例えば、押下ウィンドウ中に見られる最初、平均、または最終の(x,y)座標)を識別し得る。しかしながら、文字選択サブモジュールは、タップを識別する、タップを他の種類の特徴と区別する、および/またはタップの場所を決定するために、任意の他の好適な方法を適用し得る。例えば、文字選択サブモジュールが、低圧力タップを無視し得る。
タップが決定ブロック805で決定された場合、処理は次にブロック850で継続し、そこで、文字選択サブモジュールは、タップを特性化する、タップに関連付けられている関連文字セットを識別する、および文字セットの中の各文字に対する近接性加重を計算することによって、タップに対する特徴オブジェクトを生成する。典型的には、文字選択サブモジュールは、タップ特徴を以前に説明されているような意図的な特徴として特性化するが、曖昧性除去パラメータによって決定付けられる、ある状況(例えば、低圧力タップ)下では、文字選択サブモジュールは、代わりに、タップを付随的な特徴として特性化し得る。加えて、文字選択サブモジュールは、タップ特徴を「指を下に向けた」および「指を上に向けた事象」の両方として特性化し得る。関連文字セットを識別し、検出されたタップ特徴に対する近接性加重を計算するための好適な方法は、図8Bおよび8Cに関して本明細書でさらに詳細に説明されている。
ブロック810では、文字選択サブモジュールは、入力データがコーナー特徴を含むかどうかを決定する。文字選択サブモジュールは、単純に、トレースのX−Yセットの最初および最後の構成要素またはデータ点を利用することによって、トレースの開始コーナーおよび終了コーナーを検出し得る。トレースの途中のコーナー特徴を識別するために、文字選択サブモジュールは、ユーザの方向の突然の変化を検出するように任意の好適な曲率分析方法を利用し得る。一実施例として、文字選択サブモジュールは、中心点が他の2つの点を接続する線からの閾値距離以上になるかどうかを決定するために、トレース上の一連の座標(例えば、3つの連続点)を繰り返し評価し得る。もしそうでなければ、評価は、トレース上の次の一組の点について繰り返す。もしそうであれば、中心点は、コーナー場所として識別される。次いで、この過程は、コーナーを見出すように反復される。別の実施例として、トレースの途中のコーナー特徴を識別するために、文字選択サブモジュールは、トレースに沿って圧力、速度、および/または加速度挙動を評価し得る。しかしながら、文字選択サブモジュールは、コーナーを識別する、コーナーを他の種類の特徴と区別する、および/またはコーナーの場所を決定するために、任意の他の好適な方法を適用し得る。
コーナーが決定ブロック805で決定された場合、処理は次にブロック860で継続し、そこで、文字選択サブモジュールは、コーナーを特性化する、コーナーに関連付けられている関連文字セットを識別する、および文字セットの中の各文字に対する近接性加重を計算することによって、コーナーに対する特徴オブジェクトを生成する。典型的には、文字選択サブモジュールは、コーナー特徴を以前に説明されているような意図的な特徴として特性化するが、曖昧性除去パラメータによって決定付けられる、ある状況(例えば、低圧力コーナーまたはより低い曲率を伴うトレースの途中のコーナー)下では、文字選択サブモジュールは、代わりに、コーナーを付随的な特徴として特性化し得る。加えて、文字選択サブモジュールは、開始コーナー特徴を、指を下に向けた特徴として特性化し、終了コーナー特徴を、指を上に向けた特徴として特性化し得る。関連文字セットを識別し、検出されたコーナー特徴に対する近接性加重を計算するための好適な方法は、図8Bおよび8Dに関して本明細書でさらに詳細に説明されている。
決定ブロック820では、文字選択サブモジュールは、セグメント特徴が入力データの中で検出されるかどうかを決定する。文字選択サブモジュールは、セグメントを検出し、単純に、2つの隣接するコーナー(再度、「コーナー」はトレースの終点を含むことができる)の間に位置するX−Yトレースデータを選択することによって、セグメント特徴に対する場所データを選択し得る。サブモジュールはまた、トレースが、2つの特徴の間の潜在的なセグメントを示すように仮想キーボード上のキーの領域よりも大きいかどうかを決定し得る。しかしながら、文字選択サブモジュールは、セグメントを識別する、セグメントを他の種類の特徴と区別する、および/またはセグメントの場所を決定するために、任意の他の好適な方法を適用し得る。
セグメントが決定ブロック820で決定された場合、処理は次にブロック870で継続し、そこで、文字選択サブモジュールは、セグメントを特性化する、セグメントに関連付けられている関連文字セットを識別する、および文字セットの中の各文字に対する近接性加重を計算することによって、セグメントに対する特徴オブジェクトを生成する。典型的には、文字選択サブモジュールは、曖昧性除去パラメータによって他に決定付けられない限り、セグメント特徴を付随的な特徴として特性化する。関連文字セットを識別し、検出されたセグメント特徴に対する近接性加重を計算するための好適な方法は、図8Bおよび8Eに関して本明細書でさらに詳細に説明されている。
決定ブロック830では、文字選択サブモジュールは、別の種類の特徴が入力データの中で検出されるかどうかを決定する。例えば、文字選択サブモジュールは、X−Yトレース中に発生した任意のホバーリングまたは異常局所圧力を識別し得る。文字サブモジュールが検出し得る他の特徴の実施例は、(例えば、文字を選択するための)口頭のコマンド、トレース中に画面をタップする第2の指、曲率の適度の変化、および曲率の一定の変化(例えば、旋回運動を示唆する)を含む。別の種類の特徴が検出された場合、処理は次にブロック880で継続し、そこで、文字選択サブモジュールは、特徴を特性化する、特徴に関連付けられている関連文字セットを識別する、および文字セットの中の各文字に対する近接性加重を計算することによって、特徴に対する特徴オブジェクトを生成する。文字選択サブモジュールは、特徴が、特的のキーストロークを達成するというユーザの意図の明確な発現である場合、識別された特徴を意図的な特徴として特性化し得る。例えば、明確に話した文字は、意図的な特徴として特性化され得る。
過程800中に、文字選択サブモジュールは、種々のユーザ特有の曖昧性除去パラメータを評価することによって、ユーザの入力スタイルにおける既知の特性または傾向を相殺するように、入力特徴の場所を調整し得る。例えば、文字選択サブモジュールは、ユーザがキーの右側をタップする傾向を有する場合、タップ特徴の位置を、その実際の検出された場所の左側に調整し得る。
図8Bは、文字セットを識別し、入力特徴に対する関連近接性加重を計算するための過程890を示す。過程890は、ブロック803から始まり、そこで、文字選択サブモジュールは、特定の特徴の種類に使用されるべきである適用可能な距離関数および近接性測定基準を識別するために、曖昧性除去パラメータを利用する。「距離関数」は、特定の入力特徴の場所と仮想キーボードの中の特定のキーの場所との間の分離を反映する、距離スコアを導出する方法を提供する。「近接性測定基準」は、近接性加重を導出する方法を提供する。「近接性加重」は、特定の入力特徴の場所と仮想キーボードの中の特定の対応するキーの場所との間の分離に基づいて、ユーザが入力特徴による特定のキーストロークを示すことを意図した可能性または確率を反映する。以下で説明される図8C−8Eは、利用され得る、種々の種類の距離関数および近接性測定基準を図示する。しかしながら、当業者であれば、任意の好適な距離関数および近接性測定基準が採用され得ることを理解するであろう。
ブロック806では、文字選択サブモジュールは、ユーザに表示され、ユーザによって利用されている仮想キーボードのキーレイアウト(例えば、12キー、28キー等)を反映する、キーボードマッピングデータベース622から領域・キーマッピングをロードする。
次いで、ブロック809から始まって、文字選択サブモジュールは、領域・キーマッピングにおいて各キーに対するループを行う。ループは、ブロック812から始まり、そこで、文字選択サブモジュールは、典型的には、言語非依存性マッピングである、領域・キーマッピングを使用することによって、キーの場所を決定する。次に、ブロック815では、文字選択サブモジュールは、図8C−8Eに関して本明細書でさらに詳細に説明されるように、キーの場所および入力特徴の場所を使用して、適用可能な距離関数を評価することによって、キーの距離スコアを計算する。決定ブロック818では、文字選択サブモジュールは、キーがさらなる分析に値するように入力特徴に十分近いかどうかを決定し、そうするために、サブモジュールは、閾値に対して距離スコアを評価し得る。キーが十分に近くない場合、ループはブロック812から始まって繰り返す。そうでなければ、過程はブロック824へと進み、そこで、文字選択サブモジュールは、図8C−8Eに関して本明細書でさらに詳細に説明されるように、キーの場所、入力特徴の場所、および/または距離スコアを使用して、適用可能な近接性測定基準を評価することによって、キーの近接性加重を評価する。
ブロック827では、文字選択サブモジュールは、キーに関連付けられている全ての文字、仮想キーボード上でユーザに表示されないことがある文字(例えば、アクセントのある文字)さえも識別するために、1つ以上のキー・文字マッッピングを使用する。サブモジュールは、種々のフラグ(例えば、キーボード選択フラグ)、動的コンテキスト情報(例えば、オペレーティングシステムから受信されるユーザの言語設定)、ユーザ選好、および/または曖昧性除去パラメータを評価することによって、ブロック827でどのキー・文字マッピングを使用するかを決定し得る。例えば、サブモジュールは、ユーザインターフェースがフランス語文字レイアウトを伴う完全QWERTYキーボードを有するという指示を受信し、好適なキー・文字マッピングを選択するために、この情報を使用し得る。文字選択サブモジュールは、(例えば、異なる画面上文字レイアウトを切り替えることなく、連続的にテキストを入力することを希望し得る、他言語ユーザに適応するために)このブロックで1つより多くのキー・文字マッピングを利用し得る。
ブロック833では、文字選択サブモジュールは、ブロック827で識別された各文字を特徴オブジェクトの文字セットに追加し、各識別された文字を計算されたキー近接性加重と関連づける。ブロック836では、文字選択サブモジュールは、領域・キーマッピングにおいて、処理するべきさらなるキーがあるかどうかを決定する。もしそうであれば、ループは、ブロック812から始まって繰り返し、そうでなければ、過程890が戻る。
図8Cは、タップ特徴とともに好適に採用され得る、好適な距離関数および/または近接性測定基準を概念的に図示する。図8Cは、仮想表示QWERTYキーボードの「E」キー上のデータ点(「X」で示される)に位置するタップ特徴882を示す。いくつかの実装では、距離関数および近接性測定基準の両方は、区分的階段関数である。一実施例では、キーの任意の部分(または代替として、キーの全体)が半径Rの円881の範囲に入る場合に、キーに対する距離スコアは0であり、Rは、少なくとも部分的に、曖昧性除去パラメータ(例えば、ユーザの入力を反映するように調整され得るパラメータ、および平
均キーサイズおよび/または平均キー分離等のキーボードレイアウトに関係するパラメータを含む)を使用して決定され得る。この実施例では、距離関数は、半径の外側にある全ての他のキーに対して最大値を有する。この実施例では、示されたタップ882について、A、W、S、E、D、R(およびおそらくT)キーは、0距離値(または他の最小値)を有し、全ての他のキーは、最大距離値を有する。別の実施例では、キーに対する距離スコアは、タップ点882が直接キーの上にある場合は0(または最小値)であり、キーのいくらか(または代替として全体)が半径Rの円881の範囲に入る場合は中間値であり、円4881の外側の全ての他のキーについては最大値である。この実施例では、図8Cに示されるタップ882については、Eキーは、ゼロ距離スコアを有し、A、W、S、D、R(およびおそらくT)キーは、中間値を有し、全ての他のキーは、最大値を有する。さらに別の実施例では、キーに対する距離関数は、タップ特徴882からキーの上または中の点(例えば、その重心、その周辺上の最近点等)までのデカルト距離である。これらの実施例では、キーに対する近接性測定基準は、距離関数の最大値(または別の最大値)からキーの距離スコアを引いたものとして定義され得る。しかしながら、当業者であれば、任意の他の好適な高次距離関数および/または近接性測定基準が採用され得、近接性測定基準がキーの距離スコアを直接採用しないことがあることを認識するであろう。タップ特徴について説明される技法はまた、他の指を置いたおよび/または指を離した特徴(例えば、トレースを開始または終了するコーナー特徴)に好適に採用され得る。
図8Dは、コーナー特徴とともに好適に採用され得、非終端コーナー特徴に特に適する好適な距離関数および/または近接性測定基準を概念的に図示する。トレース中に、ユーザがコーナー883に接近するにつれて、ユーザが意図したコーナーキーを通り過ぎる、および/またはそれに達しない傾向があり得る。ユーザが所与のトレース中に通り過ぎるか達しないかどうかは、ユーザの掌性、キーボードの形状および/またはレイアウト、トレースの方向、ユーザがコーナーに接近する際の速度または加速度、ユーザの手の形状、ユーザがコーナーキー(手によって妨害される場合がある)に接近する際にキーボードレイアウトを視覚的に識別するユーザの能力、コーナーにおけるトレースの曲率の程度、および他の要因の関数であり得る。これらの関数はまた、どのようにしてユーザが通り過ぎるか、または達しないか(例えば、x方向、y方向に通り過ぎるかどうか、どれだけの距離を通り過ぎるか等)に細かく影響を及ぼし得る。
図8Dは、どのようにして距離関数および/または近接性測定基準が、意図したキーをユーザが通り過ぎる、またはそれに達しないことを補償し得るかを概念的に図示する。図8Dは、図8Cに関して以前に説明されている区分的距離関数に類似している区分的距離関数を実装するために、内部コーナー特徴883における楕円形884または長円領域(または同様の非対称形状)がどのようにして使用され得るかを示す。領域の正確な形状および配向は、前述の要因によって引き起こされる超過距離または距離不足補正するように選択され得る。例えば、1つの実装では、楕円形884の主軸888は、ユーザの指がコーナー883に到達する直前、コーナーに到達する時、またはコーナーを曲がった直後のユーザの指の速度ベクトルと平行に選択され得る。加えて、主軸888の長さは、これらの点のうちの1つにおける速度ベクトルの規模に比例して増加するように、および/または以前に説明されている要因(例えば、ユーザの粗雑さ)を別様に反映するように選択され得る。同様に、短軸889の長さは、以前に説明されている要因を反映するように選択され得る。
図8Fに示されるように、それぞれ、その独自の主軸および短軸を有する、2つの半長円を含む、卵形等の異なる種類の非対称形状もまた、使用され得る。2つの主軸の方向ならびに絶対および/相対的長さは、ユーザの指の速度(規模および方向の両方)、ユーザの掌性、ユーザの粗雑さ、および/または以前に説明されている他の要因の関数であり得る。1つの実装では、半楕円形の主軸は、ユーザの指がコーナーに到達する直前、コーナーに到達する時、またはコーナーを曲がった直後のユーザの指の速度ベクトルと平行に選択され得る。軸は、部分的に、ユーザの掌性および移動方向に依存している不明瞭な視界を補正するように選択され得る。例えば、右に移動する右利きのユーザは、(例えば、同じ方向に移動する左利きのユーザほど)指の右側のキーがよく見えず、それは、コーナーの右側のキーを打つ意図を判断する際に増大した不正確性を引き起こす。図8Fに示される実施例では、卵形は、ユーザが左下から接近する際に、右利きのユーザのいくつかのキーのより不明瞭な視界を補うように、キーボードの右側でより長い。卵形の中の2つの半長円の短軸はまた、以前に説明された要因を反映するように選択され得、2つの半長円は、異なる長さの短軸を有してくもよく、長いほうの軸が上記の実施例では右側に位置する。
図8Cに関して以前に説明された方法と同様に、非対称形状(例えば、図8Fの楕円形884または卵形)の範囲に(完全または部分的に)入るキーは、非対称形状の外側の形状よりも低い距離スコア(および/または高い近接性加重)が割り当てられ得る。別の実施例として、コーナー点883がキーの上にある場合、そのキーは、最小距離スコアが割り当てら、非対称形状内のキーは、中間距離スコアが割り当てられ、非対称形状の外側のキーは、最大距離スコアが割り当てられ得る。さらに別の実施例では、キーに対する距離関数は、コーナー特徴483からキーの上または中の点(例えば、その重心、その周辺上の最近点等)までのデカルト距離である。また、キーに対する近接性加重は、最大可能距離スコアからキーの距離スコアを差し引くことによって調整され得る。
図8Dは、コーナー特徴に対する区分的距離関数および近接性測定基準を主に説明している。しかしながら、任意の他の好適な高次距離関数および/または近接性測定基準が採用され得(超過距離または距離不足要因を補正する高次距離関数および/または近接性測定基準)、近接性測定基準は、キーの距離スコアを直接採用する必要がない。
図8Eは、セグメント特徴とともに好適に採用され得る、距離関数および/または近接性測定基準を概念的に図示する。ここで、区分的距離関数および/または近接性測定基準は、セグメント特徴886のトレース線からの特定の垂直距離の範囲に入る全ての点によって規定される、不整形領域885を使用して定義され得る。領域を規定するために利用される最大距離は、少なくとも部分的に(例えば、ユーザの入力スタイルおよび習慣を反映するように調整され得るパラメータを含む)曖昧性除去パラメータを使用して決定され得る。第1の実施例では、部分的に(または代替として全体的に)不整形領域885の範囲に入る全てのキーは、最小距離スコア(および/または最大近接性加重)を受け、全ての他のキーは、最大距離スコア(および/または最小近接性加重)を受け得る。第2の実施例では、セグメント特徴886によって直接交差されるキーは、最小距離スコア(および/または最大近接性スコア)を受容してもよく、部分的に(または代替として全体的に)領域の範囲に入る他のキーは、中間距離スコア(および/または最大近接性スコア)を受け、全ての他のキーは、最大距離スコア(および/または最小近接性スコア)を受け得る。当業者であれば、トレース線までのキーの垂直距離を利用する高次関数および測定基準を含む、任意の他の好適な高次および/または近接性測定基準が採用され得ることを認識するであろう。
図9Aは、特徴オブジェクトの入力シーケンスを使用して、言葉の選択リストを作成するための過程900を示す。過程900は、ブロック905から始まり、そこで、言葉リスト選択サブモジュールは、適用可能な曖昧性除去パラメータ;ユーザコンテキストデータベースおよびアプリケーションコンテキストデータベースから読み出される半静的コンテキストデータ、およびオペレーティングシステムおよび/またはアプリケーションプログラムから読み出される動的コンテキストデータを含む、コンテキストデータ;ならびに、例えば、語彙モジュール、ユーザコンテキストデータベース、および/またはアプリケーションコンテキストデータベースからの頻度データを含む言語データをロードまたは受信する。ブロック510では、言葉リスト選択サブモジュール(略して「言葉サブモジュール」)は、コンテキストデータ、曖昧性除去パラメータ、および/または任意のフラグ(例えば、言語選択フラグ)を使用して、語彙サブモジュールから適用可能な辞書をロードする。例えば、使用される辞書は、曖昧性除去モジュールの出力を受信するアプリケーションプログラムの種類に基づいて選択され得る。別の実施例として、使用される辞書は、音声認識ソフトウェアを使用してユーザの発話を分析することによって、または別のユーザ入力モードを分析することによって生成され得る。例えば、辞書は、音声認識ソフトウェア、手書き認識ソフトウェア等によって生成されるN個の最良リストであり得る。
ブロック915では、言葉サブモジュールは、言葉のサブグループを生成するように、入力シーケンスの何らかの部分、推定入力長L、および/またはコンテキストを使用して、辞書を事前にフィルタにかけ得る。第1の実施例として、言葉サブモジュールは、言葉が最初の「指を上に向けた」特徴および/または最後の「指を下に向けた」特徴(以前に説明されている)に合致するかどうかに基づいて、辞書を事前にフィルタにかけ得る。なぜなら、これらの特徴がおそらく、特定器のキーストロークを達成するユーザの意図の最も強い指示を提供するからである。第2の実施例として、言葉サブモジュールは、推定入力長Lに基づいて、辞書を事前にフィルタにかけ得る。例えば、言葉サブモジュールは、Xを引いたLよりも短い、あらゆる言葉を除外し得、Xは、曖昧性除去パラメータを使用して決定される。第3の実施例として、言葉サブモジュールは、音声認識ソフトウェアによって生成される言葉のリストに対して事象を事前にフィルタにかけ得る。第4の実施例として、ユーザが名前フィールドにタイプしていることを動的コンテキストが示す場合、適正な名詞のみを含むように辞書をフィルタにかけ得る。当然ながら、言葉サブモジュールは、これらのフィルタリング技法の組み合わせを使用し得る。
ブロック920では、言葉サブモジュールは、言語データ、コンテキスト、言葉の長さ、および/または任意の他の好適な要因に基づいて、サブグループの中の次の言葉を選択する。例えば、言葉サブモジュールは、使用の頻度に基づいてサブグループを仕分け、その順番でこれらの言葉を提示し得る。
ブロック925では、言葉サブモジュールは、入力シーケンス、コンテキスト、言葉の長さ、および言語データを使用して、合致測定基準を評価することによって、選択された言葉に対する合致スコアを決定する。合致測定基準を使用して合致スコアを決定するための好適な方法が、図9Bに示されている。
決定ブロック930では、言葉サブモジュールは、言葉が、曖昧性除去パラメータを使用して決定される最小閾値を超える合致スコアを有するかどうかを決定し得る。もしそうであれば、過程がブロック940へ進む前に、言葉がブロック935で言葉の選択リストに追加される。そうでなければ、処理はブロック940へ直接進む。言葉サブモジュールは、十分に合致しない言葉を排除し、固定または最小サイズの言葉リストを提供し得る。代替として、ブロック930は、言葉サブモジュールから排除され得る。
ブロック940では、言葉サブモジュールは、サブグループの中に、処理すべきさらなる言葉があるかどうかを決定する。該当する場合、処理は、別の言葉が評価され得るようにブロック920に戻る。
そうでなければ、過程はブロック945へと進み、言葉の選択リストは、後処理される。例えば、言葉サブモジュールは、スコアを合致させることによって、および/または最高合致スコアを有する1つ以上のデフォルト言葉を選択することによって、リストを仕分けてもよい。別の実施例として、仕分けた後に、言葉サブモジュールは、向上したユーザ閲覧挙動を促進するように、論理的な様式で言葉の順序付けをグループ化または調整し得る。例えば、言葉サブモジュールは、同じ語根(例えば、「interest」、「interesting」、および「interestingly」)を有する言葉をともにグループ化して、ユーザが言葉の選択リストをより迅速にスキャンすることを可能にするように、リストを再配置し得る。さらに別の実施例として、リストを調整するため、例えば、リストの中の特定の言葉を昇格または降格させるため、および/またはリストの順番を別様に調整するために、動的または静的コンテキストデータがブロック950で利用され得る。例えば、ユーザが以前に同じアプリケーションプログラムで特定の言葉を利用した場合、その言葉が昇格され得る。別の実施例として、言葉サブモジュールは、組み込まれた句読点を有する言葉よりも、句読点で終わる言葉を昇格し得る。さらに別の実施例として、1つより多くの言語の辞書が、言葉のリストを生成するために利用された場合、または曖昧性除去モジュールが(例えば、バイリンガルユーザに適応するように)バイリンガル統合を別様に提供している場合、後処理は、ユーザの主要言語の中の言葉を昇格し、および/またはユーザの二次言語の中の言葉を降格させ得る。ユーザの「主要言語」は、言語パラメータまたはフラグによって、および/またはユーザコンテキストデータベース626からのユーザコンテキストデータによって決定され得る。
後処理のなおも別の実施例として、曖昧性除去モジュールは、アプリケーション特有のフィールド情報および/またはアプリケーションコンテキストデータベースから読み出された規則または文法に基づいて、特定の言葉を昇格または降格させ得る。
後処理の別の実施例では、曖昧性除去モジュールは、ユーザが、「podcast」のような新語、または一般的ではない固有の名詞等の、標準辞書に記載されていない、または見られない場合がある言葉を利用しようとしているかどうかを決定し得る。言語の中の特定の文字列に基づいて、ユーザが辞書に現れない「記載されていない」言葉を入力しようとしている場合があるかどうかを決定した場合、記載されていない言葉をデフォルトの言葉にし、代替的な提案として言葉の選択リストを提供する。そうでなければ、デフォルトの言葉として辞書から選択されたスコアの高い言葉を利用し得る。
図示すると、ユーザが「podcast」という文字をはっきりとタップする場合、文字列(「po」、「ca」、および「st」等の組み合わせ)が英語で頻繁に見られるため、それが標準英語辞書の中にない場合があるという事実にもかかわらず、曖昧性除去モジュールは、デフォルトの言葉として「podcast」を維持し得る。一方で、ユーザが「Pfsx」という文字をはっきりとタップする場合、「pf」、「fs」、および「sx」の組み合わせが全て、英語であまり頻繁に見られないため、曖昧性除去モジュールは、ユーザがスペルミスをした(または雑にタイプした)と仮定してもよく、「pfsx」をデフォルトの言葉として選択しない。代わりに、曖昧性除去モジュールは、ブロック905−940中に見出される、高い合致スコアを伴う辞書の言葉を選択する。
この決定を行うために、曖昧性除去モジュールは最初に、入力シーケンスの中の各意図的な特徴(例えば、タップ)について、最良の近接性スコアを有する関連文字を選択することによって、「ストロークシーケンス」を生成し得る。次に、曖昧性除去モジュールは、構成スコアを導出するために、所与の言語(または言語の他の論理グループ)の中の種々の文字列(例えば、文字のバイグラム、3グラム、4グラム、・・・nグラム等)の確率または頻度を提供する、語彙モジュール624内の表またはデータベースを使用することによって、ストロークシーケンスの構成を評価し得る。構成スコアは、バイグラム等の種々の確率/頻度の産物、または種々の確率/頻度の別の高次関数であり得る。構成スコアが閾値を超えた場合、曖昧性除去モジュールは、デフォルトの言葉としてストロークシーケンスを使用し得る。いくつかの実装では、ストロークシーケンスは、入力シーケンスの異なる一部(例えば、コーナーではなくタップ特徴のみ)を使用して定義され得る。
ブロック950では、言葉の選択リストは、例えば、ディスプレイ上の言葉の選択リスト領域を介して、または別様に、ユーザに出力される。代替として、言葉の選択リストおよび/またはデフォルトの言葉は、言葉を選択するためにユーザ介入を必要としない別の過程(例えば、アプリケーションプログラム)を提供し得る。
図9Bは、合致測定基準を使用して、言葉に対する合致スコアを計算するための1つの好適な過程990を示す。任意の合致測定基準またはアルゴリズムが、合致スコアを生成するために利用され得、開示された技術は、以下で説明される特定の実施例に限定されない。
過程990は、言葉サブモジュールが、言葉の合致スコアを、1という統一値であり得る、デフォルトのスコアに設定する時である、ブロック972から始まる。次いで、言葉の中の各文字に対するループが、ブロック974で示されるように始まる。ブロック975では、言葉サブモジュールは、入力シーケンスの中の次の意図的な入力特徴に対応する文字セットおよび関連近接性加重セットを読み出すか、または、これが文字ループの第1の反復である場合は、入力シーケンスの中の第1の意図的な入力特徴に対応する文字セットおよび関連近接性加重セットを読み出す。例えば、言葉サブモジュールは、入力シーケンスの中の次のタップまたはコーナー特徴に関連付けられている文字セットおよび近接性加重を読み出す。
ブロック976では、言葉サブモジュールは、文字に対する近接性加重を識別する。そうするために、サブモジュールは、文字が読み出された文字セットに現れるかどうかを決定し、もしそうであれば、文字に関連付けられている、読み出された近接性加重を使用する。文字が読み出された文字セットに現れない場合、サブモジュールは、曖昧性除去モジュールによって特定されるデフォルトの近接性加重(例えば、低加重)を使用し、ループ974を終了し、またはデフォルトの合致スコア(例えば、0のスコアまたは他のデフォルトの合致スコア)を返すことによって過程990を終了し得る。
ブロック978では、言葉サブモジュールは、文字に対する識別された近接性加重を反映するように、合致スコアを調整する。一実施例では、サブモジュールは、それに読み出された近接性加重を掛けることによって、合致スコアを調整する。しかしながら、合致スコアは、読み出された合致スコアを反映するように任意の方式で調整され得る。例えば、以前の合致スコアと読み出された近接性加重とは、単純加算、加重合計、乗算、除算、および高次関数等を含む、任意の好適な関数によって組み合わせられ得る。
決定ブロック979では、言葉サブモジュールは、言葉の中にこれ以上処理すべき文字があるかどうか、および入力シーケンスの中にさらに多くの意図的な特徴があるかどうかを試験する。両方の条件が満たされた場合、文字ループは、ブロック975から始まって繰り返す。そうでなければ、過程はブロック980へと進む。
ブロック980では、言葉サブモジュールは、コンテキストデータおよび/または言語データ(例えば、使用頻度)を反映するように合致スコアを調整する。一実装では、言葉サブモジュールは、使用頻度によって合致スコアを増減する。別の実施例として、言葉サブモジュールは、コンテキストデータに基づいて合致スコアを増加させ、例えば、ユーザが同じ種類のデータフィールドおよび/または同じアプリケーションで同じ言葉を利用した場合に、合致スコアが増加させられ得る。さらに別の実施例として、言葉が起こり得る可能性が高い、または低いことを、周辺の文のコンテキスト(例えば、ユーザによって入力された以前の言葉)が示唆する場合、合致スコアは上方または下方に調整され得る。これらの実施例は、包括的となることを目的としていない。以前の合致スコアは、どのようにしてコンテキストおよび/または使用頻度が、言葉がユーザの意図した入力であった可能性を増加または減少させるかを反映する、任意の好適な方式で(例えば、高次関数を介して)調整され得る。
ブロック982では、公知の編集距離技法を利用することによって、言葉サブモジュールは、入力シーケンスの意図的な特徴において反映される文字列に合致するために必要とされる編集の種類を決定する。例えば、言葉サブモジュールは、一連の意図的な特徴において反映される一連の文字に合致するように、どのような文字が言葉に追加される必要があるか、またはどのような文字が言葉から除去される必要があるかを決定し得る。
必要とされる編集の種類を決定する場合に、言葉サブモジュールは、入力シーケンスの中の意図的な特徴に対して言葉の最初の部分を合致させようとするのみであり得る。例えば、言葉サブモジュールは、言葉の中の第L番目の文字の後に起こる不一致を無視し得る。Lは、推定入力長である。代替として、カットオフ点をL−1、L+2、L+3等として選択することができる。このようにして、言葉サブモジュールは、ユーザの最初の入力への良好な最初の合致を有するより長い言葉が返される見込みを向上させる。
ブロック984では、必要とされる各編集について、言葉サブモジュールは、入力シーケンスにおいて反映される特徴の種類および近接性加重を含む、推定入力長および入力シーケンスに基づいて、編集罰則を決定する。本明細書で利用されるように、「低罰則」は、同様の編集について標準編集コスト関数によって評価される、標準またはデフォルトの罰則よりも低いものである。
第1の実施例として、言葉サブモジュールは、言葉の最初の部分の後に必要とされる文字の変化について、ゼロまたは低罰則を割り当て得る。例えば、言葉の中の第L番目の位置の後に必要とされる文字の変化について評価される、ゼロまたは低罰則がないことがある。この技法は、同様に、ユーザの最初の入力への良好な最初の合致を有する、より長い言葉が返される見込みを向上させる。
第2の実施例として、言葉サブモジュールは、意図的および付随的な特徴の両方を含む、完全入力シーケンスによって反映される文字を伴う文字の追加または削除について、ゼロまたは低罰則を割り当て得る。例えば、言葉と意図的な特徴の入力シーケンスとの間の唯一の違いが、第3および第4の意図的な特徴の間の欠落している「E」である場合、言葉サブモジュールは、「E」という文字が、入力シーケンスの中の第3および第4の意図的な特徴の間にある付随的な特徴(例えば、セグメント)に関連付けられている文字セットに現れるならば、ゼロまたは低罰則を割り当て得る。いくつかの実装では、評価される罰則は、欠落している文字に関連付けられている近接性加重の関数であり得る。例示すると、以前の実施例に戻って、欠落している「E」を提供するセグメント特徴が、Eキーの中心を直接通過する(すなわち、Eという文字に対する近接性加重が、その可能な限り最大の値に近い)場合、評価される罰則は、セグメントがEキーからさらに遠く離れる場合よりも低くてもよい。これらの状況で編集罰則を低減または排除することによって、言葉サブモジュールは、単純に文字を通してトレースすることによって、ユーザが文字の選択を示すことを可能にする。
第3の実施例として、言葉サブモジュールは、文字を繰り返すこと、またはキーストロークを繰り返すことによって引き起こされる、文字の追加または削除について、ゼロまたは低罰則を割り当て得る。別の言い方をすれば、1つ以上の入力特徴のみが文の中で(1回以上)繰り返された場合、言葉が入力シーケンスに合致するならば、評価される罰則がないか、または低罰則がある。これらの状況で編集罰則を低減または排除することによって、言葉サブモジュールは、ユーザが、削減された数の入力特徴を用いて、繰り返しの文字または繰り返しのキーストロークを有する言葉の選択を示すことを可能にする。低罰則が評価される場合、それは、繰り返される必要がある入力特徴の種類(例えば、意図的対付随的)、各特徴が繰り返される必要がある回数、および/または繰り返された入力特徴に関連付けられている近接性測定基準の関数であり得る。例示すると、言葉が「WEED」であり、言葉と意図的な特徴の入力シーケンスとの間の唯一の違いが、第2の「E」が第2および第3の意図的な特徴の間で欠落していることである場合、言葉サブモジュールは、ゼロまたは低罰則を割り当て得る。
第4の実施例として、言葉リスト選択サブモジュールは、句読点および/または同様の記号の追加または削除を反映する文字の変化について、ゼロまたは低罰則を割り当て得る。
ブロック986では、言葉サブモジュールは、あらゆる計算された罰則を反映するように、合致コストを調整する。場合によっては、罰則は、合致スコアから差し引かれる。しかしながら、他の実装では、高次調整が利用され得る。次いで、過程990は戻る。
(IV.セキュリティシステムへの適用)
開示された技術の別の側面によれば、ユーザがQWERTYキーボード(または他の一般的なキーボードレイアウト)の熟知を活用することを可能にする、パスワードまたは他のテキスト入力システムおよび方法が提供される。
このパスワードまたは他のテキスト入力は、それぞれ、ゾーン出力キーの役割を果たす、明確に異なるキーを主体としている、好ましくは9つ、または他の適切な数の規定されたゾーンをユーザに提供することによって達成される。ユーザが特定のゾーンから1つのキーを選択する場合に、選択されたゾーンのゾーン出力キーは、選択されたものとして見なされる。したがって、ユーザは、標準的に標準キーボード上でパスワードを入力することができる一方で、ゾーン定義に応じて、一連のゾーン出力キーは、入力パスワードを表す出力となる。受信デバイスが、入力パスワードに対応する一連の出力キーを生成する時に使用されるゾーン定義を認識している場合、受信デバイスは一連の出力キーを解読し、適正なパスワードが入力されたかどうかを決定することができる。
複数のゾーン定義が利用可能であり得る。したがって、ゾーン定義識別子および一連のゾーン出力キーを伝送することによって、複数のゾーン定義およびそれらに関連付けられている識別子を認識している受信デバイスは、パスワードのセキュリティを維持しながら、伝送を適正に解釈することができる。
加えて、ゾーン定義は、互に隣接しているキーを必ずしも含む必要はない。非隣接ゾーンを規定することによって、ユーザは、キー入力においてより正確でなければならないが、ハッカーまたは他の窃盗犯がコードを解く困難が多大に増加させられ得、可能な利用可能なゾーン定義の数も同様に、多大に増加させられる。
加えて、パスワード文字のテキスト入力に標準キーボードのみを使用するよりもむしろ、文字は、ジョイスティック、4または8方向キーパッド(TVのリモートコントロール、電話、および携帯電話で見られるもの等)上での指向性入力、そのようなリモートコントロールまたは他の利用可能な数字キーパッド上の数字キーの種々の組み合わせ、またはNintendo(登録商標)Wii(登録商標)リモートあるいは他の棒状入力デバイス、身体運動入力解決法、あるいは同等物等の、そのようなリモートコントロールまたは他のデバイスの指示機能性を使用して、入力され得る。そのような非従来型の入力デバイスを使用する場合に、ユーザは、入力される所望のキーの方向にジョイスティックまたは他のデバイスを動かし得る。この運動を行う時に、キーの間で動くよりもむしろ、セレクタはキーの隣接するゾーンの間を動き、セレクタが動いたゾーンに含まれる全てのキーが選択され、そのゾーンに関連付けられているゾーン出力キーがさらに線引きされ得る。したがって、キーが選択されることが所望される場合、所望のキーを含むゾーンへ移動するために、ジョイスティック等が使用され得る。そのようなゾーンの選択によって、関連ゾーン出力キーは、出力された一連の文字の一部として提示され得る。一例として、ユーザがパスワードの一部として「R」という文字を選択することを希望する場合、R、T、Y、U、およびIという文字を含むゾーンへの移動、ゾーン出力キーとしてYを使用すること、およびそのようなゾーンの選択は、「Y」という文字を出力ストリームの一部として出力させる。コード化されたパスワード伝送を提供することに加えて、ユーザは、ゾーンの数の間で選択する必要しかなく、特定のゾーンの中の任意のキーの選択が、パスワードデータストリームの一部として出力される同じゾーン出力キーをもたらすという点で、各個別キーを選択するほど正確である必要はない。
開示された技術はまた、任意のキーボード構成、および言語、および任意の他の記号グループ化に適用可能であり得る。さらに、入力デバイスに割り当てられたゾーンは、ユーザに可視的である必要はなく、むしろ、背景で伝送されるデータを暗号化するように働くのみである。
最初に図10を参照すると、開示された技術による第1の実施形態が示されている。図10では、概して1000で指定されるキーボードには、複数のキー1110が提供される。この描写された実施形態では、26文字QWERTYキーボードが示されている。26英文字アルファベットの他の配置、他の言語で使用するための任意の他の文字セットの配置、数字および/または文字の任意の組み合わせ、または任意の種類の記号の任意の他の所望の組み合わせを含むが、それらに限定されない、他のキーボード構成が利用可能であることが、当業者によって理解されるべきである。既定数のこれらのキー1110はまた、ゾーン出力キー1120としても指定される。描写した実施形態では、9つのそのようなゾーン出力キーがあるが、任意の所望の数が採用され得る。各ゾーン出力キー1120は、それに関連付けられている1つ以上の文字キーを含む、ゾーンに関連付けられている。一例として図10でさらに示されるように、120aとして指定される「E」キーは、「E」キーを含むゾーンに対するゾーン出力キーを表し、他の文字キー「Q」、「W」、「R」、および「T」は、1110aで集合的に指定される。したがって、ユーザがこのゾーン(1110aまたは1120a)の中の5つのキーのうちのいずれか1つを選択することに関心を持っている時はいつでも、ゾーン出力キー「E」は、選択されたパスワードまたは他のテキストを表す出力データストリームの一部を構成するように、選択された出力キーとなる。各ゾーン出力キーが所定の一意の組のキー1110と関連付けられ得ることが予期される一方で、重複するゾーンを有し、実際に、1つ以上のゾーンの中で1つ以上のキー1110を含むことが可能である。
さらに、利用可能な記号キーの全て、この場合は文字が、少なくとも1つのゾーンに含まれることが想定されるが、このような場合である必要はない。実際に、直接ユーザ選択を必要として、1つまたは複数の任意の特定のキーがそのまま残され得る。そのような構成は、めったに使用されないキー、または特別な重要性があるキーに望ましいことがある。
図10を参照して、この描写から理解することができるように、キー入力を選択する場合に、ユーザがそれほど正確である必要はなく、この特定の描写した実施形態では、より従来的な26文字よりもむしろ、選択するのに9つのゾーンしか持たないので、ユーザ体験は容易にされる。図10で描写されるような特定の実施形態では、ユーザインターフェースは、8方向移動、および中央ホーム位置を伴うジョイスティックを利用する場合があり、各利用可能位置は、ゾーン出力に対応する。代替として、9数字キーパッドを伴うリモートコントロールまたは他のデバイスが採用され得、各数字は、ゾーン出力キーのうちの1つに対応する。当然ながら、より少ない方向移動を伴うジョイスティック、またはより多い、同じ、あるいはより少ない自由度を伴うトラックボールを含む、他の構成要素が採用され得、したがって、ユーザがゾーンの間で方向的に移動することを可能にする。より少ないハードウェアおよび習得を必要とする一方で、移動が隣接するゾーンの間で飛ぶことに限定され得るので、そのような構成は、1つのゾーンから、入力キーボード上で遠隔に位置する別のゾーンへ移動する場合に、2回以上飛ぶことを必要とし得る。代替として、各文字入力後に、カーソルまたは他のポインタが「ホーム」または他の指定されたゾーンあるいは場所に戻る、シナリオを提供することが可能であり得る。この特徴には、その利益および欠点があり、各テキスト入力のための既知の始点を提供するが、二重文字のための複数の移動を必要とする等である。
上述のように、8方向ジョイスティックを採用する場合に、ユーザは、ジョイスティックの移動を通してゾーンの間を移動することができる。2つ以上のスキームが可能である。コントローラの第1の有効な移動は、上、下、左、右、右上、左上、右下、および左下であり得る。これらの8つの明確に異なる移動は、ゾーンからゾーンへ移動して、ユーザがキーボード上のゾーン出力キーの間で迅速に移動することを可能にする。同様のスキームが、あまり多用途ではない4方向ジョイスティックとともに採用され得る。しかしながら、利用可能な対角移動がないと、1つのゾーンから別のゾーンへ移動するために、より多く飛ぶことが必要であり得る。第2のスキームでは、8方向キーのそれぞれ、およびある「中立」位置がそれぞれ、ゾーンに対応し、1つのゾーンから別のゾーンへナビゲートする必要なく、ユーザがゾーンのそれぞれに直接アクセスすることを可能にする。代替として、例えば、9キー数字パッドが提供される時に、各数字は、特定のゾーンに対応し得る。
対応する場所に基づいて、これらのキーが種々のゾーンに割り当てられることが最も一般的なオプションがあるが、開示された技術の代替実施形態では、ユーザが、いくつかのゾーンのうちの1つを単純に選択するよりもむしろ、実際にパスワードキーを入力している場合に、ゾーンの場所がユーザ体験に影響を及ぼしそうにないが、利用可能な複数のゾーン構成が、入力パスワードのセキュリティの保護に役立つため、任意の隣接または非隣接方式でゾーンを構成することが可能である。これらの入力状況のうちのいずれにおいても、ゾーンがユーザに可視的であることは必要ではない。むしろ、ユーザは、キーボード上で通常通りパスワードを入力するように促され得る。背景処理が、(以下で説明されるように)ゾーン定義を割り当て、伝送へのデータ出力を準備し得る。
次に図11を参照して、開示された技術の実施形態に従って使用されるステップを説明する。最初に、ステップ1210では、ゾーン定義が決定されなければならない。したがって、キーボードのキーが、既定数のゾーンに割り当てられる。これらのゾーンは、隣接していても隣接していなくてもよい。異なる可能なゾーン構成の実施例は、図10に加えて、図15(ゾーン1610a−d参照)および16で見ることができる。例えば、図15に示されるような4つのゾーンの使用は、4つのゾーンの間で選択する必要しかないため、ユーザにとってより容易な入力体験をもたらすことに留意されたい。しかしながら、システムは、異なるパスワードが、異なる一連のゾーン出力キーを生成する可能性が高いように、より長いパスワードがそのような状況で利用されることを要求し得る。当然ながら、他の構成が採用され得る。開示された技術によれば、複数のそのようなゾーン構成が定義され得、したがって、装置は、ステップ1210で、所定のゾーンレイアウト定義のうちの1つから選択し得る。
いったんゾーン定義が選択されると、ユーザは、パスワードを構成する文字を入力し始め得る。そのような入力文字は、ステップ1215で受信される。ステップ1220では、ユーザによって選択されるキーを含むゾーンに関連付けられている、ゾーン出力キーが、入力文字に関連付けられている出力文字として定義される。次いで、この出力文字は、伝送される最終出力データストリームに第1の文字として提供される。次いで、処理はステップ1225に移動し、そこで、全ての入力文字が受信されたかどうかが問い合わせられる。この問い合わせが否定で答えられ、したがって、所望の入力文字の全てが受信されたわけではないと決定された場合、制御はステップ1215に戻り、次の入力文字が受信される。
しかしながら、ステップ1225における問い合わせが肯定で答えられ、したがって、全ての所望の入力文字が受信されたと決定された場合、制御はステップ1230に移動し、そこで、入力パスワードを表す、利用されたゾーン定義および生成された出力データが、受信デバイスに伝送される。次いで、処理はステップ1235で終了する。実施形態は、出力データストリームとともにゾーンレイアウト定義を伝送することを説明しているが、そのようなゾーンレイアウト定義は別々に伝送され得る。そのようなゾーンレイアウト定義は、好ましくは、ゾーンの完全な一覧を備えないが、むしろ、ゾーン定義指標を備え、したがって、受信デバイスが複数の所定のゾーンレイアウト定義のうちの1つから選択することを可能にすることが想定される。そのようにして、そのような別様に無意味な指標のみが伝送され、したがって、ゾーンレイアウトを明かさず、システムのセキュリティを増大させない。さらに、いずれのゾーン定義も伝送されず、伝送および受信デバイスが同期化され、既定の方式で、既定数のゾーンレイアウト定義を単純に繰り返すことが可能である。さらに、伝送および受信デバイスが同じアルゴリズムを処理して、パスワードの生成および解釈の両方に同じゾーンレイアウト定義を利用することができる限り、方程式、アルゴリズム、および同等物を入力して、複数のゾーンレイアウト定義から選択するために、任意の他の指標等を使用することが可能であり得る。
次に図12を参照すると、受信デバイスは、最初に、伝送されたゾーンレイアウト定義を受信する(または採用する正しいゾーンレイアウト定義を決定するために上述の方法のうちの1つを使用する)。次いで、処理はステップ1315に移動し、そこで、受信デバイスは、入力パスワードを表す出力データストリームを含む、伝送されたデータストリームの第1の文字を受信する。次いで、この受信した文字は、予期されるパスワード文字を含むゾーンのゾーン出力キーと比較される。ステップ1325では、これらの文字が合致しないと決定された場合、処理はステップ1340で終了する。これらの文字が合致すると決定された場合、処理はステップ1330に移動し、そこで、全てのパスワード文字が受信されたかどうかが決定される。パスワード文字の全てが受信されていない場合、処理はステップ1315に戻り、次のパスワード文字を受信する。
ステップ1330で、パスワード文字の全てが受信されたと決定された場合、処理はステップ1335に移動し、そこで、システムは有効なパスワードが入力されたことを認識し、ユーザはそのように通知される。次いで、処理はステップ1340で終了する。したがって、図11および12で表示されるチャートによれば、伝送デバイスおよび受信デバイスのシステムは、それぞれの実際のパスワード文字を実際に伝送することなく、一方から他方へのユーザパスワードを確認することができる。
開示された技術の代替実施形態では、ユーザによる2回のパスワード入力時に、システムが2つの異なるゾーン定義に対するゾーン指示を伝送し、たとえキー自体であっても、受信側における選択されたキーの特定の通知を可能にするような方式で、キーボードを分割する2つの連続ゾーン定義を提供することが可能であり得る。例えば、「A」という文字が、最初にゾーン1と関連付けられ、次いで、第2のゾーン定義では、ゾーン4と関連付けられている、以前はゾーン1の中にあった唯一の文字である場合、2つの連続パスワードの中の第1の文字に対するZ1、Z4のシーケンスは、たとえこの文字が決して伝送されなくても、「A」という文字の保証された決定をもたらす。したがって、このパスワードスキームの複数の反復の使用を通して、さらなる精度を達成することができる。
従来の9キーのキーパッドを採用する、開示された技術の実施形態が図13に示されている。図13に示されるように、ゾーン出力キー1120、1120a、ならびに図10で描写される表示と同様に、それらに関連付けられているキー110aが示されている。加えて、ゾーン出力キー1120、1120aへのその各キー1415のマッピングを示す、従来のリモートコントロール、電話、または同等物上に含まれてもよいもの等の、キー構成1410が示されている。そのようなマッピングは、関係の接続引き出し線1420、色、形状、または任意の他の所望の指標によって示され得る。したがって、いくつかのゾーンが定義された場合、ユーザは、パスワードの中の所望の文字のそれぞれを含むゾーンに関連付けられている、数字キーを選択することによって、そのようなキーパッドを使用してパスワードを入力することが可能であり得る。
開示された技術の付加的な実施形態では、ゾーン選択を示すために、上記で説明されるように遠隔デバイス上で指示を行うよりもむしろ、例えば、NINTENDO(登録商標)Wii(登録商標)コントローラ、ユーザ入力を決定する身体運動感知、または同等物とともに利用されるリモートコントローラ等のポインティングデバイスを採用することが可能であり得る。したがって、ユーザが表示された仮想キーボードにおいてそのようなコントローラを指し示すか、または別様にゾーン選択を示すと、コントローラによって指し示されたゾーンがハイライトされるか、または別様に指定されているものとして示される。ユーザは、リモート上の指標を押すことによって、または当業者に公知であるような他の方法によって、そのようなゾーンを選択することができる。開示された技術に従ったゾーンの使用は、各個別キーを選択する能力が、そのような構成では困難な場合があるという点で、そのような状況で特に有用である。精度が困難な場合がある。しかしながら、本開示された技術によれば、ユーザは、例えば、9つのゾーンのうちの1つの間で選択する必要しかなく、したがって、この選択する能力を、ユーザにとってはるかに容易にする。したがって、ユーザはおそらく、はるかに高速かつ容易に、文字選択を進めることが可能となる。
図14Aおよび14Bに示されるように、そのようなポインタデバイスを利用することは、所望のゾーンの容易な選択を可能にする。図14Aは、図10で選択されるもの等のゾーン1510の選択を描写する。図14Bでは、以前に選択されたゾーンの右側の2つのゾーンである、ゾーン1520が、指定および選択されている。ユーザは、単純にポインティングデバイスを方向転換することによって、そのような指定および選択を行うことができる。好ましくは、指標530が、ポインティングデバイスの現在の位置を特定するのに役立つように表示上にとどまる。
1つの表示されたゾーンから別のゾーンへ移動する遠隔ポインティングデバイスの視覚指示を提供することに加えて、開示された技術の代替実施形態では、移動および選択の付加的な非視覚指示を提供するように、触覚または他の触覚応答もユーザに提供される。したがって、ユーザが第2のゾーンを指定するようにポインティングデバイスを移動させると、振動または他の非言語的指標がユーザに提供され得る。したがって、図14Aと14Bとの間の移動のように、ユーザが2つのゾーンでポイントを移動させた場合、ゾーン間の境界を越える度に1回、そのような触覚応答がユーザに2回提供され得る。そのような触覚応答はまた、修正され得、したがって、異なるゾーンに対する異なる応答を提供する。したがって、各ゾーンは、異なる触覚シグネチャーを有してもよく、または次の選択において選択されたゾーンとなる可能性が最も高いと解析アルゴリズムによって決定されるゾーンは、他のゾーンとは異なる触覚指標が提供され得る。ゾーンは、そのような触覚指標を含む、任意の他の方式で区別され得る。
もう一度図10を参照すると、特定のゾーンの中の文字がユーザインターフェース上で選択された時に、左側および右側および/または上側および下側の既定数の隣接するキーが、選択されたキーとともにハイライトされ、したがって、ゾーン出力キーに関連付けられているゾーンを構成する。このハイライトは、選択されたゾーンをユーザに知らせる。好ましくは、指定されたゾーンに関連付けられているゾーン出力キーはさらに、出力データストリームの一部となるキーとして線引きされる。また、上述のように、ゾーンがユーザに表示されない場合、上記で説明されるように、たとえ背景でゾーン出力キーが入力ゾーンに基づいて出力されていても、特定のキーの選択は、表示の変化をもたらさない。
上述のように、表示された仮想キーボードは、完全QWERTYキーボードを表すが、任意の他の所望の構成を備え得る。ゾーン出力キーは、好ましくは、キーボード上の異なる色でハイライトされ得、または何らかの他の際立った特性を使用して指定され得る。入力デバイスが特定のゾーン出力キーに対応するゾーンに進むために使用される時、特定のゾーンの選択でグループ化される一組の文字についての視覚フィードバックをユーザに提供するように、ゾーンの中の他の文字も好ましくはハイライトされる。
開示された技術は、パスワードの伝送に関して説明されているが、開示された技術の特徴は、より冗長な暗号化されたデータ伝送に提供され得る。
(結論)
文脈が明確に他に要求しない限り、説明および請求項の全体を通して、「備える」、「〜を備える」、および同等物等の言葉は、排他的または網羅的な意味とは対照的に、包含的な意味で、つまり、「〜を含むが、それに限定されない」という意味で解釈されるものである。本明細書で使用される場合、「接続された」、「連結された」、またはそれらの任意の変化形は、2つ以上の要素の間の直接または間接的である、任意の接続または連結を意味し、要素間の連結または接続は、物理的、論理的、またはそれらの組み合わせとなり得る。加えて、「本明細書で」、「上記で」、「以下で」という言葉、および同様の趣旨の言葉は、本願で使用される時に、本願の任意の特定の部分ではなく、全体として本願を参照する。文脈が許可する場合、単数または複数を使用した、上記の発明を実施するための形態での言葉はまた、それぞれ複数または単数を含み得る。「または」という言葉は、2つ以上の項目のリストを参照して、リストの中の項目のうちのいずれか、リストの中の項目の全て、およびリストの中の項目の任意の組み合わせといった、言葉の解釈の全てを対象とする。
開示された技術の実施例の上記の発明を実施するための形態は、網羅的となること、または開示された技術を上記で開示される正確な形態に限定することを目的としていない。例証的な目的で、開示された技術の具体的実施例が上記で説明されているが、当業者であれば認識するように、種々の同等の修正が開示された技術の範囲内で可能である。例えば、過程またはブロックが所与の順番で提示されているが、代替的な実装が、ステップを有するルーチンを行ってもよく、または異なる順番でブロックを有するシステムを採用してもよく、いくつかの過程またはブロックが、代替案または副結合を提供するように、削除され、移動させられ、追加され、細分され、組み合わせられ、および/または修正され得る。これらの過程またはブロックのそれぞれは、種々の異なる方法で実装され得る。また、過程またはブロックは時折、順次に実施されるものとして示されるが、これらの過程またはブロックは代わりに、並行して実施または実装され得、または異なる時に実施され得る。さらに、本明細書で記述される任意の具体的な数字は実施例にすぎず、代替的な実装は、異なる値または範囲を採用し得る。
本明細書で提供される開示された技術の教示は、必ずしも上記で説明されるシステムで
はなく、他のシステムに適用することができる。上記で説明される種々の実施例の要素および行為は、開示された技術のさらなる実装を提供するように組み合わせることができる。開示された技術のいくつかの代替的な実装は、上述の実装に対する付加的な要素を含み得るだけではなく、より少ない要素を含み得る。
添付の出願書類に記載され得る、いずれかを含む、上述の任意の特許および出願ならびに他の参考文献は、参照することにより本明細書に組み込まれる。必要であれば、開示された技術のさらなる実装を提供するために、上記で説明される種々の参考文献のシステム、機能、および概念を採用するように、開示された技術の側面を修正することができる。
上記の発明を実施するための形態を踏まえて、これらおよび他の変更を開示された技術に行うことができる。上記の説明は、開示された技術のある実施例を説明し、検討される最良の様態を説明するが、どれほど詳細に上記が文中に現れようと、開示された技術は多くの方法で実践することができる。システムの詳細は、その具体的実装においてかなり変化し得る一方で、本明細書で開示される技術によって依然として包含される。上述のように、開示された技術のある特徴または側面を説明する時に使用される特定の用語は、その用語が関連付けられる開示された技術の任意の具体的な特性、特徴、または側面に制限されるように、用語が本明細書で再定義されていることを暗示すると解釈されるべきではない。一般に、以下の請求項で使用される用語は、上記の発明を実施するための形態の項が、そのような用語を明示的に定義しない限り、開示された技術を本明細書で開示される具体的実施例に限定すると解釈されるべきではない。

Claims (17)

  1. 1つ以上のプロセッサおよびメモリを使用して実行されるデータ入力のための方法であって、前記方法は、
    入力デバイスを介して、前記1つ以上のプロセッサを使用して、ジェスチャの一部として入力を受信することであって、前記ジェスチャは、第1のシミュレートされたキーからの1つ以上の他のシミュレートされたキーを介した第2のシミュレートされたキーへの仮想キーボードを介した連続ストロークである、ことと、
    前記1つ以上のプロセッサを使用して、前記入力に基づいて1つ以上の可能な言葉の提案を決定することであって、前記1つ以上の可能な言葉の提案を決定することは、
    前記入力の中において、前記第1のシミュレートされたキーと前記第2のシミュレートされたキーとの間の屈曲を識別することと、
    前記第1のシミュレートされたキーに対応する文字と前記第2のシミュレートされたキーに対応する文字との間の前記言葉の中間部分を表わす入力選択を前記屈曲が示すことを決定することと、
    前記第1のシミュレートされたキーからの移動方向を識別することと、
    閉じた別個のセットの方向分類の中の方向分類を前記移動方向に割り当てることと、
    前記方向分類に基づいて、前記入力選択に対する1つ以上の候補文字を決定することと、
    前記入力選択に対する前記1つ以上の候補文字に基づいて、前記1つ以上の可能な言葉の提案を選択することと
    により実行される、ことと、
    ディスプレイを使用して、前記1つ以上の可能な言葉の提案を提供することと
    を含み、
    前記第1のシミュレートされたキーからの前記移動方向を識別することは、水平方向または垂直方向からの角度を決定することと、前記決定された角度に最も近い対応に基づいて、上、下、左または右のうちの1つに同等な方向分類を選択することとを含み、
    前記方向分類に基づいて、前記入力選択に対する1つ以上の候補文字を決定することは、前記言葉の中間部分に対する候補が前記割り当てられた方向分類に対応する方向にあることに基づいて、前記言葉の中間部分に対する1つ以上の候補を決定することを含む、方法。
  2. 前記入力選択に対する前記1つ以上の候補文字は、前記仮想キーボード上の前記候補文字の表示に対する前記屈曲の近接性に関わらずに決定される、請求項1に記載の方法。
  3. 前記入力選択に対する前記1つ以上の候補文字を決定することは、
    前記1つ以上の候補文字が前記屈曲の位置に対する前記割り当てられた方向分類に対応する方向にあることに基づいている、請求項1に記載の方法。
  4. 前記1つ以上の可能な言葉の提案を選択することは、さらに、前記第1のシミュレートされたキーおよび前記第2のシミュレートされたキーに基づいている、請求項1に記載の方法。
  5. 前記方法は、モバイルデバイスにより実行される、請求項1に記載の方法。
  6. 前記方法は、モバイルデバイスにより実行され、
    前記モバイルデバイスは、タッチスクリーンを含み、
    前記入力は、前記タッチスクリーンとのユーザ相互作用により受信される、請求項1に記載の方法。
  7. 前記第1のシミュレートされたキーと前記第2のシミュレートされたキーとの間の屈曲を識別することは、前記入力に割り当てられたベクトルに基づいており、前記ベクトルは、前記入力が受信されるときに連続的に更新される、請求項1に記載の方法。
  8. 前記第1のシミュレートされたキーと前記第2のシミュレートされたキーとの間の屈曲を識別することは、前記入力に割り当てられたベクトルに基づいており、前記ベクトルは、前記入力が受信されるときに連続的に更新され、
    前記方向分類は、前記屈曲に対応するベクトルの状態に基づいて、前記閉じた別個のセットの方向分類から選択される、請求項1に記載の方法。
  9. 命令を記憶したコンピュータ読み取り可能な媒体であって、前記命令は、1つ以上のプロセッサおよびメモリを有するコンピューティングデバイスにより実行されたときに、前記コンピューティングデバイスに、データ入力のための動作を実行させ、前記動作は、
    入力デバイスを介して、前記1つ以上のプロセッサを使用して、ジェスチャの一部として入力を受信することであって、前記ジェスチャは、第1のシミュレートされたキーからの1つ以上の他のシミュレートされたキーを介した第2のシミュレートされたキーへの仮想キーボードを介した連続ストロークである、ことと、
    前記1つ以上のプロセッサを使用して、前記入力に基づいて1つ以上の可能な言葉の提案を決定することであって、前記1つ以上の可能な言葉の提案を決定することは、
    前記入力の中において、前記第1のシミュレートされたキーと前記第2のシミュレートされたキーとの間の屈曲を識別することと、
    前記第1のシミュレートされたキーに対応する文字と前記第2のシミュレートされたキーに対応する文字との間の前記言葉の中間部分を表わす入力選択を前記屈曲が示すことを決定することと、
    前記第1のシミュレートされたキーからの移動方向を識別することと、
    閉じた別個のセットの方向分類の中の方向分類を前記移動方向に割り当てることと、
    前記方向分類に基づいて、前記入力選択に対する1つ以上の候補文字を決定することと、
    前記入力選択に対する前記1つ以上の候補文字に基づいて、前記1つ以上の可能な言葉の提案を選択することと
    により実行される、ことと、
    ディスプレイを使用して、前記1つ以上の可能な言葉の提案を提供することと
    を含み、
    前記第1のシミュレートされたキーからの前記移動方向を識別することは、水平方向または垂直方向からの角度を決定することと、前記決定された角度に最も近い対応に基づいて、上、下、左または右のうちの1つに同等な方向分類を選択することとを含み、
    前記方向分類に基づいて、前記入力選択に対する1つ以上の候補文字を決定することは、前記言葉の中間部分に対する候補が前記割り当てられた方向分類に対応する方向にあることに基づいて、前記言葉の中間部分に対する1つ以上の候補を決定することを含む、コンピュータ読み取り可能な媒体。
  10. 前記入力選択に対する前記1つ以上の候補文字は、前記仮想キーボード上の前記候補文字の表示に対する前記屈曲の近接性に関わらずに決定される、請求項に記載のコンピュータ読み取り可能な媒体。
  11. 前記入力選択に対する前記1つ以上の候補文字を決定することは、
    前記1つ以上の候補文字が前記屈曲の位置に対する前記割り当てられた方向分類に対応する方向にあることに基づいている、請求項に記載のコンピュータ読み取り可能な媒体。
  12. 前記1つ以上の可能な言葉の提案を選択することは、さらに、前記第1のシミュレートされたキーおよび前記第2のシミュレートされたキーに基づいている、請求項に記載のコンピュータ読み取り可能な媒体。
  13. 前記第1のシミュレートされたキーと前記第2のシミュレートされたキーとの間の屈曲を識別することは、前記入力に割り当てられたベクトルに基づいており、前記ベクトルは、前記入力が受信されるときに連続的に更新される、請求項に記載のコンピュータ読み取り可能な媒体。
  14. 前記第1のシミュレートされたキーと前記第2のシミュレートされたキーとの間の屈曲を識別することは、前記入力に割り当てられたベクトルに基づいており、前記ベクトルは、前記入力が受信されるときに連続的に更新され、
    前記方向分類は、前記屈曲に対応するベクトルの状態に基づいて、前記閉じた別個のセットの方向分類から選択される、請求項に記載のコンピュータ読み取り可能な媒体。
  15. コンピュータシステムであって、前記コンピュータシステムは、
    1つ以上のプロセッサと、
    メモリと、
    ジェスチャの一部として入力を受信する手段であって、前記ジェスチャは、第1のシミュレートされたキーからの1つ以上の他のシミュレートされたキーを介した第2のシミュレートされたキーへの仮想キーボードを介した連続ストロークである、手段と、
    前記1つ以上のプロセッサを使用して、前記入力に基づいて1つ以上の可能な言葉の提案を決定する手段であって、前記1つ以上の可能な言葉の提案を決定する手段は、
    前記入力の中において、前記第1のシミュレートされたキーと前記第2のシミュレートされたキーとの間の屈曲を識別する手段と、
    前記第1のシミュレートされたキーに対応する文字と前記第2のシミュレートされたキーに対応する文字との間の前記言葉の中間部分を表わす入力選択を前記屈曲が示すことを決定する手段と、
    前記第1のシミュレートされたキーからの移動方向を識別する手段と、
    閉じた別個のセットの方向分類の中の方向分類を前記移動方向に割り当てる手段と、
    前記方向分類に基づいて、前記入力選択に対する1つ以上の候補文字を決定する手段と、
    前記入力選択に対する前記1つ以上の候補文字に基づいて、前記1つ以上の可能な言葉の提案を選択する手段と
    を含む、手段と、
    前記1つ以上の可能な言葉の提案を表示する手段と
    を備え
    前記第1のシミュレートされたキーからの前記移動方向を識別する手段は、水平方向または垂直方向からの角度を決定する手段と、前記決定された角度に最も近い対応に基づいて、上、下、左または右のうちの1つに同等な方向分類を選択する手段とを含み、
    前記方向分類に基づいて、前記入力選択に対する1つ以上の候補文字を決定する手段は、前記言葉の中間部分に対する候補が前記割り当てられた方向分類に対応する方向にあることに基づいて、前記言葉の中間部分に対する1つ以上の候補を決定する手段を含む、コンピュータシステム。
  16. 前記入力選択に対する前記1つ以上の候補文字は、前記仮想キーボード上の前記候補文字の表示に対する前記屈曲の近接性に関わらずに決定される、請求項15に記載のシステム。
  17. 前記第1のシミュレートされたキーと前記第2のシミュレートされたキーとの間の屈曲は、前記入力に割り当てられたベクトルに基づいて識別され、
    前記方向分類は、前記屈曲に対応するベクトルの状態に基づいて、前記閉じた別個のセットの方向分類から選択される、請求項15に記載のシステム。
JP2014220009A 2010-03-12 2014-10-29 携帯電話のタッチスクリーンとの使用等のためのマルチモーダルテキスト入力システム Expired - Fee Related JP6140668B2 (ja)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US31342310P 2010-03-12 2010-03-12
US31345410P 2010-03-12 2010-03-12
US61/313,454 2010-03-12
US61/313,423 2010-03-12
US31386410P 2010-03-15 2010-03-15
US61/313,864 2010-03-15
US31679910P 2010-03-23 2010-03-23
US61/316,799 2010-03-23

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2012557308A Division JP5642809B2 (ja) 2010-03-12 2011-03-14 携帯電話のタッチスクリーンとの使用等のためのマルチモーダルテキスト入力システム

Publications (2)

Publication Number Publication Date
JP2015057721A JP2015057721A (ja) 2015-03-26
JP6140668B2 true JP6140668B2 (ja) 2017-05-31

Family

ID=44563890

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2012557308A Expired - Fee Related JP5642809B2 (ja) 2010-03-12 2011-03-14 携帯電話のタッチスクリーンとの使用等のためのマルチモーダルテキスト入力システム
JP2014220009A Expired - Fee Related JP6140668B2 (ja) 2010-03-12 2014-10-29 携帯電話のタッチスクリーンとの使用等のためのマルチモーダルテキスト入力システム

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2012557308A Expired - Fee Related JP5642809B2 (ja) 2010-03-12 2011-03-14 携帯電話のタッチスクリーンとの使用等のためのマルチモーダルテキスト入力システム

Country Status (6)

Country Link
US (2) US9104312B2 (ja)
EP (1) EP2545426A4 (ja)
JP (2) JP5642809B2 (ja)
KR (2) KR101477530B1 (ja)
CN (1) CN103038728B (ja)
WO (1) WO2011113057A1 (ja)

Families Citing this family (378)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US10002189B2 (en) 2007-12-20 2018-06-19 Apple Inc. Method and apparatus for searching using an active ontology
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
DE112009001107T5 (de) * 2008-05-09 2011-04-14 2012244 Ontario Inc., Waterloo Verfahren einer Email-Adress-Suche und Email-Adress-Transliteration und zugehörige Vorrichtung
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US10706373B2 (en) 2011-06-03 2020-07-07 Apple Inc. Performing actions associated with task items that represent tasks to perform
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
EP2339576B1 (en) * 2009-12-23 2019-08-07 Google LLC Multi-modal input on an electronic device
US11416214B2 (en) * 2009-12-23 2022-08-16 Google Llc Multi-modal input on an electronic device
US10276170B2 (en) 2010-01-18 2019-04-30 Apple Inc. Intelligent automated assistant
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
KR101477530B1 (ko) 2010-03-12 2014-12-30 뉘앙스 커뮤니케이션즈, 인코포레이티드 이동 전화의 터치 스크린과 함께 사용하기 위한 다중 모드 문자 입력 시스템
US8487877B2 (en) 2010-06-10 2013-07-16 Michael William Murphy Character specification system and method that uses a limited number of selection keys
GB201200643D0 (en) 2012-01-16 2012-02-29 Touchtype Ltd System and method for inputting text
JP5782699B2 (ja) 2010-10-15 2015-09-24 ソニー株式会社 情報処理装置、情報処理装置の入力制御方法及びプログラム
US20130305248A1 (en) * 2011-01-18 2013-11-14 Nokia Corporation Task Performance
US8911165B2 (en) 2011-01-24 2014-12-16 5 Examples, Inc. Overloaded typing apparatuses, and related devices, systems, and methods
US9183192B1 (en) * 2011-03-16 2015-11-10 Ruby Investments Properties LLC Translator
US20120239381A1 (en) * 2011-03-17 2012-09-20 Sap Ag Semantic phrase suggestion engine
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US9215506B2 (en) * 2011-03-31 2015-12-15 Tivo Inc. Phrase-based communication system
KR101233561B1 (ko) * 2011-05-12 2013-02-14 엔에이치엔(주) 단어 수준의 후보 생성에 기초한 음성 인식 시스템 및 방법
ES2735273T3 (es) 2011-05-23 2019-12-17 Huawei Device Co Ltd Método de entrada, dispositivo de entrada y dispositivo terminal
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US20140189569A1 (en) * 2011-07-18 2014-07-03 Syntellia, Inc. User interface for text input on three dimensional interface
US20130212515A1 (en) * 2012-02-13 2013-08-15 Syntellia, Inc. User interface for text input
US8935230B2 (en) 2011-08-25 2015-01-13 Sap Se Self-learning semantic search engine
KR101951257B1 (ko) * 2011-09-09 2019-02-26 삼성전자주식회사 데이터 입력 방법 및 이를 구현하는 휴대 단말기
US9785628B2 (en) 2011-09-29 2017-10-10 Microsoft Technology Licensing, Llc System, method and computer-readable storage device for providing cloud-based shared vocabulary/typing history for efficient social communication
JP5887807B2 (ja) * 2011-10-04 2016-03-16 ソニー株式会社 情報処理装置、情報処理方法およびコンピュータプログラム
US9251144B2 (en) * 2011-10-19 2016-02-02 Microsoft Technology Licensing, Llc Translating language characters in media content
US8490008B2 (en) 2011-11-10 2013-07-16 Research In Motion Limited Touchscreen keyboard predictive display and generation of a set of characters
US20130120268A1 (en) * 2011-11-10 2013-05-16 Research In Motion Limited Touchscreen keyboard predictive display and generation of a set of characters
US9122672B2 (en) 2011-11-10 2015-09-01 Blackberry Limited In-letter word prediction for virtual keyboard
US9715489B2 (en) 2011-11-10 2017-07-25 Blackberry Limited Displaying a prediction candidate after a typing mistake
US9652448B2 (en) 2011-11-10 2017-05-16 Blackberry Limited Methods and systems for removing or replacing on-keyboard prediction candidates
US9310889B2 (en) 2011-11-10 2016-04-12 Blackberry Limited Touchscreen keyboard predictive display and generation of a set of characters
CH705918A2 (de) * 2011-12-19 2013-06-28 Ralf Trachte Feld-Analysen für flexible Computer-Eingabe.
US9557913B2 (en) 2012-01-19 2017-01-31 Blackberry Limited Virtual keyboard display having a ticker proximate to the virtual keyboard
US9152323B2 (en) 2012-01-19 2015-10-06 Blackberry Limited Virtual keyboard providing an indication of received input
US9330082B2 (en) * 2012-02-14 2016-05-03 Facebook, Inc. User experience with customized user dictionary
US9330083B2 (en) * 2012-02-14 2016-05-03 Facebook, Inc. Creating customized user dictionary
US9307009B2 (en) * 2012-02-15 2016-04-05 Mobilespan Inc. Presenting execution of a remote application in a mobile device native format
DE112012000189B4 (de) 2012-02-24 2023-06-15 Blackberry Limited Berührungsbildschirm-Tastatur zum Vorsehen von Wortvorhersagen in Partitionen der Berührungsbildschirm-Tastatur in naher Assoziation mit Kandidaten-Buchstaben
WO2013123571A1 (en) 2012-02-24 2013-08-29 Research In Motion Limited Virtual keyboard with dynamically reconfigurable layout
WO2013130682A1 (en) * 2012-02-27 2013-09-06 5 Examples, Inc. Date entry system controllers for receiving user input line traces relative to user interfaces to determine ordered actions, and related systems and methods
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
CN102662485A (zh) * 2012-03-12 2012-09-12 成都林海电子有限责任公司 一种中文输入方法及装置
US8667414B2 (en) 2012-03-23 2014-03-04 Google Inc. Gestural input at a virtual keyboard
CN104541239A (zh) * 2012-04-07 2015-04-22 摩托罗拉移动有限责任公司 文本选择和录入
US9201510B2 (en) 2012-04-16 2015-12-01 Blackberry Limited Method and device having touchscreen keyboard with visual cues
CN103376909B (zh) * 2012-04-19 2019-03-22 深圳市世纪光速信息技术有限公司 输入法中调整候选词顺序的方法和***
US9292192B2 (en) 2012-04-30 2016-03-22 Blackberry Limited Method and apparatus for text selection
CN103534676A (zh) * 2012-04-30 2014-01-22 黑莓有限公司 具有先前输入文本校正的触摸屏键盘
US8713464B2 (en) * 2012-04-30 2014-04-29 Dov Nir Aides System and method for text input with a multi-touch screen
US9354805B2 (en) 2012-04-30 2016-05-31 Blackberry Limited Method and apparatus for text selection
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
CA2873240C (en) 2012-05-16 2020-11-17 Xtreme Interactions Inc. System, device and method for processing interlaced multimodal user input
US9207860B2 (en) 2012-05-25 2015-12-08 Blackberry Limited Method and apparatus for detecting a gesture
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
US9672209B2 (en) 2012-06-21 2017-06-06 International Business Machines Corporation Dynamic translation substitution
US9116552B2 (en) 2012-06-27 2015-08-25 Blackberry Limited Touchscreen keyboard providing selection of word predictions in partitions of the touchscreen keyboard
JP5852930B2 (ja) * 2012-06-29 2016-02-03 Kddi株式会社 入力文字推定装置およびプログラム
WO2014000267A1 (en) * 2012-06-29 2014-01-03 Microsoft Corporation Cross-lingual input method editor
CN103529951B (zh) * 2012-07-05 2017-09-15 腾讯科技(深圳)有限公司 字符输入方法及***
US9779080B2 (en) 2012-07-09 2017-10-03 International Business Machines Corporation Text auto-correction via N-grams
CN102819567B (zh) * 2012-07-17 2016-04-20 重庆优腾信息技术有限公司 一种电子设备的联系人信息检索方法和***
US9298295B2 (en) * 2012-07-25 2016-03-29 Facebook, Inc. Gestures for auto-correct
CN103576882B (zh) * 2012-07-27 2018-03-09 深圳市世纪光速信息技术有限公司 非正常文本识别方法及其***
US20140040810A1 (en) * 2012-08-01 2014-02-06 James George Haliburton Electronic device and method of changing a keyboard
US9619812B2 (en) 2012-08-28 2017-04-11 Nuance Communications, Inc. Systems and methods for engaging an audience in a conversational advertisement
US9524290B2 (en) 2012-08-31 2016-12-20 Blackberry Limited Scoring predictions based on prediction length and typing speed
US9218333B2 (en) 2012-08-31 2015-12-22 Microsoft Technology Licensing, Llc Context sensitive auto-correction
US9063653B2 (en) 2012-08-31 2015-06-23 Blackberry Limited Ranking predictions based on typing speed and typing confidence
CN103677299A (zh) * 2012-09-12 2014-03-26 深圳市世纪光速信息技术有限公司 一种在输入法中实现智能联想的方法、装置及终端设备
US9591679B2 (en) 2012-09-17 2017-03-07 Blackberry Limited Initiation of inter-device communication in wireless communication systems
US9826381B2 (en) 2012-09-18 2017-11-21 Blackberry Limited Device handshake/discovery for inter-device communication in wireless communication systems
US9021380B2 (en) * 2012-10-05 2015-04-28 Google Inc. Incremental multi-touch gesture recognition
US8782549B2 (en) 2012-10-05 2014-07-15 Google Inc. Incremental feature-based gesture-keyboard decoding
US9304683B2 (en) 2012-10-10 2016-04-05 Microsoft Technology Licensing, Llc Arced or slanted soft input panels
US8914751B2 (en) 2012-10-16 2014-12-16 Google Inc. Character deletion during keyboard gesture
US8850350B2 (en) 2012-10-16 2014-09-30 Google Inc. Partial gesture text entry
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
US8994681B2 (en) * 2012-10-19 2015-03-31 Google Inc. Decoding imprecise gestures for gesture-keyboards
US8819574B2 (en) 2012-10-22 2014-08-26 Google Inc. Space prediction for text input
US20140129933A1 (en) * 2012-11-08 2014-05-08 Syntellia, Inc. User interface for input functions
US11157436B2 (en) 2012-11-20 2021-10-26 Samsung Electronics Company, Ltd. Services associated with wearable electronic device
US10551928B2 (en) 2012-11-20 2020-02-04 Samsung Electronics Company, Ltd. GUI transitions on wearable electronic device
US10423214B2 (en) 2012-11-20 2019-09-24 Samsung Electronics Company, Ltd Delegating processing from wearable electronic device
US10185416B2 (en) 2012-11-20 2019-01-22 Samsung Electronics Co., Ltd. User gesture input to wearable electronic device involving movement of device
US11237719B2 (en) 2012-11-20 2022-02-01 Samsung Electronics Company, Ltd. Controlling remote electronic device with wearable electronic device
US11372536B2 (en) 2012-11-20 2022-06-28 Samsung Electronics Company, Ltd. Transition and interaction model for wearable electronic device
US8994827B2 (en) 2012-11-20 2015-03-31 Samsung Electronics Co., Ltd Wearable electronic device
US10824297B2 (en) 2012-11-26 2020-11-03 Google Llc System for and method of accessing and selecting emoticons, content, and mood messages during chat sessions
US20140173522A1 (en) * 2012-12-17 2014-06-19 Michael William Murphy Novel Character Specification System and Method that Uses Remote Selection Menu and Touch Screen Movements
CN103019497B (zh) * 2012-12-28 2015-11-25 华为终端有限公司 触摸定位方法、装置及触摸终端
DE102013009375A1 (de) 2012-12-28 2014-07-03 Volkswagen Aktiengesellschaft Verfahren zum Eingeben und Erkennen einer Zeichenkette
CN103064530B (zh) * 2012-12-31 2017-03-08 华为技术有限公司 输入处理方法和装置
US8832589B2 (en) 2013-01-15 2014-09-09 Google Inc. Touch keyboard using language and spatial models
EP2946272A4 (en) * 2013-01-21 2016-11-02 Keypoint Technologies India Pvt Ltd TEXT ENTRY SYSTEM AND METHOD
IN2013CH00469A (ja) 2013-01-21 2015-07-31 Keypoint Technologies India Pvt Ltd
US20150363383A1 (en) * 2013-01-22 2015-12-17 Nec Solution Innovators, Ltd. Input support system, input support method and input support program
US20140208258A1 (en) * 2013-01-22 2014-07-24 Jenny Yuen Predictive Input Using Custom Dictionaries
US9037598B1 (en) * 2013-01-25 2015-05-19 Google Inc. Variable query generation
CN103970278B (zh) * 2013-01-25 2017-02-08 胡竞韬 一种圆形触感键盘的输入方法及装置
US9113213B2 (en) 2013-01-25 2015-08-18 Nuance Communications, Inc. Systems and methods for supplementing content with audience-requested information
US9047268B2 (en) * 2013-01-31 2015-06-02 Google Inc. Character and word level language models for out-of-vocabulary text input
US9454240B2 (en) * 2013-02-05 2016-09-27 Google Inc. Gesture keyboard input of non-dictionary character strings
KR20150104615A (ko) 2013-02-07 2015-09-15 애플 인크. 디지털 어시스턴트를 위한 음성 트리거
US20140229882A1 (en) * 2013-02-08 2014-08-14 Syntellia, Inc. User interface for advanced input functions
US9003333B2 (en) * 2013-03-04 2015-04-07 Zynga Inc. Sequential selection of multiple objects
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US20140267045A1 (en) * 2013-03-14 2014-09-18 Microsoft Corporation Adaptive Language Models for Text Predictions
US9348429B2 (en) * 2013-03-15 2016-05-24 Blackberry Limited Method and apparatus for word prediction using the position of a non-typing digit
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
JP2014203288A (ja) * 2013-04-05 2014-10-27 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
US9665246B2 (en) * 2013-04-16 2017-05-30 Google Inc. Consistent text suggestion output
US8825474B1 (en) * 2013-04-16 2014-09-02 Google Inc. Text suggestion output using past interaction data
JP2014211701A (ja) * 2013-04-17 2014-11-13 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
US9805718B2 (en) * 2013-04-19 2017-10-31 Sri Internaitonal Clarifying natural language input using targeted questions
US8887103B1 (en) * 2013-04-22 2014-11-11 Google Inc. Dynamically-positioned character string suggestions for gesture typing
US8756499B1 (en) * 2013-04-29 2014-06-17 Google Inc. Gesture keyboard input of non-dictionary character strings using substitute scoring
US9081500B2 (en) 2013-05-03 2015-07-14 Google Inc. Alternative hypothesis error correction for gesture typing
US9552411B2 (en) * 2013-06-05 2017-01-24 Microsoft Technology Licensing, Llc Trending suggestions
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
WO2014197336A1 (en) * 2013-06-07 2014-12-11 Apple Inc. System and method for detecting errors in interactions with a voice-based digital assistant
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
EP3008641A1 (en) 2013-06-09 2016-04-20 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
US9244906B2 (en) 2013-06-21 2016-01-26 Blackberry Limited Text entry at electronic communication device
US10445417B2 (en) * 2013-08-01 2019-10-15 Oracle International Corporation Entry of values into multiple fields of a form using touch screens
CN105453026A (zh) 2013-08-06 2016-03-30 苹果公司 基于来自远程设备的活动自动激活智能响应
US9218508B2 (en) * 2013-09-06 2015-12-22 Getac Technology Corporation Electronic device and protection method thereof
CN103455623B (zh) * 2013-09-12 2017-02-15 广东电子工业研究院有限公司 一种融合多种语言文献的聚类机制
US9170736B2 (en) * 2013-09-16 2015-10-27 Microsoft Corporation Hover controlled user interface element
US20150089435A1 (en) * 2013-09-25 2015-03-26 Microth, Inc. System and method for prediction and recognition of input sequences
CN103472998B (zh) * 2013-09-27 2017-03-15 小米科技有限责任公司 一种选取文字的方法、装置和终端设备
RU2708357C2 (ru) * 2013-10-04 2019-12-05 ОСЛабс Пте. Лтд. Управляемая жестами система для перевода и транслитерации вводимого текста и способ перевода и транслитерации вводимого текста
US20150100911A1 (en) * 2013-10-08 2015-04-09 Dao Yin Gesture responsive keyboard and interface
CN104573447A (zh) * 2013-10-16 2015-04-29 ***通信集团公司 一种终端设备控制方法及装置
US9176668B2 (en) * 2013-10-24 2015-11-03 Fleksy, Inc. User interface for text input and virtual keyboard manipulation
CN104346067B (zh) * 2013-11-15 2019-02-05 上海触乐信息科技有限公司 连续滑动输入单词的方法和***
CN103596028A (zh) * 2013-11-25 2014-02-19 乐视致新电子科技(天津)有限公司 智能电视的控制方法和装置
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
US9841873B1 (en) * 2013-12-30 2017-12-12 James Ernest Schroeder Process for reducing the number of physical actions required while inputting character strings
KR20150081181A (ko) * 2014-01-03 2015-07-13 삼성전자주식회사 디스플레이 장치 및 이의 추천 문자 제공 방법
US10691332B2 (en) * 2014-02-28 2020-06-23 Samsung Electronics Company, Ltd. Text input on an interactive display
CN103825952B (zh) * 2014-03-04 2017-07-04 百度在线网络技术(北京)有限公司 细胞词库推送方法和服务器
US20150277751A1 (en) * 2014-03-28 2015-10-01 Linpus Technologies, Inc. Gesture selection data input method and data storage medium having gesture selection software tool stored thereon for implementing the same
US20150286402A1 (en) * 2014-04-08 2015-10-08 Qualcomm Incorporated Live non-visual feedback during predictive text keyboard operation
JP6362391B2 (ja) * 2014-04-10 2018-07-25 キヤノン株式会社 情報処理端末、情報処理方法及びコンピュータプログラム
KR102177607B1 (ko) * 2014-05-16 2020-11-11 엘지전자 주식회사 이동 단말기 및 이의 제어방법
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
TWI566107B (zh) 2014-05-30 2017-01-11 蘋果公司 用於處理多部分語音命令之方法、非暫時性電腦可讀儲存媒體及電子裝置
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US9575560B2 (en) 2014-06-03 2017-02-21 Google Inc. Radar-based gesture-recognition through a wearable device
CN105224858A (zh) * 2014-06-05 2016-01-06 阿里巴巴集团控股有限公司 一种密码输入界面显示方法及***
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US20160041626A1 (en) * 2014-08-06 2016-02-11 International Business Machines Corporation Configurable character variant unification
US9811164B2 (en) 2014-08-07 2017-11-07 Google Inc. Radar-based gesture sensing and data transmission
US9921660B2 (en) 2014-08-07 2018-03-20 Google Llc Radar-based gesture recognition
US10534532B2 (en) 2014-08-08 2020-01-14 Samsung Electronics Co., Ltd. Electronic device and method for processing letter input in electronic device
US9588625B2 (en) 2014-08-15 2017-03-07 Google Inc. Interactive textiles
US10268321B2 (en) * 2014-08-15 2019-04-23 Google Llc Interactive textiles within hard objects
US10515151B2 (en) * 2014-08-18 2019-12-24 Nuance Communications, Inc. Concept identification and capture
US11169988B2 (en) 2014-08-22 2021-11-09 Google Llc Radar recognition-aided search
US9778749B2 (en) 2014-08-22 2017-10-03 Google Inc. Occluded gesture recognition
US10261674B2 (en) 2014-09-05 2019-04-16 Microsoft Technology Licensing, Llc Display-efficient text entry and editing
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US9940016B2 (en) * 2014-09-13 2018-04-10 Microsoft Technology Licensing, Llc Disambiguation of keyboard input
US9684694B2 (en) * 2014-09-23 2017-06-20 International Business Machines Corporation Identifying and scoring data values
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
JP6430198B2 (ja) * 2014-09-30 2018-11-28 株式会社東芝 電子機器、方法及びプログラム
US9600080B2 (en) 2014-10-02 2017-03-21 Google Inc. Non-line-of-sight radar-based gesture recognition
US10083167B2 (en) * 2014-10-03 2018-09-25 At&T Intellectual Property I, L.P. System and method for unsupervised text normalization using distributed representation of words
GB201418402D0 (en) * 2014-10-16 2014-12-03 Touchtype Ltd Text prediction integration
US9696904B1 (en) * 2014-10-30 2017-07-04 Allscripts Software, Llc Facilitating text entry for mobile healthcare application
JP5943359B2 (ja) * 2014-11-05 2016-07-05 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation パスワードを検証するシステム、方法およびプログラム
US10074102B2 (en) * 2014-11-26 2018-09-11 Adobe Systems Incorporated Providing alternate words to aid in drafting effective social media posts
US9516115B2 (en) * 2014-12-05 2016-12-06 Software 263 Technology (Beijing) Co., Ltd. Softphone user interface system and method
US20160216773A1 (en) * 2015-01-24 2016-07-28 Yi-Chuan Cheng Virtual Object Control Method and the Portable Device
US10282089B2 (en) * 2015-02-03 2019-05-07 Google Llc User state-adaptive text input
CN105988704B (zh) * 2015-03-03 2020-10-02 上海触乐信息科技有限公司 高效的触摸屏文本输入***及方法
US10152299B2 (en) 2015-03-06 2018-12-11 Apple Inc. Reducing response latency of intelligent automated assistants
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US10016162B1 (en) 2015-03-23 2018-07-10 Google Llc In-ear health monitoring
US9703394B2 (en) * 2015-03-24 2017-07-11 Google Inc. Unlearning techniques for adaptive language models in text entry
US9983747B2 (en) 2015-03-26 2018-05-29 Google Llc Two-layer interactive textiles
US10726197B2 (en) * 2015-03-26 2020-07-28 Lenovo (Singapore) Pte. Ltd. Text correction using a second input
US10498834B2 (en) 2015-03-30 2019-12-03 [24]7.ai, Inc. Method and apparatus for facilitating stateless representation of interaction flow states
WO2016161056A1 (en) * 2015-03-31 2016-10-06 Keyless Systems Ltd. Improved data entry systems
US10203870B2 (en) * 2015-04-07 2019-02-12 Blackberry Limited Authentication using a touch-sensitive keyboard with distinct pluralities of keys as respective regions
US9678664B2 (en) 2015-04-10 2017-06-13 Google Inc. Neural network for keyboard input decoding
US10452264B2 (en) 2015-04-30 2019-10-22 Michael William Murphy Systems and methods for word identification that use button press type error analysis
US10139916B2 (en) 2015-04-30 2018-11-27 Google Llc Wide-field radar-based gesture recognition
CN107466389B (zh) 2015-04-30 2021-02-12 谷歌有限责任公司 用于确定类型不可知的rf信号表示的方法和装置
JP6427279B2 (ja) 2015-04-30 2018-11-21 グーグル エルエルシー ジェスチャの追跡および認識のための、rfに基づいた微細動作追跡
US10095403B2 (en) 2015-05-05 2018-10-09 International Business Machines Corporation Text input on devices with touch screen displays
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US9693592B2 (en) 2015-05-27 2017-07-04 Google Inc. Attaching electronic components to interactive textiles
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US10200824B2 (en) 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US10088908B1 (en) 2015-05-27 2018-10-02 Google Llc Gesture detection and interactions
US10146979B2 (en) * 2015-06-03 2018-12-04 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Processing visual cues to improve device understanding of user input
US9898100B2 (en) * 2015-06-04 2018-02-20 Microsoft Technology Licensing, Llc Authenticating stylus device
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US10101822B2 (en) 2015-06-05 2018-10-16 Apple Inc. Language input correction
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US9996507B2 (en) * 2015-06-26 2018-06-12 International Business Machines Corporation Geo-cultural information based dynamic character variant rendering
US20160378747A1 (en) 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US9443519B1 (en) * 2015-09-09 2016-09-13 Google Inc. Reducing latency caused by switching input modalities
US10817065B1 (en) 2015-10-06 2020-10-27 Google Llc Gesture recognition using multiple antenna
WO2017079484A1 (en) 2015-11-04 2017-05-11 Google Inc. Connectors for connecting electronics embedded in garments to external devices
US10671272B2 (en) 2015-11-06 2020-06-02 International Business Machines Corporation Touchscreen oriented input integrated with enhanced four-corner indexing
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10366114B2 (en) * 2015-11-15 2019-07-30 Microsoft Technology Licensing, Llc Providing data presentation functionality associated with collaboration database
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
CN105872671A (zh) * 2015-12-11 2016-08-17 乐视致新电子科技(天津)有限公司 智能电视的滑动输入方法及装置
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US20170242581A1 (en) * 2016-02-23 2017-08-24 Myscript System and method for multiple input management
US10073538B2 (en) 2016-04-11 2018-09-11 International Business Machines Corporation Assessment of a password based on characteristics of a physical arrangement of keys of a keyboard
WO2017192167A1 (en) 2016-05-03 2017-11-09 Google Llc Connecting an electronic component to an interactive textile
US10175781B2 (en) 2016-05-16 2019-01-08 Google Llc Interactive object with multiple electronics modules
US10285456B2 (en) 2016-05-16 2019-05-14 Google Llc Interactive fabric
WO2017209571A1 (en) 2016-06-02 2017-12-07 Samsung Electronics Co., Ltd. Method and electronic device for predicting response
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
AU2016410752A1 (en) * 2016-06-22 2019-01-31 Huawei Technologies Co., Ltd. Method and device for displaying candidate words, and graphical user interface
WO2018035113A1 (en) * 2016-08-15 2018-02-22 The Coca-Cola Company Selecting and dispensing blended beverages from a post-mix beverage dispenser
CN106468960A (zh) * 2016-09-07 2017-03-01 北京新美互通科技有限公司 一种输入法候选项排序的方法和***
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
WO2018074895A1 (en) 2016-10-21 2018-04-26 Samsung Electronics Co., Ltd. Device and method for providing recommended words for character input
US10884610B2 (en) 2016-11-04 2021-01-05 Myscript System and method for recognizing handwritten stroke input
US10078370B2 (en) * 2016-11-23 2018-09-18 Immersion Corporation Devices and methods for modifying haptic effects
US11281993B2 (en) 2016-12-05 2022-03-22 Apple Inc. Model and ensemble compression for metric learning
US10579150B2 (en) 2016-12-05 2020-03-03 Google Llc Concurrent detection of absolute distance and relative movement for sensing action gestures
US10417332B2 (en) * 2016-12-15 2019-09-17 Microsoft Technology Licensing, Llc Predicting text by combining attempts
US10444987B2 (en) 2016-12-19 2019-10-15 Microsoft Technology Licensing, Llc Facilitating selection of holographic keyboard keys
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
US10831366B2 (en) 2016-12-29 2020-11-10 Google Llc Modality learning on mobile devices
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
US10747427B2 (en) * 2017-02-01 2020-08-18 Google Llc Keyboard automatic language identification and reconfiguration
US11609692B2 (en) * 2017-04-07 2023-03-21 Hewlett-Packard Development Company, L.P. Cursor adjustments
AU2018256365A1 (en) 2017-04-19 2019-10-31 Magic Leap, Inc. Multimodal task execution and text editing for a wearable system
US10417266B2 (en) 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. USER INTERFACE FOR CORRECTING RECOGNITION ERRORS
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
DK201770439A1 (en) 2017-05-11 2018-12-13 Apple Inc. Offline personal assistant
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
DK201770429A1 (en) 2017-05-12 2018-12-14 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
US11237642B2 (en) * 2017-05-14 2022-02-01 Mark Stouffer Single-hand interdigit-coordinated mobile keyboard input device
US10528134B2 (en) * 2017-05-14 2020-01-07 Mark Stouffer One-handed input chording user input device for converting finger movements into digital input
DK201770411A1 (en) 2017-05-15 2018-12-20 Apple Inc. MULTI-MODAL INTERFACES
DK201770432A1 (en) 2017-05-15 2018-12-21 Apple Inc. Hierarchical belief states for digital assistants
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
US10403278B2 (en) 2017-05-16 2019-09-03 Apple Inc. Methods and systems for phonetic matching in digital assistant services
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
DK179560B1 (en) 2017-05-16 2019-02-18 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US20180336275A1 (en) 2017-05-16 2018-11-22 Apple Inc. Intelligent automated assistant for media exploration
BR112019024245A2 (pt) 2017-05-19 2020-06-02 William Murphy Michael Interface de seleção de caracteres entrelaçados
US10657328B2 (en) 2017-06-02 2020-05-19 Apple Inc. Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling
US20190079668A1 (en) * 2017-06-29 2019-03-14 Ashwin P Rao User interfaces for keyboards
US11263399B2 (en) * 2017-07-31 2022-03-01 Apple Inc. Correcting input based on user context
WO2019045441A1 (en) * 2017-08-29 2019-03-07 Samsung Electronics Co., Ltd. METHOD FOR PROVIDING MULTIMODAL PREDICTIONS BASED ON COGNITIVE SEMIOTICS AND ASSOCIATED ELECTRONIC DEVICE
CN109542244B (zh) * 2017-09-21 2022-04-26 北京搜狗科技发展有限公司 一种输入方法、装置和介质
US10445429B2 (en) 2017-09-21 2019-10-15 Apple Inc. Natural language understanding using vocabularies with compressed serialized tries
US10394342B2 (en) * 2017-09-27 2019-08-27 Facebook Technologies, Llc Apparatuses, systems, and methods for representing user interactions with real-world input devices in a virtual space
US10755051B2 (en) 2017-09-29 2020-08-25 Apple Inc. Rule-based natural language processing
CN109670282B (zh) * 2017-10-17 2023-12-22 深圳富泰宏精密工业有限公司 解锁***、解锁方法及电子装置
US10636424B2 (en) 2017-11-30 2020-04-28 Apple Inc. Multi-turn canned dialog
RU2726009C1 (ru) * 2017-12-27 2020-07-08 Общество С Ограниченной Ответственностью "Яндекс" Способ и система для исправления неверного набора слова вследствие ошибки ввода с клавиатуры и/или неправильной раскладки клавиатуры
US10733982B2 (en) 2018-01-08 2020-08-04 Apple Inc. Multi-directional dialog
CN110018746B (zh) 2018-01-10 2023-09-01 微软技术许可有限责任公司 通过多种输入模式来处理文档
US11061556B2 (en) * 2018-01-12 2021-07-13 Microsoft Technology Licensing, Llc Computer device having variable display output based on user input with variable time and/or pressure patterns
US10733375B2 (en) 2018-01-31 2020-08-04 Apple Inc. Knowledge-based framework for improving natural language understanding
US10789959B2 (en) 2018-03-02 2020-09-29 Apple Inc. Training speaker recognition models for digital assistants
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10102415B1 (en) * 2018-03-29 2018-10-16 Secugen Corporation Method and apparatus for simultaneous multiple fingerprint enrollment
US10909331B2 (en) 2018-03-30 2021-02-02 Apple Inc. Implicit identification of translation payload with neural machine translation
US11676220B2 (en) * 2018-04-20 2023-06-13 Meta Platforms, Inc. Processing multimodal user input for assistant systems
US10963273B2 (en) 2018-04-20 2021-03-30 Facebook, Inc. Generating personalized content summaries for users
US11307880B2 (en) 2018-04-20 2022-04-19 Meta Platforms, Inc. Assisting users with personalized and contextual communication content
US11715042B1 (en) 2018-04-20 2023-08-01 Meta Platforms Technologies, Llc Interpretability of deep reinforcement learning models in assistant systems
US11886473B2 (en) 2018-04-20 2024-01-30 Meta Platforms, Inc. Intent identification for agent matching by assistant systems
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US10984780B2 (en) 2018-05-21 2021-04-20 Apple Inc. Global semantic word embeddings using bi-directional recurrent neural networks
US10861242B2 (en) 2018-05-22 2020-12-08 Magic Leap, Inc. Transmodal input fusion for a wearable system
US11386266B2 (en) 2018-06-01 2022-07-12 Apple Inc. Text correction
DK201870355A1 (en) 2018-06-01 2019-12-16 Apple Inc. VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US10496705B1 (en) 2018-06-03 2019-12-03 Apple Inc. Accelerated task performance
KR102592907B1 (ko) * 2018-06-22 2023-10-23 삼성전자주식회사 텍스트 입력 디바이스 및 그 방법
US11714955B2 (en) 2018-08-22 2023-08-01 Microstrategy Incorporated Dynamic document annotations
US11815936B2 (en) 2018-08-22 2023-11-14 Microstrategy Incorporated Providing contextually-relevant database content based on calendar data
US11106905B2 (en) * 2018-09-04 2021-08-31 Cerence Operating Company Multi-character text input system with audio feedback and word completion
CN110888577B (zh) * 2018-09-10 2021-09-28 百度在线网络技术(北京)有限公司 字符纠正方法、装置、设备以及存储介质
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
JP7243109B2 (ja) * 2018-10-02 2023-03-22 カシオ計算機株式会社 電子機器、電子機器の制御方法及びプログラム
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
KR102527892B1 (ko) * 2018-11-26 2023-05-02 삼성전자주식회사 예측 단어를 제공하기 위한 전자 장치 및 그의 동작 방법
US11922007B2 (en) 2018-11-29 2024-03-05 Michael William Murphy Apparatus, method and system for inputting characters to an electronic device
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
US11682390B2 (en) 2019-02-06 2023-06-20 Microstrategy Incorporated Interactive interface for analytics
KR20200103236A (ko) * 2019-02-22 2020-09-02 삼성전자주식회사 수기에 기반한 입력을 디스플레이하기 위한 방법 및 장치
JP7263857B2 (ja) * 2019-03-14 2023-04-25 オムロン株式会社 文字入力装置、文字入力方法、及び、文字入力プログラム
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
WO2020190103A1 (en) * 2019-03-20 2020-09-24 Samsung Electronics Co., Ltd. Method and system for providing personalized multimodal objects in real time
US11537821B2 (en) 2019-04-10 2022-12-27 International Business Machines Corporation Evaluating text classification anomalies predicted by a text classification model
US11068656B2 (en) * 2019-04-10 2021-07-20 International Business Machines Corporation Displaying text classification anomalies predicted by a text classification model
US11137908B2 (en) * 2019-04-15 2021-10-05 Apple Inc. Keyboard operation with head-mounted device
US11554322B2 (en) * 2019-04-26 2023-01-17 Sony Interactive Entertainment LLC Game controller with touchpad input
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
WO2020227445A1 (en) 2019-05-06 2020-11-12 Apple Inc. Handwriting entry on an electronic device
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
DK201970510A1 (en) 2019-05-31 2021-02-11 Apple Inc Voice identification in digital assistant systems
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
US11227599B2 (en) 2019-06-01 2022-01-18 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
CN111858921B (zh) * 2019-09-24 2024-05-03 北京嘀嘀无限科技发展有限公司 兴趣点查询方法、装置以及电子设备
WO2021056255A1 (en) 2019-09-25 2021-04-01 Apple Inc. Text detection using global geometry estimators
US11327646B2 (en) * 2019-09-27 2022-05-10 International Business Machines Corporation Modifying illumination characteristics of an input device to identify characters associated with predicted words
US11295088B2 (en) 2019-11-20 2022-04-05 Apple Inc. Sanitizing word predictions
US11068073B2 (en) * 2019-12-13 2021-07-20 Dell Products, L.P. User-customized keyboard input error correction
US11561968B2 (en) * 2020-02-20 2023-01-24 Microstrategy Incorporated Systems and methods for retrieving relevant information content while typing
US11043220B1 (en) 2020-05-11 2021-06-22 Apple Inc. Digital assistant hardware abstraction
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11810578B2 (en) 2020-05-11 2023-11-07 Apple Inc. Device arbitration for digital assistant-based intercom systems
US20210349627A1 (en) * 2020-05-11 2021-11-11 Apple Inc. Interacting with handwritten content on an electronic device
US11755276B2 (en) 2020-05-12 2023-09-12 Apple Inc. Reducing description length based on confidence
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
EP3945402B1 (en) * 2020-07-29 2024-03-27 Tata Consultancy Services Limited Method and device providing multimodal input mechanism
KR20220015831A (ko) * 2020-07-31 2022-02-08 삼성전자주식회사 전자 장치 및 이의 제어 방법
CN112417087B (zh) * 2020-12-14 2024-03-19 合肥高维数据技术有限公司 基于文字的溯源方法及***
CN113255342B (zh) * 2021-06-11 2022-09-30 云南大学 一种5g移动业务产品名称识别方法及***
DE102021121116B4 (de) * 2021-08-13 2023-05-11 Brainbox Gmbh Verfahren und vorrichtung zur eingabe einer zeichenfolge
WO2023034497A2 (en) * 2021-09-03 2023-03-09 Apple Inc. Gaze based dictation
US11507730B1 (en) * 2021-09-30 2022-11-22 Atlassian Pty Ltd. User interface with command-line link creation for generating graphical objects linked to third-party content
US12007870B1 (en) 2022-11-03 2024-06-11 Vignet Incorporated Monitoring and adjusting data collection from remote participants for health research
US11790107B1 (en) 2022-11-03 2023-10-17 Vignet Incorporated Data sharing platform for researchers conducting clinical trials
FR3144374A1 (fr) * 2022-12-21 2024-06-28 Psa Automobiles Sa Procédé d’aide à la saisie de texte dans un système d’info-divertissement de véhicule automobile

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08272787A (ja) * 1995-03-29 1996-10-18 Sharp Corp 文字処理装置
WO1997005541A1 (en) 1995-07-26 1997-02-13 King Martin T Reduced keyboard disambiguating system
US5903864A (en) * 1995-08-30 1999-05-11 Dragon Systems Speech recognition
JPH10275046A (ja) 1997-03-31 1998-10-13 Toshiba Corp 単語入力装置及び方法
US6047300A (en) * 1997-05-15 2000-04-04 Microsoft Corporation System and method for automatically correcting a misspelled word
US7881936B2 (en) * 1998-12-04 2011-02-01 Tegic Communications, Inc. Multimodal disambiguation of speech recognition
US7720682B2 (en) 1998-12-04 2010-05-18 Tegic Communications, Inc. Method and apparatus utilizing voice input to resolve ambiguous manually entered text input
AU5299700A (en) * 1999-05-27 2000-12-18 America Online, Inc. Keyboard system with automatic correction
US7030863B2 (en) * 2000-05-26 2006-04-18 America Online, Incorporated Virtual keyboard system with automatic correction
US7526431B2 (en) * 2001-09-05 2009-04-28 Voice Signal Technologies, Inc. Speech recognition using ambiguous or phone key spelling and/or filtering
US8460103B2 (en) 2004-06-18 2013-06-11 Igt Gesture controlled casino gaming system
US7382358B2 (en) * 2003-01-16 2008-06-03 Forword Input, Inc. System and method for continuous stroke word-based text input
US7453439B1 (en) * 2003-01-16 2008-11-18 Forward Input Inc. System and method for continuous stroke word-based text input
US7729913B1 (en) * 2003-03-18 2010-06-01 A9.Com, Inc. Generation and selection of voice recognition grammars for conducting database searches
US7164410B2 (en) * 2003-07-28 2007-01-16 Sig G. Kupka Manipulating an on-screen object using zones surrounding the object
US7250938B2 (en) * 2004-01-06 2007-07-31 Lenovo (Singapore) Pte. Ltd. System and method for improved user input on personal computing devices
CN1965349A (zh) * 2004-06-02 2007-05-16 美国联机股份有限公司 多形式的非歧意性语音识别
NZ582991A (en) * 2004-06-04 2011-04-29 Keyless Systems Ltd Using gliding stroke on touch screen and second input to choose character
US8972444B2 (en) 2004-06-25 2015-03-03 Google Inc. Nonstandard locality-based text entry
JP4640822B2 (ja) * 2006-01-18 2011-03-02 シャープ株式会社 入力装置
US7831911B2 (en) * 2006-03-08 2010-11-09 Microsoft Corporation Spell checking system including a phonetic speller
US8462118B2 (en) * 2006-06-19 2013-06-11 Nuance Communications, Inc. Data entry system and method of entering data
JP2010503081A (ja) 2006-08-31 2010-01-28 クゥアルコム・インコーポレイテッド 利用者ベースのバイアスを使用した検索結果の取得又は提供方法および装置
US20080244446A1 (en) 2007-03-29 2008-10-02 Lefevre John Disambiguation of icons and other media in text-based applications
US7895518B2 (en) * 2007-04-27 2011-02-22 Shapewriter Inc. System and method for preview and selection of words
US9503562B2 (en) 2008-03-19 2016-11-22 Universal Electronics Inc. System and method for appliance control via a personal communication or entertainment device
US8589149B2 (en) 2008-08-05 2013-11-19 Nuance Communications, Inc. Probability-based approach to recognition of user-entered data
US8669941B2 (en) * 2009-01-05 2014-03-11 Nuance Communications, Inc. Method and apparatus for text entry
US9519353B2 (en) * 2009-03-30 2016-12-13 Symbol Technologies, Llc Combined speech and touch input for observation symbol mappings
US8423351B2 (en) * 2010-02-19 2013-04-16 Google Inc. Speech correction for typed input
KR101477530B1 (ko) 2010-03-12 2014-12-30 뉘앙스 커뮤니케이션즈, 인코포레이티드 이동 전화의 터치 스크린과 함께 사용하기 위한 다중 모드 문자 입력 시스템
US9141285B2 (en) * 2010-11-05 2015-09-22 Apple Inc. Device, method, and graphical user interface for manipulating soft keyboards

Also Published As

Publication number Publication date
CN103038728A (zh) 2013-04-10
JP2015057721A (ja) 2015-03-26
US20130046544A1 (en) 2013-02-21
KR20140111333A (ko) 2014-09-18
WO2011113057A1 (en) 2011-09-15
JP5642809B2 (ja) 2014-12-17
EP2545426A1 (en) 2013-01-16
KR20130001261A (ko) 2013-01-03
JP2013522972A (ja) 2013-06-13
US9104312B2 (en) 2015-08-11
CN103038728B (zh) 2016-01-20
KR101477530B1 (ko) 2014-12-30
US20150293602A1 (en) 2015-10-15
EP2545426A4 (en) 2017-05-17

Similar Documents

Publication Publication Date Title
JP6140668B2 (ja) 携帯電話のタッチスクリーンとの使用等のためのマルチモーダルテキスト入力システム
US11379663B2 (en) Multi-gesture text input prediction
US10489508B2 (en) Incremental multi-word recognition
US10474753B2 (en) Language identification using recurrent neural networks
US9977595B2 (en) Keyboard with a suggested search query region
US9026428B2 (en) Text/character input system, such as for use with touch screens on mobile phones
US20170263248A1 (en) Dictation that allows editing
KR101633842B1 (ko) 연속적인 제스쳐 입력을 위한 복수의 그래픽 키보드들
US20150220265A1 (en) Information processing device, information processing method, and program
WO2011056610A2 (en) Predictive text entry for input devices
KR20180115699A (ko) 다중 입력 관리를 위한 시스템 및 방법
CN108845754B (zh) 用于移动虚拟现实头戴显示器的无驻留文本输入方法
EP3241105B1 (en) Suggestion selection during continuous gesture input

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151104

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160104

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160531

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20160830

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161028

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20161117

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170314

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20170321

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: 20170403

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170501

R150 Certificate of patent or registration of utility model

Ref document number: 6140668

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees