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