基於自然語言處理的垃圾信息過濾方法

                        基於自然語言處理的垃圾信息過濾方法

Spam Filtering Method Based on Natural Language Processing

 

目      錄

摘    要

Abstract

1 垃圾信息過濾技術

1.1 基於黑白名單的過濾技術

1.2 基於行爲模式的過濾技術

1.3 基於社交平臺舉報機制的過濾技術

1.4 基於關鍵字的過濾技術

1.5 基於規則的過濾技術

1.5.1 粗糙集

1.5.2 決策樹

1.5.3 Ripper

1.5.4 Boosting

1.6 基於統計的過濾技術

1.6.1 樸素貝葉斯

1.6.2 邏輯迴歸

1.6.4 KNN

1.6.5 神經網絡

1.6.6 隨機森林

1.6.7 Winnow

1.7 本文小結

  參考文獻                        


                                                                              

摘    要

隨着互聯網的發展,網絡信息量日益劇增,而垃圾信息也隨之氾濫,在消耗大量網絡資源的同時,阻礙了用戶之間的交流,甚至影響社會安定。因此,提取有用信息,過濾垃圾信息,成爲目前社會迫切的需求。垃圾信息過濾作爲提高網絡信息可用性的主要途徑,是自然語言處理領域一項主要研究內容。

根據信息產生平臺的不同,具體的垃圾信息過濾技術會有區別。但目前主流的垃圾信息過濾技術主要分爲基於黑白名單的過濾技術、基於關鍵字的過濾技術、基於行爲模式的舉報技術、基於規則的過濾技術和基於統計機器學習的過濾技術。本文基於自然語言處理的角度,簡要介紹了這些垃圾信息過濾技術。

關鍵詞:垃圾信息過濾;自然語言處理;

                                                 

Abstract

      With the development of the Internet, the amount of network information is increasing rapidly, and spam is also flooding. While consuming a large amount of network resources, it hinders communication between users and even affects social stability. Therefore, extracting useful information and filtering spam has become an urgent need of the society. As the main way to improve the usability of network information, spam filtering is a major research content in the field of natural language processing.

     Depending on the information generation platform, specific spam filtering techniques will differ. However, the current mainstream  spam filtering technologies are mainly classified into black-and-white list-based filtering technology, keyword-based filtering technology, behavior-based reporting technology, rule-based filtering technology, and statistical machine learning-based filtering technology. This paper briefly introduces these spam filtering technologies based on the perspective of natural language processing.

Key WordsSpam Filtering; Natural Language Processing;

 

1 垃圾信息過濾技術

1982年,Denning[1]首次提出垃圾信息過濾的概念。垃圾信息過濾是指採用一定技術手段識別出垃圾信息,並將其阻擋在外。迄今爲止,垃圾信息載體從文本、圖片到如今的視頻。而在技術上,也衍生出以下幾種方法:基於黑白名單過濾技術、基於行爲模式的過濾技術、基於社交平臺舉報機制的過濾技術、基於關鍵字的過濾技術、基於規則的過濾技術和基於統計機器學習的過濾技術,其中,基於規則和統計的過濾技術又被統稱爲基於內容的過濾技術。

 

1.1 基於黑白名單的過濾技術

黑白名單過濾技術,是通過預先建立黑白名單來過濾信息,多用於垃圾郵件過濾。指當信息發送到接收方時,接收方根據系統設定的黑名單和白名單對信息進行接收或者阻擋。該名單可預先根據一定的信息建立,並且隨時更新名單。

其中,黑名單過濾技術是指通過建立知識庫,其中保存着從大量垃圾信息中得到的發送者的用戶賬號等信息。將待過濾信息與之對比,若該信息包含知識庫中的對應字段,則認爲是垃圾信息並將其過濾。白名單過濾技術則相反,通過建立白名單知識庫,對接收到的信息判斷其發送者用戶信息是否在白名單中,若在則認爲是正常信息直接發送,若不在則認爲是垃圾信息過濾掉。

隨着用戶的增長,黑白名單愈發龐大,難以管理。且垃圾信息發送方會通過不斷改變自己的IP地址來繞過黑名單,因此傳統的黑白名單技術會因地址過時而效率降低,誤判率提高。

 

1.2 基於行爲模式的過濾技術

