?

基于用戶畫像的電影推薦系統的設計與實現

2024-01-05 06:39黃奕宸
銅仁學院學報 2023年6期
關鍵詞:畫像用戶算法

黃奕宸

基于用戶畫像的電影推薦系統的設計與實現

黃奕宸

(南京信息工程大學 雷丁學院,江蘇 南京 210044)

針對傳統推薦算法在電影推薦系統中無法滿足用戶對電影查找效率的要求,提出一種基于用戶畫像的電影推薦算法。首先,對基于內容、協作過濾、組合和用戶特征的推薦方法進行研究,針對用戶興趣、群體和個性化特征,將不同的電影推薦算法進行融合并提出了一種基于用戶畫像的電影推薦算法;其次,將基于用戶畫像的推薦算法應用于影片推薦,設計并實現了基于用戶畫像的電影推薦系統,完成了影片推薦和后臺管理等主要功能模塊的開發。應用結果表明,該系統可使用戶方便快捷地獲取自己感興趣的電影信息,提升了數據查找的效率。

電影推薦; 用戶畫像; 層次聚類; 協同過濾

一、引言

隨著互聯網的飛速發展,數據的爆炸式增長使人類迅速步入到大數據時代,網絡是人們獲取信息資源的一條重要途徑。然而,面對如此海量且復雜的數據,如何快速地找到自己感興趣或對自己有用的信息會十分困難[1-2]。所以,使用網絡去查找自己想要的信息成為了現在大部分人的首選。但是,即使是在網絡上查找數據,面對如此龐大的數據量,對于現在人們快節奏的生活方式來說查找速度相對比較慢,因此,提升數據查找效率尤為重要。

在推薦系統中,常用推薦算法有基于內容的推薦算法、基于協同過濾的推薦算法和組合推薦算法[3]?;趦热莸耐扑]算法的基本思想是根據用戶已經選擇的對象,從推薦對象中選擇其他特征相似的對象作為推薦結果。這一推薦策略首先提取推薦對象的內容特征,和用戶模型中的用戶興趣偏好匹配,匹配度較高的推薦對象就可作為推薦結果推薦給用戶?;趦热莸耐扑]算法可以避免“過度推薦”現象,但是它需要對物品進行特征提取和相似度計算,這些過程需要消耗大量的計算資源和時間。針對此問題,計算推薦項目模型中項目的特征和用戶模型中用戶的偏好兩者之間的相似性是關鍵,常用的方法有決策樹、神經網絡和基于向量的表示方法等[4]。

基于協同過濾的推薦算法是比較經典的推薦算法,它在系統擁有用戶偏好信息、用戶使用或購買歷史和用戶歷史評分數據的情況下,可以挖掘出用戶潛在且未知的興趣愛好,表現出良好的推薦性能。但隨著內容的復雜,用戶和項目的增加,算法本身就存在一些問題,如冷啟動問題[5]和數據稀疏性問題[6]等。針對這些問題,很多學者對傳統協同過濾推薦算法進行了研究并改進,例如,Tso等[7]采用基于內容的最近鄰居查找技術解決冷啟動問題,Zhang等[8]運用BP神經網絡緩解數據稀疏性問題。

組合推薦算法的核心思想是通過組合不同推薦策略,達到揚長避短的目的,從而產生更符合用戶需求的推薦。理論上講可以有很多種的推薦組合方法,但目前研究和應用最多的組合推薦是基于內容的推薦和系統過濾推薦的組合[9],主要混合思路包括推薦結果混合和推薦算法混合。如Good等[10]采用投票機制來組合推薦結果,采用一定的標準對兩者產生的推薦結果判斷,從而選擇其中之一,利用預測打分的線性組合進行推薦。Cattuto等[11]采用協同推薦的框架內混合基于內容的推薦來進行社會網絡分析。

基于此,本文提出一種新的基于用戶畫像的推薦算法。首先,對基于內容、協作過濾和組合的推薦方法進行了深入研究,并將不同的電影推薦算法進行融合,將其應用于影片推薦之中;其次,結合熱門影片特征探討了影片推薦策略與方法,完成了基于用戶畫像的影片推薦和后臺管理等主要功能模塊的開發。

