論文閱讀:Financial news recommendation based on graph embeddings

基於圖嵌入的金融新聞推薦
摘要
(問題提出的原因)證券公司需要將合適的金融新聞推薦給特定用戶,但現有的推薦方法在推薦金融新聞方面表現不夠好。一方面,金融新聞一般包含着很多與公司和股票有關的外部知識。另一方面,由於在閱讀金融新聞時,用戶會對多個概念、公司、股票、行業類型感興趣,所以推薦金融新聞時需要動態計算用戶興趣。

(簡要敘述問題解決思路)
(創新點1)爲了解決以上問題,本文先構造了一個包含用戶、新聞、公司、概念和行業類型的異構圖。結點就代表着用戶、新聞、公司、概念、行業類型這些實體。結點之間的連線代表着結點之間的關係。使用node2vec產生結點的圖嵌入表示,結點表示出來之後,基於結點的表示能夠計算用戶-新聞之間的關係。
(創新點2)因爲金融新聞文章是時間敏感的,本文提出一種增量方法來緩解計算壓力。
(理論意義)基於node2vec的推薦方法和增量方法的結合能夠很好地平衡金融推薦中的推薦效率和推薦準確度。
(實驗結果)本文的方法在中國某證券公司真實數據集上進行了驗證,結果顯示本文提出的方法優於普遍使用的baseline方法。
(現實意義)不僅能夠輔助公司決策,選擇合適的新聞推薦給用戶,而且能夠讓用戶得到個性化的實時推薦服務。
1、引言
第一段
(背景)隨着網絡的發展,相對於傳統的新聞媒介如報紙、電視等,人們更傾向於通過網頁或者手機等移動設備閱讀新聞。
(問題解決的必要性)在線新聞平臺一個突出的問題是信息過載,金融公司致力於將手機端合適的金融新聞推薦給目標用戶,從而吸引用戶投資股票。(總結)因此,個性化金融新聞推薦對於學術界和工業界來說都具有很大的挑戰性。
第二段
(科學問題的特點及難點)金融新聞有一些特點,比如事件的時間線和公司複雜性之間的關係。fig1顯示了金融新聞文章經常涉及公司名稱和股票信息。
在這裏插入圖片描述一方面,這些新聞文章包含着和公司、股票有關的複雜的外部知識;另一方面,金融新聞的讀者往往同時對多個概念、公司、股票和行業類型感興趣,這增加了用戶畫像的難度。
此外,金融新聞文章具有明顯的時間敏感性,如圖中所示,讀者會快速地越過過期的新聞,轉而閱讀相對新的新聞,這就導致了在線更新問題。
(傳統模型解決此類問題表現)簡單的神經網絡模型對於解決這些問題表現不佳。
第三段
(對作者的論文思路有貢獻的參考文獻)
爲了解決新聞的外部知識問題,研究者使用了基於知識的技術進行新聞推薦。18年,wang等人提出了深度知識感知網絡[2]。作者使用知識圖譜來抽取新聞之間潛在的知識層面的聯繫,並且建立用戶嵌入來更準確地刻畫用戶瀏覽偏好。另一項研究基於醫療知識圖嵌入提出了安全藥物推薦方法並且提出了一個有趣的思路來更新嵌入信息來解決冷啓動問題[3]。Zihayat等人意識到用戶點擊分析的缺點,提出了一個新穎的新聞推薦方法,這種方法基於新聞效用模型來決定用戶的真實興趣[4]。爲了提高訓練數據的多樣性以及提升推薦模型效果,Geva等人在數字市場數據中加入了文本新聞數據,補充數字市場數據信息,並且使用了數據挖掘方法來預測盤中交易的股票收益。

受以上研究啓發,本文使用了知識圖譜和圖嵌入技術來解決金融新聞推薦任務。爲了處理新聞中包含的公司、股票等外部知識,本文構建了一個高質量的圖,稱爲證券子圖,包含了公司、概念和行業類別信息。
爲了動態地計算用戶閱讀偏好並且發現新聞之間的深層聯繫,分別構建了一個用戶子圖和新聞子圖。構建這兩個子圖時不僅使用了用戶點擊行爲,而且使用了用戶股票交易記錄。
將用戶子圖、新聞子圖與證券子圖鏈接就能得到一個異質知識圖譜。使用圖嵌入算法node2vec對圖中的拓撲結構和語義信息進行建模,就能夠得到異質知識圖譜的圖嵌入表示。

圖嵌入技術能夠解決用戶畫像問題,能夠根據嵌入信息建立起用戶-新聞關係。

爲了解決在線更新問題,本文提出一種增量嵌入更新方法,這種方法能夠訓練核心圖的圖嵌入,(核心圖中結點較少發生變化),。使用相關的結點來表示最新的新聞。這種方法可以緩解冷啓動問題。
當給定一個沒有被任何用戶閱讀過的新聞,這個新聞的嵌入信息可以由新聞文本中包含的概念的嵌入、行業類型嵌入、股票名稱嵌入共同表示。

爲了滿足真實推薦場景中對推薦效率和推薦效果的要求,本文設計了一種基於圖嵌入的金融新聞推薦框架。在這種框架下,增量嵌入更新模型負責表示在股票交易中新出現的結點嵌入,從而確保推薦框架的效率。同時一個普通的圖嵌入模型在整個異質圖上進行訓練,得到所有結點的嵌入表示,從而確保推薦效果。

