?

一種基于RippleNet模型的推薦精度提高方法

2023-12-27 12:59安文濤陳珊珊
計算技術與自動化 2023年4期
關鍵詞:三元組子網圖譜

安文濤,陳珊珊

(南京郵電大學 計算機學院,江蘇 南京 210023)

由于計算機技術的高速發展,計算機技術在給人們生活提供便利的同時,也給人類日常生活帶來了一些麻煩,其中數據大爆炸所帶來的數據過載現象尤為明顯。推薦系統作為信息過濾系統,能夠高效地處理數據過載事件。

基于大數據分析的信息推薦系統已廣泛應用于社會各個領域,如閱讀[1]、電影[2]、音樂[3]、新聞[4]推薦等。推薦功能的實現主要依靠協同過濾和聚類模型思維[5]。由于數據稀疏、冷啟動困難等一系列問題在以往的推薦模型中普遍存在[6],因此后期的研究逐漸將知識圖譜加入推薦系統模型。

知識圖譜(Knowledge Graph,KG),是為表達實體之間語義關系的一種結構化語義數據庫,“實體-關系-實體”三元組是知識圖譜的基本組成單位,其中包含豐富的語義知識,可用于推薦系統,使其具有可解釋性、多樣化和準確的特點[7]?;谥R圖譜的推薦系統主要通過引入實體之間的語義相關性,有助于發現它們的潛在聯系,提高推薦項目的準確性。由于存儲在知識圖譜中實體間的語義關系種類具有多樣性,知識圖譜連接用戶的歷史記錄和推薦的歷史記錄,故可以為推薦系統帶來可解釋性?,F有的知識圖譜推薦可分為兩類:第一類基于路徑的推薦方法[8],探索知識圖譜中各個實體之間的連接關系,然后利用連接關系來計算節點相似性,從而進行推薦,但是該方法嚴重依賴于手動設計的元路徑,實踐過程中很難優化;第二類基于嵌入的方法[9],它使用知識圖譜嵌入(Knowledge Graph Embedding,KGE)算法對知識圖譜進行預處理,并將學習到的實體嵌入合并到推薦框架中,采用知識圖譜嵌入算法一般情況更適用于圖內應用,但是該類模型在推薦的過程中并沒有利用到知識圖譜的多跳關系,這使得結果的可解釋性缺乏。

為了使知識圖譜中的數據利用更全面,Wang Hong-wei等[10]2018年提出RippleNet模型,首次將基于嵌入的思想通過對圖譜的語義表示與路徑鏈接信息結合,RippleNet模型通過“偏好擴散”的思想在創建好的知識圖譜中創建,RippleNet模型借助知識圖譜節點間語義關系在節點之間傳播得到了很好的效果。但是隨著數據的增多,構建的知識圖譜的冗余數據會隨著增長,為了提高數據的相關性,從而提高RippleNet模型的推薦精度,本文提出新的改進方法,開展了如下工作:

1)添加子網提取算法對數據進行預處理,通過提取概念圖譜的最大聯通子網來去除數據冗余。

2)在RippleNet模型的基礎上,利用算法處理后的數據和原數據進行對比試驗,證明該方法的有效性。

1 相關工作

RippleNet背后主要的思想是偏好傳播,如圖1所示,RippleNet模型以一個項目和一個用戶作為輸入,接著將項目經過嵌入轉化為低維向量,然后將該向量不斷地同用戶周圍的n跳項目轉化后的向量進行交互運算,得到該用戶的向量表示,然后將用戶的向量表示與項目的轉化向量進行計算,得到用戶的點擊概率,從而完成推薦。

圖1 RippleNet的總體框架

RippleNet模型涉及相關實體:U={u1,u2,…}表示用戶集合;V={v1,v2,…}表示物品集合;Y={yuv|u∈U,v∈V}表示用戶和物品的交互矩陣,被定義為隱式反饋,其中:

(1)

如果yuv的值為1,則表示用戶u和物品v之間存在隱式的交互作用,如點擊、游覽、觀看等行為。

RippleNet模型利用水波紋的傳播思想,以用戶所感興趣的物品作為種子(seed),在知識圖譜中以種子物品作為中心像水波紋一樣向外擴散到其他物品上,整個過程為偏好傳播。外層的物品屬于用戶潛在的偏好,應該被添加到計算過程中。

pi=softmax(vTRihi)=

(2)

(3)

(4)

最后得到用戶u和物品v交互的概率:

(5)

2 優化改進

在RippleNet模型的基礎之上,利用子網提取算法處理后的數據替換未經處理的原始數據。如圖2所示,首先對未經處理的概念圖譜文件進行一次預處理,利用子網提取算法[11]對原概念圖譜數據進行最大連通子網抽取,從而去除冗余數據,使得數據之間的相關性得到提高。利用處理后得到的最大連通子網數據文件進行知識圖譜的構建,以得到知識圖譜,然后利用RippleNet模型進行計算。

圖2 加入數據處理后RippleNet整體框架

RippleNet模型利用水波紋的特點模擬用戶的偏好傳播,以一個用戶和一個物品作為輸入,輸出用戶與物品交互的預測概率,概率越高,表示用戶與物品的相關性概率越高。如圖2所示,在構建所需的知識圖譜之前對數據文件進行一次預處理,獲取最大連通子網,去除一些無關聯的冗余節點。通過獲取概念圖譜網絡的最大連通子網來提高數據的相關性。本文利用子網提取算法,以概念圖譜文件作為輸入,最大連通子網節點集合作為輸出。

