亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

用于自然語言處理的電子設備和方法以及訓練方法與流程

文檔序號:11199184閱讀:391來源:國知局
用于自然語言處理的電子設備和方法以及訓練方法與流程

本發(fā)明的實施例總體上涉及信息處理領域,具體地涉及自然語言處理,更具體地,涉及用于自然語言處理的電子設備和方法、以及相應的訓練方法和電子設備。



背景技術(shù):

句子分類是口語理解(spokenlanguageunderstanding,slu)和自然語言處理(naturallanguageprocessing,nlp)中的關鍵問題。例如,可以對句子進行問題分類、情感分類、用戶意圖分類等。作為問題分類的示例,“世界上最長的地鐵在哪個城市?”是詢問地理位置的句子,而“哪一位前聯(lián)盟內(nèi)球員被稱為“太空人”?”是詢問人名的句子。作為情感分類的示例,“這部電影很糟糕”表達了負面情感,而“演員很努力”表達了正面情感。作為用戶意圖分類的示例,“我想聽歌”指示了播放音樂的意圖。

傳統(tǒng)的句子分類方法是基于詞袋模型(bag-of-word)的,即,把句子表示為一系列文字、詞語、片段的向量,比如把“這部電影很糟糕”分解表示為“這”、“部”、“電影”、“糟糕”等。在得到這樣的向量后,將其輸入到標準的分類算法比如最大熵、支持向量機(svm)等得到分類結(jié)果。

近年來提出了基于表示學習的句子分類的方法,首先將句子中的詞語映射為實數(shù)向量,然后將代表句子的實數(shù)向量的集合輸入到各種人工神經(jīng)網(wǎng)絡比如卷積神經(jīng)網(wǎng)絡(convolutionalneuralnetwork,cnn)、循環(huán)神經(jīng)網(wǎng)絡(recurrentneuralnetwork,recurrentnn)等,從而將句子也映射為一個實數(shù)向量,將這個向量輸入到標準的分類算法中以得到分類結(jié)果。因此,基于神經(jīng)網(wǎng)絡的句子分類指的是利用神經(jīng)網(wǎng)絡首先得到句子級別的實數(shù)向量表示,然后利用分類器獲得句子的類別標簽。



技術(shù)實現(xiàn)要素:

在下文中給出了關于本發(fā)明的簡要概述,以便提供關于本發(fā)明的某些方面的基本理解。應當理解,這個概述并不是關于本發(fā)明的窮舉性概述。它并不是意圖確定本發(fā)明的關鍵或重要部分,也不是意圖限定本發(fā)明的范圍。其目的僅僅是以簡化的形式給出某些概念,以此作為稍后論述的更詳細描述的前序。

根據(jù)本申請的一個方面,提供了一種用于自然語言處理的電子設備包括處理器,被配置為執(zhí)行:針對將訓練數(shù)據(jù)集中的每一個句子分詞后得到的每一個詞語,分別獲得代表該詞語與句子中其他詞語中的一個或多個詞語之間的相關程度的注意力參數(shù),其中,每一個詞語用實數(shù)向量表示;以及基于每一個句子中的每一個詞語與針對該詞語獲得的注意力參數(shù)的信息以及訓練數(shù)據(jù)集中該句子的標簽信息,訓練用于句子分類的神經(jīng)網(wǎng)絡。

根據(jù)本申請的另一個方面,還提供了一種用于自然語言處理的電子設備,包括存儲器和處理器,其中,存儲器存儲訓練好的用于句子分類的神經(jīng)網(wǎng)絡,其中,該神經(jīng)網(wǎng)絡使用上述電子設備訓練獲得,處理器被配置為執(zhí)行:針對將要分類的句子分詞后得到的每一個詞語,獲得代表該詞語與句子中其他詞語中的一個或多個詞語之間的相關程度的注意力參數(shù),其中,每一個詞語用實數(shù)向量表示;以及基于句子中每一個詞語與針對該詞語獲得的注意力參數(shù)的信息,使用神經(jīng)網(wǎng)絡對句子進行分類。

根據(jù)本申請的另一個方面,還提供了一種用于自然語言處理的訓練方法,包括:針對將訓練數(shù)據(jù)集中的每一個句子分詞后得到的每一個詞語,分別獲得代表該詞語與句子中其他詞語中的一個或多個詞語之間的相關程度的注意力參數(shù),其中,每一個詞語用實數(shù)向量表示;以及基于每一個句子中的每一個詞語與針對該詞語獲得的注意力參數(shù)的信息以及訓練數(shù)據(jù)集中該句子的標簽信息,訓練用于句子分類的神經(jīng)網(wǎng)絡。

根據(jù)本申請的另一個方面,還提供了一種用于自然語言處理的方法,包括:針對將要分類的句子分詞后得到的每一個詞語,獲得代表該詞語與句子中其他詞語中的一個或多個詞語之間的相關程度的注意力參數(shù),其中,每一個詞語用實數(shù)向量表示;以及基于句子中每一個詞語與針對該詞語獲得的注意力參數(shù)的信息,使用神經(jīng)網(wǎng)絡對句子進行分類,其中,該神經(jīng)網(wǎng)絡使用上述訓練方法訓練獲得。

依據(jù)本發(fā)明的其它方面,還提供了用于自然語言處理的訓練方法和用 于自然語言處理的方法的計算機程序代碼和計算機程序產(chǎn)品以及其上記錄有該用于實現(xiàn)上述方法的計算機程序代碼的計算機可讀存儲介質(zhì)。

