本文作者:kaifamei

文本生成方法和文本生成模型的訓(xùn)練方法、裝置與流程

更新時(shí)間:2025-12-27 18:57:25 0條評(píng)論

文本生成方法和文本生成模型的訓(xùn)練方法、裝置與流程



1.本公開(kāi)涉及人工智能領(lǐng)域,具體涉及深度學(xué)習(xí)、自然語(yǔ)言處理和智能語(yǔ)音等技術(shù)領(lǐng)域,尤其涉及一種文本生成方法和文本生成模型的訓(xùn)練方法、裝置、設(shè)備、介質(zhì)。


背景技術(shù):



2.隨著計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展,基于視覺(jué)的自注意力機(jī)制得到廣泛應(yīng)用。例如,在自然語(yǔ)言處理領(lǐng)域中,可以依賴于自注意力機(jī)制來(lái)捕捉文本中長(zhǎng)距離的語(yǔ)義特征。但由于自注意力機(jī)制的編碼長(zhǎng)度受限,自注意力機(jī)制通常無(wú)法記住長(zhǎng)期信息。


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



3.本公開(kāi)旨在提供一種可以利用長(zhǎng)期記憶來(lái)生成文本的文本生成方法、裝置、電子設(shè)備和存儲(chǔ)介質(zhì),旨在提高生成的文本的準(zhǔn)確性。
4.根據(jù)本公開(kāi)的一個(gè)方面,提供了一種文本生成方法,包括:對(duì)待處理文本進(jìn)行預(yù)處理,得到嵌入特征序列,嵌入特征序列包括與待處理文本中文本單元對(duì)應(yīng)的嵌入特征;將嵌入特征序列輸入由編碼單元構(gòu)成的注意力網(wǎng)絡(luò),得到注意力網(wǎng)絡(luò)輸出的文本特征序列;以及對(duì)文本特征序列進(jìn)行解碼,生成待處理文本的在后文本,其中,編碼單元被配置執(zhí)行以下操作:采用注意力機(jī)制對(duì)輸入的特征序列進(jìn)行編碼,得到第一特征序列;根據(jù)隱藏狀態(tài)特征調(diào)整第一特征序列,得到第二特征序列;隱藏狀態(tài)特征表征待處理文本的在前文本的語(yǔ)義;以及根據(jù)第二特征序列更新隱藏狀態(tài)特征。
5.根據(jù)本公開(kāi)的另一個(gè)方面,提供了一種文本生成模型的訓(xùn)練方法,其中,文本生成模型包括預(yù)處理網(wǎng)絡(luò)、注意力網(wǎng)絡(luò)和解碼網(wǎng)絡(luò);注意力網(wǎng)絡(luò)由編碼單元構(gòu)成,訓(xùn)練方法包括:采用預(yù)處理網(wǎng)絡(luò)對(duì)文本序列中的每個(gè)目標(biāo)文本進(jìn)行預(yù)處理,得到嵌入特征序列,嵌入特征序列包括與每個(gè)目標(biāo)文本中文本單元對(duì)應(yīng)的嵌入特征;將嵌入特征序列輸入注意力網(wǎng)絡(luò),得到注意力網(wǎng)絡(luò)輸出的文本特征序列;采用解碼網(wǎng)絡(luò)對(duì)文本特征序列進(jìn)行解碼,生成每個(gè)目標(biāo)文本的預(yù)測(cè)在后文本;以及根據(jù)預(yù)測(cè)在后文本和文本序列中每個(gè)目標(biāo)文本的相鄰在后文本,對(duì)文本生成模型進(jìn)行訓(xùn)練;其中,編碼單元被配置為對(duì)執(zhí)行以下操作:采用注意力機(jī)制對(duì)輸入的特征序列進(jìn)行編碼,得到第一特征序列;根據(jù)隱藏狀態(tài)特征調(diào)整第一特征序列,得到第二特征序列;隱藏狀態(tài)特征表征每個(gè)目標(biāo)文本的在前文本的語(yǔ)義;以及根據(jù)第二特征序列更新隱藏狀態(tài)特征。
6.根據(jù)本公開(kāi)的另一個(gè)方面,提供了一種文本生成裝置,包括:預(yù)處理模塊,用于對(duì)待處理文本進(jìn)行預(yù)處理,得到嵌入特征序列,嵌入特征序列包括與待處理文本中文本單元對(duì)應(yīng)的嵌入特征;文本特征獲得模塊,用于將嵌入特征序列輸入由編碼單元構(gòu)成的注意力網(wǎng)絡(luò),得到注意力網(wǎng)絡(luò)輸出的文本特征序列;以及特征解碼模塊,用于對(duì)文本特征序列進(jìn)行解碼,生成待處理文本的在后文本,其中,特征序列獲得模塊包括:編碼子模塊,用于針對(duì)編碼單元,采用注意力機(jī)制對(duì)輸入的特征序列進(jìn)行編碼,得到第一特征序列;調(diào)整子模塊,用于根據(jù)隱藏狀態(tài)特征調(diào)整第一特征序列,得到第二特征序列;隱藏狀態(tài)特征表征待處理文
本的在前文本的語(yǔ)義;以及更新子模塊,用于根據(jù)第二特征序列更新隱藏狀態(tài)特征。
7.根據(jù)本公開(kāi)的另一個(gè)方面,提供了一種文本生成模型的訓(xùn)練裝置,其中,文本生成模型包括預(yù)處理網(wǎng)絡(luò)、注意力網(wǎng)絡(luò)和解碼網(wǎng)絡(luò);注意力網(wǎng)絡(luò)由編碼單元構(gòu)成;訓(xùn)練裝置包括:預(yù)處理模塊,用于采用預(yù)處理網(wǎng)絡(luò)對(duì)文本序列中的每個(gè)目標(biāo)文本進(jìn)行預(yù)處理,得到嵌入特征序列,嵌入特征序列包括與每個(gè)目標(biāo)文本中文本單元對(duì)應(yīng)的嵌入特征;文本特征獲得模塊,用于將嵌入特征序列輸入注意力網(wǎng)絡(luò),得到注意力網(wǎng)絡(luò)輸出的文本特征序列;特征解碼模塊,用于采用解碼網(wǎng)絡(luò)對(duì)文本特征序列進(jìn)行解碼,生成每個(gè)目標(biāo)文本的預(yù)測(cè)在后文本;以及模型訓(xùn)練模塊,用于根據(jù)預(yù)測(cè)在后文本和文本序列中每個(gè)目標(biāo)文本的在后文本,對(duì)文本生成模型進(jìn)行訓(xùn)練;其中,文本特征獲得模塊包括:編碼子模塊,用于針對(duì)編碼單元,采用注意力機(jī)制對(duì)輸入的特征序列進(jìn)行編碼,得到第一特征序列;調(diào)整子模塊,用于根據(jù)隱藏狀態(tài)特征調(diào)整第一特征序列,得到第二特征序列;隱藏狀態(tài)特征表征每個(gè)目標(biāo)文本的在前文本的語(yǔ)義;以及更新子模塊,用于根據(jù)第二特征序列更新隱藏狀態(tài)特征。
8.根據(jù)本公開(kāi)的另一個(gè)方面,提供了一種電子設(shè)備,包括:至少一個(gè)處理器;以及與至少一個(gè)處理器通信連接的存儲(chǔ)器;其中,存儲(chǔ)器存儲(chǔ)有可被至少一個(gè)處理器執(zhí)行的指令,指令被至少一個(gè)處理器執(zhí)行,以使至少一個(gè)處理器能夠執(zhí)行本公開(kāi)提供的文本生成方法和/或文本生成模型的訓(xùn)練方法。
9.根據(jù)本公開(kāi)的另一個(gè)方面,提供了一種存儲(chǔ)有計(jì)算機(jī)指令的非瞬時(shí)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,計(jì)算機(jī)指令用于使計(jì)算機(jī)執(zhí)行本公開(kāi)提供的文本生成方法和/或文本生成模型的訓(xùn)練方法。
10.根據(jù)本公開(kāi)的另一個(gè)方面,提供了一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序/指令,所述計(jì)算機(jī)程序/指令存儲(chǔ)于可讀存儲(chǔ)介質(zhì)和電子設(shè)備其中至少之一上,所述計(jì)算機(jī)程序/指令在被處理器執(zhí)行時(shí)實(shí)現(xiàn)本公開(kāi)提供的文本生成方法和/或文本生成模型的訓(xùn)練方法。
11.應(yīng)當(dāng)理解,本部分所描述的內(nèi)容并非旨在標(biāo)識(shí)本公開(kāi)的實(shí)施例的關(guān)鍵或重要特征,也不用于限制本公開(kāi)的范圍。本公開(kāi)的其它特征將通過(guò)以下的說(shuō)明書而變得容易理解。
附圖說(shuō)明
12.附圖用于更好地理解本方案,不構(gòu)成對(duì)本公開(kāi)的限定。其中:
13.圖1是根據(jù)本公開(kāi)實(shí)施例的文本生成方法和文本生成模型的訓(xùn)練方法、裝置的應(yīng)用場(chǎng)景示意圖;
14.圖2是根據(jù)本公開(kāi)實(shí)施例的文本生成方法的流程示意圖;
15.圖3是根據(jù)本公開(kāi)實(shí)施例的調(diào)整第一特征序列的原理示意圖;
16.圖4是根據(jù)本公開(kāi)實(shí)施例的更新隱藏狀態(tài)特征的原理示意圖;
17.圖5是根據(jù)本公開(kāi)實(shí)施例的文本生成方法的實(shí)現(xiàn)原理圖;
18.圖6是根據(jù)本公開(kāi)實(shí)施例的文本生成模型的訓(xùn)練方法的流程示意圖;
19.圖7是根據(jù)本公開(kāi)實(shí)施例的文本生成裝置的結(jié)構(gòu)框圖;
20.圖8是根據(jù)本公開(kāi)實(shí)施例的文本生成模型的訓(xùn)練裝置的結(jié)構(gòu)框圖;以及
21.圖9是用來(lái)實(shí)施本公開(kāi)實(shí)施例的文本生成方法和/或文本生成模型的訓(xùn)練方法的電子設(shè)備的框圖。
具體實(shí)施方式
22.以下結(jié)合附圖對(duì)本公開(kāi)的示范性實(shí)施例做出說(shuō)明,其中包括本公開(kāi)實(shí)施例的各種細(xì)節(jié)以助于理解,應(yīng)當(dāng)將它們認(rèn)為僅僅是示范性的。因此,本領(lǐng)域普通技術(shù)人員應(yīng)當(dāng)認(rèn)識(shí)到,可以對(duì)這里描述的實(shí)施例做出各種改變和修改,而不會(huì)背離本公開(kāi)的范圍和精神。同樣,為了清楚和簡(jiǎn)明,以下的描述中省略了對(duì)公知功能和結(jié)構(gòu)的描述。
23.基于自注意力機(jī)制構(gòu)建的注意力網(wǎng)絡(luò)可以編碼(encoding)一段文本,即對(duì)該段文本進(jìn)行編碼處理,將該段文本表示成一個(gè)向量序列。例如,該注意力網(wǎng)絡(luò)可以為transformer網(wǎng)絡(luò)。但注意力網(wǎng)絡(luò)只能編碼一小段文本,不具備結(jié)合該段文本的在前文本的語(yǔ)義對(duì)該段文本進(jìn)行編碼的能力。盡管通過(guò)大量的預(yù)訓(xùn)練,注意力網(wǎng)絡(luò)可以通過(guò)學(xué)習(xí)大量文本的語(yǔ)義來(lái)調(diào)整網(wǎng)絡(luò)參數(shù),但訓(xùn)練之后,該網(wǎng)絡(luò)參數(shù)即為固定的。在實(shí)際使用場(chǎng)景中,注意力網(wǎng)絡(luò)無(wú)法根據(jù)在前輸入文本的語(yǔ)義來(lái)對(duì)當(dāng)前文本進(jìn)行編碼,并完成預(yù)測(cè)任務(wù)。這使得注意力網(wǎng)絡(luò)難以掌握大量的垂直領(lǐng)域的信息。
24.例如,在將注意力網(wǎng)絡(luò)應(yīng)用于某個(gè)產(chǎn)品的問(wèn)答場(chǎng)景時(shí),在該注意力網(wǎng)絡(luò)缺乏該產(chǎn)品的詳細(xì)介紹文檔時(shí),無(wú)法很好的勝任問(wèn)答任務(wù)。相反,需要基于該某個(gè)產(chǎn)品的大量介紹文檔來(lái)對(duì)注意力網(wǎng)絡(luò)進(jìn)行單獨(dú)訓(xùn)練。存在訓(xùn)練得到的注意力網(wǎng)絡(luò)的泛化能力弱的問(wèn)題。
25.為了解決該泛化能力弱的問(wèn)題,遷移學(xué)習(xí)、元學(xué)習(xí)、預(yù)訓(xùn)練和提示(prompting)學(xué)習(xí)等方法隨之出現(xiàn)。但該些方法受限于自注意力機(jī)制的編碼長(zhǎng)度的限制,仍舊存在只能對(duì)較短文本進(jìn)行編碼的問(wèn)題。如此,在對(duì)當(dāng)前文本進(jìn)行編碼時(shí),無(wú)法考慮當(dāng)前文本的在前文本的語(yǔ)義,這會(huì)限制編碼得到的特征表達(dá)信息的準(zhǔn)確性,影響生成文本的精度。
26.為了解決該問(wèn)題,本公開(kāi)提供了一種文本生成方法和文本生成模型的訓(xùn)練方法、裝置、設(shè)備、介質(zhì),以下將結(jié)合圖1對(duì)本公開(kāi)提供的方法和裝置的應(yīng)用場(chǎng)景進(jìn)行詳細(xì)描述。
27.圖1是根據(jù)本公開(kāi)實(shí)施例的文本生成方法和文本生成模型的訓(xùn)練方法、裝置的應(yīng)用場(chǎng)景示意圖。
28.如圖1所示,該實(shí)施例的應(yīng)用場(chǎng)景100可以包括電子設(shè)備110,該電子設(shè)備110可以為具有處理功能的各種電子設(shè)備,包括但不限于智能手機(jī)、平板電腦、膝上型便攜計(jì)算機(jī)、臺(tái)式計(jì)算機(jī)和服務(wù)器等等。
29.該電子設(shè)備110可以具有文本處理功能,用于對(duì)輸入的文本120進(jìn)行處理,以預(yù)測(cè)得到該文本120的在后文本130。在一實(shí)施例中,電子設(shè)備110例如還可以具有智能語(yǔ)音功能,用于將用戶提供的語(yǔ)音信號(hào)轉(zhuǎn)換為文本120,并生成該文本的在后文本130,同時(shí)將該在后文本130轉(zhuǎn)換為語(yǔ)音信號(hào)進(jìn)行播放,以實(shí)現(xiàn)與用戶的智能交互。
30.示例性地,電子設(shè)備110可以采用將自注意力機(jī)制和循環(huán)機(jī)制相結(jié)合的模型,來(lái)對(duì)文本120進(jìn)行編碼。例如,可以采用解決長(zhǎng)序列問(wèn)題的transformer-xl模型或塊循環(huán)transformer(block recurrent transformer)模型。其中,xl表示超長(zhǎng)(extra long)。通過(guò)該些模型,可以使得注意力網(wǎng)絡(luò)的編碼長(zhǎng)度不再受限于局部,而是可以通過(guò)遞歸累積長(zhǎng)期信息,從而影響和修正后續(xù)的推斷過(guò)程。例如,在文本生成場(chǎng)景中,文本生成模型可以包括該將自注意力機(jī)制和循環(huán)機(jī)制相結(jié)合的模型。
31.示例性地,電子設(shè)備110還可以采用本公開(kāi)提供的文本生成方法來(lái)對(duì)文本120進(jìn)行處理,從而生成在后文本130。如此,可以延長(zhǎng)模型記憶的語(yǔ)義的長(zhǎng)度,持續(xù)記憶較長(zhǎng)時(shí)間之前的信息,提高生成的在后文本130的精度。相應(yīng)地,電子設(shè)備110可以采用本公開(kāi)提供的文
本生成模型140來(lái)實(shí)現(xiàn)文本生成方法。
32.如圖1所示,該應(yīng)用場(chǎng)景100中還可以包括服務(wù)器150,該服務(wù)器150可以為支持電子設(shè)備110中客戶端應(yīng)用運(yùn)行的后臺(tái)管理服務(wù)器。電子設(shè)備110可以通過(guò)網(wǎng)絡(luò)與服務(wù)器150通信連接,網(wǎng)絡(luò)可以包括有線或無(wú)線通信鏈路。服務(wù)器150還可以為云服務(wù)器,也可以為分布式系統(tǒng)的服務(wù)器,或者是結(jié)合了區(qū)塊鏈的服務(wù)器。
33.例如,服務(wù)器150可以采用大量的文本對(duì)文本生成模型140進(jìn)行訓(xùn)練,并響應(yīng)于電子設(shè)備110的獲取請(qǐng)求,將訓(xùn)練得到的文本生成模型140發(fā)送給電子設(shè)備110,以供電子設(shè)備110采用該文本生成模型140生成在后文本130。
34.在一實(shí)施例中,電子設(shè)備110還可以將文本120發(fā)送給服務(wù)器150,由服務(wù)器150采用訓(xùn)練得到的文本生成模型來(lái)對(duì)文本120進(jìn)行處理,從而得到在后文本130。
35.需要說(shuō)明的是,本公開(kāi)提供的文本生成方法可以由電子設(shè)備110執(zhí)行,也可以由服務(wù)器150執(zhí)行。相應(yīng)地,本公開(kāi)提供的文本生成裝置可以設(shè)置在電子設(shè)備110中,也可以設(shè)置在服務(wù)器150中。本公開(kāi)提供的文本生成模型的訓(xùn)練方法可以由服務(wù)器150執(zhí)行。相應(yīng)地,本公開(kāi)提供的文本生成模型的訓(xùn)練裝置可以設(shè)置在服務(wù)器150中。
36.應(yīng)該理解,圖1中的電子設(shè)備110和服務(wù)器150的數(shù)目和類型僅僅是示意性的。根據(jù)實(shí)現(xiàn)需要,可以具有任意數(shù)目和類型的電子設(shè)備110和服務(wù)器150。
37.以下將結(jié)合圖2~圖5對(duì)本公開(kāi)提供的文本生成方法進(jìn)行詳細(xì)描述。
38.圖2是根據(jù)本公開(kāi)實(shí)施例的文本生成方法的流程示意圖。
39.如圖2所示,該實(shí)施例的文本生成方法200可以包括操作s210~操作s230。其中,操作s220中,注意力網(wǎng)絡(luò)中的每個(gè)編碼單元可以被配置為執(zhí)行操作s221~操作s223。
40.在操作操作s210,對(duì)待處理文本進(jìn)行預(yù)處理,得到嵌入特征序列。
41.根據(jù)本公開(kāi)的實(shí)施例,操作s210可以對(duì)待處理文本x切分為多個(gè)文本單元,該多個(gè)文本單元可以組成文本單元序列。例如設(shè)定可以劃分得到l個(gè)文本單元,則待處理文本x可以表示為x=(x1,x2,

,x
l
)。其中,xi表示l個(gè)文本單元中的第i個(gè)文本單元。l的取值可以為大于1的整數(shù),i的取值范圍為[1,l]。其中,文本單元例如可以是任意粒度的文本單元,例如可以是以詞為粒度或者以字為粒度的文本單元,本公開(kāi)對(duì)此不做限定。
[0042]
根據(jù)本公開(kāi)的實(shí)施例,在得到文本特征序列后,該實(shí)施例例如可以對(duì)文本單元序列進(jìn)行嵌入處理,以得到嵌入特征序列。例如,對(duì)于文本單元xi,通過(guò)嵌入處理可以得到嵌入特征e(xi)。該實(shí)施例中,例如可以采用嵌入層(embedding layer)來(lái)對(duì)文本單元進(jìn)行嵌入處理,以通過(guò)線性處理得到密集特征序列。例如,嵌入層可以為全連接層,本公開(kāi)對(duì)此不做限定。該實(shí)施例得到的嵌入特征序列包括與待處理文本中的文本單元對(duì)應(yīng)的嵌入特征,即嵌入特征序列中的嵌入特征與文本單元序列中的文本單元一一對(duì)應(yīng)。
[0043]
在操作s220,將嵌入特征序列輸入由編碼單元構(gòu)成的注意力網(wǎng)絡(luò),得到注意力網(wǎng)絡(luò)輸出的文本特征序列。
[0044]
根據(jù)本公開(kāi)的實(shí)施例,注意力網(wǎng)絡(luò)例如可以由依次連接的至少兩個(gè)編碼單元構(gòu)成,該注意力網(wǎng)絡(luò)可以理解為編碼網(wǎng)絡(luò),用于基于自注意力機(jī)制對(duì)嵌入特征序列進(jìn)行處理,提取到文本x的上下文語(yǔ)義特征。該實(shí)施例可以將嵌入特征序列輸入依次連接的至少兩個(gè)編碼單元中排在首位的編碼單元,經(jīng)由至少兩個(gè)編碼單元處理后,將至少兩個(gè)編碼單元中排在末位的編碼單元輸出的特征序列作為文本特征序列。
[0045]
根據(jù)本公開(kāi)的實(shí)施例,注意力網(wǎng)絡(luò)的中的每個(gè)編碼單元例如可以被配置為執(zhí)行操作s221~操作s223。
[0046]
在操作s221,采用注意力機(jī)制對(duì)輸入的特征序列進(jìn)行編碼,得到第一特征序列。
[0047]
根據(jù)本公開(kāi)的實(shí)施例,對(duì)于排在首位的編碼單元,輸入的特征序列可以包括操作s210得到的嵌入特征序列。對(duì)于除排在首位的編碼單元外的其他編碼單元,輸入的特征序列為與該其他編碼單元連接的在前編碼單元輸出的特征序列。
[0048]
該實(shí)施例中,可以通過(guò)對(duì)輸入的特征序列中的特征進(jìn)行注意力運(yùn)算,從而實(shí)現(xiàn)對(duì)輸入的特征序列的編碼,得到第一特征序列。例如,可以采用自注意力機(jī)制來(lái)對(duì)輸入的特征序列進(jìn)行編碼。即采用自注意力原理對(duì)每?jī)蓚€(gè)特征進(jìn)行注意力運(yùn)算。
[0049]
在一實(shí)施例中,編碼單元可以包括transformer編碼器中的自注意力層。該自注意力層可以采用多頭注意力機(jī)制構(gòu)建,則對(duì)于輸入的特征序列中的第i個(gè)特征可以采用以下公式(1)實(shí)現(xiàn)編碼,得到第一特征序列中的相應(yīng)特征。其中,j表示編碼單元在依次連接的至少兩個(gè)編碼單元中的排列順序,j的取值范圍為[1,n],其中,n為注意力網(wǎng)絡(luò)中編碼單元的總個(gè)數(shù)。則為第(j-1)個(gè)編碼單元輸出的特征序列中的第i個(gè)特征。其中,設(shè)定則
[0050][0051]
例如,對(duì)于至少兩個(gè)編碼單元中排在首位的編碼單元,輸入的特征序列可以為上文描述的嵌入特征e(xi)構(gòu)成的嵌入特征序列。或者,注意力網(wǎng)絡(luò)可以對(duì)該嵌入特征序列進(jìn)行正則化處理,將正則化處理后的嵌入特征序列作為輸入排在首位的編碼單元的特征序列。例如,正則化處理后的嵌入特征序列中第i個(gè)嵌入特征可以采用以下公式(2)計(jì)算得到。
[0052][0053]
在操作s222,根據(jù)隱藏狀態(tài)特征調(diào)整第一特征序列,得到第二特征序列。
[0054]
在操作s223,根據(jù)第二特征序列更新隱藏狀態(tài)特征。
[0055]
根據(jù)本公開(kāi)的實(shí)施例,隱藏狀態(tài)特征與循環(huán)神經(jīng)網(wǎng)絡(luò)中的隱藏變量類似,用于作為一個(gè)動(dòng)態(tài)變量來(lái)存儲(chǔ)并傳播歷史信息。例如,隱藏狀態(tài)特征可以表征待處理文本的在前文本的語(yǔ)義。該實(shí)施例可以通過(guò)對(duì)隱藏狀態(tài)特征與第一特征序列加權(quán)融合,實(shí)現(xiàn)對(duì)第一特征序列的調(diào)整。或者,可以將第一特征序列與隱藏狀態(tài)特征進(jìn)行concat()連接,隨后,對(duì)連接得到的特征進(jìn)行線性處理,實(shí)現(xiàn)對(duì)第一特征序列的調(diào)整。
[0056]
在得到第二特征序列后,該實(shí)施例可以根據(jù)預(yù)定學(xué)習(xí)率和第二特征序列來(lái)得到隱藏狀態(tài)特征的更新量,隨后根據(jù)該更新量更新隱藏狀態(tài)特征。其中,預(yù)定學(xué)習(xí)率可以根據(jù)實(shí)際需求進(jìn)行設(shè)定,本公開(kāi)對(duì)此不做限定。
[0057]
在操作s230,對(duì)文本特征序列進(jìn)行解碼,生成待處理文本的在后文本。
[0058]
根據(jù)本公開(kāi)的實(shí)施例,可以采用基于循環(huán)神經(jīng)網(wǎng)絡(luò)或者transformer架構(gòu)的解碼器等來(lái)對(duì)文本特征序列進(jìn)行解碼,由解碼器生成待處理文本的在后文本。例如,若待處理文本為詢問(wèn)語(yǔ)句的文本,則在后文本可以為答復(fù)語(yǔ)句的文本。
[0059]
本公開(kāi)的實(shí)施例,通過(guò)先根據(jù)表征在前文本的語(yǔ)義的隱藏狀態(tài)特征調(diào)整第一特征
序列,得到第二特征序列,可以使得得到的第二特征序列不僅可以能夠表達(dá)待處理文本的語(yǔ)義,還可以表達(dá)該在前文本的語(yǔ)義,可以提高第二特征序列的表達(dá)能力。隨后通過(guò)根據(jù)第二特征序列來(lái)更新隱藏狀態(tài)特征,可以使得隱藏狀態(tài)特征融入實(shí)時(shí)處理的語(yǔ)句的語(yǔ)義。即,在文本生成過(guò)程中,隱藏狀態(tài)特征具有實(shí)時(shí)學(xué)習(xí)語(yǔ)義的能力。如此,在文本生成過(guò)程中,可以根據(jù)實(shí)時(shí)學(xué)習(xí)到的語(yǔ)義持續(xù)地修正已有知識(shí),而無(wú)需進(jìn)行梯度回傳或者網(wǎng)絡(luò)參數(shù)的微調(diào),無(wú)需為了適應(yīng)不同的應(yīng)用場(chǎng)景而對(duì)注意力網(wǎng)絡(luò)中的網(wǎng)絡(luò)參數(shù)進(jìn)行微調(diào)。并因此利于提高生成的在后文本的精度和文本生成方法的魯棒性。
[0060]
在一實(shí)施例中,編碼單元還可以包括transformer編碼器中的非線性處理層等,用于對(duì)得到的第二特征序列進(jìn)行非線性處理。則編碼單元輸出的特征序列為非線性處理后得到的特征序列。相應(yīng)地編碼單元還被配置為對(duì)第二特征序列進(jìn)行非線性處理,得到輸出的特征序列。例如可以采用relu激活函數(shù)或者gelu激活函數(shù)等對(duì)第二特征序列進(jìn)行非線性處理,以提高整個(gè)文本生成方法的魯棒性。
[0061]
在一實(shí)施例中,編碼單元還可以包括正則化層,用于對(duì)得到的第二特征序列進(jìn)行正則化處理。則編碼單元輸出的特征序列為正則化處理后得到的特征序列。相應(yīng)地編碼單元還被配置為對(duì)第二特征序列進(jìn)行正則化處理,得到輸出的特征序列。通過(guò)對(duì)第二特征序列進(jìn)行正則化處理,可以降低解碼過(guò)程的復(fù)雜度,利于提高文本生成效率。
[0062]
在一實(shí)施例中,編碼單元可以同時(shí)包括正則化層和非線性處理層。則編碼單元可以被配置為:先對(duì)第二特征序列進(jìn)行正則化處理,隨后對(duì)正則化處理得到的特征序列進(jìn)行非線性處理。編碼單元輸出的特征序列為非線性處理后的特征序列。
[0063]
在一實(shí)施例中,可以將第二特征序列與正則化處理后的特征序列相加,以避免發(fā)生退化問(wèn)題。隨后,再對(duì)相加得到的特征進(jìn)行非線性處理。例如,設(shè)定第二特征序列中第i個(gè)特征為則可以通過(guò)以下公式(3)來(lái)對(duì)第二特征序列中第i個(gè)特征的正則化處理并將正則化處理后特征與該第i個(gè)特征相加,得到相加后的特征
[0064][0065]
其中,layernorm()為正則化操作的函數(shù),
[0066]
在得到相加后的特征后,可以采用以下公式(4)來(lái)對(duì)相加后的特征進(jìn)行非線性處理,從而得到與該第二特征序列中第i個(gè)特征對(duì)應(yīng)的輸出特征
[0067][0068]
其中,σ1()為非線性激活函數(shù),均為非線性層的網(wǎng)絡(luò)參數(shù)。
[0069]
以下將結(jié)合圖3對(duì)上文描述的調(diào)整第一特征序列的操作s222的實(shí)現(xiàn)原理進(jìn)行進(jìn)一步地?cái)U(kuò)展和限定。
[0070]
圖3是根據(jù)本公開(kāi)實(shí)施例的調(diào)整第一特征序列的原理示意圖。
[0071]
如圖3所示,在實(shí)施例300中,編碼網(wǎng)絡(luò)例如可以根據(jù)隱藏狀態(tài)特征301和輸入的特征序列302來(lái)確定對(duì)應(yīng)第一特征序列的調(diào)整量303。隨后根據(jù)該調(diào)整量303調(diào)整第一特征序
列304,得到第二特征序列305。例如,編碼網(wǎng)絡(luò)可以將隱藏狀態(tài)特征301和輸入的特征序列302進(jìn)行融合,以使得融合得到的特征可以表征待處理文本的長(zhǎng)期語(yǔ)義(可以理解為全局語(yǔ)義),即根據(jù)在前文本的語(yǔ)義確定的待處理文本的語(yǔ)義。該實(shí)施例可以將該長(zhǎng)期語(yǔ)義作為第一特征序列的調(diào)整量。由于第一特征序列是通過(guò)僅對(duì)輸入的特征序列進(jìn)行處理得到的,第一特征序列可以表征待處理文本的短期語(yǔ)義(可以理解為局部語(yǔ)義)。如此,調(diào)整后的第二特征序列不僅可以表征待處理文本的短期語(yǔ)義,又可以表征待處理文本的長(zhǎng)期語(yǔ)義,提高第二特征序列的表達(dá)能力。
[0072]
例如,可以將隱藏狀態(tài)特征301和輸入的特征序列302進(jìn)行concat()連接,隨后對(duì)連接得到的特征進(jìn)行線性處理,從而得到表征待處理文本的長(zhǎng)期語(yǔ)義的特征。
[0073]
例如,對(duì)于排在第j個(gè)位置的編碼單元,若當(dāng)前的隱藏狀態(tài)特征輸入的特征序列中第i個(gè)特征該實(shí)施例還可以通過(guò)計(jì)算隱藏狀態(tài)特征301與輸入的特征序列中第i個(gè)特征的內(nèi)積,來(lái)實(shí)現(xiàn)兩個(gè)特征的融合。即將,計(jì)算得到的內(nèi)積作為表征待處理文本的長(zhǎng)期語(yǔ)義的特征。在此基礎(chǔ)上,可以將該表征待處理文本的長(zhǎng)期語(yǔ)義的特征與第一特征序列相加,從而得到第二特征序列。例如,對(duì)于第一特征序列中排在第i個(gè)位置的特征,可以采用以下公式(5)計(jì)算得到第二特征序列中對(duì)應(yīng)的特征其中,t可以表示待處理文本在文本生成方法處理的文本序列中的順序。即,上文描述的待處理文本為文本生成方法處理的第t個(gè)文本,當(dāng)前的隱藏狀態(tài)特征即為文本生成方法根據(jù)第(t-1)個(gè)待處理文本生成在后文本的過(guò)程中,排在第j個(gè)位置的編碼單元得到的更新后的隱藏狀態(tài)特征。
[0074][0075]
例如,可以設(shè)定w
1j
的取值為預(yù)先設(shè)定的初始值,例如,可以為0矩陣等任意初始值,本公開(kāi)對(duì)此不做限定。
[0076]
以下將結(jié)合圖4對(duì)上文描述的更新隱藏狀態(tài)特征的操作s223的實(shí)現(xiàn)原理進(jìn)行進(jìn)一步的擴(kuò)展和限定。
[0077]
圖4是根據(jù)本公開(kāi)實(shí)施例的更新隱藏狀態(tài)特征的原理示意圖。
[0078]
根據(jù)本公開(kāi)的實(shí)施例,可以根據(jù)生物可塑性原理來(lái)進(jìn)行隱藏狀態(tài)特征進(jìn)行更新時(shí)。例如,可以將編碼網(wǎng)絡(luò)的輸入特征序列類比為突觸前神經(jīng)元狀態(tài),將第二特征序列類比為突觸后神經(jīng)元狀態(tài)。根據(jù)該突觸前神經(jīng)元狀態(tài)和突觸后神經(jīng)元狀態(tài)來(lái)確定隱藏狀態(tài)的更新量,該更新量可以表征在前文本與待處理文本之間的連接關(guān)系。通過(guò)該方式,可以實(shí)現(xiàn)隱藏狀態(tài)的持續(xù)更新,且無(wú)需依賴損失函數(shù)的引導(dǎo),即可實(shí)現(xiàn)無(wú)人工干預(yù)的自動(dòng)學(xué)習(xí)。且可以使得隱藏狀態(tài)特征的更新原理更為貼合生物機(jī)制,提高更新準(zhǔn)確性。
[0079]
如圖4所示,在該實(shí)施例400中,設(shè)定輸入的特征序列401包括與文本單元對(duì)應(yīng)的第一文本特征。若待處理文本切分后得到的文本單元為l個(gè),則輸入的特征序列包括l個(gè)第一文本特征。相應(yīng)地,編碼得到的第一特征序列和根據(jù)隱藏狀態(tài)特征調(diào)整后得到的第二特征序列402均包括與l個(gè)文本單元對(duì)應(yīng)的l個(gè)特征。該實(shí)施例可以將第二特征序列402包括的l個(gè)特征作為l個(gè)第二文本特征。
[0080]
該實(shí)施例400中,可以根據(jù)針對(duì)每個(gè)文本單元的第一文本特征和第二文本特征,來(lái)確定針對(duì)該每個(gè)文本單元的更新量。從而總計(jì)可以得到與l個(gè)文本單元對(duì)應(yīng)的l個(gè)更新量。
[0081]
例如,該實(shí)施例可以將第一文本特征與第二文本特征叉乘,根據(jù)該叉乘得到的特征來(lái)確定更新量。該叉乘得到的特征的尺寸例如可以與待更新的隱藏狀態(tài)特征的尺寸相同。例如,對(duì)于l個(gè)文本單元中的第i個(gè)文本單元,輸入第j個(gè)編碼單元的特征序列中與該第i個(gè)文本單元對(duì)應(yīng)的第一文本特征為得到第二特征序列中與第i個(gè)文本單元對(duì)應(yīng)的第二文本特征為則針對(duì)該第i個(gè)文本單元的調(diào)整量δw
ij
例如可以采用以下公式(6)計(jì)算得到。
[0082][0083]
其中,例如可以表示為其中,若設(shè)定則為第j個(gè)編碼單元中的網(wǎng)絡(luò)參數(shù),為第j個(gè)編碼單元中的網(wǎng)絡(luò)參數(shù),
[0084]
在一實(shí)施例中,還可以采用赫布定律(hebb’s rule)來(lái)對(duì)對(duì)應(yīng)于每個(gè)文本單元的第二文本特征和第一文本特征進(jìn)行處理,從而得到文本單元的更新量。例如,排在第j個(gè)位置的編碼單元可以采用以下公式(7)計(jì)算得到針對(duì)該第i個(gè)文本單元的調(diào)整量δw
ij

[0085][0086]
其中,均為排在第j個(gè)位置的編碼單元的網(wǎng)絡(luò)參數(shù),且若不考慮編碼單元為n個(gè)編碼單元中的位置,則對(duì)于每個(gè)編碼單元,則可以去除掉公式(7)中的上標(biāo)j,去掉上標(biāo)的hi即為輸入該每個(gè)編碼單元的對(duì)應(yīng)第i個(gè)文本單元的第一文本特征,y
′i即為該每個(gè)編碼單元得到的對(duì)應(yīng)第i個(gè)文本單元的第二文本特征。
[0087]
可以理解的是,還可以采用僅包括上述公式(7)中右側(cè)第一項(xiàng)、以及右側(cè)第二項(xiàng)~第四項(xiàng)中至少一項(xiàng)的公式來(lái)計(jì)算針對(duì)該第i個(gè)文本單元的調(diào)整量δw
ij
,本公開(kāi)對(duì)此不做限定。
[0088]
通過(guò)采用赫布定律來(lái)確定更新量,可以使得隱藏狀態(tài)特征的更新更為符合生物學(xué)原理,可以使得該隱藏狀態(tài)特征的更新更為貼合實(shí)際和逼真,利于提高生成的在后文本的精度。
[0089]
隨后,該實(shí)施例400在得到l個(gè)更新量之后,可以根據(jù)該l個(gè)更新量,來(lái)更新隱藏狀態(tài)特征。例如,可以將該l個(gè)更新量的加權(quán)和作為總更新量403,隨后,將該總更新量403與隱藏狀態(tài)特征404相加,從而完成對(duì)隱藏狀態(tài)特征的更新,得到更新后的隱藏狀態(tài)特征405。其中,計(jì)算加權(quán)和時(shí)采用的權(quán)重例如可以作為編碼單元的網(wǎng)絡(luò)參數(shù),通過(guò)預(yù)訓(xùn)練得到。或者,計(jì)算加權(quán)和時(shí)采用的權(quán)重也可以為1/l等根據(jù)實(shí)際需求設(shè)定的值,本公開(kāi)對(duì)此不做限定。
[0090]
在一實(shí)施例中,可以采用多巴胺神經(jīng)元的原理來(lái)確定加權(quán)時(shí)采用的權(quán)重,并將該權(quán)重作為學(xué)習(xí)率。通過(guò)該原理,可以整合第二文本特征中不同區(qū)域的信號(hào),從而增加隱藏狀
態(tài)特征的可塑性。例如,該實(shí)施例可以對(duì)對(duì)應(yīng)于每個(gè)文本單元的第二文本特征進(jìn)行非線性處理,從而得到針對(duì)該每個(gè)文本單元的學(xué)習(xí)率。最后,根據(jù)該學(xué)習(xí)率和更新量,來(lái)更新隱藏狀態(tài)特征。
[0091]
例如,對(duì)于第i個(gè)文本單元,排在第j個(gè)位置的編碼單元可以采用以下公式(8)得到學(xué)習(xí)率
[0092][0093]
其中,即為第二特征序列中針對(duì)第i個(gè)文本單元的第二文本特征。為排在第j個(gè)位置的編碼單元的網(wǎng)絡(luò)參數(shù),其中,排在第j個(gè)位置的編碼單元的網(wǎng)絡(luò)參數(shù),其中,σ2()為非線性激活函數(shù),σ2()與σ1()類似。
[0094]
根據(jù)本公開(kāi)的實(shí)施例,在得到學(xué)習(xí)率后,該實(shí)例400即可根據(jù)學(xué)習(xí)率和更新量,來(lái)更新隱藏狀態(tài)特征。
[0095]
例如,可以根據(jù)針對(duì)每個(gè)文本單元的學(xué)習(xí)率和更新量,確定針對(duì)該每個(gè)文本單元的加權(quán)更新量。最后,根據(jù)針對(duì)l個(gè)文本單元的l個(gè)加權(quán)更新量,來(lái)更新隱藏狀態(tài)特征。例如,將針對(duì)每個(gè)文本單元的學(xué)習(xí)率作為針對(duì)該每個(gè)文本單元的更新量的權(quán)重,將學(xué)習(xí)率與更新量相乘,得到加權(quán)更新量。最后,將多個(gè)加權(quán)更新量的和,作為總更新量403。將總更新量403與待更新的隱藏狀態(tài)特征404相加,即可得到更新后的隱藏狀態(tài)特征405。例如,對(duì)于排在第j個(gè)位置的編碼單元,可以采用以下公式(9)計(jì)算得到更新后的隱藏狀態(tài)特征
[0096][0097]
在一實(shí)施例中,可以為隱藏狀態(tài)特征中的元素設(shè)置邊界,以避免隱藏狀態(tài)特征中元素的取值過(guò)大,為文本生成方法帶來(lái)計(jì)算風(fēng)險(xiǎn),使得隱藏狀態(tài)特征的更新不合理的情況。并因此,可以提高因隱藏狀態(tài)特征表達(dá)語(yǔ)義的準(zhǔn)確性。
[0098]
例如,該實(shí)施例在根據(jù)多個(gè)加權(quán)更新量更新隱藏狀態(tài)特征時(shí),可以先根據(jù)多個(gè)加權(quán)更新量的和,調(diào)整隱藏狀態(tài)特征,即采用上文描述的公式(9)調(diào)整隱藏狀態(tài)特征,并因此將公式(9)得到的特征作為調(diào)整后狀態(tài)特征。隨后,再采用邊界函數(shù)來(lái)更新調(diào)整后狀態(tài)特征,得到更新后的隱藏狀態(tài)特征。例如,設(shè)定邊界值為hw,則在該實(shí)施例中,上述得到更新后的隱藏狀態(tài)特征的公式(9)可以改寫為如下公式(10)。
[0099][0100]
其中,boundeddecay()為邊界函數(shù)。
[0101]
例如,該實(shí)施例可以將調(diào)整后狀態(tài)特征中的每個(gè)元素與邊界值進(jìn)行比較,若某個(gè)元素的取值超過(guò)該邊界值,則將該邊界值賦值給該某個(gè)元素。若某個(gè)元素的取值未超過(guò)該邊界值,則保留該某個(gè)元素的取值。
[0102]
在一實(shí)施例中,在采用邊界函數(shù)更新調(diào)整后狀態(tài)特征時(shí),例如還可以在調(diào)整后狀態(tài)特征中包括超出預(yù)定邊界的目標(biāo)元素時(shí),根據(jù)預(yù)定遺忘率來(lái)更新目標(biāo)元素。
[0103]
例如,可以將1與預(yù)定遺忘率的差值,作為調(diào)整系數(shù),將該調(diào)整系數(shù)與該目標(biāo)元素
的取值相乘,將相乘得到的值賦值給該目標(biāo)元素。
[0104]
例如,邊界函數(shù)還可以采用以下公式(11)來(lái)表示。
[0105][0106]
該實(shí)施例可以采用公式(10)中的替代公式(11)中的a,即可完成對(duì)調(diào)整后狀態(tài)特征的更新,得到更新后的隱藏狀態(tài)特征。其中,p為預(yù)定遺忘率,該預(yù)定遺忘率的取值可以根據(jù)實(shí)際需求進(jìn)行設(shè)定,例如可以設(shè)定為0.05,本公開(kāi)對(duì)此不做限定。
[0107]
以下將結(jié)合圖5對(duì)本公開(kāi)提供的文本生成方法的原理進(jìn)行進(jìn)一步的擴(kuò)展和限定。
[0108]
圖5是根據(jù)本公開(kāi)實(shí)施例的文本生成方法的實(shí)現(xiàn)原理圖。
[0109]
如圖5所示,該實(shí)施例500可以采用包括預(yù)處理網(wǎng)絡(luò)510、注意力網(wǎng)絡(luò)520和解碼網(wǎng)絡(luò)530的文本生成模型來(lái)執(zhí)行文本生成方法。
[0110]
對(duì)于待處理文本501,可以先將該待處理文本501輸入預(yù)處理網(wǎng)絡(luò)510,由預(yù)處理網(wǎng)絡(luò)510輸出嵌入特征序列502。該預(yù)處理網(wǎng)絡(luò)包括上文描述的嵌入網(wǎng)絡(luò)。
[0111]
注意力網(wǎng)絡(luò)520由依次連接的l個(gè)編碼單元構(gòu)成。每個(gè)編碼單元包括多頭自注意力層521、特征調(diào)整層522、隱藏狀態(tài)更新層523和疊加&正則化層524。為了降低模型計(jì)算的復(fù)雜度,在該l個(gè)編碼單元之前,注意力網(wǎng)絡(luò)520例如還可以設(shè)置有正則化層525,用于采用上文描述的公式(2)對(duì)嵌入特征序列502進(jìn)行正則化處理。
[0112]
相應(yīng)地,在得到嵌入特征序列502后,可以先將嵌入特征序列502輸入正則化層525。隨后,將正則化層525輸出的特征序列輸入依次連接的l個(gè)編碼單元中排在首位的編碼單元。第j個(gè)編碼單元中的多頭自注意力層521用于采用上文描述的公式(1)對(duì)輸入的特征序列進(jìn)行編碼,得到上文描述的第一特征序列。例如,該多頭自注意力層521可以用于執(zhí)行上文描述的操作s221。
[0113]
隱藏狀態(tài)更新層523用于存儲(chǔ)并更新隱藏狀態(tài)特征。第一特征序列可以輸入隱藏狀態(tài)更新層和特征調(diào)整層522。同時(shí),特征調(diào)整層522存儲(chǔ)的隱藏狀態(tài)特征可以與第一特征序列同步地輸入特征調(diào)整層522。需要說(shuō)明的是,輸入到特征調(diào)整層522的隱藏狀態(tài)特征為根據(jù)第一特征序列進(jìn)行更新之前存儲(chǔ)的隱藏狀態(tài)特征。特征調(diào)整層522用于根據(jù)輸入的隱藏狀態(tài)特征對(duì)第一特征序列進(jìn)行調(diào)整,從而得到第二特征序列。例如,該特征調(diào)整層522可以用于執(zhí)行上文描述的操作s222,該特征調(diào)整層522例如可以采用上文描述的公式(5)來(lái)調(diào)整第一特征序列。同時(shí),隱藏狀態(tài)更新層523用于根據(jù)第一特征序列對(duì)隱藏狀態(tài)特征進(jìn)行更新。例如,隱藏狀態(tài)更新層523可以用于執(zhí)行上文描述的操作s223,該隱藏狀態(tài)更新層523可以用于采用上文描述的公式(9)來(lái)更新隱藏層狀態(tài)。
[0114]
疊加&正則化層524可以用于采用上文描述的公式(3)對(duì)第二特征序列進(jìn)行正則化處理,并將正則化處理所得到的特征序列和第一特征序列進(jìn)行相加。該疊加&正則化層524例如還可以用于采用上文描述的公式(4)對(duì)相加得到的特征進(jìn)行非線性處理,從而得到輸出的特征序列。l個(gè)編碼單元中排在末尾的編碼單元輸出的特征序列可以作為文本特征序列503。
[0115]
解碼網(wǎng)絡(luò)530用于對(duì)輸入的文本特征序列503進(jìn)行解碼,從而輸出在后文本504。
[0116]
可以理解的是,注意力網(wǎng)絡(luò)可以基于transformer編碼器構(gòu)建得到。該注意力網(wǎng)絡(luò)
中編碼單元與transformer編碼器中編碼單元的區(qū)別在于,該注意力網(wǎng)絡(luò)中的編碼單元設(shè)置了特征調(diào)整層522和隱藏狀態(tài)更新層523。從而可以使得注意力網(wǎng)絡(luò)在編碼過(guò)程中具有不斷修正和補(bǔ)充學(xué)習(xí)到的語(yǔ)義,使得注意力網(wǎng)絡(luò)具有在不調(diào)整網(wǎng)絡(luò)參數(shù)的前提下,捕捉長(zhǎng)時(shí)記憶的能力。
[0117]
基于該實(shí)施例的實(shí)現(xiàn)原理,對(duì)于排在第j個(gè)位置的編碼單元,例如可以采用以下公式(12)來(lái)表示其針對(duì)第i個(gè)文本單元的計(jì)算原理。
[0118][0119]
可以理解的是,n個(gè)編碼單元的計(jì)算原理均為公式(12),區(qū)別僅在于上標(biāo)j的取值不同。若不考慮針對(duì)哪個(gè)文本單元進(jìn)行處理,則針對(duì)第t個(gè)待處理文本x,排在第j個(gè)位置的編碼單元編碼網(wǎng)絡(luò)的計(jì)算原理可以采用以下公式(13)來(lái)表示。
[0120][0121]
對(duì)于整個(gè)注意力網(wǎng)絡(luò)而言,計(jì)算原理可以采用以下公式(14)來(lái)表示。
[0122][0123]
其中,為針對(duì)第t個(gè)待處理文本輸出的文本特征序列,
[0124]
將本公開(kāi)實(shí)施例的文本生成方法應(yīng)用于智能語(yǔ)音交互系統(tǒng)中,則智能語(yǔ)音交互系統(tǒng)經(jīng)由與用戶的智能語(yǔ)音交互,可以記住用戶的喜好,并因此利于在后續(xù)語(yǔ)音交互中,向用戶提供更為真實(shí)可靠的語(yǔ)音答復(fù)。例如,若用戶在于智能語(yǔ)音交互系統(tǒng)語(yǔ)音交互的歷史中,提供過(guò)第一語(yǔ)音“世界上最高的山是喜馬拉雅山,海拔為8848米”。在提供第一語(yǔ)音之后的一段時(shí)間后,提供了第二語(yǔ)音“喜馬拉雅山因地質(zhì)運(yùn)動(dòng)高度發(fā)生了變化,變成了8850米”。則在提供第二語(yǔ)音后,若用戶提供詢問(wèn)語(yǔ)音“世界上最高的山有多高”時(shí),智能語(yǔ)音交互系統(tǒng)可以生成文本“喜馬拉雅山8850米”,并將該文本轉(zhuǎn)換為語(yǔ)音進(jìn)行播放。
[0125]
為了便于本公開(kāi)提供的文本生成方法的實(shí)施,本公開(kāi)還提供了一種文本生成模型的訓(xùn)練方法。以下將結(jié)合圖6對(duì)該訓(xùn)練方法進(jìn)行詳細(xì)描述。
[0126]
圖6是根據(jù)本公開(kāi)實(shí)施例的文本生成模型的訓(xùn)練方法的流程示意圖。
[0127]
如圖6所示,該實(shí)施例的文本生成模型的訓(xùn)練方法600可以包括操作s610~操作s640。其中,操作s620中,注意力網(wǎng)絡(luò)中的每個(gè)編碼單元可以被配置為執(zhí)行操作s621~操作s623。文本生成模型可以包括預(yù)處理網(wǎng)絡(luò)、注意力網(wǎng)絡(luò)和解碼網(wǎng)絡(luò)。其中,注意力網(wǎng)絡(luò)可以由編碼單元構(gòu)成。
[0128]
在一實(shí)施例中,文本生成模型可以采用如上文描述的圖5所示的模型結(jié)構(gòu)。
[0129]
在操作s610,采用預(yù)處理網(wǎng)絡(luò)對(duì)文本序列中的每個(gè)目標(biāo)文本進(jìn)行預(yù)處理,得到嵌入特征序列,嵌入特征序列包括與每個(gè)目標(biāo)文本中文本單元對(duì)應(yīng)的嵌入特征。該實(shí)施例可以將文本序列作為訓(xùn)練文本,并將文本序列中除最后一個(gè)文本外的任一文本作為目標(biāo)文本,將該任一文本的下一文本作為該任一文本的在后文本真值。該文本序列例如可以通過(guò)對(duì)一個(gè)文本段分句后得到。
[0130]
該操作s610的實(shí)現(xiàn)原理與上文描述的操作s210的實(shí)現(xiàn)原理類似,在此不再贅述。
[0131]
在操作s620,將嵌入特征序列輸入注意力網(wǎng)絡(luò),得到注意力網(wǎng)絡(luò)輸出的文本特征序列。
[0132]
在操作s621,采用注意力機(jī)制對(duì)輸入的特征序列進(jìn)行編碼,得到第一特征序列。
[0133]
在操作s622,根據(jù)隱藏狀態(tài)特征調(diào)整第一特征序列,得到第二特征序列。其中,隱藏狀態(tài)特征表征每個(gè)目標(biāo)文本的在前文本的語(yǔ)義。
[0134]
在操作s623,根據(jù)第二特征序列更新隱藏狀態(tài)特征。
[0135]
可以理解的是,該操作s620的實(shí)現(xiàn)原理可以與上文描述的操作s220的實(shí)現(xiàn)原理類似,操作s621~操作s623的實(shí)現(xiàn)原理可以分別與上文描述的操作s221~操作s223的實(shí)現(xiàn)原理類似,在此不再贅述。
[0136]
在操作s630,采用解碼網(wǎng)絡(luò)對(duì)文本特征序列進(jìn)行解碼,生成每個(gè)目標(biāo)文本的預(yù)測(cè)在后文本。該操作s630的實(shí)現(xiàn)原理可以與上文描述的操作s230的實(shí)現(xiàn)原理類似,在此不再贅述。
[0137]
在操作s640,根據(jù)預(yù)測(cè)在后文本和文本序列中每個(gè)目標(biāo)文本的相鄰在后文本,對(duì)文本生成模型進(jìn)行訓(xùn)練。
[0138]
根據(jù)本公開(kāi)的實(shí)施例,該相鄰在后文本即為文本序列中每個(gè)目標(biāo)文本的下一文本。該實(shí)施例可以根據(jù)該預(yù)測(cè)在后文本與相鄰在后文本之間的差異,確定文本生成模型的損失值。以最小化損失值為目標(biāo),對(duì)文本生成模型進(jìn)行訓(xùn)練。例如,該預(yù)測(cè)在后文本與相鄰在后文本之間的差異可以采用文本之間的語(yǔ)義相似度,相同字符個(gè)數(shù)的比例等來(lái)確定。例如,可以采用生成準(zhǔn)確率來(lái)確定文本生成模型的損失值。本公開(kāi)對(duì)差異和損失值的確定方法不做限定。可以理解的是,可以設(shè)計(jì)損失函數(shù),要求預(yù)測(cè)在后文本逼近于相鄰在后文本,并通過(guò)梯度回傳算法來(lái)優(yōu)化文本生成模型中的網(wǎng)絡(luò)參數(shù)。
[0139]
在一實(shí)施例中,在確定了損失值后,可以采用梯度回傳算法來(lái)確定文本生成模型中網(wǎng)絡(luò)參數(shù)的梯度。
[0140]
在一實(shí)施例中,可以采用梯度回傳算法和梯度回傳的預(yù)定截?cái)辔恢茫_定損失值關(guān)于所述文本生成模型中網(wǎng)絡(luò)參數(shù)的梯度。這是由于根據(jù)上文描述的公式(14)可知,在梯度回傳過(guò)程中,需要回傳至m1。如此,可能會(huì)存在在時(shí)間上反傳的梯度下降耗費(fèi)過(guò)長(zhǎng)時(shí)間,需要占用過(guò)多顯存的情況。為了避免該情況,該實(shí)施例可以預(yù)先設(shè)定梯度回傳的截?cái)辔恢谩@纾O(shè)定梯度僅回傳到m
t-k
,則在確定損失值關(guān)于文本生成模型中網(wǎng)絡(luò)參數(shù)的梯度時(shí),僅計(jì)算到涉及m
t-k
的網(wǎng)絡(luò)參數(shù)的梯度。對(duì)于涉及到m
t-k-1
~m1的網(wǎng)絡(luò)參數(shù)的梯度,則不再計(jì)算。隨后,該實(shí)施例可以以最小化計(jì)算得到的損失值為目標(biāo),根據(jù)計(jì)算得到的梯度來(lái)對(duì)文本生成模型的網(wǎng)絡(luò)參數(shù)進(jìn)行調(diào)整,實(shí)現(xiàn)對(duì)文本生成模型的訓(xùn)練。
[0141]
基于本公開(kāi)提供的文本生成方法,本公開(kāi)還提供了一種文本生成裝置。以下將結(jié)合圖7對(duì)該裝置進(jìn)行詳細(xì)描述。
[0142]
圖7是根據(jù)本公開(kāi)實(shí)施例的文本生成裝置的結(jié)構(gòu)框圖。
[0143]
如圖7所示,該實(shí)施例的文本生成裝置700包括預(yù)處理模塊710、文本特征獲得模塊720和特征解碼模塊730。其中,文本特征獲得模塊720可以包括編碼子模塊721、調(diào)整子模塊722和更新子模塊723。
[0144]
預(yù)處理模塊710用于對(duì)待處理文本進(jìn)行預(yù)處理,得到嵌入特征序列,嵌入特征序列包括與待處理文本中文本單元對(duì)應(yīng)的嵌入特征。在一實(shí)施例中,預(yù)處理模塊710可以用于執(zhí)
行上文描述的操作s210,在此不再贅述。
[0145]
特征解碼模塊730用于對(duì)文本特征序列進(jìn)行解碼,生成待處理文本的在后文本。在一實(shí)施例中,特征解碼模塊730可以用于執(zhí)行上文描述的操作s230,在此不再贅述。
[0146]
編碼子模塊721用于針對(duì)編碼單元,采用注意力機(jī)制對(duì)輸入的特征序列進(jìn)行編碼,得到第一特征序列。在一實(shí)施例中,編碼子模塊721可以用于執(zhí)行上文描述的操作s221,在此不再贅述。
[0147]
調(diào)整子模塊722用于根據(jù)隱藏狀態(tài)特征調(diào)整第一特征序列,得到第二特征序列;隱藏狀態(tài)特征表征待處理文本的在前文本的語(yǔ)義。在一實(shí)施例中,調(diào)整子模塊722可以用于執(zhí)行上文描述的操作s222,在此不再贅述。
[0148]
更新子模塊723用于根據(jù)第二特征序列更新隱藏狀態(tài)特征。在一實(shí)施例中,更新子模塊723可以用于執(zhí)行上文描述的操作s223,在此不再贅述。
[0149]
文本特征獲得模塊720用于將嵌入特征序列輸入由編碼單元構(gòu)成的注意力網(wǎng)絡(luò),得到注意力網(wǎng)絡(luò)輸出的文本特征序列。在一實(shí)施例中,文本特征獲得模塊720可以用于執(zhí)行上文描述的操作s220,在此不再贅述。
[0150]
根據(jù)本公開(kāi)的實(shí)施例,調(diào)整子模塊包括:調(diào)整量確定單元,用于根據(jù)隱藏狀態(tài)特征和輸入的特征序列,確定對(duì)應(yīng)第一特征序列的調(diào)整量;以及調(diào)整單元,用于根據(jù)調(diào)整量調(diào)整第一特征序列,得到第二特征序列。
[0151]
根據(jù)本公開(kāi)的實(shí)施例,輸入的特征序列包括與文本單元對(duì)應(yīng)的第一文本特征;第二特征序列包括與文本單元對(duì)應(yīng)的第二文本特征;更新子模塊包括:更新量確定單元,用于根據(jù)第二文本特征和第一文本特征,確定針對(duì)文本單元的更新量;以及更新單元,用于根據(jù)更新量,更新隱藏狀態(tài)特征。
[0152]
根據(jù)本公開(kāi)的實(shí)施例,更新量確定單元用于:采用赫布定律對(duì)第二文本特征和第一文本特征進(jìn)行處理,得到針對(duì)文本單元的更新量。
[0153]
根據(jù)本公開(kāi)的實(shí)施例,更新量確定單元用于采用以下公式得到更新量:
[0154][0155]
其中,δwi為針對(duì)待處理文本中第i個(gè)文本單元的更新量;y
′i為對(duì)應(yīng)第i個(gè)文本單元的第二文本特征;hi為對(duì)應(yīng)第i個(gè)文本單元的第一文本特征,wa、wb、wc、w
p
為編碼單元的網(wǎng)絡(luò)參數(shù)。
[0156]
根據(jù)本公開(kāi)的實(shí)施例,更新子模塊還包括:學(xué)習(xí)率確定單元,用于對(duì)第二文本特征進(jìn)行非線性處理,得到針對(duì)文本單元的學(xué)習(xí)率,其中,更新單元用于:根據(jù)學(xué)習(xí)率和更新量,更新隱藏狀態(tài)特征。
[0157]
根據(jù)本公開(kāi)的實(shí)施例,待處理文本中包括多個(gè)文本單元。更新單元包括:加權(quán)量確定子單元,用于根據(jù)針對(duì)文本單元的學(xué)習(xí)率和更新量,確定針對(duì)文本單元的加權(quán)更新量;以及更新子單元,用于根據(jù)針對(duì)多個(gè)文本單元的多個(gè)加權(quán)更新量,更新隱藏狀態(tài)特征。
[0158]
根據(jù)本公開(kāi)的實(shí)施例,更新子單元用于:根據(jù)多個(gè)加權(quán)更新量的和,調(diào)整隱藏狀態(tài)特征,得到調(diào)整后狀態(tài)特征;以及采用邊界函數(shù)更新調(diào)整后狀態(tài)特征,得到更新后的隱藏狀態(tài)特征。
[0159]
根據(jù)本公開(kāi)的實(shí)施例,更新子單元用于:響應(yīng)于調(diào)整后狀態(tài)特征中各元素位于預(yù)定邊界內(nèi),確定調(diào)整后狀態(tài)特征為更新后的隱藏狀態(tài)特征;以及響應(yīng)于調(diào)整后狀態(tài)特征中
包括超出預(yù)定邊界的目標(biāo)元素,根據(jù)預(yù)定遺忘率更新目標(biāo)元素,得到更新后的隱藏狀態(tài)特征。
[0160]
根據(jù)本公開(kāi)的實(shí)施例,注意力網(wǎng)絡(luò)由依次連接的多個(gè)編碼單元構(gòu)成;輸入多個(gè)編碼單元中排在首位的編碼單元的特征序列包括嵌入特征序列;文本特征獲得模塊還包括:非線性處理子模塊,用于對(duì)第二特征序列進(jìn)行非線性化處理,獲得輸出的特征序列,其中,文本特征序列包括:多個(gè)編碼單元中排在末位的編碼單元輸出的特征序列;輸入多個(gè)編碼單元中除排在首位的編碼單元外其他編碼單元的特征序列包括:與其他編碼單元連接的在前編碼單元輸出的特征序列。
[0161]
基于本公開(kāi)提供的文本生成模型的訓(xùn)練方法,本公開(kāi)還提供了一種文本生成模型的訓(xùn)練裝置。以下將結(jié)合圖8對(duì)該裝置進(jìn)行詳細(xì)描述。
[0162]
圖8是根據(jù)本公開(kāi)實(shí)施例的文本生成模型的訓(xùn)練裝置的結(jié)構(gòu)框圖。
[0163]
如圖8所示,該實(shí)施例的文本生成模型的訓(xùn)練裝置800包括預(yù)處理模塊810、文本特征獲得模塊820、特征解碼模塊830和模型訓(xùn)練模塊840。其中,文本特征獲得模塊820可以包括編碼子模塊821、調(diào)整子模塊822和更新子模塊823。文本生成模型包括預(yù)處理網(wǎng)絡(luò)、注意力網(wǎng)絡(luò)和解碼網(wǎng)絡(luò);注意力網(wǎng)絡(luò)由編碼單元構(gòu)成。
[0164]
預(yù)處理模塊810用于采用預(yù)處理網(wǎng)絡(luò)對(duì)文本序列中的每個(gè)目標(biāo)文本進(jìn)行預(yù)處理,得到嵌入特征序列,嵌入特征序列包括與每個(gè)目標(biāo)文本中文本單元對(duì)應(yīng)的嵌入特征。在一實(shí)施例中,預(yù)處理模塊810可以用于執(zhí)行上文描述的操作s610,在此不再贅述。
[0165]
文本特征獲得模塊820用于將嵌入特征序列輸入注意力網(wǎng)絡(luò),得到注意力網(wǎng)絡(luò)輸出的文本特征序列。在一實(shí)施例中,文本特征獲得模塊820可以用于執(zhí)行上文描述的操作s620,在此不再贅述。
[0166]
特征解碼模塊830用于采用解碼網(wǎng)絡(luò)對(duì)文本特征序列進(jìn)行解碼,生成每個(gè)目標(biāo)文本的預(yù)測(cè)在后文本。在一實(shí)施例中,特征解碼模塊830可以用于執(zhí)行上文描述的操作s630,在此不再贅述。
[0167]
模型訓(xùn)練模塊840用于根據(jù)預(yù)測(cè)在后文本和文本序列中每個(gè)目標(biāo)文本的在后文本,對(duì)文本生成模型進(jìn)行訓(xùn)練。在一實(shí)施例中,模型訓(xùn)練模塊840可以用于執(zhí)行上文描述的操作s640,在此不再贅述。
[0168]
編碼子模塊821用于針對(duì)編碼單元,采用注意力機(jī)制對(duì)輸入的特征序列進(jìn)行編碼,得到第一特征序列。在一實(shí)施例中,編碼子模塊821可以用于執(zhí)行上文描述的操作s621,在此不再贅述。
[0169]
調(diào)整子模塊822用于根據(jù)隱藏狀態(tài)特征調(diào)整第一特征序列,得到第二特征序列;隱藏狀態(tài)特征表征待處理文本的在前文本的語(yǔ)義。在一實(shí)施例中,調(diào)整子模塊822可以用于執(zhí)行上文描述的操作s622,在此不再贅述。
[0170]
更新子模塊823用于根據(jù)第二特征序列更新隱藏狀態(tài)特征。在一實(shí)施例中,更新子模塊823可以用于執(zhí)行上文描述的操作s623,在此不再贅述。
[0171]
根據(jù)本公開(kāi)的實(shí)施例,模型訓(xùn)練模塊包括:損失值確定子模塊,用于根據(jù)預(yù)測(cè)在后文本和文本序列中每個(gè)目標(biāo)文本的在后文本之間的差異,確定文本生成模型針對(duì)每個(gè)目標(biāo)文本的損失值;梯度確定子模塊,用于采用梯度回傳算法和梯度回傳的預(yù)定截?cái)辔恢茫_定損失值關(guān)于文本生成模型中網(wǎng)絡(luò)參數(shù)的梯度;以及訓(xùn)練子模塊,用于以最小化損失值為目
標(biāo),根據(jù)網(wǎng)絡(luò)參數(shù)的梯度對(duì)文本生成模型進(jìn)行訓(xùn)練。
[0172]
需要說(shuō)明的是,本公開(kāi)的技術(shù)方案中,所涉及的用戶個(gè)人信息的收集、存儲(chǔ)、使用、加工、傳輸、提供、公開(kāi)和應(yīng)用等處理,均符合相關(guān)法律法規(guī)的規(guī)定,采取了必要保密措施,且不違背公序良俗。在本公開(kāi)的技術(shù)方案中,在獲取或采集用戶個(gè)人信息之前,均獲取了用戶的授權(quán)或同意。
[0173]
根據(jù)本公開(kāi)的實(shí)施例,本公開(kāi)還提供了一種電子設(shè)備、一種可讀存儲(chǔ)介質(zhì)和一種計(jì)算機(jī)程序產(chǎn)品。
[0174]
圖9示出了可以用來(lái)實(shí)施本公開(kāi)實(shí)施例的文本生成方法和/或文本生成模型的訓(xùn)練方法的示例電子設(shè)備900的示意性框圖。電子設(shè)備旨在表示各種形式的數(shù)字計(jì)算機(jī),諸如,膝上型計(jì)算機(jī)、臺(tái)式計(jì)算機(jī)、工作臺(tái)、個(gè)人數(shù)字助理、服務(wù)器、刀片式服務(wù)器、大型計(jì)算機(jī)、和其它適合的計(jì)算機(jī)。電子設(shè)備還可以表示各種形式的移動(dòng)裝置,諸如,個(gè)人數(shù)字處理、蜂窩電話、智能電話、可穿戴設(shè)備和其它類似的計(jì)算裝置。本文所示的部件、它們的連接和關(guān)系、以及它們的功能僅僅作為示例,并且不意在限制本文中描述的和/或者要求的本公開(kāi)的實(shí)現(xiàn)。
[0175]
如圖9所示,設(shè)備900包括計(jì)算單元901,其可以根據(jù)存儲(chǔ)在只讀存儲(chǔ)器(rom)902中的計(jì)算機(jī)程序或者從存儲(chǔ)單元908加載到隨機(jī)訪問(wèn)存儲(chǔ)器(ram)903中的計(jì)算機(jī)程序,來(lái)執(zhí)行各種適當(dāng)?shù)膭?dòng)作和處理。在ram 903中,還可存儲(chǔ)設(shè)備900操作所需的各種程序和數(shù)據(jù)。計(jì)算單元901、rom 902以及ram 903通過(guò)總線904彼此相連。輸入/輸出(i/o)接口905也連接至總線904。
[0176]
設(shè)備900中的多個(gè)部件連接至i/o接口905,包括:輸入單元906,例如鍵盤、鼠標(biāo)等;輸出單元907,例如各種類型的顯示器、揚(yáng)聲器等;存儲(chǔ)單元908,例如磁盤、光盤等;以及通信單元909,例如網(wǎng)卡、調(diào)制解調(diào)器、無(wú)線通信收發(fā)機(jī)等。通信單元909允許設(shè)備900通過(guò)諸如因特網(wǎng)的計(jì)算機(jī)網(wǎng)絡(luò)和/或各種電信網(wǎng)絡(luò)與其他設(shè)備交換信息/數(shù)據(jù)。
[0177]
計(jì)算單元901可以是各種具有處理和計(jì)算能力的通用和/或?qū)S锰幚斫M件。計(jì)算單元901的一些示例包括但不限于中央處理單元(cpu)、圖形處理單元(gpu)、各種專用的人工智能(ai)計(jì)算芯片、各種運(yùn)行機(jī)器學(xué)習(xí)模型算法的計(jì)算單元、數(shù)字信號(hào)處理器(dsp)、以及任何適當(dāng)?shù)奶幚砥鳌⒖刂破鳌⑽⒖刂破鞯取S?jì)算單元901執(zhí)行上文所描述的各個(gè)方法和處理,例如文本生成方法和/或文本生成模型的訓(xùn)練方法。例如,在一些實(shí)施例中,文本生成方法和/或文本生成模型的訓(xùn)練方法可被實(shí)現(xiàn)為計(jì)算機(jī)軟件程序,其被有形地包含于機(jī)器可讀介質(zhì),例如存儲(chǔ)單元908。在一些實(shí)施例中,計(jì)算機(jī)程序的部分或者全部可以經(jīng)由rom902和/或通信單元909而被載入和/或安裝到設(shè)備900上。當(dāng)計(jì)算機(jī)程序加載到ram 903并由計(jì)算單元901執(zhí)行時(shí),可以執(zhí)行上文描述的文本生成方法和/或文本生成模型的訓(xùn)練方法的一個(gè)或多個(gè)步驟。備選地,在其他實(shí)施例中,計(jì)算單元901可以通過(guò)其他任何適當(dāng)?shù)姆绞?例如,借助于固件)而被配置為執(zhí)行文本生成方法和/或文本生成模型的訓(xùn)練方法。
[0178]
本文中以上描述的系統(tǒng)和技術(shù)的各種實(shí)施方式可以在數(shù)字電子電路系統(tǒng)、集成電路系統(tǒng)、場(chǎng)可編程門陣列(fpga)、專用集成電路(asic)、專用標(biāo)準(zhǔn)產(chǎn)品(assp)、芯片上系統(tǒng)的系統(tǒng)(soc)、復(fù)雜可編程邏輯設(shè)備(cpld)、計(jì)算機(jī)硬件、固件、軟件、和/或它們的組合中實(shí)現(xiàn)。這些各種實(shí)施方式可以包括:實(shí)施在一個(gè)或者多個(gè)計(jì)算機(jī)程序中,該一個(gè)或者多個(gè)計(jì)算機(jī)程序可在包括至少一個(gè)可編程處理器的可編程系統(tǒng)上執(zhí)行和/或解釋,該可編程處理器
可以是專用或者通用可編程處理器,可以從存儲(chǔ)系統(tǒng)、至少一個(gè)輸入裝置、和至少一個(gè)輸出裝置接收數(shù)據(jù)和指令,并且將數(shù)據(jù)和指令傳輸至該存儲(chǔ)系統(tǒng)、該至少一個(gè)輸入裝置、和該至少一個(gè)輸出裝置。
[0179]
用于實(shí)施本公開(kāi)的方法的程序代碼可以采用一個(gè)或多個(gè)編程語(yǔ)言的任何組合來(lái)編寫。這些程序代碼可以提供給通用計(jì)算機(jī)、專用計(jì)算機(jī)或其他可編程數(shù)據(jù)處理裝置的處理器或控制器,使得程序代碼當(dāng)由處理器或控制器執(zhí)行時(shí)使流程圖和/或框圖中所規(guī)定的功能/操作被實(shí)施。程序代碼可以完全在機(jī)器上執(zhí)行、部分地在機(jī)器上執(zhí)行,作為獨(dú)立軟件包部分地在機(jī)器上執(zhí)行且部分地在遠(yuǎn)程機(jī)器上執(zhí)行或完全在遠(yuǎn)程機(jī)器或服務(wù)器上執(zhí)行。
[0180]
在本公開(kāi)的上下文中,機(jī)器可讀介質(zhì)可以是有形的介質(zhì),其可以包含或存儲(chǔ)以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備使用或與指令執(zhí)行系統(tǒng)、裝置或設(shè)備結(jié)合地使用的程序。機(jī)器可讀介質(zhì)可以是機(jī)器可讀信號(hào)介質(zhì)或機(jī)器可讀儲(chǔ)存介質(zhì)。機(jī)器可讀介質(zhì)可以包括但不限于電子的、磁性的、光學(xué)的、電磁的、紅外的、或半導(dǎo)體系統(tǒng)、裝置或設(shè)備,或者上述內(nèi)容的任何合適組合。機(jī)器可讀存儲(chǔ)介質(zhì)的更具體示例會(huì)包括基于一個(gè)或多個(gè)線的電氣連接、便攜式計(jì)算機(jī)盤、硬盤、隨機(jī)存取存儲(chǔ)器(ram)、只讀存儲(chǔ)器(rom)、可擦除可編程只讀存儲(chǔ)器(eprom或快閃存儲(chǔ)器)、光纖、便捷式緊湊盤只讀存儲(chǔ)器(cd-rom)、光學(xué)儲(chǔ)存設(shè)備、磁儲(chǔ)存設(shè)備、或上述內(nèi)容的任何合適組合。
[0181]
為了提供與用戶的交互,可以在計(jì)算機(jī)上實(shí)施此處描述的系統(tǒng)和技術(shù),該計(jì)算機(jī)具有:用于向用戶顯示信息的顯示裝置(例如,crt(陰極射線管)或者lcd(液晶顯示器)監(jiān)視器);以及鍵盤和指向裝置(例如,鼠標(biāo)或者軌跡球),用戶可以通過(guò)該鍵盤和該指向裝置來(lái)將輸入提供給計(jì)算機(jī)。其它種類的裝置還可以用于提供與用戶的交互;例如,提供給用戶的反饋可以是任何形式的傳感反饋(例如,視覺(jué)反饋、聽(tīng)覺(jué)反饋、或者觸覺(jué)反饋);并且可以用任何形式(包括聲輸入、語(yǔ)音輸入或者、觸覺(jué)輸入)來(lái)接收來(lái)自用戶的輸入。
[0182]
可以將此處描述的系統(tǒng)和技術(shù)實(shí)施在包括后臺(tái)部件的計(jì)算系統(tǒng)(例如,作為數(shù)據(jù)服務(wù)器)、或者包括中間件部件的計(jì)算系統(tǒng)(例如,應(yīng)用服務(wù)器)、或者包括前端部件的計(jì)算系統(tǒng)(例如,具有圖形用戶界面或者網(wǎng)絡(luò)瀏覽器的用戶計(jì)算機(jī),用戶可以通過(guò)該圖形用戶界面或者該網(wǎng)絡(luò)瀏覽器來(lái)與此處描述的系統(tǒng)和技術(shù)的實(shí)施方式交互)、或者包括這種后臺(tái)部件、中間件部件、或者前端部件的任何組合的計(jì)算系統(tǒng)中。可以通過(guò)任何形式或者介質(zhì)的數(shù)字?jǐn)?shù)據(jù)通信(例如,通信網(wǎng)絡(luò))來(lái)將系統(tǒng)的部件相互連接。通信網(wǎng)絡(luò)的示例包括:局域網(wǎng)(lan)、廣域網(wǎng)(wan)和互聯(lián)網(wǎng)。
[0183]
計(jì)算機(jī)系統(tǒng)可以包括客戶端和服務(wù)器。客戶端和服務(wù)器一般遠(yuǎn)離彼此并且通常通過(guò)通信網(wǎng)絡(luò)進(jìn)行交互。通過(guò)在相應(yīng)的計(jì)算機(jī)上運(yùn)行并且彼此具有客戶端-服務(wù)器關(guān)系的計(jì)算機(jī)程序來(lái)產(chǎn)生客戶端和服務(wù)器的關(guān)系。其中,服務(wù)器可以是云服務(wù)器,又稱為云計(jì)算服務(wù)器或云主機(jī),是云計(jì)算服務(wù)體系中的一項(xiàng)主機(jī)產(chǎn)品,以解決了傳統(tǒng)物理主機(jī)與vps服務(wù)(

virtual private server

,或簡(jiǎn)稱

vps

)中,存在的管理難度大,業(yè)務(wù)擴(kuò)展性弱的缺陷。服務(wù)器也可以為分布式系統(tǒng)的服務(wù)器,或者是結(jié)合了區(qū)塊鏈的服務(wù)器。
[0184]
應(yīng)該理解,可以使用上面所示的各種形式的流程,重新排序、增加或刪除步驟。例如,本發(fā)公開(kāi)中記載的各步驟可以并行地執(zhí)行也可以順序地執(zhí)行也可以不同的次序執(zhí)行,只要能夠?qū)崿F(xiàn)本公開(kāi)公開(kāi)的技術(shù)方案所期望的結(jié)果,本文在此不進(jìn)行限制。
[0185]
上述具體實(shí)施方式,并不構(gòu)成對(duì)本公開(kāi)保護(hù)范圍的限制。本領(lǐng)域技術(shù)人員應(yīng)該明
白的是,根據(jù)設(shè)計(jì)要求和其他因素,可以進(jìn)行各種修改、組合、子組合和替代。任何在本公開(kāi)的精神和原則之內(nèi)所作的修改、等同替換和改進(jìn)等,均應(yīng)包含在本公開(kāi)保護(hù)范圍之內(nèi)。

技術(shù)特征:


1.一種文本生成方法,包括:對(duì)待處理文本進(jìn)行預(yù)處理,得到嵌入特征序列,嵌入特征序列包括與所述待處理文本中文本單元對(duì)應(yīng)的嵌入特征;將所述嵌入特征序列輸入由編碼單元構(gòu)成的注意力網(wǎng)絡(luò),得到所述注意力網(wǎng)絡(luò)輸出的文本特征序列;以及對(duì)所述文本特征序列進(jìn)行解碼,生成所述待處理文本的在后文本,其中,所述編碼單元被配置執(zhí)行以下操作:采用注意力機(jī)制對(duì)輸入的特征序列進(jìn)行編碼,得到第一特征序列;根據(jù)隱藏狀態(tài)特征調(diào)整所述第一特征序列,得到第二特征序列;所述隱藏狀態(tài)特征表征所述待處理文本的在前文本的語(yǔ)義;以及根據(jù)所述第二特征序列更新所述隱藏狀態(tài)特征。2.根據(jù)權(quán)利要求1所述的方法,其中,所述根據(jù)隱藏狀態(tài)特征,調(diào)整所述第一特征序列,得到第二特征序列包括:根據(jù)所述隱藏狀態(tài)特征和所述輸入的特征序列,確定對(duì)應(yīng)所述第一特征序列的調(diào)整量;以及根據(jù)所述調(diào)整量調(diào)整所述第一特征序列,得到所述第二特征序列。3.根據(jù)權(quán)利要求1所述的方法,其中,所述輸入的特征序列包括與所述文本單元對(duì)應(yīng)的第一文本特征;所述第二特征序列包括與所述文本單元對(duì)應(yīng)的第二文本特征;所述根據(jù)所述第二特征序列更新所述隱藏狀態(tài)特征包括:根據(jù)所述第二文本特征和所述第一文本特征,確定針對(duì)所述文本單元的更新量;以及根據(jù)所述更新量,更新所述隱藏狀態(tài)特征。4.根據(jù)權(quán)利要求3所述的方法,其中,所述根據(jù)所述第二文本特征和所述第一文本特征,確定針對(duì)所述文本單元的更新量包括:采用赫布定律對(duì)所述第二文本特征和所述第一文本特征進(jìn)行處理,得到針對(duì)所述文本單元的所述更新量。5.根據(jù)權(quán)利要求4所述的方法,其中,所述采用赫布定律對(duì)所述第二文本特征和所述第一文本特征進(jìn)行處理,得到針對(duì)所述文本單元的所述更新量包括:采用以下公式得到所述更新量:其中,δw
i
為針對(duì)待處理文本中第i個(gè)文本單元的所述更新量;t

i
為對(duì)應(yīng)所述第i個(gè)文本單元的第二文本特征;h
i
為對(duì)應(yīng)所述第i個(gè)文本單元的第一文本特征,w
a
、w
b
、w
c
、w
d
為所述編碼單元的網(wǎng)絡(luò)參數(shù)。6.根據(jù)權(quán)利要求3所述的方法,其中,所述根據(jù)所述第二特征序列更新所述隱藏狀態(tài)特征還包括:對(duì)所述第二文本特征進(jìn)行非線性處理,得到針對(duì)所述文本單元的學(xué)習(xí)率;以及根據(jù)所述學(xué)習(xí)率和所述更新量,更新所述隱藏狀態(tài)特征。7.根據(jù)權(quán)利要求6所述的方法,其中,所述待處理文本中包括多個(gè)文本單元;所述根據(jù)所述學(xué)習(xí)率和所述更新量,更新所述隱藏狀態(tài)特征包括:
根據(jù)針對(duì)所述文本單元的所述學(xué)習(xí)率和所述更新量,確定針對(duì)所述文本單元的加權(quán)更新量;以及根據(jù)針對(duì)多個(gè)所述文本單元的多個(gè)加權(quán)更新量,更新所述隱藏狀態(tài)特征。8.根據(jù)權(quán)利要求7所述的方法,其中,所述根據(jù)針對(duì)多個(gè)所述文本單元的多個(gè)加權(quán)更新量,更新所述隱藏狀態(tài)特征包括:根據(jù)多個(gè)所述加權(quán)更新量的和,調(diào)整所述隱藏狀態(tài)特征,得到調(diào)整后狀態(tài)特征;以及采用邊界函數(shù)更新所述調(diào)整后狀態(tài)特征,得到更新后的隱藏狀態(tài)特征。9.根據(jù)權(quán)利要求8所述的方法,其中,所述采用邊界函數(shù)更新所述調(diào)整后狀態(tài)特征,得到更新后的隱藏狀態(tài)特征包括:響應(yīng)于所述調(diào)整后狀態(tài)特征中各元素位于預(yù)定邊界內(nèi),確定所述調(diào)整后狀態(tài)特征為所述更新后的隱藏狀態(tài)特征;以及響應(yīng)于所述調(diào)整后狀態(tài)特征中包括超出所述預(yù)定邊界的目標(biāo)元素,根據(jù)預(yù)定遺忘率更新所述目標(biāo)元素,得到更新后的隱藏狀態(tài)特征。10.根據(jù)權(quán)利要求1所述的方法,其中,所述注意力網(wǎng)絡(luò)由依次連接的多個(gè)編碼單元構(gòu)成;輸入所述多個(gè)編碼單元中排在首位的編碼單元的特征序列包括所述嵌入特征序列;所述編碼單元還被配置為:對(duì)所述第二特征序列進(jìn)行非線性化處理,獲得輸出的特征序列,其中,所述文本特征序列包括:所述多個(gè)編碼單元中排在末位的編碼單元輸出的特征序列;輸入所述多個(gè)編碼單元中除排在首位的編碼單元外其他編碼單元的特征序列包括:與所述其他編碼單元連接的在前編碼單元輸出的特征序列。11.一種文本生成模型的訓(xùn)練方法,其中,所述文本生成模型包括預(yù)處理網(wǎng)絡(luò)、注意力網(wǎng)絡(luò)和解碼網(wǎng)絡(luò);所述注意力網(wǎng)絡(luò)由編碼單元構(gòu)成;所述方法包括:采用所述預(yù)處理網(wǎng)絡(luò)對(duì)文本序列中的每個(gè)目標(biāo)文本進(jìn)行預(yù)處理,得到嵌入特征序列,嵌入特征序列包括與每個(gè)所述目標(biāo)文本中文本單元對(duì)應(yīng)的嵌入特征;將所述嵌入特征序列輸入所述注意力網(wǎng)絡(luò),得到所述注意力網(wǎng)絡(luò)輸出的文本特征序列;采用所述解碼網(wǎng)絡(luò)對(duì)所述文本特征序列進(jìn)行解碼,生成每個(gè)所述目標(biāo)文本的預(yù)測(cè)在后文本;以及根據(jù)所述預(yù)測(cè)在后文本和所述文本序列中每個(gè)所述目標(biāo)文本的相鄰在后文本,對(duì)所述文本生成模型進(jìn)行訓(xùn)練;其中,所述編碼單元被配置為對(duì)執(zhí)行以下操作:采用注意力機(jī)制對(duì)輸入的特征序列進(jìn)行編碼,得到第一特征序列;根據(jù)隱藏狀態(tài)特征調(diào)整所述第一特征序列,得到第二特征序列;所述隱藏狀態(tài)特征表征每個(gè)所述目標(biāo)文本的在前文本的語(yǔ)義;以及根據(jù)所述第二特征序列更新所述隱藏狀態(tài)特征。12.根據(jù)權(quán)利要求11所述的方法,其中,所述根據(jù)所述預(yù)測(cè)在后文本和所述文本序列中每個(gè)所述目標(biāo)文本的在后文本,對(duì)所述文本生成模型進(jìn)行訓(xùn)練包括:根據(jù)所述預(yù)測(cè)在后文本和所述文本序列中每個(gè)所述目標(biāo)文本的在后文本之間的差異,確定所述文本生成模型針對(duì)所述每個(gè)目標(biāo)文本的損失值;
采用梯度回傳算法和梯度回傳的預(yù)定截?cái)辔恢茫_定所述損失值關(guān)于所述文本生成模型中網(wǎng)絡(luò)參數(shù)的梯度;以及以最小化所述損失值為目標(biāo),根據(jù)所述網(wǎng)絡(luò)參數(shù)的梯度對(duì)所述文本生成模型進(jìn)行訓(xùn)練。13.一種文本生成裝置,包括:預(yù)處理模塊,用于對(duì)待處理文本進(jìn)行預(yù)處理,得到嵌入特征序列,嵌入特征序列包括與所述待處理文本中文本單元對(duì)應(yīng)的嵌入特征;文本特征獲得模塊,用于將所述嵌入特征序列輸入由編碼單元構(gòu)成的注意力網(wǎng)絡(luò),得到所述注意力網(wǎng)絡(luò)輸出的文本特征序列;特征解碼模塊,用于對(duì)所述文本特征序列進(jìn)行解碼,生成所述待處理文本的在后文本,其中,所述特征序列獲得模塊包括:編碼子模塊,用于針對(duì)編碼單元,采用注意力機(jī)制對(duì)輸入的特征序列進(jìn)行編碼,得到第一特征序列;調(diào)整子模塊,用于根據(jù)隱藏狀態(tài)特征調(diào)整所述第一特征序列,得到第二特征序列;所述隱藏狀態(tài)特征表征所述待處理文本的在前文本的語(yǔ)義;以及更新子模塊,用于根據(jù)所述第二特征序列更新所述隱藏狀態(tài)特征。14.根據(jù)權(quán)利要求13所述的裝置,其中,所述調(diào)整子模塊包括:調(diào)整量確定單元,用于根據(jù)所述隱藏狀態(tài)特征和所述輸入的特征序列,確定對(duì)應(yīng)所述第一特征序列的調(diào)整量;以及調(diào)整單元,用于根據(jù)所述調(diào)整量調(diào)整所述第一特征序列,得到所述第二特征序列。15.根據(jù)權(quán)利要求13所述的裝置,其中,所述輸入的特征序列包括與所述文本單元對(duì)應(yīng)的第一文本特征;所述第二特征序列包括與所述文本單元對(duì)應(yīng)的第二文本特征;所述更新子模塊包括:更新量確定單元,用于根據(jù)所述第二文本特征和所述第一文本特征,確定針對(duì)所述文本單元的更新量;以及更新單元,用于根據(jù)所述更新量,更新所述隱藏狀態(tài)特征。16.根據(jù)權(quán)利要求15所述的裝置,其中,所述更新量確定單元用于:采用赫布定律對(duì)所述第二文本特征和所述第一文本特征進(jìn)行處理,得到針對(duì)所述文本單元的所述更新量。17.根據(jù)權(quán)利要求16所述的裝置,其中,所述更新量確定單元用于采用以下公式得到所述更新量:其中,δw
i
為針對(duì)待處理文本中第i個(gè)文本單元的所述更新量;y

i
為對(duì)應(yīng)所述第i個(gè)文本單元的第二文本特征;h
i
為對(duì)應(yīng)所述第i個(gè)文本單元的第一文本特征,w
a
、w
b
、w
c
、w
d
為所述編碼單元的網(wǎng)絡(luò)參數(shù)。18.根據(jù)權(quán)利要求15所述的裝置,其中,所述更新子模塊還包括:學(xué)習(xí)率確定單元,用于對(duì)所述第二文本特征進(jìn)行非線性處理,得到針對(duì)所述文本單元的學(xué)習(xí)率,其中,所述更新單元用于:根據(jù)所述學(xué)習(xí)率和所述更新量,更新所述隱藏狀態(tài)特征。
19.根據(jù)權(quán)利要求18所述的裝置,其中,所述待處理文本中包括多個(gè)文本單元;所述更新單元包括:加權(quán)量確定子單元,用于根據(jù)針對(duì)所述文本單元的所述學(xué)習(xí)率和所述更新量,確定針對(duì)所述文本單元的加權(quán)更新量;以及更新子單元,用于根據(jù)針對(duì)多個(gè)所述文本單元的多個(gè)加權(quán)更新量,更新所述隱藏狀態(tài)特征。20.根據(jù)權(quán)利要求19所述的裝置,其中,所述更新子單元用于:根據(jù)多個(gè)所述加權(quán)更新量的和,調(diào)整所述隱藏狀態(tài)特征,得到調(diào)整后狀態(tài)特征;以及采用邊界函數(shù)更新所述調(diào)整后狀態(tài)特征,得到更新后的隱藏狀態(tài)特征。21.根據(jù)權(quán)利要求20所述的裝置,其中,所述更新子單元用于:響應(yīng)于所述調(diào)整后狀態(tài)特征中各元素位于預(yù)定邊界內(nèi),確定所述調(diào)整后狀態(tài)特征為所述更新后的隱藏狀態(tài)特征;以及響應(yīng)于所述調(diào)整后狀態(tài)特征中包括超出所述預(yù)定邊界的目標(biāo)元素,根據(jù)預(yù)定遺忘率更新所述目標(biāo)元素,得到更新后的隱藏狀態(tài)特征。22.根據(jù)權(quán)利要求13所述的裝置,其中,所述注意力網(wǎng)絡(luò)由依次連接的多個(gè)編碼單元構(gòu)成;輸入所述多個(gè)編碼單元中排在首位的編碼單元的特征序列包括所述嵌入特征序列;所述文本特征獲得模塊還包括:非線性處理子模塊,用于對(duì)所述第二特征序列進(jìn)行非線性化處理,獲得輸出的特征序列,其中,所述文本特征序列包括:所述多個(gè)編碼單元中排在末位的編碼單元輸出的特征序列;輸入所述多個(gè)編碼單元中除排在首位的編碼單元外其他編碼單元的特征序列包括:與所述其他編碼單元連接的在前編碼單元輸出的特征序列。23.一種文本生成模型的訓(xùn)練裝置,其中,所述文本生成模型包括預(yù)處理網(wǎng)絡(luò)、注意力網(wǎng)絡(luò)和解碼網(wǎng)絡(luò);所述注意力網(wǎng)絡(luò)由編碼單元構(gòu)成;所述裝置包括:預(yù)處理模塊,用于采用所述預(yù)處理網(wǎng)絡(luò)對(duì)文本序列中的每個(gè)目標(biāo)文本進(jìn)行預(yù)處理,得到嵌入特征序列,嵌入特征序列包括與每個(gè)所述目標(biāo)文本中文本單元對(duì)應(yīng)的嵌入特征;文本特征獲得模塊,用于將所述嵌入特征序列輸入所述注意力網(wǎng)絡(luò),得到所述注意力網(wǎng)絡(luò)輸出的文本特征序列;特征解碼模塊,用于采用所述解碼網(wǎng)絡(luò)對(duì)所述文本特征序列進(jìn)行解碼,生成每個(gè)所述目標(biāo)文本的預(yù)測(cè)在后文本;以及模型訓(xùn)練模塊,用于根據(jù)所述預(yù)測(cè)在后文本和所述文本序列中每個(gè)所述目標(biāo)文本的在后文本,對(duì)所述文本生成模型進(jìn)行訓(xùn)練;其中,所述文本特征獲得模塊包括:編碼子模塊,用于針對(duì)編碼單元,采用注意力機(jī)制對(duì)所述輸入的特征序列進(jìn)行編碼,得到第一特征序列;調(diào)整子模塊,用于根據(jù)隱藏狀態(tài)特征調(diào)整所述第一特征序列,得到第二特征序列;所述隱藏狀態(tài)特征表征每個(gè)所述目標(biāo)文本的在前文本的語(yǔ)義;以及更新子模塊,用于根據(jù)所述第二特征序列更新所述隱藏狀態(tài)特征。24.根據(jù)權(quán)利要求23所述的裝置,其中,所述模型訓(xùn)練模塊包括:
損失值確定子模塊,用于根據(jù)所述預(yù)測(cè)在后文本和所述文本序列中每個(gè)所述目標(biāo)文本的在后文本之間的差異,確定所述文本生成模型針對(duì)所述每個(gè)目標(biāo)文本的損失值;梯度確定子模塊,用于采用梯度回傳算法和梯度回傳的預(yù)定截?cái)辔恢茫_定所述損失值關(guān)于所述文本生成模型中網(wǎng)絡(luò)參數(shù)的梯度;以及訓(xùn)練子模塊,用于以最小化所述損失值為目標(biāo),根據(jù)所述網(wǎng)絡(luò)參數(shù)的梯度對(duì)所述文本生成模型進(jìn)行訓(xùn)練。25.一種電子設(shè)備,包括:至少一個(gè)處理器;以及與所述至少一個(gè)處理器通信連接的存儲(chǔ)器;其中,所述存儲(chǔ)器存儲(chǔ)有可被所述至少一個(gè)處理器執(zhí)行的指令,所述指令被所述至少一個(gè)處理器執(zhí)行,以使所述至少一個(gè)處理器能夠執(zhí)行權(quán)利要求1~12中任一項(xiàng)所述的方法。26.一種存儲(chǔ)有計(jì)算機(jī)指令的非瞬時(shí)計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中,所述計(jì)算機(jī)指令用于使所述計(jì)算機(jī)執(zhí)行根據(jù)權(quán)利要求1~12中任一項(xiàng)所述的方法。27.一種計(jì)算機(jī)程序產(chǎn)品,包括計(jì)算機(jī)程序/指令,所述計(jì)算機(jī)程序/指令存儲(chǔ)于可讀存儲(chǔ)介質(zhì)和電子設(shè)備其中至少之一上,所述計(jì)算機(jī)程序/指令在被處理器執(zhí)行時(shí)實(shí)現(xiàn)根據(jù)權(quán)利要求1~12中任一項(xiàng)所述方法的步驟。

