System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种基于行列式点过程的多样化新闻推荐方法技术_技高网

一种基于行列式点过程的多样化新闻推荐方法技术

技术编号:40429711 阅读:8 留言:0更新日期:2024-02-20 22:51
本发明专利技术公开了一种基于行列式点过程的多样化新闻推荐方法,包括:通过新闻标题文本和用户历史阅读,训练新闻编码器和用户编码器,经由用户编码器用户u的表示向量为P<subgt;u</subgt;,经由新闻编码器候选新闻的表示向量列表为[f<subgt;1</subgt;,f<subgt;2</subgt;,…,f<subgt;m</subgt;]。计算候选新闻列表中新闻的两两的相似性,获得相似性矩阵S。获得用户对候选新闻列表中各新闻的评分向量r<subgt;u</subgt;,引入权衡因子α,形成核矩阵L'。针对核矩阵L'迭代贪心算法n次,每次迭代返回候选新闻列表中总收益最大的一条新闻y<subgt;i</subgt;,迭代n次直至构成大小为n的目标新闻子集作为方法的输出结果。本发明专利技术和其他比较方法相比,准确性在同一数量级上,多样性得到了明显提升。

【技术实现步骤摘要】

本专利技术属于新闻推荐,机器学习研究的,提出了一种基于行列式点过程的多样化新闻推荐方法,在保证推荐准确率的前提下有效提升推荐多样性。


技术介绍

1、面对信息过载这一信息时代的重要问题,推荐系统和推荐算法有能力挖掘用户的隐藏兴趣,为用户筛选出他们可能感兴趣的内容,从而提高各种应用平台的效率。传统推荐方法、深度学习方法和各种混合推荐方法在推荐系统中都取得了良好的效果。然而,现有的推荐方法通常尝试构建准确预测用户和物品互动能力的模型,而最准确的推荐结果可能会过多地偏好热门项目且很可能推荐已知项目,这并不是对用户最有用的结果。

2、因此,在准确性之外,多样性逐渐成为了推荐系统的一个重要目标。其一,多样化的推荐结果可以扩展用户视野、挖掘用户隐藏兴趣、避免为用户推荐已知项目、避免重复推荐,为用户提供真正有意义的信息。其二,多样化的推荐系统可以缓解“信息茧房”效应和“回音室效应”等现象。注重新闻推荐结果的多样性、使用推荐多样化算法则可以从算法层面达到一定的“破茧”效果,避免个体思维固化、社会群体分裂的风险,用技术承担社会责任。

3、现有的多样化推荐算法可以大体划分为三类:后处理多样化策略、基于监督学习的多样化策略和基于行列式点过程的多样化策略。基于行列式点过程的多样化策略是一种将多样性和相关性这两个目标优雅结合的高效算法,具有结构清晰、计算效率高、和知识图谱与强化学习等各类前沿推荐模型结合扩展性强的特点。现有方法对各种加速行列式点过程推断的优化策略和前沿个性化推荐方法的结合不够充分。因此使用行列式点过程方法提升新闻推荐的多样性是必要的。


技术实现思路

1、本专利技术要解决的技术问题为:克服现有技术准确性单一评价的不足,提供一种基于行列式点过程的多样化新闻推荐方法,在保证新闻推荐准确率的前提下,提高新闻推荐的多样性。

2、本专利技术解决上述技术问题的技术方案为:一种基于行列式点过程的多样化新闻推荐方法,该方法具体步骤如下:

3、一种基于行列式点过程的多样化新闻推荐方法,包括以下步骤:

4、步骤s1:构建基于注意力机制的新闻编码器,包括文本编码层、词级别的多头自注意力网络层、词级别的注意力网络层;文本编码层将输入新闻g的标题文本作为长度为m的单词序列[w1,w2,…,wm],经过训练bert文本编码器后,输出语义向量序列[e1,e2,…,em];词级别的多头自注意力网络层有h个自注意力头,第ith个单词的多头表示多头表示的计算方法为:

5、

6、

7、其中,是第ith个单词通过第kth个注意力头和第jth个单词学习到的相对重要性,和都是第kth个注意力头的待学习参数;词级别的注意力网络中第ith个单词的注意力权重计算步骤为:

8、

9、

10、其中vw、vw都是网络中待学习的参数,qw是查询向量,是计算过程的中间值,是softmax归一化计算后的最终注意力权重。最终新闻编码器的输出为每个单词的多头表示的加权和ft为新闻t的表示向量;

11、步骤s2:基于步骤s1的新闻编码器,构建用户编码器,包括新闻级别的多头自注意力网络层、新闻级别的注意力网络层;将用户历史阅读列表ru中项目逐个输入新闻编码器得到长度为m的新闻表示序列[r1,r2,…,rm];新闻级别的多头自注意力网络层有h个自注意力头,第ith个新闻的多头表示多头表示的计算方法为:

12、

13、

14、其中,是第ith条新闻通过第kth个注意力头和第jth条新闻学习到的相对重要性,和都是第kth个注意力头的待学习参数;新闻级别的注意力网络中第ith个单词的注意力权重计算步骤为:

15、

16、

17、其中vn、vn都是网络中待学习的参数,qn是查询向量,是计算过程的中间值,是softmax归一化计算后的最终注意力权重。最终用户编码器的输出为以上步骤的加权和:pu为用户u的表示向量;

18、步骤s3:在训练阶段,用户u的编码表示为pu,新闻t的编码表示为ft,对每个正样本随机采样k=4个负样本,将预测一位用户是否点击一条新闻作为一个独立的预测任务,分别使用内积计算该用户对k+1=5个候选新闻的评分使用softmax函数对得分进行正则化,正样本的点击概率为训练的损失函数为所有正样本的负对数概率之和其中s是正样本的集合;使用adam梯度反向传播优化算法训练学习获得新闻编码器和用户编码器中的待学习参数;

19、步骤s4:面对一个新闻推荐任务,有用户u的历史阅读新闻列表和长度为m的候选新闻列表cu;将历史阅读新闻列表输入步骤s1到s3训练得到的用户编码器获得用户特征表示向量pu,将候选新闻标题逐条输入步骤s1到s3得到的新闻编码器获得新闻特征表示向量的列表[f1,f2,…,fm];

20、步骤s5:计算候选新闻列表中新闻的两两的相似性,获得相似性矩阵s,其中<fi,fj>=sij;计算用户和候选新闻列表中所有新闻的相关性,获得用户对候选新闻列表中各新闻的评分向量ru,向量中第i个元素有<pu,fi>=ri;

21、步骤s6:对角向量为ru的对角矩阵为diag(ru),构建应用于行列式点过程算法的核矩阵l,l写作gram矩阵的形式如下所示,其中bi,bj为计算的中间表示对象:

22、lij=<bi,bj>=<rifi,rjfj>=rirj<fi,fj>=diag(ru)·s·diag(ru)

23、假设从候选新闻列表cu中筛选出长度为n的子集y,按子集y中元素对应位置,从核矩阵l构造子矩阵ly,从相似性矩阵s构造子相似性矩阵sy,从评分向量ru构造子评分向量ry,计算子矩阵的对数行列式有:

24、

25、该对数行列式的前一项度量项目子集的相关性评分,后一项度量了项目子集的多样性评分;因此,度量子集y对应的子矩阵的对数行列式log det(ly)兼顾度量子集的相关性和多样性程度;

26、步骤s7:引入权衡相关性和多样性的调整权衡因子θ∈[0,1],评分向量更新为exp(αru),核矩阵更新为l'=diag(exp(αru))·s·diag(exp(αru));

27、步骤s8:从候选新闻列表cu中获取长度为n的新闻子集,需要迭代以下算法n次,每次迭代算法返回待选择的候选新闻列表中总收益最大的一条新闻yi,迭代n次直至构成大小为n的目标子集每次迭代需要处理的优化问题为

28、具体方法为:

29、(1)输入候选新闻集合z、核矩阵l、目标选出新闻集大小为n;

30、(2)初始化计算的中间系数:

31、(3)初始化输出目标集合:选出首个项目加入目标集合yg={j};

32、(4)判断是否已完成选择任务:判断是否有#yg<n,若否,则跳转到第(7)步,若本文档来自技高网...

【技术保护点】

1.一种基于行列式点过程的多样化新闻推荐方法,其特征在于,包括以下步骤∶

2.根据权利要求1所述的方法,其特征在于,步骤1的具体实现方法为,文本编码层将输入新闻g的标题文本作为长度为M的单词序列[w1,w2,...,wM],经过训练BERT文本编码器后,输出语义向量序列[e1,e2,...,eM];词级别的多头自注意力网络层有h个自注意力头,第ith个单词的多头表示多头表示的计算方法为:

3.根据权利要求2所述的方法,其特征在于,步骤2的具体实现方法为,将用户历史阅读列表Ru中项目逐个输入新闻编码器得到长度为M的新闻表示序列[r1,r2,...,rM];新闻级别的多头自注意力网络层有h个自注意力头,第ith个新闻的多头表示多头表示的计算方法为:

【技术特征摘要】

1.一种基于行列式点过程的多样化新闻推荐方法,其特征在于,包括以下步骤∶

2.根据权利要求1所述的方法,其特征在于,步骤1的具体实现方法为,文本编码层将输入新闻g的标题文本作为长度为m的单词序列[w1,w2,...,wm],经过训练bert文本编码器后,输出语义向量序列[e1,e2,...,em];词级别的多头自注意力网络层...

【专利技术属性】
技术研发人员:欧阳元新韩滏婧刘壮荣文戈熊璋
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1