本發(fā)明涉及互聯(lián)網(wǎng)的信息推薦
技術(shù)領(lǐng)域:
,具體涉及一種用于社交軟件的朋友推薦方法。
背景技術(shù):
:隨著社會(huì)的發(fā)展,互聯(lián)網(wǎng)技術(shù)與在線社交網(wǎng)絡(luò)迅速發(fā)展,各種社交軟件層出不窮。其中,朋友推薦是社交軟件中的一項(xiàng)重要的功能,許多社交軟件依靠為用戶(hù)推薦好友來(lái)吸引用戶(hù)、增強(qiáng)用戶(hù)對(duì)社交軟件的依賴(lài)性。目前,用于社交軟件上朋友推薦的方法很多。比如譚鐵牛等在《一種基于社會(huì)關(guān)系主題模型的社交網(wǎng)絡(luò)朋友推薦方法》中通過(guò)獲取用戶(hù)社交關(guān)系文檔和行為模式為用戶(hù)推薦潛在的朋友。劉躍文等在《一種基于地理位置變更的移動(dòng)社交網(wǎng)絡(luò)好友推薦方法及系統(tǒng)》中通過(guò)獲取用戶(hù)的地理位置為用戶(hù)推薦潛在的好友。王建民等在《通過(guò)分析用戶(hù)主動(dòng)交友意愿進(jìn)行朋友推薦的方法》通過(guò)計(jì)算有向鄰接矩陣h,區(qū)分用戶(hù)的積極朋友和消極朋友,據(jù)此為每一個(gè)用戶(hù)推薦新的朋友。王建民等還在《一種社交網(wǎng)絡(luò)中的基于朋友關(guān)系傳播的朋友推薦方法》通過(guò)為每個(gè)自我節(jié)點(diǎn)創(chuàng)建潛在朋友關(guān)系傳播網(wǎng)絡(luò)來(lái)進(jìn)行好友推薦。以上文獻(xiàn)提出的技術(shù)方案雖然產(chǎn)生了很多用戶(hù)想接受的推薦,但是這些方案都沒(méi)有考慮到所推薦好友的記錄時(shí)間因素。例如某一學(xué)生開(kāi)始研究生的學(xué)習(xí)生活,但是社交軟件卻一直在給他推薦小學(xué)、初中的好友,這可能不符合該學(xué)生的實(shí)際需要,因?yàn)樗赡芨有枰谘芯可秶鷥?nèi)的好友推薦。技術(shù)實(shí)現(xiàn)要素:為了克服現(xiàn)有技術(shù)方案朋友推薦方法的不考慮記錄時(shí)間因素、時(shí)效性較差的不足,本發(fā)明提出一種提高朋友推薦模型的時(shí)效性的基于記錄時(shí)間差的朋友推薦方法。本發(fā)明解決其技術(shù)問(wèn)題所采用的技術(shù)方案是:一種基于記錄時(shí)間差的朋友推薦方法,所述推薦方法包括以下步驟:步驟1:根據(jù)好友添加時(shí)間計(jì)算記錄時(shí)間差列表,過(guò)程如下:步驟1.1:當(dāng)用戶(hù)添加好友i時(shí),記錄初始時(shí)間t1,保存在時(shí)間表格第一列中;步驟1.2:每個(gè)月月底產(chǎn)生一次新的推薦,將每月底作為推薦時(shí)間t2,保存在時(shí)間表格第二列中;步驟1.3:通過(guò)計(jì)算,將記錄時(shí)間差t3保存在時(shí)間表格第三列中,計(jì)算按照公式(1)計(jì)算:t3=t2-t1(1)步驟1.4:根據(jù)所述記錄時(shí)間差t3,對(duì)好友進(jìn)行分類(lèi),若t3>上限閾值th,不考慮此好友;若0<t3≤上限閾值th,執(zhí)行步驟2;步驟2:計(jì)算滿(mǎn)足0<t3≤上限閾值th條件的好友的共同鄰居指標(biāo)ki,所述共同鄰居指標(biāo)ki按照公式(2)計(jì)算:ki=|s(a)∩s(i)|(2)其中,s(a)代表用戶(hù)a的鄰居集合,s(i)代表好友i的鄰居集合;步驟3:根據(jù)所述記錄時(shí)間差t3和共同鄰居指標(biāo)ki計(jì)算推薦指數(shù)yi,過(guò)程如下:步驟3.1:若0<t3≤下限閾值tl,推薦指數(shù)yi按照公式(3)進(jìn)行計(jì)算:其中,β1與tl的關(guān)系按照公式(4)進(jìn)行計(jì)算:β1=3tl-2(4)步驟3.2:若下限閾值tl<t3≤上限閾值th,推薦指數(shù)yi按照公式(5)進(jìn)行計(jì)算:其中,β2與tl的關(guān)系按照公式(6)進(jìn)行計(jì)算:β2=2tl-1(6)步驟4:根據(jù)推薦指數(shù)yi的數(shù)值,對(duì)好友的共同鄰居進(jìn)行推薦,推薦次序按照推薦指數(shù)yi從大到小排序。進(jìn)一步,所述步驟2中,所述共同鄰居指標(biāo)ki是對(duì)網(wǎng)絡(luò)中某一用戶(hù)a,定義其鄰居集合為s(a),則用戶(hù)a和好友i鄰居集合的交集就定義為它們共同鄰居集合。本發(fā)明的技術(shù)構(gòu)思為:基于記錄時(shí)間差對(duì)用戶(hù)產(chǎn)生新的好友推薦。本發(fā)明綜合考慮記錄時(shí)間差和共同鄰居指標(biāo),通過(guò)調(diào)研確定指標(biāo)權(quán)重,對(duì)用戶(hù)產(chǎn)生新的好友推薦。本發(fā)明的有益效果主要表現(xiàn)在:在好友推薦方法中考慮時(shí)間因素的影響,排除了時(shí)間過(guò)于久遠(yuǎn)而產(chǎn)生的沒(méi)有意義的推薦,增大最近半年添加好友產(chǎn)生推薦的權(quán)重,使產(chǎn)生的好友推薦具有現(xiàn)實(shí)意義。附圖說(shuō)明圖1是本發(fā)明朋友推薦方法流程示意圖。圖2是共同鄰居集合示意圖。具體實(shí)施方式下面結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步描述。參照?qǐng)D1和圖2,一種基于記錄時(shí)間差的朋友推薦方法,所述推薦方法包括以下步驟:步驟1:根據(jù)好友添加時(shí)間計(jì)算記錄時(shí)間差列表,計(jì)算過(guò)程如下:步驟1.1:當(dāng)用戶(hù)添加好友i時(shí),記錄初始時(shí)間t1,保存在時(shí)間表格第一列中;步驟1.2:每個(gè)月月底產(chǎn)生一次新的推薦,將每月底30號(hào)作為推薦時(shí)間t2,保存在時(shí)間表格第二列中;步驟1.3:通過(guò)計(jì)算,將記錄時(shí)間差t3保存在時(shí)間表格第三列中,計(jì)算按照公式(1)計(jì)算:t3=t2-t1(1)本發(fā)明實(shí)例中,采集的好友時(shí)間數(shù)據(jù)如表1:表1步驟1.4:根據(jù)所述記錄時(shí)間差t3,對(duì)好友進(jìn)行分類(lèi)。若t3>上限閾值th(取1825),不考慮此好友;若0<t3≤上限閾值th(取1825),執(zhí)行步驟2。步驟2:計(jì)算滿(mǎn)足0<t3≤上限閾值th(取1825)條件的好友的共同鄰居指標(biāo)ki,所述共同鄰居指標(biāo)ki按照公式(2)計(jì)算:ki=|s(a)∩s(i)|(2)其中,s(a)代表用戶(hù)a的鄰居集合,s(i)代表好友i的鄰居集合。計(jì)算得到的共同鄰居數(shù)如表2:好友iki好友iki好友312好友127好友49好友1314好友514好友149好友63好友1516好友710好友166好友88好友174好友95好友183好友1012好友1912好友1112好友207表2步驟3.1:若0<t3≤下限閾值tl(取183),推薦指數(shù)yi按照公式(3)進(jìn)行計(jì)算:其中,β1與tl(取183)的關(guān)系按照公式(4)進(jìn)行計(jì)算:β1=3tl-2(4)步驟3.2:若下限閾值tl(取183)<t3≤上限閾值th(取1825),推薦指數(shù)yi按照公式(5)進(jìn)行計(jì)算:其中,β2與tl(取183)的關(guān)系按照公式(6)進(jìn)行計(jì)算:β2=2tl-1(6)計(jì)算得到的推薦指數(shù)如表3:好友i推薦指數(shù)yi好友i推薦指數(shù)yi好友37.475好友127.499好友45.807好友1311.898好友58.809好友1411.046好友62.713好友1515.393好友76.929好友1613.171好友85.948好友1714.738好友94.201好友1824.58好友108.626好友1945.371好友118.874好友20113.7表3步驟4:根據(jù)推薦指數(shù)yi的數(shù)值,對(duì)好友的共同鄰居進(jìn)行推薦,推薦次序按照推薦指數(shù)yi從大到小排序。好友推薦次序如表4:表4。當(dāng)前第1頁(yè)12