一种拼音纠错方法及系统技术方案

技术编号:10845983 阅读:200 留言:0更新日期:2014-12-31 16:03
本发明专利技术提出了一种拼音纠错方法及系统,该拼音纠错方法包括如下步骤:构建词库,将用户可能检索的所有拼音串及其反转字符串分别组织并存储于正向、反向两棵三叉搜索树中;分析和检测用户输入的检索串,判断其是否可拆分为若干音节串,获取检索串的错误类型,所述错误类型分为合法错误和非法错误;对合法错误检索串进行合法纠错,对非法错误检索串进行非法纠错,采用正向、反向两棵三叉搜索树的查询操作获取纠错结果;计算纠错结果中的所有拼音串与用户输入的检索串的相似度,获取相似度最大的K个拼音串并输出。本发明专利技术的拼音纠错方算法设计简洁、高效,纠错速度快,准确率高。

【技术实现步骤摘要】

本专利技术涉及数据处理
,具体涉及一种速度快、准确率高的拼音纠错方法及系统
技术介绍
拼音纠错技术是指检测用户输入的拼音字符串,并对其中输入有误或不合理的拼音字符进行修改和优化,从而保证输出结果。在搜索应用中,拼音检索技术可以有效避开输入法,实现拼音原始性检索,在一定程度上改变搜索行为;而在输入法应用中,拼音纠错技术能够自动识别并修改用户输入的错误字符串,以保证正确汉字输出,提高输入法的容错性。拼音纠错技术能够有效增强应用扩展性与用户体验性。目前,常用的拼音纠错技术解决方案有两种:一种是基于统计的纠错技术,这种技术通过特定概率算法,如N-gram算法,计算用户输入拼音串中连续拼音字符出现的概率,从而获取纠错结果,这种基于统计的纠错方式能够较好地适应各种拼音应用,但计算量较大,响应时间较长,降低用户的体验性。另一种方法是基于规则的纠错技术,这种技术是通过提炼拼音词条的规则,对用户输入的拼音串执行规则检验以获取相应的纠错结果,这种基于规则的纠错方式响应本文档来自技高网...

【技术保护点】
一种拼音纠错方法,其特征在于,包括:S1,构建词库,将所有拼音串及其反转字符串分别组织并存储于正向、反向两棵三叉搜索树中;所述方法包括:S2,分析和检测用户输入的检索串,判断其是否可拆分为若干音节串,获取检索串的错误类型,所述错误类型分为合法错误和非法错误;S3,对合法错误检索串进行合法纠错,对非法错误检索串进行非法纠错,采用正向、反向两棵三叉搜索树的查询操作获取纠错结果;S4,计算纠错结果中的所有拼音串与用户输入的检索串的相似度,获取相似度最大的K个拼音串并输出。

【技术特征摘要】
1.一种拼音纠错方法,其特征在于,包括:
S1,构建词库,将所有拼音串及其反转字符串分别组织并存储于正向、反
向两棵三叉搜索树中;
所述方法包括:
S2,分析和检测用户输入的检索串,判断其是否可拆分为若干音节串,获
取检索串的错误类型,所述错误类型分为合法错误和非法错误;
S3,对合法错误检索串进行合法纠错,对非法错误检索串进行非法纠错,
采用正向、反向两棵三叉搜索树的查询操作获取纠错结果;
S4,计算纠错结果中的所有拼音串与用户输入的检索串的相似度,获取相
似度最大的K个拼音串并输出。
2.如权利要求1所述的拼音纠错方法,其特征在于,所述正向、反向两
棵三叉搜索树包括如下特点:
树中非叶子节点均有1-3个儿子节点;
每个节点存储当前节点的关键字及其指向儿子节点的指针;
非叶子节点的关键字不小于其左儿子节点的关键字,不大于其右儿子节点
的关键字。
3.如权利要求1所述的拼音纠错方法,其特征在于,在所述步骤S2中,
如果检索串可拆分为若干个音节串,则将其拆分为最少音节串个数的形式;如
果检索串不能划分为若干个音节子串,则标注其不能划分的音符。
4.如权利要求1所述的拼音纠错方法,其特征在于,所述对非法错误检
索串进行非法纠错为:
S41,获取用户输入的经过检测后的检索串;
S42,对步骤S41中的检索串进行预处理,获取检索串中的所有非法字符,
并将所有的非法字符标记为*字符;
S43,如果检索串中*字符位于检索串中间,则分别采用正向、反向三叉搜
索树查找相应前缀的所有拼音串,将查找结集的交集作为纠错结果集,如果检
索串中*字符位于检索串的最左/右侧,则使用反向/正向三叉搜索树查找,获
取相应前缀的所有拼音串作为结果集;
S44,对纠错结果集进行预处理,删除纠错结果集中与检索串长度之差的
绝对值大于1的拼音串;
S45,判断纠错结果集是否为空,如果纠错结果集为空,则提示当前纠错
失败。
5.如权利要求1所述的拼音纠错方法,其特征在于,所述对合法错误检
索串进行合法纠错为:
S51,获取用户输入的经过检测后的检索串;
S52,分别将检索串中的每个音节单独替换为*字符,依次执行后续步骤;
S53,如果检索串中*字符位于检索串中间,即*字符两侧均有音节串,分
别采用正反向三叉搜索树查找相应前缀的所有拼音串,将查找结集的交集作为
纠错结果集,
如果检索串中*字符位于检索串的最左/右侧,则使用反向/正向三叉搜索
树查找,获取相应前缀的所有拼音串作为结果集;
S54,对纠错结果集进行预处理,删除纠错结果集中与检索串长度之差的
绝对值大于1的拼音串;
S55,判断纠错结果集是否为空,如果纠错结果集为空,则提示当前纠错

\t失败。
6.如权利要求1所述的拼音纠错方法,其特征在于,所述S4步骤为:
S61,读取检索串与纠错结果集中的拼音串;
S62,正向匹配:从第一个字符开始判断检索串与纠错串是否相同,如果
相同继续匹配后续字符,否则标记当前位置与已经匹配的字符个数;
S63,反向匹配:从最后一个字符至正向匹配标记位置,开始判断检索串
与纠错串是否相同,如果相同继续匹配之前字符,否则获取反向匹配字符个数;
S64,计算相似度:获取正向、反向匹配后相同的字符个数之和以及对应
检索串与纠错串的最大长度,两者求比获取相似度;
S65,依据步骤S61至步骤S64计算纠错结果集中的所有...

【专利技术属性】
技术研发人员:熊小鹏刘磊
申请(专利权)人:重庆新媒农信科技有限公司
类型:发明
国别省市:重庆;85

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1