溫宇俊,袁暉
(1.中國(guó)傳媒大學(xué) 理工學(xué)部,北京 100024;2.中國(guó)傳媒大學(xué) 新媒體研究院,北京 100024)
自大數(shù)據(jù)技術(shù)蓬勃發(fā)展以來(lái),個(gè)性化新聞推薦系統(tǒng)也逐漸出現(xiàn)在互聯(lián)網(wǎng)的應(yīng)用服務(wù)中,它目的是為了幫助新聞閱讀者在無(wú)法準(zhǔn)確描述需求時(shí),尋找有用的資訊信息;它通過(guò)研究發(fā)現(xiàn)用戶(hù)瀏覽行為的歷史數(shù)據(jù)中的潛在價(jià)值,從而對(duì)新聞行業(yè)中的未知應(yīng)用領(lǐng)域做出有效的預(yù)測(cè)與評(píng)估,因其具有行業(yè)獨(dú)立性,目前個(gè)性化新聞推薦已成為一個(gè)重要的研究方向。用戶(hù)在瀏覽新聞的過(guò)程中會(huì)受到短期興趣的影響,往往是由于用戶(hù)對(duì)個(gè)別的關(guān)鍵詞產(chǎn)生了閱讀的興趣,繼而開(kāi)始追蹤此類(lèi)新聞的連續(xù)報(bào)道,從這個(gè)角度來(lái)說(shuō),用戶(hù)容易受到先前所閱讀新聞的影響,因此上下文信息對(duì)用戶(hù)的短期興趣建模而言是不可或缺的。但如果純粹從內(nèi)容的角度來(lái)考慮,又容易引起推薦的多樣性不足,用戶(hù)往往希望在閱讀過(guò)程中系統(tǒng)能夠推薦一些新鮮的,甚至可能不在自己興趣范圍之內(nèi)的新聞內(nèi)容,從而能夠擴(kuò)展自己的閱讀范圍,本文針對(duì)這樣的問(wèn)題,從用戶(hù)上下文序列的角度探討其在新聞推薦中用戶(hù)的閱讀趨勢(shì)的影響。
中文新聞個(gè)性化推薦技術(shù),也稱(chēng)中文新聞個(gè)性化過(guò)濾技術(shù),在目前已成為推薦系統(tǒng)中的成熟分支之一。現(xiàn)有的新聞推薦體系從算法結(jié)構(gòu)類(lèi)型上仍然可以按照傳統(tǒng)的推薦系統(tǒng)分類(lèi)體系分為三種類(lèi)型:基于內(nèi)容的個(gè)性化新聞推薦、基于協(xié)同過(guò)濾技術(shù)的個(gè)性化新聞推薦以及基于混合模型的個(gè)性化新聞推薦。
基于內(nèi)容的新聞推薦[1]屬于推薦技術(shù)在新聞?lì)I(lǐng)域的很重要的一種類(lèi)型[2-3],最初的新聞推薦技術(shù)也是從內(nèi)容來(lái)考慮模型的構(gòu)建。算法在構(gòu)建用戶(hù)興趣模型以后,會(huì)查找新出現(xiàn)的新聞與用戶(hù)興趣模型具有一定相似性的內(nèi)容,繼而按照某種排序方式進(jìn)行推薦。主要方法有通過(guò)關(guān)鍵詞的角度考慮構(gòu)建興趣模型,如NewsDude[4]等,也有從主題模型[5]的角度考慮用戶(hù)興趣等,基于內(nèi)容的個(gè)性化新聞推薦算法主要特點(diǎn)為:1.不需要大量的用戶(hù)歷史數(shù)據(jù),以用戶(hù)閱讀過(guò)的歷史新聞為出發(fā)點(diǎn)即可挖掘其興趣愛(ài)好;2.對(duì)新用戶(hù)新聞內(nèi)容推薦與用戶(hù)的潛在興趣發(fā)現(xiàn)方面有較大的局限性,推薦的多樣性稍顯不足,往往會(huì)較為集中的聚焦在用戶(hù)興趣相關(guān)的主題及分類(lèi)中。
基于協(xié)同過(guò)濾的推薦技術(shù)[6]在推薦領(lǐng)域適用范圍較大,效果也較好,尤其在商品推薦方面一貫以來(lái)都非常的行之有效。早期的Google News將協(xié)同過(guò)濾思想引入到新聞推薦領(lǐng)域[7],主要解決了大數(shù)據(jù)下的新聞推薦中的用戶(hù)聚類(lèi)的問(wèn)題。基于協(xié)同過(guò)濾的個(gè)性化新聞推薦方法主要有以下特點(diǎn):1.主要通過(guò)用戶(hù)之間、新聞之間的協(xié)同性進(jìn)行推薦,推薦結(jié)果的多樣性、新穎度方面普遍好于基于內(nèi)容的個(gè)性化新聞推薦方法。2.協(xié)同過(guò)濾在發(fā)現(xiàn)用戶(hù)的潛在興趣方面,即使是復(fù)雜結(jié)構(gòu)的新聞?lì)愋?如視頻新聞、圖片新聞等)也都可以適用,表現(xiàn)也都較為出色;3.協(xié)同過(guò)濾目前主要需要解決的是普遍存在的冷啟動(dòng)問(wèn)題,用戶(hù)數(shù)據(jù)往往會(huì)因?yàn)橄∈瓒确浅8撸?jì)算相似用戶(hù)難度過(guò)大。
基于混合模型的新聞推薦技術(shù)并無(wú)特定的模式,一般的實(shí)現(xiàn)方法都是將基于內(nèi)容的推薦方法與基于協(xié)同過(guò)濾的推薦方法通過(guò)不同的方式構(gòu)造混合模式,從而形成新的推薦框架。如今日頭條[8]算法模型建立在它的投票機(jī)制上,以人群為單位,針對(duì)某篇新聞,用戶(hù)對(duì)其進(jìn)行投票,最后統(tǒng)計(jì)該新聞所屬的用戶(hù)群體中的得票率,根據(jù)得票率進(jìn)行用戶(hù)群推薦,這屬于在流行度基礎(chǔ)上的一種混合推薦算法。針對(duì)不同的特定場(chǎng)景,使用混合推薦模型往往會(huì)針對(duì)性的解決部分難以處理的問(wèn)題,獲得更好的效果。
當(dāng)用戶(hù)的新聞閱讀歷史較少的時(shí)候,我們往往會(huì)采用基于內(nèi)容的方法構(gòu)造用戶(hù)興趣模型,而這樣構(gòu)造的興趣偏好往往會(huì)比較集中,因此這樣做出的推薦結(jié)果多樣性以及新穎度是較為不足的。針對(duì)用戶(hù)冷啟動(dòng)問(wèn)題,我們從用戶(hù)上下文序列的角度探討其在新聞推薦中用戶(hù)的閱讀趨勢(shì)的影響。
Mikolov[9]在關(guān)于詞向量的論文中基于此思想提出了一個(gè)統(tǒng)計(jì)語(yǔ)言模型CBOW(連續(xù)詞袋模型),可以對(duì)文本語(yǔ)言進(jìn)行詞預(yù)測(cè),通過(guò)前面的c個(gè)詞或者是前后連續(xù)的c個(gè)詞出現(xiàn)的前提下計(jì)算某個(gè)詞出現(xiàn)的概率,大致思想如下:1.文本訓(xùn)練集切分,對(duì)所有的文本進(jìn)行分詞,以詞為計(jì)算的最小單元;2.設(shè)定滑動(dòng)窗口,將滑動(dòng)窗口內(nèi)的詞相關(guān)的詞向量(初始化為1)送進(jìn)該神經(jīng)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。3.輸出為一棵霍夫曼樹(shù)的內(nèi)部節(jié)點(diǎn)模型參數(shù)及所有的詞向量。其訓(xùn)練過(guò)程采用了一個(gè)三層神經(jīng)網(wǎng)絡(luò)進(jìn)行實(shí)現(xiàn),如圖1所示。

