CN104838348B - 递增的基于特征的手势键盘解码 - Google Patents

递增的基于特征的手势键盘解码 Download PDF

Info

Publication number
CN104838348B
CN104838348B CN201380063263.0A CN201380063263A CN104838348B CN 104838348 B CN104838348 B CN 104838348B CN 201380063263 A CN201380063263 A CN 201380063263A CN 104838348 B CN104838348 B CN 104838348B
Authority
CN
China
Prior art keywords
gesture
cost
value
key
computing device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201380063263.0A
Other languages
English (en)
Other versions
CN104838348A (zh
Inventor
欧阳瑜
翟树民
毕小俊
奇普里安·洛恩·凯尔巴
片冈慧
若佐健
畔柳圭佑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
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
Priority claimed from US13/646,521 external-priority patent/US9021380B2/en
Application filed by Google LLC filed Critical Google LLC
Priority to CN201810315390.XA priority Critical patent/CN108646929A/zh
Publication of CN104838348A publication Critical patent/CN104838348A/zh
Application granted granted Critical
Publication of CN104838348B publication Critical patent/CN104838348B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/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/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/0236Character input methods using selection techniques to select from displayed items
    • 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/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • 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/279Recognition of textual entities
    • G06F40/284Lexical analysis, e.g. tokenisation or collocates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/42Data-driven translation
    • G06F40/44Statistical methods, e.g. probability models

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)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Probability & Statistics with Applications (AREA)
  • User Interface Of Digital Computer (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

在一个示例中,一种方法包括在被操作耦合到计算设备的存在敏感显示器处输出包括多个键的图形键盘,并且接收用以选择所述多个键中的一组键的手势的指示。所述方法可进一步包括响应于该指示而至少部分地基于该组键来确定候选词。所述方法可进一步包括确定所述手势所滑过的一组对准点和用于所述多个键中的至少两个键中的每一个的相应成本值。所述方法可进一步包括比较用于所述多个键中的至少两个键中的至少每一个的相应成本值,以确定具有组合成本值的键的组合,并且输出基于相应成本值的候选词。

Description

递增的基于特征的手势键盘解码
背景技术
计算设备(例如,移动电话、平板计算机等)可提供图形键盘作为用于使用存在敏感屏幕来撰写文本的图形用户界面的一部分。图形键盘可使得计算设备的用户能够输入文本(例如,电子邮件、文本消息或文档等)。例如,计算设备可在允许用户通过敲击键盘显示器上的键来输入数据的存在敏感显示器上呈现图形或软键盘。
基于手势的键盘可用来向智能电话中输入文本。这样的键盘可能遭受准确度、速度方面和不能适应于用户的限制。某些键盘还可要求必须单独地维护的专用手势字典。这样的键盘还可能难以与多个设备上字典集成。
发明内容
在一个示例中,一种方法包括由计算设备输出包括多个键的图形键盘以在被操作耦合到计算设备的存在敏感显示器处显示;接收在存在敏感显示器处输入的手势的指示,该手势用以选择所述多个键中的一组键;由计算设备响应于接收到手势的指示而至少部分地基于该组键来确定候选词,其中,所述确定包括:由计算设备来确定手势滑过的一组对准点;由计算设备来确定用于所述多个键中的至少两个键中的每一个的相应成本值,其中,相应成本值中的每一个表示该组对准点中的一个对准点指示所述多个键中的一个键的概率;由计算设备来比较用于所述多个键中的至少两个键中的至少每一个的相应成本值,以确定具有组合成本值的键的组合;以及至少部分地基于相应成本值输出候选词以在存在敏感显示器处显示。
在另一示例中,一种计算设备,包括:至少一个处理器;存在敏感显示器,被操作耦合到所述至少一个处理器;以及至少一个模块,可由所述至少一个处理器操作以:输出包括多个键的图形键盘以在存在敏感显示器处显示;在存在敏感显示器处接收手势的指示,该手势用以选择所述多个键中的一组键;响应于接收到手势的指示而至少部分地基于该组键来确定候选词;确定手势滑过的一组对准点;确定用于所述多个键中的至少两个键中的每一个的相应成本值,其中,相应成本值中的每一个表示该组对准点中的一个对准点指示所述多个键中的一个键的概率;比较相应成本值以确定具有组合成本值的键的组合;以及至少部分地基于相应成本值来确定候选词。
在另一示例中,一种编码有指令的计算机可读存储介质,该指令在被执行时促使由计算设备输出包括多个键的图形键盘以在被操作耦合到计算设备的存在敏感显示器处显示;接收在存在敏感显示器处输入的手势的指示,该手势用以选择所述多个键中的一组键;由计算设备响应于接收到手势的指示而至少部分地基于该组键来确定候选词,其中,所述确定包括:由计算设备来确定手势滑过的一组对准点;由计算设备来确定用于所述多个键中的至少两个键中的每一个的相应成本值,其中,相应成本值中的每一个表示该组对准点中的一个对准点指示所述多个键中的一个键的概率;由计算设备来比较用于所述多个键中的至少两个键中的至少每一个的相应成本值,以确定具有组合成本值的键的组合;以及至少部分地基于相应成本值输出候选词以在存在敏感显示器处显示。
在附图和以下描述中阐述了本公开的一个或多个示例的细节。根据本描述和附图以及根据权利要求,其他特征、目的以及优点将是显而易见的。
附图说明
图1是图示出根据本公开的一个或多个技术的可用来从手势递增地确定文本的示例性计算设备的框图。
图2是图示出根据本公开的一个或多个技术的如图1中所示的计算设备的一个示例的更多细节的框图。
图3A-C是图示出根据本公开的一个或多个技术的如图1中所示的计算设备的一个示例的更多细节的框图。
图4A-B是图示出根据本公开的一个或多个技术的用以从手势确定候选词的计算设备的示例性操作的流程图。
图5是图示出根据本公开的一个或多个技术的用以从手势确定候选词的计算设备的示例性操作的流程图。
具体实施方式
一般地,本公开涉及一种用于基于选择包括在图形键盘中的字符序列的检测手势来递增地确定一个或多个候选词的技术。在某些示例中,显示图形键盘的存在敏感显示器可检测手势。这样的技术可改善用户使用图形键盘来输入文本的能力。存在敏感显示器(例如触敏屏幕)可通过检测在存在敏感显示器处或附近执行的手势形式的用户输入来使得用户能够输入文本。在某些示例中,用户可能希望通过在存在敏感显示器处或附近执行一个或多个手势来输入字符串(例如词)。
不同于执行多个手势来输入单个词,本公开的技术可改善用户可以向计算设备的图形键盘中输入文本的速度和准确度。例如,使用本公开的技术,作为针对词的每个键执行离散手势的替代,用户可执行指示词的单个手势。随着用户执行手势,计算设备可递增地确定该手势所指示的一个或多个候选词。通过随着手势执行而递增地确定候选词,计算设备可用最小的后手势输入处理时间来为用户呈现一个或多个候选词。为了确定候选词,递增确定可包括搜索手势的一个或多个点,其每个与字母的给定键盘位置对准。该搜索可包括选择与键盘的字母最佳地对准的手势点。
基于该搜索,本公开的技术可通过并行地滑过手势和字典(lexicon)(例如词典)中的各种状态两者来构造对手势的一个或多个可能解释。这样,本公开的技术可以使用空间手势模型递增地将手势与字典特里(trie)中的词匹配,每次一个节点/字母。在某些示例中,本公开的技术可使用一个或多个空间和/或时间对准特征来改善递增确定的准确度。这样的技术还可支持其他高级手势交互,诸如双手手势或多词手势。
通过使得用户能够用单个手势来输入词并执行递增确定以识别候选词,本公开的技术使得用户能够增加输入文本的速率。因此,本公开的技术可将用户从针对词的每个字母执行敲击中释放,其对于用户而言可能是困难的和/或可由于用户的手指离散地接触单独键的要求而导致减小的文本输入速率。本技术还可减少用户准确地指示图形键盘的特定键所需的努力。
图1图示出根据本公开的一个或多个技术的可用来处手势递增地确定文本的示例性计算设备2的框图。在某些示例中,计算设备2可与用户18相关联。与计算设备相关联的用户可通过向计算设备中提供各种用户输入来与计算设备交互。
计算设备2的示例可包括但不限于便携式或移动设备,诸如移动电话(包括智能电话)、膝上型计算机、台式计算机、平板计算机、智能电视平台、相机、个人数字助理(PDA)、服务器、主机等。如图1的示例中所示,计算设备2可以是平板计算机。在某些示例中,计算设备2可包括用户界面(UI)设备4、UI模块6、手势模块8以及语言模型10。实现本公开的技术的计算设备2的其他示例可包括图1中未示出的附加部件。
计算设备2可包括UI模块4。在某些示例中,UI模块4被配置成接收触觉、音频或视觉输入。如图1中所示,UI设备4可包括触摸敏感和/或存在敏感显示器或用于接收用户输入的任何其他类型的设备。UI设备4可输出诸如图形用户界面(GUI)12之类的内容以用于显示。在图1的示例中,UI设备4可以是存在敏感显示器,其可以显示图形用户界面并使用在存在敏感显示器处或附近的电容、电感和/或光学检测从用户18接收输入。
如图1中所示,计算设备2可包括UI模块6。UI模块6可执行一个或多个功能以接收输入,诸如用户输入或网络数据,并且将这样的输入发送到与计算设备2相关联的其他部件,诸如手势模块8。例如,UI模块6可确定由用户18在UI设备4处执行的手势。UI模块6还可从与计算设备2相关联的部件、诸如手势模块8接收数据。使用该数据,UI模块6可促使与计算设备2、诸如UI设备4相关联的其他部件基于数据来提供输出。例如,UI模块6可从手势模块8接收数据,其促使UI设备4在GUI 12的文本输入域14中显示信息。
可以各种方式来实现UI模块6。例如,可将UI模块6实现为可下载或预先安装的应用或“app”。在另一示例中,可将UI模块6实现为计算设备2的硬件单元的一部分。在另一示例中,可将UI模块6实现为计算设备2的操作系统的一部分。
在某些示例中,计算设备2包括手势模块8。手势模块8可包括将在计算设备2上执行任何种类的操作的功能。例如,手势模块8可包括根据本文所述的技术从手势递增地确定文本的功能。可以各种方式来实现手势模块8。例如,可将手势模块8实现为可下载或预先安装的应用或“app”。在另一示例中,可将手势模块8实现为计算设备2的硬件单元的一部分。在另一示例中,可将手势模块8实现为计算设备2的操作系统的一部分。
手势模块8可从与计算设备2相关联的部件接收数据,诸如UI模块6。例如,手势模块8可从UI模块6接收促使手势模块8从手势数据来确定文本的手势数据。手势模块8还可向与计算设备2相关联的部件、诸如UI模块6发送数据。例如,手势模块8可将从手势数据确定的文本发送到UI模块6,其促使UI设备4显示GUI 10。
如图1中所示,GUI 12可以是由UI模块6生成的用户界面,其允许用户18与计算设备2交互。GUI 12可包括图形内容。一般地,图形内容可包括文本、图像、一组活动图像等。如图1中所示,图形内容可包括图形键盘16、文本输入区14以及词建议区24A-C(统称为“词建议区24”)。图形键盘16可包括多个键,诸如“N”键20A、“O”键20B以及“W”键20C。在某些示例中,包括在图形键盘16中的所述多个键中的每一个表示单个字符。在其他示例中,包括在图形键盘16中的所述多个键中的一个或多个表示基于多个模式选择的一组字符。
在某些示例中,文本输入区14可包括包含在例如文本消息、文档、电子邮件消息、web浏览器或期望文本输入的任何其他情况中的字符或其他图形内容。例如,文本输入区14可包括由用户18经由在UI设备4处执行的手势选择的字符或其他图形内容。在某些示例中,词建议区24每个可显示词。UI模块6可促使UI设备4显示图形键盘14,并且检测具有由手势模块8根据在这里进一步描述的本公开的技术而递增地确定的手势路径22的手势。另外,UI模块6可促使UI设备4在词建议区24中显示从手势确定的候选词。
在某些示例中,计算设备2包括语言模型10。语言模型10可包括字典。在某些示例中,字典可包括词列表,并且可包括关于所列词的附加信息。可用一定范围的数据结构来表示字典,诸如阵列、列表和/或特里。例如,语言模型10可包括存储在字典特里数据结构中。字典特里数据结构可包含多个节点,每个节点可表示字母。可将字典特里中的第一节点称为入口节点,其可不对应于字母。在其他示例中,入口节点可对应于字母。每个节点可具有一个或多个子节点。例如,入口节点可具有二十六个子节点,每个对应于英语字母的字母。
字典特里中的节点的子集每个可包括指示节点是终端节点的标志。字典特里的每个终端节点可指示完整词(例如,候选词)。沿着从入口节点到终端节点的节点路径的节点所指示的字母可拼写出由终端节点指示的词。在某些示例中,语言模型10可以是安装在计算设备2上的默认字典。在其他示例中,语言模型10可包括多个字典源,其可存储在计算设备2处或者存储在一个或多个远程计算设备处且可被计算设备2经由一个或多个通信信道访问。
在某些示例中,可在计算设备2的固件中实现语言模型10。语言模型10可包括语言模型频率信息,诸如n元(n-gram)语言模型。n元语言模型可基于序列中的先前项提供用于项的相邻序列中的项xi(字母或词)的概率分布(即P(xi|xi-(n-1),...,xi-1))。例如,二元语言模型(n元模型,其中n=2)可提供字母“w”在序列“no”之后的概率。在某些示例中,语言模型10包括具有集成语言模型频率信息的字典特里。例如,字典特里的每个节点可包括字母的表示和概率值。
本公开的技术可改善用户可以向计算设备中输入文本的速度和准确度。使用本公开的技术,作为针对词的每个键执行离散手势的替代,用户可执行指示词的单个手势。随着用户执行手势,计算设备可递增地确定该手势所指示的词。通过随着正在执行手势而递增地将手势解码,以最小后手势输入处理时间向用户呈现候选词。此外,通过使得用户能够用单个手势来输入词,本公开的技术使得用户能够增加输入文本的速率。现在相对于图1的部件在这里进一步描述本公开的技术。
如图1的示例中所示,UI模块6可促使UI设备4显示GUI 12。用户18可能期望向文本输入区14中输入文本,例如词“now”。根据本公开的技术,用户18可在图形键盘16处执行手势。在一个示例中,手势可以是连续运动,其中用户18的手指移动至与UI设备4接近,使得由手指执行的手势纵贯手势的执行被UI设备4检测到。在不同的示例中,用户18可移动他/她的手指与UI设备4接近,使得手指临时地被UI设备4检测到,并且然后用户18的手指从UI设备4移开,使得手指不再被检测到。该手势可包括多个部分。在某些示例中,可将手势划分成具有基本上相等的持续时间的部分。在手势包括多个部分的情况下,该手势可包括最终部分,其可以是在检测到手势完成之前检测到的手势部分。例如,可将手势的一部分指定为最终部分,其中,用户18将他/她的手指从与UI设备4的接近移出,使得手指不再被检测到。
虽然用户18执行手势以选择所述多个键中的一组键,所以UI模块6可在存在敏感显示器处检测到具有手势路径22的手势。如图1中所示,用户18通过跟踪通过或接近于与期望词的字符(即,由“N”键20A、“O”键20B以及“W”键20C表示的字符)相对应的键盘16的键来执行手势。UI模块6可向手势模块8发送指示手势路径22的数据。在某些示例中,UI模块6随着手势路径22被UI设备4检测到且被UI模块6接收到而递增地向手势模块8发送指示手势路径22的数据。例如,UI模块6可随着手势路径22被UI设备4检测到且被UI模块6接收到而向手势模块8发送指示手势路径22的坐标对的流。
响应于从UI模块6接收到表示手势22的数据,手势模块8可确定候选词。候选词可以是向用户建议的由手势路径22所指示的一组键组成的词。可基于手势路径22和字典来确定该组键。手势模块8可通过确定手势路径22滑过的一组对准点、确定用于所述多个键中的至少两个键中的每一个的相应成本值并比较用于所述多个键中的至少两个键中的至少每一个的相应成本值来确定候选词,如下面进一步描述的。
对准点是沿着手势路径22的可以指示多个键中的一个键的点。对准点可包括对应于所确定的对准点位置的一个或多个坐标。例如,对准点可包括对应于GUI 12上的点的笛卡尔坐标。
在某些示例中,手势模块8基于与手势路径22相关联的多个特征来确定手势路径22滑过的对准点群组。与手势路径22相关联的所述多个特征可包括手势路径22的一定长度的段。例如,手势模块8可确定沿着从先前对准点和当前对准点的手势段的长度。为了更好的对准,该长度可更紧密地近似两个相应键盘字母之间的直线距离。
在另一示例中,手势模块8可确定从手势路径22的第一点到第二点的段的方向以确定对准点群组。为了更好的对准,该段的方向将更紧密地近似两个相应键盘字母之间的直线的方向。
在某些示例中,手势路径22的段的曲率、表示检测到路径22的段时的速率的局部速度以及表示检测到手势路径22时的速率的全局速度。如果手势模块8确定用于局部速度的较慢速率或停顿,则手势模块8可确定该段处的点更有可能是对准点。如果手势模块8确定手势是快速画出的,则手势模块8可确定该手势更有可能是不精确的,并且因此手势模块8可相比于空间模型增加对语言模块(即n元频率)的权值。在一个示例中,手势模块8可基于具有高曲率值的手势路径22的段来确定对准点群组中的对准点。另外,手势模块8可基于具有低局部速度的手势路径22的段(即,用户的手指在执行该段手势的同时减速)来确定对准点群组中的对准点。在图1的示例中,手势模块8可确定手势路径22的起始点处的第一对准点、其中手势路径22经历曲率的显著变化的点处的第二对准点以及手势路径22结尾处的第三对准点。在其他示例中,本公开的技术可以将手势的形状识别为特征并基于该手势的形状来确定对准点。
在某些示例中,手势模块8可确定用于包括在键盘16中的所述多个键中的至少两个键中的每一个的相应成本值。相应成本值中的每一个可表示对准点指示键的概率。在某些示例中,相应成本值可基于手势路径、对准点和/或键的物理特征。例如,相应成本值可基于参考键的物理位置而言的对准点的物理位置。
在某些示例中,相应成本值可基于语言模型10。例如,相应成本值可基于在第一键之后选择第二键的概率(例如,在“n”键之后将选择“o”键的概率)。在某些示例中,至少部分地语言模型10来选择为其确定相应成本值的键。在某些示例中,在存在对准点指示键的较大可能性的情况下,成本值较低。在其他示例中,在存在对准点指示键的较大可能性的情况下,成本值较高。
在图1的示例中,手势模块8可确定表示第一对准点指示“N”键20A的概率的第一成本值和表示第一对准点指示“B”键20D的概率的第二成本值。类似地,手势模块8可确定表示第二对准点指示"O"键20B的概率的第三成本值和表示第二对准点指示“P”键20E的概率的第三成本值。最后,手势模块8可确定表示第三对准点指示“W”键20C的概率的第五成本值和表示第三对准点指示“Q”键20F的概率的第六成本值。
手势模块8可比较用于所述多个键中的至少两个键的相应成本值以确定具有组合成本值的键组合。组合成本值可表示手势路径22指示键的组合的概率。手势模块8可比较用于所述多个键中的至少两个键的相应成本值以确定用对准点指示所述至少两个键中的哪一个。手势模块8可通过确定用每个对准点指示哪些键来确定键的组合。在某些示例中,手势模块8在不考虑其他对准点指示哪些键的情况下确定对准点指示所述至少两个键中的哪一个。换言之,手势模块8基于其他对准点指示哪些键来确定该对准点指示所述至少两个键中的哪一个。在这样的示例中,手势模块8可基于用于当前对准点的相应成本值来修订先前的对准点指示哪个键的确定。
在某些示例中,手势模块8可将所确定的键组合的组合成本值与阈值相比较。在某些示例中,该阈值是不同的所确定的键组合的组合成本值。例如,手势模块8可确定具有第一组合成本值的第一键组合和具有第二组合成本值的第二键组合。在这种情况下,手势模块8可确定候选词基于具有较低组合成本值的键组合。在图1的示例中,手势模块8可比较所确定的相应成本值(即,第一、第二、第三、第四、第五和第六)以确定具有组合成本值的键(即,“N”、“O”和“W”)的组合。
在某些示例中,手势模块8在UI设备4完成检测手势路径22的时间之前开始确定候选词。在图1的示例中,不同于在UI设备4完成检测手势路径22之后确定候选词,手势模块8可随着检测到手势路径22而确定多个词,诸如“no”、“not”和“now”。另外,在图1的示例中,手势模块8可随着检测到手势路径22同时地修订所确定的多个词,诸如将“no”修订成“bow”。此外,不同于基于手势的几何形状来确定候选词,本公开的技术可基于手势所指示的一组字符来确定候选词。手势模块8可以将所确定的词发送到UI模块6,其然后可促使UI设备4在GUI 12的文本显示区14中显示词“now”。
在某些替选实施例中,用户可以在做手势时在一键处暂停指定的持续时间以指示该键应被包括在手势路径中。在另一替选实施例中,不同于使用如使用本公开的技术描述的基于字典特里的搜索,手势模块8可保持特定于单独的手势的词列表或字典。
在某些示例中,本公开的技术在计算设备上提供高效的性能,例如在某些情况下,在少于100毫秒内识别手势。本公开的技术还可使用安装在移动设备上的默认字典,而不是使用可单独地维护并使用附加存储资源的专用手势字典。这样,本公开的技术可通过使用已由默认输入条目系统存储的字典来降低存储要求。此外,可将字典高效地实现为紧凑式字典特里。根据本公开的技术,使用在计算设备上已提供的默认字典还提供就绪支持外语、联系人姓名以及用户添加词。通过使用例如字典特里和默认字典,本公开的技术可将语言模型频率(即n元概率)集成到手势解释中,从而允许搜索技术基于手势的形状和正在考虑的词的概率两者而集中于用于候选词的最有希望的路径。
图2是图示出根据本公开的一个或多个技术的如图1中所示的计算设备的一个示例的更多细节的框图。图2图示出如图1中所示的计算设备2的仅一个特定示例,并且在其他情况下可使用计算设备2的许多其他示例。
如图2的特定示例中所示,计算设备2包括一个或多个处理器40、一个或多个输入设备42、一个或多个通信单元44、一个或多个输出设备46、一个或多个存储设备48和用户接口(UI)设备4。在一个示例中,计算设备2进一步包括UI模块6、手势模块8以及可由计算设备2执行的操作系统58。在一个示例中,计算设备2进一步包括语言模型10、键区52、活动射束54(active beam)以及下一射束(next beam)56。可将部件4、40、42、44、46和48中的每一个互连(在物理上、在通信上和/或在操作上)以用于部件间通信。在某些示例中,通信信道50可包括系统总线、网络连接、进程间通信数据结构或用于传送数据的任何其他方法。作为图2中的一个示例,可通过一个或多个通信信道50将部件4、40、42、44、46和48耦合。UI模块6和手势模块8还可相互之间以及与计算设备2中的其他部件传送信息,所述其他部件诸如语言模型10、键区52、活动射束54以及下一射束56。
在一个示例中,处理器40被配置成实现用于在计算设备2内执行的功能和/或过程指令。例如,处理器40可以能够处理存储在存储设备48中的指令。处理器40的示例可包括微处理器、控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或等效离散或集成逻辑电路中的任何一个或多个。
可将一个或多个存储设备48配置成在操作期间存储计算设备2内的信息。在某些示例中,存储设备48被描述为计算机可读存储介质。在某些示例中,存储设备48是临时存储器,意味着存储设备48的主要目的不是长期存储。在某些示例中,将存储设备48描述为易失性存储器,意味着存储设备48在计算机被关掉时不保持存储的内容。易失性存储器的示例包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)以及本领域中已知的其他形式的易失性存储器。在某些示例中,使用存储设备48来存储程序指令以便由处理器40执行。在一个示例中,存储设备48被在计算设备2上运行的软件或应用(例如,手势模块8)用来在程序执行期间临时地存储信息。
在某些示例中,存储设备48还包括一个或多个计算机可读存储介质。可将存储设备48配置成比易失性存储器存储更大的信息量。可进一步针对信息的长期存储来配置存储设备48。在某些示例中,存储设备48包括非易失性存储元件。这样的非易失性存储元件的示例包括磁性硬盘、光盘、软盘、闪速存储器或电可编程存储器(EPROM)或电可擦可编程只读存储器(EEPROM)存储器的形式。
在某些示例中,计算设备2包括一个或多个通信单元44。在一个示例中,计算设备2利用通信单元44经由诸如一个或多个无线网络之类的一个或多个网络来与外部设备通信。通信单元44可以是例如以太网卡的网络接口卡、光学收发机、射频收发机或可以发送和接收信息的任何其他类型的设备。这样的网络接口的其他示例可包括蓝牙、3G和WiFi无线电计算设备以及通用串行总线(USB)。在某些示例中,计算设备2利用通信单元44来与诸如服务器之类的外部设备无线地通信。
在一个示例中,计算设备2包括一个或多个输入设备42。在某些示例中,输入设备42被配置成通过触觉、音频或视频反馈从用户接收输入。输入设备42的示例包括存在敏感显示器、鼠标、键盘、语音响应系统、视频相机、麦克风或用于检测来自用户的命令的任何其他类型的设备。在某些示例中,存在敏感显示器包括触摸敏感屏幕。
还可在计算设备2中包括一个或多个输出设备46。在某些示例中,输出设备46被配置成使用触觉、音频或视频刺激向用户提供输出。在一个示例中,输出设备46包括存在敏感显示器、声卡、视频图形适配卡或用于将信号转换成人类或机器可理解的适当形式的任何其他类型的设备。输出设备46的附加示例包括扬声器、阴极射线管(CRT)监视器、液晶显示器(LCD)或可以向用户生成可理解输出的任何其他类型的设备。在某些示例中,UI设备4可包括输入设备42和/或输出设备46的功能。在图2的示例中,UI设备4可以是触摸敏感屏幕。
在某些示例中,UI设备4可包括输入设备42和/或输出设备46的功能。在图2的示例中,UI设备4可以是存在敏感显示器。在某些示例中,存在敏感显示器可检测存在敏感显示器的屏幕处和/或附近的对象。作为一个示例性范围,存在敏感显示器可检测在存在敏感显示器的物理屏幕的2英寸或以下内的诸如手指或触笔之类的对象。存在敏感显示器可确定检测到对象的存在敏感显示器的位置(例如,(x,y)坐标)。在另一示例性范围内,存在敏感显示器可检测距离存在敏感显示器的物理屏幕6英寸或以下的对象,并且还可以有其他示例性范围。存在敏感显示器可确定由用户的手指使用电容、电感和/或光学识别技术选择的显示器的位置。在某些示例中,存在敏感显示器使用触觉、音频或视频刺激向用户提供输出,如相对于输出设备46所述。
计算设备2可包括操作系统58。在某些示例中,操作系统58控制计算设备2的部件的操作。例如,在一个示例中,操作系统58促进UI模块6和/或手势模块8与处理器40、通信单元44、存储设备48、输入设备42以及输出设备46的通信。UI模块6和手势模块8每个可包括可由计算设备2执行的程序指令和/或数据。作为一个示例,UI模块6可包括促使计算设备2执行在本文公开中所述的操作和动作中的一个或多个的指令。
计算设备2可包括活动射束54。在某些示例中,活动射束54被配置成存储由手势模块8创建的一个或多个令牌。可将活动射束54包括在存储设备48内。在下面图3的描述中进一步描述活动射束54的特定功能。
计算设备2还可包括下一射束56。在某些示例中,下一射束56被配置成存储由手势模块8创建的一个或多个令牌。可将下一射束56包括在存储设备48内。在下面图3的描述中进一步描述下一射束56的特定功能。
计算设备2可包括为了明了起见在图2中未示出的附加部件。例如,计算设备2可以包括电池以向计算设备2的部件提供电力。类似地,图2中所示的计算设备2的部件可以在计算设备2的每个示例中不都是必需的。例如,在某些配置中,计算设备2可不包括通信单元44。
根据本公开的技术,计算设备2可在输出设备44处输出包括多个键的图形键盘。用户18可在输入设备42处执行手势以选择所述多个键中的一组键。响应于用户18执行手势,输入设备42可检测手势路径,诸如图1的手势路径22,其可被UI模块6作为手势路径数据接收。UI模块6然后可将手势路径数据发送到手势模块8。在某些示例中,UI模块6随着手势路径22被输入设备42检测到而递增地向手势模块8发送手势路径数据。
响应于接收到手势路径数据,手势模块8可在可包括在语言模型10中的字典的入口节点处创建令牌。在某些示例中,可将语言模块10实现为字典特里数据结构。每个可移动令牌可表示字典中的节点(即,部分词)与沿着手势的点之间的部分对准。随着令牌前进至字典中的子节点(即,词中的接下来的字母),手势上的相应对准点也可前进。随着令牌前进至词中的下一字母,本公开的技术可确定令牌需要沿着手势路径前进多远。例如,本公开的技术可包括搜索与键的字母最佳地对准的沿着手势的对准点,考虑下面描述的许多特征。在这里进一步描述该技术。
如图1中所述,字典特里数据结构可包含多个节点,每个节点可表示字母。手势模块8可将令牌推入活动射束54中。手势模块8可在令牌的子节点中的每一个上创建令牌副本。在图1的示例中,手势模块8可创建子节点上的表示字母“N”的第一令牌副本和子节点上的表示字母“B”的第二令牌副本。
针对每个令牌副本,手势模块8可基于与手势路径数据相关联的多个特征来确定手势滑过的对准点。在图1的示例中,手势模块8可确定第一对准点位于手势路径22的起始点处。在某些示例中,手势模块8可确定沿着手势路径的点处的路径曲率。在这样的示例中,手势模块8可确定该点更有可能是在该处存在高曲率(其中手势路径在该点处突然改变方向)的对准点。在其他示例中,手势模块8可确定中间段曲率(沿着手势的两个点之间的手势路径的最大曲率)。在另一示例中,手势模块8可确定一点不太可能是其中存在高中间段曲率的下一对准点。在某些示例中,手势模块8可基于检测到手势路径的速度来确定点是对准点。在某些示例中,检测的较慢速率指示该点是对准点。在某些示例中,高中间段曲率可指示在第一点与第二点之间存在拐角,意味着第二点不太可能是下一对准点(即,在中间遗漏了点)。
在某些示例中,对准点可基于两个或更多点之间的手势段的点与从第一键到第二键的理想线之间的最大距离。理想线可以是例如从第一键到第二键的最短距离路径。为了更好的对准,该最大距离可以是小的,表明手势段未背离理想线。
针对每个对准点,手势8可确定用于所述多个键中的至少两个键中的每一个的相应成本值。相应成本值中的每一个可表示对准点指示所述多个键中的一个键的概率。在图1的示例中,手势模块8可确定表示第一对准点指示表示字母“N”的节点的概率的第一成本值和表示第一对准点指示表示字母“B”的概率的第二成本值。在某些示例中,手势模块8然后可用相应对准点和/或成本值来更新令牌副本并将令牌副本推入下一射束56中。在图1的示例中,手势模块8可将第一成本值添加到第一令牌副本并将第二成本值添加到第二令牌副本。
在某些示例中,手势模块8通过将相应物理成本值与相应字典成本值相比较来确定相应成本值,如下面进一步描述的。在某些示例中,手势模块8可相应物理成本值与相应字典成本值不同地加权。例如,手势模块8可通过对将物理成本值乘以物理加权值以及将字典成本值乘以字典加权值的结果加和来确定成本值。
在某些示例中,手势模块8可确定应大于字典成本值对字典成本值进行加权。手势模块8可在存在物理成本值可能不可靠的指示的情况下、诸如在以速度的高速率检测到手势路径的情况下确定应比物理成本值更大地对字典成本值进行加权。例如,手势模块8可确定与特征(例如,速度)相关联的值满足一个或多个阈值。例如,手势模块8可确定手势的速度大于或等于阈值。在其他示例中,手势模块8可确定手势的速度小于或等于阈值。在任何情况下,如果所确定的值满足阈值,则手势模块8可确定物理成本值是不可靠的。
在某些示例中,手势模块8可基于手势的所确定的原始距离来确定比物理成本值更大地对字典成本值进行加权。在一个示例中,手势的原始距离可以是由输入单元在存在敏感显示器处执行的手势的所确定的物理距离。例如,当短手势在空间上类似(例如“I’m”对比“in”、“I’d”对比“is”等)时,手势模块8可对物理成本值比对字典成本值更高地加权。在其他示例中,手势模块8可对字典成本值比对物理成本值更高地加权。作为一个示例,手势模块8可最初基于UI设备4处的输入单元(例如,手指、触笔等)的运动来确定手势的长度。响应于确定手势长度,手势模块8可对字典成本值应用第一权值并对物理成本值应用第二权值以使空间和语言模型的相对权值归一化。在某些示例中,第一权值可大于第二权值。例如,当长手势在空间上不同且长时,例如大于阈值距离(例如从键“A”至键“P”至“L”至“E”滑过键盘的手势),手势模块8可对字典成本值应用第一权值,其大于应用于空间成本值的第二权值。在某些示例中,手势模块8可对字典成本值应用第一权值,但是可不对空间成本值应用第二权值,并且反之亦然。这样,手势模块8可仅对字典或空间成本值中的一个应用权值以增加和/或减小被应用权值的成本值。在其他示例中,第二权值可大于第一权值,例如当短手势是短的且在空间上类似时,例如小于阈值距离时。在某些示例中,权值的值可与手势长度成比例。
在某些示例中,手势模块8可使用统计机学习来适应用户的风格并随时间推移而修改加权值。例如,手势模块8可响应于确定用户在执行手势的同时不准确而大于物理成本值对字典成本值加权。在某些示例中,手势模块8可确定应大于字典成本值对物理成本值进行加权。在存在字典成本值可能不可靠的情况下,诸如在用户具有输入未包括在字典中的词的历史的情况下,手势模块8可确定应大于字典成本值对物理成本值进行加权。在某些示例中,可启发式地估计和优化加权值,诸如通过从多个计算设备测量准确度。
手势模块8可确定用于所述多个键中的至少两个键中的每一个的相应物理成本值。相应物理成本值中的每一个可表示对准点群组中的对准点的物理特征指示所述多个键中的一个键的物理特征的概率。例如,手势模块8可通过评估对准点群组中的一个对准点与键的键盘位置之间的欧几里德距离来确定相应物理成本值。可在键区52中包括所述多个键的物理特征。例如,键区52可针对所述多个键中的每一个包括一组坐标,其对应于显示每个键的图形键盘16的位置和/或区域。在图1的示例中,手势模块8可基于第一对准点与“N”键20A之间的欧几里德距离来确定第一物理成本值。在某些示例中,手势模块8可通过将第一对准点和第二对准点之间的欧几里德距离与第一对准点所指示的第一字母与第二对准点可表示的第二字母之间的欧几里德距离相比较来确定物理成本值。手势模块8可确定第二字母的成本值与距离之间的差成反比(即,在距离更加类似的情况下第二字母更有可能)。例如,较小距离可暗示更好的对准。
手势模块8还可通过确定用于所述多个键中的至少两个键中的每一个的相应字典成本值来确定相应成本值。相应字典成本值中的每一个可表示所述多个键中的一个键所表示的字母被包括在候选词中的概率。字典成本值可基于语言模块10。例如,字典成本值可基于包括在语言模型10中的可能词来表示选择给定字母的可能性。在图1的示例中,手势模块8可基于语言模型10中的指示字母“N”是词中的第一字母的频率的条目来确定第一字典成本值。
手势模块8可确定该令牌是否在字典的终端节点处。响应于确定令牌在终止节点处,手势模块8可将该令牌(或其表示)添加到输出预测列表。在某些情况下,手势模块8可将用于来自入口节点的每个节点的相应成本值与终止节点相比较,以确定用于终止节点所指示的词的组合成本值。在其他情况下,可由令牌的成本值来反映用于终止节点所反映的词的组合成本值。在任一种情况下,手势模块8然后可丢弃令牌(即,从活动射束54去除令牌)。例如,在一个示例中,在令牌传递过程中,手势模块8可仅保持一组前n个令牌,并且丢弃其余的。前n个令牌可以是具有最可能词或字符串的令牌。这样,手势模块9可有效地缩放到大的字典。替选实施例可使用任何适当的搜素技术。
手势模块8然后可确定UI模块6是否已完成接收手势路径数据。在UI模块6已完成接收手势路径数据的情况下,手势模块8可输出一个或多个候选词以便在存在敏感显示器处显示。在UI模块6尚未完成接收手势路径数据的情况下,手势模块8可继续递增地处理手势路径数据。在某些示例中,手势模块8可在UI模块6完成手势路径数据的接收之前输出一个或多个输出预测。下面在图3的描述中进一步描述该技术。
图3A-C是图示出根据本公开的一个或多个技术的如图1中所示的计算设备的一个示例的更多细节的框图。如在图3A的概念示例中所示,在时间60,计算设备2可包括GUI 12、活动射束54A以及下一射束56。GUI 12可包括图形键盘16,其可包括“N”键20A、“B”键20D、手势路径22A和对准点26A。虽然在图3A中示出,但手势路径22A和/或对准点26A在这里所述的技术的执行期间可能是不可见的。
如在图1的示例中所示,用户可能期望通过在图形键盘16处执行手势来向计算设备2中输入文本。如先前所讨论的,在用户执行手势的同时,计算设备2可检测具有手势路径的手势。在图3A的示例中,将计算设备2示为已检测到手势路径22A。
响应于检测到手势路径22A,计算设备2可确定沿着手势路径22A的对准点26A。另外,响应于检测到手势路径22A,计算设备2可创建令牌并将该令牌推入活动射束54A中。在时间60,可用下表1来表示活动射束54A上的内容。
表1
索引 父索引 当前节点的字母键 字母链 成本值
0 - - - 0
在表1中,每行表示个体令牌,索引列表示用于每个令牌的唯一标识符,父索引列表示所列的令牌为其子的令牌的索引值,当前节点列的字母键表示由令牌的当前节点所表示的字母键,字母链列表示从入口节点到令牌的当前节点的节点所表示的所有字母键,并且成本值列表示令牌的成本值。如表1中所示,创建的令牌具有0的索引(即,令牌0)、无父索引、无当前节点的字母键、无字母链以及零的成本值。
为了确定手势所指示的文本,计算设备2可在其子节点上创建每个令牌的副本。在某些示例中,入口节点可具有26个子节点(英语字母中的每个字母一个)。为了简单起见,在图3A的示例中,入口节点在字母“B”和“N”上具有仅两个子节点。因此,计算设备2可在子节点“N”(即,令牌1)和子节点“B”(即,令牌2)上创建具有索引0的令牌副本。针对每个创建的令牌副本,计算设备2可如上所述确定成本值。计算设备2可将每个令牌副本推入下一射束56A中,可用下表2来表示其内容。
表2
索引 父索引 当前节点的字母键 字母链 成本值
1 0 N N CV1
2 0 B B CV2
表2中所示的条目在格式方面与表1中所示的条目相同。在表2中,令牌1具有成本值CV1且令牌2具有成本值CV2。在创建令牌副本之后,计算设备2可确定令牌0不是终止节点,并丢弃令牌0。计算设备2可随后确定活动射束54A是否是空的(即,不包含令牌)。响应于确定活动射束54A是空的,计算设备2可将下一射束56A的内容复制到图3B的活动射束54B,并且丢弃下一射束56A的内容。
在图3B的示例中,将计算设备2示为在时间62处已检测到手势路径22B。如上所述,可用表2来表示活动射束54B的内容。计算设备2可确定沿着手势路径22B的对准点26B。计算设备2可针对活动射束54B的每个令牌在每个子节点上创建副本。在图3B的示例中,令牌1和令牌2每个具有子节点,其具有字母键“O”和“P”。针对每个创建的令牌副本,计算设备2可如上所述确定成本值。计算设备3可将每个令牌副本推入下一射束56B中,可用下表3来表示其内容。
表3
索引 父索引 当前节点的字母键 字母链 成本值
3 1 O NO CV1+CV3
4 1 P NP CV1+CV4
5 2 O BO CV2+CV5
6 2 P BP CV2+CV6
表3中所示的条目在格式方面与表1和表2中所示的条目相同。在表3中,用于每个令牌的成本值包括用于先前字母的成本值和用于当前字母的成本值。计算设备2可确定令牌中的哪些(如果有的话)在终止节点上。例如,计算设备2可确定令牌3在终止节点上,因为其字母链“NO”是词。响应于确定令牌在终止节点上,计算设备2可将令牌拷贝到输出预测列表。可用下表4来表示输出预测的列表。在某些示例中,计算设备2可仅将令牌的字母链复制到输出预测列表。
表4
索引 父索引 当前节点的字母键 字母链 成本值
3 1 O NO CV1+CV3
计算设备2可随后确定活动射束54A是否是空的。响应于确定活动射束54B是空的,计算设备2可将下一射束56B的内容复制到图3C的活动射束54C,并且丢弃下一射束56B的内容。
在图3C的示例中,计算设备2被示为在时间64处已检测到手势路径22C。如上所述,可用表3来表示活动射束54C的内容。计算设备2可确定沿着手势路径22C的对准点26C。计算设备2可针对每个活动射束54C在每个子节点上创建副本。在图3C的示例中,令牌3至令牌6每个具有子节点,其具有字母键“O”和“P”。针对每个创建的令牌副本,计算设备2可如上所述确定成本值。计算设备2可将每个令牌副本推入下一射束56C中,可用下表5来表示其内容。
索引 父索引 当前节点的字母键 字母链 成本值
7 3 W NOW CV1+CV3+CV7
8 3 Q NOQ CV1+CV3+CV8
9 4 W NPW CV1+CV4+CV9
10 4 Q NPQ CV1+CV4+CV10
11 5 W BOW CV2+CV5+CV11
12 5 Q BOQ CV2+CV5+CV12
13 6 W BPW CV2+CV6+CV13
14 6 Q BPQ CV2+CV6+CV14
表5
表5中所示的条目在格式方面与表1-3中所示的条目相同。在表5中,用于每个令牌的成本值包括用于先前字母的成本值和用于当前字母的成本值。计算设备2可确定令牌中的哪些(如果有的话)在终止节点上。例如,计算设备2可确定令牌7和令牌11在终止节点上,因为其相应字母链“NOW”和“BOW”是词。响应于确定令牌在终止节点上,计算设备2可将令牌7和令牌11复制到输出预测列表。可用下表6来表示输出预测的列表。
表6
索引 父索引 当前节点的字母键 字母链 成本值
3 1 O NO CV1+CV3
7 3 W NOW CV1+CV3+CV7
11 5 W BOW CV2+CV5+CV11
计算设备2可随后确定活动射束54C是否是空的。响应于确定活动射束54B是空的,计算设备2可确定用户是否已完成执行手势。响应于确定用户已完成执行手势,计算设备2可输出输出预测列表。在某些示例中,计算设备2可确定具有最高成本值的输出预测列表的子集(即,具有最佳概率的预测)。另外,在某些示例中,计算设备2可在每个后续对准点处修订包含在输出预测列表中的令牌的成本值。例如,输出设备2可响应于检测到手势路径22C而增加令牌3的成本值(例如,使得令牌3不那么可能)。
图4A-B是图示出根据本公开的一个或多个技术的用以从手势确定候选词的计算设备的示例性操作的流程图。仅仅出于说明的目的,下面在如图1和2中所示的计算设备2的背景内描述示例性操作。
在图4A-B的示例中,计算设备2可最初在计算设备2的存在敏感显示器(例如UI设备4)处输出包括多个键的图形键盘(70)。计算设备2可随后检测在存在敏感显示器处的手势(72)。响应于检测到手势,计算设备2可在存储于计算设备2上的字典的入口节点处创建具有零的成本值的令牌作为字典特里(74)。计算设备2可将令牌推入活动射束(76)中。计算设备2可随后从活动射束中选择令牌(78)。计算设备2可在令牌的每个子节点上创建令牌的副本(80)。计算设备2可选择令牌副本(82)并确定沿着手势的对准点(84)。计算设备2可确定成本值,其表示对准点指示令牌副本所位于的节点的字母键的概率,并将该成本值添加到令牌副本(86)。计算设备2可将令牌副本推入下一射束(88)中。计算设备2可确定是否存在剩余的任何令牌副本(90)。如果存在剩余的令牌副本(94),则计算设备2可选择新的令牌副本(82)。
如果不存在剩余的令牌副本(92),则计算设备2可确定令牌是否在字典特里的终止节点处(96)。如果令牌在终止节点处(98),则计算设备2可将令牌所表示的词复制到候选词列表(102)。在将词复制到候选词列表之后,或者如果令牌不在终止节点(100),则计算设备2可丢弃令牌(104)。
计算设备2可随后确定任何令牌是否仍在活动射束中(106)。如果在活动射束中存在剩余的令牌(110),则计算设备2可从活动射束中选择新的令牌(76)。如果在活动射束中不存在剩余的令牌(108),则计算设备2可确定在下一射束中是否仍有任何令牌(112)。如果在下一射束中存在剩余令牌(114),则计算设备2可将下一射束复制到活动射束(120),并从活动射束中选择新的令牌(78)。如果在下一射束中不存在剩余的令牌(116),则计算设备2可在存在敏感显示器处输出候选词列表(118)。
在一个示例中,可使用以下示例性伪代码来实现本公开的技术:
初始化:
在字典的入口节点处创建具有成本=0且索引=0的令牌t。
在上述示例性伪代码中,active_beam可以是活动射束54,next_beam可以是下一射束56,并且字典可包括在语言模型10中。
图5是图示出根据本公开的一个或多个技术的用以处手势确定候选词的计算设备的示例性操作的流程图。仅仅出于说明的目的,下面在如图1和2中所示的计算设备2的背景内描述示例性操作。
在图5的示例中,计算设备2最初可输出包括多个键的图形键盘以便在被操作耦合到计算设备2的存在敏感显示器处显示(140)。计算设备2可随后在存在敏感显示器处检测手势,以选择所述多个键中的一组键(142)。响应于检测到该手势,计算设备2可至少部分地基于该组键来确定候选词(144)。
为了至少部分地基于该组键来确定候选词,计算设备2可:基于与手势相关联的多个特征来确定手势滑过的一组对准点(146);针对所述多个键中的至少两个键中的每一个确定相应成本值(148);以及比较用于所述多个键中的至少两个键中的至少每一个的相应成本值,以确定具有组合成本值的键的组合(150)。计算设备2可随后在存在敏感显示器处输出候选词(152)。
在一个示例中,该操作包括基于对准点组的第一对准点来确定用于所述多个键中的第一键的第一成本值,并基于对准点组的第二对准点来确定用于所述多个键中的第二键的第二成本值。
在一个示例中,该操作包括确定用于所述多个键中的所述至少两个键中的每一个的相应物理成本值,其中,所述相应物理成本值中的每一个表示对准点组的对准点的物理特征指示所述多个键中的键的物理特征的概率;确定用于所述多个键中的至少两个键中的每一个的相应字典成本值,其中,相应字典成本值中的每一个表示在候选词中包括所述多个键中的一个键的概率;以及将相应物理成本值与以字典成本值相比较以确定用于所述多个键中的至少两个键中的每一个的相应成本值。在一个示例中,确定用于所述至少两个键中的每一个的相应物理成本值可包括将所述多个键中的所述至少两个键中的每一个的键区和与手势相关联的所述多个特征中的至少一个相比较。在一个示例中,所述键区包括输出相应键的存在敏感显示器的位置。在一个示例中,确定用于所述至少两个键中的每一个的相应字典成本值可包括将所述多个键中的所述至少两个键中的每一个与语言模型相比较。在一个示例中,语言模型包括n元语言模型。在一个示例中,计算设备2包括固件,并且在固件中实现语言模型。在一个示例中,将相应物理成本值与相应字典成本值相比较以确定用于所述多个键中的所述至少两个键中的每一个的相应成本值可包括与相应字典成本值不同地对相应物理成本值进行加权。在一个示例中,响应于确定物理成本值满足一个或多个阈值,用第一加权值对字典成本值加权,并用第二加权值对物理成本值加权,其中,第一加权值大于第二加权值。
在一个示例中,与手势相关联的所述多个特征可包括所述手势的一段的长度、手势的该段的方向、手势的该段的曲率、表示检测到手势的该段的速率的局部速度、表示检测到该手势的速率的全局速度中的至少一个。在这样的示例中,手势的该段可包括该手势在存在敏感显示器处滑过的路径。在一个示例中,可与用于选择所述多个键中的该组键的手势的检测同时地确定来自该组键的候选词。
在一个示例中,该操作包括响应于检测到手势的一部分而将令牌从字典的第一节点复制到字典的第二节点,其中,第二节点是第一节点的子节点;基于与该手势的该部分相关联的多个特征,确定该手势的该部分滑过的对准点;确定第二节点是否是终止节点,其中,每个终止节点表示候选词;响应于确定第二节点是终止节点,将第二节点所表示的候选词复制到输出预测列表;确定该手势的该部分是否是手势的最终部分;以及响应于确定该手势的该部分是手势的最终部分,输出输出预测列表的至少一部分以便在存在敏感显示器处显示。在一个示例中,确定该手势部分滑过的对准点可包括确定用于对准点的成本值,其中,所述成本值表示对准点指示第二节点的概率。在一个示例中,确定用于对准点的成本值包括确定用于对准点的物理成本值;确定用于对准点的字典成本值;以及比较物理成本值和字典成本值以确定用于对准点的成本值。在一个示例中,确定用于对准点的字典成本值可包括将对准点与语言模型相比较。在一个示例中,字典可包括语言模型。在一个示例中,该操作包括确定用于候选词的组合成本值;以及从输出预测列表去除具有不满足阈值的组合成本值的候选词。在一个示例中,可将字典作为字典特里数据结构存储在计算设备上。在一个示例中,字典的每个节点对应于所述多个键中的至少一个键。在一个示例中,输出基于键组合的候选词可包括响应于由计算设备确定键组合的组合成本值满足阈值而输出候选词以便在存在敏感显示器处显示。
示例1:一种方法,包括:由计算设备输出包括多个键的图形键盘以在被操作耦合到所述计算设备的存在敏感显示器处显示;接收在所述存在敏感显示器处输入的手势的指示,所述手势用以选择所述多个键中的一组键;由所述计算设备响应于接收到所述手势的所述指示而至少部分地基于所述一组键来确定候选词,其中所述确定包括:由所述计算设备来确定所述手势滑过的一组对准点;由所述计算设备来确定用于所述多个键中的至少两个键中的每一个的相应成本值,其中,所述相应成本值中的每一个表示所述一组对准点中的一个对准点指示所述多个键中的一个键的概率;由所述计算设备来比较用于所述多个键中的至少两个键中的至少每一个的所述相应成本值,以确定具有组合成本值的键的组合;以及至少部分地基于所述相应成本值来输出所述候选词以在所述存在敏感显示器处显示。
示例2:根据示例1所述的方法,其中,确定用于所述多个键中的所述至少两个键中的每一个的所述相应成本值包括:由所述计算设备基于所述一组对准点中的第一对准点来确定用于所述多个键中的第一键的第一成本值,并基于所述一组对准点中的第二对准点来确定用于所述多个键中的第二键的第二成本值。
示例3:根据示例1-2中的任一项所述的方法,其中,确定用于所述多个键中的所述至少两个键中的每一个的所述相应成本值包括:确定用于所述多个键中的所述至少两个键中的每一个的相应物理成本值,其中,所述相应物理成本值中的每一个表示所述一组对准点中的一个对准点的至少一个物理特征指示所述多个键中的一个键的至少一个物理特征;确定用于所述多个键中的所述至少两个键中的每一个的相应字典成本值,其中,相应字典成本值中的每一个表示在候选词中包括所述多个键中的一个键表示的字母的概率;以及将所述相应物理成本值与所述相应字典成本值相比较以确定用于所述多个键中的所述至少两个键中的每一个的所述相应成本值。
示例性4:根据示例性1-3中的任一项所述的方法,其中,确定用于所述至少两个键中的每一个的所述相应物理成本值包括将所述多个键中的所述至少两个键中的每一个的键区和与所述手势相关联的所述多个特征中的至少一个相比较,其中,所述键区包括输出相应键的所述存在敏感显示器的位置。
示例5:根据示例1-4中的任一项的方法,其中,确定用于所述至少两个键中的每一个的所述相应字典成本值包括将所述多个键中的所述至少两个键中的每一个与语言模型相比较。
示例6:根据示例1-5中的任一项所述的方法,其中,所述语言模型包括n元语言模型。
示例7:根据示例1-6中的任一项所述的方法,其中,将所述相应物理成本值与所述相应字典成本值相比较以确定用于所述多个键中的所述至少两个键中的每一个的相应成本值进一步包括:由所述计算设备与所述相应字典成本值不同地对所述相应物理成本值加权。
示例8:根据示例1-7中的任一项所述的方法,进一步包括:响应于确定所述物理成本值满足一个或多个阈值,用第一加权值对所述字典成本值加权,并用第二加权值对所述物理成本值加权,其中所述第一加权值大于所述第二加权值。
示例9:根据示例1-8中的任一项所述的方法,进一步包括:由所述计算设备至少部分地基于与所述手势相关联的多个特征来确定所述手势滑过的所述一组对准点。
示例10:根据示例1-9中的任一项所述的方法,其中,与所述手势相关联的所述多个特征包括以下中的至少一个:所述手势的一段的长度,其中,所述一段包括所述手势在所述存在敏感显示器处滑过的路径;所述手势的所述一段的方向;所述手势的所述一段的曲率;表示检测到所述手势的所述一段的速率的局部速度;以及表示检测到所述手势的速率的全局速度。
示例11:根据示例1-10中的任一项所述的方法,其中,与用以选择所述多个键中的所述一组键的所述手势的检测同时地确定来自所述一组键的候选词。
示例12:根据示例1-11中的任一项所述的方法,进一步包括:响应于检测到手势的一部分而将令牌从字典的第一节点复制到所述字典的第二节点,其中,所述第二节点是所述第一节点的子节点;基于与所述手势的所述一部分相关联的多个特征,确定所述手势的所述一部分滑过的对准点;确定所述第二节点是否是终止节点,其中,每个终止节点表示候选词;响应于确定所述第二节点是终止节点,将所述第二节点所表示的候选词复制到输出预测列表;确定所述手势的所述一部分是否是所述手势的最终部分,其中,所述手势的最终部分包括在检测到所述手势完成之前检测到的所述手势的所述一部分;以及响应于确定所述手势的所述一部分是所述手势的最终部分而输出所述输出预测列表的至少一部分以便在所述存在敏感显示器处显示。
示例13:根据示例1-12中的任一项所述的方法,其中,确定所述手势的所述一部分滑过的所述对准点进一步包括:确定用于所述对准点的成本值,其中,所述成本值表示所述对准点指示所述第二节点的概率。
示例14:根据示例1-13中的任一项所述的方法,其中,确定用于所述对准点的成本值包括:确定用于对准点的物理成本值;确定用于所述对准点的字典成本值;以及比较所述物理成本值和所述字典成本值以确定用于所述对准点的成本值。
示例15:根据示例1-14中的任一项所述的方法,其中,确定用于所述对准点的所述字典成本值包括将所述对准点与语言模型相比较。
示例16:根据示例1-15中的任一项所述的方法,其中,所述字典包括语言模型。
示例17:根据示例1-12中的任一项所述的方法,进一步包括:确定用于所述候选词的组合成本值,其中,所述组合成本值包括所述手势指示所述候选词的概率;以及从所述输出预测列表去除具有不满足阈值的组合成本值的候选词。
示例18:根据示例1-12中的任一项所述的方法,其中,所述字典被所述计算设备实现为字典特里数据结构。
示例19:根据示例1-12中的任一项所述的方法,其中,所述字典的每个节点对应于所述多个键中的至少一个键。
示例20:根据示例1-19中的任一项所述的方法,其中,输出基于键组合的候选词包括响应于由所述计算设备确定所述键组合的所述组合成本值满足阈值而输出所述候选词以在所述存在敏感显示器处显示。
示例21:根据示例1-20中的任一项所述的方法,进一步包括:由所述计算设备确定在所述存在敏感显示器处执行的所述手势的物理距离;由所述计算设备至少部分地基于所述手势的物理距离来确定权值;以及由所述计算设备对空间模型的字典成本值和语言模型的物理成本值中的至少一个应用所述权值。
示例22:一种计算设备,包括:至少一个处理器;存在敏感显示器,被操作地耦合到所述至少一个处理器;以及至少一个模块,能由所述至少一个处理器操作以:输出包括多个键的图形键盘以在所述存在敏感显示器处显示;在所述存在敏感显示器处接收手势的指示,所述手势用以选择所述多个键中的一组键;响应于接收到所述手势的所述指示而至少部分地基于所述一组键来确定候选词;确定所述手势滑过的一组对准点;确定用于所述多个键中的至少两个键中的每一个的相应成本值,其中,所述相应成本值中的每一个表示所述一组对准点中的一个对准点指示所述多个键中的一个键的概率;比较所述相应成本值以确定具有组合成本值的键的组合;以及至少部分地基于所述相应成本值来确定所述候选词。
示例性23:一种编码有指令的计算机可读存储介质,所述指令在被执行时促使计算设备的至少一个处理器:由所述计算设备输出包括多个键的图形键盘以在被操作耦合到所述计算设备的存在敏感显示器处显示;接收在所述存在敏感显示器处输入的手势的指示,所述手势用以选择所述多个键中的一组键;由所述计算设备响应于接收到所述手势的所述指示而至少部分地基于所述一组键来确定候选词,其中所述确定包括:由所述计算设备来确定所述手势滑过的一组对准点;由所述计算设备来确定用于所述多个键中的至少两个键中的每一个的相应成本值,其中,所述相应成本值中的每一个表示所述一组对准点中的一个对准点指示所述多个键中的一个键的概率;由所述计算设备来比较用于所述多个键中的至少两个键中的至少每一个的所述相应成本值,以确定具有组合成本值的键的组合;以及至少部分地基于所述相应成本值来输出所述候选词以在所述存在敏感显示器处显示。
可至少部分地用硬件、软件、固件或其任何组合来实现在本公开中所述的技术。例如,可在一个或多个处理器内实现所述技术的各种方面,包括一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或任何其他等效集成或离散逻辑电路以及这样的部件的任何组合。术语“处理器”或“处理器电路”一般地可指的是任何的前述逻辑电路、单独地或与其他逻辑电路相组合,或者任何其他等效电路。包括硬件的控制单元也可执行本公开的技术中的一个或多个。
可在同一设备内或在分立设备内实现这样的硬件、软件以及固件以支持在本公开中所述的各种技术。另外,可将任何的所述单元、模块或部件一起或单独地实现为分立但可互操作的逻辑设备。将不同特征描述为模块或单元意图强调不同的功能方面而不一定暗示必须用单独的硬件、固件或软件部件来实现这样的模块或单元。相反地,可用单独硬件、固件或软件部件来执行与一个或多个模块或单元相关联的功能,或者将其集成在公共或单独硬件、固件或软件部件内。
还可在包括编码有指令的计算机可读存储介质的制品中体现或编码在本公开中描述的技术。在包括已编码的计算机可读存储介质的制品中嵌入或编码的指令可促使一个或多个可编程处理器或其他处理器实现本文所述的技术中的一个或多个,诸如当由一个或多个处理器来执行包括在计算机可读存储介质中或在其中编码的指令时。计算机可读存储介质可包括随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、闪速存储器、硬盘、紧凑式磁盘ROM(CD-ROM)、软盘、卡带、磁介质、光学介质或其他计算机可读介质。在某些示例中,制品可包括一个或多个计算机可读存储介质。
在某些示例中,计算机可读存储介质可包括非瞬时介质。术语“非瞬时”可指示不在载波或传播信号中体现存储介质。在某些示例中,非瞬时存储介质可存储可以随时间推移而改变的数据(例如,在RAM或高速缓存器中)。
已描述了各种示例。这些及其他示例在所附权利要求的范围内。

