李其娜, 李廷會
(廣西師范大學 電子工程學院, 桂林 541004)
伴隨著新信息技術時代的到來, 云計算、大數(shù)據(jù)、物聯(lián)網、人工智能等信息技術得到了快速發(fā)展,傳統(tǒng)產業(yè)數(shù)字化也要面臨著轉型等問題.IDC《數(shù)字宇宙》的研究報告表明, 2020 年全球新建和復制的信息量是2012 年的12 倍, 將超過40 ZB.然而, 幾何級增長的數(shù)據(jù)量為人們的生活帶來便利的同時也附帶了許多的問題.商家與客戶的信息需求矛盾, 商家是想要把產品信息提供給盡可能多的客戶, 而客戶難于從這龐大的信息中尋找到對自己最有用的商品信息.于是推薦系統(tǒng)就應運而生, 它能根據(jù)用戶的需求、興趣以及隱藏的個性, 為用戶推薦個性化的項目信息, 極大方便了用戶對有用信息的獲取.傳統(tǒng)的推薦系統(tǒng)有基于內容推薦、協(xié)同過濾推薦和混合推薦, 但是它們只是建立在用戶和物品的二者關系上, 忽略了需要融入如用戶地點、當前時間、天氣及溫度等特定情境信息.如果能把自適應的情境信息整合到推薦系統(tǒng)中, 并且考慮用戶、物品、情境三者之間的相關性, 就能極大地提高推薦系統(tǒng)的匹配效果.近幾年, 深度學習技術取得了重大突破, 已經成為人工智能領域研究熱點之一.由于深度學習表征學習能力較強, 因此也實用于推薦系統(tǒng)領域.國際計算機學會(ACM)主辦的推薦系統(tǒng)專場(Recsys)是推薦系統(tǒng)領域的頂級會議之一.從2007 年召開第一次會議以來, 每一年都針對推薦系統(tǒng)領域的研究現(xiàn)狀提出不同的研究熱點.2008 年, 會議開始考慮把情境信息融入到推薦系統(tǒng)當中, 使得推薦系統(tǒng)能夠根據(jù)當時所在時間和位置給出更合適宜的推薦, 比如旅行推薦.到了2016 年第一次召開了把深度學習技術融入到推薦系統(tǒng)當中的專題研討會, 就是在這一年深度學習成為推薦系統(tǒng)研究的主流方法.
情境的定義一直在學術界眾說紛紜, 不同領域都有其自己的說法, 至今依然沒有一個統(tǒng)一的定論.情境,又稱上下文、情景, 是指任何一切可以用來描述實體狀況的信息, 包括位置、時間、空間、對象、系統(tǒng)和服務等.沈旺等學者認為情境是用于表征用戶及其應用程序相關的實體狀況的所有信息的集合, 包括時間、物理環(huán)境、系統(tǒng)功能和服務、人和計算實體參與的活動和任務及其相互的關系等內容[1].在前人研究的基礎上, 我們認為情境是輔助用戶決策的額外信息.因此可以把情境信息分為兩大類: 環(huán)境情境和用戶情境.環(huán)境情境指的是所有可以被傳感器、智能手機或可穿戴設備應用軟件感知或者從外部信息服務獲取的特征,例如地點、時間和溫度等.用戶情境則表示更抽象的用戶信息如用戶偏好特征、用戶活動或者用戶社交環(huán)境等, 這些情境信息變化復雜, 很難直接去感知和衡量.而且大部分相關用戶情境信息都受環(huán)境情境的影響.
1994 年Schilit 等提出情境感知這一概念之后, 情境感知技術便隨之而興起, 推動了推薦系統(tǒng)在各個領域的發(fā)展[2].2004 年萬亞紅等認為情境感知是指系統(tǒng)利用情境信息, 智能判斷用戶行為及目的并主動提供相關信息或服務, 人性化調整人與情境交互的方式和內容[3].而我們認為任何可以用相關情境信息為用戶提供相對應的產品和信息服務的都可以稱之為情境感知,讓用戶能在情境信息不斷變化時, 依然能感受貼合實際的個性化服務.
情境感知推薦系統(tǒng)就是在傳統(tǒng)的推薦系統(tǒng)中融入情境信息, 效用函數(shù)由s: U×I→R 變?yōu)閟: U×I×C→R, 其中U 表示所有用戶集合, I 表示所有項目集合, C 表示所有情境集合[4].目前, 情境感知推薦系統(tǒng)的情境信息融合模式有情境預過濾, 情境后過濾和情境建模[5,6].
情境預過濾, 指由當前情境信息篩選相關性最強的用戶和項目數(shù)據(jù)信息用于推薦, 讓數(shù)據(jù)信息圈定在特定的情境范圍內, 即系統(tǒng)只考慮與當前情境相關的數(shù)據(jù).例如, 用戶想在春季去旅行, 則系統(tǒng)只保留用戶春季旅行相關評分數(shù)據(jù), 然后采用傳統(tǒng)的二維推薦模型來評分預測.目前最流行且有效的情境預過濾技術是情境感知拆分方法[7-9], 分為用戶拆分, 項目拆分, 以及用戶和項目拆分的組合-UI 拆分.針對不同的情境,分別把用戶或項目拆分成不同的表現(xiàn)形式, 然后轉變成二維的評分矩陣進行預測推薦.而最佳的情境組合比單一的情境推薦效果更好.
情境后過濾, 與情境預過濾相反, 首先采用傳統(tǒng)的二維推薦技術進行預測而不考慮情境信息, 再根據(jù)給定情境信息濾除不相關的推薦結果和調整推薦列表的順序.例如, 用戶想在春季旅行時去爬山, 那么在推薦列表里只保留與爬山相關的信息.殷聰?shù)葘W者提出基于TF-IDF 的情境后過濾推薦算法用于餐飲業(yè)用戶評分預測上, 緩解信息過載問題并提升推薦效果[10].
情境建模, 不同于前兩種模式, 是把情境信息作為顯式因素融入到二維推薦函數(shù)中, 將用戶、項目和情境信息整體考慮, 生成多維預測模型(決策樹、LDA主題模型等)[11,12].
在以上3 種模式中, 情境預過濾和情境后過濾模式都是對情境因素單獨考慮, 有利于采用傳統(tǒng)的二維推薦模型進行評分預測.但是容易面臨數(shù)據(jù)稀疏問題,而且這樣的降維方法只針對特定部分數(shù)據(jù)建立局部模型進行推薦, 忽略了全部數(shù)據(jù)的完整性, 影響推薦性能.而情境建模不存在以上問題, 但是面對高維度的數(shù)據(jù)處理, 計算難度大.深度學習的強特征表達能力和計算能力, 正好完善了情境建模的方法, 提升推薦效果.
機器學習技術在現(xiàn)代社會的各個方面表現(xiàn)出了強大的功能, 從Web 搜索到社會網絡內容過濾, 再到電子商務網站上的商品推薦都有涉足.機器學習系統(tǒng)被用來識別圖片中的目標, 將語音轉換成文本, 匹配新聞元素, 根據(jù)用戶興趣提供職位或產品, 選擇相關的搜索結果[13].然而傳統(tǒng)的機器學習技術在處理未加工過的數(shù)據(jù)時, 體現(xiàn)出來的能力是有限的.深度學習能夠突破傳統(tǒng)機器學習數(shù)據(jù)處理能力的限制, 擁有后者無可比擬的計算優(yōu)勢, 能對數(shù)據(jù)特征進行更深層次的表示, 從容應對海量數(shù)據(jù)處理.
深度學習就是一種特征學習方法, 把原始數(shù)據(jù)通過一些簡單的但是非線性的模型轉變?yōu)楦邔哟蔚?更加抽象的表達.通過足夠多的轉換的組合, 非常復雜的函數(shù)也可以被學習.經過眾多研究人員堅持不懈的努力, 應用在情境感知推薦系統(tǒng)的深度學習模型主要有: 自編碼器(AE)、循環(huán)神經網絡(RNN)、多層感知機(MLP)等.
3.1.1 自編碼器
Rumelhart 等在1986 年首先提出自編碼器(Auto-Encoder, AE)的概念, 并將其用于復雜高維數(shù)據(jù)的降維處理和特征表達[14].自編碼器是一種能通過無監(jiān)督學習, 利用編碼和解碼對輸入數(shù)據(jù)進行高效表示的人工神經網絡[15].基本的自編碼器結構如圖1 所示[16], 是由一個輸入層x、一個隱層h 和一個輸出層y 組成的三層神經網絡結構, 其中輸入層和輸出層擁有相同的結構, 目的是利用反向傳播算法使得輸出值等于輸入值.自編碼器在推薦系統(tǒng)中主要通過學習用戶和項目信息的隱表示, 然后基于這種隱表示預測用戶對項目的偏好, 主要應用在評分預測、新聞推薦和圖像推薦等場景.

