專利名稱:英漢翻譯系統(tǒng)的詞法分析算法的制作方法
技術(shù)領(lǐng)域:
本發(fā)明是一種英漢翻譯系統(tǒng)的詞法分析算法,屬計(jì)算機(jī)科學(xué)中機(jī)器翻譯技術(shù)領(lǐng)域。
現(xiàn)有傳統(tǒng)英漢電子詞典只能區(qū)分出英語的不規(guī)則單詞和英語的原形單詞,而不能區(qū)分出原形單詞的規(guī)則變化形式。
本發(fā)明的目的是提出一種能區(qū)分所有英文單詞詞形變化的英漢翻譯系統(tǒng)的詞法分析算法,它可將英語的單詞分離成英語的原形單詞和附加的詞形特征屬性,并生成單詞的內(nèi)部狀態(tài),以供英漢翻譯系統(tǒng)的分析——轉(zhuǎn)換之用。
本發(fā)明的目的是這樣實(shí)現(xiàn)的在一種由邏輯運(yùn)算部件、存儲(chǔ)部件、視頻顯示部件和含英語字母鍵的鍵盤組成的英漢翻譯系統(tǒng)的詞法分析算法中一.首先建立四個(gè)知識庫英語基本單詞庫、規(guī)則變化后綴庫、不規(guī)則變化單詞庫、不需要再進(jìn)行詞法分析的單詞庫。
英語基本單詞庫中每個(gè)單詞有如下的內(nèi)容●原形單詞符號●單詞的分類標(biāo)識符和詞義屬性標(biāo)識符●上下文區(qū)分函數(shù)●單詞的中文解釋●該單詞的詞組并用多級分類算法建立英語基本單詞庫的索引文件。
規(guī)則變化后綴庫中每條后綴有如下的內(nèi)容●后綴●添加字符●條件
●追加的詞形特征屬性符號并按末字符建立規(guī)則變化后綴庫的索引文件,采用所有相同末字符的后綴存貯在一起的原則組織存貯。
不規(guī)則變化單詞中每個(gè)不規(guī)則單詞有如下的內(nèi)容●不規(guī)則單詞●原形單詞●追加的詞形特征屬性符號并為不規(guī)則變化單詞庫建立索引文件;不需要再進(jìn)行詞法分析的英語單詞庫中的內(nèi)容只有英語單詞的集合,通過訪問集合中元素的方法可訪問其內(nèi)容。這個(gè)庫的目的是使得詞法分析算法確認(rèn)當(dāng)前分析的英語單詞只有原型,不可能有形變單詞。
二.每接收一個(gè)英語單詞之后,執(zhí)行如下詞法分析算法步驟(1).訪問英語基本單詞庫,查詢該單詞是否在庫中,如果不在,則執(zhí)行步驟(2);如果在,則記錄已有一個(gè)英語原形單詞,繼續(xù)執(zhí)行步驟(2)。
(2).訪問不需要再進(jìn)行詞法分析的單詞庫,如果該單詞在該庫中,則不進(jìn)行變形單詞分析,直接執(zhí)行步驟(7)。
(3).如果該單詞具有所有格,即單詞末尾有′或′S,則首先記錄該單詞的所有格特征屬性,然后去掉單詞末尾的′或′S,然后從步驟(1)開始執(zhí)行。
(4).訪問不規(guī)則變化單詞庫,如果該單詞在該庫中,則直接從該庫中取出該單詞的原形單詞和追加的詞形特征屬性,并記錄下來,然后執(zhí)行步驟(7)。
(5).按照步驟(6)遍訪規(guī)則變化后綴庫中的每一條后綴,遍訪結(jié)束后執(zhí)行步驟(7)。
(6).如果根據(jù)當(dāng)前位置的后綴,能將該單詞分離成該單詞的原形單詞和后綴兩部分,則直接取出原形單詞并從該后綴詞條中取出追加的詞形特征屬性,記錄下來,然后取出下一條后綴按步驟(5)繼續(xù)執(zhí)行。
(7).如果該單詞沒有原形單詞,則轉(zhuǎn)例外出錯(cuò)處理。
(8).如果該單詞有一個(gè)或多個(gè)原形單詞時(shí),則按照單詞的內(nèi)部存貯結(jié)構(gòu),逐個(gè)生成原形單詞的內(nèi)部存貯結(jié)構(gòu)。
(9).如果該單詞有多個(gè)原形單詞時(shí),則按照單詞的存貯結(jié)構(gòu)中的屬性值鏈表和詞組鏈表分別合并。
(10).詞法分析結(jié)束。
本算法采用C語言,應(yīng)用人工智能技術(shù)中知識結(jié)構(gòu)的鏈表結(jié)構(gòu)和順序存貯相統(tǒng)一的方法組織存貯每一個(gè)知識庫,另外分別采用HASH算法或快速分類算法對關(guān)鍵字建立索引文件,從而達(dá)到緊湊存貯信息和快速訪問的最佳統(tǒng)一。
本算法是英漢翻譯系統(tǒng)中必不可少的一部分,尤其是提供了一個(gè)單詞具有多個(gè)原形單詞,從而為機(jī)譯系統(tǒng)中的分析——轉(zhuǎn)換算法生成出多個(gè)而且盡可能準(zhǔn)確的中文譯文奠定了基礎(chǔ)。
本算法不僅能查詢到原形單詞,而且還能查詢到各種形變單詞,為傳統(tǒng)英漢電子詞典中英語單詞查詢提供了全新的方法。
本算法應(yīng)用了邏輯推理,可獲得一個(gè)單詞可能有的多個(gè)原形單詞及其附加屬性,不僅在英漢翻譯系統(tǒng)中可以使用,而且在傳統(tǒng)的英漢電子詞典中也可以使用,以解決許多形變單詞在電子詞典中無法查到的現(xiàn)象。
以下結(jié)合附圖
和發(fā)明實(shí)例對本發(fā)明作詳細(xì)描述。
圖一是詞法分析算法的總體結(jié)構(gòu)圖;圖二是英語基本單詞庫結(jié)構(gòu)(含索引文件和單詞文本文件);圖三是英語規(guī)則變化后綴庫結(jié)構(gòu)(含末字符鏈表索引文件和后綴文本文件);圖四是英語不規(guī)則單詞庫結(jié)構(gòu)(含索引文件和不規(guī)則單詞文本文件);圖五是不再需要詞法分析的單詞庫結(jié)構(gòu)(只有文本文件);圖六是英語單詞內(nèi)部結(jié)構(gòu)及有關(guān)項(xiàng)結(jié)構(gòu);圖七是訪問英語基本單詞庫中單詞及獲取單詞信息的算法流程;圖八是不規(guī)則單詞訪問及獲取原形單詞和詞形特征屬性的算法流程;
圖九是根據(jù)后綴庫分離原形單詞和后綴的算法流程;圖十是訪問不需要再進(jìn)行詞法分析單詞庫中的單詞的算法流程;圖十一是每個(gè)單詞的詞法分析并生成單詞內(nèi)部結(jié)構(gòu)的算法流程。
在英漢機(jī)器翻譯系統(tǒng)中,要將任意的英語句子翻譯成相應(yīng)的中文譯文,其首要問題是要完整正確地識別出英語的各種單詞,然后才能經(jīng)分析——轉(zhuǎn)換算法翻譯成中文。我們知道,在一定領(lǐng)域內(nèi),英語中的基本(即原形)單詞是有一定規(guī)模的,但另一方面,在各種時(shí)態(tài)、語態(tài)等場景下,原形單詞又有它的形變單詞,而且有部分單詞的形變單詞是不規(guī)則變化的,無規(guī)則可循,但這部分單詞數(shù)量有限,因此可以建立一個(gè)不規(guī)則變化單詞庫來記錄這些不規(guī)則變化的單詞;另外,還有一部分單詞的形變單詞是規(guī)則變化的,體現(xiàn)在這些單詞的末尾變化上,而且數(shù)量不少,因此需要建立一個(gè)規(guī)則變化后綴庫來記錄這些末尾字符的組合;由于一個(gè)原形單詞經(jīng)規(guī)則變化后綴庫分離后,能夠成功地分離成另外的原形單詞和后綴,這種分離,有時(shí)對句子的翻譯影響很大,因此是不允許的,因而需要建立一個(gè)不需要再進(jìn)行詞法分析的單詞庫來記錄這些單詞。
本實(shí)例以配有邏輯運(yùn)算部件、存儲(chǔ)部件、視頻顯示部件和含英語字母鍵的鍵盤組成的微機(jī)為硬件支持。
實(shí)例圖一說明了本詞法分析算法是基于英語基本單詞庫、規(guī)則變化后綴庫、不規(guī)則變化單詞庫和不再詞法分析的單詞庫四個(gè)知識庫之上的詞法分析過程,即在詞法分析算法接收一個(gè)英語單詞之后,首先將訪問英語的基本單詞庫,確認(rèn)該單詞是否有一個(gè)原形單詞;通過訪問不需要再進(jìn)行詞法分析的單詞庫,確認(rèn)該單詞不存在形變單詞;通過訪問規(guī)則變化后綴庫和不規(guī)則單詞庫,確認(rèn)該單詞是形變單詞,且能轉(zhuǎn)化為一個(gè)原形單詞和附加詞形特征屬性;最終,該單詞如果具有多個(gè)原形單詞,要將多個(gè)原形單詞的屬性值鏈表和詞組鏈表合并。
下面將按知識庫結(jié)構(gòu)、數(shù)據(jù)結(jié)構(gòu)和算法流程三個(gè)方面分別介紹。
(一)知識庫結(jié)構(gòu)●英語基本單詞庫在實(shí)例圖二所示的英語基本單詞庫中,采用快速分類算法,由于收錄的單詞較多(三萬多個(gè)單詞),分類索引表不能一次性地調(diào)入到內(nèi)存中執(zhí)行,因此采用多級分類索引技術(shù)來實(shí)現(xiàn)。其中,第一級索引以英語中的二十六個(gè)字母(A~Z)作為分類符建立;第二級索引按照英語單詞的首字母(A~Z)建立二十六個(gè)文件,收集系統(tǒng)中要收錄的所有基本單詞,然后分別地對每個(gè)文件建立起索引表和對應(yīng)的文本文件。多級索引表由索引字符(A~Z)和每個(gè)索引字符建立的分類表在索引文件中的首址兩部分組成。只要知道單詞的首字符,通過索引字符就可知道該字符下的單詞分類表的首址,就能直接從索引文件中讀出分類表;索引文件中的分類表由單詞關(guān)鍵字、單詞的字節(jié)數(shù)和單詞在文本文件中的位置三部分組成,其中單詞的字節(jié)數(shù)是指該單詞中所有信息的字節(jié)數(shù)。分類表是根據(jù)快速分類算法,按照單詞關(guān)鍵字建立的;在單詞文本文件中,所有單詞信息都是順序、壓縮存貯,每個(gè)單詞信息的首址和字節(jié)致都是建立在索引文件的分類表中。訪問單詞時(shí),按首字符獲得該單詞的分類表,按二分法查到后,按照單詞字節(jié)數(shù)和在文本中首址,直接從文本文件中獲得該單詞的所有信息。
建立第一級索引表也可以不按英語單詞首字符建立,而采用平均長法,這樣,可減少第二級索引表占用的空間,但也增加了對庫的維護(hù)工作量。
在英語基本單詞庫中,單詞的內(nèi)容包括原形單詞符號、條件、譯文和習(xí)慣用法等。以下是英語單詞的知識結(jié)構(gòu)表示原形單詞 條件 中文譯文條件 中文譯文其中原形單詞由英語單詞符號構(gòu)成,如work等;條件是一個(gè)語法和語義分類符的集合,且語法和語義分類符的形式為X11、X12等,可自行定義編碼。
上述條件和中文譯文的集合稱作屬性值。
庫中的上下文區(qū)分函數(shù)和詞組是為句法分析用的,此處略。
●規(guī)則變化后綴庫在實(shí)例圖三所示的規(guī)則變化后綴庫中,庫的內(nèi)容有后綴、添加字符、條件和追加的詞形特征屬性。一些情況下,形變單詞去掉后綴字符之后,能夠直接變成原形單詞,但有些情況下,形變單詞去掉后綴字符后,要在末尾再添加字符,才能構(gòu)成原形單詞(如studied,去掉ied,添加y構(gòu)成study);有些原形單詞有動(dòng)詞譯文、名詞譯文等,但形變單詞總是在特定的時(shí)態(tài)、語態(tài)下使用,因而條件就是指明這個(gè)形變單詞轉(zhuǎn)換成原形單詞時(shí),只要保留相應(yīng)詞類的譯文。如在規(guī)則變化后綴庫中有這樣的一條后綴知識ied y f(v) VEN其中ied表示某單詞的后綴,y指單詞末尾去掉后綴后要加y,然后根據(jù)新組成的單詞訪問英語基本單詞庫,若訪問不成功則分離不成功。否則讀出該單詞的所有信息。
f(v)是函數(shù),是指在讀出的單詞信息中,是否存在著動(dòng)詞譯文,若有則保留該譯文,記錄形變單詞的詞形特征屬性VEN,并要排除其它詞類的譯文。從而將減少推理求解的搜索路徑。
規(guī)則變化后綴庫的每條后綴知識都是根據(jù)英語單詞的各種詞性變化規(guī)則歸納出來的,比如1)過去式和過去分詞的后綴知識ied y f(v) VENed # f(v) VEN2)動(dòng)詞的第三人稱的后綴知識es # f(v) VESs # f(v) VES3)復(fù)數(shù)名詞的后綴知識es # f(N) PLURs # f(N) PLUR4)形容詞和付詞比較級的后綴知識er # f(A/D) AERr # f(A/D) AER
5)形容詞和付詞最高級的后綴知識est # f(A/D) ASTst # f(A/D) AST等等。
圖中,規(guī)則變化后綴庫的結(jié)構(gòu)分后綴文本文件和末字符鏈表索引文件兩部分,后綴文本文件存貯后綴詞條,存貯時(shí)按照相同末字符組織存貯在一起,而且分別將每個(gè)存貯區(qū)的首址分A~Z建立起一級索引,從而達(dá)到快速訪問和遍訪所有后綴的有效統(tǒng)一。
●不規(guī)則單詞庫在英語中,不規(guī)則變化的單詞數(shù)量不大,因此,按照快速分類算法,建立一級索引,就能實(shí)現(xiàn)快速的訪問。
在圖四中,不規(guī)則單詞庫分為索引文件和文本文件兩部分。索引文件建立了不規(guī)則變化單詞的快速分類表,表中的每個(gè)項(xiàng)有關(guān)鍵字、單詞的字節(jié)數(shù)和在文本文件中的位置;文本文件中順序記錄了所有不規(guī)則變化單詞的形變單詞、原形單詞和詞形特征屬性。并將每個(gè)不規(guī)則變化單詞的信息首址和字節(jié)記錄在分類表中。
例如,在不規(guī)則單詞庫中,不規(guī)則單詞的規(guī)則內(nèi)容為ran run PAST●不需要再進(jìn)行詞法分析的單詞庫圖五是不需要再詞法分析的單詞庫的結(jié)構(gòu),庫的內(nèi)容只有原形單詞,原形單詞之間用空格符分開。本庫只收錄那些在詞法分析中會(huì)出錯(cuò)但又是原形單詞的原形單詞,以保障詞法分析的正確性。這樣的單詞有g(shù)ood,God等(如God≠Go Peter≠Petgood≠go)。
(二)數(shù)據(jù)結(jié)構(gòu)單詞的內(nèi)部結(jié)構(gòu)是詞法分析算法結(jié)束之后要生成的數(shù)據(jù)結(jié)構(gòu),如圖六所示,它由屬性值鏈表、詞組鏈表、原形單詞符號三部分內(nèi)容和一個(gè)雙向鏈表結(jié)構(gòu)組成。使用雙向鏈表結(jié)構(gòu)是為了快速、方便地訪問該單詞的前后單詞的內(nèi)部結(jié)構(gòu)。
屬性值鏈表是由該單詞的所有的屬性值用鏈表聯(lián)接起來的,每一個(gè)屬性值包括一個(gè)語法分類符、若干語義和詞義屬性符、一種中文譯文。多個(gè)屬性值就存在多種中文譯文,而每一種中文譯文之間區(qū)別則用語法分類符或者語義、詞義屬性符不同來區(qū)別。屬性值鏈表采用循環(huán)鏈表結(jié)構(gòu)。
詞組鏈表是由該單詞的所有詞組聯(lián)接起來的,每一個(gè)詞組都要解決英語中的一種固定搭配、一種語言現(xiàn)象,其內(nèi)容有詞組頭部、詞組歸約項(xiàng)和中文譯文。詞組頭部主要是描述固定搭配和語言現(xiàn)象,描述方式為work at→|或者work DP(XOl)at→等形式,其中DP表示一種語法分類符,XOl指語義屬性符,符號“→l”指“歸約成”。詞組歸約項(xiàng)和中文譯文同上說明,略。
說明屬性值內(nèi)容和詞組內(nèi)容都是采用順序連續(xù)動(dòng)態(tài)存貯,附圖六中的說明主要強(qiáng)調(diào)了有幾種內(nèi)容組成。
(三)算法說明在圖七即訪問英語基本單詞庫中的單詞及獲取單詞信息的算法流程中,算法名稱為is-word;入口參數(shù)word-單詞首址;第一級索引區(qū)和每個(gè)字符下的單詞數(shù)均在整個(gè)系統(tǒng)初始化時(shí)裝入內(nèi)存;二級索引表可為一個(gè)結(jié)構(gòu)數(shù)據(jù),結(jié)構(gòu)內(nèi)容為關(guān)鍵字(unsigned int)、單詞的字節(jié)數(shù)(int)、單詞在文本文件中的地址(long)。當(dāng)一個(gè)英語單詞訪問該庫時(shí),首先轉(zhuǎn)換成關(guān)鍵字,然后按首字符裝入第二級索引表,將表首址=>P-di。按照二分算法查詢關(guān)鍵字key,若查不到,則訪問失敗,返回;否則向前找與key相同的第一個(gè)位置送P-di。向前找的原因在于從單詞轉(zhuǎn)換成key時(shí)是不唯一的,需要將單詞和庫中讀出的單詞直接比較,若相同,則才是查到了唯一的單詞。算法的后面部分就是循環(huán)地做這個(gè)比較。若找到則設(shè)立成功標(biāo)志返回,且返回讀出的單詞信息。
在實(shí)例圖八即不規(guī)則單詞訪問及獲取原形單詞和追加詞形特征屬性算法流程中,算法名稱為is-irr;入口參數(shù)word-單詞首址;索引表可為一個(gè)結(jié)構(gòu)數(shù)據(jù),結(jié)構(gòu)內(nèi)容為關(guān)鍵字(unsigned int)、字節(jié)數(shù)(int)、單詞在文本文件中位置(long),在整個(gè)系統(tǒng)初始化時(shí),一次性裝入內(nèi)存。圖中的buf.word指不規(guī)則單詞詞條中的單詞;buf.attr指不規(guī)則單詞詞條中的詞形特征屬性符號。算法執(zhí)行過程與圖七基本相同,略。
在根據(jù)后綴庫分離原形單詞和后綴的算法流程即圖九中,算法名稱是is-suf;入口參數(shù)word-單詞的首址;在整個(gè)系統(tǒng)初始化時(shí),一次性地裝入后綴末字符索引表數(shù)據(jù);由于在分離后綴的算法中,經(jīng)常要將單詞分離,因而在進(jìn)入該算法后,將單詞送到一個(gè)臨時(shí)空間進(jìn)行單詞分離操作;然后根據(jù)單詞末字符,從末字符索引表中直接指向該末字符的后綴區(qū)首址,并逐條從文件中讀入后綴詞條,進(jìn)行分離操作。圖中的p-di.suf指p-di所指后綴地址;p-di.attr指p-di所指追加的詞形特征屬性地址。
在讀出一條后綴詞條后,要比較后綴字符和單詞末尾字符是否相同,若不同,則要讀下一詞條繼續(xù);若相同就要截掉單詞中這些末字符,再加上后綴詞條中添加字符(有時(shí)為空),組成一個(gè)新的單詞。
對新形成的單詞,訪問英語基本單詞庫即is-word(temp),確認(rèn)是否為原形單詞,若不是,讀下一詞條繼續(xù);若是,則在讀取單詞的信息時(shí),僅保留滿足條件的屬性值信息和詞組信息,并返回原形單詞和追加屬性。
說明在每次讀下一條后綴詞條時(shí),都要將單詞word送到臨時(shí)空間temp中。
當(dāng)該后綴區(qū)所有后綴都訪問過后,都失敗,則說明單詞不能分離成兩部分。由于要遍訪同一字符的后綴區(qū)中的后綴,而且每次都要訪問文件和基本單詞庫,因此不斷改善算法的效率是重要的。
在訪問不需要再進(jìn)行詞法分析的單詞庫算法流程即圖十中,算法名稱為is-not-parse,入口參數(shù)word-單詞首址;在整個(gè)系統(tǒng)初始化時(shí),一次性裝入不需要再進(jìn)行詞法分析的單詞庫到內(nèi)存中;訪問算法符合元素屬于集合的比較算法,訪問之后返回成功或失敗標(biāo)志。
在每個(gè)單詞的詞法分析算法及生成單詞內(nèi)部結(jié)構(gòu)算法流程即圖十一中,算法名稱為parse,入口參數(shù)word-單詞首址;詞法分析開始后,首先訪問英語基本單詞庫即is-word(word),若不是,則直接進(jìn)行形變單詞分析;若是則設(shè)置成功標(biāo)志,且按照單詞內(nèi)部結(jié)構(gòu)生成單詞信息,然后訪問不需要再詞法分析的單詞庫,若訪同成功,則詞法分析結(jié)束。
如果單詞是所有格形式,即末尾有′或′s,則去掉單詞末尾的′或′s,并記錄單詞的所有格詞形特征屬性,然后再從本函數(shù)開始部分執(zhí)行,繼續(xù)分析單詞原形。
調(diào)用分離原形單詞和后綴算法即is-suf,確認(rèn)分離是否能成功,若成功就按照單詞信息和追加的詞形特征屬性生成單詞結(jié)構(gòu)。
調(diào)用訪問不規(guī)則單詞庫算法即is-irr,確認(rèn)該單詞是否為不規(guī)則單詞,若是,就按照單詞信息和追加的詞形特征屬性生成單詞結(jié)構(gòu)。
當(dāng)該單詞有多個(gè)原形單詞時(shí),就需要根據(jù)單詞內(nèi)部結(jié)構(gòu),將多個(gè)原形單詞信息按屬性值鏈表和詞組鏈表合并成一個(gè)單詞內(nèi)部結(jié)構(gòu)。
當(dāng)該單詞無原形單詞時(shí),可有多種例外情況執(zhí)行,一種是提醒用戶,單詞輸入有錯(cuò),請修正;第二種是單詞輸入正確,庫中末收錄,由用戶輸入屬性值,系統(tǒng)繼續(xù)執(zhí)行;第三種可按照默認(rèn)屬性值生成單詞內(nèi)部結(jié)構(gòu)繼續(xù)執(zhí)行。
在詞法分析算法中,確立is-word、is-suf、is-irr和is-not-parse四個(gè)算法的先后執(zhí)行次序是很重要的,是詞法分析的重要特征;另外這種算法之間的排它性,如在成功執(zhí)行is-suf下,不需執(zhí)行is-irr,或者在成功執(zhí)行is-irr下,不需執(zhí)行is-suf,也是很重要的,都將直接決定成功分析單詞時(shí)的執(zhí)行效率。
下面舉例說明詞法分析算法的執(zhí)行過程。
例1.good執(zhí)行步驟1),該單詞在英語基本單詞庫中,記錄原形單詞good。
執(zhí)行步驟2),該單詞是不需要進(jìn)行詞法分析,生成單詞的內(nèi)部結(jié)構(gòu)后,結(jié)束算法。
例2.boy′s執(zhí)行步驟1),該單詞不是原形單詞。
執(zhí)行步驟2),還需要進(jìn)行詞法分析。
執(zhí)行步驟3),去掉單詞末尾“′s”,記錄所有格詞形特征屬性,繼續(xù)執(zhí)行步驟1)。
執(zhí)行步驟1),該單詞是原形單詞,記錄原形單詞boy。
執(zhí)行步驟2),還需要進(jìn)行詞法分析分析。
執(zhí)行步驟3)后繼續(xù)執(zhí)行步驟4)。
執(zhí)行步驟4)后不在不規(guī)則單詞庫中,執(zhí)行步驟5)。
執(zhí)行步驟5)、6)后也不能將單詞boy分離成兩部分。
執(zhí)行步驟7-9)后生成該單詞的內(nèi)部結(jié)構(gòu),并將所有格屬性值加入到單詞內(nèi)部結(jié)構(gòu)相應(yīng)的詞形特征屬性值中。
例3.studied執(zhí)行步驟1),該單詞不是原形單詞。
執(zhí)行步驟2),還需進(jìn)行詞法分析。
執(zhí)行步驟3)后繼續(xù)執(zhí)行步驟4)。
執(zhí)行步驟4)后該單詞不在不規(guī)則單詞庫中,執(zhí)行步驟5)。
執(zhí)行步驟5)、6)后能將單詞studied分離成stud和ied兩部分,然后添加y生成單詞atudy和取出ied所對應(yīng)的詞形特征屬性。
執(zhí)行步驟7-9)后生成該單詞的內(nèi)部結(jié)構(gòu),并將ied對應(yīng)的詞形特征屬性加入到單詞內(nèi)部結(jié)構(gòu)相應(yīng)的語義屬性值中。
例4.lay執(zhí)行步驟1),該單詞是原形單詞,記錄原形單詞lay。
執(zhí)行步驟2),還需要進(jìn)行詞法分析。
執(zhí)行步驟3)后繼續(xù)執(zhí)行步驟4)。
執(zhí)行步驟4),該單詞在不規(guī)則單詞庫中,再次取出該單詞的原形單詞lie,并取出對應(yīng)的詞形特征屬性值,執(zhí)行步驟7)。
執(zhí)行步驟7-9),首先分別生成lay和lie的單詞內(nèi)部結(jié)構(gòu),并將從不規(guī)則單詞庫中取出的詞形特征屬性加到lie的單詞內(nèi)部結(jié)構(gòu)相應(yīng)的語義屬性值中。然后,將兩個(gè)單詞內(nèi)部結(jié)構(gòu)分別按照屬性值鏈和詞組鏈合并。
權(quán)利要求
1.一種由邏輯運(yùn)算部件、存儲(chǔ)部件、視頻顯示部件和含英語字母鍵的鍵盤組成的英漢翻譯系統(tǒng)的詞法分析算法,其特征在于(一)首先建立四個(gè)知識庫,即英語基本單詞庫、規(guī)則變化后綴庫、不規(guī)則變化單詞庫、不需要再進(jìn)行詞法分析的單詞庫,其中1)英語基本單詞庫中每個(gè)單詞有如下的內(nèi)容●原形單詞符號●單詞的分類標(biāo)識符和詞義屬性標(biāo)識符●上下文區(qū)分函數(shù)●單詞的中文解釋●該單詞的詞組并用多級分類算法建立英語基本單詞庫的索引文件;2)規(guī)則變化后綴庫中每條后綴有如下的內(nèi)容●后綴●添加字符●條件●追加的詞形特征屬性符號并按末字符建立規(guī)則變化后綴庫的索引文件,采用所有相同末字符的后綴存貯在一起的原則組織存貯;3)不規(guī)則變化單詞庫中每個(gè)不規(guī)則單詞有如下的內(nèi)容●不規(guī)則單詞●原形單詞●追加的詞形特征屬性符號并為不規(guī)則變化單詞庫建立索引文件;4)不需要再進(jìn)行詞法分析的英語單詞庫中的內(nèi)容為英語單詞的集合;(二)每接收一個(gè)英語單詞之后,執(zhí)行如下詞法分析步驟(1).訪問英語基本單詞庫,查詢該單詞是否在庫中,如果不在,則執(zhí)行步驟(2);如果在,則記錄已有一個(gè)英語原形單詞,繼續(xù)執(zhí)行步驟(2);(2).訪問不需要再進(jìn)行詞法分析的單詞庫,如果該單詞在該庫中,則不進(jìn)行變形單詞分析,直接執(zhí)行步驟(7);(3).如果該單詞具有所有格,即單詞末尾有′或′S,則首先記錄該單詞的所有格詞形特征屬性,然后去掉單詞末尾的′或′S,然后從步驟(1)開始執(zhí)行;(4).訪問不規(guī)則變化單詞庫,如果該單詞在該庫中,則直接從該庫中取出該單詞的原形單詞和追加的詞形特征屬性,并記錄下來,然后執(zhí)行步驟(7);(5).按照步驟(6)遍訪規(guī)則變化后綴庫中的每一條后綴,遍訪結(jié)束后執(zhí)行步驟(7);(6).如果根據(jù)當(dāng)前位置的后綴,能將該單詞分離成該單詞的原形單詞和后綴兩部分,則直接取出原形單詞,從該后綴詞條中取出追加的詞形特征屬性,并記錄下來,然后取出下一條后綴按步驟(5)繼續(xù)執(zhí)行;(7).如果該單詞沒有原形單詞,則轉(zhuǎn)例外出錯(cuò)處理;(8).如果該單詞有一個(gè)或多個(gè)原形單詞時(shí),則按照單詞的內(nèi)部存貯結(jié)構(gòu),逐個(gè)生成原形單詞的內(nèi)部存貯結(jié)構(gòu);(9).如果該單詞有多個(gè)原形單詞時(shí),則按照單詞的存貯結(jié)構(gòu)中的屬性值鏈表和詞組鏈表分別合并;(10).詞法分析結(jié)束。
2.根據(jù)權(quán)利要求1所述的英漢翻譯系統(tǒng)的詞法分析算法,其特征在于訪問英語基本單詞庫的算法是1)將單詞word轉(zhuǎn)換成一個(gè)關(guān)鍵字key;2)根據(jù)二分算法,查詢關(guān)鍵字key;3)若沒查到,則失敗返回,否則繼續(xù)執(zhí)行4);4)在索引表中向前找到相同關(guān)鍵字中的第一個(gè)關(guān)鍵字;5)比較當(dāng)前位置的關(guān)鍵字和要找的關(guān)鍵字key,若不同則失敗返回,否則執(zhí)行6);6)根據(jù)在索引表中當(dāng)前位置處的文本文件中的位置和字節(jié)數(shù),讀出單詞的信息;7)比較當(dāng)前讀出的單詞與要訪問的單詞word,若相等則設(shè)成功標(biāo)志并返回單詞信息首址,否則繼續(xù)執(zhí)行8);8)索引表中移到下一個(gè)關(guān)鍵字位置,轉(zhuǎn)5)執(zhí)行;9)結(jié)束;將單詞分離成單詞原形和后綴的算法是1)為單詞作備份,取單詞末字符;2)根據(jù)末字符取該末字符后綴區(qū)首址;3)若取完所有的后綴知識,則失敗返回;4)若取完末字符后綴區(qū)所有的后綴知識,則失敗返回;5)取一條后綴知識,比較后綴和單詞末字符,若不等則轉(zhuǎn)8),否則繼續(xù)執(zhí)行6);6)將單詞分離成單詞前部和后綴兩部分,并在單詞末尾添加末尾字符;7)訪問英語基本單詞庫,若失敗,則取單詞備份并轉(zhuǎn)8)處理,否則轉(zhuǎn)9)執(zhí)行;8)將指針移向下一個(gè)后綴知識,轉(zhuǎn)5)執(zhí)行;9)取形變單詞的詞形特征屬性并保留;10)取下一條后綴,若與當(dāng)前后綴符號相同,則取形變單詞的新的詞形特征屬性并追加;11)成功返回原形單詞和詞形特征屬性,結(jié)束。
全文摘要
英漢翻譯系統(tǒng)的詞法分析算法系采用人工智能技術(shù),基于英語基本單詞庫、不規(guī)則單詞庫、規(guī)則變化后綴庫和不需要再進(jìn)行詞法分析單詞庫四個(gè)知識庫之上的,算法應(yīng)用邏輯推理對英語單詞進(jìn)行原形單詞和形變單詞分析后,轉(zhuǎn)換成原形單詞和附加詞形特征屬性,最終生成供機(jī)譯系統(tǒng)的分析一轉(zhuǎn)換用的單詞內(nèi)部結(jié)構(gòu)。本算法提供全新的查詢單詞的方法,克服了許多形變單詞在電子詞典中無法查到的現(xiàn)象,可用于英漢翻譯系統(tǒng)或英漢電子詞典中。
文檔編號G06F17/28GK1134567SQ9511958
公開日1996年10月30日 申請日期1995年11月29日 優(yōu)先權(quán)日1995年11月29日
發(fā)明者陳肇雄 申請人:陳肇雄