麻豆精品无码国产在线播放,国产亚洲精品成人AA片新蒲金,国模无码大尺度一区二区三区,神马免费午夜福利剧场

基于網絡爬蟲和利用機器學習的社交網站虛假粉絲檢測方法與流程

文檔序號:11918945閱讀:381來源:國知局
基于網絡爬蟲和利用機器學習的社交網站虛假粉絲檢測方法與流程

本發明涉及一種虛假粉絲檢測方法,尤其涉及一種基于網絡爬蟲和利用機器學習的社交網站虛假粉絲檢測方法,屬于數據處理技術領域。



背景技術:

現在世界各地的人們依靠在線社交網絡(OSN)分享知識、意見和經驗,尋求信息和資源,拓展人脈關系,但在社交網站中,用戶的行為并不一定都是真實的。由于現在使用在線社交網絡的用戶非常之多,社交網站在對普通用戶提供價值的同時,也成為各種形式的被利用獲利的平臺。例如:社交網站上的大量用戶信息是廣告推廣者和進行詐騙的人所希望獲取的;一些希望擴大自己賬戶的社交參與度的人會利用機器人進行點贊或轉發;在社交網站上擁有很高人氣的人則希望通過大量的虛假賬戶來提升自己賬戶的被關注數量,進而顯示自己在社交網站的人氣。一些企業希望通過社交網站中用戶的詳細信息來提取對自己有價值的業務信息,人們希望用真實人的信息來引導自己的數據庫。但是20%到40%之間的Facebook賬戶是偽造的,推特和LinkedIn也面臨不同程度的假賬戶問題。不管創造假賬號的特殊動機是什么,大量的假賬戶的存在,都會破壞該社交網絡的價值。例如,如果用戶開始懷疑個人資料信息的真實性,就會削弱網絡的可信度。他們也可能會對網絡廣告收入產生負面影響,因為如果他們中的許多人都不是真正的人,廣告主可能會質疑他們對一定數量的用戶支付的價格。一般而言,任何參與活動的網絡社交賬戶如果沒有反應用戶的真正興趣,則可以被視為虛假的社交賬戶。

由于社交網絡粉絲數量在廣告推廣、娛樂節目等方面擁有巨大的經濟價值,在利益驅動之下,當前社交網絡系統中出現了大量的異常用戶,俗稱“僵尸粉”。異常用戶的存在既有損社交網絡價值,也違背誠信社會之原則,造成了惡劣的社會影響。僵尸粉是指一些長期沒有動態、也沒有活動記錄,不參與任何社交活動,同一IP地址申請多個微博賬號的用戶,也稱為虛假粉絲或死粉絲。一般都用在商業領域發揮他的用處的,有商家會向需要增加自己粉絲數量的用戶出售這樣的僵尸粉。這樣看起來用戶的粉絲很多,受到很多微博用戶的關注,但其實都只是根本沒有人管理的虛假賬戶,這種虛假粉絲從不對該用戶發布的信息進行評論、轉發,除了增加粉絲的數字沒有任何實際意義。微博上的虛假粉絲,通過花錢就可以買到很多的微博用戶的“關注”,通常是由系統自動產生的惡意注冊用戶,并不是由真是的人所使用的賬戶,因此實現僵尸粉的精確檢測進而刪除僵尸粉對微博具有重要意義。

目前檢測社交網站虛假粉絲的方法也有一些研究,但是現有已經被提出的檢測方法大多依賴于在線社交活動中具有相似行為模式的用戶組進行行為聚類的方法,現有的檢測方法對于數據來源大多依賴社交網站的安全團隊所提供的數據,或與其他組織合作得到數據來源。對數據規模的要求很大,可能需要太多的集群來產生有用的結果,同時需要很大的計算量,運算復雜,處理速度慢,尤其是一些聚類算法對孤立分布的點或記錄錯誤的數據敏感,孤立分布的點或記錄錯誤的數據很容易干擾運算過程,導致聚類效果不佳,另外,現在的聚類算法對于不同的輸入數據的順序會導致不同的結果,以上弊端都會導致對虛假粉絲的檢測不準確,很容易出現遺漏的現象。因此,如何準確的大規模檢測并分類篩選出虛假粉絲和異常賬戶已經成為一個亟待解決的技術難題。