技術(shù)總結(jié)


本公開(kāi)提供了一種文本生成方法和文本生成裝置的訓(xùn)練方法、裝置,涉及人工智能領(lǐng)域,具體涉及深度學(xué)習(xí)、自然語(yǔ)言處理和智能語(yǔ)音等技術(shù)領(lǐng)域。文本生成方法的具體實(shí)現(xiàn)方案為:預(yù)處理待處理文本,得到嵌入特征序列,嵌入特征序列包括與文本單元對(duì)應(yīng)的嵌入特征;將嵌入特征序列輸入由解碼單元構(gòu)成的注意力網(wǎng)絡(luò),得到注意力網(wǎng)絡(luò)輸出的文本特征序列;以及對(duì)文本特征序列進(jìn)行解碼,生成待處理文本的在后文本,解碼單元被配置為執(zhí)行以下操作:采用注意力機(jī)制對(duì)輸入的特征序列進(jìn)行編碼,得到第一特征序列;根據(jù)隱藏狀態(tài)特征調(diào)整第一特征序列,得到第二特征序列;隱藏狀態(tài)特征表征待處理文本的在前文本的語(yǔ)義;以及根據(jù)第二特征序列更新隱藏狀態(tài)特征。藏狀態(tài)特征。藏狀態(tài)特征。


技術(shù)研發(fā)人員:

王凡 鮑思琪 何煌 吳華 林英展 黃世維 何徑舟

受保護(hù)的技術(shù)使用者:

北京百度網(wǎng)訊科技有限公司

技術(shù)研發(fā)日:

2022.10.24

技術(shù)公布日:

2023/1/19


文章投稿或轉(zhuǎn)載聲明

本文鏈接:http://m.newhan.cn/zhuanli/patent-1-84179-0.html

來(lái)源:專利查詢檢索下載-實(shí)用文體寫作網(wǎng)版權(quán)所有,轉(zhuǎn)載請(qǐng)保留出處。本站文章發(fā)布于 2023-01-28 08:51:42

發(fā)表評(píng)論

驗(yàn)證碼:
用戶名: 密碼: 匿名發(fā)表
評(píng)論列表 (有 條評(píng)論
2人圍觀
參與討論