基于微博的用戶分析與個性化推薦系統(共12頁)_第1頁
基于微博的用戶分析與個性化推薦系統(共12頁)_第2頁
基于微博的用戶分析與個性化推薦系統(共12頁)_第3頁
基于微博的用戶分析與個性化推薦系統(共12頁)_第4頁
基于微博的用戶分析與個性化推薦系統(共12頁)_第5頁
已閱讀5頁,還剩14頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 1. 概念及應用(yngyng)背景1.1 本文(bnwn)研究內容在過去的幾年時間里,無論從用戶數量還是(hi shi)內容數量來看,互聯網都經歷了爆炸式的增長。人們逐漸從信息匱乏時代過渡到了信息過載(information overload)時代。無論作為想獲取信息的普通用戶,還是作為產生信息的內容提供商或產品提供商,都面臨著新的挑戰。作為普通用戶,他們希望有一種從海量信息中方便實時快速地獲取有用的信息的方式。而作為內容或產品提供商,他們希望把自己的信息及時準確地傳播給希望接收這些信息的目標群體。用戶獲取信息的方式經歷了如下幾個階段:從原始靠人工記憶各種網站,并且人工查找所需的信息,推出

2、了按類別對網站進行分類以方便用戶查詢,再到近年來以 為代表的搜索引擎的出現。雖然搜索引擎極大地方便了人們獲取信息的方式,但是依然存在不足。比如,當用戶無法用一些關鍵詞準確描述自己的需求時,搜索引擎就無能為力了。而且對于互聯網信息的內容提供商來說,搜索引擎也不能幫助他們主動地把自己的內容傳播給目標人群。推薦系統的出現彌補了搜索引擎的不足。從用戶的角度出發,搜索引擎是一個 拉 (pull)模型,即用戶主動地查找自己感興趣的信息,而推薦系統是一個 推 (push)模型,即系統根據用戶的歷史行為記錄,推薦新的信息給用戶。一個好的推薦系統,非常重要的一步就是對用戶的興趣進行建模 。常用的方法是根據用戶的

3、歷史行為數據對用戶興趣進行建模。用戶的歷史行為數據可以是用戶的在線購買記錄,搜索記錄等。這些數據存在許多缺點。首先,數據的形式比較單一,只能反應用戶的購買喜好,或者搜索喜好,并不能全面地描述用戶的興趣。其次,這些數據更新緩慢,反應的是用戶過去的興趣。而我們相信,用戶的興趣可能是經常變化的。而且對于一個新的用戶,在沒有歷史行為數據的情況下,推薦系統就無法正常工作,這也稱為冷啟動(cold start)問題 。另外一種獲取用戶興趣的方式是讓用戶直接輸入一些關鍵詞列表來描述用戶的興趣。但是通常情況下,用戶并不愿意參與其中。并且,用戶可能不能完整地描述自己的興趣。另外,由于用戶的興趣會隨時間經常變化,

4、這就需要用戶不停地更新關鍵詞列表。這些局限性大大降低了用戶體驗,也會影響推薦系統的質量。微博作為一種新興的社交網絡和信息分享、傳播方式,在最近幾年變得尤為流行。常用的微博服務,比如國外的 ,國內的新浪微博,騰訊微博等,都有上億的注冊用戶。 最初的理念就是,讓用戶能夠更加簡單地與好友、家人分享自己正在做什么 。實際中,用戶不僅使用微博發布 我正在做什么 之類的信息,還用它來與好友交流,轉播突發的一些新聞事件,對某件事發表自己的觀點,甚至在危險的時候作為一種求救的方式 。微博更像是傳統博客與社交網絡的一個結合體。微博服務的一個重要特性就是它的實時性。比如,傳統的博客用戶可能每過幾天會更新一次博客的

5、內容。而微博用戶經常會在一天內發布多條微博內容。而且用戶發布的微博內容大部分都是跟用戶每天的活動相關。因此,微博內容可以被看做是基于人的信息聚合種子(RSS Feed) 。微博的這些特性讓我們有了新的途徑去獲取用戶的實時興趣。與傳統的獲取用戶興趣的方法相比,微博提供了更海量,更實時的數據。如何有效地從用戶的微博數據中挖掘出用戶的實時興趣,對于提高個性化推薦的質量,提高用戶體驗,都具有重要意義。1.2 本文(bnwn)研究內容本文(bnwn)主要對從微博數據集上分析用戶興趣并進行個性化推薦的過程中的一些關鍵問題進行分析(fnx)和探索:1.2.1 使用外部知識庫對微博文本進行語義豐富針對微博文本

