首页> 中国专利> 对查询词提供校正建议的方法、装置、及概率词典构建方法

对查询词提供校正建议的方法、装置、及概率词典构建方法

摘要

本发明公开了对查询词提供校正建议的方法和装置,及构建概率词典的方法,属于计算机网络搜索技术领域。对查询词提供校正建议的方法包括:获取用户输入的查询词;将查询词与预设概率词典中的文字、文字组合进行匹配,获取校正建议词、及各校正建议词的出现概率;根据每个校正建议词的出现概率,按照预定规则对校正建议词进行筛选;将经筛选的校正建议词显示给用户供选择。对查询词提供校正建议的装置包括:第一获取模块、第二获取模块、选取模块、显示模块。构建概率词典的方法包括:收集语料库,统计、计算并存储文字及文字组合在语料库中的出现概率。本发明利用网页语料库和用户查询词语料库构建的概率词典,提高了校正建议的准确率和召回率。

著录项

  • 公开/公告号CN107291730A

    专利类型发明专利

  • 公开/公告日2017-10-24

    原文格式PDF

  • 申请/专利权人 阿里巴巴集团控股有限公司;

    申请/专利号CN201610196522.2

  • 发明设计人 杨珂;

    申请日2016-03-31

  • 分类号G06F17/30(20060101);

  • 代理机构11315 北京国昊天诚知识产权代理有限公司;

  • 代理人黄熊

  • 地址 英属开曼群岛大开曼资本大厦一座四层847号邮箱

  • 入库时间 2023-06-19 03:35:50

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-07-31

    授权

    授权

  • 2017-11-24

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20160331

    实质审查的生效

  • 2017-10-24

    公开

    公开

说明书

技术领域

本发明涉及计算机网络搜索技术领域,具体涉及一种对查询词提供校正建议的方法和装置、以及一种构建概率词典的方法。

背景技术

目前搜索引擎已经成为人们查询信息获取知识的重要来源,使用搜索引擎的主要方式为在搜索框输入查询词进行搜索,而查询词的质量好坏直接影响搜索结果。在搜索框输入查询词时,主要是通过键盘进行输入,在通过键盘输入查询词时,往往会因为用户的指法错误或用户的粗心大意而造成输入错误。例如,在使用拼音输入法输入汉字时,当拼写字符串对应多个可选字词时,用户可能会因选字选词错误而输入了错误的查询词;再例如,在用户输入英文查询词时,可能会因拼写输入错误而输入了错误的查询词。为了提升用户体验,提高用户查询质量,搜索引擎为用户提供了查询词的校正功能。搜索引擎的查询词校正是指:用户在搜索引擎的搜索框输入查询词,搜索引擎的后台校正系统通过相应算法流程,发现用户输入的查询词可能存在错误,搜索引擎的前端在获取查询词的同时,给出若干个校正建议词。

目前常用的一种查询校正的方法是基于校正词典实现的,基于校正词典实现查询校正的方法的过程如下:搜集用户的查询日志,提取查询日志中记载的查询-校正点击对(查询-校正点击对是指:用户在搜索框输入查询词时点击输入了查询词对应的校正建议词,则查询词与对应的校正建议词称为查询-校正点击对);统计同一查询-校正点击对的数量,如果同一查询-校正点击对的数量超过预设数量阈值,则确定将超过预设数量阈值的查询-校正点击对存储在校正词典中,其中,校正词典以查询词为键,以校正建议词为值;获取用户当前在搜索框输入的查询词;查看获取的查询词是否在校正词典中;如果在校正词典中,则将校正词典中与获取的查询词对应的校正建议词展示给用户。

现有基于校正词典实现查询校正的方法,存在以下缺陷:

1)该方法将用户的查询日志作为训练语料得到校正词典,但用户的查询日志这种训练语料数量有限,训练出来的校正词典中包含的校正建议词比较稀疏,存在大量需要校正的错误输入无法找到匹配的查询-校正点击对的情况,因此,这种方法的召回率比较低。

2)该方法所采用的查询-校正点击对是系统依据用户选择而建立的,缺乏足够的数据支撑与验证,因此,这种方法的准确率也比较低。

发明内容

为了解决现有技术的问题,本发明提供了一种对查询词提供校正建议的方法和装置,并提供了一种构建概率词典的方法,旨在提高对查询词进行校正的准确率、召回率。

为了解决上述问题,本发明公开了一种对查询词提供校正建议的方法,所述方法包括:

获取用户输入的所述查询词;

将所述查询词与预设概率词典中的文字、文字组合进行匹配,获取校正建议词、及各所述校正建议词的出现概率;其中,所述预设概率词典中存储有从网页语料库和用户查询词语料库中得到的各文字的出现概率以及各文字组合的出现概率;

根据每个所述校正建议词的出现概率,按照预定规则对校正建议词进行筛选;