圖1 自編碼器結構示意圖
3.1.2 循環(huán)神經網絡
Rumelhart 等在1986 年首次提出循環(huán)神經網絡(Recurrent Neural Network, RNN)的概念[14].循環(huán)神經網絡RNN 的結構如圖2 所示[16], 它可以模擬序列數(shù)據(jù).該結構以順序數(shù)據(jù)作為輸入, 并定義了一個神經網絡, 其中權重在不同的時間步驟之間共享.因此, RNN可以捕獲過去的記憶, 并且通過展開RNN 進行基于時間的反向傳播算法(BPTT)的訓練.然而, 簡單的RNN 常常無法捕獲長距離的時間依賴關系.長短時記憶網絡(LSTM)和門控循環(huán)單元(GRU)是針對這一問題提出的兩種單元[17].RNN 使推薦系統(tǒng)能夠對評分數(shù)據(jù)中的內容序列或時間動態(tài)進行建模.

圖2 循環(huán)神經網絡結構示意圖
循環(huán)神經網絡在推薦系統(tǒng)中的應用主要能夠建模序列數(shù)據(jù)中不同時刻數(shù)據(jù)之間的依賴關系, 獲取用戶和項目的隱表示.目前循環(huán)神經網絡的應用場景主要包括評分預測、圖像推薦、文本推薦和基于位置社交網絡中的興趣點推薦等.
3.1.3 多層感知機
多層感知機(MLP)是一種非常簡單的神經網絡,其結構如圖3 所示.多層感知機是一種前向結構的人工神經網絡, 映射一組輸入向量到一組輸出向量.MLP 可以被看作是一個有向圖, 由多個的節(jié)點層所組成, 每一層都全連接到下一層.除了輸入節(jié)點, 每個節(jié)點都是一個帶有非線性激活函數(shù)的神經元(或稱處理單元), 兩個相鄰層的神經元通過加權邊連接.一種稱為反向傳播算法的監(jiān)督學習方法(BP 算法)常被用來訓練MLP[17], 即利用隨機梯度下降等方法可以根據(jù)預測輸出和實際輸出最小化損失函數(shù)來學習MLP 的權值, 此損失被反復反向傳播到前一層, 以更新權重, 直到滿足停止條件.
多層感知機在推薦系統(tǒng)中的應用主要是在梯度下降法的基礎上, 利用反向傳播算法對用戶、項目和情境數(shù)據(jù)進行訓練, 學習到用戶和項目的隱表示, 進而產生推薦列表.目前多層感知機在推薦系統(tǒng)應用場景主要包括廣告點擊率預測、視頻推薦、基于位置社交網絡中的興趣點推薦等.

