Deep Learning in NLP-詞向量和語言模型

Deep Learning 算法已經(jīng)在圖像和音頻領(lǐng)域取得了驚人的成果,但是在 NLP 領(lǐng)域中尚未見到如此激動(dòng)人心的結(jié)果。關(guān)于這個(gè)原因,引一條我比較贊同的微博。
@王威廉:Steve Renals算了一下icassp錄取文章題目中包含deep learning的數(shù)量,發(fā)現(xiàn)有44篇,而naacl則有0篇。有一種說法是,語言(詞、句子、篇章等)屬于人類認(rèn)知過程中產(chǎn)生的高層認(rèn)知抽象實(shí)體,而語音和圖像屬于較為底層的原始輸入信號(hào),所以后兩者更適合做deep learning來學(xué)習(xí)特征。2013年3月4日 14:46
  第一句就先不用管了,畢竟今年的 ACL 已經(jīng)被灌了好多 Deep Learning 的論文了。第二句我很認(rèn)同,不過我也有信心以后一定有人能挖掘出語言這種高層次抽象中的本質(zhì)。不論最后這種方法是不是 Deep Learning,就目前而言,Deep Learning 在 NLP 領(lǐng)域中的研究已經(jīng)將高深莫測(cè)的人類語言撕開了一層神秘的面紗?! ∥矣X得其中最有趣也是最基本的,就是“詞向量”了。
  將詞用“詞向量”的方式表示可謂是將 Deep Learning 算法引入 NLP 領(lǐng)域的一個(gè)核心技術(shù)。大多數(shù)宣稱用了 Deep Learning 的論文,其中往往也用了詞向量。

