喬艷梅 楊進才 劉應亮
1(青島城市管理職業學校 山東 青島 266042)
2(華中師范大學計算機學院 湖北 武漢 430079)
3(武漢理工大學外語學院 湖北 武漢 430079)
一個基于詞語搭配的英文文本檢索軟件的實現
喬艷梅1楊進才2劉應亮3*
1(青島城市管理職業學校 山東 青島 266042)
2(華中師范大學計算機學院 湖北 武漢 430079)
3(武漢理工大學外語學院 湖北 武漢 430079)
詞語搭配是英語語言學研究中的一個重要課題,近年來,趨向于注重數據驗證和量化研究。探討一個基于搭配研究的英文文本檢索軟件ColloStu實現的關鍵技術。該軟件設計一個通配符匹配算法,該算法使用確定有限自動機DFA,通過壓縮自動機的狀態數,加快匹配速度。同時,在檢索搭配詞時能識別共現語境中的句子終結符,從而更有效地檢索出搭配詞。對搭配力計算的Z分值算法進行了改進,綜合運用Z分值、T分值、MI值從多個角度計算搭配強度,使計算更加準確。實驗表明,與主流的檢索軟件相比,ColloStu除增加了搭配力計算功能外,單詞統計和搭配詞檢索更準確。
文本檢索 詞語搭配 通配符匹配 確定有限自動機 搭配力計算
詞語搭配研究是語言學研究中的一個重要課題。當前,國內外對詞語搭配研究已經確立了相關量化、分析方法[1]。目前,語料庫語言學的核心分析方法有:(1) 詞頻和上下文關鍵字搜索;(2) 語料庫比較;(3) 搭配,即詞項共現;(4) 詞頻的統計評估程序。
同時,軟件統計搭配詞又有兩種方法:(1) 在給定跨度內搜索出現頻率最高的詞語組合;(2) 給定節點詞和跨距值[2],搜索出節點詞的搭配詞。具體來說,節點詞是指要在語料庫中檢索其搭配行為的某個詞項,而跨距指的是節點詞左右的語境。在語料庫研究中,每個詞都可以作為節點詞。搭配知識庫的設計需要將規則和概率結合起來[3],因此要用統計的方法測量詞語搭配的概率屬性,而統計的對象則是真實使用中的語言。在對詞語共現進行量化分析時,常用的統計方法有(1) Z-分值(Z-score);(2) T-分值(T-score);(3) MI值(Mutual Information Score,互信息值)。
20世紀80年代至今,基于上述思想方法的詞語搭配研究廣泛展開。應用于詞語行為研究的自動檢索、統計軟件以及搭配程序不斷誕生。語料庫檢索工具提取數據高速、分析快捷,多用于揭示語言使用規律與特點[4]。關鍵詞檢索是其最常用的功能,有了語料庫檢索工具作支撐,分析關鍵詞則變得更加便利、直觀。現階段,國內外相關研究常用工具有Wordsmith、AntConc、Range、Concordance等。各軟件主要功能如表1所示。

表1 主要語料庫檢索工具的功能
WordSmith擁有三大主要功能[5]:檢索、關鍵詞檢索和基于文件的檢索。AntConc在呈現結果方面可從搭配詞、繪圖、詞匯集等多個角度展示。WordSmith與AntConc常用來觀測與分析常見文體特征。Concordance可用來幫助分析電子文本。 Range用來對比分析文本詞匯的深度與廣度,其自帶三個基礎詞表,分別是英語中出現頻率最高的1 000個單詞、1 001~2 000個單詞以及“學術詞匯表”,其中包括除上述2 000個最常用詞匯以外的570個大學常用學術詞匯。
WordSmith 功能強大但操作復雜、難懂、不易讓用戶上手使用,搭配力計算只有MI分值、T分值方式。Concordance數據呈現方式單一、界面簡單、交互性不強。Concordance、 AntConc軟件統計上不支持對連詞線和數字等特殊字符的識別,沒有直接計算搭配力導致搭配強度不直觀。廣義的搭配觀[3]把“搭配”界定為:一定長度的上下文中,有語義、語法、語用聯系的詞語共現,包括限制性組合搭配、固定搭配和廣義的自由共現搭配。通常所說英語中的詞語搭配都是屬于有限組合,即詞的搭配范圍的有限性,這一點是和語言使用的典型性密切相聯的。詞語搭配具有典型性正是由于詞的搭配力和搭配范圍有限[6],而上述軟件在計算搭配力時沒能排除網絡下載轉換后的文本中特殊字符的干擾并忽視了句子終結符的限制,也就是沒有考慮“一定長度的上下文”中的詞語共現以及搭配范圍的有限性,導致有效搭配詞的檢索不夠精確。此外,上述軟件對于搭配強度計算缺乏或手段單一。
本文研究開發界面友好、簡單易用、檢索方式靈活、支持文件定位、支持搭配力計算的英文文本檢索軟件ColloStu。其中,設計高效的搭配檢索算法,提高獲取搭配詞以及計算搭配力的準確度成為本文研究的重點。
根據不同的功能需求,劃分為簡單檢索、高級檢索、有效搭配檢索、文件查看與定位、結果保存、信息統計六個功能模塊,模塊劃分如圖1所示。