将经筛选的所述校正建议词显示给用户供选择。

为了解决本发明的技术问题,本发明还公开了一种构建概率词典的方法,所述方法包括:

收集网页作为网页语料库,收集用户输入的查询词作为用户查询词语料库;

统计并计算在所述网页语料库和所述用户查询词语料库中各文字的出现概率;统计并计算在所述网页语料库和所述用户查询词语料库中各文字组合的出现概率;

将得到的所述各文字的出现概率以及所述各文字组合的出现概率相对应地存储在所述概率词典中。

为了解决本发明的技术问题,本发明还公开了一种对查询词提供校正建议的装置,所述装置包括:

第一获取模块,用于获取用户输入的所述查询词;

第二获取模块,用于将所述查询词与预设概率词典中的文字、文字组合进行匹配,获取校正建议词、及各所述校正建议词的出现概率;其中,所述预设概率词典中存储有从网页语料库和用户查询词语料库中得到的各文字的出现概率以及各文字组合的出现概率;

选取模块,用于根据每个所述校正建议词的出现概率,按照预定规则对校正建议词进行筛选;

显示模块,用于将经筛选的所述校正建议词显示给用户供选择。

与现有技术相比,本发明可以获得以下技术效果:

1)预设概率词典是基于网页语料库和用户查询词语料库构建的,预设概率词典中存储的各文字的出现概率以及各文字组合的出现概率也是基于对网页语料库和用户查询词语料库的统计、计算得到的。由于网页语料库的庞大的数据量几乎可以涵盖可能出现的文字和文字组合,因此,可以很好的保证本发明相比于现有技术的更好的召回率。

2)本发明采用的预设概率词典还基于用户查询词语料库进行统计和计算,得到文字和文字组合的出现概率。由于用户查询词语料库能很好的反映用户的实际搜索需求,从而能更准确的校正用户的输入错误,相比于现有技术提高了校正的准确率。并且,由于用户查询词语料库一般包括了最近的新词、流行词,也能够对错误的新词、热门词进行正确校正,在提供准确率的同时,也具有较高的时效性。

3)通过相邻两字的文字组合的概率统计方法,逐字计算文字的出现概率,从而提高了校正建议词的获取的准确性,降低了误纠率,提升了用户体验。

4)在实施对查询词提供校正建议的方法时,可构建包含有音节节点和音节边的音节图。根据音节图,从预设概率词典中获取与查询词对应的校正建议词。由于音节图由多个音节节点和多个音节边组成,每个音节边表示查询词对应的拼写的一种音节组合,从而可以实现将查询词对应的拼写的各种音节组合进行遍历得到与查询词对应的校正建议词,增加了校正建议的全面性和准确性,可以进一步提高召回率和准确率。

当然,实施本发明的任一产品必不一定需要同时达到以上所述的技术效果。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是本发明实施例的第一种对查询词提供校正建议的方法流程图;

图2是本发明实施例的一种音节图的示意图;

图3是本发明实施例的第二种对查询词提供校正建议的方法流程图;

图4是本发明实施例的一种音节分割图的示意图;

图5是本发明实施例的第三种对查询词提供校正建议的方法流程图;

图6是本发明实施例的第四种对查询词提供校正建议的方法流程图;

图7是本发明实施例的一种表示音节组合出现顺序的示意图;

图8是本发明实施例的一种校正建议词的搜索路径示意图;

图9是本发明实施例的第五种对查询词提供校正建议的方法流程图;

图10是本发明实施例的第六种对查询词提供校正建议的方法流程图;

图11是本发明实施例的第七种对查询词提供校正建议的方法流程图;

图12是本发明实施例的第八种对查询词提供校正建议的方法流程图;

图13是本发明实施例的一种构建概率词典的方法流程图;

图14是本发明实施例的第一种对查询词提供校正建议的装置结构示意图;

图15是本发明实施例的第二种对查询词提供校正建议的装置结构示意图;

图16是本发明实施例的第三种对查询词提供校正建议的装置结构示意图;

图17是本发明实施例的第九种对查询词提供校正建议的方法流程图;

图18是本发明实施例的第四种对查询词提供校正建议的装置结构示意图。

具体实施方式

以下将配合附图及实施例来详细说明本发明的实施方式,藉此对本发明如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。

图1为本发明实施例的一种对查询词提供校正建议的方法流程图,该方法包括:

S101:获取用户输入的查询词。

具体地,用户在搜索框输入查询词进行搜索时,获取用户当前输入的查询词,例如:用户用拼音输入法输入,获取用户当前输入的查询词“清华2009年”。

S103:将查询词与预设概率词典中的文字、文字组合进行匹配,获取校正建议词、及各校正建议词的出现概率。

其中,预设概率词典中存储有从网页语料库和用户查询词语料库中得到的各文字的出现概率以及各文字组合的出现概率。

