預見未來 | 個性化推薦系統,必須關注的五大研究熱點
編者按:自1998年成立以來,微軟亞洲研究院一直致力於推動電腦科學領域的前沿技術發展。在建院20週年之際,我們特別邀請微軟亞洲研究院不同領域的專家共同撰寫“預見未來”系列文章,以各自領域的前瞻視角,從機器學習、計算機視覺、系統架構、圖形學、自然語言處理等多個方向出發,試圖描繪一幅未來科技藍圖。
推薦系統作為一種過濾系統,不僅能夠幫助使用者在海量的資訊中快速尋找到自己需要的內容,也能幫助商家把自己的商品更精準地推薦給使用者,增強使用者與商家之間的互動性。搭建更加有效的個性化推薦系統,對商家和使用者都具有更深遠的意義。在本文中,微軟亞洲研究院社會計算組的研究員們從深度學習、知識圖譜、強化學習、使用者畫像、可解釋性推薦等五個方面,展望了未來推薦系統發展的方向。
“猜你喜歡”、“購買過此商品的使用者還購買過……”對於離不開社交平臺、電商、新聞閱讀、生活服務的現代網際網路使用者來說,個性化推薦已經不是什麼新鮮事兒。
隨著資訊科技和網際網路行業的發展,資訊過載成了人們處理資訊的挑戰。對於使用者而言,如何在以指數增長的資源中快速、準確地定位到自己需要的內容是一個非常重要且極具挑戰的事情。對於商家而言,如何把恰當的物品及時呈現給使用者,從而促進交易量和經濟增長,也是一件頗具難度的事情。推薦系統的誕生極大地緩解了這個困難。
推薦系統是一種資訊過濾系統,能根據使用者的檔案或者歷史行為記錄,學習出使用者的興趣愛好,預測出使用者對給定物品的評分或偏好。它改變了商家與使用者的溝通方式,加強了和使用者之間的互動性。
據報道,推薦系統給亞馬遜帶來了35%的銷售收入,給Netflix帶來了高達75%的消費,並且Youtube主頁上60%的瀏覽來自推薦服務。
因此,如何搭建有效的推薦系統意義深遠。我們將從深度學習的應用、知識圖譜的應用、強化學習的應用、使用者畫像和可解釋推薦等幾個方面,一起看看推薦系統的未來。
近幾年深度學習的技術應用在語音識別、計算機視覺和自然語言理解等領域,取得了巨大的成功。如何將其應用到推薦系統是當前的研究熱點。深度推薦系統現階段的應用主要體現在如下三個層面:
提升表徵學習能力。深度神經網路的優勢在於其強大的表徵學習能力。因此,一種最直接的應用是,利用深度學習技術從複雜的內容資料中學習出有效的隱因子特徵表示,從而後續可以很方便地為推薦系統所用。
深度協同過濾。經典的矩陣分解模型可以被描述為一種非常簡單的神經網路。我們可以通過拓展其中的結構,引入更多的非線性單元來加強推薦模型的功能。例如,在WWW 2017論文《Neural collaborative filtering》中,作者提出了加強版的矩陣分解模型。一方面,它彌補了兩個隱向量的樸素點積操作不能區分各維度之間重要性差別的弱點;另一方面,它額外引入了一個多層感知機模組,用來引入更多的非線性操作。除此之外,自動編碼機、卷積神經網路、記憶網路、注意力網路等深度學習相關技術也分別被應用在改進傳統的協同過濾模型中,取得了不錯的效果。
特徵間的深度互動。企業級的推薦系統為了儘量提高模型的準確性,往往會使用豐富的、甚至異構的內容資料。這些特徵從不同的維度展現了不同的資訊,而且特徵間的組合通常是非常有意義的。傳統的交叉特徵是由工程師手動設計的,這有很大的侷限性,成本很高,並且不能拓展到未曾出現過的交叉模式中。因此學者們開始研究用神經網路去自動學習高階的特徵互動模式,彌補人工特徵工程帶來的種種侷限性。這個層面相關的模型包括Wide&Deep、PNN、DeepFM、DCN、以及我們近期提出的xDeepFM模型(《xDeepFM: Combining Explicit and Implicit Feature Interactions for Recommender Systems》,KDD 2018)等。
深度學習技術在推薦系統中的應用前景很廣闊。下面簡要介紹幾個未來可能的研究方向
• 效率與可拓展性
對於工業界推薦系統而言,不僅需要考慮模型的準確度,執行效率和可維護性也是非常重要的方面。效率指的是當用戶發來一個請求時,推薦系統能夠以接近實時的速度返回結果,而不需讓使用者等待;可維護性指系統的部署簡便,能夠支援定期更新,或者增量式更新。眾所周知,複雜神經網路的計算量是龐大的,如何將它們更高效地應用在超大規模的推薦平臺上,是亟需解決的技術難點。
• 多樣化資料融合
現實平臺中,使用者或者物品的資料往往是複雜多樣的。物品的內容可以包括文字、影象、類別等資料;使用者的行為資料可以來自多個領域,例如社交網路、搜尋引擎、新聞閱讀應用等;使用者的行為反饋也可以是豐富多樣的,例如電商網站中,使用者的行為可能有搜尋、瀏覽、點選、收藏、購買等。不僅如此,在這些不同的維度中,不同使用者或物品的資料分佈也千差萬別;使用者在不同的行為反饋上的資料量也不同,點選行為的資料量往往遠大於購買行為的資料量。因此,單一、同構的模型是不能有效地處理這些多樣化的資料的。如何深度融合這些複雜資料是一個技術難點。
• 捕捉使用者長短期偏好
使用者的偏好大致可以分為長期和短期兩類。長期偏好往往指使用者的興趣所在,例如她是五月天的歌迷,那麼未來很長時間她都會對五月天的歌曲、演唱會門票感興趣;短期偏好指的是使用者在當前環境下的即時興趣,例如最近一週使用者比較喜歡聽抖音上的熱門歌曲,那麼推薦系統也應該捕捉到使用者的這個興趣,或者使用者在未來一個月有搬家的打算,那麼推薦系統可以適當地推送一些搬家公司的廣告。目前一些流行的做法是,將迴圈神經網路與深度協同過濾技術結合,從而達到兼顧長短期記憶的功能。如何結合情境因素的影響,將使用者的長期偏好與短期需求更緊密、有效地結合起來,也是一個研究熱點。
在多數推薦場景中,物品可能包含豐富的知識資訊,而刻畫這些知識的網路結構即被稱為知識圖譜。物品端的知識圖譜極大地擴充套件了物品的資訊,強化了物品之間的聯絡,為推薦提供了豐富的參考價值,更能為推薦結果帶來額外的多樣性和可解釋性(圖1)。
圖1:利用知識圖譜發掘新聞間的潛在相關性
和社交網路相比,知識圖譜是一種異構網路,因此針對知識圖譜的推薦演算法設計要更復雜和精巧。近年來,網路特徵學習(network representation learning)逐漸成為機器學習中的一個熱門的研究方向。
引入網路特徵學習的方法處理推薦系統中知識圖譜的相關資訊,有助於增強推薦系統的學習能力,提高精確度和使用者滿意度。
將知識圖譜引入推薦系統,主要有如兩種不同的處理方式:
第一,基於特徵的知識圖譜輔助推薦,核心是知識圖譜特徵學習的引入。一般而言,知識圖譜是一個由三元組<頭節點,關係,尾節點> 組成的異構網路。由於知識圖譜天然的高維性和異構性,首先使用知識圖譜特徵學習對其進行處理,從而得到實體和關係的低維稠密向量表示。這些低維的向量表示可以較為自然地與推薦系統進行結合和互動。
在這種處理框架下,推薦系統和知識圖譜特徵學習事實上就成為兩個相關的任務。而依據其訓練次序不同,又有兩種結合形式:
1. 知識圖譜特徵與推薦系統依次進行學習,即先學習特徵,再將所學特徵用於推薦。
2. 交替學習法,將知識圖譜特徵學習和推薦系統視為兩個相關的任務,設計一種多工學習框架,交替優化二者的目標函式,利用知識圖譜特徵學習任務輔助推薦系統任務的學習。
第二,基於結構的推薦模型,則更加直接地使用知識圖譜的結構特徵。具體來說,對於知識圖譜中的每一個實體,我們都進行寬度優先搜尋來獲取其在知識圖譜中的多跳關聯實體從中得到推薦結果。根據利用關聯實體的技術的不同,可分向外傳播法和向內聚合法兩種方法:
向外傳播法模擬了使用者的興趣在知識圖譜上的傳播過程。我們近期的工作RippleNet (《RippleNet: Propagating User Preferences on the Knowledge Graph for Recommender Systems》, CIKM 2018)使用了向外傳播法,將每個使用者的歷史興趣作為知識圖譜上的種子集合,沿著知識圖譜中的連結迭代地向外擴充套件。
向內聚合法在學習知識圖譜實體特徵的時候聚合了該實體的鄰居特徵表示。通過鄰居聚合的操作,每個實體的特徵的計算都結合了其鄰近結構資訊,且權值是由連結關係和特定的使用者決定的,這同時刻畫了知識圖譜的語義資訊和使用者的個性化興趣。
結合知識圖譜推薦系統的機遇與挑戰
將推薦演算法與知識圖譜的圖計算方法相結合已逐漸成為學術熱點,前景廣闊。然而現有方法仍有一定侷限,有充分的研究空間。首先,現有模型都屬於統計學習模型,即挖掘網路中的統計學資訊並以此進行推斷。一個困難但更有研究前景的方向是在網路中進行推理,將圖推理與推薦系統相結合。其二,如何設計出效能優秀且執行效率高的演算法,也是潛在的研究方向。現有模型並不涉及計算引擎層面、系統層面甚至硬體層面的考量,如何將上層演算法和底層架構進行聯合設計和優化,是實際應用中一個亟待研究的問題。最後,現有的模型網路結構都是靜態的,在真實場景中,知識圖譜具有一定的時效。如何刻畫這種時間演變的網路,並在推薦時充分考慮時序資訊,也值得我們未來研究。
通過融合深度學習與知識圖譜技術,推薦系統的效能取得了大幅的提升。然而,多數的推薦系統仍是以一步到位的方式建立的。它們有著類似的搭建方式,即在充分獲取使用者歷史資料的前提下,設計並訓練特定的監督模型,從而得到使用者對於不同物品的喜好程度。這些訓練好的模型在部署上線後可以為特定使用者識別出最具吸引力的物品,為其做出個性化推薦。在此,人們往往假設使用者資料已充分獲取,且其行為會在較長時間之內保持穩定,使得上述過程中所建立的推薦模型得以應付實際中的需求。然而對於諸多現實場景,例如電子商務或者線上新聞平臺,使用者與推薦系統之間往往會發生持續密切的互動行為。在這一過程中,使用者的反饋將彌補可能的資料缺失,同時有力地揭示其當前的行為特徵,從而為系統進行更加精準的個性化推薦提供重要的依據。
強化學習為解決這個問題提供了有力支援。依照使用者的行為特徵,我們將涉及到的推薦場景劃分為靜態與動態,並分別對其進行討論。
• 靜態場景下的強化推薦
在靜態場景之下,使用者的行為特徵在與系統的互動過程中保持穩定不變。對於這一場景,一類有代表性的工作是基於上下文多臂老虎機(contextual multi-armed bandit)的推薦系統,它的發展為克服推薦場景中的冷啟動問題提供了行之有效的解決方案。在許多現實應用中,使用者的歷史行為往往服從特定的長尾分佈,即大多數使用者僅僅產生規模有限的歷史資料,而極少的使用者則會生成較為充足的歷史資料。這一現象所帶來的資料稀疏問題使得傳統模型在很多時候難以得到令人滿意的實際效果。
為此,一個直接的應對方法是對使用者行為進行主動式的探索,即通過對使用者發起大量嘗試性的推薦,以充分的獲得其行為資料,從而保障推薦系統的可用性。然而不幸的是,這一簡單的做法勢必引發極大的探索開銷,使得它在現實中並不具備可行性。為使主動式探索具備可行的效用開銷,人們嘗試藉助多臂老虎機問題所帶來的啟發。多臂老虎機問題旨在於“探索-利用”間做出最優的權衡,為此諸多經典演算法,被相繼提出。儘管不同的演算法有著不同的實施機制,它們的設計都本著一個共同的原則。
具體說來,系統在作出推薦的時候會綜合考慮物品的推薦效用以及累積嘗試。較高的推薦效用預示著較低的探索開銷,而較低的累積嘗試則表明較高的不確定性。為此,不同的演算法都會設計特定的整合機制,使得同時具備較高推薦效用與不確定性物品可以得到優先嚐試。
• 動態場景下的強化推薦
在多臂老虎機的設定場景下,使用者的實時特徵被假設為固定不變的,因此演算法並未涉及使用者行為發生動態遷移的情況。然而對於諸多現實中的推薦場景,使用者行為往往會在互動過程中不斷變化。這就要求推薦系統依照使用者反饋精確估計其狀態發展,併為之制定優化的推薦策略。具體來講,一個理想的推薦系統應滿足如下雙方面的屬性。一方面,推薦決策需要充分基於使用者過往的反饋資料;另一方面,推薦系統需要優化整個互動過程之中的全域性收益。強化學習為實現上述目標提供了有力的技術支援。
在強化學習的框架之下,推薦系統被視作一個智慧體(agent),使用者當前的行為特徵被抽象成為狀態(state),待推薦的物件(如候選新聞)則被當做動作(action)。在每次推薦互動中,系統依據使用者的狀態,選擇合適的動作,以最大化特定的長效目標(如點選總數或停留時長)。推薦系統與使用者互動過程中所產生的行為資料被組織成為經驗(experience),用以記錄相應動作產生的獎勵(reward)以及狀態轉移(state-transition)。基於不斷積累的經驗,強化學習演算法得出策略(policy),用以指導特定狀態下最優的動作選取。
我們近期將強化學習成功應用於必應個性化新聞推薦(《DRN: A Deep Reinforcement Learning Framework for News Recommendation》,WWW 2018)。得益於演算法的序列化決策能力及其對長效目標的優化,強化學習必將服務於更為廣泛的現實場景,從而極大地改善推薦系統的使用者感知與個性化能力。
強化推薦的機遇與挑戰
強化學習推薦演算法尚有諸多富有挑戰性的問題亟待解決。
現行主流的深度強化學習演算法都試圖避開對環境的建模,而直接進行策略學習(即model-free)。這就要求海量的經驗資料以獲取最優的推薦策略。然而,推薦場景下的可獲取的互動資料往往規模有限且獎勵訊號稀疏(reward-sparsity),這就使得簡單地套用既有演算法難以取得令人滿意的實際效果。如何運用有限的使用者互動得到有效的決策模型將是演算法進一步提升的主要方向。
此外,現實中人們往往需要對不同推薦場景進行獨立的策略學習。不同場景下的策略互不相同,這就使得人們不得不花費大量精力以對每個場景都進行充分的資料採集。同時,由於不具備通用性,既有策略難以迅速適應新的推薦場景。面對這些挑戰,人們需要儘可能的提出通用策略的學習機制,以打通演算法在不同推薦場景間的壁壘,並增強其在變化場景中的魯棒性。
構建推薦系統的核心任務之一在於如何準確地分析出使用者的興趣特點,也就是我們常說的使用者畫像。
簡單說來,使用者畫像是指從使用者產生的各種資料中挖掘和抽取使用者在不同屬性上的標籤,如年齡、性別、職業、收入、興趣等。完備且準確的屬性標籤將有力地揭示使用者本質特徵,因而極大地促進精準的個性化推薦。
使用者畫像研究的現狀和挑戰
目前,主流使用者畫像方法一般是基於機器學習尤其是有監督學習的技術。這類方法從使用者資料中抽取特徵來作為使用者的表示向量,並利用有使用者屬性標籤的資料作為有標註資料來訓練使用者畫像預測模型,從而對更多的沒有標籤的使用者的屬性進行預測。
儘管目前的使用者畫像方法已經取得了不錯的效果並被廣泛應用於實際推薦系統中,這些方法仍然存在一定的問題和挑戰:
首先,這些已有的方法大多數都基於手工抽取的離散特徵,這些特徵無法刻畫使用者資料的上下文資訊,因此對於使用者的表徵能力較為有限。
其次,現有的使用者畫像方法通常基於簡單的線性迴歸或分類模型,無法從使用者資料中自動學習高層次抽象特徵,也無法對特徵之間的互動關係進行建模。另外,已有的使用者畫像方法往往基於單一型別和單一來源的資料,這些資料對於使用者的表徵不夠豐富。而實際上,使用者資料往往是多來源和多型別的。
最後,已有的使用者畫像方法大都沒有考慮使用者屬性標籤的時效性,因此很難刻畫使用者的動態變化的屬性如興趣等。
從多源異構使用者資料中構建深度、統一和動態的使用者畫像
為了應對上述挑戰,我們認為應該從以下方面展開使用者畫像研究:
1.構建具有更強表徵能力的使用者表示模型。隨著深度學習技術的發展和成熟,利用深層神經網路從使用者原始資料中自動抽取深層次的、有資訊量的特徵來構建使用者的特徵表示能夠有助於更加充分地利用使用者資料並有效提升使用者畫像的精度。使用基於深層神經網路的使用者表示模型能夠有效克服目前已有的基於特徵工程和線性模型的使用者畫像方法的不足。我們提出的HURA模型(《Neural Demographic Prediction using Search Query》, WSDM 2019)基於多層注意力機制和神經網路結構,有效地通過搜尋日誌預測了使用者個人屬性。
2.基於多源和異構資料的使用者畫像。使用者產生的資料往往分佈在不同的平臺,並且具有不同的結構(如無結構的社交媒體文字資料和有結構的電商網站購買記錄等)和不同的模態(如文字資料和影象資料),給使用者畫像帶來了很大的挑戰。如何設計一個深度資訊融合模型來利用不同來源、不同結構和不同模態的使用者資料進行使用者建模,是未來使用者畫像領域的一個重要方向。基於深度神經網路的協同學習和多通道模型可能是值得嘗試的技術。
3.不同平臺使用者畫像資料的共享和使用者隱私保護。目前很多使用者資料存在於不同的平臺當中,例如搜尋引擎擁有使用者的搜尋和網頁瀏覽記錄,電商網站擁有使用者的商品瀏覽、購物、收藏和購買資訊。這些不同平臺的使用者資料對於使用者畫像都具有重要的價值,互相之間可以提供互補資訊,有助於構建更加豐富全面的使用者表示。然而,平臺之間直接共享使用者資訊可能會使得使用者的隱私受到洩露和損害。如何在不轉移和不共享使用者資料的情況下,充分利用不同平臺的使用者資訊實現協同使用者畫像和建模是值得研究的一個方向。
4.面向使用者畫像的統一使用者表示模型。已有的使用者畫像方法在實際的應用中往往會涉及大量模型的訓練、儲存和呼叫,時間和空間的複雜度都比較高,使用起來也比較繁瑣。另外,不同的使用者屬性之間潛在的聯絡也無法充分挖掘。如何基於多源異構的使用者資料構建一個統一的使用者表示模型,使得該模型可以儘可能全面而準確地包含一個使用者在不同屬性和維度的特徵資訊並能夠應用於多個使用者畫像任務是一個非常值得研究的方向。基於深層神經網路的多工學習技術和類似詞嵌入的使用者嵌入技術有希望能夠應用於這個問題。
上文所述推薦系統研究大都將重心放在提高推薦準確性上,與推薦物件的溝通考慮得不夠。近期,學者們開始關注推薦是否能夠以使用者容易接受的方式,充分抓住使用者心理,給出適當的例子與使用者溝通。研究發現,這樣的系統不僅能夠提升系統透明度,還能夠提高使用者對系統的信任和接受程度 、使用者選擇推薦產品的概率以及使用者滿意程度。設計這樣一個可解釋的推薦系統是我們的終極目標。
作為推薦領域被探索得較少的一個方向,可解釋推薦的很多方面值得研究與探索。目前,我們在考慮從下面三個方面進行研究。
利用知識圖譜增強演算法解釋能力。知識圖譜作為可讀性高的外部知識載體,給提高演算法解釋能力提供了極大的可能性。現有的可解釋推薦所生成的推薦解釋往往只侷限於以物品為媒介、以使用者為媒介或者以特徵為媒介中的某一種,對這三類媒介之間的關聯挖掘得還不夠。我們希望能夠利用知識圖譜,打通這三類媒介之間的關聯,根據具體情況靈活選擇其中最合適的媒介對使用者進行推薦與解釋。另外,我們還可能利用Microsoft Concept Graph這類概念圖譜,建立特徵之間的可讀深度結構,從而用來代替目前解釋性極弱的深度學習網路,在提高可讀性的同時保證演算法的準確性。
在可解釋人工智慧越來越重要的時代,將知識圖譜這類符號知識(symbolic knowledge)和深度學習結合,會是極有前景的方向。
模型無關的可解釋推薦框架。目前可解釋推薦系統大多是針對特定的推薦模型設計,可拓展性較弱,對於新興的推薦模型,例如含有深度神經網路的複雜、混合模型的解釋能力還不夠。如果有一個模型無關的可解釋推薦框架,就可以避免針對每個推薦系統分別設計解釋方案,從而提高方法的可拓展性。我們對此做了初步嘗試(《A Reinforcement Learning Framework for Explainable Recommendation》,ICDM2018)。在這一工作中,我們提出用如下的強化學習框架(圖2)來對任何推薦模型進行解釋,同時確保可拓展性、解釋能力以及解釋質量。
圖2:模型無關的可解釋推薦強化學習框架
結合生成模型進行對話式推薦。目前的推薦解釋往往形式是預先設定、千篇一律的(如預先設定推薦解釋是以使用者為媒介的)。這樣儘管也能根據使用者心理舉出一些例證,但是在溝通方式上還過於呆板。如果能用生成模型讓推薦系統“自創”一句通順甚至高情商的話,就可以在與使用者聊天的過程中進行靈活、多變地推薦解釋了。我們團隊與微軟小冰合作,在這方面進行了一些嘗試,為小冰生成音樂推薦解釋。
我們認為未來的推薦系統需要進一步考慮推薦演算法的效率與可拓展性、融合多源異構的使用者行為資料,並捕捉使用者長短期的偏好;在推薦系統中結合知識圖譜推理、設計通用策略的學習機制、以及通過有限的使用者互動資料得到有效的決策模型是重要的研究方向;在可解釋性方面,我們需要藉助知識圖譜來增強演算法解釋能力、設計模型無關的可解釋推薦框架、並考慮結合生成模型進行對話式推薦;最後,我們需要認真關注使用者隱私問題,設計在不同平臺間共享使用者資料的機制,並建立面向推薦系統的統一使用者表示模型。我們相信個性化推薦系統將在準確性、多樣性、計算效率、以及可解釋性多個不同的方向持續演進,最終解決使用者資訊過載的困擾。
本文作者:謝幸、練建勳、劉政、王希廷、吳方照、王鴻偉、陳仲夏
你也許還想看:
● KDD 2018 | 推薦系統特徵構建新進展:極深因子分解機模型
感謝你關注“微軟研究院AI頭條”,我們期待你的留言和投稿,共建交流平臺。來稿請寄:[email protected]。