CN104272222A - 输入文本的系统和输入文本的方法 - Google Patents

输入文本的系统和输入文本的方法 Download PDF

Info

Publication number
CN104272222A
CN104272222A CN201280067256.3A CN201280067256A CN104272222A CN 104272222 A CN104272222 A CN 104272222A CN 201280067256 A CN201280067256 A CN 201280067256A CN 104272222 A CN104272222 A CN 104272222A
Authority
CN
China
Prior art keywords
gesture
entry
prefix trees
feature
path
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.)
Granted
Application number
CN201280067256.3A
Other languages
English (en)
Other versions
CN104272222B (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.)
Microsoft Technology Licensing LLC
Original Assignee
Touchtype Ltd
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 Touchtype Ltd filed Critical Touchtype Ltd
Publication of CN104272222A publication Critical patent/CN104272222A/zh
Application granted granted Critical
Publication of CN104272222B publication Critical patent/CN104272222B/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/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • G06F3/0233Character input methods
    • G06F3/0237Character input methods using prediction or retrieval techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04803Split screen, i.e. subdividing the display area or the window area into separate subareas

Abstract

输入文本的系统和输入文本的方法。系统(10)包括:特征识别结构(2),其用于根据多个样本(11)生成一个或多个特征(12),其中,所述样本(11)是在不同时间点上被采集而来的,而且在比划手势时,所述样本对应于手势感应键盘上的单一连续手势的位置,而其中的所述特征(12)与所述手势感应键盘的其中一个目标相关,该目标为用户比划手势时的预期输入。所述系统包括:预测机构,其用于根据所述特征(12)预测出一个或多个词条(15),所述预测机构(5)包括:前缀树生成机构(3),其用于生成包含所述特征(12)的词条前缀树(13);路径搜索机构(4),其用于找出一条或多条穿过被赋予所述特征(12)的所述词条前缀树(13)的路径(14);以及预测器(5)。本发明还提供了一种对应于上述系统的方法。

Description

