戴 琳,孟祥武,張玉潔,紀(jì)威宇
1(智能通信軟件與多媒體北京市重點(diǎn)實(shí)驗(yàn)室(北京郵電大學(xué)),北京 100876)
2(北京郵電大學(xué) 計(jì)算機(jī)學(xué)院,北京 100876)
通訊作者:孟祥武,E-mail:mengxw@bupt.edu.cn
隨著GPS 在手持設(shè)備的廣泛應(yīng)用,基于位置社交網(wǎng)絡(luò)[1-5]的服務(wù)應(yīng)運(yùn)而生,并且已經(jīng)達(dá)到了一種前所未有的水平.在基于位置社交網(wǎng)絡(luò)的服務(wù)上,用戶可以簽到自己的位置,并分享自己的評(píng)價(jià).推薦系統(tǒng)通過用戶的這些隱式反饋(簽到信息)和顯式反饋(用戶的評(píng)分和評(píng)論)挖掘用戶的偏好,就可以為用戶生成興趣點(diǎn)推薦列表.這種基于位置社交網(wǎng)絡(luò)的興趣點(diǎn)推薦系統(tǒng)有很多,典型的包括美國最大的點(diǎn)評(píng)網(wǎng)站 Yelp(https://www.yelp.com/sf)、基于用戶地理位置的手機(jī)服務(wù)網(wǎng)站 Foursquare(https://foursquare.com/)以及國內(nèi)的大眾點(diǎn)評(píng)(http://www.dianping.com/)等,這些網(wǎng)站通過分析用戶簽到及評(píng)論信息等,挖掘用戶個(gè)性化偏好,為用戶提供合適的選擇,從而為用戶帶來便利,同時(shí)為商家?guī)砜捎^的利益.本文所研究的餐館推薦是興趣點(diǎn)推薦中一個(gè)典型的應(yīng)用.
餐館推薦可以利用多種數(shù)據(jù)信息挖掘用戶的飲食偏好,為用戶生成餐館推薦列表.從文獻(xiàn)[6,7]可知:除了用戶的顯式反饋(評(píng)分、評(píng)論等)和隱式反饋(簽到)直接反映了用戶的偏好,還有以下因素也影響用戶的餐館選擇:(1)時(shí)間上下文,在不同時(shí)間段用戶的飲食偏好是不同的;(2)地理上下文,用戶通常會(huì)選擇活動(dòng)區(qū)域附近的餐館;(3)用戶的人口統(tǒng)計(jì)信息,例如,不同年齡或不同性別的用戶對(duì)于餐館的需求是不同的,有的人看中服務(wù),有的人看中環(huán)境等;(4)餐館的屬性信息,例如,用戶對(duì)于餐館的選擇通常集中在某幾類風(fēng)格.因此,如果能夠同時(shí)考慮這些數(shù)據(jù)信息,并有效地進(jìn)行整合,挖掘這些信息的最大價(jià)值,就能夠提高推薦精度.
文獻(xiàn)[8]考慮了用戶行為的空間聚類現(xiàn)象,提出一種結(jié)合地理位置信息的矩陣分解模型,該模型在加權(quán)矩陣分解的基礎(chǔ)上引入了地理上下文,將用戶的活動(dòng)區(qū)域向量融合到用戶隱式空間中,將興趣點(diǎn)的區(qū)域影響向量融合到興趣點(diǎn)隱式空間中,通過這種融合,有效地解決了矩陣稀疏性問題,從而提高了推薦準(zhǔn)確度;但是該模型沒有考慮時(shí)間上下文信息,也沒有考慮其他元數(shù)據(jù)信息.
文獻(xiàn)[6]基于用戶的隱式反饋提出了一種隱式偏好模型,該模型同時(shí)考慮了時(shí)間上下文、地理上下文以及餐館屬性信息,分別利用概率張量分解和邏輯回歸獲得用戶的隱式偏好.該方法能夠很好地提高推薦準(zhǔn)確度,但是該方法是分別對(duì)各數(shù)據(jù)信息相對(duì)獨(dú)立地進(jìn)行分析,缺乏對(duì)所有數(shù)據(jù)信息進(jìn)行有效地融合,且時(shí)間復(fù)雜度高.
文獻(xiàn)[9]考慮到用戶存在一些依賴關(guān)系,而用戶的這些關(guān)系會(huì)相互影響用戶的偏好,因此,作者提出了一種概率關(guān)系矩陣分解模型.該模型的創(chuàng)新點(diǎn)在于不再僅僅只考慮用戶的社交關(guān)系,而通過學(xué)習(xí)用戶的依賴提高了推薦準(zhǔn)確度,但是該方法缺乏對(duì)時(shí)間上下文和地理上下文的研究.
文獻(xiàn)[10]為了解決下一個(gè)興趣點(diǎn)的推薦問題,提出了一種兩步策略的方法:首先,基于用戶簽到的興趣點(diǎn)種類構(gòu)建三維張量,并提出一種新的優(yōu)化準(zhǔn)則(LBPR)對(duì)張量優(yōu)化學(xué)習(xí),進(jìn)而得到預(yù)測的興趣點(diǎn)種類;然后,根據(jù)預(yù)測的興趣點(diǎn)種類獲得位置列表.該方法的推薦效果要優(yōu)于目前存在的方法,但是該方法沒有考慮時(shí)間上下文的影響,也缺乏對(duì)其他元數(shù)據(jù)信息的研究,例如用戶信息或者興趣點(diǎn)信息等.
文獻(xiàn)[11]認(rèn)為,用戶的興趣點(diǎn)會(huì)隨著時(shí)間和當(dāng)前位置的變化而變化,因此,作者提出了兩步策略的方法進(jìn)行興趣點(diǎn)的推薦:首先,根據(jù)用戶簽到的興趣點(diǎn)種類和時(shí)間上下文構(gòu)建四維張量,預(yù)測用戶偏好的下一個(gè)興趣點(diǎn)種類;然后,基于預(yù)測的興趣點(diǎn)種類進(jìn)一步獲得位置列表.該模型的創(chuàng)新點(diǎn)在于既考慮了時(shí)間和位置,還降低了數(shù)據(jù)稀疏性的影響,但是缺乏對(duì)其他元數(shù)據(jù)信息的研究.
為了同時(shí)考慮多種數(shù)據(jù)信息,并進(jìn)行有效的融合,本文提出了一種融合多種數(shù)據(jù)信息的餐館推薦模型(a restaurant recommendation model with multiple information fusion,簡稱RRMIF).該模型首先利用簽到信息和時(shí)間上下文構(gòu)建“用戶-餐館-時(shí)間片”的三維張量,同時(shí),利用其他數(shù)據(jù)信息挖掘若干用戶相似關(guān)系矩陣和餐館相似關(guān)系矩陣;然后,在概率張量分解模型[12]的基礎(chǔ)上同時(shí)對(duì)這些關(guān)系矩陣進(jìn)行分解,并保證張量和矩陣分解后有共同的低維隱式因子矩陣;最后,利用BPR[13,14]優(yōu)化準(zhǔn)則和梯度下降算法進(jìn)行模型求解.可以看出,該模型將多種數(shù)據(jù)信息通過用戶、餐館以及時(shí)間片的隱式因子矩陣進(jìn)行了有效地融合,這也就是本文提出的模型與目前存在的模型最大的區(qū)別.值得注意的是,為了降低模型的復(fù)雜度,本文提出的模型沒有考慮用戶的顯式反饋.本文的貢獻(xiàn)主要包括以下幾點(diǎn).
1)與現(xiàn)有研究不同,本文沒有簡單地將時(shí)間上下文按照小時(shí)制劃分為24 個(gè)時(shí)間片,而通過K-means 聚類算法[15]將一天分為4 個(gè)用餐時(shí)間段,這樣不僅對(duì)用戶的用餐行為進(jìn)行了聚類,還降低了模型的復(fù)雜度;
2)本文基于地理上下文、餐館屬性信息構(gòu)建了兩種餐館相似關(guān)系矩陣,基于用戶人口統(tǒng)計(jì)信息構(gòu)建了用戶相似關(guān)系矩陣;進(jìn)而提出一種融合多種數(shù)據(jù)信息的餐館推薦模型,該模型是在概率張量分解模型的基礎(chǔ)上同時(shí)對(duì)用戶相似關(guān)系和餐館相似關(guān)系進(jìn)行分解,它以用戶和餐館的隱式因子作為橋梁,更好地融入了多種數(shù)據(jù)信息;最后,采用BPR 優(yōu)化準(zhǔn)則和梯度下降算法進(jìn)行模型求解;
3)實(shí)驗(yàn)在兩種真實(shí)的數(shù)據(jù)集上進(jìn)行,主要包括以下4 個(gè)部分:1)比較本文提出的模型和現(xiàn)有模型的推薦效果;2)研究多種數(shù)據(jù)信息對(duì)于推薦效果的影響,包括時(shí)間上下文、地理上下文、餐館屬性信息以及用戶人口統(tǒng)計(jì)信息;3)研究本文提出的模型在不同稀疏度數(shù)據(jù)集的表現(xiàn),并與現(xiàn)有模型作比較;4)研究本文提出的模型的運(yùn)行時(shí)間,并與現(xiàn)有模型作比較.實(shí)驗(yàn)結(jié)果表明:相比于目前存在的餐館推薦模型,本文提出的餐館推薦模型有著更好的推薦效果和可接受的運(yùn)行時(shí)間,并且緩解了數(shù)據(jù)稀疏性對(duì)推薦效果的影響.
本文第1 節(jié)介紹餐館推薦的相關(guān)工作,包括興趣點(diǎn)推薦和餐館推薦.第2 節(jié)介紹多種數(shù)據(jù)信息的研究,提出一種融合多種數(shù)據(jù)信息的餐館推薦模型.第3 節(jié)介紹實(shí)驗(yàn)的相關(guān)設(shè)置及實(shí)驗(yàn)結(jié)果分析.第4 節(jié)是全文的總結(jié).
興趣點(diǎn)推薦[16]作為位置社交網(wǎng)絡(luò)的一個(gè)重要應(yīng)用,已經(jīng)成為學(xué)術(shù)界和工業(yè)界的一個(gè)熱門課題.它給用戶和商家都帶來了前所未有的便利和好處:對(duì)于用戶而言,興趣點(diǎn)推薦系統(tǒng)能夠?qū)⑵鋸暮A康呐d趣點(diǎn)搜索中解放出來,根據(jù)他們的歷史數(shù)據(jù)挖掘其個(gè)性化偏好,為他們推薦合適的興趣點(diǎn);另一方面,對(duì)于商家而言,可以吸引大量感興趣的用戶,持續(xù)提高經(jīng)濟(jì)效益.
用戶隱式反饋的研究是當(dāng)前興趣點(diǎn)推薦的一個(gè)熱點(diǎn),矩陣分解模型(MF)[17]就常常被用于隱式反饋數(shù)據(jù)的處理.該模型基于用戶的歷史簽到數(shù)據(jù)構(gòu)建“用戶-興趣點(diǎn)”的簽到矩陣,再通過對(duì)簽到矩陣的分解,得到用戶隱式因子矩陣和興趣點(diǎn)隱式因子矩陣,再利用這些隱式因子矩陣預(yù)測用戶對(duì)于興趣點(diǎn)的評(píng)分,進(jìn)而為用戶生成推薦列表.雖然該模型有著較高的準(zhǔn)確率,且模型簡單,但是隱式反饋中只有正反饋,當(dāng)用戶在某興趣點(diǎn)沒有簽到時(shí),并不能反映用戶就不喜歡該興趣點(diǎn),傳統(tǒng)的矩陣分解沒有很好地解決在這一問題.為了從隱式反饋中獲得額外的信息,Hu 等人[18]提出了加權(quán)矩陣分解模型,該模型在概率矩陣分解的基礎(chǔ)上,通過分析用戶的隱式反饋,得到正反饋和負(fù)反饋的置信水平,從而使得矩陣分解模型更好地應(yīng)用于隱式反饋的研究.但是由于“用戶-興趣點(diǎn)”矩陣的稀疏性,該方法依舊面臨著很大的挑戰(zhàn).為了解決稀疏性問題,Lian 等人[8]提出了結(jié)合地理上下文的矩陣分解模型(GeoMF).該模型在加權(quán)矩陣分解的基礎(chǔ)上將地理上下文引入模型,讓用戶的活動(dòng)區(qū)域向量融合到用戶隱式空間中,將興趣點(diǎn)的區(qū)域影響向量融合到興趣點(diǎn)隱式空間中.通過這種融合,不僅考慮了用戶行為的空間聚類現(xiàn)象,還有效地解決了矩陣稀疏性問題.但是該模型僅僅只考慮了用戶的簽到信息和地理上下文,而沒有考慮用戶的評(píng)論信息以及時(shí)間上下文信息.為了融合用戶的評(píng)論信息,Li 等人[19]提出了一種多方面考慮的興趣點(diǎn)推薦系統(tǒng).該系統(tǒng)從用戶對(duì)于興趣點(diǎn)的評(píng)論中學(xué)習(xí)用戶的偏好以及商家的質(zhì)量標(biāo)簽,再結(jié)合用戶評(píng)分矩陣分解得到的用戶特征矩陣和商家特征矩陣,預(yù)測目標(biāo)用戶對(duì)于其他興趣點(diǎn)的效用評(píng)分,最后生成推薦列表.該系統(tǒng)很好地結(jié)合了用戶的評(píng)論信息和評(píng)分信息,提高了推薦的精度.但是該系統(tǒng)沒有考慮到時(shí)間上下文信息.考慮到時(shí)間信息對(duì)于興趣點(diǎn)推薦重要性,Luan 等人[20]提出了基于張量分解的協(xié)同過濾模型.該模型利用用戶的簽到行為構(gòu)建一個(gè)“用戶-興趣點(diǎn)-時(shí)間片”的三維張量,同時(shí)從不同角度提取3 個(gè)特征矩陣,例如“用戶-興趣點(diǎn)類別”或者“時(shí)間片-用戶”等特征矩陣,然后利用特征矩陣協(xié)同地對(duì)張量進(jìn)行分解,并使得目標(biāo)函數(shù)最小,最后得到預(yù)測張量,通過預(yù)測張量就可以為目標(biāo)用戶在某一時(shí)間對(duì)生成興趣點(diǎn)推薦列表.雖然該模型考慮了時(shí)間因素,提高了推薦準(zhǔn)確度,但是該模型沒有考慮地理上下文.
目前,國內(nèi)對(duì)于餐館推薦研究得不多,而國外則相對(duì)較多.例如,Fu 等人[21]提出了一種考慮多種評(píng)分?jǐn)?shù)據(jù),并融合地理上下文以及用戶和餐館特征信息的餐館推薦模型.該模型同時(shí)對(duì)多種評(píng)分矩陣進(jìn)行分解,并利用用戶和餐館的位置信息構(gòu)建位置相關(guān)性,利用用戶和餐館特征信息構(gòu)建特征相關(guān)性,最后利用分解得到的隱式因子矩陣和這兩種相關(guān)性得到用戶對(duì)餐館的預(yù)測評(píng)分.由于融合了多種評(píng)分?jǐn)?shù)據(jù),該模型提高了推薦準(zhǔn)確度,但是該模型沒有考慮時(shí)間上下文信息.為了融入時(shí)間上下文,Zhang 等人[6]提出了一種隱式反饋模型.該模型分別從用戶簽到信息、時(shí)間上下文以及其他數(shù)據(jù)信息獲得兩種偏好:(1)構(gòu)建“用戶-餐館-時(shí)間片”的三維簽到張量,利用概率張量分解從簽到張量中獲得隱式空間的偏好;(2)利用邏輯回歸的方法分析用戶依賴于其他數(shù)據(jù)信息的偏好.最后,結(jié)合這兩種偏好得到用戶在某一時(shí)間片對(duì)餐館的預(yù)測評(píng)分,進(jìn)而為目標(biāo)用戶在某一時(shí)間片生成餐館推薦列表.該模型雖然同時(shí)考慮了多種數(shù)據(jù)信息,但是該模型是針對(duì)各種數(shù)據(jù)信息分別建模,沒有完全挖掘這些數(shù)據(jù)信息的價(jià)值.除了考慮以上數(shù)據(jù)信息,Sun 等人[7]還考慮了用戶的社交網(wǎng)絡(luò)信息,提出了一種考慮多源信息的餐館推薦模型.該模型的基本思想是:用戶的隱式偏好不僅由用戶的評(píng)分信息決定,還會(huì)受用戶社交網(wǎng)絡(luò)以及行為模式相似人群的影響.因此,作者在矩陣分解的框架中融入了評(píng)分信息、社交網(wǎng)絡(luò)信息以及行為模式信息.該模型雖然有著較高的推薦精度,但是沒有考慮餐館的屬性信息.
通過對(duì)餐館推薦相關(guān)工作的分析,本文借鑒前人的經(jīng)驗(yàn),提出了一種融合多種數(shù)據(jù)信息的餐館推薦模型.該模型綜合考慮了用戶的簽到信息、時(shí)間上下文、地理上下文、餐館屬性信息以及用戶人口統(tǒng)計(jì)信息,并有效地將這些信息進(jìn)行融合,從而進(jìn)一步提高了推薦精度.
本節(jié)首先基于大眾點(diǎn)評(píng)數(shù)據(jù)集(相關(guān)介紹見第3.1 節(jié))介紹了各種數(shù)據(jù)信息的研究,通過K-means 算法將一天24 小時(shí)劃分為4 個(gè)用餐時(shí)間段,另外,基于地理上下文、基于餐館屬性信息構(gòu)建兩種餐館相似關(guān)系,基于用戶人口統(tǒng)計(jì)信息構(gòu)建用戶相似關(guān)系;然后提出了一種融合多種數(shù)據(jù)信息的餐館推薦模型;最后,利用BPR 優(yōu)化準(zhǔn)則和梯度下降算法進(jìn)行模型求解.
2.1.1 時(shí)間上下文
文獻(xiàn)[6,22]指出:用戶在不同時(shí)間片對(duì)于餐館的選擇是不同的,通過引入時(shí)間上下文,可以為目標(biāo)用戶在不同時(shí)間片生成相對(duì)應(yīng)的餐館推薦列表.因此,該文獻(xiàn)按照小時(shí)制將一天劃分成24 個(gè)時(shí)間片,但是這種方法存在一定的缺點(diǎn),即需要在每個(gè)時(shí)間片生成推薦列表,這會(huì)導(dǎo)致模型復(fù)雜度增大,運(yùn)行時(shí)間變長.實(shí)際上,用戶的用餐時(shí)間是存在聚類現(xiàn)象的,從圖1 可以看出:用戶的聚餐時(shí)間存在明顯的高峰和低谷,且高峰段大概有4 段,因此,推薦系統(tǒng)只需要在每個(gè)用餐高峰之前為用戶生成推薦列表.這樣不僅可以降低模型的復(fù)雜度,還能保證模型具有較好的推薦效果.

