[发明专利]基于情感防护的新闻智能推荐系统在审
申请号: | 202110606444.X | 申请日: | 2021-05-28 |
公开(公告)号: | CN113343120A | 公开(公告)日: | 2021-09-03 |
发明(设计)人: | 刘嘉辉;杜金;仇化平 | 申请(专利权)人: | 哈尔滨理工大学 |
主分类号: | G06F16/9536 | 分类号: | G06F16/9536;G06F16/906;G06F40/284;G06N7/00;G06Q50/00 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 150080 黑龙*** | 国省代码: | 黑龙江;23 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 情感 防护 新闻 智能 推荐 系统 | ||
1.基于情感防护的新闻智能推荐系统,其特征在于:
(1)新闻特征矩阵模块:通过BERT预训练模型提取新闻特征信息构建新闻特征矩阵;
(2)情感分级模块:建立情感分级模型对用户评论、新闻标题和内容进行情感分级处理;
(3)用户特征矩阵模块:通过聚类算法对新闻标签进行聚类,依据用户评论情感等级和用户行为时间对用户浏览的新闻分配权重,并且通过用户特征信息构建用户特征矩阵;
(4)用户情感预测模块:按照时间顺序标记用户情感趋势建立模型,预测用户下一时间段内的情感等级;
(5)新闻推送模块:通过计算用户向量和新闻向量的相似度产生推荐列表,通过预测的用户情绪状态按照贝叶斯方法设定推荐新闻中各级新闻的比例;
根据权利要求1所述的基于情感防护的新闻智能推荐系统,其特征在于:
新闻特征矩阵模块包括:
Step1_1,加载系统内的新闻内容,新闻标题,用户评论构成语料数据,对语料数据进行清洗,并初始化BERT预训练模型参数;
Step1_2,通过BERT模型把文本转换成向量形式,通过比较文本内容与预先设定的非特征词汇表,消除文本内容中的非特征词,并以非特征词为界限对文本进行分词;
Step1_3,将分词后每个词所对应的向量与其余的所有词依次计算欧式距离并进行累加,设置结果最高的前N项作为该篇新闻对应的特征词;
Step1_4,将新闻的特征信息进行数字化表示,并与新闻的特征词的词向量合并填入新闻向量中,将新闻向量保存在新闻矩阵中;
新闻特征矩阵构建过程描述完毕;
情感分级模块包括:
Step2_1,将通过BERT模型训练后的新闻和评论文本对应的向量,按照sequencelength的维度分别计算均值和最大值,其中,sequence length表示整个文本序列的长度,合并成为一个向量text_sum,text_sum向量表示整个新闻和评论的内容;
Step2_2,选取k个情感倾向最积极的词,将k个词所对应的向量计算均值形成情感标准向量emotion_normal;
Step2_3,计算每个新闻和评论对应的text_sum与emotion_normal的差值消除text_sum向量中非情感因素的影响,并将结果赋值给向量NEW_e作为情感特征;
Step2_4,建立情感分级模型实现对情感特征向量NEW_e的分级处理;
具体描述为:
Step2_4_1,随机选取情感特征向量NEW_e_c1,NEW_e_c2,NEW_e_c3,NEW_e_c4,NEW_e_c5,分别作为积极情感,比较积极情感,中性情感,比较负面情感和负面情感的类别中心和,将样本划分为五类,样本NEW_ei与类别中心NEW_e_cj的距离d_ij用指数相似系数来表示,具体公式定义为:
其中其中n为样本数量,s为样本向量的特征维数;
Step2_4_2,通过模糊C均值聚类算法计算模糊分类矩阵U,U的求解公式定义为:
其中,u_ij表示样本i对类别j的隶属度,m为模糊系数,c为类别数;
Step2_4_3,初始化可能性C均值聚类的参数μ,
μ的取值为
Step2_4_4,可能性C均值聚类的目标函数和约束条件定义为:
maxi{u_ij}0;
Step2_4_5,隶属度函数和类别中心计算公式为:
u_ij=(1+(d_ij2/μi1/(m-1))-1
Step2_4_6,设置阈值ε,和模糊系数m,当满足||△c_i||ε时,算法停止迭代并输出最佳模糊分类矩阵U和类别中心矩阵C;
Step2_4_7,按照中心矩阵C内的类别向量与情感标准向量emotion_normal的欧式距离的差值对d_j进行等级排序;
Step2_5,按照d_j的数值进行情感等级排序,最小的数值为第五等级,设定为积极情感等级,最大的数值为第一等级,设定为消极情感等级;通过最佳模糊分类矩阵获得每个新闻和评论的属于情感等级的隶属程度,通过隶属程度的数值计算情感等级;
情感分级模块描述完毕;
用户特征矩阵模块包括:
Step3_1,确定滑动窗口半径r,以随机选取的新闻标签向量NEW_L1为中心向量半径为r的圆形作为滑动窗口,依次计算剩余的新闻标签向量与中心点NEW_L1的欧式距离L,计算与NEW_L1距离小于等于r的新闻标签向量标记到集合M,定义所述点属于蔟c1;
Step3_2,依次计算从中心向量NEW_L1到集合内所有元素的偏移向量Ni,得到偏移向量N=N1+N2+…+NN;
Step3_3,中心向量NEW_Li沿密度上升方向移动|N|的距离;
Step3_4,重复以上操作直至偏移量的数值小于阈值K,标记所获得的中心向量NEW_Li;
继续重复所述操作直至所有点被归类;
Step3_5,根据每个类对每个新闻标签向量标记频率,选取频率最大的类作为所述新闻标签向量的归属类kind;
Step3_6,以用户最近的浏览时间为时间戳,将其余的新闻的浏览时间与时间戳进行差值计算,除以时间精度进行归一化,获得每个新闻所对应的时间权重;设定时间戳为t,浏览新闻i的时间为ti,时间权重Pti=1/(1+((t-ti)/m)),其中m为时间精度;
Step3_7,对用户浏览的新闻i分配权重Wi,Wi=Pti*emotioni,其中Pti为时间权重,emotioni为用户评论的情感等级;
Step3_8,按照新闻特征词类型将用户的兴趣程度进行累加求和,获得用户对每个新闻类型兴趣的总权重,设定新闻权重Wi=Pti*emotioni,用户兴趣数字量化为:
User_label_1=(W1*NEW_S1_k1+W2*NEW_S2_k1+…+Wn*NEW_Sn_k1),…,
User_label_n=(W1*NEW_S1_kn+W2*NEW_S2_kn+…+Wn*NEW_Sn_kn),
其中,User_label_n表示用户对第n个类型新闻的兴趣程度,Wn表示第n个新闻的权重,NEW_Sn_kn表示新闻对第n类新闻的相似度;
Step3_9,用户对于n个类型新闻的兴趣权重化表示为n维向量User_label:
User_label=[User_label_1,User_label_2,…,User_label_n],其中,News_label_n表示属于第n个兴趣分类新闻标签与该类中心向量的相似度,如果没有属于第n个兴趣分类的新闻标签,则第n维值设置为0;
Step3_10,用户兴趣向量User_label与用户特征信息合并填入用户向量内,并将用户向量保存到用户矩阵中,用户特征矩阵构建完成;
用户特征矩阵构建模块过程描述完毕;
用户情感预测模块包括:
Step4_1,读取用户行为数据将时间数据进行转化,创建时间序列sequence;以用户行为时间为索引,用户情感信息为内容,
sequence=((time_1,emotion_1),(time_2,emotion_2),…,(time_n,emotion_n));
Step4_2,补充时间序列的空白项,计算用户情感偏置Ud,Ud=(emotion_1+emotion_2+…+emotion_n)/m,其中m为用户有情感评论的新闻数,以Ud补全序列中的空白项;
Step4_3,以单位根检验判断创建的时间序列的平稳性,如果不存在单位根,则为平稳序列,结果为p值大于显著性水平(0.05),其中p为序列自回归项数;否则,将创建的时间序列进行差分运算产生新的时间序列;
Step4_4,在差分运算中对时间序列进行一阶差分运算,重复进行平稳性检验,通过平稳性检验证明经过一阶差分运算的时间序列为平稳序列,其中一阶差分运算过程为:sequence1=(time_1,emotion_1),(time_2,emotion_2-emotion_1),…,(time_n,emotion_n-emotion_n-1));
Step4_5,对时间序列进行白噪声检验,通过LB统计量检验判断p值,如果P0.05,则证明是非白噪声序列,否则,进行高阶差分运算;
Step4_6,初始化m,p,q,a,b值,用户下一时间段情感等级表示为:emotion_n+1=m+a*emotion_1+...+a*emotion_n+1-p+b*emotion_1+...+b*emotion_n+1-q,其中m为常数,q为移动平均项数,a,b分别是自回归权重和移动平均权重;
Step4_7,通过最小bic准则方法进行参数调优,其中bic=ln(n)k–2ln(L),k为参数个数,n为样本数量,L为似然函数,通过植入最优的参数计算结果,建立最终的时间序列模型,通过模型预测下一时间段内用户的情感等级;
用户情感预测过程描述完毕;
新闻推送模块包括:
Step5_1,根据用户id从新闻矩阵中选取未被用户浏览过的新闻向量存入待处理列表内,表示为:waitlist=(NEWS_1,NEWS_2,…,NEWS_N);
Step5_2,计算waitlist内的新闻向量与用户向量之间的内容相似度sim_g(U,N):
sim_g(U,N)=[(U1-N1)^2+(U2-N2)^2+…+(Uq-Nq)^2]^1/2;
Step5_3,对用户向量与新闻向量之间的内容相似度sim_g(U,N)进行归一化处理:sim_g(U,N)=1/(1+sim_g(U,N));
Step5_4,将计算后的sim_g(U,N)按照从大到小的顺序排序并按照顺序将对应的新闻id存入待选新闻推荐列表中;
Step5_5,在一种基于情感防护的新闻智能推送系统中,当动态推送新闻时,根据预测的用户情感状态通过新闻比例划分算法设定新闻推荐列表内各级新闻的比例,产生新闻推荐列表推送给用户;
具体描述为:
Step5_5_1,将每个用户的新闻序列按照t时间间隔进行划分,划分后的N_i表示用户i对应的新闻序列N_i=(T_1,T_2,…,T_t),其中T_t=(News_e1+News_e2+…+News_en)/n,News_en代表用户浏览过的新闻所对应的情感等级值,T_t代表在t时间段内新闻的情感等级平均值,每个用户的评论序列按照t时间间隔进行划分,划分后的U_ie表示用户i对应的评论序列,U_ie=(T_e1,T_e2,…,T_et),T_et=(emotion_te1+emotion_te2+…+emotion_ten)/n,其中T_et代表用户i在t时间段内的情感等级平均值,emotion_ten代表用户i评论的情感等级值;
Step5_5_2,初始化用户情感等级概率P(U_ei)=E_im/E_n,新闻情感等级概率P(N_ei)=N_im/N_n,其中E_im代表在全部用户评论序列内第i级情感出现的次数,E_n代表在全部用户评论序列内全部情感等级出现的次数,N_im代表在全部用户新闻序列内第i级情感新闻出现的次数,N_n代表在全部用户新闻序列内全部情感等级新闻出现的次数;
Step5_5_3,初始化已知用户情感为i级条件下浏览新闻为j级的概率P(N_ej|U_ei)=N_j/U_i,其中U_i代表所有用户序列中用户情感为i级的总数,N_j为所有用户情感为i级的序列中新闻情感为j级的总数;
Step5_5_4,计算用户i的情感概率P(U_ei)=E_i_m/E_i_n,用户i的新闻情感等级概率P(N_ei)=N_i_m/N_i_n,如果P(U_ei)=0,则设置P(U_ei)=P(U_e),如果P(N_ei)=0,则设置P(N_ei)=P(N_e);
Step5_5_5,计算P(N_ej_k|U_ei_k),已知用户k情感为i级时浏览的新闻为第j级别的概率;选取用户k情感为i级时的所有新闻序列,在新闻序列中将新闻情感为j级的情感值设置为1,其余设置为0,此时的样本分布满足伯努利分布,概率分布的函数为:
P(N_ej_k|U_ei_k)NEW_emotion*(1-P(N_ej_k|U_ei_k))1-NEW_emotion,
因此,似然函数定义为:
L(P)=P(N_ej_k|U_ei_k)NEW_emotion_1*(1-P(N_ej_k|U_ei_k))1-NEW_emotion_1*
P(N_ej_k|U_ei_k)NEW_emotion_2*(1-P(N_ej_k|U_ei_k))1-NEW_emotion_2*..*
P(N_ej_k|U_ei_k)NEW_emotion_n*(1-P(N_ej_k|U_ei_k))1-NEW_emotion_n;
通过计算获得P(N_ej|U_ei)的最大似然估计值为:
P(N_ej_k|U_ei_k)=(NEW_emotion_1+NEW_emotion_2+..+NEW_emotion_n)/n,
如果P(N_ej_k|U_ei_k)=0,则设定P(N_ej_k|U_ei_k)=P(N_ej|U_ei);
Step5_5_6,通过贝叶斯方法计算P(U_ei_k|N_ej_k),在用户k浏览情感等级为j新闻的情况下,用户情感等级为i的概率,P(U_ei_k|N_ej_k)的计算公式:
P(U_ei_k|N_ej_k)=P(N_ej_k|U_ei_k)*P(U_ei)/P(N_ej);
Step5_5_7,选取时间序列模型预测的用户下一时间段情感T_et,动态推送的下一阶段各情感新闻的比例为:
P(T_et+1|N_e1):P(T_et+1|N_e2):P(T_et+1|N_e3):P(T_et+1|N_e4):P(T_et+1|N_e5),
其中T_et+1表示相对预测的用户情感T_et高一级的情感状态,如果T_et等于5,则T_et+1=T_et使用户保持最积极情感;
Step5_5_8,当用户k产生新的行为序列T_t+1时,迭代更新过程描述为:
首先,跳转到Step_5,计算加入用户k的新行为序列后的P(N_ej_k|U_ei_k);
其次,计算P(U_ei1),P(U_ei1)为在用户新行为序列中用户评论情感为i级的概率;
最后,按照公式P(U_ei_k|N_ej_k)=P(N_ej_k|U_ei_k)*P(U_ei_k|N_ej_k)/P(U_ei1)更新P(U_ei_k|N_ej_k)的值,再跳转到Step_7进行推荐;
Step5_6,按照所述新闻比例划分算法获得划分的比例,在待选新闻推荐列表内按序选取N个新闻填入新闻推荐列表内,其中每个情感等级的新闻所占数量为Ni,其中Ni=N*P(T_et+1|N_ei)/((P(T_et+1|N_e1)+P(T_et+1|N_e2)+P(T_et+1|N_e3)+P(T_et+1|N_e4)+P(T_et+1|N_e5));
新闻动态推送过程描述完毕。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于哈尔滨理工大学,未经哈尔滨理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110606444.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种信息填报表的通用配置方法及装置
- 下一篇:基于时间尺度的吕分布实现方法