C2C在线短租跨平台房东匹配算法
2022-06-23吴代漾梁家铭董振宁梁周扬
吴代漾,赵 洁,梁家铭,董振宁,梁周扬
(广东工业大学管理学院,广东 广州 510520)
0 引 言
随着移动互联网、云计算、第三方电子支付、物联网、大数据等新一代信息技术应用涌现普及,共享经济以其强大的商业模式,渗透进衣食住行等传统行业以及各自的细分领域[1-2]。共享住宿,也称在线短租,近年来蓬勃发展,是共享经济最具有代表性的行业之一。2019年,我国在线短租平台交易规模达225亿元,同比增长率36.5%,居该年共享经济各领域增速第一[3]。2020年国内外在线短租交易受突发疫情严重影响,但全球疫情日趋缓解,平台发展随即恢复,2020年,我国在线短租市场交易额恢复至2019年的约40%,Airbnb上市首日股价翻倍[4],显示市场存在长远发展的潜力与活力。
C2C是当前国内外在线短租行业主导模式,双边平台不仅依赖于买方黏度,也依赖于卖方进驻,以保证房源储备的数量与覆盖度。对房东属性、供给动机与行为的相关工作一直为在线短租领域的研究热点[5-7]。
以往对房东的研究大多从单一平台展开[8],随着在线短租平台的涌现,房东为提高交易额,会进驻多个在线短租平台,多栖成为普遍现象。用户多栖又称为用户多归属,即同一个用户在多个平台进行交易,这种现象普遍存在于各种互联网平台中,包括且不限于移动社交平台、电子商务平台、外卖服务平台与共享住宿平台。用户多归属又分为卖家多归属与买家多归属。
本文研究对象为前者。卖家多归属现象在双边市场、定价策略等研究领域都备受关注[9-12],不同平台下同一房东(以下简称同源房东)产生的行为数据可以丰富研究实验数据,为部分研究提供新的思路。
如何在不同平台识别同源房东成为首要解决的问题。在数据较少的情境下可人工识别,但国内外平台中的房源数量高达百万,人工方法无法解决。同时,同源房东本质上是跨平台用户身份识别问题,但在线短租平台所提供信息以房源信息为主,房东个人身份信息相对稀疏,这对同源房东识别提出了新的挑战。针对上述问题,本文提出一种跨平台大规模用户匹配模型,以房源匹配为入口,进而识别同源房东。
1 研究现状
目前,用户多栖现象在多个领域平台中普遍存在,包括在线短租、电子商务和社交网络等领域平台。跨平台用户身份匹配具有很高的研究和应用价值,通过识别不同平台同一用户,能帮助互联网服务提供方从另一个角度了解客户,掌握更多信息从而更好地进行用户画像刻画、个性化推荐以及恶意用户识别等业务。
国内外学者针对该问题进行了深入研究。跨平台用户身份匹配的关键,首先在于提取匹配特征,其次在于匹配模型设计,下面分别针对这2个部分内容进行综述。
1.1 匹配特征提取
现有的跨平台用户身份匹配常基于社交网络、电子商务开展研究,结合平台特点,其匹配特征主要从用户的个人信息属性、关系、生成内容3个方面获取,相关研究总结可见表1。
表1 相关研究匹配特征提取方法总结
1.1.1 用户个人信息
用户个人信息是在平台上最能直观展示用户身份的外在信息,可将其分为以下2种。第1种是用户基本信息,包括用户名[13-16]、自我描述[14]、用户头像[14];第2种是用户隐私信息,即用户个体真实信息,如地理位置[14]、兴趣爱好[14,17]等。现有研究在上述信息上抽取特征,如基于用户名的长度、包含的特殊字符与数字等信息提取出的长度相似度、数字差异度等特征[15-16]。基于此类特征,用户识别精度较高,但在现实场景中用户个人数据存在不可靠、不完整、不可用等问题[18],如何在这些问题下保持高识别精度效果仍有待讨论。
1.1.2 用户关系信息
平台间用户间存在关联,此类关系不容易虚构,能够一定程度上反映用户的兴趣与人际关系。关系信息较为抽象,需要将其转化为某一种数据结构,目前主要有2种方式,一种是将用户关系转化为拓扑结构[19-20],另一种是将拓扑结构通过某种方式降维为特征向量[21-22]。Li等[21]基于用户朋友关系、用户关系集、网络聚类属性的相似性,提取出40维的特征向量,Man等[22]提出了PALE方法,利用网络嵌入表示学习将用户节点映射为特征向量。基于用户关系的用户识别模型具有较强鲁棒性,但现实场景中,用户关系可能非常稀疏,因此难以建模困难。
1.1.3 用户生成内容
用户生成信息是指用户在平台上产生的各类信息,包括行为痕迹与生成内容。行为痕迹指用户在使用线上平台进行浏览转发点赞行为时的位置与时间信息[18,23];生成内容指用户在平台生成或发布的文字图片信息[24]等。生成信息可以为用户打上身份标签,此类标签能体现用户的兴趣与爱好等个人信息,但收集用户生成信息具有较大难度,一般仅能在平台内部进行,且可能涉及用户隐私侵犯。
1.1.4 本节小结
上述讨论中主要基于用户获取匹配特征,但现实情况下在线短租平台不同于社交领域平台,在线短租平台中的房东用户属性、关系、生成内容极少,难以作为特征进行精确匹配,因此本文从房源角度出发,以房源信息作为房东匹配特征。
1.2 匹配模型设计
匹配特征提取后,绝大多数用户匹配模型会基于匹配特征特点,计算用户两两之间的相似度,包括字符串、图片、数字向量、网络拓扑结构等相似度,常见计算方法如表2所示。然后为不同特征赋予重要度,最后利用特征相似度与相对应的重要度计算不同用户之间的相似度,当用户相似度达到某个阈值则认为匹配成功。
表2 常见相似度计算方法
1.3 本章总结
目前,社交网络、电子商务等领域中,跨平台用户身份匹配已取得较多成果,但在线短租同源房东匹配研究较少,平台信息与上述研究有所区别,本文就在线短租平台具体情况展开研究,从平台中提取特征,基于现有研究匹配算法思路设计在线短租平台同源房东匹配算法。
2 C2C在线短租跨平台匹配方法
本章首先概述研究框架,然后介绍房源匹配特征、设计相似度计算方法。最后提出两阶段房东匹配算法,从房源匹配出发进而匹配房东。
2.1 研究思路
现有跨平台用户匹配框架如图1(a)所示,在该框架基础上本文提出跨平台房东匹配框架,如图1(b)所示。1)获取多平台房源信息;2)提取特征;3)设计房源匹配算法,获得房源匹配对;4)设计两阶段房东匹配算法,基于房源匹配进而匹配房东。
(a) 现有跨平台用户匹配框架
2.2 用户匹配特征提取
不同于社交网络与电子商务平台,C2C短租平台中,房东个人信息有限,现有研究中的用户匹配方法无法直接应用于房东匹配,本文基于C2C短租平台现实情况,先进行房源匹配,再进行房东匹配。房源匹配的基本思想是使用房源地理位置信息进行匹配,主要通过房源经纬度、地址与标题等位置描述信息获取,其中经纬度较为客观,但具有一定偏差,而房源地址包含了省市区及房源小区等信息,部份房源标题还包含其所在街道及附近地理信息。房源匹配除了考虑地理位置外,还需综合考虑房源价格、面积等其它特征。
表3 匹配特征
综上所述,本文抽取上述房源特征,具体见表3。表3中的特征分为2个部分,第1类为房源所在城市、经纬度,第2类包括房源价格、面积等房源其它特征,记为HFs,根据特征数据类型,分别设计相似度计算方法。对房源标题等字符串类型特征,采用编辑距离(Levenshitein)(LD)计算相似度[25]:
(1)
经纬度相似度计算过程见算法1。如当2个房源在经度或者纬度上相差0.2时,表示在地理位置上最多可相差20000 m(由于平台存在计量与精度误差,实际距离小于该值),是同一房源的可能性很低,因此LatThr和LongThr均设置为0.2。
算法1 经纬度相似度算法Simlong&latAlg
输入:房源i的经纬度H1.Lat,H1.Long,房源j的经纬度H2.Lat,H2.Long,经纬度阈值LatThr,LongThr
输出:经纬度相似度Simlong&lat
1.DfLat=Hi.Lat-Hj.Lat, DfLong=Hi.Long-Hj.Long //计算2个房源的经纬度差异
2.if DfLat>LatThr or DfLong>LongThr //若2个房源在地理位置上相差过大,不能匹配
3.return 0
5.return
数字特征采用欧氏距离计算,具体如公式(2)所示:
(2)
其中,X与Y分别代表2个房源某数字特征,xi与yi分别为X与Y中第i个各分量,基于上述方法,可分别计算2个房源在各特征上的相似度。
1)字符串类型的特征包括标题、地址、姓名,以标题为例,相似度计算方式如下所示:
Simtitle(housei,housej)=1-resemblance(housei(title),housej(title))
(3)
2)数字类型的特征包括价格、面积、床、宜居人数,以价格为例相似度计算方式如下所示:
(4)
房源相似度计算方式如式(5)所示,式中wi表示特征i的重要度。
(5)
2.3 两阶段房东匹配算法
基于上述分析,本文先匹配房源继而匹配房源对应房东。匹配算法中,涉及较多特征,为提高效率,本文提出两阶段匹配方法,思路分阶段使用表3中2类特征:地理特征GFs,共4个,房源特征HFs,共5个。第一阶段,先使用GFs特征对房源进行匹配,设置第一阶段匹配阈值thr1,用较少特征获得地理位置相似度较高的房源匹配对。第二阶段,基于第一阶段所得的房源匹配对匹配房东,并基于GFs+HFs进行检验过滤。
2.3.1 第一阶段
本阶段目标是快速过滤无法匹配的房源,较为直观地理解,GFs中各特征具有相似的重要性,故对各GFs特征等值设置重要度,以保证效率。第一阶段匹配如算法2所示。
算法2第一阶段匹配算法
输入:平台P1房源列表HL1,平台P2房源列表HL2,地理位置特征集合GFs,GFs特征重要度W=[w1,w2,w3],第一阶段匹配阈值thr1
输出:房源匹配对HPL
1.HL1与HL2中的房源按城市分割为多个子集,得到各城市ck房源列表ck.HL
2.for houseiin ck.HL1
3.for housejin ck.HL2 (housei和housej位于同一城市c)
4.计算Simlong&lat,Simtitle,Simloc
5.if Simlong&lat=0 Then跳转到步骤 4 //经纬度差异过大,不为同一房源
6.计算Sim=Simtitle·w1+Simloc·w2+Simlong&lat·w3
7.if Sim>thr1 Then
8.end-for
9.end-for
10.return HPL
2.3.2 第二阶段
由于2个地理位置非常接近的房源,并不能充分证明它们属于同一房东,所以第二阶段分为2个部分,第1部分基于算法3获取的房源匹配对进行房东匹配,第2部分任务使用GFs+HFs特征对匹配的房东进一步检验和过滤。
本阶段对各特征重要度需进行较为精确的设置,以保证房源匹配具有较高准确度。若人为设置具有较大主观性,难以保证匹配精度,如何合理设置算法参数对匹配结果至关重要。本文将该问题转化为优化问题,采用群智能算法搜索最优参数。房东匹配算法本质上为分类问题,即判断2个房东是否为同一房东,评价指标包括准确率(Accuracy)、精确率(Precision)、召回率(Recall)、F1、AUC等,本文以accuracy作为算法主要评价指标,对遗传算法目标函数进行设计,描述见公式(6):
(6)
基于上述分析,本研究采用遗传算法搜索参数,见算法3。假设需设特征重要度参数wi为n个,则遗传算法中染色体的基因设置n位,每一基因对应一个参数,基因位对应一个22位二进制编码(结果精确至小数点后6位数),同时遵守公式(6)约束。
算法3 基于遗传算法的参数搜索算法
输入:遗传算法参数(种群数NIND,终止代数MaxGen,个体数PN,交叉系数PC,变异系数PM)房源匹配对HPL
输出:各个特征的重要度wi与算法4阈值thr
1.根据参数PN初始化种群
2.while 未满足终止条件MaxGen //进化
3.根据公式(6)约束条件筛选新参数
4.在LPL上基于公式(6)目标函数计算目标值,并进行适应度计算
5.根据适应度选择并保存最优值
6.种群根据参数PC和PM交叉和变异
7.end-while
8.returnW=[w1,…,wi]与thr
第二阶段匹配算法具体流程如算法4所示,其中输入的房源匹配对列表HPL与GFs+HFs特征重要度W、第二阶段匹配阈值thr2分别为算法2和算法3的输出结果。
算法4 第二阶段匹配算法
输入:房源匹配对列表HPL,算法3搜索到的GFs+HFs特征重要度W、第二阶段匹配阈值thr2
输出:房东匹配对列表LPL
//基于房源匹配对列表HPL匹配房东
1.LPL={}
2.for
3.if housei或housej所属房东
4.将housei与housej所属房东
5.end for
//基于GFs+HFs特征过滤LPL中的房东
6.for
7.for any ha in hostm的房源
8.for any hb in hostn的房源
9.若
10.maxSim=Simhouse
11.if maxSim
12.end for
13.return LPL
3 实验分析
本章设计跨平台房东匹配的实验,在大规模真实平台数据上进行实验,最后对实验结果进行分析。
3.1 实验数据与参数设置
笔者所在团队选取了国内2个知名在线短租平台(下述简称A与B),通过爬虫收集2017年12月—2018年12月间的房源信息,A平台约11万房源,对应约3.5万房东,B平台约4.2万房源,对应约1.9万房东。
通过人工标注,共得到2000对匹配对,其中匹配对正例数为1072,反例数为928,为本实验的实验数据集1(dataset1)。除dataset1外,本文还标注了一份由难例构成的数据集2(dataset2),数量总数为2000,其中正例数为1072,反例数为928。难例是指反例在地理位置与部分房源信息上非常接近,只通过部分特征无法清楚判断匹配数据类别的数据。
算法4的遗传算法相关参数设置为:种群大小NIND设为40,个体数PN设为9,交叉系数PC设为0.7,变异系数PM设为1/PN即0.11,终止代数MaxGen设为2000,确保在足够代数下获取近似最优解。进行5-fold交叉验证,实验重复运行算法5次,记录每次结果。
3.2 实验与结果分析
3.2.1 参数重要度搜索方法验证
本文整合遗传算法搜索各匹配特征的重要度,基于公式(6)和算法3,在dataset1上进行实验。参数分布情况见表4与图2,以该参数作为输入的算法4匹配准确率见表4 acc行所示。
表4 参数搜索表
基于算法3搜索特征重要度,搜索到的表3中的8个特征重要度分布于[0,0.38],阈值thr2分布于[0.30,0.56]之间。5次实验的平均模型准确率达99.69%,说明本文使用群智能算法,可有效搜索到接近最优参数,获得较准确的房东匹配结果。
在各特征中,平均重要度占比前五的指标为房源标题、房源经纬度、房东姓名与房源地址、房源面积。一般来说,参数重要度越大,说明特征对匹配模型贡献越高,上述特征中包含了所有GPs特征,重要度均大于0.1,说明算法3中通过地理信息特征GFs,能有效匹配房源,GFs特征在算法中能发挥较大作用。相对于GFs,房源价格、房源床数、房源宜居人数等特征作用相对小,重要度均小于0.1,究其原因,它们随房东不同平台的定价策略与出租方式动态变化,未能对分类结果产生较为稳定的影响。
通过上述分析可知,重要度大于0.1的特征,即GFs,为较重要特征,在匹配第1阶段使用,即可快速得到较准确的房源匹配对。重要度小于0.1的特征,即HFs,在第2阶段使用,可发挥一定的作用。在实验2中,将进一步验证HFs的有效性。
图2 参数分布
3.2.2 特征有效性检验
为验证2类特征的作用,本文设计以下实验:对于重要度小于0.1的房源特征集合lFs,1)在dataset1上保留和去除lFs,测试模型准确率;2)在dataset2进行类似实验,获得去除和保留lFs的模型准确率,结果如图3所示。
图3 模型准确率对比
在dataset1上,保留或去除lFs,测试模型准确率差别非常小,说明lFs影响较小,但在难例数据集dataset2中去除lFs后,模型准确率由81.97%下降到77.15%,有一定幅度下降。上述结果说明房源价格、房源床数、房源宜居人数特征在处理难例时,可发挥一定作用,进一步说明本文抽取特征是有效的,基于此设计的两阶段匹配算法,第一阶段可利用少量特征GFs快速过滤无法匹配的房源,第二阶段,可利用HPs较准确地过滤和筛选地理位置接近导致难以区分的房源。
3.2.3 房东匹配算法验证
算法4在dataset1以不同分类阈值thr2运行,各指标部分结果如表5所示。通过该表数据,可以发现在阈值thr2为0.5时模型的综合性能最优,准确率、精确率、召回率、F1分别达到了0.989、0.995、0.983、0.989。图4为上述指标的曲线图,其中Y轴为指标值,X轴为阈值thr2。
表5 算法指标
从图4可知,各算法分类性能指标随阈值变化,表明阈值设置对模型性能有显著影响,也进一步印证本文基于遗传算法确定参数的必要性。
图4 算法指标曲线图
3.2.4 算法效果对比
房东匹配问题本质上为分类问题,故本节引入支持向量机(SVM)与决策树(DT)分类器,基于本文提取特征运行算法,并通过预实验确定分类器参数以保证效果。其中参数如下:SVM设置惩罚系数C为20,使用高斯核函数,DT使用基尼系数。在2个数据集上进行5-fold交叉验证,实验重复运行算法5次,运行结果如图5所示。图中效果表明本文提取特征能有效区分房东是否匹配,并且通过对比验证TSHM在房东匹配问题上优于常用分类模型。
图5 模型效果对比
3.3 实验小结
本章设计多个实验,验证所抽取匹配特征和考虑算法中涉及大量参数,通过遗传算法可自动获取多个匹配特征重要度,避免人为设置参数的主观性引起的偏差;基于此给出房东匹配算法。通过真实多平台数据验证,在普通数据集中精度高达99.69%,在难例数据集上也获得81.97%的准确率,最后引入其它分类模型进行对比,实验结果表明TSHM模型在在线短租房东匹配问题上优于其他模型。实验从多个角度验证两阶段算法的正确性和有效性,并兼顾效率和精度2个方面深度探讨各类特征在跨平台房东匹配中起到的作用。
4 结束语
随着在线短租平台的涌现,房东多归属现象持续受到关注与研究。在不同平台识别同源房东成为首要解决的问题,本文基于社交与电商等领域现有研究,提出了一种基于房源匹配的C2C在线短租跨平台房东匹配模型,使用遗传算法搜索模型参数,并基于2个国内知名在线短租的大量真实房源数据,分别在原数据集与难例数据集上进行实验,实验结果表明该模型能有效识别同源房东。但本文实验仅以国内平台数据进行验证分析,特征未考虑文本和图片等,有待进一步丰富,后续研究可以引入更多特征,并结合国内与国外数据在更复杂情况下讨论房东匹配方法。