Claims (15)

1.一种方法,包括:
由计算设备输出包括多个键的图形键盘以在被操作耦合到所述计算设备的存在敏感显示器处显示;
接收在所述存在敏感显示器处输入的手势的指示,所述手势用以选择所述多个键中的一组键,所述手势包括多个部分;
由所述计算设备至少部分地基于所述手势创建多个令牌,所述多个令牌具有相应组合成本值,其中,每个令牌对应于所述图形键盘的不同组的一个或多个键;
由所述计算设备响应于接收到所述手势的一部分的所述指示而为所述手势的所述一部分递增地确定候选词,其中所述确定包括:
响应于检测到所述手势的一部分而将令牌从字典的第一节点复制到所述字典的第二节点,其中所述第二节点是所述第一节点的子节点;
由所述计算设备基于与所述手势的所述一部分相关联的多个特征确定所述手势的所述一部分滑过的对准点;
由所述计算设备确定用于所述多个键中的至少两个键中的每一个的相应成本值,其中,所述相应成本值中的每一个表示所述一组对准点中的一个对准点指示所述多个键中的一个键的概率;
确定所述第二节点是否是终止节点,其中,每个终止节点表示候选词;
响应于确定所述第二节点是终止节点,将所述第二节点所表示的所述候选词复制到输出预测列表;
确定所述手势的所述一部分是否是所述手势的最终部分,其中,所述手势的所述最终部分包括在检测到所述手势完成之前检测到的所述手势的一部分;以及
响应于确定所述手势的所述一部分是所述手势的最终部分而输出所述输出预测列表的至少一部分以便在所述存在敏感显示器处显示;
由所述计算设备比较分别与所述令牌相关联的所述相应成本值;以及
至少部分地基于所述相应成本值来输出所述候选词以在所述存在敏感显示器处显示。
2.根据权利要求1所述的方法,其中,确定用于所述多个键中的所述至少两个键中的每一个的所述相应成本值包括:
确定用于所述多个键中的所述至少两个键中的每一个的相应物理成本值,其中,所述相应物理成本值中的每一个表示所述一组对准点中的一个对准点的至少一个物理特征指示所述多个键中的一个键的至少一个物理特征;
确定用于所述多个键中的所述至少两个键中的每一个的相应字典成本值,其中,所述相应字典成本值中的每一个表示在所述候选词中包括所述多个键中的一个键所表示的字母的概率;以及
将所述相应物理成本值与所述相应字典成本值相比较以确定用于所述多个键中的所述至少两个键中的每一个的所述相应成本值。
3.根据权利要求2所述的方法,其中,确定用于所述至少两个键中的每一个的所述相应物理成本值包括将所述多个键中的所述至少两个键中的每一个的键区和与所述手势相关联的所述多个特征中的至少一个相比较,其中,所述键区包括输出相应键的所述存在敏感显示器的位置。
4.根据权利要求2所述的方法,其中,确定用于所述至少两个键中的每一个的所述相应字典成本值包括将所述多个键中的所述至少两个键中的每一个与语言模型相比较。
5.根据权利要求2所述的方法,其中,将所述相应物理成本值与所述相应字典成本值相比较以确定用于所述多个键中的所述至少两个键中的每一个的所述相应成本值进一步包括:
由所述计算设备与所述相应字典成本值不同地对所述相应物理成本值加权。
6.根据权利要求2所述的方法,进一步包括:
响应于确定所述物理成本值满足一个或多个阈值,用第一加权值对所述字典成本值加权,并用第二加权值对所述物理成本值加权,其中所述第一加权值大于所述第二加权值。
7.根据权利要求1所述的方法,进一步包括:
由所述计算设备至少部分地基于与所述手势相关联的多个特征来确定所述手势滑过的所述一组对准点,
其中,与所述手势相关联的所述多个特征包括以下中的至少一个:
所述手势的一段的长度,其中,所述一段包括所述手势在所述存在敏感显示器处滑过的路径;
所述手势的所述一段的方向;
所述手势的所述一段的曲率;
表示检测到所述手势的所述一段的速率的局部速度;以及
表示检测到所述手势的速率的全局速度。
8.根据权利要求1所述的方法,其中,与用以选择所述多个键中的所述一组键的所述手势的检测同时地确定来自所述一组键的所述候选词。
9.根据权利要求1所述的方法,其中,确定所述手势的所述一部分滑过的所述对准点进一步包括:
确定用于所述对准点的成本值,其中,所述成本值表示所述对准点指示所述第二节点的概率。
10.根据权利要求1所述的方法,其中,确定用于所述对准点的所述成本值包括:
确定用于所述对准点的物理成本值;
确定用于所述对准点的字典成本值;以及
比较所述物理成本值和所述字典成本值以确定用于所述对准点的所述成本值。
11.根据权利要求1所述的方法,进一步包括:
确定用于所述候选词的组合成本值,其中,所述组合成本值包括所述手势指示所述候选词的概率;以及
从所述输出预测列表去除具有不满足阈值的组合成本值的候选词。
12.根据权利要求1所述的方法,其中,输出基于所述键组合的所述候选词包括响应于由所述计算设备确定所述键组合的所述组合成本值满足阈值而输出所述候选词以便在所述存在敏感显示器处显示。
13.根据权利要求1所述的方法,进一步包括:
由所述计算设备确定在所述存在敏感显示器处执行的所述手势的物理距离;
由所述计算设备至少部分地基于所述手势的所述物理距离来确定权值;以及
由所述计算设备对空间模型的字典成本值和语言模型的物理成本值中的至少一个应用所述权值。
14.一种计算设备,包括:
至少一个处理器;
存在敏感显示器,被操作地耦合到所述至少一个处理器;以及
至少一个模块,能由所述至少一个处理器操作以:
输出包括多个键的图形键盘以在所述存在敏感显示器处显示;
在所述存在敏感显示器处接收手势的指示,所述手势用以选择所述多个键中的一组键,所述手势包括多个部分;
至少部分地基于所述手势创建多个令牌,所述多个令牌具有相应组合成本值,其中,每个令牌对应于所述图形键盘的不同组的一个或多个键;
响应于接收到所述手势的一部分的所述指示而为所述手势的所述一部分递增地确定候选词,其中所述确定包括:
响应于检测到所述手势的一部分而将令牌从字典的第一节点复制到所述字典的第二节点,其中所述第二节点是所述第一节点的子节点;
基于与所述手势的所述一部分相关联的多个特征确定所述手势的所述一部分滑过的对准点;
确定用于所述多个键中的至少两个键中的每一个的相应成本值,其中,所述相应成本值中的每一个表示所述一组对准点中的一个对准点指示所述多个键中的一个键的概率;
确定所述第二节点是否是终止节点,其中,每个终止节点表示候选词;
响应于确定所述第二节点是终止节点,将所述第二节点所表示的所述候选词复制到输出预测列表;
确定所述手势的所述一部分是否是所述手势的最终部分,其中,所述手势的所述最终部分包括在检测到所述手势完成之前检测到的所述手势的一部分;以及
响应于确定所述手势的所述一部分是所述手势的最终部分而输出所述输出预测列表的至少一部分以便在所述存在敏感显示器处显示;
比较分别与所述令牌相关联的所述相应成本值;以及
至少部分地基于所述相应成本值来确定所述候选词。
15.一种编码有指令的计算机可读存储介质,所述指令在被执行时促使计算设备的至少一个处理器:
由所述计算设备输出包括多个键的图形键盘以在被操作耦合到所述计算设备的存在敏感显示器处显示;
接收在所述存在敏感显示器处输入的手势的指示,所述手势用以选择所述多个键中的一组键,所述手势包括多个部分;
至少部分地基于所述手势创建多个令牌,所述多个令牌具有相应组合成本值,其中,每个令牌对应于所述图形键盘的不同组的一个或多个键;
由所述计算设备响应于接收到所述手势的一部分的所述指示而为所述手势的所述一部分递增地确定候选词,其中所述确定包括:
响应于检测到所述手势的一部分而将令牌从字典的第一节点复制到所述字典的第二节点,其中所述第二节点是所述第一节点的子节点;
由所述计算设备基于与所述手势的所述一部分相关联的多个特征确定所述手势的所述一部分滑过的对准点;
由所述计算设备确定用于所述多个键中的至少两个键中的每一个的相应成本值,其中,所述相应成本值中的每一个表示所述一组对准点中的一个对准点指示所述多个键中的一个键的概率;
确定所述第二节点是否是终止节点,其中,每个终止节点表示候选词;
响应于确定所述第二节点是终止节点,将所述第二节点所表示的所述候选词复制到输出预测列表;
确定所述手势的所述一部分是否是所述手势的最终部分,其中,所述手势的所述最终部分包括在检测到所述手势完成之前检测到的所述手势的一部分;以及
响应于确定所述手势的所述一部分是所述手势的最终部分而输出所述输出预测列表的至少一部分以便在所述存在敏感显示器处显示;
由所述计算设备比较分别与所述令牌相关联的所述相应成本值;以及
至少部分地基于所述相应成本值来输出所述候选词以在所述存在敏感显示器处显示。
CN201380063263.0A 2012-10-05 2013-10-03 递增的基于特征的手势键盘解码 Active CN104838348B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810315390.XA CN108646929A (zh) 2012-10-05 2013-10-03 递增的基于特征的手势键盘解码

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US13/646,521 US9021380B2 (en) 2012-10-05 2012-10-05 Incremental multi-touch gesture recognition
US13/646,521 2012-10-05
US201261714568P 2012-10-16 2012-10-16
US61/714,568 2012-10-16
US13/734,810 2013-01-04
US13/734,810 US8782549B2 (en) 2012-10-05 2013-01-04 Incremental feature-based gesture-keyboard decoding
PCT/US2013/063316 WO2014055791A1 (en) 2012-10-05 2013-10-03 Incremental feature-based gesture-keyboard decoding

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201810315390.XA Division CN108646929A (zh) 2012-10-05 2013-10-03 递增的基于特征的手势键盘解码