圖1 系統功能模塊
系統功能介紹如下:
(1) 簡單檢索即“詞語索引”,目的是在文本中檢索某個或某些詞匯或短語的出現頻率,不考慮檢索詞的語境,主要適用于對少量詞語進行檢索。其主要技術涉及字符串的通配符匹配。
(2) 高級檢索在檢索過程中對檢索詞出現的語境加以進一步的設定,目的是查找滿足一定語境條件的檢索詞。設定包含語境跨度的設定和語境詞的設定。
(3) 有效搭配檢索主要實現語料庫軟件統計搭配詞兩種方法中的后者,即給定節點詞和跨距值,搜索出節點詞的搭配詞,并計算搭配詞的搭配力,包括Z分值、T分值、MI值。
(4) 文件查看與定位模塊負責查看某個文本文件內容,在選中簡單檢索結果的二級列表時,顯示其文本文件中對應的內容。
(5) 結果保存模塊負責保存當前文件列表。
(6) 信息統計模塊的主要功能是對已經進行檢索操作的文本信息進行統計。信息統計分為三種,簡單檢索的統計、高級檢索的統計以及搭配檢索的統計。每種統計都包含文件總數、句子總數和單詞總數三種數據信息。
正則表達式由常規字符和元字符構成,使用單個字符串來描述、匹配一系列符合某個句法規則的字符串,具有靈活、高效的特點。本文實現正則表達式中通配符元字符的匹配,支持‘*’與‘?’的輸入(其中‘*’代表任意字符,‘?’代表一個字符),它們可以出現在詞首、詞中以及詞尾,可多次出現,體現了正則表達式的靈活高效特點。
通配符的匹配通常用有限狀態自動機FSA 實現。有限狀態自動機分為確定有限自動機與非確定有限自動機。非確定有限自動機匹配效率低[7],原因是它處理一個字符必須逐個訪問狀態集合中的所有狀態。相反,匹配效率高的確定有限自動機處理一個字符只需訪問一個狀態,但是會出現狀態膨脹問題。
對于字符串abc*cd、*ghif和de?ghi, 現有的算法如fcq-FA[8]算法雖然將確定字符串與元字符進行了分離且引入了標志位,但沒有將確定的子串abc、cd、ghi、de和du看成一個整體。
本文將這些確定的子串看成一個整體構造確定有限自動機,并將通配符里的確定字符串與元字符分離,一次狀態轉移可以處理多個字符,避免確定有限自動機狀態的膨脹。
字符串abc*cd、*ghif和de?ghi的匹配過程如圖2所示。到達狀態1后,程序會循環遞歸調用匹配函數進而判斷當前字符串的余串(待匹配長度每循環一次減1)與‘*’之后的字符串是否匹配成功,直到不再滿足循環條件退出或者匹配成功為止。到達狀態2后,輸出匹配 abc*cd。如果匹配到abc,則當前字符串可以移動三位,這樣既壓縮了確定有限自動機的狀態數,也加快了匹配速度。

