2020自然語言處理—skip-gram 實現(xiàn)

nlp_cover.jpg

word2vec 不是模型而是工具根盒,包含兩個模型一個跳字模型(skip-gram)和連續(xù)詞袋模型(CBow),word2vec 詞向量可以比較好表達不同詞之間的相似度和類比關系箕母。

在開始介紹模型前我們先了解一些概念

  • 中心詞
  • 背景詞
  • 窗口

\prod_{t=1}^T \prod_{-m <= j <= m, j \neq 0} P(w^{(t+j)}|w^{(t)})

  • m 表示窗口的大小
  • T 表示文本中詞的數量
  • t 表示第幾個詞

我們這里用了一個樸素假設医寿,就是這里用中心詞生成背景詞概率是相互獨立访敌,所以這里用了連乘牡属。那么上面公式就是表示文本中每一個詞作為中心詞生成背景詞的聯(lián)合概率。我們目標就是最大化這個聯(lián)合概率,最大化這個聯(lián)合概率就等于最小化這個聯(lián)合函數

-\frac{1}{T} \sum_{t=1}^T \sum_{-m <= j <= m, j \neq 0} \log P(w^{(t+j)}|w^{(t)})

前面加了負號就表示最大化上面公式就等于最小化這個公式。下面問題是如何最小化這個損失函數。希望通過找到中心詞和背景詞的向量表達來最小化這個損失函數收奔。

P(w_o|w_c) = \frac{\exp(u_o^Tv_c)}{\sum_{i \in v} \exp(u_i^T,v_c)}

我們如何設計向量表達式來表示在給定中心詞出現(xiàn)背景詞的概率呢掌呜。假設我們有個詞典 V ,在詞典中每一個詞都有對應的索引。

  • u_o 表示背景詞的向量
  • v_c 表示中心詞的向量
  • 我們通過計算他們點積u_i^T,v_c取 softmax 來表示P(w_o|w_c)概率
  • 在模型中每一個詞都有兩個向量分別表示作為背景詞和中心詞的向量c:\vec{v_c},\vec{u_c},根據在模型中其作用不同使用他的不同向量

隨機梯度下降坪哄,計算模型參數梯度
\frac{\partial P(w_o|w_c)}{\partial v_c} = u_o - \sum_{j \in v} \frac{\exp (u_j^T v_c)}{\sum_{i \in v} \exp(u_i^T v_c)}

\frac{\partial P(w_o|w_c)}{\partial v_c} = u_o - \sum_{j\in v} P(w_j|w_c)u_j
我們可以通過計算梯度下降质蕉,不斷迭代來的得到v_o,同理可以計算出u_o最終對于索引為 i 的詞,我們可以得到這個詞作為背景詞和中心詞向量u_iv_i

計算開銷O|V|

模型參數

v_c = v_c - \frac{\partial L}{\partial v_c}

在連續(xù)詞袋模型中我們是用背景詞來生成中心詞翩肌,而在跳字模型中我們使用中心詞生成背景詞模暗。

\prod_{t=1}^T P(w^{(t)}|w^{(t-m)},\dots,w^{(t-1)},w^{(t+1)},\dots,w^{(t+m)})

損失函數
-\sum_{t=1}^T \log P(w^{(t)}|w^{(t-m)},\dots,w^{(t-1)},w^{(t+1)},\dots,w^{(t+m)})

P(w_c|w_{o_{1}},\dots,w_{o_{2m}}) = \frac{\exp [u_c^T(v_{o_{1}} + \dots + v_{o_{2m}} )/(2m)]}{ \sum_{i \in v} \exp [u_i^T(v_{o_{1}} + \dots + v_{o_{2m}})/(2m)] }