Publications (2)

Publication Number Publication Date
CN104838348A CN104838348A (zh) 2015-08-12
CN104838348B true CN104838348B (zh) 2018-05-01

Family

ID=49448294

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201380063263.0A Active CN104838348B (zh) 2012-10-05 2013-10-03 递增的基于特征的手势键盘解码
CN201810315390.XA Pending CN108646929A (zh) 2012-10-05 2013-10-03 递增的基于特征的手势键盘解码

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201810315390.XA Pending CN108646929A (zh) 2012-10-05 2013-10-03 递增的基于特征的手势键盘解码

Country Status (5)

Country Link
US (2) US8782549B2 (zh)
CN (2) CN104838348B (zh)
DE (1) DE112013004585B4 (zh)
GB (1) GB2521557B (zh)
WO (1) WO2014055791A1 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US8701032B1 (en) 2012-10-16 2014-04-15 Google Inc. Incremental multi-word recognition
US8843845B2 (en) 2012-10-16 2014-09-23 Google Inc. Multi-gesture text input prediction
US8850350B2 (en) 2012-10-16 2014-09-30 Google Inc. Partial gesture text entry
US8819574B2 (en) 2012-10-22 2014-08-26 Google Inc. Space prediction for text input
US8832589B2 (en) 2013-01-15 2014-09-09 Google Inc. Touch keyboard using language and spatial models
US8887103B1 (en) 2013-04-22 2014-11-11 Google Inc. Dynamically-positioned character string suggestions for gesture typing
US9081500B2 (en) 2013-05-03 2015-07-14 Google Inc. Alternative hypothesis error correction for gesture typing
US20140359434A1 (en) * 2013-05-30 2014-12-04 Microsoft Corporation Providing out-of-dictionary indicators for shape writing
CN103870199B (zh) * 2014-03-31 2017-09-29 华为技术有限公司 手持设备上用户操作模式的识别方法及手持设备
US20160357411A1 (en) * 2015-06-08 2016-12-08 Microsoft Technology Licensing, Llc Modifying a user-interactive display with one or more rows of keys
US10643067B2 (en) * 2015-10-19 2020-05-05 Myscript System and method of handwriting recognition in diagrams
US20180018086A1 (en) * 2016-07-14 2018-01-18 Google Inc. Pressure-based gesture typing for a graphical keyboard
US10884610B2 (en) 2016-11-04 2021-01-05 Myscript System and method for recognizing handwritten stroke input
EP3736677A1 (en) 2019-05-10 2020-11-11 MyScript A method and corresponding device for selecting and editing handwriting input elements
EP3754537B1 (en) 2019-06-20 2024-05-22 MyScript Processing text handwriting input in a free handwriting mode
EP3772015B1 (en) 2019-07-31 2023-11-08 MyScript Text line extraction
EP3796145B1 (en) 2019-09-19 2024-07-03 MyScript A method and correspond device for selecting graphical objects

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1761989A (zh) * 2003-01-16 2006-04-19 克利福德·A·库什勒 基于连续笔划字词的文本输入系统和方法
CN101634919A (zh) * 2009-09-01 2010-01-27 北京途拓科技有限公司 一种手势识别的装置与方法

