日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

CS224n笔记3 高级词向量表示

發(fā)布時(shí)間:2023/12/20 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CS224n笔记3 高级词向量表示 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本文轉(zhuǎn)自:http://www.hankcs.com/nlp/cs224n-advanced-word-vector-representations.html

這節(jié)課從傳統(tǒng)的基于計(jì)數(shù)的全局方法出發(fā),過(guò)渡到結(jié)合兩者優(yōu)勢(shì)的GloVe,并介紹了詞向量的調(diào)參與評(píng)測(cè)方法。

復(fù)習(xí):word2vec的主要思路

  • 遍歷整個(gè)語(yǔ)料庫(kù)中的每個(gè)詞

  • 預(yù)測(cè)每個(gè)詞的上下文:

  • 然后在每個(gè)窗口中計(jì)算梯度做SGD

SGD與詞向量

  但每個(gè)窗口最多只有2m + 1個(gè)單詞,所以?θJt(θ)會(huì)非常稀疏:

  實(shí)際上有正確答案需要去對(duì)比的只有窗口中的詞語(yǔ)。所以每次更新只更新W矩陣中的少數(shù)列,或者為每個(gè)詞語(yǔ)建立到詞向量的哈希映射:

近似:負(fù)采樣

  還有一個(gè)問(wèn)題亟待解決,詞表V的量級(jí)非常大,以至于下式的分母很難計(jì)算:

  于是,練習(xí)1中要求用negative sampling實(shí)現(xiàn)skip-gram。這是一種采樣子集簡(jiǎn)化運(yùn)算的方法。

  具體做法是,對(duì)每個(gè)正例(中央詞語(yǔ)及上下文中的一個(gè)詞語(yǔ))采樣幾個(gè)負(fù)例(中央詞語(yǔ)和其他隨機(jī)詞語(yǔ)),訓(xùn)練binary logistic regression(也就是二分類器)。

negative sampling和skip-gram

  目標(biāo)函數(shù):

  這里t是某個(gè)窗口,k是采樣個(gè)數(shù),P(w)是一個(gè)unigram分布,詳見(jiàn):http://www.hankcs.com/nlp/word2vec.html#h3-12?

  σ是sigmoid函數(shù):

  根據(jù)上次課講的,內(nèi)積可以代表相關(guān)性。那么這個(gè)目標(biāo)函數(shù)就是要最大化中央詞與上下文的相關(guān)概率,最小化與其他詞語(yǔ)的概率。

  word2vec通過(guò)把相似的詞語(yǔ)放到同一個(gè)地方附近來(lái)增大目標(biāo)函數(shù):

?

?

其他方法

  word2vec將窗口視作訓(xùn)練單位,每個(gè)窗口或者幾個(gè)窗口都要進(jìn)行一次參數(shù)更新。要知道,很多詞串出現(xiàn)的頻次是很高的。能不能遍歷一遍語(yǔ)料,迅速得到結(jié)果呢?

  早在word2vec之前,就已經(jīng)出現(xiàn)了很多得到詞向量的方法,這些方法是基于統(tǒng)計(jì)共現(xiàn)矩陣的方法。如果在窗口級(jí)別上統(tǒng)計(jì)詞性和語(yǔ)義共現(xiàn),可以得到相似的詞。如果在文檔級(jí)別上統(tǒng)計(jì),則會(huì)得到相似的文檔(潛在語(yǔ)義分析LSA)。

基于窗口的共現(xiàn)矩陣

比如窗口半徑為1,在如下句子上統(tǒng)計(jì)共現(xiàn)矩陣:

  • I like deep learning.?

  • I like NLP.

  • I enjoy flying.

會(huì)得到:

樸素共現(xiàn)向量的問(wèn)題

根據(jù)這個(gè)矩陣,的確可以得到簡(jiǎn)單的共現(xiàn)向量。但是它存在非常多的局限性:

  • 當(dāng)出現(xiàn)新詞的時(shí)候,以前的舊向量連維度都得改變

  • 高緯度(詞表大小)

  • 高稀疏性

解決辦法:低維向量

  用25到1000的低維稠密向量來(lái)儲(chǔ)存重要信息。如何降維呢?

  SVD吧:

  r維降到d維,取奇異值最大的兩列作為二維坐標(biāo)可視化:

改進(jìn)

  • 限制高頻詞的頻次,或者干脆停用詞

  • 根據(jù)與中央詞的距離衰減詞頻權(quán)重

  • 用皮爾遜相關(guān)系數(shù)代替詞頻

效果

  方法雖然簡(jiǎn)單,但效果也還不錯(cuò):

SVD的問(wèn)題

  • 不方便處理新詞或新文檔

  • 與其他DL模型訓(xùn)練套路不同

Count based vs direct prediction

  這些基于計(jì)數(shù)的方法在中小規(guī)模語(yǔ)料訓(xùn)練很快,有效地利用了統(tǒng)計(jì)信息。但用途受限于捕捉詞語(yǔ)相似度,也無(wú)法拓展到大規(guī)模語(yǔ)料。

  而NNLM, HLBL, RNN, Skip-gram/CBOW這類進(jìn)行預(yù)測(cè)的模型必須遍歷所有的窗口訓(xùn)練,也無(wú)法有效利用單詞的全局統(tǒng)計(jì)信息。但它們顯著地提高了上級(jí)NLP任務(wù),其捕捉的不僅限于詞語(yǔ)相似度。

