CN104718545A - 递增的多词识别 - Google Patents

递增的多词识别 Download PDF

Info

Publication number
CN104718545A
CN104718545A CN201380054132.6A CN201380054132A CN104718545A CN 104718545 A CN104718545 A CN 104718545A CN 201380054132 A CN201380054132 A CN 201380054132A CN 104718545 A CN104718545 A CN 104718545A
Authority
CN
China
Prior art keywords
key
gesture
level token
word
computing equipment
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.)
Pending
Application number
CN201380054132.6A
Other languages
English (en)
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
Application filed by Google LLC filed Critical Google LLC
Priority to CN202110677150.6A priority Critical patent/CN113467622A/zh
Publication of CN104718545A publication Critical patent/CN104718545A/zh
Pending legal-status Critical Current

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/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/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/274Converting codes to words; Guess-ahead of partial word inputs
    • 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

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

Abstract

在一个示例中,计算设备包括可操作地耦合到存在敏感显示器的至少一个处理器和可由所述至少一个处理器操作的手势模块。所述手势模块可以由所述至少一个处理操作以输出包括多个键的图形键盘以在所述存在敏感显示器处显示,以及接收在所述存在敏感显示器处检测到的连续手势的指示,所述连续手势用于选择所述多个键中的一组键。所述手势模块可以进一步操作以响应于接收所述连续手势的指示并且至少部分地基于所述多个键中的所述一组键,确定包括一组候选词的候选短语。

Description