\frac{\partial \log\, P(w_c \mid \mathcal{W}_o)}{\partial \boldsymbol{v}_{o_i}} = \frac{1}{2m} \left(\boldsymbol{u}_c - \sum_{j \in \mathcal{V}} \frac{\exp(\boldsymbol{u}_j^\top \bar{\boldsymbol{v}}_o)\boldsymbol{u}_j}{ \sum_{i \in \mathcal{V}} \text{exp}(\boldsymbol{u}_i^\top \bar{\boldsymbol{v}}_o)} \right) = \frac{1}{2m}\left(\boldsymbol{u}_c - \sum_{j \in \mathcal{V}} P(w_j \mid \mathcal{W}_o) \boldsymbol{u}_j \right).

我們用背景詞向量求一個平均,

無論是連續(xù)詞袋模型還是跳字模型他們算法還是比較直觀念祭,但是都是因為使用到了 softmax 所以計算量開銷都比較大兑宇。

在是在詞向量中使用到了兩個算法來解決問題,一個是負采樣和一個是層次 softmax 法粱坤。近似訓練法隶糕。怎么通過近似訓練解決問題,softmax 問題站玄,在分母引入了字典中所有的詞枚驻。softmax 考慮我們背景詞可能是詞典中任意一個詞,這樣才能得到合理概率株旷,也就是歸一化的作用再登,這是就是上面帶來大量運算開銷的根源。

我們看w_o

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末晾剖,一起剝皮案震驚了整個濱河市锉矢,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌齿尽,老刑警劉巖沈撞,帶你破解...
    沈念sama閱讀 211,496評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異雕什,居然都是意外死亡缠俺,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,187評論 3 385
  • 文/潘曉璐 我一進店門贷岸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來壹士,“玉大人,你說我怎么就攤上這事偿警□锞龋” “怎么了?”我有些...
    開封第一講書人閱讀 157,091評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長盒使。 經常有香客問我崩掘,道長,這世上最難降的妖魔是什么少办? 我笑而不...
    開封第一講書人閱讀 56,458評論 1 283
  • 正文 為了忘掉前任苞慢,我火速辦了婚禮,結果婚禮上英妓,老公的妹妹穿的比我還像新娘挽放。我一直安慰自己,他們只是感情好蔓纠,可當我...
    茶點故事閱讀 65,542評論 6 385
  • 文/花漫 我一把揭開白布辑畦。 她就那樣靜靜地躺著,像睡著了一般腿倚。 火紅的嫁衣襯著肌膚如雪纯出。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,802評論 1 290
  • 那天敷燎,我揣著相機與錄音潦刃,去河邊找鬼。 笑死懈叹,一個胖子當著我的面吹牛乖杠,可吹牛的內容都是我干的。 我是一名探鬼主播澄成,決...
    沈念sama閱讀 38,945評論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼胧洒,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了墨状?” 一聲冷哼從身側響起卫漫,我...
    開封第一講書人閱讀 37,709評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎肾砂,沒想到半個月后列赎,有當地人在樹林里發(fā)現(xiàn)了一具尸體,經...
    沈念sama閱讀 44,158評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡镐确,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,502評論 2 327
  • 正文 我和宋清朗相戀三年包吝,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片源葫。...
    茶點故事閱讀 38,637評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡诗越,死狀恐怖,靈堂內的尸體忽然破棺而出息堂,到底是詐尸還是另有隱情嚷狞,我是刑警寧澤块促,帶...
    沈念sama閱讀 34,300評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站床未,受9級特大地震影響竭翠,放射性物質發(fā)生泄漏。R本人自食惡果不足惜薇搁,卻給世界環(huán)境...
    茶點故事閱讀 39,911評論 3 313
  • 文/蒙蒙 一斋扰、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧只酥,春花似錦、人聲如沸呀狼。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,744評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽哥艇。三九已至绝编,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間貌踏,已是汗流浹背十饥。 一陣腳步聲響...
    開封第一講書人閱讀 31,982評論 1 266
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留祖乳,地道東北人逗堵。 一個月前我還...
    沈念sama閱讀 46,344評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像眷昆,于是被迫代替她去往敵國和親蜒秤。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,500評論 2 348