闲鱼别名知识库数据挖掘与工程建设

编程入门 行业动态 更新时间:2024-10-26 20:25:03

闲鱼<a href=https://www.elefans.com/category/jswz/34/1769025.html style=别名知识库数据挖掘与工程建设"/>

闲鱼别名知识库数据挖掘与工程建设

摘要

一些与地理位置相关的业务(如租房业务),会基于地理兴趣点(以下简称POI)去构建,为该地点的用户提供更精细化的服务。

通常一个POI都会有一个官方名称,有的会有别名称呼,例如“北京大学”,又称为“北大”。这些POI点周围的用户通常习惯用别名去进行搜索,如果没有这些别名数据,可能会导致提供给用户的信息有误。因此如何获取现实中地址的别名,并通过别名知识系统服务于业务,就显得很重要。

图1:别名生成模型概要图

业界目前还没有公开的地理别名数据信息,有些是通过人工采集,有些通过机器学习或深度学习对别名数据进行挖掘等,成本都比较高。本文另辟蹊径,通过二种方法对地理别名数据进行挖掘:1.基于内容上下文高维向量的别名抓取技术(如图1所示);2. 基于收货地址相同语境词的分析技术。这些方法实现程度相对简捷和高效,成本较低。此外,对挖掘出的别名数据,建立了一套知识库系统,用于支持地理别名数据的使用。

 

关键词:

地理别名,POI,收货地址,知识库

 

一. 别名数据的挖掘

1. 根据内容上下文高维向量的别名抓取技术

有图2两个收货地址

图2:收货地址上下文比较

如何判断两个收货地址是否相似,可以通过文本相似性算法进行计算,文本相似性算法有很多,本文选择余弦相似性算法。图3为三角形的余弦函数计算公式

图3:三角函数余弦计算公式

夹角越小,相似性越大。对于二纬空间,可以用向量的点积来表示,假设向量a、b的坐标分别为(x1,y1)、(x2,y2) ,则:

图4:二维空间向量的余弦相似性计算公式

推广到多维度,A = (x1,x2.....xn), B = (y1,y2...yn),计算公式为:

图5:多维空间向量的余弦相似性计算公式

对图2中的收货地址文本进行余弦相似性计算

① 先进行分词

A = 北京市/海淀区/颐和园路5号/北京大学/五四路

B = 北京市/海淀区/颐和园路5号/北大/五四路

②  列出所有的词

{北京市,海淀区,颐和园路5号,北京大学,北大,五四路}

③  计算词频向量

A = {1,1,1,1,0,1}, B ={1, 1, 1,0, 1, 1}

④  带入图5公式计算结果

结果表明这两个收货地址基本相似,但如何挖掘出别名呢?上文中,收货地址相似性计算,分词是对一条地址水平切分的,如图6所示:

图6:分词水平切分

同理,分词也可以对多条地址进行竖直切分,如图7所示:

图7:分词竖直切分

①多条地址竖直切分后,②统计原词和所有别名目标词(图7红色框内的词)在收货地址中前一个词和后一个词,③建立词频向量,④计算原词和别名目标词的余弦相似性(该过程只是换了切词的方式,余弦相似性计算过程保持不变)。

别名目标词定义如下:地点原名称顺序不变的所有子集,并排除一个字和自身。如“北京大学”可能有{北大,北学,北京大}等10种别名目标词。

计算需要一定量的收货地址信息,收货地址可以选择在该地点300米内(注:收货地址要经过用户授权,不能侵犯用户的隐私)

此外,在计算时,要排除稀疏向量干扰(稀疏向量可以定义为向量中0个数超过90%)。

 

2. 收货地址相同语境词的分析

同一条收货地址中,可能会出现相同含义的两个地址名称,如“南京市玄武区北京东路江苏省广播电视总台广电城2期东门”这条收货地址,“江苏省广播电视总台”和“广电城2期”同时出现,则它们可能具有相同含义。对该种情况进行归类如下:

① 获取该地点500米内的收货地址

② 对这些收货地址进行分词,包含同一名称的收货地址归为一个集合,则有如下3种情况:

左图中,阴影部分表示名称A和名称B,同时出现在一些收货地址中,且没有出现在其他名称的收货地址中,则名称A和名称B具有相同语境,属于别名关系。

图二中,包含各个名称的收货地址没有任何交集,则名称之间表示独立的地点。

右图中,包含名称B的地址和包含名称A/N的地址都有交集,则名称B既不是A的别名,也不是N的别名(别名不能具有二义性)。

 

二. 别名知识库工程建设

上文中,解决了别名数据从何而来的问题。有了别名数据后,接下来要做的,就是如何在工程中方便的使用这些数据。此外,设计的系统,不只是为了存储地理别名数据,后期的其它知识数据也能方便的复用这套系统。

知识库的架构设计

1)一个词条有名称、编号、描述等基本信息,但有些词条可能不止一种含义,如“苹果”既表示一种水果,也可以表示为手机。因此词条必须限定在具体的条件下,才不会有二义性,词条表结构设计如图9所示:

图9:知识库词条表示

2)此外,词条与词条之间可能存在某种关系,如“番茄”词条和“西红柿”词条互为同义词关系(前提是限定在蔬菜这个条件下)。因此,还需要为词条建立关联关系,建立的关联关系也必须在一个限定条件下才有意义,其结构可以设计为图10所示:

图10:知识库结构图

这样,在这个知识系统中,除了用来存储任意的词条知识,还可以建立词条之间的关系。

现在,我们只需要把地理名称和它的别名数据,写进知识库中的词条,然后,在POI限定条件下,建立同义词关系。这样,当一个用户不管是搜索原名称,还是别名,都可以推荐出相同含义的词。

 

三. 延伸

使用机器学习,对别名数据进行挖掘。可以参考《基于兴趣点简称的检索方法研究》这篇文章,其基本思想是:提出了一种基于统计方法和分词的匹配模型,它由三个部分组成。针对不同类别的全称,对兴趣点全称进行分类,将全称划分成机构、公司、行业、区域和未知五类单词;把单词按照长度分为六类,然后在此基础上建立隐马尔可夫统计模型;在越频繁使用的全称越有可能产生简称的假设下,建立一个流行度统计模型[1]。

 

参考文献:

[1]《基于兴趣点简称的检索方法研究》


扫码关注【闲鱼技术】公众号

更多推荐

闲鱼别名知识库数据挖掘与工程建设

本文发布于:2024-03-05 03:38:16,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1711216.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:别名   工程建设   知识库   数据挖掘

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!