◆付順順
(安徽省公安教育研究院 安徽 230088)
當前網絡賭博的一種重要表現形式就是開設專門賭博網站,采用嚴密的內部分級制度發展不同級別的會員,邀約賭博人員、利用特定對象設立賭博規則等組織不特定的境內人員,通過各種形式參賭。因此,快速識別出賭博網站,有助于從源頭切斷參賭人員接觸賭博網站,凈化網絡空間。
從技術角度來講,賭博網站識別可以看作是網頁分類。由于網頁上信息豐富,李曉黎[1]提出了一種將SVM與無監督聚類相結合的新分類算法,給出了一種新的網頁表示方法并應用于網頁分類問題。黃科[2]將二元分詞方法應用于統計構造二字詞詞表,從而根據網頁中的文本進行分詞,進而進行網頁的分類。秦兵[3]利用改進的貝葉斯模型進行了頁面分類。代令令[4]針對目前文本分類處理過程復雜且耗時過長的問題,將fastText引入到中文文本分類領域中,并驗證其在中文分類中的效果。專家杜錦波[5]發現FastText并不適應于數據不平衡的分類問題,并將集成算法的思想應用在了FastText算法上,提高了FastText算法在處理不平衡數據的準確性。
現有的分類方法取得了較為顯著的應用效果,但應用于賭博網站識別都有一定不足。首先,賭博網站相較于正常頁面的規模上處于絕對不平衡狀態,我們在數據收集階段,為了保證正常頁面的普適性,盡量會收集盡可能多的正常頁面,但是賭博網站數據能收集到的就非常少。因此,本文將專家杜錦波[5]的思想采用FastText算法結合Bootstrap進行賭博網站頁面分類識別。
集成學習是將多個弱分類器組合成一個強分類器的方法。目前,比較常用的集成方法分別是Bagging,Bootstrap,RS,隨機森林及Stacking等。本文擬采用Bootstrap集成算法,隨機對樣本抽取N次,形成N個樣本集,然后對每個樣本集都訓練對應的弱分類器,將這些弱分類器的結果按照一定的權重組合出最終結果,這樣N個弱分類器形成一個強分類器。這種思想在不平衡數據集中,可以降低多數類數據的效用,提高了少數類數據特征能被一些其他弱分類器捕獲的概率,讓分類器更好的學習數據的本質。
FastText是一個高效學習單詞表示和句子分類的快速分類算法,其模型結構簡單來說只有三層,如圖1所示,輸入層、隱含層、輸出層,輸入都是多個經向量表示的單詞,輸出特定的分類結果。

圖1 FastText模型
賭博網站的數量在整個互聯網中占比非常少,按照通常情況下的二分類思路來做當數據集不平衡時,少數類樣本的特征大概率會被拋棄,這就導致我們在對網站進行賭博網站和正常網站二分類時,賭博網站識別出的準確率和召回率都不高。為了解決數據不平衡的問題,文章采用了Bootstrap集成算法對已經打亂的包含有賭博網頁和正常網頁的訓練集隨機抽取N次,形成N個子樣本,對每個樣本都使用FastText進行訓練,得到N個分類器,之后讓這N個分類器投票得出,某一具體頁面的類別。通過這種方式即解決了數據不平衡的弊端,提高了賭博頁面這一少數類的特征捕獲概率,讓分類器更好的學習數據的本質。
輸入:正常網頁和賭博網頁數據集。
輸出:分類結果。
Step1:將數據打亂,隨機抽取N次,形成N個子樣本;
Step2:對每個樣本都使用FastText進行訓練,得到N個分類器;
Step3:N個分類器按照最大數量投票得出最終分類結果;
實驗環境為Intel Core i7-7500處理器、主頻3.4GHz、內存16GB、1TB硬盤的PC機.操作系統為Win10,編程語言使用Python3.7,編譯環境PyCharm。
本文實驗scrapy框架采集了310個賭博網站全站數據和站長之家網站排行榜收錄的中文網站中隨機抽選6000個作為正常網站樣本,根據統計發現平均下來每個賭博網站具有的頁面數量為20個左右,為了保證網站之間的比例從中選取這么網頁。對每個網頁頁面去除HTML標簽之后形成的純文本數據采用jieba分詞工具進行分詞處理,對分詞后的數據進行數據清洗,去除數據中無意義的語氣詞等,將清洗后數據整合成文檔。
本文實驗采用精確率、召回率和F-score三個指標來評價實驗結果。
精確率:預測正確的數量與所有預測為正類數量之比,具體如公式1。

召回率:正類預測正確的數量與正類的總數之比,具體如公式2。

F1值是綜合考慮準確率與召回率的一個指標,如公式3。

首先,對于預處理后的數據直接使用FastText算法,主題詞數設為K=40,將數據按照7:3的比例分為訓練集和測試集,通過訓練集進行模型的擬合,再通過測試“集計算”模型準確率、召回率以及F-score的得分。

表1采用FastText算法的結果
可以看出算法對正常類數據比較敏感,但是不正常數據都被拋棄了。
其次,采用基于Bootstrap和FastText結合的算法中。在Bootstrap過程中,以F-score作為弱分類器數量的選擇的驗證指標,選取10到200之間的不同數量,分別計算在這些分類器數量下的F-score值。根據圖2可以看出,隨著分類器的數量增多,F-score的上升逐漸減緩,在分類器數量的120的時候,基本達到F-score的最大值,之后分類器數量增多,F-score基本穩定。所以,分類器數量選擇120為最優選擇。

圖2 F-score變化圖
由表2可知,基于Bootstrap的FastText算法結果,最大化地利用到了模型的全部數據,對于賭博頁面的預測準確率、召回率都有顯著的提升。

表2基于等比例Bootstrap的FastText算法結果
針對賭博網站頁面識別問題,文章綜合了Bootstrap集成算法和FastText算法進行識別,經實驗表明,一定程度上提高了賭博網站頁面的識別效率,但是,文章僅采用了頁面上的文本信息,接下來將綜合頁面的圖片、音視頻、URL、網站注冊等信息綜合考慮,希望能進一步提高賭博網站的識別效果。