[go: up one dir, main page]

CN101131706B - 一种查询修正方法及系统 - Google Patents

一种查询修正方法及系统 Download PDF

Info

Publication number
CN101131706B
CN101131706B CN2007101753268A CN200710175326A CN101131706B CN 101131706 B CN101131706 B CN 101131706B CN 2007101753268 A CN2007101753268 A CN 2007101753268A CN 200710175326 A CN200710175326 A CN 200710175326A CN 101131706 B CN101131706 B CN 101131706B
Authority
CN
China
Prior art keywords
word
query
probability
language model
occurrence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN2007101753268A
Other languages
English (en)
Other versions
CN101131706A (zh
Inventor
高立琦
刘挺
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Kingsoft Software Co Ltd
Harbin Institute of Technology Shenzhen
Beijing Jinshan Digital Entertainment Technology Co Ltd
Original Assignee
Beijing Kingsoft Software Co Ltd
Harbin Institute of Technology Shenzhen
Beijing Jinshan Digital Entertainment Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Kingsoft Software Co Ltd, Harbin Institute of Technology Shenzhen, Beijing Jinshan Digital Entertainment Technology Co Ltd filed Critical Beijing Kingsoft Software Co Ltd
Priority to CN2007101753268A priority Critical patent/CN101131706B/zh
Publication of CN101131706A publication Critical patent/CN101131706A/zh
Application granted granted Critical
Publication of CN101131706B publication Critical patent/CN101131706B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种查询修正方法及系统,解决目前的搜索引擎无法对用户输入的多种错误查询进行正确分析,从而导致检索失败的问题。所述方法包括:利用检索资源预置语言模型;调用相应的修正操作,对原始输入的每个查询词进行修正,得到对应每个查询词的多种表示,其中包括原始输入的表示;根据每个查询词的多种表示,得到多种组合形式的词序列;调用所述语言模型计算词序列出现的概率,并将出现概率高的词序列确定为查询建议结果。本发明能够统一地处理查询中多种输入错误或输入不完整的问题,如拼写错误、词形不全等,达到对查询自动修正、帮助用户有效地利用搜索引擎的目的。

Description

一种查询修正方法及系统
技术领域
本发明涉及搜索引擎技术,特别是涉及搜索引擎中一种查询修正方法及系统。
背景技术
查询是指用户在使用搜索引擎时的输入,在此特指文字输入。查询是用户信息需求的表达,搜索引擎只有正确地“理解”用户的查询,才能够为用户提供精准的检索结果,为用户提供高质量的服务。但是,目前的搜索引擎在分析用户的查询时,准确性会受到几种因素的影响和制约,如单词拼写错误、词形错误、输入词不完整、中文同音词等等,使得搜索引擎无法正确“理解”用户意图,返回的检索结果不能满足用户需求。
现有的搜索引擎,如谷歌(Google)、有道、百度等,都非常重视查询处理方面的功能,提供了查询补全、拼写错误检查等查询修正功能。例如,在Google中输入“computer scien”,返回结果页面会提示“Do you mean:computer science”,自动将单词补全,并且检索结果也是与“computer science”相关的信息。
但是,目前的搜索引擎中常用的查询修正方法都是单一或孤立的,或者能够进行“拼写检查”,或者能够实现“词形补全”,如果输入的查询中含有多处错误,现有的方法很难同时处理。例如,如果输入“computing scien nad techno”,目前的搜索引擎使用的方法均不能正确处理,均不能给出“computer science and technology”这样的提示。现有的方法即使对所述查询进行多次处理,比如先“词形补全”后“拼写检查”,也很难给出较准确的提示,因为多次处理不能很好地判断该选用哪个词作为提示,例如“scien”可以补全为“science”和“scientist”,“techno”可以补全为“technology”、“technological”等。因此,针对用户输入的查询中可能存在多种错误或不利于搜索引擎正确分析用户检索意图的情况,都会导致检索失败。
发明内容
本发明所要解决的技术问题是提供一种查询修正方法及系统,以解决目前的搜索引擎无法对用户输入的多种错误查询进行正确分析,从而导致检索失败的问题。
为解决上述技术问题,根据本发明提供的具体实施例,本发明公开了以下技术方案:
一种查询修正方法,包括:
利用检索资源预置语言模型,包括:获取检索资源中的各个词项,统计各个词项在所述检索资源中的出现次数,根据所述出现次数建立统计语言模型;
调用相应的修正操作,对原始输入的每个查询词进行修正,得到对应每个查询词的多种表示,其中包括原始输入的表示;
根据每个查询词的多种表示,得到多种组合形式的词序列;
以所述词序列为搜索对象,调用所述语言模型计算所述多种组合形式的词序列中各个词序列出现的概率,并将出现概率高的词序列确定为查询建议结果,其中所述词序列出现概率的计算方法为:
对应每个词序列S=w1w2…wn,该词序列的出现概率为:P(w1w2…wn)=P(w1)P(w2|w1)…P(wn|wn-1),其中,P(w)=C(w)/C(*)表示一元词项的出现概率,其中C(w)表示一元词w出现的次数,
Figure B2007101753268D00021
表示全部一元词项的出现次数之和;
Figure B2007101753268D00022
表示在包含词wj的条件下词wi出现的概率,其中C(wi,wj)表示二元词wi和wj的共同出现次数,表示全部一元词项的出现次数之和,
Figure B2007101753268D00024
表示全部二元词项的出现次数之和。
其中,所述语言模型包括一元和/或多元语言模型。
优选的,所述调用语言模型计算词序列出现概率的步骤包括:
步骤1,对第一个查询词,调用语言模型中P(w)的计算结果得到每种查询词表示的出现概率,并按照预定个数选取出现概率高的查询词表示;
步骤2,对第二个查询词,利用公式P(w1w2)=P(w1)P(w2|w1)计算包含第一和第二查询词的词序列出现概率,并按照预定个数选取出现概率高的词序列;其中w1为步骤1中选出的第一个查询词表示,w2为第二个查询词的各种表示;
按照步骤2依次对每个查询词,利用下述公式P(w1w2…wn)=P(w1)P(w2|w1)…P(wn|wn-1)计算词序列出现的概率,并最终得到预定个数的包含所有查询词的词序列S=w1w2…wn
所述方法还包括:将所述查询建议结果作为提示信息显示,或者直接根据查询建议结果进行检索。
一种查询修正系统,包括:
模型生成单元,用于利用检索资源预置语言模型,包括:获取检索资源中的各个词项,统计各个词项在所述检索资源中的出现次数,根据所述出现次数建立统计语言模型;
数据接口,用于接收查询输入;
查询处理引擎,用于调用相应的修正操作,对原始输入的每个查询词进行修正,得到对应每个查询词的多种表示,其中包括原始输入的表示;
查询建议生成单元,用于根据每个查询词的多种表示,得到多种组合形式的词序列;并以所述词序列为搜索对象,调用所述语言模型计算所述多种组合形式的词序列中各个词序列出现的概率,将出现概率高的词序列确定为查询建议结果,其中所述词序列出现概率的计算方法为:
对应每个词序列S=w1w2…wn,该词序列的出现概率为:P(w1w2…wn)=P(w1)P(w2|w1)…P(wn|wn-1),其中,P(w)=C(w)/C(*),表示一元词项的出现概率,其中C(w)表示一元词w出现的次数,
Figure B2007101753268D00031
表示全部一元词项的出现次数之和;
Figure B2007101753268D00032
表示在包含词wj的条件下词wi出现的概率,其中C(wi,wj)表示二元词wi和wj的共同出现次数,
Figure B2007101753268D00041
表示全部一元词项的出现次数之和,
Figure B2007101753268D00042
表示全部二元词项的出现次数之和。
所述系统还包括:预处理单元,用于对原始输入进行分词或断词预处理,得到原始输入的词序列。
其中,所述查询建议生成单元生成的查询建议结果通过数据接口作为提示信息显示,或者直接发送给检索单元进行检索。
优选的,所述查询建议生成单元生成查询建议结果的过程包括:
步骤1,对第一个查询词,调用语言模型中P(w)的计算结果得到每种查询词表示的出现概率,并按照预定个数选取出现概率高的查询词表示;
步骤2,对第二个查询词,利用公式P(w1w2)=P(w1)P(w2|w1)计算包含第一和第二查询词的词序列出现概率,并按照预定个数选取出现概率高的词序列;其中w1为步骤1中选出的第一个查询词表示,w2为第二个查询词的各种表示;
按照步骤2依次对每个查询词,利用下述公式P(w1w2…wn)=P(w1)P(w2|w1)…P(wn|wn-1)计算词序列出现的概率,并最终得到预定个数的包含所有查询词的词序列S=w1w2…wn
根据本发明提供的具体实施例,本发明公开了以下技术效果:
本发明能够统一地处理查询中多种输入错误或输入不完整的问题,如拼写错误、词形不全等,达到对查询自动修正、帮助用户有效地利用搜索引擎的目的。通过对用户输入的查询词进行多种修正分析,每种修正操作针对一个查询词,如拼写检查、词形补全、词形还原、同义词替换等,得到对应每个查询词的多种表示,进而得到多种组合形式的词序列;然后利用预先根据检索资源建立好的语言模型,计算各个词序列的出现概率,并将出现概率高的词序列作为查询建议结果。该结果既可作为显式提示,也可作为隐式的查询传给系统的检索部分进行检索,尽可能帮助用户检索到满意的结果,提高用户使用搜索引擎的效率。
附图说明
图1是本发明实施例所述查询修正方法的步骤流程图;
图2是本发明优选实施例中查询内部数据结构的示意图;
图3是图2所示实施例中的求得前n个最优结果的过程示意图;
图4是图2所示实施例中查询建议结果的页面显示效果图;
图5是本发明实施例所述查询修正系统的结构图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明实施例提供了一种查询修正方法,针对用户输入的检索查询中,可能存在多种错误或者不利于搜索引擎正确分析用户检索意图,导致检索失败的情况,通过对用户输入的查询词进行多种修正分析,利用事先根据检索资源建立好的语言模型作为衡量标准,然后通过有效的搜索算法搜索出最符合语言模型的若干查询修正建议,既可作为显式提示,也可作为隐式的查询传给检索部分检索,尽可能帮助用户检索到预期的结果,避免用户多次修改查询,提高用户使用搜索引擎的效率。
参照图1,是本发明实施例所述查询修正方法的步骤流程图。
其中,步骤101-103是利用检索资源预置语言模型的过程,如下:
步骤101,对所有的检索资源(如网页)进行处理。具体过程包括:根据具体需求提取网页的正文,并根据网页的编码对正文进行转换(主要对非英文文字编码有影响);然后对中文文本进行分词处理,对英文文本进行断词处理,根据应用需求还可以进行词形还原、字母小写化等操作。经过上述处理,得到全部检索资源的各个词项,其中包括中文词项或英文词项。
步骤102,统计各词项在全部检索资源中出现的次数。例如,检索资源中含有“a b c d a b e f”,统计的结果为“a:2,b:2,c:1,d:1,e:1,f:1”。此外,为了下面构建语言模型做准备,除了统计一个词出现的次数,还需要统计两个词的共同出现次数,例如“a_b:2,b_c:1,c_d:1,d_a:1...”。
当检索资源数据量大的情况下,通常采用多路归并或者分布式处理方式统计,即先将资源分为若干组,逐组统计,最后再合并。对于三个词和三个词以上的统计原理,与二个词的统计原理一致,但是统计数据量会更大。所述统计方式与语言没有关系,适用于中文、英文及其它语言。
本实施例中,统计的是相邻两个词或多个词的共同出现次数,当然,根据不同的模型建立过程,也可以统计不相邻的多个词,或者按照其他规则进行统计。
步骤103,建立统计语言模型。该语言模型提供一个概率分布,用于后续的计算过程中直接调用。基于以上步骤的处理,可以建立一元、二元或多元语言模型,其中所述多元是指基于多个词的出现次数建立的模型。下面将以二元语言模型为例进行说明,如果原始的检索资源数据足够充分,采用三元词的模型会优于二元词的语言模型,三元或更多元模型的建立原理与二元模型相同,在此不再详述。
二元语言模型通过邻接两个词的统计信息描述整句的出现概率。建立语言模型,即要在步骤102的数据基础上预先计算出P(w)和P(wi|wj),供后续处理中估算概率使用。P(w)和P(wi|wj)的计算公式如下:
P(w)=C(w)/C(*)                                    I
公式I表示一元词项的出现概率,其中C(w)表示一元词w出现的次数,
Figure B2007101753268D00061
表示全部一元词项的次数之和;
P ( w i | w j ) = P ( w i , w j ) / P ( w j ) = C ( w i , w j ) C ( * , * ) · C ( * ) C ( w j ) - - - ( II )
公式II是一个条件概率公式,表示在包含词wj的条件下词wi出现的概率,其中C(wi,wj)表示二元词wi和wj的共同出现次数,
Figure B2007101753268D00063
表示全部一元词项的次数之和,
Figure B2007101753268D00064
表示全部二元词项的次数之和。
利用上述公式处理后的结果是全部检索资源中,所有一元词项和二元词项代入公式的计算值,这些结果用于后续步骤的调用。
上述步骤101-103的过程需要检索系统预先进行处理,建立好语言模型后再供用户查询使用。下面的步骤是用户在查询输入时,检索系统进行的查询修正操作。
步骤104,用户在搜索框中输入查询,并触发查询事件。本发明实施例所针对的查询一般是指自然语言输入,不针对“布尔查询”等有结构查询,如“+computer-science(and || or)”。如果用户输入的是“computing scien nad techno”,用户希望的真实输入是“computer science and technology”,但是其中“computer”被误输入成“computing”,“science”和“techno”没有输入完整,“and”被错误拼写为“nad”。
步骤105,对获得的查询词进行分词或断词预处理,变成词序列。所述分词处理是为了获取查询词中最常用的词根,例如查询词为“中国政府推出知识产权新举措”,分词结果可能为“中国”、“政府”、“知识产权”、“举措”,或者是“中国政府”、“知识产权举措”等等,能有效地排除不是常用组合的搭配,例如“国政”,这样可以减少搜索的词根。断词处理是指将输入的英文单词与标点符号分割开,如“good job!”处理后为“good”、“job”、“!”。根据具体需求,还需要去掉标点符号或者一些“停用词”(指对查询分析、修正没有帮助的词)。上例“computing scien nad techno”中,分析后的结果为:“computing”,“scien”,“nad”,“techno”。
步骤106,对分词或断词处理后的每个查询词进行修正操作。对于采用什么样的修正操作,需要结合实际需求而定,本例中使用“拼写检查”、“词形还原”和“词形补全”进行说明,但本发明并不限于所述几种修正操作。系统对“computing”进行处理,发现通过“词形还原”可以得到词“computer”和“compute”;对“scien”进行处理,通过“词形补全”可得到的查询词有“science”、“scientist”和“scientists”;对“nad”处理,通过“拼写检查”得到“and”和“nap”;对“techno”处理后得到“technology”、“technological”等。
通过步骤106,对应每个查询词可以得到多种表示,将查询词的每种表示组合起来,又可以得到多种组合形式的词序列,即得到多组候选结果,例如“computer scientist and technological”、“computing scientists naptechnology”等等,其中包括用户的原始输入“computing scien nad techno”。
步骤107,调用语言模型中的计算值,采用下述公式计算每个词序列在检索资源中的出现概率,并将出现概率高的词序列作为查询建议结果。
假设某个词序列为S=w1w2…wn,利用语言模型估算该词序列出现概率的公式为(仍以二元语言模型为例):
P(w1w2…wn)=P(w1)P(w2|w1)…P(wn|wn-1)                      III
公式III中,每一项概率P(w1)、P(w2|w1)、…、P(wn|wn-1)可直接调用二元语言模型中的计算值。因此,对于每一组候选结果,可以调用语言模型计算其出现概率,相应的概率值越大表示该组建议结果越符合步骤103建立的语言模型。
本实施例以所述语言模型作为衡量标准,因为步骤103建立的语言模型是从检索资源中建立起来的,因此概率值越大的查询建议结果与检索资源的匹配程度越大,这样有利于搜索引擎检索到用户期望的资源。
步骤108,对查询建议结果进行处理,或者显示给用户作为提示信息供选择,或者作为隐式的查询传送给系统的检索部分进行检索。
针对上述步骤107,本发明还提供了一种获得查询建议结果的优选实施例,该实施例可以快速求解前预定个数的最优结果,极大地提高了系统的处理效率。具体方法如下:
首先,在步骤106的基础上构建一个有向图结构,参照图2所示,两个结点之间的边并不唯一。构建有向图的步骤如下:
(1)若经步骤105分析后有n个词项,则图的结点为n+1个,编号为0...n;
(2)图中用边表示一个词项,首先添加原始输入的查询词,第i个查询词对应的边为(i,i+1),由此构成一条路,即得到原始输入的词序列;
(3)对每一个查询词,添加由修正操作得到的词,以“computing”为例,由修正操作得到“compute”、“computer”,把这两个词添加到0、1节点之间。由此得到多条路,即得到多组词序列。
然后,在构建好有向图的基础上,结合二元语言模型并利用公式III,采用动态算法求得最优结果,即对应出现概率最大的路所对应的词序列。在查询提示中,有时最优结果并不是用户真正想要的,这是因为不同用户的信息需求不完全一致,有很大的主观性。因此,本步骤在所述动态算法的基础上还给出了求解前n个最优结果的方法。
参照图3,是所述求得前n个最优结果的过程示意图,其中对每条边进行了编号。方法描述如下:
(1)对第一个查询词,调用语言模型中P(w)的计算结果得到每种查询词表示的出现概率,并按照预定个数选取出现概率高的查询词表示;
例如,图3中第一个查询词有三种表示:(1)“computing”,(5)“compute”,(6)“computer”。根据二元语言模型中的P(w)值进行排序,从高到底的顺序是(6)(1)(5)。假设选取的预定个数n为4,则保留排序考前的前4条边,超过个数限制的边被去除。本例中全部保留(6)(1)(5)。
(2)对第二个查询词,利用公式P(w1w2)=P(w1)P(w2|w1)计算包含第一和第二查询词的词序列出现概率,并按照预定个数选取出现概率高的词序列;其中w1为步骤(1)中选出的第一个查询词表示,w2为第二个查询词的各种表示;
例如,图3中第二个查询词有四种表示:(2)“scien”,(7)“science”,(8)“scientist”,(9)“scientists”。分别将第一查询词的各种表示(6)、(1)、(5)与第二查询词的各种表示组合(2)、(7)、(8)、(9),并利用公式(3),将二元语言模型中的相应值代入公式P(w1w2)=P(w1)P(w2|w1)分别计算出现概率,然后将计算值从高到底进行排序,最后选择前4个词序列为(6)(7)、(6)(8)、(1)(7)、(1)(8)。
(3)按照步骤(2)的方法依次对每个查询词,利用公式IIIP(w1w2…wn)=P(w1)P(w2|w1)…P(wn|wn-1)计算词序列出现的概率,并最终得到预定个数的包含所有查询词的词序列S=w1w2…wn
例如,对包含第三个查询词的词序列,排序后得到(6)(7)(11)、(6)(8)(11)、(1)(7)(11)、(1)(8)(11);对包含第四个查询词的词序列,排序后得到最优路径的表示结果(6)(7)(11)(12),次优路径(6)(8)(11)(12)、(1)(7)(11)(13)、(1)(8)(11)(12)。其中,最优的建议结果(6)(7)(11)(12)对应着图中从0号结点到n+1号结点的一条路,即(0,1)(1,2)…(n,n+1),如图3中粗线所表示。
参照图4,是查询建议结果的页面显示效果图。本例中,建议结果按照“生成概率”由高到低排序,结果最多为10个。第一项结果为最优结果,也就是与检索资源中最接近的查询建议结果,可直接作为搜索引擎的“查询建议”,供用户参考。
由上可知,所述优选方法是在每添加一个查询词的计算结果后进行排序筛选,选取出符合语言模型的几个词序列用于后续计算,对在语言模型中出现概率低的词序列不再进行后续计算,这样可以节省大量的计算量,从而提高计算效率。
需要说明的是,本发明实施例提供的方法不受语言限制,既可以用于英文,也可以用于中文及其他语言的查询修正处理。由于每种语言有各自的特性,需要根据实际应用选择相应的查询修正操作,但原理都是完全一致的,差别在于对每种语言的预处理和选用的查询词修正方法不同,比如中文会用到“中文自动分词”技术,英文会用到“英文断词技术”等。
以中文处理为例,中文输入也会出现类似英文的“拼写错误”的问题,即“错别字”。比如“不加思索”(应为“不假思索”)、“鸟鲁木齐”(应为“乌鲁木齐”)。这样的错误,既有可能是用户主观上输入错误(比如,没有记准是哪个字),也有可能是客观输入造成的(比如,使用拼音输入法选错了字)。一般情况下,含有“错别字”的中文输入,会影响搜索引擎的检索结果,找不到用户真正想要的信息。除此之外,中文中也同样可以使用“词形补全”的查询处理方法,比如,输入为“计算”,提示“计算机”、“计算器”等。
在本发明实施例提供的方法下,结合多种查询扩展方法,可以实现中文查询的多种方式处理。举例说明:假设输入为“查照英字母”,首先进行中文分词,结果为“查照”、“英”、“字母”。然后对“查照”进行“错别字检查”,发现候选词有“查找”;对“英”处理,发现“词形补全”能给出“英文”、“英国”、“英雄”等结果;对“字母”进行“同音词替换”,能给出候选词“字幕”。结合预先建立好的“中文语言模型”,对全部候选词的组合进行高效搜索,发现“查找英文字幕”最有可能是体现用户本意的输入。
针对上述查询修正方法,本发明还提供了一种查询修正系统的实施例。参图5所示,是所述系统实施例的结构图,所述系统包括模型生成单元501、数据接口502、预处理单元503、查询处理引擎504、查询建议生成单元505。
模型生成单元501用于利用检索资源建立语言模型,包括一元模型、二元模型、三元模型,或根据应用需要建立更多元的模型。以二元语言模型为例,该模型利用公式I和II给出了全部检索资源中各个一元词项的P(w)值和二元词项的P(wi|wj)值。模型的建立过程可参见前述步骤101-103,在此不再详述。
数据接口502提供了所述查询修正系统与外部的接口,用于接收查询输入,并返回查询建议结果。用户输入的查询词经数据接口502传送到预处理单元503进行预处理,预处理过程包括分词或断词等一系列处理,然后得到原始输入的词序列。
经预处理的词序列传送到查询处理引擎504进行修正处理,所述查询处理引擎504用于调用各种修正操作对词序列中的每个查询词进行修正,得到对应每个查询词的多种表示,即得到多个候选词。图中仅列举了“拼写检查”、“词形补全”、“词形还原”和“同义词替换”几种修正操作,还可以根据实际应用增加其他修正功能。
经修正后的每个查询词可以得到多个候选词,将这些候选词按照不同方式组合,可以得到多组词序列,即多组候选结果。查询建议生成单元505用于调用语言模型计算每个词序列在检索资源中的出现概率,并将出现概率高的词序列作为查询建议结果,以二元语言模型为例的计算公式可参见前述公式III。
优选的,查询建议生成单元505提供了一种得到前n个最优结果的方法,可参见图3所示,由此得到的第一项结果为最优结果,也就是与检索资源中最接近的查询建议结果,可直接作为搜索引擎的“查询建议”,供用户参考。第二项为次优结果,第三项及排序靠后的几项都可作为次优查询建议结果。
查询建议生成单元505生成的查询建议结果既可以作为提示信息通过数据接口502显示,供用户选择;也可以传送到检索单元,作为隐式的查询建议直接进行检索。
综上所述,本发明实施例提供了一种新颖的查询修正方法,针对用户的查询经常含有错误的情况,通过自动修正或查询提示等方式使用户在输入错误的情况下,搜索引擎仍然能够检索出用户预期的结果,避免用户多次修改查询,帮助用户提高使用搜索引擎的效率。
图5所示系统中未详述的部分可以参见图1所示方法的相关部分,为了篇幅考虑,在此不再详述。
以上对本发明所提供的一种查询修正方法及系统,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

Claims (8)

1.一种查询修正方法,其特征在于,包括:
利用检索资源预置语言模型,包括:获取检索资源中的各个词项,统计各个词项在所述检索资源中的出现次数,根据所述出现次数建立统计语言模型;
调用相应的修正操作,对原始输入的每个查询词进行修正,得到对应每个查询词的多种表示,其中包括原始输入的表示;
根据每个查询词的多种表示,得到多种组合形式的词序列;
以所述词序列为搜索对象,调用所述语言模型计算所述多种组合形式的词序列中各个词序列出现的概率,并将出现概率高的词序列确定为查询建议结果,其中所述词序列出现概率的计算方法为:
对应每个词序列S=w1w2…wn,该词序列的出现概率为:P(w1w2…wn)=P(w1)P(w2|w1)…P(wn|wn-1),其中,P(w)=C(w)/C(*),表示一元词项的出现概率,其中C(w)表示一元词w出现的次数,
Figure F2007101753268C00011
表示全部一元词项的出现次数之和;
Figure F2007101753268C00012
表示在包含词wj的条件下词wi出现的概率,其中C(wi,wj)表示二元词wi和wj的共同出现次数,
Figure F2007101753268C00013
表示全部一元词项的出现次数之和,
Figure F2007101753268C00014
表示全部二元词项的出现次数之和。
2.根据权利要求1所述的方法,其特征在于:所述语言模型包括一元和/或多元语言模型。
3.根据权利要求1所述的方法,其特征在于,所述调用语言模型计算词序列出现概率的步骤包括:
步骤1,对第一个查询词,调用语言模型中P(w)的计算结果得到每种查询词表示的出现概率,并按照预定个数选取出现概率高的查询词表示;
步骤2,对第二个查询词,利用公式P(w1w2)=P(w1)P(w2|w1)计算包含第一和第二查询词的词序列出现概率,并按照预定个数选取出现概率高的词序列;其中w1为步骤1中选出的第一个查询词表示,w2为第二个查询词的各种表示;
按照步骤2依次对每个查询词,利用下述公式P(w1w2…wn)=P(w1)P(w2|w1)…P(wn|wn-1)计算词序列出现的概率,并最终得到预定个数的包含所有查询词的词序列S=w1w2…wn
4.根据权利要求1所述的方法,其特征在于,还包括:将所述查询建议结果作为提示信息显示,或者直接根据查询建议结果进行检索。
5.一种查询修正系统,其特征在于,包括:
模型生成单元,用于利用检索资源预置语言模型,包括:获取检索资源中的各个词项,统计各个词项在所述检索资源中的出现次数,根据所述出现次数建立统计语言模型;
数据接口,用于接收查询输入;
查询处理引擎,用于调用相应的修正操作,对原始输入的每个查询词进行修正,得到对应每个查询词的多种表示,其中包括原始输入的表示;
查询建议生成单元,用于根据每个查询词的多种表示,得到多种组合形式的词序列;并以所述词序列为搜索对象,调用所述语言模型计算所述多种组合形式的词序列中各个词序列出现的概率,将出现概率高的词序列确定为查询建议结果,其中所述词序列出现概率的计算方法为:
对应每个词序列S=w1w2…wn,该词序列的出现概率为:P(w1w2…wn)=P(w1)P(w2|w1)…P(wn|wn-1),其中,P(w)=C(w)/C(*),表示一元词项的出现概率,其中C(w)表示一元词w出现的次数,表示全部一元词项的出现次数之和;
Figure F2007101753268C00022
表示在包含词wj的条件下词wi出现的概率,其中C(wi,wj)表示二元词wi和wj的共同出现次数,
Figure F2007101753268C00023
表示全部一元词项的出现次数之和,
Figure F2007101753268C00024
表示全部二元词项的出现次数之和。
6.根据权利要求5所述的系统,其特征在于,还包括:预处理单元,用于对原始输入进行分词或断词预处理,得到原始输入的词序列。
7.根据权利要求6所述的系统,其特征在于:所述查询建议生成单元生成的查询建议结果通过数据接口作为提示信息显示,或者直接发送给检索单元进行检索。
8.根据权利要求6所述的系统,其特征在于,所述查询建议生成单元生成查询建议结果的过程包括:
步骤1,对第一个查询词,调用语言模型中P(w)的计算结果得到每种查询词表示的出现概率,并按照预定个数选取出现概率高的查询词表示;
步骤2,对第二个查询词,利用公式P(w1w2)=P(w1)P(w2|w1)计算包含第一和第二查询词的词序列出现概率,并按照预定个数选取出现概率高的词序列;其中w1为步骤1中选出的第一个查询词表示,w2为第二个查询词的各种表示;
按照步骤2依次对每个查询词,利用下述公式P(w1w2…wn)=P(w1)P(w2|w1)…P(wn|wn-1)计算词序列出现的概率,并最终得到预定个数的包含所有查询词的词序列S=w1w2…wn
CN2007101753268A 2007-09-28 2007-09-28 一种查询修正方法及系统 Active CN101131706B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2007101753268A CN101131706B (zh) 2007-09-28 2007-09-28 一种查询修正方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007101753268A CN101131706B (zh) 2007-09-28 2007-09-28 一种查询修正方法及系统

Publications (2)

Publication Number Publication Date
CN101131706A CN101131706A (zh) 2008-02-27
CN101131706B true CN101131706B (zh) 2010-10-13

Family

ID=39128973

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101753268A Active CN101131706B (zh) 2007-09-28 2007-09-28 一种查询修正方法及系统

Country Status (1)

Country Link
CN (1) CN101131706B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102867040A (zh) * 2012-08-31 2013-01-09 中国科学院计算技术研究所 一种面向中文搜索引擎混杂语言的查询纠错方法及系统
US12147761B2 (en) * 2023-02-17 2024-11-19 Optum, Inc. Systems and methods for improved spell check

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090300126A1 (en) * 2008-05-30 2009-12-03 International Business Machines Corporation Message Handling
EP2733582A4 (en) * 2011-07-14 2015-01-14 Shenzhen Shi Ji Guang Su Information Technology Co Ltd METHOD, DEVICE AND SYSTEM FOR CHARACTER ENTRY
CN102623010B (zh) * 2012-02-29 2015-09-02 北京百度网讯科技有限公司 一种建立语言模型的方法、语音识别的方法及其装置
CN103324620B (zh) * 2012-03-20 2016-04-27 北京百度网讯科技有限公司 一种对标注结果进行纠偏的方法和装置
CN103678358A (zh) * 2012-09-13 2014-03-26 腾讯科技(深圳)有限公司 一种信息搜索方法及系统
CN102937976B (zh) * 2012-10-17 2015-12-09 北京奇虎科技有限公司 一种基于输入前缀的下拉提示方法和装置
CN103838739B (zh) * 2012-11-21 2019-05-28 百度在线网络技术(北京)有限公司 一种搜索引擎中纠错词的检测方法及系统
CN103258025B (zh) * 2013-05-08 2016-08-31 百度在线网络技术(北京)有限公司 生成共现关键词的方法、提供关联搜索词的方法以及系统
CN104331222B (zh) * 2014-03-26 2018-06-05 广州三星通信技术研究有限公司 使用输入法输入字符的方法和设备
CN105095222B (zh) * 2014-04-25 2019-10-15 阿里巴巴集团控股有限公司 单元词替换方法、搜索方法及装置
CN106294517A (zh) * 2015-06-12 2017-01-04 富士通株式会社 信息处理装置及方法
CN107291730B (zh) * 2016-03-31 2020-07-31 阿里巴巴集团控股有限公司 对查询词提供校正建议的方法、装置、及概率词典构建方法
CN107491447B (zh) * 2016-06-12 2021-01-22 百度在线网络技术(北京)有限公司 建立查询改写判别模型、查询改写判别的方法和对应装置
CN107943781B (zh) * 2016-10-13 2021-08-13 北京国双科技有限公司 关键词识别方法及装置
CN110069143B (zh) * 2018-01-22 2024-06-07 北京搜狗科技发展有限公司 一种信息防误纠方法、装置和电子设备
CN108846103B (zh) * 2018-06-19 2021-01-15 北京天工矩阵信息技术有限公司 一种数据查询方法及装置
CN111274802B (zh) * 2018-11-19 2023-04-18 阿里巴巴集团控股有限公司 一种地址数据的有效性判断方法及其装置
CN112800314B (zh) * 2021-01-26 2023-06-02 浙江香侬慧语科技有限责任公司 搜索引擎询问自动补全的方法、系统、存储介质及设备
CN115422382A (zh) * 2022-08-29 2022-12-02 浙江极氪智能科技有限公司 多媒体推荐方法、推荐装置、车机系统和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1560767A (zh) * 2004-02-24 2005-01-05 珠海市汉易通信息科技有限公司 文字输入的自动补全方法
CN1670723A (zh) * 2004-03-16 2005-09-21 微软公司 改进的拼写检查系统和方法
CN1898670A (zh) * 2003-12-30 2007-01-17 Google公司 提高搜索质量的系统和方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1898670A (zh) * 2003-12-30 2007-01-17 Google公司 提高搜索质量的系统和方法
CN1560767A (zh) * 2004-02-24 2005-01-05 珠海市汉易通信息科技有限公司 文字输入的自动补全方法
CN1670723A (zh) * 2004-03-16 2005-09-21 微软公司 改进的拼写检查系统和方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CN 1560767 A,全文.

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102867040A (zh) * 2012-08-31 2013-01-09 中国科学院计算技术研究所 一种面向中文搜索引擎混杂语言的查询纠错方法及系统
CN102867040B (zh) * 2012-08-31 2015-03-18 中国科学院计算技术研究所 一种面向中文搜索引擎混杂语言的查询纠错方法及系统
US12147761B2 (en) * 2023-02-17 2024-11-19 Optum, Inc. Systems and methods for improved spell check

Also Published As

Publication number Publication date
CN101131706A (zh) 2008-02-27

Similar Documents

Publication Publication Date Title
CN101131706B (zh) 一种查询修正方法及系统
US7254774B2 (en) Systems and methods for improved spell checking
JP5082374B2 (ja) フレーズアラインメントプログラム、翻訳プログラム、フレーズアラインメント装置およびフレーズアラインメント方法
US20120246133A1 (en) Online spelling correction/phrase completion system
JP6187877B2 (ja) 同義語抽出システム、方法および記録媒体
CN105975625A (zh) 一种面向英文搜索引擎的中式英文查询纠错方法和系统
JP2009500754A (ja) 文書中のコロケーション誤りを処理すること
CN104951469B (zh) 优化语料库的方法和装置
CN104182535A (zh) 一种人物关系抽取方法和装置
JP2011118689A (ja) 検索方法及びシステム
CN102646091A (zh) 依存关系标注方法、装置和系统
WO2014002774A1 (ja) 同義語抽出システム、方法および記録媒体
JP6108212B2 (ja) 同義語抽出システム、方法およびプログラム
JP4631795B2 (ja) 情報検索支援システム、情報検索支援方法および情報検索支援プログラム
CN101369285B (zh) 一种中文搜索引擎中查询词的拼写校正方法
US9460149B2 (en) Dynamic query resolution using accuracy profiles
Naemi et al. Informal-to-formal word conversion for persian language using natural language processing techniques
CN110309258A (zh) 一种输入检查方法、服务器和计算机可读存储介质
CN102609413A (zh) 一种语义增强的词对间关系测度的控制方法以及系统
JP6303508B2 (ja) 文書分析装置、文書分析システム、文書分析方法およびプログラム
Cao et al. The Research of Chinese Text Proofreading base on Pattern Matching
JP2017117109A (ja) 情報処理装置、情報処理システム、情報検索方法、及びプログラム
Alfred et al. Improved automatic spell checker for malay blog
Awale et al. Preprocessing of Nepali News Corpus for Downstream Tasks
Minin et al. Elaborating Russian spelling-correction algorithms with custom n-gram models

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C53 Correction of patent for invention or patent application
CB03 Change of inventor or designer information

Inventor after: Gao Liqi

Inventor after: Liu Ting

Inventor after: Zhang Yu

Inventor after: Zhao Yanyan

Inventor after: Zhao Shiqi

Inventor before: Gao Liqi

Inventor before: Liu Ting

COR Change of bibliographic data

Free format text: CORRECT: INVENTOR; FROM: GAO LIQI LIU TING TO: GAO LIQI LIU TING ZHANG YU ZHAO YANYAN ZHAO SHIQI