圖1 CBOW模型
我們對(duì)比該過(guò)程看待新聞推薦系統(tǒng)中的用戶(hù)點(diǎn)擊記錄,很容易可以聯(lián)想到用戶(hù)在某一段時(shí)間內(nèi)的連續(xù)閱讀操作集合,相當(dāng)于訓(xùn)練語(yǔ)料中的獨(dú)立文本,該連續(xù)操作序列相當(dāng)于文本中的詞序列,操作之間的共現(xiàn)序列可以作為樣本,所以,我們將用“詞”和“項(xiàng)”互換,這樣我們就可以對(duì)新聞項(xiàng)進(jìn)行類(lèi)似的計(jì)算,并使用該模型進(jìn)行推薦。
我們給定所有的新聞集合為D,當(dāng)用戶(hù)u在瀏覽該集合中的新聞的過(guò)程中,我們可以通過(guò)記錄用戶(hù)瀏覽日志的方式,跟蹤該用戶(hù)閱讀過(guò)的新聞文章序列。我們用D表示所有的文章序列,定義序列 Ru =

圖2 用戶(hù)閱讀序列
其中{t0,……,tn}是一個(gè)不定長(zhǎng)的時(shí)間片段,△t是兩次瀏覽序列產(chǎn)生之間的時(shí)間間隔,該時(shí)間間隔也為一個(gè)不定長(zhǎng)度的值,因?yàn)槿碎喿x新聞的時(shí)間點(diǎn)無(wú)法固定,且不具備規(guī)律性。如果兩個(gè)序列有相似的上下文,那么一個(gè)用戶(hù)想要閱讀的下一篇文章應(yīng)該是類(lèi)似的,在本文中我們通過(guò)向量的方式對(duì)其進(jìn)行表示,從而在向量空間層面挖掘出下一篇新聞。
由于新聞閱讀序列的特殊性,并不像商品推薦中容易丟失行為序列性,它如同文本內(nèi)容中的詞一樣,存在一定的一定程度的前后因果性,雖然這種因果性看起來(lái)不強(qiáng),但我們通過(guò)序列選擇仍然能保存下來(lái)這部分關(guān)聯(lián)信息。
與傳統(tǒng)新聞推薦算法的目的一致,我們基于連續(xù)詞袋模型主要用于解決已知用戶(hù)閱讀新聞序列的前提下,預(yù)測(cè)下一步可能會(huì)閱讀的新聞;但本文提出的新聞推薦方法也有和傳統(tǒng)新聞推薦算法不一樣的地方,因?yàn)橥扑]即我們主要面向于解決新聞系統(tǒng)的長(zhǎng)尾效應(yīng)[10],一方面可以為用戶(hù)提供更多樣化的推薦列表,另一方面也為新聞的傳播路徑提供更多的可能性,推薦流程圖如圖3所示。