Family Cites Families (229)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4534261A (en) 1983-03-30 1985-08-13 Raymond Fabrizio Vent key modification for flute
US4833610A (en) 1986-12-16 1989-05-23 International Business Machines Corporation Morphological/phonetic method for ranking word similarities
US4988981B1 (en) 1987-03-17 1999-05-18 Vpl Newco Inc Computer data entry and manipulation apparatus and method
US4847766A (en) 1988-01-05 1989-07-11 Smith Corona Corporation Dictionary typewriter with correction of commonly confused words
US5075896A (en) 1989-10-25 1991-12-24 Xerox Corporation Character and phoneme recognition based on probability clustering
US5307267A (en) 1990-03-27 1994-04-26 Yang Gong M Method and keyboard for input of characters via use of specified shapes and patterns
EP0450196B1 (en) 1990-04-02 1998-09-09 Koninklijke Philips Electronics N.V. Data processing system using gesture-based input data
US5604897A (en) 1990-05-18 1997-02-18 Microsoft Corporation Method and system for correcting the spelling of misspelled words
US6094188A (en) 1990-11-30 2000-07-25 Sun Microsystems, Inc. Radio frequency tracking system
US5202803A (en) 1991-07-02 1993-04-13 International Business Machines Corporation Disk file with liquid film head-disk interface
US5848187A (en) 1991-11-18 1998-12-08 Compaq Computer Corporation Method and apparatus for entering and manipulating spreadsheet cell data
FR2689290B1 (fr) 1992-03-26 1994-06-10 Aerospatiale Procede et dispositif de communication multimodes et multifonctions entre un operateur et un ou plusieurs processeurs.
CA2089784C (en) 1992-04-15 1996-12-24 William Joseph Anderson Apparatus and method for disambiguating an input stream generated by a stylus-based user interface
JP3367116B2 (ja) 1992-09-02 2003-01-14 ヤマハ株式会社 電子楽器
US5502803A (en) 1993-01-18 1996-03-26 Sharp Kabushiki Kaisha Information processing apparatus having a gesture editing function
US5677710A (en) 1993-05-10 1997-10-14 Apple Computer, Inc. Recognition keypad
US5522932A (en) 1993-05-14 1996-06-04 Applied Materials, Inc. Corrosion-resistant apparatus
US5606494A (en) 1993-11-25 1997-02-25 Casio Computer Co., Ltd. Switching apparatus
US6008799A (en) 1994-05-24 1999-12-28 Microsoft Corporation Method and system for entering data using an improved on-screen keyboard
JPH0844719A (ja) 1994-06-01 1996-02-16 Mitsubishi Electric Corp 辞書アクセスシステム
US5761689A (en) 1994-09-01 1998-06-02 Microsoft Corporation Autocorrecting text typed into a word processing document
WO1996009579A1 (en) 1994-09-22 1996-03-28 Izak Van Cruyningen Popup menus with directional gestures
US5521986A (en) 1994-11-30 1996-05-28 American Tel-A-Systems, Inc. Compact data input device
FI97508C (fi) 1995-01-09 1996-12-27 Nokia Mobile Phones Ltd Pikavalinta henkilökohtaisessa matkaviestimessä
US5748512A (en) 1995-02-28 1998-05-05 Microsoft Corporation Adjusting keyboard
US5797098A (en) 1995-07-19 1998-08-18 Pacific Communication Sciences, Inc. User interface for cellular telephone
JPH0981364A (ja) 1995-09-08 1997-03-28 Nippon Telegr & Teleph Corp <Ntt> マルチモーダル情報入力方法及び装置
US6061050A (en) 1995-10-27 2000-05-09 Hewlett-Packard Company User interface device
US6041292A (en) 1996-01-16 2000-03-21 Jochim; Carol Real time stenographic system utilizing vowel omission principle
USRE37654E1 (en) 1996-01-22 2002-04-16 Nicholas Longo Gesture synthesizer for electronic sound device
US6115482A (en) 1996-02-13 2000-09-05 Ascent Technology, Inc. Voice-output reading system with gesture-based navigation
JP3280559B2 (ja) 1996-02-20 2002-05-13 シャープ株式会社 ジョグダイアルの模擬入力装置
US5917493A (en) 1996-04-17 1999-06-29 Hewlett-Packard Company Method and apparatus for randomly generating information for subsequent correlating
US5905246A (en) 1996-10-31 1999-05-18 Fajkowski; Peter W. Method and apparatus for coupon management and redemption
JP3889466B2 (ja) 1996-11-25 2007-03-07 ソニー株式会社 文章入力装置及び方法
US5953541A (en) 1997-01-24 1999-09-14 Tegic Communications, Inc. Disambiguating system for disambiguating ambiguous input sequences by displaying objects associated with the generated input sequences in the order of decreasing frequency of use
US6047300A (en) 1997-05-15 2000-04-04 Microsoft Corporation System and method for automatically correcting a misspelled word
US6686931B1 (en) 1997-06-13 2004-02-03 Motorola, Inc. Graphical password methodology for a microprocessor device accepting non-alphanumeric user input
US6278453B1 (en) 1997-06-13 2001-08-21 Starfish Software, Inc. Graphical password methodology for a microprocessor device accepting non-alphanumeric user input
US6141011A (en) 1997-08-04 2000-10-31 Starfish Software, Inc. User interface methodology supporting light data entry for microprocessor device having limited user input
US6160555A (en) 1997-11-17 2000-12-12 Hewlett Packard Company Method for providing a cue in a computer system
US6057845A (en) 1997-11-14 2000-05-02 Sensiva, Inc. System, method, and apparatus for generation and recognizing universal commands
WO1999028811A1 (en) 1997-12-04 1999-06-10 Northern Telecom Limited Contextual gesture interface
US7614008B2 (en) 2004-07-30 2009-11-03 Apple Inc. Operation of a computer with touch screen interface
US8479122B2 (en) 2004-07-30 2013-07-02 Apple Inc. Gestures for touch sensitive input devices
KR100327209B1 (ko) 1998-05-12 2002-04-17 윤종용 첨펜의자취를이용한소프트웨어키보드시스템및그에따른키코드인식방법
US6438523B1 (en) 1998-05-20 2002-08-20 John A. Oberteuffer Processing handwritten and hand-drawn input and speech input
US6424983B1 (en) 1998-05-26 2002-07-23 Global Information Research And Technologies, Llc Spelling and grammar checking system
US6131102A (en) 1998-06-15 2000-10-10 Microsoft Corporation Method and system for cost computation of spelling suggestions and automatic replacement
US6407679B1 (en) * 1998-07-31 2002-06-18 The Research Foundation Of The State University Of New York System and method for entering text in a virtual environment
US6150600A (en) 1998-12-01 2000-11-21 Buchla; Donald F. Inductive location sensor system and electronic percussion system
GB2347247A (en) 1999-02-22 2000-08-30 Nokia Mobile Phones Ltd Communication terminal with predictive editor
US7293231B1 (en) 1999-03-18 2007-11-06 British Columbia Ltd. Data entry for personal computing devices
US7750891B2 (en) * 2003-04-09 2010-07-06 Tegic Communications, Inc. Selective input system based on tracking of motion parameters of an input device
US7030863B2 (en) 2000-05-26 2006-04-18 America Online, Incorporated Virtual keyboard system with automatic correction
AU5299700A (en) 1999-05-27 2000-12-18 America Online, Inc. Keyboard system with automatic correction
US6904405B2 (en) 1999-07-17 2005-06-07 Edwin A. Suominen Message recognition using shared language model
US6396523B1 (en) 1999-07-29 2002-05-28 Interlink Electronics, Inc. Home entertainment device remote control
US6512838B1 (en) 1999-09-22 2003-01-28 Canesta, Inc. Methods for enhancing performance and data acquired from three-dimensional image systems
US6789231B1 (en) 1999-10-05 2004-09-07 Microsoft Corporation Method and system for providing alternatives for text derived from stochastic input sources
US7798417B2 (en) 2000-01-03 2010-09-21 Snyder David M Method for data interchange
DE60025901T2 (de) 2000-01-11 2006-08-24 International Business Machines Corp. Verfahren und Vorrichtung zur Markierung eines Textdokuments mit einem Muster von zusätzlichen Leerstellen zum Zweck der Authentifizierung
US6573844B1 (en) 2000-01-18 2003-06-03 Microsoft Corporation Predictive keyboard
US7028259B1 (en) 2000-02-01 2006-04-11 Jacobson Robert L Interactive legal citation checker
US6630924B1 (en) 2000-02-22 2003-10-07 International Business Machines Corporation Gesture sensing split keyboard and approach for capturing keystrokes
US7047493B1 (en) 2000-03-31 2006-05-16 Brill Eric D Spell checker with arbitrary length string-to-string transformations to improve noisy channel spelling correction
US7035788B1 (en) 2000-04-25 2006-04-25 Microsoft Corporation Language model sharing
US7145554B2 (en) 2000-07-21 2006-12-05 Speedscript Ltd. Method for a high-speed writing system and high -speed writing device
US20020015064A1 (en) 2000-08-07 2002-02-07 Robotham John S. Gesture-based user interface to multi-level and multi-modal sets of bit-maps
US6606597B1 (en) 2000-09-08 2003-08-12 Microsoft Corporation Augmented-word language model
AU2002213279A1 (en) 2000-10-16 2002-04-29 Text Analysis International, Inc. Method for analyzing text and method for builing text analyzers
EP1887451A3 (en) 2000-10-18 2009-06-24 602531 British Columbia Ltd. Data entry method and system for personal computer, and corresponding computer readable medium
WO2002037933A2 (en) 2000-11-08 2002-05-16 New York University System, process and software arrangement for recognizing handwritten characters
US6570557B1 (en) 2001-02-10 2003-05-27 Finger Works, Inc. Multi-touch system and method for emulating modifier keys via fingertip chords
CA2340531C (en) 2001-03-12 2006-10-10 Ibm Canada Limited-Ibm Canada Limitee Document retrieval system and search method using word set and character look-up tables
US7035794B2 (en) 2001-03-30 2006-04-25 Intel Corporation Compressing and using a concatenative speech database in text-to-speech systems
FI116591B (fi) 2001-06-29 2005-12-30 Nokia Corp Menetelmä ja laite toiminnon toteuttamiseksi
US7042443B2 (en) 2001-10-11 2006-05-09 Woodard Scott E Speed Writer program and device with Speed Writer program installed
US7610189B2 (en) 2001-10-18 2009-10-27 Nuance Communications, Inc. Method and apparatus for efficient segmentation of compound words using probabilistic breakpoint traversal
US7296019B1 (en) 2001-10-23 2007-11-13 Microsoft Corporation System and methods for providing runtime spelling analysis and correction
US6765556B2 (en) 2001-11-16 2004-07-20 International Business Machines Corporation Two-key input per character text entry apparatus and method
US7362243B2 (en) 2001-11-16 2008-04-22 International Business Machines Corporation Apparatus and method using color-coded or pattern-coded keys in two-key input per character text entry
US7075520B2 (en) 2001-12-12 2006-07-11 Zi Technology Corporation Ltd Key press disambiguation using a keypad of multidirectional keys
US7231343B1 (en) 2001-12-20 2007-06-12 Ianywhere Solutions, Inc. Synonyms mechanism for natural language systems
US7175438B2 (en) 2002-03-01 2007-02-13 Digit Wireless Fast typing system and method
US7170430B2 (en) 2002-03-28 2007-01-30 Michael Goodgoll System, method, and computer program product for single-handed data entry
US7151530B2 (en) 2002-08-20 2006-12-19 Canesta, Inc. System and method for determining an input selected by a user through a virtual interface
EP1422599B1 (en) 2002-11-20 2006-07-05 Nokia Corporation Method and user interface for entering characters
US7199786B2 (en) 2002-11-29 2007-04-03 Daniel Suraqui Reduced keyboards system using unistroke input and having automatic disambiguating and a recognition method using said system
US7251367B2 (en) 2002-12-20 2007-07-31 International Business Machines Corporation System and method for recognizing word patterns based on a virtual keyboard layout
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
SG135918A1 (en) 2003-03-03 2007-10-29 Xrgomics Pte Ltd Unambiguous text input method for touch screens and reduced keyboard systems
NZ529518A (en) 2003-11-13 2005-03-24 Andy Zheng Song Input method, system and device
US20050114115A1 (en) * 2003-11-26 2005-05-26 Karidis John P. Typing accuracy relaxation system and method in stylus and other keyboards
DE10357475A1 (de) 2003-12-09 2005-07-07 Siemens Ag Kommunikationsvorrichtung und Verfahren zum Eingeben und Vorhersagen von Text
US7250938B2 (en) 2004-01-06 2007-07-31 Lenovo (Singapore) Pte. Ltd. System and method for improved user input on personal computing devices
US7706616B2 (en) * 2004-02-27 2010-04-27 International Business Machines Corporation System and method for recognizing word patterns in a very large vocabulary based on a virtual keyboard layout
US8095364B2 (en) 2004-06-02 2012-01-10 Tegic Communications, Inc. Multimodal disambiguation of speech recognition
ES2318245T3 (es) 2004-06-02 2009-05-01 Research In Motion Limited Dispositivo electronico portatil con desambiguacion de texto.
US20060004638A1 (en) 2004-07-02 2006-01-05 Royal Eliza H Assisted electronic product design
JP4284531B2 (ja) 2004-07-06 2009-06-24 オムロン株式会社 実装用基板及びそれを使用した駆動装置
US7207004B1 (en) 2004-07-23 2007-04-17 Harrity Paul A Correction of misspelled words
US20060176283A1 (en) 2004-08-06 2006-08-10 Daniel Suraqui Finger activated reduced keyboard and a method for performing text input
US7508324B2 (en) 2004-08-06 2009-03-24 Daniel Suraqui Finger activated reduced keyboard and a method for performing text input
US20060055669A1 (en) 2004-09-13 2006-03-16 Mita Das Fluent user interface for text entry on touch-sensitive display
JP4843505B2 (ja) 2004-12-24 2011-12-21 独立行政法人科学技術振興機構 ナノ黒鉛構造体−金属ナノ粒子複合体
US8552984B2 (en) 2005-01-13 2013-10-08 602531 British Columbia Ltd. Method, system, apparatus and computer-readable media for directing input associated with keyboard-type device
US7487461B2 (en) 2005-05-04 2009-02-03 International Business Machines Corporation System and method for issuing commands based on pen motions on a graphical keyboard
US20060256139A1 (en) 2005-05-11 2006-11-16 Gikandi David C Predictive text computer simplified keyboard with word and phrase auto-completion (plus text-to-speech and a foreign language translation option)
US8036878B2 (en) 2005-05-18 2011-10-11 Never Wall Treuhand GmbH Device incorporating improved text input mechanism
US7886233B2 (en) 2005-05-23 2011-02-08 Nokia Corporation Electronic text input involving word completion functionality for predicting word candidates for partial word inputs
US20070016862A1 (en) * 2005-07-15 2007-01-18 Microth, Inc. Input guessing systems, methods, and computer program products
GB0516246D0 (en) 2005-08-08 2005-09-14 Scanlan Timothy A data entry device and method
US20070152980A1 (en) 2006-01-05 2007-07-05 Kenneth Kocienda Touch Screen Keyboards for Portable Electronic Devices
US7542029B2 (en) 2005-09-20 2009-06-02 Cliff Kushler System and method for a user interface for text editing and menu selection
US20070094024A1 (en) 2005-10-22 2007-04-26 International Business Machines Corporation System and method for improving text input in a shorthand-on-keyboard interface
US20070106317A1 (en) 2005-11-09 2007-05-10 Shelton Frederick E Iv Hydraulically and electrically actuated articulation joints for surgical instruments
US7792815B2 (en) 2006-03-06 2010-09-07 Veveo, Inc. Methods and systems for selecting and presenting content based on context sensitive user preferences
US7831911B2 (en) 2006-03-08 2010-11-09 Microsoft Corporation Spell checking system including a phonetic speller
ITRM20060136A1 (it) 2006-03-10 2007-09-11 Link Formazione S R L Sistema multimediale interattivo
EP1860576A1 (en) 2006-05-23 2007-11-28 Harman/Becker Automotive Systems GmbH Indexing big world lists in databases
US7831423B2 (en) 2006-05-25 2010-11-09 Multimodal Technologies, Inc. Replacing text representing a concept with an alternate written form of the concept
KR100701520B1 (ko) * 2006-06-26 2007-03-29 삼성전자주식회사 키패드 터치에 의한 사용자 인터페이스 방법 및 그 휴대단말기
EP2044587A4 (en) 2006-07-03 2012-09-26 Clifford A Kushler USER INTERFACE SYSTEM AND METHOD FOR TEXT MODIFICATION AND MENUS SELECTION
US8564544B2 (en) 2006-09-06 2013-10-22 Apple Inc. Touch screen device, method, and graphical user interface for customizing display of content category icons
US20080172293A1 (en) 2006-12-28 2008-07-17 Yahoo! Inc. Optimization framework for association of advertisements with sequential media
US7957955B2 (en) 2007-01-05 2011-06-07 Apple Inc. Method and system for providing word recommendations for text input
US8074172B2 (en) 2007-01-05 2011-12-06 Apple Inc. Method, system, and graphical user interface for providing word recommendations
US7907125B2 (en) 2007-01-05 2011-03-15 Microsoft Corporation Recognizing multiple input point gestures
US8225203B2 (en) 2007-02-01 2012-07-17 Nuance Communications, Inc. Spell-check for a keyboard system with automatic correction
US7809719B2 (en) 2007-02-08 2010-10-05 Microsoft Corporation Predicting textual candidates
US20080229255A1 (en) 2007-03-15 2008-09-18 Nokia Corporation Apparatus, method and system for gesture detection
US20080232885A1 (en) 2007-03-19 2008-09-25 Giftventure Studios, Inc. Systems and Methods for Creating Customized Activities
US7903883B2 (en) 2007-03-30 2011-03-08 Microsoft Corporation Local bi-gram model for object recognition
US7895518B2 (en) * 2007-04-27 2011-02-22 Shapewriter Inc. System and method for preview and selection of words
US8504349B2 (en) 2007-06-18 2013-08-06 Microsoft Corporation Text prediction with partial selection in a variety of domains
US8059101B2 (en) 2007-06-22 2011-11-15 Apple Inc. Swipe gestures for touch screen keyboards
TW200905538A (en) 2007-07-31 2009-02-01 Elan Microelectronics Corp Touch position detector of capacitive touch panel and method of detecting the touch position
US20090058823A1 (en) 2007-09-04 2009-03-05 Apple Inc. Virtual Keyboards in Multi-Language Environment
US8661340B2 (en) 2007-09-13 2014-02-25 Apple Inc. Input methods for device having multi-language environment
US20090100383A1 (en) 2007-10-16 2009-04-16 Microsoft Corporation Predictive gesturing in graphical user interface
US20090119376A1 (en) 2007-11-06 2009-05-07 International Busness Machines Corporation Hint-Based Email Address Construction
US8232973B2 (en) * 2008-01-09 2012-07-31 Apple Inc. Method, device, and graphical user interface providing word recommendations for text input
US8456425B2 (en) 2008-01-30 2013-06-04 International Business Machines Corporation Self-adapting keypad
US8280886B2 (en) 2008-02-13 2012-10-02 Fujitsu Limited Determining candidate terms related to terms of a query
US20090249198A1 (en) 2008-04-01 2009-10-01 Yahoo! Inc. Techniques for input recogniton and completion
WO2010011972A1 (en) 2008-07-24 2010-01-28 Headsprout, Inc. Teaching reading comprehension
US8619048B2 (en) 2008-08-08 2013-12-31 Moonsun Io Ltd. Method and device of stroke based user input
EP2344941A2 (en) 2008-08-12 2011-07-20 Keyless Systems Ltd. Data entry system
US20100070908A1 (en) 2008-09-18 2010-03-18 Sun Microsystems, Inc. System and method for accepting or rejecting suggested text corrections
US20100079382A1 (en) 2008-09-26 2010-04-01 Suggs Bradley N Touch-screen monitoring
EP2353108A4 (en) 2008-11-04 2018-01-03 Strossle International AB Method and system for analyzing text
US7996369B2 (en) 2008-11-14 2011-08-09 The Regents Of The University Of California Method and apparatus for improving performance of approximate string queries using variable length high-quality grams
US20100131447A1 (en) 2008-11-26 2010-05-27 Nokia Corporation Method, Apparatus and Computer Program Product for Providing an Adaptive Word Completion Mechanism
US20100141484A1 (en) 2008-12-08 2010-06-10 Research In Motion Limited Optimized keyboard for handheld thumb-typing and touch-typing
US20100199226A1 (en) 2009-01-30 2010-08-05 Nokia Corporation Method and Apparatus for Determining Input Information from a Continuous Stroke Input
EP2394208A1 (en) 2009-02-04 2011-12-14 Systems Ltd. Keyless Data entry system
US9311112B2 (en) 2009-03-16 2016-04-12 Apple Inc. Event recognition
US8566045B2 (en) 2009-03-16 2013-10-22 Apple Inc. Event recognition
US9684521B2 (en) * 2010-01-26 2017-06-20 Apple Inc. Systems having discrete and continuous gesture recognizers
US20100235780A1 (en) 2009-03-16 2010-09-16 Westerman Wayne C System and Method for Identifying Words Based on a Sequence of Keyboard Events
US8566044B2 (en) 2009-03-16 2013-10-22 Apple Inc. Event recognition
US20100238125A1 (en) 2009-03-20 2010-09-23 Nokia Corporation Method, Apparatus, and Computer Program Product For Discontinuous Shapewriting
KR101844366B1 (ko) 2009-03-27 2018-04-02 삼성전자 주식회사 터치 제스처 인식 장치 및 방법
US9189472B2 (en) * 2009-03-30 2015-11-17 Touchtype Limited System and method for inputting text into small screen devices
GB0905457D0 (en) 2009-03-30 2009-05-13 Touchtype Ltd System and method for inputting text into electronic devices
JP5392348B2 (ja) 2009-04-16 2014-01-22 株式会社島津製作所 放射線断層撮影装置
US20100315266A1 (en) 2009-06-15 2010-12-16 Microsoft Corporation Predictive interfaces with usability constraints
CN101963840B (zh) 2009-07-22 2015-03-18 罗技欧洲公司 用于远程、虚拟屏幕输入的系统和方法
US8533173B2 (en) 2009-08-04 2013-09-10 Google Inc. Generating search query suggestions
US9317116B2 (en) 2009-09-09 2016-04-19 Immersion Corporation Systems and methods for haptically-enhanced text interfaces
US20110063231A1 (en) 2009-09-14 2011-03-17 Invotek, Inc. Method and Device for Data Input
US8341558B2 (en) 2009-09-16 2012-12-25 Google Inc. Gesture recognition on computing device correlating input to a template
US8135582B2 (en) 2009-10-04 2012-03-13 Daniel Suraqui Keyboard system and method for global disambiguation from classes with dictionary database from first and last letters
US8386574B2 (en) 2009-10-29 2013-02-26 Xerox Corporation Multi-modality classification for one-class classification in social networks
US8365059B2 (en) 2009-11-03 2013-01-29 Oto Technologies, Llc E-reader semantic text manipulation
US8884872B2 (en) 2009-11-20 2014-11-11 Nuance Communications, Inc. Gesture-based repetition of key activations on a virtual keyboard
WO2011066343A2 (en) * 2009-11-24 2011-06-03 Next Holdings Limited Methods and apparatus for gesture recognition mode control
US8358281B2 (en) 2009-12-15 2013-01-22 Apple Inc. Device, method, and graphical user interface for management and manipulation of user interface elements
US8587532B2 (en) 2009-12-18 2013-11-19 Intel Corporation Multi-feature interactive touch user interface
US8782556B2 (en) 2010-02-12 2014-07-15 Microsoft Corporation User-centric soft keyboard predictive technologies
US9417787B2 (en) 2010-02-12 2016-08-16 Microsoft Technology Licensing, Llc Distortion effects to indicate location in a movable data collection
US9965165B2 (en) 2010-02-19 2018-05-08 Microsoft Technology Licensing, Llc Multi-finger gestures
US8515969B2 (en) 2010-02-19 2013-08-20 Go Daddy Operating Company, LLC Splitting a character string into keyword strings
KR101557358B1 (ko) 2010-02-25 2015-10-06 엘지전자 주식회사 문자열 입력 방법 및 그 장치
US20110210850A1 (en) 2010-02-26 2011-09-01 Phuong K Tran Touch-screen keyboard with combination keys and directional swipes
CN101788855B (zh) 2010-03-09 2013-04-17 华为终端有限公司 一种获取用户输入信息的方法、装置及通信终端
KR101477530B1 (ko) 2010-03-12 2014-12-30 뉘앙스 커뮤니케이션즈, 인코포레이티드 이동 전화의 터치 스크린과 함께 사용하기 위한 다중 모드 문자 입력 시스템
US8542195B2 (en) 2010-03-30 2013-09-24 International Business Machines Corporation Method for optimization of soft keyboards for multiple languages
US8266528B1 (en) 2010-06-24 2012-09-11 Google Inc. Spelling suggestions based on an input sequence including accidental “delete”
US8918734B2 (en) * 2010-07-28 2014-12-23 Nuance Communications, Inc. Reduced keyboard with prediction solutions when input is a partial sliding trajectory
US20120036468A1 (en) 2010-08-03 2012-02-09 Nokia Corporation User input remapping
US20120036485A1 (en) 2010-08-09 2012-02-09 XMG Studio Motion Driven User Interface
US8898586B2 (en) 2010-09-24 2014-11-25 Google Inc. Multiple touchpoints for efficient text input
GB201200643D0 (en) 2012-01-16 2012-02-29 Touchtype Ltd System and method for inputting text
CN102117175A (zh) * 2010-09-29 2011-07-06 北京搜狗科技发展有限公司 一种滑行输入中文的方法、装置和触摸屏输入法系统
US8810581B2 (en) 2010-10-20 2014-08-19 Blackberry Limited Character input method
US20120113008A1 (en) 2010-11-08 2012-05-10 Ville Makinen On-screen keyboard with haptic effects
US20120290946A1 (en) 2010-11-17 2012-11-15 Imerj LLC Multi-screen email client
US9870141B2 (en) 2010-11-19 2018-01-16 Microsoft Technology Licensing, Llc Gesture recognition
KR20140001957A (ko) 2010-11-20 2014-01-07 뉘앙스 커뮤니케이션즈, 인코포레이티드 입력된 텍스트를 이용하여 상황 정보에 액세스하여 이를 처리하기 위한 시스템들 및 방법들
US20120166428A1 (en) 2010-12-22 2012-06-28 Yahoo! Inc Method and system for improving quality of web content
US8730188B2 (en) 2010-12-23 2014-05-20 Blackberry Limited Gesture input on a portable electronic device and method of controlling the same
US8922489B2 (en) 2011-03-24 2014-12-30 Microsoft Corporation Text input using key and gesture information
US8914275B2 (en) 2011-04-06 2014-12-16 Microsoft Corporation Text prediction
US8570372B2 (en) 2011-04-29 2013-10-29 Austin Russell Three-dimensional imager and projection device
US8587542B2 (en) 2011-06-01 2013-11-19 Motorola Mobility Llc Using pressure differences with a touch-sensitive display screen
US9471560B2 (en) 2011-06-03 2016-10-18 Apple Inc. Autocorrecting language input for virtual keyboards
US20130212515A1 (en) 2012-02-13 2013-08-15 Syntellia, Inc. User interface for text input
US8751972B2 (en) 2011-09-20 2014-06-10 Google Inc. Collaborative gesture-based input language
US20130082824A1 (en) 2011-09-30 2013-04-04 Nokia Corporation Feedback response
US8490008B2 (en) 2011-11-10 2013-07-16 Research In Motion Limited Touchscreen keyboard predictive display and generation of a set of characters
US9310889B2 (en) 2011-11-10 2016-04-12 Blackberry 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
CN102411477A (zh) 2011-11-16 2012-04-11 鸿富锦精密工业(深圳)有限公司 电子设备及其文本导读方法
CN102508553A (zh) 2011-11-23 2012-06-20 赵来刚 电子产品手持输入数据和指令的技术
US8436827B1 (en) 2011-11-29 2013-05-07 Google Inc. Disambiguating touch-input based on variation in characteristic such as speed or pressure along a touch-trail
CN104160361A (zh) 2012-02-06 2014-11-19 迈克尔·K·科尔比 字符串完成
CN102629158B (zh) 2012-02-29 2015-04-08 广东威创视讯科技股份有限公司 基于触摸屏系统的文字输入方法及装置
US8667414B2 (en) 2012-03-23 2014-03-04 Google Inc. Gestural input at a virtual keyboard
CN102693090B (zh) * 2012-05-16 2014-06-11 刘炳林 一种输入方法和电子设备
US8782549B2 (en) 2012-10-05 2014-07-15 Google Inc. Incremental feature-based gesture-keyboard decoding
US9021380B2 (en) 2012-10-05 2015-04-28 Google Inc. Incremental multi-touch gesture recognition
US8701032B1 (en) 2012-10-16 2014-04-15 Google Inc. Incremental multi-word recognition
US8843845B2 (en) 2012-10-16 2014-09-23 Google Inc. Multi-gesture text input prediction
US8850350B2 (en) 2012-10-16 2014-09-30 Google Inc. Partial gesture text entry
US8819574B2 (en) 2012-10-22 2014-08-26 Google Inc. Space prediction for text input
US8832589B2 (en) 2013-01-15 2014-09-09 Google Inc. Touch keyboard using language and spatial models

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1761989A (zh) * 2003-01-16 2006-04-19 克利福德·A·库什勒 基于连续笔划字词的文本输入系统和方法
CN101634919A (zh) * 2009-09-01 2010-01-27 北京途拓科技有限公司 一种手势识别的装置与方法