输入文本的系统和输入文本的方法
技术领域
本发明涉及一种通过手势感应键盘从用户手势中预测出一个或多个词条的系统及方法。尤其是可从用户的单一连续手势中预测出一个或多个词条。
背景技术
现有的系统根据通过触摸感应的键盘/屏幕输入的用户“敲击”预测单个词条。
专利号为7,098,896、名称为“基于连续敲击单词的文本输入系统及文本输入方法”的美国专利披露了这样一种系统,该系统包括数据库中存储的大量单词。由输入敲击图案预测单词的方法包括:将输入敲击图案与数据库中的一组单词进行比较。该方法包括:识别敲击图案中的“最后一个触摸点”,以识别出某一候选单词的结束字符。候选单词的预测则基于该单词的首、尾字符,而这些字符则从输入敲击图案中被识别出。输入敲击图案的实际路径长度同与各单词一起存储在单词数据库中的预期路径长度进行比较。
专利号为7,251,367、名称为“基于虚拟键盘格局识别单词图案的系统及方法”的美国专利披露了另一种根据连续敲击预测单词的方法。在该公开物中,再一次于单词边界内对敲击输入图案和预设的敲击图案库进行了比较。该技术已通过了完全预设的库和动态生成的库的论证。
所有的已知系统,包括上述系统,均基于解决表示一个单词的输入敲击和数据库中单词匹配问题的原理。该原理基于输入敲击图案和(大致)对应于数据库中单词首、尾字符明确的首、尾点。
已知的系统和方法的问题在于:输入敲击局限于同数据库中单词的首、尾字符的匹配,需要并限制用户输入的敲击要与完整的单词相一致。
这样,已知的系统和方法无法基于对应于单词前缀的输入敲击或对应于多个单词的输入敲击预测单词,例如,用户通过单一的连续敲击输入某一短语。
本发明的目的在于解决上述问题。
发明内容
在本发明的第一方面中,提供了一种根据穿过手势感应键盘的单一连续手势预测一个或多个词条的方法。该方法其包括:在比划手势时,采集所述手势感应键盘上的手势在多个时间点上的位置样本;以及根据多个所述样本预测一个或多个词条,这一过程具体由以下步骤实现:根据多个所述样本生成一个或多个特征,其中各所述特征与所述手势感应键盘上的目标相关,该目标为比划手势时用户的意图输入;生成包括所述特征的词条前缀树;搜索一条或多条穿过被赋予所述特征的所述词条前缀树的路径。
优选地,其中所述词条前缀树由图形表示,并包括使用图论生成所述图形的步骤。
根据所述样本生成所述特征的步骤优选包括:识别所述手势感应键盘上的手势位置,在该位置中,用户意图穿过所述手势感应键盘的目标。所述特征的位置优选是所述手势位置,在所述手势位置中所述手势在距离所述目标最近的地方穿过。所述目标为点目标或线目标。优选地,识别所述手势感应键盘上的各目标的特征。优选地,仅在所述特征与所述目标之间的最小距离小于距离阈值时保留特征。
各特征包括对应于所述手势和所述目标之间最小距离的距离度量。
优选地,通过保留词典前缀树中被允许赋予所述特征的词条,生成所述词条前缀树。即便特征与所述词典前缀树的词条不对应,也保留下该词条。
所述手势感应键盘上的目标对应于字母表中的字母以及诸如空格和/或标点符号的可选的单词边界定界符。所述词条前缀树包括一个或多个表示完整单词最后一个字母的节点,其中,生成所述词条前缀树的步骤还包括:向包含对应于单词最后一个字母的节点的所述词条前缀树中插入对应于空格符号的节点。优选地,如果未识别出与空格字符相关的特征,对应于空格字符的所述节点的概率则被降低。生成所述词条前缀树的步骤还包括:在对应于空格字符的节点上,通过保留词典前缀树中被允许赋予特征序列中的剩余特征的词条,生成新的词条前缀树。
优选地,上述方法还包括:修剪词条前缀树,以去除掉所述词条前缀树中给定路径概率与最可能路径概率之比小于预设阈值的所有路径。代表空格字符的节点包括元数据,以根据语境数据修剪所述新的词条前缀树。
生成词条前缀树的步骤还包括:如果存在穿过词条前缀树且被赋予所述特征的有效路径,则通过保留包含字符副本的词典前缀树中的词条,使给定特征表示与其相关的字符的重复实例。
在一实施例中,搜索穿过词条前缀树的所述路径的步骤包括:使用路径搜索算法。所述路径搜索算法使用所述距离度量生成与穿过所述词条前缀树的各条路径相关的概率评估。优选地,所述路径搜索算法返回一个或多个词条,其中所述词条的对应路径具有大于阈值的概率评估。
在另一实施例中,搜索穿过词条前缀树的所述路径的步骤包括:识别出对应于所述手势结束位置的一个或多个特征;并且仅在任意代表所述一个或多个特征的节点与所述词条前缀树中的节点相对应时,将给定路径的累计概率指示分配给任意代表所述一个或多个特征的节点;所述一个或多个特征对应于所述手势的结束位置。通过累计概率对出一条或多条路径排序并返回累计概率大于阈值的路径,其中,被返回的一条或多条路径对应于一个或多个词条。
在路径搜索方法另一实施例中,根据当下全部有效的样本预测一个或多个词条。本发明的方法包括:随着单一连续手势的实施以及更多样本的生成,定期更新一个或多个词条的预测。
预测一个或多个词条的方法包括:预测一个或多个单词。根据单一连续手势预测一个或多个单词,所述单一连续手势为用户在手势感应键盘上的一个或多个字符上方作出的意图指出单词前缀的手势。预测一个或多个单词的步骤包括:根据单一连续手势预测包含具有两个以上单词的序列的短语,所述单一连续手势为用户在手势感应键盘上的构成多个单词的字符上方作出的手势。优选地,本发明方法包括:使用语境信息修剪一个或多个词条的预测。
优选地,以预设频率实施采样。所述采样的频率为60Hz。
一个或多个词条的预测优选取决于所述手势感应键盘的布局以及手势速度和/或手势曲线方向作出的。穿过所述前缀树的路径的概率取决于两个特征与所述手势感应键盘的对应于这两个特征的目标之间的手势形状。所述路径的概率取决于差异单调递减函数,所述差异为所述两个目标间的直线距离与所述两个目标间手势的曲线长度之间的直线距离差异。所述路径的概率取决于直线方向间差异的单调递减函数,所述直线方向间差异为所述两个目标之间的直线方向与所述两个目标间各点上的手势方向之间的差异。
所述手势为击打键盘操作,所述手势感应键盘为触摸感应键盘。本发明方法包括:探测用户击打所述手势感应键盘的压力,以形成单一连续的击打键盘操作,而关于采样的步骤则包括采集存在上述压力的位置。关于采样的步骤包括探测压力值以及给定时间点上的位置。
在本发明的第二方面中,提供了一种计算机程序产品,该程序产品其包括:计算机可读介质,其上存储有能够使处理器执行任意一项所述方法的计算机程序。
在本发明的第三方面中,提供了一种系统。该系统包括:特征识别结构,其用于根据多个样本生成一个或多个特征,其中,所述样本是在不同时间点上被采集而来的,而且在比划手势时,所述样本对应于手势感应键盘上的单一连续手势的位置,而其中的所述特征与所述手势感应键盘的其中一个目标相关,该目标为用户比划手势时的预期输入;以及预测机构,其用于根据所述特征预测出一个或多个词条,所述预测机构包括:前缀树生成机构,其用于生成包含所述特征的词条前缀树;路径搜索机构,其用于找出一条或多条穿过被赋予所述特征的所述词条前缀树的路径;以及预测器。
该系统还包括手势感应键盘;所述手势感应键盘包括多个目标,并用于接收作为输入的单一连续手势。
该系统还包括采样机构;所述采样机构用于采集在比划手势时所述手势感应键盘上的手势在多个时间点上的位置。
所述前缀树生成机构用于根据图论生成图形,其中,所述图形代表词条前缀树。
所述特征识别机构用于根据通过识别所述手势感应键盘上的手势位置获得的多个所述样本生成一个或多个特征;在该位置中,用户意图穿过所述手势感应键盘的目标。所述特征的位置是所述手势位置,在所述手势位置中所述手势在距离所述目标最近的地方穿过。所述目标为点目标或线目标。所述特征识别机构用于识别所述手势感应键盘上的各目标的特征。所述特征识别机构用于仅在所述特征与所述目标之间的最小距离小于距离阈值时保留特征。
优选地,各特征包括对应于所述手势和所述目标之间最小距离的距离度量。
所述前缀树生成机构优选用于通过保留词典前缀树中被允许赋予所述特征的词条,生成所述词条前缀树。所述词典前缀树的词条被保留下来,即便特征与所述词典前缀树的词条不对应。
所述目标对应于字母表中的字母以及诸如空格和/或标点符号的可选的单词边界定界符。所述词条前缀树包括一个或多个表示完整单词最后一个字母的节点,其中,所述前缀树生成机构用于向包含对应于单词最后一个字母的节点的所述词条前缀树中插入对应于空格符号的节点。优选地,所述前缀树生成机构用于在所述特征识别机构未识别出与空格字符相关的特征时,降低对应于空格字符的所述节点的相关概率。所述前缀树生成机构优选地用于在对应于空格字符的节点上通过保留词典前缀树中被允许赋予特征序列中的剩余特征的词条,生成新的词条前缀树。
所述前缀树生成机构用于修剪词条前缀树,以去除掉所述词条前缀树图形中给定路径概率与最可能路径概率之比小于预设阈值的图形中的所有路径。所述前缀树生成机构优选地用于将代表空格字符的节点与元数据关联,以根据语境数据修剪所述新的词条前缀树。
所述前缀树生成机构用于当存在穿过词条前缀树且被赋予所述特征的有效路径时,通过保留包含字符副本的词典前缀树中的词条,使给定特征表示与其相关的字符的重复实例。
在一优选实施例中,所述路径搜索机构为路径搜索算法。所述路径搜索算法使用所述距离度量生成与穿过所述词条前缀树的各条路径相关的概率评估。所述路径搜索算法优选返回一个或多个词条,其中所述词条的对应路径具有大于阈值的概率评估。
在另一实施例中,所述特征识别机构用于确定对应于所述手势结束位置的一个或多个特征;而所述前缀树生成机构用于仅在任意代表所述特征的节点与所述词条前缀树中的节点相对应时,将给定路径的累计概率指示分配给任意代表对应于所述手势结束位置的所述特征的节点。所述路径搜索机构优选用于为累计概率排序并返回累计概率大于阈值的路径的相应词条。
所述预测器优选用于根据当下所有有效的样本预测一个或多个词条,并随着单一连续手势的实施以及所述采样机构生成更多的样本,定期更新一个或多个词条的预测。
所述预测器优选用于预测一个或多个单词。所述预测器用于根据单一连续手势预测一个或多个单词,所述单一连续手势为用户在手势感应键盘上的一个或多个字符上方作出的意图指出单词前缀的手势。所述预测器用于根据单一连续手势预测包含具有两个以上单词的序列的短语,所述单一连续手势为用户在手势感应键盘上的构成多个单词的字符上方作出的手势。所述预测器优选用于使用语境信息修剪一个或多个词条的预测。
所述采样机构优选用于以预设频率实施采样。所述采样机构的采样频率为60Hz。
所述预测器优选用于根据所述手势感应键盘的布局以及手势速度和/或手势曲线方向预测一个或多个词条。所述预测器优选用于根据两个特征与所述手势感应键盘的对应于这两个特征的目标之间的手势形状预测穿过所述前缀树的路径。所述路径的概率取决于差异单调递减函数,所述差异为所述两个目标间的直线距离与所述两个目标间手势的曲线长度之间的直线距离差异。所述路径的概率取决于直线方向间差异的单调递减函数,所述直线方向间差异为所述两个目标之间的直线方向与所述两个目标间各点上的手势方向之间的差异。
所述手势感应键盘优选为触摸感应键盘,而所述单一连续手势为所述触摸感应键盘上的击打键盘操作。所述触摸感应键盘用于探测用户击打所述手势感应键盘的压力,而所述采样机构用于采集存在上述压力的击打键盘位置。所述采样机构用于探测压力值以及给定时间点上的位置。
附图说明
参照下列附图,详细介绍本发明:
图1为本发明系统和方法的使用示意图,并特别示出了为输入某一短语而滑过包括了手势感应键盘的用户界面的单一连续用户手势,并示出了显示在用户界面显示器上的相应预测短语;
图2为本发明系统和方法的使用示意图,并特别示出了为某一单词输入前缀而滑过包括了手势感应键盘的用户界面的单一连续用户手势,并示出了显示在用户界面显示器上的相应的预测单词;
图3为示出了本发明输入流连续处理流程的流程图;
图4为示出了本发明的输入样本转换为更新预测的子流程的流程图;
图5为本发明的使用了阈值和滞变的特征生成算法的曲线图;
图6a和6b为本发明根据表示词典的参考前缀树(图6b)生成词条前缀树(图6a)的示意图;
图7为本发明词条前缀树中结束词尾的示意图;
图8为当生成词条前缀树时本发明方法和系统中的前缀生成手段如何处理结束词尾的示意图;
图9为本发明基于某一手势中两点间轨迹的距离和长度变化实现成本函数的示意图;
图10为本发明基于两点间轨迹的有效面积实现成本函数的示意图;
图11为本发明基于假设为两相邻点的两点间的轨迹的终点方向实现成本函数的示意图;
图12为本发明系统的示意图;
图13为本发明方法和系统的使用实例的示意图,并特别解释了由实例单一连续手势获得的第一样本的特征图;
图14为本发明系统的使用实例的示意图,并特别示出了通过手势感应键盘输入的意图表示词条“a wet”的用户手势;
图15是为图14中示出的单一连续手势生成的部分特征的示意图。
具体实施方式
本发明披露的系统和方法允许用户输入任意长度的可由单一的连续敲击表示的多个单词或单词前缀所构成的字符输入序列,并保持以前缀、单词和/或短语预测形式出现的定期的反馈。
这样,本发明的系统和方法提供了手势感应装置的文本输入。在手势感应装置中,用户可以实施单一的连续手势来表示意欲输入的单词或短语输入。下文以触摸屏或触摸感应装置为例进行说明。具体实施例中的触摸屏装置允许用户通过移动其手指逐一地选择字符来输入单词或短语,而无需在各字母或各单词之间断开与屏幕的接触,而该系统同时处理该输入并生成预测。
本发明同已知的装置相比已有了显著的改进,因为其提供了更加准确和灵活的文本输入,同时提高了文本输入速度。
为了便于理解触摸屏装置实施例,将用户输入手势称为以用户手指离开触摸屏作为结束的“击打键盘”。该系统以用户断开与屏幕的接触表示在一次特定击打键盘中不再由该点输入单词。
本系统和方法基于连续的样本流进行词条预测。各样本在手势实施时表示适时的手势位置。举例来说,同单词匹配系统相比,本系统和方法可在更高的功能级别上运行。由此,本发明的系统和方法可提供双方向上的可伸缩性,即:每次可缩至小于一个单词(前缀)的长度或伸至多个单词的长度。由此,解决了已知系统和方法存在的问题,并提供另一个更加灵活的选择。下面结合图1、图2,介绍这一选择。
图1示出了滑过触摸感应键盘的表示多个单词“How are you”的用户手势实例。如图1所示,在各单词之间,用户的手指无需离开屏幕。本系统采用的概率方法(将在下文中介绍)对于自然语言而言,能够推断出可能候选短语之间的空格。
图2示出了表示单词前缀的用户手势实例,在该实例中,前缀为单词“please”的“pl”。在该实例中,输入手势经过“p”和“l”,则句子起始(即,在无语境词汇条件下的预测)的最可能单词为“please”,于是由将该单词显示在包含触摸屏键盘的用户界面的显示屏上。在下文中将要介绍到的由概率语境模型提供的语境证据的使用,允许系统和方法考虑诸如期望单词的前缀等较小幅度击打键盘的语境信息。这样,上述语境证据的使用将提高提供给用户的文本预测的准确性。
图1、2示出的实例涉及到通过未包含空格键的虚拟键盘所输入的文本。但是,本发明同样适用于通过包含空格键的键盘上的手势所输入的文本。本发明的系统和方法可以使用户通过单一的连续手势输入多个单词。凭借这一生成文本预测的方式,即便是在用户未指出单词边界的情况下,也可以从单一的连续手势中推断出多个单词或一个短语。
参照其余的图,在下文中将根据本发明方法和系统的实例介绍如何实现本发明的细节。
如上文所述,在比划手势时,本发明的方法和系统随时间的推移取手势位置的样本。对于触摸屏装置而言,还可同时取表示位置的压力值样本,以提供更多关于用户的击打键盘意图所表示的单词/短语的信息。位置和/或压力值的采样可由本领域中的任意已知方法实施。该系统和方法将用户输入样本的连续流模型化,以提供词条/单词/短语的预测。击打键盘输入可被定义为(大致为无穷大的)样本序列s如下:
s={x,y,p,t}
值x和y只是表示采样时用户手指物理位置的坐标值,p是压力读数,而t是实施采样的时间。由此,击打键盘S的定义如下:
s={s1,s2,…,s}
由此给出了系统的必要输入条件的定义。该系统将击打键盘输入转换为代表请求预测时间点上的特定字符序列C的样本序列的概率评估:
p({s1,…,sn}|C)
在这一概率评估中,n被定义为样本索引,其中t代表最新的样本。C为用户通过击打键盘意图输入的内容的预测,该预测包括一组包含空格的字符。这一评估可作为额外证据源应用于基于多证据源生成词条/单词/短语预测的其他系统或方法,例如,申请号为PCT/GB2011/001419、名称为“文本预测引擎,电子装置的文本输入系统及文本输入方法”的国际专利。该专利内容作为参考被全面引入本文。
本发明系统优选用于连续提供概率评估,并可将这一评估作为输入提供给申请号为PCT/GB2011/001419的国际专利中的文本预测机构。该文本预测机构将这一评估与其他证据源(例如语境)一起加以考虑,以生成更加准确的文本预测。
如上所述,需要对{x,y,p,t}形式的样本的连续流进行处理,以生成代表特定字符序列的样本序列概率的评估。图3示出了这一处理步骤。如图3所示,当用户触摸屏幕并击打键盘时,取得样本。该系统连续处理击打键盘生成的样本序列。这样,当用户保持与屏幕的接触时,连续取得样本,而这些样本连同手势的在先样本一起被进行处理,以提供带有相关概率评估的连续更新的预测。一旦用户断开其与屏幕的接触,则假设击打键盘已结束,而且不再有字符/单词从该特定击打键盘的这一点上输入。
此处需要一子流程,以将{x,y,p,t}形式的样本序列转换为一个或多个带有相关概率评估的候选字符序列。图4示出了‘原始’输入样本向概率评估/更新的转换。如图4所示,一包含了三个步骤的方法将原始样本转换为带有相关概率评估的候选字符序列。
如图4所示,上述子流程的第一步骤将原始样本转换为具有较抽象“特征”的稀疏序列,其中,各特征可代表包含在预测(即:候选字符序列)中的候选字符。该候选字符可与距离度量一起用于计算概率评估。下面将介绍原始样本向特征序列的转换。
当原始样本已被转换为特征时,上述子流程的第二步骤包括:生成词条前缀树。通过保留被有效地给予了特征的潜在子序列的参考前缀树路径,从参考词典前缀树中生成词条前缀树。参考前缀树是整个词典的完整的前缀树,因此其为静态只读的数据结构。该参考前缀树可被存储在系统的内存中。与之相反,词条的前缀树为动态生成的前缀树。动态生成的前缀树是仅融入与击打键盘图案相关的元素的参考前缀树的稀疏副本。在生成给定击打键盘图案的预测之后,词条的前缀树通常被丢弃掉。但是,在某些情况下,优选地保留下词条的前缀树,以便为来自连续击打键盘图案的下一个预测提供语境证据,例如,在存在表示同一句子/短语中连续词条的两个击打键盘图案的情况下。
上述参考词典前缀树可以是本领域中任意已知的参考词典前缀树。例如,可以是链接http://en.wikipedia.org/wiki/Trie上引用的任意参考,或者可以是公开号为WO2010/112841、名称为“电子装置的文本输入系统和文本输入方法”的国际专利申请中提到的基于英语文本的英语模型。据此,作为参考的该专利内容被全面引入本文。在一优选实施例中,词条前缀树由图形进行表示,而生成词条前缀树的步骤包括:构建一加权的特征的潜在子序列定向图形。
给定一相关语言的参考词典前缀树,则加权的定向图形构建如下:
定义一节点N,该节点在图形中成对{f,t}出现,其中f为该节点代表的特征,而t为与之相应的参考词典前缀树中的节点;
定义一边界E,以表示将由特征表现的字符和某一后来特征连接在一起的有效前缀树的存在及路径成本(cost,将在下文介绍成本函数)的存在;以及
构建包含一组由特征而来的节点和边界的图形。
优选地,上述图形的构建还包括:如果节点t存在于参考词典前缀树,则向图形中插入节点,即便该字符的特征识别机构无法识别出特征。通过向图形中插入节点,当该节点存在于参考词典前缀树时,上述系统和方法可以增加纠正拼写错误或单词键入错误的准确性。在下文中,将与图形边界成本即分配给插入节点的成本一起具体介绍这一步骤,即当不存在被识别出的对应于节点字符的特征时向图形插入节点的步骤。
尽管各候选单词或短语的概率评估是必要的,但在处理图形边界时使用“成本”概念则更为自然。因此,在随后的说明中,通常根据给定路径的成本来规定该给定路径的概率。根据图形中候选C的从根部至终结节点的累计成本c,可推导出候选C的概率p(C)如下:p(C)=e-c,或者可由概率评估反推出成本,即:c=-ln(p(C))。
因此,本发明的系统和方法在子流程的第二、第三步骤中包含第一参考词典前缀树(其存储在装置内存中)和第二动态生成的前缀树(我们称之为词条前缀树或图形前缀树)。静态参考前缀树及动态生成的前缀树的使用,可在一个手势是另一个手势的前缀时通过提供直接的恢复操作来实现有效的连续预测。还可使用路径搜索算法来有效地探索前缀树(这显然来自于子流程中步骤3的描述)。动态生成的前缀树在单一手势的生命周期中使用(或者使用于下一个手势生命周期中,其前提是,如果第一手势是下一个手势的前缀),之后被丢弃掉,而静态前缀树则保持不变。术语‘词条的前缀树’和‘图形’可被交替使用,因为词条的前缀树具有与节点间连接相关的成本值。
返回至图4,在原始输入样本向与概率评估相关的预测进行转换的最后步骤中,对穿过前缀树或图形的有效路径进行定位。穿过词条前缀树的路径表示候选字符序列的可能预测。如图3中的流程所示,将穿过前缀树或图形的成本最低的路径或最可能的路径作为更新过的预测进行返回。在一实施例中,路径搜素算法可用于定位穿过前缀树或图形的成本最低(或最可能)的路径。本领域中任意已知的路径搜索算法都可以被使用,例如,Dijkstra算法(迪杰斯特拉算法)或A*算法(A星算法)。然而,本发明还可使用识别最可能路径的另一种方法。下文将介绍这一方法。给定预测的概率评估由给定路径穿过图形或前缀树特征的累计成本推导出。下文将介绍为前缀树各节点(leaf)设置成本的成本函数的实现。
申请号为PCT/GB2011/001419的国际专利披露了将各预测及与各预测相关的概率评估作为全部预测概率的证据源提供给系统的方案。
使用图形表示前缀树的优选方法使用图论技术管理由连续采样引起的组合复杂度。由原始输入样本生成的特征序列表示了要比预期用户输入多得多的字符。通过搜索穿过图形的路径,挑选全部特征序列的可能子序列。此外,通过生成图形/作为参考词典前缀树子图形的前缀树,使路径搜索算法更加有效地搜索有效路径。由参考词典前缀树生成图形/前缀树的其他有益效果在于:可通过在某种程度上保留参考词典中某一未被识别成特征的字母来有效且准确地纠正拼写错误或单词键入错误。
如果特征序列被模型化为有序集合F,则所有可能的子序列均是集合F的幂集,即包含所有F的可能子集的集合。
F={f1,f2,…,fn}
如果n是由目前样本输入推导出的特征的数量,则P(F)的增长如下:
|P(F)|=2n
考虑某一用户输入暗指的所有可能路径的朴素算法具有超级的多项式时间复杂度。包含将动态修剪与路径优先权的组合绘制成图的本发明方法可以解决这一问题。该方法提供了用于处理搜索空间复杂度的高级策略。
如上所述,基于原始输入样本的评估预测的问题可被分解为结构化的子问题,这些子问题包括:从原始样本序列中识别出特征序列;基于这些特征生成图形;找出穿过该图形的路径。此外,可基于穿过图形的路径的累计成本,将概率评估与路径联系在一起。
为了降低计算复杂度,可在给定时间点上修剪掉图形中累计成本达到一定点位的一组路径。举例来说,删除(修剪掉)这样一种路径,该路径的概率评估更新减少至使该路径概率评估与最可能路径的概率评估之比降至某一阈值以下的水平。
返回至图4所示的子流程步骤中,上述系统包括特征识别机构、图形(或词条前缀树)生成机构以及路径搜索机构。在本实例中,上述系统和方法使用了这样一种算法。该算法包括特征识别算法、图形生成算法和路径搜索算法。图形生成算法可被分解为两个不同的阶段,可通过替换掉其中的任一部分来实现不同的性能或质量特征。第一部分为在图形/词条前缀树中的可能连接之间分配权重的“成本函数”。第二部分为可用于动态丢弃那些穿过图形且早期成本花费较高的路径的(可选的)修剪函数。该修剪函数的优点在于(可能以精确度为代价)改善了图形构建算法的性能。
如果“成本函数”用于为词条前缀树中的各节点分配累计成本,则不再需要用于找出最节省路径的路径搜索算法。这是因为,最节省路径可由分配给节点(leaves)的累计成本值确定(下文将详细介绍这一过程)。因此,在这种情况下,算法只需包括特征识别算法和图形生成算法。预测器用于根据路径通往目标节点的累计成本为路径排序,并将以相关概率进行表示的路径序列作为预测进行输出。
下面,详细介绍上述子流程中的各个步骤。返回至第一步骤,特征识别算法用于根据原始输入样本生成特征。定义特征,使其表示击打键盘操作中的某一点。在该点上用户意图穿过键盘上的其中给一个固定目标(例如,目标点或目标线)。特征识别算法仅需要根据输入样本生成一些可选特征(因为由图形生成算法计算包含或跳过某一特征的成本)。
特征可表示为如下一组值:
fi={ti,li,di,si}
其中,ti为预定目标,li为击打键盘位置至该特征的距离,di为(击打键盘位置上的)该特征与ti位置之间的距离,而si为最近样本与该特征之间的索引。用这种方法表示的特征曾经仅可应用于键盘上的单一“目标”(目标基本上与字符为一一映射)。举例来说,‘z’目标的特征永远不会导致‘x’被加入到输入之中。为此,无法由击打键盘的拓扑单独计算出目标-目标的定义基于拓扑及键盘布局。
特征识别算法为键盘上的各个目标分别加入特征。特征被加入到击打键盘位置与目标之间的局部最接近路径上。局部最接近路径是击打键盘(曲线)与目标(即:点或线)间隔中的局部最小值路径。在目标为点的情况下(例如,目标表示为虚拟键盘上的字符键),该间隔可被直接求出。然而,其他类型的目标也可被使用,例如,目标可被表示为线,包括直线或曲线(例如,当目标为虚拟键盘上的空格键时)。在目标为线的情况下,特征识别算法沿着某一条线求出一点。该线表示一个位置,在该位置上由击打键盘产生的曲线与目标线的间距最小。之后,该点被用于计算标准点目标方面的间隔。如果由击打键盘产生的曲线穿过目标线,则由击打键盘产生的曲线与目标线的间隔为零。而特征将被加入到由击打键盘产生的曲线与目标线的交点上。如图5所示,局部最小探测的间隔尺寸由特征探测器的滞变定义,因为击打键盘采样与特征识别之间存在延迟。
因为用户基本上是人类,因此击打键盘的操作不大可能平滑(但如果需要的话,可使用平滑算法)。不平滑的打键盘的操作与按键中央的距离随用户按动按键而上下波动,由此可能产生一些局部最小值。特征识别算法被优选设置为用于识别曲线上的那些存在“显著”(significant)局部最小值的点。滞变常数规定了值定义机构。通过这一机构使距目标的距离需要上下波动,以便使最小值变得明显,并使特征被识别出来。图4示出了四个低于距离阈值的局部最小值,只有其中的两个最小值被认为是显著的。
滞变的有益效果在于:可以避免为不平顺的击打键盘操作添加过多的特征。此外,尽在特征与目标的间隔小于特征探测器的阈值时(参见图5)添加特征。
一旦识别出特征,便实施生成包含有那些特征的前缀树或图形的下一步骤(参见图4)。在一优选实施例中,上述系统和方法使用了图形生成算法。
参照图6a介绍图形生成算法的预期输出。图6b示出了参考词典前缀树。图6a示出了生成的词条前缀树(或图形)。由此可以看出,生成的前缀树/图形仅包含穿过参考词典前缀树的相关路径,即:只有那些基于特征为有效的路径。
这样,图形/前缀树描述了仅与特征相关的单词集合。由此可以看出,前缀树/图形是定向型的,因为序列中的特征按顺序保持在图形中,但来自充盈特征序列的特征可被跳过。例如,对于输入特征c、d、o、f、g、h而言,单词“dog”是有效的路径,其中特征c、d和h可以被跳过。如上所述,由特征识别算法识别出的特征表示用户意图输入的多个字符,但这些特征可被图形生成算法跳过。
此外,图形生成算法优选用于向图形/前缀树插入节点。如果该节点位于词典前缀树内且为被赋予经识别的特征的有效路径的一部分,则该节点表示未被特征识别算法识别为特征的字符。通过非限制性实例,假设特征识别算法识别出上述实例中的特征‘c、d、o、f、g、h、t’(涉及图6a、6b)。图形生成算法将表示‘a’的节点和对应于本次插入的成本插入图形/前缀树,从而使‘cat’成为图6a的图形/前缀树中的另一条路径。下文将介绍如何将成本分配给插入节点的方法。
在前缀树中,根据设置的参考词典,以终结节点表示单词结尾的有效点。在图6a、6b中通过加粗的边线突出终结节点,以将其与非终结节点区分开。值得注意的是,生成的前缀树/图形中的所有边界均具有一与其相关的成本,但为了简便起见,在本实例中仅示出了一条路径。此外,特征仅被表示为字符,这也是特征最可能表示的。在实际应用中,特征还具有与其关联的其他数据。这些数据与被利用的成本函数相关。
目前存在多种构建图形的方法,而不同的方法可实现不同的性能特性或提供让步于灵活性的方案。优选算法使用了深度优先的递归构建方法,即:(由图形生成算法)按照深度优先检索访问图形/词条前缀树的节点的顺序构建图形/词条前缀树。该算法将修剪步骤结合入各递归步骤中。
优选地,如果存在有效的前缀树路径,前缀树或图形生成算法通过考虑任一特征来涵盖隐含的字符重复,以尽可能地表示由特征代表的字符的重复实例。如果发生这种情况,以作为亲子参数的同一特征调用成本函数。成本函数的实施具有为重复特征分配合理成本值的规则。通过一非限制性实例,特征f、f′的实现如下:
cost=s(f)*c(f′,f)
其中,s(f)为与“间隔”距离(击打键盘操作中的特征f与按键几何中心之间的距离)一起使用的函数,而c(f′,f)为与“曲线距离”d增量(delta)一起使用的函数。曲线距离为曲线上两个特征之间的距离。如果f′等于f,则c(f′,f)=1,这样只需考虑间隔分量。
上述子流程的最后一个步骤包括:识别有效路径以及与该路径相关的概率。各终结节点上的累计成本将被用于计算单词概率。
在如图6a所示的具体情况中,给定用户输入的预测已为“dog”和“of”。这些预测是可能给定输入序列的仅有的两个单词,而且这些预测包含一组与其相关的独立求出的成本值。这些成本值稍后被用于计算预测的概率。但是,在如图6a示出的另一条路径上,还存在另一预测“cat”。该预测具有一与其相关的计算出的成本值。
上述系统可以仅为那些由前缀树显示为有效的特征路径调用成本函数。
一种方法可使用诸如Dijkstra算法或A*算法等已知算法找出图形中的最小成本路径。
另一种优选的方法是在构建图形时记录下各图形节点上的累计成本。考虑到优选实施例图形的树状结构,各节点(leaf)之间只能有一条路径。这意味着,如果存在一种识别合理“目标”节点的方法,则可依据累计成本挑选路径以到达那些节点,并可在不需要路径搜索算法的情况下高效地返回该路径所代表的序列。
与已知的方法相反,本发明方法不限制击打键盘输入与单一单词之间的匹配,因为在上文中构建的图形结构和在上文中概述的搜索方法具有全部信息的灵活表现形式。很明显,同一特征识别和图形生成可被用于从仅表示单词前缀的特征中预测单词,从涵盖多个单词的特征中预测短语。
图形/前缀树生成机构有效地生成加入权重(或成本)的参考词典前缀树的子树。由此可匹配到前缀,因为图形中的最低成本路径应该是最可能的前缀。为了偏置完成一单词的特征成本计算,将“终结节点”加入到图形/前缀树中,其中表示单词中最后一个字符的终结节点包含与其相关的由取决于空格概率函数的某一因子加权的成本。将在下文中详细介绍这一过程。图6a、6b和7中示出了由具有加深边缘且被加了阴影的节点所表示的终结节点,以将其与其他非终结节点区分开。
为了预测包含一个或多个单词的短语,通过图形/前缀树生成机构识别单词词尾,并将具有适当成本的空格(或其他单词边界的定界符)概率结合入图形中。在下文中将详细介绍这一过程。这一过程可以使上述系统和方法将单词串连在一起,如果输入提示串连在一起的单词为预期的输出,则无论用户是否通过其输入(例如,滑过或靠近虚拟键盘上空格键的手势)明确地指出单词边界,都可以匹配到整条短语。
图形生成算法可将空格字符(或其他单词边界定界符)作为某一节点N的子节点加入到图形中,所需前提如下:
N为终结节点(单词的有效词尾);
穿过终结节点N的路径的成本c满足现使用的修剪标准。该成本考虑到空格概率函数。举例来说,如果某一路径的概率与最可能路径的概率之比在某一阈值以下,则修剪掉该路径。
与结合入图形中的空格相关的成本将取决于特征识别机构是否识别出对应于该空格的特征。例如,某一用户在虚拟键盘上实施击打键盘的过程中其手势穿过了空格键,由此给出了单词边界的明确信号,特征识别机构识别出作为特征的空格。或者,用户并未作出穿过或接近空格键的手势,例如,因为用户漏掉了空格键(例如,误操作或故意为之),或因为虚拟键盘省去了表示词条边界的目标(例如,键盘没有空格键)。在这种情况下,空格特征不会出现在由特征识别机构识别出的特征集合中。
图7示出图解了终结节点N的前缀树实例。与终结节点N相关的标准成本由成本函数确定。在下文中将详细介绍这一过程。但是,可根据随后的空格节点的成本修改与穿过终结节点的路径相关的成本。
在特征识别机构识别出对应于单词边界字符(例如空格)的手势以及空格特征对应于空格节点(即,空格特征出现在构成图形的定向特征集合中的适当位置上)的情况下,图形生成机构使用标准成本函数将成本与该空间节点关联,具体如下文所述。
然而,如果空格特征未被特征识别机构识别出,图形生成机构会向空格节点施加惩罚,因为空格节点未被用户明确识别出(由此会增加穿过终结节点路径的成本)。这一惩罚优选为固定成本。
在键盘不具备空格键的情况下(如图1、2所示),图形生成机构可向空格节点分配小惩罚,例如,低固定成本。在一些实施例中,对于终结节点之后的空格节点的惩罚可被完全放弃。有利的作法是计入对于空格节点的惩罚,即便无法明确地输入空格。因为这可以在诸如用户可能通过单一手势输入单个单词或单个单词前缀(而非多个单词或短语)的情况下给出更加准确的预测。
因此,具有较高相关成本的空格节点将会导致具有较高成本的穿过终结节点的路径的产生。这样基本上相当于增加了终结节点的相关成本。
如上所述,图形生成算法可将对应于字符的节点插入到字符未被识别成特征的地方,但在该字符存在于参考词典树中,例如,图形生成算法可插入对应于特征识别算法未识别出的字母的节点。图形生成算法以与其在空格未被识别成特征时向空格节点分配惩罚相同的方式,向被插入的节点分配了一个诸如固定成本的惩罚。优选地,分配给被插入节点的惩罚取决于与该被插入节点对应的字符的类型,例如,分配给空格节点的固定成本可不同于分配给字母节点的固定成本,同样地,分配给空格节点的固定成本也不同于分配给标点节点的固定成本。
在下文中,将介绍在未识别出对应特征便已插入字符情况下的确定路径成本的方式。
图8示出了如何在生成图形中表示空格符号。如上所述,图形中的各个节点与其在参考词典前缀树中的对应节点配对。“空格节点”之后的节点与参考前缀树的根节点配对,从而可在(空格字符后的)各节点上有效地生成参考前缀树的新的子树。这意味着算法可适当恢复针对新单词的前缀检索。还可以对空格节点添加元数据从而可将语境证据用于修剪下一个单词的检索。在每个可能的空格重新开始搜索,将导致搜索空格量的剧增。通过使用语境信息,如果给定了空格节点之前的单词或单词序列,则可识别出哪些单词可能在空格节点之后出现。考虑到语境信息,如果后续特征表示了不大可能出现在空格节点之后的单词的字符,则可以惩罚后续特征的成本值,由此可将语境信息应用于修剪(因为可将不可能的路径从前缀树中删除掉)。
以用户通过一次击打键盘操作输入短语“hi there”为例。算法将会运行至前缀树中的“h->i”,并发现“i”被标记为终结节点。表示为空格字符的节点及其相关概率被加入至前缀树。
将可能出现在“hi”之后的单词及其相关概率连接于空格节点,而成本函数则在后续节点被连接于空格节点时考虑这一点(“hi”之后出现的单词)。公开号为WO2010/112841的国际申请或申请号为PCT/GB2011/001419的国际申请披露了使用语境信息告知随后预测的系统及方法的实例。该专利内容作为参考被全面引入本文。
因此,不可能的短语(对于同一输入形式可能有效的短语,例如“hi threw”)可被分配一个相当高的成本。修剪函数可能会消除先前的路径,并减少需要被探索的前缀树中的路径。
上文概述的图形构建算法会认为特征序列中的任意特征都可能是有效的起始点。也就是说,会认为特征序列中的任意特征都可能显示出第一个单词的第一个字符应该是什么。为了降低计算的复杂度,可假设在用户输入中存在某一精确度,尤其是在击打键盘操作的起始点存在某一精确度。
如上文所述,如果可以识别出候选根节点和“目标”,则可大幅降低计算的复杂度。对于假定特征序列,候选根节点代表与第一个单词的第一个字母相对应的特征。该第一个单词是为给定特征序列预测出的。因此,候选根节点应该对应于键盘上作为用户手势起始点的某一目标。目标候选代表与手势结束点上的目标相对应的特征,即与用户在手势结尾处的触摸相对应的目标(例如字符键),之后用户将其手指从屏幕上撤回。
目标候选的识别并不用于限制检索空格,但可以用更新候选预测。因为目标候选的识别提供了一组合理节点(leaves),以用于累计成本分析。前缀树中的节点数量要多于前缀树中通往特征序列的“有效末端”的数量。其中,有效末端”是被识别成目标候选的特征。因此,通过识别目标候选,可以识别出穿过前缀树的有效路径,并可大幅度减少分配有累计成本的节点的数量。举例来说,在图6a中,如果目标候选被识别成‘f’(即:特征序列末端的特征为‘f’),则仅存在有效路径“of”,而累计成本则仅被需要分配给终结节点‘f’。在这一实例中,上述系统给出的预测是“of”,而非“dog”(或非另一实例中所述的“cat”)。
通过识别候选目标并向这些候选目标上提供累计成本,可在无需使用路径搜索算法的情况下作出预测:识别出带有有效末端特征的路径;并将累计成本分配给表示该有效末端特征的节点;通过整理累计成本确定最可能的路径并识别出具有最低成本的路径。预测器只需根据累计成本计算出最低成本路径的概率,并将最可能的路径作为预测输出。
下面介绍候选根节点和目标候选的确定。识别出多个“适当的”候选根节点,以将其充当定位坐标,即用于击打键盘操作S的第一样本的定位的坐标x和y。这是因为,对于各个样本而言,并不必要限于将搜索空间限制于单一值,除非具有可以这么做的绝对置信度。按照同样的方法,识别出多个“适当的”目标候选。
序列中被输入的第一单词的预期起始字符可能接近于创建输入的按键中央。为了确定根节点候选,可假设在距输入击打键盘操作起始点的最大按键间隔距离的某一恒定因子中存在样本以及由该样本产生的特征。同样,序列中被输入的最后词条的预期末尾字符可能接近于结束输入的按键中央。在该按键中央,用户断开与屏幕的接触。
在一优选实施例中,为了识别根节点候选,上述方法包括:确定归属于特征的“曲线距离”l。该曲线距离的定义式如下:
l ( f n ) = Σ j = 1 s ( f n ) | | s j - s j - 1 | |
此处,fn是第n个特征,s(fn)是最近样本的指数,而||sj-si-1||是两个相邻样本之间的欧几里德距离。因此,第n个特征的曲线距离l为沿样本序列直至该特征的距离之和。
这一操作设定了两个按键之间最大间隔距离的常量k,以及分别应用在从输入序列中识别出根节点和目标候选步骤中的系数的调节参数R和L。
上述函数设定了用户误操作与按键间隔之间的线性关系。可使用更多涉及动作速度的成熟方法。该动作速度可从与各特征相关的时间戳或可能的压力读数计算而来。
上文中已讨论过的图形生成算法将前缀树的可能路径模型化。该图形生成算法调用成本函数。该图形生成算法为图形附上权重,以使得输入图案的物理拓扑具体化。如上所述,图形生成算法除调用成本函数之外,还可向插入到图形中的某些节点分配惩罚,即固定成本,因为未将由节点代表的字符识别为特征。在下文中,将介绍基于曲线长度、用户击打键盘操作与参考击打键盘操作间的平均距离、击打键盘操作(轨迹)速度和结尾点探测的有效成本函数的实施。
如图9所示,成本函数的实施基于轨迹曲线长度。两点间用户轨迹的简单一阶模型以如下设定开头:
两点间的理想轨迹为穿过这两点的最短有效距离。
误差模型是这样的:从任一点的增加距离会产生一条近似于直线的曲线(less likely curve),正如较长的曲线。显而易见的是,本方案中的‘理想用户’将在来自在先字符的直线上依次访问各字符。
本方案中的简化误差模型如下:
p(Si|fi,fi+1)=pd(di)pl(||Si||-||xi+1-xi||)
其中,Si为部分击打键盘操作(样本序列),fi和fi+1是为部分击打键盘操作定界的特征,pd是距离误差模型,pl是长度误差模型,di是目标与击打键盘操作之间的距离,||Si||是部分击打键盘操作的长度,而||xi+1-xi||是两个目标之间的直线距离。在图9中示出了各变量的平均值。距离误差模型和长度误差模型可以是高斯分布或指数分布。在距离误差模型和长度误差模型中,最大概率视情况出现在零距离误差或零长度误差上。上述等式仅包含第一点的距离概率评估,因为当前轨迹的末尾点构成了下一轨迹的起始点,所以末尾点的距离di+1应该包含在针对下一对字符目标的评估中。
如图10所示,对与(用户取两点间最短路径的)‘曲线长度’模型相同的设定实施编码和评估的其他方法为测量用户轨迹与‘参考轨迹’之间的平均距离。在最短路径设定的情况下,‘参考轨迹’是两个按键之间的直线。在该模型中,有效的误差模型如下:
p(Si|fi,fi+1)=pa(Ai/||xi+1-xi||)
其中,如图10所示,Ai是由特征间的轨迹和直线路径所围出的区域。指数分布或高斯分布是pa的合适选择。在该模型中,该区域和直线距离仅被用于计算轨迹距离‘最佳路径’的平均距离。同样,‘最佳路径’可以是任意其他种类的理想化路径,例如,穿过目标点的厄尔密样条(Hermite spline),或接近于目标点的b-样条(b-spline)。
成本函数的可选实施方式基于轨迹速度。大多数已知的子轨迹模型化技术仅仅基于拓扑学,其并不会考虑轨迹还包含计时信息的事实。该计时信息可用于推导出‘轨迹速度’。一个完整的轨迹输入模型可包括轨迹速度。简化的轨迹速度模型设定:
用户的轨迹在特征之间具有最大的速度,而该轨迹在特征上时具有最小的速度。
误差模型惩罚远离特征的低速度轨迹。该模型会沿两特征之间的轨迹积聚概率如下:
p ( S i | f i , f i + 1 ) = p d ( d i ) e ∫ l i l i + 1 log p s ( s ( a ) ; a ) da
其中s(a)为a在起始和结束曲线距离之间变化的轨迹速度,当该速度较低而子轨迹起始和结尾之间的曲线距离较高时,ps较低。
如图11所示,成本函数的另一实施方式基于结尾点探测。曲线方向可由拓扑学轻易地确定下来,而其本身可以是将邻点结合入轨迹模型的强大的方法。如果‘理想的’轨迹是经过四个点的厄尔密样条,则xi上的曲线方向为:
t i ^ = x i + 1 - x i - 1 | | x i + 1 - x i - 1 | |
上一点和下一点之间的单位向量。使用该单位向量的误差模型采用如下形式:
p ( S i | f i , f i + 1 ) = p d ( d i ) p t ( t i ; t ^ i )
其中ti为子轨迹起始处的(有效平滑后的)曲线方向向量。pt是向相似方向上的向量提供较高概率、向不同方向上的向量提供较低概率的概率分布。图11示出了涉及到的不同向量和数值。
成本函数的另一实施方式基于曲线方向。同样,因为可通过积分沿曲线归纳平均距离和速度误差,因此可以假设一曲线方向模型,并可评估整个曲线上的方向误差,而不只是结尾点上的方向误差。简化的方向模型具有如下表示形式:
p ( S i | f i , f i + 1 ) = p d ( d i ) e ∫ l i l i + 1 log p t ( t i ( a ) ; t ^ i ( a ) ) da
该表示形式只是结尾点方向等式的连续版本。参考方向的简单选择并不依赖于a,其只是上一个按键与下一个按键之间的方向:
t ^ ( a ) = x i + 1 - x i | | x i + 1 - x i | |
作为一种选择,可以是方向向量之间的线性插入方向向量。pt的选择方法与结尾点方向模型的选择方法一致。
上述成本函数为穿过图形/前缀树的各特征节点规定成本。在插入其中没有对应字符被识别为特征的节点的情况下,例如空格节点、字母节点、标点节点或代表特征重复实例的节点,如上所述,成本函数的实现发生在向特征节点分配成本之前。其中出于计算成本的目的,忽略掉插入的节点。至于包含插入节点的路径的累计成本,其将是成本函数求出的特征节点的累积成本以及分配给插入节点的成本。
举例来说,路径(“cat”)的识别特征是“c,t”,成本函数为特征节点“c,t”设置成本,如同插入的a节点并不存在。累计路径成本则包括了对于插入的a节点的惩罚。
对于插入的用于表示重复特征的节点,分配给该节点的成本如上所述((cost=s(f)*c(f′,f)))。
这样,如上所述,本发明方法和系统提供根据可以代表单词前缀、单词或短语单一连续手势预测单词或短语的机构。本发明系统和方法实现了实施在手势感应键盘上的灵活的用户输入(例如,并不限于代表单一的完整单词的手势、明确指出单词边界的手势或要求用户准确拼写单词或要求用户输入意向单词),以及通过采集手势样本(多个时间点上的位置和任意压力)实现文本预测。
如上所述,为了根据样本生成单词预测或短语预测,将样本转换成特征。特征用于生成词条前缀树或代表词条前缀树的图形。而通过前缀树或图形识别出代表预测候选的有效路径。设置了成本函数。该成本函数可使概率评估与路径进行关联(其中,可使用p(C)=e-c从成本中推导出概率评估)。
由最可能路径代表的单词作为一组单词或短语的预测被返回给用户,例如通过用户界面的显示板显示给用户。在一实施例中,只有最可能的单词或短语被显示给用户。或者,预测和相关的概率评估可被传给其他系统。其他系统将预测和相关的概率评估作为根据多个证据源进行预测的预测器的证据源使用。
下面介绍本发明的触摸屏装置使用实例。从上文中不难看出,该系统包括:手势感应键盘,其具有多个用于接收来自用户的单一连续手势的目标(例如,点或线);以及采样机构,其用于在比划手势时取得手势感应键盘上的手势在多个时间点上的位置。此外,该系统还包括:特征识别机构,其用于从多个样本中生成一个或多个特征;前缀树生成机构,其用于生成包括一个或多个特征的词条前缀树;以及路径搜索机构,其用于查找一条或多条穿过被有效赋予了一个或多个特征的词条前缀树的路径。
图12示出了本发明的系统10。该系统10包括采样机构1。该采样机构用于在比划手势时采集多个时间点上的触摸位置样本11。该样本11被传给特征识别机构2。该特征识别机构2用于从样本11中识别出特征。正如上文所述的本发明方法那样。
特征12被传给用利用特征12构建图形/词条前缀树13的图形/词条前缀树生成机构3。图形/词条前缀树生成机构3用于使用参考词条前缀树3c生成动态图形/词条子前缀树13。该图形/词条子前缀树13包括被有效赋予了识别出的特征12的参考词典前缀树3c路径。图形/词条前缀树生成机构3包括用于向图形/词条前缀树13中的节点分配成本的成本函数3a。在一实施例中,上述系统包括路径搜索算法。成本函数3a为图形/词条前缀树13中的每个节点分配成本。然而,在一可选实施例中,上述系统用于识别目标节点(如上所述),而成本函数3a用于为目标节点分配累计成本。
图形/词条前缀树生成机构3优选包括修剪机构3b。修剪机构3b用于从图形/词条前缀树13中删除具有低概率的路径。优选地,修剪机构3b删除掉那些给定路径概率与最可能路径概率之比小于一定阈值的路径。具有相关成本的(且可随意修剪的)图形/词条前缀树13被传给路径搜索机构4。
路径搜索机构4用于识别出一条或多条穿过图形/词条前缀树13的最低成本(也就是最可能)路径14。路径搜索机构通过识别目标节点上具有最低累计成本的路径找出一条或多条上述路径14,例如,通过按照路径累计成本的大小为该路径进行排序,并返回一条或多条具有最低成本的路径,或者通过使用路径搜索算法找出穿过图形/词条前缀树13的最低成本路径。该路径14被传给基于路径14生成预测15的预测器。该预测器15包括一个或多个具有相关概率评估的单词或短语。如上所述,其中的单词或短语由路径14的节点所代表的特征12形成而来,而概率评估则由与该路径相关的成本所确定。
如上所述,由最可能路径代表的预测15可作为一组单词或短语预测被返回给用户。例如,通过用户界面的显示板显示给用户。在一实施例中,只有最可能的单词或短语被显示给用户。可选地,预测及相关的概率评估15可被传给其他系统。其他系统将预测和相关的概率评估作为根据多个证据源实施进一步预测的第二预测器的证据源使用。
本发明系统的使用实例
系统10需要用于将原始输入样本11转换为特征流12的键盘布局描述。对于随后的实例而言,使用了下列配置:
Key X Y
a 24.0 120.0
b 264.0 200.0
c 168.0 200.0
d 120.0 120.0
e 168.0 120.0
f 168.0 120.0
g 216.0 120.0
h 264.0 120.0
i 312.0 120.0
j 312.0 120.0
k 360.0 120.0
l 408.0 120.0
m 360.0 200.0
n 312.0 200.0
o 408.0 40.0
p 456.0 40.0
q 24.0 40.0
r 168.0 40.0
s 72.0 120.0
t 216.0 40.0
u 312.0 40.0
v 216.0 200.0
w 72.0 200.0
x 120.0 200.0
y 264.0 40.0
z 72.0 200.0
为了证明用于根据手势输入生成预测的方法和系统的灵活性,下面将要介绍用户意图输入前缀或单词的系统10的使用实例以及用户意图输入多个单词的系统10的使用实例。
前缀匹配
系统10需要输出预期的具有足够高概率的单个首字母或多个构成前缀的字母,以使广泛的预测系统能够使用语境和其他资源根据该前缀生成更为准确的完整单词的预测。可选地,系统10可通过显示由该前缀代表的最可能单词,输出显示给用户且基于识别出的前缀的预测15,而无需将前缀传给更大的系统。
如上所述,在比划手势时,系统10的采样机构1取得手势样本以生成样本序列11。其中各样本中的数据由位置向量、压力读数和时间值组成。
在本实例中,如图13所示,用户开始通过将其手指移过键盘上的目标“按键”输入单词“type”。但系统10到目前为止仅采集了几个样本11。下列数据是从装置中提取出来的。在该装置中,采样机构1在~60Hz和以毫秒衡量的时间上实施采样。
x y p t
218.14 40.04 0.46 0
218.52 40.93 0.47 13
218.52 40.93 0.47 22
218.53 40.93 0.48 34
220.92 50.12 0.49 46
222.69 55.78 0.50 57
224.83 62.08 0.50 71
227.11 70.64 0.50 81
系统10的特征识别机构2首先将样本序列11转换为特征序列12,例如,可通过使用上述特征识别算法实施所述转换。在一优选实例中,保留特征用的调整参数(距离阈值和滞变)为最小按键间隔距离函数。在上述键盘布局中,所述最小间隔距离为48像素。由此,使用了下列参数:
h=0.5*48=24
h=1.5*48=72
其中,h为滞变,而t则为距离阈值。特征识别算法生成了一组输入样本11的特征,具体如下:
上述特征12由目标字符c、坐标x和y、间隔距离s以及时间值t组成。由上可以看出,在本实例中提供了9个样本,并生成了包含5个特征12的序列。
下一步骤将特征12的序列提供给图形生成算法3,以构建代表特征12序列中的特征的可能组合的图形13。这些可能的组合与代表使用中的语言词典的前缀树3c被交叉引用。举例来说,我们将假设一个英语词典,这样如图13所示,建立了一个仅包含英语单词有效前缀的图形13。
图形生成机构3的成本函数3a可用于向代表了特征12的图形13节点分配成本。为了生成与各种组合相关的成本,在本实例中使用了基于距离的成本函数。基于距离的成本函数需要一些使高斯函数和指数函数衰变(decay)的参数。基于距离的成本函数用于向曲线长度和距离中的差异分配成本。在上述实例中,假设这些参数又是按键间隔函数:
δ=0.7*42.0=29.4
λ=0.4*42=16.8
其中,δ是特征距按键中央的距离d的衰变参数,而λ是特征与理想最短距离l之间的曲线长度中的差异的衰变参数。因此,图13中的成本值计算如下:
c = d 2 2 δ 2 + l λ
路径搜索机构4用于通过路径搜索算法或通过为累计成本排序(在本实施例中,累计成本存放在目标节点上),识别出一条或多条具有最低累计成本的路径。预测器5用于确定与上述一条或多条路径14(来自概率评估成本函数)相关的一个或多个概率评估,以提供一个或多个预测15。各预测15包含具有相关概率评估的前缀或单词/短语。
在下文中示出了上述实例的累计成本和概率估计。在本实例中,路径搜索机构识别出“ty”为最低成本路径。系统10的预测器5为各条路径确定了概率估计p(C)=e-c。预测器5可以输入作为预测15的一个或多个最可能的前缀。
C c p(C)
“ty” 1.6291 0.1961
“ry” 4.5319 0.0108
“th” 5.3869 0.0046
“rh” 8.2893 0.0003
这一信息之后可用与其他证据源一起使用,以生成完整单词的预测。可选地,这一信息可被单独使用,以通过返回最可能的完整单词,例如在本实例中为带有前缀‘ty’的最可能单词,预测用户意图通过手势输入的单词,或者还可像在利用触摸感应键盘的已知装置中发现的那样,该信息与根据用户对预测的响应来改进预测的机构一起使用。
多单词匹配
在本实例中,如图14所示,用户试图向系统10中输入由两个单词组成的短语“a wet”。处理方法的第一步骤与前缀匹配实例中的第一步骤完全相同。
图14示出了输入击打键盘操作图案,而下列表格为记录下的这一击打键盘操作的原始数据。本实例中的击打键盘操作出示了由输入样本机构1生成的下列输入流样本11
x y p t
17.8 120 0.4 0
19.7 118.4 0.4 74
20.6 117.6 0.4 88
24.9 109.8 0.4 103
35.2 95.7 0.6 118
41.3 86.3 0.6 132
47.4 78.5 0.6 147
48.8 75.4 0.6 162
50.7 69.9 0.6 177
52.6 65.2 0.6 192
53 63.7 0.6 207
53.5 62.1 0.6 221
54 59.8 0.6 236
54.9 55.8 0.6 251
57.7 46.5 0.6 266
62.9 30.8 0.6 281
64.3 29.3 0.6 297
64.8 28.5 0.6 310
65.2 27.7 0.6 340
65.7 27.7 0.6 355
66.2 27.7 0.6 385
66.2 28.5 0.7 400
66.6 28.5 0.7 429
67.1 28.5 0.7 444
69.4 30 0.7 459
78.4 33.2 0.7 474
100.4 36.3 0.7 489
116.4 37.9 0.7 503
132.3 39.4 0.7 518
149.7 38.6 0.7 533
167 39.4 0.7 549
180.6 39.4 0.7 564
192.8 39.4 0.7 578
201.3 39.4 0.7 593
203.6 39.4 0.7 608
206 38.6 0.7 623
206.9 38.6 0.7 638
207.4 38.6 0.7 653
207.9 37.9 0.7 668
208.3 37.9 0.7 682
208.8 37.1 0.7 697
209.7 36.3 0.7 712
210.2 36.3 0.7 728
211.6 36.3 0.7 742
213.5 36.3 0.7 757
215.8 36.3 0.5 772
222.4 38.6 0.3 787
特征识别机构2采用诸如特征识别算法等算法将原始样本11转换为如下特征12:
目标字符 x y 间隔 曲线距离
A 20.6 117.6 4.2 3.7
S 35.2 95.7 44.1 30.1
Q 56.7 49.8 34.1 81.4
W 74.9 31.9 8.6 116.5
E 120.2 38.3 1.8 162.4
R 168.0 39.4 0.6 210.3
T 217.1 36.8 3.4 260.7
Y 222.4 38.6 41.6 226.3
如上文所述,图形13由图形生成机构3(例如图形生成算法)根据特征12构建而成。在本实例中,图15示出了由图形生成机构3生成的图形。事实上,“a”本身为一个单词,因此正如上文中参照图8的相关说明,前缀树上的终结节点会使图形生成算法向图形上添加一个具有适当成本(例如,惩罚)的空格节点。
如图15所示,构建算法向图形中插入了空格节点。在该节点上,如上文所述,前缀树中的检索重新设定,而来自各节点的任意有效单词则是由其余的特征序列构建而来。在适当位置的这个结构下,生成预测的方法与前述演示的方法相一致。因此,路径搜索机构4识别出穿过图形13的最低成本路径14,而预测器5求出这些路径14的概率估计并输出一个或多个预测15。图形结尾的节点代表源自根节点的目前包括至少一个空格的整个字符序列。因此,如同所证实的那样,本发明的系统和方法能够预测包含多个单词和空格字符的短语。
如上所述,一个或多个节点被插入至图形。该节点已存在于参考词典前缀树中,但还未被特征识别算法识别为特征。
此外,如上文所述,在用户通过输入手势,例如滑过空格键或接近空格键的手势,明确识别出单词边界的情况下,特征识别机构识别出与该单词边界相关的特征,而图形构建算法可以根据上文中介绍的成本函数实施过程向空格节点分配成本。
经过一些实例的论证,本发明提供了一种根据穿过手势感应键盘的单一连续手势生成前缀、单词和短语的手段。因此,本发明的用于生成文本预测和概率的方法和系统同已知方法和系统相比,具有显著的进步。通过上述描述可以看出,本发明的方法和系统允许后续信息影响之前的纠正。特别是在预测短语时,输入的第二个单词可以用于帮助推断出第一个单词。因此,本发明的系统和方法同仅将手势(表示一完整的单个单词)与词典中单词进行匹配的已知系统和装置相比,提供了更为准确的单词和短语预测。
以上所述仅为本发明的较佳实施例而已,凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均应包含在如权利要求所限定的本发明的保护范围之内。