fig.2 對幾個推薦場景給出了示例。
在這裏插入圖片描述
我們的模型聚焦於解決這幾個推薦場景中的問題。
Scene1:(一般推薦)基於瀏覽記錄,cindy能夠和Amazon聯繫在一起。因爲亞馬遜屬於計算機軟件服務行業,所以亞馬遜和計算機軟件服務能夠聯繫在一起,接下來和“AT&T”這個公司相關的新聞就可以推薦給Cindy。
Scene2:(用戶冷啓動)儘管Alice並沒有瀏覽新聞的記錄,但是有交易記錄。已知Alice買了Google的股票,那麼就可將Alice與Alphabet.Inc聯繫起來,由於Alphabet也屬於計算機軟件服務公司,接下來,也可以將與AT&T有關的新聞推薦給Alice.
Scene3:(新聞冷啓動)一個標題爲“5G”的新聞還沒有被任何用戶閱讀過。使用命名實體識別方法,可以將其與概念實體“5G”聯繫起來。因爲Bob瀏覽過和5G這個概念有關的新聞,所以標題爲5G的這條新聞可以推薦給Bob。
Scene4:(用戶興趣計算)用戶Alice和Bob之間存在着隱藏的關係,實際上他們的興趣很相似。他們都喜歡科技產業。通過他們的圖嵌入,可以容易地計算他們之間的關係。如果使用協同過濾或者基於內容地推薦則不容易計算二者之間的相似程度。

