基于网络信息的混合推荐算法研究

2018-06-13 10:30范亚芹梁乃生
吉林大学学报(信息科学版) 2018年3期
关键词:协同混合笔者

刘 欢, 范亚芹, 梁乃生

(1. 吉林大学 通信工程学院, 长春 130012; 2. 中国移动通信集团吉林省公司 网优中心, 长春 130021)

0 引 言

近年来, 随着国内互联网的发展和普及, 用户对于有效网络信息的获取遇到严重的信息过载问题, 从大量信息中及时找到用户感兴趣的信息是非常困难的, 推荐系统正是解决该问题的工具[1]。因此笔者研究基于网络信息的内容推荐。推荐系统通过使用推荐算法, 分析用户的兴趣、 搜索历史等特征对其进行综合分析, 同时进行个性化推荐[2]。在当前应用频率较高的推荐系统中, 有两类方法使用最为广泛, 一是基于内容的过滤(CBF: Content-Based Filtering), 二是协同过滤(CF: Collaborative Filtering)[3]。CF是通过分析用户兴趣, 在用户群中找到指定用户的相似用户, 综合这些相似用户对某一信息的评价, 形成系统对该指定用户对此信息的喜好程度进行预测的一项技术[4,5]。因为CF是以相似用户为基础判断目标用户对某一事物可能有的偏爱程度, 所以对于目标用户自身实际的偏好还是无法进行准确反映, 因此对于用户个性化方面有所忽略, 可能会导致推荐结果与目标用户预期结果偏差过大。同时它还存在相似用户群的局限性问题。比如, 对某个事件的报道信息有许多, 当其在某一时刻被几个用户注意到, 而如果他们观看的信息又恰巧不相同, 这时协同过滤的作用就会受到限制, 不能把关注该消息的用户认定为具有相似性。而CBF通过当前用户的历史行为进行选择性的推荐, 所以对每个用户的偏好具有针对性。但CBF却存在着推荐多样性不足的缺点: 面对不断更新的消息, 用户之前的浏览记录无法与最新的内容相匹配, 因此CBF不能向用户推荐最新内容; 除此之外, 对某些用户自身也许都不了解是否喜欢某一类信息的情况, 其也不能做出正确的推荐。即传统基于内容的方法不能推荐出与用户先前阅读内容不相近的信息[6]。

针对上述问题, 笔者提出一种混合式推荐方法, 这种方法在协调过滤的基础上进行创新, 找到用户的隐藏偏好, 同时使用以内容为基础的推荐收集用户表现出比较明显的兴趣, 并将两个模型进行融合, 得到最终的预测模型。与传统的方法相比较, 笔者提出的算法既满足了用户个性化要求, 也注重于其对多样性的需求。

1 相关理论

1.1 牛顿冷却排名

文献[7]中提出了基于牛顿冷却定律的热门排序方法, 即将热门排名想象成一个自然“冷却”的过程。同样, 在时间不断流逝的过程中, 使用客户所关注的信息热度也在不断下降。

对此, 可围绕“时间”和“温度”构造一个函数, 经历“指数式衰减”, 应用牛顿冷却定律(Newton’s Law of Cooling), 即物体的冷却速度与其当前温度与室温之间的温差成正比。其简化公式为

T=T0e-α(t-t0)

(1)

其中T为当前温度,T0为上一期温度,α为冷却系数,t-t0为间隔时间。

该公式(1)应用到信息的重要程度中

μ=μ0e-α(t-t0)

其中μ为现有权重,μ0为上一期权重,α为冷却系数,t-t0为间隔的小时数。

1.2 隐含狄利克雷分布

隐含狄利克雷分布(LDA: Latent Dirichlet Allocation)是当前最具有代表性, 也是最流行的一种概率主题模型, 可识别大规模文档中隐藏的主题信息[8]。

LDA模型包含词、 主题和文档3层结构, 其生成的概率模型图如图1所示。其联合概率为

其中θ为主题分布,z为主题类别,α和β分别为主题分布和词分布的先验分布参数,N为文档单词总数,M为文档总数,W为文档中的词。

图1 LDA概率模型图 Fig.1 Probability model of LDA

LDA模型生成文档的具体过程如下。

1) 按照狄利克雷分配, 选出一个主题分布:θ~p(θ|α)。

2) 设文档中有N个单词, 则对每个单词作如下操作:

① 按照主体分部, 选择一个主题:zn~p(z|θ);

② 按照该主题, 选择一个单词:wn~p(w|z,β)。

LDA是一个词袋模型, 因此文章在训练之前需先分词, 它可以很好地将词组合成不同的主题。该模型自从研发出就得到了各界的好评, 并且其所涉及的范围比较广泛, 近几年取得比较显著的进展, 同时人们也构建了不少比较相似的模型, 并且在对文本进行处理过程中得到了普遍使用。上述模型能把具有高维特点的词语空间向具有低维特点的主题空间转换, 能在很大程度上减少相似性检验的时间复杂度, 而且能有效地避免数据的稀疏性问题[9]。

2 混合式网络信息推荐算法

推荐算法框架如图2所示。

图2 推荐算法框架Fig.2 Frame of recommendation algorithm

2.1 建立用户主题模型

对训练集合中的文本进行分词、 去停用词等工作, 通过TF-IDF(Term Freqencay-Inverse Document Freqency)初步建立文档相关的向量空间模型。然后利用LDA进行主题模型建立, 通过其不仅达到降维目的, 同时还能避免使用其他特征抽取法带来的性能受损问题。同时LDA考虑了词语间的语义联系问题, 提高了分辨性能。笔者对TF-IDF稍加改进, 因为词语位置的不同其在支撑文章内容的作用也就不同, 故作如下假设: 标题中的词的重要性高于内容部分重要性, 因此根据词所在位置不同赋予不同的权重[10], 标题中的词权重放大5倍, 内容中的权重不变。

同时考虑时间因素的影响[11], 利用前面提到的牛顿冷却系数作为时间影响系数。将用户u所浏览信息的集合表示为Du={du1,du2,…,dum}, 将用户浏览信息的时间设为ti, 将当前的时间设为tcur, 则dui中任意特征词权值wuij还应乘以下系数

μi=e-α(ti-tcur)

(2)

2.2 基于内容的推荐

该方法关键在于利用用户以前所关注过的信息为推荐基础, 获取信息内容主题, 即该用户偏好哪方面的信息, 通过分析, 推荐与这些内容类似信息, 可以较为精确地实现推荐。基于内容推荐, 主要分为以下几步。

1) 用2.1节中的方式为每个用户进行主题模型建立, 获取用户兴趣的主题分布。

2) 提取每个信息的主题向量。

3) 根据目标用户的主题分布, 在系统内容库中, 找出与这些主题相关的信息。然后将目标用户的总的兴趣分布与待推荐内容的关键词进行相似度匹配。相似度计算方法如下

(3)

其中Rud表示信息推荐时信息d与用户u的相似程度,N表示主题的数量,U和D分别表示用户和信息内容的主题向量。

4) 将式(3)中计算得到的相似度值进行降序排列, 将前m个信息放入待推荐列表。

2.3 协同过滤推荐

协同过滤推荐算法主要是通过分析用户本身的特征, 找出与该用户类似的其他用户。通过推荐与该用户类似的其他用户浏览的信息, 完成协同过滤的网络信息推荐。用传统基于用户的协同过滤进行推荐, 在归纳具有大致相同偏好的用户时, 只通过其对该类消息相应的评价搭建用户-信息的有关联系, 然后计算对应的用户的相似程度[12], 但得到的结果不能完整体现用户的相似度[13]。在面对某件事物时, 一般都会出现很多消息, 假设有两个用户对这件事情很感兴趣, 可是观看的消息却不相同, 在这种情况下, 无法通过协同过滤的方法把这两个关注同一事情的用户列入相似用户。

针对上述问题, 笔者通过为每个用户建立主题模型, 计算每个用户主题模型之间的相似度获得相似用户群。具体步骤如下:

1) 用LDA模型获取每个用户兴趣的主题分布, 并将文本内容向量化;

2) 计算两两用户之间的余弦相似度, 余弦相似度越接近1, 表明这两个向量对应的用户特征越接近;

3) 计算单个用户的候选推荐集合。

计算候选推荐集合方式如下。

设N为用户u的相似用户数量,Lk表示相似用户k观看过的内容记录,M表示所需生成的推荐集合大小。首先根据用户相似度选出相似度最高的前N个用户, 将相似度值构成如下的近邻用户向量: (Su,1,Su,2,…,Su,n), 在对其做归一化处理, 使目标用户的近邻用户向量长度为1得到的向量为: (Wu,1,Wu,2,…,Wu,n), 该向量的元素表示将每个相似用户的历史记录推荐给用户u的权值。由此, 可得到通过该方法获取的用户u的候选推荐集合为

(4)

式(4)的意义为: 从用户u的每个相似用户k浏览历史中提取出Wu,kM个历史浏览信息, 去除用户u浏览过的历史信息。最后将得到的所有相似用户的推荐列表合并, 即为通过该方法获取的用户u的推荐集合。

2.4 基于混合算法的信息推荐

通常在实际应用中, 将多种推荐算法混合, 充分发挥多种推荐算法的优点, 并且在一定程度上避免使用单一的基于内容或协同过滤的推荐算法的缺点, 能得到更为精确的推荐结果。从本质上说, 混合推荐算法是一种算法调度和推荐结果权值分配的过程[14]。

混合推荐算法主要有加权混合、 交叉混合、 分级混合和瀑布混合等, 笔者主要使用交叉混合推荐[3]。由于上述两种推荐算法的偏好不同, 所以将这两种推荐结果进行交叉显示, 得到目标用户的最终推荐结果。

3 实验设计与结果

3.1 实验环境

1) 硬件环境。CPU: Intel(R) Core(TM) i5-3320M CPU@2.60 GHz 2.60 GHz; 硬盘: 320 GByte; 内存: 4.00 GByte。

2) 软件环境。操作系统: Microsoft Windows 7; 开发语言: Python。

3.2 实验结果

笔者基于某新闻网随机选取的1 000名用户浏览记录作为实验数据集, 为方便分析和处理, 将数据导入到MySql数据库中进行统一操作。数据如图3所示, 其中uid表示用户编号, news_id表示新闻编号, l_time表示浏览时间, title表示新闻标题, details表示新闻内容, post_time表示新闻发表时间。

将笔者混合推荐算法与传统的基于内容的推荐[15]、 协同过滤[16]以及传统方法的混合算法进行实验对比,得到结果如图4所示。

图3 数据集图Fig.3 Picture of data set

由图3可知, 笔者提出的混合推荐算法在准确率、 召回率方面均优于其他几种算法。

4 结 语

图4 推荐算法对比图Fig.4 Comparison on recommendation method

针对传统推荐方法的不足, 笔者提出一种混合式的网络信息的推荐方法。该方法以协调过滤满足用户对推荐信息多样性的需求, 同时以基于内容的推荐算法满足用户对个性化需求。在建立用户主题模型过程中, 结合牛顿冷却定率协调时间对用户兴趣产生的影响。经实践检验, 笔者提出的方法与传统的协同过滤、 基于内容的推荐以及两者的混合算法相比, 在准确率和召回率等方面表现更好, 表明笔者方法的有效性。未来将对相似性算法以及模型融合方面做进一步研究, 以提高推荐的准确性。

参考文献:

[1]ADOMAVICIUS G, TUZHILIN A. Toward the Next Generation of Recommender Systems: A Survey of the State-of-the-Art and Possible Extensions [J]. IEEE Transactions on Knowledge and Data Engineering, 2005, 17(6): 734-749.

[2]CORBELLINI ALEJANDRO, MATEOS CRISTIAN, GODOY DANIELA, et al. An Architecture and Platform for Developing Distributed Recommendation Algorithms Oil Large-Scale Social Networks [J]. Journal of Information Science, 2015, 41(5): 686-704.

[3]花凌锋, 李徐红. 基于交叉协同过滤的个性化移动新闻推荐 [J]. 电脑知识与技术, 2017, 13(23): 219,220,227.

HUA Lingfeng, LI Xuhong. Personalized Mobile News Recommendation Based on Cross Collaborative Filtering [J]. Computer Knowledge and Technology, 2017, 13(23): 219,220,227.

