王天航,史樹敏,2,龍從軍,黃河燕,2,李 琳
(1. 北京理工大學 計算機學院,北京 100081;2. 北京市海量語言信息處理與云計算應(yīng)用工程技術(shù)研究中心,北京 100081;3. 中國社會科學院民族學與人類學研究所,北京 100081)
句法分析是自然語言處理領(lǐng)域的關(guān)鍵技術(shù)之一,在機器翻譯、自動問答、信息抽取等諸多領(lǐng)域有著廣泛應(yīng)用。但是由于自然語言所具有的復(fù)雜性和不確定性,目前,完全句法分析器在性能與效率上還無法達到令人滿意的效果。而采用“分而治之”的方法進行淺層的句法分析可以降低完全句法分析的難度。因此,組塊分析逐漸成為目前的研究熱點。
句法功能組塊分析是組塊分析的一個重要組成部分。它的研究目的是正確標注出構(gòu)成句子的句法功能組塊,自上而下地進行句子拆分獲取句子中的基本信息單元,以顯示句子在小句層面上的基本結(jié)構(gòu)及骨架,為進一步的事件骨架樹分析提供最小的功能組塊描述序列。藏語詞法研究的深入,藏語語料庫的建設(shè)、藏語分詞工具的開發(fā)和藏語組塊理論的提出都為進行藏語功能組塊分析的研究奠定了基礎(chǔ)。目前,已經(jīng)初步具備了開展藏語功能組塊分析研究的條件。
本文在項目組前期研究成果的基礎(chǔ)上,首先采用CRFs模型,利用改進的特征模板對組塊邊界進行初步識別;進而分別采用基于錯誤驅(qū)動的規(guī)則學習方法和基于錯誤驅(qū)動的統(tǒng)計學習方法對初次識別結(jié)果進行校正,從而得出最終的識別結(jié)果。通過對實驗結(jié)果錯誤分析,本文進一步提出了基于錯誤驅(qū)動的規(guī)則與統(tǒng)計相結(jié)合的學習方法,進一步提高了功能組塊邊界的識別效果。
英語、漢語在組塊上的研究成果較多[1-10],這些成果為藏語功能組塊的研究提供了較好的借鑒。
國內(nèi)藏語組塊理論及識別也已經(jīng)開展。依據(jù)藏語的句法形式標記、詞類以及其句法分布特點,文獻[11]定義了7類句法組塊。文獻[12]對7類分類體系進行了擴充,提出了10類藏語句法組塊。文獻[13]對謂語組塊的組成成分進行了深入研究,確定了9類體貌—示證標記范疇及形式標記。文獻[14]針對現(xiàn)代藏語名詞短語開展了研究,根據(jù)名詞組塊的三類句法形式標記構(gòu)造識別規(guī)則集,預(yù)測名詞組塊邊界。文獻[15]提出了識別部分謂語組塊的語法規(guī)則和算法,詳細分析了藏語助動詞的語法功能。這些研究的主要技術(shù)路線都是基于藏語句法規(guī)則進行的,目前采用統(tǒng)計方法對藏語組塊進行識別的研究還較少。而隨著藏語語言信息化程度的提高,近期也有學者從工程應(yīng)用角度嘗試用統(tǒng)計的方法對藏語組塊進行識別。文獻[16]是從漢語組塊出發(fā),通過對譯譯文尋找藏語組塊的邊界。但是該研究沒有充分考慮藏語自身特點,特別是格標記屬性特征的作用。文獻[17]界定了5種句法功能組塊,并首次將CRFs模型運用到藏語功能組塊邊界的識別,但選取的特征模板相對簡單。
本文所使用的功能組塊定義遵循前期研究中采用的描述性定義,即主語塊、謂語塊、賓語塊、狀語塊、補語塊以及為了處理方便而增設(shè)的句法標記塊[17]。
本文采用BIE標記集來標記功能組塊,把句法功能組塊邊界識別問題轉(zhuǎn)化為一個序列標注問題。其中,功能組塊起始位置標記為B,內(nèi)部位置標記為I,結(jié)束位置標記為E,功能組塊之外的標點統(tǒng)一標記為B。
圖1 藏語功能組塊邊界識別標注實例
在前期工作中我們采用前后各兩個詞及當前詞的詞形和詞性以及前一個詞和當前詞的轉(zhuǎn)移概率特征作為特征,利用CRFs嘗試了藏語功能組塊邊界識別,實驗結(jié)果F值達到83.56%。為了進一步確定更優(yōu)的特征,本文通過基于信息增益的特征選擇實驗,發(fā)現(xiàn)前后詞的詞形以及當前詞的詞音節(jié)數(shù)所蘊含的信息對藏語功能組塊的邊界識別有幫助,并且通過進一步的實驗,將以上的單一特征進行組合,提出了改進的邊界識別特征模板。
好的模板有助于對功能組塊邊界識別。通常來講,豐富的上下文特征對于邊界的識別率提高有著積極的作用,但過量的特征反而可能會降低訓練的效果,并且會使訓練和測試過程開銷大大增加??紤]到這些因素,本文定義了原子模板,如表1所示。
表1 原子特征模板
其中,POSTag表示詞性標注,ChunkTag表示組塊標記,Word表示詞形,Rhythm表示詞音節(jié)數(shù),實驗窗口取5,上表中+/-表示當前詞后/前的詞對應(yīng)的特征。當特征函數(shù)取特定值時,則該模板被實例化,如圖2所示。
圖2 原子模板特征選擇示例
對表1的單一特征進行復(fù)合,通過實驗選擇,得到對邊界識別有益的復(fù)合特征模板,如表2所示。
表2 復(fù)合特征模板
續(xù)表
錯誤驅(qū)動是一種通過對錯誤標記的上下文特征進行學習,從而將錯誤標記校正為正確標記的學習算法,這種算法在詞性標注和句法分析中都取得了不錯的效果。本文分別利用規(guī)則的錯誤驅(qū)動技術(shù)與統(tǒng)計的錯誤驅(qū)動技術(shù)對功能組塊邊界進行識別校正。
TBL算法是Brill于1992年提出的一個有效的學習算法[19],它的核心任務(wù)是構(gòu)建用于校正的轉(zhuǎn)換規(guī)則集。利用TBL自動獲取轉(zhuǎn)換規(guī)則集的算法如下:
算法1基于轉(zhuǎn)換規(guī)則的錯誤驅(qū)動學習算法
Input: TC (訓練語料) RT(規(guī)則轉(zhuǎn)換模板集合)。
Initialize: RS=?,Score=?,EF,TM(RS為規(guī)則集合(有序),Score為對應(yīng)的規(guī)則評價得分,EF為評價函數(shù),TM為初始標注器)。
Step1:利用TM對TC進行初始標注,得到初始標注結(jié)果Result;
Step2:從RT中取出一條未選規(guī)則模板rti帶入Result,通過錯誤學習得到轉(zhuǎn)換規(guī)則集合TRS,并將rti標記為已選;
Step3:從TRS中取出一條規(guī)則ri對TC中滿足規(guī)則觸發(fā)條件的標記進行轉(zhuǎn)換,利用評價函數(shù)對ri打分得到評分si,將si加入Score;
Step4:重復(fù)Step2,Step3直到RT中所有規(guī)則模板均已選,取出對應(yīng)評分最高的ri加入到RS,利用ri對TC進行標注得到新的標注結(jié)果Result,將RT中所有規(guī)則模板重新初始化, Score清空;
Step5:重復(fù)Step2,Step3直到所有ri對應(yīng)評分均為負。
Output: RS。
轉(zhuǎn)換規(guī)則模板可以利用的屬性信息包括: 詞形信息(Word),詞性信息(POS),功能組塊標注信息(ChunkTag)。通過以上3類信息的組合使用,本文構(gòu)造了模板轉(zhuǎn)換條件,如表3所示。
表3 TBL規(guī)則轉(zhuǎn)換模板
實驗采用的評價函數(shù)如式(1)所示。
其中,F(xiàn)為轉(zhuǎn)換規(guī)則的評價函數(shù),XRr為應(yīng)用規(guī)則r后正確的標記數(shù),XEr為應(yīng)用規(guī)則r后錯誤的標記數(shù)。通過上述過程,就可以得到用來校正的轉(zhuǎn)換規(guī)則集。
與傳統(tǒng)的規(guī)則方法和基于轉(zhuǎn)換的錯誤驅(qū)動方法不同,基于CRFs的錯誤驅(qū)動技術(shù)由統(tǒng)計模型來自動驅(qū)動糾錯。它是將第一階段CRFs本身識別的結(jié)果作為一般特征加入下一階段的CRFs特征模板中,并融入第一階段所應(yīng)用的特征進行二次識別。CRFs錯誤驅(qū)動學習可以利用的屬性信息包括當前詞第一階段的組塊標記結(jié)果(Tag)與原模板特征集(POS,Word,ChunkTag)。根據(jù)以上屬性信息的組合使用,本文構(gòu)造了特征模板,如表4所示。
表4 CRFs錯誤驅(qū)動學習特征模板
表5 基于CRFs錯誤驅(qū)動技術(shù)的特征選擇
將以上的特征帶入表4對應(yīng)的模板,就可以得到用來進行CRFs錯誤驅(qū)動的模板實例。
實驗使用Taku Kudo開發(fā)的開源CRFs++*http://CRFspp.googlecode.com/svn/trunk/doc/index.html進行模型訓練。選擇fnTBL*http://nlp.cs.jhu.edu/~rflorian/fntbl/index.html作為轉(zhuǎn)換規(guī)則錯誤驅(qū)動工具。實驗語料共包含18 073個詞,將其隨機分為三部分: 第一部(7 498個詞)用來進行初次的CRFs訓練;第二部分(8 043個詞)用來錯誤驅(qū)動學習;第三部(2 532個詞)作為最終的測試數(shù)據(jù),用來測試訓練效果。實驗采用的評價標準如式(2)~(4)所示。
6.2.1 錯誤驅(qū)動學習方法獨立實驗
對訓練數(shù)據(jù)進行預(yù)處理后運用4.2所提出的特征模板對訓練語料進行訓練,得到初步訓練模型,分別利用兩種錯誤驅(qū)動學習方法對初步識別結(jié)果進行二次訓練,得到最終的模型,并在測試數(shù)據(jù)中運用上述兩種訓練模型進行測試得出最終的功能組塊識別結(jié)果,如圖3所示。
圖3 規(guī)則與統(tǒng)計錯誤驅(qū)動學習方法獨立實驗結(jié)果
圖中Baseline表示CRFs初次識別結(jié)果,TBL表示在初次識別后運用TBL錯誤驅(qū)動后的識別結(jié)果,準確率、召回率與F值分別達到84.54%、90.18%與87.27%,較初次識別F值提高了1.65%。CRFs表示在初次識別后運用CRFs進行錯誤驅(qū)動的識別結(jié)果,準確率、召回率與F值分別達到93.11%、94.86%與93.98%,較初次識別F值提高了8.36%。
6.2.2 錯誤驅(qū)動學習方法融合實驗
通過對上面CRFs錯誤驅(qū)動的實驗結(jié)果分析,本文進一步提出設(shè)想,能否運用規(guī)則的方法進一步對識別結(jié)果校正,從而彌補CRFs模型對長距離功能組塊邊界識別效果較低的缺陷。于是將第二部分訓練語料分為兩部分T1,T2,在都經(jīng)過CRFs初步訓練之后,將T1用來進行CRFs錯誤驅(qū)動學習,并將訓練結(jié)果應(yīng)用于T2之上,最終再在T2上利用TBL對其進一步訓練,從而將統(tǒng)計與規(guī)則錯誤驅(qū)動學習機制相結(jié)合,識別結(jié)果如圖4所示。
圖4 規(guī)則與統(tǒng)計錯誤驅(qū)動學習方法融合實驗結(jié)果
圖中CRFs_1st表示CRFs初次識別結(jié)果,CRFs_2nd表示經(jīng)過初步識別后利用CRFs進行錯誤驅(qū)動學習的識別結(jié)果,TBL表示在前兩步的基礎(chǔ)上利用TBL進行錯誤驅(qū)動學習的最終結(jié)果,準確率、召回率與F值分別達到94.1%、94.76%與94.43%,與前次實驗結(jié)果相比,F(xiàn)值提升了0.45%,實驗結(jié)果表明,通過兩種錯誤驅(qū)動學習方法的結(jié)合,能夠提升對功能組塊邊界特別是長距離功能組塊邊界的識別效果,尤其是在實驗所用訓練語料中長距離的句法功能組塊不多且語料的總體量有限的情況下。
通過上述實驗可見,利用本文所提出的方法能夠有效地對功能組塊邊界進行識別,但仍然存在一些典型的邊界識別錯誤,本文將其歸納如下。
(1) 常用副詞位置不固定導致識別錯誤。藏語中一些副詞位置不固定,既可以放在修飾詞前也可以放在修飾詞后,遇到這種情況,往往會出現(xiàn)錯誤。
珠穆朗瑪是非常高的山。
(2) 名詞化標記導致識別錯誤。藏語中非謂動詞后常常緊跟名詞化標記,使整個非謂動詞短語充當某種成分,遇到這種情況,往往會出現(xiàn)識別錯誤。
她不喜歡早起。
(3) 疑問語氣詞處于句中導致識別錯誤。通常情況下,疑問語氣詞會出現(xiàn)在句子的末尾,但有時由于出現(xiàn)嵌套句,疑問語氣詞出現(xiàn)在嵌套小句的末尾從而被嵌入句中,遇到這種情況,往往會出現(xiàn)識別錯誤。
我問: “早上好嗎?”,但她不回答。
功能組塊代表了句子的各個功能性成分,使待分析句子的結(jié)構(gòu)得以簡化,在進行句法分析時大大降低了分析的難度,也大大避免了直接在分詞的基礎(chǔ)上進行句法分析時由于詞的數(shù)量較多引起的歧義,從而導致分析結(jié)構(gòu)的準確率低等缺點。本文首先基于前期工作中藏語句法功能組塊的描述體系,提出了一種錯誤驅(qū)動學習策略與條件隨機場相結(jié)合的藏語功能組塊邊界識別方法,通過實驗分析,進一步將兩種錯誤驅(qū)動學習方法融合,最終實驗結(jié)果準確率、召回率與F值分別達到94.1%、94.76%與94.43%。在下一步的工作中,我們準備在邊界識別的基礎(chǔ)上,進一步對功能組塊的類型進行識別。
[1] Abney, Steven P.Parsing by Chunks[M]. Springer Netherlands, 1992.
[2] Ramshaw, Lance, Mitchell Marcus. Text Chunking using Transformation-Based Learning[C] Proceedings of the ACL Third Workshop on Very Large Corpora, 1995: 82-94.
[3] Tjong Kim Sang E F, Buchholz S. Introduction to the CoNLL-2000 Shared Task: Chunking[C]//Proceedings of the 2nd Workshop on Learning Language in Logic and the 4th Conference on Computational Natural Language Learning. Association for Computational Linguistics, 2000(7): 127-132.
[4] Pierce D, Cardie C. Limitations of co-training for Natural Language Learning from Large Datasets.[C]//Proceeding of the 2001 Conference on Empirical Meth-ods in Natural Language Processing, Cornel University, Ithaca NY, 2001:1-9.
[5] 李衍,朱靖波,姚天順.基于SVM的中文語塊分析[J]. 中文信息學報,2004,18(2): 1-7.
[6] 李素建,劉群,楊志峰.基于最大熵模型的組塊分析[J].計算機報,2003:1722-1727.
[7] Tan Y M, Yao T S, Chen Q, et al. Applying Conditional Random Fields to Chinese Shallow Parsing. Proceedings of CICLing2-2005. Mexico City, Mexico, 2005: 167-176.
[8] 周強,趙穎澤.漢語功能塊自動分析[J].中文信息學報,2007,21(5):18-24.
[9] 陳億,周強, 宇航.分層次的漢語功能塊描述庫構(gòu)建分析[J].中文信息學報,2008,22(3): 24-31.
[10] 黃德根,于靜.分布式策略與CRFs相結(jié)合識別漢語組塊[J].中文信息學報,2009,23(1): 16—22.
[11] 江荻.現(xiàn)代藏語的句法組塊與形式標記[A].語言計算與基于內(nèi)容的文本處理,孫茂松,陳群秀主編.北京:清華大學出版社.2003:160-166.
[12] 江荻.面向機器處理的現(xiàn)代藏語句法規(guī)則和詞類、組塊標注集[A]. 江荻、孔江平主編, 中國民族語言工程研究新進展, 北京: 社會科學文獻出版社, 2005: 13-106.
[13] 江荻.藏語拉薩話的體貌、示證及自我中心范疇[J].語言科學.2005(1):70-88.
[14] 黃行,孫宏開,江荻等.現(xiàn)代藏語名詞組塊的類型及形式標記特征[A].孫茂松,陳群秀(主編):自然語言理解與人規(guī)模內(nèi)容計算[C].清華大學出版社.2005: 615-618.
[15] 龍從軍,江荻.現(xiàn)代藏語帶助動詞謂語組塊的識別方法[A].第2屆青年計算語言學會議論文[C].2004.
[16] 諾明花, 劉匯丹, 馬龍龍等. 基于中心語塊擴展的漢藏基本名詞短語對的識別[J]. 中文信息學報, 2013, 27(4): 63-69.
[17] 李琳, 龍從軍, 江荻. 藏語句法功能組塊的邊界識別[J]. 中文信息學報, 2013, 27(6): 165-168.
[18] John D L,Andrew M,Fernando CN.Conditional Random Fields: Probabilistic Models for Segmenting and Labeling Sequence Data[A].2001,282-289.
[19] Brill E. Transformation-based Error-driven Parsing[C]//Proceedings of the Third International Workshop on Parsing Technologies, Tilburg, The Netherlands. 1993.
王天航(1989—),碩士研究生,主要研究領(lǐng)域為自然語言處理、機器翻譯。E-mail:hbcdwth@126.com
史樹敏(1978—),通訊作者,博士,講師,碩士生導師,主要研究領(lǐng)域為自然語言處理、機器翻譯、語義計算。E-mail: bjssm@bit.edu.cn
龍從軍(1978—),博士,助理研究員,主要研究領(lǐng)域為藏語語法、藏語信息處理。E-mail: longcj@cass.org.cn