圖2 字符串匹配的確定有限自動機
字符串的通配符匹配算法的核心偽代碼見算法1。算法1涉及的符號及其含義如表2所示。
算法1字符串的通配符匹配算法。
Declaration Bool matchWord(QString S1, QString S2)
Step1Verify the cyclic condition
For S1[i],S2[j]
//對于當前字符串與關鍵詞字符串的每一次匹配操作
If(i>= L2&& j> L2)
//初始時,未符合循環條件
Return false;
Else
//當前詞與關鍵詞都沒有比對完,繼續匹配
execute Step2 to Step4;
Step2Dispose ‘*’
//處理匹配遇到‘*’的情況
j++;
If(j==L2)
//以*結尾,表示匹配成功
Return true;
If(match(S1[j~L1],S2[i~L2]))
//遞歸比較剩下的字符串,若匹配成功
Return true;
If(L2-N*-i>L1-j)
//若剩下的關鍵詞長度>當前詞剩下的長度
Return false;
If(i< L2且w∈{1至L1-j-1})
// j不變,當前字符串匹配位置逐個后移
If(match(S1[j+w~L1],S2[i~L2]))
//與關鍵詞剩余串比較
Return true;
If(L2-N*-i>L1-j-w)
//若剩下的關鍵詞長度>當前詞剩下長度
Return false;
Step3Dispose ‘?’
//處理匹配遇到‘?’的情況
i++;j++;
If(i==L2&& j==L1)
Return true;
Step4Dispose ‘letter’
//處理匹配遇到字母的情況
If(S1.compare(Lsub)==0)
//從當前位置開始,若Lsub匹配成功
i+ Lsub;
//當前字符串可以向后移動Lsub長度
j+ Lsub;
//關鍵詞字符串可以向后移動Lsub長度
If(i==L2&& j==L1)
//此種情況下,匹配成功時條件判斷
Return true;
Else
Return false;

表2 通配符匹配算法符號及其含義

續表2
搭配力反映的是搭配的意義或者是搭配的顯著性。搭配力涉及的概念與方法,包括節點詞、跨距和搭配詞。對于任何一種語言來說,詞語搭配都有一定的詞項范圍,因此我們需要考慮語境跨度,即跨距。跨距值與搭配詞提取的結果有直接的關系。就英語而言,將跨距界定為左右3到5個詞即將跨距設為3至5是較為合適的[9]。抽象化的過程,建立在統計的基礎上[3],因此采用統計量:Z分值、T分值以及MI值來揭示搭配力。
用來揭示搭配力的一個有用的統計量是Z分值,Z分值的計算公式如式(1)-式(5)所示:

(1)
E=P×M
(2)

(3)

(4)
M=(2S+1)×N
(5)
其中:C′表示搭配詞出現的實際次數,SD代表標準差(下同),E代表搭配詞在庫中出現的期望,C表示搭配詞在庫中出現的總次數,W表示語料庫的詞匯數(下同),S表示跨距范圍(下同),N表示語境文本中的索引行數。
對于式(5)中的M代表檢索出的語境文本的單詞數,本身就是一個約數。在檢索節點詞的搭配詞過程中,若節點詞與某一詞在相鄰的兩句同時出現,且兩者的距離在設定的跨距值之內,那么按照傳統的檢索方法,這樣的詞會被檢索出來作為搭配詞,這種情況增加了檢索軟件的檢索錯誤率。在實現搭配詞檢索的過程中,本文對M值的計算進行了改進,基于多字符串的句中檢索算法,只有與節點詞在同一句的搭配詞才會被檢索出來。我們用Cs表示節點詞的所有搭配詞的個數則改進后的M值的計算公式為:
M=Cs+N
(6)
共現頻數越高,Z分值也就越高,搭配詞與節點詞的搭配越顯著。一般而言,Z≥2(使用的語料庫較小)或者Z≥3(使用的語料庫較大)的詞被認為是顯著搭配詞。
T分值反映的是節點詞與搭配詞在多大程度上存在顯著搭配關系,這給我們提供的是一種把握性。一般情況下用于測量小樣本數據。其值的高低的決定因素是搭配詞與節點詞的共現頻數。與Z分值類似,T分值隨著共現頻數的增加而增加,也就說明搭配詞與節點詞的搭配越顯著。根據假設檢驗中的T檢驗,可得T分值。運用T檢驗判斷搭配詞的顯著性時,首先形成零假設:兩個共現詞不存在搭配關系。然后,判斷觀察頻數與期望頻數的差異是否達到顯著性水平,這里就會用到兩者的標準差。T分值計算公式如式(7):

(7)
其中:F(o)代表兩個共現詞的觀察頻數,F(e)代表期望頻數。F(e)與SD的計算公式分別為式:

(8)

(9)
對T值高的詞,我們有足夠的把握確定其為顯著搭配。一般來說,T≥ 2的搭配被認為是顯著搭配詞。
MI值表示的是詞語間的搭配強度,即表示的是對于節點詞與搭配詞,其中一個詞對另一個詞的影響程度,或者說是一個詞在語料庫中的詞頻所能提供的關于另一個詞的的詞頻的概率信息。MI值越大,則表示節點詞對其搭配詞的吸引力越強。MI值測量的優點在于它能較好地識別復合詞、固定詞組、科技術語等。MI值的計算公式為:

(10)
式中:P(x,y)表示詞項x和詞項y在語料中的共現頻率,P(x)、P(y)分別表示x、y在語料中各自出現的頻率,F(x)、F(y)分別表示x、y在語料庫中出現的頻率,F(x,y)表示x、y在語料庫中的共現頻數。現對MI(x,y)的重復性和任意性[10]作如下說明:前者是指隨著x、y共現頻數的增多,P(x,y)增大,MI(x,y)亦隨之增大,表明重復性越強,反之,則重復性越弱;任意性是指隨著x、y受約束程度的加深,P(x)、P(y)的值會減小,若P(x,y)值不變,會使MI(x,y)的值變大,表明任意性加強,反之,則表明任意性減弱。MI(x,y)與x和y的相關度之間的關系是:MI(x,y)>0表明觀察概率遠大于期望概率,則x和y之間存在真正的連結關系;MI(x,y)≈0表明觀察概率接近期望概率,則兩個詞相關程度不高;MI(x,y)<0表明,x和y呈互補分布。MI值代表兩個詞之間的搭配強度,通常把MI≥3[11]的詞作為顯著搭配詞。
為了驗證本軟件統計的正確性,選取附錄所示的小驗證文本,并與其他軟件如Concordance、AntConc上進行了驗證對比。各軟件的統計數據如表3所示。

表3 各軟件對驗證文本的統計數據
單詞統計精準是一切操作如檢索、檢索定位、文件查看、詞叢、搭配、詞表、關鍵詞表等的基礎,如表3所示,在共有81個單詞的驗證文本中,Concordance、AntConc、 Microsoft Word和ColloStu分別統計出的單詞數為91、93、92和81,其統計性能不如ColloStu。分析表明,軟件對連詞線、數字的識別對此有重要影響。由于語料檢索軟件以識別純文本為主,網絡下載的PDF、CAJ格式的文件在轉化為TXT文件后方可進行檢索。在此過程中,大量連詞線的產生不可避免,因此軟件對于連詞線的識別尤為重要。
為進一步說明本軟件的統計精準性,選擇2010年至2012年第58至59卷JACM(The Journal of the ACM,ACM的官方學刊)的46篇文章共計4 742 KB,以及2012年的第59卷CACM(Communications of the ACM)的207篇文章共計4 387 KB,總共計253篇文章9 128 KB作為語料進行統計并分析Concordance、AntConc的統計錯誤率。檢索結果如表4所示。以ColloStu統計數為基準,Concordance和AntConc的統計錯誤率如圖3所示。

表4 各軟件對語料的單詞統計數據

圖3 各軟件對語料的單詞統計錯誤率比較
圖3表明,雖然Concordance比AntConc的錯誤率要低,但在統計語料單詞數中的錯誤率也高達4%。測試文本中連詞線、數字的比重較大,因此AntConc和Concordance錯誤率分別高達15%和12%。所以,當語料中連詞線、數字的比重增加時,這兩種軟件的統計錯誤率就會隨之增加。
對上文的CACM語料進行以computer為節點詞,左右跨距為3的搭配詞檢索,得到784行搭配記錄,這里我們選取部分索引行(前22行)列出。如表5所示。

表5 computer的搭配詞檢索示例
對于式(5),無論表4的內容如何,M=(2S+1)×N=(2×3+1)×22=154,對于M值的計算,本文按式(6)改進,其計算為M=搭配詞數(119)+節點詞數(22)=141。與前者相比減少了13個無效搭配詞。而對于整個CACM語料,M的大小則從5 488((2×3+1)×784)降低到4 291(搭配詞數+節點詞數,其結果由程序統計得出)。由式(1)至式(5)得出式(11):

(11)
其中:對于每一個搭配詞C′和P的值是不變的,則對Z分值公式變形后,得到下式:

(12)


圖4 M值對Z值的影響
分析表明:采用句中檢索和式(6)可以有效避免非在同一句的搭配詞的出現,從而提高了一定的正確率。通過對CACM語料中computer的搭配詞計算搭配力,并選擇性輸出Z分值不小于3,T分值不小于2且MI值不小于3的搭配詞的搭配力,可得有效搭配詞為444個。并分別以Z分值作為主要關鍵字降序T分值、MI值分別作為第二、第三次要關鍵字降序排序可以得到Z分值最高的10個搭配詞,如表6所示。以T分值為主要關鍵字進行降序排序得到T分值最高的10個詞,其結果與Z分值最高的10詞相同,其結果與表6一致。這也就驗證了Z分值與T分值類似的觀點。

