一種在線社交網(wǎng)絡(luò)標(biāo)注系統(tǒng)中的快速推薦方法
【專利摘要】本發(fā)明公開了一種在線社交網(wǎng)絡(luò)標(biāo)注系統(tǒng)中的快速推薦方法,屬于個(gè)性化推薦,數(shù)據(jù)挖掘領(lǐng)域。解決了傳統(tǒng)算法或片面追求高準(zhǔn)確率而忽略計(jì)算成本,或片面追求模型簡單,計(jì)算迅速而忽略準(zhǔn)確率和個(gè)性化的問題。本發(fā)明不需迭代到收斂的粗聚類算法其本質(zhì)上是快速根據(jù)用戶相似度指標(biāo)將用戶分成簇的過程,而基于用戶的協(xié)同過濾推薦算法也是根據(jù)用戶之間的相似度進(jìn)行推薦,所以本發(fā)明可以保證高準(zhǔn)確率和個(gè)性化;從而在保證準(zhǔn)確率和個(gè)性化的前提下減少了計(jì)算的時(shí)間開銷;在保證推薦系統(tǒng)中推薦算法準(zhǔn)確性和個(gè)性化的基礎(chǔ)上,降低了系統(tǒng)時(shí)間開銷,同時(shí)具有高準(zhǔn)確性,高個(gè)性化和低系統(tǒng)時(shí)間開銷的特點(diǎn)。
【專利說明】
一種在線社交網(wǎng)絡(luò)標(biāo)注系統(tǒng)中的快速推薦方法
技術(shù)領(lǐng)域
[0001 ]本發(fā)明屬于個(gè)性化推薦,數(shù)據(jù)挖掘領(lǐng)域。
【背景技術(shù)】
[0002] 縮略詞與關(guān)鍵術(shù)語定義:
[0003] 準(zhǔn)確性:指推薦系統(tǒng)推薦的資源或物品與系統(tǒng)中用戶實(shí)際喜歡或購買的資源或物 品的相似程度,該指標(biāo)用于刻畫推薦系統(tǒng)的推薦能力和實(shí)際效用。
[0004]個(gè)性化:指推薦系統(tǒng)根據(jù)每個(gè)用戶自身的不同特質(zhì)推薦相應(yīng)的資源或物品,個(gè)性 化與準(zhǔn)確性高度相關(guān)。
[0005] 系統(tǒng)時(shí)間開銷:指推薦系統(tǒng)根據(jù)在線系統(tǒng)中已有的數(shù)據(jù)進(jìn)行數(shù)據(jù)清洗的時(shí)間開銷 和根據(jù)清洗后的數(shù)據(jù)及相關(guān)推薦算法進(jìn)行計(jì)算的時(shí)間開銷的總和。
[0006] 時(shí)效性:由于用戶興趣的迀移,推薦系統(tǒng)必須保證根據(jù)歷史數(shù)據(jù)做出的相關(guān)推薦 在當(dāng)前時(shí)間節(jié)點(diǎn)上是有效的。這意味著推薦系統(tǒng)根據(jù)歷史數(shù)據(jù)進(jìn)行相關(guān)計(jì)算的時(shí)間不應(yīng)該 過長。在考慮用戶興趣迀移的情況下,時(shí)效性可能會(huì)影響準(zhǔn)確性。
[0007] 隨著web2.0技術(shù)的發(fā)展,各種在線系統(tǒng)中的用戶量和數(shù)據(jù)量急劇增加,面對信息 過載,用戶如何快速地在各種在線系統(tǒng)中獲得有價(jià)值的內(nèi)容成為在線系統(tǒng)設(shè)計(jì)中一個(gè)重要 的問題。推薦系統(tǒng)正是解決上述問題的重要工具,也是在線系統(tǒng)中的一個(gè)重要模塊,它在給 用戶帶來方便的同時(shí),也帶來了巨大的經(jīng)濟(jì)效益。電子商務(wù),社交網(wǎng)站,知識(shí)引擎,在線音 樂,在線影視等多個(gè)互聯(lián)網(wǎng)行業(yè)都引入了推薦系統(tǒng)?,F(xiàn)今互聯(lián)網(wǎng)中,用戶可以方便地在在線 社交網(wǎng)絡(luò)(如Delicious, Youtube等)中進(jìn)行內(nèi)容的存儲(chǔ),發(fā)布,標(biāo)注與分享,在這些系統(tǒng)中, 用戶、內(nèi)容和標(biāo)注信息構(gòu)成了在線社交網(wǎng)絡(luò)中的標(biāo)注子系統(tǒng),推薦系統(tǒng)可以根據(jù)用戶信息, 內(nèi)容信息,標(biāo)注信息為用戶提供主動(dòng)的個(gè)性化推薦服務(wù),為用戶推薦其可能喜歡的內(nèi)容,從 而減輕在在線系統(tǒng)中因信息過載而導(dǎo)致的用戶選擇困難。
[0008]當(dāng)前在線社交網(wǎng)絡(luò)推薦系統(tǒng)中的推薦算法或者追求較高的準(zhǔn)確性與個(gè)性化,或者 追求較小的時(shí)間開銷。例如,基于協(xié)同過濾的推薦算法(CF)具有較高的準(zhǔn)確性同時(shí)也考慮 了個(gè)性化的需求,但是由于在大規(guī)模在線社交系統(tǒng)中其計(jì)算量巨大,往往造成很大的系統(tǒng) 時(shí)間開銷。而基于全局排序(GRM)的推薦方法時(shí)間開銷較小,但是缺少個(gè)性化因素,在準(zhǔn)確 性方面效果欠佳。
[0009] 現(xiàn)有技術(shù)的缺點(diǎn):
[0010] 當(dāng)前大多數(shù)推薦系統(tǒng)的研發(fā)追求的是不斷提高推薦系統(tǒng)的準(zhǔn)確性。為了提高推薦 系統(tǒng)準(zhǔn)確性,它們大多引入了非常復(fù)雜的數(shù)學(xué)模型。為了計(jì)算出為用戶推薦的內(nèi)容,往往導(dǎo) 致極大的系統(tǒng)時(shí)間開銷,消耗大量的計(jì)算資源,同時(shí)導(dǎo)致時(shí)效性降低。而另一些推薦系統(tǒng)使 用簡單的數(shù)學(xué)模型,消耗的計(jì)算資源很少,計(jì)算的時(shí)間開銷也比較合理,但是推薦結(jié)果或者 缺乏個(gè)性化因素,或者其準(zhǔn)確性有待提高。前者會(huì)導(dǎo)致推薦系統(tǒng)的運(yùn)營成本增加,同時(shí)也可 能導(dǎo)致用戶對整個(gè)系統(tǒng)的體驗(yàn)度降低。而后者可能因?yàn)樘噱e(cuò)誤的推薦使用戶心生不滿。
【發(fā)明內(nèi)容】
[0011] 本發(fā)明針對現(xiàn)有技術(shù)的不足,提供了一種在線社交網(wǎng)絡(luò)標(biāo)注系統(tǒng)中的快速推薦方 法,解決了傳統(tǒng)算法或片面追求高準(zhǔn)確率而忽略計(jì)算成本,或片面追求模型簡單,計(jì)算迅速 而忽略準(zhǔn)確率和個(gè)性化的問題。本發(fā)明在保證推薦系統(tǒng)中推薦算法準(zhǔn)確性和個(gè)性化的基礎(chǔ) 上,降低了系統(tǒng)時(shí)間開銷,同時(shí)具有高準(zhǔn)確性,高個(gè)性化和低系統(tǒng)時(shí)間開銷的特點(diǎn)。
[0012] 本發(fā)明公開的一種在線社交網(wǎng)絡(luò)標(biāo)注系統(tǒng)中的快速推薦方法,包括下列步驟:
[0013] 步驟1:從數(shù)據(jù)庫中讀取用戶、內(nèi)容和標(biāo)注的相關(guān)關(guān)系數(shù)據(jù),其中"內(nèi)容"表示用戶 關(guān)注過的信息或數(shù)據(jù),"標(biāo)注"表示用戶在關(guān)注的內(nèi)容上增加的相應(yīng)的標(biāo)注數(shù)據(jù),并構(gòu)建用 戶-內(nèi)容-標(biāo)注之間的聯(lián)系,組成網(wǎng)絡(luò);
[0014] 步驟2:對用戶-內(nèi)容-標(biāo)注網(wǎng)絡(luò)進(jìn)行粗聚類,將整個(gè)網(wǎng)絡(luò)劃分為多個(gè)用戶簇及與之 相關(guān)的內(nèi)容簇;
[0015] 步驟3:根據(jù)獲取的用戶簇及與之相關(guān)的內(nèi)容簇,在各用戶簇及與之相關(guān)的內(nèi)容簇 內(nèi)采用基于用戶的協(xié)同過濾推薦方法,計(jì)算各用戶的推薦列表;
[0016] 步驟4:將計(jì)算出的各用戶的推薦列表存儲(chǔ)到數(shù)據(jù)庫,供在線系統(tǒng)使用。
[0017]所述步驟2的具體方法為:
[0018] 根據(jù)在線系統(tǒng)的實(shí)際情況設(shè)置用戶簇的平均大小;通過一個(gè)不需要迭代到收斂的 粗聚類算法,設(shè)置迭代次數(shù)為2次,從用戶-內(nèi)容-標(biāo)注網(wǎng)絡(luò)中快速抽取不相交的用戶簇;每 一個(gè)用戶簇中所有用戶存儲(chǔ)、發(fā)布、標(biāo)注或分享的內(nèi)容集合構(gòu)成與該用戶簇相關(guān)的內(nèi)容簇。
[0019] 所述步驟3的過程為:
[0020] 在步驟2中得到的用戶簇及與用戶簇相關(guān)的內(nèi)容簇的基礎(chǔ)上,使用基于用戶的協(xié) 同過濾方法進(jìn)行推薦;首先根據(jù)用戶簇內(nèi)的用戶的相似度,計(jì)算用戶簇中的每一個(gè)用戶對 相應(yīng)內(nèi)容簇中內(nèi)容的預(yù)測偏好得分,再對每一個(gè)用戶對內(nèi)容的預(yù)測偏好得分進(jìn)行排序,根 據(jù)推薦列表長度,對每一個(gè)用戶求取前K內(nèi)容進(jìn)行推薦,K的數(shù)值根據(jù)實(shí)際需要確定。
[0021] 和現(xiàn)有的技術(shù)相比,本發(fā)明的有益效果為:
[0022] 1、步驟3使用了從步驟2中抽取出來的用戶簇及與之相關(guān)的內(nèi)容簇信息。根據(jù)抽取 的信息,構(gòu)建了用戶_內(nèi)容-標(biāo)注子網(wǎng)絡(luò)并計(jì)算相應(yīng)的推薦列表。在多個(gè)子網(wǎng)絡(luò)上應(yīng)用基于 用戶的協(xié)同過濾推薦方法與在一個(gè)大網(wǎng)絡(luò)上使用該方法相比大大減少了計(jì)算的時(shí)間開銷。 而在步驟2中使用的用于抽取用戶簇及與之相關(guān)的內(nèi)容簇信息的不需迭代到收斂的粗聚類 算法所需計(jì)算時(shí)間開銷較小,其與步驟3的時(shí)間開銷總和遠(yuǎn)小于在同數(shù)據(jù)集上直接運(yùn)用基 于用戶的協(xié)同過濾算法的時(shí)間開銷,從而實(shí)現(xiàn)了快速推薦,其時(shí)間復(fù)雜度分析見具體實(shí)施 方案。
[0023] 2、步驟2中使用的不需迭代到收斂的粗聚類算法其本質(zhì)上是快速根據(jù)用戶相似度 指標(biāo)將用戶分成簇的過程,而基于用戶的協(xié)同過濾推薦算法也是根據(jù)用戶之間的相似度進(jìn) 行推薦,所以本發(fā)明可以保證高準(zhǔn)確率和個(gè)性化。從而在保證準(zhǔn)確率和個(gè)性化的前提下減 少了計(jì)算的時(shí)間開銷。
【附圖說明】
[0024] 圖1為在線社交網(wǎng)絡(luò)標(biāo)注系統(tǒng)中快速推薦方法的流程圖。
[0025] 圖2a為用戶-內(nèi)容-標(biāo)注示意圖,圖2b為投射之后的用戶-內(nèi)容,用戶-標(biāo)注二部圖。
[0026] 圖3為基于不需迭代到收斂的粗聚類算法的快速推薦方法流程圖。
[0027] 圖4為抽取出的用戶簇和與之相關(guān)的內(nèi)容簇的示意圖。 具體實(shí)施方案
[0028] 為了使本發(fā)明的目的更加清楚,以下結(jié)合附圖對本發(fā)明進(jìn)一步詳細(xì)介紹。
[0029] 圖1可視化地表示出了本發(fā)明提出的在線社交網(wǎng)絡(luò)標(biāo)注系統(tǒng)中快速推薦方法的步 驟。推薦系統(tǒng)計(jì)算引擎從數(shù)據(jù)庫中讀取用戶,內(nèi)容及標(biāo)注的相關(guān)信息,并構(gòu)建如圖2所示的 用戶-內(nèi)容-標(biāo)注三層網(wǎng)絡(luò),其中,相同編號(hào)的用戶-內(nèi)容,內(nèi)容-標(biāo)簽邊構(gòu)成了一個(gè)(用戶-內(nèi) 容-標(biāo)注)三元組,表示用戶的一次標(biāo)注行為。通過投射,可以得到兩個(gè)二部圖,其中用戶-內(nèi) 容二部圖用于表示用戶標(biāo)注的內(nèi)容,用戶_標(biāo)簽二部圖表示用戶所使用的標(biāo)注。因此一個(gè)用 戶可以通過兩個(gè)向量來表征,一個(gè)是用戶-內(nèi)容向量e.m,每一個(gè)分量表 示用戶是否標(biāo)注過相關(guān)內(nèi)容,另一個(gè)是用戶-標(biāo)注向量vj; == 每一個(gè)分量表 示用戶是否使用過相關(guān)的標(biāo)注?;谶@些信息,推薦系統(tǒng)計(jì)算引擎會(huì)抽取互不相交的用戶 簇,其主要步驟如圖3所示。
[0030] 進(jìn)一步地,計(jì)算方法及相關(guān)建議值如下所述:
[0031] 推薦系統(tǒng)計(jì)算引擎按照圖3中的算法進(jìn)行計(jì)算時(shí),每個(gè)用戶簇的中心以簇用戶-內(nèi) 容向量中心和簇用戶_標(biāo)注向量中心來表示,如下所示:
[0034]其中Cf表示第j個(gè)用戶簇,Wc卩表示第j個(gè)用戶簇中的用戶數(shù)目。將每一個(gè)用戶重 新指派到某一個(gè)用戶簇將按照用戶和簇中心的相似性進(jìn)行,這個(gè)相似性為:
[0036] 推薦系統(tǒng)計(jì)算引擎將經(jīng)驗(yàn)值a設(shè)置為0.5。第一次推薦系統(tǒng)計(jì)算引擎將隨機(jī)指定用 戶屬于的用戶簇,經(jīng)過兩次迭代后,可以獲得如圖4所示的不相交的用戶簇和相關(guān)的內(nèi)容 簇。
[0037] 推薦系統(tǒng)計(jì)算引擎將按照如圖4所示的計(jì)算結(jié)果構(gòu)建如圖1所示的用戶-內(nèi)容-標(biāo) 注子網(wǎng)絡(luò),在不同的子網(wǎng)絡(luò)上運(yùn)行基于用戶的協(xié)同過濾推薦算法。在每個(gè)子網(wǎng)絡(luò)上,推薦系 統(tǒng)使用的相似度度量指標(biāo)如下所示:
[0039] 其中經(jīng)驗(yàn)值f3根據(jù)分量
?的分布來確定。
[0040] 用戶對內(nèi)容的預(yù)測偏好得分計(jì)算方法如下: (V f[sim{uL!us\rk)], 用戶i沒用使用過內(nèi)容k [0041 ] score(uj( rk|uj E C-J) = < iusecj7 { -1, 用戶i使用過內(nèi)容k 「 n n . , , 用戶 s 使用過內(nèi)容 k 0042] f sim(ui,us rk)l = { l 0,用戶s沒有使用過內(nèi)容k
[0043]至此,使用本快速推薦方法的推薦系統(tǒng)計(jì)算引擎將計(jì)算的漸進(jìn)時(shí)間復(fù)雜度從0(Nu (NuNR+NT))降低到了 + iVcj) + (馬 + %)(NR 屮 NT))項(xiàng) 運(yùn)算的時(shí)間開銷。其中Nu,Nr,Nt表示在線社交網(wǎng)絡(luò)標(biāo)注系統(tǒng)中的用戶數(shù)目,內(nèi)容數(shù)目和標(biāo)注 數(shù)目。漢邙,^cf,況啰表示每一個(gè)子網(wǎng)絡(luò)中的用戶數(shù)目,內(nèi)容數(shù)目和標(biāo)注數(shù)目,Kc代表用戶 簇的數(shù)目。
[0044] 除了上述提到的具體技術(shù)實(shí)施方案,包括且不僅包括以下方案完成本發(fā)明:
[0045] 1、推薦系統(tǒng)計(jì)算引擎不僅可以從數(shù)據(jù)庫中讀取數(shù)據(jù),也可以從文本文件,網(wǎng)絡(luò)中 讀取數(shù)據(jù),不僅可以將計(jì)算結(jié)果寫入數(shù)據(jù)庫,也可以寫入文本文件或者網(wǎng)絡(luò)上。
[0046] 2、在計(jì)算相關(guān)相似性指標(biāo)時(shí),不僅可以使用加權(quán)余弦相似度,還可以使用其他相 似度來進(jìn)行計(jì)算,如加權(quán)的Person相似度、Jaccard相似度。
[0047] 3、在抽取用戶簇及其相關(guān)的內(nèi)容簇信息時(shí),可以使用其他的使用相似性指標(biāo)且基 于不需要迭代到收斂的算法。
【主權(quán)項(xiàng)】
1. 一種在線社交網(wǎng)絡(luò)標(biāo)注系統(tǒng)中的快速推薦方法,包括下列步驟: 步驟1:從數(shù)據(jù)庫中讀取用戶、內(nèi)容和標(biāo)注的相關(guān)關(guān)系數(shù)據(jù),其中"內(nèi)容"表示用戶關(guān)注 過的信息或數(shù)據(jù),"標(biāo)注"表示用戶在關(guān)注的內(nèi)容上增加的相應(yīng)的標(biāo)注數(shù)據(jù),并構(gòu)建用戶-內(nèi) 容-標(biāo)注之間的聯(lián)系,組成網(wǎng)絡(luò); 步驟2:對用戶-內(nèi)容-標(biāo)注網(wǎng)絡(luò)進(jìn)行粗聚類,將整個(gè)網(wǎng)絡(luò)劃分為多個(gè)用戶簇及與之相關(guān) 的內(nèi)容簇; 步驟3:根據(jù)獲取的用戶簇及與之相關(guān)的內(nèi)容簇,在各用戶簇及與之相關(guān)的內(nèi)容簇內(nèi)采 用基于用戶的協(xié)同過濾推薦方法,計(jì)算各用戶的推薦列表; 步驟4:將計(jì)算出的各用戶的推薦列表存儲(chǔ)到數(shù)據(jù)庫,供在線系統(tǒng)使用。2. 如權(quán)利要求1所述的一種在線社交網(wǎng)絡(luò)標(biāo)注系統(tǒng)中的快速推薦方法,其特征在于所 述步驟2的具體方法為: 根據(jù)在線系統(tǒng)的實(shí)際情況設(shè)置用戶簇的平均大小;通過一個(gè)不需要迭代到收斂的粗聚 類算法,設(shè)置迭代次數(shù)為2次,從用戶-內(nèi)容-標(biāo)注網(wǎng)絡(luò)中快速抽取不相交的用戶簇;每一個(gè) 用戶簇中所有用戶存儲(chǔ)、發(fā)布、標(biāo)注或分享的內(nèi)容集合構(gòu)成與該用戶簇相關(guān)的內(nèi)容簇。3. 如權(quán)利要求1所述的一種在線社交網(wǎng)絡(luò)標(biāo)注系統(tǒng)中的快速推薦方法,其特征在于所 述步驟3的過程為: 在步驟2中得到的用戶簇及與用戶簇相關(guān)的內(nèi)容簇的基礎(chǔ)上,使用基于用戶的協(xié)同過 濾方法進(jìn)行推薦;首先根據(jù)用戶簇內(nèi)的用戶的相似度,計(jì)算用戶簇中的每一個(gè)用戶對相應(yīng) 內(nèi)容簇中內(nèi)容的預(yù)測偏好得分,再對每一個(gè)用戶對內(nèi)容的預(yù)測偏好得分進(jìn)行排序,根據(jù)推 薦列表長度,對每一個(gè)用戶求取前K內(nèi)容進(jìn)行推薦,K的數(shù)值根據(jù)實(shí)際需要確定。
【文檔編號(hào)】G06F17/30GK105912727SQ201610329748
【公開日】2016年8月31日
【申請日】2016年5月18日
【發(fā)明人】蔡世民, 趙耀東, 尚明生, 陳智宇
【申請人】電子科技大學(xué)