本文目錄:0. 詞向量是什么1. 詞向量的來歷2. 詞向量的訓(xùn)練  2.0 語言模型簡(jiǎn)介  2.1 Bengio 的經(jīng)典之作  2.2 C&W 的 SENNA  2.3 M&H 的 HLBL  2.4 Mikolov 的 RNNLM  2.5 Huang 的語義強(qiáng)化  2.999 總結(jié)3. 詞向量的評(píng)價(jià)  3.1 提升現(xiàn)有系統(tǒng)  3.2 語言學(xué)評(píng)價(jià)參考文獻(xiàn)

  1. 詞向量是什么
      自然語言理解的問題要轉(zhuǎn)化為機(jī)器學(xué)習(xí)的問題,第一步肯定是要找一種方法把這些符號(hào)數(shù)學(xué)化?! LP 中最直觀,也是到目前為止最常用的詞表示方法是 One-hot Representation,這種方法把每個(gè)詞表示為一個(gè)很長(zhǎng)的向量。這個(gè)向量的維度是詞表大小,其中絕大多數(shù)元素為 0,只有一個(gè)維度的值為 1,這個(gè)維度就代表了當(dāng)前的詞。  舉個(gè)栗子,  “話筒”表示為 [0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 ...]  “麥克”表示為 [0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 ...]  每個(gè)詞都是茫茫 0 海中的一個(gè) 1?! ∵@種 One-hot Representation 如果采用稀疏方式存儲(chǔ),會(huì)是非常的簡(jiǎn)潔:也就是給每個(gè)詞分配一個(gè)數(shù)字 ID。比如剛才的例子中,話筒記為 3,麥克記為 8(假設(shè)從 0 開始記)。如果要編程實(shí)現(xiàn)的話,用 Hash 表給每個(gè)詞分配一個(gè)編號(hào)就可以了。這么簡(jiǎn)潔的表示方法配合上最大熵、SVM、CRF 等等算法已經(jīng)很好地完成了 NLP 領(lǐng)域的各種主流任務(wù)?! ‘?dāng)然這種表示方法也存在一個(gè)重要的問題就是“詞匯鴻溝”現(xiàn)象:任意兩個(gè)詞之間都是孤立的。光從這兩個(gè)向量中看不出兩個(gè)詞是否有關(guān)系,哪怕是話筒和麥克這樣的同義詞也不能幸免于難。
      Deep Learning 中一般用到的詞向量并不是剛才提到的用 One-hot Representation 表示的那種很長(zhǎng)很長(zhǎng)的詞向量,而是用 Distributed Representation(不知道這個(gè)應(yīng)該怎么翻譯,因?yàn)檫€存在一種叫“Distributional Representation”的表示方法,又是另一個(gè)不同的概念)表示的一種低維實(shí)數(shù)向量。這種向量一般長(zhǎng)成這個(gè)樣子:[0.792, ?0.177, ?0.107, 0.109, ?0.542, ...]。維度以 50 維和 100 維比較常見。這種向量的表示不是唯一的,后文會(huì)提到目前計(jì)算出這種向量的主流方法?! 。▊€(gè)人認(rèn)為)Distributed representation 最大的貢獻(xiàn)就是讓相關(guān)或者相似的詞,在距離上更接近了。向量的距離可以用最傳統(tǒng)的歐氏距離來衡量,也可以用 cos 夾角來衡量。用這種方式表示的向量,“麥克”和“話筒”的距離會(huì)遠(yuǎn)遠(yuǎn)小于“麥克”和“天氣”??赡芾硐肭闆r下“麥克”和“話筒”的表示應(yīng)該是完全一樣的,但是由于有些人會(huì)把英文名“邁克”也寫成“麥克”,導(dǎo)致“麥克”一詞帶上了一些人名的語義,因此不會(huì)和“話筒”完全一致。
  2. 詞向量的來歷
      Distributed representation 最早是 Hinton 在 1986 年的論文《Learning distributed representations of concepts》中提出的。雖然這篇文章沒有說要將詞做 Distributed representation,(甚至我很無厘頭地猜想那篇文章是為了給他剛提出的 BP 網(wǎng)絡(luò)打廣告,)但至少這種先進(jìn)的思想在那個(gè)時(shí)候就在人們的心中埋下了火種,到 2000 年之后開始逐漸被人重視?! istributed representation 用來表示詞,通常被稱為“Word Representation”或“Word Embedding”,中文俗稱“詞向量”。真的只能叫“俗稱”,算不上翻譯。半年前我本想翻譯的,但是硬是想不出 Embedding 應(yīng)該怎么翻譯的,后來就這么叫習(xí)慣了-_-||| 如果有好的翻譯歡迎提出。Embedding 一詞的意義可以參考維基百科的相應(yīng)頁面(鏈接)。后文提到的所有“詞向量”都是指用 Distributed Representation 表示的詞向量。
      如果用傳統(tǒng)的稀疏表示法表示詞,在解決某些任務(wù)的時(shí)候(比如構(gòu)建語言模型)會(huì)造成維數(shù)災(zāi)難[Bengio 2003]。使用低維的詞向量就沒這樣的問題。同時(shí)從實(shí)踐上看,高維的特征如果要套用 Deep Learning,其復(fù)雜度幾乎是難以接受的,因此低維的詞向量在這里也飽受追捧?! ⊥瑫r(shí)如上一節(jié)提到的,相似詞的詞向量距離相近,這就讓基于詞向量設(shè)計(jì)的一些模型自帶平滑功能,讓模型看起來非常的漂亮。
  3. 詞向量的訓(xùn)練
      要介紹詞向量是怎么訓(xùn)練得到的,就不得不提到語言模型。到目前為止我了解到的所有訓(xùn)練方法都是在訓(xùn)練語言模型的同時(shí),順便得到詞向量的?! ∵@也比較容易理解,要從一段無標(biāo)注的自然文本中學(xué)習(xí)出一些東西,無非就是統(tǒng)計(jì)出詞頻、詞的共現(xiàn)、詞的搭配之類的信息。而要從自然文本中統(tǒng)計(jì)并建立一個(gè)語言模型,無疑是要求最為精確的一個(gè)任務(wù)(也不排除以后有人創(chuàng)造出更好更有用的方法)。既然構(gòu)建語言模型這一任務(wù)要求這么高,其中必然也需要對(duì)語言進(jìn)行更精細(xì)的統(tǒng)計(jì)和分析,同時(shí)也會(huì)需要更好的模型,更大的數(shù)據(jù)來支撐。目前最好的詞向量都來自于此,也就不難理解了。  這里介紹的工作均為從大量未標(biāo)注的普通文本數(shù)據(jù)中無監(jiān)督地學(xué)習(xí)出詞向量(語言模型本來就是基于這個(gè)想法而來的),可以猜測(cè),如果用上了有標(biāo)注的語料,訓(xùn)練詞向量的方法肯定會(huì)更多。不過視目前的語料規(guī)模,還是使用未標(biāo)注語料的方法靠譜一些?! ≡~向量的訓(xùn)練最經(jīng)典的有 3 個(gè)工作,C&W 2008、M&H 2008、Mikolov 2010。當(dāng)然在說這些工作之前,不得不介紹一下這一系列中 Bengio 的經(jīng)典之作。
    2.0 語言模型簡(jiǎn)介
      插段廣告,簡(jiǎn)單介紹一下語言模型,知道的可以無視這節(jié)?! ≌Z言模型其實(shí)就是看一句話是不是正常人說出來的。這玩意很有用,比如機(jī)器翻譯、語音識(shí)別得到若干候選之后,可以利用語言模型挑一個(gè)盡量靠譜的結(jié)果。在 NLP 的其它任務(wù)里也都能用到。  語言模型形式化的描述就是給定一個(gè)字符串,看它是自然語言的概率 P(w1,w2,…,wt)
    。w1
    到 wt
    依次表示這句話中的各個(gè)詞。有個(gè)很簡(jiǎn)單的推論是:P(w1,w2,…,wt)=P(w1)×P(w2|w1)×P(w3|w1,w2)×…×P(wt|w1,w2,…,wt?1)
      常用的語言模型都是在近似地求 P(wt|w1,w2,…,wt?1)
    。比如 n-gram 模型就是用 P(wt|wt?n+1,…,wt?1)
    近似表示前者?! №槺闾嵋痪?,由于后面要介紹的每篇論文使用的符號(hào)差異太大,本博文里嘗試統(tǒng)一使用 Bengio 2003 的符號(hào)系統(tǒng)(略做簡(jiǎn)化),以便在各方法之間做對(duì)比和分析。
    2.1 Bengio 的經(jīng)典之作
      用神經(jīng)網(wǎng)絡(luò)訓(xùn)練語言模型的思想最早由百度 IDL 的徐偉于 2000 提出。(感謝 @余凱_西二旗民工 博士指出。)其論文《Can Artificial Neural Networks Learn Language Models?》提出一種用神經(jīng)網(wǎng)絡(luò)構(gòu)建二元語言模型(即 P(wt|wt?1)
    )的方法。文中的基本思路與后續(xù)的語言模型的差別已經(jīng)不大了。
      訓(xùn)練語言模型的最經(jīng)典之作,要數(shù) Bengio 等人在 2001 年發(fā)表在 NIPS 上的文章《A Neural Probabilistic Language Model》。當(dāng)然現(xiàn)在看的話,肯定是要看他在 2003 年投到 JMLR 上的同名論文了。
      Bengio 用了一個(gè)三層的神經(jīng)網(wǎng)絡(luò)來構(gòu)建語言模型,同樣也是 n-gram 模型。如圖1。
    Bengio 2003
    圖1(點(diǎn)擊查看大圖)

圖中最下方的 wt?n+1,…,wt?2,wt?1
就是前 n?1
個(gè)詞?,F(xiàn)在需要根據(jù)這已知的 n?1
個(gè)詞預(yù)測(cè)下一個(gè)詞 wt
。C(w)
表示詞 w
所對(duì)應(yīng)的詞向量,整個(gè)模型中使用的是一套唯一的詞向量,存在矩陣 C
(一個(gè) |V|×m
的矩陣)中。其中 |V|
表示詞表的大?。ㄕZ料中的總詞數(shù)),m
表示詞向量的維度。w
到 C(w)
的轉(zhuǎn)化就是從矩陣中取出一行?! 【W(wǎng)絡(luò)的第一層(輸入層)是將 C(wt?n+1),…,C(wt?2),C(wt?1)
這 n?1
個(gè)向量首尾相接拼起來,形成一個(gè) (n?1)m
維的向量,下面記為 x
?! 【W(wǎng)絡(luò)的第二層(隱藏層)就如同普通的神經(jīng)網(wǎng)絡(luò),直接使用 d+Hx
計(jì)算得到。d
是一個(gè)偏置項(xiàng)。在此之后,使用 tanh
作為激活函數(shù)?! 【W(wǎng)絡(luò)的第三層(輸出層)一共有 |V|
個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn) yi
表示 下一個(gè)詞為 i
的未歸一化 log 概率。最后使用 softmax 激活函數(shù)將輸出值 y
歸一化成概率。最終,y
的計(jì)算公式為:

y=b+Wx+Utanh(d+Hx)

式子中的 U
(一個(gè) |V|×h
的矩陣)是隱藏層到輸出層的參數(shù),整個(gè)模型的多數(shù)計(jì)算集中在 U
和隱藏層的矩陣乘法中。后文的提到的 3 個(gè)工作,都有對(duì)這一環(huán)節(jié)的簡(jiǎn)化,提升計(jì)算的速度?! ∈阶又羞€有一個(gè)矩陣 W
(|V|×(n?1)m
),這個(gè)矩陣包含了從輸入層到輸出層的直連邊。直連邊就是從輸入層直接到輸出層的一個(gè)線性變換,好像也是神經(jīng)網(wǎng)絡(luò)中的一種常用技巧(沒有仔細(xì)考察過)。如果不需要直連邊的話,將 W
置為 0 就可以了。在最后的實(shí)驗(yàn)中,Bengio 發(fā)現(xiàn)直連邊雖然不能提升模型效果,但是可以少一半的迭代次數(shù)。同時(shí)他也猜想如果沒有直連邊,可能可以生成更好的詞向量。
  現(xiàn)在萬事俱備,用隨機(jī)梯度下降法把這個(gè)模型優(yōu)化出來就可以了。需要注意的是,一般神經(jīng)網(wǎng)絡(luò)的輸入層只是一個(gè)輸入值,而在這里,輸入層 x
也是參數(shù)(存在 C
中),也是需要優(yōu)化的。優(yōu)化結(jié)束之后,詞向量有了,語言模型也有了?! ∵@樣得到的語言模型自帶平滑,無需傳統(tǒng) n-gram 模型中那些復(fù)雜的平滑算法。Bengio 在 APNews 數(shù)據(jù)集上做的對(duì)比實(shí)驗(yàn)也表明他的模型效果比精心設(shè)計(jì)平滑算法的普通 n-gram 算法要好 10% 到 20%。
  在結(jié)束介紹 Bengio 大牛的經(jīng)典作品之前再插一段八卦。在其 JMLR 論文中的未來工作一段,他提了一個(gè)能量函數(shù),把輸入向量和輸出向量統(tǒng)一考慮,并以最小化能量函數(shù)為目標(biāo)進(jìn)行優(yōu)化。后來 M&H 工作就是以此為基礎(chǔ)展開的?! ∷岬揭辉~多義有待解決,9 年之后 Huang 提出了一種解決方案。他還在論文中隨口(不是在 Future Work 中寫的)提到:可以使用一些方法降低參數(shù)個(gè)數(shù),比如用循環(huán)神經(jīng)網(wǎng)絡(luò)。后來 Mikolov 就順著這個(gè)方向發(fā)表了一大堆論文,直到博士畢業(yè)。  大牛就是大牛。
2.2 C&W 的 SENNA
  Ronan Collobert 和 Jason Weston 在 2008 年的 ICML 上發(fā)表的《A Unified Architecture for Natural Language Processing: Deep Neural Networks with Multitask Learning》里面首次介紹了他們提出的詞向量的計(jì)算方法。和上一篇牛文類似,如果現(xiàn)在要看的話,應(yīng)該去看他們?cè)?2011 年投到 JMLR 上的論文《Natural Language Processing (Almost) from Scratch》。文中總結(jié)了他們的多項(xiàng)工作,非常有系統(tǒng)性。這篇 JMLR 的論文題目也很霸氣啊:從頭開始搞 NLP。他們還把論文所寫的系統(tǒng)開源了,叫做 SENNA(主頁鏈接),3500 多行純 C 代碼也是寫得非常清晰。我就是靠著這份代碼才慢慢看懂這篇論文的。可惜的是,代碼只有測(cè)試部分,沒有訓(xùn)練部分。
  實(shí)際上 C&W 這篇論文主要目的并不是在于生成一份好的詞向量,甚至不想訓(xùn)練語言模型,而是要用這份詞向量去完成 NLP 里面的各種任務(wù),比如詞性標(biāo)注、命名實(shí)體識(shí)別、短語識(shí)別、語義角色標(biāo)注等等。  由于目的的不同,C&W 的詞向量訓(xùn)練方法在我看來也是最特別的。他們沒有去近似地求 P(wt|w1,w2,…,wt?1)
,而是直接去嘗試近似 P(w1,w2,…,wt)
。在實(shí)際操作中,他們并沒有去求一個(gè)字符串的概率,而是求窗口連續(xù) n
個(gè)詞的打分 f(wt?n+1,…,wt?1,wt)
。打分 f
越高的說明這句話越是正常的話;打分低的說明這句話不是太合理;如果是隨機(jī)把幾個(gè)詞堆積在一起,那肯定是負(fù)分(差評(píng))。打分只有相對(duì)高低之分,并沒有概率的特性?! ∮辛诉@個(gè)對(duì) f
的假設(shè),C&W 就直接使用 pair-wise 的方法訓(xùn)練詞向量。具體的來說,就是最小化下面的目標(biāo)函數(shù)。
∑x∈X∑w∈Dmax{0,1?f(x)+f(x(w))}

X
為訓(xùn)練集中的所有連續(xù)的 n
元短語,D
是整個(gè)字典。第一個(gè)求和枚舉了訓(xùn)練語料中的所有的 n
元短語,作為正樣本。第二個(gè)對(duì)字典的枚舉是構(gòu)建負(fù)樣本。x(w)
是將短語 x
的最中間的那個(gè)詞,替換成 w
。在大多數(shù)情況下,在一個(gè)正常短語的基礎(chǔ)上隨便找個(gè)詞替換掉中間的詞,最后得到的短語肯定不是正確的短語,所以這樣構(gòu)造的負(fù)樣本是非常可用的(多數(shù)情況下確實(shí)是負(fù)樣本,極少數(shù)情況下把正常短語當(dāng)作負(fù)樣本也不影響大局)。同時(shí),由于負(fù)樣本僅僅是修改了正樣本中的一個(gè)詞,也不會(huì)讓分類面距離負(fù)樣本太遠(yuǎn)而影響分類效果。再回顧這個(gè)式子,x
是正樣本,x(w)
是負(fù)樣本,f(x)
是對(duì)正樣本的打分,f(x(w))
是對(duì)負(fù)樣本的打分。最后希望正樣本的打分要比負(fù)樣本的打分至少高 1 分。
  f
