1. 程式人生 > >NLP 相關演算法 Word2Vec embedding

NLP 相關演算法 Word2Vec embedding

在做NLP處理時,作為輸入的文字或語料不應以原始文字形式輸入,需要進行一定的數字化處理以方便機器進行計算(樹類演算法可以不進行處理)。Word2Vec本質上就是將原始文字進行數字化處理的一種方式。
最為簡單的文字數字化處理方式是one-hot方法,也就是建立一個長度等於字典長度的全零向量,向量的每個要素都指向一個詞彙,當我們需要表示某個詞彙時,只需將向量中指向該詞彙的0變為1即可。這樣任何一個單詞都可以用這個向量來表示,而一個句子則可以用一個矩陣來表示,但是這樣的向量和矩陣都將是非常稀疏的。另外的問題是,如果字典量大,那麼one-hot方法輸入的矩陣規模也將很大;另外,one-hot方法無法表達語義聯絡,即詞與詞之間的位置關係是無法用one-hot矩陣方法表示的。因此將原始文字轉化為one-hot矩陣將會損失大量的語義資訊,只能保持符號資訊,且計算效率較低。
Word2Vec方法就是為了解決上述問題而被提出的,首先,它希望將表示單個詞彙的與字典長度相同的one-hot向量縮短以提升計算效率,其次,表示不同詞彙的embedding向量將可以隱含詞彙間的語義聯絡。