侯林坤
摘要:根據《中國互聯網絡發展狀況統計報告》[1],截至2019年6月,互聯網普及率達61.2%。我國網絡視頻用戶規模達7.59億,占網民整體的88.8%[2],網絡將為成為用戶獲取影片的主要來源。同時,影片生產速度在不斷加快,影片數量不斷增加。面對海量影片,相比明確需求信息的搜索引擎,模糊用戶需求的電影個性化推薦更勝一籌。該文在電影個性化推薦算法的基礎上,設計并實現了電影個性化推薦系統,準確推薦符合用戶興趣喜愛的影片,獲取用戶信任,增加黏性。
關鍵詞:協同過濾算法;電影推薦系統;個性化;軟件工程
中圖分類號:TP311 文獻標識碼:A
文章編號:1009-3044(2020)27-0041-02
開放科學(資源服務)標識碼(OSID):
隨著影片生產鏈的逐步完善,影片數量將呈指數增長。現有的搜索引擎已不能解決,人們在面對影片數據過載的沖擊。因此,電影個性化推薦系統應運而生。其中,涉及電影個性化推薦算法、電影個性化推薦技術等的體系也在不斷地完善。本文將對實現電影個性化推薦系統所涉及的開發環境、算法等進行具體說明,其中包括,電影個性化推薦系統的算法、電影個性化推薦系統的需求分析、電影個性化推薦系統的設計實現。
1 電影個性化推薦系統的算法
個性化推薦算法早在1992應用于郵件識別,隨后在各個領域廣泛推行。在電影領域,個性化推薦算法已經不可或缺,并且在國內外都應用實踐。例如:YouTube推薦系統推薦影片,要經過候選池、排名池兩層網絡,篩選除符合用戶的影片;愛奇藝推薦系統分為召回階段和排序階段,從海量的視頻庫中找到與用戶興趣相符的影片。
本文以基于協同過濾的算法為核心,設計并實現電影個性化推薦系統。其中,協同過濾是現在應用最廣泛的算法之一。基于協同過濾的電影推薦算法,通常被劃分成三步:建立用戶一電影評分矩陣;利用相似度計算確定確認最近鄰居集合;評分預測。在上述三個步驟中,相似度計算是整個流程最為核心的步驟。在用戶一電影評分矩陣對用戶之間的相似度計算之后,為用戶建立最近鄰居集合,該處便是相似度計算。
電影個性化推薦算法通過構建用戶評分之間的關聯,預測符合用戶興趣喜愛的影片。因此,電影個性化推薦系統中,收集用戶信息數據,以及個性化推薦算法的改進是最關鍵,最重要的兩步驟。收集用戶信息,通過大量的用戶信息數據訓練,是保障個性化推薦算法準確率的必要前提。其中,可以收集用戶對影片的評分、用戶觀看影片的類型、用戶觀看影片的時長,以及用戶的性格別、年齡等信息。個性化推薦算法是整個電影個性化推薦系統的核心部分,保證推薦用戶的影片符合用戶興趣喜愛。當前的電影個性化推薦算法有:基于內容的推薦算法、基于協同過濾的推薦算法、基于網絡結構的推薦算法、基于混合算法的推薦算法。只有通過各類推薦算法不斷改進,電影個性化推薦系統的準確率才能更加準確。
2 電影個性化推薦系統的需求分析
本文按照軟件工程的原則,對電影個性化推薦系統進行了需求分析。首先,提出了整個系統的設計目標;其次,對系統進行了可行性分析,以保證系統能夠正常運行;第三,對系統進行了頂層用例分析,以明確角色身份;第四,對系統進行了功能模塊劃分,以滿足用戶的需求;最后,對系統進行了性能需求分析,以保障用戶在使用本系統時能有更好的用戶體驗。
本文設計電影個性化推薦系統的主要功能劃分為多個子模塊,包括系統首頁模塊、新上映模塊、猜你喜歡模塊等。其中,猜你喜歡是本系統的特色模塊,也是核心模塊。其本質是通過會員用戶的歷史足跡,構建會員用戶的模型,預測符合用戶興趣喜愛的影片。
電影個性化推薦系統頂層用例分析中,將角色分成三類,方便管理。首先是后臺管理員,增添、修改以及刪除影片信息、管理用戶信息;其次,會員用戶。使用注冊登錄功能,系統生成相應的用戶數據庫,會員用戶可以記錄其歷史足跡。最后是游客用戶,不用進行注冊登錄。同時,不能使用系統的猜你喜歡(個性化影片推薦),只能瀏覽系統常規頁面。
3 電影個性化推薦系統的設計與實現
3.1 開發環境
本次開發基于HTML+Javascript(CSS)+DB環境和Django框架來完成。HTML用來展示前端界面,Javascript作為前端開發語言,通過aJax與后臺進行數據交互,DB作為本地數據庫使用,Django作為內容管理框架使用,Mysql數據庫存儲影片、用戶數據。
3.2 電影個性化推薦系統的系統設計
本文在需求分析的基礎之上,對電影個性化推薦系統進行了整體架構設計、功能模塊設計和數據庫設計。系統的整體架構采用B/S結構,并采用Django作為內容管理框架,各層功能明確。通過功能模塊設計,整個系統被分解為多個低耦合、高內聚的子系統,我們對各個模塊的設計方法進行了詳細解析。另外,系統通過Django自動生成數據庫中的所有表結構。
本電影個性化推薦系統的框架基于B/S架構設計,采用Django作為內容管理框架使用,采用池化的設計思路將總體分為三個層次,即數據層、交互層和業務層。交互層的作用在于與用戶溝通,包括用戶的注冊登錄、用戶與影片的信息管理以及最關鍵的影片個性化推薦。業務層的作用在于數據邏輯處理,包括用戶對影片的評分、查詢以及用戶信息的更新、影片算法的實現。數據層的作用在于對非原始數據的操作,存儲用戶信息、影片信息、用戶評分、用戶模型、推薦結果。其中,電影的個性化推薦是最重要。
4 總結與展望
隨著時代的前行,網絡已經滲透到我們的日常生活當中。電影作為我們生活的日常娛樂,也會加入互聯網的浪潮中。其中,人們將面對海量的影片數據。當傳統的搜索引擎不能滿足用戶的需求時,電影個性化推薦系統的興起是必然的。但是,面臨的數據稀疏、可擴展性差、新用戶冷啟動等問題還在影響著電影個性化推薦算法的準確率。因此,改進電影個性化推薦算法,任重而道遠。
參考文獻:
[1]中國互聯網絡信息中心第44次中國互聯網絡發展狀況統計報告[EB/OL].中國網信網,2019:5-42.
[2]祖麗亞提·阿尼瓦爾,阿布都瓦依提·尼亞孜.短視頻對社會的影響力分析[J].新聞研究導刊,2019,10(23):149-150.
【通聯編輯:代影】