• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    單詞嵌入——自然語言的連續(xù)空間表示

    2014-07-25 04:30:30陳恩紅邱思語劉鐵巖
    數(shù)據(jù)采集與處理 2014年1期
    關(guān)鍵詞:隱層向量概率

    陳恩紅 邱思語 許 暢 田 飛 劉鐵巖

    (1.中國科學(xué)技術(shù)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)系,合肥,230027;2.南開大學(xué)計(jì)算機(jī)科學(xué)與信息安全系,天津,300071;3.微軟亞洲研究院,北京,100080)

    引 言

    隨著大數(shù)據(jù)時(shí)代的到來,海量的未標(biāo)注的語料數(shù)據(jù)為文本處理的相關(guān)研究(諸如自然語言處理、信息檢索、文檔建模等)帶來了新的機(jī)遇與挑戰(zhàn)——一方面,大量的未標(biāo)注文本中將為文本處理任務(wù)提供非常多的有用信息;另一方面,如何充分挖掘這些潛藏的有用信息,并將其應(yīng)用于不同的文本處理任務(wù)等問題也隨之而來?;诎氡O(jiān)督學(xué)習(xí)的方法[1-3]可以部分利用這些無標(biāo)記文本,并在特定的自然語言處理任務(wù)上有著良好的表現(xiàn)。但這些方法依賴于某一特殊的模型,其訓(xùn)練出的信息很難適用于其他的有監(jiān)督任務(wù)。

    為了解決這一問題,越來越多文本處理領(lǐng)域的研究人員開始專注于單詞嵌入的方法。具體來說,單詞的嵌入表示定義為每個(gè)單詞關(guān)聯(lián)的某種數(shù)學(xué)對象,通常來講該數(shù)學(xué)對象是一個(gè)實(shí)數(shù)值向量。單詞嵌入表示的目標(biāo)在于學(xué)習(xí)到每個(gè)單詞的向量表示,并將這種向量表示用于不同的文本處理任務(wù)。學(xué)習(xí)到的單詞向量既可以作為完全的單詞特征輸入到某些特定任務(wù)的有監(jiān)督學(xué)習(xí)算法中,也可以作為依賴于不同任務(wù)所特定提取特征的有益擴(kuò)充。

    為了將單詞與實(shí)數(shù)向量關(guān)聯(lián)起來,一個(gè)最簡單的方法在于使用只有一位為1,其他位全為0的向量(One hot representation)。具體來說,假設(shè)詞典為V,對于V中的第個(gè)單詞,其關(guān)聯(lián)的向量為wi=(0,0,…,1,0,…)∈{0,1}|V|,wi的第i位為1,其他位都為0。這種方法非常簡單,但卻有兩個(gè)主要的缺點(diǎn):(1)單詞向量維度是詞典大小,而詞典中的單詞數(shù)目往往很大,從而導(dǎo)致向量維度太大,引起計(jì)算上的不便;(2)該種表示唯一記錄的是單詞在詞典中的索引,并沒有刻畫單詞之間的相似度,從而沒有為后續(xù)的文本處理任務(wù)帶來更多的有用信息。

    為了解決上述One hot表示方法的缺點(diǎn),研究人員開始將注意力轉(zhuǎn)到從大量的無標(biāo)記文本語料中學(xué)習(xí)到更有效的單詞嵌入表示。這里“有效”有兩層含義,一是相對于詞典大小,單詞嵌入向量的維度非常低,可以認(rèn)為每一維均對應(yīng)某種語義的表示而沒有冗余信息;二是對于類似的單詞(比如′cat′和′dog′),它們的向量表示也相近。海量的文本語料無疑為實(shí)現(xiàn)這種有效性提供了很大的幫助:文本預(yù)料中包含的單詞共現(xiàn)以及單詞先后順序等機(jī)構(gòu)化信息提供了刻畫單詞相似度的來源,從而為學(xué)習(xí)到語義層面有效的單詞嵌入表示帶來了極大的方便。

    1 主要方法簡述

    為了充分挖掘無標(biāo)記語料中的信息以獲取有效的單詞嵌入表示,研究人員開發(fā)了多種新的機(jī)器學(xué)習(xí)方法,其中主要包括基于神經(jīng)網(wǎng)絡(luò)的方法、基于受限玻爾茲曼機(jī)的方法以及基于單詞與上下文相關(guān)性的方法。

    在基于神經(jīng)網(wǎng)絡(luò)的方法中[4-7],單詞的嵌入表示常常作為神經(jīng)網(wǎng)絡(luò)的權(quán)重矩陣,神經(jīng)網(wǎng)絡(luò)通過優(yōu)化某個(gè)目標(biāo)函數(shù)更新其權(quán)重矩陣,從而學(xué)習(xí)到較優(yōu)的單詞嵌入表示。通常來講,神經(jīng)網(wǎng)絡(luò)優(yōu)化的目標(biāo)函數(shù)是極大化文本語料的生成概率[4],或者是盡可能符合某種具體任務(wù)的標(biāo)記信息,例如詞性標(biāo)注(Pos tagging)任務(wù)中的標(biāo)注信息。

    與基于神經(jīng)網(wǎng)絡(luò)的方法類似,基于受限玻爾茲曼機(jī)的方法[8]的目標(biāo)同樣是極大化文本語料的生成概率。二者區(qū)別在于具體模型的構(gòu)建——在該方法中,受限玻爾茲曼機(jī)被用來建模文檔的概率,單詞嵌入向量作為受限玻爾茲曼機(jī)的參數(shù)。因?yàn)槭芟薏柶澛鼨C(jī)的目標(biāo)函數(shù)的梯度無法精確求得,其訓(xùn)練過程是近似的梯度下降,這也與訓(xùn)練傳統(tǒng)的反向傳播神經(jīng)網(wǎng)絡(luò)有很大的不同。

    基于單詞與上下文相關(guān)性的方法首先構(gòu)建單詞與上下文的共生矩陣,這里上下文可以是所有文檔、每個(gè)單詞的左窗口、右窗口等;然后對共生矩陣做矩陣分解,從而得到每個(gè)單詞的低維表示。與以上兩種方法不同,基于單詞與上下文相關(guān)性的方法一般不是概率模型,其訓(xùn)練方法一般是矩陣分解。

    2 基于神經(jīng)網(wǎng)絡(luò)的方法

    2.1 神經(jīng)網(wǎng)絡(luò)概率語言模型

    使用神經(jīng)網(wǎng)絡(luò)以及單詞嵌入技術(shù)構(gòu)建語言模型的思想首先由Yoshua Bengio等人在文獻(xiàn)[4,5]中提出。為了敘述方便,用縮寫神經(jīng)網(wǎng)絡(luò)概率語言模型(Neural network probabilistic language model,NNLM)來代表該模型,同時(shí)引入一些記號:以V來代表詞典中的所有單詞的集合,即詞典;訓(xùn)練樣本是一串單詞序列w1,w2,…,wT,對于任意t∈{1,2,…,T},均有wt∈V;每個(gè)單詞嵌入向量的維度為m,將所有單詞嵌入向量的矩陣記為C∈R|V|×m,即V中的第i個(gè)單詞被映射成C的第i行Ci∈Rm。

    式中:第一層映射為矩陣C,將離散的單詞映射成了連續(xù)的向量;第二層映射為函數(shù)g,g使用多層神經(jīng)網(wǎng)絡(luò)來建模。具體來說,有

    其中yi是未經(jīng)正則化的第i個(gè)單詞概率的對數(shù),按照式(2)計(jì)算

    需要學(xué)習(xí)的參數(shù)是θ={a,b,d,U,W,C},a∈Rh,b∈R|V|,d∈Rh,U∈Rh×m,W∈Rh×(n-1)m,C∈R|V|×m,h為隱層節(jié)點(diǎn)個(gè)數(shù)。該式對應(yīng)下述的3層神經(jīng)網(wǎng)絡(luò):

    (1)輸入層:通過查找表C將 (wt-1,…,wt-n+1)映射到向量x,將詞典中的第i個(gè)單詞映射成向量Ci;

    (2)隱層:通過tanh(d+Wx+UCi)函數(shù)將向量(x,C′i)映射到隱層h維向量;

    (3)輸出層:將隱層向量通過線性變換(a,b)輸出到最后一層,并使用softmax函數(shù)將其轉(zhuǎn)化成概率形式。

    2.2 樹狀加速方法

    上述神經(jīng)網(wǎng)絡(luò)概率語言模型提供了一種學(xué)習(xí)單詞嵌入的方法,同時(shí)利用學(xué)到的單詞嵌入矩陣C,該模型可以建立更好的語言模型。但是該方法存在計(jì)算復(fù)雜度過高的問題:注意到在式 (1)和(2)中,在計(jì)算給定前n-1 個(gè)單詞(wt-1,…,wt-n+1)單詞wt的條件概率時(shí),每個(gè)詞典中的單詞i對應(yīng)yi的值均需要計(jì)算;即在計(jì)算隱層變量tanh(d+Wx+UC′)時(shí),共需要Θ(hm(n-1)+|V|hm)次操作。對于詞典非常大的情況,例如|V|≈20 000,計(jì)算該條件概率無疑非常耗時(shí)。為了克服這一問題,Bengio等人在文獻(xiàn)[6]中提出了一種利用樹狀層次結(jié)構(gòu)加速這一計(jì)算的技術(shù),這一技術(shù)現(xiàn)在已經(jīng)被廣泛應(yīng)用在了各種神經(jīng)網(wǎng)絡(luò)概率語言模型的工作中[9-12]。

    該技術(shù)的基本思想很直觀:注意到在上一小節(jié)陳述的基本模型中,事實(shí)上,由式(1),每個(gè)單詞(的條件概率)均由所有的單詞來表示,即每個(gè)單詞均由|V|位的信息來表示,這導(dǎo)致了計(jì)算一個(gè)單詞的條件概率的復(fù)雜度是|V|階的。考慮將表示一個(gè)單詞的位數(shù)降低。可以采取一種層次結(jié)構(gòu):一個(gè)單詞首先屬于某個(gè)大類,自頂向下分別再屬于某些子類,直至到達(dá)這個(gè)單詞。以單詞‘tiger’為例,它的層次類別可以如下:‘所有單詞’→‘noun(名詞)’→‘living things(生 物)’→ ‘a(chǎn)nimal(動(dòng) 物)’→‘mammals(哺乳動(dòng)物)’→‘cats(貓科動(dòng)物)’→‘tiger(老虎)’,可見通過7個(gè)節(jié)點(diǎn)即可以表示單詞‘tiger’,遠(yuǎn)遠(yuǎn)低于詞典的大小|V|。

    具體來講,詞典V中的每個(gè)單詞v均關(guān)聯(lián)一個(gè)二值的向量(b1(v),…,blv(v)),lv是v關(guān)聯(lián)的向量的長度。該向量可以解釋為lv個(gè)二值的決策,例如b1(v)=1代表單詞v屬于最頂層的類1,b1(v)=0代表單詞v屬于頂層的類2。為了得到每個(gè)單詞的該二值向量表示,可以構(gòu)建一棵葉子節(jié)點(diǎn)為所有單詞的二叉樹,對于每個(gè)單詞,從二叉樹的根節(jié)點(diǎn)到該單詞對應(yīng)的葉子節(jié)點(diǎn)的路徑即是該單詞對應(yīng)的二值向量表示(例如,取轉(zhuǎn)向左兒子為1,轉(zhuǎn)向右兒子為0)。構(gòu)建二叉樹的方式,可以采用從知識(shí)庫(例如 Wordnet)中學(xué)習(xí)到單詞分類的方式[6],也可以采用按照語料中的單詞分布構(gòu)建的方式以加快運(yùn)算速度[10],Mnih和 Hinton在文獻(xiàn)[9]中對各種不同方式構(gòu)建的二叉樹的性能給出了實(shí)驗(yàn)性的總結(jié)。

    其中sigmoid(x)=1/(1+exp(-x));βnode類比于(2)中單詞的偏置項(xiàng)bi;α類比于式(2)中的a;d,W,U與(2)中對應(yīng)的符號含義相同;類似矩陣F代表所有單詞的嵌入向量,矩陣N給出了所有二叉樹內(nèi)部節(jié)點(diǎn)的嵌入向量。

    使用這種樹狀加速方式,構(gòu)建的二叉樹很容易做到最長路徑長度是O(ln|V|)階,則計(jì)算一次條件概率的復(fù)雜度由O(|V|)降低到了O(ln|V|),極大提升了運(yùn)算效率。

    2.3 Word2Vec嵌入模型

    在2012年和2013年,Thomas Mikolov等人在Google Research的工作單詞向量表示(Word to vector,Word2Vec)[7,10]引起了學(xué)術(shù)界和工業(yè)界的廣泛關(guān)注。Word2Vec模型計(jì)算簡單,并且在一些有趣的任務(wù)上取得了很好的效果,比如尋找單詞之間的線性關(guān)系(Tokyo-Japan+France=?)等。

    Word2Vec同樣屬于神經(jīng)網(wǎng)絡(luò)語言模型,也采取了樹狀加速方式,但與經(jīng)典的神經(jīng)網(wǎng)絡(luò)概率語言模型[4]相比,Word2Vec有以下顯著不同:

    (1)不是定義給定前n-1個(gè)單詞的情況下出現(xiàn)第n個(gè)單詞的概率,而是給定一個(gè)窗口大?。ū热鏽),計(jì)算給定該窗口其他n-1個(gè)單詞的條件下出現(xiàn)窗口中心的單詞的概率;即此時(shí)考慮的上下文不再僅僅是左窗口(上文),而是包括左窗口(上文)和右窗口(下文)。

    (2)關(guān)于上下文向量x的構(gòu)建:在Bengio等人的工作中,上下文向量x是單詞wt之前所有n-1個(gè)單詞嵌入向量的拼接,從而有x∈R(n-1)×m,m是單詞嵌入向量的維度;而 Word2Vec與此不同:Word2Vec采取兩種模型,一是CBow模型,在該模型下,x是窗口中所有n-1個(gè)上下文單詞嵌入向量的平均值;二是Skip-Gram模型,在該模型下,x是每個(gè)上下文單詞的嵌入向量,對于每個(gè)預(yù)測的窗口中心詞,一共訓(xùn)練n-1次。故而在Word2Vec中,x∈Rm。

    (3)不再設(shè)置隱層,而是直接將輸入的單詞嵌入向量與內(nèi)部節(jié)點(diǎn)嵌入向量作用輸出條件概率。

    (4)在構(gòu)建二叉樹的過程中,使用了哈夫曼編碼,而不是類比之前工作中使用WordNet構(gòu)建;這樣做的好處是使得運(yùn)算速度更快,這是因?yàn)楣蚵幋a保證了詞頻高的單詞對應(yīng)的路徑短(lv?。?,從而在預(yù)測該高頻單詞時(shí)需要更新參數(shù)的二叉樹內(nèi)部節(jié)點(diǎn)個(gè)數(shù)少。

    綜上所述,在Word2Vec模型中,類比于式(3)的條件概率為

    其中wI是上下文單詞,x是wI嵌入向量,其他符號類似。

    2.4 CW08嵌入模型

    Collobert和 Weston等人在文獻(xiàn)[12,13]中提出了一種可以解決不同自然語言處理問題的通用架構(gòu),為了敘述方便將這個(gè)架構(gòu)簡寫為CW08。他們的貢獻(xiàn)不在于解決了某個(gè)單一的自然語言處理問題,而是提出了一個(gè)對于多種自然語言處理問題通用的深層神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu),使用這種網(wǎng)絡(luò)結(jié)構(gòu)可以生成一份通用的單詞嵌入向量,來完成自然語言處理里面的各種任務(wù),比如詞性標(biāo)注、命名實(shí)體識(shí)別、語句切分、語義角色標(biāo)注等。

    上述深層神經(jīng)網(wǎng)絡(luò)模型從邏輯上可以分為3個(gè)部分:單詞嵌入層(查找表)、特征提取層和傳統(tǒng)神經(jīng)網(wǎng)絡(luò)分類層。圖1列出了這種網(wǎng)絡(luò)結(jié)構(gòu)。任務(wù)1和任務(wù)2共享同一個(gè)單詞嵌入向量和卷幾層。這種共享結(jié)構(gòu)對于大于兩個(gè)任務(wù)的情況也適用。

    圖1 一個(gè)多任務(wù)學(xué)習(xí)深層神經(jīng)網(wǎng)絡(luò)的例子Fig.1 An example of multi-task deep neural network

    為了方便敘述,此處再次引入一些符號:L層前向傳導(dǎo)神經(jīng)網(wǎng)絡(luò)記作f1(·),每一層神經(jīng)網(wǎng)絡(luò)記作,整個(gè)網(wǎng)絡(luò)即為

    對于一個(gè)矩陣A∈,用Ai,j來表示其第i行j列的元素,用Aj來代表A的第j列。用來表示以A的第i列為中心的dwin列所拼成的列向量。即

    這3層的結(jié)構(gòu)和作用如下:

    (1)單詞嵌入層(查找表):給定一個(gè)單詞序列(w1,…,wT),單詞嵌入層的輸出可以表示為

    此處的參數(shù)C即是需要學(xué)習(xí)的單詞嵌入矩陣,C的第i行代表詞典中第i個(gè)單詞的嵌入向量。

    (2)特征提取層:這里跟卷積神經(jīng)網(wǎng)絡(luò)非常類似:輸入是由T個(gè)連續(xù)單詞嵌入向量構(gòu)成的矩陣f1(上一層的輸出),對每個(gè)寬度為dwin的連續(xù)單詞窗口的嵌入向量表示,均使用同一個(gè)線性變換(W,b)將其映射到新的空間。此時(shí)該層輸出的第個(gè)列向量(對應(yīng)第t個(gè)單詞窗口)可以表示為

    這里權(quán)重矩陣W和b偏置是要訓(xùn)練的參數(shù)。

    對于所有的這些列向量,取出每一維的最大值,作為第三層的輸出,即有

    其中n2表示第二層節(jié)點(diǎn)的數(shù)量,即矩陣W的行數(shù)是n2。

    (3)傳統(tǒng)神經(jīng)網(wǎng)絡(luò)分類層:有了上面一層被降維且被提取了特征的向量,就可以用傳統(tǒng)神經(jīng)網(wǎng)絡(luò)的方法解決上述自然語言處理問題,最常用的辦法就是構(gòu)造傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)分類器。

    特殊地,對于語言模型問題,在該工作中沒有建模條件概率P(wn|w1,…,wn-1),而是直接用神經(jīng)網(wǎng)絡(luò)最后的輸出值作為聯(lián)合概率分布P(w1,w2,…,wn)的估計(jì),通過對n個(gè)詞語序列打分來判斷這幾個(gè)詞以某種次序出現(xiàn)在一起的合理性。對于隨機(jī)替換中間詞的得分應(yīng)該比合理序列得分低。用數(shù)學(xué)方法表示為最小化

    X表示所有輸入文本窗口的集合,V表示字典集合,x(w)表示將窗口x的中心詞隨機(jī)替換成單詞w所形成的新窗口。

    接下來通過深度多任務(wù)學(xué)習(xí)就可以來訓(xùn)練整個(gè)網(wǎng)絡(luò)。訓(xùn)練的目標(biāo)是最小化所有任務(wù)的平均損失函數(shù)值。具體算法如下:

    (1)選擇下一個(gè)任務(wù)。

    (2)為這個(gè)任務(wù)選一個(gè)隨機(jī)的訓(xùn)練樣本。

    (3)用梯度下降算法來更新整個(gè)網(wǎng)絡(luò)的參數(shù)。

    (4)回到第一步。

    至此得到了一份通過多個(gè)自然語言處理任務(wù)訓(xùn)練的單詞嵌入表示。經(jīng)試驗(yàn)證實(shí),這種方法得到的單詞嵌入表示在多種自然語言處理任務(wù)上都有比較好的表現(xiàn)。

    2.5 遞歸神經(jīng)網(wǎng)絡(luò)語言模型

    遞歸神經(jīng)網(wǎng)絡(luò)(Recurrent neural network,RNN)是一種特殊的前向傳播神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。標(biāo)準(zhǔn)的RNN由3層構(gòu)成:輸入層、隱層和輸出層,它的特別之處在于隱層通過一個(gè)重現(xiàn)矩陣和自己相連。重現(xiàn)矩陣可以傳播延遲信號,從而使得RNN獲得短期記憶的屬性。具體來講,RNN將上一個(gè)階段隱層的信息保留下來,記作ht-1,在當(dāng)前階段,隱層的輸出信息ht不僅僅與當(dāng)前階段輸入wt有關(guān),而且與上一階段隱層記憶的信息ht-1有關(guān)?;谶@兩部分,隱層值ht得以更新,RNN模型也這種“遞歸”性質(zhì)而得名。

    具體到語言模型上,如果給定一串單詞序列(w1,w2,…,wT),wt∈V。RNN 將利用式(11)計(jì)算相應(yīng)的隱層序列(h1,h2,…,hT)和輸出序列(y1,y2,…,yT)

    圖2遞歸神經(jīng)網(wǎng)絡(luò)語言模型總結(jié)了這種神經(jīng)網(wǎng)絡(luò)語言模型。這里wt代表第t個(gè)單詞的onehot表示。需要學(xué)習(xí)的模型參數(shù)集合是θ={bh,by,W,U,A}。對于隱層激活函數(shù)的選取除了上述的雙曲正切(tanh)函數(shù),還可使用sigmoid函數(shù)。輸出層可進(jìn)一步使用softmax函數(shù)將線性輸出轉(zhuǎn)換為概率形式。最終學(xué)習(xí)到的矩陣W即是單詞的嵌入矩陣。

    圖2 遞歸神經(jīng)網(wǎng)絡(luò)語言模型Fig.2 Recurrent neural network language model

    如此可見,在處理第t個(gè)單詞wt時(shí),RNN將前t-1個(gè)單詞均考慮進(jìn)來,而不是像經(jīng)典的前向傳播神經(jīng)網(wǎng)絡(luò)模型一樣只考慮某個(gè)固定大小的窗口內(nèi)的上下文單詞(例如(wt-n+1,…,wt-1))。正因?yàn)檫@種不需要顯式指定上下文長度的優(yōu)點(diǎn),RNN可以刻畫更大范圍的詞間關(guān)系依賴。

    雖然RNN的優(yōu)點(diǎn)很明顯,但是,當(dāng)使用梯度下降法訓(xùn)練RNN卻容易出現(xiàn)梯度爆炸和梯度消損的問題。梯度爆炸是指在訓(xùn)練的過程中錯(cuò)誤信號在向后反饋時(shí)呈指數(shù)型增加的現(xiàn)象,梯度消損指的是相反方向,即錯(cuò)誤信號以指數(shù)速率衰減為0。這兩種現(xiàn)象是由長期信息爆炸式增加造成的。為了解決這兩個(gè)問題,RNN模型在原有基礎(chǔ)上又有許多擴(kuò)展。Tomas Mikolov和Geoffrey Zweig提出了一個(gè)RNN的擴(kuò)展模型[14](參見圖3加入特征層的RNN模型):在原有的3層基礎(chǔ)上加入特征層,與隱層和輸出層相連。即,在當(dāng)前詞匯前,抽取一段固定長度的詞匯,利用潛在狄利克雷分配[15]計(jì)算詞匯的話題分布。一個(gè)近似的特征層輸入可以寫為

    其中:twi是單詞wi的LDA話題分布向量,Z使得結(jié)果歸一化。在這樣的模型下,單詞的嵌入表示相應(yīng)的變?yōu)?/p>

    有了f(t)提供補(bǔ)充信息,長期的信息不會(huì)如之前一樣以指數(shù)速率歸一為0,從而避免了上文中梯度消損的問題。

    圖3 加入特征層的RNN模型Fig.3 RNN model with feature representation layer

    3 基于受限波爾茲曼機(jī)的方法

    3.1 受限玻爾茲曼機(jī)

    受限 玻 爾 茲 曼 機(jī)[16,17](Restricted Boltzmann machine,RBM)是機(jī)器學(xué)習(xí)界普遍采用的一種生成模型,它是一種無向概率圖模型,也稱為馬爾科夫隨機(jī)場。主要用來建模觀測數(shù)據(jù)的生成概率,需要說明的是RBM處理的數(shù)據(jù)一般是離散的。

    具體來說,給定dx維的觀測向量x∈{0,1}dx,以及dh維的隱向量h∈{0,1}dh,RBM建立它們的聯(lián)合概率分布

    在以上的概率參數(shù)表達(dá)下,RBM的推斷問題變得相對簡單,數(shù)學(xué)上可以證明[16],對于RBM,有下式成立

    其中W,i是矩陣W的第i列。這樣,計(jì)算給定觀測變量x的情況下隱變量的條件概率可以通過計(jì)算dh個(gè)條件概率得到,即給定x,對于任意的i,j∈{1,2,…,dh},i≠j,hi,hj是獨(dú)立的。類似地,有

    其中Wi,是矩陣W的第i行。訓(xùn)練RBM的過程即是極大化觀測數(shù)據(jù)似然的過程。為此,求得在x0處的概率P(x0)=∑hP(x0,h)關(guān)于RBM 參數(shù)θ的梯度為[16]

    基于上述的RBM模型,Mnih和Hinton在文獻(xiàn)[8]中提出了3種概率圖模型來求得單詞嵌入。3種模型的關(guān)鍵在于如何定義不同的、以單詞嵌入向量為參數(shù)的能量函數(shù)。其中前兩個(gè)模型包含了隱變量,與RBM的能量函數(shù)形式很相似,第三個(gè)模型(對數(shù)線性模型)沒有隱變量。

    3.2 兩種隱變量模型

    第二個(gè)模型——時(shí)序分解RBM模型采用了與遞歸神經(jīng)網(wǎng)絡(luò)類似的思想,注意到事實(shí)上單詞wt之前所有的單詞(w1,w2,…,wt-1)對wt均有影響,然而大部分工作都做了一個(gè)很強(qiáng)的假設(shè):wt僅與其之前的n-1個(gè)單詞(wt-n+1,…,wt-1)有關(guān)。時(shí)序RBM模型的目標(biāo)就在于克服這種假設(shè),即用給定的單詞序列(w1,…,wt+n-1)預(yù)測單詞wt+n。

    為了達(dá)到這個(gè)目的,在預(yù)測單詞wt+n時(shí),對數(shù)線性模型維持了t個(gè)與分解RBM模型非常類似的模型,即t個(gè)n單詞序列(w1,…,wn),(w2,…,wn+1),…,(wt,…,wt+n-1)中的每一個(gè)均作為一個(gè)獨(dú)立的分解RBM模型的可見變量。這樣得到了t個(gè)隱層表示,使用hτ來代表第τ個(gè)模型的隱層變量。

    為了將上文中的信息不斷后傳至需要預(yù)測的單詞wt+n,在第τ+1個(gè)模型中,除了第τ+1個(gè)n單詞序列,上一個(gè)模型的隱變量hτ也作為第τ+1個(gè)模型的輸入可見變量參與訓(xùn)練,hτ與hτ+1之間的交互矩陣A是多層之間共享的,即A不隨著層數(shù)τ而改變。時(shí)序分解RBM模型通過這種“組合本層原有輸入與上一層輸出作為本層真正輸入”的方式克服了之前n單詞窗口方法的局限,不難看出該方式與遞歸神經(jīng)網(wǎng)絡(luò)的思想是非常類似的。

    兩個(gè)模型的推斷和學(xué)習(xí)與經(jīng)典的受限玻爾茲曼機(jī)推斷和學(xué)習(xí)的方式類似,此處不再贅述。

    3.3 對數(shù)線性模型

    舍去隱變量使得模型的物理意義更清楚,同時(shí)使得計(jì)算更加簡單。事實(shí)上,該模型與Word2Vec模型非常類似,除了以下兩點(diǎn)不同:

    (1)LBL對不同位置的單詞指定了不同的參數(shù)矩陣Wi,而 Word2Vec中不存在這樣的矩陣,Word2Vec直接使用上下文單詞與預(yù)測單詞的嵌入向量作用,即相當(dāng)于W1=W2=…=Wn-1=I,I為單位矩陣。

    (2)做預(yù)測時(shí),Word2Vec考慮被預(yù)測單詞的上下文,即左窗口和右窗口內(nèi)的單詞均考慮,HBL則仍是只考慮上文(左窗口)。

    在文獻(xiàn)[9]中,Mnin和Hinton采用上文所述的樹狀加速方法對對數(shù)線性模型進(jìn)行加速,取得了良好的實(shí)驗(yàn)效果。他們不使用任何外部知識(shí)數(shù)據(jù)(例如WordNet)構(gòu)建的單詞樹,而是采用一種基于訓(xùn)練語料的類似自助法的方式:首先構(gòu)建一棵隨機(jī)的單詞樹,然后基于該樹訓(xùn)練得到單詞嵌入向量,最后基于得到的單詞嵌入向量進(jìn)行層次聚類產(chǎn)生最終使用的單詞樹。

    4 基于單詞與上下文共生矩陣分解的方法

    用F來代表單詞與上下文的共生矩陣。一般來講,是一種刻畫單詞與其上下文的一種計(jì)數(shù)模型,F(xiàn)的行空間是單詞空間,列空間是上下文空間,F(xiàn)的行列元素Fi,j代表第i個(gè)單詞和第j個(gè)上下文環(huán)境的關(guān)系,一般是單詞i在環(huán)境j中出現(xiàn)的次數(shù)或者頻率。構(gòu)建了共生矩陣F之后,對F做矩陣分解,即可得到單詞在隱空間上的一個(gè)表示,即為單詞的嵌入向量?;诓煌纳舷挛目梢詷?gòu)建不同的矩陣。

    4.1 潛在語義分析

    潛在語義分析(Latent semantic analysis,LSA)[18]是一種分析單詞與文檔相關(guān)性的常用方法。在LSA中,上下文是所有的文檔,假定詞典大小為p,文檔數(shù)為q,則F∈Rp×q,F(xiàn)i,j代表第i個(gè)單詞在第j個(gè)文檔中頻率,或者tf·idf值。LSA對F矩陣實(shí)施奇異值分解

    可見,可以使用矩陣U作為單詞的嵌入向量矩陣,U的第i行即是單詞的嵌入向量,該嵌入向量是r維的。

    4.2 基于典型相關(guān)分析的方法

    基于典型相關(guān)分析(Canonical correlation analysis,CCA)的方法[19,20]構(gòu)建的上下文矩陣有兩個(gè):一是每個(gè)單詞左窗口內(nèi)的所有單詞;二是每個(gè)單詞右窗口內(nèi)的所有單詞。該方法的基本思想是極大化兩個(gè)矩陣的協(xié)方差。

    典型相關(guān)分析(CCA)和主成分分析(Principle component analysis,PCA)類似:給定一個(gè)矩陣,PCA計(jì)算一個(gè)投影方向,使得矩陣的行向量投影到該方向之后方差最大;CCA與此不同的是它處理兩個(gè)矩陣:以本文的問題為例,假設(shè)語料中共有n個(gè)單詞(w1,…,wn),詞典大小為|V|,用W代表所有單詞的矩陣。用L和R分別代表單詞的左窗口矩陣和右窗口矩陣,L∈Rn×|V|h,R∈Rn×|V|h,這里h是指定的窗口大小。希望計(jì)算得到兩個(gè)方向φl和φr,使得L在φl方向的投影與R在φr方向的投影的協(xié)方差最大,可以認(rèn)為這兩個(gè)方向保持了L和R中最“有用”的一維信息。該最大化目標(biāo)可以用下式來表達(dá)

    其中E代表經(jīng)驗(yàn)期望。用Clr(Cll)代表L和R(L和L之間)之間的協(xié)方差矩陣,易知Clr=L′R,Cll=L′L。那么可證明上式的解〈φl,φr〉由下面的方程給出

    用〈φL,φR〉來代表m個(gè)最大的左特征向量和右特征向量集合,這里的“最大”指對應(yīng)的特征值最大,可見φL∈R|V|h×m,φR∈R|V|h×m。基于上述符號,文獻(xiàn)[20]中給出的兩步典型相關(guān)分析算法如下:

    (1)輸入:矩陣L,W,R。

    (2)對L和R做典型相關(guān)分析,CCA(L,R)→(φL,φR)。

    (3)計(jì)算矩陣S=[LφLRφR]。

    (4)對矩陣S和W做典型相關(guān)分析,CCA(S,W)→(φs,φw)。

    (5)輸出:矩陣φw,即為最終的單詞嵌入矩陣。

    該算法中,第一步是求左右窗口矩陣L,R的CCA,在求得后〈φL,φR〉,分別將L投影到φL方向,將R投影到φR方向(算法第三行),得到每個(gè)單詞的一個(gè)隱狀態(tài)S,S記錄了左右窗口矩陣中最相關(guān)的m個(gè)成分。在第二步中,對矩陣S和原始矩陣W做CCA,以求得的m個(gè)關(guān)于W的投影矩陣φw∈R|V|×m作為最終的的單詞嵌入矩陣。事實(shí)上,可以證明,第二步中求單詞嵌入矩陣的過程就是對隱變量矩陣取平均的過程,有φw(w)=avg(St:wt=W)。

    5 模型比較

    各種方法的數(shù)學(xué)模型和實(shí)現(xiàn)細(xì)節(jié)的比較結(jié)果總結(jié)在表1。具體來說,比較的方面包括:(1)方法屬于的類型,包括神經(jīng)網(wǎng)絡(luò)模型、受限玻爾茲曼機(jī)模型和共生矩陣分解模型。(2)訓(xùn)練的目標(biāo),包括極大化數(shù)據(jù)條件似然(maxP(wt|c(diǎn)ontest)、極大化數(shù)據(jù)觀測似然(maxP(wt,context))、區(qū)分正確數(shù)據(jù)和錯(cuò)誤數(shù)據(jù)(使觀測數(shù)據(jù)的得分大于隨機(jī)生成的錯(cuò)誤數(shù)據(jù)得分)以及基于相關(guān)性的降維。(3)是否含有隱層。(4)模型考慮的上下文:包括窗口大?。ü潭ù笮 ⒖勺兇笮。⒋翱谖恢茫ㄗ蟠翱?、右窗口)、單詞所在句子以及所有文檔;可變大小的窗口和左右窗口代表更多的信息被考慮進(jìn)去,從而使得模型有更好的性能。(4)是否有加速方法。這里主要指樹狀加速方法。

    各個(gè)方法的優(yōu)缺點(diǎn)總結(jié)在表2。主要從3個(gè)

    方面比較它們的優(yōu)缺點(diǎn):模型的表達(dá)能力強(qiáng)弱、訓(xùn)練效率高低以及優(yōu)化的方法有沒有理論保證(即可達(dá)到最優(yōu)解)。

    表1 不同單詞嵌入方法的模型細(xì)節(jié)比較Table 1 Comparison of different word embedding models

    表2 不同單詞嵌入方法的優(yōu)缺點(diǎn)比較Table 2 Pros and Cons of different word embedding models

    表2中,幾個(gè)縮寫詞的意義如下:RNNLM(Recurrent neural network language model,遞歸神經(jīng)網(wǎng)絡(luò)語言模型);FRBM(Factored RBM,受限玻爾茲曼機(jī)),TFRBM(Temporal factored RBM,時(shí)序分解受限玻爾茲曼機(jī)),其他縮寫詞全稱已在文中全出。

    6 結(jié)束語

    單詞嵌入是當(dāng)今非常流行的用于文本處理任務(wù)的一種技術(shù)。本文綜述了當(dāng)下流行的各種求取單詞嵌入向量的方法,包括基于神經(jīng)網(wǎng)絡(luò)的方法、基于受限玻爾茲曼機(jī)的方法以及基于單詞與上下文共生矩陣分解的方法。本文闡述了各個(gè)方法的具體數(shù)學(xué)模型和實(shí)現(xiàn)細(xì)節(jié),同時(shí)給出了各個(gè)方法優(yōu)缺點(diǎn)的比較,以期讓相關(guān)研究者更加熟悉單詞嵌入這一技術(shù),并將該技術(shù)應(yīng)用到各種新的文本處理問題中。未來的單詞嵌入向量工作中,一個(gè)重要的方向?qū)⑼獠恐R(shí)庫中的知識(shí)考慮進(jìn)來,結(jié)合當(dāng)前深度神經(jīng)網(wǎng)絡(luò)技術(shù)的飛速發(fā)展,產(chǎn)生更好的單詞嵌入表示。這里的知識(shí)庫可以包含單詞形態(tài)相似度、句法相似度以及語義相似度等方面的知識(shí),通過這樣一些外部知識(shí)的輔助,深度神經(jīng)網(wǎng)絡(luò)將會(huì)得到對文本處理任務(wù)更有用的信息,從而有可能獲得更好的單詞嵌入表示。

    [1]Rie Kubota Ando,Tong Zhang.A high-performance semi-supervised learning method for text chunking[C]//Proceedings of the 43rd Annual Meeting on Association for Computational Linguistics (ACL′05).Stroudsburg,PA,USA:Association for Computational Linguistics,2005:1-9.

    [2]Suzuki J,Isozaki H.Semi-supervised sequential labeling and segmentation using giga-word scale unlabeled data[C]//Proceedings of the 46th Annual Meeting on Association for Computational Linguistics (ACL′08).Columbus,Ohio,USA:Association for Computational Linguistics,2008:665-673.

    [3]Suzuki J,Isozaki H,Carreras X,et al.An empirical study of semi-supervised structured conditional models for dependency parsing[C]//Proceedings of the 2009Conference on Empirical Methods in Natural Language Processing:Volume 2.[S.l.]:Association for Computational Linguistics,2009:551-560.

    [4]Bengio Y,Ducharme R,Vincent P.A neural probabilistic language model[C]//Advances in Neural Information Processing Systems.Vancouver,British Columbia,Canada:Neural Information Processing Systems Foundation,2001:933-938.

    [5]Bengio Y,Ducharme R,Vincent P,et al.A Neural Probabilistic Language Model[J].Journal of Machine Learning Research,2003,3:1137-1155.

    [6]Morin F,Bengio Y.Hierarchical probabilistic neural network language model[C]//Proceedings of the 10th International Workshop on Artificial Intelligence and Statistics.Barbados:ACM,2005:246-252.

    [7]Mikolov T,Chen K,Corrado G,et al.Efficient estimation of word representations in vector space[EB/OL].arXiv preprint arXiv,2013:1301:3781.

    [8]Mnih A,Hinton G.Three new graphical models for statistical language modelling[C]//Proceedings of the 24th International Conference on Machine Learning.Corvallis,USA:ACM,2007:641-648.

    [9]Mnih A,Hinton G E.A scalable hierarchical distributed language model[C]//Advances in Neural Information Processing Systems.Vancouver,B C,Canada:Neural Information Processing Systems Foundation,2008:1081-1088.

    [10]Mikolov T,Sutskever I,Chen K,et al.Distributed representations of words and phrases and their compositionality[C]//Advances in Neural Information Processing Systems.Nevada,United States:Neural Information Processing Systems Foundation,2013:3111-3119.

    [11]Larochelle H,Lauly S.A neural autoregressive topic model[C]//Advances in Neural Information Processing Systems.Nevada,United States:Neural Information Processing Systems Foundation,2012:2717-2725.

    [12]Collobert R,Weston J.A unified architecture for natural language processing:Deep neural networks with multitask learning[C]//Proceedings of the 25th International Conference on Machine Learning.Helsinki,F(xiàn)inland:ACM,2008:160-167.

    [13]Ronan Collobert,Jason Weston,Léon Bottouet,et al.Natural language processing (almost)from Scratch[J].J Mach Learn Res,2011,12:2493-2537.

    [14]Mikolov T,Zweig G.Context dependent recurrent neural network language model[C]//Proceedings of the 4th IEEE Workshop on Spoken Language Technology.Florida,United States:IEEE,2012:234-239.

    [15]Blei D M,Ng A Y,Jordan M I.Latent dirichlet allocation[J].The Journal of Machine Learning Research,2003,3:993-1022.

    [16]Bengio Y.Learning deep architectures for AI[J].Foundations and Trends in Machine Learning,2009,2(1):1-127.

    [17]Hinton G E,Salakhutdinov R R.Reducing the dimensionality of data with neural networks[J].Science,2006,313(5786):504-507.

    [18]Dumais S T,F(xiàn)urnas G W,Landauer T K,et al.U-sing latent semantic analysis to improve access to textual information[C]//Proceedings of the SIGCHI Conference on Human Factors in Computing Systems.[S.l.]:ACM,988:281-285.

    [19]Dhillon P S,F(xiàn)oster D P,Ungar L H.Multi-View learning of word embeddings via CCA[C]//Advances in Neural Information Processing Systems.Granada,Spain:Neural Information Processing Systems Foundation,2011,24:199-207.

    [20]Dhillon P,Rodu J,F(xiàn)oster D,et al.Two step CCA:A new spectral method for estimating vector models of words[EB/OL].arXiv preprint arXiv,2012:1206.6403.

    猜你喜歡
    隱層向量概率
    第6講 “統(tǒng)計(jì)與概率”復(fù)習(xí)精講
    向量的分解
    第6講 “統(tǒng)計(jì)與概率”復(fù)習(xí)精講
    概率與統(tǒng)計(jì)(一)
    概率與統(tǒng)計(jì)(二)
    聚焦“向量與三角”創(chuàng)新題
    基于RDPSO結(jié)構(gòu)優(yōu)化的三隱層BP神經(jīng)網(wǎng)絡(luò)水質(zhì)預(yù)測模型及應(yīng)用
    人民珠江(2019年4期)2019-04-20 02:32:00
    向量垂直在解析幾何中的應(yīng)用
    向量五種“變身” 玩轉(zhuǎn)圓錐曲線
    基于近似結(jié)構(gòu)風(fēng)險(xiǎn)的ELM隱層節(jié)點(diǎn)數(shù)優(yōu)化
    昌江| 纳雍县| 恭城| 宁安市| 呼玛县| 舟山市| 科技| 崇礼县| 武定县| 拜泉县| 天峻县| 利川市| 黄浦区| 莱阳市| 万山特区| 方山县| 永福县| 仙居县| 军事| 万安县| 陇川县| 平山县| 本溪市| 余江县| 福泉市| 遂昌县| 龙海市| 泌阳县| 轮台县| 盐山县| 曲沃县| 巩义市| 子洲县| 科技| 大姚县| 象山县| 霍山县| 金山区| 屏东市| 大同县| 商都县|