具体地,本实施例可预先通过网页语料库和用户查询词语料库得到预设概率词典。具体方法参见图13。

具体地,校正建议词可以是单词、单词组合、汉字、汉字组合、组合词、和/或短语等。

S104:根据每个校正建议词的出现概率,按照预定规则对校正建议词进行筛选。

具体地,预定规则可以根据情况设定,对此不作限制。例如:可以设定为出现概率的阈值,即出现概率大于该阈值的校正建议词才作为校正建议词给出;也可以设定为预设差距阈值,对出现概率远小于其他校正建议词的校正建议词直接删除,不作为校正建议词给出;还可以设定为只将出现概率比用户实际输入的查询词更大的校正建议词作为校正建议词给出。

除此之外,对校正建议词的选取可以设定选取的个数,将预设个校正建议词作为与查询词对应的校正建议词。预设个的取值可以根据实际情况进行设置,如可以设置为2个、5个、10个等,对此不做限定,本实施例其他有关预设个的地方与此处类似,不再一一赘述。

S105:将经筛选的校正建议词显示给用户供选择。

具体地,如果用户输入确实有误,可以直接选择校正建议词进行新的搜索。将经筛选的校正建议词显示给用户供选择时,优选仅将预设个校正建议词显示给用户供选择。

作为本实施例的一优选实施例,如图17所示,在步骤S101之后,在步骤S103之前,该方法还包括:

S102:依照查询词对应的拼写字符串,构建查询词的音节图。

其中,音节图由音节节点和音节边组成,音节边表示查询词对应的拼写字符串按照拼写规则分割成的音节组合,音节节点表示拼写字符串的分割位置。

例如:图2所示为通过查询词“清华2009年”对应的拼写字符串“qinghua2009nian”构建得到的音节图。在输入的查询词为汉字时,拼写字符串具体表现为拼音字符串,分割音节组合时也就相应地按照拼音规则进行分割。

在本实施例的又一优选实施例中,在步骤S101之后,步骤S102之前,还包括:

对用户当前输入的查询词进行预处理;其中,预处理包括以下处理方式中的一种或多种:大小写统一转换为小写、无效字符转换为空格、删除中文字符之间的空格、繁体中文转换为简体中文。

对查询词按照上述方式进行预处理后,方便后续的处理。

进一步地,在本实施例的一种优选实施例中,参见图3所示,上述查询词的音节图可按照如下方法构建,具体包括:

S102a:将拼写字符串按照拼写规则分割成音节组合;音节组合的开始位置和/或结束位置构成拼写字符串的分割位置。

具体地,针对查询词“清华2009年”,对应的拼音字符串为“qinghua2009nian”。以“qinghua”这一字符串为例,按照拼音规则,可将该拼音字符串按照图4所示方式分割。分割为音节组合“qing”、“hu”、“a”、“hua”。音节组合“qing”的开始位置为分割位置1、结束位置为分割位置2,音节组合“hu”的开始位置为分割位置2、结束位置为分割位置3,依此类推。如果查询词中包括了数字等,优选不对这些数字进行分割。例如:参见图2中的“2009”。

S102b:在拼写字符串的各分割位置分别设置一个音节节点。

具体地,在图2所示的音节图中,在各分割位置均设置了一个音节节点。

S102c:将每一对相邻的音节节点进行连线,形成音节边;其中,一对相邻的音节节点由音节组合的开始位置与结束位置分别对应的音节节点构成。

例如:参见图2和图4,音节组合“qing”对应的音节边由该音节组合的开始位置对应的音节节点①与该音节组合的结束位置对应的音节节点⑤连线构成。

S102d:按照预设标注方法,在每个音节节点上标注一个标记;在每个音节边上标注所对应的音节组合,并将每个音节边的方向标注为从音节组合的开始位置对应的音节节点指向该音节组合的结束位置对应的音节节点。

具体地,预设标注方法在音节节点上标注标记,可以是按照每个音节节点的先后顺序,依次标注数字;也可以是根据音节节点对应的音节组合的长度,每个音节节点上标注的数字为前一个音节节点上标注的数字与该音节节点和前一个音节节点之间的音节边对应的音节组合的长度之和。

以图2所示的音节图为例,第一个音节节点上标注的数字为1,“qing”这个音节组合的长度是4,则第二个音节节点上标注的数字为5,依此类推,完成对音节节点的标注;在一对相邻的音节节点①和⑤的连线对应的音节边上标注音节组合“qing”,依此类推,完成对音节节点的标注;将音节组合“qing”所在的音节边的方向标注为从音节节点①指向音节节点⑤,依此类推,完成对音节边的方向的标注。

