林夢(mèng)迪
摘要:微博作為當(dāng)下最受歡迎的社交網(wǎng)絡(luò)之一,包含了大量的用戶需求和興趣偏好信息,如何動(dòng)態(tài)地從微博內(nèi)容中提取用戶的需求和偏好信息,將推薦算法結(jié)合社交網(wǎng)絡(luò)產(chǎn)生推薦結(jié)果,解決信息過(guò)載的問(wèn)題,目前暫時(shí)還沒(méi)有相關(guān)的較為成熟的應(yīng)用。本文設(shè)計(jì)并實(shí)現(xiàn)了基于社交網(wǎng)絡(luò)的物品推薦系統(tǒng),提取用戶微博內(nèi)容關(guān)鍵詞作為用戶需求特征,建立物品信息庫(kù),通過(guò)文本相似度計(jì)算用戶需求和物品信息之間的匹配度,采用基于內(nèi)容的推薦算法產(chǎn)生推薦結(jié)果。最后進(jìn)行離線實(shí)驗(yàn),對(duì)推薦系統(tǒng)產(chǎn)生的推薦結(jié)果進(jìn)行評(píng)測(cè)分析。
關(guān)鍵詞:社交網(wǎng)絡(luò);用戶需求;基于物品推薦算法;微博
中圖分類(lèi)號(hào):TP393 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)24-0260-03
Abstract: Microblog is one of the most popular social networks, containing plenty of information of users preference and needs. However, there are still no mature applications to extract the information of users preference and needs from microblogs and combine those with recommendation algorithms to recommend items. Thus, this paper proposes and implements a recommendation system for social networks. First of all, users content of weibo was crawled and keywords were extracted as characteristics of users needs. Next, an item repository was built with specific characteristics of the items. Using the text similarity algorithm, similarity between users needs and items characteristics can be computed. Then with the content-based recommendation algorithm, we produced recommendation results for users which they may be interested in. At last four offline experiments on the recommendation results were done to evaluate and analyze the performance of this recommendation system.
Key words:social networks; users interests; content-based recommendation algorithm; Microblog
1 背景
近年來(lái),社交網(wǎng)絡(luò)的發(fā)展引人注目。目前據(jù)百度百科的統(tǒng)計(jì),約有一半以上的中國(guó)網(wǎng)民通過(guò)社交網(wǎng)絡(luò)進(jìn)行溝通交流、分享信息。據(jù)尼爾森2010年的報(bào)告,全球用戶在互聯(lián)網(wǎng)上22%的時(shí)間花費(fèi)在社交網(wǎng)站和社交媒體上[1]。通過(guò)社交網(wǎng)絡(luò)不僅可以很好地獲取用戶社交關(guān)系,并且允許用戶公開(kāi)地展現(xiàn)自己,表達(dá)用戶個(gè)人興趣,對(duì)于研究個(gè)性化推薦系統(tǒng)具有很好的價(jià)值。本文利用社交網(wǎng)絡(luò)信息對(duì)用戶進(jìn)行個(gè)性化物品推薦。
目前流行的推薦算法主要有基于內(nèi)容的推薦算法[2]、協(xié)同過(guò)濾推薦算法[3]和混合推薦算法等。本文采用基于內(nèi)容的推薦算法,其不需要獲取大量的用戶評(píng)分?jǐn)?shù)據(jù),因此不存在評(píng)分?jǐn)?shù)據(jù)稀疏性問(wèn)題;對(duì)于新物品,一旦提取新物品的特征建立物品配置文件后即可向相似用戶進(jìn)行推薦,解決了新物品的冷啟動(dòng)問(wèn)題;并且易于實(shí)現(xiàn)自動(dòng)化提取物品特征算法。
2 基于社交網(wǎng)絡(luò)的物品推薦系統(tǒng)設(shè)計(jì)
2.1 系統(tǒng)框架
本文基于騰訊微博獲取用戶的需求與興趣并進(jìn)行物品推薦,設(shè)計(jì)整體框架如圖1所示。通過(guò)爬蟲(chóng)[4]爬取騰訊微博較為簡(jiǎn)便,IP地址不容易被封鎖,能夠快速爬取大量用戶數(shù)據(jù)。
在用戶需求發(fā)現(xiàn)階段,首先通過(guò)爬蟲(chóng)根據(jù)API爬取大量用戶的微博內(nèi)容,存儲(chǔ)到數(shù)據(jù)庫(kù)中。然后對(duì)每一個(gè)用戶的所有微博內(nèi)容提取關(guān)鍵詞作為每一個(gè)用戶的需求模型,構(gòu)成了用戶特征庫(kù)。
在物品推薦階段,首先根據(jù)淘寶網(wǎng)站上的物品信息,提取部分物品特征構(gòu)建適用于本文的物品信息庫(kù),計(jì)算物品信息與用戶需求之間的相關(guān)性,將計(jì)算結(jié)果進(jìn)行排序產(chǎn)生推薦結(jié)果,完成第二階段的物品推薦。
2.2 建立用戶特征庫(kù)
對(duì)一個(gè)用戶的所有獲取到的微博內(nèi)容提取關(guān)鍵詞[5]用以表示該用戶的特征。本文采用基于TF-IDF的自動(dòng)文本關(guān)鍵詞提取算法[6]。
由于中文文本沒(méi)有顯示的詞邊界,增加了關(guān)鍵詞提取的難度。本課題調(diào)用jieba中文分詞模塊,對(duì)單個(gè)用戶的所有微博內(nèi)容進(jìn)行分詞。jieba分詞模塊通過(guò)構(gòu)建Trie前綴樹(shù)實(shí)現(xiàn)高效的詞圖掃描,生成語(yǔ)句中漢字所有可能成詞情況所構(gòu)成的有向無(wú)環(huán)圖;同時(shí)采用了動(dòng)態(tài)規(guī)劃查找最大概率路徑,找出基于詞頻的最大切分組合。然后使用TF-IDF算法對(duì)分詞后的單詞計(jì)算TF-IDF值,選取值最高的TOP k個(gè)單詞作為用戶微博內(nèi)容的關(guān)鍵詞進(jìn)行存儲(chǔ),用以表示該用戶的特征。
2.3 建立物品信息庫(kù)
根據(jù)淘寶物品數(shù)據(jù)構(gòu)建物品信息,主要包括物品的名稱(chēng)、類(lèi)別屬性、物品描述、物品標(biāo)簽等信息。其中,物品描述主要是對(duì)物品功能、特征、結(jié)構(gòu)等特性方面的描述。與用戶特征庫(kù)類(lèi)似,物品信息同樣以關(guān)鍵詞表示。
2.4 基于內(nèi)容的推薦算法
基于內(nèi)容的推薦算法通過(guò)獲取物品的描述對(duì)物品建立配置文件,同時(shí)通過(guò)顯示或隱式的方式獲取用戶的興趣偏好描述對(duì)用戶建立用戶配置文件,然后比較用戶和物品配置文件之間的匹配度,向用戶推薦與其配置文件相似度最高的物品。本文分別采用文本相似度進(jìn)行相似度匹配。
文本相似度采用余弦相似度的方法,其基本思路是參照了向量的余弦定理,見(jiàn)公式1所示。
根據(jù)用戶特征庫(kù)和物品信息庫(kù),分別列出關(guān)鍵詞詞頻向量。計(jì)算兩個(gè)向量的余弦相似度,值越大則表示兩個(gè)詞頻向量之間的夾角越小,也就說(shuō)明用戶的特征和物品的描述越相似。
依據(jù)上述文本相似度計(jì)算物品和用戶特征之間是否匹配,對(duì)于一個(gè)用戶,遍歷物品信息庫(kù)中的所有物品信息,計(jì)算和該用戶之間的相似度并對(duì)計(jì)算結(jié)果進(jìn)行排序,選取其中相似度最高的k個(gè)物品,生成推薦列表向用戶進(jìn)行推送推薦結(jié)果。
3 實(shí)驗(yàn)評(píng)估
本課題采用離線實(shí)驗(yàn)方法,根據(jù)推薦結(jié)果的準(zhǔn)確率、召回率、覆蓋率和多樣性4個(gè)評(píng)測(cè)指標(biāo)進(jìn)行評(píng)測(cè)和性能分析。
3.1 實(shí)驗(yàn)基礎(chǔ)
對(duì)一個(gè)用戶進(jìn)行物品推薦,最終可能的結(jié)果有4種:系統(tǒng)推薦給用戶且用戶很喜歡,系統(tǒng)推薦給用戶但是用戶不喜歡,用戶喜歡但是系統(tǒng)沒(méi)有推薦,用戶不喜歡且系統(tǒng)沒(méi)有推薦,如表1所示。
3.2 準(zhǔn)確率評(píng)測(cè)
通過(guò)爬蟲(chóng)一共抓取了31965個(gè)用戶的微博內(nèi)容,對(duì)這些用戶用余弦相似度進(jìn)行物品推薦,在產(chǎn)生推薦結(jié)果的用戶中隨機(jī)挑選10000個(gè)用戶作為測(cè)試集,驗(yàn)證相似度算法產(chǎn)生的推薦結(jié)果的準(zhǔn)確性。評(píng)測(cè)結(jié)果如表2和圖3所示。
從實(shí)驗(yàn)數(shù)據(jù)可以看出,余弦相似度算法通過(guò)詞語(yǔ)出現(xiàn)的向量頻率計(jì)算用戶特征關(guān)鍵詞和物品信息之間的相似度,因此產(chǎn)生的推薦結(jié)果準(zhǔn)確率較高。
3.3 召回率評(píng)測(cè)
根據(jù)公式(3)計(jì)算余弦相似度算法產(chǎn)生的推薦結(jié)果的召回率,計(jì)算結(jié)果如表3所示。
3.4 覆蓋率評(píng)測(cè)
根據(jù)公式(4)計(jì)算余弦相似度算法產(chǎn)生的推薦結(jié)果的覆蓋率,計(jì)算結(jié)果如表4所示。
從上述數(shù)據(jù)可以看出當(dāng)用戶數(shù)量較小的時(shí)候,余弦相似度由于存在一些用戶微博內(nèi)容沒(méi)有提到任何物品的信息,因此產(chǎn)生的推薦結(jié)果覆蓋率較低,但當(dāng)用戶數(shù)量較大時(shí),推薦結(jié)果可達(dá)到100%。
3.5 多樣性評(píng)測(cè)
根據(jù)公式(5)計(jì)算余弦相似度算法產(chǎn)生的推薦結(jié)果的多樣性,計(jì)算結(jié)果如表5所示。
4 總結(jié)與展望
以騰訊微博作為基礎(chǔ),爬取用戶的微博內(nèi)容并提取關(guān)鍵詞作為用戶的特征信息;根據(jù)淘寶的物品屬性建立物品信息庫(kù);最后通過(guò)余弦相似度算法計(jì)算用戶特征和物品信息之間的相似度,產(chǎn)生相應(yīng)的推薦列表,并且利用真實(shí)微博數(shù)據(jù),評(píng)測(cè)準(zhǔn)確率、召回率、覆蓋率和多樣性等標(biāo)準(zhǔn),對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行分析。本文提出的基于社交網(wǎng)絡(luò)進(jìn)行物品推薦的方法被證明具有實(shí)用價(jià)值和實(shí)際意義。
在本文基礎(chǔ)上,考慮用戶微博情感內(nèi)容以及好友之間的信任度等,這些都是將來(lái)需要繼續(xù)深入研究的方向。
參考文獻(xiàn)
[1] 項(xiàng)亮. 推薦系統(tǒng)實(shí)踐[M]. 北京. 人民郵電出版社, 2012:44-64.
[2] Pazzani M J, Billsus D. Content-based recommendation systems[M]//The adaptive web.Springer Berlin Heidelberg, 2007: 325-341.
[3] Resnick P, Iacovou N, Suchak M, et al. GroupLens: an open architecture for collaborative filtering of netnews[C]//Proceedings of the 1994 ACM conference on Computer supported cooperative work. ACM, 1994: 175-186.
[4] 徐遠(yuǎn)超, 劉江華, 劉麗珍, 等. 基于 Web 的網(wǎng)絡(luò)爬蟲(chóng)的設(shè)計(jì)與實(shí)現(xiàn)[J]. 微計(jì)算機(jī)信息, 2007 (21): 119-121.
[5] Mihalcea R, Tarau P. TextRank: Bringing order into texts[C]//Proceedings of EMNLP. 2004, 4(4): 275.
[6] Ramos J. Using tf-idf to determine word relevance in document queries[C]//Proceedings of the First Instructional Conference on Machine Learning. 2003.
[7] Yuan X, Wu P. Content-Based Recommendation Model in Micro-blogs Community[C]//Management of e-Commerce and e-Government (ICMeCG), 2012 International Conference on. IEEE, 2012: 165-168.
[8] 劉建國(guó),周濤,汪秉宏. 個(gè)性化推薦系統(tǒng)的研究進(jìn)展[J]. 自然科學(xué)進(jìn)展,2009,19(1):1-15.
[9] Guo W, Hu X, Zhou K, et al. An intelligent query system based on Chinese short message service for restaurant recommendation[C]//Management of Mobile Business, 2007. ICMB 2007. International Conference on the. IEEE, 2007: 60-60.