一种地名匹配方法及装置转让专利

申请号 : CN201310034595.8

文献号 : CN103106264B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 程钢卢小平于海洋文运平杨杰

申请人 : 河南理工大学

摘要 :

本发明实施例提供了一种地名匹配方法及装置,将第一地名及第二地名分别分解为专名和通名,并分别计算第一地名的专名与第二地名的专名的相似度及第一地名的通名与第二地名的通名的相似度,再由专名相似度及通名相似度确定第一地名与第二地名的相似度,因为分别考虑到了地名中包括专名和通名的构词方式及通名的语义特征,因此,相比于将地名作为一个字符串的匹配,具有较高的准确性。

权利要求 :

1.一种地名匹配方法,应用于中文地名,其特征在于,包括:将第一地名及第二地名分别分解为专名和通名;

计算所述第一地名的专名与所述第二地名的专名的专名相似度;

计算所述第一地名的通名与所述第二地名的通名的通名相似度;

依据所述专名相似度和所述通名相似度,确定所述第一地名与所述第二地名的相似度;

其中,所述依据所述专名相似度和所述通名相似度,确定所述第一地名与所述第二地名的相似度包括:依据预设的权重计算规则,确定所述专名相似性的第一权重,及所述通名相似性的第二权重;其中,第一权重的权重计算规则为:其中,P为所述专名相似性的第一权重;Sim_lit为所述专名相似度;Sim_sem为所述通名的语义相似度;

依据所述第一权重、第二权重、所述第一地名的专名、所述第一地名的通名、所述第二地名的专名、所述第二地名的通名,计算所述第一地名与所述第二地名的相似度。

2.根据权利要求1所述的方法,其特征在于,所述将第一地名及第二地名分别分解为专名和通名包括:去除第一地名中的非法字符后,将所述第一地名与预设的通名词库进行对比,确定所述第一地名中的通名;

从所述第一地名去除所述第一地名中的通名,得到所述第一地名中的专名;

去除第二地名中的非法字符后,将所述第二地名与所述预设的通名词库进行对比,确定所述第二地名中的通名;

从所述第二地名去除所述第二地名中的通名,得到所述第二地名中的专名。

3.根据权利要求1所述的方法,其特征在于,所述计算所述第一地名的专名与所述第二地名的专名的专名相似度包括:确定所述第一地名的专名与所述第二地名的专名间的中文编辑距离;

依据所述中文编辑距离及所述第一地名的专名的中文长度和所述第二地名的专名的中文长度中的较大者,计算所述第一地名的专名与所述第二地名的专名的相似度。

4.根据权利要求1所述的方法,其特征在于,所述计算所述第一地名的通名与所述第二地名的通名的通名相似度包括:确定所述第一地名的通名与所述第二地名的通名间的语义距离、概念深度、概念密度及关系类型;

依据所述语义距离、概念深度、概念密度及关系类型计算所述通名的语义相似度。

5.一种地名匹配装置,应用于中文地名,其特征在于,包括:地名分解模块,用于将第一地名及第二地名分别分解为专名和通名;

专名相似度计算模块,用于计算所述第一地名的专名与第二地名的专名的专名相似度;

通名相似度计算模块,用于计算所述第一地名的通名与所述第二地名的通名的通名相似度;

地名相似度确定模块,用于依据所述专名相似度和所述通名相似度,确定所述第一地名与所述第二地名的相似度;

其中,所述地名相似度确定模块包括:

权重确定单元,用于依据预设的权重计算规则,确定所述专名相似度的第一权重,及所述通名相似度的第二权重;

其中,第一权重的权重计算规则为:

其中,P为所述专名相似性的第一权重;Sim_lit为所述专名相似度;Sim_sem为所述通名的语义相似度;

地名相似度计算单元,用于依据所述第一权重、第二权重、所述专名相似度及所述通名相似度,计算所述第一地名与所述第二地名的相似度。

6.根据权利要求5所述的装置,其特征在于,所述地名分解模块包括:过滤模块,用于在将第一地名及第二地名分别分解为专名和通名之前,去除所述第一地名及第二地名中的非法字符;

通名确定单元,用于将所述第一地名及第二地名与预设的通名词库进行对比,确定所述第一地名及第二地名各自的通名;