函數(shù)的結(jié)構(gòu)和 Bengio 2003 中提到的網(wǎng)絡(luò)結(jié)構(gòu)基本一致。同樣是把窗口中的 n
個(gè)詞對(duì)應(yīng)的詞向量串成一個(gè)長(zhǎng)的向量,同樣是經(jīng)過一層網(wǎng)絡(luò)(乘一個(gè)矩陣)得到隱藏層。不同之處在于 C&W 的輸出層只有一個(gè)節(jié)點(diǎn),表示得分,而不像 Bengio 那樣的有 |V|
個(gè)節(jié)點(diǎn)。這么做可以大大降低計(jì)算復(fù)雜度,當(dāng)然有這種簡(jiǎn)化還是因?yàn)?C&W 并不想做一個(gè)真正的語言模型,只是借用語言模型的思想輔助他完成 NLP 的其它任務(wù)。(其實(shí) C&W 的方法與 Bengio 的方法還有一個(gè)區(qū)別,他們?yōu)榱顺绦虻男视?HardTanh
代替 tanh
激活函數(shù)。)
  他們?cè)趯?shí)驗(yàn)中取窗口大小 n=11
,字典大小 |V|=130000
,在維基百科英文語料和路透社語料中一共訓(xùn)練了 7 周,終于得到了這份偉大的詞向量?! ∪缜懊嫠f C&W 訓(xùn)練詞向量的動(dòng)機(jī)與其他人不同,因此他公布的詞向量與其它詞向量相比主要有兩個(gè)區(qū)別:  1.他的詞表中只有小寫單詞。也就是說他把大寫開頭的單詞和小寫單詞當(dāng)作同一個(gè)詞處理。其它的詞向量都是把他們當(dāng)作不同的詞處理的?! ?.他公布的詞向量并不直接是上述公式的優(yōu)化結(jié)果,而是在此基礎(chǔ)上進(jìn)一步跑了詞性標(biāo)注、命名實(shí)體識(shí)別等等一系列任務(wù)的 Multi-Task Learning 之后,二次優(yōu)化得到的。也可以理解為是半監(jiān)督學(xué)習(xí)得到的,而非其他方法中純無監(jiān)督學(xué)習(xí)得到的。
  不過好在 Turian 在 2010 年對(duì) C&W 和 M&H 向量做對(duì)比時(shí),重新訓(xùn)練了一份詞向量放到了網(wǎng)上,那份就沒上面的兩個(gè)“問題”(確切的說應(yīng)該是差別),也可以用的更放心。后面會(huì)詳細(xì)介紹 Turian 的工作。
  關(guān)于這篇論文其實(shí)還是有些東西可以吐槽的,不過訓(xùn)練詞向量這一塊沒有,是論文其他部分的。把吐槽機(jī)會(huì)留給下一篇博文了。
2.3 M&H 的 HLBL
  Andriy Mnih 和 Geoffrey Hinton 在 2007 年和 2008 年各發(fā)表了一篇關(guān)于訓(xùn)練語言模型和詞向量的文章。2007 年發(fā)表在 ICML 上的《Three new graphical models for statistical language modelling》表明了 Hinton 將 Deep Learning 戰(zhàn)場(chǎng)擴(kuò)展到 NLP 領(lǐng)域的決心。2008 年發(fā)表在 NIPS 上的《A scalable hierarchical distributed language model》則提出了一種層級(jí)的思想替換了 Bengio 2003 方法中最后隱藏層到輸出層最花時(shí)間的矩陣乘法,在保證效果的基礎(chǔ)上,同時(shí)也提升了速度。下面簡(jiǎn)單介紹一下這兩篇文章。
  Hinton 在 2006 年提出 Deep Learning 的概念之后,很快就來 NLP 最基礎(chǔ)的任務(wù)上試了一把。果然,有效。M&H 在 ICML 2007 上發(fā)表的這篇文章提出了“Log-Bilinear”語言模型。文章標(biāo)題中可以看出他們其實(shí)一共提了 3 個(gè)模型。從最基本的 RBM 出發(fā),一點(diǎn)點(diǎn)修改能量函數(shù),最后得到了“Log-Bilinear”模型。  模型如果用神經(jīng)網(wǎng)絡(luò)的形式寫出來,是這個(gè)樣子:

h=∑i=1t?1HiC(wi)

yj=C(wj)Th

這里的兩個(gè)式子可以合寫成一個(gè) yj=∑i=1n?1C(wj)THiC(wi)
。C(w)
是詞 w
對(duì)應(yīng)的詞向量,形如xTMy
的模型叫做 Bilinear 模型,也就是 M&H 方法名字的來歷了。
  為了更好地理解模型的含義,還是來看這兩個(gè)拆解的式子。h
在這里表示隱藏層,這里的隱藏層比前面的所有模型都更厲害,直接有語義信息。首先從第二個(gè)式子中隱藏層能和詞向量直接做內(nèi)積可以看出,隱藏層的維度和詞向量的維度是一致的(都是 m
維)。Hi
就是一個(gè) m×m
的矩陣,該矩陣可以理解為第 i
個(gè)詞經(jīng)過 Hi
這種變換之后,對(duì)第 t
個(gè)詞產(chǎn)生的貢獻(xiàn)。因此這里的隱藏層是對(duì)前 t?1
個(gè)詞的總結(jié),也就是說隱藏層 h
是對(duì)下一個(gè)詞的一種預(yù)測(cè)。  再看看第二個(gè)式子,預(yù)測(cè)下一個(gè)詞為 wj
的 log 概率是 yj
,它直接就是 C(wj)
和 h
的內(nèi)積。內(nèi)積基本上就可以反應(yīng)相似度,如果各詞向量的?;疽恢碌脑?,內(nèi)積的大小能直接反應(yīng)兩個(gè)向量的 cos 夾角的大小。這里使用預(yù)測(cè)詞向量 h
和各個(gè)已知詞的詞向量的相似度作為 log 概率,將詞向量的作用發(fā)揮到了極致。這也是我覺得這次介紹的模型中最漂亮的一個(gè)。
  這種“Log-Bilinear”模型看起來每個(gè)詞需要使用上文所有的詞作為輸入,于是語料中最長(zhǎng)的句子有多長(zhǎng),就會(huì)有多少個(gè) H
