移动电子设备及移动电子设备中的方法和系统转让专利

申请号 : CN201380045762.7

文献号 : CN104603772B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : C·林斯伯格

申请人 : 微软技术许可有限责任公司

摘要 :

提供了用于根据上下文来自适应地自动纠正文本的方法、移动设备和计算机程序产品。可以在移动电子设备处接收由用户输入的文本。接收到的文本可被显示在该移动电子设备的显示组件处。从多个自动纠正字典中选择自动纠正字典。自动纠正字典可以至少基于表示移动电子设备的使用上下文的使用信息来选择。所显示的文本根据所选自动纠正字典来自动纠正。

权利要求 :

1.一种移动电子设备,包括:

能够至少显示文本字符的显示组件;

文本输入模块,所述文本输入模块接收用户提供给所述移动电子设备的文本,并将接收到的文本提供给所述显示组件以供显示在用户界面中;以及自动纠正模块,所述自动纠正模块根据所选的第一自动纠正字典来自动纠正所显示的文本,所述第一自动纠正字典对应于第一语言,所述自动纠正模块至少基于表示所述移动电子设备的使用上下文的使用信息来从多个自动纠正字典中自动选择所述所选自动纠正字典,所述多个自动纠正字典包括对应于所述第一语言的所述第一自动纠正字典以及对应于不同于所述第一语言的第二语言的第二自动纠正字典,并且当在所述移动电子设备处接收到后续文本时,依据所述后续文本被接收时的使用上下文,根据所选的第一自动纠正字典来纠正所述后续文本,或者所述自动纠正模块自动选择所述第二自动纠正字典并根据所述第二自动纠正字典来自动纠正所述后续文本。

2.如权利要求1所述的移动电子设备,其特征在于,所述使用信息指示所述用户的身份。

3.如权利要求1所述的移动电子设备,其特征在于,所述使用信息指示所述移动电子设备的位置。

4.如权利要求1所述的移动电子设备,其特征在于,所述使用信息包括指示显示所述所显示的文本的时间的时间信息。

5.如权利要求1所述的移动电子设备,其特征在于,所述多个自动纠正字典包括对应于第一语言的第一自动纠正字典以及不同于所述第一自动纠正字典的对应于所述第一语言的第二自动纠正字典。

6.一种移动电子设备中的方法,所述方法包括:

接收用户提供给所述移动电子设备的文本;

在所述移动电子设备的显示组件处显示接收到的文本;

至少基于表示所述移动电子设备的使用上下文的使用信息来从多个自动纠正字典中自动选择第一自动纠正字典,所述多个自动纠正字典包括对应于第一语言的所述第一自动纠正字典以及对应于不同于所述第一语言的第二语言的第二自动纠正字典;以及根据所选的第一自动纠正字典来自动纠正所显示的文本,以及当在所述移动电子设备处接收到后续文本时,依据所述后续文本被接收时的使用上下文,根据所选的第一自动纠正字典来纠正所述后续文本,或者自动选择所述第二自动纠正字典并根据所述第二自动纠正字典来自动纠正所述后续文本。

7.如权利要求6所述的方法,其特征在于,所述自动选择包括:

基于所述用户的身份或者所述移动电子设备的位置中的至少一个来从多个自动纠正字典中自动选择自动纠正字典。

8.如权利要求6所述的方法,其特征在于,所述自动选择包括:

至少基于指示显示所述所显示的文本的时间的时间信息来从多个自动纠正字典中自动选择自动纠正字典。

9.一种移动电子设备中的系统,所述系统包括:

用于接收用户提供给所述移动电子设备的文本的装置;

用于在所述移动电子设备的显示组件处显示接收到的文本的装置;

用于至少基于表示所述移动电子设备的使用上下文的使用信息来从多个自动纠正字典中自动选择第一自动纠正字典的装置,所述多个自动纠正字典包括对应于第一语言的所述第一自动纠正字典以及对应于不同于所述第一语言的第二语言的第二自动纠正字典;以及用于根据所选的第一自动纠正字典来自动纠正所显示的文本的装置,以及用于当在所述移动电子设备处接收到后续文本时,依据所述后续文本被接收时的使用上下文,根据所选的第一自动纠正字典来纠正所述后续文本,或者自动选择所述第二自动纠正字典并根据所述第二自动纠正字典来自动纠正所述后续文本的装置。

说明书 :

移动电子设备及移动电子设备中的方法和系统

