陳鏗,蔡默晗,李德超
(北方工業(yè)大學(xué)信息工程學(xué)院,北京100144)
隨著科技的飛速發(fā)展,信息服務(wù)也隨之得到了巨大的發(fā)展,用戶在獲取信息服務(wù)便利的同時,同樣也面臨著得到了大量無用信息,即所謂的信息超載問題。人們每天都要受到成百上千條信息的轟炸,那么,“信息過濾器”將顯得尤為突出,是我們?nèi)粘I钪胁豢苫蛉钡拇嬖?,同時也是信息供應(yīng)商在當(dāng)今激烈的信息市場脫穎而出的超級必殺技。面對海量的網(wǎng)絡(luò)信息,人們所需要的是一種解決信息超載的服務(wù)技術(shù),而個性化推薦系統(tǒng)便是一種極具潛力的解決信息超載的服務(wù)技術(shù)。個性化推薦系統(tǒng)能夠從許多繁雜信息中推薦出用戶喜歡的信息。生活中的個性化的推薦隨處可見,例如電商平臺的“猜你喜歡”模塊,音樂平臺的“每日推薦”模塊,以及社交網(wǎng)站的“相似用戶”模塊。推薦系統(tǒng)能夠挖掘用戶的潛在興趣,有效地提高商品的交叉銷售能力。
為了使人們在當(dāng)今的海量信息中有效篩選自己想要的信息,個性化推薦系統(tǒng)在眾多信息服務(wù)技術(shù)中脫穎而出,2016 年,深度學(xué)習(xí)正處于其研究的火熱時期,YouTube 便將深度神經(jīng)網(wǎng)絡(luò)應(yīng)用到了推薦系統(tǒng)中,使推薦系統(tǒng)的個性化程度進(jìn)一步提高,在生成的推薦內(nèi)容中,進(jìn)一步過濾出最符合用戶喜好的內(nèi)容。2017 年,風(fēng)靡網(wǎng)絡(luò)的短視頻App——抖音,在使用基于協(xié)同過濾的推薦算法的同時,將深度神經(jīng)網(wǎng)絡(luò)也融合了進(jìn)去,從用戶的瀏覽歷史紀(jì)錄以及當(dāng)前的熱門視頻,進(jìn)一步分析了用戶的喜好與視頻的特征信息,不斷地將用戶感興趣的內(nèi)容推薦出來,因此打造了當(dāng)時最為火熱的短視頻App。2018 年,注意力機(jī)制在推薦算法中有了新的應(yīng)用。注意力機(jī)制的引入,極大地提高了對信息過濾的效率。同時,用戶的愛好存在多樣性,注意力[1]機(jī)制結(jié)合神經(jīng)網(wǎng)絡(luò)也更加精準(zhǔn)地分析出了用戶的興趣愛好。本系統(tǒng)的設(shè)計開發(fā)平臺是PyCharm,采用Py?thon 編程語言來進(jìn)行數(shù)據(jù)的獲取以及數(shù)據(jù)的預(yù)處理,使用PyQt 來搭建推薦系統(tǒng)的界面。
一般來說,個性化推薦系統(tǒng)的原理就是給用戶推薦與他們所喜歡的物品相似的物品,其技術(shù)實現(xiàn)主要分為以下三點:基于內(nèi)容的推薦技術(shù)、基于用戶的協(xié)同過濾推薦技術(shù)以及基于物品的協(xié)同過濾推薦技術(shù)。
基于內(nèi)容的推薦系統(tǒng)可以很直觀地根據(jù)物品屬性特征以及用戶偏好信息生成推薦列表。其推薦原理如圖1 所示。
圖1 基于內(nèi)容的推薦原理
此時,電影的特征屬性是電影類型,假設(shè)有三個用戶,分別為用戶1、用戶2 和用戶3,用戶1 和用戶3 喜歡科幻和冒險類的電影,而用戶2 喜歡家庭喜劇類電影,電影A、C 兩者都屬于同一種類型的電影,所以判定兩者為相似電影,由此便可以推測用戶1 也喜歡電影C。所以在推薦時向用戶1 推薦沒有過行為的電影C。
基于內(nèi)容的推薦算法其本質(zhì)就是把物品的特征屬性和用戶的喜好信息聯(lián)系起來,其流程圖如圖2 所示。
圖2 基于內(nèi)容的推薦流程圖
假設(shè)有三個用戶,分別為用戶1、2、3。用戶1 和用戶3 都喜歡電影A,那我們就可以將用戶3 和用戶1判定為相似用戶。同時用戶3 也喜歡電影A,所以我們便向用戶1 推薦其沒有過歷史行為的電影C。
基于物品的推薦算法其本質(zhì)就是找到不同物品的相似物品,其中主要步驟分為以下三步:
(1)構(gòu)建出用戶評分表,以用戶評分來反映用戶對物品的喜好程度,需要依據(jù)實際的需要進(jìn)行設(shè)置。
(2)計算相似度:
在上式中,u、v 代表不同用戶,N 表示用戶有過評分的物品數(shù)量。
(3)得到用戶相似度之后,計算用戶對之前沒有評過分物品的評分,采取公式為:
S(u,K)表示與用戶u 興趣最接近的K 個用戶的集合,而N(i)是指對物品i 有過行為的用戶集合,如果要判斷用戶u 對物品i 的興趣程度,那么就要從與其興趣最接近的K 個用戶中挑出對i 有過行為的用戶,因此兩者取交集。Wuv是用戶u 和用戶v 的興趣的相似度,rvi代表用戶v 對物品i 的興趣程度。
計算完評分之后,對這些評分進(jìn)行排序,然后推薦前k 個未評分的物品給該用戶。
圖3 基于用戶的協(xié)同過濾推薦技術(shù)原理
物品的協(xié)同過濾算法是目前業(yè)界使用最多的推薦算法[2],其核心思想是通過分析用戶之前喜歡的物品,找出這些物品特征,再找到跟這些特征相似的物品,最后將其推薦給該用戶。ItemCF 算法認(rèn)為,如果同時喜歡這兩件物品的用戶數(shù)量越多,那么就判定這兩件物品的相似度也就越高。
用戶1 喜歡電影A 跟B,用戶2 喜歡電影A,電影B 和電影C,用戶3 喜歡電影B。從這些用戶喜好中,我們可以發(fā)現(xiàn)用戶1 和用戶2 同時喜歡電影A 和電影B,因此我們可以認(rèn)為電影A 和B 屬于相似電影,因為喜歡電影A 的用戶同時也喜歡電影B。所以推測用戶3 同樣也會喜歡電影A,于是在推薦時可以向用戶3 推薦將電影A。在ItemCF 中,物品成為了算法的主體,物品的相似度成為了推薦的根本依據(jù),具體實現(xiàn)步驟如下:
圖4 基于物品的協(xié)同過濾推薦技術(shù)原理
(1)構(gòu)建用戶評分信息表
因此在駕駛時實現(xiàn)調(diào)整智能自動化技術(shù)能夠加強(qiáng)車輛控制和機(jī)車運(yùn)轉(zhuǎn)狀態(tài)的監(jiān)控與調(diào)整,讓駕駛?cè)藛T更容易的能夠及時知道機(jī)車及時的運(yùn)轉(zhuǎn)狀態(tài),預(yù)防危險狀況的出現(xiàn)。結(jié)合科學(xué)技術(shù)調(diào)控系統(tǒng),設(shè)定對車輛水箱內(nèi)的降溫水溫度范圍的嚴(yán)格調(diào)控,如果超過或少于設(shè)定的調(diào)控范圍,便將會發(fā)起自我保護(hù)信號并及時進(jìn)行系統(tǒng)調(diào)控,與此同時還會有警報來提醒駕駛員注意。至于剎車問題的解決方案,對不同的路面狀況,計算機(jī)系統(tǒng)將運(yùn)轉(zhuǎn)信息回饋至中心調(diào)控處理體系,體系通過對狀況的精準(zhǔn)判定作出精確的預(yù)算。在人工智能的協(xié)助下,還可能給司機(jī)行駛意見,規(guī)劃更為安全的路徑。
(2)計算物品之間的相似度,首先重構(gòu)物品評分信息,然后根據(jù)重構(gòu)的表來創(chuàng)建同現(xiàn)矩陣相似度由公式來計算:
在上式中,i、j 代表不同物品,N 表示喜歡該物品的用戶數(shù)。
該公式的意義在于懲罰了活躍的用戶,即懲罰熱門物品的權(quán)重,那么就會減輕熱門物品與許多物品相似的可能性。
(3)計算推薦結(jié)果
計算完用戶評分表以及物品相似度表之后,通過使用公式來計算評分。
其中S(i,k)是指和物品j 最相似的K 個物品的集合,N(u)則是指用戶u 喜歡物品的集合,Wij指物品i 與物品j 的相似度,ruj表示用戶u 對物品i 的興趣程度。
該公式的最主要的意義便是在用戶的歷史紀(jì)錄中感興趣的物品越相似的物品,便可以在推薦列表中有較高的排名。
本文基于內(nèi)容的推薦技術(shù),基于用戶的協(xié)同過濾推薦技術(shù)以及基于物品的協(xié)同過濾推薦技術(shù)分別進(jìn)行了調(diào)試,并使用Qt Designer 工具來實現(xiàn)界面的搭建。實驗結(jié)果如圖5。
圖5 準(zhǔn)確率運(yùn)行截圖
圖6 基于內(nèi)容的電影推薦
在Python 開發(fā)環(huán)境和PyCharm 的軟件環(huán)境下進(jìn)行實踐,主要對從豆瓣電影中爬取的數(shù)據(jù)進(jìn)行預(yù)處理,而界面使用了Qt Designer 工具來搭建,之后使用基于內(nèi)容的推薦算法設(shè)計并完成了一個電影推薦系統(tǒng),同時使用數(shù)據(jù)增廣的方式來填充數(shù)據(jù),緩解用戶評分?jǐn)?shù)據(jù)稀疏問題。同時,也通過基于協(xié)同過濾的兩種推薦算法驗證了此方法的可行性。同時分析了不同K 值對推薦算法準(zhǔn)確率的影響結(jié)果。