对中文查询词进行纠错的方法及其装置 技术领域 本发明涉及互联网搜索引擎技术领域, 尤其是涉及一种对中文查询词进行纠错的 方法及其装置。
背景技术 在已有的中文查询词纠错技术中, 预先学习的中文词库是按照频率排序的, 这样 中文词库中的查询词之间处于逻辑无序状态, 而中文查询词的纠错过程会将用户输入的中 文查询词与中文词库里的各个中文词进行从头到尾地的比较计算, 从而在用户输入的中文 查询词不正确时, 确定用于纠错的中文词推荐给用户。
然而, 查询词的纠错过程对纠错速度的要求是很高的, 而无序的中文词库未能充 分利用其内部查询词之间的相似与相异关系, 从而会引起许多无用的查询和比较计算。比 如, 用户输入 “北京奥运会” , 按照现在已有的中文查询词纠错方法会计算 “北京奥运会” 和 “上海世博会” 之间的匹配度, 因为 “北京奥运会” 要改写四个字才能变成 “上海世博会” , 而
这种匹配计算是无效的, 因为 “北京奥运会” 与 “上海世博会” 之间显然不具备纠错匹配的 可能性 ; 再比如, 当用户输入 “郭得缸” 时, 根本不应该考虑 “郭得缸” 与 “和谐社会” 是否有 匹配的可能性, 但由于 “和谐社会” 在中文词库中出现的频率可能很高, 按照现有的中文查 询词纠错方法, 极可能要计算这两个词之间的匹配度, 而这显然是不合理的。
因此, 按照现有的中文查询词纠错技术, 在遇到用户输入的中文查询词存在错误 需要纠正时, 将匹配得到的纠错后的中文词推荐给用户的速度还是有待于进一步提高的。 发明内容 本发明提供一种对中文查询词进行纠错的方法及其装置, 用以提高对用户输入的 中文查询词进行纠错的速度。
为解决上述问题, 本发明实施例提供了一种对中文查询词进行纠错的方法, 包括 接收输入的中文查询词 ; 将接收到的中文查询词包含的每个字分别转换为拼音, 并确定转 换后的每个拼音的首字母构成的字母串 ; 在预先学习的各字母串和中文查询词集之间的对 应关系中, 索引与确定的字母串对应的中文查询词集, 其中中文查询词集中的每个中文查 询词包含的每个字的拼音的首字母构成的字母串均为与该中文查询词集对应的字母串 ; 在 索引到的中文查询词集包含的各中文查询词拼音和与中文查询词拼音对应的中文查询词 子集的对应关系中, 按照转换得到的中文查询词拼音索引对应的中文查询词子集, 其中中 文查询词子集中的每个中文查询词转换后得到的查询词拼音均为与该中文查询词子集对 应的中文查询词拼音 ; 在接收的中文查询词与索引到的中文查询词子集中包含的中文查询 词存在相同时, 确定接收到的中文查询词无需纠错 ; 否则将索引到的中文查询词子集中的 中文查询词作为纠错词进行推荐。
本发明实施例还提供了一种对中文查询词进行纠错的装置, 包括接收单元, 用于 接收输入的中文查询词 ; 转换单元, 用于将接收单元接收到的中文查询词包含的每个字分
别转换为拼音 ; 第一确定单元, 用于确定转换单元转换后的每个拼音的首字母构成的字母 串; 第一索引单元, 用于在预先学习的各字母串和中文查询词集之间的对应关系中, 索引与 第一确定单元确定的字母串对应的中文查询词集, 其中中文查询词集中的每个中文查询词 包含的每个字的拼音的首字母构成的字母串均为与该中文查询词集对应的字母串 ; 第二索 引单元, 用于在第一索引单元索引到的中文查询词集包含的各中文查询词拼音和与中文查 询词拼音对应的中文查询词子集的对应关系中, 按照转换单元转换得到的中文查询词拼音 索引对应的中文查询词子集, 其中中文查询词子集中的每个中文查询词转换后得到的查询 词拼音均为与该中文查询词子集对应的中文查询词拼音 ; 判断单元, 用于判断接收单元接 收的中文查询词与第二索引单元索引到的中文查询词子集中包含的中文查询词是否存在 相同的情况 ; 第二确定单元, 用于在判断单元的判断结果为是时, 确定接收到的中文查询词 无需纠错 ; 推荐单元, 用于在判断单元的判断结果为否时, 将第二索引单元索引到的中文查 询词子集中的中文查询词作为纠错词进行推荐。
本发明实施例还提供了一种对中文查询词进行纠错的方法, 包括接收输入的中文 查询词 ; 将接收到的中文查询词包含的每个字分别转换为拼音, 并确定转换后的每个拼音 的首字母构成的字母串 ; 在预先学习的各字母串和中文查询词集之间的对应关系中, 索引 与确定的字母串对应的中文查询词集, 其中中文查询词集中的每个中文查询词包含的每个 字的拼音的首字母构成的字母串均为与该中文查询词集对应的字母串 ; 在索引到的中文查 询词集包含的各中文查询词拼音和与中文查询词拼音对应的中文查询词子集的对应关系 中, 索引转换得到的中文查询词拼音对应的中文查询词子集, 其中中文查询词子集中的每 个中文查询词转换后得到的查询词拼音均为与该中文查询词子集对应的中文查询词拼音 ; 在接收的中文查询词与索引到的中文查询词子集中包含的中文查询词存在相同时, 确定接 收到的中文查询词无需纠错 ; 否则基于预设的声母、 韵母易错对关系, 对转换得到的中文查 询词拼音进行至少一次拼音变换 ; 针对每次变换得到的中文查询词拼音, 在该次变换得到 的中文查询词拼音包含在与各字母串对应的中文查询词集中时, 则在各中文查询词集包含 的各中文查询词拼音和与中文查询词拼音对应的中文查询词子集的对应关系中, 索引该次 变换后得到的中文查询词拼音对应的中文查询词子集 ; 以及将根据拼音变换后得到的中文 查询词拼音索引到的中文查询词子集中的中文查询词作为纠错词进行推荐。
本发明实施例还提供了一种对中文查询词进行纠错的装置, 包括接收单元, 用于 接收输入的中文查询词 ; 转换单元, 用于将接收单元接收到的中文查询词包含的每个字分 别转换为拼音 ; 第一确定单元, 用于确定转换单元转换后的每个拼音的首字母构成的字母 串; 第一索引单元, 用于在预先学习的各字母串和中文查询词集之间的对应关系中, 索引与 第一确定单元确定的字母串对应的中文查询词集, 其中中文查询词集中的每个中文查询词 包含的每个字的拼音的首字母构成的字母串均为与该中文查询词集对应的字母串 ; 第二索 引单元, 用于在第一索引单元索引到的中文查询词集包含的各中文查询词拼音和与中文查 询词拼音对应的中文查询词子集的对应关系中, 索引转换单元转换得到的中文查询词拼音 对应的中文查询词子集, 其中中文查询词子集中的每个中文查询词转换后得到的查询词拼 音均为与该中文查询词子集对应的中文查询词拼音 ; 判断单元, 用于判断接收单元接收的 中文查询词与第二索引单元索引到的中文查询词子集中包含的中文查询词是否存在相同 的情况 ; 第二确定单元, 用于在判断单元的判断结果为是时, 确定接收单元接收到的中文查询词无需纠错 ; 拼音变换单元, 用于在判断单元的判断结果为否时, 基于预设的声母、 韵母 易错对关系, 对转换单元转换得到的中文查询词拼音进行至少一次拼音变换 ; 第三索引单 元, 用于针对每次变换得到的中文查询词拼音, 在第一索引单元索引到的中文查询词集包 含的各中文查询词拼音和与中文查询词拼音对应的中文查询词子集的对应关系中, 索引拼 音变换单元该次变换后得到的中文查询词拼音对应的中文查询词子集 ; 推荐单元, 用于将 第三索引单元根据拼音变换后得到的中文查询词拼音索引到的中文查询词子集中的中文 查询词作为纠错词进行推荐。
本发明实施例还提供了一种对中文查询词进行纠错的方法, 包括接收输入的中文 查询词 ; 确定接收到的中文查询词包含的每个字的拼音的首字母构成的字母串 ; 在预先学 习的各字母串和中文查询词集之间的对应关系中, 索引与确定的字母串对应的中文查询词 集, 其中中文查询词集中的每个中文查询词包含的每个字的拼音的首字母构成的字母串均 为与该中文查询词集对应的字母串 ; 在接收的中文查询词与索引到的中文查询词集中包含 的中文查询词存在相同时, 确定接收到的中文查询词无需纠错 ; 否则将索引到的中文查询 词集中的中文查询词作为纠错词进行推荐。
本发明实施例还提供了一种对中文查询词进行纠错的装置, 包括接收单元, 用于 接收输入的中文查询词 ; 第一确定单元, 用于确定接收单元接收到的中文查询词包含的每 个字的拼音的首字母构成的字母串 ; 索引单元, 用于在预先学习的各字母串和中文查询词 集之间的对应关系中, 索引与第一确定单元确定的字母串对应的中文查询词集, 其中中文 查询词集中的每个中文查询词包含的每个字的拼音的首字母构成的字母串均为与该中文 查询词集对应的字母串 ; 判断单元, 用于判断接收单元接收的中文查询词与索引单元索引 到的中文查询词集中包含的中文查询词是否存在相同的情况 ; 第二确定单元, 用于在判断 单元的判断结果为是时, 确定接收单元接收到的中文查询词无需纠错 ; 推荐单元, 用于在判 断单元的判断结果为否时, 将索引单元索引到的中文查询词集中的中文查询词作为纠错词 进行推荐。
本发明实施例通过在预先学习中文查询词库时, 以中文查询词包含的每个字的拼 音的首字母构成的字母串作为索引值 (KEY 值 ), 建立各个字母串和中文查询词集的对应 关系, 其中中文查询词集中包含的每个中文查询词的拼音首字母构成的字母串均为与该中 文查询词集对应的字母串, 这样后续在对用户输入的中文查询词进行纠错时, 先确定用户 输入的中文查询词包含的每个字的拼音的首字母构成的字母串, 然后使用确定的字母串到 预先学习的各个字母串和中文查询词集的对应关系中, 索引对应的中文查询词集, 再根据 中文查询词的拼音在索引到的中文查询词集中匹配更为准备的中文查询词子集并进行纠 错处理, 从而相对现有技术的纠错过程会将用户输入的中文查询词与中文词库里的各个中 文词进行从头到尾地的比较计算, 将可以较大提高对用户输入的中文查询词进行纠错的速 度。 附图说明 下面将结合各个附图对本发明实施例的具体实施过程进行详尽的阐述, 其中在各 个附图中 :
图 1 为本发明第一实施例提出的对中文查询词进行纠错的方法的处理流程图 ;
图 2 为本发明实施例提出的第一种对中文查询词进行纠错的装置的具体组成结 构框图 ;
图 3 为本发明第二实施例提出的对中文查询词进行纠错的方法的处理流程图 ;
图 4 为本发明实施例提出的第二种对中文查询词进行纠错的装置的具体组成结 构框图 ;
图 5 为本发明第三实施例提出的对中文查询词进行纠错的方法的处理流程图 ;
图 6 为本发明实施例提出的第三种对中文查询词进行纠错的装置的具体组成结 构框图。 具体实施方式
本发明实施例的基本实现原理是 : 在预先学习中文查询词库时, 以中文查询词包 含的每个字的拼音的首字母构成的字母串作为索引值 (KEY 值 ), 建立各个字母串和中文 查询词集的对应关系, 其中中文查询词集中包含的每个中文查询词的拼音首字母构成的字 母串均为与该中文查询词集对应的字母串, 这样后续在对用户输入的中文查询词进行纠错 时, 先确定用户输入的中文查询词包含的每个字的拼音的首字母构成的字母串, 然后使用 确定的字母串到预先学习的各个字母串和中文查询词集的对应关系中, 索引对应的中文查 询词集, 再根据中文查询词的拼音在索引到的中文查询词集中匹配更为准备的中文查询词 子集并进行纠错处理, 从而来提高对用户输入的中文查询词进行纠错的速度。根据该基本 实现原理, 本发明下述给出了三种具体实现方式, 以下将分别具体说明。
第一实施例 :
首先, 基于查询日志创建和学习一个中文查询词库, 该中文查询词库的格式具体 可以如下 :
其中查询词的出现频率值为可选项, 之所以设置这个出现频率值, 是考虑到后续 在进行纠错词推荐时, 可以将统计得到的出现频率值比较高的中文查询词推荐给用户。
例如, 前期可以预先对以前的搜索引擎日志进行中文查询词统计, 将某些出现频 率值小于某阈值的中文查询词删除, 本发明实施例这里认为过去是对未来进行猜测的依 据, 即: 在过去一段时间里出现频率较高的中文查询词很可能在未来一段时间内也是出现 频率较高的中文查询词。 然后将中文查询词包含的每个字的拼音首字母构成的字母串提取 出来作为索引值 (KEY 值 ), 将对应的中文查询词和出现频率值作为被索引值 (VALUE), 从而 建立上述表格中的对应关系。
比如, 对以往搜索引擎日志进行中文查询词统计, 统计得到的中文查询词及其出 现的频率值中有这样两条 :
中文查询词出现频率值
郭德纲 300
郭得刚 100
本发明实施例这里认为出现频率最高的中文查询词更有可能是正确的, 更应该用 于后续的纠错使用, 因此考虑将出现频率值为 100 的郭得刚条目删除。这样提取上述统计 得到的 { 郭德纲 300} 条目中的中文查询词中包含的每个字的拼音首字母, 就可以学习到一 个对应关系项如下 :
gdg guo de gang 郭德纲 300
将该学习到的对应关系条目统计到中文查询词数据库中, 按照上述统计学习过 程, 中文查询词数据库中的对应关系项目就会逐渐增加和完善, 当然, 建立好中文查询词数 据库之后, 还需要定期对学习的中文查询词数据库进行更新处理。
假设, 按照上述的统计学习方法, 得到的中文查询词数据库的具体内容如下 :
#1x
Lian xiang 联想 300
Liu xiang 刘翔 269
流向 200
#zym
Zhang yi mou 张艺谋 400
章子怡 300
张子仪 100
Zhao zi yang 赵紫阳 200
这样后续在用户输入中文查询词之后, 可以考虑将用户输入的中文查询词包含的 每个字的拼音的首字母提取出来作为索引值 (KEY 值 ), 直接使用该索引值到中文查询词数 据库中对应的区域进行索引中文查询词, 其中该索引值对应的区域中包括各中文查询词拼 音和与该中文查询词拼音对应的中文查询词子集, 例如索引值 “#lx” 对应的区域中包括查 询词拼音 “Liu xiang” 和与该 “Liuxiang” 对应的中文查询词子集 { 刘翔, 流向 }, 以及查 询词拼音 “Lian xiang” 和与该 “Lian xiang” 对应的中文查询词子集 { 联想 }。这样当用 户输入的中文查询词为 “张一某” 时, 首先对 “张一某” 进行拼音变换得到 “zhang yi mou” , 再确定 “张一某” 包含的每个字的拼音首字母构成的字母串, 即为 “zym” , 这样在中文查询词 库中查找纠错词时就可以使用 “zym” 作为 KEY 值, 在 “zym” 对应的中文查询词区域 ( 包括 Zhang yi mou 张艺谋 400 ; Zhouyu min 周渝民 300 两个条目 ) 中查找对应的纠错词, 进而 在该区域中根据对 “张一某” 进行拼音变换后得到的 “zhangyi mou” , 定位到对应的纠错词 “张艺谋” 。
如图 1 所示, 为本发明第一实施例提出的对中文查询词进行纠错的方法的处理流 程图, 其中具体实现过程如下 :
步骤 10, 接收用户通过搜索引擎工具输入的中文查询词, 比如用户输入的中文查 询词为 “张子宜” ;
步骤 11, 将上述接收到的中文查询词包含的每个字分别转换为拼音, 如上述接收 到的中文查询词为 “张子宜” , 则对该接收到的中文查询词 “张子宜” 进行拼音转换后得到 “zhang zi yi” ;10Zhou yu min #zzy Zhang zi yi周渝民步骤 12, 确定上述转换后的每个拼音的首字母构成的字母串, 如上例, 则确定出的 字母串为 “zzy” ;
步骤 13, 在上述预先学习的包括各字母串和中文查询词集之间的对应关系的中 文查询词库中, 索引与上述确定的字母串对应的中文查询词集, 例如上述确定的字母串为 “zzy” , 则在中文查询词库中索引到的中文查询词集为 {Zhangzi yi 章子怡 300, 张子仪 100 ; Zhao zi yang 赵紫阳 200} ;
步骤 14, 在上述索引到的中文查询词集包含的各中文查询词拼音和与中文查询词 拼音对应的中文查询词子集的对应关系中, 按照转换得到的中文查询词拼音索引对应的中 文查询词子集 ;
实施该步骤有两种情况, 一种情况是在索引到的中文查询词集中直接包括转换得 到的中文查询词拼音, 例如上述用户输入的中文查询词为 “张子宜” , 则对该输入的中文查 询词 “张子宜” 进行拼音转换后得到 “zhang zi yi” , 可见拼音转换后得到 “zhang zi yi” 直接包含在搜索得到的中文查询词集 {Zhang zi yi 章子怡 300, 张子仪 100 ; Zhao zi yang 赵紫阳 200} 中, 则在这种情况下直接在索引到的中文查询词集包含的各中文查询词拼音 和与中文查询词拼音对应的中文查询词子集的对应关系中, 索引与转换得到的中文查询词 拼音对应的中文查询词子集, 则可见可以根据拼音转换后得到的 “zhang zi yi” 在索引得 到的中文查询词集 {Zhang zi yi 章子怡 300, 张子仪 100 ; Zhao zi yang 赵紫阳 200} 中, 索引到中文查询词子集 { 章子怡 300, 张子仪 100} ; 另一种情况是在预先学习的中文查询词库中与各字母串对应的中文查询词子集 中不包括拼音转换得到的中文查询词拼音, 这是因为在有些情况下, 查询用户通常由于生 长环境不同, 在发音过程中通常会有发音错误, 比如容易出现某些声母和韵母的发音错误, 例如声母 f 和 h, b 和 p, r 和 l, s 和 sh 之间都是易混淆的发音, 而 f 和 b 之间是不太可能 出现发音混淆的。韵母则考虑到韵母部分首字母的关联关系, 比如 u 和 ua, a 和 ao 容易发 生发音混淆, 但 u 和 ao 相对不易发生发音错误。另外还可以考虑到一些鼻音易错 : 比如 an 和 ang, en 和 eng 等等。因此可以预先建立一个声母、 韵母发音易错对关系列表, 基于这个 列表在预先统计学习的中文查询词库中找不到匹配的纠错词进行推荐时或者找不到对应 的查询词拼音时, 可以考虑对用户输入的中文查询词的转换拼音, 按照预先建立的声母、 韵 母发音易错对关系进行拼音变换处理, 然后使用每次变换后得到的拼音再去中文查询词库 中进行匹配处理。其中针对每次变换得到的中文查询词拼音, 在该次变换得到的中文查询 词拼音包含在预先学习的中文查询词库中与各字母串对应的中文查询词子集中时, 则在各 中文查询词集包含的各中文查询词拼音和与中文查询词拼音对应的中文查询词子集的对 应关系中, 索引与该次变换得到的中文查询词拼音对应的中文查询词子集即可, 由此可见, 根据变换次数的不同, 可能最终索引到的中文查询词子集的数目也会有所不同。
例如, 当用户输入的中文查询词为 “张因某” 时, 首先对 “张因某” 进行拼音转换得 到 “zhang yin mou” , 这样在预先统计学习到的中文查询词库中 “zym” 对应的区域中将不能 匹配到对应的拼音, 则可以考虑对 “zhang yin mou” 按照预先设置的声母、 韵母易错对关系 进行至少一次拼音变换, 得到至少一个拼音变换后的拼音, 这里假设对 “zhang yin mou” 进 行了两种不同类型拼音错误的变换, 分别得到的拼音变换结果为 : zang yin mou、 zhang yi mou 等等, 可见第二种类型拼音变换得到的拼音 “zhang yi mou” 已经包含在 “zym” 对应的
区域中包含的中文查询词集 {Zhang yi mou 张艺谋 400, Zhou yu min 周渝民 300} 中, 然后 在该中文查询词集中索引到 “zhang yi mou” 对应的中文查询词子集 {Zhang yi mou 张艺 谋 400}。
本发明实施例这里推荐在一个中文查询词进行拼音转换后得到的拼音中, 若出现 同类型的发音错误, 按照预先建立的声母、 韵母易错对关系对拼音进行一次变换即可, 无需 累加成多次变换过程, 比如 : 许多人分不清 z 和 zh, c 和 ch, s 和 sh 等, 所以对用户输入的中 文查询词 “资似 (zi si)” 只需进行一次同类型拼音错误变换来得到 “知识 (zhi shi)” 即 可。
其中对中文查询词拼音在每次变换时允许进行的拼音错误变换种类是动态的, 其 中对中文查询词拼音在每次变换时允许进行的拼音错误变换种类可以与用户输入的中文 查询词包含的字数相关, 当用户输入的中文查询词包含的字数越多时, 允许对中文查询词 拼音在每次变换时允许进行的拼音错误变换种类也就越多。 比如, 一共只有三个输入字, 则 可以设定对中文查询词拼音在每次变换时允许进行的拼音错误变换种类为 1 ; 而当输入字 为五个或六个时, 则可以设定对中文查询词拼音在每次变换时允许进行的拼音错误变换种 类为 2。 即设定当输入词长度大于 3 小于 6 时, 设定对输入词拼音在每次变换时允许进行的 拼音错误变换种类为 2 ; 当输入词长度小于等于 3 时, 设定对输入词拼音在每次变换时允许 进行的拼音错误变换种类为 1。 通常纠错对输入词的长度是有下限要求的, 输入的中文查询 词包含的字数长度至少为 2, 因为通常对于长度为 1 的单个字而言, 系统是根本无法 “猜测” 用户的真实搜索意图的。 步骤 15, 判断接收到的中文查询词与上述在步骤 14 中索引到的中文查询词子集 中包含的各中文查询词是否存在相同的情况 ; 例如如果用户输入的中文查询词为 “张子宜” 时, 就会存在和在步骤 14 中索引到的中文查询词子集中 { 章子怡 300, 张子仪 100} 包含的 各中文查询词均不相同的情况, 而如果用户输入的中文查询词为 “章子怡” , 则和在步骤 14 中索引到的中文查询词子集中 { 张子怡 300, 张子仪 100} 包含的各中文查询词存在相同的 情况 ;
步骤 16, 在上述判断结果为是时, 则确定接收到的中文查询词无需纠错 ;
步骤 17, 在上述判断结果为否时, 则将上述在步骤 14 中索引到的中文查询词子集 中的中文查询词作为纠错词进行推荐, 例如在用户输入的查询词为 “张子宜” 时, 则可以将 在上述步骤 14 中索引到的中文查询词子集 { 章子怡 300, 张子仪 100} 中的中文查询词作为 纠错词进行推荐。
具体地, 可以将上述在步骤 14 中索引到的中文查询词子集中包含的所有中文查 询词均进行推荐, 例如在用户输入的中文查询词为 “张子宜” 时, 可以将章子怡、 张子仪均推 荐给用户。 当然如果在预先学习建立的中文查询词库中预先学习了各个中文查询词的出现 频率值, 也可以参照索引到的中文查询词集中包含的各个中文查询词对应的出现频率值进 行推荐, 例如可以将索引到的中文查询词子集中对应最大出现频率值的中文查询词作为纠 错词进行推荐, 即为用户推荐 “章子怡” ; 也可以将索引到的中文查询词集中出现频率值由 大到小排在前 N 位的出现频率值分别对应的中文查询词作为纠错词进行推荐, 其中 N 为自 然数, 例如当 N 为 1 时, 只向用户推荐 “章子怡” , 当 N 为 2 时, 则向用户推荐 “张子怡、 张子 仪” 。
如图 2 所示, 为本发明实施例提出的第一种对中文查询词进行纠错的装置的具体 组成结构框图, 其中具体包括 :
接收单元 20, 用于接收用户通过搜索引擎工具输入的中文查询词 ;
转换单元 21, 用于将上述接收单元 20 接收到的中文查询词包含的每个字分别转 换为拼音 ;
第一确定单元 22, 用于确定上述转换单元 21 转换后的每个拼音的首字母构成的 字母串 ;
第一索引单元 23, 用于在上述预先学习的包括各字母串和中文查询词集之间的 对应关系的中文查询词库 24 中, 索引与第一确定单元 22 确定的字母串对应的中文查询词 集;
第二索引单元 25, 用于在第一索引单元 23 索引到的中文查询词集包含的各中文 查询词拼音和与中文查询词拼音对应的中文查询词子集的对应关系中, 按照上述转换单元 21 转换得到的中文查询词拼音索引对应的中文查询词子集 ; 其中第二索引单元 25 具体地 可以包括 : 第一索引子单元, 用于在第一索引单元 23 索引到的中文查询词集中包括转换单 元 21 转换得到的中文查询词拼音时, 在第一索引单元 23 索引到的中文查询词集包含的各 中文查询词拼音和与中文查询词拼音对应的中文查询词子集的对应关系中, 索引与转换单 元 21 转换得到的中文查询词拼音对应的中文查询词子集 ; 拼音变换子单元, 用于在第一索 引单元 23 索引到的中文查询词集中不包括转换单元 21 转换得到的中文查询词拼音时, 基 于预设的声母、 韵母易错对关系, 对换转单元 21 转换得到的中文查询词拼音进行至少一次 拼音变换 ; 第二索引子单元, 用于针对拼音变换子单元每次变换得到的中文查询词拼音, 在 该次变换得到的中文查询词拼音包含在预先学习的中文查询词库中与各字母串对应的中 文查询词子集中时, 在各中文查询词集包含的各中文查询词拼音和与中文查询词拼音对应 的中文查询词子集的对应关系中, 索引与该次变换得到的中文查询词拼音对应的中文查询 词子集。
判断单元 26, 用于判断接收单元 20 接收到的中文查询词与第二索引单元 25 索引 到的中文查询词子集中包含的每个中文查询词是否存在相同的情况 ;
第二确定单元 27, 用于在判断单元 26 的判断结果为是时, 确定接收单元 20 接收到 的中文查询词无需纠错处理 ;
推荐单元 28, 用于在判断单元 26 的判断结果为否时, 将第二索引单元 25 索引到的 中文查询词子集中的中文查询词作为纠错词进行推荐。具体的, 推荐单元 28 可以将第二索 引单元 25 索引到的中文查询词子集中包含的所有中文查询词均进行推荐。当然如果在预 先学习建立的中文查询词库中预先学习了各个中文查询词的出现频率值, 也可以参照索引 到的中文查询词集中包含的各个中文查询词对应的出现频率值进行推荐, 例如可以将第二 索引单元 25 索引到的中文查询词子集中对应最大出现频率值的中文查询词作为纠错词进 行推荐, 也可以将索引到的中文查询词子集中出现频率值由大到小排在前 N 位的出现频率 值分别对应的中文查询词作为纠错词进行推荐, 其中 N 为自然数。
第二实施例 :
如图 3 所示, 为本发明第二实施例提出的对中文查询词进行纠错的方法的处理流 程图, 其中具体实现过程如下 :步骤 30, 接收用户通过搜索引擎工具输入的中文查询词 ;
步骤 31, 将上述接收到的中文查询词包含的每个字分别转换为拼音 ;
步骤 32, 确定上述转换后的每个拼音的首字母构成的字母串 ;
步骤 33, 在上述预先学习的包括各字母串和中文查询词集之间的对应关系的中文 查询词库中, 索引与上述确定的字母串对应的中文查询词集 ;
步骤 34, 在上述索引到的中文查询词集包含的各中文查询词拼音和与中文查询词 拼音对应的中文查询词子集的对应关系中, 索引与转换得到的中文查询词拼音对应的中文 查询词子集 ;
步骤 35, 判断接收到的中文查询词与上述在步骤 34 中索引到的中文查询词子集 中包含的各中文查询词是否存在相同的情况 ;
步骤 36, 在上述判断结果为是时, 则确定接收到的中文查询词无需纠错 ;
步骤 37, 在上述判断结果为否时, 基于预设的声母、 韵母易错对对应关系, 对上述 转换得到的中文查询词拼音进行至少一次拼音变换 ; 其中对中文查询词拼音在每次变换时 允许进行的拼音错误变换种类可以与中文查询词中包含的字数相关, 通常接收到的中文查 询词包含的字数越多, 对转换得到的中文查询词拼音在每次变换时允许进行的拼音错误变 换种类也就越多 ;
步骤 38, 针对每次拼音变换得到的拼音变换结果, 在该次变换得到的中文查询词 拼音包含在预先学习的中文查询词库中与各字母串对应的中文查询词集中时, 则在与各字 母串对应的中文查询词集包含的各中文查询词拼音和与中文查询词拼音对应的中文查询 词子集的对应关系中, 索引与该次变换得到的中文查询词拼音对应的中文查询词子集即 可;
步骤 39, 将根据拼音变换后得到的中文查询词拼音索引到的中文查询词子集中的 中文查询词作为纠错词进行推荐。
具体地, 可以将上述在步骤 38 中索引到的中文查询词子集中包含的所有中文查 询词均进行推荐。 当然如果在预先学习建立的中文查询词库中预先学习了各个中文查询词 的出现频率值, 也可以参照索引到的中文查询词集中包含的各个中文查询词对应的出现频 率值进行推荐, 例如可以将索引到的中文查询词子集中对应最大出现频率值的中文查询词 作为纠错词进行推荐 ; 也可以将索引到的中文查询词集中出现频率值由大到小排在前 N 位 的出现频率值分别对应的中文查询词作为纠错词进行推荐, 其中 N 为自然数。
如图 4 所示, 为本发明实施例提出的第二种对中文查询词进行纠错的装置的具体 组成结构框图, 其中具体包括 :
接收单元 40, 用于接收用户通过搜索引擎工具输入的中文查询词 ;
转换单元 41, 用于将上述接收单元 40 接收到的中文查询词包含的每个字分别转 换为拼音 ;
第一确定单元 42, 用于确定上述转换单元 41 转换后的每个拼音的首字母构成的 字母串 ;
第一索引单元 43, 用于在上述预先学习的包括各字母串和中文查询词集之间的 对应关系的中文查询词库 44 中, 索引与第一确定单元 42 确定的字母串对应的中文查询词 集;第二索引单元 45, 用于在第一索引单元 43 索引到的中文查询词集包含的各中文 查询词拼音和与中文查询词拼音对应的中文查询词子集的对应关系中, 索引与上述转换单 元 41 转换得到的中文查询词拼音对应的中文查询词子集 ;
判断单元 46, 用于判断接收单元 40 接收到的中文查询词与第二索引单元 45 索引 到的中文查询词子集中包含的每个中文查询词是否存在相同的情况 ;
第二确定单元 47, 用于在判断单元 46 的判断结果为是时, 确定接收单元 40 接收到 的中文查询词无需纠错处理 ;
拼音变换单元 48, 用于在判断单元 46 的判断结果为否时, 基于预设的声母、 韵母 易错对对应关系, 对转换单元 41 转换得到的中文查询词拼音进行至少一次拼音变换 ;
第三索引单元 49, 用于针对拼音变换单元 48 每次拼音变换后得到的中文查询词 拼音, 在该词变换得到的中文查询词拼音包含在预先学习的中文查询词库中与各字母串对 应的中文查询词集中时, 在与各字母串对应的中文查询词集中包含的各中文查询词拼音和 与中文查询词拼音对应的中文查询词子集的对应关系中, 索引拼音变换单元 48 该次变换 后得到的中文查询词拼音对应的中文查询词子集 ;
推荐单元 50, 用于将第三索引单元 49 根据拼音变换后得到的中文查询词拼音索 引到的中文查询词子集中的中文查询词作为纠错词进行推荐。 体的, 推荐单元 50 可以将第三索引单元 49 索引到的中文查询词子集中包含的所 有中文查询词均进行推荐。 当然如果在预先学习建立的中文查询词库中预先学习了各个中 文查询词的出现频率值, 也可以参照索引到的中文查询词集中包含的各个中文查询词对应 的出现频率值进行推荐, 例如可以将第三索引单元 49 索引到的中文查询词子集中对应最 大出现频率值的中文查询词作为纠错词进行推荐, 也可以将索引到的中文查询词子集中出 现频率值由大到小排在前 N 位的出现频率值分别对应的中文查询词作为纠错词进行推荐, 其中 N 为自然数。
第三实施例 :
如图 5 所示, 为本发明第三实施例提出的对中文查询词进行纠错的方法的处理流 程图, 其中具体实现过程如下 :
步骤 50, 接收用户通过搜索引擎工具输入的中文查询词, 比如用户输入的中文查 询词为 “张一某” ;
步骤 51, 确定上述接收到的中文查询词包含的每个字的拼音的首字母构成的字母 串, 如上述接收到的中文查询词为 “张一某” , 则确定出的字母串为 “zym” ;
步骤 52, 在上述预先学习的包括各字母串和中文查询词集之间的对应关系的中 文查询词库中, 索引与上述确定的字母串对应的中文查询词集, 例如上述确定的字母串为 “zym” , 则在中文查询词库中索引到的中文查询词集为 { 张艺谋, 周渝民 } ;
步骤 53, 判断接收到的中文查询词与索引到的中文查询词集中包含的中文查询词 是否存在相同的情况, 例如如果用户输入的中文查询词为 “张艺谋” 时, 就会存在和索引到 的中文查询词集中 { 张艺谋, 周渝民 } 包含的中文查询词相同的情况, 而如果用户输入的中 文查询词为 “张一某” , 则和索引到的中文查询词集中 { 张艺谋, 周渝民 } 包含的中文查询词 不存在相同的情况 ;
步骤 54, 在上述判断结果为是时, 则确定接收到的中文查询词无需纠错 ;
步骤 55, 在上述判断结果为否时, 则将上述索引到的中文查询词集中的中文查询 词作为纠错词进行推荐, 例如在用户输入的查询词为 “张一某” 时, 可以将索引到的中文查 询词集 { 张艺谋, 周渝民 } 中的中文查询词作为纠错词进行推荐。
具体地, 可以将索引到的中文查询词集中包含的所有中文查询词均进行推荐, 例 如在用户输入的中文查询词为 “张一某” 时, 可以将张艺谋、 周渝民均推荐给用户。 当然如果 在预先学习建立的中文查询词库中预先学习了各个中文查询词的出现频率值, 也可以参照 索引到的中文查询词集中包含的各个中文查询词对应的出现频率值进行推荐, 例如可以将 索引到的中文查询词集中对应最大出现频率值的中文查询词作为纠错词进行推荐, 即为用 户推荐 “张艺谋” ; 也可以将索引到的中文查询词集中出现频率值由大到小排在前 N 位的出 现频率值分别对应的中文查询词作为纠错词进行推荐, 其中 N 为自然数, 例如当 N 为 1 时, 只向用户推荐 “张艺谋” , 当 N 为 2 时, 则向用户推荐 “张艺谋、 周渝民” 。
如图 6 所示, 为本发明实施例提出的第三种对中文查询词进行纠错的装置的具体 组成结构框图, 其中具体包括 :
接收单元 60, 用于接收用户通过搜索引擎工具输入的中文查询词 ;
第一确定单元 61, 用于确定上述接收单元 60 接收到的中文查询词包含的每个字 的拼音的首字母构成的字母串 ; 索引单元 62, 用于在上述预先学习的包括各字母串和中文查询词集之间的对应关 系的中文查询词库 63 中, 索引与第一确定单元 61 确定的字母串对应的中文查询词集 ;
判断单元 64, 用于判断接收单元 60 接收到的中文查询词与索引单元 62 索引到的 中文查询词集中包含的每个中文查询词是否存在相同的情况 ;
第二确定单元 65, 用于在判断单元 64 的判断结果为是时, 确定接收单元 60 接收到 的中文查询词无需纠错处理 ;
推荐单元 66, 用于在判断单元 64 的判断结果为否时, 将索引单元 62 索引到的中文 查询词集中的中文查询词作为纠错词进行推荐。具体的, 推荐单元 66 可以将索引到的中文 查询词集中包含的所有中文查询词均进行推荐。 当然如果在预先学习建立的中文查询词库 中预先学习了各个中文查询词的出现频率值, 也可以参照索引到的中文查询词集中包含的 各个中文查询词对应的出现频率值进行推荐, 例如可以将索引到的中文查询词集中对应最 大出现频率值的中文查询词作为纠错词进行推荐, 也可以将索引到的中文查询词集中出现 频率值由大到小排在前 N 位的出现频率值分别对应的中文查询词作为纠错词进行推荐, 其 中 N 为自然数。
其中在上述第二、 第三实施例中, 对用户输入的中文查询词拼音进行变换可以更 为准备的对用户输入的中文查询词进行纠错处理, 较好的提高了纠错过程的精度。
其中在具体实施过程中, 可以将上述介绍的第一实施例、 第二实施例和第三实施 例进行任意的组合使用, 这些组合使用也在本发明的权利要求保护范围之内。
显然, 本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精 神和范围。这样, 倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围 之内, 则本发明也意图包含这些改动和变型在内。