著录项信息
专利名称 | 一种POI的容错搜索方法 |
申请号 | CN201010272956.9 | 申请日期 | 2010-08-31 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2012-03-21 | 公开/公告号 | CN102385597A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F17/30 | IPC分类号 | G;0;6;F;1;7;/;3;0查看分类表>
|
申请人 | 厦门雅迅网络股份有限公司 | 申请人地址 | 福建省厦门市软件产业基地观日路46号
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 厦门雅迅网络股份有限公司 | 当前权利人 | 厦门雅迅网络股份有限公司 |
发明人 | 胡涛;季刚;时宜;程行荣 |
代理机构 | 厦门市新华专利商标代理有限公司 | 代理人 | 朱凌 |
摘要
本发明一种POI容错搜索的方法,是在习有的汉字分词索引的基础上建立全拼索引,只有在用户输入的汉字关键字通过汉字分词索引出现无搜索结果的时候,进一步将该关键字转换成对应的全拼组合,利用全拼索引搜索算法查找出与所述关键字拼音相同或相似的POI结果;本发明弥补了传统搜索算法的不足,能够在用户错误输入搜索关键字的同音字的情况下,返回满足用户要求的结果,提高了POI搜索的容错能力。
1.一种POI的容错搜索方法,其特征在于:在习有的汉字分词索引的基础上建立全拼索引,只有在输入的汉字关键字通过汉字分词索引出现无搜索结果的时候,进一步将关键字转换成对应的全拼组合,利用全拼索引搜索算法查找出与所述关键字拼音相同或相似的POI结果;
所述的建立全拼索引,就是根据GBK字库统计出汉字标准发音的种类,并将该标准发音按照字典排序方式排序,形成全拼索引项表;然后查看POI信息中各个汉字的发音,如果汉字的发音与全拼索引项表中某个发音相同,就将此POI信息的编号插入到全拼索引项表对应发音的表中,依次建立POI全拼索引;
所述的全拼索引搜索算法,就是分别将全拼组合中每个字的拼音与全拼索引项表进行匹配,获得包含POI信息的索引号,再取交集得到包含POI结果的索引号,并计算POI结果的权值,将这个权值作为排序的依据。
2.根据权利要求1所述的一种POI的容错搜索方法,其特征在于所述的POI结果的权值的计算方法如下:
如果检索出来的POI结果名字的全拼和关键字的全拼完全匹配,则此POI结果的权值为
1;
如果检索出来的POI结果名字的全拼和关键字的全拼前缀匹配,则此POI结果的权值为
2;
如果关键字的全拼在POI结果名字的全拼中的中间或者后缀,则此POI结果的权值为3;
如果关键字的全拼在POI结果名字的全拼中都有,并且是按照顺序排序的,这样的POI结果的权值就是4;
如果关键字的全拼在POI结果名字的全拼中都有,但先后顺序不同,这样的POI结果的权值为5;
最后,按照POI结果的权值从1至5进行排序。
一种POI的容错搜索方法\n技术领域\n[0001] 本发明属于信息检索技术领域,尤其涉及一种POI(兴趣点)的容错搜索方法。\n技术背景\n[0002] 当前社会信息的快速增长给人们的生活带来的巨大的变化。人们身边都充斥着大量的信息,在这些海量信息中快速找到需要的信息,将很大程度地提高人们的工作效率。信息检索技术的出现,逐步满足了人们的要求。\n[0003] 信息检索一词出现于20世纪50年代,又称为信息存储与检索或者情报检索,是指将信息按照一定的方式组织和存储起来,并根据信息用户的需要找出有关信息的过程和技术。也就是说,包括“存”和“取”两个环节和内容,狭义的信息检索就是信息检索过程的后半部分,即从信息集合中找到所需要的信息的过程,也就是我们常说的信息查询\n(Information Search或Information Seek)。\n[0004] 信息检索的主要环节如下:\n[0005] 信息内容分析和编码,产生信息记录及检索标识;\n[0006] 组织存储,将全部记录按照文件、数据库等形式组成有序的信息集合;\n[0007] 用户提交搜索请求,搜索和检索结果的输出。\n[0008] 关键部分是信息提问和信息集合的匹配和选择,即对给定检索请求与集合中的记录进行相似性比较,根据一定的匹配标准选出有关信息。\n[0009] POI(兴趣点)搜索是导航产品中重要的组成部分,而POI的数量达到了千万,面对如此巨大的信息量,需要使用信息检索技术来组织和检索POI的信息。\n[0010] 通常,POI的原始数据由地图厂商提供,我们根据导航产品的实际情况重新组织和存储数据,建立索引文件。\n[0011] 传统的检索技术基于关键词匹配进行检索,往往存在查不全,查不准,检索质量不高的现象。特别是在POI检索方面,用户在导航之前需要查找目的地,而往往用户在需要导航的时候,经常是在一个陌生的地方,当查找某个POI的时候,用户很可能并不知道POI准确的名字,这就增加了用户输入错误关键字的可能性。传统的方法只根据用户输入的关键字去搜索,很可能得不到用户想要的结果,\n发明内容\n[0012] 本发明的目的在于提供一种当用户输入与POI信息发音相同或相似的错误关键字时,仍能返回满足用户要求的POI结果的容错搜索方法。\n[0013] 本发明一种POI的容错搜索方法,是在习有的汉字分词索引的基础上建立全拼索引,只有在输入的汉字关键字通过汉字分词索引出现无搜索结果的时侯,进一步将关键字转换成对应的全拼组合,利用全拼索引搜索算法查找出与所述关键字拼音相同或相似的POI结果。\n[0014] 所述的建立全拼索引,就是根据GBK字库统计出汉字标准发音的种类,并将该标准发音按照字典排序方式排序,形成全拼索引项表;然后查看POI信息中各个汉字的发音,如果汉字的发音与全拼索引项表中某个发音相同,就将此POI信息的编号插入到全拼索引项表对应发音的表中,依次建立POI全拼索引。\n[0015] 所述的全拼索引搜索算法,就是分别将全拼组合中每个字的拼音与全拼索引项表进行匹配,获得包含POI信息的索引号,再取交集得到包含POI结果的索引号,并计算POI结果的权值,将这个权值作为排序的依据。\n[0016] 所述的POI结果的权值的计算方法如下:\n[0017] 如果检索出来的POI结果名字的全拼和关键字的全拼完全匹配,则此POI结果的权值为1;\n[0018] 如果检索出来的POI结果名字的全拼和关键字的全拼前缀匹配,则此POI结果的权值为2;\n[0019] 如果关键字的全拼在POI结果名字的全拼中的中间或者后缀,则此POI结果的权值为3;\n[0020] 如果关键字的全拼在POI结果名字的全拼中都有,并且是按照顺序排序的,这样的POI结果的权值就是4;\n[0021] 如果关键字的全拼在POI结果名字的全拼中都有,但先后顺序不同,这样的POI结果的权值为5;\n[0022] 最后,按照POI结果的权值从1至5进行排序。\n[0023] 本发明一种POI容错搜索方法,是在习有的汉字分词索引的基础上建立全拼索引,只有在用户输入的汉字关键字通过汉字分词索引出现无搜索结果的时候,进一步将该关键字转换成对应的全拼组合,利用全拼索引查找出与所述关键字拼音相同或相似的POI结果;\n本发明弥补了传统搜索算法的不足,能够在用户错误输入搜索关键字的同音字的情况下,仍然可以返回满足用户要求的结果,提高了POI搜索的容错能力。\n附图说明\n[0024] 图1为本发明中倒排文件索引结构;\n[0025] 图2为本发明的流程示意图。\n[0026] 以下结合附图和具体实施例对本发明作进一步详述。\n具体实施方式\n[0027] POI搜索是建立在索引文件的基础上实施的。POI搜索面对大量用户的检索请求,尽可能地将大运算量的工作在索引建立时完成,检索时运算尽可能的少,对POI索引文件结构采用倒排索引技术,如图1所示。\n[0028] 倒排文件是大型信息检索中使用最广泛的文件索引方式,“倒排”表示依据检索属性来列举相关文件,对POI搜索系统来说,倒排文件就是描述一个索引项集合元素和一个POI集合元素对应关系的数据结构。\n[0029] 创建倒排索引包括建立正向索引和反向索引。分析完POI源数据后,得到以POI源数据为主键的正向索引表,如图1(a)所示。当反向索引建立后,得到图1(b)。这是一个表重组的过程,最终得到以索引词为主键的最终的倒排文件索引,即反向索引。\n[0030] 一般的POI搜索都支持关键字的搜索,都建立了关键字的分词索引,用户输入关键字,搜索服务器在索引文件中查找相应的结果。在输入错误的情况下,不能找到用户想知道的POI信息。例如,厦门的地名“扬厝”,不熟悉的用户可能错误地输入成“羊厝”或“杨厝”,由于没有这样的POI信息,所以就找不到搜索结果。\n[0031] 本发明一种POI的容错搜索方法,主要是在习有的汉字分词索引的基础上建立全拼索引,只有在输入的汉字关键字通过汉字分词索引出现无搜索结果的时侯,进一步将关键字转换成对应的全拼组合,利用全拼索引搜索算法查找出与所述关键字拼音相同或相似的POI结果。\n[0032] 按照信息检索的方法,具体实施过程分为数据的组织和用户检索的过程.具体包括以下几个步骤:\n[0033] (1)建立全拼索引\n[0034] 由于POI搜索是基于文件搜索方式实现的,本发明建立全拼索引,就是将所有的POI信息,按发音相同或者相似的要求组织成为一个索引文件存放。目前,电脑上用到的汉字字库一般都支持GBK字库,该GBK包含了20902个汉,涵盖了大陆GBK2312简体字和台湾BIG5繁体字。\n[0035] 根据GBK字库汉字发音的统计,目前汉字的发音为414种(去除音调的不同),在建立全拼索引时,先将这414种标准发音按照字典排序方式排序,形成全拼索引项表;\n[0036] 然后查看POI各个汉字的发音,如果汉字的发音与全拼索引项表中某个发音相同,就将此POI的编号插入到此项的表中,按照此方法完成POI全拼索引。\n[0037] 在建立全拼索引文件的时候,也要注意发音相似的情况,特别是如下的发音:\n[0038] 加h卷舌音:如z,c,s与zh,ch,sh的区别;\n[0039] 汉字拼音后面有无g的情况:如shan和shang;\n[0040] 汉字拼音中n和l的区别.如nian和lian。\n[0041] 以下结合具体例子来说明全拼索引的建立方法。\n[0042] 例如:POI原始数据如下(只取名字和全拼字段,其他信息略)\n[0043] POI信息:肯德基(ken de ji)\n[0044] 在建立全拼索引的时候,已经知道414个标准拼音的顺序,如POI信息“肯德基”有三个发音ken、de、ji,ken在全拼索引项表中为154位,de在全拼索引项表中为64位,ji在全拼索引项表中为133位,所以POI信息“肯德基”的索引号就分别加入到全拼索引项表的这三个位置上,其他的POI在建立索引的时候用相同的方法来组织数据。\n[0045] (2)全拼索引搜索算法的实现\n[0046] 如图2所示,当用户输入汉字关键字,通过汉字分词索引进行搜索,若无搜索结果,则将该关键字转换成全拼组合,分别将全拼组合中每个字的拼音与全拼索引项表进行匹配,获得包含POI信息的索引号,再取交集得到包含POI结果的索引号。当含有多音字的时候,需要转换成若干组的全拼组合,并将该多音字的多个全拼组合分别进行搜索,这样可以提高返回POI信息的准确度。\n[0047] 如用户输入关键字“肯德鸡”,首先直接按照这个关键字通过汉字分词索引进行搜索,将得不到结果;本发明进一步将“肯德鸡”转换成它的全拼组合“ken”,“de”,“ji”,按照全拼索引,分别找到第154位的“ken”,64位的“de”和133位的“ji”,分别取出它们包含的POI结果信息的索引号,再取交集,这样就可以找到POI结果的索引号,以及此索引号对应的POI信息“肯德基”,并且此POI结果的权值为1。\n[0048] (3)搜索结果排序\n[0049] 搜索结果排序是搜索算法很重要的组成部分,是将最后满足检索要求的搜索结果呈现给用户,好的排序能够给用户带来较好的体验。\n[0050] 搜索结果排序的时候,先计算满足要求POI结果的权值,将这个权值作为排序的依据。\n[0051] 所述的POI结果的权值的计算方法如下:\n[0052] 如果检索出来的POI结果名字的全拼和关键字的全拼完全匹配,则此POI结果的权值为1;\n[0053] 如果检索出来的POI结果名字的全拼和关键字的全拼前缀匹配,则此POI结果的权值为2;\n[0054] 如果关键字的全拼在POI结果名字的全拼中的中间或者后缀,则此POI结果的权值为3;\n[0055] 如果关键字的全拼在POI结果名字的全拼中都有,并且是按照顺序排序的,这样的POI结果的权值就是4;\n[0056] 如果关键字的全拼在POI结果名字的全拼中都有,但先后顺序不同,这样的POI结果的权值为5;\n[0057] 最后,按照POI结果的权值从1至5进行排序。\n[0058] 例如:\n[0059] 格式为<搜索关键字>VS
\n[0060] <肯德鸡>VS<肯德基>,此POI结果的权值为1;\n[0061] <肯德鸡>VS<肯德基远大路店>,此POI结果的权值为2;\n[0062] <肯德鸡>VS<北京肯德基远大路店>,此POI结果的权值为3;\n[0063] <亚讯>VS<亚马迅巴西烧烤>,此POI结果的权值为4;\n[0064] <海沧建行>VS<中国建设银行海沧支行>,此POI结果的权值为5。\n[0065] 本发明的发明重点在于:在习有的汉字分词索引的基础上建立全拼索引,只有在用户输入的汉字关键字通过汉字分词索引出现无搜索结果的时候,进一步将该关键字转换成对应的全拼组合,利用全拼索引搜索算法查找出与所述关键字拼音相同或相似的POI结果;本发明弥补了传统搜索算法的不足,能够在用户错误输入搜索关键字的同音字的情况下,返回满足用户要求的结果,提高了POI搜索的容错能力。法律信息
- 2016-04-27
- 2013-07-03
实质审查的生效
IPC(主分类): G06F 17/30
专利申请号: 201010272956.9
申请日: 2010.08.31
- 2012-03-21
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2010-08-04
|
2010-03-02
| | |
2
| |
2010-03-31
|
2008-09-24
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |