一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于新闻场景下用户行为的个性化新闻推荐方法

2022-07-20 15:31:06 来源:中国专利 TAG:


1.本发明涉及互联网个性化推荐领域,具体涉及一种基于新闻场景下用户行为的个性化新闻推荐方法。


背景技术:

2.信息技术的高速发展与智能终端设备的普及,让社会从2g发展到如今的5g时代,正迎来移动互联网的巨大变革,各领域的数字信息爆炸式增长.根据国际数据公司(international data corporation,idc)2016-2021年全球创建数据及预测报告显示,2021年全球创造的数据信息量将会达到64.5zb。如何更有效的利用这井喷式增长的大数据已成为当下亟待解决的难题,中国作为一个庞大的数据生产源,更是需要充分把握资源,国内各领域的多家企业也逐渐开始重视对于数据的挖掘与利用,极力构建“互联网 大数据”的新市场生态。大数据蕴含着丰富的发掘价值与巨大的预测潜力,推动了理论和技术的发展,在实际应用方面便利了民众的生活。但与此同时,面对大量的信息,系统筛选出匹配资源所花费的成本变高了。相较于之前,人们对于这些数据信息的使用效率也降低了,也就是常说的“信息过载”问题。
3.推荐系统作为能快速的从复杂纷繁的各类数据中获取有效的信息而被提出,已经成为了学术界和工业界关注的热点问题,在这一方向上的研究成果层出不穷,从基于协同过滤的传统方法发展到基于深度学习的推荐算法,许多模型在工程问题上也得到了广泛的应用。推荐系统是根据用户的显式与隐式反馈数据(例如点赞、评分、点击、阅读等行为数据)、用户的画像(例如职业、年龄、学历等)以及项目内容信息(例如音视频、图像、文本等多源异构数据),通过推荐算法预测用户可能喜欢的内容,并且以个性化的形式推荐给不同用户。这种通过系统引导用户发现信息的过程不同于具有明确目的的搜索任务,前者能提供个性化的服务,使得用户发现一些新颖且令人惊喜的信息,精准的推荐系统能够增加用户对产品的使用黏性。当前,推荐系统在许多业务场景下都得到了广泛的应用,譬如新闻推荐(谷歌新闻、今日头条等)、电子商务(如淘宝、亚马逊等)、搜索引擎(如谷歌、百度等)、计算广告(抖音、微博、微信等)等各个领域。以现象级产品抖音app为例,该产品推荐系统的准确度高达95%,一方面在信息流(可滚动浏览的内容流)中为用户推荐与其兴趣强相关的短视频内容,另一方面对广告召回的人群进行内容与广告的混合排序,投放计算广告从而实现商业变现的闭环链路。
4.由于互联网内容的多样性不断增加,新闻场景下的推荐不再只局限于文字形式,而是扩展到图片、视频、音频等多源异构数据类型。用户要从海量的新闻中获取到自己想要的资讯,仅基于新闻搜索和新闻分类等基本功能已不能完全满足该需求,目前今日头条就是在每个新闻子类目下,以信息流的形式为用户个性化的推荐文章。新闻推荐与其他领域内容的推荐不同,用户在访问新闻网站时,更倾向于发现一些新的或者未知的信息。据此可见,了解用户阅读兴趣的动态变化并根据用户的历史活动预测其未来行为是有效的。
5.现有技术中公开了一种基于rss订阅的新闻推荐方法的专利,该方法首先通过用
户的rss订阅信息,建立用户订阅信息数据库;其次,通过个人用户的rss feed订阅下采集的新闻信息构建反映用户兴趣偏好的特征向量;然后,结合个人用户的订阅行为和浏览自主订阅的兴趣度分析,建立个人用户的综合兴趣模型;最后,进行基于内容和协同过滤相结合的主动推荐过程。该专利实现了基于个人兴趣的个性化新闻推荐。然而,该专利是主要围绕用户画像来构建的,忽略隐式反馈数据中的有效信息,同时在实际场景中用户显式反馈数据常存在冷启动和数据稀疏的问题;另外该专利所使用的是传统的协同过滤算法,也没有涉及深度学习与机器学习领域,其推荐结果的准确度可以进一步提高。


技术实现要素:

6.本发明提供一种基于新闻场景下用户行为的个性化新闻推荐方法,解决在新闻推荐领域中,由于传统推荐算法衡量相似度的标准单一、以及深度推荐算法可解释性差的问题,可使推荐结果具备多样性、更好的效果以及较好的可行度。
7.为了达到上述技术效果,本发明的技术方案如下:
8.一种基于新闻场景下用户行为的个性化新闻推荐方法,包括以下步骤:
9.s1:获取用户在新闻平台的历史行为数据集,利用该数据集来构造特征集,并对该数据集作预处理;
10.s2:构建多路召回模型,将步骤s1所述的特征集和已预处理的数据集,输入到多路召回模型中,得到新闻推荐候选集;
11.s3:构建混合排序模型,将步骤s2所述的新闻推荐候选集输入混合排序模型中,得到新闻推荐结果序列。
12.本发明方法通过构建用户的历史行为特征,在召回阶段采用基于关联规则与多因子模型改进的协同过滤算法,加入用户兴趣随时间和点击距离衰减的特性,以此来拟合用户兴趣的动态变化;接着在排序阶段利用stacking元级别融合策略,提出集成决策树模型lightgbm与深度兴趣网络模型din进行融合处理的混合排序模型,提升推荐系统的透明度和推荐结果的准确性。
13.进一步地,所述步骤s1中,构建的特征集的过程是,包括以下步骤:
14.s11:根据步骤s1所述的用户的历史行为数据集,分析用户信息、新闻文章信息和用户行为,提取并选择重要特征:用户点击新闻文章的数量、新闻文章被用户点击的次数、用户所阅读的新闻文章主题、用户所阅读的新闻文章字数、用户点击环境和用户历史点击文章信息;
15.s12:根据步骤s11所述的重要特征构建所需的特征集。
16.步骤s1中分析用户信息、新闻文章信息和用户行为是从多角度了解数据分布情况,进行用户重复点击与新闻共现频次分析、用户点击新闻数量分析、新闻点击次数分析、用户新闻主题与字数偏好分析、用户点击环境变化分析,以达到能够获取最符合用户个性兴趣取向的特征。
17.进一步地,所述步骤s12中,根据步骤s11所述的重要特征构建所需的特征集包括:
18.利用用户历史点击文章信息,根据最后点击文章分别计算其与历史点击文章的相似度和统计特征、时间差特征、字数差特征以及文章和用户的相似性特征,构建用户历史点击文章信息特征集;
19.根据用户所阅读的新闻文章主题、用户所阅读的新闻文章字数和用户点击环境,构建用户画像信息特征集;
20.根据用户点击新闻文章的数量和新闻文章被用户点击的次数,构建用户活跃度与文章热度信息特征集。
21.根据对用户的历史行为数据集分析,确定所需提取的重要特征后,分为三个方面进行特征集的构建,为后续的基于项目的协同过滤算法,基于用户的协同过滤算法,相似度计算公式的改进,以及混合排序模型的训练提供良好的底层数据支持。
22.进一步地,对步骤s1所述的用户的历史行为数据集作预处理的过程是,通过对步骤s1所述的用户的历史行为数据集进行负采样使正负样本均衡,并对该数据集进行预测目标、测试集和训练集的划分。
23.按照推荐系统数据稀疏度公式
[0024][0025]
计算,其中r为评分的数量,u和i分别为用户和项目数量,用户的历史行为数据集的稀疏度高达99.98%,采用传统的协同过滤方法无法学习到用户深层次偏好。那么收集用户历史行为、新闻内容信息等数据,并且将其融合至推荐系统中,能有效帮助用户更好的感知兴趣新闻,甚至能挖掘到一些冷门信息,达到个性化推荐的目的。新闻推荐数据集属于隐性反馈数据,不含有类似于评分这样的显式数据,只有表示用户兴趣行为的正样本,而没有负样本数据,因此需要对用户的点击行为生成对应的负样本。在负样本生成时,选取热门但用户并未点击过的新闻,并确保生成的负样本数量与用户浏览文章数量相当。
[0026]
进一步地,所述步骤s2中,多路召回模型是将每一分支召回文章的分数做归一化处理,并根据召回的结果设置多路合并的权重,得到新闻推荐候选集;本发明多路召回模型由四路召回组成,包括改进的基于用户和基于项目的协同过滤算法,dnn算法以及冷启动策略,每一路具体步骤如下所示:
[0027]
s21:利用改进的基于用户的协同过滤算法召回,包括以下步骤:
[0028]
s211:结合步骤s1所述的特征集和已预处理的数据集,建立用户评分矩阵;
[0029]
s212:计算目标用户与其它用户的相似度,其中对于计算相似性度量公式加入了惩罚因子、用户点击文章创建时间衰减因子、用户点击文章的点击时间衰减因子和阅读距离衰减因子:
[0030][0031]
分母中的log(1 |n(u)|)表示对活跃用户的惩罚项,是指对热门文章的惩罚;在上述的基础上再引入用户点击文章创建时间衰减因子、用户点击文章的点击时间衰减因子和阅读距离衰减因子,和分别表示用户i和用户j点击文章的创建时间差与点击时间差,时间差越大时间权重因子越小,|d
ui-d
uj
|表示用户i和用户j在文章u的阅读序列中所排位置的差距,β是序列正负向点击权重,当d
ui
》d
uj
则β取
值为1.0,反之负向点击权重取0.8;
[0032]
s213生成近邻集合,并结合关联规则,产生推荐的相似用户,利用相似用户历史点击文章作为新闻推荐候选集;
[0033]
s22:利用改进的基于项目的协同过滤算法召回;
[0034]
s23:利用dnn算法召回;
[0035]
s24:利用冷启动策略召回。
[0036]
构建多路召回模型,是由于召回过程属于推荐系统的第一阶段,需要从大量的项目当中筛选出一些用户可能感兴趣的物品合集,最后作为排序部分的输入。所谓“多路召回”策略,即采用不同的策略、特征或者简单模型,分别召回一部分候选集,然后把候选集混合在一起以供后续的排序阶段使用。由于文章与用户数量级大,在召回阶段率先筛选出用户对于点击文章的候选集合,能有效降低问题的规模;改进的基于用户的协同过滤算法的主要功能是,对某用户推荐与其相似用户历史点击过的文章。
[0037]
进一步地,所述步骤s22中,改进的基于项目的协同过滤算法,包括以下步骤:
[0038]
s221结合步骤s1所述的特征集和已预处理的数据集,建立文章评分矩阵;
[0039]
s222将目标用户历史点击文章作为目标文章,计算目标文章与其它文章的相似度,其中对于计算相似性度量公式加入了惩罚因子、文章创建时间衰减因子、文章点击时间衰减因子和点击距离衰减因子:
[0040][0041]
分母中的log(1 |n(u)|)表示对活跃用户的惩罚项,是指对热门文章的惩罚;在上述的基础上再引入文章创建时间衰减因子、文章点击时间衰减因子和点击距离衰减因子,和分别表示文章i和文章j的创建时间差与点击时间差,时间差越大时间权重因子越小,|d
ui-d
uj
|表示文章i和文章j在用户u的点击序列中所排位置的差距,β是序列正负向点击权重,当d
ui
》d
uj
则β取值为1.0,反之负向点击权重取0.8;
[0042]
s223生成近邻集合,并结合关联规则,产生推荐的相似文章集合,该集合可作为新闻推荐候选集。
[0043]
改进的基于项目的协同过滤算法的主要功能是,找到与用户历史点击文章具有高相似度的其他文章进入候选集。
[0044]
进一步地,所述步骤s23中,dnn算法的过程是,结合步骤s1所述的特征集和已预处理的数据集,参考word2vec的思想,将用户和文章均映射到一个向量,并通过神经网络训练,得到最终的目标用户向量和文章向量,计算目标用户向量与文章向量的相似度,根据相似度,产生推荐的相似文章集合,该集合可作为新闻推荐候选集;所述步骤s24中,冷启动策略的过程是,对新闻数据集中未与用户产生任何交互的文章,通过文章主题相似性、点击时间差和文章创建时间过滤掉部分文章,剩余文章作为新闻推荐候选集。
[0045]
dnn算法召回的主要功能是,计算用户和文章的相似度,根据这个相似度给出推荐
结果,其中训练过程参考word2vec的思想训练嵌入式表达。由于点击文章数远小于文章库中的文章数,那么有一部分文章,没有任何的用户历史交互行为信息,存在文章的冷启动问题。冷启动策略就是基于解决这一问题所提出的思路,对于这部分新闻,通过文章主题相似性、点击时间差、文章创建时间等规则过滤掉部分文章,使得留下的文章更有可能被用户点击。
[0046]
进一步地,所述步骤s3中,构建混合排序模型,是利用5折交叉验证的stacking元级别融合策略,构建混合排序模型,是利用5折交叉验证的stacking元级别融合策略,结合步骤s1所述的特征集和已预处理的数据集,对深度兴趣网络模型din和集成决策树模型lightgbm进行训练,得到新的训练集和测试集,将新的训练集和测试集输入到lr分类模型中,对lr分类模型进行训练,得到训练后的lr分类模型作为混合排序模型。
[0047]
集成决策树模型lightgbm算法的参数维度设置为8维度,并以两两组合的形式进行参数的优化与调整,分别为学习率learning_rate和学习器个数n_estimators、树的最大深度max_depth和叶子节点最小权重min_child_weight、随机化参数subsample和colsample_bytree、l1正则reg_alpha和l2正则reg_lambda。集成决策树模型lightgbm具有良好的特征解释性,而深度兴趣网络模型din的预测结果准确度会更高,那么经过stacking元级别融合后的混合排序模型不仅具备了一定的特征可解释性,同时也吸收了深度学习方法高语义表征能力,使得最终新闻推荐的效果更优。
[0048]
进一步地,所述步骤s3中,深度兴趣网络模型din按照不同的数据类型进行模型数据处理,对于离散型特征,通过deepctr包中的sparsefeat函数传入,并且定义embedding稠密向量的维度大小;对于用户历史行为特征列,除了训练稠密表示之外,还需要传入attention层,与当前候选集计算相似度,模拟用户的动态兴趣变化;对于用户不同长度的历史行为序列通过varlensparsefeat函数做序列填充,将变量长度进行统一,最后对于数值型变量则直接用densefeat函数传入。
[0049]
基于深度学习的推荐算法通过引入神经网络、attention机制,除了能有效记忆用户与项目之间,各特征浅层交互的线性关系之外,还能抽象出更深层次的非线性关系以增强模型的泛化能力,模型的预测效果相比于集成决策树模型lightgbm算法有显著提升。
[0050]
进一步地,可对步骤s3所述的新闻推荐结果序列作准确度分析和可解释性分析,是通过将混合前的单个排序模型预测结果,与混合排序模型预测结果做准确度对比,主要采用指标有离线训练准确度auc指标、模型损失值loss以及线上预测准确度mrr(定义为对每个样本输出k个排序推荐样本的评分数据取平均),计算公式分别如下所示:
[0051][0052][0053][0054]
[0055]
所述新闻推荐结果序列的可解释性分析,是根据集成决策树模型lightgbm特征重要度排序功能,输出重要特征排序图,通过此解释推荐结果的主要依据特征。
[0056]
融合了集成决策树模型lightgbm与深度兴趣网络模型din的混合排序模型不管是离线训练准确度指标auc还是线上预测准确度mrr指标均高于混合前的单个模型,说明该混合策略在此新闻数据集上是有效的;另外根据输出重要特征排序图,结合新闻热度常识,可知推荐结果是具有合理解释性的。
[0057]
与现有技术相比,本发明技术方案的有益效果是:
[0058]
本发明首先提供了一种基于新闻场景下用户行为的个性化新闻推荐方法,该方法对原始新闻数据集进行特征分析,构建能提升新闻推荐效果的有效特征;其次,提出了改进的协同过滤算法,在关联规则的基础上,加入对热门项目和活跃用户的惩罚项,考虑到用户的兴趣会随着时间和点击距离不断衰减,将时间衰减因子和点击距离衰减因子融入到相似性度量公式中,使得推荐结果更符合兴趣模型;再次,参考元级别混合的思想,提出将集成决策树模型lightgbm和深度兴趣网络din进行模型融合处理,在保证推荐效果的同时能提升推荐的可解释性,保证了推荐结果的准确性和多样性。
附图说明
[0059]
图1为本发明公开的一种基于新闻场景下用户行为的个性化新闻推荐方法的流程图;
[0060]
图2为本发明公开的一种基于新闻场景下用户行为的个性化新闻推荐方法的多路召回模型流程图;
[0061]
图3为本发明实施例中公开的以是否加入衰减因子为条件的协同过滤算法的预测击中率对比图;
[0062]
图4为本发明实施例中公开的用stacking策略进行模型融合的步骤图;
[0063]
图5为本发明实施例中公开的集成决策树模型lightgbm输出的特征性重要度排序结果图。
具体实施方式
[0064]
附图仅用于示例性说明,不能理解为对本专利的限制;
[0065]
对于本领域技术人员来说,附图中某些公知说明可能省略是可以理解的。
[0066]
下面结合附图和实施例对本发明的技术方案做进一步的说明。
[0067]
实施例1:
[0068]
一种基于新闻场景下用户行为的个性化新闻推荐方法的流程图如图1所示。
[0069]
步骤s1:获取用户在新闻平台的历史行为数据集,利用该数据集来构造特征集,并对该数据集作预处理;
[0070]
s11:根据获取用户在新闻平台的历史行为数据集,分析用户信息、新闻文章信息和用户行为,提取并选择重要特征:用户点击新闻文章的数量、新闻文章被用户点击的次数、用户所阅读的新闻文章主题、用户所阅读的新闻文章字数、用户点击环境和用户历史点击文章信息;
[0071]
s12:根据步骤s11所述的重要特征构建所需的特征集包括:
[0072]
利用用户历史点击文章信息,根据最后点击文章分别计算其与历史点击文章的相似度和统计特征、时间差特征、字数差特征以及文章和用户的相似性特征,构建用户历史点击文章信息特征集;
[0073]
根据用户所阅读的新闻文章主题、用户所阅读的新闻文章字数和用户点击环境,构建用户画像信息特征集;
[0074]
根据用户点击新闻文章的数量和新闻文章被用户点击的次数,构建用户活跃度与文章热度信息特征集。
[0075]
s13:对用户的历史行为数据集进行负采样使正负样本均衡,并对该数据集进行预测目标、测试集和训练集的划分。
[0076]
步骤s2:构建多路召回模型,将步骤s1所述的特征集和已预处理的数据集,输入到多路召回模型中,得到新闻推荐候选集,具体流程如图2所示:
[0077]
s21:利用改进的基于用户的协同过滤算法召回,包括以下步骤:
[0078]
s211:结合步骤s1所述的特征集和已预处理的数据集,建立用户评分矩阵;
[0079]
s212:计算目标用户与其它用户的相似度,其中对于计算相似性度量公式加入了惩罚因子、用户点击文章创建时间衰减因子、用户点击文章的点击时间衰减因子和阅读距离衰减因子:
[0080][0081]
分母中的log(1 |n(u)|)表示对活跃用户的惩罚项,是指对热门文章的惩罚;在上述的基础上再引入用户点击文章创建时间衰减因子、用户点击文章的点击时间衰减因子和阅读距离衰减因子,和分别表示用户i和用户j点击文章的创建时间差与点击时间差,时间差越大时间权重因子越小,|d
ui-d
uj
|表示用户i和用户j在文章u的阅读序列中所排位置的差距,β是序列正负向点击权重,当d
ui
》d
uj
则β取值为1.0,反之负向点击权重取0.8;
[0082]
s213:生成近邻集合,并结合关联规则,产生推荐的相似用户,利用相似用户历史点击文章作为新闻推荐候选集;
[0083]
s22:利用改进的基于项目的协同过滤算法召回;
[0084]
s221:结合步骤s1所述的特征集和已预处理的数据集,建立文章评分矩阵;
[0085]
s222:将目标用户历史点击文章作为目标文章,计算目标文章与其它文章的相似度,其中对于计算相似性度量公式加入了惩罚因子、文章创建时间衰减因子、文章点击时间衰减因子和点击距离衰减因子:
[0086][0087]
分母中的log(1 |n(u)|)表示对活跃用户的惩罚项,是指对热门文
章的惩罚;在上述的基础上再引入文章创建时间衰减因子、文章点击时间衰减因子和点击距离衰减因子,和分别表示文章i和文章j的创建时间差与点击时间差,时间差越大时间权重因子越小,|d
ui-d
uj
|表示文章i和文章j在用户u的点击序列中所排位置的差距,β是序列正负向点击权重,当d
ui
》d
uj
则β取值为1.0,反之负向点击权重取0.8;
[0088]
s223生成近邻集合,并结合关联规则,产生推荐的相似文章集合,该集合可作为新闻推荐候选集。
[0089]
s23:结合步骤1所述的特征集和已预处理的数据集,参考word2vec的思想,将用户和文章均映射到一个向量,并通过神经网络训练,得到最终的目标用户向量和文章向量,计算目标用户向量与文章向量的相似度,根据相似度,产生推荐的相似文章集合,该集合可作为新闻推荐候选集;
[0090]
s24:对新闻数据集中未与用户产生任何交互的文章,通过文章主题相似性、点击时间差和文章创建时间过滤掉部分文章,剩余文章作为新闻推荐候选集。
[0091]
s25:每一分支召回文章的分数做归一化处理,并根据召回的结果设置多路合并的权重,最终得到新闻推荐候选集。
[0092]
步骤s3:利用5折交叉验证的stacking元级别融合策略,结合步骤s1所述的特征集和已预处理的数据集,对深度兴趣网络模型din和集成决策树模型lightgbm进行训练,得到新的训练集和测试集,将新的训练集和测试集输入到lr分类模型中,对lr分类模型进行训练,得到训练后的lr分类模型作为混合排序模型;其中集成决策树模型lightgbm算法的参数维度设置为8维度,并以两两组合的形式进行参数的优化与调整,分别为学习率learning_rate和学习器个数n_estimators、树的最大深度max_depth和叶子节点最小权重min_child_weight、随机化参数subsample和colsample_bytree、l1正则reg_alpha和l2正则reg_lambda;而深度兴趣网络模型din按照不同的数据类型进行模型数据处理,对于离散型特征,通过deepctr包中的sparsefeat函数传入,并且定义embedding稠密向量的维度大小;对于用户历史行为特征列,除了训练稠密表示之外,还需要传入attention层,与当前候选集计算相似度,模拟用户的动态兴趣变化;对于用户不同长度的历史行为序列通过varlensparsefeat函数做序列填充,将变量长度进行统一,最后对于数值型变量则直接用densefeat函数传入,最后通过混合排序模型得到新闻推荐结果序列。
[0093]
通过将混合前的单个排序模型预测结果,与混合排序模型预测结果做准确度对比,主要采用指标有离线训练准确度auc指标、模型损失值loss以及线上预测准确度mrr(定义为对每个样本输出k个排序推荐样本的评分数据取平均),计算公式分别如下所示:
[0094][0095][0096]
[0097][0098]
根据集成决策树模型lightgbm特征重要度排序功能,输出重要特征排序图,通过此解释推荐结果的主要依据特征。
[0099]
实施例2:
[0100]
一种基于新闻场景下用户行为的个性化新闻推荐方法的流程图如图1所示。
[0101]
步骤s1:获取用户在新闻平台的历史行为数据集,利用该数据集来构造特征集,并对该数据集作预处理;
[0102]
s11:获取新闻app的用户行为数据,该数据集共有25万用户和36万篇文章,近300万次点击。通过用户重复点击与新闻共现频次分析、用户点击新闻数量分析、新闻点击次数分析、用户新闻主题与字数偏好分析、用户点击环境变化分析,提取并选择重要特征:用户点击新闻文章的数量、新闻文章被用户点击的次数、用户所阅读的新闻文章主题、用户所阅读的新闻文章字数、用户点击环境和用户历史点击文章信息。
[0103]
s12:根据步骤s11所述重要特征构建所需的特征集包括:
[0104]
对每个用户获取最后点击文章的article_id,分别计算其与历史点击文章的embedding相似度和统计特征、时间差特征、字数差特征以及文章和用户的相似性特征;
[0105]
根据用户日志表中含有用户使用设备、点击环境等画像信息,从中提取出用户的设备习惯即最常用设备、用户阅读的时间习惯、用户对文章的主题偏好以及用户对文章字数习惯;
[0106]
用户在短时间内同时点击多篇文章即有理由判断为活跃用户,以用户点击文章的平均时间间隔,加上点击次数的倒数并归一化来构造用户活跃度指标,该指标越小说明用户活跃度越高,对热门文章以同样的思路处理,根据阅读用户数量取倒数加上平均时间间隔指标衡量文章热度。
[0107]
s13:对用户的历史行为数据集作预处理。首先对用户的点击行为生成对应的负样本,在负样本生成时,选取热门但用户并未点击过的新闻,并确保生成的负样本数量与用户浏览文章数量相当。将全量数据集拆分成训练集与测试集,便于离线验证模型参数的好坏。把最后一次阅读行为作为预测目标,剔除了最后一次点击记录的数据作为训练样本,在划分过程中,删除数据集中只有1次阅读记录的用户数据,使得测试集与训练集的用户情况能保持一致。
[0108]
步骤s2:构建多路召回模型,将特征集和已预处理的数据集,输入到多路召回模型中,得到新闻推荐候选集,具体流程如图2所示:
[0109]
s21:利用改进的基于用户的协同过滤算法召回,包括以下步骤:
[0110]
s211:结合特征集和已预处理的数据集,建立用户评分矩阵;
[0111]
s212:计算目标用户与其它用户的相似度,其中对于计算相似性度量公式加入了惩罚因子、用户点击文章创建时间衰减因子、用户点击文章的点击时间衰减因子和阅读距离衰减因子:
[0112][0113]
分母中的log(1 |n(u)|)表示对活跃用户的惩罚项,是指对热门文章的惩罚;在上述的基础上再引入用户点击文章创建时间衰减因子、用户点击文章的点击时间衰减因子和阅读距离衰减因子,和分别表示用户i和用户j点击文章的创建时间差与点击时间差,时间差越大时间权重因子越小,|d
ui-d
uj
|表示用户i和用户j在文章u的阅读序列中所排位置的差距,β是序列正负向点击权重,当d
ui
》d
uj
则β取值为1.0,反之负向点击权重取0.8;
[0114]
s213生成近邻集合,并结合关联规则,产生推荐的相似用户,利用相似用户历史点击文章作为新闻推荐候选集。
[0115]
s22:利用改进的基于项目的协同过滤算法召回,包括以下步骤:
[0116]
s221结合特征集和已预处理的数据集,建立文章评分矩阵;
[0117]
s222将目标用户历史点击文章作为目标文章,计算目标文章与其它文章的相似度,其中对于计算相似性度量公式加入了惩罚因子、文章创建时间衰减因子、文章点击时间衰减因子和点击距离衰减因子:
[0118][0119]
分母中的log(1 |n(u)|)表示对活跃用户的惩罚项,是指对热门文章的惩罚;在上述的基础上再引入文章创建时间衰减因子、文章点击时间衰减因子和点击距离衰减因子,和分别表示文章i和文章j的创建时间差与点击时间差,时间差越大时间权重因子越小,|d
ui-d
uj
|表示文章i和文章j在用户u的点击序列中所排位置的差距,β是序列正负向点击权重,当d
ui
》d
uj
则β取值为1.0,反之负向点击权重取0.8;
[0120]
s223生成近邻集合,并结合关联规则,产生推荐的相似文章集合,该集合可作为新闻推荐候选集。
[0121]
s23:利用dnn算法召回,其过程是,结合特征集和已预处理的数据集,参考word2vec的思想,将用户和文章均映射到一个向量,并通过神经网络训练,得到最终的目标用户向量和文章向量,计算目标用户向量与文章向量的相似度,根据相似度,产生推荐的相似文章集合,该集合可作为新闻推荐候选集;
[0122]
s24:利用冷启动策略召回,其过程是,对新闻数据集中未与用户产生任何交互的文章,通过文章主题相似性、点击时间差和文章创建时间过滤掉部分文章,剩余文章作为新闻推荐候选集。
[0123]
s25:最后将每一分支召回文章的分数做归一化处理,使得相同用户间能根据召回
的结果设置多路合并的权重,其中基于项目的协同过滤算法itemcf权重设置为1.0,基于用户的协同过滤算法usercf权重设置为0.8,dnn算法权重设置为0.4,冷启动策略召回权重设置为0.6。
[0124]
最后各路召回阶段的效果如下表1,其中hitrate_n是指每个用户的新闻推荐候选集样本量为n时,候选样本当中击中了真实新闻点击的用户数,占总用户数的概率大小,这里选定新闻推荐候选集样本量为10。
[0125]
表1不同召回策略的hirate对比表
[0126]
召回策略hirate_10itemcf0.3608usercf0.3221youtube dnn0.0304
[0127]
冷启动召回是推荐没有出现在用户点击日志中的商品,击中率无法有效评估推荐的效果,主要是为没有用户行为记录的文章增加分发的可能性。
[0128]
步骤s3:利用5折交叉验证的stacking元级别融合策略,如图4所示,结合步骤s1所述的特征集和已预处理的数据集,对深度兴趣网络模型din和集成决策树模型lightgbm进行训练,得到新的训练集和测试集,将新的训练集和测试集输入到lr分类模型中,对lr分类模型进行训练,得到训练后的lr分类模型作为混合排序模型;其中集成决策树模型lightgbm算法的参数维度设置为8维度,并以两两组合的形式进行参数的优化与调整,分别为学习率learning_rate和学习器个数n_estimators、树的最大深度max_depth和叶子节点最小权重min_child_weight、随机化参数subsample和colsample_bytree、l1正则reg_alpha和l2正则reg_lambda;而深度兴趣网络模型din按照不同的数据类型进行模型数据处理,对于离散型特征,通过deepctr包中的sparsefeat函数传入,并且定义embedding稠密向量的维度大小;对于用户历史行为特征列,除了训练稠密表示之外,还需要传入attention层,与当前候选集计算相似度,模拟用户的动态兴趣变化;对于用户不同长度的历史行为序列通过varlensparsefeat函数做序列填充,将变量长度进行统一,最后对于数值型变量则直接用densefeat函数传入,最后通过混合排序模型得到新闻推荐结果序列。
[0129]
根据集成决策树模型lightgbm特征重要度排序功能,输出重要特征排序图5,时效性和热度性是重要的推荐特征,该分析结果符合业务常识,为推荐结果给出合理的解释。
[0130]
计算离线训练准确度指标auc、模型损失值loss和线上预测准确度mrr,将混合前的单个排序模型预测结果,与混合排序模型预测结果做对比。
[0131]
表2不同排序算法的性能指标表
[0132]
排序算法aucbinary_lossmrr_5lgb0.81910.44640.1873din0.90980.28030.2445lgb din0.95460.27540.2594
[0133]
实施例3:
[0134]
一种基于新闻场景下用户行为的个性化新闻推荐方法的流程图如图1所示。
[0135]
步骤s1:获取用户在新闻平台的历史行为数据集,利用该数据集来构造特征集,并对该数据集作预处理;
[0136]
s11:获取某新闻app的用户行为数据,该数据集共有25万用户和36万篇文章,近300万次点击,其中20万点击数据为训练集,5万用户数据为测试集。通过用户重复点击与新闻共现频次分析、用户点击新闻数量分析、新闻点击次数分析、用户新闻主题与字数偏好分析、用户点击环境变化分析,提取并选择重要特征:用户点击新闻文章的数量、新闻文章被用户点击的次数、用户所阅读的新闻文章主题、用户所阅读的新闻文章字数、用户点击环境和用户历史点击文章信息。
[0137]
s12:根据重要特征构建所需的特征集包括:
[0138]
对每个用户获取最后点击文章的article_id,分别计算其与历史点击文章的embedding相似度和统计特征、时间差特征、字数差特征以及文章和用户的相似性特征;
[0139]
根据用户日志表中含有用户使用设备、点击环境等画像信息,从中提取出用户的设备习惯即最常用设备、用户阅读的时间习惯、用户对文章的主题偏好以及用户对文章字数习惯;
[0140]
用户在短时间内同时点击多篇文章即有理由判断为活跃用户,以用户点击文章的平均时间间隔,加上点击次数的倒数并归一化来构造用户活跃度指标,该指标越小说明用户活跃度越高,对热门文章以同样的思路处理,根据阅读用户数量取倒数加上平均时间间隔指标衡量文章热度。
[0141]
s13:对用户的历史行为数据集作预处理,对用户的点击行为生成对应的负样本。在负样本生成时,选取热门但用户并未点击过的新闻,并确保生成的负样本数量与用户浏览文章数量相当。将全量数据集拆分成训练集与测试集,便于离线验证模型参数的好坏。把最后一次阅读行为作为预测目标,剔除了最后一次点击记录的数据作为训练样本,在划分过程中,删除数据集中只有1次阅读记录的用户数据,使得测试集与训练集的用户情况能保持一致。筛选后的训练数据集包含用户200000个,新闻31116篇,稀疏度为99.97%。
[0142]
步骤s2:构建多路召回模型,将特征集和已预处理的数据集,输入到多路召回模型中,得到新闻推荐候选集,具体流程如图2所示:
[0143]
s21:利用改进的基于用户的协同过滤算法召回,包括以下步骤:
[0144]
s211:结合特征集和已预处理的数据集,建立用户评分矩阵;
[0145]
s212:计算目标用户与其它用户的相似度,其中对于计算相似性度量公式加入了惩罚因子、用户点击文章创建时间衰减因子、用户点击文章的点击时间衰减因子和阅读距离衰减因子:
[0146][0147]
分母中的log(1 |n(u)|)表示对活跃用户的惩罚项,是指对热门文章的惩罚;在上述的基础上再引入用户点击文章创建时间衰减因子、用户点击文章的点击时间衰减因子和阅读距离衰减因子,和分别表示用户i和用户j点击文章的创建时间差与点击时间差,时间差越大时间权重因子越小,|d
ui-d
uj
|表示用户i和用户j在文章u的阅读序列中所排位置的差距,β是序列正负向点击权重,当d
ui
>d
uj
则β取
值为1.0,反之负向点击权重取0.8;
[0148]
s213生成近邻集合,并结合关联规则,产生推荐的相似用户,利用相似用户历史点击文章作为新闻推荐候选集。
[0149]
s22:利用改进的基于项目的协同过滤算法召回,包括以下步骤:
[0150]
s221结合特征集和已预处理的数据集,建立文章评分矩阵;
[0151]
s222将目标用户历史点击文章作为目标文章,计算目标文章与其它文章的相似度,其中对于计算相似性度量公式加入了惩罚因子、文章创建时间衰减因子、文章点击时间衰减因子和点击距离衰减因子:
[0152][0153]
分母中的log(1 |n(u)|)表示对活跃用户的惩罚项,是指对热门文章的惩罚;在上述的基础上再引入文章创建时间衰减因子、文章点击时间衰减因子和点击距离衰减因子,科分别表示文章i和文章j的创建时间差与点击时间差,时间差越大时间权重因子越小,|d
ui-d
uj
|表示文章i和文章j在用户u的点击序列中所排位置的差距,β是序列正负向点击权重,当d
ui
>d
uj
则β取值为1.0,反之负向点击权重取0.8;
[0154]
s223生成近邻集合,并结合关联规则,产生推荐的相似文章集合,该集合可作为新闻推荐候选集。
[0155]
s23:利用dnn算法召回,其过程是,结合特征集和已预处理的数据集,参考word2vec的思想,将用户和文章均映射到一个向量,并通过神经网络训练,得到最终的目标用户向量和文章向量,计算目标用户向量与文章向量的相似度,根据相似度,产生推荐的相似文章集合,该集合可作为新闻推荐候选集;
[0156]
s24:利用冷启动策略召回,其过程是,对新闻数据集中未与用户产生任何交互的文章,通过文章主题相似性、点击时间差和文章创建时间过滤掉部分文章,剩余文章作为新闻推荐候选集。
[0157]
根据图3可知,加入了时间与点击距离衰减因子的基于项目的协同过滤算法improved-itemcf效果明显优于不加入了时间与点击距离衰减因子的基于项目的协同过滤算法itemcf,并且随着推荐样本数量增多,两者准确率的差距越大,平均来看改进过后的基于项目的协同过滤算法击中率提高了7%,说明在新闻推荐场景中考虑用户兴趣随时间和点击距离的动态变化是可行的。
[0158]
s25:最后将每一分支召回文章的分数做归一化处理,使得相同用户间能根据召回的结果设置多路合并的权重,其中基于项目的协同过滤算法itemcf权重设置为1.0,基于用户的协同过滤算法usercf权重设置为0.8,dnn算法权重设置为0.4,冷启动策略召回权重设置为0.6。
[0159]
最后各路召回阶段的效果如下表1,其中hitrate_n是指每个用户的新闻推荐候选集样本量为n时,候选样本当中击中了真实新闻点击的用户数,占总用户数的概率大小;为
了避免结果的偶然性,这里新闻推荐候选集样本量,较实施例2增加了样本量为20,30,40,50的情况。
[0160]
表1不同召回策略的hirate对比表
[0161]
召回策略hirate_10hirate_20hirate_30hirate_40hirate_50itemcf0.36080.47220.55080.60960.6482usercf0.32210.41320.46780.50740.5360youtube dnn0.03040.04750.05960.07330.0886
[0162]
改进的基于项目的协同过滤算法itemcf效果最好,每一次的推荐击中率均为最高,其次是改进的基于用户的协同过滤算法usercf,说明基于关联规则的项目协同过滤算法作为召回的基本策略是较为合适的。此外,基于用户的召回策略在新闻推荐场景下可以根据用户相似度推荐相同喜好的新闻,能同时把握新闻的热门度和个性化,但由于资源限制问题,维护用户相似度矩阵过于困难,这也可能是其效果差于基于项目的召回策略的原因。
[0163]
dnn算法是通过度量用户与项目之间的相似度来进行推荐的,训练过程中将目标用户向量和文章向量输入框架中,但召回的效果明显不如协同过滤算法,说明基于历史行为数据的推荐可依据性更强。
[0164]
冷启动召回是推荐没有出现在用户点击日志中的商品,击中率无法有效评估推荐的效果,主要是为没有用户行为记录的文章增加分发的可能性。
[0165]
步骤s3:利用5折交叉验证的stacking元级别融合策略,如图4所示,结合步骤s1所述的特征集和已预处理的数据集,对深度兴趣网络模型din和集成决策树模型lightgbm进行训练,得到新的训练集和测试集,将新的训练集和测试集输入到lr分类模型中,对lr分类模型进行训练,得到训练后的lr分类模型作为混合排序模型;其中集成决策树模型lightgbm算法的参数维度设置为8维度,并以两两组合的形式进行参数的优化与调整,分别为学习率learning_rate和学习器个数n_estimators、树的最大深度max_depth和叶子节点最小权重min_child_weight、随机化参数subsample和colsample_bytree、l1正则reg_alpha和l2正则reg_lambda;而深度兴趣网络模型din按照不同的数据类型进行模型数据处理,对于离散型特征,通过deepctr包中的sparsefeat函数传入,并且定义embedding稠密向量的维度大小;对于用户历史行为特征列,除了训练稠密表示之外,还需要传入attention层,与当前候选集计算相似度,模拟用户的动态兴趣变化;对于用户不同长度的历史行为序列通过varlensparsefeat函数做序列填充,将变量长度进行统一,最后对于数值型变量则直接用densefeat函数传入,最后通过混合排序模型得到新闻推荐结果序列。
[0166]
根据集成决策树模型lightgbm特征重要度排序功能,输出重要特征排序图5,图5展示了与推荐结果关联程度排前十的特征列表及其重要性分数。排序前十的特征中有大半与时间相关,time_diff表示用户历史阅读文章和最后点击文章的时间差,created_at_ts表示文章的创建时间,user_time_hob则表示用户阅读文章的时间偏好等,另外表示文章热度的指标hot_level的增益值也较大。说明在新闻推荐系统中,时效性和热度性是重要的推荐特征,该分析结果符合业务常识,为推荐结果给出合理的解释。
[0167]
计算离线训练准确度指标auc、模型损失值loss和线上预测准确度mrr,将混合前的单个排序模型预测结果,与混合排序模型预测结果做对比
[0168]
线上预测准确度mrr值越高表示推荐算法的效果越好,即最后推荐的文章在推荐结果中位置越靠前。根据表2结果可知,融合了集成决策树模型lightgbm与深度兴趣网络模型din的混合排序模型不管是离线训练准确度指标auc还是线上预测准确度mrr指标均高于混合前的单个模型,说明该混合策略在此新闻数据集上是有效的。
[0169]
表2不同排序算法的性能指标表
[0170][0171][0172]
虽然单个的集成决策树模型lightgbm具有特征可解释性,但是推荐结果的准确率并不如深度学习模型din,模型的损失值也较大。而基于深度学习的推荐算法通过引入神经网络、attention机制,除了能有效记忆用户与项目之间,各特征浅层交互的线性关系之外,还能抽象出更深层次的非线性关系以增强模型的泛化能力,模型的预测效果相比于集成决策树模型lightgbm算法有显著提升,离线训练准确度指标auc升高约0.09。经过stacking融合后的模型不仅具备了一定的特征可解释性,同时也吸收了深度学习方法高语义表征能力,使得最终新闻推荐的效果更优。
[0173]
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献