1. 程式人生 > >中文文字分類(機器學習演算法原理與程式設計實踐筆記)

中文文字分類(機器學習演算法原理與程式設計實踐筆記)

以文字分類演算法為中心,詳細介紹一箇中文文字分類專案的流程及相關知識,知識點涉及中文分詞、向量空間模型、TF-IDF方法、幾個典型的文字分類演算法;主要有樸素貝葉斯演算法,kNN最近鄰演算法。
所用到的外部庫:jieba 分詞、Scikit-Learning

文字挖掘(Text Mining)是從非結構化文字資訊中獲取使用者感興趣或者有用的模式的過程。是指從大量文字資料中抽取事先未知的、可理解的、最終可用的知識的過程,同時運用這些知識更好地組織資訊以便將來參考。

在分析機器學習的資料來源中最常見的知識發現主題是把資料物件或事件轉換為預定的類別,再根據類別進行專門的處理,這是分類系統的基本任務。

當前有兩種主要的文字分類方法,一種是基於模式系統(通過運用知識工程技術),還有一種是分類模式(通過使用統計/或機器學習技術)。專家系統的方法是將專家的知識以規則表示式的形式編碼成分類系統。機器學習的方法是一個廣義的歸納的過程,採用一組預分類的例子,通過訓練建立分類。

中文語言的文字分類技術和流程

  1. 預處理:去除文字的噪聲資訊
  2. 中文分詞:使用中文分詞器為文字分詞,並去除停用詞
  3. 構建詞向量空間:統計文字詞頻,生成文字的詞向量空間
  4. 權重策略——TF-IDF方法:使用TF-IDF發現特徵詞,並抽取為反映文件主題特徵
  5. 分類器:使用演算法訓練分類器
  6. 評價分類結果:分類器的測試結果分析

文字預處理

文字處理的核心任務就是要把非結構化和半結構化的文字轉換為結構化的形式,即向量空間模型

  1. 選擇處理文字的範圍

    選擇適當的範圍取決於文字挖掘任務的目標: 對於分類或聚類的任務,往往把整個文件作為處理單位;對於情感分析、文件自動文摘或資訊檢索,段落或章節可能更合適

  2. 建立分類文字預料庫

訓練集語料是指已經分好類的文字資源
目前比較好的中文分類語料庫有復旦大學譚鬆波中文文字分類語料庫
下載地址

中文分詞介紹

中文分詞(chinese word segmentation)指的是將一個漢字序列劃分成一個個單獨的詞。分詞就是將連續的字序列按照一定的規範重新組合成詞序列的過程。中文分詞,不僅是中文文字分類的一大問題,也是中文自然語言處理的核心問題之一。
最終完全解決中文分詞的演算法是基於概率圖模型的條件隨機場(CRF)