本文的貢獻如下所述。首先是介紹NNR,一個基於圖的金融新聞推薦方法,這種方法優於傳統使用的baseline方法。第二個是提出了INNR,一個能夠使推薦效率更加高效的增量方法。本文的主要貢獻是將NNR和INNR結合起來從而構建了一個基於圖嵌入的金融新聞推薦框架,這種推薦框架能夠很好地平衡金融新聞推薦中的時間效率和推薦準確度。
這個推薦框架能夠爲公司提供決策支持,將合適的新聞推薦給目標用戶,而且能夠讓用戶得到實時推薦服務。
本文提出的方法不侷限於金融新聞推薦,還可以應用在其他推薦任務中。比如,本文的方法也可以用在互聯網中推薦廣告。電商平臺能夠得到用戶購買商品或者瀏覽商品的記錄。這些記錄可以用來構建商品子圖,商品、價格範圍、品牌、功能等都可以作爲商品子圖的結點。另外,通過一些共現關係,商品之間也可以互相聯繫。平臺上的用戶可以用來構造用戶子圖。商品廣告可以用來構造廣告子圖。商品子圖可以可以看作是鏈接用戶與廣告的橋樑。 在這種場景下,我們需要發現用戶和廣告之間的潛在聯繫,這與本文中我們做的發現用戶和金融新聞之間的潛在關係是一樣的。
本文接下來的結構如下:Section2定義了本文探索的金融新聞推薦問題。Section3展示了本文提出的方法。Section4 是實驗設計和細節分析。Section5 簡要地回顧了新聞推薦的相關工作。最後在Section6做了論文總結和未來研究方向。
2、問題定義
由於瀏覽記錄的可獲得性問題以及數據使用限制等各種原因,在真實世界的推薦場景中,我們只能獲得少量的低質量瀏覽數據。因此,我們需要添加額外信息來提高推薦性能。考慮到用戶對股票交易看得較爲慎重,證券公司能夠得到用戶的歷史交易記錄。所以使用交易記錄數據來進行推薦更準確而且可靠,能夠爲證券公司提供決策支持。
我們正式定義金融新聞推薦問題如下:
問題:給定一個用戶u和和用戶的瀏覽記錄DbD_b、交易記錄DtD_t,爲用戶推薦金融新聞就是預測從用戶u到新聞數據集N的邊。 輸出是帶有用戶興趣的新聞集合NuN_u
爲了解決以上問題,需要基於真實世界數據集高效地計算從用戶到一些新聞的邊。這要求我們將用戶和新聞映射到同一向量空間,通過計算向量之間的距離來表示用戶與新聞之間的相關性。之後,就可以將與用戶最相關的新聞推薦給用戶。
3、提出的模型
在本文,提出了基於圖嵌入的新聞推薦框架,這種方法能夠很好地平衡時間效率和推薦準確度之間的關係。
框架如fig3所示。
在這裏插入圖片描述在所提出的框架中,增量更新模型負責學習新出現的結點的圖嵌入,從而保證推薦的效率;普通的圖嵌入模型在整個異質網絡中進行訓練,得到所有結點的圖嵌入,從而保證學習的嵌入的質量。
3.1 Node2vec-based news recommendation
fig4是Node2vec-based news recommendation方法的介紹。
在這裏插入圖片描述這個模型包括三個部分:圖結構、嵌入的訓練和新聞推薦。
爲了建立用戶和新聞之間的關係,首先需要構建包括股票、公司、概念和行業類型這些實體的證券知識圖譜。然後,這些實體之間的關係如上下流關係就可以建立起來。
基於用戶的股票交易記錄,用戶可以與證券知識圖譜中鏈接起來。通過進行信息抽取和爲新聞打標籤,可以抽取出新聞中包含的股票、公司、行業、概念等實體。這樣基於抽取出的信息,也可以將新聞文章與證券知識圖譜鏈接起來。最終,間接建立起了用戶與新聞之間的關係。
使用Node2vec來建立整個圖的嵌入表示,然後基於用戶嵌入和新聞嵌入之間的餘弦相似度進行新聞推薦。餘弦相似度大小代表着用戶對新聞的喜愛程度。
3.2 Graph construction
異質知識圖譜由三部分構成:證券子圖、用戶關係子圖和新聞關係子圖。用戶關係子圖是基於用戶股票交易記錄構建的。新聞關係子圖是基於股票、公司這些與新聞相關的實體構建的。子圖能夠便於動態計算用戶偏好以及計算新聞文章之間的關係。證券子圖的構建是爲了分析與公司、股票等相關的外部知識。
在知識圖譜中,用戶和新聞可以通過證券子圖間接地聯繫起來。
3.2.1 Securities subgraph
證券子圖描述了證券市場的實體以及這些實體之間的關係。證券子圖可以看成是一個三元組集合,(i,r,j),其中,i,j∈ E,r∈ R。E是實體的集合,R是實體之間的關係。
實體包括股票、公司、概念、類型。在圖中,公司和股票所處的地位是相同的。概念代表的是一些常用的用來描述股票的關鍵詞,比如blockchain、5G、Tesla等。在本文中,類型代表着行業類型,這些行業類型由中國的SWS 證券研究協會規定。在這裏插入圖片描述
新聞文章可以和多個公司、概念、類型相聯繫,因爲新聞文章中可能提及了多個相應的關鍵詞。一個公司可能投資了另一個公司,所以不同的公司之間也存在着邊。同時,一些概念和類型也與公司有聯繫。
這些實體可以看成是新聞文章的標籤,實體可以使用命名實體識別方法進行抽取。在本文,命名實體識別方法使用了Bi-LSTM和CRF,命名實體識別過程如下:
(1)從所有新聞文章中隨機選取3000條新聞,手動進行四種命名實體的標記,這四種實體分別是公司、股票、行業和概念。
(2)使用在全體新聞上預訓練好的word2vec模型來表示新聞中的詞語。在進行命名實體標記時使用四種標籤(0:公司,1:股票,2:行業,3:概念,4:其他)來標記輸入序列。輸入文本的例子、word2vec詞嵌入序列和已打標籤的實體序列在fig5中有示例。
在這裏插入圖片描述
(3)bi-LSTM-CRF模型的輸入是詞嵌入序列,輸出是每個詞語實體的標籤。在這部分,金標準值是手動標記的實體。模型的損失函數是交叉熵損失函數。
(4)使用2100條新聞文章來訓練模型,900條新聞文章用來做測試。
(5)模型訓練好之後,新的新聞使用同樣的word2vec模型做處理,送入訓練好的模型,從而得到新聞中包含的公司、股票、行業、概念這些實體。
(6)使用新聞中涉及的實體,新聞就可以與證券子圖進行鏈接,從而繼續後續操作。
3.2.2. User-related subgraph
用戶關係子圖使用在這裏插入圖片描述來表示,其中,U表示的是用戶集合,S是股票集合。變量rusr_{us}代表邊的集合。如果一個用戶uiu_i買了或者比較關注股票sjs_j,則這兩個結點之間就會存在邊rijr_{ij},邊rijr_{ij}
權重wijw_{ij}使用用戶uiu_i購買股票sjs_j的總次數來表示。用戶和股票之間的關係包括用戶的行爲如購買、關注。
3.2.3. News-related subgraph
新聞關係子圖表示爲在這裏插入圖片描述,其中N是新聞集合,S是股票集合,Co是概念集合,Ca是行業類型集合。變量rnr_n表示邊集合。如果新聞文章nin_i提及了股票sjs_j,這兩個實體之間就會存在邊rijr_{ij},如果邊rijr_{ij}存在,則將邊rijr_{ij}的權重wijw_{ij}設爲1。其他實體之間的關係同理。

3.3. Training embeddings
這部分將會討論怎麼使用圖嵌入模型對異質知識圖譜進行嵌入表示以及模型的優化方法。
作爲網絡的一種表示方式,圖嵌入算法在很多場景中都得到了應用。在很多相關工作中,node2vec的有效性和穩定性都得到了驗證。在本文中,使用node2vec來學習異質知識圖譜中結點的嵌入表示。實際上,使用其他圖嵌入算法也可以證明我們提出的金融知識圖譜的優勢。如果必要的話,我們也可以使用其他有監督的嵌入算法來完成相同的任務。