Claims (79)

1.根据滑过手势感应键盘的单一连续手势预测一个或多个词条的方法,其包括:
在比划手势时,采集所述手势感应键盘上的手势在多个时间点上的位置样本;以及
根据多个所述样本预测一个或多个词条,这一过程具体由以下步骤实现:
根据多个所述样本生成一个或多个特征,其中各所述特征与所述手势感应键盘上的目标相关,该目标为比划手势时用户的意图输入;
生成包括所述一个或多个特征的词条前缀树;
搜索一条或多条穿过被赋予所述特征的所述词条前缀树的路径。
2.根据权利要求1所述的方法,其中所述词条前缀树由图形表示,并包括使用图论生成所述图形的步骤。
3.根据权利要求1或2所述的方法,其中根据所述样本生成所述特征的步骤包括:
识别所述手势感应键盘上的手势位置,在该位置中,用户意图穿过所述手势感应键盘的目标。
4.根据权利要求3所述的方法,其中所述特征的位置是所述手势位置,在所述手势位置中所述手势在距离所述目标最近的地方穿过。
5.根据前述任意一项权利要求所述的方法,其中所述目标为点目标或线目标。
6.根据前述任意一项权利要求所述的方法,其中,识别所述手势感应键盘上的各目标的特征。
7.根据权利要求6所述的方法,其中,仅在所述特征与所述目标之间的最小距离小于距离阈值时保留特征。
8.根据前述任意一项权利要求所述的方法,其中,各特征包括对应于所述手势和所述目标之间最小距离的距离度量。
9.根据前述任意一项权利要求所述的方法,其中,通过保留词典前缀树中被允许赋予所述特征的词条,生成所述词条前缀树。
10.根据权利要求9所述的方法,其中,即便特征与所述词典前缀树的词条不对应,也保留下该词条。
11.根据前述任意一项权利要求所述的方法,其中,所述手势感应键盘上的目标对应于字母表中的字母以及诸如空格和/或标点符号的可选的单词边界定界符。
12.根据引用权利要求8的权利要求11所述的方法,其中,所述词条前缀树包括一个或多个表示完整单词最后一个字母的节点,其中,生成所述词条前缀树的步骤还包括:向包含对应于单词最后一个字母的节点的所述词条前缀树中插入对应于空格符号的节点。
13.根据权利要求12所述的方法,其中,如果未识别出与空格字符相关的特征,对应于空格字符的所述节点的概率则被降低。
14.根据权利要求12或13所述的方法,其中,生成所述词条前缀树的步骤还包括:在对应于空格字符的节点上,通过保留词典前缀树中被允许赋予特征序列中的剩余特征的词条,生成新的词条前缀树。
15.根据前述任意一项权利要求所述的方法,还包括:修剪词条前缀树,以去除掉所述词条前缀树中给定路径概率与最可能路径概率之比小于预设阈值的所有路径。
16.根据权利要求14或引用权利要求14的权利要求15所述的方法,其中,代表空格字符的节点包括元数据,以根据语境数据修剪所述新的词条前缀树。
17.根据引用权利要求9或10的权利要求11所述的方法,其中,生成词条前缀树的步骤还包括:如果存在穿过词条前缀树且被赋予所述特征的有效路径,则通过保留包含字符副本的词典前缀树中的词条,使给定特征表示与其相关的字符的重复实例。
18.根据前述任意一项权利要求所述的方法,其中,搜索穿过词条前缀树的所述路径的步骤包括:使用路径搜索算法。
19.根据引用权利要求8的权利要求18所述的方法,其中,所述路径搜索算法使用所述距离度量生成与穿过所述词条前缀树的各条路径相关的概率评估。
20.根据权利要求18或19所述的方法,其中,所述路径搜索算法返回一个或多个词条,其中所述词条的对应路径具有大于阈值的概率评估。
21.根据权利要求1至17中任意一项所述的方法,其中,搜索穿过词条前缀树的所述路径的步骤包括:
识别出对应于所述手势结束位置的一个或多个特征;并且
仅在任意代表所述一个或多个特征的节点与所述词条前缀树中的节点相对应时,将给定路径的累计概率指示分配给任意代表所述特征的节点;所述一个或多个特征对应于所述手势的结束位置。
22.根据权利要求21所述的方法,其中,通过为累计概率排序并返回累计概率大于阈值的路径,识别出一条或多条穿过词条前缀树的路径,其中,被返回的一条或多条路径对应于一个或多个词条。
23.根据前述任意一项权利要求所述的方法,其中,根据当下全部有效的样本预测一个或多个词条。
24.根据权利要求23所述的方法,其中,所述方法包括:随着单一连续手势的实施以及更多样本的生成,定期更新一个或多个词条的预测。
25.根据前述任意一项权利要求所述的方法,其中,预测一个或多个词条的方法包括:预测一个或多个单词。
26.根据权利要求25所述的方法,其中,根据单一连续手势预测一个或多个单词,所述单一连续手势为用户在手势感应键盘上的一个或多个字符上方作出的意图指出单词前缀的手势。
27.根据权利要求25所述的方法,其中,预测一个或多个单词的步骤包括:根据单一连续手势预测包含具有两个以上单词的序列的短语,所述单一连续手势为用户在手势感应键盘上的构成多个单词的字符上方作出的手势。
28.根据权利要求26或27所述的方法,其中,所述方法包括:使用语境信息修剪一个或多个词条的预测。
29.根据前述任意一项权利要求所述的方法,其中,以预设频率实施采样。
30.根据权利要求29所述的方法,其中,所述采样的频率为60Hz。
31.根据前述任意一项权利要求所述的方法,其中,一个或多个词条的预测取决于所述手势感应键盘的布局以及手势速度和/或手势曲线方向作出的。
32.根据权利要求31所述的方法,其中,穿过所述前缀树的路径的概率取决于两个特征与所述手势感应键盘的对应于这两个特征的目标之间的手势形状。
33.根据权利要求32所述的方法,其中,所述路径的概率取决于差异单调递减函数,所述差异为所述两个目标间的直线距离与所述两个目标间手势的曲线长度之间的直线距离差异。
34.根据权利要求32所述的方法,其中,所述路径的概率取决于直线方向间差异的单调递减函数,所述直线方向间差异为所述两个目标之间的直线方向与所述两个目标间各点上的手势方向之间的差异。
35.根据前述任意一项权利要求所述的方法,其中,所述手势为击打键盘操作,所述手势感应键盘为触摸感应键盘。
36.根据权利要求35所述的方法,其中,所述方法包括:探测用户击打所述手势感应键盘的压力,以形成单一连续的击打键盘操作,而关于采样的步骤则包括采集存在上述压力的位置。
37.根据权利要求36所述的方法,其中,关于采样的步骤包括探测压力值以及给定时间点上的位置。
38.一种计算机程序产品,其包括:
计算机可读介质,其上存储有能够使处理器执行权利要求1至37中任意一项所述方法的计算机程序。
39.一种系统,其包括:
特征识别机构,其用于根据多个样本生成一个或多个特征,其中,所述样本是在不同时间点上被采集而来的,而且在比划手势时,所述样本对应于手势感应键盘上的单一连续手势的位置,而其中的所述特征与所述手势感应键盘的其中一个目标相关,该目标为用户比划手势时的预期输入;以及
预测机构,其用于根据所述特征预测出一个或多个词条,所述预测机构包括:
前缀树生成机构,其用于生成包含所述特征的词条前缀树;
路径搜索机构,其用于找出一条或多条穿过被赋予所述特征的所述词条前缀树的路径;以及
预测器。
40.根据权利要求39所述的系统,还包括手势感应键盘;所述手势感应键盘包括多个目标,并用于接收作为输入的单一连续手势。
41.根据权利要求39或40所述的系统,还包括采样机构;所述采样机构用于采集在比划手势时所述手势感应键盘上的手势在多个时间点上的位置。
42.根据权利要求39至41中任意一项所述的系统,其中,所述前缀树生成机构用于根据图论生成图形,其中,所述图形代表词条前缀树。
43.根据权利要求39至42中任意一项所述的系统,其中,所述特征识别机构用于根据通过识别所述手势感应键盘上的手势位置获得的多个所述样本生成一个或多个特征;在该位置中,用户意图穿过所述手势感应键盘的目标。
44.根据权利要求43所述的系统,其中,所述特征的位置是所述手势位置,在所述手势位置中所述手势在距离所述目标最近的地方穿过。
45.根据权利要求39至44中任意一项所述的系统,其中,所述目标为点目标或线目标。
46.根据权利要求43或44所述的系统,其中,所述特征识别机构用于识别所述手势感应键盘上的各目标的特征。
47.根据权利要求46所述的系统,其中,所述特征识别机构用于仅在所述特征与所述目标之间的最小距离小于距离阈值时保留特征。
48.根据权利要求39至47中任意一项所述的系统,其中,各特征包括对应于所述手势和所述目标之间最小距离的距离度量。
49.根据权利要求39至48中任意一项所述的系统,其中,所述前缀树生成机构用于通过保留词典前缀树中被允许赋予所述特征的词条,生成所述词条前缀树。
50.根据权利要求49所述的系统,其中,所述词典前缀树的词条被保留下来,即便特征与所述词典前缀树的词条不对应。
51.根据前述任意一项权利要求所述的系统,其中,所述目标对应于字母表中的字母以及诸如空格和/或标点符号的可选的单词边界定界符。
52.根据引用权利要求49或50的权利要求51所述的系统,其中,所述词条前缀树包括一个或多个表示完整单词最后一个字母的节点,其中,所述前缀树生成机构用于向包含对应于单词最后一个字母的节点的所述词条前缀树中插入对应于空格符号的节点。
53.根据权利要求52所述的系统,其中,所述前缀树生成机构用于在所述特征识别机构未识别出与空格字符相关的特征时,降低对应于空格字符的所述节点的相关概率。
54.根据权利要求53所述的系统,所述前缀树生成机构用于在对应于空格字符的节点上通过保留词典前缀树中被允许赋予特征序列中的剩余特征的词条,生成新的词条前缀树。
55.根据权利要求39至51中任意一项所述的系统,所述前缀树生成机构用于修剪词条前缀树,以去除掉所述词条前缀树中给定路径概率与最可能路径概率之比小于预设阈值的所有路径。
56.根据权利要求54或引用权利要求54的权利要求55所述的系统,其中,所述前缀树生成机构用于将代表空格字符的节点与元数据关联,以根据语境数据修剪所述新的词条前缀树。
57.根据引用权利要求49或50的权利要求51所述的系统,其中,所述前缀树生成机构用于当存在穿过词条前缀树且被赋予所述特征的有效路径时,通过保留包含字符副本的词典前缀树中的词条,使给定特征表示与其相关的字符的重复实例。
58.根据权利要求39至57中任意一项所述的系统,其中,所述路径搜索机构为路径搜索算法。
59.根据引用权利要求48的权利要求58所述的系统,其中,所述路径搜索算法使用所述距离度量生成与穿过所述词条前缀树的各条路径相关的概率评估。
60.根据权利要求58或59所述的系统,其中,所述路径搜索算法返回一个或多个词条,其中所述词条的对应路径具有大于阈值的概率评估。
61.根据权利要求39至57中任意一项所述的系统,其中,所述特征识别机构用于确定对应于所述手势结束位置的一个或多个特征;而所述前缀树生成机构用于仅在任意代表所述一个或多个特征的节点与所述词条前缀树中的节点相对应时,将给定路径的累计概率指示分配给任意代表对应于所述手势结束位置的所述一个或多个特征的节点。
62.根据权利要求61所述的系统,其中,所述路径搜索机构用于为累计概率排序并返回累计概率大于阈值的路径。
63.根据权利要求39至62中任意一项所述的系统,其中,所述预测器用于根据当下全部有效的样本预测一个或多个词条。
64.根据权利要求63所述的系统,其中,所述预测器用于随着单一连续手势的实施以及所述采样机构生成更多的样本,定期更新一个或多个词条的预测。
65.根据权利要求39至64中任意一项所述的系统,其中,所述预测器用于预测一个或多个单词。
66.根据权利要求65所述的系统,其中,所述预测器用于根据单一连续手势预测一个或多个单词,所述单一连续手势为用户在手势感应键盘上的一个或多个字符上方作出的意图指出单词前缀的手势。
67.根据权利要求66所述的系统,其中,所述预测器用于根据单一连续手势预测包含具有两个以上单词的序列的短语,所述单一连续手势为用户在手势感应键盘上的构成多个单词的字符上方作出的手势。
68.根据权利要求66或67所述的系统,其中,所述预测器用于使用语境信息修剪一个或多个词条的预测。
69.根据权利要求39至68所述的系统,其中,所述采样机构用于以预设频率实施采样。
70.根据权利要求69所述的系统,其中,所述采样机构的采样频率为60Hz。
71.根据权利要求39至70中任意一项所述的系统,其中,所述预测器用于根据所述手势感应键盘的布局以及手势速度和/或手势曲线方向预测一个或多个词条。
72.根据权利要求71所述的系统,其中,所述预测器用于根据两个特征与所述手势感应键盘的对应于这两个特征的目标之间的手势形状预测穿过所述前缀树的路径。
73.根据权利要求72所述的系统,其中,所述路径的概率取决于差异单调递减函数,所述差异为所述两个目标间的直线距离与所述两个目标间手势的曲线长度之间的直线距离差异。
74.根据权利要求73所述的系统,其中,所述路径的概率取决于直线方向间差异的单调递减函数,所述直线方向间差异为所述两个目标之间的直线方向与所述两个目标间各点上的手势方向之间的差异。
75.根据权利要求39至71中任意一项所述的系统,其中,所述手势感应键盘为触摸感应键盘,而所述单一连续手势为所述触摸感应键盘上的击打键盘操作。
76.根据权利要求75所述的系统,其中,所述触摸感应键盘用于探测用户击打所述手势感应键盘的压力,而所述采样机构用于采集存在上述压力的击打键盘位置。
77.根据权利要求76所述的系统,其中,所述采样机构用于探测压力值以及给定时间点上的位置。
78.一种参照附图说明的且由附图示出的系统。
79.一种参照附图说明的且由附图示出的方法。
CN201280067256.3A 2012-01-16 2012-11-30 输入文本的系统和输入文本的方法 Active CN104272222B (zh)

