搜索引擎中的查询词自动纠错方法

文档序号:6341843阅读:3025来源:国知局
专利名称:搜索引擎中的查询词自动纠错方法
技术领域
本发明涉及一种查询词纠错方法,尤其涉及一种搜索引擎中的查询词自动纠错方法。
背景技术
如今,随着网络上的资源越来越丰富,搜索引擎的使用也越来越广泛。但用户在使用搜索引擎的过程中却存在着一些问题,一个比较明显而常见的问题就是用户在使用过程中经常会无意中输入了错误的查询词,或者用户虽然没有无意的错误,但查询词中存在着诸如英文单词拼写错误、中文同音字错误等问题。
在搜索引擎的使用过程中,用户有时难以给出准确的查询词,或者因为笔误而造成了输入错误。经过对天网搜索引擎(http//e.pku.edu.cn)的查询日志的统计分析,发现用户的输入错误主要表现在以下几个方面输入不小心造成“笔误”,对应英文通常是字母错误,中文通常是同音异字的错误;英文查询词的拼写错误比如查询eclipse,却写为eklipse;汉字输入“笔误”,常见情况是同音异字的错误。而且用户的查询词呈现相对集中的趋势,经过对天网搜索引擎查询日志的分析,查询频度达到或超过每天1次的查询词只占查询词总量的1.90%,但却占了总查询次数占总查询次数的70.01%,因此这些查询次数较高的少量高频查询词其实代表了大部分的查询请求。并且,查询量较大的查询词通常是正确的查询词,错误输入的查询词出现次数较低;不规范的查询词通常与对应的正确查询词的字符串相似程度较高,且该正确查询词往往是查询率较高的查询词;错误的查询词的查询结果通常少于对应的正确的查询词的查询结果。
但当发生输入错误时,目前公知的搜索引擎并不会做任何特殊处理,依旧按照错误的查询词进行检索。为了避免错误发生,势必要求查询者输入严格的、准确的查询词,这对查询者是一个较严格的要求,尤其对搜索引擎的初级使用者来说是一个障碍,影响了搜索引擎的使用效果和进一步的推广。虽然这是一个长久以来就存在的影响使用的技术问题,但却始终没有找到有效的解决方法。

发明内容
针对上述现有搜索引擎中存在的问题和不足,本发明的目的是提供一种在检索时可自动对用户输入的查询词进行纠错的搜索引擎中的查询词自动纠错方法。
本发明是这样实现的一种搜索引擎中的查询词自动纠错方法,包括以下步骤,1)建立查询词词库,对查询日志的查询词进行统计,将平均每天查询次数超过阈值的查询词存储于所述查询词词库中;2)对用户输入的新查询词,首先与所述查询词词库中查询词进行匹配,若完全匹配,则不作处理;若未完全匹配,则查找和该词最近似查询词,若查找成功,则将该查询词词库中的近似查询词返回给用户以校验;若查找失败,则不作处理。
进一步地,所述在查询词词库中查找和新查询词最近似查询词的具体步骤为,以所述查询词词库中每个查询词为基础,对用户输入的新查询词以字符为单位进行自动编辑,计算将该新查询变换为所述查询词词库中查询词的最小编辑步骤数,即最短编辑距离,若该距离小于设置的阈值,则该新查询词为最近似查询词,并输出给用户以校验;若大于等于阈值,则不作处理。
进一步地,所述编辑操作具体为以下三种操作的任意组合插入编辑,即向新查询词的字符串中某个位置插入一个字符;删除编辑,即删除新查询词的字符串中某一指定位置的一个字符;改写编辑,将新查询词的字符串中某一位置的字符改写为另一个字符的操作。
进一步地,该方法还包括,将所述新查询词和最接近的查询词词库中的查询词同时在搜索引擎中操作,若查询词词库中的查询词查询结果多于所述新查询词查询结果,则将该查询词词库中的查询词返回给用户以校验。
进一步地,所述字符具体为字母或汉字。
进一步地,所述对新查询词进行处理前还包括对该新查询词的字符数进行判断,若少于设置的阈值,则不作处理。
进一步地,所述对新查询词字符数设置的阈值根据英文和汉字而不同。
本发明通过对用户过去输入的查询词进行统计,将经常使用的查询词放入到相应的查询词词库中,即相当于建立了一个基本词库。当用户输入新的查询词进行相应的信息检索时,系统首先将该新查询词与查询词词库中的词进行类比,若与查询词词库中的词非常近似,则将该查询词词库中的词返回给用户以校验,若用户本来欲查询的是该查询词词库中的词,系统得到确认后以该查询词词库中的词为输入词进行相应查询,并将查询结果返回给用户。
当用户输入了错误的查询词后,本发明的查询系统首先判断该查询词是否可能为错误的查询词,并给出相应可能正确的查询词的提示。这样,在搜索引擎中使用了本发明进行自动纠错后,即使用户不小心输入错误,在很大程度上也能够方便地得到正确查询词的提示,在很大程度上方便了用户的使用。并保证了每次的查准率。
具体实施例方式
本发明正是基于目前查询词的特点而进行相应改进的。本发明首先要建立高频查询词库,具体步骤为首先分析最近一段时间的查询日志,将查询词按照查询的频率进行排序,将平均查询频率超过每天一定次数的查询词作为高频查询词。本发明取近7天的查询日志进行相应分析,并取每天查询次数超过1-3次的查询词作为高频查询词。本发明的查询词库为动态的,随着时间的变化,用户的高频查询词词库会发生变化,即按前面的步骤进行更新,会新增一些查询词。这样高频查询词库需要经常更新。对于搜索引擎,本发明的更新频率为1天,以保证高频查询词库的准确性。当然,更新频率在1周内都是比较合理的,可根据需要而进行设置。
当用户进行查询时,对于输入的新查询词,本发明的处理系统首先在高频查询词的词库中寻找,若发现完全相同的查询词,即表明本查询词是高频词,认为该查询词是正确的查询词,不进行纠正;若该查询词不在高频查询词中,则用户输入的查询词有可能是错误的查询词,则在高频查询词中查找和该词最近似查询词,即查找最小编辑距离最小的查询词。如果这个词和用户输入的查询词的距离足够小,则认为该查询词可能是对应的正确的查询词。
最小编辑距离最小的查询词的查找步骤具体为,对于新输入的查询词,将其与高频查询词库中的查询词进行匹配,计算新查询词与查询词库中的查询词的相似程度,匹配时以字符串为基准。计算两个字符串的相似程度有不同的算法。本发明采用的算法为最小编辑距离法进行匹配,具体步骤为,在理解该方法之前,首先明确三种对字符串的操作插入编辑,即向新查询词的字符串中某个位置插入一个字符;删除编辑,即删除新查询词的字符串中某一指定位置的一个字符;改写编辑,将新查询词的字符串中某一位置的字符改写为另一个字符的操作。两个字符串的最小编辑距离将第一个字符串利用以上三种操作变为第二个字符串的最小操作次数。因为上述三种操作实际上就是输入发生“笔误”的三种原因,因此该距离对于自动纠错的应用是非常有效的。为更好理解本发明,可以通过以下实例来进一步说明。字符串A和B分别是hllo和hello,则可以在第一个字符串中插入一个字母e而得到第二个字符串,即进行了一次插入操作,A和B的距离是1。若字符串A和B分别是hllo和hlop,则可以在第一个字符串中删除一个字母l,并在最后添加一个字母p而得到第二个字符串,进行了两次操作,故他们的最小编辑距离为2。对于汉字,也是如此,只是操作时以单个汉字为对象进行编辑,计算编辑距离即可。设置编辑距离阈值,若实际编辑距离小于阈值,则用查询词库中的查询词提示给用户,询问用户欲查询的是否为该查询词库中的查询词,若返回为确认,则以该查询词库中的查询词为查询信息进行相应查询,并将查询结果返回给用户。本发明的编辑距离阈值为3。当然,该阈值同样可根据需要进行相应设定,设置的阈值愈小提示的准确度愈高。
本发明对于新输入的查询词的字符串长度有一定要求。当用户输入的查询词非常短时,比如只有二、三个字母,只有一个汉字等时,用户输入错误的可能性会很低,并且,字符串太短时很难判断用户表达的查询意向,再进行纠错效果往往也不理想。因此本发明定义了一个进行自动纠错的查询词的最短长度,只有当用户的输入查询词的长度超过该长度时才进行自动纠错。本发明对于字母的字符串将最短长度设定在4;对于汉字的字符串将最短长度设定在2。当然,具体长度可根据实际需要而进行相应设定。
为保证本发明的准确度,还设定了查询词查询结果比较,以进一步提高返回给用户的提示信息的准确度。一般来讲,“错误的查询词的查询结果通常少于对应的正确的查询词的查询结果”,对于查找到对应与用户输入的查询词的可能正确查询词后,本发明还分别用用户输入的原词和本发明纠正后的新词进行查询,若新词的查询结果总数比原词多,则本发明进行纠错的提示,否则不进行提示。
权利要求
1.一种搜索引擎中的查询词自动纠错方法,包括以下步骤,1)建立查询词词库,对查询日志的查询词进行统计,将平均每天查询次数超过阈值的查询词存储于所述查询词词库中;2)对用户输入的新查询词,首先与所述查询词词库中查询词进行匹配,若完全匹配,则不做处理;若未完全匹配,则查找和该词最近似查询词,若查找成功,则将该查询词词库中的近似查询词返回给用户以校验;若查找失败,则不做处理。
2.如权利要求1所述的搜索引擎中的查询词自动纠错方法,其特征在于,所述在查询词词库中查找和新查询词最近似查询词的具体步骤为,以所述查询词词库中每个查询词为基础,对用户输入的新查询词以字符为单位进行自动编辑,计算将该新查询变换为所述查询词词库中查询词的最小编辑步骤数,即最短编辑距离,若该距离小于设置的阈值,则该新查询词为最近似查询词,并输出给用户以校验;若大于等于阈值,则不做处理。
3.如权利要求2所述的搜索引擎中的查询词自动纠错方法,其特征在于,所述编辑操作具体为以下三种操作的任意组合插入编辑,即向新查询词的字符串中某个位置插入一个字符;删除编辑,即删除新查询词的字符串中某一指定位置的一个字符;改写编辑,将新查询词的字符串中某一位置的字符改写为另一个字符的操作。
4.如权利要求1所述的搜索引擎中的查询词自动纠错方法,其特征在于,该方法还包括,将所述新查询词和最接近的查询词词库中的查询词同时在搜索引擎中操作,若查询词词库中的查询词查询结果多于所述新查询词查询结果,则将该查询词词库中的查询词返回给用户以校验。
5.如权利要求3所述的搜索引擎中的查询词自动纠错方法,其特征在于,所述字符具体为字母和汉字。
6.如权利要求4所述的搜索引擎中的查询词自动纠错方法,其特征在于,所述对新查询词进行处理前还包括对该新查询词的字符数进行判断,若少于设置的阈值,则不作处理。
7.如权利要求5所述的搜索引擎中的查询词自动纠错方法,其特征在于,所述对新查询词字符数设置的阈值根据英文和汉字而不同。
全文摘要
本发明公开了一种搜索引擎中的查询词自动纠错方法,包括,建立查询词词库,对查询日志的查询词进行统计,将平均每天查询次数超过阈值的查询词存储于所述查询词词库中;对用户输入的新查询词,首先与所述查询词词库中查询词进行匹配,若完全匹配,则不作处理;若未完全匹配,则查找和该词最近似查询词,若查找成功,则将该查询词词库中的近似查询词返回给用户以校验;若查找失败,则不作处理。在搜索引擎中使用了本发明进行自动纠错后,即使用户不小心输入错误,在很大程度上也能够方便地得到正确查询词的提示,在很大程度上方便了用户的使用。并保证了每次的查准率。
文档编号G06F17/30GK1755671SQ20041000963
公开日2006年4月5日 申请日期2004年9月30日 优先权日2004年9月30日
发明者谢欣, 李晓明 申请人:北京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1