下面以图2所示音节图为例,详细描述实施以上实施例构建出的音节图。音节节点①与音节节点⑤连线得到音节边,音节边标注相应的音节组合“qing”,音节节点⑤与音节节点⑦连线得到音节边,音节边标注相应的音节组合“hu”,音节节点⑤与音节节点⑧连线得到音节边,音节边标注相应的音节组合“hua”,音节节点⑦与音节节点⑧连线得到音节边,音节边标注相应的音节组合“a”,音节节点⑧与音节节点连线得到音节边,音节边标注相应的音节组合“2009”,音节节点与音节节点连线得到音节边,音节边标注相应的音节组合“ni”,音节节点与音节节点连线得到音节边,音节边标注相应的音节组合“nian”,音节节点与音节节点连线得到音节边,音节边标注相应的音节组合“an”。

在本实施例中的预设概率词典中存储有从网页语料库和用户查询词语料库中分别得到的各文字的出现概率以及各文字组合的出现概率。从上述预设概率词典中获取与查询词对应的校正建议词以及各校正建议词的出现概率的理论原理是这样的:

假设校正建议词S是由一连串共n个特定的文字w1、w2、...wn构成的。也就是说,S可以表示成一连串共n个特定顺序排列的文字组成的一个有意义的短语。这样的话,对用户输入的查询词的校正建议,也就是给出与用户输入的查询词拼写完全相同的其他可能出现的S。要计算S出现的可能性,也就是计算数学上所说的S的概率,用P(S)来表示。S这个序列的出现概率等于每一个文字的出现概率的乘积,即P(S)的计算公式为:

P(S)=P(w1)P(w2|w1)P(w3|w1w2)…P(wn|w1w2…wn-1)

其中,P(w1)表示第一个文字w1的出现概率;P(w2|w1)表示在已知第一个文字w1的前提下,第二个文字w2的出现概率;依此类推,对于文字wn而言,需在已知它前面的文字的前提下,考虑文字wn的出现概率。

从上述描述即可知,各种可能性太多,无法实现计算。因此假定任意一个文字wi的出现概率只同它前面的一个文字wi-1有关,于是,S的出现概率就变为:

P(S)=P(w1)P(w2|w1)P(w3|w2)…P(wi|wi-1)…P(wn|wn-1)

接下来的问题就是如何估计P(wi|wi-1)。估计P(wi|wi-1)的原理如下:统计语料库中(wi-1,wi)组成的文字组合的出现概率P(wi-1,wi),以及文字wi-1本身在同样范围的语料库中出现的概率P(wi-1),从而依照公式P(wi|wi-1)=P(wi-1,wi)/P(wi-1)计算得到已知前一个文字wi-1的前提下后一个文字wi的出现概率P(wi|wi-1)。

进一步地,如何统计网页语料库和用户查询词语料库中(wi-1,wi)组成的文字组合的出现概率P(wi-1,wi),以及文字wi-1本身在同样范围的语料库中出现的概率P(wi-1)呢?

本实施例的一优选实施例中,预设概率词典中存储的文字组合的出现概率,其中,文字组合由相邻的两个文字构成。

例如:上述原理描述中的相邻两个文字(wi-1,wi)组成的文字组合。这一文字组合可能是自然语言中有实际意义的词语、短语,也可能是没有实际意义的。

在本实施例的一优选实施例中,预设概率词典中存储的文字的出现概率由以下统计量计算得到:

第一统计量为文字在网页语料库中出现的次数;

第二统计量为文字在用户查询词语料库中出现的次数;

第三统计量为与文字对应完全相同的字符串的文字在网页语料库中出现的次数的总和;

第四统计量为与文字对应完全相同的字符串的文字在用户查询词语料库中出现的次数的总和。

将上述实施例中的第一统计量记为P1,第二统计量记为P2,第三统计量记为P3,第四统计量记为P4。

在上述优选实施例的基础上,文字的出现概率可以用第一统计量与第二统计量的和除以第三统计量与第四统计量的和的计算结果得到,即按公式(P1+P2)/(P3+P4)计算得到。

在上述优选实施例的基础上,文字的出现概率也可优选由第一统计量除以第三统计量的结果与第二统计量除以第四统计量的结果进行加权处理计算得到,即将公式Pw=a*P1/P3+b*P2/P4计算得到的结果作为文字的出现概率。其中,P1/P3表示文字在网页语料库中的出现概率,a表示文字在网页语料库中的出现概率的权重,P2/P4表示文字在用户查询词语料库中的出现概率,b表示文字在用户查询词语料库中的出现概率的权重。

上述公式Pw=a*P1/P3+b*P2/P4实际计算出的Pw表示某文字在拼写相同的情况下在对应语料库中已经出现的比例,该比例值Pw可以用来预测该文字在用户输入的查询词中的出现概率。即认为,该文字在已有语料库中出现得越多,在用户进行新的查询时出现的可能性就越大,反之亦然。

进一步地,一种优选实施例在于,第一统计量除以第三统计量的结果所占的权重小于第二统计量除以第四统计量的结果所占的权重。

