1、One-hot編碼
0、1表示
缺點是矩陣稀疏,維數高和不能保留語義
2、詞袋(BOW)模型
統計各詞在文本中出現次數
缺點是不能保留語義,維數高和稀疏性
3、TF-IDF
詞頻*逆詞頻
缺點是不能保留語義
4、N-Gram
考慮了詞的順序
N=1時稱爲unigram,N=2稱爲bigram,N=3稱爲trigram
缺點是隨着N的增大,詞表迅速膨脹,數據出CBOW現大量稀疏的問題。
5、Word2Vec
CBOW
CBOW是一個三層神經網絡,特點是輸入已知上下文,輸出對當前單詞的預測。
Skip-Gram
Skip-Gram與CBOW相反,即已知某個詞語,預測周圍的詞語。
在skip-gram裏面,每個詞在作爲中心詞的時候,實際上是 1個學生 VS K個老師,K個老師(周圍詞)都會對學生(中心詞)進行“專業”的訓練,這樣學生(中心詞)的“能力”(向量結果)相對就會紮實(準確)一些,但是這樣肯定會使用更長的時間;
cbow是 1個老師 VS K個學生,K個學生(周圍詞)都會從老師(中心詞)那裏學習知識,但是老師(中心詞)是一視同仁的,教給大家的一樣的知識。至於你學到了多少,還要看下一輪(假如還在窗口內),或者以後的某一輪,你還有機會加入老師的課堂當中(再次出現作爲周圍詞),跟着大家一起學習,然後進步一點。因此相對skip-gram,你的業務能力肯定沒有人家強,但是對於整個訓練營(訓練過程)來說,這樣肯定效率高,速度更快。
延申知識:
由於word2vec有兩種改進方法,一種是基於Hierarchical Softmax的,另一種是基於Negative Sampling的。
- 基於Hierarchical Softmax:
word2vec對這個模型做了改進,首先,對於從輸入層到隱藏層的映射,沒有采取神經網絡的線性變換加激活函數的方法,而是採用簡單的對所有輸入詞向量求和並取平均的方法。比如輸入的是三個4維詞向量:(1,2,3,4),(9,6,11,8),(5,10,7,12),那麼我們word2vec映射後的詞向量就是(5,6,7,8)。由於這裏是從多個詞向量變成了一個詞向量。
第二個改進就是從隱藏層到輸出的softmax層這裏的計算量個改進。爲了避免要計算所有詞的softmax概率,word2vec採樣了霍夫曼樹來代替從隱藏層到輸出softmax層的映射。我們在上一節已經介紹了霍夫曼樹的原理。
具體原理可參考https://www.cnblogs.com/pinard/p/7243513.html