面向神經(jīng)機(jī)器翻譯的長句切分方法及裝置的制造方法
【專利摘要】本申請?zhí)峁┝艘环N面向神經(jīng)機(jī)器翻譯的長句切分方法,在使用NMT模型進(jìn)行語句翻譯前,并非直接將源語句輸入NMT模型中,而是將語句切分為較短的子句,將各個子句依次輸入NMT模型,以使NMT模型分別依次翻譯各個切分后的子句,然后,直接將翻譯后的子句拼接為完整子句。由于輸入NMT模型翻譯的子句較短,NMT模型的翻譯準(zhǔn)確率較高,從而提高了語句翻譯的準(zhǔn)確率。另外,本申請還提供了一種面向神經(jīng)機(jī)器翻譯的長句切分裝置,用以保證所述方法在實(shí)際中的應(yīng)用及實(shí)現(xiàn)。
【專利說明】
面向神經(jīng)機(jī)器翻譯的長句切分方法及裝置
技術(shù)領(lǐng)域
[0001] 本申請涉及語言翻譯技術(shù)領(lǐng)域,更具體地,涉及面向神經(jīng)機(jī)器翻譯的長句切分技 術(shù)。
【背景技術(shù)】
[0002] 目前,基于深度學(xué)習(xí)的Neural Machine Translation(神經(jīng)機(jī)器翻譯,可簡稱為 NMT)越來越受到人們的關(guān)注。在NMT領(lǐng)域中,常見的一種匪T模型為基于encoder-decoder結(jié) 構(gòu)的模型。NMT模型主要是將某種語言的語句(以下可稱為源語句)翻譯為另一種語言的語 句(以下可稱為目標(biāo)語句)。
[0003] 以中英翻譯為例,基于encoder-decoder結(jié)構(gòu)的模型主要是將源語句經(jīng)過編碼器 的編碼后,獲得編碼向量,然后利用解碼器對該編碼向量進(jìn)行解碼,從而翻譯成對應(yīng)的英語 語句。事實(shí)上,這種基于encoder-decoder結(jié)構(gòu)的模型的翻譯方式運(yùn)用了深度學(xué)習(xí)的核心思 想,同樣的,encoder-decoder結(jié)構(gòu)也體現(xiàn)了NMT技術(shù)的基本原理。
[0004] 雖然,基于encoder-decoder結(jié)構(gòu)的NMT模型能夠取得很好的翻譯效果,但是,當(dāng)源 語句過長時,其翻譯效果會有所下降。特別地,隨著源語句的長度增加,其翻譯效果在一定 程度上會越來越差。
【發(fā)明內(nèi)容】
[0005] 有鑒于此,本申請?zhí)峁┝艘环N面向神經(jīng)機(jī)器翻譯的長句切分方法,用以提高NMT模 型的翻譯精準(zhǔn)度。另外,本申請還提供了一種面向神經(jīng)機(jī)器翻譯的長句切分裝置,用以保證 所述方法在實(shí)際中的應(yīng)用及實(shí)現(xiàn)。
[0006] 為實(shí)現(xiàn)所述目的,本申請?zhí)峁┑募夹g(shù)方案如下:
[0007] 本申請?zhí)峁┝艘环N面向神經(jīng)機(jī)器翻譯的長句切分方法,包括:
[0008] 在獲得待翻譯的源語句后,確定所述源語句的長度;
[0009] 在所述長度大于預(yù)設(shè)長度的情況下,利用預(yù)先構(gòu)建的切分模型對所述源語句進(jìn)行 切分,獲得多個源子句;其中,各個所述源子句之間具有先后順序;
[0010] 將每個所述源子句輸入至預(yù)先訓(xùn)練好的神經(jīng)機(jī)器翻譯NMT模型中進(jìn)行翻譯,獲得 每個所述源子句所對應(yīng)的目標(biāo)子句;
[0011] 按照各個所述源子句的先后順序,拼接所述源子句所對應(yīng)的目標(biāo)子句,獲得所述 源語句的目標(biāo)語句。
[0012] 可選地,上述的面向神經(jīng)機(jī)器翻譯的長句切分方法中,所述利用預(yù)先構(gòu)建的切分 模型對所述源語句進(jìn)行切分,獲得多個源子句,包括:
[0013] 將所述源語句作為待切分源語句;
[0014] 將所述待切分源語句輸入至預(yù)先構(gòu)建的切分模型中,獲得所述待切分源語句中每 個詞單元所對應(yīng)的切分概率;
[0015] 依據(jù)所述切分概率,在多個所述詞單元中選取目標(biāo)詞單元作為切分點(diǎn);
[0016] 將所述待切分源語句中所述切分點(diǎn)之后的語句作為新的待切分源語句,返回將所 述新的待切分源語句輸入至預(yù)先構(gòu)建的切分模型中,直至所述新的待切分源語句的長度小 于預(yù)設(shè)的最小子句長度;
[0017] 所述新的待切分源語句的長度小于預(yù)設(shè)的最小子句長度時,根據(jù)選取的各個所述 切分點(diǎn),在所述源語句中切分出源子句。
[0018] 可選地,上述切分模型包括分割子模型、調(diào)序子模型及長度子模型;
[0019] 相應(yīng)地,將所述待切分源語句輸入至預(yù)先構(gòu)建的切分模型中,獲得所述待切分源 語句中每個詞單元所對應(yīng)的切分概率,包括:
[0020] 將所述待切分源語句中的詞單元輸入至所述分割子模型,獲得所述詞單元的可分 割概率;
[0021] 將所述待切分源語句中的詞單元輸入至所述調(diào)序子模型,獲得所述詞單元對應(yīng)的 子句與上一子句的不需要調(diào)序概率;其中,所述上一子句為所述待切分源語句的前一源子 句;
[0022] 將所述待切分源語句中詞單元對應(yīng)的子句的長度輸入至所述長度子模型,獲得所 述詞單元對應(yīng)的子句的長度滿意概率;
[0023] 將所述可分割概率、所述不需要調(diào)序概率及所述長度滿意概率三者的乘積作為詞 單元的切分概率。
[0024] 可選地,上述分割子模型的構(gòu)建步驟包括:
[0025] 使用預(yù)設(shè)平行語料集中源語料與目標(biāo)語料的對齊信息,對所述源語料中的詞單元 進(jìn)行標(biāo)記;其中,所述標(biāo)記用于表示所述源語料在所述詞單元處是否可分割;
[0026] 在標(biāo)記后的所述源語料中,提取所述詞單元的分割特征;其中,所述分割特征包含 標(biāo)記為可分割的詞單元;
[0027] 使用最大熵訓(xùn)練工具,對所述分割特征進(jìn)行訓(xùn)練,獲得分割子模型。
[0028] 可選地,上述調(diào)序子模型的構(gòu)建步驟包括:
[0029] 根據(jù)預(yù)設(shè)調(diào)序算法,在預(yù)設(shè)平行語料集的源語料中,抽取調(diào)序元組;其中,所述調(diào) 序元組中包含第一源語料子句、第二源語料子句、及所述第一源語料子句翻譯后的目標(biāo)子 句與第二源語料子句翻譯后的目標(biāo)子句是否需要調(diào)序;
[0030] 在所述調(diào)序元組中,抽取調(diào)序特征;
[0031] 使用最大熵訓(xùn)練工具,對所述調(diào)序特征進(jìn)行訓(xùn)練,獲得調(diào)序子模型。
[0032] 可選地,上述長度子模型的構(gòu)建步驟包括:
[0033]根據(jù)預(yù)設(shè)的子句長度均值與方差,構(gòu)建正態(tài)概率分布模型。
[0034] 可選地,上述依據(jù)所述切分概率,在多個所述詞單元中選取目標(biāo)詞單元作為切分 點(diǎn),包括:
[0035] 利用集束搜索beamsearch算法,計(jì)算每個所述詞單元的切分概率的綜合成績,并 在所述詞單元中,選取綜合成績在前的多個目標(biāo)詞單元作為切分點(diǎn);其中,不同的目標(biāo)詞單 元作為不同切分序列中的切分點(diǎn),切分序列包括切分點(diǎn)及從該切分點(diǎn)的新的待切分源語句 中選取的切分點(diǎn);
[0036] 相應(yīng)地,所述新的待切分源語句的長度小于預(yù)設(shè)的最小子句長度時,根據(jù)選取的 各個所述切分點(diǎn),在所述源語句中切分出源子句,包括:
[0037] 所有切分點(diǎn)的新的待切分源語句的長度小于最小預(yù)設(shè)子句長度時,依據(jù)預(yù)設(shè)選取 規(guī)則,在各個所述切分序列中,選取目標(biāo)切分序列;
[0038] 根據(jù)所述目標(biāo)切分序列中的各個切分點(diǎn),在所述源語句中切分出源子句。
[0039] 可選地,上述依據(jù)所述切分概率,在多個所述詞單元中選取目標(biāo)詞單元作為切分 點(diǎn),包括:
[0040] 在多個所述詞單元中,選取最高的切分概率所對應(yīng)的詞單元作為切分點(diǎn)。
[0041] 另外,本申請還提供了一種面向神經(jīng)機(jī)器翻譯的長句切分裝置,包括:
[0042] 源語句長度確定模塊,用于在獲得待翻譯的源語句后,確定所述源語句的長度; [0043]源語句切分模塊,用于在所述長度大于預(yù)設(shè)長度的情況下,利用預(yù)先構(gòu)建的切分 模型對所述源語句進(jìn)行切分,獲得多個源子句;其中,各個所述源子句之間具有先后順序;
[0044] 源子句翻譯模塊,用于將每個所述源子句輸入至預(yù)先訓(xùn)練好的神經(jīng)機(jī)器翻譯NMT 模型中進(jìn)行翻譯,獲得每個所述源子句所對應(yīng)的目標(biāo)子句;
[0045] 翻譯子句拼接模塊,用于按照各個所述源子句的先后順序,拼接所述源子句所對 應(yīng)的目標(biāo)子句,獲得所述源語句的目標(biāo)語句。
[0046] 可選地,上述源語句切分模塊包括:
[0047] 待切分源語句獲得子模塊,用于將所述源語句作為待切分源語句;
[0048] 切分概率獲得子模塊,用于將所述待切分源語句輸入至預(yù)先構(gòu)建的切分模型中, 獲得所述待切分源語句中每個詞單元所對應(yīng)的切分概率;
[0049] 切分點(diǎn)選取子模塊,用于依據(jù)所述切分概率,在多個所述詞單元中選取目標(biāo)詞單 元作為切分點(diǎn);
[0050] 待切分源語句重新確定子模塊,用于將所述待切分源語句中所述切分點(diǎn)之后的語 句作為新的待切分源語句,返回將所述新的待切分源語句輸入至預(yù)先構(gòu)建的切分模型中, 直至所述新的待切分源語句的長度小于預(yù)設(shè)的最小子句長度;
[0051] 源語句切分子模塊,用于所述新的待切分源語句的長度小于預(yù)設(shè)的最小子句長度 時,根據(jù)選取的各個所述切分點(diǎn),在所述源語句中切分出源子句。
[0052]可選地,上述切分模型包括分割子模型、調(diào)序子模型及長度子模型;
[0053] 相應(yīng)地,所述切分概率獲得子模塊包括:
[0054] 可分割概率獲得單元,用于將所述待切分源語句中的詞單元輸入至所述分割子模 型,獲得所述詞單元的可分割概率;
[0055] 不需要調(diào)序概率獲得單元,用于將所述待切分源語句中的詞單元輸入至所述調(diào)序 子模型,獲得所述詞單元對應(yīng)的子句與上一子句的不需要調(diào)序概率;其中,所述上一子句為 所述待切分源語句的前一源子句;
[0056] 長度滿意概率獲得單元,用于將所述待切分源語句中詞單元對應(yīng)的子句的長度輸 入至所述長度子模型,獲得所述詞單元對應(yīng)的子句的長度滿意概率;
[0057] 切分概率獲得單元,用于將所述可分割概率、所述不需要調(diào)序概率及所述長度滿 意概率三者的乘積作為詞單元的切分概率。
[0058] 可選地,上述的面向神經(jīng)機(jī)器翻譯的長句切分裝置還包括:分割子模型構(gòu)建模塊; [0059]所述分割子模型構(gòu)建模塊,用于構(gòu)建分割子模型;
[0060]其中,所述分割子模型構(gòu)建模塊包括:
[0061 ]詞單元標(biāo)記子模塊,用于使用預(yù)設(shè)平行語料集中源語料與目標(biāo)語料的對齊信息, 對所述源語料中的詞單元進(jìn)行標(biāo)記;其中,所述標(biāo)記用于表示所述源語料在所述詞單元處 是否可分割;
[0062] 分割特征提取子模塊,用于在標(biāo)記后的所述源語料中,提取所述詞單元的分割特 征;其中,所述分割特征包含標(biāo)記為可分割的詞單元;
[0063] 分割子模型獲得子模塊,用于使用最大熵訓(xùn)練工具,對所述分割特征進(jìn)行訓(xùn)練,獲 得分割子模型。
[0064] 可選地,上述的面向神經(jīng)機(jī)器翻譯的長句切分裝置還包括:調(diào)序子模型構(gòu)建模塊;
[0065] 所述調(diào)序子模型構(gòu)建模塊,用于構(gòu)建調(diào)序子模型;
[0066] 其中,所述調(diào)序子模型構(gòu)建模塊包括:
[0067] 調(diào)序元組抽取子模塊,用于根據(jù)預(yù)設(shè)調(diào)序算法,在預(yù)設(shè)平行語料集的源語料中,抽 取調(diào)序元組;其中,所述調(diào)序元組中包含第一源語料子句、第二源語料子句、及所述第一源 語料子句翻譯后的目標(biāo)子句與第二源語料子句翻譯后的目標(biāo)子句是否需要調(diào)序;
[0068] 調(diào)序特征抽取子模塊,用于在所述調(diào)序元組中,抽取調(diào)序特征;
[0069] 調(diào)序子模型獲得子模塊,用于使用最大熵訓(xùn)練工具,對所述調(diào)序特征進(jìn)行訓(xùn)練,獲 得調(diào)序子模型。
[0070] 可選地,上述的面向神經(jīng)機(jī)器翻譯的長句切分裝置還包括:長度子模型構(gòu)建模塊; [0071 ]所述長度子模型構(gòu)建模塊,用于構(gòu)建長度子模型;
[0072]其中,所述長度子模型構(gòu)建模塊包括:
[0073]正態(tài)概率分布模型構(gòu)建子模塊,用于根據(jù)預(yù)設(shè)的子句長度均值與方差,構(gòu)建正態(tài) 概率分布模型。
[0074] 可選地,上述切分點(diǎn)選取子模塊包括:
[0075] 綜合成績確定單元,用于利用集束搜索beamsearch算法,計(jì)算每個所述詞單元的 切分概率的綜合成績,并在所述詞單元中,選取綜合成績在前的多個目標(biāo)詞單元作為切分 點(diǎn);其中,不同的目標(biāo)詞單元作為不同切分序列中的切分點(diǎn),切分序列包括切分點(diǎn)及從該切 分點(diǎn)的新的待切分源語句中選取的切分點(diǎn);
[0076] 相應(yīng)地,所述源語句切分子模塊包括:
[0077] 目標(biāo)切分序列選取單元,用于所有切分點(diǎn)的新的待切分源語句的長度小于最小預(yù) 設(shè)子句長度時,依據(jù)預(yù)設(shè)選取規(guī)則,在各個所述切分序列中,選取目標(biāo)切分序列;
[0078] 源子句切分單元,用于根據(jù)所述目標(biāo)切分序列中的各個切分點(diǎn),在所述源語句中 切分出源子句。
[0079] 可選地,上述切分點(diǎn)選取子模塊包括:
[0080] 選取最大切分概率單元,用于在多個所述詞單元中,選取最高的切分概率所對應(yīng) 的詞單元作為切分點(diǎn)。
[0081] 由以上技術(shù)方案可知,本申請?zhí)峁┝艘环N面向神經(jīng)機(jī)器翻譯的長句切分方法,在 使用NMT模型進(jìn)行語句翻譯前,并非直接將源語句輸入NMT模型中,而是將語句切分為較短 的子句,將各個子句依次輸入NMT模型,以使NMT模型分別依次翻譯各個切分后的子句,然 后,直接將翻譯后的子句拼接為完整子句。由于輸入WT模型翻譯的子句較短,匪T模型的翻 譯準(zhǔn)確率較高,從而提高了語句翻譯的準(zhǔn)確率。
【附圖說明】
[0082] 為了更清楚地說明本申請實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 申請的實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù) 提供的附圖獲得其他的附圖。
[0083] 圖1為本申請?zhí)峁┑拿嫦蛏窠?jīng)機(jī)器翻譯的長句切分方法實(shí)施例1的流程圖;
[0084] 圖2為本申請?zhí)峁┑姆指钭幽P偷臉?gòu)建方法流程圖;
[0085] 圖3為本申請?zhí)峁┑钠叫姓Z料中詞對齊關(guān)系的一個示例圖;
[0086] 圖4為本申請?zhí)峁┑脑凑Z句分割點(diǎn)的一個示例圖;
[0087] 圖5為本申請?zhí)峁┑恼{(diào)序子模型的構(gòu)建方法流程圖;
[0088] 圖6為本申請?zhí)峁┑氖褂们蟹帜P瞳@得切分概率的示例圖;
[0089] 圖7為本申請?zhí)峁┑拿嫦蛏窠?jīng)機(jī)器翻譯的長句切分裝置實(shí)施例1的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0090] 下面將結(jié)合本申請實(shí)施例中的附圖,對本申請實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本申請一部分實(shí)施例,而不是全部的實(shí)施例。基于 本申請中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他 實(shí)施例,都屬于本申請保護(hù)的范圍。
[0091] 參見圖1,其示出了本申請?zhí)峁┑拿嫦蛏窠?jīng)機(jī)器翻譯的長句切分方法實(shí)施例1的流 程。如圖1所示,本實(shí)施例可以具體包括步驟S101~步驟S104。
[0092] 步驟S101:在獲得待翻譯的源語句后,確定源語句的長度。
[0093]待翻譯的語句可以稱為源語句,翻譯后的語句可以稱為目標(biāo)語句。在獲得源語句 后,首先確定該源語句的長度。長度可以具體指的是源語句中包含的單詞的個數(shù),例如,源 語句為漢語"智利最高法院裁決皮諾契特喪失心神能力",該源語句的長度為18。不同語言 類型的源語句中,單詞的具體形式也不盡相同。如,源語句為漢語,則單詞為漢字;源語句為 英語,則單詞為英文。例如,源語句為漢語"智利最高法院裁決皮諾契特喪失心神能力",該 源語句的長度為18。
[0094] 步驟S102:在長度大于預(yù)設(shè)長度的情況下,利用預(yù)先構(gòu)建的切分模型對源語句進(jìn) 行切分,獲得多個源子句;其中,各個源子句之間具有先后順序。
[0095] 在實(shí)際應(yīng)用中發(fā)現(xiàn),若源語句的長度過短,使用NMT模型翻譯后,目標(biāo)語句的精準(zhǔn) 度并不高。因此,預(yù)先設(shè)置用于限制源語句是否可進(jìn)行切分的長度值,只有在源語句的長度 大于該長度值的情況下,才利用預(yù)先構(gòu)建的切分模型對源語句進(jìn)行切分。
[0096] 預(yù)先構(gòu)建有切分模型(split-model),切分模型用于將源語句切分為幾個較短的 子句,為了方便描述,可以將切分后的子句稱為源子句。需要說明的是,切分模型切分后的 源子句是具有先后順序的,該先后順序即源子句在源語句中的先后順序。另外,該多個源子 句還可以稱為子句序列。
[0097] 例如,將源語句"智利最高法院裁決皮諾契特喪失心神能力"切分為3個源子句,分 別為"智力最高法院"、"裁決皮諾契特"及"喪失心神能力"。
[0098] 步驟S103:將每個源子句輸入至預(yù)先訓(xùn)練好的神經(jīng)機(jī)器翻譯匪T模型中進(jìn)行翻譯, 獲得每個源子句所對應(yīng)的目標(biāo)子句。
[0099] 預(yù)先訓(xùn)練有神經(jīng)機(jī)器翻譯模型(Neural Machine Translation,NMT),NMT模型是 現(xiàn)有的語言翻譯模型。需要說明的是,本申請并未對NMT模型進(jìn)行創(chuàng)造性改進(jìn),而是將輸入 NMT模型的源語句進(jìn)行了切分,并非直接輸入完整的源語句。
[0100] 將切分后的源子句依次輸入神經(jīng)機(jī)器翻譯模型(Neural Machine Translation, NMT),NMT模型可以依次對其進(jìn)行翻譯,得到每個源子句各自的翻譯子句(即目標(biāo)子句)。
[0101] 例如,上述"智力最高法院"、"裁決皮諾契特"及"喪失心神能力"的目標(biāo)子句分別 為"Chilean supreme court"、"rules pinochet" 及 "mentally incompetent''。
[0102] 各個翻譯子句同樣具有先后順序,其先后順序即源子句的先后順序。從而,該多個 翻譯子句可以稱為翻譯子句序列。
[0103] 步驟S104:按照各個源子句的先后順序,拼接源子句所對應(yīng)的目標(biāo)子句,獲得源語 句的目標(biāo)語句。
[0104] 按照目標(biāo)子句的先后順序或者源子句的先后順序,拼接目標(biāo)子句后,便可以獲得 完整源語句的翻譯語句,翻譯語句即目標(biāo)語句。
[0105] 例如,上文源語句"智利最高法院裁決皮諾契特喪失心神能力"的翻譯語句為 "Chilean supreme court rules pinochet mentally incompetent''。
[0106] 由以上技術(shù)方案可知,本申請?zhí)峁┑拿嫦蛏窠?jīng)機(jī)器翻譯的長句切分方法,在使用 匪T模型進(jìn)行語句翻譯前,并非直接將源語句輸入NMT模型中,而是將語句切分為較短的子 句,將各個子句依次輸入NMT模型,以使NMT模型分別依次翻譯各個切分后的子句,然后,直 接將翻譯后的子句拼接為完整子句。由于輸入NMT模型翻譯的子句較短,NMT模型的翻譯準(zhǔn) 確率較高,從而提高了語句翻譯的準(zhǔn)確率。
[0107] 在實(shí)際應(yīng)用中,切分模型的構(gòu)建準(zhǔn)確性直接影響源語句切分子句的精準(zhǔn)度,進(jìn)而 影響整個源語句的翻譯效果。因此,對于本申請來講,構(gòu)建準(zhǔn)確的切分模型是尤為重要的。 以下具體說明,如何構(gòu)建具有較佳切分效果的切分模型。
[0108] 切分模型可以具體包括分割子模型、調(diào)序子模型及長度子模型。
[0109] 分割子模型,是使用訓(xùn)練模型訓(xùn)練獲得的,用于確定源子句中在某詞單元處可進(jìn) 行分割的概率;調(diào)序子模型也是訓(xùn)練模型訓(xùn)練獲得的,用于確定前后兩個源子句不需要進(jìn) 行調(diào)序的概率;長度子模型用于確定某個源子句的長度為滿意長度的概率。
[0110]通俗來講,使用切分模型的目的是,在源語句中找到一些分割點(diǎn)。這些分割點(diǎn)可以 把源語句分割為幾個在一定程度上獨(dú)立的源子句,從而單獨(dú)翻譯這幾個源子句。
[0111] 為了避免對翻譯后的源子句進(jìn)行調(diào)序,建立了調(diào)序子模型,調(diào)序子模型對翻譯后 的源子句是否需要調(diào)序進(jìn)行判斷,若需要進(jìn)行調(diào)序,則在該點(diǎn)不進(jìn)行分割,認(rèn)為該點(diǎn)并不是 一個好的分割點(diǎn)。同樣的,為了避免源子句長度過短,建立了長度子模型,長度子模型來控 制分割后源子句的長度。例如,可以為長度在15-20之間的子句設(shè)置較高的概率,以表示這 是一個十分愿意接受的子句長度,且可以提高該子句作為最終分割的源子句的概率。
[0112] 以下,分別說明三個子模型的構(gòu)建過程。
[0113] 如圖2所示,分割子模型的構(gòu)建方法包括步驟S201~步驟S203。
[0114] 步驟S201:使用預(yù)設(shè)平行語料集中源語料與目標(biāo)語料的對齊信息,對源語料中的 詞單元進(jìn)行標(biāo)記;其中,標(biāo)記用于表示源語料在詞單元處是否可分割。
[0115] 預(yù)先設(shè)置有平行語料集,平行語料集中包含源語料與目標(biāo)語料,其中,目標(biāo)語料指 的是源語料翻譯后的語句。源語料與目標(biāo)語料的對齊信息,指的是源語料中哪個詞與目標(biāo) 語料中的哪個詞是相互翻譯得到的。
[0116] 具體地,平行語料集中的源語料與目標(biāo)語料經(jīng)過分詞操作后,被劃分為獨(dú)立的分 詞,每個分詞可以看做一個詞單元。為每個分詞設(shè)置編號,進(jìn)而可以使用編號與編號之間的 對應(yīng)關(guān)系表示對齊信息??蛇x地,可以使用GIZA++工具,來獲得平行語料中的對齊信息。
[0117] 例如,源語料"智利最高法院裁決皮諾契特喪失心神能力"經(jīng)過分詞后獲得的源語 料分詞集合C為[智利最高法院裁決皮諾契特喪失心神能力],該集合中包含9個分詞,9個分 詞表示9個詞單元,設(shè)置9個詞單元的編號分別為0-8。該源語料對應(yīng)的目標(biāo)語料為"Chilean supreme court rules pinochet mentally incompetent",將該目標(biāo)語料分詞后獲得的目 標(biāo)語料分詞集合E為[chilean supreme court rules pinochet mentally incompetent], 各個分詞的編號分別為0-6。詞對齊信息集合A為[0-0 1-1 2-2 3-4 4-3 4-4 4-5 4-6 5-4 6-4 7-4 8-6],其中,每對詞對齊信息中,橫線前的編號為源語料分詞集合C中詞的編號,橫 線前的編號為目標(biāo)語料分詞集合E中詞的編號,當(dāng)然,反之亦可。
[0118] 根據(jù)詞對齊信息,可以構(gòu)建詞對齊關(guān)系圖,詞對齊關(guān)系圖即使用連接線將源語料 與目標(biāo)語料中具有對齊關(guān)系的詞連接起來。如圖3所示,其示出了上述示例的詞對齊關(guān)系 圖。
[0119] 使用對齊關(guān)系圖,標(biāo)記源語句中的分割點(diǎn)。
[0120] 具體地,首先定義塊的概念,再基于塊的概念,使用對齊關(guān)系圖獲得分割點(diǎn)。
[0121] 塊(block ) = ( <:,)。其中,c表示源語料,e代表目標(biāo)語料,上下標(biāo)代表開 始詞編號和結(jié)束詞編號。
[0122] 塊UH2 )需要滿足以下閉合條件:在g中的詞只對應(yīng)到< 范圍內(nèi),不能對 應(yīng)到ejf范圍外;在4外的詞不能對應(yīng)到ef范圍內(nèi)。滿足條件的塊是閉合的。
[0123] 塊中的4即表示源語料中可以單獨(dú)翻譯的部分內(nèi)容,即可以單獨(dú)翻譯的子句。
[0124] 以圖3為例,源語料c(位置在上的語料)和目標(biāo)語料e(位置在下的語料)組成的平 行語料中,包含的塊分別為(e。0 )、(',<)、( g,e22 )、 (cj,e!) ),( c02, el ) , ( <,e36 )。進(jìn)而,可以確定的是,4、q1、c22、<4、c《、c 3s 即源語料中可以單獨(dú)進(jìn)行翻譯的部分內(nèi)容。
[0125] 以上是對塊的介紹,更詳細(xì)的說明可以參見論著《linguistically motivated statistical machine translation〉〉公開的內(nèi)容。
[0126] 基于塊的定義,可以進(jìn)一步定義分割點(diǎn)。
[0127] 給定一個源語料c = [Cl,C2.........Cn]和目標(biāo)語料e = [ei,e2,........em],利用 短語抽取算法,確定一個塊Wock= ( #,< )。如果,源語料中某個位置k將塊分割為 bloakl= ( cf , <,)及block2= U/+l,<+1 ),則認(rèn)為源語料在位置k處是可以分割的。
[0128] 參見圖4,圖4為圖3的分割點(diǎn)示例圖。圖3中塊(<,e。6 )可在k = 2處,分為 blockl=(J, d)和block2=U〖,<),因此,如圖4的雙箭頭的劃分規(guī)則,可以確定 在k=2處可以將源語料分割為g和g兩個子句,第一個子句為[智利最高法院],第二個子 句是[裁決皮諾契特喪失心神能力]。
[0129] 需要說明的是,只要符合上述條件的位置都屬于分割點(diǎn),也就是說,分割點(diǎn)并非一 處,可以包含多處。另外,一般地,最后一個單詞都是默認(rèn)可分割的。
[0130] 根據(jù)分割點(diǎn)的位置,對源語料中的詞單元進(jìn)行標(biāo)記,標(biāo)記用于表示源語料在某個 詞單元位置后是否可分割。以圖3所示的源語料為例,獲得的標(biāo)記flag為[1,1,1,0,0,0,0, 0,1],分別表示在'智利','最高','法院'這三個詞(右邊)都是可分割的。
[0131]當(dāng)然,在標(biāo)記前,可以選取平行語料中較長的源語料進(jìn)行標(biāo)記,使用長度較長的源 語料訓(xùn)練得到的分割子模型的準(zhǔn)確性更高。
[0132] 步驟S202:在標(biāo)記后的源語料中,提取詞單元的分割特征;其中,分割特征包含標(biāo) 記為可分割的詞單元。
[0133] 源語料進(jìn)行標(biāo)記后,提取源語料中各個詞單元(包含可分割的詞單元)的分割特 征。分割特征指的是,詞單元、詞單元的前幾個詞及后幾個詞。其中,詞單元前后詞的個數(shù)可 以根據(jù)實(shí)際情況設(shè)定,本申請并不做具體限定??蛇x地,可以是前2個詞及后2個詞,或者,可 以是前3個詞及后3個詞。
[0134] 假設(shè),詞單元為W,則可以將該詞單元、該詞單元的前3個詞(W+W-sU后3個詞 (WiH)作為分割特征為。以圖3為例,假設(shè)詞單元W為"裁決",則分割特征為[W-F法院, W - 2 =最高,W-3 =智利,W=裁決,W1 =皮諾契,W2 =特,W3 =喪失]。
[0135] 步驟S203:使用最大熵訓(xùn)練工具,對分割特征進(jìn)行訓(xùn)練,獲得分割子模型??蛇x地, 最大熵訓(xùn)練工具可以是但不限定于Maxent工具。
[0136] 獲得每個詞單元的分割特征后,將每個詞單元的分割特征輸入最大熵模型中進(jìn)行 訓(xùn)練,便可以獲得最大熵分類器,該最大熵分類器即分割子模型。進(jìn)而,可以使用分割子模 型判斷某個源語句在單詞I處否可分割,分割子模型的具體使用方法見下文描述。
[0137] 參見圖5,其示出了調(diào)序子模型的構(gòu)建方法流程圖。如圖5,調(diào)序子模型的構(gòu)建流程 可以具體包括步驟S501~步驟S503。
[0138] 步驟S501:根據(jù)預(yù)設(shè)調(diào)序算法,在預(yù)設(shè)平行語料集的源語料中,抽取調(diào)序元組;其 中,調(diào)序元組中包含第一源語料子句、第二源語料子句、及第一源語料子句翻譯后的目標(biāo)子 句與第二源語料子句翻譯后的目標(biāo)子句是否需要調(diào)序。
[0139] 可選地,抽取調(diào)序元組的調(diào)序算法可以是但不限定于調(diào)序訓(xùn)練樣例抽取算法,如 論文《Maximum entropy based phrase reordering model for statistical machine translation》所公開的調(diào)序訓(xùn)練樣例抽取算法。
[0140] 調(diào)序元組(Y\N,S1,S2)中的S1及S2表示源語料中的兩個子句,Y\N表示該兩個子句 是否需要調(diào)序,若需要,則使用Y,若不需要,則使用N。其中,兩個子句可以分別稱為第一源 語料子句及第二源語料子句。子句可以是根據(jù)對齊信息確定出來的子句。
[0141] 步驟S502:在調(diào)序元組中,抽取調(diào)序特征。
[0142] 具體地,調(diào)序特征可以是第一源語料子句的左邊界詞及右邊界詞、以及第二源語 料子句的左邊界詞及右邊界詞。
[0143] 步驟S503:使用最大熵訓(xùn)練工具,對調(diào)序特征進(jìn)行訓(xùn)練,獲得調(diào)序子模型。
[0144] 可選地,最大熵訓(xùn)練工具可以是但不限定于Maxent工具。使用最大熵訓(xùn)練工具,訓(xùn) 練調(diào)序特征后,可以獲得最大熵分類器,該最大熵分類器即調(diào)序子模型。進(jìn)而,可以使用調(diào) 序子模型判斷分割得到的兩個源子句是否需要調(diào)序,調(diào)序子模型的具體使用方法見下文描 述。
[0145] 長度子模型,用來確定某個源子句的長度是否滿足預(yù)設(shè)的長度范圍期望。
[0146] 若分割后的子句長度不在預(yù)設(shè)的長度范圍內(nèi),則給予該子句較低的長度概率,表 示該子句不滿足期望,反之,若分割后的子句長度在預(yù)設(shè)的長度范圍內(nèi),則給予該子句較高 的長度概率,表示該子句是滿足期望的。子句的長度概率越大,則選擇該子句作為最終分割 的源語句的概率越大。
[0147] 長度子模型描述的是,不同長度范圍的子句所對應(yīng)的概率,該概率即長度滿意概 率。
[0148] 長度子模型可以是任意一種概率分布模型,例如,對數(shù)模型或正態(tài)概率分布模型 等。以構(gòu)建正態(tài)概率分布模型為例,可以預(yù)先設(shè)置子句長度均值與方差,根據(jù)均值和方差, 構(gòu)建正態(tài)概率分布模型。正態(tài)概率分布模型即可以認(rèn)為是長度子模型。
[0149] 需要說明的是,構(gòu)建長度子模型時,需要保證期望獲得的子句長度范圍對應(yīng)較高 的概率值。
[0150] 多個不同的子句長度均是可以接受的子句長度,則該多個不同的子句長度可以構(gòu) 成上述的期望獲得的子句長度范圍,可以為該范圍內(nèi)的該多個不同的子句長度設(shè)置相同的 概率值。例如,子句長度在15-20內(nèi)的子句,可以設(shè)置相同的概率值。
[0151] 因?yàn)?,對于長度在某個范圍內(nèi)的子句,NMT模型都可以很好地進(jìn)行翻譯??桃鈪^(qū)分 每個長度的子句且給與它們不同的概率,使得匪T模型計(jì)算更加繁瑣且對翻譯效果幾乎無 影響,因而,可以為長度在某個范圍內(nèi)的子句設(shè)置相同的概率值。
[0152] 以上構(gòu)建的切分子模型、調(diào)序子模型及長度子模型,可以組成切分模型。將待切分 源語句輸入切分模型,以計(jì)算該切分源語句中每個詞單元的切分概率。
[0153] 參見圖6所示的切分概率的計(jì)算流程圖。
[0154] 如圖6所示,將待切分源語句輸入至分割子模型中,獲得該待切分源語句中每個詞 單元的可分割概率。具體地,如上述說明,分割子模型可以是最大熵訓(xùn)練工具訓(xùn)練獲得的模 型,該模型可以輸出詞單元的兩個概率,即可分割的概率及不可分割的概率,本申請只獲取 可分割概率Si。
[0155] 將待切分源語句輸入至調(diào)序子模型中,獲得該待切分源語句在每個詞單元處分割 出的子句與前一輪已經(jīng)分割出的子句不需要調(diào)序的概率。具體地,待切分源語句中,可以依 次在每個詞單元處劃分出子句(即詞單元對應(yīng)的子句),調(diào)序子模型依次計(jì)算每個子句與前 一輪已經(jīng)分割出的子句的兩個概率,即需要調(diào)序的概率以及不需要調(diào)序的概率,本申請只 獲取不需要調(diào)序的概率心。
[0156]需要說明的是,"前一輪已經(jīng)分割出的子句"可以稱為"上一子句",至于為何會出 現(xiàn)"前一輪已經(jīng)分割出的子句",請見下述說明。在首輪分割時,由于并不存在"前一輪已經(jīng) 分割出的子句",因此,可以直接將該詞單元的不需要調(diào)序的概率設(shè)置為某個預(yù)設(shè)值,如 0.5〇
[0157] 將待切分源語句輸入至長度子模型中,獲得該待切分源語句在每個詞單元處分割 出的子句的長度滿意概率。具體地,待切分語句中,可以依次在每個詞單元處劃分出一個子 句(即詞單元對應(yīng)的子句),將該子句的長度輸入長度子模型后,可以輸出該詞單元對應(yīng)的 子句的長度滿意概率U。
[0158] 將可分割概率、不需要調(diào)序概率及長度滿意概率三者的乘積作為詞單元的切分概 率Pi,BP Pi = Si*Ri*Li。
[0159] 例如,待切分源語句為"智利最高法院裁決皮諾契特喪失心神能力",以詞單元"智 利"為例,該詞單元的可分割概率為〇. 5,不需要調(diào)序概率為0.7,長度滿意概率為0.1,則該 詞單元的切分概率Pi = 0.5*0.7*0.1 = 0.035。
[0160] 需要說明的是,待切分源語句中的詞單元指的是組成待切分源語句的基本單位, 詞單元可以是由分詞操作生成的分詞。
[0161] 在獲得每個詞單元的切分概率后,根據(jù)切分概率,在該多個詞單元中選擇某個詞 單元作為切分點(diǎn)。其中,該某個詞單元為目標(biāo)詞單元,該切分點(diǎn)即分割點(diǎn)。然后,可以將該切 分點(diǎn)及該切分點(diǎn)之前的子句作為本輪分割出來的一個源子句,將該切分點(diǎn)之后的語句作為 新的待切分源語句輸入至上述切分模型中,進(jìn)行下一輪的分割。
[0162] 可以理解的是,首次輸入的待切分源語句即初始的源語句,每確定出一個分割點(diǎn), 便可以分割出一個源子句,然后將剩余的語句重新輸入切分模型中,以確定下一個分割點(diǎn), 直至待切分源語句的長度小于預(yù)設(shè)的最小子句長度。待切分源語句的長度小于最小子句長 度時,根據(jù)確定出來的切分點(diǎn),便可以分割出各個源子句。
[0163] 例如,對于源語句"智利最高法院裁決皮諾契特喪失心神能力"(該源語句中各個 詞單元的編號依次為0-8),確定出的切分點(diǎn)分別為2、5及8,因此,可以將該源語句切分為 "智利最高法院"、"裁決皮諾契特"及"喪失心神能力"三個源子句。
[0164] 需要說明的是,以上說明中,每次將待切分源語句輸入切分模型后,切分模型從該 待切分源語句的首個詞單元起開始,計(jì)算每個詞單元的切分概率。但是,為了防止切分出的 源子句過短,可以使用最小子句長度,來跳過該待切分源語句的前幾個詞單元,即默認(rèn)前幾 個詞單元不可分割,直接計(jì)算后面每個詞單元的切分概率。這樣,切分點(diǎn)分割的源子句中必 然包含該前幾個詞單元,從而防止分割的源子句的長度過短。
[0165] 例如,在某輪切分時,輸入切分模型中的待切分源語句為"裁決皮諾契特喪失心神 能力"。最小子句長度為2,則切分模型直接從"皮諾契"處開始,計(jì)算該詞單元的切分模型。
[0166] 以上選取切分點(diǎn)時,是根據(jù)每個詞單元的切分概率,在多個詞單元中選擇某個詞 單元作為切分點(diǎn)。具體的實(shí)現(xiàn)方式可以包括以下兩種。
[0167] 第一種實(shí)現(xiàn)方式中,在多個詞單元中,直接選取最高的切分概率所對應(yīng)的詞單元 作為切分點(diǎn)。例如,某輪切分時,輸入切分模型中的待切分源語句為"裁決皮諾契特喪失心 神能力"經(jīng)過分詞操作后,生成的詞單元分別為"裁決"、"皮諾契"、"特"、"喪失"、"心神"及 "能力",且獲得每個詞單元的切分概率依次分別為0.3、0.2、0.9、0.5、0.3及0.6,選取最大 值0.9對應(yīng)的詞單元"特"作為本輪的切分點(diǎn)。當(dāng)然,本示例中的詞單元及其對應(yīng)的概率僅僅 是一種示例說明,在實(shí)際應(yīng)用中,可以是其他形式,本申請并不局限于此。
[0168] 第二種實(shí)現(xiàn)方式中,利用集束搜索beamsearch算法,計(jì)算每個詞單元的切分概率 的綜合成績,并在詞單元中,選取綜合成績在前的多個目標(biāo)詞單元作為切分點(diǎn);其中,不同 的目標(biāo)詞單元作為不同切分序列中的切分點(diǎn),切分序列包括切分點(diǎn)及從該切分點(diǎn)的新的待 切分源語句中選取的切分點(diǎn)。
[0169] 這樣,在所有切分點(diǎn)的新的待切分源語句的長度小于最小預(yù)設(shè)子句長度時,依據(jù) 預(yù)設(shè)選取規(guī)則,在各個切分序列中,選取目標(biāo)切分序列,進(jìn)而,根據(jù)目標(biāo)切分序列中的各個 切分點(diǎn),在源語句中切分出源子句。
[0170] 其中,集束搜索beamsearch算法為現(xiàn)有的一種搜索算法,在每次選擇切分點(diǎn)時,不 是選擇切分概率最大值作為切分點(diǎn),而是使用集束搜索beamsearch算法計(jì)算每個詞單元本 輪的切分概率與該詞單元對應(yīng)的前幾輪切分概率的綜合成績,該綜合成績可以是但不限定 于切分概率的相加或相乘,并且使用beamsearch算法的窗口,選取多個較大的綜合成績。例 如,beamsearch算法的窗口為5,則選取5個較大的綜合成績。
[0171] 選取多個綜合成績對應(yīng)的詞單元作為可能的切分點(diǎn),即該可能的切分點(diǎn)僅僅是本 輪中可能的切分點(diǎn),在停止切分后,確定出最大的綜合成績。該最大的綜合成績所對應(yīng)的各 個可能的切分點(diǎn)即作為最終的切分點(diǎn)。
[0172] 為了輔助理解,以下以具體示例對上述使用beamsearch算法的選取過程進(jìn)行舉例 說明。
[0173]假設(shè)beamsearch算法使用的窗口大小為3 〇
[0174] 第一輪分割:第一輪分割時,在多個詞單元中,選取三個較大的切分概率對應(yīng)的詞 單元作為分割點(diǎn),如選取的三個分割點(diǎn)分別為P1、P2及P3,對應(yīng)的切分概率分別為[Pl = 0.8,P2 = 0.7,P3 = 0.5]??梢岳斫獾氖牵诘谝惠喎指顣r,切分概率即綜合成績。
[0175] 第二輪分割:分別對第一輪的三個分割點(diǎn)所切分的三個子句進(jìn)行第二次分割,獲 得每個子句中每個詞單元的切分概率。例如三個子句中詞單元的切分概率分別為[Pll = 0.5,P12 = 0.4,P13 = 0.3]、[P21 = 0.9,P22 = 0.7,P23 = 0.3]、[P31=0.4,P32 = 0.5,P33 = 0.2]〇
[0176] 然后,將本輪詞單元的切分概率與該詞單元所在的子句上一輪所對應(yīng)的切分概率 --相乘,獲得本輪每個詞單元的綜合成績。如P11*P1、P12*P1、P13*P1、P21*P2、P22*P2、 P23*P2……P33*P3。最后,在該多個綜合成績中,選擇三個較大的綜合成績對應(yīng)的詞單元作 為本輪的分割點(diǎn)。如,[P2*P21,P2*P22,P1*P11]是前三個綜合成績,則本輪選擇的分割點(diǎn)分 別為P21、P22及P11。整體來看,兩輪分割后選取的分割點(diǎn)序列分別為:[[P2,P21]、[P2, P22]、[P1,P11]]。
[0177] 第三輪分割:以P21、P22及PI 1這三個分割點(diǎn)作為新的分割點(diǎn)進(jìn)行第三輪的分割, 方法同第二輪分割。以此類推,在某輪分割后,所有子句的長度都小于最小預(yù)設(shè)子句長度, 則結(jié)束分割。
[0178]假設(shè)分割完成后,可以得到三個綜合成績最高的分割序列。在這三個序列中選取 綜合最高的作為最終的分割序列。其中,綜合成績可以是該分割序列中各個分割點(diǎn)的切分 概率的乘積。當(dāng)然,在其他示例中,分割點(diǎn)的綜合成績并不局限于切分概率的乘積形式,還 可以是和值或其他形式。
[0179]以上過程可以使用以下公式表示: k
[0180] 5 = arg max J~[ Si * Ri * Li 圬1 %.
[0181] 其中,k表示分割序列中分割點(diǎn)的個數(shù)。Si表示可分割概率,Ri表示不需要調(diào)序概 率,Li表示長度滿意概率。
[0182] 以上提出了確定切分點(diǎn)的兩種方式,與第一種實(shí)現(xiàn)方式相比,第二種實(shí)現(xiàn)方式使 用beamsearch算法,beamsearch算法考慮了多輪分割的綜合情況,在一定程度上能更好地 確定切分點(diǎn),得到的翻譯結(jié)果更佳。
[0183] 以下對本申請?zhí)峁┑倪M(jìn)行介紹,需要說明的是,下文有關(guān)的說明可以參見上文提 供的,以下并不贅述。
[0184] 與上述面向神經(jīng)機(jī)器翻譯的長句切分方法實(shí)施例1相對應(yīng),本申請?zhí)峁┝艘环N面 向神經(jīng)機(jī)器翻譯的長句切分裝置實(shí)施例1。如圖7所示,該切分裝置可以具體包括:源語句長 度確定模塊701、源語句切分模塊702、源子句翻譯模塊703及翻譯子句拼接模塊704;其中:
[0185] 源語句長度確定模塊701,用于在獲得待翻譯的源語句后,確定源語句的長度;
[0186] 源語句切分模塊702,用于在長度大于預(yù)設(shè)長度的情況下,利用預(yù)先構(gòu)建的切分模 型對源語句進(jìn)行切分,獲得多個源子句;其中,各個源子句之間具有先后順序;
[0187] 源子句翻譯模塊703,用于將每個源子句輸入至預(yù)先訓(xùn)練好的神經(jīng)機(jī)器翻譯NMT模 型中進(jìn)行翻譯,獲得每個源子句所對應(yīng)的目標(biāo)子句;
[0188] 翻譯子句拼接模塊704,用于按照各個源子句的先后順序,拼接源子句所對應(yīng)的目 標(biāo)子句,獲得源語句的目標(biāo)語句。
[0189] 由以上技術(shù)方案可知,本申請?zhí)峁┑拿嫦蛏窠?jīng)機(jī)器翻譯的長句切分裝置,源語句 長度確定模塊701在使用匪T模型進(jìn)行語句翻譯前,并非直接將源語句輸入NMT模型中,而是 將語句切分為較短的子句,源語句切分模塊702將各個子句依次輸入NMT模型,以使NMT模型 分別依次翻譯各個切分后的子句,然后,翻譯子句拼接模塊704直接將源子句翻譯模塊703 翻譯后的子句拼接為完整子句。由于輸入匪T模型翻譯的子句較短,匪T模型的翻譯準(zhǔn)確率 較高,從而提高了語句翻譯的準(zhǔn)確率。
[0190] 在一個具體示例中,源語句切分模塊702可以具體包括:待切分源語句獲得子模 塊、切分概率獲得子模塊、切分點(diǎn)選取子模塊、待切分源語句重新確定子模塊、及源語句切 分子模塊。其中:
[0191 ]待切分源語句獲得子模塊,用于將源語句作為待切分源語句;
[0192] 切分概率獲得子模塊,用于將待切分源語句輸入至預(yù)先構(gòu)建的切分模型中,獲得 待切分源語句中每個詞單元所對應(yīng)的切分概率;
[0193] 切分點(diǎn)選取子模塊,用于依據(jù)切分概率,在多個詞單元中選取目標(biāo)詞單元作為切 分點(diǎn);
[0194] 待切分源語句重新確定子模塊,用于將待切分源語句中切分點(diǎn)之后的語句作為新 的待切分源語句,返回將新的待切分源語句輸入至預(yù)先構(gòu)建的切分模型中,直至新的待切 分源語句的長度小于預(yù)設(shè)的最小子句長度;
[0195] 源語句切分子模塊,用于新的待切分源語句的長度小于預(yù)設(shè)的最小子句長度時, 根據(jù)選取的各個切分點(diǎn),在源語句中切分出源子句。
[0196] 在另一具體示例中,切分模型可以具體包括分割子模型、調(diào)序子模型及長度子模 型。相應(yīng)地,切分概率獲得子模塊包括:可分割概率獲得單元、不需要調(diào)序概率獲得單元、長 度滿意概率獲得單元、及切分概率獲得單元。其中:
[0197] 可分割概率獲得單元,用于將待切分源語句中的詞單元輸入至分割子模型,獲得 詞單元的可分割概率;
[0198] 不需要調(diào)序概率獲得單元,用于將待切分源語句中的詞單元輸入至調(diào)序子模型, 獲得詞單元對應(yīng)的子句與上一子句的不需要調(diào)序概率;其中,上一子句為待切分源語句的 前一源子句;
[0199] 長度滿意概率獲得單元,用于將待切分源語句中詞單元對應(yīng)的子句的長度輸入至 長度子模型,獲得詞單元對應(yīng)的子句的長度滿意概率;
[0200] 切分概率獲得單元,用于將可分割概率、不需要調(diào)序概率及長度滿意概率三者的 乘積作為詞單元的切分概率。
[0201] 在另一具體示例中,面向神經(jīng)機(jī)器翻譯的長句切分裝置還包括:分割子模型構(gòu)建 模塊,分割子模型構(gòu)建模塊,用于構(gòu)建分割子模型。
[0202] 其中,分割子模型構(gòu)建模塊包括:詞單元標(biāo)記子模塊、分割特征提取子模塊、及分 割子模型獲得子模塊。其中:
[0203] 詞單元標(biāo)記子模塊,用于使用預(yù)設(shè)平行語料集中源語料與目標(biāo)語料的對齊信息, 對源語料中的詞單元進(jìn)行標(biāo)記;其中,標(biāo)記用于表示源語料在詞單元處是否可分割;
[0204] 分割特征提取子模塊,用于在標(biāo)記后的源語料中,提取詞單元的分割特征;其中, 分割特征包含標(biāo)記為可分割的詞單元;
[0205] 分割子模型獲得子模塊,用于使用最大熵訓(xùn)練工具,對分割特征進(jìn)行訓(xùn)練,獲得分 割子模型。
[0206] 在另一具體示例中,面向神經(jīng)機(jī)器翻譯的長句切分裝置還包括:調(diào)序子模型構(gòu)建 模塊,調(diào)序子模型構(gòu)建模塊,用于構(gòu)建調(diào)序子模型。
[0207] 其中,調(diào)序子模型構(gòu)建模塊包括:調(diào)序元組抽取子模塊、調(diào)序特征抽取子模塊、及 調(diào)序子模型獲得子模塊。其中:
[0208] 調(diào)序元組抽取子模塊,用于根據(jù)預(yù)設(shè)調(diào)序算法,在預(yù)設(shè)平行語料集的源語料中,抽 取調(diào)序元組;其中,調(diào)序元組中包含第一源語料子句、第二源語料子句、及第一源語料子句 翻譯后的目標(biāo)子句與第二源語料子句翻譯后的目標(biāo)子句是否需要調(diào)序;
[0209] 調(diào)序特征抽取子模塊,用于在調(diào)序元組中,抽取調(diào)序特征;
[0210] 調(diào)序子模型獲得子模塊,用于使用最大熵訓(xùn)練工具,對調(diào)序特征進(jìn)行訓(xùn)練,獲得調(diào) 序子模型。
[0211] 在另一具體示例中,面向神經(jīng)機(jī)器翻譯的長句切分裝置還包括:長度子模型構(gòu)建 模塊,長度子模型構(gòu)建模塊,用于構(gòu)建長度子模型。
[0212] 其中,長度子模型構(gòu)建模塊包括:
[0213]正態(tài)概率分布模型構(gòu)建子模塊,用于根據(jù)預(yù)設(shè)的子句長度均值與方差,構(gòu)建正態(tài) 概率分布模型。
[0214] 在一個具體示例中,切分點(diǎn)選取子模塊包括:綜合成績確定單元。
[0215] 綜合成績確定單元,用于利用集束搜索beamsearch算法,計(jì)算每個詞單元的切分 概率的綜合成績,并在詞單元中,選取綜合成績在前的多個目標(biāo)詞單元作為切分點(diǎn);其中, 不同的目標(biāo)詞單元作為不同切分序列中的切分點(diǎn),切分序列包括切分點(diǎn)及從該切分點(diǎn)的新 的待切分源語句中選取的切分點(diǎn);
[0216] 相應(yīng)地,源語句切分子模塊包括:目標(biāo)切分序列選取單元及源子句切分單元。其 中:
[0217] 目標(biāo)切分序列選取單元,用于所有切分點(diǎn)的新的待切分源語句的長度小于最小預(yù) 設(shè)子句長度時,依據(jù)預(yù)設(shè)選取規(guī)則,在各個切分序列中,選取目標(biāo)切分序列;
[0218] 源子句切分單元,用于根據(jù)目標(biāo)切分序列中的各個切分點(diǎn),在源語句中切分出源 子句。
[0219] 在另一具體不例中,切分點(diǎn)選取子模塊包括:切分點(diǎn)選取子模塊包括:選取最大切 分概率單元。
[0220]選取最大切分概率單元,用于在多個詞單元中,選取最高的切分概率所對應(yīng)的詞 單元作為切分點(diǎn)。
[0221]需要說明的是,本說明書中的各個實(shí)施例均采用遞進(jìn)的方式描述,每個實(shí)施例重 點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個實(shí)施例之間相同相似的部分互相參見即可。
[0222] 還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個 實(shí)體或者操作與另一個實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間 存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語"包括"、"包含"或者其任何其他變體意在涵 蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要 素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備 所固有的要素。在沒有更多限制的情況下,由語句"包括一個……"限定的要素,并不排除在 包括上述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
[0223] 對所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本申請。 對這些實(shí)施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的 一般原理可以在不脫離本申請的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本申請 將不會被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一 致的最寬的范圍。
【主權(quán)項(xiàng)】
1. 一種面向神經(jīng)機(jī)器翻譯的長句切分方法,其特征在于,包括: 在獲得待翻譯的源語句后,確定所述源語句的長度; 在所述長度大于預(yù)設(shè)長度的情況下,利用預(yù)先構(gòu)建的切分模型對所述源語句進(jìn)行切 分,獲得多個源子句;其中,各個所述源子句之間具有先后順序; 將每個所述源子句輸入至預(yù)先訓(xùn)練好的神經(jīng)機(jī)器翻譯匪T模型中進(jìn)行翻譯,獲得每個 所述源子句所對應(yīng)的目標(biāo)子句; 按照各個所述源子句的先后順序,拼接所述源子句所對應(yīng)的目標(biāo)子句,獲得所述源語 句的目標(biāo)語句。2. 根據(jù)權(quán)利要求1所述的面向神經(jīng)機(jī)器翻譯的長句切分方法,其特征在于,所述利用預(yù) 先構(gòu)建的切分模型對所述源語句進(jìn)行切分,獲得多個源子句,包括: 將所述源語句作為待切分源語句; 將所述待切分源語句輸入至預(yù)先構(gòu)建的切分模型中,獲得所述待切分源語句中每個詞 單元所對應(yīng)的切分概率; 依據(jù)所述切分概率,在多個所述詞單元中選取目標(biāo)詞單元作為切分點(diǎn); 將所述待切分源語句中所述切分點(diǎn)之后的語句作為新的待切分源語句,返回將所述新 的待切分源語句輸入至預(yù)先構(gòu)建的切分模型中,直至所述新的待切分源語句的長度小于預(yù) 設(shè)的最小子句長度; 所述新的待切分源語句的長度小于預(yù)設(shè)的最小子句長度時,根據(jù)選取的各個所述切分 點(diǎn),在所述源語句中切分出源子句。3. 根據(jù)權(quán)利要求2所述的面向神經(jīng)機(jī)器翻譯的長句切分方法,其特征在于,所述切分模 型包括分割子模型、調(diào)序子模型及長度子模型; 相應(yīng)地,將所述待切分源語句輸入至預(yù)先構(gòu)建的切分模型中,獲得所述待切分源語句 中每個詞單元所對應(yīng)的切分概率,包括: 將所述待切分源語句中的詞單元輸入至所述分割子模型,獲得所述詞單元的可分割概 率; 將所述待切分源語句中的詞單元輸入至所述調(diào)序子模型,獲得所述詞單元對應(yīng)的子句 與上一子句的不需要調(diào)序概率;其中,所述上一子句為所述待切分源語句的前一源子句; 將所述待切分源語句中詞單元對應(yīng)的子句的長度輸入至所述長度子模型,獲得所述詞 單元對應(yīng)的子句的長度滿意概率; 將所述可分割概率、所述不需要調(diào)序概率及所述長度滿意概率三者的乘積作為詞單元 的切分概率。4. 根據(jù)權(quán)利要求3所述的面向神經(jīng)機(jī)器翻譯的長句切分方法,其特征在于,所述分割子 模型的構(gòu)建步驟包括: 使用預(yù)設(shè)平行語料集中源語料與目標(biāo)語料的對齊信息,對所述源語料中的詞單元進(jìn)行 標(biāo)記;其中,所述標(biāo)記用于表示所述源語料在所述詞單元處是否可分割; 在標(biāo)記后的所述源語料中,提取所述詞單元的分割特征;其中,所述分割特征包含標(biāo)記 為可分割的詞單元; 使用最大熵訓(xùn)練工具,對所述分割特征進(jìn)行訓(xùn)練,獲得分割子模型。5. 根據(jù)權(quán)利要求3所述的面向神經(jīng)機(jī)器翻譯的長句切分方法,其特征在于,所述調(diào)序子 模型的構(gòu)建步驟包括: 根據(jù)預(yù)設(shè)調(diào)序算法,在預(yù)設(shè)平行語料集的源語料中,抽取調(diào)序元組;其中,所述調(diào)序元 組中包含第一源語料子句、第二源語料子句、及所述第一源語料子句翻譯后的目標(biāo)子句與 第二源語料子句翻譯后的目標(biāo)子句是否需要調(diào)序; 在所述調(diào)序元組中,抽取調(diào)序特征; 使用最大熵訓(xùn)練工具,對所述調(diào)序特征進(jìn)行訓(xùn)練,獲得調(diào)序子模型。6. 根據(jù)權(quán)利要求3所述的面向神經(jīng)機(jī)器翻譯的長句切分方法,其特征在于,所述長度子 模型的構(gòu)建步驟包括: 根據(jù)預(yù)設(shè)的子句長度均值與方差,構(gòu)建正態(tài)概率分布模型。7. 根據(jù)權(quán)利要求2所述的面向神經(jīng)機(jī)器翻譯的長句切分方法,其特征在于,所述依據(jù)所 述切分概率,在多個所述詞單元中選取目標(biāo)詞單元作為切分點(diǎn),包括: 利用集束搜索beamsearch算法,計(jì)算每個所述詞單元的切分概率的綜合成績,并在所 述詞單元中,選取綜合成績在前的多個目標(biāo)詞單元作為切分點(diǎn);其中,不同的目標(biāo)詞單元作 為不同切分序列中的切分點(diǎn),切分序列包括切分點(diǎn)及從該切分點(diǎn)的新的待切分源語句中選 取的切分點(diǎn); 相應(yīng)地,所述新的待切分源語句的長度小于預(yù)設(shè)的最小子句長度時,根據(jù)選取的各個 所述切分點(diǎn),在所述源語句中切分出源子句,包括: 所有切分點(diǎn)的新的待切分源語句的長度小于最小預(yù)設(shè)子句長度時,依據(jù)預(yù)設(shè)選取規(guī) 貝IJ,在各個所述切分序列中,選取目標(biāo)切分序列; 根據(jù)所述目標(biāo)切分序列中的各個切分點(diǎn),在所述源語句中切分出源子句。8. 根據(jù)權(quán)利要求2所述的面向神經(jīng)機(jī)器翻譯的長句切分方法,其特征在于,所述依據(jù)所 述切分概率,在多個所述詞單元中選取目標(biāo)詞單元作為切分點(diǎn),包括: 在多個所述詞單元中,選取最高的切分概率所對應(yīng)的詞單元作為切分點(diǎn)。9. 一種面向神經(jīng)機(jī)器翻譯的長句切分裝置,其特征在于,包括: 源語句長度確定模塊,用于在獲得待翻譯的源語句后,確定所述源語句的長度; 源語句切分模塊,用于在所述長度大于預(yù)設(shè)長度的情況下,利用預(yù)先構(gòu)建的切分模型 對所述源語句進(jìn)行切分,獲得多個源子句;其中,各個所述源子句之間具有先后順序; 源子句翻譯模塊,用于將每個所述源子句輸入至預(yù)先訓(xùn)練好的神經(jīng)機(jī)器翻譯NMT模型 中進(jìn)行翻譯,獲得每個所述源子句所對應(yīng)的目標(biāo)子句; 翻譯子句拼接模塊,用于按照各個所述源子句的先后順序,拼接所述源子句所對應(yīng)的 目標(biāo)子句,獲得所述源語句的目標(biāo)語句。10. 根據(jù)權(quán)利要求9所述的面向神經(jīng)機(jī)器翻譯的長句切分裝置,其特征在于,所述源語 句切分模塊包括: 待切分源語句獲得子模塊,用于將所述源語句作為待切分源語句; 切分概率獲得子模塊,用于將所述待切分源語句輸入至預(yù)先構(gòu)建的切分模型中,獲得 所述待切分源語句中每個詞單元所對應(yīng)的切分概率; 切分點(diǎn)選取子模塊,用于依據(jù)所述切分概率,在多個所述詞單元中選取目標(biāo)詞單元作 為切分點(diǎn); 待切分源語句重新確定子模塊,用于將所述待切分源語句中所述切分點(diǎn)之后的語句作 為新的待切分源語句,返回將所述新的待切分源語句輸入至預(yù)先構(gòu)建的切分模型中,直至 所述新的待切分源語句的長度小于預(yù)設(shè)的最小子句長度; 源語句切分子模塊,用于所述新的待切分源語句的長度小于預(yù)設(shè)的最小子句長度時, 根據(jù)選取的各個所述切分點(diǎn),在所述源語句中切分出源子句。11. 根據(jù)權(quán)利要求10所述的面向神經(jīng)機(jī)器翻譯的長句切分裝置,其特征在于,所述切分 模型包括分割子模型、調(diào)序子模型及長度子模型; 相應(yīng)地,所述切分概率獲得子模塊包括: 可分割概率獲得單元,用于將所述待切分源語句中的詞單元輸入至所述分割子模型, 獲得所述詞單元的可分割概率; 不需要調(diào)序概率獲得單元,用于將所述待切分源語句中的詞單元輸入至所述調(diào)序子模 型,獲得所述詞單元對應(yīng)的子句與上一子句的不需要調(diào)序概率;其中,所述上一子句為所述 待切分源語句的前一源子句; 長度滿意概率獲得單元,用于將所述待切分源語句中詞單元對應(yīng)的子句的長度輸入至 所述長度子模型,獲得所述詞單元對應(yīng)的子句的長度滿意概率; 切分概率獲得單元,用于將所述可分割概率、所述不需要調(diào)序概率及所述長度滿意概 率三者的乘積作為詞單元的切分概率。12. 根據(jù)權(quán)利要求11所述的面向神經(jīng)機(jī)器翻譯的長句切分裝置,其特征在于,還包括: 分割子模型構(gòu)建模塊; 所述分割子模型構(gòu)建模塊,用于構(gòu)建分割子模型; 其中,所述分割子模型構(gòu)建模塊包括: 詞單元標(biāo)記子模塊,用于使用預(yù)設(shè)平行語料集中源語料與目標(biāo)語料的對齊信息,對所 述源語料中的詞單元進(jìn)行標(biāo)記;其中,所述標(biāo)記用于表示所述源語料在所述詞單元處是否 可分割; 分割特征提取子模塊,用于在標(biāo)記后的所述源語料中,提取所述詞單元的分割特征;其 中,所述分割特征包含標(biāo)記為可分割的詞單元; 分割子模型獲得子模塊,用于使用最大熵訓(xùn)練工具,對所述分割特征進(jìn)行訓(xùn)練,獲得分 割子模型。13. 根據(jù)權(quán)利要求11所述的面向神經(jīng)機(jī)器翻譯的長句切分裝置,其特征在于,還包括: 調(diào)序子模型構(gòu)建模塊; 所述調(diào)序子模型構(gòu)建模塊,用于構(gòu)建調(diào)序子模型; 其中,所述調(diào)序子模型構(gòu)建模塊包括: 調(diào)序元組抽取子模塊,用于根據(jù)預(yù)設(shè)調(diào)序算法,在預(yù)設(shè)平行語料集的源語料中,抽取調(diào) 序元組;其中,所述調(diào)序元組中包含第一源語料子句、第二源語料子句、及所述第一源語料 子句翻譯后的目標(biāo)子句與第二源語料子句翻譯后的目標(biāo)子句是否需要調(diào)序; 調(diào)序特征抽取子模塊,用于在所述調(diào)序元組中,抽取調(diào)序特征; 調(diào)序子模型獲得子模塊,用于使用最大熵訓(xùn)練工具,對所述調(diào)序特征進(jìn)行訓(xùn)練,獲得調(diào) 序子模型。14. 根據(jù)權(quán)利要求11所述的面向神經(jīng)機(jī)器翻譯的長句切分裝置,其特征在于,還包括: 長度子模型構(gòu)建模塊; 所述長度子模型構(gòu)建模塊,用于構(gòu)建長度子模型; 其中,所述長度子模型構(gòu)建模塊包括: 正態(tài)概率分布模型構(gòu)建子模塊,用于根據(jù)預(yù)設(shè)的子句長度均值與方差,構(gòu)建正態(tài)概率 分布模型。15. 根據(jù)權(quán)利要求10所述的面向神經(jīng)機(jī)器翻譯的長句切分裝置,其特征在于,所述切分 點(diǎn)選取子模塊包括: 綜合成績確定單元,用于利用集束搜索beamsearch算法,計(jì)算每個所述詞單元的切分 概率的綜合成績,并在所述詞單元中,選取綜合成績在前的多個目標(biāo)詞單元作為切分點(diǎn);其 中,不同的目標(biāo)詞單元作為不同切分序列中的切分點(diǎn),切分序列包括切分點(diǎn)及從該切分點(diǎn) 的新的待切分源語句中選取的切分點(diǎn); 相應(yīng)地,所述源語句切分子模塊包括: 目標(biāo)切分序列選取單元,用于所有切分點(diǎn)的新的待切分源語句的長度小于最小預(yù)設(shè)子 句長度時,依據(jù)預(yù)設(shè)選取規(guī)則,在各個所述切分序列中,選取目標(biāo)切分序列; 源子句切分單元,用于根據(jù)所述目標(biāo)切分序列中的各個切分點(diǎn),在所述源語句中切分 出源子句。16. 根據(jù)權(quán)利要求10所述的面向神經(jīng)機(jī)器翻譯的長句切分裝置,其特征在于,所述切分 點(diǎn)選取子模塊包括: 選取最大切分概率單元,用于在多個所述詞單元中,選取最高的切分概率所對應(yīng)的詞 單元作為切分點(diǎn)。
【文檔編號】G06F17/28GK105912533SQ201610224531
【公開日】2016年8月31日
【申請日】2016年4月12日
【發(fā)明人】熊德意, 鄺少輝
【申請人】蘇州大學(xué)