本發(fā)明涉及機器學習技術,尤其涉及一種預測微博事件熱度的方法及裝置。
背景技術:
根據(jù)微博事件的熱度可以有效的了解微博用戶的興趣變化,為政府輿情預警和企業(yè)商業(yè)決策提供有效的技術支持。因此,對事件未來的熱度進行預測具有重要的實際意義。微博事件熱度預測是指根據(jù)微博事件的歷史熱度數(shù)據(jù)對微博事件在未來某個時刻的熱度值進行預測。
現(xiàn)有技術中,預測微博事件熱度的方法主要為采用單關鍵詞對微博事件進行表示,根據(jù)該關鍵詞的歷史熱度,通過自回歸積分滑動平均模型(Autoregressive Integrated Moving Average Model,ARIMA)對微博事件在未來某個時刻的熱度值進行預測。
但是,上述預測微博事件熱度的方法,只采用單個關鍵詞微博事件進行表示,并根據(jù)該單個關鍵詞的歷史熱度對微博事件在未來某個時刻的熱度值進行預測,預測結果不夠準確。
技術實現(xiàn)要素:
本發(fā)明提供一種預測微博事件熱度的方法及裝置,以克服現(xiàn)有技術中的預測方法預測結果不準確的技術問題。
本發(fā)明提供一種預測微博事件熱度的方法,包括:
獲取與微博事件相關聯(lián)的K個第一關鍵詞,并獲取各第一關鍵詞各自在當前日的當前熱度值;其中,K≥2,且K為正整數(shù);
以各所述當前熱度值作為輸入,通過基于門控循環(huán)單元GRU的循環(huán)神經(jīng)網(wǎng)絡模型預測得到所述微博事件在下一日的目標熱度值。
如上所述的方法,所述基于GRU的循環(huán)神經(jīng)網(wǎng)絡模型包括輸入層、隱藏層和輸出層,所述GRU為隱藏層節(jié)點;
在所述以各當前熱度值作為輸入,通過GRU的循環(huán)神經(jīng)網(wǎng)絡模型預測得到所述微博事件在下一日的目標熱度值之前,所述方法還包括:
獲取各所述第一關鍵詞在多個歷史日各自對應的熱度值hn,k,n=1,2……N,N為正整數(shù),k=1,2……K;其中,hn,k表示第k個關鍵詞在所述當前日之前的前n天的熱度值;
根據(jù)所述第一關鍵詞的熱度值hn,k,采用基于GRU的循環(huán)神經(jīng)網(wǎng)絡模型學習得到目標預測參數(shù),其中,所述目標預測參數(shù)包括:所述輸入層的節(jié)點和所述GRU之間的第一目標連接權重、GRU和所述輸出層的節(jié)點之間的第二目標連接權重和GRU的目標向量參數(shù);
相應地,所述以各當前熱度值作為輸入,采用基于GRU的循環(huán)神經(jīng)網(wǎng)絡模型預測得到所述微博事件在下一日的目標熱度值,包括:
以各當前熱度值作為輸入,根據(jù)所述目標預測參數(shù),通過基于GRU的循環(huán)神經(jīng)網(wǎng)絡模型預測得到所述微博事件在下一日的目標熱度值。
如上所述的方法,所述輸入層的節(jié)點為K個,所述GRU為M個,所述輸出層節(jié)點為1個,其中,K=M;
所述根據(jù)所述第一關鍵詞的熱度值hn,k,采用基于GRU的循環(huán)神經(jīng)網(wǎng)絡模型學習得到目標預測參數(shù),包括:
根據(jù)所述基于GRU的循環(huán)神經(jīng)網(wǎng)絡模型的第n-1次學習時的輸出與hN-n+1,k的實際權重平均的平方誤差,采用誤差反向傳播算法對第n-1次學習時對應的第一連接權重wn-1,k,m、第二連接權重wn-1,m,o和GRU的向量參數(shù)進行更新,得到第n次學習時對應的第一連接權重wn,k,m、第二連接權重wn,m,o和GRU的向量參數(shù);其中,所述第n-1次學習時的輸出為hN-n+1,k的預測權重平均,wn,k,m表示第n次學習時對應的第k個輸入節(jié)點與第m個GRU之間的第一連接權重,wn,m,o表示第n次學習時第m個GRU與輸出層節(jié)點之間的第二連接權重,m=1,2……M;
以hN-n+1,k作為第n次學習時的輸入,以hN-n,k的實際權重平均作為第n次學習時的期望輸出,根據(jù)得到的第n次學習時的第一連接權重wn,k,m、第二連接權重wn,m,o和GRU的向量參數(shù),采用基于GRU的循環(huán)神經(jīng)網(wǎng)絡模型學習得到的hN-n,k的預測權重平均;
根據(jù)hN-n,k的預測權重平均與hN-n,k的實際權重平均的平方誤差,采用誤差反向傳播算法對第n次學習時對應的第一連接權重wn,k,m、第二連接權重wn,m,o和GRU的向量參數(shù)進行更新,得到第n+1次學習時第一連接權重wn+1,k,m、第二連接權重wn+1,m,o和GRU的向量參數(shù);
重復執(zhí)行更新相應學習次數(shù)對應的第一連接權重、第二連接權重和GRU的向量參數(shù)的操作,直至學習次數(shù)達到N次,將對第N次學習時對應的GRU的向量參數(shù)和第一連接權重wN,k,m、第二連接權重wN,m,o進行更新后得到的第一連接權重wN+1,k,m、第二連接權重wN+1,m,o和GRU的向量參數(shù)作為所述目標預測參數(shù)。
如上所述的方法,所述目標向量參數(shù)包括:第一目標更新向量Wz、第二目標更新向量Uz、第一目標重置向量Wr、第二目標重置向量Ur、第一目標輸出向量Wh、第二目標輸出向量Uh、第三目標更新向量bz、第三目標重置向量br、第三目標輸出向量lh和第四目標輸出向量bh;
所述以各當前熱度值作為輸入,根據(jù)所述目標預測參數(shù),通過基于門控循環(huán)單元GRU的循環(huán)神經(jīng)網(wǎng)絡模型預測得到所述微博事件在下一日的目標熱度值,包括:
將各所述第一關鍵詞的各自的當前熱度值輸入至輸入層;
通過公式一獲取第m個GRU的輸入xo,m:
xo,m=w1.mho,1+w2,.mho,2+....+wk,.mho,k+...wK,.mho,K 公式一;
其中,ho,k為第k個第一關鍵的當前熱度值,wk,m為第k個輸入節(jié)點和第m個GRU的第一目標連接權重;wN+1,k,m和wk,m相同;
采用所述GRU的更新子單元,通過公式二獲取第m個GRU的更新比例zm:
zm=σg(Wzxo,m+Uzh1+bz) 公式二;
其中,h1為獲取目標預測參數(shù)的過程中,第N-1次學習得到的h1,k的預測權重平均,σg表示sigmoid函數(shù);
采用所述GRU的重置子單元,通過公式三獲取第m個GRU的重置比例rm:
rm=σg(Wrxo,m+Urh1+br) 公式三;
采用所述GRU的第一生成子單元,通過公式四獲取第m個GRU的第一輸出熱度值gm:
其中,表示哈達馬乘積,σh表示雙曲線Hyperbolic函數(shù);
采用所述GRU的第二生成子單元,通過公式五獲取第m個GRU的第二輸出熱度值Gm:
將所述Gm作為輸出層的輸入,在輸出層采用預測函數(shù)公式運算得到目標熱度值P,所述預測函數(shù)公式為:
P=w1,og1+w2,.og2+....+wmgm+...wM,ogM 公式六;
其中,wm,o為第m個GRU與輸出節(jié)點之間的第二目標連接權重,wN+1,m,o和wm,o相同。
如上所述的方法,所述獲取與微博事件相關聯(lián)的K個第一關鍵詞,包括:
對所述微博事件對應的文本進行分詞,得到I個第二關鍵詞;
獲取所述當前日之前的前j天中與所述微博事件相關的所有微博,并將所述所有微博對應的文本組成一個文檔;j=1,2……J;
通過公式七和公式八獲取各第二關鍵詞的詞頻Ti:
其中,tfi,j是第i個第二關鍵詞相對于第j個文檔的詞頻,ni,j表示第i個第二關鍵詞在第j個文檔中出現(xiàn)的次數(shù);所述第j個文檔為所述當前日之前的前j天中與所述微博事件相關的所有微博對應的文本組成的文檔;
通過公式九獲取各第二關鍵詞的逆文檔頻率idfi:
其中,|{j:ti∈Jj}|,表示包括第i個第二關鍵詞的文檔數(shù)目;
通過公式十獲取各第二關鍵詞的逆文檔頻率Fi:
Fi=Ti×idfi 公式十;
按照逆文檔頻率Fi從大到小的順序進行排序,將排序位于前K的K個第二關鍵詞作為所述第一關鍵詞。
本發(fā)明還提供一種預測微博事件熱度的裝置,包括:
第一關鍵詞獲取模塊,所述第一關鍵詞獲取模塊用于獲取與微博事件相關聯(lián)的K個第一關鍵詞;
熱度值獲取模塊,所述熱度值獲取模塊用于獲取各第一關鍵詞各自在當前日的當前熱度值;其中,K≥2,且K為正整數(shù);
目標熱度值預測模塊,所述目標熱度值預測模塊用于以各所述當前熱度值作為輸入,通過基于門控循環(huán)單元GRU的循環(huán)神經(jīng)網(wǎng)絡模型預測得到所述微博事件在下一日的目標熱度值。
如上所述的裝置,所述熱度值獲取模塊還用于獲取各所述第一關鍵詞在多個歷史日各自對應的熱度值hn,k,n=1,2……N,N為正整數(shù),k=1,2……K;其中,hn,k表示第k個關鍵詞在所述當前日之前的前n天的熱度值;
所述裝置還包括:
目標預測參數(shù)獲取模塊,所述目標預測參數(shù)獲取模塊用于根據(jù)所述第一關鍵詞的熱度值hn,k,采用基于GRU的循環(huán)神經(jīng)網(wǎng)絡模型學習得到目標預測參數(shù),其中,所述目標預測參數(shù)包括:所述輸入層的節(jié)點和所述GRU之間的第一目標連接權重、GRU和所述輸出層的節(jié)點之間的第二目標連接權重和GRU的目標向量參數(shù);
其中,所述基于GRU的循環(huán)神經(jīng)網(wǎng)絡模型包括輸入層、隱藏層和輸出層,所述GRU為隱藏層節(jié)點。
如上所述的裝置,所述第一關鍵詞獲取模塊具體用于:
對所述微博事件對應的文本進行分詞,得到I個第二關鍵詞;
獲取所述當前日之前的前j天中與所述微博事件相關的所有微博,并將所述所有微博對應的文本組成一個文檔;j=1,2……J;
通過公式七和公式八獲取各第二關鍵詞的詞頻Ti:
其中,tfi,j是第i個第二關鍵詞相對于第j個文檔的詞頻,ni,j表示第i個第二關鍵詞在第j個文檔中出現(xiàn)的次數(shù);所述第j個文檔為所述當前日之前的前j天中與所述微博事件相關的所有微博對應的文本組成的文檔;
通過公式九獲取各第二關鍵詞的逆文檔頻率idf:
其中,|{j:ti∈Jj}|,表示包括第i個第二關鍵詞的文檔數(shù)目;
通過公式十獲取各第二關鍵詞的逆文檔頻率Fi:
Fi=Ti×idfi 公式十;
按照逆文檔頻率Fi從大到小的順序進行排序,將排序位于前K的K個第二關鍵詞作為所述第一關鍵詞。
本發(fā)明提供一種預測微博事件熱度的方法及裝置。本發(fā)明提供的預測微博事件熱度的方法包括:獲取與微博事件相關聯(lián)的K個第一關鍵詞,并獲取各第一關鍵詞各自在當前日的當前熱度值;其中,K≥2,且K為正整數(shù);以各當前熱度值作為輸入,通過基于門控循環(huán)單元GRU的循環(huán)神經(jīng)網(wǎng)絡模型預測得到所述微博事件在下一日的目標熱度值。本發(fā)明的預測微博事件熱度的方法及裝置,對微博事件預測日的預測結果準確且預測耗時少。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明提供的預測微博事件熱度的方法的流程圖;
圖2為本發(fā)明提供的基于GRU的循環(huán)神經(jīng)網(wǎng)絡模型的示意圖一;
圖3為本發(fā)明提供的預測微博事件熱度的裝置實施例一的結構示意圖;
圖4為本發(fā)明提供的預測微博事件熱度的裝置實施例二的結構示意圖。
具體實施方式
為使本發(fā)明實施例的目的、技術方案和優(yōu)點更加清楚,下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
現(xiàn)有技術中,預測微博事件熱度的方法主要為采用單關鍵詞對微博事件進行表示,根據(jù)該關鍵詞的歷史熱度,通過ARIMA方法對微博事件在未來某個時刻的熱度值進行預測。但是,上述預測微博事件熱度的方法,只采用單個關鍵詞微博事件進行表示,并根據(jù)該單個關鍵詞的歷史熱度對微博事件在未來某個時刻的熱度值進行預測,預測結果不準確。為了解決上述問題,本發(fā)明提出一種預測微博事件熱度的方法及裝置。下面對本發(fā)明進行詳細的說明。
圖1為本發(fā)明提供的預測微博事件熱度的方法的流程圖,如圖1所示,本實施例的方法可以包括:
步驟S101、獲取與微博事件相關聯(lián)的K個第一關鍵詞,并獲取各第一關鍵詞各自在當前日的當前熱度值;其中,K≥2,且K為正整數(shù);
步驟S102、以各當前熱度值作為輸入,通過基于門控循環(huán)單元GRU的循環(huán)神經(jīng)網(wǎng)絡模型預測得到微博事件在下一日的目標熱度值。
具體地,對于微博事件,其為一件具體的微博,比如有關春運的一件微博。
其中,步驟“獲取與微博事件相關聯(lián)的K個第一關鍵詞,的具體方法為:
(1)對微博事件對應的文本進行分詞,得到I個第二關鍵詞。
其中,文本分詞的方法可以采用現(xiàn)有技術中的分詞方法,優(yōu)選為NLPIR分詞方法。
(2)獲取當前日之前的前j天中與微博事件相關的所有微博,并將所有微博對應的文本組成一個文檔;j=1,2……J。
下面舉例說明當前日之前的前j天的具體含義:當前日之前的日期也稱為歷史日;若當前日為今天,當前日之前的前1天指的是昨天,當前日之前的前2天指的是前天,依次類推。
獲取當前日之前的前j天中與微博事件相關的所有微博,比如與題目“今日開始春運”的微博事件相關的所有微博,將該天中所有微博對應的文本組合在一起,得到一篇文檔。每個歷史日得到一篇文檔,J個歷史日就能得到J篇文檔。
(3)通過公式七和公式八獲取各第二關鍵詞的詞頻Ti:
其中,tfi,j是第i個第二關鍵詞相對于第j個文檔的詞頻,ni,j表示第i個第二關鍵詞在第j個文檔中出現(xiàn)的次數(shù);第j個文檔為當前日之前的前j天中與微博事件相關的所有微博對應的文本組成的文檔;
詞頻(Term Frequency,TF)指的是某一個事件的關鍵詞在微博對應的文檔中出現(xiàn)的次數(shù)。
(4)通過公式九獲取各第二關鍵詞的逆文檔頻率idfi:
其中,|{j:ti∈Jj}|,表示包括第i個第二關鍵詞的文檔數(shù)目;
某一關鍵詞的逆文檔頻率(Inverse Document Frequency,IDF)越大,說明該關鍵詞與對應文檔的相關度更高。
(5)通過公式十獲取各第二關鍵詞的逆文檔頻率Fi:
Fi=Ti×idfi 公式十;
按照逆文檔頻率Fi從大到小的順序進行排序,將排序位于前K的K個第二關鍵詞作為第一關鍵詞。
在獲取到了微博事件的K個第一關鍵詞之后,接著獲取各第一關鍵詞在當前日的各自的當前熱度值。
本實施例中,關鍵詞的熱度值指的是在某一天相關微博的數(shù)量。比如,題目為“今日開始春運”的微博事件,其中第一關鍵詞為春運,則獲取當前日中所有與“春運”相關的微博,當前日中所有與“春運”相關的微博的數(shù)量即為第一關鍵詞“春運”的當前熱度值。
接著,采用獲取當前熱度值相同的方法,獲取各第一關鍵詞在多個歷史日各自對應的熱度值hn,k,n=1,2……N,N為正整數(shù),k=1,2……K;其中,hn,k表示第k個關鍵詞在當前日之前的前n天的熱度值;
根據(jù)第一關鍵詞的熱度值hn,k,采用基于門控循環(huán)單元(Gated RecurrentUnit,簡稱GRU)的循環(huán)神經(jīng)網(wǎng)絡模型學習得到目標預測參數(shù),其中,目標預測參數(shù)包括:輸入層的節(jié)點和GRU之間的第一目標連接權重、GRU和輸出層的節(jié)點之間的第二目標連接權重和GRU的目標向量參數(shù)。
其中,圖2為本發(fā)明提供的基于GRU的循環(huán)神經(jīng)網(wǎng)絡模型的示意圖。參見圖2,基于GRU的循環(huán)神經(jīng)網(wǎng)絡模型包括輸入層、隱藏層和輸出層,GRU為隱藏層節(jié)點。輸入層的節(jié)點11為K個,GRU12為M個,輸出層節(jié)點13為1個,其中,K=M。以下描述中出現(xiàn)的m的取值范圍為:m=1,2……M。
下面對獲取目標預設參數(shù)的過程進行詳細的說明。
初始化每個輸入層的節(jié)點與每個GRU之間的第一連接權重w1,k,m,每個GRU與輸出層節(jié)點的第二連接權重w1,m,o,每個GRU的向量參數(shù):第一更新向量W1z、第二更新向量U1z、第一重置向量W1r、第二重置向量U1r、第一輸出向量W1h和第二輸出向量U1h、第三更新向量b1z、第三重置向量b1r、第三輸出向量l1h和第四輸出向量b1h;所有向量和向量中的元素均根據(jù)標準正態(tài)分布隨機產(chǎn)生。
以hN,k作為第1次學習時的輸入,以hN-1,k的實際權重平均作為第1次學習時的期望輸出,根據(jù)初始化的第一連接權重w1,k,m(w1,k,m表示第1次學習時第k個輸入節(jié)點與第m個GRU之間的第一連接權重)、第二連接權重w1,m,o(w1,m,o表示第1次學習時第m個GRU與輸出層節(jié)點之間的第二連接權重)、GRU的第一更新向量W1z、第二更新向量U1z、第一重置向量W1r、第二重置向量U1r、第一輸出向量W1h、第二輸出向量U1h、第三更新向量b1z、第三重置向量b1r、第三輸出向量l1h和第四輸出向量b1h,采用基于GRU的循環(huán)神經(jīng)網(wǎng)絡模型學習得到的hN-1,k的預測權重平均PN-1,即第一學習輸出層輸出的為hN-1,k的預測權重平均PN-1;其中,在輸出層得到PN-1時采用的預測函數(shù)為:PN-1=w1,m,og1,1+w1,2,.og1.2+....+w1,m,og1,m+...w1,M,og1,M,其中,g1,m為第1次學習第m個GRU單元的輸出,也是輸出層其中的一個輸入,輸出層一共具有M個輸入,也就是說每個GRU的輸出均為輸出層的輸入。相應地,hN-1,k的實際權重平均pN-1的計算方法為:pN-1=w1,1,ohN-1,1+w1,2,.ohN-1.2+....+w1,m,ohN-1,k+...wM,ohN-1,K。
在學習得到PN-1后,獲取PN-1與pN-1的平方誤差L1:L1=(pN-1-PN-1)2,根據(jù)L1采用誤差反向傳播算法更新第一連接權重w1,k,m,第二連接權重w1,m,o,第一更新向量W1z、第二更新向量U1z、第一重置向量W1r、第二重置向量U1r、第一輸出向量W1h、第二輸出向量U1h、第三更新向量b1z、第三重置向量b1r、第三輸出向量l1h和第四輸出向量b1h,得到第2次學習時的第一連接權重w2,k,m,第二連接權重w2,m,o,第一更新向量W2z、第二更新向量U2z、第一重置向量W2r、第二重置向量U2r、第一輸出向量W2h、第二輸出向量U2h、第三更新向量b2z、第三重置向量b2r、第三輸出向量l2h和第四輸出向量b2h。
以hN-1,k作為第2次學習時的輸入,以hN-2,k的實際權重平均作為第2次學習時的期望輸出,根據(jù)第一連接權重w2,k,m(w2,k,m表示第2次學習時第k個輸入節(jié)點與第m個GRU之間的第一連接權重)、第二連接權重w2,m,o(w2,m,o表示第2次學習時第m個GRU與輸出層節(jié)點之間的第二連接權重)、第一更新向量W2z、第二更新向量U2z、第一重置向量W2r、第二重置向量U2r、第一輸出向量W2h、第二輸出向量U2h、第三更新向量b2z、第三重置向量b2r、第三輸出向量l2h和第四輸出向量b2h,采用基于GRU的循環(huán)神經(jīng)網(wǎng)絡模型學習得到的hN-2,k的預測權重平均PN-2,即第一學習輸出層輸出的為hN-2,k的預測權重平均PN-2;其中,在輸出層得到PN-2時采用的預測函數(shù)為:PN-2=w2,1,og2,1+w2,2,.og2.2+....+w2,m,og2,m+...w2,M,og2,M,其中,g2,m為第2次學習時第m個GRU單元的輸出。相應地,hN-2,k的實際權重平均pN-2的計算方法為:pN-2=w2,m,ohN-2,1+w2,2,ohN-2.2+....+w2,m,ohN-2,k+...w2,M,ohN-2,K。
……
根據(jù)第n-1次學習時的輸出PN-n+1與hN-n+1,k的實際權重平均pN-n+1的平方誤差Ln-1,采用誤差反向傳播算法對第n-1次學習時對應的第一連接權重wn-1,k,m、第二連接權重wn-1,m,o和GRU的第一更新向量Wn-1,z、第二更新向量Un-1,z、第一重置向量Wn-1,r、第二重置向量Un-1,r、第一輸出向量Wn-1,h、第二輸出向量Un-1,h、第三更新向量bn-1,z、第三重置向量bn-1,r、第三輸出向量ln-1,h和第四輸出向量bn-1,h進行更新,得到第n次學習時對應的第一連接權重wn,k,m、第二連接權重wn,m,o和GRU的第一更新向量Wnz、第二更新向量Unz、第一重置向量Wnr、第二重置向量Unr、第一輸出向量Wnh、第二輸出向量Unh、第三更新向量bnz、第三重置向量bnr、第三輸出向量lnh和第四輸出向量bnh;其中,第n-1次學習時的輸出為hN-n+1,k的預測權重平均,wn,k,m表示第n次學習時對應的第k個輸入節(jié)點與第m個GRU之間的第一連接權重,wn,m,o表示第n次學習時第m個GRU與輸出層節(jié)點之間的第二連接權重;
以hN-n+1,k作為第n次學習時的輸入,以hN-n,k的實際權重平均pN-n作為第n次學習時的期望輸出,根據(jù)得到的第n次學習時的第一連接權重wn,k,m、第二連接權重wn,m,o和GRU的第一更新向量Wnz、第二更新向量Unz、第一重置向量Wnr、第二重置向量Unr、第一輸出向量Wnh和第二輸出向量Unh、第三更新向量bnz、第三重置向量bnr、第三輸出向量lnh和第四輸出向量bnh,采用基于GRU的循環(huán)神經(jīng)網(wǎng)絡模型學習得到的hN-n,k的預測權重平均PN-n;
根據(jù)hN-n,k的預測權重平均PN-n與hN-n,k的實際權重平均pN-n的平方誤差Ln,采用誤差反向傳播算法對第n次學習時對應的第一連接權重wn,k,m、第二連接權重wn,m,o和GRU的第一更新向量Wnz、第二更新向量Unz、第一重置向量Wnr、第二重置向量Unr、第一輸出向量Wnh、第二輸出向量Unh、第三更新向量bnz、第三重置向量bnr、第三輸出向量lnh和第四輸出向量bnh進行更新,得到第n+1次學習時第一連接權重wn+1,k,m、第二連接權重wn+1,m,o和GRU的第一更新向量Wn+1,z、第二更新向量Un+1,z、第一重置向量Wn+1,r、第二重置向量Un+1,r、第一輸出向量Wn+1,h、第二輸出向量Un+1,h、第三更新向量bn+1,z、第三重置向量bn+1,r、第三輸出向量ln+1,h和第四輸出向量bn+1,h;
重復執(zhí)行更新相應學習次數(shù)對應的第一連接權重、第二連接權重和GRU的向量參數(shù)的操作,直至學習次數(shù)達到N次,將對第N次學習時對應的第一連接權重wN,k,m、第二連接權重wN,m,o和GRU的第一更新向量WN,z、第二更新向量UN,z、第一重置向量WN,r、第二重置向量UN,r、第一輸出向量WN,h、第二輸出向量UN,h、第三更新向量bN,z和第三重置向量bN,r、第三輸出向量lN,h和第四輸出向量bN,h進行更新后得到的第一目標連接權重wN+1,k,m、第一目標連接權重wN+1,m,o和GRU的第一目標更新向量Wz、第二目標更新向量Uz、第一目標重置向量Wr、第二目標重置向量Ur、第一目標輸出向量Wh、第二目標輸出向量Uh、第三目標更新向量bz、第三目標重置向量br、第三目標輸出向量lh和第四目標輸出向量bh作為目標預測參數(shù)。
本領域技術人員可以理解的是,N的取值應該盡可能的大,以使各目標預測參數(shù)趨于收斂。每次學習采用的預測函數(shù)和平方誤差的獲取公式均相同。
在得到了目標預測參數(shù)后,便以各當前熱度值作為輸入,根據(jù)目標預測參數(shù),通過基于GRU的循環(huán)神經(jīng)網(wǎng)絡模型預測得到微博事件在下一日的目標熱度值。
下面對獲取目標熱度值的方法進行詳細的說明。
其中,目標向量參數(shù)包括:第一目標更新向量Wz、第二目標更新向量Uz、第一目標重置向量Wr、第二目標重置向量Ur、第一目標輸出向量Wh和第二目標輸出向量Uh、第三目標更新向量bz、第三目標重置向量br、第三目標輸出向量lh和第四目標輸出向量bh。
將各第一關鍵詞的各自的當前熱度值輸入至輸入層;
通過公式一獲取第m個GRU的輸入xo,m:
xo,m=w1.mho,1+w2,.mho,2+....+wk,.mho,k+...wK,.mho,K 公式一;
其中,ho,k為第k個第一關鍵的當前熱度值,wk,m為第k個輸入節(jié)點和第m個GRU的第一目標連接權重;wk,m與wN+1,k,m相同;
采用GRU的更新子單元,通過公式二獲取更新比例zm:
zm=σg(Wzxo,m+Uzh1+bz) 公式二;
其中,h1為獲取目標預測參數(shù)的過程中,第N-1次學習得到的h1,k的預測權重平均,也就是第N-1次學習時的輸出,σg表示sigmoid函數(shù);
采用GRU的重置子單元,通過公式三獲取第m個GRU的重置比例rm:
rm=σg(Wrxo,m+Urh1+br) 公式三;
采用GRU的第一生成子單元,通過公式四獲取第m個GRU的第一輸出熱度值gm:
其中,表示哈達馬乘積,σh表示雙曲線Hyperbolic函數(shù);
采用GRU的第二生成子單元,通過公式五獲取第m個GRU的第二輸出熱度值Gm:
將Gm作為輸出層的輸入,在輸出層采用預測函數(shù)公式運算得到目標熱度值P,預測函數(shù)公式為:
P=w1,og1+w2,.og2+....+wm,ogm+...wM,ogM 公式六;
其中,wm,o為第m個GRU與輸出節(jié)點之間的第二目標連接權重;wm,o和wN+1,m,o相同。
在本實施例中,采用多關鍵詞的歷史熱度趨勢預測微博事件的未來某一時刻的熱度,可以使預測結果更準確;根據(jù)多個關鍵詞的歷史熱度值,利用基于GRU的循環(huán)神經(jīng)網(wǎng)絡模型,預測微博事件的預測日的熱度,計算量小且準確,而且不僅考慮到了預測日前一天的該微博事件的熱度,還考慮到了預測日前2天的該微博事件的熱度,進一步保證了預測結果的準確性。
在獲取到微博事件在預測日的熱度值后,可以根據(jù)微博事件在預測日的熱度值與微博事件在預測日的前一日的熱度值的大小關系,確定微博事件的熱度趨勢,若預測日的熱度值大于前一日的熱度值,說明微博事件在預測日的熱度相對于前一日的熱度上升,反之,說明博事件在預測日的熱度相對于前一日的熱度下降。
本實施例的預測微博事件熱度的方法包括:獲取與微博事件相關聯(lián)的K個第一關鍵詞,并獲取各第一關鍵詞各自在當前日的當前熱度值;其中,K≥2,且K為正整數(shù);以各當前熱度值作為輸入,通過基于門控循環(huán)單元GRU的循環(huán)神經(jīng)網(wǎng)絡模型預測得到微博事件在下一日的目標熱度值。本實施例的預測微博事件熱度的方法預測結果準確且預測耗時少。
圖3為本發(fā)明提供的預測微博事件熱度的裝置實施例一的結構示意圖,如圖3所示,本實施例的裝置可以包括:第一關鍵詞獲取模塊31、熱度值獲取模塊32和目標熱度值預測模塊33,其中,第一關鍵詞獲取模塊31用于獲取與微博事件相關聯(lián)的K個第一關鍵詞;熱度值獲取模塊32用于獲取各第一關鍵詞各自在當前日的當前熱度值;其中,K≥2,且K為正整數(shù);目標熱度值預測模塊33用于以各當前熱度值作為輸入,通過基于門控循環(huán)單元GRU的循環(huán)神經(jīng)網(wǎng)絡模型預測得到微博事件在下一日的目標熱度值。
其中,第一關鍵詞獲取模塊具體用于:
對微博事件對應的文本進行分詞,得到I個第二關鍵詞;
獲取當前日之前的前j天中與微博事件相關的所有微博,并將所有微博對應的文本組成一個文檔;j=1,2……J;
通過公式七和公式八獲取各第二關鍵詞的詞頻Ti:
其中,tfi,j是第i個第二關鍵詞相對于第j個文檔的詞頻,ni,j表示第i個第二關鍵詞在第j個文檔中出現(xiàn)的次數(shù);第j個文檔為當前日之前的前j天中與微博事件相關的所有微博對應的文本組成的文檔;
通過公式九獲取各第二關鍵詞的逆文檔頻率idfi:
其中,|{j:ti∈Jj}|,表示包括第i個第二關鍵詞的文檔數(shù)目;
通過公式十獲取各第二關鍵詞的逆文檔頻率Fi:
Fi=Ti×idfi 公式十;
按照逆文檔頻率Fi從大到小的順序進行排序,將排序位于前K的K個第二關鍵詞作為第一關鍵詞。
本實施例的裝置,可以用于執(zhí)行上述方法實施例的技術方案,其實現(xiàn)原理和技術效果類似,此處不再贅述。
圖4為本發(fā)明提供的預測微博事件熱度的裝置實施例二的結構示意圖,如圖4所示,本實施例的裝置在圖3所示裝置結構的基礎上,進一步地,還可以包括:目標預測參數(shù)獲取模塊34。其中,熱度值獲取模塊32還用于獲取各第一關鍵詞在多個歷史日各自對應的熱度值hn,k,n=1,2……N,N為正整數(shù),k=1,2……K;其中,hn,k表示第k個關鍵詞在當前日之前的前n天的熱度值;目標預測參數(shù)獲取模塊34用于根據(jù)第一關鍵詞的熱度值hn,k,采用基于GRU的循環(huán)神經(jīng)網(wǎng)絡模型學習得到目標預測參數(shù),其中,目標預測參數(shù)包括:輸入層的節(jié)點和GRU之間的第一目標連接權重、GRU和輸出層的節(jié)點之間的第二目標連接權重和GRU的目標向量參數(shù);基于GRU的循環(huán)神經(jīng)網(wǎng)絡模型包括輸入層、隱藏層和輸出層,GRU為隱藏層節(jié)點。
其中,目標預測參數(shù)獲取模塊34具體用于根據(jù)基于GRU的循環(huán)神經(jīng)網(wǎng)絡模型的第n-1次學習時的輸出與hN-n+1,k的實際權重平均的平方誤差,采用誤差反向傳播算法對第n-1次學習時對應的第一連接權重wn-1,k,m、第二連接權重wn-1,m,o和GRU的向量參數(shù)進行更新,得到第n次學習時對應的第一連接權重wn,k,m、第二連接權重wn,m,o和GRU的向量參數(shù);其中,第n-1次學習時的輸出為hN-n+1,k的預測權重平均,wn,k,m表示第n次學習時對應的第k個輸入節(jié)點與第m個GRU之間的第一連接權重,wn,m,o表示第n次學習時第m個GRU與輸出層節(jié)點之間的第二連接權重,m=1,2……M;
以hN-n+1,k作為第n次學習時的輸入,以hN-n,k的實際權重平均作為第n次學習時的期望輸出,根據(jù)得到的第n次學習時的第一連接權重wn,k,m、第二連接權重wn,m,o和GRU的向量參數(shù),采用基于GRU的循環(huán)神經(jīng)網(wǎng)絡模型學習得到的hN-n,k的預測權重平均;
根據(jù)hN-n,k的預測權重平均與hN-n,k的實際權重平均的平方誤差,采用誤差反向傳播算法對第n次學習時對應的第一連接權重wn,k,m、第二連接權重wn,m,o和GRU的向量參數(shù)進行更新,得到第n+1次學習時第一連接權重wn+1,k,m、第二連接權重wn+1,m,o和GRU的向量參數(shù);
重復執(zhí)行更新相應學習次數(shù)對應的第一連接權重、第二連接權重和GRU的向量參數(shù)的操作,直至學習次數(shù)達到N次,將對第N次學習時對應的GRU的向量參數(shù)和第一連接權重wN,k,m、第二連接權重wN,m,o進行更新后得到的第一連接權重wN+1,k,m、第二連接權重wN+1,m,o和GRU的向量參數(shù)作為目標預測參數(shù)。
目標熱度值預測模塊33具體用于,通過公式一獲取第m個GRU的輸入xo,m:
xo,m=w1.mho,1+w2,.mho,2+....+wk,.mho,k+...wK,.mho,K 公式一;
其中,ho,k為第k個第一關鍵的當前熱度值,wk,m為第k個輸入節(jié)點和第m個GRU的第一目標連接權重;wN+1,k,m和wk,m相同;
采用GRU的更新子單元,通過公式二獲取第m個GRU的更新比例zm:
zm=σg(Wzxo,m+Uzh1+bz) 公式二;
其中,h1為獲取目標預測參數(shù)的過程中,第N-1次學習得到的h1,k的預測權重平均,σg表示sigmoid函數(shù);
采用GRU的重置子單元,通過公式三獲取第m個GRU的重置比例rm:
rm=σg(Wrxo,m+Urh1+br) 公式三;
采用GRU的第一生成子單元,通過公式四獲取第m個GRU的第一輸出熱度值gm:
其中,表示哈達馬乘積,σh表示雙曲線Hyperbolic函數(shù);
采用GRU的第二生成子單元,通過公式五獲取第m個GRU的第二輸出熱度值Gm:
將Gm作為輸出層的輸入,在輸出層采用預測函數(shù)公式運算得到目標熱度值P,預測函數(shù)公式為:
P=w1,og1+w2,.og2+....+wm,ogm+...wM,ogM 公式六;
其中,wm,o為第m個GRU與輸出節(jié)點之間的第二目標連接權重,wN+1,m,o和wm,o相同。
本實施例的裝置,可以用于執(zhí)行上述方法實施例的技術方案,其實現(xiàn)原理和技術效果類似,此處不再贅述。
本領域普通技術人員可以理解:實現(xiàn)上述各方法實施例的全部或部分步驟可以通過程序指令相關的硬件來完成。前述的程序可以存儲于一計算機可讀取存儲介質中。該程序在執(zhí)行時,執(zhí)行包括上述各方法實施例的步驟;而前述的存儲介質包括:ROM、RAM、磁碟或者光盤等各種可以存儲程序代碼的介質。
最后應說明的是:以上各實施例僅用以說明本發(fā)明的技術方案,而非對其限制;盡管參照前述各實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分或者全部技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發(fā)明各實施例技術方案的范圍。