本發(fā)明屬于社交網(wǎng)技術(shù)領(lǐng)域,涉及一種基于種子節(jié)點(diǎn)傳播的社交網(wǎng)絡(luò)間用戶身份識(shí)別方法。
背景技術(shù):
社交網(wǎng)絡(luò)間用戶身份識(shí)別是當(dāng)前研究熱點(diǎn),它是指識(shí)別同一用戶在不同社交網(wǎng)絡(luò)中的賬戶,尋找一種有效便捷的方法來(lái)解決該問(wèn)題在很多領(lǐng)域都有應(yīng)用價(jià)值。比如在網(wǎng)絡(luò)安全方面,垃圾郵件發(fā)送者侵入到每一個(gè)社交網(wǎng)絡(luò)并嚴(yán)重?fù)p壞了用戶的體驗(yàn),他們往往會(huì)在不同社交網(wǎng)站創(chuàng)建多個(gè)帳戶,而身份識(shí)別技術(shù)可以幫助標(biāo)記在不同社交網(wǎng)絡(luò)中相同的垃圾郵件發(fā)送者,我們只要在某一個(gè)網(wǎng)絡(luò)中識(shí)別出他們就可以將它們?cè)诟鱾€(gè)網(wǎng)絡(luò)的子賬戶都處理掉。同時(shí)該問(wèn)題在合并通訊錄,廣告推薦上都有著重要的意義。傳統(tǒng)上,身份識(shí)別方法都是基于字符串的屬性匹配來(lái)進(jìn)行的,通過(guò)計(jì)算各個(gè)屬性的字符串相似度以及多個(gè)屬性間組合的字符串相似度。這種方法簡(jiǎn)單直接,但是由于用戶和網(wǎng)站會(huì)保護(hù)個(gè)人隱私,因此我們常常很難獲取很多詳細(xì)的屬性,而且各個(gè)網(wǎng)站數(shù)據(jù)格式不統(tǒng)一,只依靠用戶屬性信息的進(jìn)行字符串匹配很難取得良好的效果。
本發(fā)明提出了基于種子節(jié)點(diǎn)的擴(kuò)張的社交網(wǎng)絡(luò)間用戶身份識(shí)別方法imp算法,該算法同時(shí)充分考慮了用戶的屬性信息,好友鏈接信息和社交行為的信息。(1)我們提出了用戶親密度概念用于衡量在同一網(wǎng)絡(luò)中兩個(gè)好友之間的親密程度,傳統(tǒng)的方法比如cn指數(shù),jc指數(shù),都是只考慮共同好友數(shù)目,而我們定義了鏈接親密度則充分考慮了不同的共同好友對(duì)兩個(gè)用戶的影響。(2)我們根據(jù)用戶平時(shí)在社交網(wǎng)絡(luò)中產(chǎn)生的各種社交行為提出了環(huán)境親密度,它能反映出用戶平時(shí)使用社交網(wǎng)絡(luò)的一些社交習(xí)慣以及常用的聯(lián)系人,以此更真實(shí)的描繪出用戶的社交行為親密度。(3)我們根據(jù)如果兩個(gè)人在現(xiàn)實(shí)中是朋友,那么他們?cè)诿總€(gè)社交網(wǎng)絡(luò)中也很可能是好友關(guān)系,因?yàn)樯缃痪W(wǎng)絡(luò)的關(guān)系經(jīng)常是現(xiàn)實(shí)關(guān)系的一個(gè)映射這一理論基礎(chǔ)。提出了一個(gè)基于種子節(jié)點(diǎn)傳播的算法。他可以不斷地訪問(wèn)種子節(jié)點(diǎn)的鄰居節(jié)點(diǎn),并把匹配的節(jié)點(diǎn)對(duì)加入到生成的種子節(jié)點(diǎn)集合中,并逐步的遍歷所有節(jié)點(diǎn)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明基于種子節(jié)點(diǎn)傳播,提出一種社交網(wǎng)絡(luò)間用戶身份識(shí)別方法。算法的理論基礎(chǔ)是如果兩個(gè)人在現(xiàn)實(shí)中是朋友,那么他們?cè)诿總€(gè)社交網(wǎng)絡(luò)中也很可能是好友關(guān)系,因?yàn)樯缃痪W(wǎng)絡(luò)的關(guān)系經(jīng)常是現(xiàn)實(shí)關(guān)系的一個(gè)映射。所以種子節(jié)點(diǎn)可以幫助我們識(shí)別它周圍的鄰居節(jié)點(diǎn)。如果一個(gè)節(jié)點(diǎn)和一個(gè)種子用戶節(jié)點(diǎn)是好友關(guān)系(相鄰節(jié)點(diǎn)),那么他更有可能被識(shí)別出來(lái)。而且這個(gè)節(jié)點(diǎn)在另一個(gè)網(wǎng)絡(luò)中的對(duì)應(yīng)賬戶應(yīng)該也與這個(gè)種子節(jié)點(diǎn)是好友關(guān)系,即使他們不是好友關(guān)系,他們的距離也不會(huì)太遠(yuǎn)。根據(jù)這個(gè)理論,我們從一個(gè)種子節(jié)點(diǎn)出發(fā),不斷選擇與他相鄰的節(jié)點(diǎn),通過(guò)使用邏輯回歸的方法,比較他們與另一個(gè)網(wǎng)絡(luò)間節(jié)點(diǎn)的屬性相似度與環(huán)境相似度,我們可以識(shí)別出一些節(jié)點(diǎn),并把他們加入到新生成的種子節(jié)點(diǎn)的集合中。隨著種子節(jié)點(diǎn)的擴(kuò)張,我們可以在種子節(jié)點(diǎn)周圍逐步地發(fā)現(xiàn)越來(lái)越多的匹配的節(jié)點(diǎn)對(duì)。
一種基于種子節(jié)點(diǎn)傳播的社交網(wǎng)絡(luò)間用戶身份識(shí)別方法,包括賬號(hào)選擇、賬號(hào)匹配和交叉驗(yàn)證,步驟如下:
(1)節(jié)點(diǎn)選擇階段:在種子節(jié)點(diǎn)相鄰的節(jié)點(diǎn)中選擇親密度最高的節(jié)點(diǎn)作為待匹配節(jié)點(diǎn);
首先提出三個(gè)概念,即節(jié)點(diǎn)的人氣值、節(jié)點(diǎn)間的鏈接親密度和社交親密度。
節(jié)點(diǎn)的人氣值是用來(lái)評(píng)估一個(gè)人在網(wǎng)絡(luò)中活躍度,簡(jiǎn)記為pp;節(jié)點(diǎn)u的人氣值表示為
其中,f(u)是節(jié)點(diǎn)u的好友集合,節(jié)點(diǎn)i是節(jié)點(diǎn)u的一個(gè)好友,即節(jié)點(diǎn)u的相鄰節(jié)點(diǎn);deg(i)表示節(jié)點(diǎn)i的好友數(shù)量;
節(jié)點(diǎn)間的鏈接親密度為在鏈接關(guān)系方面表示兩個(gè)好友之間熟悉程度,簡(jiǎn)記為pc;節(jié)點(diǎn)u和節(jié)點(diǎn)v的鏈接親密度表示為
其中,w是一個(gè)虛擬的節(jié)點(diǎn),且他的好友是節(jié)點(diǎn)u和節(jié)點(diǎn)v的所有共同好友,pp(u)和pp(v)表示節(jié)點(diǎn)u和節(jié)點(diǎn)v的人氣值;
節(jié)點(diǎn)間的社交親密度為在社交行為上表示兩個(gè)好友之間的熟悉程度,簡(jiǎn)記為spc;節(jié)點(diǎn)u和節(jié)點(diǎn)v的社交親密度表示為
其中,cuv代表著節(jié)點(diǎn)u和節(jié)點(diǎn)v的互動(dòng)次數(shù);f(v)表示的v的好友集合,j是v的一個(gè)好友,i是u的一個(gè)好友;
已知一個(gè)種子節(jié)點(diǎn)即預(yù)先知道的匹配的節(jié)點(diǎn)對(duì)集合ar,首先計(jì)算兩個(gè)網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)與他們最近的種子節(jié)點(diǎn)的親密度評(píng)分;接著將對(duì)兩個(gè)網(wǎng)絡(luò)中的節(jié)點(diǎn)按照元組的親密度得分降序排列得到一個(gè)待匹配節(jié)點(diǎn)集合s,并返回排在最前面的節(jié)點(diǎn)作為待匹配節(jié)點(diǎn)vselect;
(2)節(jié)點(diǎn)匹配階段:使用邏輯回歸的方法找到對(duì)應(yīng)的匹配節(jié)點(diǎn)
在得到步驟(1)節(jié)點(diǎn)賬號(hào)選擇過(guò)程中返回的待匹配節(jié)點(diǎn)vselect后,使用邏輯回歸方法進(jìn)行匹配;邏輯回歸模型是一個(gè)用于解決二分類問(wèn)題的分類器,其結(jié)果只能取兩個(gè)值0和1;因此,建立一個(gè)多社交網(wǎng)絡(luò)節(jié)點(diǎn)身份識(shí)別的分類器;其中分類器的輸入是一對(duì)不同社交網(wǎng)絡(luò)節(jié)點(diǎn)擁有的一些屬性特征,如果兩個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)是指向同一個(gè)真實(shí)節(jié)點(diǎn)的話,輸出為1,否則為0;將各個(gè)特征相似度作為分類器特征的輸入,得到該節(jié)點(diǎn)vselect對(duì)應(yīng)的匹配節(jié)點(diǎn)vmatched;
(3)交叉驗(yàn)證階段:通過(guò)交叉匹配算法驗(yàn)證步驟(2)得到的節(jié)點(diǎn)是否是最終的匹配節(jié)點(diǎn)
在步驟(2)得到匹配節(jié)點(diǎn)vmatched的結(jié)果后,采用交叉匹配算法進(jìn)行驗(yàn)證;交叉匹配算法的步驟為:在步驟(2)中得到一個(gè)待匹配節(jié)點(diǎn)vselect的匹配節(jié)點(diǎn)vmatched時(shí),再將vmatched作為步驟(2)的輸入,得出一個(gè)新的匹配結(jié)果vmatched',如果vmatched'與原來(lái)的待匹配節(jié)點(diǎn)vselect是同一個(gè)節(jié)點(diǎn),則匹配成功,將該結(jié)果(vselect,vmatched)加入到種子節(jié)點(diǎn)集合ar中,并返回步驟(1),重復(fù)步驟(1)-(3)直到所有待匹配節(jié)點(diǎn)集合s中的節(jié)點(diǎn)全部匹配完畢;反之,則失敗,將該vselect節(jié)點(diǎn)從待匹配節(jié)點(diǎn)集合s中移除,并返回步驟(1),重復(fù)步驟(1)-(3)直到所有待匹配節(jié)點(diǎn)集合s中的節(jié)點(diǎn)全部匹配完畢。
本發(fā)明的有益效果在于,提出了一種新的社交網(wǎng)絡(luò)間身份識(shí)別處理方法。該方法使用了一種種子節(jié)點(diǎn)擴(kuò)張的傳播模型,同時(shí)充分考慮了用戶的屬性信息,好友鏈接信息和社交行為的信息,有效的實(shí)現(xiàn)了社交網(wǎng)絡(luò)間身份識(shí)別方法。
附圖說(shuō)明
圖1是本發(fā)明方法的總體流程圖。
圖2是本發(fā)明方法的網(wǎng)絡(luò)結(jié)構(gòu)模型圖。
圖3是本發(fā)明方法和其他方法對(duì)社交網(wǎng)絡(luò)間用戶身份識(shí)別的實(shí)驗(yàn)結(jié)果。
圖4(1)是不同失衡率對(duì)召回率的影響結(jié)果圖。
圖4(2)是不同失衡率對(duì)精確度的影響結(jié)果圖。
圖4(3)是不同失衡率對(duì)f1值的影響結(jié)果圖。
具體實(shí)施方式
以下結(jié)合附圖和技術(shù)方案,進(jìn)一步說(shuō)明本發(fā)命的具體實(shí)施方式。
(1)關(guān)鍵定義
我們?cè)谄ヅ涞臅r(shí)候使用了多種信息,我們首先闡述下這些信息的具體內(nèi)容。
1)個(gè)人屬性相似度
個(gè)人屬性相似度是通過(guò)某種方式將各個(gè)屬性結(jié)合起來(lái)進(jìn)行計(jì)算,并使其結(jié)果落在[0,1]的區(qū)間內(nèi)。
我們將用戶屬性記為pi,pi=(f0,f1,...,fn),其中fj為用戶i的第j個(gè)屬性,將用戶i,j之間屬性的相似度用si;j表示,其中si;j=(s0,s1,...,sn)。我們使用vmn算法計(jì)算每種屬性的相似度得分?,F(xiàn)在我們決定用機(jī)器學(xué)習(xí)的方法來(lái)獲取屬性的相似度。
這是一個(gè)典型的二分類問(wèn)題,以區(qū)分正確的和不正確的匹配對(duì)。而我們的任務(wù)是選擇一個(gè)合理的分類器,得到每個(gè)屬性對(duì)相匹配的可能的概率值。在此分類模型,分類器用向量si;j作為輸入并輸出每個(gè)屬性對(duì)相匹配的概率值,即pas。我們定義為pas:
pas(pi,pj)=h(si,j)(a)
我們采用有監(jiān)督的矩陣分解的方法。這樣我們可以捕獲更多的信息,并獲得更好的結(jié)果。
目標(biāo)函數(shù)如下:
2)人氣值
人氣值是用來(lái)評(píng)估一個(gè)人在網(wǎng)絡(luò)中活躍度。我們用pp來(lái)表示,且
其中f(u)是節(jié)點(diǎn)u的好友集合,i是u的一個(gè)好友。deg(i)表示i的好友數(shù)量。
根據(jù)這個(gè)公式,我們可以發(fā)現(xiàn),如果你有一個(gè)好友,并且這個(gè)好友的好友數(shù)量很少,那么說(shuō)明你對(duì)這個(gè)好友很重要,而這個(gè)好友將會(huì)為你的人氣值增加很多的得分。而如果你的好友中有個(gè)人好友數(shù)量特別多,那么只能說(shuō)明這個(gè)好友很愛(ài)社交,并不能說(shuō)明你們的關(guān)系很重要,因此這個(gè)好友并不會(huì)為你的人氣值增加太多得分。
3)鏈接親密度
主要在鏈接關(guān)系方面表示兩個(gè)好友之間熟悉程度。我們簡(jiǎn)記為pc。且
其中w是一個(gè)虛擬的節(jié)點(diǎn),且他的好友是節(jié)點(diǎn)u,v的所有共同好友,如果u,v的共同具有很高的人氣值,w的人氣值也就不會(huì)太高,u,v也就有較低的親密度,而total則是節(jié)點(diǎn)u,v的全部好友數(shù)。
根據(jù)這個(gè)公式,我們發(fā)現(xiàn),如果u,v的共同好友都有較少的好友,則他們一定很熟悉,而如果他們的共同好友都有很多的好友,則他們并不一定很熟悉,更可能是通過(guò)一些很活躍的用戶成為好友。
4)社交親密度
主要在社交行為上表示兩個(gè)好友之間的熟悉程度。
當(dāng)我們使用社交網(wǎng)絡(luò)時(shí),我們看到別人發(fā)出的一條微博,并認(rèn)為把這條微博很好的時(shí)候,我們常會(huì)轉(zhuǎn)發(fā)或者評(píng)論這條微博來(lái)表達(dá)自己的意見(jiàn),又或者,當(dāng)我們寫出某條微博并強(qiáng)烈希望某人能看到時(shí),我們會(huì)使用@功能來(lái)提醒他閱讀。這些源自于兩個(gè)社交用戶的正常社交行為,因此我們可以通過(guò)這個(gè)來(lái)統(tǒng)計(jì)兩個(gè)好友之間在社交行為上的親密度。
我們簡(jiǎn)記為spc。且
其中cuv代表著用戶u和用戶v的互動(dòng)次數(shù)。f(v)表示的v的好友集合,j是v的一個(gè)好友,i是u的一個(gè)好友。
(2)具體流程
我們方法的最終目的在于準(zhǔn)確的找出盡可能多的匹配賬號(hào),本文中將種子節(jié)點(diǎn)的識(shí)別分解成逐步迭代求取的過(guò)程,而在每一步迭代的過(guò)程里,算法的計(jì)算過(guò)程又分解成賬號(hào)選擇,賬號(hào)匹配和交叉匹配的子步驟,每一個(gè)步驟里我們根據(jù)貪心策略選擇最優(yōu)結(jié)果作為子步驟的解,積累每次迭代得到的結(jié)果,從而最終得到結(jié)果集合。具體模型如圖2所示,aris,vis等上面5個(gè)點(diǎn)為社交網(wǎng)絡(luò)s的節(jié)點(diǎn),arit,vit等下面6個(gè)點(diǎn)為社交網(wǎng)絡(luò)t的節(jié)點(diǎn),其中aris,arit為種子節(jié)點(diǎn),是已知的已經(jīng)匹配好的節(jié)點(diǎn)。(v1s,v1t)(v3s,v3t)(v4s,v4t)為3組匹配的節(jié)點(diǎn),其余節(jié)點(diǎn)不匹配。
1)賬號(hào)選擇
算法每一次迭代運(yùn)行的第一個(gè)步驟就是兩個(gè)網(wǎng)絡(luò)中選擇出一個(gè)節(jié)點(diǎn),該節(jié)點(diǎn)有這樣一個(gè)特性,就是最有可能在另一個(gè)網(wǎng)絡(luò)中存在匹配的節(jié)點(diǎn)。選擇這個(gè)節(jié)點(diǎn)的規(guī)則基于以下兩點(diǎn)假設(shè):a.如果在不同社交網(wǎng)絡(luò)中的兩個(gè)節(jié)點(diǎn)的屬性有著較高的屬性相似度,那么它們很有可能是屬于同一個(gè)人的。b.一個(gè)節(jié)點(diǎn),如果他的關(guān)系環(huán)境評(píng)分比較高,那么它在另一個(gè)社交網(wǎng)中更有可能存在一個(gè)匹配節(jié)點(diǎn),所以他應(yīng)該被選中。
節(jié)點(diǎn)選擇算法過(guò)程就是基于這兩點(diǎn)假設(shè)產(chǎn)生出一個(gè)候選匹配節(jié)點(diǎn)。在節(jié)點(diǎn)選擇算法中,未匹配隊(duì)列包含的節(jié)點(diǎn),是在之前的迭代過(guò)程中被選中了但并未能成功匹配的節(jié)點(diǎn)。我們首先為兩個(gè)網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)計(jì)算他們的關(guān)系環(huán)境評(píng)分,基于這樣一個(gè)事實(shí),就是每一步計(jì)算的結(jié)果都會(huì)被保存,所以只有與最新產(chǎn)生的匹配節(jié)點(diǎn)的節(jié)點(diǎn)親密度需要被計(jì)算。首先為兩個(gè)網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)計(jì)算他們與最近的種子節(jié)點(diǎn)的親密度評(píng)分。接著算法將會(huì)對(duì)兩個(gè)網(wǎng)絡(luò)中的節(jié)點(diǎn)賬號(hào)集合,按照元組間的親密度得分降序排列,并返回得分最高的節(jié)點(diǎn)作為我們的待匹配節(jié)點(diǎn)vselect。
2)節(jié)點(diǎn)匹配
邏輯回歸模型是一個(gè)用于解決二分類問(wèn)題的分類器,其結(jié)果只能取兩個(gè)值0和1。因此,我們可以建立一個(gè)多社交網(wǎng)絡(luò)用戶身份識(shí)別的分類器。其中分類器的輸入是一對(duì)不同社交網(wǎng)絡(luò)節(jié)點(diǎn)擁有的一些屬性特征,如果兩個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)是指向同一個(gè)真實(shí)用戶的話,輸出為1,否則為0。0也稱為負(fù)類,1稱為正類。我們的算法也是是基于此模型。邏輯回歸基于假設(shè)函數(shù)hθ(x),即
方程式g稱為邏輯函數(shù)或sigmoid函數(shù)。x=(x0,x1,…,xn)是表示社交網(wǎng)絡(luò)中用戶的內(nèi)容屬性和行為屬性的n維向量。θ=(θ0,θ1,…,θn)也是n維向量,其表示對(duì)應(yīng)于x的參數(shù)。我們做出以下定義:x=(x0,x1,...,xn)是用戶的屬性向量,則如果hθ(x)=0表示這一對(duì)用戶不是指向同一真實(shí)用戶,否則hθ(x)=1表示這一對(duì)用戶是相互匹配的。顯然,hθ(x)∈{0,1},這完全符合需要。給定邏輯回歸模型和訓(xùn)練數(shù)據(jù),我們需要做的下一步是找到模型的適合θ。眾所周知的方法通過(guò)最大似然度擬合參數(shù)。對(duì)于邏輯回歸模型,損失函數(shù)j(θ)為
然后我們可以使用已經(jīng)標(biāo)記好的數(shù)據(jù)來(lái)訓(xùn)練模型,這樣問(wèn)題就轉(zhuǎn)化為找到最優(yōu)參數(shù)θ=(θ0,θ1,…,θn)使得損失函數(shù)j(θ)最小。梯度下降法是解決尋找最優(yōu)化參數(shù)問(wèn)題的一種很好的方法。首先,我們根據(jù)設(shè)置合適的初始參數(shù)矢量θ0,閾值ε,最大迭代步長(zhǎng)m和學(xué)習(xí)速率α。那么如果沒(méi)有達(dá)到閾值要求或者沒(méi)有達(dá)到最大步長(zhǎng)m,則迭代繼續(xù)。通過(guò)這種方法,我們將找到一個(gè)局部最優(yōu)解。我們可以改變初始參數(shù)矢量θ0,最終得到全局最優(yōu)解。
我們?cè)趯?shí)際實(shí)驗(yàn)中主要使用的特征是用戶屬性相似度,和節(jié)點(diǎn)環(huán)境相似度。其中環(huán)境相似度通過(guò)分別計(jì)算兩個(gè)要匹配的點(diǎn)到各個(gè)種子節(jié)點(diǎn)的親密度(包含鏈接親密度與社交親密度),再計(jì)算這些向量的cosine值,即可得到環(huán)境相似度。這一過(guò)程返回匹配節(jié)點(diǎn)vmatched。
3)交叉驗(yàn)證
考慮到種子節(jié)點(diǎn)的重要性,關(guān)系到接下來(lái)的識(shí)別過(guò)程,由于新的節(jié)點(diǎn)選擇和匹配過(guò)程,都需要參考已有的種子節(jié)點(diǎn),根據(jù)與已有種子節(jié)點(diǎn)的關(guān)系來(lái)進(jìn)行決定最終的評(píng)分。因此一個(gè)錯(cuò)誤的種子節(jié)點(diǎn)將會(huì)對(duì)接下來(lái)的迭代過(guò)程造成誤導(dǎo),并且這種壞的影響會(huì)不斷積累導(dǎo)致算法失敗。因此我們需要一個(gè)方法來(lái)保證我們每個(gè)產(chǎn)生的種子節(jié)點(diǎn)的準(zhǔn)確性。
在步驟2)得到匹配節(jié)點(diǎn)vmatched的結(jié)果后,我們對(duì)它采用交叉匹配算法進(jìn)行驗(yàn)證。交叉匹配算法的步驟為:在步驟2)中得到一個(gè)待匹配節(jié)點(diǎn)vselect的匹配節(jié)點(diǎn)vmatched時(shí),我們?cè)賹matched作為步驟2)的輸入,得出一個(gè)新的匹配結(jié)果vmatched',如果vmatched'與原來(lái)的待匹配節(jié)點(diǎn)vselect是同一個(gè)用戶,則匹配成功,將該結(jié)果(vselect,vmatched)加入到種子節(jié)點(diǎn)集合ar中,并返回步驟1),重復(fù)步驟1)-3)直到所有待匹配節(jié)點(diǎn)集合s中的節(jié)點(diǎn)全部匹配完畢。反之,則失敗,將該vselect節(jié)點(diǎn)從待匹配節(jié)點(diǎn)集合s中移除,并返回步驟1),重復(fù)步驟1)-3)直到所有待匹配節(jié)點(diǎn)集合s中的節(jié)點(diǎn)全部匹配完畢。
(3)實(shí)驗(yàn)結(jié)果
1)數(shù)據(jù)集
我們使用的數(shù)據(jù)集是由我們?cè)趖witter和facebook上爬取的數(shù)據(jù)集。我們之所以選擇這兩個(gè)社交網(wǎng)絡(luò)是因?yàn)樗麄兪侨蜃盍餍械膬蓚€(gè)社交網(wǎng)站,而且我們所收集到的信息都是在網(wǎng)上公開的,不涉及個(gè)人隱私的。在facebook上,總共有1433個(gè)用戶,并存在14021個(gè)鏈接,并發(fā)出了273098個(gè)消息。而在twitter上共有1012個(gè)用戶并存在8502個(gè)好友鏈接,并發(fā)出了153614個(gè)推文。需要注意的是,因?yàn)樵趂acebook中,好友關(guān)系是雙向的,而在twitter中,沒(méi)有好友關(guān)系,只有粉絲這種單向的鏈接關(guān)系,所以我們這里只選取了用戶間的雙向的鏈接關(guān)系,即兩個(gè)用戶“互粉”的情況。如果兩個(gè)用戶只是單向的粉絲關(guān)系,我們會(huì)對(duì)這種鏈接關(guān)系進(jìn)行忽略。并且這個(gè)數(shù)據(jù)集中總共存在357個(gè)相匹配的用戶。
樣本的數(shù)據(jù)集中每個(gè)用戶的屬性都只有3個(gè),即姓名,昵稱和個(gè)人網(wǎng)站的主頁(yè)。我們可以在facebook上收集到很多屬性信息,比如家鄉(xiāng),學(xué)校等信息,但是在twitter上,我們都能收集到的信息比較少,因此我們選擇了只收集這些兩個(gè)網(wǎng)站共有的信息。其中,在匹配姓名與昵稱時(shí),我們采用vmn算法計(jì)算相似度,而在匹配個(gè)人網(wǎng)站主頁(yè)時(shí),我們采用基于完全匹配的方法。
表1實(shí)驗(yàn)數(shù)據(jù)
2)評(píng)價(jià)指標(biāo)
我們使用傳統(tǒng)的召回率和精確度來(lái)評(píng)價(jià)我們的算法:
召回率:
精確度:
其中,tp指的是我們成功匹配到的節(jié)點(diǎn),fp指的是我們錯(cuò)誤匹配的節(jié)點(diǎn),fn指的是我們沒(méi)有發(fā)現(xiàn)的可以被匹配到的節(jié)點(diǎn)。
我們同時(shí)還使用f1-score進(jìn)行評(píng)價(jià)。它是ir(信息檢索)領(lǐng)域的常用的一個(gè)評(píng)價(jià)標(biāo)準(zhǔn),公式為:
3)對(duì)比算法
實(shí)驗(yàn)中我們采用5-折交叉驗(yàn)證的方法來(lái)進(jìn)行實(shí)驗(yàn),即輪流使用4組用作訓(xùn)練集剩下的1組用作測(cè)試集。在每次實(shí)驗(yàn)時(shí),我們隨機(jī)使用10組種子節(jié)點(diǎn)作為我們算法的起始。
在本實(shí)驗(yàn)中,我們主要采用4種算法與我們算法進(jìn)行對(duì)比,第一種是jla算法,該算法結(jié)合屬性與鏈接兩種信息,很好地解決了局部網(wǎng)絡(luò)的身份識(shí)別問(wèn)題,第二種算法是mobius算法,該算法可以看作是一種傳統(tǒng)的基于屬性匹配的算法,第三種算法是傳統(tǒng)的有監(jiān)督的算法,第四種算法則是imp算法的變種,分別是省去某些特征的精簡(jiǎn)版的imp算法。
(1)jla:它的全稱是jointlink-attributeuseridentityresolution,這是一種基于條件隨機(jī)域的一種算法。它結(jié)合了用戶信息屬性與鏈接屬性來(lái)解決一種局部網(wǎng)絡(luò)的中的身份識(shí)別。算法基于的假設(shè)是有一個(gè)不擅長(zhǎng)社交的好友(擁有較少好友)比有一個(gè)擅長(zhǎng)社交的好友更容易幫助定位用戶。
(2)mobius:它的全稱是modelingbehaviorforidentifyingusersacrosssites,它是一種傳統(tǒng)的基于屬性匹配的算法。它從屬性中提取出了多種特征,例如:語(yǔ)言模式,姓名前綴。因?yàn)樵谖覀兊臄?shù)據(jù)集中,所收集到的屬性數(shù)據(jù)只有姓名,昵稱和網(wǎng)址3種,所以一些更為復(fù)雜的基于屬性匹配的模型也很難取得更好的效果。
(3)監(jiān)督學(xué)習(xí)模型:對(duì)于身份識(shí)別問(wèn)題,監(jiān)督學(xué)習(xí)模型一直是一個(gè)很熱門的方法,但是之前的一些監(jiān)督學(xué)習(xí)模型在尋找特征時(shí),主要使用一些地理位置信息,文章主題信息等一些數(shù)據(jù)量很大并且是某些網(wǎng)站獨(dú)有的信息,這在我們的數(shù)據(jù)集上是很難獲取的,至于鏈接信息,他們主要使用的還是最基礎(chǔ)的cn,jc,aa等信息。根據(jù)以前的研究工作可知,訓(xùn)練集中匹配用戶和非匹配用戶的數(shù)量大致相等時(shí)效果已經(jīng)很好,因此我們?cè)O(shè)定了3種比例2:1,1:1和0.5:1,簡(jiǎn)記為sl0.5,sl1,sl2。
(4)不完整版的imp算法:我們會(huì)將我們的算法依次刪去一些部分,這樣與我們的算法相比,就可以看出每部分的重要作用。imp_1:不含有親密度的算法,只使用屬性和環(huán)境親密度來(lái)進(jìn)行匹配。imp_2:不含有環(huán)境親密度的算法,只使用屬性和親密度來(lái)進(jìn)行匹配。imp_3:只使用屬性相似度來(lái)進(jìn)行匹配,這個(gè)和傳統(tǒng)的方法比較類似。imp_4:不使用交叉驗(yàn)證方式,雖然在匹配的時(shí)候使用的信息都是完整的,但是因?yàn)樵谄ヅ溥^(guò)程中,沒(méi)有了一一對(duì)應(yīng)的限制,很可能導(dǎo)致多個(gè)用戶匹配到了某個(gè)用戶,這會(huì)使得生成的結(jié)果會(huì)有很多錯(cuò)誤的答案。
實(shí)驗(yàn)結(jié)果如表2所示,并使用召回率,精確度,f1-measure等評(píng)價(jià)標(biāo)準(zhǔn)來(lái)評(píng)判。
對(duì)比jla:從表中我們可以看出,jla的算法并沒(méi)有取得良好的效果,這是源于jla是應(yīng)用于ego-network這個(gè)小型網(wǎng)絡(luò)上的算法,當(dāng)網(wǎng)絡(luò)結(jié)構(gòu)稍微擴(kuò)大,數(shù)據(jù)就變得多了,jla提出所依據(jù)的理論基礎(chǔ)考慮的情況就不夠全面了,因此沒(méi)有取得較好的效果。
對(duì)比基礎(chǔ)的有監(jiān)督學(xué)習(xí)算法:可以看出有監(jiān)督模型效果并不十分理想,因?yàn)閿?shù)據(jù)較少,沒(méi)有時(shí)間地理位置等信息較為明確的數(shù)據(jù),而且他使用的連接信息只是最基礎(chǔ)的cn,jc,ra,在匹配時(shí),這些數(shù)值沒(méi)有顯著地差異來(lái)作為判定標(biāo)準(zhǔn),因此很難取得好的效果。
對(duì)比imp_1,imp_2,imp_3:與這3種自己算法的變種進(jìn)行比較,可以看出我們提出的親密度,環(huán)境親密度與社交因素的重要性。其中imp_3與mobius結(jié)果相似,也說(shuō)明我們的屬性特征較為簡(jiǎn)單,各種基于屬性的匹配方式的算法取得的效果大致相同。
對(duì)比imp_4:不使用交叉匹配的驗(yàn)證方式實(shí)現(xiàn)了最高的召回率,然而這卻是在以犧牲準(zhǔn)確率為代價(jià),雖然在匹配的時(shí)候使用的信息都是完整的,但是因?yàn)樵谄ヅ溥^(guò)程中,沒(méi)有了一一對(duì)應(yīng)的限制,很可能導(dǎo)致多個(gè)用戶匹配到了某個(gè)用戶,這會(huì)使得生成的結(jié)果會(huì)有很多錯(cuò)誤的答案。
表2實(shí)驗(yàn)結(jié)果
圖3展示了各個(gè)算法的匹配結(jié)果,可以發(fā)現(xiàn)和基準(zhǔn)算法相比,我們的算法不論是從召回率還是準(zhǔn)確度上都具有很大的優(yōu)勢(shì)。
4)改變失衡率對(duì)結(jié)果的影響
失衡率是指集合中不可匹配的節(jié)點(diǎn)與可匹配的節(jié)點(diǎn)的比例,在這輪實(shí)驗(yàn)中,我們每次都改變失衡率,并與jla和mobius兩種算法進(jìn)行比較。圖4展示了改變失衡率對(duì)匹配結(jié)果的影響,隨著失衡率的升高,匹配結(jié)果越來(lái)越糟糕,可以發(fā)現(xiàn),可匹配節(jié)點(diǎn)所占比重越大,我們?cè)饺菀椎玫胶玫慕Y(jié)果。