張利鴿
(渭南師范學(xué)院,陜西渭南 714000)
當(dāng)前,網(wǎng)絡(luò)技術(shù)高度發(fā)達(dá),我國網(wǎng)絡(luò)域名規(guī)模達(dá)到千萬級以上,網(wǎng)絡(luò)技術(shù)在人們生活中無處不在[1]。推薦系統(tǒng)作為主要的網(wǎng)絡(luò)營銷工具[2],可使用戶在面對海量網(wǎng)絡(luò)商品信息時(shí)獲取有價(jià)值的建議,并提升網(wǎng)絡(luò)商品的銷售量[3]。
音樂瀏覽是網(wǎng)絡(luò)技術(shù)的一種主要應(yīng)用形式[4],面對互聯(lián)網(wǎng)上海量的音樂媒體信息,如何快速地獲取用戶所需的音樂類型,并將用戶感興趣的音樂推薦給用戶,成為當(dāng)前網(wǎng)絡(luò)媒體網(wǎng)站提升自身市場占有率的主要方式。以此為目的,設(shè)計(jì)基于用戶興趣偏好度的音樂智能推薦系統(tǒng)。在設(shè)計(jì)數(shù)據(jù)采集模塊、離線數(shù)據(jù)處理模塊和在線推薦模塊的總體架構(gòu)基礎(chǔ)上,考慮用戶音樂興趣偏好度和個(gè)性化的需求,引入?yún)f(xié)同過濾算法,利用近鄰數(shù)目確定音樂推薦偏好度,實(shí)現(xiàn)對用戶的精準(zhǔn)音樂推薦。
該文設(shè)計(jì)的音樂智能推薦系統(tǒng)主要由數(shù)據(jù)采集模塊、離線數(shù)據(jù)處理模塊和在線推薦模塊組成,整體結(jié)構(gòu)設(shè)計(jì)如圖1 所示。

圖1 系統(tǒng)整體結(jié)構(gòu)圖
數(shù)據(jù)采集模塊的主要功能是采集用戶注冊信息[5]和目標(biāo)音樂的在線評分?jǐn)?shù)據(jù),并進(jìn)行在線調(diào)查。離線數(shù)據(jù)處理模塊以數(shù)據(jù)采集模塊采集的數(shù)據(jù)為基礎(chǔ),分析用戶興趣偏好度、統(tǒng)計(jì)用戶信息等。在線推薦模塊根據(jù)用戶興趣偏好度分析結(jié)果,針對不同用戶需求為用戶推薦能夠滿足其需求的音樂。
該文系統(tǒng)的數(shù)據(jù)采集模塊運(yùn)行流程如圖2所示。

圖2 數(shù)據(jù)采集模塊運(yùn)行流程設(shè)計(jì)
數(shù)據(jù)采集模塊可在系統(tǒng)處于初始啟動狀態(tài)條件下或獨(dú)立線下運(yùn)行時(shí),得到系統(tǒng)運(yùn)行所需的數(shù)據(jù)資源。數(shù)據(jù)采集模塊的重點(diǎn)作用是高效獲取海量有效數(shù)據(jù),同時(shí)以合適的格式記錄數(shù)據(jù)信息,并生成相應(yīng)文件[6],便于后續(xù)的聚類處理與數(shù)據(jù)庫存儲。數(shù)據(jù)采集模塊內(nèi),部分功能需以處理好的數(shù)據(jù)信息為基礎(chǔ),因此需要模塊內(nèi)不同功能交替協(xié)作才能完成全部數(shù)據(jù)的準(zhǔn)備。
離線數(shù)據(jù)處理模塊中利用基于POI(Point of Interest,興趣點(diǎn),即用戶搜索過的音樂)的用戶興趣偏好度計(jì)算方法,基于POI關(guān)聯(lián)圖[7],提出基于時(shí)間的用戶興趣偏好度計(jì)算方法,以此確定用戶興趣偏好度。
1.3.1 構(gòu)建POI關(guān)聯(lián)圖
POI 的構(gòu)建可在離線狀態(tài)下進(jìn)行[8]。將全部用戶的音樂搜索序列內(nèi)的POI 作為關(guān)聯(lián)圖內(nèi)的節(jié)點(diǎn),表示用戶搜索的音樂,通過分析用戶在音樂搜索序列內(nèi)的連續(xù)訪問行為[9]生成關(guān)聯(lián)圖的邊。
1.3.2 音樂映射
用戶分享的音樂數(shù)據(jù)結(jié)構(gòu)由以下4 方面構(gòu)成:音樂ID[10]、用戶ID、時(shí)間、類型。基于用戶分享的音樂數(shù)據(jù)結(jié)構(gòu)能夠獲取用戶搜索音樂的具體信息,確定用戶的POI 列表,用SM=(p1,p2,…,pn)表示。
1.3.3 確定POI流行度
利用式(1)可計(jì)算POI 流行度:

式(1)內(nèi),N(p) 和Nmax分別表示用戶搜索POI的次數(shù)和全部同類型音樂中用戶搜索音樂的上限數(shù)值。
1.3.4 用戶興趣偏好度計(jì)算方法
基于用戶的歷史音樂搜索信息,提出基于時(shí)間的用戶興趣偏好度計(jì)算方法。用戶在搜索一個(gè)POI音樂時(shí),均會在該音樂POI 停留一定時(shí)間[11],由全部用戶的歷史音樂搜索記錄內(nèi)依照以下過程確定用戶搜索過的各音樂POI 的瀏覽時(shí)間。用u表示一個(gè)用戶,確定其POI 集合。依照時(shí)間順序定義用戶u的歷史音樂搜索記錄:其中px表示用戶搜索過的音樂表示用戶開始瀏覽的POIpx時(shí)間,表示用戶結(jié)束POIpx瀏覽的時(shí)間。基于之間的差值能夠確定用戶瀏覽音樂POIpx的時(shí)間。
基于各音樂POI 的瀏覽時(shí)間能夠確定隨機(jī)用戶瀏覽任意音樂POI 所需的時(shí)間均值[12]。設(shè)定隨機(jī)用戶在POIpx的平均訪問時(shí)間為Vˉ(p),其計(jì)算公式如下:

式(2)內(nèi),U和n分別表示全部用戶和全部用戶內(nèi)瀏覽音樂p的用戶數(shù),
但用戶在各音樂POI 的瀏覽時(shí)間均值無法準(zhǔn)確體現(xiàn)其對該類音樂POI 的興趣偏好度,利用基于時(shí)間的用戶興趣偏好度計(jì)算方法,確定用戶u對音樂POI 類別屬性c的偏好度Int(u,c):

式(3)中,Catpx表示音樂的POIpx類別屬性,
通過式(3)能夠確定用戶u對于一個(gè)特定音樂POI 類別屬性c的興趣度,相對于全部用戶對同一個(gè)音樂POI 的瀏覽時(shí)間均值,Int()u,c是以用戶在不同類別屬性c的POI 瀏覽時(shí)間為基礎(chǔ)確定的,即用戶有較大概率花費(fèi)時(shí)間瀏覽其感興趣的音樂POI 類型[13],由此確定此用戶對該音樂POI 類型的興趣偏好度。
音樂智能推薦系統(tǒng)的關(guān)鍵在于推薦算法,為提升用戶的使用感,提高用戶的黏合度,需要對用戶的音樂興趣偏好進(jìn)行深度分析,以達(dá)到精準(zhǔn)推薦的效果。為此,該文引入?yún)f(xié)同過濾推薦算法,在分析多個(gè)用戶興趣相似度的基礎(chǔ)上,考慮用戶個(gè)性化問題,利用近鄰數(shù)目確定音樂推薦偏好度,提高對用戶的音樂推薦精準(zhǔn)度。在線推薦模塊中,采用協(xié)同過濾算法,以志同道合觀點(diǎn)為基礎(chǔ)[14],該算法的核心觀點(diǎn)為:若興趣偏好度相同的用戶均搜索過某音樂,則興趣偏好度一致的用戶有較大概率會對某音樂產(chǎn)生明顯偏好;若用戶對某音樂產(chǎn)生興趣偏好,則其同樣會更傾向于選擇同該音樂一致度較高的音樂。普遍使用的協(xié)同過濾推薦過程實(shí)現(xiàn)方式大致可分為3 種[15]:以用戶為基礎(chǔ)的推薦方式、以項(xiàng)目為基礎(chǔ)的推薦方式、以模型為基礎(chǔ)的推薦方式。
以用戶為基礎(chǔ)的推薦方式[16]:給定一個(gè)用戶,評分?jǐn)?shù)據(jù)與音樂項(xiàng)目。部分音樂項(xiàng)目并未產(chǎn)生評分,在此條件下可利用與此用戶相近的其他用戶評分結(jié)果進(jìn)行預(yù)測。通過式(4)可描述用戶a與用戶b的興趣偏好度的一致度函數(shù):