根據(jù)本申請的電子設備和方法通過在卷積神經(jīng)網(wǎng)絡的基礎上引入了句子的全局信息,以使得能夠更完整地反映句子的語義,提高了句子分類的性能。

通過以下結(jié)合附圖對本發(fā)明的優(yōu)選實施例的詳細說明,本發(fā)明的上述以及其他優(yōu)點將更加明顯。

附圖說明

為了進一步闡述本發(fā)明的以上和其它優(yōu)點和特征,下面結(jié)合附圖對本發(fā)明的具體實施方式作進一步詳細的說明。所述附圖連同下面的詳細說明一起包含在本說明書中并且形成本說明書的一部分。具有相同的功能和結(jié)構(gòu)的元件用相同的參考標號表示。應當理解,這些附圖僅描述本發(fā)明的典型示例,而不應看作是對本發(fā)明的范圍的限定。在附圖中:

圖1是示出了根據(jù)本申請的一個實施例的用于自然語言處理的電子設備的功能結(jié)構(gòu)框圖;

圖2示出了傳統(tǒng)的基于卷積神經(jīng)網(wǎng)絡的句子分類中所使用的模型的示例;

圖3示出了卷積神經(jīng)網(wǎng)絡中的卷積層的運算的一種示意性圖示;

圖4示出了根據(jù)本申請的實施例的基于卷積神經(jīng)網(wǎng)絡的句子分類中所使用的模型的示例;

圖5是示出了注意力參數(shù)的獲得的一個示意性過程;

圖6示出了根據(jù)本申請的一個實施例的用于自然語言處理的電子設備的功能結(jié)構(gòu)框圖;

圖7示出了構(gòu)建句子的注意力模型的一個示意圖;

圖8示出了根據(jù)本申請的一個示例的用于自然語言處理的電子設備的另一個結(jié)構(gòu)框圖;

圖9示出了根據(jù)本申請的一個實施例的用于自然語言處理的電子設備的功能結(jié)構(gòu)框圖;

圖10示出了在使用不同模型對公開語料庫中的句子進行分類時的性 能的比較;

圖11示出了在采用不同預定衰減因子的情況下,本申請的模型分別對不同的語料庫的句子進行分類所獲得的分類性能的曲線圖;

圖12示出了本申請的注意力模型如何捕獲句子中詞語之間的相關性的示例;

圖13示出了根據(jù)本申請的一個實施例的用于自然語言處理的訓練方法的流程圖;

圖14示出了根據(jù)本申請的一個實施例的用于自然語言處理的方法的流程圖;

圖15示出了圖14中的步驟s22的子步驟的流程圖;以及

圖16是其中可以實現(xiàn)根據(jù)本發(fā)明的實施例的方法和/或裝置和/或系統(tǒng)的通用個人計算機的示例性結(jié)構(gòu)的框圖。

具體實施方式

在下文中將結(jié)合附圖對本發(fā)明的示范性實施例進行描述。為了清楚和簡明起見,在說明書中并未描述實際實施方式的所有特征。然而,應該了解,在開發(fā)任何這種實際實施例的過程中必須做出很多特定于實施方式的決定,以便實現(xiàn)開發(fā)人員的具體目標,例如,符合與系統(tǒng)及業(yè)務相關的那些限制條件,并且這些限制條件可能會隨著實施方式的不同而有所改變。此外,還應該了解,雖然開發(fā)工作有可能是非常復雜和費時的,但對得益于本公開內(nèi)容的本領域技術(shù)人員來說,這種開發(fā)工作僅僅是例行的任務。

在此,還需要說明的一點是,為了避免因不必要的細節(jié)而模糊了本發(fā)明,在附圖中僅僅示出了與根據(jù)本發(fā)明的方案密切相關的設備結(jié)構(gòu)和/或處理步驟,而省略了與本發(fā)明關系不大的其他細節(jié)。

<第一實施例>

圖1示出了根據(jù)本申請的一個實施例的用于自然語言處理的電子設備100的功能結(jié)構(gòu)框圖,包括:計算單元101,被配置為針對將訓練數(shù)據(jù)集中的每一個句子分詞后得到的每一個詞語,分別獲得代表該詞語與句子中其他詞語中的一個或多個詞語之間的相關程度的注意力參數(shù),其中,每 一個詞語用實數(shù)向量表示;以及訓練單元102,被配置為基于每一個句子中的每一個詞語與針對該詞語獲得的注意力參數(shù)的信息以及訓練數(shù)據(jù)集中該句子的標簽信息,訓練用于句子分類的神經(jīng)網(wǎng)絡。例如,計算單元101和訓練單元102中的每一個均可以通過處理器執(zhí)行相應的計算機指令實現(xiàn)。當然,計算單元101和訓練單元102也可以由可編程邏輯器件或者硬件或固件實現(xiàn)。

這里所述的神經(jīng)網(wǎng)絡可以包括各種神經(jīng)網(wǎng)絡,比如卷積神經(jīng)網(wǎng)絡、循環(huán)神經(jīng)網(wǎng)絡、遞歸神經(jīng)網(wǎng)絡等。在下文的描述中,將以卷積神經(jīng)網(wǎng)絡(cnn)為例進行說明,但是應該理解,并不限于此。