递增的多词识别
背景技术
一些计算设备(例如移动电话、平板电脑等等)可以提供图形键盘作为用于使用存在敏感显示器(例如屏幕)来撰写文本的图形用户界面的一部分。图形键盘可以使得计算设备的用户能够输入文本(例如电子邮件、文本消息或文档等等)。例如,计算设备的存在敏感显示器可以呈现图形(或“软”)键盘,其使得用户能够通过指示(例如通过轻击)在存在敏感显示器上显示的键来输入数据。
基于手势的键盘可用于向智能电话输入文本。这样的键盘可能经受准确度、速度和没有对用户适配的能力的限制。在一些示例中,基于手势的键盘可包括提供由用户输入的字符串的词预测(wordprediction)和/或自动校正的功能。随着用户变得习惯于基于手势的键盘,用户可能希望用单个手势来输入具有许多字符的字符串。在一些示例中,预测和/或自动校正的准确度可能随着单个手势中包括的字符的数目增加而降低。
发明内容
在一个示例中,一种方法包括由计算设备输出包括多个键的图形键盘以在可操作地耦合到计算设备的存在敏感显示器处显示,以及由所述计算设备接收在存在敏感显示器处检测到的手势的指示,所述手势的第一部分用于选择所述多个键中的第一键,所述手势的第二部分用于选择所述键中的第二键。所述方法进一步包括由所述计算设备至少部分地基于所述第一键来确定包括多个预测字符的单个串的词级令牌(word level token),并且由所述计算设备确定所述词级令牌表示包括在字典(lexicon)中的候选词。所述方法进一步包括由所述计算设备响应于确定所述词级令牌表示字典中的候选词,至少部分地基于所述词级令牌和所述第二字符键来确定短语级令牌,其中所述短语级令牌包括多个字符串。
在另一示例中,一种编码有指令的计算机可读存储介质,所述指令在被执行时,使得计算设备的至少一个处理器输出包括多个键的图形键盘以在可操作地耦合到所述计算设备的存在敏感显示器处显示,以及接收在所述存在敏感显示器处检测到的连续手势的指示,所述连续手势用于选择所述多个键中的一组键。所述计算机可读存储介质可进一步编码有指令,所述指令在被执行时使得至少一个处理器响应于接收用于选择所述一组键的所述连续手势的指示,确定表示多个候选词的短语级令牌,其中所述短语级令牌包括多个字符串。
在另一示例中,一种设备包括至少一个处理器,其可操作地耦合到存在敏感显示器,以及手势模块,其由所述至少一个处理操作用于输出包括多个键的图形键盘以在所述存在敏感显示器处显示,以及接收在所述存在敏感显示器处检测到的连续手势的指示,所述连续手势用于选择所述多个键中的一组键。所述手势模块进一步可由所述至少一个处理器操作以响应于接收所述连续手势的指示并且至少部分地基于所述多个键中的所述一组键,确定包括一组候选词的候选短语。
在附图和下面的描述中阐述公开的一个或多个示例的细节。通过描述和附图以及通过权利要求,其他特征、目标和优点将变得显而易见。
附图说明
图1是图示根据本公开的一个或多个技术的可用于递增地从手势确定文本的示例计算设备的框图。
图2是图示根据本公开的一个或多个技术的如图1中所示的计算设备的一个示例的进一步细节的框图。
图3A-C是图示根本公开的一个或多个技术的图1中所示的计算设备的一个示例的进一步细节的框图。
图4A-B是图示根据本公开的一个或多个技术的计算设备从手势确定候选词和/或短语的示例操作的流程图。
图5是图示根据本公开的一个或多个技术的计算设备从手势确定候选词和/或短语的示例操作的流程图。
图6是图示根据本公开的一个或多个技术的在远程设备输出图形内容以显示的示例计算设备的框图。
具体实施方式
一般地,本公开涉及一种用于基于检测到的手势(例如,用于选择图形键盘中包括的字符顺序的手势)递增地确定候选短语的一个或多个候选词的技术。在一些示例中,显示图形键盘的存在敏感显示设备还可检测手势。存在敏感显示器(例如触敏屏幕)可使得用户能够通过检测以在存在敏感显示器处或附近执行的手势的形式的用户输入来输入文本。在某些示例中,用户可以通过在存在敏感显示器处或附近执行一个或多个手势来输入文本串(例如词或短语)。这里描述的技术可以改进用户使用图形键盘输入这样的文本的能力。
例如,不同于执行多个离散手势来输入单个词或短语(例如多个触摸手势,每个离散触摸手势用于选择词或短语的字符),本公开的技术可使得用户能够执行指示词或短语的单个手势。作为示例,使用本公开的技术,用户可以执行指示多词短语的连续运动手势,而不用从存在敏感显示器中移除用于提供手势(例如手指、笔、触笔等)的输入单元。
随着用户执行手势,计算设备可递增地确定手势所指示的图形键盘的一组键。递增确定可包括搜索手势的一个或多个点,每个都对准对应于给定字母的键的给定键盘位置。搜索可包括选择与键盘的字母最佳地对准的手势的点。
为了确定手势所指示的候选词,计算设备可确定一个或多个词级令牌,每个令牌包括手势所指示的预测字符的串。每个词级令牌可以是字典(例如词典(dictionary))中包括的一个或多个词的前缀。计算设备可以基于词级令牌确定手势所指示的一个或多个候选词。为了确定候选短语,计算设备可以确定一个或多个短语级令牌,每个令牌包括手势所指示的多个字符串。也就是说,除了表示字典中包括的一个或多个词的前缀,词级令牌自身还表示字典中包括的完整词。表示字典中包括的候选词的词级令牌可以指示手势所指示的下一个键表示新候选词的开始。这样,响应于确定词级令牌表示字典中的候选词,计算设备可以确定包括多个字符串的短语级令牌。随着用户提供手势,计算设备可以递增地确定手势所指示的一个或多个候选词和一个或多个候选短语。
这样,使用这里描述的技术,计算设备可以至少部分地并行基于手势和词典中的各种状态两者来为手势确定一个或多个可能解释。以此方式,这里公开的技术可以使用空间和/或字典手势模型,一次一个节点/字母地将手势与在诸如字典特里树(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可以使得诸如UI设备4的与计算设备2相关联的其他组件提供基于数据的输出。例如,UI模块6可以从手势模块8接收数据,使得UI设备4在GUI 12的文本交付(committing)区域14显示信息。
UI模块6可以以各种方式实现。例如,UI模块6可以被实现为可下载或预安装应用或“app”。在另一示例中,UI模块6可以被实现为计算设备2的硬件单元的一部分。在另一示例中,UI模块6可以被实现为计算设备2的操作***的一部分。
计算设备2在一些示例中包括手势模块8。手势模块8可包括对计算设备2执行各种操作的功能,诸如根据这里描述的技术来递增地从手势确定文本的功能。手势模块8可以以各种方式实现。例如,手势模块8可以被实现为可下载或预安装应用或“app”。在另一示例中,手势模块8可以被实现为计算设备2的硬件单元的一部分。在另一示例中,手势模块8可以被实现为计算设备2的操作***的一部分。
手势模块8可以从与计算设备2相关联的组件诸如UI模块6接收数据。例如,手势模块8可以从UI模块6接收手势数据使得手势模块8从手势数据确定文本。在一些示例中,手势模块8基于从UI模块6接收到的信息,确定响应于用户手势而触摸或检测的UI设备4的一个或多个位置。在一些示例,手势模块8可以确定与手势相关联的一个或多个特征,诸如两个对准点之间的欧几里得距离、手势路径的长度、手势的方向、手势路径的曲率、手势的形状、对准点之间的手势的最大曲率、手势的速度等等。手势模块8还可以发送数据到与计算设备2相关联的组件,诸如UI模块6。例如,手势模块8可以发送从手势数据确定的文本到UI模块6,使得UI设备4显示GUI 12。
如图1中所示,GUI 12可以是UI模块6生成的用户接口,其允许用户18与计算设备2交互。GUI 12可以包括图形内容。图形内容通常可以包括文本、图像、一组运动图像等等。如图1中所示,图形内容可以包括图形键盘16、文本交付区域14、文本建议区域24A-C(统称为“文本建议区域24”)。图形键盘16可以包括多个键,诸如“Q”键20A、“W”键20B、“E”键20C、“R”键20D、“A”键20E、“S”键20F、“I”键20G、“O”键20H、“M”键20J和“N”键20K。在一些示例中,图形键盘16中包括的多个键中的每个表示单个字符。在其他示例中,图形键盘16中包括的多个键中的一个或多个表示基于多个模式选择的一组字符。
在一些示例中,文本交付区域14可以包括包含在例如文本消息、文档、电子邮件消息、web浏览器等中的字符或其他图形内容。例如,文本交付区域14可以包括用户18经由在UI设备4执行的手势而选择的字符或其他图形内容。在一些示例中,文本建议区域24可以每个都显示词和/或多词短语,如图1的示例中所图示,文本建议区域24可以是与文本交付区域14不同的GUI 12的区域。在其他示例中,文本建议区域24可以是GUI 12的单个区域,并且可以包括与文本交付区域14相同的GUI 12的一个或多个区域。类似地,尽管在图1的示例中被图示为分立的区域,文本建议区域24在一些示例中可以是GUI 12的单个区域。
UI模块6可以使UI设备4显示图形键盘16以及检测具有由手势模块8依据在此公开的技术递增地确定的手势路径22的手势。此外,UI模块6可以使UI设备4在文本建议区域24中的一个或多个中显示从手势确定的候选词和/或短语。
图形键盘16可以由UI设备4显示为排序的可选键集。键可以表示来自字符集(例如英文字母表的字母)的单个字符,或者可以表示字符的组合。图形键盘的一个示例可以包括常规的“QWERTY”键盘布局。其他示例可以包含用于不同语言、不同字符集、或不同字符布局的字符。如图1的示例中所示,图形键盘16包括用于英文语言的常规的“QWERTY”键盘布局的版本,用于提供字符键,以及提供其他功能的各种键(例如“?123”键)。
计算设备2在一些示例中包括语言模型10。语言模型10可以包括字典。在一些示例中,字典可以包括词的列表并且可以包括有关所列词的附加信息。字典可以由一个或多个数据结构来表示,诸如由阵列、列表、树或其他数据结构中的一个或多个来表示。例如,语言模型10可以包括以特里树数据结构存储的字典。字典特里树数据结构可以包括多个节点。字典特里树的每个节点可以表示字母。字典特里树中的第一节点可以被认为是进入节点,其不可对应于字母。在其他示例中,进入节点可以对应于字母。每个节点可以具有一个或多个子节点。例如,进入节点可以具有二十六个子节点,每个对应于英文字母表的字母。
字典特里树中的节点的子集每个可包括指示节点为终端节点的标志。字典特里树的每个终端节点可以指示字典中包括的完整词(例如候选词)。沿着从进入节点到终端节点的节点路径的节点所指示的字母可以拼出终端节点所指示的词。在一些示例中,语言模型10可以是安装在计算设备2上的缺省词典。在某些示例中,语言模型10可以包括安装在计算设备2上的一组预定义的短语。在其他示例中,语言模型10可以包括多个字典源,其可以存储于计算设备2处,或存储于一个或多个远程计算设备,计算设备2可通过一个或多个通信信道访问其。
在一些示例中,语言模型10可以利用计算设备2的固件来实现。语言模型10可以包括语言模型频率信息,诸如n元语言模型。n元语言模型可以基于序列中的先前项目提供项目的连续序列中的项目xi(字母、词、标点符号或其他定界符)的概率分布(即P(xi|xi-(n-1),...,xi-1))。例如,二元语言模型(n元模型中n=2)可以提供字母“w”跟在字母序列“no”之后的概率。作为另一示例,三元语言模型(n元模型中n=3)可以提供词“to”跟在词序列“we aim”之后的概率。在某些示例中,三元语言模型可以提供定界符字符(例如逗号定界符字符、句号定界符字符、分号定界符字符)位于第一字符串和第二字符串之间的概率。例如,三元语言模型可以提供逗号定界符字符位于第一字符串“example”和第二字符串“the”之间的概率。在一些示例中,语言模型10包括具有集成语言模型频率信息的字典特里树。例如,字典特里树的每个节点可以包括字母和概率值的表示。
本公开的技术可以改进用户可以输入文本到计算设备中的速度和准确度。使用本公开的技术,用户可以代替执行用于词的每个键的离散手势来执行指示词的单个手势。类似地,根据这里所述的技术,用户可以执行指示短语中的多个词(例如两个词、三个词、五个词或其他数量的词)的字符的单个手势。
随着用户执行手势,计算设备可以递增地确定手势所指示的一组键。每个键可以与一个或多个字符相关联。计算设备可以基于所确定的一组键来确定一个或多个词级令牌,每个词级令牌包括多个预测字符的单个串。计算设备可以基于词级令牌来确定手势所指示的一个或多个候选词。此外,计算设备可以确定词级令牌自身表示字典中所包括的完整词。作为响应,计算设备可以确定包括多个字符串的短语级令牌。例如,计算设备可以将短语级令牌确定为表示字典中包括的完整词的词级令牌和开始于由手势指示的下一选择的键开始的另一词级令牌的组合。通过在执行手势时递增地解码手势,可以以最小手势后输入处理时间向用户呈现候选词和/或短语。而且,通过使得用户能够用单个手势来输入词和/或短语,本公开的技术可以使得用户能够增加输入文本的速度。
如图1的示例中所示,UI模块6可以输出包括用于在UI设备4显示的图形键盘16的GUI 12。UI设备4(例如存在敏感和/或触敏显示器)可以检测手势以选择图形键盘16的一个或多个键。在一个示例中,手势可以是连续运动手势,包括输入单元(例如手指、笔、触笔等等)从UI设备4的第一位置到UI设备4的第二位置的运动,使得从第一位置到第二位置所执行的手势被UI设备4在整个手势执行中所检测。例如,诸如当UI设备4包括触敏显示器时,手势可以包括输入单元从第一位置到第二位置的运动,在输入单元和UI设备4之间的接触基本上恒定。如图1的示例中所图示,UI设备4可以检测手势,包括用户18的手指沿着手势路径22所提供的从UI设备4显示“W”键20B的位置到UI设备4显示“M”键20J的位置的手势路径22,使得UI设备4在整个手势路径22中检测手指。
手势可以包括多个部分。在一些示例中,手势可以被划分为具有基本上相等持续时间的部分。当手势包括多个部分时,手势可以包括最终部分,其可以是在检测手势完成之前所检测到的手势的一部分。例如,在用户18将他/她的手指移动出与UI设备4的接近,使得手指不再由UI设备4检测的情况下,手势的一部分可以被指定作为最终部分。
如所示,用户18可以执行用于选择多个键中的一组键的手势。在图1的示例中,随着用户18通过跟踪手势路径22通过或接近键盘16的与期望短语的字符(例如,与短语“we aim”相对应的字符,由“W”键20B、“E”键20C、“A”键20E、“I”键20G和“M”键20J表示)相对应的键来执行手势,UI模块6可以在存在敏感显示器处递增地检测具有手势路径22的手势。UI模块6可以发送指示手势路径22的数据到手势模块8。在一些示例中,随着手势路径22被UI设备4检测到并被UI模块6接收,UI模块6递增地发送指示手势路径22的数据到手势模块8。例如,随着手势路径22被UI设备4检测到并被UI模块6接收,UI模块6可以发送指示手势路径22的坐标对的流到手势模块8。如图1的示例中,手势模块8可以从UI模块6接收手势路径22的指示,包括用于选择“E”键20C的手势路径22的部分22A以及用于选择“A”键20E的手势路径22的部分22B。
响应于接收表示手势路径22的数据,手势模块8可以确定一个或多个词级令牌,每个词级令牌包括多个预测字符的单个串。例如,至少部分地基于手势路径22的部分22A的指示,手势模块8可以确定一个或多个词级令牌,每个词级令牌包括部分22A所指示的预测字符的单个串。作为示例,手势模块8可以将第一词级令牌确定为与对“Q”键20A和“E”键20C的预测选择的指示相对应的预测字符串“qe”。类似地,手势模块8可以将第二词级令牌确定为与对“W”键20B和“E”键20C的预测选择的指示相对应的预测字符串“we”。手势模块8可以至少部分地基于图形键盘16的一个或多个所选择的键来递增地确定多个这样的词级令牌。每个词级令牌的每个字符可以与显示与字符相对应的键的UI设备4的区域相关联。手势模块8可以基于相对于显示与词级令牌的一个或多个字符相对应的一个或多个键的UI设备4的区域的观察到的触摸点来确定该一个或多个词级令牌。
包括预测字符的单个串的每个词级令牌可以是字典中所包括的词的前缀。手势模块8可以至少部分地基于一个或多个词级令牌来确定一个或多个候选词。候选词可以是向用户建议的由手势路径22所指示的一组键组成的词。作为示例,如上所述,手势模块8可以响应于接收手势路径22的部分22A的指示而确定一个或多个词级令牌,诸如包括预测字符串“qe”的第一词级令牌、包括预测字符串“we”的第二词级令牌、包括预测字符串“wr”的第三词级令牌、或其他词级令牌。词级令牌中的一个或多个可以是字典中所包括的词的前缀。手势模块8可以在某些示例中将一个或多个候选词递增地确定为字典中包括的词的以词级令牌为前缀的一个或多个词。
此外,词级令牌中的一个或多个可以表示字典中包括的候选词。例如,在本示例中,手势模块8可以确定,包括预测字符串“we”的第二词级令牌,除了是字典中包括的词(例如词“went”、“were”等等)的前缀之外,其自身表示字典中所包括的候选词(即,英文语言中的词“we”)。这样,手势模块8可以确定手势路径22所指示的下一所选择的键,不同于表示以字符串“we”为前缀的词的下一字母,而是可以表示下一词的第一字母。响应于确定词级令牌表示字典中的候选词,手势模块8可以至少部分地基于词级令牌和手势路径22所指示的下一预测字符键来确定短语级令牌。
例如,如图1的示例中所图示,UI模块6可以接收在UI设备4处检测到的手势路径22的部分22B的指示。手势模块8可以从UI模块6接收与手势路径22的部分22B的指示相对应的数据。响应于确定包括预测字符的单个串“we”的词级令牌表示字典中包括的候选词,手势模块8可以至少部分地基于如手势路径22的部分22B所指示的下一所选择的字符而生成短语级令牌。例如,手势模块8可以确定包括由空格字符所分隔的多个字符串“we”和“a”的短语级令牌。也就是说,短语级令牌可以包括表示词典中的候选词的词级令牌和以手势路径22的部分22B所指示的下一预测字符开始的下一词级令牌。
手势模块8可以基于短语级令牌确定候选短语,诸如通过将候选短语确定为表示词典中的候选词的词级令牌以及以开始于下一预测字符的下一词级令牌为前缀的候选词的组合。作为示例,手势模块8可以确定一个或多个候选短语,诸如短语“we are”、短语“we ask”等。在一些示例中,手势模块8可以使得UI模块6输出候选短语中的一个或多个以在文本建议区域24处显示。
除了至少部分地基于对下一所选字符的指示来确定短语级令牌,手势模块8可以至少部分地基于下一所选字符来确定词级令牌。例如,手势模块8可以至少部分地基于包括通过空格字符分隔的多个字符串“we”和“a”的词级令牌来确定短语级令牌,并且可以确定包括预测字符的单个串“wea”的词级令牌。也就是说,手势模块8可以并行地递增确定手势路径22所指示的预测词以及预测短语,由此使得用户能够提供一个连续的手势来选择在候选词和候选短语两者中包括的一组键。
手势模块8可以通过确定由手势路径22滑过的一组对准点、确定多个键中的至少两个键中的每一个的相应成本值、以及比较多个键中的至少两个键中的至少每一个的相应成本值,来确定一个或多个词级令牌和短语级令牌,如下面进一步描述的。
对准点是沿着手势路径22的点,其可以指示包括在图形键盘16中的多个键中的键。对准点可以包括与所确定的对准点的位置相对应的一个或多个坐标。例如,对准点可以包括与GUI 12上的点相对应的笛卡尔坐标。
在一些示例中,手势模块8基于与手势路径22相关联的多个特征来确定手势路径22滑过的一组对准点。与手势路径22相关联的多个特征可以包括手势路径22的段的长度。例如,手势模块8可以确定沿着从先前的对准点和当前对准点的手势段的长度。为了更好对准,长度将更接近近似于两个对应键盘字母之间的直线距离。
在另一示例中,手势模块8可以确定从手势路径22的第一点到第二点的段的方向以确定一组对准点。为了更好对准,段的方向将更加接近近似于两个对应键盘字母之间的直线的方向。
在一些示例中,手势模块8可以确定手势路径22的特征,诸如手势路径22的段的曲率、表示路径22的段被检测到的速率的局部速度、以及表示手势路径22被检测到的速率的全局速度。如果手势模块8确定局部速度的较慢速度或暂停,手势模块8可以确定段处的点更可能是对准点。如果手势模块8确定手势被快速绘制,手势模块8可以确定手势更可能是不精确的并因此手势模块8可以对语言模型应用比空间模型大的权重(即n元频率)。在一个示例中,手势模块8可以基于具有高曲率值的手势路径22的段来确定一组对准点中的对准点。此外,手势模块8可以基于具有低局部速度的手势路径22的段(即,用户的手指在执行该手势段时减慢速度)来确定一组对准点中的对准点。在图1的示例中,手势模块8可以在手势路径22的开始处确定第一对准点,在手势路径22经历曲率显著变化的点处确定第二对准点,在手势路径22的结束处确定第三对准点。在另一示例中,本公开的技术可以将手势的形状识别为特征并基于该手势形状来确定对准点。
在一些示例中,手势模块8可以确定键盘16中所包括的多个键中的至少两个键中的每一个的相应成本值。每个相应成本值可以表示对准点指示键的概率。在一些示例中,相应成本值可以基于手势路径、对准点和/或键的物理特征。例如,相应成本值可以基于相对于键的物理位置的对准点的物理位置。
在一些示例中,相应成本值可以基于语言模型10。例如,相应成本值可以基于在第一键之后第二键将被选择的概率(例如,“e”键将在“w”键之后被选择的概率)。作为另一示例,相应成本值可以基于第二候选词将跟在第一候选词之后的概率(例如,候选词“aim”将跟在候选词“we”之后的概率)。在某些示例中,对其确定相应成本值的键是至少部分地基于语言模型10而选择的。在一些示例中,在存在对准点指示键的较大可能性的情况下,成本值较低。在其他示例中,在存在对准点指示键的较大可能性时,成本值较高。
在某些示例中,语言模型10可以包括关于一个或多个定界符字符位于短语级令牌的第一字符串和第二字符串之间的概率的频率信息。例如,短语级令牌可以包括:第一字符串,包括字符“John”;以及第二字符串,包括字符“this”。在这样的示例中,语言模型10(例如,n元语言模型)可以包括指示一个或多个定界符字符位于第一字符串(例如字符串“John”)和第二字符串(例如字符串“this”)之间的概率的频率信息。
例如,语言模型10可以包括指示逗号定界符位于第一字符串“John”和第二字符串“this”之间的概率的频率信息。在一些示例中,计算设备2可以至少部分地基于语言模型10所指示的定界符位于短语级令牌的第一和第二字符串之间的概率来将短语级令牌确定为包括位于第一字符串和第二字符串之间的一个或多个定界符字符。这样,在某些示例中,计算设备2可以自动地在候选短语中***一个或多个定界符字符,由此使得用户能够提供单个连续手势来选择短语的一个或多个字符而不用提供用于确认性选择一个或多个定界符字符的输入。这样,在某些示例中,图形键盘16可能不包括与一个或多个定界符字符相关联的键。例如,在一些示例中,图形键盘16可以不包括与空格定界符字符、句号字符、逗号字符、连字号字符、撇号字符或其他定界符字符中的一个或多个相关联的键。
这样的定界符字符的示例可以包括但不限于逗号定界符字符、句号定界符字符、分号定界符字符、问号定界符字符、连字号定界符字符、撇号定界符字符、或其他标点定界符字符中的一个或多个。通常,定界符字符可以包括可用于分隔或定界字符或字符串的任何字符(例如,标点符号等)。作为示例,在图1的示例中,语言模型10可以包括逗号定界符字符位于字符串“We”和字符串“aim”之间的概率。作为另一示例,语言模型10可以包括句号定界符字符位于字符串“West”和字符串“on”之间的概率。
在一些示例中,语言模型10可以包括多于一个的定界符位于第一和第二字符串之间的概率,例如,第一字符串可以包括字符“e.g”,第二字符串可以包括字符“the”。在这样的示例中,语言模型10可以包括句号定界符字符和逗号定界符字符都位于第一和第二字符串之间的概率,使得短语级令牌包括短语“e.g.,the”(即,第一字符串“i.e”之后跟着句号定界符字符和逗号定界符字符)。作为另一示例,语言模型10可以包括诸如句号定界符字符和两个空格定界符字符的多个定界符字符位于第一和第二字符串之间的概率。例如,第一字符串可以包括字符“end”,第二字符串可以包括字符“next”。在这样的示例中,语言模型10可以包括句号定界符字符和两个空格定界符字符位于第一和第二字符串之间的概率,使得短语级令牌包括短语“end.Next”。
手势模块8可以在某些示例中在短语级令牌的第一字符串和短语级令牌的第二字符串之间***一个或多个定界符字符。例如,手势模块8可以将一个或多个定界符字符位于第一和第二字符串之间的概率与阈值(例如阈值概率,诸如百分之六十、百分之七十、百分之九十、或其他概率)进行比较。当所确定的概率满足阈值时,诸如当所确定的概率大于(或等于)阈值时,手势模块8可以在第一和第二字符串之间***一个或多个定界符字符。
在一些示例中,手势模块8可以确定不包括一个或多个定界符字符的第一短语级令牌和包括一个或多个定界符字符的第二短语级令牌。在这样的示例中,手势模块8可以确定不包括一个或多个定界符字符的第一短语级令牌中包括的每个字符的相应成本值。类似地,手势模块8可以确定包括一个或多个定界符字符的第二短语级令牌中包括的每个字符的相应成本值。手势模块8可以至少部分地基于第一短语级令牌和第二短语级令牌的相应成本值来确定一个或多个候选短语。以这样的方式,手势模块8可以递增地确定手势所指示的一个或多个候选短语,该一个或多个候选短语包括位于候选短语的字符串之间的一个或多个定界符字符。
在图1的示例中,手势模块8可以确定表示第一对准点指示“Q”键20A的概率的第一成本值和表示第一对准点指示“W”键20B的概率的第二成本值。类似地,手势模块8可以确定表示第二对准点指示“E”键20C的概率的第三成本值和表示第二对准点指示“R”键20D的概率的第四成本值。以此方式,手势模块8可以递增地确定成本值,每个都表示对准点指示图形键盘16中包括的多个键中的键的概率。例如,手势模块8可以确定表示对准点指示“A”键20E、“S”键20F、“I”键20G、“O”键20H、“M”键20J、“N”键20K或多个键中包括的其他键的概率的成本值。
手势模块8可以比较多个键中的至少两个键的相应成本值以确定具有满足阈值的组合成本值的键组合。组合成本值可以表示手势路径22指示键的组合的概率。手势模块8可以比较多个键中的至少两个键的相应成本值以确定至少两个键中的哪个被对准点所指示。手势模块8可以通过确定哪些键被每个对准点指示来确定键的组合。在一些示例中,手势模块8无关于哪些键被其他对准点指示来确定至少两个键中的哪个被对准点指示。在其他示例中,手势模块8基于哪些键被其他对准点指示来确定至少两个键中的哪个被对准点指示。在这样的示例中,手势模块8可以基于当前对准点的相应成本值来修改哪个键被先前的对准点指示的确定。
在一些示例中,手势模块8可以将所确定的键组合的组合成本值与阈值进行比较。在一些示例中,阈值是不同的所确定的键组合的组合成本值。例如,手势模块8可以确定具有第一组合成本值的第一键组合和具有第二组合成本值的第二键组合。在这样的实例中,手势模块8可以确定候选词或短语基于具有较低组合成本值的键组合。在图1的示例中,手势模块8可以比较所确定的相应成本值以确定具有组合成本值的键组合(即,“W”、“E”、“A”、“I”和“M”)。
在一些示例中,手势模块8在UI设备4完成检测手势路径22时之前开始确定候选词和/或短语。在图1的示例中,不同于在UI设备4完成检测手势路径22之后确定候选词和/或短语,手势模块8可以随着手势路径22被检测来确定多个词和/或短语,诸如“we”、“went”、“wear”、“we are”、“we aim”和“we aimed”。此外,在图1的示例中,手势模块8可以随着手势路径22被检测,同时地修改所确定的多个词,诸如将“we”修改为“wear”。而且,不同于基于手势的几何形状来确定候选词和/或短语,本公开的技术可以基于手势所指示的一组字符来确定候选词和/或短语。手势模块8可以发送所确定的词和/或短语到UI模块6,其然后可以使得UI设备4在GUI 12的文本交付区域14中显示词和/或短语(例如短语“we aim”)。
在一些替选实施例中,用户可以提供与键相关联的字符应该包括在候选词和/或短语中的指示,例如通过在一键处暂停阈值持续时间以指示该字符应该包括在候选词和/或短语中。类似地,用户可以提供下一所选键应该包括在候选短语的下一词中的指示,例如通过在延伸手势到下一词的第一字母之前在词的最后字母处或附近暂停阈值持续时间,或者在延伸手势到下一词的第一字母之前在词的最后字母处或附近执行运动手势(例如,循环手势、向上运动手势、向下运动手势、朝向空格键方向的运动手势等等)。在另一替选实施例中,不同于使用如使用本公开的技术所述的基于特里树的搜索,手势模块8可以维护分立的特定于手势的词列表或词典。
在一些示例中,本公开的技术提供对计算设备的有效执行,例如,在一些情况下,在少于100毫秒内识别手势。本公开的技术还可以使用安装在移动设备上的缺省词典而不是使用可以分立维护并且使用附加存储资源的专用手势字词。以这种方式,本公开的技术可以通过使用已经由缺省输入***存储的词典来减少存储要求。而且,词典可以被有效实现为压缩字典特里树。根据公开的技术,使用已经在计算设备上提供的缺省词典也提供了对外语、联系人姓名和用户添加的词的已有支持。通过使用例如字典特里树和缺省词典,本公开的技术可以将语言模型频率(即n元概率)集成到手势解释中,由此基于手势的形状和考虑的词的概率两者来允许搜索技术集中于对于候选词来说最有希望的路径。
此外,通过使用空间模型和语言模型两者来递增地确定手势所指示的多个键的所选键,这里所述的技术可以使得计算设备能够确定没有包括在字典中的候选词和/或短语。例如,基于包括手势滑过的对准点和手势的其他特征(例如手势的一个或多个部分的局部速度、手势的全局速度、手势的一个或多个部分的曲率等等)的确定的空间模型与语言模型(例如,预测字符和/或词的n元频率)的组合,计算设备可以确定手势所指示的最可能的一组键包括没有拼出字典中所包括的词的一组键。这样,根据这里所述的技术,计算设备可以使得用户能够提供用于选择没有拼出包括在字典中的词的一组键的单个手势,所述词诸如缩写或其他这样的字符串。
图2是图示根据本公开的一个或多个技术的图1中所示的计算设备的一个示例的进一步细节的框图。图2仅仅图示了如图1中所示的计算设备2的一个特定示例,计算设备2的许多其他示例可用于其他实例。
如图2的特定示例中所示,计算设备2包括一个或多个处理器40、一个或多个输入设备42、一个或多个通信单元44、一个或多个输出设备46、一个或多个存储设备48、以及用户接口(UI)设备4。计算设备2在一个示例中进一步包括可由计算设备2(例如由一个或多个处理器40)执行的UI模块6、手势模块8、和操作***58。计算设备2在一个示例中进一步包括语言模型10、键区域52、活动射束(active beam)60和下一射束(next beam)56。
每个组件4、40、42、44、46和48可以互相连接(物理地、通信地和/或可操作地)用于组件间的通信。在一些示例中,通信信道50可以包括***总线、网络连接、进程间通信数据结构、或者用于传送数据的任何其他方法。作为图2中的一个示例,组件4、40、42、44、46和48可以通过一个或多个通信信道50耦合。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的示例包括存在敏感显示器、鼠标、键盘、语音响应***、视频相机、麦克风或用于检测来自用户的命令的任何其他类型的设备。在一些示例中,存在敏感显示器包括触敏屏幕。
一个或多个输出设备46也可以包括在计算设备2中。输出设备46在一些示例中被配置为使用触觉、音频或视频刺激来提供输出给用户。输出设备46在一个示例中包括存在敏感显示器、声卡、视频图形适配器卡、或用于将信号转换为人类或机器可理解的合适形式的任何其他类型的设备。输出设备46的附加示例包括扬声器、阴极射线管(CRT)监视器、液晶显示器(LCD)、或者能够生成可理解输出给用户的任何其他类型的设备。
在一些示例中,UI设备4可以包括输入设备42和/或输出设备46的功能。在一个示例中,UI设备4可以是触敏屏幕。在图2的示例中,UI设备4可以是存在敏感显示器。在一些示例中,存在敏感显示器可以在存在敏感显示器处或附近检测对象,诸如输入单元(例如用户的手指、触笔等等)。作为一个示例范围,存在敏感显示器可以检测存在敏感显示器的物理屏幕的2英寸或更小内的用户的手指。存在敏感显示器可以确定检测手指的存在敏感显示器的一个或多个位置(例如,(x,y)坐标)。在另一示例范围,存在敏感显示器可以检测距离存在敏感显示器的物理屏幕6英寸或更小的对象,其他示例范围也是可能的。存在敏感显示器可以使用电容性、电感性和/或光学识别技术来确定用户手指选择的显示器的位置。在一些示例中,存在敏感显示器使用触觉、音频或视频刺激提供输出给用户,如关于输出设备46所述。
计算设备2可以包括操作***58。操作***58在一些示例中控制计算设备2的组件的操作。例如,操作***58在一个示例中促进UI模块和/或手势模块8与处理器40、通信单元44、存储设备48、输入设备42和输出设备46的通信。UI模块6和手势模块8每个都可以包括可由计算设备2执行的程序指令和/或数据。作为一个示例,UI模块6可以包括使得计算设备2执行本公开中所述的操作和动作中的一个或多个的指令。
计算设备2可以包括活动射束54。活动射束54在一些示例中被配置为存储由手势模块8生成的一个或多个令牌(例如一个或多个词级令牌和/或短语级令牌)。活动射束54可以被包括在存储设备48内。活动射束54的具体功能在下面图3的描述中进一步描述。
计算设备2还可以包括下一射束56。下一射束56在一些示例中被配置为存储由手势模块8生成的一个或多个令牌(例如一个或多个词级令牌和/或短语级令牌)。下一射束56可以被包括在存储设备48内。下一射束56的具体功能在下面图3的描述中进一步描述。
计算设备2可以包括附加组件,清楚起见,未在图2中示出。例如,计算设备2可以包括电池来为计算设备2的组件供电。类似地,图2中所示的计算设备2的组件可能并非在计算设备2的每个示例中都是必要的。例如,在一些配置中,计算设备2可以不包括通信单元44。
根据本公开的技术,计算设备2可在输出设备46处输出包括多个键的图形键盘。用户18可以执行用于在输入设备42选择多个键中的一组键的手势。响应于用户18执行手势,输入设备42可以检测手势路径,诸如图1的手势路径22,可以由UI模块6接收作为手势路径数据。手势路径可以包括手势的用于选择多个键中的第一键的第一部分(例如,手势路径22的部分22A)和手势的用于选择多个键中的第二键的第二部分(例如,手势路径22的部分22B)。手势模块8可以从UI模块6接收手势路径数据。在一些示例中,UI模块6随着手势路径22被输入设备42检测而递增地发送手势路径数据到手势模块8。
响应于接收手势路径数据,手势模块8可以在可包括在语言模型10的字典的进入节点创建令牌。在一些示例中,语言模型10可以被实现为特里树数据结构。每个可移动令牌可以表示字典中的节点(即,部分词和/或短语)与沿着手势的点之间的部分对准。随着令牌前进到字典中的子节点(即,词中的下一字母和/或短语的下一词),手势上的对应的对准点也可前进。随着令牌前进到词中的下一字母或前进到短语中的下一词,本公开的技术可以确定令牌需要沿着手势路径前进多远。例如,本公开的技术可以包括沿着手势搜索最佳对准键的字母的对准点,考虑下面描述的多个特征。
如图1中所述,字典特里树数据结构可包含多个节点,每个节点可表示字母。手势模块8可以将令牌推送到活动射束54。手势模块8可以在令牌的子节点的每个上创建令牌副本。在图1的示例中,手势模块8可以在表示字母“W”(例如,对应于“W”键20B的预测键选择)的子节点上创建第一词级令牌副本和在表示字母“Q”(例如,对应于“Q”键20A的预测键选择)的子节点上创建第二词级令牌副本。词级令牌中的每个可以包括预测字符的单个串。
对于每个令牌副本,手势模块8可以基于与手势路径数据相关联的多个特征来确定手势所滑过的对准点。在图1的示例中,手势模块8可以确定第一对准点位于手势路径22的开始处。在一些示例中,手势模块8可以确定在沿着手势路径的点处的路径的曲率。在这样的示例中,手势模块8可以确定该点更可能是存在高曲率处(手势路径在该点突然地改变方向)的对准点。在其他示例中,手势模块8可以确定中间段曲率(在沿着手势的两个点之间的手势路径的最大曲率)。在另一示例中,手势模块8可以确定点不太可能是存在高中段曲率的下一对准点。在一些示例中,手势模块8可以基于检测手势路径的速度来确定点是对准点。在一些示例中,较慢的检测速度指示点是对准点。在一些示例中,高中段曲率可以指示存在第一点和第二点之间的角,表明第二点不太可能是下一对准点(即,点在中间丢失)。
在一些示例中,对准点可以基于两个或更多个点之间的手势段的点之间的最大距离以及从第一键到第二键的理想线。理想线可以是例如从第一键到第二键的最短距离路径。为了更好对准,最大距离可以小,代表手势段不偏离理想线。
对于每个对准点,手势模块8可以确定多个键中的至少两个键中的每个的相应成本值。每个相应成本值可以表示对准点指示多个键中的一个键的概率。在图1的示例中,手势模块8可以确定表示第一对准点指示表示字母“W”的节点的概率的第一成本值和表示第一对准点指示表示字母“Q”的节点的概率的第二成本值。在一些示例中,手势模块8可以然后利用相应对准点和/或成本值来更新令牌副本并且将令牌副本推送到下一射束56中。在图1的示例中,手势模块8可以将第一成本值添加到第一令牌副本,将第二成本值添加到第二令牌副本。
在一些示例中,手势模块8通过比较相应物理成本值与相应字典成本值来确定相应成本值,如下面进一步所述。在一些示例中,手势模块8可以将一个或多个加权因子应用到相应物理成本值,并且可以将一个或多个不同加权因子应用到相应字典成本值。例如,手势模块8可以通过对物理成本值乘以物理加权因子的结果与字典成本值乘以字典加权因子的结果求和来确定成本值。
在一些示例中,手势模块8可以确定应用到一个或多个字典成本值的一个或多个字典加权因子应该在幅度上大于应用到一个或多个物理成本值的一个或多个相应物理加权因子的幅度,诸如在手势路径以高速度被检测的情况。例如,手势模块8可以确定与特征相关联的值(例如速度)满足一个或多个阈值,诸如当手势的全局速度大于或等于阈值,小于或等于阈值,等等时。在某些示例中,手势模块8可以确定:如果所确定的值满足阈值,则物理成本值是不可靠的。在一些示例中,手势模块8可以使用统计机器学习来适配用户的样式并且随时间修改加权值。例如,手势模块8可以响应于确定用户在执行手势时不准确而对字典成本值比对物理成本值加权更大。在一些示例中,手势模块8可以确定物理成本值应该比字典成本值加权更大。手势模块8可以确定:在存在字典成本值可能不可靠的指示的情况,诸如在用户具有输入不在字典中包括的词的历史的情况,物理成本值应该比字典成本值加权更大。在一些示例中,加权值可以被启发式地估计和优化,诸如通过从多个计算设备测量准确度。
手势模块8可以确定多个键中的至少两个键中的每一个的相应物理成本值。每个相应物理成本值可以表示一组对准点中的一个对准点的物理特征指示多个键中的一个键的物理特征的概率。例如,手势模块8可以通过评估一组对准点中的一个对准点与键的键盘位置之间的欧几里得距离来确定相应物理成本值。
多个键的物理特征可以包括在键区域52中。例如,键区域52可以对于多个键中的每个包括与显示每个键的图形键盘16的位置和/或区域相对应的一组坐标。在图1的示例中,手势模块8可以基于第一对准点和“W”键20B之间的欧几里得距离来确定第一物理成本值。在一些示例中,手势模块8可以通过比较第一对准点和第二对准点之间的欧几里得距离与第一对准点所指示的第一字母与可以由第二对准点表示的第二字母之间的欧几里得距离来确定物理成本值。手势模块8可以确定第二字母的成本值与这些距离之间的差成反比(即,当距离更相似时,第二字母更可能)。例如,更小的距离可能表明更好的对准。
手势模块8还可以通过确定多个键中的至少两个键中的每个键的相应字典成本值来确定相应成本值。每个相应字典成本值可以基于词级令牌来表示多个键中的一个键所表示的字母包括在候选词中的概率。字典成本值可以基于语言模型10。例如,字典成本值可以表示基于语言模型10中包括的可能词选择给定字母的可能性。在图1的示例中,手势模块8可以基于指示字母“W”是词中的第一字母的频率的语言模型10中的输入来确定第一字典成本值。
手势模块8可以确定令牌是否在字典的终端节点处。字典的终端节点可以是表示字典中包括的完整词的节点。例如,在图1的示例中,手势模块8可以至少部分地基于对手势路径22的部分22A的指示来确定包括预测字符的单个串“we”的词级令牌。这样的词级令牌可以表示在字典中包括的一个或多个候选词的前缀,诸如词“went”、“were”、“weather”等。此外,词级令牌自身可以表示字典中包括的完整词,诸如英文语言中的词“we”。响应于确定词级令牌表示字典中包括的完整词,手势模块8可以生成下一词令牌。下一词令牌可以指示多个键中的下一选择键是第二词级令牌的前缀。
这样,响应于接收用于选择多个键中的下一键的手势的部分的指示,手势模块8可以在每个词级令牌的子节点上创建令牌副本以包括由所接收的手势的部分所指示的预测字符。此外,响应于接收用于选择多个键中的下一键的手势的部分的指示,手势模块8可以创建包括第二词级令牌的短语级令牌,第二词级令牌包括以预测字符为前缀的第二预测字符串。手势模块8可以作为表示字典中包括的候选词的第一词级令牌与第二词级令牌的组合来确定短语级令牌。因此,手势模块8可以并行地递增确定手势所指示的一个或多个候选词和手势所指示的一个或多个候选短语。
作为示例,手势模块8可以接收手势路径22的部分22A的指示。作为响应,手势模块8可以确定包括预测字符的单个串“we”的第一词级令牌。手势模块8可以使用第一词级令牌确定手势所指示的一个或多个候选词。例如,手势模块8可以确定以预测字符的单个串为前缀的一个或多个候选词,诸如词“were”、“went”等。此外,手势模块8可以确定包括预测字符的单个串“we”的第一词级令牌表示字典中包括的候选词,诸如英文语言中的词“we”。作为响应,手势模块8可以生成指示下一所选键是第二词级令牌的前缀的下一词令牌。
在本示例中,随着用户继续执行手势,手势模块8可以接收手势路径22的部分22B的指示。作为响应,手势模块8可以在每个词级令牌的子节点上创建令牌副本以包括接收到的手势部分所指示的预测字符,诸如字母“a”对应于“A”键20E的预测选择。这样,手势模块8可以使第一词级令牌发展为包括预测字符的单个串“wea”。基于第一词级令牌,手势模块8可以确定手势所指示的一个或多个候选词,诸如以预测字符的单个串“wea”为前缀的字典中所包括的词(例如,词“wear”、“weather”等)。
此外,在本示例中,手势模块8可以响应于生成指示下一所选键是第二词级令牌的前缀的下一词令牌而确定包括与“A”键20E的预测选择相对应的预测字符“a”的第二词级令牌。在这个示例中,手势模块8可以作为包括预测字符的单个串“we”的第一词级令牌与包括预测字符的单个串“a”的第二词级令牌的组合来确定短语级令牌。手势模块8可以确定以第二词级令牌中包括的预测字符的单个串“a”为前缀的一个或多个候选词,诸如词“are”、“am”等。手势模块8可以确定由手势所指示的一个或多个候选短语为表示字典中的候选词的第一词级令牌(即,本示例中的词“we”)和以第二词级令牌中包括的预测字符的单个串为前缀的一个或多个候选词(例如,词“are”、“am”等)的组合。手势模块8可以在某些示例中使用字典模型(例如语言模型10)来确定手势所指示的一个或多个候选短语,诸如通过确定与第二词级令牌相关联的给定候选词跟在与第一词级令牌相关联的候选词之后的概率。例如,在这个示例中,手势模块8可以确定候选词“are”比候选词“am”更可能跟在候选词“we”之后,因为短语“we are”可能在语言模型10中比短语“we am”具有更高的概率。
在某些示例中,手势模块8可以保持阈值数量的词级和/或短语级令牌(例如,五十个令牌、一百个令牌、两百个令牌、或其他数量的令牌)并且丢弃其余的。例如,手势模块8可以保持一组一百个词级和/或短语级令牌,包括手势所指示的最可能的词和/或字符串,如基于空间和语言模型所确定的。以此方式,手势模块8可以有效缩放到大字典。
在一些示例中,手势模块8可以选择短语级令牌中包括的字符串作为交付字符串,并且可以输出交付字符串以在存在敏感显示器处显示,诸如在GUI 12的文本交付区域14。例如,用户可以在图形键盘16提供用于选择与短语“this is a delightful keyboard”相对应的一组键的手势。响应于接收手势的指示,手势模块8可以确定包括多个预测字符串的一个或多个短语级令牌。手势模块8可以确定短语级令牌满足阈值,诸如短语级令牌中包括的阈值数量的词级令牌。响应于确定短语级令牌满足阈值,手势模块8可以选择短语级令牌中包括的一个或多个字符串作为交付字符串。例如,在本示例中,手势模块8可以选择字符串“this is a”作为交付字符串。作为响应,手势模块8可以从短语级令牌中包括的多个字符串中删除一个或多个交付字符串,并且可以输出这一个或多个交付字符串以在GUI 12的文本交付区域14处显示。此外,手势模块8可以输出已删除交付字符串的短语级令牌以在文本建议区域24中的一个或多个处显示。
例如,在这个示例中,在确定包括多个预测字符串“this is adelightful keyboard”的短语级令牌满足阈值之前,手势模块8可以输出预测短语“this is a delightful keyboard”以在文本建议区域24中的一个或多个处显示。响应于确定短语级令牌满足阈值(例如,确定短语级令牌中包括的词级令牌的数量满足阈值数量,诸如五个词级令牌),手势模块8可以选择一个或多个字符串作为交付字符串,诸如字符串“thisis a”。在这个示例中,手势模块8可以从短语级令牌中删除字符串“thisis a”,由此确定包括字符串“delightful keyboard”的修改的短语级令牌。手势模块8可以输出交付字符串“this is a”以在GUI 12的文本交付区域14处显示。此外,手势模块8可以输出修改后的短语级令牌以在文本建议区域24中的一个或多个处显示,使得字符串“this is a delightfulkeyboard”不再在文本建议区域24显示而字符串“delightful keyboard”在文本-建议区域24中的一个或多个处显示。
手势模块8可以确定UI模块6是否已经完成接收手势路径数据。在UI模块6已经完成接收手势路径数据的情况下,手势模块8可以输出一个或多个候选词和/或短语以在存在敏感显示器处显示。在UI模块6还没有完成接收手势路径数据的情况下,手势模块8可以继续递增地处理手势路径数据。在一些示例中,在UI模块6完成手势路径数据的接收之前,手势模块8可以输出一个或多个输出预测。
因此,根据本公开的技术,手势模块8可以基于所接收到的用于选择图形键盘的一个或多个键的手势的指示来确定一个或多个词级令牌和一个或多个短语级令牌,由此使得用户能够通过提供一个连续的运动手势来输入词或短语。此外,通过随着手势模块8接收用于选择一组键的手势的指示而递增地确定多个词级和/或短语级令牌并且使得相应令牌发展,手势模块8可以基于空间和语言模型来递增地更新其对候选词和/或短语的确定,由此使得能够对手势进行更准确的解释。此外,通过使得用户能够提供一个连续手势来输入多词短语,本公开的技术可以更有效地识别模糊连字符或连接的词,例如,诸如“smoke-free”的连字符或连接的词可能包括在字典中作为单个词“smoke”和“free”,或者作为连字符词“smoke-free”。通过使得用户能够提供单个连续手势来输入多词短语,这里所述的技术可以使得用户能够提供单个手势来输入词而不管该词是否是连字符的。
图3A-C是图示根据本公开的一个或多个技术的图1中所示的计算设备的一个示例的进一步细节的框图。如图3A的概念示例中所示,在时间60,计算设备2可以包括GUI 12、活动射束54A和下一射束56A。GUI 12可以包括图形键盘16,其可包括“Q”键20A和“W”键20B。而在图3A中示出,手势路径22A和/或对准点21A在这里所述的技术的执行期间可能不可见。
如图1的示例中所示,用户可能希望通过在图形键盘16处执行手势来输入文本到计算设备2中。如前所述,当用户执行手势时,计算设备2可以检测具有手势路径的手势。在图3A的示例中,计算设备2被示出为已经检测到手势路径22A。
响应于检测到手势路径22A,计算设备2可以确定沿着手势路径22A的对准点21A。此外,响应于检测到手势路径22A,计算设备2可以创建词级令牌并将词级令牌推送到活动射束54A。在时间60,活动射束54A上的内容可以由下面的表1来表示。
表1
在表1中,每行表示单个词级令牌,索引列表示每个词级令牌的唯一标识符,父索引列表示所列出的词级令牌是其子节点的词级令牌的索引值,当前节点的字母键列表示词级令牌的当前节点所表示的字母键,字母链列表示从进入节点到词级令牌的当前节点的节点所表示的所有字母键,成本值列表示词级令牌的成本值。如表1中所示,创建的词级令牌具有索引0(即,词级令牌0),没有父索引,没有当前节点的字母键,没有字母链,并且成本值为0。
为了确定手势所指示的文本,计算设备2可以在其子字节上创建每个词级令牌的副本。在一些示例中,进入节点可以具有26个子节点(每个英文字母表的字母一个)。为了简化,在图3A的示例中,进入节点只有针对字母“W”和“Q”的两个子节点。因此,计算设备2可以创建词级令牌的副本,子节点“W”(即词级令牌1)和子节点“Q”(即词级令牌2)上的索引为0。对于每个创建的词级令牌副本,计算设备2可以确定如上所述的成本值。计算设备2可以推送每个词级令牌副本到下一射束56A,其内容可以由下面的表2来表示。
表2
在表2中所示的条目格式上类似于表1中所示的条目。在表2中,词级令牌1具有成本值CV1,词级令牌2具有成本值CV2。在创建词级令牌副本之后,计算设备2可以确定词级令牌0不是终端节点,并且可以丢弃词级令牌0。计算设备2可以随后确定活动射束54A是否是空的(即不包含令牌)。响应于确定活动射束54A是空的,计算设备2可以复制下一射束56A的内容到图3B的活动射束54B并且丢弃下一射束56A的内容。
在图3B的示例中,计算设备2被示为在时间62已经检测到手势路径22B。如上所述,活动射束54B的内容可以由表2来表示。计算设备2可以确定沿着手势路径22B的对准点21B。计算设备2可以对于活动射束54B中的每个词级令牌创建每个子节点上的副本。在图3B的示例中,词级令牌1和词级令牌2每个具有带有字母键“E”和“R”的子节点。对于每个创建的词级令牌副本,计算设备2可以如上所述确定成本值。计算设备2可以推送每个词级令牌副本到下一射束56B,其内容可以由下面的表3表示。
表3
表3中所示的条目在格式上类似于表1和表2中所示的条目。在表3中,每个词级令牌的成本值包括先前的字母的成本值和当前字母的成本值。计算设备2可以确定哪个词级令牌(如果有)在终端节点上。例如,计算设备2可以确定词级令牌3在终端节点上,因为其预测字符串(即其字母链)“WE”表示字典中包括的候选词(例如英文语言)。
响应于确定词级令牌在终端节点上,计算设备2可以将词级令牌复制到输出预测的列表。输出预测的列表可以由下面的表4来表示。在一些示例中,计算设备2可以仅将令牌的字母链复制到输出预测的列表。
表4
此外,计算设备2可以响应于确定词级令牌在终端节点上而生成指示多个键中的下一所选键是第二词级令牌的前缀的下一词令牌。下一词令牌可以被认为是第二词级令牌的进入节点。计算设备2可以将下一词令牌(即,第二词级令牌的进入节点)推送到活动射束54B,其内容可以由下面的表5来表示。
表5
表5中所示的条目在格式上类似于表1、2、3中所示的条目。如表5中所示,创建的与下一词令牌相对应的词级令牌具有索引7(即,词级令牌7)、父索引3(即,对应于词级令牌3)、无当前节点的字母键、无字母链以及成本值为0。在某些示例中,词级令牌3和词级令牌7的组合可以被认为是包括多个字符串的短语级令牌。
在图3C的示例中,计算设备2被示为在时间74已经检测到的手势路径22B。如上所述,活动射束54C的内容可以由表5来表示。计算设备2可以确定沿着手势路径22B的对准点21C。计算设备2可以对于活动射束54C中的每个词级令牌创建每个子节点上的副本。在图3C的示例中,令牌3到令牌6每个都具有带有字母键“E”和“R”的子节点。此外,令牌7可以被认为是包括令牌3的短语级令牌的第二词级令牌的进入节点。这样,计算设备2可以在短语级令牌中包括的词级令牌7的子节点创建副本。对于每个创建的词级令牌副本和每个短语级令牌,计算设备2可以如上所述确定成本值。计算设备2可以将每个词级令牌副本和每个短语级令牌副本推送到下一射束56C,其内容可以由下面的表6来表示。
表6
表6中所示的条目在格式上类似于表1-3中所示的条目。在表6中,每个词级令牌的成本值包括先前字母的成本值和当前字母的成本值。此外,每个短语级令牌(即,短语级令牌18和短语级令牌19)的成本值包括每个先前词级令牌的先前字母的成本值、当前词级令牌中的每个先前字母的成本值以及当前词级令牌的当前字母的成本值。这样,计算设备2可以至少部分地基于表示字典中包括的候选词的词级令牌以及字符键的预测选择来确定一个或多个短语级令牌。以这样的方式,计算设备2可以响应于接收用于选择图形键盘中包括的一组键的手势的指示而确定词级令牌和短语级令牌。随着计算设备2接收手势的进一步指示,计算设备2可以继续递增地确定一个或多个词级令牌和一个或多个短语级令牌,由此使得用户能够提供用于选择词或短语的一组键的单个手势。
在图3C的示例中,计算设备2可以确定用户是否已经完成执行手势。响应于确定用户已经完成执行手势,计算设备2可以输出输出预测的列表。输出预测可以包括至少部分地基于一个或多个词级令牌的一个或多个候选词,至少部分地基于一个或多个短语级令牌的一个或多个候选短语,或者这二者。在一些示例中,计算设备2可以确定输出预测的列表的子集,其具有最高成本值(即,具有最高概率的预测)。此外,在一些示例中,计算设备2可以在每个随后的对准点修改输出预测的列表中包含的令牌的成本值。例如,计算设备2可以响应于检测到手势路径22B而增加令牌3的成本值(例如,使令牌3更不可能)。
图4A-B是图示根据本公开的一个或多个技术的从手势确定候选词和/或短语的计算设备的示例操作的流程图。仅为了图示的目的,下面在如图1和2中所示的计算设备2的环境内描述示例操作。
在图4A-B的示例中,计算设备2可以初始地在计算设备2的存在敏感显示器(例如UI设备4)输出包括多个键的图形键盘(例如图形键盘16)(70)。计算设备2可以在存在敏感显示器检测手势(72)。例如,UI设备4可以检测具有手势路径22的手势。在一个或多个处理器40上执行的UI模块6可以接收在UI设备4检测到的手势的指示。响应于接收在存在敏感显示器检测到的手势的指示,计算设备2可以在存储在计算设备2上作为字典特里树的字典的进入节点生成具有成本值0的词级令牌(74)。计算设备2可以将词级令牌推送到活动射束(76)。例如,在一个或多个处理器40上执行的手势模块8可以将词级令牌推送到活动射束54。
计算设备2可以从活动射束选择词级令牌(78)。计算设备2可以在词级令牌的每个子节点上创建词级令牌的副本(80)。计算设备2可以选择词级令牌副本(82)并且确定沿着手势的对准点(84)。计算设备2可以确定表示对准点指示词级令牌副本所位于的节点的字母键的概率的成本值并且将该成本值添加到词级令牌副本(86)。计算设备2可以将词级令牌副本推送到下一射束(88)。计算设备2可以确定是否剩余有任何词级令牌副本(90)。如果还剩余有词级令牌副本(94),计算设备2可以选择新的词级令牌副本(82)。
如果没剩余有任何词级令牌副本(92),计算设备2可以确定词级令牌是否在字典特里树的终端节点(96)。例如,手势模块8可以使用语言模型10来确定词级令牌是否表示字典中包括的候选词(例如,英文语言)。如果词级令牌在终端节点(98),计算设备2可以将由词级令牌表示的词复制到候选词的列表(102),并且可以生成指示图形键盘的多个键的下一所选键是第二词级令牌的前缀的下一词令牌(103)。在将词复制到候选词的列表并且生成下一词令牌之后,或者如果词级令牌不在终端节点(100),计算设备2可以丢弃该词级令牌(104)。
计算设备2可以确定在活动射束中是否剩余任何词级令牌(106)。如果在活动射束中剩余词级令牌(110),计算设备2可以从活动射束中选择新的词级令牌(78)。如果在活动射束中不剩余词级令牌(108),计算设备2可以确定在下一射束中是否剩余任何词级令牌(112)。如果在下一射束中剩余词级令牌(114),计算设备2可以将下一射束复制到活动射束(120)并且从活动射束选择新的词级令牌(78)。如果在下一射束中不剩余词级令牌(116),计算设备2可以在存在敏感显示器输出候选词的列表(118)。
图5是图示根据本公开的一个或多个技术的从手势确定候选词和/或短语的计算设备的示例操作的流程图。为了图示说明的目的,下面在如图1和2中所示的计算设备2的环境内描述示例操作。
在图5的示例中,计算设备2可以输出包括多个键的图形键盘以在可操作地耦合到计算设备的存在敏感显示器处显示(130)。例如,在一个或多个处理器40上执行的UI模块6可以输出图形键盘以在输出设备46处显示。计算设备2可以接收在存在敏感显示器处检测到的手势的指示,手势的第一部分用于选择多个键中的第一键,手势的第二部分用于选择多个键中的第二键(132)。例如,UI模块6可以接收在输入设备42处检测到的手势的指示,该手势包括用于选择“E”键20C的手势路径22的部分22A和用于选择“A”键20E的手势路径22的部分22B。
计算设备2可以至少部分地基于第一键来确定包括多个预测字符的单个串的词级令牌(134)。作为示例,在一个或多个处理器40上执行的手势模块8可以至少部分地基于“E”键20C来确定包括单个串“we”的词级令牌。计算设备2可以确定词级令牌表示字典中包括的候选词(136)。例如,手势模块8可以确定包括单个串“we”的词级令牌表示语言模型10的字典中所包括的候选词“we”(例如,英文语言)。
计算设备2可以响应于确定词级令牌表示字典中的候选词而至少部分地基于词级令牌和第二键来确定短语级令牌(138)。短语级令牌可以包括多个字符串。例如,手势模块8可以至少部分地基于词级令牌“we”和“A”键20E来将短语级令牌确定为多个字符串“we”和“a”。
在一个示例中,操作包括由计算设备2响应于确定短语级令牌而至少部分地基于短语级令牌来确定候选短语;并且由计算设备2输出候选短语以在存在敏感显示器处显示。在一个示例中,短语级令牌的多个字符串包括第一字符串和第二字符串,其中词级令牌包括第一字符串,并且其中第二字符串包括与第二键相关联的字符。在一个示例中,第二字符串开始于与第二键相关联的字符。
在一个示例中,词级令牌包括第一词级令牌,第一词级令牌包括多个预测字符的第一单个串,操作进一步包括由计算设备至少部分地基于第一键和第二键来确定第二词级令牌,第二词级令牌包括多个预测字符的第二单个串。在一个示例中,词级令牌是第一词级令牌,包括多个预测字符的第一单个串,并且确定短语级令牌包括:响应于确定第一词级令牌表示字典中的候选词而生成指示多个键的下一所选键是第二词级令牌的前缀的下一词令牌;响应于确定下一词令牌而确定包括多个预测字符的第二单个串的第二词级令牌,其中第二键是第二词级令牌的前缀;以及将短语级令牌确定为第一词级令牌和第二词级令牌的组合。
在一个示例中,确定短语级令牌进一步包括:基于与手势相关联的多个特征,确定手势所滑过的一组对准点;确定至少第一键、第二键和第三键中的每个的相应成本值,其中每个相应成本值表示一组对准点中的一个对准点指示多个键中的一个键的概率;至少部分地基于所确定的第一键的成本值和所确定的第二键的成本值来确定第一组合成本值;至少部分地基于所确定的第一键的成本值和所确定的第三键的成本值来确定第二组合成本值;比较第一组合成本值和第二组合成本值;以及基于第一组合成本值和第二组合成本值的比较来确定第二词级令牌。
在一个示例,与手势相关联的多个特征包括以下中的至少一个:手势的段的长度,其中所述段包括在存在敏感显示器上手势所滑过的路径;手势的段的方向;手势的段的曲率;表示手势的段被检测到的速率的局部速度;以及表示手势被检测到的速率的全局速度。在一个示例中,确定至少第一键、第二键和第三键中的每个的相应成本值包括:确定至少第一键、第二键和第三键中的每个的相应物理成本值,其中,每个相应物理成本值表示一组对准点中的一个对准点的至少一个物理特征指示多个键中的一个键的至少一个物理特征的概率;确定至少第一键、第二键和第三键中的每个的相应字典成本值,其中,每个相应字典成本值表示多个键中的一个键所表示的字母包括在候选词中的概率;以及基于至少第一键、第二键和第三键中的每个的相应物理成本值和相应字典成本值来确定至少第一键、第二键和第三键中的每个的相应成本值。
在一个示例中,确定至少第一键、第二键和第三键中的每个的相应物理成本值包括比较至少第一键、第二键和第三键中的每个的键区域与关联于手势的多个特征中的至少一个,其中,键区域包括输出相应键的存在敏感显示器的位置。在一个示例中,确定至少第一键、第二键和第三键中的每个的相应字典成本值包括比较至少第一键、第二键和第三键中的每个与语言模型。在一个示例中,语言模型包括n元语言模型。在一个示例中,语言模型包括一组预定义的短语。
在一个示例中,短语级令牌是包括第一多个字符串的第一短语级令牌,且操作进一步包括:由计算设备2确定第一短语级令牌满足阈值;响应于确定第一短语级令牌满足阈值,由计算设备2选择第一短语级令牌的第一多个字符串中的一个字符串作为交付字符串;以及由计算设备2从短语级令牌的第一多个字符串中移除交付字符串以确定包括第二多个字符串的第二短语级令牌。
在一个示例中,操作进一步包括:由计算设备2输出第一短语级令牌以在存在敏感显示器的文本建议区域处显示;以及响应于确定第一短语级令牌满足阈值:由计算设备2输出交付字符串以在存在敏感显示器的文本交付区域处显示,其中文本交付区域不同于文本建议区域;以及由计算设备2输出第二多个字符串以在文本建议区域处显示。在一个示例中,确定第一短语级令牌满足阈值包括确定第一多个字符串中的字符串的数量满足字符串的阈值数量。在一个示例中,接收手势的指示包括接收输入单元从存在敏感显示器的第一位置到存在敏感显示器的第二位置的运动的指示,在输入单元和存在敏感显示器之间基本上恒定接触。在一个示例中,通过计算设备2将字典实现为特里树数据结构。
图6是图示根据本公开的一个或多个技术的输出图形内容以在远程设备处显示的示例计算设备的框图。图形内容通常可以包括可输出以显示的任何视觉信息,诸如文本、图像、一组运动图像等等。图6中所示的示例包括计算设备140、存在敏感显示器144、通信单元150、投影仪160、投影屏162、平板设备166和视觉显示设备170。虽然为了图1和2中示例的目的而示出为单机计算设备,但是计算设备可以通常为包括处理器的任何组件或***或用于执行软件指令的其他合适计算环境,并且例如不需要包括存在敏感显示器。
如图6的示例中所示,计算设备140可以是包括如结合图2中的处理器40所述的功能的处理器。在这样的示例中,计算设备140可以通过通信信道142A可操作地耦合到存在敏感显示器144,通信信道142A可以是***总线或其他合适连接。计算设备140还可以通过通信信道142B可操作地耦合到通信单元150,如下进一步所述,通信信道142B也可以是***总线或其他合适连接。尽管在图6中作为示例分别示出,但计算设备140可以通过任何数量的一个或多个通信信道可操作地耦合到存在敏感显示器144和通信单元150。
在其他示例中,诸如先前在图1-2中图示的,计算设备140可以是便携或移动设备,诸如移动电话(包括智能电话)、膝上型电脑等等。在一些示例中,计算设备140可以是桌面电脑、平板电脑、智能电视平台、相机、个人数字助理(PDA)、服务器、大型机等等。
如图6中所示,存在敏感显示器144可以包括显示设备146和存在敏感输入设备148。显示设备146可以例如从计算设备140接收数据并且显示图形内容。在一些示例中,存在敏感输入设备148可以使用电容性、电感性和/或光学识别技术来确定在存在敏感显示器144处的一个或多个用户输入(例如连接手势、多触摸手势、单触摸手势等等)并且使用通信信道142A将这样的用户输入的指示发送到计算设备140。在一些示例中,存在敏感输入设备148可以物理上位于显示设备146的顶上,使得当用户将输入单元定位在显示设备146所显示的图形元素上时,存在敏感输入设备148所在的位置对应于显示图形元素的显示设备146的位置。
如图6中所示,计算设备140还可以包括和/或可操作地耦合于通信单元150。通信单元150可以包括如图2中所述的通信单元44的功能。通信单元150的示例可以包括网络接口卡、以太网卡、光学收发器、射频收发器、或可以发送和接收信息的任何其他类型的设备。这样的通信单元的其他示例可以包括蓝牙、3G和WiFi无线电、通用串行总线(USB)接口等等。计算设备140还可以包括和/或可操作地耦合于一个或多个其他设备,例如输入设备、输出设备、存储器、存储设备等等,图6中为了简洁说明未示出。
图6还图示了投影仪160和投影屏162。其他这样的投影设备示例可以包括电子白板、全息显示设备、以及用于显示图形内容的任何其他合适设备。投影仪160和投影屏162可以包括使得相应设备能够与计算设备140通信的一个或多个通信单元。在一些示例中,该一个或多个通信单元可以使能投影仪160和投影屏162之间的通信。投影仪160可以从计算设备140接收包括图形内容的数据。投影仪160响应于接收数据而可以将图形内容投影到投影屏162上。在一些示例中,投影仪160可以使用光学识别或其他合适技术确定在投影屏处的一个或多个用户输入(例如连续手势、多触摸手势、单触摸手势等等)并且使用一个或多个通信单元将这样的用户输入的指示发送到计算设备140。
投影屏162在一些示例中可以包括存在敏感显示器164。存在敏感显示器164可以包括如本公开中所述的UI设备4的功能子集或全部功能。在一些示例中,存在敏感显示器164可以包括附加功能。投影屏162(例如电子白板)可以从计算设备140接收数据并且显示图形内容。在一些示例中,存在敏感显示器164可以使用电容性、电感性和/或光学识别技术来确定在投影屏162处的一个或多个用户输入(例如连续手势、多触摸手势、单触摸手势等等)并且使用一个或多个通信单元将这样的用户输入的指示发送到计算设备140。
图6还图示了平板设备166和视觉显示设备170。平板设备166和视觉显示设备170可以每个都包括计算和连接性能。平板设备166的示例可以包括电子阅读器设备、可转换笔记本设备、混合平板设备等等。视觉显示设备170的示例可以包括电视、电脑监视器等等。如图6中所示,平板设备166可以包括存在敏感显示器168。视觉显示设备170可以包括存在敏感显示器172。存在敏感显示器168、172可以包括如本公开中所述的UI设备4的功能子集或全部功能。在一些示例中,存在敏感显示器168、172可以包括附加功能。在任何情况下,存在敏感显示器172例如可以从计算设备140接收数据并且显示图形内容。在一些示例中,存在敏感显示器172可以使用电容性、电感性和/或光学识别技术来确定在投影屏处的一个或多个用户输入(例如连续手势、多触摸手势、单触摸手势等等)并且使用一个或多个通信单元将这样的用户输入的指示发送到计算设备140。
如上所述,在一些示例中,计算设备140可以输出图形内容以在存在敏感显示器144处显示,存在敏感显示器144通过***总线或其他合适的通信信道耦合到计算设备140。计算设备140还可以输出图形内容以在一个或多个远程设备处显示,诸如投影仪160、投影屏162、平板设备166、和视觉显示设备170。例如,计算设备140可以执行一个或多个指令以根据本公开的技术生成和/或修改图形内容。计算设备140可以将包括图形内容的数据输出到计算设备140的通信单元,诸如通信单元150。通信单元150可以将数据发送到一个或多个远程设备,诸如投影仪160、投影屏162、平板设备166和/或视觉显示设备170。以此方式,计算设备140可以输出图形内容以在一个或多个远程设备处显示。在一些示例中,一个或多个远程设备可以在包括在和/或可操作地耦合到相应远程设备的存在敏感显示器处输出图形内容。
在一些示例中,计算设备140可以不在可操作地耦合到计算设备140的存在敏感显示器144处输出图形内容。在其他示例中,计算设备140可以输出图形内容以在通过通信信道142A耦合到计算设备140的存在敏感显示器144和在一个或多个远程设备处显示。在这样的示例中,图形内容可以基本同时在每个相应设备处显示。例如,由于将包括图形内容的数据发送到远程设备的通信时延可以引入某个延迟。在一些示例中,计算设备140所生成的并输出以在存在敏感显示器144处显示的图形内容可以与被输出以在一个或多个远程设备处显示的图形内容显示不同。
计算设备140可以使用任何合适的通信技术发送和接收数据。例如,计算设备140可以使用网络链路152A可操作地耦合到外部网络154。图6中所图示的每个远程设备可以通过相应网络链路152B、152C和152D中的一个可操作地耦合到网络外部网络154。外部网络154可以包括网络集线器、网络交换机、网络路由器等等,互相可操作地耦合,由此提供图6中所图示的计算设备140和远程设备之间的信息的交换。在一些示例中,网络链路152A-152D可以是以太网、ATM或其他网络连接。这样的连接可以是无线和/或有线的连接。
在一些示例中,计算设备140可以使用直接设备通信158可操作地耦合到图6中包括的一个或多个远程设备。直接设备通信158可以包括通信设备140使用有线或无线通信与远程设备直接发送和接收数据的通信。也就是说,在直接设备通信158的一些示例中,由计算设备140发送的数据在远程设备接收之前可以不被一个或多个另外的设备转发,反之亦然。直接设备通信158的示例可以包括蓝牙、近场通信、通用串行总线、WiFi、红外等等。图6中所图示的一个或多个远程设备可以通过通信链路156A-156D可操作地耦合于计算设备140。在一些示例中,通信链路152A-152D可以是使用蓝牙、近场通信、通用串行总线、红外等等的连接。这样的连接可以是无线和/或有线的连接。
根据本公开的技术,计算设备140可以使用外部网络154可操作地耦合到视觉显示设备170。计算设备140可以输出图形键盘以在存在敏感显示器172处显示。例如,计算设备140可以将包括图形键盘的表示的数据发送到通信单元150。通信单元150可以使用外部网络154将包括图形键盘的表示的数据发送到视觉显示设备170。视觉显示设备170响应于使用外部网络154接收数据而可以使得存在敏感显示器172输出图形键盘。响应于用户在存在敏感显示器172处执行手势的第一部分以选择键盘的第一键,视觉显示设备170可以使用外部网络154将手势的指示发送到计算设备140。通信单元150可以接收手势的指示,并且将指示发送到计算设备140。类似地,响应于用户在存在敏感显示器172处执行手势的第二部分以选择键盘的第二键,视觉显示设备170可以使用外部网络154将手势的指示发送到计算设备140。
计算设备140可以至少部分地基于第一键来确定包括多个预测字符的单个串的词级令牌。在一些示例中,计算设备140可以确定词级令牌表示字典中包括的候选词。响应于确定词级令牌表示字典中的候选词,计算设备140可以至少部分地基于词级令牌和第二键来确定短语级令牌。短语级令牌可以包括多个字符串。在某些示例中,计算设备140可以至少部分地基于短语级令牌来确定候选短语。计算设备140在一些示例中可以将包括候选短语的数据发送到通信单元150,通信单元150进而使用外部网络154将数据发送到视觉显示设备170。在接收数据后,视觉显示设备170可以使得存在敏感显示器172显示候选短语。以此方式,计算设备140可以根据本公开的技术来输出候选短语以在存在敏感屏幕172处显示。
示例1:一种方法,包括:由计算设备输出包括多个键的图形键盘以显示;由所述计算设备接收在存在敏感输入设备处检测到的手势的指示,所述手势的第一部分用于选择所述多个键中的第一键,所述手势的第二部分用于选择所述多个键中的第二键;由所述计算设备至少部分地基于所述第一键来确定包括多个预测字符的单个串的词级令牌;由所述计算设备来确定所述词级令牌表示包括在字典中的候选词;以及由所述计算设备响应于确定所述词级令牌表示所述字典中的所述候选词而至少部分地基于所述词级令牌和所述第二键来确定短语级令牌,其中所述短语级令牌包括多个字符串。
示例2:如示例1所述的方法,进一步包括:由所述计算设备响应于确定所述短语级令牌而至少部分地基于所述短语级令牌来确定候选短语;以及由所述计算设备输出所述候选短语以在所述存在敏感显示器处显示。
示例3:如示例1-2中任意一项所述的方法,其中,所述短语级令牌的所述多个字符串包括第一字符串和第二字符串,其中所述词级令牌包括所述第一字符串,并且其中所述第二字符串包括与所述第二键相关联的字符。
示例4:如示例3所述的方法,其中,所述第二字符串以与所述第二键相关联的字符开始。
示例5:如示例1-4中任意一项所述的方法,其中,所述词级令牌包括第一词级令牌,所述第一词级令牌包括所述多个预测字符的第一单个串,所述方法进一步包括:由所述计算设备至少部分地基于所述第一键和所述第二键来确定包括所述多个预测字符的第二单个串的第二词级令牌。
示例6:如示例1-5中任意一项所述的方法,其中,所述词级令牌是第一词级令牌,所述第一词级令牌包括所述多个预测字符的第一单个串,并且其中,确定所述短语级令牌包括:响应于确定所述第一词级令牌表示所述字典中的所述候选词,生成指示所述多个键中的下一所选键是第二词级令牌的前缀的下一词令牌;响应于确定所述下一词令牌,确定包括所述多个预测字符的第二单个串的第二词级令牌,其中所述第二键是所述第二词级令牌的前缀;以及作为所述第一词级令牌和所述第二词级令牌的组合来确定所述短语级令牌。
示例7:如示例1-6中任意一项所述的方法,其中,确定所述短语级令牌进一步包括:基于与所述手势相关联的多个特征来确定所述手势滑过的一组对准点;确定至少所述第一键、所述第二键和第三键中的每个的相应成本值,其中每个所述相应成本值表示所述一组对准点中的一个对准点指示所述多个键中的一个键的概率;至少部分地基于所确定的所述第一键的成本值和所确定的所述第二键的成本值来确定第一组合成本值;至少部分地基于所确定的所述第一键的成本值和所确定的所述第三键的成本值来确定第二组合成本值;比较所述第一组合成本值和所述第二组合成本值;以及基于所述第一组合成本值和所述第二组合成本值的比较来确定所述第二词级令牌。
示例8:如示例1-7中任意一项所述的方法,其中,与所述手势相关联的所述多个特征包括以下中的至少一个:所述手势的段的长度,其中所述段包括所述手势在所述存在敏感显示器处滑过的路径;所述手势的所述段的方向;所述手势的所述段的曲率;局部速度,所述局部速度表示所述手势的所述段被检测到的速率;以及全局速度,所述全局速度表示所述手势被检测到的速率。
示例9:如示例1-7中任意一项所述的方法,其中,确定至少所述第一键、所述第二键和所述第三键中的每个的所述相应成本值包括:确定至少所述第一键、所述第二键和所述第三键中的每个的相应物理成本值,其中每个所述相应物理成本值表示所述一组对准点中的一个对准点的至少一个物理特征指示所述多个键中的一个键的至少一个物理特征的概率;确定至少所述第一键、所述第二键和所述第三键中的每个的相应字典成本值,其中每个所述相应字典成本值表示所述多个键中的一个键所表示的字母包括在候选词中的概率;以及基于至少所述第一键、所述第二键和所述第三键中的每个的所述相应物理成本值和所述相应字典成本值来确定至少所述第一键、所述第二键和所述第三键中的每个的所述相应成本值。
示例10:如示例9所述的方法,其中,确定至少所述第一键、所述第二键和所述第三键中的每个的所述相应物理成本值包括将至少所述第一键、所述第二键和所述第三键中的每个的键区域与和所述手势相关联的所述多个特征中的至少一个进行比较,其中,所述键区域包括输出所述相应键的所述存在敏感显示器的位置。
示例11:如示例9所述的方法,其中,确定至少所述第一键、所述第二键和所述第三键中的每个的所述相应字典成本值包括将至少所述第一键、所述第二键和所述第三键中的每个与语言模型进行比较。
示例12:如示例1-11中任意一项所述的方法,其中,所述短语级令牌是包括第一多个字符串的第一短语级令牌,所述方法进一步包括:由所述计算设备确定所述第一短语级令牌满足阈值;响应于确定所述第一短语级令牌满足所述阈值,由所述计算设备选择所述第一短语级令牌的所述第一多个字符串中的一个字符串作为交付字符串;以及由所述计算设备从所述短语级令牌的所述第一多个字符串中移除所述交付字符串以确定包括第二多个字符串的第二短语级令牌。
示例13:如示例12所述的方法,进一步包括:由所述计算设备输出所述第一短语级令牌以在所述存在敏感显示器的文本建议区域处显示;以及响应于确定所述第一短语级令牌满足所述阈值:由所述计算设备输出所述交付字符串以在所述存在敏感显示器的文本交付区域处显示,其中所述文本交付区域不同于所述文本建议区域;以及由所述计算设备输出所述第二多个字符串以在所述文本建议区域处显示。
示例14:如示例12所述的方法,其中,确定所述第一短语级令牌满足所述阈值包括确定所述第一多个字符串的字符串数量满足字符串的阈值数量。
示例15:如示例1-14中任意一项所述的方法,其中,接收所述手势的指示包括接收输入单元从所述存在敏感显示器的第一位置到所述存在敏感显示器的第二位置的运动的指示,其中在所述输入单元和所述存在敏感显示器之间基本上恒定接触。
示例16:如示例1-15中任意一项所述的方法,其中,确定所述短语级令牌进一步包括确定所述短语级令牌包括至少一个定界符字符,所述至少一个定界符字符位于所述多个字符串的第一字符串和第二字符串之间。
示例17:一种编码有指令的计算机可读存储介质,所述指令在被执行时使得计算设备的至少一个处理器:输出包括多个键的图形键盘以在可操作地耦合到所述计算设备的存在敏感显示器处显示;接收在所述存在敏感显示器处检测到的连续手势的指示,所述连续手势用于选择所述多个键中的一组键;以及响应于接收用于选择所述一组键的所述连续手势的指示,确定表示多个候选词的短语级令牌,其中所述短语级令牌包括多个字符串。
示例18:如示例17所述的计算机可读存储介质,进一步编码有指令,所述指令可由所述至少一个处理器执行以执行如示例2-16中任意一项所述的方法。
示例19:一种设备,包括:至少一个处理器,所述至少一个处理器可操作地耦合到存在敏感显示器;以及手势模块,所述手势模块能由所述至少一个处理操作以用于:输出包括多个键的图形键盘以在所述存在敏感显示器处显示;接收在所述存在敏感显示器处检测到的连续手势的指示,所述连续手势用于选择所述多个键中的一组键;以及响应于接收所述连续手势的指示并且至少部分地基于所述多个键中的所述一组键,确定包括一组候选词的候选短语。
示例20:如权利要求19所述的示例,进一步包括用于执行如示例2-16中任意一项所述的方法的装置。
本公开中所述的技术可以至少部分地用硬件、软件、固件或其任何组合来实现。例如,所述的技术的各种方面可以在一个或多个处理器中实现,包括一个或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或任何其他等价集成或离散逻辑电路、以及任何这样的组件的组合。术语“处理器”或“处理电路”可以通常指的是任何一个前面的逻辑电路、单独或与其他逻辑电路组合、或者任何其他等价电路。包括硬件的控制单元也可以执行本公开的技术中的一个或多个。
这样的硬件、软件和固件可以在相同设备内或者分立设备中实现以支持本公开中所述的各种技术。此外,任何所述的单元、模块或组件可以一起实现或分别实现为离散但可互操作的逻辑设备。将不同特征描述为模块或单元是为了突出不同功能方面,而不必暗示这样的模块或的那样必须用分立的硬件、固件或软件组件来实现。而是,与一个或多个模块或单元相关联的功能可以由分立的硬件、固件、或软件组件来执行,或者集成在公共或分立的硬件、固件或软件组件内。
本公开中所示的技术还可体现为或编码于包括用指令编码的计算机可读存储介质的制造物品中。体现或编码于包括被编码的计算机可读存储介质的制造物品中的指令可以使得一个或多个可编程处理器或其他处理器实现一个或多个这里描述的技术,诸如当计算机可读存储介质中包括或编码的指令由一个或多个处理器执行时。计算机可读存储介质可以包括随机存取存储器(RAM)、只读存储器(ROM)、可编程只读存储器(PROM)、可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)、闪存存储器、硬盘、压缩盘ROM(CD-ROM)、软盘、磁带、磁介质、光介质、或其他计算机可读介质。在一些示例中,制造物品可以包括一个或多个计算机可读存储介质。
在一些示例中,计算机可读存储介质可以包括非瞬时介质。术语“非瞬时”可以指示存储介质不体现在载波或传播信号中。在某些示例中,非瞬时存储介质可以存储能够随时间改变的数据(例如在RAM或缓存中)。
已经描述了各种示例。这些和其他示例在所附权利要求的范围内。

