iT邦幫忙

2021 iThome 鐵人賽

DAY 14
0
自我挑戰組

30天初步了解自然語言處理-自學筆記系列 第 14

[Day14] 文本/詞表示方式(五)-word2vec

一. 前言

這篇是word2vec的paper,網址:https://arxiv.org/pdf/1301.3781.pdf

其實文字轉向量這件事在很久之前就有許多人在研究,但過去研究的花費時間過高、架構也很複雜,paper中也有提到NNLM(Feedforward Neural Net Language Model)這種方法,於是呢,作者就決定提出一個架構簡單,但又可以表示詞的方法,word2vec就這樣誕生了,他也分成2種方法: CBOW(Continuous Bag-of-Words)與skip-gram。

二. CBOW(Continuous Bag-of-Words)

下圖就是CBOW的模型,圖來自原paper,是一個類神經網路的模型,只是只有一層hidden layer,其方法就是利用上下文來預測中間的詞出現的機率是多少,以下圖來說的話可以當成現在有五個詞,利用前兩個詞(w(t-1)跟w(t-2))與後兩個詞(w(t+1)跟w(t+2))來預測中間詞(w(t))出現的機率,輸入及輸出層都是以one-hot representation來表示的,藉由不斷的訓練(SGD以及Backpropagation來調整權重)input到projection的權重,最後這些權重就變成了詞向量。

https://ithelp.ithome.com.tw/upload/images/20210914/20140426h1JjR864l1.png

三. skip-gram

第二個word2vec的模型是skip-gram,架構圖如下圖,其訓練方式與CBOW相同,輸入及輸出層也都是one-hot representation的形式,但整體概念是用中間詞來訓練上下文出現詞的機率,跟CBOW剛好相反。以剛剛的句子“我 今天 很 帥”,就是我用 “今天” 來預測 “我” 及 “很”這2個詞出現的機率,在最大化機率的過程中也訓練了從input層到到projection層的權重。

https://ithelp.ithome.com.tw/upload/images/20210914/20140426NqWaK7DTVw.png

四. 優缺點

通常來說,cbow的方式需預測的詞較少,花費的時間較短,訓練時的詞向量較為平均; 而skip-gram預測的詞較多,但花費的時間長,遇到僻詞出現次數較少時,多次的訓練會使詞向量相對的更加準確。


明天會以gensim來實作word2vec


上一篇
[Day13] 文本/詞表示方式(四)-共現矩陣與降維
下一篇
[Day15] 文本/詞表示方式(五)-實作word2vec
系列文
30天初步了解自然語言處理-自學筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言