本文主要創新點在于:

(1)對基于內容、協作過濾、組合和用戶特征的推薦方法進行了研究,將不同的電影推薦算法進行融合并提出一種新的基于用戶畫像的推薦算法;

(2)設計并實現了基于用戶畫像的電影推薦系統,詳細介紹了電影推薦系統的框架,完成了影片推薦和后臺管理等主要功能模塊的開發。

二、本文推薦算法實現

(一)數據準備

根據使用者的特征,可以按照使用者的偏好及行為記錄,向不同的使用者推薦影片。其中,最重要的信息是影片的細節、使用者的個人資料以及使用者的觀影記錄。影片細節一般包括影片的名字、導演、演員、放映時間、類型、地區以及影片簡介。如圖1所示。這些信息可以通過Python進行爬蟲來獲得。在此基礎上,可以根據用戶的喜好,對其進行分類,并根據其喜好,進行個性化的影片推薦。用戶的觀影記錄是隨機尋找幾位同學根據自己的習慣去查詢電影,通過真實點擊得到的數據。用戶信息也是根據這幾位使用的同學來制作的真實數據。

(二)數據處理

本電影推薦系統主要是處理用戶在使用過程中生成的觀影記錄表中的數據,使用的工具是Python。首先,篩查出目前正在使用該系統的用戶觀影記錄中每一條觀影記錄所觀看的電影的詳細信息,并將這些信息存在一個文本文件中作為樣本文件1,然后對樣本文件進行分詞并去掉停用詞生成一個樣本文件2;其次,生成一個不包含重復電影信息的列表,該列表用來記錄后續相關詞頻。通過對樣本文件1的分析,可以利用時域分析方法對關鍵字進行權重計算。

(三)基于用戶畫像的電影推薦

1.基于興趣畫像的電影推薦

基于興趣畫像的電影推薦是根據上面的數據處理得到的興趣標簽權重來進行推薦影片,這些興趣標簽權重是根據用戶的觀影記錄以及影片的相關內容而得到,所以與用戶的興趣息息相關。推薦方式是根據該標簽的權重乘以要推薦的總影片數10得到該類型影片需要推薦幾部,算法如公式(2)所示。

用戶畫像的標簽是推薦電影的主要依據,根據標簽來確定所推薦的相關類型的電影,再根據權重得到該類型需要推薦多少部影片,基于興趣畫像的推薦流程圖如圖2所示。

圖2 基于興趣畫像的推薦過程圖

2.基于群體畫像的電影推薦

相同類型的用戶,他們的興趣是非常相近的。因此,向他們推薦的電影大概率也是他們喜歡看的,或者是他們沒看過但是看了之后會很喜歡,這就將他們潛在的電影偏好類型給挖掘出來了。生成興趣畫像的相關聚類系統采用的是層次聚類算法,層次聚類流程圖如圖3所示。

首先,拿到所有用戶的觀影記錄并將每個用戶所觀看的電影詳細信息(電影類型、導演、主演和地域)保存在初始數據文本中。然后,再將初始數據文本按照用戶進行分詞并刪掉停用詞,得到的數據保存在初始標簽文本中。接下來,將原始標簽文本轉換為詞條矩陣,并利用TF-IDF算法對每個詞進行權重計算而得到權重矩陣。最后,通過使用加權矩陣來計算聚類之間的相似性。余弦值的計算如公式(3)所示。

圖3 層次聚類流程圖

將上面聚類得到的結果作為協同過濾模型的輸入,查詢到與當前觀影用戶在一個用戶群中的用戶,并將其他用戶看過最多的電影但是該用戶沒有看過的前十部電影推薦給他,如圖5所示。

圖5 系統實現推薦的過程圖

3.基于用戶屬性畫像的電影推薦

