字典樹翻譯方法
【專利摘要】本發(fā)明提供了對翻譯文件重復(fù)內(nèi)容的更細(xì)致更徹底的處理方法。該方法通過處理項目內(nèi)容,記錄項目總字?jǐn)?shù)和重復(fù)內(nèi)容的字?jǐn)?shù),當(dāng)重復(fù)的字?jǐn)?shù)占比例大于設(shè)定的閥值時,則判斷為字典樹模式。此時對重復(fù)內(nèi)容進行標(biāo)記,只要提供重復(fù)內(nèi)容中的其中一部分給譯員翻譯,翻譯完成后按照標(biāo)記的規(guī)則將重復(fù)內(nèi)容替換,即可形成一篇完整的譯文。
【專利說明】字典樹翻譯方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及計算機軟件的【技術(shù)領(lǐng)域】,具體涉及文檔轉(zhuǎn)換【技術(shù)領(lǐng)域】,文本內(nèi)容處理【技術(shù)領(lǐng)域】以及字符編碼在各種語言中的應(yīng)用。
【背景技術(shù)】
[0002]現(xiàn)有技術(shù)中重復(fù)單元的替換基于整句。而對于多語言混合的內(nèi)容,一句話中對于部分不需要翻譯的內(nèi)容就無法做更細(xì)致的處理了。無法有效提高翻譯的效率。
【發(fā)明內(nèi)容】
[0003]為了解決上述問題,本申請?zhí)峁┝艘环N文本重復(fù)句子的判斷方法,以使得翻譯成本降低和提高句子的統(tǒng)一的字典樹翻譯方法。
[0004]本發(fā)明是一種字典樹翻譯方法,包括以下步驟:
步驟1:將稿件進行處理,轉(zhuǎn)換成標(biāo)準(zhǔn)的文本文件,以Utf-S進行編碼,記錄為原文內(nèi)容;
步驟2:對文本文件進行處理,按照每個換行符是一段的格式進行存儲;
步驟3:確定原文內(nèi)容中的翻譯內(nèi)容,去除每一行中的符號、數(shù)字,并根據(jù)Unicode編碼表,去除每一行中不需要翻譯的部分,剩下部分記錄為翻譯內(nèi)容;
步驟4:確定翻譯內(nèi)容中的重復(fù)內(nèi)容,當(dāng)行中翻譯內(nèi)容相同時,則把他們記錄為重復(fù)內(nèi)容;
步驟5:計算翻譯內(nèi)容和重復(fù)內(nèi)容的總長度;
步驟6:將重復(fù)內(nèi)容的總長度與翻譯內(nèi)容的總長度進行比較,當(dāng)重復(fù)內(nèi)容的總長度占翻譯內(nèi)容的總長度的比值大于預(yù)先設(shè)定的閥值時,則記錄稿件為字典樹模式;當(dāng)小于預(yù)先設(shè)定的閥值則不對稿件進行任何處理,返回原文內(nèi)容;
步驟7:稿件被記錄為字典樹模式后,將符號、數(shù)字以及不需要翻譯的內(nèi)容進行標(biāo)記;步驟8:將重復(fù)內(nèi)容的第一個單元標(biāo)記為需要翻譯,其他單元標(biāo)記為已經(jīng)完成并將這些信息存儲到數(shù)據(jù)庫中;
步驟9:對標(biāo)記為需要翻譯的內(nèi)容進行翻譯,翻譯完成后,將所有標(biāo)記內(nèi)容替換到原文位置,完成翻譯。
[0005]在計算翻譯內(nèi)容和重復(fù)內(nèi)容的總長度時,根據(jù)Unicode編碼表,確定各語言的編碼范圍,拼音文字按照空白符切分統(tǒng)計字?jǐn)?shù),每個單詞計數(shù)為1,方塊字按照字符統(tǒng)計字?jǐn)?shù),每個字符計數(shù)為I。
[0006]遍歷原文內(nèi)容數(shù)組,以翻譯內(nèi)容做為PHP關(guān)聯(lián)數(shù)組的鍵值,按翻譯內(nèi)容對原文進行分組,任何分組的組成員數(shù)大于等于2時,即標(biāo)記為含重復(fù)內(nèi)容分組。
[0007]通過window service的office組件把doc、docx、ppt、pptx稿件轉(zhuǎn)換成標(biāo)準(zhǔn)的xml結(jié)構(gòu)。
[0008]采用第三方類庫PHPExcel,來處理xlsx和xls稿件。
[0009]稿件被記錄為字典樹模式后,將符號、數(shù)字以及不需要翻譯的內(nèi)容用[口]符號進行標(biāo)記。
[0010]本發(fā)明的有益技術(shù)效果在于:本發(fā)明提供了對翻譯文件重復(fù)內(nèi)容的細(xì)致、徹底的處理方法。該方法通過處理項目內(nèi)容,記錄項目總字?jǐn)?shù)和重復(fù)內(nèi)容的字?jǐn)?shù),當(dāng)重復(fù)的字?jǐn)?shù)占比例大于設(shè)定的閥值時,則判斷為字典樹模式。此時對重復(fù)內(nèi)容進行標(biāo)記,只要提供重復(fù)內(nèi)容中的其中一部分給譯員翻譯,翻譯完成后按照標(biāo)記的規(guī)則將重復(fù)內(nèi)容替換,即可形成一篇完整的譯文,降低翻譯成本和提高句子翻譯的準(zhǔn)確性。
【專利附圖】
【附圖說明】
[0011]圖1為本發(fā)明的字典樹模式判斷方法的流程圖。
【具體實施方式】
[0012]下面結(jié)合附圖和實施例,對本發(fā)明的【具體實施方式】作進一步詳細(xì)描述。以下實施例用于說明本發(fā)明,但不用來限制本發(fā)明的范圍。
[0013]本發(fā)明是一種字典樹翻譯方法,選擇的開發(fā)語言為PHP,包括以下步驟:
步驟1:將稿件進行特殊化處理,轉(zhuǎn)換成標(biāo)準(zhǔn)的文本文件,以Utf-S進行編碼,記錄為原文內(nèi)容;通過window service的office組件把doc、docx、ppt、pptx稿件轉(zhuǎn)換成標(biāo)準(zhǔn)的xml結(jié)構(gòu)。使用PHP的SimpleXMLElement類,設(shè)置xpath的表達式//w:p,得到一個包涵所有段落的關(guān)聯(lián)數(shù)組。通過PHP函數(shù)foreach來遍歷,即可以得到這個標(biāo)準(zhǔn)的XML文件的內(nèi)容。
[0014]采用第三方類庫PHPExcel,來處理xlsx和xls稿件。此類稿件內(nèi)容都放在單元格中?;谧笊辖呛蛃heet,就可以對單元格進行編號,并且這些編號是唯一的。在遍歷每一個單元格時,即可以得到單元格內(nèi)容又可以得到每個單元格的posit1n。提取單元格內(nèi)容時,通過判斷單元格類型,僅僅處理內(nèi)容類型為字符串和數(shù)字的單元格。
[0015]步驟2:對文本文件進行處理,按照每個換行符是一段的格式進行存儲。通過PHP函數(shù)file_put_contents將提取的內(nèi)容存儲的到文本文件中以便和后面程序通信。通過PHP函數(shù)file_get_contents獲取文本內(nèi)容,并使用PHP implode函數(shù)將內(nèi)容格式化成標(biāo)準(zhǔn)的PHP數(shù)組。
[0016]步驟3:確定原文內(nèi)容中的翻譯內(nèi)容,去除每一行中的符號、數(shù)字,并根據(jù)Unicode編碼表,去除每一行中不需要翻譯的部分,剩下部分記錄為翻譯內(nèi)容;根據(jù)Unicode編碼表,確定出基本的標(biāo)點區(qū)間0021-0040、007B-00BF、FF01-FF20、FF5B-FF65 ;對于中文稿件需要過濾原文中的英文其編碼區(qū)間為0041-007A,F(xiàn)F21-FF5A ;對于英文稿件需要過濾原文中的中文其編碼范圍為4e00-9fff ;然后通過PHP函數(shù)preg_i^plece和上一步的編碼范圍即可以得到需要翻譯的內(nèi)容,同時我們也可以對不需要翻譯的內(nèi)容進行標(biāo)記處理。
[0017]步驟4:確定翻譯內(nèi)容中的重復(fù)內(nèi)容,當(dāng)行中翻譯內(nèi)容相同時,則把他們記錄為重復(fù)內(nèi)容;遍歷原文內(nèi)容數(shù)組,以翻譯內(nèi)容做為PHP關(guān)聯(lián)數(shù)組的鍵值,按翻譯內(nèi)容對原文進行分組,任何分組的組成員數(shù)大于等于2時,即標(biāo)記為含重復(fù)內(nèi)容分組。
[0018]步驟5:計算翻譯內(nèi)容和重復(fù)內(nèi)容的總長度;在計算翻譯內(nèi)容和重復(fù)內(nèi)容的總長度時,根據(jù)Unicode編碼表,確定各語言的編碼范圍,拼音文字按照空白符切分統(tǒng)計字?jǐn)?shù),每個單詞計數(shù)為I,例如英文、法文、俄文按照空白符切分統(tǒng)計字?jǐn)?shù),每個單詞計數(shù)為I。方塊字按照字符統(tǒng)計字?jǐn)?shù),每個字符計數(shù)為I。例如中文、日文、韓文、朝鮮語按照字符統(tǒng)計字?jǐn)?shù)中每個字符計數(shù)為I。
[0019]步驟6:將重復(fù)內(nèi)容的總長度與翻譯內(nèi)容的總長度進行比較,當(dāng)重復(fù)內(nèi)容的總長度占翻譯內(nèi)容的總長度的比值大于預(yù)先設(shè)定的閥值時,則記錄稿件為字典樹模式;當(dāng)小于預(yù)先設(shè)定的閥值則不對稿件進行任何處理,返回原文內(nèi)容。
[0020]步驟7:稿件被記錄為字典樹模式后,對每個重復(fù)內(nèi)容分組的成員處理,將符號、數(shù)字以及不需要翻譯的內(nèi)容用[口]符號進行標(biāo)記。
[0021]步驟8:將重復(fù)內(nèi)容的第一個單元標(biāo)記為需要翻譯,其他單元標(biāo)記為已經(jīng)完成并將這些信息存儲到數(shù)據(jù)庫中。
[0022]步驟9:對標(biāo)記為需要翻譯的內(nèi)容進行翻譯,當(dāng)?shù)玫阶g文內(nèi)容時,遍歷重復(fù)內(nèi)容分組,提取原文中[口]的內(nèi)容,并把譯文中對應(yīng)位置的內(nèi)容進行替換,完成翻譯。
【權(quán)利要求】
1.一種字典樹翻譯方法,其特征在于,包括以下步驟: 步驟1:將稿件進行處理,轉(zhuǎn)換成標(biāo)準(zhǔn)的文本文件,以Utf-S進行編碼,記錄為原文內(nèi)容; 步驟2:對文本文件進行處理,按照每個換行符是一段的格式進行存儲; 步驟3:確定原文內(nèi)容中的翻譯內(nèi)容,去除每一行中的符號、數(shù)字,并根據(jù)Unicode編碼表,去除每一行中不需要翻譯的部分,剩下部分記錄為翻譯內(nèi)容; 步驟4:確定翻譯內(nèi)容中的重復(fù)內(nèi)容,當(dāng)行中翻譯內(nèi)容相同時,則把他們記錄為重復(fù)內(nèi)容; 步驟5:計算翻譯內(nèi)容和重復(fù)內(nèi)容的總長度; 步驟6:將重復(fù)內(nèi)容的總長度與翻譯內(nèi)容的總長度進行比較,當(dāng)重復(fù)內(nèi)容的總長度占翻譯內(nèi)容的總長度的比值大于預(yù)先設(shè)定的閥值時,則記錄稿件為字典樹模式;當(dāng)小于預(yù)先設(shè)定的閥值則不對稿件進行任何處理,返回原文內(nèi)容; 步驟7:稿件被記錄為字典樹模式后,將符號、數(shù)字以及不需要翻譯的內(nèi)容進行標(biāo)記;步驟8:將重復(fù)內(nèi)容的第一個單元標(biāo)記為需要翻譯,其他單元標(biāo)記為已經(jīng)完成并將這些信息存儲到數(shù)據(jù)庫中; 步驟9:對標(biāo)記為需要翻譯的內(nèi)容進行翻譯,翻譯完成后,將所有標(biāo)記內(nèi)容替換到原文位置,完成翻譯。
2.根據(jù)權(quán)利要求1所述的字典樹翻譯方法,其特征在于,在計算翻譯內(nèi)容和重復(fù)內(nèi)容的總長度時,根據(jù)Unicode編碼表,確定各語言的編碼范圍,拼音文字按照空白符切分統(tǒng)計字?jǐn)?shù),每個單詞計數(shù)為I,方塊字按照字符統(tǒng)計字?jǐn)?shù),每個字符計數(shù)為I。
3.根據(jù)權(quán)利要求1所述的字典樹翻譯方法,其特征在于,遍歷原文內(nèi)容數(shù)組,以翻譯內(nèi)容做為PHP關(guān)聯(lián)數(shù)組的鍵值,按翻譯內(nèi)容對原文進行分組,任何分組的組成員數(shù)大于等于2時,即標(biāo)記為含重復(fù)內(nèi)容分組。
4.根據(jù)權(quán)利要求1所述的字典樹翻譯方法,其特征在于,通過windowservice的office組件把doc、docx、ppt、pptx稿件轉(zhuǎn)換成標(biāo)準(zhǔn)的xml結(jié)構(gòu)。
5.根據(jù)權(quán)利要求1所述的字典樹翻譯方法,其特征在于,采用第三方類庫PHPExcel,來處理xlsx和xls稿件。
6.根據(jù)權(quán)利要求1所述的字典樹翻譯方法,其特征在于,稿件被記錄為字典樹模式后,將符號、數(shù)字以及不需要翻譯的內(nèi)容用[口]符號進行標(biāo)記。
【文檔編號】G06F17/28GK104331399SQ201410611501
【公開日】2015年2月4日 申請日期:2014年11月4日 優(yōu)先權(quán)日:2014年7月25日
【發(fā)明者】劉禹, 李欣 申請人:一朵云(北京)科技有限公司