自然語言處理之詞向量模型介紹

nlp

我們?cè)谄饺盏纳钪兴f的話語局义,如何使用計(jì)算機(jī)自動(dòng)構(gòu)造出來呢惊来?

一.探究我們?cè)谡f一句話時(shí)蝗罗,無形中做了什么

1.人類語言通俗剖析

我想吃晚飯

??通過以上內(nèi)容夹纫,我們可以把句的意思拆分為:我·想·吃·晚飯栖忠。
我們通常在說“我”的時(shí)候崔挖,大腦其實(shí)是在思考下一個(gè)詞贸街,即“想”,然后說了“想”了同時(shí)狸相,開始思考下一個(gè)詞“吃”薛匪,以此類推。
??也就是說脓鹃,我們每一次說出下一個(gè)詞的時(shí)候逸尖,是基于上一個(gè)詞說的是什么而定的,這樣才能在表達(dá)出自己意思的同時(shí)能順利組織成一句話瘸右。
??這種思想很像條件概率娇跟?沒有錯(cuò),這種思想確實(shí)可以用條件概率表達(dá)出來:
P(S) = P(w_1,w_2,w_3,\cdots,w_n)=P(w_1)P(w_2|w_1)\cdots P(w_n|w_1,w_2,\cdots w_{n-1})
此處的P(S)被稱為語言模型太颤,也用來計(jì)算一個(gè)句子的概率苞俘。
??通過以上式子可看出,每次新出現(xiàn)的詞匯龄章,都和之前已經(jīng)出現(xiàn)的詞匯有很強(qiáng)的關(guān)聯(lián)(條件概率嘛)吃谣,所以越到后面的詞匯,所需要的條件概率越稀疏做裙,并且參數(shù)巨大(每個(gè)詞都是一個(gè)參數(shù)喲8诒铩)

  1. 數(shù)據(jù)過于稀疏
  2. 參數(shù)空間太大

2.-N-gram模型的出現(xiàn)

??而事實(shí)上,當(dāng)一個(gè)句子非常非常長(zhǎng)的時(shí)候(特別是中文),后面出現(xiàn)的詞匯很有可能和前面說的東西,產(chǎn)生的因果關(guān)系不大了锚贱。那么我們就可以進(jìn)行如下假設(shè):

我們每個(gè)詞匯出現(xiàn)的概率仔戈,只和前面一個(gè)詞匯相關(guān):
P(S)=P(w_1)P(w_2|w_1)P(w_3|w_2)\cdots P(w_n|w_{n-1})

我們每個(gè)詞出現(xiàn)概率,只和前面兩個(gè)詞相關(guān):
P(S)=P(w_1)P(w_2|w_1)P(w_3|w_2,w_1)\cdots P(w_n|w_{n-1},w_{n-2})

以此類推惋鸥,還可以每個(gè)詞和前面3個(gè)相關(guān)杂穷,4個(gè)等等....(對(duì)于處女座悍缠,這種玩法太難受了卦绣,但確實(shí)把問題化簡(jiǎn)了很多!)
??這種玩法就是傳說中的-N-gram模型飞蚓,其中N代表的就是和前面N個(gè)詞條件相關(guān)滤港。
??假設(shè)語料庫的規(guī)模是N,相關(guān)詞匯量是n趴拧,模型的參數(shù)量級(jí)為N^n溅漾。由此我們可以看到,隨著相關(guān)n的增長(zhǎng)著榴,參數(shù)規(guī)模增長(zhǎng)是十分迅速的添履。所以在進(jìn)行模型設(shè)計(jì)時(shí),要考慮到小伙伴電腦的牛逼程度才行脑又,目前主流計(jì)算機(jī)能支持到n=10的程度暮胧。一般讓n=4锐借,5都是ok的。

二.詞向量

1.Hierarchical softmax

①CBOW(Continuous Bag-of-Words)

根據(jù)上下文預(yù)測(cè)出某個(gè)空的詞是的內(nèi)容
\zeta = \sum_{w\in c}^{}\log P(w|Context(w))

  1. 根據(jù)詞頻往衷,對(duì)語句進(jìn)行哈夫曼樹的構(gòu)造(由底至上濟(jì)寧構(gòu)建)钞翔,詞頻即為哈夫曼權(quán)值。


    構(gòu)造過程

2.開始進(jìn)行計(jì)算啦席舍!
在計(jì)算之前布轿,首先解釋一下各個(gè)參數(shù)含義:

  1. p^w:從根節(jié)點(diǎn)出發(fā)到達(dá)w對(duì)應(yīng)葉子節(jié)點(diǎn)的路徑。
  2. l^w:路徑中包含的葉子節(jié)點(diǎn)個(gè)數(shù)来颤。
  3. p_1^w,p_2^w....p_n^wp^w中的各個(gè)節(jié)點(diǎn)汰扭。
  4. d_2^w,d_3^w....d_n^w \in \{0,1\}p^w上的第n個(gè)節(jié)點(diǎn)上對(duì)應(yīng)的編碼
  5. \theta_1^w,\theta_2^w,....\theta_n^wp^w非葉子節(jié)點(diǎn)對(duì)應(yīng)的參數(shù)

哈夫曼樹是一種二叉樹結(jié)構(gòu),也就是說福铅,利用二分類可以一步一步找到葉子節(jié)點(diǎn)东且,我們這里使用sigmod進(jìn)行二分類。所以:

正例:\sigma (x_w^T\theta)=\frac {1}{1+e^{-x_w^T\theta}}
負(fù)例:1-\sigma (x_w^T\theta)

