
本發(fā)明涉及一種社交網(wǎng)絡(luò)中的基于朋友關(guān)系傳播的朋友推薦方法,屬于計算機數(shù)據(jù)挖掘技術(shù)領(lǐng)域。
背景技術(shù):社交網(wǎng)絡(luò)在近些年得到了飛速的發(fā)展,也受到了許多研究人員的重視。朋友推薦是交友網(wǎng)站中的一項重要的功能,許多交友網(wǎng)站依靠為用戶推薦好友來吸引用戶、增強用戶對交友網(wǎng)站的依賴性。目前研究者已經(jīng)提出了許多算法來解決好友推薦的問題,其中最普遍的朋友推薦方法是基于網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的相似度度量,包括局部結(jié)構(gòu)相似度度量和全局相似度度量。學(xué)者Liben-Nowell和Kleinberg歸納了流行的局部結(jié)構(gòu)相似度度量方法,包括公共朋友數(shù)、Jaccard系數(shù)、Adamic/Adar度量等等。全局相似度度量方法則再整個網(wǎng)絡(luò)上度量兩個用戶的相似度,流行的方法包括Katz相似度度量、SimRank算法、隨機游走算法等。也有研究者提出隨機游走算法的改進算法,包括隨機化最短路徑(RSP)相異度、最大熵隨機游走算法等,通過調(diào)整隨機游走的遷移概率來改善算法性能。然而這些算法都把社交網(wǎng)絡(luò)當(dāng)作一個圖來處理,并沒有考慮到用戶的動機和行為在朋友推薦中的重要作用,無法對用戶的交友行為進行合理建模,也就不能為用戶提供精準(zhǔn)的朋友推薦服務(wù)。本申請人于2013年1月17日提出了專利申請?zhí)枮?01310026965.3、發(fā)明名稱為“一種社交網(wǎng)絡(luò)中朋友關(guān)系傳遞樹的建立方法”,該方法通過對用戶的行為進行建模,基于朋友關(guān)系的傳遞性來推測和表達社交網(wǎng)絡(luò)的形成和演化過程,但是沒有考慮用戶興趣的影響,也沒有考慮用戶的朋友圈對于用戶交友行為的協(xié)同影響,也沒有提供用于社交網(wǎng)絡(luò)中朋友推薦的具體方法。
技術(shù)實現(xiàn)要素:本發(fā)明的目的是提出一種社交網(wǎng)絡(luò)中的基于朋友關(guān)系傳播的朋友推薦方法,對已有的社交網(wǎng)絡(luò)中朋友關(guān)系傳遞樹的建立方法進行改進,通過建立興趣感知的潛在朋友關(guān)系傳播網(wǎng)絡(luò),推測和表達社交網(wǎng)絡(luò)的形成和演化過程,為用戶提供精準(zhǔn)的朋友推薦。本發(fā)明提出的社交網(wǎng)絡(luò)中的基于朋友關(guān)系傳播的朋友推薦方法,包括以下步驟:(1)設(shè)社交網(wǎng)絡(luò)中有多個用戶,每個用戶有多個朋友,將用戶記為自我節(jié)點ui,將該用戶的朋友記為朋友節(jié)點vi;為社交網(wǎng)絡(luò)中的自我節(jié)點ui,創(chuàng)建一個屬于自我節(jié)點ui的潛在朋友關(guān)系傳播網(wǎng)絡(luò),該網(wǎng)絡(luò)包括三層:自我層E(ui)、局部層L(ui)和全局層G(ui),在自我層E(ui)中添加自我節(jié)點ui,在局部層L(ui)中添加自我節(jié)點ui的所有朋友節(jié)點,在全局層G(ui)中添加社交網(wǎng)絡(luò)中的所有節(jié)點;每個用戶建立一個興趣領(lǐng)域集合K;(2)按照時間,將自我節(jié)點與朋友節(jié)點之間的交互數(shù)據(jù)按交互的時間劃分為N段,對于與第t段交互相對應(yīng)的時間段Tt,執(zhí)行步驟(3)-(10),t=1,2,……,N;(3)建立如下興趣感知的社交行為概率生成模型:(3-1)設(shè)社交網(wǎng)絡(luò)中每個自我節(jié)點ui的交互行為數(shù)為社交網(wǎng)絡(luò)中每個自我節(jié)點ui的新交朋友數(shù)為(3-2)分別用先驗參數(shù)為的狄利克雷分布表示社交網(wǎng)絡(luò)中每個自我節(jié)點ui的朋友關(guān)系強度分布的先驗分布,從該狄利克雷分布中采樣得到社交網(wǎng)絡(luò)中自我節(jié)點ui在時間段Tt的朋友關(guān)系強度分布(3-3)從上述朋友關(guān)系強度分布中,采樣得到社交網(wǎng)絡(luò)中每個自我節(jié)點ui的每次交互對象x;(3-4)分別用先驗參數(shù)為的狄利克雷分布表示社交網(wǎng)絡(luò)中每個自我節(jié)點ui的中介偏好概率分布的先驗分布,從該狄利克雷分布中采樣得到社交網(wǎng)絡(luò)中自我節(jié)點ui在時間段Tt的中介偏好概率分布(3-5)分別用先驗參數(shù)為的狄利克雷分布表示社交網(wǎng)絡(luò)中每個自我節(jié)點ui的興趣偏好概率分布的先驗分布,從該狄利克雷分布中采樣得到社交網(wǎng)絡(luò)中自我節(jié)點ui在時間段Tt的興趣偏好概率分布(3-6)分別用先驗參數(shù)為的狄利克雷分布表示社交網(wǎng)絡(luò)中興趣領(lǐng)域的用戶聲望概率分布的先驗分布,從該狄利克雷分布中采樣得到社交網(wǎng)絡(luò)中每個興趣領(lǐng)域ci在時間段Tt的用戶聲望概率分布(3-7)從上述用戶興趣概率分布中采樣得到社交網(wǎng)絡(luò)中每個自我節(jié)點ui的興趣領(lǐng)域ci,分別從上述中介偏好概率分布和用戶聲望概率分布的聯(lián)合分布中采樣得到社交網(wǎng)絡(luò)中每個自我節(jié)點ui的中介人zi,從與中介人zi對應(yīng)的朋友關(guān)系強度分布和用戶聲望概率分布的聯(lián)合分布中采樣得到社交網(wǎng)絡(luò)中自我節(jié)點ui的新朋友節(jié)點yi;(3-8)用U表示社交網(wǎng)絡(luò)中用戶的集合,用K表示社交網(wǎng)絡(luò)中用戶興趣領(lǐng)域的集合,用表示社交網(wǎng)絡(luò)中自我節(jié)點ui在時間段Tt的朋友節(jié)點集合,用表示社交網(wǎng)絡(luò)中自我節(jié)點ui在時間段Tt的新朋友節(jié)點集合,用表示社交網(wǎng)絡(luò)中自我節(jié)點ui在時間段Tt的交互節(jié)點集合,用表示在時間段Tt社交網(wǎng)絡(luò)中自我節(jié)點ui選擇zi作為中介人的次數(shù),用表示在時間段Tt社交網(wǎng)絡(luò)中中介人zi將朋友yi推薦給別人的次數(shù),用表示在時間段Tt社交網(wǎng)絡(luò)中自我節(jié)點ui和朋友yi交互的次數(shù),用表示在時間段Tt社交網(wǎng)絡(luò)中zi在興趣領(lǐng)域ci中被選為中介人的次數(shù),用表示在時間段Tt社交網(wǎng)絡(luò)中yi在興趣領(lǐng)域ci中被推薦給別人的次數(shù),用表示在時間段Tt社交網(wǎng)絡(luò)中自我節(jié)點ui在興趣領(lǐng)域ci中選擇新朋友的次數(shù);(4)對時間段Tt的時間序號t進行判斷:若t≥1,則先驗參數(shù)分別為:其中,表示在時間段Tt-1社交網(wǎng)絡(luò)中自我節(jié)點ui選擇zi作為中介人的次數(shù),表示在時間段Tt-1社交網(wǎng)絡(luò)中中介人zi將朋友yi推薦給別人的次數(shù),表示在時間段Tt-1社交網(wǎng)絡(luò)中中介人zi和朋友yi交互的次數(shù),表示在時間段Tt-1社交網(wǎng)絡(luò)中ui在興趣領(lǐng)域ci中被推薦給別人的次數(shù),用表示在時間段Tt-1社交網(wǎng)絡(luò)中自我節(jié)點ui在興趣領(lǐng)域ci中選擇新朋友的次數(shù);若t=0,則先驗參數(shù)分別為:其中α0,β0,δ0,γ0分別為先驗參數(shù)的預(yù)設(shè)值,α0,β0,δ0,γ0分別為正數(shù);(5)當(dāng)自我節(jié)點ui和自我節(jié)點ui的新朋友節(jié)點yi有共同朋友時,則從共同朋友中隨機選擇共同朋友zi作為自我節(jié)點ui與新朋友節(jié)點yi之間的候選中介人,記錄共同朋友zi被選為自我節(jié)點ui與新朋友節(jié)點yi之間的候選中介人的次數(shù)為1,當(dāng)自我節(jié)點ui和自我節(jié)點ui的新朋友節(jié)點yi沒有共同朋友時,則選擇自我節(jié)點ui作為自我節(jié)點ui與新朋友節(jié)點yi之間的候選中介人;(6)從用戶建立的興趣領(lǐng)域集合K中隨機選擇一個興趣領(lǐng)域ci作為自我節(jié)點ui與新朋友節(jié)點yi之間的候選興趣領(lǐng)域,記錄興趣領(lǐng)域ci被選為自我節(jié)點ui與新朋友節(jié)點yi之間的候選興趣領(lǐng)域的次數(shù)為1;(7)當(dāng)自我節(jié)點ui和自我節(jié)點ui的新朋友節(jié)點yi有共同朋友時,則按照下式計算興趣領(lǐng)域為ci的共同朋友z′,作為自我節(jié)點ui與新朋友節(jié)點yi之間的中介人zi的概率其中,表示在時間段Tt社交網(wǎng)絡(luò)中自我節(jié)點ui選擇z′作為中介人的次數(shù),表示在時間段Tt社交網(wǎng)絡(luò)中中介人z′將朋友yi推薦給別人的次數(shù),表示在時間段Tt社交網(wǎng)絡(luò)中中介人z′和朋友yi交互的次數(shù),表示在時間段Tt社交網(wǎng)絡(luò)中z′在興趣領(lǐng)域ci中被選為中介人的次數(shù),表示在時間段Tt社交網(wǎng)絡(luò)中z′在興趣領(lǐng)域ci中被推薦給別人的次數(shù),表示在時間段Tt社交網(wǎng)絡(luò)中自我節(jié)點ui選擇vi作為中介人的次數(shù),表示在時間段Tt社交網(wǎng)絡(luò)中中介人vi將朋友yi推薦給別人的次數(shù),表示在時間段Tt社交網(wǎng)絡(luò)中中介人vi和朋友yi交互的次數(shù),表示在時間段Tt社交網(wǎng)絡(luò)中vi在興趣領(lǐng)域ci中被選為中介人的次數(shù),表示在時間段Tt社交網(wǎng)絡(luò)中vi在興趣領(lǐng)域ci中被推薦給別人的次數(shù),為在Tt時間段自我節(jié)點ui偏好概率分布的先驗參數(shù)中與共同朋友z′相應(yīng)的先驗值,為在Tt時間段z′的朋友關(guān)系強度分布先驗參數(shù)中與朋友節(jié)點yi相應(yīng)的先驗值,為在Tt時間段興趣領(lǐng)域ci的用戶聲望概率分布的先驗參數(shù)中與z′相應(yīng)的先驗值,為在Tt時間段自我節(jié)點ui偏好概率分布的先驗參數(shù)中與共同朋友vi相應(yīng)的先驗值,為在Tt時間段vi的朋友關(guān)系強度分布先驗參數(shù)中與朋友節(jié)點yi相應(yīng)的先驗值,為在Tt時間段興趣領(lǐng)域ci的用戶聲望概率分布的先驗參數(shù)中與vi相應(yīng)的先驗值;根據(jù)得到的概率,采樣確定自我節(jié)點ui與新朋友節(jié)點yi之間的新候選中介人zi,并在記錄中介人zi被選為自我節(jié)點ui與新朋友節(jié)點yi之間的候選中介人的次數(shù)上增加1,進行步驟(8);當(dāng)自我節(jié)點ui和自我節(jié)點ui的新朋友節(jié)點yi沒有共同朋友時,則保持步驟(5)的候選中介人不變,進行步驟(8);(8)按照下式計算中介人為zi時,自我節(jié)點ui與新朋友節(jié)點yi的共同興趣領(lǐng)域ci為c′的概率其中,表示在時間段Tt社交網(wǎng)絡(luò)中zi在興趣領(lǐng)域c′中被選為中介人的次數(shù),用表示在時間段Tt社交網(wǎng)絡(luò)中yi在興趣領(lǐng)域c′中被推薦給別人的次數(shù),表示在時間段Tt社交網(wǎng)絡(luò)中自我節(jié)點ui在興趣領(lǐng)域c′中選擇新朋友的次數(shù),表示在時間段Tt社交網(wǎng)絡(luò)中zi在興趣領(lǐng)域ci中被選為中介人的次數(shù),用表示在時間段Tt社交網(wǎng)絡(luò)中zi在興趣領(lǐng)域ci中被推薦給別人的次數(shù),表示在時間段Tt社交網(wǎng)絡(luò)中自我節(jié)點ui在興趣領(lǐng)域ci中選擇新朋友的次數(shù),為在Tt時間段自我節(jié)點ui的用戶興趣概率分布的先驗參數(shù)中與c′相應(yīng)的先驗值,為在Tt時間段興趣領(lǐng)域c′的用戶聲望概率分布的先驗參數(shù)中與zi相應(yīng)的先驗值,為在Tt時間段自我節(jié)點ui的用戶興趣概率分布的先驗參數(shù)中與ci相應(yīng)的先驗值,為在Tt時間段興趣領(lǐng)域ci的用戶聲望概率分布的先驗參數(shù)中與zi相應(yīng)的先驗值;根據(jù)得到的概率,采樣確定自我節(jié)點ui與新朋友節(jié)點yi之間的新候選興趣領(lǐng)域ci,并在記錄興趣領(lǐng)域ci被選為自我節(jié)點ui與新朋友節(jié)點yi之間的候選興趣領(lǐng)域的次數(shù)上增加1;(9)按照下式,分別計算自我節(jié)點ui的中介偏好概率分布朋友關(guān)系強度分布和興趣偏好概率分布以及興趣領(lǐng)域ci的用戶聲望概率分布其中,表示在時間段Tt社交網(wǎng)絡(luò)中自我節(jié)點ui選擇zi作為中介人的次數(shù),表示在時間段Tt社交網(wǎng)絡(luò)中中介人zi將朋友yi推薦給別人的次數(shù),表示在時間段Tt社交網(wǎng)絡(luò)中自我節(jié)點ui和朋友yi交互的次數(shù),表示在時間段Tt社交網(wǎng)絡(luò)中ui在興趣領(lǐng)域ci中被選為中介人的次數(shù),用表示在時間段Tt社交網(wǎng)絡(luò)中ui在興趣領(lǐng)域ci中被推薦給別人的次數(shù),用表示在時間段Tt社交網(wǎng)絡(luò)中自我節(jié)點ui在興趣領(lǐng)域ci中選擇新朋友的次數(shù),表示在時間段Tt社交網(wǎng)絡(luò)中自我節(jié)點ui選擇v作為中介人的次數(shù),表示在時間段Tt社交網(wǎng)絡(luò)中中介人zi將朋友v推薦給別人的次數(shù),表示在時間段Tt社交網(wǎng)絡(luò)中自我節(jié)點ui和朋友v交互的次數(shù),表示在時間段Tt社交網(wǎng)絡(luò)中u在興趣領(lǐng)域ci中被選為中介人的次數(shù),用表示在時間段Tt社交網(wǎng)絡(luò)中u在興趣領(lǐng)域ci中被推薦給別人的次數(shù),用表示在時間段Tt社交網(wǎng)絡(luò)中自我節(jié)點ui在興趣領(lǐng)域c中選擇新朋友的次數(shù),為在Tt時間段自我節(jié)點ui偏好概率分布的先驗參數(shù)中與共同朋友zi相應(yīng)的先驗值,為在Tt時間段zi的朋友關(guān)系強度分布的先驗參數(shù)中與朋友節(jié)點yi相應(yīng)的先驗值,為在Tt時間段自我節(jié)點ui偏好概率分布的先驗參數(shù)中與共同朋友v相應(yīng)的先驗值,為在Tt時間段zi的朋友關(guān)系強度分布的先驗參數(shù)中與朋友節(jié)點v相應(yīng)的先驗值,為在Tt時間段自我節(jié)點ui的用戶興趣概率分布的先驗參數(shù)中與ci相應(yīng)的先驗值,為在Tt時間段興趣領(lǐng)域ci的用戶聲望概率分布的先驗參數(shù)中與ui相應(yīng)的先驗值,為在Tt時間段自我節(jié)點ui的用戶興趣概率分布的先驗參數(shù)中與c相應(yīng)的先驗值,為在Tt時間段興趣領(lǐng)域ci的用戶聲望概率分布的先驗參數(shù)中與u相應(yīng)的先驗值;根據(jù)以上得到的自我節(jié)點ui的中介偏好概率分布朋友關(guān)系強度分布和興趣偏好概率分布以及興趣領(lǐng)域ci的用戶聲望概率分布和上一輪迭代后計算所得到的中介偏好概率分布朋友關(guān)系強度分布興趣偏好概率分布和用戶聲望概率分布分別計算中介偏好概率分布變化量Δθ,朋友關(guān)系強度分布變化量Δφ,興趣偏好概率分布變化量Δχ和用戶聲望概率分布變化量Δψ:設(shè)定一個變化量閾值,該變化量閾值的取值范圍為0-0.1,若Δθ,Δφ,Δχ和Δψ同時小于該閾值,則進行步驟(10);若Δθ,Δφ,Δχ和Δψ中的任何一個大于或等于該閾值,則設(shè)并返回步驟(7);(10)對于自我節(jié)點ui與自我節(jié)點ui的新朋友節(jié)點yi,以及步驟(7)迭代過程中被采樣到的候選中介人zi,在自我節(jié)點ui的朋友關(guān)系傳播網(wǎng)絡(luò)的局部層L(ui)中添加一條邊zi→yi,一條邊zi→yi的權(quán)重等于zi被采樣作為自我節(jié)點ui與自我節(jié)點ui的新朋友節(jié)點yi的候選中介人的概率,即:在自我節(jié)點ui的朋友關(guān)系傳播網(wǎng)絡(luò)的全局層G(ui)中添加一條邊zi→yi,一條邊zi→yi的權(quán)重為:對于自我節(jié)點ui的朋友關(guān)系傳播網(wǎng)絡(luò)的局部層L(ui)中的每個節(jié)點zi,添加從自我節(jié)點ui到zi的一條邊ui→zi,一條邊ui→zi的權(quán)重為:(11)遍歷自我節(jié)點與朋友節(jié)點之間交互數(shù)據(jù)的所有時間段,得到社交網(wǎng)絡(luò)中每個自我節(jié)點ui的朋友關(guān)系傳播網(wǎng)絡(luò);(12)對于社交網(wǎng)絡(luò)中自我節(jié)點ui和自我節(jié)點ui的朋友關(guān)系傳播網(wǎng)絡(luò)的局部層L(ui)上的任意節(jié)點zi,用表示ui在交朋友過程中選擇zi作為其中介人的概率,初始化為0,對于社交網(wǎng)絡(luò)中自我節(jié)點ui和自我節(jié)點ui的朋友關(guān)系傳播網(wǎng)絡(luò)的全局層G(ui)上的任意節(jié)點vi,用表示ui在交朋友過程中選擇vi作為其新朋友的概率,初始化為0;(13)對于社交網(wǎng)絡(luò)中自我節(jié)點ui和自我節(jié)點ui的朋友關(guān)系傳播網(wǎng)絡(luò)的局部層L(ui)上的任意節(jié)點zi,按照如下公式更新ui在交朋友過程中選擇zi作為其中介人的概率其中表示在本輪迭代開始前的值,是自我節(jié)點ui的朋友關(guān)系傳播網(wǎng)絡(luò)的局部層L(ui)中邊z→zi的權(quán)重,是自我節(jié)點ui到自我節(jié)點ui的朋友關(guān)系傳播網(wǎng)絡(luò)的局部層L(ui)中的節(jié)點zi的邊ui→zi的權(quán)重,F(xiàn)(ui,zi)表示ui和zi的公共朋友集合,μ是取值為0-1的參數(shù);(14)對于社交網(wǎng)絡(luò)中自我節(jié)點ui,計算中介選擇概率變化量設(shè)定一個變化量閾值,該變化量閾值的取值范圍為0-0.1,若小于設(shè)定閾值,則進行步驟(15);若大于或等于設(shè)定閾值,則對于社交網(wǎng)絡(luò)中自我節(jié)點ui的朋友關(guān)系傳播網(wǎng)絡(luò)的局部層L(ui)上的任意節(jié)點zi,設(shè)并返回步驟(13);(15)對于社交網(wǎng)絡(luò)中自我節(jié)點ui和自我節(jié)點ui的朋友關(guān)系傳播網(wǎng)絡(luò)的全局層G(ui)上的任意節(jié)點vi,按照如下公式更新ui在交朋友過程中選擇vi作為其新朋友的概率其中表示在本輪迭代開始前的值,是自我節(jié)點ui的朋友關(guān)系傳播網(wǎng)絡(luò)的全局層G(ui)中邊v→vi的權(quán)重,是自我節(jié)點ui在交朋友過程中選擇vi作為其中介人的概率,F(xiàn)(vi)表示vi的朋友集合,μ是取值為0-1的參數(shù);(16)對于社交網(wǎng)絡(luò)中自我節(jié)點ui,計算朋友選擇概率變化量設(shè)定一個變化量閾值,該變化量閾值的取值范圍為0-0.1,若小于指定閾值,則進行步驟(17);若大于或等于指定閾值,則對于社交網(wǎng)絡(luò)中自我節(jié)點ui的朋友關(guān)系傳播網(wǎng)絡(luò)的全局層G(ui)上的任意節(jié)點vi,設(shè)并返回步驟(15);(16)對于社交網(wǎng)絡(luò)中自我節(jié)點ui,將自我節(jié)點ui的朋友關(guān)系傳播網(wǎng)絡(luò)的全局層G(ui)上的所有節(jié)點vi,按照與節(jié)點相對應(yīng)的值從大到小排序,作為向ui推薦的朋友列表。本發(fā)明提出的社交網(wǎng)絡(luò)中的基于朋友關(guān)系傳播的朋友推薦方法,其優(yōu)點是:1、本發(fā)明方法基于社會學(xué)中的傳遞性原理,對用戶在社交網(wǎng)絡(luò)中的社交行為進行合理建模,同時考慮用戶對于朋友的偏好、對于中介人的偏好、興趣領(lǐng)域的偏好以及朋友圈地相互影響作用,可以更準(zhǔn)確地預(yù)測用戶未來的交友行為,從而可以為交友網(wǎng)站提供更準(zhǔn)確的好友推薦結(jié)果。2、本發(fā)明方法構(gòu)造的社交網(wǎng)絡(luò)中的潛在朋友關(guān)系傳播網(wǎng)絡(luò),從朋友關(guān)系傳遞性的角度出發(fā),對社交網(wǎng)絡(luò)的演化過程提供了層次化、因果式的可視化呈現(xiàn)與解釋,便于深入分析社交網(wǎng)絡(luò)的成因與內(nèi)在結(jié)構(gòu),以及預(yù)測社交網(wǎng)絡(luò)未來的發(fā)展與變化,從而為交友網(wǎng)站的設(shè)計與運營提供參考。3、本發(fā)明方法不需要額外的訓(xùn)練數(shù)據(jù),避免了訓(xùn)練數(shù)據(jù)中的不平衡問題,適用性強,便于應(yīng)用。附圖說明圖1是本發(fā)明方法涉及的社交網(wǎng)絡(luò)中潛在朋友關(guān)系傳播網(wǎng)絡(luò)的部分示意圖。圖2是本發(fā)明方法涉及的社交網(wǎng)絡(luò)中潛在朋友關(guān)系傳播網(wǎng)絡(luò)的整體示意圖。圖3是本發(fā)明方法中建立的興趣感知的社交行為概率生成模型示意圖。具體實施方式本發(fā)明提出的社交網(wǎng)絡(luò)中的基于朋友關(guān)系傳播的朋友推薦方法,包括以下步驟:(1)設(shè)社交網(wǎng)絡(luò)中有多個用戶,每個用戶有多個朋友,將用戶記為自我節(jié)點ui,將該用戶的朋友記為朋友節(jié)點vi;為社交網(wǎng)絡(luò)中的自我節(jié)點ui,創(chuàng)建一個屬于自我節(jié)點ui的潛在朋友關(guān)系傳播網(wǎng)絡(luò),創(chuàng)建的潛在朋友關(guān)系傳播網(wǎng)絡(luò)如圖1所示,該網(wǎng)絡(luò)包括三層:自我層E(ui)、局部層L(ui)和全局層G(ui),在自我層E(ui)中添加自我節(jié)點ui,在局部層L(ui)中添加自我節(jié)點ui的所有朋友節(jié)點,在全局層G(ui)中添加社交網(wǎng)絡(luò)中的所有節(jié)點;每個用戶建立一個興趣領(lǐng)域集合K;(2)按照時間,將自我節(jié)點與朋友節(jié)點之間的交互數(shù)據(jù)按交互的時間劃分為N段,對于與第t段交互相對應(yīng)的時間段Tt,執(zhí)行步驟(3)-(10),t=1,2,……,N;(3)建立如下興趣感知的社交行為概率生成模型,模型的圖形化表示如圖3所示:(3-1)設(shè)社交網(wǎng)絡(luò)中每個自我節(jié)點ui的交互行為數(shù)為社交網(wǎng)絡(luò)中每個自我節(jié)點ui的新交朋友數(shù)為(3-2)分別用先驗參數(shù)為的狄利克雷分布表示社交網(wǎng)絡(luò)中每個自我節(jié)點ui的朋友關(guān)系強度分布的先驗分布,從該狄利克雷分布中采樣得到社交網(wǎng)絡(luò)中自我節(jié)點ui在時間段Tt的朋友關(guān)系強度分布(3-3)從上述朋友關(guān)系強度分布中,采樣得到社交網(wǎng)絡(luò)中每個自我節(jié)點ui的每次交互對象x;(3-4)分別用先驗參數(shù)為的狄利克雷分布表示社交網(wǎng)絡(luò)中每個自我節(jié)點ui的中介偏好概率分布的先驗分布,從該狄利克雷分布中采樣得到社交網(wǎng)絡(luò)中自我節(jié)點ui在時間段Tt的中介偏好概率分布(3-5)分別用先驗參數(shù)為的狄利克雷分布表示社交網(wǎng)絡(luò)中每個自我節(jié)點ui的興趣偏好概率分布的先驗分布,從該狄利克雷分布中采樣得到社交網(wǎng)絡(luò)中自我節(jié)點ui在時間段Tt的興趣偏好概率分布(3-6)分別用先驗參數(shù)為的狄利克雷分布表示社交網(wǎng)絡(luò)中興趣領(lǐng)域的用戶聲望概率分布的先驗分布,從該狄利克雷分布中采樣得到社交網(wǎng)絡(luò)中每個興趣領(lǐng)域ci在時間段Tt的用戶聲望概率分布(3-7)從上述用戶興趣概率分布中采樣得到社交網(wǎng)絡(luò)中每個自我節(jié)點ui的興趣領(lǐng)域ci,分別從上述中介偏好概率分布和用戶聲望概率分布的聯(lián)合分布中采樣得到社交網(wǎng)絡(luò)中每個自我節(jié)點ui的中介人zi,從與中介人zi對應(yīng)的朋友關(guān)系強度分布和用戶聲望概率分布的聯(lián)合分布中采樣得到社交網(wǎng)絡(luò)中自我節(jié)點ui的新朋友節(jié)點yi;(3-8)用U表示社交網(wǎng)絡(luò)中用戶的集合,用K表示社交網(wǎng)絡(luò)中用戶興趣領(lǐng)域的集合,用表示社交網(wǎng)絡(luò)中自我節(jié)點ui在時間段Tt的朋友節(jié)點集合,用表示社交網(wǎng)絡(luò)中自我節(jié)點ui在時間段Tt的新朋友節(jié)點集合,用表示社交網(wǎng)絡(luò)中自我節(jié)點ui在時間段Tt的交互節(jié)點集合,用表示在時間段Tt社交網(wǎng)絡(luò)中自我節(jié)點ui選擇zi作為中介人的次數(shù),用表示在時間段Tt社交網(wǎng)絡(luò)中中介人zi將朋友yi推薦給別人的次數(shù),用表示在時間段Tt社交網(wǎng)絡(luò)中自我節(jié)點ui和朋友yi交互的次數(shù),用表示在時間段Tt社交網(wǎng)絡(luò)中zi在興趣領(lǐng)域ci中被選為中介人的次數(shù),用表示在時間段Tt社交網(wǎng)絡(luò)中yi在興趣領(lǐng)域ci中被推薦給別人的次數(shù),用表示在時間段Tt社交網(wǎng)絡(luò)中自我節(jié)點ui在興趣領(lǐng)域ci中選擇新朋友的次數(shù);(4)對時間段Tt的時間序號t進行判斷:若t≥1,則先驗參數(shù)分別為:其中,表示在時間段Tt-1社交網(wǎng)絡(luò)中自我節(jié)點ui選擇zi作為中介人的次數(shù),表示在時間段Tt-1社交網(wǎng)絡(luò)中中介人zi將朋友yi推薦給別人的次數(shù),表示在時間段Tt-1社交網(wǎng)絡(luò)中中介人zi和朋友yi交互的次數(shù),表示在時間段Tt-1社交網(wǎng)絡(luò)中ui在興趣領(lǐng)域ci中被推薦給別人的次數(shù),用表示在時間段Tt-1社交網(wǎng)絡(luò)中自我節(jié)點ui在興趣領(lǐng)域ci中選擇新朋友的次數(shù);若t=0,則先驗參數(shù)分別為:其中α0,β0,δ0,γ0分別為先驗參數(shù)的預(yù)設(shè)值,α0,β0,δ0,γ0分別為正數(shù);(5)當(dāng)自我節(jié)點ui和自我節(jié)點ui的新朋友節(jié)點yi有共同朋友時,則從共同朋友中隨機選擇共同朋友zi作為自我節(jié)點ui與新朋友節(jié)點yi之間的候選中介人,記錄共同朋友zi被選為自我節(jié)點ui與新朋友節(jié)點yi之間的候選中介人的次數(shù)為1,當(dāng)自我節(jié)點ui和自我節(jié)點ui的新朋友節(jié)點yi沒有共同朋友時,則選擇自我節(jié)點ui作為自我節(jié)點ui與新朋友節(jié)點yi之間的候選中介人;(6)從用戶建立的興趣領(lǐng)域集合K中隨機選擇一個興趣領(lǐng)域ci作為自我節(jié)點ui與新朋友節(jié)點yi之間的候選興趣領(lǐng)域,記錄興趣領(lǐng)域ci被選為自我節(jié)點ui與新朋友節(jié)點yi之間的候選興趣領(lǐng)域的次數(shù)為1;(7)當(dāng)自我節(jié)點ui和自我節(jié)點ui的新朋友節(jié)點yi有共同朋友時,則按照下式計算興趣領(lǐng)域為ci的共同朋友z′,作為自我節(jié)點ui與新朋友節(jié)點yi之間的中介人zi的概率其中,表示在時間段Tt社交網(wǎng)絡(luò)中自我節(jié)點ui選擇z′作為中介人的次數(shù),表示在時間段Tt社交網(wǎng)絡(luò)中中介人z′將朋友yi推薦給別人的次數(shù),表示在時間段Tt社交網(wǎng)絡(luò)中中介人z′和朋友yi交互的次數(shù),表示在時間段Tt社交網(wǎng)絡(luò)中z′在興趣領(lǐng)域ci中被選為中介人的次數(shù),表示在時間段Tt社交網(wǎng)絡(luò)中z′在興趣領(lǐng)域ci中被推薦給別人的次數(shù),表示在時間段Tt社交網(wǎng)絡(luò)中自我節(jié)點ui選擇vi作為中介人的次數(shù),表示在時間段Tt社交網(wǎng)絡(luò)中中介人vi將朋友yi推薦給別人的次數(shù),表示在時間段Tt社交網(wǎng)絡(luò)中中介人vi和朋友yi交互的次數(shù),表示在時間段Tt社交網(wǎng)絡(luò)中vi在興趣領(lǐng)域ci中被選為中介人的次數(shù),表示在時間段Tt社交網(wǎng)絡(luò)中vi在興趣領(lǐng)域ci中被推薦給別人的次數(shù),為在Tt時間段自我節(jié)點ui偏好概率分布的先驗參數(shù)中與共同朋友z′相應(yīng)的先驗值,為在Tt時間段z′的朋友關(guān)系強度分布光驗參數(shù)中與朋友節(jié)點yi相應(yīng)的先驗值,為在Tt時間段興趣領(lǐng)域ci的用戶聲望概率分布的先驗參數(shù)中與z′相應(yīng)的先驗值,為在Tt時間段自我節(jié)點ui偏好概率分布的先驗參數(shù)中與共同朋友vi相應(yīng)的先驗值,為在Tt時間段vi的朋友關(guān)系強度分布先驗參數(shù)中與朋友節(jié)點yi相應(yīng)的先驗值,為在Tt時間段興趣領(lǐng)域ci的用戶聲望概率分布的先驗參數(shù)中與vi相應(yīng)的先驗值;根據(jù)得到的概率,采樣確定自我節(jié)點ui與新朋友節(jié)點yi之間的新候選中介人zi,并在記錄中介人zi被選為自我節(jié)點ui與新朋友節(jié)點yi之間的候選中介人的次數(shù)上增加1,進行步驟(8);當(dāng)自我節(jié)點ui和自我節(jié)點ui的新朋友節(jié)點yi沒有共同朋友時,則保持步驟(5)的候選中介人不變,進行步驟(8);(8)按照下式計算中介人為zi時,自我節(jié)點ui與新朋友節(jié)點yi的共同興趣領(lǐng)域ci為c′的概率其中,表示在時間段Tt社交網(wǎng)絡(luò)中zi在興趣領(lǐng)域c′中被選為中介人的次數(shù),用表示在時間段Tt社交網(wǎng)絡(luò)中yi在興趣領(lǐng)域c′中被推薦給別人的次數(shù),表示在時間段Tt社交網(wǎng)絡(luò)中自我節(jié)點ui在興趣領(lǐng)域c′中選擇新朋友的次數(shù),表示在時間段Tt社交網(wǎng)絡(luò)中zi在興趣領(lǐng)域ci中被選為中介人的次數(shù),用表示在時間段Tt社交網(wǎng)絡(luò)中zi在興趣領(lǐng)域ci中被推薦給別人的次數(shù),表示在時間段Tt社交網(wǎng)絡(luò)中自我節(jié)點ui在興趣領(lǐng)域ci中選擇新朋友的次數(shù),為在Tt時間段自我節(jié)點ui的用戶興趣概率分布的先驗參數(shù)中與c′相應(yīng)的先驗值,為在Tt時間段興趣領(lǐng)域c′的用戶聲望概率分布的先驗參數(shù)中與zi相應(yīng)的先驗值,為在Tt時間段自我節(jié)點ui的用戶興趣概率分布的先驗參數(shù)中與ci相應(yīng)的先驗值,為在Tt時間段興趣領(lǐng)域ci的用戶聲望概率分布的先驗參數(shù)中與zi相應(yīng)的先驗值;根據(jù)得到的概率,采樣確定自我節(jié)點ui與新朋友節(jié)點yi之間的新候選興趣領(lǐng)域ci,并在記錄興趣領(lǐng)域ci被選為自我節(jié)點ui與新朋友節(jié)點yi之間的候選興趣領(lǐng)域的次數(shù)上增加1;(9)按照下式,分別計算自我節(jié)點ui的中介偏好概率分布朋友關(guān)系強度分布和興趣偏好概率分布以及興趣領(lǐng)域ci的用戶聲望概率分布其中,表示在時間段Tt社交網(wǎng)絡(luò)中自我節(jié)點ui選擇zi作為中介人的次數(shù),表示在時間段Tt社交網(wǎng)絡(luò)中中介人zi將朋友yi推薦給別人的次數(shù),表示在時間段Tt社交網(wǎng)絡(luò)中自我節(jié)點ui和朋友yi交互的次數(shù),表示在時間段Tt社交網(wǎng)絡(luò)中ui在興趣領(lǐng)域ci中被選為中介人的次數(shù),用表示在時間段Tt社交網(wǎng)絡(luò)中ui在興趣領(lǐng)域ci中被推薦給別人的次數(shù),用表示在時間段Tt社交網(wǎng)絡(luò)中自我節(jié)點ui在興趣領(lǐng)域ci中選擇新朋友的次數(shù),表示在時間段Tt社交網(wǎng)絡(luò)中自我節(jié)點ui選擇v作為中介人的次數(shù),表示在時間段Tt社交網(wǎng)絡(luò)中中介人zi將朋友v推薦給別人的次數(shù),表示在時間段Tt社交網(wǎng)絡(luò)中自我節(jié)點ui和朋友v交互的次數(shù),表示在時間段Tt社交網(wǎng)絡(luò)中u在興趣領(lǐng)域ci中被選為中介人的次數(shù),用表示在時間段Tt社交網(wǎng)絡(luò)中u在興趣領(lǐng)域ci中被推薦給別人的次數(shù),用表示在時間段Tt社交網(wǎng)絡(luò)中自我節(jié)點ui在興趣領(lǐng)域c中選擇新朋友的次數(shù),為在Tt時間段自我節(jié)點ui偏好概率分布的先驗參數(shù)中與共同朋友zi相應(yīng)的先驗值,為在Tt時間段zi的朋友關(guān)系強度分布的先驗參數(shù)中與朋友節(jié)點yi相應(yīng)的先驗值,為在Tt時間段自我節(jié)點ui偏好概率分布的先驗參數(shù)中與共同朋友v相應(yīng)的先驗值,為在Tt時間段zi的朋友關(guān)系強度分布的先驗參數(shù)中與朋友節(jié)點v相應(yīng)的先驗值,為在Tt時間段自我節(jié)點ui的用戶興趣概率分布的先驗參數(shù)中與ci相應(yīng)的先驗值,為在Tt時間段興趣領(lǐng)域ci的用戶聲望概率分布的先驗參數(shù)中與ui相應(yīng)的先驗值,為在Tt時間段自我節(jié)點ui的用戶興趣概率分布的先驗參數(shù)中與c相應(yīng)的先驗值,為在Tt時間段興趣領(lǐng)域ci的用戶聲望概率分布的先驗參數(shù)中與u相應(yīng)的先驗值;根據(jù)以上得到的自我節(jié)點ui的中介偏好概率分布朋友關(guān)系強度分布和興趣偏好概率分布以及興趣領(lǐng)域ci的用戶聲望概率分布和上一輪迭代后計算所得到的中介偏好概率分布朋友關(guān)系強度分布興趣偏好概率分布和用戶聲望概率分布分別計算中介偏好概率分布變化量Δθ,朋友關(guān)系強度分布變化量Δφ,興趣偏好概率分布變化量Δχ和用戶聲望概率分布變化量Δψ:設(shè)定一個變化量閾值,該變化量閾值的取值范圍為0-0.1,若Δθ,Δφ,Δχ和Δψ同時小于該閾值,則進行步驟(10);若Δθ,Δφ,Δχ和Δψ中的任何一個大于或等于該閾值,則設(shè)并返回步驟(7);(10)對于自我節(jié)點ui與自我節(jié)點ui的新朋友節(jié)點yi,以及步驟(7)迭代過程中被采樣到的候選中介人zi,在自我節(jié)點ui的朋友關(guān)系傳播網(wǎng)絡(luò)的局部層L(ui)中添加一條邊zi→yi,一條邊zi→yi的權(quán)重等于zi被采樣作為自我節(jié)點ui與自我節(jié)點ui的新朋友節(jié)點yi的候選中介人的概率,即:在自我節(jié)點ui的朋友關(guān)系傳播網(wǎng)絡(luò)的全局層G(ui)中添加一條邊zi→yi,一條邊zi→yi的權(quán)重為:對于自我節(jié)點ui的朋友關(guān)系傳播網(wǎng)絡(luò)的局部層L(ui)中的每個節(jié)點zi,添加從自我節(jié)點ui到zi的一條邊ui→zi,一條邊ui→zi的權(quán)重為:(11)遍歷自我節(jié)點與朋友節(jié)點之間交互數(shù)據(jù)的所有時間段,得到社交網(wǎng)絡(luò)中每個自我節(jié)點ui的朋友關(guān)系傳播網(wǎng)絡(luò),得到的整體潛在朋友關(guān)系傳播網(wǎng)絡(luò)如圖2所示;(12)對于社交網(wǎng)絡(luò)中自我節(jié)點ui和自我節(jié)點ui的朋友關(guān)系傳播網(wǎng)絡(luò)的局部層L(ui)上的任意節(jié)點zi,用表示ui在交朋友過程中選擇zi作為其中介人的概率,初始化為0,對于社交網(wǎng)絡(luò)中自我節(jié)點ui和自我節(jié)點ui的朋友關(guān)系傳播網(wǎng)絡(luò)的全局層G(ui)上的任意節(jié)點vi,用表示ui在交朋友過程中選擇vi作為其新朋友的概率,初始化為0;(13)對于社交網(wǎng)絡(luò)中自我節(jié)點ui和自我節(jié)點ui的朋友關(guān)系傳播網(wǎng)絡(luò)的局部層L(ui)上的任意節(jié)點zi,按照如下公式更新ui在交朋友過程中選擇zi作為其中介人的概率其中表示在本輪迭代開始前的值,是自我節(jié)點ui的朋友關(guān)系傳播網(wǎng)絡(luò)的局部層L(ui)中邊z→zi的權(quán)重,是自我節(jié)點ui到自我節(jié)點ui的朋友關(guān)系傳播網(wǎng)絡(luò)的局部層L(ui)中的節(jié)點zi的邊ui→zi的權(quán)重,F(xiàn)(ui,zi)表示ui和zi的公共朋友集合,μ是取值為0-1的參數(shù);(14)對于社交網(wǎng)絡(luò)中自我節(jié)點ui,計算中介選擇概率變化量設(shè)定一個變化量閾值,該變化量閾值的取值范圍為0-0.1,若小于設(shè)定閾值,則進行步驟(15);若大于或等于設(shè)定閾值,則對于社交網(wǎng)絡(luò)中自我節(jié)點ui的朋友關(guān)系傳播網(wǎng)絡(luò)的局部層L(ui)上的任意節(jié)點zi,設(shè)并返回步驟(13);(15)對于社交網(wǎng)絡(luò)中自我節(jié)點ui和自我節(jié)點ui的朋友關(guān)系傳播網(wǎng)絡(luò)的全局層G(ui)上的任意節(jié)點vi,按照如下公式更新ui在交朋友過程中選擇vi作為其新朋友的概率其中表示在本輪迭代開始前的值,是自我節(jié)點ui的朋友關(guān)系傳播網(wǎng)絡(luò)的全局層G(ui)中邊v→vi的權(quán)重,是自我節(jié)點ui在交朋友過程中選擇vi作為其中介人的概率,F(xiàn)(vi)表示vi的朋友集合,μ是取值為0-1的參數(shù);(16)對于社交網(wǎng)絡(luò)中自我節(jié)點ui,計算朋友選擇概率變化量設(shè)定一個變化量閾值,該變化量閾值的取值范圍為0-0.1,若小于指定閾值,則進行步驟(17);若大于或等于指定閾值,則對于社交網(wǎng)絡(luò)中自我節(jié)點ui的朋友關(guān)系傳播網(wǎng)絡(luò)的全局層G(ui)上的任意節(jié)點vi,設(shè)并返回步驟(15);(16)對于社交網(wǎng)絡(luò)中自我節(jié)點ui,將自我節(jié)點ui的朋友關(guān)系傳播網(wǎng)絡(luò)的全局層G(ui)上的所有節(jié)點vi,按照與節(jié)點相對應(yīng)的值從大到小排序,作為向ui推薦的朋友列表。