发明名称 一种面向英文搜索引擎的中式英文查询纠错方法和系统
摘要 本发明公开了一种面向英文搜索引擎的中式英文查询纠错方法和系统,包括中式英文表达库构建模块、数据预处理模块、拼音纠错模块、中式英文纠错模块、英文候选查询词纠错模块及结果输出模块,中式英文表达库构建模块通过对常用英文词组的直译,构建中式英文词组与对应正确英文词组的对照数据库,数据预处理模块实现对查询词的规范化处理,避免因用户不规范输入引起的纠错误差,提高纠错处理的准确度,拼音纠错模块对查询词进行拼音识别,如果查询词为拼音,则对查询词进行拼音翻译,中式英文纠错模块基于中式英文表达库,对查询词进行中式英文进行纠错,增加了基于拼接邻近词和拆分长词选择候选纠错查询方法,提高候选纠错查询集的准确度。
申请公布号 CN105975625A 申请公布日期 2016.09.28
申请号 CN201610363398.4 申请日期 2016.05.26
申请人 同方知网数字出版技术股份有限公司 发明人 符文君;强成仓;魏圣磊;宁洪珂;张振海
分类号 G06F17/30(2006.01)I;G06F17/28(2006.01)I 主分类号 G06F17/30(2006.01)I
代理机构 北京远大卓悦知识产权代理事务所(普通合伙) 11369 代理人 史霞
主权项 一种英文查询词纠错方法及系统,其特征在于:包括中式英文表达库构建模块、数据预处理模块、拼音纠错模块、中式英文纠错模块、英文候选查询词纠错模块及结果输出模块,中式英文表达库构建模块通过对常用英文词组的直译,构建中式英文词组与对应正确英文词组的对照数据库,为中式英文纠错模块提供辅助信息,数据预处理模块实现对查询词的规范化处理,避免因用户不规范输入引起的纠错误差,提高纠错处理的准确度,拼音纠错模块对查询词进行拼音识别,如果查询词为拼音,则对查询词进行拼音翻译,本模块实现了对用户查询词的拼音兼容,中式英文纠错模块基于中式英文表达库,针对中国用户表达英文的特点,对查询词进行中式英文进行纠错,结果输出模块对拼音纠错模块到英文候选查询词纠错模块三个步骤的结果进行输出,具体步骤如下:步骤一:中式英文表达库构建模块,中式英文表达库的构建主要分为三步,首先统计英文中常见的词组,其次将常见英文词组翻译为中文词组,最后将中文词组“直译”为英文,至此建立起数据结构为KEY(中式英文词组)‑VALUE(正确英文词组)形式的纠错数据库,具体步骤如,第一步,统计英文常见词组,首先从英文搜索引擎收录的大规模英文语料库中获取由二至五个单词构成的词组的频率,取出由两个单词构成的词组中的词频在前60%、由三个单词构成的词组中的词频在前50%、由四个单词构成的词组中的词频在前40%、由五个单词的构成的词组中的词频在前30%的所有词组构成常见的英文词组,第二步,将第一步中的常见英文词组翻译成中文词组,词组英译中翻译采用基于统计机器翻译模型的方法,第三步,将第二步中的中文词组“直译”成英文词组,第四步,对中式英文表达库进行过滤,如果纠错对中“直译”的英文串在A1中的常见英文词组中,那么删除这个纠错对,第五步,通过第一步到第四步,“直译”的结果和对应的原始英文词组就构建成了一个中式英文表达库;步骤二:数据预处理模块,对用户输入的查询词进行规范化处理,主要采取英文字母大写转小写、全角标点转半角、字符串两侧空格去除、字符串中连续的空格、连接符、斜杠变为一个等处理方式;步骤三:拼音纠错模块,将输入的英文查询串进行分词,通过拼音词典依次判断分割后的每个单词是否为拼音,如果全部为拼音,则调用拼音翻译模块把拼音翻译成汉字,如果翻译成功,则纠错程序直接返回翻译后的汉字,判断不为拼音或未翻译成功,则继续进行纠错,具体步骤如,(1)首先对输入英文查询串使用空格切分,拼音识别,(2)对(1)中的切分结果进行逐个识别,如果识别查询词是拼音,基于拼音翻译汉字的方法,将翻译结果返回给用户,如果识别结果不为拼音,则继续进行后续步骤的纠错处理,(3)拼音翻译,基于拼音词典、隐马尔科夫模型等方法,将拼音翻译为汉字,再将汉字翻译为相应的英文检索词,首先查找拼音词典,如果该拼音在词典中,则直接返回词典中所对应的中文,如果该拼音没有出现在词典中,采用隐马尔可夫模型和Viterbi算法实现拼音到汉字的转化,先由拼音汉字语料训练得到隐马尔可夫模型,再基于Viterbi算法求解得到拼音查询串对应的最优汉字序列,(4)在(3)中翻译成功后,则将翻译结果返回给用户,如果翻译失败,则继续进行后续步骤的纠错处理;步骤四:中式英文纠错模块,基于步骤一构建的中式英文表达库进行纠错查询,如果中式英文表达库中存在该查询词对应的纠错对,则将其对应的正确英文词组作为纠错结果返回给用户,否则,查询词保持不变,继续进行后续步骤的纠错处理;步骤五:候选查询词纠错模块,首先对查询串进行分词,保存切分结果,后续处理均基于切分结果处理,基于切分结果,分别通过基于权重编辑距离、基于拼接词、基于拆分词分别获得相应的候选纠错查询词,最后根据评分标准,输出事先指定数目的最优纠错结果,第一,对用户输入的英文串进行英 文分词,第二,基于权重编辑距离方法,从英文词典中获取候选词集合,具体步骤如,步骤a,遍历查询词切分结果,判断单词是否在英文单词词典中,如果存在则遍历下一个单词,否则进行步骤b,步骤b,判断单词是否为包含连字符或斜杠的词,如TCP/IP,Well‑known,如果不是,则进行步骤c,如果是,则把单词按照非字母符号分割,然后通过英文单词词典判断是否分割后的单词都在字典中,如果都在字典中,则认为此单词没有问题,继续遍历下一个单词,否则进行步骤c,步骤c,通过权重编辑距离获取单词的候选词集合,遍历已生成好的Trie树词典,采用深度优先的先序遍历算法来查找编辑距离不大于t=min(3,查询词长度/4)候选词,编辑距离计算公式如,<img file="FDA0001000995720000031.GIF" wi="1621" he="135" />其中,S<sub>i</sub>为原始词,D<sub>j</sub>为转换词,lev(S<sub>i</sub>,D<sub>j</sub>)表示S单词的[0,i]位与D单词[0,j]位之间的编辑距离。S<sub>i</sub>到D<sub>j</sub>的转换是通过替换、增加、删除字母等操作,需经多次操作实现。在获取满足条件的候选词的同时,获取原词变换到候选词需要进行的变换记录,步骤d,权重编辑距离评分,基于变换记录和权重编辑距离评分的计算规则,计算满足条件的候选词的评分,最后选取评分最高的M个作为最后的候选词,步骤e,将候选词评分最高的K个单词作为候选词,其中K可取32,当满足条件的单词不够时,也可少于32个,第三,基于拼接词方法,获取候选词集合,基于拼接词方法是通过对查询词中的相邻单词拼接来获取候选词,依次遍历整个查询词,并把相邻的K(K&lt;=Len(Word))个词合并,判断合并后的词是否在英文词典中,如果存在,将该单词作为候选词,基于拼接词评分规则对候选词评分,拼接词评分规则是(90+拼接词个数),第四,基于拆分词方法,获取候选词集合,通过对检索词中的单词进行拆分来获取候选词,依次遍历整个检索词中的每个单词,首先将把单词分割成两个单词,通过英文词典判断分割后的两个单词是否存 在;如果存在,则将拆分结果作为候选词,并使用评分规则进行评分。其次,将单词分割成三个单词,判断分割后的单词是否存在,如果存在,则将拆分结果保存为候选词,并使用评分规则进行评分,如果一个单词有多种正确分割的方式,则通过N‑gram词典,保留频次最高的分割方式,基于拆分词评分规则对候选词评分拆分词的评分规则是(96‑分词个数*2),第五,生成候选纠错查询词集,分别从第二步到第四步中的权重编辑距离候选词、拼接词候选词和拆分词候选词中选取各个单词的候选词进行组合,生成候选纠正查询集,第六,候选纠错查询词评分,对每个候选纠正查询进行评分,将评分最高K个的候选纠正查询作为查询词的纠正查询结果,本实施例中K取10,候选纠正查询词的评分S(C,Q)的计算方法如下:<img file="FDA0001000995720000041.GIF" wi="918" he="158" />其中,r<sub>e</sub>=36,C=(w<sub>1</sub>,w<sub>2</sub>,...,w<sub>n</sub>)表示候选纠正查询集中的一个候选纠正查询,且C由单词w<sub>1</sub>,w<sub>2</sub>,...,w<sub>n</sub>构成,lev(Q,C)是查询Q和候选纠正查询C之间的编辑距离,S(C)是候选纠正查询在用户查询或文档集中的得分,S(C)计算公式如,S(C)=α*∑f(w<sub>i</sub>)+β*∑f(w<sub>i</sub>,w<sub>i+1</sub>)+γ*∑f(w<sub>i</sub>,w<sub>i+1</sub>,w<sub>i+2</sub>)其中,f(w<sub>i</sub>),f(w<sub>i</sub>,w<sub>i+1</sub>),f(w<sub>i</sub>,w<sub>i+1</sub>,w<sub>i+2</sub>)分别表示(w<sub>i</sub>),(w<sub>i</sub>,w<sub>i+1</sub>),(w<sub>i</sub>,w<sub>i+1</sub>,w<sub>i+2</sub>)在用户查询或文档集中的频率,α,β,γ表示n‑gram的权重,其取值范围是(0,1),且α+β+γ=1,α,β,γ分别为0.5,0.3,0.2,K=10;步骤六:结果输出模块,将步骤一到步骤五中得到纠错查询词呈现给用户。
地址 100084 北京市海淀区清华大学华业大厦