1. 中文NLP筆記:中文自然語言處理的一般流程

圖片發自簡書App
今天開始一起學習中文自然語言處理
中文NLP一般流程
1. 獲取語料
語料,是NLP任務所研究的內容
通常用一個文字集合作為語料庫(Corpus)
來源:
已有語料
積累的文件
下載語料
搜狗語料、人民日報語料
抓取語料
2. 語料預處理
1.語料清洗
留下有用的,刪掉噪音資料
常見的資料清洗方式
人工去重、對齊、刪除和標註等,或者規則提取內容、正則表示式匹配、根據詞性和命名實體提取、編寫指令碼或者程式碼批處理等。
2.分詞
將文字分成詞語
常見的分詞演算法
基於字串匹配的分詞方法、基於理解的分詞方法、基於統計的分詞方法和基於規則的分詞方法
3.詞性標註
給詞語打詞類標籤,如形容詞、動詞、名詞等
在情感分析、知識推理等任務中需要
常見的詞性標註方法
基於規則
基於統計
如基於最大熵的詞性標註、基於統計最大概率輸出詞性和基於 HMM 的詞性標註。
4.去停用詞
去掉對文字特徵沒有任何貢獻作用的字詞,比如標點符號、語氣、人稱等
3. 特徵工程
把分詞表示成計算機能夠計算的型別,一般為向量
常用的表示模型
詞袋模型(Bag of Word, BOW)
TF-IDF
詞向量
One-hot
Word2Vec
4. 特徵選擇
選擇合適的、表達能力強的特徵
常見的特徵選擇方法
有 DF、 MI、 IG、 CHI、WLLR、WFO
5. 模型訓練
機器學習模型
KNN、SVM、Naive Bayes、決策樹、GBDT、K-means 等
深度學習模型
CNN、RNN、LSTM、 Seq2Seq、FastText、TextCNN
注意過擬合、欠擬合問題
過擬合:在訓練集上表現很好,但是在測試集上表現很差。
常見的解決方法有:
增大資料的訓練量;
增加正則化項,如 L1 正則和 L2 正則;
特徵選取不合理,人工篩選特徵和使用特徵選擇演算法;
採用 Dropout 方法等。
欠擬合:就是模型不能夠很好地擬合數據
常見的解決方法有:
新增其他特徵項;
增加模型複雜度,比如神經網路加更多的層、線性模型通過新增多項式使模型泛化能力更強;
減少正則化引數,正則化的目的是用來防止過擬合的,但是現在模型出現了欠擬合,則需要減少正則化引數。
注意梯度消失和梯度爆炸問題
6. 評價指標
錯誤率、精度、準確率、精確度、召回率、F1 衡量。
ROC 曲線、AUC 曲線
7. 模型上線應用
第一就是線下訓練模型,然後將模型做線上部署
第二種就是線上訓練,線上訓練完成之後把模型 pickle 持久化
學習資料:
《中文自然語言處理入門實戰》