具体地,结合上述公式Pw=a*P1/P3+b*P2/P4,可表示为a<b。通常,a+b的值也会不大于1。

在本实施例的又一优选实施例中,预设概率词典中存储的文字组合的出现概率由以下统计量计算得到:

第五统计量为文字组合在网页语料库中出现的次数;

第六统计量为文字组合在用户查询词语料库中出现的次数;

第七统计量为网页语料库中经过分词去重处理后有意义的短语的总和;

第八统计量为用户查询词语料库中经过分词去重处理后有意义的短语的总和。

将上述实施例中的第五统计量记为P5,第六统计量记为P6,第七统计量记为P7,第八统计量记为P8。

在上述优选实施例的基础上,文字组合的出现概率可以用第五统计量与第六统计量的和除以第七统计量与第八统计量的和的计算结果得到,即按公式(P5+P6)/(P7+P8)计算得到。

在上述优选实施例的基础上,文字组合的出现概率优选由第五统计量除以第七统计量的结果与第六统计量除以第八统计量的结果进行加权处理计算得到,即将公式Pz=c*P5/P7+d*P6/P8计算得到的结果作为文字组合的出现概率。其中,P5/P7表示文字组合在网页语料库中的出现概率,c表示文字组合在网页语料库中的出现概率的权重,P6/P8表示文字组合在用户查询词语料库中的出现概率,d表示文字组合在用户查询词语料库中的出现概率的权重。

上述公式Pz=c*P5/P7+d*P6/P8实际计算出的Pz表示某文字组合在对应语料库中已经出现的比例,该比例值Pz可以用来预测该文字组合在用户输入的查询词中的出现概率。即认为,该文字组合在已有语料库中出现得越多,在用户进行新的查询时出现的可能性就越大,反之亦然。

进一步地,又一种优选实施例在于,第五统计量除以第七统计量的结果所占的权重小于第六统计量除以第八统计量的结果所占的权重。

具体地,结合上述公式Pz=c*P5/P7+d*P6/P8,可表示为c<d。通常,c+d的值也会不大于1。

在本实施例的一优选实施例中,参见图5所示,S103从预设概率词典中获取与查询词对应的校正建议词,以及各校正建议词的出现概率,可具体包括:

S103a:根据拼写字符串按照拼写规则分割成的音节组合出现的顺序,确定音节图中音节边和音节节点的顺序。

例如:在图2所示的音节图中,音节组合出现的顺序参见图7所示,在搜索时即可依据图7中箭头所示方向进行,构建树型搜索结构。对于处于树型搜索结构同一层级的搜索,既可以采用深度优先的搜索策略,也可以采用广度优先的搜索策略。

S103b:依据预设概率词典,依次对每个音节边获取与该音节边表示的音节组合对应的出现概率最高的预设个文字,以及各文字的出现概率。

S103c:将与每个音节边对应的出现概率最高的预设个文字按照音节边的顺序依次排列,构成与查询词对应的校正建议词;校正建议词的出现概率由构成该校正建议词的每个文字的出现概率的乘积计算得到。

具体地,按照前述理论原理中的公式P(S)=P(w1)P(w2|w1)P(w3|w2)…P(wi|wi-1)…P(wn|wn-1)计算校正建议词的出现概率,而对应的文字w1、w2、...wn依次排列即可构成校正建议词。

例如:参见图8所示,校正建议词“清湖啊”的出现概率为P(清)*P(湖|清)*P(啊|湖)=0.02*(2e-4)*(4e-8);校正建议词“情话”的出现概率为P(情)*P(话|情)=0.03*(3e-3)。依此类推,即可计算出图8所示的校正建议词的出现概率。

进一步地,本发明的一优选实施例,参见图6所示,S103b依据预设概率词典,依次对每个音节边获取与该音节边表示的音节组合对应的出现概率最高的预设个文字,以及各文字的出现概率,可具体包括:

S103b1:第一个音节边作为当前音节边,当前音节边表示的音节组合为当前音节组合;在预设概率词典中搜索出符合当前音节组合的文字中出现概率最高的预设个文字及各个文字的出现概率。

例如:参见图8,音节组合“qing”对应音节边搜索出的出现概率最高的两个汉字分别是出现概率为0.03的“情”和出现概率为0.02的“清”,此实施例中的预设个为2个。

S103b2:判断当前音节边是否是音节图中的最后一个音节边。

具体地,如果已经搜索到了音节图中的最后一个音节边,则可以结束搜索,转而执行S103c:将与每个音节边对应的出现概率最高的预设个文字按照音节边的顺序依次排列,构成与查询词对应的校正建议词;校正建议词的出现概率由构成该校正建议词的每个文字的出现概率的乘积计算得到。

S103b3:如果当前音节边不是音节图中的最后一个音节边,则将当前音节边的下一个音节边作为新的当前音节边;从预设概率词典中获取与新的当前音节边表示的音节组合相符的出现概率最高的预设个文字,以及各文字的出现概率;然后返回判断当前音节边是否是音节图中的最后一个音节边的步骤。

