劉曉蒙



摘要:手機收到垃圾短信已經是一種常態,嚴重影響了人們的日常生活。結合TF-IDF模型規則,提出了一種基于TF-IDF的貝葉斯模型,特征向采用隨機提取的方式,之后進行統一的歸一化處理,提高樣本的辨識度,以此作為訓練集生成對應的模型,最后實現垃圾短信的過濾。最終的實驗結果表明:在結合了TF-IDF的貝葉斯模型下,垃圾短信的分類精度更優于一般的貝葉斯模型。
關鍵詞:垃圾短信;貝葉斯;TF-IDF;隨機提取;分類
中圖分類號:TP391? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2022)22-0064-02
1 引言
大數據時代的來臨,智能手機的使用已經非常的普遍,而短信作為人們接收信息的重要來源之一,在大數據時代發揮著越來越重要的地位。但是由于短信內容的豐富性,垃圾短信的問題也漸漸產生并有了泛濫的趨勢,這些垃圾短信不僅影響人們對于手機的使用,更重要的在于其帶來的安全隱患,許多不法分子借機盜取用戶的個人信息,侵害用戶的安全隱私。所以對于如何有效地識別垃圾短信就具有重要的現實意義。對于垃圾短信的治理不僅需要有關部門的監管和措施,還可以同時使用數據分析的技術,在其根源消滅這些垃圾短信。
現今研究領域常用的識別短信的方式有基于黑白名單的方法,基于規則的方法和基于短信內容的方法。由于要識別的短信內容較多,因此本文選取基于短信內容的方法,其優點是避免了人工添加的關鍵詞的低效率。
基于短信內容的方法,即文本分類技術是計算機應用于根據特定的分類系統或者標準自動分類文本。傳統的文本分類算法有樸素貝葉斯、支持向量機等。本文選取樸素貝葉斯作為文本分類的算法是由于其計算速度快、效率高、應用廣泛,同時其良好的穩定性和實現的簡單、易于開發的特點能夠有效地滿足垃圾短信的過濾要求。
基于以上內容,本文提出一種結合TF-IDF的貝葉斯模型[1]。首先對大量的短信數據進行采樣,保證垃圾短信和非垃圾短信的均勻分布,隨后對短信的內容進行數據的預處理,包括數據清洗、文本去重、中文分詞、停用詞過濾,之后使用one-hot進行文本的向量表示,同時結合TF-IDF權重策略進行歸一化處理,最后將特征向量輸入貝葉斯分類器進行分類得到最后的結果。與未使用TF-IDF模型的貝葉斯模型相比,其準確率達到了93.72%、精確度達到88.61%、召回率達到96.44%,F1值為0.9602。實驗證明了本文提出的模型的有效性。
2 模型構建
2.1 TF-IDF模型
TF-IDF作為咨詢勘探和咨詢檢索中最常用的加權技術之一,其主要的作用是評估詞組對一篇文章的重要性或者是對于一個語料庫,其中的某篇文檔的重要性[2]。詞組的重要性與其出現的頻次成正比的關系,與其在語料庫中出現的頻次成反比的關系。模型主要包含兩個主要內容:詞頻(TF) 和逆詞頻(IDF) ,TF代表詞組wn在文章dm中的出現頻率,IDF則是代表類別的區分,公式如下:
[TF(wn,dm)=fn,mi=1Nfi,m] (1)
[IDF(wn,dm)=log(DDwn+1)] (2)
其中dm代表文章集D={d1,d2,d3...dm}當中的任意某篇,m是文章集的總數,dm代表詞組的結合w={wn1,wn2,wn3,...,wN},N代表詞組的總數,fn,m代表wn在文檔dm中出現的次數。Xx代表文章dm中的所以詞組的和,D為文章的總數,Dwn表示文章的數據,為了避免分母為零的情況,在分母的位置加1。
2.2 one-hot編碼
one-hot編碼(獨熱編碼) 又稱一位有效碼,采用寄存器的形式對狀態進行編碼,每一個狀態都有其對應的寄存器位,同時在任意時刻只有一個狀態起效[3]。one-hot編碼是常用的將非結構化數據轉換成結構化數據的方式,對于一篇由多個詞組組成的文章而言,one-hot編碼將每個詞組表示為一個有效的向量。例:
文本1:My dog ate my homework.
文本2:My cat ate the sandwich.
文本3:A dolphin ate the homework.
[a, ate, cat, dolphin, dog, homework, my, sandwich, the]
文本1:[0 1 0 0 1 1 1 0 0]
文本1:My dog ate my homework
文本2:[0 1 1 0 0 0 1 1 1]
文本2:My cat ate the sandwich
文本3:[1 1 0 1 0 1 0 0 1]
文本3:A dolphin ate the homework
one-hot編碼雖然可以將非結構化的數據轉換為結構化的數據,但是忽略了句子的詞頻信息。
2.3 樸素貝葉斯模型
貝葉斯定理作為概率論的基本原理,由18世紀英國數學家托馬斯·貝葉斯提出,是對真實世界考慮的一種描述,即人們可以使用有限的經驗對未來要發生的事情進行估計。其核心思想是:當不能準確地了解一個事物的本質時,可以借助與該事物相關的事件去估計概率,事件發生得越多則出現的概率越大[4]。貝葉斯定理由于其基于的統計的特性,使得貝葉斯定理在包括醫學、災害預測、文本分類、語音識別等領域使用廣泛。
貝葉斯的數學表達通過先驗概率和全概率去計算得到對應的后驗概率:
[P(Ci丨B)=P(B丨Ci)P(Ci)i=1nP(B丨Cj)P(Cj)] (3)
其中B和C為隨機的事件。P(Ci)與P(Cj)同為先驗概率,根據先前的經驗得到對應的概率。P(Ci|B)為后驗概率,在已知B的條件之下,Ci對應的概率。
如何找到最大的條件概率arg maxP(c丨b),就是樸素貝葉斯的核心,即樸素貝葉斯分類公式:
[argmaxP(ci丨b)=argmaxP(b丨ci)P(ci)cinP(b丨ci)P(ci)] (4)
其中,c∈C、b∈B,通過先驗概率計算得到對應的后驗概率。
2.4 實驗數據
本文使用的短信基數為80萬條,由于垃圾短信的占比和非垃圾短信的占比差距較大,在篩選數據的時候,采用抽樣的方式進行,保證最后數據中,垃圾短信的占比和非垃圾短信的占比各占50%,其中80%的數據作為樣本訓練,其余的作為樣本的測試。
數據預處理和參數設置:
由上表可知,在原始數據中包含了很多無用的符號、空格,還有很多不標準的數據,導致了數據無法直接使用,首先要進行數據清洗,對原始數據進行處理,包括去除空格、文本去重、中文分詞、去停用詞。
2.5 評價指標
本文以準確率Precision,召回率Recall和F1作為模型性能的評價指標,公式如下:
[Precision=NrightNright+Nwrong] (5)
[Recall=TPTP+FN] (6)
[F1=2×Precison×RecallPrecison+Recall] (7)
其中Nright,Nwrong,TP,FN分別代表分類中的數量、錯誤的數量、非垃圾短信被判斷成非垃圾短信的量和非垃圾短信被判斷成垃圾短信的量[5]。
本文采用十字交叉法評估準確率。
3 實驗步驟
數據準備:整理實驗需要的相關數據,安裝對應的實現軟件,本文程序由python代碼實現。
數據處理:采用隨機抽樣的方式對數據進行抽樣處理,保證最后的正常短信的分布和垃圾短信的分布比例。同時對文本進行相關的處理。
模型建模:采用one-hot編碼對文本數據進行建模,為了對比兩種模型的準確性,一種采用one-hot編碼,第二種采用one-hot與TF-IDF相結合的方式進行文本建模。之后采用貝葉斯公式對向量化的數據進行計算和分類。
結果展示與分析:采用可視化的方式對最后的實驗結果進行展示和實驗分析總結。
4 實驗結果
本文設計了兩組對比實驗,分別使用了one-hot 高斯貝葉斯模型,one-hot結合TF-IDF的高斯貝葉斯模型。對兩種模型根據不同的訓練集進行實驗的結果如下:
5 模型下對比分析
兩種模型的準確率可以看出,在結合了TF-IDF的貝葉斯模型其準確率比沒有使用TF-IDF的模型要有一定的提升。
通過上述實驗,可以得到結論:在充分考慮了詞頻后,模型的精確度得到有效的提高,可以達到更好的分類效果。
6 結束語
本文將one-hot與TF-IDF模型相結合放入高斯貝葉斯模型中,設計出的結合TF-IDF 高斯貝葉斯模型,將其使用在垃圾分類領域,通過兩組實驗對比,驗證了改模型具有良好的分類效果。
由于TF-IDF只是考慮了詞與文檔之間的關系,并沒有充分考慮到上下文當中詞與詞之間是否存在某種聯系,所以在日后的工作中,優化TF-IDF的計算方法,使得改模型可以在以后的應用中發揮更佳的效果。
參考文獻:
[1] 金小梅,毛本清.基于改進貝葉斯算法的垃圾短信過濾研究[J].科技與創新,2019(6):21-23.
[2] 王紅,王雅琴,黃建國.基于文本分詞樸素貝葉斯分類的圖書采訪機制探索[J].現代情報,2021,41(9):74-83.
[3] 雷朔,劉旭敏,徐維祥.基于詞向量特征擴展的中文短文本分類研究[J].計算機應用與軟件,2018,35(8):269-274.
[4] Kim Y,Jernite Y,Sontag D,et al.Character-aware neural language models[EB/OL].2015:arXiv:1508.06615.https://arxiv.org/abs/1508.06615
[5] 唐明,朱磊,鄒顯春.基于Word2Vec的一種文檔向量表示[J].計算機科學,2016,43(6):214-217,269.
【通聯編輯:王力】