统计拼写检查器的制造方法

文档序号:6495120阅读:260来源:国知局
统计拼写检查器的制造方法
【专利摘要】本发明提供了实现一种为包含无法识别的单词的查询提取建议的拼写检查候选的统计拼写检查器的方法、系统和计算机介质。保留词汇表统计,所述词汇表统计包括对在文档语料库中找出的多个相邻单词序列的记录。在接收到包含不在词汇表数据库中的单词(即,无法识别的单词)的用户查询时,咨询所述词汇表统计以找出包含相同在前单词和/或在后单词的单词序列。可以按照基于给定已识别在前和/或在后单词时的条件概率顺序返回找出的单词序列,所述无法识别的单词指的是建议的拼写检查后的单词。
【专利说明】统计拼写检查器
【技术领域】
[0001]本发明一般地涉及搜索引擎,尤其涉及在用户查询中的单词在索引数据库中不存在时自动调整该用户查询的统计拼写检查器。
【背景技术】
[0002]拼写检查是用于所有办公室生产率软件的最为广知的特征之一。它允许用户识别拼写错误的单词并且通过排字距离或“声音类似”而用接近这些拼写的其他版本加以校正。在搜索引擎中,拼写校正被用来在用户查询中的一个或多个单词在已知词汇表中不存在的情况下自动调整该查询。已知词汇表典型地被存储在词汇表数据库中,并且以存在于该搜索引擎所处理的所有文档中的词为基础。
[0003]在办公室工具和搜索引擎中当前使用各种类型的拼写校正。一种类型的拼写校正被称为“排字”或“编辑距离”拼写检查。编辑距离(ED)拼写检查器尝试校正通常导致错误键入单词部分的错误。也就是说,ED拼写检查器找出原始单词的特定编辑距离(添加、删除、代替)内的一个或多个单词。存在计算编辑距离的各种算法。例如,一种被称为Levenshtein距离算法的算法将单词与词汇表中的所有表达相比较。随后针对每个这类比较计算编辑距离。编辑距离低于某一阈值的所有单词被返回作为可能候选。
[0004]搜索引擎使用的另一类拼写校正被称为“语音学”拼写检查。语音学拼写检查器被用于校正用户可能不知道如何拼写但可能知道如何发音的单词。语音学拼写检查器的一个例子利用“双变音位”算法寻找代替的查询单词候选。在双变音位算法中,每当搜索引擎索引被索引以创建通过其语音学音调进行的单词的音调调节的语音学索引时,词汇表中的每个单词通过语音学编码器。随后,在查询期间,当一单词需要被拼写校正时,该词就通过语音学编码器并获取其语音学音调。如果该语音学音调存在于上述语音学索引中,则返回与该音调相关联的所有单词。
[0005]虽然编辑距离拼写检查能够产生高度相关的结果,但是其对单词比较(有时是上万次不同的单词比较)和编辑距离计算的依赖会对运行拼写检查器的处理器造成负担。用户可能会在键入查询和呈现建议的拼写检查候选之间经历可察觉的延迟。语音学拼写检查也可以产生良好的结果,但是其需要用户知晓查询内的单词如何发音。存在能够对编辑距离拼写检查算法进行的某些优化,诸如将搜索空间缩小到仅是以相同字母开始或结束以及要被校正的单词的词汇表表达,但是仍然没有完全解决寻找良好拼写校正所需时间过长的问题。
[0006]需要寻找替换的解决方案。

【发明内容】

[0007]本发明的实施例包括一种为包含无法识别的单词的查询提取建议的拼写检查候选的方法。该方法包括确定在文档语料库中找出的多个相邻单词序列,该相邻单词序列包括多个相邻的已识别单词。该方法还包括确定所述无法识别的单词是否前接有所述查询中在前已识别单词以及确定所述无法识别的单词是否后接有所述查询中在后已识别单词。该方法还包括返回一个或多个所述相邻单词序列,所述一个或多个相邻单词序列至少包括所述查询中在前已识别单词后接建议的已知词汇表单词的,或是建议的已知词汇表单词后接所述查询中在后已识别单词。该方法计算给定所述已识别在前单词和/或所述已识别在后单词的情况下所建议单词的条件概率。
[0008]在一个实施例中,提供了包括程序指令的非暂态计算机可读存储,所述程序指令在由计算机执行时实现在此描述的方法。
[0009]在一个实施例中,计算机化的装置或系统实现执行在此描述的方法的统计拼写检查器。
【专利附图】