圖3 多層感知機結構示意圖
情境感知推薦系統(tǒng)就是把相關情境信息融入推薦系統(tǒng)中為用戶提供個性化的產品和服務.然而用傳統(tǒng)的機器學習方法處理多源異構的情境數(shù)據(jù)卻較為困難.這時把深度學習應用于情境感知推薦系統(tǒng), 是推薦系統(tǒng)發(fā)展的一個創(chuàng)新性舉動.基于深度學習的情境感知推薦系統(tǒng)的基本的框架如圖4 所示, 由輸入層、模型層和輸出層組成.一般是將用戶、項目和情境相關數(shù)據(jù)作為輸入, 然后通過深度學習模型學習到用戶、項目和情境信息的隱表示, 在此基礎上為用戶產生個性化推薦[16,18].

圖4 基于深度學習的情境感知推薦系統(tǒng)框架
情境建模是基于深度學習的情境感知推薦系統(tǒng)的核心內容, 主要體現(xiàn)在基于深度學習的情境信息表示和基于深度學習的情境感知推薦這兩個方面.
3.2.1 基于深度學習的情境信息表示
傳統(tǒng)的情境信息表示方法有張量分解技術[19,20]、圖模型[21]、本體模型[22]等.但當情境數(shù)據(jù)維度過高時,將會產生嚴重的數(shù)據(jù)稀疏問題.而這時通過深度學習技術對情境數(shù)據(jù)進行有效建模, 并利用降維技術來緩解數(shù)據(jù)稀疏問題[23], 從而提高推薦系統(tǒng)的性能.
Kim 等提出一種新的情境感知推薦模型—卷積矩陣分解(ConvMF), 將卷積神經網絡集成到概率矩陣分解中[24].ConvMF 通過捕獲文檔的情境信息, 可有效解決用戶項目評分數(shù)據(jù)稀疏性對推薦系統(tǒng)的影響, 進一步提高評分預測的準確性.Unger 等提出一種新的基于傳感器的情境數(shù)據(jù)自動編碼方法[25].該方法根據(jù)過去用戶與系統(tǒng)的交互信息, 利用情境數(shù)據(jù)通過自動編碼器訓練每個用戶的偏好, 是處理高維傳感器數(shù)據(jù)時對情境模式進行建模最有效的方法.Ma 等提出一種門控注意力自動編碼模型(GET), 該模型可通過神經門結構學習項目的內容和二進制等級的融合隱藏表示[26].利用最先進的情境感知推薦系統(tǒng)方法將用戶或項目和情境之間的關系表示為張量, 并模擬上下文和用戶或項目之間復雜、非線性的交互作用基礎上, Mei 等提出一種新的神經網絡模型—注意力交互網絡(AIN), 通過自適應捕獲情境和用戶或項目之間的交互來增強情境感知推薦系統(tǒng)的性能[27].Hu 等在利用異構信息網絡(HIN)進行復雜情境信息建模基礎上, 開發(fā)一種新的深度神經網絡[28].該神經網絡具有協(xié)同注意力機制, 可利用基于豐富元路徑的情境進行推薦.該模型可對用戶、項目和基于元路徑的情境進行有效表示, 以實現(xiàn)強大的交互功能, 增強了模型的可解釋性.
總的來說, 利用深度學習模型對情境信息進行有效表示可以對數(shù)據(jù)進行降維.一方面.利用自動編碼器提取情境數(shù)據(jù)的深層次特征, 將情境信息的隱表示融入到二維評分矩陣中, 提高推薦系統(tǒng)的性能.另一方面,利用注意力機制對用戶、項目和情境數(shù)據(jù)進行有效表示, 對高維多源異構數(shù)據(jù)進行降維, 有效緩解數(shù)據(jù)稀疏問題, 提升推薦效果.但由于深度學習模型是利用隱藏層對情境信息進行特征表示, 易導致推薦模型解釋性不足而使其應用領域受到限制.
3.2.2 基于深度學習的情境感知推薦
傳統(tǒng)的情境感知推薦是在用戶和物品的二維關系上簡單整合情境信息, 可提升一定推薦效果.但類似序列推薦這樣復雜的推薦場景, 在推薦系統(tǒng)中融入情境信息卻有困難.Liu 等提出一種新的情境感知循環(huán)神經網絡(CA-RNN)[29].CA-RNN 將特定的情境輸入矩陣(時間, 天氣等)替代常數(shù)輸入矩陣, 適應性強的情境轉換矩陣(時間間隔長度)替代常規(guī)的轉移矩陣, 這兩種矩陣的改進結合可有效進行情境信息的建模.Smirnova 等提出一種新的情境循環(huán)神經網絡推薦系統(tǒng)(CRNNs), 通過將情境嵌入與項目嵌入相結合來修改RNN 行為, 并通過參數(shù)化將隱藏的單元轉換為情境信息的函數(shù)進行情境序列建模[30], CRNNs 方法優(yōu)于一般的RNNS.信息的爆炸性增長, 使得多行為的場景更復雜, 循環(huán)神經網絡已不能滿足情境感知推薦的性能要求.Liu 等通過用特定的轉移矩陣來解決多種類型的行為情境, 而提出循環(huán)對數(shù)雙線性模型(RLBL), 對短期情境和長期情境都能進行有效的建模[31].為了解決動態(tài)行為預測中情境連續(xù)時間差異問題, 在RLBL 模型基礎上, 作者提出了一種基于時間感知的循環(huán)雙線性模型(TA-RLBL), 用具體時間的轉移矩陣進行時差建模, 這兩種模型提升了多行為情境預測的質量.此外,Rakkappan 等提出了一種新的基于層疊循環(huán)神經網絡的情境感知序列推薦方法, 對上下文和時間間隔的動態(tài)特性進行有效建模[32].Cui 等提出了一種新的基于層次情境的注意力循環(huán)控制網絡(HCA-GRU)[33].模型中的隱藏狀態(tài)在一定程度上是長期依賴和短期興趣的結合, 通過基于注意力的情境輸入與隱藏狀態(tài)的融合能更好的建立模型, 為用戶生成個性化推薦列表.2017 年提出自注意力機制(self-attention)以來[34], 成為了神經網絡的研究熱點.Huang 等在傳統(tǒng)RNN 整體嵌入和固定編碼的基礎上, 提出了一種新的自注意力情境網絡[35].該網絡利用嵌入方式、自注意力機制和位置編碼來處理用戶序列行為的異構性、多義性和動態(tài)情境依賴性, 可以準確地捕獲用戶的興趣和序列推薦的關鍵信息, 大大提高推薦性能.
目前來說, 基于深度學習的情境感知推薦研究主要集中在用戶序列推薦問題上.一方面, 傳統(tǒng)的RNN作為一種經典的序列建模方法, 在長短期情境建模上仍有不足.經過一系列改進的RNN 模型[36], 在輸入層上通過轉換矩陣對情境信息進行有效建模, 能夠將長短期情境信息有效融入到推薦系統(tǒng)中.另一方面, 由于注意力模型和人類視覺的相似性, 利用注意力機制識別用戶多序列行為情境有效信息和自注意力機制建模序列依賴關系和用戶短期行為, 提升推薦性能.因此,將注意力機制與RNN 系列改進模型相結合, 不僅對情境信息進行有效建模, 還對用戶的多序列行為進行精確預測, 為用戶提供個性化的決策與服務.
將深度學習應用到情境感知推薦系統(tǒng)中, 能有效緩解數(shù)據(jù)稀疏問題, 提高推薦系統(tǒng)的性能, 因而被廣泛應用在電子商務、興趣點(POI)推薦、引文推薦、文檔評分預測和新聞推薦等領域中.相信未來會有更多的深度學習模型應用到情境感知推薦系統(tǒng)的更多應用領域.表1 展示了基于深度學習的情境感知推薦系統(tǒng)的部分應用領域模型及其特點.

