CN103038728A - 例如在移动电话上使用触摸屏的多模式文本输入系统 - Google Patents
例如在移动电话上使用触摸屏的多模式文本输入系统 Download PDFInfo
- Publication number
- CN103038728A CN103038728A CN201180023649XA CN201180023649A CN103038728A CN 103038728 A CN103038728 A CN 103038728A CN 201180023649X A CN201180023649X A CN 201180023649XA CN 201180023649 A CN201180023649 A CN 201180023649A CN 103038728 A CN103038728 A CN 103038728A
- Authority
- CN
- China
- Prior art keywords
- user
- input
- word
- key
- zone
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/332—Query formulation
- G06F16/3322—Query formulation using system suggestions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/02—Input arrangements using manually operated switches, e.g. using keyboards or dials
- G06F3/023—Arrangements 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/0233—Character input methods
- G06F3/0237—Character input methods using prediction or retrieval techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction 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/0488—Interaction 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/04883—Interaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction 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/0488—Interaction 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/04886—Interaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/274—Converting codes to words; Guess-ahead of partial word inputs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2203/00—Indexing scheme relating to G06F3/00 - G06F3/048
- G06F2203/038—Indexing scheme relating to G06F3/038
- G06F2203/0381—Multimodal input, i.e. interface arrangements enabling the user to issue commands by simultaneous use of input devices of different nature, e.g. voice plus gesture on digitizer
Abstract
用于输入来自用户的文本的系统和方法,包括程序处理器,其接收来自用户的输入并消除输入的歧义以呈现对应于文本的字的选择。在一个实施例中,输入被两个或多个模式所接收,并进行分析以呈现字的选择。在另一实施例中,键盘被划分成多个区域,其中每一个区域代表两个或更多的输入的字符。由用户选择的区域序列被进行分析以呈现对应于选定区域的字选择。
Description
对相关申请的交互引用
本申请要求以下常用地被指定的美国专利的优先权,所有的申请都以引用的方式被完整合并于此:2010年3月12日提出的申请号为:61/313,454(代理人案卷号:71007.8045)以及2010年3月15日提出的申请号为:61/313,864(代理人案卷号:71007.8047),两个申请的名称都为:“Methodand Apparatus for Text Input”;2010年3月12日提出的申请号为:61/313,423(代理人案卷号:71007.8044),名称为:“Method and Apparatus forSecure Data Transmission”以及2010年3月23日提出的申请号为:61/316,799,名称为:“Multimodal Text Input System,Such as for Use with Touchscreens on Mobile Phones”(代理人案卷号:71007.8036)。
本申请同样涉及共同地被转让的专利号为:6,307,549,名称为:“REDUCED KEYBOARD DISAMBIGUATION SYSTEM”的美国专利;2006年4月17日提出的申请号为:11/379,006/公开号为:2006/0274051,名称为:“VIRTUAL KEYBOARD SYSTEMS WITH AUTOMATICCORRECTION”的美国专利申请案;2007年3月29日提出的申请号为:11/379,006,名称为“DISAMBIGUATION OF ICONS AND OTHER MEDIAIN TEXT-BASED APPLICATIONS”的美国专利以及2010年3月12日提出的申请号为:61/313,564,所有的申请案都以引用的方式合并于此。
背景技术
用户使用各种输入设备,包括多种类型的键盘,将文本输入到计算机和其他数据处理系统。大多数标准的键盘是大的以容纳打字员的双手,但是这会导致便携性较差的装置。笔记本电脑已经试图缩小键盘的尺寸,有时会牺牲某些用户的输入效率。
某些移动设备,如蜂窝电话、智能电话等,需要更小的键盘以维持这些设备的常见形式。有些电话包括一个具有物理按键的小键盘,以区分键盘上的每个键,用户可以使用自己的拇指驱动按钮。其他设备使用显示类似尺寸键盘的触摸屏。这些较小的键盘难辨并可能提供速度较慢的和/或容易出错的文本输入。
虽然触摸屏设备已经越来越流行,消费者仍不断要求更简单的方法输入文字,如用于电子邮件、文本消息、即时消息和其他活动。然而,这些触摸屏键盘可能比其类似的小键盘遭受更多的问题。这种键盘的触摸屏上的软键为用户提供较少的触觉反馈,这可能会导致输入错误,以及其他问题。
附图说明
图1是在一个或多个远程设备和集中式企业服务器之间的通信接口的图示;
图2是根据公开技术的一个实施例创建字选择的过程的流程图;
图3根据公开技术的实施例描述了包括各种建议字选择的键盘;
图4根据公开技术的实施例阐述了输入文本的方法;
图5A至5I是根据公开技术的各种实施例说明用于输入文本的用户界面方法的屏幕截图;
图6是说明可以采用公开技术的各个方面的合适的计算系统的框图;
图7A是说明在用户输入至设备的基础上创建字选择列表的过程的流程图;
图7B是说明特殊功能处理的流程图;
图8A是说明从输入数据中确定输入特征、字符集和接近的权重集的过程的流程图;
图8B是说明为输入特征识别字符集和适当的权重的过程的流程图;
图8C至8F是说明字符子模块如何为输入特征的不同类型识别字符集的屏幕截图;
图9A是说明生成字选择列表的流程图;
图9B是说明用于计算字的匹配指标过程的流程图;
图10是根据公开技术的实施例构建的包括区域输出键和选定区域的显示键盘的图示;
图11是根据公开技术的实施例说明用户输入密码的流程图;
图12是根据公开技术的实施例说明接收设备接收密码的流程图;
图13是根据公开技术的实施例说明在QWERTY键盘上数字键盘到区域输出键的映射;
图14A和14B是根据公开技术的实施例说明采用指向设备的区域选择;
图15是根据公开技术的实施例说明了减小的区域配置;以及
图16是根据公开技术的可选实施例说明一种可选的区域定义方案。
具体实施方式
现在将对公开技术的各种例子进行说明。以下的说明为这些实施例的透彻理解和支持描述提供具体细节。然而,本领域相关技术人员将理解即使没有很多这样的细节,所公开的技术也可以实施。同样地,本领域相关技术人员也将理解所公开的技术可以包括没有被在此详细描述的许多其他明显的特征。此外,一些公知的结构或功能可能在下文中不被显示或进行详细描述,以避免对相关描述不必要地模糊。
以下所使用的术语应以其最宽泛合理方式来解释,即使它与所公开的技术的某些特定的实施例的详细描述被一起使用。然而,事实上下文中某些术语甚至可能被强调,试图以任何限制的方式进行解释的任何术语将如在此详细说明部分一样被公开地和明确地定义。
I.企业/云环境
如将要在下面进一步详细说明,在此所描述的技术涉及用于提高速度和准确性的系统和方法,使用该系统和方法用户可以将文本输入到设备特别是移动设备中。根据一个实施例,由用户输入文本时,代表这样的文本输入的数据被发送到一个集中的位置,通过互联网、无线通信系统或其他适当的数据传输方法到远程集中服务器。
首先,参照图1,显示根据公开技术的第一实施例。在图1中,显示了一个或多个远程设备。这些设备包括蜂窝电话、智能电话、上网本或笔记本电脑等等。如本技术领域技术人员所公知的,每一个设备优选地设置有通信系统,如标准的互联网连接或其他专有的无线或有线通信系统。因此,在一个或多个远程设备上采取的行动或输入的数据中被传送至适当的集中式企业服务器。例如,这种同步通信可能包括在发送或接收电子邮件时更新企业电子邮件的收件箱或者发件箱。习惯上,每一个远程设备在移动设备上执行所有主要的功能并且使信息与企业服务器同步,如与上述电子邮件的用户同步。
根据公开技术的实施例,以前只限于在一个或多个远程设备上实现某些功能被转移到企业服务器,从而为企业系统的所有用户提供了一个更相似的用户体验。特别地,如上所述,当输入文本到一个或多个远程设备时,通常所有的关于文本校正和自动建议,以及文本输入字自动填写的功能都是根据保留在远程设备上的信息执行。因此,存在一个关于在这样的选择中的更新数据等的问题,以及特别是在企业范围的基础上(如电子邮件地址)可能经常地更新信息。因此,如果电子邮件地址列表是为了特定企业在企业用户的整个组被更新,这样的更新可能不会被发送到一个或多个远程设备。如果企业足够大时,下载整个邮件列表至这样的远程设备可能并不切实可行。因此,远程设备可以保有一个具备有限文本输入数的本地缓存,通常这样的输入根据本地维护的地址列表等被确定。如果没有找到特定个体的电子邮件地址,可以为用户提供在远程服务器上搜索电子邮件地址的选项,但此过程需要由用户执行额外的步骤。这样的系统与个别企业用户的用户体验的没有更进一步的自动集成。此外,这种系统可能不采用任何容错文本输入,因为在要求访问存储在企业服务器上的信息之前,用户必须要完成文本输入。因此,当远程设备没有一个完整字典时,习惯上一直没有方法为这样的系统在文本输入上提供帮助以确定用户的意图。
因此,根据公开的技术,所提供的方法和装置在远程设备水平运用错误容错文本输入,而使用这样的容错文本输入的结果是从一个集中的数据库位置选择建议的文本输入信息。
例如,在公开技术的一个实施例中,通过提供给用户最好是9或其他适当数量的区域,每一个区域都包括一个或多个键,将容错文本输入提供给用户。选择区域时,包括区域的预定数量的键也已被选中。创新的软件是能够根据区域选择的序列确定所期望的选择的字,而不是需要选择每个单独的键。这种区域文本输入方法的一个例子的更详细的说明在于2009年7月10日提出的,序列号为:12/500,675,名称为:“METHOD ANDAPPARATUS FOR TEXT ENTRY”的美国专利中被描述,其内容以引用的方式被合并于此。
在公开技术的其他实施例中,这样的区域键输入可以在后台执行而无需向用户提供这种区域的指示。因此,虽然可以鼓励用户在打字的时候尽可能准确,但没必要非常准确。其他容错文本输入系统,如在共同指定的于2007年6月14日由Matthew Cecil等人提出的,申请号为:12/186,425,名称为:“A PROBABILITY-BASED APPROACH TO RECOGNITION OFUSER-ENTERED DATA”的美国专利中所描述的也可以被使用,该美国专利的整个内容以引用方式被合并于此。
此外,根据公开技术的各个方面,在公开技术的一个特定实施例中,容错文本输入系统可以被提供,就如在上文所提的申请号为12/500,675的美国专利中所描述的一样。因此,即使没有完整的字典设置在远程设备上,所描述的区域输入文本系统可被用于远程设备上。这种容错文本输入系统也可以不向用户显示的方式保持区域定义。最后,其他容错文本输入系统也可以根据本发明公开的技术采用。
接下来参照图2,在步骤210中,用户首先根据提供的文本输入系统输入文本,所提供的文本输入系统随附有特定的远程计算设备。在本发明公开技术的一个优选的实施例中,就像通过申请12/500,675的区域输入系统的用户,用户输入的一个或多个键,或任何其它容错文本输入系统,初始文本输入处理的步骤被执行开始确定可能的字母序列,用户可能意图该字母序列。因此,在这个时候还没有执行字典搜索,而是本地地在远程计算设备上,文本输入有关的信息被确定以在之后的的字典搜索中使用。
此后,在步骤230中,一个或多个的字典搜索或其他数据库搜索通过将预测文本输入信息发送到企业服务器被执行。重要的是,它不仅是被传输的输入的文本键,而是作为根据初始容错文本输入过程所确定的数据被传输。根据公开技术的优选实施例,由用户输入的每个键,所有其他键被定义为在具有所选择的键的区域,不论这些区域是否是固定的或动态的,能否为用户所利用的,根据所公开的技术都被发送到企业服务器进行进一步的处理。在这样的方式中,所接收的预测文本输入信息被输入至任何的一个或多个的远程设备中,该预测文本输入信息可以适用于任何数量的一致地维护的企业范围的数据库。
图3显示了键盘100,其中的键被划分至多个区域中。因此,根据申请12/500,675的容错文本输入系统中所描述的公开技术,每次一个或多个键指示被从键盘100中选定的特定区域,由选定的键所代表的区域中的所有键被传送至预测文本算法。在一个实施例中,由在每个区域中被选定的键所表示的候选字被本地确定并发送到企业服务器。在另一实施例中,由用户选择的区域列表被发送到企业服务器以确定可能的候选字的列表。可能字的列表由企业服务器进行分析以为用户确定一个或多个可能字选择的建议,该建议之后会显示在远程设备的屏幕上,如图3中的310所示。这些字建议330是基于所输入的按键序列,同时考虑到与所选键区相关联的每个输入的所有键。由用户选择的键序列被显示在320上。字选择340中描述了最有可能的或最常见的字,该字是用户所期望确定的,就像从一个或多个位于企业服务器上的适用的的数据库中确定的字。基于由企业服务器确定的这些字建议,如图3所示,它们被发送回远程设备并显示给用户用于图2的步骤240中的用户选择。
在步骤250中,选择一个建议的字替换具有选定建议的字。如果没有字被选择,程序转回图2中的步骤210,在那里进一步的文本输入从用户处被接收。基于这样额外的文本输入后,上面提到的步骤再次预成形,从而提供可能的不同的字供用户选择,或为用户缩小选择。基于用户的一个当前字的选择,这个被选择的字被输入到远程计算装置,并且直到用户另一文本序列的输入,程序结束。
在公开技术的可选实施例中,为了加快处理远程设备的程序,根据特定字典的确定大小,它可能证明在用户输入文本之前下载字典到远程设备是有利的。因此,在输入至表格或类似物的特定字段的的情况下,被限定至小数量的可能输入,由用户基于字段的输入下载这样的字典可允许只有一个单一的数据传输被采用。同样地,如果用户正在访问有多个字段的表格或类似物,特定的表格中每个字段的字典可以预先下载,或者基于表格的第一字段的输入。当然,如果任何特定字段被发现有一个非常大的字典,如上所述,可以提供访问企业服务器上的这个字典。
用户可以训练系统将单词添加到字典,或者在字已被输入预定次数后系统可以设置为自动添加字。因此,根据公开的技术,字典不仅可以在企业范围平台上进行修改,而且为了任何企业用户的后续使用,特定用户通过采用远程计算设备的文本输入可能会导致这样的文本输入到数据库或字典的增加。当然,也可以保持本地数据库的文本项不必提供给企业作为一个整体。
一个示例性的预测文字算法在上文引用的美国专利申请号为12/186,425中被描述。根据本发明公开技术所使用的这样的算法处理公开技术的预测文本所需求。提供给远程计算设备上的一个或多个用户的用户界面将为位于企业位置的算法提供一个字符(或与一个或多个选定区域相关联的字符串),并且算法将以一个或多个被建议的字选择的形式解释该字符集以及从企业服务器返回一个结果至位于远程计算设备上的用户界面。可选地,企业服务器可能会返回一个不能正确解析出字选择的指示,从而表明用户尚未输入足够的字母。
在一个实施例中,与特定单个用户或与企业用户的全套集体经验相一致的用户背景、历史等等,可有助于在这种被建议的字选择。此外,虽然所描述的文字预测算法可以被采用,但本发明公开的技术可以用于任何适当的文本解析或文字预测算法。
使用概率矩阵的预测文本算法知道对于每个被按下的字符,用户可能意味着字符的左面、右面、上面或下面,或如上所述的在被指定的该区域中的其他字符。一旦算法知道哪个字符是可能的(根据与所选择的按键相关联的按键),稍后如访问多个企业用户一样,算法对优选地设置在企业服务器位置的字典进行搜索,正如在上文引用的′425号申请中被更加完整地描述一样。任何词语的字符串匹配的可能的字符被指定,然后优选得分字符之间的距离的基础上,频率,概率,和任意数量的其他特点,可以指示用户意图。
随着时间的推移,该系统还可以采用以为特定用户的经常使用模式或者企业环境中的特定组的用户提供一个更高的选择概率。因此,对于特定用户,预测机制可以是个性化的,即使该用户是从普通的集中式企业字典或数据库中选择词语。这种个性化可以包括根据由特定用户于在先预定的时间段内选择字的频率来提供选择。因此,用户越多地使用一个特定的字,则这个字就越有可能会被再次选择,并且这个字就越有可能将被建议给用户。在用户输入一个电子邮件地址的情况下,该电子邮件地址来自于集中的、企业范围的电子邮件列表中,这种个性化可能是特别有用的。作为一个特定的用户发送电子邮件到一个或多个特定的收件人,在将来这些收件人的名字更可能被用户输入。此外,这样的个性化不需要被限制于一个人。相反,可以为一组人或类似的积累特定电子邮件地址,从而使一个部门等等生成一个首选的电子邮件地址列表。该选择也可以应用于标准字或其他可以根据文本输入系统进行选择的序列。这种个性化可提供一个加权的选择系统,在该系统中,最近或经常被选择的字或电子邮件地址被首先提供给用户,随后提供的是在较早的时间或较少被选择的字。
在另一个实施例中,用户字典的个性化并不限于由用户经常或最近选择的字。字典也可以基于用户的最近的行为进行定制。如果一个用户正在互联网上搜索有关特定主题的网页,来自网页的字可以作为更可能的选择被分类并被添加到字典里。例如,如果用户查看远程设备上与食品和烹饪的有关的网页,那么当用户输入关键字“disert”时,字搜索算法使用最近的历史以在“沙漠”之前提供“甜点”的建议。同样,时间和地理上的考虑也可以被文本选择算法使用。例如,远程设备的GPS位置可以被检测并发送到企业服务器。如果知道用户位于山区中,则稍后文本预测算法被训练为建议“SNOR怎样?”的文本输入应该是“雪(snow)怎样?”而非“节目(show)怎样?”。
在本实施例中,最近的浏览历史、当前的位置、电子邮件阅读、GPS位置等有关的信息被发送到企业服务器,并保存在与用户相关联的文件,中以用于定制一部字典或基于用户最近的行为帮助其选择可能的字。
如在图3中所示,显示的键盘表示一个完整的QWERTY键盘,但可以包括任何其他所需的配置。这种键盘可以包括一个虚拟键盘,或物理键盘,其包括与要被提供用于文本输入的一个或多个字母相关联的硬键。虽然所述公开技术作为这种键盘的一般参考,任何数量的输入设备,机制,或计划仍可被采用。所公开的技术也同样适用于传统移动电话上的文字输入,传统移动电话具有9或12键的数字键盘或4向键。所公开的技术可能适用于涡旋型轮的使用,如在苹果设备上提供的涡旋型轮。在这样的情况下,在圆形结构中定义区域可能是有益的,以便于沿滚轮的运动导致沿区域选择的圈的运动。
所公开的技术也可被应用到一个移动的或其他的使用滚动设备或以其他方式包括只有一个或两个方向指示键的装置。具有了滚动设备或一个或两个方向键,预定义区域优选地由预定义序列设置,例如也许是从左到右,再从上到下,以使得当滚动或使用一个方向键时,用户通过每个预定义区域中,突出显示或以其他方式表明目前被选择的区域。按下滚动设备或以其他的选择方法允许用户选择区域,并且稍后采用滚动以移至用于选择的下一个区域。
所公开的技术还可以被运用到投影键盘,各种传感机制确定用户触摸投影键盘的地方。由于这种检测的准确性可能是难以确定的,允许用户从较大区域的较小数字中进行选择将是相当有益的。
II.微手势输入
根据公开技术的另一个方面,一个快速文本输入系统和方法被提供,其利用容错预测文本算法。用户可以使用自己熟悉的QWERTY键盘(或其他常用的键盘布局),并输入包括少于完整字的两个或三个字母的更短的微手势。较短的字可以用一个这样的微手势输入,而较长的字可以使用两个或更多的微手势。因此,下面描述的文本输入系统克服了现有系统中至少一个主要的缺点,即要求用户不提高手指而输入完整的预期字输入,并从而为完整的预期字提供单独的跟踪。
根据一个实施例,文本输入系统为每个微手势记录起始位置和结束位置。此外,如果在由用户输入的微手势中检测到的一个弯曲,则确定为第三个、中间的字母是被预期的。可以使用一些不同的方法以确定被预期的中间字母。首先,微手势的弯曲的位置可以被确定。其次,从起始位置移动的方向可以被提供给文本分析算法以帮助选择一些可能的下一个字母文本输入,给定的起点和终点的输入。可选地,这种弯曲的存在的识别可能被确定,从而指明被预期的中间字母。文本分析算法无需任何额外的帮助就可以协助确定该字母,正如它遇到在更传统的文本输入系统中的缺少的字母。
一旦第一个微手势被确定,所选择的字母被输入到文本选择算法,并且字建议等等一种更传统的格式给提供用户。如果没有字被选择,键的下一次轻敲或下一个微手势被确定为相同的、更长的字的文本输入的一部分。
在一个实施例中,用户在键盘上的一些字符之间滑动他们的手指而不是提高并按压每个被输入的预期字母。已被确定的是有些用户喜欢滑动到相邻的字符而不是单独敲打每个字符,这样更方便并减少了潜在的文本输入错误,因为与传统的敲打输入系统相比,在系统中如果需要抬起他们的手指并连续按下每个键,则用户可能会敲击错误的键。此外,用户能够避免任何类型的重复应力问题,并且能更快地输入文本。
当使用较小的触摸屏设备(通常是手机)时,用户已经发现通常的输入只使用一个或两个手指,而不是像在更传统的普通笔记本电脑/PC键盘上使用所有的手指。只使用一个/两个手指可能会导致手指疲劳,并阻止用户在触摸屏设备上进行输入。对每个将被输入的字母而言,举起和放置手指所需的活动往往与重复性压力伤害相联,如腕管综合症等。根据公开技术的一个实施例,用户可以选择滑动他们的手指输入几个字母或者选择敲击所需特定字母输入。因此,用户按照自己的喜好可以有输入文本的选择和灵活性,而不是要求如在传统文本输入系统中一样敲击或如在上面所列现有技术的专利中指出的那样跟踪整个字的字母。这样的偏好可能是基于特定的输入装置、特定的被输入的字等等。最终,为用户提供最灵活的选择并且用户可以选择以微手势、敲击或者基于方便以两者的组合进行输入。
微手势方式允许用户用单个微手势每次选择2个或3个字符。这样的微手势的另一个好处是,用户在文本预测算法提示对应字之前,不必精神上或身体上跟踪一个字的完整路径。跟踪较长字的路径可能是混乱的和困难的。用户往往忘记了一个字的哪些字符是已经被他们输入的并且往往拼错。跟踪较长字的路径还可能导致精神和/或身体疲劳。另外,因为接收路径追踪整个字的装置必须在处理输入数据之前等待完成该字,不可能提供这样的文本输入的自动完成或可能预期的字输入的提示。因此,用户必须完成整个字的跟踪,只有这样系统才能提供文字提示。
公开技术的微手势输入系统对于字母不适合在单一的键盘上并因此需要从替代性/功能/移动键盘上获得字母/字符的语言的文本或文字输入也是非常有用的
然而,在完成每个微手势后,根据公开技术的一个实施例的系统是能够自动完成一个输入的。使用这样的自动完成的能力使用户可以只输入部分文字,然后从提供的提示中选择。这增强了用户体验,有助于更快的文本输入,并进一步提高需要跟踪整个单词的现有技术系统,因为用户只需简单地输入第一个微手势后,就可以选择所需的输入字。以这种方式,根据公开技术的预测文本算法对滑动和敲打支持容错输入。用户可以在输入文本时很马虎并且不需要提供准确的字符输入以获取所需的字。实际上,在微手势输入中被选择的字母是由文本分析算法考虑的就像它们被在传统的文本输入系统中敲击一样。因此,现有的文本解析算法可以加以利用,并且提供给用户一个更简单和灵活的系统。因此,缺少的和/或不正确的字母仍然可以被接收并且系统仍能确定正确的和预期的用户的文本输入。
通过使用滑动为文本输入选择字母允许用户跟踪少于文字的所有字符的字符路径,如图4中的示例所示。根据此示例,假定用户希望输入文字INPUT。传统地,用户将敲击五个键中的每一个。如果他们敲击所有的五个按键,文字INPUT将被呈现给用户。
然而,根据所公开技术的一个实施例,用户不必敲击五个字母找那个的每一个,并且事实上可以采用一个或多个微手势滑动以输入期望的字母。根据公开技术,输入文字INPUT有很多不同的序列。
如图4所示,用户可以滑动他们的手指经过字母“i-n-p”然后敲击字母“u”、“t”。如在上述图中所示,用户在“i”处开始滑动他们的微手势然后滑到“n”并在“p”处完成微手势滑动。此后,字母“u”和“t”被敲击以输入完整的文字。以下可选的输入序列也将导致文字INPUT被文本预测算法识别:
滑动“i-n-p”及“u-t”
敲击“i”和“n”并滑动“p-u-t”
敲击“i”、“n”和“p”并滑动“u-t”
为了进一步简化用户体验,任何由用户输入的滑动或敲击可能会被维持在显示屏上一段时间以给用户提供足够的反馈去确定输入的内容。然而,如上所述,这样的滑动输入的维持仅针对用户有用并且优选地可能在确定用户输入中不能发挥作用(当然,将有可能使用这样的滑行定位以确定在公开技术的可选实施例中的文本输入)。因此,虽然图4中所示的轨迹显示用户可以在设备上观察的路径,但内部地,根据公开技术的文本预测算法最好是不同的,仅跟踪由用户输入的滑动的初始和最后一个字符。如果有中间字符,则使用与滑动的第一个和最后一个字母之间的运动方向相关的矢量进行解密,或一般不太推荐地使用由用户输入的滑动中的弯曲的近似位置。因此,根据公开技术,本发明的算法通过使用具有特定的第一滑动和中间字符的第一个和最后一个字符,如果有的话,试图从一个数据库中找到文字。基于滑动中弯的确定,或使用一个通配符假设一个三个字母的滑动器,文本预测算法返回结果。然后,可以进一步的计算以过滤文字,其中中间字符不符合用户绘制的矢量方向。
下面的实施例进一步示出了使用这样的滑动和矢量算法。如果用户跟踪“t-h-e”的路径,“h”是较低级并位于“t”的右侧。通过算法的初始进入将返回例如“tie”、“toe”和“the”的文字。基于观察在输入第一个字母“t”之后的运动矢量,可以确定用户朝向字母“h”向下移动。因为这两个字母“o”和“i”都是在字母“t”的右侧,在算法发现有更紧密的选择时,它们将被放弃(或作为较低价值的选择提供给用户)。来自潜在的建议选择“the”的字母“h”更密切符合输入的邻近矢量并因此将优选地被选择作为中间字符。此外,容错文本输入可被提供并因此用户可以跟踪“r-j-w”且仍可以得到“the”作为建议的文字。字母“j”位于字母“r”的下方和右侧,字母“h”位于字母“t”的下方和右侧。由于这两个矢量很接近,字母“h”将被选择作为中间字符。
现在将描述矢量方向的说明,其在2007年6月14日由Sharan等人提交的美国专利申请号为12/091,700,题为“DATA ENTRY SYSTEM ANDMETHOD OF ENTERING DATA”中被更完整地描述,该申请的全部内容以引用的方式合并于此。公开技术有利地将与平移运动有关的用户输入进行编码,即当由用户依次驱动时,一个键相对另一个键的方向。
平移运动最好在一组预定的主要方向之内被进行编码,这是一组简化的所有可能的方向,其可以在两次连续键驱动之间被采取。简化组的一个例子将是四个方向:“上”、“下”、“左”和“右”。因此,系统优选地指定简化组中的一个,而不是根据所采取的实际方向指示每个平移运动。例如,如果两次驱动之间的运动的实际方向是偏离垂直面10度,平移运动将被指定,例如,“向上”,这是最接近真正10°的前进方向的首选。
将可能的方向从无穷多个简化至一个小数目,以使得所有的平移方向被分类在一个简化组中,例如“上”、“下”、“左”和“右”,意味着有很多不同的平移方向将被指定为相同的主要的方向。例如,具有相对于竖直向上方向成至多正负44度的方向的运动可以被指定为相同的主要方向“上”。此外,这将包括具有相同的实际方向但具有完全不同的出发点的平移运动,以使得发生在键盘上的许多不同点处的相同垂直运动都可以简单地通过“向上”表示。
根据本发明公开技术的的微手势文本输入系统的示例性预测文本算法在上文引用的美国专利申请号为12/186,425中被描述。根据本发明公开技术中使用的这样的算法的处理公开技术的预测文本需求。用户界面将通过该算法,一个字符(或与特定的跳点和区域相关的字符串)及该算法将解释该字符(或字符串),并以一个或多个建议字选择的形式返回结果至用户界面,或可能返回一个不能正确解析字选择的指示,从而表明用户尚未输入足够的字母。当然,用户背景、历史等等也可以被采用以帮助在这种被建议的字选择。此外,虽然所述文本预测算法可以被采用,但本发明公开技术可以与任何合适的文本解析或文本预测算法一起使用。只要跳点可以与一些不同的输入相关联并且这些输入可以相互区别并用于选择由用户输入的预期文字,则公开技术也可以被采用。
因此,使用概率矩阵,算法知道每个由用户按压的字符可能意味着在根据上述公开技术的区域中字符的左,右,上方或下方,或其它字符。一旦算法知道哪个字符是可能的(根据与选定跳点相关的键,或可选地,用户意图的一个动态或其他确定,即哪些字母是用户很可能预期的,即使还没有提供一个预定义的区域,该算法稍后运行针对字典的搜索,如在上文所引用的′425号申请中被更完整地描述一样。任何匹配可能字符串的文字被指定并稍后基于字符间的距离、频率、概率以及任意数量的其他可以指示用户意图的特征被优选地打分。该系统还可以随着时间的推移,得到特定用户经常使用模式的更高的概率选择。因此,预测机制对特定用户可以是个性化的。
为了更有助于确定用户的意图,除了依靠传统的字典,根据公开技术所提出的系统的预测算法可以通过确定特定文本输入的内容,试图进一步确定用户的意图,例如确定输入是否用于电子邮件、聊天、搜索或类似的等等,或者文本输入是否发生在特定的电视节目期间,或者音乐应用程序正在播放歌曲期间。在一定程度上,用户很可能使用不同的字和/或其他语言差异,这样的背景确定可能有助于文本预测算法中的准确性。该算法也可以接收有关来自存储内容信息的信息,一个或多个数据库的内容,如用户的联系人列表或类似的以提高预测的可靠性。这样的背景可以被存储在用于文本输入的装置内,或可被远程存储在通过互联网访问或其他可用的网络访问的数据库中。然后,字的列表根据该分数被排序并被返回到用户界面。因此,公开技术根据用户的意图,使用在输入语言或可能的输入功能中的冗余映射近似输入到非模糊的输入。此外,当确定用户输入时,设备的特性和功能可能会被考虑,因此当确定这样的输入的时候,可能考虑设备限制。
虽然已经在采用′425号申请的预测文本算法的一个实施例中描述了本发明公开技术,但使用其他的文本解析算法也是可能的。这样的可选的文本输入系统被描述在于2009年7月10日由Sharan提交的题为“METHODAND APPARATUS FOR TEXT INPUT”的美国专利申请号为12/500,676之中,其整个内容以引用的方式被合并于此。申请′676描述了一种系统和方法,用于将键盘分割成多个区域,并且之后认为在特定区域中的任何文本输入是在该区域中的所有字母的选择。因此,用户在输入文本时能够不用太精确。该系统可与上述的的微手势输入方法结合使用,从而,每个确定的起点,终点,以及任何矢量方向或弯曲测定只需表明包括预期字母的区域,,从而进一步缓和用户输入文本的难度。
此外,虽然已经描述了用户与显示或触摸屏键盘接触的公开技术,其同样适用于不需要接触的键盘,但在该键盘之上的文本输入可能允许用户划动手指等以接近特定的键等。一个微手势包括手指在键盘上方移动直至最终的按键,当用户再次移动手指时可能会被认为是输入。因此,处理可以按照上述系统和方法进行,但依靠接近检测而不是按键选择和输入的接触。
虽然公开技术的方法和系统的主要用途可以是小的移动设备或其他小型电子设备,例如数码相机、个人助理,上网本等,这样的输入系统可能是同样适用于,例如,在机顶盒或使用遥控器的电视上输入,或其他输入设备,如控制器等。因此,当用户移动指示器经过微手势的第二个字母(如果需要的话)至第三个以及最后一个字母时,用户根据所选择按钮的释放的指示通过指向一个按键(或区域)、按下选择按钮、按住按钮开始输入。采用区域输入系统的输入的更完整的说明以及在′676申请中的这样的远程控制,在之前以引用的方式被合并于此。事实上,预期的是本发明的公开技术可以适用于在′676申请中记录的任何输入方案或技术,包括但并不限于遥控、遥控、手势其他输入技术。
III.合适的用户界面
图5A示出了一个适合于接收多模式用户输入(例如,敲击、跟踪、悬停、以及其他的触觉输入和/或非触觉输入的混合)并输出字的用户界面。本文所描述的用户界面可以形成任何系统的一部分,其中理想的是将用户输入转换成字,包括但不限于移动电话、个人数字助理、便携式音频系统、笔记本电脑(包括超移动个人计算机)、台式电脑,其它计算机系统,视频游戏系统,电视和无数其他消费者和商业电子系统或设备(包括,例如冰箱,共用电话亭等)。
用户界面包括触摸屏或类似的显示屏,其有利于来自用户的触觉输入(例如,通过指尖或触针)和视觉输出。正如说明轴所表示的,在显示屏上的每个点可由唯一的X-Y坐标描述。此外,尽管未在图5A中示出,用户界面可能会收到其他输入,包括来自触摸屏中的系统加速度计和/或压力传感器的输入、音频输入、视觉输入等。另外,用户界面可能会产生其它输出,包括其他的视觉输出,音频输出,触觉输出等。
如图5A中所示的用于无线移动设备的示例显示屏(和其他描绘的显示屏),并包括上水平部502,其提供一定的系统信息,如信号强度、无线运营商名称、时间、电量等等。上水平部502的下方是一个应用程序栏504,其包括一些信息以及应用程序的输入按钮,其在所描绘的显示屏中是电子邮件应用程序。文本显示部或输出区域506显示由用户输入的文本,例如,可以是与应用程序相关联的文本。字建议部分或字选择区域508(如下所述)根据用户输入向用户显示建议的字。
用户界面显示屏包括位于底部的虚拟软键键盘区域510,其被配置显示虚拟的键盘以及接收表示来自虚拟键盘的字符选择的触觉用户输入。如图所示,虚拟键盘具有多个设置在显示屏上特定布局中的定义区域。每个定义区域确定一个键的范围。除特殊功能键,在虚拟键盘上的每个键与一个或多个字符相联系,如在本文中更详细地描述。如在此所用,“字符”可以包括字母(带或不带音调符号标记,如重音)、数字、字符或表示语音或分词组件的符号,包括日文假名、韩语文字母和中国注音,或其他语言的和非语言的字符,如包含在缩写、聊天俚语、表情符号、用户ID或URL中的数字和标点符号。虚拟键盘中的特殊功能键与文本信息(例如,字母的大写,字符的删除)的输入有关的特殊功能的性能相联系。特殊功能键包括但不限于换档键、删除键、数字输入键(例如,选择适合于数值和符号字符的快速输入的键盘布局)、多键盘选择键(例如,选择支持不同字符集的不同的键盘布局和/或虚拟键盘)、回车键和空格键。
用户可以为虚拟键盘区域510提供不同类型的触觉输入,如在本文中更详细地描述,以指示他的字符序列选择。用户可能打算让一组他的触觉输入共同导致在所示的在用户界面显示屏(或在另一输出端)中显示的输出区域506中特定预期字的形成。为了明确起见,除非上下文清楚地要求,否则本文所用的“字”是指任何类型的语言对象,包括但不限于字符串、词干、前缀,后缀、短语、句子、缩写、聊天俚语、表情符号、用户ID、URL或表意字符序列、表情符号或图标。
无需系统干预,用户到虚拟键盘的原触觉输入可能导致意外的字被添加到输出的区域,其不同于他预期的字,例如,如果(1)用户的触觉输入是草率或不准确的,(2)用户拼错字,(3)需要多个按键以便选择特定的字符(例如,如果需要区分的标记或如果虚拟键盘上有半个QWERTY键盘或12键的布局,如在图1H中所示),(4)预期的字特别长,和/或(5)其他原因。所有这些因素可能会延迟用户的预期字的输入。
因此,为促进更好的用户体验,所公开的用户界面可以提供用户输入,其由虚拟键盘区域510(以及触敏显示器和/或其他输入的其它区域)接收至消歧系统或模块,例如在此公开的消歧模块。消歧模块解析接收到的用户输入以生成字选择的建议列表(“字选择列表”),这可能是等级排序或以其他方式按符合逻辑的方式进行组织。然后,用户界面可能会显示由在字选择列表区域508中的消歧模块产生的字选择列表的子集(例如,以分组或排序方式)。在字选择列表区域内,一个或多个默认字可能被突出显示(例如,在图5A中所示的“are”)和/或在输出区域中显示。用户可以选择在字选择区域中显示的字以表示他预期的字(例如,通过在字选择列表区域内提供触觉输入,通过按下在显示屏上特殊键的点或接近特殊键的点,如空格键,或通过提供选择的其它输入指示)。用户在选择一个字之前,可以选择查看来自字选择列表区域中的字选择列表其他结果(例如,通过在字选择区域内滚动或重击)。在用户指示他从字选择列表中的选择之后,稍后用户界面可以向输出区域506添加所选择的字(或以其他方式输出所述选择的字)。
虽然在此所述的用户界面显示屏主要作为触敏触摸屏,但本领域技术人员将理解在此描述的用户界面和消歧系统及方法可以被实现而不使用激光投影键盘、肌肉感应键盘、织物键盘、运动敏感的视频系统(如任天堂)、虚拟现实系统等,因为这些系统能够在显示的键盘内显示虚拟键盘并将用户活动翻译为位置信息,其类似于触摸屏的触觉输入。
用户输入模式
图5B-G示出了各种类型的用户输入,其可以由图5A中所示的合适的用户界面接收并由消歧模块分析,以产生显示在用户界面内的字选择列表中。为了简单起见,触觉用户输入至触摸屏显示屏被在此描述以与用户的指尖按压显示屏相结合。然而,本领域技术人员将理解用户可以任何合适的方式按压触摸屏,例如,手指、手写笔或任何其它合适的输入工具。
敲击输入
图5B说明了用户界面如何接收一系列敲击,以及作为响应输出字选择列表。敲击由用户在举起他的手指之前在局部点处简单地按压触摸屏。在图5B的示例中,用户界面可能会收到一系列的三次敲击(在时间(T)=1时,在“A”键附近,在T=3时,在“D”键上,以及在T=4时,在“E”键上)。在这个例子中,使用这三个敲击抽头功能,消歧模块产生字选择列表,包括默认选择“are”。这个默认选择说明了消歧模块如何纠正明显的用户错误,因为在英语中,更像是用户打算创造字“are”而不是“ade”。
跟踪输入
图5C说明了用户界面如何接收来自用户的跟踪输入并作为响应输出字选择列表。为了输入一个轨迹,用户按下或把他的手指放在触摸显示屏上的一个点上,并且不断按压显示屏,在最终将手指从屏幕上抬起之前,他用手指在显示屏范围内划线。如将在本文中更详细地描述的一样,跟踪输入可以进一步细分成离散特征的至少两个不同类型:角和段。如本文中更详细地描述一样,“角特征”导致在轨迹中不同类型的的事件的发生,包括但不限于一个用户:(1)在轨迹开始处最初按压屏幕,(2)在轨迹末端抬起手指离开屏幕,和/或(3)在轨迹中突然改变方向。然后,每对角限定一个段特征,该段沿着两个角之间用户的跟踪路径运行。
在图5C所示的示例中,用户输入一个轨迹,其在T=1时开始,通过在键盘区域510中的“K”键附近的屏幕上按压他的手指以及跟踪他的手指向上至“P”和“O”键附近的点,通过跨越虚拟键盘的最上面一行突然改变在该点附近的他的方向,并最终,在T=3时,在“W”键附近的点处抬起他的手指离开屏幕。如三个点所示,这个单一的连续轨迹可能会被分成三个不同的角点特征(角1、角2、角3)和两个段特征(在角1和2之间延伸的段1和在角2及3之间延伸的段2)。如图5C所示,使用五个提取的输入特征(三个角和两个段),消歧模块可能会产生一个字选择列表中,包括默认字“how”,其通过用户界面显示给用户。
悬停
图5D说明了用户界面如何从用户处接收悬停输入特征。悬停特征包括在用户以特定方式对显示屏范围内的一个点给出特别强调的地方的任何的用户输入,其可能包括在一个点附近暂停手指、围绕一个点摆动、环绕或乱画手指,在轨迹中的一个点附近减速,在一个点处提供额外的压力(例如,由压力敏感触摸显示屏检测到的),在轨迹中同时用另一个手指提供第二次敲击等。例如,如图5D所示,在先前相对于图5C描述的轨迹之中,用户可以在“T”键附近的一个点输入悬停特征,通过在时间窗口T=[2:5]时徘徊在那里。虽然图5D显示了与跟踪特征一起使用时发生的悬停特征,一个的悬停特征可能会发生在其他情况下(例如,与敲击特征结合使用时,例如,如果敲击按压超出阈值持续时间)。
多模式输入:多触觉特征
在此所描述的用户界面允许用户以任何顺序输入不同类型的的输入特征(例如,输入一个轨迹然后两次敲击接着是三个轨迹等)。此外,用户界面允许用户在输入第一特征(例如,一个轨迹)之后暂停,并且稍后恢复他的输入(例如,输入第二轨迹或输入敲击)。在暂停之后,消歧模块可利用在暂停之前和暂停之后检测到的输入特征以产生字选择列表。
图5E说明用户界面的如何收到来自用户的输入,其包括触觉输入特征的不同类型,以及作为响应,显示使用所有的多个输入特征产生的字列表。在图5E的例子中,从T=[1:3]开始,用户通过划线提供如图5C所示的相同的输入,其导致默认字“how”被显示在字选择列表中。然后,用户将暂停直到T=7,当他在“E”和“R”键之间敲击时(这可能会导致更新的字选择列表的显示)。他再次暂停直到T=9,当他在“V”键附近开始新轨迹,在T=10时在“F”和“R”键附近结束轨迹。当此轨迹结束时,使用所有的输入特征(即,第一轨迹(由三个角和两个段组成)、敲击以及第二轨迹(由两个角和一个段组成),消歧模块更新字选择列表以使得在用户界面中显示的默认字是“however”。
多模式输入:触觉输入特征和音频输入
如图5F-G所示,在此描述的用户界面还允许用户以互补的方式混合多个触觉输入和音频输入。在这样的例子中,用户界面和/或消歧模块可进一步包括语音识别模块,其被配置为将音频输入解析和/或消歧成字和/或字选择列表。作为第一个例子,用户界面可以允许用户提供音频输入以使得从最初由触觉用户输入产生的字选择列表中选择一个字。在图5F所示的例子中,在时间T=[1:10]之间,用户通过输入多个触觉特征提供如图5E中所描述的相同输入,其导致包括默认字“however”以及“howdy”的字选择列表的显示。在时间T=11时,用户通过大声地说“howdy”以产生至用户界面的音频输入,表面他的意图选择后者,这是该选择的指示(例如,通过对着被耦合至提供或携带用户界面的设备的麦克风说话)。
作为另一个例子,该用户界面可以允许用户通过触觉输入(例如,轨迹输入)从字选择列表中选择一个字,其中字选择列表由音频输入(例如,使用语音识别软件产生字选择列表)、自由形式手写输入(例如,使用手写识别软件产生的字选择列表)或另外的输入方式产生。在图5G的示例中,用户通过大声说“I am using voice recognition software to enter text initiallyand using tracing to correct mistakes”,在时间T=1时开始他的输入。响应于该音频输入,用户界面(例如,使用语音识别模块)在输出区域506中产生用户句子的文字版本,但是第四个字是错误的(“reconnaissance”)。为了纠正该错误,用户在时间T2时通过触觉输入(例如,敲击)在键盘区域510中选择错误的字。用户界面可以选择性地显示在字选择区域508中的一个字,其由语音识别模块产生的发音相似的字reconnaissance、recognizable和recognition组成。然后,用户使用如前所述的虚拟键盘跟踪出正确的字(“recognition”)。通过分析轨迹以确定哪个字的选择是最匹配的,该系统可以识别用户预期的字和纠正错误。系统的多模式性意味着使用任何特定模式,例如语音、敲击、手写、说话等输入的字可以被选择/重新选择以及纠正。在某些模式中,歧义的性质可能会导致一个字具有一个以上的字(词组段)作为一种替代的选择或者一个以上的字构成的部分可以有一个较短的替代选择。例如,当用户说出:“Do little”,其可能被识别为具有“Do Little”和“Do let a”变化的“Doolittle”。
上述实施例展示了用户界面以互补的方式混合多种消歧的更普遍的能力。在这些例子中,消歧第一形式(如文本消歧或音频消歧)产生第一字的选择列表(如N-best列表),其成员都有一个共同的特征(如在键盘上的类似字母安排或拼音相似)。接着,当需要消除用户输入的第二类型的歧义时,可能字集必须被检索以消除第二输入的歧义(例如,搜索的“dictionary”),其被限制在第一个字选择列表的成员中(例如,N-best列表)。
可选择的键盘布局及其它特征
图5A中的合适的用户界面显示了完整的QWERTY虚拟键盘,其至多显示与每个键相结合的单个字符。然而,在此所述的所有的输入、输出和消歧功能(敲击,跟踪,悬停,多模式输入等)可适当地由用户界面实施,其采用任何风格的键盘布局包括结合两个或更多字符的单个的键显示的键盘布局。例如,图5H示出了一个用户界面,包括具有布置在一个4x3结构中的12个主键以及侧边的2个附加功能键(一个空格键和删除键)的虚拟键盘。在这样的布局中,大部分的主键结合1-4个不同的字符显示。在使用类似的12键布局的传统系统中,用户通常必须利用多个按键以表示一定的字符(例如,在传统系统中,显示字母“i”可能需要4个重复按键或一个键的连续按压)。相反,如图5H所示,在此描述的消歧方法允许用户生成一个字列表,该列表包括具有很少轨迹和敲击的预期字“imminent”。在用户界面中,并不需要多种输入特征(例如,四次连续的敲击或长时间在“4GHI”键上悬停)选择预期字“i”的首字母。
同样,不同于传统系统,在此所述的系统中,不需要重复的或长期的用户输入特征(例如,多个输入敲击或悬停)选择重音字符(或其它可选的字符),该字符可能无法直观地显示在虚拟键盘上。作为一个例子,在传统系统中,在图5A所示的QWERTY键盘布局上选择重音字符è,用户可能需要执行多次击键,其中之一包括“E”键。相比之下,在此所述的消歧方法允许用户生成至含有“E”键的用户界面的字列表,该列表包括具有重音字母è的字,其只有单个输入特征(例如,单个敲击和或角)。除了有多个、类似的映射到单个键的字母,在此所述的消歧方法也可由键盘布局实现,该键盘布局的数字作为顶排字母的替代显示。
此外,在此所述的用户界面不要求来自用户的重复或额外的输入特征以表示重复的字符和/或重复的击键。例如,为了使用图5A所示的完整的QWERTY用户界面高效地输入预期的字“moonlight”,用户只需要在“O”键附近输入触觉特征以便产生在生成的字列表中预期的字,尽管在预期字的范围内发生重复的“oo”。作为另一示例,为了使用图5H中的界面高效地输入字“his”,用户只需要通过单个输入特征(例如,单个的敲击或角)表示他们的“4GHI”按钮的选择,因为同样的键被用于预期字中的第一个字母(“h”)和第二个字母(“i”)。
上下文-驱动跟踪
图5I说明了上下文信息如何被用于提供更高效的文本输入的示例。在图5I中,用户在联系人应用程序中检索联系人的姓名。为了键入她的朋友的名字,她划出了三角的轨迹。在消除这个轨迹输入的歧义时,消歧模块213可能会限制其查询字典的字,而仅包括用户的联系人列表中的字(比如,大多是专有名词)。此外,消歧模块可以使用不仅仅是符合排列字选择列表的轨迹并建议默认名字。例如,消歧模块可能提倡用户经常键入或访问的名字,无论是在联系人应用程序、电子邮件程序或在所有应用程序中。为了说明,虽然图5I中所示的轨迹开始于“D”,在“A”转向并结束于字母“N”而形成普遍的名称“DAN”,消歧模块仍可能提倡名字“DAVID”,如果用户键入该名称以比键入“DAN”高得多的频率和/或近因。
虽然图5A-5I强调相对于虚拟键盘的触觉输入,如敲击、跟踪、悬停和多模式输入,本领域技术人员将会理解在此所述的消歧系统和方法也可以利用其它类型的种用户输入,包括多点触摸输入(例如,两个或两个以上的手指在触摸屏上),加速输入(如表明较大系统的加速的输入),手写/手势输入(例如,自由形式触觉输入),和/或来自输入按钮的信号。
合适的计算环境及消歧模块
图6和下面的讨论提供了合适的计算环境的简短、通常的描述,在该环境中可以实现所公开的技术。虽然不是必需的,所公开技术的各方面被在计算机可执行的指令的大环境下描述,如由通用数据处理装置执行的例程,例如,服务器计算机,无线设备或个人计算机。相关领域的技术人员将会理解所公开的技术的各个方面可以由其他通信、数据处理或计算机系统配置实施,包括:互联网设备、手持设备(包括个人数字助理(PDA))、可佩带式计算机、各种形式的蜂窝或移动电话(包括IP语音(VoIP)电话)、简易终端、媒体播放器、游戏设备、多处理器系统、基于微处理器的或可编程的消费类电子产品、机顶盒、网络PC、小型计算机、大型计算机以及类似物。实际上,术语“计算机”、“服务器”、“主机”、“主机系统”等等,在本文中通常可互换使用,并适用于上述任何设备和系统,以及任何数据处理器。
所公开的技术的各方面可体现在特殊用途的计算机或数据处理器中,其被进行专门编程、配置,或构造成执行在此被详细说明的计算机可执行指令中的一个或多个。虽然公开技术的各方面,如某些功能,被描述为只在单个设备上被执行,公开技术也可以在分布式环境中实行,该环境中的功能或模块在不同的处理装置之间共享,其通过通信网络被链接,例如局域网(LAN)、广域网(WAN)或因特网。在一个分布式计算环境中,程序模块可以位于本地和远程存储设备中。
在一个实施例中,公开技术被作为程序指令序列执行,其被存储在非暂时性计算机可读介质或计算机可读存储器中。由处理器电子器件执行的指令用于实现在此所述的功能。
公开技术的各方面可以被存储或分布在有形的计算机可读介质上,包括磁或光可读的计算机盘、硬连线或预编程的芯片(例如,EEPROM半导体芯片)、纳米技术存储器、生物存储器或其他数据存储介质。可选地,计算机执行的指令、数据结构、屏幕显示,以及在公开技术各方面之内的其他数据可以在一段时间内,经由互联网或其他网络(包括无线网络)被分布在传播介质(例如,电磁波(s)、声波等)的传播信号上,或者它们可以被设置在任何模拟或数字网络上(分组交换、电路交换或其他方式)。
图6示出了合适的数据处理或计算系统600,其中消歧模块613可以操作以提供在此所述的用户界面功能。该计算系统可以包括触摸屏显示器603、其它输入设备608、音频输出组件604、其它输出设备606、一个或多个处理器或中央处理单元(CPU)601以及至少一个存储器610,其中的一些或所有是可携带或容纳在一个外壳内(图中未示出)。作为替代物或除了CPU,该计算系统600可以包括一个或多个数字信号处理器(DSPs)、特定应用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它逻辑/数据处理电路。
输入和输出组件包括全球定位系统(GPS)、数码相机、无线局域网(WiFi)接口、运动传感器、加速度计、蓝接口、外部USB或类似端口、耳机或耳机插孔适配器、投影显示器、触觉输出设备(例如,振动器)以及其它组件或通信元件。例如,蓝接口可与外部无线通信组件通信,如无线耳机、不仅接收音频输入也提供音频输出。在一个实施例中,该计算系统600是移动电话,从而该系统还包括耦合到CPU 601的一个或多个无线电以允许无线通信。
系统的输出方式可能包括文本到语音、音频、振动、触觉、视觉等输出。例如,该系统可以让用户知道哪些输入特征、字符和/或字母已通过加入“振动”或“声音”反馈被识别。同样地,该系统可以为用户提供关于所提取的特征和涉及其决定的不确定性水平的更详细的了解。
存储器610可进一步包括操作系统611、消歧模块613以及一个或多个应用程序(表示为应用程序1-N 614-616)。应用程序可以包括文字处理程序、幻灯片演示文稿或图像制作程序、电子邮件程序、SMS/MMS消息程序、即时消息程序或其他基于文本通信或基于文本的文档创建程序。
消歧模块613从操作系统接收用户输入的数据,包括与用户用触摸屏603输入有关的的数据,并使用接收的输入数据识别用户选择的字,它可能提供至应用程序。例如,消歧模块613可以从操作系统611接收手指向下事件(当用户按压触摸屏上的一点)、手指移动事件(例如,用户移动他的手指的同时按压屏幕)以及手指向上事件(例如,用户从触摸屏抬起自己的手指)的一系列通知。(虽然通常在此描述为使用手指,用户可能使用任何物体接触或致动触摸屏,如手写笔。)所接收的每一个通知可以包括位置数据的时间序列,例如,具有时间标记t的一组X-Y(x,y)坐标(即,x,y,t),其反映了用户到触摸屏603的触觉输入。此外,如果触摸屏603包括压力传感器,接收到的通知可能包括位置和压力数据的时间序列,例如,一组坐标(x,y,t,p)反映用户到触摸屏603的触觉输入,包括所施加的压力p。操作系统611还可以提供其它种类的输入数据至消歧模块613,包括多点触摸输入(例如,额外组的同步坐标(x,y,t),标识第二个手指同时接触触摸屏)、音频输入(例如,声音输入)、视觉输入、加速度计输入、位置数据、传感器数据等。
消歧模块可额外地从操作系统和/或应用程序接收和处理动态的环境数据以促进其单词识别。环境信息是可以帮助通知用户意图的消歧模块的任何信息,并可能包括将在本文中更详细地描述的,例如句子或词对环境、语言环境、应用程序特定环境(例如数据域/标签)、用户特定环境、位置、时间等信息。例如,模块可以接收环境信息,例如由用户选择的最后一个字、其他句子等级环境、使用的虚拟键盘布局、字将被输入至的输入字段的类型(例如,“联系人”字段)、位置数据(例如,计算系统包括GPS接收机的位置或访问位置数据)、用户的日历数据和/或用于或正被用于利用被识别字的环境数据或应用程序。作为另一个例子,消歧模块可能会从另一种输入模式收到“N-best”列表。N-best列表是建议字的排序列表,其可能会被限制为固定的大小(例如,N)。作为一个例子,N-best列表可能会产生于另一种类型的消歧应用程序或模块,例如产生于语音识别程序(例如,同音字列表)或手写识别程序的字列表。作为又一示例,如果用户输入文本以响应较早的电子邮件,消歧模块可能会收到用于较早的电子邮件中的字列表。
消歧模块可能包括字符选择子模块618、字列表选择子模块620、键盘映射数据库622、词汇模块624、用户环境数据库626、应用程序环境数据库628以及消歧参数数据库630。虽然作为独立的模块、单独的模块、程序或例行程序进行描绘,但可以结合两个或更多个模块使用。
字符选择子模块618被配置为分析接收到的用户输入或输入数据以提取输入特征,如敲击、角、段、悬停或其他特征。字符选择子模块618进一步被配置为使用语言独立的键盘映射数据库622分析提取的输入特征以产生输入序列,其包括特征对象的有序集合(如被拼写字的字母的排序集合)。输入序列中的每个特征对象与一组字符、一组接近权重和一个或多个特征类型相关联,该组字符与多个虚拟键盘或键布局之一的相应键相关联。接近权重反映用户意图通过特定的输入特征(例如,敲击、角、段或悬停)完成特定按键的可能性。这种可能性可以基于输入特征的位置和在虚拟键盘上键的位置之间的接近程度。在操作过程中,字符选择子模块可利用从消歧参数数据库中检索的参数、策略和喜好。字符选择子模块618的各个方面的进一步的细节可能会被在受让人的美国专利公开号2006/0274051,题为“VIRTUAL KEYBOARD SYSTEMS WITH AUTOMATICCORRECTION”的美国专利中发现,其通过引用方式被合并于此。
键盘映射数据库622允许字符选择子模块618评估用户意图通过输入特定输入特征以完成特定按键的可能性。对于每种类型的由系统利用并在触摸屏上显示给用户的虚拟键布局,如一个完整的QWERTY(例如28-键、32-键,或更多)、14-键的半QWERTY键盘以及12-键的“数字”键盘等。键盘映射数据库622提供了一个区域与键的映射,其将特定的键映射至特别定义的区域或在触摸屏显示器上的点,反之亦然。例如,在一个完整的28-键的QWERTY键布局中,区域-键映射可以使用显示器的四点集合定义“E键”:{(x1,y1),(x2,y2),(x3,y3),(x4,y4)}。作为另一示例,在一个4x3、12-键的布局中,如图1-H所示,区域-键映射可能使用四点集合定义“5JKL”键:{(x11,y11),(x22,y22),(x33,y33),(x44,y44)}。当然,其它映射是可能的,诸如以x-y中心位置和半径来定义的虚拟键盘的圆和该虚拟键盘的对应字符的映射(圆圈可以相交)。
此外,对于每种类型的系统所使用的字符布局(例如,美式英语完整的QWERTY字符布局与法国完整的AZERTY字符布局),键盘映射数据库提供了键-字符映射,其映射特定的键(例如,“E键”)到一个或多个字符(或特殊功能键,至特定的功能),并且相反地,映射字符到特定的键。键-字符映射可以描述为一对多的关系,其中特定键与一个以上的字符相关联,包括不在虚拟键盘上的向触摸屏用户显示的字符。例如,在一个完整的QWERTY键盘布局相关的键-字符映射中,“E键”可以被映射成两个或两个以上的下列字符:E、e、ê、é、è、ě、ē、作为另一示例,在与图5H所示布局类似的12-键布局有关的键-字符映射中,“5JKL”键可以映射到以下字符:5、%、J、j、K、k、L、l。单个区域-键映射可能涉及多个键-字符的映射,例如,通过单一的虚拟键盘布局允许更加容易的多国语言输入。使用键盘映射数据库622消除用户输入的歧义将在本文中被更详细地描述。
此外,键可能结合起来形成罗马、音译或转录的输入,允许用户使用标准的Latin-1的键盘输入外国字符。用户可以使用Latin-1键盘以输入一个字,音译组件将在其原脚本生成一个字。例如,键入“serodija”导致俄语字“сегодня”。一个或多个Latin1字符可以结合起来以形成一个或多个俄语字符。这些映射能以各种不同的方式实现,使用状态机或其它常用的方法。这种翻译或音译层增加一层映射或额外的被实现的子模块作为概率。在有一对一映射的情况下,实现很简单。当有多种解释时,每个映射都可以被分配一个概率值。例如,在北印度文中,字母可以有一个以上的有效映射。例如:字符具有下列映射:i、yi、ee以及yi。相似的字符映射为i和yi。注意环境或其他参数也可以被用于进一步消除歧义或排列显示给用户的选项列表。
字列表选择子模块620被配置为接收由字符选择子模块生成的输入序列。字列表选择子模块620可以使用各种其他输入对输入序列进行分析以生成排序的或结构化的字选择列表,例如图5A-5I中所示的那些。字列表选择子模块620可能使用的其它输入包括来自词汇模块624的数据、从消歧参数数据库630检索出的参数、接收到的动态的环境数据,从用户环境数据库626和应用程序环境数据库628检索到的环境数据。字列表选择子模块620将在本文中被更详细地描述。
为了便于字选择,词汇模块624提供一个或多个定义字集和字逻辑组的字典。例如,“美式英语”字典可以以英语为母语的美国人使用的常见的用法定义字逻辑组,“美式英语消息”字典定义字逻辑组(包括表情),其通常由英语为母语的美国人在文本和多媒体信息(如SMS、MMS或类似的消息)中使用。词汇模块624还可以提供额外的语言信息,如特定字逻辑组(例如,特定语言内的)和/或特定环境内的静态或动态的频率信息。例如,根据语言模型,额外的语言信息可以包括频率信息,其可以包括一个或多个的:在正式和/或对话的书面文本中的字的出现频率、当跟随某些在先的一个字或几个字时字的出现频率,环境语句的正确的或常见的语法;被用作左干或右干(或者前缀或后缀)的字的频率,等等。除了频率,转移概率可能被分配到特定转移,当拒绝具有字典中其他字的前缀时,该前缀将形成非法字,连接一类前缀至可能的干或者具有一类后缀或多类后缀的干。例如,字work可能具有与后缀-er、-ers、-ing、-s和-ed较高的转移概率,通常形成有效的字。
值得一提的是,如果用户改变了他的键盘配置,消歧模块并不需要改变它的字典。此外,通过使用键盘映射数据库622,消歧模块可以被在任何无关键盘布局的系统内使用。
消歧参数数据库630可存储各种参数、策略和喜好以进行互动或输入特征提取、字符选择和/或字选择。例如,消歧参数数据库可以包括参数和策略,其帮助距离函数的选择和应用、接近指标、匹配指标和后处理步骤,所有这些都被描述于此。
为了方便改进字符和/或字选择,用户环境数据库626和应用程序环境数据库628可以提供环境信息至字符选择子模块618和/或字列表中选择子模块620以告知其进程,这些子模块也可以从应用程序和/或操作系统接收动态环境信息。文本输入、替代物之间的选择、环境信息和多种形式由消歧模块进行管理。该系统可使用来自用户的输入、应用程序的环境、外部传感器和环境资源和消歧以及校正方法以确定在此指出的用户的意图。基于用户意图的理解,系统维护应用程序的环境和状态并管理跨多个输入方式的输入和同步的组合物。通过与业务逻辑的连接,该系统可产生要呈现给用户的多模态输出。交互、业务逻辑和环境和状态可以通过交互脚本或更复杂的状态机(状态图XML或SCXML)或语言,其被用于控制的用户界面如XHTML+语音或SALT,进行管理。
用户环境数据库626可以包括任何与用户的之前的字符和/或字选择的行为有关的历史信息,如之前由用户使用的字、由用户输入的字的频率,和由用户使用的常用的短语。用户环境信息的其它例子包括:由用户输入的字对、在特定的应用程序中的用户唯一的词汇(例如文本消息对电子邮件)、当输入文本至系统时,用户的′马虎′水平(增加字符区域的大小),等等。此外,用户环境信息可能反映用户如何频繁地从特定的语言或用户主要使用的语言中选择字。例如,如果系统为双语用户采用法语和英语词典,用户环境数据库626可跟踪的用户选择法国字与英国字的相对频率以便确定用户的“主要语言”,并且稍后来字该字典的字可能会成为首选或超过来自其他字典的字被首先呈现。
可替代地或附加地,一些用户环境信息可以反映在用户特定的字典和/或在词汇模块624中的其它数据结构中。另外或可替代地,用户环境数据库626还可以提供用户特定的策略和参数,其可能会覆盖存储在消歧参数数据库230中的默认的消歧参数。
应用程序环境数据库628可以允许消歧模块613的访问与在特定的应用程序内的字符或字选择相关的历史信息。应用程序环境数据库628也可以提供应用程序特定词典和/或应用程序特定策略和参数,其可能覆盖存储在消歧参数数据库630中的默认的消歧参数。语境也可以来自文本字段,信息应该被输入其中。作为一个例子,在一些实施方式中,消歧模块可以被设计成与应用程序特定类型进行集成,其定义与特定字输入相关联的应用程序特定的字段、标记或标签。作为一个例子,一种形式的文本字段(“姓名”或“电子邮件”)可以是被用来提供环境信息的标签。应用程序环境数据库628可以稍后关联用户的历史字条目和应用程序特定字段以提供额外的环境信息。在应用程序环境数据库中,该系统可以定义应用程序特定的字段和规则(例如,语法规则、匹配指标和/或后处理规则),其反映在字选择过程中,字段信息和其他环境信息如何被利用。这些规则甚至可指定特定字段的字建议,该字段可以依赖于用户输入在其它字段中输入了什么字。
系统通知消歧模块字段(姓名、电话号码、日期、电子邮件地址、密码)的预定的文本信息和/或为它提供描述信息的语法。例如,一种形式,需要输入州、邮编和城市,将使用能够提供基于环境和其它字段的内容的适当语法的方法。如果州是“WA”,城市的语法受制于在华盛顿州内的实际城市并且邮编也受类似的限制。当城市和州被输入时,邮编的范围被再次限制。字段和语法之间复杂的相互作用可以以这样的“形式”简化数据输入。可选地,该系统可以学习经常被使用的文本字段的环境。
为了说明该环境信息的使用,考虑形式填充的例子,其中的消歧模块可能记得用户在特定字段中所输入的字。为了说明,在一个订单表格中,用户可以输入他的工作邮件到电子邮件字段并且稍后消歧模块将预测邮寄地址字段将包含他的工作地址。相反,如果他输入他的个人电子邮件地址至电子邮件字段,消歧模块将在邮寄地址字段中预测预测他的家庭住址。
其他环境信息包括环境参数,如时间、地点、日历条目、用户设置、应用程序设置和系统设置。
虽然以单个的数据库示出,但在此所述的两个或更多的数据库可被组合,并且可以在任何数据结构或逻辑构造中被实现。
字符选择子模块618和/或字列表选择子模块620可以通过提供关于用户当前行为的通知保持用户环境数据库626和/或应用程序环境数据库228处于最新状态。例如,当用户从字选择列表中选择一个字时,字列表选择子模块620可以返回信息至这些数据库,。
此外,如前所述,消歧模块613也可以从操作系统和/或应用程序接收附加的动态环境数据。尽管未示出,如在此所述的,消歧模块可能另外包括语音识别软件,其被配置为消除语音或音频输入的歧义。
合适的消歧方法
在此描述的流程图不显示所有的功能或数据交换,而是提供了在该系统中的命令和数据交换的理解。相关领域中的技术人员将认识到,某些功能或命令和数据的交换可能被重复、更改、省略或补充,以及其他的(不太重要)未被示出的方面也可以容易地被实现。另外,虽然过程步骤、方法步骤、块、算法等等可被以特定顺序进行描述,这样的过程、方法、块和算法可以被配置为以交替的顺序进行工作。换句话说,在此描述的任何序列或顺序不一定表明步骤或块以该顺序被执行的需求。在此描述的过程和方法的步骤或块可以按任意顺序实际的被完成并且一些步骤可能同时被执行。
图7A显示了用于消除用户输入数据的歧义的流程700,其可能对应于多模式用户输入以允许来自字选择列表的字的选择。当消歧模块613在进行框730之前等待和接收输入数据时,流程700由消歧模块613执行并且开始于方框710。典型地,消歧模块613以一个或多个用户输入通知或来自操作系统的输入事件的形式接收输入数据,但它也可能会收到来自其他流程的输入数据,例如应用程序。例如,在方框710中,消歧模块可能会等待和接收来自操作系统的手指向下通知、手指移动通知、和/或手指向上通知,每个通知都伴随着一组(x,y,t)或(x,y,t,p)坐标,其中x是用户手指在显示器上的x-位置,y是用户手指的y-位置,t是这些输入的时间或时钟参考,以及p是可选的压力测量(用于压敏屏幕)。消歧模块613也可以等待输入数据的其他形式,如语音输入、加速度计输入、外部传感器数据、位置信息。尽管未示出,在方框710中,消歧模块613可以从例如操作系统和/或应用程序接收额外的动态环境数据。例如,它可以接收关于应用程序的类型或用户正在其中输入文本的环境的信息(例如,用户正在其中输入的字段的类型、例如相对于名称字段的日期字段)。
消歧模块等待并接收用户输入的数据的时间可能会有所不同。例如,在一个实施例中,消歧模块然后在进行块730之前,可以等待接收一组完整通知以响应于:(1)手指向下通知(2)下一个手指向上通知和(3)发生在前两个通知之间的所有手指移动通知。在一些其它的实施例中,在块710中,消歧模块613可以连续地分析传入的用户输入数据以识别在用户输入数据中的逻辑分组的其他类型并且仅当接收全部的逻辑组时,可进行块730。例如,在块710中,消歧模块可以在通知一到达时连续地分析接收到的通知以识别是否发生输入特征(例如,敲击、角、悬停等)或特殊功能(使用,例如,本文在块802和730分别描述的技术,以及当响应于单一的输入特征或特殊功能的输入数据的逻辑组被检测到时,该逻辑组的过程稍后可以在块730继续进行。
在判定块730中,消歧模块确定用户是否已经提供表明消歧模块应该执行特殊功能,如字选择、字符删除、或与特殊功能键相关的功能(例如,移位、大写锁定、键盘选择键等)的输入。如在图7A中所示,如果一个特殊功能被表示,程序进行到块780,其中,在程序进行到块740之前,消歧模块按照与图7B中所示的过程(在此描述的)执行特殊功能。否则,如果输入数据不表示一个特殊功能,则程序直接进行到块740。
在块740中,消歧模块使用字符选择子模块618以识别哪些输入特征(例如,敲击、角、段、悬停、音频输入等),如果有的话,是由接收的输入数据表示。此外,在块740中,消歧模块利用字符选择子模块以为每个识别出的输入特征产生特征对象。特征对象包括字符集、一组特征类型和接近权重集。字符选择子模块可以按照与在图8A-8B中所示的程序执行这些任务。
在块740中,字符选择子模块也可以使用一个或更多的特征类型描述每个已识别的输入特征。例如,字符选择子模块可以描述每个输入特征为敲击、角、段,悬停等。此外,字符选择子模块也可确定被识别的输入特征是否是一个“有意输入特征”(或“有意特征”)。有意输入特征是相比于其他类型的输入特征更可能响应于用户的意图击键的输入特征。如果一个特征不是有意输入特征,其反而被描述为“偶然输入特征”(或“偶然特征”)。如在此所述,当匹配候选字与输入特征时,可以不同于对待偶然特征而区别对待有意输入特征(例如加权更高)。
为了说明,在一些实施例中,消歧模块将所有敲击和角作为有意输入特征处理,因为这些特征表明在用户输入行为中的明确的和突然的变化。作为另外一种说明,消歧模块可以把所有的敲击、角以及悬停作为“有意”输入特征处理。消歧模块可以通过采用在此所述的其他因素进一步改进被描述为有意的或偶然的输入特征。相对于图8A,输入特征的描述被更详细地描述。在一些实施例中,消歧模块可以没有区别并将所有输入特征作为有意的处理。
在块750中,消歧模块可能递增的被估计的输入长度变量(L)以反映新的有意输入特征的数目,如果有的话,这会在块740中被识别。如在此所述,当在块370中产生一个字选择列表时,稍后消歧模块可对预过滤器字典或出于其他目的使用估计的输入长度L。同样地,在块750中,消歧模块可另外更新反映输入序列组合的其他变量(例如,反映存在于输入序列中的段数的变量)。
在块760中,消歧模块将任何新生成的特征对象添加到输入序列中。输入序列反映所有创建的输入特征对象的有序集合,因为用户最后选择了一个字。在输入序列中的各种特征对象的基于时间被排列。
在块770中,消歧模块使用字列表选择子模块618创建使用目前的输入序列的字选择列表并对用户输出该列表(例如,通过在触摸屏显示器上的字选择列表区域)。通过这种方式,消歧模块为用户提供了选择他的预期字的机会。相对于图9A和9B,字选择列表的创建被更详细地描述在此。
在该系统的一个变化中,如果用户在字选择列表中选择了一个字,该系统可以仅通过示出以所选字开始的字作为响应。除了字以外,选择列表也可以包含由所选字表示的对象。例如,love这个字可能有一个心形状图标与它相关。此外,在选择时,取自不同的词汇或提供商的字,如联系人字典,可以提供额外的选项。比如,如果一个用户已经输入与联系人字典中的名字相匹配的的名字,用户可以选择添加电话号码、驾驶指令、电子邮件地址或任何其它相关的对象,包括以机器可读的格式(电子名片等)表示联系人的对象。换句话说,字可以被发送到‘识别器’,其可以识别关键字、电话号码、潜在的日历条目等。当用户键入:“让我们相约在Joy的午餐”时,识别器可以添加一个动作:添加到日历,请致电Joy,预约,插入指令及更多。当用户选择任何动作,该系统启动活动,在其完成时返回用户到文本输入的该活动。这些活动可能被任何相关的环境参数启动,其可以帮助关于用户意图的活动被更好地执行,包括用户历史记录,用户的喜好。在另一个例子中,用户可以希望增加歌曲至电子邮件。通过输入歌曲名、作者、专辑甚至例如MP3、歌曲这样的关键词,用户可以启动允许用户持续地附加对象的活动。可选地,被选取导致活动开始的字可能被自动删除。
图7B示出了用于执行用户输入数据所表示的特殊功能的程序715。当消歧模块标识出由用户输入数据表示的特殊功能是什么类型时,程序715开始于块782。要做到这一点,消歧模块可分析有触觉的用户输入的触觉的接近到一个特殊的功能键,一个字选择列表区域,和/或其它活动区域,诸如菜单按钮;可以执行语音命令输入的语音识别分析;可以分析其它触觉手势(例如,检测一个重击、一个多点触摸的动作)或物理手势(例如设备的抖动);和/或可以执行消歧参数数据库中的查找以标示出输入类型到特殊的功能。
在判定块784中,消歧模块确定输入数据是否表示该用户已经选择了字(例如,从字选择列表)。字的用户选择可能会发生,例如,通过声带的选择(如前面所述),如果用户在特殊键的附近或上方敲击、跟踪或悬停(例如,空格键,tab键,回车键,等等),或者如果用户在字选择列表区域中的一个字的上方或附近敲击、跟踪或悬停。当然,用户可以通过任何其他适当的方法,如通过摇动装置,按下输入按钮等选择字。
在一个实施例中,消歧模块613可以通过分析由用户使用的输入特征的类型提供“自动间距”功能以确定用户的输入是否表示她的意图去结束一个离散的字,并开始另一个。在一些实施例中,消歧模块613将在输入序列中的两个连续的轨迹(即,无需像跟踪或悬停干预的输入特征的另一种类型)解释为用户打算进行下列行为的指示:(1)选择默认字,其根据最后的轨迹以及输入序列中以前的其他特征确定,和(2)开始以第二轨迹开始的新字。因此,在判定块784中,消歧模块可确定最后两个输入特征是否是轨迹。如果它们是,该系统可以(1)进行到块792以处理最后的默认字的用户选择,和(2)重新启动将第二轨迹的组件(即,它的角和段)作为一个新的输入序列中的第一个特征的程序700。否则,该系统可以简单地继续程序700。当然,任何其他合适的特征组合可以被用来在判定块784中测试自动间距。更一般地,消歧模块613可以根据输入序列中的特定特征组合的发生执行自动间距;可以使用消歧参数数据库630中的消歧参数和喜好设置触发的组合。
此外,对于某些语言(例如,复合语言)或环境(例如,URL条目),自动间距特征可能被禁用或以不同方式实现。例如,如果两个连续的轨迹(或一个不同的触发条件)被检测到,系统可以(1)进行到块792以处理最后的默认字的用户选择和(2)重新启动将第二轨迹的组件(即,它的角和段)作为一个新的输入序列中的第一个特征的程序700,并可以设置一个标志,指示最后的默认字和新的字在新字被选择时必须被复合。
如果输入的数据指示用户已选择一个字,则进行程序792,在792中,消歧模块处理选定的字,否则直接进行程序786。在块792中,消歧模块输出所选择的字到所需的输出(例如,输出到与当前正在运行的应用程序相关联的窗口的输出区域)。此输出的性质可能会受到环境的影响(例如,句子语境)、标志、参数或其他因素。例如,如果在句子中紧接的前一个字是在复合语言中的常见左干,并且当前选择的字是在相同的复合语言中的常见右干,消歧模块可确定是否在当前选定的字前插入一个空格,或者是否复合新选择的字到紧接在前一个字。要做出这样的决定,消歧模块可以利用来自词汇模块624和/或语法模块的语言信息。作为另一个例子,如果消歧模块可消除字之间的空格,如果是可以从环境中推断(例如,上一次输入“google.com”),用户正在输入一个URL。
此外,在块792中,消歧模块可以更新词汇模块以反映选择。例如,消歧模块可以更新与所选择的字相关的频率和最近信息和/或可以添加用户创建的字到用户特定字典或临时字典直到用户已经多次输入相同的字。这避免了垃圾字的意外增加到用户数据库中。该系统甚至可能采取对字的后期编辑的通知以删除字典的意外增加,而无需进一步的用户干预。此外,用户可以通过一个特定的动作指示用户生成的字应被立即添加到用户字典,如长按该字。除了该字,系统还可以包括字的文本环境有关信息,如前面的字/词,以进一步提高对未来的预测(例如,文中提到的字对)。
作为另一个例子,消歧模块可更新应用程序及用户依赖的字典(例如,如果系统为电子邮件与短信维护不同的用户字典)。作为又一个示例,消歧模块可以检索之前输入的字以更新具有与由用户使用的字对相关的信息的用户环境数据库626。例如,如果用户经常使用的字对“school book”,并且目前输入的前一个字是“school”,然后,字“book”可能会收到一个更高的概率并在字选择列表内得到提升。作为另一个例子,在一些实施例中,消歧模块可以更新应用程序环境数据库628,例如,通过所选择的字与适用的字段标签相关联。
此外,在块792中,消歧模块可分析目前和/或历史的接收到的输入数据,目前和/或历史的输入序列和目前和/或历史的选择的字以便调整其未来的行为。例如,消歧模块可比较对应于用户选择的字的键的位置与在输入序列中被检测特征的位置,以确定它是否可以识别用户如何输入数据至用户界面的任何趋势(系统是否可以基于一组相似的用户输入学习用户的模式或习惯)。如果这种趋势被识别,消歧模块可以更新用户特定或其他的消除歧义参数以反映观察到的趋势。作为例子,消歧模块可以调整其字符选择参数,如果用户总是在角处越过或未击中字符(或在某些情况下),如果用户在敲击期间轻微晃动以企图表面上地提供额外的强调或表示一个重复的字母,如果用户经常暂停中段以指示预期的击键等。作为另一个特定的例子,消歧模块可调整适用的距离函数和/或接近指标参数(例如,如本文所述的那些用来产生一个角的椭圆形的参数)以反映在其输入条目中用户是如何特别精确的或不精确的。在许多情况下,消歧模块采用一个反馈环回,其中,所述模块存储与用户从字列表中选择的相同的字相关联的一系列用户输入,比较这些输入,并作出调整以基于序列字列表、输入的消歧权重等排列字列表。当用双手握住键盘时,当系统检测到单个手指输入与通过多个手指输入时(如当一只手握住设备时的拇指),不同的适应模型可能存在。此外,该模块可能考虑其他的环境参数,如用户的速度、环境光的可用性等。
作为另一个例子,通过确定用户从特定语言选择字的频率,消歧模块可分析所选择的字来确定或用户优选的语言,以便用户不需要显式地设置自己的优选语言。
此外,在块792中,消歧模块也可更新应用程序环境数据库以反映在特定应用程序(例如,文本消息程序)和/或特定的应用字段(例如,“名称”字段)的环境中的字或短语的频率或近因。如果合适的话,选定的字段,如密码字段,可能会被记住,但可以防止被检索到,直到用户输入秘密的密码、手势、震动、语音命令,其解锁受保护的、在一段时间内包含这些敏感字眼的内存、库或位置,其可能依赖于各种环境参数。例如,当设备进入“睡眠”模式或“屏幕保护”模式,库可能会自动锁定。如果需要,基于每一个案例。库行为可由用户定义。此外,用户可能已经定义了不同的“角色”或伪装,并基于显式或隐式激活,用户名、密码和其他敏感数据可能会改变。例如,在工作时间内,角色将是‘工作’,而在下班后或周末期间,角色可能是‘休闲’或‘家’或‘家庭’,并且系统的不同的字典、数据库和喜好将基于角色被使用。
最后,在块792中,消歧模块可清除输入序列并重新启动如图7A中所示的新的程序700。
在块786中,消歧模块确定输入数据是否表示删除的字符。例如,消歧模块可确定删除的特殊功能键是否被按下(或跟踪),或者用户是否震动装置或以其他方式执行删除手势。在块788之前,如果删除事件被检测到,程序进行到块794和796。否则,程序就直接进行块788。在块794,消歧模块从输入列表中删除一个或多个特征对象。通常情况下,对于单个的按压(例如,敲击)或删除键的轨迹,消歧模块可能会从输入序列中删除的最后一个有意特征对象和任何后续的附带特征对象。然而,消歧模块可能会从输入序列中删除特征对象的一个不同的子集;在块394中删除的特征的数量、性质和顺序可能依赖于接收的输入数据的确切性质(例如,是否使用“删除所有”键或手势而不是“删除一个”键或手势;用户的删除手势或输入是否表面特定特征应被删除,等等)。在块794中,消歧模块可额外地递减估计的输入长度变量L以反映从输入序列删除一个或多个的有意特征对象。在块796中,消歧模块创建一个新的使用更新后的输入序列的字列表,并向用户输出这个新的列表(例如,如图9A中所述)。
在块788中,消歧模块判断输入数据是否表示一个特殊的功能,该功能涉及当产生一个字选择列表时,消歧模块如何选择候选字符和/或字。例如,消歧模块可以判断用户是否已经输入或跟踪了转换键、大写锁定键、键盘选择键或类似的键,这些键调整消歧模块应如何选择字符和/或字。在另一个例子中,键盘可能包含‘命令’键,它允许用户快速输入系统命令。例如,通过跟踪命令键“复制”,或从命令键跟踪键盘上字COPY的轨迹,用户可以复制选定的文本。同样,可以使用CTRL键映射到常用功能:CTRL-A“选择全部”、CTRL-C/V复制和粘贴、CTRL-E文本居中等。此外,用户可以可以定义命令和快捷方式。作为另一个例子,消歧模块可确定用户是否已通过其他输入方式表示类似的意图(例如,通过跟踪关闭键盘(例如,以指示所需的未显示的字符);通过震动、摩擦或其他物理手势;或者通过语音命令)。如果特殊功能被指示,消歧模块在块798中采取适当的响应动作,例如,通过调整字符判定标志(如大写字母的使用标志、区域键映射选择标记、键字符映射选择标志和/或变音标记标志),或字判定标志(如大写字母的使用标志),通过调整输入序列的内容,和/或采取任何其他合适的行为。
在块790中,消歧模块确定输入数据是否表示另一个功能。例如,消歧模块可确定该用户已经在“菜单”按钮上敲击。在块799中,如果另一个功能被表示,消歧模块采取适当的步骤,该步骤在程序315返回前需要执行其他指示功能。否则,程序715立即返回。
图8A示出了用于识别什么样的输入特征,如果有的话,被所接收到的输入数据所表示,并用于为每个识别出的输入特征生成特征对象的程序800。程序也对每个输入特征进行描述,选择字符集与输入特征相关联,并且确定接近权重集,其字符集相关联或者与所述集中的每个字符的权值相对应。
程序800在块802开始,其中字符选择子模块处理原始输入数据(例如,手指向下的时间序列、与位置测量相关的手指移动或手指向上通知或事件),以识别目前输入特征的类型和所识别的输入特征的位置。为了识别每个输入特征,字符选择子模块可分析一组对应于用户手指的单个按压的输入数据,即,输入数据的时间系列,其开始于手指向下事件,任何数量的手指移动事件,以及手指向上事件。字符选择子模块然后可以分析该组,以确定运动和/或来自相关位置/压力数据的时间序列的压力指标,X-Y={X(T),Y(T),以及可选地,P(T)}。例如,字符选择子模块可以计算一阶值,如:按压的总时间、移动的总距离(例如,通过累加所有的在XY平面的反射的线段)、(x(t),y(t))的范围或它们的一些组合、按压期间的净压力差,等等。作为另一个例子,字符选择子模块可以执行高阶和/或时间依赖性的计算,例如,确定沿轨迹的用户手指的速度或执行公知的几何分析算法,其可用于识别角、拐点(例如,使用二阶导数)和/或其他兴趣点。
在判定块805中,字符选择子模块确定输入数据是否表示敲击特征。为了识别敲击特征,字符选择子模块可简单的确定在时间序列同样落在阈值敲击距离值之内的期间,总按压时间是否落在阈值敲击时间值和/或运动的总范围之内。如果这些条件被满足,则字符选择子模块可以识别一个合适的位置(例如,出现在按压窗口期间的初始、平均、或最终的(x,y)坐标)以作为敲击特征的位置被利用。但是,字符选择子模块可以应用任何其它合适的方法识别敲击、区分敲击和特征的其他类型和/或确定敲击的位置。例如,字符选择子模块可以忽略低压敲击。
如果在判定块805中检测到敲击,程序接下来在块850中继续,其中字符选择子模块通过赋予所述敲击特征、识别与敲击相关联的相关字符集、为字符集中的每个字符计算接近权重,从而为所述敲击生成特征对象。典型地,字符选择子模块将敲击特征作为如之前所述的有意特征进行描述,但在某些情况下,由消歧参数(例如,低压敲击)指定;字符选择子模块并不将敲击作为附带特征进行描述。此外,字符选择子模块可将敲击特征作为“手指向下”和“手指向上事件”进行描述。关于图8B和8C的用于识别相关的字符集和为检测到的敲击计算接近权重的合适的方法将在此被更详细地说明。
在块810中,字符选择子模块确定输入数据是否包含角特征。字符选择子模块可简单地通过利用轨迹的XY集合的第一个和最后一个成员或数据点检测起始角和结束角。为了识别中间轨迹的角特征,字符选择子模块可以使用任意合适的曲率分析方法来检测用户方向的急剧变化。作为一个例子,字符选择子模块可能会反复评估轨迹上的坐标系列(例如三个连续的点),以确定中央点是否落在超过从其他两个点连接的直线的阈值距离。如果没有,对轨迹上的点下一集合重复评估。如果是的话,中央点被识别为角位置。然后,这个过程被重复以找到角落。作为另一示例,为了确定中间轨迹的角特征,字符选择子模块可以评估沿轨迹的压力、速度和/或加速行为。但是,字符选择子模块可以应用任何其它合适的方法以确定角、区别角和特征的其他类型和/或确定角的位置。
如果在判定块805中检测到角,程序接下来在块860继续,其中字符选择子模块通过为角赋予特征、识别与角相关联的有关的字符集、为字符集中的每个字符计算接近权重,从而为每个角生成特征对象。典型地,字符选择子模块将角特征作为如之前所述的有意特征进行描述,但在某些情况下,由消歧参数(例如,低压角或具有低曲率的中间轨迹角)指定;字符选择子模块并不将角作为附带特征进行描述。此外,字符选择子模块可将开始角特征作为手指向下特征进行描以及将结束角作为手指向上特征进行描述。关于图8B和8D的用于识别相关的字符集和为检测到的角特征计算接近权重的合适的方法将在此被更详细地说明。
在判定块820中,字符选择子模块确定是否在输入数据中检测到段特征。字符选择子模块通过简单地选择介于两个相邻的角(在那里,再次地,“角”可以包括轨迹的端点)之间的XY轨迹数据可检测到一个段并为段特征选择位置数据。子模块也可确定轨迹是否大于在虚拟键盘上的键的区域的位置,以指示两个特征之间的可能的段。但是,字符选择子模块可应用任何其它合适的方法以确定一个段、以区分段特征和特征的其他类型和/或从以确定段的位置。
如果在判定块820中检测到段,程序接下来在块870继续,其中字符选择子模块通过为段赋予特征、识别与段相关联的有关的字符集、为字符集中的每个字符计算接近权重,从而为每个段生成特征对象。典型地,字符选择子模块将角特征作为附带特征进行描述除非由消歧参数进行指定。关于图8B和8E的用于识别相关的字符集和为检测到的角特征计算接近权重的合适的方法将在此被更详细地说明。
在判定块830中,字符选择子模块确定在输入数据中是否检测到特征的另一类型。例如,字符选择子模块可以识别任何在X-Y轨迹期间发生的悬停或异常的局部压力。字符子模块可能检测到的其他特征的例子,包括:语音命令(例如,选择一个字母)、在跟踪期间第二个手指点击屏幕、温和的曲率变化以及恒定的曲率变化(例如,表明圆周运动)。如果检测到另一类型的特征,则程序在块880中继续,其中字符选择子模块通过对特征进行描述、识别与特征相关联的有关的字符集、为字符集中的每个字符计算接近权重,从而为每个特征生成特征对象。字符选择子模块可以特征识别特征作为故意的功能,如果用户的意图,以实践按下特定的按键的功能是一个明显的表现。例如,明确发言信可以有意的功能特征。
在程序800中,字符选择子模块可以通过评估各种用户特定的消歧参数调整输入特征的位置以抵消用户输入方式中已知的特殊性或趋势。例如,字符选择子模块可以调整到敲击特征的位置至它实际被检测到的位置的左侧,如果用户有有敲击键右侧的趋势。
图8B示出了用于识别的字符集和为输入特征计算相关的接近权重的程序890。程序890开始于块803,其中字符选择子模块利用消歧参数确定适用的距离函数以及为特定的特征类型所使用的接近指标。“距离函数”提供了一种导出距离分数的方法,其反映了特定输入特征的位置与在虚拟键盘中的特定键的位置之间的间隔。“接近指标”提供了一种导出接近权重的方法。“接近权重”反映用户意图通过输入特征表示的特定按键的可能性或概率,基于输入特征的位置和在虚拟键盘中的特定对应键的位置之间的间隔。图8C-8E,如下所述,说明了可利用的距离函数和接近指标的各种类型。然而,本领域技术人员将理解可以采用任何合适的距离函数或接近指标。
在块806中,字符选择子模块加载来自键盘映射数据库622的区域键映射,其反映被显示给用户并由用户使用的虚拟键盘的按键布局(例如,12键,28键等)。
然后,从块809开始,字符选择子模块为区域键映射中的每个键执行一次循环。循环在块812开始,其中字符选择子模块通过使用区域键映射确定键的位置,这是一种典型的与语言无关的映射。接下来,在块815中,字符选择子模块通过评估使用键的位置和输入特征的位置的适用的距离函数计算键的距离分数,正如在此所作的关于图8C-8E的更详细的说明。在判定块818中,字符选择子模块确定该键是否充分接近输入特征以值得进一步分析,这样做,子模块可评估相对于阈值的距离分数。如果该键不足够接近,则循环在812块开始重复。否则,程序进行至块824,其中字符选择子模块通过评估使用键的位置、输入特征和/或距离分数的适用接近指标计算键的接近权重,正如在此所作的关于图8C-8E的更详细的说明。
在块827中,字符选择子模块使用一个或多个键-字符映射,以识别所有与键相关联的字符,甚至是可能无法显示给用户的虚拟键盘上的字符(例如,重音字母)。子模块通过评估各种标志(例如,键盘选择标志)、动态环境信息(例如,从操作系统接收的的用户语言设置)、用户偏好和/或消歧参数,以确定在块827中使用哪一种键-字符映射。例如,子模块可能会收到用户界面有一个完整的具有法语字符布局的QWERTY键盘的指示,并且可以使用此信息来选择一个合适的键-字符映射。在此块中,字符选择子模块可以利用多个键-字符映射(例如,为了满足多语种用户,其希望不间断地输入文本而无需在不同的屏幕上的字符布局之间切换)。
在块833中,字符选择子模块将每个在块827中识别的字符添加到特征对象的字符集,并将每个被识别的字符与被计算的键接近权重相关联。在块836中,字符选择子模块确定在区域键映射中是否有多个键等待被处理。如果是,该循环将重复在块812开始,否则,程序890返回。
图8C概念性地说明了可以由敲击特征适当采用的合适的距离函数和/或接近指标。图8C表示了敲击特征882,其位于虚拟的、显示的QWERTY键盘的“E”键上的一个点(以“X”显示)。在一些实施例中,距离函数和接近指标是分段步骤函数。在一个示例中,一个键的距离分数是零,如果键的任何部分(或可替换地,所有的键)的位于半径为R的圆881的范围内,其中R可以至少部分地由消歧参数确定(包括,例如,可以调整以反映用户的输入风格的参数和涉及键盘布局的参数,例如平均键大小和/或平均间隔)。在这个例子中,距离函数对半径范围之外的所有其他键具有一个最大值。在这个例子中,对于所示的敲击882,A、W、S、E、D、R(以及可能的T)键将有一个为0的距离值(或其它的最小值),以及所有其它键将有一个最大距离值。在另一个例子中,如果敲击882直接落在键上,则键的距离分数是零(或最小值);如果一些(或可替换地,所有的)键位于半径为R的圆881的范围内,则键的距离分数是一个中间值;以及所有其它键在圆4881外,则键的距离分数是一个最大值。在这个例子中,如图8C所示的敲击882,E键的距离分数为零,A、W、S、D、R(以及可能的T)键将具有中间值,并且所有其它的键将有一个最大值。在又一示例中,键的距离函数是从敲击特征882至键上或键中的一个点(例如,它的质心、其周边上的最近点,等等)的笛卡尔距离。在这些实施例中,键的接近指标可以被定义,以距离函数的最大值(或另一个最大值)减去键的距离分数。然而,本领域技术人员将会理解,也可以采用任何其他合适的高阶距离函数和/或接近指标,并且接近指标不必直接采用键的距离分数。用于描述敲击特征的技术也可能适当地适用于其它手指开启和/或手指关闭特征(例如,无论是开始还是结束轨迹的角特征)。
图8D概念性地示出合适的距离函数和/或接近指标,可以适当地与角特征结合使用,也可以特别适合于非终端角特征。在轨迹之中,正如用户接近角883,用户可能会有越过和/或未击中其预定角键的倾向。在给定的轨迹中,不论用户是否越过或未击中,可能是用户惯用手的函数,键盘的形状和/或布局,轨迹的方向,用户接近的角的速度或加速度,用户手的形状,当用户接近角键时视觉识别键盘布局的能力(可以被他的手所阻碍),在拐角处的轨迹的曲率程度,以及其他因素。这些因素也可能恰恰影响用户如何越过或未击中(例如,他们是否在x方向、y方向越过,他们越过多远,等等)。
图8D概念性地示出了距离函数和/或接近指标如何可补偿用户越过或未击中预期的键。图8D示出了在内部角特征883处的椭圆形884或椭圆形区域(或类似的非对称的形状)如何可以被用来实施分段距离函数,该函数类似于相对图8C的之前所述的分段距离函数。选择区域的精确形状和取向以纠正刚才所描述的造成越过或未击中的因素。例如,在一个实施例中,就在手指达到角883之前、在手指到达角时或在其拐弯之后不久,椭圆884的长轴888可以被选择以与用户手指的速度矢量平行。此外,长轴888的长度可以被选择以成比例地增加在这些点中之一上的速度矢量的幅度,和/或以其他方式反映先前描述的因素(例如,用户的马虎)。同样,可以选择短轴889的长度以反映先前描述的因素。
如图8F所示,也可使用非对称形状的不同类型,如卵形形状,其包括两个半椭圆形,每一个都具有自己的长轴和短轴。两个长轴的方向以及绝对和/或相对的长度可能是用户手指(大小和方向)的速度、用户的惯用手、用户的马虎和/或其它先前描述的因素的函数。在一个实施例中,就在手指达到角883之前、在手指到达角时或在其拐弯之后不久,半椭圆的长轴可以被选择以与用户手指的速度矢量平行。部分的轴可以被选择以纠正模糊的视点,其依赖于用户的惯用手以及他们的移动方向。例如,惯用右手的用户向右移动时具有指右侧的键的较少可见度(例如,比惯用左手的用户在相同的方向移动),从而导致在判断他敲击角的右侧上的键的意图时增加的不确定性。在图8F所示的例子中,键盘右侧的卵形较长以补偿惯用右手的用户从左下方接近的某些键的更加模糊的视野。在卵形中的两个半椭圆的短轴的也可以被选择以反映先前描述的因素;具有上述例子中的位于右侧的长轴的两个半椭圆形也可以具有不同长度的短轴。
相似于先前关于图8C被描述的方法,落在(完全或部分)非对称形状(例如图8F中的椭圆形884或卵形)内的键比位于非对称形状以外的形状内的键可以被赋予较低的距离分数(和/或更高的接近权重)。作为另一个例子,如果角点883落在键上,该键可被赋予最小的距离分数,在非对称形状内的键可被赋予中间距离分数,以及非对称的形状以外的键可以被赋予最大的距离分数。在又一示例中,键的距离函数是从角特征483至键上或键中的点(例如,它的质心,其周边上的最近点,等)的笛卡尔距离。此外,键的接近权重可以通过从最大可能的距离分数中减去该键的距离分数被选择。
图8D主要描述角特征的分段距离函数和接近指标。然而,任何其它合适的高阶距离函数和/或接近指标可以被应用(包括纠正越过或未击中因素的高阶距离函数和/或接近指标)并且接近指标不需要直接应用键的距离分数。
图8E概念性地示出了距离函数和/或接近指标,其可以适当地与段特征结合使用。在此,分段距离函数和/或接近指标可以使用不规则的区域885进行定义,不规则区域885由落在距段特征886的轨迹线的特定垂直距离内的所有点进行定义。被用于定义区域的最大距离至少部分地使用消歧参数(包括,例如,可被调节以反映用户的输入风格和习惯的参数)确定。在第一个例子中,所有部分地(或者全部地)落在不规则区域885内的键可能会收到最小的距离分数(和/或最大接近权重)以及所有其它键可能会收到最大的距离分数(和/或最小接近权重)。在第二个例子中,直接由段特征886分割的键可能会收到最小的距离分数(和/或最大的接近分数),其它部分地(或者全部地)落在区域范围内的键可能会收到一个中间距离分数(和/或最大的接近分数),以及所有其它键可能会收到最大的距离分数(和/或最小的接近分数)。本领域技术人员将会理解也可以采用任何其他合适的高阶距离函数和/或接近指标,包括利用至轨迹线的键的垂直距离的高阶函数和指标。
图9A示出了用于创建使用特征对象的输入序列的字选择列表的过程900。过程900开始于块905,其中字列表选择子模块加载或接收适用的消歧参数;环境数据,包括从用户环境数据库和应用程序环境数据库中检索到半静态环境数据以及从操作系统和/或应用程序接收到的动态环境数据;以及语言数据,包括,例如,来自词汇模块的频率数据、用户环境数据库,和/或应用程序环境数据库。在块510中,字列表选择子模块(简称为“字子模块”)加载适用的来自词汇子模块的字典,词汇子模块使用环境数据、消歧参数,和/或任何标志(例如,语言选择标志)。例如,被使用的字典可以基于应用程序的类型被选择,该应用程序将接收消歧模块的输出。作为另一个例子,所使用的词典可以通过使用语音识别软件分析用户的语音或通过分析用户输入的另一模式被生成。例如,词典可能是由语音识别软件、手写识别软件等产生的N-best列表。
在块915中,字子模块可以预先筛选字典,该字典使用输入序列中的某些部分、估计的输入长度L和/或环境来生成字的子集。作为第一个例子中,字子模块可以基于字是否匹配第一个“手指向上”的特征和/或最后一个“手指向下”的特征(如前所述)来预先过滤字典,因为这些特征可能提供最强用户意图的指示以实现特定的击键。作为第二个例子中,字子模块可以基于估计的输入长度L预先过滤字典。例如,字子模块可能会筛选出任何短于L减X的长度的字,其中X是使用消歧参数所确定的。作为第三个例子,字子模块可以预先过滤字典到字列表,该字列表由语音识别软件生成。作为第四个例子,如果动态环境表示用户键入名称字段,它可能会过滤字典只包括专有名词。当然,字子模块可以使用这些过滤技术的组合。
在块920中,字子模块基于语言数据、环境、字长和/或任何其它合适的因素选择子集中的下一个字。例如,字子模块可以基于使用频率整理子集,并以此顺序呈现这些字。
在块925中,字子模块通过使用输入序列、环境、字长以及语言数据评估匹配指标以确定所选字的匹配分数。图9B中示出了一种使用匹配指标确定匹配分数的合适的方法。
在判定块930中,字子模块可确定字是否有一个匹配的分数超过使用消歧参数确定的最小的阈值。如果有的话,在程序进行到块940之前,将这个字在块935中添加到字选择列表。否则程序直接进行至块940。字子模块可消除不充分匹配的字,并提供固定的或最小尺寸的字列表。可选地,块930可以从字子模块中删除。
在块940中,字子模块确定在子集中是否有更多的字等待处理。如果有,则程序返回到块920,从而对另一个字进行评估。
否则,程序进行至块945,其中是字选择列表被后处理。例如,字子模块可以通过匹配分数和/或通过选择具有最高的匹配分数的一个或多个默认字对列表进行排序。作为另一个例子,在排序后,字子模块可分组或按一种逻辑方式对字的顺序的进行调整,以便改进的用户浏览行为。例如,字子模块可以重新排列列表以将具有相同词根(例如,“兴趣”、“有趣的”、“有趣地”)的字组合到一起,从而允许用户更迅速地扫描字选择列表。作为又一个例子,可以在块950中使用动态或静态的环境数据以调整列表,例如,升级或降级在列表中的特定字和/或以其他方式调整列表的顺序。例如,如果用户已经在之前使用相同应用程序中的特定字,该字可能被升级。作为另一个例子,字子模块可将以标点符号结尾的字升级到嵌入标点符号的字之上。作为又一个例子,如果一个以上的语言字典被用来生成字列表或消歧模块以其它方式提供双语一体化(例如,为了顾及双语用户),后处理可将用户的第一语言中的字升级和/或将用户第二语言的字降级。用户的“第一语言”可以由语言参数或标志和/或由来自用户环境数据库626的用户环境数据决定。
作为后处理的另一个例子,消歧模块可以基于应用程序特定段信息和/或规则或从应用程序环境数据库中检索的语法升级或降级特定字。
在后处理的另一个例子中,消歧模块可以判断用户是否试图使用可能没被列在标准字典中或者不能在标准字典中找到的字,如“播客”的新词或罕见的专有名词。如果确定,基于语言中典型的字符序列,用户可以尝试输入在字典中没有出现的“未列出”的字,这将使得未列出的字成为默认字,并提供字选择列表作为可选的建议。否则,它可以利用从字典中选择的高得分的字作为默认字。
举例来说,如果用户清楚地敲出字母“播客”,消歧模块可以保持“播客”作为默认字,尽管事实上它可能不是在标准的英语字典中,因为字符序列(“po”、“ca”和“st”等的组合)在英语语言中是常见的。另一方面,如果用户清楚地敲出字母“Pfsx”,消歧模块可以假设用户拼写错误(或马虎地输入),而不会选择“pfsx”作为默认自,因为“pf”、“fs”和“sx”都是英语语言中不常见的。相反,消歧模块将选择在块905-940中发现的具有高匹配分数的字典中的字。
要做出此决定,首先消歧模块可通过为输入序列中每一个有意特征(例如,敲击)选择具有最好的接近分数的相关字符来生成“笔顺”。接下来,消歧模块可通过使用词汇模块624中的表格或数据库评估笔顺的组成,词汇模块624提供给定语言(或字的其它逻辑组)中的各种字符序列(双字母组字符,3-字母组、4-字母组...n-字母组等)的概率或频率以获得的组成分数。组成分数可以是双字母组/等的各种概率/频率的产物,或各种概率/频率的另一种高阶函数。如果该组成分数超过阈值,消歧模块可以使用笔顺作为默认字。在一些实施例中,笔顺可以使用输入序列中的不同的子集(例如,仅是敲击特征,而不是角)定义。
在块950中,字选择列表被输出给用户,例如,通过在显示器上或以其他方式的字选择列表区域。可选地,字选择列表和/或可能会提供给另一个程序(例如,一个应用程序)的默认字并不需要用户干预进行字的选择。
图9B示出了合适的用于使用匹配指标计算字的匹配分数的过程990。任何匹配指标或算法可以被用来生成匹配分数,并且所公开的技术并不限定于以下描述的那些特定例子。
过程990开始于块972,当字子模块设置字的匹配分数为默认分数时,其可以是1的统一值。字中的每个字符的循环稍后会开始,如在块974中所示。在块975中,字子模块检索字符集和相关的接近权重集,其对应于输入序列中的下一有意输入特征,或者如果这是字符循环的第一次重复,输入序列中的第一个有意的输入特征。例如,字子模块检索字符集和与输入序列中的下一个敲击或角特征相关联的接近权重。
在块976中,字子模块为字符标识接近权重。要做到这一点,子模块确定字符是否出现在检索到的字符集中,如果是,它使用检索到的与字符相关的接近权重。否则,如果该字符不显示在检索到的字符集中,子模块可以使用由消歧模块指定的默认接近权重(例如,低权重),通过返回默认的匹配分数(例如,零分或其他默认的匹配分数)终止循环974,或结束过程990。
在块978中,字子模块调整匹配分数以反映所字符的所识别的接近权重。在一个例子中,子模块通过将匹配分数乘以检索到的接近权重以调整匹配分数。但是,匹配分数可以以任何方式进行调整以反映检索到的匹配分数。例如,以前的匹配分数和检索到的接近权重可以通过任何合适的函数,包括简单的加法、加权求和、乘法、除法和高阶函数等进行结合。
在判定块979中,字子模块测试是否有字中的任何字符等待处理,以及在输入序列中是否存在更多的有意特征。如果两个条件都满足,字符循环在块975重复开始。否则过程进行到块980。
在块980中,字子模块调整匹配分数以反映环境数据和/或语言数据(例如,使用频率)。在一个实施例中,字子模块通过使用频率调整匹配分数。作为另一示例,字子模块可能会基于环境数据增加匹配分数,例如,匹配分数可以增加,如果用户已经使用在数据字段的相同类型和/或相同的应用程序中的相同的字。作为又一示例,如果周围的句子环境(例如,由用户输入的先前字),表明这个字或多或少有可能,则匹配分数可以向上或向下调整。这些实施例并不意图穷举所有可能。之前的匹配分数可以任何合适的方式(例如,通过高阶函数)进行调整,该方式反映环境和/或使用频率如何增加或减少该字是用户意图输入的字的可能性。
在块982中,通过利用已知的编辑距离技术,字子模块确定的所需编辑以匹配字符序列,该字符序列被反映在输入序列中的有意中。例如,字子模块可确定哪些字符需要被添加到字,或哪些字符需要被从字中删除,从而其将匹配字符序列,该字符序列被反映在有意特征的序列中。
当确定所需编辑的类型时,字子模块可能只尝试将字的第一部分与输入序列中的有意特征进行匹配。例如,字子模块可能忽略字中的第L个字符以后发生的任何不匹配,其中L是估计的输入长度。字子模块截止点可替代地选择为L-1、L+2、L+3等。以这种方式,字子模块改进字符,具有良好的初始匹配至用户初始输入的较长字将被返回。
在块984中,对于每个所需的编辑,字子模块基于估计的输入长度和输入序列,包括反映在输入序列中的特征类型和接近权重,确定编辑罚分。如在此所用,“低罚分”是1,即低于由类似编辑的标准编辑成本函数评估的标准或默认罚分。
作为第一个例子,字子模块可为字的第一部分之后所需的字符改变指定零或低罚分。例如,对字中第L的位置之后的所需字符改变的评估,有可能没有罚分或低罚分。这种技术同样提高具有良好的初始匹配至用户初始输入的较长字将被返回的机会。
作为第二个例子,字子模块可为字符添加或删除分配零或低罚分,该字符添加或删除包括由完整输入序列反映的字符,包括有意和附带特征。例如,如果字与有意特征的输入序列之间的唯一区别是缺少在第三和第四个有意特征之间的“E”,字子模块可以分配一个零或低罚分,如果“E”字符出现在字符集中,该字符集与附带特征(例如,段)相关联,该附带特征落在输入序列中的第三和第四个有意特征之间。在一些实施例中,评估的罚分可能是与缺少字符相关联的接近权重的函数。为了说明,回到前面的例子中,如果提供缺少的“E”的段特征通过E键(即,E字符的接近权重接近其最大可能值)的中心直接分割,评估的罚分可能低于如果段进一步远离E键运行。在这种情况下,通过减少或消除编辑罚分,字子模块允许用户通过跟踪字母来简单地表明她的选择。
作为第三个例子,字子模块为字符添加或删除分配零或低罚分,该字符添加或删除由重复字符或重复按键所造成。换种方式来说,如果字将匹配输入序列,则没有惩罚或没有更低的被评估的罚分,只要一个或更多的输入特征(一次或更多次)在序列内重复。在这些情况下,通过减少或消除编辑罚分,字子模块允许用户表明她的字选择,以减少的输入特征数目重复的字符或重复按键。如果低罚分被评估,它可能是需要被重复(例如,有意与附带)的输入特征类型、要被重复的每个特征的次数和/或与重复输入特征关联的接近指标的函数。举例说明,如果这个字是“WEED”,在字和输入序列之间的唯一的区别是在第二和第三个有意特征之间缺少第二个“E”,字子模块可分配零或低罚分。
作为第四个例子,字列表选择子模块可为字符改变分配零或低罚分,字符改变反映标点符号和/或类似符号的添加或删除。
在块986中,字子模块调整匹配成本以反映任何计算的罚分。在某些情况下,是从匹配分数中减去罚分。然而,在其他实施例中,高阶调整可能会被利用。然后返回程序990。
IV.安全系统的应用程序
根据公开技术的另一个方面,密码或其他文本输入系统和方法中被提供,其允许用户利用熟悉的QWERTY键盘(或其他常见的键盘布局)。
通过向用户提供优选为9或其他定义区域的适当数字,密码或其他文本输入被实现,以特定键为主的每一个都作为区域输出键。当用户从特定区域中选择一个键时,所选择的区域的区域输出键视为已被选择。因此,虽然用户能够以标准方式在标准键盘上输入密码,根据区域定义,区域输出键的序列将被输出表示输入密码的代表。当生成对应于输入密码的输出键的序列时,如果接收设备知道使用的区域定义,则接收设备是能够破译的输出键的序列以确定是否已经输入了正确的密码。
可能有多个区域定义。因此,通过发送区域定义标识符和区域输出键的序列,接收设备在保持密码安全的同时可正确地解释传输,该接收设备知道的多个区域定义和与其相关联的标识符。
此外,区域定义不一定需要包括彼此邻接的键。通过定义非连续的区域,用户必须在按键输入中更准确,但是黑客或其他盗窃犯在破环密码方面的难度可能大大增加,以及可能有用的区域定义的数目同样大大增加。
此外,字符可以使用操纵杆上的定向输入、4或8个定向键(如电视机遥控器、电话和移动电话上发现的键)、在这样的遥控器或其它可用的数字键盘上的数字键的各种组合、或这样的遥控器或其它设备的指向功能,如或其它输入笔一样的输入装置、身体运动输入解决方案,等等被输入,而不是只使用标准键盘用于密码字符的文本输入。当使用这种非传统的输入装置时,用户可以在被输入的所需键的方向上移动操纵杆或其他装置。当执行这个运动时,选择器在相邻的键区域之间移动而不是在键之间移动,所有的被包含于区域中的键将被选择,并且与该区域相关联的区域输出键可以进一步被划定。因此,当键期望被选择时,操纵杆或类似物可被用来移动到包含所需键的区域。选择这样的区域,相关的区域输出键可作为字符输出序列的一部分。通过示例的方式,如果用户希望选择字母“R”作为密码的一部分,移动到一个包含的字母R、T、、U和I的区域,并使用Y作为区域输出键,选择这样一个区域使字母“Y”作为输出流的一部分输出。除了提供编码的密码传输,用户只需要在区域数字之间选择,而不用像选择每个单独键那样精确,因此,在特定的区域中的任何键的选择将导致相同的区域输出键被作为密码数据流的一部分输出。
公开技术也适用于任何键盘配置以及语言和任何其他的符号分组。进一步地,分配给输入装置的区域对于用户无需是可见的,可以是只将要发送的数据在背景中进行加密。
首先参照图10,根据公开技术显示了第一实施例。在图10中,通常被指定为1000的键盘,设置有多个键1110。在所示的实施例中,26个字母的QWERTY键盘被显示。本领域的普通技术人员应当理解,其他的键盘配置是可用的,包括但并不限于26个英文字母的其它布置、用于其它语言中的任何其它字符集的布置、数字/或字母任何组合、或任何类型符号的任何其它所需的组合。这些键1110的预定数目也被指定为区域输出键1120。在所示实施例中,有9个这样的区域输出键,虽然可以采用任何所需的数字。每个区域输出键1120是与包括一个或多个与其相关联的字母键的区域相关联的。如进一步在图10中通过示例方式所示,指定为120a的“E”键代表一个区域的区域输出键,该区域包括“E”键,以及其它的字母键“Q”、“W”、“R”、“T”,共同被指定为1110a。因此,任何时候用户感兴趣选择此区域中五个键(1110a或1120a)的任何一个,区域输出键“E”将是被选择的输出键以包括表示所选择的密码或其他文本的输出数据流的一部分。虽然预计每个区输出键可以与键1110的预定义的、独特的集合相关联,具有区域重叠也将是可能的,并且的确包括在一个或多个区域中的一个或多个键1110。
此外,虽然可以设想所有的可用的符号键,在这种情况下,字母被包括在至少一个区域之内,事实并非如此。事实上,任何特定的一个或多个键被单独留下,要求直接的用户选择。这样的结构对很少使用的键或具有特殊意义的键可能是可取的。
从关于图10的描述中可以理解,用户体验被放松为在选择键输入时,用户不需要准确,其实只是有,在这个特定的所示的实施例中,从不同于更传统的26个字母中进行选择的九个区域。在如图10所示的特定实施例中,用户界面可能利用具有8个定向运动的操纵杆,和中心起始位置,每一个可用的位置相对应与区域输出。可选地,也可以采用具有9数字键盘的遥控器或其它的设备,每个数字对应于区域输出键的一个。当然,也可以采用包括具有较少定向运动的操纵杆或具有更大的、同样的或更小的自由度的轨迹球的其他的结构,从而允许用户在区域之间定向移动。虽然需要较少的硬件和学习,但当从一个区域到远程地位于输入键盘上的另一个区域移动时,这样的结构可能需要两个或更多的跳跃,因为运动可能仅限于相邻区域之间的跳跃。可选地,有可能提供一种方案,其中,在每个字母输入后,光标或其他指针返回到“起始”或其他指定的区域或位置。此特征有其优点和缺点,为每一个文本输入提供一个已知的起点,但对双字母需要多个动作,等等。
当采用如上所述的8方向操纵杆时,用户可以通过操纵杆的运动在区域之间移动。两个或更多的方案是可能的。在第一个方案中,控制器的有效运动可以是下、左、右、右上、左上、右下、左下。这八个不同的运动可以让用户在键盘上的区域输出键之间快速移动,从一个区域移到另一个区域。相似方案可采用具有功能较少的4方向操纵杆。然而,没有可用的对角线运动,从一个区域移动到另一个区域可能需要更多的跳跃。在第二方案中,八个方向键的每一个和中央的“空档”位置可能与区域相对应,允许用户直接访问区域,而无需从一个区域穿到另一个区域。可选地,例如,当9键数字键盘被提供时,每个数字可对应于一个特定的区域。
虽然对这些键而言最常见的选择是根据相应的位置将其分配给各个区域,在公开技术的可选实施例中,可能以任何连续的或者非连续的方式去配置区域,因为区域的位置将可能不会影响用户体验。如果用户实际上是输入密码键,而不是简单地选择区域中的一个,但可用的多个区域配置将协助保护输入的密码的安全性。在任何一种输入情况下,区域对用户而言没有必要是可见的。相反,可以提示用户在键盘上如常地输入密码。背景程序可以分配区域定义(如将在下面所述)并准备数据输出流进行传输。
接下来参照图11,根据公开技术的实施例中所用的步骤将被进行描述。首先,在步骤1210中,区域定义必须被确定。因此,在键盘的键被分配给预定数量的区域。这些区可以是连续的或非连续的。除了附图10,可以在附图15(见区域1610a-d)和16中可见不同的可能的区域配置的例子。应当指出,例如,如图15中所示的四个区域的使用将导致用户更简单的输入体验,因为他们将只需要在四个区域之间选择。但是,该系统可能要求在这样的情况下使用更长的密码,以使得不同的密码可能会更容易生成区域输出键的不同序列。当然,也可以采用其他配置。根据所公开的技术,多个这样的区域配置可能被定义,并且因此在步骤1210中的装置可以从一个预定义区域布局定义中选择。
一旦区域定义已被选择,用户可以开始输入包含密码的字符。这样的输入字符被在步骤1215中接收。在步骤1220中,与包含由用户选择的键的区域相关联的区域输出键被定义为与输入字符相关联的输出字符。然后此输出字符被作为第一个字符提供至最终输出数据流以进行发送。然后程序进行至步骤1225,其中查询是否所有的输入字符已被收到。如果该查询的回答是否定的,并因此被确定不是所有的所需的输入字符已被收到,控制返回到步骤1215并且接收下一个输入字符。
然而,如果在步骤1225的查询的回答是肯定的,并且因此确定所有所需的输入字符已被接收,则稍后控制进行到步骤1230,其中所使用的区定义和生成的代表输入的密码的输出数据流被发送到接收设备。然后,程序在步骤1235结束。虽然实施例描述了伴随输出数据流一起发送区域布局定义,但这样的区域的布局定义可能被分开发送。可以设想这样的区域布局定义优选地不包括完整的区域列表,而是一个区域定义指示器,从而允许接收设备从多个预定义区域布局定义中的一个进行选择。以这样的方式,只发送这样的毫无意义的指标,从而不会泄露区域布局并增加了系统的安全性。另外,没有区域定义被发送是可能的,以及发送和接收设备是同步的并且以预定的方式的预定通过预定义数量的区域布局定义简单地循环。另外,有可能使用任何其他的指示器或类似物以输入方程、算法或诸如此类的以从多个区域布局定义中进行选择,只要发送和接收设备都能够处理相同的算法,为密码的生成和解释使用相同的区域布局定义。
接下来参照附图12,接收设备首先接收所发送的区域布局定义(或使用如上所述的方法,以确定正确的区域布局定义进行采用)。然后,程序进入到步骤1315,其中接收设备接收所发送的数据流中的第一个字符,包括表示输入密码的输出数据流。然后,接收到的字符与区域的区域输出键相比较,区域包含一预期的密码字符。在步骤1325中,如果确定这些字符不匹配,则程序结束于步骤1340。如果确定这些字符匹配,则程序进入到步骤1330,在步骤1330中确定是否所有的密码字符已被接收。如果所有的密码的字符没有被接收,程序返回至步骤1315以接收下一个密码字符。
如果在步骤1330中确定所有的密码的字符已被接收,则程序进入到步骤1335,其中系统可以识别一个有效的密码被输入,并且用户被如此通知。然后程序在步骤1340结束。因此,按照显示在图11和图12中的图表,发送设备和接收设备的系统可以确认从一个到另一个的用户的密码且无需实际上发送每个实际的密码字符,从而保持该密码的安全性。
在公开技术的另一个实施例中,提供两个连续的区域定义是可能的,其以一种方式将键盘进行划分,使得基于由用户两次输入口令后,考虑到在接收端所选键的特定通知,系统为两个不同的区域发送区域指示,即使键本身。例如,如果字母“A”首先与区域1相关联,然后在第二个区域定义中是之前在区域1中的唯一一个字母,其现在与区域4相关联,在两个连续密码输入中的第一个字母的Z1、Z4序列会导致字母“A”的有保证的测定,即使这个字母从未被发送。因此,通过用户的该密码方案的多次重复,可以实现更高的精确度。
图13示出了采用传统9键键盘的公开技术的一个实施例。如图13所示,区域的输出键1120、1120a被示出,以及与其相关联的110a,与图10中所示的显示相类似。此外,键配置1410被显示,例如,其可能被包括在传统的遥控器、电话、或类似物之上,因此表示每个键1415映射至区域输出键1120、1120中的一个。这样的映射可以由连接引出线1420、颜色、形状或任何其它所需的关系指标所指示。因此,如果定义多个区域,用户可以通过选择与该区域相关联的数字键,使用这样的键盘输入密码,该区域包括在密码中的所需字符的每一个。
在公开技术的一个额外的实施例中,采用指示设备是有可能的,例如与如控制器一起使用的遥控器,身体运动检测以确定用户输入或类似的,而不是如上所述在远程设备作出指示以进行区域选择。因此,作为用户指向,在显示的虚拟键盘上的这样的控制器,或以其他方式指示区域选择,由所述控制器指定的区域被加亮显示或以其他方式表示为被指定。通过按下遥控器上的一个指示器,或通过其他的本领域普通技术人员已知的方法,用户可以选择这样的区域。根据公开技术的区域使用在这种情况下是特别有用的,在这样的配置中,可能难以选择每个单独的键。精度可能是困难的。然而,根据公开的技术,用户只需要在,例如,九个区的一个之间进行选择,从而使这种选择能力对用户而言更容易。因此,用户很可能会以更快、更容易地方式通过字符选择进行移动。
如图14A和14B所示,利用这样的指示器设备可以容易地选择所希望的区域。图14A示出了区域1510的选择,如在图10中选择的一样。在图14B中,区域1520、先前选定的区域的右侧的两个区域被指定和选择。用户能够简单地通过重定向指向设备做出这样的指定和选择。优选地,指示器530保持在显示屏上以帮助定位指向设备的当前位置。
除了提供从一个显示区域移动到另一个显示区域的远程指向设备的视觉指示,在公开技术的一个可选实施例中,触觉或其它触觉响应还能被提供给用户以提供移动和选择的额外的、非视觉的指示。因此,作为用户移动指向移动设备以指定一个第二区域,振动或其他非言语指示器可以提供给用户。因此,如果如在图14A和14B之间的移动,用户移动指向两个区域,这样的触觉响应可以被两次提供给用户,每次在区域之间的边界是交叉的。这样的触觉响应,也可以被调整,从而为不同的区域提供不同的响应。因此,每个区域可以具有不同的触感标记,或由解析算法确定的区域是在下一选择中最可能被选择的区域,可以提供不同于其他区域的触觉指示器。区域可以以任何其他方式包括这样的触觉指示器被区分。
再次参照图10,当在用户界面上选择了在特定区域中的一个字符时,左侧和右侧和/或上方和下方的预定数量的相邻键与所选的键一起被突出显示,从而构成与区域输出键相关联的区域。这个突出显示让用户知道该区域已被选择。优选地,与所指定的区域相关联的区域输出键进一步划定为将成为输出数据流的一部分的键。正如上文所指出的,如果区域不被显示给用户,那么特定键的选择将导致在显示中没有变化,即使在背景中的区域输出键正在基于输入区域被输出,如上所述。
如上所述,所显示的虚拟键盘代表一个完整的QWERTY键盘,但可以包括任何其他所需的配置。区域输出键最好是在键盘上用不同的颜色突出显示,或使用一些其他的显著特征指定。当输入设备被用于去到一个对应于特定区域输出键的区域时,在该区域的其它字符被优选地突出显示以提供给用户在字母集上的视觉反馈,该字母集与特定区域选择组合在一起。
虽然已经描述了与密码传输有关的公开技术,公开的技术的特征可被应用到更长的加密数据传输中。
结论
除非上下文清楚地要求,否则遍及说明书和权利要求书中,“包括”,“包含”等应被解释为包含的意思,而不是排他或详尽的意思;也就是说,“包括,但不限于”的意思。如本文所用,术语“连接”、“耦合”或其任何变体指的是任何连接或耦合,直接或间接的,两个或多个元素之间的;元素之间的耦合或连接可以是物理的、逻辑的或它们的组合。另外,“在此”、“以上”、“以下”和类似含义的词语,在本申请中使用时,请将本申请作为整体参考,而不是参考本申请中任何特定的部分。在文意许可的情况下,在上面详细说明中的字使用单数或复数的数字还可能分别包括复数或单数。有关两个或更多个项目的列表的字“或”,覆盖字的所有的如下的解释:任何该列表中的项目,在列表中的所有项目,和列表中的项目的任意组合。
公开的技术的例子的上述详细说明,并不意图以上述公开的精确形式穷举或限制所揭示的技术。虽然上述公开技术的具体例子是为了说明的目的,但相关领域中的技术人员将认识到公开技术范围内的各种等同修改是可能。例如,尽管程序或块是以给定的顺序呈现,但替代实施例可以以不同的顺序执行具有步骤的例程,或采用具有块的系统,并且一些程序或块可以被删除、移动、添加、细分、组合和/或修改,以提供可供选择的或子组合。这些程序或块中的每一个可以以各种不同的方式实施。并且,尽管程序或块有时示出为正在被连续地执行,这些程序或块可选地被并行执行或实施,或者可以在不同的时间被执行。另外,文中提到的任何具体的数字仅仅是示例:可选实施例可以采用不同的值或范围。
本文中所提供的公开技术的教导可以应用到其它系统中,不一定是上面所描述的系统。上述的各种实施例的元素和行为可以被组合以提供进一步的公开技术的实施例。一些公开技术的可选实施例中,不仅可以包括上面提到的那些实施例的额外元素,也可包括更少的元件。
任何专利和和申请和上面提到的其他参考文献,包括任何可能会列在所附提交文件,通过引用的方式被合并于此。公开技术的各方面可以被修改,如果有必要,采用如上所述的各种参考文献的系统、功能和概念以提供公开技术的进一步实施例。
公开技术的这些和其他的变化可以根据上述详细说明被作出。虽然上述说明描述了公开技术的某些实施例,并描述了设想的最佳模式,但无论文本中上述内容多么详细,公开的技术可以以许多方式被实行。系统的细节在其具体的实施例中可能有很大的不同,同时仍被本文所揭露的公开技术所包含。如上所述,在描述公开技术的某些特征或方面时使用的特定术语,不应视为暗示该术语被重新在此进行定义为限制到任何特定特性、特征或与该术语相关联的公开技术的各个方面。在一般情况下,在下面的权利要求中所使用的术语不应该被解释为限制公开的技术为在说明书中所公开的特定实施例,除非上述详细说明部分明确定义了这种术语。
Claims (50)
1.一种用于数据输入的方法,包括以下步骤:
接收包括用户微手势的第一用户输入,所述用户微手势至少指示了表示少于完整字的第一输入选择和第二输入选择;
根据所述第一用户输入确定一个或多个可能的字建议;以及
向所述用户提供所述可能的字建议。
2.如权利要求1所述的方法,进一步包括确定在从所述第一输入选择至所述第二输入选择的手势中是否存在弯曲的步骤。
3.如权利要求2所述的方法,进一步包括确定所述用户所意图的中间输入选择,如果确定弯曲是在所述手势中。
4.如权利要求1所述的方法,进一步包括确定来自所述第一输入选择的所述用户输入的运动的方向的步骤。
5.如权利要求4所述的方法,进一步包括至少部分地根据用户运动的所述被确定的方向确定所述用户所意图的中间输入选择。
6.如权利要求1所述的方法,其中所述第一用户输入被在移动设备的触摸屏键盘上接收。
7.如权利要求1所述的方法,所述第一用户输入被在计算设备的触摸屏键盘上接收。
8.如权利要求1所述的方法,其中所述第一用户输入在电视机顶盒被接收,且其中所述第一用户输入系采用远程控制指示器被作出。
9.一种用于数据输入的方法,包括以下步骤:
接收包括用户微手势的第一用户输入,所述用户微手势至少指示了表示少于完整字的第一输入选择和第二输入选择;
根据所述第一用户输入确定一个或多个可能的字建议;
向所述用户提供所述可能的字建议;
接收包括用户微手势的第二用户输入,所述用户微手势至少指示第三输入选择和第四输入选择;
根据所述第一用户输入和所述第二用户输入确定一个或多个可能的字建议;以及
向所述用户提供所述可能的字建议。
10.一种计算机系统,包括:
用于存储程序指令的存储器;
处理器电子设备,配置为执行指令以执行数据输入的方法,通过:
接收包括用户微手势的第一用户输入,所述用户微手势至少指示了表示少于完整字的第一输入选择和第二输入选择;
根据所述第一用户输入确定一个或多个可能的字建议;以及
向所述用户提供所述可能的字建议。
11.一种用于远程计算设备数据输入的方法,包括步骤:
将远程计算设备的输入选择设备划分成多个区域,每个区域包括一个或多个键;
接收按顺序选定区域的用户指示序列;
考虑所有的与已被选择的所述选定区域的每一个相关联的一个或多个键;
发送所述按顺序选定一个或多个键的序列至远程数据库存储位置;
根据选定键的序列输入所述按顺序选定的一个或多个键的序列至算法,用于确定预期的用户字或词输入;
发生所述确定的预期的用户字或词至所述远程计算设备;以及
接收一个所述预期的用户字或词的选择的用户指示。
12.如权利要求11所述的方法,进一步包括根据用于确定所意图的用户字或词的算法,考虑所述远程计算设备的一个或多个特性。
13.如权利要求12所述的方法,其中所述一个或多个特性包括采用所述远程计算设备的用户标识。
14.如权利要求12所述的方法,其中根据所述远程计算设备的用户,所述一个或多个特性包括以往文本输入选择的指示。
15.如权利要求14所述的方法,其中按照所述算法,在最近作出的文本输入选择比在较早以前所作的文本输入选择具有更大权重。
16.如权利要求12所述的方法,其中所述一个或多个特性包括所述远程计算设备的用户相关联的组。
17.如权利要求16所述的方法,其中根据所述组,所述一个或多个特性进一步包括以往文本输入选择的指示。
18.如权利要求14所述的方法,其中按照所述算法,在最近及经常作出的文本输入选择比在较早以前以及不常所作的文本输入选择具有更大权重。
19.一种计算机系统,包括:
用于存储程序指令的存储器;
处理器电子设备,配置为执行所述程序指令以执行所述远程计算设备数据输入的方法,通过:
将远程计算设备的输入选择设备划分成多个区域,每个区域包括一个或多个键;
接收按顺序选定区域的用户指示序列;
考虑所有的与已被选择的所述选定区域的每一个相关联的一个或多个键;
发送所述按顺序选定一个或多个键的序列至远程数据库存储位置;
根据选定键的序列输入所述按顺序选定的一个或多个键的序列至算法,用于确定所意图的用户字或词输入;
发生所述确定的所意图的用户字或词至所述远程计算设备;以及
接收一个所述所意图的用户字或词的选择的用户指示。
20.一种用于数据传输的方法,包括步骤:
将输入选择设备划分成多个区域,每个区域包括两个或多个与至少一个区域输出键相对应的输入键,;
接收多个输入,每个输入被与所述多个区域中的一个中的一个键的所述选择相关联;以及
输出多个与所述多个接收的输入的每一个相对应的区域输出键。
21.如权利要求20所述的方法,其中所述多个输入字符包括密码。
22.如权利要求20所述的方法,其中所述多个区域的所述配置包括区域定义。
23.如权利要求20所述的方法,其中所述区域定义与所述区域输出键一起被输出。
24.一种用于数据传输的方法,包括步骤:
定义多个区域布局定义,每一个区域布局定义由区域定义标识符识别,每一个区域定义将输入选择设备划分为多个区域,每一个区域包括一个与此相关的输出键;
选择一个所述区域布局定义;
接收多个输入字符,每一个输入字符被与所述多个区域中的至少一个相关联,所述多个区域由所述选定的区域布局定义进行定义;以及
根据所述选定区域布局定义,包括被包括在每一个区域中区域输出键,所述区域与被定义的所述多个输入字符的每一个相关联。
25.如权利要求24所述的方法,进一步包括为所述选定区域布局定义输入所述区域定义标识符的步骤。
26.如权利要求25所述的方法,进一步包括发送所述区域定义标识符和区域输出键序列到接收设备的步骤。
27.如权利要求26所述的方法,进一步包括以下步骤:
在接收设备处接收所述发送的区域定义标识符和区域输出键序列;
对多个区域布局定义中预定的一个应用字符的预定义序列以确定区域输出键的预期序列,所述多个区域布局定义与所述被发送的区域定义标识符相关联,所述区域输出键的预期序列与所述被发送的区域输出键序列相关联;以及
比较所述被发送的区域输出键序列和所述区域输出键的预期序列以确定其间的匹配。
28.如权利要求27所述的方法,其中如果所述被发送的区域输出键序列与所述区域输出键的预期序列匹配,则密码被接受。
29.一种用于数据传输的方法,包括以下步骤:
定义多个区域布局定义,每一个区域定义将输入选择设备划分为多个区域,每一个区域包括一个与此相关的输出键;
根据预定的选择方法,选择一个所述区域布局定义;
接收多个输入字符,每一个输入字符被与所述多个区域中的至少一个相关联,所述多个区域由所述选定的区域布局定义进行定义;以及
根据所述选定区域布局定义,输出区域输出键序列至接收设备,所述区域输出键序列包括被包括在每一个区域中区域输出键,所述区域与被定义的所述多个输入字符的每一个相关联。
在接收设备处接收所述区域输出键的输出序列;
根据预定的选择方法,选择所述一个的所述区域布局定义;
对多个区域布局定义中预定的一个应用字符的预定义序列以确定区域输出键的预期序列,所述多个区域布局定义与所述被发送的区域定义标识符相关联,所述区域输出键的预期序列与所述被发送的区域输出键序列相关联;以及
比较所述区域输出键的输出序列和所述区域输出键的预期序列以确定其间的匹配。
30.如权利要求29所述的方法,其中所述区域布局定义通过定序预定数量的区域定义被选择。
31.如权利要求29所述的方法,其中所述区域的布局定义被一个或多个预定系数的预定算法的应用程序所选择。
32.如权利要求29所述的方法,其中在区域布局定义中的每个区域包括连续的一组键。
33.如权利要求29所述的方法,其中在区域布局定义中的至少一个区域包括非连续键。
34.如权利要求29所述的方法,其中,根据在区域中的一个键选择,与区域相关联的所有键被表示为被选择。
35.如权利要求29所述的方法,其中包括特定选定的输入键的与区域相关联的所述区域输出键不同于区域中的其它键被表示。
36.如权利要求29所述的方法,其中所述区域从QWERTY键盘布局被定义。
37.如权利要求29所述的方法,其中至少一个键与多个区域相关联。
38.如权利要求29所述的方法,其中如果所述区域输出键的输出序列与所述区域输出键的预期序列匹配,则密码被接受。
39.如权利要求29所述的方法,其中用户被通知所述接受的密码。
40.一种计算机系统,包括:
存储器,配置为存储程序指令的序列;
处理器电子设备,配置为执行所述程序指令以执行数据传输的方法,通过:
将输入选择设备划分成多个区域,每个区域包括两个或多个与至少一个区域输出键相对应的输入键,;
接收多个输入,每个输入被与所述多个区域中的一个中的一个键的所述选择相关联;
输出多个与所述多个接收的输入的每一个相对应的区域输出键。
41.一种计算机系统,包括:
存储器,配置为存储程序指令;
处理器电子设备,配置为执行所述程序指令以执行接收来自用户的文本输入的方法,通过:
接收来自两个或多个不同方式中的用户的输入,其中所述输入指示要输入的文本;
分析在所述两个或多个模式的每一个中的所述输入,以确定对应于所述要输入的文本的一个或多个字选择;
使用从所述两个或多个模式的每一个中确定的所述字选择以选择对应于所述要输入的文本的字。
42.如权利要求41所述的计算机系统,其中所述指令可由处理器电子设备执行用以为用户呈现从所述两个或多个模式的每一个中确定的所述字选择,从而选择对应于所述要输入的文本的字。
43.如权利要求41所述的计算机系统,其中计算机包括键盘和麦克风,并且其中通过在键盘上的输入以及通过由麦克风接收到的音频输入,所述指令可由处理器执行以接收来自用户的输入。
44.如权利要求41所述的计算机系统,其中所述计算机包括触觉输入和麦克风,并且其中通过触觉输入上的输入以及通过由麦克风接收到的音频输入,所述指令可由处理器是执行以接收来自用户的输入。
45.如权利要求41所述的计算机系统,其中所述存储器存储键盘上的输入的映射至文本。
46.如权利要求41所述的计算机系统,其中所述存储器存储字的数据库,其有可能对应于由所述用户输入的文本,其中所述数据库记录所述数据库中的字每隔多长时间由所述用户进行选择。
47.如权利要求41所述的计算机系统,其中所述存储器存储字的数据库,其有可能对应于由所述用户输入的文本,其中所述数据库记录最近由所述用户选择的所述数据库中的字。
48.如权利要求41所述的计算机系统,其中所述指令使所述处理器确定由所述用户所采取的最近行动并选择对应于由所述用户采取的所述最近行动的字。
49.如权利要求48所述的计算机系统,其中由所述用户采取的所述最近行动包括一个或多个的:使用的程序、查看的文件、访问的互联网站以及体验的音频/视频内容。
50.如权利要求41所述的计算机系统,其中所述指令使所述处理器确定所述用户的位置并选择对应于所述用户的所述位置的字。
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US31345410P | 2010-03-12 | 2010-03-12 | |
US31342310P | 2010-03-12 | 2010-03-12 | |
US61/313,454 | 2010-03-12 | ||
US61/313,423 | 2010-03-12 | ||
US31386410P | 2010-03-15 | 2010-03-15 | |
US61/313,864 | 2010-03-15 | ||
US31679910P | 2010-03-23 | 2010-03-23 | |
US61/316,799 | 2010-03-23 | ||
PCT/US2011/028387 WO2011113057A1 (en) | 2010-03-12 | 2011-03-14 | Multimodal text input system, such as for use with touch screens on mobile phones |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103038728A true CN103038728A (zh) | 2013-04-10 |
CN103038728B CN103038728B (zh) | 2016-01-20 |
Family
ID=44563890
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180023649.XA Active CN103038728B (zh) | 2010-03-12 | 2011-03-14 | 例如在移动电话上使用触摸屏的多模式文本输入系统 |
Country Status (6)
Country | Link |
---|---|
US (2) | US9104312B2 (zh) |
EP (1) | EP2545426A4 (zh) |
JP (2) | JP5642809B2 (zh) |
KR (2) | KR101477530B1 (zh) |
CN (1) | CN103038728B (zh) |
WO (1) | WO2011113057A1 (zh) |
Cited By (124)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104111789A (zh) * | 2013-04-17 | 2014-10-22 | 索尼公司 | 信息处理装置、信息处理方法以及程序 |
CN104123012A (zh) * | 2013-04-29 | 2014-10-29 | 谷歌公司 | 使用替代评分的非字典字符串的姿态键盘输入 |
CN105164616A (zh) * | 2013-04-16 | 2015-12-16 | 谷歌公司 | 一致文本建议输出 |
CN105872671A (zh) * | 2015-12-11 | 2016-08-17 | 乐视致新电子科技(天津)有限公司 | 智能电视的滑动输入方法及装置 |
US9454240B2 (en) | 2013-02-05 | 2016-09-27 | Google Inc. | Gesture keyboard input of non-dictionary character strings |
CN105988704A (zh) * | 2015-03-03 | 2016-10-05 | 上海触乐信息科技有限公司 | 高效的触摸屏文本输入系统及方法 |
CN106233240A (zh) * | 2014-02-28 | 2016-12-14 | 三星电子株式会社 | 交互式显示器上的文本输入 |
CN106249909A (zh) * | 2015-06-05 | 2016-12-21 | 苹果公司 | 语言输入校正 |
CN107683582A (zh) * | 2015-06-04 | 2018-02-09 | 微软技术许可有限责任公司 | 认证指示笔设备 |
CN108255290A (zh) * | 2016-12-29 | 2018-07-06 | 谷歌有限责任公司 | 移动装置上的模态学习 |
CN109542244A (zh) * | 2017-09-21 | 2019-03-29 | 北京搜狗科技发展有限公司 | 一种输入方法、装置和介质 |
US10311144B2 (en) | 2017-05-16 | 2019-06-04 | Apple Inc. | Emoji word sense disambiguation |
US10354652B2 (en) | 2015-12-02 | 2019-07-16 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
US10390213B2 (en) | 2014-09-30 | 2019-08-20 | Apple Inc. | Social reminders |
US10395654B2 (en) | 2017-05-11 | 2019-08-27 | Apple Inc. | Text normalization based on a data-driven learning network |
US10403283B1 (en) | 2018-06-01 | 2019-09-03 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
US10403278B2 (en) | 2017-05-16 | 2019-09-03 | Apple Inc. | Methods and systems for phonetic matching in digital assistant services |
US10417405B2 (en) | 2011-03-21 | 2019-09-17 | Apple Inc. | Device access using voice authentication |
US10417344B2 (en) | 2014-05-30 | 2019-09-17 | Apple Inc. | Exemplar-based natural language processing |
US10417266B2 (en) | 2017-05-09 | 2019-09-17 | Apple Inc. | Context-aware ranking of intelligent response suggestions |
US10423214B2 (en) | 2012-11-20 | 2019-09-24 | Samsung Electronics Company, Ltd | Delegating processing from wearable electronic device |
US10438595B2 (en) | 2014-09-30 | 2019-10-08 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
US10453443B2 (en) | 2014-09-30 | 2019-10-22 | Apple Inc. | Providing an indication of the suitability of speech recognition |
US10474753B2 (en) | 2016-09-07 | 2019-11-12 | Apple Inc. | Language identification using recurrent neural networks |
US10496705B1 (en) | 2018-06-03 | 2019-12-03 | Apple Inc. | Accelerated task performance |
US10497365B2 (en) | 2014-05-30 | 2019-12-03 | Apple Inc. | Multi-command single utterance input method |
US10529332B2 (en) | 2015-03-08 | 2020-01-07 | Apple Inc. | Virtual assistant activation |
US10553215B2 (en) | 2016-09-23 | 2020-02-04 | Apple Inc. | Intelligent automated assistant |
US10551928B2 (en) | 2012-11-20 | 2020-02-04 | Samsung Electronics Company, Ltd. | GUI transitions on wearable electronic device |
US10580409B2 (en) | 2016-06-11 | 2020-03-03 | Apple Inc. | Application integration with a digital assistant |
CN110888577A (zh) * | 2018-09-10 | 2020-03-17 | 百度在线网络技术(北京)有限公司 | 字符纠正方法、装置、设备以及存储介质 |
US10592604B2 (en) | 2018-03-12 | 2020-03-17 | Apple Inc. | Inverse text normalization for automatic speech recognition |
US10657966B2 (en) | 2014-05-30 | 2020-05-19 | Apple Inc. | Better resolution when referencing to concepts |
US10657961B2 (en) | 2013-06-08 | 2020-05-19 | Apple Inc. | Interpreting and acting upon commands that involve sharing information with remote devices |
US10681212B2 (en) | 2015-06-05 | 2020-06-09 | Apple Inc. | Virtual assistant aided communication with 3rd party service in a communication session |
US10684703B2 (en) | 2018-06-01 | 2020-06-16 | Apple Inc. | Attention aware virtual assistant dismissal |
US10692504B2 (en) | 2010-02-25 | 2020-06-23 | Apple Inc. | User profiling for voice input processing |
US10699717B2 (en) | 2014-05-30 | 2020-06-30 | Apple Inc. | Intelligent assistant for home automation |
US10714117B2 (en) | 2013-02-07 | 2020-07-14 | Apple Inc. | Voice trigger for a digital assistant |
US10726832B2 (en) | 2017-05-11 | 2020-07-28 | Apple Inc. | Maintaining privacy of personal information |
US10733375B2 (en) | 2018-01-31 | 2020-08-04 | Apple Inc. | Knowledge-based framework for improving natural language understanding |
US10733993B2 (en) | 2016-06-10 | 2020-08-04 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
US10741181B2 (en) | 2017-05-09 | 2020-08-11 | Apple Inc. | User interface for correcting recognition errors |
US10741185B2 (en) | 2010-01-18 | 2020-08-11 | Apple Inc. | Intelligent automated assistant |
US10748546B2 (en) | 2017-05-16 | 2020-08-18 | Apple Inc. | Digital assistant services based on device capabilities |
CN111566609A (zh) * | 2018-01-12 | 2020-08-21 | 微软技术许可有限责任公司 | 基于具有可变时间和/或压力图案的用户输入的具有可变显示输出的计算机设备 |
US10769385B2 (en) | 2013-06-09 | 2020-09-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
US10789959B2 (en) | 2018-03-02 | 2020-09-29 | Apple Inc. | Training speaker recognition models for digital assistants |
US10818288B2 (en) | 2018-03-26 | 2020-10-27 | Apple Inc. | Natural assistant interaction |
US10839159B2 (en) | 2018-09-28 | 2020-11-17 | Apple Inc. | Named entity normalization in a spoken dialog system |
US10892996B2 (en) | 2018-06-01 | 2021-01-12 | Apple Inc. | Variable latency device coordination |
US10909331B2 (en) | 2018-03-30 | 2021-02-02 | Apple Inc. | Implicit identification of translation payload with neural machine translation |
US10909171B2 (en) | 2017-05-16 | 2021-02-02 | Apple Inc. | Intelligent automated assistant for media exploration |
US10928918B2 (en) | 2018-05-07 | 2021-02-23 | Apple Inc. | Raise to speak |
US10930282B2 (en) | 2015-03-08 | 2021-02-23 | Apple Inc. | Competing devices responding to voice triggers |
US10942702B2 (en) | 2016-06-11 | 2021-03-09 | Apple Inc. | Intelligent device arbitration and control |
US10942703B2 (en) | 2015-12-23 | 2021-03-09 | Apple Inc. | Proactive assistance based on dialog communication between devices |
US10956666B2 (en) | 2015-11-09 | 2021-03-23 | Apple Inc. | Unconventional virtual assistant interactions |
US10984780B2 (en) | 2018-05-21 | 2021-04-20 | Apple Inc. | Global semantic word embeddings using bi-directional recurrent neural networks |
US11010561B2 (en) | 2018-09-27 | 2021-05-18 | Apple Inc. | Sentiment prediction from textual data |
US11010127B2 (en) | 2015-06-29 | 2021-05-18 | Apple Inc. | Virtual assistant for media playback |
US11048473B2 (en) | 2013-06-09 | 2021-06-29 | Apple Inc. | Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant |
US11069347B2 (en) | 2016-06-08 | 2021-07-20 | Apple Inc. | Intelligent automated assistant for media exploration |
US11069336B2 (en) | 2012-03-02 | 2021-07-20 | Apple Inc. | Systems and methods for name pronunciation |
US11070949B2 (en) | 2015-05-27 | 2021-07-20 | Apple Inc. | Systems and methods for proactively identifying and surfacing relevant content on an electronic device with a touch-sensitive display |
CN113255342A (zh) * | 2021-06-11 | 2021-08-13 | 云南大学 | 一种5g移动业务产品名称识别方法及系统 |
US11120372B2 (en) | 2011-06-03 | 2021-09-14 | Apple Inc. | Performing actions associated with task items that represent tasks to perform |
US11127397B2 (en) | 2015-05-27 | 2021-09-21 | Apple Inc. | Device voice control |
US11126400B2 (en) | 2015-09-08 | 2021-09-21 | Apple Inc. | Zero latency digital assistant |
US11133008B2 (en) | 2014-05-30 | 2021-09-28 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US11140099B2 (en) | 2019-05-21 | 2021-10-05 | Apple Inc. | Providing message response suggestions |
US11145294B2 (en) | 2018-05-07 | 2021-10-12 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
US11157436B2 (en) | 2012-11-20 | 2021-10-26 | Samsung Electronics Company, Ltd. | Services associated with wearable electronic device |
US11170166B2 (en) | 2018-09-28 | 2021-11-09 | Apple Inc. | Neural typographical error modeling via generative adversarial networks |
US11217251B2 (en) | 2019-05-06 | 2022-01-04 | Apple Inc. | Spoken notifications |
US11227589B2 (en) | 2016-06-06 | 2022-01-18 | Apple Inc. | Intelligent list reading |
US11231904B2 (en) | 2015-03-06 | 2022-01-25 | Apple Inc. | Reducing response latency of intelligent automated assistants |
US11240408B2 (en) | 2012-11-20 | 2022-02-01 | Samsung Electronics Company, Ltd. | Wearable electronic device |
US11237797B2 (en) | 2019-05-31 | 2022-02-01 | Apple Inc. | User activity shortcut suggestions |
US11237719B2 (en) | 2012-11-20 | 2022-02-01 | Samsung Electronics Company, Ltd. | Controlling remote electronic device with wearable electronic device |
US11269678B2 (en) | 2012-05-15 | 2022-03-08 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
US11289073B2 (en) | 2019-05-31 | 2022-03-29 | Apple Inc. | Device text to speech |
US11301477B2 (en) | 2017-05-12 | 2022-04-12 | Apple Inc. | Feedback analysis of a digital assistant |
US11307752B2 (en) | 2019-05-06 | 2022-04-19 | Apple Inc. | User configurable task triggers |
US11314370B2 (en) | 2013-12-06 | 2022-04-26 | Apple Inc. | Method for extracting salient dialog usage from live data |
US11348582B2 (en) | 2008-10-02 | 2022-05-31 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
US11350253B2 (en) | 2011-06-03 | 2022-05-31 | Apple Inc. | Active transport based notifications |
US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
US11360641B2 (en) | 2019-06-01 | 2022-06-14 | Apple Inc. | Increasing the relevance of new available information |
US11372536B2 (en) | 2012-11-20 | 2022-06-28 | Samsung Electronics Company, Ltd. | Transition and interaction model for wearable electronic device |
US11380310B2 (en) | 2017-05-12 | 2022-07-05 | Apple Inc. | Low-latency intelligent automated assistant |
US11388291B2 (en) | 2013-03-14 | 2022-07-12 | Apple Inc. | System and method for processing voicemail |
US11386266B2 (en) | 2018-06-01 | 2022-07-12 | Apple Inc. | Text correction |
US11405466B2 (en) | 2017-05-12 | 2022-08-02 | Apple Inc. | Synchronization and task delegation of a digital assistant |
US11423886B2 (en) | 2010-01-18 | 2022-08-23 | Apple Inc. | Task flow identification based on user intent |
US11423908B2 (en) | 2019-05-06 | 2022-08-23 | Apple Inc. | Interpreting spoken requests |
US11462215B2 (en) | 2018-09-28 | 2022-10-04 | Apple Inc. | Multi-modal inputs for voice commands |
US11467802B2 (en) | 2017-05-11 | 2022-10-11 | Apple Inc. | Maintaining privacy of personal information |
US11468282B2 (en) | 2015-05-15 | 2022-10-11 | Apple Inc. | Virtual assistant in a communication session |
US11475884B2 (en) | 2019-05-06 | 2022-10-18 | Apple Inc. | Reducing digital assistant latency when a language is incorrectly determined |
US11475898B2 (en) | 2018-10-26 | 2022-10-18 | Apple Inc. | Low-latency multi-speaker speech recognition |
US11488406B2 (en) | 2019-09-25 | 2022-11-01 | Apple Inc. | Text detection using global geometry estimators |
US11495218B2 (en) | 2018-06-01 | 2022-11-08 | Apple Inc. | Virtual assistant operation in multi-device environments |
US11496600B2 (en) | 2019-05-31 | 2022-11-08 | Apple Inc. | Remote execution of machine-learned models |
US11500672B2 (en) | 2015-09-08 | 2022-11-15 | Apple Inc. | Distributed personal assistant |
US11516537B2 (en) | 2014-06-30 | 2022-11-29 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US11526368B2 (en) | 2015-11-06 | 2022-12-13 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US11532306B2 (en) | 2017-05-16 | 2022-12-20 | Apple Inc. | Detecting a trigger of a digital assistant |
US11580990B2 (en) | 2017-05-12 | 2023-02-14 | Apple Inc. | User-specific acoustic models |
US11638059B2 (en) | 2019-01-04 | 2023-04-25 | Apple Inc. | Content playback on multiple devices |
US11656884B2 (en) | 2017-01-09 | 2023-05-23 | Apple Inc. | Application integration with a digital assistant |
US11657813B2 (en) | 2019-05-31 | 2023-05-23 | Apple Inc. | Voice identification in digital assistant systems |
US11671920B2 (en) | 2007-04-03 | 2023-06-06 | Apple Inc. | Method and system for operating a multifunction portable electronic device using voice-activation |
US11696060B2 (en) | 2020-07-21 | 2023-07-04 | Apple Inc. | User identification using headphones |
US11755276B2 (en) | 2020-05-12 | 2023-09-12 | Apple Inc. | Reducing description length based on confidence |
US11765209B2 (en) | 2020-05-11 | 2023-09-19 | Apple Inc. | Digital assistant hardware abstraction |
US11790914B2 (en) | 2019-06-01 | 2023-10-17 | Apple Inc. | Methods and user interfaces for voice-based control of electronic devices |
US11798547B2 (en) | 2013-03-15 | 2023-10-24 | Apple Inc. | Voice activated device for use with a voice-based digital assistant |
US11809483B2 (en) | 2015-09-08 | 2023-11-07 | Apple Inc. | Intelligent automated assistant for media search and playback |
US11838734B2 (en) | 2020-07-20 | 2023-12-05 | Apple Inc. | Multi-device audio adjustment coordination |
US11853536B2 (en) | 2015-09-08 | 2023-12-26 | Apple Inc. | Intelligent automated assistant in a media environment |
US11914848B2 (en) | 2020-05-11 | 2024-02-27 | Apple Inc. | Providing relevant data items based on context |
US11928604B2 (en) | 2005-09-08 | 2024-03-12 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
US11979836B2 (en) | 2023-04-26 | 2024-05-07 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
Families Citing this family (250)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10002189B2 (en) | 2007-12-20 | 2018-06-19 | Apple Inc. | Method and apparatus for searching using an active ontology |
US9330720B2 (en) | 2008-01-03 | 2016-05-03 | Apple Inc. | Methods and apparatus for altering audio output signals |
US8996376B2 (en) | 2008-04-05 | 2015-03-31 | Apple Inc. | Intelligent text-to-speech conversion |
GB2473374A (en) * | 2008-05-09 | 2011-03-09 | Research In Motion Ltd | Method of e-mail address search and e-mail address transliteration and associated device |
US20100030549A1 (en) | 2008-07-31 | 2010-02-04 | Lee Michael M | Mobile device having human language translation capability with positional feedback |
US10241752B2 (en) | 2011-09-30 | 2019-03-26 | Apple Inc. | Interface for a virtual digital assistant |
US11416214B2 (en) * | 2009-12-23 | 2022-08-16 | Google Llc | Multi-modal input on an electronic device |
EP4318463A3 (en) * | 2009-12-23 | 2024-02-28 | Google LLC | Multi-modal input on an electronic device |
KR101477530B1 (ko) | 2010-03-12 | 2014-12-30 | 뉘앙스 커뮤니케이션즈, 인코포레이티드 | 이동 전화의 터치 스크린과 함께 사용하기 위한 다중 모드 문자 입력 시스템 |
US8487877B2 (en) | 2010-06-10 | 2013-07-16 | Michael William Murphy | Character specification system and method that uses a limited number of selection keys |
GB201200643D0 (en) | 2012-01-16 | 2012-02-29 | Touchtype Ltd | System and method for inputting text |
JP5782699B2 (ja) * | 2010-10-15 | 2015-09-24 | ソニー株式会社 | 情報処理装置、情報処理装置の入力制御方法及びプログラム |
WO2012098428A1 (en) * | 2011-01-18 | 2012-07-26 | Nokia Corporation | Task performance |
US8911165B2 (en) | 2011-01-24 | 2014-12-16 | 5 Examples, Inc. | Overloaded typing apparatuses, and related devices, systems, and methods |
US9183192B1 (en) * | 2011-03-16 | 2015-11-10 | Ruby Investments Properties LLC | Translator |
US20120239381A1 (en) * | 2011-03-17 | 2012-09-20 | Sap Ag | Semantic phrase suggestion engine |
US9215506B2 (en) | 2011-03-31 | 2015-12-15 | Tivo Inc. | Phrase-based communication system |
KR101233561B1 (ko) * | 2011-05-12 | 2013-02-14 | 엔에이치엔(주) | 단어 수준의 후보 생성에 기초한 음성 인식 시스템 및 방법 |
WO2011137812A2 (zh) * | 2011-05-23 | 2011-11-10 | 华为终端有限公司 | 一种输入方法、输入装置和终端设备 |
US20130212515A1 (en) * | 2012-02-13 | 2013-08-15 | Syntellia, Inc. | User interface for text input |
US20140189569A1 (en) * | 2011-07-18 | 2014-07-03 | Syntellia, Inc. | User interface for text input on three dimensional interface |
US8935230B2 (en) | 2011-08-25 | 2015-01-13 | Sap Se | Self-learning semantic search engine |
KR101951257B1 (ko) * | 2011-09-09 | 2019-02-26 | 삼성전자주식회사 | 데이터 입력 방법 및 이를 구현하는 휴대 단말기 |
US9785628B2 (en) | 2011-09-29 | 2017-10-10 | Microsoft Technology Licensing, Llc | System, method and computer-readable storage device for providing cloud-based shared vocabulary/typing history for efficient social communication |
JP5887807B2 (ja) * | 2011-10-04 | 2016-03-16 | ソニー株式会社 | 情報処理装置、情報処理方法およびコンピュータプログラム |
US9251144B2 (en) * | 2011-10-19 | 2016-02-02 | Microsoft Technology Licensing, Llc | Translating language characters in media content |
US20130120268A1 (en) * | 2011-11-10 | 2013-05-16 | Research In Motion Limited | Touchscreen keyboard predictive display and generation of a set of characters |
US8490008B2 (en) * | 2011-11-10 | 2013-07-16 | Research In Motion Limited | Touchscreen keyboard predictive display and generation of a set of characters |
US9652448B2 (en) | 2011-11-10 | 2017-05-16 | Blackberry Limited | Methods and systems for removing or replacing on-keyboard prediction candidates |
US9715489B2 (en) | 2011-11-10 | 2017-07-25 | Blackberry Limited | Displaying a prediction candidate after a typing mistake |
US9122672B2 (en) | 2011-11-10 | 2015-09-01 | Blackberry Limited | In-letter word prediction for virtual keyboard |
US9310889B2 (en) | 2011-11-10 | 2016-04-12 | Blackberry Limited | Touchscreen keyboard predictive display and generation of a set of characters |
CH705918A2 (de) * | 2011-12-19 | 2013-06-28 | Ralf Trachte | Feld-Analysen für flexible Computer-Eingabe. |
US9557913B2 (en) | 2012-01-19 | 2017-01-31 | Blackberry Limited | Virtual keyboard display having a ticker proximate to the virtual keyboard |
US9152323B2 (en) | 2012-01-19 | 2015-10-06 | Blackberry Limited | Virtual keyboard providing an indication of received input |
US9330083B2 (en) * | 2012-02-14 | 2016-05-03 | Facebook, Inc. | Creating customized user dictionary |
US9330082B2 (en) * | 2012-02-14 | 2016-05-03 | Facebook, Inc. | User experience with customized user dictionary |
US9307009B2 (en) * | 2012-02-15 | 2016-04-05 | Mobilespan Inc. | Presenting execution of a remote application in a mobile device native format |
WO2013123571A1 (en) | 2012-02-24 | 2013-08-29 | Research In Motion Limited | Virtual keyboard with dynamically reconfigurable layout |
WO2013123572A1 (en) | 2012-02-24 | 2013-08-29 | Research In Motion Limited | Touchscreen keyboard providing word predictions in partitions of the touchscreen keyboard in proximate association with candidate letters |
US20130227460A1 (en) * | 2012-02-27 | 2013-08-29 | Bjorn David Jawerth | Data entry system controllers for receiving user input line traces relative to user interfaces to determine ordered actions, and related systems and methods |
CN102662485A (zh) * | 2012-03-12 | 2012-09-12 | 成都林海电子有限责任公司 | 一种中文输入方法及装置 |
US8667414B2 (en) | 2012-03-23 | 2014-03-04 | Google Inc. | Gestural input at a virtual keyboard |
WO2013149403A1 (en) | 2012-04-07 | 2013-10-10 | Motorola Mobility, Inc. | Text select and enter |
US9201510B2 (en) | 2012-04-16 | 2015-12-01 | Blackberry Limited | Method and device having touchscreen keyboard with visual cues |
CN103376909B (zh) * | 2012-04-19 | 2019-03-22 | 深圳市世纪光速信息技术有限公司 | 输入法中调整候选词顺序的方法和系统 |
US9292192B2 (en) | 2012-04-30 | 2016-03-22 | Blackberry Limited | Method and apparatus for text selection |
US9354805B2 (en) | 2012-04-30 | 2016-05-31 | Blackberry Limited | Method and apparatus for text selection |
US8713464B2 (en) * | 2012-04-30 | 2014-04-29 | Dov Nir Aides | System and method for text input with a multi-touch screen |
GB2506231A (en) * | 2012-04-30 | 2014-03-26 | Blackberry Ltd | Touchscreen keyboard with correction of previously input text |
CA2873240C (en) | 2012-05-16 | 2020-11-17 | Xtreme Interactions Inc. | System, device and method for processing interlaced multimodal user input |
US9207860B2 (en) | 2012-05-25 | 2015-12-08 | Blackberry Limited | Method and apparatus for detecting a gesture |
US9721563B2 (en) | 2012-06-08 | 2017-08-01 | Apple Inc. | Name recognition system |
US9672209B2 (en) | 2012-06-21 | 2017-06-06 | International Business Machines Corporation | Dynamic translation substitution |
US9116552B2 (en) | 2012-06-27 | 2015-08-25 | Blackberry Limited | Touchscreen keyboard providing selection of word predictions in partitions of the touchscreen keyboard |
CN104412203A (zh) * | 2012-06-29 | 2015-03-11 | 微软公司 | 跨语言输入法编辑器 |
JP5852930B2 (ja) * | 2012-06-29 | 2016-02-03 | Kddi株式会社 | 入力文字推定装置およびプログラム |
CN103529951B (zh) * | 2012-07-05 | 2017-09-15 | 腾讯科技(深圳)有限公司 | 字符输入方法及系统 |
US9779080B2 (en) | 2012-07-09 | 2017-10-03 | International Business Machines Corporation | Text auto-correction via N-grams |
CN102819567B (zh) * | 2012-07-17 | 2016-04-20 | 重庆优腾信息技术有限公司 | 一种电子设备的联系人信息检索方法和系统 |
US9298295B2 (en) * | 2012-07-25 | 2016-03-29 | Facebook, Inc. | Gestures for auto-correct |
CN103576882B (zh) * | 2012-07-27 | 2018-03-09 | 深圳市世纪光速信息技术有限公司 | 非正常文本识别方法及其系统 |
US20140040810A1 (en) * | 2012-08-01 | 2014-02-06 | James George Haliburton | Electronic device and method of changing a keyboard |
US9619812B2 (en) | 2012-08-28 | 2017-04-11 | Nuance Communications, Inc. | Systems and methods for engaging an audience in a conversational advertisement |
US9063653B2 (en) | 2012-08-31 | 2015-06-23 | Blackberry Limited | Ranking predictions based on typing speed and typing confidence |
US9218333B2 (en) * | 2012-08-31 | 2015-12-22 | Microsoft Technology Licensing, Llc | Context sensitive auto-correction |
US9524290B2 (en) | 2012-08-31 | 2016-12-20 | Blackberry Limited | Scoring predictions based on prediction length and typing speed |
CN103677299A (zh) * | 2012-09-12 | 2014-03-26 | 深圳市世纪光速信息技术有限公司 | 一种在输入法中实现智能联想的方法、装置及终端设备 |
US9591679B2 (en) | 2012-09-17 | 2017-03-07 | Blackberry Limited | Initiation of inter-device communication in wireless communication systems |
US9826381B2 (en) | 2012-09-18 | 2017-11-21 | Blackberry Limited | Device handshake/discovery for inter-device communication in wireless communication systems |
US9021380B2 (en) | 2012-10-05 | 2015-04-28 | Google Inc. | Incremental multi-touch gesture recognition |
US8782549B2 (en) | 2012-10-05 | 2014-07-15 | Google Inc. | Incremental feature-based gesture-keyboard decoding |
US9304683B2 (en) * | 2012-10-10 | 2016-04-05 | Microsoft Technology Licensing, Llc | Arced or slanted soft input panels |
US8914751B2 (en) | 2012-10-16 | 2014-12-16 | Google Inc. | Character deletion during keyboard gesture |
US8701032B1 (en) | 2012-10-16 | 2014-04-15 | Google Inc. | Incremental multi-word recognition |
US8850350B2 (en) | 2012-10-16 | 2014-09-30 | Google Inc. | Partial gesture text entry |
US8843845B2 (en) * | 2012-10-16 | 2014-09-23 | Google Inc. | Multi-gesture text input prediction |
US8994681B2 (en) * | 2012-10-19 | 2015-03-31 | Google Inc. | Decoding imprecise gestures for gesture-keyboards |
US8819574B2 (en) | 2012-10-22 | 2014-08-26 | Google Inc. | Space prediction for text input |
US20140129933A1 (en) * | 2012-11-08 | 2014-05-08 | Syntellia, Inc. | User interface for input functions |
US10185416B2 (en) | 2012-11-20 | 2019-01-22 | Samsung Electronics Co., Ltd. | User gesture input to wearable electronic device involving movement of device |
US10824297B2 (en) | 2012-11-26 | 2020-11-03 | Google Llc | System for and method of accessing and selecting emoticons, content, and mood messages during chat sessions |
US20140173522A1 (en) * | 2012-12-17 | 2014-06-19 | Michael William Murphy | Novel Character Specification System and Method that Uses Remote Selection Menu and Touch Screen Movements |
CN103019497B (zh) * | 2012-12-28 | 2015-11-25 | 华为终端有限公司 | 触摸定位方法、装置及触摸终端 |
DE102013009375A1 (de) | 2012-12-28 | 2014-07-03 | Volkswagen Aktiengesellschaft | Verfahren zum Eingeben und Erkennen einer Zeichenkette |
CN103064530B (zh) * | 2012-12-31 | 2017-03-08 | 华为技术有限公司 | 输入处理方法和装置 |
US8832589B2 (en) | 2013-01-15 | 2014-09-09 | Google Inc. | Touch keyboard using language and spatial models |
US10474355B2 (en) * | 2013-01-21 | 2019-11-12 | Keypoint Technologies India Pvt. Ltd. | Input pattern detection over virtual keyboard for candidate word identification |
IN2013CH00469A (zh) | 2013-01-21 | 2015-07-31 | Keypoint Technologies India Pvt Ltd | |
JP6083819B2 (ja) * | 2013-01-22 | 2017-02-22 | Necソリューションイノベータ株式会社 | 入力支援システム、入力支援方法および入力支援プログラム |
US20140208258A1 (en) * | 2013-01-22 | 2014-07-24 | Jenny Yuen | Predictive Input Using Custom Dictionaries |
CN103970278B (zh) * | 2013-01-25 | 2017-02-08 | 胡竞韬 | 一种圆形触感键盘的输入方法及装置 |
US9113213B2 (en) | 2013-01-25 | 2015-08-18 | Nuance Communications, Inc. | Systems and methods for supplementing content with audience-requested information |
US9037598B1 (en) * | 2013-01-25 | 2015-05-19 | Google Inc. | Variable query generation |
US9047268B2 (en) * | 2013-01-31 | 2015-06-02 | Google Inc. | Character and word level language models for out-of-vocabulary text input |
US20140229882A1 (en) * | 2013-02-08 | 2014-08-14 | Syntellia, Inc. | User interface for advanced input functions |
US9003333B2 (en) | 2013-03-04 | 2015-04-07 | Zynga Inc. | Sequential selection of multiple objects |
US20140267045A1 (en) * | 2013-03-14 | 2014-09-18 | Microsoft Corporation | Adaptive Language Models for Text Predictions |
US9348429B2 (en) * | 2013-03-15 | 2016-05-24 | Blackberry Limited | Method and apparatus for word prediction using the position of a non-typing digit |
JP2014203288A (ja) * | 2013-04-05 | 2014-10-27 | ソニー株式会社 | 情報処理装置、情報処理方法、及びプログラム |
US8825474B1 (en) | 2013-04-16 | 2014-09-02 | Google Inc. | Text suggestion output using past interaction data |
US9805718B2 (en) * | 2013-04-19 | 2017-10-31 | Sri Internaitonal | Clarifying natural language input using targeted questions |
US8887103B1 (en) | 2013-04-22 | 2014-11-11 | Google Inc. | Dynamically-positioned character string suggestions for gesture typing |
US9081500B2 (en) | 2013-05-03 | 2015-07-14 | Google Inc. | Alternative hypothesis error correction for gesture typing |
US9552411B2 (en) * | 2013-06-05 | 2017-01-24 | Microsoft Technology Licensing, Llc | Trending suggestions |
WO2014197336A1 (en) * | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for detecting errors in interactions with a voice-based digital assistant |
WO2014197334A2 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for user-specified pronunciation of words for speech synthesis and recognition |
US9244906B2 (en) | 2013-06-21 | 2016-01-26 | Blackberry Limited | Text entry at electronic communication device |
US10445417B2 (en) * | 2013-08-01 | 2019-10-15 | Oracle International Corporation | Entry of values into multiple fields of a form using touch screens |
US9218508B2 (en) * | 2013-09-06 | 2015-12-22 | Getac Technology Corporation | Electronic device and protection method thereof |
CN103455623B (zh) * | 2013-09-12 | 2017-02-15 | 广东电子工业研究院有限公司 | 一种融合多种语言文献的聚类机制 |
US9170736B2 (en) * | 2013-09-16 | 2015-10-27 | Microsoft Corporation | Hover controlled user interface element |
US20150089435A1 (en) * | 2013-09-25 | 2015-03-26 | Microth, Inc. | System and method for prediction and recognition of input sequences |
CN103472998B (zh) * | 2013-09-27 | 2017-03-15 | 小米科技有限责任公司 | 一种选取文字的方法、装置和终端设备 |
WO2015049697A1 (en) * | 2013-10-04 | 2015-04-09 | Deshmukh Rakesh | A gesture based system for translation and transliteration of input text and a method thereof |
US20150100911A1 (en) * | 2013-10-08 | 2015-04-09 | Dao Yin | Gesture responsive keyboard and interface |
CN104573447A (zh) * | 2013-10-16 | 2015-04-29 | 中国移动通信集团公司 | 一种终端设备控制方法及装置 |
WO2015061761A1 (en) * | 2013-10-24 | 2015-04-30 | Fleksy, Inc. | User interface for text input and virtual keyboard manipulation |
CN104346067B (zh) * | 2013-11-15 | 2019-02-05 | 上海触乐信息科技有限公司 | 连续滑动输入单词的方法和系统 |
CN103596028A (zh) * | 2013-11-25 | 2014-02-19 | 乐视致新电子科技(天津)有限公司 | 智能电视的控制方法和装置 |
US9841873B1 (en) * | 2013-12-30 | 2017-12-12 | James Ernest Schroeder | Process for reducing the number of physical actions required while inputting character strings |
KR20150081181A (ko) * | 2014-01-03 | 2015-07-13 | 삼성전자주식회사 | 디스플레이 장치 및 이의 추천 문자 제공 방법 |
CN103825952B (zh) * | 2014-03-04 | 2017-07-04 | 百度在线网络技术(北京)有限公司 | 细胞词库推送方法和服务器 |
US20150277751A1 (en) * | 2014-03-28 | 2015-10-01 | Linpus Technologies, Inc. | Gesture selection data input method and data storage medium having gesture selection software tool stored thereon for implementing the same |
US20150286402A1 (en) * | 2014-04-08 | 2015-10-08 | Qualcomm Incorporated | Live non-visual feedback during predictive text keyboard operation |
JP6362391B2 (ja) * | 2014-04-10 | 2018-07-25 | キヤノン株式会社 | 情報処理端末、情報処理方法及びコンピュータプログラム |
KR102177607B1 (ko) * | 2014-05-16 | 2020-11-11 | 엘지전자 주식회사 | 이동 단말기 및 이의 제어방법 |
US9575560B2 (en) | 2014-06-03 | 2017-02-21 | Google Inc. | Radar-based gesture-recognition through a wearable device |
CN105224858A (zh) * | 2014-06-05 | 2016-01-06 | 阿里巴巴集团控股有限公司 | 一种密码输入界面显示方法及系统 |
US20160041626A1 (en) * | 2014-08-06 | 2016-02-11 | International Business Machines Corporation | Configurable character variant unification |
US9811164B2 (en) | 2014-08-07 | 2017-11-07 | Google Inc. | Radar-based gesture sensing and data transmission |
US9921660B2 (en) | 2014-08-07 | 2018-03-20 | Google Llc | Radar-based gesture recognition |
US10534532B2 (en) | 2014-08-08 | 2020-01-14 | Samsung Electronics Co., Ltd. | Electronic device and method for processing letter input in electronic device |
US10268321B2 (en) * | 2014-08-15 | 2019-04-23 | Google Llc | Interactive textiles within hard objects |
US9588625B2 (en) | 2014-08-15 | 2017-03-07 | Google Inc. | Interactive textiles |
US10515151B2 (en) * | 2014-08-18 | 2019-12-24 | Nuance Communications, Inc. | Concept identification and capture |
US9778749B2 (en) | 2014-08-22 | 2017-10-03 | Google Inc. | Occluded gesture recognition |
US11169988B2 (en) | 2014-08-22 | 2021-11-09 | Google Llc | Radar recognition-aided search |
US10261674B2 (en) * | 2014-09-05 | 2019-04-16 | Microsoft Technology Licensing, Llc | Display-efficient text entry and editing |
US9818400B2 (en) | 2014-09-11 | 2017-11-14 | Apple Inc. | Method and apparatus for discovering trending terms in speech requests |
US9940016B2 (en) * | 2014-09-13 | 2018-04-10 | Microsoft Technology Licensing, Llc | Disambiguation of keyboard input |
US9684694B2 (en) * | 2014-09-23 | 2017-06-20 | International Business Machines Corporation | Identifying and scoring data values |
JP6430198B2 (ja) * | 2014-09-30 | 2018-11-28 | 株式会社東芝 | 電子機器、方法及びプログラム |
US9600080B2 (en) | 2014-10-02 | 2017-03-21 | Google Inc. | Non-line-of-sight radar-based gesture recognition |
US10083167B2 (en) * | 2014-10-03 | 2018-09-25 | At&T Intellectual Property I, L.P. | System and method for unsupervised text normalization using distributed representation of words |
GB201418402D0 (en) * | 2014-10-16 | 2014-12-03 | Touchtype Ltd | Text prediction integration |
US9696904B1 (en) * | 2014-10-30 | 2017-07-04 | Allscripts Software, Llc | Facilitating text entry for mobile healthcare application |
JP5943359B2 (ja) * | 2014-11-05 | 2016-07-05 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | パスワードを検証するシステム、方法およびプログラム |
US10074102B2 (en) * | 2014-11-26 | 2018-09-11 | Adobe Systems Incorporated | Providing alternate words to aid in drafting effective social media posts |
US9516115B2 (en) * | 2014-12-05 | 2016-12-06 | Software 263 Technology (Beijing) Co., Ltd. | Softphone user interface system and method |
US20160216773A1 (en) * | 2015-01-24 | 2016-07-28 | Yi-Chuan Cheng | Virtual Object Control Method and the Portable Device |
US10282089B2 (en) * | 2015-02-03 | 2019-05-07 | Google Llc | User state-adaptive text input |
US10567477B2 (en) | 2015-03-08 | 2020-02-18 | Apple Inc. | Virtual assistant continuity |
US10016162B1 (en) | 2015-03-23 | 2018-07-10 | Google Llc | In-ear health monitoring |
US9703394B2 (en) * | 2015-03-24 | 2017-07-11 | Google Inc. | Unlearning techniques for adaptive language models in text entry |
US9983747B2 (en) | 2015-03-26 | 2018-05-29 | Google Llc | Two-layer interactive textiles |
US10726197B2 (en) * | 2015-03-26 | 2020-07-28 | Lenovo (Singapore) Pte. Ltd. | Text correction using a second input |
US10498834B2 (en) | 2015-03-30 | 2019-12-03 | [24]7.ai, Inc. | Method and apparatus for facilitating stateless representation of interaction flow states |
US11221756B2 (en) * | 2015-03-31 | 2022-01-11 | Keyless Systems Ltd. | Data entry systems |
US10203870B2 (en) * | 2015-04-07 | 2019-02-12 | Blackberry Limited | Authentication using a touch-sensitive keyboard with distinct pluralities of keys as respective regions |
US9678664B2 (en) * | 2015-04-10 | 2017-06-13 | Google Inc. | Neural network for keyboard input decoding |
CN111880650A (zh) | 2015-04-30 | 2020-11-03 | 谷歌有限责任公司 | 基于宽场雷达的手势识别 |
EP3289432B1 (en) | 2015-04-30 | 2019-06-12 | Google LLC | Rf-based micro-motion tracking for gesture tracking and recognition |
US10310620B2 (en) | 2015-04-30 | 2019-06-04 | Google Llc | Type-agnostic RF signal representations |
WO2016176359A1 (en) | 2015-04-30 | 2016-11-03 | Murphy Michael William | Improved method of word identification that uses interspersed time-independent selection keys |
US10095403B2 (en) | 2015-05-05 | 2018-10-09 | International Business Machines Corporation | Text input on devices with touch screen displays |
US10088908B1 (en) | 2015-05-27 | 2018-10-02 | Google Llc | Gesture detection and interactions |
US9693592B2 (en) | 2015-05-27 | 2017-07-04 | Google Inc. | Attaching electronic components to interactive textiles |
US10146979B2 (en) * | 2015-06-03 | 2018-12-04 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Processing visual cues to improve device understanding of user input |
US11025565B2 (en) | 2015-06-07 | 2021-06-01 | Apple Inc. | Personalized prediction of responses for instant messaging |
US9996507B2 (en) * | 2015-06-26 | 2018-06-12 | International Business Machines Corporation | Geo-cultural information based dynamic character variant rendering |
US9443519B1 (en) * | 2015-09-09 | 2016-09-13 | Google Inc. | Reducing latency caused by switching input modalities |
US10817065B1 (en) | 2015-10-06 | 2020-10-27 | Google Llc | Gesture recognition using multiple antenna |
CN107851932A (zh) | 2015-11-04 | 2018-03-27 | 谷歌有限责任公司 | 用于将嵌入在服装中的电子器件连接至外部装置的连接器 |
US10671272B2 (en) | 2015-11-06 | 2020-06-02 | International Business Machines Corporation | Touchscreen oriented input integrated with enhanced four-corner indexing |
US10366114B2 (en) * | 2015-11-15 | 2019-07-30 | Microsoft Technology Licensing, Llc | Providing data presentation functionality associated with collaboration database |
US20170242581A1 (en) * | 2016-02-23 | 2017-08-24 | Myscript | System and method for multiple input management |
US10073538B2 (en) | 2016-04-11 | 2018-09-11 | International Business Machines Corporation | Assessment of a password based on characteristics of a physical arrangement of keys of a keyboard |
WO2017192167A1 (en) | 2016-05-03 | 2017-11-09 | Google Llc | Connecting an electronic component to an interactive textile |
WO2017200949A1 (en) | 2016-05-16 | 2017-11-23 | Google Llc | Interactive fabric |
WO2017200570A1 (en) | 2016-05-16 | 2017-11-23 | Google Llc | Interactive object with multiple electronics modules |
WO2017209571A1 (en) | 2016-06-02 | 2017-12-07 | Samsung Electronics Co., Ltd. | Method and electronic device for predicting response |
US11010551B2 (en) * | 2016-06-22 | 2021-05-18 | Huawei Technologies Co., Ltd. | Method and apparatus for displaying candidate word, and graphical user interface |
US11551504B2 (en) * | 2016-08-15 | 2023-01-10 | The Coca-Cola Company | Selecting and dispensing blended beverages from a post-mix beverage dispenser |
CN106468960A (zh) * | 2016-09-07 | 2017-03-01 | 北京新美互通科技有限公司 | 一种输入法候选项排序的方法和系统 |
US10540441B2 (en) | 2016-10-21 | 2020-01-21 | Samsung Electronics Co., Ltd. | Device and method for providing recommended words for character input |
US10884610B2 (en) | 2016-11-04 | 2021-01-05 | Myscript | System and method for recognizing handwritten stroke input |
US10078370B2 (en) * | 2016-11-23 | 2018-09-18 | Immersion Corporation | Devices and methods for modifying haptic effects |
US11281993B2 (en) | 2016-12-05 | 2022-03-22 | Apple Inc. | Model and ensemble compression for metric learning |
US10579150B2 (en) | 2016-12-05 | 2020-03-03 | Google Llc | Concurrent detection of absolute distance and relative movement for sensing action gestures |
US10417332B2 (en) * | 2016-12-15 | 2019-09-17 | Microsoft Technology Licensing, Llc | Predicting text by combining attempts |
US10444987B2 (en) * | 2016-12-19 | 2019-10-15 | Microsoft Technology Licensing, Llc | Facilitating selection of holographic keyboard keys |
US10593346B2 (en) | 2016-12-22 | 2020-03-17 | Apple Inc. | Rank-reduced token representation for automatic speech recognition |
US10747427B2 (en) * | 2017-02-01 | 2020-08-18 | Google Llc | Keyboard automatic language identification and reconfiguration |
US11609692B2 (en) * | 2017-04-07 | 2023-03-21 | Hewlett-Packard Development Company, L.P. | Cursor adjustments |
CA3059234A1 (en) * | 2017-04-19 | 2018-10-25 | Magic Leap, Inc. | Multimodal task execution and text editing for a wearable system |
DK201770439A1 (en) | 2017-05-11 | 2018-12-13 | Apple Inc. | Offline personal assistant |
US11237642B2 (en) * | 2017-05-14 | 2022-02-01 | Mark Stouffer | Single-hand interdigit-coordinated mobile keyboard input device |
US10528134B2 (en) * | 2017-05-14 | 2020-01-07 | Mark Stouffer | One-handed input chording user input device for converting finger movements into digital input |
DK201770432A1 (en) | 2017-05-15 | 2018-12-21 | Apple Inc. | Hierarchical belief states for digital assistants |
DK201770431A1 (en) | 2017-05-15 | 2018-12-20 | Apple Inc. | Optimizing dialogue policy decisions for digital assistants using implicit feedback |
WO2018213805A1 (en) | 2017-05-19 | 2018-11-22 | Murphy Michael William | An interleaved character selection interface |
US10657328B2 (en) | 2017-06-02 | 2020-05-19 | Apple Inc. | Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling |
US20190079668A1 (en) * | 2017-06-29 | 2019-03-14 | Ashwin P Rao | User interfaces for keyboards |
US11263399B2 (en) * | 2017-07-31 | 2022-03-01 | Apple Inc. | Correcting input based on user context |
US20190087086A1 (en) * | 2017-08-29 | 2019-03-21 | Samsung Electronics Co., Ltd. | Method for providing cognitive semiotics based multimodal predictions and electronic device thereof |
US10445429B2 (en) | 2017-09-21 | 2019-10-15 | Apple Inc. | Natural language understanding using vocabularies with compressed serialized tries |
US10394342B2 (en) * | 2017-09-27 | 2019-08-27 | Facebook Technologies, Llc | Apparatuses, systems, and methods for representing user interactions with real-world input devices in a virtual space |
US10755051B2 (en) | 2017-09-29 | 2020-08-25 | Apple Inc. | Rule-based natural language processing |
CN109670282B (zh) * | 2017-10-17 | 2023-12-22 | 深圳富泰宏精密工业有限公司 | 解锁系统、解锁方法及电子装置 |
US10636424B2 (en) | 2017-11-30 | 2020-04-28 | Apple Inc. | Multi-turn canned dialog |
RU2726009C1 (ru) * | 2017-12-27 | 2020-07-08 | Общество С Ограниченной Ответственностью "Яндекс" | Способ и система для исправления неверного набора слова вследствие ошибки ввода с клавиатуры и/или неправильной раскладки клавиатуры |
US10733982B2 (en) | 2018-01-08 | 2020-08-04 | Apple Inc. | Multi-directional dialog |
CN110018746B (zh) | 2018-01-10 | 2023-09-01 | 微软技术许可有限责任公司 | 通过多种输入模式来处理文档 |
US10102415B1 (en) * | 2018-03-29 | 2018-10-16 | Secugen Corporation | Method and apparatus for simultaneous multiple fingerprint enrollment |
US11886473B2 (en) | 2018-04-20 | 2024-01-30 | Meta Platforms, Inc. | Intent identification for agent matching by assistant systems |
US10963273B2 (en) | 2018-04-20 | 2021-03-30 | Facebook, Inc. | Generating personalized content summaries for users |
US11676220B2 (en) * | 2018-04-20 | 2023-06-13 | Meta Platforms, Inc. | Processing multimodal user input for assistant systems |
US11715042B1 (en) | 2018-04-20 | 2023-08-01 | Meta Platforms Technologies, Llc | Interpretability of deep reinforcement learning models in assistant systems |
US11307880B2 (en) | 2018-04-20 | 2022-04-19 | Meta Platforms, Inc. | Assisting users with personalized and contextual communication content |
EP3797345A4 (en) | 2018-05-22 | 2022-03-09 | Magic Leap, Inc. | TRANSMODAL INPUT FUSION FOR A BODY WEARABLE SYSTEM |
KR102592907B1 (ko) * | 2018-06-22 | 2023-10-23 | 삼성전자주식회사 | 텍스트 입력 디바이스 및 그 방법 |
US11714955B2 (en) | 2018-08-22 | 2023-08-01 | Microstrategy Incorporated | Dynamic document annotations |
US11815936B2 (en) | 2018-08-22 | 2023-11-14 | Microstrategy Incorporated | Providing contextually-relevant database content based on calendar data |
US11106905B2 (en) | 2018-09-04 | 2021-08-31 | Cerence Operating Company | Multi-character text input system with audio feedback and word completion |
JP7243109B2 (ja) * | 2018-10-02 | 2023-03-22 | カシオ計算機株式会社 | 電子機器、電子機器の制御方法及びプログラム |
KR102527892B1 (ko) | 2018-11-26 | 2023-05-02 | 삼성전자주식회사 | 예측 단어를 제공하기 위한 전자 장치 및 그의 동작 방법 |
US11922007B2 (en) | 2018-11-29 | 2024-03-05 | Michael William Murphy | Apparatus, method and system for inputting characters to an electronic device |
US11682390B2 (en) | 2019-02-06 | 2023-06-20 | Microstrategy Incorporated | Interactive interface for analytics |
KR20200103236A (ko) * | 2019-02-22 | 2020-09-02 | 삼성전자주식회사 | 수기에 기반한 입력을 디스플레이하기 위한 방법 및 장치 |
JP7263857B2 (ja) * | 2019-03-14 | 2023-04-25 | オムロン株式会社 | 文字入力装置、文字入力方法、及び、文字入力プログラム |
EP3942510A4 (en) * | 2019-03-20 | 2022-04-27 | Samsung Electronics Co., Ltd. | METHOD AND SYSTEM FOR DELIVERING PERSONALIZED MULTIMODAL OBJECTS IN REAL TIME |
US11068656B2 (en) * | 2019-04-10 | 2021-07-20 | International Business Machines Corporation | Displaying text classification anomalies predicted by a text classification model |
US11537821B2 (en) | 2019-04-10 | 2022-12-27 | International Business Machines Corporation | Evaluating text classification anomalies predicted by a text classification model |
US11137908B2 (en) * | 2019-04-15 | 2021-10-05 | Apple Inc. | Keyboard operation with head-mounted device |
US11554322B2 (en) | 2019-04-26 | 2023-01-17 | Sony Interactive Entertainment LLC | Game controller with touchpad input |
EP3966678A1 (en) | 2019-05-06 | 2022-03-16 | Apple Inc. | Handwriting entry on an electronic device |
US11327646B2 (en) * | 2019-09-27 | 2022-05-10 | International Business Machines Corporation | Modifying illumination characteristics of an input device to identify characters associated with predicted words |
US11295088B2 (en) | 2019-11-20 | 2022-04-05 | Apple Inc. | Sanitizing word predictions |
US11068073B2 (en) * | 2019-12-13 | 2021-07-20 | Dell Products, L.P. | User-customized keyboard input error correction |
US11561968B2 (en) * | 2020-02-20 | 2023-01-24 | Microstrategy Incorporated | Systems and methods for retrieving relevant information content while typing |
US11810578B2 (en) | 2020-05-11 | 2023-11-07 | Apple Inc. | Device arbitration for digital assistant-based intercom systems |
US20210349627A1 (en) * | 2020-05-11 | 2021-11-11 | Apple Inc. | Interacting with handwritten content on an electronic device |
EP3945402B1 (en) * | 2020-07-29 | 2024-03-27 | Tata Consultancy Services Limited | Method and device providing multimodal input mechanism |
KR20220015831A (ko) * | 2020-07-31 | 2022-02-08 | 삼성전자주식회사 | 전자 장치 및 이의 제어 방법 |
CN112417087B (zh) * | 2020-12-14 | 2024-03-19 | 合肥高维数据技术有限公司 | 基于文字的溯源方法及系统 |
DE102021121116B4 (de) * | 2021-08-13 | 2023-05-11 | Brainbox Gmbh | Verfahren und vorrichtung zur eingabe einer zeichenfolge |
WO2023034497A2 (en) * | 2021-09-03 | 2023-03-09 | Apple Inc. | Gaze based dictation |
US11507730B1 (en) * | 2021-09-30 | 2022-11-22 | Atlassian Pty Ltd. | User interface with command-line link creation for generating graphical objects linked to third-party content |
US11790107B1 (en) | 2022-11-03 | 2023-10-17 | Vignet Incorporated | Data sharing platform for researchers conducting clinical trials |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1655107A (zh) * | 1999-05-27 | 2005-08-17 | 美国在线服务公司 | 自动更正键盘系统 |
US20070040813A1 (en) * | 2003-01-16 | 2007-02-22 | Forword Input, Inc. | System and method for continuous stroke word-based text input |
CN1965349A (zh) * | 2004-06-02 | 2007-05-16 | 美国联机股份有限公司 | 多形式的非歧意性语音识别 |
US20080270896A1 (en) * | 2007-04-27 | 2008-10-30 | Per Ola Kristensson | System and method for preview and selection of words |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08272787A (ja) * | 1995-03-29 | 1996-10-18 | Sharp Corp | 文字処理装置 |
US6011554A (en) | 1995-07-26 | 2000-01-04 | Tegic Communications, Inc. | Reduced keyboard disambiguating system |
US5903864A (en) * | 1995-08-30 | 1999-05-11 | Dragon Systems | Speech recognition |
JPH10275046A (ja) | 1997-03-31 | 1998-10-13 | Toshiba Corp | 単語入力装置及び方法 |
US6047300A (en) * | 1997-05-15 | 2000-04-04 | Microsoft Corporation | System and method for automatically correcting a misspelled word |
US7720682B2 (en) | 1998-12-04 | 2010-05-18 | Tegic Communications, Inc. | Method and apparatus utilizing voice input to resolve ambiguous manually entered text input |
US7881936B2 (en) * | 1998-12-04 | 2011-02-01 | Tegic Communications, Inc. | Multimodal disambiguation of speech recognition |
US7030863B2 (en) | 2000-05-26 | 2006-04-18 | America Online, Incorporated | Virtual keyboard system with automatic correction |
US7526431B2 (en) * | 2001-09-05 | 2009-04-28 | Voice Signal Technologies, Inc. | Speech recognition using ambiguous or phone key spelling and/or filtering |
US8460103B2 (en) * | 2004-06-18 | 2013-06-11 | Igt | Gesture controlled casino gaming system |
US7453439B1 (en) * | 2003-01-16 | 2008-11-18 | Forward Input Inc. | System and method for continuous stroke word-based text input |
US7729913B1 (en) * | 2003-03-18 | 2010-06-01 | A9.Com, Inc. | Generation and selection of voice recognition grammars for conducting database searches |
US7164410B2 (en) * | 2003-07-28 | 2007-01-16 | Sig G. Kupka | Manipulating an on-screen object using zones surrounding the object |
US7250938B2 (en) | 2004-01-06 | 2007-07-31 | Lenovo (Singapore) Pte. Ltd. | System and method for improved user input on personal computing devices |
AU2005253600B2 (en) * | 2004-06-04 | 2011-01-27 | Benjamin Firooz Ghassabian | Systems to enhance data entry in mobile and fixed environment |
US8972444B2 (en) | 2004-06-25 | 2015-03-03 | Google Inc. | Nonstandard locality-based text entry |
JP4640822B2 (ja) * | 2006-01-18 | 2011-03-02 | シャープ株式会社 | 入力装置 |
US7831911B2 (en) * | 2006-03-08 | 2010-11-09 | Microsoft Corporation | Spell checking system including a phonetic speller |
WO2007148128A2 (en) * | 2006-06-19 | 2007-12-27 | Santosh Sharan | A data entry system and method of entering data |
WO2008028150A2 (en) | 2006-08-31 | 2008-03-06 | Qualcomm Incorporated | Method and apparatus of obtaining or providing search results using user-based biases |
US20080244446A1 (en) | 2007-03-29 | 2008-10-02 | Lefevre John | Disambiguation of icons and other media in text-based applications |
US9503562B2 (en) * | 2008-03-19 | 2016-11-22 | Universal Electronics Inc. | System and method for appliance control via a personal communication or entertainment device |
US8589149B2 (en) | 2008-08-05 | 2013-11-19 | Nuance Communications, Inc. | Probability-based approach to recognition of user-entered data |
US8669941B2 (en) * | 2009-01-05 | 2014-03-11 | Nuance Communications, Inc. | Method and apparatus for text entry |
US9519353B2 (en) * | 2009-03-30 | 2016-12-13 | Symbol Technologies, Llc | Combined speech and touch input for observation symbol mappings |
US8423351B2 (en) * | 2010-02-19 | 2013-04-16 | Google Inc. | Speech correction for typed input |
KR101477530B1 (ko) | 2010-03-12 | 2014-12-30 | 뉘앙스 커뮤니케이션즈, 인코포레이티드 | 이동 전화의 터치 스크린과 함께 사용하기 위한 다중 모드 문자 입력 시스템 |
US8587540B2 (en) * | 2010-11-05 | 2013-11-19 | Apple Inc. | Device, method, and graphical user interface for manipulating soft keyboards |
-
2011
- 2011-03-14 KR KR1020147022010A patent/KR101477530B1/ko not_active IP Right Cessation
- 2011-03-14 JP JP2012557308A patent/JP5642809B2/ja not_active Expired - Fee Related
- 2011-03-14 KR KR1020127026175A patent/KR20130001261A/ko active Application Filing
- 2011-03-14 EP EP11754256.3A patent/EP2545426A4/en not_active Withdrawn
- 2011-03-14 WO PCT/US2011/028387 patent/WO2011113057A1/en active Application Filing
- 2011-03-14 US US13/583,840 patent/US9104312B2/en active Active
- 2011-03-14 CN CN201180023649.XA patent/CN103038728B/zh active Active
-
2014
- 2014-10-29 JP JP2014220009A patent/JP6140668B2/ja not_active Expired - Fee Related
-
2015
- 2015-06-24 US US14/749,621 patent/US20150293602A1/en not_active Abandoned
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1655107A (zh) * | 1999-05-27 | 2005-08-17 | 美国在线服务公司 | 自动更正键盘系统 |
US20070040813A1 (en) * | 2003-01-16 | 2007-02-22 | Forword Input, Inc. | System and method for continuous stroke word-based text input |
CN1965349A (zh) * | 2004-06-02 | 2007-05-16 | 美国联机股份有限公司 | 多形式的非歧意性语音识别 |
US20080270896A1 (en) * | 2007-04-27 | 2008-10-30 | Per Ola Kristensson | System and method for preview and selection of words |
Cited By (190)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11928604B2 (en) | 2005-09-08 | 2024-03-12 | Apple Inc. | Method and apparatus for building an intelligent automated assistant |
US11671920B2 (en) | 2007-04-03 | 2023-06-06 | Apple Inc. | Method and system for operating a multifunction portable electronic device using voice-activation |
US11900936B2 (en) | 2008-10-02 | 2024-02-13 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
US11348582B2 (en) | 2008-10-02 | 2022-05-31 | Apple Inc. | Electronic devices with voice command and contextual data processing capabilities |
US10741185B2 (en) | 2010-01-18 | 2020-08-11 | Apple Inc. | Intelligent automated assistant |
US11423886B2 (en) | 2010-01-18 | 2022-08-23 | Apple Inc. | Task flow identification based on user intent |
US10692504B2 (en) | 2010-02-25 | 2020-06-23 | Apple Inc. | User profiling for voice input processing |
US10417405B2 (en) | 2011-03-21 | 2019-09-17 | Apple Inc. | Device access using voice authentication |
US11120372B2 (en) | 2011-06-03 | 2021-09-14 | Apple Inc. | Performing actions associated with task items that represent tasks to perform |
US11350253B2 (en) | 2011-06-03 | 2022-05-31 | Apple Inc. | Active transport based notifications |
US11069336B2 (en) | 2012-03-02 | 2021-07-20 | Apple Inc. | Systems and methods for name pronunciation |
US11321116B2 (en) | 2012-05-15 | 2022-05-03 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
US11269678B2 (en) | 2012-05-15 | 2022-03-08 | Apple Inc. | Systems and methods for integrating third party services with a digital assistant |
US11157436B2 (en) | 2012-11-20 | 2021-10-26 | Samsung Electronics Company, Ltd. | Services associated with wearable electronic device |
US11372536B2 (en) | 2012-11-20 | 2022-06-28 | Samsung Electronics Company, Ltd. | Transition and interaction model for wearable electronic device |
US11240408B2 (en) | 2012-11-20 | 2022-02-01 | Samsung Electronics Company, Ltd. | Wearable electronic device |
US11237719B2 (en) | 2012-11-20 | 2022-02-01 | Samsung Electronics Company, Ltd. | Controlling remote electronic device with wearable electronic device |
US10551928B2 (en) | 2012-11-20 | 2020-02-04 | Samsung Electronics Company, Ltd. | GUI transitions on wearable electronic device |
US10423214B2 (en) | 2012-11-20 | 2019-09-24 | Samsung Electronics Company, Ltd | Delegating processing from wearable electronic device |
US10095405B2 (en) | 2013-02-05 | 2018-10-09 | Google Llc | Gesture keyboard input of non-dictionary character strings |
US9454240B2 (en) | 2013-02-05 | 2016-09-27 | Google Inc. | Gesture keyboard input of non-dictionary character strings |
US11557310B2 (en) | 2013-02-07 | 2023-01-17 | Apple Inc. | Voice trigger for a digital assistant |
US11862186B2 (en) | 2013-02-07 | 2024-01-02 | Apple Inc. | Voice trigger for a digital assistant |
US10978090B2 (en) | 2013-02-07 | 2021-04-13 | Apple Inc. | Voice trigger for a digital assistant |
US11636869B2 (en) | 2013-02-07 | 2023-04-25 | Apple Inc. | Voice trigger for a digital assistant |
US10714117B2 (en) | 2013-02-07 | 2020-07-14 | Apple Inc. | Voice trigger for a digital assistant |
US11388291B2 (en) | 2013-03-14 | 2022-07-12 | Apple Inc. | System and method for processing voicemail |
US11798547B2 (en) | 2013-03-15 | 2023-10-24 | Apple Inc. | Voice activated device for use with a voice-based digital assistant |
CN105164616A (zh) * | 2013-04-16 | 2015-12-16 | 谷歌公司 | 一致文本建议输出 |
CN105164616B (zh) * | 2013-04-16 | 2018-05-29 | 谷歌有限责任公司 | 用于输出候选字符串的方法、计算设备及存储介质 |
CN104111789A (zh) * | 2013-04-17 | 2014-10-22 | 索尼公司 | 信息处理装置、信息处理方法以及程序 |
CN104111789B (zh) * | 2013-04-17 | 2019-02-19 | 索尼公司 | 信息处理装置、信息处理方法以及程序 |
CN105929975A (zh) * | 2013-04-29 | 2016-09-07 | 谷歌公司 | 使用替代评分的非字典字符串的姿态键盘输入 |
CN104123012A (zh) * | 2013-04-29 | 2014-10-29 | 谷歌公司 | 使用替代评分的非字典字符串的姿态键盘输入 |
CN104123012B (zh) * | 2013-04-29 | 2016-05-11 | 谷歌公司 | 使用替代评分的非字典字符串的姿态键盘输入 |
US10657961B2 (en) | 2013-06-08 | 2020-05-19 | Apple Inc. | Interpreting and acting upon commands that involve sharing information with remote devices |
US11048473B2 (en) | 2013-06-09 | 2021-06-29 | Apple Inc. | Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant |
US11727219B2 (en) | 2013-06-09 | 2023-08-15 | Apple Inc. | System and method for inferring user intent from speech inputs |
US10769385B2 (en) | 2013-06-09 | 2020-09-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
US11314370B2 (en) | 2013-12-06 | 2022-04-26 | Apple Inc. | Method for extracting salient dialog usage from live data |
CN106233240A (zh) * | 2014-02-28 | 2016-12-14 | 三星电子株式会社 | 交互式显示器上的文本输入 |
US10691332B2 (en) | 2014-02-28 | 2020-06-23 | Samsung Electronics Company, Ltd. | Text input on an interactive display |
US10657966B2 (en) | 2014-05-30 | 2020-05-19 | Apple Inc. | Better resolution when referencing to concepts |
US11810562B2 (en) | 2014-05-30 | 2023-11-07 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US11133008B2 (en) | 2014-05-30 | 2021-09-28 | Apple Inc. | Reducing the need for manual start/end-pointing and trigger phrases |
US10699717B2 (en) | 2014-05-30 | 2020-06-30 | Apple Inc. | Intelligent assistant for home automation |
US10714095B2 (en) | 2014-05-30 | 2020-07-14 | Apple Inc. | Intelligent assistant for home automation |
US10497365B2 (en) | 2014-05-30 | 2019-12-03 | Apple Inc. | Multi-command single utterance input method |
US11257504B2 (en) | 2014-05-30 | 2022-02-22 | Apple Inc. | Intelligent assistant for home automation |
US10878809B2 (en) | 2014-05-30 | 2020-12-29 | Apple Inc. | Multi-command single utterance input method |
US11670289B2 (en) | 2014-05-30 | 2023-06-06 | Apple Inc. | Multi-command single utterance input method |
US10417344B2 (en) | 2014-05-30 | 2019-09-17 | Apple Inc. | Exemplar-based natural language processing |
US11699448B2 (en) | 2014-05-30 | 2023-07-11 | Apple Inc. | Intelligent assistant for home automation |
US11516537B2 (en) | 2014-06-30 | 2022-11-29 | Apple Inc. | Intelligent automated assistant for TV user interactions |
US10390213B2 (en) | 2014-09-30 | 2019-08-20 | Apple Inc. | Social reminders |
US10438595B2 (en) | 2014-09-30 | 2019-10-08 | Apple Inc. | Speaker identification and unsupervised speaker adaptation techniques |
US10453443B2 (en) | 2014-09-30 | 2019-10-22 | Apple Inc. | Providing an indication of the suitability of speech recognition |
CN105988704A (zh) * | 2015-03-03 | 2016-10-05 | 上海触乐信息科技有限公司 | 高效的触摸屏文本输入系统及方法 |
US11231904B2 (en) | 2015-03-06 | 2022-01-25 | Apple Inc. | Reducing response latency of intelligent automated assistants |
US11842734B2 (en) | 2015-03-08 | 2023-12-12 | Apple Inc. | Virtual assistant activation |
US10529332B2 (en) | 2015-03-08 | 2020-01-07 | Apple Inc. | Virtual assistant activation |
US10930282B2 (en) | 2015-03-08 | 2021-02-23 | Apple Inc. | Competing devices responding to voice triggers |
US11087759B2 (en) | 2015-03-08 | 2021-08-10 | Apple Inc. | Virtual assistant activation |
US11468282B2 (en) | 2015-05-15 | 2022-10-11 | Apple Inc. | Virtual assistant in a communication session |
US11127397B2 (en) | 2015-05-27 | 2021-09-21 | Apple Inc. | Device voice control |
US11070949B2 (en) | 2015-05-27 | 2021-07-20 | Apple Inc. | Systems and methods for proactively identifying and surfacing relevant content on an electronic device with a touch-sensitive display |
CN107683582B (zh) * | 2015-06-04 | 2021-01-01 | 微软技术许可有限责任公司 | 认证指示笔设备 |
CN107683582A (zh) * | 2015-06-04 | 2018-02-09 | 微软技术许可有限责任公司 | 认证指示笔设备 |
US10681212B2 (en) | 2015-06-05 | 2020-06-09 | Apple Inc. | Virtual assistant aided communication with 3rd party service in a communication session |
CN106249909A (zh) * | 2015-06-05 | 2016-12-21 | 苹果公司 | 语言输入校正 |
US10101822B2 (en) | 2015-06-05 | 2018-10-16 | Apple Inc. | Language input correction |
CN106249909B (zh) * | 2015-06-05 | 2019-11-26 | 苹果公司 | 语言输入校正 |
US11947873B2 (en) | 2015-06-29 | 2024-04-02 | Apple Inc. | Virtual assistant for media playback |
US11010127B2 (en) | 2015-06-29 | 2021-05-18 | Apple Inc. | Virtual assistant for media playback |
US11550542B2 (en) | 2015-09-08 | 2023-01-10 | Apple Inc. | Zero latency digital assistant |
US11809483B2 (en) | 2015-09-08 | 2023-11-07 | Apple Inc. | Intelligent automated assistant for media search and playback |
US11954405B2 (en) | 2015-09-08 | 2024-04-09 | Apple Inc. | Zero latency digital assistant |
US11500672B2 (en) | 2015-09-08 | 2022-11-15 | Apple Inc. | Distributed personal assistant |
US11853536B2 (en) | 2015-09-08 | 2023-12-26 | Apple Inc. | Intelligent automated assistant in a media environment |
US11126400B2 (en) | 2015-09-08 | 2021-09-21 | Apple Inc. | Zero latency digital assistant |
US11526368B2 (en) | 2015-11-06 | 2022-12-13 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US11809886B2 (en) | 2015-11-06 | 2023-11-07 | Apple Inc. | Intelligent automated assistant in a messaging environment |
US11886805B2 (en) | 2015-11-09 | 2024-01-30 | Apple Inc. | Unconventional virtual assistant interactions |
US10956666B2 (en) | 2015-11-09 | 2021-03-23 | Apple Inc. | Unconventional virtual assistant interactions |
US10354652B2 (en) | 2015-12-02 | 2019-07-16 | Apple Inc. | Applying neural network language models to weighted finite state transducers for automatic speech recognition |
CN105872671A (zh) * | 2015-12-11 | 2016-08-17 | 乐视致新电子科技(天津)有限公司 | 智能电视的滑动输入方法及装置 |
US10942703B2 (en) | 2015-12-23 | 2021-03-09 | Apple Inc. | Proactive assistance based on dialog communication between devices |
US11227589B2 (en) | 2016-06-06 | 2022-01-18 | Apple Inc. | Intelligent list reading |
US11069347B2 (en) | 2016-06-08 | 2021-07-20 | Apple Inc. | Intelligent automated assistant for media exploration |
US11657820B2 (en) | 2016-06-10 | 2023-05-23 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
US10733993B2 (en) | 2016-06-10 | 2020-08-04 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
US11037565B2 (en) | 2016-06-10 | 2021-06-15 | Apple Inc. | Intelligent digital assistant in a multi-tasking environment |
US11809783B2 (en) | 2016-06-11 | 2023-11-07 | Apple Inc. | Intelligent device arbitration and control |
US11152002B2 (en) | 2016-06-11 | 2021-10-19 | Apple Inc. | Application integration with a digital assistant |
US10580409B2 (en) | 2016-06-11 | 2020-03-03 | Apple Inc. | Application integration with a digital assistant |
US10942702B2 (en) | 2016-06-11 | 2021-03-09 | Apple Inc. | Intelligent device arbitration and control |
US11749275B2 (en) | 2016-06-11 | 2023-09-05 | Apple Inc. | Application integration with a digital assistant |
US10474753B2 (en) | 2016-09-07 | 2019-11-12 | Apple Inc. | Language identification using recurrent neural networks |
US10553215B2 (en) | 2016-09-23 | 2020-02-04 | Apple Inc. | Intelligent automated assistant |
CN108255290B (zh) * | 2016-12-29 | 2021-10-12 | 谷歌有限责任公司 | 移动装置上的模态学习 |
CN108255290A (zh) * | 2016-12-29 | 2018-07-06 | 谷歌有限责任公司 | 移动装置上的模态学习 |
US11656884B2 (en) | 2017-01-09 | 2023-05-23 | Apple Inc. | Application integration with a digital assistant |
US10417266B2 (en) | 2017-05-09 | 2019-09-17 | Apple Inc. | Context-aware ranking of intelligent response suggestions |
US10741181B2 (en) | 2017-05-09 | 2020-08-11 | Apple Inc. | User interface for correcting recognition errors |
US10847142B2 (en) | 2017-05-11 | 2020-11-24 | Apple Inc. | Maintaining privacy of personal information |
US11599331B2 (en) | 2017-05-11 | 2023-03-07 | Apple Inc. | Maintaining privacy of personal information |
US11467802B2 (en) | 2017-05-11 | 2022-10-11 | Apple Inc. | Maintaining privacy of personal information |
US10726832B2 (en) | 2017-05-11 | 2020-07-28 | Apple Inc. | Maintaining privacy of personal information |
US10395654B2 (en) | 2017-05-11 | 2019-08-27 | Apple Inc. | Text normalization based on a data-driven learning network |
US11301477B2 (en) | 2017-05-12 | 2022-04-12 | Apple Inc. | Feedback analysis of a digital assistant |
US11538469B2 (en) | 2017-05-12 | 2022-12-27 | Apple Inc. | Low-latency intelligent automated assistant |
US11405466B2 (en) | 2017-05-12 | 2022-08-02 | Apple Inc. | Synchronization and task delegation of a digital assistant |
US11862151B2 (en) | 2017-05-12 | 2024-01-02 | Apple Inc. | Low-latency intelligent automated assistant |
US11580990B2 (en) | 2017-05-12 | 2023-02-14 | Apple Inc. | User-specific acoustic models |
US11380310B2 (en) | 2017-05-12 | 2022-07-05 | Apple Inc. | Low-latency intelligent automated assistant |
US11837237B2 (en) | 2017-05-12 | 2023-12-05 | Apple Inc. | User-specific acoustic models |
US10403278B2 (en) | 2017-05-16 | 2019-09-03 | Apple Inc. | Methods and systems for phonetic matching in digital assistant services |
US10909171B2 (en) | 2017-05-16 | 2021-02-02 | Apple Inc. | Intelligent automated assistant for media exploration |
US10748546B2 (en) | 2017-05-16 | 2020-08-18 | Apple Inc. | Digital assistant services based on device capabilities |
US10311144B2 (en) | 2017-05-16 | 2019-06-04 | Apple Inc. | Emoji word sense disambiguation |
US11675829B2 (en) | 2017-05-16 | 2023-06-13 | Apple Inc. | Intelligent automated assistant for media exploration |
US11532306B2 (en) | 2017-05-16 | 2022-12-20 | Apple Inc. | Detecting a trigger of a digital assistant |
CN109542244B (zh) * | 2017-09-21 | 2022-04-26 | 北京搜狗科技发展有限公司 | 一种输入方法、装置和介质 |
CN109542244A (zh) * | 2017-09-21 | 2019-03-29 | 北京搜狗科技发展有限公司 | 一种输入方法、装置和介质 |
CN111566609B (zh) * | 2018-01-12 | 2023-09-15 | 微软技术许可有限责任公司 | 基于用户输入的具有可变显示输出的计算机设备 |
CN111566609A (zh) * | 2018-01-12 | 2020-08-21 | 微软技术许可有限责任公司 | 基于具有可变时间和/或压力图案的用户输入的具有可变显示输出的计算机设备 |
US10733375B2 (en) | 2018-01-31 | 2020-08-04 | Apple Inc. | Knowledge-based framework for improving natural language understanding |
US10789959B2 (en) | 2018-03-02 | 2020-09-29 | Apple Inc. | Training speaker recognition models for digital assistants |
US10592604B2 (en) | 2018-03-12 | 2020-03-17 | Apple Inc. | Inverse text normalization for automatic speech recognition |
US10818288B2 (en) | 2018-03-26 | 2020-10-27 | Apple Inc. | Natural assistant interaction |
US11710482B2 (en) | 2018-03-26 | 2023-07-25 | Apple Inc. | Natural assistant interaction |
US10909331B2 (en) | 2018-03-30 | 2021-02-02 | Apple Inc. | Implicit identification of translation payload with neural machine translation |
US11854539B2 (en) | 2018-05-07 | 2023-12-26 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
US11487364B2 (en) | 2018-05-07 | 2022-11-01 | Apple Inc. | Raise to speak |
US11169616B2 (en) | 2018-05-07 | 2021-11-09 | Apple Inc. | Raise to speak |
US11907436B2 (en) | 2018-05-07 | 2024-02-20 | Apple Inc. | Raise to speak |
US11900923B2 (en) | 2018-05-07 | 2024-02-13 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
US10928918B2 (en) | 2018-05-07 | 2021-02-23 | Apple Inc. | Raise to speak |
US11145294B2 (en) | 2018-05-07 | 2021-10-12 | Apple Inc. | Intelligent automated assistant for delivering content from user experiences |
US10984780B2 (en) | 2018-05-21 | 2021-04-20 | Apple Inc. | Global semantic word embeddings using bi-directional recurrent neural networks |
US10684703B2 (en) | 2018-06-01 | 2020-06-16 | Apple Inc. | Attention aware virtual assistant dismissal |
US11386266B2 (en) | 2018-06-01 | 2022-07-12 | Apple Inc. | Text correction |
US10720160B2 (en) | 2018-06-01 | 2020-07-21 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
US11360577B2 (en) | 2018-06-01 | 2022-06-14 | Apple Inc. | Attention aware virtual assistant dismissal |
US11630525B2 (en) | 2018-06-01 | 2023-04-18 | Apple Inc. | Attention aware virtual assistant dismissal |
US11495218B2 (en) | 2018-06-01 | 2022-11-08 | Apple Inc. | Virtual assistant operation in multi-device environments |
US11431642B2 (en) | 2018-06-01 | 2022-08-30 | Apple Inc. | Variable latency device coordination |
US10892996B2 (en) | 2018-06-01 | 2021-01-12 | Apple Inc. | Variable latency device coordination |
US11009970B2 (en) | 2018-06-01 | 2021-05-18 | Apple Inc. | Attention aware virtual assistant dismissal |
US10403283B1 (en) | 2018-06-01 | 2019-09-03 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
US10984798B2 (en) | 2018-06-01 | 2021-04-20 | Apple Inc. | Voice interaction at a primary device to access call functionality of a companion device |
US10504518B1 (en) | 2018-06-03 | 2019-12-10 | Apple Inc. | Accelerated task performance |
US10496705B1 (en) | 2018-06-03 | 2019-12-03 | Apple Inc. | Accelerated task performance |
US10944859B2 (en) | 2018-06-03 | 2021-03-09 | Apple Inc. | Accelerated task performance |
US10929014B2 (en) | 2018-09-10 | 2021-02-23 | Baidu Online Network Technology (Beijing) Co., Ltd. | Character correction method and apparatus, device, and storage medium |
CN110888577A (zh) * | 2018-09-10 | 2020-03-17 | 百度在线网络技术(北京)有限公司 | 字符纠正方法、装置、设备以及存储介质 |
US11010561B2 (en) | 2018-09-27 | 2021-05-18 | Apple Inc. | Sentiment prediction from textual data |
US11170166B2 (en) | 2018-09-28 | 2021-11-09 | Apple Inc. | Neural typographical error modeling via generative adversarial networks |
US11462215B2 (en) | 2018-09-28 | 2022-10-04 | Apple Inc. | Multi-modal inputs for voice commands |
US11893992B2 (en) | 2018-09-28 | 2024-02-06 | Apple Inc. | Multi-modal inputs for voice commands |
US10839159B2 (en) | 2018-09-28 | 2020-11-17 | Apple Inc. | Named entity normalization in a spoken dialog system |
US11475898B2 (en) | 2018-10-26 | 2022-10-18 | Apple Inc. | Low-latency multi-speaker speech recognition |
US11638059B2 (en) | 2019-01-04 | 2023-04-25 | Apple Inc. | Content playback on multiple devices |
US11348573B2 (en) | 2019-03-18 | 2022-05-31 | Apple Inc. | Multimodality in digital assistant systems |
US11783815B2 (en) | 2019-03-18 | 2023-10-10 | Apple Inc. | Multimodality in digital assistant systems |
US11217251B2 (en) | 2019-05-06 | 2022-01-04 | Apple Inc. | Spoken notifications |
US11705130B2 (en) | 2019-05-06 | 2023-07-18 | Apple Inc. | Spoken notifications |
US11423908B2 (en) | 2019-05-06 | 2022-08-23 | Apple Inc. | Interpreting spoken requests |
US11675491B2 (en) | 2019-05-06 | 2023-06-13 | Apple Inc. | User configurable task triggers |
US11475884B2 (en) | 2019-05-06 | 2022-10-18 | Apple Inc. | Reducing digital assistant latency when a language is incorrectly determined |
US11307752B2 (en) | 2019-05-06 | 2022-04-19 | Apple Inc. | User configurable task triggers |
US11888791B2 (en) | 2019-05-21 | 2024-01-30 | Apple Inc. | Providing message response suggestions |
US11140099B2 (en) | 2019-05-21 | 2021-10-05 | Apple Inc. | Providing message response suggestions |
US11360739B2 (en) | 2019-05-31 | 2022-06-14 | Apple Inc. | User activity shortcut suggestions |
US11237797B2 (en) | 2019-05-31 | 2022-02-01 | Apple Inc. | User activity shortcut suggestions |
US11657813B2 (en) | 2019-05-31 | 2023-05-23 | Apple Inc. | Voice identification in digital assistant systems |
US11496600B2 (en) | 2019-05-31 | 2022-11-08 | Apple Inc. | Remote execution of machine-learned models |
US11289073B2 (en) | 2019-05-31 | 2022-03-29 | Apple Inc. | Device text to speech |
US11790914B2 (en) | 2019-06-01 | 2023-10-17 | Apple Inc. | Methods and user interfaces for voice-based control of electronic devices |
US11360641B2 (en) | 2019-06-01 | 2022-06-14 | Apple Inc. | Increasing the relevance of new available information |
US11488406B2 (en) | 2019-09-25 | 2022-11-01 | Apple Inc. | Text detection using global geometry estimators |
US11765209B2 (en) | 2020-05-11 | 2023-09-19 | Apple Inc. | Digital assistant hardware abstraction |
US11914848B2 (en) | 2020-05-11 | 2024-02-27 | Apple Inc. | Providing relevant data items based on context |
US11924254B2 (en) | 2020-05-11 | 2024-03-05 | Apple Inc. | Digital assistant hardware abstraction |
US11755276B2 (en) | 2020-05-12 | 2023-09-12 | Apple Inc. | Reducing description length based on confidence |
US11838734B2 (en) | 2020-07-20 | 2023-12-05 | Apple Inc. | Multi-device audio adjustment coordination |
US11750962B2 (en) | 2020-07-21 | 2023-09-05 | Apple Inc. | User identification using headphones |
US11696060B2 (en) | 2020-07-21 | 2023-07-04 | Apple Inc. | User identification using headphones |
CN113255342A (zh) * | 2021-06-11 | 2021-08-13 | 云南大学 | 一种5g移动业务产品名称识别方法及系统 |
US11979836B2 (en) | 2023-04-26 | 2024-05-07 | Apple Inc. | Method and system for operating a multi-function portable electronic device using voice-activation |
Also Published As
Publication number | Publication date |
---|---|
EP2545426A4 (en) | 2017-05-17 |
US9104312B2 (en) | 2015-08-11 |
WO2011113057A1 (en) | 2011-09-15 |
JP6140668B2 (ja) | 2017-05-31 |
KR101477530B1 (ko) | 2014-12-30 |
KR20130001261A (ko) | 2013-01-03 |
EP2545426A1 (en) | 2013-01-16 |
JP5642809B2 (ja) | 2014-12-17 |
JP2013522972A (ja) | 2013-06-13 |
JP2015057721A (ja) | 2015-03-26 |
CN103038728B (zh) | 2016-01-20 |
KR20140111333A (ko) | 2014-09-18 |
US20150293602A1 (en) | 2015-10-15 |
US20130046544A1 (en) | 2013-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103038728B (zh) | 例如在移动电话上使用触摸屏的多模式文本输入系统 | |
US10282416B2 (en) | Unified framework for text conversion and prediction | |
US9026428B2 (en) | Text/character input system, such as for use with touch screens on mobile phones | |
US20180349472A1 (en) | Methods and systems for providing query suggestions | |
CN101526879B (zh) | 设备上的语言输入接口 | |
US10254953B2 (en) | Text input method using continuous trace across two or more clusters of candidate words to select two or more words to form a sequence, wherein the candidate words are arranged based on selection probabilities | |
US20170357627A1 (en) | Device, Method, and Graphical User Interface for Classifying and Populating Fields of Electronic Forms | |
CN110998560A (zh) | 使用用户特定信息定制建议的方法和系统 | |
US20140055381A1 (en) | System and control method for character make-up | |
US20170090749A1 (en) | Systems and Methods for Disambiguating Intended User Input at an Onscreen Keyboard Using Dual Strike Zones | |
CN105229574A (zh) | 减少基于触摸的键盘的错误率 | |
EP2122443A1 (en) | Process and apparatus for selecting an item from a database | |
Cha et al. | Virtual Sliding QWERTY: A new text entry method for smartwatches using Tap-N-Drag | |
Lee et al. | From seen to unseen: Designing keyboard-less interfaces for text entry on the constrained screen real estate of Augmented Reality headsets | |
US20140253458A1 (en) | Method and System for Suggesting Phrase Completions with Phrase Segments | |
CN102147706A (zh) | 一种通过触滑方式输入汉字全拼的方法 | |
EP3298761B1 (en) | Multi-switch option scanning | |
KR20150093045A (ko) | 스케치 검색 시스템, 사용자 장치, 서비스 제공 장치, 그 서비스 방법 및 컴퓨터 프로그램이 기록된 기록매체 | |
Mrazek et al. | The Tap Strap 2: Evaluating performance of one-handed wearable keyboard and mouse | |
US20230367458A1 (en) | Search operations in various user interfaces | |
Kurosu | Human-Computer Interaction. Interaction Technologies: 20th International Conference, HCI International 2018, Las Vegas, NV, USA, July 15–20, 2018, Proceedings, Part III | |
KR20240050779A (ko) | 조이스틱과 안구 마우스를 활용한 문자 입력시스템 | |
KR20240053333A (ko) | 문장예측시스템의 예측단어 선택과 기호입력방법 | |
CN101627615A (zh) | 为按钮提供更大效用的方法 | |
Laitinen | Two one-handed tilting-based writing techniques on a smartphone |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200918 Address after: Massachusetts, USA Patentee after: Serenes operations Address before: Massachusetts, USA Patentee before: NUANCE COMMUNICATIONS, Inc. |