技術實現要素:

本發明的目的是針對現有取微博或其它社交網絡存在大量的虛假粉絲,現有的檢測識別方法準確度不佳,運算量很大,運算復雜,處理速度慢,而且對孤立分布的點或記錄錯誤的數據敏感,數據在運算過程中很容易受干擾的缺陷和不足,現提供一種運算量較小,處理速度快,數據在運算過程中不容易受干擾,對虛假粉絲檢測精確度高的基于網絡爬蟲和利用機器學習的社交網站虛假粉絲檢測方法。

為實現上述目的,本發明的技術解決方案是:基于網絡爬蟲和利用機器學習的社交網站虛假粉絲檢測方法,其特征在于包括以下步驟:

a、首先利用爬蟲框架構建一個可以自動獲取微博或其它社交網絡用戶數據的網絡爬蟲,并定義了相應的item字段用于保存所希望提取的結構性數據;

b、然后網絡爬蟲自動獲取微博或其它社交網絡數據,提取所選定的特征值,網絡爬蟲從一個初始的URL開始,獲取網頁中所需要提取的數據,再提取新的URL進入下一輪爬取,直至滿足停止要求;

c、在提取的數據中選取出特征字段,得到訓練樣本和測試樣本,并對訓練樣本進行人工標記;

d、建立一個采用經典的SVM算法的分類器,隨機從訓練樣本中抽取多組數據導入到分類器中,讓分類器進行機器學習,形成訓練分類模型,完成訓練后的分類模型能夠對測試樣本進行預測分類結果;

e、再利用測試樣本對分類模型進行測試,得到交叉驗證精度,通過不斷調整分類模型的各設定參數來達到最佳的交叉驗證精度;

f、最后利用最佳分類模型對微博或其它社交網絡用戶進行檢測,在預測分類結果時輸出分類結果,也就檢測區分出了虛假粉絲和正常用戶。

所述d步驟中SVM算法如下:假設有N個訓練樣本{(x1,y1),(x2,y2),…,(xN,yN)},x是N維向量,而yi∈{-1,+1}是樣本的標簽,分別代表兩個分類的類別,需要用這些被標記過的訓練樣本去訓練一個分類器:

f(x)=sgn(wTx+b) (3-1)

其中w表示系數向量,x表示n維向量,y表示樣本的標簽,b表示偏置量;當wTx+b結果小于0的時候,分類器輸出-1;當wTx+b結果大于0的時候,分類器輸出+1,g(x)=wTx+b=0就是我們要尋找的分類超平面。

所述b步驟中采用模擬登陸的方式,通過一個已知賬戶發送登錄的cookie,從而用網絡爬蟲實現微博或其它社交網絡賬戶的模擬登陸。

所述c步驟中的特征字段為5個以上,特征字段包括微博數、關注數、粉絲數、微博ID、用戶ID、微博內容、點贊數以及轉載數。

所述d步驟中分類模型為支持向量機模型。

本發明的有益效果是:

1.本發明構建一個可以自動獲取微博或其它社交網絡用戶數據的網絡爬蟲,能夠抓取特定網頁上的數據,同時還具有模擬登陸功能,還可以設置爬取深度,使得所獲取的信息量能夠控制在所需要的范圍內。

2.本發明從網絡爬蟲提取的數據中選取出特征字段,得到訓練樣本和測試樣本,并采用經典的SVM算法的分類器,隨機從訓練樣本中抽取多組數據導入到分類器中,讓分類器進行機器學習,形成訓練分類模型,再利用測試樣本對分類模型進行測試,通過不斷調整分類模型的各設定參數來達到最佳的交叉驗證精度。

3、本發明不再依賴于社交網站的安全團隊所提供的數據,能夠直接獲取微博或其它社交網絡用戶數據,并利用機器學習的方式訓練形成分類模型,最后利用最佳分類模型對微博或其它社交網絡用戶進行檢測,對虛假粉絲的檢測精確度得到了極大地提高,即使對于一些偽裝很高級的虛假賬戶,也能達到較高的檢測識別精度,而且運算量較小,處理速度快,數據在運算過程中不容易受干擾,特別適合于海量數據處理。