表1 基于深度學習的情境感知推薦系統(tǒng)的部分應用領域模型
雖然在推薦系統(tǒng)中應用深度學習技術已經成為當前國內外的研究熱點, 但真正把深度學習技術與情境感知推薦系統(tǒng)相結合的研究才剛起步, 下面將探討基于深度學習情境感知推薦系統(tǒng)研究的不足與對未來的展望.
(1)情境感知推薦系統(tǒng)模型的評價
情境感知推薦系統(tǒng)的一般流程如下: 首先通過傳感器采集有效的數(shù)據(jù), 識別和選擇對推薦過程有利的因素; 充分考慮用戶的情境信息, 以便梳理用戶、項目、情境之間基本的關系; 然后構建各種情境感知推薦模型生成情境推薦列表, 更進一步深究用戶偏好、項目和情境之間隱藏的關系; 最后, 評價情境感知推薦系統(tǒng)的性能使得推薦結果更精確.然而目前推薦系統(tǒng)沒有一個統(tǒng)一的評價體系用來評判推薦系統(tǒng)性能的好壞, 使得無法用合適的理由向用戶解釋為什么系統(tǒng)產生這樣的推薦是合理的.特別是深度學習技術融入推薦系統(tǒng)當中, 使得推薦系統(tǒng)的解釋性更弱.在未來, 應重點構建一個統(tǒng)一的推薦系統(tǒng)評價體系, 提升情境感知推薦系統(tǒng)模型的解釋性.
(2)知識圖譜與圖神經網絡在情境感知推薦系統(tǒng)中的應用
目前為止, 深度學習的不透明性使神經網絡整體看起來仍然是一個黑箱.目前大多數(shù)的深度學習情境感知推薦系統(tǒng)采用深度學習對用戶、項目和情境信息進行特征表示, 而沒有整體考慮用戶、項目和情境之間的關系并以一個可視化的方式展現(xiàn)出來.所以構建用戶、項目和情境信息之間的知識圖譜, 輸入圖神經網絡模型進行特征表示, 將是未來的一個研究方向.知識圖譜是用多關系圖以可視化的方式展現(xiàn)實體以及實體之間關系的知識庫, 廣泛應用于語義搜索、智能決策和個性化推薦等領域[50].而圖神經網絡模型的貢獻在于如何去學習一個非結構數(shù)據(jù)并將其表征, 是目前深度學習的研究熱點[51].知識圖譜與圖神經網絡相結合, 在增強情境感知推薦能力的同時也提升了模型的可解釋性.目前, 知識圖譜與圖神經網絡在情境感知推薦系統(tǒng)中的應用有新聞推薦和社會推薦等領域[52,53], 這方面的研究還較少, 未來還應有更深入的研究.
(3)深度學習情境感知推薦系統(tǒng)的潛在應用模型
深度學習有效的融入情境感知推薦系統(tǒng)中, 使得情境感知推薦系統(tǒng)研究受到越來越多學者的青睞.除了圖神經網絡, 還有生成對抗網絡(GAN)也可以用到情境感知推薦系統(tǒng)中.因此面對不同的推薦場景, 模型所需的情境因素不一樣, 從而無法構建統(tǒng)一的深度學習情境感知推薦模型.在未來, 應針對不同的推薦系統(tǒng)應用領域, 充分考慮用戶、項目和情境等相關數(shù)據(jù), 構建不同的深度學習情境感知推薦系統(tǒng)框架, 從而提高推薦系統(tǒng)的性能.
在選擇眾多的互聯(lián)網上, 需要對相關信息進行過濾、排序和高效傳遞, 以緩解信息過載的問題, 這給許多互聯(lián)網用戶帶來了潛在的問題.因此, 推薦系統(tǒng)通過使用算法搜索大量動態(tài)生成的信息來解決這個問題,為用戶提供個性化的內容和服務.近年來, 這些系統(tǒng)都在使用人工智能領域的機器學習算法.然而, 在推薦系統(tǒng)中選擇合適的機器學習算法是很困難的.但是深度學習技術的發(fā)展, 卻給推薦系統(tǒng)帶來新的機遇與挑戰(zhàn),帶動推薦系統(tǒng)在各個領域的發(fā)展.本文通過從情境感知推薦系統(tǒng)相關概念入手, 介紹了基于深度學習的情境感知推薦系統(tǒng)及其應用.深度學習在情境感知的推薦系統(tǒng)中的應用是目前的研究熱點也是難點, 希望未來更多的研究人員對此有更多的突破.