以項(xiàng)目為基礎(chǔ)的推薦方式與以用戶為基礎(chǔ)的推薦方式在本質(zhì)上具有較強(qiáng)相似性。但隨著時(shí)間的變化,用戶的興趣偏好具有波動性,因此以用戶為基礎(chǔ)推薦方式的推薦結(jié)果無法完全滿足用戶需求。以項(xiàng)目為基礎(chǔ)的推薦方式可有效避免時(shí)間造成的波動性問題,可提升推薦結(jié)果的穩(wěn)定性。在獲取用戶之間興趣偏好度的一致度后,考慮不同用戶的思維方式與評分標(biāo)準(zhǔn)有所差異,因此以項(xiàng)目為基礎(chǔ)的推薦方式可通過余弦一致度進(jìn)行分析,音樂項(xiàng)目m和音樂項(xiàng)目n的余弦一致度可通過式(5)確定:

以用戶為基礎(chǔ)的推薦方式和以項(xiàng)目為基礎(chǔ)的推薦方式均包含選擇近鄰的過程,通常情況下,這兩種推薦方式均需通過大量的計(jì)算過程,但數(shù)據(jù)僅取其中少量部分,造成協(xié)同推薦算法產(chǎn)生數(shù)據(jù)稀疏問題,降低推薦結(jié)果的精度。且考慮新用戶并未進(jìn)行音樂搜索與評分,無法使用選近鄰的過程,造成冷啟動問題。以模型為基礎(chǔ)的推薦方式依照數(shù)據(jù)庫內(nèi)對目標(biāo)音樂的評分結(jié)果,通過離線計(jì)算現(xiàn)有用戶對目標(biāo)音樂的評分,利用模型評估過程得到全局推薦結(jié)果。但采用以模型為基礎(chǔ)的推薦方式在評估訓(xùn)練過程中會消耗大量資源,且頻繁更新模型。
基于上述分析可知,系統(tǒng)在線推薦模塊采用協(xié)同過濾算法,以用戶興趣偏好度為基礎(chǔ),針對不同的用戶采用不同推薦方式生成推薦列表,以此提升系統(tǒng)推薦性能。
為驗(yàn)證該文設(shè)計(jì)的基于用戶興趣偏好度的音樂智能推薦系統(tǒng)在實(shí)際音樂推薦應(yīng)用中的性能,選取某互聯(lián)網(wǎng)知名音樂APP 為應(yīng)用對象,采用該文系統(tǒng)對用戶進(jìn)行音樂推薦測試。從應(yīng)用對象中隨機(jī)選取1 000 名用戶信息,在這些用戶信息中共包含有效評價(jià)數(shù)據(jù)448 539 條與不同類型歌曲記錄183 580 條。
系統(tǒng)功能的實(shí)現(xiàn)是系統(tǒng)有效運(yùn)行的基礎(chǔ),因此采用黑盒測試法測試該文系統(tǒng)的功能,主要測試用例為:①用戶登錄成功:輸入正確的用戶名與密碼,期望輸出結(jié)果為成功登錄;②用戶登錄不成功:輸入錯(cuò)誤的用戶名與密碼,期望輸出結(jié)果為用戶名或密碼錯(cuò)誤,請重新輸入;③生成推薦結(jié)果:輸入為針對不同用戶,在不同條件下點(diǎn)擊推薦列表,期望輸出結(jié)果為正確預(yù)測用戶興趣偏好度,推薦相應(yīng)音樂。④創(chuàng)建歌單收藏音樂:輸入為點(diǎn)擊推薦歌曲,點(diǎn)擊收藏至相應(yīng)歌單下,期望輸出結(jié)果為收藏成功,推薦列表內(nèi)不再顯示;⑤未創(chuàng)建歌單下收藏音樂:輸入為在未創(chuàng)建歌單條件下單擊收藏推薦歌曲,期望輸出為提示創(chuàng)建歌單。各測試用例的黑盒測試結(jié)果如圖3所示。