附圖說明

圖1是本發明網絡爬蟲的工作流程圖。

圖2是本發明SVM算法分類超平面示意圖。

圖3是本發明SVM算法中支持向量與H1和H2的距離圖示。

圖4是采用本發明網絡爬蟲運行截圖。

具體實施方式

以下結合附圖說明和具體實施方式對本發明作進一步的詳細描述。

參見圖1至圖4,本發明的基于網絡爬蟲和利用機器學習的社交網站虛假粉絲檢測方法,包括以下步驟:

a、首先利用爬蟲框架構建一個可以自動獲取微博或其它社交網絡用戶數據的網絡爬蟲,并定義了相應的item字段用于保存所希望提取的結構性數據;

b、然后網絡爬蟲自動獲取微博或其它社交網絡數據,提取所選定的特征值,網絡爬蟲從一個初始的URL開始,獲取網頁中所需要提取的數據,再提取新的URL進入下一輪爬取,直至滿足停止要求;

c、在提取的數據中選取出特征字段,得到訓練樣本和測試樣本,并對訓練樣本進行人工標記;

d、建立一個采用經典的SVM算法的分類器,隨機從訓練樣本中抽取多組數據導入到分類器中,讓分類器進行機器學習,形成訓練分類模型,完成訓練后的分類模型能夠對測試樣本進行預測分類結果;

e、再利用測試樣本對分類模型進行測試,得到交叉驗證精度,通過不斷調整分類模型的各設定參數來達到最佳的交叉驗證精度;

f、最后利用最佳分類模型對微博或其它社交網絡用戶進行檢測,在預測分類結果時輸出分類結果,也就檢測區分出了虛假粉絲和正常用戶。

所述d步驟中SVM算法如下:假設有N個訓練樣本{(x1,y1),(x2,y2),…,(xN,yN)},x是N維向量,而yi∈{-1,+1}是樣本的標簽,分別代表兩個分類的類別,需要用這些被標記過的訓練樣本去訓練一個分類器:

f(x)=sgn(wTx+b) (3-1)

其中w表示系數向量,x表示n維向量,y表示樣本的標簽,b表示偏置量;當wTx+b結果小于0的時候,分類器輸出-1;當wTx+b結果大于0的時候,分類器輸出+1,g(x)=wTx+b=0就是我們要尋找的分類超平面。

所述b步驟中采用模擬登陸的方式,通過一個已知賬戶發送登錄的cookie,從而用網絡爬蟲實現微博或其它社交網絡賬戶的模擬登陸。

所述c步驟中的特征字段為5個以上,特征字段包括微博數、關注數、粉絲數、微博ID、用戶ID、微博內容、點贊數以及轉載數。

所述d步驟中分類模型為支持向量機模型。

本發明采用了可以自動獲取微博或其它社交網絡用戶數據的網絡爬蟲,也就是scrapy網絡爬蟲,網絡爬蟲能夠抓取特定網頁上的數據,可以采用Python語言編寫的網絡爬蟲框架,它具有輕量級、簡單輕巧的特點。網絡爬蟲是一個速度快、效率高的數據爬取框架,可以很快地速度爬取網站并完成從網頁中提取結構化數據,用戶只需對其中的幾個模塊進行操作就可以開發出一個功能強大的網絡爬蟲。對待爬取的網頁進行分析是網絡爬蟲的關鍵之一,各種各樣的網頁有著復雜的HTML結構,很多的網頁信息是由JavaScript動態生成,這使得對網頁結構的分析更加的重要。由于不同的網頁有不同的結構,因此在爬取網頁前,要對網頁的結構進行深入的分析,找到需要提取的有用信息。