通過以上兩個(gè)公式本讥,我們找到目標(biāo)的過程珊泳,無非可總結(jié)為以下兩種情況:

  • 走向正例時(shí):p(d_n^w|x_w\theta_{n-1}^w)=\sigma (x_w^T\theta_{n-1}^w)
  • 走向負(fù)例時(shí):p(d_n^w|x_w\theta_{n-1}^w)=1-\sigma (x_w^T\theta_{n-1}^w)

程序每次下尋找一次,都會(huì)經(jīng)歷上述兩個(gè)公式其中之一拷沸,最終會(huì)找到目標(biāo)詞匯色查,同時(shí)會(huì)留下一條路徑,把路徑的每一部都連乘起來就是:
p(text|Context(text))=\prod_{2}^{n}p(d_n^w|x_w\theta_{n-1}^w)
在累乘計(jì)算時(shí)撞芍,計(jì)算可能會(huì)比較困難秧了,我們把上述等式兩邊同時(shí)取對(duì)數(shù):
\zeta = \sum_{w\in c}^{}\log P(w|Context(w))
從公式可知,這里的概率值越大越好序无!所以此題目為求解梯度上升验毡。
對(duì)\zeta求導(dǎo),得:
\frac{\partial \zeta(w,n)}{\partial \theta_{n-1}^w}=[1-d_n^w-\sigma(x_w^T\theta_{n-1}^w)]x_w
由梯度上升可知帝嗡,更新形式為:
\theta_{j-1}^w:=\theta_{j-1}^w+\eta[1-d_n^w-\sigma(x_w^T\theta_{n-1}^w)]x_w
同樣晶通,對(duì)投影層的x_w進(jìn)行求導(dǎo):
\frac{\partial \zeta(w,n)}{\partial x_w}=[1-d_n^w-\sigma(x_w^T\theta_{n-1}^w)]\theta_{n-1}^w
投影中的x_w并不是單獨(dú)的詞向量,而是由詞向量拼接而成的一個(gè)大向量哟玷,然而狮辽,2013年google粗暴的將這個(gè)導(dǎo)數(shù)更新到各個(gè)詞向量中:
v(\widetilde{w}):= v(\widetilde{w})+\eta \sum_{n=2}^{l^w}\frac{\partial \zeta(w,n)}{\partial x_w} ,w \in Context(\widetilde w)

②Skip-Gram模型

其實(shí)就是把CBOW的流程倒過來,回推出各個(gè)詞向量巢寡。

2. 負(fù)采樣

??當(dāng)語料庫非常龐大的時(shí)候喉脖,將會(huì)構(gòu)造出非常龐大的哈夫曼樹,這樣仍然會(huì)增加計(jì)算機(jī)的壓力抑月,影響計(jì)算速度树叽。如何解決呢?那么我們下回分解谦絮!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末题诵,一起剝皮案震驚了整個(gè)濱河市须误,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌仇轻,老刑警劉巖京痢,帶你破解...
    沈念sama閱讀 207,113評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異篷店,居然都是意外死亡祭椰,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評(píng)論 2 381
  • 文/潘曉璐 我一進(jìn)店門疲陕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來方淤,“玉大人,你說我怎么就攤上這事蹄殃⌒” “怎么了?”我有些...
    開封第一講書人閱讀 153,340評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵诅岩,是天一觀的道長(zhǎng)讳苦。 經(jīng)常有香客問我,道長(zhǎng)吩谦,這世上最難降的妖魔是什么鸳谜? 我笑而不...
    開封第一講書人閱讀 55,449評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮式廷,結(jié)果婚禮上咐扭,老公的妹妹穿的比我還像新娘。我一直安慰自己滑废,他們只是感情好蝗肪,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評(píng)論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著蠕趁,像睡著了一般薛闪。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上妻导,一...
    開封第一講書人閱讀 49,166評(píng)論 1 284
  • 那天逛绵,我揣著相機(jī)與錄音,去河邊找鬼倔韭。 笑死,一個(gè)胖子當(dāng)著我的面吹牛瓢对,可吹牛的內(nèi)容都是我干的寿酌。 我是一名探鬼主播,決...
    沈念sama閱讀 38,442評(píng)論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼硕蛹,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼醇疼!你這毒婦竟也來了硕并?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,105評(píng)論 0 261
  • 序言:老撾萬榮一對(duì)情侶失蹤秧荆,失蹤者是張志新(化名)和其女友劉穎倔毙,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體乙濒,經(jīng)...
    沈念sama閱讀 43,601評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡陕赃,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了颁股。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片么库。...
    茶點(diǎn)故事閱讀 38,161評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖甘有,靈堂內(nèi)的尸體忽然破棺而出诉儒,到底是詐尸還是另有隱情,我是刑警寧澤亏掀,帶...
    沈念sama閱讀 33,792評(píng)論 4 323
  • 正文 年R本政府宣布忱反,位于F島的核電站,受9級(jí)特大地震影響滤愕,放射性物質(zhì)發(fā)生泄漏缭受。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評(píng)論 3 307
  • 文/蒙蒙 一该互、第九天 我趴在偏房一處隱蔽的房頂上張望米者。 院中可真熱鬧,春花似錦宇智、人聲如沸蔓搞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽喂分。三九已至,卻和暖如春机蔗,著一層夾襖步出監(jiān)牢的瞬間蒲祈,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評(píng)論 1 261
  • 我被黑心中介騙來泰國打工萝嘁, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留梆掸,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,618評(píng)論 2 355
  • 正文 我出身青樓牙言,卻偏偏與公主長(zhǎng)得像酸钦,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子咱枉,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評(píng)論 2 344

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