专名确定单元,用于从所述第一地名中去除所述第一地名中的通名,得到所述第一地名中的专名,及从所述第二地名中去除所述第二地名中的通名,得到所述第二地名中的专名。

7.根据权利要求5所述的装置,其特征在于,所述专名相似度计算模块包括:编辑距离确定单元,用于确定所述第一地名的专名与所述第二地名的专名间的中文编辑距离;

专名的相似度计算单元,用于依据所述中文编辑距离及所述第一地名的专名的长度和所述第二地名的专名的长度中的较大者,计算所述第一地名的专名与所述第二地名的专名的相似度。

8.根据权利要求5所述的装置,其特征在于,所述通名相似度计算模块包括:参数确定单元,用于确定所述第一地名的通名与所述第二地名的通名间的语义距离、概念深度、概念密度及关系类型;

通名语义相似度计算单元,用于依据所述语义距离、概念深度、概念密度及关系类型计算所述通名的语义相似度。

说明书 :

一种地名匹配方法及装置

技术领域

[0001] 本发明测绘科学与技术领域,尤其涉及一种地名匹配方法和装置。

背景技术

[0002] 随着网络技术的迅速发展及人们对基于位置信息的服务的需求的快速增长,地名已经成为普通民众获取信息的重要地理参考。如何从海量的地理信息资源中快速检索出所需的信息,成为地名研究中的重要课题。
[0003] 当前的地名匹配方法,将地名作为普通字符串,与地名库中的已有地名进行匹配,只将地名作为普通的字符串,而忽略了地名的符号和语义特征,因此不能提供较高的准确性。

发明内容

[0004] 有鉴于此,本发明实施例提供了一种地名匹配方法及装置,目的在于解决现有的地名匹配方法存在的准确性不高的问题。
[0005] 一种地名匹配方法,应用于中文地名,包括:
[0006] 将第一地名及第二地名分别分解为专名和通名;
[0007] 计算所述第一地名的专名与所述第二地名的专名的专名相似度;
[0008] 计算所述第一地名的通名与所述第二地名的通名的通名相似度;
[0009] 依据所述专名相似度和所述通名相似度,确定所述第一地名与所述第二地名的相似度。
[0010] 优选地,所述将第一地名及第二地名分别分解为专名和通名包括:
[0011] 去除第一地名中的非法字符后,将所述第一地名与预设的通名词库进行对比,确定所述第一地名中的通名;
[0012] 从所述第一地名去除所述第一地名中的通名,得到所述第一地名中的专名;
[0013] 去除第二地名中的非法字符后,将所述第二地名与所述预设的通名词库进行对比,确定所述第二地名中的通名;
[0014] 从所述第二地名去除所述第二地名中的通名,得到所述第二地名中的专名。
[0015] 优选地,所述计算所述第一地名的专名与所述第二地名的专名的专名相似度包括:
[0016] 确定所述第一地名的专名与所述第二地名的专名间的中文编辑距离;
[0017] 依据所述中文编辑距离及所述第一地名的专名的中文长度和所述第二地名的专名的中文长度中的较大者,计算所述第一地名的专名与所述第二地名的专名的相似度。
[0018] 优选地,所述计算所述第一地名的通名与所述第二地名的通名的通名相似度包括:
[0019] 确定所述第一地名的通名与所述第二地名的通名间的语义距离、概念深度、概念密度及关系类型;
[0020] 依据所述语义距离、概念深度、概念密度及关系类型计算所述通名的语义相似度。
[0021] 优选地,所述依据所述专名相似度和所述通名相似度,确定所述第一地名与所述第二地名的相似度包括:
[0022] 依据预设的权重计算规则,确定所述专名相似度的第一权重,及所述通名相似度的第二权重;
[0023] 依据所述第一权重、第二权重、所述第一地名的专名、所述第一地名的通名、所述第二地名的专名、所述第二地名的通名,计算所述第一地名与所述第二地名的相似度。
[0024] 一种地名匹配装置,应用于中文地名,包括:
[0025] 地名分解模块,用于将第一地名及第二地名分别分解为专名和通名;
[0026] 专名相似度计算模块,用于计算所述第一地名的专名与第二地名的专名的专名相似度;
[0027] 通名相似度计算模块,用于计算所述第一地名的通名与所述第二地名的通名的通名相似度;
[0028] 地名相似度确定模块,用于依据所述专名相似度和所述通名相似度,确定所述第一地名与所述第二地名的相似度。
[0029] 优选地,所述地名分解模块包括:
[0030] 过滤模块,用于在将第一地名及第二地名分别分解为专名和通名之前,去除所述第一地名及第二地名中的非法字符;
[0031] 通名确定单元,用于将所述第一地名及第二地名与预设的通名词库进行对比,确定所述第一地名及第二地名各自的通名;
[0032] 专名确定单元,用于从所述第一地名中去除所述第一地名中的通名,得到所述第一地名中的专名,及从所述第二地名中去除所述第二地名中的通名,得到所述第二地名中的专名。
[0033] 优选地,所述专名相似度计算模块包括:
[0034] 编辑距离确定单元,用于确定所述第一地名的专名与所述第二地名的专名间的中文编辑距离;
[0035] 专名的相似度计算单元,用于依据所述中文编辑距离及所述第一地名的专名的长度和所述第二地名的专名的长度中的较大者,计算所述第一地名的专名与所述第二地名的专名的相似度。
[0036] 优选地,所述通名相似度计算模块包括:
[0037] 参数确定单元,用于确定所述第一地名的通名与所述第二地名的通名间的语义距离、概念深度、概念密度及关系类型;
[0038] 通名语义相似度计算单元,用于依据所述语义距离、概念深度、概念密度及关系类型计算所述通名的语义相似度。
[0039] 优选地,所述地名相似度确定模块包括:
[0040] 权重确定单元,用于依据预设的权重计算规则,确定所述专名相似度的第一权重,及所述通名相似度的第二权重;
[0041] 地名相似度计算单元,用于依据所述第一权重、第二权重、所述专名相似度及所述通名相似度,计算所述第一地名与所述第二地名的相似度。
[0042] 本发明实施例公开的一种地名匹配方法及装置,将第一地名及第二地名分别分解为专名和通名,并分别计算第一地名的专名与第二地名的专名的相似度及第一地名的通名与第二地名的通名的相似度,再由专名相似度及通名相似度确定第一地名与第二地名的相似度,因为分别考虑到了地名中包括专名和通名的构词方式及通名的语义特征,因此,相比于将地名作为一个字符串的匹配,具有较高的准确性。