Applications Claiming Priority (3)

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

Publications (2)

Publication Number Publication Date
CN104272222A true CN104272222A (zh) 2015-01-07
CN104272222B CN104272222B (zh) 2017-11-07

Family

ID=45814040

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280067256.3A Active CN104272222B (zh) 2012-01-16 2012-11-30 输入文本的系统和输入文本的方法

Country Status (7)

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

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106843737A (zh) * 2017-02-13 2017-06-13 北京新美互通科技有限公司 文本输入方法、装置及终端设备
CN107850950A (zh) * 2015-08-26 2018-03-27 谷歌有限责任公司 基于时间的分词
CN108845682A (zh) * 2018-06-28 2018-11-20 北京金山安全软件有限公司 一种输入预测方法及装置
CN109478122A (zh) * 2016-07-14 2019-03-15 谷歌有限责任公司 用于图形键盘的基于压力的手势键入
CN110770850A (zh) * 2017-04-20 2020-02-07 皇家飞利浦有限公司 在实体之间学习和应用背景相似性
CN110888577A (zh) * 2018-09-10 2020-03-17 百度在线网络技术(北京)有限公司 字符纠正方法、装置、设备以及存储介质
CN114103845A (zh) * 2022-01-25 2022-03-01 星河智联汽车科技有限公司 一种车辆中控屏操作者身份识别方法、装置及车辆

