999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于機器學習的垃圾短信識別應用

2020-04-08 09:30:50石鳳貴
電腦知識與技術 2020年3期
關鍵詞:機器學習

石鳳貴

摘要:隨著科技的快速發展,手持終端已成為我們日常生活和工作中不可或缺的一部分。信息技術正在不斷改變我們的工作和生活,但信息安全問題也給我們的信息和財產安全帶來了威脅,垃圾短信層出不窮。對于垃圾短信,應該構建一種智能化的攔截和過濾機制進行自動識別處理。本文介紹了機器學習算法和中文信息處理技術并構建了短信識別應用。

關鍵詞:機器學習;樸素貝葉斯;Scikit-Leam;垃圾短信

中圖分類號:TP181

文獻標識碼:A

文章編號:1009-3044(2020)03-0202-03

當前,信息技術正處于高速發展階段,各類詐騙電話、詐騙短信、垃圾短信層出不窮,這些垃圾類短信直接威脅到人們的日常生活和工作,稍有不慎就會導致經濟損失。對于對這些垃圾信息識別能力較差的人群更容易上當受騙。盡管現在出現了各類垃圾短信識別軟件,但對信息不能進行個性化攔截,大多還是依賴于黑白名單,識別攔截垃圾短信需要更加智能化。

短信內容屬于中文本數據,對垃圾短信應采用文本處理和分類技術進行文本挖掘。機器學習是一門多領域交叉學科,主要涉及概率與統計、計算機算法等,研究計算機模擬人類學習獲取新知識和技能,改進知識結構和性能。機器學習是人工智能的核心,人工智能通過機器學習得意實現。機器學習的研究主要包括決策樹、隨機森林、人工神經網絡、貝葉斯、支持向量機等。

本文介紹了使用機器學習方法來智能化識別垃圾短信,包括樸素貝葉斯算法、Sciki-Learn機器學習算法庫、TF-IDF、分類模型構建及測試評估。

1 機器學習

機器學習是計算機科學與人工智能的重要分支領域。計算機通過“數據”學習,“數據”相當于人的經驗,通過學習這些經驗數據生成一個算法模型,對于新的數據可以利用生成的模型進行判斷,這就是機器學習。機器學習就是從數據中產生模型的算法。數據集中的每條記錄是對一個事件或對象的描述,稱為樣本。從數據中獲得模型的過程稱為訓練即學習,這個過程中使用的數據稱為訓練數據。模型有時也稱為學習器,

機器學習過程如圖1所示。

Python Scikit-Leam庫封裝了多種機器學習算法,提供各種機器學習算法接口,可以讓用戶簡單、高效地進行數據挖掘和數據分析。本文使用Scikit-Learn進行垃圾短信文本數據分析。

2 樸素貝葉斯算法

樸素貝葉斯算法是一種分類算法,用于構建分類模型即分類器,允許使用概率給出一組特征來預測一個類,需要的訓練比較少。樸素貝葉斯是一種運用廣泛,分類效果比較突出的分類方法,特別是在處理文本分類任務,是一種分類效果比較好的方法。

3.1貝葉斯定理

3 相關關鍵技術

3.1 中文分詞

中文語句結構復雜,語句中詞語沒有明顯的分隔符號。詞是構成中文語句的基本單元,詞語之間緊密連接在一起組成語句。因此,理解語句需要先理解詞語,分詞質量的高低直接影響文本分詞效果。目前,中文分詞技術不斷完善,主要的分詞工具有NLPIR (Natural Language Processing&Information Re-trieval)、THULAC f THU LexicalAnalvzer for Chinese)、jieba分詞和Snow NLP等分詞器[2]。使用時,根據項目應用場景選用合適的中文分詞器。

文本的分類,基本上是基于詞袋模型,也就是一個文本中包含多少詞以及各個詞的頻率。對于英文,其天生的句子空格可以很容易分割單詞。但是中文就得先進行分詞處理,也就是將一個完整的中文分割為一個一個詞。Python提供了第三方模塊-jieba分詞來對中文進行分詞。