首先利用爬蟲框架構建一個可以自動獲取微博或其它社交網絡用戶數據的網絡爬蟲,并定義了相應的item字段用于保存所希望提取的結構性數據,item中定義相應的item字段用于保存所希望提取的結構性數據。例如,本發明中定義了9個item字段,用于用HTML中提取到的微博數、關注數、粉絲數、微博ID、用戶ID、微博內容、點贊數和轉載數。網絡爬蟲自動獲取微博或其它社交網絡數據,提取所選定的特征值,網絡爬蟲從一個初始的URL開始,獲取網頁中所需要提取的數據,再提取新的URL進入下一輪爬取,直至滿足停止要求,參見附圖1。網絡爬蟲從一個初始的URL開始,Scrapy Engine將初始網頁交給Scheduler模塊,調度器將組裝成的request傳遞給下載器對網頁的HTML進行下載。下載模塊將下載好的網頁HTML傳遞給爬蟲進行分析,根據爬蟲分析出的兩種不同的結果,進行不同的處理。如果是一個需要使用爬蟲進一步抓取的URL,爬蟲會將其傳回調度器,重復上面的步驟生成新的request,如果得到了希望提取的數據,則會被送到item和pipeline模塊,這兩個模塊會對數據進行進一步的處理。

用戶在使用微博等其它社交網絡時,需要使用自己的賬號和密碼進行登錄,例如微博在客戶端對用戶的賬號、密碼進行了加密,只有登錄后才能查看用戶的微博信息和內容,像新浪微博WEIBO.COM這樣的SNS網站必須事先登錄之后才能訪問到它的數據。為了在經過加密的社交網站獲取希望得到的數據是需要使用密碼登陸的,在利用網絡爬蟲獲取微博或其它社交網絡用戶數據的過程中,也是需要用密碼登陸的,而本發明采用的是合法的模擬登陸的方式來實現登陸,其實現過程及原理如下:通過一個已知賬戶發送登錄的cookie,從而用網絡爬蟲實現微博的模擬登陸。在Scrapy中具體實現時,就是在爬取的spider類中,重載start_requests方法,生成一個帶cookie的request,后續爬取的request同樣需要帶上cookie。在用scrapy爬蟲模擬登陸之后,這樣就可以利用xpath和正則表達式提取微博網頁中我們希望獲取的特定數據。

scrapy網絡爬蟲可以沿著網頁中的超鏈接轉入另一個URL,因此網絡爬蟲可以進入某一個用戶的粉絲列表,從而獲得大量的樣本。同時,網絡爬蟲可以設置爬取深度,這樣可以把獲取的信息量控制在我們需要的范圍。本發明通過網絡爬蟲實現了對數據樣本的自動獲取,自動獲取樣本對一個檢測系統來說是非常具有實用價值的,它擺脫了對其他數據來源的依賴,使我們的檢測系統更加的獨立。

在提取的數據中選取出特征值,例如可以設定微博數、關注數、粉絲數、微博ID、用戶ID、微博內容、點贊數和轉載數這9個特征字段。另外,還可以增加微博賬戶首頁的個人信息填寫是否完整,真實的賬戶往往會填寫個人信息,如出生年月,歸屬地,昵稱,性別等,而僵尸粉往往不會填寫個人信息,這也是判斷一個賬戶是否是僵尸粉的一個因素。也還可以從微博內容中進行虛假賬戶的判斷,發布的內容是真的有意義的還是僅僅是名人名言或廣告信息。通過網絡爬蟲獲取一定數量的訓練樣本數據,作為訓練樣本,并對訓練樣本進行人工標記,訓練樣本用于讓分類器進行機器學習和訓練,產生記憶,形成分類模型。為了提高分類器的學習效果,可以增大樣本數據的容量,增加學習次數。以類似的方式,從某個擁有大量粉絲的賬戶的粉絲列表中,隨機選取一定數量的賬戶作為測試集,也就是作為測試樣本,測試樣本的樣本容量小于訓練樣本的樣本容量,還需要對測試樣本進行人工審核并進行標記,測試樣本用于對形成的分類模型進行測試和預測,再對預測結果進行評估并輸出精確度。

