摘 要: 在线约跑系统已成为人们业务休闲地热门平台之一,与传统的用户项目推荐不同,目标是将项目与用户的兴趣相匹配,针对不同用户间跑步区域、时间、周期等因素建立彼此联系。系统通过测量与每个潜在约跑候选者之间的兼容性的倒数得分,并且生成推荐列表以包括具有最高得分的用户。提出一个推荐系统,这种系统的性能是根据来自中国主要在线交友网站的真实数据集进行评估的。结果表明,提出的推荐算法明显优于之前提出的方法,并且基于协同过滤的算法在精度和召回方面比基于内容的算法实现了更好的性能。
关键词: 在线约跑; 评估推荐; 在线交友; 协同过滤算法
中图分类号: TP393 文献标志码: A
Online Dating Recommendation System Design
TANG Jing
(Sports Center Xi'an Peihua University, Xi'an 710125)
Abstract: Online dating system has become one of the popular platforms for people's business leisure. It is different from the traditional user project recommendation. The goal is to match the project with the user's interest, and establish contact for different running areas, time, cycle and other factors. The system scores a reciprocal score by measuring compatibility with each potential appointment candidate and generates a recommendation list which includes the users with the highest score. The performance of the recommendation system presented in this paper is based on real data sets from major online dating sites in China. The results show that the proposed algorithm is significantly better than the previously methods, and the algorithm based on collaborative filtering achieves better performance than the content-based algorithm in accuracy and recall.
Key words: Online dating; Evaluation recommendation; Online making friends; Collaborative filtering algorithms
0 引言
在線约跑平台已经成为人们寻找潜在的运动伙伴的流行平台,跑步已经成为工作群体提升身体素质的有效手段之一。许多在线约跑平台根据其专有匹配算法提供有关兼容伙伴的建议。与传统的用户项目推荐系统不同,传统的用户项目推荐系统的目标通常是预测用户对被动项目(例如,书籍,电影等)的意见,当在线上向用户(称为服务用户)推荐潜在约跑日期时,重要的不仅是推荐的用户和匹配用户的约跑兴趣,而且推荐的用户对服务用户约跑时间匹配,因此在相互交流时才会发生互动。
本文所设计的在线约跑平台的特点为互惠推荐问题提供了独特的机会和挑战。首先,通过利用数据集中建立一组丰富的用户属性可用于预测模型,包含用户的年龄,性别,身高,体重,职业、照片数量等,此外,还有各种在线约跑特定信息,比如用户潜在的空闲时间、跑步区域等;此外,还包含有不同用户的通信喜好,即发送或回复给谁的消息以及相关时间戳的人,如文献[1]中提出用户的通信轨迹反映了他/她的实际偏好。
国内外对于在线交友系统(约跑系统也是交友系统的一种)的研究主要针对用户行为推荐,如文献[1]中作者分析了用户的发送和回复行为如何与几个重要的用户属性相关联,例如年龄,收入,教育程度和照片数量等,以及用户的实际偏好与他/她的偏差程度陈述的偏好,从而建立用户偏好推荐系统;
在文献[2]中,作者提出了一种基于机器学习的方法,利用它们之间的客户简介和交易关系,找到合理的商业伙伴候选人;文献[3]的作者提出了一个三元因子图模型来处理在线社交网络中的双向关系预测。文献[4]中提出一种名为CLiMF的新协作过滤方法用于了解用户和项目的潜在因素,并提高推荐朋友或受托人对Epinions和Tuenti的top-k建议的表现;文献[5]采用基于LDA的方法来发现Twitter风格的在线社交网络中的社区,并且对每个社区应用矩阵分解以提供推荐;文献[6]中提出一种混合协同过滤的算法,该算法将互逆链路考虑在内,并且在推荐初始和相互接触时具有良好的性能,按照该思路,文献[7]提出具有类似特征的用户喜欢和不喜欢的人,并且被类似的人喜欢和不喜欢,该假设用于构建内容协作互惠推荐器,其在流行的在线交友数据集上进行评估。本文基于内容算法(Content Based Reciprocal Algorithm,RECON)和协同过滤的算法(Collaborative Filtering,HCF)设计实现约跑推荐系统。
1 约跑推荐系统设计
本章节主要对约跑推荐系统进行设计,首先对基于内容的算法RECON和混合协同过滤算法进行介绍,根据算法融合角度基于约跑的主题进行系统设计[8-9]。
约跑推荐系统的核心在于其能够推荐服务用户具有共同兴趣的用户,因此他们可能彼此通信。一对用户之间的交互记录是发送者和接收者之间实际兴趣和吸引力的良好指标,如果推荐的用户符合服务用户的兴趣,则服务用户将更有可能接近推荐的用户;此外,如果服务用户的吸引力与推荐用户的兴趣兼容,则推荐用户在联系时更有可能回复服务用户。
在线约跑网络的示例,如图1所示。
基于用户属性及其通信轨迹,目标是匹配彼此共同感兴趣的用户,例如用户1和服务用户2,用户3和服务用户4。通过描述如何根据平常兴趣和吸引力来测量一对用户之间的相似性,以及如何基于这些相似性度量来构建各种推荐算法,系统主要由以下四个主要部分组成。
(1) 提取基于用户的功能:当用户在线约跑平台注册时,他/她需要提供各种个人资料信息,包括用户的性别,年龄,当前位置(城市级别),家乡位置,身高,体重,体型,血型,职业,教育水平,宗教、照片等信息;除年龄,身高,体重和照片数量外,其中大多数属性都是绝对特征。
(2) 提取基于图形的功能:本文所研究的在线约跑平台用于具有相同运动(跑步)兴趣的两者间的交流通信,用户之间的通信痕迹可以被建模为男性和女性之间的二分网络,从二分图中提取基于图的相似性特征的集合,其表示用户在运动和吸引力方面的活跃水平
(3) 计算倒数分数:基于用户和基于图的特征,使用倒数分数来衡量算法1中描述的一對潜在日期之间的共同兴趣和吸引力。
在算法1中,Neighbor1( )和Neighbor2( )表示在二分网络中具有不同方向的用户的邻居集,Similarity1( )和Similarity2( )是可定制的函数,用于测量两个用户之间的相似性,而s(y,x)测量用户y和用户x的邻居之间的相似性。在计算s(x,y)和s(y,x)之后,计算倒数得分作为这两个相似性得分的调和平均值。
算法1 推荐分数
Input:service user x, and recommended user y
Output:reciprocal score
Begin
/* initialize compatible scores s*/
s(x,y) = 0.0
s(y,x) = 0.0
/*compute compatible scores for both x and y */
foreach u in Neighbor1 (y):
s(x,y) = s(x,y) + Similarity1 (x,u)
end for
foreach v in Neighbor2 (x):
s(y,x) = s(y,x) + Similarit y2(y,v)
end for
/* normalize compatible scores for both x and y */
if |Neighbor1 (y)| > 0
s(x,y) =s(x,y)/|Neighbor1(y)|
if |Neighbor2(y)| > 0
s(y,x) =s(y,x)/|Neighbor2 (x)|
/* compute reciprocal score */
if s(x,y) > 0 and s(y,x) > 0
return 2/(s(x,y))-1+(s(y,x))-1
else
return 0.0
End
2.1 推荐算法应用
基于内容的算法基于用户属性的相似性构建,包括:
—CB1(RECON):算法1中的Neighbor1( )和Neighbor2( )都被设置为邻居Se( ),该算法与RECON相同。
—CB2:Neighbor1( )和Neighbor2( )都被设置为邻居Se( ),并且使用内容相似性函数来计算Similarity1( )和Similarity2( )。
基于协同过滤的算法利用服务用户的通信历史以及具有类似兴趣或吸引力的用户做出的决定来帮助提出建议。基于用户兴趣和吸引力的不同组合,本系统构建了以下四种基于协同过滤的推荐算法:
—CF1:Neighbor1( )和Neighbor2( )都被设置为邻居Se( ),按照算法1中,定义如下:s(x,y)=1Se(y)∑k∈Se(y)运动相似性(x,k)
s(y,x)=1Se(x)∑k∈Se(x)运动相似性(k,y) 如上所示,s(x,y)总结服务用户x和用户y已经联系的用户之间的吸引力相似性(即由相同用户联系),从而捕获服务用户x对用户y的吸引力;类似地,s(y,x)捕获用户y对服务用户x的吸引力。将这两个因素结合在一起,该算法捕获了服务用户和推荐用户之间的相互吸引力,CF1算法如图2所示。一个例子如图2a所示。
—CF2:Neighbor1( )和Neighbor2( )都被设置为邻居Se( )。通过s(x,y)总结服务用户x与已联系用户y的用户之间的兴趣相似度,捕获用户x对y的兴趣。类似地,s(y,x)捕获从用户y到x的兴趣。总之,该算法捕获了服务用户和推荐用户之间的共同兴趣。CF2算法一个例子如图2(b)所示。
—CF3:Neighbor1( )设置为Out-Neighbor Se( ),而Neighbor2( )设置为Out-Neighbor Re( ),该算法捕获服务用户中推荐用户的兴趣以及服务用户对推荐用户的吸引力。CF3算法如图3所示。一个例子如图3a所示。
—CF4:Neighbor1( )设置为Neighbor Re( ),而Neighbor2( )设置为邻居Se( ),通过捕获推荐用户对服务用户的吸引力以及推荐用户对服务用户的兴趣,CF4算法的一个例子如图3b所示。
图2说明了CF1和CF2算法的机制,如图2a中所示的CF1的示例中,服务用户x向用户F1,F2和F3发送消息,服務用户x的这些邻居与用户y共享相似的兴趣/区域,即,用户y和F1,F2,F3从至少一个共同用户接收消息。 此外,用户y向共享用户x的类似兴趣/区域(跑步)的用户M1和M2发送消息。因此,CF1捕获了服务用户和推荐用户之间的相互吸引力。如果x和y之间的往复分数排在前K位置(K定位为程序中的一个阈值),则用户y将被包括在服务用户x的推荐列表中。 图2b示出了CF2的示例,其捕获服务用户x和用户y之间的共同兴趣/区域,即用户x对用户y的兴趣/区域和用户y对服务用户x的兴趣/区域。可以以类似的方式解释图3中所示的CF3和CF4的示例。
3 总结
匹配彼此间共同区域、兴趣是在线约跑系统的核心,本文提出了一套相似度的在线约跑推荐算法,通过设计用户和服务用户间的兴趣及区域为推荐指标,详细介绍了算法的实现过程,针对不同的情景进行了示例介绍,后期将利用该算法进行系统上线测试运行。
参考文献
[1] Peng Xia, Kun Tu, Bruno Ribeiro, et al. Char-acterization of User Online Dating Behavior and Preference on a Large Online Dating Site[J]. Social Network Analysis - Community Detection and Evolution, 2014(2):1-25.
[2] Mori J, Kajikawa Y, Kashima H, et al. Finding business partners and building reciprocal relationships - A machine learning approach[J]. Expert Systems with Applications, 2012, 39(12):10402-10407.
[3] Hopcroft J E, Lou T, Tang J . Who will follow you back? reciprocal relationship prediction[C]// Acm International Conference on Information & Knowledge Management ACM, Scotland, Ot24-28,2011:1137-1146.
[4] Shi Y, Karatzoglou A, Baltrunas L, et al. CLiMF: learning to maximize reciprocal rank with collaborative less-is-more filtering[C]// Acm Recommender Systems. ACM, Dublin, Ireland, September 9-13,2012:4-11.
[5] Zhao G, Lee M L, Hsu W, et al. Community-based user recommendation in uni-directional social networks[C]// Acm International Conference on Information & Knowledge Management. ACM, Hammament, Tunisia, Joal,2013:189-198.
[6] Kang Z, Xi W, Mo Y, et al. User Recommendations in Reciprocal and Bipartite Social Networks--An Online Dating Case Study[J]. IEEE Intelligent Systems, 2014, 29(2):27-35.
[7] Akehurst J, Koprinska I, Yacef K, et al. CCR - A Content-Collaborative Reciprocal Recommender for Online Dating[C]// International Joint Conference on Artificial Intelligence. AAAI Press, Spain, Jnly 4-7, 2011:2199-2204.
[8] 王佳蕾,郭耀,刘志宏.基于社交网络信任关系的服务推荐方法[J].计算机科学,2018,45(S2):402-408.
[9] 焦旭,肖迎元,郑文广,朱珂.基于位置的社会化网络推荐技术研究进展[J].计算机研究与发展,2018,55(10):2291-2306.
(收稿日期: 2018.12.21)
基金项目:西安市社会科学规划基金项目编号(16L67)
作者简介:唐静(1982-),女,陕西西安,硕士大学本科,讲师,研究方向:为体育教育训练学。文章编号:1007-757X(2020)02-0061-03