【附图说明】
[0010]本发明的更为完整的理解及其诸多附随的优点会在结合附图参考了随后的详细描述之后变得更为显见且变得更好理解,附图中相似的参考符号指示相同或类似的部件,在附图中:
[0011]图1是实现本发明一个实施例的示例性系统的框图;
[0012]图2是示出了生成词汇表统计的示例性方法的流程图;
[0013]图3图示了一组双单词序列;
[0014]图4描绘了可以作为实现在处理用户查询中利用统计拼写检查的搜索引擎的更大型网站的一部分的一组示例性网页;
[0015]图5是示出了用于为用户查询中无法识别的单词生成建议的拼写检查候选的示例性方法的流程图;以及
[0016]图6是其中可以操作统计拼写检查器的示例性计算系统的框图。
【具体实施方式】
[0017]在本发明的实施例中,拼写检查器利用统计减少无法识别的单词或短语与词汇表数据库中的已知词汇表的比较次数。单词比较的减少缩短了为任何无法识别的单词或短语产生相关拼写检查候选所需的时间。
[0018]现转向附图,图1示出了其中本发明各实施例可以操作的示例性计算机环境。如图1所示,服务器120包括一个或多个处理器121、存储供处理器121处理的计算机可读指令的程序存储器122、以及经由诸如因特网的网络101与诸如客户机计算机110的远程设备通信的通信硬件125。程序存储器122包括实现可在服务器主存的一个或多个网站的搜索引擎中使用的拼写检查引擎150的程序指令。该处理器包括或被配置为访问数据存储器126。数据存储器126存储诸如用于一个或多个网站的网页127、一个或多个文档(已知为文档语料库140)、词汇表数据库145和词汇表统计148之类的数据。
[0019]存储器122、126和114可以具体化为一种或多种类型的任何一个或多个计算机可读存储介质,所述类型诸如但不限于RAM、R0M、硬盘驱动器、光学驱动器、盘阵列、⑶-ROM、软盘、存储棒等。存储器122、126和114可以包括永久性存储、可移除存储和高速缓存,并且进一步地,可以包括一个物理相邻的计算机可读存储介质,或者可以跨可包括一种或多种不同类型介质的多个物理计算机可读存储介质分布。[0020]一个或多个客户机计算机110 (图1中仅示出一个)常规上配备有一个或多个处理器112、用于存储程序指令和数据的计算机存储存储器114以及被配置为经由网络101将客户机计算机110与服务器120相连的通信硬件116。客户机110包括显示器117和诸如键盘和鼠标等的输入硬件118,并且可被配置为执行允许客户导航至由服务器120服务的网站的浏览器119并且在显示器117上显示从该服务器送来的网页127。
[0021]在示出的一个实施例中,统计拼写检查引擎150由具体网站的服务器主存以允许该网站的搜索。在替换实施例中,拼写检查引擎150可被实现为查询因特网的大部分的因特网搜索引擎的一部分,和/或可被实现为用户应用程序(诸如在诸如120的服务器或在诸如110的客户机上操作的字处理器(未示出))的一部分。
[0022]统计拼写检查引擎150包括词汇表编制器引擎156、词汇表统计引擎152和候选提取引擎154。词汇表编制器引擎156通常处理被称为文档语料库140的一组文档,从所述文档提取单词以便在已知词汇表的数据库(即,词汇表数据库145)中存储和保持。词汇表统计引擎152 —般性地处理文档语料库140以提取相邻单词序列并且生成有关各单词序列一起出现的频率以及各其他单词在一给定单词前后出现的条件概率的统计。提取的单词序列及其关联的统计被存储在词汇表统计数据库148内。候选提取引擎154接收查询或键入单词序列,检查接收到的查询中是否存在任何无法识别的单词,并且返回无法识别的单词的候选校正以向用户显示。在一个实施例中,查询/输入单词序列在用户正查询网站的站点特定搜索引擎时经由用户的浏览器接收。作为替换,如果拼写检查器150被实现作为因特网搜索引擎的一部分,则该查询在用户正使用该搜索引擎时经由用户的浏览器接收。作为替换,如果拼写检查器150被实现为办公室应用(例如,字处理器)的一部分,则拼写检查器从用户打开的文档中检索用户输入的文本。
[0023]图2和5 —并示出了使用统计拼写检查生成用于无法识别的单词或短语的词汇表候选的示例性方法。图2示出了由词汇表统计引擎152执行的用于生成词汇表统计的方法,候选提取引擎154使用所述词汇表统计以查找用于用户查询中无法识别的建议拼写检查候选。
[0024]如图2所示,词汇表统计引擎152从文档语料库140中提取相邻的双单词序列(步骤202)。优选地,处理文档语料库140中存在的每个文档以提取每个可能的双单词序列。如图3所示,双单词序列是一组相邻的双单词,W1后面紧接着W2。(出于单词解析的目的,一个或多个空格或字符分界符301将单词W1和W2分开,但W1和W2之间不出现其他单词。)例如,图3中存在两个双单词序列:由"Free Business "组成的序列A以及由"BusinessCards"组成的序列B。
[0025]一旦从语料库140中提取了相邻的双单词序列,文档语料库140中表示序列中的第二单词W2紧接在第一单词W1后出现的次数的正序计数器加I (步骤204)。类似地,文档语料库140中表示序列中的第一单词W1在第二单词W2前出现的次数的逆序计数器也加I(步骤206)。如果在语料库140的处理期间序列尚未出现,则分别创建新的正序计数器和逆序计数器并将其与提取的序列相关联,初始化(为零)并加I。
[0026]在一个实施例中,计算条件概率P (W21W1)和P (W11W2)(步骤208和步骤210)。也就是说,计算给定第一单词W1的情况下第二单词W2在第一单词W1后出现的概率(步骤208),并且计算给定第二单词W2的情况下第一单词W1在第二单词W2前出现的概率(步骤210)。[0027]为了例示,图4示出了可以作为大型网站的一部分的一组示例性网页。如所示,该组网页包括Home Page (主页)410、Free Business Cards (免费名片)页面420和Help(帮助)页面430。这些页面410、420、430 (以及未示出的附加网页)各自包括文本内容。例如,Home Page 410包括广告宣传"Free Products (免费产品)"的导航菜单,其包括文本"Free Business Cards" , " Free Car Door Magnets (免费车门磁铁)"等。词汇表统计引擎152根据图2描述的方法处理每个页面410、420、430以提取每一个双单词序列。将会理解可以存在许多的其他网页,各自具有以类似方式由词汇表统计引擎152处理的其他文本。
[0028]下表(表1)(作为说明但不完整)可由词汇表统计引擎152基于图4所示的网页生成:
[0029]表1
【权利要求】
1.一种为包含无法识别的单词的查询提取建议的拼写检查候选的方法,所述方法包括如下步骤: 确定在文档语料库中找出的多个相邻单词序列,该相邻单词序列包括多个相邻的已识别单词; 确定所述无法识别的单词是否前接有所述查询中在前已识别单词; 确定所述无法识别的单词是否后接有所述查询中在后已识别单词; 返回一个或多个相邻单词序列,所述一个或多个相邻单词序列至少包括所述查询中在前已识别单词后接用于代替所述无法识别的单词的建议的校正候选、或是用于代替所述无法识别的单词的建议的校正候选后接所述查询中在后已识别单词。
2.如权利要求1所述的方法,其中基于给定所述已识别单词的情况下所述无法识别的单词是相应建议的已知词汇表单词的条件概率对返回的相邻单词序列的优先次序加以区别。
3.如权利要求1所述的方法,还包括: 针对每个确定的相邻单词序列,确定文档语料库中以正序次序存在的所述确定的相邻单词序列的个数的正序计数; 至少针对与正相邻次序相对应的那些返回的相邻单词序列,计算给定所述查询中在前已识别单词的情况下所述无法识别的单词是前接有所述查询中在前已识别单词的所述建议的已知词汇表单词的条件概率; 基于算出的所述条件概率为所述返回的相邻单词序列分配相对分数;以及 以从最高分数到最低分数的顺序返回所述确定的相邻单词序列。
4.如权利要求3所述的方法,其中基于给定所述在前已识别单词或所述在后已识别单词的情况下算出的所述建议的校正候选的条件概率以及所述建议的校正候选相距所述无法识别的单词的编辑距离,向所述返回的相邻单词序列分配所述相对分数。
5.如权利要求1所述的方法,还包括: 使得每个返回的相邻单词序列中的所述建议的校正候选通过语音编码器;以及基于每个返回的相邻单词序列中的所述建议的校正候选与所述无法识别的单词的语音学匹配程度来对所述返回的相邻单词序列排序。
6.有形地实现程序指令的非暂态计算机可读存储器,所述程序指令在由计算机执行时实现一种为包含无法识别的单词的查询提取建议的拼写检查候选的方法,所述方法包括如下步骤: 确定在文档语料库中找出的多个相邻单词序列,该相邻单词序列包括多个相邻的已识别单词;确定所述无法识别的单词是否前接有所述查询中在前已识别单词; 确定所述无法识别的单词是否后接有所述查询中在后已识别单词; 返回一个或多个所述相邻单词序列,所述一个或多个相邻单词序列至少包括所述查询中在前已识别单词后接建议的已知词汇表单词的,或是建议的已知词汇表单词后接所述查询中在后已识别单词。
7.如权利要求6所述的非暂态计算机可读存储器,其中基于给定所述已识别单词的情况下所述无法识别的单词是相应建议的已知词汇表单词的条件概率对返回的相邻单词序列的优先次序加以区别。
8.如权利要求6所述的非暂态计算机可读存储器,所述方法还包括: 针对每个确定的相邻单词序列,确定文档语料库中以正序次序存在的所述确定的相邻单词序列的个数的正序计数; 至少针对与正相邻次序相对应的那些返回的相邻单词序列,计算给定所述查询中在前已识别单词的情况下所述无法识别的单词是前接有所述查询中在前已识别单词的所述建议的已知词汇表单词的条件概率; 基于算出的所述条件概率为所述返回的相邻单词序列分配相对分数;以及 以从最高分数到最低分数的顺序返回所述确定的相邻单词序列。
9.如权利要求8所述的非暂态计算机可读存储器,其中基于给定所述在前已识别单词或所述在后已识别单词的情况下算出的所述建议的校正候选的条件概率以及所述建议的校正候选相距所述无法识别的单词的编辑距离,向所述返回的相邻单词序列分配所述相对分数。
10.如权利要求6所述的非暂态计算机可读存储器,所述方法还包括: 使得每个返回的相邻单词序列中的所述建议的校正候选通过语音编码器;以及 基于每个返回的相邻单词序列中的所述建议的校正候选与所述无法识别的单词的语音学匹配程度来对所述返回的相邻单词序列排序。
11.一种统计拼写检查装置,包括: 被配置为执行词汇表统计引擎的一个或多个处理器,所述词汇表统计引擎被配置为处理文档语料库以创建包括在所`述文档语料库中找出的多个相邻单词序列的词汇表统计数据库,所述词汇表统计引擎还被配置为计算给定所述查询中的已识别单词前接或后接所述查询中的无法识别的单词的情况下所述无法识别的单词的建议的候选校正的条件概率;以及 被配置为接收来自用户的查询,检测所述查询中的无法识别的单词,请求用于所述无法识别的单词的一个或多个候选校正,以及将所述一个或多个候选校正呈现给用户以供选择的一个或多个处理器。
【文档编号】G06F17/27GK103733193SQ201280021414
【公开日】2014年4月16日 申请日期:2012年5月2日 优先权日:2011年5月2日
【发明者】A·帕都罗尤 申请人:维斯塔打印瑞士有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1