查询语句的获取方法及服务器的制造方法

文档序号:9375657阅读:288来源:国知局
查询语句的获取方法及服务器的制造方法
【技术领域】
[0001] 本申请涉及计算机技术领域,尤其涉及一种查询语句的获取方法及服务器。
【背景技术】
[0002] 在网页页面的搜索中,当用户通过搜索框输入查询信息,且该查询信息为一个词 语时,通常需要根据该词语与网页服务器已存储的词语的关联度,来猜测用户想要输入的 查询语句,并将该猜测的查询语句作为备选查询语句推荐给用户。
[0003] 词对的关联度计算即为在给定前η个词的情况下,计算出现某个词的概率。在关 联度的计算中,最常用的模型是N元语言(N-gram)模型,N表示长文本中连续出现的N个 词,该模型基于马尔科夫假设,其认为:1)第η个词出现的概率仅仅依赖于第n-1个词出现 的概率;2)n个词连续出现的概率等于这η个词分别出现的概率的乘积。用公式表达如下:
[0004] P (W1W2…Wn) = P (W1) ? (W21W1) P (Wa IW1W2)…P (WnW1W2…Wa i)
[0005] 对于P (Wi IW1W2. .. Wi D可采用最大似然估计计算,计算公式如下:
[0006]
[0007] 其中,C (W1W2. .. W1)表示在训练语料中,W1W2. .. W1连续出现的频率。在上述第一个 公式中,尽管η的取值越大,对下一个词出现的约束信息更多,估计概率更有辨识度,但η值 越大,数据稀疏的情况就越明显,零概率的产生就更容易,而且计算代码也随之增大。而对 于较小的η,由于在训练语料中能获得更可靠的统计信息,所以估计的概率会更可靠。由上, 最常用的N-gram模型是二元语言模型(Bigram),其计算公式如下:
[0008] P (W1W2…Wn) = P (W1) P (W21W1) P (Wa IW2)…P (Wn I Wn i)
[0009]
[0010] 假如训练语料中有以下3个句子:
[0011] SWIMMING IS GOOD EXERCISE. TENNIS IS A GOOD FORM OF EXERCISE.
[0012] TENNIS IS BETTER THAN BADMINTON.
[0013] 则通过Bigram模型,预估句子TENNIS IS GOOD EXERCISE的概率:
[0014]
[0015] 但实际情况下,数据是不完全的,也即数据存在稀疏性,使得存在CW1 A) = 0情 况,此时P(W11W1 J的最大似然估计值P(W11W1 D = 0,即P(H··Wn) = 0。
[0016] 如,训练语料还是上面的3句,对于句子BADMINTON IS GOOD EXERCISE,使用 Bigram模型预估其出现的概率为:
[0017]
[0018] 在预估计一个句子W1WyWn出现的概率时,只要存在一个C (Wt,t) = 0,则就会有 POV1W2…Wn) =〇。因此,为了减少零概率的出现,需要进行平滑计算。
[0019] 现有技术中,提出了一系列经典的平滑算法,这些算法的基本思想是在保证概率 和为1的基础上,降低已出现的N-gram条件概率分布,从而使得未出现的N-gram提交 概率分布非零。加一(Add-one)平滑法,也称拉普拉斯(Laplace)平滑法、古德-图灵 (Good-Turing)平滑法、聂氏(Kneser-Ney)平滑法、线性内插(Linear Interpolation)平 滑法、卡茨退避(Katz Backoff)平滑法以及愚蠢退避(Stupid Backoff)平滑法等都是常 用的平滑算法。Add-one平滑法的思想很简单,就是对于每个N-gram,C (WkWk+1…Wk+n)都执 行加1操作,认为它们在训练语料中至少出现一次,从而有:
[0020]
[0021] 其屮V是N-gram在训练语科屮的个数。Good-Turing平滑法和Add-One比较相 似。然而无论是Add-one平滑法还是Good-Turing平滑法,都不是一种比较好的平滑计算, 因为他们对所有未出现的N-gram都采取相同的操作,忽略了不同N-gram之间的概率差异 性。
[0022] 与Add-one 平滑法以及 Good-Turing平滑法不同,Linear Interpolation 平滑法、 Katz Backoff平滑法、Kneser-Ney平滑法以及Stupid Backoff平滑法都是一种基于线性 插值的平滑技术,即利用低阶N-gram模型与高阶N-gram模型作线性组合,当高阶N-gram 模型不存在的时候,使用低阶N-gram模型来提供有用的信息。其中由谷歌(Google)提出 的针对大规模N-gram模型的Stupid Backoff的计算公式如下:
[0023]
[0024] 其中,α取经验值,在Google的实验中,α取0.4。该平滑技术是针对一句话的 关联度进行优化的,并没有对词对的关联度的计算方法进行优化,即存在将相关联的词对 的关联度计算为〇的情况,从而不能有效生成参考查询语句库,也即不能向用户推荐正确 的备选查询语句。

【发明内容】

[0025] 本申请实施例提供了一种查询语句的获取方法及服务器,以解决由于相关联的词 对存在关联度为〇的情况而导致的不能向用户推荐正确的备选查询语句的问题。
[0026] 第一方面,提供了一种查询语句的获取方法,该方法包括:
[0027] 对语料库中的第一关联词和第二关联词,在所述语料库中识别并获取所述第一关 联词与所述第二关联词连续排列的连排次数,间隔排列的间列次数和所述第一关联词的总 次数;
[0028] 根据所述连排次数,所述间列次数和所述总次数,获得所述第一关联词与第二关 联词的关联度,并按照所述关联度,将所述第一关联词和所述第二关联词,生成参考查询语 句库;
[0029] 接收用户在搜索框中输入的查询信息;
[0030] 根据所述查询信息,从所述参考查询语句库中获取相关联的查询语句,以将所述 查询语句作为备选查询语句推荐给用户。
[0031] 第二方面,提供了一种服务器,所述服务器包括:处理单元、生成单元、接收单元和 获取单元;
[0032] 所述处理单元,用于对语料库中的第一关联词和第二关联词,在所述语料库中识 别并获取所述第一关联词与所述第二关联词连续排列的连排次数,间隔排列的间列次数和 所述第一关联词的总次数;
[0033] 所述生成单元,用于根据所述连排次数,所述间列次数和所述总次数,获得所述第 一关联词与第二关联词的关联度,并按照所述关联度,将所述第一关联词和所述第二关联 词,生成参考查询语句库;
[0034] 所述接收单元,用于接收用户在搜索框中输入的查询信息;
[0035] 所述获取单元,用于根据所述查询信息,从所述参考查询语句库中获取相关联的 查询语句,以将所述查询语句作为备选查询语句推荐给用户。
[0036] 本申请实施例提供的查询语句的获取方法及服务器,由于同时获取了第一关联词 与所述第二关联词间隔排列的间列次数,因此本申请可以提高词对的关联度,从而本申请 的方法能够有效生成参考查询语句库,也即能向用户推荐正确的备选查询语句。
【附图说明】
[0037] 图1为本申请实施例一提供的查询语句的获取方法流程图;
[0038] 图2为本申请实施例二提供的服务器的示意图。
【具体实施方式】
[0039] 下面通过附图和实施例,对本申请的技术方案做进一步的详细描述。
[0040] 本申请实施例提供的查询语句的获取方法及服务器,由于同时获取了第一关联词 与所述第二关联词间隔排列的间列次数,因此本申请可以提高词对的关联度,从而本申请 的方法能够有效生成参考查询语句库,也即能向用户推荐正确的备选查询语句。
[0041] 图1为本申请实施例一提供的查询语句的获取方法流程图。所述方法的执行主体 为服务器,
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1