



摘要:文章深入研究了基于協同過濾與內容的推薦算法在電影推薦系統中的融合與應用。首先,詳細闡述了兩種推薦算法的基本原理及優缺點,并對相似度計算方法進行了深入的分析與針對性的優化。隨后,文章探討了協同過濾和內容推薦算法有效融合策略和方法。最后,采用MovieLens數據集進行實驗驗證,證明了融合算法在提升推薦系統性能方面的有效性,并討論了未來可能的研究方向。
關鍵詞:協同過濾推薦算法;內容推薦算法;電影推薦系統;融合
中圖分類號:TP311 文獻標識碼:A
文章編號:1009-3044(2025)01-0079-03 開放科學(資源服務) 標識碼(OSID) :
0 引言
隨著互聯網技術的飛速發展和數據量的爆炸式增長,用戶面臨著前所未有的信息過載問題。如何從海量數據中高效、準確地為用戶推薦個性化的內容,已成為互聯網企業提升用戶體驗、增強用戶黏性的關鍵因素。電影作為一種重要的娛樂形式,其數量呈爆炸性增長。面對海量的電影資源,用戶往往難以在眾多選擇中找到符合自己興趣和偏好的電影。推薦系統是一種學習用戶偏好,實現個性化推薦的系統化應用技術[1]。在信息過載的時代,推薦系統成為重要工具,有效地引導用戶發現他們感興趣的信息[2]。電影推薦系統通過分析用戶的歷史行為數據、電影的內容特征等信息,為用戶提供個性化的電影推薦,從而提升了用戶的觀影體驗。
在眾多的推薦算法中,最為常見且有效的兩種是基于協同過濾和基于內容的推薦算法。本文旨在探討電影推薦系統中這兩種算法的融合研究。通過分析和比較現有算法,本文提出了一種混合推薦算法,并通過實驗驗證了其有效性。本文的研究不僅有助于提升電影推薦系統的推薦精準度和用戶體驗,同時也為其他領域的推薦系統提供了有益的參考和借鑒。
1 基于協同過濾的推薦算法研究
基于協同過濾的推薦算法(Collaborative Filtering,CF) 作為一種成熟的推薦算法,已在電商、文本信息等推薦領域得到廣泛應用[3]。協同過濾算法主要通過計算用戶與用戶之間或者物品與物品之間的相似度,來向用戶推薦物品[4]。
基于協同過濾的推薦算法主要分為基于用戶的協同過濾和基于物品的協同過濾兩種。在電影推薦系統中,協同過濾推薦算法會收集包括電影評分、觀看記錄和搜索記錄等用戶歷史行為數據,并以此作為后續計算的依據。隨后,算法會利用常用的相似度計算方法來計算用戶之間的相似度或電影之間的相似度。對于基于用戶的協同過濾算法,系統會找到與目標用戶品位相似的鄰居用戶,并根據這些鄰居用戶喜歡且目標用戶未觀看過的電影來生成推薦列表;而對于基于物品的協同過濾算法,系統則會根據目標用戶喜歡的電影,找到與其相似的其他電影進行推薦。最后,推薦系統會通過準確率等指標對推薦算法的效果進行評估,并根據評估結果對算法進行不斷的調整和優化,以提升推薦的準確性和用戶滿意度。
協同過濾推薦算法的優勢在于能夠深入挖掘用戶的興趣和偏好,從而為用戶提供高度個性化的電影推薦服務。然而,該算法也面臨一些挑戰,如冷啟動問題,即對于新用戶或新電影,由于歷史數據的缺乏,推薦算法可能難以給出準確建議;數據稀疏性問題也是一個難題,當用戶評分矩陣過于稀疏時,會直接影響推薦的準確性和覆蓋范圍;此外,在大規模系統中,實時計算用戶或物品間的相似度對計算資源要求較高,這也是需要克服的一個挑戰。
2 基于內容的推薦算法研究
基于內容的推薦算法是通過分析用戶過去的行為和電影的內容(如類型、導演、演員等) 來推薦類似的電影,它是一種基于項目特征的推薦方法。內容推薦算法的優勢在于能夠捕捉用戶的個性化需求,但其劣勢在于過于依賴電影的特征描述,而忽略了用戶行為的多樣性。在電影推薦系統中,算法首先會從電影的元數據中提取電影的關鍵特征,并將這些特征進一步處理并轉換成數值向量的形式,以便后續進行相似度計算。與此同時,系統也會根據用戶的觀影歷史、評分記錄等多元數據,構建一個反映用戶興趣偏好的模型。隨后,算法會利用相似度的計算方法,計算出用戶興趣向量與候選電影特征向量之間的相似度。最后,根據計算出的相似度得分,對所有候選電影進行排序,并挑選出相似度最高的若干部電影呈現給用戶作為推薦結果。
基于內容的推薦算法在電影推薦中具有顯著優勢,它能夠根據用戶自身的觀影歷史和電影特征,為用戶提供極具個性化的推薦結果。即使對于新用戶或電影數量較少的情況,該算法也能提供較為準確的推薦。然而,算法的效果對于電影特征提取的質量依賴程度很高,如果特征提取不準確或不全面,就可能會影響到推薦的準確率。此外,該算法主要基于用戶已知的觀影歷史和影片特征進行推薦,因此在一定程度上限制了其推薦范圍的廣度,挖掘用戶的潛在興趣可能存在一定困難。
3 相似度計算方法研究
相似度計算是推薦系統中用于衡量不同實體(如用戶、商品、電影等) 之間相似性的一個關鍵技術。在協同過濾算法中,相似度評估是協同過濾推薦算法的核心[5]。相似度計算方法包括余弦相似度、杰卡德相似系數、皮爾遜相關系數等,這些方法各有特點,適用于不同的場景和需求。
3.1 余弦相似度
余弦相似度通過計算兩個向量之間的夾角的余弦值來衡量它們之間的相似度。在基于用戶的協同過濾(User-CF) 中,余弦相似度用于計算用戶之間的相似度。余弦相似度計算公式如式(1) 所示:
式(1) 中:ru為用戶u 的評分向量;rv為用戶v 的評分向量。
相似度值越高,表示用戶u 和v 的興趣越相似。在用戶相似度計算的過程中,由于許多用戶間無交集(即分子為0) ,這些計算是不必要的。因此,針對稀疏數據,應優化算法以避免無效計算。
為了避免在不相關用戶上浪費時間,文章提出以下策略:首先,通過構建物品到用戶的倒排表T,明確每個物品被哪些用戶互動過。接著,利用這個倒排表T來建立用戶相似度矩陣W,該矩陣代表余弦相似度公式中的分子部分。最終,通過除以相應的分母,可以準確計算出任意兩個用戶之間的興趣相似度。
當系統中存在熱門商品時,由于熱門商品出現頻率過高,傳統的余弦相似度計算方法可能導致推薦結果過于偏向這些熱門商品。在計算相似度時熱門商品因為被大量用戶喜歡或購買會對計算產生較大影響。為了懲罰熱門商品在推薦系統中的影響,即減少它們在相似度計算中的權重,對余弦相似度計算公式進行改進,引入懲罰因子。將熱門商品出現次數的倒數作為懲罰因子來降低其在相似度計算中的權重,熱門商品在計算相似度時的影響就會被削弱。通過引入懲罰因子或采取其他改進措施,可以有效懲罰熱門商品在推薦系統中的影響,提高推薦結果的多樣性和精準性。
文章中的推薦系統使用基于協同過濾的算法在計算用戶相似度或物品相似度時,引入熱門物品權重系數,用以懲罰熱門物品對計算用戶相似度時的影響。如此一來,即使兩個用戶對熱門商品都有興趣,在計算的相似度時這種興趣也不會占據過大的比重,從而對用戶之間更細微、更個性化的相似點進行挖掘會有很大幫助。
3.2 杰卡德相似系數
杰卡德相似系數是用于比較兩個樣本集合相似性的一種指標。杰卡德相似系數的計算方法為J(A,B)=|A∩B|/|A∪B|,其中,|A∩B|表示集合A與B的交集元素數量,|A∪B|表示集合A與B的并集元素數量。
在推薦系統中,杰卡德相似系數可以用于計算用戶或物品之間的相似度。余弦相似度適合于衡量向量在方向上的相似度,適用于數值型數據的相似度計算;而杰卡德相似系數更適合于衡量集合之間的相似度,適用于布爾型數據的相似度計算。文中在基于內容的推薦算法時使用杰卡德相似系數來衡量兩個物品之間的相似度。
4 基于協同過濾與內容的推薦算法融合策略
基于協同過濾的推薦算法在面臨用戶數據稀疏性和冷啟動問題時可能表現不佳,而基于內容的推薦算法則可能過于依賴電影的特征描述,從而忽略了用戶的個性化需求。為了克服這兩個算法的上述缺陷,可以將它們進行融合,形成混合推薦算法。混合推薦算法結合了兩者的優勢,能夠更準確地捕捉用戶的興趣和偏好,提供更加個性化的推薦服務。
常見的融合策略包括:
加權融合:根據具體場景和需求,為推薦結果分配不同的權重,然后加權求和得到最終的推薦列表。
串行融合:先使用一種算法生成初步推薦列表,然后再使用另一種算法對初步推薦列表進行優化和調整。
文章中的融合策略采用基于用戶的協同過濾和基于物品的協同過濾進行加權融合得到推薦列表,權重通常基于算法在驗證集或測試集上的性能表現來確定,最后將加權融合后的推薦列表與基于內容的推薦列表進行串行融合得到最終的推薦列表。融合策略如圖1所示。
5 基于協同過濾與內容推薦的算法融合實驗
5.1 實驗數據
基于協同過濾與內容推薦的算法在推薦系統中的融合研究是一個熱門且富有成效的領域。研究借助MovieLens數據集來進行實證分析。MovieLens數據集是由GroupLens Research團隊提供的一個公開數據集,MovieLens數據集包含多個版本(如100K、1M、10M等) ,各版本數據集根據規模不同包含數量不等的用戶對電影評分記錄。文章中的實驗采用1M版本,包含超過一百萬條評分數據。該數據集通常由用戶信息文件、電影信息文件和用戶-電影評分文件3 個主要部分組成,分別記錄了用戶的詳細信息、電影的基本信息及用戶對電影的評分和時間戳。MovieL?ens數據集廣泛應用于推薦算法的性能驗證和評估,特別是在協同過濾、內容過濾和混合推薦系統等領域發揮著重要作用。
5.2 評價指標
本實驗選取的評估準則為準確率(Precision) ,準確率越高,表示系統推薦的物品與用戶實際興趣匹配度越高,用戶滿意度和參與度也可能隨之提升。準確率的公式通常定義為正確推薦的項目數除以推薦的總項目數。用數學符號表示,準確率的計算公式如式(2) 所示:
p = TP/TP + FP (2)
式(2) 中:TP(True Positives) 表示真正例,即推薦系統中被正確推薦且用戶實際感興趣的項目數;FP(False Positives) 表示假正例,即推薦系統中被錯誤推薦而用戶實際上不感興趣的項目數。
5.3 實驗結果與分析
使用混合推薦算法與傳統的基于用戶的協同過濾推薦算法和基于物品的協同過濾推薦算法進行實驗。分別以MovieLens 1M數據集進行比較測試,權重采用預設的0.7(User-CF推薦) 和0.3(Item-CF推薦) ,計算3種方法的準確率,結果如表1所示。
根據表1中的數據可知,采用的混合推薦算法在指定推薦個數的情況下準確率均優于單個的推薦方法。權重確定不是一次性的任務,而應隨著數據變化、用戶需求變化等因素進行持續優化。未來還將繼續收集用戶對推薦結果的反饋,如點擊率、觀看時長、評分等。根據用戶反饋來動態調整不同推薦算法的權重,以優化用戶體驗,提高推薦效果,實現個性化的推薦。由于協同過濾和內容推薦算法基于不同的原理生成推薦結果,為了能夠增加推薦列表的多樣性,滿足用戶的不同需求。最后將加權融合后的推薦列表與基于內容推薦列表進行串行融合得到最終的推薦列表。
6 結束語
文章深入探討了基于協同過濾和內容的推薦算法在電影推薦系統中的融合研究。通過對這兩種算法和相似度計算的研究以及對相似度計算方法進行針對性的優化與改進,創新性地提出了一種算法融合的策略。經過在MovieLens數據集上實驗證明,融合后的算法成功提升了推薦系統的推薦性能。相于僅使用單一算法的推薦系統,融合了多種算法的推薦系統具有顯著優勢:它不僅結合了協同過濾和內容推薦等技術,更全面地捕捉用戶興趣與物品特征,從而提升了推薦的準確性;同時,通過靈活運用多種推薦算法,有效緩解了數據稀疏性帶來的挑戰,增強了系統的數據利用能力;此外,混合推薦系統還能提供更多樣化的推薦選擇,避免了推薦結果的單一化;并且,由于融合了多種算法,系統的魯棒性和穩定性也得到提升,降低了單一算法失效對整體性能的影響。研究為電影推薦系統的優化提供了新的思路和方法,也為提升用戶體驗和滿足用戶個性化需求提供了有力的支持。未來,隨著大數據和人工智能技術的不斷發展,推薦系統的算法研究將繼續深入,為用戶提供更加智能化、個性化的推薦服務。
參考文獻:
[1] 劉華玲,馬俊,張國祥.基于深度學習的內容推薦算法研究綜述[J].計算機工程,2021,47(7):1-12.
[2] 徐文濤,王誠.基于降低數據稀疏度的協同過濾算法[J].計算機技術與發展,2024,34(5):170-174.
[3] 王小林.基于協同過濾算法的信息技術課程資源推薦系統設計與應用[J].信息與電腦(理論版),2024,36(5):254-256.
[4] 董慧慧.基于XGBoost的協同過濾算法在民宿推薦系統中的應用[J].電腦知識與技術,2024,20(24):67-69.
[5] 錢澤俊,劉潤然.融合電影流行性與觀影時間的協同過濾算法[J].網絡安全與數據治理,2024,43(2):54-63.
【通聯編輯:代影】