一种名称查询的方法及系统的制作方法

文档序号:5834293阅读:118来源:国知局
专利名称:一种名称查询的方法及系统的制作方法
技术领域
本发明涉及通信领域,尤其涉及一种名称查询的方法及系统。
技术背景现有全球定位系统(Global Positioning System, GPS )导航软件中的兴趣点 (point of interest, POI)名称查询系统,具有如下缺点1、 现有的POI名称查询系统不能按POI名称中简单关键字/词查询,导致 查询不够灵活,局限性4艮大,如在北京查询"北大",就不可能查到"北京大学" 这个POI名称;2、 现有POI名称查询系统没有处理有错别字的查询功能,如在北京查询"青 华大学",就不可能查询到"清华大学"这个POI名称;3、 现有POI名称查询系统也没有处理有同音字的查询功能,如在北京查询 "啃得基",就不可能查询到"肯德基"这个POI名称;此外,因为现有POI名称查询系统的查询结果返回顺序没有和查询内容关 联起来,使得查询过程緩慢,而且返回的查询结果有很多不相关的信息,从而 可能会使最佳的查询结果排在众多不相关信息的后面,让人花更多的时间查看, 甚至有可能错过最佳查询结果。发明内容本发明所要解决的技术问题在于,提供一种名称查询的方法及系统,能实 现在输入要查询的名称对应的字符串后,根据该输入的字符串与数据库中目标 字符串匹配度值大小,输出所述目标字符串对应的名称,以返回最佳的查询结 果。本发明的实施例提供了 一种名称查询的方法,包括下列步骤 输入与要查询的名称对应的字符串;比较所述输入的字符串与数据库中目标字符串的匹配程度,计算并返回所 述输入的字符串与所述数椐库中目标字符串的匹配度值;根据所述匹配度值的大小,输出所述目标字符串对应的名称。本发明的实施例还提供了一种名称查询系统,包括 名称输入单元,用于输入与要查询的名称对应的字符串; 存储单元,用于存》欠名称,及与该名称对应的目标字符串的数据库; 匹配度值计算单元,用于将所述输入的字符串与所述存储单元中目标字符串匹配程度进行比较,计算并返回所述输入的字符串与所述目标字符串的匹配度值;名称输出单元,用于根据所述匹配度值的大小,输出所述存储单元中与所述目标字符串对应的名称。采用本发明实施例提供的名称查询的方法及系统,有如下有益效果 通过输入与要查询的名称对应的字符串后,根据该输入的字符串与数据库中目标字符串匹配度值大小,输出所述目标字符串对应的名称,从而可以根据用户输入的要查询的名称中关键字/词、名称的简称都能够查询到用户想要查询 的名称,即使输入的字符串对应名称中带个别错别字和少量同音字的情况,也 能查询到用户想要查询的名称,从而提高了用户满意度。


