樊 茜,許洪波,梁 英
(1. 中國科學院計算技術研究所 網(wǎng)絡數(shù)據(jù)科學與技術重點實驗室,北京 100190;2. 中國科學院大學,北京 100049)
當前,全球超過15億人使用社交網(wǎng)絡,全球社交網(wǎng)絡的月活躍用戶數(shù)量超過20億。在社交網(wǎng)絡中,同一人擁有多個賬號的情況十分常見。某人在同一網(wǎng)站注冊多個賬號時,常用的賬號為主賬號,而其余賬號稱為馬甲賬號,簡稱馬甲。馬甲功能中一部分是負面的,例如,利用不同賬號為自己所開的討論沖人氣或推文;在主賬號已有固定的朋友圈或形成固定形象時,使用馬甲反對甚至詆毀他人或發(fā)表另類見解;注冊成千上萬個賬號來發(fā)布不良信息、散布謠言、炒作或者通過賣等級高的馬甲賬號獲益等等。這樣的行為既浪費網(wǎng)絡資源,又影響網(wǎng)絡的安全性和公平性。
社交網(wǎng)站的后臺實名注冊實施困難,目前在國內還沒有完全普及;即使網(wǎng)站后臺是基于實名制的,但是網(wǎng)絡言論在網(wǎng)站前臺大都是匿名的,不易知道網(wǎng)絡上的言論所屬網(wǎng)絡用戶的真實身份。當用戶在社交網(wǎng)絡中發(fā)表不和諧言論,例如,造謠、誹謗他人、宣傳不良思想等危害民眾甚至國家安全的狀況發(fā)生時,將社交網(wǎng)絡中屬于同一人的賬號(馬甲)進行同一性認定,有利于協(xié)助政府相關部門打擊犯罪行為。
目前,基于語言風格進行文本挖掘識別作者身份的研究工作受到廣泛關注[1],但缺少針對網(wǎng)絡賬號的馬甲關系識別方面的研究。由于網(wǎng)絡中的賬號相關信息少、噪音大,真實用戶信息難以獲取,使得對社交網(wǎng)絡中賬號馬甲關系的標注十分困難,現(xiàn)有研究中缺少能夠有效驗證其所提出辨識方法準確性的權威數(shù)據(jù)與方法。如何更好的實現(xiàn)網(wǎng)絡文本的挖掘,并充分利用網(wǎng)絡賬號的其他相關數(shù)據(jù),以及如何有效驗證方法準確性等問題,都有待解決。
本文利用某論壇泄露的賬號信息數(shù)據(jù),確定了一個已知相互馬甲關系的賬號集合,并提出了一種基于支持向量機,將社交網(wǎng)絡中屬于同一用戶的賬號的關系進行辨識的方法。通過研究人物的語言風格,挖掘論壇帖子文本特征,結合賬號的回復關系特征,組合賬號構造特征權值向量空間表示,利用支持向量機判別賬號的馬甲關系。實驗結果證明這種方法能夠有效辨識賬號的馬甲關系。
本文后續(xù)組織結構如下: 第2部分主要介紹文本挖掘領域中作者識別方面的相關工作,第3部分詳細描述本文提出的方法,第4部分是實驗結果與分析,最后是總結。
社交網(wǎng)絡上與賬號相關的數(shù)據(jù)中文本數(shù)據(jù)最為豐富[2],通過挖掘文本的語言風格進行作者識別的研究工作在國外很早以前就有了,但中文文本在這方面的相關研究較少,尤其在網(wǎng)絡文本上的研究更少。
識別作者的關鍵問題是從其已知作品中統(tǒng)計出能代表其獨特風格的識別特征,例如,詞匯總量及其特色詞匯構成的數(shù)量比例、標點符號的使用頻率、詞語頻率、句子長度、句式的使用分布、辭格的運用、聲調和韻律分布等。 根據(jù)文本是否規(guī)范,基于語言風格的研究方法有很大的差異。
對于文學作品等規(guī)范文本,單詞是常用的文本挖掘的特征,但在語言風格分析中往往會結合其他的特征。王少康等[3]基于對句長的統(tǒng)計,構建段長的序列組合分析寫作風格,利用不同作者寫作時在文章語句節(jié)奏控制方面的特點,對10位作家進行識別分類,平均準確率約為60%;孫曉明等[4]基于停用詞使用的規(guī)律,使用文章中虛詞頻率分布作為特征,通過模式匹配,使用SVM和K-means對13位作家進行識別,正確率達93.58%;日本學者金明哲[5]基于詞性組合的統(tǒng)計分析,使用字符為單位的unigram和詞性為單位的n-gram作為特征,其正判別率可達95%。
相比文學作品,網(wǎng)絡文本的特點是大多為短文本,語法不嚴謹,并且有許多的網(wǎng)絡用語。短文本的特點是樣本的特征稀疏,如何更好的利用短文本為數(shù)不多的特征是一個難點。網(wǎng)絡用語的不規(guī)范使得流行語及奇異短語日異增多,識別流行詞語或避免非正式語言的干擾也是一個難點。針對短文本的特征稀疏問題,武曉春[6]等基于語義擴展文本,取得了一定效果,但語言風格更多是形式上的分類,語義擴展的假設并不是很合理。DeVel等人[7]從電子郵件中抽取了語言特征和結構特征作為作者的寫作特征,采用支持向量機等機器學習方法,對電子郵件作者身份進行分類識別,但該方法基于電子郵件的相關格式特征,不能普遍應用到社交網(wǎng)絡中的文本。Abbas等[8]為有效監(jiān)控互聯(lián)網(wǎng)上的非法信息,提出運用文體學的方法對網(wǎng)絡論壇發(fā)布信息的作者身份進行識別,抽取詞匯、句法、結構、內容等特征,采用SVM和決策樹分類算法,該方法只能區(qū)分論壇中發(fā)布恐怖信息的不法分子和普通用戶兩種類別,不能區(qū)分到具體真實用戶。
除了文本數(shù)據(jù),社交網(wǎng)絡中賬號之間的回復關系也具有很好的可利用價值。在現(xiàn)有的研究中,利用賬號之間回復關系的研究工作主要用于社區(qū)發(fā)現(xiàn)、傳播分析等領域?;谏缃痪W(wǎng)絡中賬號之間的特性相似度與交互信息[11],例如,興趣、觀點的相似度、互相關注關系、發(fā)言回復關系等構建的網(wǎng)絡進行社區(qū)發(fā)現(xiàn),可以用于發(fā)現(xiàn)共同興趣的社會團體,識別水軍團伙,對惡意水軍進行防范等。但是,社區(qū)發(fā)現(xiàn)相較本文的賬號馬甲關系辨識是宏觀層面的賬號關系聚類的工作,不能夠準確地發(fā)掘單個賬號的馬甲關系。
目前,在社交網(wǎng)絡中辨識賬號的相關研究主要是基于文本挖掘賬號的語言風格。在社交網(wǎng)絡的文本挖掘分類任務中,經(jīng)常面臨網(wǎng)絡語言不規(guī)范、文本長度短、無固定格式特征、待分類類別多等問題。而現(xiàn)有的對文本語言風格的研究工作多數(shù)基于文學作品文本和有格式的網(wǎng)絡文本,例如,電子郵件,對于論壇帖子這種無格式的短文本的處理方法較少,文獻[6]基于電子郵件的特殊格式進行作者識別研究的方法不適用論壇帖子。而在分類學習方面,前人工作的分類類別大多只有幾十個,若將本文涉及的社交網(wǎng)絡中的賬號所屬的真實用戶作為類別進行分類,類別數(shù)量則會達到幾百甚至數(shù)千,很容易導致分類算法運行效率降低,分類效果變差。為此,本文提出了基于賬號組合的馬甲辨識方法。
針對網(wǎng)絡文本挖掘中面臨的短文本質量低的缺點,我們提取賬號發(fā)言文本的n-gram與賬號之間的回復關系頻次,兩組特征相結合進行賬號馬甲辨識,一方面最大程度提高文本特征的質量,另一方面加入賬號之間的關系特征,擴展賬號在文本內容之外的信息。
由于網(wǎng)絡文本的長度短,為保證文本特征的數(shù)量,適合選擇字、詞、詞組作為特征,不適合選擇段落、句子作為特征。如果選擇字表示文本特征,會丟失原始文本的大量信息;選擇詞組雖然會保留一些字、詞丟失的有用信息,但使得特征向量更加稀疏,增加了分類的難度。因此我們采用分詞后的詞語和字n-gram作為特征,在保證文本特征數(shù)量的同時,保留了文本作者大量語言風格相關的信息。由于網(wǎng)絡文本中的語法大多不嚴謹,并且夾雜許多網(wǎng)絡用語,如果單純利用中文分詞的方式提取詞語特征,由于分詞性能十分依賴所用的詞典的規(guī)模和質量,需要不斷更新補充詞典來保證分詞效果,而采用n-gram特征提取方式可以不用考慮隨語言領域和時間的變化而不斷對分詞詞典進行修正擴充的工作。因而n-gram更適合作為網(wǎng)絡文本的特征。另外,賬號之間的回復關系是在作者身份識別領域,社交網(wǎng)絡中賬號特有的數(shù)據(jù),能夠體現(xiàn)有馬甲關系的賬號共同回復他人的規(guī)律。將文本特征與關系特征綜合能夠更好的體現(xiàn)賬號的特性。
針對馬甲關系辨別存在待分類類別多的問題,本文將賬號兩兩組合構成新樣本,而不是直接將單個賬號作為分類實例,這樣做的好處是可以將多類別分類問題轉化成二類分類問題(詳見3.3節(jié)分析),大幅簡化分類算法的訓練與測試的復雜度,也可以避免因為類別太多造成無法得到有較大區(qū)分度的分類結果。
本文提出的馬甲關系辨識方法主要步驟如下:
步驟一 提取賬號的發(fā)言文本特征與回復關系特征,統(tǒng)計相應的頻次,得到賬號的特征權重向量;
步驟二 基于賬號兩兩組合,得到賬號組合的特征權重向量;
步驟三 由已知馬甲關系的賬號構成的賬號組合構建訓練樣本,利用SVM算法訓練得到相應的分類模型;
步驟四 測試含有待辨識馬甲關系的賬號組合,由賬號組合的類別確定賬號之間的馬甲關系。
下面重點介紹上述步驟中的特征提取方法以及基于賬號組合的向量空間構造方法。
3.2.1 網(wǎng)絡文本特征提取
(1)
3.2.2 賬號回復關系特征提取
3.2.3 文本特征與關系特征融合
利用機器學習算法解決社交網(wǎng)絡中賬號馬甲關系的辨識問題即是解決對所有賬號的分類問題,目標是將擁有馬甲關系的一組賬號分為同一個類別,沒有馬甲關系的賬號不分在同一類別。由此可知,如果將單個賬號作為分類實例,分類問題即為將賬號所屬的真實用戶作為類別進行分類的問題,待分類類別極多,遠遠超出常用分類算法待分類類別的適用數(shù)量。因此,本文提出將賬號兩兩組合構成新樣本,通過對賬號組合類別的判斷,確定兩個賬號之間的關系是馬甲或非馬甲。這樣做的好處是可以將多類別分類問題轉化成二類分類問題,大幅簡化分類算法訓練與測試的復雜度,也可以避免因為類別太多造成無法得到有較大區(qū)分度的分類結果。
社交網(wǎng)絡中賬號分為有馬甲的賬號和沒有馬甲的賬號,而有馬甲的賬號分別屬于各自馬甲組。定義賬號組合pair為賬號i與j構成的賬號組合。對于一個賬號組合pair,可歸納為5種類型。
1) 賬號i與j均有馬甲,且屬于同一馬甲組;
2) 賬號i與j均有馬甲,但屬于不同馬甲組;
3) 賬號i有馬甲,賬號j無馬甲;
4) 賬號i無馬甲,賬號j有馬甲;
5) 賬號i與j均無馬甲。
在新樣本的向量構成的向量空間模型中進行分類,賬號組合類型1)設為正例,賬號組合類型2)和3)設為負例,賬號組合類型4)和5)不參與計算,其中負例的可用樣本數(shù)量比正例數(shù)量多很多,為了保證樣本數(shù)量的平衡,實驗時對負例的可用樣本進行隨機篩選,使正負兩例的樣本數(shù)基本一致。
從社交網(wǎng)絡中賬號發(fā)言的數(shù)據(jù)中提取特征,利用賬號組合構造向量,然后利用SVM算法訓練分類模型。預測時,判斷一個未知賬號idx是否與某個賬號集合S={s1,s2,…,sn}中的賬號有馬甲關系的步驟如下。
1) 提取該賬號idx在社交網(wǎng)絡中的文本數(shù)據(jù)和關系數(shù)據(jù),使用前述特征提取方法得到相關特征以及特征權重;
2) 使用賬號組合向量空間構造方法,將賬號集合S中的所有賬號{s1,s2,…,sn}分別與該未知賬號idx組合,構成pair
3) 基于訓練得到的支持向量機分類模型,測試步驟2得到的每一組向量,判斷其中的各個賬號組合pair
本文的實驗數(shù)據(jù)是從某中文論壇上采集的帖子,由于該論壇數(shù)據(jù)龐大,僅采集了2005年12月到2006年2月之間“雜談”板塊內的所有帖子以及相關信息,包括發(fā)帖文本、回復關系、發(fā)帖時間等。
同時從網(wǎng)絡上收集了該論壇賬號信息三千多萬條(根據(jù)該論壇賬號信息數(shù)據(jù)庫泄露出的文件整理),從中找到有發(fā)言文本數(shù)據(jù)的賬號19 883個。在有文本的賬號中,人工比對注冊郵箱地址和密碼,將注冊郵箱地址一致或地址相似密碼相同的賬號標注為一個馬甲組。一共整理出1 693個賬號,分為551個馬甲組,每個馬甲組中包含2到33個賬號不等。
本文采用的實驗結果評價指標為準確率(precision,P)、召回率(recall,R)和F1值。首先計算每一類別的評價指標,為了表示分類器在全部類別上的綜合分類性能,有宏平均和微平均兩種方法。本文使用宏平均進行實驗結果評價,即對所有類別的單項評價指標求取平均值。對賬號組合所屬類別的分類結果計算如式(4)~(6)所示。
其中,式(4)、(5)中a代表正例賬號組合被判別正確的組合個數(shù),式(4)中b代表負例賬號組合被判成正例的組合個數(shù),式(5)中c代表正例賬號組合被判成負例的組合個數(shù)。
4.3.1 基于賬號組合的馬甲辨識方法的分類結果
提取賬號發(fā)言內容和關系特征,按照3.3節(jié)的方法,將屬于同一馬甲組的兩個賬號的組合向量作為正例,不屬于同一馬甲組的兩個賬號和一個賬號有馬甲而另一賬號無馬甲的組合向量作為負例,隨機篩選負例樣本使其數(shù)量與正例保持一致(即正負例樣本數(shù)量相當),利用liblinear(SVM分類器)進行訓練和分類測試。實驗數(shù)據(jù)中共有8 080個樣本,每個樣本是由一對賬號組成的,其中4 040個正例如,4 040個負例。由于負例的4 040個樣本是從所有負例賬號組合中隨機采樣出來的,為了避免數(shù)據(jù)采樣的偶然性導致實驗結果出現(xiàn)偏差,我們采用5次實驗取平均值的方法,每次實驗隨機選擇4 040個負例樣本跟4 040個正例樣本組成測試集,進行十折交叉驗證,5次實驗的結果如表1所示。
表1 基于賬號組合的馬甲辨識方法的分類結果
從表1可以看出,5次實驗的平均準確率、召回率、F1值等各項評價指標均超過80%。實驗同時表明,本文方法在不同的隨機數(shù)據(jù)上都有較優(yōu)的表現(xiàn),實驗結果能充分驗證本文提出的方法的有效性。究其原因,雖然賬號組合并沒有增加兩個賬號各自的特征,但以賬號組合為單位計算分類相似度,會顯著放大兩個賬號中相同特征的影響,因此,兩個賬號相同的特征越多,其組合被判為正例的可能性越大,這樣的賬號組合是馬甲的可能性也就越大。
需要指出的是,如果不采用賬號組合構造向量的方法,而直接使用原始的單個賬號構造向量,則需要分類551個馬甲類別,如此多的類別對現(xiàn)有的多類分類算法是很大的挑戰(zhàn),基本都很難得到與我們的算法準確率相當?shù)膶嶒灲Y果。
4.3.2 特征有效性分析
為了測試不同特征的有效性,我們對文本分詞后的詞語、字bigram、回復關系特征及其組合進行了實驗對比,跟前面相同,每組實驗均對負例樣本進行5次隨機采樣取結果平均值,對比結果如表2所示。
表2 使用不同特征的實驗結果對比
把表2的結果轉換成圖1所示的直方圖,可以直觀地看出本文選用的字bigram和回復關系兩種特征較已知的其他方法只選用一種特征或選用分詞后的詞語的分類效果更優(yōu),準確率、召回率、F1值各項評價指標均超過80%。實驗結果表明,文本特征中選用字bigram比文本分詞后的詞語效果更好;融合了社交網(wǎng)絡關系特征與文本特征的方法比單用文本特征的效果更好,原因是有馬甲的賬號大部分都很活躍,而活躍的賬號與其他賬號有較多的回復關系,即有豐富的關系特征,因此融合關系特征后使有馬甲的賬號組合更容易被識別,提升了整體的實驗效果。由此表明本文選用的字bigram更適合有不規(guī)范用語、網(wǎng)絡流行新詞的網(wǎng)絡文本,提出的融合關系與文本特征的方法更適合進行馬甲關系識別。
圖1 使用不同特征的實驗結果對比
4.3.3 不同分類方法的對比分析
為了進一步驗證本文的方法在辨識馬甲應用上的有效性,我們將基于賬號組合的馬甲辨識方法與經(jīng)典的分類方法如邏輯回歸法、樸素貝葉斯(NB算法)方法進行了實驗對比,每組實驗同樣對負例樣本進行5次隨機采樣取結果平均值,實驗結果如表3所示。
表3 使用不同分類算法的實驗結果對比
從表3可以看出,SVM算法比邏輯回歸和樸素貝葉斯分類算法在辨識馬甲時效果更好。由于論壇短文本的稀疏性導致NB算法的概率估計偏差嚴重,因而效果相對最差,實驗結果的準確率等評價指標遠遠低于SVM算法。邏輯回歸法表現(xiàn)比較穩(wěn)定,效果不錯,但仍低于SVM算法。
本文主要研究了社交網(wǎng)絡中賬號之間馬甲關系的辨識方法。在特征選擇方面,利用賬號的發(fā)帖文本,選擇適合網(wǎng)絡文本的特征,并結合回復關系的信息,從中挖掘出馬甲賬號之間的相似性。在向量構造方面,通過將賬號兩兩組合構建新的向量空間,克服了多數(shù)分類算法不能有效對多類別數(shù)據(jù)進行分類的缺陷。此外,在社交網(wǎng)絡中還有一些信息是很有價值的,例如,發(fā)言時間、馬甲賬號的上網(wǎng)作息規(guī)律等,將在后續(xù)的工作中加以考慮。
[1] Nirkhi S, Dharaskar R V. Comparative study of Authorship Identification Techniques for Cyber Forensics Analysis[J]. International Journal of Advanced Computer Science and Applications, 2013,4(5): 32-35.
[2] Zheng R, Li J, Chen H, et al. A framework for authorship identification of online messages: Writing‐style features and classification techniques[J]. Journal of the American Society for Information Science and Technology, 2006, 57(3): 378-393.
[3] 王少康, 董科軍, 閻保平. 基于語句節(jié)奏特征的作者身份識別研究[J]. Computer Engineering, 2011, 37(9):4-5.
[4] 孫曉明, 馬少平. 基于寫作風格的作者識別[C].中國中文信息學會第五屆全國會員代表大會暨成立二十周年學術會議論文集. 北京: 清華大學出版社.2001.
[5] 金明哲. 中文文章的作者識別[R]. 第二屆中國社會語言學國際學術研討會暨中國社會語言學會成立大會, 2003.
[6] 武曉春, 黃萱菁, 吳立德. 基于語義分析的作者身份識別方法研究[J]. 中文信息學報, 2006, 20(6): 61-68.
[7] De Vel O, Anderson A, Corney M, et al. Mining e-mail content for author identification forensics [J]. ACM Sigmod Record, 2001, 30(4): 55-64.
[8] Abbasi A, Chen H. Applying authorship analysis to extremist-group web forum messages [J]. Intelligent Systems, IEEE, 2005, 20(5): 67-75.
[9] Yu B. An evaluation of text classification methods for literary study [J]. Literary and Linguistic Computing, 2008, 23(3): 327-343.
[10] Diederich J, Kindermann J, Leopold E, et al. Authorship attribution with support vector machines[J]. Applied intelligence, 2003, 19(1-2): 109-123.
[11] Ge R, Ester M, Gao B J, et al. Joint cluster analysis of attribute data and relationship data: The connected k-center problem, algorithms and applications [J]. ACM Transactions on Knowledge Discovery from Data (TKDD), 2008, 2(2): 7.