在訓練數(shù)據(jù)集中,每一個句子可以通過人工標注的方式獲得其類別標簽,該類別不具備廣泛意義,只與不同的任務有關。句子和相應的類別標簽可以存放在同一文件內(nèi),格式例如為:一行開頭存放標簽,后面接著存放相應的句子。

其中,句子被劃分成多個詞語,每個詞語用實數(shù)向量表示,該實數(shù)向量可以通過已有的或?qū)⒁霈F(xiàn)的各種映射工具或詞嵌入(wordembedding)技術(shù)獲得。這些映射工具或技術(shù)包括但不限于word2vec、glove、c&w等。應該理解,實數(shù)向量的獲得方式將不會影響本申請的應用,換言之,本申請的技術(shù)方案可以應用于通過任何方式獲得的實數(shù)向量表示。

圖2示出了傳統(tǒng)的基于cnn的句子分類中所使用的模型的示例。在該示例中,句子進行分詞后有七個詞語,用實數(shù)向量分別表示為x1、x2、……、x7,其為卷積神經(jīng)網(wǎng)絡的輸入,這些輸入經(jīng)過卷積神經(jīng)網(wǎng)絡的卷積層和降采樣層的處理,由詞語級別的向量變換為短語級別的向量(如圖2中的橫向疊置的斜線框和點框所示),進而變換為句子級別的向量(如圖2中的豎向放置的斜線框和點框所示),該句子級別的向量輸入到全連接層,得到分類結(jié)果。注意,雖然圖中示出了卷積層與降采樣層各自僅有一層,但是并不限于此,并且也并不限于這樣的排布順序。另外,全連接層也不限于圖2所示的布置,例如,還可以在句子級別向量之后放置可以0到任意層數(shù)的隱藏層。該卷積神經(jīng)網(wǎng)絡例如可以采用后向傳輸算法進行學習。圖3示出了由詞語級別的向量變換為短語級別的向量時所采用的濾波器的一個示例的圖。該示例示出了輸入為詞語級別的向量x1、x2、x3,輸出為短語級別的向量p1,其中每個黑點代表向量中的一個元素,應該理解,黑點的個數(shù)僅用于示意性地表示向量和濾波器的維數(shù)之間的關系, 并不代表實際的數(shù)量。此外,圖2中的卷積層和降采樣層示出了兩種濾波方式(分別用斜線框和點框表示),這是為了獲得足夠的變型,提高學習的精度,但是并不限于此,例如也可以僅采用其中的一組短語級別的向量。雖然圖3對本發(fā)明給出了一個實例,但本領域技術(shù)人員能夠想到有詞語向量之間可以以任意的形式進行卷積運算,諸如按照詞語向量的不同維度分別進行卷積運算。

可以看出,傳統(tǒng)的基于神經(jīng)網(wǎng)絡的句子分類方法僅考慮句子中毗鄰的詞語之間的相互關系,而無法捕獲句子的全局信息以及非毗鄰的遠距離的詞語之間的相互關系。在本申請的實施例中,提出了基于注意力模型的神經(jīng)網(wǎng)絡,其中,注意力模型能夠反映句子的全局信息以及非毗鄰的詞語之間的相互關系。對于在句子中相互關系高的,所獲得的注意力參數(shù)就高,對于句子中相互關系低的,所獲得的注意力參數(shù)就低。從而使得句子中關鍵的詞語被凸顯,而非關鍵詞語被削弱,進而使得句子分類更加準確。

具體地,針對句子中的每一個詞語,計算單元101計算該詞語與其他詞語中的一個詞語或多個詞語之間的注意力參數(shù),注意力參數(shù)反映了該詞語與句子中其他詞語之間的相關程度。其中,注意力參數(shù)的計算以及計算中所涉及的中間變量構(gòu)成了本文的注意力模型。訓練單元102在進行訓練時,除了使用詞語的實數(shù)向量之外,還使用這些注意力參數(shù)所反映的信息。

仍然以卷積神經(jīng)網(wǎng)絡為例,圖4示出了根據(jù)本申請的實施例的基于att-cnn的句子分類中所使用的模型的示例。其中,仍然采用圖2中所示的詞語的實數(shù)向量x1、x2、……、x7作為示例??梢钥闯觯c圖2相比,本申請的模型在輸入層與卷積層之間增加了注意力層,在該層中包括了每一個詞語與句子中其他詞語之間的注意力參數(shù)的信息(圖中示出了α3,1、α3,2、…α3,7作為示例),因此相當于在輸入向量中加入了句子的全局信息。注意,在圖4的示例中,計算了詞語與所有其他詞語之間的注意力參數(shù),但是也可以僅計算詞語與其他詞語中的一部分詞語之間的注意力參數(shù)。示例性地,這些一部分其他詞語中至少包括一個非毗鄰的詞語。在該示例中,訓練單元102被配置為針對每一個詞語使用該詞語相應的注意力參數(shù)來計算該詞語的上下文向量,其中,上下文向量為使用歸一化的注意力參數(shù)加權(quán)的句子中相應的詞語的實數(shù)向量之和。并且,訓練單元102使用由句子中每一個詞語的實數(shù)向量與該詞語的上下文向量組合獲得的擴展詞向量進行訓練。組合的方式例如可以為拼接或相加等。雖然圖4對本發(fā)明給出了一個實例,但本領域技術(shù)人員能夠想到有詞語向量之間可 以以任意的形式進行卷積運算,諸如按照詞語向量的不同維度分別進行卷積運算。同時,也不僅限于卷積神經(jīng)網(wǎng)絡,本領域技術(shù)人員能夠想到將注意力模型用于任意神經(jīng)網(wǎng)絡,比如循環(huán)神經(jīng)網(wǎng)絡。

