于 娟,吳曉鵬,廖 曉,劉建國
(1. 福州大學(xué)經(jīng)濟(jì)與管理學(xué)院 福州 350108;2. 廣東金融學(xué)院互聯(lián)網(wǎng)金融與信息工程學(xué)院 廣州 510521;3. 上海財經(jīng)大學(xué)會計與財務(wù)研究院 上海 楊浦區(qū) 200433)
法語是聯(lián)合國工作語言之一,是歐盟、北約、世貿(mào)等眾多國際組織的官方語言及正式行政語言,是全球29 個國家的官方語言,是除英語之外最多國家使用的官方語言,其影響力僅次于英語[1-2]。法語的使用范圍主要集中于歐洲、非洲、北美洲的一些國家和地區(qū)。隨著“一帶一路”的建設(shè)和全球化進(jìn)程的加快,我國與歐洲、非洲國家的經(jīng)濟(jì)文化交流越來越廣泛和深入,相關(guān)的新聞、政策文件、社交媒體文件等文本數(shù)據(jù)成為跨國組織管理決策的重要依據(jù)。因此,我國亟需有效的法語文本挖掘方法技術(shù)來實(shí)現(xiàn)海量法語文本高效的自動分析和及時的信息提取。
但目前,國內(nèi)外針對法語文本挖掘方法的研究成果較少[3]。其中,法文詞語提取是法語文本挖掘的基礎(chǔ)和關(guān)鍵步驟[4],是指自動獲取法語文本中出現(xiàn)的所有詞語的集合,包括法文單詞原形和由多單詞組成的短語。由于文本的關(guān)鍵詞或特征詞大多是短語而非單詞,所以短語的完整提取是法文詞語提取方法的關(guān)鍵。盡管法文詞語提取方法已應(yīng)用于法語文本信息檢索、命名實(shí)體識別、情感分析等法語文本挖掘任務(wù)[5-7],但均為早期的N-gram 詞語提取方法[8-9]或基于形容詞與名詞組合的方法[10-11]。這些方法受限于規(guī)則的不完備性,不能為文本建模提供完備的詞庫,影響法語文本挖掘的效果和效率。
另一方面,盡管中文和英文的短語提取方法研究已較為成熟[12-13],但由于法文與中、英文在詞法和語法方面有較大差異[14-15],不能直接使用這些方法。例如,與中、英文相比,在詞法方面,法文單詞具有陰陽性的區(qū)別,動詞、形容詞、冠詞需根據(jù)名詞的陰陽性而變化;且不同語境的法文單詞還有陰陽性的改變。在語法方面,法文中的定語需要根據(jù)具體語境搭配在名詞前或名詞后,搭配順序不同則意思可能不同,如“un homme grand”意為“高大的人”,而“un grand homme”意為“偉大的人”。因此,法語文本的預(yù)處理和詞語提取方法是法語所特有的,無法直接采用針對其他語言研發(fā)的方法。
上述原因?qū)е路ㄎ脑~語提取成為當(dāng)前制約法語文本挖掘準(zhǔn)確性和高效性的瓶頸。因此,本文提出一種結(jié)合法語詞法分析和單詞共現(xiàn)統(tǒng)計規(guī)律的法文詞語自動提取方法,并設(shè)計一種新的數(shù)據(jù)結(jié)構(gòu)—FP 序列樹,用于存儲具有先后順序的法文單詞串,降低單詞共現(xiàn)統(tǒng)計的時間復(fù)雜度。
本文的法文詞語提取方法綜合考慮法語的詞法分析和輸入文本中單詞共現(xiàn)的統(tǒng)計規(guī)律。該方法首先預(yù)處理輸入的法語文本,接著將其壓縮為FP 序列樹并基于該FP 序列樹提取無N元限制的頻繁詞串,依據(jù)不成詞庫篩選頻繁詞串,得到候選詞語,然后計算候選詞語的成詞度,交由人工判別得到最終的法文詞語集合。由于本文方法的高準(zhǔn)確率和高召回率,未經(jīng)人工判別的法文詞語集合也可作為法語文本建模的詞庫。本文方法流程如圖1 所示:
圖1 基于FP 序列樹的法文詞語提取方法流程圖
1) 文本預(yù)處理模塊包含文本清洗、詞形還原、停用詞刪除3 個子模塊。其中,文本清洗子模塊刪除輸入文本中的圖片、公式、標(biāo)點(diǎn)符號和文本標(biāo)記等,輸出法語句子序列;詞形還原子模塊,采用現(xiàn)成的法文詞形還原工具將法語句子序列中的每一個單詞轉(zhuǎn)換成單詞的原形,常用工具有Treetagger[16-17]、Spacy[18]、CST’s Lemmatiser[19]等;停用詞刪除子模塊,刪除那些用來構(gòu)成句子但不參與構(gòu)詞的單詞,如系動詞être(是)、代詞toi(你)、連詞si(如果)等,輸出一組法文單詞串。
2) 候選詞語提取模塊包含F(xiàn)P 序列樹構(gòu)建、頻繁詞串提取、不成詞篩選3 個子模塊。其中,F(xiàn)P 序列樹構(gòu)建子模塊將前一模塊輸出的一組法文單詞串轉(zhuǎn)存為樹形結(jié)構(gòu),即FP 序列樹;頻繁詞串提取子模塊,基于FP 序列樹,將頻次超出閾值的詞串輸出為頻繁詞串;不成詞篩選子模塊,依據(jù)不成詞庫,刪除不成詞的頻繁詞串,輸出候選詞語集合。本文第2 節(jié)詳細(xì)介紹該模塊的FP 序列樹構(gòu)建與頻繁詞串提取方法。
3) 成詞判別模塊包含TFD 成詞度計算和人工判別兩個子模塊。其中,TFD 成詞度計算子模塊采用TFD 算法逐一計算前一模塊輸出的候選詞語的成詞度,將候選詞語按成詞度降序輸出;人工判別子模塊由法語專業(yè)人員對候選詞語是否成詞進(jìn)行人工判別或輕微修改,得到最終輸出的法文詞語集合。經(jīng)人工判別不成詞的候選詞語被加入到不成詞庫中,通過豐富不成詞庫,不斷提高本文詞語提取方法的準(zhǔn)確率。本文第3 節(jié)詳述該模塊的TFD 成詞度計算方法。
在候選詞語提取階段,為了加速單詞共現(xiàn)分析和頻繁詞串提取,本文設(shè)計并實(shí)現(xiàn)了一種新的數(shù)據(jù)結(jié)構(gòu)—FP 序列樹,在壓縮文本數(shù)據(jù)集的同時不丟失單詞在句子中出現(xiàn)的先后順序信息。FP 序列樹的設(shè)計受到了用于購物籃數(shù)據(jù)壓縮的FP 增長樹[20]的啟發(fā)。二者的主要區(qū)別在于:FP 序列樹分支上的結(jié)點(diǎn)不是按其在數(shù)據(jù)集中出現(xiàn)總頻次的大小排列,而是按其在句子中出現(xiàn)的先后順序排列。
構(gòu)建FP 序列樹時,根結(jié)點(diǎn)不存放詞語,除根結(jié)點(diǎn)以外的其他結(jié)點(diǎn)都存儲一個單詞及其所屬單詞串的出現(xiàn)頻次。FP 序列樹上的一個分支存儲文本中出現(xiàn)的一個連續(xù)的法文單詞串模式及其頻次。重復(fù)出現(xiàn)的單詞串及其子串不作為新分支,而是對已有分支上的每一結(jié)點(diǎn)的頻次計數(shù)加1。這樣,僅需遍歷一次待分析的法語文本,即可完成FP 序列樹的構(gòu)建。
“佳禾農(nóng)資不管發(fā)展到多大規(guī)模,永遠(yuǎn)不離開農(nóng)業(yè),離不開農(nóng)村。我們種地就是為農(nóng)民打工。”他表示,作為一個負(fù)責(zé)任的化肥貿(mào)易商、生產(chǎn)商,通過整合農(nóng)業(yè)生產(chǎn)各要素,輸出種植模式,才能更好地為農(nóng)業(yè)服務(wù),使自身的經(jīng)營工作更接地氣、更加穩(wěn)健,從而才能把佳禾打造成一個基業(yè)長青的“百年老店”。
FP 序列樹構(gòu)建完成后即構(gòu)建其相應(yīng)的頻次表。把頻次計數(shù)相同的結(jié)點(diǎn)鏈接成一個鏈表,不同頻次鏈表的頭結(jié)點(diǎn)組成該FP 序列樹的頻次表。
為了明晰起見,以一段法語文本為例,解釋FP 序列樹及其頻次表的構(gòu)建過程。圖2 為一段法語文本及其中文翻譯,不具有特殊性。圖3 為圖2中的法語文本經(jīng)過文本預(yù)處理的結(jié)果。本文采用目前法文詞形還原效果最佳的Treetagger 工具實(shí)現(xiàn)對圖2 文本的詞形還原,然后采用基于大量實(shí)驗(yàn)總結(jié)出的停用詞表刪除其中的停用詞。圖4 為壓縮圖3文本所構(gòu)建的FP 序列樹及其頻次表。
圖2 法語文本與其中文翻譯示例
圖3 圖2 法語文本的文本預(yù)處理結(jié)果
基于FP 序列樹提取頻繁詞串時,根據(jù)預(yù)先設(shè)定的頻次閾值以及頻次表中所存儲的頭結(jié)點(diǎn)指針,從FP 序列樹的每一分支中深度最大(最接近葉子結(jié)點(diǎn))且滿足閾值的結(jié)點(diǎn)開始,獲取從該結(jié)點(diǎn)到根結(jié)點(diǎn)的分支上的單詞串,倒序輸出即為頻繁詞串。若某一分支有兩個以上結(jié)點(diǎn),還需同時獲取其子分支所形成的頻繁詞串。
為了避免詞語提取被截斷,本文的提詞方法采用長度優(yōu)先,即出現(xiàn)頻次與母串相同的子串不列入候選詞語。也即,若模式ai···aj的出現(xiàn)頻次大于閾值且等于模式ai···aj-1的 出現(xiàn)頻次,則認(rèn)為ai···aj-1是不能單獨(dú)成詞的。例如,若“états Unis(聯(lián)合國)”和“états”的出現(xiàn)頻次均為10,則后者不列入候選詞語。具體實(shí)現(xiàn)方法為:若FP 序列樹某一分支滿足頻次閾值且有多個頻次相同的結(jié)點(diǎn),則對每一頻次僅輸出較長子分支所形成的頻繁詞串。
圖4 圖3 文本的FP 序列樹
表1 是基于圖4 的FP 序列樹所提取得到的頻繁詞串和候選詞語,此處設(shè)定頻次閾值為2。
表1 圖4 的FP 序列樹的頻繁詞串提取結(jié)果
FP 序列樹的時間復(fù)雜度是線性的。構(gòu)建文本的FP 序列樹時,僅需遍歷文本1 次,即時間復(fù)雜度為O(n)。基于FP 序列樹提取頻繁詞串時,根據(jù)頻次閾值直接讀取一個鏈表,時間復(fù)雜度為O(1)。
文本數(shù)據(jù)集合中出現(xiàn)的候選詞語t是否成詞,與其出現(xiàn)頻次(term frequency, TF)有關(guān),也與t的分布有關(guān)[21]。并且,實(shí)際應(yīng)用的文本數(shù)據(jù)集合中,詞語在不同文本的出現(xiàn)頻次往往變化較大。即,若t在整個文本集合中的分布D(distribution)不均勻,則t成詞的可能性較高;反之,若t在整個文本集合中分布得較均勻,則成詞的可能性較小。因此,受文獻(xiàn)[22-23]的啟發(fā),本文依據(jù)詞頻和詞分布兩項(xiàng)因素計算候選詞語的成詞度為:
目前還沒有檢驗(yàn)法文詞語提取方法優(yōu)劣的通用數(shù)據(jù),也沒有標(biāo)準(zhǔn)的評價指標(biāo)。本文采用兩組實(shí)驗(yàn)比較分析本文提出的詞語提取方法與經(jīng)典方法的性能。
采用兩個題材不同的文本數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)分析:聯(lián)合國平行語料庫[24]和Europarl[25],分別代表書面法語和口語法語。
聯(lián)合國平行語料庫是一個由聯(lián)合國文件組成的平行文件檔案庫,本文采用其中2014 年的200 篇法語文件作為第一組實(shí)驗(yàn)數(shù)據(jù),共7.9 MB。
Europarl 是從歐洲議會議事錄中收集的平行文本語料庫,由歐洲議會討論記錄組成。本文選取其中法語文件的前2 000 行作為第二組實(shí)驗(yàn)的數(shù)據(jù),共356 KB。
這兩組實(shí)驗(yàn)數(shù)據(jù)均為隨機(jī)選取,不具有特殊性。
準(zhǔn)確率和召回率是文本挖掘方法常用的評價指標(biāo)。詞語提取方法的準(zhǔn)確率是候選詞語中經(jīng)人工判定成詞的比率;召回率是指經(jīng)人工判定成詞的候選詞語占文本中出現(xiàn)的全部詞語的比率。但是,由于目前尚沒有經(jīng)過人工精確標(biāo)注的法語文本詞語提取語料庫,無法確定語料中出現(xiàn)的全部詞語數(shù)量,因此,本文采用正確提取詞語的數(shù)目來代替召回率評價指標(biāo)。
對兩組實(shí)驗(yàn)文本數(shù)據(jù)分別進(jìn)行文本預(yù)處理,使用Treetagger 實(shí)現(xiàn)詞形還原,刪除停用詞;接著將文本壓縮為一棵FP 序列樹,提取頻次超過2 的詞串作為頻繁詞串;然后直接將這些詞串作為候選詞語,不進(jìn)行不成詞篩選。由兩名法語專業(yè)人員判別這些候選詞語是否成詞并互相檢驗(yàn)。
本文的法文詞語提取方法,從第一組實(shí)驗(yàn)數(shù)據(jù)提取得到19 245 個候選詞語,從第二組實(shí)驗(yàn)數(shù)據(jù)提取得到1 713 個候選詞語。法語專業(yè)人員人工判別的結(jié)果顯示:第一組實(shí)驗(yàn)的自動提詞結(jié)果準(zhǔn)確率為90.8%;第二組實(shí)驗(yàn)的自動提詞結(jié)果準(zhǔn)確率為89.1%。
在對候選詞語進(jìn)行成詞度計算時,分別采用本文的TFD 方法與經(jīng)典的TF-IDF 方法計算頻繁詞串的成詞度,將頻繁詞串按成詞度降序輸出。比較結(jié)果如圖5 和表2 所示。
圖5 法文詞語提取方法的準(zhǔn)確率比較
表2 法文詞語提取方法正確提取的詞語數(shù)目比較
圖5 展示TFD 和TF-IDF 兩種方法在自動判別候選詞語是否成詞方面的準(zhǔn)確率。其中,“按成詞度降序排列的候選詞語”的m%(m=10, 20, ···, 100)是指成詞度前m%的候選詞語;準(zhǔn)確率是指這些候選詞語中經(jīng)人工判定成詞的比率。
表2 為本文方法與法語文本挖掘中詞語提取常用方法正確提取詞語的數(shù)目,包括N-gram 二元詞組法和基于形容詞與名詞組合的詞性規(guī)則法。
由實(shí)驗(yàn)可知:
1) 從圖5 可以看到,對書面法語和口語法語兩種題材不同的語料進(jìn)行詞語提取時,在候選詞語的成詞度計算方面,TFD 的準(zhǔn)確率均穩(wěn)定優(yōu)于TF-IDF。這是由于TFD 方法增加了詞串在不同文本中分布均勻程度的因素。
2) 從表2 可見,本文的詞語提取方法正確提取的詞語數(shù)目明顯高于常用的法語文本提詞方法——二元詞組法和詞性規(guī)則法。這是因?yàn)椋憾~組法限定了所提取詞語的長度;詞性規(guī)則法限定了所提取詞語中每個單詞的詞性,只能提取得到形容詞與名詞的搭配。這些過濾規(guī)則能提高詞語提取的準(zhǔn)確率,但同時大幅降低了提取的詞語數(shù)目。而本文方法通過總結(jié)停用詞表來精準(zhǔn)過濾頻繁詞串,在保證準(zhǔn)確率的同時,顯著提升了詞語提取的召回率。
3) 語料的規(guī)模影響著本文的法文詞語提取方法的召回率。圖2 的法語文本較短,其中的頻繁詞串?dāng)?shù)量較少,且常因僅作為子串出現(xiàn)而被誤刪,如“gestion du données (詞 形 還 原 前 為gestion des données,數(shù)據(jù)管理)”。因此,語料規(guī)模較小時,本文方法的召回率會降低。語料規(guī)模越大,本文的詞語提取方法越具有優(yōu)越性。
4) 由實(shí)驗(yàn)耗時可知,采用FP 序列樹存儲待分析文本中的頻繁詞串及其出現(xiàn)頻次,能夠快速提取不同頻次的頻繁詞串。盡管構(gòu)建FP 序列樹需要花費(fèi)一定時間,但能降低后續(xù)的頻繁詞串提取的時間復(fù)雜度,進(jìn)而縮短詞語提取的耗時。
此外,每進(jìn)行一次法文詞語提取,都應(yīng)把人工判別不成詞的頻繁詞串加入到不成詞庫。隨著不成詞庫的豐富,本文方法的準(zhǔn)確率會持續(xù)提升。這樣就可以逐漸降低人工判別的工作量,提高詞語提取的自動化程度和效果。
目前,關(guān)于法語文本挖掘的研究還在起步階段。由于法語特殊的詞法和語法規(guī)則與中、英文存在巨大差異,導(dǎo)致當(dāng)前較為成熟的中、英文文本挖掘方法無法直接應(yīng)用于法語文本挖掘。
為了支持基于法語信息的管理決策,本文提出了一種基于FP 序列樹的法文詞語提取方法。該方法能夠高效準(zhǔn)確地從待分析的法語文本中自動獲取包含法文單詞原形和由多單詞組成的法文短語的法文詞語集合,為法語文本主題發(fā)現(xiàn)、分/聚類等文本挖掘任務(wù)提供詞庫。采用本文設(shè)計的FP 序列樹的數(shù)據(jù)結(jié)構(gòu)壓縮文本,能夠快速提取文本中不同頻次的頻繁詞串,將詞語提取的時間復(fù)雜度降低到線性時間,從而提高文本自動分析的效率。同時,本文的法文詞語提取方法在文本預(yù)處理階段所使用的詞形還原工具影響著最終結(jié)果的準(zhǔn)確性。