矩陣。這顯然是過于理想化了。最后在實(shí)現(xiàn)模型時(shí),還是迫于現(xiàn)實(shí)的壓力,用了類似 n-gram 的近似,只考慮了上文的 3 到 5 個(gè)詞作為輸入來預(yù)測(cè)下一個(gè)詞。
  M&H 的思路如前面提到,是 Bengio 2003 提出的。經(jīng)過大牛的實(shí)現(xiàn),效果確實(shí)不錯(cuò)。雖然復(fù)雜度沒有數(shù)量級(jí)上的降低,但是由于是純線性模型,沒有激活函數(shù)(當(dāng)然在做語言模型的時(shí)候,最后還是對(duì) yj
跑了一個(gè) softmax),因此實(shí)際的訓(xùn)練和預(yù)測(cè)速度都會(huì)有很大的提升。同時(shí)隱藏層到輸出層的變量直接用了詞向量,這也就幾乎少了一半的變量,使得模型更為簡(jiǎn)潔。最后論文中 M&H 用了和 Bengio 2003 完全一樣的數(shù)據(jù)集做實(shí)驗(yàn),效果有了一定的提升。

——————–兩篇文章中間是不是應(yīng)該有個(gè)分割線?——————–

2008 年 NIPS 的這篇論文,介紹的是“hierarchical log-bilinear”模型,很多論文中都把它稱作簡(jiǎn)稱“HLBL”。和前作相比,該方法使用了一個(gè)層級(jí)的結(jié)構(gòu)做最后的預(yù)測(cè)??梢院?jiǎn)單地設(shè)想一下把網(wǎng)絡(luò)的最后一層變成一顆平衡二叉樹,二叉樹的每個(gè)非葉節(jié)點(diǎn)用于給預(yù)測(cè)向量分類,最后到葉節(jié)點(diǎn)就可以確定下一個(gè)詞是哪個(gè)了。這在復(fù)雜度上有顯著的提升,以前是對(duì) |V|
個(gè)詞一一做比較,最后找出最相似的,現(xiàn)在只需要做 log2(|V|)
次判斷即可。
  這種層級(jí)的思想最初可見于 Frederic Morin 和 Yoshua Bengio 于 2005 年發(fā)表的論文《Hierarchical probabilistic neural network language model》中。但是這篇論文使用 WordNet 中的 IS-A 關(guān)系,轉(zhuǎn)化為二叉樹用于分類預(yù)測(cè)。實(shí)驗(yàn)結(jié)果發(fā)現(xiàn)速度提升了,效果變差了。  有了前車之鑒,M&H 就希望能從語料中自動(dòng)學(xué)習(xí)出一棵樹,并能達(dá)到比人工構(gòu)建更好的效果。M&H 使用一種 bootstrapping 的方法來構(gòu)建這棵樹。從隨機(jī)的樹開始,根據(jù)分類結(jié)果不斷調(diào)整和迭代。最后得到的是一棵平衡二叉樹,并且同一個(gè)詞的預(yù)測(cè)可能處于多個(gè)不同的葉節(jié)點(diǎn)。這種用多個(gè)葉節(jié)點(diǎn)表示一個(gè)詞的方法,可以提升下一個(gè)詞是多義詞時(shí)候的效果。M&H 做的還不夠徹底,后面 Huang 的工作直接對(duì)每個(gè)詞學(xué)習(xí)出多個(gè)詞向量,能更好地處理多義詞。
2.4 Mikolov 的 RNNLM
  前文說到,Bengio 2003 論文里提了一句,可以使用一些方法降低參數(shù)個(gè)數(shù),比如用循環(huán)神經(jīng)網(wǎng)絡(luò)。Mikolov 就抓住了這個(gè)坑,從此與循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)下了不解之緣。他最早用循環(huán)神經(jīng)網(wǎng)絡(luò)做語言模型是在 INTERSPEECH 2010 上發(fā)表的《Recurrent neural network based language model》里。Recurrent neural network 是循環(huán)神經(jīng)網(wǎng)絡(luò),簡(jiǎn)稱 RNN,還有個(gè) Recursive neural networks 是遞歸神經(jīng)網(wǎng)絡(luò)(Richard Socher 借此發(fā)了一大堆論文),也簡(jiǎn)稱 RNN??吹降臅r(shí)候需要注意區(qū)分一下。不過到目前為止,RNNLM 只表示循環(huán)神經(jīng)網(wǎng)絡(luò)做的語言模型,還沒有歧義?! ≡谥蟮膸啄曛?,Mikolov 在一直在RNNLM 上做各種改進(jìn),有速度上的,也有準(zhǔn)確率上的?,F(xiàn)在想了解 RNNLM,看他的博士論文《Statistical Language Models based on Neural Networks》肯定是最好的選擇。
  循環(huán)神經(jīng)網(wǎng)絡(luò)與前面各方法中用到的前饋網(wǎng)絡(luò)在結(jié)構(gòu)上有比較大的差別,但是原理還是一樣的。網(wǎng)絡(luò)結(jié)構(gòu)大致如圖2。

圖2(點(diǎn)擊查看大圖)

左邊是網(wǎng)絡(luò)的抽象結(jié)構(gòu),由于循環(huán)神經(jīng)網(wǎng)絡(luò)多用在時(shí)序序列上,因此里面的輸入層、隱藏層和輸出層都帶上了“(t)”。w(t)
是句子中第 t
個(gè)詞的 One-hot representation 的向量,也就是說 w
是一個(gè)非常長(zhǎng)的向量,里面只有一個(gè)元素是 1。而下面的 s(t?1)
向量就是上一個(gè)隱藏層。最后隱藏層計(jì)算公式為:
s(t)=sigmoid(Uw(t)+Ws(t?1))

從右圖可以看出循環(huán)神經(jīng)網(wǎng)絡(luò)是如何展開的。每來一個(gè)新詞,就和上一個(gè)隱藏層聯(lián)合計(jì)算出下一個(gè)隱藏層,隱藏層反復(fù)利用,一直保留著最新的狀態(tài)。各隱藏層通過一層傳統(tǒng)的前饋網(wǎng)絡(luò)得到輸出值。
  w(t)
