用于自适应拼写检查的系统和方法

文档序号:6614291阅读:190来源:国知局

专利名称::用于自适应拼写检查的系统和方法
技术领域
:本发明一般涉及一种用于拼写检查和纠正的系统和方法,并且特别涉及一种用于基于单独用户或用户团体的历史拼写模式的映射的自适应拼写检查器的系统和方法。
背景技术
:例如在常用字处理应用找到的针对电子文档的常规拼写纠正系统(例如拼写检查器)在逐字基础上进行操作,并且检查文档中的每个字词是否在字典中被找到。所述字典例如可以包括被拼写检查器存储和/或访问的有效字符串的预定列表。当字词被发现在字典中有匹配时,该字词被认为是正确拼写的。然而,当字词未在字典中被找到时,该字词被指示为不正确拼写的。不正确拼写的字词可以例如经由加下划线和/或加亮来为用户标识出来。许多常规拼写检查程序不仅检测错误拼写的字词,而且还提供可选字词的选择作为该错误拼写的字词的建议替代。所述可选字词的选择可以根据其与用户试图键入的字词的相似性按等级顺序呈现。填充建议替代列表的可选字词从替代字词的选择的静态集合(例如字典)中选出,其中或许应用了几个有效可选后缀^J'J。例如,如果用户打算键入"recede"这个字词但输入了"resead",则典型的拼写检查器可以检测到该错误拼写的字词,并且按下面的等级顺序呈现下面的可选字词作为建i5C替代reseatrescndreread所述可选字词仅是来自接近匹配被错误拼写的字词的字符序列的有效字词的静态列表(例如字典)的正确拼写的字词。所述可选字词列表通常在拼写错误是"笔误"的结果(例如,字词的字符的遗漏、字词中额外字符的添加、对于字词的字符的字符替换或字词中字符的顺序的调换)时有用。然而,如果所述错误不是笔误而是实际拼写错误,则用户必须在例如在字典中查找该字词或询问某人怎样拼写该字词之后手动输入正确的字词(在所述情况下是"recede")。由此,当使用常规拼写检查器时,当被错误拼写的字词是除仅笔误之外的某种方式的结果时,用户可能是不方便的。相应地,本领域中存在对克服上文中描述的不足和限制的需求。
发明内容在本发明的第一方面中,一种方法包括跟踪历史替代字符串的频率。所述方法进一步包括响应于之前被改变或未被识别的字符串提供数量"n"个历史替代串字符串的列表。在本发明的第二方面中,一种为多个用户提供拼写检查的方法包括从所述多个用户中的至少一个用户检索或接收数据。所述方法进一步包括基于所述数据更新数据结构、标识字符串、和基于所述数据结构为所标识的字符串提供至少一个替代字符串。在本发明的第三方面中,一种包括计算机可用介质的计算机程序产品包括计算机可读程序。所述计算机可读程序当在计算机上执行时使得该计算机标识未被识别或之前被改变的字符串。所述计算机可读程序当在计算机上执行时进一步使得该计算机基于关联于未被识别或之前被改变的字符串的历史替代的数据为该未被识别或之前被改变的字符串提供至少一个替代字符串。所述计算机可读程序当在计算机上执行时进一步使得该计算机替代所述字符串,并且基于所述替代更新所述数据。在本发明的第四方面中,一种部署用于检查拼写的应用的方法包括提供可操作为跟踪历史替代字符串的频率的计算机基础设施。所述计算机基础设施进一步可操作为响应于之前被改变或未被识别的字符串提供数量"n"个历史替代字符串的列表。在本发明的第五方面中,一种系统包括服务器,该服务器拥有包含关联于字符串的历史替代的数据的数据库。所述系统进一步包括用于检查拼写的硬件和软件部件中的至少一个。所述系统操作用于在电子文本中标识未被识别或之前被替代的字符串。所述系统进一步操作用于基于关联于字符串的历史替代的数据,为所述未被识别或之前被替代的字符串提供至少一个替代字符串。图1示出了根据本发明的各方面的环境;图2示出了用于为建议替代分级的示例性公式;图3示出了根据图2的公式的分级;以及图4和5示出了说明根据本发明的各方面的方法的流程图。具体实施例方式本发明涉及一种用于拼写纠正的系统和方法。本发明提供一种拼写检查器,该拼写检查器从由同一团体中的即时用户和/或其它用户选择的之前替代字词和输入的新替代字词中进行学习。这样,所述拼写检查器经由适应用户的历史替代模式而在其字词替代选择列表中变得更准确。此外,实现可以被使用为从多个用户的一个或多个组的历史替代中进行学习和适应。这样,所述拼写检查器使新字词能够iiX组的词汇表。相应地,本发明可以用于(特别在电子文档中)提供对字词的拼写的改进的检查和/或纠正。图1示出了用于管理根据本发明的过程的示例性环境IO。为此,环境10包括可以实施这里描述的过程的计算机基础设施12。特别地,计算机基础设施12被示为包括计算设备14,该计算设备14包括应用30,该应用30使计算设备14可操作为实施这里描述的过程。计算设备14被示为包括处理器20、存储器22A、输入/输出(I/O)接口24和总线26。进一步地,计算设备14被示为与外部I/O设备/资源28和存储系统22B通信。一般地,处理器20执行存储在存储器22A和/或存储系统22B中的计算机程序代码。当执行计算机程序代码时,处理器20可以向/从存储器22A、存储系统22B和/或I/O接口24读和/或写数据。总线26提供计算设备14中的每个部件之间的通信链路。I/O设备28可以包括使个人能够与计算设备14交互的任意设备,或使计算设备14能够使用任意类型的通信链路与一个或更多其它计算设备通信的任意设备。无论如何,计算设备14可以包括能够执行安装在其上的计算机程序代码的任意通用计算产品(例如个人计算机、服务器、手持设备等)。然而,应当理解,计算设备14仅代表可以实施这里描述的过程的各种可能的等价计算设备。为此,在其它实施例中,由计算设备14提供的所述功能可以由包括通用和/或专用硬件和/或计算机程序代码的任意组合的计算产品来实现。在每个实施例中,所述程序代码和硬件可以分别使用标准编程和工程技术来创建。类似地,计算机基础设施12仅代表用于实现本发明的各种类型计算机基础设施。例如,在一个实施例中,计算机基础设施12包括在例如网络、共享存储器等的任意类型的通信链路上通信以实施这里描述的过程的两个或更多计算设备(例如服务器集群)。进一步地,当实施这里描述的过程时,计算机基础设施12中的一个或更多计算设备可以使用任意类型的通信链路与计算机基础设施12外部的一个或更多其它计算设备通信。在任一情况下,所述通信链路可以包括各种类型的有线和/或无线链路的任意组合;包括一个或更多类型的网络(例如因特网、广域网、局域网、虚拟专用网等)的任意组合;和/或利用各种类型的传输技术和协议的任意组合。如这里所讨论的,应用30使计算机基础设施12能够实施这里描述的过程,例如提供从一个或多个用户的历史字词替代中进行学习的自适应拼写检查器。在实施例中,本发明以包括但不限于固件、常驻软件、微代码等的软件来实现。另外,本发明可以采取计算机程序产品的形式,所述计算机程序产品可从提供用于由计算机或任意指令执行系统使用或结合计算机或任意指令执行系统使用的程序代码的计算机可用或计算机可读介质访问。由于本说明书的目的,计算机可用或计算机可读介质可以是可以包含、存储、传送、传播或传输用于由指令执行系统、装置或设备使用或结合指令执行系统、装置或设备使用的程序的任意装置。所述介质可以是电子、磁性、光学、电磁、红外或半导体系统(或装置或设备)或传播介质。计算机可读介质的示例包括半导体或固态存储器、磁带、可移除计算机磁盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。光盘的当前示例包括只读存储器致密盘(CD-ROM)、读/写致密盘(CD-RW)和DVD。一种适于存储和/或执行程序代码的数据处理系统将包括至少一个直接或间接地通过系统总线耦合到存储器单元的处理器。所述存储单元可以包括在所述程序代码的实际执行期间使用的局部存储器、大容量存储装置和高速緩冲存储器,所述高速緩沖存储器提供至少某种程序代码的暂时存储从而减少执行期间代码必须从大容量存储装置被检索的次数。输入/输出或1/0设备(包括但不限于键盘、显示器、指点设备等)可以直接或通过中间1/0控制器耦合到所述系统。网络适配器可以也耦合到所述系统,以便使所述数据存储系统能够通过中间专用或公共网络耦合到其它数据处理系统或远程打印机或存储设备。调制解调器、电缆调制解调器和以太网卡仅仅是当前可用类型的网络适配器中的几种。在实施例中,本发明提供一种在预订、广告和/或收费基础上实施本发明的过程步骤的商业方法。即,例如解决方案集成商的服务提供商可以对提供拼写检查进行出售。在此情况下,所述服务提供商可以对于为一个或更多客户实施本发明的过程步骤的计算机基础设施进行创建、部署、维护和/或支持等。作为回报,所述服务提供商可以按照预订和/或收费协定从所述客户接收付款,以^/或者所述服务提供商可以通过对一个或更多第三方的广告内容的销售接收付款。在实施例中,本发明包括维护被错误拼写的字词和已由用户选择或输入的用于替代相应的被错误拼写的字词的替代的列表。被错误拼写的字词、替代和其它数据的列表可以通过任意合适的方式来维护,例如通过存储在本地存储器中或远程存储在数据库中。用于存储和访问数据的技术是本领域中已知的。尽管本发明在字词方面被描迷,但应当理解,字词包括由用户输入(例如^X、粘贴、下载等)的任意字符串。所述字符串(即单独字符的串)可以包括任意类型的字符,例如字母、数字、符号、特殊字符等。此外,经由将字词看作字符串,本发明不限于特定语言的字词。在实现中,被错误拼写的字词可以通过任意适当的方式来标识。用于标识被错误拼写的字词以及用于存储和访问数据的技术是已知的,并且进一步描述被确信是不必要的。例如,字词的拼写可以与字词的预定义列表(例如字典)比较,所述比较是经由散列该字词并将其与对应于所述预定义列表的散列表比较。在本发明的实施例中,用户的用于纠正被错误拼写的字词(或如下面所描述的之前被改变的字词)的替代历史数据可以在表中提供。例如,针对被错误拼写(或之前被改变)的字词"resead"的替代历史数据在表1中示出。第一列示出了由用户输入(例如键入)时的,皮错误拼写的字词。第二列示出了用户曾选择(或者从列表中,或者经由再一次^/O的用于替代所迷被错误拼写的字词的字词。第三列示出了替代的频率(即,用户已用第二列中的字词替代第一列中的字词多少次)。被错误拼写的字词<table>tableseeoriginaldocumentpage11</column></row><table>表l经由跟踪针对特定被错误拼写(或之前被改变)的字词的替代历史,本发明的拼写检查器可以在下一次该字词被错误拼写或识别为之前已被用户改变的字词时为用户呈现"n"个最频繁的替代。应当指出,"n"可以是大于零的任意合适的整数值。此外,呈现给用户的所述"n"个最频繁替代可以开始于在列表顶端的最频繁替代按等级降序来呈现。例如,下一次用户键入字词"resead"时,本发明的拼写检查器可以为用户呈现这样的可能替代列表,其中,字词"recede"因为其频率为4而出现在该列表的顶端,字词"reseed,,因为其频率为2而出现在该列表的下一个,以及字词"reread"因为其频率为1而出现在该列表的再下一个。应当指出,所述替代和频率(以及任何其它相关数据)可以通过已知方式(例如使用计算机存储器、数据库等)来存储、访问和更新。此外,当被错误拼写(或被识别为之前被改变)时,所述可能替代的列表可以通过任意已知的方式显示给用户,例如经由叠加列表、对话框等。另外,"n"值可以是大于零的任意整数,并且可以例如由系统"i殳计者、管理员或用户来指定。在实施例中,针对特定被错误拼写的字词(或之前被改变的字词)的所述替代历史数据可以使用初始替代字词的列表作为种子。所述初始替代字词可以例如使用常规的拼写检查例程(例如散列)来预定。另外,每个初始替代字词可以被分配初始频率,例如频率1。例如,针对被错误拼写的字词"resead"的替代历史数据可以使用表2中所示的数据作为种子。<table>tableseeoriginaldocumentpage12</column></row><table>表2以表2中所示的初始作为种子的替代历史数据开始,如果用户错误拼写字词"resead"7次,并且用"recede"替代其4次,"reseed"2次以及"reread"1次,则替代历史数据将看起来如表3中所示。<table>tableseeoriginaldocumentpage13</column></row><table>表3继续该示例,如果"n"的值为4,则下一次用户键入字词"resead"时,所述拼写检查器将按以下顺序呈现4个建议替代的列表"recede"、"reseed"、"reread"和"reseat"。尽管上面描述的示例以在被错误拼写的字词方面被描述,但本发明的实施例还可通过类似方式通过被用户输入(例如键入)并且然后改变(例如重新键入)的任意字词(即,之前被改变的字词)来进行操作。例如,用户可以输入不被检测为错误拼写的字词(例如"night")。该用户可以随后将该字词改变为另一个字词(例如从"night"改为"knight")。本发明的实现识别所述纠正,并且通过与上面描述的类似的方式存储合适的数据(原始字词、替代字词、频率等)。这样,可以针对任意字词提供替代历史数据和关联的所学习的建议替代,而不论该字词是不是初始被错误拼写。在本发明的实施例中,自动替代机制可以被使用。例如,自动替代的预定义阈值可以由系统设计者、管理员或用户指定。更具体地,当字词被输入时,如果替代历史数据中单一替代的频率占所有频率总和的百分比超过所述阈值,则所述输入的字词在没有任何用户输入的情况下用所述替代自动替代。例如,用户输入的字词"chemp"可以具有如表4中所示的替代历史数据。<table>complextableseeoriginaldocumentpage14</column></row><table>替代"chimp"的频率占总共替代的大概92.4%(即53次中的49次)。如果阈值被设在例如90%,则本发明的实施例将自动用"chimp"替代原始字词"chemp",因为"chimp"的频率与替代总数相比超过所述阈值。用于所述比较和自动替代的技术是已知的,并且进一步描述被确信是不必要的。本发明的实施例可以被实现为单独应用或另一应用的组件。例如,本发明的过程可以被集成为字处理、电子表格和/或电子邮件软件的拼写检查特征。在所述应用中,本发明的拼写检查过程可以用于在逐字词基础上或例如逐文档基础上检查和纠正字词。可选地,本发明的过程可以用运行在计算设备(例如台式个人计算机)上的单独可执行应用实现。例如,如果本发明用单独应用实现,则用户可以从另一应用(例如字处理器)导出(例如剪切和粘贴、发送、电子邮件等)文本块到所述单独应用中。本发明的过程可以运行在所述文本块上,并且然后已处理的文本块可以被返回给初始应用。类似地,本发明的过程可以用驻留于中央位置(例如服务器、服务提供商等)的应用实现。单独用户可以将文本块(或整个文档)发送到所述中央位置进行根据本发明的处理,并且可以接收回已处理的文本块(或整个文档)。本发明的实现可以用于用户组以及如上面所描述的单一用户。例如,团体可以被定义为单独用户的组。针对所述团体的每个用户的各个替代历史数据可以被组合并存储为团体替代历史数据。当单个用户输入字词时,所述拼写检查器将基于所述团体替代历史数据呈现建议替代。这样,所述拼写检查器可以从多个用户中进行学习。例如,表5示出了针对字词<table>tableseeoriginaldocumentpage15</column></row><table>表5基于表5中所示的值,如果团体的单个用户输入字词"resead",并且如果"n"等于4,则本发明的拼写检查器将(按基于团体频率的顺序)呈现以下作为建议替代"reseed,,、"reseat"、"resend,,、"reread"。如从表5中所示的示例显而易见的,团体的替代频率可以大大超过特定用户的替代频率。因此,在实施例中,对团体用户的建议替代的优先级可以通过任意希望的方式来公式化。示例性公式化涉及使所述用户频率和团体频率规格化、对分别被规格化的频率加权、组合分别被加权的频率、以及基于所述分别被组合的值来排序所述建议替代。该示例性公式化可以使用图2中所示的方程来实现。例如,团体的单个用户可以具有例如表3中所示的替代历史数据。此外,所述团体替代历史数据可以是表5中所示的那些数据。假设权重因子为0.75,则根据图2的方程(1)、(2)和(3)对每个可能替代所组合的权重在图3中示出。如从图3的表中将显而易见的,下一次该特定用户输入字词"resead"时,假设"n,,值为4,建议替代将根据所述组合权重来分级,并且将被呈现如下"reseed"、"recede"、"reread"、"reseat"。这样,所述建议替代仍然是基于来自团体的数据,但偏向于所述单个用户自己的个人历史。应当指出,任意公式化可以被使用来实现所述组合权重。此外,如果上面描述的公式化(即,方程(1)、(2)和(3))被使用,则加权因子不限于0.75,而可以是任意所期望的数。填充团体替代历史数据的数据可以被存储在中央位置(例如服务器、数据库等)。所述中央位置可以包括从所述团体的每个单独用户被动接收和/或主动收集数据的应用。例如,链接到所述团体的用户的网络的服务器可以连续监视所有用户活动(例如替代),以及相应地更新团体替代历史数据。可选地,如果团体的用户已在离线工作,则当该用户下一次连接到所述网络时,该用户的替代数据可以被自动或手动上载到所述服务器。在实施例中,所述团体替代历史数据被存储在基于开放标准的储存库中。例如,所述数据可以被存储在可操作为于多种不同类型的应用和操作系统通信的数据库中。这样,使用不同类型硬件和/或软件的多个用户可以被看作上面所描述的团体。个人可以通过任意合适的方式关联于团体。例如,特定机器(例如工作站)可以关联于团体,从而使用该机器的任何人被认为是该团体的一部分。这样,(在例如字处理器、电子表格、电子邮件等的任意应用的使用期间)在该机器上发生的任何替代将被包括在所述团体替代历史数据中。可选地,用户帐户可以关联于团体,从而登录到该帐户(例如经由用户名、口令等)的用户可以认为是该团体的一部分。这样,(在例如字处理器、电子表格、电子邮件等的任意应用的使用期间)在该帐户的使用期间发生的任意替代将被包括在所述团体替代历史数据中。可选地,用户可以是多个团体的成员,并且可以在该用户正运行于的应用(例如字处理器)中选择特定团体,其中,所述选择例如是经由从(例如下拉菜单中的)可用团体列表选择所述特定团体。这样,在该应用的使用期间发生的任何替代将被包括在所述特定团体替代历史数据中。使用方法图4是实现本发明的步骤的流程图。图4(以及所有其它流程图)可以同样地代表本发明的高级框图。图4(以及所有其它流程图)的步骤或者可以从客户端服务器关系中的服务器中实现和执行,或者其可以运行在用户工作站上,其中,所述工作站具有净皮传送到该用户工作站的用于创建上面所概述的导航的可操作信息。另外,本发明可以采取完全硬件的实施例、完全软件的实施例或者包含硬件和软件单元的实施例的形式。图4示出了这样的流程图,该流程图说明了根据本发明的各方面的用于检查文本的拼写的方法200。方法200涉及关联于单一用户的实施例。在步骤205,所述拼写检查器被启动。这例如可以包括执行单独的软件应用、执行大型应用的组件应用等。这还可以包括标识或接收将要分析的文档或文本块(包括当字词被键入时在逐字词基础上进行操作)。在步骤210,作出是否有任何要检查的字词剩余的确定。这可以通过任何合适的方式来完成,例如经由提供为指示出文档的结尾、另一个字词的开始等的字符预先做准备的编程。如果不再存在剩余的要分析的字词,则所述拼写检查器在220停止。如果存在剩余的字词,则所述应用在230前进到下一个要分析的字词。仍然参考图4,在步骤240,作出关于正在被分析的字词是否被错误拼写或过去已被改变的确定。被错误拼写的字词可以通过任意合适的方式来标识,例如经由使用上面描述的并且对于本领域的技术人员已知的散列例程。不被认为被错误拼写但已由用户在过去手动改变的字词将具有例如表3中所示的替代历史数据表。为确定哪些字词已在过去被改变,所述系统和方法可以通过利用经由散列例程检查针对所有字词的可用替代历史数据表的例程来作出所述标识。然而,如应该对于本领域的普通技术人员已知的那样,其它技术可以被用于标识未被错误拼写但已在过去被改变的字词。如果所述字词未被标识为被错误拼写(例如未被识别)或在过去被改变,则所述方法返回到步骤210。然而,如果所述字词被标识为被错误拼写或在过去被改变,则基于针对该字词的用户替代历史数据的前"n"个替代字词在步骤250被显示。在实施例中,所述过程包括检查针对该特定字词的替代历史数据,以及按历史替代频率的等级顺序显示所述前"n"个替代字词(作为建议替代),如上面描述的那样。所述显示可以通过任意合适的形式来实现,例如对话框、叠加列表等。此外,如上面所描述的,"n"的值可以是由方法设计者、系统管理员或用户指定的任意大于零的整数值。作为可选特征,在步骤250,所述方法可以允许用户显示多于"n"个的建议替代。例如,如果"n"的值为4,并且在针对该特定字词的替代历史数据中存在10个历史替代,则用户可选地可以;波呈现以大于"n,,的任意个数的替代(例如7个而不是4个)。同样,在实施例中,所述方法包括下述选项,即,如果用户不满足于所述前"n"个替代则让用户查看替代历史数据中的所有可能替代。例如,在所述前"n"个替代被显示之后,用户可以经由实施特定任务来改变所述显示以便查看多于"n"个的可能替代,其中,所述特定任务例如是预定义的击键、使用鼠标指示器点击按钮等。仍然参考图4,在步骤260,作出用户是否从所显示的建议替代列表中选出替代的确定。如果用户确实选择了替代(例如经由在所显示的列表中的一个替代字词上点击鼠标光标),则最初被错误拼写或之前#:改变的字词在步骤270被替代为所选择的替代字词。如对于本领域的技术人员显而易见的,所述替代可以通过任意合适的方式来完成。此外,在字词已在步骤270中被替代之后,用户的对于该最初被错误拼写或之前被改变的字词的替代历史数据在步骤280被更新。例如,在实施例中,所述替代字词的频率值可以被递增值l。在这一点上,所述方法返回到步骤210。如果在步骤260用户未选出所述建议替代字词中的一个,则所述方法进行到步骤2卯。在步骤2卯,关于用户是否手动输入了针对最初被错误拼写或之前被改变的字词的替代字词的确定被作出。例如,用户可能已经高亮所述最初被错误拼写或之前被改变的字词、删除该字词、以及重新键入不同的字词。输入针对最初被错误拼写或之前被改变的字词的手动替代的其它方法也被本发明设想,并且对于本领域的普通技术人员将是显而易见的。如果在步骤290用户确实手动输入了针对最初#皮错误拼写或之前#_改变的字词的替代字词,则所述方法进行到如上面所描述的步骤270和280。如果在步骤290用户未手动输入替代字词,则所述方法进行到步骤210。即,被错误拼写或之前被改变的字词保持未被改变,并且所述拼写检查器进行到下一个字词(如果存在的话)。图5示出了这样的流程图,该流程图说明了根据本发明的各方面的用于检查文本的拼写的方法300。方法300涉及这样的实施例,所述实施例涉及关联于如上面所描述的用户团体的单个用户。在步骤305,所述拼写检查器被启动。这例如可以包括执行单独的软件应用、执行大型应用的组件应用等。这还可以包括标识或接收要分析的文档或文本块(包括当字词被键入时的在逐字词基础上进行操作)。在步骤310,作出是否有任何要检查的字词剩余的确定。这可以通过任意合适的方式来完成,例如经由提供为指示出文档的结尾、另一个字词的开始等的字符预先做准备的编程。如果不再存在剩余要分析的字词,则所述拼写检查器在320被停止。如果存在剩余的字词,则所述应用在步骤330前进到下一个要分析的字词。仍然参考图5,在步骤340,作出关于正在被分析的字词是否被错误拼写或者过去已被团体中的任意用户改变的确定。被错误拼写的字词可以通过任意合适的方式来标识,例如经由使用如上面所描述的散列例程。未被认为被错误拼写但过去已被团体中的任意用户手动改变的字词将具有例如表5中所示的替代历史数据表。由此,未被错误拼写但过去已被改变的字词可以经由如上面所描述的检查可用替代历史数据表的例程来标识。然而,如对于本领域的普通技术人员将显而易见的,其它技术可以用于标识未被错误拼写但过去已被改变的字词。如果所迷字词未被标识为被错误拼写或过去被改变,则所述方法返回步骤310。然而,如果所述字词被标识为被错误拼写或过去被改变,则基于针对该字词的团体替代历史数据的前'V,个替代字词在步骤350被显示。在实施例中,所述过程包括检查针对该特定字词的替代历史数据,以及按历史替代频率的等级顺序显示所述前"n"个替代字词(作为建议替代),如上面描述的那样。例如,所述建议替代可以按团体频率的顺序来分级。可选地,步骤350可以包括例如以上关于图2和3所描述的那样公式化所述可能替代的优先级。已分级建议替代的显示可以通过任意合适的形式来实现,例如对话框、叠加列表等。此外,如上面所描述的,"n"的值可以是由方法设计者、系统管理员或用户指定的任何大于零的整数值。作为可选特征,在步骤350,所述方法可以允许用户显示多于"n"个建议替代。例如,如果"n"的值为4,并且在针对该特定字词的替代历史数据中存在10个历史替代,则用户可选地可以被呈现以大于'V,的任意个数的替代(例如7个而不是4个)。同样,在实施例中,所述方法包括下述选项,即,如果用户未满足于所述前"n"个替代则让用户查看替代历史数据中的所有可能替代。例如,在所述前"n,,个替代被显示之后,用户可以经由实施特定任务来改变所述显示以便查看多于"n"个的可能替代,其中,所述特定任务例如是预定义的击键、使用鼠标指示器点击按钮等。仍然参考图5,在步骤360,用户是否已从所显示的建议替代列表中选出替代的确定^皮作出。如果用户确实选出了替代(例如经由在所显示的列表中的一个替代字词上点击鼠标光标),则最初被错误拼写或之前;f皮改变的字词在步骤3冗被替代为所选的替代。如对于本领域的技术人员显而易见的,所述替代可以通过任意合适的方式来完成。此外,在字词已在步骤"0中被替代之后,用户的对于该最初4皮错误拼写或之前^f皮改变的字词的替代历史数据在步骤380被更新。在实施例中,所述替代字词的频率值可以-皮递增例如值1。另外,针对所述最初被错误拼写或之前被改变的字词的团体替代历史数据在步骤外0被更新。例如,所述替代字词的频率值可以被递增值1。如上面所描述的,所述团体替代历史数据可以由远程应用在远程位置存储、访问和<务改。在这一点上,所述方法返回步骤310。如果在步骤360用户未选择一个所述建议替代字词中的一个,则所述方法进行到步骤395。在步骤395,关于用户是否已手动输入针对最初;R4昔误拼写或之前被改变的字词的替代字词的确定被作出。例如,用户可能已经高亮最初被错误拼写或之前被改变的字词、删除该字词、以及重新键入不同的字词。输入针对最初净皮错误拼写或之前被改变的字词的手动替代的其它方法也被本发明设想,并且对于本领域的普通技术人员将是显而易见的。如果在步骤395用户确实手动输入了针对最初^皮错误拼写或之前被改变的字词的替代字词,则所述方法进行到如上面所描述的步骤370、380和390。如果在步骤395用户未手动输入替代字词,则所述方法进行到步骤310。即,被错误拼写或之前被改变的字词保持不被改变,并且所述拼写检查器进行到下一个字词(如果存在的话)。本发明的实现提供可以集成到应用中或者作为单独应用实施的改进的拼写检查和纠正功能。实施例自适应地使用历史纠正才莫式来学习针对特定字词的优选替代。所述方法和系统可以基于单个用户和/或用户团体的历史纠正模式。这样,本发明的实现提供更准确的建议字词替代选择列表。此外,实现允许新字词进入团体的词汇表,并且提供基于替代频率的增加或降低的等级优先级。尽管本发明已就实施例进行了描述,但本领域的技术人员将认识到,本发明可以带有修改地并且在权利要求的精神和范围内来实现。权利要求1.一种用于自适应拼写检查的方法,包括跟踪历史替代字符串的频率;以及响应于之前被改变或未被识别的字符串提供数量“n”个所述历史替代字符串的列表。2.根据权利要求1所述的方法,进一步包括基于预订、广告和/或收费而实施所述跟踪和所述提供的至少一个。3.根据权利要求l所述的方法,其中,所述跟踪和提供由服务提供商来实施。4.根据权利要求l所述的方法,其中,所述跟踪包括作为数据存储所述频率和所述历史替代字符串。5.根据权利要求4所述的方法,其中,所述存储包括将所述数据存储在数据库中。6.根据权利要求l所述的方法,进一步包括用所述历史替代字符串中选出的一个字符串来替代所述字符串。7.根据权利要求6所述的方法,进一步包括更新所述历史替代字符串中所述选出的一个字符串的频率。8.根据权利要求7所述的方法,其中,所述更新包括递增所述历史替代字符串中所述选出的一个字符串的频率的值。9.根据权利要求l所述的方法,其中,所述提供是基于所述历史替代字符串的频率。10.根据权利要求l所述的方法,其中,所述提供包括根据所述频率为所述列表分级;以及根据所述分级显示所述列表。11.根据权利要求1所述的方法,其中,所述跟踪包括跟踪多个用户的组的历史替代字符串的频率。12.根据权利要求ll所述的方法,进一步包括对所述历史替代字符串中的每个的频率进行加权。13.根据权利要求12所述的方法,其中,所述加权包括基于关联于单个用户的频率的第一加权因子和不同于该第一加权因子并且关联于所述组的频率的第二加权因子创建所述历史替代字符串中的每个的已加权频率。14.根据权利要求13所述的方法,其中,所述提供包括根据所述已加权频率为所述列表分级;以及根据所述分级显示所述列表。15.—种为多个用户提供拼写检查的方法,包括从所述多个用户中的至少一个用户检索或接收数据;基于所述数据更新数据结构;标识字符串;以及基于所述数据结构为所标识的字符串提供至少一个替代字符串。16.根据权利要求15所述的方法,其中,所述检索或接收包括从所述多个用户中的多于一个用户检索或接收数据。17.根据权利要求15所述的方法,其中,所述数据结构包括第一替代字符串和关联的第一频率。18.根据权利要求17所述的方法,其中,所述数据结构进一步包括第二替代字符串和关联的第二频率。19.根据权利要求18所述的方法,其中,所述提供包括基于所述第一频率和第二频率为所述第一替代字符串和所述第二替代字符串分级。20.根据权利要求19所述的方法,其中,所述提供进一步包括按基于所述分级的顺序显示所述第一替代字符串和所述第二替代字符串。21.根据权利要求15所述的方法,其中,所述更新包括递增所述至少一个替代字符串中所选出一个字符串的频率值。22.—种用于自适应拼写检查的系统,包括用于标识未被识别或之前被改变的字符串的装置;用于基于关联于所述未被识别或之前被改变的字符串的历史替代的数据为所述未被识别或之前被改变的字符串提供至少一个替代字符串的装置;用于替代所述字符串的装置;以及用于基于所述替代更新所述数据的装置。23.根据权利要求22所述的系统,其中所述至少一个替代字符串包括第一替代字符串和第二替代字符串;所述数据包括所述第一替代字符串的第一替代频率和所述第二替代字符串的第二替代频率。24.根据权利要求23所述的系统,其中,所述用于提供至少一个替代字符串的装置包括用于基于所述第一替代频率和所述第二替代频率为所述第一替代字符串和所述第二替代字符串分级的装置。25.根据权利要求23所述的系统,其中,所述用于提供至少一个替代字符串的装置包括用于按照基于所述第一替代频率和所述第二替代频率的顺序显示所述第一替代字符串和所述第二替代字符串的装置。26.根据权利要求23所述的系统,其中,所述用于基于所述替代更新所述数据的装置包括用于递增所述第一替代频率或所述第二替代频率的值的装置。27.—种系统,其包括拥有包含关联于字符串的历史替代的数据的数据库的服务器、以及用于拼写检查的硬件和软件部件中的至少一个,所迷系统操作用于标识电子文本中的未被识别或之前被替代的字符串;基于关联于字符串的历史替代的数据,为所述未被识别或之前被改变的字符串提供至少一个替代字符串。28.根据权利要求27所述的系统,其中,所述系统进一步操作用于从多个用户接收字符串替代数据;以及基于所述接收的字符串替代数据更新所述数据库。29.根椐权利要求28所述的系统,其中,所述数据库包括被安排为从不同软件应用接收字符串替代数据的开放标准数据库。30.根据权利要求28所述的系统,所述数据包括替代字符串和关联的频率。全文摘要一种用于自适应拼写检查和纠正的系统和方法。所述方法包括跟踪历史替代字符串的频率,以及响应于之前被改变或未被识别的字符串提供数量“n”个历史替代字符串的列表。文档编号G06F17/27GK101206641SQ200710186628公开日2008年6月25日申请日期2007年11月14日优先权日2006年12月21日发明者G·J·博斯,J·S·兰福德,R·A·哈密尔顿二世,W·K·博丁申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1