圖4中示出了采用拼接方式的示例,在這種情況下,注意力層中獲得的擴展詞向量包括兩部分,其中一部分為對應詞語的向量的拷貝,另一部分為該詞語的上下文向量。該擴展詞向量代替之前的詞向量輸入到神經(jīng)網(wǎng)絡中進行訓練,例如,第t個詞語xt的該擴展詞向量可以寫為xt'=[xt;ctxt]。另一方面,如果采用相加的方式,則第t個詞語xt的該擴展詞向量可以寫為xt'=xt+ctxt。

示例性地,第t個詞語的上下文向量ctxt可以用下式(1)計算獲得:

其中,αt,i代表第t個詞語和第i個詞語之間的注意力參數(shù)的歸一化值。例如,該歸一化值可以通過下式(2)計算得到。

其中,score函數(shù)即是本申請所述的注意力參數(shù),是用于量度第t個詞語與第i個詞語之間的相關程度的函數(shù),可以采用多種計算方式獲得。例如,可以采用下式(3)的形式。

score(xt,xi)=xt·xi(3)

或者,可以采用下式(4)或(5)的形式。

score(xt,xi)=xt·wa·xi(4)

score(xt,xi)=χattanh(wa[xt;xi])(5)

圖5示出了在采用式(5)來計算注意力參數(shù)的情況下,注意力參數(shù)的獲得的示意性過程。在圖5中,以計算向量x1和x3之間的注意力參數(shù)為例進行了圖示。圖5所示的衰減的注意力參數(shù)是根據(jù)公式(6)所計算得到的。

注意,以上雖然給出了注意力參數(shù)的計算方式的示例,但是并不限于此。score函數(shù)的計算可以認為構(gòu)造了具有一個隱藏層的前饋神經(jīng)網(wǎng)絡,在采用式(4)或式(5)的情況下,還涉及參數(shù)wa或者wa和χa。該隱藏 層可以與神經(jīng)網(wǎng)絡的各個層聯(lián)合訓練。

相應地,本申請還提供了一種用于自然語言處理的電子設備200,如圖6所示,該電子設備200包括:接收單元201,被配置為接收句子;劃分單元202,被配置為將該句子劃分為多個詞語向量;計算單元203,被配置為針對每一個詞語向量,獲得代表該詞語向量與與其他詞語向量中的一個或多個詞語向量之間的相關程度的注意力參數(shù);以及確定單元204,被配置為根據(jù)多個詞語向量的注意力參數(shù),確定句子的注意力模型。類似地,接收單元201、劃分單元202、計算單元203和確定單元204中的每一個均可以通過處理器執(zhí)行相應的計算機指令實現(xiàn),當然,也可以由可編程邏輯器件或者硬件或固件實現(xiàn)。

其中,接收單元201例如可以通過各種用戶接口或通信部件來接收要處理的句子。劃分單元202可以使用各種分詞工具以及映射工具(詞嵌入工具)來將句子劃分為多個詞語向量。計算單元203與參照圖1所述的計算單元101具有類似的結(jié)構(gòu)和功能,在此不再重復。確定單元204根據(jù)計算出的注意力參數(shù),來構(gòu)造句子的注意力模型,該注意力模型例如包括注意力參數(shù)的計算方式和計算過程中可能涉及的中間參量等。

圖7示出了使用電子設備200來構(gòu)建句子的注意力模型的一個示意圖。其中,通過劃分單元202的劃分,獲得了七個詞語向量x1、x2、……、x7。在圖7中,僅以向量x3為例示出了注意力模型的構(gòu)建過程,其他向量可以類推。在注意力參數(shù)按照圖5所示的方式計算的情況下,注意力模型還包括計算過程中所使用的中間參量比如wa和χa。關于注意力參數(shù)的計算在前文中已經(jīng)詳細給出,在此不再重復。

在一個示例中,計算單元203還被配置為根據(jù)注意力參數(shù)所涉及的詞語在句子中的距離對注意力參數(shù)進行衰減。

此外,如圖中的虛線框所示,電子設備200還包括:存儲單元205,被配置為存儲上述注意力模型。存儲單元205例如可以實現(xiàn)為存儲器比如非易失性存儲器。

此外,雖然以上給出了基于注意力參數(shù)計算上下文向量的方式,但是并不限于此??梢曰谠~語的實數(shù)向量與句子中的其他詞語中的一個或多個詞語的實數(shù)向量來計算上下文向量。例如,可以通過將其他詞語中的一個或多個詞語的實數(shù)向量相加來獲得上下文向量。或者,可以將上述歸一化的注意力參數(shù)αt,i設置為固定值來計算上下文向量。而在獲得上下文向 量之后,可以采用各種方式比如拼接或相加等將其與詞語的實數(shù)向量進行組合以獲得擴展詞向量。

此外,訓練單元102在計算上下文向量時,還可以考慮詞語的距離之間的影響。例如,訓練單元102可以配置為根據(jù)注意力參數(shù)所涉及的詞語之間的距離對注意力參數(shù)進行衰減。