[0001] 背景
[0002] 自动纠正是在一些文本处理工具中被实现为自动纠正文本中的拼写和/或打字错误的功能。自动纠正还可用于通过识别特定字符使用来自动格式化文本或插入特殊字符,以使得用户不必手动执行格式化/字符插入。移动设备上用于发送文本消息(例如,短消息服务(SMS)消息等)的工具可实现自动纠正以及其他类型的消息收发工具。自动纠正也可被称为“自动校正”、“键入时替换”和“文本替换”以及其他名称。
[0003] 当前的自动纠正工具被配置成自动纠正特定语言的文本。然而,使用可接收到不止一种语言的文本的设备。在这种情况下,自动纠正工具可能无法适当地工作。例如,说西班牙语的用户可键入单词“yo”,该单词在西班牙语中的意思是“I(我)”。然而,如果自动纠正工具是针对英语配置的,则自动纠正工具可能不合乎需要地将单词“yo”自动纠正为单词“you(你)”或其他英语单词。对文本的这一不期望的纠正对于用户可能是不方便的。如果用户注意到本不应被自动纠正的单词已被自动纠正,则该用户可以手动地将该文本转换回其原始的未经纠正的形式。然而,如果用户未注意到不期望的自动纠正,则用户提供的文本含义可能被不合乎需要地改变,或者文本甚至可能变得令人费解。
[0004] 概述
[0005] 提供本概述以便以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。
[0006] 提供了用于根据上下文来自适应地自动纠正文本的方法、系统和计算机程序产品。根据一方法实现,可以在移动电子设备处接收由用户输入的文本。接收到的文本可由该移动电子设备的显示组件显示。从多个自动纠正字典中选择自动纠正字典。自动纠正字典可以至少基于表示移动电子设备的使用上下文的使用信息来选择。所显示的文本根据所选自动纠正字典来自动纠正。
[0007] 当在移动电子设备处接收到后续文本时,可基于相同的所选自动纠正字典或者基于可取决于接收到该后续文本时的使用上下文来选择的不同的自动纠正字典来自动纠正后续文本。例如,对于后续文本,输入该文本的用户可能已经改变,移动电子设备的位置可能已经改变,以及接收到后续文本的时间是不同的。可基于这些上下文改变中的一个或多个以及任何其他上下文改变来选择相同或不同的自动纠正字典来执行对后续文本的自动纠正。
[0008] 根据一系统或装置实现,一种移动电子设备包括显示组件、文本输入模块和自动纠正模块。显示组件能够至少显示文本字符。文本输入模块接收用户提供给移动电子设备的文本,并将接收到的文本提供给显示组件以供显示在用户界面中。自动纠正模块根据所选自动纠正字典来自动纠正所显示的文本。自动纠正模块至少基于表示移动电子设备的使用上下文的使用信息来从多个自动纠正字典中选择该所选自动纠正字典。
[0009] 本文还描述了包含存储计算机代码/指令的计算机可读存储介质的计算机程序产品,这些计算机代码/指令用于允许自动纠正功能根据使用上下文来自适应以及启用本文描述的附加实施例。
[0010] 下面将参考各个附图,详细描述本发明的进一步特点和优点,以及本发明的各实施例的结构和操作。值得注意的是,本发明不仅限于此处所描述的特定实施例。本文呈现这些实施例仅用于说明性的用途。基于本文所包含的描述,其它实施例对于相关领域的技术人员将是显而易见的。
[0011] 附图简述
[0012] 结合到本说明书并构成本说明书的一部分的附图示出了本发明,且与描述一起,进一步用于说明本发明的原理,并允许那些相关领域技术人员实施和使用本发明。
[0013] 图1示出了根据一示例实施例的配置有自适应自动纠正功能的移动电子设备的框图。
[0014] 图2示出了提供根据一示例实施例的用于基于使用上下文来自适应地自动纠正文本的过程的流程图。
[0015] 图3示出了根据一示例实施例的用于基于用户的身份来选择用于自动纠正文本的自动纠正字典的过程。
[0016] 图4示出了根据一示例实施例的基于用户简档信息来自动纠正文本的自动纠正模块的框图。
[0017] 图5示出了根据一示例实施例的用于基于移动设备的位置来选择用于自动纠正文本的自动纠正字典的过程。
[0018] 图6示出了根据一示例实施例的基于位置来自动纠正文本的系统的框图。
[0019] 图7示出了提供根据一示例实施例的用于基于位置来选择用于自动纠正文本的自动纠正字典的过程的流程图。
[0020] 图8示出了根据一示例实施例的用于基于时间信息来选择用于自动纠正文本的自动纠正字典的过程。
[0021] 图9示出了根据一示例实施例的基于时间信息来自动纠正文本的系统的框图。
[0022] 图10示出了提供根据一示例实施例的用于基于时间来选择用于自动纠正文本的自动纠正字典的过程的流程图。
[0023] 图11示出了可用于实现本发明的各实施例的示例计算机的框图。
[0024] 当结合其中相同的附图标记标识对应的元素的附图时,本发明的特征和优点将从以下阐述的详细描述中变得更加显而易见。在附图中,相同的参考标号一般指相同的、功能上相似的和/或结构上相似的元素。其中元素第一次出现的附图由对应的参考标号中最左侧的数字指示。
[0025] 详细描述
[0026] I.引言
[0027] 本说明书公开了包括本发明的各特征的一个或多个实施例。所公开的实施例只例示了本发明。本发明的范围不仅限于所公开的实施例。本发明由所附的权利要求进行限定。
[0028] 说明书中对“一个实施例”、“一实施例”、“一示例实施例”等等的引用表示所描述的实施例可包括特定特征、结构或特性,但是,每一个实施例可不必包括该特定特征、结构,或特征。此外,这些短语不一定指相同的实施例。此外,当关于某一实施例描述特定特征、结构或特性时,不管是否被明确描述,关于其他实施例来实现该特征、结构或特性被认为是在本领域技术人员的知识范围内。
[0029] 本发明的多个示例性实施例在以下描述。应当注意,在此提供的任何章节/子章节标题不旨在限制。本文档中描述了各实施例,并且任何类型的实施例可被包括在任何章节/子章节下。此外,在任何章节/子章节中公开的各实施例可与在相同章节/子章节和/或不同章节/子章节中描述的任何其它实施例以任何方式组合。
[0030] II.示例实施例
[0031] 自动纠正是在某些文本处理工具中被实现为自动纠正文本中的拼写和/或打字错误并且通过识别特定字符使用来自动格式化文本或插入特殊字符(例如,将缩写改为完整单词/词组等)的功能。各种文本处理相关工具可被配置成实现自动纠正,包括诸如由微软公司开发的 Word以及由安大略省渥太华的Corel公司开发的 等文字处理工具、消息收发工具(例如,电子邮件工具、文本消息收发工具、即时消息收发工具等)以及接收和操纵文本的其他类型的工具。用于发送电子邮件的电子邮件工具的示例包括由华盛顿州雷蒙德市的微软公司提供的 以及由加利福尼亚州山
景城的谷歌公司提供的GmailTM。文本消息收发工具的示例包括用于根据短消息服务(SMS)等来发送文本消息的那些工具。这些示例是出于说明目的而提供的,而不旨在是限制性的。
[0032] 执行自动纠正的工具通常未被配置成针对多种语言处理自动纠正,而是被配置成一次处理单种语言。例如,工具可针对特定语言来预先配置,或者工具的用户可手动设置针对其配置该工具的特定语言。由于被限于处理单种语言,自动纠正工具可能无法在面对不止一种语言的文本时适当地工作。例如,当使用配置有自动纠正的文本消息收发工具时,说西班牙语的用户可键入单词“yo”,该单词在西班牙语中的意思是“I(我)”。然而,如果该自动纠正工具是针对英语配置的,则该自动纠正工具可能将单词“yo”误解为排印错误,并将其自动纠正为英语中的单词“you(你)”或其他单词。这一不期望的自动纠正对于用户可能是不方便的,如果该用户注意到该自动纠正,则该用户将不得不手动将文本转换回其原始的未经纠正的形式。如果用户未注意到该不期望的自动纠正,则其中包括该不期望的自动纠正的消息可被该用户传送到另一用户,从而使该消息的含义被改变和/或变得不可识别。
[0033] 各实施例克服了这些缺陷,使得自动纠正工具能够处理多种语言,并且能够基于上下文来在各语言之间自动切换自动纠正功能。例如,在一实施例中,自动纠正工具可以与对应于多种语言的多个自动纠正字典相关联。例如,第一自动纠正字典可对应于英语,且包括对英语文本的纠正。第二自动纠正字典可对应于意大利语,且包括对意大利语文本的纠正。可以存在对应于其他语言的其他自动纠正字典。此外,对于同一种语言可以存在多个自动纠正字典,包括针对同一种语言的不同方言的自动纠正字典(例如,第一自动纠正字典可对应于英语的第一方言,另一自动纠正字典可对应于英语的第二方言等)、针对同一种语言的不同子集(例如,不同数量的俚语等)的自动纠正字典,等等。
[0034] 在各实施例中,用户可使用包括自动纠正工具(例如,由一个或多个处理器执行的自动纠正应用或计算机程序)的移动设备。基于该移动设备的使用上下文,自动纠正工具可以在针对同一种语言的各个自动纠正字典之间自动改变(例如,开启或关闭特定自动纠正项,以使得在该语言中自动纠正先前未被自动纠正的附加单词/词组,或者使得不再自动纠正先前被自动纠正的一个或多个单词/词组)。或者,基于移动设备的使用上下文,自动纠正工具可以自动在完全不同的语言之间的自动纠正字典之间改变。
[0035] 在各实施例中,可跟踪各种使用上下文特性,并使用这些使用上下文特性来导致自动纠正字典的自动改变。这些使用上下文特性可包括以下各项中的一个或多个:
[0036] (a)设备的地理位置:例如,自动纠正功能可基于移动设备所位于的特定国家来改变,可基于地理边界(例如,如可被指示为地图上的边界形状)来改变,可基于离中央位置的特定距离(例如,离贝尔维尤市中心500英尺等)来改变,或者可基于另一位置定义来改变。
[0037] (b)时刻:自动纠正功能可基于诸如时刻、一周中的日子、特定月份、一年等时间信息来改变。例如,早上(例如,在某人与亲戚进行文本交流时)的自动纠正功能可相对于这天中的中间部分期间(例如,在工作时间期间)的自动纠正功能改变。在另一示例中,自动纠正功能可基于月份中的特定日子以及年份中的特定日子或月份(例如,在某人出国拜访家人时,与出国与会相比)来改变,等等。
[0038] (c)用户:自动纠正功能可基于使用移动设备的特定用户(例如,登录到笔记本计算机的用户等)来改变。例如,使用移动设备的用户能够说一种或多种语言,并且移动设备的自动纠正功能可被配置成变为用户理解的一种语言。
[0039] 在各实施例中,这一自适应自动纠正功能可以按各种方式在移动设备中实现。例如,图1示出了根据一示例实施例的配置有自适应自动纠正功能的移动电子设备102的框图。如图1所示,移动电子设备102包括显示组件104、文本输入模块106、自动纠正模块108和存储110。移动电子设备102及其特征如下描述。
[0040] 移动电子设备102可以是任何类型的移动计算机或计算设备,诸如手持式设备(例如, 设备、RIM 设备、个人数字助理(PDA))、膝上型计算机、上网本计算机、平板计算机(例如,苹果iPadTM、微软SurfaceTM等)、上网本、移动电话(例如,智能电话,诸如苹果iPhone、谷歌AndroidTM电话、微软 电话等)或其他类型的移动设备。
[0041] 显示组件104是移动电子设备102的显示器,该显示器用于向移动电子设备102的用户显示文本(文本字符,包括字母数字字符、算术符号等)以及可选的图形。例如,显示组件104可包括作为移动电子设备102的表面的一部分或全部的显示屏。显示屏可以是或不是触敏的。显示组件104可以是LED(发光二极管)型显示器、LCD(液晶显示器)型显示器、等离子显示器或可以是或不是背光的其它类型的显示器。
[0042] 文本输入模块106被配置成接收由用户提供给移动电子设备102的文本122。用户提供的文本122可包括任何数量的字符以及任何数量的单词。在一些SMS实施例中,文本122可被限于160个字符。移动电子设备102可包括可用于使用户能够提供文本122的一个或多个用户接口元件,诸如键盘(例如,用户可键入文本)、拇指轮、定点设备、滚球、指点杆、触敏显示器、任何数量的虚拟接口元件(例如,诸如虚拟键盘或由显示组件104显示在用户界面中的其他用户接口元件)、语音识别系统(例如,用户可说出文本)和/或在本文他处描述或以其他方式知晓的其他用户接口元件。在另一实施例中,移动电子设备102包括被配置成通过触摸感测、通过向用户施加压力、振动和/或运动来使得移动电子设备102与用户对接的触觉接口。例如,移动电子设备102的用户可以穿戴手套或其他假体以提供触觉接触。
[0043] 文本输入模块106可存储文本122(例如,在存储器或其他存储中,诸如在存储110中),并且可将文本122提供给显示组件104以供显示。例如,如图1所示,文本输入模块106可将接收到的文本传送到显示组件104作为接收到的文本124。文本输入模块106可以按任何形式(例如,作为字符数据、显示器像素数据、光栅化图形等)向显示组件104提供接收到的文本124。显示组件104可以在用户界面112中显示接收到的文本124作为所显示的文本114。
[0044] 在一实施例中,用户界面112是包括其中可显示所显示的文本114的显示区域的图形用户界面(GUI)。例如,用户界面112可以是文字处理工具或消息收发工具的图形窗口,其中可显示文本并且可任选地由文本输入模块106来生成文本以供显示组件104显示。
[0045] 在一实施例中,自动纠正模块108可以从文本输入模块106接收接收到的文本124。在各实施例中,自动纠正模块108可被包括在文本输入模块106中,或者可以与文本输入模块106分开(如图1所示)。自动纠正模块108被配置成自动纠正接收到的文本124。例如,在一实施例中,自动纠正模块108可根据所选自动纠正字典128来自动纠正接收到的文本,该所选自动纠正字典128是从存储在存储110中的包括第一自动纠正字典116、第二自动纠正字典118等在内的多个自动纠正字典中自动选择的。可以存在任何数量的自动纠正字典116、
118等。每一个自动纠正字典是针对相应语言的自动纠正字典,并因此该多个自动纠正字典可包括针对同一种语言的不同方言、针对同一种语言的不同子集和/或针对多种完全不同的语言的自动纠正字典。
[0046] 注意,存储110可包括任何类型的存储机构中的一个或多个,包括(例如,在硬盘驱动器中的)磁盘、(例如,在光盘驱动器中的)光盘、(例如,在磁带驱动器中的)磁带、诸如RAM(随机存取存储器)设备、ROM(只读存储器)设备等存储器设备,和/或任何其他合适类型的存储介质。
[0047] 在一实施例中,自动纠正模块108被配置成基于使用信息120来从多个自动纠正字典中选择所选自动纠正字典128。使用信息120包括表示用户的移动电子设备102的使用上下文的信息。例如,使用信息120可包括关于移动电子设备102的用户的身份信息(例如,用户的标识符、用户说的一种或多种语言的标识等)、关于移动电子设备102的位置信息(例如,移动电子设备102的当前位置)、时间信息(例如,当前日期和/或时间)和/或其他类型的使用信息。
[0048] 如图1所示,自动纠正模块108生成经纠正的文本126,该经纠正的文本126是接收到的文本124根据所选自动纠正字典128来自动纠正的一个版本。例如,一个或多个拼写错误可能已被纠正(例如,将字符“netowrk”改为“network”),一个或多个打字错误可能已被纠正(例如,将字符“The end.”改为“The end.”),文本格式化的一个或多个实例可能已被执行(例如,将字符“omg”改为“Oh my God”),一个或多个特殊字符(例如,不是标准字母数字字符的字符)可能已被插入(例如,将“:)”改为笑脸字符 ),和/或其他形式的自动纠正可能已由自动纠正模块108对接收到的文本124自动执行以生成经纠正的文本126。
[0049] 如图1所示,文本输入模块106接收经纠正的文本126,并将该经纠正的文本126提供给显示组件104以便在用户界面112中被显示为所显示的文本114以代替接收到的文本124。文本输入模块106还可将经纠正的文本126存储在存储中以代替接收到的文本124。注意,用户可能决定不接受将接收到的文本124自动纠正为经纠正的文本126,并且可以与用户界面112交互以拒绝该自动纠正,以使得接收到的文本124再次被显示在用户界面112中(并丢弃经纠正的文本126)。
[0050] 图2示出了提供根据一示例实施例的用于基于使用上下文来自适应地自动纠正文本的过程的流程图200。在一实施例中,移动电子设备102可根据流程图200来操作。流程图200被描述如下。基于以下描述,其他结构及操作的实施例对于相关领域的技术人员将是显而易见的。
[0051] 流程图200开始于步骤202。在步骤202,接收用户提供给移动电子设备的文本。例如,如图1所示,可由移动电子设备102的文本输入模块106来从用户接收文本122。用户可通过以任何方式(包括根据本文他处描述或以其他方式知晓的用户接口元件/技术)与移动电子设备102的一个或多个用户接口元件交互来提供文本122。例如,用户可通过将文本122键入键盘、通过说出文本122(经由语音识别)、经由姿势识别和/或根据任何其他技术来提供文本122。
[0052] 在步骤204中,可以在移动电子设备的显示组件处显示接收到的文本。例如,如图1所示,用户提供给文本输入模块106的文本122可作为接收到的文本124被传送到显示组件104以便显示为所显示的文本114。在一个实施例中,当用户将每一个字符输入到文本122时,可提供该字符以供显示在显示组件104中。
[0053] 在步骤206中,至少基于表示用户的移动电子设备的使用上下文的使用信息来从多个自动纠正字典中自动选择自动纠正字典。例如,如图1所示,可由自动纠正模块108从文本输入模块106接收接收到的文本124。自动纠正模块108可被配置成基于移动电子设备102的使用上下文来自动选择存储110中的自动纠正字典之一。例如,移动电子设备102的用户的身份、移动电子设备102的用户的位置和/或当前时间中的一个或多个可被用来自动选择自动纠正字典。如图1所示,自动纠正模块108接收从存储110中选择的自动纠正字典128。通过为用户自动选择自动纠正字典,用户无需手动选择自动纠正字典,并且可以始终使用适当的自动纠正字典。注意,在一些实施例中,步骤206可以在步骤202和/或步骤204之前进行。
[0054] 用于基于使用信息来自动选择自动纠正字典的示例实施例在下文进一步描述。
[0055] 在步骤208中,根据所选自动纠正字典来自动纠正所显示的文本。如图1所示,自动纠正模块108可根据所选自动纠正字典128来自动纠正接收到的文本124。自动纠正模块108可以用经纠正的项来替换接收到的文本124中的项(例如,字符、单词、词组、符号等)以生成经纠正的文本126。经纠正的文本126可被提供给显示组件104以便显示为所显示的文本114。
[0056] 诸如第一自动纠正字典116和第二自动纠正字典118等自动纠正字典可以按任何方式被配置成启用自动纠正。例如,在实施例中,自动纠正字典可包括将在由用户输入作为文本122时被自动纠正的项(例如,字符、单词、词组和/或符号)的预配置列表。此外,自动纠正字典可包括用作针对将被自动纠正的项的自动替换文本的纠正项的对应列表。例如,示例英语自动纠正字典的一部分如下所示:
[0057]
[0058] 上述示例自动纠正字典的第一列是将被自动纠正的项的预配置列表。上述示例的第二列是对应于第一列中的项的纠正项的列表。第二列中的纠正项被用作针对第一列中的对应项的替换文本。
[0059] 例如,项“yuor”可被自动纠正模块108在接收到的文本124中接收到。自动纠正模块108可以使用上述示例自动纠正字典,可以检测到接收到的项“yuor”在上述示例自动纠正字典的第一列中,并且由此可以用第二列中的对应的纠正项“your”来替换接收到的项“yuor”。该纠正可被包括在自动纠正模块108输出的经纠正的文本126中。
[0060] 在其他实施例中,自动纠正模块108可使用其他技术/算法来自动纠正接收到的文本124以生成经纠正的文本126。
[0061] 在各实施例中,流程图200的步骤206可以按各种方式执行,并且自动纠正模块108可以按各种方式被配置成基于使用上下文来选择自动纠正字典。用于步骤206和自动纠正模块108的示例实施例在以下子章节中描述。注意,本文描述的实施例可以按任何形式组合,并且可基于使用上下文(用户身份、位置、时间等)中的任一个或任何组合来选择自动纠正字典以执行自动纠正。
[0062] A.基于用户身份来自动纠正文本
[0063] 在一实施例中,对用户提供的文本的自动纠正可至少基于提供文本的用户的身份来执行。以此方式,自动纠正更有可能用该用户可以理解的语言来为该用户执行。
[0064] 例如,在一实施例中,流程图200的步骤206可根据图3来操作。图3示出了根据一示例实施例的用于基于用户的身份来选择用于自动纠正文本的自动纠正字典的步骤302。在步骤302中,至少基于用户的身份来从多个自动纠正字典中自动选择自动纠正字典。在一实施例中,图1的自动纠正模块108可根据步骤302来操作,并且使用信息120可包括与用户相关联的身份信息。
[0065] 移动电子设备102的用户的身份可以按各种方式确定。例如,可以诸如通过访问与该用户的帐户(包括用户的操作系统登录帐户、用户的文本消息帐户、用户的电子邮件帐户、用户的社交网络帐户、用户的另一帐户)相关联的用户简档和/或以另一种方式来访问与用户的身份相关联的信息。
[0066] 例如,图4示出了根据一示例实施例的被配置成基于用户简档信息来自动纠正文本的自动纠正模块108的框图。如图4所示,自动纠正模块108接收用户简档信息402。用户简档信息402可包括关于该用户的各种类型的身份信息,包括身份404、语言406和/或其他信息。身份404指示用户的身份。身份404可以按各种方式指示用户身份,诸如通过姓名、通过登录标识符、通过标识号和/或用另一种方式。语言406指示用户可理解的一种或多种语言。例如,语言406可指示一种或多种不同的语言、同一种语言的方言、同一种语言的子集和/或用户可理解的其他语言形式。每一种语言可通过名称、通过对应的语言标识符(例如,标识号)或以其他方式标识。
[0067] 在一实施例中,当图1的移动电子设备102的用户提供文本122时,自动纠正模块108可以从存储110中的多个自动纠正字典中自动选择针对如在图4的用户简档信息402中标识的该用户说的语言的自动纠正字典。
[0068] 例如,如图4所示,自动纠正模块108可接收接收到的文本124和用户指示408。用户指示408指示输入接收到的文本124的特定用户。例如,用户指示408可通过用户(在已登录时)的登录标识符或以另一种方式指示特定用户。自动纠正模块108可将用户的登录标识符或其他标识符与用户简档信息402中的身份404进行比较以确定用户简档信息402是否是该用户的用户简档信息402。注意,可以为多个用户维护多个用户简档,这些用户简档各自具有对应的用户简档信息402。当对应于用户的标识符的用户简档信息402被确定时,自动纠正模块108可访问所确定的用户简档信息402中的语言406以确定该用户可理解的一种或多种语言。自动纠正模块108然后可以从存储110(图1)中选择对应于该用户可理解的语言的自动纠正字典。
[0069] 在一种情形中,语言406可(例如通过语言标识符)指示用户可理解的单种语言。在这种情况下,自动纠正模块108可以在存储110中定位并选择针对该特定语言的自动纠正字典(例如,具有匹配的语言标识符的自动纠正字典)。在另一示例中,语言406可指示用户可理解的多种语言(例如,每一种语言都由对应的语言标识符来标识)。在这种情况下,自动纠正模块108可诸如通过随机选择一种语言、选择被指示为最高优先级(例如,用户理解最佳)的语言、基于其他使用信息来选择一种语言和/或以另一种方式选择该语言。自动纠正模块108然后可以在存储110中定位并选择针对所选语言的自动纠正字典(例如,具有匹配的语言标识符的自动纠正字典)。
[0070] 如图4所示,自动纠正模块108可接收所选自动纠正字典作为所选自动纠正字典128,可根据所选自动纠正字典128(例如,根据流程图200的步骤208)来自动纠正接收到的文本124,并且可生成经纠正的文本126以包括经自动纠正的文本。如图1所示,经纠正的文本126可由显示组件104作为所显示的文本114来向用户显示。
[0071] B.基于位置来自动纠正文本。
[0072] 在一实施例中,对用户提供的文本的自动纠正可至少基于从用户接收文本的移动设备的位置、接收文本的时间来执行。以此方式,自动纠正更有可能用该用户可以理解的语言来为该用户执行。
[0073] 例如,如果用户正在美国使用移动设备,则该用户理解并期望以英语交流是相当有可能的。由此,移动设备的自动纠正功能可被设为英语。在另一时间,如果用户正在意大利使用移动设备,则该用户理解并期望以意大利语交流是相当有可能的。由此,移动设备的自动纠正功能可被改为意大利语。以此方式自动改变自动纠正语言可使得用户不必在只要用户改变位置就手动地改变语言。
[0074] 这一位置选择可被设为任何粒度水平的位置区域,包括按国家、省、州、县、城市、自治市、街道、自定义区域(例如,通过用户与用户接口元件交互以绘制围绕区域的边界来配置)或任何其他位置区域。
[0075] 例如,在一实施例中,流程图200的步骤206可根据图5来操作。图5示出了根据一示例实施例的用于基于移动设备的位置来选择用于自动纠正文本的自动纠正字典的步骤502。在步骤502中,至少基于移动设备的位置来从多个自动纠正字典中自动选择自动纠正字典。在一实施例中,图1的自动纠正模块108可根据步骤502来操作,并且使用信息120可包括与移动设备相关联的位置信息。
[0076] 移动电子设备102的位置可以按各种方式确定。例如,移动电子设备102的位置可根据GPS(全球定位系统)技术、通过对多个蜂窝塔之间的无线电信号的多点定位和/或根据相关领域内的技术人员已知的其他技术来确定。
[0077] 例如,图6示出了根据一示例实施例的基于位置来自动纠正文本的系统600的框图。如图6所示,系统600包括位置确定器602和自动纠正模块108。系统600可以部分地或全部在诸如图1的移动电子设备102等移动设备中实现。位置确定器602被配置成确定移动设备的位置并输出该位置的指示作为所确定的位置606。如图6所示,自动纠正模块108接收所确定的位置606并至少基于所确定的位置606来选择自动纠正字典。自动纠正模块108根据所选自动纠正字典来自动纠正接收到的文本124以生成经纠正的文本126。
[0078] 在一实施例中,步骤206可根据图7来执行。图7示出了提供根据一示例实施例的用于基于位置来选择用于自动纠正文本的自动纠正字典的过程的流程图700。在一实施例中,图6的系统600可根据流程图700来操作。如下参考系统600描述流程图700。基于以下描述,其他结构及操作的实施例对于相关领域的技术人员将是显而易见的。
[0079] 流程图700开始于步骤702。在步骤702,由移动电子设备的位置确定器来确定移动电子设备的位置。如上所述,图1的移动电子设备102的用户可提供文本122。在一实施例中,位置确定器602被配置成在接收到文本122时确定移动电子设备102的位置,并输出该位置的指示作为所确定的位置606。位置确定器602可被配置成用诸如根据GPS技术、通过对来自蜂窝塔的无线电信号的多点定位和/或根据本文他处提及或以其他方式知晓的其他技术等任何方式来确定移动设备的位置。例如,在一实施例中,位置确定器602可包括GPS接收机,该GPS接收机从GPS卫星接收信号并使用GPS技术来基于接收到的信号的定时确定位置。
[0080] 在步骤704中,将所确定的位置与同多个自动纠正字典相关联的多个地理区域进行比较。如图6所示,自动纠正模块108接收所确定的位置606。所确定的位置606指示移动设备的所确定的位置。例如,所确定的位置606可包括位置的坐标(例如,纬度和经度),或者位置确定器602可确定所确定的位置(例如,国家、州、县、城市、街道、自定义区域等)的标识符,并且可以在所确定的位置606中包括该标识符。
[0081] 在一实施例中,存储110(图1)中所存储的每一个自动纠正字典具有标识该自动纠正字典将用于哪一个(哪些)位置区域的对应的位置信息。例如,第一自动纠正字典116可以是英语自动纠正字典,并且可具有将美国、英格兰和澳大利亚指示为适用位置区域的位置信息。第二自动纠正字典118可以是意大利语自动纠正字典,并且可具有将意大利、瑞士、圣马力诺、梵蒂冈、斯洛文尼亚伊斯特拉和克罗地亚中的伊斯特拉县指示为适用位置区域的位置信息。
[0082] 自动纠正模块108包括比较器604。比较器604被配置成将所确定的位置606与对应于存储110中的每一个自动纠正字典的位置区域信息进行比较以确定使用哪一个自动纠正字典来执行自动纠正。例如,如图6所示,比较器604可以从每一个自动纠正字典接收位置信息608。比较器604可将所确定的位置606与位置信息608进行比较以确定哪一个(哪些)自动纠正字典适用于所确定的位置606。例如,比较器604可确定在所确定的位置606中接收到的位置坐标指示作为针对第一自动纠正字典116指示的位置区域的美国内的位置。结果,比较器604可提供指示第一自动纠正字典116的比较结果。
[0083] 回头参考图7,在步骤706中,至少基于比较来从多个自动纠正字典中选择自动纠正字典。在一实施例中,自动纠正模块108可以从存储110中选择比较器604指示为适用于所确定的位置606的自动纠正字典。在多个自动纠正字典被比较器604指示为与所确定的位置606相关联的情况下,自动纠正模块108可以按任何方式选择该多个自动纠正字典中的一个,诸如通过随机选择一个自动纠正字典、选择被指示为相对于其他相关联的自动纠正字典的最高优先级的一个自动纠正字典、基于其他使用信息来选择一个自动纠正字典或者以另一种方式选择一个自动纠正字典。
[0084] 如图6所示,自动纠正模块108可接收所选自动纠正字典作为所选自动纠正字典128,可根据所选自动纠正字典128来自动纠正接收到的文本124,并且可生成经纠正的文本
126。如图1所示,经纠正的文本126可由显示组件104作为所显示的文本114来向用户显示。
[0085] C.基于时间信息来自动纠正文本
[0086] 在一实施例中,对用户提供的文本的自动纠正可以至少基于指示移动设备从该用户接收到该文本的时间和/或日期的时间信息来执行。以此方式,自动纠正更有可能用该用户可以理解的语言来为该用户执行。
[0087] 例如,用户可以是在美国工作的意大利人。如果该用户正在工作时间使用移动设备,则该用户期望在该用户的工作场所用英语交流是相当有可能的(在英语是该用户的工作场所中所使用的主要语言的情况下)。由此,移动设备的自动纠正功能可以在工作时间期间被自动设为英语。如果在一天中的其他时间和/或周末该用户正在更休闲的环境中使用该移动设备(例如,来与朋友和/或家人交流),则该用户期望用该用户的本国语言(意大利语)来交流是相当有可能的。由此,移动设备的自动纠正功能可以在非工作时间(例如,早上、晚上和周末)期间被自动改为意大利语。以此方式自动改变自动纠正语言可使得用户不必每天多次手动改变语言。
[0088] 注意,自动纠正功能可以针对任何粒度水平的时间段(包括分钟、小时、天、周、月、各周的各部分(例如,特定工作日/周末)、各天的各部分(例如,早上、下午、晚上等)或任何其他时间段)设置和改变。可使用户能够设置使用特定自动纠正字典的时间/日期的时间表。或者,自动纠正模块108可使用机器学习和/或其他技术(例如,基于用户活动的历史)来自动预测用户在特定时间/日期可能优选使用哪一种语言来进行自动纠正,并由此自动选择用户可以在特定时间/日期使用的自动纠正字典。
[0089] 例如,在一实施例中,流程图200的步骤206可根据图8来操作。图8示出了根据一示例实施例的用于基于时间信息来选择用于自动纠正文本的自动纠正字典的步骤802。在步骤802中,至少基于指示显示所显示的文本的时间的时间信息来从多个自动纠正字典中自动选择自动纠正字典。在一实施例中,图1的自动纠正模块108可根据步骤802来操作,并且使用信息120可包括与移动设备相关联的时间信息。
[0090] 当前时间可以按各种方式确定。例如,移动电子设备102可包括指示时间/日期的时钟,可包括与用户相关联的指示时间/日期的日历工具和/或可根据相关领域的技术人员已知的另一机制来确定时间。
[0091] 图9示出了根据一示例实施例的基于时间信息来自动纠正文本的系统900的框图。如图9所示,系统900包括日历工具902、时钟904和自动纠正模块108。系统900可以部分地或全部在诸如图1的移动电子设备102等移动设备中实现。日历工具902是在移动设备上执行的使用户能够在各个时间安排约会(例如,会议、任务等)的日历工具,诸如或其他日历工具/应用。时钟904是移动设备中的指示当前时间908
(例如,接收到将被自动纠正的文本的时间或者接收到将被自动纠正的文本之前的时间)的时钟机制(例如,计算机程序等)。时钟904的示例是相关技术领域的技术人员公知的。
[0092] 在一实施例中,自动纠正模块108可访问日历工具902以确定用户的一个或多个约会,并由此基于约会的内容来改变自动纠正字典。如图6所示,自动纠正模块108可以从时钟904接收当前时间908,并且可访问日历工具902以确定用户在当前时间908所指示的时间是否具有约会。自动纠正模块108可以从约会中提取约会信息910。约会信息910可包括各种信息,诸如指示进行会议的位置(如上所述可用于选择自动纠正字典)、指示用于进行会议的语言或者其他约会相关信息。自动纠正模块108可以至少基于从日历工具902接收到的关于当前时间的约会信息910来选择自动纠正字典。自动纠正模块108根据所选自动纠正字典来自动纠正接收到的文本124以生成经纠正的文本126。
[0093] 在一实施例中,步骤206可根据图10来执行。图10示出了提供根据一示例实施例的用于基于时间来选择用于自动纠正文本的自动纠正字典的过程的流程图1000。在一实施例中,图9的系统900可根据流程图1000来操作。如下参考系统900描述流程图1000。基于以下描述,其他结构及操作的实施例对于相关领域的技术人员将是显而易见的。
[0094] 流程图1000开始于步骤1002。在步骤1002中,确定显示所显示的文本的日期和时间。如上所述,图1的移动电子设备102的用户可提供文本122。在一实施例中,时钟904被配置成指示当前时间。当前时间908可由自动纠正模块108在接收到文本122时访问以确定接收到接收到的文本124的时间和/或日期。
[0095] 在步骤1004中,访问与用户相关联的日历以获取在所确定的日期和时间的约会。如图9所示,自动纠正模块108包括约会分析器906。约会分析器906被配置成分析从日历工具902接收到的约会以获得可用于选择自动纠正字典的信息。例如,如图9所示,约会分析器
906接收当前时间908。约会分析器906可访问在日历工具902中被安排在当前时间908进行的约会以检索约会信息910。约会信息910可包括在当前时间908进行的约会的内容,该内容指示约会参与者、约会/会议的位置等中的一个或多个。约会分析器906可分析约会信息910以确定用户位置(例如,在会议位置)。
[0096] 回头参考图10,在步骤1006中,至少基于与约会相关联的信息来从多个自动纠正字典中选择自动纠正字典。在一实施例中,自动纠正模块108可以从存储110中选择由约会分析器906指示的、针对适用于通过分析约会信息910来确定的位置的语言的自动纠正字典。在多个自动纠正字典被约会分析器906指示为与所确定的位置相关联的情况下,自动纠正模块108可以按任何方式选择该多个自动纠正字典中的一个,诸如通过随机选择一个自动纠正字典、选择被指示为相对于其他相关联的自动纠正字典的最高优先级的一个自动纠正字典、基于其他使用信息来选择一个自动纠正字典或者以另一种方式选择一个自动纠正字典。
[0097] 如图9所示,自动纠正模块108可接收所选自动纠正字典作为所选自动纠正字典128,可根据所选自动纠正字典128来自动纠正接收到的文本124,并且可生成经纠正的文本
126。如图1所示,经纠正的文本126可由显示组件104作为所显示的文本114来向用户显示。
[0098] D.用于自动纠正文本的附加实施例
[0099] 如上所述,本文描述的使用信息中的任一个可被组合用于选择自动纠正字典。此外,尽管自动纠正字典在图1中被示为存储在移动电子设备102中(存储110中),但在一实施例中,所选自动纠正字典可由移动电子设备102通过网络(例如,局域网(LAN)或诸如因特网等广域网(WAN))从远程设备(例如,服务器,诸如基于“云”的服务器)检索到。此外,尽管使用信息120在上文中被描述为是在移动电子设备102中确定的,但在一实施例中,使用信息120可以远离移动电子设备102地确定并被传送到该移动电子设备102。例如,可使用诸如服务器(例如,基于“云”的服务器)等远程设备来确定用户身份(例如,通过访问远程维护的用户帐户等),确定用户位置(例如,通过用户输入到社交网络的位置信息),确定时间信息(例如,通过访问远程存储的日历等)和/或确定其它类型的使用信息。
[0100] III.示例计算设备实施例
[0101] 文本输入模块106、自动纠正模块108、位置确定器602、比较器604、日历工具902、时钟904、约会分析器906、流程图200、步骤302、步骤502、流程图700、步骤802和流程图1000可以用硬件或者硬件和软件和/或固件的任何组合来实现。例如,文本输入模块106、自动纠正模块108、位置确定器602、比较器604、日历工具902、时钟904、约会分析器906、流程图200、步骤302、步骤502、流程图700、步骤802和/或流程图1000可被实现为被配置成在一个或多个处理器中执行且被存储在计算机可读存储介质中的计算机程序代码。或者,文本输入模块106、自动纠正模块108、位置确定器602、比较器604、日历工具902、时钟904、约会分析器906、流程图200、步骤302、步骤502、流程图700、步骤802和/或流程图1000可被实现为硬件逻辑/电子电路。
[0102] 例如,在一实施例中,文本输入模块106、自动纠正模块108、位置确定器602、比较器604、日历工具902、时钟904、约会分析器906、流程图200、步骤302、步骤502、流程图700、步骤802和/或流程图1000中的一个或多个可以一起在片上系统(SoC)中实现。SoC可包括集成电路芯片,该集成电路芯片包括以下一个或多个:处理器(如微控制器、微处理器、数字信号处理器(DSP)等等)、存储器、一个或多个通信接口、和/或用于执行其功能的进一步的电路和/或嵌入的固件。
[0103] 图11描绘了其中可以实现本发明的各实施例的计算机1100的示例性实现。例如,移动电子设备102可被实现在类似于计算机1100的一个或多个计算机系统中,这些计算机系统包括计算机1100的一个或多个特征和/或各另外的特征。此处所提供的对计算机1100的描述只是为了说明,并不是限制性的。如相关领域的技术人员所知道的,本发明的各实施例可以在其他类型的计算机系统中实现。
[0104] 如图11所示,计算机1100包括一个或多个处理器1102、系统存储器1104,以及将包括系统存储器1104的各种系统组件耦合到处理器1102的总线1106。总线1106表示若干类型的总线结构中的任何一种总线结构的一个或多个,包括存储器总线或存储器控制器、外围总线、加速图形端口,以及处理器或使用各种总线体系结构中的任何一种的局部总线。系统存储器1104包括只读存储器(ROM)1108和随机存取存储器(RAM)1110。基本输入/输出系统1112(BIOS)储存在ROM 1108中。
[0105] 计算机1100还具有一个或多个以下驱动器:用于读写硬盘的硬盘驱动器1114、用于读或写可移动磁盘1118的磁盘驱动器1116、以及用于读或写诸如CD ROM、DVD ROM或其他光介质之类的可移动光盘1122的光盘驱动器1120。硬盘驱动器1114、磁盘驱动器1116,以及光驱动器1120分别通过硬盘驱动器接口1124、磁盘驱动器接口1126,以及光学驱动器接口1128连接到总线1106。驱动器以及它们相关联的计算机可读介质为计算机提供了对计算机可读指令、数据结构、程序模块,及其他数据的非易失存储器。虽然描述了硬盘、可移动磁盘和可移动光盘,但是,也可以使用诸如闪存卡、数字视频盘、随机存取存储器(RAM)、只读存储器(ROM)等等之类的其他类型的计算机可读存储介质来储存数据。
[0106] 数个程序模块可被储存在硬盘、磁盘、光盘、ROM或RAM上。这些程序包括操作系统1130、一个或多个应用程序1132、其他程序模块1134以及程序数据1136。应用程序1132或程序模块1134可包括例如用于实现文本输入模块106、自动纠正模块108、位置确定器602、比较器604、日历工具902、时钟904、约会分析器906、流程图200、步骤302、步骤502、流程图
700、步骤802和/或流程图1000(包括流程图200、700和1000中的任一个步骤)和/或本文描述的附加实施例的计算机程序逻辑(例如,计算机程序代码或指令)。
[0107] 用户可以通过诸如键盘1138和定点设备1140之类的输入设备向计算机1100中输入命令和信息。其它输入设备(未示出)可包括话筒、控制杆、游戏手柄、卫星天线、扫描仪、触摸屏和/或触摸平板、用于接收语音输入的语音识别系统、用于接收手势输入的手势识别系统、诸如此类。这些及其他输入设备常常通过耦合到总线1106的串行端口接口1142连接到处理器1102,但是,也可以通过其他接口,诸如并行端口、游戏端口、通用串行总线(USB)端口,来进行连接。
[0108] 显示组件1144也通过诸如视频适配器1146之类的接口连接到总线1106。除了监视器之外,计算机1100还可包括其他外围输出设备(未示出),如扬声器和打印机。
[0109] 计算机1100通过适配器或网络接口1150、调制解调器1152、或用于通过网络建立通信的其他手段连接到网络1148(例如,因特网)。可以是内置的或外置的调制解调器1152可以经由串行端口接口1142连接到总线1106,如图11所示,或者可以使用包括并行接口的另一接口类型连接到总线1106。
[0110] 如此处所用的,术语“计算机程序介质”、“计算机可读介质”以及“计算机可读存储介质”被用于泛指介质,诸如与硬盘驱动器1114相关联的硬盘、可移动磁盘1118、可移动光盘1122,以及其他介质,诸如闪存卡、数字视频盘、随机读取存储器(RAM)、只读存储器(ROM)等。这些计算机可读存储介质与通信介质相区别且不重叠(不包括通信介质)。通信介质通常在诸如载波等已调制数据信号中承载计算机可读指令、数据结构、程序模块或者其它数据。术语“已调制数据信号”是指使得以在信号中编码信息的方式来设置或改变其一个或多个特性的信号。作为示例而非限制,通信介质包括无线介质,如声学、RF、红外和其它无线介质。各个实施例也针对这些通信介质。
[0111] 如上文所指示的,计算机程序和模块(包括应用程序1132及其他程序模块1134)可被储存在硬盘、磁盘、光盘、ROM或RAM上。这样的计算机程序也可以通过网络接口1150、串行端口接口1142或任何其他接口类型来接收。这样的计算机程序,当由应用执行或加载时,使得计算机1100能实现此处所讨论的本发明的特征。相应地,这样的计算机程序表示计算机1100的控制器。
[0112] 本发明还涉及包括储存在任何计算机可使用介质上的软件的计算机程序产品。这样的软件,当在一个或多个数据处理设备中执行时,使数据处理设备如此处所描述的那样操作。本发明的各实施例使用现在已知的或将来已知的任何计算机可使用或计算机可读介质。计算机可读介质的示例包括,但不仅限于,诸如RAM、硬盘驱动器、软盘、CD ROM、DVD ROM、zip磁盘、磁带、磁存储设备、光存储设备、MEM(存储器)、基于纳米技术的存储设备等等之类的存储设备。
[0113] IV.结语
[0114] 尽管上文描述了本发明的各实施例,但是,应该理解,它们只是作为示例来呈现的,而不作为限制。那些精通有关技术的人员将理解,在不偏离如所附权利要求书所定义的本发明的精神和范围的情况下,可以在形式和细节方面进行各种修改。因此,本发明的范围不应该受到上述示例性实施例的任一个的限制,而只应根据下面的权利要求和它们的等效内容进行定义。