圖3 黑盒測試結(jié)果
分析圖3得到,該文系統(tǒng)功能測試中,除用例3的實(shí)際輸出結(jié)果與期望輸出結(jié)果一致度為62%外,剩余4 個(gè)用例的實(shí)際輸出結(jié)果均與期望輸出結(jié)果完全一致,由此說明該文系統(tǒng)功能滿足實(shí)際應(yīng)用需求。
該文系統(tǒng)在線推薦模塊包含一個(gè)重要過程,即選擇近鄰過程,所選近鄰數(shù)量對于系統(tǒng)推薦結(jié)果產(chǎn)生直接影響。因此在測試該文系統(tǒng)音樂推薦性能時(shí),選取準(zhǔn)確率Zp、召回率Hp、覆蓋率Fp和流行度Lp為評價(jià)指標(biāo),計(jì)算過程如下:


在不同近鄰數(shù)量條件下,該文系統(tǒng)推薦性能評價(jià)的結(jié)果如圖4 所示。

圖4 該文系統(tǒng)性能評價(jià)結(jié)果
分析圖4 得到,近鄰數(shù)量的提升對于該文系統(tǒng)推薦結(jié)果產(chǎn)生直接影響。
準(zhǔn)確率與召回率:該文系統(tǒng)的準(zhǔn)確率與召回率同近鄰數(shù)量之間呈現(xiàn)正比例相關(guān)性,即隨著該文系統(tǒng)在線推薦模塊中近鄰數(shù)量的提升,系統(tǒng)推薦結(jié)果的準(zhǔn)確率與召回率均整體表現(xiàn)為上升趨勢。但隨著近鄰數(shù)量的提升,該文系統(tǒng)推薦結(jié)果的準(zhǔn)確率與召回率提升幅度并不顯著,由此說明近鄰數(shù)量與該文系統(tǒng)推薦結(jié)果的準(zhǔn)確率與召回率之間相關(guān)性并不高。
覆蓋率:該文系統(tǒng)的覆蓋率指標(biāo)與近鄰數(shù)量為反相關(guān)性。隨著近鄰數(shù)量提升,該文系統(tǒng)覆蓋率降低,且覆蓋率下降幅度較大,由此說明近鄰數(shù)量與該文系統(tǒng)推薦結(jié)果的覆蓋率之間相關(guān)性較高。
流行度:該文系統(tǒng)的流行度指標(biāo)與近鄰數(shù)量為正相關(guān)性。隨著近鄰數(shù)量提升,該文系統(tǒng)流行度評價(jià)結(jié)果提高。
但考慮參考用戶數(shù)量的提升對該文系統(tǒng)推薦效率也產(chǎn)生直接影響,會顯著降低該文系統(tǒng)推薦效率,因此綜合對比之下,設(shè)定近鄰數(shù)量高于30較為合適。
獲取應(yīng)用對象過去三年中不同月份的市場占有率,以其均值為標(biāo)準(zhǔn),對比采用文中系統(tǒng)后相同月份的市場占有率,結(jié)果如圖5所示。由圖5得到,未采用文中系統(tǒng)之前,應(yīng)用對象每年的市場占有率波動范圍為55.7%~66.8%,平均市場占有率約為61.25%。采用該文系統(tǒng)之后,應(yīng)用對象每年的市場占有率均值提升至92.4%,提升幅度達(dá)到50.86%。由此說明應(yīng)用對象利用該文系統(tǒng)為用戶推薦感興趣的音樂,能夠顯著提升應(yīng)用對象的市場占有率,即該文系統(tǒng)推薦結(jié)果可令用戶滿意,具有較好的實(shí)際應(yīng)用效果。

圖5 市場占有率分析
該文設(shè)計(jì)基于用戶興趣偏好度的音樂智能推薦系統(tǒng),基于用戶數(shù)據(jù)與音樂數(shù)據(jù),確定用戶對目標(biāo)音樂類型的興趣偏好度,基于興趣偏好度采用協(xié)同過濾推薦算法將用戶感興趣的音樂推薦給用戶。應(yīng)用測試結(jié)果說明該文系統(tǒng)能夠準(zhǔn)確向用戶推薦感興趣的音樂,提升應(yīng)用對象的市場占有率。