Claims (20)

1.一种方法,包括:
由计算设备输出包括多个键的图形键盘以显示;
由所述计算设备接收在存在敏感输入设备处检测到的手势的指示,所述手势的第一部分用于选择所述多个键中的第一键,所述手势的第二部分用于选择所述多个键中的第二键;
由所述计算设备至少部分地基于所述第一键来确定包括多个预测字符的单个串的词级令牌;
由所述计算设备来确定所述词级令牌表示包括在字典中的候选词;以及
由所述计算设备响应于确定所述词级令牌表示所述字典中的所述候选词而至少部分地基于所述词级令牌和所述第二键来确定短语级令牌,其中所述短语级令牌包括多个字符串。
2.如权利要求1所述的方法,进一步包括:
由所述计算设备响应于确定所述短语级令牌而至少部分地基于所述短语级令牌来确定候选短语;以及
由所述计算设备输出所述候选短语以在所述存在敏感显示器处显示。
3.如权利要求1-2中任意一项所述的方法,其中,所述短语级令牌的所述多个字符串包括第一字符串和第二字符串,其中所述词级令牌包括所述第一字符串,并且其中所述第二字符串包括与所述第二键相关联的字符。
4.如权利要求3所述的方法,其中,所述第二字符串以与所述第二键相关联的字符开始。
5.如权利要求1-4中任意一项所述的方法,其中,所述词级令牌包括第一词级令牌,所述第一词级令牌包括所述多个预测字符的第一单个串,所述方法进一步包括:
由所述计算设备至少部分地基于所述第一键和所述第二键来确定包括所述多个预测字符的第二单个串的第二词级令牌。
6.如权利要求1-5中任意一项所述的方法,其中,所述词级令牌是第一词级令牌,所述第一词级令牌包括所述多个预测字符的第一单个串,并且其中,确定所述短语级令牌包括:
响应于确定所述第一词级令牌表示所述字典中的所述候选词,生成指示所述多个键中的下一所选键是第二词级令牌的前缀的下一词令牌;
响应于确定所述下一词令牌,确定包括所述多个预测字符的第二单个串的第二词级令牌,其中所述第二键是所述第二词级令牌的前缀;以及
作为所述第一词级令牌和所述第二词级令牌的组合来确定所述短语级令牌。
7.如权利要求1-6中任意一项所述的方法,其中,确定所述短语级令牌进一步包括:
基于与所述手势相关联的多个特征来确定所述手势滑过的一组对准点;
确定至少所述第一键、所述第二键和第三键中的每个的相应成本值,其中每个所述相应成本值表示所述一组对准点中的一个对准点指示所述多个键中的一个键的概率;
至少部分地基于所确定的所述第一键的成本值和所确定的所述第二键的成本值来确定第一组合成本值;
至少部分地基于所确定的所述第一键的成本值和所确定的所述第三键的成本值来确定第二组合成本值;
比较所述第一组合成本值和所述第二组合成本值;以及
基于所述第一组合成本值和所述第二组合成本值的比较来确定所述第二词级令牌。
8.如权利要求1-7中任意一项所述的方法,其中,与所述手势相关联的所述多个特征包括以下中的至少一个:
所述手势的段的长度,其中所述段包括所述手势在所述存在敏感显示器处滑过的路径;
所述手势的所述段的方向;
所述手势的所述段的曲率;
局部速度,所述局部速度表示所述手势的所述段被检测到的速率;以及
全局速度,所述全局速度表示所述手势被检测到的速率。
9.如权利要求1-7中任意一项所述的方法,其中,确定至少所述第一键、所述第二键和所述第三键中的每个的所述相应成本值包括:
确定至少所述第一键、所述第二键和所述第三键中的每个的相应物理成本值,其中每个所述相应物理成本值表示所述一组对准点中的一个对准点的至少一个物理特征指示所述多个键中的一个键的至少一个物理特征的概率;
确定至少所述第一键、所述第二键和所述第三键中的每个的相应字典成本值,其中每个所述相应字典成本值表示所述多个键中的一个键所表示的字母包括在候选词中的概率;以及
基于至少所述第一键、所述第二键和所述第三键中的每个的所述相应物理成本值和所述相应字典成本值来确定至少所述第一键、所述第二键和所述第三键中的每个的所述相应成本值。
10.如权利要求9所述的方法,其中,确定至少所述第一键、所述第二键和所述第三键中的每个的所述相应物理成本值包括将至少所述第一键、所述第二键和所述第三键中的每个的键区域与和所述手势相关联的所述多个特征中的至少一个进行比较,其中,所述键区域包括输出相应键的所述存在敏感显示器的位置。
11.如权利要求9所述的方法,其中,确定至少所述第一键、所述第二键和所述第三键中的每个的所述相应字典成本值包括将至少所述第一键、所述第二键和所述第三键中的每个与语言模型进行比较。
12.如权利要求1-11中任意一项所述的方法,其中,所述短语级令牌是包括第一多个字符串的第一短语级令牌,所述方法进一步包括:
由所述计算设备确定所述第一短语级令牌满足阈值;
响应于确定所述第一短语级令牌满足所述阈值,由所述计算设备选择所述第一短语级令牌的所述第一多个字符串中的一个字符串作为交付字符串;以及
由所述计算设备从所述短语级令牌的所述第一多个字符串中移除所述交付字符串以确定包括第二多个字符串的第二短语级令牌。
13.如权利要求12所述的方法,进一步包括:
由所述计算设备输出所述第一短语级令牌以在所述存在敏感显示器的文本建议区域处显示;以及
响应于确定所述第一短语级令牌满足所述阈值:
由所述计算设备输出所述交付字符串以在所述存在敏感显示器的文本交付区域处显示,其中所述文本交付区域不同于所述文本建议区域;以及
由所述计算设备输出所述第二多个字符串以在所述文本建议区域处显示。
14.如权利要求12所述的方法,其中,确定所述第一短语级令牌满足所述阈值包括确定所述第一多个字符串的字符串数量满足字符串的阈值数量。
15.如权利要求1-14中任意一项所述的方法,其中,接收所述手势的指示包括接收输入单元从所述存在敏感显示器的第一位置到所述存在敏感显示器的第二位置的运动的指示,其中在所述输入单元和所述存在敏感显示器之间基本上恒定接触。
16.如权利要求1-15中任意一项所述的方法,其中,确定所述短语级令牌进一步包括确定所述短语级令牌包括至少一个定界符字符,所述至少一个定界符字符位于所述多个字符串的第一字符串和第二字符串之间。
17.一种编码有指令的计算机可读存储介质,所述指令在被执行时使得计算设备的至少一个处理器:
输出包括多个键的图形键盘以在可操作地耦合到所述计算设备的存在敏感显示器处显示;
接收在所述存在敏感显示器处检测到的连续手势的指示,所述连续手势用于选择所述多个键中的一组键;以及
响应于接收用于选择所述一组键的所述连续手势的指示,确定表示多个候选词的短语级令牌,其中所述短语级令牌包括多个字符串。
18.如权利要求17所述的计算机可读存储介质,进一步编码有指令,所述指令可由所述至少一个处理器执行以执行如权利要求2-16中任意一项所述的方法。
19.一种设备,包括:
至少一个处理器,所述至少一个处理器可操作地耦合到存在敏感显示器;以及
手势模块,所述手势模块能由所述至少一个处理操作以用于:
输出包括多个键的图形键盘以在所述存在敏感显示器处显示;
接收在所述存在敏感显示器处检测到的连续手势的指示,所述连续手势用于选择所述多个键中的一组键;以及
响应于接收所述连续手势的指示并且至少部分地基于所述多个键中的所述一组键,确定包括一组候选词的候选短语。
20.如权利要求19所述的设备,进一步包括用于执行如权利要求2-16中任意一项所述的方法的装置。
CN201380054132.6A 2012-10-16 2013-10-14 递增的多词识别 Pending CN104718545A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110677150.6A CN113467622A (zh) 2012-10-16 2013-10-14 递增的多词识别

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261714696P 2012-10-16 2012-10-16
US61/714,696 2012-10-16
US13/787,513 2013-03-06
US13/787,513 US8701032B1 (en) 2012-10-16 2013-03-06 Incremental multi-word recognition
PCT/US2013/064890 WO2014062588A2 (en) 2012-10-16 2013-10-14 Incremental multi-word recognition

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN202110677150.6A Division CN113467622A (zh) 2012-10-16 2013-10-14 递增的多词识别