图l是本发明实施例一提供的一种名称查询的方法示意图; 图2是本发明实施例一中匹配度值计算步骤的流程图; 图3是本发明实施例二中匹配度值计算步骤的流程图; 图4是本发明实施例三中匹配度值计算步骤的流程图; 图5是本发明实施例四提供的一种名称查询系统示意图。 图6是本发明实施例五提供的一种名称查询系统示意图。 图7是本发明实施例六提供的一种名称查询系统示意图。 图8是本发明实施例七提供的一种名称查询系统示意图。
具体实施方式
为了使本发明所要解决的技术问题、技术方案及有益效果更加清楚明白, 以下结合附图及实施例,对本发明进行进一步详细说明。应当指出,此处所描 述的具体实施例仅仅用以解释本发明,并不用于限定本发明。如图1所示,本发明实施例一提供了一种名称查询的方法,包括下列步骤101. 输入与要查询的名称对应的字符串;102. 与数据库中目标字符串比较,计算并返回匹配度值;具体可为通过 所述输入的字符串与数据库中目标字符串匹配程度的比较,计算并返回所述输 入的字符串与数据库中目标字符串的匹配度值,这里所说的匹配程度可考虑输 入的字符串与目标字符串中相同字符的个数、相同字符的出现顺序、相同各字 符的前后位置等因素,根据各因素指示的不同的匹配程度,计算得到对应的匹 配度值;103. 比较所述匹配度值大小,并按该匹配度值大小排序各匹配度值对应的 所述目标字符串,具体实现时,可以列表的形式进行排序,该列表的元素可以 包括匹配度值、目标字符串等信息,对匹配度值相对较大的目标字符串可排列 靠前,以方便用户查看、选择;104. 输出所述排序的目标字符串对应的名称,具体实现时,可采用一用户 界面输出所述排序的目标字符串对应的名称,如POI名称查询系统的显示界面。作为一种实施方式,所述步骤102中还包括201,根据所述输入的字符串长度,依次从所述输入的字符串中提取一个字符;202, 比较所述提取的字符在所述目标字符串中是否有相同字符,确定每一 个提取的字符对应的子匹配度值,具体实现时,在获得输入的字符串与目标字 符串中相同字符之后,还可以考虑相同字符的个数、相同字符的出现顺序、相 同各字符的前后位置等因素;203, 相加所述输入的字符串中每一个字符对应的子匹配度值,得到并返回 所述输入的字符串与所述目标字符串的匹配度值。如图2所示,本发明实施例一所提供的匹配度值计算步骤包括301、 计算输入字符串长度Length,置计数器值i = 0;302、 计数器i自加l后,判断i是否大于输入字符串长度Length,若是, 执行步骤306,否则执行步骤303;303、 按顺序依次从输入的字符串中提取一个字符;304、 在数据库的目标字符串中查找判断是否有当前提取的字符,如果在目 标字符串中找到该当前提取的字符,则返回并保存其在目标字符串中的位置,之后,确定该当前提取的字符的子匹配度值为Y,其中Y表示一个的匹配度度 量基准值(Y为大于零的整数),Y的设定可根据实际情况选择适用,在下述内 容中同样使用该匹配度度量基准值,如果在目标字符串中没有找到相同字符, 则返回的子匹配度值为零,对根据i自力。1后提取的每个字符均进行本步骤的处 理,以确定所述每个提取的字符的子匹配度值;305、 相加所述每个提取的字符的子匹配度值,得到所述输入的字符串与 所述目标字符串的匹配度值,执行步骤302;306、 返回所述输入的字符串与所述目标字符串的匹配度值。 例如输入字符串为"ahb",目标字符串为"abcdaes"、 "aksaes",按照上述计算匹配度值的步骤,返回的输入字符串"ahb"与目标字符串"abcdaes"的匹 配度值为2Y,返回的输入字符串"ahb"与目标字符串"aksaes"的匹配度值为 Y。采用本发明实施例一所提供的名称查询方法,可通过简单比较输入字符串 与目标字符串中是否有相同字符来确定匹配度值,从而输出所述目标字符串对 应的名称,查询过程简单快捷。本发明实施例二提供的 一 种名称查询的方法,与实施例 一 的区别在于计算 输入的字符串与目标字符串的匹配度值的方式不同,本发明实施例二中计算输 入的字符串与目标字符串的匹配度值的方式为当比较得到在所迷目标字符串 中有字符与当前提取的字符匹配时,判断所述当前提取的字符是否在前一个匹 配的字符之后但不相邻,或是否在前一个匹配的字符之后且相邻,并根据该比 较结果指示的所述输入的字符串与数据库中目标字符串匹配程度,确定所述当 前提取的字符对应的子匹配度值。如图3所示,本发明实施例二所提供的匹配度值计算步骤包括401 、计算输入字符串长度Length,置计数器值i = 0;402、 计数器i自力口l,判断i是否大于输入字符串长度Length,若是,则执 行步骤408,否则执行步骤403;403、 按顺序依次从输入的字符串中提取一个字符;404、 在数据库的目标字符串中查找判断是否有与当前提取的字符相匹配的 字符,若有,则返回其在目标字符串中的位置,并保存相应的位置,再执行下 一步,否则返回子匹配度值为零;405、 如果找到一个与目标字符串中位置对应的相同字符,且该字符在前一 个找到的字符之后并相邻,则返回子匹配度值为3Y,再执行步骤407;406、 如果找到的字符在前一个找到的字符之后但不相邻,则返回子匹配度 值为2Y,否则返回子匹配度值为Y;407、 相加子匹配度值,执行步骤402;408、 返回匹配度l直。例如输入字符串为"ahb",目标字符串为"abcdaes"、 "aksaes,,,按照上述 实施例二中匹配度值的计算方法,返回的输入字符串为"ahb"与目标字符串 "abcdaes"的匹配度值为3Y+0+Y,返回的输入字符串为"ahb"与目标字符串 "aksaes"的匹配度值为3Y+0+0。采用本发明实施例二所提供的名称查询方法,能根据输入字符串与目标字 符串中字符位置关系的比较,更精确的得出相应匹配度值,从而输出所述目标 字符串对应的名称。本发明实施例三提供了 一种不同于实施例 一及实施例二中所提供的计算输 入的字符串与目标字符串的匹配度值的方式,不同点在于,实施例三中需判断 所述输入的字符串是否被所述目标字符串包含,如果包含再比较字符串长度以 及与在目标字符出现的顺序是否相同,并根据该比较结果确定所述输入的字符 串的匹配度值;如果不包含,则根据所述输入的字符串长度,依次从所述输入 的字符串中才是取一个字符来比较。如图4所示,本发明实施例三所提供的匹配度值计算步骤包括501、 计算输入字符串长度Length,置计数器值i-O;502、 比较输入的字符串是否被数据库中目标字符串包含,若是,则执行 下一步,否则执行步骤505;503、 比较输入的字符串是否与目标字符串长度一样,若是,则执行下一 步,否则按表达式"Lengthx3Y-l"计算匹配度值,再执行步骤511;504、 比较输入的字符串是否与目标字符串中字符排列的顺序相同,若是, 则按表达式"Length x 3Y+1"计算匹配度值,并执行步骤511,若否,则按表 达式"Lengthx3Y"计算匹配度值,再执行步骤511;505、 计数器值i自加l,判断i是否大于输入字符串长度Length,若是, 则执行步骤510,否则执行下一步;506、 按顺序依次从输入的字符串中提取一个字符;507、 在数据库的目标字符串中查找判断是否有与当前提取的字符相匹配 的字符,若有,则返回其在目标字符串中的位置,并保存相应的位置,再执行 下一步,否则返回子匹配度值为零;508、 如果找到一个与目标字符串中位置对应的相同字符,且该字符在前 一个找到的字符之后并相邻,则返回子匹配度值为3Y,再4丸行步骤510;509、 如杲找到的字符在前一个找到的字符之后但不相邻,则返回子匹配 度值为2Y,否则返回子匹配度值为Y;510、 相加子匹配度值,执行步骤505; 510、返回匹配度值。下面通过一个具体实例来说明实施例三中匹配度值计算的步骤。假设输入 字符串为"abc",目标字符串为"abcdaes"、 "aksacs"。计算输入字符串 "abc" 与目标字符串"abcdaes"匹配度值的具体流程如下(1) 、计算输入字符串长度Length - 3,置计数器值i = 0;(2) 、比较"abc"是否被"abcdaes"包含;(3) 、判断为被包含,则比较"abc"和"abcdaes"两个字符串长度是否相 等,判断为不相等,则匹配度值为Length x3Y-1,返回匹配度值。计算输入字符串为"abc,,与目标字符串"aksacs"匹配度值的具体流程如下(1) 、计算输入字符串长度Length = 3,置计数器值i = 0;(2) 、比较"abc"是否被"aksacs"包含;(3) 、判断为不被包含,则计数器值i自力。1,并判断i是否大于输入字符 串长度Length,若是,则执行步骤(9),否则执行下一步;(4) 、按顺序取出输入字符串"abc"中的一个字符;(5) 、取出第一个字符"a",在目标字符串"aksacs"中查找"a,,,找到后, 记录"a,,在目标字符串"aksacs"中的位置,并继续在目标字符串"aksacs"中 查找"a"的下一个位置,直到"aksacs,,中所有"a"字符都被找到,同时保存"a" 在"aksacs"中的所有位置值1和4。(6) 、因为找到的字符"a"有一个位置值为1,与输入字符串中第一个字符 'a,位置相同,所以该字符子匹配度值为3Y,循环步骤(4),取出第2个字符"b",在目标字符串"aksacs,,中查找"b,,, 没有找到相同字符,返回的子匹配度值为零;循环步骤(4),取出第3个字符"c",在目标字符串"aksacs"中查找"c,,;(7) 、发现字符"c,,在字符串"aksacs"的位置值是5,但没找到前一个字符 "b,,,所以该字符"c"的子匹配度值为Y;(8) 、相加子匹配度值后,这时 "abc"与"aksacs,,的匹配度值为3Y+0+Y;(9) 、返回匹配度值。再举一个查询汉字的例子,输入要查询的字符串"北大",目标字符串为 "北京"、"北京大学",根据上述实施例三中计算输入字符串与目标字符串的匹 配度值的方法,可算得输入的字符串"北大"与目标字符串"北京,,的匹配度 值为3Y+0;输入的字符串"北大,,与目标字符串"北京大学,,返回的匹配度值 为2x3Y-l,由于Y为大于零的整数,因此,2x3Y-1大于3Y+0,即查询结 果"北京大学"排在"北京"的前面。采用本发明实施例三所提供的名称查询方法,能缩短一部分被目标字符串 包含的输入字符串的匹配度值计算时间,进一步提高查询速度。如图5所示,本发明实施例四提供的一种名称查询系统,可用于具有GPS 功能的导航设备或掌上电脑中,该系统主要包括名称输入单元,用于输入与要查询的名称对应的字符串; 存储单元,用于存放名称,及与名称对应的目标字符串的数据库; 匹配度值计算单元,用于将所述输入的字符串与数据库中目标字符串匹配程 度进行比较,计算并返回所述输入的字符串与所述目标字符串的匹配度值,这字符的出现顺序、相同各字符的前后位置等因素,根据各因素指示的不同的匹 配程度,计算得到对应的匹配度值;名称输出单元,用于才艮据所述匹配度值的大小,输出所述目标字符串对应的 名称,具体的,该名称输出单元可为液晶显示面板(Liquid Crystal Display, LCD )等。名称输入单元通过匹配度值计算单元分别与存储单元、名称输出单元相连, 其中名称输出单元具体可包括排序单元和输出单元。所述排序单元用于比较所述匹配度值大小,并按该匹配度值大小排序各匹配度值对应的所述目标字符串。具体的,可以以列表的形式进行排序,该列表的 元素可以包括匹配度值、目标字符串等信息,对匹配度值相对较大的目标字符 串可排列靠前,以方便用户查看/选择。所述输出单元用于输出所述排序的目标字符串对应的名称。具体的,可采用 一用户界面输出所述排序的目标字符串对应的名称,如POI名称查询系统的显 示界面。如图6所示,本发明实施例五提供一种对应于实施例一的名称查询系统。 该名称查询系统包括名称输入单元、存储单元、匹配度值计算单元,及名称输 出单元。具体的,所述匹配度值计算单元包括提取单元,用于根据所述输入的字符串长度,依次从所述输入的字符串中 提取一个字符;比较单元,用于比较在所述目标字符串中是否有字符与所述提取的字符匹 配,并根据该比较结果确定每一个提取的字符对应的子匹配度值;统计单元,用于相加所述输入的字符串中每一个字符对应的子匹配度值, 得到并返回所述输入的字符串与所述目标字符串的匹配度值。本实施例五提供的名称查询系统,可简单比较输入字符串与目标字符串中 是否有相同字符来确定匹配度值,从而输出所述目标字符串对应的名称,查询 过程简单。如图7所示,本发明实施例六提供一种对应于实施例二的名称查询系统。 本发明实施例六与实施例五的区别在于,其匹配度值计算单元中的比较单元还 包括匹配比较单元,用于比较在所述目标字符串中是否有字符与当前提取的字 符匹配;位置比较单元,用于当匹配比较单元比较得到在所述目标字符串中有字符 与当前提取的字符匹配时,比较所述当前提取的字符与前一个匹配的字符的位 置关系,即比较所述当前提取的字符是否在前一个匹配的字符之后但不相邻, 或是否在前一个匹配的字符之后且相邻,例如,字符串"abc",若当前提取字符 为"c",前一个匹配的字符为"a",那么所述当前提取的字符"c"在前一个匹 配的字符"a"之后但不相邻;若当前提取字符为"b",前一个匹配字符为"a", 那么所述当前^是取的字符"b"在前一个匹配的字符"a"之后且相邻;子匹配度值确定单元,用于根据所述位置比较单元的比较结果确定所述当 前提取的字符对应的子匹配度值。本实施例六提供的名称查询系统,由于增加了匹配比较单元、位置比较单 元及子匹配度值确定单元,使得能够根据输入字符串与目标字符串中字符的位 置关系,更精确地得出相应匹配度值,从而输出所述目标字符串对应的名称。如图8所示,本发明实施例七提供了一种对应于实施例三的名称查询系统。本发明实施例七的匹配度值计算单元进一步包括本发明实施例七所提供的名称查询系统,由于增加了预比较单元,所以能 缩短一部分被目标字符串包含的输入字符串的匹配度值计算时间,进一步提高 了查询速度。优选的,所述的名称查询系统可以为兴趣点名称查询系统。 本发明实施例所提供的名称查询方法及系统,通过输入与要查询的名称对 应的字符串后,才艮据该输入的字符串与数据库中目标字符串匹配程度的比较,计算并返回所述输入的字符串与所述目标字符串的匹配度值,并根据所述匹配度值的大小,输出所述目标字符串对应的名称,从而可以根据用户输入的要查询的名称中关^f建字/词、名称的简称都能够查询到用户想要查询的名称,即使输 入的字符串对应名称中带个别错别字和少量同音字的情况,也能查询到用户想要查询的名称,从而提高了用户满意度。另外,本发明实施例所提供的名称查询方法及系统,还可以根据比较所述输入字符串和目标字符串中匹配的字符个数、字符出现的先后顺序,以及位置关系等来确定所述匹配度值,使得名称查询更加精确,并且还可以按所述匹配度值大小排序各匹配度值对应的所述目标字符串,这样与目标字符串对应的用户想查询的名称,就会以一定顺序排列,方便用户查看,进一步提高用户满意度。以上所述是本发明的具体实施方式
而已,当然不能以此来限定本发明之权 利范围,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原 理的前提下,还可以做出若干改进和变动,如根据相似程度,返回不同的匹配 度值;在名称查询系统中,增加网络输入接口和无线输出端口,满足单词数据 库升级和无线传送信息功能等等,这些改进和变动也视为本发明的保护范围。
权利要求
1、一种名称查询的方法,其特征在于,包括下列步骤输入与要查询的名称对应的字符串;比较所述输入的字符串与数据库中目标字符串的匹配程度,计算并返回所述输入的字符串与所述数据库中目标字符串的匹配度值;根据所述匹配度值的大小,输出所述目标字符串对应的名称。
2、如权利要求1所述的名称查询的方法,其特征在于,所述比较所述输入 的字符串与数据库中目标字符串的匹配程度,计算并返回所述输入的字符串与 所述目标字符串的匹配度值的步骤包括根据所迷输入的字符串长度,依次从所述输入的字符串中提取一个字符;比较在所述目标字符串中是否有字符与所述提取的字符匹配,以确定每一 个提取的字符对应的子匹配度值;相加所述输入的字符串中每一个字符对应的子匹配度值,得到并返回所述 输入的字符串与所述目标字符串的匹配度值。
3、如权利要求2所述的名称查询的方法,其特征在于,所述比较在所述目 标字符串中是否有字符与所述提取的字符匹配,以确定每一个提取的字符对应 的子匹配度值的步骤包括当比较得到在所述目标字符串中有字符与当前提取的字符匹配时,比较所 述当前提取的字符与前一个匹配的字符的位置关系,并根据比较结果指示的所 述输入的字符串与数据库中目标字符串的匹配程度,确定所述当前提取的字符 对应的子匹配度值。
4、如权利要求2所述的名称查询的方法,其特征在于,所述根据所述输入 的字符串长度,依次从所述输入的字符串中提取一个字符的步骤之前还包括 判断所述输入的字符串是否被所述目标字符串包含,如果包含则比较所述同,并根据该比较结果指示的所述输入的字符串与数据库中目标字符串匹配程度,确定所述输入的字符串与所述目标字符串的匹配度值;如果不包含则根据所述输入的字符串长度,依次从所述输入的字符串中提 取一个字符,比较在所述目标字符串中是否有字符与所述提取的字符匹配,以 确定每一个提取的字符对应的子匹配度值。
5、 如权利要求1至4中任一项所述的名称查询的方法,其特征在于,所述 根据所述匹配度值的大小,输出所述目标字符串对应的名称的步骤包括比较所述匹配度值大小,并按该匹配度值大小排序各匹配度值对应的所述 目标字符串;输出所述排序的目标字符串对应的名称。
6、 一种名称查询系统,其特征在于,包括 名称输入单元,用于输入与要查询的名称对应的字符串; 存储单元,用于存放名称,及与该名称对应的目标字符串的数据库; 匹配度值计算单元,用于将所述输入的字符串与所述存储单元中目标字符串匹配程度进行比较,计算并返回所述输入的字符串与所述目标字符串的匹配 度值;名称输出单元,用于冲艮据所述匹配度值的大小,输出所述存储单元中与所 述目标字符串对应的名称。
7、 如权利要求6所述的名称查询系统,其特征在于,所述匹配度值计算单 元进一步包括提取单元,用于根据所述输入的字符串长度,依次从所述输入的字符串中 提取一个字符;比较单元,用于比较在所述目标字符串中是否有字符与所述提取的字符匹 配,并根据该比较结果确定每一个提取的字符对应的子匹配度值;统计单元,用于相加所述输入的字符串中每一个字符对应的子匹配度值, 得到并返回所述输入的字符串与所述目标字符串的匹配度值。
8、 如权利要求7所述的名称查询系统,其特征在于,所述比较单元进一步包括匹配比较单元,用于比较在所述目标字符串中是否有字符与当前提取的字 符匹配;位置比较单元,用于当匹配比较单元比较得到在所述目标字符串中有字符 与当前提取的字符匹配时,比较所述当前提取的字符与前一个匹配的字符的位 置关系;子匹配度确定单元,用于根据所述位置比较单元的比较结果确定所述当前 提取的字符对应的子匹配度值。
9、 如权利要求8所述的名称查询系统,其特征在于,所述当前提取的字符 与前一个匹配的字符的位置关系包括所述当前提取的字符在前一个匹配的字符之后但不相邻,或是在前一个匹配的字符之后且相邻。
10、 如权利要求7所述的名称查询系统,其特征在于,所述匹配度值计算 单元进一步包括预比较单元,用于比较判断所述输入的字符串是否被所述目标字符串包含。
11 、如权利要求6至10中任一项所述的名称查询系统,其特征在于,所述 名称输出单元包括排序单元,用于比较所述匹配度值大小,并按该匹配度值大小排序各匹配 度值对应的所述目标字符串;输出单元,用于输出所述排序的目标字符串对应的名称。
全文摘要
本发明公开了一种名称查询的方法,包括步骤输入与要查询的名称对应的字符串;比较所述输入的字符串与数据库中目标字符串的匹配程度,计算并返回所述输入的字符串与所述数据库中目标字符串的匹配度值;根据所述匹配度值的大小,输出所述目标字符串对应的名称。本发明还公开了一种名称查询系统。采用本发明所提供的名称查询方法及系统,可以根据用户输入的要查询的名称中关键字/词、名称的简称都能够查询到用户想要查询的名称,即使输入的字符串对应名称中带个别错别字和少量同音字的情况,也能查询到用户想要查询的名称,从而提高了用户满意度。
文档编号G01C21/34GK101236566SQ20081002664
公开日2008年8月6日 申请日期2008年3月6日 优先权日2008年3月6日
发明者张富斌, 燕青洲, 魏任彬 申请人:宇龙计算机通信科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1