選擇性別屬性作為推薦的條件之一是因為男用戶和女用戶之間喜歡觀看的影片一般會存在較大的差異。選擇年齡屬性作為推薦的條件之一是因為不同年齡的用戶所觀看的影片也會有很大的差異,例如年輕一些的用戶喜歡看愛情或者動作影片,但是中年用戶就喜歡看一些紀錄片或者家庭倫理的影片。選擇星座屬性作為推薦條件之一是因為即使是同一性別同一年齡的人,他們的性格也會有不同,性格的不同也會導致所觀看影片的類型有所差異。所以,本文選擇利用以上這些屬性疊加來對觀影用戶進行分類,同時也參考了協同過濾的思想來進行推薦,將處在同一個屬性畫像的用戶看過最多的前十部電影推薦出去,這樣就實現了基于用戶屬性畫像的電影推薦。

基于用戶屬性畫像的電影推薦描述了相同性別、年齡和星座用戶的整體偏好,為用戶提供了很好的電影參考。并且此模塊的電影推薦與前面使用的電影推薦方式相比,優點是基于用戶屬性畫像的電影推薦方式不存在冷啟動問題,即使該用戶從來沒有產生過任何一條觀影記錄,也可以根據該用戶的屬性畫像來推薦電影,如圖6所示。

圖6 基于用戶屬性畫像的電影推薦過程圖

三、推薦系統的設計

(一)需求分析

1.系統的功能需求

影片推薦部分利用用戶的個人特征和行為數據,結合先進的推薦算法,為用戶提供符合其興趣和喜好的電影推薦。而影片數據管理部分則負責對電影庫進行維護和管理,確保電影信息的準確性和完整性。電影推薦模塊主要負責用戶的登錄、檢索和修改個人信息的操作,并且為觀影用戶提供基于星座的推薦、基于用戶畫像的協同過濾推薦、熱門電影推薦、最新影片推薦和基于用戶興趣畫像的推薦。資料管理模塊提供了查詢、插入和修改影片數據的功能,同時也支持將觀眾的觀看記錄導入到影片中。管理員可以通過這個模塊方便地管理影片庫的數據,更新影片信息,并將觀眾的觀看記錄與相應的影片進行關聯。這樣的設計可以幫助管理員有效地管理和維護影片系統,確保數據的準確性和完整性。

2.用戶的需求分析

從圖7可以看出,此系統的操作對象有兩種,分別是用戶和管理員。用戶在此系統中擁有自己的賬號和個人資料,登錄后可自行查看、修改,此外用戶可以翻閱影片信息,獲得系統推薦。另外,管理員也擁有個人賬號,登錄后即可管理影片的相關工作,也可以管理用戶的各種信息。

圖7 管理員與觀影用戶用例圖

3.開發技術以及軟件環境

對于本系統來說,Python語言非常適配聚類算法,因為Python在處理數據方面非常的便捷和高效,它非常適合對于大數據的處理。J2EE技術能夠構成多層級的信息化系統結構體系[13],在企業信息化建設的實際應用中,能夠簡化系統構建流程,降低信息化建設成本,提高企業經濟效益,同時具有良好的可用性、可拓展性、安全性以及穩定性。

本系統使用的是Spring Boot框架[14]。Spring Boot框架通過大量注解實現自動化配置,只需要添加相應的場景依賴,就可以快速構建出一個獨立的Spring應用,無需手動添加配置,從而大大減少了開發人員的工作量,提高了開發效率。Spring Boot框架內部已經實現了與Spring以及其他常用第三方數據庫的整合連接,并提供了默認最優化的整合配置,使用時基本上不需要額外生成配置代碼和XML配置文件,代碼結構清晰,易于維護和擴展,同時也提供了豐富的監控和管理工具,方便開發者進行應用的監控和管理。而且,Spring Boot框架提供了豐富的測試支持,可以方便地進行單元測試和集成測試。因此,Spring Boot框架也受到了大多數企業和開發人員的喜愛。

(二)系統的設計

1.系統功能模塊的設計

系統功能模塊設計如圖8所示:

