商品评价判别,文本分类——学习笔记
FASTTEXT(Facebook開源技術)
二分類任務,監(jiān)督學習。
自然語言
NLP自然語言處理
步驟:
- 語料Corpus:好評和差評
- 分詞Words Segmentation:基于HMM構建dict tree
-
構建詞向量Construct Vector:
one-hot獨熱編碼
?
但是漢語中詞太多了,獨熱編碼的詞向量隨著詞庫中詞匯的增長,會變得非常大。
而且one hot沒法判斷順序
?
Google開山之作:TF-IDF(term frequency–inverse document frequency)
解決了頻率和特殊性的關系。TF即詞頻(Term Frequency),IDF即逆向文檔頻率(Inverse Document Frequency)。
TF(詞頻)就是某個詞在文章中出現(xiàn)的次數(shù),此文章為需要分析的文本。為了統(tǒng)一標準,有如下兩種計算方法:
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(1)TF(詞頻) =?某個詞在文章中出現(xiàn)的次數(shù) /?該篇文章的總次數(shù);
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(2)TF 詞頻 =?某個詞在文章中出現(xiàn)的次數(shù) /?該篇文章出現(xiàn)最多的單詞的次數(shù);
IDF(逆向文檔頻率)為該詞的常見程度,需要構建一個語料庫來模擬語言的使用環(huán)境。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?IDF 逆向文檔頻率 =log (語料庫的文檔總數(shù) / (包含該詞的文檔總數(shù)+1));
如果一個詞越常見,那么其分母就越大,IDF值就越小。?
但還是有詞向量長度的問題。
考慮到獨熱編碼的維度過大的缺點。對此進行如下改進:- 將vector每一個元素由整形改為浮點型,變?yōu)檎麄€實數(shù)范圍的表示
- 將原來稀疏的巨大維度壓縮嵌入到一個更小維度的空間
?word2vec
將獨熱編碼當作輸入,經(jīng)過神經(jīng)網(wǎng)絡,判斷one hot輸出的是什么詞
?
但是并沒有關心輸出的詞是什么。隱藏層,100個隱藏神經(jīng)元,100個權重。
而是將神經(jīng)網(wǎng)絡過程中的該層的權重作為了詞向量。vector。
最終100維,
?
?
Fast-Text
天生用來分類,直接將構建詞向量和模型(SVM、決策樹、神經(jīng)網(wǎng)絡方法)集合,直接輸出label類別標簽。
?
加載停用詞:細節(jié)在于:問號、嘆號包含人類情緒,要保留下來。
?
分詞后結果:
?
?
?
?兩種訓練模式:
CBOW (Continuous Bag-of-Words Model) Skip-gram (Continuous Skip-gram Model) CBOW:上下文來預測當前詞?
Skip-gram:當前詞預測上下文
?
【參考】
不懂word2vec,還敢說自己是做NLP? - 自然語言處理-煉數(shù)成金-Dataguru專業(yè)數(shù)據(jù)分析社區(qū) http://www.dataguru.cn/article-13488-1.html
FastText:快速的文本分類器 - 不忘初心~ - CSDN博客 https://blog.csdn.net/john_bh/article/details/79268850
?
谷歌最強 NLP 模型
BERT(Bidirectional?Encoder?Representations from?Transformers)
BERT介紹 - triplemeng的博客 - CSDN博客 https://blog.csdn.net/triplemeng/article/details/83053419
轉(zhuǎn)載于:https://www.cnblogs.com/wxl845235800/p/10158893.html
總結
以上是生活随笔為你收集整理的商品评价判别,文本分类——学习笔记的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: impala sql清单
- 下一篇: 计算机显示u盘隐藏分区,电脑删除U盘隐藏