6、內容都比較短,語義信息不夠充分的特點,我們提出使用在外部知識庫上建立的主題模型分析微博內容,從而對短文本的微博內容進行語義上的豐富。這樣也避免了直接在微博數據上構建主題模型時,主題數目不容易確定的缺點。1.2.2 過濾不能體現用戶興趣的微博用戶使用微博的目的多樣,因此并不是每條微博都能體現用戶興趣。那些不能體現用戶興趣的微博,會對基于詞袋的模型,包括主題模型等,產生負面的影響。我們稱這些微博為噪音微博。我們從多個方面分析了識別一條微博是否是噪音微博的特征,并使用樸素貝葉斯分類器和支持向量機分類器過濾掉這些噪音微博。1.2.3 用時間加權的主題分布表示用戶興趣我們認為用戶的興趣并不是一成不變的,

7、而是隨時間變化的。因此,我們在用戶興趣的表達上,加上的時間的維度。并基于此描述了分析用戶興趣及個性化推薦的方法。2. 基于微博的用戶興趣分析及信息推薦方法研究21概述微博服務作為目前主流的信息傳播媒介,越來越多的用戶每天在上面發布自己的狀態,分享信息,表達自己的觀點、想法和意圖。這使得微博服務成為一個有用的、信息量巨大的數據源,用來挖掘分析用戶的興趣。根據從微博數據中分析得到的用戶興趣,我們可以給用戶推薦他們感興趣的新聞、團購信息等。本文針對微博的特點,提出了從微博數據中分析用戶興趣并建模的方法,然后使用挖掘出的用戶興趣,推薦個性化信息給用戶。本文的工作分為三個主要部分。首先是微博數據中噪音微

8、博的過濾,過濾掉那些跟用戶興趣無關的微博數據。然后,對過濾后的微博數據進行主題分析。考慮到微博內容一般比較短,因此本文使用維基百科作為知識庫進行語義擴充,通過主題模型分析用戶興趣。同時考慮到用戶興趣會隨時間經常變化的特點,提出了使用時間加權的主題分布來建模用戶興趣。最后,使用挖掘得到的用戶興趣,向用戶推薦個性化信息。22噪音(zoyn)微博的過濾每個用戶使用微博服務的方式不同。用戶使用微博服務主要用來記錄自己每天的活動,分享新聞及他們對新聞的評論,與好友聊天等 。還有很多用戶經常發布一些笑話等娛樂內容。因此,并不是每條微博都能體現用戶的興趣。但是,之前的很多研究,都是根據用戶發布的所有微博,使

9、用詞包模型分析用戶興趣 。這樣,那些與用戶感興趣的主題不相關的微博數據,就成為了噪音數據,嚴重影響了分析結果的準確度。因此,本文提出在使用微博數據分析用戶興趣之前,先對微博數據進行過濾(gul),去除那些與用戶興趣不相關的微博。噪音微博的過濾可以看做一個二分類問題,即一條微博與用戶興趣的表達(biod)相關或者不相關。本文使用兩種經典的文本分類方法,樸素貝葉斯和支持向量機,分別采用不同的特征,訓練得到兩個分類器。然后對這兩個分類器以線性加權的方式組合成聯合分類器,解決這個二分類問題。2.2.1 構建樸素貝葉斯分類器對于樸素貝葉斯分類器,我們采用一元語言模型作為特征進行訓練。樸素貝葉斯分類器的訓

10、練非常簡單。每條微博看做一篇文檔。首先人工標注若干微博數據,分別標注為 相關 或 不相關 ,得到訓練集。然后,在訓練集上,估計出 P(tk|c) 的概率以及 P (c) 的概率。P (c) 即訓練集中,屬于類別 c 的文檔個數占總文檔數的比值。P(tk|c) 的計算方法為其中,Tctk表示單詞 tk出現在屬于類別 c 的文檔中的次數,|Vc| 表示類別 c 中出現的所有單詞的個數??紤]到訓練集的有限性,不能覆蓋所有的詞,因此本文采用加一平滑操作 。從訓練集上得到 P(tk|c) 和 P (c) 的值后,就可以使用公式 對每個微博進行分類,判斷每條微博是否是與用戶的興趣有關的。2.2.2 構建支