Families Citing this family (34)

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

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1783066A (zh) * 2004-11-29 2006-06-07 佛山市顺德区瑞图万方科技有限公司 建立联想输入系统的方法及对应的联想输入系统和方法
US20080270896A1 (en) * 2007-04-27 2008-10-30 Per Ola Kristensson System and method for preview and selection of words
CN102117175A (zh) * 2010-09-29 2011-07-06 北京搜狗科技发展有限公司 一种滑行输入中文的方法、装置和触摸屏输入法系统
US20110205160A1 (en) * 2010-02-25 2011-08-25 Song Suyeon Method for inputting a string of characters and apparatus thereof
WO2011126122A1 (ja) * 2010-04-08 2011-10-13 京セラ株式会社 文字入力装置および文字入力方法
CN102253929A (zh) * 2011-06-03 2011-11-23 北京搜狗科技发展有限公司 一种提示用户输入字符的方法和装置

Family Cites Families (172)

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

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1783066A (zh) * 2004-11-29 2006-06-07 佛山市顺德区瑞图万方科技有限公司 建立联想输入系统的方法及对应的联想输入系统和方法
US20080270896A1 (en) * 2007-04-27 2008-10-30 Per Ola Kristensson System and method for preview and selection of words
US20110205160A1 (en) * 2010-02-25 2011-08-25 Song Suyeon Method for inputting a string of characters and apparatus thereof
WO2011126122A1 (ja) * 2010-04-08 2011-10-13 京セラ株式会社 文字入力装置および文字入力方法
CN102117175A (zh) * 2010-09-29 2011-07-06 北京搜狗科技发展有限公司 一种滑行输入中文的方法、装置和触摸屏输入法系统
CN102253929A (zh) * 2011-06-03 2011-11-23 北京搜狗科技发展有限公司 一种提示用户输入字符的方法和装置

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107850950A (zh) * 2015-08-26 2018-03-27 谷歌有限责任公司 基于时间的分词
CN109478122A (zh) * 2016-07-14 2019-03-15 谷歌有限责任公司 用于图形键盘的基于压力的手势键入
CN106843737A (zh) * 2017-02-13 2017-06-13 北京新美互通科技有限公司 文本输入方法、装置及终端设备
CN106843737B (zh) * 2017-02-13 2020-05-08 北京新美互通科技有限公司 文本输入方法、装置及终端设备
CN110770850A (zh) * 2017-04-20 2020-02-07 皇家飞利浦有限公司 在实体之间学习和应用背景相似性
CN110770850B (zh) * 2017-04-20 2024-03-08 皇家飞利浦有限公司 在实体之间学习和应用背景相似性
CN108845682A (zh) * 2018-06-28 2018-11-20 北京金山安全软件有限公司 一种输入预测方法及装置
CN108845682B (zh) * 2018-06-28 2022-02-25 北京金山安全软件有限公司 一种输入预测方法及装置
CN110888577A (zh) * 2018-09-10 2020-03-17 百度在线网络技术(北京)有限公司 字符纠正方法、装置、设备以及存储介质
CN110888577B (zh) * 2018-09-10 2021-09-28 百度在线网络技术(北京)有限公司 字符纠正方法、装置、设备以及存储介质
CN114103845A (zh) * 2022-01-25 2022-03-01 星河智联汽车科技有限公司 一种车辆中控屏操作者身份识别方法、装置及车辆
CN114103845B (zh) * 2022-01-25 2022-04-15 星河智联汽车科技有限公司 一种车辆中控屏操作者身份识别方法、装置及车辆