爲了論文理解,這裏引用知乎大佬王喆對deepwalk和node2vec這樣兩種比較經典的圖嵌入方法的介紹。引文鏈接
DeepWalk介紹
早期影響力較大的graph embedding方法是2014年提出的DeepWalk,它的主要思想是在由物品組成的圖結構上進行隨機遊走,產生大量物品序列,然後將這些物品序列作爲訓練樣本輸入word2vec進行訓練,得到物品的embedding。下圖用圖示的方法展現了DeepWalk的過程:
在這裏插入圖片描述
如圖3,整個DeepWalk的算法流程可以分爲四步:
(1)圖a展示了原始的用戶行爲序列
(2)圖b基於這些用戶行爲序列構建了物品相關圖,可以看出,物品A,B之間的邊產生的原因就是因爲用戶U1先後購買了物品A和物品B,所以產生了一條由A到B的有向邊。如果後續產生了多條相同的有向邊,則有向邊的權重被加強。在將所有用戶行爲序列都轉換成物品相關圖中的邊之後,全局的物品相關圖就建立起來了。
(3)圖c採用隨機遊走的方式隨機選擇起始點,重新產生物品序列。
(4)圖d最終將這些物品序列輸入word2vec模型,生成最終的物品Embedding向量。
在上述DeepWalk的算法流程中,核心是第三步,其中唯一需要形式化定義的是隨機遊走的跳轉概率,也就是到達節點viv_i後,下一步遍歷viv_i的臨接點vjv_j的概率。
如果物品的相關圖是有向有權圖,那麼從節點viv_i跳轉到節點vjv_j的概率定義如下:
在這裏插入圖片描述
其中N+(vi)是節點vi所有的出邊集合,Mij是節點vi到節點vj邊的權重。
如果物品相關圖是無相無權重圖,那麼跳轉概率將是上面公式的一個特例,即權重Mij將爲常數1,且N+(vi)應是節點vi所有“邊”的集合,而不是所有“出邊”的集合。
DeepWalk的進一步改進——Node2vec
2016年,斯坦福大學在DeepWalk的基礎上更進一步,通過調整隨機遊走權重的方法使graph embedding的結果在網絡的同質性(homophily)和結構性(structural equivalence)中進行權衡權衡。
具體來講,網絡的“同質性”指的是距離相近節點的embedding應該儘量近似,如圖4,節點u與其相連的節點s1、s2、s3、s4的embedding表達應該是接近的,這就是“同質性“的體現。
“結構性”指的是結構上相似的節點的embedding應該儘量接近,圖4中節點u和節點s6都是各自局域網絡的中心節點,結構上相似,其embedding的表達也應該近似,這是“結構性”的體現。在這裏插入圖片描述
爲了使Graph Embedding的結果能夠表達網絡的結構性,在隨機遊走的過程中,需要讓遊走的過程更傾向於寬度優先搜索(BFS),BFS更喜歡遊走到跟當前節點有直接連接的節點上;另一方面,爲了抓住網絡的同質性,就需要隨機遊走更傾向於深度優先搜索(DFS),DFS會更傾向於通過多次跳轉,遊走到遠方的節點上。(可以藉助:“周遊了世界才知道中國人之間的同質性,周遊了中國才知道中國人之間的結構性”這句話幫助理解。)。在node2vec算法中,BFS和DFS的傾向性主要是通過節點間的跳轉概率來控制,有兩個參數P和Q來控制。

引用到此處結束。。接着開始講論文正文。

現有的node2vec算法流程如下。知識圖譜在這裏插入圖片描述
用來學習映射函數,在這裏插入圖片描述,使用此映射函數將結點表示成在這裏插入圖片描述個參數的嵌入表示形式。對於每一個源節點u∈V,在這裏插入圖片描述表示使用採樣策略S產生結點u的網絡鄰居。
node2vc優化的目標爲:給定每個頂點的條件下,令其近鄰頂點出現的概率最大。在這裏插入圖片描述
爲了求解上述最優化問題,node2vec算法有兩個假設。

  • 條件獨立性假設
    即給定源頂點條件下,其近鄰頂點出現的概率與近鄰集合中其餘頂點無關。可以得到如下公式:
    在這裏插入圖片描述

  • 特徵空間對稱性假設

  • 即一個結點作爲源節點和作爲近鄰結點時共用同一套embedding向量。可以得到如下公式:
    在這裏插入圖片描述
    根據這兩個假設條件,目標函數最終可以表示爲:
    在這裏插入圖片描述
    其中在這裏插入圖片描述是歸一化因子,由於此歸一化因子的計算代價高,所以採用負採樣技術進行優化。
    使用隨機梯度下降來求解映射函數ff的參數。實際上就是最大化結點與其近鄰集合的內積。
    3.4 News recommendation
    這一部分提出了node2vec-based news recommendation (NNR)(基於node2vec的新聞推薦)。這種方法使用用戶嵌入與新聞文章嵌入來計算用戶與新聞之間的相關性。爲了計算用戶對新聞的偏好程度,引入了餘弦相似度來計算兩個結點之間的相似度。
    在這裏插入圖片描述

