陶永才,海朝陽,石 磊,衛(wèi) 琳
1(鄭州大學(xué) 信息工程學(xué)院,鄭州 450001 2(鄭州大學(xué) 產(chǎn)業(yè)技術(shù)研究院,鄭州 450002 3(鄭州大學(xué) 軟件技術(shù)學(xué)院,鄭州 450002)
隨著網(wǎng)絡(luò)技術(shù)的快速發(fā)展,各行各業(yè)開始將本部的工作職能與互聯(lián)網(wǎng)相關(guān)聯(lián),人們已經(jīng)習(xí)慣了從網(wǎng)絡(luò)中獲取需要的知識和概念.無論是專業(yè)文獻(xiàn)還是政府機(jī)關(guān)的行文公告,對上下文的語義準(zhǔn)確程度都有著極高的要求.如今針對文本校對的研究[1-5]相對比較充分,字詞級別和語法級別的校對研究都取得了較大的進(jìn)步.然而,對于一些對上下文語義要求嚴(yán)格的文章來說,更需要針對詞語間搭配關(guān)系的校對方法,因此有必要研究檢測詞語間搭配關(guān)系的文本校對方法.
漢語的校對方法與英文有所不同,這是由于漢語的詞語間搭配關(guān)系復(fù)雜,不僅和字詞、語法相關(guān),還受到語言環(huán)境的影響.例如:"移動"這個詞,在不同的語境下,該詞語所能搭配的詞也會有所不同.如果是在談?wù)撐锢韺W(xué)時,"移動"這個詞和"速度"、"加速度"以及"牛頓運(yùn)動定律"等詞語的關(guān)聯(lián)性更強(qiáng),即共同出現(xiàn)的可能性更高;如果是在談?wù)撚嬎銠C(jī)科學(xué)時,"移動"與"互聯(lián)網(wǎng)"的關(guān)聯(lián)性更強(qiáng);如果是人們在閑聊時提到,那么"移動"和"公司"的關(guān)聯(lián)度就會更強(qiáng).這就說明,同一個詞在不同的語境下,會有不同的含義,詞語間的語義關(guān)聯(lián)也會隨之改變,所以,在討論真詞錯誤的校對方法之前,必須要給定語境前提,這樣建立起來的關(guān)聯(lián)關(guān)系知識庫才是有意義的.本文的目標(biāo)就是研究在給定語境的條件下,如何讓計算機(jī)能夠以較高的質(zhì)量進(jìn)行中文文本詞語搭配關(guān)系校對.
由于涉及到語義、語法等方面的校對,真詞錯誤校對問題的研究,一直是自然語言處理研究中的難點(diǎn),也是中文校對的難點(diǎn).詞語的搭配關(guān)系主要受到語義成分、思維習(xí)慣、風(fēng)俗習(xí)慣以及認(rèn)知習(xí)慣等方面[7]的影響.如"移動"這個詞,在不同的語境下有著不同的搭配關(guān)系,這可以說明,在進(jìn)行真詞錯誤校對時,是必須要給定前提語境的,如果不加限制地進(jìn)行詞語搭配關(guān)系檢測,那么校對結(jié)果的可靠性就難以保證.
文獻(xiàn)[2]結(jié)合統(tǒng)計和規(guī)則的方法,設(shè)計了基于N元鄰接矩陣的檢錯模型,能夠?qū)﹂L距離的文本錯誤起到較好地檢錯效果,但是,詞義鄰接矩陣的高維稀疏問題會影響到語義搭配錯誤偵測的效果;文獻(xiàn)[5]結(jié)合傳統(tǒng)的檢錯系統(tǒng)和HNC分析系統(tǒng),提出了新的校對系統(tǒng)模型,對于語義錯誤具有較好地檢測能力,但是,針對語義塊的劃分和組合等處理有可能會破壞文本的語義關(guān)聯(lián),影響其偵測能力;文獻(xiàn)[8]建立了詞語-義原搭配的模型,有效地提高了檢錯的正確率,但是面對一些長句時,難以檢測其中的多元詞語搭配關(guān)系.
上述研究中,各類研究方法在一定程度上提高了針對真詞錯誤的檢測、校對能力.但是通過對語句進(jìn)行成分分析,抽取其中的語法結(jié)構(gòu),并與詞語搭配關(guān)系結(jié)合的校對方法還沒有得到更多的關(guān)注和研究.本文創(chuàng)新地結(jié)合語法和詞語搭配關(guān)系,構(gòu)建雙重校對知識庫,并優(yōu)化校對評價指標(biāo),提高文本校對的能力.
本文通過大量的研究發(fā)現(xiàn),在特定的語言環(huán)境下,詞語之間是存在一定的關(guān)聯(lián)的,這種關(guān)聯(lián)存在于語義、詞語位置的相互影響之中.考慮到自然語言的隨機(jī)性、弱相關(guān)性及有向性,可以采用N元馬爾科夫鏈作為詞語搭配關(guān)系的語言模型,采用詞語間的互信息作為正相關(guān)聯(lián)強(qiáng)度的評價標(biāo)準(zhǔn).利用馬爾科夫鏈來構(gòu)建詞語間的上下文關(guān)系知識庫,是檢測文本錯誤的基礎(chǔ).詞語間的互信息和聚合度則是文本校對的主要參考標(biāo)準(zhǔn).
由于在文本校對的過程中,詞語的搭配關(guān)系受到了各種因素的影響,有些詞語搭配關(guān)系的正確性容易判斷,但是有些詞語搭配是很難判斷其正確性的.例如,常用詞與專業(yè)名詞之間的搭配,這樣的搭配只會出現(xiàn)在特定的文章中,在整個語料庫中出現(xiàn)的頻率是非常低的,那么就很難學(xué)習(xí)到其中的詞語搭配關(guān)系.為此,在校對過程中引入了詞語聚合度的概念,與互信息共同作用,起到較好地校對效果.
本文的基本思路是將語法規(guī)則知識庫和以馬爾科夫鏈為語言模型的詞語搭配關(guān)系知識庫相結(jié)合,建立中文文本的詞語搭配關(guān)系錯誤檢測及校對方法.首先,以語言學(xué)和統(tǒng)計學(xué)為主要方法,抽取語料庫中大量的句子,分析成分、結(jié)構(gòu)等信息,構(gòu)建語法成分知識庫;然后,根據(jù)詞語間的位置信息和互信息,構(gòu)建詞語搭配知識庫;建立起一個語法-詞語關(guān)聯(lián)的雙層檢測結(jié)構(gòu),利用規(guī)則和統(tǒng)計雙重方法,檢測文本詞語搭配錯誤,并以互信息和聚合度作為校對的標(biāo)準(zhǔn),以此給出文本詞語搭配錯誤檢測及相應(yīng)的修改建議.詞語搭配關(guān)系的校對框架如圖1所示.
圖1 基于語法成分知識庫和詞語搭配知識庫的文本校對框架
文本校對通常會采用三種方法:
1)依據(jù)規(guī)則的方法;
2)依據(jù)統(tǒng)計學(xué)的相關(guān)方法;
3)規(guī)則和統(tǒng)計學(xué)相結(jié)合的方法.
目前主要的研究方法是以統(tǒng)計學(xué)為主,結(jié)合語法規(guī)則等語言學(xué)的相關(guān)知識,抽取文本中的特征項(xiàng)進(jìn)行檢測.本文研究發(fā)現(xiàn),目前的校對方法,主要是集中抽取語句的特征項(xiàng),然后以特征項(xiàng)為中心,檢測特征項(xiàng)與搭配詞之間的關(guān)聯(lián)強(qiáng)度,此類方法沒有考慮到整句的完整性,切斷了語句內(nèi)部的語法、語義關(guān)聯(lián),不能檢測語句成分層面存在的問題,缺乏通用性.針對此類問題,結(jié)合目前一些優(yōu)秀的方法理論,本文擬通過實(shí)驗(yàn),提出一種結(jié)合語言學(xué)知識和統(tǒng)計學(xué)方法的語句成分規(guī)則抽取模型.
根據(jù)語言學(xué)的知識,完整的語句其中的詞語成分是符合一定的規(guī)則的.漢語中,語句的成分信息不僅受到了詞義的影響,詞語所處的位置也會影響到語句表達(dá)的含義.所以在進(jìn)行語法分析的時候,將句子作為一個整體,利用統(tǒng)計學(xué)的方法,從文章中抽取、學(xué)習(xí)各類型語句的語法模型.舉例說明,在漢語中,一句話通常會以某個事物(名詞N)或者某個行為(動詞V)來作為句子的核心,輔以形容詞(A)或副詞(D)來刻畫主語,除了主語之外,還會有動作或行為,這就是謂語,通常由動詞(V)來作為謂語.除了以主語作為核心外,謂語、形容詞都可以成為句子的核心.例如:"動人心魄地美","美"是形容詞,"動人心魄地"則是副詞,當(dāng)形容詞作為句子的核心的時候,一定會有副詞與其搭配出現(xiàn),而且,根據(jù)漢語的語言習(xí)慣,核心內(nèi)容總是出現(xiàn)在一系列的修飾詞(形容詞、副詞)之后.考慮到這樣的特性,本文在構(gòu)建語句成分模型的時候,優(yōu)先構(gòu)建各類核心詞的短語搭配模型,然后通過學(xué)習(xí)短語之間的關(guān)聯(lián)方式,如介詞、連詞等,通過詞語間的互信息,構(gòu)建出詞性間的有向關(guān)聯(lián)圖,一個有向圖就是一類句子的模型,通過大量的學(xué)習(xí),就能夠構(gòu)建出大部分句子的成分模型.
通過以上的方式提取出的成分搭配信息,能夠說明完整的語句中存在某種特殊的因素,使得句子中的詞語之間相互吸引、組合,實(shí)現(xiàn)完整的語義表達(dá).但是僅通過學(xué)習(xí)詞性搭配,能夠得到的信息較少,只能夠初步檢測句子是否出現(xiàn)語法性的錯誤,要進(jìn)行語法級校對,還需要結(jié)合詞性之間的關(guān)聯(lián)程度,不僅要包含詞性之間的影響,還要能夠涵蓋其位置信息.為此,本文提出一種描述詞語間正向關(guān)聯(lián)的關(guān)系模型,該模型以馬爾科夫鏈為基礎(chǔ),結(jié)合詞語間的互信息,描述其位置關(guān)系及搭配關(guān)系.該關(guān)系模型的示意圖如圖2所示.
圖2 詞語間正向關(guān)聯(lián)的關(guān)系模型
本文在進(jìn)行詞語搭配知識庫的構(gòu)建時,采用了同樣的語句模型,來描述句子中的詞語搭配關(guān)系.根據(jù)語言學(xué)的知識,當(dāng)一個詞語出現(xiàn)在句子中時,這個詞一定和之前出現(xiàn)的某些詞語之間存在一定的聯(lián)系,所以在構(gòu)建語句知識圖時,必須要將前文對詞語的影響考慮在內(nèi).本文提出的描述詞語間正向關(guān)聯(lián)的關(guān)系模型可以較好的契合要求.該模型的示意圖如圖3所示.
圖3 元節(jié)點(diǎn)結(jié)構(gòu)模型
如圖3所示,節(jié)點(diǎn)中存儲的信息分別為詞語W,共現(xiàn)頻數(shù)C,互信息I,位置信息L.
互信息的定義如式(1)
(1)
其中I(X;Y)為詞語(或詞性)x和y之間的互信息,p(x,y)為詞語(或詞性)x和y在語料庫中,以當(dāng)前的詞語順序共現(xiàn)的頻率,p(x)、p(y)分別表示詞語(或詞性)x和y在語料庫中各自出現(xiàn)的頻率,其計算方法如式(2)、(3)所示:
(2)
(3)
其中,c(x,y)、c(x)和c(y)分別表示詞x、y在語料庫中出現(xiàn)的次數(shù),以及x和y共現(xiàn)的次數(shù);N表示語料庫中出現(xiàn)的詞語總數(shù).在學(xué)習(xí)的過程中,有一些語句成分搭配、詞語搭配只是偶然出現(xiàn)的組合,并不能認(rèn)定為是值得學(xué)習(xí)的知識.所以關(guān)于互信息I(x,y)和搭配關(guān)系的共現(xiàn)次數(shù)c(x,y)的閾值的討論是必不可少的,本文將于實(shí)驗(yàn)部分討論I(x,y)的閾值ti以及c(x,y)的閾值tc.
算法1.語句成分、詞語搭配關(guān)系抽取算法
輸入:語料庫D;閾值ti、tc
輸出:語法成分知識庫/詞語搭配知識庫
過程:
1.對D逐句掃描,將整句賦值給B;
2.對B逐詞掃描,將B當(dāng)前詞語賦值給w,如果w是句子的第一個詞,跳轉(zhuǎn)至步驟3,否則跳轉(zhuǎn)至步驟4;
3.檢索知識庫中的所有圖的起點(diǎn),是否存在與w相同的結(jié)點(diǎn),如果存在,則返回步驟2;如果不存在,則建立一個新的結(jié)點(diǎn),并將w存入結(jié)點(diǎn)并標(biāo)記為起始結(jié)點(diǎn),返回步驟2;
4.如果在對應(yīng)的知識圖中,沒有對應(yīng)w的結(jié)點(diǎn),則建立一個新的節(jié)點(diǎn),并將w存入結(jié)點(diǎn),并在結(jié)點(diǎn)記錄位置信息,建立該結(jié)點(diǎn)與其前驅(qū)結(jié)點(diǎn)的關(guān)聯(lián)關(guān)系,跳轉(zhuǎn)至步驟5;如果知識圖中存在對應(yīng)w的結(jié)點(diǎn),則跳轉(zhuǎn)至步驟5;
5.判斷B是否到達(dá)末尾,如果是,繼續(xù)向下執(zhí)行;如果否,返回步驟2;
6.判斷D是否到達(dá)末尾,如果是,繼續(xù)向下執(zhí)行;如果否,返回步驟1;
7.掃描所有知識圖,統(tǒng)計每個結(jié)點(diǎn)出現(xiàn)的頻次c(w),統(tǒng)計每個結(jié)點(diǎn)與其2個前驅(qū)結(jié)點(diǎn)的共現(xiàn)頻數(shù),如果共現(xiàn)頻數(shù)小于閾值tc,則刪除該結(jié)點(diǎn)及其關(guān)聯(lián)關(guān)系,將其后繼結(jié)點(diǎn)與其前驅(qū)結(jié)點(diǎn)關(guān)聯(lián),更新后繼結(jié)點(diǎn)的位置信息;
8.掃描所有知識圖,計算各結(jié)點(diǎn)與其2個前驅(qū)結(jié)點(diǎn)的互信息,如果互信息小于閾值ti,則刪除該結(jié)點(diǎn)及其關(guān)聯(lián)關(guān)系,將其后繼結(jié)點(diǎn)與其前驅(qū)結(jié)點(diǎn)關(guān)聯(lián),更新后繼結(jié)點(diǎn)的位置信息;
9.將所有保留的知識圖存入知識庫;
10.算法結(jié)束.
語句成分、詞語搭配關(guān)系抽取算法的具體描述如算法1所示.
在上述算法1構(gòu)建的語法-詞語搭配雙層知識庫的基礎(chǔ)上,將利用各結(jié)點(diǎn)之間的互信息及待校對語句與知識庫中語句模型的聚合度,對文本進(jìn)行詞語搭配校對,并給出校對建議.
目前,大量的研究表明詞語搭配在自然語言處理中發(fā)揮了重要的作用[8],通過學(xué)習(xí)詞語間的搭配關(guān)系,不僅有助于研究語義表達(dá),還能夠發(fā)現(xiàn)詞匯之間的特殊關(guān)聯(lián).算法1中構(gòu)建的語句模型是大量詞匯之間構(gòu)成的有向圖,有可能存在某個結(jié)點(diǎn)關(guān)聯(lián)其后的數(shù)個結(jié)點(diǎn),在進(jìn)行校對時遇到這種情況,只憑借節(jié)點(diǎn)間的互信息給出校對建議明顯是不夠的.為此,本文引入聚合度的概念和互信息搭配,來衡量詞語搭配的可靠程度.聚合度的定義如下:
定義1.聚合度:設(shè)x與y為待校對的詞語搭配,x為前結(jié)點(diǎn),其后關(guān)聯(lián)的結(jié)點(diǎn)集合為X,該集合與y的匹配程度稱為聚合度,用PD表示,其計算公式如公式(4)所示:
(4)
其中N為集合X中結(jié)點(diǎn)的數(shù)量,CXi,y的定義如式(5)所示:
(5)
當(dāng)聚合度越趨近于1時,則表明在知識庫中x和y搭配的可能性越大,那么進(jìn)行校對時搭配正確的可能性就越高;當(dāng)聚合度越趨近于0時,則表明x和y搭配的可能性越小,在校對時搭配正確的可能性就越低.
本文在進(jìn)行語法-詞語搭配雙重檢測時,首先對待校驗(yàn)的文本逐句進(jìn)行檢測,并依據(jù)"互信息+聚合度"的方法對語句的詞語搭配進(jìn)行評價并給出校對建議."互信息+聚合度"的表達(dá)式如式(6)所示:
PDI(x,y)=α×I(x,y)+β×PD
(6)
PDI為互信息和聚合度對搭配關(guān)系的綜合影響,其中α和β分別為互信息和聚合度的權(quán)重并且α+β=1.設(shè)θ為PDI的閾值,當(dāng)PDI≥θ時,認(rèn)為y和x的詞語搭配是正確的,否則認(rèn)為是錯誤的.對于閾值θ的選擇將于實(shí)驗(yàn)部分進(jìn)行討論.
算法2.語法校對算法
輸入:待校對文本T
輸出:語法錯誤信息
過程:
1.將T逐詞轉(zhuǎn)換為其詞性,獲得文本T′;
2.對T′逐句掃描,將整句賦值給B;
3.對B逐詞掃描,將B的當(dāng)前詞語的詞性賦值給w,如果w是一個句子的第一個詞,則跳轉(zhuǎn)至步驟4;否則跳轉(zhuǎn)至步驟5;
4.檢索語法成分知識庫所有的起始結(jié)點(diǎn),如果沒有找到與w相匹配的結(jié)點(diǎn),則標(biāo)記整句,返回步驟2;否則,記錄所有匹配的起始結(jié)點(diǎn),返回步驟3;
5.依次檢索每個起始結(jié)點(diǎn)所對應(yīng)的詞性搭配圖,如果能夠找到一條路徑和B相符合,則證明該句子不存在語法錯誤,返回步驟2;
6.如果不能找到這樣一條路徑,則說明該句子中存在語法錯誤,標(biāo)記整句,如果該句子是T′的最后一句則繼續(xù)執(zhí)行,否則返回步驟2;
7.整理T′的標(biāo)記信息并輸出,記為GW;
8.算法結(jié)束.
語法校對算法如算法2所示.
根據(jù)算法2得到的輸出結(jié)果,可以判斷文本出現(xiàn)的語法錯誤的部分,一定存在詞語搭配錯誤,需要優(yōu)先進(jìn)行校對并給出校對建議.對于沒有檢測到語法錯誤的部分,將繼續(xù)進(jìn)行詞語搭配校對.
算法3.詞語搭配校對算法
輸入:待校對文本T
輸出:詞語搭配錯誤信息集CE,校對建議集AP
過程:
1.對T逐句掃描,將整句賦值給B;
2.對B逐詞掃描,將B的詞語按照句子中的順序賦值給Ai(i=0,1,2,...),當(dāng)i=0時,跳轉(zhuǎn)至步驟4;否則跳轉(zhuǎn)至步驟5;
3.檢索詞語搭配知識庫中所有的起始結(jié)點(diǎn),如果能夠找到相匹配的結(jié)點(diǎn),則i=i+1,返回步驟3,如果不能找到相匹配的結(jié)點(diǎn),則標(biāo)記整句,返回步驟1;
4.計算Ai與Ai-1的PDI,如果PDI≥θ,則i=i+1,返回步驟2;否則,將Ai標(biāo)記,i=i+1,繼續(xù)執(zhí)行;
5.當(dāng)前一個詞語Ai-1出現(xiàn)詞語搭配錯誤時,根據(jù)所有位置信息為i-1的結(jié)點(diǎn)中所存儲的互信息來計算Ai與Ai-2的PDI,如果PDI≥θ,則認(rèn)為此處無錯誤,取消Ai-1標(biāo)記;否則跳過位置信息為i-1的結(jié)點(diǎn),計算Ai與Ai-2的PDI,如果PDI≥θ,將所有與Ai和Ai-2相關(guān)聯(lián)且位置信息為i-1的結(jié)點(diǎn)寫入AP,跳轉(zhuǎn)至步驟7;否則,i=i+1,繼續(xù)執(zhí)行;
6.此時連續(xù)兩個詞出現(xiàn)錯誤,需計算Ai與Ai-2的P重復(fù)步驟6,由于連續(xù)錯誤的詞數(shù)達(dá)到2,則認(rèn)定整句錯誤,標(biāo)記整句,返回步驟1;
7.判斷Ai是否為B的最后一個詞,如果不是,返回步驟2;如果是,判斷B是否為T的最后一個句子,如果不是,返回步驟1;如果是,繼續(xù)執(zhí)行;
8.將所有標(biāo)記的句子寫入CE并與AP建立關(guān)聯(lián),輸出CE和AP;
9.算法結(jié)束.
詞語搭配校對算法如算法3所示.
實(shí)驗(yàn)采用北京大學(xué)計算語言學(xué)研究所*1http://download.csdn.net/download/zxlxstly/669716#,2008-10-06公開的《人民日報》標(biāo)注語料庫(約1900萬字).該語料庫包含人民日報1998年上半年的新聞,屬于新聞性質(zhì)語料,用詞規(guī)范,語句標(biāo)準(zhǔn),并且已經(jīng)完成校對、分詞及詞性標(biāo)注等加工,符合本文實(shí)驗(yàn)要求.
實(shí)驗(yàn)分為相關(guān)參數(shù)的確定和算法評價兩部分,實(shí)驗(yàn)配置如下所示:CPU為Intel Core i7-4790 3.60 GHz,8G內(nèi)存,1TB硬盤,操作系統(tǒng)為win7,Java版本1.7.0,實(shí)驗(yàn)平臺為10臺計算機(jī)組成的計算集群.使用matlab進(jìn)行數(shù)據(jù)處理,版本為matlab 9.0.
需要確定的參數(shù)包括:互信息的閾值ti、共現(xiàn)頻數(shù)的閾值tc、互信息和聚合度的權(quán)重α和β以及互信息和聚合度綜合評價PDI的閾值θ.
6.3.1 互信息和共現(xiàn)頻數(shù)閾值
要確定互信息和共現(xiàn)頻數(shù)的閾值,需要將語料庫中所有的搭配關(guān)系抽取出來(共計155328個),提取其中的互信息和共現(xiàn)頻數(shù),形成一個2×155328的矩陣,每一列為一組搭配關(guān)系的互信息和共現(xiàn)頻數(shù),以圖表說明其分布情況,如圖4所示.
圖4 互信息-共現(xiàn)頻數(shù)分布圖
根據(jù)互信息-共現(xiàn)頻數(shù)分布圖,可以發(fā)現(xiàn)其分布基本滿足正態(tài)分布,分析圖4可得,當(dāng)互信息和共現(xiàn)頻數(shù)分別在[2.8,3.4]、[2,2.5]之間取值時,ti和tc的區(qū)分能力相對較好,因此,可以將互信息的閾值ti和共現(xiàn)頻數(shù)的閾值tc分別設(shè)置為3.2和2.
6.3.2 PDI相關(guān)參數(shù)
根據(jù)上文可以得知,互信息的值大于3.2,而聚合度的最大值為1,為了縮小互信息和聚合度之間的數(shù)值差距,取α:β=1:4,即α=0.2、β=0.8,既可以保持互信息的主導(dǎo)作用,又可以增加聚合度對PDI的影響.
進(jìn)行PDI閾值的選擇時,為了更好地進(jìn)行比較,本文將不同閾值下的校對算法的準(zhǔn)確率、召回率和F值繪制成圖表,如圖5所示.
圖5 準(zhǔn)確率/召回率/F值
分析圖5可知,當(dāng)閾值取到0.71時,F(xiàn)值達(dá)到極大值,因此可以取θ=0.71.
為驗(yàn)證本文算法的校對效果,本文基于MyEclipse和SQL Server 2008,采用Java語言編程實(shí)現(xiàn).完成了一個用于進(jìn)行文本校對的信息處理平臺,并獲取一定的測試語料對算法性能進(jìn)行測評.實(shí)驗(yàn)分為三個部分:無錯誤文本測試集校對實(shí)驗(yàn)、錯誤文本測試集校對實(shí)驗(yàn)和常規(guī)文本測試集校對實(shí)驗(yàn).
6.4.1 無錯誤文本校對實(shí)驗(yàn)
為了檢測算法對于無錯誤文本的檢測能力,從語料庫中隨機(jī)抽取了50條新聞,作為測試集進(jìn)行測試.測試發(fā)現(xiàn),校對算法沒有在測試集中發(fā)現(xiàn)詞語搭配錯誤,這說明該算法能夠正確區(qū)分文本中是否存在詞語搭配錯誤,但是算法是否存在過度擬合等情況還需要進(jìn)行錯誤文本校對實(shí)驗(yàn)和常規(guī)文本校對實(shí)驗(yàn).
6.4.2 錯誤文本校對實(shí)驗(yàn)
由于目前缺少權(quán)威性的文本錯誤測試集合,國內(nèi)外有關(guān)中文文本校對的研究都是自行構(gòu)建測試集合.因此,本文整理了某個中文問答系統(tǒng)的咨詢?nèi)罩静⑦M(jìn)行人工標(biāo)注,作為測試集合.測試集合包含10000條咨詢記錄,其中文本錯誤417處.
本文采用檢錯準(zhǔn)確率(P)、檢錯召回率(R)、檢錯F值以及校對正確率(A)四項(xiàng)作為對算法性能的評價指標(biāo),其計算方法如公式(7)-公式(10).
(7)
(8)
(9)
(10)
根據(jù)上述評價指標(biāo)的計算方法,得出本文的實(shí)驗(yàn)結(jié)果,本文也對相關(guān)文獻(xiàn)[2,15]所介紹的方法進(jìn)行實(shí)驗(yàn),并在本文的數(shù)據(jù)集上進(jìn)行了驗(yàn)證,發(fā)現(xiàn)結(jié)果不如原文中給出的實(shí)驗(yàn)結(jié)果好,所以仍采用原文的實(shí)驗(yàn)結(jié)果,實(shí)驗(yàn)結(jié)果比較如表1所示.
表1 實(shí)驗(yàn)結(jié)果比較
文獻(xiàn)[2]采用了基于實(shí)例、統(tǒng)計和規(guī)則的語義級文本查錯方法,通過語法分析,得到文本的句子成分,在語料庫中檢索與句子結(jié)構(gòu)相似的實(shí)例,計算兩者的相似度進(jìn)行查錯;同時,建立詞義的N元鄰接矩陣,計算語義平均概率和語義轉(zhuǎn)移概率進(jìn)行查錯.召回率偏高主要是因?yàn)槠錅y試語料不僅存在語義錯誤,還包括語法和構(gòu)詞等錯誤,并且語義錯誤在整個語料中所占的比例較小.
文獻(xiàn)[15]通過對文檔進(jìn)行向量化,對文本進(jìn)行相似度計算和模糊匹配,得到一個模糊詞集合,如果模糊詞集合為空,說明文本正確;如果不為空,那么模糊詞集合就是修改建議.該文獻(xiàn)中的召回率并不理想,主要是因?yàn)槟:衷~和模糊匹配對非詞錯誤的檢查效果非常好,但是面對真詞錯誤時,模糊匹配的方法非常容易誤判.
根據(jù)表1的實(shí)驗(yàn)結(jié)果,本文能夠?qū)﹀e誤文本起到較好地校對作用,沒有過度擬合等情況出現(xiàn).
6.4.3 常規(guī)文本校對實(shí)驗(yàn)
經(jīng)過上述實(shí)驗(yàn)可以發(fā)現(xiàn),在對無錯誤文本測試集、錯誤文本測試集的測試實(shí)驗(yàn)中,算法都能夠起到比較好的校對作用.為了進(jìn)一步測試算法對書籍文章的校對效果,本文收集了實(shí)驗(yàn)室的10篇碩士論文初稿作為測試集合.經(jīng)過測試,檢測出其中存在227處錯誤,通過人工校對,其中166處錯誤確實(shí)存在,檢錯準(zhǔn)確率為73.13%.為了確定召回率,對10篇文章進(jìn)行了精讀,發(fā)現(xiàn)其中實(shí)際存在289處錯誤,召回率為78.55%.對校對結(jié)果進(jìn)行分析后發(fā)現(xiàn),166處錯誤中有115處錯誤得到了正確的修改意見,校對正確率為69.36%.所得結(jié)果略低于表1中的實(shí)驗(yàn)結(jié)果,這是由于訓(xùn)練語料集合是以日常書面用語為主的《人民日報》新聞體裁語料,測試集合為問答系統(tǒng)的用戶咨詢記錄,該記錄中也是以日常書面用語為主,所以能夠起到相對較好的校對效果.而選擇的碩士論文是計算機(jī)專業(yè)的相關(guān)內(nèi)容,在詞語搭配方面,與日常書面用語存在一定的差別,造成了實(shí)驗(yàn)結(jié)果的差異.
上述實(shí)驗(yàn)表明了,由于引入了聚合度和互信息雙重閾值限制,使得算法的檢錯準(zhǔn)確率和校對準(zhǔn)確率有了一定的提升.而語法和詞語搭配雙重檢測機(jī)制也在一定程度上保證了算法的召回率.
本文介紹了一種綜合使用了語言學(xué)和統(tǒng)計學(xué)等方法,通過建立語法-詞語搭配的雙層檢測結(jié)構(gòu),規(guī)則和統(tǒng)計相結(jié)合,檢測文本詞語搭配錯誤,并以互信息和聚合度作為校對標(biāo)準(zhǔn)的文本校對模型.本文利用了馬爾科夫鏈作為文本的基本模型,通過互信息等參數(shù)來構(gòu)建詞語搭配有向關(guān)系知識庫,綜合互信息和聚合度等參數(shù)構(gòu)建語法-詞語搭配雙重檢測體系,能夠在一定程度上保證文本校對的召回率、準(zhǔn)確率及檢錯的正確率.
但是,在以上研究中,由于馬爾科夫鏈本身復(fù)雜度以及數(shù)據(jù)量的限制,本文的方法對于距離較近的詞語搭配能夠起到較好地校對作用,而對于一些長距離的詞語搭配關(guān)系很難起到校對作用;對于句子的成分缺少有效的分析,只是對于詞性間的搭配關(guān)系進(jìn)行了提取;對于詞語搭配關(guān)系也沒有進(jìn)行相關(guān)的語義分析,使得知識庫中存在錯誤的詞語搭配關(guān)系,這對文本校對的準(zhǔn)確率造成了一定程度的影響.
由于選取的訓(xùn)練語料庫是1998年上半年《人民日報》的標(biāo)注語料庫,其內(nèi)容屬于標(biāo)準(zhǔn)的新聞題材文本,對于目前網(wǎng)絡(luò)中帶有"口語化"成分的網(wǎng)絡(luò)文本而言,本文的校對模型和算法的效果并不理想.不過目前已經(jīng)有針對網(wǎng)絡(luò)用語的研究在進(jìn)行中,后續(xù)會加強(qiáng)相關(guān)的研究,嘗試設(shè)計適用于長距離文本的語言模型、加強(qiáng)對于語句成分和語法的分析以及詞語搭配關(guān)系的語義分析等研究工作,進(jìn)一步提高文本校對方法的準(zhǔn)確性.