圖3 推薦流程圖
CBOW模型的每個(gè)非節(jié)點(diǎn)的模型參數(shù)及葉子結(jié)點(diǎn)的向量與詞向量模型一樣,是訓(xùn)練過(guò)程中產(chǎn)生的副產(chǎn)品,我們想獲取新聞推薦結(jié)果,需要將用戶(hù)最近瀏覽的新聞序列作為神經(jīng)網(wǎng)絡(luò)的輸入,待推薦新聞中的新聞項(xiàng)作為最終的葉子結(jié)點(diǎn),計(jì)算分類(lèi)路徑,并獲取到達(dá)此節(jié)點(diǎn)的概率P(di|context(di)) ,最后對(duì)概率最高的做Top-N推薦。
(1)

我們采集了某新聞網(wǎng)站的用戶(hù)行為數(shù)據(jù),通過(guò)清洗后選擇部分用戶(hù)作為實(shí)驗(yàn)驗(yàn)證數(shù)據(jù),用戶(hù)數(shù)1000名,時(shí)間跨度為1個(gè)月,總用戶(hù)記錄60000,新聞數(shù)量為4000篇,對(duì)該數(shù)據(jù)集按照閱讀時(shí)間分為4周,每周按時(shí)間取前80%的新聞作為訓(xùn)練集,同時(shí)去除部分未在訓(xùn)練集中出現(xiàn)過(guò)的新聞,主要觀(guān)察閱讀次數(shù)少于20條新聞的300位用戶(hù)的推薦結(jié)果,以此驗(yàn)證算法面向用戶(hù)冷啟動(dòng)的效率。
主要需要確定的2個(gè)參數(shù)需要確定,1)有序列時(shí)間間隔△t;2)此外梯度上升速率設(shè)置為η=0.005。
我們將用戶(hù)瀏覽新聞的時(shí)間間隔做了統(tǒng)計(jì),分別統(tǒng)計(jì)用戶(hù)兩條新聞產(chǎn)生的時(shí)間間隔為10分鐘內(nèi)、10-20分鐘、20-30分鐘、30-40分鐘、40-50分鐘、50-60分鐘、60-90分鐘、90-120分鐘、120-180分鐘、180-240分鐘、240-300分鐘、300-360分鐘以及360分鐘以外的平均情況,由訓(xùn)練集中用戶(hù)的新聞閱讀時(shí)間間隔分布統(tǒng)計(jì)情況我們可以看到,用戶(hù)瀏覽兩條新聞之間的時(shí)間間隔大部分都在10分鐘以?xún)?nèi),我們猜測(cè)若用戶(hù)兩條瀏覽記錄的間隔時(shí)間過(guò)大,表明這是兩段閱讀行為,因此我們選擇最合理閱讀分段時(shí)間間隔△t為10分鐘,意味著用戶(hù)在閱讀完一篇新聞后若10分鐘內(nèi)沒(méi)有新的閱讀行為產(chǎn)生,那么就可以認(rèn)為先前的新聞集合可以作為一個(gè)瀏覽序列。

