海量用戶的二度人脈關(guān)系MapReduce推薦方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供一種海量用戶的二度人脈關(guān)系MapReduce推薦方法及系統(tǒng),其中的方法包括在海量用戶的關(guān)注關(guān)系中,根據(jù)用戶的一度人脈關(guān)系通過兩步MapReduce的計(jì)算方法獲得用戶的二度人脈關(guān)系,并予以推薦。利用本發(fā)明提供的海量用戶的二度人脈關(guān)系MapReduce推薦方法及系統(tǒng),能夠解決重復(fù)查詢、推薦準(zhǔn)確性和提高計(jì)算效率的問題。
【專利說明】海量用戶的二度人脈關(guān)系MapReduce推薦方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及海量用戶人脈關(guān)系【技術(shù)領(lǐng)域】,更為具體地,涉及一種海量用戶的二度人脈關(guān)系MapReduce推薦方法及系統(tǒng)。
【背景技術(shù)】
[0002]隨著SNS (Social Networking Services,社會(huì)性網(wǎng)絡(luò)服務(wù))社區(qū)的興起,海量的用戶關(guān)注關(guān)系已經(jīng)產(chǎn)生。SNS社區(qū)擁有的海量用戶關(guān)注關(guān)系,是一筆寶貴的數(shù)據(jù)財(cái)富,如何把用戶的一度人脈轉(zhuǎn)化為價(jià)值是SNS社區(qū)面臨的問題。同時(shí)在SNS社區(qū)運(yùn)營過程中,一度人脈趨于穩(wěn)定,基于海量用戶的一度人脈關(guān)系,分析用戶的二度人脈關(guān)系,結(jié)合SNS社區(qū)的垂直業(yè)務(wù),開發(fā)出更加有競(jìng)爭(zhēng)力的應(yīng)用。這樣既可以給用戶帶來新鮮感,引導(dǎo)用戶加深對(duì)用戶二度人脈的認(rèn)識(shí),又可以延長用戶使用社區(qū)的粘性,延長用戶使用社區(qū)的時(shí)間,為社區(qū)帶來更多的流量和利潤,使用戶與價(jià)值得到統(tǒng)一和轉(zhuǎn)化。
[0003]面對(duì)用戶的關(guān)注關(guān)系,挖掘用戶的二度人脈是社區(qū)需要解決的問題,圖1示出了現(xiàn)有處理用戶的二度人脈的流程,如圖1所示,
[0004]SllO:開始;
[0005]S120:海量用戶關(guān)注關(guān)系,AB, BC ;
[0006]S130:查找用戶A關(guān)注的用戶集合SETl ;
[0007]S140:查詢用戶結(jié)合SETl的關(guān)注者集合SET2 ;
[0008]S150:SET2中去掉用戶A已經(jīng)關(guān)注的用戶;
[0009]S160:用戶A的二度人脈關(guān)系集合即為SET2 ;
[0010]S170:統(tǒng)計(jì)二度人脈的間接推薦次數(shù);
[0011]S180:結(jié)束。
[0012]面對(duì)海量用戶數(shù)據(jù)量的計(jì)算,通常采用的處理手法就是并行計(jì)算。上述圖1的處理方法存在反復(fù)查詢的情況,如:用戶A和用戶B都關(guān)注了用戶C,則在計(jì)算用戶A和用戶B的二度人脈時(shí),C都是間接關(guān)注,都需要去查詢用戶C的關(guān)注者。反復(fù)的查詢導(dǎo)致并行計(jì)算的效率并不能并行提高,處理效率也很低。
[0013]SNS社區(qū)在計(jì)算二度人脈關(guān)系時(shí),不僅僅需要提高大數(shù)據(jù)計(jì)算的效率,同時(shí)在進(jìn)行二度人脈關(guān)系推薦時(shí),一度人脈需要考慮推薦權(quán)重;若一度人脈的粉絲數(shù)目比較多、用戶比較活躍,則一度人脈的推薦權(quán)重應(yīng)該相應(yīng)的提高。
[0014]為了解決上述的問題,需要提供一種新的計(jì)算方法,避免重復(fù)查詢,提高處理效率;同時(shí)在考慮一度人脈關(guān)系的時(shí)候,綜合考慮一度人脈的粉絲數(shù)、活躍度,給予相應(yīng)的二度人脈推薦權(quán)重。
【發(fā)明內(nèi)容】
[0015]鑒于上述問題,本發(fā)明的目的是提供一種海量用戶的二度人脈關(guān)系MapReduce推薦方法及系統(tǒng),以解決重復(fù)查詢、推薦準(zhǔn)確性和提高計(jì)算效率的問題。[0016]根據(jù)本發(fā)明的一方面,提供一種海量用戶的二度人脈關(guān)系MapReduce推薦方法,在海量用戶的關(guān)注關(guān)系中,根據(jù)用戶的一度人脈關(guān)系通過兩步MapReduce的計(jì)算方法獲得用戶的二度人脈關(guān)系,并予以推薦;其中,
[0017]在海量用戶的關(guān)注關(guān)系中,若用戶A關(guān)注用戶B,用戶C關(guān)注用戶A,則用戶B為用戶A的好友,用戶C為用戶A的粉絲;并且,若用戶C通過用戶A推薦關(guān)注用戶B,則用戶B為用戶C的二度人脈,用戶A為用戶C和用戶B之間的間接關(guān)注者;用戶C通過在海量用戶的關(guān)注關(guān)系中的除用戶A的其他用戶關(guān)注用戶B,則其他用戶為用戶C和用戶B的間接關(guān)注者;并且,
[0018]在兩步MapReduce的計(jì)算方法中的第一步MapReduce的計(jì)算方法中,在海量用戶的關(guān)注關(guān)系中,根據(jù)用戶A的一度人脈,將用戶A的好友與用戶A的粉絲合并歸類,獲得用戶A的好友集合和用戶A的粉絲集合,同時(shí)并統(tǒng)計(jì)用戶A的粉絲的數(shù)量;其中,
[0019]用戶B在用戶A的好友集合中,用戶C在用戶A的粉絲集合中;并且,
[0020]在海量用戶的關(guān)注關(guān)系中,根據(jù)其他用戶的一度人脈,獲得其他用戶的好友集合和其他的用戶的粉絲集合,同時(shí)并統(tǒng)計(jì)其他用戶的粉絲數(shù)量;
[0021]在兩步MapReduce的計(jì)算方法中的第二步MapReduce的計(jì)算方法中,在海量用戶的關(guān)注關(guān)系中,用戶A的粉絲集合通過用戶A推薦關(guān)注用戶A的好友集合,用戶A的粉絲集合的二度人脈為用戶A的好友集合,其中,用戶A為用戶A的粉絲集合中的用戶C和用戶A的好友集中的用戶B的間接關(guān)注者; 并且,
[0022]根據(jù)用戶A的粉絲的數(shù)量獲得用戶A的推薦權(quán)重值,根據(jù)其他用戶的粉絲的數(shù)量獲得其他用戶的推薦權(quán)重值;
[0023]將用戶A的推薦權(quán)重值和其他用戶的推薦權(quán)重值進(jìn)行合并從而獲得最大的推薦權(quán)重值,并統(tǒng)計(jì)用戶C和用戶B之間的間接關(guān)注者的數(shù)量,其中,用戶C和用戶B之間的間接關(guān)注者的數(shù)量為用戶A和其他用戶的數(shù)量之和;
[0024]將用戶B推薦給所述用戶C,同時(shí)將最大的推薦權(quán)重值以及所有間接關(guān)注者推薦給用戶C,以完成用戶的二度人脈關(guān)系推薦。
[0025]其中,在用戶A的粉絲集合通過用戶A推薦關(guān)注用戶A的好友集合的過程中,
[0026]若在用戶A的粉絲集合中有用戶B,同時(shí)在用戶A的好友集合中也有用戶B,則用戶B的二度人脈不能為用戶B本身;
[0027]若用戶A的粉絲集合的用戶C已經(jīng)關(guān)注用戶A的好友集合中的用戶B,則用戶C的二度人脈不能為用戶B。
[0028]其中,用戶A根據(jù)用戶A的粉絲數(shù)量采用LogNormal函數(shù)擬合的方式獲得用戶A的推薦權(quán)重值;
[0029]LogNormal函數(shù)擬合公式為:
[0030]
【權(quán)利要求】
1.一種海量用戶的二度人脈關(guān)系MapReduce推薦方法,包括: 在海量用戶的關(guān)注關(guān)系中,根據(jù)用戶的一度人脈關(guān)系通過兩步MapReduce的計(jì)算方法獲得用戶的二度人脈關(guān)系,并予以推薦;其中, 在所述海量用戶的關(guān)注關(guān)系中,若用戶A關(guān)注用戶B,用戶C關(guān)注用戶A,則用戶B為用戶A的好友,用戶C為用戶A的粉絲;并且,若用戶C通過用戶A推薦關(guān)注用戶B,則用戶B為用戶C的二度人脈,用戶A為用戶C和用戶B之間的間接關(guān)注者;若用戶C通過在所述海量用戶的關(guān)注關(guān)系中除用戶A之外的其他用戶關(guān)注用戶B,則其他用戶為用戶C和用戶B的間接關(guān)注者;并且, 在所述兩步MapReduce的計(jì)算方法中的第一步MapReduce的計(jì)算方法中,在所述海量用戶的關(guān)注關(guān)系中,根據(jù)所述用戶A的一度人脈,將用戶A的好友與用戶A的粉絲合并歸類,獲得用戶A的好友集合和用戶A的粉絲集合,同時(shí)并統(tǒng)計(jì)用戶A的粉絲的數(shù)量; 其中,所述用戶B在所述用戶A的好友集合中,所述用戶C在所述用戶A的粉絲集合中;并且,在所述海量用戶的關(guān)注關(guān)系中,根據(jù)所述其他用戶的一度人脈,獲得所述其他用戶的好友集合和所述其他用戶的粉絲集合,同時(shí)并統(tǒng)計(jì)所述其他用戶的粉絲數(shù)量; 在所述兩步MapReduce的計(jì)算方法中的第二步MapReduce的計(jì)算方法中,在所述海量用戶的關(guān)注關(guān)系中,所述用戶A的粉絲集合通過所述用戶A推薦關(guān)注所述用戶A的好友集合,所述用戶A的粉絲集合的二度人脈為所述用戶A的好友集合,其中,所述用戶A為所述用戶A的粉絲集合中的所述用戶C和所述用戶A的好友集中的所述用戶B的間接關(guān)注者;并且, 根據(jù)所述用戶A的粉絲的數(shù)量獲得所述用戶A的推薦權(quán)重值,根據(jù)所述其他用戶的粉絲的數(shù)量獲得所述其他用戶的推薦權(quán)重值; 將所述用戶A的推薦權(quán)重值和所述其他用戶的推薦權(quán)重值進(jìn)行合并從而獲得最大的推薦權(quán)重值,并統(tǒng)計(jì)所述用戶C和所述用戶B之間的間接關(guān)注者的數(shù)量,其中,所述用戶C和所述用戶B之間的間接關(guān)注者的數(shù)量為所述用戶A和所述其他用戶的數(shù)量之和; 將所述用戶B推薦給所述用戶C,同時(shí)將所述最大的推薦權(quán)重值以及所有間接關(guān)注者推薦給所述用戶C,以完成所述用戶的二度人脈關(guān)系推薦。
2.如權(quán)利要求1所述的海量用戶的二度人脈關(guān)系MapReduce推薦方法,其中,在所述用戶A的粉絲集合通過所述用戶A推薦關(guān)注所述用戶A的好友集合的過程中, 若在所述用戶A的粉絲集合中有所述用戶B,同時(shí)在所述用戶A的好友集合中也有所述用戶B,則所述用戶B的二度人脈不能為所述用戶B本身; 若所述用戶A的粉絲集合的所述用戶C已經(jīng)關(guān)注所述用戶A的好友集合中的所述用戶B,則所述用戶C的二度人脈不能為所述用戶B。
3.如權(quán)利要求1所述的海量用戶的二度人脈關(guān)系MapReduce推薦方法,其中, 所述用戶A根據(jù)所述用戶A的粉絲數(shù)量采用LogNormal函數(shù)擬合的方式獲得所述用戶A的推薦權(quán)重值; 所述LogNormal函數(shù)擬合公式為:
4.一種海量用戶的二度人脈關(guān)系MapReduce推薦系統(tǒng), 所述推薦系統(tǒng),用于在海量用戶的關(guān)注關(guān)系中,根據(jù)用戶的一度人脈關(guān)系通過第一步MapReduce計(jì)算單元和第二步MapReduce計(jì)算單元獲得用戶的二度人脈關(guān)系,并予以推薦;其中, 在所述海量用戶的關(guān)注關(guān)系中,若用戶A關(guān)注用戶B,用戶C關(guān)注用戶A,則用戶B為用戶A的好友,用戶C為用戶A的粉絲;并且,若用戶C通過用戶A推薦關(guān)注用戶B,則用戶B為用戶C的二度人脈,用戶A為用戶C和用戶B之間的間接關(guān)注者;若用戶C通過在所述海量用戶的關(guān)注關(guān)系中除用戶A之外的其他用戶推薦關(guān)注用戶B,則所述其他用戶為所述用戶C和所述用戶B的間接關(guān)注者; 所述第一步MapReduce計(jì)算單元,用于在所述海量用戶的關(guān)注關(guān)系中,根據(jù)所述用戶A的一度人脈,將用戶A的好友與用戶A的粉絲合并歸類,獲得用戶A的好友集合和用戶A的粉絲集合,同時(shí)并統(tǒng)計(jì)用戶A的粉絲的數(shù)量;其中, 所述用戶B在所述用戶A的好友集合中,所述用戶C在所述用戶A的粉絲集合中;并且,在所述海量用戶的關(guān)注關(guān)系中,根據(jù)所述其他用戶的一度人脈,獲得所述其他用戶的好友集合和所述其他用戶的粉絲集合,同時(shí)并統(tǒng)計(jì)所述其他用戶的粉絲數(shù)量; 所述第二步MapReduce計(jì)算單元包括推薦權(quán)重值獲取單元和二度人脈推薦單元;其中, Reduce所述推薦權(quán)重值獲取單元,用于獲取用戶的推薦權(quán)重值;其中,在所述海量用戶的關(guān)注關(guān)系中,所述用戶A的粉絲集合通過所述用戶A推薦關(guān)注所述用戶A的好友集合,所述用戶A的粉絲集合的二度人脈為所述用戶A的好友集合,其中,所述用戶A為所述用戶A的粉絲集合中的所述用戶C和所述用戶A的好友集中的所述用戶B的間接關(guān)注者;并且,根據(jù)所述用戶A的粉絲的數(shù)量獲得所述用戶A的推薦權(quán)重值,根據(jù)所述其他用戶的粉絲的數(shù)量獲得所述其他用戶的推薦權(quán)重值; 所述二度人脈推薦單元,用于完成用戶的二度人脈推薦;其中,將所述用戶A的推薦權(quán)重值和所述其他用戶的推薦權(quán)重值進(jìn)行合并從而獲得最大的推薦權(quán)重值,并統(tǒng)計(jì)所述用戶C和所述用戶B之間的間接關(guān)注者的數(shù)量,其中,所述用戶C和所述用戶B之間的間接關(guān)注者的數(shù)量為所述用戶A和所述其他用戶的數(shù)量之和; 將所述用戶B推薦給所述用戶C,同時(shí)將所述最大的推薦權(quán)重值以及所有間接關(guān)注者推薦給所述用戶C,以完成所述用戶的二度人脈推薦。
5.如權(quán)利要求4所述的海量用戶的二度人脈關(guān)系MapReduce推薦系統(tǒng),其中,所述推薦權(quán)重值獲取單元在所述用戶A的粉絲集合通過所述用戶A推薦關(guān)注所述用戶A的好友集合的過程中, 若在所述用戶A的粉絲集合中有所述用戶B,同時(shí)在所述用戶A的好友集合中也有所述用戶B,則所述用戶B的二度人脈不能為所述用戶B本身; 若所述用戶A的粉絲集合的所述用戶C已經(jīng)關(guān)注所述用戶A的好友集合中的所述用戶B,則所述用戶C的二度人脈不能為所述用戶B。
6.如權(quán)利要求4所述的海量用戶的二度人脈關(guān)系MapReduce推薦系統(tǒng),其中,在所述推薦權(quán)重獲取單元中, 所述用戶A根據(jù)所述用戶A的粉絲數(shù)量采用LogNormal函數(shù)擬合的方式獲得所述用戶A的推薦權(quán)重值; 所述LogNormal函數(shù)擬合公式為:
【文檔編號(hào)】G06F17/30GK103714135SQ201310704592
【公開日】2014年4月9日 申請(qǐng)日期:2013年12月18日 優(yōu)先權(quán)日:2013年12月18日
【發(fā)明者】張延鳳, 張霞, 趙立軍, 任英杰 申請(qǐng)人:東軟集團(tuán)股份有限公司