Fig.1 Number of diners at different time slots圖1 用戶在不同時(shí)間片的用餐人數(shù)
為了更精確地劃分用戶高峰,本文利用K-means 算法對(duì)數(shù)據(jù)集的用餐時(shí)間進(jìn)行聚類分析,將用戶的用餐時(shí)間段分成4 段,聚類結(jié)果見表1.

Table 1 Clustering of dining time表1 用餐時(shí)間的聚類
從表1 可以看出,通過聚類將一天劃分為了4 個(gè)用餐時(shí)間段,每一段分別對(duì)應(yīng)[0,5],[6,13],[14,18],[19,23].
2.1.2 地理上下文
在目前的興趣點(diǎn)推薦和餐館推薦的研究中,地理位置基本都被看做一種影響用戶選擇的重要因素.對(duì)于餐館而言,用戶通常會(huì)選擇活動(dòng)區(qū)域內(nèi)的餐館,那么活動(dòng)區(qū)域內(nèi)的餐館之間理應(yīng)具有相似性.文獻(xiàn)[23,24]認(rèn)為,距離用戶100km 以內(nèi)的區(qū)域可以看做是用戶的活動(dòng)區(qū)域,那么就可以近似認(rèn)為餐館R與距離該餐館100km 以內(nèi)的其他餐館相似,它們之間的相似表現(xiàn)為:用戶如果選擇了餐館R,那么該用戶也有可能選擇距離餐館R100km 以內(nèi)的其他餐館.因此,基于地理位置的餐館相似關(guān)系A(chǔ)可以定義為公式(1):

