





摘要:傳統的興趣點推薦算法都是通過用戶簽到信息建模用戶與興趣點之間的偏好直接進行興趣點的推薦及優化,針對傳統方法存在高維稀疏、噪聲、計算復雜度高和無法建模用戶興趣的動態變化等問題,提出基于LBPR-NET的融合時空特征的興趣點推薦模型.首先引入時間特征建模用戶興趣的動態變化,通過觀察用戶不同時刻在興趣點類別之間的轉移關系,并采用List-BPR方法進行興趣點類別建模,根據ListNet方法優化興趣點類別排序列表,克服了高維稀疏問題,降低計算復雜度;其次,在類別內部通過啟發式算法篩選出興趣點的候選集,降低了噪聲.實驗結果表明,該模型能有效提高推薦質量和準確率.
關鍵詞:興趣點推薦;時空上下文信息;貝葉斯個性化排序;張量分解;ListNet
中圖分類號:TP311 文獻標志碼:A
POI Recommendation Model Fusing Spatiotemporal
Features Based on LBPR-NET
CHENG Shu-yu
(School of Information Engineering, Anhui Vocational College of
Electronics and Information Technology, Bengbu 233060, Anhui, China)
Abstract:The traditional POI recommendation algorithms directly recommend and optimize POIs by modeling the preferences between users and POIs through user check-in information. The traditional methods have problems such as high-dimensional sparsity, noise, high computational complexity, and inability to model the dynamic changes of user interests. To solve these problems, this paper proposes a POI recommendation model based on LBPR-NET, which integrates spatiotemporal features. This model divides POI recommendation into two steps. Firstly, time features are introduced to model the dynamic changes of user interests. By observing the transfer relationship between the POI categories at different moments of the user, List-BPR method is used to model the POI category, and the ListNet method is used to optimize the POI category ranking List, which overcomes the high-dimensional sparsity problem and reduces the computational complexity. Secondly, in the corresponding category, the heuristic algorithm is used to filter out the candidate set of POI to reduce the noise. Experiments show that the model can effectively improve the quality of recommendation, and has better performance than other related algorithms in terms of accuracy.
Key words:POI recommendation; spatiotemporal context information; Bayesian personalized ranking; tensor decomposition; ListNet
傳統的興趣點推薦算法都是通過對用戶簽到信息建模與興趣點之間的偏好直接進行興趣點的推薦及優化,所采用的方法有協同過濾[1]、矩陣分解[2]、貝葉斯個性化排序(BPR)[3]等.由于用戶簽到的信息高維稀疏,直接進行興趣點的推薦會存在計算復雜度高且推薦精確度低等問題.為了解決這個問題,多數研究者融合社交、地理、時間、評論等多源信息來提高推薦的質量.在地理、時間信息上,趙薇等[4]提出融合時空信息的興趣點推薦模型,該模型
利用地理關系模塊捕獲用戶軌跡中的地理因素,通過神經網絡聯合學習,針對用戶不同時間段推薦了不同的訪問地點.王營麗等[5]提出融合時間特征的矩陣分解模型,該模型將用戶簽到矩陣按時間戳分解成不同的關系矩陣,利用張量分解對多個關系矩陣分解求得用戶在單位時間訪問興趣點的偏好.徐翔俊等[6]提出一種面向時序特征的興趣點推薦模型,在基于用戶協同過濾方法基礎上結合時間和地理空間相近性特征預測用戶在單位時間訪問某興趣點的概率.
以上方法都是利用用戶簽到頻率計算用戶對興趣點的偏好并進行推薦,但用戶的簽到頻率高維稀疏,存在推薦準確性不高、負樣本補全會引入噪聲等問題,黃振華等[7]提出了基于排序學習的興趣點推薦算法,將簽到頻率作為特征學習,構建用戶興趣偏好模型,得到用戶在興趣點上的偏好排名,根據偏好排名進行興趣點推薦,該方法能根據已有的用戶簽到頻率學習未簽到興趣點的簽到頻率,能有效解決數據稀疏問題,更好反映用戶的偏好.
實際上,用戶的日常活動通??梢杂门d趣點類別層次過渡模式代表.直觀地說,人們傾向于先知道自己要去干什么(如吃飯),然后再根據個人偏好去確定具體地點.例如,一個購物愛好者經常訪問商場購買各種商品,一個美食家通常喜歡尋找好餐館.事實上,興趣點類別數量遠遠小于興趣點的數量,通過預測類別可以大大降低數據維度,減少計算復雜性.
本文融合時空上下文信息,應用LBPR-NET的興趣點推薦模型,利用數據的連續性,觀察興趣點類別間的轉移關系,將時間、當前時刻興趣點類別和下一時刻興趣點類別的相互關系作為特征向量,利用列表級貝葉斯個性化排序(List-BPR)方法預測下一時刻用戶要訪問的興趣點類別,并在相應類別里,通過啟發式算法篩選出興趣點的候選集,整個推薦模型框架如圖1所示.
1 興趣點類別預測
在描述本模型之前,先定義本文用到的符號:U={μ1,μ2,…μM}代表用戶集合;L={ι1,ι2,…ιN}代表興趣點位置集合;C={c1,,c2,…cS}代表興趣點類別集合;Cμt={Cμ1,Cμ2…Cμt-1}表示每個用戶μ在t時刻之前簽到的興趣點類別集合,其中Cμt-1C,表示用戶μ在t-1時刻簽到的興趣點類別.矩陣分解(MF)和馬爾科夫鏈[8](MC)是興趣點預測常用的兩種方法,矩陣分解通過將觀測到的用戶-興趣點矩陣進行低秩分解模擬用戶對興趣點的偏好,但是忽略了數據的連續性信息,馬爾科夫鏈通過觀察用戶近期的行為(興趣點時間序列)來預測下一個時間點的行為,馬爾科夫鏈模型如圖2所示.
本文模型,首先根據每個用戶在馬爾科夫鏈上的簽到行為,觀察用戶在不同時間段的興趣點類別之間的轉移概率;再利用貝葉斯個性化排序方法獲取個性化的興趣點類別排名列表listgt;u,i用來預測用戶下一個時間段的興趣點類別,利用ListNet方法優化模型參數;最后結合空間特征用List-BPR方法進行興趣點類別建模.通過ListNet方法優化興趣點類別排序列表,克服了高維稀疏問題,降低計算復雜度;其次,在相應類別里,通過啟發式算法篩選出興趣點的候選集.
1.1 時間特征分析
將時間特征加入到現有的推薦模型中,建模用戶興趣點的動態變化,讓模型學習到時間變化的特征,為用戶在特定時間點進行興趣點推薦,能更好滿足用戶的需求.本文通過對簽到數據中時間信息的分析,得到時間的差異性和連續性特征.
時間的差異性表現在用戶簽到興趣點位置是隨時間變化的[9],本文將一天(24小時)以小時為單位劃分為等長的時間段T={1,2,…,24},時間t∈T 且t 為整數,例如2014-10-24 00:30:00 表示簽到發生在時間段t = 1.
時間的連續性表現在用戶在相鄰的時間段具有相似的簽到偏好,如11:00-13:00是午飯和午休時間,用戶在這個連續的時間段可能會簽到餐廳、賓館等相似的地方.本文應用余弦相似性計算用戶在任意兩個連續時間段t和t-1之間簽到記錄的相似性,計算公式為:
1.2 興趣點類別建模
興趣點類別預測主要任務可以表述為通過觀察用戶μ在馬爾科夫鏈上從當前t∈T時刻所在的興趣點類別i轉移到下一時刻興趣點類別j的轉移概率,構建個性化時間序列的轉移矩陣,矩陣中的缺失值采用最大似然估計法估計轉移概率,通過基于Listwise的貝葉斯個性化排序算法得到類別排序列表,應用ListNet方法對該列表進行優化,預測下一個興趣點的類別.類別之間的轉移可以用馬爾科夫鏈模型來觀察,通常長度為m的馬爾科夫鏈定義為:
本文中采用列表級排序方法,該方法優化目標是預測興趣點類別的排序列表[10],我們將排序列表定義為listgt;t,i,長度為k的排序列表為:j(1)gt;t,i…j(k), 其中j(k)表示類別處于排序列表中的第k個位置.圖4描述了傳統的Pairwise-BPR算法與Listwise-BPR算法之間的區別,轉移張量χ包含了用戶從當前時刻所在類別i轉移到下一時刻類別j的歷史簽到信息,“?”表示未觀測到轉移.傳統的BPR通常創建一個訓練數據集 DBPRχ,LBPR創建一個訓練數據集 DLBPRχ,分別表示為:
以(t1,i1)時刻(灰色欄)為例,右側傳統BPR轉移矩陣中,用“+”表示類別之間存在轉移.jAgt;t1,i1jB表示從t1時刻所在的類別i1轉移到下一個類別時.相對于類別jB,如果值為“+”表示用戶更喜歡去類別jA的興趣點,值為“-”則相反,為“?”表示無法預測,可以推斷出(t1,i1)時刻類別偏好成對為:
而這個結果恰好是左側LBPR推斷出的列表長度為2的類別排序結果的子集;再以(t1,i5)時刻為例,該欄所有類別之間都存在轉移,但用BPR方法卻無法預測類別偏好成對,LBPR則預測了類別排序,排序列表為 j4gt;μ,i5j1gt;μ,i5j5gt;μ,i5j2gt;μ,i5j3.
通過積極的例子(觀察到的轉變)和消極的例子(未觀察到的轉換)作為成對,將排序學習問題轉化成一個二元分類問題.相比之下,LBPR采用類別列表 DLBPRχ作為訓練數據優化排序列表而不是排序對,以進一步探索在BPR中已觀察到的轉移過渡順序.
根據排名的定義,即在轉移矩陣中轉移概率越大則排名越高,可得到等價式為:
其中:jk表示類別處于排序列表中的第k個位置;xt,i,jk表示t時刻從當前的類別i轉移到下一時刻類別jk的轉移概率.為了使排序結果最優,引入貝葉斯公式優化分解模型中的參數,其公式為:
基于Listwise-BPR的排序學習方法是將整個興趣點類別列表看作學習的實例,通過定義似然函數來獲取目標函數.本文采用ListNet方法,應用概率模型構造似然函數,概率模型為Luce模型[11].ListNet方法主要思想是對于一組興趣點類別列表對象,根據對象的評分函數(這里采用指數函數),應用Luce模型得到對象所有排列方式的概率值,從而得到每種評分函數的排列概率分布.評分函數有相關性判斷條件和排序函數兩種,應用交叉熵來衡量這兩個概率分布的相似性,進而構造似然函數,其公式為:
3.1 空間特征
在分析了用戶簽到行為與興趣點距離之間的關系后,我們發現用戶訪問興趣點的偏好隨著興趣點之間距離的增加而降低.本文采用冪率分布來表示用戶訪問興趣點的偏好和下一個興趣點與已知興趣點之間的距離,計算用戶訪問興趣點的偏好公式為:
其中:dl′,l表示兩個興趣點之間的距離,a和 k分別為冪率分布的參數.采用最小二乘法對上式中參數進行估計.
3.2 類別排序影響
4 實驗及結果分析
4.1 實驗設置
(1) 實驗數據集
本文采用的數據集為Foursquare上的CA的LBSN用戶簽到數據集,該數據集包含了4 163個用戶在35個興趣點類別的483 813條用戶簽到信息.
對數據集中的每個用戶隨機選取60%的簽到數據作為訓練集,其他的數據作為測試集,進行算法性能的評估,數據集信息如表1所列.
(3)PRME,對類別進行預測,采用傳統的pairwise-BPR優化算法優化興趣點成對;
(4)LBPR-MLE,采用張量分解和貝葉斯個性化排序方法預測下一個興趣點.
5 結語
本文針對下一個興趣點推薦提出基于時空上下文信息的Listwise-BPR興趣點推薦模型,該模型將興趣點的推薦分成兩步:首先,利用用戶歷史簽到連續性信息和時間特征對某時刻興趣點類別之間的轉移關系建模,利用Listwise-BPR方法優化興趣點類別排序列表,預測下一個時刻用戶要訪問的興趣點類別;其次,在相應類別里,通過啟發式算法篩選出興趣點的候選集.實驗結果表明,提出的模型在LSBN數據集上相比其他算法有更高的準確率,有效緩解了高維稀疏、計算復雜度高等問題.
參考文獻:
[1] 邢長征,朱金俠,孟祥福,等.興趣點推薦方法研究綜述[J].計算機科學,2021,48(Sup.2):176-183.
[2] 李旭,李景文,姜建武.基于矩陣分解的上下文感知興趣點推薦方法[J].計算機工程與設計,2022,43(1):3108-3115.
[3] 郭承湘,趙雨佳,朱新華.基于排序學習的連續興趣點推薦[J].廣西大學學報(自然科學版),2021,46(3):683-691.
[4] 趙薇,李建波,呂志強,等.融合時間和地理信息的興趣點推薦研究[J].復雜系統與復雜性科學,2022,19(4):25-31.
[5] 王營麗,姜聰聰,馮小年,等.時間感知的興趣點推薦方法[J].計算機科學,2021,48(9):43-49.
[6] 徐翔俊,聶仁燦.基于位置的社會網絡中面向時序特征的興趣點推薦算法[J].計算機應用研究,2015,32(7):1959-1978.
[7] 黃震華.基于排序學習的推薦算法研究綜述[J].軟件學報,2016(3):691-707.
[8] RENDLE S,FREUDENTHALER C,SCHMIDT-THIEME L.Factorizing personalized markov chains for next-basket recommendation[C]// The 19th International Conference on World Wide Web,USA,ACM,2010:811-820.
[9] 郭紹翠,童向榮,楊旭.社交網絡下基于列表級排序學習的推薦算法[J].計算機工程與設計,2019,40(6):1763-1768.
[10] JING H,XIN L,LIAO L.Category-aware next point-of-interest recommendation via listwise bayesian[J].Journal of computational science,2018,28:206-216.
[11] RANIMI B.Behavior-based location recommendation on location-based social networks[J].Geoinformatica:An international journal of advances of computer science for geographic,2020,24(3):71-79.
[責任編輯:李 嵐]