圖8 系統功能模塊圖

2.系統的開發框架的設計

基于用戶畫像的電影推薦系統采用的是SpringBoot+MyBatis框架進行研究開發,業務處理使用的是SpringBoot,MyBatis用作數據持久層與本數據庫進行相關交互[15]。SpringBoot框架分為實體層、服務層、控制層及負責數據庫持久化操作的Mapper映射層。實體層存放的是實體類,實體層里面的屬性與數據庫中的屬性保持一致,這樣方便了數據的傳遞與相關操作。

系統的工作流程如下:當前端JSP頁面向控制層發送請求時,控制層將調用相應的服務層方法來處理相關的邏輯,服務層進一步調用數據存取層執行數據操作,而數據存取層則利用MyBatis與數據庫進行數據交互。這樣的架構設計使得系統各層之間的職責清晰,實現了請求處理和數據操作的分離,提高了系統的可維護性和擴展性。

3.數據庫的設計

基于用戶畫像的電影推薦系統采用的是輕量級數據庫MySQL,并且數據庫的設計滿足第三范式,具有良好的穩定性。具體見用戶信息表、觀影記錄表和影片信息表(表1—3)。利用數據庫表,系統可以對用戶數據、觀影記錄和電影信息進行有效地管理,滿足了系統的正常運作和數據分析的需要。

表1 用戶信息表

表2 觀影記錄表

表3 影片信息表

四、系統主要功能模塊及界面實現

(一)電影推薦模塊的實現

如果是首次訪問該電影推薦系統,將看到一個與圖9(a)相對應的全新網頁。在首頁的中央位置,有三個推薦欄目,分別是今日推薦、大家都在看和最新上映;用戶登錄界面的設計如圖9(b)所示,登錄后可進入網站首頁;當用戶登錄成功之后,就會進入主頁,這個主頁的界面如圖9(c)中所示。在這個網頁上,有星座推薦、興趣推薦、合作推薦、觀影排名以及最近的電影推薦。搜索欄頁面如圖9(d)所示,搜索結果頁面如圖9(e);電影詳細頁面,如圖9(f)所示。這個網頁包含了電影的種類、放映時間以及電影的星級等信息。

(a) 初始頁面(b) 用戶登錄界面 (c) 用戶登錄后的首頁(d) 搜索結果圖 (e) 查看詳細圖(f) 電影詳細頁面

(二)后臺管理模塊的實現

后臺管理模塊是供影像系統管理員使用的,資料輸入頁如圖10(a)所示;管理員需要每隔一段時間(一周左右)去點擊一下右下角的“更新聚類結果”按鈕,用戶群體畫像就會更新一次;用戶管理頁面,如圖10(b)所示;管理人員可通過用戶名稱和賬號等方式獲取用戶相關信息,并進行編輯或刪除操作,如圖10(c)所示;電影管理頁如圖10(d)所示,在電影資料變更頁中,管理員可以變更電影的名稱、類型、導演、主演和其他相關的資料,如圖10(e)所示。

(a) 數據導入頁面(b) 用戶管理界面 (c) 編輯用戶信息界面(d) 影片管理界面 (e) 修改電影信息頁面

五、結論

為了解決傳統推薦算法在電影推薦系統中效率低且準確度不高等問題,本文基于不同電影推薦算法,提出一種基于用戶畫像的推薦算法并應用于電影推薦系統。一方面,通過融合內容、協同過濾、組合技術以及用戶畫像分析技術,實現用戶對影片的個性化和精準化檢索;另一方面,通過需求分析,明確系統功能和用戶需求,選擇適合的開發技術和軟件環境,并設計相應的功能模塊、開發框架、界面以及數據庫,構建基于用戶畫像的電影推薦系統,能夠在用戶與管理員兩個角色之間實現良好的交互體驗,為用戶提供了高效、便捷和個性化的電影選擇,同時也為電影行業的發展帶來新的機遇和方向。

[1] 饒子昀,張毅,劉俊濤,等.應用知識圖譜的推薦方法與系統[J].自動化學報,2021,47(9):2061-2077.

