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

?

基于協(xié)同過(guò)濾的歌曲推薦算法研究

2019-01-08 08:37:44王炳祥
關(guān)鍵詞:協(xié)同過(guò)濾

王炳祥

摘要:根據(jù)用戶的歷史聽(tīng)歌記錄挖掘用戶的音樂(lè)偏好,給用戶做出滿意的個(gè)性化歌曲推薦具有重要意義。采用基于用戶的K最近鄰協(xié)同過(guò)濾推薦算法,以網(wǎng)易云1000多份熱門(mén)歌單作為測(cè)試數(shù)據(jù)集,蝦米音樂(lè)用戶聽(tīng)歌行為數(shù)據(jù),在PyCharm集成開(kāi)發(fā)環(huán)境中進(jìn)行實(shí)驗(yàn)研究,并用三種方法對(duì)獲取的歌單推薦結(jié)果進(jìn)行評(píng)估。

關(guān)鍵詞:歌曲推薦;協(xié)同過(guò)濾;KNN

中圖分類(lèi)號(hào):TN391 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-9416(2019)10-0126-02

0 引言

在上世紀(jì)初期的90年代,推薦系統(tǒng)的研究開(kāi)始逐步盛行,它應(yīng)用了認(rèn)知診斷、信息搜索、機(jī)器學(xué)習(xí)等多領(lǐng)域的知識(shí)[1-2]。推薦系統(tǒng)即利用一定的技術(shù)和方法,通過(guò)已有的歷史記錄對(duì)用戶的興趣愛(ài)好建立模型,給用戶推薦滿足其個(gè)性化需求的物品和信息[2]。推薦系統(tǒng)可被看成一種信息過(guò)濾工具,因此,推薦算法也被叫做過(guò)濾算法。根據(jù)過(guò)濾算法的不同,推薦算法可以分為三類(lèi):基于內(nèi)容的過(guò)濾、協(xié)同過(guò)濾、混合過(guò)濾。目前應(yīng)用最為廣泛的是協(xié)同過(guò)濾的方式[3]。

對(duì)于音樂(lè)推薦而言,用戶的偏好通常隱式地通過(guò)對(duì)音樂(lè)產(chǎn)生的行為記錄和聆聽(tīng)習(xí)慣來(lái)表達(dá)。另外,用戶無(wú)法全面而的且準(zhǔn)確地對(duì)音樂(lè)進(jìn)行定位。因此,根據(jù)用戶的歷史聽(tīng)歌記錄挖掘用戶的音樂(lè)偏好,給用戶做出個(gè)性化推薦,提高推薦系統(tǒng)的準(zhǔn)確度和用戶滿意度是很重要的一項(xiàng)研究目標(biāo)。

1 協(xié)同推薦算法

協(xié)同過(guò)濾(CF,Collaborative Filtering)也叫做基于近鄰(NN,Nearest Neighbor)的推薦算法,主要思想是:利用已有用戶群的過(guò)去行為或意見(jiàn)來(lái)預(yù)測(cè)數(shù)據(jù),根據(jù)與當(dāng)前用戶/當(dāng)前物品較為相似的近鄰數(shù)據(jù)來(lái)產(chǎn)生推薦結(jié)果。本文采用基于用戶的K最近鄰?fù)扑](User-based KNN)協(xié)同推薦算法。算法基本原理如下:

首先,對(duì)輸入的評(píng)分?jǐn)?shù)據(jù)集和當(dāng)前用戶ID作為輸入,找出與當(dāng)前用戶過(guò)去有相似偏好的其它用戶,這些用戶叫做對(duì)等用戶或者最近鄰;然后,對(duì)當(dāng)前用戶沒(méi)有見(jiàn)過(guò)的每個(gè)產(chǎn)品p,利用用戶的近鄰對(duì)產(chǎn)品p的評(píng)分進(jìn)行預(yù)測(cè);最后,選擇所有產(chǎn)品評(píng)分最高的TopN個(gè)產(chǎn)品推薦給當(dāng)前用戶。

通過(guò)下式計(jì)算用戶u對(duì)歌曲i的喜愛(ài)程度:

其中N(i)表示對(duì)歌曲/單i有過(guò)行為的用戶集合,wuv是用戶u和用戶v之間的相似度,rvi表示用戶v對(duì)歌曲/單i的打分。

算法輸入是一個(gè)“用戶-物品”評(píng)分矩陣,輸出數(shù)據(jù)一般有兩類(lèi):當(dāng)前用戶對(duì)物品喜歡和不喜歡程度的預(yù)測(cè)值和n項(xiàng)的推薦物品列表。

2 數(shù)據(jù)集獲取

任何機(jī)器學(xué)習(xí)算法解決問(wèn)題,首先需要考慮的就是數(shù)據(jù)從何而來(lái)。在歌曲推薦算法中首先要考慮歌單數(shù)據(jù)的來(lái)源問(wèn)題。

2.1 測(cè)試數(shù)據(jù)集

本研究中,采用傳參動(dòng)態(tài)密碼的高級(jí)加密標(biāo)準(zhǔn)AES(AES, Advanced Encryption Standard)算法爬取了網(wǎng)易云1000多份熱門(mén)歌單作為測(cè)試數(shù)據(jù)集。爬蟲(chóng)主體是利用requst獲取html內(nèi)容,用BeautifulSoup提取有用數(shù)據(jù)。

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

