[发明专利]基于自然语言理解的中文POI匹配方法在审
申请号: | 202011495429.4 | 申请日: | 2020-12-17 |
公开(公告)号: | CN112527938A | 公开(公告)日: | 2021-03-19 |
发明(设计)人: | 张先荣 | 申请(专利权)人: | 安徽迪科数金科技有限公司 |
主分类号: | G06F16/29 | 分类号: | G06F16/29;G06F16/33;G06F16/35;G06F40/289;G06F40/30;G06K9/62;G06N3/04;G06N3/08 |
代理公司: | 合肥正则元起专利代理事务所(普通合伙) 34160 | 代理人: | 刘培越 |
地址: | 230088 安徽省合肥市*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 自然语言 理解 中文 poi 匹配 方法 | ||
1.基于自然语言理解的中文POI匹配方法,其特征在于,包括以下步骤:
S1:采集POI数据;
S2:对POI数据进行预处理;
S3:将预处理后的POI数据进行相似度特征提取;其中,相似度特征包括空间相似度、名称字面相似度、名称词袋相似度、类别相似度、名称语义相似度和地址语义相似度;
类别相似度的提取具体步骤为:采用分层匹配的方法,从外层开始依次对每层进行映射匹配,对比每层类别标签的语义是否相似,通过公式九计算类别相似度;公式九:其中,N是两个类别值中的最小层数;NS是匹配数,NS取值范围为[0,N],先判断第一层类别语义是否相同,若不同,则停止此次匹配,否则匹配数NS加1,进行下一层匹配;若下一层也相同,则匹配数再加1;
名称语义相似度的提取具体步骤为:包括名称相似度的语义计算网络,语义计算网络分为四层,分别是输入层、嵌入层、注意力层和输出层;输入层用于文本的编码工作,输入的内容包括文本信息和位置信息;嵌入层采用的Transformer神经网络结构,Transformer分别对文本信息和位置信息做嵌入和编码的操作,然后经过Transformer编码器获得句子的深度语义特征,经过嵌入层后,每个词被映射到语义空间中长度为L1的向量,具体表现为:
设定输入POI名称对为:di和ti分别代表组成句子的单词,在经过嵌入层之后,句子对对应的嵌入向量为:
E_D和E_T分别为POI名称对应D和T对应的嵌入向量集合;
注意力层用于通过操作将词向量得到POI名称向量;操作包括pooling、concatenate、sum;具体表现为:当使用sum操作时,POI名称对应词向量的和H1表示POI名称向量;H1的计算公式为:H1为D对应的句向量;H2为T对应的句向量;注意力层通过scale dot attention,分别计算两个POI名称句相应的权重和表征;即同理可得H1′,H1′和H2′分别是S和T注意力机制得到的POI名称句子向量;
输出层采用余弦距离计算文本之间的相似度,损失函数采用MSE,计算公式分别为:
地址语义相似度的提取具体步骤为:对于待匹配的地址对,首先用基于规则的地址树算法进行语法匹配,若匹配,则相似度为1,若不匹配,用word2Vec+ESIM进行语义相似度计算,得到相似度分数;具体表现为:
基于处理过的地址语料库创建了一个带标签的地址数据集;数据集由100000个地址对和相应的标签;生成此数据集的步骤:
S321:随机选取地址语料库的一个子集,包含40000条地址记录;
S322:手动将所选的若干个地址记录转换,以模拟在实际场景中可能查询的非标准和不明确的地址;转换的具体过程为:同义词替换:将地名替换为街道地址,反之亦然,将地名替换为别名;要素移除:删除地址所在的区、街道或社区,删除街道地址或地名;要素添加:添加冗余信息;
S323:为每个名称Sa检索两个地址Sb,一个与名称Sa匹配,即label=1,另一个不匹配,即label=0;匹配的地址Sb是地址语料库中转换为名称Sa的地址,而不匹配的地址Sb是从地址语料库中随机选择的;
S4:将提取的相似度特征输入到BP神经网络中分配权值,得到匹配概率值。
2.根据权利要求1所述的基于自然语言理解的中文POI匹配方法,其特征在于,所述采集POI数据的具体过程为:通过网络爬虫采集百度地图和高德地图的地址。
3.根据权利要求1所述的基于自然语言理解的中文POI匹配方法,其特征在于,S2中所述的对POI数据进行预处理的具体步骤为:
S21:将POI数据统一转换到相同的数据结构和空间坐标系下,对POI数据进行清洗,保留POI数据中的ID、名称、空间坐标、地址和类别标签;
S22:对POI数据进行筛选,去除重复和不完整数据;
S23:对不同来源的POI对象进行预匹配,获取需要进行相似度判别的POI对,并通过人工判别筛选出部分样本对,用于判别模型的训练。
4.根据权利要求1所述的基于自然语言理解的中文POI匹配方法,其特征在于,S3中所述的空间相似度具体提取步骤为:
S301:识别空间坐标中经纬度;对待匹配的两组经纬度通过公式一、公式二和公式三进行计算以米为单位的距离;
其中,公式一
公式二:
公式三:
S302:利用公式四计算的标准化距离测量值;其中GX为搜索兴趣匹配点的边界距离;
名称字面相似度的提取具体步骤为:
S311:去除POI名称属性中的特殊符号;
S312:利用公式五、六、七计算编辑距离得到名称字面相似度;其中;
公式五:s1和s2为字符串;m是匹配的字符数,t是换位的数目;
公式六:Jaro-Winkler距离djaro-win(s1,s2)=djaro(s1,s2)+(Lp(1-djaro(s1,s2))),djaro(s1,s2)是s1和s2的Jaro距离,L是前缀匹配的长度,p是前缀匹配的权重;aro-Winkler距离是大于0小于1的数,其越接近1,表示文本越相似;
公式七:名称字面相似度其中Lstring1和Lstring2为字符串的长度;
名称词袋相似度的提取具体步骤为:对名称字符串进行分词处理,将连续的字符串切分为单独的词,由两字符串包含的所有词构成共有词袋;对比共有词袋,得到两字符串的词袋向量A、B,最后通过公式八计算两向量的余弦相度;
其中,公式八:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于安徽迪科数金科技有限公司,未经安徽迪科数金科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011495429.4/1.html,转载请声明来源钻瓜专利网。