其中d是嵌入的維度。
給定一個用戶以及候選的金融新聞文章,首先將用戶和新聞文章映射到同一個潛在向量空間,接着選擇前top-k個與用戶最相關的新聞文章。更準確地說,就是給定一個用戶和候選新聞,可以計算用戶與新聞之間的餘弦相似度值,將與用戶的餘弦相似度值最高的top-k個新聞推薦給用戶。公式如下:
在這裏插入圖片描述
其中u代表用戶,nin_i是是候選的金融新聞。
在這裏插入圖片描述是選擇需要推薦的新聞。其中K代表需要推薦的新聞的數量,U是目標用戶集合,N是候選新聞集合,NuN_u給用戶u的推薦結果。
3.5 Incrementally updating embeddings (增量更新嵌入)
實際上,在推薦過程中涉及百億級別的新聞文章以及百萬級別的用戶,所以實體的數目會達到千億級別,訓練具有千億級別實體的圖嵌入的計算代價特別大。與此同時,金融新聞會隨着時間改變,在真實推薦場景中,在線更新是不可避免的。由於新聞的時間敏感性,如果推薦時需要花費數十個小數來得到新聞或者用戶的嵌入表示是不切實際的。
所以,提出一個能夠在幾分鐘內確定新聞嵌入和用戶嵌入的新方法是很必要的。爲了解決這個問題,本文提出了incremental node2vec-based news recommendation (INNR)方法(基於node2vec的增量新聞推薦方法)。爲了減少計算時間,只需要訓練圖中那些較少改變的核心實體的嵌入即可,不需要訓練圖中的全部實體。之後,可以基於核心圖嵌入使用多種策略來表示新用戶或者新的新聞。基於嵌入信息,可以計算出用戶和新聞之間的相關性,從而將合適的新聞推薦給目標用戶。
核心圖實際上就是前面提到的證券子圖。選擇證券子圖作爲核心圖的原因有如下幾點:

  • 用戶和新聞更新地較爲頻繁,而公司、概念、行業類型較少發生改變。所以證券子圖的嵌入表示相對比較穩定。
  • 公司、概念、行業之間的關係反映出金融新聞的外部知識,也就是說反映出新聞內容信息。
  • 公司、概念、行業類型是從用戶股票交易記錄獲得的。分析這些記錄可以反應用戶的閱讀偏好,從而能夠幫助進行用戶畫像。
    這裏給出一個例子說明如何表示新的新聞文章和新用戶。假設有一個新聞,表示爲n1n_1,它所屬的行業類型有ca1ca_1ca2ca_2,另外新聞n1n_1中涉及了一些概念和股票,使用co1co_1co2co_2s1s_1表示。
    因爲ca1ca_1ca2ca_2co1co_1co2co_2是核心圖中的實體,所以可以使用doc2vec得到這些實體的圖嵌入。這些嵌入構成了大小爲s的集合V。用來表示用戶和新聞文章的策略如下:
    Strategy 1:新聞n1n_1可以被表示爲vs1v_{s1}。新聞嵌入表示實體的均值,平均值能夠保留數據的共同特徵,但容易受異常值影響。在這裏插入圖片描述
    Strategy 2:爲了排除異常值的影響,可以使用與其他結點的歐式距離和最小的結點代表新聞n1n_1,表示爲vs2v_{s2}。但是這種方法會丟失其他結點的信息。

