專利名稱:多語種翻譯存儲器、翻譯方法以及翻譯程序的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及將原始語言的句子、字符串或者文章翻譯成目標(biāo)語言的句子、字符串或者文章的多語種翻譯裝置,更具體地,涉及用于利用TRIE結(jié)構(gòu)的翻譯存儲器的技術(shù)。
背景技術(shù):
將原始語言翻譯成目標(biāo)語言的機(jī)器翻譯技術(shù)包括詞對詞直接翻譯技術(shù)、基于分析的翻譯技術(shù)和中間語言方法、基于統(tǒng)計(jì)的翻譯技術(shù)、基于實(shí)例句子的翻譯技術(shù)等。
對于詞對詞直接翻譯技術(shù),是將構(gòu)成原始語言句子中的各個(gè)詞直接翻譯成目標(biāo)語言的詞,并根據(jù)統(tǒng)計(jì)數(shù)據(jù)或者預(yù)定規(guī)則生成目標(biāo)語言的譯文。
對于基于分析的翻譯技術(shù)和中間語言方法,是對原始語言句子進(jìn)行分詞·標(biāo)注分析、句法分析以及語義分析,并轉(zhuǎn)換為目標(biāo)語言的語義、句法、語素,然后生成目標(biāo)語言中的譯文。對于中間語言方法,是對原始語言的句子進(jìn)行分析并將其轉(zhuǎn)換為中間語言,根據(jù)轉(zhuǎn)換的中間語言生成目標(biāo)語言中的譯文。
對于基于統(tǒng)計(jì)的翻譯技術(shù),是利用語言模型和翻譯模型將原始語言翻譯成目標(biāo)語言。對于基于實(shí)例的翻譯技術(shù),像人類學(xué)習(xí)外語的過程一樣,是參照對翻譯的實(shí)例對例句進(jìn)行學(xué)習(xí)而構(gòu)成的知識庫來將原始語言的輸入句子翻譯為目標(biāo)語言的句子。
在上述的翻譯技術(shù)中,中間語言方法的若干專利文獻(xiàn)已公開。例如,日本專利申請?zhí)亻_平第6-32508號公報(bào)(以下稱作文獻(xiàn)1)提供了一種自動翻譯系統(tǒng),該自動翻譯系統(tǒng)可以利用一種中間語言同時(shí)把一種原始語言翻譯成兩種或更多種目標(biāo)語言。該翻譯系統(tǒng),對于原語言的文本數(shù)據(jù),可進(jìn)行高精度地分析和語義理解,能明確地表現(xiàn)知識信息,并以高水平的“翻譯質(zhì)量/時(shí)間”將以原始語言書寫的文獻(xiàn)翻譯成多種目標(biāo)語言。
日本專利申請?zhí)亻_昭第62-251875號公報(bào)(以下稱作文獻(xiàn)2)描述了一種電子翻譯裝置,該電子翻譯裝置根據(jù)與輸入的原始語言相關(guān)的信息來提取標(biāo)準(zhǔn)化的中間語言,并根據(jù)提取的標(biāo)準(zhǔn)化中間語言生成與提取的標(biāo)準(zhǔn)化中間語言對應(yīng)的目標(biāo)語言的信息。
日本專利申請?zhí)亻_平第5-290082號公報(bào)(以下稱作文獻(xiàn)3)提供了一種用于機(jī)器翻譯的翻譯模式,根據(jù)該翻譯模式用戶可以容易地寫作并有效地檢索。將句子模板存儲在具有樹結(jié)構(gòu)的檢索詞典中,將輸入的文本句子與檢索詞典進(jìn)行匹配。如果成功,則獲得另一語言的對應(yīng)句子模板,利用該對應(yīng)句子的模板構(gòu)成目標(biāo)語言的文本句子。如果不成功,則利用基于語言分析的機(jī)器翻譯技術(shù)和生成方法來進(jìn)行翻譯。
此外,翻譯存儲器的技術(shù)包括字符索引方法和詞索引方法。根據(jù)字符索引方法,通過針對翻譯對的雙語語料庫中包括的所有字符創(chuàng)建字符索引來實(shí)現(xiàn)翻譯存儲器。根據(jù)詞索引方法,通過針對翻譯對的雙語語料庫中包括的所有詞創(chuàng)建詞索引來實(shí)現(xiàn)翻譯存儲器。
注意,常規(guī)的翻譯技術(shù)具有以下缺陷。可以以相對容易的方式來構(gòu)建詞對詞直接翻譯技術(shù),然而同時(shí),不能保證翻譯準(zhǔn)確度。中間語言方法可以對多語機(jī)器翻譯起作用,然而句法分析和語義分析的技術(shù)并不成熟,實(shí)際應(yīng)用非常困難。此外,對于中間語言方法,高度的語言分析和中間語言生成技術(shù)是必不可少的,并且,中間語言方法不能應(yīng)用于許多領(lǐng)域的翻譯,難以增強(qiáng)其功能,并且也很難對翻譯工具進(jìn)行維護(hù)。
文獻(xiàn)3中公開的技術(shù)利用樹結(jié)構(gòu)來存儲句子模板。如果在比較句子模板時(shí)發(fā)現(xiàn)了部分模板,則用一個(gè)變量來代替該部分模板,使得能夠擴(kuò)大該模板的表達(dá)范圍。然而,如果沒有將句子中包括的詞作為部分模板登錄在樹結(jié)構(gòu)中,則存在如下的問題即使存在對應(yīng)于句子的模板,也不能找到該模板。在文獻(xiàn)3的圖7所示的樹結(jié)構(gòu)中,在句子“改進(jìn)接觸點(diǎn)”中“改進(jìn)……”的模板被找到。然而,如果沒有登錄“改進(jìn)功能”中的部分模板“功能”,則不能匹配“改進(jìn)……”模板。此外,即使在樹結(jié)構(gòu)的較下級樹中登錄了“功能”的部分模板,也不能匹配“改進(jìn)……”模板。這引起了另一問題為了覆蓋較廣范圍表達(dá),必需大量的登錄句子模板。
利用字符索引方法的實(shí)例翻譯存儲器在實(shí)時(shí)翻譯方面有困難。利用詞索引方法的實(shí)例翻譯存儲器除了在實(shí)時(shí)翻譯方面的困難之外,還不能用于多語翻譯系統(tǒng)。
發(fā)明內(nèi)容
鑒于上述背景,提出了本發(fā)明以解決上述問題,本發(fā)明提供了可以將原始語言的句子準(zhǔn)確地翻譯成目標(biāo)語言的句子的翻譯存儲器、翻譯系統(tǒng)以及翻譯程序。
本發(fā)明還提供了可以將原始語言的句子同時(shí)翻譯為多種目標(biāo)語言的句子的翻譯存儲器、翻譯系統(tǒng)以及翻譯程序。
本發(fā)明進(jìn)一步提供了可以減小雙語檢索詞典等的存儲容量并且可以高速進(jìn)行翻譯的翻譯存儲器、翻譯系統(tǒng)以及翻譯程序。
根據(jù)本發(fā)明的一個(gè)方面,可以提供一種適于句子翻譯的基于實(shí)例記憶的實(shí)例翻譯存儲器,其包括第一語言的第一檢索詞典,具有第一詞典TRIE結(jié)構(gòu)和第一索引TRIE結(jié)構(gòu);以及第二語言的第二檢索詞典,具有第二詞典TRIE結(jié)構(gòu)和第二索引TRIE結(jié)構(gòu)。第一詞典TRIE結(jié)構(gòu)和第二詞典TRIE結(jié)構(gòu)分別在其從根節(jié)點(diǎn)到多個(gè)葉子節(jié)點(diǎn)的各路徑上存儲有各子字符串。第一索引TRIE結(jié)構(gòu)和第二索引TRIE結(jié)構(gòu)分別存儲第一詞典TRIE結(jié)構(gòu)和第二詞典TRIE結(jié)構(gòu)中的子字符串的索引信息。存儲在第一檢索詞典中的索引信息包括對用于指出第二檢索詞典中的作為對第一檢索詞典中的子字符串的譯文子字符串的索引信息進(jìn)行標(biāo)識的標(biāo)識信息。采用詞典TRIE結(jié)構(gòu)和索引TRIE結(jié)構(gòu)的雙結(jié)構(gòu),以使得可以檢索子字符串、可以盡可能地減小存儲容量,并且可以加速基于句子的翻譯。
根據(jù)本發(fā)明另一方面,可以提供一種機(jī)器翻譯系統(tǒng),其包括上述的翻譯存儲器;翻譯引擎(engine),接收翻譯存儲器所不能翻譯的句子并翻譯該句子;以及輸出部,輸出由翻譯存儲器翻譯的句子或者輸出用翻譯引擎翻譯的句子。
根據(jù)本發(fā)明的另一方面,可以提供一種適于句子翻譯的基于實(shí)例記憶的翻譯存儲器,其包括檢索詞典,該檢索詞典分別具有用于第一語言和第二語言的詞典TRIE結(jié)構(gòu)和索引TRIE結(jié)構(gòu)。第一語言和第二語言各自的詞典TRIE結(jié)構(gòu)在從其根節(jié)點(diǎn)到多個(gè)葉子節(jié)點(diǎn)的各路徑上存儲著子字符串。第一語言和第二語言各自的索引TRIE結(jié)構(gòu)存儲有用于指出第一語言和第二語言中的對應(yīng)一種的子字符串的第一索引信息。該第一索引信息包括標(biāo)識用于指出第二語言的子字符串的第二索引信息的標(biāo)識信息。在一個(gè)詞典TRIE結(jié)構(gòu)中存儲多種語言的多個(gè)字符串,在一個(gè)索引TRIE結(jié)構(gòu)中存儲多種語言的多項(xiàng)索引信息。這使得可以減小存儲容量并加速翻譯過程。
根據(jù)本發(fā)明的另一方面,可以提供一種可由計(jì)算機(jī)讀取以執(zhí)行用于將原始語言翻譯為目標(biāo)語言的翻譯程序的存儲介質(zhì),該存儲介質(zhì)的功能包括以下步驟將第一語言和第二語言的子字符串存儲在第一詞典TRIE結(jié)構(gòu)和第二詞典TRIE結(jié)構(gòu)中的從根節(jié)點(diǎn)到多個(gè)葉子節(jié)點(diǎn)的各路徑上;以及在第一檢索詞典和第二檢索詞典中的第一索引TRIE結(jié)構(gòu)和第二索引TRIE結(jié)構(gòu)中建立指出存儲在第一詞典TRIE結(jié)構(gòu)和第二詞典TRIE結(jié)構(gòu)中的子字符串的索引信息。
根據(jù)以下附圖來詳細(xì)說明本發(fā)明的實(shí)施例,在附圖中圖1表示根據(jù)本發(fā)明第一實(shí)施例的機(jī)器翻譯系統(tǒng)的整體配置;圖2表示翻譯存儲器引擎的配置;圖3表示本發(fā)明實(shí)施例的翻譯存儲器引擎的硬件配置;圖4表示翻譯存儲器的檢索詞典的配置;圖5表示TRIE結(jié)構(gòu)的示例;圖6是示出詞典TRIE結(jié)構(gòu)的圖;圖7是示出索引TRIE結(jié)構(gòu)的圖;圖8是構(gòu)建詞典TRIE結(jié)構(gòu)的流程圖;
圖9是示出對字符串進(jìn)行分割的示例的圖;圖10表示將翻譯數(shù)據(jù)登錄在檢索詞典中的示例;圖11A表示詞典TRIE結(jié)構(gòu)中的節(jié)點(diǎn)的物理結(jié)構(gòu);圖11B表示索引TRIE結(jié)構(gòu);圖12A和12B表示標(biāo)志和語言ID;圖13A表示詞典TRIE結(jié)構(gòu)中的節(jié)點(diǎn)的邏輯結(jié)構(gòu);圖13B表示索引TRIE結(jié)構(gòu)中的節(jié)點(diǎn)的邏輯結(jié)構(gòu);圖14是示出如何標(biāo)注節(jié)點(diǎn)ID的圖;圖15表示節(jié)點(diǎn)記錄的排列;圖16表示檢索詞典的處理流程;圖17是示出將語言i的文本句子翻譯為語言j的另一文本句子的操作的流程圖;圖18表示日語與漢語之間的翻譯示例;圖19是示出日語和漢語的詞典TRIE結(jié)構(gòu)和索引TRIE結(jié)構(gòu)的圖;圖20表示日語與英語之間的翻譯示例;圖21是示出日語和英語的詞典TRIE結(jié)構(gòu)和索引TRIE結(jié)構(gòu)的圖;圖22表示根據(jù)本發(fā)明第二實(shí)施例的用于翻譯存儲器的檢索詞典;圖23A表示根據(jù)本發(fā)明第三實(shí)施例的用于翻譯存儲器的檢索詞典;圖23B表示根據(jù)本發(fā)明第三實(shí)施例的語言i的語言TRIE結(jié)構(gòu)的節(jié)點(diǎn)結(jié)構(gòu);以及圖24A和24B表示本發(fā)明第三實(shí)施例的變型例。
具體實(shí)施例方式
現(xiàn)在將參照附圖對本發(fā)明的實(shí)施例進(jìn)行說明。
圖1表示根據(jù)本發(fā)明第一實(shí)施例的機(jī)器翻譯系統(tǒng)1的整體配置。機(jī)器翻譯系統(tǒng)1不能正確地翻譯文獻(xiàn)的所有部分。如果強(qiáng)迫翻譯無法翻譯的部分,這將使用戶迷惑,并且這可能對理解原始內(nèi)容造成不利影響。因此,機(jī)器翻譯系統(tǒng)1設(shè)計(jì)為能夠區(qū)分翻譯結(jié)果是否成功,能提供翻譯結(jié)果的可信度。此外,翻譯系統(tǒng)具備學(xué)習(xí)功能,從而可以自動收集無法翻譯的部分,并對無法翻譯的部分進(jìn)行人工翻譯修改,通過自動學(xué)習(xí)人工翻譯修改過的譯文數(shù)據(jù),可以改進(jìn)翻譯系統(tǒng)的翻譯性能。
機(jī)器翻譯系統(tǒng)1包括翻譯存儲器引擎12、分詞·標(biāo)注分析部分14、基于模板的翻譯引擎16、基于chunk的示例翻譯引擎18、基于分析的或者詞對詞直接翻譯引擎20、以及目標(biāo)語言文本形成部22。翻譯存儲器引擎12對從原始語言文本句子輸入部10輸入的各個(gè)句子進(jìn)行翻譯。對于不能在翻譯存儲器引擎12的數(shù)據(jù)庫中相匹配的部分(即,不能準(zhǔn)確翻譯的部分)輸入到分詞·標(biāo)注分析部14,以對輸入部分的語素進(jìn)行分析。然后在將分析·標(biāo)注分析部14中分析的輸入句子的分析結(jié)果輸入到基于模板的翻譯引擎16中以基于模板進(jìn)行翻譯。如果基于模板的翻譯引擎16不能翻譯該分析結(jié)果,則將對輸入句子的分詞·標(biāo)注分析的結(jié)果輸入到基于chunk的實(shí)例翻譯引擎18,利用基于chunk的實(shí)例句對(詞的組合或者諸如名詞短語的短語)來進(jìn)行翻譯。如果基于chunk的實(shí)例翻譯引擎18不能翻譯分詞·標(biāo)注分析的結(jié)果,則將分詞·標(biāo)注分析的結(jié)果輸入到基于分析的或者詞對詞直接翻譯引擎20以根據(jù)分析或者詞來翻譯。目標(biāo)語言文本形成部22形成目標(biāo)語言的文本句子。
將在翻譯存儲器引擎12、基于模板的翻譯引擎16或者基于chunk的實(shí)例翻譯引擎18中能夠成功翻譯的翻譯結(jié)果數(shù)據(jù)分別輸入到目標(biāo)語言文本形成部22。目標(biāo)語言文本形成部22根據(jù)翻譯結(jié)果數(shù)據(jù)形成目標(biāo)語言的文本。這里,對成功地進(jìn)行了翻譯的部分提供標(biāo)識,以明示翻譯結(jié)果的準(zhǔn)確性。另一方面,由基于分析的或者詞對詞直接翻譯引擎20翻譯的翻譯結(jié)果數(shù)據(jù)僅僅作為參考在目標(biāo)語言文本形成部22輸出。這使得用戶能夠查看并且知道翻譯文本中哪部分為可靠或者不可靠。
收集部24收集在基于chunk的實(shí)例翻譯引擎18中翻譯失敗的文本數(shù)據(jù)。對收集到的不能翻譯的部分進(jìn)行人工翻譯。人工翻譯的結(jié)果輸出到學(xué)習(xí)引擎26。學(xué)習(xí)引擎26根據(jù)正確的翻譯將翻譯數(shù)據(jù)進(jìn)行學(xué)習(xí),并把學(xué)習(xí)結(jié)果登錄到翻譯詞典28。
圖2表示根據(jù)本實(shí)施例的翻譯存儲器引擎的配置。翻譯存儲器引擎12包括與N(1,2,……,N)種語言相對應(yīng)的檢索詞典12-1、12-2、……、和12-N。將檢索詞典12-1的輸出輸入到檢索詞典12-2并且將檢索詞典12-N的輸出輸入到檢索詞典12-1??梢园褭z索詞典12-1到12-N這N個(gè)檢索詞典連接起來以形成雙向循環(huán)。從原始語言文本句子輸入部分10輸入文本句子,翻譯存儲器引擎12能夠用檢索詞典12-1將該文本句子翻譯為語言1,還能夠用檢索詞典12-2將語言1的翻譯結(jié)果翻譯為語言2。換言之,可以同時(shí)將輸入的文本句子翻譯為N種語言。目標(biāo)語言文本形成部分22輸出用戶指定的目標(biāo)語言的翻譯。目標(biāo)語言不限于單種語言,可以包括兩種或更多種。
圖3表示翻譯存儲器引擎12的硬件配置。翻譯存儲器引擎12包括輸入裝置30、顯示裝置32、主存儲裝置34、外部存儲裝置36、中央處理單元(CPU)38、以及連接前述裝置和單元的總線40。輸入裝置30可以是通過鍵操作輸入單詞的鍵盤、對文件中所列的單詞進(jìn)行光學(xué)讀取的光學(xué)讀取器、或者其他硬件或軟件的計(jì)算結(jié)果。
顯示裝置32包括輸出原始語言的文本句子或者從原始語言翻譯出的目標(biāo)語言的句子的顯示器等。主存儲裝置34包括用于存儲數(shù)據(jù)(例如用于控制翻譯存儲器的程序和計(jì)算結(jié)果)的ROM或者RAM。外部存儲裝置36例如包括諸如硬盤的大容量存儲裝置,以存儲句子翻譯所必需的諸如檢索詞典12-1到12-N的翻譯詞典。CPU(中央處理單元)38根據(jù)存儲在主存儲裝置34中的程序?qū)Ω鱾€(gè)裝置或者單元進(jìn)行控制。
接下來,對翻譯存儲器引擎進(jìn)行更詳細(xì)的說明。圖4表示翻譯存儲器的檢索詞典的配置。檢索詞典12-1到12-N各自包括詞典TRIE結(jié)構(gòu)100-1到100-N以及索引TRIE結(jié)構(gòu)200-1到200-N。詞典TRIE結(jié)構(gòu)100-1按照TRIE結(jié)構(gòu)存儲與語言1相關(guān)的子字符串。索引TRIE結(jié)構(gòu)200-1按照TRIE結(jié)構(gòu)存儲用于指出詞典TRIE結(jié)構(gòu)100-1中的子字符串的索引信息。在各種語言中都建有具有詞典TRIE結(jié)構(gòu)和索引TRIE結(jié)構(gòu)的雙TRIE結(jié)構(gòu)。
TRIE結(jié)構(gòu)是語言信息處理領(lǐng)域中的合并了檢索關(guān)鍵字組中的公用字符串的樹結(jié)構(gòu)。圖5示出了其中包括5個(gè)檢索關(guān)鍵字“AB”、“ABCD”、“ABCE”、“ABXY”以及“ABXZ”的TRIE結(jié)構(gòu)的示例。圖5中的$可以用作表示詞后綴的特殊字符。在基于TRIE結(jié)構(gòu)的檢索中,當(dāng)從左起順序地掃描要搜索的字符串時(shí),從存有字符信息的根節(jié)點(diǎn)(節(jié)點(diǎn)N1)到各節(jié)點(diǎn)N2~N13對樹進(jìn)行追蹤,并提取與要檢索的字符串相匹配的詞。根據(jù)TRIE結(jié)構(gòu),可以在與要檢索的字符串成比例的時(shí)間段內(nèi)而不依賴于檢索關(guān)鍵字的數(shù)量迅速地對字符進(jìn)行檢索。
圖6是示出詞典TRIE結(jié)構(gòu)的圖。詞典TRIE結(jié)構(gòu)在從根節(jié)點(diǎn)110到葉子節(jié)點(diǎn)120-1至120-N的路徑上存儲多個(gè)子字符串。例如,對從葉子節(jié)點(diǎn)120-1到根節(jié)點(diǎn)的路徑進(jìn)行追蹤可得到該路徑上的節(jié)點(diǎn)中包括的子字符串M10、M11、……、M1n。以同樣的方式,對從葉子節(jié)點(diǎn)120-2到根節(jié)點(diǎn)的路徑進(jìn)行追蹤可得到該路徑上的節(jié)點(diǎn)中包括的子字符串M20、M21、……、M2n??梢愿鶕?jù)需要確定從根節(jié)點(diǎn)到葉子節(jié)點(diǎn)的路徑上存在的節(jié)點(diǎn)的數(shù)量,即子字符串的字符的數(shù)量。
圖7是示出索引TRIE結(jié)構(gòu)的圖。索引TRIE結(jié)構(gòu)使得可以檢索并給出詞典TRIE結(jié)構(gòu)中包括的字符串。索引TRIE結(jié)構(gòu)中的各個(gè)節(jié)點(diǎn)是用于存儲字符串的索引信息。索引信息包括用于識別詞典TRIE結(jié)構(gòu)的葉子節(jié)點(diǎn)的信息。例如,節(jié)點(diǎn)222-2存儲索引信息IN2,索引信息IN2包括詞典TRIE結(jié)構(gòu)的葉子節(jié)點(diǎn)120-2的信息。節(jié)點(diǎn)220-2存儲索引信息IN1,索引信息IN1包括詞典TRIE結(jié)構(gòu)的端節(jié)點(diǎn)120-1的信息。換言之,索引信息IN2可以指出M20、M21、……、M2n的子字符串,索引信息IN1可以指出M10、M11、……、以及M1n的子字符串。以這種方式,可以通過索引TRIE結(jié)構(gòu)中的從葉子節(jié)點(diǎn)到根節(jié)點(diǎn)的路徑中包括的索引信息指出由詞典TRIE結(jié)構(gòu)中的各個(gè)子字符串所組成的句子。
此外,索引TRIE結(jié)構(gòu)中的葉子節(jié)點(diǎn)220-1、220-2、……、220-N鏈接到另一索引TRIE結(jié)構(gòu)中的葉子節(jié)點(diǎn)230-1、230-2、……、230-N。該鏈接指出了原始語言的句子與目標(biāo)語言的翻譯句子之間的關(guān)系。例如,葉子節(jié)點(diǎn)220-2包括設(shè)置在另一語言的索引TRIE結(jié)構(gòu)中的葉子節(jié)點(diǎn)230-1的信息以鏈接到葉子節(jié)點(diǎn)230-1。由從葉子節(jié)點(diǎn)230-1到根節(jié)點(diǎn)212的路徑上的各節(jié)點(diǎn)中存儲的索引信息IN1、IN2以及IN3所給出的各子字符串所組成的句子,是從葉子節(jié)點(diǎn)220-2到根節(jié)點(diǎn)210的路徑上的各節(jié)點(diǎn)中存儲的索引信息IN1、IN2、IN3以及IN4所給出的各子字符串的譯文。
下面將對詞典TRIE結(jié)構(gòu)的創(chuàng)建流程進(jìn)行說明。參照圖8,新注冊或者添加詞典TRIE結(jié)構(gòu)。從用于翻譯存儲器的雙語數(shù)據(jù)文件輸入數(shù)據(jù)(步驟S101)。CPU 38在數(shù)據(jù)格式轉(zhuǎn)換中將輸入的數(shù)據(jù)轉(zhuǎn)換為統(tǒng)一碼(Unicode)。并生成字符串J和另一字符串C。字符串C是對字符串J的譯文。
然后,CPU 38從左到右將字符串J分為具有長度mj的kj個(gè)子字符串J1、J2、……、Jkj,如圖9所示(步驟S103)。以同樣的方式,CPU 38從左到右將字符串C分為具有長度mc的kc個(gè)子字符串C1、C2、……、Ckc。
接下來,CPU 38對子字符串J1、J2、……、Jkj或者子字符串C1、C2、……、Ckc是否包括在各自對應(yīng)語言的檢索詞典中進(jìn)行檢查(步驟S104)。如果沒有檢測到字符串J和C,則CPU 38將子字符串J1、J2、……、Jkj或者子字符串C1、C2、……、Ckc分別登錄在對應(yīng)的檢索詞典中,將信息存儲在日志文件中并結(jié)束過程(步驟S106)。
相反地,如果子字符串J1、J2、……、Jkj或者子字符串C1、C2、……、Ckc包括在各自對應(yīng)語言的檢索詞典中,則CPU 38將信息存儲在日志文件中并結(jié)束過程(步驟S106)。
用戶能夠?qū)Υ鎯υ谕獠看鎯ρb置36中的檢索詞典的內(nèi)容進(jìn)行編輯。使得能用顯示裝置32顯示現(xiàn)有檢索詞典中注冊的字符串,并可用輸入裝置30進(jìn)行校正。
圖10表示在檢索詞典中登錄的翻譯數(shù)據(jù)的示例。在圖10中,100-J是語言J的詞典TRIE結(jié)構(gòu),詞典100-C是語言C的詞典TRIE結(jié)構(gòu)。如上所述,從翻譯數(shù)據(jù)輸入兩種語言之一的語言J的字符串,將語言J的字符串分割為子字符串J1、J2、……、Jkj并將其追加到詞典TRIE結(jié)構(gòu)100-J中。另一方面,將作為對字符串J的翻譯的字符串C分割為子字符串C1、C2、……、Ckc并將其追加到詞典TRIE結(jié)構(gòu)100-C中。
在詞典TRIE結(jié)構(gòu)100-J中子字符串J1、J2、……、Jkj被存儲在從根節(jié)點(diǎn)到葉子節(jié)點(diǎn)的路徑上。由此形成語言J的索引TRIE結(jié)構(gòu)200-J。以同樣的方式,在詞典TRIE結(jié)構(gòu)100-C中子字符串C1、C2、……、Ckc被存儲在從根節(jié)點(diǎn)到葉子節(jié)點(diǎn)的路徑上。由此形成語言C的索引TRIE結(jié)構(gòu)200-C。
接下來,建立語言J的索引TRIE結(jié)構(gòu)中的葉子節(jié)點(diǎn)與語言C的索引TRIE結(jié)構(gòu)中的葉子節(jié)點(diǎn)之間的鏈接關(guān)系。以這種方式,根據(jù)翻譯數(shù)據(jù)將檢索詞典構(gòu)建為對應(yīng)于多種語言。
此外,關(guān)于分割子字符串的方法,例如,可以預(yù)定子字符串中包括的字符個(gè)數(shù)。在這種情況下,輸入句子除以預(yù)定數(shù)的值為子字符串的個(gè)數(shù)。另一種方法,可以預(yù)定子字符串的個(gè)數(shù)。在這種情況下,將輸入句子除以子字符串個(gè)數(shù)的值設(shè)為子字符串中的字符個(gè)數(shù)。子字符串中的字符個(gè)數(shù)在語言J與語言C之間可以是相同的,或者可以不同。
接下來,對TRIE結(jié)構(gòu)中的節(jié)點(diǎn)的結(jié)構(gòu)定義進(jìn)行說明。存在兩種節(jié)點(diǎn)的結(jié)構(gòu)定義,一種為物理結(jié)構(gòu),另一種為邏輯結(jié)構(gòu)。圖11A表示詞典TRIE結(jié)構(gòu)中節(jié)點(diǎn)的物理結(jié)構(gòu)。詞典TRIE節(jié)點(diǎn)ID 300表示用于標(biāo)識該節(jié)點(diǎn)的信息(ID)。字符信息302表示該節(jié)點(diǎn)中包括的字符是日語漢字字符、日語平假名字符、日語片假名字符、還是字母。如圖12A所示,字符串標(biāo)志304是表示該節(jié)點(diǎn)是否是字符串中的最末節(jié)點(diǎn)的標(biāo)志。如果標(biāo)志是0,這表示字符串的末尾。如果標(biāo)志是1,這不表示字符串的末尾。例如,詞典TRIE結(jié)構(gòu)中的葉子節(jié)點(diǎn)的標(biāo)志為0,其他節(jié)點(diǎn)的標(biāo)志為1。
如圖12B所示,譯文語言ID 306標(biāo)識語言種類。例如,將日語設(shè)為1,漢語設(shè)為2,英語設(shè)為3。此外,還設(shè)有最左子節(jié)點(diǎn)的存儲器指針308,父節(jié)點(diǎn)的存儲器指針310、以及右兄弟節(jié)點(diǎn)的存儲器指針312,這些是TRIE結(jié)構(gòu)中的必要信息。
圖11B示出了索引TRIE結(jié)構(gòu)。索引TRIE節(jié)點(diǎn)ID 320是用于標(biāo)識該節(jié)點(diǎn)的信息。詞典TRIE節(jié)點(diǎn)指針321是用于標(biāo)識與該節(jié)點(diǎn)對應(yīng)的詞典TRIE結(jié)構(gòu)中的節(jié)點(diǎn)的信息。也就是說,該信息給出了該節(jié)點(diǎn)是否是詞典TRIE結(jié)構(gòu)中的葉子節(jié)點(diǎn)的信息。句子標(biāo)志322是用于指出該節(jié)點(diǎn)是否是葉子節(jié)點(diǎn)的信息。然后,還包括譯文語言ID 324、最左子節(jié)點(diǎn)的存儲器指針326、父節(jié)點(diǎn)的存儲器指針328、以及右兄弟節(jié)點(diǎn)的存儲器指針330。譯文索引TRIE節(jié)點(diǎn)ID的指針332是給出譯文語言的索引TRIE結(jié)構(gòu)中的對應(yīng)葉子節(jié)點(diǎn)的信息。
圖13A示出了詞典TRIE結(jié)構(gòu)中的節(jié)點(diǎn)的邏輯結(jié)構(gòu)。標(biāo)號340表示上述的節(jié)點(diǎn)中存儲的字符信息。標(biāo)號342表示字符串標(biāo)志+子節(jié)點(diǎn)標(biāo)志+譯文語言ID。如上所述,如果字符串標(biāo)志是“1”,則該節(jié)點(diǎn)是中間節(jié)點(diǎn),如果字符串標(biāo)志是“0”,則該節(jié)點(diǎn)表示字符串的結(jié)尾,即,從根節(jié)點(diǎn)到該節(jié)點(diǎn)的路徑上的信息代表一個(gè)字符串。如果子節(jié)點(diǎn)標(biāo)志是“0”,這表示該節(jié)點(diǎn)沒有子節(jié)點(diǎn)。如果子節(jié)點(diǎn)標(biāo)志是“1”,這表示該節(jié)點(diǎn)有子節(jié)點(diǎn)。譯文語言ID與上述相同,還包括父節(jié)點(diǎn)ID 344和右兄弟節(jié)點(diǎn)345。
圖13B表示索引TRIE結(jié)構(gòu)中的節(jié)點(diǎn)的邏輯結(jié)構(gòu)。詞典TRIE節(jié)點(diǎn)ID350是該節(jié)點(diǎn)相對應(yīng)的詞典TRIE節(jié)點(diǎn)結(jié)構(gòu)中的葉子節(jié)點(diǎn)ID。句子標(biāo)志是表示該節(jié)點(diǎn)是否是句子的末尾的信息。索引TRIE結(jié)構(gòu)的葉子節(jié)點(diǎn)表示句子的末尾,例如,葉子節(jié)點(diǎn)的標(biāo)志是“1”而其他節(jié)點(diǎn)的標(biāo)志是“0”。索引TRIE父節(jié)點(diǎn)ID 352是用于給出該節(jié)點(diǎn)的父節(jié)點(diǎn)的信息。此外,還存儲有子標(biāo)志+索引TRIE右兄弟節(jié)點(diǎn)ID 354和譯文索引TRIE節(jié)點(diǎn)ID 356。
下面,對如何標(biāo)注節(jié)點(diǎn)ID進(jìn)行說明。圖14是示出如何標(biāo)注節(jié)點(diǎn)ID的說明圖。按照深度優(yōu)先順序?qū)RIE結(jié)構(gòu)進(jìn)行檢索,根據(jù)檢索順序使編號從1或0開始遞增,然后標(biāo)注上節(jié)點(diǎn)ID。在標(biāo)注上節(jié)點(diǎn)ID之后,根據(jù)節(jié)點(diǎn)ID順序設(shè)置并存儲對應(yīng)于節(jié)點(diǎn)ID的記錄。記錄是根據(jù)節(jié)點(diǎn)ID順序來排列的,這樣可以迅速地訪問節(jié)點(diǎn)ID所指出的節(jié)點(diǎn)信息。
圖16示出了檢索詞典的處理流程。在新追加數(shù)據(jù)時(shí),先將從圖3所示的輸入裝置30輸入的句子分割為子字符串。然后按照圖11A所示的節(jié)點(diǎn)物理結(jié)構(gòu)的定義來構(gòu)成詞典TRIE結(jié)構(gòu)中的詞信息記錄(步驟S201)。
接下來,按照深度優(yōu)先順序?qū)ξ锢鞹RIE結(jié)構(gòu)中的所有節(jié)點(diǎn)標(biāo)注ID(步驟S202)。然后,使用物理TRIE結(jié)構(gòu)和節(jié)點(diǎn)ID構(gòu)建邏輯TRIE結(jié)構(gòu)和詞信息記錄(步驟S203)。由此建立詞典TRIE結(jié)構(gòu)和索引TRIE結(jié)構(gòu)(步驟S204)。
在追加和編輯時(shí),先將現(xiàn)有的詞典TRIE結(jié)構(gòu)和現(xiàn)有的索引TRIE結(jié)構(gòu)轉(zhuǎn)換為存儲器上的物理結(jié)構(gòu)(步驟S205)。然后在存儲器上的物理TRIE結(jié)構(gòu)中編輯或者追加句子或子字符串(步驟S206)。這此,必須將TRIE結(jié)構(gòu)的根節(jié)點(diǎn)設(shè)為空(Null),并且必須從左到右地按照字符信息值的升序來排列各節(jié)點(diǎn)的各個(gè)子節(jié)點(diǎn)。例如,對于需要兩個(gè)字節(jié)來表示一個(gè)字符的語言,詞典TRIE結(jié)構(gòu)中的每個(gè)節(jié)點(diǎn)以兩個(gè)字節(jié)代表一個(gè)字符。
現(xiàn)在對多語檢索詞典的設(shè)置進(jìn)行說明。
(1)針對語言1、語言2、……、語言N將語言1、語言2、……、語言N的文本句對分別分割為多個(gè)子字符串。將分割的子字符串用于構(gòu)建各種語言的詞典TRIE結(jié)構(gòu)和索引TRIE結(jié)構(gòu)。
(2)對N個(gè)翻譯詞典TRIE結(jié)構(gòu)和索引TRIE結(jié)構(gòu)的節(jié)點(diǎn)分別標(biāo)注節(jié)點(diǎn)ID。
(3)存儲TRIE結(jié)構(gòu)TRIE結(jié)構(gòu)的節(jié)點(diǎn)信息為固定長度,所以將一個(gè)節(jié)點(diǎn)信息看作一個(gè)記錄。按照節(jié)點(diǎn)ID的順序設(shè)置TRIE結(jié)構(gòu)的節(jié)點(diǎn)信息。這使得能夠根據(jù)節(jié)點(diǎn)ID取出節(jié)點(diǎn)ID標(biāo)示的節(jié)點(diǎn)信息。
(4)使用具有語言1的文本句子—語言2的文本句子……語言N的文本句子的多種語言翻譯句對的集合,將語言i(i=1,2,……,以及N)的文本句子與語言i的詞典TRIE結(jié)構(gòu)進(jìn)行匹配,若匹配成功,使用通過上述匹配而獲得的k個(gè)節(jié)點(diǎn)ID(ID1(i)、ID2(i)、……、IDk(i))與語言i的索引TRIE結(jié)構(gòu)進(jìn)行匹配。
(5)如果匹配成功,則獲得索引TRIE結(jié)構(gòu)中匹配上的節(jié)點(diǎn)ID。把獲得的節(jié)點(diǎn)ID設(shè)置為I(i)。將譯文索引TRIE節(jié)點(diǎn)ID(譯文語言標(biāo)示i+1)表示為T(i),由此,T(1)=I(2),T(2)=T(3),……,T(N)=I(1)。
參照圖17對將語言i的文本句子翻譯為語言j的文本句子的翻譯流程進(jìn)行說明。輸入文本句子(步驟S301)。將該文本句子分割為子字符串(步驟S302)。將由此分割的子字符串分別與語言i的詞典TRIE結(jié)構(gòu)進(jìn)行匹配(步驟S303)。
如果匹配成功(步驟S304),則使用通過上述匹配而獲得的k個(gè)節(jié)點(diǎn)ID(ID1(i)、ID2(i)、……、IDk(i))與語言i的索引TRIE結(jié)構(gòu)進(jìn)行匹配。如果匹配成功(步驟S306),則根據(jù)與語言i的索引TRIE結(jié)構(gòu)的節(jié)點(diǎn)I(i)對應(yīng)的譯文索引TRIE節(jié)點(diǎn)ID的值T(i),獲得語言i+1的索引TRIE結(jié)構(gòu)中的節(jié)點(diǎn)I(i+1)的值T(i+1)(步驟S307)。
如果j等于i+1(步驟S308),則獲得從節(jié)點(diǎn)I(i+1)到根節(jié)點(diǎn)的路徑上的信息,并且獲得語言j的詞典TRIE結(jié)構(gòu)中的h個(gè)節(jié)點(diǎn)ID(步驟S309)。使用ID1(j)、ID2(j)、……、以及IDh(j),從語言j的詞典TRIE結(jié)構(gòu)中獲得譯文,并輸出由此獲得的譯文(步驟S310)。如果j不等于i+1,則返回步驟S307。這樣,將語言i的文本句子翻譯為語言j的文本句子。
現(xiàn)在對日語與漢語之間的機(jī)器翻譯的示例進(jìn)行說明。該示例可以應(yīng)用于用雙字節(jié)來表示一個(gè)字符的語言之間的機(jī)器翻譯。首先,對建立翻譯詞典的操作進(jìn)行說明。對日語和漢語的文本句對集合中的各個(gè)句對,分別將其分割為日語和漢語的多個(gè)子字符串。使用被分割好的子字符串來構(gòu)建對應(yīng)語言的詞典TRIE結(jié)構(gòu)和索引TRIE結(jié)構(gòu)。將針對如圖18所示的文本句子示例來說明怎樣從日語翻譯成漢語。如圖18所示,將日語的文本句子分割為子字符串J1到J7。如圖18所示,將漢語的文本句子分割為子字符串C1到C6,將這二者都存儲在各自的詞典TRIE結(jié)構(gòu)中。這里,將子字符串中的字符個(gè)數(shù)設(shè)為5。
圖19是示出日語和漢語的詞典TRIE結(jié)構(gòu)和索引TRIE結(jié)構(gòu)的圖。對日語和漢語的詞典TRIE結(jié)構(gòu)和索引TRIE結(jié)構(gòu)標(biāo)注節(jié)點(diǎn)ID。
對于每一對日語文本句子和漢語文本句子的對譯句對,先將對譯句對中的日語文本句子與日語的詞典TRIE結(jié)構(gòu)進(jìn)行匹配。然后將由此獲得的日語詞典TRIE結(jié)構(gòu)中的7個(gè)節(jié)點(diǎn)ID(ID1(1)、ID2(1)、……、ID7(1))與日語的索引TRIE結(jié)構(gòu)進(jìn)行匹配。當(dāng)在日語的索引TRIE結(jié)構(gòu)中匹配成功時(shí)取出節(jié)點(diǎn)ID1(1)。
再將上述對譯句對中的漢語文本句子與漢語的詞典TRIE結(jié)構(gòu)進(jìn)行匹配。將由此獲得的6個(gè)節(jié)點(diǎn)ID(ID1(2)、ID2(2)、……、ID6(2))與漢語的索引TRIE結(jié)構(gòu)進(jìn)行匹配。當(dāng)在漢語的索引TRIE結(jié)構(gòu)中匹配成功時(shí)獲得節(jié)點(diǎn)ID1(2)。假定漢語索引TRIE結(jié)構(gòu)中的節(jié)點(diǎn)I(1)的節(jié)點(diǎn)ID表示為T(1),則T(1)等于I(2)。假定日語的索引TRIE結(jié)構(gòu)中的節(jié)點(diǎn)I(2)的節(jié)點(diǎn)ID表示為T(2),則T(2)等于I(1)。
接下來說明翻譯操作。將日語文本句子分割為子字符串J。將分割的子字符串J1、J2、……、以及J7與日語的詞典TRIE結(jié)構(gòu)進(jìn)行匹配,獲得ID1(1)、ID2(1)、……、ID7(1)。
然后,將ID1(1)、ID2(1)、……、ID7(1)作為子字符串與日語的索引TRIE結(jié)構(gòu)進(jìn)行匹配。通過該匹配獲得節(jié)點(diǎn)I(1)。通過譯文索引TRIE結(jié)構(gòu)中的節(jié)點(diǎn)ID(1)的值獲得漢語的索引TRIE結(jié)構(gòu)中的節(jié)點(diǎn)I(2)。
在漢語的索引TRIE結(jié)構(gòu)中從節(jié)點(diǎn)I(2)到根節(jié)點(diǎn)對漢語的索引TRIE結(jié)構(gòu)進(jìn)行回溯,獲得漢語的詞典TRIE結(jié)構(gòu)中的節(jié)點(diǎn)ID(ID1(2)、ID2(2)、……、ID6(2))。使用節(jié)點(diǎn)ID(ID1(2)、ID2(2)、……、ID6(2))從漢語的詞典TRIE結(jié)構(gòu)提取漢語譯文。
現(xiàn)在對日語與英語之間的機(jī)器翻譯的示例進(jìn)行說明。該示例可以應(yīng)用于用雙字節(jié)來表示一個(gè)字符的語言與用單字節(jié)來表示一個(gè)字符的另一種語言之間的機(jī)器翻譯。首先,對建立翻譯詞典的操作進(jìn)行說明。分別把日語和英語的文本句子組分割為日語和英語的多個(gè)子字符串。使用被分割好的子字符串來構(gòu)建對應(yīng)語言的詞典TRIE結(jié)構(gòu)和索引TRIE結(jié)構(gòu)。將針對如圖20所示的文本句子示例來說明怎樣從日語翻譯成英語。如圖20所示,將日語的文本句子分割為子字符串J1到J5。如圖20所示,將英語的文本句子分割為E1到E4,將這二者都存儲在各自的詞典TRIE結(jié)構(gòu)中。這里,將日語的子字符串中的字符個(gè)數(shù)設(shè)為5,將英語的子字符串中的字符個(gè)數(shù)設(shè)為10。
圖21是示出日語和英語的詞典TRIE結(jié)構(gòu)和索引TRIE結(jié)構(gòu)的圖。對日語和英語的詞典TRIE結(jié)構(gòu)和索引TRIE結(jié)構(gòu)標(biāo)注節(jié)點(diǎn)ID。
對于每一對日語文本句子和英語文本句子的對譯句對,先將其中的日語文本句子與日語的詞典TRIE結(jié)構(gòu)進(jìn)行匹配。然后將由此獲得的日語詞典TRIE結(jié)構(gòu)中的5個(gè)節(jié)點(diǎn)ID(ID1(1)、ID2(1)、……、ID5(1))與日語的索引TRIE結(jié)構(gòu)進(jìn)行匹配。當(dāng)在日語的索引TRIE結(jié)構(gòu)中匹配成功時(shí)獲得節(jié)點(diǎn)ID1(1)。
再將上述對譯句對中的英語文本句子與英語的詞典TRIE結(jié)構(gòu)進(jìn)行匹配。將由此獲得的4個(gè)節(jié)點(diǎn)ID(ID1(2)、ID2(2)、……、ID4(2))與英語的索引TRIE結(jié)構(gòu)進(jìn)行匹配。當(dāng)在英語的索引TRIE結(jié)構(gòu)中匹配成功時(shí)獲得節(jié)點(diǎn)ID1(2)。假定在英語的索引TRIE結(jié)構(gòu)中的節(jié)點(diǎn)I(1)的節(jié)點(diǎn)ID表示為T(1),則T(1)等于I(2)。假定在日語的索引TRIE結(jié)構(gòu)中的節(jié)點(diǎn)I(2)的節(jié)點(diǎn)ID表示為T(2),則T(2)等于I(1)。
接下來說明翻譯操作。將日語文本句子分割為子字符串J。將分割的子字符串J1、J2、……以及J5與日語的詞典TRIE結(jié)構(gòu)進(jìn)行匹配,獲得ID1(1)、ID2(1)、……、以及ID5(1)。
然后,將ID1(1)、ID2(1)、……、ID5(1)作為子字符串與日語的索引TRIE結(jié)構(gòu)進(jìn)行匹配。通過該匹配獲得節(jié)點(diǎn)I(1)。通過翻譯索引TRIE結(jié)構(gòu)中的節(jié)點(diǎn)I(1)的值獲得英語的索引TRIE結(jié)構(gòu)中的節(jié)點(diǎn)I(2)。
在英語的索引TRIE結(jié)構(gòu)中從節(jié)點(diǎn)I(2)到根節(jié)點(diǎn)對英語的索引TRIE結(jié)構(gòu)進(jìn)行回溯,獲得英語的詞典TRIE結(jié)構(gòu)中的節(jié)點(diǎn)ID(ID1(2)、ID2(2)、……、ID4(2))。使用節(jié)點(diǎn)ID(ID1(2)、ID2(2)、……、以及ID4(2))從英語的詞典TRIE結(jié)構(gòu)提取英語譯文。
根據(jù)本發(fā)明的本實(shí)施例,翻譯存儲器能夠?qū)崿F(xiàn)多語翻譯,并能準(zhǔn)確且迅速地翻譯多種語言,此外,翻譯詞典的大小可以減小到傳統(tǒng)TRIE結(jié)構(gòu)的翻譯詞典的一半或三分之一。特別是,本發(fā)明的翻譯存儲器適合于成語、諺語、技術(shù)領(lǐng)域的報(bào)告、手冊、技術(shù)文獻(xiàn)等。此外,具有學(xué)習(xí)能力,通過學(xué)習(xí)對譯句對,可使其能夠在學(xué)習(xí)之后進(jìn)行更準(zhǔn)確的翻譯。本發(fā)明的翻譯存儲器可以應(yīng)用于建立多語種詞到詞直接翻譯詞典和基于模板的多語種實(shí)例機(jī)器翻譯裝置。
下面將對本發(fā)明的第二實(shí)施例進(jìn)行說明。詞典TRIE結(jié)構(gòu)和索引TRIE結(jié)構(gòu)可對應(yīng)多種語言(優(yōu)選為包括兩種語言)。
參照圖22,將表示第一語言的句子的字符串J分割為子字符串J1、J2、……、以及Jk1,將子字符串J1、J2、……、Jk1輸入詞典TRIE結(jié)構(gòu)400。將表示第二語言的句子的字符串C分割為子字符串C1、C2、……、Ck2,將子字符串C1、C2、……、Ck2輸入詞典TRIE結(jié)構(gòu)400。
在詞典TRIE結(jié)構(gòu)400中從根節(jié)點(diǎn)到節(jié)點(diǎn)IDi的路徑上存儲記錄Ji的信息,根據(jù)ID1、ID2、……、以及IDk1建立索引TRIE結(jié)構(gòu)410。在詞典TRIE結(jié)構(gòu)400中的從根節(jié)點(diǎn)到節(jié)點(diǎn)IDj的路徑上存儲記錄Cj的信息,根據(jù)ID1、ID2、……、以及IDk1建立索引TRIE結(jié)構(gòu)410。然后,將兩種語言的信息之間的關(guān)系添加到索引TRIE結(jié)構(gòu)。這使得可以使詞典TRIE結(jié)構(gòu)和索引TRIE結(jié)構(gòu)對應(yīng)于兩種語言。
現(xiàn)在對本發(fā)明的第三實(shí)施例進(jìn)行說明。根據(jù)本發(fā)明的第三實(shí)施例,詞典TRIE結(jié)構(gòu)和索引TRIE結(jié)構(gòu)包括在一個(gè)結(jié)構(gòu)中。圖23A示出了根據(jù)本發(fā)明第三實(shí)施例的用于翻譯存儲器的檢索詞典。這里,為了簡化,示出語言i和語言j的檢索詞典。
將語言i的句子的字符串Si登錄到語言TRIE結(jié)構(gòu)400-i。將字符串Si的信息存儲在語言i的語言TRIE結(jié)構(gòu)400-i中的從根節(jié)點(diǎn)到葉子節(jié)點(diǎn)IDi的路徑上。以同樣的方式,將字符串Sj的信息存儲在語言j的語言TRIE結(jié)構(gòu)400-j中的從根節(jié)點(diǎn)到葉子節(jié)點(diǎn)IDj的路徑上。
圖23B示出了語言i的語言TRIE結(jié)構(gòu)的節(jié)點(diǎn)結(jié)構(gòu)。節(jié)點(diǎn)結(jié)構(gòu)包括節(jié)點(diǎn)ID 402、字符信息404、句子標(biāo)志+子節(jié)點(diǎn)標(biāo)志+譯文語言ID 406、與語言j的檢索詞典對應(yīng)的譯文句子的節(jié)點(diǎn)ID 408、父節(jié)點(diǎn)410、以及右兄弟節(jié)點(diǎn)412。
為了進(jìn)行翻譯,輸入字符串Si,從語言i的TRIE結(jié)構(gòu)400-i的根節(jié)點(diǎn)開始搜索節(jié)點(diǎn)IDi,從節(jié)點(diǎn)IDi獲得譯文信息IDj。通過從語言j的TRIE結(jié)構(gòu)的節(jié)點(diǎn)IDj向根節(jié)點(diǎn)進(jìn)行反向掃描,獲得譯文句子Sj。
如果根據(jù)本發(fā)明第三實(shí)施例,檢索詞典限于兩種語言,則可以如圖24A所示地構(gòu)成TRIE結(jié)構(gòu)。將語言1的句子J和語言2的句子C分別輸入詞典TRIE結(jié)構(gòu)500以建立檢索詞典。在TRIE結(jié)構(gòu)500中,從根節(jié)點(diǎn)到節(jié)點(diǎn)IDj的路徑上存儲有關(guān)句子J的信息。在TRIE結(jié)構(gòu)500中,從根節(jié)點(diǎn)到節(jié)點(diǎn)IDc的路徑上存儲有關(guān)句子C的信息。圖24B表示其節(jié)點(diǎn)結(jié)構(gòu)。在這種情況下,譯文句子的節(jié)點(diǎn)ID 502對應(yīng)于語言1或者語言2的譯文信息。
為了進(jìn)行翻譯,從TRIE結(jié)構(gòu)500的根節(jié)點(diǎn)開始搜索句子J,獲得節(jié)點(diǎn)IDj,并且獲得IDj節(jié)點(diǎn)中存儲的譯文句子的信息IDc??梢酝ㄟ^從語言j的TRIE結(jié)構(gòu)500的節(jié)點(diǎn)Idc向根節(jié)點(diǎn)進(jìn)行反向掃描來獲得譯文句子C。
使用本實(shí)施例的翻譯存儲器,可以獲得以下的效果。第一實(shí)施例的翻譯存儲器的空間量與字符索引方法的幾乎相等,然而,已經(jīng)發(fā)現(xiàn)使用第一實(shí)施例的翻譯存儲器的翻譯速率比字符索引方法的翻譯速率快24,000倍。此外,與單詞索引方法相比,可以大大減小存儲容量,并且翻譯速率比單詞索引方法快幾乎500倍。此外,第一實(shí)施例的翻譯存儲器的存儲容量比第三實(shí)施例的翻譯存儲器的存儲容量小56%。第一實(shí)施例的翻譯速率比第三實(shí)施例的翻譯速率約快4倍。
關(guān)于上述方面的翻譯存儲器,可以針對每種語言構(gòu)建檢索詞典,可任意選擇目標(biāo)語言。換言之,本發(fā)明的翻譯存儲器是多語種翻譯存儲器。
關(guān)于上述方面的翻譯存儲器,用戶輸入任意語言的句子,獲得其在對應(yīng)語言中的翻譯。用戶能夠選擇目標(biāo)語言。
關(guān)于上述方面的翻譯存儲器,如果詞典TRIE結(jié)構(gòu)在每個(gè)子字符串中具有5個(gè)字符,則將輸入的句子按5個(gè)字符分割,在詞典TRIE結(jié)構(gòu)中對具有5個(gè)字符的子字符串進(jìn)行檢索。
本發(fā)明的翻譯存儲器可以應(yīng)用于多語種機(jī)器翻譯系統(tǒng),例如,基于模板的或基于實(shí)例的多語種機(jī)器翻譯,或者基于chunk的實(shí)例多語種機(jī)器翻譯。此外,本發(fā)明的翻譯存儲器可以應(yīng)用于掃描(scan)翻譯,根據(jù)掃描翻譯,像復(fù)印那樣實(shí)時(shí)地對文本進(jìn)行翻譯以獲得電子數(shù)據(jù),還可以應(yīng)用于具有掃描翻譯裝置的多語翻譯業(yè)務(wù),所述掃描翻譯裝置具有自動判斷翻譯結(jié)果的可信度功能和自動回收不能翻譯的功能。此外,用于執(zhí)行翻譯存儲器的軟件可以安裝在計(jì)算機(jī)上,或者可以用作移動或者便攜式電子詞典。
雖然已經(jīng)示出并說明了本發(fā)明的一些實(shí)施例,但是本領(lǐng)域技術(shù)人員應(yīng)該理解,可以在不脫離本發(fā)明的原則和精神的情況下對這些實(shí)施例進(jìn)行修改,本發(fā)明的范圍在權(quán)利要求及其等同物中限定。
在此通過引用全部并入2005年3月14日提交的包括說明書、權(quán)利要求書、附圖和摘要的日本專利申請No.2005-071068中的全部公開內(nèi)容。
權(quán)利要求
1.一種適于句子翻譯的基于實(shí)例記憶的翻譯存儲器,其包括第一語言的第一檢索詞典,具有第一詞典TRIE結(jié)構(gòu)和第一索引TRIE結(jié)構(gòu);以及第二語言的第二檢索詞典,具有第二詞典TRIE結(jié)構(gòu)和第二索引TRIE結(jié)構(gòu),第一詞典TRIE結(jié)構(gòu)和第二詞典TRIE結(jié)構(gòu)分別在其從根節(jié)點(diǎn)到多個(gè)葉子節(jié)點(diǎn)的各路徑上存儲子字符串,第一索引TRIE結(jié)構(gòu)和第二索引TRIE結(jié)構(gòu)分別存儲用于指出存儲在第一詞典TRIE結(jié)構(gòu)和第二詞典TRIE結(jié)構(gòu)中的子字符串的索引信息,存儲在第一檢索詞典中的索引信息包括標(biāo)識信息,該標(biāo)識信息對用于指出第二檢索詞典中的作為對第一檢索詞典中的子字符串的譯文子字符串的索引信息進(jìn)行標(biāo)識。
2.根據(jù)權(quán)利要求1所述的翻譯存儲器,其中,索引信息通過詞典TRIE結(jié)構(gòu)中的從根節(jié)點(diǎn)到葉子節(jié)點(diǎn)的路徑來指出子字符串。
3.根據(jù)權(quán)利要求2所述的翻譯存儲器,其中,索引信息包括用于識別詞典TRIE結(jié)構(gòu)中的葉子節(jié)點(diǎn)的節(jié)點(diǎn)ID信息項(xiàng)。
4.根據(jù)權(quán)利要求1所述的翻譯存儲器,其中,第一檢索詞典中的索引信息包括與第二檢索詞典的索引TRIE結(jié)構(gòu)中對應(yīng)的節(jié)點(diǎn)ID信息項(xiàng)。
5.根據(jù)權(quán)利要求1所述的翻譯存儲器,其中,索引信息通過索引TRIE結(jié)構(gòu)中的從根節(jié)點(diǎn)到葉子節(jié)點(diǎn)的路徑來指出由組成句子的多個(gè)子字符串。
6.根據(jù)權(quán)利要求1所述的翻譯存儲器,還包括具有第三語言的第三詞典TRIE結(jié)構(gòu)和第三索引TRIE結(jié)構(gòu)的第三檢索詞典,第三詞典TRIE結(jié)構(gòu)在其從根節(jié)點(diǎn)到多個(gè)葉子節(jié)點(diǎn)的各路徑上存儲子字符串,第三索引TRIE結(jié)構(gòu)存儲用于指出存儲在第三詞典TRIE結(jié)構(gòu)中的子字符串的索引信息,存儲在第三檢索詞典中的索引信息包括對用于指出第三檢索詞典中的作為對第一檢索詞典中的子字符串的譯文子字符串的索引信息進(jìn)行標(biāo)識的標(biāo)識信息。
7.根據(jù)權(quán)利要求1所述的翻譯存儲器,還包括輸入部,輸入可以是第一語言或者第二語言的原始語言的句子;分割部,將輸入部輸入的句子分割為多個(gè)子字符串;檢索部,將分割部分割的多個(gè)子字符串與第一檢索詞典中的第一詞典TRIE結(jié)構(gòu)進(jìn)行比較,并檢索出子字符串的索引信息;提取部,根據(jù)檢索部檢索到的索引信息在第二檢索詞典中的第二索引TRIE結(jié)構(gòu)中指定對應(yīng)的索引信息,根據(jù)指定的索引信息在第二詞典TRIE結(jié)構(gòu)中指出子字符串,并且提取第二語言中的句子;以及輸出部,輸出提取部提取的句子。
8.根據(jù)權(quán)利要求7所述的翻譯存儲器,其中,各個(gè)子字符串中包括的字符個(gè)數(shù)等于第一詞典TRIE結(jié)構(gòu)到第三詞典TRIE結(jié)構(gòu)中的每一個(gè)從根節(jié)點(diǎn)到葉子節(jié)點(diǎn)的路徑所存儲的字符個(gè)數(shù)。
9.根據(jù)權(quán)利要求1所述的翻譯存儲器,還包括從第一檢索詞典到第N檢索詞典以對應(yīng)于N種語言,其中N表示至少為2的整數(shù);其中,索引信息給出了各個(gè)檢索詞典之間的至少一個(gè)翻譯關(guān)系。
10.一種適于句子翻譯的基于實(shí)例記憶的翻譯存儲器,其包括檢索詞典,所述檢索詞典分別具有用于第一語言和第二語言的詞典TRIE結(jié)構(gòu)和索引TRIE結(jié)構(gòu),第一語言和第二語言中的詞典TRIE結(jié)構(gòu)在其從根節(jié)點(diǎn)到多個(gè)葉子節(jié)點(diǎn)的各路徑上存儲子字符串,第一語言和第二語言中的索引TRIE結(jié)構(gòu)分別存儲用于給出第一語言和第二語言所對應(yīng)的子字符串的索引信息,第一索引信息包括對用于給出第二語言的子字符串的第二索引信息進(jìn)行標(biāo)識的標(biāo)識信息。
11.一種機(jī)器翻譯系統(tǒng),包括用于基于實(shí)例記憶的的翻譯存儲器;翻譯引擎,接收翻譯存儲器所不能翻譯的句子并翻譯該句子;以及輸出部,輸出由翻譯存儲器翻譯的句子或者輸出用翻譯引擎翻譯的句子,所述翻譯存儲器包括第一語言的第一檢索詞典,具有第一詞典TRIE結(jié)構(gòu)和第一索引TRIE結(jié)構(gòu);以及第二語言的第二檢索詞典,具有第二詞典TRIE結(jié)構(gòu)和第二索引TRIE結(jié)構(gòu),第一詞典TRIE結(jié)構(gòu)和第二詞典TRIE結(jié)構(gòu)分別在其從根節(jié)點(diǎn)到多個(gè)葉子節(jié)點(diǎn)的各路徑上存儲子字符串,第一索引TRIE結(jié)構(gòu)和第二索引TRIE結(jié)構(gòu)分別存儲用于指出存儲在第一詞典TRIE結(jié)構(gòu)和第二詞典TRIE結(jié)構(gòu)中的子字符串的索引信息,存儲在第一檢索詞典中的索引信息包括對用于指出第二檢索詞典中的作為對第一檢索詞典中的子字符串的譯文子字符串的索引信息進(jìn)行標(biāo)識的標(biāo)識信息。
12.根據(jù)權(quán)利要求11所述的機(jī)器翻譯系統(tǒng),翻譯引擎包括基于模板的翻譯引擎、基于chunk的實(shí)例翻譯引擎、基于分析的翻譯引擎、以及詞對詞直接翻譯引擎中的至少一個(gè)。
13.一種翻譯方法,包括以下步驟將第一語言和第二語言的子字符串分別存儲在第一詞典TRIE結(jié)構(gòu)和第二詞典TRIE結(jié)構(gòu)中的從根節(jié)點(diǎn)到多個(gè)葉子節(jié)點(diǎn)的各路徑上;并且在第一檢索詞典和第二檢索詞典中分別建立第一索引TRIE結(jié)構(gòu)和第二索引TRIE結(jié)構(gòu),包括用于給出分別存儲在第一詞典TRIE結(jié)構(gòu)和第二詞典TRIE結(jié)構(gòu)中的子字符串的索引信息。
14.根據(jù)權(quán)利要求13所述的翻譯方法,其中,第一檢索詞典中的索引信息包括對用于給出第二檢索詞典中的作為對第一檢索詞典中的子字符串的翻譯的子字符串的索引信息進(jìn)行標(biāo)識的標(biāo)識信息。
15.根據(jù)權(quán)利要求13所述的翻譯方法,還包括以下步驟輸入可以是第一語言或者第二語言的原始語言的句子;將已輸入的句子分割為多個(gè)子字符串;將分割的多個(gè)子字符串與第一檢索詞典中的第一詞典TRIE結(jié)構(gòu)進(jìn)行比較,并檢索出子字符串的索引信息;根據(jù)檢索到的索引信息在第二檢索詞典中的第二索引TRIE結(jié)構(gòu)中指定對應(yīng)的索引信息;根據(jù)指定的索引信息在第二詞典TRIE結(jié)構(gòu)中指出子字符串;提取第二語言中的譯文句子;以及輸出提取的譯文句子。
16.一種可由計(jì)算機(jī)讀取以執(zhí)行用于將原始語言翻譯為目標(biāo)語言的翻譯程序的存儲介質(zhì),該存儲介質(zhì)的功能包括將第一語言和第二語言的子字符串存儲在第一詞典TRIE結(jié)構(gòu)和第二詞典TRIE結(jié)構(gòu)中的從根節(jié)點(diǎn)到多個(gè)葉子節(jié)點(diǎn)的各路徑上;以及在第一檢索詞典和第二檢索詞典中的第一索引TRIE結(jié)構(gòu)和第二索引TRIE結(jié)構(gòu)中建立給出存儲在第一詞典TRIE結(jié)構(gòu)和第二詞典TRIE結(jié)構(gòu)中的子字符串的索引信息。
17.根據(jù)權(quán)利要求16所述的存儲介質(zhì),其中,第一檢索詞典中的索引信息包括對用于指出第二檢索詞典中的作為對第一檢索詞典中的子字符串的譯文子字符串的索引信息進(jìn)行標(biāo)識的標(biāo)識信息。
18.根據(jù)權(quán)利要求16所述的存儲介質(zhì),還包括輸入可以是第一語言或者第二語言的原始語言的句子;將已輸入的句子分割為多個(gè)子字符串;將分割的多個(gè)子字符串與第一檢索詞典中的第一詞典TRIE結(jié)構(gòu)進(jìn)行比較,并檢索出子字符串的索引信息;根據(jù)搜索到的索引信息在第二檢索詞典中的第二索引TRIE結(jié)構(gòu)中指定對應(yīng)的索引信息;根據(jù)指定的索引信息在第二詞典TRIE結(jié)構(gòu)中指出子字符串;提取第二語言的譯文句子;以及輸出提取的譯文句子。
全文摘要
多語種翻譯存儲器、翻譯方法以及翻譯程序。適于句子翻譯的基于實(shí)例記憶的翻譯存儲器包括第一語言的第一檢索詞典,具有第一詞典TRIE結(jié)構(gòu)和第一索引TRIE結(jié)構(gòu);以及第二語言的第二檢索詞典,具有第二詞典TRIE結(jié)構(gòu)和第二索引TRIE結(jié)構(gòu)。第一詞典TRIE結(jié)構(gòu)和第二詞典TRIE結(jié)構(gòu)分別在其從根節(jié)點(diǎn)到多個(gè)葉子節(jié)點(diǎn)的各路徑上存儲子字符串。第一索引TRIE結(jié)構(gòu)和第二索引TRIE結(jié)構(gòu)分別存儲用于指出存儲在第一詞典TRIE結(jié)構(gòu)和第二詞典TRIE結(jié)構(gòu)中的子字符串的索引信息。存儲在第一檢索詞典中的索引信息包括對用于指出第二檢索詞典中的作為對第一檢索詞典中的子字符串的譯文子字符串的索引信息進(jìn)行標(biāo)識的標(biāo)識信息。
文檔編號G06F17/28GK1834955SQ200510093829
公開日2006年9月20日 申請日期2005年8月30日 優(yōu)先權(quán)日2005年3月14日
發(fā)明者劉紹明 申請人:富士施樂株式會社