周佳逸(上海海事大學(xué)信息工程學(xué)院,上海201306)
基于張量遞歸神經(jīng)網(wǎng)絡(luò)的英文語(yǔ)義關(guān)系分類方法研究
周佳逸
(上海海事大學(xué)信息工程學(xué)院,上海201306)
語(yǔ)義關(guān)系分類作為當(dāng)前語(yǔ)義技術(shù)的一個(gè)基礎(chǔ)領(lǐng)域,獲得廣泛的關(guān)注。提出基于張量空間的遞歸神經(jīng)網(wǎng)絡(luò)算法,利用張量(向量-矩陣對(duì))表示單詞,獲得更準(zhǔn)確的語(yǔ)義分類結(jié)果。通過(guò)無(wú)監(jiān)督的結(jié)構(gòu)化方式訓(xùn)練模型,大大簡(jiǎn)便分類過(guò)程,舍棄了人工手動(dòng)標(biāo)注。實(shí)驗(yàn)表明,該算法可以有效識(shí)別語(yǔ)義關(guān)系,比傳統(tǒng)算法性能提高5%以上。
張量;神經(jīng)網(wǎng)絡(luò);語(yǔ)義關(guān)系分類
隨著互聯(lián)網(wǎng)的廣泛使用,大量信息涌入人們的生活。如何在海量信息里尋找出自己需要的信息成為人們探究的一個(gè)新課題。在對(duì)英文信息的搜索過(guò)程中,若能以主題詞及與主題詞有特定關(guān)系的目標(biāo)單詞作為搜索依據(jù),也就是說(shuō),將信息查詢問(wèn)題轉(zhuǎn)換為語(yǔ)義關(guān)系識(shí)別問(wèn)題,將大大增加搜索的效率。例如,某人需要搜索“search reasons that causes headache”,當(dāng)存在工具可以自動(dòng)搜索因果關(guān)系時(shí),將減少大量搜索時(shí)間,增加搜索效率。除了作為信息搜索功能的基礎(chǔ),語(yǔ)義關(guān)系分類方法對(duì)于詞庫(kù)建設(shè)、各領(lǐng)域語(yǔ)料集建設(shè)、社交網(wǎng)絡(luò)問(wèn)答系統(tǒng)、文本翻譯、詞義消歧等都具有潛在的應(yīng)用價(jià)值。詞匯的語(yǔ)義關(guān)系是進(jìn)行語(yǔ)義分析的重要基礎(chǔ),而語(yǔ)義關(guān)系技術(shù)是自然語(yǔ)言處理(Natural Language Processing, NLP)的關(guān)鍵步驟,因此,對(duì)于語(yǔ)義關(guān)系分類方法的研究是十分必要的,有利于推動(dòng)相關(guān)領(lǐng)域的發(fā)展。
鑒于語(yǔ)義關(guān)系分類方法在實(shí)際應(yīng)用中的廣泛應(yīng)用,中外學(xué)者對(duì)此課題已經(jīng)有了較長(zhǎng)時(shí)間的關(guān)注與研究。
目前,主要的語(yǔ)義關(guān)系分類方法包括以下幾種:
基于模式識(shí)別的方法。此種方法主要是基于已經(jīng)定義好的法則,在目標(biāo)文本中進(jìn)行匹配,搜索出相對(duì)應(yīng)的語(yǔ)義關(guān)系。最早提出基于模式方法對(duì)語(yǔ)義關(guān)系進(jìn)行分類的是Hearts[1]等人。他定義了“such a as b”和“a and other b”等模式,取得了一定成果。在這之后,越來(lái)越多的學(xué)者關(guān)注基于模式的方法并對(duì)此進(jìn)行了改進(jìn)。Brin[2]通過(guò)迭代的方法,根據(jù)構(gòu)造好的關(guān)系實(shí)例對(duì)在已標(biāo)注的文本內(nèi)發(fā)現(xiàn)模式。
基于統(tǒng)計(jì)的方法。該方法根據(jù)所統(tǒng)計(jì)出兩個(gè)詞的同現(xiàn)信息大小來(lái)判斷兩個(gè)詞是否具有語(yǔ)義關(guān)系[3]。Peter[4]提出將點(diǎn)間互信息與搜索引擎相結(jié)合,通過(guò)搜索引擎提交查詢,分析返回結(jié)果。之后,也有學(xué)者提出了將聚類方法和基于模式的方法相結(jié)合來(lái)進(jìn)行語(yǔ)義關(guān)系分類。
基于圖的方法。該方法是通過(guò)構(gòu)建圖,并對(duì)圖進(jìn)行聚類切分,每一個(gè)子圖就是語(yǔ)義關(guān)系集合。Philippe Muller和Vincent[5]等利用已有詞典構(gòu)建了一個(gè)相關(guān)的詞典圖用于分類語(yǔ)義關(guān)系。而Einat Minkov[6]等人通過(guò)句法分析,根據(jù)語(yǔ)義路徑來(lái)建立圖,分類語(yǔ)義關(guān)系。
在以上方法中,大多數(shù)方法都需要大量的手動(dòng)標(biāo)記的語(yǔ)義資源。相比之下,本文主要結(jié)合模式方法和統(tǒng)計(jì)方法,根據(jù)語(yǔ)義樹結(jié)構(gòu)對(duì)長(zhǎng)句進(jìn)行分詞,利用基于張量遞歸神經(jīng)網(wǎng)絡(luò)算法對(duì)訓(xùn)練集進(jìn)行訓(xùn)練,簡(jiǎn)化了語(yǔ)義關(guān)系分類的過(guò)程。
1.1基于張量的遞歸神經(jīng)網(wǎng)絡(luò)算法
(1)張量空間的單詞表示
單詞通過(guò)向量空間的表示在語(yǔ)義領(lǐng)域被廣泛應(yīng)用[7]。本文中,單詞將不再只由一個(gè)向量表示。在張量空間中,單詞由一階張量(向量)和二階張量(參數(shù)矩陣)組合表示。根據(jù)Collobert和Weston[8]提出的已經(jīng)過(guò)無(wú)監(jiān)督訓(xùn)練過(guò)的50維向量模型,將所有單詞向量初始化為x,且x∈Rn。該模型可通過(guò)對(duì)Wikipedia的文本學(xué)習(xí),預(yù)測(cè)到每個(gè)單詞在上下文中出現(xiàn)的概率。和其他基于向量空間模型局部同現(xiàn)方法相似,由該方法表示的單詞向量可以顯示句法和語(yǔ)義信息。與此同時(shí),每個(gè)單詞也與一個(gè)矩陣X相聯(lián)系。在實(shí)驗(yàn)中,矩陣初始化為X=I+ ε,ε為高斯噪聲。如果每個(gè)向量的維度為n,則每個(gè)單詞的矩陣為X∈Rn×n。由于表示單詞的向量和矩陣通過(guò)對(duì)語(yǔ)義標(biāo)簽的學(xué)習(xí),將不斷修正以合成一個(gè)可以預(yù)測(cè)分布的向量序列,因此矩陣的初始化是隨機(jī)的,通常由單位矩陣表示。
由上述可得,每個(gè)一個(gè)長(zhǎng)度為m的短語(yǔ)或句子可以表示為向量矩陣對(duì),諸如((a,A),...,(m,M))。
(2)單詞的遞歸合成
基于張量的遞歸神經(jīng)網(wǎng)絡(luò)算法是在語(yǔ)義樹的基礎(chǔ)上進(jìn)行遞歸計(jì)算,由神經(jīng)網(wǎng)絡(luò)算法對(duì)訓(xùn)練集進(jìn)行訓(xùn)練,獲得最終結(jié)果。
圖1 基于張量的遞歸神經(jīng)網(wǎng)絡(luò)模型
父向量p是由兩個(gè)連續(xù)單詞的向量a和b計(jì)算而來(lái),最常用是由Mitchell和Lapata[9]提出的函數(shù)p:p= f(a,b,R,K)。其中R為已知的先驗(yàn)語(yǔ)法,K為背景知識(shí)。目標(biāo)函數(shù)f根據(jù)不同文本有不同的可能性。
Baroni和Zamparelli[10]在他們的基礎(chǔ)上利用向量和矩陣空間的合成,提出針對(duì)形容詞-名字組合對(duì)的函數(shù)p=Ab,其中矩陣A表示形容詞,向量b表示名字。而Zanzotto[11]在M的基礎(chǔ)上,提出了以矩陣空間模型為基礎(chǔ)的針對(duì)詞對(duì)的合成函數(shù)p=Ba+Ab,向量a,b分別表示兩個(gè)單詞,矩陣A,B則為單位矩陣。
后兩種模型的優(yōu)勢(shì)在于徹底舍棄了手動(dòng)標(biāo)記語(yǔ)料庫(kù)和明確的背景知識(shí),無(wú)需再由人工完成語(yǔ)義標(biāo)記。
在以上模型基礎(chǔ)上進(jìn)行泛化,獲得如下合成函數(shù):
其中A,B為單詞的參數(shù)矩陣,W為映射所有變形單詞到相同維度n的矩陣,W∈Rn×2n。通常,g為一個(gè)恒等函數(shù),但此處為了擴(kuò)大函數(shù)范圍,使得其不為簡(jiǎn)單的線性函數(shù),將g設(shè)為非線性函數(shù)(例如:sigmoid,tanh)。在該模型中,單詞的矩陣部分可以反映出具體每個(gè)單詞帶來(lái)的參數(shù)改變。Baroni等人和Zanzotto提出的模型都是本模型的特殊形式。
在多個(gè)單詞和短語(yǔ)進(jìn)行語(yǔ)義合成時(shí),由基于張量空間的詞對(duì)合成模型來(lái)合成長(zhǎng)序列詞的向量和矩陣。在本模型中,主要思想是利用經(jīng)過(guò)學(xué)習(xí)的適應(yīng)于二叉語(yǔ)義樹的相同函數(shù)f,對(duì)單詞對(duì)進(jìn)行合成,并對(duì)每個(gè)非終結(jié)點(diǎn)進(jìn)行矩陣計(jì)算。為了計(jì)算每個(gè)非終短語(yǔ)的矩陣,定義父矩陣為:
其中WM∈Rn×2n,由上式可以計(jì)算得P∈Rn×n,與輸入矩陣維度相同。
當(dāng)兩個(gè)單詞在語(yǔ)義樹中合成為一個(gè)成分時(shí),它可以通過(guò)目標(biāo)函數(shù)f和fM計(jì)算,繼續(xù)與其他單詞進(jìn)行下一步的語(yǔ)義合成。
舉例來(lái)說(shuō),圖1的張量計(jì)算過(guò)程為:
①合成向量b和c,以及對(duì)應(yīng)的矩陣,得到(p1,P1),,需要注意的是,當(dāng)一個(gè)單詞由n維向量和n×n維矩陣對(duì)表示時(shí),整個(gè)模型的維度將非常大。為了在計(jì)算中減少計(jì)算量,并提高計(jì)算速度,本模型根據(jù)張量分解算法,將矩陣進(jìn)行如下分解:
②合成的向量矩陣對(duì)(p1,P1)與a相結(jié)合,獲得上層非終結(jié)點(diǎn)的向量矩陣對(duì)(p2,P2),
③重復(fù)①,②,應(yīng)用函數(shù)f,fM自底向上遞歸計(jì)算各個(gè)節(jié)點(diǎn),直至計(jì)算出頂層節(jié)點(diǎn)的向量和矩陣對(duì),獲得語(yǔ)義合成的最終結(jié)果。
(3)模型訓(xùn)練
遞歸神經(jīng)網(wǎng)絡(luò)的一大優(yōu)勢(shì)在于樹的每個(gè)節(jié)點(diǎn)都可以由向量來(lái)表示。通常,通過(guò)訓(xùn)練每個(gè)節(jié)點(diǎn)的softmax分類器來(lái)預(yù)測(cè)各個(gè)類別的分布。語(yǔ)義關(guān)系分類通常表示為函數(shù):
其中,Ws情感分類矩陣。若單詞大小為|V|,則Ws∈R|V|×d。a表示分類器所在的單詞。
在整個(gè)模型的訓(xùn)練過(guò)程中,定義θ=(W,WM,Wlabel,L,LM作為模型參數(shù),λ為規(guī)范化的先驗(yàn)分布參數(shù)。L和LM為單詞的向量集和矩陣集。由此得到梯度的求值公式為:
上式中,E(x,t,θ)為誤差函數(shù)。為得到梯度值,需先自底向上計(jì)算每個(gè)節(jié)點(diǎn)的(pi,Pi),然后自頂向下采用softmax分類器進(jìn)行計(jì)算。在此過(guò)程中,充分利用張量分解的優(yōu)勢(shì),對(duì)計(jì)算過(guò)程進(jìn)行簡(jiǎn)化,加快計(jì)算速度。
1.2基于張量神經(jīng)網(wǎng)絡(luò)的英文語(yǔ)義關(guān)系分類方法分析
通過(guò)語(yǔ)義樹的建立和基于張量的神經(jīng)網(wǎng)絡(luò)算法,該模型可以獲得語(yǔ)法分析中的語(yǔ)義關(guān)系,特別是名詞間的關(guān)系。舉例來(lái)說(shuō),英文文本“My[apartment]e1has a big[bathroom]e2.”中,通過(guò)深度學(xué)習(xí),可分析出“bathroom”和“apartment”的關(guān)系為局部-整體的關(guān)系。語(yǔ)義關(guān)系分析方法對(duì)于信息提取有重要作用,同時(shí)也是詞庫(kù)建設(shè)的基礎(chǔ)。
語(yǔ)義關(guān)系分類方法需要模型擁有處理兩個(gè)任何類型的名詞的能力。如圖2,解釋了本模型如何對(duì)名詞關(guān)系進(jìn)行分類。首先,找到需要分類的兩個(gè)名詞在二叉語(yǔ)義樹中的路徑。然后選擇最高節(jié)點(diǎn),以最高節(jié)點(diǎn)的向量為語(yǔ)義關(guān)系分類的特征向量。再由兩個(gè)詞組成的二叉樹內(nèi)使用基于張量的神經(jīng)網(wǎng)絡(luò)算法對(duì)數(shù)據(jù)進(jìn)行處理,獲得語(yǔ)義關(guān)系的分類結(jié)果,其中節(jié)點(diǎn)的參數(shù)矩陣將包含行列數(shù)、數(shù)據(jù)集跳過(guò)信息、正確分類關(guān)系信息等數(shù)據(jù)。
圖2 語(yǔ)義關(guān)系分類原理圖
2.1評(píng)價(jià)標(biāo)準(zhǔn)
為了測(cè)試基于張量神經(jīng)網(wǎng)絡(luò)的英文語(yǔ)義關(guān)系分類方法與其他方法的效率,我們使用了NLP&CC語(yǔ)義關(guān)系抽取評(píng)測(cè)大綱中的指標(biāo),以F1值最為參考標(biāo)準(zhǔn)。F1值為正確率和召回率的調(diào)和平均數(shù)。
正確率為:
其中,TP為提取出正確信息條數(shù),F(xiàn)P為提取出錯(cuò)誤信息條數(shù),TP+FP為提取出的信息總數(shù)。
召回率為:
其中,TP為提取出正確信息條數(shù),F(xiàn)N為未提取的正確信息條數(shù),TP+FN為所有需要提取的信息數(shù)。
通常,F(xiàn)-measure設(shè)置β=1時(shí),即:
2.2實(shí)驗(yàn)壞境及步驟
本次實(shí)驗(yàn)將仿真環(huán)境架設(shè)在Linux系統(tǒng)中,版本為Ubuntu 14.04 64bit。編程語(yǔ)言版本為Python 2.6,JDK 1.7,配合MATLAB軟件完成最后的訓(xùn)練及測(cè)試工作。
具體實(shí)驗(yàn)步驟如下:
(1)準(zhǔn)備語(yǔ)料集,對(duì)語(yǔ)料庫(kù)進(jìn)行處理,去除多余的空格以及符號(hào),規(guī)范化格式,轉(zhuǎn)變?yōu)榧兾谋疚募?,為后續(xù)的分詞做準(zhǔn)備。
(2)使用Stanford-Parser自然語(yǔ)言處理工具包,調(diào)用其英文處理模塊englishPCFG.ser.gz對(duì)文本進(jìn)行分詞,使用sst-light工具對(duì)詞性進(jìn)行標(biāo)注,如NN(常用名詞)、VV(動(dòng)詞)等,每一個(gè)句子都可以拆分成若干個(gè)帶標(biāo)注的詞語(yǔ)組成的語(yǔ)義樹,如圖3所示。
圖3 經(jīng)過(guò)分詞處理的語(yǔ)義樹
(3)步驟(2)生成了分詞以及標(biāo)記過(guò)的文本數(shù)據(jù),得出每個(gè)單詞的詞性及含義。因此,可根據(jù)步驟(2)獲得兩個(gè)名詞間的最小子樹,對(duì)其進(jìn)行處理分類。
(4)獲取最小子樹中兩個(gè)名詞的向量-矩陣對(duì),加入特征集(POS,NER,WordNet)
(5)利用算法計(jì)算歐幾里得距離并獲得相關(guān)參數(shù)及F1值。
在數(shù)據(jù)集的選擇上,本實(shí)驗(yàn)選擇了SemEval提供的語(yǔ)料庫(kù)。SemEval(Semantic Evaluation)作為致力于語(yǔ)義研究系統(tǒng)的國(guó)際機(jī)構(gòu),其提供的語(yǔ)料庫(kù)具有一定的參考意義。在SemEval中,將數(shù)據(jù)集中的語(yǔ)義關(guān)系分為9種(Cause-Effect、Instrument-Agency、Product-Producer、Content-Container、Entity-Origin、Entity-Destination、Component-Whole、Member-Collection、Message-Topic),并額外增設(shè)一個(gè)other類(任何不屬于這9類語(yǔ)義關(guān)系的類別將被分入other類中)。
將語(yǔ)料集按照上述步驟進(jìn)行處理,放入訓(xùn)練好的模型中,得出F1值。為了對(duì)實(shí)驗(yàn)方法進(jìn)行公證的評(píng)價(jià),將本實(shí)驗(yàn)得出的F1值與基于張量的遞歸神經(jīng)網(wǎng)絡(luò)算法(Tensor Recursive Neural Network,TRNN)與支持向量機(jī)模型(Support Vector Machine,SVM)、遞歸神經(jīng)網(wǎng)絡(luò)算法(Recursive Neural Network,RNN)、線性向量-矩陣遞歸神經(jīng)網(wǎng)絡(luò)算法(Linear Vector-Matrix Recursive Neural Network,Lin.RNN)F1值的比較,獲得算法性能的對(duì)比。
實(shí)驗(yàn)結(jié)果如表1所示。
表1 實(shí)驗(yàn)結(jié)果
本文研究了一種用于語(yǔ)義關(guān)系分類的基于張量的遞歸神經(jīng)網(wǎng)絡(luò)算法。該算法中,以向量-矩陣對(duì)的形式表示一個(gè)單詞,向量用于表示單詞,而矩陣參數(shù)表示該單詞與鄰接單詞的修飾作用。在計(jì)算過(guò)程中,通過(guò)對(duì)矩陣選擇張量分解算法進(jìn)行簡(jiǎn)化,明顯提高了計(jì)算速度。與其他算法相比,該算法在經(jīng)過(guò)非監(jiān)督化的結(jié)構(gòu)學(xué)習(xí)過(guò)程后,對(duì)語(yǔ)料庫(kù)的語(yǔ)義關(guān)系分類效果較好。使得語(yǔ)義關(guān)系分類過(guò)程大大簡(jiǎn)化,無(wú)需大量人工對(duì)語(yǔ)料庫(kù)進(jìn)行標(biāo)注。
然而,該算法在學(xué)習(xí)過(guò)程中,也存在所需時(shí)間較長(zhǎng)的不足,我們下一步將致力于探尋更高效的訓(xùn)練方法,以進(jìn)一步提高訓(xùn)練速度。
[1]Hearst,Marti A.Automatic Acquisition of Hyponyms from Large Text Corpora[C].Proceedings of the 14th International Conference on Computational Linguistics.New York:ACM.1992:539~545
[2]Sergey Brin,Rajeev Motwani,Lawrence Page,Terry Winograd.What Can You Do with a Web in Your Pocket[J].IEEE Data Engineering Bulletin,2008(21):37~47
[3]John Rupert Firth.A Synopsis of Linguistic Theory[J].Philological Society:Studies in Linguistic Analysis.1957(4):1930~1955
[4]Oren Etzioni,Michael Cafarella,Doug Downey,etc.Unsupervised Named-Entity Extraction from the Web:An Experimental Study[J]. Artificial Intelligence,2005,6(165):91~134
[5]Philippe Muller,Nabil Hathout,Bruno Gaume.Synonym Extraction Using a Semantic Distance on a Dictionary[C].Proceedings of the First Workshop on Graph Based Methods for Natural Language Processing,2006:65~72
[6]Einat Minkov,William Cohen.Graph Based Similarity Measures for Synonym Extraction from Parsed Text[C].Proceedings of the 7th Workshop on Graph Based Methods for Natural Language Processing,2012:20~24
[7]Richard Socher,Alex Perelygin,Jean Y.Wu,Jason Chuang,Christopher D.Manning.GloVe:Global Vectors for Word Representation,2014[J]
[8]Collobert and J.Weston.A Unified Architecture for Natural Language Processing:Deep Neural Networks with Multitask Learning[C]. In ICML,2008
[9]Mitchell and M.Lapata.2010.Composition in Distributional Models of Semantics[J].Cognitive Science,38(8):1388~1429
[10]Baroni,Robert Zamparelli.Nouns are vectors,adjectives are matrices:Representing adjective-noun Construction in Semantic Space [C].In EMNLP.2010:1183~1193
[11]M.Zanzotto,I.Korkontzelos,F(xiàn).Fallucchi,S.Manandhar.Estimating Linear Models for Compositional Distributional Semantics. COLING,2012
Research on the Classification of English Semantic Relationships Based on Tensor Recursive Neural Network
ZHOU Jia-yi
(College of Information Engineering,Shanghai Maritime University,Shanghai 201306)
Classification of semantic relationships is a basic area of semantic technology and gains wide attention.Introduces a better approach to classify semantic relationships of words,tensor recursive neural network model which uses tensor(vector-matrix pairs)to represent a single words.The model trains the data by an unsupervised and structural way,which has no more need of hand-labeled corpus and simplify the process of classification.The experiment shows that the algorithm can classify semantic relationships effectively,and the outperform improves by 5 percent.
Tensor;Neural Network;Classification of Semantic Relationships
1007-1423(2015)11-0043-05
10.3969/j.issn.1007-1423.2015.11.008
周佳逸(1990-),女,上海人,碩士研究生,研究方向?yàn)樯窠?jīng)網(wǎng)絡(luò)、語(yǔ)義分析
2015-03-03
2015-03-31