是一個(gè)詞的 One-hot representation,那么 Uw(t)
也就相當(dāng)于從矩陣 U
中選出了一列,這一列就是該詞對(duì)應(yīng)的詞向量。
  循環(huán)神經(jīng)網(wǎng)絡(luò)的最大優(yōu)勢(shì)在于,可以真正充分地利用所有上文信息來預(yù)測(cè)下一個(gè)詞,而不像前面的其它工作那樣,只能開一個(gè) n 個(gè)詞的窗口,只用前 n 個(gè)詞來預(yù)測(cè)下一個(gè)詞。從形式上看,這是一個(gè)非?!敖K極”的模型,畢竟語言模型里能用到的信息,他全用上了??上У氖?,循環(huán)神經(jīng)網(wǎng)絡(luò)形式上非常好看,使用起來卻非常難優(yōu)化,如果優(yōu)化的不好,長(zhǎng)距離的信息就會(huì)丟失,甚至還無法達(dá)到開窗口看前若干個(gè)詞的效果。Mikolov 在 RNNLM 里面只使用了最樸素的 BPTT 優(yōu)化算法,就已經(jīng)比 n-gram 中的 state of the art 方法有更好的效果,這非常令人欣慰。如果用上了更強(qiáng)的優(yōu)化算法,最后效果肯定還能提升很多。
  對(duì)于最后隱藏層到輸出層的巨大計(jì)算量,Mikolov 使用了一種分組的方法:根據(jù)詞頻將 |V|
個(gè)詞分成 |V|???√
組,先通過 |V|???√
次判斷,看下一個(gè)詞屬于哪個(gè)組,再通過若干次判斷,找出其屬于組內(nèi)的哪個(gè)元素。最后均攤復(fù)雜度約為 o(|V|???√)
,略差于 M&H 的 o(log(|V|))
,但是其淺層結(jié)構(gòu)某種程度上可以減少誤差傳遞,也不失為一種良策。
  Mikolov 的 RNNLM 也是開源的(網(wǎng)址)。非常算法風(fēng)格的代碼,幾乎所有功能都在一個(gè)文件里,工程也很好編譯。比較好的是,RNNLM 可以完美支持中文,如果語料存成 UTF-8 格式,就可以直接用了。
  最后吐槽一句,我覺得他在隱藏層用 sigmoid 作為激活函數(shù)不夠漂亮。因?yàn)殡[藏層要和輸入詞聯(lián)合計(jì)算得到下一個(gè)隱藏層,如果當(dāng)前隱藏層的值全是正的,那么輸入詞對(duì)應(yīng)的參數(shù)就會(huì)略微偏負(fù),也就是說最后得到的詞向量的均值不在 0 附近。總感覺不好看。當(dāng)然,從實(shí)驗(yàn)效果看,是我太強(qiáng)迫癥了。
2.5 Huang 的語義強(qiáng)化
  與前幾位大牛的工作不同,Eric H. Huang 的工作是在 C&W 的基礎(chǔ)上改進(jìn)而成的,并非自成一派從頭做起。他這篇發(fā)表在 ACL 2012 上的《Improving Word Representations via Global Context and Multiple Word Prototypes》試圖通過對(duì)模型的改進(jìn),使得詞向量富含更豐富的語義信息。他在文中提出了兩個(gè)主要?jiǎng)?chuàng)新來完成這一目標(biāo):(其實(shí)從論文標(biāo)題就能看出來)第一個(gè)創(chuàng)新是使用全文信息輔助已有的局部信息,第二個(gè)創(chuàng)新是使用多個(gè)詞向量來表示多義詞。下面逐一介紹。
  Huang 認(rèn)為 C&W 的工作只利用了“局部上下文(Local Context)”。C&W 在訓(xùn)練詞向量的時(shí)候,只使用了上下文各 5 個(gè)詞,算上自己總共有 11 個(gè)詞的信息,這些局部的信息還不能充分挖掘出中間詞的語義信息。Huang 直接使用 C&W 的網(wǎng)絡(luò)結(jié)構(gòu)計(jì)算出一個(gè)得分,作為“局部得分”?! ∪缓?Huang 提出了一個(gè)“全局信息”,這有點(diǎn)類似傳統(tǒng)的詞袋子模型。詞袋子模型是把文章中所有詞的 One-hot Representation 加起來,形成一個(gè)向量(就像把詞全都扔進(jìn)一個(gè)袋子里),用來表示文章。Huang 的全局模型是將文章中所有詞的詞向量求個(gè)加權(quán)平均(權(quán)重是詞的 idf),作為文章的語義。他把文章的語義向量和當(dāng)前詞的詞向量拼接起來,形成一個(gè)兩倍長(zhǎng)度的向量作為輸入,之后還是用 C&W 的網(wǎng)絡(luò)結(jié)構(gòu)算出一個(gè)打分?! ∮辛?C&W 方法的得到的“局部得分”,再加上在 C&W 方法基礎(chǔ)上改造得到的“全局得分”,Huang 直接把兩個(gè)得分相加,作為最終得分。最終得分使用 C&W 提出的 pair-wise 目標(biāo)函數(shù)來優(yōu)化。  加了這個(gè)全局信息有什么用處呢?Huang 在實(shí)驗(yàn)中發(fā)現(xiàn),他的模型能更好地捕捉詞的語義信息。比如 C&W 的模型中,與 markets 最相近的詞為 firms、industries;而 Huang 的模型得到的結(jié)果是 market、firms。很明顯,C&W 的方法由于只考慮了臨近詞的信息,最后的結(jié)果是詞法特征最相近的詞排在了前面(都是復(fù)數(shù)形式)。不過我覺得這個(gè)可能是英語才有的現(xiàn)象,中文沒有詞形變化,如果在中文中做同樣的實(shí)驗(yàn)還不知道會(huì)有什么效果。
  Huang 論文的第二個(gè)貢獻(xiàn)是將多義詞用多個(gè)詞向量來表示。Bengio 2003 在最后提過這是一個(gè)重要的問題,不過當(dāng)時(shí)他還在想辦法解決,現(xiàn)在 Huang 給出了一種思路。  將每個(gè)詞的上下文各 5 個(gè)詞拿出來,對(duì)這 10 個(gè)詞的詞向量做加權(quán)平均(同樣使用 idf 作為權(quán)重)。對(duì)所有得到的上下文向量做 k-means 聚類,根據(jù)聚類結(jié)果給每個(gè)詞打上標(biāo)簽(不同類中的同一個(gè)詞,當(dāng)作不同的詞處理),最后重新訓(xùn)練詞向量。  當(dāng)然這個(gè)實(shí)驗(yàn)的效果也是很不錯(cuò)的,最后 star 的某一個(gè)表示最接近的詞是 movie、film;另一個(gè)表示最接近的詞是 galaxy、planet?!   ∵@篇文章還做了一些對(duì)比實(shí)驗(yàn),在下一章評(píng)價(jià)里細(xì)講。