jieba中文分詞基于前綴詞典實現高效詞圖掃描,對句子中所有可能生成詞情況構成有向無環圖(DAG),采用動態查找最大概率路徑,切分出基于詞頻的最大切分組合。對于未登陸詞,采用漢字成詞HMM模型即隱馬爾科夫模型。對于停用詞,可以自定義。jieba分詞器被廣泛應用在中文分詞,用Python語言開發的開源免費分詞工具,同時根據文本內容可以自定義詞典和修改詞典。因此,本文采用jieba中文分詞器對短信內容進行分詞。

3.2 特征提取

特征數據表示輸入的數據,目標數據則是輸入數據的屬性,本文中,短信內容就是特征數據,短信的分類就是目標數據。本文使用機器學習Scikit-Leam算法庫實現應用。從文本中提取特征,需要利用到Scikit-Learn中的CountVectorizer0方法和TfidfTransformer0方法。CountVectorizer0用于將文本從標量轉換為向量,Tfidfl ransformer0則將向量文本轉換為tf-idf矩陣。

3.3 TF-IDF

TF-IDF(Term Frequency - Inverse Document Frequency)為“詞頻一逆文本頻率”,包括TF和IDF兩部分。TF為“詞頻”即文本中詞的出現頻率統計,作為文本特征。IDF為“逆文本頻率”,反應一個詞在所有文檔中出現的頻率。如果一個詞在多個文本中出現,則IDF值低;如果一個詞在較少的文本中出現,則IDF值高;如果一個詞在所有文本中均出現,則IDF值為0。IDF基本計算公式如公式10所示,N表示語料庫中文本數,Ⅳ(x)表示其中包含詞x的文本數:

4 應用實現

4.1 對短信內容進行分詞

jieba中文分詞支持三種模式[3]:

1)全模式

seg_list= jieba.cut(”我來到北京清華大學”,cut_aIl=True)