Publications (1)

Publication Number Publication Date
CN104718545A true CN104718545A (zh) 2015-06-17

Family

ID=50441618

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201380054132.6A Pending CN104718545A (zh) 2012-10-16 2013-10-14 递增的多词识别
CN202110677150.6A Pending CN113467622A (zh) 2012-10-16 2013-10-14 递增的多词识别

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202110677150.6A Pending CN113467622A (zh) 2012-10-16 2013-10-14 递增的多词识别

Country Status (4)

Country Link
US (6) US8701032B1 (zh)
EP (1) EP2909741A2 (zh)
CN (2) CN104718545A (zh)
WO (1) WO2014062588A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107850950A (zh) * 2015-08-26 2018-03-27 谷歌有限责任公司 基于时间的分词

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8863020B2 (en) * 2010-12-02 2014-10-14 Blackberry Limited Portable electronic device and method of controlling same
US20130173254A1 (en) * 2011-12-31 2013-07-04 Farrokh Alemi Sentiment Analyzer
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
US10877780B2 (en) 2012-10-15 2020-12-29 Famous Industries, Inc. Visibility detection using gesture fingerprinting
US9501171B1 (en) * 2012-10-15 2016-11-22 Famous Industries, Inc. Gesture fingerprinting
US10908929B2 (en) 2012-10-15 2021-02-02 Famous Industries, Inc. Human versus bot detection using gesture fingerprinting
WO2014062730A1 (en) 2012-10-15 2014-04-24 Famous Industries, Inc. Efficient manipulation of surfaces in multi-dimensional space using energy agents
US9772889B2 (en) 2012-10-15 2017-09-26 Famous Industries, Inc. Expedited processing and handling of events
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
KR102105101B1 (ko) * 2012-11-07 2020-04-27 삼성전자주식회사 디스플레이 장치 및 이의 문자 수정 방법
US9235342B2 (en) 2012-11-28 2016-01-12 International Business Machines Corporation Selective sharing of displayed content in a view presented on a touchscreen of a processing system
US8832589B2 (en) 2013-01-15 2014-09-09 Google Inc. Touch keyboard using language and spatial models
CN104007832B (zh) * 2013-02-25 2017-09-01 上海触乐信息科技有限公司 连续滑行输入文本的方法、***及设备
CN105988595B (zh) * 2015-02-17 2019-12-06 上海触乐信息科技有限公司 滑行输入方法及装置
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
US20150074600A1 (en) * 2013-09-09 2015-03-12 Blackberry Limited Device and method for identifying data
US9495692B2 (en) * 2013-11-12 2016-11-15 Tung Inc. Conversion and display of a user input
US10528219B2 (en) 2015-08-10 2020-01-07 Tung Inc. Conversion and display of a user input
US9262774B2 (en) * 2013-11-12 2016-02-16 Want Media Group Inc. Method and systems for providing a digital display of company logos and brands
US10877629B2 (en) 2016-10-13 2020-12-29 Tung Inc. Conversion and display of a user input
US20220066623A1 (en) * 2013-11-12 2022-03-03 Tung Inc. Conversion and Display of a User Input
US20160019360A1 (en) 2013-12-04 2016-01-21 Apple Inc. Wellness aggregator
KR102156223B1 (ko) 2014-08-02 2020-09-15 애플 인크. 상황 특정 사용자 인터페이스
US10452253B2 (en) 2014-08-15 2019-10-22 Apple Inc. Weather user interface
CN106575150B (zh) * 2014-08-16 2020-03-03 谷歌有限责任公司 使用运动数据识别手势的方法和可穿戴计算设备
DE112015007285B4 (de) 2014-09-02 2023-11-02 Apple Inc. Monitor für physische aktivität und training
US10660039B1 (en) 2014-09-02 2020-05-19 Google Llc Adaptive output of indications of notification data
CN104268166B (zh) * 2014-09-09 2017-04-19 北京搜狗科技发展有限公司 一种输入方法、装置和电子设备
US9530404B2 (en) * 2014-10-06 2016-12-27 Intel Corporation System and method of automatic speech recognition using on-the-fly word lattice generation with word histories
GB201418402D0 (en) * 2014-10-16 2014-12-03 Touchtype Ltd Text prediction integration
WO2016144385A1 (en) 2015-03-08 2016-09-15 Apple Inc. Sharing user-configurable graphical constructs
US9703394B2 (en) * 2015-03-24 2017-07-11 Google Inc. Unlearning techniques for adaptive language models in text entry
US9804679B2 (en) 2015-07-03 2017-10-31 Google Inc. Touchless user interface navigation using gestures
EP4321088A3 (en) 2015-08-20 2024-04-24 Apple Inc. Exercise-based watch face
AU2017100667A4 (en) 2016-06-11 2017-07-06 Apple Inc. Activity and workout updates
US11216119B2 (en) 2016-06-12 2022-01-04 Apple Inc. Displaying a predetermined view of an application
US10736543B2 (en) 2016-09-22 2020-08-11 Apple Inc. Workout monitor interface
US11892987B2 (en) 2016-10-20 2024-02-06 Microsoft Technology Licensing, Llc Automatic splitting of a column into multiple columns
US11372830B2 (en) 2016-10-24 2022-06-28 Microsoft Technology Licensing, Llc Interactive splitting of a column into multiple columns
DK179412B1 (en) 2017-05-12 2018-06-06 Apple Inc Context-Specific User Interfaces
US10845955B2 (en) 2017-05-15 2020-11-24 Apple Inc. Displaying a scrollable list of affordances associated with physical activities
US10970481B2 (en) * 2017-06-28 2021-04-06 Apple Inc. Intelligently deleting back to a typographical error
CN111052064B (zh) 2017-07-27 2023-09-19 三星电子株式会社 自动提供基于手势的自动完成建议的方法及其电子设备
US11327650B2 (en) 2018-05-07 2022-05-10 Apple Inc. User interfaces having a collection of complications
US11317833B2 (en) 2018-05-07 2022-05-03 Apple Inc. Displaying user interfaces associated with physical activities
CN109858473B (zh) * 2018-12-28 2023-03-07 天津幸福生命科技有限公司 一种自适应纠偏方法、装置、可读介质及电子设备
JP6921338B2 (ja) 2019-05-06 2021-08-18 アップル インコーポレイテッドApple Inc. 電子デバイスの制限された動作
US11960701B2 (en) 2019-05-06 2024-04-16 Apple Inc. Using an illustration to show the passing of time
US11131967B2 (en) 2019-05-06 2021-09-28 Apple Inc. Clock faces for an electronic device
DK201970532A1 (en) 2019-05-06 2021-05-03 Apple Inc Activity trends and workouts
WO2020247261A1 (en) 2019-06-01 2020-12-10 Apple Inc. Multi-modal activity tracking user interface
DK181076B1 (en) 2020-02-14 2022-11-25 Apple Inc USER INTERFACES FOR TRAINING CONTENT
DK202070625A1 (en) 2020-05-11 2022-01-04 Apple Inc User interfaces related to time
US11372659B2 (en) 2020-05-11 2022-06-28 Apple Inc. User interfaces for managing user interface sharing
WO2021231345A1 (en) 2020-05-11 2021-11-18 Apple Inc. User interfaces for managing user interface sharing
US11694590B2 (en) 2020-12-21 2023-07-04 Apple Inc. Dynamic user interface with time indicator
US11720239B2 (en) 2021-01-07 2023-08-08 Apple Inc. Techniques for user interfaces related to an event
US11921992B2 (en) 2021-05-14 2024-03-05 Apple Inc. User interfaces related to time
WO2022245669A1 (en) 2021-05-15 2022-11-24 Apple Inc. User interfaces for group workouts
US20230236547A1 (en) 2022-01-24 2023-07-27 Apple Inc. User interfaces for indicating time
US11977729B2 (en) 2022-06-05 2024-05-07 Apple Inc. Physical activity information user interfaces
US20230390626A1 (en) 2022-06-05 2023-12-07 Apple Inc. User interfaces for physical activity information
CN116562297B (zh) * 2023-07-07 2023-09-26 北京电子科技学院 基于HTrie树的中文敏感词变形体识别方法及***

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070055933A1 (en) * 2005-09-02 2007-03-08 Xerox Corporation Text correction for PDF converters
US20080270896A1 (en) * 2007-04-27 2008-10-30 Per Ola Kristensson System and method for preview and selection of words
CN101382844A (zh) * 2008-10-24 2009-03-11 上海埃帕信息科技有限公司 一种输入间隔分词的方法
US20120036469A1 (en) * 2010-07-28 2012-02-09 Daniel Suraqui Reduced keyboard with prediction solutions when input is a partial sliding trajectory
US20120131035A1 (en) * 2009-08-04 2012-05-24 Qingxuan Yang Generating search query suggestions
US20120259615A1 (en) * 2011-04-06 2012-10-11 Microsoft Corporation Text prediction