示例性地,可以進行如下配置:當距離越大時,相應注意力參數(shù)衰減地越多。這是因為,一般而言,距離越遠的詞語與當前詞語相關的可能性較低。通過衰減,可以有效地減小當句子變長時引入的噪聲信息的影響。因此這種配置在句子較長時尤其有利。

例如,訓練單元102可以使用以預定衰減因子為底數(shù)、以距離為指數(shù)的指數(shù)函數(shù)對注意力參數(shù)進行衰減,如下式(6)所示。

score(xt,xi)′=(1-λ)k·score(xt,xi)(6)

其中,λ為預定衰減因子,λ∈[0,1),k=|t-i|-1??梢钥闯觯旑A定衰減因子接近0時,寬范圍內(nèi)的上下文將納入考慮,反之,當預定衰減因子接近1時,僅將局部范圍內(nèi)的上下文納入考慮。通過調(diào)整該預定衰減因子,可以調(diào)整要考慮的上下文的范圍。該對注意力參數(shù)衰減的處理例如在圖5中的最后一個虛線圓圈中示出。

該預定衰減因子可以由用戶預先指定?;蛘?,該預定衰減因子可以作為注意力模型的一部分(即,作為注意力參數(shù)計算中涉及的一個參數(shù)),從而通過神經(jīng)網(wǎng)絡的訓練獲得。

圖8示出了根據(jù)本申請的一個示例的電子設備的另一個功能結(jié)構(gòu)框圖,除了圖1中的各個單元之外,該電子設備300還包括:存儲單元301,被配置為存儲訓練獲得的神經(jīng)網(wǎng)絡。其中,該存儲單元301例如可以通過非易失性存儲器實現(xiàn)。

此外,存儲單元301還可以存儲訓練好的注意力模型。例如,在如上所述注意力模型中涉及中間參量的情況下,以及/或者在對注意力參數(shù)進行衰減的情況下,存儲單元301還可以被配置為存儲以下中的至少一個:注意力參數(shù)的計算中所涉及的參數(shù);根據(jù)注意力參數(shù)所涉及的詞語之間的距離對注意力參數(shù)進行衰減時使用的預定衰減因子。

通過包括存儲單元,可以將訓練好的神經(jīng)網(wǎng)絡連同注意力模型存儲起來,以使得在進行相同類型的句子分類問題時,可以直接使用所存儲的注意力模型和神經(jīng)網(wǎng)絡進行分類。

應該理解,句子的分類與不同的任務有關,因此,存儲單元301可以針對不同的任務存儲不同的注意力模型和神經(jīng)網(wǎng)絡。

根據(jù)本實施例的電子設備100至300通過在傳統(tǒng)的神經(jīng)網(wǎng)絡中引入句子的全局信息,能夠更完整地反映句子的語義,從而提高句子分類的性能,同時沒有引入更多的外部信息。

<第二實施例>

圖9示出了根據(jù)本申請的一個實施例的用于自然語言處理的電子設備400的功能結(jié)構(gòu)框圖,電子設備400包括:存儲單元401,被配置為存儲訓練好的用于句子分類的神經(jīng)網(wǎng)絡,其中,該神經(jīng)網(wǎng)絡例如使用根據(jù)第一實施例所述的電子設備訓練獲得;計算單元402,被配置為針對將要分類的句子分詞后得到的每一個詞語,獲得該詞語與句子中其他詞語中的一個或多個詞語之間的注意力參數(shù),其中,每一個詞語用實數(shù)向量表示;以及分類單元403,基于句子中每一個詞語與針對該詞語獲得的注意力參數(shù)的信息,使用上述神經(jīng)網(wǎng)絡對句子進行分類。其中,各個單元可以通過處理器執(zhí)行相應的計算機指令實現(xiàn),當然也可以由可編程邏輯器件或者硬件或固件實現(xiàn)。

例如,在利用word2vec等映射工具將要分類的句子分詞后得到的詞語轉(zhuǎn)換為實數(shù)向量之后,計算單元402基于這些實數(shù)向量計算每一個詞語與句子中其他詞語之間的注意力參數(shù)。應該理解,這里所使用的映射工具和注意力參數(shù)的計算方式應該與神經(jīng)網(wǎng)絡訓練時所使用的那些相同。

例如,可以使用第一實施例中的式(3)至(5)中的一個來計算score函數(shù)作為注意力參數(shù)。在使用式(4)或(5)計算注意力參數(shù)的情況下,計算單元402還使用存儲在存儲單元401中的已訓練好的用于注意力參數(shù)的計算的中間參量來計算注意力參數(shù),其中,所述中間參量與神經(jīng)網(wǎng)絡是聯(lián)合訓練的。換言之,存儲單元401還存儲訓練好的注意力模型。

在計算了score函數(shù)后,計算單元402例如可以根據(jù)式(2)來進行注意力參數(shù)的歸一化,根據(jù)式(1)來計算各個詞語的上下文向量,并與對應的詞語組合獲得擴展詞向量。關于上下文向量和組合的方式在第一實施例中進行了詳細描述,在此不再重復。

在一個示例中,分類單元403被配置為:使用歸一化的注意力參數(shù)對句子中相應的詞語的實數(shù)向量進行加權(quán)并求和以獲得該詞語的上下文向 量;將該詞語的實數(shù)向量與該詞語的上下文向量拼接獲得擴展詞向量;基于句子中每一個詞語的擴展詞向量,使用神經(jīng)網(wǎng)絡對句子進行分類。