這些訓練樣本中既有正樣本也有負樣本,相比于負樣本,正樣本即普通用戶的多樣性非常大,需要給出足夠多的樣本來訓練。例如:一些名人明星的粉絲數會達到幾萬甚至幾千萬,一些普通大學生的關注數和粉絲數會在幾十到幾千的范圍。微博數的變化范圍也很大,從一百條左右,到幾千條上萬條的情況都有。由于每個用戶使用微博的方式和習慣差異很大,使得從樣本中提取到的特征值區別也很大,絕大多數的普通用戶的微博下會受到粉絲的點贊或評論,然而有些真實的用戶僅僅是轉發一些熱門信息或某一類其所感興趣的話題,或者微博的發布量很小,而沒有任何的評論或點贊,或者評論和點贊二者僅有其一,這類情況也是我們在訓練中重點去考慮的情況,在訓練集中有很多這類的樣本。

本發明建立了一個采用經典的SVM算法的分類器,隨機從訓練樣本中抽取多組數據導入到分類器中,讓分類器進行機器學習,形成訓練分類模型。SVM算法原理和運算過程如下:SVM算法是在高維空間中尋找最優超平面的一個決策函數。把樣本中的正例和反例用超平面分開,其原則是使正例和反例之間的間隔最大。假設有N個訓練樣本{(x1,y1),(x2,y2),…,(xN,yN)},x是N維向量,而yi∈{-1,+1}是樣本的標簽,分別代表兩個分類的類別,需要用這些被標記過的訓練樣本去訓練一個分類器:

f(x)=sgn(wTx+b) (3-1)

其中w表示系數向量,x表示n維向量,y表示樣本的標簽,b表示偏置量。當wTx+b結果小于0的時候,分類器輸出-1;當wTx+b結果大于0的時候,分類器輸出+1,g(x)=wTx+b=0就是我們要尋找的分類超平面。

需要這個超平面最大程度的分開這兩類,也就是這個分類超平面到這兩個類中最近的那個樣本的距離相同,而且使這個距離最大。設兩個與分類超平面平行且距離相等的超平面H1:y=wTx+b=+1和H2:y=wTx+b=-1。在分類時需要滿足:1)在這兩個平面之間沒有樣本;(2)獲得最大距離,我們需要最大化這兩個平面之間的距離,處于這兩個超平面上的樣本,稱作支持向量。把H1和H2表示成:H1:w1x1+w2x2=+1和H2:w1x1+w2x2=-1,H1和H2的距離可以表示為

|1+1|/sqrt(w12+w12)=2/||w|| (3-2)

為了最大化這個距離,應使||w||達到最小值,而且要滿足沒有數據樣本分布在H1和H2之間。

對于一個正樣本yi=+1,y=wTx+b>=+1。對于一個負樣本yi=-1,y=wTx+b<=-1。這兩個約束,可以合并成同一個式子即yi(wTxi+b)>=1。這樣得到我們的最優問題:

Min||w||2/2 (3-3)

yi(wTxi+b)>=1 (3-4)

這是個凸二次規劃問題。凸集是指在一個點的集合中任取其中兩個點連一條直線,這條線上的點仍然在這個集合內部。對于凸函數來說,局部最優解就是全局最優解,但對非凸函數來說局部最優解不一定是全局最優解。即SVM算法中可以得到目標函數的全局最優解,凸二次規劃問題是指目標函數是自變量的二次函數。

根據拉格朗日函數的對偶性,求解該優化問題的最優解可以轉化為求對偶問題的最優解。將線性可分的優化問題的最優解轉化為求對偶問題最優解的優點在于:(1)對偶問題與原始問題相比更容易求解;(2)可以將核函數引入對偶問題,在解決非線性分類問題時,可以利用核函數進一步減少計算量。在對偶問題中求出優化問題的最大值對應著原始問題中的優化問題的最小值。對于不等式約束,其實是同樣的操作。通過在每一個約束條件上加一個拉格朗日乘子,我們可以在目標函數中加入約束條件,應用拉格朗日乘子法使得優化問題可以得到更容易的處理。

在引入拉格朗日乘子后,根據KKT條件的理論,可以得到下面的拉格朗日函數:

α表示拉格朗日乘子,然后對L(w,b,α)分別求w和b的極值。也就是L(w,b,α)對w和b的梯度為0:和還需要滿足α>=0。