其中,|loc(i)-loc(j)|表示餐館i和餐館j的距離.
2.1.3 餐館屬性信息
餐館的屬性信息包括餐館的名字、餐館的風(fēng)格以及餐館的平均消費(fèi)等,為了研究餐館的風(fēng)格與用戶偏好的關(guān)系,我們隨機(jī)抽取了3 名用戶,計(jì)算了每個(gè)用戶選擇各種餐館風(fēng)格的次數(shù),如圖2 所示.需要注意的是,這里的餐館風(fēng)格只是所有風(fēng)格的一部分.

Fig.2 Number of selected times for different restaurant styles圖2 用戶選擇不同餐館風(fēng)格的次數(shù)
從圖2 可以看出,用戶通常會(huì)多次選擇自己喜好的某類餐館用餐.因此,餐館風(fēng)格相同的餐館理應(yīng)具有相似性.這種相似性表現(xiàn)為:當(dāng)用戶選擇了餐館R,那么該用戶也可能喜歡與餐館R風(fēng)格相同的其他餐館.因此,基于餐館風(fēng)格的餐館相似關(guān)系B可以定義為公式(2):

其中,style(i)表示餐館i的風(fēng)格.
除了餐館的風(fēng)格,餐館的屬性還包括餐館的平均消費(fèi),但是由于很多餐館的簽到次數(shù)少,且用戶通常很少標(biāo)注消費(fèi)金額,導(dǎo)致很多餐館的平均消費(fèi)為0.經(jīng)統(tǒng)計(jì),數(shù)據(jù)集中平均消費(fèi)為0 的餐館占45.1%,因此很難利用餐館的平均消費(fèi)進(jìn)行研究.
2.1.4 用戶人口統(tǒng)計(jì)信息
用戶的人口統(tǒng)計(jì)信息一般包括用戶的性別、年齡以及居住地,但是由于用戶的隱私保護(hù),有的數(shù)據(jù)很難獲取.通過分析用戶歷史簽到的餐館的所在城市,可以將用戶簽到次數(shù)最多的城市看作是用戶的居住地.文獻(xiàn)[6]也分析了同一居住地的用戶通常會(huì)有相似的偏好,例如北京人更偏愛北京菜,湖南人更愛湖南菜.因此,可以得到基于居住地的用戶相似關(guān)系E,如公式(3)所示:

其中,residence(i)表示用戶的居住地.
為了更好地融合用戶簽到信息、時(shí)間上下文、地理上下文、餐館屬性信息以及用戶人口統(tǒng)計(jì)信息,提高推薦精度,本文提出了一種融合多種數(shù)據(jù)信息的餐館推薦模型,如圖3 所示,其中,
·I,J,S分別表示用戶、餐館以及時(shí)間片的個(gè)數(shù);
·A,B,C,E是可觀察量,其中:A表示基于地理位置的餐館相似關(guān)系,B表示基于餐館風(fēng)格的餐館相似關(guān)系,C表示用戶的簽到張量,E表示基于居住地的用戶相似關(guān)系;
·Eiv表示用戶i與用戶v的居住地的相似性,Ajq,Bjp類似.

Fig.3 Graphical representation for a restaurant recommendation model with multiple information fusion圖3 一種融合多種數(shù)據(jù)信息的餐館推薦模型的圖表示
關(guān)于用戶簽到張量C的構(gòu)建及其含義,在下文會(huì)有介紹.另外,表2 介紹了模型參數(shù)的符號(hào)及其定義.

Table 2 Symbols and definition of model parameters表2 模型參數(shù)的符號(hào)及定義
2.2.1 融合用戶簽到信息和時(shí)間上下文
根據(jù)用戶的簽到信息和時(shí)間上下文,可以構(gòu)建“用戶-餐館-時(shí)間片”的三維簽到張量C∈{0,1}I×J×S,其中,I,J,S分別表示用戶、餐館以及時(shí)間片的個(gè)數(shù),且通過第2.1.1 節(jié)的分析,時(shí)間片的個(gè)數(shù)設(shè)定為4.如果在時(shí)間片s,用戶i在餐館j用餐,則Cijs=1,這代表了用戶的正反饋;如果在時(shí)間片s,用戶i在餐館j沒有用餐,則Cijs=0,這并不一定代表用戶的負(fù)反饋,因?yàn)橛脩鬷可能并不知道餐館j.從圖3 可以看出,通過對(duì)三維簽到張量C的分解,可以得到用戶、餐館和時(shí)間片的隱式因子矩陣,分別用UI×D,VJ×D,TS×D表示,即:每一個(gè)張量元素Cijs都可以分解為用戶i、餐館j以及時(shí)間片s的隱式特征向量,分別表示為Ui,Vj,Ts.
2.2.2 融合其他數(shù)據(jù)信息
文獻(xiàn)[24]認(rèn)為用戶的社交關(guān)系影響了用戶行為,因此同時(shí)分解社交網(wǎng)絡(luò)矩陣和評(píng)分矩陣,且分解后有一個(gè)共同的用戶隱式因子矩陣.基于此思想,我們認(rèn)為:用戶i的相似用戶影響了用戶i的特征向量,餐館j的相似餐館也影響了餐館j的特征向量.因此,本文同時(shí)分解基于居住地的用戶相似關(guān)系E、基于地理位置的餐館相似關(guān)系A(chǔ)、基于餐館風(fēng)格的餐館相似關(guān)系B和用戶簽到張量C.從圖3 中可以看出,矩陣E分解為UI×D和FI×D,其中,UI×D是矩陣E和張量C分解后的共同隱式因子矩陣;矩陣A分解為VJ×D和ZJ×D,矩陣B分解為VJ×D和MJ×D,其中,VJ×D是矩陣A,B以及張量C分解后的共同隱式因子矩陣.
2.2.3 模型的基本原理
在概率張量分解模型[12]的研究中,隱式特征向量是由多元高斯分布生成的,而張量的每個(gè)元素是由高斯分布生成的,且該分布的均值是由相應(yīng)的隱式因子決定的.由于本文提出的模型是在概率張量分解模型基礎(chǔ)上的擴(kuò)展,因此該模型的基本原理可以描述如下.
4.對(duì)于基于居住地的用戶相似關(guān)系E中的每個(gè)元素,其中,表示Eiv是由均值為Ui·Fv、方差為的高斯分布生成的;
5.對(duì)于基于地理位置的餐館相似關(guān)系A(chǔ)中的每個(gè)元素;
6.對(duì)于基于餐館風(fēng)格的餐館相似關(guān)系B中的每個(gè)元素Bjq,,其中,;
7.對(duì)于三維簽到張量C中的每個(gè)元素Cijs,,其中,.
無論是張量分解還是矩陣分解,都是通過分解得到的低維隱式因子矩陣來求得預(yù)測張量或者預(yù)測矩陣,并使得預(yù)測張量和原始張量的誤差最小,使得預(yù)測矩陣和原始矩陣的誤差也最小.因此,該模型的目標(biāo)函數(shù)可以定義為公式(4):

其中:L是誤差函數(shù);Reg是防止過擬合的正則項(xiàng);αC,αE,αA,αB分別是各個(gè)誤差項(xiàng)的比重,且αC+αE+αA+αB=1;U·V·T表示預(yù)測張量,其中,預(yù)測張量的每一項(xiàng).
由于用戶的相似關(guān)系矩陣E是對(duì)稱矩陣,則U=F;同理,V=Z=M.那么,該模型的目標(biāo)函數(shù)可以簡化為公式(5):

文獻(xiàn)[13,14]認(rèn)為:推薦列表的生成實(shí)際上是一種排名問題,通過優(yōu)化項(xiàng)目的排名,可以優(yōu)化目標(biāo)函數(shù),使得模型更快地收斂到最優(yōu)解.因此,該文獻(xiàn)通過BPR 優(yōu)化準(zhǔn)則和梯度下降算法進(jìn)行求解.實(shí)驗(yàn)表明,直接優(yōu)化排名的方法要明顯優(yōu)于其他方法.受此啟發(fā),本文使用BPR 優(yōu)化準(zhǔn)則來優(yōu)化誤差函數(shù).
BPR 優(yōu)化準(zhǔn)則的基本思想是:當(dāng)Cijs=1,Cij′s=0 時(shí),用戶i在時(shí)間片s對(duì)于餐館j的排名要高于餐館j′.對(duì)于簽到張量C,定義一個(gè)集合PC來表示C中的排名對(duì),如公式(6)所示:

對(duì)于L(c,U·V·T)的優(yōu)化,可以轉(zhuǎn)化為公式(7):

對(duì)于其他誤差函數(shù)的優(yōu)化,同樣采用BRP 優(yōu)化準(zhǔn)則,分別如公式(8)~公式(10)所示:

其中,
對(duì)于正則項(xiàng)Reg(U,V,T),為了方便使用梯度下降算法[25]進(jìn)行求解,本文采用L2-regularization[26],如公式(11)所示:

其中,λU,λV和λT是正則化參數(shù),都是L2范數(shù)的平方.
綜上,該模型的目標(biāo)函數(shù)可以轉(zhuǎn)化為公式(12):

