白誠瑞
河北建筑工程學(xué)院 河北 張家口 065000
本文提出的推薦算法的基本思路是:首先利用隱語義模型矩陣分解的方法構(gòu)建出用戶偏好模型;接著利用卷積神經(jīng)網(wǎng)絡(luò)對音樂音頻特征進(jìn)行提取并融合音樂的多種信息(歌手ID、發(fā)表年份等),將音樂隱性特征向量與用戶隱性特征向量做內(nèi)積運(yùn)算,獲取用戶偏好得分,根據(jù)偏好得分進(jìn)行推薦列表的TOPN排序,實現(xiàn)對用戶的個性化推薦。
推薦系統(tǒng)中決定推薦性能的好壞最重要的就是推薦算法,目前,常用的推薦算法主要分為3個類型。
以內(nèi)容為基礎(chǔ)的推薦算法在應(yīng)用時,主要以用戶為基礎(chǔ)針對物品完成標(biāo)記,分析所標(biāo)記的物品和用戶關(guān)系,參考關(guān)聯(lián)信息構(gòu)建推薦模型,進(jìn)而完成內(nèi)容和物品的推薦。目前這種算法的應(yīng)用比較廣泛,尤其在工業(yè)領(lǐng)域的應(yīng)用效果比較好。
在這種算法應(yīng)用的過程中,主要是基于矩陣分解,矩陣的構(gòu)成主要為推薦系統(tǒng)形成的用戶行為信息,這種方式在應(yīng)用時,參考用戶之前的喜好狀況,從而實現(xiàn)推薦?;趨f(xié)同過濾的推薦算法大致分為2種,一種是基于item的推薦算法,一種是基于user的推薦算法[1]。
在實際推薦中可能存在復(fù)雜的應(yīng)用場景,單一的推薦算法無法滿足實際應(yīng)用需求,此時混合推薦應(yīng)運(yùn)而生,可以有效解決單一算法存在的問題與不足,常見的混合推薦算法包括:加權(quán)式、切換式、混雜式。
深度學(xué)習(xí)在近些年逐漸成為人們關(guān)注的熱點(diǎn),其中卷積神經(jīng)網(wǎng)絡(luò)是一種高效的識別方法,其在目前語音識別、圖像識別等領(lǐng)域的應(yīng)用比較廣泛,利用這種方式解決大規(guī)模的機(jī)器學(xué)習(xí)問題,和傳統(tǒng)機(jī)器學(xué)習(xí)效果相比,這種算法無論是推薦效率還是推薦質(zhì)量都更好[2]。本文以卷積神經(jīng)網(wǎng)絡(luò)為基礎(chǔ),并且將其和多種音樂標(biāo)簽特征進(jìn)行結(jié)合,提出一種推薦效果更佳的推薦算法,與傳統(tǒng)的推薦算法相比,這種算法參考了用戶的歷史數(shù)據(jù),并且將其和音樂音頻對應(yīng)的聲學(xué)特征相互結(jié)合,構(gòu)建對應(yīng)的卷積神經(jīng)網(wǎng)絡(luò)回歸模型,并且利用 Embedding 層對音樂標(biāo)簽信息進(jìn)行挖掘,進(jìn)而完成個性化推薦。本文進(jìn)行的研究可以作為音樂推薦算法的補(bǔ)充,能有效解決傳統(tǒng)推薦系統(tǒng)中出現(xiàn)的推薦準(zhǔn)確率較低、特征分析不夠深入等問題,進(jìn)而更好地滿足個性化推薦需求。本文構(gòu)建的推薦系統(tǒng)整體設(shè)計框圖如圖1:
圖1 系統(tǒng)總體設(shè)計圖
取得的數(shù)據(jù)集內(nèi)含有用戶收聽音樂的相關(guān)記錄,可將其視為隱式反饋,同一個用戶對某首歌曲反復(fù)播放次數(shù),則可看作該用戶對該歌曲的喜愛程度,播放行為可視為隱性評分[3]。經(jīng)過特定的數(shù)據(jù)處理后,得到以相對播放次數(shù)為依據(jù)得出音樂所對應(yīng)的評分,且稀疏度處于特定水平的一類用戶——音樂矩陣。
對通過數(shù)字信號對音樂音頻具備的特征進(jìn)行提取,可有效解決對原始數(shù)據(jù)進(jìn)行直接處理時需開展的龐大且復(fù)雜計算的問題,且得到的特征更為鮮明,可更便捷地對其進(jìn)行處理及運(yùn)用。對音頻特征進(jìn)行分析時能夠運(yùn)用的方法較為多樣,常見的有聲譜圖、梅爾頻譜等[4]。所以本文對數(shù)據(jù)集中音頻資源進(jìn)行了梅爾頻譜圖的提取,并作為后續(xù)訓(xùn)練中的輸入內(nèi)容。同時,還可以使用Embedding層融合歌手和音樂的其他信息進(jìn)行音樂信息挖掘。
2.2.1 Embedding 部分。本文通過Embedding層對各類標(biāo)識信息進(jìn)行融合,該層可以顯著增強(qiáng)模型的可擴(kuò)展性,對獲得的信息進(jìn)行嵌入訓(xùn)練,提高特征系統(tǒng)的完整性。利用one-hot編碼實現(xiàn)對特征值的表示。如果模型對應(yīng)的特征域為,通過該編碼對特征包含的第j個特征值所對應(yīng)one-hot向量進(jìn)行表示。
嵌入層內(nèi),每一特征均有與之對應(yīng)的嵌入矩陣,將Embedding向量通過多層感知機(jī)學(xué)習(xí)后拼接在一起,得到下一層的輸入。
2.2.2 音頻數(shù)據(jù)處理。一般來說,我們首先處理連續(xù)的音頻信號,對其預(yù)加重、分幀以及加窗;然后通過FFT處理所有短時分析窗,這樣就得到了相應(yīng)的頻譜;接著將頻譜基于 Mel標(biāo)度濾波器組可以得到Mel頻譜;接著對上述Mel頻譜取對數(shù),就可以完成整個提取過程[5]。
在本文的研究之中,我們引入了python 工具包之中的 Librosa 進(jìn)行了處理與分析,主要對音樂音頻進(jìn)行了詳細(xì)的分析?;?Librosa 工具包中的處理函數(shù)specshow(),其中橫軸代表時間,縱軸代表頻率,最終得到一個256×256 梅爾頻譜圖。
本文使用用戶音樂偏好得分作為用戶對音樂的喜愛程度表示,首先預(yù)測新音樂M的潛在因子向量,然后將與用戶潛在因子向量的內(nèi)積作為用戶對音樂M的偏好得分。計算過程如下式所示:
3.1.1 來源。本文運(yùn)用的音樂元數(shù)據(jù)全部都是通過百萬歌曲數(shù)據(jù)集(MSD)取得的,與用戶收聽情況相關(guān)的各項數(shù)據(jù),全部都是通過MSD所包含的子集Echo Nest Taste Profile Subset取得的。
3.1.2 數(shù)據(jù)處理與數(shù)據(jù)形式。本文在獲取對應(yīng)的數(shù)據(jù)以后,首先對數(shù)據(jù)展開稀疏化處理??紤]到整體的時間成本,本實驗在取數(shù)據(jù)時僅對某一聲道中提取任意3s的音頻且表現(xiàn)為wav格式,取得音頻數(shù)據(jù)后對其進(jìn)行分割處理以保證不同數(shù)據(jù)的格式具有較高的一致性[7]。
3.2.1 系統(tǒng)評價指標(biāo)。本文基于評分精準(zhǔn)性與列表準(zhǔn)確性兩個維度展開評價。
3.2.1.1 預(yù)測評分準(zhǔn)確性。常見的用于度量預(yù)測評分準(zhǔn)確性的標(biāo)準(zhǔn)有:平均絕對誤差MAE、歸一化平均絕對誤差NMAE、平均平方誤差MSE和均方根誤差RMSE等。在本文的研究過程中,我們引入上述4個指標(biāo)展開評價。
3.2.1.2 推薦列表準(zhǔn)確性。本文研究的推薦算法能夠做到多位用戶形成TopN推薦,也就是說對所有的用戶,都可以實現(xiàn)音樂排名,進(jìn)而確定排名靠前的N首音樂形成一個列表,分別進(jìn)行推薦[8]。為了對該列表的精確度進(jìn)行檢驗,在本文的研究中我們分別通過準(zhǔn)確率、召回率、F1值評價推薦質(zhì)量,檢驗實驗的精確性。
3.2.2 結(jié)果分析。利用訓(xùn)練集數(shù)據(jù)對CNN網(wǎng)絡(luò)模型進(jìn)行訓(xùn)練,訓(xùn)練結(jié)果發(fā)現(xiàn),當(dāng)訓(xùn)練的迭代輪次不斷增加時,模型的損失誤差在開始時快速下降,隨著迭代次數(shù)增加,減少的趨勢逐漸變緩,當(dāng)epoch接近10時,誤差開始趨于平穩(wěn)。為了驗證模型的有效性,接下來從不同角度對實驗進(jìn)行分析評價。
3.2.2.1 潛在因子維數(shù) k 以及迭代次數(shù)的選擇。在整體實驗期間應(yīng)用均方根誤差 RMSE,基于此判定預(yù)測評分的準(zhǔn)確性。對于不同的特征維度k 與訓(xùn)練輪次 epoch而言,最終獲取的模型預(yù)測評分 RMSE如圖2所示。
圖2 不同k及epoch下預(yù)測評分的 RMSE
由此可見,潛在因子k為15,訓(xùn)練輪次epoch 為 20 時,實驗可以取得較好的評分預(yù)測效果。
3.2.2.2 不同推薦模型的推薦結(jié)果對比分析。本文使用 MSE、RMSE與 MSLE算法,針對模型訓(xùn)練效果展開全面評價。并且使用了 Frunk-SVD、User-CF與CB等算法模型進(jìn)行對比分析,最終獲取不同推薦列表長度對應(yīng)的準(zhǔn)確率、召回率、F1值。
各方法及本文方法均使用Keras實現(xiàn),優(yōu)化器使用 Adam,測試集實驗結(jié)果如表1所示:
表1 誤差對比表
這種方式主要包含了音頻信息和其他的標(biāo)識信息,通過對4個誤差指標(biāo)的分析,其指標(biāo)全部低于其他模型,表明潛在因子向量在預(yù)測的過程中實際效果優(yōu)于其他模型。在推薦任務(wù)的評價上,本文使用召回率、F1值和準(zhǔn)確率作為評價標(biāo)準(zhǔn)。利用TopN推薦策略形成需要的推薦列表,在N取值不同時,其最終結(jié)果也存在差異,最終獲取的結(jié)果如圖3到圖5所示。
圖3 準(zhǔn)確率結(jié)果
圖4 召回率結(jié)果
圖5 F1值結(jié)果
從圖中能夠看出,當(dāng)推薦列表長度相同的時候,F(xiàn)1值、準(zhǔn)確率與召回率均優(yōu)于其他模型,這是因為傳統(tǒng)的推薦算法模型僅使用了較為稀疏的評分矩陣,并且沒有充分利用音樂的其他的相關(guān)屬性[9]。因為深度卷積神經(jīng)網(wǎng)絡(luò)可以較好地學(xué)習(xí)數(shù)據(jù)的特征,本文的推薦算法在其中加入了深度學(xué)習(xí)相關(guān)內(nèi)容,同時結(jié)合了音樂標(biāo)簽的相關(guān)屬性,從而使得推薦效果得到較好的提升。
本文主要進(jìn)行的是多特征融合的音樂推薦算法的研究,研究的主要內(nèi)容是利用深度神經(jīng)網(wǎng)絡(luò)模型融合多種音樂標(biāo)識信息,和傳統(tǒng)的推薦算法模型進(jìn)行結(jié)合,利用深度神經(jīng)網(wǎng)絡(luò)的優(yōu)勢,充分學(xué)習(xí)音樂音頻特征并融合多種音樂標(biāo)簽信息,提升了推薦的效率與效果。為了驗證本文提出的推薦算法的可行性,從推薦準(zhǔn)確率、召回率、F1值等方面對實驗結(jié)果進(jìn)行全方面的評判分析。最后實驗結(jié)果表明,本文的推薦算法使得最終的推薦結(jié)果相對于Frunk-SVD、User-CF 以及 CB 等傳統(tǒng)的推薦算法模型有較好的優(yōu)化。