劉陽光,豈凡超,劉知遠(yuǎn),孫茂松
(1.清華大學(xué) 計算機(jī)科學(xué)與技術(shù)系,北京 100084;2.清華大學(xué) 人工智能研究院,北京 100084;3.清華大學(xué) 智能技術(shù)與系統(tǒng)國家重點(diǎn)實(shí)驗(yàn)室,北京 100084)
近年來,隨著人工智能從數(shù)據(jù)驅(qū)動發(fā)展到知識驅(qū)動和數(shù)據(jù)驅(qū)動相結(jié)合,人們結(jié)合大量知識庫,將人類知識融入到人工智能,應(yīng)用于自然語言處理(natural language processing,NLP)、計算機(jī)視覺(computer vision,CV)等多個子領(lǐng)域并取得了顯著的效果提升,知識庫越來越受到研究者的青睞。作為在中文世界有巨大影響力的語言學(xué)常識知識庫,《知網(wǎng)》(HowNet)[1]同樣倍受關(guān)注,且針對其的相關(guān)研究和應(yīng)用不斷增多。HowNet由董振東、董強(qiáng)父子前后耗時30余年構(gòu)建而成,它包含了由2 134個義原(sememe)組成的概念描述體系,借此能為無限多詞語的概念進(jìn)行語義標(biāo)注。HowNet中的義原被定義為人類語言中不可再分的最小語義單位[2]。HowNet現(xiàn)包含手工標(biāo)注的具有層次結(jié)構(gòu)的中英雙語詞語已超過10萬條,其中漢語詞語5萬條和對應(yīng)的概念6萬多條,以及與之對應(yīng)的英語詞語5.5萬條和概念7萬多條[3]。HowNet已被廣泛應(yīng)用于多種NLP任務(wù),如信息結(jié)構(gòu)標(biāo)注[4]、語義表示學(xué)習(xí)[5]、詞義相似度計算[6]、詞義消歧[7-8]、情感分析[9]、問題自動分類[10]、信息融合研究[11]、文本聚類[12]、關(guān)系抽取[13]、多通道反向詞典[14]等。由此可見,HowNet研究意義重大,應(yīng)用前景廣闊。
盡管HowNet應(yīng)用價值大,但其存在一個缺陷:專家構(gòu)建HowNet前后總耗時達(dá)30余年,時間跨度大引入許多標(biāo)注誤差,導(dǎo)致義原標(biāo)注不一致,使HowNet整體一致性難以保證,降低了其應(yīng)用價值。
下文對HowNet中存在的標(biāo)注義原不一致問題進(jìn)行說明。“生老病死”“生死”“生生死死”“生死存亡”“死活”是五個近義詞,語義上都包含“生”和“死”兩層含義。五個詞在HowNet中的義原標(biāo)注如表1所示,后四個詞標(biāo)注的義原一致為“事情、活著、死”,印證了“語義相同的詞,具有相同的義原標(biāo)注”的思想。但“生老病死”卻只標(biāo)注“事情、活著”兩個義原,缺失義原“死”,和四個近義詞存在明顯的不一致。這個不一致問題在很大程度上會影響HowNet的應(yīng)用價值,也會影響人們對HowNet義原知識的研究,因此亟需解決。
表1 HowNet中存在的義原標(biāo)注不一致問題
另外,義原標(biāo)注的不一致問題也制約著專家和研究者對HowNet的擴(kuò)充。目前HowNet已標(biāo)注詞語數(shù)量還比較少,這嚴(yán)重限制其在各項NLP任務(wù)上的應(yīng)用。因此,提升HowNet標(biāo)注數(shù)據(jù)量,能顯著提升它在多項任務(wù)上的應(yīng)用效果。然而,無論是費(fèi)時又費(fèi)力的人工標(biāo)注義原,還是利用機(jī)器學(xué)習(xí)自動預(yù)測義原,都會給HowNet引入不一致問題,導(dǎo)致義原標(biāo)注一致性難以保證。因此,對義原標(biāo)注一致性的檢驗(yàn)非常重要,它是保證HowNet一致性的關(guān)鍵。
人工進(jìn)行一致性檢驗(yàn)費(fèi)時費(fèi)力,因此應(yīng)用機(jī)器學(xué)習(xí)的方法進(jìn)行一致性檢驗(yàn)十分必要。但是,針對HowNet的一致性檢驗(yàn)研究尚屬首次,因此沒有任何思路和方法可供參考,這大大增加了開展本研究的難度。另外,基于義原標(biāo)注的知識庫HowNet遵循還原論思想構(gòu)建,本身缺乏形式化的標(biāo)注規(guī)則,這也給一致性檢驗(yàn)研究帶來了不小挑戰(zhàn)。
本文首次提出了對HowNet義原標(biāo)注一致性檢驗(yàn)(consistency check of sememe annotations,CCSA)方法。本方法基于“相同或相關(guān)義項,其義原標(biāo)注具有相似性”的思想,旨在提升現(xiàn)有HowNet義原標(biāo)注的一致性,并為進(jìn)一步擴(kuò)充HowNet數(shù)據(jù)進(jìn)行一致性把關(guān)。我們利用神經(jīng)網(wǎng)絡(luò)語言模型預(yù)訓(xùn)練得到義原向量,并由此構(gòu)造義項向量,通過協(xié)同過濾算法推薦出義項的義原列表,將列表與HowNet現(xiàn)有標(biāo)注的義原進(jìn)行比對,設(shè)置閾值,當(dāng)兩者M(jìn)AP值大于等于閾值時,默認(rèn)該義原標(biāo)注和HowNet一致。通過設(shè)置大小不同的閾值進(jìn)行實(shí)驗(yàn),得到不同方法在不同條件下的一致性檢驗(yàn)準(zhǔn)確率。實(shí)驗(yàn)結(jié)果表明,CCSA方法在一致性檢驗(yàn)上切實(shí)有效。
本文的貢獻(xiàn)可以概括為:
(1) 研究發(fā)現(xiàn)HowNet義原標(biāo)注的不一致問題,并分析其存在原因、主要特點(diǎn)及大致分類。
(2) 首次提出HowNet義原標(biāo)注一致性檢驗(yàn)方法,將“相同或相關(guān)義項,其義原標(biāo)注具有相似性”作為基本理論[15],能參照知識庫整體的義原標(biāo)注來檢驗(yàn)部分標(biāo)注是否符合整體的一致性。
(3) 提出的方法能夠計算義原標(biāo)注的不一致性得分。實(shí)驗(yàn)結(jié)果表明,與所有基準(zhǔn)模型相比,我們的方法有更高的檢錯率,能夠從整體的義原標(biāo)注更準(zhǔn)確地計算出待檢驗(yàn)數(shù)據(jù)的標(biāo)注一致性大小,進(jìn)而發(fā)現(xiàn)標(biāo)注不一致的數(shù)據(jù)。
(4) 為進(jìn)一步驗(yàn)證CCSA方法的有效性,我們將標(biāo)注數(shù)據(jù)的不一致得分從小到大排序,然后進(jìn)行人工核驗(yàn),結(jié)果證實(shí)本方法切實(shí)有效。同時我們對存在不一致問題的數(shù)據(jù)進(jìn)行修改和更正,提升了HowNet知識庫的標(biāo)注一致性。
隨著對HowNet的研究和應(yīng)用不斷擴(kuò)展深入,其有限的數(shù)據(jù)量越來越無法滿足研究的需要。而人工標(biāo)注又費(fèi)時費(fèi)力,因此,一些研究者開始研究利用機(jī)器學(xué)習(xí)方法自動預(yù)測義原的工作。如Xie等[15]第一次提出了義原預(yù)測方法——基于協(xié)同過濾的方法SPWE和基于矩陣分解的方法SPSE。Jin等[16]提出了利用中文詞語中的漢字信息進(jìn)行義原預(yù)測的方法SPWCF和SPCSE,以及同時考慮中文詞語內(nèi)、外部信息的集成模型CSP。Qi等[17]探索了跨語言義原預(yù)測進(jìn)而能夠構(gòu)造屬于不同語言的義原知識庫。
一致性檢驗(yàn)在NLP領(lǐng)域是一個重要且常見的研究工作。如詞義標(biāo)注一致性檢驗(yàn)[18]是通過將多義詞每個釋義對應(yīng)的賓語與標(biāo)準(zhǔn)模式庫進(jìn)行匹配,或計算賓語與標(biāo)準(zhǔn)模式庫賓語之間的相似度來檢驗(yàn)詞性標(biāo)注的一致性;語料庫詞性標(biāo)注一致性檢查[19]是按照語境來判斷的,以每個兼類詞及其上下文語境所形成詞性標(biāo)記序列作為研究對象;還有中文文本語料庫分詞一致性檢驗(yàn)[20]、規(guī)則與統(tǒng)計相結(jié)合的分詞一致性檢驗(yàn)[21]等。這些一致性檢驗(yàn)方法的共同點(diǎn)是將詞語的上下文或語境作為研究對象。但HowNet是為詞語標(biāo)注義原的常識知識庫,每個詞語都不存在上下文,因此已有的一致性檢驗(yàn)方法[18-21]無法適用于HowNet的義原標(biāo)注一致性檢驗(yàn)。
在HowNet中,一個詞(word)包括一個或多個不同語義的義項(sense),每個義項由一個或多個義原(sememe)的組合共同描述。義原是人類語言中不可再分的最小語義單元,其思想和語言通用的語義元的思想密切相關(guān)[22]。
與一般語義詞典不同,HowNet對詞的解釋不是通過文字定義,而是通過對詞的形式化描述,即“詞—義項—義原”三級組織結(jié)構(gòu)化描述。詞“折騰”的義原樹如圖1所示,“折騰”有四個義項,每個義項又由若干個義原共同描述。
圖1 HowNet中詞“折騰”的義原樹
在本文中,我們將與之前的工作[18-21]一樣,將義原標(biāo)注看成是義項的語義標(biāo)簽,只關(guān)注義項和義原之間的標(biāo)注關(guān)系。本文提出的CCSA一致性檢驗(yàn)方法的整體框架如圖2所示。
圖2 CCSA一致性檢驗(yàn)方法的整體框架
在CCSA方法進(jìn)行一致性檢驗(yàn)后,我們對發(fā)現(xiàn)的不一致標(biāo)注進(jìn)行人工核驗(yàn),并將存在明顯不一致的數(shù)據(jù)進(jìn)行修改、更正,提升HowNet義原標(biāo)注的一致性。
2.2.1 義項向量的表示學(xué)習(xí)
1) 融入義原的神經(jīng)網(wǎng)絡(luò)語言模型
在神經(jīng)網(wǎng)絡(luò)語言模型中融入義原信息,可以學(xué)習(xí)義原的嵌入表示。融入義原的神經(jīng)網(wǎng)絡(luò)語言模型[23]如圖3所示。
圖3 融入義原的神經(jīng)網(wǎng)絡(luò)語言模型
?輸出層:當(dāng)前詞語的詞向量。
實(shí)驗(yàn)時,我們首先在語料庫上預(yù)訓(xùn)練連續(xù)詞袋模型CBOW[24]得到詞的嵌入表示,然后將得到的詞向量保持不變,對其所轄的義原向量不斷進(jìn)行更新。在不斷地將詞所轄義原向量訓(xùn)練逼近該詞向量的過程中,便能學(xué)習(xí)得到能夠較好預(yù)測這些義原共同描述的詞向量的義原向量。
本方法采取義原向量求和平均作為義項的向量,目的是將義原包含的語義信息平等地賦予義項。這是因?yàn)槊恳粋€標(biāo)注義原作為語義標(biāo)簽,對于義項是同等重要的,因此求和取平均可以使得每一個義原的語義對義項語義的貢獻(xiàn)相同,能使之后計算的義項向量相似度更加準(zhǔn)確。本文之后用“+S”表示融入義原的神經(jīng)網(wǎng)絡(luò)語言模型。
2) 為當(dāng)前詞引入義原的注意力機(jī)制模型
通過關(guān)注當(dāng)前詞的上下文,可以為當(dāng)前詞選擇恰當(dāng)?shù)恼Z義。對當(dāng)前詞引入義原的注意力機(jī)制(sememe attention)模型[25]如圖4所示。
圖4 對當(dāng)前詞引入義原注意力機(jī)制模型
本模型可以學(xué)習(xí)得到上下文的詞嵌入表示和當(dāng)前詞的義原嵌入表示。關(guān)注多義項的當(dāng)前詞w的上下文,構(gòu)建w的嵌入表示如式(5)所示。
實(shí)驗(yàn)時我們發(fā)現(xiàn)當(dāng)前詞w的義項選擇只受上下文中有限的詞影響,因此我們選擇更小的K′代替K。本文之后用“+SA”表示對當(dāng)前詞引入義原注意力機(jī)制的模型。
2.2.2 基于參照集對檢驗(yàn)集進(jìn)行義原標(biāo)注一致性檢驗(yàn)方法
受Xie等[15]提出的義原預(yù)測方法SPWE啟發(fā),本文采用協(xié)同過濾推薦算法的思想針對每一個義項的義原標(biāo)注進(jìn)行一致性檢驗(yàn)。
對于待檢驗(yàn)一致性的義項,我們以“相同或相似的義項,它們的義原標(biāo)注具有語義的相似性”作為理論依據(jù),參照整體與其最為接近的詞來得到其義原標(biāo)注。
(9)
得分函數(shù)P(pj,si)的值越大,則表明義項si越應(yīng)該被標(biāo)注有義原pj。
我們在中文數(shù)據(jù)集上評測了所有模型,包括CCSA(+S)、CCSA(+SA)、SPWE和SPSE。利用SogouT(1)https://www.sogou.com/labs/resource/t.php語料庫預(yù)訓(xùn)練了詞向量、義原向量和義項向量。將數(shù)據(jù)集按照9∶1的比例隨機(jī)切分,將其中1/10作為檢驗(yàn)集,其他作為參照集,進(jìn)行一致性檢驗(yàn)。數(shù)據(jù)集的部分統(tǒng)計數(shù)據(jù)如表2所示。
表2 數(shù)據(jù)集數(shù)據(jù)大小
由于大部分義項具有若干個標(biāo)注義原,因此可以將義原標(biāo)注一致性檢驗(yàn)任務(wù)視為多標(biāo)簽分類是否準(zhǔn)確的任務(wù)。
現(xiàn)有HowNet中的義原標(biāo)注整體上是相對一致的,我們提出的CCSA一致性檢驗(yàn)方法,將義項及其對應(yīng)的原有標(biāo)注義原當(dāng)作“原有樣例”,隨機(jī)抽取一定數(shù)量的“原有樣例”并將其標(biāo)注的義原隨機(jī)替換為2 134個義原集合中的其他義原(新替換的義原不是原有義原,且數(shù)量和原有義原保持一致),得到若干的隨機(jī)“負(fù)樣例”,將隨機(jī)“負(fù)樣例”合到一起作為一致性檢驗(yàn)的檢測數(shù)據(jù)集。
在評測指標(biāo)上,我們參考了之前相關(guān)工作的設(shè)定,使用平均準(zhǔn)確率均值(mean average precision,MAP)[26]作為評測指標(biāo)。MAP是多標(biāo)簽分類任務(wù)中常用的評測指標(biāo)之一,在信息檢索[27]等領(lǐng)域被廣泛使用。MAP的計算如式(10)所示。
其中,N是檢測數(shù)據(jù)集J的隨機(jī)“負(fù)樣例”的數(shù)量,AveP(i)是第i個隨機(jī)“負(fù)樣例”的平均準(zhǔn)確率,AveP(i)的計算如式(8)所示。
其中,n是HowNet中全部義原的數(shù)量,numi是第i個隨機(jī)“負(fù)樣例”的義項在HowNet中標(biāo)注的義原數(shù)。在計算AveP(i)時,我們首先將所有義原的推薦得分從高到低排好序,然后依序判斷是否為 HowNet里原標(biāo)注的義原。Pi(j)是第i個隨機(jī)“負(fù)樣例”截至第j個義原時的準(zhǔn)確率,而函數(shù)correcti(j)表示一個指示函數(shù),其定義如式(12)所示。
根據(jù)參照數(shù)據(jù)集,每一種方法都得到了義項的推薦義原標(biāo)注結(jié)果,計算該結(jié)果和檢驗(yàn)集中現(xiàn)有義原標(biāo)注的MAP值。由式(10)可知,MAP值越大,結(jié)果的準(zhǔn)確率越高;MAP值越小,結(jié)果的準(zhǔn)確率越低。所以,我們設(shè)置閾值(Threshold,T)并且當(dāng)MAP值小于閾值T時,則認(rèn)為當(dāng)前義項原有的義原標(biāo)注和HowNet整體的標(biāo)注是不一致的。由于隨機(jī)“負(fù)樣例”的義原標(biāo)注和原有標(biāo)注情況差距較大,因此,我們參考相關(guān)工作,并根據(jù)實(shí)驗(yàn)結(jié)果的MAP值大小設(shè)置了閾值T。
在評估中,我們使用檢錯率(error detection rate,EDR)作為評估指標(biāo)。檢錯率,即方法能夠從“負(fù)樣例”檢驗(yàn)數(shù)據(jù)集中找出存在不一致隨機(jī)“負(fù)樣例”的能力,可通過式(13)計算得到:
其中,N是檢測數(shù)據(jù)集J的隨機(jī)“負(fù)樣例”的數(shù)量,k表示實(shí)驗(yàn)方法能找出來的不一致的隨機(jī)“負(fù)樣例”個數(shù),計算如式(14)所示。
函數(shù)error(i)是一個指示函數(shù),其定義如式(15)所示。
我們從HowNet中隨機(jī)抽取義項,將其原有標(biāo)注的義原隨機(jī)替換,得到包含8 518個隨機(jī)“負(fù)樣例”的檢驗(yàn)數(shù)據(jù)集。將每一種方法的義原推薦結(jié)果在檢測集上計算MAP值,當(dāng)MAP值小于閾值時,認(rèn)為該種方法能夠從檢測集中找出隨機(jī)“負(fù)樣例”。
目前已有的義原預(yù)測方法[18-21],預(yù)測準(zhǔn)確率在60%~65%之間,若預(yù)測的標(biāo)注義原比已有的標(biāo)注更加符合一致性,則預(yù)測的義原對隨機(jī)“負(fù)樣例”的MAP值將會小于所設(shè)閾值,即可找出不一致的隨機(jī)“負(fù)樣例”,因此可以將義原預(yù)測方法作為一致性檢驗(yàn)的基準(zhǔn)實(shí)驗(yàn)方法。
我們選擇目前義原標(biāo)注預(yù)測效果最好的SPWE和SPSE兩種方法作為基準(zhǔn)方法:
(1) SPWE[15],一種基于預(yù)訓(xùn)練詞向量的方法。首先利用相似度計算在同一低維稠密向量空間中求得目標(biāo)詞的相似詞,通過相似度從大到小將相似詞的義原推薦給目標(biāo)詞。
(2) SPSE[15],一個基于義原向量的方法。首先利用矩陣分解方法求得和預(yù)訓(xùn)練詞向量在同一低維稠密向量空間中的義原向量,通過相似度計算求得目標(biāo)詞和使用義原向量的相似度,從大到小將相似詞的義原推薦給目標(biāo)詞。
通過設(shè)置多組大小不同的閾值,通過式(13)得到各種方法在不同閾值下找出“負(fù)樣例”的檢錯率,據(jù)此可判斷方法對一致性檢驗(yàn)的有效性。檢錯率越高,即該方法找出“負(fù)樣例”的能力越強(qiáng),則檢驗(yàn)HowNet一致性的能力也越強(qiáng)。
根據(jù)提出的CCSA一致性檢驗(yàn)方法和所有基準(zhǔn)模型在檢測數(shù)據(jù)集上的義原一致性檢測結(jié)果和MAP值大小,我們設(shè)置四組以不同間隔大小遞減的閾值進(jìn)行實(shí)驗(yàn),分別是A組0.4~0.1(閾值間隔0.1)、B組0.09~0.01(閾值間隔0.01)、C組0.009~0.001(閾值間隔0.001)、D組0.000 9~0.000 1(閾值間隔0.000 1)。四組實(shí)驗(yàn)結(jié)果如表3~表6所示。
表3 各種方法的檢錯率結(jié)果(閾值間隔0.1)
表4 各種方法的檢錯率結(jié)果(閾值間隔0.01)
表5 各種方法的檢錯率結(jié)果(閾值間隔0.001)
表6 各種方法的檢錯率結(jié)果(閾值間隔0.000 1)
續(xù)表
閾值從0.4開始設(shè)置,是考慮到當(dāng)各種方法推薦的義原標(biāo)注和隨機(jī)“負(fù)樣例”的MAP值小于0.4時,基本上就意味著兩者的準(zhǔn)確率是較低的,這也說明“負(fù)樣例”和推薦的義原相比差距很大,可以認(rèn)為是不一致的標(biāo)注數(shù)據(jù),即該“負(fù)樣例”被認(rèn)定為是不一致樣例。實(shí)驗(yàn)結(jié)果表明,各種方法推薦的義原標(biāo)注和“負(fù)樣例”的MAP值基本都小于0.4,當(dāng)閾值T大于0.4時,所有方法都會把“負(fù)樣例”判定為錯誤,不能體現(xiàn)各種方法間的性能差異。
從實(shí)驗(yàn)數(shù)據(jù)我們可以看出:CCSA方法在0.4~0.000 1的閾值區(qū)間內(nèi),均取得了高于其他基準(zhǔn)模型的檢錯率。尤其是隨著閾值越來越小,相比較于其他基準(zhǔn)模型,CCSA方法的性能優(yōu)勢更為明顯。閾值越小,即要求方法對誤差的容忍度越小,越能發(fā)現(xiàn)誤差小的標(biāo)注數(shù)據(jù)。具體地,當(dāng)閾值下降到0.000 7時,基準(zhǔn)方法的檢錯率就已經(jīng)開始降低為0,而CCSA方法仍然保持著一定的檢錯率(CCSA(+S)為13.14%和CCSA(+SA)為12.8%);即使是閾值下降到0.000 1,CCSA方法仍然具有一定程度的檢錯能力。這也就是說,CCSA方法比其他基準(zhǔn)模型有著更高的誤差檢測性能,能夠發(fā)現(xiàn)更細(xì)小的標(biāo)注誤差。
通過實(shí)驗(yàn)可以發(fā)現(xiàn),計算各種方法(CCSA方法和所有基準(zhǔn)模型)推薦的義原結(jié)果和隨機(jī)“負(fù)樣例”得到的MAP值較小,這個其實(shí)好理解:我們替換原有真實(shí)標(biāo)注義原得到的隨機(jī)“負(fù)樣例”,和原有真實(shí)標(biāo)注差距是比較大的,而我們各種方法的推薦準(zhǔn)確率比較高,因此,各種方法推薦的義原標(biāo)注和錯誤的隨機(jī)“負(fù)樣例”之間計算得到的MAP值較小。
在將知識庫應(yīng)用于各項任務(wù)時,知識庫的質(zhì)量將決定任務(wù)能取得的實(shí)驗(yàn)效果。義原標(biāo)注是HowNet知識庫構(gòu)建的核心環(huán)節(jié),因而義原標(biāo)注的一致性直接決定著HowNet知識庫的質(zhì)量和應(yīng)用價值。只有保證了義原標(biāo)注的一致性,那么將義原應(yīng)用于NLP任務(wù)才有意義,才能取得好的實(shí)驗(yàn)效果。
義原標(biāo)注一致,是指具有某種特定語義關(guān)系的詞,其標(biāo)注的對應(yīng)義原之間也具有此種語義聯(lián)系。這一特點(diǎn)在HowNet現(xiàn)有詞語標(biāo)注的義原中得到了很好地體現(xiàn):
(1) 同義詞或近義詞,其標(biāo)注的義原相同或語義相似,如圖5所示。
圖5 同義詞(說媒、說親)標(biāo)注義原相同
(2) 反義詞,其標(biāo)注的義原語義相反,如圖6所示。
圖6 反義詞(早熟、晚熟)標(biāo)注義原語義相反
(3) 語義不同但相關(guān)的詞,其標(biāo)注的義原語義對應(yīng)相關(guān),如圖7所示。
圖7 相關(guān)詞(怪味、酸味)標(biāo)注義原對應(yīng)相關(guān)
為了更準(zhǔn)確地找到相近義項作為參照,我們借助《哈工大社會計算與信息檢索研究中心同義詞詞林?jǐn)U展版》(簡稱《同義詞詞林》),其目前包含77 343條詞語。根據(jù)詞義的遠(yuǎn)近和相關(guān)性,《同義詞詞林》將這些詞語分成了三類:同義詞(詞義相等或十分接近)、相關(guān)詞(詞義不同但有很強(qiáng)的相關(guān)性,屬于同類詞語)、獨(dú)立詞(在詞典中既沒有同義詞,也沒有相關(guān)詞),且每一類獨(dú)占一行。
將檢驗(yàn)集中義項通過CCSA方法得到的一致性得分(MAP值)從小到大排序,借助《同義詞詞林》將這些義項和參照義項的義原進(jìn)行對比研究,過濾掉《同義詞詞林》中不存在同義詞或相關(guān)詞的義項,然后人工核驗(yàn)這些義項的義原標(biāo)注一致性。
表7是部分義項的一致性人工核驗(yàn)結(jié)果。表中被加粗義原,表示該義原是待檢驗(yàn)義項和參照義項標(biāo)注義原不一致。例如,對于第二個義項“割地”,其在漢語詞典中的定義是“割取土地給別國”,《同義詞詞林》給出的同義詞參照義項是“割讓”,其在漢語詞典中定義是“由于外力威脅或戰(zhàn)爭失敗,被迫把一部分領(lǐng)土讓給別國?!睙o論是參考《同義詞詞林》,還是根據(jù)漢語詞典定義,“割地”和“割讓”都是同義詞。但前者標(biāo)注“放棄、政、陸地”三個義原,后者卻只標(biāo)注一個義原“放棄”。很顯然,同義詞義項“割地”和“割讓”的義原標(biāo)注存在不一致問題。
表7 部分義項的一致性人工核驗(yàn)結(jié)果
通過研究發(fā)現(xiàn):現(xiàn)有HowNet存在的義原標(biāo)注不一致問題,其形成原因主要分兩類:一是不同標(biāo)注者對義原標(biāo)注的主觀標(biāo)準(zhǔn)不一致;二是同一標(biāo)注者在不同時間段對義原標(biāo)注的標(biāo)準(zhǔn)不一致。不一致問題的主要表現(xiàn)是,本該有相同或相似義原標(biāo)注的同義詞/近義詞,真實(shí)標(biāo)注的義原卻不相同/不相似。不一致標(biāo)注問題大致可以分為如下三類:
(1)同義詞標(biāo)注義原不同或錯誤。例如,詞語“做媒”標(biāo)注義原是“調(diào)解、結(jié)婚”,但四個同義詞“說媒,保媒,說親,提親”標(biāo)注義原都是“引導(dǎo)、結(jié)婚”。
(2)同義詞/同類詞標(biāo)注義原缺失。例如,①“發(fā)排”釋義“編輯工作已做完,把稿件交給印刷廠排版”,標(biāo)注義原“交、讀物、編輯”。同義詞“付排”釋義“稿件交給印刷部門排版”,標(biāo)注義原“交、編輯”,后者缺失義原“讀物”;②“早稻”標(biāo)注義原“莊稼、早期”,同類詞“中稻”和“晚稻”標(biāo)注義原只有“莊稼”,分別缺失義原“中期”“晚期”;③“中式、中國式、歐式”標(biāo)注義原都有“樣式值”,但同類詞“男式”缺失該義原。
(3)同義詞標(biāo)注的義原同義,但未統(tǒng)一為同一義原。例如,義項“禿”和“鈍”,根據(jù)HowNet中對前者的舉例釋義“E_C=筆~,箭頭磨~了,針~了,錐子~了扎不進(jìn)去”可知其和后者同義。后者被標(biāo)注義原“鈍”總標(biāo)注頻次為8,而前者標(biāo)注義原“禿”總標(biāo)注頻次僅為1。義項“禿”和“鈍”標(biāo)注義原存在不一致,且若從標(biāo)注頻次上看,義原“禿”應(yīng)由義原“鈍”進(jìn)行替代。
本文方法是參照整體檢驗(yàn)部分的標(biāo)注一致性,將待檢驗(yàn)數(shù)據(jù)放到整體知識庫中,讓其和周圍同屬于一類的其他數(shù)據(jù)進(jìn)行對比:無論是待檢驗(yàn)數(shù)據(jù),還是周圍其他數(shù)據(jù),只要存在標(biāo)注不一致性問題,它們之間就會因不同而顯得“格格不入”,而我們的方法能“感知”到這一情況,計算得到的不一致得分也會因此變高。因此,待檢驗(yàn)數(shù)據(jù)可參照的同類詞越多、和其相似度越高,則不一致性檢驗(yàn)得分就越準(zhǔn)確。從理論上,我們能夠設(shè)想待檢驗(yàn)數(shù)據(jù)不一致性得分的準(zhǔn)確率按不同情況會有如下關(guān)系:“存在同義詞”大于“存在相關(guān)詞”,“無同義詞”大于“既無同義詞,也無相關(guān)詞”。
我們統(tǒng)計了義項在《同義詞詞林》中存在同義詞或相關(guān)詞的數(shù)量,人工核驗(yàn)結(jié)果如表8所示。不一致得分最低100個義項中,存在同義詞的義項有42個,經(jīng)人工核驗(yàn)有35個不一致,不一致檢驗(yàn)準(zhǔn)確率為83.33%;存在相關(guān)詞的義項有58個,經(jīng)人工核驗(yàn)有38個不一致,準(zhǔn)確率為65.52%;全部義項,經(jīng)人工核驗(yàn)有73個不一致,準(zhǔn)確率為73.00%。實(shí)驗(yàn)結(jié)果表明,CCSA方法對義原標(biāo)注一致性檢驗(yàn)是切實(shí)有效的,且本節(jié)第一段的設(shè)想也是合理的。CCSA方法的不一致性得分準(zhǔn)確率,對于在參照集中存在同義詞的義項,比只存在相關(guān)詞的義項的準(zhǔn)確率更高。另外,我們還發(fā)現(xiàn),一致性檢驗(yàn)的準(zhǔn)確率高低也會隨著同義詞或相關(guān)詞數(shù)量多少而變化,同義詞或相關(guān)詞的個數(shù)越多,則一致性檢驗(yàn)的準(zhǔn)確率也會越高。
表8 人工核驗(yàn)存在同義詞或相關(guān)詞的義項數(shù)量及其義原標(biāo)注不一致檢驗(yàn)準(zhǔn)確率
在人工核驗(yàn)Top100不一致的義原標(biāo)注后,對于其中存在明顯不一致性的數(shù)據(jù),我們借助《同義詞詞林》參照其他同類義項的標(biāo)注,并查閱義項在漢語詞典中的語義,依據(jù)HowNet規(guī)定的2 134個義原組成的義原集合,人工修正了這些標(biāo)注數(shù)據(jù)(2)對71個不一致標(biāo)注的修正結(jié)果詳見附錄1。。
本文的主要目的是檢驗(yàn)HowNet義原知識庫中義原標(biāo)注一致性問題,為提升知網(wǎng)一致性,擴(kuò)充知網(wǎng)以便更好應(yīng)用于各類NLP任務(wù)提供一種有效的方法。我們提出了CCSA方法,可以檢驗(yàn)標(biāo)注一致性較差的義原,通過對不一致性進(jìn)行排序,我們?nèi)斯を?yàn)證并修正不一致的數(shù)據(jù),從而提升HowNet知識庫的一致性。
發(fā)現(xiàn)并提出問題,然后科學(xué)合理地提出解決問題的方法不是輕而易舉的,需要反復(fù)嘗試。在本文中,我們的方法有助于發(fā)現(xiàn)標(biāo)注不一致的數(shù)據(jù),但是仍然存在不足之處,在之后的研究工作中,我們還會在以下幾個方向進(jìn)行繼續(xù)探索和改進(jìn):
(1) 是否存在義原標(biāo)注樹結(jié)構(gòu)的不一致問題。和之前工作一樣,本文著重解決了義原標(biāo)注語義上的不一致性檢驗(yàn)。如何考慮和解決義原標(biāo)注結(jié)構(gòu)上的不一致問題,是值得進(jìn)一步研究的內(nèi)容。
(2) 不存在或較少存在同義詞或相關(guān)詞的義項的一致性檢驗(yàn)準(zhǔn)確率較低。如何進(jìn)一步提升這類情況的準(zhǔn)確率,是接下來要繼續(xù)努力的方向。
(3) HowNet是漢英雙語語言常識知識庫,本文工作目前只研究了中文義原標(biāo)注的一致性檢驗(yàn),在將來的工作中,為構(gòu)建更多語言版本的跨語言檢驗(yàn)一致性工作值得嘗試。
(4) 本文方法是針對HowNet的義原標(biāo)注一致性檢驗(yàn)提出的,而如何遷移應(yīng)用于其他類似的知識庫,形成一致性檢驗(yàn)的普適方法,是非常值得研究并且很有意義的。