2.999 總結(jié)
  //博主道:本節(jié)承上啟下,不知道應(yīng)該放在第 2 章還是第 3 章,便將小節(jié)號(hào)寫為 2.999。
  講完了大牛們的各種方法,自己也忍不住來總結(jié)一把。當(dāng)然,為了方便對(duì)比,我先列舉一下上面提到的各個(gè)系統(tǒng)的現(xiàn)有資源,見下表。對(duì)應(yīng)的論文不在表中列出,可參見最后的參考文獻(xiàn)。
搜索:

名稱

訓(xùn)練語料及規(guī)模

詞向量

特點(diǎn)

資源

C&W
English Wikipedia + Reuters RCV1共 631M + 221M 詞
130000 詞50 維
不區(qū)分大小寫;經(jīng)過有監(jiān)督修正;訓(xùn)練了 7 周
測(cè)試代碼、詞向量[鏈接]

C&W - Turian
Reuters RCV163M 詞
268810 詞25、50、100、200 維
區(qū)分大小寫;訓(xùn)練了若干周
訓(xùn)練代碼、詞向量[鏈接]

M&H - Turian
Reuters RCV1
246122 詞50、100 維
區(qū)分大小寫;用GPU訓(xùn)練了7天
詞向量[鏈接]

Mikolov
Broadcast news
82390 詞80、640、1600 維
不區(qū)分大小寫;訓(xùn)練了若干天
訓(xùn)練、測(cè)試代碼、詞向量[鏈接]

Huang 2012
English Wikipedia
100232 詞50 維
不區(qū)分大小寫;最高頻的6000詞,每詞有10種表示
訓(xùn)練、測(cè)試代碼、語料及詞向量[鏈接]

顯示第 1 至 5 項(xiàng)結(jié)果,共 5 項(xiàng)

Turian 的工作前面只是提了一下,他在做 C&W 向量與 H&M 向量的對(duì)比實(shí)驗(yàn)時(shí),自己按照論文重新實(shí)現(xiàn)了一遍他們的方法,并公布了詞向量。后來 C&W 在主頁上強(qiáng)調(diào)了一下:盡管很多論文把 Turian 實(shí)現(xiàn)的結(jié)果叫做 C&W 向量,但是與我發(fā)布的詞向量是不同的,我這個(gè)在更大的語料上訓(xùn)練,還花了兩個(gè)月時(shí)間呢!  Turian 公布的 H&M 向量是直接請(qǐng) Andriy Mnih 在 Turian 做好的語料上運(yùn)行了一下 HLBL,所以沒有代碼公布。同時(shí) Turian 自己實(shí)現(xiàn)了一份 LBL模型,但是沒有公布訓(xùn)練出來的詞向量。(這是根據(jù)他主頁上描述推測(cè)的結(jié)果,從 Turian 的論文中看,他應(yīng)該是實(shí)現(xiàn)了 HLBL 算法并且算出詞向量的。)  RCV1 的詞數(shù)兩篇文章中所寫的數(shù)據(jù)差距較大,還不知道是什么原因。
  Holger Schwenk 在詞向量和語言模型方面也做了一些工作,看起來大體相似,也沒仔細(xì)讀過他的論文。有興趣的讀作可以直接搜他的論文。
  事實(shí)上,除了 RNNLM 以外,上面其它所有模型在第一層(輸入層到隱藏層)都是等價(jià)的,都可以看成一個(gè)單層網(wǎng)絡(luò)。可能形式最為特別的是 M&H 的模型,對(duì)前面的每個(gè)詞單獨(dú)乘以矩陣 Hi
,而不是像其它方法那樣把詞向量串接起來乘以矩陣 H
。但如果把 H
看成 Hi
的拼接: [H1H2...Ht]
,則會(huì)有以下等式:
[H1H2...Ht]?????C(w1)C(w2)...C(wt)?????=H1C(w1)+H2C(w2)+…+HtC(wt)