在這裏插入圖片描述
Strategy 3:爲了結合以上兩種策略的優點,可以先計算每個結點與其他結點的歐式距離和,將距離最遠的k個結點剔除之後,剩下的結點嵌入取均值來代表新聞n1n_1,表示爲vs3v_{s3}在這裏插入圖片描述
對於圖中存在的新聞,可以直接使用學習到的圖嵌入表示新聞。對於一個與用戶沒有交互關係的新新聞,可以使用新聞中涉及的實體的嵌入來表示,表示是使用策略3.
同樣的策略也可以用來表示用戶。
提出的INNR算法可以實現在線更新,而且能夠解決用戶冷啓動和新聞冷啓動問題
4. Experiment and evaluation
4.1. Experiment details
4.1.1. Data preparation
用來評價模型的數據集來自GF證券公司真實數據集。GF證券公司擁有超過900億用戶,是中國排名前五的證券公司。實驗使用的瀏覽記錄來自於GF證券的手機app應用,交易數據是用戶真實的股票交易數據。這些數據很權威,很可靠,而且爲了保護用戶隱私,都進行了脫敏處理。
源數據包含了22404個用戶和從2017年5月到2018年五月的64881條新聞文章數據。我們根據交易記錄和瀏覽記錄的時間範圍隨機選擇用戶和新聞。另外,新聞中涉及的實體包括59267個公司,2013個概念,226個行業類型。
爲了確保模型性能表現好,我們剔除了源數據中的一些低質量的數據,比如那些沒有沒有交易和瀏覽記錄的用戶。我們剔除這些數據的原因如下:
(1)那些沒有瀏覽和交易數據的用戶增加了圖的稀疏性,對於我們的模型具有負面作用。
(2)用戶沒有瀏覽記錄,那麼就無法驗證模型推薦結果。
去除了一些低質量的數據後,使用的數據還有3800個用戶和64881條新聞。這些用戶的股票交易記錄和瀏覽記錄用來訓練和測試模型。
爲了防止過擬合,我們將訓練集和測試集分開。在冷啓動場景中,訓練數據是用戶的股票交易數據,測試數據是用戶的新聞瀏覽記錄。在一般的推薦場景中,訓練數據是用戶的股票交易數據和部分用戶瀏覽數據。這部分瀏覽數據稱爲N1N_1。剩餘部分的瀏覽數據作爲測試數據。這部分數據稱爲N2N_2
剔除數據之後的數據集包含127865個實體和339222個關係。如table1所示。
4.1.2. Parameter configuration
node2vec算法中的參數P和Q使用測試數據進行優化。P和Q的值是0,0.25,1和4。有九種P和Q的不同組合。P是return parameter,控制着重複訪問上次訪問過的頂點的概率。Q控制着遊走的距離遠近。通過P和Q參數的不同組合,node2vec可以模擬寬度優先的隨機遊走和廣度優先的隨機遊走。對於INNR算法,剔除的異常點的百分比也是需要優化的參數。
其他參數設置如下:嵌入向量的維度d=128,遊走序列長度l=80,遊走的步數n=10,窗口大小k=10,epochs的次數e=10.
4.1.3. Evaluation index(評價指標)
RPI rate
僅僅使用precision和recall率難以評估模型的推薦結果是否符合用戶偏好。因此,定義了一種評價推薦結果與用戶偏好是否兼容的評價標準RPI rate。 The rate of recommendation-preference interactions (RPIs) 代表的是推薦準確的數量佔全部推薦的比例。如果推薦給用戶的新聞所屬的行業類別是用戶以前瀏覽過的新聞的所屬類別,那麼這個推薦結果就認爲是正確的。
舉個例子,假設推薦給用戶三個新聞,分別表示爲n1n_1n2n_2n3n_3。這三個新聞所屬的類別都是ca1ca_1ca2ca_2。已知用戶之前還瀏覽過新聞n4n_4n5n_5這兩個新聞屬於ca2ca_2ca3ca_3。因爲推薦的新聞所屬的行業類型和曾經瀏覽過的新聞所屬的行業類型具有一個共同的類型ca2ca_2,所以認推薦是成功的。
Computation time
模型訓練時間和測試時間之和稱爲推薦時間,推薦時間代表着模型的推薦效率。在本文中,訓練時間定義爲訓練模型得到圖嵌入的時間,測試時間定義爲加載新聞文本和用戶數據,根據訓練好的圖嵌入計算用戶和新聞的相似度並且將新聞推薦給用戶所使用的時間。所有的實驗都是在一個單處理器上運行的。硬件設置如下:
Intel® Xeon® E5-2620 v3 CPU operating at 2.40 GHz and 32 GB of RAM.
在本文中,所有的實驗都是爲用戶推薦三條新聞文章。每一個模型做十次實驗,使用十次實驗的最高得分來表示模型性能。十次實驗的計算的平均時間作爲計算時間。
4.2. Result summary
在此部分,數據集中的所有用戶和新聞被表示爲N和U,選擇一個時間點t,在時間t之前的新聞文章標記爲N1N_1,時間t之後的新聞文章標記爲N2N_2。其中 N1|N_1|N2|N_2|=7:3。
所有的3800個用戶被隨機分爲U1U_1U2U_2兩部分,其中 U1|U_1|U2|U_2|=7:3。包含N1N_1中新聞的瀏覽記錄標記爲在這裏插入圖片描述,包含N2N_2中新聞的瀏覽記錄標記爲在這裏插入圖片描述,用戶U的交易記錄標記爲在這裏插入圖片描述
4.2.1. Node2vec-based news recommendation models
這部分探索如果只使用基於node2vec模型進行推薦,推薦效果效果如何。訓練模型時,只使用用戶交易數據在這裏插入圖片描述,因爲在真實推薦場景中,很難得到高質量的、完整的用戶瀏覽數據。所以,只使用高質量的股票交易記錄來訓練模型效果會比較好。
NNR算法在用戶和新聞很少改變的靜態圖中是有效的,而INNR算法在在線更新和冷啓動推薦場景中表現更好。訓練集和測試集所使用的數據如table2所示。在這裏插入圖片描述
在NNR中,在構建包含證券子圖、用戶子圖和新聞子圖三個子圖的知識圖譜中,所有的用戶和新聞都考慮進來了。證券子圖包含了股票、公司、概念和行業類型,保存了證券相關的背景知識。用戶關係子圖通過股票交易記錄將用戶與股票鏈接起來。新聞關係子圖鏈接着新聞和股票、公司、概念、行業類型這些實體。因爲構建圖是沒有使用瀏覽記錄,所以用戶和新聞之間沒有直接鏈接的邊。
INNR能夠使用在三種冷啓動場景下:新用戶場景、新的新聞場景以及同時包含新用戶和新新聞的場景。使用在着三個場景下的INNR模型分別被標記爲INNRuINNR_uINNRnINNR_nKaTeX parse error: Expected '}', got '&' at position 8: INNR_{n&̲u}
INNRnINNR_n模型中,在創建新聞關係子圖時只使用了N1N_1中的新聞,因爲N2N_2中的新聞視爲新的新聞。而證券子圖和用戶子圖則是和NNR中使用的一樣。模型在所有的新聞瀏覽記錄數據集在這裏插入圖片描述上進行了驗證。N1N_1中所有新聞的嵌入表示可以將node2vec應用在整個圖上確定,新的新聞的嵌入表示則可以使用論文3.5節討論過的策略,基於其他結點來進行嵌入表示。INNRuINNR_u模型在構建用戶子圖時只考慮了U1U_1中的用戶,而證券子圖和新聞子圖則和NNR模型中一樣。KaTeX parse error: Expected '}', got '&' at position 8: INNR_{n&̲u}同時考慮了在U1U_1中的用戶和在N2N_2中的新聞,因爲這樣新的新聞和新的用戶會同時出現,這就和真實推薦場景比較接近。
所有模型都在數據集DataNbData^b_N上進行驗證,當使用RPI、precision、recall三個指標評價模型時,使用新聞的行業類型作爲金標準。
table3和table4分別展示了模型性能和計算時間。雖然NNR和INNR模型只使用了股票交易記錄來推測用戶和新聞之間的關係,但是都達到了很好的推薦效果。NNR模型在RPI、precision、recall中得到了最高的分數,但是計算時間太長。最大的問題是當出現新的新聞或者新用戶時,NNR模型需要重新訓練。
聚焦於在線更新和冷啓動問題,INNR可以使用相關的結點表示新的用戶或者新聞,從而減少額外的計算時間,同時避免重新訓練模型。提前訓練核心圖大約需要3600秒,但是正常情況下只需要訓練一次。INNR模型的推薦效果和計算時間與INNR模型相近,但是RPI rate比NNR低了15%,INNR在冷啓動場景下表現更穩定。
在這裏插入圖片描述
在這裏插入圖片描述
INNR模型的RPI值比NNR模型的RPI值低是因爲INNR中直接使用了相關的結點嵌入表示新的用戶或者新聞會丟失一些特徵信息。比如結點之間的跳數和結點的稀疏性。然而INNR的RPI指標仍然達到了35%,比其他協同過濾的baseline模型的分數高。與NNR相比,INNR需要更短的訓練時間,在實驗分析中已經充分說明了。雖然INNR與NNR相比有大約7%的RPI下降,但訓練時間縮減了兩倍,這點在時間敏感的金融新聞推薦任務中是更重要的。
4.2.2. Comparison between Node2vec-based models and baseline models
在這一部分,我們的模型與其他的baseline進行比較,從而證明我們提出的模型的有效性和高效率。使用以下常用的模型進行比較:nonnegative matrix factorization (NMF),singular
value decomposition (SVD),SVD++, centered-KNN、the Kmost popular method(類似基於熱點推薦),random method(隨機推薦)。
我們還設置了一種叫做RNN recsys的基於內容的方法以及一個基於node2vec進行在線嵌入的方法與我麼的方法做比較,以確保我們的方法與不同類型的推薦方法都做了比較。
爲了測試模型,首先構造(user,rating ,news)三元組。通過瀏覽記錄可以知道用戶是否瀏覽了某條新聞,如果用閱讀了某條新聞,則三元組的rating=1,成功構造正例,對於那些用戶沒有瀏覽過的新聞,從中隨機挑選一些新聞作爲負例,rating=0.
協同過濾方法是使用現有的軟件包實現的,基於內容的方法是使用開源代碼實現的,基於嵌入的方法也是基於開源代碼實現的。所有參與比較的模型都使用了相關工作中給出的默認的超參數。
table5顯示了訓練集和測試集的分配情況。在這裏插入圖片描述
在之前的部分,訓練模型時只使用了股票交易數據,DataUtData^t_U。爲了和baseline中使用的數據一致,在實驗中,訓練基於node2vec的模型時同時使用了DataUtData^t_UDataUbData^b_U
對於NNR模型,此部分與前面部分的不同之處在於知識圖譜中添加了N1N_1中新聞的瀏覽記錄。根據數據集KaTeX parse error: Double subscript at position 9: Data^b_N_̲1,用戶和新聞直接聯繫起來了,所以在預測用戶與新聞之間的潛在關係時使用到了更多的信息。INNR模型在三種冷啓動場景下的設置與論文之前部分大部分是一致的,唯一不同之處是加入了瀏覽記錄數據。

