Word2Vec Model

1. 介紹

自然語言處理的一個(gè)重要方法是將自然語言處理問題轉(zhuǎn)化為機(jī)器學(xué)習(xí)問題糠亩。轉(zhuǎn)換為機(jī)器學(xué)習(xí)問題的第一個(gè)步驟,是將自然語言數(shù)值化, 簡單的說就是如何用數(shù)學(xué)的語言去表示一個(gè)詞,一個(gè)句子骂删,一篇文章。早期人們將詞匯表中的單詞按照索引編號四啰,再用one-hot編碼去表示句子宁玫。這樣做的好處是非常的簡單,而且經(jīng)過one-hot編碼之后的文章都是固定長度的柑晒,這也為后續(xù)的數(shù)據(jù)處理帶來了許多方便欧瘪。但是,one-hot編碼的劣勢也是非常明顯的匙赞,第一恋追,不能表示詞序,第二罚屋,不能展現(xiàn)單詞與單詞之間的關(guān)系, 第三嗅绸,當(dāng)詞匯表非常龐大的時(shí)候而文章又比較短的時(shí)候就會造成矩陣過分稀疏和維度災(zāi)難脾猛。 word2vec的引入在很大程度解決了one-hot編碼的劣勢。word2vec顧名思義就是完成了詞到向量的映射鱼鸠;把每一個(gè)詞映射到一個(gè)固定維度的低維向量中猛拴,且向量的表示不是隨機(jī)的羹铅,相同的詞性在向量表達(dá)上比較相似,也就有相近的向量距離(可以是歐式距離或者余弦距離等)愉昆。word2vec利用無監(jiān)督的深度學(xué)習(xí)方法职员,只需要投入文本,學(xué)習(xí)的過程無需人工干預(yù)跛溉。

2. 兩個(gè)模型(可選其一)

在語言模型上焊切,word2vec可以分為兩類,CBOW 和 Skip-Gram芳室。CBOW的思想是利用上下文去預(yù)測中間的詞专肪,skip-gram則是利用中間的詞去預(yù)測上下文

2.1 CBOW 模型

two models

以CBOW 為例, 整個(gè)算法的目的就在于:


CBOW cost

在細(xì)節(jié)之外記住我們的目標(biāo): 用內(nèi)容預(yù)測單詞堪侯。在構(gòu)建這個(gè)模型的過程中順帶會優(yōu)化詞向量嚎尤,但是這個(gè)順帶的副產(chǎn)品卻是我們真正需要的。我們需要時(shí)刻明確目標(biāo):優(yōu)化代價(jià)函數(shù)伍宦,這樣才不會被word2vec冗雜的細(xì)節(jié)問題迷惑芽死,意識到這一點(diǎn)非常重要。

2.2 Skip-gram Model

skip-gram 與CBOW 非常相似次洼,不同的是skip-gram 的目的是用中心詞預(yù)測周圍詞关贵,表現(xiàn)在代價(jià)函數(shù)就是把 | 左右調(diào)換順序。

3 兩套框架(可選其一)

image.png
image.png

4.Hierarchical Softmax & CBOW

https://arxiv.org/pdf/1411.2738.pdf
Hierarchical softmax是一種高效計(jì)算softmax 的方法滓玖,模型使用二叉樹表示所有的單詞坪哄,在這個(gè)模型中,所有的單詞被表示在二叉樹的葉子節(jié)點(diǎn)上势篡◆婕。可以證明的是,假如詞匯表的大小是||D||, 則二叉樹一共有||D|| 個(gè)葉子節(jié)點(diǎn)和||D|| - 1 個(gè)非葉子節(jié)點(diǎn)禁悠。從根節(jié)點(diǎn)到每一個(gè)葉子節(jié)點(diǎn)只有一個(gè)唯一的路徑念祭,這條路徑的長度用來刻畫單詞在語料庫中出現(xiàn)的概率,路徑越長碍侦,則詞頻越低(霍夫曼樹的思想)粱坤。

圖四 HS

在HS 的輸出結(jié)果中,并沒有輸出單詞的向量表示形式瓷产。取而代之的是站玄,||D|| -
1 個(gè)內(nèi)部節(jié)點(diǎn)(innear node)具有自己的表示向量:



輸出單詞的概率被定義為:


公式一

公式二

現(xiàn)在讓我們用一個(gè)簡單的實(shí)例來理解這個(gè)算法,看到圖四濒旦,假設(shè)我們要計(jì)算w_t 作為輸出單詞的概率株旷,我們定義作為輸出單詞的概率是從根節(jié)點(diǎn)root處一直走到葉子節(jié)點(diǎn)的概率,我們定義,在內(nèi)部節(jié)點(diǎn)n走到左子樹的概率定義為:
公式三

相應(yīng)的晾剖, 在內(nèi)部節(jié)點(diǎn)n 處走到右子樹的概率就可以定義為:

公式四

那么锉矢,我們從圖四中的根節(jié)點(diǎn)一路走到w_2的概率就可以表示為:

公式五

我們不難確定:

公式六

現(xiàn)在,我們就可以用求導(dǎo)數(shù)的方法來優(yōu)化內(nèi)部節(jié)點(diǎn)的向量表示了齿尽,為了簡單起見沽损,我們先從一個(gè)單詞內(nèi)容的模型出發(fā),從one-word context model 拓展到CBOW 和 skip-gram 模型就是一件比較簡單的事情了循头。
為了后續(xù)表達(dá)的簡便绵估,我們定義:

公式七

在每一次的訓(xùn)練實(shí)例中,error function(代價(jià)函數(shù))可以被定義為:

公式八

在這個(gè)問題中贷岸,我們首先將v_j * h 視為變量壹士, 并對其進(jìn)行求導(dǎo),這樣偿警,我們有:

公式九
補(bǔ)充解釋

下一步躏救,我們對內(nèi)部節(jié)點(diǎn)的向量表示進(jìn)行求導(dǎo),于是有:

公式10

這樣,我們就可以得出新的內(nèi)部節(jié)點(diǎn)的向量表示了:

公式11

這樣螟蒸,我們就在一次訓(xùn)練過程中更新了全部內(nèi)部節(jié)點(diǎn)上的向量的表示盒使。
緊接著,我們知道h 作為隱層的輸出七嫌,直接與輸入的向量相關(guān)少办,我們對h 求偏導(dǎo)數(shù),就可以得到輸入向量的最佳表示:

公式12

使用EH的值诵原,我們就可以直接進(jìn)行優(yōu)化輸入向量的表示了英妓。
以HS & CBOW model 作為例子介紹word2vec的一般思想。 word2vec 迄今為止主要以 { Skip-gram , CBOW } {HS, Negative Sampling}的組合為主構(gòu)建架構(gòu)绍赛,在未來有需要的時(shí)候蔓纠,還是要拿出來繼續(xù)學(xué)習(xí)的。

PLACEHOULDER for Skip-Gram, NS etc...

非常棒的資源:
word2vec中的數(shù)學(xué)
http://mccormickml.com/assets/word2vec/Alex_Minnaar_Word2Vec_Tutorial_Part_II_The_Continuous_Bag-of-Words_Model.pdf
https://arxiv.org/pdf/1411.2738.pdf

Gensim 的word2vec 工具使用

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末吗蚌,一起剝皮案震驚了整個(gè)濱河市腿倚,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蚯妇,老刑警劉巖敷燎,帶你破解...
    沈念sama閱讀 218,525評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異箩言,居然都是意外死亡硬贯,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,203評論 3 395
  • 文/潘曉璐 我一進(jìn)店門陨收,熙熙樓的掌柜王于貴愁眉苦臉地迎上來饭豹,“玉大人,你說我怎么就攤上這事∧矗” “怎么了?”我有些...
    開封第一講書人閱讀 164,862評論 0 354
  • 文/不壞的土叔 我叫張陵菲饼,是天一觀的道長肾砂。 經(jīng)常有香客問我,道長宏悦,這世上最難降的妖魔是什么镐确? 我笑而不...
    開封第一講書人閱讀 58,728評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮饼煞,結(jié)果婚禮上源葫,老公的妹妹穿的比我還像新娘。我一直安慰自己砖瞧,他們只是感情好息堂,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,743評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著块促,像睡著了一般荣堰。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上竭翠,一...
    開封第一講書人閱讀 51,590評論 1 305
  • 那天振坚,我揣著相機(jī)與錄音,去河邊找鬼斋扰。 笑死渡八,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的传货。 我是一名探鬼主播屎鳍,決...
    沈念sama閱讀 40,330評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼损离!你這毒婦竟也來了哥艇?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,244評論 0 276
  • 序言:老撾萬榮一對情侶失蹤僻澎,失蹤者是張志新(化名)和其女友劉穎貌踏,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體窟勃,經(jīng)...
    沈念sama閱讀 45,693評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡祖乳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,885評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了秉氧。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片眷昆。...
    茶點(diǎn)故事閱讀 40,001評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出亚斋,到底是詐尸還是另有隱情作媚,我是刑警寧澤,帶...
    沈念sama閱讀 35,723評論 5 346
  • 正文 年R本政府宣布帅刊,位于F島的核電站纸泡,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏赖瞒。R本人自食惡果不足惜女揭,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,343評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望栏饮。 院中可真熱鬧吧兔,春花似錦、人聲如沸袍嬉。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,919評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽冬竟。三九已至欧穴,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間泵殴,已是汗流浹背涮帘。 一陣腳步聲響...
    開封第一講書人閱讀 33,042評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留笑诅,地道東北人调缨。 一個(gè)月前我還...
    沈念sama閱讀 48,191評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像吆你,于是被迫代替她去往敵國和親弦叶。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,955評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 前面的文章主要從理論的角度介紹了自然語言人機(jī)對話系統(tǒng)所可能涉及到的多個(gè)領(lǐng)域的經(jīng)典模型和基礎(chǔ)知識妇多。這篇文章伤哺,甚至之后...
    我偏笑_NSNirvana閱讀 13,911評論 2 64
  • 關(guān)鍵詞:自然語言處理(NLP),詞向量(Word Vectors)者祖,奇異值分解(Singular Value De...
    xiiao蝸牛閱讀 2,868評論 0 13
  • 1.NLP當(dāng)前熱點(diǎn)方向 詞法/句法分析 詞嵌入(word embedding) 命名實(shí)體識別(Name Entit...
    __Aragorn閱讀 6,030評論 1 9
  • 一池春水立莉, 三面涼塵 蕭瑟了青帝白發(fā) 沒冷秋雪煙沙 碧徹寒傷野馬 葉墨漓灑 早已寫遍歲月無涯 你回眸斂黛 彌黯十里...
    亦湫閱讀 750評論 30 51
  • 如果問我,《紅樓夢》最欣賞誰七问?我真的很難給出答案蜓耻。 但如果問我,《紅樓夢》里最羨慕誰械巡?我一定毫不猶豫地回答——傻大...
    新新劇評閱讀 311評論 2 3