這么看來還是等價(jià)的。
  所以前面的這么多模型,本質(zhì)是非常相似的。都是從前若干個(gè)詞的詞向量通過線性變換抽象出一個(gè)新的語義(隱藏層),再通過不同的方法來解析這個(gè)隱藏層。模型的差別主要就在隱藏層到輸出層的語義。Bengio 2003 使用了最樸素的線性變換,直接從隱藏層映射到每個(gè)詞;C&W 簡(jiǎn)化了模型(不求語言模型),通過線性變換將隱藏層轉(zhuǎn)換成一個(gè)打分;M&H 復(fù)用了詞向量,進(jìn)一步強(qiáng)化了語義,并用層級(jí)結(jié)構(gòu)加速;Mikolov 則用了分組來加速。
  每種方法真正的差別看起來并不大,當(dāng)然里面的這些創(chuàng)新,也都是有據(jù)可循的。下一章就直接來看看不同模型的效果如何。

  1. 詞向量的評(píng)價(jià)
      詞向量的評(píng)價(jià)大體上可以分成兩種方式,第一種是把詞向量融入現(xiàn)有系統(tǒng)中,看對(duì)系統(tǒng)性能的提升;第二種是直接從語言學(xué)的角度對(duì)詞向量進(jìn)行分析,如相似度、語義偏移等。
    3.1 提升現(xiàn)有系統(tǒng)
      詞向量的用法最常見的有兩種:  1. 直接用于神經(jīng)網(wǎng)絡(luò)模型的輸入層。如 C&W 的 SENNA 系統(tǒng)中,將訓(xùn)練好的詞向量作為輸入,用前饋網(wǎng)絡(luò)和卷積網(wǎng)絡(luò)完成了詞性標(biāo)注、語義角色標(biāo)注等一系列任務(wù)。再如 Socher 將詞向量作為輸入,用遞歸神經(jīng)網(wǎng)絡(luò)完成了句法分析、情感分析等多項(xiàng)任務(wù)。  2. 作為輔助特征擴(kuò)充現(xiàn)有模型。如 Turian 將詞向量作為額外的特征加入到接近 state of the art 的方法中,進(jìn)一步提高了命名實(shí)體識(shí)別和短語識(shí)別的效果?! 【唧w的用法理論上會(huì)在下一篇博文中細(xì)講?!   &W 的論文中有一些對(duì)比實(shí)驗(yàn)。實(shí)驗(yàn)的結(jié)果表明,使用詞向量作為初始值替代隨機(jī)初始值,其效果會(huì)有非常顯著的提升(如:詞性標(biāo)注準(zhǔn)確率從 96.37% 提升到 97.20%;命名實(shí)體識(shí)別 F 值從 81.47% 提升到 88.67%)。同時(shí)使用更大的語料來訓(xùn)練,效果也會(huì)有一些提升。
      Turian 發(fā)表在 ACL 2010 上的實(shí)驗(yàn)對(duì)比了 C&W 向量與 M&H 向量用作輔助特征時(shí)的效果。在短語識(shí)別和命名實(shí)體識(shí)別兩個(gè)任務(wù)中,C&W 向量的效果都有略微的優(yōu)勢(shì)。同時(shí)他也發(fā)現(xiàn),如果將這兩種向量融合起來,會(huì)有更好的效果。除了這兩種詞向量,Turian 還使用 Brown Cluster 作為輔助特征做了對(duì)比,效果最好的其實(shí)是 Brown Cluster,不過這個(gè)已經(jīng)超出本文的范圍了。
    3.2 語言學(xué)評(píng)價(jià)
      Huang 2012 的論文提出了一些創(chuàng)新,能提升詞向量中的語義成分。他也做了一些實(shí)驗(yàn)對(duì)比了各種詞向量的語義特性。實(shí)驗(yàn)方法大致就是將詞向量的相似度與人工標(biāo)注的相似度做比較。最后 Huang 的方法語義相似度最好,其次是 C&W 向量,再然后是 Turian 訓(xùn)練的 HLBL 向量與 C&W 向量。這里因?yàn)?Turian 訓(xùn)練詞向量時(shí)使用的數(shù)據(jù)集(RCV1)與其他的對(duì)比實(shí)驗(yàn)(Wiki)并不相同,因此并不是非常有可比性。但從這里可以推測(cè)一下,可能更大更豐富的語料對(duì)于語義的挖掘是有幫助的。
      還有一個(gè)有意思的分析是 Mikolov 在 2013 年剛剛發(fā)表的一項(xiàng)發(fā)現(xiàn)。他發(fā)現(xiàn)兩個(gè)詞向量之間的關(guān)系,可以直接從這兩個(gè)向量的差里體現(xiàn)出來。向量的差就是數(shù)學(xué)上的定義,直接逐位相減。比如 C(king)?C(queen)≈C(man)?C(woman)
    。更強(qiáng)大的是,與 C(king)?C(man)+C(woman)
    最接近的向量就是 C(queen)
    ?! 榱朔治鲈~向量的這個(gè)特點(diǎn), Mikolov 使用類比(analogy)的方式來評(píng)測(cè)。如已知 a 之于 b 猶如 c 之于 d?,F(xiàn)在給出 a、b、c,看 C(a)?C(b)+C(c)
    最接近的詞是否是 d?! ≡谖恼?Mikolov 對(duì)比了詞法關(guān)系(名詞單復(fù)數(shù) good-better:rough-rougher、動(dòng)詞第三人稱單數(shù)、形容詞比較級(jí)最高級(jí)等)和語義關(guān)系(clothing-shirt:dish-bowl)?! ≡谠~法關(guān)系上,RNN 的效果最好,然后是 Turian 實(shí)現(xiàn)的 HLBL,最后是 Turian 的 C&W。(RNN-80:19%;RNN-1600:39.6%;HLBL-100:18.7%;C&W-100:5%;-100表示詞向量為100維)  在語義關(guān)系上,表現(xiàn)最好的還是 RNN,然后是 Turian 的兩個(gè)向量,差距沒剛才的大。(RNN-80:0.211;C&W-100:0.154;HLBL-100:0.146)  但是這個(gè)對(duì)比實(shí)驗(yàn)用的訓(xùn)練語料是不同的,也不能特別說明優(yōu)劣。
      這些實(shí)驗(yàn)結(jié)果中最容易理解的是:語料越大,詞向量就越好。其它的實(shí)驗(yàn)由于缺乏嚴(yán)格控制條件進(jìn)行對(duì)比,談不上哪個(gè)更好哪個(gè)更差。不過這里的兩個(gè)語言學(xué)分析都非常有意思,尤其是向量之間存在這種線性平移的關(guān)系,可能會(huì)是詞向量發(fā)展的一個(gè)突破口。
    參考文獻(xiàn)
    Yoshua Bengio, Rejean Ducharme, Pascal Vincent, and Christian Jauvin. A neural probabilistic language model. Journal of Machine Learning Research (JMLR), 3:1137–1155, 2003. [PDF]
    Ronan Collobert, Jason Weston, Léon Bottou, Michael Karlen, Koray Kavukcuoglu and Pavel Kuksa.Natural Language Processing (Almost) from Scratch. Journal of Machine Learning Research (JMLR), 12:2493-2537, 2011. [PDF]
    Andriy Mnih & Geoffrey Hinton. Three new graphical models for statistical language modelling. International Conference on Machine Learning (ICML). 2007. [PDF]Andriy Mnih & Geoffrey Hinton. A scalable hierarchical distributed language model. The Conference on Neural Information Processing Systems (NIPS) (pp. 1081–1088). 2008. [PDF]
    Mikolov Tomá?. Statistical Language Models based on Neural Networks. PhD thesis, Brno University of Technology. 2012. [PDF]
    Turian Joseph, Lev Ratinov, and Yoshua Bengio. Word representations: a simple and general method for semi-supervised learning. Proceedings of the 48th Annual Meeting of the Association for Computational Linguistics (ACL). 2010. [PDF]
    Eric Huang, Richard Socher, Christopher Manning and Andrew Ng. Improving word representations via global context and multiple word prototypes. Proceedings of the 50th Annual Meeting of the Association for Computational Linguistics: Long Papers-Volume 1. 2012. [PDF]
    Mikolov, Tomas, Wen-tau Yih, and Geoffrey Zweig. Linguistic regularities in continuous space word representations. Proceedings of NAACL-HLT. 2013. [PDF]
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容