技術(shù)領(lǐng)域
[0001] 本
申請(qǐng)涉及機(jī)器翻譯領(lǐng)域,尤其涉及一種機(jī)器翻譯方法、裝置、電子設(shè)備、可讀存儲(chǔ)介質(zhì)及深度級(jí)聯(lián)神經(jīng)網(wǎng)絡(luò)翻譯模型。
背景技術(shù)
[0002] 隨著全球合作化交流的深化,語言翻譯需求日益增加,人工翻譯效率較低,且資源較少
費(fèi)用昂貴,并且隨著互聯(lián)網(wǎng)的出現(xiàn)和普及,數(shù)據(jù)量激增,企業(yè)紛紛成立機(jī)器翻譯研究組,研發(fā)了基于互聯(lián)網(wǎng)
大數(shù)據(jù)的機(jī)器翻譯系統(tǒng),從而使機(jī)器翻譯真正走向?qū)嵱茫瑵M足了人們?nèi)粘5姆g需求。
[0003] 近年來,隨著
深度學(xué)習(xí)的研究取得較大進(jìn)展,基于
人工神經(jīng)網(wǎng)絡(luò)的機(jī)器翻譯逐漸興起。神經(jīng)網(wǎng)絡(luò)是一種強(qiáng)大的相關(guān)關(guān)系表征模型,在數(shù)據(jù)量足夠和神經(jīng)元數(shù)目夠多的前提下,可以表征輸入和輸出之間的非常復(fù)雜的關(guān)系。常見的神經(jīng)網(wǎng)絡(luò)翻譯模型,通常會(huì)使用編碼-解碼
框架,也就是根據(jù)由多層神經(jīng)網(wǎng)絡(luò)構(gòu)成的
編碼器、以及由多層神經(jīng)網(wǎng)絡(luò)構(gòu)成的
解碼器而組成的框架。在機(jī)器翻譯中,一般使用RNN神經(jīng)網(wǎng)絡(luò)及其變種。
[0004] 目前的編碼-解碼框架中,編碼和解碼之間的唯一聯(lián)系就是一個(gè)固定長(zhǎng)度的語義向量,需要將整個(gè)序列的信息壓縮進(jìn)一個(gè)固定長(zhǎng)度的向量中去,其中語義向量無法完全表達(dá)整個(gè)序列的信息,并且先輸入的內(nèi)容攜帶的信息會(huì)被后輸入的內(nèi)容攜帶的信息稀釋或者
覆蓋掉,除此之外從
源語言到
目標(biāo)語言的轉(zhuǎn)換路徑十分長(zhǎng),一部分有一一對(duì)應(yīng)的字詞,也需要經(jīng)過復(fù)雜的計(jì)算才能得到,存在增加翻譯復(fù)雜度和計(jì)算量,繼而導(dǎo)致較差的翻譯效果和較慢的翻譯速度的問題。
發(fā)明內(nèi)容
[0005] 鑒于上述問題,本申請(qǐng)?zhí)峁┝艘环N機(jī)器翻譯方法、裝置、電子設(shè)備、可讀存儲(chǔ)介質(zhì)及深度級(jí)聯(lián)神經(jīng)網(wǎng)絡(luò)翻譯模型,旨在解決
現(xiàn)有技術(shù)中,編碼-解碼翻譯框架中,存在的語言轉(zhuǎn)換路徑長(zhǎng)、翻譯信息容易丟失的問題。
[0006] 本申請(qǐng)
實(shí)施例公開了一種機(jī)器翻譯方法,應(yīng)用于深度級(jí)聯(lián)神經(jīng)網(wǎng)絡(luò)翻譯模型,所述深度級(jí)聯(lián)神經(jīng)網(wǎng)絡(luò)翻譯模型包括:詞向量生成單元、編碼單元、解碼單元、N個(gè)語義空間以及目標(biāo)詞生成單元,所述編碼單元和所述解碼單元分別包括N個(gè)級(jí)聯(lián)的神經(jīng)網(wǎng)絡(luò)層,且與所述N個(gè)語義空間一一對(duì)應(yīng)連接;所述方法包括:
[0007] 將待翻譯的源語句輸入所述詞向量生成單元,得到初始源詞向量;
[0008] 將初始源詞向量輸入所述編碼單元中的第一神經(jīng)網(wǎng)絡(luò)層,得到第一源詞向量和第一語義向量;
[0009] 依次取n從2至N-1,針對(duì)所述編碼單元中的第n神經(jīng)網(wǎng)絡(luò)層,執(zhí)行步驟:將第n-1源詞向量輸入所述編碼單元中的第n神經(jīng)網(wǎng)絡(luò)層,得到第n源詞向量和第n語義向量;
[0010] 針對(duì)所述編碼單元中的第N神經(jīng)網(wǎng)絡(luò)層,將第N-1源詞向量輸入所述編碼單元中的第N神經(jīng)網(wǎng)絡(luò)層,得到第N語義向量;
[0011] 根據(jù)所述N個(gè)語義空間中的第一語義空間,確定所述第一語義向量對(duì)應(yīng)的語義向量;
[0012] 將所述第一語義向量對(duì)應(yīng)的語義向量輸入所述解碼單元中的第一神經(jīng)網(wǎng)絡(luò)層,得到第一目標(biāo)詞向量;
[0013] 依次取n從2至N,針對(duì)所述解碼單元中的第n神經(jīng)網(wǎng)絡(luò)層,執(zhí)行步驟:根據(jù)所述語義空間中的第n語義空間,確定所述第n語義向量對(duì)應(yīng)的語義向量;將所述第n語義向量對(duì)應(yīng)的語義向量和所述第n-1目標(biāo)詞向量輸入所述解碼單元中的第n神經(jīng)網(wǎng)絡(luò)層,得到第n目標(biāo)詞向量;
[0014] 將第N目標(biāo)詞向量輸入所述目標(biāo)詞生成單元,得到目標(biāo)語句。
[0015] 可選地,針對(duì)所述編碼單元中的每一個(gè)神經(jīng)網(wǎng)絡(luò)層,得到該神經(jīng)網(wǎng)絡(luò)層對(duì)應(yīng)的語義向量,包括:
[0016] 利用該神經(jīng)網(wǎng)絡(luò)層的
隱藏層,對(duì)輸入的源詞向量進(jìn)行運(yùn)算,得到該神經(jīng)網(wǎng)絡(luò)層對(duì)應(yīng)的語義向量。
[0017] 可選地,針對(duì)所述編碼單元中的每一個(gè)神經(jīng)網(wǎng)絡(luò)層,該神經(jīng)網(wǎng)絡(luò)層對(duì)應(yīng)的語義向量和源詞向量,包括:
[0018] 針對(duì)所述編碼單元中的每一個(gè)神經(jīng)網(wǎng)絡(luò)層,對(duì)上一源詞向量進(jìn)行兩種不同的運(yùn)算,得到該神經(jīng)網(wǎng)絡(luò)層對(duì)應(yīng)的語義向量和源詞向量,且該神經(jīng)網(wǎng)絡(luò)層對(duì)應(yīng)的語義向量和源詞向量不同,其中,所述上一源詞向量為該神經(jīng)網(wǎng)絡(luò)層的上一神經(jīng)網(wǎng)絡(luò)層對(duì)應(yīng)的源詞向量。
[0019] 可選地,針對(duì)所述編碼單元中的每一個(gè)神經(jīng)網(wǎng)絡(luò)層,該神經(jīng)網(wǎng)絡(luò)層對(duì)應(yīng)的語義向量和源詞向量,包括:
[0020] 針對(duì)所述編碼單元中的每一個(gè)神經(jīng)網(wǎng)絡(luò)層,對(duì)上一源詞向量進(jìn)行相同的運(yùn)算,得到該神經(jīng)網(wǎng)絡(luò)層對(duì)應(yīng)的語義向量和源詞向量,且該神經(jīng)網(wǎng)絡(luò)層對(duì)應(yīng)的語義向量和源詞向量相同,其中,所述上一源詞向量為該神經(jīng)網(wǎng)絡(luò)層的上一神經(jīng)網(wǎng)絡(luò)層對(duì)應(yīng)的源詞向量。
[0021] 可選地,針對(duì)所述編碼單元中的第n個(gè)神經(jīng)網(wǎng)絡(luò)層,得到該神經(jīng)網(wǎng)絡(luò)層對(duì)應(yīng)的語義向量,包括:
[0022] 獲得所述解碼單元中的第n神經(jīng)網(wǎng)絡(luò)層對(duì)應(yīng)的第n目標(biāo)詞向量的特征信息;
[0023] 對(duì)所述編碼單元中的第n-1個(gè)神經(jīng)網(wǎng)絡(luò)層對(duì)應(yīng)的第n-1源詞向量中各向量賦予不同的權(quán)重系數(shù);
[0024] 將攜帶不同權(quán)重系數(shù)的第n-1源詞向量輸入所述編碼單元中的第n神經(jīng)網(wǎng)絡(luò)層,得到攜帶權(quán)重系數(shù)的第n語義向量。
[0025] 另一方面,本申請(qǐng)實(shí)施例還提供了一種機(jī)器翻譯裝置,應(yīng)用于深度級(jí)聯(lián)神經(jīng)網(wǎng)絡(luò)翻譯模型,所述深度級(jí)聯(lián)神經(jīng)網(wǎng)絡(luò)翻譯模型包括:詞向量生成單元、編碼單元、解碼單元、N個(gè)語義空間以及目標(biāo)詞生成單元,所述編碼單元和所述解碼單元分別包括N個(gè)級(jí)聯(lián)的神經(jīng)網(wǎng)絡(luò)層,且與所述N個(gè)語義空間一一對(duì)應(yīng)連接;
[0026] 所述詞向量生成單元用于根據(jù)輸入的待翻譯的源語句,得到初始源詞向量;
[0027] 所述編碼單元中的第一神經(jīng)網(wǎng)絡(luò)層用于根據(jù)輸入的初始源詞向量,得到第一源詞向量和第一語義向量;
[0028] 所述編碼單元中的第n神經(jīng)網(wǎng)絡(luò)層用于:將第n-1源詞向量輸入所述編碼單元中的第n神經(jīng)網(wǎng)絡(luò)層,得到第n源詞向量和第n語義向量,其中,n為2至N-1之間的整數(shù);
[0029] 所述編碼單元中的第N神經(jīng)網(wǎng)絡(luò)層用于:將第N-1源詞向量輸入所述編碼單元中的第N神經(jīng)網(wǎng)絡(luò)層,得到第N語義向量;
[0030] 所述N個(gè)語義空間中的第一語義空間用于:確定所述第一語義向量對(duì)應(yīng)的語義向量;
[0031] 所述解碼單元中的第一神經(jīng)網(wǎng)絡(luò)層用于:根據(jù)輸入的所述第一語義向量對(duì)應(yīng)的語義向量,得到第一目標(biāo)詞向量;
[0032] 所述語義空間中的第n語義空間用于:確定所述第n語義向量對(duì)應(yīng)的語義向量,其中,n為2至N之間的整數(shù);
[0033] 所述解碼單元中的第n神經(jīng)網(wǎng)絡(luò)層用于:根據(jù)輸入的所述第n語義向量對(duì)應(yīng)的語義向量和所述第n-1目標(biāo)詞向量,得到第n目標(biāo)詞向量,其中,n為2至N之間的整數(shù):
[0034] 所述目標(biāo)詞生成單元用于:根據(jù)輸入的第N目標(biāo)詞向量,得到目標(biāo)語句。
[0035] 可選地,所述N個(gè)語義空間相互獨(dú)立,且將每個(gè)語義空間的長(zhǎng)度不相同或相同。
[0036] 本申請(qǐng)實(shí)施例第三方面提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有
計(jì)算機(jī)程序,該程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如本申請(qǐng)第一方面所述的方法中的步驟。
[0037] 本申請(qǐng)實(shí)施例第四方面提供一種電子設(shè)備,包括
存儲(chǔ)器、處理器及存儲(chǔ)在存儲(chǔ)器上并可再處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行時(shí)實(shí)現(xiàn)本申請(qǐng)第一方面所述的方法的步驟。
[0038] 本申請(qǐng)實(shí)施例第五方面提供一種深度級(jí)聯(lián)神經(jīng)網(wǎng)絡(luò)翻譯模型,所述深度級(jí)聯(lián)神經(jīng)網(wǎng)絡(luò)翻譯模型包括:詞向量生成單元、編碼單元、解碼單元、N個(gè)語義空間以及目標(biāo)詞生成單元,所述編碼單元和所述解碼單元分別包括N個(gè)級(jí)聯(lián)的神經(jīng)網(wǎng)絡(luò)層,且與所述N個(gè)語義空間一一對(duì)應(yīng)連接;所述深度級(jí)聯(lián)神經(jīng)網(wǎng)絡(luò)翻譯模型用于執(zhí)行如本申請(qǐng)第一方面所述的方法的步驟。
[0039] 采用本申請(qǐng)實(shí)施例提供的機(jī)器翻譯的方法,由于設(shè)置了級(jí)聯(lián)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),即設(shè)置了N個(gè)語義空間,并且語義空間與編碼單元當(dāng)前神經(jīng)網(wǎng)絡(luò)層和解碼單元當(dāng)前神經(jīng)網(wǎng)絡(luò)層一一對(duì)應(yīng),所以編碼單元的每一層神經(jīng)網(wǎng)絡(luò)都能生成對(duì)應(yīng)的語義向量,并通過對(duì)應(yīng)的語義空間,將語義向量輸入到解碼單元對(duì)應(yīng)的神經(jīng)網(wǎng)絡(luò)層,增加了源語言到目標(biāo)語言的轉(zhuǎn)換路徑,縮短了從源語言到目標(biāo)語言的映射路徑,提高了翻譯效率。因?yàn)樵诰幋a單元的每一個(gè)神經(jīng)網(wǎng)絡(luò)層,都能生成語義向量,每一語義向量都能保存、傳遞源詞向量序列攜帶的信息,也可理解為源詞向量序列攜帶的信息在每個(gè)語義空間都會(huì)被保存,因此采用本申請(qǐng)級(jí)聯(lián)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中設(shè)置的N個(gè)語義空間,能更完整地保存和傳遞源詞向量序列攜帶的信息。
附圖說明
[0040] 為了更清楚地說明本申請(qǐng)實(shí)施例的技術(shù)方案,下面將對(duì)本申請(qǐng)實(shí)施例的描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請(qǐng)的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0041] 圖1是本申請(qǐng)一實(shí)施例提出的深度級(jí)聯(lián)神經(jīng)網(wǎng)絡(luò)翻譯模型的示意圖。
[0042] 圖2是本申請(qǐng)一實(shí)施例提出機(jī)器翻譯的方法的
流程圖。
[0043] 圖3是本申請(qǐng)一實(shí)施例提出機(jī)器翻譯的方法的示意圖。
[0044] 圖4是編碼單元的當(dāng)前神經(jīng)網(wǎng)絡(luò)層利用其隱藏層,對(duì)輸入的源詞向量進(jìn)行運(yùn)算的示意圖。
具體實(shí)施方式
[0045] 為使本申請(qǐng)實(shí)施例的上述目的、特征和優(yōu)點(diǎn)更加明顯易懂,下面結(jié)合附圖和具體實(shí)施方式對(duì)本申請(qǐng)實(shí)施例作進(jìn)一步詳細(xì)的說明。顯然,所描述的實(shí)施例是本申請(qǐng)一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾?qǐng)中的各個(gè)實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本申請(qǐng)保護(hù)的范圍。
[0046] 參考圖1,圖1是本申請(qǐng)一實(shí)施例提出的深度級(jí)聯(lián)神經(jīng)網(wǎng)絡(luò)翻譯模型的示意圖。如圖1所示,該模型包括:
[0047] 詞向量生成單元101、編碼單元102、解碼單元104、N個(gè)語義空間組成的語義空間部分103以及目標(biāo)詞生成單元105,所述編碼單元102和所述解碼單元104分別包括N個(gè)級(jí)聯(lián)的神經(jīng)網(wǎng)絡(luò)層,且與所述N個(gè)語義空間103一一對(duì)應(yīng)連接;
[0048] 本申請(qǐng)各實(shí)施例中可以基于Encoder-Decoder框架構(gòu)建上述深度級(jí)聯(lián)神經(jīng)網(wǎng)絡(luò)翻譯模型。Encoder-Decoder框架即編碼-解碼框架,本實(shí)施例的深度級(jí)聯(lián)神經(jīng)網(wǎng)絡(luò)翻譯模型分為編碼部分、解碼部分、和分別與編碼部分和解碼部分相連的語義空間部分。下面將就各個(gè)部分分別進(jìn)行說明。
[0049] 編碼部分具體由詞向量生成單元101和編碼單元102構(gòu)成,詞向量生成單元101位于編碼單元102第一神經(jīng)網(wǎng)絡(luò)層的輸入前端,用于將自然語言轉(zhuǎn)換為可用于計(jì)算機(jī)處理的向量或矩陣的形式。為清楚簡(jiǎn)潔地說明本申請(qǐng)的實(shí)施例,以‘向量’代表‘張量’,包括‘向量(一維張量)’,‘矩陣(二維張量)’和‘張量’,具體含義視上下文而定。
[0050] 所述詞向量生成單元101用于根據(jù)輸入的待翻譯的源語句,得到初始源詞向量;
[0051] 示例地,將以自然語言形式表示的待翻譯的源語句tom?eats?apple輸入詞向量生成單元101,詞向量生成單元101生成對(duì)應(yīng)的初始源詞向量[x1,x2,x3]。其中,x1代表Tom的向量,x2代表eats的向量,x3代表apple的向量。
[0052] 所述編碼單元102中的第一神經(jīng)網(wǎng)絡(luò)層用于根據(jù)輸入的初始源詞向量,得到第一源詞向量和第一語義向量;
[0053] 所述編碼單元102中的第n神經(jīng)網(wǎng)絡(luò)層用于:將第n-1源詞向量輸入所述編碼單元中的第n神經(jīng)網(wǎng)絡(luò)層,得到第n源詞向量和第n語義向量,其中,n為2至N-1之間的整數(shù);
[0054] 所述編碼單元102中的第N神經(jīng)網(wǎng)絡(luò)層用于:將第N-1源詞向量輸入所述編碼單元102中的第N神經(jīng)網(wǎng)絡(luò)層,得到第N語義向量;
[0055] 編碼單元102由N個(gè)首尾相連的神經(jīng)網(wǎng)絡(luò)層組成,N個(gè)首尾相連的神經(jīng)網(wǎng)絡(luò)層的輸出端分別與語義空間部分103的N個(gè)語義空間的輸入端一一連接,可以理解為編碼單元102的各個(gè)神經(jīng)網(wǎng)絡(luò)層有且只有一個(gè)與之連接的語義空間,編碼單元102的第一神經(jīng)網(wǎng)絡(luò)層的輸入端連接詞向量生成單元101。
[0056] 其中,N為深度級(jí)聯(lián)神經(jīng)網(wǎng)絡(luò)翻譯模型的宏觀參數(shù)(宏觀參數(shù)包括模型相關(guān)的參數(shù)和訓(xùn)練相關(guān)的參數(shù)。其中,模型相關(guān)的參數(shù)包括:詞向量維度、隱藏層的大小、激活函數(shù)的種類、正規(guī)化系數(shù)、dropout系數(shù);訓(xùn)練相關(guān)的參數(shù)包括:優(yōu)化方法的種類、初始學(xué)習(xí)率、學(xué)習(xí)衰減函數(shù)、訓(xùn)練批大小、
迭代次數(shù)等),N的具體的取值為整數(shù),該整數(shù)由構(gòu)建深度級(jí)聯(lián)神經(jīng)網(wǎng)絡(luò)翻譯模型時(shí),根據(jù)機(jī)器翻譯程序應(yīng)用的領(lǐng)域、翻譯程序預(yù)計(jì)的翻譯量等因素設(shè)置決定。N個(gè)神經(jīng)網(wǎng)絡(luò)層中的每一個(gè)神經(jīng)網(wǎng)絡(luò)層具體可以包括但不限于:全連神經(jīng)網(wǎng)絡(luò)、
卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)、
遞歸神經(jīng)網(wǎng)絡(luò)、高速路神經(jīng)網(wǎng)絡(luò)及其變種中的至少一者,也可以包括注意
力機(jī)制網(wǎng)絡(luò)。。
[0057] 人工神經(jīng)網(wǎng)絡(luò)(ANN)是一種模擬
生物神經(jīng)傳遞所建立的用于信息計(jì)算的數(shù)學(xué)模型。ANN的基本元素是神經(jīng)元,它們之間通過組合形成
輸入層、隱藏層以及
輸出層。整體來看,隱藏層的意義就是把輸入數(shù)據(jù)的特征,抽象到另一個(gè)維度空間,來展現(xiàn)其更抽象化的特征,這些特征能更好的進(jìn)行線性劃分。一個(gè)神經(jīng)元包含多個(gè)輸入,為每個(gè)輸入分配不同的權(quán)重,對(duì)輸出結(jié)果產(chǎn)生影響。隱藏層的運(yùn)算內(nèi)容通常是對(duì)輸入做線性加權(quán)求和,求和后的結(jié)果通過一個(gè)非線性運(yùn)算(例如sigmod或者tanh函數(shù))得到輸出,整體的運(yùn)算可以看成是一個(gè)非線性變換。每一層的多個(gè)輸入經(jīng)過不同的非線性變換,可以得到多個(gè)不同的輸出的結(jié)果以實(shí)現(xiàn)對(duì)輸入
信號(hào)的非線性轉(zhuǎn)換。
[0058] 由首尾相連的N個(gè)神經(jīng)網(wǎng)絡(luò)層組成的編碼單元102用于將詞向量生成單元101生成的向量或矩陣(源詞向量)進(jìn)行運(yùn)算,得到抽象的語義表示,即語義向量。
[0059] 為了清楚簡(jiǎn)潔地說明,在編碼單元102中,源詞向量逐層通過編碼單元102的各個(gè)神經(jīng)網(wǎng)絡(luò)層,生成N個(gè)語義向量。
[0060] 以N=3為例進(jìn)行說明,編碼單元102由三個(gè)首尾相連的神經(jīng)網(wǎng)絡(luò)層組成,首先,初始源詞向量[x1,x2,x3]由詞向量生成單元101輸入編碼單元102的第一神經(jīng)網(wǎng)絡(luò)層,基于第一神經(jīng)網(wǎng)絡(luò)層隱藏層的運(yùn)算內(nèi)容,得到經(jīng)過第一神經(jīng)網(wǎng)絡(luò)層處理的第一源詞向量[x11,x21,x31],和第一語義向量[C(x11),C(x21),C(x31)];其中,將第一語義向量[C(x11),C(x21),C(x31)]輸入與編碼單元102第一神經(jīng)網(wǎng)絡(luò)層對(duì)應(yīng)連接的第一語義空間,同時(shí)將第一源詞向量[x11,x21,x31]輸入與第一神經(jīng)網(wǎng)絡(luò)層連接的第二神經(jīng)網(wǎng)絡(luò)層,基于第二神經(jīng)網(wǎng)絡(luò)層隱藏層的運(yùn)算內(nèi)容,得到經(jīng)過第二神經(jīng)網(wǎng)絡(luò)層處理的第二源詞向量[x12,x22,x32],和第二語義向量[C(x12),C(x22),C(x32)],其中,將第二語義向量[C(x12),C(x22),C(x32)]輸入與編碼單元102第二神經(jīng)網(wǎng)絡(luò)層對(duì)應(yīng)連接的第二語義空間,同時(shí)將第二源詞向量[x12,x22,x32]輸入與第二神經(jīng)網(wǎng)絡(luò)層連接的第三神經(jīng)網(wǎng)絡(luò)層,基于第三神經(jīng)網(wǎng)絡(luò)層隱藏層的運(yùn)算內(nèi)容,得到第三語義向量[C(x13),C(x23),C(x33)],將第三語義向量[C(x13),C(x23),C(x33)]輸入編碼單元102第三神經(jīng)網(wǎng)絡(luò)層對(duì)應(yīng)連接的第三語義空間。
[0061] 所述N個(gè)語義空間中的第一語義空間用于:確定所述第一語義向量對(duì)應(yīng)的語義向量;
[0062] 所述語義空間中的第n語義空間用于:確定所述第n語義向量對(duì)應(yīng)的語義向量,其中,n為2至N之間的整數(shù);
[0063] 語義空間部分103包括N個(gè)語義空間,當(dāng)前語義空間的輸入端連接編碼部分編碼單元102對(duì)應(yīng)的神經(jīng)網(wǎng)絡(luò)層,當(dāng)前語義空間的輸出端連接解碼部分解碼單元104對(duì)應(yīng)神經(jīng)網(wǎng)絡(luò)層的輸入端。每個(gè)語義空間都可以用Rd表示(即,d維實(shí)數(shù)語義向量空間),也就是用向量空間Rd表示語句的內(nèi)容,每一個(gè)輸入的語義向量都可以被映射到空間的一個(gè)點(diǎn)或坐標(biāo)。
[0064] 以三維向量空間R3舉例,對(duì)于三維向量空間,一般地,建立x-y-z軸,對(duì)應(yīng),通過坐標(biāo)x-C(x11),y-C(x21),z-C(x31)可以確定第一語義向量[C(x11),C(x21),C(x31)]在三維向量空間R3的
位置坐標(biāo),解碼單元104再通過語義向量在對(duì)應(yīng)語義空間的坐標(biāo)[C(x11),C(x21),C(x31)]得到第一語義向量對(duì)應(yīng)的語義向量。
[0065] 繼續(xù)沿用上述N=3的示例,編碼單元包括三個(gè)首尾相連的神經(jīng)網(wǎng)絡(luò)層,相應(yīng)地,語義空間部分103包括三個(gè)語義空間。將編碼單元102第一神經(jīng)網(wǎng)絡(luò)層輸出的第一語義向量[C(x11),C(x21),C(x31)]輸入語義空間部分103的第一語義空間,映射到第一語義空間的一個(gè)點(diǎn)或坐標(biāo),基于第一語義空間相應(yīng)的點(diǎn)或坐標(biāo),解碼單元104的第一神經(jīng)網(wǎng)絡(luò)層獲得第一語義向量對(duì)應(yīng)的語義向量[C(y11),C(y21),C(y31)];相應(yīng)地,編碼單元102第二神經(jīng)網(wǎng)絡(luò)層輸出的第二語義向量[C(x12),C(x22),C(x32)]輸入語義空間部分103的第二語義空間,映射到第二語義空間的一個(gè)點(diǎn)或坐標(biāo),基于第二語義空間相應(yīng)的點(diǎn)或坐標(biāo),解碼單元104的第二神經(jīng)網(wǎng)絡(luò)層獲得第二語義向量對(duì)應(yīng)的語義向量[C(y12),C(y22),C(y32)];編碼單元102第三神經(jīng)網(wǎng)絡(luò)層輸出的第三語義向量[C(x13),C(x23),C(x33)]輸入語義空間部分103的第三語義空間,映射到第三語義空間的一個(gè)點(diǎn)或坐標(biāo),基于第三語義空間相應(yīng)的點(diǎn)或坐標(biāo),解碼單元102的第三神經(jīng)網(wǎng)絡(luò)層獲得第三語義向量對(duì)應(yīng)的語義向量[C(y13),C(y23),C(y33)]。
[0066] 解碼部分包括解碼單元104和目標(biāo)詞生成單元105,解碼單元104包括N個(gè)首尾相連的神經(jīng)網(wǎng)絡(luò)層,N個(gè)首尾相連的神經(jīng)網(wǎng)絡(luò)層的輸入端分別與語義空間部分103的N個(gè)語義空間的輸出端一一連接,可以理解為解碼單元104的各個(gè)神經(jīng)網(wǎng)絡(luò)層有且只有一個(gè)與之連接的語義空間。解碼單元104用于將抽象的語義表示(即語義向量)轉(zhuǎn)換為目標(biāo)詞向量,目標(biāo)詞向量為目標(biāo)語言的向量或矩陣的表示。
[0067] 所述解碼單元104中的第一神經(jīng)網(wǎng)絡(luò)層用于:根據(jù)輸入的所述第一語義向量對(duì)應(yīng)的語義向量,得到第一目標(biāo)詞向量;
[0068] 所述解碼單元104中的第n神經(jīng)網(wǎng)絡(luò)層用于:根據(jù)輸入的所述第n語義向量對(duì)應(yīng)的語義向量和所述第n-1目標(biāo)詞向量,得到第n目標(biāo)詞向量,其中,n為2至N之間的整數(shù)。
[0069] 繼續(xù)沿用上述N=3的示例,解碼單元104由三個(gè)首尾相連的神經(jīng)網(wǎng)絡(luò)層組成。將第一語義向量對(duì)應(yīng)的語義向量[C(y11),C(y21),C(y31)]輸入解碼單元104的第一神經(jīng)網(wǎng)絡(luò)層,得到第一目標(biāo)詞向量[y11,y21,y31];將第二語義向量對(duì)應(yīng)的語義向量[C(y12),C(y?22),C(y32)],和第一目標(biāo)詞向量[y11,y21,y31]輸入解碼單元104的第二神經(jīng)網(wǎng)絡(luò)層,得到第二目標(biāo)詞向量[y12,y22,y32];將第三語義向量對(duì)應(yīng)的語義向量[C(y13),C(y23),C(y33)],和第二目標(biāo)詞向量[y12,y22,y32]輸入解碼單元104的第三神經(jīng)網(wǎng)絡(luò)層,得到第三目標(biāo)詞向量[y13,y23,y33]。
[0070] 所述目標(biāo)詞生成單元105用于根據(jù)輸入的第N目標(biāo)詞向量,得到目標(biāo)語句。
[0071] 目標(biāo)詞生成單元105位于解碼單元104第N神經(jīng)網(wǎng)絡(luò)層的輸出后端,用于將向量或矩陣的表示轉(zhuǎn)換為自然語言的形式。具體地,將上述解碼單元104得到的第三目標(biāo)詞向量[y13,y23,y33]輸入目標(biāo)詞生成單元105,得到目標(biāo)語言:湯姆吃蘋果。
[0072] 綜上,本申請(qǐng)實(shí)施例的機(jī)器翻譯模型具備以下優(yōu)點(diǎn):
[0073] 本申請(qǐng)實(shí)施例的機(jī)器翻譯模型采用了級(jí)聯(lián)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),將原本
串聯(lián)的網(wǎng)絡(luò)結(jié)構(gòu),轉(zhuǎn)變成串聯(lián)和并聯(lián)相結(jié)合的方式。編碼單元的各個(gè)神經(jīng)網(wǎng)絡(luò)層串聯(lián),解碼單元的各個(gè)神經(jīng)網(wǎng)絡(luò)層串聯(lián),各個(gè)語義空間并聯(lián),相互獨(dú)立互不影響。對(duì)于復(fù)雜的源語言,其向量或矩陣的表達(dá)序列(源詞向量)攜帶的復(fù)雜的信息,源詞向量逐層通過編碼單元串聯(lián)的神經(jīng)網(wǎng)絡(luò)層,保證了源詞向量能經(jīng)過足夠的信息處理;同時(shí),源詞向量逐層通過的每一神經(jīng)網(wǎng)絡(luò)層都能根據(jù)當(dāng)前神經(jīng)網(wǎng)絡(luò)層的隱藏層的運(yùn)算內(nèi)容生成語義向量,即使源詞向量在逐層通過神經(jīng)網(wǎng)絡(luò)層的路徑中丟失或者稀釋了部分的序列信息,丟失的序列信息也會(huì)在之前的神經(jīng)網(wǎng)絡(luò)層中保存,并通過當(dāng)前神經(jīng)網(wǎng)絡(luò)層對(duì)應(yīng)的語義空間映射到解碼單元的神經(jīng)網(wǎng)絡(luò)層,因此,采用本申請(qǐng)實(shí)施例深度級(jí)聯(lián)神經(jīng)網(wǎng)絡(luò)翻譯模型進(jìn)行語言翻譯,可以得到更加完整和準(zhǔn)確的翻譯結(jié)果。
[0074] 另一方面,每個(gè)神經(jīng)網(wǎng)絡(luò)層對(duì)應(yīng)的語義空間都能完成源語言的語義向量到目標(biāo)語言的語義向量的映射,增加了源語言和目標(biāo)語言的直接映射。對(duì)于簡(jiǎn)單的源語言,例如一些一一對(duì)應(yīng)的字詞(“
云朵”和“c?l?oud”),第一語義空間就能完成其源詞向量到目標(biāo)詞向量的映射,縮短了目標(biāo)語言和源語言之間的計(jì)算路徑。另外,本申請(qǐng)實(shí)施例中神經(jīng)網(wǎng)絡(luò)層串聯(lián)和語義空間并聯(lián)相結(jié)合的方式,使編碼單元的神經(jīng)網(wǎng)絡(luò)層對(duì)源語言的處理、語義空間處理源語言和目標(biāo)語言的映射關(guān)系、解碼單元對(duì)目標(biāo)語言處理三者能同時(shí)進(jìn)行,極大地縮短了機(jī)器翻譯的信息處理時(shí)間,提高了機(jī)器翻譯的效率。
[0075] 在本申請(qǐng)的一種可選實(shí)施例中,可設(shè)置語義空間的長(zhǎng)度,即語義空間的維度。
[0076] 所述N個(gè)語義空間相互獨(dú)立,且將每個(gè)語義空間的長(zhǎng)度不相同或相同。
[0077] 各個(gè)相互獨(dú)立的語義空間本身之間并沒有連接關(guān)系,所以,各個(gè)語義空間所包含內(nèi)容(映射關(guān)系、向量分布特點(diǎn)等),也只是受到與其連接的編碼單元對(duì)應(yīng)神經(jīng)網(wǎng)絡(luò)層和解碼單元對(duì)應(yīng)神經(jīng)網(wǎng)絡(luò)層的影響。
[0078] 同時(shí),語義空間的長(zhǎng)度也是可以定義的,根據(jù)語言的復(fù)雜程度,或是神經(jīng)網(wǎng)絡(luò)的層級(jí)關(guān)系,或是當(dāng)前編碼單元的神經(jīng)網(wǎng)絡(luò)層可能表達(dá)序列的長(zhǎng)短,有針對(duì)性地定義語義空間的長(zhǎng)度,例如,有一一對(duì)應(yīng)的關(guān)系的源語言和目標(biāo)語言(“云朵”和“cloud”)可以在第一語義空間完成映射,而比較復(fù)雜的源語言和目標(biāo)語言的對(duì)應(yīng)關(guān)系(“云層厚度的計(jì)算”和“Calculation?of?Cloud?Thickness”)可以在第N語義空間完成,根據(jù)不同的處理內(nèi)容,可以分別設(shè)置第一語義空間的長(zhǎng)度d和第N語義空間的長(zhǎng)度d’,長(zhǎng)度為Rd的第一語義空間和長(zhǎng)度為Rd’的第N語義空間互不影響,不再需要將源語言向量整個(gè)序列的內(nèi)容壓縮進(jìn)一個(gè)固定長(zhǎng)度的向量中去,先輸入內(nèi)容攜帶的信息和后輸入內(nèi)容攜帶的信息,分別在長(zhǎng)度不同或者長(zhǎng)度相同的各個(gè)語義空間進(jìn)行處理,可以有效地解決只有一個(gè)語義空間時(shí),因需要將整個(gè)序列的信息壓縮進(jìn)一個(gè)固定的長(zhǎng)度向量中,造成的后輸入的內(nèi)容攜帶的信息稀釋或者覆蓋掉先輸入內(nèi)容攜帶的信息的問題。同時(shí),有一一對(duì)應(yīng)的關(guān)系的源語言和目標(biāo)語言(“云朵”和“cloud”)可以在第一語義空間Rd直接完成映射,不需要再經(jīng)過編碼單元N個(gè)神經(jīng)網(wǎng)絡(luò)層復(fù)雜的運(yùn)算,有效的降低了翻譯的復(fù)雜度,達(dá)到了較快的翻譯速度。
[0079] 參考圖2,圖2是本申請(qǐng)一實(shí)施例提出機(jī)器翻譯的方法的流程圖。該方法應(yīng)用于深度級(jí)聯(lián)神經(jīng)網(wǎng)絡(luò)翻譯模型(例如:圖1所示的模型)。如圖2所示,所述方法包括:
[0080] 步驟S201:將待翻譯的源語句輸入所述詞向量生成單元,得到初始源詞向量。
[0081] 自然語言是符號(hào)化的表示,而計(jì)算機(jī)擅長(zhǎng)數(shù)值計(jì)算,因此需要將自然語言的符號(hào)表示成數(shù)字。在實(shí)際應(yīng)用中將自然語言轉(zhuǎn)換為向量或矩陣的方法可以有多種,具體不限于以下實(shí)施方式:
[0082] 在一種實(shí)施方式中,可以用one-hot進(jìn)行自然語言的向量化表示,建立起常用的5000個(gè)漢字和1,2,3,…,5000的對(duì)應(yīng)關(guān)系。One-hot向量就是一個(gè)5000維的向量,每一維的數(shù)值取值為0或1;為了將數(shù)字i轉(zhuǎn)換成one-hot向量,我們定義向量X=[x1,x2,…,x5000],其中xi=1,xj=0(j不等于i)。
[0083] 在另一種實(shí)施方式中,自然語言的向量化表示也可以用分布式詞向量表示方式(Word2Vec)。
[0084] 步驟S202:將初始源詞向量輸入所述編碼單元中的第一神經(jīng)網(wǎng)絡(luò)層,得到第一源詞向量和第一語義向量;
[0085] 步驟S203:依次取n從2至N-1,針對(duì)所述編碼單元中的第n神經(jīng)網(wǎng)絡(luò)層,執(zhí)行步驟:將第n-1源詞向量輸入所述編碼單元中的第n神經(jīng)網(wǎng)絡(luò)層,得到第n源詞向量和第n語義向量;
[0086] 步驟S204:針對(duì)所述編碼單元中的第N神經(jīng)網(wǎng)絡(luò)層,將第N-1源詞向量輸入所述編碼單元中的第N神經(jīng)網(wǎng)絡(luò)層,得到第N語義向量;
[0087] 本申請(qǐng)實(shí)施例中,針對(duì)輸入編碼單元的同一源語句向量序列,在逐層通過每一神經(jīng)網(wǎng)絡(luò)層時(shí),都可以生成語義向量,每一層得到的語義向量都可以通過對(duì)應(yīng)的語義空間,輸入解碼單元對(duì)應(yīng)的神經(jīng)網(wǎng)絡(luò)層。輸入編碼單元N個(gè)神經(jīng)網(wǎng)絡(luò)層的同一源語句向量序列,會(huì)以兩條路徑(輸入下一神經(jīng)網(wǎng)絡(luò)層的向量序列和輸入語義空間的語義向量)保存、計(jì)算和傳遞本身攜帶的信息,使源語言向量序列先輸入的內(nèi)容的攜帶的信息由不會(huì)被干擾的路徑輸入到解碼單元的神經(jīng)網(wǎng)絡(luò)層,進(jìn)而保證在神經(jīng)網(wǎng)絡(luò)組成結(jié)構(gòu)單一的情況下(例如只使用循環(huán)神經(jīng)網(wǎng)絡(luò)),源語言向量序列在依次通過N個(gè)神經(jīng)網(wǎng)絡(luò)層的漫長(zhǎng)的運(yùn)算中,向量序列先輸入的內(nèi)容攜帶的信息不會(huì)被向量序列后輸入的內(nèi)容攜帶的信息所覆蓋和稀釋,使整個(gè)源語句向量序列輸入到解碼單元神經(jīng)網(wǎng)絡(luò)的語義向量始終攜帶完整的信息。
[0088] 步驟S205:根據(jù)所述N個(gè)語義空間中的第一所述語義空間,確定所述第一語義向量對(duì)應(yīng)的語義向量;
[0089] 步驟S206:將所述第一語義向量對(duì)應(yīng)的語義向量輸入所述解碼單元中的第一神經(jīng)網(wǎng)絡(luò)層,得到第一目標(biāo)詞向量;
[0090] 步驟S207:依次取n從2至N,針對(duì)所述解碼單元中的第n神經(jīng)網(wǎng)絡(luò)層,執(zhí)行步驟:根據(jù)所述語義空間中的第n語義空間,確定所述第n語義向量對(duì)應(yīng)的語義向量;將所述第n語義向量對(duì)應(yīng)的語義向量和所述第n-1目標(biāo)詞向量輸入所述解碼單元中的第n神經(jīng)網(wǎng)絡(luò)層,得到第n目標(biāo)詞向量;
[0091] 步驟S208:將第N目標(biāo)詞向量輸入所述目標(biāo)詞生成單元,得到目標(biāo)語句。
[0092] 參考圖3,圖3是本申請(qǐng)一實(shí)施例提出機(jī)器翻譯的方法的示意圖。以下結(jié)合圖1所示的深度級(jí)聯(lián)神經(jīng)網(wǎng)絡(luò)的翻譯模型,對(duì)本申請(qǐng)實(shí)施例提供的機(jī)器翻譯方法作進(jìn)一步說明。
[0093] 通過編碼單元的第一神經(jīng)網(wǎng)絡(luò)層執(zhí)行步驟(2):輸入源詞向量,得到第一源詞向量和第一語義向量,能同時(shí)得到第一源詞向量和第一語義向量,通過編碼單元的第二神經(jīng)網(wǎng)絡(luò)層執(zhí)行步驟(3):輸入第一源詞向量,得到第二源詞向量和第二語義向量,通過編碼單元第一神經(jīng)網(wǎng)絡(luò)對(duì)應(yīng)的第一語義空間執(zhí)行步驟(6):確定第一語義向量對(duì)應(yīng)的語義向量。其中,步驟(2)、(3)(6)可以同時(shí)進(jìn)行。
[0094] 基于上述分析,通過編碼單元執(zhí)行步驟(5):輸入第N-1源詞向量,得到第N源詞向量和第N語義向量的當(dāng)時(shí)或者前一時(shí)刻,可以通過語義空間執(zhí)行步驟(7)(8),也可以通過解碼單元執(zhí)行步驟(11)(12),那么,語義空間對(duì)語義向量的處理、解碼單元神經(jīng)網(wǎng)絡(luò)層的運(yùn)算,不必再在源詞向量逐層通過編碼單元的N個(gè)神經(jīng)網(wǎng)絡(luò)層之后才能運(yùn)行,而是能夠在源詞向量逐層通過編碼單元的N個(gè)神經(jīng)網(wǎng)絡(luò)層的同時(shí)進(jìn)行,大大縮短了翻譯時(shí)間,進(jìn)而提高了翻譯效率。
[0095] 結(jié)合上述實(shí)施例,在本申請(qǐng)的另一個(gè)實(shí)施例中,針對(duì)編碼單元中的每一個(gè)神經(jīng)網(wǎng)絡(luò)層,得到該神經(jīng)網(wǎng)絡(luò)層對(duì)應(yīng)的語義向量,包括:
[0096] 利用該神經(jīng)網(wǎng)絡(luò)層的隱藏層,對(duì)輸入的源詞向量進(jìn)行運(yùn)算,得到該神經(jīng)網(wǎng)絡(luò)層對(duì)應(yīng)的語義向量。
[0097] 參考圖4,圖4是編碼單元的當(dāng)前神經(jīng)網(wǎng)絡(luò)層利用其隱藏層,對(duì)輸入的源詞向量進(jìn)行運(yùn)算的示意圖。
[0098] 可以理解的是,編碼單元當(dāng)前神經(jīng)網(wǎng)絡(luò)層得到語義向量的運(yùn)算過程,不是對(duì)經(jīng)過該神經(jīng)網(wǎng)絡(luò)層處理的源詞向量(第n源詞向量)的進(jìn)一步處理,也不是對(duì)歷史源詞向量(第1源詞向量到第n-1源詞向量)的簡(jiǎn)單求和,而是基于當(dāng)前神經(jīng)網(wǎng)絡(luò)隱藏層的運(yùn)算內(nèi)容,同時(shí)得到語義向量和經(jīng)過該神經(jīng)網(wǎng)絡(luò)層處理的源詞向量,所以,編碼單元當(dāng)前神經(jīng)網(wǎng)絡(luò)層輸出的語義向量和經(jīng)過該神經(jīng)網(wǎng)絡(luò)層處理的源詞向量是同一級(jí)的輸出,不分前后。
[0099] 同時(shí),在本實(shí)施方式中,針對(duì)所述編碼單元中的每一個(gè)神經(jīng)網(wǎng)絡(luò)層,該神經(jīng)網(wǎng)絡(luò)層對(duì)應(yīng)的語義向量和源詞向量,包括:
[0100] 針對(duì)所述編碼單元中的每一個(gè)神經(jīng)網(wǎng)絡(luò)層,對(duì)上一源詞向量進(jìn)行兩種不同的運(yùn)算,得到該神經(jīng)網(wǎng)絡(luò)層對(duì)應(yīng)的語義向量和源詞向量,且該神經(jīng)網(wǎng)絡(luò)層對(duì)應(yīng)的語義向量和源詞向量不同,其中,所述上一源詞向量為該神經(jīng)網(wǎng)絡(luò)層的上一神經(jīng)網(wǎng)絡(luò)層對(duì)應(yīng)的源詞向量。
[0101] 相應(yīng)地,針對(duì)所述編碼單元中的每一個(gè)神經(jīng)網(wǎng)絡(luò)層,該神經(jīng)網(wǎng)絡(luò)層對(duì)應(yīng)的語義向量和源詞向量,包括:
[0102] 針對(duì)所述編碼單元中的每一個(gè)神經(jīng)網(wǎng)絡(luò)層,對(duì)上一源詞向量進(jìn)行相同的運(yùn)算,得到該神經(jīng)網(wǎng)絡(luò)層對(duì)應(yīng)的語義向量和源詞向量,且該神經(jīng)網(wǎng)絡(luò)層對(duì)應(yīng)的語義向量和源詞向量相同,其中,所述上一源詞向量為該神經(jīng)網(wǎng)絡(luò)層的上一神經(jīng)網(wǎng)絡(luò)層對(duì)應(yīng)的源詞向量。
[0103] 進(jìn)一步說明了,針對(duì)所述編碼單元中的每一個(gè)神經(jīng)網(wǎng)絡(luò)層,利用隱藏層,對(duì)輸入的源詞向量進(jìn)行運(yùn)算,得到的語義向量與經(jīng)過該神經(jīng)網(wǎng)絡(luò)層處理的源詞向量是同一級(jí)的輸出,不分前后。其中,若是當(dāng)前神經(jīng)網(wǎng)絡(luò)層的隱藏層關(guān)于得到語義向量的運(yùn)算,與前神經(jīng)網(wǎng)絡(luò)層的隱藏層關(guān)于得到經(jīng)過該神經(jīng)網(wǎng)絡(luò)層處理的源詞向量的運(yùn)算不相同,得到的語義向量和經(jīng)過該神經(jīng)網(wǎng)絡(luò)層處理的源詞向量也不相同;若是當(dāng)前神經(jīng)網(wǎng)絡(luò)層關(guān)于得到語義向量的運(yùn)算,與前神經(jīng)網(wǎng)絡(luò)層關(guān)于得到經(jīng)過該神經(jīng)網(wǎng)絡(luò)層處理的源詞向量的運(yùn)算相同,那么對(duì)于輸入的源詞向量,利用當(dāng)前神經(jīng)網(wǎng)絡(luò)層隱藏層的運(yùn)算,得到的語義向量和經(jīng)過該神經(jīng)網(wǎng)絡(luò)層處理的源詞向量也是相同的。因此,編碼單元的當(dāng)前神經(jīng)網(wǎng)絡(luò)層輸出的語義向量與經(jīng)過該神經(jīng)網(wǎng)絡(luò)層處理的源詞向量,均只與當(dāng)前神經(jīng)網(wǎng)絡(luò)層的運(yùn)算內(nèi)容相關(guān)。
[0104] 編碼單元各個(gè)神經(jīng)網(wǎng)絡(luò)層輸出的語義向量,和經(jīng)過該神經(jīng)網(wǎng)絡(luò)層處理的源詞向量,都是基于當(dāng)前網(wǎng)絡(luò)層的運(yùn)算內(nèi)容得到的,對(duì)于輸入的源詞向量,編碼單元的隱藏層可同時(shí)進(jìn)行兩種互不影響的運(yùn)算。
[0105] 相比于將編碼單元所有神經(jīng)網(wǎng)絡(luò)層的運(yùn)算內(nèi)容壓縮到一個(gè)語義向量,可能造成的無法完整表達(dá)所有運(yùn)算內(nèi)容的信息,當(dāng)前神經(jīng)網(wǎng)絡(luò)層得到的語義向量只包含當(dāng)前層的運(yùn)算內(nèi)容,具有針對(duì)性,且不會(huì)遺漏信息,保證了翻譯結(jié)果的完整性,進(jìn)而保證了翻譯
質(zhì)量。
[0106] 在一種實(shí)施方式中,N個(gè)神經(jīng)網(wǎng)絡(luò)層中的每一個(gè)神經(jīng)網(wǎng)絡(luò)層具體都可以包括注意力機(jī)制網(wǎng)絡(luò),并且每一個(gè)神經(jīng)網(wǎng)絡(luò)層具體還可以包括但不限于全連神經(jīng)網(wǎng)絡(luò)、卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò)、遞歸神經(jīng)網(wǎng)絡(luò)、高速路神經(jīng)網(wǎng)絡(luò)及其變種中的至少一者。以圖1為例,對(duì)于解碼單元的每一神經(jīng)網(wǎng)絡(luò)層,都可以添加指向編碼單元對(duì)應(yīng)神經(jīng)網(wǎng)絡(luò)層的虛線(該虛線即表征注意力機(jī)制網(wǎng)絡(luò))。在應(yīng)用包括注意力機(jī)制網(wǎng)絡(luò)的深度級(jí)聯(lián)神經(jīng)網(wǎng)絡(luò)翻譯模型(如圖1所示)的情況下,步驟S202、步驟S203以及步驟S204中得到語義向量的步驟具體包括以下步驟:
[0107] 針對(duì)所述編碼單元中的第n個(gè)神經(jīng)網(wǎng)絡(luò)層,得到該神經(jīng)網(wǎng)絡(luò)層對(duì)應(yīng)的語義向量,n為1至N之間的任一數(shù)值,包括:
[0108] 獲得所述解碼單元中的第n神經(jīng)網(wǎng)絡(luò)層對(duì)應(yīng)的第n目標(biāo)詞向量的特征信息;
[0109] 對(duì)所述編碼單元中的第n-1個(gè)神經(jīng)網(wǎng)絡(luò)層對(duì)應(yīng)的第n-1源詞向量中各向量賦予不同的權(quán)重系數(shù);
[0110] 將攜帶不同權(quán)重系數(shù)的第n-1源詞向量輸入所述編碼單元中的第n神經(jīng)網(wǎng)絡(luò)層,得到攜帶權(quán)重系數(shù)的第n語義向量。
[0111] 通過上述步驟,可以根據(jù)解碼單元當(dāng)前神經(jīng)網(wǎng)絡(luò)層輸出目標(biāo)詞向量,獲得目標(biāo)詞向量的特征信息,基于目標(biāo)詞向量的特征信息,對(duì)編碼單元當(dāng)前神經(jīng)網(wǎng)絡(luò)層的輸入的源詞向量中不同的向量賦予不同的權(quán)重系數(shù),編碼單元的當(dāng)前神經(jīng)網(wǎng)絡(luò)層針對(duì)解碼單元的當(dāng)前神經(jīng)網(wǎng)絡(luò)層的輸出內(nèi)容,對(duì)輸入的源詞向量賦予較大的權(quán)重系數(shù)并進(jìn)行計(jì)算。
[0112] 此處以示例的方式進(jìn)行闡釋,說明在注意力機(jī)制下得到第一語義向量和第二語義向量的過程:
[0113] 根據(jù)解碼單元第一神經(jīng)網(wǎng)絡(luò)層的輸出目標(biāo)向量[y1,y2,y3],得到針對(duì)目標(biāo)向量[y1,y2,y3]不同的權(quán)重系數(shù):f(y1),f(y2),f(y3),編碼單元第一神經(jīng)網(wǎng)絡(luò)層根據(jù)權(quán)重系數(shù),對(duì)輸入的源詞向量[x1,x2,x3]進(jìn)行運(yùn)算,得到攜帶權(quán)重系數(shù)的第1語義向量C1=g{f(y1)x1,f(y2)x2,f(y3)x3}。
[0114] 根據(jù)解碼單元第二神經(jīng)網(wǎng)絡(luò)層的輸出目標(biāo)向量[y11,y22,y33],得到針對(duì)目標(biāo)向量[y11,y22,y33]不同的權(quán)重系數(shù):f(y11),f(y22),f(y33),編碼單元第二神經(jīng)網(wǎng)絡(luò)層根據(jù)權(quán)重系數(shù),對(duì)輸入的第一源詞向量[x11,x22,x33]進(jìn)行運(yùn)算,得到攜帶權(quán)重系數(shù)的第2語義向量C1=g{f(y11)x11,f(y22)x22,f(y33)x33}。
[0115] 不同于注意力機(jī)制網(wǎng)絡(luò)在只有一個(gè)固定長(zhǎng)度的語義空間的編碼-解碼框架模型(例如:相關(guān)技術(shù)中的編碼-解碼框架模型)中,其權(quán)重系數(shù)只能加到編碼單元的最后一層神經(jīng)網(wǎng)絡(luò)層,若該只有一個(gè)固定長(zhǎng)度的語義空間的編碼-解碼框架模型中神經(jīng)網(wǎng)絡(luò)層的組成單一(例如:只選用循環(huán)神經(jīng)網(wǎng)絡(luò)),則會(huì)導(dǎo)致源詞向量在逐層通過編碼器的神經(jīng)網(wǎng)絡(luò)層的過程中,不可避免(通過逐層神經(jīng)網(wǎng)絡(luò)層進(jìn)行復(fù)雜的計(jì)算,才能輸入固定長(zhǎng)度的語義空間)地出現(xiàn)源詞向量信息丟失的情況,那么只能加在編碼單元的最后一層神經(jīng)網(wǎng)絡(luò)層權(quán)重系數(shù),也不可避免地不能歷遍所有源詞向量所有的向量信息,漏掉源詞向量信息丟失的部分,進(jìn)而得到的攜帶權(quán)重系數(shù)的語義向量也會(huì)相應(yīng)地丟失掉源詞向量對(duì)應(yīng)的信息。因本實(shí)施例中深度級(jí)聯(lián)神經(jīng)網(wǎng)絡(luò)翻譯模型所具有的級(jí)聯(lián)結(jié)構(gòu),本實(shí)施例中根據(jù)解碼器任一神經(jīng)網(wǎng)絡(luò)層的輸出,所得到權(quán)重系數(shù),都可以直接應(yīng)用到編碼器的對(duì)應(yīng)神經(jīng)網(wǎng)絡(luò)層的輸入,保證了權(quán)重系數(shù)能關(guān)注到源詞向量逐層通過編碼單元的神經(jīng)網(wǎng)絡(luò)層時(shí),任一神經(jīng)網(wǎng)絡(luò)層的信息,進(jìn)而保證,編碼單元的神經(jīng)網(wǎng)絡(luò)層在運(yùn)算中能更全面地根據(jù)解碼單元的運(yùn)算結(jié)果,對(duì)不同的源詞向量賦予不同的權(quán)重系數(shù)并進(jìn)行不同的計(jì)算。
[0116] 基于同一發(fā)明構(gòu)思,本申請(qǐng)另一實(shí)施例提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,該程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如本申請(qǐng)上述任一實(shí)施例所述的方法中的步驟。
[0117] 基于同一發(fā)明構(gòu)思,本申請(qǐng)另一實(shí)施例提供一種電子設(shè)備,包括存儲(chǔ)器、處理器及存儲(chǔ)在存儲(chǔ)器上并可再處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行時(shí)實(shí)現(xiàn)本申請(qǐng)上述任一實(shí)施例所述的方法中的步驟。
[0118] 基于同一發(fā)明構(gòu)思,本申請(qǐng)另一實(shí)施例提供一種翻譯模型,所述翻譯模型執(zhí)行時(shí)實(shí)現(xiàn)本申請(qǐng)上述任一實(shí)施例所述的方法中的步驟。
[0119] 本
說明書中的各個(gè)實(shí)施例均采用遞進(jìn)或說明的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似的部分互相參見即可。
[0120] 本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本申請(qǐng)實(shí)施例的實(shí)施例可提供為方法、裝置、或計(jì)算機(jī)程序產(chǎn)品。因此,本申請(qǐng)實(shí)施例可采用完全
硬件實(shí)施例、完全
軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本申請(qǐng)實(shí)施例可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。
[0121] 本申請(qǐng)實(shí)施例是參照根據(jù)本申請(qǐng)實(shí)施例的方法、裝置、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方
框圖來描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程
數(shù)據(jù)處理終端設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過計(jì)算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中
指定的功能的裝置。
[0122] 這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。
[0123] 這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理終端設(shè)備上,使得在計(jì)算機(jī)或其他可編程終端設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程終端設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。
[0124] 盡管已描述了本申請(qǐng)實(shí)施例的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例做出另外的變更和
修改。所以,所附
權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本申請(qǐng)實(shí)施例范圍的所有變更和修改。
[0125] 最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者終端設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者終端設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者終端設(shè)備中還存在另外的相同要素。
[0126] 以上對(duì)本申請(qǐng)所提供的一種機(jī)器翻譯的方法、裝置、存儲(chǔ)介質(zhì)、電子設(shè)備和深度級(jí)聯(lián)神經(jīng)網(wǎng)絡(luò)翻譯模型,進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本申請(qǐng)的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本申請(qǐng)的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本申請(qǐng)的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對(duì)本申請(qǐng)的限制。