本發(fā)明涉及自然語言處理技術(shù)領(lǐng)域,具體是一種基于詞對齊的歷史典籍分詞方法。
背景技術(shù):
中文分詞,指將連續(xù)的漢字序列按照一定的規(guī)范重新合成詞序列的過程。分詞是自然語言處理中由字到詞的重要部分,是對文字進(jìn)行文本分類,信息檢索等處理的保證?,F(xiàn)有的主要分詞方法有基于規(guī)則的分詞方法和基于統(tǒng)計的分詞方法。很多分詞方法在現(xiàn)代漢語中取得了較為理想的分詞效果,大部分算法及其商業(yè)實現(xiàn)均已達(dá)到很高的水平。古文較現(xiàn)代漢語來說,更簡潔緊湊,除了歷史典籍和人名以外,通常詞就指單字,而且古文句法結(jié)構(gòu)比現(xiàn)代漢語更加靈活。目前,對于古漢語分詞的嘗試并不多:南通大學(xué)的錢志勇等學(xué)者用hmm方法對先秦時期的部分語料進(jìn)行了分詞以及標(biāo)注;南京師范大學(xué)的石民等學(xué)者用crf對《左傳》進(jìn)行了分詞。以上兩種方法都需要大規(guī)模語料庫的支持。如果在目前這種缺乏面向古漢語的分詞詞典和大規(guī)模的分詞訓(xùn)練語料的情況下,將現(xiàn)代漢語的分詞方法直接套用到古漢語中,必然得不到較為滿意的效果。
技術(shù)實現(xiàn)要素:
在古漢語翻譯過程中,名詞、術(shù)語一般保留不變,每個單字翻譯對應(yīng)該詞本身;而其他詞性的字,一般情況下,每個字對應(yīng)一個或多個詞。本發(fā)明基于古漢語翻譯的特點以及缺乏古漢語分詞語料的現(xiàn)狀,提出了一種基于詞對齊的歷史典籍分詞方法,通過詞對齊這個橋梁,利用現(xiàn)代漢語中豐富的語料資源和方法,實現(xiàn)了在缺少古漢語標(biāo)注語料的前提下對古漢語進(jìn)行分詞,提高了分詞的準(zhǔn)確率。
為實現(xiàn)上述目的,本發(fā)明采用的技術(shù)方案如下:
一種基于詞對齊的歷史典籍分詞方法,包括以下步驟:
步驟1:對平行語料中的現(xiàn)代漢語進(jìn)行分詞,對古文進(jìn)行逐字拆分。將古文和現(xiàn)代漢語使用ibmmodel3模型進(jìn)行詞對齊。
步驟2:對步驟1中得到的對齊結(jié)果進(jìn)行預(yù)處理,消除標(biāo)點符號及副詞的干擾。
步驟3:根據(jù)步驟2中經(jīng)預(yù)處理得到的詞對齊結(jié)果對古文單字進(jìn)行合并。
步驟4:對合并結(jié)果中由三個或者三個以上的字構(gòu)成的詞進(jìn)行校驗。
進(jìn)一步地,步驟2所述的對齊結(jié)果的預(yù)處理的具體步驟如下:
(1)對步驟1中得到的對齊結(jié)果進(jìn)行逐條校驗,刪除對齊概率小于或等于零、古文單字或?qū)?yīng)現(xiàn)代漢語為非漢字的對齊結(jié)果;
(2)步驟2中對每條對齊結(jié)果中兩個詞或字的詞性進(jìn)行檢驗,若副詞在對齊文件中對齊名詞,則保留;反之,則刪除。由于一般情況下,副詞在古文中只表達(dá)虛意,在對齊中會形成較大的干擾,但有些副詞同時還對應(yīng)著名詞、動詞等其他詞性,若直接刪除,勢必會對某些人名、地名的分詞產(chǎn)生影響,因此只留下對齊名詞的副詞對齊結(jié)果。
進(jìn)一步地,步驟3中古文單字合并的具體步驟如下:
(1)對已經(jīng)拆分成單字的古漢語,逐字查詢其對應(yīng)的現(xiàn)代漢語,若相鄰兩個字均對應(yīng)同一個現(xiàn)代漢語翻譯,則合并這兩個字;
(2)繼續(xù)觀察后面的單字,若依然對應(yīng)同一個現(xiàn)代漢語,則繼續(xù)合并。直到下一個字不再和前面的詞指向同一個漢語翻譯為止;
(3)若單字是零到九的用于表示年代的數(shù)詞,則對它們進(jìn)行合并。
進(jìn)一步地,步驟4中對合并結(jié)果中由三個或者三個以上的字構(gòu)成的詞進(jìn)行校驗的具體步驟如下:
(1)對每一個由三個及三個以上的字構(gòu)成的詞,在現(xiàn)代漢語翻譯中對該詞進(jìn)行查找,若成功找到,則視為分詞結(jié)果正確;
(2)若未找到,說明該候選詞合并有誤,應(yīng)當(dāng)對其進(jìn)行分割:從候選詞的第一個字后開始分割,將產(chǎn)生的兩個詞段分別在現(xiàn)代漢語中進(jìn)行查找比對。若成功找到,則保留分割結(jié)果,此時視為分割成功;若未找到,則繼續(xù)從第二個詞后分割,并以此類推,直到找到相匹配的詞段。
本發(fā)明的有益效果:本發(fā)明通過詞對齊這個橋梁,利用現(xiàn)代漢語中豐富的語料資源和方法,結(jié)合古漢語翻譯過程中的一些特點,解決了在缺乏面向古漢語的分詞詞典和大規(guī)模的分詞訓(xùn)練語料的情況下對古漢語進(jìn)行分詞的問題,提高了分詞的準(zhǔn)確率。
附圖說明
圖1本發(fā)明方法的流程示意圖。
具體實施方式
以下結(jié)合附圖對本發(fā)明做進(jìn)一步說明。
參見附圖1,一種基于詞對齊的歷史典籍分詞方法:首先對平行語料中的現(xiàn)代漢語進(jìn)行分詞,對古文進(jìn)行逐字拆分,并將古文和現(xiàn)代漢語使用ibmmodel3模型進(jìn)行詞對齊;其次,對上一步中得到的對齊結(jié)果進(jìn)行處理,消除標(biāo)點符號及副詞的干擾;再次,根據(jù)經(jīng)預(yù)處理得到的對齊結(jié)果對古文單字進(jìn)行合并;最后,對合并結(jié)果中由三個或者三個以上的字構(gòu)成的詞進(jìn)行校驗。
實施例1
本實施例以eclipse為開發(fā)平臺,java為開發(fā)語言。在《史記》中的《秦始皇本紀(jì)》、《秦本紀(jì)》、《項羽本紀(jì)》、《高祖本紀(jì)》和《呂后本紀(jì)》的古文與白話文的4145句對語料上進(jìn)行。以下為具體過程:
步驟1:對平行語料中的現(xiàn)代漢語進(jìn)行分詞,對古文進(jìn)行逐字拆分。將古文和現(xiàn)代漢語使用ibmmodel3模型進(jìn)行詞對齊。
步驟2:對步驟1中得到的對齊結(jié)果進(jìn)行預(yù)處理,消除標(biāo)點符號及副詞的干擾:
(1)對步驟1中得到的對齊結(jié)果進(jìn)行逐條校驗,刪除對齊概率小于或等于零、古文單字或?qū)?yīng)現(xiàn)代漢語為非漢字的對齊結(jié)果;
(2)對每條對齊結(jié)果中兩個詞或字的詞性進(jìn)行檢驗,若副詞在對齊結(jié)果中對齊名詞,則保留;反之,則刪除。因為一般情況下,副詞在古文中只表達(dá)虛意,在對齊中會形成較大的干擾,但有些副詞同時還對應(yīng)著名詞、動詞等其他詞性,若直接刪除,勢必會對某些人名、地名的分詞產(chǎn)生影響,因此只留下對齊名詞的副詞對齊結(jié)果。
例如古文中的“耳”:“耳”在古文中普遍用作虛詞,不翻譯,但重耳、張耳等歷史典籍人物是名詞,為消除虛詞干擾,需要對“耳”在對齊文件里對齊的現(xiàn)代漢語翻譯進(jìn)行詞性判斷,若是名詞,例如:“重耳”,則保留;若不是名詞,則直接刪除。
步驟3:根據(jù)步驟2中處理好的對齊結(jié)果對古文單字進(jìn)行合并:
(1)對已經(jīng)拆分成單字的古漢語,逐字查詢其對應(yīng)的現(xiàn)代漢語,若相鄰兩個字均對應(yīng)同一個現(xiàn)代漢語翻譯,則合并這兩個字;
(2)繼續(xù)觀察后面的單字,若依然對應(yīng)同一個現(xiàn)代漢語,則繼續(xù)合并。直到下一個字不再和前面的詞指向同一個漢語翻譯為止;例如:古漢語“周武王伐紂,并殺惡來”對應(yīng)現(xiàn)代漢語“周武王討伐紂王,連同惡來一起殺死”。在詞對齊結(jié)果中,“周”、“武”、“王”三字均對齊同一詞“周武王”,所以就將這三個字合并作為一個詞。而“伐”對齊“討伐”,因此,將“伐”同前面的“王”分離開。
(3)若單字為零到九,用于表示年代的數(shù)詞,則對它們進(jìn)行合并。
步驟4:對合并結(jié)果中由三個或者三個以上的字構(gòu)成的詞進(jìn)行校驗:
(1)對每一個由三個及三個以上的字構(gòu)成的詞,在現(xiàn)代漢語翻譯中對該詞進(jìn)行查找,若成功找到,則視為分詞結(jié)果正確;
(2)若未找到,說明該候選詞合并有誤,應(yīng)當(dāng)對其進(jìn)行分割:從候選詞的第一個字后開始分割,將產(chǎn)生的兩個詞段分別在現(xiàn)代漢語中進(jìn)行查找比對。若成功找到,則保留分割結(jié)果,此時視為分割成功;若未找到,則繼續(xù)從第二個詞后分割,并以此類推,直到找到相匹配的詞段。例如:“張良悅”是一個由三個字構(gòu)成的詞。在現(xiàn)代漢語翻譯中進(jìn)行查找后未發(fā)現(xiàn)該詞,說明分詞有誤,須對該詞進(jìn)行分割。從第一個字后分割得到“張”和“良悅”,進(jìn)行查找比對后均無匹配詞段。再次對該詞分割,得到“張良”和“悅”,查找后發(fā)現(xiàn)“張良”成功匹配,則視為分割正確,遂將分詞結(jié)果替換為“張良/悅”。
根據(jù)以上步驟,本發(fā)明將分詞效果與結(jié)巴分詞、斯坦福分詞以及nlpir分詞方法做了對比,見表1,結(jié)巴分詞和nlpir是目前國內(nèi)廣泛使用的分詞方法,斯坦福分詞是國外具有代表性的一種中文分詞方法。
表1不同分詞方法結(jié)果對比
從表1中可以看出,本發(fā)明提出的方法在分詞準(zhǔn)確率、召回率以及f1度量方面明顯優(yōu)于其他方法。f1度量是準(zhǔn)確率和召回率的調(diào)和平均。
以上所述,僅為本發(fā)明較佳的具體實施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明披露的技術(shù)范圍內(nèi),根據(jù)本發(fā)明的技術(shù)方案及其發(fā)明構(gòu)思加以等同替換或改變,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍內(nèi)。