吳克介,王家偉
(重慶交通大學(xué)信息科學(xué)與工程學(xué)院,重慶 400074)
詞匯語義相似度的計算廣泛應(yīng)用于信息檢索、詞義消歧、數(shù)據(jù)融合、機器翻譯等領(lǐng)域。目前,詞匯語義相似度的計算方法主要分為2類:基于知網(wǎng)的方法和基于搜索引擎的方法。
知網(wǎng)(HowNet)[1-2]是以揭示概念與概念之間所具有的屬性之間的關(guān)系為基本內(nèi)容的常識知識庫。自知網(wǎng)誕生以來,許多研究者利用知網(wǎng)計算詞匯語義相似度[3-9]。劉群等人[7]采用義原間的距離完成詞匯語義相似度的計算。李峰等人[8]在劉群和李素建工作的基礎(chǔ)上考慮了義原的層次關(guān)系,優(yōu)化了義原的相似度計算。魏韡等人[9]綜合考慮義原的信息量和所在義原樹的深度及結(jié)構(gòu)特征,提出基于義原在義原樹的深度信息量及路徑的混合方法來計算義原相似度。
基于搜索引擎的詞匯語義相似度計算能夠適應(yīng)于層出不窮的新詞匯,受到許多研究者的關(guān)注[10-13]。高國強等人[10]利用搜索結(jié)果數(shù)擴展逐點共有信息(PMI)算法為WebPMI,對于相關(guān)性較強的詞匯采用雙重檢測算法(CODC)計算相似度,否則使用WebPMI計算。陳海燕[11]利用搜索引擎檢索的語義片段和結(jié)果的頁數(shù)來去除詞匯語義相似度計算過程中的噪音和冗余,通過整合查詢結(jié)果頁數(shù)、語義片段和重復(fù)記錄數(shù)完成詞匯語義相似度計算。張碩望等人[12]利用詞語與義原之間的包含關(guān)系優(yōu)化基于知網(wǎng)的詞匯語義相似度計算,將PMI算法與CODC算法應(yīng)用于百度搜索引擎,優(yōu)化基于搜索引擎的語義相似度計算,利用批量梯度下降法學(xué)習(xí)權(quán)值參數(shù),融合知網(wǎng)與搜索引擎完成詞匯語義相似度計算。
基于搜索引擎的詞匯相似度計算方法忽略了詞匯的基本語義,導(dǎo)致相關(guān)詞匯的計算結(jié)果偏高。本文在分析與總結(jié)現(xiàn)有基于知網(wǎng)和搜索引擎的詞匯語義相似度計算方法的基礎(chǔ)上,融合知網(wǎng)與搜索引擎提出新的詞匯語義相似度計算方法。
知網(wǎng)是董振東先生建立的漢語常識知識庫,包括各種概念與概念之間的關(guān)系以及概念的屬性與屬性之間的關(guān)系。在知網(wǎng)中,詞語由義項描述,一個詞語可以表示為一個或多個義項,義項由一個四元組表示(W_X=詞語,E_X=詞語例子,G_X=詞語詞性,DEF=語義表達式)[14]。其中,語義表達式描述詞語與義原的關(guān)系,是義項中最重要的部分。
義原是知網(wǎng)中最基本的、不易于分割的意義的最小單位。知網(wǎng)(2000版)一共收錄了1617個義原,分為事件、實體、屬性、屬性值、數(shù)量、數(shù)量值、次要特征、語法、動態(tài)角色與動態(tài)屬性等10大類[15]。事件類義原描述事件發(fā)生所產(chǎn)生的動作,義原的詞性主要為動詞。實體類義原描述客觀存在且相互可區(qū)別的事物,義原的詞性主要為名詞。屬性/屬性值、數(shù)量/數(shù)量值描述實體具有的特性以及事件發(fā)生的程度,義原的詞性主要為形容詞與副詞。次要特征描述實體的次要特征。語法類義原主要為助詞、代詞、介詞等不含有直接語義或含有較少語義信息的詞類。動態(tài)角色與動態(tài)屬性描述事件的內(nèi)容與特征。
圖1 實體類義原層次體系樹
知網(wǎng)一共描述了8種義原關(guān)系:上下位關(guān)系、同義關(guān)系、反義關(guān)系、對義關(guān)系、屬性-宿主關(guān)系、部件-整體關(guān)系、材料-成品關(guān)系、事件-角色關(guān)系。根據(jù)義原的上下位關(guān)系,可以構(gòu)造義原層次體系樹。例如實體類義原的層次體系樹如圖1所示。
文獻[10]綜合考慮義原在義原層次體系樹中的深度、結(jié)構(gòu)特征以及所代表的信息量,定義義原p的深度信息量IC(p):
(1)
其中,num_chi(p)為義原p的子節(jié)點個數(shù);num(T)表示義原所在義原樹的總節(jié)點個數(shù);depth(p)表示義原p在義原樹的深度;maxdepth(T)表示義原樹的最大深度。在此基礎(chǔ)上,文獻[10]提出義原的相似度計算公式:
(2)
其中,V1∩2為義原p1和義原p2的路徑交集所包含的義原;V1∪2為義原p1和義原p2的路徑并集所包含的義原;IC(V1∩2)表示V1∩2的義原信息量;IC(V1∪2)表示V1∪2的義原信息量。
式(1)計算方法未考慮義原所在層次密度的影響因素,導(dǎo)致對于不同層次的義原對計算結(jié)果區(qū)分不明顯。在文獻[10]的基礎(chǔ)上,綜合考慮義原的信息量、所在層次深度以及義原的密度,提出基于深度、密度以及信息量的義原相似度計算方法。
定義1“義原密度”指義原在層次體系樹中的兄弟節(jié)點數(shù)與層次體系樹中最大兄弟節(jié)點數(shù)的比值。在其他條件相同的前提下,義原密度大的義原對比義原密度小的義原對相似度高。
定義2“義原深度”指義原到其所在義原層次體系樹根節(jié)點的路徑距離。在其他條件相同的前提下,義原深度大的義原對比義原深度小的義原對相似度高。
定義3“義原信息量”指義原包含的子孫義原數(shù)。義原所含的子孫義原數(shù)越多則在義原層次體系樹所處的深度越小,包含的信息量越少。在其他條件相同的前提下,義原信息量大的義原對比義原信息量小的義原對相似度高。
定義義原密度信息量ID(p):
(3)
其中,sibling(p)表示義原p的兄弟節(jié)點個數(shù);maxsibling(T)表示義原層次樹的最大兄弟節(jié)點數(shù)。按照式(2)計算義原相似度。
為比較本文義原相似度計算方法與文獻[10]方法的優(yōu)劣,選取圖1中的3組義原對(A:“動物”和“禽”,B:“動物”和“植物”,C:“牲畜”和“禽”),分別采用式(1)與式(3)計算義原信息量,然后利用式(2)計算義原相似度,結(jié)果如表1所示。
表1 不同方法計算的義原相似度
方法義原對A義原對B義原對C式(1)方法0.4240.2850.354式(3)方法0.6630.2570.441
對于義原對A,“禽”是“動物”的子孫節(jié)點,兩者之間的相似度較高,式(3)計算結(jié)果0.663比式(1)計算結(jié)果0.424合理。對于義原對B,“動物”和“植物”屬于兄弟節(jié)點,且兩者在義原層次體系樹中的深度較淺,因此相似度較低。對于義原對C,“牲畜”和“禽”為兄弟節(jié)點,在義原層次體系樹中的深度較深,其相似度小于義原對A但大于義原對B。式(1)對于義原對A、義原對B、義原對C之間的相似度計算區(qū)分不大,與之相對,式(3)能夠有效地區(qū)分3個義原對之間的相似度,因此式(3)的計算結(jié)果合理性更高。
李峰等人[8]認為在概念的定義中不帶符號的義原是對概念的一種直接描述,表明一種is a的定義關(guān)系;帶有符號標(biāo)識的義原是對概念的一種間接描述,表明概念的一些其他屬性。兩者對概念的描述作用大小不同,應(yīng)該分成2組集合分別計算,然后再加權(quán)求均值。同時,前者的權(quán)值應(yīng)該更大,計算如公式(4):
sim(C1,C2)=β×sim(c11,c21)+
(1-β)×sim(c21,c22)
(4)
其中,ci1是Ci中不帶符號義原的集合,ci2是Ci中帶符號義原的集合,β為調(diào)節(jié)參數(shù)。本文借鑒文獻[8]的義原分類方法,將義項中的義原分為直接義原與間接義原進行相似度計算。
目前,基于知網(wǎng)的詞匯語義相似度計算大多采用文獻[7]提出的方法。對于2個詞語W1和W2,若W1由n個義項S11,S12,…,S1n組成,W2由m個義項S21,S22,…,S2m組成,W1與W2的相似度為各個義項組合相似度的最大值,即:
sim(W1,W2)=maxi=1,…,n;j=1,…,msim(S1i,S2j)
(5)
常用的基于查詢頁數(shù)的詞匯語義相似度算法有Jaccard,Overlap,Dice,PMI這4種算法。其中,逐點共有信息(PMI)算法效果最好,得到了廣泛應(yīng)用,PMI計算如公式(6):
(6)
其中,N為Google搜索引擎的索引總數(shù)1011;N(w1)與N(w2)表示利用Google搜索引擎分別檢索詞語w1與w2返回的網(wǎng)頁數(shù);N(w1,w2)表示利用Google搜索引擎同時檢索詞語w1與w2返回的網(wǎng)頁數(shù)。文獻[12]在此基礎(chǔ)上,提出適合百度搜索引擎的PMIB算法,計算如公式(7):
(7)
其中,Nb表示百度搜索引擎的索引總數(shù)109;N(w1,w2)為查詢“w1和w2”與查詢“w2和w1”的結(jié)果數(shù)的平均值。
對于檢索結(jié)果數(shù)較小的詞(檢索數(shù)與搜索引擎索引總數(shù)比值小于0.05),PMIB算法無法計算其相似度,例如詞對“耄耋”與“暮年”,“耄耋”的檢索數(shù)為1.14×107,“暮年”的檢索數(shù)為3.17×107,PMIB的計算結(jié)果為0,與人們的主觀認知不符。
文獻[17]提出歸一化谷歌距離(NGD)的語義相似度計算方法,將其應(yīng)用于百度搜索引擎:
(8)
其中,w1和w2為搜索詞,M為百度搜索引擎的索引總數(shù)109;f(w1)與f(w2)為利用百度搜索引擎分別檢索詞語w1與w2返回的網(wǎng)頁數(shù);f(w1,w2)為百度檢索詞語“w1和w2”以及詞語“w2和w1”返回的網(wǎng)頁數(shù)的平均值。w1與w2的谷歌距離越小,相似度越大;谷歌距離越大,相似度越小。谷歌距離能夠適應(yīng)于檢索結(jié)果較少的詞匯,但對于檢索結(jié)果數(shù)較多的詞匯相似度計算效果不如PMIB算法。
針對PMIB算法無法適應(yīng)于檢索數(shù)較小的詞匯,結(jié)合NGD與PMIB算法,提出優(yōu)化的基于搜索引擎的相似度算法PMINB:
PMINB(w1,w2)=β×PMIB(w1,w2)+
(1-β)×(1-NGD(w1,w2))
(9)
其中,參數(shù)β為調(diào)節(jié)系數(shù),表示w1和w2的檢索結(jié)果與百度搜索引擎的索引總數(shù)的比值中的較小者:
(10)
基于搜索引擎的詞匯語義相似度計算方法側(cè)重于詞對的相關(guān)性,忽略了詞匯的基本語義,對于相關(guān)的詞匯計算結(jié)果偏高,不符合人們的主觀認知?;谥W(wǎng)的詞匯語義相似度計算方法無法適應(yīng)層出不窮的新詞匯,對于擁有多種含義的詞匯相似度計算結(jié)果較差。
利用層次分析法將詞匯語義相似度計算問題分解為3個層次:頂層為目標(biāo)層,即詞匯語義相似度計算;第二層為準(zhǔn)則層,由搜索結(jié)果數(shù)、知網(wǎng)收錄范圍、反義這3個影響因素構(gòu)成;第三層為方案層,對應(yīng)于基于知網(wǎng)的詞匯相似度計算方法與搜索引擎的詞匯相似度計算方法。詞匯語義相似度的層次結(jié)構(gòu)如圖2所示。
圖2 詞匯語義相似度層次結(jié)構(gòu)
該詞匯語義相似度層次結(jié)構(gòu)中各元素的總權(quán)重如表2所示。
表2 元素權(quán)重
方案準(zhǔn)則C1C2C30.690.150.16總權(quán)重D10.150.550.200.22D20.850.450.800.78
基于以上發(fā)現(xiàn),提出融合知網(wǎng)與搜索引擎的詞匯語義相似度計算方法:
sim(w1,w2)=(1-γ)×(α×simz(w1,w2)+
(1-α)×sims(w1,w2))
(11)
其中,simZ(w1,w2)為基于知網(wǎng)的詞匯語義相似度計算結(jié)果;simS(w1,w2)為基于搜索引擎的詞匯語義相似度計算結(jié)果;α為知網(wǎng)與搜索引擎的權(quán)重系數(shù),由表2可知,其值為0.22。γ為詞匯w1與w2的反義系數(shù),若w1與w2存在反義關(guān)系,γ取1,否則γ為0。
本文采用NLPCC漢語詞語語義關(guān)系分類測試數(shù)據(jù)集中的50條近義詞與50條反義詞以及汽車票務(wù)領(lǐng)域60條具有近義關(guān)系的詞匯作為實驗數(shù)據(jù)。實驗選取3種不同的方法比較義原相似度:
方法1文獻[7]詞匯語義相似度計算方法。
方法2文獻[13]詞匯語義相似度計算方法。
方法3本文詞匯語義相似度計算方法。
實驗結(jié)果如表3所示,部分實驗數(shù)據(jù)結(jié)果如表4所示。
表3 不同方法詞匯相似度計算結(jié)果
相似度算法同義詞反義詞汽車票務(wù)近義詞匯方法10.2540.4050.001方法20.4420.5270.315方法30.6850.1370.612
表4 部分詞匯相似度計算結(jié)果
詞語1詞語2方法1方法2方法3簽訂簽署0.0930.4300.723意思意義0.5000.4070.743估計估摸0.1050.2300.609仍然依然0.0000.4960.747美麗漂亮0.6000.4340.760常常經(jīng)常0.7000.5730.740連忙急忙0.5460.6450.705告知告訴0.5000.9180.693自信自卑0.0400.4420.000積極消極0.6260.6110.000有無0.2220.5990.000明亮黑暗0.5460.9300.000難過高興0.5340.2900.000動靜0.0400.4800.000驕傲謙虛0.6250.4670.000起始站發(fā)車站0.0000.0000.689起點站發(fā)車站0.0000.0000.636余票數(shù)余票0.0000.7200.631終點站到達站0.0000.4800.519到達站到站0.0000.3510.600
對于NLPCC的近義詞與汽車票務(wù)領(lǐng)域的近義詞匯,其相似度越高越符合人們的主觀認知。綜合基于查詢結(jié)果數(shù)與查詢結(jié)果文本內(nèi)容的語義相似度計算方法,方法2在計算大部分NLPCC近義詞與汽車票務(wù)領(lǐng)域的近義詞匯時能夠得到較好的效果,但對于檢索結(jié)果較少的詞匯,方法2無法計算其相似度。例如詞對“估計”和“估摸”,搜索引擎單獨檢索“估計”和“估摸”分別返回100000000與4670000條查詢結(jié)果,但檢索“估計和估摸”僅返回76800條查詢結(jié)果,導(dǎo)致基于查詢結(jié)果數(shù)的相似度計算結(jié)果偏低。在“估計和估摸”返回的查詢結(jié)果文本片段中詞語“估計”與“估摸”之間的關(guān)聯(lián)程度較低,二者都是獨立出現(xiàn)在文本片段中,導(dǎo)致文本片段的相似度計算結(jié)果偏低。因此最終的語義相似度計算結(jié)果與主觀認知不符。
方法3采用檢索結(jié)果數(shù)作為權(quán)重因子,綜合NGD與PMIB算法作為搜索引擎的計算結(jié)果,有效地避免了檢索結(jié)果數(shù)較少的詞匯導(dǎo)致的計算偏差。例如,詞對“估計”和“估摸”,方法3計算結(jié)果為0.609,比方法2計算結(jié)果0.230更合理。方法3通過檢索計算詞對的反義詞判斷計算詞對間是否存在反義關(guān)系,對于反義詞降低其相似度,從主觀上滿足反義詞相似度低這一特征。例如詞對“明亮”與“黑暗”,方法3計算結(jié)果0比方法2計算結(jié)果0.930更合理。方法2利用搜索引擎計算詞匯相似度,側(cè)重于詞匯間的相關(guān)性,導(dǎo)致相關(guān)性較低的詞匯計算結(jié)果偏低。對于這類詞匯,方法3綜合知網(wǎng)解決搜索引擎計算結(jié)果的偏差。對于相關(guān)性較高的詞對如“余票數(shù)”與“余票”,由于融合了知網(wǎng)計算結(jié)果,方法3計算結(jié)果0.631低于方法2計算結(jié)果0.72。對于相關(guān)性較低的詞對如“常?!迸c“經(jīng)?!?,方法3計算結(jié)果0.74比方法2計算結(jié)果0.573更合理。雖然對于某些相關(guān)性較高的詞匯方法3計算結(jié)果不如方法2計算結(jié)果合理,但利用方法3計算的詞匯平均相似度高于利用方法2計算的詞匯平均相似度,在適應(yīng)性上方法3優(yōu)于方法2。
本文提出基于知網(wǎng)與搜索引擎計算詞匯語義相似度的方法。通過將該算法應(yīng)用于汽車票務(wù)領(lǐng)域,證明了該算法的適應(yīng)性較好。在下一步的研究工作中,將致力于挖掘詞對間的特征與關(guān)聯(lián)規(guī)則,降低算法的時間復(fù)雜度,提升計算效率。
參考文獻:
在崗位評價過程中,根據(jù)事先規(guī)定的比較系統(tǒng)的全面反映崗位現(xiàn)象本質(zhì)的崗位評價指標(biāo)體系,對崗位的主要影響因素逐一進行測定、評比和估價,由此得出各個崗位的量值。崗位評價的中心是"事"不是"人"。崗位評價以崗位為對象,由于崗位的工作是由勞動者承擔(dān)者的,雖然崗位評價是以"事"為中心,但它在評價中,離不開對勞動者的總體考察和分析。由此得出個的評價結(jié)果是客觀的。
[1] Dong Zhendong, Dong Qiang. HowNet: A hybrid language and knowledge resource[C]// Proceedings of the 2003 International Conference on Natural Language Processing and Knowledge Engineering. 2003:820-824.
[2] 董振東,董強,郝長伶. 知網(wǎng)的理論發(fā)現(xiàn)[J]. 中文信息學(xué)報, 2007,21(4):3-9.
[3] 范弘屹,張仰森. 一種基于HowNet的詞語語義相似度計算方法[J]. 北京信息科技大學(xué)學(xué)報(自然科學(xué)版), 2014,29(4):42-45.
[4] 江敏,肖詩斌,王弘蔚,等. 一種改進的基于《知網(wǎng)》的詞語語義相似度計算[J]. 中文信息學(xué)報, 2008,22(5):84-89.
[5] 林麗,薛方,任仲晟. 一種改進的基于《知網(wǎng)》的詞語相似度計算方法[J]. 計算機應(yīng)用, 2009,29(1):217-220.
[6] 張亮,尹存燕,陳家駿. 基于語義樹的中文詞語相似度計算與分析[J]. 中文信息學(xué)報, 2010,24(6):23-30.
[7] 劉群,李素建. 基于《知網(wǎng)》的詞匯語義相似度計算[C]// 第三屆漢語詞匯語義學(xué)研討會論文集. 2002:59-67.
[8] 李峰,李芳. 中文詞語語義相似度計算—基于《知網(wǎng)》2000[J]. 中文信息學(xué)報, 2007,21(3):99-105.
[9] 魏韡,向陽. 基于2008版《知網(wǎng)》的詞語相似度計算方法[J]. 計算機工程, 2015,41(9):215-219.
[10] 高國強,黃呂威,陳豐鈺. 使用網(wǎng)絡(luò)搜索引擎計算漢語詞匯的語義相似度[J]. 計算機技術(shù)與發(fā)展, 2014,24(7):84-87.
[11] 陳海燕. 基于搜索引擎的詞匯語義相似度計算方法[J]. 計算機科學(xué), 2015,42(1):261-267.
[12] 張碩望,歐陽純萍,陽小華,等. 融合《知網(wǎng)》和搜索引擎的詞匯語義相似度計算[J]. 計算機應(yīng)用, 2017,37(4):1056-1060.
[13] Bollegala D, Matsuo Y, Ishizuka M. A Web search engine-based approach to measure semantic similarity between words[J]. IEEE Transactions on Knowledge and Data Engineering, 2011,23(7):977-990.
[14] 葛斌,李芳芳,郭絲路,等. 基于知網(wǎng)的詞匯語義相似度計算方法研究[J]. 計算機應(yīng)用研究, 2010,27(9):3329-3333.
[15] 蔣溢,丁優(yōu),熊安萍,等. 一種基于知網(wǎng)的詞匯語義相似度改進計算方法[J]. 重慶郵電大學(xué)學(xué)報(自然科學(xué)版), 2009,21(4):533-537.
[16] Lin Dekang. An information-theoretic definition of similarity[C]// Proceedings of the 15th International Conference on Machine Learning. 1988:296-304.
[17] Cilibrasi R L, Vitanyi P M B. The Google similarity distance[J]. IEEE Transactions on Knowledge and Data Engineering, 2007,19(3):370-383.