●周澍綺 (南通大學(xué) a.文學(xué)院;b.楚辭研究中心,江蘇 南通 226019)
在人工智能領(lǐng)域,漢語的機(jī)器學(xué)習(xí)一直受到學(xué)界的關(guān)注。不同于英語,漢語多字成句,沒用明顯的中斷和語義間斷,所以漢語的計(jì)算機(jī)學(xué)習(xí)需要單獨(dú)的切分軟件輔助,常見的算法有最短路徑算法,隱馬爾科夫模型算法(Hidden MarkovModel,HMM)。其中的佼佼者是基于HMM的ICTCLAS系統(tǒng),其憑借高精度分詞與高速度分析在眾多開放分詞軟件中脫穎而出。研究發(fā)現(xiàn),該系統(tǒng)在切分標(biāo)注常規(guī)漢語時(shí)表現(xiàn)出色,但在對(duì)中國(guó)傳統(tǒng)文獻(xiàn)的處理時(shí),結(jié)果并不理想。古文中除對(duì)仗等特殊網(wǎng)絡(luò)現(xiàn)象之外,語法規(guī)律性并不明顯,單純的優(yōu)化統(tǒng)計(jì)和概率的算法對(duì)古文切分的效率提高并不明顯。因此,針對(duì)古漢語的識(shí)別和標(biāo)引,國(guó)內(nèi)已有研究成果有利用古文注疏切分 《左傳》,[1]有利用音韻識(shí)別宋詩,[2]有利用中藥信息優(yōu)化醫(yī)學(xué)古籍切分算法,[3]利用互動(dòng)信息推動(dòng)“紅學(xué)”的發(fā)展。[4]
本文以先秦楚辭為研究對(duì)象,首先利用ICTCLAS系統(tǒng)以《楚辭》[5]為研究標(biāo)的進(jìn)行測(cè)試樣本切分。此書兼具橫版古文、白話注釋、白話評(píng)注等多個(gè)方面的語料,能夠?qū)η蟹衷~算法和標(biāo)注性能進(jìn)行多方面性能的評(píng)測(cè),如圖1。
圖1 切分詞效率
數(shù)據(jù)顯示,內(nèi)容離現(xiàn)在越遠(yuǎn),切分的效率越低,同一內(nèi)容,開放測(cè)試準(zhǔn)確率低于封閉測(cè)試。在不同內(nèi)容方面,涉及楚辭的原文切分,在擴(kuò)大切分詞詞典的情況下,準(zhǔn)確率和召回率依舊低于20%。通過上述實(shí)驗(yàn)可以發(fā)現(xiàn),現(xiàn)有切分方式無法直接應(yīng)用于楚辭,程序和算法無法滿足半自動(dòng)構(gòu)建楚辭語料庫的基本要求。因此,楚辭語義化的首要任務(wù)就是尋找一種適用于楚辭的預(yù)處理方法。
楚辭的預(yù)處理可以從古籍格式、行文語法、特征詞表三個(gè)方面入手。楚辭文獻(xiàn)具有多種古籍版式:橫版古文、豎版古文、雙行注釋、矮字注釋、標(biāo)引注釋等不同排版,在斷句、行文、標(biāo)注方式上都存在明顯差異,所以在ORC階段就需要對(duì)數(shù)字化文獻(xiàn)進(jìn)行??薄P形恼Z法與特征詞表,在ICTCLAS系統(tǒng)中內(nèi)置語法有相應(yīng)識(shí)別算法和詞典,但是僅靠低效率的統(tǒng)計(jì)算法和內(nèi)置詞典識(shí)別楚辭遠(yuǎn)遠(yuǎn)不夠。所以提高程序?qū)盼淖R(shí)別率,不僅需優(yōu)化切分技術(shù)的邏輯和算法以切分,[6]對(duì)切分文本進(jìn)行有效標(biāo)注也很重要。
程序標(biāo)注技術(shù)主要分為字典搭配和自然語言處理(NLP)。字典搭配主要通過舉例、頻率、互信息等計(jì)量學(xué)信息通過大樣本來尋求詞組搭配規(guī)律;自然語言處理通過自然語言學(xué)習(xí)規(guī)則找到不同語境下,語素之間的關(guān)聯(lián)和上下位關(guān)系,以典型規(guī)則推演普通語境來提高機(jī)器識(shí)別語料的準(zhǔn)確率。一般認(rèn)為,基于規(guī)則的方法性能優(yōu)于基于統(tǒng)計(jì)的方法,但是無論規(guī)則還是字典,不同時(shí)代的文本都有其適用性,制定具有不同時(shí)代特征的語料庫成為研究重點(diǎn)。
通過分析楚辭的一些基本特性,結(jié)合字典搭配和NLP,試圖在楚辭語料庫建設(shè)中尋找一種標(biāo)注改進(jìn)方法來提高程序?qū)Τo文本的識(shí)別率,由此減少人的參與度,實(shí)現(xiàn)程序化構(gòu)建楚辭語料庫。
課題選擇文本工程通用框架平臺(tái)GATE,以特征詞表與語義規(guī)則為重點(diǎn),結(jié)合數(shù)據(jù)庫和語義抽取技術(shù),半自動(dòng)的提取以體詞為主的語義知識(shí)。流程如圖2所示。
圖2 語義提取流程
流程核心是特征詞表的整理和語義規(guī)則的設(shè)計(jì)。特征詞表是指在目的文本中具有特殊含義詞的集合,它在同類作品中多次出現(xiàn),作用相近,一次處理可形成回溯詞庫,在后期的標(biāo)注抽取中重復(fù)使用,減少手工標(biāo)注錯(cuò)誤和時(shí)間,特征詞能作為楚辭語料提供種子庫。語義規(guī)則是楚辭語法中的行文規(guī)范。在不同的題材作品中行文方式不同,白話文亦有千般寫法,更何況距今日久的楚辭。利用規(guī)則引擎JAPE,以《楚辭語法研究》中的語法規(guī)則為基礎(chǔ),將楚辭語法程序化,提高程序識(shí)別的準(zhǔn)確率。
GATE[7](General Architecture for TextEngineering)系統(tǒng)是基于規(guī)則的信息抽取系統(tǒng),始于1995年英國(guó)的謝菲爾德大學(xué),包括開發(fā)環(huán)境和框架,以及更常見的概念表示軟件系統(tǒng)組織結(jié)構(gòu)。
GATE作為處理自然語言軟件系統(tǒng),可以有效地分解成不同類型的組件。
(1) 語言資源 (Language Resources,LRs):表示實(shí)體,如詞典,語料庫或本體;
(2) 處理資源 (Processing Resources,PRs):表示主要算法實(shí)體,如,解析算法,生成算法;
(3) 可視化資源(Visual Resources,VRs):表示可視化和編輯GUI組件。
GATE支持的文檔類型包括XML、RTF、Email、HTML、SGML以及純文本文件。經(jīng)歷了數(shù)年的發(fā)展,GATE已經(jīng)被應(yīng)用于廣泛的研究和項(xiàng)目開發(fā)。
GATE對(duì)楚辭信息抽取系統(tǒng)提高中文識(shí)別準(zhǔn)確率的同時(shí),還提供全面的先秦文獻(xiàn)詞表作為后續(xù)語料庫的訓(xùn)練語料。
JAPE[8]是Java標(biāo)注模式引擎 (Java Annotation Patterns Engine)。JAPE提供了基于正規(guī)表達(dá)式的標(biāo)注有限狀態(tài)轉(zhuǎn)換,是CPSL(Common Pattern Specification Language)的一個(gè)版本。GATE中標(biāo)注實(shí)體采用規(guī)則方式主要由規(guī)則解釋引擎JAPE觸發(fā)。
JAPE語法可以分為左側(cè)(LHS) 向右側(cè)(RHS)兩個(gè)部分,這兩個(gè)部分由一系列的模式規(guī)則構(gòu)成為標(biāo)注特征值提供支持,其中右側(cè)規(guī)則可以使用Java代碼創(chuàng)建更強(qiáng)的控制。規(guī)則的左側(cè)(LHS)是一個(gè)標(biāo)注模式,由規(guī)則表達(dá)操作符(*,?+….)構(gòu)成。右側(cè)(RHS)是標(biāo)注操作聲明,標(biāo)注對(duì)規(guī)則左測(cè)的匹配,通過一些模式元素的關(guān)系標(biāo)簽實(shí)現(xiàn)到規(guī)則右側(cè)。左右規(guī)則匹配模式可用有三種主要方式指明:① 指明文本的一個(gè)字符串;② 指明由Gazetteer,Tokeniser等預(yù)先指派的一個(gè)標(biāo)注;③ 指明一個(gè)標(biāo)注的屬性(值)。
在每一個(gè)語法的開始處,有兩個(gè)選項(xiàng)設(shè)置:一個(gè)是控制,它定義了Appelt、Brill、All、Once四種規(guī)則匹配方法;另一個(gè)是調(diào)試,用于處理沖突與匹配;如果出現(xiàn)不止一種的匹配,就會(huì)顯示沖突;如果沒有標(biāo)注被定義,所有的標(biāo)注都會(huì)被進(jìn)行匹配。規(guī)則從本質(zhì)上可以分為兩種類型:第一種不包括內(nèi)置詞表gazetteer查找功能,可以定義一些小的格式;第二種類型主要依賴內(nèi)置詞表gazetteer,需要更多的規(guī)則來描述所有標(biāo)注,包含了更大范圍數(shù)據(jù)的可能性和更強(qiáng)的處理潛力。
通過JAPE語言的理解,設(shè)置規(guī)則來識(shí)別楚辭語法,結(jié)合內(nèi)置詞表gazetteer,提高楚辭文獻(xiàn)中名詞實(shí)體識(shí)別的準(zhǔn)確率。
經(jīng)分析,基于HMM模型和數(shù)據(jù)平滑技術(shù)的算法對(duì)楚辭識(shí)別效率并不高,同時(shí),通用詞表的覆蓋面與擴(kuò)展性有限。更重要的是建設(shè)特征詞表是建設(shè)楚辭語料庫的基礎(chǔ)。因此,需要建設(shè)一個(gè)楚辭知識(shí)特征詞表。
詞表的建設(shè)要經(jīng)過分析文本特征。根據(jù)現(xiàn)代漢語中詞的用法劃分,將文本內(nèi)容用詞歸類為實(shí)詞、虛詞等四大類十一個(gè)小類。[9]按照功用分為注釋類、知識(shí)類。其中注釋類指具有具體含義的實(shí)用性名詞,以體詞、謂詞、加詞為主,包含子類專有名詞,方位名詞、形容詞、加詞(區(qū)別詞);此類詞有具體含義,可追根溯源。知識(shí)類是不可量名詞,謂詞中的動(dòng)詞以及全部副詞。此類詞主要以抽象指代含義為主。同一個(gè)詞在不同語境中所指代的含義不同。以此為基礎(chǔ)構(gòu)建滿足分類要求的詞表以擴(kuò)充GATE自帶詞表。設(shè)立新的常用詞詞表,增加虛詞、專用名詞庫,以《楚辭》中《離騷》《九歌》《九章》等21篇,句式整齊的文本作為實(shí)驗(yàn)文本,經(jīng)專家校對(duì)修改,形成初始特征詞庫。
根據(jù)楚辭句式,句法,創(chuàng)作時(shí)期[10]對(duì)《楚辭》各篇進(jìn)行區(qū)分。楚辭在不同時(shí)代有不同的研究版本,根據(jù)歷代注和疏的版本,專家學(xué)者研究成果,參考作者(屈原,宋玉等)、成文時(shí)代(懷王時(shí)期,襄王時(shí)期)、寫作風(fēng)格(說理型,散文型)等多種元素,分析《楚辭》行文語境,將楚辭的行文語境分為三類,即句式型、虛詞型、特殊詞語,詳細(xì)分類如下。
(1) 句式型。①“離騷型”(《離騷》《九章》):兩句一韻,上句末尾用“兮”;百神翳其備降兮,九疑繽其并迎。②“橘頌型”(《橘頌》《涉江》《抽思》《懷沙》《亂辭》):兩句一韻,“兮”字位于下句末;后皇嘉樹;橘?gòu)品狻"邸熬鸥栊汀保ā毒鸥琛犯髌簝删湟豁?,前后皆在句中用“兮”,且兮字都在每句的倒?shù)第三個(gè)字;靈偃蹇兮姣服,芳菲菲兮滿堂(東皇太一)。
(2)虛詞型。屈原利用虛詞將四言拓展為長(zhǎng)句,所以根據(jù)諸多虛詞將楚辭斷為不同的短語,減少句子的長(zhǎng)度更易于標(biāo)注,如“兮”多做虛詞用于表達(dá)頌唱和歌唱的節(jié)奏,所以“靈偃蹇兮姣服,芳菲菲兮滿堂”。根據(jù)虛詞,分為靈偃蹇、姣服、芳菲菲、滿堂。
(3)特殊詞語。在楚辭中,連綿詞、雙聲疊韻的使用較為頻繁,這些詞在標(biāo)注過程中,常會(huì)遇到因?yàn)榫渥x不正確而造成大量的歧義;將所有連續(xù)出現(xiàn)即ABB結(jié)構(gòu)的詞都統(tǒng)一標(biāo)注,單獨(dú)列出重言(疊詞)、連綿(雙聲連綿,疊韻)、并列復(fù)合詞、類義并列復(fù)合詞、反義并列復(fù)合詞等特殊詞語。
ANNIE是GATE中的一個(gè)信息抽取系統(tǒng)。所有的ANNIE組件通信任務(wù)通過GATE標(biāo)注文檔和資源。
整體考察余華先鋒創(chuàng)作時(shí)期內(nèi)誕生的作品則可以發(fā)現(xiàn),他對(duì)于開拓暴力、瘋癲、死亡、漫游等敘事的廣度與深度可謂是樂此不疲,在《河邊的錯(cuò)誤》、《古典愛情》、《鮮血梅花》之前及同一時(shí)期的《十八歲出門遠(yuǎn)行》、《現(xiàn)實(shí)一種》、《一九八六》等皆有探索,如果說創(chuàng)作的主題是相對(duì)單一的,那么這種形式實(shí)驗(yàn)便可以被視為是余華先鋒創(chuàng)作過程求新求變的表現(xiàn)。而從上述的分析也顯示出,作為具有特定形式的傳統(tǒng)文體所原有的文學(xué)母題為余華的創(chuàng)作既提供了寫作素材,也提供了更多思考現(xiàn)代性問題的契機(jī)或媒介。
ANNIE詞表是ANNIE的一部分,每個(gè)獨(dú)立的詞表都是一個(gè)普通的文本文件。每一系列有一個(gè)lists.def的索引文件用來描述所有這樣的詞表列表文件,列表文件與索引文件在同一目錄下,通常同gazetteer詞表同一級(jí)。詞表查找器從關(guān)系庫中查找所有在文本中出現(xiàn)的實(shí)例,通過詞表索引文件獲取實(shí)例和本體間的關(guān)系,然后給出文本中實(shí)例的列表。索引文件表述了每個(gè)列表的主要類型,次要類型和語言,之間用冒號(hào)隔開。新增楚辭詞表def文件配置內(nèi)容,第一列是表名,第二列是主要類型,第三列是次要類型,如圖3。這些列表被編譯至有限狀態(tài),來匹配的任何文本字符串將被指定主要類型和次要類型的特征標(biāo)注。主要類型,次要類型和語言將作為特征值添加到Lookup標(biāo)注中。如place.lst詞表中,列表與文檔中某些文本匹配,詞表處理資源將產(chǎn)生一個(gè)Lookup標(biāo)注,特征主要類major指向noun,次要類指向place。
圖3 楚辭語料預(yù)設(shè)關(guān)系
楚辭所用詞存在古今異義、詞義擴(kuò)大、詞義變更等問題,GATE缺乏專業(yè)領(lǐng)域詞表,自帶的基礎(chǔ)中文處理組件尚不足標(biāo)注古文,所以需要在數(shù)字化楚辭詞典的基礎(chǔ)上,借鑒領(lǐng)域?qū)<已芯砍晒喜⑶蟹衷~訓(xùn)練庫,選出古今異義、用法差異的詞進(jìn)行刪剔,修改、構(gòu)建楚辭領(lǐng)域詞表。表1是詞表歸類中的部分名詞。依照詞性劃分楚辭中的詞類,制作語義特征詞表,見表2。
表1 名詞詞表歸類
表2 詞性分類與數(shù)量
在構(gòu)建楚辭特征詞庫后,還需要設(shè)定標(biāo)注規(guī)則。規(guī)則分為兩種,一類識(shí)別詞表中已設(shè)定的詞,一類標(biāo)注詞表中未錄入的詞。規(guī)則會(huì)在詞后方添加詞性標(biāo)記,結(jié)果以XML格式校對(duì),存檔。
第一類規(guī)則是楚辭行文中的實(shí)體,如人名、官職、神靈名等,其標(biāo)志符唯一。此類規(guī)則主要依附于ANNIE,Gazetteer詞表,同時(shí)利用命名實(shí)體識(shí)別規(guī)則(統(tǒng)一以jape后綴文件存儲(chǔ))。程序利用lists.def在目標(biāo)文本和后臺(tái)詞表建立聯(lián)系(Lookup),系統(tǒng)會(huì)標(biāo)注目標(biāo)文本中與詞典文件中相匹配的詞或詞組。部分詞表代碼如下。
凡詞表中所錄的詞會(huì)被規(guī)則標(biāo)注,右側(cè)結(jié)果在多類規(guī)則執(zhí)行后,目標(biāo)文檔不僅顯示人名泛指,也包括植物名、感情類名詞等更多的標(biāo)注結(jié)果。在進(jìn)行詞表匹配后,開放式文本中會(huì)存在沒有被詞表收錄的詞,這類詞的詞性和分類就需要依靠第二類規(guī)則半自動(dòng)判斷未錄入詞。
未錄入詞判斷是以現(xiàn)代漢語語法為基礎(chǔ),這類規(guī)則,需要根據(jù)短語的固定結(jié)構(gòu)從已知獲得未知。從已知的短語的結(jié)構(gòu)和部分詞的詞來判斷未知詞,以固定結(jié)構(gòu)與已知詞性相搭配識(shí)別未知詞。
從行文邏輯上觀察,先秦散文楚辭中存在的多種短語。就漢語語法,每一種楚辭短語都存在組成的固定結(jié)構(gòu),見表3。
表3 楚辭短語構(gòu)成
以方位型短語為示例,方位型短語常見結(jié)構(gòu)為:兮+方位名詞+方位助動(dòng)詞。
同理可將表3中四類短語轉(zhuǎn)換為規(guī)則代碼。
(1)并列型。并列型以基本短語出現(xiàn)在楚辭中,句法結(jié)構(gòu)簡(jiǎn)單,在知識(shí)抽取過程中準(zhǔn)確率高,關(guān)系關(guān)聯(lián)明確。如秋蘭兮麋蕪,羅生兮堂下《少司命》。
(2)偏正型。偏正型由兩部分組成,并且這兩部分是修飾和被修飾的關(guān)系。修飾部分叫做修飾詞語;被修飾部分叫做中心詞語。我們標(biāo)注其中心詞語為有效知識(shí)。如魚隣隣,波滔滔《九歌·河伯》。
(3)動(dòng)賓結(jié)構(gòu)。動(dòng)賓結(jié)構(gòu)就是這兩個(gè)成分組在一起,前置位是謂詞(動(dòng)詞為主),后置位是體詞;謂詞+體詞(名詞或代詞),如鳴篪兮吹竽《九歌·東君》。
規(guī)則的使用一方面可以重復(fù)標(biāo)注不同文獻(xiàn)中的楚辭相關(guān)名詞,另一方面能夠擴(kuò)大楚辭特征詞庫。代碼將語法層面的短語轉(zhuǎn)換為程序能識(shí)別的格式,結(jié)合已收集詞表,在規(guī)則既定的情況下,推理出詞表中未錄入的詞進(jìn)行詞性標(biāo)注。
表4 標(biāo)注準(zhǔn)確率
圖4 虛詞比例與標(biāo)注準(zhǔn)確率
圖5 標(biāo)注準(zhǔn)確率與字?jǐn)?shù)關(guān)系
結(jié)構(gòu)化的規(guī)則設(shè)定后,以離騷、九歌、橘頌作為訓(xùn)練樣本,以相同類型不同內(nèi)容的《九章》,《涉江》,《抽思》等篇章為樣本進(jìn)行測(cè)試,結(jié)果如表4。
虛詞比例與標(biāo)注準(zhǔn)確率如圖4,準(zhǔn)確率多集中于40%-80%,虛詞的比例同標(biāo)注的準(zhǔn)確率正比,在以楚辭為代表先秦散文詩中,虛詞的位置較為固定,一般存在于句中與句末,主要用于斷句。
從圖5中可以發(fā)現(xiàn),各類型內(nèi)部波動(dòng)較大。有效標(biāo)注率與字?jǐn)?shù)成反比,整體而言,字?jǐn)?shù):九歌型<橘頌型<離騷型;準(zhǔn)確率:九歌型>橘頌型>離騷型。
規(guī)則的設(shè)定在考慮語法本身的復(fù)雜度時(shí),也要考慮穿插在同一文本中不同語法類型結(jié)合的方式。在同一篇文章中,多重格式相互組合,隨著篇幅的增長(zhǎng),組合愈復(fù)雜,準(zhǔn)確率愈低,給人工校對(duì)帶來一定困難。規(guī)則與詞表可以將目標(biāo)文本按詞性標(biāo)注,標(biāo)注后的文檔以有序的自帶庫或者通用的網(wǎng)頁文檔存儲(chǔ)。無序的楚辭數(shù)字文本在標(biāo)注后以XML存儲(chǔ),方便二次利用和構(gòu)建楚辭語料庫。
楚辭語義標(biāo)注至此告一段落,但從這次標(biāo)注過程可以發(fā)現(xiàn),楚辭的程序標(biāo)注仍有很多方面需要注意。
首先,規(guī)則的上下位關(guān)系。同一文本需要接受不同規(guī)則的識(shí)別,規(guī)則的執(zhí)行順序不同直接影響標(biāo)注的準(zhǔn)確率,按體詞,加詞,謂詞的執(zhí)行順序在試驗(yàn)后進(jìn)行調(diào)整的結(jié)果,能降低標(biāo)注的錯(cuò)誤率,但具體詞性和推導(dǎo)的執(zhí)行和位置依然值得深入探討。其次,楚辭語料庫規(guī)模造成數(shù)據(jù)稀疏。數(shù)據(jù)訓(xùn)練集不足不僅造成標(biāo)注的準(zhǔn)確率偏低,也可能導(dǎo)致設(shè)定規(guī)則的適用性不足,無法系統(tǒng)地評(píng)判規(guī)則的實(shí)施效率,這點(diǎn)不僅需要增加詞表的體積和種類,也要在數(shù)據(jù)平滑技術(shù)上加以研究。最后,處理后的文本以XML存儲(chǔ)可以給學(xué)習(xí)和研究增加方便,但是在此基礎(chǔ)上的研究才剛剛開始,結(jié)合不同算法和挖掘技術(shù)來提高XML文檔的使用效率也需要進(jìn)一步的努力。
[1]徐潤(rùn)華,陳小荷.一種利用注疏的《左傳》分詞新方法[J].中文信息學(xué)報(bào),2012,26(3):3-5.
[2]穗志方,等.宋代名家詩自動(dòng)注音研究及系統(tǒng)實(shí)現(xiàn) [J].中文信息學(xué)報(bào),1997,12(2):3-6.
[3]方曉陽,等.TF型中藥數(shù)據(jù)庫的建立與應(yīng)用[J].中國(guó)中藥雜志,2002(5):2-3.
[4]羅鳳珠.以“互動(dòng)觀念”建立“紅樓夢(mèng)網(wǎng)路資料中心”對(duì)紅學(xué)發(fā)展之影響[J].紅樓夢(mèng)學(xué)刊·一九九七年增刊,1997(2):2-5.
[5]周建忠,賈捷.楚辭[M].南京:鳳凰出版社,2009.
[6]錢智勇,等.基于HMM的楚辭自動(dòng)分詞標(biāo)注研究 [J].圖書情報(bào)工作,2014,58(4):105-110.
[7] Hamish,Cunningham.DevelopingLanguageProcessing Componentswith GATE Version 7(a User Guide)[J/OL].[2014-10-20].http://gate.ac.uk/.
[8] DhavalThakker,TahaOsman.GATEJAPEGrammar TutorialVersion1.0[J/OL].[2014-10-20].http://gate.ac.uk/sale/tao/splitch8.html#chap:jape.
[9]齊滬揚(yáng).對(duì)外漢語教學(xué)語法[M].上海:復(fù)旦大學(xué)出版社,2005.
[10]廖序東.楚辭語法研究[M].北京:商務(wù)印書館,2006.