[2] 范敏,郭瑞欣,李金海.網絡決策形式背景下基于因果力的鄰域推薦算法[J].模式識別與人工智能,2022,35(11):977-988.

[3] 吳正洋,湯庸,劉海.個性化學習推薦研究綜述[J].計算機科學與探索,2022,16(1):21-40.

[4] 陳曉霞,盧菁.融合多數據源的動態自適應推薦算法[J].計算機工程,2018,44(9):64-69.

[5] Bobadilla J, Ortega F, Hernando A, et al. A collaborative filtering approach to mitigate the new user coldstart problem[J]., 2012, 26: 225-238.

[6] Kim B M, Li Q, Park C S, et al. A new approach for combining content-based and collaborative filters[J]., 2006, 27(1): 79-91.

[7] Tso K, Schmidt-Thieme L. Attribute-aware collaborative filtering[M]//From Data and Information Analysis to Knowledge Engineering. Springer Berlin Heidelberg, 2006: 614-621.

[8] Zhang F, Chang H Y. A collaborative filtering algorithm embedded BP network to ameliorate sparsity issue[C]//Machine Learning and Cybernetics, 2005. Proceedings of 2005 International Conference on. IEEE, 2005, 3: 1839-1844.

[9] Pazzani M. A framework for collaborative,content-based and demgraphic filtering[J]., 1999, 13(5): 393-408.

[10] Good N, Schafer J B, Konstan J A, et al. Combining collaborative filtering with personal agents for better recommendations[C]//Proc Conf Am Assoc Artificial Intelligence, 1999: 439-446.

[11] Cattuto C, Loreto V, Pietronero L. Semiotic dynamics and collaborative tagging[J]., 2007, 104(5): 1461-1464.

[12] 馮建英,王博,吳丹丹,等.用戶畫像技術與其在農業領域應用研究進展[J].農業機械學報,2021,52(S1):385-395.

[13] 張玉潔,董政,孟祥武.個性化廣告推薦系統及其應用研究[J].計算機學報,2021,44(3):531-563.

[14] 于強,林民,李艷玲.基于深度學習的關鍵詞生成研究綜述[J].計算機工程與應用,2022,58(14):27-39.

[15] 張智,王韻楚,林振智,等.基于套餐隱式評分與用戶畫像的電力套餐推薦方法[J].電力系統自動化,2023,47(4):91-101.

Design and Implementation of Movie Recommendation System Based on User Profile

HUANG Yichen

( NUIST Reading Academy, Nanjing University of Information Science and Technology, Nanjing 210044, Jiangsu, China )

Aiming at the traditional recommendation algorithm in the film recommendation system cannot meet the user's requirements for the efficiency of film finding, this paper proposes a film recommendation algorithm based on user profile. Firstly, the recommendation methods based on content, collaborative filtering, combination and user characteristics are studied, and different movie recommendation algorithms are fused and a movie recommendation algorithm based on user profile is proposed according to user interests, groups and personalized characteristics; Secondly, the user-image-based recommendation algorithm is applied to film recommendation, the user-image-based film recommendation system is designed and implemented, and the development of film recommendation and background management modules is completed. The application results show that the system can enable users to obtain the film information they are interested in easily and quickly, thereby improving the efficiency of data search.

movie recommendation, user profile, hierarchical clustering, collaborative filtering

2023-10-11

黃奕宸(1999-),男,苗族,貴州銅仁人,碩士,研究方向:數據決策與分析應用。

TP393/J90-05

A

1673-9639 (2023) 06-0075-09

(責任編輯 郭玲珍)(責任校對 肖 峰)(英文編輯 田興斌)

猜你喜歡
畫像用戶算法
威猛的畫像
“00后”畫像
畫像
基于MapReduce的改進Eclat算法
Travellng thg World Full—time for Rree
進位加法的兩種算法
關注用戶
關注用戶
一種改進的整周模糊度去相關算法
關注用戶
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合