电子导航系统的信息检索装置的制作方法

文档序号:6611833阅读:171来源:国知局
专利名称:电子导航系统的信息检索装置的制作方法
技术领域
本发明涉及电子导航领域,尤指一种电子导航系统的信息检索装置。
技术背景现有的车载卫星导航系统li4者財是供了在导航电子地图数据库中的信息检索方 法,包括接收输入的检索词;在^M元电子地图数据库中找出与检索词相匹配字段; 显示出与所述字段相关的信息。所述^^电子地图数据库用于存放电子地图的信息, 例如地点的名称、坐标等等。3tt技术的缺点是由于采用在数据库中找出与检索词相匹配的字段,也就是 将检索词的所有字符作为一个关键字^ii^亍匹配,例如用户输入"中国科学院国 家计划委员会i&里研究所"这个检索词,在数据库中找到与"中国科学院国家计划 委员会地理研究所,,完H丈的字段,如若用户不id寻全称,只是其中的几个字如 "国家计划委员会",那么,现有技术^+企索不出来,因此玉贿技^a企索精度低。发明内容本发明要解决的问^i是供一种检索精度高的电子^^元系统的信息检索装置。为了解决上述问题,本发明电子导^t系统的信息检索装置包括 输入单元,用于接收检索词;分词单元,用于对所述输入单元接收的检索词进行分词处理以获得若干词元; 匹配单元,用于在导航电子地图数据库中找出所述检索词或者所述词元匹配的 字段;显示单元,用于显示与所述匹配单元找出的字段相关的信息。所述分词单元进一步包括词汇判断单元,判断检索词是否为可分类词汇;查找单元,若检索词为可分类词汇,则在指针集合中查找脸索词,若为一般词 汇,则在词库集合中查找检索词;第 一判断单元,用于判断所述查找单元是否找到所述检索词;检索词处理单元,若从所述第一判断单元接收的信息为"否"则减小所述检索 词的长度并将减'J 、长#的检索词送给所述查找单元;存放单元,用于存^^斤述检索词处理单元截取掉的字符和将查找到的检索词作 为一个词元存々者;第二判断单元,判断所述存放单元中是否还有未分词的部分,若还有则将未分 词的部分送给所述查找单元,否则将词元输出。 所述显示单元进一步包括排序单元,用于按照匹酉己度的高^^"所述匹配单iU企索出的字段进行排序; 相关显示单元,用于按照排序单元所排的顺序显示与所述字段相关的信息。 与现有技斜目比,本发明电子导航系统的信息检索装置的有益效果为 由于采用了分词处理,缩短了信息检索的响应时间,使得用户不用输入全称即 可检索到所需信息,大大提高了检索精度。