利用梯度下降算法最大化這個(gè)目標(biāo)函數(shù),就可以得到模型參數(shù)U,V,T.需要注意的是,由于是最大化目標(biāo)函數(shù),因此必須沿著梯度方向迭代,而不是負(fù)梯度方向.對(duì)于模型參數(shù)的完整求解過程見算法1.
算法1.求解模型參數(shù).
輸入:用戶的簽到張量C,基于居住地的用戶相似關(guān)系E,基于地理位置的餐館相似關(guān)系A(chǔ),基于餐館風(fēng)格和消費(fèi)的餐館相似關(guān)系B,方差參數(shù)σU,σV,σT,誤差權(quán)重αC,αE,αA,αB,正則化參數(shù)λU,λV,λT,迭代次數(shù)Iter,學(xué)習(xí)速率參數(shù)uC,uE,uA,uB,隱式因子個(gè)數(shù)D;
輸出:模型參數(shù)U,V,T.


從算法1 可以看出,模型求解的時(shí)間復(fù)雜度為O(Iter×(|PC|+|PE|+|PA|+|PB|)×D),其中:Iter為迭代次數(shù);|PC|,|PE|,|PA|和|PB|分別表示集合PC,PE,PA和PB中元素的個(gè)數(shù),即排名對(duì)的個(gè)數(shù);D表示隱性因子的個(gè)數(shù).通過學(xué)習(xí)到的模型參數(shù)U,V,T,就可以得到預(yù)測簽到張量?C,從而為目標(biāo)用戶在某一時(shí)間片生成餐館推薦列表.
本文使用大眾點(diǎn)評(píng)數(shù)據(jù)集(http://yongfeng.me/)和Yelp 數(shù)據(jù)集(https://www.yelp.com/dataset)進(jìn)行餐館推薦研究.這兩種數(shù)據(jù)集都包括用戶的評(píng)論數(shù)據(jù)集和商家的屬性數(shù)據(jù)集,由于用戶隱式的保護(hù),都沒有公開用戶的人口統(tǒng)計(jì)信息.用戶的評(píng)論數(shù)據(jù)集中都包括用戶的評(píng)分、評(píng)論以及消費(fèi)信息,不同的是:Yelp 數(shù)據(jù)集給出的評(píng)論時(shí)間只具體到哪一天,而大眾點(diǎn)評(píng)數(shù)據(jù)集具體到了一天中的某個(gè)時(shí)刻.另外,本文將用戶評(píng)論一次可以看做簽到一次.商家的屬性數(shù)據(jù)集都包括商家的ID、名字、位置(城市、經(jīng)緯度等)、餐館的種類以及標(biāo)簽等信息.
在這兩種數(shù)據(jù)集中,商家不僅包括餐館,還包括超市、酒吧以及茶館等.由于除了餐館的其他商家與研究的主題無關(guān),因此首先必須從數(shù)據(jù)集中剔除與餐館無關(guān)的信息.對(duì)處理后的兩種數(shù)據(jù)集,各項(xiàng)統(tǒng)計(jì)信息見表3.

Table 3 Statistics of dataset表3 數(shù)據(jù)集的各項(xiàng)統(tǒng)計(jì)信息
從表3 中可以看出,Yelp 數(shù)據(jù)集中,用戶的數(shù)量是Dianping 數(shù)據(jù)集中用戶數(shù)量的將近3 倍;而Dianping 數(shù)據(jù)集中,餐館的數(shù)量是Yelp 數(shù)據(jù)集中餐館數(shù)量的近15 倍.這可能導(dǎo)致模型在Yelp 數(shù)據(jù)集中的推薦效果要優(yōu)于Dianping 數(shù)據(jù)集.
為了更好地驗(yàn)證推薦模型的效果,分別將兩種數(shù)據(jù)集劃分為訓(xùn)練集(80%)和測試集(20%),訓(xùn)練集主要是用來學(xué)習(xí)推薦模型中的參數(shù),測試集主要是用來驗(yàn)證模型的推薦效果.
本文的實(shí)驗(yàn)環(huán)境為:Windows7 操作系統(tǒng),4GB 內(nèi)存,Intel(R)Core(TM)2 Duo CPU 2.93GHz,實(shí)驗(yàn)程序使用java1.6 語言開發(fā).
對(duì)于基于隱式反饋的推薦而言,MAE 不是一個(gè)很好的評(píng)價(jià)指標(biāo),因?yàn)榕c評(píng)分不同,隱式反饋只有1 或者0,而且由于數(shù)據(jù)的稀疏性,1 的數(shù)目會(huì)很少,這樣,計(jì)算MAE 是沒有意義的.因此,為了驗(yàn)證推薦的效果,本文采用recall@K作為評(píng)價(jià)指標(biāo),對(duì)于recall@K的定義如公式(13):

其中,recall@K表示在top-K列表中的召回率;hit表示測試集中的命中次數(shù),所謂命中是指如果測試集中的簽到餐館出現(xiàn)在了top-K的推薦列表中,那么就表示命中一次;recall表示測試集簽到總次數(shù).
在這一節(jié),主要在兩種數(shù)據(jù)集中分別進(jìn)行以下實(shí)驗(yàn):(1)比較本文提出的模型(RRMIF 模型)和現(xiàn)有模型的推薦效果;(2)研究多種數(shù)據(jù)信息對(duì)于推薦效果的影響,包括時(shí)間上下文、地理上下文、餐館風(fēng)格以及用戶居住地;(3)研究RRMIF 模型在不同稀疏度數(shù)據(jù)子集的表現(xiàn),并與現(xiàn)有模型作比較;(4)研究RRMIF 模型的運(yùn)行時(shí)間,并與現(xiàn)有模型作比較.
通過網(wǎng)格搜索法對(duì)RRMIF 模型的參數(shù)進(jìn)行調(diào)優(yōu),得到實(shí)驗(yàn)效果最好的模型參數(shù)如下:方差參數(shù)σU=σV=σT=0.1;正則化參數(shù)λU=λV=λT=0.004;誤差參數(shù)αC=0.45,αE=0.2,αA=0.3,αB=0.05;迭代次數(shù)Iter=40;學(xué)習(xí)速率參數(shù)uC=0.2,uE=0.06,uA=0.1,uB=0.04 以及隱性因子個(gè)數(shù)D=10.
值得注意的是:由于Yelp 數(shù)據(jù)集中沒有提供用戶在一天中具體的簽到時(shí)間,因此時(shí)間片的大小為1;而對(duì)于Dianping 數(shù)據(jù)集,按照上文的聚類結(jié)果,將時(shí)間片的大小設(shè)置為4.
3.3.1 與其他對(duì)比模型的比較
為了驗(yàn)證文中提出的RRMIF 模型的推薦效果,本文選取下面幾種利用用戶隱式反饋來進(jìn)行興趣點(diǎn)推薦的相關(guān)模型作為對(duì)比.
(1)概率矩陣分解模型(PMF)[17]:該模型主要是利用了用戶的簽到信息,將“用戶-興趣點(diǎn)”的簽到矩陣分解為用戶隱式因子矩陣和興趣點(diǎn)隱式因子矩陣,再利用這些隱式因子矩陣預(yù)測用戶對(duì)于興趣點(diǎn)的評(píng)分,進(jìn)而為用戶生成推薦列表;
(2)加權(quán)矩陣分解模型(WMF)[18]:該模型在概率矩陣分解的基礎(chǔ)上,通過分析用戶的隱式反饋,得到正反饋和負(fù)反饋的置信水平,從而使得矩陣分解模型更好地應(yīng)用于隱式反饋的研究;
(3)基于用戶的協(xié)同過濾模型(UCF)[27]:該模型主要利用相似度計(jì)算目標(biāo)用戶的相似用戶集合,然后根據(jù)相似用戶對(duì)于目標(biāo)項(xiàng)目的評(píng)分預(yù)測目標(biāo)用戶對(duì)目標(biāo)項(xiàng)目的評(píng)分,最后給出推薦列表;
(4)結(jié)合地理位置信息的矩陣分解模型(GeoMF)[8]:該模型在加權(quán)矩陣分解的基礎(chǔ)上引入了地理上下文,將用戶的活動(dòng)區(qū)域向量融合到用戶隱式空間中,將興趣點(diǎn)的區(qū)域影響向量融合到興趣點(diǎn)隱式空間中.通過這種融合,不僅考慮了用戶行為的空間聚類現(xiàn)象,還有效地解決了矩陣稀疏性問題;
(5)隱式反饋模型(IPM)[6]:該模型首先構(gòu)建“用戶-餐館-時(shí)間片”的三維簽到張量,利用概率張量分解從簽到張量中獲得隱式空間的偏好;其次,利用邏輯回歸的方法分析用戶依賴于其他數(shù)據(jù)信息(餐館屬性、用戶人口統(tǒng)計(jì)信息)的偏好;最后,結(jié)合這兩種偏好得到用戶在某一時(shí)間片對(duì)餐館的預(yù)測評(píng)分,進(jìn)而為目標(biāo)用戶在某一時(shí)間片生成餐館推薦列表.
該實(shí)驗(yàn)設(shè)置top-K=5,10,15,20,25,30,且當(dāng)上述5 種模型的參數(shù)設(shè)置為最優(yōu)參數(shù)時(shí),比較各模型在Dianping數(shù)據(jù)集和Yelp 數(shù)據(jù)集中的召回率(recall@K),結(jié)果如圖4 所示.