行爲模式是從大量實際行爲中歸納出來的行爲的理論抽象、基本框架或標準[2]。而基於行爲模式的過濾技術即通過對垃圾信息樣本進行分析,建立其行爲特徵模型,將待處理信息用該模型進行分析,判斷,過濾。在垃圾郵件過濾中,該行爲模式可能是通過郵件的羣發性或是否含有大量鏈接來判斷是否爲垃圾郵件。而在搜索引擎中,可能是通過分析WEB的內容和結構:欺騙性、隱藏性、標題與網頁內容不符合、轉向垃圾鏈接等來判斷。

 

1.3 基於社交平臺舉報機制的過濾技術

   2009年10月14日 Twitter推出了舉報機制,並且於2018年,更新部分舉報流程,用戶可以點擊舉報按鈕下面的“可疑或垃圾內容”選項,並詳細說明自己這麼認爲的理由,包括可以表示“發佈此推文的賬號是虛假的”。而新浪微博在2012年也正式成立社區委員會來審覈舉報信息。一旦覈查屬實,平臺將會移除相應博文,封停相關用戶賬號。這種用戶舉報的方式,能夠更爲精確地打擊垃圾信息發送方,但是需要耗費大量人力,因此效率不是很高。

 

1.4 基於關鍵字的過濾技術

基於關鍵字匹配的過濾方法是創建一個關鍵字列表,然後按照該列表確定信息是否爲垃圾信息。列表是從大量垃圾郵件中總結出來的經常出現的單詞,例如“中獎”“特惠”等。該方法需要創建一個龐大的過濾關鍵字列表並保持更新。關鍵字匹配過濾方法易於理解且修改便捷。但是字符匹配會消耗大量系統資源,而且亂序或轉換字體的垃圾信息識別率低,無法保證準確性。因此,該方法不適用於規律性低的領域。

 

1.5 基於規則的過濾技術

基於規則的垃圾過濾方法是設置一些過濾規則,這些規則是通過訓練,歸納總結得到的。並將這些規則創立爲規則庫,將信息與之匹配來判斷是否爲垃圾信息。這類方法效率較高,規則庫可以共享,推廣性很強。缺點在於規則庫龐大需要維護,規則更新時效差,在無規則的平臺適用度低。基於規則的過濾方法主要有粗糙集、Ripper、決策樹和Boosting等。

1.5.1 粗糙集

Rough Sets理論是波蘭科學家Z.Pawlak於1982年提出的一種數據推理方法[3]。它研究不完整、不確定知識來進行數據的表達、學習、歸納,具有很強的定性分析能力。它通過集合等價關係來確定屬於給定類的最大對象集合和最小對象集合來指導分類決策,屬性約簡和屬性值約簡來是粗糙集簡化分類規則的方式。它以不完全的信息來處理不分明的現象,在垃圾信息過濾應用方面取得了很好的效果。

1.5.2 決策樹

決策樹是一種自頂向下自動對數據分類的樹形結構。它由節點和有向邊組成,通過一系列測試條件來逐步解決分類問題。初始狀態爲根節點,中間狀態爲內部節點,最終分類爲葉節點。決策樹通過對內部節點的屬性值進行比較和判斷,遞歸向下,在葉節點得到結論。著名的決策樹算法有ID3、C4.5、CART等。Carreras使用決策樹來過濾垃圾郵件,得到的準確率和正確率約爲88%[4]。它的性能與貝葉斯相當,單準確率低於貝葉斯,且常被作爲Boosting方法的弱學習器。

1.5.3 Ripper

Ripper是William W.Cohen提出的一種基於規則的方法[5]。它用具有約束條件的規則及來進行判斷。每條RIPPER規則由一些規則前件(如屬性值條件)和結果,且包括更好的剪枝和停止準則(最小描述長度:MDL)以及對規則集合的後處理。組成RIPPER算法由於不需要事先建立完整決策樹,因此效率比C4.5等要高,缺點是正確率不是很高。

1.5.4 Boosting

Boosting是一種用來提高弱分類算法準確度的算法。它通過已有分類器(弱規則)加權求和,得到最終的分類器(強規則)。它是錯誤驅動的一種方法:初始時,樣本權重相等,迭代後,將失敗樣本權重增加,從而加強弱學習機對較難的訓練樣本的學習。

