字符串检索方法及系统技术方案

技术编号:9312321 阅读:110 留言:0更新日期:2013-11-06 18:45
本发明专利技术公开了一种字符串检索方法及系统,该方法包括:接收用户输入的检索信息;将所述检索信息中的字符串逐个字符进行拼音转换,并确定所述字符的相似发音集合;依次将所述字符的拼音及其相似发音集合中的相似发音进入多叉前缀树进行检索;在检索到与所述拼音或所述相似发音相匹配的节点时,将所述节点记录为激活状态,并记录激活路径,在下一个字符的拼音及其相似发音进入所述多叉前缀树后,对所有处于激活状态下的节点继续进行检索,直到检索到终止节点;获取所述激活路径上的终止节点保存的关键词信息;将所述关键词信息作为检索结果展现给所述用户。利用本发明专利技术,可以在保证容错能力下提高检索性能,降低运算量及对资源的占用率。

【技术实现步骤摘要】

本专利技术涉及信息检索
,具体涉及一种字符串检索方法及系统。
技术介绍
在当前的互联网时代,信息检索被运用在几乎所有的行业中,而不同的服务商,包括搜索厂商、电信厂商等,已经不再满足于单纯地向用户提供检索信息,更多的是在提供检索信息的同时,提供用户需求的服务,提升产品的体验度。这就需要检索信息具有很高的准确性,为此,对用户输入信息的准确性及检索结果的准确性都提出了较高的要求。目前,主流的信息输入方式主要有:拼音输入法、手写输入法、五笔输入法和智能语音输入法,其中语音输入法在一些语音软件和电信厂商的无线语音业务增值服务中应用广泛。可见,用户的输入方式中与发音相关的就有拼音输入法和语音输入法。而在日常的使用中,由于用户拼音输入的错误,这点在目前非常流行的移动终端设备的T9键盘上尤为突出,或者语音识别的错误,这些错误有一个相同的特性,即发音相同或相似但文字错误,这就引起服务商获取到的实际信息与用户的期望信息存在差异,导致检索错误,提供了用户不需要的服务,也降低了产品体验度。针对这种情况,业界多采用发音容错的方式,提升识别效果。相比于精确检索,容错识别由于未知性的结果扩大,运算量增大,降低了检索性能,而且会大大增加资源的占用率。
技术实现思路
本专利技术提供一种字符串检索方法及系统,在保证容错能力下提高检索性能,降低运算量及对资源的占用率。为此,本专利技术提供如下技术方案:一种字符串检索方法,包括:接收用户输入的检索信息,所述检索信息包括字符串;将所述字符串逐个字符进行拼音转换,并确定所述字符的相似发音集合;依次将所述字符的拼音及其相似发音集合中的相似发音进入多叉前缀树进行检索;在检索到与所述拼音或所述相似发音相匹配的节点时,将所述节点记录为激活状态,并记录激活路径,在下一个字符的拼音及其相似发音进入所述多叉前缀树后,对所有处于激活状态下的节点继续进行检索,直到检索到终止节点;获取所述激活路径上的终止节点保存的关键词信息;将所述关键词信息作为检索结果展现给所述用户。优选地,所述检索信息为拼音输入或语音输入得到的字符串。优选地,所述方法还包括:按以下方式建立所述多叉前缀树:将预先设定的关键词对应的字符串进行拼音转换,得到发音串;根据所述发音串建立所述多叉前缀树,所述多叉前缀树的终止节点上保存所述发音串对应的关键词信息。优选地,所述方法还包括:如果所述多叉前缀树中一个节点的子节点数小于设定值,则采用顺序存储方式保存该节点及其子节点;如果所述多叉前缀树中一个节点的子节点数大于或等于所述设定值,则采用HASH存储方式保存该节点及其子节点。优选地,所述方法还包括:如果根据所述字符串的拼音在所述多叉前缀树中检索得到的多个检索结果在用户输入的检索信息中存在完全包含关系,则将所述检索结果分等级输出;如果根据所述字符串的拼音在所述多叉前缀树中检索得到的多个检索结果在用户输入的检索信息中不存在完全包含关系,则将所述多个精确字符串作为相同等级输出。优选地,所述确定所述字符的相似发音集合包括:根据预先建立的相似发音表确定所述字符的相似发音集合。优选地,所述方法还包括:在获取所述激活路径上的终止节点保存的关键词信息之前,计算所述激活路径的得分;滤除所述得分小于或等于设定的分值门限的激活路径。优选地,按以下公式计算所述激活路径的得分:激活路径的得分=∑激活路径上每个字符的相似度/激活路径上的字符个数。优选地,所述方法还包括:在所述激活路径到达一个节点后,计算所述节点的可信度;如果所述可信度小于设定的可信度门限,则将所述节点转为未激活状态。优选地,按以下公式计算所述节点的可信度:节点的可信度=(激活路径的得分+min(节点最大高度,剩余字数))/(激活路径当前字数+min(节点最大高度,剩余字数));节点最大高度=max(所有子节点高度)+1。优选地,所述方法还包括:在将所述关键词信息作为检索结果展现给所述用户之前,计算每个检索结果的匹配得分;按得分高低对所述检索结果进行排序输出。优选地,按以下公式计算检索结果的匹配得分:检索结果的匹配得分=(∑检索结果中每个字符的匹配度)*检索结果对应的激活路径的得分。一种字符串检索系统,包括:接收模块,用于接收用户输入的检索信息,所述检索信息包括字符串;转换模块,用于将所述字符串逐个字符进行拼音转换,并确定所述字符的相似发音集合;检索模块,用于依次将所述字符的拼音及其相似发音集合中的相似发音进入多叉前缀树进行检索;在检索到与所述拼音或所述相似发音相匹配的节点时,将所述节点记录为激活状态,并记录激活路径,在下一个字符的拼音及其相似发音进入所述多叉前缀树后,对所有处于激活状态下的节点继续进行检索,直到检索到终止节点;信息获取模块,用于获取所述激活路径上的终止节点保存的关键词信息;展现模块,用于将所述关键词信息作为检索结果展现给所述用户。优选地,所述系统还包括:多叉前缀树构建模块,用于将预先设定的关键词对应的字符串进行拼音转换,得到发音串,并根据所述发音串建立所述多叉前缀树,所述多叉前缀树的终止节点上保存所述发音串对应的关键词信息。优选地,所述展现模块,具体用于在根据所述字符串的拼音在所述多叉前缀树中检索得到的多个检索结果在用户输入的检索信息中存在完全包含关系时,将所述检索结果分等级输出;在根据所述字符串的拼音在所述多叉前缀树中检索得到的多个检索结果在用户输入的检索信息中不存在完全包含关系时,将所述多个精确字符串作为相同等级输出。优选地,所述转换模块根据预先建立的相似发音表确定所述字符的相似发音集合。优选地,所述系统还包括:计算模块,用于在所述信息获取模块获取所述激活路径上的终止节点保存的关键词信息之前,计算所述激活路径的得分;过滤模块,用于滤除所述得分小于或等于设定的分值门限的激活路径。优选地,所述计算模块按以下公式计算所述激活路径的得分:激活路径的得分=∑激活路径上每个字符的相似度/激活路径上的字符个数。优选地,所述计算模块,还用于在所述激活路径到达一个节点后,计算所述节点的可信度;所述检索模块,还用于在所述可信度小于设定的可信度门限时,将所述节点转为未激活状态。优选地,所述计算模块按以下公式计算所述节点的可信度:节点的可信度=(激活路径本文档来自技高网...

【技术保护点】
一种字符串检索方法,其特征在于,包括:接收用户输入的检索信息,所述检索信息包括字符串;将所述字符串逐个字符进行拼音转换,并确定所述字符的相似发音集合;依次将所述字符的拼音及其相似发音集合中的相似发音进入多叉前缀树进行检索;在检索到与所述拼音或所述相似发音相匹配的节点时,将所述节点记录为激活状态,并记录激活路径,在下一个字符的拼音及其相似发音进入所述多叉前缀树后,对所有处于激活状态下的节点继续进行检索,直到检索到终止节点;获取所述激活路径上的终止节点保存的关键词信息;将所述关键词信息作为检索结果展现给所述用户。

【技术特征摘要】
1.一种字符串检索方法,其特征在于,包括:
接收用户输入的检索信息,所述检索信息包括字符串;
将所述字符串逐个字符进行拼音转换,并确定所述字符的相似发音集合;
依次将所述字符的拼音及其相似发音集合中的相似发音进入多叉前缀树
进行检索;
在检索到与所述拼音或所述相似发音相匹配的节点时,将所述节点记录为
激活状态,并记录激活路径,在下一个字符的拼音及其相似发音进入所述多叉
前缀树后,对所有处于激活状态下的节点继续进行检索,直到检索到终止节点;
获取所述激活路径上的终止节点保存的关键词信息;
将所述关键词信息作为检索结果展现给所述用户。
2.根据权利要求1所述的方法,其特征在于,所述检索信息为拼音输入
或语音输入得到的字符串。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
按以下方式建立所述多叉前缀树:
将预先设定的关键词对应的字符串进行拼音转换,得到发音串;
根据所述发音串建立所述多叉前缀树,所述多叉前缀树的终止节点上保存
所述发音串对应的关键词信息。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
如果所述多叉前缀树中一个节点的子节点数小于设定值,则采用顺序存储
方式保存该节点及其子节点;
如果所述多叉前缀树中一个节点的子节点数大于或等于所述设定值,则采
用HASH存储方式保存该节点及其子节点。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包
括:
如果根据所述字符串的拼音在所述多叉前缀树中检索得到的多个检索结
果在用户输入的检索信息中存在完全包含关系,则将所述检索结果分等级输
出;
如果根据所述字符串的拼音在所述多叉前缀树中检索得到的多个检索结
果在用户输入的检索信息中不存在完全包含关系,则将所述多个精确字符串作

\t为相同等级输出。
6.根据权利要求1至4任一项所述的方法,其特征在于,所述确定所述
字符的相似发音集合包括:
根据预先建立的相似发音表确定所述字符的相似发音集合。
7.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包
括:
在获取所述激活路径上的终止节点保存的关键词信息之前,计算所述激活
路径的得分;
滤除所述得分小于或等于设定的分值门限的激活路径。
8.根据权利要求7所述的方法,其特征在于,按以下公式计算所述激活
路径的得分:
激活路径的得分=∑激活路径上每个字符的相似度/激活路径上的字符
个数。
9.根据权利要求7所述的方法,其特征在于,所述方法还包括:
在所述激活路径到达一个节点后,计算所述节点的可信度;
如果所述可信度小于设定的可信度门限,则将所述节点转为未激活状态。
10.根据权利要求9所述的方法,其特征在于,按以下公式计算所述节点
的可信度:
节点的可信度=(激活路径的得分+min(节点最大高度,剩余字数))/(激
活路径当前字数+min(节点最大高度,剩余字数));
节点最大高度=max(所有子节点高度)+1。
11.根据权利要求7所述的方法,其特征在于,所述方法还包括:
在将所述关键词信息作为检索结果展现给所述用户之前,计算每个检索结
果的匹配得分;
按得分高低对所述检索结果进行排序输出。
12.根据权利要求11所述的方法,其特征在于,按以下公式计算检索结
果的匹...

【专利技术属性】
技术研发人员:石峰吴维昊郏全史峰路雪玲张磊聂小林
申请(专利权)人:安徽科大讯飞信息科技股份有限公司
类型:发明
国别省市:

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

1