国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于協(xié)同過(guò)濾算法的用戶喜好研究

2017-07-20 13:08嚴(yán)春燕戴仕明
計(jì)算機(jī)時(shí)代 2017年7期
關(guān)鍵詞:相似度協(xié)同過(guò)濾數(shù)據(jù)采集

嚴(yán)春燕+戴仕明

摘 要: 互聯(lián)網(wǎng)產(chǎn)生的海量信息帶來(lái)了“信息超載”的問(wèn)題。文章基于協(xié)同過(guò)濾算法對(duì)用戶喜好進(jìn)行了研究。闡述了協(xié)同過(guò)濾的基本思想,對(duì)用戶喜好數(shù)據(jù)的采集及預(yù)處理過(guò)程進(jìn)行了研究;在數(shù)據(jù)分析過(guò)程中提出幾種常用的計(jì)算相似度的方法并進(jìn)行了比較;研究了協(xié)同過(guò)濾算法的兩個(gè)分支的不同適用場(chǎng)景,并與基于內(nèi)容的算法進(jìn)行比較,對(duì)現(xiàn)有算法存在的不足提出了改進(jìn)。

關(guān)鍵詞: 協(xié)同過(guò)濾; 用戶喜好; 數(shù)據(jù)采集; 預(yù)處理; 相似度

中圖分類(lèi)號(hào):TP391.9 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1006-8228(2017)07-56-04

Research on user preferences using collaborative filtering algorithm

Yan Chunyan1, Dai Shiming2

(1. College of Computer and Information, Jiangxi Agricultural University, Nanchang, Jiangxi 330045, China;

2. College of Software, Jiangxi Agricultural University)

Abstract: The massive information generated by the Internet brings the problem of "information overload". This paper studies user preferences by using collaborative filtering algorithm; Describes the basic idea of collaborative filtering, and studies the acquisition and pretreatment of user preference data; in the process of data analysis, several common used similarity algorithms are proposed and compared; the two branches of the collaborative filtering algorithm in different applicable scenes are studied, and compared with the content-based algorithm to improve the existing algorithms.

Key words: collaborative filtering; user preferences; data acquisition; pretreatment; similarity

0 引言

隨著互聯(lián)網(wǎng)的快速發(fā)展,數(shù)據(jù)信息正在成指數(shù)量級(jí)增長(zhǎng),而用戶很難從中找到自己感興趣的內(nèi)容,這就形成了“信息超載(Information overload)[1]”的問(wèn)題。為了很好地解決用戶需求與互聯(lián)網(wǎng)龐大的數(shù)據(jù)之間的矛盾,推薦算法是解決這個(gè)矛盾的主要技術(shù)。

協(xié)同過(guò)濾算法[2]是目前最廣泛應(yīng)用的算法。協(xié)同過(guò)濾算法常被用于分析用戶潛在感興趣的物品,這些依據(jù)來(lái)自于其他相似用戶對(duì)產(chǎn)品的喜好分析。簡(jiǎn)單來(lái)說(shuō)就是:物以類(lèi)聚,人以群分。

1 協(xié)同過(guò)濾的基本思想

協(xié)同過(guò)濾算法最早出現(xiàn)于1992年,被用于郵件過(guò)濾系統(tǒng),是目前較為流行的推薦算法。協(xié)同過(guò)濾具有預(yù)測(cè)和推薦的功能,協(xié)同過(guò)濾算法的出現(xiàn)標(biāo)志著推薦系統(tǒng)的產(chǎn)生。協(xié)同過(guò)濾也被認(rèn)為是集體智慧[2]的典范,不需要對(duì)項(xiàng)目進(jìn)行特別處理,而是通過(guò)用戶建立起物品與物品之間的聯(lián)系,喜歡相同物品的用戶之間更有可能具有相同的喜好。協(xié)同過(guò)濾算法分為兩類(lèi),一類(lèi)是基于用戶(User-based)的協(xié)同過(guò)濾算法,另一類(lèi)是基于物品(Item-based)的協(xié)同過(guò)濾算法。

1.1 基于用戶的協(xié)同過(guò)濾算法

基于用戶的協(xié)同過(guò)濾算法[3]的基本原理是根據(jù)所有用戶對(duì)物品的評(píng)分,發(fā)現(xiàn)與當(dāng)前用戶喜好相似的其他用戶,在應(yīng)用中一般采用K-最近鄰(K-Nearest-

Neighbor,KNN)算法[4],然后,基于這些相似用戶的喜好信息,為當(dāng)前用戶進(jìn)行推薦。這個(gè)算法主要包括兩步:

⑴ 找到和當(dāng)前用戶喜好相似的用戶集,計(jì)算兩個(gè)用戶的喜好相似度;

⑵ 找到這個(gè)用戶集中用戶喜歡的,且當(dāng)前用戶沒(méi)有聽(tīng)說(shuō)過(guò)的物品推薦給當(dāng)前用戶。

1.2 基于物品的協(xié)同過(guò)濾算法

基于物品的協(xié)同過(guò)濾算法[5]的基本原理是根據(jù)用戶的所有歷史喜好數(shù)據(jù)來(lái)計(jì)算物品的相似度,然后把與用戶喜歡的物品相似的物品推薦給用戶。這個(gè)算法主要包括兩步:

⑴ 計(jì)算物品之間的相似度;

⑵ 根據(jù)物品的相似度和用戶的歷史行為給用戶推薦物品。

2 數(shù)據(jù)采集及預(yù)處理過(guò)程

2.1 數(shù)據(jù)采集的方式

用戶喜好數(shù)據(jù)的采集可以從下面表1這幾種用戶行為方式中發(fā)現(xiàn)用戶喜好,并通過(guò)分組和加權(quán)這兩種不同的組合方式對(duì)用戶行為進(jìn)行處理。

⑴ 以Web日志的方式。從用戶給網(wǎng)站服務(wù)器發(fā)出http請(qǐng)求開(kāi)始,網(wǎng)站服務(wù)器就會(huì)在Log文件中添加一條記錄,記錄遠(yuǎn)程主機(jī)名(或IP地址)、發(fā)送請(qǐng)求的日期、請(qǐng)求返回的狀態(tài)等。隨后網(wǎng)站服務(wù)器會(huì)以http形式將頁(yè)面返回到用戶的瀏覽器內(nèi),之后會(huì)有專(zhuān)門(mén)的處理服務(wù)器對(duì)大量Log文件進(jìn)行處理,產(chǎn)生網(wǎng)站分析報(bào)表,如圖1所示。

[網(wǎng)站服務(wù)器][瀏覽器網(wǎng)頁(yè)][處理服務(wù)器][網(wǎng)站分析報(bào)] [http請(qǐng)求][http形式返回][Log文件]

不同的數(shù)據(jù)采集方式有不同的優(yōu)缺點(diǎn),表2對(duì)三鐘數(shù)據(jù)采集方式的優(yōu)缺點(diǎn)進(jìn)行了詳細(xì)的比較,為各網(wǎng)站開(kāi)發(fā)者在選擇數(shù)據(jù)采集方式時(shí)作為參考。

2.2 數(shù)據(jù)預(yù)處理

大量的原始數(shù)據(jù)中存在著很多模糊的、重復(fù)的、不完整的、有噪聲的數(shù)據(jù),會(huì)嚴(yán)重影響到數(shù)據(jù)分析的執(zhí)行效率,甚至可能導(dǎo)致最后結(jié)果誤差很大,因此,在進(jìn)行數(shù)據(jù)分析之前,需要對(duì)原始數(shù)據(jù)進(jìn)行預(yù)處理,提高數(shù)據(jù)的質(zhì)量。數(shù)據(jù)預(yù)處理主要包括數(shù)據(jù)清理,數(shù)據(jù)集成,數(shù)據(jù)變換與數(shù)據(jù)規(guī)約等技術(shù)。如圖4所示:

3 數(shù)據(jù)分析

3.1 相似度的計(jì)算

預(yù)處理之后,得到了用戶喜好,再通過(guò)用戶喜好來(lái)計(jì)算相似用戶或物品,然后基于用戶或者物品進(jìn)行推薦。基于用戶和基于物品這兩種算法都需要計(jì)算相似度,下面介紹幾種常用的相似度計(jì)算方法:

⑴ 歐幾里得距離

假設(shè)X,Y是n維空間的兩個(gè)點(diǎn),

X=(x1,x2,x3,…,xn);

Y=(y1,y2,y3,…,yn);

則它們的歐幾里德距離:

則相似度,需要在歐幾里得距離上進(jìn)行一個(gè)轉(zhuǎn)換:

⑵ 皮爾遜相關(guān)系數(shù)(Pearson correlation coefficient)

皮爾遜相關(guān)系數(shù)常用于計(jì)算兩個(gè)變量之間的緊密程度,取值在[-1,+1]之間,相關(guān)系數(shù)的絕對(duì)值越大,相關(guān)性越強(qiáng),相關(guān)系數(shù)大于0是正相關(guān),相關(guān)系數(shù)小于0是負(fù)相關(guān)。

假設(shè)X,Y是n維空間的兩個(gè)點(diǎn),