[4]吕红. 基于协同推荐学习资源系统的设计和实现 [J]. 电脑与信息技术, 2016, 24(6): 27,28.

LÜ Hong. Design and Implementation of Learning Resource System Based on Collaborative Recommendation [J]. Computer and Information Technology, 2016, 24(6): 27,28.

[5]姜书浩, 薛福亮. 一种利用协同过滤预测和模糊相似性改进的基于内容的推荐方法 [J]. 现代图书情报技术, 2014, 30(2): 41-47.

JIANG Shuhao, XUE Fuliang. An Improved Content-Based Recommendation Method Using Collaborative Filtering Prediction and Fuzzy Similarity [J]. New Technology of Library and Information Service, 2014, 30(2): 41-47.

[6]唐瑞. 基于内容的推荐与协同过滤融合的新闻推荐研究 [D]. 重庆: 重庆理工大学计算机科学与工程学院, 2016.

TANG Rui. Research on News Recommendation Based on Fusion of Content-Based Recommendation and Collaborative Filtering [D]. Chongqing: College of Computer Science and Engineering, Chongqing University of Technology, 2016.

[7]EVAN MILLER. Rank Hotness with Newton’s Law of Cooling [EB/OL]. (2009-02-15). [2017-11-27]. http://www.evanmiller.org/rank-hotness-with-newtons-law-of-cooling.html.2009.

[8]BLEI D M, NG A Y, JORDAN M I. Latent Dirichlet Allocation [J]. Journal of Machine Learning Research, 2003, 3(1): 993-1022.

[9]HU Demin, CHEN Linshan. A High Efficient Recommendation Algorithm Based on LDA [J]. Human Centered Computing, 2016, 9567: 668-675.

[10]邵晓根, 鞠训光, 胡局新, 等. 基于改进权重的贝叶斯推理和TFIDF算法文本主题词提取研究 [J]. 南京师范大学学报: 自然科学版, 2014, 37(1): 57-60,65.

SHAO Xiaogen, JU Xunguang, HU Juxin, et al. Research of Text Subject Extraction Based on Improved Weight for Bayesian Reasoning and TFIDF Algorithm [J]. Journal of Nanjing Normal University: Natural Science Edition, 2014, 37(1): 57-60,65.

[11]于洪, 李转运. 基于遗忘曲线的协同过滤推荐算法 [J]. 南京大学学报: 自然科学版, 2011, 46(5): 520-527.

YU Hong, LI Zhuanyun. A Collaborative Filtering Recommendation Algorithm Based on Forgetting Curve [J]. Journal of Nanjing University: Natural Sciences, 2011,46(5): 520-527.

[12]CHOI K, SUH Y. A New Similarity Function for Selecting Neighbors for Each Target Item in Collaborative Filtering [J]. Knowledge-Based Systems, 2013, 37: 146-153.

[13]范波, 程久军. 用户间多相似度协同过滤推荐算法 [J]. 计算机科学, 2012, 39(1): 23-26.

FAN Bo, CHENG Jiujun. Collaborative Filtering Recommendation Algorithm Based on User’s Multi-Similarity [J]. Computer Science, 2012, 39(1): 23-26.

[14]GUAN Yuan, CAI Shimin, SHANG Mingsheng. Recommendation Algorithm Based on Item Quality and User Rating Preferences [J]. Frontiers of Computer Science, 2014, 8(2): 289-297.

[15]项亮. 推荐系统实战 [M]. 北京: 人民邮电出版社, 2012.

XIANG Liang. Practice of Recommendation System [M]. Beijing: Posts and Telecommunications Press, 2012.

[16]HERLOCKER J L, KONSTAN J A, RIEDL J.Explaining Collaborative Filtering Recommendations [C]∥Proceedings of the 2000 ACM Conferenceon Computer Supported Cooperative Work. [S.l.]: ACM, 2000: 241-250.

猜你喜欢
协同混合笔者
混合宅
家校社协同育人 共赢美好未来
蜀道难:车与路的协同进化
老师,别走……
一起来学习“混合运算”
换位思考,教育更精彩
“四化”协同才有出路
老师,你为什么不表扬我
三医联动 协同创新
混合所有制