print(”全模式:”+”/¨.join(seg_list》

分詞結果:我/來到/北京/清華/清華大學/華大/大學

2)精確模式

seg_list= jieba.cut(”我來到北京清華大學”,cut_aIl=False)

print(”精準模式:”+”/”.join(seg_list》

分詞結果:我/來到/北京/清華大學

默認模式是精確模式

3)搜索引擎模式

seg_list= jieba. cut_for_search('小明碩士畢業于中國科學院計算所,后在日本京都大學深造”)

print(”,”.join(seg_list》

分詞結果:小明,碩士,畢業,于,中國,科學,學院,科學院,中國科學院,計算,計算所,后,在,日本,京都,大學,日本京都大學,深造

本文分詞模式采用默認,語料中增加一列存放分詞結果:

data= pd.read_csv(r”./data/rubmessage. csv”, encoding= 'utf_8,sep=,,)#導入短信數據

data[,分詞短信]-data[,短信內容].apply(lambda x:””.join(jieba.cut(x》)

data.head0#顯示前5個樣本

4.2 特征提取及分割數據集

特征數據表示輸入的數據,目標數據則是輸入數據的屬性。短信內容就是特征數據,短信的分類就是目標數據。代碼如下:

x= data[”分詞短信”].values

y= data[,分類,].values

使用skleam的分割模塊分割出訓練集和測試集,直接使用train_test_split0:

x_train, x_test. y_train. y_test=train_test_split(x,y,test_size=0.11

4.3 文本特征數字化

from sklearn. feature_extraction. text import TfidfTransformer,CountVectorizer

#定義向量轉換器和TF-IDF轉換器

vectorizer= CountVectorizer0

tfidf_transformer= TfidfTransformer0

#訓練集數字化

x_train_termcounts= vectorizer.fit_transform(x_train)

x_train_tfidf

=

tfidf_ transformer.fit_transform(x_train_termcounts)

#測試集數字化

x—test termcounts= vectorizer.transform(x_test)

x_test_tfidf= tfidf_transformer.transform(x_test_termcounts)

4.4 模型構建、測試及評估

1)構建樸素貝葉斯分類模型并訓練

from sklearn.naive_bayes import MultinomialNB

classifier= MultinomialNB O.fit(x_train_tfidf, y_train)

2)測試模型

predicted_categories= classifier.predict(x_test_tfidf)

print(predicted_categories)

結果:

[0 00001000000000000000000100000000 0 0 0000000 0 0 0 0 0 000000 0 0 0 1 0 0000000 0 00 0]

3)評估模型

from sklearn.metrics import accuracy_score print(”準確率:”,accuracy_score(y_test,predicted_c ategories》

評估結果:

準確率:0.9420289855072463

參考文獻:

[1]劉秋陽,林澤鋒,欒青青.基于樸素貝葉斯算法的垃圾短信智能識別系統[J].電腦知識與技術,2016,12(12):190-192.

[2]賴文輝,喬宇鵬.基于詞向量和卷積神經網絡的垃圾短信識別方法[J].計算機應用,2018,38(9):2469-2476.

[3]結巴中文分詞[EB/OL].https://github.com/fxsjy/jieba.

猜你喜歡
機器學習
基于詞典與機器學習的中文微博情感分析
基于網絡搜索數據的平遙旅游客流量預測分析
時代金融(2016年27期)2016-11-25 17:51:36
前綴字母為特征在維吾爾語文本情感分類中的研究
科教導刊(2016年26期)2016-11-15 20:19:33
下一代廣播電視網中“人工智能”的應用
活力(2016年8期)2016-11-12 17:30:08
基于支持向量機的金融數據分析研究
基于Spark的大數據計算模型
基于樸素貝葉斯算法的垃圾短信智能識別系統
基于圖的半監督學習方法綜述
機器學習理論在高中自主學習中的應用
極限學習機在圖像分割中的應用
主站蜘蛛池模板: 在线a视频免费观看| 欧美第一页在线| A级毛片无码久久精品免费| 久久精品人妻中文视频| 中文无码日韩精品| 精品福利国产| 欧美a在线看| 亚洲成人在线网| 国产精品女主播| 亚洲天堂伊人| 在线观看91精品国产剧情免费| 成人日韩视频| 亚洲精品无码人妻无码| 国产美女丝袜高潮| 国产熟女一级毛片| 天天干天天色综合网| 亚洲91在线精品| 国产精品无码久久久久AV| 国产精品成人AⅤ在线一二三四| 国产成人精品亚洲日本对白优播| 伊人无码视屏| 狠狠v日韩v欧美v| 找国产毛片看| 免费大黄网站在线观看| 在线看国产精品| 久久男人视频| 午夜精品久久久久久久99热下载 | 国产极品粉嫩小泬免费看| 一级毛片在线播放免费观看| 国产欧美日韩91| 九九视频在线免费观看| 国产一级做美女做受视频| 亚洲欧美另类日本| 欧美亚洲另类在线观看| 久久无码高潮喷水| 成人国产精品网站在线看| 57pao国产成视频免费播放| 污网站免费在线观看| 国产一级特黄aa级特黄裸毛片| 亚洲日本中文字幕乱码中文| 久热中文字幕在线观看| 国内精品一区二区在线观看| 亚洲区欧美区| 91欧洲国产日韩在线人成| 欧美成人午夜视频免看| 狠狠干综合| 亚洲人成网站日本片| 午夜欧美理论2019理论| 1024你懂的国产精品| 特级毛片免费视频| 欧美日韩免费观看| 国产乱子伦视频在线播放| 免费无遮挡AV| 国产成人久视频免费| 欧美三级视频在线播放| 99视频免费观看| 狠狠v日韩v欧美v| 五月丁香在线视频| 91蜜芽尤物福利在线观看| 国产在线观看一区精品| 国产激情影院| 1024国产在线| 在线观看国产黄色| 婷婷午夜影院| 91热爆在线| 99热最新网址| 欧美一区二区自偷自拍视频| 国产一区二区三区免费| 国产在线无码av完整版在线观看| 91黄色在线观看| 一本久道久综合久久鬼色| 亚洲国产一成久久精品国产成人综合| 亚洲福利片无码最新在线播放| 成人在线不卡视频| 日韩大乳视频中文字幕| 亚洲成人在线网| 国产91熟女高潮一区二区| 欧美天堂久久| 亚洲欧美一区在线| 日韩午夜福利在线观看| 亚洲成人www| 日韩精品一区二区三区免费在线观看|