例如:参见图8所示,对“qinghua”进行搜索的结论,音节组合“qing”对应的出现概率最高的两个汉字分别是“情”和“清”;以这两个汉字分别作为下一层级搜索的起点,例如,以“情”为第一个字、第二个字的拼音拼写符合“hu”的汉字组合中出现概率最高的两个汉字组合分别是“情护”和“情弧”,则音节边“hu”所对应的出现概率最高的两个字分别是“护”和“弧”。依此类推,依此类推,直至搜索到音节图中的最后一个音节边。

S103b4:如果当前音节边是音节图中的最后一个音节边,则执行将与每个音节边对应的出现概率最高的预设个文字按照音节边的顺序依次排列,构成与查询词对应的校正建议词;校正建议词的出现概率由构成该校正建议词的每个文字的出现概率的乘积计算得到的步骤。

在本发明的一个优选实施例中,如图9所示,S103b3从预设概率词典中获取与新的当前音节边表示的音节组合相符的出现概率最高的预设个文字,以及各文字的出现概率,包括:

S103b3a:获取新的当前音节边的上一个音节边表示的音节组合所对应的出现概率最高的预设个文字,记为第一文字,以及预设个文字各自的出现概率,记为第一概率。

例如:参见图8所示,对音节组合“hu”对应的音节边进行搜索时,其上一个音节边表示的音节组合对应的出现概率最高的汉字分别是“情”和“清”,将“情”和“清”分别记为第一汉字;第一汉字“情”对应的第一概率P(情)=0.03,第一汉字“清”对应的第一概率P(清)=0.02。

S103b3b:从预设概率词典中搜索出以第一文字为第一个文字、以新的当前音节边表示的音节组合所对应的文字为第二个文字的文字组合中出现概率最高的预设个文字组合,以及各文字组合的出现概率,记为第二概率。

例如:参见图8所示,以包含汉字“情”的搜索分支为例,从预设概率词典中搜索出以第一汉字“情”为第一个汉字、以音节组合“hu”对应的汉字为第二个汉字的汉字组合中出现概率最高的汉字组合分别是出现概率为P(情,护)的“情护”和出现概率为P(情,弧)的“情弧”,P(情,护)和P(情,弧)分别记为第二概率。

S103b3c:将出现概率最高的预设个文字组合中的第二个文字作为新的当前音节边表示的音节组合所对应的出现概率最高的预设个文字;将相对应的第二概率除以第一概率计算得到的结果作为新的当前音节边表示的音节组合所对应的出现概率最高的预设个文字的出现概率。

例如:参见图8所示,将出现概率最高的2个汉字组合“情护”和“情弧”中的第二个汉字“护”和“弧”作为音节边“hu”对应的出现概率最高的2个汉字;汉字“护”的出现概率P(护|情)=P(情,护)/P(情),汉字“弧”的出现概率P(弧|情)=P(情,弧)/P(情)。

在本发明的一优选实施例中,执行步骤S103b3之后,返回步骤S103b2之前,还包括以下步骤,参见图10:

S103b5:沿音节边的顺序,计算各搜索路径上获取的出现概率最高的文字的出现概率的乘积,作为该搜索路径的出现概率。

例如;参见图8,以校正建议词“清湖啊”所在的搜索路径为例,该搜索路径的出现概率为P(清)*P(湖|清)*P(啊|湖)=0.02*(2e-4)*(4e-8)。

S103b6:判断搜索路径的出现概率是否小于或等于预设剪枝阈值。

例如:假设预设剪枝阈值设定为2e-10,则校正建议词“清湖啊”所在的搜索路径的出现概率已经小于该预设剪枝阈值。

S103b7:如果某搜索路径的出现概率大于预设剪枝阈值,保留该搜索路径。

S103b8:如果某搜索路径的出现概率小于预设剪枝阈值,删除该搜索路径。

具体地,例如:校正建议词“清湖啊”所在的搜索路径的出现概率已经小于该预设剪枝阈值,则删除该搜索路径。

本发明的一优选实施例中,参见图11所示,步骤S104具体可包括:

S1041:按照出现概率由高到低的顺序对校正建议词进行排序,形成校正建议词序列。

S1042:判断校正建议词序列中出现概率最高的校正建议词与用户输入的查询词是否一致。

S1043:如果校正建议词序列中出现概率最高的校正建议词与用户当前输入的查询词一致,则停止将任一校正建议词作为经筛选的校正建议词。

具体地,如果校正建议词序列中出现概率最高的校正建议词与用户当前输入的查询词一致,表示用户输入的查询词已经是目前基于语料库统计得到的出现概率最高的词,故无需对用户的查询词给出校正建议。

