自然語言處理中的Word Embedding簡介

本文參考自What Are Word Embeddings for Text

簡介

Word Embedding可以將word轉化爲數值型詞向量,便於後續機器學習和深度學習模型的訓練。並且,word之間的相似性越大,詞向量之間的距離越小。

Word Embedding有兩大優勢:

  • 原本離散的word被轉化爲連續的數值型向量,便於計算。
  • 包含更多的信息:因爲相似word的詞向量在數值上是相近的。

Word Embedding的幾種算法

Embedding Layer

藉助神經網絡(Embedding Layer)進行Word Embedding,神經網絡的輸入是one-hot的word,輸出是詞向量。神經網絡可以是DNN,也可以是RNN。

這種方法需要非常多的訓練數據,如果訓練充分的話,效果會比較好。

Word2Vec

Word2Vec是2013年穀歌員工提出的Word Embedding算法,到目前爲止,該算法也是Word Embedding流域的第一選擇。

Word2Vec不僅能在快速完成詞嵌入,而且在詞向量中保留word之間的關係。它包含兩個子算法:

  • CBOW:利用上下文預測當前word
  • Skip-Gram:利用當前word預測上下文

CBOW和Skip-gram
Word2Vec中有一個重要的超參數——窗口大小,窗口越大,包含更多的上下文,使詞向量更加趨同;窗口越小,包含更少的上下文,詞向量趨於個性化。

GloVe

GloVe是一種對Word2Vec算法的延伸,因爲它使用了全局統計信息,使用co-current matric代替word2vec中的窗口。關於GloVe算法可以參考GloVe詳解

Word Embedding的使用

  1. 下載現成的word2vec或glove詞向量
  2. 自行訓練一個通用的word embedding model
  3. 爲不同的任務分別訓練不同的word embedding model
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章