其中,計算歸一化的注意力參數(shù)的方式與獲得擴展詞向量的方式也應該與神經(jīng)網(wǎng)絡訓練時使用的方式相同,其具體細節(jié)已在第一實施例中詳細描述過,在此不再重復。

此外,在另一個示例中,計算單元402還可以根據(jù)注意力參數(shù)所涉及的詞語在句子中的距離對注意力參數(shù)進行衰減。該衰減可以設置為當距離越大時,相應注意力參數(shù)衰減地越多。這是基于距離較遠的詞語之間的相關程度較低這一考慮的。例如,可以使用以預定衰減因子為底數(shù)、以距離為指數(shù)的指數(shù)函數(shù)對注意力參數(shù)進行衰減。

其中,該預定衰減因子可以由用戶手動指定?;蛘撸擃A定衰減因子在訓練過程中獲得并存儲在存儲單元401中。

相應地,本申請還提供了一種用于自然語言處理的電子設備,包括:接收單元,被配置為接收句子;劃分單元,被配置為將句子劃分為多個詞語向量;存儲單元,被配置為存儲注意力模型,其中注意力模型根據(jù)第一實施例中所述的訓練方法訓練獲得;獲取單元,被配置為獲取存儲在存儲器中的注意力模型;計算單元,被配置為基于注意力模型進行處理,以得到每個詞語向量的注意力參數(shù),并且基于每個詞語向量和針對該詞語向量的注意力參數(shù)生成相應的擴展詞向量;以及分類單元,被配置為針對擴展詞向量進行分類,以得到句子的分類信息。其中接收單元、劃分單元、獲取單元、計算單元和分類單元中的每一個可以通過處理器執(zhí)行相應的計算機指令實現(xiàn),當然也可以由可編程邏輯器件或者硬件或固件實現(xiàn)。存儲單元可以通過存儲器比如非易失性存儲器實現(xiàn)。

在一個示例中,存儲單元還被配置為存儲句子的分類信息。

為了便于理解,以下給出應用上述電子設備400對不同語料庫中的句子進行分類時的性能。此外,為了便于比較,還給出了使用其他技術(shù)進行句子分類時的性能。

圖10示出了在使用不同模型對公開數(shù)據(jù)包括sst(stanfordsentimenttreebank,由socher等在2013年創(chuàng)建)、trec(由li和roth在2002年創(chuàng)建)和trec2(由li和roth在2002年創(chuàng)建,與trec相比,具有更細的類別)語料庫中的句子進行分類時的性能的比較。其中,使用了word2vec映射的詞語向量進行計算。

圖10中示出的數(shù)值為使用所對應的行中的模型對所對應的列中的語料庫中的句子進行分類時分類結(jié)果正確的百分比。與根據(jù)本申請的att-cnn模型進行比較的模型除了基本的cnn模型之外,還包括cnn的變型dcnn,其中,用依存n元語法上下文(n-gram)卷積替代連續(xù)n元語法上下文(n-gram)卷積。此外,還包括遞歸神經(jīng)網(wǎng)絡rnn和rnn的改進版本rntn以及drnn。s-lstm是一種基于循環(huán)的模型,其采用循環(huán)神經(jīng)網(wǎng)絡的變型的lstm。關于這些模型的描述可以在現(xiàn)有技術(shù)中獲得,在此不進行詳細描述。

可以看出,對于所有語料庫,本申請的att-cnn模型的性能均優(yōu)于基本的cnn模型。這表明本申請的att-cnn中引入的注意力機制可以高效地捕捉有意義的語義,從而改善了句子分類的性能。此外,與其他類型的模型相比較時,本申請的att-cnn模型的性能在特定語料庫中有優(yōu)勢,換言之,本申請的att-cnn模型的性能至少與這些其他類型的模型相比擬。然而,本申請的att-cnn模型的結(jié)構(gòu)比這些模型簡單,復雜度較低。

此外,還使用以上模型對內(nèi)部數(shù)據(jù)庫中的句子進行了分類,同樣,att-cnn模型的性能優(yōu)于cnn模型,例如,att-cnn模型獲得的正確率為94.6%,而cnn模型獲得的正確率為93.6%。

圖11的(a)至(c)示出了采用具有不同預定衰減因子的本申請的att-cnn模型分別對sst、trec、trec2語料庫的句子進行分類的情況下,所獲得的分類性能的曲線圖。其中,橫軸代表式(6)中所示的預定衰減因子λ,縱軸代表正確分類的百分比。

可以看出,對于trec和trec2語料庫而言,即使小的預定衰減因子也會引起性能的顯著下降,相反,對于sst語料庫,衰減因子變大時性能提高。這是由于trec和trec2語料庫中的句子較短(句子平均長度為10),而sst語料庫中的句子較長(句子平均長度為19),在長度較長的句子中,相距較遠的詞語之間相關的可能性較小。因此,針對sst語料庫中較長的句子,預定衰減因子的設置使得能夠有效濾除由于長句引起的噪聲的影響。

