亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種基于遞歸神經(jīng)網(wǎng)絡(luò)的摘要生成方法與流程

文檔序號:12824712閱讀:254來源:國知局
一種基于遞歸神經(jīng)網(wǎng)絡(luò)的摘要生成方法與流程
本發(fā)明涉及神經(jīng)網(wǎng)絡(luò)領(lǐng)域,更具體地,涉及一種基于遞歸神經(jīng)網(wǎng)絡(luò)的摘要生成方法。
背景技術(shù)
:摘要生成是自然語言處理領(lǐng)域的一個重要問題,它主要有兩種不同的形式:一種是生成源文的主旨,另一種是生成源文的標(biāo)題。前者一般比較長,可能包括數(shù)十個字或者詞,而后者相對比較短,一般只有十個字左右。摘要是源文的高度性概括,它必須簡單明了的表達(dá)源文的意思。傳統(tǒng)的摘要生成方法可以分為三個步驟:一、根據(jù)某個標(biāo)準(zhǔn)(例如分詞)將源文分割成很多個小片斷;二、根據(jù)每個片斷的權(quán)重(例如tf-idf),從中選擇出權(quán)重比較大的那些片斷;三、根據(jù)某種算法將那些權(quán)重較大的片斷組合成新的句子,作為源文的摘要?,F(xiàn)有技術(shù)提供了一種基于基于遞歸神經(jīng)網(wǎng)絡(luò)編碼器與解碼器的摘要生成方法,該方法實際上是一個序列到序列的機(jī)器學(xué)習(xí)過程,它的輸入可以是一個句子,一個段落或者一篇文章,它的輸出是相應(yīng)輸入的主旨或者標(biāo)題,因此輸入和輸出都可以看作是由字或者詞組成的時間序列。與傳統(tǒng)的摘要生成方法相比,這是一種抽象的摘要生成過程。其根據(jù)給定的輸入序列,方法通過在整個詞表中遞歸地搜索關(guān)鍵詞來從前向后組成一個新的句子作為輸出序列,即摘要信息。其中遞歸神經(jīng)網(wǎng)絡(luò)編碼器的作用是利用遞歸神經(jīng)網(wǎng)絡(luò)將給定的輸入序列轉(zhuǎn)換或者映射成為一個中間表達(dá)式,即將輸入的段落或者文章轉(zhuǎn)換成一個向量表達(dá)式h。假設(shè)輸入序列為:x={x1,x2,…,xn},其中n表示輸入序列的長度。如圖1所示,編碼器的作用可以用以下表達(dá)式來表示:ht=f(xt,ht-1)其中,xt表示輸入序列中第t個元素的相應(yīng)向量,ht表示t時刻編碼器的狀態(tài)向量,f和表示非線性映射函數(shù)。h表示輸入序列的向量表達(dá)式,一般情況下取h=hn即可,即用遞歸神經(jīng)網(wǎng)絡(luò)編碼器的最后時刻的狀態(tài)向量作為輸入序列的中間向量表達(dá)式。eos是一個特殊標(biāo)記,表示著輸入序列的終止,以及編碼器工作的結(jié)束和解碼器工作的開始。相應(yīng)的,遞歸神經(jīng)網(wǎng)絡(luò)解碼器的作用是利用編碼器生成的中間向量表達(dá)式h來生成輸出序列。假設(shè)輸出序列為:y={y1,y2,…,ym},其中m表示輸出序列的長度。需要注意的是,解碼器并不是一次性生成整個輸出序列,而是按照從前往后的順序每個時刻生成輸出順序的一個字或者一個詞,直到生成整個輸出序列為止。如圖2所示,解碼器的作用可以用以下表達(dá)式來表示:p(yt|y1,...,yt-1,h)=g(st,h)st=f(yt-1,st-1)其中,p(y│x)表示根據(jù)輸入x得到輸入y的概率;yt表示輸出序列中第t時刻的解碼出的字或詞,st表示t時刻解碼器的狀態(tài)向量。f和g表示非線性轉(zhuǎn)換函數(shù),這里g采用softmax函數(shù)。上述方案中,基于遞歸神經(jīng)網(wǎng)絡(luò)編碼器與解碼器的摘要生成方法有一個不足,即輸出序列的生成只與編碼器的最后時刻的狀態(tài)向量有關(guān),但與編碼器中的其它狀態(tài)向量無關(guān)。當(dāng)遞歸神經(jīng)網(wǎng)絡(luò)的長度增加的時候,遞歸神經(jīng)網(wǎng)絡(luò)抽取的特征向量往往與輸入序列后面的狀態(tài)關(guān)聯(lián)性增加,但與輸入序列前面的狀態(tài)關(guān)聯(lián)性減少,這就可能會造成信息的衰減。因此只根據(jù)編碼器的最后狀態(tài)來解碼會造成輸出序列與輸入序列之間的關(guān)聯(lián)性變?nèi)?。技術(shù)實現(xiàn)要素:本發(fā)明為解決以上現(xiàn)有技術(shù)在解碼的過程中會造成信息衰減的缺陷,提供了一種基于遞歸神經(jīng)網(wǎng)絡(luò)的摘要生成方法為實現(xiàn)以上發(fā)明目的,采用的技術(shù)方案是:一種基于遞歸神經(jīng)網(wǎng)絡(luò)的摘要生成方法,在當(dāng)前時刻t,將遞歸神經(jīng)網(wǎng)絡(luò)解碼器的狀態(tài)向量st與遞歸神經(jīng)網(wǎng)絡(luò)編碼器的每個時刻的狀態(tài)向量進(jìn)行對比,找出與狀態(tài)向量st關(guān)聯(lián)性最強(qiáng)的狀態(tài)向量h,然后利用狀態(tài)向量h及狀態(tài)向量h左右兩側(cè)的d個狀態(tài)向量計算得到狀態(tài)向量ct,利用狀態(tài)向量ct、狀態(tài)向量st得到新的狀態(tài)向量dt,然后根據(jù)狀態(tài)向量dt解碼得到輸出序列的下一個字或者詞,其中d為大于或等于1的整數(shù)。上述方案中,當(dāng)要生成輸出序列的下一個字或者詞的時候,本發(fā)明提供的方法并不直接用解碼器當(dāng)前的狀態(tài)向量來解碼;而是解碼器當(dāng)前的狀態(tài)向量st與編碼器每個時刻的狀態(tài)向量進(jìn)行對比,找出和st最相似的編碼器的狀態(tài)向量h,然后由h和它兩側(cè)的若干個狀態(tài)向量計算得到一個狀態(tài)向量ct,并利用狀態(tài)向量ct、狀態(tài)向量st計算得到新的狀態(tài)向量dt,它反應(yīng)了當(dāng)前要生成的字或者詞應(yīng)該與它呈正相關(guān),即它是將要生成的下一個字或詞的對齊信息。最后根據(jù)狀態(tài)向量dt來解碼得到輸出序列的下一個字或者詞。通過尋找h及利用h生成狀態(tài)向量ct,并利用狀態(tài)向量ct、狀態(tài)向量st計算得到新的狀態(tài)向量dt,最后利用狀態(tài)向量dt解碼得到輸出序列的下一個字或者詞,使得方法解決了輸出序列和輸入序列之間的對齊關(guān)系,提高了輸出序列的質(zhì)量和效率,并使輸出序列與輸入序列之間的關(guān)聯(lián)性從而能夠保持在較高的水平。優(yōu)選地,所述找出與狀態(tài)向量st關(guān)聯(lián)性最強(qiáng)的狀態(tài)向量h的具體過程如下:其中pt表示狀態(tài)向量h在遞歸神經(jīng)網(wǎng)絡(luò)編碼器狀態(tài)向量序列中的位置,n表示輸入序列的長度,wp表示需要學(xué)習(xí)的參數(shù),sigmoid函數(shù)具體表示如下:sigmoid(x)=1/(1+e-x)tanh函數(shù)表示如下:優(yōu)選地,所述計算得到狀態(tài)向量ct的具體過程如下:其中,αti表示權(quán)重,hi表示遞歸神經(jīng)網(wǎng)絡(luò)編碼器的狀態(tài)向量。優(yōu)選地,所述αti的求取過程如下:其中eti表示解碼器中狀態(tài)向量和編碼器中狀態(tài)向量的相關(guān)性權(quán)重:eti=si*hi。優(yōu)選地,所述狀態(tài)向量dt的計算過程如下:dt=sigmoid(ct*st)其中,sigmoid函數(shù)具體表示如下:sigmoid(x)=1/(1+e-x)。上述方案中,狀態(tài)向量dt對于對齊關(guān)系的處理其實是一種局部最優(yōu)的策略,輸出序列和輸入序列的對齊關(guān)系應(yīng)該是整體相關(guān)而不是應(yīng)該是局部相關(guān)的,這就意味著當(dāng)前時刻的對齊信息不僅對當(dāng)前時刻的解碼有影響,而且應(yīng)該對后續(xù)的解碼也會有影響。因此,本發(fā)明提供的方法把當(dāng)前時刻的對齊信息dt作為額外的信息輸入到解碼器的下一個狀態(tài)中。優(yōu)選地,若遞歸神經(jīng)網(wǎng)絡(luò)編碼器與解碼器為多層結(jié)構(gòu),則將狀態(tài)向量ct和/或dt直接輸入到解碼器的第一層或最后一層,來應(yīng)用到解碼器下一時刻的解碼中;若遞歸神經(jīng)網(wǎng)絡(luò)編碼器與解碼器為單層結(jié)構(gòu),則將狀態(tài)向量ct和/或dt直接輸入到解碼器即可。與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:本發(fā)明的方法在生成輸出序列的下一個字或者詞的時候,本發(fā)明提供的方法并不直接用解碼器當(dāng)前的狀態(tài)向量來解碼;而是解碼器當(dāng)前的狀態(tài)向量st與編碼器每個時刻的狀態(tài)向量進(jìn)行對比,找出和st最相似的編碼器的狀態(tài)向量h,然后由h和它兩側(cè)的若干個狀態(tài)向量計算得到一個狀態(tài)向量ct,并利用狀態(tài)向量ct、狀態(tài)向量st計算得到新的狀態(tài)向量dt,它反應(yīng)了當(dāng)前要生成的字或者詞應(yīng)該與它呈正相關(guān),即它是將要生成的下一個字或詞的對齊信息。最后根據(jù)狀態(tài)向量dt來解碼得到輸出序列的下一個字或者詞。通過尋找h及利用h生成狀態(tài)向量ct,并利用狀態(tài)向量ct、狀態(tài)向量st計算得到新的狀態(tài)向量dt,最后利用狀態(tài)向量dt解碼得到輸出序列的下一個字或者詞,使得方法解決了輸出序列和輸入序列之間的對齊關(guān)系,提高了輸出序列的質(zhì)量和效率,并使輸出序列與輸入序列之間的關(guān)聯(lián)性從而能夠保持在較高的水平。附圖說明圖1為編碼器的作用示意圖。圖2為解碼器的作用示意圖。圖3為attention機(jī)制的作用示意圖。圖4的(a)、(b)、(c)、(d)分別為四種不同feed機(jī)制的作用示意圖。具體實施方式附圖僅用于示例性說明,不能理解為對本專利的限制;以下結(jié)合附圖和實施例對本發(fā)明做進(jìn)一步的闡述。實施例1本發(fā)明提供的方法的主要發(fā)明點在于增加了attention機(jī)制,如圖3所示,其具體如下:在當(dāng)前時刻t,將遞歸神經(jīng)網(wǎng)絡(luò)解碼器的狀態(tài)向量st與遞歸神經(jīng)網(wǎng)絡(luò)編碼器的每個時刻的狀態(tài)向量進(jìn)行對比,找出與狀態(tài)向量st關(guān)聯(lián)性最強(qiáng)的狀態(tài)向量h,然后利用狀態(tài)向量h及狀態(tài)向量h左右兩側(cè)的d個狀態(tài)向量計算得到狀態(tài)向量ct,利用狀態(tài)向量ct、狀態(tài)向量st得到新的狀態(tài)向量dt,然后根據(jù)狀態(tài)向量dt解碼得到輸出序列的下一個字或者詞,其中d為大于或等于1的整數(shù)。上述方案中,當(dāng)要生成輸出序列的下一個字或者詞的時候,本發(fā)明提供的方法并不直接用解碼器當(dāng)前的狀態(tài)向量來解碼;而是解碼器當(dāng)前的狀態(tài)向量st與編碼器每個時刻的狀態(tài)向量進(jìn)行對比,找出和st最相似的編碼器的狀態(tài)向量h,然后由h和它兩側(cè)的若干個狀態(tài)向量計算得到一個狀態(tài)向量ct,并利用狀態(tài)向量ct、狀態(tài)向量st計算得到新的狀態(tài)向量dt,它反應(yīng)了當(dāng)前要生成的字或者詞應(yīng)該與它呈正相關(guān),即它是將要生成的下一個字或詞的對齊信息。最后根據(jù)狀態(tài)向量dt來解碼得到輸出序列的下一個字或者詞。通過尋找h及利用h生成狀態(tài)向量ct,并利用狀態(tài)向量ct、狀態(tài)向量st計算得到新的狀態(tài)向量dt,最后利用狀態(tài)向量dt解碼得到輸出序列的下一個字或者詞,使得方法解決了輸出序列和輸入序列之間的對齊關(guān)系,提高了輸出序列的質(zhì)量和效率,并使輸出序列與輸入序列之間的關(guān)聯(lián)性從而能夠保持在較高的水平。實施例2attention機(jī)制在一定程度上解決了輸出序列和輸入序列之間的對齊關(guān)系,從而提高了輸出序列的質(zhì)量和效率。但attention機(jī)制對于對齊關(guān)系的處理其實是一種局部最優(yōu)的策略。為了進(jìn)一步提高輸出序列也就是源文摘要的質(zhì)量,本實施例使用了一種新的全局最優(yōu)的策略,即feed機(jī)制。在attention機(jī)制中其實存在兩種對齊信息,一種是直接的對齊信息ct,另一種是間接的對齊信息dt,它們都反應(yīng)了輸出序列中下一字或詞應(yīng)該對齊的位置和內(nèi)容。輸出序列和輸入序列的對齊關(guān)系應(yīng)該是整體相關(guān)而不是應(yīng)該是局部相關(guān)的,這就意味著當(dāng)前時刻的對齊信息不僅對當(dāng)前時刻的解碼有影響,而且應(yīng)該對后續(xù)的解碼也會有影響。因此,可以把當(dāng)前時刻的對齊信息作為額外的信息輸入到解碼器的下一個狀態(tài)中。基于遞歸神經(jīng)網(wǎng)絡(luò)編碼器與解碼器可以是單層的,也可以是多層的,如圖4所示。本實施例采用了兩種分配機(jī)制:一是將哪種對齊信息輸入到解碼器的下一時刻,直接對齊信息還是間接對齊信息。二是將對齊信息輸入對解碼器的下一時刻的哪一層,最后一層還是最后一層?;谶@兩種機(jī)制,可以得到四種不同feed機(jī)制,如圖4所示,它們分別是:間接對齊信息輸入到最后一層,直接對齊信息輸入到最后一層,間接對齊信息輸入到第一層,直接對齊信息輸入到第一層。實施例3摘要生成的序列到序列的學(xué)習(xí)方法,從本質(zhì)上來說屬于一種機(jī)器學(xué)習(xí)方法,因此可以采用機(jī)器學(xué)習(xí)通用的訓(xùn)練方法來訓(xùn)練。為了加快訓(xùn)練速度,本實施例采用最小批量梯度下降算法(mini-batchgradientdescent)來訓(xùn)練。由于中文的詞表很大,解碼過程所需要時間會很長,為了減少解碼時間,本實施例采用字表,即只使用最常用的4000個漢字作為字表,對于其它的字,使用特殊的標(biāo)記來替換。表1和表2為使用測試數(shù)據(jù)集對生成方法所作的測試與評估表1模型r-1r-2r-lbleu多層rnn30.416.027.39.5多層rnn+attention32.217.828.811.4多層rnn+attention+feed132.217.728.711.3多層rnn+attention+feed233.118.329.512.0多層rnn+attention+feed330.116.727.610.3多層rnn+attention+feed431.117.127.910.9表2模型信息性語法性簡潔性多層rnn+attention2.873.953.28多層rnn+attention+feed12.854.012.93多層rnn+attention+feed23.024.233.30多層rnn+attention+feed33.003.933.10多層rnn+attention+feed42.884.033.03人工3.884.423.80表1采用了兩種機(jī)器指標(biāo)rouge和bleu來對生成方法進(jìn)行評估。rouge是從召回率的角度來評估的,而bleu是從精確率的角度來評估的。從表1中可以看出,使用第二種feed策略,即將直接對齊信息輸入到解碼器的最后一層的時候,測試的結(jié)果表現(xiàn)最好,超過只使用attention機(jī)制的生成方法,這說明了生成方法的有效性。表2采用了三種人工指標(biāo)來評估生成方法。其中信息性反映摘要所包涵的信息量,語法性反映摘要合乎語法的程度,簡潔性反映摘要的簡潔程度,人工模型表示人工生成的摘要信息。根據(jù)表2可以得出和表1相似的結(jié)論,即feed機(jī)制超過了attention機(jī)制。同樣將直接對齊信息輸入到解碼器的最后一層這種策略表現(xiàn)得最為出色。通過兩個表格的對比,可以得出摘要生成方法具有高效率、高準(zhǔn)確性的結(jié)論,特別是采用第二種feed機(jī)制的時候。顯然,本發(fā)明的上述實施例僅僅是為清楚地說明本發(fā)明所作的舉例,而并非是對本發(fā)明的實施方式的限定。對于所屬領(lǐng)域的普通技術(shù)人員來說,在上述說明的基礎(chǔ)上還可以做出其它不同形式的變化或變動。這里無需也無法對所有的實施方式予以窮舉。凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明權(quán)利要求的保護(hù)范圍之內(nèi)。當(dāng)前第1頁12
當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1