[Embeding-1]Efficient Estimation of Word Representations in Vector Space 译文
1. abstract
我們提出了兩種新的模型結(jié)構(gòu),用于計算非常大數(shù)據(jù)集中單詞的連續(xù)矢量表示。這些表示的質(zhì)量是在一個詞相似性任務(wù)中測量的,并將結(jié)果與以前基于不同類型神經(jīng)網(wǎng)絡(luò)的最佳表現(xiàn)技術(shù)進(jìn)行比較。我們觀察到,在低得多的計算成本下,精度有了很大的提高,也就是說,從16億字的數(shù)據(jù)集中學(xué)習(xí)高質(zhì)量的字向量只需不到一天的時間。此外,我們還表明,這些向量在測試集上提供了最先進(jìn)的性能,用于測量句法和語義詞的相似性。
2. introduction
許多當(dāng)前的NLP系統(tǒng)和技術(shù)都將單詞視為原子單位——單詞之間沒有相似的概念,因為它們在詞匯表中被表示為索引。這種選擇有幾個很好的原因——簡單、健壯,并且觀察到簡單的模型在大量數(shù)據(jù)上的訓(xùn)練比在較少數(shù)據(jù)上訓(xùn)練的復(fù)雜系統(tǒng)的訓(xùn)練效果更好。一個例子是流行的用于統(tǒng)計語言建模的n-gram模型——今天,幾乎可以對所有可用數(shù)據(jù)(萬億字[3])訓(xùn)練n-gram。
然而,在許多任務(wù)中,簡單的技術(shù)都是有限的。例如,用于自動語音識別的相關(guān)域內(nèi)數(shù)據(jù)的數(shù)量是有限的——性能通常由高質(zhì)量的轉(zhuǎn)錄語音數(shù)據(jù)(通常只有數(shù)百萬個字)的大小決定。在機(jī)器翻譯中,現(xiàn)有的許多語言的語料庫只包含幾十億個單詞。或者更少。因此,在某些情況下,簡單地擴(kuò)展基本技術(shù)不會導(dǎo)致任何顯著的進(jìn)步,我們必須關(guān)注更先進(jìn)的技術(shù)。
隨著近年來機(jī)器學(xué)習(xí)技術(shù)的進(jìn)步,在更大的數(shù)據(jù)集上訓(xùn)練更復(fù)雜的模型已經(jīng)成為可能,而且它們通常優(yōu)于簡單模型。可能最成功的概念是使用分布式的單詞表示[10]。例如,基于神經(jīng)網(wǎng)絡(luò)的語言模型明顯優(yōu)于N-gram模型[1,27,17]。
- Goals of this paper
本文的主要目的是介紹從海量的數(shù)億字和數(shù)百萬字的數(shù)據(jù)集中學(xué)習(xí)高質(zhì)量的詞匯向量的技術(shù)。據(jù)我們所知,之前提出的架構(gòu)中沒有一個能成功地訓(xùn)練超過數(shù)億個單詞,單詞向量的維數(shù)在50-100之間。
我們使用最近提出的技術(shù)來測量產(chǎn)生的向量表示的質(zhì)量,期望不僅相似的詞彼此接近,而且這些詞可以具有多個相似度[20]。這一點在之前的屈折語言(inflectional languages)中已經(jīng)被觀察到了,例如,名詞可以有多個詞尾,如果我們在原始向量空間的子空間中搜索相似的詞,就可以找到具有相似詞尾的詞[13,14]。
令人驚訝的是,人們發(fā)現(xiàn)詞語表達(dá)的相似性超出了簡單的句法規(guī)則。使用字偏移技術(shù),在字向量上執(zhí)行簡單的代數(shù)運算,例如,矢量(“king”)-矢量(“man”)+矢量(“woman”)產(chǎn)生的矢量最接近于單詞queen的矢量表示[20]。
在本文中,我們試圖通過開發(fā)新的模型體系結(jié)構(gòu)來最大限度地提高這些向量運算的準(zhǔn)確性,這種模型體系結(jié)構(gòu)可以保持單詞之間的線性規(guī)律。我們設(shè)計了一個新的綜合測試集來測量句法和語義的規(guī)律性,并表明許多這樣的規(guī)律性可以被高精度地學(xué)習(xí)。此外,此外,我們還討論了訓(xùn)練時間和準(zhǔn)確性如何取決于單詞向量的維數(shù)和訓(xùn)練數(shù)據(jù)的數(shù)量。
- Previous Work
將單詞表示為連續(xù)向量有很長的歷史[10,26,8]。在[1]中,提出了一種非常流行的神經(jīng)網(wǎng)絡(luò)語言模型(NNLM)估計模型體系結(jié)構(gòu),該模型采用線性投影層和非線性隱層的前饋神經(jīng)網(wǎng)絡(luò)共同學(xué)習(xí)字向量表示和統(tǒng)計語言模型。這項工作已被許多其他人追隨。
NNLM的另一個有趣的體系結(jié)構(gòu)出現(xiàn)在[13,14]中,在這里,首先使用具有單個隱藏層的神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)單詞vectors。然后使用vectors這個詞來訓(xùn)練nnlm。因此,即使不構(gòu)建完整的nnlm,也可以學(xué)習(xí)單詞向量。在這項工作中,我們直接擴(kuò)展了這個體系結(jié)構(gòu),并且只關(guān)注使用簡單模型學(xué)習(xí)word向量。
后來發(fā)現(xiàn),單詞向量化可用于顯著改進(jìn)和簡化許多NLP應(yīng)用[4、5、29]。單詞向量本身的估計是使用不同的模型結(jié)構(gòu)進(jìn)行的,并在不同的語料庫[4、29、23、19、9]上進(jìn)行訓(xùn)練,得到的一些單詞向量可用于將來研究和比較。然而,據(jù)我們所知,這些體系結(jié)構(gòu)在訓(xùn)練方面的計算成本明顯高于[13]中提出的體系結(jié)構(gòu),但使用對角權(quán)重矩陣的對數(shù)雙線性模型的某些版本除外[23]。
2.?Model Architectures
研究學(xué)者已經(jīng)提出了許多不同類型的詞匯連續(xù)表示模型,包括眾所周知的潛在語義分析(LSA)和潛在dirichlet分配(LDA)。在本文中,我們重點研究了神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)的單詞的分布式表示,如前所述,在保持單詞之間的線性規(guī)律方面,它們的性能明顯優(yōu)于LSA[20,31];此外,在大型數(shù)據(jù)集上,LDA在計算上變得非常昂貴。
與[18]類似,為了比較不同的模型架構(gòu),我們首先將模型的計算復(fù)雜性定義為需要訪問的參數(shù)數(shù)量,以完全訓(xùn)練模型。接下來,我們將嘗試最大化精度,同時最小化計算復(fù)雜性。
對于以下所有模型,訓(xùn)練復(fù)雜性定義為正比例與:
其中,E是Training-Epoch的數(shù)量,T是訓(xùn)練集中的單詞數(shù)量,Q是根據(jù)每個模型體系結(jié)構(gòu)進(jìn)一步定義的。常見的選擇是E=3-50,T高達(dá)10億。所有模型都使用隨機(jī)梯度下降和反向傳播進(jìn)行訓(xùn)練[26]。
- Feedforward Neural Net Language Model (NNLM)
在[1]中提出了概率前饋神經(jīng)網(wǎng)絡(luò)語言模型。它由輸入層、投影層、隱藏層和輸出層組成。在輸入層,前n個單詞使用1/v編碼,其中v是詞匯表的大小。然后使用共享投影矩陣將輸入層投影到尺寸為N×D的投影層P上。由于在任何給定時間只有n個輸入是活動的,投影層的組成是一個相對便宜的操作。
由于投影層中的值很密集,NNLM結(jié)構(gòu)在投影層和隱藏層之間的計算變得復(fù)雜。對于N=10的常見選擇,投影層(p)的大小可能為500到2000,而隱藏層大小h通常為500到1000個單位。此外,隱藏層用于計算詞匯表中所有單詞的概率分布,從而生成具有維數(shù)V的輸出層。因此,每個訓(xùn)練示例的計算復(fù)雜性是:
其中主項為H×V。但是,為了避免出現(xiàn)這種情況,我們提出了幾種實用的解決方案:要么使用SoftMax的分層版本[25、23、18],要么使用訓(xùn)練期間未標(biāo)準(zhǔn)化的模型完全避免標(biāo)準(zhǔn)化模型[4、9]。使用詞匯表的二叉樹表示,需要評估的輸出單元的數(shù)量可以下降到大約log(V)。因此,大多數(shù)復(fù)雜性是由N×D×H引起的。
在我們的模型中,我們使用分層的SoftMax,其中詞匯表表示為一個哈夫曼二叉樹。這是根據(jù)之前的觀察得出的,單詞的頻率對于在神經(jīng)網(wǎng)絡(luò)語言模型中獲取類很有效[16]。哈夫曼樹將短二進(jìn)制代碼分配給頻繁使用的字,這進(jìn)一步減少了需要評估的輸出單元的數(shù)量:雖然平衡二進(jìn)制樹需要評估log2(v)輸出,但是基于哈夫曼樹的分層Softmax只需要大約log2(Unigram perplexity(V))。例如,當(dāng)詞匯大小為一百萬個單詞時,這會導(dǎo)致評估速度加快兩倍。雖然這對于神經(jīng)網(wǎng)絡(luò)LMs來說不是關(guān)鍵的加速,因為計算瓶頸在n×d×h項中,我們稍后將提出不具有隱藏層的架構(gòu),從而嚴(yán)重依賴于SoftMax規(guī)范化的效率。
- Recurrent Neural Net Language Model (RNNLM)
為了克服前饋神經(jīng)網(wǎng)絡(luò)的某些局限性,提出了基于遞歸神經(jīng)網(wǎng)絡(luò)的語言模型,例如需要指定上下文長度(模型N的階數(shù)),并且由于理論上RNN能比淺神經(jīng)網(wǎng)絡(luò)更有效地表示復(fù)雜的模式[15,2]。RNN模型沒有投影層,只有輸入層、隱藏層和輸出層。這種模型的特殊之處在于使用延時連接將隱藏層連接到自身的循環(huán)矩陣。這允許循環(huán)模型形成某種短期內(nèi)存,因為來自過去的信息可以由隱藏層狀態(tài)表示,隱藏層狀態(tài)根據(jù)當(dāng)前輸入和上一時間步驟中隱藏層的狀態(tài)進(jìn)行更新。
每個訓(xùn)練樣例的RNN模型的復(fù)雜度為:
當(dāng)表示詞D的維數(shù)與隱藏層的H維數(shù)相同時,使用層次SoftMax可以有效地將H×V簡化為H×log2(V)。大部分的復(fù)雜性來自H×H。
- Parallel Training of Neural Networks
為了在大型數(shù)據(jù)集上訓(xùn)練模型,我們在一個稱為DistBelief[6]的大型分布式框架之上實現(xiàn)了幾個模型,包括前饋NNLM和本文提出的新模型。框架允許我們并行運行同一模型的多個副本,并且每個副本通過一個保留所有參數(shù)的集中服務(wù)器同步其漸變更新。對于這種并行訓(xùn)練,我們使用小批量異步梯度下降和自適應(yīng)學(xué)習(xí)速率(adagrad)[7]。在這個框架下,通常使用100個或更多的模型副本,每個副本在數(shù)據(jù)中心的不同機(jī)器上使用多個CPU核。
3.?New Log-linear Models
在本節(jié)中,我們提出了兩種新的模型體系結(jié)構(gòu),用于學(xué)習(xí)分布式單詞表示,以盡量減少計算復(fù)雜性。前一節(jié)的主要觀察結(jié)果是,模型中的非線性隱藏層導(dǎo)致了大部分復(fù)雜性。雖然這正是神經(jīng)網(wǎng)絡(luò)如此具有吸引力的原因,但我們決定探索更簡單的模型,這些模型可能無法像神經(jīng)網(wǎng)絡(luò)那樣精確地表示數(shù)據(jù),但可能能夠更有效地訓(xùn)練數(shù)據(jù)。
新的體系結(jié)構(gòu)直接遵循我們之前的工作[13,14]中提出的那些,發(fā)現(xiàn)神經(jīng)網(wǎng)絡(luò)語言模型可以通過兩個步驟成功地訓(xùn)練:首先,使用簡單的模型學(xué)習(xí)連續(xù)詞向量,然后在這些分布之上訓(xùn)練N-gram MNNLM。表達(dá)文字。雖然后來有大量的工作專注于學(xué)習(xí)單詞向量,但我們認(rèn)為[13]中提出的方法是最簡單的方法。請注意,相關(guān)模型也早就提出了[26,8]。
- Continuous Bag-of-Words Model
第一個提出的架構(gòu)類似于前饋NNLM,其中非線性隱藏層被移除,投影層被所有單詞共享(不僅僅是投影矩陣);因此,所有單詞被投影到相同的位置(它們的向量被平均)。我們稱這種架構(gòu)為bag-of-words模型,因為歷史的文字順序不影響投射。此外,我們還使用了來自未來的單詞,通過在輸入端建立一個包含四個未來和四個歷史單詞的對數(shù)線性分類器,我們在下一節(jié)介紹的任務(wù)中獲得了最佳的性能,其中訓(xùn)練標(biāo)準(zhǔn)是正確地對當(dāng)前(中間)單詞進(jìn)行分類。巡禮的復(fù)雜性是:
我們將此模型進(jìn)一步表示為CBOW,因為與標(biāo)準(zhǔn)的單詞袋模型不同,它使用連續(xù)分布的上下文表示。模型架構(gòu)如圖1所示。請注意,輸入層和投影層之間的權(quán)重矩陣對于所有單詞位置的共享方式與NNLM中的相同。
圖1:新的模型架構(gòu);CBOW基于上下文預(yù)測預(yù)測當(dāng)前的單詞;Skip-gram基于當(dāng)前詞預(yù)測周圍單詞- Continuous Skip-gram Model
第二種體系結(jié)構(gòu)類似于CBOW,但它不是根據(jù)上下文預(yù)測當(dāng)前單詞,而是根據(jù)同一句話中的另一個單詞最大限度地分類一個單詞。更準(zhǔn)確地說,我們使用每個當(dāng)前單詞作為一個具有連續(xù)投影層的對數(shù)線性分類器的輸入,并在當(dāng)前單詞前后的一定范圍內(nèi)預(yù)測單詞。我們發(fā)現(xiàn),增加范圍可以提高結(jié)果字向量的質(zhì)量,但同時也增加了計算的復(fù)雜性。由于距離較遠(yuǎn)的單詞通常與當(dāng)前單詞的關(guān)聯(lián)性比與當(dāng)前單詞的關(guān)聯(lián)性小,因此我們通過從訓(xùn)練示例中的單詞中抽取較少的樣本來減少對距離較遠(yuǎn)的單詞的權(quán)重。
這種架構(gòu)的復(fù)雜度為:
其中C是單詞的最大距離。因此,如果我們選擇C=5,對于每個訓(xùn)練單詞,我們將隨機(jī)選擇一個范圍<1;C>內(nèi)的數(shù)字r,然后使用歷史的R個單詞和當(dāng)前單詞未來的R單詞作為正確的標(biāo)簽。這將要求我們進(jìn)行R×2字分類,輸入當(dāng)前字,輸出每個R+R字。在下面的實驗中,我們使用C=10。
4.?Results
為了比較不同版本的詞向量的質(zhì)量,以前的論文通常使用一個表格來顯示示例詞及其最相似的詞,并直觀地理解它們。盡管很容易表明France這個詞與Italy或其他一些國家相似,但在將這些向量置于更復(fù)雜的相似任務(wù)中時,它的挑戰(zhàn)性要大得多,如下所示。我們根據(jù)前面的觀察,單詞之間可以有許多不同類型的相似性,例如,“big”和“bigger”類似于“small”和“smaller”具有相同的含義。另一種關(guān)系類型的例子可以是單詞對big - biggest和small - smallest[20]。如我們所問,我們進(jìn)一步表示了兩對與問題關(guān)系相同的詞。如我們所問,我們進(jìn)一步表示兩對與問題關(guān)系相同的詞。例如,我們可以問:”What is theword that is similar to small in the same sense as biggest is similar to big?”
有些令人驚訝的是,這些問題可以通過執(zhí)行簡單的代數(shù)運算來回答,這些代數(shù)運算是用詞的矢量表示的。要找到一個和“small”在同一意義上相似的詞,就像big-biggest,我們可以簡單地計算vector X = vector("biggest")-vector("big") + vector("small") 。然后,我們在向量空間中搜索余弦距離測量的最接近X的單詞,并將其作為問題的答案(我們在搜索過程中丟棄輸入的問題單詞)。當(dāng)單詞向量經(jīng)過良好的訓(xùn)練后,使用這種方法可以找到正確的答案(單詞smallest)。
最后,我們發(fā)現(xiàn),當(dāng)我們在大量數(shù)據(jù)上訓(xùn)練高維的詞向量時,所得到的向量可以用來回答詞之間非常微妙的語義關(guān)系,例如城市和它所屬的國家,例如法國對巴黎,德國對柏林。具有這種語義關(guān)系的詞向量可用于改進(jìn)現(xiàn)有的許多NLP應(yīng)用程序,如機(jī)器翻譯、信息檢索和問答系統(tǒng),并可使其他未來的應(yīng)用程序得以發(fā)明。
表1:語義-句法詞關(guān)系測試集中五類語義和九類句法問題的實例- 任務(wù)描述
為了衡量詞匯向量的質(zhì)量,我們定義了一個綜合測試集,包含五種語義問題和九種句法問題。表1顯示了每類中的兩個示例。總的來說,有8869個語義問題和10675個句法問題。每個類別中的問題都是通過兩個步驟創(chuàng)建的:首先,手動創(chuàng)建類似單詞對的列表。然后,通過連接兩個詞對形成一個大的問題列表。例如,我們列出了68個美國大城市及其所屬的州,并通過隨機(jī)選擇兩個詞對,形成了大約2.5k的問題。我們的測試集中只包含單個標(biāo)記詞,因此不存在多詞實體(such as New York)。
我們評估所有問題類型和每個問題類型(語義、句法)的整體準(zhǔn)確性。只有當(dāng)使用上述方法計算出的向量最接近的詞與問題中的正確詞完全相同時,才能假定問題得到正確回答;因此,同義詞被視為錯誤。這也意味著要達(dá)到100%的準(zhǔn)確度是不可能的,因為當(dāng)前的模型沒有任何有關(guān)詞形的輸入信息。然而,我們相信向量這個詞在某些應(yīng)用中的有用性應(yīng)該與這個精度度量正相關(guān)。通過整合單詞結(jié)構(gòu)的信息,特別是在句法問題上,可以取得進(jìn)一步的進(jìn)展。
表2:使用有限詞匯的CBOW體系結(jié)構(gòu)中的詞向量對語義句法詞關(guān)系測試集子集的準(zhǔn)確性進(jìn)行測試。只使用包含最常見30K單詞的問題。 表3:使用在相同數(shù)據(jù)上訓(xùn)練的模型與640維字向量對模型進(jìn)行比較。本文語義-句法關(guān)系測試集和[20]的句法關(guān)系測試集報告精確度。?
表4:比較語義句法詞匯關(guān)系測試集上的公共可用詞匯向量和我們模型中的詞匯向量。使用完整詞匯表。- Maximization of Accuracy
我們使用了谷歌新聞?wù)Z料庫來訓(xùn)練詞匯向量。這個語料庫包含大約6B個標(biāo)記。我們已經(jīng)將詞匯量限制在一百萬個最常見的詞。顯然,我們正面臨時間約束的優(yōu)化問題,因為可以預(yù)期,使用更多的數(shù)據(jù)和更高的維字向量都將提高精度。為了快速評估模型體系結(jié)構(gòu)的最佳選擇以獲得盡可能好的結(jié)果,我們首先對訓(xùn)練數(shù)據(jù)子集上訓(xùn)練的模型進(jìn)行了評估,詞匯限制在最頻繁的30K單詞。表2顯示了使用CBOW體系結(jié)構(gòu)的結(jié)果,該體系結(jié)構(gòu)具有不同的詞向量維數(shù)選擇和不斷增加的訓(xùn)練數(shù)據(jù)。
可以看出,在某一點之后,添加更多維度或添加更多培訓(xùn)數(shù)據(jù)會減少改進(jìn)。因此,我們必須同時增加向量維數(shù)和訓(xùn)練數(shù)據(jù)的數(shù)量。雖然這種觀察可能看起來微不足道,但必須注意的是,目前流行的方法是在相對大量的數(shù)據(jù)上訓(xùn)練單詞向量,但大小不足(如50-100)。在等式4中,兩次增加訓(xùn)練數(shù)據(jù)的數(shù)量會導(dǎo)致計算復(fù)雜性的增加,與兩次增加向量大小的結(jié)果大致相同。
對于表2和表4中報告的實驗,我們使用了三個具有隨機(jī)梯度下降和反向傳播的訓(xùn)練Epoch。我們選擇起始學(xué)習(xí)率0.025,并將其線性降低,使其在最后一個訓(xùn)練階段結(jié)束時接近零。
- Comparison of Model Architectures
首先,我們比較了不同的模型結(jié)構(gòu),用相同的訓(xùn)練數(shù)據(jù)和640個詞向量的相同維數(shù)來推導(dǎo)詞向量。在進(jìn)一步的實驗中,我們在新的語義句法詞匯關(guān)系測試集中使用了全套問題,即對30K詞匯不受限制。我們還包括了[20]中介紹的一個測試集的結(jié)果,該測試集中于單詞之間的句法相似性。
訓(xùn)練數(shù)據(jù)由幾個LDC語料庫組成,并在[18]中詳細(xì)描述(320M單詞,82K詞匯)。我們使用這些數(shù)據(jù)提供了一個比較以前訓(xùn)練的RNN神經(jīng)網(wǎng)絡(luò)語言模型,該模型在一個CPU上訓(xùn)練大約需要8周。我們使DistBelief并行訓(xùn)練[6]對640個隱藏單元的前饋NNLM進(jìn)行了訓(xùn)練,使用之前8個單詞的歷史記錄(因此,NNLM的參數(shù)比RNNML多,因為投影層的大小為640×8)。
在表3中,可以看到來自RNN的單詞向量(如[20]中所用)在句法問題上表現(xiàn)良好。NNLM向量的性能明顯優(yōu)于RNN—這并不奇怪,因為RNNML中的字向量直接連接到非線性隱藏層。CBOW體系結(jié)構(gòu)在句法任務(wù)上比NNLM工作得更好,在語義任務(wù)上也差不多。最后,與CNOW模型相比,skip-gram架構(gòu)在句法任務(wù)上的效果稍差(但仍優(yōu)于NNLM),在測試的語義部分比所有其他模型都要好得多。
接下來,我們評估只使用一個CPU訓(xùn)練的模型,并將結(jié)果與公開可用的字向量進(jìn)行比較。比較見表4。cbow模型在大約一天的時間內(nèi)對google新聞數(shù)據(jù)的子集進(jìn)行了訓(xùn)練,而skip-gram模型的訓(xùn)練時間約為三天。
- Large Scale Parallel Training of Models
如前所述,我們已經(jīng)在一個稱為DistBelief的分布式框架中實現(xiàn)了各種模型。下面我們報告了在Google News 6B數(shù)據(jù)集上訓(xùn)練的幾個模型的結(jié)果,這些模型具有小批量異步梯度下降和自適應(yīng)學(xué)習(xí)速率過程adagrad[7]。我們在培訓(xùn)期間使用了50到100個模型副本。CPU核心的數(shù)量是一個估計,因為數(shù)據(jù)中心機(jī)器與其他生產(chǎn)任務(wù)共享,并且使用率可能會有很大的波動。注意,由于分布式框架的開銷,cbow模型和skip-gram模型的CPU使用率比它們的單機(jī)器實現(xiàn)更接近彼此。結(jié)果見表6。
- ?Microsoft Research Sentence Completion Challenge
微軟的句子完成挑戰(zhàn)最近被作為一項推進(jìn)語言建模和其他NLP技術(shù)的任務(wù)引入[32]。這個任務(wù)由1040個句子組成,每個句子中有一個單詞丟失,目標(biāo)是選擇與句子其余部分最連貫的單詞,給出五個合理的選擇列表。已經(jīng)報告了這組技術(shù)的性能,包括n-gram模型、基于LSA的模型[32]、對數(shù)雙線性模型[24]以及目前在這一基準(zhǔn)上保持55.4%精確度的最先進(jìn)性能的復(fù)發(fā)神經(jīng)網(wǎng)絡(luò)組合[19]。
我們研究了Skip-Gram體系結(jié)構(gòu)在這項任務(wù)中的性能。首先,我們在[32]中提供的50M單詞上訓(xùn)練640維模型。然后,我們用輸入的未知詞來計算測試集中每個句子的分?jǐn)?shù),并預(yù)測句子中所有周圍的單詞。最后一句話的得分就是這些個別預(yù)測的總和。根據(jù)句子得分,我們選擇最可能的句子。
表7簡要總結(jié)了一些以前的結(jié)果以及新的結(jié)果。雖然skip-gram模型本身在這項任務(wù)上的表現(xiàn)并不比lsa相似性更好,但該模型的分?jǐn)?shù)與用rnnlms獲得的分?jǐn)?shù)是互補(bǔ)的,加權(quán)組合導(dǎo)致了一個新的最新結(jié)果,準(zhǔn)確性為58.9%。
6.?Conclusion
本文研究了在一組句法和語義語言任務(wù)中,由不同模型導(dǎo)出的詞的矢量表示的質(zhì)量。我們觀察到,與流行的神經(jīng)網(wǎng)絡(luò)模型(前饋和循環(huán))相比,使用非常簡單的模型結(jié)構(gòu)來訓(xùn)練高質(zhì)量的字向量是可能的。由于計算復(fù)雜度低得多,從大得多的數(shù)據(jù)集中計算高維字向量是可能的。使用DistBelief分布式框架,可以訓(xùn)練cbow和skip-gram模型,甚至在擁有一萬億個單詞的語料庫上,基本上不限制詞匯的大小。這比之前公布的同類模型的最佳結(jié)果大幾個數(shù)量級。
Semeval-2012任務(wù)2[11]是一項有趣的任務(wù),其中詞矢量化技術(shù)最近被證明顯著優(yōu)于先前的技術(shù)水平。公共可用的RNN向量與其他技術(shù)一起使用,以使Spearman的秩相關(guān)比之前的最佳結(jié)果提高50%以上[31]。基于神經(jīng)網(wǎng)絡(luò)的詞向量以前應(yīng)用于許多其他NLP任務(wù),例如情感分析[12]和釋義檢測[28]。可以預(yù)期,這些應(yīng)用程序可以從本文描述的模型體系結(jié)構(gòu)中獲益。
我們正在進(jìn)行的工作表明,矢量詞可以成功地應(yīng)用于知識庫中事實的自動擴(kuò)展,也可以用于驗證現(xiàn)有事實的正確性。機(jī)器翻譯實驗的結(jié)果也很有希望。在未來,將我們的技術(shù)與潛在關(guān)系分析[30]和其他技術(shù)進(jìn)行比較也會很有趣。我們相信,我們的綜合測試集將有助于研究界改進(jìn)現(xiàn)有的詞匯向量估計技術(shù)。我們還期望高質(zhì)量的字向量將成為未來NLP應(yīng)用的重要組成部分。
7.?Follow-Up Work
在本文的初始版本被寫入后,我們發(fā)布了單機(jī)多線程C++代碼,用于計算單詞向量,同時使用連續(xù)的bag-of-words和skip-gram結(jié)構(gòu)。訓(xùn)練速度明顯高于本文前面的報道,即對于典型的超參數(shù)選擇,它是以每小時數(shù)十億字的順序排列的。我們還發(fā)布了超過140萬個矢量,代表命名實體,訓(xùn)練了超過1000億個單詞。我們后續(xù)工作將發(fā)表在即將發(fā)表的NIPS 2013年論文[21]中。
8. reference
[1] Y. Bengio, R. Ducharme, P. Vincent. A neural probabilistic language model. Journal of Machine Learning Research, 3:1137-1155, 2003.
[2] Y. Bengio, Y. LeCun. Scaling learning algorithms towards AI. In: Large-Scale Kernel Machines, MIT Press, 2007.
[3] T. Brants, A. C. Popat, P. Xu, F. J. Och, and J. Dean. Large language models in machinetranslation. In Proceedings of the Joint Conference on Empirical Methods in Natural LanguageProcessing and Computational Language Learning, 2007.
[4] R. Collobert and J. Weston. A Unified Architecture for Natural Language Processing: DeepNeural Networks with Multitask Learning. In International Conference on Machine Learning,ICML, 2008.
[5] R. Collobert, J. Weston, L. Bottou, M. Karlen, K. Kavukcuoglu and P. Kuksa. Natural Language Processing (Almost) from Scratch. Journal of Machine Learning Research, 12:2493-2537, 2011.
[6] J. Dean, G.S. Corrado, R. Monga, K. Chen, M. Devin, Q.V. Le, M.Z. Mao, M.A. Ranzato, A.Senior, P. Tucker, K. Yang, A. Y. Ng., Large Scale Distributed Deep Networks, NIPS, 2012.
[7] J.C. Duchi, E. Hazan, and Y. Singer. Adaptive subgradient methods for online learning and stochastic optimization. Journal of Machine Learning Research, 2011.
[8] J. Elman. Finding Structure in Time. Cognitive Science, 14, 179-211, 1990.
[9] Eric H. Huang, R. Socher, C. D. Manning and Andrew Y. Ng. Improving Word Representations via Global Context and Multiple Word Prototypes. In: Proc. Association for Computational Linguistics, 2012.
[10] G.E. Hinton, J.L. McClelland, D.E. Rumelhart. Distributed representations. In: Parallel distributed processing: Explorations in the microstructure of cognition. Volume 1: Foundations, MIT Press, 1986.
[11] D.A. Jurgens, S.M. Mohammad, P.D. Turney, K.J. Holyoak. Semeval-2012 task 2: Measuring degrees of relational similarity. In: Proceedings of the 6th International Workshop on Semantic Evaluation (SemEval 2012), 2012.
[12] A.L. Maas, R.E. Daly, P.T. Pham, D. Huang, A.Y. Ng, and C. Potts. Learning word vectors for sentiment analysis. In Proceedings of ACL, 2011.
[13] T. Mikolov. Language Modeling for Speech Recognition in Czech, Masters thesis, Brno University of Technology, 2007.
[14] T. Mikolov, J. Kopecky, L. Burget, O. Glembek and J. ′ Cernock ˇ y. Neural network based lan-guage models for higly inflective languages, In: Proc. ICASSP 2009.
[15] T. Mikolov, M. Karafiat, L. Burget, J. ′ Cernock ˇ y, S. Khudanpur. Recurrent neural network based language model, In: Proceedings of Interspeech, 2010.
[16] T. Mikolov, S. Kombrink, L. Burget, J. Cernock ˇ y, S. Khudanpur. Extensions of recurrent neural network language model, In: Proceedings of ICASSP 2011.
[17] T. Mikolov, A. Deoras, S. Kombrink, L. Burget, J. Cernock ˇ y. Empirical Evaluation and Com-bination of Advanced Language Modeling Techniques, In: Proceedings of Interspeech, 2011.
[18] T. Mikolov, A. Deoras, D. Povey, L. Burget, J. Cernock ˇ y. Strategies for Training Large Scale Neural Network Language Models, In: Proc. Automatic Speech Recognition and Understanding, 2011.
[19] T. Mikolov. Statistical Language Models based on Neural Networks. PhD thesis, Brno University of Technology, 2012.
[20] T. Mikolov, W.T. Yih, G. Zweig. Linguistic Regularities in Continuous Space Word Representations. NAACL HLT 2013.
[21] T. Mikolov, I. Sutskever, K. Chen, G. Corrado, and J. Dean. Distributed Representations of Words and Phrases and their Compositionality. Accepted to NIPS 2013.
[22] A. Mnih, G. Hinton. Three new graphical models for statistical language modelling. ICML, 2007.
[23] A. Mnih, G. Hinton. A Scalable Hierarchical Distributed Language Model. Advances in Neural Information Processing Systems 21, MIT Press, 2009.
[24] A. Mnih, Y.W. Teh. A fast and simple algorithm for training neural probabilistic language models. ICML, 2012.
[25] F. Morin, Y. Bengio. Hierarchical Probabilistic Neural Network Language Model. AISTATS, 2005.
[26] D. E. Rumelhart, G. E. Hinton, R. J. Williams. Learning internal representations by backpropagating errors. Nature, 323:533.536, 1986.
[27] H. Schwenk. Continuous space language models. Computer Speech and Language, vol. 21, 2007.
[28] R. Socher, E.H. Huang, J. Pennington, A.Y. Ng, and C.D. Manning. Dynamic Pooling and Unfolding Recursive Autoencoders for Paraphrase Detection. In NIPS, 2011.
[29] J. Turian, L. Ratinov, Y. Bengio. Word Representations: A Simple and General Method for Semi-Supervised Learning. In: Proc. Association for Computational Linguistics, 2010.
[30] P. D. Turney. Measuring Semantic Similarity by Latent Relational Analysis. In: Proc. International Joint Conference on Artificial Intelligence, 2005.
[31] A. Zhila, W.T. Yih, C. Meek, G. Zweig, T. Mikolov. Combining Heterogeneous Models for Measuring Relational Similarity. NAACL HLT 2013.
[32] G. Zweig, C.J.C. Burges. The Microsoft Research Sentence Completion Challenge, Microsoft Research Technical Report MSR-TR-2011-129, 2011.
總結(jié)
以上是生活随笔為你收集整理的[Embeding-1]Efficient Estimation of Word Representations in Vector Space 译文的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: gcc采用的是AT
- 下一篇: [强]VC 6.0 可以这样创建对话框