此外,圖12示出了本申請的att-cnn模型中,注意力模型如何捕獲句子中詞語之間的相關性。圖12中所列出的示例來自trec語料庫。對于每一個句子,首先針對每個詞語根據(jù)歸一化的注意力參數(shù)αt,i對上下文排序,選擇所有詞語中最經(jīng)常排在前面的上下文,并將其列在句子下方。 可以看出,所列出的通過att-cnn捕獲的最有意義的上下文能夠準確反映句子的類別信息。

根據(jù)本申請的實施例的電子設備在進行句子分類時,將句子的全局信息考慮在內(nèi),可以有效提高句子分類的性能。

<第三實施例>

在上文的實施方式中描述用于自然語言處理的電子設備的過程中,顯然還公開了一些處理或方法。下文中,在不重復上文中已經(jīng)討論的一些細節(jié)的情況下給出這些方法的概要,但是應當注意,雖然這些方法在描述用于自然語言處理的電子設備的過程中公開,但是這些方法不一定采用所描述的那些部件或不一定由那些部件執(zhí)行。例如,用于自然語言處理的電子設備的實施方式可以部分地或完全地使用硬件和/或固件來實現(xiàn),而下面討論的用于自然語言處理的方法可以完全由計算機可執(zhí)行的程序來實現(xiàn),盡管這些方法也可以采用用于自然語言處理的電子設備的硬件和/或固件。

圖13示出了根據(jù)本申請的實施例的用于自然語言處理的電子設備的訓練方法的流程圖,包括:針對將訓練數(shù)據(jù)集中的每一個句子分詞后得到的每一個詞語,分別獲得代表該詞語與所述句子中其他詞語中的一個或多個詞語之間的相關程度的注意力參數(shù)(s11),其中,每一個詞語用實數(shù)向量表示;以及基于每一個句子中的每一個詞語與針對該詞語獲得的注意力參數(shù)的信息以及訓練數(shù)據(jù)集中該句子的標簽信息,訓練用于句子分類的神經(jīng)網(wǎng)絡(s12)。

其中,句子的分詞和到實數(shù)向量的映射可以使用任何已有的或?qū)⒁霈F(xiàn)的技術(shù)來實現(xiàn)。在步驟s11中,注意力參數(shù)的計算存在多種方式,只要所采用的方式能夠獲得反映句子中詞語之間的相關性的結(jié)果即可,具體計算示例已在第一實施例中給出,在此不再贅述。

在步驟s12中,可以針對每一個詞語使用該詞語相應的注意力參數(shù)來計算該詞語的上下文向量,其中,上下文向量為使用歸一化的注意力參數(shù)加權(quán)的句子中相應的詞語的實數(shù)向量之和。并且在步驟s12中還可以使用由句子中每一個詞語的實數(shù)向量與該詞語的上下文向量組合獲得的擴展詞向量進行訓練。

此外,還可以根據(jù)注意力參數(shù)所涉及的詞語之間的距離對相應的注意 力參數(shù)進行衰減。例如,當距離越大時,相應注意力參數(shù)衰減地越多。作為一個示例,可以使用以預定衰減因子為底數(shù)、以距離為指數(shù)的指數(shù)函數(shù)對注意力參數(shù)進行衰減。該預定衰減因子可以預先指定或者通過神經(jīng)網(wǎng)絡的訓練獲得。

在一個示例中,在步驟s12中對神經(jīng)網(wǎng)絡和注意力參數(shù)的計算中涉及的中間參量進行聯(lián)合訓練。

如圖13中的虛線框所示,上述方法還可以包括步驟s13:存儲訓練獲得的神經(jīng)網(wǎng)絡。此外,在步驟s13中還可以存儲以下中的至少一個:注意力參數(shù)的計算中所涉及的參數(shù);根據(jù)注意力參數(shù)所涉及的詞語之間的距離對注意力參數(shù)進行衰減時使用的預定衰減因子。

圖14示出了根據(jù)本申請的一個實施例的用于自然語言處理的方法,包括:針對將要分類的句子分詞后得到的每一個詞語,獲得代表該詞語與所述句子中其他詞語中的一個或多個詞語之間的相關程度的注意力參數(shù)(s21),其中,每一個詞語用實數(shù)向量表示;以及基于句子中每一個詞語與針對該詞語獲得的注意力參數(shù)的信息,使用神經(jīng)網(wǎng)絡對句子進行分類(s22),其中,該神經(jīng)網(wǎng)絡使用上文所述的訓練方法訓練獲得。

其中,在該方法中使用的實數(shù)向量映射工具、注意力參數(shù)計算方式等應該與訓練神經(jīng)網(wǎng)絡時所用的那些相同。

在一個示例中,在步驟s21中還基于存儲在存儲器中的已訓練好的用于注意力參數(shù)的計算的中間參量計算注意力參數(shù),其中,所述中間參量與神經(jīng)網(wǎng)絡是聯(lián)合訓練的。

如圖15所示,步驟s22可以包括如下子步驟:使用歸一化的注意力參數(shù)對相應的詞語的實數(shù)向量進行加權(quán)并求和以獲得該詞語的上下文向量(s221);將該詞語的實數(shù)向量與該詞語的上下文向量組合獲得擴展詞向量(s222);基于句子中每一個詞語的擴展詞向量,使用神經(jīng)網(wǎng)絡對句子進行分類(s223)。