Fig.4 recall@K comparison of different model圖4 不同模型的召回率比較
觀察圖4 可以得到以下結(jié)果.
(1)無論在哪種數(shù)據(jù)集中,PMF 模型的推薦效果都是最差的,這主要是因?yàn)橛脩舻暮灥綌?shù)據(jù)是稀疏的;另外,PMF 模型沒有考慮時(shí)間上下文,也沒有融合其他數(shù)據(jù)信息;
(2)在兩種數(shù)據(jù)集中,WMF 模型的推薦效果都要優(yōu)于PMF 模型.這是因?yàn)閃MF 模型在PMF 模型的基礎(chǔ)上還分析了正負(fù)反饋的置信水平,從而提升了推薦效果;
(3)在兩種數(shù)據(jù)集中,UCF 模型的推薦效果都要明顯優(yōu)于WMF 模型和PMF 模型.但是UCF 模型存在以下缺點(diǎn):面對(duì)大數(shù)據(jù)集,模型的復(fù)雜度會(huì)急劇增大;很難融入其他數(shù)據(jù)信息,不易擴(kuò)展.而對(duì)于WMF 模型和PMF 模型,則更易擴(kuò)展,且面對(duì)大數(shù)據(jù)集仍然表現(xiàn)不錯(cuò).因此,WMF 模型和PMF 模型在適用性上要強(qiáng)于UCF 模型;
(4)與WMF 模型相比,在兩種數(shù)據(jù)集中,GeoMF 模型的推薦效果都要明顯優(yōu)于WMF 模型.這主要是因?yàn)镚eoMF 模型考慮了餐館的地理位置信息,從而緩解了數(shù)據(jù)的稀疏性問題,也提高了推薦效果;
(5)在兩種數(shù)據(jù)集中,IPM 模型的推薦效果都要明顯優(yōu)于GeoMF 模型、WMF 模型、UCF 模型和PMF 模型.這是因?yàn)镮PM 模型考慮了餐館的地理位置信息,并融入了時(shí)間上下文和其他數(shù)據(jù)信息;
(6)在兩種數(shù)據(jù)集中,RRMIF 模型的推薦效果都是最好的.這充分地說明了,雖然IPM 模型和RRMIF 模型都考慮了多種數(shù)據(jù)信息,但是RRMIF 模型相比于IPM 模型更加有效地將多種數(shù)據(jù)信息進(jìn)行融合,充分挖掘了多種數(shù)據(jù)信息的價(jià)值,從而提升了推薦效果;
(7)Yelp 數(shù)據(jù)集中,各模型的召回率趨勢相比于Dianping 數(shù)據(jù)集更加緊湊,而且各模型在Yelp 數(shù)據(jù)集中的推薦效果要明顯優(yōu)于Dianping 數(shù)據(jù)集.這主要是因?yàn)閅elp 數(shù)據(jù)集中餐館的數(shù)量要明顯少于Dianping數(shù)據(jù)集,導(dǎo)致各模型的差距相對(duì)縮小.
實(shí)驗(yàn)結(jié)果表明:RRMIF 模型相比于現(xiàn)有模型,更加有效地融合了多種數(shù)據(jù)信息,提升了推薦效果.
3.3.2 多種數(shù)據(jù)信息對(duì)推薦效果的影響
為了研究多種數(shù)據(jù)信息對(duì)于推薦效果的影響,該實(shí)驗(yàn)對(duì)下面9 種推薦模型進(jìn)行對(duì)比.
(1)概率矩陣分解模型(PMF):該模型僅僅考慮用戶的簽到信息,而沒有考慮時(shí)間上下文、地理上下文以及其他數(shù)據(jù)信息;
(2)概率張量分解模型(PTF)[12]:該模型僅僅考慮用戶的簽到信息和時(shí)間上下文,對(duì)用戶簽到張量進(jìn)行分解,而不考慮地理上下文和其他數(shù)據(jù)信息;
(3)PTF+E:該模型不僅考慮用戶的簽到信息和時(shí)間上下文,還考慮了基于居住地的用戶相似關(guān)系E,同時(shí)對(duì)簽到張量和關(guān)系矩陣E進(jìn)行分解;
(4)PTF+A:該模型不僅考慮用戶的簽到信息和時(shí)間上下文,還考慮了基于地理位置的餐館相似關(guān)系A(chǔ),同時(shí)對(duì)簽到張量和關(guān)系矩陣A進(jìn)行分解;
(5)PTF+B:該模型不僅考慮用戶的簽到信息和時(shí)間上下文,還考慮了基于餐館風(fēng)格的餐館相似關(guān)系B,同時(shí)對(duì)簽到張量和關(guān)系矩陣B進(jìn)行分解;
(6)PTF+E+A:該模型不僅考慮用戶的簽到信息和時(shí)間上下文,還考慮了基于居住地的用戶相似關(guān)系E和基于地理位置的餐館相似關(guān)系A(chǔ),同時(shí)對(duì)簽到張量、關(guān)系矩陣E和關(guān)系矩陣A進(jìn)行分解;
(7)PTF+E+B:該模型不僅考慮用戶的簽到信息和時(shí)間上下文,還考慮了基于居住地的用戶相似關(guān)系E和基于餐館風(fēng)格的餐館相似關(guān)系B,同時(shí)對(duì)簽到張量、關(guān)系矩陣E和關(guān)系矩陣B進(jìn)行分解;
(8)PTF+A+B:該模型不僅考慮用戶的簽到信息和時(shí)間上下文,還考慮了基于地理位置的餐館相似關(guān)系A(chǔ)和基于餐館風(fēng)格的餐館相似關(guān)系B,同時(shí)對(duì)簽到張量、關(guān)系矩陣A和關(guān)系矩陣B進(jìn)行分解;
(9)PTF+A+B+E(RRMIF):該模型就是本文提出的RRMIF 模型,它不僅考慮用戶的簽到信息和時(shí)間上下文,還考慮了基于居住地的用戶相似關(guān)系E、基于地理位置的餐館相似關(guān)系A(chǔ)以及基于餐館風(fēng)格的餐館相似關(guān)系B,同時(shí)對(duì)簽到張量、關(guān)系矩陣E、關(guān)系矩陣A和關(guān)系矩陣B進(jìn)行分解.
該實(shí)驗(yàn)設(shè)置top-K=5,10,15,20,30,且當(dāng)上述9 種模型的參數(shù)設(shè)置為最優(yōu)參數(shù)時(shí),比較各種模型在兩種數(shù)據(jù)集中的召回率(recall@K),如圖5 所示.