Carreras[4]將AdaBoost引入垃圾郵件過濾,證明了基於Boosting的過濾技術具有很好的性能。缺點就是但是訓練速度較慢

 

1.6 基於統計的過濾技術

隨着垃圾信息製造者反識別手段的進化,傳統的過濾技術不再適用。而基於統計機器學習的過濾技術由於準確率較高、速度較快、人工成本低,成爲了目前應用最廣泛的技術。其中,常用算法有樸素貝葉斯、邏輯迴歸、支持向量機、KNN、神經網絡、隨機森林等。

1.6.1 樸素貝葉斯

樸素貝葉斯分類算法通過計算概率進行過濾,是垃圾信息檢測領域常用的算法。它在過濾垃圾信息時,將獲取到的信息劃分爲垃圾信息和正常信息,分別建立兩種信息類型的貝葉斯概率模型,再通過這個模型再去判斷要測試的信息是不是垃圾信息。

簡單貝葉斯(Naive Bayes)分類算法原理大致如下[6]:

假設文本內容中包含的詞彙爲Wi,垃圾信息S,正常信息H。 現有一個文本,內容包含的詞彙爲Wi,判斷該文本是否是垃圾信息,即計算P(S|Wi)這個條件概率。根據貝葉斯定理得:

(1.1)

其中:

Pr(S|Wi):出現詞彙Wi的文本是垃圾信息的條件概率(即後驗概率);

Pr(S):訓練階段文本數據集中是垃圾信息的概率,或實際調查的是垃圾信息的概率(即先驗概率);

Pr(Wi|S):是垃圾信息中詞彙Wi出現的概率;

Pr(H):訓練階段文本數據集中正常信息的概率,或實際調查的正常信息的概率;

Pr(Wi|H):正常文本中詞彙Wi出現的概率;

對於文本中出現的所有詞彙,考慮每個詞彙出現事件的獨立性,計算Pr(S|Wi)的聯合概率Pr(S|W),W={W1,W2,…Wn}:

其中:  (1.2)

P 即Pr(S|W),出現詞彙W={W1,W2……Wn}的文本是垃圾信息的條件概率;

Pi 即Pr(S|Wi),出現詞彙Wi的文本是垃圾信息的條件概率;

該方法計算簡單,速度快,且應用範圍廣。但是對於分佈獨立的假設前提,現實情況往往不能滿足。

1.6.2 邏輯迴歸

邏輯迴歸是一個二分類問題。是一種判別學習模型,其假設條件比生成模型(以貝葉斯爲代表)弱,且判別學習算法的目標往往與實際應用的評價標準密切相關。因此,它具有更好的應用優勢。

它在判別信息是否爲垃圾信息的因素是該信息中的特徵。如下的公式爲根據信息的特徵計算該文本是垃圾信息的概率[7]。

      (1.3)

 

支持向量機(Support Vector Machine,簡稱SVM),是20世紀90年代提出的一種二分類學習方法。它通過構造最優線性分類面來指導信息分類:引入高維特徵空間,利用核函數,將輸入空間的非線性決策便捷轉化爲高維特徵空間的線性決策邊界。

在文本分類中,SVM是較好的方法之一。Druckerts[6]將線性SVM用於垃圾信息過濾,得到的結果再次印證了這一點。Drucker還指出,採用二值表示的SVM的性能稍高於採用多值表示的SVM。Kolcz[7]採用了多種SVM方法的變形進行垃圾信息過濾[8]。SVM在解決非線性問題上有一定優勢,且適用於小樣本和高維模式識別。但是它對於非線性的問題沒有普遍使用的解決方法,並且計算量大,參數選擇經驗性強,一般需要其他方法輔助。

1.6.4 KNN

K近鄰(k-Nearest Neighbor,KNN)是常用的模式識別統計方法。KNN無需訓練過程,分類時直接將待分類文本與訓練集合中的每個文本進行比較,然後根據最相似的k篇文本所屬類別得到新文本的類別。而衡量文本之間距離的方式一般採用歐氏距離、餘弦相似度或皮爾遜相關係數。它對於未知和非正態分佈能夠取得較好的分類準確率。並且根據Androutsopoulos的實驗,得知其性能與Naive Byes相近。但由於其分類速度的侷限性,不適用於對垃圾信息過濾速度要求較高的場景。

