楊 泉
(北京師范大學(xué) 漢語(yǔ)文化學(xué)院, 北京 100875)
詞語(yǔ)語(yǔ)義相似度(本文簡(jiǎn)稱(chēng)詞義相似度)是隨著計(jì)算語(yǔ)言學(xué)發(fā)展而產(chǎn)生的一個(gè)概念,指一種語(yǔ)言中任意2個(gè)詞語(yǔ)之間相似或相關(guān)的程度。詞義相似度計(jì)算在信息抽取、機(jī)器翻譯、人機(jī)對(duì)話(huà)等諸多自然語(yǔ)言處理領(lǐng)域都有著廣泛應(yīng)用,其主要任務(wù)是研究用什么方法來(lái)計(jì)算或比較2個(gè)詞語(yǔ)的語(yǔ)義相似度[1]。隨著人工智能領(lǐng)域的不斷發(fā)展,詞義相似度計(jì)算逐漸成為自然語(yǔ)言處理中的重要基礎(chǔ)性工作,其在更高層面自然語(yǔ)言處理中的應(yīng)用受到廣泛重視[2]。
詞義相似度計(jì)算方法可分為兩大類(lèi)[3]:一類(lèi)基于知識(shí)本體進(jìn)行計(jì)算;另一類(lèi)基于詞向量進(jìn)行計(jì)算。很多關(guān)于英文的詞義相似度計(jì)算方法都是使用WordNet作為知識(shí)本體實(shí)現(xiàn)的,例如,Phi-lip[4]在“IS-A”分類(lèi)體系基礎(chǔ)上,提出了一種基于共享信息內(nèi)容概念的詞義相似度計(jì)算方法;Mohamed等[5]在WordNet層級(jí)結(jié)構(gòu)中深度分布的基礎(chǔ)上,提出了一種最近公共結(jié)點(diǎn)的概念下位詞子圖量化法。
在漢語(yǔ)知識(shí)本體中,《同義詞詞林》(本文簡(jiǎn)稱(chēng)《詞林》)是計(jì)算詞義相似度的重要底層框架,《詞林》層級(jí)體系與WordNet框架較為接近,都將同義詞集合(synset)作為基本建構(gòu)單位進(jìn)行組織。因此基于詞林的詞義相似度計(jì)算方法與基于Wordnet的計(jì)算方法有許多類(lèi)似的地方。目前已有很多基于《詞林》的中文詞義相似度計(jì)算模型,田久樂(lè)等[6-11]的計(jì)算模型中利用了《詞林》的編碼、深度、路徑或距離等相關(guān)信息計(jì)算詞語(yǔ)之間的語(yǔ)義相似度。
另一類(lèi)計(jì)算語(yǔ)義相似度的方法是基于語(yǔ)料庫(kù)的方法。詞向量是一種把詞語(yǔ)數(shù)量化的方法,將語(yǔ)料庫(kù)中的單詞映射到向量空間中,就可以方便機(jī)器學(xué)習(xí)算法在自然語(yǔ)言處理任務(wù)中更好地理解、使用和處理詞語(yǔ)。Word2vec[12]是目前構(gòu)建詞向量最常用的方法之一,其使用的n-gram模型將一個(gè)單詞與其上下文的n個(gè)單詞相關(guān)聯(lián),可以生成具有上下文語(yǔ)義信息的稠密詞向量,由于在Word2vec詞向量中結(jié)合了上下文詞語(yǔ)的信息,因此又稱(chēng)為詞嵌入方法。該方法基于詞向量進(jìn)行計(jì)算,與基于本體知識(shí)的方法相比,具有更強(qiáng)的可計(jì)算性。
對(duì)比知識(shí)本體和詞向量2種方法后,發(fā)現(xiàn)基于知識(shí)本體的方法依據(jù)人類(lèi)對(duì)于世界知識(shí)的認(rèn)識(shí)對(duì)詞語(yǔ)之間的相似程度進(jìn)行計(jì)算,一般都具有較強(qiáng)的理論依據(jù),計(jì)算結(jié)果反映的是知識(shí)本體中蘊(yùn)含的詞義相似度信息;而基于詞向量的計(jì)算方法是在大規(guī)模語(yǔ)料庫(kù)基礎(chǔ)上訓(xùn)練所得,其結(jié)果反映的是受訓(xùn)語(yǔ)料中蘊(yùn)含的詞義相似度信息。程婧等[13]認(rèn)為在基于詞向量的計(jì)算方法中,基本假設(shè)是語(yǔ)義相似的詞語(yǔ)之間上下文語(yǔ)境也會(huì)比較相似,因此可以結(jié)合上下文信息進(jìn)行相似度計(jì)算。由此可見(jiàn)每種方法都有各自的優(yōu)缺點(diǎn),分別適合解決不同的自然語(yǔ)言處理任務(wù)。
縱觀前人已有研究成果及其觀點(diǎn),如果能夠充分厘清2種方法各自的優(yōu)缺點(diǎn)和相似度計(jì)算的側(cè)重點(diǎn),在使用時(shí)有機(jī)結(jié)合、揚(yáng)長(zhǎng)避短,一定能夠計(jì)算出更符合實(shí)際需求的詞語(yǔ)語(yǔ)義相似度結(jié)果,以便提升更高層次自然語(yǔ)言處理任務(wù)的效果。
本文擬采用《詞林》作為知識(shí)本體,在充分解析其義項(xiàng)編碼信息內(nèi)容的基礎(chǔ)上,確定語(yǔ)義相似度計(jì)算模型,并結(jié)合基于詞向量語(yǔ)義相似度計(jì)算方法,最后運(yùn)用強(qiáng)化學(xué)習(xí)策略建立一種更為合理的詞語(yǔ)語(yǔ)義相似度計(jì)算方法。
《同義詞詞林》是由梅家駒等[14]于1983年編撰的可計(jì)算漢語(yǔ)詞庫(kù),經(jīng)哈爾濱工業(yè)大學(xué)研究人員擴(kuò)展成為《哈工大信息檢索研究室同義詞詞林?jǐn)U展版》。經(jīng)哈工大擴(kuò)展后的《詞林》體系將詞語(yǔ)分為5個(gè)層級(jí):大類(lèi)、中類(lèi)、小類(lèi)、詞群和原子詞群,上面4層結(jié)點(diǎn)都代表詞語(yǔ)的類(lèi)別,第5層葉子結(jié)點(diǎn)上是原子詞群,每個(gè)原子詞群可以用一個(gè)8位編碼唯一表示,表1展示了《詞林》中的義項(xiàng)編碼情況(1)參見(jiàn)《哈工大同義詞詞林?jǐn)U展版》, 網(wǎng)址:http://www.ltp-cloud.com/download。。
表1 《詞林》義項(xiàng)編碼表
經(jīng)統(tǒng)計(jì),《詞林》共有77 456條詞語(yǔ),分為12個(gè)大類(lèi),95個(gè)中類(lèi),1 428個(gè)小類(lèi),4 026個(gè)詞群和 17 817個(gè)原子詞群。
《詞林》的義項(xiàng)編碼可以轉(zhuǎn)化為二叉樹(shù)的結(jié)構(gòu)形式,所有詞語(yǔ)都對(duì)應(yīng)該樹(shù)的葉子結(jié)點(diǎn),不同詞語(yǔ)編碼在該樹(shù)上所處節(jié)點(diǎn)間的距離就表示了詞語(yǔ)間的相似程度,例如,對(duì)于詞匯w1、w2,文獻(xiàn)[15]中給出了一種基于深度的語(yǔ)義相似度計(jì)算方法:
(1)
式中:D是w1、w2對(duì)應(yīng)的《詞林》編碼在樹(shù)形結(jié)構(gòu)圖中最近公共父結(jié)點(diǎn)的深度。這種簡(jiǎn)單的計(jì)算公式將距離信息轉(zhuǎn)化為0到1之間的相似度數(shù)值,能很好地體現(xiàn)相似度?!对~林》中的編碼實(shí)際上是原子詞群的編碼,同一個(gè)原子詞群中的詞語(yǔ)具有相同的編碼,即具有相同的路徑。在已有算法中使用《詞林》編碼路徑深度計(jì)算詞義相似度的方法,實(shí)際上計(jì)算的是不同原子詞群之間的相似度。
在《詞林》中共有17 817個(gè)不同的義項(xiàng)編碼,每個(gè)義項(xiàng)編碼可以代表一個(gè)原子詞群,按第8位義項(xiàng)編碼可以將全部原子詞群分為三大類(lèi),分別以“=”“#”“@”3種符號(hào)結(jié)尾,這三類(lèi)編碼代表原子詞群內(nèi)部的詞語(yǔ)之間是“相似”“相關(guān)”和“唯一”的關(guān)系,各類(lèi)義項(xiàng)編碼具體數(shù)量及占比統(tǒng)計(jì)結(jié)果見(jiàn)表2。
表2 《詞林》按第8位義項(xiàng)編碼統(tǒng)計(jì)表
以“@”結(jié)尾的原子詞群中只包含一個(gè)詞語(yǔ),占比25%,即《詞林》中只有一個(gè)詞語(yǔ)的原子詞群共有4 377個(gè)。以“=”和“#”結(jié)尾的原子詞群包含2個(gè)或2個(gè)以上詞語(yǔ),共占比75%,即在《詞林》中有13 440個(gè)原子詞群包含2個(gè)或2個(gè)以上詞語(yǔ),這種情況下,同一個(gè)原子詞群內(nèi)部的詞語(yǔ)與其他原子詞群詞語(yǔ)計(jì)算語(yǔ)義相似度的結(jié)果相同。
事實(shí)上,基于其他知識(shí)本體的詞義相似度計(jì)算方法也都使用了類(lèi)似的思想。雖然同義詞是一個(gè)經(jīng)典概念,但對(duì)于同義詞之間相似程度的量化表示卻是隨著自然語(yǔ)言處理而產(chǎn)生的概念。因此這種計(jì)算相似度的思想就是將已有知識(shí)本體中蘊(yùn)含的相似度信息進(jìn)行量化表示。由于建立知識(shí)本體時(shí)不是以相似度量化表示為目的,所以在計(jì)算量化的相似度時(shí)難免會(huì)存在一些問(wèn)題。首先,《詞林》的世界知識(shí)對(duì)于語(yǔ)言學(xué)知識(shí)表示的精細(xì)程度是否足以準(zhǔn)確體現(xiàn)詞語(yǔ)之間的語(yǔ)義相似度;其次,《詞林》對(duì)于新詞語(yǔ)的覆蓋程度是否能滿(mǎn)足應(yīng)用需求;第三,對(duì)于《詞林》中所蘊(yùn)含的世界知識(shí)計(jì)算模型能否準(zhǔn)確解讀和表示;最后,由于詞語(yǔ)的多義性,同一個(gè)詞語(yǔ)可能對(duì)應(yīng)多個(gè)義項(xiàng)編碼,使用編碼進(jìn)行計(jì)算時(shí)將面臨義項(xiàng)選擇的困境。
因此,僅使用《詞林》編碼,很難準(zhǔn)確計(jì)算出同一個(gè)原子詞群內(nèi)部詞語(yǔ)之間的相似度。對(duì)于這些問(wèn)題,需要結(jié)合新的計(jì)算方法,更加合理地進(jìn)行計(jì)算。
詞義相似度計(jì)算任務(wù)中的詞向量一般是指通過(guò)大規(guī)模語(yǔ)料訓(xùn)練得到的詞向量。雖然還有其他的詞向量訓(xùn)練方法,例如熱點(diǎn)表示法,但由于該方法需要將不同詞的向量相互正交,當(dāng)詞匯量較大時(shí)會(huì)出現(xiàn)維數(shù)災(zāi)難,因此基本上不在詞義相似度計(jì)算中使用。在《詞林》中將詞語(yǔ)用其編碼表示,從數(shù)學(xué)角度來(lái)說(shuō),也可以看作一種向量表示,其中包含了相應(yīng)的語(yǔ)言學(xué)知識(shí),但不包含詞語(yǔ)在具體語(yǔ)境中的上下文信息。在詞嵌入詞向量模型中,Skip-Gram(SG)模型是當(dāng)前應(yīng)用最廣泛的詞嵌入方法之一[12],該方法通過(guò)學(xué)習(xí)一個(gè)詞與其相鄰詞的關(guān)系來(lái)實(shí)現(xiàn)詞嵌入。SG模型通過(guò)最大化式(2)來(lái)預(yù)測(cè)每個(gè)給定單詞wt的上下文單詞。
(2)
式中:V為訓(xùn)練詞向量所用語(yǔ)料;|V|為詞匯總數(shù);wt為當(dāng)前的中心詞所對(duì)應(yīng)的向量;c為上下文窗口的大?。粀t+i是上下文詞匯向量;p(wt+i|wt)是在wt的條件下wt+i的概率。
使用該模型得到的詞向量維度比起詞匯總數(shù)|V|來(lái)要低得多,在具體訓(xùn)練中人們發(fā)現(xiàn),如果向量維度太低,則不能很好地表示語(yǔ)料中的信息,難以達(dá)到實(shí)用的要求;但若維度太高,則在訓(xùn)練過(guò)程中會(huì)出現(xiàn)過(guò)擬合問(wèn)題,將語(yǔ)料中的噪聲學(xué)習(xí)到了詞向量中,也會(huì)影響使用效果。因此當(dāng)前常見(jiàn)的詞向量維度一般是幾百維的向量,通過(guò)嵌入式詞向量不僅解決了維數(shù)災(zāi)難問(wèn)題,而且向量中蘊(yùn)含了詞語(yǔ)的上下文語(yǔ)境信息。
S(w1,w2)=cos(w1,w2)
(3)
詞向量空間中越相近的2個(gè)向量,夾角越小,余弦越大,正好可以表示詞語(yǔ)間的相似度。所以把詞語(yǔ)進(jìn)行了向量化表示后,在向量空間中就會(huì)自然形成一種相似度的量化標(biāo)準(zhǔn)。
“詞向量”的概念來(lái)源于語(yǔ)言學(xué)中的“價(jià)值”(value) 和“分布”(distribution) 等概念[16]。即詞語(yǔ)的語(yǔ)義由其上下文信息決定,因此這樣得到的詞向量受語(yǔ)料的影響非常大。在一類(lèi)語(yǔ)料上訓(xùn)練得到的詞向量,應(yīng)用到其他語(yǔ)言學(xué)任務(wù)中可能得不到很好的處理效果。因此在一些特定的應(yīng)用中需要基于其任務(wù)和語(yǔ)料來(lái)重新訓(xùn)練詞向量。但這種訓(xùn)練詞向量的方法對(duì)語(yǔ)料的規(guī)模及運(yùn)算資源的要求都非常高,要想得到高質(zhì)量的詞向量,必須要基于海量的語(yǔ)料,并且需要使用大量的計(jì)算資源和時(shí)間才能完成。因此目前出現(xiàn)了一些通用的詞向量,這些詞向量使用的語(yǔ)料體量大,涵蓋的詞語(yǔ)豐富,訓(xùn)練的準(zhǔn)確率也比較高,在通用型任務(wù)中往往能取得較好的效果。例如騰訊提供的詞向量數(shù)據(jù)庫(kù),這個(gè)數(shù)據(jù)庫(kù)提供800多萬(wàn)個(gè)中文詞條,每個(gè)詞條展開(kāi)后是一個(gè)200維的向量,其數(shù)據(jù)量有16G(2)騰訊詞向量下載網(wǎng)址:https://ai.tencent.com/ailab/nlp/embedding.html。,它使用Directional Skip-Gram(Skip-Gram的改進(jìn)版)訓(xùn)練而成,是目前開(kāi)源的通用型高質(zhì)量詞向量之一。
根據(jù)訓(xùn)練詞向量方法的語(yǔ)言學(xué)原理,詞向量之間的比對(duì)更多的是表示詞語(yǔ)在具體語(yǔ)境中的相似性,而不是詞語(yǔ)間語(yǔ)義的相似度,例如在語(yǔ)義上“狗”和“犬”是同義詞,在《詞林》中具有相同的語(yǔ)義編碼“Bi07B01=”,理論上應(yīng)該具有最高級(jí)別的相似性,而“狗”和“貓(Bi08A01@)” 在《詞林》中的編碼不同,在語(yǔ)義上的距離肯定比“狗”和“犬”大,相似度也應(yīng)該沒(méi)有“狗”和“犬”高。但是根據(jù)騰訊詞向量的計(jì)算結(jié)果卻恰好相反,“狗”和“犬”之間的相似度為 0.738,“狗”和“貓”之間的相似度為 0.747,超過(guò)了相同語(yǔ)義編碼的2個(gè)詞語(yǔ)之間的相似度。這說(shuō)明了基于語(yǔ)料的詞義相似度計(jì)算與基于知識(shí)本體的詞義相似度之間的差異較大。此外語(yǔ)料庫(kù)訓(xùn)練出來(lái)的詞向量還是會(huì)受到受訓(xùn)語(yǔ)料規(guī)模的限制,不能保證一種語(yǔ)言中每個(gè)詞語(yǔ)的詞向量都得到訓(xùn)練,例如,雖然騰訊詞向量數(shù)據(jù)庫(kù)收錄了800多萬(wàn)中文詞匯,但像“以色列”這樣并不算太生僻的詞語(yǔ)卻沒(méi)有查到。因此詞向量雖然為計(jì)算詞義相似度提供了重要方法,但也不能解決詞義相似度計(jì)算的全部問(wèn)題。
基于知識(shí)本體和基于詞向量的語(yǔ)義相似度計(jì)算方法都顯性或隱性地運(yùn)用了一些語(yǔ)言學(xué)信息進(jìn)行計(jì)算,但每種方法都有不足之處,如果能將2種方法有機(jī)結(jié)合,使其應(yīng)用的語(yǔ)言學(xué)信息更加全面,則可提高語(yǔ)義相似度計(jì)算質(zhì)量。
本文選擇《詞林》作為計(jì)算詞義相似度的知識(shí)本體,選擇騰訊詞向量作為計(jì)算詞義相似度的詞向量,以Miller & Charles發(fā)布的30個(gè)詞對(duì)(本文簡(jiǎn)稱(chēng)MC30)[17]的詞義相似度人工判別值為學(xué)習(xí)目標(biāo)。根據(jù)我們接觸到的詞語(yǔ),基于這2種方法可能會(huì)出現(xiàn)以下幾種情況:
1) 不被《詞林》和騰訊詞向量同時(shí)收錄的詞匯?!对~林》共有77 456條詞語(yǔ),騰訊詞向量數(shù)據(jù)庫(kù)收錄800多萬(wàn)中文詞匯,兩類(lèi)數(shù)據(jù)庫(kù)收錄詞語(yǔ)情況還是有較大差距,主要分為以下2種情況:① 在《詞林》里存儲(chǔ)了某個(gè)詞語(yǔ),但是在騰訊詞向量數(shù)據(jù)庫(kù)中查找不到。如“以色列”是專(zhuān)有名詞,在《詞林》里的編碼是“Di02A23#”,但是用騰訊詞向量標(biāo)注時(shí)卻沒(méi)有查到這個(gè)詞,這是由于所錄專(zhuān)有名詞不同造成的收詞差異。② 在騰訊詞向量數(shù)據(jù)庫(kù)中存儲(chǔ)了某個(gè)詞語(yǔ),但是在《詞林》中卻查找不到。如“弗洛伊德”“本拉登”這類(lèi)專(zhuān)有名詞;另外“電子計(jì)算機(jī)”“計(jì)算機(jī)網(wǎng)絡(luò)”在騰訊詞向量數(shù)據(jù)庫(kù)中可以查到,但是在《詞林》中卻沒(méi)有,不過(guò)在《詞林》中可以查到“網(wǎng)絡(luò)(Bb06A01=)”“電子(Ba01H08#)”“計(jì)算機(jī)(Bo01A27=)”,這主要是由于2個(gè)數(shù)據(jù)庫(kù)存儲(chǔ)詞語(yǔ)顆粒度不同造成的。
2) 在《詞林》和騰訊詞向量數(shù)據(jù)庫(kù)中都收錄了2個(gè)詞語(yǔ),且2個(gè)詞語(yǔ)在《詞林》中的語(yǔ)義編碼完全相同,根據(jù)第8位編碼又分為以下2種情況:① 2個(gè)詞語(yǔ)的語(yǔ)義編碼完全相同,且第8位編碼是“=”。如“消費(fèi)者(Aj06A01=)”和“顧客(Aj06A01=)”,對(duì)于這種情況使用《詞林》編碼算法計(jì)算結(jié)果都為1,無(wú)法進(jìn)一步算出2個(gè)詞的差異。② 2個(gè)詞語(yǔ)的語(yǔ)義編碼完全相同,且第8位編碼是“#”。如“美元(Dj05A14#)”和“日元(Dj05A14#)”;“搖滾樂(lè)(Dk28A08#)”和“爵士樂(lè)(Dk28A08#)”。
3) 在《詞林》和騰訊詞向量數(shù)據(jù)庫(kù)中都收錄了2個(gè)詞語(yǔ),但是2個(gè)詞語(yǔ)在《詞林》中的語(yǔ)義編碼不同,這時(shí)根據(jù)《詞林》中語(yǔ)義編碼的數(shù)量又分為以下幾種情況:① 2個(gè)詞語(yǔ)在《詞林》中都只有一個(gè)語(yǔ)義編碼,這時(shí)第8位編碼都是“@”,如“家兔(Bi07C03@)”和“貓(Bi08A01@)”。② 2個(gè)詞語(yǔ)在《詞林》中一個(gè)詞語(yǔ)只有一個(gè)語(yǔ)義編碼,而另一個(gè)詞語(yǔ)有多個(gè)語(yǔ)義編碼的情況。這時(shí)2個(gè)詞語(yǔ)中有一個(gè)詞語(yǔ)的第8位編碼是“@”,另一個(gè)詞語(yǔ)的第8位編碼是“=”或“#”,如“自然科學(xué)(Dk03A02@)”和“自然(Ed51A01=、Ee10A01=、Ka15A01=、Ka32B01=)”。③ 2個(gè)詞語(yǔ)在《詞林》中都有多個(gè)語(yǔ)義編碼的情況。這時(shí)2個(gè)詞語(yǔ)的第8位編碼是“=”或“#”。如“工作(Di19A01=、Di19B01=、Hj11A01=)”和“生活(Da17B01=、Di19C01=、Hj01A01=、Ib03A01=)”。
基于有監(jiān)督式學(xué)習(xí)的詞義相似度計(jì)算方法,需要預(yù)先給定足夠的訓(xùn)練數(shù)據(jù),并為數(shù)據(jù)中的詞對(duì)給定相似度值。運(yùn)用這些數(shù)據(jù)獲得可靠的模型后,再輸入未標(biāo)注相似度的詞對(duì),經(jīng)過(guò)訓(xùn)練的模型就能夠給出相應(yīng)的相似度值。而強(qiáng)化學(xué)習(xí)與此不同,是無(wú)監(jiān)督式的學(xué)習(xí)。不同于采用靜態(tài)數(shù)據(jù)集的學(xué)習(xí)框架,強(qiáng)化學(xué)習(xí)采用動(dòng)態(tài)環(huán)境數(shù)據(jù),其目標(biāo)是學(xué)習(xí)如何做,即如何根據(jù)環(huán)境情況采取動(dòng)作,從而實(shí)現(xiàn)收益的最大化。強(qiáng)化學(xué)習(xí)的學(xué)習(xí)者不會(huì)接到動(dòng)作指令,必須自行嘗試去探索環(huán)境,與環(huán)境交互并從環(huán)境中學(xué)習(xí),發(fā)現(xiàn)收益最高的動(dòng)作方案。在狀態(tài)和動(dòng)作空間較大、環(huán)境信息復(fù)雜且不完善的任務(wù)中,強(qiáng)化學(xué)習(xí)也經(jīng)常能找出最佳動(dòng)作。
在詞義相似度計(jì)算中,當(dāng)前僅有少數(shù)公開(kāi)人工判定結(jié)果可供學(xué)習(xí)和比較,因此有監(jiān)督學(xué)習(xí)的方法往往缺少足夠的支撐數(shù)據(jù)。在大多數(shù)情況下,語(yǔ)義相似度計(jì)算結(jié)果需要根據(jù)具體任務(wù)的完成情況進(jìn)行評(píng)判?;谥R(shí)本體和詞向量的2種不同的語(yǔ)義相似度計(jì)算方法,都有其合理性和適應(yīng)范圍,因此本文建立了強(qiáng)化學(xué)習(xí)模型,尋找最優(yōu)策略,充分利用2種方法的合理性,以便更好地滿(mǎn)足實(shí)際應(yīng)用中的需求。
在強(qiáng)化學(xué)習(xí)模型中,首先需要有一個(gè)可接收狀態(tài)觀測(cè)量(輸入)的函數(shù)(策略),然后將狀態(tài)映射到動(dòng)作集 (輸出)上。在詞義相似度計(jì)算時(shí),強(qiáng)化學(xué)習(xí)所觀測(cè)的環(huán)境是指語(yǔ)言學(xué)任務(wù)所涉及的語(yǔ)言學(xué)環(huán)境,如上下文語(yǔ)境,語(yǔ)法知識(shí)等。在本文研究的強(qiáng)化學(xué)習(xí)模型中,學(xué)習(xí)者所能觀測(cè)到的環(huán)境狀態(tài)觀測(cè)量是指給定詞對(duì)的2種相似度計(jì)算結(jié)果。對(duì)于基于知識(shí)本體的詞義相似度,其結(jié)果記為s1,使用式(1)進(jìn)行計(jì)算;對(duì)于基于詞向量的詞義相似度計(jì)算,其結(jié)果記為s2,使用式(3)計(jì)算;無(wú)法計(jì)算的情況,其值均記為0。記S=(s1,s2)為觀測(cè)量,定義為狀態(tài)集。
對(duì)于每個(gè)狀態(tài)S=(s1,s2),強(qiáng)化學(xué)習(xí)模型根據(jù)策略F,得到最佳動(dòng)作A=(a1,a2),
A=F(s1,s2)
將此策略下的收益
V(S,A)=a1s1+a2s2
(4)
作為語(yǔ)義的相似度計(jì)算結(jié)果。獎(jiǎng)勵(lì)是一個(gè)函數(shù),會(huì)生成一個(gè)標(biāo)量,表示處于某個(gè)特定狀態(tài)并采取特定動(dòng)作的“優(yōu)度”。本模型中用動(dòng)作的收益與人工判斷結(jié)果差值平方的倒數(shù)作為所采取策略的獎(jiǎng)勵(lì)。
強(qiáng)化學(xué)習(xí)算法的整體過(guò)程如圖1所示。
圖1 強(qiáng)化學(xué)習(xí)過(guò)程圖
其中,強(qiáng)化學(xué)習(xí)模型部分,將輸入(s1,s2)作為其狀態(tài)觀測(cè)量,用線性函數(shù)表示策略,通過(guò)ε-貪婪評(píng)估策略進(jìn)行訓(xùn)練,用動(dòng)作的收益與人工值的差構(gòu)造獎(jiǎng)勵(lì)函數(shù),最終得到學(xué)習(xí)結(jié)果。學(xué)習(xí)模型在ε-貪婪評(píng)估策略選擇動(dòng)作時(shí),會(huì)以ε的概率選擇一個(gè)新的動(dòng)作,以1-ε的概率選擇已有動(dòng)作中獎(jiǎng)勵(lì)最大的那個(gè)動(dòng)作。經(jīng)過(guò)訓(xùn)練最后得到相應(yīng)的算法模型。
人們?cè)谂袆e語(yǔ)義相似度時(shí)往往綜合多方面信息進(jìn)行比較與判斷,本文所提的混合式強(qiáng)化學(xué)習(xí)模型將基于知識(shí)本體的信息與基于詞向量的信息充分融合,從理論上來(lái)說(shuō)應(yīng)該會(huì)與人工判斷值具有較高的相似度。
實(shí)驗(yàn)以MC30人工判定結(jié)果為標(biāo)準(zhǔn),給出了基于強(qiáng)化學(xué)習(xí)的相似度計(jì)算結(jié)果。最終評(píng)價(jià)標(biāo)準(zhǔn)是本文計(jì)算結(jié)果與人工結(jié)果之間的皮爾遜系數(shù),系數(shù)值越大,數(shù)據(jù)相關(guān)性越強(qiáng),說(shuō)明強(qiáng)化學(xué)習(xí)算法的學(xué)習(xí)計(jì)算詞義相似度的能力越強(qiáng)。
針對(duì)上面給出的數(shù)據(jù),分別計(jì)算出其對(duì)應(yīng)強(qiáng)化學(xué)習(xí)模型中的不同環(huán)境觀測(cè)量S=(s1,s2),取ε=0.1,經(jīng)訓(xùn)練后得到的策略為:
(5)
式中:S1是指前文所述的情況1)。S2是前文所述的情況2),使用該策略時(shí),若計(jì)算結(jié)果為負(fù)值,則取相似度值為0,因?yàn)橄嗨贫炔荒転樨?fù)值。在這種情況下,詞向量方法更偏重詞義的相關(guān)性,在語(yǔ)義相似度計(jì)算方面起到負(fù)作用。S3是前文所述的情況3)。本文方法所得計(jì)算結(jié)果如表3所示。
表3 詞義相似度計(jì)算結(jié)果
續(xù)表(表3)
經(jīng)過(guò)計(jì)算,僅使用《詞林》深度的方法與MC30人工值的皮爾遜相關(guān)系數(shù)為0.855;僅使用騰訊詞向量的方法與MC30人工值的皮爾遜相關(guān)系數(shù)為0.656;本文所用《詞林》與騰訊詞向量相結(jié)合的方法與MC30人工值的皮爾遜相關(guān)系數(shù)為0.917。實(shí)驗(yàn)結(jié)果說(shuō)明:強(qiáng)化學(xué)習(xí)算法能利用兩類(lèi)方法中的語(yǔ)義信息,因此獲得了更接近于人工值的結(jié)果。
1) 人在判斷2個(gè)詞語(yǔ)的語(yǔ)義相似度時(shí),雖然受詞語(yǔ)相似性和相關(guān)性的共同影響,但是人主要還是從詞語(yǔ)的語(yǔ)義相似程度出發(fā)判斷其相似值。
2) 單純基于《詞林》的方法在判斷2個(gè)詞語(yǔ)的語(yǔ)義相似度時(shí),當(dāng)2個(gè)詞語(yǔ)語(yǔ)義編碼相同且第8位編碼為“=”或“#”時(shí),相似度值為1;顆粒度太粗不能很好地適應(yīng)實(shí)際應(yīng)用需求。
3) 單純基于騰訊詞向量的方法判斷2個(gè)詞語(yǔ)的語(yǔ)義相似度時(shí),受詞向量訓(xùn)練過(guò)程和結(jié)果的影響,其計(jì)算結(jié)果主要是2個(gè)詞語(yǔ)的相關(guān)性。
基于知識(shí)本體和基于詞向量的方法各有優(yōu)缺,單純使用《詞林》或單純使用騰訊詞向量數(shù)據(jù)庫(kù)都不能取得令人滿(mǎn)意的結(jié)果,需要將二者有機(jī)結(jié)合才能更加客觀、準(zhǔn)確地計(jì)算2個(gè)詞語(yǔ)的語(yǔ)義相似度,這也將是詞義相似度計(jì)算未來(lái)的發(fā)展趨勢(shì)。