[發明專利]基于情感防護的新聞智能推薦系統在審
| 申請號: | 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.szxzyx.cn/pat/books/202110606444.X/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種信息填報表的通用配置方法及裝置
- 下一篇:基于時間尺度的呂分布實現方法