表6 computer的Z分值最高的10大搭配詞
本文對現階段詞語搭配研究的現狀以及國內外英文檢索軟件的功能進行了分析研究,在此基礎上,實現了一個英文文本搭配檢索軟件。該軟件能處理網絡下載轉換文本含有特殊字符而導致檢索統計不精確的問題,既滿足了詞語搭配研究趨于量化和驗證性數據的要求,克服了WordSmith 使用復雜以及AntConc、Concordance的統計不精確、缺乏搭配力計算以及沒有考慮搭配范圍的有限性的缺點,又繼承了現存檢索軟件含有多種功能如簡單檢索、檢索定位、文件查看的優點。同時具有多字符串的句中檢索,有效搭配檢索等功能,且力求檢索更加方便靈活、搭配力計算更加精確、系統界面友好,操作簡單,性能穩定、分析直觀易懂。
本文實現的字符串的通配符匹配算法和多字符串的句中搜索算法運行效率高;改進后的搭配力算法在單詞檢索統計和搭配力計算方面更具準確性,在對網絡下載文本的語料檢索方面具有優越性。
如何進一步優化檢索算法,如何實現漢語文本搭配檢索是需要進一步探討的問題。
[1] Pollach I.Taming Textual Data:The Contribution of Corpus Linguistics to Computer-Aided Text Analysis[J].Organizational Research Methods,2012,15(2):263-287.
[2] Sinclair J,Jones S,Daley R,et al.English collocation studies[M].London:Continuum International,2004.
[3] 蔣媛,李安.SCT動詞搭配知識庫的構建[J].語言文字應用,2014(1):38-44.
[4] 訾韋力,郭平建.語料庫檢索工具在英語寫作教學中的應用[J].教育理論與實踐,2013,33(24):54-56.
[5] Kim K H.Examining US news media discourses about North Korea:A corpus-based critical discourse analysis[J].Discourse & Society,2014,25(2):221-244.
[6] 呂麗珊.詞語搭配——詞匯研究的新視角[J].瘋狂英語,2007(2):58-59.
[7] 李鰻鵬,蘭巨龍,李印海.基于Bloom filter的高效正則表達式匹配算法[J].計算機應用研究,2012,29(3):950-954.
[8] Tang Y,Xue T,Jiang J,et al.Deflation DFA:Remembering History is Adequate[C]//IEEE International Conference on Communications.IEEE,2010:1-5.
[9] Bartsch S.Structural and functional properties of collocations in English:A corpus study of lexical and pragmatic constraints on lexical co-occurrence[M].Tubingen,Germany:Gunter Narr,2004.
[10] 王璐,張仰森.基于典型句型的詞語搭配定量分析及提取算法[J].計算機科學,2012,39(6A):232-234.
[11] Baker P.Using corpora in discourse analysis[M].London:Continuum,2006.
ANIMPLEMENTATIONOFENGLISHTEXTRETRIEVALSOFTWAREBASEDONWORDCOLLOCATION
Qiao Yanmei1Yang Jincai2Liu Yingliang3*
1(QingdaoCityManagementProfessionalSchool,Qingdao266042,Shandong,China)2(SchoolofComputerScience,CentralChinaNormalUniversity,Wuhan430079,Hubei,China)3(SchoolofForeignLanguage,WuhanUniversityofScienceandTechnology,Wuhan430079,Hubei,China)
Word collocation is an important subject in the study of English linguistics. In recent years, it tends to focus on data validation and quantitative research. This paper discusses the key technology of ColloStu, an English text retrieval software based on collocation research. The software designs a wildcard matching algorithm that uses the DFA to speed up the matching speed by compressing the number of its states. It can identify the sentence terminator in the co-occurrence context in order to retrieve the collocations more effectively. We have improved the Z score algorithm of collocation calculation. We use Z score, T score and MI value to compute collocation intensity from multiple angles to make the calculation more accurate. Experiments show that, compared with the mainstream search software, ColloStu addition to adding the collocation calculation function, its word statistics and collocation word search is more accurate.
Text retrieval Word collocation Wildcard matching DFA Collocation calculation
TP391
A
10.3969/j.issn.1000-386x.2017.10.014
2016-12-07。國家社會科學基金項目(14BYY093);國家自然科學基金項目(31371275)。喬艷梅,中級教師,主研領域:計算機應用,英語語言學。楊進才,教授。劉應亮,副教授。