★skip-gram的關鍵術語與詳細解釋:
【語料】——
所有句子文檔(當然會出現大量重復的單詞)
【詞典(可用V維的onehot編碼來表示)】——
語料中出現的所有單詞的集合(去除了重復詞)
【窗口大小(上下文詞語數量m)】——
即指定中心詞后我們關注的上下文數量定為該中心詞前m個詞和后m個詞(一共2m個上下文詞)。
【詞典中心詞向量矩陣(下圖d×V維的W矩陣)】——
通俗來說詞典中心詞向量矩陣是由詞典中的一個單詞的詞向量組合而成的(每一列就是詞典中的一個單詞的詞向量),而每一個詞的詞向量就是假設我們的詞典包含了d個維度的抽象信息。
這d個維度儲存的抽象信息:從模型的角度來說就是作為中心詞而言,它與上下文會出現詞之間的對應關系信息,從語言學的角度來說這樣的對應關系也很大程度上反映了詞性、語義、句法特征方面的信息。
【詞典上下文詞向量矩陣(下圖的V×d維的W'矩陣)】——
類似詞典中心詞向量矩陣,但這里的詞向量中d個維度儲存的抽象信息,是作為上下文的詞而言,它與中心詞之間的對應關系信息。
【最后Softmax歸一化后輸出的概率向量(下圖p(x|c)】——
就是詞典中每個詞成為當前指定中心詞的上下文的概率。我們要讓這個概率向量,逼近真實語料中基於指定中心詞基礎上這些上下文詞語出現的條件概率分布。
Skip-gram每一輪指定一個中心詞的2m個上下文詞語來訓練該中心詞詞向量和詞典上下文詞向量,下一輪則指定語料中下一個中心詞,查看其2m個上下文詞語來訓練。
如果下一輪出現了之前出現過的中心詞,之前那一輪可能着重訓練的是中心詞詞向量和詞典上下文詞向量的幾個維度值(關系信息),但由於這一輪是另外一個語境(上下文的2m個詞有差異),所以這一輪着重訓練的可能就是詞向量中的另外幾個維度值(關系信息),與之前的不一樣。
★skip-gram的核心:
通過查看所有語料的詞作為中心詞時,其(中心詞)與上下文的2m個詞語的所有共現情況,這樣就得到我們要逼近的中心詞與上下文對應關系的條件概率分布(這個概率分布是忽視掉了上下文詞語間的順序的),我們通過模型去訓練出詞典中心詞向量矩陣和詞典上下文詞向量矩陣(這兩個矩陣就是存儲了語料中中心詞與其上下文的對應關系信息)。