Fig.5 Research of multiple data information圖5 多種數(shù)據(jù)信息的研究
從圖5 中可以看出:
(1)在Dianping 數(shù)據(jù)集中,PMF 模型的推薦效果要低于PTF 模型,這主要是因?yàn)镻TF 模型考慮了時(shí)間上下文信息;而在Yelp 數(shù)據(jù)集中,PMF 模型的推薦效果幾乎與PTF 模型一樣,這主要是因?yàn)閅elp 數(shù)據(jù)集中沒有用戶簽到的具體時(shí)間,因此時(shí)間片設(shè)置為1,因此,PTF 模型的效果基本和PMF 模型相同;
(2)在兩種數(shù)據(jù)集中,PTF+A>PTF+E>PTF+B>PTF.這驗(yàn)證多種數(shù)據(jù)信息對(duì)于用戶餐館選擇的影響,并且餐館的地理位置影響最大,其次是用戶的居住地,最后是餐館的風(fēng)格;
(3)在兩種數(shù)據(jù)集中,PTF+A+E>PTF+A+B>PTF+B+E.這說明如果只考慮兩種數(shù)據(jù)信息,同時(shí)考慮餐館地理位置和用戶居住地的效果是最好的;
(4)在兩種數(shù)據(jù)集中,PTF+A>PTF+B+E.這說明考慮餐館的地理位置對(duì)于推薦效果的提升比同時(shí)考慮用戶的居住地和餐館風(fēng)格還要大;
(5)無論在哪種數(shù)據(jù)集中,PTF+A+B+E 的推薦效果都是最好的,這個(gè)模型也就是本文提出RRMIF 模型.這說明當(dāng)同時(shí)考慮了餐館的地理位置、餐館的風(fēng)格以及用戶的居住地時(shí),模型的效果是最好的;
(6)Yelp 數(shù)據(jù)集中,各模型的召回率要相比于Dianping 數(shù)據(jù)集更緊湊.這是由于數(shù)據(jù)集本身特性的影響,Yelp 數(shù)據(jù)集中餐館的數(shù)量明顯少于Dianping 數(shù)據(jù)集.
實(shí)驗(yàn)結(jié)果表明,多種數(shù)據(jù)信息能夠有效地提高推薦的效果,按照作用大小排序如下:餐館地理位置>用戶居住地>餐館風(fēng)格;另外,RRMIF 模型通過融合多種數(shù)據(jù)信息,使得推薦效果明顯要優(yōu)于只融合一種或者兩種數(shù)據(jù)信息的模型.
3.3.3 稀疏性驗(yàn)證
為了驗(yàn)證RRMIF 模型在不同稀疏度數(shù)據(jù)集的表現(xiàn),該實(shí)驗(yàn)從Dianping 數(shù)據(jù)集和Yelp 數(shù)據(jù)集中分別抽取了4 種稀疏度不同的數(shù)據(jù)子集,各數(shù)據(jù)子集的統(tǒng)計(jì)信息見表4.其中,稀疏度定義為


Table 4 Statistics of different sparse subset表4 不同稀疏度數(shù)據(jù)子集的統(tǒng)計(jì)信息
從表4 中可以看出,按照稀疏度排序:

RRMIF 模型與第3.3.1 節(jié)中的5 種對(duì)比模型在以上各數(shù)據(jù)子集的召回率(recall@30)比較如圖6 所示,從圖6 中可以看出:
(1)隨著數(shù)據(jù)稀疏度的降低,PMF 模型的推薦效果逐漸提升.例如,PMF 模型在Dianping-3 的效果相比于Dianping-1 提升了1.5 倍,相比于Dianping-2 提升了35%.這是因?yàn)镻MF 模型的目的是通過矩陣中的“1”來填充整個(gè)矩陣的值,因此極易受數(shù)據(jù)的稀疏性影響.當(dāng)數(shù)據(jù)相對(duì)稠密時(shí),也就是說矩陣中“1”的比例相對(duì)較多時(shí),模型的效果就會(huì)得到提升.另外,PMF 模型在Dianping-4 的效果相比于Dianping-3 降低了2.3%.這說明PMF 模型隨著數(shù)據(jù)稀疏度的繼續(xù)增加,PMF 模型的推薦效果會(huì)逐漸趨于平穩(wěn),并有降低的趨勢;
(2)與PMF 模型類似,UCF 模型和WMF 模型隨著數(shù)據(jù)稀疏度的降低,推薦效果都有明顯的提升,且最后也會(huì)趨于平穩(wěn).WMF 模型通過引入正負(fù)反饋的置信水平來提升推薦效果,但是正負(fù)反饋的置信水平仍然受到數(shù)據(jù)稀疏性的影響.UCF 模型是通過用戶的共同評(píng)分來計(jì)算用戶相似度的,因此數(shù)據(jù)的稀疏性影響著UCF 模型的推薦效果;
(3)從Dianping 的數(shù)據(jù)子集中可以看出,隨著數(shù)據(jù)稀疏度的變化,GeoMF 模型推薦效果變化不大.這是因?yàn)樵撃P涂紤]了餐館的地理位置信息,緩解了矩陣的稀疏性問題;
(4)在Dianping 的數(shù)據(jù)子集中,隨著數(shù)據(jù)集稀疏度的變化,IPM 模型的推薦效果相對(duì)穩(wěn)定;而在Yelp 數(shù)據(jù)子集中,IPM 模型的推薦效果還是受到了稀疏性的影響;
(5)不論在Dianping 的數(shù)據(jù)子集還是在Yelp 的數(shù)據(jù)子集,RRMIF 模型的推薦效果都是最好的,而且基本不受數(shù)據(jù)稀疏性的影響.這說明本文提出的模型不僅在有效性上優(yōu)于其他對(duì)比模型,在穩(wěn)定性上也要優(yōu)于其他對(duì)比模型;
(6)隨著數(shù)據(jù)稀疏度的降低,其他對(duì)比模型的推薦效果有一定的提升,但仍然低于RRMIF 模型.

