色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

如何對短信日志數據記錄做數據分類

林子帆2年前29瀏覽0評論

如何對短信日志數據記錄做數據分類?

感謝邀請:

機器學習按性質來看,可以分為三大類:分類(監督)回歸(監督)聚類(半監督)垃圾短信通常用已標記的短信數據,對未知的短信進行判斷,其屬于機器學習中的分類性質。在Python中有很多機器學習的模塊,比如Sklearn、Tensorflow、Caffe等,可以很方便地調用一些機器學習的算法。垃圾短信識別

從技術方法上可以使用樸素貝葉斯機器學習模型對短信進行分類:

數據集用的常見的80w條帶標簽的中文短信,下載鏈接https://github.com/hrwhisper/SpamMessage/blob/master/data/%E5%B8%A6%E6%A0%87%E7%AD%BE%E7%9F%AD%E4%BF%A1.txt

1:數據處理先看看數據的樣子:

import pandas as pd data = pd.read_csv(r"H:\RubbishMessage\data\80w.txt",encoding='utf-8',sep=' ',header=None) data.head()

最后一列為短信的內容,倒數第二列則是短信的類型,0表示正常短信,1表示垃圾短信。然后,我們對短信內容按照不同的類型(正常短信和垃圾短信)進行分割和分詞:

# 垃圾短信

import jieba

spam = data[data[1] == 1]

spam[2] = spam[2].map(lambda x:' '.join(jieba.cut(x)))

spam.head()

# 正常短信

normal = data[data[1] == 0]

normal[2] = normal[2].map(lambda x:' '.join(jieba.cut(x)))

normal.head()

分別將不同類型分詞后的短信保存為不同的文件:

spam.to_csv('soam.csv',encoding='utf-8',header=False,index=False,columns=[2]) normal.to_csv('normal.csv',encoding='utf-8',header=False,index=False,columns=[2])

模型選擇和訓練

在此我們沒有選擇Sklearn或是其他的深度學習庫,而是選用NLTK自然語言處理庫來進行貝葉斯分類。導入模塊:

import nltk.classify.util from nltk.classify import NaiveBayesClassifier from nltk.corpus import PlaintextCorpusReader import random

加載剛剛導出的短信文件:

加載短信語料庫 message_corpus = PlaintextCorpusReader('./',['soam.csv','normal.csv']) all_message = message_corpus.words()

定義一個特征函數,用于生成特征:

def massage_feature(word,num_letter=1): return {'feature':word[-num_letter:]}

對短信特征進行標記提取:

labels_name = ([(massage,'垃圾') for massage in message_corpus.words('soam.csv')]+[(massage,'正常') for massage in message_corpus.words('normal.csv')]) random.seed(7) random.shuffle(labels_name)

訓練并預測模型

from nltk.classify import accuracy as nltk_accuracy featuresets = [(massage_feature(n),massage) for (n,massage) in labels_name] train_set,test_set = featuresets[2000:],featuresets[:2000] classifier = NaiveBayesClassifier.train(train_set)

最后,咱們看看預測的準確率怎么樣:

print('結果準確率:',str(100*nltk_accuracy(classifier,test_set))+str('%'))

在沒有調整優化參數的情況下,有百分之八十幾的準確率,后續調節參數,進行優化即可。

第二個方法你可以使用NLPIR大數據語義智能分析平臺對短信數據的分析挖掘,具體功能如下:

1. 精準采集:對境內外互聯網海量信息實時精準采集,有主題采集(按照信息需求的主題采集)與站點采集兩種模式(給定網址列表的站內定點采集)。可幫助用戶快速獲取海量信息,尤其是境外信息與情報的挖掘。

2.文檔轉換:對doc、excel、pdf與ppt等多種主流文檔格式,進行文本信息格式轉換,信息抽取準確率極高,效率達到大數據處理的要求。

3. 新詞發現(新詞發現+關鍵詞提取):新詞發現能從文本中挖掘出具有內涵新詞、新概念,用戶可以用于專業詞典的編撰,還可以進一步編輯標注,導入分詞詞典中,提高分詞系統的準確度,并適應新的語言變化;關鍵詞提取能夠對單篇文章或文章集合,提取出若干個代表文章中心思想的詞匯或短語,可用于精化閱讀、語義查詢和快速匹配等。

2. 批量分詞:對原始語料進行分詞、自動識別人名地名機構名等未登錄詞、新詞標注以及詞性標注。可在分析過程中,導入用戶定義的詞典。

5. 語言統計:針對切分標注結果,系統可以自動地進行一元詞頻統計、二元詞語轉移概率統計(統計兩個詞左右連接的頻次即概率)。針對常用的術語,會自動給出相應的英文解釋。

6. 文本聚類:能夠從大規模數據中自動分析出熱點事件,并提供事件話題的關鍵特征描述。同時適用于長文本和短信、微博等短文本的熱點分析。

7. 文本分類:包括專家規則類與機器訓練分類,針對事先指定的規則和示例樣本,系統自動從海量文檔中識別并訓練分類。NLPIR深度文本分類,可以用于新聞分類、簡歷分類、郵件分類、辦公文檔分類、評論數據分類等諸多方面。

8. 摘要實體(自動摘要+實體抽取):自動摘要能夠對單篇或多篇文章,自動提煉出內容的精華,方便用戶快速瀏覽文本內容。實體提取能夠對單篇或多篇文章,自動提煉出內容摘要,抽取人名、地名、機構名、時間及主題關鍵詞;方便用戶快速瀏覽文本內容。

9.智能過濾:對文本內容的語義智能過濾審查,內置國內最全詞庫,智能識別多種變種:形變、音變、繁簡等多種變形,語義精準排歧。

10.情感分析:針對事先指定的分析對象,自動分析海量文檔的情感傾向:情感極性及情感值測量,并在原文中給出正負面的得分和句子樣例。

11. 文檔去重:能夠快速準確地判斷文件集合或數據庫中是否存在相同或相似內容的記錄,同時找出所有的重復記錄。

12全文檢索:JZSearch全文精準檢索支持文本、數字、日期、字符串等各種數據類型,多字段的高效搜索,支持AND/OR/NOT以及NEAR鄰近等查詢語法,支持維語、藏語、蒙語、阿拉伯、韓語等多種少數民族語言的檢索。

13. 編碼轉換:自動識別文檔內容的編碼,并進行自動轉換,目前支持Unicode/BIG5/UTF-8等編碼自動轉換為簡體的GBK,同時將繁體BIG5和繁體GBK進行繁簡轉化。

java拆分txt文件,如何對短信日志數據記錄做數據分類