將所求出的極值代入上面的拉格朗日函數后,所求的優化問題變成:

這是所求優化問題的對偶問題,當求出上面優化問題表達式中最優的α*后,代入上面的對偶問題即可求出w*和b*,求出表達式中的參數后就可以得到決策函數和分類超平面。對SVM模型的訓練結束后,對待預測的測試樣本,決策函數可以表示為:

在上面的決策函數中很多的是0,w只是一些少量的不為0的樣本的線性權重。這種很多樣本沒有參與決策函數的情況可以看作是KNN的數據壓縮版本。在利用模型做預測時,對待預測的測試樣本根據w和b做一次線性運算,根據輸出結果是+1還是-1來判斷是屬于正類還是負類。在已知了后,我們不必求出w,只需將待預測的樣本和訓練數據中的所有樣本做內積和即可。不為0的樣本就是超平面上的支持向量,其他樣本都為0。在預測分類結果時只需求出待預測樣本和支持向量的內積,模型就可以對分類輸出預測結果。

偏離所屬類別位置很遠的數據點產生的原因可能是噪聲對采集訓練樣本數據的影響,也可能是標記時的失誤。這類數據點會導致分隔超平面不得不因這類偏離正常位置的點時間隔距離變小,更嚴重的情況會無法構造出能將數據線性分開的超平面。對于由錯誤或噪聲影響而不符合某些規律的數據點,允許一些點到分類平面的距離不滿足原先的要求。為了引入容錯性,我們給樣本點到分類面的間隔距離閾值1加一個松弛變量。我們在目標函數中加入對離群點的懲罰項,

subject to yi(wTxi-b)+ζi-1≥0,1≤i≤N

ζi≥0,1<i≤N (3-10)

其中ξi是一個非負參數,表示松弛變量C表示離群點的權重,在目標函數中引入非負參數ξi,稱之為松弛變量,一些樣本點的間隔可以小于1,即有些樣本點可以出現在最大間隔區間里。在目標函數中引入松弛變量后,間隔距離可以是負數,即有些樣本點可以出現在另一類的區域中。在放松了限制條件以后,我們在目標函數中加入對離群點的懲罰項,目標函數的第二項表示離群點的數目越多,目標函數值越大。目標函數第二項中的C是離群點的權重,C越大表示離群點對目標函數的影響越大,也就是離群點偏離所屬類別的程度越大。在目標函數中增加了離群點的程度及數目,放松了限制條件后大部分樣本點會滿足目標函數的限制條件。

優化問題變成了,

對于線性不可分的分類問題,可以使用一個非線性映射Φ(x)將低維空間的分類問題變換到一個高維空間,在高維特征空間中,對兩類樣本的分類問題可能會變成線性可分的問題了。然后在高維特征空間中使用SVM算法進行分類。在SVM優化問題中,訓練SVM和使用SVM實現預測分類都需要使用樣本間的內積,而且只用到樣本間的內積。計算核函數投射到高維特征空間后兩個樣本內積的值,

K(xi,xj)=Φ(xi)TΦ(xj) (3-13)

對于核函數,我們選用徑向基函數(RBF),RBF核函數的形式如下:

K(x,x’)=exp(-r‖x-x’‖2) (3-14)

超參數R稱為內核的帶寬,它基于交叉驗證結果調整。

優化問題變成了如下形式:

決策函數變成了:

根據cover定理,低維空間線性不可分的分類問題通過一個非線性的變換投射到高維空間,在高維空間可能實現線性可分,但是直接使用SVM在高維空間對樣本進行分類或回歸存在很多問題,如選定非線性映射函數和映射函數中的參數,確定高維特征空間的維數等問題,而最大的難點是在高維特征空間直接SVM算法會在運算上帶來大量的計算量,甚至無法得到分類決策函數。采用核函數既可以完成由低維空間向高維空間的映射又不會帶來很大的計算量。核函數的計算量與原始低維空間數據的內積計算量相比并沒有增加太多,大大簡化了在高維空間分類的計算量,這樣就充分體現了本發明SVM算法的優越性。