Fig.6 Sparsity verification圖6 稀疏性驗(yàn)證
實(shí)驗(yàn)結(jié)果表明:相比于現(xiàn)有其他模型,RRMIF 模型在數(shù)據(jù)極其稀疏的情況下仍然能夠很好地進(jìn)行推薦,這說明RRMIF 模型有效地緩解了數(shù)據(jù)稀疏性對(duì)于推薦效果的影響.
3.3.4 效率評(píng)估
在實(shí)際應(yīng)用中,推薦模型的運(yùn)行時(shí)間往往是重要的評(píng)價(jià)指標(biāo)之一,如果模型的運(yùn)行時(shí)間超過了可接受范圍,那么這個(gè)模型的實(shí)用性就會(huì)受到限制.該實(shí)驗(yàn)主要對(duì)RRMIF 模型和第3.3.1 節(jié)中的5 種對(duì)比模型分別在Dianping 數(shù)據(jù)集和Yelp 數(shù)據(jù)集進(jìn)行效率的評(píng)估.首先,從Dianping 數(shù)據(jù)集分別抽取4 種用戶數(shù)量不同的數(shù)據(jù)子集,用戶數(shù)量分別為300、600、1200 和2400,然后得到RRMIF 模型和其他5 種對(duì)比模型在4 種數(shù)據(jù)子集的運(yùn)行時(shí)間.為了全面地進(jìn)行效率比較,在Yelp 數(shù)據(jù)集上按照相同的操作進(jìn)行.最后,分別得到各模型基于兩種數(shù)據(jù)集的效率評(píng)估,如圖7 所示.橫軸表示用戶數(shù)量,縱軸表示為運(yùn)行時(shí)間,單位為秒(s).
從圖7 中可以看出:
(1)在兩種數(shù)據(jù)集中,PMF 模型、WMF 模型、UCF 模型和GeoMF 模型的運(yùn)行時(shí)間大致排序?yàn)?GeoMF>UCF>WMF>PMF.這是因?yàn)閃MF 模型是基于PMF 模型,考慮了正負(fù)反饋的置信水平,增加了一個(gè)權(quán)重矩陣;而GeoMF 模型是基于WMF 模型,考慮餐館的地理位置信息,增加了特征向量的維數(shù).對(duì)于UCF 模型,需要計(jì)算每個(gè)用戶的相似用戶,受用戶數(shù)量影響明顯,當(dāng)用戶數(shù)量增加時(shí),會(huì)出現(xiàn)運(yùn)行時(shí)間陡增的情況;
(2)Dianping 數(shù)據(jù)集中,模型的運(yùn)行時(shí)間相比于Yelp 數(shù)據(jù)集顯著地增加,這主要有兩個(gè)原因:第一,因?yàn)閅elp 數(shù)據(jù)集中用戶的簽到時(shí)間沒有具體到一天的某個(gè)時(shí)刻,因此時(shí)間片設(shè)置為1,這樣就導(dǎo)致Yelp 數(shù)據(jù)集中的模型的運(yùn)行時(shí)間顯著地降低;第二,Dianping 數(shù)據(jù)集的稀疏度要低于Yelp 數(shù)據(jù)集,這有可能導(dǎo)致了運(yùn)行時(shí)間較高;
(3)無論在Dianping 數(shù)據(jù)集還是在Yelp 數(shù)據(jù)集,IPM 模型的運(yùn)行時(shí)間都是最多的.IPM 模型的運(yùn)行時(shí)間是最長的,而且隨著數(shù)據(jù)集的增大,運(yùn)行時(shí)間也隨之增長,并且增長速率也逐漸增大,幾乎呈現(xiàn)指數(shù)增長的趨勢.這主要有兩方面的原因:第一,該模型對(duì)多種數(shù)據(jù)信息預(yù)處理的復(fù)雜度相對(duì)較高;第二,該模型除了要通過概率張量分解進(jìn)行求解,還需要通過邏輯回歸求解;
(4)基于Dianping 數(shù)據(jù)集,RRMIF 模型的運(yùn)行時(shí)間要高于GeoMF 模型、WMF 模型、UCF 模型和PMF模型,這主要是因?yàn)镽RMIF 模型考慮了時(shí)間上下文信息,需要為用戶在某一時(shí)間片生成推薦列表,因此計(jì)算的時(shí)間復(fù)雜度增大.而基于Yelp 數(shù)據(jù)集,RRMIF 模型的運(yùn)行時(shí)間雖然高于PMF 模型,但是要低于GeoMF 模型、WMF 模型和UCF 模型.這是因?yàn)榛赮elp 數(shù)據(jù)集的實(shí)驗(yàn),時(shí)間片設(shè)置為1,這樣,RRMIF 模型的運(yùn)行時(shí)間顯著降低.這也說明了在同樣不考慮時(shí)間上下文的情況下,RRMIF 模型的運(yùn)行效率是相當(dāng)可觀的;
(5)從這兩種數(shù)據(jù)集可以看出:RRMIF 模型的運(yùn)行時(shí)間雖然隨著數(shù)據(jù)集的增大而增大,但是沒有呈現(xiàn)出急劇增大的趨勢.換句話說,該模型的運(yùn)行時(shí)間隨著數(shù)據(jù)集的增大而平穩(wěn)增大.因此,本文提出的模型在大數(shù)據(jù)集下仍然是實(shí)用的.

Fig.7 Efficiency evaluation of different model圖7 各模型的效率評(píng)估
實(shí)驗(yàn)結(jié)果表明,RRMIF 模型的運(yùn)行時(shí)間要遠(yuǎn)低于IPM 模型,略高于其他模型.但是隨著數(shù)據(jù)量的增大,RRMIF 模型的運(yùn)行時(shí)間幾乎呈現(xiàn)穩(wěn)定增長的趨勢.這說明RRMIF 模型的運(yùn)行時(shí)間雖然不是最少的,但是它的增長趨勢仍然是可接受的.
本文首先介紹了餐館推薦的相關(guān)工作,包括興趣點(diǎn)推薦和餐館推薦,并分析了現(xiàn)有推薦模型的優(yōu)缺點(diǎn).然后,基于大眾點(diǎn)評(píng)數(shù)據(jù)集研究了多種數(shù)據(jù)信息對(duì)于用戶餐館選擇的影響,并通過K-means 聚類算法將一天24 小時(shí)分為4 個(gè)用餐時(shí)間段.另外,基于地理上下文、餐館屬性信息構(gòu)建了兩種餐館相似關(guān)系矩陣,基于用戶人口統(tǒng)計(jì)信息構(gòu)建了用戶相似關(guān)系矩陣.在此基礎(chǔ)上,本文提出了一種融合多種數(shù)據(jù)信息的餐館推薦模型(RRMIF).該模型首先利用簽到信息和時(shí)間上下文構(gòu)建“用戶-餐館-時(shí)間片”的三維張量;然后,在概率張量分解模型的基礎(chǔ)上同時(shí)分解用戶相似關(guān)系矩陣和餐館相似關(guān)系矩陣;最后,利用BPR 優(yōu)化準(zhǔn)則和梯度下降算法進(jìn)行模型求解.為了更加全面地驗(yàn)證RRMIF 模型的有效性,本文基于大眾點(diǎn)評(píng)數(shù)據(jù)集和Yelp 數(shù)據(jù)集做了以下4 個(gè)實(shí)驗(yàn):(1)與現(xiàn)有模型比較;(2)研究多種數(shù)據(jù)信息對(duì)推薦效果的影響;(3)稀疏性驗(yàn)證;(4)效率評(píng)估.最后,實(shí)驗(yàn)結(jié)果表明,相比于目前存在的餐館推薦模型,RRMIF 模型有著更好的推薦效果和可接受的運(yùn)行時(shí)間,并且緩解了數(shù)據(jù)稀疏性對(duì)推薦效果的影響.