基于错误模式挖掘的中文搜索引擎查询纠错方法及系统的制作方法

文档序号:6402547阅读:163来源:国知局
专利名称:基于错误模式挖掘的中文搜索引擎查询纠错方法及系统的制作方法
技术领域
本发明涉及自然语言处理,尤其涉及中文搜索引擎查询纠错方法。
背景技术
在过去的十年里,网络信息量一直呈几何级数式速度增长,搜索引擎已经成为了人们从大量的网页中获取有用信息的主要途径之一。据CNNIC发布的《第30次中国互联网络发展状况统计报告》中统计,截至2012年6月底,中国搜索引擎用户规模达到4.29亿,在网民中渗透率为79.7%,较2011年底增长2121万人,半年增长率为5.2%。现有的搜索引擎使用模式中,用户主要以输入关键词的方式来获取包含该关键词的网页信息。据文献统计,英文搜索引擎的查询中有10% 15%含有拼写错误;据对某中文搜索引擎查询日志的统计,查询中存在同音别字、近音别字、拼音、英文拼写等多种错误。在不对查询词进行纠错处理的情况下,搜索引擎的关键字匹配技术对于用户输入的错误查询词,一般很难获取到用户所需的信息。搜索引擎查询纠错技术主要用于分析用户输入的查询词中包含的错误,并对查询词中的错误进行纠正返回正确结果。查询纠错技术对于改善用户的搜索体验,有着十分重要的作用,已被广泛应用于百度、Google、Bing等各大搜索引擎中。常见的英文拼写错误包括单词错误(在词典中找不到该单词)和上下文错误(将一个单词输成为另一个单词,不符合当前上下文语境的需要)。查询纠错实际上就是首先判断查询的拼写正确性,然后对于错误的查询给出其正确形式的过程。常用的英文查询纠错方法包括:基于噪声信道模型的查询纠错方法和基于隐马尔科夫模型的查询纠错方法。在基于噪声信道模型的查询纠错方法(参见参考文献I和2)中,基于正确的词典,为查询中的每个词条生成候选词集合,利用噪声信道模型计算出在给定的查询条件下候选词条出现的概率 ,然后综合考虑编辑距离和语言模型挑选出最优的候选词条组合。在基于隐马尔科夫模型的查询纠错方法(可参见参考文献3)中,将查询中的字符看作观察状态,而该查询的所有可能的正确形式看作隐含状态,并利用状态之间的切换进行纠错,选出与该查询对应的最优隐含状态。在上述方法中,往往采用粗粒度的编辑距离估计查询及其正确形式之间的转换概率,这造成了概率预估精度不准并且候选词条过多等问题。此外,在上述的英文查询纠错技术中,英文单词之间有空格作为天然的分隔符,并且英文查询中往往仅包含英文字母及标点,故而在采用噪声信道模型或隐马尔科夫模型时,仅需考虑获取和查询中词条在一定编辑距离范围以内的候选词条即可。然而在中文查询纠错技术中,用户输入的查询中往往并不存在词条之间的分隔符,且错误的查询中可能包含的有汉字、拼音和英文。目前的中文查询纠错方法,往往采用模糊音匹配的方法,将中文查询词转换为其模糊音,并通过模糊音匹配找到与其相近的候选,并输出正确集合中存在的候选词。这种方法无法处理正确集合以外的中文查询错误,也无法处理中英文、拼音和中文共存的情况。而实际上在中文搜索引擎中,汉字的查询错误类型有多种,例如同音别字、近音别字、形近别字、汉字误写为拼音、前后字位置颠倒、多字漏字等。当汉字误写为拼音时,也可能发生英文错误类型中所包含的字母缺失、字母写错、字母多余、缺少空格、前后字位置颠倒等错误。可见,上述的英文查询纠错方法以及基于模糊音匹配的中文查询纠错方法难以满足中文查询纠错的实际需求。上述参考文献列表如下:参考文献1:M.Kernighan,K.Church and W.Gale.A spellingcorrection program based on a noisy channel model.1n Proceeding ofC0LING1990,pages205-210, 1990.
参考文献 2:S.Cucerzan and E.Brill.Spelling correction as aniterative process that exploits the collective knowledge of web users.1nProceedings of the2004Conference on Empirical Methods in Natural LanguageProcessing, pages293_300,2004.
参考文献3:Ρ.Taylor.Hidden Markov models for grapheme to phonemeconversion.Procs INTERSPEECH, 2005.

