張利鴿
(渭南師范學院,陜西渭南 714000)
當前,網(wǎng)絡技術高度發(fā)達,我國網(wǎng)絡域名規(guī)模達到千萬級以上,網(wǎng)絡技術在人們生活中無處不在[1]。推薦系統(tǒng)作為主要的網(wǎng)絡營銷工具[2],可使用戶在面對海量網(wǎng)絡商品信息時獲取有價值的建議,并提升網(wǎng)絡商品的銷售量[3]。
音樂瀏覽是網(wǎng)絡技術的一種主要應用形式[4],面對互聯(lián)網(wǎng)上海量的音樂媒體信息,如何快速地獲取用戶所需的音樂類型,并將用戶感興趣的音樂推薦給用戶,成為當前網(wǎng)絡媒體網(wǎng)站提升自身市場占有率的主要方式。以此為目的,設計基于用戶興趣偏好度的音樂智能推薦系統(tǒng)。在設計數(shù)據(jù)采集模塊、離線數(shù)據(jù)處理模塊和在線推薦模塊的總體架構基礎上,考慮用戶音樂興趣偏好度和個性化的需求,引入?yún)f(xié)同過濾算法,利用近鄰數(shù)目確定音樂推薦偏好度,實現(xiàn)對用戶的精準音樂推薦。
該文設計的音樂智能推薦系統(tǒng)主要由數(shù)據(jù)采集模塊、離線數(shù)據(jù)處理模塊和在線推薦模塊組成,整體結(jié)構設計如圖1 所示。
圖1 系統(tǒng)整體結(jié)構圖
數(shù)據(jù)采集模塊的主要功能是采集用戶注冊信息[5]和目標音樂的在線評分數(shù)據(jù),并進行在線調(diào)查。離線數(shù)據(jù)處理模塊以數(shù)據(jù)采集模塊采集的數(shù)據(jù)為基礎,分析用戶興趣偏好度、統(tǒng)計用戶信息等。在線推薦模塊根據(jù)用戶興趣偏好度分析結(jié)果,針對不同用戶需求為用戶推薦能夠滿足其需求的音樂。
該文系統(tǒng)的數(shù)據(jù)采集模塊運行流程如圖2所示。
圖2 數(shù)據(jù)采集模塊運行流程設計
數(shù)據(jù)采集模塊可在系統(tǒng)處于初始啟動狀態(tài)條件下或獨立線下運行時,得到系統(tǒng)運行所需的數(shù)據(jù)資源。數(shù)據(jù)采集模塊的重點作用是高效獲取海量有效數(shù)據(jù),同時以合適的格式記錄數(shù)據(jù)信息,并生成相應文件[6],便于后續(xù)的聚類處理與數(shù)據(jù)庫存儲。數(shù)據(jù)采集模塊內(nèi),部分功能需以處理好的數(shù)據(jù)信息為基礎,因此需要模塊內(nèi)不同功能交替協(xié)作才能完成全部數(shù)據(jù)的準備。
離線數(shù)據(jù)處理模塊中利用基于POI(Point of Interest,興趣點,即用戶搜索過的音樂)的用戶興趣偏好度計算方法,基于POI關聯(lián)圖[7],提出基于時間的用戶興趣偏好度計算方法,以此確定用戶興趣偏好度。
1.3.1 構建POI關聯(lián)圖
POI 的構建可在離線狀態(tài)下進行[8]。將全部用戶的音樂搜索序列內(nèi)的POI 作為關聯(lián)圖內(nèi)的節(jié)點,表示用戶搜索的音樂,通過分析用戶在音樂搜索序列內(nèi)的連續(xù)訪問行為[9]生成關聯(lián)圖的邊。
1.3.2 音樂映射
用戶分享的音樂數(shù)據(jù)結(jié)構由以下4 方面構成:音樂ID[10]、用戶ID、時間、類型?;谟脩舴窒淼囊魳窋?shù)據(jù)結(jié)構能夠獲取用戶搜索音樂的具體信息,確定用戶的POI 列表,用SM=(p1,p2,…,pn)表示。
1.3.3 確定POI流行度
利用式(1)可計算POI 流行度:
式(1)內(nèi),N(p) 和Nmax分別表示用戶搜索POI的次數(shù)和全部同類型音樂中用戶搜索音樂的上限數(shù)值。
1.3.4 用戶興趣偏好度計算方法
基于用戶的歷史音樂搜索信息,提出基于時間的用戶興趣偏好度計算方法。用戶在搜索一個POI音樂時,均會在該音樂POI 停留一定時間[11],由全部用戶的歷史音樂搜索記錄內(nèi)依照以下過程確定用戶搜索過的各音樂POI 的瀏覽時間。用u表示一個用戶,確定其POI 集合。依照時間順序定義用戶u的歷史音樂搜索記錄:其中px表示用戶搜索過的音樂表示用戶開始瀏覽的POIpx時間,表示用戶結(jié)束POIpx瀏覽的時間。基于之間的差值能夠確定用戶瀏覽音樂POIpx的時間。
基于各音樂POI 的瀏覽時間能夠確定隨機用戶瀏覽任意音樂POI 所需的時間均值[12]。設定隨機用戶在POIpx的平均訪問時間為Vˉ(p),其計算公式如下:
式(2)內(nèi),U和n分別表示全部用戶和全部用戶內(nèi)瀏覽音樂p的用戶數(shù),
但用戶在各音樂POI 的瀏覽時間均值無法準確體現(xiàn)其對該類音樂POI 的興趣偏好度,利用基于時間的用戶興趣偏好度計算方法,確定用戶u對音樂POI 類別屬性c的偏好度Int(u,c):
式(3)中,Catpx表示音樂的POIpx類別屬性,
通過式(3)能夠確定用戶u對于一個特定音樂POI 類別屬性c的興趣度,相對于全部用戶對同一個音樂POI 的瀏覽時間均值,Int()u,c是以用戶在不同類別屬性c的POI 瀏覽時間為基礎確定的,即用戶有較大概率花費時間瀏覽其感興趣的音樂POI 類型[13],由此確定此用戶對該音樂POI 類型的興趣偏好度。
音樂智能推薦系統(tǒng)的關鍵在于推薦算法,為提升用戶的使用感,提高用戶的黏合度,需要對用戶的音樂興趣偏好進行深度分析,以達到精準推薦的效果。為此,該文引入?yún)f(xié)同過濾推薦算法,在分析多個用戶興趣相似度的基礎上,考慮用戶個性化問題,利用近鄰數(shù)目確定音樂推薦偏好度,提高對用戶的音樂推薦精準度。在線推薦模塊中,采用協(xié)同過濾算法,以志同道合觀點為基礎[14],該算法的核心觀點為:若興趣偏好度相同的用戶均搜索過某音樂,則興趣偏好度一致的用戶有較大概率會對某音樂產(chǎn)生明顯偏好;若用戶對某音樂產(chǎn)生興趣偏好,則其同樣會更傾向于選擇同該音樂一致度較高的音樂。普遍使用的協(xié)同過濾推薦過程實現(xiàn)方式大致可分為3 種[15]:以用戶為基礎的推薦方式、以項目為基礎的推薦方式、以模型為基礎的推薦方式。
以用戶為基礎的推薦方式[16]:給定一個用戶,評分數(shù)據(jù)與音樂項目。部分音樂項目并未產(chǎn)生評分,在此條件下可利用與此用戶相近的其他用戶評分結(jié)果進行預測。通過式(4)可描述用戶a與用戶b的興趣偏好度的一致度函數(shù):
以項目為基礎的推薦方式與以用戶為基礎的推薦方式在本質(zhì)上具有較強相似性。但隨著時間的變化,用戶的興趣偏好具有波動性,因此以用戶為基礎推薦方式的推薦結(jié)果無法完全滿足用戶需求。以項目為基礎的推薦方式可有效避免時間造成的波動性問題,可提升推薦結(jié)果的穩(wěn)定性。在獲取用戶之間興趣偏好度的一致度后,考慮不同用戶的思維方式與評分標準有所差異,因此以項目為基礎的推薦方式可通過余弦一致度進行分析,音樂項目m和音樂項目n的余弦一致度可通過式(5)確定:
以用戶為基礎的推薦方式和以項目為基礎的推薦方式均包含選擇近鄰的過程,通常情況下,這兩種推薦方式均需通過大量的計算過程,但數(shù)據(jù)僅取其中少量部分,造成協(xié)同推薦算法產(chǎn)生數(shù)據(jù)稀疏問題,降低推薦結(jié)果的精度。且考慮新用戶并未進行音樂搜索與評分,無法使用選近鄰的過程,造成冷啟動問題。以模型為基礎的推薦方式依照數(shù)據(jù)庫內(nèi)對目標音樂的評分結(jié)果,通過離線計算現(xiàn)有用戶對目標音樂的評分,利用模型評估過程得到全局推薦結(jié)果。但采用以模型為基礎的推薦方式在評估訓練過程中會消耗大量資源,且頻繁更新模型。
基于上述分析可知,系統(tǒng)在線推薦模塊采用協(xié)同過濾算法,以用戶興趣偏好度為基礎,針對不同的用戶采用不同推薦方式生成推薦列表,以此提升系統(tǒng)推薦性能。
為驗證該文設計的基于用戶興趣偏好度的音樂智能推薦系統(tǒng)在實際音樂推薦應用中的性能,選取某互聯(lián)網(wǎng)知名音樂APP 為應用對象,采用該文系統(tǒng)對用戶進行音樂推薦測試。從應用對象中隨機選取1 000 名用戶信息,在這些用戶信息中共包含有效評價數(shù)據(jù)448 539 條與不同類型歌曲記錄183 580 條。
系統(tǒng)功能的實現(xiàn)是系統(tǒng)有效運行的基礎,因此采用黑盒測試法測試該文系統(tǒng)的功能,主要測試用例為:①用戶登錄成功:輸入正確的用戶名與密碼,期望輸出結(jié)果為成功登錄;②用戶登錄不成功:輸入錯誤的用戶名與密碼,期望輸出結(jié)果為用戶名或密碼錯誤,請重新輸入;③生成推薦結(jié)果:輸入為針對不同用戶,在不同條件下點擊推薦列表,期望輸出結(jié)果為正確預測用戶興趣偏好度,推薦相應音樂。④創(chuàng)建歌單收藏音樂:輸入為點擊推薦歌曲,點擊收藏至相應歌單下,期望輸出結(jié)果為收藏成功,推薦列表內(nèi)不再顯示;⑤未創(chuàng)建歌單下收藏音樂:輸入為在未創(chuàng)建歌單條件下單擊收藏推薦歌曲,期望輸出為提示創(chuàng)建歌單。各測試用例的黑盒測試結(jié)果如圖3所示。
圖3 黑盒測試結(jié)果
分析圖3得到,該文系統(tǒng)功能測試中,除用例3的實際輸出結(jié)果與期望輸出結(jié)果一致度為62%外,剩余4 個用例的實際輸出結(jié)果均與期望輸出結(jié)果完全一致,由此說明該文系統(tǒng)功能滿足實際應用需求。
該文系統(tǒng)在線推薦模塊包含一個重要過程,即選擇近鄰過程,所選近鄰數(shù)量對于系統(tǒng)推薦結(jié)果產(chǎn)生直接影響。因此在測試該文系統(tǒng)音樂推薦性能時,選取準確率Zp、召回率Hp、覆蓋率Fp和流行度Lp為評價指標,計算過程如下:
在不同近鄰數(shù)量條件下,該文系統(tǒng)推薦性能評價的結(jié)果如圖4 所示。
圖4 該文系統(tǒng)性能評價結(jié)果
分析圖4 得到,近鄰數(shù)量的提升對于該文系統(tǒng)推薦結(jié)果產(chǎn)生直接影響。
準確率與召回率:該文系統(tǒng)的準確率與召回率同近鄰數(shù)量之間呈現(xiàn)正比例相關性,即隨著該文系統(tǒng)在線推薦模塊中近鄰數(shù)量的提升,系統(tǒng)推薦結(jié)果的準確率與召回率均整體表現(xiàn)為上升趨勢。但隨著近鄰數(shù)量的提升,該文系統(tǒng)推薦結(jié)果的準確率與召回率提升幅度并不顯著,由此說明近鄰數(shù)量與該文系統(tǒng)推薦結(jié)果的準確率與召回率之間相關性并不高。
覆蓋率:該文系統(tǒng)的覆蓋率指標與近鄰數(shù)量為反相關性。隨著近鄰數(shù)量提升,該文系統(tǒng)覆蓋率降低,且覆蓋率下降幅度較大,由此說明近鄰數(shù)量與該文系統(tǒng)推薦結(jié)果的覆蓋率之間相關性較高。
流行度:該文系統(tǒng)的流行度指標與近鄰數(shù)量為正相關性。隨著近鄰數(shù)量提升,該文系統(tǒng)流行度評價結(jié)果提高。
但考慮參考用戶數(shù)量的提升對該文系統(tǒng)推薦效率也產(chǎn)生直接影響,會顯著降低該文系統(tǒng)推薦效率,因此綜合對比之下,設定近鄰數(shù)量高于30較為合適。
獲取應用對象過去三年中不同月份的市場占有率,以其均值為標準,對比采用文中系統(tǒng)后相同月份的市場占有率,結(jié)果如圖5所示。由圖5得到,未采用文中系統(tǒng)之前,應用對象每年的市場占有率波動范圍為55.7%~66.8%,平均市場占有率約為61.25%。采用該文系統(tǒng)之后,應用對象每年的市場占有率均值提升至92.4%,提升幅度達到50.86%。由此說明應用對象利用該文系統(tǒng)為用戶推薦感興趣的音樂,能夠顯著提升應用對象的市場占有率,即該文系統(tǒng)推薦結(jié)果可令用戶滿意,具有較好的實際應用效果。
圖5 市場占有率分析
該文設計基于用戶興趣偏好度的音樂智能推薦系統(tǒng),基于用戶數(shù)據(jù)與音樂數(shù)據(jù),確定用戶對目標音樂類型的興趣偏好度,基于興趣偏好度采用協(xié)同過濾推薦算法將用戶感興趣的音樂推薦給用戶。應用測試結(jié)果說明該文系統(tǒng)能夠準確向用戶推薦感興趣的音樂,提升應用對象的市場占有率。