S1044:如果校正建议词序列中出现概率最高的校正建议词与用户当前输入的查询词不一致,则将校正建议词序列中出现概率最高的预设个校正建议词作为经筛选的校正建议词。

具体地,如果校正建议词序列中出现概率最高的校正建议词与用户当前输入的查询词不一致,表示用户输入的查询词并不是基于语料库统计得到的出现概率最高的词,故需要对用户的查询词给出校正建议。

在本发明的一优选实施例中,参见图12所示,在步骤S1041之后,步骤S1042之前,还包括:

S1045:计算校正建议词序列中每相邻两个校正建议词的出现概率的差距。

S1046:判断是否存在相邻两个校正建议词的出现概率的差距大于或等于预设差距阈值。

例如,将预设差距阈值设定为10倍。

S1047:如果不存在相邻两个校正建议词的出现概率的差距大于或等于预设差距阈值,则执行S1042判断校正建议词序列中出现概率最高的校正建议词与用户当前输入的查询词是否一致的步骤;

S1048:如果存在相邻两个校正建议词的出现概率的差距大于或等于预设差距阈值,则在校正建议词序列中,将达到预设差距阈值的差距的相邻两个校正建议词中出现概率较小的校正建议词及其之后的校正建议词删除。

例如:校正建议词序列中共10个校正建议词,其中,第4个校正建议词的出现概率与第5个校正建议词的出现概率相差了10倍,则删除第5~10个校正建议词。

图13所示为本发明的一种构建概率词典的方法的实施例,该方法包括:

S201:收集网页作为网页语料库,收集用户输入的查询词作为用户查询词语料库。

S2021:统计并计算在网页语料库和用户查询词语料库中各文字的出现概率。以及S2022:统计并计算在网页语料库和用户查询词语料库中各文字组合的出现概率。

S203:将得到的各文字的出现概率以及各文字组合的出现概率相对应地存储在概率词典中。

由于网页语料库非常庞大,所以可以保证足够高的召回率。而用户查询词一般包括了最近的新词、流行词,所以能够提高准确率,避免对原词的误校。

具体地,准确率表示:校正成功的数目与进行校正的数目的比值。假设用户使用了十次搜索引擎,输入了10个查询词,8个是错误的查询词,通过校正建议词对其中6个进行校正,校正成功4个,那么准确率就为4/6=67%。召回率表示:校正成功的数目与错误的数目的比值。假设用户使用了十次搜索引擎,输入了10个查询词,8个是错误的查询词,通过校正建议词对其中6个进行校正,校正成功4个,那么召回率就为4/8=50%。

本实施例的一个优选实施例,S2021统计并计算在网页语料库和用户查询词语料库中各文字的出现概率,包括:

对每一个文字,统计该文字在网页语料库中出现的次数,记为第一统计量;对每一个文字,统计该文字在用户查询词语料库中出现的次数,记为第二统计量;对每一个文字,统计与该文字的拼写完全相同的文字在网页语料库中出现的次数的总和,记为第三统计量;对每一个文字统计与该文字的拼写完全相同的文字在用户查询词语料库中出现的次数的总和,记为第四统计量;以及

对每一个文字,将与该文字对应的第一统计量除以第三统计量的结果与第二统计量除以第四统计量的结果进行加权处理计算得到该文字的出现概率。

本实施例的一个优选实施例,在对每一个文字,将与该文字对应的第一统计量除以第三统计量的结果与第二统计量除以第四统计量的结果进行加权处理计算得到该文字的出现概率时,第一统计量除以第三统计量的结果所占的权重小于第二统计量除以第四统计量的结果所占的权重。

本实施例的一优选实施例中,在步骤S201之后,在步骤S2022之前,还包括:

对网页语料库和用户查询词语料库进行分词去重处理,得到多个有意义的短语。

具体地,收集网络中的各种网页数据作为网页语料库,收集用户输入的多种查询词作为用户查询词语料库。通过任一分词软件将网页语料库中的文字序列切分成一个一个单独的词语,然后进行去重处理将重复的词语进行合并,得到多个互不重复的有意义的短语。

具体地,本实施例的一优选实施例中,S2022统计并计算在网页语料库和用户查询词语料库中各文字组合的出现概率,包括:

对每一个文字组合,统计该文字组合在网页语料库中出现的次数,记为第五统计量;对每一个文字组合,统计该文字组合在用户查询词语料库中出现的次数,记为第六统计量;统计有意义的短语在网页语料库中出现的次数的总和,记为第七统计量;统计有意义的短语在用户查询词语料库中出现的次数的总和,记为第八统计量;以及

对每一个文字组合,将第五统计量除以第七统计量的结果与第六统计量除以第八统计量的结果进行加权处理计算得到该文字组合的出现概率。

