摘 要:随着社交媒体的发展,微博为人们提供的服务正在极大地改变着人们使用互联网的习惯,然而微博上用户发表的大量信息,以及高频率的信息更新,使得用户面临信息过载的问题而无法快速获取他感兴趣的信息。推荐系统是解决此问题的一种很好的方法,它是通过研究用户已有数据来发掘用户兴趣,从而为用户推荐可能感兴趣的对象,如产品、网页、微博等。本文介绍了一种基于张量分解技术的微博推荐算法来预测用户对微博的兴趣度,同时考虑用户与微博、用户与微博发布者影响因素,以及微博与微博发布者的影响因素,提高了已有算法的准确度。
关键词:微博推荐;矩阵分解;张量分解
中图分类号:TP391 文献标识码:A
Abstract:With the development of social media,the services in micro-blog have significantly changed the way people use the Internet.However,as the large amount of information posted by users and the highly frequent update on micro-blogs,users often face the problem of information overload and miss out the content they are interested in.The recommendation system,which recommends items(such as products,web pages,micro-blogs,etc.)to users based on their interests,is an effective solution to this problem.The paper introduces a micro-blog recommendation algorithm based on the tensor factorization technology to predict the user's interest degree on certain micro-blog.The experimental results on real dataset show that the proposed model achieves desirable performance in characterizing the user's interest and the preprocessing of data on micro-blog.Finally,the paper presents the experimental results which show that the method significantly outperforms the baseline method.
Keywords:micro-blog recommendation;matrix factorization;tensor factorization
1 引言(Introduction)
目前,一些微博推薦算法在发掘用户在社交媒体中的兴趣和行为中表现出了一定的优越性,例如基于内容的推荐算法,但是目前大多数方法都通过内容等显性因素来预测用户的兴趣度而没有考虑一些内在的隐性因素。然而社交网络中的信息是丰富且复杂的,只通过一些显性因素来预测用户兴趣度是不够的。因子分解模型最初被用于推荐系统中来对用户感兴趣的商品进行推荐[1]。为了更好地对用户行为建模,一些研究使用隐因子模型对用户的兴趣度进行预测,而这些无法直接获取的隐性因素是影响用户兴趣度的主要因素。这些方法使用矩阵分解算法分别考虑用户和微博主题,用户和微博发布者之间的社会关系,以及微博发布者与微博主题之间的隐性因素,通过两两之间关系来预测用户对微博的兴趣度。然而,同样内容的微博被不同的发布者发布的话,用户的兴趣度是不同的,因此我们应综合考虑用户与微博,以及微博发布者它们之间的隐性因素共同对微博兴趣度的影响。
张量是对向量和矩阵的扩展[2],因此它可以表示多元数据,已有的矩阵分解方法丢失了用户与微博,以及微博发布者三者之间在三维空间上对用户兴趣度的影响而张量分解模型很好地解决推荐系统中存在的多元影响因素[3]。而现实生活中的数据一般都具有多元特征,相对复杂,因此张量模型很好地模拟了推荐系统中数据的多元影响关系。
2 微博排序优化准则(Optimizing ranking criterion
for weibo recommendation)
3 基于张量的分解模型(Tensor factorization model)
本文需要同时考虑用户、微博、微博发布者这三个因素来预测用户对微博的兴趣度,即将二维矩阵拓展为三维张量来表示影响兴趣度的隐性因素,也就是分解用户—微博—发布者张量来预测用户对微博的喜好度。
为了和大多数的基于矩阵分解的推荐系统中的方法对比,我们可以将三维张量理解为在传统二维矩阵的基础上增加一个维度,即一种典型的张量分解方法Tucker分解,该分解模型产生的类似于SVD的左右奇异矩阵子结构方便与已有算法SVD进行实验结果对比[5,6]。Tucker分解把原张量分解为一个核心张量与一系列矩阵的乘积。这里我们以对三维张量的分解为例说明Tucker的具体分解过程,详见公式(5):
4 实验(Experiment)
4.1 数据来源
本文数据来源于新浪微博,使用爬虫系统根据本文需求爬取相关数据[7]。网络爬虫作为一种自动提取网页信息的计算机程序或者自动化脚本[8],它是搜索引擎的核心技术。本文先随机选取一个微博用户以发射状不断爬取该用户的关注者的数据,以及关注者的关注者的数据,然后从这些数据中选出1024个微博用户的主页信息,但这些用户的关注者人数需超过15。endprint
4.2 评价标准
本文通过平均准确率评估预测结果的准确度。本文推荐模型的结果是微博的排序,同时微博的排序位置还关联了准确度使得推荐模型能得到更准确的评估,即微博成功推荐,如果它的排序越靠前那么平均准确率就越高。如果系成功推荐的微博个数为0那么准确率为0。评估公式见式(16):
4.3 实验结果
为了验证算法的有效性,本文增加其他幾种方法来对比实验结果,包括按照时间排序的方法、按相似度排序的方法、矩阵分解模型算法SVD[9]。张量分解算法(TF)综合考虑用户、微博和微博发布者三者之间的关系,较SVD更加准确地评估对用户兴趣度的影响。张量分解算法使用随机梯度算法来估计实验参数,矩阵分解过程中K值取30准确率最高。
5 结论(Conclusion)
时间排序的推荐方法由于依赖用户的登录时间而对登录时间前后的微博转发的概率大,因此预测的准确度很低。相似度排序的算法只通过关键词计算微博表面相似度来预测而忽略了内在的语义。SVD只考虑用户、微博与微博发布者两两之间的关系,忽略三者之间的共同作用没有反映数据的真实信息而准确度低于TF方法。
参考文献(References)
[1] Lu J,et al.Recommender system application developments:a survey[J].Decision Support Systems,2015,74:12-32.
[2]Jain P,Oh S.Provable tensor factorization with missing data[C].Advances in Neural Information Processing Systems,2014:1431-1439.
[3] Ding G,Guo Y,Zhou J.Collective matrix factorization hashing for multimodal data[C].Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,2014:2075-2082.
[4] 冷亚军,陆青,梁昌勇.协同过滤推荐技术综述[J].模式识别与人工智能,2014,27(8):720-734.
[5] Rendle S.Factorization machines[A].The IEEE International Conference on Data Mining.Sydney:2010:995-1000.
[6] Cao Y.,et al.Adapting ranking SVM to document retrieval[C].The 29th Annual International SIGIR Conference.Seattle,WA:2006:186-193.
[7] 孙立伟,何国辉,吴礼发.网络爬虫技术的研究[J].电脑知识与技术,2010,6(15):4112-4115.
[8] 高建煌.个性化推荐系统技术与成用[D].中国科学技术大学,
2010.
[9] 秦晓晖.基于协同过滤的个性化微博推荐算法研究[J].软件工程,2017,20(3):14-17.
作者简介:
秦晓晖(1987-),女,硕士,助教.研究领域:中文信息处理,人工智能.endprint