附图说明

[0043] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0044] 图1为本发明实施例公开的一种地名匹配方法的流程图;
[0045] 图2为本发明实施例公开的又一种地名匹配方法的流程图;
[0046] 图3为本发明实施例公开的又一种地名匹配方法的流程图;
[0047] 图4为本发明实施例公开的建立的地名通名语义知识库片段示意图;
[0048] 图5为本发明实施例公开的又一种地名匹配方法的流程图;
[0049] 图6为本发明实施例公开的一种地名匹配装置的结构示意图。

具体实施方式

[0050] 本发明实施例公开了一种地名匹配方法及装置,其核心发明点在于,依据地名中包含专名和通名的构词特性,分别计算待匹配地名的专名间的相似度及通名间的相似度,再依据专名相似度和通名相似度,确定待匹配地名间的相似度,可见,所述方法及装置以地名的构词特性为依据及约束条件,因此,相对于其它地名匹配方法,能够更细致地反映不同地名间的区别及相似程度,因而具有更高的准确性。
[0051] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0052] 本发明实施例公开了一种地名匹配方法,应用于中文地名,如图1所示,包括:
[0053] S101:将第一地名及第二地名分别分解为专名和通名;
[0054] 通常,地名作为专有名称,其构词随语言的不同又各有特点,在几千年的演变过程中,中文地名逐渐形成了独特的构词方式,即“专名”加“通名”的形式。其中,专名表示某一个地理实体或现象,通名则表示地名所指地理实体或现象的类型。如“河南省”中“河南”是专名,表示河南这个地方;“省”是通名,表示“河南”是一级行政区域。
[0055] S102:计算所述第一地名的专名与所述第二地名的专名的专名相似度;
[0056] S103:计算所述第一地名的通名与所述第二地名的通名的通名相似度;
[0057] S104:依据所述专名相似度和所述通名相似度,确定所述第一地名与所述第二地名的相似度。
[0058] 本实施例所述的地名匹配方法,依据中文地名的构词特性,分别计算待匹配地名的专名间的相似度和通名间的相似度,因此所述方法更适用于地名间的匹配,具有较高的匹配准确性。
[0059] 本发明实施例公开的又一种地名匹配方法,应用于中文地名,如图2所示,包括:
[0060] S201:去除所述第一地名及第二地名中的非法字符;
[0061] 步骤S201可以看作地名匹配中的预处理过程,本实施例中第一地名中的非法字符包括汉字及空格外的其它字符。对第一地名进行预处理,能够除去匹配过程中的干扰因素,提高匹配的准确性。
[0062] S202:将所述第一地名与预设的通名词库进行对比,确定所述第一地名中的通名;
[0063] 所述通名词库中可以包括预设的通名,例如通名“省”、“市”等。
[0064] S203:从所述第一地名中去除所述第一地名中的通名,得到所述第一地名中的专名;
[0065] S204:将所述第二地名与所述预设的通名词库进行对比,确定所述第二地名中的通名;
[0066] S205:从所述第二地名去除所述第二地名中的通名,得到所述第二地名中的专名;
[0067] S206:计算所述第一地名的专名与第二地名的专名的专名相似度;
[0068] S207:计算所述第一地名的通名与所述第二地名的通名的通名相似度;
[0069] S208:依据所述专名相似度和所述通名相似度,确定所述第一地名与所述第二地名的相似度。
[0070] 本实施例所述的地名匹配方法,在匹配之前进行预处理,以提高匹配的准确性,并依据预设的通名词库,将第一地名分解为专名及通名,所述实施例方法简便易行。
[0071] 本发明实施例提供的又一种地名匹配方法,应用于中文地名,如图3所示,包括:
[0072] S301:将所述第一地名及第二地名分别分解为专名和通名;
[0073] S302:确定所述第一地名的专名与所述第二地名的专名间的中文编辑距离;
[0074] 编辑距离,又称Levenshtein距离(也叫做Edit Distance),是指英文两个字串之间,由一个转成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。它的思路是从两个字符串的一端开始比较,记录已经比较过的子串编辑操作,然后进一步得到下一个字符串位置时的编辑操作。对于两个字符串X=x1x2x3...xn,Y=y1y2y3...ym,编辑距离计算中,编辑操作代价是[0,1]之间的非负数,可以根据需要预先设置不同的值。为了简单起见,本文中取0和1两个值,并且规定:当xi=yj(i=1,…,n;j=1,…,n)时,一致替换的代价为0;否则所有编辑操作代价都是1。
[0075] 例如将英文字符串“kitten”转成“sitting”的操作最少的操作过程为:
[0076] sitten(k→s)
[0077] sittin(e→i)
[0078] sitting(→g)
[0079] 因此,kitten与sitting之间的编辑距离为3。
[0080] 由于汉字与英文字符存储方式不同,所述中文编辑距离指将一个汉语字符串转换成另外一个所需最少的汉字编辑次数,将一个汉字(两个字节)作为一个基本长度。如字符串“河南理工大学”转换成字符串“河南大学”的最少步骤为:
[0081] 河南工大学(删除“理”,一个汉字,对应两个字节,故中文编辑距离减少1)[0082] 河南大学(删除“工”,一个汉字,对应两个字节,故中文编辑距离又减少1)[0083] 因此可知“河南理工大学”和“河南大学”的中文编辑距离为2。
[0084] S303:依据所述编辑距离及所述第一地名的专名的长度和所述第二地名的专名的长度中的较大者,计算所述第一地名的专名与所述第二地名的专名的相似度。
[0085] 具体地,设Ed(a1,b1)为专名a1,b1的编辑距离,则构造地名专名相似度算法如下式:
[0086]
[0087] 其中max(a1,b1)表示取a1,b1字符串长度的最大值,则Sim_lt(a1,b1)表示a1、b1专名相似度,且Sim_lt(a1,b1)∈[0,1]。
[0088] 例如,“河南理工大学”和“河南大学”的专名“河南理工”和“河南”最小中文编辑距离为Ed=2,最大中文长度为4,根据上式可得专名相似度为0.5。
[0089] S304:确定所述第一地名的通名与所述第二地名的通名间的语义距离、概念深度、概念密度及关系类型;
[0090] 地名通名是地名所代表的地理实体或现象的类型、隶属关系、形态和性质的规定称呼,来区分地理实体性质类别的词。由于地名用词不规范及各种历史原因,同一通名可能表示多种地理实体类型,对于这种情况,本实施例取通名的主要含义进行表达,暂不考虑近义通名、转义通名等情况。
[0091] 为了充分利用地名中的通名语义知识,本实施例采用依据《地名分类与类别代码编制规则(GB/T18521-2001)》建立的规范汉语地名通名语义知识库,并使其成为地名本体的一部分。目前的地名通名语义知识库主要依据通名所反映地理实体的最基本、最稳定的属性对地名进行分类,建立基于上下位关系(“IS-A”)的通名本体层次结构。本实施例建立的通名语义知识库片段如图4所示,其中箭头表示“IS-A”关系。
[0092] 其中,概念深度指概念节点与根节点的最短路径中所包括的边数。概念深度对语义相似度的影响基于以下思想:以“IS-A”关系建立的本体概念树中,每一概念是其上位概念的细化,越到下层,概念所指的对象越具体,内涵越丰富。同等语义距离下,两个概念节点的深度越大,相似度越高,反之相似度越低;同等语义距离下二者的概念层次差越小,则二者的语义相似度越高,反之相似度越低。
[0093] 定义Dep(con)为概念con的深度;设root为根节点,令其深度为1,即Dep(root)=1。任意非根概念节点b的深度为Dep(con)=Dep(Parent(con))+1,其中Parent(con)为con的直接上位概念节点。
[0094] Dep(tree)为本体树的深度,Dep(tree)=Max(Dep(bi)),(i=1,…,n),其中n为本体树中概念的总数,bi(i=1,…,n)为本体中的任一概念。
[0095] 因此,概念深度对语义相似度影响因子的计算如下式,且满足Ps∈(0,1]。
[0096]
[0097] 其中,con1,con2表示同一本体的两个概念。
[0098] 本体层次中,局部区域概念密度越大,说明该区域概念细化程度越大,该处概念分类越具体,在其他因素相同的条件下,直接概念子节点间的语义相似度就越高。
[0099] 定义Child(con)为概念con所包含的直接子节点的个数;Child(tree)为本体树中各概念节点中直接子节点数的最大值。
[0100] 设两个概念con1和con2最近共同祖先为cona,其直接子节点的个数为Child(cona);
[0101] 则概念密度对语义相似度影响因子计算如下式,且满足Pm∈(0,1]。
[0102]
[0103] 本体中概念通过各种关系联系在一起,不同关系类型对概念语义相似度的影响也有所不同。如上下位的“同义关系”所表征的语义相似度应大于“整体-部分”关系所表征的语义相似度。在关系类型不多的情况下,可采用专家打分的方法来确定关系类型的语义强度。设Pr为关系强度,则Pr∈[0,1]。
[0104] S305:依据所述概念深度、概念密度及关系类型计算所述通名的语义相似度;
[0105] 基于语义距离的通名语义相似度算法基于以下基本假设:两概念的语义距离越大,其相似度越低,反之相似度越高。设通名a2和b2对应的概念分别为con1和con2,记sim_sem(con1,con2)为二者的语义相似度,Dist(con1,con2)为二者的语义距离,则二者存在如下函数关系:
[0106] (1)当Dist(con1,con2)为0时,sim_sem(con1,con2)为1,表示两概念完全相同。
[0107] (2)当Dist(con1,con2)为无穷大时,sim_sem(con1,con2)为0,表示两概念完全不相似或不相关。二者的关系可以用下式表示:
[0108]
[0109] 其中d为调节因子,可根据本体中语义最近(距离为1)或语义最远的概念之间语义相似度反求其参考值,并可根据专家经验进行适当修改。例如,设定某本体中最短距离为1的概念间的语义相似度为0.96,代入上式,可求出d的参考值为24。
[0110] 通过对上述三个因素对通名语义相似度的影响的研究,本实施例中,将上述的公式进行优化,优选地名通名语义相似度计算公式如下所示:
[0111]
[0112]
[0113]
[0114] 其中α,β,γ,δ为调节因子,且满足α+β+γ+δ=1,由于语义距离在相似度计算中占主导地位,其他因子起辅助作用,所以α的权重相对较大,而β,γ,δ的权重相对较小。各个因子可以根据相对权重及具体应用环境进行调节,以保证相似度结果满足不同系统的要求。
[0115] S306:依据所述专名相似度和所述通名相似度,确定所述第一地名与所述第二地名的相似度。
[0116] 本实施例中所述的地名匹配方法,通过专名编辑距离法结合通名语义相似度地名匹配算法,考虑地名字面匹配的同时,辅以地名通名蕴含的语义信息,增强了地名匹配算法的完备性,提高了无约束规范地名的查准率,为以地名为参照的查询系统提供了有效的检索方法,为地名本体的应用提供了新的思路。
[0117] 本发明实施例公开了又一种地名匹配方法,应用于中文地名,如图5所示,包括:
[0118] S501:将所述第一地名及第二地名分别分解为专名和通名;
[0119] S502:计算所述第一地名的专名与第二地名的专名的专名相似度;
[0120] S503:计算所述第一地名的通名与所述第二地名的通名的通名相似度;
[0121] S504:依据预设的权重计算规则,确定所述第一地名的专名的第一权重,及所述第一地名的通名的第二权重;
[0122] 本实施例中,以以下公式作为计算第一地名与第二地名相似度的公式:
[0123] Sim(a,b)=PSim_lt(a1,b1)+(1-P)Sim_sem(a2,b2() 6)
[0124] 其中a1、b1分别为a,b两个地名的专名,a2、b2为a,b两个地名的通名。Sim_lit(a1,b1)为a1、b1的专名相似度,简写为Sim_lt,Sim_sem(a1,b1)为a2、b2的语义相似度,简写为Sim_sem,Sim(a,b)为地名综合相似度。P为专名相似度的权重(P∈[0,1]),为可调参数。当通名语义相似度高时,认为二者表达的是相近的地理实体名称,地名相似度主要由专名相似度来表达,反之当通名语义相似度较低时,说明两地名表达的是相异的地理实体,专名相似度可靠性的随之降低。
[0125] 地名相似度计算方法(式(6))满足如下要求:
[0126] (1)若Sim_sem为1,则P为1,此时两地名通名为同一概念,只需比较专名的相似度;
[0127] (2)若Sim_sem为无穷小,则P接近0,此时两通名为完全不同的两种地理实体或现象,在不考虑转义通名的情况下,认为二者不可能为同一地名。本研究中,所有地名通名均为同根概念节点,Sim_sem均为大于0的值。
[0128] (3)若Sim_lt(a1,b1)=1,专名相同,则地名相似度主要由通名语义相似度来表达,因此(1-P)=1,即P=0。
[0129] (4)若Sim_lt(a1,b1)=0,专名相似度为0,表示个体的标志符完全不同,比较通名已无意义。
[0130] (5)任何概念节点与其自身的相似度为1。
[0131] 因此,设P为语义相似度Sim_sem的单值递增函数,其取值如下式:
[0132]
[0133] 该函数以相似度0.4和0.6为分界点,认为通名相似度小于0.4时,两地名语义相差较远,因此专名的可信度急剧降低,取sim_sem2为专名权重;当通名相似度大于0.6时认为两地名语义相近,专名相似度较为可靠,取Sim_sem为专名权重。中阶段函数(0.4
[0134] S505:依据所述第一权重、第二权重、所述第一地名的专名及所述第一地名的通名、所述第二地名的专名及所述第二地名的通名,计算所述第一地名与所述第二地名的相似度。
[0135] 即利用式(6)计算地名间的相似度。
[0136] 综上上述实施例所述,实验选取了7对有代表性的规范地名(表1),采用综合专名和通名相似度的方法与全字面地名匹配法进行比较。
[0137] 由于本文建立的通名知识库中仅考虑了通名间的上下位关系而未考虑其他关系类型,故设Pr=1。则式(5)简化为式(8),其中α+β+γ=1,式中各符号含义同式(5)。
[0138]
[0139]
[0140]
[0141] 实验时,将式(1)、式(8)、式(7),带入式(6),根据式(4)和式(5)的约束关系,结合地名通名本体的特点取d=24,α=0.8,β=γ=0.1,展开后进行计算,结果如表1。
[0142] 表1实验数据及匹配结果
[0143]
[0144]
[0145] 注释:表中“-”,表示通名为同一“概念”时,语义相似度为1,可不必计算的项目。
[0146] 结果分析:
[0147] 实验按照式(6)的算法模型从语义知识入手,首先判别地名所反映的地理实体类别,根据类别的相近程度,决定专名相似度的可信度,避免了仅从字面比较带来的误差。
[0148] (1)“渤海大学”和“渤海”从规范地名来看,二者语义上差别很大,前者是“人文地名”,后者是“自然地名”,字面相似度0.5不能很好的反映这种关系,而综合相似度算法借助语义知识库进行判断,结果为0.28,较接近人的认知的判断;“黄山市”和“黄山”,“武汉大学”和“武汉市”与此情况类似。
[0149] (2)“河南理工大学”和“河南大学”,字面相似度为0.67,从字面上看二者表达同一地名的可靠性较高,但与实际情况不符,综合相似度算法在通名相同的情况下,以专名相似度代替综合相似度,降低了二者为同一地名的可信度,较符合实际;“烟台市”和“焦作市”的情况与此类似,通名相同,专名完全不同,则二者很可能不是同一地名。
[0150] (3)“濮阳市”和“濮阳县”专名相同,于是相似度主要靠通名语义相似度来判断,结果0.65较为符合人的判断。
[0151] (4)“河南省”和“焦作市”,在专名不同的情况下,讨论通名语义已失去意义,故相似度为0,符合实际情况。
[0152] 从实验结果来看,该算法的结果更加接近人的认知习惯,提高了规范地名的匹配准确度。
[0153] 与上述方法实施例相对应的,本发明实施例还公开了一种地名匹配装置,应用于中文地名,如图6所示,包括:
[0154] 地名分解模块601,用于将所述第一地名及第二地名分别分解为专名和通名;
[0155] 专名相似度计算模块602,用于计算所述第一地名的专名与第二地名的专名的专名相似度;
[0156] 通名相似度计算模块603,用于计算所述第一地名的通名与所述第二地名的通名的通名相似度;
[0157] 地名相似度确定模块604,用于依据所述专名相似度和所述通名相似度,确定所述第一地名与所述第二地名的相似度。
[0158] 进一步地,本实施例中所述地名分解模块包括:
[0159] 过滤模块,用于在将第一地名及第二地名分别分解为专名和通名之前,去除所述第一地名及第二地名中的非法字符;
[0160] 通名确定单元,用于将所述第一地名及第二地名与预设的通名词库进行对比,确定所述第一地名及第二地名各自的通名;
[0161] 专名确定单元,用于从所述第一地名中去除所述第一地名中的通名,得到所述第一地名中的专名,及从所述第二地名中去除所述第二地名中的通名,得到所述第二地名中的专名。
[0162] 进一步地,本实施例中所述专名相似度计算模块包括:
[0163] 编辑距离确定单元,用于确定所述第一地名的专名与所述第二地名的专名间的中文编辑距离;
[0164] 专名的相似度计算单元,用于依据所述中文编辑距离及所述第一地名的专名的长度和所述第二地名的专名的长度中的较大者,计算所述第一地名的专名与所述第二地名的专名的相似度。
[0165] 进一步地,本实施例中所述通名相似度计算模块包括:
[0166] 参数确定单元,用于确定所述第一地名的通名与所述第二地名的通名间的语义距离、概念深度、概念密度及关系类型;
[0167] 通名语义相似度计算单元,用于依据所述语义距离、概念深度、概念密度及关系类型计算所述通名的语义相似度。
[0168] 进一步地,本实施例中所述地名相似度确定模块包括:
[0169] 权重确定单元,用于依据预设的权重计算规则,确定所述专名相似性的第一权重,及所述通名相似性的第二权重;
[0170] 地名相似度计算单元,用于依据所述第一权重、第二权重、所述第一地名的专名及所述第一地名的通名、所述第二地名的专名及所述第二地名的通名,计算所述第一地名与所述第二地名的相似度。
[0171] 本实施例所述的地名匹配装置,依据地名的构词特性,分别计算待匹配地名的专名间的相似度和通名间的相似度,因此所述方法更适用于地名间的匹配,具有较高的匹配准确性。
[0172] 本实施例方法所述的功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算设备可读取存储介质中。基于这样的理解,本发明实施例对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一台计算设备(可以是个人计算机,服务器,移动计算设备或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0173] 本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。
[0174] 对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。