具体地,本实施例的一优选实施例中,在对每一个文字组合,将第五统计量除以第七统计量的结果与第六统计量除以第八统计量的结果进行加权处理计算得到该文字组合的出现概率时,第五统计量除以第七统计量的结果所占的权重小于第六统计量除以第八统计量的结果所占的权重。

具体地,本实施例的一优选实施例中,文字组合由网页语料库和用户查询词语料库中相邻的两个文字构成。

本发明的构建概率词典的方法的实施例与前述的关于预设概率词典的实施例相对应,不足之处参考上述方法流程的叙述,不再一一赘述。

如图14所示,本发明的一种对查询词提供校正建议的装置的实施例中,该装置包括:

第一获取模块501,用于获取用户输入的查询词;

第二获取模块503,用于将查询词与预设概率词典中的文字、文字组合进行匹配,获取校正建议词、及各校正建议词的出现概率;其中,预设概率词典中存储有从网页语料库和用户查询词语料库中得到的各文字的出现概率以及各文字组合的出现概率;

选取模块504,用于根据每个校正建议词的出现概率,按照预定规则对校正建议词进行筛选;

显示模块505,用于将经筛选的校正建议词显示给用户供选择。

本实施例的一个优选实施例中,该装置还包括:

预处理模块,用于对用户当前输入的查询词进行预处理;其中,其中,预处理包括以下处理方式中的一种或多种:大小写统一转换为小写、无效字符转换为空格、删除中文字符之间的空格、繁体中文转换为简体中文。

本实施例的一个优选实施例中,如图18所示,该装置还包括:

构建模块502,用于依照查询词对应的拼写字符串,构建查询词的音节图;其中,音节图由音节节点和音节边组成,音节边表示查询词对应的拼写字符串按照拼写规则分割成的音节组合,音节节点表示拼写字符串的分割位置。

本实施例的一个优选实施例中,如图15所示,构建模块502包括:

分割单元5021,用于将拼写字符串按照拼写规则分割成至少一个音节组合;音节组合的开始位置和/或结束位置构成拼写字符串的分割位置;

音节节点设置单元5022,用于在各分割位置分别设置一个音节节点;

音节边设置单元5023,用于将每一对相邻的音节节点进行连线,形成音节边;其中,一对相邻的音节节点由音节组合的开始位置和结束位置分别对应的音节节点构成;

标注标引单元5024,用于按照预设标注方法,在每个音节节点上标注一个标记;用于在每个音节边上标注所对应的音节组合,并将每个音节边的方向标注为从音节组合的开始位置对应的音节节点指向该音节组合的结束位置对应的音节节点。

本实施例的一个优选实施例中,如图16所示,第二获取模块503包括:

排序单元5031,用于根据拼写字符串按照拼写规则分割成的音节组合出现的顺序,确定音节图中音节边和音节节点的顺序;

第一获取单元5032,用于依据预设概率词典,依次对每个音节边获取与该音节边表示的音节组合对应的出现概率最高的预设个文字,以及各文字的出现概率;

汇总单元5033,用于将与每个音节边对应的出现概率最高的预设个文字按照音节边的顺序依次排列,构成与查询词对应的校正建议词;校正建议词的出现概率由构成该校正建议词的每个文字的出现概率的乘积计算得到。

具体地,本实施例的一个优选实施例中,第一获取单元5032包括:

第一搜索单元,用于以第一个音节边作为当前音节边,当前音节边表示的音节组合为当前音节组合;在预设概率词典中搜索出符合当前音节组合的文字中出现概率最高的预设个文字及各个文字的出现概率;

第一判断单元,用于判断当前音节边是否是音节图中的最后一个音节边;

第二搜索单元,用于如果当前音节边不是音节图中的最后一个音节边时,将当前音节边的下一个音节边作为新的当前音节边;从预设概率词典中获取与新的当前音节边表示的音节组合相符的出现概率最高的预设个文字,以及各文字的出现概率;

第二搜索单元返回第一判断单元。

具体地,本实施例的一个优选实施例中,第二搜索单元包括:

第二获取单元,用于获取新的当前音节边的上一个音节边表示的音节组合所对应的出现概率最高的预设个文字,记为第一文字,以及预设个文字各自的出现概率,记为第一概率;

第三搜索单元,用于从预设概率词典中搜索出以第一文字为第一个文字、以新的当前音节边表示的音节组合所对应的文字为第二个文字的文字组合中出现概率最高的预设个文字组合,以及各文字组合的出现概率,记为第二概率;

第一计算单元,用于将出现概率最高的预设个文字组合中的第二个文字作为新的当前音节边表示的音节组合所对应的出现概率最高的预设个文字;用于将相对应的第二概率除以第一概率计算得到的结果作为新的当前音节边表示的音节组合所对应的出现概率最高的预设个文字的出现概率。

所述装置与前述的方法流程描述对应,不足之处参考上述方法流程的叙述,不再一一赘述。

上述说明示出并描述了本发明的若干优选实施例,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号