在一個示例中,在步驟s21中,還可以根據(jù)注意力參數(shù)所涉及的詞語在句子中的距離對注意力參數(shù)進行衰減。例如,當距離越大時,相應注意力參數(shù)衰減地越多。示例性地,可以使用以預定衰減因子為底數(shù)、以距離為指數(shù)的指數(shù)函數(shù)對注意力參數(shù)進行衰減。

該預定衰減因子可以由用戶指定,或者可以是在訓練過程中獲得并存儲在所述存儲器中的。

根據(jù)本申請的用于自然語言處理的方法在傳統(tǒng)的神經(jīng)網(wǎng)絡中引入了句子的全局信息,從而能夠?qū)崿F(xiàn)更準確的句子分類。

注意,上述各個方法可以結(jié)合或單獨使用,其細節(jié)在第一至第二實施例中已經(jīng)進行了詳細描述,在此不再重復。

以上結(jié)合具體實施例描述了本發(fā)明的基本原理,但是,需要指出的是,對本領域的技術(shù)人員而言,能夠理解本發(fā)明的方法和裝置的全部或者任何步驟或部件,可以在任何計算裝置(包括處理器、存儲介質(zhì)等)或者計算裝置的網(wǎng)絡中,以硬件、固件、軟件或者其組合的形式實現(xiàn),這是本領域的技術(shù)人員在閱讀了本發(fā)明的描述的情況下利用其基本電路設計知識或者基本編程技能就能實現(xiàn)的。

而且,本發(fā)明還提出了一種存儲有機器可讀取的指令代碼的程序產(chǎn)品。所述指令代碼由機器讀取并執(zhí)行時,可執(zhí)行上述根據(jù)本發(fā)明實施例的方法。

相應地,用于承載上述存儲有機器可讀取的指令代碼的程序產(chǎn)品的存儲介質(zhì)也包括在本發(fā)明的公開中。所述存儲介質(zhì)包括但不限于軟盤、光盤、磁光盤、存儲卡、存儲棒等等。

在通過軟件或固件實現(xiàn)本發(fā)明的情況下,從存儲介質(zhì)或網(wǎng)絡向具有專用硬件結(jié)構(gòu)的計算機(例如圖16所示的通用計算機1600)安裝構(gòu)成該軟件的程序,該計算機在安裝有各種程序時,能夠執(zhí)行各種功能等。

在圖16中,中央處理單元(cpu)1601根據(jù)只讀存儲器(rom)1602中存儲的程序或從存儲部分1608加載到隨機存取存儲器(ram)1603的程序執(zhí)行各種處理。在ram1603中,也根據(jù)需要存儲當cpu1601執(zhí)行各種處理等等時所需的數(shù)據(jù)。cpu1601、rom1602和ram1603經(jīng)由總線1604彼此連接。輸入/輸出接口1605也連接到總線1604。

下述部件連接到輸入/輸出接口1605:輸入部分1606(包括鍵盤、鼠標等等)、輸出部分1607(包括顯示器,比如陰極射線管(crt)、液晶顯示器(lcd)等,和揚聲器等)、存儲部分1608(包括硬盤等)、通信部分1609(包括網(wǎng)絡接口卡比如lan卡、調(diào)制解調(diào)器等)。通信部分1609經(jīng)由網(wǎng)絡比如因特網(wǎng)執(zhí)行通信處理。根據(jù)需要,驅(qū)動器1610也可連接到輸入/輸出接口1605。可移除介質(zhì)1611比如磁盤、光盤、磁光盤、半導體存儲器等等根據(jù)需要被安裝在驅(qū)動器1610上,使得從中讀出的計算機程序根據(jù)需要被安裝到存儲部分1608中。

在通過軟件實現(xiàn)上述系列處理的情況下,從網(wǎng)絡比如因特網(wǎng)或存儲介質(zhì)比如可移除介質(zhì)1611安裝構(gòu)成軟件的程序。

本領域的技術(shù)人員應當理解,這種存儲介質(zhì)不局限于圖16所示的其中存儲有程序、與設備相分離地分發(fā)以向用戶提供程序的可移除介質(zhì)1611??梢瞥橘|(zhì)1611的例子包含磁盤(包含軟盤(注冊商標))、光盤(包含光盤只讀存儲器(cd-rom)和數(shù)字通用盤(dvd))、磁光盤(包含迷你盤(md)(注冊商標))和半導體存儲器?;蛘?,存儲介質(zhì)可以是rom1602、存儲部分1608中包含的硬盤等等,其中存有程序,并且與包含它們的設備一起被分發(fā)給用戶。

還需要指出的是,在本發(fā)明的裝置、方法和系統(tǒng)中,各部件或各步驟是可以分解和/或重新組合的。這些分解和/或重新組合應該視為本發(fā)明的等效方案。并且,執(zhí)行上述系列處理的步驟可以自然地按照說明的順序按時間順序執(zhí)行,但是并不需要一定按時間順序執(zhí)行。某些步驟可以并行或彼此獨立地執(zhí)行。

最后,還需要說明的是,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。此外,在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。

以上雖然結(jié)合附圖詳細描述了本發(fā)明的實施例,但是應當明白,上面所描述的實施方式只是用于說明本發(fā)明,而并不構(gòu)成對本發(fā)明的限制。對于本領域的技術(shù)人員來說,可以對上述實施方式作出各種修改和變更而沒有背離本發(fā)明的實質(zhì)和范圍。因此,本發(fā)明的范圍僅由所附的權(quán)利要求及其等效含義來限定。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1