一種垃圾短信的識別方法和系統的制作方法
【專利摘要】本發明涉及自然語言挖掘領域,特別涉及一種垃圾短信的識別方法和系統。方法包括以下步驟:獲取用于識別垃圾短信的目標特征詞,并建立目標特征詞庫;設定用于識別垃圾短信的短信長度閾值;統計待識別短信的字符長度;并對待識別短信進行去停用詞處理和分詞處理,生成分詞結果;查詢目標特征詞庫,若分詞結果能夠與目標特征詞庫中的任一目標特征詞匹配且待識別短信的字符長度大于短信長度閾值,則判定待識別短信為垃圾短信;否則,判定待識別短信為非垃圾短信。本發明提供的垃圾短信識別方法,基于垃圾短信的長度和特征詞的特點,不僅能解決日常生活中大部分的短信分類問題,而且識別過程簡單、識別速度快、識別準確率高。
【專利說明】
一種垃圾短信的識別方法和系統
技術領域
[0001]本發明涉及自然語言挖掘領域,特別涉及一種垃圾短信的識別方法和系統。
【背景技術】
[0002]數據挖掘(Data Mining,DM)及預測(Predictive Analytics)是目前人工智能和數據庫領域研究的熱點問題,所謂數據挖掘是指從數據庫的大量數據中揭示出隱含的、先前未知的并有潛在價值的信息。從相關的數據源中選取所需的數據并整合成用于數據挖掘的數據集。預測的目的在于認識事物發展規律,以及在不同條件下各種規律的相互作用,揭示事物的發展方向和趨勢,使人們盡早地預知未來的狀況和將要發生的事情,并能動地控制其發展,使其為人類和社會的進步服務。
[0003]基于文本內容的垃圾短信過濾方法是數據挖掘的重要應用,主要是通過分析短信的文字內容,判斷是否為對用戶而言無用的垃圾信息。目前有很多關于垃圾短信的識別方法,但是會引入較多算法,比較復雜且不容易理解,也使得執行時間變長。
【發明內容】
[0004]本發明所要解決的技術問題是提供一種垃圾短信的識別方法及系統,解決了現有技術的垃圾短信識別方法算法較多、判斷過程復雜且判斷時間長的技術問題。
[0005]本發明解決上述技術問題的技術方案如下:一種垃圾短信的識別方法,包括以下步驟:
[0006]步驟I,獲取用于識別垃圾短信的目標特征詞,并建立目標特征詞庫;
[0007]步驟2,設定用于識別垃圾短信的短信長度閾值;
[0008]步驟3,統計所述待識別短信的字符長度;并對待識別短信進行去停用詞處理和分詞處理,生成分詞結果;
[0009]步驟4,查詢所述目標特征詞庫,若所述分詞結果能夠與目標特征詞庫中的任一目標特征詞匹配且所述待識別短信的字符長度大于所述短信長度閾值,則進入步驟5;否則,進入步驟6;
[0010]步驟5,判定所述待識別短信為垃圾短信,并作為垃圾短信向用戶輸出;
[0011 ]步驟6,判定所述待識別短信為非垃圾短信,并作為非垃圾短信向用戶輸出。
[0012]本發明的有益效果是:本發明提供的垃圾短信識別方法,基于垃圾短信的長度和特征詞的特點,不僅能解決日常生活中大部分的短信分類問題,而且識別過程簡單、識別速度快、識別準確率高。
[0013]在上述技術方案的基礎上,本發明還可以做如下改進。
[0014]進一步,所述步驟I之前還包括標簽設定步驟和訓練集建立步驟,所述標簽設定步驟為:為垃圾短信設定第一標簽且為非垃圾短信設定第二標簽;所述訓練集建立步驟為:選取帶有第一標簽的垃圾短信建立第一訓練集,且選取帶有第二標簽的非垃圾短信建立第二訓練集。
[0015]采用上述進一步方案的有益效果是:本進一步金屬方案中,第一訓練集的垃圾短信和第二訓練集中的非垃圾短信標簽分別為I和0,可以根據現有數據進行預先設定,從而便于后續的特征詞庫建立過程和識別過程。
[0016]進一步,所述步驟I具體為:
[0017]對所述第一訓練集中的所有垃圾短信分別進行去停用詞處理,生成每個垃圾短信對應的第一去停用詞處理結果;且對所述第二訓練集中的所有非垃圾短信分別進行去停用詞處理,生成每個非垃圾短信對應的第二去停用詞處理結果;
[0018]對所有第一去停用詞處理結果進行分詞處理,生成每個垃圾短信對應的多個第一特征詞;對所有第二去停用詞處理結果進行分詞處理,生成每個非垃圾短信對應的多個第二特征詞,形成第二特征詞詞庫;
[0019]當所述第一特征詞在所有垃圾短信中出現的總次數超過預設的第一次數閾值且所述第一特征詞在第二特征詞詞庫出現的總次數低于預設的第二次數閾值時,選擇所述第一特征詞為用于識別垃圾短信的目標特征詞,并建立目標特征詞庫。
[0020]采用上述進一步方案的有益效果是:本進一步技術方案中,采用首先采用去停用詞方法對短信進行處理,可以去除一些虛詞、語氣詞等沒有實際意義的詞,將短信形成同一格式,便于后續的統一處理。采用Python中自帶jieba包進行分詞處理,在精確模式的基礎上,對去停用詞處理結果中的長詞再次切分,提高召回率,非常適合用于垃圾短信識別方法。
[0021]所述建立特征詞庫模塊根據垃圾短信中出現頻率高的詞匯,對于大部分垃圾短信,都有特定的一些短信關鍵詞,如發票類短信,通常會出現“發票”的形似音同的相關詞匯。通過分析大量垃圾短信,將權重較高的垃圾短信關鍵詞構建成庫。
[0022]本進一步技術方案中,選擇在垃圾短信中出現頻率極高,在非垃圾短信中出現頻率較低的詞作為用于識別垃圾短信的特征詞,比如發票類短信,通常會出現“發票”的形似音同的相關詞匯,通過分析大量垃圾短信,將出現頻率較高的垃圾短信特征詞構建成庫。同時本進一步金屬方案可以根據識別方法準確度的要求設定第一次數閾值和第二次數閾值,控制方法靈活,識別效果好,能夠滿足用戶的需求。
[0023]進一步,所述目標特征詞庫中目標特征詞個數為40個,按照在所有垃圾短信中出現的總次數從大到小進行篩選。
[0024]采用上述進一步方案的有益效果是:本進一步技術方案中,在選取特征詞數量時,基于數量的偏差會對結果造成很大影響而選取過多的特征詞雖然能提高查全率,但是查準率會降低,相反,如果特征詞選取過少,即使能得到較高的查準率,但是查全率卻會隨之下降,因此需要選擇合適的目標特征詞個數40,既可以保證識別效果,也又可以保證查全率和查準率。
[0025]進一步,步驟2具體為:統計所述第一訓練集中所有垃圾短信的字符長度范圍和所述第二訓練集中所有非垃圾短信的字符長度范圍,并根據統計結果設定用于識別垃圾短信的短信長度閾值。
[0026]采用上述進一步方案的有益效果是:本進一步技術方案中,可以采用繪圖的方式統計所述第一訓練集中所有垃圾短信的字符長度范圍和所述第二訓練集中所有非垃圾短信的字符長度范圍,方式簡單且可以直觀獲取到統計結果。
[0027]進一步,所述短信長度閾值小于所有垃圾短信的最小字符長度,且大于所有非垃圾短信的最大字符長度。
[0028]采用上述進一步方案的有益效果是:本進一步技術方案通過統計短信長度可以獲知大部分非垃圾短信的字符數在10-25個之間,而垃圾短信字符數在45-60之間,因此可以選擇字符長度25?46之間的數值作為短信長度閾值,比如35,短信字符長度大于35的即為可疑垃圾短信,不僅判斷結果準確,而且判斷過程簡單、判斷速度快。
[0029]進一步,去停用詞處理過程為:去除垃圾短信、非垃圾短信和/或待識別短信中沒有實際意義的詞,并在去除位置對短信進行分段,生成同一格式的去停用詞處理結果;分詞處理過程為:采用分詞模型對所述去停用詞處理結果進行分詞。
[0030]采用上述進一步方案的有益效果是:本進一步技術方案中,沒有實際意義的詞包括虛詞、語氣詞等等。
[0031]為解決本發明的技術問題,本發明還提供了一種垃圾短信的識別系統,包括:
[0032]目標特征詞庫建立模塊,用于獲取識別垃圾短信的目標特征詞,并建立目標特征詞庫;
[0033]短信長度閾值設定模塊,用于設定識別垃圾短信的短信長度閾值;
[0034]字符統計模塊,用于統計待識別短信的字符長度;
[0035]字符處理模塊,用于對待識別短信進行去停用詞處理和分詞處理,生成分詞結果;
[0036]判斷模塊,用于查詢所述目標特征詞庫,若所述分詞結果能夠與目標特征詞庫中的任一目標特征詞匹配且所述待識別短信的字符長度大于所述短信長度閾值,則判斷所述待識別短信為垃圾短信;否則,判斷所述待識別短信為非垃圾短信;
[0037]短信輸出模塊,用于根據判斷模塊的判斷結果,將所述待識別短信作為垃圾短信或者非垃圾短信向用戶輸出。
[0038]進一步,還包括:
[0039]標簽設定模塊,用于為垃圾短信設定第一標簽且為非垃圾短信設定第二標簽;
[0040]訓練集建立模塊,用于選取帶有第一標簽的垃圾短信建立第一訓練集,且選取帶有第二標簽的非垃圾短信建立第二訓練集。
[0041 ]進一步,所述目標特征詞庫建立模塊包括:
[0042]第一去停用詞處理單元,用于對所述第一訓練集中的所有垃圾短信和第二訓練集中的所有非垃圾短信分別進行去停用詞處理,去除短信中沒有實際意義的詞,并在去除位置對短信進行分段,生成每個垃圾短信對應的第一去停用詞處理結果和每個非垃圾短信對應的第二去停用詞處理結果;
[0043]第一分詞單元,用于采用分詞模型對所述第一去停用詞處理結果和第二去停用詞處理結果進行分詞,生成每個垃圾短信對應的多個第一特征詞和每個非垃圾短信對應的多個第二特征詞,形成第二特征詞詞庫;
[0044]詞庫建立單元,用于當第一特征詞在所有垃圾短信中出現的總次數超過預設的第一次數閾值且所述第一特征詞在第二特征詞詞庫出現的總次數低于預設的第二次數閾值時,選擇所述第一特征詞為用于識別垃圾短信的目標特征詞,并建立目標特征詞庫;
[0045]所述短信長度閾值設定模塊包括:
[0046]統計單元,用于統計所述第一訓練集中所有垃圾短信的字符長度范圍和所述第二訓練集中所有非垃圾短信的字符長度范圍;
[0047]設定單元,用于根據所述統計單元的統計結果設定用于識別垃圾短信的短信長度閾值;
[0048]所述字符處理模塊包括:
[0049]第二去停用詞處理單元,用于對所述待識別短信進行去停用詞處理,去除待識別短信中沒有實際意義的詞,并在去除位置對待識別短信進行分段,生成第三去停用詞處理結果;
[0050]第二分詞單元,用于采用分詞模型對所述第三去停用詞處理結果進行分詞,生成分詞結果。
【附圖說明】
[0051 ]圖1為本發明一種垃圾短信的識別方法的流程示意圖;
[0052]圖2為本發明一種垃圾短信的識別系統的結構示意圖。
【具體實施方式】
[0053]以下結合附圖對本發明的原理和特征進行描述,所舉實例只用于解釋本發明,并非用于限定本發明的范圍。
[0054]如圖1所示,為本發明實施例1一種垃圾短信的識別方法,包括以下步驟:
[0055]步驟I,獲取用于識別垃圾短信的目標特征詞,并建立目標特征詞庫;
[0056]步驟2,設定用于識別垃圾短信的短信長度閾值;
[0057]步驟3,統計所述待識別短信的字符長度;并對待識別短信進行去停用詞處理和分詞處理,生成分詞結果;
[0058]步驟4,查詢所述目標特征詞庫,若所述分詞結果能夠與目標特征詞庫中的任一目標特征詞匹配且所述待識別短信的字符長度大于所述短信長度閾值,則進入步驟5;否則,進入步驟6;
[0059]步驟5,判定所述待識別短信為垃圾短信,并作為垃圾短信向用戶輸出;
[0060]步驟6,判定所述待識別短信為非垃圾短信,并作為非垃圾短信向用戶輸出。
[0061]本實施例中,所述步驟I之前還包括標簽設定步驟和訓練集建立步驟,所述標簽設定步驟為:為垃圾短信設定第一標簽且為非垃圾短信設定第二標簽;所述訓練集建立步驟為:選取帶有第一標簽的垃圾短信建立第一訓練集,且選取帶有第二標簽的非垃圾短信建立第二訓練集。
[0062]本實施例中,所述步驟I具體為:對所述第一訓練集中的所有垃圾短信分別進行去停用詞處理,生成每個垃圾短信對應的第一去停用詞處理結果;且對所述第二訓練集中的所有非垃圾短信分別進行去停用詞處理,生成每個非垃圾短信對應的第二去停用詞處理結果;
[0063]對所有第一去停用詞處理結果進行分詞處理,生成每個垃圾短信對應的多個第一特征詞;對所有第二去停用詞處理結果進行分詞處理,生成每個非垃圾短信對應的多個第二特征詞,形成第二特征詞詞庫;
[0064]當所述第一特征詞在所有垃圾短信中出現的總次數超過預設的第一次數閾值且所述第一特征詞在第二特征詞詞庫出現的總次數低于預設的第二次數閾值時,選擇所述第一特征詞為用于識別垃圾短信的目標特征詞,并建立目標特征詞庫。本實施例中所述目標特征詞庫中目標特征詞個數為40個,按照在所有垃圾短信中出現的總次數從大到小進行篩選。
[0065]本實施例中,步驟2具體為:統計所述第一訓練集中所有垃圾短信的字符長度范圍和所述第二訓練集中所有非垃圾短信的字符長度范圍,并根據統計結果設定用于識別垃圾短信的短信長度閾值。所述短信長度閾值小于所有垃圾短信的最小字符長度,且大于所有非垃圾短信的最大字符長度。本實施例中,所示短信長度閾值為35。
[0066]本實施例中,所述去停用詞處理過程為:去除垃圾短信、非垃圾短信和/或待識別短信中沒有實際意義的詞,并在去除位置對短信進行分段,生成同一格式的去停用詞處理結果,可以節省存儲空間和提高搜索效率。分詞處理過程為:采用分詞模型對所述去停用詞處理結果進行分詞,可以達到電腦自動識別語句含義的效果。
[0067]如圖2所示,為實施例2—種垃圾短信的識別系統,包括:
[0068]標簽設定模塊,用于為垃圾短信設定第一標簽且為非垃圾短信設定第二標簽;
[0069]訓練集建立模塊,用于選取帶有第一標簽的垃圾短信建立第一訓練集,且選取帶有第二標簽的非垃圾短信建立第二訓練集;
[0070]目標特征詞庫建立模塊,用于獲取識別垃圾短信的目標特征詞,并建立目標特征詞庫;
[0071]短信長度閾值設定模塊,用于設定識別垃圾短信的短信長度閾值;
[0072]字符統計模塊,用于統計待識別短信的字符長度;
[0073]字符處理模塊,用于對待識別短信進行去停用詞處理和分詞處理,生成分詞結果;
[0074]判斷模塊,用于查詢所述目標特征詞庫,若所述分詞結果能夠與目標特征詞庫中的任一目標特征詞匹配且所述待識別短信的字符長度大于所述短信長度閾值,則判斷所述待識別短信為垃圾短信;否則,判斷所述待識別短信為非垃圾短信;
[0075]短信輸出模塊,用于根據判斷模塊的判斷結果,將所述待識別短信作為垃圾短信或者非垃圾短信向用戶輸出。
[0076]本實施例中,所述目標特征詞庫建立模塊包括:第一去停用詞處理單元,用于對所述第一訓練集中的所有垃圾短信和第二訓練集中的所有非垃圾短信分別進行去停用詞處理,去除短信中沒有實際意義的詞,并在去除位置對短信進行分段,生成每個垃圾短信對應的第一去停用詞處理結果和每個非垃圾短信對應的第二去停用詞處理結果;
[0077]第一分詞單元,用于采用分詞模型對所述第一去停用詞處理結果和第二去停用詞處理結果進行分詞,生成每個垃圾短信對應的多個第一特征詞和每個非垃圾短信對應的多個第二特征詞,形成第二特征詞詞庫;
[0078]詞庫建立單元,用于當第一特征詞在所有垃圾短信中出現的總次數超過預設的第一次數閾值且所述第一特征詞在第二特征詞詞庫出現的總次數低于預設的第二次數閾值時,選擇所述第一特征詞為用于識別垃圾短信的目標特征詞,并建立目標特征詞庫;
[0079]所述短信長度閾值設定模塊包括:統計單元,用于統計所述第一訓練集中所有垃圾短信的字符長度范圍和所述第二訓練集中所有非垃圾短信的字符長度范圍;
[0080]設定單元,用于根據所述統計單元的統計結果設定用于識別垃圾短信的短信長度閾值;
[0081]所述字符處理模塊包括:第二去停用詞處理單元,用于對所述待識別短信進行去停用詞處理,去除待識別短信中沒有實際意義的詞,并在去除位置對待識別短信進行分段,生成第三去停用詞處理結果;
[0082]第二分詞單元,用于采用分詞模型對所述第三去停用詞處理結果進行分詞,生成分詞結果。
[0083]本發明提供的垃圾短信識別方法和系統,基于垃圾短信的長度和特征詞的特點進行垃圾短信識別,不僅能解決日常生活中大部分的短信分類問題,而且識別過程簡單、識別速度快、識別準確率高。
[0084]盡管上面已經示出和描述了本發明的實施例,可以理解的是,上述實施例是示例性的,不能理解為對本發明的限制,本領域的普通技術人員在本發明的范圍內可以對上述實施例進行變化、修改、替換和變型。
【主權項】
1.一種垃圾短信的識別方法,其特征在于,包括以下步驟: 步驟I,獲取用于識別垃圾短信的目標特征詞,并建立目標特征詞庫; 步驟2,設定用于識別垃圾短信的短信長度閾值; 步驟3,統計待識別短信的字符長度;并對待識別短信進行去停用詞處理和分詞處理,生成分詞結果; 步驟4,查詢所述目標特征詞庫,若所述分詞結果能夠與目標特征詞庫中的任一目標特征詞匹配且所述待識別短信的字符長度大于所述短信長度閾值,則進入步驟5;否則,進入步驟6; 步驟5,判定所述待識別短信為垃圾短信,并作為垃圾短信向用戶輸出; 步驟6,判定所述待識別短信為非垃圾短信,并作為非垃圾短信向用戶輸出。2.根據權利要求1所述的一種垃圾短信的識別方法,其特征在于,所述步驟I之前還包括標簽設定步驟和訓練集建立步驟,所述標簽設定步驟為:為垃圾短信設定第一標簽且為非垃圾短信設定第二標簽;所述訓練集建立步驟為:選取帶有第一標簽的垃圾短信建立第一訓練集,且選取帶有第二標簽的非垃圾短信建立第二訓練集。3.根據權利要求2所述的一種垃圾短信的識別方法,其特征在于,所述步驟I具體為: 對所述第一訓練集中的所有垃圾短信分別進行去停用詞處理,生成每個垃圾短信對應的第一去停用詞處理結果;且對所述第二訓練集中的所有非垃圾短信分別進行去停用詞處理,生成每個非垃圾短信對應的第二去停用詞處理結果; 對所有第一去停用詞處理結果進行分詞處理,生成每個垃圾短信對應的多個第一特征詞;對所有第二去停用詞處理結果進行分詞處理,生成每個非垃圾短信對應的多個第二特征詞,形成第二特征詞詞庫; 當所述第一特征詞在所有垃圾短信中出現的總次數超過預設的第一次數閾值且所述第一特征詞在第二特征詞詞庫出現的總次數低于預設的第二次數閾值時,選擇所述第一特征詞為用于識別垃圾短信的目標特征詞,并建立目標特征詞庫。4.根據權利要求3所述的一種垃圾短信的識別方法,其特征在于,所述目標特征詞庫中目標特征詞個數為40個,按照在所有垃圾短信中出現的總次數從大到小進行篩選。5.根據權利要求2所述的一種垃圾短信的識別方法,其特征在于,步驟2具體為:統計所述第一訓練集中所有垃圾短信的字符長度范圍和所述第二訓練集中所有非垃圾短信的字符長度范圍,并根據統計結果設定用于識別垃圾短信的短信長度閾值。6.根據權利要求5所述的一種垃圾短信的識別方法,其特征在于,所述短信長度閾值小于所有垃圾短信的最小字符長度,且大于所有非垃圾短信的最大字符長度。7.根據權利要求1?6任一所述的一種垃圾短信的識別方法,其特征在于,去停用詞處理過程為:去除垃圾短信、非垃圾短信和/或待識別短信中沒有實際意義的詞,并在去除位置對短信進行分段,生成同一格式的去停用詞處理結果;分詞處理過程為:采用分詞模型對所述去停用詞處理結果進行分詞。8.一種垃圾短信的識別系統,其特征在于,包括: 目標特征詞庫建立模塊,用于獲取識別垃圾短信的目標特征詞,并建立目標特征詞庫; 短信長度閾值設定模塊,用于設定識別垃圾短信的短信長度閾值; 字符統計模塊,用于統計待識別短信的字符長度; 字符處理模塊,用于對待識別短信進行去停用詞處理和分詞處理,生成分詞結果; 判斷模塊,用于查詢所述目標特征詞庫,若所述分詞結果能夠與目標特征詞庫中的任一目標特征詞匹配且所述待識別短信的字符長度大于所述短信長度閾值,則判斷所述待識別短信為垃圾短信;否則,判斷所述待識別短信為非垃圾短信; 短信輸出模塊,用于根據判斷模塊的判斷結果,將所述待識別短信作為垃圾短信或者非垃圾短信向用戶輸出。9.根據權利要求8所述的一種垃圾短信的識別系統,其特征在于:還包括: 標簽設定模塊,用于為垃圾短信設定第一標簽且為非垃圾短信設定第二標簽; 訓練集建立模塊,用于選取帶有第一標簽的垃圾短信建立第一訓練集,且選取帶有第二標簽的非垃圾短信建立第二訓練集。10.根據權利要求9所述的一種垃圾短信的識別系統,其特征在于: 所述目標特征詞庫建立模塊包括: 第一去停用詞處理單元,用于對所述第一訓練集中的所有垃圾短信和第二訓練集中的所有非垃圾短信分別進行去停用詞處理,去除短信中沒有實際意義的詞,并在去除位置對短信進行分段,生成每個垃圾短信對應的第一去停用詞處理結果和每個非垃圾短信對應的第二去停用詞處理結果; 第一分詞單元,用于采用分詞模型對所述第一去停用詞處理結果和第二去停用詞處理結果進行分詞,生成每個垃圾短信對應的多個第一特征詞和每個非垃圾短信對應的多個第二特征詞,形成第二特征詞詞庫; 詞庫建立單元,用于當第一特征詞在所有垃圾短信中出現的總次數超過預設的第一次數閾值且所述第一特征詞在第二特征詞詞庫出現的總次數低于預設的第二次數閾值時,選擇所述第一特征詞為用于識別垃圾短信的目標特征詞,并建立目標特征詞庫; 所述短信長度閾值設定模塊包括: 統計單元,用于統計所述第一訓練集中所有垃圾短信的字符長度范圍和所述第二訓練集中所有非垃圾短信的字符長度范圍; 設定單元,用于根據所述統計單元的統計結果設定用于識別垃圾短信的短信長度閾值; 所述字符處理模塊包括:第二去停用詞處理單元,用于對所述待識別短信進行去停用詞處理,去除待識別短信中沒有實際意義的詞,并在去除位置對待識別短信進行分段,生成第三去停用詞處理結果;第二分詞單元,用于采用分詞模型對所述第三去停用詞處理結果進行分詞,生成分詞結果。
【文檔編號】G06F17/27GK106095747SQ201610391361
【公開日】2016年11月9日
【申請日】2016年6月3日 公開號201610391361.2, CN 106095747 A, CN 106095747A, CN 201610391361, CN-A-106095747, CN106095747 A, CN106095747A, CN201610391361, CN201610391361.2
【發明人】金學波, 王英波
【申請人】北京工商大學