梁泳詩(shī),黃沛杰,黃培松,杜澤峰
(華南農(nóng)業(yè)大學(xué) 數(shù)學(xué)與信息學(xué)院,廣東 廣州 510642)
詞語(yǔ)向量表達(dá)(word vector representation)是機(jī)器翻譯[1]、文本分類[2]、情感分析[3]等自然語(yǔ)言處理(natural language processing,NLP)下游應(yīng)用中的重要基礎(chǔ)。作為詞語(yǔ)的向量化形式,詞語(yǔ)向量表達(dá)通過(guò)計(jì)算后能夠捕捉語(yǔ)言的特性,因此其被用于解決各種NLP的任務(wù)。近年來(lái),以分布假說(shuō)——詞的語(yǔ)義由其上下文決定[4-5]作為理論基礎(chǔ),由神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練語(yǔ)言模型時(shí)生成的詞分布表示[6-7],又叫詞嵌入(word embedding)或詞向量,在許多NLP任務(wù)上,取得超越傳統(tǒng)的詞袋(BOW)特征表達(dá)方法的效果,這一提升歸功于神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型可以使用組合方式,以線性復(fù)雜度對(duì)復(fù)雜的n元上下文進(jìn)行建模,解決了傳統(tǒng)BOW特征表達(dá)方法高維稀疏的問(wèn)題。然而,上下文不等同于真正的語(yǔ)義,詞分布表示也存在局限性。
近年來(lái),研究者們采用各種詞匯分類體系提供的詞匯語(yǔ)義約束(如詞語(yǔ)間的同義關(guān)系或者反義關(guān)系),對(duì)海量語(yǔ)料訓(xùn)練得到的詞向量進(jìn)行修正,改善了詞向量的語(yǔ)義表達(dá)能力。詞向量的修正主要分為兩種方法:一種方法是直接在訓(xùn)練詞向量的過(guò)程中加入詞匯語(yǔ)義約束[8-12]。另一類方法則是對(duì)訓(xùn)練好的詞向量根據(jù)詞匯語(yǔ)義約束進(jìn)行后處理[13-16]。相比于前者,后者適用于任何模型訓(xùn)練得到的詞向量的修正,并且效率較高,被稱為輕量級(jí)后修正方法。然而,人工編制或者自動(dòng)構(gòu)建的詞匯分類體系,普遍存在一些詞語(yǔ)類劃分或者詞語(yǔ)語(yǔ)義構(gòu)成不完善的地方,一定程度上影響了從中提取的語(yǔ)義約束的正確性。而訓(xùn)練詞向量時(shí)詞頻稀疏的詞語(yǔ)容易產(chǎn)生不可靠的原始詞向量,也影響了詞匯語(yǔ)義約束在詞匯向量表達(dá)修正中的效果。針對(duì)詞匯語(yǔ)義約束的可靠性問(wèn)題,本文提出一種提煉可靠性詞匯語(yǔ)義約束的方法。該方法適用于各種不同的詞向量修正方法,是對(duì)詞語(yǔ)向量表達(dá)修正研究領(lǐng)域的有益補(bǔ)充。其主要貢獻(xiàn)包括:
(1) 提出可靠詞匯語(yǔ)義約束的提煉方法。本文目前針對(duì)的是同義語(yǔ)義約束的可靠性提煉。在給定詞匯語(yǔ)義源(如本文采用《同義詞詞林(擴(kuò)展版)》[17])提供的詞匯語(yǔ)義約束的基礎(chǔ)上,采用詞匯分類體系與詞向量之間及異構(gòu)詞匯分類體系之間交互確認(rèn)的方法,確定了核心約束,剔除了不可靠約束,有效地降低了錯(cuò)誤詞匯語(yǔ)義約束以及訓(xùn)練不充分的詞向量在基于語(yǔ)義約束的詞向量修正中的不良影響。
(2) 在中文詞語(yǔ)相似性評(píng)測(cè)的公開(kāi)數(shù)據(jù)集PKU 500上進(jìn)行實(shí)驗(yàn)。將本文提出的方法提煉的可靠詞匯語(yǔ)義約束應(yīng)用到兩個(gè)輕量級(jí)后修正的研究進(jìn)展方法,修正后的詞向量都獲得更好的詞語(yǔ)相似度計(jì)算性能,取得了0.649 7的Spearman 等級(jí)相關(guān)系數(shù),比NLPCC-ICCPOL 2016詞語(yǔ)相似度評(píng)測(cè)比賽第一名的方法結(jié)果提高了25.4%。
(3) 本文方法提煉的可靠詞匯語(yǔ)義約束,不僅有助于詞語(yǔ)向量表達(dá)修正方法獲得更符合詞匯語(yǔ)義約束的詞向量,其核心詞約束傳遞機(jī)制也阻隔了原始詞向量不夠可靠的詞語(yǔ)在詞向量修正中的信息傳遞,提高了修正后詞匯向量表達(dá)的質(zhì)量。
本文后續(xù)部分安排如下:第1節(jié)介紹相關(guān)工作,第2節(jié)介紹本文提出的方法,第3節(jié)給出測(cè)試結(jié)果及分析,最后在第4節(jié)總結(jié)了本文的工作并做出了簡(jiǎn)要的展望。
詞語(yǔ)向量表達(dá)修正中語(yǔ)義信息的來(lái)源,一般是人工或者半人工的方法構(gòu)建的詞匯分類體系,如在英文上的WordNet[18]、PPDB(paraphrase database)[19],中文上的HowNet[20]、《同義詞詞林(擴(kuò)展版)》[17]等。
基于詞匯語(yǔ)義約束的詞向量修正主要分為兩種:一種方法是直接在訓(xùn)練詞向量的過(guò)程中加入詞匯語(yǔ)義約束,使詞向量在學(xué)習(xí)上下文信息的過(guò)程中保持語(yǔ)義約束信息。這類方法是通過(guò)修改詞向量訓(xùn)練的神經(jīng)網(wǎng)絡(luò)模型的目標(biāo)函數(shù)實(shí)現(xiàn)的,如Xu等[10]提出的RC-NET模型,通過(guò)改造skip-gram模型[7]的目標(biāo)函數(shù)把相關(guān)語(yǔ)義知識(shí)與分類知識(shí)注入詞向量訓(xùn)練過(guò)程;Bollegala等[11]在Glove模型[21]的基礎(chǔ)上使用同義、反義的語(yǔ)義約束對(duì)詞向量進(jìn)行訓(xùn)練。
上述的基于詞匯語(yǔ)義約束的詞向量修正方法,都在一定程度上改善了詞向量的語(yǔ)義表達(dá)能力。然而,由于詞匯語(yǔ)義約束一般是來(lái)自于人工編制或者半自動(dòng)構(gòu)建的詞匯分類體系,其可靠性不穩(wěn)定。此外,對(duì)于相對(duì)正確的詞匯語(yǔ)義約束,如果約束包含的詞語(yǔ)在訓(xùn)練原始詞向量時(shí)詞頻稀疏,依然容易產(chǎn)生不可靠的原始詞向量,也會(huì)影響詞匯語(yǔ)義約束在詞匯向量表達(dá)修正中的效果。針對(duì)詞匯語(yǔ)義約束的可靠性問(wèn)題,本文提出一種提煉可靠性詞匯語(yǔ)義約束的方法。值得注意的是,雖然本文只將提出的方法提煉到的可靠詞匯語(yǔ)義約束應(yīng)用在兩個(gè)輕量級(jí)后修正的研究進(jìn)展方法上,但本文的方法適用于各種不同的詞向量修正方法。
圖1是本文提出的方法的總體技術(shù)架構(gòu)。加粗部分是本文的主要工作。
圖1 總體技術(shù)架構(gòu)
本文的工作包括兩個(gè)主要部分:
(1) 詞匯語(yǔ)義約束的可靠性提煉。首先利用詞匯同義語(yǔ)義源(如本文采用的《同義詞詞林(擴(kuò)展版)》)獲得大量的詞匯語(yǔ)義約束(也就是同義詞語(yǔ)類,具體來(lái)講是《同義詞詞林(擴(kuò)展版)》中的原子詞群);然后利用詞向量與詞匯語(yǔ)義約束進(jìn)行交互確認(rèn),計(jì)算和評(píng)估類內(nèi)詞語(yǔ)的可靠性,將詞語(yǔ)類中的詞語(yǔ)按一定比例劃分成核心詞(提供可靠的詞向量修正來(lái)源的詞語(yǔ))、非核心可靠詞(潛在的原始詞向量不夠可靠的詞語(yǔ))、不可靠詞(潛在的詞語(yǔ)類劃分不夠準(zhǔn)確的詞語(yǔ));最后,針對(duì)劃分到不可靠詞的詞語(yǔ),通過(guò)不同詞匯分類體系(本文中是《同義詞詞林(擴(kuò)展版)》與HowNet)的交互確認(rèn),恢復(fù)了一部分詞語(yǔ)到非核心可靠詞中,也即恢復(fù)了部分誤剔除的語(yǔ)義約束。由最終確定的核心詞和非核心可靠詞共同構(gòu)成了可靠的詞匯語(yǔ)義約束。
(2) 詞語(yǔ)向量表達(dá)修正階段。根據(jù)可靠的同義語(yǔ)義約束、反義語(yǔ)義約束(本文的反義語(yǔ)義源采用了《小學(xué)生反義詞詞典》),以及原始詞向量,采用輕量級(jí)后修正方法得到修正后的詞語(yǔ)向量表達(dá)。
在研究進(jìn)展中,詞向量的輕量級(jí)后修正方法的代表包括Retrofitting[13]和Counter-fitting[14]。兩個(gè)方法的主要區(qū)別在于:在計(jì)算兩個(gè)詞向量的距離時(shí)Retrofitting采用的是歐氏距離,Counter-fitting采用的是余弦距離。Counter-fitting比Retrofitting多采用了反義語(yǔ)義約束,盡管效果并不明顯。
在本文實(shí)驗(yàn)中發(fā)現(xiàn)Counter-fitting的效果優(yōu)于Retrofitting,下面簡(jiǎn)要介紹一下Counter-fitting的輕量級(jí)后修正方法,Retrofitting方法參見(jiàn)文獻(xiàn)[13]。
(1) 同義詞拉近:將同義詞約束(i,j)∈S指向的詞對(duì)詞向量vi、vj盡可能地拉近,如式(1)所示。
(1)
其中,d(vu,vw)來(lái)自于余弦相似度,d(vi,vj)=1-cos(vi,vj);τ(x)?max(0,x)是損失函數(shù),γ定義了同義詞詞向量間理想的距離,文獻(xiàn)[14]中設(shè)置γ=0,使得單因素優(yōu)化的目標(biāo)是vi、vj的詞向量相同。
(2) 反義詞推遠(yuǎn):將反義詞約束(i,j)∈A指向的詞對(duì)詞向量vi、vj盡可能地推開(kāi),如式(2)所示。
(2)
其中,d(vu,vw)來(lái)自于余弦相似度,d(vi,vj)=1-cos(vi,vj);τ(x)?max(0,x)是損失函數(shù),δ定義了反義詞詞向量間理想的距離,文獻(xiàn)[14]中設(shè)置δ=1.0,使得單因素優(yōu)化的目標(biāo)是vi、vj的詞向量正交。
(3) 保持自身信息:使詞向量一定程度上也保持初始詞向量的值,一定程度上可避免不完全同義或者反義的語(yǔ)義約束的過(guò)度拉和推,如式(3)所示。
(3)
其中,τ(x)?max(0,x)是損失函數(shù),代表新詞向量與原詞向量之間的理想距離。我們?cè)O(shè)置λ=0,確保在加入語(yǔ)義約束的同時(shí)保持詞向量本身所具有的信息與價(jià)值。
綜上,輕量級(jí)后修正模型的總體目標(biāo)函數(shù)為如式(4)所示。
(4)
其中,k1、k2和k3用于控制不同部分損失之間的權(quán)重。k1,k2,k3>0且k1+k2+k3=1。本文在k1、k2和k3上使用grid search,并用隨機(jī)梯度下降法(stochastic gradient descent)對(duì)目標(biāo)函數(shù)的最小值進(jìn)行求解,迭代20次,選取 Spearman相關(guān)系數(shù)在PKU 500中的最高分?jǐn)?shù)的模型超參數(shù)。
人工編制或者半自動(dòng)構(gòu)建的詞匯分類體系普遍存在語(yǔ)義約束可靠性不穩(wěn)定的問(wèn)題,通過(guò)分析本文語(yǔ)義約束基礎(chǔ)來(lái)源的《同義詞詞林(擴(kuò)展版)》的同義詞語(yǔ)類,以及相應(yīng)詞語(yǔ)的原始詞向量,發(fā)現(xiàn)問(wèn)題主要來(lái)自兩個(gè)方面:一方面是由于現(xiàn)實(shí)生活中語(yǔ)義是漸變且存在多義,人很難精準(zhǔn)地判定詞語(yǔ)之間的語(yǔ)義界限,所以對(duì)于人工構(gòu)造的同義詞語(yǔ)類很容易會(huì)出現(xiàn)劃分潛在不夠準(zhǔn)確的詞語(yǔ)(如詞語(yǔ)“分解”劃分到了“解釋”、“說(shuō)明”等詞語(yǔ)所在的詞語(yǔ)類)。另一方面是由于訓(xùn)練詞向量的語(yǔ)料中,不同詞語(yǔ)的詞頻存在差異,詞頻稀疏的詞語(yǔ)容易產(chǎn)生不可靠的原始詞向量,這些詞語(yǔ)就算是詞語(yǔ)類劃分正確,在采用詞語(yǔ)類詞匯語(yǔ)義約束進(jìn)行類內(nèi)詞語(yǔ)的詞向量修正時(shí)也會(huì)帶來(lái)不良影響。
基于上述分析,本文提出的詞匯語(yǔ)義約束的可靠性提煉機(jī)制包括以下幾個(gè)主要方面:
(1) 基于語(yǔ)義約束源《同義詞詞林(擴(kuò)展版)》提取同義語(yǔ)義約束(詞語(yǔ)類),并基于詞向量計(jì)算和評(píng)估類內(nèi)詞語(yǔ)的可靠性;
(2) 通過(guò)剔除不可靠語(yǔ)義約束機(jī)制避免詞語(yǔ)類劃分潛在不夠準(zhǔn)確的詞語(yǔ)的錯(cuò)誤修正;
(3) 通過(guò)不同詞匯分類體系(本文中為HowNet)的交互確認(rèn)恢復(fù)了部分誤剔除的語(yǔ)義約束;
(4) 通過(guò)核心詞約束傳遞機(jī)制避免原始詞向量不夠可靠的詞語(yǔ)在詞向量修正中的不良影響。
2.3.1 基礎(chǔ)的詞匯同義語(yǔ)義約束的提取
《同義詞詞林(擴(kuò)展版)》是比較著名的中文詞匯分類體系,它是哈爾濱工業(yè)大學(xué)信息檢索實(shí)驗(yàn)室在《同義詞詞林》[22]基礎(chǔ)上修正與擴(kuò)充而成[17]?!锻x詞詞林(擴(kuò)展版)》包含約7萬(wàn)條詞語(yǔ),按照詞語(yǔ)的意思進(jìn)行編碼,是一部同義詞語(yǔ)類詞典,例子如圖2所示。圖中每一行為一個(gè)原子詞群,提供具有同義語(yǔ)義的詞語(yǔ)類。
Aa01C01=眾人 人人 人們Aa01C02=人叢 人群 人海 人流 人潮Aa01C03=大家 大伙兒 大家伙兒 大伙 一班人 眾家 各戶Aa01C04=們 輩 曹 等Aa01C05@眾學(xué)生Aa01C06#婦孺 父老兄弟 男女老少 男女老幼
圖2 《同義詞詞林(擴(kuò)展版)》示例圖
《同義詞詞林(擴(kuò)展版)》按照樹(shù)狀層次結(jié)構(gòu)把詞條進(jìn)行組織,把詞語(yǔ)分為大、中、小、詞群和原子詞群五類,大類有12組,中類有95組,小類有1 425組,詞群有4 223組,原子詞群有17 807組。每一個(gè)原子詞群中都有若干個(gè)詞語(yǔ),同一原子詞群的詞語(yǔ)不是語(yǔ)義相同或十分接近就是語(yǔ)義有很強(qiáng)的相關(guān)性。每一行都有自身所屬的編碼,在《同義詞詞林(擴(kuò)展版)》中詞語(yǔ)的相似性是根據(jù)每一行的編碼計(jì)算得到的,編碼的最后一位有三種符號(hào):“=”、“#”、“@”,用于說(shuō)明同一個(gè)原子詞群中的詞語(yǔ)關(guān)系,分別代表語(yǔ)義相等、語(yǔ)義相關(guān)(同行詞語(yǔ)是同類,但不能視為相等)、獨(dú)立(表示在詞典中該詞語(yǔ)既沒(méi)有同義詞也沒(méi)有相關(guān)詞)。本文以最后一位標(biāo)記符號(hào)為“=”的語(yǔ)義相等原子詞群提供基礎(chǔ)的同義語(yǔ)義約束。
2.3.2 同義詞語(yǔ)類內(nèi)詞語(yǔ)的可靠性評(píng)估
本文基于詞向量與詞匯語(yǔ)義約束的交互確認(rèn),對(duì)《同義詞詞林(擴(kuò)展版)》中獲得的每個(gè)同義原子詞群的詞語(yǔ)類中的詞語(yǔ)進(jìn)行類內(nèi)評(píng)估,算法流程如圖3所示。
在圖3的算法中,(1)~(6)步采用原子詞群中全體詞語(yǔ)的詞向量計(jì)算出代表該原子詞群中心的中心詞向量。(8)~(12)步分別計(jì)算該原子詞群中每個(gè)詞語(yǔ)的詞向量與中心詞向量的距離,并由小到大排序。離中心詞向量越近的同義詞的向量表達(dá)越能反映該原子詞群的類語(yǔ)義,而遠(yuǎn)離中心詞向量的詞語(yǔ)則可能是人工錯(cuò)誤劃分的詞語(yǔ)(與該詞語(yǔ)類中其他詞語(yǔ)不夠同義),或者也可能是詞向量訓(xùn)練時(shí)詞頻稀疏導(dǎo)致的向量表達(dá)不好。算法第(13)和(14)步分別根據(jù)一定的閾值從話語(yǔ)類中劃分出核心詞和可靠詞??紤]到《同義詞詞林(擴(kuò)展版)》具有較好的質(zhì)量,盡管存在一定的噪聲,本文實(shí)驗(yàn)中α%和β%分別設(shè)為60%和85%。
圖3 同義詞語(yǔ)類的類內(nèi)評(píng)估算法
根據(jù)算法的輸出,可以進(jìn)一步將每個(gè)原子詞群的詞語(yǔ)類中的詞語(yǔ)按一定比例劃分成:
? 核心詞:距離詞語(yǔ)類中心最近的α%的詞語(yǔ),一般有著正確詞語(yǔ)類歸屬,以及訓(xùn)練良好的詞向量,因此代表著提供可靠的詞向量修正來(lái)源的詞語(yǔ)。
? 非核心可靠詞:距離詞語(yǔ)類中心α%之外,但在β%之內(nèi)的詞語(yǔ),仍然較大可能是正確詞語(yǔ)類歸屬,但潛在存在原始詞向量不夠可靠的問(wèn)題。因此,在根據(jù)語(yǔ)義約束修正詞向量時(shí),我們通過(guò)核心詞約束傳遞機(jī)制限制了非核心可靠詞的詞向量在修正中的影響。
? 不可靠詞:距離詞語(yǔ)類中心β%之外的詞語(yǔ),較大概率屬于潛在的詞語(yǔ)類劃分不夠準(zhǔn)確的詞語(yǔ)。這類詞語(yǔ)被判定為不可靠詞,從同義語(yǔ)義約束中剔除。
下面,我們以“Hg12A01=”原子詞群為例介紹詞語(yǔ)類的劃分,如圖4所示。
圖4 “Hg12A01=”原子詞群詞語(yǔ)排序
圖4中給出了該原子詞群中每個(gè)詞語(yǔ)的詞向量與中心詞向量的距離排序情況(缺失詞向量的詞語(yǔ)沒(méi)有展示)。從圖4可以看到,整體上,原子詞群中的詞語(yǔ)隨著與中心詞向量的距離增大,其詞語(yǔ)與詞語(yǔ)類語(yǔ)義的關(guān)聯(lián)強(qiáng)度也在逐步弱化。排序的前5名,分別是“解釋”“講”“說(shuō)明”“釋疑”“說(shuō)”,都表達(dá)著說(shuō)明、闡明的核心概念,其語(yǔ)義緊密相關(guān),但是離中心向量較遠(yuǎn)的詞語(yǔ)如“分解”“闡明”“說(shuō)”等的語(yǔ)義概念不在其常用語(yǔ)義中,“分解”屬于潛在的誤劃分詞語(yǔ)。實(shí)際上,在PKU 500數(shù)據(jù)集中,詞語(yǔ)對(duì)(“解釋”“分解”)的人工標(biāo)注的相似度也只有1.7 (范圍為0~10,10代表最相似)。當(dāng)然,也確實(shí)存在一些詞語(yǔ)屬于詞語(yǔ)類歸屬正確,但是因?yàn)橛?xùn)練詞向量時(shí)的詞頻過(guò)于稀疏導(dǎo)致詞向量不準(zhǔn)確而遠(yuǎn)離中心詞向量,如上面例子中的“釋”,這屬于誤剔除詞語(yǔ),我們將通過(guò)恢復(fù)誤剔除詞語(yǔ)機(jī)制將它們“恢復(fù)”進(jìn)語(yǔ)義約束。
2.3.3 基于異構(gòu)詞匯分類體系交互確認(rèn)的誤剔除詞語(yǔ)恢復(fù)
一般可以認(rèn)為,被不同的詞匯分類體系同時(shí)認(rèn)為是同義關(guān)系較大概率是可靠的同義約束。本文通過(guò)異構(gòu)詞匯分類體系(HowNet與《同義詞詞林(擴(kuò)展版)》)的交互確認(rèn)恢復(fù)了部分誤剔除的語(yǔ)義約束。
HowNet[20]是一部用一個(gè)或者多個(gè)“義原”去描述詞語(yǔ)概念的中文詞匯分類體系?!傲x原”是描述概念的最基本單位,不同的義原集合表述不同的概念,HowNet中的詞語(yǔ)有一個(gè)或多個(gè)概念[23-24]。如圖5所示為詞語(yǔ)“家庭”在HowNet中的表述。
圖5 HowNet中詞語(yǔ)示例圖
詞語(yǔ)“家庭”的概念是DEF=community|團(tuán)體,family|家,團(tuán)體、家就是組成概念的義原。
HowNet中的義原有1 600多個(gè)[24],HowNet中的詞語(yǔ)概念由這些義原的組合進(jìn)行描述。義原之間又以樹(shù)狀結(jié)構(gòu)的層次體系進(jìn)行組織,通過(guò)義原在層次體系中的深度求出義原的相似度,進(jìn)而逐步求出詞語(yǔ)間概念的相似度以及詞語(yǔ)間的相似度,本文就是利用李峰等[24]關(guān)于HowNet的詞語(yǔ)相似性的計(jì)算方法計(jì)算出HowNet的關(guān)于每個(gè)詞語(yǔ)的近義詞詞集。
經(jīng)過(guò)前面的詞語(yǔ)類內(nèi)詞語(yǔ)的可靠性評(píng)估,一個(gè)原子詞群上的詞語(yǔ)被分為三類:核心詞部分(設(shè)為{W1,W2,…,Wi})、非核心可靠詞(設(shè)為{Wi+1,Wi+2,…,Wt})、以及排序在β%之后的準(zhǔn)備剔除的不可靠詞{Wt+1,Wt+2,…,Wn}。對(duì)于候選剔除詞{Wt+1,Wt+2,…,Wn},本文利用HowNet與《同義詞詞林(擴(kuò)展版)》的交互確認(rèn),對(duì)其中的部分詞進(jìn)行恢復(fù),如式(5)所示。
(H1∪H2∪…∪Hi)∩{Wt+1,Wt+2,…,Wn}
(5)
其中,Hj={w|HowNet近義詞詞典中關(guān)于Wj的近義詞}。
該原子詞群中的候選剔除詞中,屬于核心詞在HowNet中的近義詞詞集的并集的詞語(yǔ)將被恢復(fù)到非核心可靠詞中。如圖4列舉的“Hg12A01=”原子詞群為例,候選剔除詞{“分解”,“釋”},“釋”被恢復(fù)成非核心可靠詞,而“分解”因?yàn)樵贖owNet角度也沒(méi)有被視為是核心詞的同義詞而被最終刪除。
2.3.4 核心詞的約束傳遞機(jī)制
在留下的可靠詞中,相比于非核心可靠詞,核心詞一般既有著正確的詞語(yǔ)類歸屬,又具有訓(xùn)練良好的原始詞向量,因此代表著提供可靠的詞向量修正來(lái)源的詞語(yǔ)。圖6展示了核心詞約束傳遞機(jī)制示意圖。
在核心詞分界線左邊的為靠近中心詞向量的核心詞,在核心詞分界線右邊的為經(jīng)過(guò)提煉的非核心可靠詞,箭頭的指向?yàn)榧s束引導(dǎo)下的詞向量修正時(shí)的約束作用方向。核心詞的約束傳遞機(jī)制使得核心詞的詞向量修正時(shí),只接受核心詞的語(yǔ)義約束,而“阻止”了來(lái)自非核心可靠詞的詞向量影響;非核心可靠詞修正時(shí),同樣只接受核心詞的語(yǔ)義約束引導(dǎo)下來(lái)自于核心詞的詞向量影響。這個(gè)機(jī)制下可預(yù)期能使得詞語(yǔ)修正后的詞向量,朝著核心詞原始詞向量的方向靠攏,遠(yuǎn)離非核心可靠詞原始詞向量,獲得質(zhì)量較好的詞語(yǔ)向量表達(dá)。
圖6 核心詞約束傳遞機(jī)制示意圖
本文采用中國(guó)中文信息學(xué)會(huì)社會(huì)媒體專委會(huì)提供的SMP2015微博數(shù)據(jù)集(SMP 2015 Weibo DataSet)中的10GB微博作為原始詞向量的訓(xùn)練語(yǔ)料庫(kù)。運(yùn)用Word2Vec的CBOW模型[7]在語(yǔ)料上進(jìn)行詞向量的訓(xùn)練,獲得400維的詞向量。
可靠同義詞約束的提煉運(yùn)用到以下兩個(gè)詞匯分類體系:
(1) 《同義詞詞林(擴(kuò)展版)》:來(lái)自于哈工大信息檢索研究室的《同義詞詞林(擴(kuò)展版)》最大的特點(diǎn)是它是一部類語(yǔ)詞典,同一詞語(yǔ)類之間通過(guò)相互組合可以獲得多對(duì)同義詞詞對(duì)約束,并且質(zhì)量較好。本文以最后一位標(biāo)記符號(hào)為“=”的原子詞群作為基礎(chǔ)的同義語(yǔ)義約束來(lái)源。
(2) HowNet:用義原標(biāo)記每個(gè)詞語(yǔ)概念的中文知識(shí)庫(kù)。本文用李峰等[24]關(guān)于HowNet詞語(yǔ)相似性的計(jì)算方法計(jì)算出HowNet中所有詞語(yǔ)兩兩之間的相似性,對(duì)于每一個(gè)詞語(yǔ),把與之相似度最高的詞語(yǔ)組織起來(lái),得到每個(gè)詞語(yǔ)的最高相似度詞集,也視為該詞語(yǔ)的近義詞詞集。詞語(yǔ)最高相似度達(dá)到0.75的近義詞詞集組合成HowNet的近義詞詞典,用于對(duì)誤剔除詞語(yǔ)的恢復(fù)。
反義詞約束來(lái)源:由于在中文語(yǔ)言中還沒(méi)有覆蓋比較全面的反義詞語(yǔ)義信息的語(yǔ)義詞典,本文在Counter-fitting相關(guān)實(shí)驗(yàn)中,選擇從《小學(xué)生反義詞詞典》中抽取反義詞約束。
利用HowNet計(jì)算詞語(yǔ)相似度的參數(shù)設(shè)置見(jiàn)表1。
表1 HowNet相似性計(jì)算參數(shù)設(shè)置
在實(shí)驗(yàn)效果評(píng)價(jià)方面,采用了中文詞語(yǔ)相似度評(píng)測(cè)數(shù)據(jù)集PKU 500數(shù)據(jù)集[25]。PKU 500共有500對(duì)詞語(yǔ),每對(duì)詞語(yǔ)都有人工標(biāo)注的相似度(范圍為0~10)。PKU 500被采用到第五屆國(guó)際自然語(yǔ)言處理與中文計(jì)算會(huì)議暨第24屆國(guó)際東方語(yǔ)言計(jì)算機(jī)處理會(huì)議(NLPCC-ICCPOL 2016)的詞語(yǔ)相似度計(jì)算評(píng)測(cè)比賽中。
本文采用斯皮爾曼等級(jí)相關(guān)系數(shù)(Spearman rank correlation coefficient)去衡量詞向量計(jì)算詞語(yǔ)相似性的效果。通過(guò)計(jì)算PKU 500中人工標(biāo)注的分?jǐn)?shù)列和詞向量計(jì)算詞語(yǔ)相似性的列之間的Spearman等級(jí)相關(guān)系數(shù)ρ,借以判斷各實(shí)驗(yàn)方案對(duì)詞語(yǔ)相似性的計(jì)算效果。本文的實(shí)驗(yàn)方案圍繞詞語(yǔ)向量表達(dá)修正過(guò)程中運(yùn)用的可靠詞匯語(yǔ)義約束的效果,以及核心詞約束傳遞機(jī)制的價(jià)值兩個(gè)方面展開(kāi),實(shí)驗(yàn)方案如下:
(1) 研究進(jìn)展方法中中文詞語(yǔ)相似性上的性能對(duì)比:對(duì)比了本文提出的方法與研究進(jìn)展方法在詞語(yǔ)相似性計(jì)算上的性能。
(2) 典型詞對(duì)在可靠詞匯語(yǔ)義約束下的探討:通過(guò)對(duì)典型詞對(duì)的觀察,展示本文的方法可靠詞匯語(yǔ)義約束的保持和不可靠詞匯語(yǔ)義約束的去除情況。
(3) 核心詞語(yǔ)義傳遞對(duì)詞匯向量表達(dá)質(zhì)量的影響:通過(guò)典型詞對(duì)的觀察,展示本文采用核心詞約束傳遞機(jī)制對(duì)詞匯向量表達(dá)質(zhì)量的影響。
3.3.1 研究進(jìn)展方法中中文詞語(yǔ)相似性上的性能對(duì)比
本實(shí)驗(yàn)中基線方法Retrofitting及Counter-fitting采用的同義詞匯語(yǔ)義約束為來(lái)自于《同義詞詞林(擴(kuò)展版)》中標(biāo)記有“=”的原子詞群,另外Counter-fitting中采用的反義詞詞匯語(yǔ)義來(lái)自于《小學(xué)生反義詞詞典》。研究進(jìn)展方法在中文詞語(yǔ)相似性上的性能對(duì)比如表2所示?!癈ore”代表采用了核心詞約束傳遞機(jī)制(本文以靠近每個(gè)原子詞群中心向量前60%的詞語(yǔ)作為核心詞);“DEL”代表采用了剔除不可靠語(yǔ)義約束機(jī)制,即對(duì)離中心詞向量最遠(yuǎn)的15%的詞語(yǔ)判為不可靠詞,不參加詞語(yǔ)向量表達(dá)修正;“REC”代表恢復(fù)了部分誤剔除的語(yǔ)義約束機(jī)制。NLPCC-ICCPOL 2016測(cè)評(píng)比賽第一名的方法的結(jié)果直接采用了其文獻(xiàn)中的結(jié)果。
表2 研究進(jìn)展方法在中文詞語(yǔ)相似性上的性能對(duì)比
從表2中可以看到,基線方法Retrofitting及Counter-fitting 在PKU 500上分?jǐn)?shù)都超過(guò)60,比原始詞向量的41.8高出20,表明了輕量級(jí)后修正方法的良好效果;本文的方法取得最好的PKU 500分?jǐn)?shù),比NLPCC-ICCPOL 2016測(cè)評(píng)比賽第一名的方法高出25.4%。將本文提出的方法中的“Core”“DEL”“REC” 逐步應(yīng)用到Retrofitting及Counter-fitting上后,PKU 500的分?jǐn)?shù)都得到逐步提升,累計(jì)分別提高了3.63和0.84。從提升數(shù)值上看不是太顯著,主要是因?yàn)楸疚牡姆椒繕?biāo)是有效地減少錯(cuò)誤詞匯語(yǔ)義約束,以及降低訓(xùn)練不充分的詞向量在基于語(yǔ)義約束的詞向量修正中的不良影響,這部分詞語(yǔ)在語(yǔ)義約束中占的只是有限的比例。在下面的實(shí)驗(yàn)中,我們將進(jìn)一步展示具體的改善效果。
此外,我們觀察了反義語(yǔ)義約束的價(jià)值,“Counter-fitting+Core+DEL+REC -Antonyms”代表在“Counter-fitting+Core+DEL+REC”的基礎(chǔ)上去除了反義約束。從結(jié)果可以看到,影響非常微弱,其主要原因可能是詞語(yǔ)的反義語(yǔ)義約束覆蓋面過(guò)小(相比于來(lái)自于《同義詞詞林(擴(kuò)展版)》的同義約束)。實(shí)際上,目前在英文的詞匯向量表達(dá)修正的研究中,反義約束的應(yīng)用效果也不太理想[11,14]。這意味著在語(yǔ)料庫(kù)建設(shè)方面,急需構(gòu)建足夠覆蓋面的反義詞典,尤其是提供中文反義語(yǔ)義約束的反義詞典。
3.3.2 典型詞對(duì)的詞匯語(yǔ)義約束的分析
我們進(jìn)一步通過(guò)PKU 500中典型詞對(duì)的觀察,展示本文的方法可靠詞匯語(yǔ)義約束的保持和不可靠詞匯語(yǔ)義約束的去除情況。表3上顯示了PKU 500中的17對(duì)高誤差詞對(duì)(原始詞向量詞對(duì)相似度計(jì)算排序在300名之后,人工評(píng)分分?jǐn)?shù)排名在前100名)的修正情況。
表3 PKU 500中基于原始詞向量計(jì)算的高誤差詞對(duì)(修正后詞向量詞語(yǔ)相似度計(jì)算排序進(jìn)入前200名,用“√”表示)
在“Counter-fitting”“Counter-fitting+Core”“Counter-fitting+Core+DEL”和“Counter-fitting+Core+DEL+REC”方案中,被有效修正(本文以從后200名前進(jìn)到前200名為標(biāo)準(zhǔn))的高誤差詞對(duì)都是15對(duì)。由此可以看出,“Counter-fitting+Core+DEL”及“Counter-fitting+Core+DEL+REC”方案在采用了不可靠詞剔除之后,依然能保證有效約束的實(shí)現(xiàn)。
表4顯示了PKU 500中的11對(duì)相對(duì)低誤差詞對(duì)(原始詞向量詞對(duì)相似度計(jì)算排序在300名之后,人工評(píng)分分?jǐn)?shù)排名也在300名之后)是否能不被不可靠約束影響的情況。
在“Counter-fitting”方案及在“Counter-fitting+Core”方案中,分別有7對(duì)、8對(duì)詞語(yǔ)對(duì)被錯(cuò)誤修正,而在“Counter-fitting+Core+DEL”和“Counter-fitting+Core+DEL+REC”方案中,僅有兩對(duì)和4對(duì)詞語(yǔ)被錯(cuò)誤修正。由此可以看出,不可靠詞的剔除機(jī)制可以有效地從同義約束中剔除部分不可靠詞語(yǔ)的影響。
表4 PKU 500中基于原始詞向量的相對(duì)低誤差詞對(duì)(修正后詞向量詞語(yǔ)相似度計(jì)算排序進(jìn)入前200名,用“×”表示)
3.3.3 核心詞約束傳遞機(jī)制對(duì)詞匯向量表達(dá)質(zhì)量的影響
最后我們繼續(xù)通過(guò)典型詞對(duì)的觀察,展示具體詞對(duì)在采用核心詞約束傳遞機(jī)制對(duì)詞匯向量表達(dá)質(zhì)量的影響。我們選取在表3中均被“Counter-fitting”“Counter-fitting +Core”兩個(gè)方案有效修正的詞對(duì)進(jìn)行觀察。
每個(gè)詞對(duì)的詞語(yǔ)均來(lái)自于同一個(gè)“=”號(hào)原子詞群。為了觀察詞匯向量表達(dá)的修正質(zhì)量,我們給每個(gè)詞對(duì)所在原子詞群都定義一個(gè)核心詞代表和非核心詞代表。如圖7所示的詞對(duì)(“出神”,“發(fā)楞”)所在的原子詞群“Ic04B01=”中,設(shè)定第一位為核心詞代表(本例中為“愣住”),最后一位為非核心詞代表(本例中為“泥塑木雕”)。核心代表詞能反映該詞所在原子詞群的語(yǔ)義核心,而非核心代表詞明顯地與原子詞群的語(yǔ)義核心出現(xiàn)了偏離,所以從詞語(yǔ)向量表達(dá)修正的角度,詞語(yǔ)更應(yīng)該往該原子詞群中的核心詞靠近,而遠(yuǎn)離非核心詞(甚至是邊緣詞)。
圖7 “Ic04B01=”原子詞群詞語(yǔ)排序
我們以“與核心代表詞的相似度”表示與核心詞代表的原始詞向量的相似度,“與非核心代表詞的相似度”表示與非核心詞代表的原始詞向量的相似度。通過(guò)計(jì)算可以得到,采用核心詞約束傳遞機(jī)制(Counter-fitting+Core)修正的詞向量和沒(méi)有采用核心詞約束傳遞機(jī)制(Counter-fitting)修正的詞向量,與核心詞代表詞和非核心詞代表詞的原始詞向量的距離關(guān)系,結(jié)果如表5所示。
從表5中可以看到,Counter-fitting+Core和Counter-fitting都可以取得相近的詞語(yǔ)語(yǔ)義約束修正效果。兩種方法修正后的詞對(duì)的詞向量相似度均值分別達(dá)到了0.650和0.664。
然而,核心詞約束傳遞機(jī)制的優(yōu)勢(shì)在于使得修正的詞向量往核心代表詞靠攏。從表5可以看到,Counter-fitting+Core修正后的詞對(duì)詞向量,普遍都要比Counter-fitting修正后的詞對(duì)詞向量更靠近核心代表詞的原始詞向量(與核心詞代表的原始詞向量的相似度高),以及更遠(yuǎn)離非核心詞代表詞的原始詞向量(與非核心詞代表的原始詞向量的相似度低)。
表5 修正后詞對(duì)詞向量與核心詞代表、非核心詞代表原詞向量的距離情況
例如第一對(duì)詞,“出神”在“Counter-fitting+Core”中與核心代表詞相似度為0.451,相似度比“出神”在“Counter-fitting”中與核心代表詞的相似度(0.397)大;“發(fā)楞”在“Counter-fitting+Core”中與核心代表詞相似度為0.383,相似度也比“發(fā)楞”在“Counter-fitting”中與核心代表詞的相似度(0.331)大。而“出神”在“Counter-fitting +Core”中與非核心代表詞相似度為0.114,相似度比“出神”在“Counter-fitting”中與非核心代表詞的相似度(0.200)?。弧鞍l(fā)楞”在“Counter-fitting +Core”中與非核心代表詞相似度為0.046,相似度也比“發(fā)楞”在“Counter-fitting”中與非核心代表詞的相似度(0.137)小。
由此我們可以得到這樣的觀察結(jié)論:采用核心詞約束傳遞機(jī)制的詞語(yǔ)向量表達(dá)修正,可以在有效保持同義語(yǔ)義約束效果的條件下,獲得質(zhì)量更好的詞語(yǔ)向量表達(dá)。
本文研究了適用于詞語(yǔ)向量表達(dá)修正的可靠詞匯語(yǔ)義約束提煉方法。通過(guò)基于詞匯分類體系與詞向量之間、以及異構(gòu)詞匯分類體系之間的交互確認(rèn),對(duì)《同義詞詞林(擴(kuò)展版)》提供的基礎(chǔ)同義語(yǔ)義約束進(jìn)行可靠性評(píng)估和可靠詞選取。提煉得到的可靠詞匯語(yǔ)義約束應(yīng)用到兩個(gè)輕量級(jí)后修正的研究進(jìn)展方法,修正后的詞向量都獲得更好的詞語(yǔ)相似度計(jì)算性能,在公開(kāi)數(shù)據(jù)集PKU 500數(shù)據(jù)集的評(píng)測(cè)上,比NLPCC-ICCPOL 2016詞語(yǔ)相似度測(cè)評(píng)比賽第一名的方法的結(jié)果提高25.4%。此外,核心詞約束傳遞機(jī)制有效地幫助詞語(yǔ)向量表達(dá)修正方法在有效實(shí)現(xiàn)同義語(yǔ)義約束效果的條件下,獲得質(zhì)量更好的詞語(yǔ)向量表達(dá)。
未來(lái)的工作主要集中在進(jìn)一步完善同義語(yǔ)義約束的可靠性提煉方法(比如通過(guò)評(píng)估同義詞語(yǔ)類的質(zhì)量,有差異性地對(duì)待不同詞語(yǔ)類的可靠詞劃分標(biāo)準(zhǔn)),以及嘗試人工或半人工的方式構(gòu)建較好覆蓋面的反義詞典,并研究反義語(yǔ)義約束的可靠性提煉方法。