发明内容
因此,本发明的目的在于克服上述现有技术的缺陷,提出了一种基于错误模式挖掘的中文搜索弓I擎查询纠错方法。本发明的目的是通过以下技术方案实现的:一方面,根据本发明的一个实施例中提供了一种中文搜索引擎查询纠错方法,包括:步骤1,基于搜索引擎查询日志挖掘错误查询及其正确形式的查询对,建立错误模型;所述错误模型是基于对错误模式发生的概率统计而建立的,所述错误模式发生的概率反映的是将某种正确形式写为某种错误形式的可能性的大小;步骤2,基于搜索引擎查询日志构建语言模型;步骤3,以用户输入的查询作为隐马尔科夫模型的观察状态序列,基于所建立的错误模型产生可能的隐含状态并计算发射概率,基于所建立的语言模型计算初始状态概率和隐含状态转换概率,以及基于隐马尔科夫模型获取该查询对应的最优隐含状态序列,将其作为该查询对应的正确形式。上述方法中,所述步骤I可包括:步骤11,基于查询日志挖掘错误查询及其正确形式的查询对(Q,C);步骤12,从所述查询对(Q,C)的对应错误分段(qiq2q3...qm, C1C2C3...cm)获取错误模式..em),其中ei对应错误模式Ci — q”该错误模式代表将正确形式Ci写成错误形式Qi的情况;步骤13,通过统计的方式建立Iie元错误模型,其中,在错误模式G^e2...em)中ei发生的概率仅取决于其前ne_l个错误模式;P(e, I i) = P(e, IΑ — ρ+2..4—J。上述方 法中,所述步骤11可包括基于搜索引擎查询日志中执行下列步骤:a)用户搜索查询Q时,点击了纠错推荐C,该(Q,C)对即为错误查询及其正确形式的查询对;b)用户搜索查询Q时,其点击链接的标题、摘要中包含查询Q的纠错形式C,该(Q, C)对即为错误查询及其正确形式的查询对;c)用户搜索查询Q时,其点击链接的标题、摘要中未包含Q的所有分词结果,而包含了与Q编辑距离相近的字段C,当(Q,C)之间的编辑距离小于一定阈值时,将其作为错误查询及其正确形式的查询对处理;和/或d)用户搜索查询Q后无点击行为,而在同一会话中的其他查询C产生点击行为,当(Q, C)之间的编辑距离小于一定阈值时,将其作为错误查询及其正确形式的查询对处理。上述方法中,所述步骤11还可包括:对查询Q进行编辑,其中对于英文字母的编辑方式有匹配、替换、插入、删 除、前后字交换、拼音转汉字等,对于中文字的编辑方式有匹配、同音字替换、近音字替换、形近字替换、前后字交换、尾字补全等,采用动态规划算法获得由查询Q到其正确形式C编辑距离最小的编辑方式,从而进一步挖掘更多的错误模式
(C1 — q1; C2 — q2, C3 — q3,...,Cni — qm)。上述方法中,所述步骤13)中ne为2,错误模式&发生的概率为:错误模式与e,在所获取的错误模式中连续出现的次数和错误模式Θη与任一错误模式在所获取的错误模式中连续出现的次数的比值。上述方法中,所述步骤3可包括:步骤31)以用户输入的查询作为隐马尔科夫模型的观察状态序列O1O2O3...0ni,利用所述语言模型计算隐马尔科夫模型的初始状态概率;步骤32)利用错误模型产生可能的隐含状态,并计算隐马尔科夫模型的发射概率;步骤33)利用语言模型计算隐马尔科夫模型的隐含状态转换概率;步骤34)基于上述的观察状态序列,初始状态概率、可能的隐含状态、隐含状态转换概率、发射概率,利用隐马尔科夫模型获取该查询对应的最优隐含状态序列。上述方法中,所述步骤31)中,所述初始状态概率为观察状态O1对应的隐含状态S1的概率分布Ki = PiSl = 5* ),\<i<NJi i ^ O
N=1
i=l其中,隐含状态S1代表观察状态O1对应的正确形式,S1可有N个值,PiSl =4)代
表隐含状态S1取第i个值4的概率,其为■^在搜索引擎查询日志中出现在首位的次数与4
在搜索弓I擎查询日志中出现的次数的比值。上述方法中,所述步骤32)可包括:对于给定的观察状态序列O1O2O3...0m,所述隐含状态序列S1S2S3...Sm中某一状态Si的取值取决于观察状态Oi所对应的错误模式的发生概率,将其发生概率大于某一阈值的每个错误模式中的正确形式作为观察状态Oi的可能的隐含状态,并且将该错误模式的发生概率作为隐马尔科夫模型中的发射概率,其代表将该隐含状态错写成观察状态Oi的概率,其中 l〈i〈=m。上述方法中,所述步骤33)可包括:对于某一隐含状态序列S1S2S3...Sm,利用所建立的语言模型计算其中某一个状态Si发生概率如下:p(sr= I A— ,+A—,其中Il1为所建立的语言模型的阶数;将该概率作为隐含状态转换概率。又一方面,根据本发明的又一个实施例中提供了一种中文搜索引擎查询纠错系统,包括:错误模型装置,基于搜索引擎查询日志挖掘错误查询及其正确形式的查询对,建立错误模型;所述错误模型是基于对错误模式发生的概率统计而建立的,所述错误模式发生的概率反映的是将某种正确形式写为某种错误形式的可能性的大小;语言模型装置,基于搜索引擎查询日志构建语言模型;隐马尔科夫模型装置,以用户输入的查询作为隐马尔科夫模型的观察状态序列,基于所建立的错误模型产生可能的隐含状态并计算发射概率,基于所建立的语言模型计算初始状态概率和隐含状态转换概率,以及基于隐马尔科夫模型获取该查询对应的最优隐含状态序列,将其作为该查询对应的正确形式。又一方面,本发明还提供一种中文搜索引擎检索方法,所述方法包括:接收用户输入的查询;利用上述的查询·纠错方法,获取该查询对应的正确形式;以所获得的正确形式进行检索并将检索结果返回给用户。又一方面,本发明还提供一种中文搜索引擎,其包括上述的查询纠错系统。与现有技术相比,本发明的优点在于:1.针对中文搜索引擎查询中包含多种不同的错误模式,通过挖掘搜索引擎查询日志中的多种错误模式并建模,有效的改善了查询纠错中查询及其正确形式之间转换概率的预估精度。2.采用隐马尔科夫模型实现中文查询纠错,并利用隐含状态的转移实现对查询的切分和纠错,能够处理中文查询中包含有汉字、拼音和英文等情况。3.在给定隐马尔科夫模型的初始概率、状态转移概率、发射概率的情况下,采用剪枝的维特比算法计算最优的隐含状态序列,提高了查询纠错的准确率和速度。


以下参照附图对本发明实施例作进一步说明,其中:图1为根据本发明实施例的中文搜索引擎查询纠错方法的流程示意图;图2为根据本发明实施例的剪枝的维特比算法流程示意图;图3为给定观察状态序列到达某一隐含状态的可能路径示意图。
具体实施例方式为了使本发明的目的,技术方案及优点更加清楚明白,以下结合附图通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。为了更好地理解本发明,首先对马尔科夫模型、隐马尔科夫模型以及基于隐马尔科夫模型的查询纠错方法、N-gram语言模型的基本原理进行简单的示意性介绍。1.N阶马尔科夫模型对于给定一个随机变量序列S1, S2, S3...,其中St的取值仅由St_N, St_N+1,…,St^1决定,即:P (St=s I S1=S1, S2=S2…Sh=Sh) =P (St=s | St_N=st_NSt_N+1=st_N+1...Sh=Sw),简单来说,就是现在的状态只取决于该状态之前的N个状态。而对于一个状态转换序列而言,P (S1Sf sT) =P (S1) P (S21 S1)…
P (St I St—nSt—N+1...。但是,有时状态转换序列S1S2…sT并不能直接得到,而采用隐马尔科夫模型,可通过观察数据来发现隐藏在观察数据之后的状态转换序列。以语音识别为例,当观察到语音信号O1, O2, O3时,根据这组语音信号推测源端发送的句子S1S2S3,也就是在所有可能的句子中找出概率最大的。即在已知0l,02,03,...的情况下,求使得条件概率P (S1, S2, S3,...1 O1, O2, O3...)达到最大值的那个句子S1, S2, S3...。对于自动纠错,就是要根据带有拼写错误的语句推测该语句想表达的正确意思。2.隐马尔科夫模型(Hidden Markov Model, HMM)假设给定观察序列O1, cv-ot,隐藏在观察数据之后的状态转换序列为S1, S2,…St,其中,St只依赖于St_1; Ot只依赖于st,该隐马尔科夫模型中的马尔可夫链为一阶马尔可夫链。贝IJ可得联合概率(对于给定的观察序列0l,Cvot,其隐含状态序列为S1S2-St的概率)为:
权利要求
1.一种中文搜索引擎查询纠错方法,所述方法包括: 步骤I,基于搜索引擎查询日志挖掘错误查询及其正确形式的查询对,建立错误模型;所述错误模型是基于对错误模式发生的概率统计而建立的,所述错误模式发生的概率反映的是将某种正确形式写为某种错误形式的可能性的大小; 步骤2,基于搜索引擎查询日志构建语言模型; 步骤3,以用户输入的查询作为隐马尔科夫模型的观察状态序列,基于所建立的错误模型产生可能的隐含状态并计算发射概率,基于所建立的语言模型计算初始状态概率和隐含状态转换概率,以及基于隐马尔科夫模型获取该查询对应的最优隐含状态序列,将其作为该查询对应的正确形式。
2.根据权利要求1所述的方法,所述步骤I包括: 步骤11,基于查询日志挖掘错误查询及其正确形式的查询对(Q,C); 步骤12,从所述查询对(Q,C)的对应错误分段(qiq2q3...qm, C1C2C3...cm)获取错误模式..em),其中ei对应错误模式Ci — q”该错误模式代表将正确形式Ci写成错误形式Qi的情况; 步骤13,通过统计的方式建立元错误模型,其中,在错误模式(eie2e2...em)中力发生的概率仅取决于其前H个错误模式(Α- ν+Λ-#…A-1).
3.根据权利要求2所述的方法,其中,所述步骤11包括基于搜索引擎查询日志中执行下列步骤: a)用户搜索查询Q时,点击了纠错推荐C,该(Q,C)对即为错误查询及其正确形式的查询对; b)用户搜索查询Q时,其点击链接的标题、摘要中包含查询Q的纠错形式C,该(Q,C)对即为错误查询及其正确形式的查询对; c)用户搜索查询Q时,其点击链接的标题、摘要中未包含Q的所有分词结果,而包含了与Q编辑距离相近的字段C,当(Q,C)之间的编辑距离小于一定阈值时,将其作为错误查询及其正确形式的查询对处理;和/或 d)用户搜索查询Q后无点击行为,而在同一会话中的其他查询C产生点击行为,当(Q, C)之间的编辑距离小于一定阈值时,将其作为错误查询及其正确形式的查询对处理。
4.根据权利要求3所述的方法,所述步骤11还包括:对查询Q进行编辑,其中对于英文字母的编辑方式有匹配、替换、插入、删除、前后字交换、拼音转汉字等,对于中文字的编辑方式有匹配、同音字替换、近音字替换、形近字替换、前后字交换、尾字补全等,采用动态规划算法获得由查询Q到其正确形式C编辑距离最小的编辑方式,从而进一步挖掘更多的错误模式(C1 — q” C2 — q2, C3 — q3,...,cm — qm)。
5.根据权利要求2所述的方法,所述步骤13)中\为2,错误模式^发生的概率为:错误模式与ei在所获取的错误模式中连续出现的次数和错误模式eg与任一错误模式在所获取的错误模式中连续出现的次数的比值。
6.根据权利要求1所述的方法,所述步骤3包括: 步骤31)以用户输入的查询作为隐马尔科夫模型的观察状态序列O1O2O3...0m,利用所述语言模型计算隐马尔科夫模型的初始状态概率; 步骤32)利用错误模型产生可能的隐含状态并计算隐马尔科夫模型的发射概率; 步骤33)利用语言模型计算隐马尔科夫模型的隐含状态转换概率; 步骤34)基于上述的观察状态序列,初始状态概率、可能的隐含状态、隐含状态转换概率、发射概率,利用隐马尔科夫模型获取该查询对应的最优隐含状态序列。
7.根据权利要求6所述的方法,所述步骤31)中,所述初始状态概率为观察状态O1对应的隐含状态S1的概率分布31 ={> J,
8.根据权利要求6所述的方法,所述步骤32)包括: 对于给定的观察状态序列O1O2O3...0ni,所述隐含状态序列S1S2S3...Sm中某一状态Si的取值取决于观察状态Oi所对应的错误模式的发生概率,将其发生概率大于某一阈值的每个错误模式中的正确形式作为观察状态Oi的可能的隐含状态,并且将该错误模式的发生概率作为隐马尔科夫模型中的发射概率,其代表将该隐含状态错写成观察状态Oi的概率,其中l〈i〈=m0
9.根据权利要求6所述的方法,所述步骤33)包括: 对于某一隐含状态序列S1S2S3...Sm,利用所建立的语言模型计算其中某一个状态Si发生概率如下:
10.一种中文搜索引擎检索方法,所述方法包括: 接收用户输入的查询; 利用权利要求1-9之一所述的方法,获取该查询对应的正确形式; 以所获得的正确形式进行检索并将检索结果返回给用户。
11.一种中文搜索引擎查询纠错系统,所述系统包括: 错误模型装置,基于搜索引擎查询日志挖掘错误查询及其正确形式的查询对,建立错误模型;所述错误模型是基于对错误模式发生的概率统计而建立的,所述错误模式发生的概率反映的是将某种正确形式写为某种错误形式的可能性的大小; 语言模型装置,基于搜索引擎查询日志构建语言模型; 隐马尔科夫模型装置,以用户输入的查询作为隐马尔科夫模型的观察状态序列,基于所建立的错误模型产生可能的隐含状态并计算发射概率,基于所建立的语言模型计算初始状态概率和隐含状态转换概率,以及基于隐马尔科夫模型获取该查询对应的最优隐含状态序列,将其作为该查询对应的正确形式。
12.—种中文搜索引擎,包括如权利要求11所述的查询纠错系统。
全文摘要
本发明提供一种基于错误模式挖掘的中文搜索引擎查询纠错方法。该方法通过挖掘搜索引擎查询日志中的错误模式并建模,有效的改善了查询纠错系统中查询及其正确形式之间转换概率的预估精度;利用隐马尔科夫模型进行查询纠错,通过隐含状态的转移实现对查询的切分和纠错,提高了查询纠错的准确率和速度。
文档编号G06F17/30GK103246714SQ20131014948
公开日2013年8月14日 申请日期2013年4月26日 优先权日2013年4月26日
发明者熊锦华, 程舒杨, 程学旗, 公帅, 颛悦, 张 成, 廖华明 申请人:中国科学院计算技术研究所, 人民搜索网络股份公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1