圖4 時(shí)間序列間隔
為了評(píng)測(cè)模型的有效性,我們主要考慮采用同樣是基于上下文序列的馬爾科夫模型的協(xié)同推薦算法(MR)進(jìn)行實(shí)驗(yàn)比較。
實(shí)驗(yàn)主要對(duì)準(zhǔn)確率和召回率的F1值、多樣性進(jìn)行實(shí)驗(yàn)結(jié)果評(píng)測(cè)以及綜合比較分析,對(duì)于推薦列表數(shù)量我們?nèi)匀徊捎肨op-N推薦,N分別為10、20、30。若部分用戶(hù)在測(cè)試集中實(shí)際閱讀記錄不滿(mǎn)被推薦新聞數(shù)目時(shí),按推薦未命中處理。
(1)準(zhǔn)確度F1值

表1 F1值
從準(zhǔn)確度上來(lái)說(shuō),基于馬爾科夫模型上下文推薦算法與CR算法在推薦列表內(nèi)容少的時(shí)候效果差不多,但在推薦列表內(nèi)容逐漸增多的情況下,CR算法效果更佳,準(zhǔn)確度的F1值提高了約3%左右,主要原因是對(duì)于多層的訓(xùn)練過(guò)程中產(chǎn)生的語(yǔ)義聯(lián)想的能力要強(qiáng),因此協(xié)同性更好。
(2)多樣性

表2 多樣性
從多樣性來(lái)看,CR算法要比基于馬爾科夫的新聞上下文推薦算法MR要好,多樣性提高了5 %左右。主要原因是在推薦過(guò)程中因?yàn)槿谌肓诵蛄羞x擇的概念,給用戶(hù)進(jìn)行推薦過(guò)程中可選擇范圍擴(kuò)大。
本文主要面對(duì)用戶(hù)的少量數(shù)據(jù),從閱讀序列的上下文角度,引入連續(xù)詞袋模型進(jìn)行模型訓(xùn)練,基于當(dāng)前的上下文把最符合用戶(hù)閱讀趨勢(shì)的下一條新聞推薦給用戶(hù),實(shí)驗(yàn)表明,在用戶(hù)冷啟動(dòng)方面與經(jīng)典的基于馬爾科夫模型的新聞推薦算法相比,主要在推薦的多樣性上具有更好的效率。