X=(x1,x2,x3,…,xn);

Y=(y1,y2,y3,…,yn);

則它們的皮爾遜相關(guān)系數(shù):

⑶ 余弦相似度(Cosine similarity)

用空間向量中兩個(gè)向量夾角的余弦值,來(lái)表示兩個(gè)向量之間的差異。取值在[-1,1]之間,余弦值越接近1,兩個(gè)向量夾角越小,越相似。

假設(shè)X,Y是兩個(gè)n維向量,

X=(x1,x2,x3,…,xn);

Y=(y1,y2,y3,…,yn);

則它們的余弦相似度:

3.2 基于用戶和基于物品的適用場(chǎng)景

根據(jù)User-based基本原理可以看出User-based更加社會(huì)化,更傾向于推薦相似用戶中的熱點(diǎn)。在新聞?lì)惥W(wǎng)站中,用戶喜好往往是其次,熱門(mén)程度和時(shí)效性是新聞推薦的重點(diǎn),所以User-based給用戶推薦和他有相同喜好的人關(guān)注的新聞,這樣既保證了熱點(diǎn)和時(shí)效性,又兼顧了個(gè)性化。

但在圖書(shū)推薦系統(tǒng)、電子商務(wù)和電影網(wǎng)站等方面,用戶數(shù)量往往遠(yuǎn)遠(yuǎn)大于物品數(shù)量,如果User-based需要消耗更大的空間,此時(shí)基于Item-based能發(fā)揮更大的作用。因?yàn)樵谶@些網(wǎng)站中,用戶的喜好一般比較固定,Item-based能更好地給用戶推薦相似物品,增加用戶對(duì)推薦系統(tǒng)的信任度。

3.3 與基于內(nèi)容算法進(jìn)行比較

基于內(nèi)容算法[6]的核心思想是依據(jù)物品或內(nèi)容的元數(shù)據(jù),再通過(guò)元數(shù)據(jù)尋找物品或內(nèi)容的相似度,然后基于用戶歷史喜好記錄,給用戶推薦相似物品。基于內(nèi)容的算法只考慮了物品本身的性質(zhì),將物品按標(biāo)簽方式形成集合,基于用戶的歷史喜好記錄推薦相似物品,如果你選擇了集合中的一個(gè),則向你推薦集合中的其他物品。而協(xié)同過(guò)濾算法融合了集體智慧的思想,在大量用戶行為中尋找答案,既基于用戶購(gòu)買(mǎi)的歷史記錄,又基于用戶的相似度來(lái)推薦物品,這樣基于協(xié)同算法推薦的精確度就會(huì)更高。

3.4 現(xiàn)有算法的不足以及改進(jìn)

本文的協(xié)同過(guò)濾算法,在實(shí)際推薦系統(tǒng)中存在冷啟動(dòng)問(wèn)題,在基于用戶的協(xié)同過(guò)濾算法中存在用戶活躍度問(wèn)題[7],以及在基于物品的協(xié)同過(guò)濾算法中存在物品流行度問(wèn)題[7]。為解決這三類(lèi)問(wèn)題,提出以下幾種改進(jìn)方法。

對(duì)于冷啟動(dòng)問(wèn)題,可以分為新用戶冷啟動(dòng)問(wèn)題、新物品冷啟動(dòng)問(wèn)題以及新系統(tǒng)冷啟動(dòng)問(wèn)題。

⑴ 對(duì)于新用戶冷啟動(dòng)問(wèn)題,可以把熱門(mén)排行結(jié)果推薦給新用戶,待用戶數(shù)據(jù)充足之后,再進(jìn)行個(gè)性化推薦。

⑵ 對(duì)于物品冷啟動(dòng)問(wèn)題,可以通過(guò)計(jì)算物品內(nèi)容信息來(lái)得到物品相似度,再給用戶推薦與內(nèi)容相似的物品。可以將物品表示成一個(gè)關(guān)鍵詞向量,將這些專(zhuān)有名詞和其他一些重要詞組成關(guān)鍵詞集合,最后對(duì)集合中的關(guān)鍵字進(jìn)行排名,再用TF-IDF公式[8]計(jì)算關(guān)鍵詞的權(quán)重,最后生成關(guān)鍵詞向量。

⑶ 對(duì)于新系統(tǒng)冷啟動(dòng)問(wèn)題,在沒(méi)有用戶行為數(shù)據(jù)和物品內(nèi)容信息計(jì)算相似度的情況下,可以使用專(zhuān)家標(biāo)記的方式。