Also Published As

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

Similar Documents

Publication Publication Date Title
CN104272222A (zh) 输入文本的系统和输入文本的方法
US10809914B2 (en) System and method for inputting text into electronic devices
EP2024880B1 (en) Demographic based classification for local word wheeling/web search
KR102306899B1 (ko) 텍스트 입력 시스템 및 방법
CN102439542B (zh) 电子设备的文本输入系统及文本输入方法
US20020021838A1 (en) Adaptively weighted, partitioned context edit distance string matching
CN103559252A (zh) 给游客推荐其很可能会浏览的景点的方法
CN101203849A (zh) 用户输入的预测转换
US20190354839A1 (en) Systems and Methods for Slate Optimization with Recurrent Neural Networks
CN103106616A (zh) 基于资源整合与信息传播特征的社区发现及演化方法
Wong et al. Discovery of delta closed patterns and noninduced patterns from sequences
JPWO2014132497A1 (ja) データ解析装置、及びその方法
CN102750552A (zh) 一种手写识别方法、系统及手写识别终端
CN116431919A (zh) 基于用户意图特征的智能新闻推荐方法和系统
CN108628826B (zh) 候选词评估方法、装置、计算机设备和存储介质
CN108664466B (zh) 候选词评估方法、装置、计算机设备和存储介质
CN108681533B (zh) 候选词评估方法、装置、计算机设备和存储介质
CN108647202B (zh) 候选词评估方法、装置、计算机设备和存储介质
CN108664467B (zh) 候选词评估方法、装置、计算机设备和存储介质
CN108595419B (zh) 候选词评估方法、候选词排序方法及装置
CN103440084A (zh) 用户选项优化方法及装置
CN108694166B (zh) 候选词评估方法、装置、计算机设备和存储介质
CN108733646B (zh) 候选词评估方法、装置、计算机设备和存储介质
CN108681535B (zh) 候选词评估方法、装置、计算机设备和存储介质
Biswas et al. PR2S2Clust: patched rna-seq read segments’ structure-oriented clustering

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200902

Address after: 98052 Microsoft Avenue, Redmond, Washington, USA

Patentee after: MICROSOFT TECHNOLOGY LICENSING, LLC

Address before: England Atsushi

Patentee before: TOUCHTYPE Ltd.