隨機從訓練樣本中抽取多組數據導入到分類器中,讓分類器進行機器學習,形成訓練分類模型。再利用測試樣本對分類模型進行測試,得到交叉驗證精度,通過不斷調整分類模型的各設定參數來達到最佳的交叉驗證精度,達到了所要求的精度閾值后分類模型的學習和優化完成,隨后可以直接用于大規模的數據處理。最后利用最佳分類模型對微博或其它社交網絡用戶進行檢測,在預測分類結果時輸出分類結果,也就檢測區分出了虛假粉絲和正常用戶,采用本發明檢測方法對虛假粉絲檢測的準確率可以達到96%以上,可以較為精確的完成對微博賬戶等其它社交網站賬戶的分類,為虛假粉絲的清理刪除、賬戶類別分選提供了準確的依據。

本發明社交網站虛假粉絲檢測方法的第一個具體運用實例如下:

以新浪微博為例,具體針對范冰冰新浪微博,采用本發明的檢測方法來檢測分揀出虛假粉絲,也就是微博僵尸粉,首先利用爬蟲框架構建一個可以自動獲取用戶微博數據的網絡爬蟲,網絡爬蟲能夠自動獲取新浪微博的網絡數據。利用網絡爬蟲爬取范冰冰微博,獲取的范冰冰的關注數、粉絲數、微博數以及每條微博的內容、評論數、點贊數,參見附圖4。網絡爬蟲可以沿著網頁中的超鏈接轉入另一個URL,因此網絡爬蟲可以進入某一個用戶的粉絲列表,從而獲得大量的樣本。同時,網絡爬蟲可以設置爬取深度,我們可以把獲取的信息量控制在我們需要的范圍。在提取的數據中選取出特征值,得到訓練樣本和測試樣本,在實例中我們獲取了500個注冊超過半年的賬戶作為訓練數據樣本,并對訓練樣本進行手工標記。以類似的方式,我們從某個擁有大量粉絲的賬戶的粉絲列表中,隨機選取100個賬戶作為測試集,形成測試樣本,對測試樣本進行人工審核并進行標記。

使用python語言建立一個采用經典的SVM算法的分類器,在python中引入libsvm庫,來完成用svm算法實現分類。隨機從500個訓練樣本中抽取多組數據導入到分類器中,讓分類器進行機器學習,形成訓練分類模型,完成訓練后的分類模型能夠對測試樣本進行預測分類結果。然后對分類模型進行測試,用經過訓練的模型對待分類的測試樣本數據進行預測,再對預測結果進行評估并輸出得到交叉驗證精度,通過不斷調整分類模型的各設定參數來達到最佳的交叉驗證精度。

利用經過人工標記的樣本數據訓練分類模型,并用一組隨機的測試數據對分類模型的性能進行檢測。對于我們選取的訓練樣本C-SVC的參數c和γ最優解為,c=8192.0,γ=0.000122,核函數中的g=0.0078125,決策函數中的常數項b=-0.0593671,支持向量個數總共有76個,其中正樣本和負樣本中支持向量的個數分別為39個和37個。交叉驗證精度CV Rate=96.9849。在選取了最優的參數后,模型對分類結果的精確度為96%,達到了所要求的精度閾值。這就使得對虛假粉絲的檢測精確度得到了極大地提高,即使對于一些偽裝很高級的虛假賬戶,采用本發明的檢測方法也能達到較高的檢測識別精度,而且運算量較小,處理速度快,數據在運算過程中不容易受干擾,檢測識別的精度高。

當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
主站蜘蛛池模板: 陕西省| 遵义县| 噶尔县| 潞城市| 利辛县| 嘉善县| 南宫市| 恩平市| 庆元县| 班戈县| 莲花县| 和田市| 略阳县| 本溪市| 岳池县| 庆安县| 都江堰市| 黄浦区| 阜新市| 湘潭市| 张家川| 石城县| 临清市| 惠东县| 巴青县| 长宁县| 邵阳县| 叙永县| 永仁县| 贵德县| 乌鲁木齐县| 五莲县| 大邑县| 万州区| 镇原县| 天津市| 嘉定区| 西盟| 出国| 吉木萨尔县| 漳平市|