江西地名研究
关注我们,获取更多地名资讯
摘要:通过地名匹配方法实现多元异构的海量实体数据间匹配,是实现数据融合的重要途径。现有的匹配方法未能兼顾匹配效率,缺少对不同类型数据间匹配场景的充分考虑。本文提出一种顾及语义与空间相似性的地名实体匹配方法,通过扩展分词词典、改进逆向中文分词和BM25搜索排序算法计算地名语义相似度,借助语义匹配筛选候选集;针对点-点、点-线、点-面、线-线以及面-面五种不同类型匹配,充分利用实体的几何及位置信息,综合多种几何相似度因子构建对应的空间匹配模型,实现同名实体间的关联挂接。以武汉市异源POI、道路及AOI数据进行实验验证,实验结果表明,本文提出的方法有效提升了匹配准确率和匹配效率,满足大规模的地名实体匹配需求。
关键词:地名实体匹配;语义相似度;空间相似度;地图更新
地名作为一种常见的命名实体,是公众获取空间信息的主要参考,广泛存在于各种结构、各种来源的地理实体数据中,可以作为实体匹配的重要依据。大数据时代产生了海量多源异构空间实体数据,而不同数据间存在的诸多差异使得其中指向同一实体的数据难以有效匹配。此外,在多种数据源中存储的地名信息,由于受到认知方式、生产方式、制图综合等众多因素的共同影响,存在着诸如“同名异地”“一地多名”、数据冗余及缺失等问题,不仅影响了数据质量,同时阻碍了数据间的融合与共享。
实体匹配是在多个数据源中,通过比较一系列相似度指标,找到指向同一实体数据的过程。本文地名实体数据指包含地名信息的空间实体,现有的研究中,其匹配方法主要分为三类:1)以属性信息为依据的地名语义匹配方法。包括计算Jaccard相似系数、编辑距离等指标的方法,以及借助分词算法、语义分析等挖掘文本间相似相关性的方法。但由于多源数据缺乏统一规范的命名标准和模型结构,部分地名属性釆用的表达方式容易产生较大的歧义,难以通过属性实现正确匹配。2)以几何、位置等信息为依据的空间匹配方法。充分利用空间实体的距离、长度、形状和邻接情况等特征进行实体间空间相似度计算。由于受到数据精度、类型、完整性和计算效率的影响,该方法的通用性也受到一定的限制。3)从实体角度考虑,通过构建实体模型实现地理实体间匹配的方法。此外也有综合多种相似度的匹配方法。
现有的地名实体匹配方法大多针对标准点状地名,还缺少适应不同数据类型、泛用性更强的实体匹配算法,地名数据多依赖关系型数据库存储和SQL语句查询,缺少面向更复杂场景的文本匹配能力,未考虑大数据环境下数据规模庞大且信息歧义繁多的问题,难以满足匹配海量数据的需求。因此,本文综合考虑实体的地名语义信息和空间几何信息,从语义和空间匹配两个角度探究更高效准确的算法,在匹配标准地名实体的同时,提出泛用性更强的非标准地名实体间匹配方法,实现多源地名实体数据间的高效准确融合。
1 匹配框架
本文采用的匹配策略为:首先通过语义匹配计算地名间相似度,筛选得到地名文本较相似的候选集,再以候选集作为输入,经过空间匹配算法得到其中空间相似性最高的匹配结果。采用的匹配框架如图1所示。
考虑到算法的匹配规模和运算效率,借助搜索引擎实现地名语义匹配,一方面依托其全文搜索、倒排索引及支持分布式架构等功能,提高数据检索的效率,另一方面对现有的搜索引擎进行改进。在分词过程中使用逆向中文分词方法并扩展分词词典,以更好地识别出地名中的词语边界,增加地名分词的准确性和覆盖范围,使其能够更好地理解和处理特定区域的地名文本数据,提高地名语义匹配结果的相关性;在搜索排序过程中采用BM25相似度排序算法,充分考虑查询地名词频、地名长度以及地名集合词频等因素,计算查询地名与地名集合间的语义相似度,提高相似地名在排序结果中的得分,更准确地评估地名之间的语义相似性。改进后的搜索引擎在匹配差异较小的同名实体时能够取得较好的效果,而针对多源数据中存在的同名异地、地名歧义等情况则表现不佳,例如数据源区域中存在多个地名为“中国农业银行”的地名实体,以及“珞瑜路”与“珞喻街”歧义较大,无法通过语义匹配直接匹配成功。因此本文在语义匹配基础上引入了空间匹配算法,涵盖点-点、点-线、点-面、线-线及面-面匹配五种匹配类型,以减少地名实体匹配的偶然性、增强模型的适应能力,满足多源地名实体数据匹配的需求。
2 匹配算法设计
2.1 语义匹配算法
语义匹配算法的构建参考了信息检索的过程,分为中文分词、索引构建、数据检索、相似度计算、匹配结果排序5个步骤。本文对地名分词方法和匹配结果排序算法进行了改进,使用逆向地名分词方法和BM25排序算法以提高搜索的准确度。
2.1.1 逆向地名分词方法
研究表明,中文语义表达中往往将重要的主干成分后置,因此逆向分词法的切分精度往往会高于正向。同时,中文地名的层次结构使得其特征词一般位于句子尾部,因此本文设计逆向地名分词算法,按照从句尾到句头的顺序,通过词典与规则来识别和切分地名文本。逆向地名分词法的具体步骤如图2所示。
对于地名中的常见的非中文字符“-”“·”“()”,其后一般为地名附属信息,有着规范的“专名”+“通名”结构。进行分词前,先对常见的附属信息结构进行归纳,提取其中的部分专名,扩展分词词典,提高分词方法对实验数据的切分精度。例如“中南长城钢材大市场(田园大道店)”,首先获取附属信息“田园大道店”,接着提取专名“田园大道”,将其存储至扩展分词词典。
2.1.2 相似度排序算法
相似度排序算法通过计算地名间的文本相似度,对搜索结果集合中的数据进行排序。地名是一种有结构的词的集合,在作为查询关键词输入后,BM25算法会根据地名集合中的词项与查询地名之间的关系来评估地名相关性。BM25算法得到地名语义相似度的计算公式如式(1)所示,先计算每个分词结果qi与目标地名的相似度,再将各相似度加权求和,得到最终的相似度评分。
其中,Score(s,d)表示查询地名与目标地名的相似度;R(qi,d)表示词qi与目标地名d的相关性得分;Wi表示权重,又称为逆文档频率(IDF):
式中,N表示参与相似度计算的地名总数;n(qi)表示包含词qi的地名数目。
2.2 空间匹配算法
空间匹配通过量化实体的几何特征,计算几何相似性以比较其相似程度。计算前有必要在借鉴已有相似性研究的基础上,选择最能代表要素特征、区分非同名实体的几何相似度因子。由于空间要素通常分为点、弧段、面三种,本文设计以下五种空间匹配模型:点-点、点-线、点-面、线-线及面-面匹配模型。
2.2.1 包含点要素的匹配
针对点要素间的匹配,本文基于欧几里得距离比较其空间位置,其计算如式(3)所示。
式中,D为两点间的欧几里得距离;(x1,y1)、(x2,y2)为两点的坐标。在此基础上,点与线、点与面的匹配分别以点到线上的最短距离、点到面质心的距离衡量相似程度。
2.2.2 线与线匹配
线要素具有位置、方向、长度和形状等几何特征,其相似度计算综合使用以下3个指标:SM_HD距离相似度、最小外接矩形重叠面积相似度和长度相似度。SM_HD距离在Hausdorff距离的基础上进行了改进,避免了噪声点对结果的影响。线段Ai、Bj的SM_HD距离计算如式(4)所示。
其中,||a-b||为点a与点b之间的欧氏距离;lenAi为线的长度。计算出SM_HD(Ai,Bj)后,按式(5)进行归一化处理。其中,simDAiBj为线段Ai和Bj的SM_HD距离相似度。
最小外接矩形重叠面积相似度simMAiBj与长度相似度simLAiBj计算如式(6)、式(7)所示。
式中,S()表示某区域的面积;MBR()表示线实体的最小外接矩形。
式中,L()表示线实体的长度。
2.2.3 面与面匹配
面要素具有形状、距离、位置等几何特征,其相似度计算综合使用以下3个指标:紧凑度相似度、凸包重叠面积相似度和质心距离相似度。
本文选择紧凑度作为面的形状描述因子,紧凑度计算如式(8)所示。
式中,area为图形面积;perimeter为周长。计算出两面的紧凑度cCi、cDj后,按式(9)进行归一化处理。其中,simCCiDj为面Ci和Dj的紧凑度相似度。
凸包的重叠面积相似度simMCiDj及质心距离相似度simDCiDj计算如式(10)、式(11)所示。
式中,MBR()表示面实体的最小外接矩形面积。
式中,dCiDj为两实体质心距离;lCi为Ci的最小外接矩形的对角线长度。
2.2.4 综合空间相似度构建
在实际应用中,需要组合多种指标以全面衡量实体间的空间相似性。本文按照式(12)将各单一相似度指标加权求和,计算综合相似度。
式中,simSpatiaAiBj为实体Ai、Bj的综合空间相似度;simn为单一相似度指标;wn为权重。随机选取部分线、面同名实体对作为匹配样本,计算出各个单一相似度指标后,使用熵权法确定综合相似度中各指标的权重。最终计算得到的综合空间相似度权值如表1所示。
3 地名实体匹配实验与分析
3.1 数据及匹配过程
为验证本文地名实体匹配方法的匹配效果,使用网络获取的武汉市兴趣点(point of interest,POI)、道路和兴趣面(area of interest,AOI)数据作为样例进行匹配,数据分别包含餐饮服务、住宿服务、主要道路、公路、房地产及公司企业等多个领域的地名信息。
地名实体匹配过程如图3所示,分为数据预处理、数据匹配以及结果处理3个步骤,重点在于匹配方法的实现。语义匹配过程依托分布式搜索引擎Elastic-Search实现,匹配前先提取数据中的地名附属信息,补充分词词典的扩展词库。在此基础上,使用改造后的搜索引擎创建目标数据索引,再遍历检索源数据中的地名,按照阈值筛选排序后的匹配结果,输出匹配候选集,接着计算实体之间的空间相似度,得到最终的匹配结果。结束后人工检查匹配结果是否准确,统计匹配正确数并计算查全率、查准率与匹配速率。
3.2 地名实体匹配实验
3.2.1 匹配结果分析
下面对本文地名实体匹配方法的效果进行验证。随机在不同领域中选取实验POI数据4000条、路网数据1400条和AOI数据2500条进行匹配。匹配效果可视化如图4所示。
可视化结果显示,匹配方法能够正确匹配大多数的点、线与面数据。未匹配、匹配错误的数据在形状和空间分布上比较随机,大多与数据质量有关,比如零散或跨度较大、偏移严重的线和面更容易造成未匹配和匹配错误。
表2给出了其他两种匹配方法与本文地名实体匹配方法在匹配正确数、查全率及查准率上的结果比较。其中,搜索引擎语义匹配法仅考虑语义信息,使用未改造的搜索引擎进行语义匹配,得到地名语义相似度最高的结果;空间匹配法是一种仅计算空间相似度的方法,不考虑语义信息,该方法先构建半径100m的缓冲区获得匹配候选集,再经过计算得到空间相似度最高的结果;本文方法即先通过改进的搜索引擎获得语义匹配候选集,再使用相应的空间匹配模型计算距离或综合空间相似度,得到充分综合语义和空间相似性的匹配实体。
对比结果表明,使用三种不同类型数据的场景下,本文方法的查全率均达到最高,匹配正确实体数最多,在查全率和查准率两个指标上表现得更加均衡。在POI匹配结果中,匹配正确数为3715条,匹配查准率达97.1%,未得到匹配结果27条,匹配错误110条。主要原因是搜索引擎内地名实体数据索引中没有对应的地名数据,索引数据的丰富度和现势性制约了匹配效果,匹配数据中存在的一些完全非中文地名和无意义地名,也导致了漏匹配与错误匹配。此外,阈值也会影响匹配效果,语义匹配筛选候选集时的阈值设定过高容易造成漏匹配,而空间匹配确认最终匹配结果时的阈值设定过低容易导致错误匹配。例如对于非同名实体“云鹤大厦”与“云湖大厦”,分词后其语义相似度计算结果为2.02,而因输入错误而导致地名不同的同名实体“杨泗港”和“杨四港”,其语义相似度计算结果为0.85,若设置语义匹配阈值为2.1就会导致后者漏匹配或匹配错误。一般需要基于真实数据的情况,通过多次实验对匹配查全率和查准率进行取舍,得到匹配效果最佳的阈值。
相比于默认的搜索引擎语义匹配法,本文方法得到了更高的查全率和更多的匹配正确数。例如在匹配“华中师范大学-南湖附属小学”时,“华中师范大学附属小学(南湖校区)”得到的地名相似度得分高于“华中师范大学附属保利南湖小学”,匹配到此结束就会导致匹配错误,若两个实体作为候选项经过空间计算,“华中师范大学附属保利南湖小学”由于距离更近,就能够作为最终结果正确匹配。对于同名异地问题,例如多个名称为“七天酒店”的实体,在经过空间计算后,也可以匹配至对应的同名实体。
相比于空间匹配方法,利用地名语义相似度筛选候选集可以有效排除由于地物真实增减而带来的匹配错误。例如在餐饮类型数据匹配时,由于采集时间、采集精度等多种原因,不同数据源中接近位置的餐饮店实际上并不是同一实体,仅通过空间相似度判断就会导致错误匹配。
3.2.2 匹配效率分析
地名实体匹配方法也需在准确匹配的前提下具备较高的匹配速率,适应大规模数据匹配的需求。为分析本文方法的匹配效率,在不同数据规模下,对比关系型数据库精确查询、模糊查询与改进后搜索引擎检索的匹配速率。使用POI数据模拟不同的匹配规模,计算不同规模下单位时间内匹配实体的个数。图5展示了3种方法在1万、5万、10万条地名实体数据匹配时的平均速率。
在数据规模为1万和5万时,搜索引擎匹配速率较低,而当数据规模为10万时,其匹配速率为每秒165.6个,高于精确匹配和模糊匹配的速率。同时从曲线可以看出,随着数据规模的增大,相比于数据库,搜索引擎匹配速率降低更缓。由于本文方法使用了配置三个节点的搜索引擎集群,共同持有匹配数据,并且一起提供索引与全文检索功能,从而实现了更高的搜索性能,在实际应用中更能适应大规模地名实体数据匹配需求。
4 结束语
本文针对地名实体匹配方法进行研究,提出了顾及语义与空间相似性的地名实体匹配方法,通过扩展分词词典、改进逆向中文分词算法和BM25排序算法,优化了搜索引擎的语义匹配效果,在此基础上,综合多种几何相似度因子构建空间相似度计算模型,实现了不同数据类型间的空间匹配。实验验证表明,本文的匹配方法可以有效提升地名实体匹配的结果准确性与效率,减少地名歧义以及同名异地、地名信息不全带来的问题,避免单一方法匹配而导致的错误。目前,实验验证中使用的实验数据还比较单一,语义匹配算法尚无法识别地名的深层含义。未来还需考虑更复杂的匹配场景,引入自然语言处理等技术,增强算法的理解能力,进一步提升其适应性。
作者:牛羽庆,蔡忠亮,李伯钊
来源:《测绘地理信息》
2025年第2期
选稿:贺雨婷
编辑:杜佳玲
校对:汪鸿琴
审订:欧阳莉艳
责编:杨 琪
(由于版面内容有限,文章注释内容请参照原文)
微信扫码加入
中国地名研究交流群
QQ扫码加入
江西地名研究交流群
欢迎来稿!欢迎交流!
转载请注明来源:“江西地名研究”微信公众号
热门跟贴