1.基于新闻事件和新闻风格联合建模的新闻推荐方法,其特征在于,该方法包括如下步骤:S1、构建新闻推荐模型的训练数据集:首先下载网络上公开的新闻数据集,然后预处理数据集,最后构建正例数据和负例数据,组合生成最终的训练数据集;
S2、构建基于新闻事件和新闻风格联合建模的新闻推荐模型:利用神经网络和深度学习方法构建新闻推荐模型,该模型架构如下:新闻编码器、事件‑风格解耦器、事件匹配模块、风格匹配模块、候选新闻预测模块;所述事件‑风格解耦器的具体步骤如下:以新闻表示作为输入,首先通过事件‑风格编码器对新闻表示进行编码,得到高阶新闻表示,然后分别使用事件解码器和风格解码器从高阶新闻表示中抽取出新闻事件表示和新闻风格表示,进一步使用事件分类器对这两种表示进一步编码,得到基于事件的新闻事件分布和基于风格的新闻事件分布,其中事件分类器由一层使用softmax激活函数的全连接神经网络构成;为了更好地辅助模型训练,需要构建真实的新闻事件分布,首先使用TF‑IDF提取每个新闻的关键词,然后使用BERT将关键词编码为关键词词向量表示,进一步使用K‑means将关键词聚类为K个事件通道;为了优化事件‑风格解耦器,设计事件预测损失、重构损失和对抗损失以构造最终的辅助损失,以辅助模型训练,其中重构损失用于缓解高阶新闻表示抽取过程中产生的信息丢失问题,事件预测损失用于拉近基于事件的新闻事件分布和真实的新闻事件分布的距离,对抗损失拉远其与真实的新闻事件分布的距离;
S3、训练模型:在步骤S1所得到训练数据集中对步骤S2构建的新闻推荐模型进行训练。
2.根据权利要求1所述的基于新闻事件和新闻风格联合建模的新闻推荐方法,其特征在于,所述步骤S2中构建基于新闻事件和新闻风格联合建模的新闻推荐模型新闻编码器的具体步骤如下:以新闻的标题、摘要、类别和子类别作为输入,新闻编码模器用于构建映射表、生成标题表示、生成摘要表示、生成类别特征表示和子类别特征表示,并根据这些信息得到新闻表示;具体如下:构建映射表:基于数据集中每一个单词构建单词映射表,并将表中每一个单词映射成唯一的数字标识;映射规则为:以数字1为起始,随后按照每个单词被录入单词映射表的顺序依次递增排序,从而形成单词映射转换表;类似地,构建新闻类别映射表和新闻子类别映射表,并分别将类别和子类别转换为对应的数字标识,映射规则与单词映射转换表类似;
生成标题表示:使用单词嵌入层将新闻的标题编码为标题嵌入表示
其中下标N代表标题的长度;对于标题嵌入表示,使用卷积神经网络进行编码,生成卷积后的标题表示;卷积神经网络的具体实施见下述公式:其中,iw为标题中第i个单词;w为卷积神经网络滑动窗口的大小,设置为3;
为标题嵌入表示中第(iw‑w)个单词到第(iw+w)个单词的嵌入表示;Ft和bt是卷积神经网络的参数;ReLU为激活函数;为卷积后的标题表示;
使用加性注意力网络进一步对卷积后的标题表示进行编码,生成标题表示;具体实施见下述公式:其中,Vat、vat为可训练的参数;为卷积后的标题表示,来自公式(1); 为新闻标题中t单词间的相似度;tanh为激活函数; 为新闻标题中单词间的注意力权重;r为标题表示;N为标题的长度;
生成摘要表示:使用单词嵌入层将新闻的摘要转换为摘要嵌入表示
其中下标M代表摘要的长度;对于摘要嵌入表示,使用与标题嵌入表示类似的操作进行处b理,生成摘要表示r;
生成类别特征表示和子类别特征表示:使用类别嵌入层和子类别嵌入层将新闻的类别c sc和子类别转换为类别嵌入表示e和子类别嵌入表示e ;对于类别嵌入表示和子类别嵌入表c sc示,分别使用全连接神经网络对其进行编码,生成类别特征表示r和子类别特征表示r ;具体实施见下述公式:c c
r=ReLU(Vc×e+vc),
sc sc
r =ReLU(Vsc×e +vsc), (3)
c sc
其中,Vc、Vsc、vc和vsc为全连接神经网络的参数;e 、e 分别为类别嵌入表示和子类别嵌c sc入表示;r、r 分别为类别特征表示和子类别特征表示;
生成新闻表示:使用多视角注意力网络融合标题表示、摘要表示、类别特征表示和子类别特征表示;设置上述信息对应的注意力权重分别为αt、αb、αc和αsc,这四个注意力权重计算方法类似;在此仅介绍αt的计算方法,其他三项注意力权重的计算与此类似,具体实施方法如下公式所示:其中,Uv、uv和qv为可训练的参数;at为标题中单词间的相似度,类似的操作得到摘要、类别、子类别中单词间的相似度ab、ac和asc;αt为标题的注意力权重,类似的操作得到摘要、类别、子类别的注意力权重αb、αc和αsc;
最后,根据注意力权重加权求和得到新闻表示n,具体实施方法如下公式所示:
c sc t b
n=αcr+αscr +αtr+αbr . (5)
其中,αt、αb、αc和αsc分别为标题、摘要、类别、子类别的注意力权重,来自公式(4);n为新闻表示;
由于新闻编码器的输入有两部分:历史新闻序列和候选新闻,因此新闻表示包含历史新闻序列的新闻表示和候选新闻的新闻表示;根据公式(5),可以将其表示为:[n1,...,ni,...,nN;nC];其中,n1,...,ni,...,nN为历史新闻序列的新闻表示;nC为候选新闻的新闻表示。
3.根据权利要求1所述的基于新闻事件和新闻风格联合建模的新闻推荐方法,其特征在于,所述步骤S2中构建基于新闻事件和新闻风格联合建模的新闻推荐模型事件‑风格解耦器的具体步骤如下:以新闻表示作为输入,首先通过事件‑风格编码器对新闻表示进行编码,得到高阶新闻表示;然后分别使用事件解码器和风格解码器从高阶新闻表示中抽取出新闻事件表示和新闻风格表示;然后使用事件分类器对这两种表示进一步编码,得到基于事件的新闻事件分布和基于风格的新闻事件分布;同时为了优化事件‑风格解耦器,设计事件预测损失、重构损失和对抗损失以构造最终的辅助损失,以辅助模型训练;
事件‑风格编码器:以新闻表示作为输入,历史新闻序列的新闻表示n1,...,ni,...,nN传递到事件‑风格编码器中进行编码,得到高阶新闻表示;事件‑风格编码器由三层全连接神经网络构成,该编码器选用ReLU函数作为激活函数;残差网络也加入到事件‑风格编码器中,以缓解信息丢失的问题;对于历史新闻序列中浏览新闻的新闻事件表示,新闻编码器的具体实施方法如下述公式所示:其中,ni为历史新闻序列中第i个浏览新闻的新闻表示;ReLU为激活函数;Dense为全连接神经网络;[;]为联接操作; 为全连接神经网络编码后的新闻表示;hi为历史新闻序列中第i个浏览新闻的高阶新闻表示;
事件解码器和风格解码器:以高阶新闻表示作为输入,将高阶新闻表示传递到事件解码器和风格解码器中进行解码,得到新闻事件表示和新闻风格表示;事件解码器和风格解码器的构造相似,都是由配备有残差网络的三层全连接神经网络构成;事件解码器的具体实施方法如下述公式所示:其中,hi为历史新闻序列中第i个浏览新闻的高阶新闻表示,来自公式(6); 均为全连接神经网络编码后的高阶新闻表示;ei为历史新闻序列中第i个浏览新闻的新闻事件表示;风格解码器以类似的操作得到新闻风格表示ti,该解码器的代码实施与公式(7)的代码实施类似;
事件分类器:以新闻事件表示和新闻风格表示作为输入,事件分类器对新闻事件表示和新闻风格表示进一步编码,得到基于事件的新闻事件分布和基于风格的新闻事件分布;
事件分类器由一层使用softmax激活函数的全连接神经网络构成,具体实施方法如下述公式所示:pe,i=softmax(Dense(ei)), (8)
其中,ei为历史新闻序列中第i个浏览新闻的新闻事件表示,来自公式(7);softmax为激活函数;pe,i为历史新闻序列中第i个浏览新闻的基于事件的新闻事件分布;类似的操作得到基于风格的新闻事件分布pt,i;
为了更好地辅助模型训练,需要构建真实的新闻事件分布,然而数据集中未提供该标签,因此设计一种算法构建真实的新闻事件分布;首先使用TF‑IDF提取每个新闻的关键词,然后使用BERT将关键词编码为关键词词向量表示,进一步使用K‑means将关键词聚类为K类,即K个事件通道;对于历史新闻序列中第i个浏览新闻,它在第j个事件通道上的新闻事件分布的计算方法如下述公式所示:其中,|NKij|代表历史新闻序列中第i个浏览新闻中属于第j个事件通道的关键词个数;
|NK|代表该新闻中所有关键词个数;pe,ij为历史新闻序列中第i个浏览新闻在第j个事件通道上的真实的新闻事件分布;pe,i=[pe,i1,pe,i2,...,pe,iK]为历史新闻序列中第i个浏览新闻的基于事件的真实的新闻事件分布;K为事件通道个数,设置为17;
构造辅助损失:为了优化事件‑风格解耦模块,设计三种损失函数:重构损失、事件预测损失以及对抗损失;其中,重构损失用于缓解解耦过程中产生的信息丢失问题,将新闻事件表示和新闻风格表示进行联接,然后使用一个全连接神经网络对其进行编码,得到重构的新闻表示,最后使用MSE函数约束新闻表示和重构的新闻表示;具体实施方法如下述公式所示:其中,ei、ti分别为历史新闻序列中第i个浏览新闻的新闻事件表示和新闻风格表示,二者均来自公式(7);ni为历史新闻序列中第i个浏览新闻的新闻表示,来自公式(6);MSE为均方误差函数; 为重构损失;
事件预测损失用于拉近基于事件的新闻事件分布和真实的新闻事件分布的距离;具体实施方法如下述公式所示:其中,pe,i为历史新闻序列中第i个浏览新闻的基于事件的新闻事件分布,来自公式(8);pe,i为历史新闻序列中第i个浏览新闻的基于事件的真实的新闻事件分布,来自公式(9); 为事件预测损失;
对抗损失以新闻风格表示作为输入,通过事件分类器得到基于风格的新闻事件分布,并拉远其与真实的新闻事件分布的距离;具体实施方法如下述公式所示:其中,pt,ij为历史新闻序列中第i个浏览新闻在第j个事件通道上的基于风格的新闻事件分布,来自公式(8);pe,ij为历史新闻序列中第i个浏览新闻在第j个事件通道上的基于风格真实的新闻事件分布,来自公式(9); 为对抗损失;
最后,辅助损失由上述三种损失构成;具体实施方法如下述公式所示:
其中, 分别为重构损失、事件预测损失、对抗损失,来自公式(10)、公式
(11)、公式(12)。
4.根据权利要求1所述的基于新闻事件和新闻风格联合建模的新闻推荐方法,其特征在于,所述步骤S2中构建基于新闻事件和新闻风格联合建模的新闻推荐模型事件匹配模块的具体步骤如下:以公式(7)输出的新闻事件表示和公式(8)输出的基于事件的事件分布分别作为输入;
其中,新闻事件表示包含历史新闻序列的新闻事件表示和候选新闻的新闻事件表示;类似地,基于事件的新闻事件分布包含历史新闻序列的基于事件的新闻事件分布和候选新闻的基于事件的新闻事件分布;使用事件通道建模层对历史新闻序列的新闻事件表示在不同事件通道上进行编码,生成基于事件的用户表示;对候选新闻的新闻事件表示按照不同事件通道进行划分,生成候选新闻在不同事件通道上的新闻事件表示;使用细粒度事件匹配层,对基于事件的用户表示和候选新闻在不同事件通道上的新闻事件表示进行内积计算,得到候选新闻在不同事件通道上的事件匹配得分;最后通过得分注意力网络将每个事件通道的事件匹配得分进行汇聚,以生成一个细粒度事件匹配得分;事件匹配模块的构建步骤如下:构建事件通道建模层:以历史新闻序列的新闻事件表示、候选新闻的新闻事件表示、历史新闻序列的基于事件的新闻事件分布、候选新闻的基于事件的新闻事件分布作为输入,首先根据历史新闻序列的基于事件的新闻事件分布、候选新闻的基于事件的新闻事件分布分别将历史新闻序列的新闻事件表示、候选新闻的新闻事件表示划分到不同事件通道;对于历史新闻序列中第i个浏览新闻的新闻事件表示,其划分方法的具体描述如下:其中,pe,i为历史新闻序列中第i个浏览新闻的基于事件的新闻事件分布,来自公式(8);ei为历史新闻序列中第i个浏览新闻的新闻事件表示,来自公式(7); 为历史新闻序列中第i个浏览新闻在不同事件通道上的新闻事件表示; 其中 为该历史新闻序列中第i个浏览新闻在第1个事件通道上的新闻事件表示;K为事件通道的个数;
类似地,对于候选新闻的新闻事件表示,使用相同的方法将其划分到不同事件通道,以生成候选新闻在不同事件通道上的新闻事件表示 其中下标c表示候选新闻;j表示第j个事件通道;
进一步地,为了在每个通道上生成基于事件的用户表示,该层在每个事件通道上都使用通道注意力网络进行编码;对于第j个事件通道上的基于事件的用户表示,其具体实施方法如下述公式所示:其中, 为历史新闻序列中第i个浏览新闻在第j个事件通道上的新闻事件表示,来自公式(14);qj、Vj和vj为通道注意力的参数; 为第i个浏览新闻在第j个事件通道上的相似度; 为第i个浏览新闻在第j个事件通道上的注意力权重; 为第j个事件通道上的基于事件的用户表示; 为基于事件的用户表示;l为历史新闻序列的长度,设置为50;
构建细粒度事件匹配层:以事件通道建模层得到的基于事件的用户表示和候选新闻在不同事件通道上的新闻事件表示作为输入,生成每个事件通道上的事件匹配得分,并通过得分注意力聚合为事件匹配得分;第j个事件通道的事件匹配得分计算方法如下述公式所示:其中, 为第j个事件通道上的基于事件的用户表示,来自公式(15); 为候选新闻在第j个事件通道上的新闻事件表示,来自公式(14); 为第j个事件通道的事件匹配得分;
该层通过一个得分注意力网络将每个事件通道的事件匹配得分进行汇聚,以生成一个细粒度事件匹配得分;由于候选新闻的基于事件的新闻事件分布对得分注意力有一定的影响,因此得分注意力的构建应考虑该因素;候选新闻的基于事件的新闻事件分布首先通过进行映射;其中pe,c是候选新闻的基于事件的新闻事件分布,来自公式(8); 为候选新闻的基于事件的新闻事件分布的离散向量;
然后通过全连接神经网络将候选新闻的基于事件的新闻事件分布的离散向量转换为候选新闻事件分布表示P”e,c;具体实施方法如下述公式所示:其中, 为候选新闻的基于事件的新闻事件分布的离散向量;P'e,c为 的嵌入表示;
P”e,c为候选新闻事件分布表示;
最后基于候选新闻事件分布表示P”e,c在不同事件通道上构建得分注意力并计算事件匹配得分,具体实施方法如下述公式所示:其中,P”e,cj是候选新闻在第j个事件通道上的新闻事件分布表示,来自公式(17);qs、Vs和vs是得分注意力网络的参数; 为候选新闻在第j个事件通道上的相似度; 为候选新闻f在第j个事件通道上的注意力权重;s为事件匹配得分;K为事件通道的个数。
5.根据权利要求4所述的基于新闻事件和新闻风格联合建模的新闻推荐方法,其特征在于,所述步骤S2中构建基于新闻事件和新闻风格联合建模的新闻推荐模型风格匹配模块的具体步骤如下:以用户ID和权利要求4所述的新闻风格表示作为输入,其中新闻风格表示包含历史新闻序列的新闻风格表示和候选新闻的新闻风格表示,其获取方法与权利要求4所述的历史新闻序列的新闻事件表示和候选新闻的新闻事件表示类似;
风格匹配模块首先使用多头注意力对历史新闻序列的新闻风格表示进行编码,以捕获新闻中的交互,并生成历史新闻序列交互后的新闻风格表示;具体实施方法如下述公式所示:[t'1,t'2,…,t'l]=MultiHeadAttention(T), (19)其中,T=[t1,t2,...,tl]为历史新闻序列的新闻风格表示;t1和t'1分别为历史新闻序列中第1个新闻的新闻风格表示和历史新闻序列中第1个新闻交互后的新闻风格表示;其他符号,与此类似;
对于历史新闻序列交互后的新闻风格表示,使用风格注意力网络编码,生成基于风格的用户表示;具体实施方法如下述公式所示:其中,ud代表用户ID的嵌入表示;u'd代表用户ID的特征表示;qt、Vt、Vd和v为模型参数;
t'i为历史新闻序列中第i个新闻交互后的新闻风格表示; 为历史新闻序列交互后的新闻风格表示间的相似度; 为风格注意力权重;ut为基于风格的用户表示;
进一步地,将基于风格的用户表示与候选新闻的新闻风格表示进行内积计算,生成风格匹配得分,具体实施方法如下述公式所示:t
其中,ut为基于风格的用户表示,来自公式(20);tc为候选新闻的新闻风格表示;s为代表风格匹配得分。
6.根据权利要求4或5所述的基于新闻事件和新闻风格联合建模的新闻推荐方法,其特征在于,所述步骤S2中构建基于新闻事件和新闻风格联合建模的新闻推荐模型候选新闻预测模块的具体步骤如下:以候选新闻预测模块以权利要求4所述的事件匹配得分和权利要求5所述的风格匹配得分作为输入,通过权重相加得到候选新闻的预测得分,具体实施方法如下述公式所示:f t
s=s+βs (22)
f t
其中,s为事件匹配得分,来自公式(18);s为风格匹配得分,来自公式(21);s为候选新闻的预测得分;β为权重,设置为1.9。
7.根据权利要求1所述的基于新闻事件和新闻风格联合建模的新闻推荐方法,其特征在于,所述步骤S3中,在步骤S1所得到训练数据集中对步骤S2构建的新闻推荐模型进行训练,具体步骤如下:构建损失函数:采用负采样技术,将一个被用户点击的候选新闻定义为正样例,未被用户点击的候选新闻定义为负样例,计算正样例的点击预测概率pi;具体实施方法如下述公式所示:其中, 是在同一点击序列中的第j个负样例相对于第i个正样例的点击率; 是第i个正样例;G是负样例的个数;
模型的损失函数为所有正样例的负对数似然函数,具体实施方法如下述公式所示:
其中,pi为正样例的点击预测概率; 是正样例的集合;
进一步地,整体损失函数的定义为 其中, 为辅助损失,来自公式
(13);γ为超参数,在此设置为1.6;
优化模型:使用Adam算法作为模型的优化函数;其中,学习率参数设置为0.0001,其他超参数使用PyTorch中的默认值即可;
本方法模型尚未进行充分训练时,需要在训练数据集上进行训练,以优化模型参数;当模型训练完毕时,候选新闻预测模块可预测每个候选新闻的预测得分,根据得分,推荐合适的新闻给当前用户。
8.基于新闻事件和新闻风格联合建模的新闻推荐系统,其特征在于,该系统包括训练数据集生成单元、基于新闻事件和新闻风格联合建模的新闻推荐模型构建单元、模型训练单元,分别实现权利要求1‑7任一项所描述的基于新闻事件和新闻风格联合建模的新闻推荐方法,具体为:训练数据集生成单元,用于在线上新闻网站获得用户的浏览记录信息,随后对其进行预处理操作,从而得到符合训练要求的用户浏览记录及其新闻文本内容;
基于新闻事件和新闻风格联合建模的新闻推荐模型构建单元,用于构建新闻编码器、构建事件‑风格解耦器、构建事件匹配模块、构建风格匹配模块、构建候选新闻预测模块;
模型训练单元,用于构建模型训练过程中所需要的损失函数,并完成模型的优化训练。
9.一种存储介质,其中存储有多条指令,其特征在于,所述指令由处理器加载,执行权利要求1‑7任一项所述的基于新闻事件和新闻风格联合建模的新闻推荐方法的步骤。
10.一种电子设备,其特征在于,所述电子设备包括:权利要求9所述的存储介质;以及处理器,用于执行所述存储介质中的指令。