模型的表現比較結果在table6中進行了展示。
在這裏插入圖片描述
模型運行時間的比較展示在table7中。
在這裏插入圖片描述
通過實驗結果可以看出,NNR模型在所有模型中表現最好。
與table3相比,加入了瀏覽記錄之後,NNR模型和INNR模型效果都有了不同程度的提升。
但是計算時間仍是NNR最大的缺點。NNR模型的計算時間是SVD模型的
倍,是KNN模型的34倍,這在真實的推薦場景中速度是不可行的。
INNR模型的RPI指標與其他模型相比仍然表現優異。NNR比INNR表現更好;然而,由於有更多的結點和邊,NNR模型的訓練時間是INNR模型的3倍。效率高仍然是INNR模型的主要優點。
與knn模型相比,INNR模型只需要大約200秒就能從現存的結點嵌入得到用戶和新聞的表示,所使用的時間是SVD模型的35倍,是KNN模型所需時間的一半。另外,當處理冷啓動問題時,INNR模型一致保持在接近最優的水平,這說明INNR模型在冷啓動場景中具有很好的穩定性。
在所有的baseline中,MostPop方法的推薦效果優於SVD、SVD++,KNN和NMF,雖然這種方法是一種很簡單的方法。這是因爲當有突發新聞時,用戶傾向於去閱讀這些突發新聞,在這種場景下,MostPop方法表現優異。在本文實驗中,random baseline方法優於一些協同過濾方法。這可能是因爲沒有足夠的反饋信息,協同過濾方法很難準確地識別相似用戶。處理基於KNN地方法之外,其他協同過濾方法幾秒中就可以訓練好,這顯示處了效率方面的優勢。
RNN recsys方法效果與NNR方法相當,而且訓練時間也相近。然而它和NNR存在同樣的缺點,那就是在推薦一批新的新聞時,模型需要重新訓練。在線node2vec方法在RPI指標上高出INNR模型7.5個百分點,但在線node2vec的訓練時間時INNR訓練時間的29倍。在真實的推薦場景中,對時間效率要求很高。時間必須控制在分鐘級別。所以在線node2vec無法滿足要求。使用INNR模型,我們能夠根據用戶和其他結點的關係直接跟新用戶嵌入表示,這樣能夠大大提升時間效率。當股市關閉之後,交易暫停,我們就可以使用最新的數據重新訓練整個圖,更新所有結點,從而彌補INNR的推薦損失。
5. Related studies
這部分會簡要地回顧一下新聞推薦地相關工作。
5.1. Collaborative filtering methods
由於新聞會頻繁地發生變化,所以協同過濾方法經常會存在冷啓動問題。 Agarwal等人提出了一個從冷啓動問題到熱啓動問題無縫過渡地模型。Trevisiol 等人也試圖解決冷啓動場景中地推薦問題,他們提出的方法能夠在給定用戶瀏覽的第一個網址之後,預測用戶下一個瀏覽的網址。儘管研究者們在基於協同過濾的方法上做了大量工作,這種方法還是需要很多人工特徵。
5.2. Content-based methods
基於內容的方法時新聞推薦中最爲流行的方法。Wu等人針對新聞關鍵詞提出了一個新聞過濾和摘要方法。Capelle於2015年對SF-IDF方法進行了改進,這種方法在SF-IDF的基礎上還考慮了句法集語義關係和命名實體識別相似度。雖然很多研究都對基於內容的方法進行了改進,但僅僅使用簡單的基於內容的方法難以動態地準確地計算用戶偏好。
5.3. Hybrid methods
混合的方法將基於內容的方法與協同過濾方法進行了結合。例如,Phelan等人利用用戶點擊行爲,基於貝葉斯的方法來預測用戶當下的興趣。Son 提出了一種基於位置的新聞推薦方法。研究者們也開始將神經網絡模型應用在新聞推薦任務中。Okura等人從基於去噪自動編碼器變體的文章分佈式表示開始,然後使用具有瀏覽歷史記錄的RNN作爲輸入序列生成用戶表示。
5.4. Embeddings-based methods
知識圖譜基於顯性的領域知識,將與用戶興趣與新聞特徵映射到同一特徵空間。在推薦任務中越來越受到重視。圖嵌入算法作爲一種表示網絡的方法,在很多實際場景中都得到了應用。在過去的幾十年中,大量的研究探索了圖嵌入算法。Bordes設計了一種方法,使得在三元組(h,l,t)中h+l~t,以此來學習到實體和關係的表示。
Wang等人對Bordes’s 的工作進行了擴展,通過將實體投影到由法向量標識的超平面上,使得實體在不同的關係上下文中有不同的表示。Lin等人提出的模型通過使用一個與任何關係相聯繫的矩陣將實體和關係映射到不同維度的向量空間中。Perozzi等人提出了深度遊走方法,這種方法在模擬圖的上的隨機遊走,能夠產生倍神經語言模型處理的連續序列。Grover等人提出了node2vec方法,這種方法時對深度遊走方法的改進。
接着,研究者們開始考慮基於圖嵌入方法的應用。Wang等人使用圖嵌入的方法解決了taobao推薦中的挑戰。作者通過用戶行爲信息構造圖,學習圖中所有item的嵌入表示,同時使用item的嵌入計算item的相似度。Grbovic等人描述列表和用戶嵌入技術,文中提出的方法是爲了解決Airbnb市場推薦問題專門提出,的,這種方法能夠捕捉到用戶的短期興趣和長期興趣。以上方法都是爲了解決大規模數據集上的實時推薦問題提出來的,而且都使用了基於圖嵌入的方法。wang等人在2018年提出了深度知識感知網絡用於新聞推薦,顯示了基於圖嵌入的推薦方法的有效性。
6. Conclusions
在這篇文章中,我們應用了知識圖譜進行金融新聞推薦,而且提出了一個模型對嵌入進行增量更新以減少計算開銷。通過知識圖譜中的結點代表着用戶、新聞、公司和其他實體,結點之間的相關性可以通過node2vec得到。使用圖嵌入方法,用戶和新聞可以投影到同一個向量空間中。然後可以根據新聞與用戶間的相似度將新聞推薦給用戶。通過在證券公司真實數據集上實驗發現,本文提出的方法由於矩陣分解的協同過濾方法,最近鄰方法,以及熱點推薦方法,而且也優於一些基於內容的方法和一個基於嵌入的方法。本文使用的基於node2vec的推薦方法和增量方法的結合的方法應用在金融新聞推薦中能夠很好地平衡推薦效率和推薦準確度。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章