用戶活躍度問(wèn)題改進(jìn),用戶活躍度能隱式地推斷用戶對(duì)未知物品喜好的可能性。本文定義用戶活躍度與其瀏覽過(guò)的物品數(shù)量成正比,那么活躍度低的用戶產(chǎn)生的用戶行為,對(duì)計(jì)算物品相似度更加有作用,這就需要懲罰用戶的活躍度。

物品流行度問(wèn)題改進(jìn),物品流行度也可以隱式地表示用戶喜好。本文定義物品流行度與瀏覽該物品的用戶數(shù)量成正比,那么冷門(mén)物品被瀏覽更能計(jì)算出用戶的相似度,因此需要懲罰物品的流行度。

4 結(jié)束語(yǔ)

本文從數(shù)據(jù)采集、數(shù)據(jù)預(yù)處理、相似度計(jì)算、算法適用場(chǎng)景這幾方面進(jìn)行了深入的研究,并將基于內(nèi)容算法與協(xié)同過(guò)濾算法進(jìn)行了比較,之后對(duì)現(xiàn)有算法存在的不足進(jìn)行改進(jìn),提高了算法的準(zhǔn)確度和覆蓋率。下一步將研究如何將基于用戶和基于物品的協(xié)同過(guò)濾算法根據(jù)不同的權(quán)重結(jié)合起來(lái),在考慮用戶相似度的同時(shí)也兼顧物品的相似度,以此提高推薦的精確度。

參考文獻(xiàn)(References):

[1] 李書(shū)寧.互聯(lián)網(wǎng)信息環(huán)境中信息超載問(wèn)題研究[J].情報(bào)科學(xué),

2005.10:149-152

[2] 項(xiàng)亮.推薦系統(tǒng)實(shí)踐(第3版)[M].人民郵電出版社,2012.

[3] 榮輝桂,火生旭,胡春華,莫進(jìn)俠.基于用戶相似度的協(xié)同過(guò)濾

推薦算法[J].通信學(xué)報(bào),2014.2:16-24

[4] 余小鵬,周德翼.一種自適應(yīng)k-最近鄰算法的研究[J].計(jì)算機(jī)

應(yīng)用研究,2006.2:70-72

[5] A Collaborative Filtering Recommendation Algorithm

Based on Item and Cloud Model[J]. Wuhan University Journal of Natural Sciences,2011.1:16-20

[6] 陳潔敏,湯庸,李建國(guó),蔡奕彬.個(gè)性化推薦算法研究[J].華南師

范大學(xué)學(xué)報(bào)(自然科學(xué)版),2014.5:8-15

[7] 王錦坤,姜元春,孫見(jiàn)山,孫春華.考慮用戶活躍度和項(xiàng)目流行

度的基于項(xiàng)目最近鄰的協(xié)同過(guò)濾算法[J].計(jì)算機(jī)科學(xué),2016.12:158-162

[8] Belkin N,Croft B. Information filtering and information

re-trieval[J]. Communications of the ACM,1992.35(12):29-37

猜你喜歡
相似度協(xié)同過(guò)濾數(shù)據(jù)采集
改進(jìn)的協(xié)同過(guò)濾推薦算法
模糊Petri網(wǎng)在油田開(kāi)發(fā)設(shè)計(jì)領(lǐng)域的應(yīng)用研究
基于鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的協(xié)同過(guò)濾推薦算法設(shè)計(jì)與實(shí)現(xiàn)
基于相似傳播和情景聚類(lèi)的網(wǎng)絡(luò)協(xié)同過(guò)濾推薦算法研究
基于協(xié)同過(guò)濾算法的個(gè)性化圖書(shū)推薦系統(tǒng)研究
混合推薦算法在電影推薦中的研究與評(píng)述
相似度算法在源程序比較中的應(yīng)用
基于開(kāi)源系統(tǒng)的綜合業(yè)務(wù)數(shù)據(jù)采集系統(tǒng)的開(kāi)發(fā)研究
影響母線負(fù)荷預(yù)測(cè)的因素及改進(jìn)措施
新蔡县| 宜川县| 绍兴县| 梨树县| 张家川| 文安县| 长武县| 靖江市| 施甸县| 乌兰浩特市| 阿克陶县| 信丰县| 施秉县| 元江| 泰兴市| 临颍县| 博爱县| 青神县| 大足县| 凯里市| 浦北县| 灵璧县| 敖汉旗| 当雄县| 南丹县| 哈尔滨市| 临汾市| 庆阳市| 韩城市| 胶州市| 布尔津县| 商城县| 县级市| 乌拉特后旗| 贵定县| 武清区| 溧阳市| 宜丰县| 莱芜市| 阳新县| 拜泉县|