图l是本发明电子导航系统的信息检索装置的结构图; 图2是图1中的分词单元的结构示意图; 图3是词库结构示意图; 图4是词库的举例示意图。Jr^实施方式如图l所示,本发明电子导航系统的信息检索装置包括 输入单元100,用于接收4企索词;分词单元101,用于对所述检索词进行分类并进行分词处理以获得若干词元;匹配单元102,用于在数据库中找出与所述检索词或者所述词元匹配的字段,显示单元103,用于显示与所述匹配单元102找出的字段相关的信息。所述分词单元101进一步包括词汇判断单元1015,判断检索词是否为可分类词汇;查找单元1010,对于可分类词汇,在指针集合中查拔险索词;对于一般词汇,在整个词库集合中查找脸索词;第一判断单元ioil,用于判断所述查找单元1010是否找到所述检索词; 检索词处理单元1012,若从所迷第一判断单元1011接收的信息为"否,,则减小所述检索词的长度并将减小长度后的检索词送给所述查找单元1010;存放单元1013,用于存》"斤述检索词处理单元1012截取掉的字符和将查找到 的检索词作为 一个词it^储;第二判断单元1014,判断所述存放单元1013中是否还有未分词的部分,若还 有则将未分词的部分送给所述查找单元1010,否则将词元输出。所述显示单元103进一步包括排序单元1030,用于按照匹配度的高^^j"所述匹配单元102检索出的字段进行 排序;相关显示单元1031,用于按照排序单元所排的顺序显示与所述字段相关的信自其中,实现词汇判断单元1015的伪代码为:String key = "^:索词";Int length = key.length();String type = key.subString(length _ 2);Dictionary die = new Dictionary ("SDIC加");HashMap hm = new HashMap()while((s = in.readLine()) != null)words = s.split("\t"); Integer freq = new Integer(words[l]); hm.put(words[O], freq);〃得到检索词的字符串长度 〃取得检索词的最后两个字 //加载类别表〃存入类别名称boolean bfind = hm.containsKey(type); 〃是否4戈到类别名称实现查找单元1010的伪代码为Stringkey-"检索词";Set resulted ="得到的检索集合,,; //若为可分类词汇,则此集合为该类别 的指针集合,若为一般词汇,则此集合指整个词库中的内容boolean bool = resultset.containsKey(key); 〃判断才企索词是否在检索集合中 实现检索词处理单元1012的伪^/马为 String key ="检索词"; If(没有找到纟全索词){key=原4企索词长度减小1后的结果;执行1010单元;}现假设用户输入的检索词是"中国人民银行,,实现排序单元1030的伪^/马为: int num =用户输入的检索词经过分词后得到的词元个数; int[]length=每个词元的字符串长度; intlen=搜索出的每个记录的名字长度; if(num=l){ //分词结果为该词本身 len与length比较。len越大,结果越靠后;〃实现"中国人民银行"排在"中国人民银行昌平分行"前面的功能 else {num越大,表示该记录包含的词元数量越多,结果应靠前显示。当num—样时,则比较记录的长度,长度小的靠前显示;//实现"中国人民银行昌平分行',排在"中国人民银行建设路分行"前面的功能}其中,所述可分类词汇指可划分到某个行业种类里面的词汇。例如4全索词为 "王府饭店",则这个检索词就为可分类词汇,其类型名称为饭店。" ^充信息检索的特点之一为,用户检索的内容95%以上为各种地点的名称,而 中文短句的中心词通常是i^两个字,例如x xi^, x x宾馆,利用这个特点, 首先在词库中建立一个类别表,里面存放"饭店","宾馆","超市"等类型名称。 进行类型判断时首先取出检索词的最后两个字,在类别表中查找,如果找到,则该 检索词属于可分类词汇,类型名称为^r索词的最后两个字。传统的词库都是按照词元的汉语拼音字母的顺序进行排序,本系统的词库采用 类别和字母顺序相结合的方式进#^司元的排序。对于可分类词汇,每个类别内部以 及各个类别之间的词元采用汉语拼音字母的顺序进行排序,并且分布在词库中词元 列表的前面,减少可分类词汇的检索时间;对于一般词汇,则只按照词元的汉语拼 音字母的顺序进行排序,并且分布在可分类词汇的后面。 词库中内容的片断截取如下银行14—1 (可分类词汇)中国工商 14—1—1 中国建设 14—1—2 中国农业 14 1 3癌23—1 (—般词汇)癌细胞 23_2癌症23—3癌肿23—4矮23—5彬委23—6矮秆作物23—7类别4^要负责记录各种类别及其索引编号,以供查找。类别表的结构大体与 词库相似,但内容要少很多,所以查询类别表花费的时间很少,M可以忽略。 类别表内容的片断截取如下 商场 10—1 超市 10_2 专卖店10_3如图3所示,词汇分类时采用从大类到小类的方式进行分类,也方便进行词库 的管理。根据日常生活的特点,首先确定几个大的类别,为每一个大类确定一个索 引前缀,目的是唯一标识此大类,以便添加更小的类别(如娱乐休闲,索引前缀 为11);然后对此大类进行进一步细分,划分出更加详细的小类别,并JMl大类索 引前缀的后面添加类别编号,完成此小类的索引前缀(如酒吧,索引前缀为11_2)。对于词库,以"4Mt"为例,它属于一个小类别,对应的大类为"金i財几构", 其索引前缀为"14","银行"在大类中的编号是'T,,这样,就可以确定"银行,, 这一小类别的索引前缀为"14—1"。然后为"银行"这一类别中添加M内容和索引指针, 例如 (名称)(指针/指针集合)银行14—1, 14—1—1, 14—1—2, 14—1—3... 中国工商 14_1—1 中国建设14_1—2 中国农业 14 1 3例如用户开始输入的检索词为"北京威帝科技九复",ii/v分词单元,首先进 4亍检索词的类型判定,经过分析判定为建筑物(索引前缀20,如图3和4所示)-大 厦(索引前缀20—13,如图3和4所示),在词库中查找凄史据区域为"大厦"的词元, 得到该索引区域的指针集合。在指针集合中查找"北京威帝科技",集合中如果没有 找到这个词,则字符串长度减小一个字,变成"北京威帝科,,,再去集合中查找,如 果没有,再减小一个,变成"北京威帝",这次如果在词库中找到了这个词,则"北 京威帝"是分词结果的一部分;现在用户输入的检索词经过分词只剩下了 "科技", 将"科技"这个词继续在指针集合中查找,如找到,则最终将用户输入的检索词分 词为"北京威帝","科技","大厦",若在指针集合中无法找到与"北京威帝科技" 相关的内容,贝'j将"北京威帝科技:Ur作为一般词汇,进fri司库查找。分词成功 后,在导航电子地图数据库中查找出所有包含"北京威帝","科技","大厦"三个 关键字的记录,并按照与用户输入的检索词"北京威帝科技;Ur'的匹酉己度高4诚 行排序,然后:l巴结果显示给用户。例如在"f^元电子地图数据库中检索有关"中国人民银行',的信息,输入单元100 接收检索词"中国人民银行,,后,首先对检索词进行分类,分类结果为金融场所(索 引前缀15)-银行(索引前缀15」4),将分类结果送给查找单元1010,查找单元1010 取得"银ft"的索引区域的指针集合,并在指针集合中查找是否存在该词,如果某 个指针对应的数据区域内容刚好是"中国人民"则分词结束;如果所有指针对应的 数据区域内紹P不满足"中国人民",则逐个减小"中国人民,,字符串的长度,在指 针集合中查找,如仍然没有找到,则将"中国人民4Mt"作为一般词汇进^+企索, 得到最终的分词结果。综上所述,由于本发明将检索词进行分词处理得到若干词元,将词元作为关键 字在扭电子数据库中检索,能够检索到更多的信息,从而大大提高了检索的效率 和精度。
权利要求
1、一种电子导航系统的信息检索装置,其特征在于,包括输入单元,用于接收检索词;分词单元,用于对所述输入单元接收的检索词进行分词处理以获得若干词元;匹配单元,用于在导航电子地图数据库中找出所述检索词或者所述词元匹配的字段;显示单元,用于显示与所述匹配单元找出的字段相关的信息。
2、 如权利要求l所述的电子"fM元系统的信息检索装置,其特4球于,所述分 词单元进一步包括词汇判断单元,判断一企索词是否为可分类词汇;查找单元,若检索词为可分类词汇,则在指针集合中查找检索词,若为一般词 汇,则在词库集合中查^^:索词;第一判断单元,用于判断所述查找单元是否找到所述;险索词;4全索词处理单元,若A/^斤述第一判断单iU妻收的信息为"否"则减小所述检索 词的长度并将减'J 、长度后的纟全索词送给所述查找单元;存放单元,用于存;j好斤述检索词处理单元截取掉的字符和将查找到的检索词作 为一个词^t^诸;第二判断单元,判断所述存放单元中是否还有未分词的部分,若还有则将未分 词的部分送给所述查找单元,否则将词元输出。
3、 如权利要求2所述的电子^^元系统的信息检索装置,其特4i^于,所^ 示单元进一步包括排序单元,用于按照匹配度的高^^于所述匹配单iti全索出的字段进行排序; 相关显示单元,用于按照排序单元所排的顺序显示与所述字段相关的信息。
全文摘要
本发明公开一种电子导航系统的信息检索装置包括输入单元,用于接收检索词;分词单元,用于对所述输入单元接收的检索词进行分词处理以获得若干词元;匹配单元,用于在导航电子地图数据库中找出所述检索词或者所述词元匹配的字段;显示单元,用于显示与所述匹配单元找出的字段相关的信息。采用本发明的技术方案使得不用输入全称即可检索到所需信息,从而大大提高了检索的响应时间和精度。
文档编号G06F17/30GK101131326SQ20071014525
公开日2008年2月27日 申请日期2007年8月17日 优先权日2006年8月25日
发明者姜德荣, 孙竹平 申请人:高德软件有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1