七、朴素贝叶斯中文文本分类
生活随笔
收集整理的這篇文章主要介紹了
七、朴素贝叶斯中文文本分类
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1.樸素貝葉斯中文文本分類
- 中文分詞
- 停用詞
- 樸素貝葉斯中文分類舉例:新聞文檔分類
- 樸素貝葉斯中文分類的具體過程:加載停用詞、中文分詞、文本向量化、模型訓練和保存、模型的加載和預測。
2 中文分詞
2.1 中文的分詞的作用
- 在中文自然語言處理中,詞是最小的能夠獨立活動的有意義的語言成分。漢語是以字為基本書寫單位,詞語之間沒有明顯的區(qū)分標記,因此進行中文自然語言處理通常是先將漢語文本中的字符串切分成合理的詞語序列,然后再在此基礎上進行其它分析處理。
2.2 對文檔分詞
- 常用的分詞工具包括:jieba、THULAC和pkuseg
- 一篇文檔是由若干詞匯組成的,也就是文檔的主要信息是詞匯。
- 可以使用一些關鍵詞來描述文檔,提取文檔中的關鍵詞,就需要對文檔進行分詞
2.3 jieba分詞
- jieba是一款非常流行中文開源分詞包,具有高性能、準確率、可擴展性等特點。
- jieba支持四種分詞模式:精確模式、搜索引擎模式、全模式和paddle模式。
3 結巴分詞的實現(xiàn)
在這里插入代碼片 import jieba# jieba分詞 def method():seg_list = jieba.cut("我們正在學習自然語言處理", cut_all=False)print("【精確模式】:\t" + "/ ".join(seg_list)) # 精確模式,默認seg_list = jieba.cut_for_search("我們正在學習自然語言處理")print("【搜索引擎模式】:\t" + "/ ".join(seg_list)) # 搜索引擎模式seg_list = jieba.cut("我們正在學習自然語言處理", cut_all=True)print("【全模式】:\t\t" + "/".join(seg_list)) # 全模式seg_list = jieba.cut("我們正在學習自然語言處理", use_paddle=True) # 使用paddle模式print("【paddle模式】:\t" + '/ '.join(list(seg_list)))# main方法 def main():method()if __name__ == '__main__':main()4 停用詞
4.1 停用詞的作用
- 停用詞是一些非常普遍使用的詞語,對文檔分析作用不大,在文檔分析之前需要將這些詞去掉 。
- 中文停用詞:“你,我,他,它,的,了” 等。
- 英文停用詞:“is,a,the,this,that” 等。
- 停用詞文件:停用詞一般保存在文件中,需要自行讀取。
5 新聞文檔分類
5.1 中文分別分類:新聞文檔分類
- 新聞文檔報道,假設主題有三種類型:娛樂、政治、體育,假設現(xiàn)在有一篇新聞文檔x,請預測x屬于哪種新聞類型?
具體思路
- 計算x屬于娛樂新聞,政治新聞,體育新聞的三個概率值,然后比較哪個概率值大,就把X分到這個類別中。
貝葉斯公式計算可得:
步驟一:
-
搜集10000篇關于娛樂,政治,體育三類新聞文檔作為訓練樣本:
步驟二: -
計算類條件概率
步驟三:
- 根據(jù)概率,判斷對應文檔的類別
總結
以上是生活随笔為你收集整理的七、朴素贝叶斯中文文本分类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 五、朴素贝叶斯分类算法
- 下一篇: 八、朴素贝叶斯中文分类实战