綜合兩者優(yōu)勢(shì):GloVe

  這種模型的目標(biāo)函數(shù)是:          

?

  優(yōu)點(diǎn)是訓(xùn)練快,可以拓展到大規(guī)模語(yǔ)料,也適用于小規(guī)模語(yǔ)料和小向量。

  明眼人會(huì)發(fā)現(xiàn)這里面有兩個(gè)向量uv,它們都捕捉了共現(xiàn)信息,怎么處理呢?試驗(yàn)證明,最佳方案是簡(jiǎn)單地加起來(lái):

  相對(duì)于word2vec只關(guān)注窗口內(nèi)的共現(xiàn),GloVe這個(gè)命名也說(shuō)明這是全局的(我覺(jué)得word2vec在全部語(yǔ)料上取窗口,也不是那么地local,特別是負(fù)采樣)。

評(píng)測(cè)方法

  有兩種方法:Intrinsic(內(nèi)部) vs extrinsic(外部)

  Intrinsic:專門設(shè)計(jì)單獨(dú)的試驗(yàn),由人工標(biāo)注詞語(yǔ)或句子相似度,與模型結(jié)果對(duì)比。好處是是計(jì)算速度快,但不知道對(duì)實(shí)際應(yīng)用有無(wú)幫助。有人花了幾年時(shí)間提高了在某個(gè)數(shù)據(jù)集上的分?jǐn)?shù),當(dāng)將其詞向量用于真實(shí)任務(wù)時(shí)并沒(méi)有多少提高效果,想想真悲哀。

  Extrinsic:通過(guò)對(duì)外部實(shí)際應(yīng)用的效果提升來(lái)體現(xiàn)。耗時(shí)較長(zhǎng),不能排除是否是新的詞向量與舊系統(tǒng)的某種契合度產(chǎn)生。需要至少兩個(gè)subsystems同時(shí)證明。這類評(píng)測(cè)中,往往會(huì)用pre-train的向量在外部任務(wù)的語(yǔ)料上retrain。

Intrinsic word vector evaluation

  也就是詞向量類推,或說(shuō)“A對(duì)于B來(lái)講就相當(dāng)于C對(duì)于哪個(gè)詞?”。這可以通過(guò)余弦?jiàn)A角得到:

  我曾經(jīng)通過(guò)這些方法驗(yàn)證了民間很多流行的word2vec實(shí)現(xiàn)準(zhǔn)確率比原版低幾十個(gè)百分點(diǎn):http://www.hankcs.com/nlp/word2vec.html#h2-15?

  這種方法可視化出來(lái),會(huì)發(fā)現(xiàn)這些類推的向量都是近似平行的:

  下面這張圖說(shuō)明word2vec還可以做語(yǔ)法上的類比:

其他有趣的類比:

  這在數(shù)學(xué)上是沒(méi)有證明的。

結(jié)果對(duì)比

在不同大小的語(yǔ)料上,訓(xùn)練不同維度的詞向量,在語(yǔ)義和語(yǔ)法數(shù)據(jù)集上的結(jié)果如下:

  GloVe的效果顯著地更好。另外,高緯度并不一定好。而數(shù)據(jù)量越多越好。

調(diào)參

  窗口是否對(duì)稱(還是只考慮前面的單詞),向量維度,窗口大小:

  大約300維,窗口大小8的對(duì)稱窗口效果挺好的,考慮到成本。

  對(duì)GloVe來(lái)講,迭代次數(shù)越多越小,效果很穩(wěn)定:

  維基百科語(yǔ)料上得到的效果比新聞?wù)Z料要好:

另一個(gè)數(shù)據(jù)集

  還有直接人工標(biāo)注詞語(yǔ)相似度的:

www.cs.technion.ac.il/~gabr/resources/data/wordsim353/?

  對(duì)某個(gè)單詞相似度排序后,得到最相關(guān)的詞語(yǔ)。于是可以量化評(píng)測(cè)了。

Extrinsic word vector evaluation

  做NER實(shí)驗(yàn):

  GloVe效果依然更好,但從數(shù)據(jù)上來(lái)看只好那么一點(diǎn)點(diǎn)。

  視頻中還談了談一些適合word vector的任務(wù),比如單詞分類。有些不太適合的任務(wù),比如情感分析。課件中則多了一張談消歧的,中心思想是通過(guò)對(duì)上下文的聚類分門別類地重新訓(xùn)練。

  相同顏色的是同一個(gè)單詞的不同義項(xiàng)。

  TA也講過(guò)這個(gè)問(wèn)題。

轉(zhuǎn)載于:https://www.cnblogs.com/koocn/p/7699051.html

總結(jié)

以上是生活随笔為你收集整理的CS224n笔记3 高级词向量表示的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。