Family Cites Families (230)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2010117A (en) 1934-04-20 1935-08-06 Int Harvester Co Ledger-plate and section hardening furnace
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
US5115482A (en) 1991-06-07 1992-05-19 The United States Of America As Represented By The United States Department Of Energy Optical apparatus for conversion of whispering-gallery modes into a free space gaussian like beam
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
JP3209870B2 (ja) 1995-01-06 2001-09-17 富士通株式会社 文字間挿入装置および挿入方法
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
US7030863B2 (en) 2000-05-26 2006-04-18 America Online, Incorporated Virtual keyboard system with automatic correction
CA2392446C (en) 1999-05-27 2009-07-14 America Online Incorporated Keyboard system with automatic correction
US7750891B2 (en) 2003-04-09 2010-07-06 Tegic Communications, Inc. Selective input system based on tracking of motion parameters of an input device
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
CA2416835A1 (en) 2000-07-21 2002-01-31 Raphael Bachmann 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
US20020194223A1 (en) 2000-10-16 2002-12-19 Text Analysis International, Inc. Computer programming language, system and method for building 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
US7336827B2 (en) 2000-11-08 2008-02-26 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
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
US6765556B2 (en) 2001-11-16 2004-07-20 International Business Machines Corporation Two-key input per character text entry apparatus and method
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
US7453439B1 (en) 2003-01-16 2008-11-18 Forward Input Inc. System and method for continuous stroke word-based text input
US7382358B2 (en) 2003-01-16 2008-06-03 Forword Input, Inc. System and method for continuous stroke word-based text input
US7098896B2 (en) 2003-01-16 2006-08-29 Forword 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
DE602004018620D1 (de) 2004-06-02 2009-02-05 Research In Motion Ltd Tragbares elektronisches Gerät mit eliminierung der Vieldeutigkeit bei Texteingabe
US8095364B2 (en) 2004-06-02 2012-01-10 Tegic Communications, Inc. Multimodal disambiguation of speech recognition
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
CN102272827B (zh) * 2005-06-01 2013-07-10 泰吉克通讯股份有限公司 利用语音输入解决模糊的手工输入文本输入的方法和装置
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
WO2007035827A2 (en) 2005-09-20 2007-03-29 Forward Input, Inc. System and method for continuous stroke word-based text input
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
WO2007103938A2 (en) 2006-03-06 2007-09-13 Veveo, Inc. Methods and systems for selecting and presenting content based on learned 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
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
US7907125B2 (en) 2007-01-05 2011-03-15 Microsoft Corporation Recognizing multiple input point gestures
US8074172B2 (en) 2007-01-05 2011-12-06 Apple Inc. Method, system, and graphical user interface for providing word recommendations
US7957955B2 (en) 2007-01-05 2011-06-07 Apple Inc. Method and system for providing word recommendations for text input
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
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
US20100021871A1 (en) 2008-07-24 2010-01-28 Layng Terrence V Teaching reading comprehension
WO2010016065A1 (en) 2008-08-08 2010-02-11 Moonsun Io Ltd. Method and device of stroke based user input
US20110141027A1 (en) 2008-08-12 2011-06-16 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
WO2010053437A1 (en) 2008-11-04 2010-05-14 Saplo 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
JP2012517061A (ja) 2009-02-04 2012-07-26 キーレス システムズ リミテッド データ入力システム
US20100235780A1 (en) 2009-03-16 2010-09-16 Westerman Wayne C System and Method for Identifying Words Based on a Sequence of Keyboard Events
US8566045B2 (en) 2009-03-16 2013-10-22 Apple Inc. Event recognition
US9311112B2 (en) 2009-03-16 2016-04-12 Apple Inc. Event recognition
US9684521B2 (en) 2010-01-26 2017-06-20 Apple Inc. Systems having discrete and continuous gesture recognizers
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 삼성전자 주식회사 터치 제스처 인식 장치 및 방법
GB0905457D0 (en) 2009-03-30 2009-05-13 Touchtype Ltd System and method for inputting text into electronic devices
US9189472B2 (en) 2009-03-30 2015-11-17 Touchtype Limited System and method for inputting text into small screen devices
US20120046544A1 (en) 2009-04-16 2012-02-23 Shimadzu Corporation Radiation tomography apparatus
US20100315266A1 (en) 2009-06-15 2010-12-16 Microsoft Corporation Predictive interfaces with usability constraints
CN101963840B (zh) 2009-07-22 2015-03-18 罗技欧洲公司 用于远程、虚拟屏幕输入的***和方法
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
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
US9417787B2 (en) 2010-02-12 2016-08-16 Microsoft Technology Licensing, Llc Distortion effects to indicate location in a movable data collection
US8782556B2 (en) 2010-02-12 2014-07-15 Microsoft Corporation User-centric soft keyboard predictive technologies
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 华为终端有限公司 一种获取用户输入信息的方法、装置及通信终端
CN103038728B (zh) 2010-03-12 2016-01-20 纽昂斯通信有限公司 例如在移动电话上使用触摸屏的多模式文本输入***
US8542195B2 (en) 2010-03-30 2013-09-24 International Business Machines Corporation Method for optimization of soft keyboards for multiple languages
JP5615583B2 (ja) * 2010-04-08 2014-10-29 京セラ株式会社 文字入力装置、文字入力方法および文字入力プログラム
US8266528B1 (en) 2010-06-24 2012-09-11 Google Inc. Spelling suggestions based on an input sequence including accidental “delete”
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
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
JP2013544410A (ja) 2010-11-17 2013-12-12 ゼット124 マルチスクリーン電子メールクライアント
US9870141B2 (en) 2010-11-19 2018-01-16 Microsoft Technology Licensing, Llc Gesture recognition
CN103649876B (zh) 2010-11-20 2017-02-15 纽昂斯通信有限公司 使用上下文键盘在计算设备上执行操作
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
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
EP2812777A4 (en) 2012-02-06 2015-11-25 Michael K Colby STRING COMPLETION
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 刘炳林 一种输入方法和电子设备
US10296581B2 (en) 2012-06-06 2019-05-21 Apple Inc. Multi-word autocorrection
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

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070055933A1 (en) * 2005-09-02 2007-03-08 Xerox Corporation Text correction for PDF converters
US20080270896A1 (en) * 2007-04-27 2008-10-30 Per Ola Kristensson System and method for preview and selection of words
CN101382844A (zh) * 2008-10-24 2009-03-11 上海埃帕信息科技有限公司 一种输入间隔分词的方法
US20120131035A1 (en) * 2009-08-04 2012-05-24 Qingxuan Yang Generating search query suggestions
US20120036469A1 (en) * 2010-07-28 2012-02-09 Daniel Suraqui Reduced keyboard with prediction solutions when input is a partial sliding trajectory
US20120259615A1 (en) * 2011-04-06 2012-10-11 Microsoft Corporation Text prediction

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107850950A (zh) * 2015-08-26 2018-03-27 谷歌有限责任公司 基于时间的分词

