楊福強,王洪國,董樹霞,丁艷輝,尹傳城
(1.山東師范大學 信息科學與工程學院,山東 濟南250014;2.山東師范大學山東省分布式計算機軟件新技術重點實驗室,山東 濟南250014;3.山東女子學院 信息技術學院,山東 濟南250300)
為給用戶推薦有效信息,關鍵在于能挖掘到用戶感興趣的內(nèi)容,即獲知用戶的個性化興趣。微博用戶興趣挖掘作為個性化推薦研究中的熱點問題,已得到研究人員的廣泛關注。王廣新[1]利用基于內(nèi)容的推薦方法給用戶做新聞和團購信息的推薦,使用在外部知識庫上建立的主題模型分析微博內(nèi)容,在一定程度上避免了直接在微博數(shù)據(jù)上構建主題模型時,主題數(shù)目不容易確定的缺點;孫威[2]基于用戶微博內(nèi)容分析用戶興趣,從興趣獲取、興趣分類和興趣建模3個方面展開研究;朱帥等[3]結合協(xié)同過濾思想,利用微博方式給用戶推薦微博和關注用戶,通過使用微博的文本語料,對微博用戶進行特征抽取,將用戶的特征和喜好加入用戶的特征矩陣中,供用戶選取相近鄰居使用,從而形成推薦結果;邢星[4]將信任機制引入?yún)f(xié)同過濾思想,用于為用戶推薦個性化信息,通過定義直接信任度量,將社交網(wǎng)絡轉換為信任網(wǎng)絡,實現(xiàn)了基于社會信任的社交網(wǎng)絡個性化推薦;Gianmarco De等[5]提出從Twitter上挖掘用戶興趣來推薦新聞,根據(jù)的是個人社交圈 (neigthborhood)模型,個人發(fā)的Twitter消息和新聞中以及整個Twitter中正在流行的信息;Deepa Paranjpe[6]提出一種實體抓取機制,在Tweet信息中找出與維基百科詞條相關聯(lián)的實體;Florent Garcin等[7]認為在個性化新聞推薦中,相對于個性化新聞推薦中的其它任何方法,協(xié)同過濾都更有優(yōu)勢;Tang J等[8]對比不同參數(shù)設置對主題挖掘算法性能的影響,說明對于不同問題參數(shù)設置的重要性;QiGao等[9]提出了一種時間敏感的TF.ID 改進算法,對比了TF.IDF 算法和時間敏感的IF.IDF改進算法,發(fā)現(xiàn)用后者在產(chǎn)生趨勢模型和進行后期的個性化新聞推薦中取得了較好推薦效果;Fabian Abel等[10]從基于標簽、基于主題、基于話題3個方面對用戶模型進行建模,并對模型進行語義擴充,結果表明語義擴充豐富了用戶模型的多樣性并提高了用戶模型的質量,該文使用了OpenCalais等[11]的工具對語義進行了擴充,該工具可對包括人物、事件、產(chǎn)品、音樂小組在內(nèi)的39種實體進行擴充,并且對于每一個實體提供唯一有良好定義的鏈接;KeTao等[12]介紹了基于Twitter的用戶建模服務系統(tǒng),系統(tǒng)基于改進的TF.IDF算法對用戶Tweets數(shù)據(jù)進行分析,系統(tǒng)有良好的Tweets信息獲取機制和外部信息抓取機制。眾多研究者針對不同的推薦提出不同的用戶興趣模型,但還存在如下問題:
(1)未重視分析微博客用戶的社交圈。在微博中,很重要的一個特點是用戶可以關注自己喜歡的人,而且用戶隨時可以取消對某些用戶的關注,這正是微博用戶興趣社交的重要部分,用戶對關注人的興趣也會感興趣,對于用戶關注人的興趣分析是對用戶個性化興趣的重要擴充。
(2)已有研究未能完全結合微博的一些特點,比如#主題#,@,及轉發(fā)、評論過后的內(nèi)容,參與過的主題等。
本文基于以上問題,提出一種基于微博擴展的用戶興趣主題挖掘算法,將用戶關注人興趣引入到用戶自身興趣中來,具體包括用戶所有關注人即時興趣和特別關注人長期興趣。該算法通過結合用戶自身興趣及用戶關注人的興趣來擴充微博用戶興趣,將興趣分為長期興趣、過期興趣、近期興趣,利用改進的TF.IDF 算法分析相關微博內(nèi)容,并利用基于時間及文檔頻率加權的主題詞重要度計算出興趣主題詞得分,進而得出綜合全面的用戶興趣。實驗結果表明,本文提出的算法在全面分析用戶興趣方面具有明顯改進,這對基于微博的用戶興趣挖掘具有積極意義。
本文提出一種基于微博擴展的用戶興趣主題挖掘算法,主要通過結合分析用戶自身興趣及用戶特別關注人的興趣來挖掘用戶的個人興趣主題。具體包括3個步驟:
步驟1 用戶自身興趣挖掘。主要是對用戶自身興趣進行分析獲得用戶的長期興趣、近期興趣和過期興趣;
步驟2 用戶特別關注人興趣挖掘。主要是對用戶所關注的人進行分析來擴充用戶的社交興趣,這部分興趣主要由所有關注人的即時興趣及部分特別關注人的長期興趣所組成;
步驟3 形成用戶的綜合興趣主題。
用戶興趣挖掘流程如圖1所示。
圖1 用戶興趣挖掘流程
微博本文字數(shù)都在140個字以內(nèi),很少有從側面烘托主題的可能,而且微博內(nèi)容的特點是精短,微博作者會用最恰當,最準確的主題詞 (關鍵詞)來表達所想要發(fā)布的內(nèi)容。
本文利用微博中的重要詞匯表示用戶的興趣。在本文中,采用TF.IDF算法的思想來衡量微博中出現(xiàn)的詞語的重要性。TF.IDF算法用來分析哪些詞語是文檔中的重要詞語,是度量給定詞語在少數(shù)文檔中反復出現(xiàn)程度的形式化指標。如果在文檔集中的少量文檔中某個詞語集中出現(xiàn),那么它在文檔中的TF.IDF 值就較高。在進行TF.IDF 的計算前,首先需要對用戶微博去噪[1]和去除大量出現(xiàn)的對于分析無意義的停用詞。TF (term frequency)是指詞項頻率。通常用如下方式計算。
假定文檔集中有篇文檔j,fij 為詞項在文檔j 中出現(xiàn)的頻率 (即次數(shù)),于是詞項i在文檔中的詞項頻率TFij定義為
即詞項i在文檔j 中的詞項頻率fij歸一化結果,其中歸一化通過fij除以同一文檔中出現(xiàn)最多的詞項 (這里不考慮停用詞的頻率)的頻率來計算。因此,文檔j 中出現(xiàn)頻率最大的詞項TF 值為1,而其它詞項的TF 值都是分數(shù)。
假定詞項在文檔集的ni篇文檔中出現(xiàn),那么詞項的逆文檔頻率IDFi可定義為
最后,詞項i在文檔j 中的TF.IDF得分被定義為TFij×IDFi,得分最高的詞項是表達文檔主題的最佳詞項。
因為TF.IDF算法的重點在于計算文檔集中單篇文檔中某個主題詞的重要性,而對于微博來說,一個詞在單篇文檔中的重要性不足以說明該詞在所有微博中的重要性,所以本文對TF.IDF 算法進行改進,加入文檔頻率因素,得到改進的TF.IDF算法。
fi為詞項i在整個文檔集中出現(xiàn)的頻率,maxkfk代表出現(xiàn)次數(shù)最高的詞項的出現(xiàn)次數(shù),詞項i在所有文檔中的文檔頻率DF這里定義為
定義1 長期興趣C1:主題詞TF.IDF 值得分高、出現(xiàn)時間之間的方差比較均勻并且用戶一直提到 (比如從半年前到就一直多次提及),那么這部分用戶興趣是用戶的長期興趣。
定義2 過期興趣C2:主題詞出現(xiàn)多次、出現(xiàn)時間之間的方差比較均勻但是長期 (比如最近兩年時間內(nèi))沒有再次出現(xiàn),這部分用戶興趣是用戶的過期興趣。
定義3 近期興趣C3:主題詞短期內(nèi)出現(xiàn)多次、出現(xiàn)時間之間的方差很均勻并且近期 (最近半年內(nèi))多次出現(xiàn),這部分用戶興趣是用戶的近期興趣。
定義4 用戶自身興趣C4:用戶自身興趣是用戶長期興趣和近期興趣的集合,排除用戶的過期興趣
式中:α,β,η——TF.IDF的權重,文檔頻率DF的權重和時間方差S的權重,且α+β+η=1。
本文采用一種基于用戶個人微博內(nèi)容的分析方法,利用式 (4),獲得對用戶自身的長期興趣、近期興趣和過期興趣。
Fi(Ti)表示詞Ti的TF.IDF 得分,DFi(Ti)表示詞的文檔頻率,S(Ti)表示詞在微博中出現(xiàn)兩次以上時,計算詞Ti的出現(xiàn)時間之間的方差,來估計這個詞的平均出現(xiàn)次數(shù),調(diào)整3個參數(shù)可使興趣值有不同的側重。
計算長期興趣的條件是,當一個詞的Fi(Ti)得分較高,默認是TF.IDF得分最高的前80%,如果得分很低說明有些詞可能是一些與描述用戶興趣無關且沒有在停用詞之列的詞,且詞從半年前一直出現(xiàn)過。
計算近期興趣的條件是當Fi(Ti)得分高,默認是TF.IDF得分最高的前80%,且詞Ti從半年前以后開始出現(xiàn)。
計算過期興趣的條件是當Ft(Ti)得分高,默認是TF.IDF得分最高的前80%,且詞Ti從半年前以后就沒再出現(xiàn)。
定義5 用戶特別關注人P1:指用戶經(jīng)常交互的這部分關注人,通過分析用戶對所有關注人的轉發(fā)次數(shù),評論次數(shù),收藏次數(shù)等得出用戶對所有關注人的關注度排名,排名高的部分關注人是用戶的特別關注人。
定義6 用戶特別關注人的長期興趣F1:把多個特別關注人各自的長期興趣綜合起來得出用戶的特別關注人興趣集合。每個特別關注人的長期興趣值計算方法和計算用戶自己的長期興趣方法一致。
定義7 用戶所有關注人的即時興趣F2:用戶所有關注人的最近的用戶興趣,默認為最近的48 個小時的用戶興趣[5]。
定義8 用戶關注人興趣F3:用戶關注人興趣是指用戶所有關注人的即時興趣和特別關注人長期興趣的集合。
本文采用一種基于協(xié)同過濾的分析方法,獲得對用戶特別關注人的即時興趣和長期興趣。
Value(Ti)表示要求得的興趣值,見式 (4)。
計算所有關注人近期興趣的條件是,當Fi(Ti)得分高時,詞Ti多次在微博中出現(xiàn),此時η 等于0,S(Ti)不起作用。
每個特別關注人的長期興趣值計算方法類似于計算用戶自己的長期興趣。
通過計算用戶自身興趣和用戶關注人興趣,得出用戶的興趣集合,即基于微博擴展的用戶興趣。可設定興趣主題詞的個數(shù),和每個單獨興趣在綜合興趣中所占的比重,這樣用戶可以自由確定哪部分用戶興趣在綜合興趣集合中所占的比重。
本文實驗采用ASP.NET 技術,用C#語言,利用新浪微博開放平臺做的為用戶提供個性化興趣獲取的網(wǎng)站,使用中科院計算所漢語詞法分析系統(tǒng)對微博進行切分詞。
本文實驗允許用戶設定參數(shù),如由用戶設定只分析自己哪個時間以來的微博的數(shù)據(jù),比如是兩年前以來的,這樣最初的一步微博去噪源于用戶自己,用戶更清楚哪些數(shù)據(jù)對自己的是重要的,系統(tǒng)默認是全部的微博數(shù)據(jù);用戶設定以哪個時間界限作為自己的長期興趣和近期興趣的時間分界點,默認以半年為分界點;用戶設定所有關注人的即時興趣時間界限,默認為最近的48個小時,很多微博用戶只關注最近兩天內(nèi)的最新內(nèi)容[5]。
本文把用戶興趣進行分類分析大量減少了計算量,系統(tǒng)除在第一次用戶登錄并授權后,需要計算出用戶興趣,C1,C2,C3,用戶關注人P1,關注人興趣F1 和F2外,以后每次用戶要求分析結果時,只需要計算用戶近期興趣C3和所有關注人即時興趣F2,因為計算用戶近期興趣和關注人即時興趣需要分析的微博數(shù)量只占計算全部用戶興趣需要分析的微博數(shù)量的小部分,所以減少了大量的計算,提高了系統(tǒng)效率,雖然減少這部計算可能在計算上使用戶長期興趣C1,特別人關注人集合P1和特別關注人長期興趣F1 集合的準確性延遲,但是本文認為相對于給系統(tǒng)帶來的效率它可以忽略不計;再者授權后的用戶,系統(tǒng)會在一個固定時間段內(nèi),在系統(tǒng)的空閑時間對每個用戶的特別關注人和所有用戶興趣進行一遍更新,使用戶在需要在線得到自己的用戶興趣時等待時間更少。
集合的符號表示及各個集合的涵義見表1。
表1 集合的符號表示及各個集合的涵義
本文主要進行兩個實驗,以某微博用戶在2014 年3月22日的興趣分析結果為例,實驗一是基于用戶自身微博內(nèi)容的,得出用戶自身興趣,實驗二是基于用戶及用戶關注人微博內(nèi)容得出的基于微博擴展的綜合用戶興趣。實驗一的結果見表2,只分析出和用戶長期興趣、近期興趣和過期興趣,實驗二某用戶的結果見表3,不只得到用戶自己的興趣,還得到了用戶關注人的興趣,這樣得到的結果擴展了微博用戶興趣,更全面地反映了用戶有興趣,并且包含了用戶潛在興趣。特別關注人長期興趣這里不再顯示。
表2 實驗一某用戶自身興趣分析結果
表3 實驗二某用戶的部分興趣分析結果
實驗結果表明,得出的長期興趣符合用戶的自身興趣,一般是與用戶自己身邊的人物、工作、生活,地域等信息相關;得出用戶關注人的近期興趣部分開始與新聞趨勢吻合,特別關注人的長期興趣也與這些關注人的自身興趣特點一致,用戶關注人的即時興趣包括的領域比較多,關注最多的是社會新聞。
本文提出的基于微博擴展的用戶興趣挖掘方法較準確、全面的分析出用戶的興趣,從微博中主題詞的確定,再從出現(xiàn)時間,出現(xiàn)次數(shù)這一方面來分析,提出基于時間加權,文檔頻率加權,及TF.IDF 值加權的算法來分析出微博用戶的主題詞。實驗結果表明,分析用戶的用戶興趣時既從用戶自身出發(fā),并充分考慮用戶的社交圈的興趣,作為潛在用戶興趣的重要擴充,對于獲取全面的用戶興趣具有重要的價值和意義。
[1]WANG Guangxin.User interest analysis and personalized information recommendation based on microblog [D].Shanghai:Shanghai Jiao Tong University,2013 (in Chinese).[王廣新.基于微博的用戶興趣分析與個性化信息推薦 [D].上海:上海交通大學,2013.]
[2]SUN Wei.Interest mining and modeling for micro-bloggers of micro-blog [D].Dalian:Dalian University of Technology,2012 (in Chinese). [孫威.微博用戶興趣挖掘與建模研究[D].大連:大連理工大學,2012.]
[3]ZHU Shuai,CHEN Guang,LIN Xueneng,et al.Personalized recommendation based on micro-blogging references[D].Beijing:Beijing University of Posts and Telecommunications,2013 (in Chinese). [朱帥,陳光,林雪能,等.基于微博引用的個性化推薦 [D].北京:北京郵電大學,2013.]
[4]XING Xing.Research on recommendation methods in social networks[D].Dalian:Dalian Maritime University,2013 (in Chinese).[邢星.社交網(wǎng)絡個性化推薦方法研究 [D].大連:大連海事大學,2013.]
[5]De Francisci Morales G,Gionis A,Lucchese C.From chatter to headlines:harnessing the real-time web for personalized news recommendation[C]//Proceedings of the 5th ACM International Conference on Web Search and Data Mining,2012:153-162.
[6]Paranjpe D.Learning document aboutness from implicit user feedback and document structure [C]//Proceedings of the 18th ACM Conference on Information and Knowledge Management,2009:365-374.
[7]Garcin F,Zhou K,F(xiàn)altings B,et al.Personalized news recommendation based on collaborative filtering [C]//Procee-dings of the IEEE/WIC/ACM International Joint Conferences on Web Intelligence and Intelligent Agent Technology,2012:437-441.
[8]Tang J,Meng Z,Nguyen X,et al.Understanding the limiting factors of topic modeling via posterior contraction analysis[C]//Proceedings of the 31st International Conference on Machine Learning,2014:190-198.
[9]Gao Q,Abel F,Houben G J,et al.Interweaving trend and user modeling for personalized news recommendation [C]//Proceedings of the IEEE/WIC/ACM International Conferences on Web Intelligence and Intelligent Agent Technology,2011:100-103.
[10]Abel F,Gao Q,Houben G J,et al.Analyzing user modeling on twitter for personalized news recommendations [G].LNCS 6787:User Modeling,Adaption and Personalization.Berlin:Springer Berlin Heidelberg,2011:1-12.
[11]Sakaki T,Okazaki M,Matsuo Y.Earthquake shakes twitter users:Real-time event detection by social sensors[C]//Proceedings of the 19th International Conference on World Wide Web.ACM,2010:851-860.
[12]Tao K,Abel F,Gao Q,et al.TUMS:twitter-based user modeling service[G].LNCS 7117:The Semantic Web:ESWC Workshops.Berlin:Springer Berlin Heidelberg,2012:269-283.