11、持向量機分類器基于樸素貝葉斯的分類器把微博中的每個詞作為特征,進行分類??紤]到微博數據的特殊性,每條微博的字數都比較少,數據比較稀疏,這影響了樸素貝葉斯分類器的精度。為了提高分類的精度,本文考慮到微博服務中不僅包含文本數據,還有很多其他豐富的數據資源,比如用戶與用戶之間組成的社會關系網,微博的一些特殊語法等,做為分類依據。本文主要從四個方面抽取微博特征:1、微博本身的特征譬如該微博是否包含標簽,是否包含 等。包含標簽或者 的微博通常涉及的是用戶關注的話題。2、社會(shhu)關系網特征譬如該微博是否被好友轉發,被好友評論的次數等。因為我們認為,能夠(nnggu)體現用戶興趣的微博,也同樣會得到

12、好友的關注。3、時間(shjin)特征譬如微博發布日期是一周中的星期幾,是一天中的幾點鐘。我們認為,用戶可能經常會在一天中的某個時間段發布一些與用戶興趣無關的微博,而在另外一些時間段發布一些與興趣相關的微博。比如,一個上班族很可能在每天中午的時候會經常發布一些類似 我好困啊 之類的微博,而在周末的時候可能會經常發布一些 海賊王真好看 之類的微博。4、用戶的自然屬性特性譬如用戶的年齡、性別、教育情況、目前職業等本文用來訓練支持向量機分類器的特征總結如表 所示。23用戶興趣分析2.3.1用戶興趣的表示用戶興趣的表示是個性化信息推薦、過濾等任務的一個非常重要的環節,它直接關系到后續任務效果的好壞。但

13、是由于影響用戶興趣的因素眾多,如性別,年齡,性格等,因此很難從各個維度完整地描述用戶興趣。同時,用戶的興趣經常變化,這給用戶興趣的表達帶來了進一步的難度(nd)。最基本的用戶興趣表示方法是用一組關鍵詞來表達。這些關鍵詞可以是用戶手動輸入的,也可以是從用戶的一些線上行為,如發表的微博、評論等,通過 等文本處理技術挖掘得到的 。一些商品推薦系統則是通過用戶的自然屬性,如性別,年齡,身份等信息來刻畫用戶興趣,或者通過用戶之前購買過的商品組成的向量構建用戶興趣。其他一些用戶興趣的表達方式有使用微博中的標簽 ,或者用維基百科中的層次分類 。這些方式都能在一定程度上反應用戶的興趣,但是都有一定的局限性,要