Also Published As

Publication number Publication date
US9134906B2 (en) 2015-09-15
US20150378983A1 (en) 2015-12-31
US9798718B2 (en) 2017-10-24
US8701032B1 (en) 2014-04-15
EP2909741A2 (en) 2015-08-26
US20140108991A1 (en) 2014-04-17
US20170003869A1 (en) 2017-01-05
US10489508B2 (en) 2019-11-26
US20180018314A1 (en) 2018-01-18
CN113467622A (zh) 2021-10-01
WO2014062588A3 (en) 2014-11-06
US9542385B2 (en) 2017-01-10
US20200050661A1 (en) 2020-02-13
WO2014062588A2 (en) 2014-04-24
US20140189568A1 (en) 2014-07-03

Similar Documents

Publication Publication Date Title
CN104718545A (zh) 递增的多词识别
US11727212B2 (en) Touch keyboard using a trained model
US9552080B2 (en) Incremental feature-based gesture-keyboard decoding
AU2014212844B2 (en) Character and word level language models for out-of-vocabulary text input
CN105164616B (zh) 用于输出候选字符串的方法、计算设备及存储介质
US9304595B2 (en) Gesture-keyboard decoding using gesture path deviation
CN104756061A (zh) 多手势文本输入预测
CN104798016A (zh) 递增多触摸手势识别
CN104685451A (zh) 姿势适应选择
CN105122185A (zh) 使用过去交互数据的文本建议输出
CN105308551A (zh) 用于连续手势输入的多图形键盘
CN104756062A (zh) 解码用于图形键盘的不准确手势

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: American California

Applicant after: Google limited liability company

Address before: American California

Applicant before: Google Inc.

CB02 Change of applicant information
RJ01 Rejection of invention patent application after publication

Application publication date: 20150617

RJ01 Rejection of invention patent application after publication