對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,將歌單數(shù)據(jù)轉(zhuǎn)化成推薦系統(tǒng)格式數(shù)據(jù)。主流的Python推薦系統(tǒng)框架,其評(píng)分基礎(chǔ)數(shù)據(jù)格式為user item rating timestamp,主要抽取歌單id和歌曲流行度,同時(shí)保存好歌單id到歌單名的映射字典文件。

2.3 歌曲推薦數(shù)據(jù)

利用scrpy_redis分布式爬蟲(chóng),爬取蝦米音樂(lè)用戶聽(tīng)歌行為數(shù)據(jù),最終得到了大概6萬(wàn)多條真實(shí)的未脫敏用戶播放數(shù)據(jù)。

要完成推薦,需要得到每個(gè)用戶對(duì)每首歌的一個(gè)評(píng)價(jià)矩陣。因此,需要從中摘取出用戶id、歌曲名和評(píng)分(播放次數(shù)越多,評(píng)分越高),然后做成excel表格,再用pandas轉(zhuǎn)換成數(shù)據(jù)框格式進(jìn)行讀取。

3 實(shí)驗(yàn)研究

3.1 實(shí)驗(yàn)設(shè)計(jì)

本次實(shí)驗(yàn)是在PyCharm集成開(kāi)發(fā)環(huán)境中進(jìn)行的,所使用的主要庫(kù)為Surprise(Simple Python Recommendation System Engine)。首先對(duì)整理好的用戶評(píng)分矩陣整理成excel表,然后用pandas函數(shù)轉(zhuǎn)化成數(shù)據(jù)框格式進(jìn)行讀取,載入自己的數(shù)據(jù)集并進(jìn)行手動(dòng)5折交叉驗(yàn)證。用基于用戶的協(xié)同過(guò)濾算訓(xùn)練模型,計(jì)算相似度(采用內(nèi)置的皮爾森相似度),然后調(diào)用Surprise庫(kù)并用KNNWithMeans算法對(duì)數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)。

3.2 實(shí)驗(yàn)分析

首先,導(dǎo)入數(shù)據(jù)集readersurprise庫(kù)算法,然后用pd.reader_ excel讀取用戶評(píng)分矩陣并將其轉(zhuǎn)化成推薦格式,接著載入數(shù)據(jù)集并進(jìn)行模型訓(xùn)練,最后生成用戶推薦列表。推薦結(jié)果如圖1所示。

然后對(duì)數(shù)據(jù)集用KNNWithMeans算法進(jìn)行實(shí)驗(yàn)評(píng)估,結(jié)果分別如圖2所示。

評(píng)估標(biāo)準(zhǔn)均方根誤差RMSE和標(biāo)準(zhǔn)平均絕對(duì)誤差MAE,理論上這兩個(gè)值是越小越好。

4 結(jié)語(yǔ)

本文提出了基于標(biāo)簽的個(gè)性化音樂(lè)推薦和基于用戶特征的個(gè)性化音樂(lè)推薦的方法,在推薦性能上有了一定的改進(jìn),但仍存在需要進(jìn)一步改善的地方。比如,當(dāng)音樂(lè)的數(shù)據(jù)量越來(lái)越大,音樂(lè)的平臺(tái)越來(lái)越多的時(shí)候,對(duì)用戶信息的提取和利用應(yīng)該更加完善,因此對(duì)于音樂(lè)推薦可以更多的考慮深度學(xué)習(xí)訓(xùn)練音樂(lè)特征,進(jìn)一步改進(jìn)音樂(lè)推薦效果。

參考文獻(xiàn)

[1] 高鳳麗,孫連山.個(gè)性化推薦系統(tǒng)概述[J].技術(shù)與市場(chǎng),2015,22(2):78-79.

[2] 朱天宇,黃振亞,陳恩紅,等.基于認(rèn)知診斷的個(gè)性化試題推薦方法[J].計(jì)算機(jī)學(xué)報(bào),2017(1):176-191.

[3] 冷亞軍,陸青,梁昌勇.協(xié)同過(guò)濾推薦技術(shù)綜述[J].模式識(shí)別與人工智能,2014,27(8):720-734.

猜你喜歡
協(xié)同過(guò)濾
基于用戶評(píng)分和項(xiàng)目類(lèi)偏好的協(xié)同過(guò)濾推薦算法
基于用戶相似度加權(quán)的Slope One算法
軟件(2016年4期)2017-01-20 09:44:28
圖書(shū)推薦算法綜述
改進(jìn)的協(xié)同過(guò)濾推薦算法
基于鏈?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)述
關(guān)于協(xié)同過(guò)濾推薦算法的研究文獻(xiàn)綜述
商(2016年29期)2016-10-29 15:22:08
基于混合信任模型的協(xié)同過(guò)濾推薦算法
多伦县| 陆良县| 宁城县| 启东市| 侯马市| 南通市| 宜章县| 郴州市| 东阳市| 新竹市| 三穗县| 仙居县| 高台县| 张家口市| 九龙县| 祁连县| 洪洞县| 德惠市| 商水县| 沾化县| 阳春市| 泰和县| 如皋市| 望都县| 柏乡县| 平乐县| 江门市| 通化县| 双柏县| 普陀区| 德钦县| 柳林县| 永州市| 从江县| 金湖县| 仙游县| 云梦县| 资讯 | 大英县| 达日县| 循化|