蘇振江,張仰森,2+,胡昌秀,黃改娟,2
(1.北京信息科技大學(xué) 智能信息處理研究所,北京 100192;2.北京交通大學(xué) 國家經(jīng)濟(jì)安全預(yù)警工程北京實(shí)驗(yàn)室,北京 100044)
目前,國內(nèi)對(duì)于中文文本的分詞算法的研究日漸成熟,很多相關(guān)研究都取得了相當(dāng)不錯(cuò)的效果,但針對(duì)少數(shù)民族語言的分詞研究工作相對(duì)較少。而網(wǎng)絡(luò)信息中方言及少數(shù)民族的語言使用存在一定的普遍性,通常具有地域特征,例如在港澳和兩廣地區(qū),粵語受到廣泛的應(yīng)用。與此同時(shí),也應(yīng)關(guān)注到針對(duì)港澳這類政治敏感地區(qū),有效地對(duì)以粵語形式發(fā)表的網(wǎng)絡(luò)信息進(jìn)行監(jiān)管分析,以達(dá)到保障信息安全、國防安全的目的具有重要的社會(huì)意義?;浾Z作為中國文化中最具特色的方言之一,具有獨(dú)特的聲調(diào)、發(fā)音和語法結(jié)構(gòu),通過更好的分詞算法提升對(duì)粵語相關(guān)論壇和新聞網(wǎng)站內(nèi)容的分析效果,能夠更加快速有效地獲悉當(dāng)?shù)剌浨閯?dòng)向,為將來的民情民愿獲取和政策決策輔助提供技術(shù)上的支撐。
因此,利用粵語社交媒體的短文本數(shù)據(jù),進(jìn)行特征提取與模型構(gòu)建,設(shè)計(jì)并實(shí)現(xiàn)一種有效的分詞算法,提升粵語分詞準(zhǔn)確性,對(duì)以粵語為研究對(duì)象的自然語言處理任務(wù)研究具有重要意義。
與其它漢語方言不同,粵語創(chuàng)造了一套較完備的方言文字書寫系統(tǒng),粵語的文字書寫系統(tǒng)可以分為通用漢字和粵語特殊用字兩個(gè)部分,因?yàn)橛邢嗨频牟糠?,所以現(xiàn)有的中文分詞研究對(duì)粵語分詞研究的開展具有相當(dāng)大的啟發(fā)意義。目前主流的中文分詞方法主要分為3大類:基于規(guī)則的分詞方法[1,2]、基于機(jī)器學(xué)習(xí)的分詞方法[3-5]以及基于深度學(xué)習(xí)的分詞方法[5-9]。袁向鐸[10]依據(jù)構(gòu)建的知識(shí)庫采用雙數(shù)組trie樹的字符串匹配方法對(duì)中文地址進(jìn)行初步分詞,又設(shè)計(jì)了基于地址組成規(guī)則的分詞結(jié)果處理算法來對(duì)其進(jìn)行消除歧義、推導(dǎo)驗(yàn)證等處理,大大提高了分詞的準(zhǔn)確率。雖然基于規(guī)則的分詞方法簡(jiǎn)單、便于操作,但單純基于規(guī)則的分詞準(zhǔn)確率不高,未能解決未登錄詞識(shí)別和分詞歧義。邢付貴等[11]通過互信息、信息熵、位置成詞概率多特征融合的新詞發(fā)現(xiàn)方法從大規(guī)模古籍文本中建立基礎(chǔ)詞典與候補(bǔ)詞典,形成含有349 740個(gè)字詞的集成古文詞典CCIDict,并應(yīng)用CCIDict實(shí)現(xiàn)古文的多種分詞算法。雖然基于統(tǒng)計(jì)的分詞方法可以很好地識(shí)別高頻未登錄詞和交集型消除歧義,但是統(tǒng)計(jì)模型復(fù)雜度高,運(yùn)行周期長,依賴人工特征提取。Tian Y等[12]提出了一種通過在訓(xùn)練過程中考慮不同的字符組并基于BERT的用N-gram表示增強(qiáng)的中文文本編碼器,ZEN。ZEN能夠綜合字符序列和包含的單詞或短語的綜合信息,證明了ZEN在一系列中文NLP任務(wù)中的有效性。與其它已發(fā)布的編碼器相比,ZEN使用更少的資源,并在大多數(shù)任務(wù)上表現(xiàn)更優(yōu)越的性能。深度學(xué)習(xí)模型能大大提高中文分詞的準(zhǔn)確度,但其依賴訓(xùn)練預(yù)料,分詞速度和跨領(lǐng)域分詞等方面依然存在短板。
針對(duì)于粵語的相關(guān)工作,Wang Z等[13]構(gòu)建了2019冠狀病毒疾病相關(guān)粵語假新聞集,實(shí)證了基于深度學(xué)習(xí)的方法效果表現(xiàn)略優(yōu)于傳統(tǒng)的機(jī)器學(xué)習(xí)在TF-IDF特征上的方法效果。Shen A等[14]作為Lihkg在線論壇為語料庫,提出一種基于字符嵌入和中文分詞的主題矢量化方法,以MLP(多層感知器)神經(jīng)網(wǎng)絡(luò)為位置主題模型,該方法和模型能夠有效識(shí)別論壇所討論活動(dòng)的時(shí)間和位置。Wu Bing[15]提出了一種新穎的粵語風(fēng)格文本情緒分析方法,即情緒增強(qiáng)注意(LSTM-SAT),將情感知識(shí)引入基于深度學(xué)習(xí)的長短時(shí)記憶網(wǎng)絡(luò)的注意力機(jī)制中,但其在中文分詞部分仍然用的是正向最大匹配算法,在分詞效果上還有很大的提升空間。
總的來說,方言等地方特色語言的計(jì)算機(jī)領(lǐng)域相關(guān)工作研究較少,尤其是粵語,大多研究都是語言學(xué)家語義語法層面上的總結(jié)和論證。就目前針對(duì)粵語相關(guān)工作來看,還存在以下問題:一方面,針對(duì)粵語內(nèi)容的研究較少,如粵語內(nèi)容的話題檢測(cè)與追蹤等領(lǐng)域,未將中文研究成果應(yīng)用于粵語文本處理當(dāng)中。另一方面,直接利用的粵語語料還相對(duì)較少,大批量獲取分詞預(yù)處理好的粵語語料仍有難度,一定程度上影響實(shí)驗(yàn)效果。
一直以來,粵語字與其它方言字一樣,缺乏相應(yīng)的規(guī)范標(biāo)準(zhǔn)。對(duì)于粵語字是否需要規(guī)范這個(gè)問題,從民間到學(xué)界都曾有過不同的意見。但從學(xué)習(xí)、理解及應(yīng)用的角度來說,粵語字的規(guī)范是很有必要的?;浾Z在日常使用的過程中問題主要表現(xiàn)為繁簡(jiǎn)體混用和繁簡(jiǎn)體不對(duì)應(yīng),前者可以通過繁簡(jiǎn)轉(zhuǎn)換的方法來解決,但后者會(huì)出現(xiàn)有字無碼的現(xiàn)象。多年來,國家出臺(tái)了相關(guān)字符集,具體包括:《圖文電視廣播用漢字編碼字符集·香港子集》(GB/T15564—1995)及香港特區(qū)政府公布的《香港增補(bǔ)字符集》(HKSCS-1999至2016)。其中,《香港增補(bǔ)字符集-2016》共收錄5033個(gè)字符,增錄了400多個(gè)粵語字,這對(duì)粵語字在電腦中的使用起到了十分重要的作用。侯興泉與吳南開在《信息處理用字詞規(guī)范研究》一書中收錄了1000多個(gè)粵語字。所以選擇一個(gè)包含粵語字更全的字符集可能會(huì)對(duì)文本存儲(chǔ)和處理帶來便利。
本文根據(jù)《香港增補(bǔ)字符集-2016》、《信息處理用字詞規(guī)范研究》中收錄的共10589個(gè)粵語常用字進(jìn)行解碼再轉(zhuǎn)碼操作,各字符集比較結(jié)果見表1。GB18030與UTF-8收錄的粵語常用字差別不大,但UTF-8的編碼格式在中文研究領(lǐng)域更為常用,其中經(jīng)調(diào)研使用utf8 mb4字符編碼對(duì)繁體較多的粵語有更好的支撐效果。因此,本文選取utf8 mb4字作為字庫編碼格式。
表1 字符集收錄粵語常用字統(tǒng)計(jì)
本文數(shù)據(jù)源主要包括粵語主流社交媒體的用戶發(fā)言信息、粵語新聞網(wǎng)站的新聞報(bào)道、用戶評(píng)論以及粵語書籍資料4大類。其中,主流社交媒體的用戶發(fā)言信息選取的數(shù)據(jù)源包括Twitter、微博等社交媒體;新聞及新聞評(píng)論主要選取自的是《巴士的報(bào)》網(wǎng)站;粵語書籍主要是網(wǎng)絡(luò)小說。本文選取這3類數(shù)據(jù)源時(shí)從3個(gè)方面保證了實(shí)驗(yàn)結(jié)果的普適性:第一選取的文本長度涵蓋短、中、長3類文本;第二選取的類型包括口語化的日常網(wǎng)絡(luò)用語、粵語書籍以及用語規(guī)范的新聞報(bào)道;第三選取的文本主題沒有固定范圍,涵蓋日常生活、娛樂新聞等多個(gè)方面。
技術(shù)上采用Scrapy的爬蟲框架進(jìn)行數(shù)據(jù)采集,爬取的數(shù)據(jù)主要是粵語主流社交媒體的用戶發(fā)言信息、粵語新聞新聞報(bào)道以及用戶評(píng)論。主流社交媒體網(wǎng)站為了緩解自身服務(wù)器的負(fù)載壓力往往會(huì)限制單個(gè)IP的訪問頻率以及在超過單個(gè)IP訪問上限時(shí)進(jìn)行封禁的反扒策略。因此在訪問時(shí)需要制定相應(yīng)爬蟲策略,具體采集方法如下:
(1)統(tǒng)一不同數(shù)據(jù)源寫入數(shù)據(jù)庫格式,設(shè)置代理服務(wù)以及將爬蟲部署外網(wǎng)服務(wù)器;
(2)按時(shí)間線順序?qū)⒋廊』浾Z新聞及社交媒體用戶發(fā)言的URL置入待爬取列表;
(3)逐個(gè)取出待爬取集合中的URL進(jìn)行爬??;
(4)查看爬取結(jié)果。如果被限制訪問,將URL置入待爬取集合,并更換代理,重新進(jìn)行第(3)步。如果爬取成功,則寫入數(shù)據(jù)庫。
在缺乏高質(zhì)量分詞語料的情況下,使用詞頻、凝結(jié)度(互信息)與邊界熵等基于統(tǒng)計(jì)方法作為初步的分詞策略。其中,凝結(jié)度能描述字與字之間關(guān)聯(lián)程度,也就是成詞可能性,如式(1)、式(2)所示
Fi1(w1,2,…,i)=P(w1,2,…,i)P(w1)P(w2,…,i)
(1)
…
Fii-1(w1,2,…,i)=P(w1,2,…,i)P(w1,…,i-1)P(wi)
(2)
其中,F(xiàn)表示凝結(jié)度的值,w1,2,…,i代表選取子串的有序集合,P(w) 代表該子串在整體語料集中出現(xiàn)的概率。由此可得,式(1)、式(2)中的Fi描述的都是同一個(gè)子串內(nèi)部不同凝結(jié)度的計(jì)算方式,當(dāng)子串w1,2,…,i所有的切分方式出現(xiàn)頻率的乘積遠(yuǎn)大于其整詞w1,2,…,i的出現(xiàn)頻率情況下,表明該子串w1,2,…,i的成詞的可能性非常大。因此,充分考慮到互聯(lián)網(wǎng)語言以及粵語的時(shí)效性,句子中不同長度的子串都有成詞的可能。
根據(jù)圖1可得隨著詞的長度增加,詞本身出現(xiàn)次數(shù)會(huì)相應(yīng)減少?,F(xiàn)代漢語語料庫多字詞詞頻及概率如圖1所示。
圖1 現(xiàn)代漢語語料庫多字詞詞頻及概率
圖2可得,一般4字以上的詞(除專有名詞以外)出現(xiàn)的概率較小?,F(xiàn)代漢語語料庫多字詞詞頻占比統(tǒng)計(jì)如圖2所示。
圖2 現(xiàn)代漢語語料庫多字詞詞頻占比統(tǒng)計(jì)
同時(shí),通過對(duì)漢語語料庫中4字以上詞的分析可得,按照更細(xì)粒度的分詞標(biāo)準(zhǔn)這些詞一般都能拆解成多個(gè)較短詞。由于粵語是漢語方言的一種,在構(gòu)建粵語詞庫時(shí),選詞的最大長度設(shè)置成4會(huì)更加合適。
設(shè)置閾值要考慮不同長度的多字詞對(duì)閾值的影響,并且由圖2、圖3所示詞頻也能作為選詞標(biāo)準(zhǔn)幫助篩選。不同參數(shù)下的成詞率散點(diǎn)圖如圖3所示。
圖3 不同參數(shù)下的成詞率散點(diǎn)圖
并且隨著詞本身長度的增加其凝結(jié)度集 {Fi} 內(nèi)凝結(jié)度的計(jì)算方式也相應(yīng)增多,凝結(jié)度集內(nèi)部值的變化可能性增大。在理想情況下,凝結(jié)度集的值都普遍偏高時(shí),說明該詞的成詞可能性越高或者其上位多字詞成詞的可能性就越高。相反,當(dāng)凝結(jié)度集中出現(xiàn)過小值時(shí),說明該詞成詞的可能性較小。這時(shí)需要用左右信息熵來進(jìn)行篩選,主要目的就是形容左右鄰字的豐富程度,如式(3)、式(4)所示
EL(W)=-∑P(XW|W)·log2P(XW|W)
(3)
ER(W)=-∑P(WY|W)·log2P(WY|W)
(4)
其中,EL與ER表示W(wǎng)字的左右信息熵,而P(XW|W) 表示左鄰字X在W的所有的左鄰字中的概率。當(dāng)EL與ER特別高時(shí),說明字W的左鄰字X與右鄰字Y非常豐富,以W開頭的詞存在上位詞的概率低。根據(jù)實(shí)驗(yàn)結(jié)果,提取其中的多字詞表見表2,可以發(fā)現(xiàn)提取的詞既具備當(dāng)下熱詞也具備方言詞匯,如肺炎、曱甴等。
表2 詞庫示例
通過大規(guī)模數(shù)據(jù)的文本處理構(gòu)建二元字典以及多字詞詞庫,將其分別應(yīng)用在初篩分詞和分詞修正的實(shí)踐上。其中,二元字典以七元組形式如式(5)所示
Di=(w1,w2,f1,2,F(xiàn)1,2,S1,2,e1,e2)
(5)
其中,w1與w2表示兩字,f1,2表示兩字出現(xiàn)頻數(shù),F(xiàn)1,2表示兩字出現(xiàn)頻率,S1,2表示兩字之間的凝結(jié)度,e1與e2分別表示w1左信息熵與w2右信息熵。在2.3小節(jié)構(gòu)建粵語詞庫時(shí),本文應(yīng)用式(1)中對(duì)凝結(jié)度集 {Fi} 整體都高于閾值的子串進(jìn)行篩選。但如果兩字之間的凝結(jié)度低于某閾值就說明兩字之間的成詞可能性較小,存在分詞界限的可能性就高。利用此方法作為分詞依據(jù),將粵語語料根據(jù)二元字典進(jìn)行處理,通過兩字之間的凝結(jié)度Fi進(jìn)行切分。
此方法在分詞上已經(jīng)初具效果,在圖4中雖然沒能將“佢/就”和“一個(gè)/筆盒”等詞正確切分,但只根據(jù)二元字典進(jìn)行計(jì)算省去了三元以及多元的考慮,節(jié)省了大量計(jì)算時(shí)間。并且“畀心機(jī)”的出現(xiàn)頻次也相當(dāng)?shù)母?,表明該方法具備能將任意長詞給切分出來的能力。初篩分詞結(jié)果如圖4所示。
圖4 初篩分詞結(jié)果
對(duì)于初篩分詞結(jié)果,已將待分詞序列切分成有限個(gè)待分詞子序列,只要將每個(gè)待分詞子序列優(yōu)化為最優(yōu)分詞結(jié)果,即可達(dá)到全局最優(yōu)分詞序列,即整句的最優(yōu)分詞序列。針對(duì)待分詞子序列,本文應(yīng)用基于詞頻的雙向匹配分詞算法進(jìn)行優(yōu)化。其分詞過程主要分為雙向分詞和分詞序列選擇兩部分,具體算法步驟如下:
算法1:基于詞頻的雙向匹配分詞算法
輸入:由初篩分詞得到有限個(gè)待分詞子序列 {Sj}, 其中Sj=(w1,…,wk),wk表示子序列中第k個(gè)字。
輸出:
(1)正向最大匹配的分詞:對(duì)Sj利用粵語多字詞庫利用正向最大匹配算法進(jìn)行匹配。以Sj為例,Iflen(Sj)>2: 選取以首字開始的二字詞到四字詞逐一對(duì)詞庫的進(jìn)行匹配,選取匹配中的最長詞記為f1, 如果沒有匹配到將單字同樣記為fm, 繼續(xù)對(duì)后續(xù)字迭代該過程,得到Sj正向最大匹配的分詞結(jié)果Fj=(f1,…,fm)。
(2)逆向最大匹配的分詞:同正向最大匹配的分詞,從最后面字符開始,得到Sj逆向最大匹配的分詞結(jié)果Ej=(e1,…,em)。
(3)基于詞頻的評(píng)分:利用詞庫得到了Fj與Ej兩種分詞結(jié)果,利用詞頻對(duì)分詞序列結(jié)果Fj與Ej進(jìn)行評(píng)分,得到socre*j(Fj) 和socre*j(Ej)。 具體計(jì)算如公式(6)所示
socre*j(Fj)=∏mx=1-logP(fx)
(6)
(4)選擇最優(yōu)解:選擇最小的socre*j作為Sj最優(yōu)分詞序列,對(duì)接下來Sj+1,…,Sj+k重復(fù)上述過程進(jìn)行計(jì)算,得到全句最優(yōu)序列 {S′j}。
(5)合并連續(xù)的單字詞,輸出序列 {S′j}。
圖5的二次分詞結(jié)果中雖然沒能將“佢/就”和“一個(gè)/筆盒”等詞正確切分,但只根據(jù)二元字典進(jìn)行計(jì)算省去了三元以及多元的考慮,節(jié)省了大量計(jì)算時(shí)間。并且“畀心機(jī)”的出現(xiàn)頻次也相當(dāng)?shù)母?,表明該方法具備能將任意長詞給切分出來的能力。二次分詞結(jié)果如圖5所示。
圖5 二次分詞結(jié)果
經(jīng)過基于詞頻的最大雙向匹配算法得到了全句最優(yōu)序列 {S′j}, 但 {S′j} 全是應(yīng)用無監(jiān)督的方法進(jìn)行實(shí)現(xiàn)的,沒有驗(yàn)證 {S′j} 在句法結(jié)構(gòu)上的合理性。因此,利用有向無環(huán)圖(DAG)分析句法結(jié)構(gòu),驗(yàn)證 {S′j} 在句法結(jié)構(gòu)上的合理性,提高分詞結(jié)果的準(zhǔn)確性。本文2.3小節(jié)提到利用互信息來描述詞內(nèi)部連接的緊密程度,本節(jié)繼續(xù)利用詞級(jí)別的互信息來描述詞與詞之間的關(guān)聯(lián)程度。
以句子為單位,分別計(jì)算分詞序列 {S′j} 中任意兩詞的互信息,將超過閾值的兩個(gè)詞進(jìn)行連接,形成能夠描述分詞序列 {S′j} 中各詞相關(guān)程度的一個(gè)有向無環(huán)圖。遍歷每各句子中存在的路徑,如果路徑中非相鄰的詞通過邊連接到下一個(gè)詞且存在跳躍的詞,就在兩詞之間插入 {S′j} 進(jìn)行表示發(fā)生過跳躍,最終得到關(guān)于該句的各個(gè)插槽句型模板。對(duì)例句進(jìn)行邊的計(jì)算和連接,得到如圖6所示的詞互信息關(guān)聯(lián),再借由此生成圖7所示的插槽句型模板。
圖6 詞互信息關(guān)聯(lián)
圖7 插槽句型模板
統(tǒng)計(jì)所有語料中可能存在的插槽句型模板,并對(duì)記錄相同插槽句型模板的出現(xiàn)頻次進(jìn)行排序,核對(duì)排名靠前插槽句型模板是否符合分詞規(guī)范,將不符合分詞規(guī)范的插槽句型模板進(jìn)行修改。從圖7可以看出,以包含“佢就”的句型模板為例,雖然該兩字前兩步?jīng)]有被正確切分,但該兩字的句型模板在整體語料中出現(xiàn)次數(shù)排名靠前,出現(xiàn)10萬多次。針對(duì)該問題進(jìn)行分詞修正,將其分為“佢/就”,并應(yīng)用修正到全部擁有此句型模板句子中。同理,本文對(duì)出現(xiàn)頻次前10%的模板進(jìn)行分析,對(duì)出現(xiàn)的分詞錯(cuò)誤進(jìn)行修改,一定程度上提升了整體 {S′j} 的準(zhǔn)確率。因此,針對(duì)出現(xiàn)高頻的共性語句進(jìn)行排序和分析,不僅更容易發(fā)現(xiàn)共性問題,也降低了人工校對(duì)的工作量,短時(shí)間內(nèi)就能達(dá)到效果上的提升。
上述的分詞過程需要不斷查找詞庫,存在處理時(shí)間長、過程繁瑣的問題,可以利用深度學(xué)習(xí)模型對(duì)無監(jiān)督的分詞方法的效果進(jìn)行固化,達(dá)到簡(jiǎn)化分詞流程、減少分詞時(shí)長的效果。因此,本文應(yīng)用3層架構(gòu)的深度學(xué)習(xí)模型框架來實(shí)現(xiàn)對(duì)分詞序列的標(biāo)注,Bert-BiLSTM-CRF模型如圖8所示。
圖8 Bert-BiLSTM-CRF三層模型架構(gòu)
模型的輸入以字為單位的整句,輸出是每個(gè)字對(duì)應(yīng)的預(yù)測(cè)標(biāo)簽。首先在Bert層,將輸入的代分詞粵語文本,將其通過Bert模型將字序列 {w1,…,wi} 映射為對(duì)應(yīng)的特征向量 {v1,…,vi}。 然后,將映射后的序列字向量 {v1,…,vi} 作為BiLSTM層的輸入,通過拼接BiLSTM層的前向運(yùn)算和后向運(yùn)算的結(jié)果向量,得到每個(gè)字向量的隱層向量表示,將隱層向量進(jìn)行降維,輸出維度大小為原文本字?jǐn)?shù)的向量,向量中每個(gè)維度對(duì)應(yīng)的數(shù)值表示每個(gè)字對(duì)應(yīng)的各個(gè)標(biāo)簽的得分。最后,引入CRF層進(jìn)行標(biāo)簽預(yù)測(cè)。如表3所示,在進(jìn)行語料標(biāo)注時(shí),采用六位詞的標(biāo)注方法對(duì)數(shù)據(jù)集中的每個(gè)實(shí)體進(jìn)行字級(jí)別的位置標(biāo)注,相比于四詞位和二詞位標(biāo)注集,六詞位標(biāo)注集更能有效地表現(xiàn)字在詞語中的詞位信息,表達(dá)能力更強(qiáng)。
表3 類詞位標(biāo)注集的定義
最后將CRF層的結(jié)果輸出,將其每個(gè)字位置所對(duì)應(yīng)的各個(gè)標(biāo)簽類別作為預(yù)測(cè)結(jié)果。
表4 數(shù)據(jù)集規(guī)模介紹
將章節(jié)3、章節(jié)4所涉及的實(shí)驗(yàn)采取SIGHAN bakeoff2005的評(píng)測(cè)標(biāo)準(zhǔn)對(duì)評(píng)測(cè)結(jié)果進(jìn)行測(cè)試,該評(píng)測(cè)標(biāo)準(zhǔn)包括精確率P、召回率R、綜合評(píng)分F值、未登錄詞召回率R-OOV、詞表詞召回率R-IV這5個(gè)指標(biāo)。其中未登錄詞召回率與詞表詞召回率受粵語詞庫和分詞步驟影響都比較高,不具有對(duì)比和參考意義,將其它3個(gè)指標(biāo)得到的實(shí)驗(yàn)結(jié)果見表5。
表5 實(shí)驗(yàn)結(jié)果
本文在3.1小節(jié)中,利用凝結(jié)度作為分詞依據(jù),將粵語語料中每個(gè)句子分成若干個(gè)序列,并以此作為初篩分詞的結(jié)果,該結(jié)果的F值能達(dá)到0.562。F值能達(dá)到這個(gè)數(shù)值的原因不僅是在分詞時(shí)反向利用凝結(jié)度,將緊密程度不夠的兩字之間添加分詞界限,還因?yàn)橛糜诜衷~的凝結(jié)度是根據(jù)語料本身的計(jì)算而得,更能適應(yīng)語料本身。限制F值上升的原因是仍存在凝結(jié)度值不低于閾值但存在分詞界限的地方未被找到的問題。閾值過低,影響原有的正確切分的數(shù)量,從而導(dǎo)致精確率增高與召回率降低;閾值過高,錯(cuò)誤切分的數(shù)量增多,從而導(dǎo)致精確率降低和召回率升高。
為了解決這個(gè)問題,保證F值的同時(shí),本文在3.2節(jié)引入2.3小節(jié)構(gòu)建的粵語詞庫,對(duì)句子中每個(gè)序列進(jìn)行基于詞頻的雙向最大匹配算法進(jìn)行分詞優(yōu)化。該步驟能利用粵語詞庫中已確定的詞進(jìn)行雙向匹配擇優(yōu)選擇結(jié)果,提高語料切分整體的F值14.5個(gè)百分點(diǎn)。該步驟切分的效果主要受限于粵語詞庫的質(zhì)量。從語料本身提取的詞庫處理該語料時(shí),理論上是不存在未登陸詞的,但在建立詞庫時(shí)候詞庫篩選掉的詞會(huì)作為未登錄詞影響匹配的效果。所以,在切分的時(shí)候也充分考慮到該種情況的影響,對(duì)最后的結(jié)果中的連續(xù)單字符進(jìn)行合并。
經(jīng)過基于詞庫的二次分詞得到了新的分詞語料,在F值上仍有提升的空間。經(jīng)過對(duì)分詞結(jié)果的觀察,仍存在像“佢就”此類常用搭配,想要從優(yōu)化詞庫質(zhì)量改善效果需要投入大量人工總結(jié)修正的工作。但是想要對(duì)分詞結(jié)果有個(gè)短時(shí)間內(nèi)的提升,可以轉(zhuǎn)換角度從語法結(jié)構(gòu)入手,去改善粵語詞庫中沒有常用單字詞對(duì)分詞結(jié)果的影響。于是利用詞之間互信息,找到出現(xiàn)頻率高共性大的句型,批量修改里面存在的分詞錯(cuò)誤。由于只分析修改了前10%句型,但還是獲得了相比較于應(yīng)用詞庫之后的結(jié)果6個(gè)百分點(diǎn)的提升。這部分工作雖然還有提升空間,但仍說明該處理預(yù)訓(xùn)練語料的方法在粵語文本上具有效果。
最后,將得到的預(yù)分詞語料通過有監(jiān)督的深度學(xué)習(xí)模型進(jìn)行訓(xùn)練得到最終的分詞模型。有監(jiān)督的深度學(xué)習(xí)設(shè)置了3組對(duì)照實(shí)驗(yàn),Bert預(yù)訓(xùn)練模型的基線模型、Bert-CRF模型以及Bert-BiLSTM-CRF融合模型。根據(jù)表5的實(shí)驗(yàn)結(jié)果可知,Bert-BiLSTM-CRF的分詞效果明顯優(yōu)于其它兩種模型,能夠?qū)值穩(wěn)定在0.743左右。比較Bert與Bert-CRF的實(shí)驗(yàn)結(jié)果,在拼接CRF模型后F值提高了0.026,這主要是因?yàn)镃RF模型能夠利用分詞標(biāo)簽序列之間的關(guān)聯(lián)性,像“B B1E…”的標(biāo)簽不能通過模型有效輸出,進(jìn)而提高分詞的準(zhǔn)確率。比較Bert-CRF與Bert-BiLSTM-CRF的實(shí)驗(yàn)結(jié)果,在Bert與CRF直接拼接BiLSTM模型后F值提高了0.018,引入的BiLSTM能夠?qū)ert模型得到的句子每個(gè)字的向量表示進(jìn)一步語義編碼,抓住了更多上下文的信息,增強(qiáng)了句子的語義表達(dá),進(jìn)而提高了分詞模型的分詞效果。對(duì)于目前主流模型的比較也可以發(fā)現(xiàn),分詞效果僅是小程度的提成,即使普通的Bert模型也能達(dá)到近0.7的F值,也從側(cè)面印證了該分詞流程的有效性。
對(duì)于CANCORP的語料,其分詞標(biāo)準(zhǔn)粒度較細(xì),對(duì)分詞的準(zhǔn)確度稍有影響,單獨(dú)在自建標(biāo)注數(shù)據(jù)集CSBC上的效果有0.05的提升。單從快速構(gòu)建分詞模型來看已經(jīng)達(dá)到了快速可用的標(biāo)準(zhǔn),雖然效果比起中文成熟分詞模型的準(zhǔn)確率還有待提升,但此過程實(shí)現(xiàn)不管是對(duì)缺乏分詞語料和開源分詞模型的粵語來說,對(duì)其它語言從零構(gòu)建分詞模型具有借鑒意義的。
本文提出了一種面向粵語的通用分詞方法,利用無監(jiān)督與有監(jiān)督結(jié)合的方式構(gòu)建了一套工程化、流程化的粵語分詞模型,解決了在缺乏預(yù)處理粵語分詞語料的情況下如何訓(xùn)練分詞模型的問題。
本文所設(shè)計(jì)的實(shí)驗(yàn)還存在諸多不足和待優(yōu)化之處,從粵語方言本身來說,實(shí)際的分詞效果受語料影響較大。另外,從分詞效率來說,還有很多待優(yōu)化地方,比如可將二元字典轉(zhuǎn)化為Tire樹,會(huì)提高檢索效率。這些都是下一步工作中需要研究與改進(jìn)的地方。