14、么局限于 詞 的層面,要么不能表達用戶興趣多樣性這樣一個特點。而且,這些表達方法都沒有考慮到用戶興趣會隨時間變化的特點。本文針對微博的特點,提出使用時間加權的主題分布來表達用戶興趣(xngq)。時間加權的主題分布是一組二元組,每個二元組是由用戶對一個主題感興趣的程度和該主題對用戶的時間權重表示的。形式化地講,假設用戶的興趣可以分為其中(qzhng),(P(k),wt(k) 表示一個時間加權的主題分布二元組。P (k) 表示用戶對主題 k 的感興趣程度,這是從用戶所有的微博歷史數據得到的。直觀上看,如果一個用戶發布的屬于主題 k 的內容越多,計算得到的 P(k) 越大。這樣,如果用戶在一年前發布

15、了很多屬于主題 k 的微博,那么即使最近一年該用戶不再對主題 k 感興趣,P(k) 仍然會很大。為此,wt(k) 就起到了作用。wt(k) 表示主題k 對于用戶 u 的時間權重。用戶討論主題 k 的時間越久遠,wt(k) 就越小。這樣,Interest(u) 就從 主題 維度的層面上描述了用戶隨時間不斷變化的興趣。2.3.2用戶興趣的分析由于每條微博都很短,因此如果直接在微博數據上使用 等主題模型進行分析,勢必會由于數據過于稀疏影響模型的精度 。同時,考慮到可以使用外部知識,比如維基百科等,對微博數據進行語義擴充,因此本文直接在維基百科數據上進行主題分析。然后,把得到的主題模型,再用于分析每個

16、用戶的微博數據。在維基百科等外部知識庫數據上進行 模型的學習和主題分析,與直接在微博數據集上進行 分析,有如下優點。1、可以彌補微博的文本較短,不能有效分析出有用信息的缺點。2、學習到的主題模型可以方便地應用于微博數據上,同時能起到對微博內容進行語義擴充的功能。3、在對微博用戶進行個性化信息推薦的時候,可以用同樣的方法把學習到的 模型應用于信息源中。這樣,可以用一個統一的主題模型進行用興趣分析和個性化推薦,不用再訓練多個主題模型,使得該算法更簡潔,更高效。同時,用戶興趣主題分布與信息源中每篇文檔的主題分布來自同一個主題模型,可以很方便地進行相似度的計算。使用 模型對維基百科數據進行主題分析相對

17、比較簡單。把維基百科中的每個詞條看做一篇文檔,然后使用公式 迭代直到(zhdo)收斂,就可以得到維基百科數據的主題分布。同時還可以得到兩個矩陣 CWT和 CDT,分別表示在維基百科數據中,單詞 w 分配到主題 t 的次數,和主題 t 被分配到文檔 d 中某個單詞的次數。根據這兩個矩陣(j zhn),就可以使用公式 和 計算得到 和 ,即每個主題在單詞維度上的概率分布,以及每篇文檔(維基百科的一個(y )詞條)在主題維度上的概率分布。對于分析用戶的微博數據來說,我們并不關心每個詞條在主題維度上的概率分布,只需要每個主題在單詞維度上的概率分布。有了 CWT和,以及模型的參數 和 ,我們就可以對任意

18、一個新的文檔d,得到它的主題分布。對于文檔 d,首先使用吉布斯采樣的方法,計算出文檔d 中每個主題出現的次數,用向量 V 表示。采樣的過程如圖 。第 i 次迭代中,計算第 n 個詞所屬的主題時,依賴于第 i 次迭代時,前 n 1 個詞被分配的主題,以及第 i 1 次迭代時,第n + 1 N 個詞被分配的主題。圖 3-124個性化信息推薦個性化信息推薦就是在一堆文本信息源中,找出用戶感興趣的文本,推薦給用戶。形式化地講,給定一個用戶的興趣,表示為一個特征向量 V (u),另外有 N 個候選文檔,每個文檔也在相同的特征空間表示為一個特征向量,即N = V (n1), V (n2), ., V (n

19、n)。個性化推薦算法通過計算 V (ni) 與 V (u) 的相似度,對這 N 個文檔進行排序,返回相似度最大的前 K 個文檔。最簡單且常用的相似度的計算方法是求兩個向量的余弦值。即本文中,用戶興趣 V (u) 的表示方法是時間加權的主題分布。因此,我們把候選的文本也表示為主題分布的形式,這很簡單。對于一個候選文本 d,只需要使用(shyng)算法 和公式 即可得到該文本的主題分布。為了描述方便,我們給出一些形式化表示。用戶興趣可以表示為V (u) = (Pu(ki), w(ki)| f or i = 1 T 候選(hu xun)文檔 d 的特征向量表示為V (d) = Pd(ki)| f o

20、r i = 1 T 其中(qzhng) T 表示主題的個數,Pu(ki) 表示在用戶興趣在主題上的概率分布,Pd(ki) 表示文檔 d 在主題上的概率分布。要計算 V (u) 和 V (d) 之間的相似度,可以通過計算它們在主題 k 上的概率分布距離得到。衡量兩個概率分布 p 和 q 的距離的常用方法是Kullback Leibler差異(KL divergence),即這是一個非負函數,當對所有的 j 都滿足 pj= qj時,該函數等于0。該函數是非對稱的。我們可以把它變為對稱的形式為由此,我們定義 V (u) 和 V (d) 之間的相似度計算方法為對于每個候選文檔 d,使用公式 計算它與用

21、戶興趣之間的相似度。然后按相似度大小排序,選取前面文檔的推薦給用戶即可。3. 實驗結果與結果分析3.1主題模型的構建3.1.1 實驗設計主題(zht)模型的構建是指在維基百科數據上用LDA模型進行主題分析,最終得到(d do)每個主題在詞空間上的概率分布。我們使用的是中文維基百科2013年12月20號的數據庫鏡像文件2。去除掉了那些沒有實際意義的分類下的詞條,以及(yj)正文少于100個字的詞條。然后,對剩下的詞條進行LDA分析,得到主題模型。3.1.2 實驗結果及分析主題模型的構建中,一個非常重要的問題就是如何確定主題數目。目前,還沒有比較有效的方法來確定主題數目。49等提出使用貝葉斯方法,

22、但是我們依然使用經驗假定方法。即不斷枚舉主題的數目來觀察實驗結果的好壞,比如觀察高概率的主題詞匯、語義是否一致等。經過試驗,最終我們確定分為 100個主題。圖 4-4顯示了分配到每個主題中的單詞的個數。從該圖可以看出,分配到每個主題中的單詞數還是比較均勻的,每個主題中的單詞數在1000到5000之間。這也間接說明,把中文維基百科數據分為 100個主題是比較合理的。圖4-5 顯示了在每個主題 k 中,P(w|k) = 0.001 的那些詞,占分配到該主題 k 中所有詞的比率。從圖中可以看出,平均每個主題都有 30% 40%的詞滿足屬于該主題的概率大于等于 0.001。我們從這100個主題中隨機挑

23、選了5個主題,表4-2展示了這5個主題中,每個主題中出現概率最高的10個詞,以及每個詞出現的概率。從這些主題在單詞空間上的概率分布可以看出,同一個主題下面的詞語(cy)都有比較明顯的語義關聯性,主題與主題之間也很少有重疊的情況。3.2 興趣(xngq)抽取和個性化推薦3.2.1 實驗設計由于用戶興趣分析結果的好壞都具有很強的主觀性,并且目前沒有公開的中文測試(csh)集,因此,我們采用類似 中的實驗方法。我們選取了三個新浪微博用戶,分析他們的興趣,比較這三種算法的結果。在這三個用戶中,其中兩個是選取的公眾人物,分別是 李開復 和 姚晨 。選取這兩個人是因為他們的微博主題比較集中,比較容易驗證。

24、另外隨機選取了一個匿名普通用戶,以研究算法的泛化能力。另外(ln wi),我們還隨機從Google新聞(xnwn) 上面抓取了100個新聞頁面,這些新聞內容屬于 財經,科技,體育,娛樂(yl),健康,政治,社會等7個分類,每個分類下面有10篇左右的新聞。3.2.2 非負矩陣分解非負矩陣分解(Non-negation Matrix Factorization)是D.D.Lee 和H.S.Seung等提出。它與主成分分析(PCA),奇異值分解(SVD)等類似,都是通過尋求對原始矩陣的分解,得到原始矩陣的低維近似。但是,與這些矩陣分解算法不同,非負矩陣分解克服了傳統矩陣分解的許多問題。它通過尋求上下

25、文有意義的解決方法,提供解釋數據的更深層的看法。傳統的矩陣分解,分解出的矩陣可能存在負的元素。而非負矩陣分解保證分解出的兩個矩陣的元素都是非負的。這在現實的應用中有很多例子。例如,數字圖像中的像素一般是非負的,文本分析中的單詞頻率也是非負的。NMF可以形式化地表示為3.2.3 實驗結果及分析這三種算法根據李開復的微博內容,推薦的前20篇新聞所屬的類別如4-6圖 所示。從圖4-6中可以看出,這三種方法都比較集中地推薦了屬于 科技 分類下面的新聞,另外比較多的分類的是 財經 、 娛樂 。而我們的算法推薦的新聞中屬于 科技 類的新聞的比例更多,其他分類如 體育 , 社會 等基本沒有。通過人工分析李開

26、復微博的內容,我們發現他的微博中有討論到這方面的內容,但是時間比較早,或者只提到了很少的幾次。因此,在我們的算法中,由于使用了時間權重,使得屬于這兩個分類下的新聞的得分會比較低。這說明我們的算法能更好地發現用戶實時的興趣。圖4-7是三個算法對姚晨的微博進行分析后推薦的結果。圖4-8是三個算法對匿名用戶 進行分析后推薦的結果。匿名用戶A的微博內容主要是轉發一些娛樂信息,籃球和足球比賽,和自己的一些日?;顒印膱D4-8中可以看出,NMF算法和PrimaryLDA 算法推薦的新聞沒有一個比較明確的分類,每個分類下面都會有一些。而我們的算法的推薦結果則比較集中于體育類別。造成這種結果的原因可能有以下兩個方面組成:1、與前面的兩個公眾人物,李開復和姚晨,發布的微博數量相比,匿名用戶A的微博數量很少。李開復和姚晨分別發布了6000多條和8000多條的微博,而用戶A只發布了100多條。這造成微博中包含的信息不足。而我們的算法則可以利用維基百科提供的外部知識進行擴展。2、與兩個公眾人物(rnw)的微博相比,用戶A的所有(suyu)微博中有很多與個人興趣不相關的微博。這對NMF算法(sun f)和PrimaryLDA算法造成了一定的干擾。而我們的算法由于

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論