1、基于分类算法的潜在好友推荐系统 丁蕊 汤庸 曾伟铨 常超 华南师范大学计算机学院 摘 要: 提出了一种基于分类算法的潜在好友推荐系统.该系统采用两步特征方法处理原始数据集, 去除不相关特征项和冗余特征项, 为分类器提供精简的特征集合;把学者潜在好友推荐问题转化为二分类问题, 对比 4 个常用分类器在两步特征选择方法上的分类效果, 找出了推荐效果最佳的分类器 (决策树分类器) , 同时得到学术社交网络中区分度最大的 6 个用户特征信息.使用来自学术社交网络学者网 (SCHOLAT) 的社交网络信息作为实验原始数据集进行测试, 实验结果显示:相比传统方法, 基于分类的推荐方法在准确率和 F1值均有
2、显著提升, 体现了基于分类算法的潜在好友推荐系统的准确性和实用价值.关键词: 潜在好友推荐; 特征选择; 分类器; 社交网络; Relief 算法; 学者网; 作者简介:汤庸, 教授, Email:.收稿日期:2016-12-28基金:国家自然科学基金项目 (61772211) A Potential Friend Recommendation System Based on Classification AlgorithmDING Rui TANG Yong ZENG Weiquan CHANG Chao School of Computer Science, South China Nor
3、mal University; Abstract: A potential friend recommendation system based on classification algorithm is proposed. The system uses the two-step feature method to process the original data set and removes irrelevant features for the classifier. The potential problems of scholars are translated into tw
4、o classification problems. By comparing the classification effect of four commonly to find out the best classifier, the method of classifiers in two-step feature selection is used. At the same time, it concludes six influence factors and main diffusion characteristics. The social network information
5、 from the Academic Social Network ( SCHOLAT) is tested as the original data sets. The experiment shows that the method based on significantly improves the accuracy and the F1 value. It reflects the accuracy and practical value of the recommendation system of potential friends based on classification
6、 algorithms.Keyword: potential friends recommendation; feature selection; classifier; social network; Relief algorithm; SCHOLAT; Received: 2016-12-28近年来, 越来越多的学者选择在社交网站上拓展人脉, 寻找有用信息.相比其他社交网站, 学术社交网站的数据如好友关系、合作关系和团队信息等, 通常更加固定1, 已有案例如 Amet Miner2自动提取学者信息并建模, 提供推荐审稿人等学术搜索服务;SCHOLAT 作为面向学者的社交网站, 根据用户浏览
7、和交互记录等, 为用户推荐感兴趣的学者和相似研究领域学者.大量的学者关系导致了学术社交网站与其他社交网络一样, 出现了信息过载问题3.解决信息过载问题, 通常从两方面入手: (1) 选择精简有用的用户特征信息, 为推荐模型提供有效数据集; (2) 选出适合应用场景的效果最佳的推荐模型.针对第一方面, KIRA 和 RENDELL4首先提出经典的 Relief 算法, 使用二分类方法对特征项进行分析;XU 和 ARAKI5指出 Relief 算法虽然可以很好地发现冗余数据, 但特征之间会相互影响;YU 和 LIU6提出一种快速特征选择方法, 并对比不同特征选择方法的运行时间和效率;DING 等7
8、分析了社交网络中用户特征信息并在 Relief 的基础上加入聚类算法, 得到了更好的特征集合;ABEDINIA等8基于信息论标准, 提出一种层次过滤封装方法.但这些算法都没有考虑用户的个人信息、在线交互行为等特征值之间的相互影响.针对第二方面, BERMEJO 等9根据划分出的社区建立好友网络图, 并在图中的边之间加入真实的关系语境, 进行用户间关系强度的定量计算;FARID 等10针对大规模社交网络, 将用户潜在好友划分为“可能认识的”和“可能感兴趣的”2 类, 然后分别基于用户共同好友关系拓扑图和 Profile 文本相似性计算模型进行描述;贝叶斯网络和朴素贝叶斯算法 (Na6ve Bay
9、es, NB) 是经典的分类方法, KONONENKO11在特征子集的选择上使用了朴素贝叶斯算法.但这些基于用户关系的方法并没有充分利用用户的多属性特征.结合以上分析, 为了更好地应用分类模型预测学术社交网站中用户的潜在好友, 提高推荐准确度, 从而提高用户黏度、增加网站流量, 本文针对 SCHOLAT 的特征选择方法和推荐模型做出改进:采用两步特征选择方法去除不相关特征项和冗余特征项, 得到精简的特征集合, 解决社交网络中用户数据之间相互影响的问题;考虑用户多属性特征的充分利用问题, 将学者潜在好友推荐问题转化为二分类问题, 对比 4 个常用分类器在两步特征选择方法上的分类效果, 选出效果最
10、佳的分类器, 并推算出学术社交网络中区分度最大的 6 个用户特征信息.1 定义描述首先定义候选集和推荐结果的表示方法.定义 1 候选集:对于给定用户集 U= (u1, u2, , un) , 特征矩阵为 (X 1, y1) , (X2, y2) , , (Xn, yn) , 其中 n 为用户数, X i为用户 ui的特征向量, 且Xi!R, m 为特征个数, y i!-1, +1为最终的推荐结果.对于 2 个用户 ui, uj!U, 如果他们在定义的时间段内有交互记录 (如浏览记录、发送邮件、互赞记录等) , 并且相互不是好友关系, 那么 ui将被放入 uj的推荐候选集中, 同时 uj也会被存
11、入 ui的推荐候选集中. (u i, uj) 代表系统将会把用户 uj推荐给 ui.为了确定用户 ui最终是否被打上推荐或者不推荐的标签, 定义了预测函数:定义 2 推荐结果:实验的目标是让分类器学习到一个预测函数 FRS (.) , 设置分类器的阈值, 以预测在时间戳 t 之后, 用户是否被推荐给目标, 即:2 基于分类算法的好友推荐系统本节介绍在学术社交网络中基于分类算法的潜在好友推荐系统流程.2.1 特征选择方法两步特征选择方法如图 1 所示.首先使用 Relief 算法8去除特征矩阵中不相关的特征.该算法可以有效区分不同用户之间特征值的差异, 计算该特征对所有依赖的变量的影响概率, 并
12、输出该概率权重.对于每一个实例 X, Relief 都使用 p 维欧几里得距离选择出最邻近的相同标签和不同标签的实例, 并组成三元组, 更新他们的特征权重向量, 计算出平均权重向量.最终选择出平均权重大于相关系数#的特征项7.图 1 数据预处理-两步特征过滤 Figure 1 Data preprocessing-two-step method of feature selec-tion 下载原图2.2 分类器方法本文使用学者网社交测试集对 4 种分类器做实验, 通过逻辑回归函数, 判断得出最适合于基于分类算法的好友推荐系统的分类器.4 类分类器如下:(1) 朴素贝叶斯算法12:只需要少量的训
13、练集即可计算出特征属于某一分类的概率.对于连续和离散数据同样适用.(2) 支持向量机算法 (Support Vector Machine, SVM) 13:SVM 建立在统计学习理论的 VC 维理论和结构风险最小原理基础上, 根据有限的样本信息在模型的复杂性和学习能力之间寻求最佳折中, 以获得最好的推广能力;是特征空间上间隔最大的线性分类器, 该策略为间隔最大化, 最终可转化为一个凸二次规划问题的求解.(3) 逻辑回归算法 (Logistic Regressive, LR) 14:逻辑回归的目的是一个0/1 分类模型, 而这个模型是将特性的线性组合作为自变量, 由于自变量的取值范围是 (-,
14、+) , 因此使用逻辑回归函数将结果映射为 (0, 1) 之间的值, 即结果属于某一个分类的概率.逻辑回归函数为:其中, x 是 n 维特征向量, ! (-, +) 为最佳参数.(4) 决策树算法 (Decision Tree, DT) 15:该算法不需要参数设置就可以借助好的特征选择方法将目标用户分为特定的类.决策树算法有不同的算法核心, 根据数据特点, 本文使用 ID3 的信息增益的方法.2.3 系统描述传统的分类技术可以计算一个候选项属于某个特定类的概率, 并输出一个 j 值 (代表该项属于第 j 个类别) .在好友推荐领域, 这种类别表示为被推荐和不推荐, 即二分类问题 (如定义 1
15、和定义 2) .在使用两步特征选择方法的分类算法中, 首先需要收集用户的个人信息、社交信息和交互行为等.根据用户的交互行为 (定义 1 的声明) 为每位用户选出候选集, 也即用户对.获取每位用户的特征矩阵 X, 使用两步特征选择方法对特征项去除冗余.训练分类器模型, 对 4 个分类器分别调参, 得到最优的预测函数.记录分类权重, 根据权重阈值确定是否推荐目标用户.算法 1 描述了系统的整体流程.算法 1 基于分类算法的潜在好友推荐算法Step 1.收集数据并选出候选集.Step 2.输入用户信息 U=, , ;分类器阈值.Step 3.每个用户的推荐列表置空, 候选集的推荐标签置为 0 (未推
16、荐) .Step 4.对于 1im:获取每个用户 ui的特征集, 构成特征矩阵 X, 并进行特征选择.Step 5.将预处理之后的数据集 (分为训练集和测试集) 放入分类器中, 训练分类器模型, 得到预测函数 FRS (.) ;为测试集里的每个待推荐的用户 uj生成分类权重 yj;调参, 当 yj 时, 将待推荐用户放入 ui的推荐列表中, 为每个用户生成推荐列表:Y= (u 1, rec List1) , , (um, recListm) .Step 6.输出 Y、准确度 P、召回率 R、F 1值.另外, 在分类阶段, 需为每个分类器设置 值;对于每个待推荐用户 uj, yj是对用户 ui的
17、推荐结果.3 实验部分实验的目的是选出效果较好的分类器模型, 并利用分类器推荐出用户的潜在好友.实验数据来自学术社交网络学者网 (SCHOLAT) 2014 年 9 月2015 年 9 月的社交网络信息, 用户量 11 698 个.首先抽取用户的显式社交信息和隐式社交信息, 包括:个人资料、团队信息、课程信息、论文信息、项目信息、访问与被访问记录、邮件情况等, 将 2015 年 5 月份之前的数据作为训练集, 之后的信息作为测试集.最终的候选集中一共有 2 700 对用户, 我们将对这部分数据打标签, 计算最终的准确度.在本文的实验中, 推荐方法被转换为二分类问题, 使用推荐系统中常用的评价指
18、标对实验结果进行评价, 包括准确度 (P) 和 F1值, 计算公式如下:其中, 对于用户 u!U, S (u) 为最终的推荐列表, T (u) 表示在测试集中标签为 1 的用户列表, 也即在 2015 年 5 月之前和目标用户 u 有交互行为但不是好友关系, 在 2015 年 59 月期间成为好友的用户.本文对相同的训练集和测试集做了 2 组实验.第一组实验中, 仅使用传统特征选择方法, 由于数据集中的特征项不大, 所以基本为手动选择特征.第二组实验中, 在使用分类器之前使用了两步特征选择方法, 观察 4 个分类器模型的效果.结果显示:使用传统特征选择方法时, 当特征数为 8, 朴素贝叶斯算法
19、的准确率最高, P 值达到 0.69;SVM 和 LR 均需要较多的特征数, 分别是 11 和 13;使用两步特征选择方法后, 准确度和 F1值有明显提高, 且特征数达到 6 时, 各分类效果均达到最佳 (图 2, 图 3) .由图 2、图 3 可以看出, 决策树算法的准确度和 F1值相比其他 3 个算法, 不仅数值较高, 而且发挥稳定, 因此, 最佳的分类器算法应是决策树算法, 该方法主要对离散值进行分类, 对一些属性值如工作单位、性别、学历信息等可以直接生成二叉决策树, 对连续性的值如研究领域、共同好友的相似度, 可以确定一个值作为分裂点, 生成分支, 从而使分类效果较好.图 3 4 个分
20、类器 F1 值对比 Figure 3 The F1-value comparison of four classifiers 下载原图图 2 4 个分类器 P 值对比 Figure 2 The P-value comparison of four classifiers 下载原图此外, 实验发现了在每一次的特征选择中有 6 个必备的特征项:学术论文、研究领域、团队信息、课程信息、好友列表和工作单位, 是在不相关特征过滤中打分最高的特征项, 在冗余过滤中又属于不同的聚类, 保证了他们之间的相似度最小.在学者网上, 这 6 个必选项对该网站的用户拓展在线社交网络也是极其重要的因素.4 总结与展望本
21、文采集真实学术社交网络 SCHOLAT 中的用户个人信息和行为特征, 使用Relief 算法和 K-means 聚类算法去除不相关和冗余特征项, 在数据预处理阶段考虑特征值之间的相互影响, 将特征集缩减到理想的特征子集大小, 提高了系统对候选集的数据处理准确度;利用两步特征选择方法过滤特征, 对比数据在 4种分类器模型中的实验结果, 选出适合特征选择的分类器模型决策树算法, 为推荐系统模型选择出最有价值的特征, 并得出最有价值的 6 个学者信息, 为潜在好友推荐系统提供了框架.通过使用基于分类算法的潜在好友推荐系统, 提高了好友推荐准确率, 可以更好地为广大学者服务.在未来的工作中, 将研究分
22、类方法在潜在好友推荐领域的改进和优化, 减少分类器的时间消耗、提高推荐的准确度和优化分类流程等.扩展算法的适应性, 例如对其他社交网络数据的预测和分析.参考文献1刘先红, 李纲.科研社交网络的推荐系统对比分析J.图书情报工作, 2016, 60 (9) :116-122.LIU X H, LI G.Comparative analysis of recommender systems of research social networking serviceJ.Library and Information Service, 2016, 60 (9) :116-122. 2TANG J, ZH
23、ANG J, YAO L.Arnetminer:extraction and mining of academic social networksCProceedings of the 14th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining.New York:ACM, 2008:990-998. 3陈洁敏, 汤庸, 李建国, 等.个性化推荐算法研究J.华南师范大学学报 (自然科学版) , 2014, 46 (5) :5-18.CHEN J M, TANG Y, LI J G, et al.S
24、urvey of personalized recommendation algorithmsJ.Journal of South China Normal University (Natural Science Edition) , 2014, 46 (5) :5-18. 4KIRA K, RENDELL L A.The feature selection problem:traditional methods and a new algorithmC/Proceedings of the 10th National Conference on Articial Intelligence.S
25、an Jose, California:AAAI Press, 1992:129-134. 5XU J A, ARAKI K.A svm-based personal recommendation system for TV programsC/Proceedings of 12th International Multi-Media Modelling Conference.Beijing, China:IEEE, 2006. 6YU L, LIU H.Feature selection for high-dimensional data:a fast correlation-based f
26、ilter solutionC/Proceedings of the 20th International Conference on Machine Learning.Washington, DC:ICML, 2003:856-863. 7DING R, ZHU J, TANG Y, et al.A novel feature selection strategy for friends recommendationC/Proceedings of IEEE 20th International Conference on Computer Supported Cooperative Wor
27、k in Design.Nanchang, China:IEEE, 2016:123-128. 8ABEDINIA O, AMJADY N, ZAREIPOUR H.A new feature selection technique for load and price forecast of electrical power systemsJ.IEEE Transactions on Power Systems, 2017, 32 (1) :62-74. 9BERMEJO P, GMEZ J A, PUERTA J M.Speeding up incremental wrapper feat
28、ure subset selection with Naive Bayes classifierJ.Knowledge-Based Systems, 2014, 55:140-147. 10FARID D M, ZHANG L, RAHMAN C M.Hybrid decision tree and na6ve Bayes classifiers for multi-class classification tasksJ.Expert Systems with Applications, 2014, 41 (4) :1937-1946. 11KONONENKO I.Estimation att
29、ributes:analysis and extensions of RELIEFC/Proceedings of the European Conference on Machine Learning.New York:Springer, 1994:171-182. 12MA Z Y, SUN A X, CONG G.On predicting the popularity of newly emerging hashtags in twitterJ.Journal of the American Society for Information Science and Technology,
30、 2013, 64 (7) :1399-1410. 13许世明, 武波, 马翠, 等.一种基于预分类的高效 SVM 中文网页分类器J.计算机工程与应用, 2010, 46 (1) :125-128.XU S M, WU B, MA C, et al.Efficient SVM Chinese Web page classifier based on pre-classificationJ.Computer Engineering and Applications, 2010, 46 (1) :125-128. 14巫可, 战荫伟, 李鹰.融合用户属性的隐语义模型推荐算法J.计算机工程, 2016, 42 (12) :171-175.WU K, ZHAN Y W, LI Y.Recommendation algorithm of latent factor model fused with user attributeJ.Computer Engineering, 2016, 42 (12) :171-175. 15ACdreamers.决策树之 ID3 算法EB/OL. (2015-03-27) 2016-09-15.http:/