1.6.5 神經網絡

神經網絡是基於生物學建造的模型,它由同步並行處理的神經元和其間的聯繫構成。基於BP的人工神經網絡廣泛應用於信息過濾。在信息過濾時,首先要將訓練集內容進行預先分類,特徵提取和特徵優化,然後利用提取出的特徵矩陣訓練神經網絡,並通過輸出誤差修正係數和偏置值,直到滿足分類要求,得到最終的模型。然後向帶過濾的信息,得到其分類結果。

 

                                             

                                                                              圖1-1  神經網絡過濾信息系統模型

它有自動學習的能力,在魯棒性容錯性,自適應性方面表現優良。並且並行處理的結構,使其儲存能力高,運行速度快。但是其消耗時間長不適用於在線反饋的情景。

1.6.6 隨機森林

隨機森林是組合分類器。它以決策樹分類器爲基礎,通過彙總所有分類器的投票結果,選出投票最多的分類。隨機森林可以解決失衡數據集的平衡誤差,並且對於係數樣本,隨機森林能夠避免過擬合問題。

在處理上述問題時,隨機森林常常採用基於代價敏感學習的方法和基於樣本採樣的方法。並且結合準確率、召回率、F值等評價指標,證明了這兩種方法能提高預測精度。

1.6.7 Winnow

Winnow分類算法是一種典型的線性分類器。在信息過濾中,它採用向量空間模型表示文本,將文本中有代表意義的詞作爲特徵項。對每個類別,通過訓練得到其權重向量。然後設定某個閾值,若待分類的文本向量代入該類權重大於閾值,則將信息歸爲該類。並且在訓練過程,權值調整是錯誤驅動的,並且按照錯誤類型:分類器預測訓練文本屬於某類,但實際上不屬於;預測不屬於某類,實際上屬於分別降低和提高該分類器權重。

  該方法在目前已經成功應用於垃圾郵件,垃圾短信和垃圾評論過濾系統,有很好的性能。

 

1.7 本文小結

本文簡要介紹了目前應用與垃圾信息過濾方面的一些技術。大致分爲:基於黑白名單的過濾技術、基於關鍵字的過濾技術、基於規則的過濾技術和基於機器學習統計的過濾技術等。其中,由於深度學習和機器學習的發展,基於機器學習統計的過濾技術在近年來受到廣泛歡迎,並且體現出其他技術難以企及的性能。在瞭解這些技術的時候,可以得到的是,這些技術並不是一成不變的,也不是獨立存在的,它們之間的相互組合往往能夠得到更好的結果。

 

 

                                               參考文獻

  1. Denning P J. ACM president's letter: electronic junk[J]. Communications of the Acm, 1982, 25(3):163-165.
  2. Reed J M . Recognition behavior based problems in species conservation[J]. Annales Zoologici Fennici, 2004, 41(6):859-877.
  3. Z.Pawlak. Rough sets. International Journal of Computer and Information Sciences, 1982, 11(8): 41-356.
  4. Carreras X , Marquez L . Boosting Trees for Anti-Spam Email Filtering[J]. 2001.
  5. Cohen W W. Fast Effective Rule Induction[C]// Twelfth International Conference on International Conference on Machine Learning. 1995.
  6. NaiveBayesSpamFilter V1.0.[EB.OL]. 2016.    https://blog.csdn.net/mark_lq/article/details/51171765
  7. 鄭曉霞, 劉超, 鄒鈺. 基於邏輯迴歸模型的中文垃圾短信過濾[J]. 黑龍江工程學院學報(自然科學版), 2010(04):40-43.
  8.  Drucker H, Wu D, Vapnik V N. Support vector machines for spam categorization[J]. IEEE Transactions on Neural networks, 1999, 10(5): 1048-1054.
  9.  Kolcz A, Alspector J. SVMMbased Filtering of EMmail Spam with ContentMspecific Misclassification Costs[C]//Proc. of TextDM’01 Workshop on Text Mining. 2001.
  10. Androutsopoulos I, Paliouras G, Karkaletsis V, et al. Learning to Filter Spam E-Mail: A Comparison of a Naive Bayesian and a Memory-Based Approach[J]. Computer Science, 2000, 97(2):1--13.

                        

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章