楊福強(qiáng),王洪國(guó),董樹(shù)霞,丁艷輝,尹傳城
(1.山東師范大學(xué) 信息科學(xué)與工程學(xué)院,山東 濟(jì)南250014;2.山東師范大學(xué)山東省分布式計(jì)算機(jī)軟件新技術(shù)重點(diǎn)實(shí)驗(yàn)室,山東 濟(jì)南250014;3.山東女子學(xué)院 信息技術(shù)學(xué)院,山東 濟(jì)南250300)
為給用戶推薦有效信息,關(guān)鍵在于能挖掘到用戶感興趣的內(nèi)容,即獲知用戶的個(gè)性化興趣。微博用戶興趣挖掘作為個(gè)性化推薦研究中的熱點(diǎn)問(wèn)題,已得到研究人員的廣泛關(guān)注。王廣新[1]利用基于內(nèi)容的推薦方法給用戶做新聞和團(tuán)購(gòu)信息的推薦,使用在外部知識(shí)庫(kù)上建立的主題模型分析微博內(nèi)容,在一定程度上避免了直接在微博數(shù)據(jù)上構(gòu)建主題模型時(shí),主題數(shù)目不容易確定的缺點(diǎn);孫威[2]基于用戶微博內(nèi)容分析用戶興趣,從興趣獲取、興趣分類和興趣建模3個(gè)方面展開(kāi)研究;朱帥等[3]結(jié)合協(xié)同過(guò)濾思想,利用微博方式給用戶推薦微博和關(guān)注用戶,通過(guò)使用微博的文本語(yǔ)料,對(duì)微博用戶進(jìn)行特征抽取,將用戶的特征和喜好加入用戶的特征矩陣中,供用戶選取相近鄰居使用,從而形成推薦結(jié)果;邢星[4]將信任機(jī)制引入?yún)f(xié)同過(guò)濾思想,用于為用戶推薦個(gè)性化信息,通過(guò)定義直接信任度量,將社交網(wǎng)絡(luò)轉(zhuǎn)換為信任網(wǎng)絡(luò),實(shí)現(xiàn)了基于社會(huì)信任的社交網(wǎng)絡(luò)個(gè)性化推薦;Gianmarco De等[5]提出從Twitter上挖掘用戶興趣來(lái)推薦新聞,根據(jù)的是個(gè)人社交圈 (neigthborhood)模型,個(gè)人發(fā)的Twitter消息和新聞中以及整個(gè)Twitter中正在流行的信息;Deepa Paranjpe[6]提出一種實(shí)體抓取機(jī)制,在Tweet信息中找出與維基百科詞條相關(guān)聯(lián)的實(shí)體;Florent Garcin等[7]認(rèn)為在個(gè)性化新聞推薦中,相對(duì)于個(gè)性化新聞推薦中的其它任何方法,協(xié)同過(guò)濾都更有優(yōu)勢(shì);Tang J等[8]對(duì)比不同參數(shù)設(shè)置對(duì)主題挖掘算法性能的影響,說(shuō)明對(duì)于不同問(wèn)題參數(shù)設(shè)置的重要性;QiGao等[9]提出了一種時(shí)間敏感的TF.ID 改進(jìn)算法,對(duì)比了TF.IDF 算法和時(shí)間敏感的IF.IDF改進(jìn)算法,發(fā)現(xiàn)用后者在產(chǎn)生趨勢(shì)模型和進(jìn)行后期的個(gè)性化新聞推薦中取得了較好推薦效果;Fabian Abel等[10]從基于標(biāo)簽、基于主題、基于話題3個(gè)方面對(duì)用戶模型進(jìn)行建模,并對(duì)模型進(jìn)行語(yǔ)義擴(kuò)充,結(jié)果表明語(yǔ)義擴(kuò)充豐富了用戶模型的多樣性并提高了用戶模型的質(zhì)量,該文使用了OpenCalais等[11]的工具對(duì)語(yǔ)義進(jìn)行了擴(kuò)充,該工具可對(duì)包括人物、事件、產(chǎn)品、音樂(lè)小組在內(nèi)的39種實(shí)體進(jìn)行擴(kuò)充,并且對(duì)于每一個(gè)實(shí)體提供唯一有良好定義的鏈接;KeTao等[12]介紹了基于Twitter的用戶建模服務(wù)系統(tǒng),系統(tǒng)基于改進(jìn)的TF.IDF算法對(duì)用戶Tweets數(shù)據(jù)進(jìn)行分析,系統(tǒng)有良好的Tweets信息獲取機(jī)制和外部信息抓取機(jī)制。眾多研究者針對(duì)不同的推薦提出不同的用戶興趣模型,但還存在如下問(wèn)題:
(1)未重視分析微博客用戶的社交圈。在微博中,很重要的一個(gè)特點(diǎn)是用戶可以關(guān)注自己喜歡的人,而且用戶隨時(shí)可以取消對(duì)某些用戶的關(guān)注,這正是微博用戶興趣社交的重要部分,用戶對(duì)關(guān)注人的興趣也會(huì)感興趣,對(duì)于用戶關(guān)注人的興趣分析是對(duì)用戶個(gè)性化興趣的重要擴(kuò)充。
(2)已有研究未能完全結(jié)合微博的一些特點(diǎn),比如#主題#,@,及轉(zhuǎn)發(fā)、評(píng)論過(guò)后的內(nèi)容,參與過(guò)的主題等。
本文基于以上問(wèn)題,提出一種基于微博擴(kuò)展的用戶興趣主題挖掘算法,將用戶關(guān)注人興趣引入到用戶自身興趣中來(lái),具體包括用戶所有關(guān)注人即時(shí)興趣和特別關(guān)注人長(zhǎng)期興趣。該算法通過(guò)結(jié)合用戶自身興趣及用戶關(guān)注人的興趣來(lái)擴(kuò)充微博用戶興趣,將興趣分為長(zhǎng)期興趣、過(guò)期興趣、近期興趣,利用改進(jìn)的TF.IDF 算法分析相關(guān)微博內(nèi)容,并利用基于時(shí)間及文檔頻率加權(quán)的主題詞重要度計(jì)算出興趣主題詞得分,進(jìn)而得出綜合全面的用戶興趣。實(shí)驗(yàn)結(jié)果表明,本文提出的算法在全面分析用戶興趣方面具有明顯改進(jìn),這對(duì)基于微博的用戶興趣挖掘具有積極意義。
本文提出一種基于微博擴(kuò)展的用戶興趣主題挖掘算法,主要通過(guò)結(jié)合分析用戶自身興趣及用戶特別關(guān)注人的興趣來(lái)挖掘用戶的個(gè)人興趣主題。具體包括3個(gè)步驟:
步驟1 用戶自身興趣挖掘。主要是對(duì)用戶自身興趣進(jìn)行分析獲得用戶的長(zhǎng)期興趣、近期興趣和過(guò)期興趣;
步驟2 用戶特別關(guān)注人興趣挖掘。主要是對(duì)用戶所關(guān)注的人進(jìn)行分析來(lái)擴(kuò)充用戶的社交興趣,這部分興趣主要由所有關(guān)注人的即時(shí)興趣及部分特別關(guān)注人的長(zhǎng)期興趣所組成;
步驟3 形成用戶的綜合興趣主題。
用戶興趣挖掘流程如圖1所示。
圖1 用戶興趣挖掘流程
微博本文字?jǐn)?shù)都在140個(gè)字以內(nèi),很少有從側(cè)面烘托主題的可能,而且微博內(nèi)容的特點(diǎn)是精短,微博作者會(huì)用最恰當(dāng),最準(zhǔn)確的主題詞 (關(guān)鍵詞)來(lái)表達(dá)所想要發(fā)布的內(nèi)容。
本文利用微博中的重要詞匯表示用戶的興趣。在本文中,采用TF.IDF算法的思想來(lái)衡量微博中出現(xiàn)的詞語(yǔ)的重要性。TF.IDF算法用來(lái)分析哪些詞語(yǔ)是文檔中的重要詞語(yǔ),是度量給定詞語(yǔ)在少數(shù)文檔中反復(fù)出現(xiàn)程度的形式化指標(biāo)。如果在文檔集中的少量文檔中某個(gè)詞語(yǔ)集中出現(xiàn),那么它在文檔中的TF.IDF 值就較高。在進(jìn)行TF.IDF 的計(jì)算前,首先需要對(duì)用戶微博去噪[1]和去除大量出現(xiàn)的對(duì)于分析無(wú)意義的停用詞。TF (term frequency)是指詞項(xiàng)頻率。通常用如下方式計(jì)算。
假定文檔集中有篇文檔j,fij 為詞項(xiàng)在文檔j 中出現(xiàn)的頻率 (即次數(shù)),于是詞項(xiàng)i在文檔中的詞項(xiàng)頻率TFij定義為
即詞項(xiàng)i在文檔j 中的詞項(xiàng)頻率fij歸一化結(jié)果,其中歸一化通過(guò)fij除以同一文檔中出現(xiàn)最多的詞項(xiàng) (這里不考慮停用詞的頻率)的頻率來(lái)計(jì)算。因此,文檔j 中出現(xiàn)頻率最大的詞項(xiàng)TF 值為1,而其它詞項(xiàng)的TF 值都是分?jǐn)?shù)。
假定詞項(xiàng)在文檔集的ni篇文檔中出現(xiàn),那么詞項(xiàng)的逆文檔頻率IDFi可定義為
最后,詞項(xiàng)i在文檔j 中的TF.IDF得分被定義為T(mén)Fij×IDFi,得分最高的詞項(xiàng)是表達(dá)文檔主題的最佳詞項(xiàng)。
因?yàn)門(mén)F.IDF算法的重點(diǎn)在于計(jì)算文檔集中單篇文檔中某個(gè)主題詞的重要性,而對(duì)于微博來(lái)說(shuō),一個(gè)詞在單篇文檔中的重要性不足以說(shuō)明該詞在所有微博中的重要性,所以本文對(duì)TF.IDF 算法進(jìn)行改進(jìn),加入文檔頻率因素,得到改進(jìn)的TF.IDF算法。
fi為詞項(xiàng)i在整個(gè)文檔集中出現(xiàn)的頻率,maxkfk代表出現(xiàn)次數(shù)最高的詞項(xiàng)的出現(xiàn)次數(shù),詞項(xiàng)i在所有文檔中的文檔頻率DF這里定義為
定義1 長(zhǎng)期興趣C1:主題詞TF.IDF 值得分高、出現(xiàn)時(shí)間之間的方差比較均勻并且用戶一直提到 (比如從半年前到就一直多次提及),那么這部分用戶興趣是用戶的長(zhǎng)期興趣。
定義2 過(guò)期興趣C2:主題詞出現(xiàn)多次、出現(xiàn)時(shí)間之間的方差比較均勻但是長(zhǎng)期 (比如最近兩年時(shí)間內(nèi))沒(méi)有再次出現(xiàn),這部分用戶興趣是用戶的過(guò)期興趣。
定義3 近期興趣C3:主題詞短期內(nèi)出現(xiàn)多次、出現(xiàn)時(shí)間之間的方差很均勻并且近期 (最近半年內(nèi))多次出現(xiàn),這部分用戶興趣是用戶的近期興趣。
定義4 用戶自身興趣C4:用戶自身興趣是用戶長(zhǎng)期興趣和近期興趣的集合,排除用戶的過(guò)期興趣
式中:α,β,η——TF.IDF的權(quán)重,文檔頻率DF的權(quán)重和時(shí)間方差S的權(quán)重,且α+β+η=1。
本文采用一種基于用戶個(gè)人微博內(nèi)容的分析方法,利用式 (4),獲得對(duì)用戶自身的長(zhǎng)期興趣、近期興趣和過(guò)期興趣。
Fi(Ti)表示詞Ti的TF.IDF 得分,DFi(Ti)表示詞的文檔頻率,S(Ti)表示詞在微博中出現(xiàn)兩次以上時(shí),計(jì)算詞Ti的出現(xiàn)時(shí)間之間的方差,來(lái)估計(jì)這個(gè)詞的平均出現(xiàn)次數(shù),調(diào)整3個(gè)參數(shù)可使興趣值有不同的側(cè)重。
計(jì)算長(zhǎng)期興趣的條件是,當(dāng)一個(gè)詞的Fi(Ti)得分較高,默認(rèn)是TF.IDF得分最高的前80%,如果得分很低說(shuō)明有些詞可能是一些與描述用戶興趣無(wú)關(guān)且沒(méi)有在停用詞之列的詞,且詞從半年前一直出現(xiàn)過(guò)。
計(jì)算近期興趣的條件是當(dāng)Fi(Ti)得分高,默認(rèn)是TF.IDF得分最高的前80%,且詞Ti從半年前以后開(kāi)始出現(xiàn)。
計(jì)算過(guò)期興趣的條件是當(dāng)Ft(Ti)得分高,默認(rèn)是TF.IDF得分最高的前80%,且詞Ti從半年前以后就沒(méi)再出現(xiàn)。
定義5 用戶特別關(guān)注人P1:指用戶經(jīng)常交互的這部分關(guān)注人,通過(guò)分析用戶對(duì)所有關(guān)注人的轉(zhuǎn)發(fā)次數(shù),評(píng)論次數(shù),收藏次數(shù)等得出用戶對(duì)所有關(guān)注人的關(guān)注度排名,排名高的部分關(guān)注人是用戶的特別關(guān)注人。
定義6 用戶特別關(guān)注人的長(zhǎng)期興趣F1:把多個(gè)特別關(guān)注人各自的長(zhǎng)期興趣綜合起來(lái)得出用戶的特別關(guān)注人興趣集合。每個(gè)特別關(guān)注人的長(zhǎng)期興趣值計(jì)算方法和計(jì)算用戶自己的長(zhǎng)期興趣方法一致。
定義7 用戶所有關(guān)注人的即時(shí)興趣F2:用戶所有關(guān)注人的最近的用戶興趣,默認(rèn)為最近的48 個(gè)小時(shí)的用戶興趣[5]。
定義8 用戶關(guān)注人興趣F3:用戶關(guān)注人興趣是指用戶所有關(guān)注人的即時(shí)興趣和特別關(guān)注人長(zhǎng)期興趣的集合。
本文采用一種基于協(xié)同過(guò)濾的分析方法,獲得對(duì)用戶特別關(guān)注人的即時(shí)興趣和長(zhǎng)期興趣。
Value(Ti)表示要求得的興趣值,見(jiàn)式 (4)。
計(jì)算所有關(guān)注人近期興趣的條件是,當(dāng)Fi(Ti)得分高時(shí),詞Ti多次在微博中出現(xiàn),此時(shí)η 等于0,S(Ti)不起作用。
每個(gè)特別關(guān)注人的長(zhǎng)期興趣值計(jì)算方法類似于計(jì)算用戶自己的長(zhǎng)期興趣。
通過(guò)計(jì)算用戶自身興趣和用戶關(guān)注人興趣,得出用戶的興趣集合,即基于微博擴(kuò)展的用戶興趣??稍O(shè)定興趣主題詞的個(gè)數(shù),和每個(gè)單獨(dú)興趣在綜合興趣中所占的比重,這樣用戶可以自由確定哪部分用戶興趣在綜合興趣集合中所占的比重。
本文實(shí)驗(yàn)采用ASP.NET 技術(shù),用C#語(yǔ)言,利用新浪微博開(kāi)放平臺(tái)做的為用戶提供個(gè)性化興趣獲取的網(wǎng)站,使用中科院計(jì)算所漢語(yǔ)詞法分析系統(tǒng)對(duì)微博進(jìn)行切分詞。
本文實(shí)驗(yàn)允許用戶設(shè)定參數(shù),如由用戶設(shè)定只分析自己哪個(gè)時(shí)間以來(lái)的微博的數(shù)據(jù),比如是兩年前以來(lái)的,這樣最初的一步微博去噪源于用戶自己,用戶更清楚哪些數(shù)據(jù)對(duì)自己的是重要的,系統(tǒng)默認(rèn)是全部的微博數(shù)據(jù);用戶設(shè)定以哪個(gè)時(shí)間界限作為自己的長(zhǎng)期興趣和近期興趣的時(shí)間分界點(diǎn),默認(rèn)以半年為分界點(diǎn);用戶設(shè)定所有關(guān)注人的即時(shí)興趣時(shí)間界限,默認(rèn)為最近的48個(gè)小時(shí),很多微博用戶只關(guān)注最近兩天內(nèi)的最新內(nèi)容[5]。
本文把用戶興趣進(jìn)行分類分析大量減少了計(jì)算量,系統(tǒng)除在第一次用戶登錄并授權(quán)后,需要計(jì)算出用戶興趣,C1,C2,C3,用戶關(guān)注人P1,關(guān)注人興趣F1 和F2外,以后每次用戶要求分析結(jié)果時(shí),只需要計(jì)算用戶近期興趣C3和所有關(guān)注人即時(shí)興趣F2,因?yàn)橛?jì)算用戶近期興趣和關(guān)注人即時(shí)興趣需要分析的微博數(shù)量只占計(jì)算全部用戶興趣需要分析的微博數(shù)量的小部分,所以減少了大量的計(jì)算,提高了系統(tǒng)效率,雖然減少這部計(jì)算可能在計(jì)算上使用戶長(zhǎng)期興趣C1,特別人關(guān)注人集合P1和特別關(guān)注人長(zhǎng)期興趣F1 集合的準(zhǔn)確性延遲,但是本文認(rèn)為相對(duì)于給系統(tǒng)帶來(lái)的效率它可以忽略不計(jì);再者授權(quán)后的用戶,系統(tǒng)會(huì)在一個(gè)固定時(shí)間段內(nèi),在系統(tǒng)的空閑時(shí)間對(duì)每個(gè)用戶的特別關(guān)注人和所有用戶興趣進(jìn)行一遍更新,使用戶在需要在線得到自己的用戶興趣時(shí)等待時(shí)間更少。
集合的符號(hào)表示及各個(gè)集合的涵義見(jiàn)表1。
表1 集合的符號(hào)表示及各個(gè)集合的涵義
本文主要進(jìn)行兩個(gè)實(shí)驗(yàn),以某微博用戶在2014 年3月22日的興趣分析結(jié)果為例,實(shí)驗(yàn)一是基于用戶自身微博內(nèi)容的,得出用戶自身興趣,實(shí)驗(yàn)二是基于用戶及用戶關(guān)注人微博內(nèi)容得出的基于微博擴(kuò)展的綜合用戶興趣。實(shí)驗(yàn)一的結(jié)果見(jiàn)表2,只分析出和用戶長(zhǎng)期興趣、近期興趣和過(guò)期興趣,實(shí)驗(yàn)二某用戶的結(jié)果見(jiàn)表3,不只得到用戶自己的興趣,還得到了用戶關(guān)注人的興趣,這樣得到的結(jié)果擴(kuò)展了微博用戶興趣,更全面地反映了用戶有興趣,并且包含了用戶潛在興趣。特別關(guān)注人長(zhǎng)期興趣這里不再顯示。
表2 實(shí)驗(yàn)一某用戶自身興趣分析結(jié)果
表3 實(shí)驗(yàn)二某用戶的部分興趣分析結(jié)果
實(shí)驗(yàn)結(jié)果表明,得出的長(zhǎng)期興趣符合用戶的自身興趣,一般是與用戶自己身邊的人物、工作、生活,地域等信息相關(guān);得出用戶關(guān)注人的近期興趣部分開(kāi)始與新聞趨勢(shì)吻合,特別關(guān)注人的長(zhǎng)期興趣也與這些關(guān)注人的自身興趣特點(diǎn)一致,用戶關(guān)注人的即時(shí)興趣包括的領(lǐng)域比較多,關(guān)注最多的是社會(huì)新聞。
本文提出的基于微博擴(kuò)展的用戶興趣挖掘方法較準(zhǔn)確、全面的分析出用戶的興趣,從微博中主題詞的確定,再?gòu)某霈F(xiàn)時(shí)間,出現(xiàn)次數(shù)這一方面來(lái)分析,提出基于時(shí)間加權(quán),文檔頻率加權(quán),及TF.IDF 值加權(quán)的算法來(lái)分析出微博用戶的主題詞。實(shí)驗(yàn)結(jié)果表明,分析用戶的用戶興趣時(shí)既從用戶自身出發(fā),并充分考慮用戶的社交圈的興趣,作為潛在用戶興趣的重要擴(kuò)充,對(duì)于獲取全面的用戶興趣具有重要的價(jià)值和意義。
[1]WANG Guangxin.User interest analysis and personalized information recommendation based on microblog [D].Shanghai:Shanghai Jiao Tong University,2013 (in Chinese).[王廣新.基于微博的用戶興趣分析與個(gè)性化信息推薦 [D].上海:上海交通大學(xué),2013.]
[2]SUN Wei.Interest mining and modeling for micro-bloggers of micro-blog [D].Dalian:Dalian University of Technology,2012 (in Chinese). [孫威.微博用戶興趣挖掘與建模研究[D].大連:大連理工大學(xué),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). [朱帥,陳光,林雪能,等.基于微博引用的個(gè)性化推薦 [D].北京:北京郵電大學(xué),2013.]
[4]XING Xing.Research on recommendation methods in social networks[D].Dalian:Dalian Maritime University,2013 (in Chinese).[邢星.社交網(wǎng)絡(luò)個(gè)性化推薦方法研究 [D].大連:大連海事大學(xué),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.