算法:子網提取算法

輸入:概念圖譜文件Concept_graph

輸出:最大連通子網節點集合MaxSubNet

(1)從Concept_graph中抽取出度值的節點所在的三元組,將該三元組所包含的節點作為最大連通子圖的中心層Sublayeri(當前i=1,表示中心層),并加入集合MaxSubNet。

(2)尋找Sublayeri集合中的相鄰節點,將查找到對應的鄰居節點加入集合NeighborSeti中。

(3)判斷集合NeighborSeti中是否有新的不在集合MaxSubNet中的節點,若有,將NeighborSeti并入MaxSubNet中,并用集合MaxSubNet與集合NeighborSeti的差集替換Sublayeri,i=i+1,然后跳轉到步驟(2);若無,則繼續步驟(4)。

(4)返回MaxSubNet.

首先利用子網提取算法可以得到最大連通子網的節點集合MaxSubNet,然后根據MaxSubNet從概念圖譜文件Concept_graph中提取出最大子網的邊的集合,對于每一條邊依舊采用Concept_graph中三元組形式并存儲在文本文件Concept_graphLink中,然后根據MaxSubNet和Concept_graphLink構建圖3所示的最大連通子網。其中,中心層(CentralLayer)為包含度值最大的三元組節點;第二層(Layer 2)為中心層各個節點的鄰居節點集合;第三層(Layer 3)為第二層節點的鄰居節點集合。以此類推,直到最外層(Outermostlayer)。

圖3 最大連通子網邏輯結構

通過算法抽取出圖譜網絡的最大連通子網,提高了節點之間的相關性,從而能夠更真實地描述其網絡特性。根據子網提取算法得到最大連通子網的節點集合,再根據Concept_graph中提取邊的集合GraphLink,最后生成知識圖譜網絡,然后利用RippleNet模型對生成的知識圖譜網絡進行運算。

3 實驗驗證

3.1 實驗評價標準

分類問題中的混淆矩陣如表1所示,其中TP(True Positive)表示實際結果為1,預測也為1;FP(False Positive)表示實際結果為0,預測為1;FN(False Negative)表示實際結果為1,預測為0;TN(True Negative)表示實際結果為0,預測為0。Top-k列表推薦的具體評價標準:精準率、召回率、F1計算公式如式(6)~式(8)所示。CTR(Click Through Rate)點擊率預測的評價標準,準確率和AUC的計算公式如式(9)、式(10)所示。

表1 混淆矩陣

(6)

(7)

(8)

(9)

(10)

式(8)中F1值是精確率和召回率的合成指標,綜合了二者的結果,F1值越高,代表模型綜合性能越好。式(10)中的insi表示正樣本,rankinsi表示預測第i個樣本的概率排名,T表示正樣本的總數,F表示負樣本的總數。

3.2 實驗數據

實驗中使用了MovieLens-1M數據集,見表2。

表2 數據集的基本統計

采用子網提取算法對所構建的概念圖譜網絡進行最大連通子網抽取實驗,具體實驗環境為64位Win11系統,8 GB內存,Python開發環境。

3.3 實驗結果

由算法(SNEBF)根據概念圖譜的數據文件MovieLens-1M生成的最大子網包含節點結果MovieLens-1M_MaxSubNet如表3所示。

表3 最大連通子圖提取結果

根據MovieLens-1M數據文件生成的最大子網占原概念圖譜網絡節點和邊的83.23%和92.69%,由MovieLens-1M所生成的最大子網覆蓋了原概念圖譜網絡大部分的邊和節點,能較好地反映整個網絡特征。

使用原數據集MovieLens-1M 和消除冗余后的數據集MovieLens-1M_MaxSubNet在RippleNet模型上進行計算,其中CTR(Click Through Rate)點擊率預測結果評價標準,AUC和精準度結果如表4所示;Top-k推薦中的精準度、召回率、F1的結果如圖4所示。

表4 CTR預測的AUC和精準度結果

圖4 Top-k推薦中的精準率、召回率、F1對比

綜上,通過提取最大連通子網消除冗余數據,提高數據集的相關性,為RippleNet的偏好傳播提供更相關數據,有效地降低了數據的不確定性,提升了概念圖譜對數據用戶特征描述的精準度。

4 結 論

在RippleNet模型的基礎上,通過子網提取算法提取最大連通子網,消除冗余數據,提高數據相關性,從而提升RippleNet模型推薦性能。使用MovieLens-1M數據集進行預處理后,通過與原數據進行實驗對比,使得RippleNet模型性能得到提升。后續可以將RippleNet模型與其他推薦模型相結合,在此基礎上探索是否可以在準確率上繼續提升。

猜你喜歡
三元組子網圖譜
基于帶噪聲數據集的強魯棒性隱含三元組質檢算法*
一種簡單子網劃分方法及教學案例*
特征標三元組的本原誘導子
繪一張成長圖譜
關于余撓三元組的periodic-模
子網劃分問題研究及應用
補腎強身片UPLC指紋圖譜
子網劃分的簡易方法
主動對接你思維的知識圖譜
三元組輻射場的建模與仿真
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合