Also Published As

Publication number Publication date
GB2521557A (en) 2015-06-24
DE112013004585T5 (de) 2015-06-11
CN108646929A (zh) 2018-10-12
GB2521557B (en) 2016-02-24
US20140344748A1 (en) 2014-11-20
WO2014055791A1 (en) 2014-04-10
US9552080B2 (en) 2017-01-24
CN104838348A (zh) 2015-08-12
US8782549B2 (en) 2014-07-15
DE112013004585B4 (de) 2019-03-28
DE112013004585T8 (de) 2015-07-30
US20140101594A1 (en) 2014-04-10
GB201504821D0 (en) 2015-05-06

Similar Documents

Publication Publication Date Title
CN104838348B (zh) 递增的基于特征的手势键盘解码
CN104798016B (zh) 递增多触摸手势识别
CN105009064B (zh) 使用语言和空间模型的触摸键盘
US9798718B2 (en) Incremental multi-word recognition
US10775967B2 (en) Context-aware field value suggestions
CN110083254B (zh) 多手势文本输入预测
CN104020943B (zh) 字符串替换
CN105164616B (zh) 用于输出候选字符串的方法、计算设备及存储介质
CN104685451B (zh) 姿势适应选择
AU2014212844B2 (en) Character and word level language models for out-of-vocabulary text input
CN105308551B (zh) 用于连续手势输入的多图形键盘
CN107102746A (zh) 候选词生成方法、装置以及用于候选词生成的装置
CN105074643B (zh) 非词典字符串的手势键盘输入
CN103777774B (zh) 终端装置及输入法的文字纠错方法
CN105929975A (zh) 使用替代评分的非字典字符串的姿态键盘输入
CN104756062B (zh) 解码用于图形键盘的不准确手势
CN107407975A (zh) 连续手势输入期间的建议选择
JP2012098891A (ja) 情報処理システムおよび情報処理方法

Legal Events

Date Code Title Description
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: American California

Applicant after: Google limited liability company

Address before: American California

Applicant before: Google Inc.

GR01 Patent grant
GR01 Patent grant