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