劉運(yùn)通,梁燕軍
(安陽(yáng)師范學(xué)院 計(jì)算機(jī)與信息工程學(xué)院,河南 安陽(yáng)455000)
為了更好地進(jìn)行自然語(yǔ)言處理,語(yǔ)義的作用越來越被研究者們所重視。Wordnet、Framenet、Hownet、中文概念詞典CCD、Chinese FrameNet(CFN)、同義詞詞林等詞匯語(yǔ)義知識(shí)庫(kù)先后被構(gòu)建出來,作為語(yǔ)義分析的基礎(chǔ)性資源,維基也被用作語(yǔ)義計(jì)算的網(wǎng)絡(luò)數(shù)據(jù)資源。許多學(xué)者對(duì)語(yǔ)義關(guān)系計(jì)算也做了研究:文獻(xiàn) [1]研究了5 種基于Wordnet的詞匯語(yǔ)義相關(guān)度計(jì)算方法;文獻(xiàn) [2]研究了基于維基百科的文章網(wǎng)絡(luò)和分類樹,進(jìn)行詞匯語(yǔ)義關(guān)聯(lián)的計(jì)算方法;文獻(xiàn) [3]研究了基于維基鏈接的詞匯最近語(yǔ)義關(guān)聯(lián)度的計(jì)算方法;文獻(xiàn) [4]研究了在Hownet表達(dá)漢語(yǔ)知識(shí)的基礎(chǔ)上,改進(jìn)語(yǔ)義相關(guān)度的計(jì)算模型;文獻(xiàn) [5]研究了基于Wordnet的詞匯相關(guān)度計(jì)算方法;文獻(xiàn) [6]研究了不同語(yǔ)義相關(guān)計(jì)算方法的計(jì)算效果評(píng)價(jià)方法。還有許多學(xué)者利用語(yǔ)義信息來解決自然語(yǔ)言理解中的部分難題:文獻(xiàn)[7]研究了利用語(yǔ)義詞典Web挖掘語(yǔ)言模型的無指導(dǎo)譯文消歧;文獻(xiàn) [8]研究了基于北京大學(xué)中文網(wǎng)庫(kù)的語(yǔ)義角色分類;文獻(xiàn) [9]研究了基于淺層句法分析的中文語(yǔ)義角色標(biāo)注。
由于自然語(yǔ)言擁有隱含、多變、數(shù)量龐大的語(yǔ)法規(guī)則,使得研究人員很難將語(yǔ)義分析與語(yǔ)法分析有機(jī)地結(jié)合起來,而當(dāng)前的大多數(shù)研究,主要是利用語(yǔ)義信息來解決自然語(yǔ)言處理中的部分難題,還沒有一個(gè)比較成熟、且有廣泛影響的基于語(yǔ)義分析的自然語(yǔ)言處理模型。
為了解決這個(gè)問題,本文在文獻(xiàn) [10-12]中提出了一個(gè)自然語(yǔ)言語(yǔ)義計(jì)算模型,并對(duì)該模型做了探索性的研究,通過構(gòu)造一個(gè)文法,來描述普通的中文語(yǔ)句,并研究了模型的求解方法和語(yǔ)義消歧方法。這個(gè)模型及其求解方法將語(yǔ)法分析、語(yǔ)義分析、語(yǔ)義消歧有機(jī)地結(jié)合起來,初步形成了一個(gè)較為系統(tǒng)的自然語(yǔ)言處理語(yǔ)義分析研究的新思路。然而,該文法中的語(yǔ)法規(guī)則較多,形式較為復(fù)雜,導(dǎo)致計(jì)算復(fù)雜度較高。為了降低模型求解時(shí)的計(jì)算復(fù)雜度,對(duì)該文法進(jìn)行了化簡(jiǎn),構(gòu)造了一個(gè)更為簡(jiǎn)潔的文法規(guī)則,并通過實(shí)驗(yàn),進(jìn)行模型求解,比較簡(jiǎn)化前后的兩個(gè)文法的計(jì)算效果。探索了文法化簡(jiǎn)的方法和思路,為更高效的模型求解方法研究做了必要的技術(shù)儲(chǔ)備。
假設(shè)一個(gè)語(yǔ)句 (CS)中的任意實(shí)詞Wi(除去謂語(yǔ)中心詞)均語(yǔ)義修飾于另外一個(gè)實(shí)詞WGi,并用函數(shù)Rel(Wi,WGi)來表示其語(yǔ)義相關(guān)度。假設(shè)V 是謂語(yǔ)中心詞,S是V的施動(dòng)者,O 是V 的承受者,則語(yǔ)句的語(yǔ)義相關(guān)度fAi可以下面的表達(dá)式來計(jì)算
根據(jù)語(yǔ)義修飾目標(biāo)的不同,每個(gè)語(yǔ)句可能有多個(gè)語(yǔ)法分析方案;遵循少量的語(yǔ)法規(guī)則,可以 “窮舉”出所有可能的語(yǔ)法分析方案。
一個(gè)語(yǔ)句的多個(gè)語(yǔ)法分析方案如圖1所示。
圖1 一個(gè)語(yǔ)句的多個(gè)語(yǔ)法分析方案
模型求解基本規(guī)則:fAi值最大的語(yǔ)法分析方案Ai是符合語(yǔ)義邏輯的語(yǔ)法分析方案。
模型求解過程主要有兩個(gè)階段:語(yǔ)法分析階段、語(yǔ)義分析階段。
在語(yǔ)法分析階段:由于自然語(yǔ)言具有隱含、多變、數(shù)量龐大的語(yǔ)法規(guī)則,任何人也不可能窮舉出所有的語(yǔ)法規(guī)則。
假如我們換一個(gè)思路,假設(shè)自然語(yǔ)言無需遵守任何語(yǔ)法規(guī)則。則一個(gè)包含n個(gè)詞匯的語(yǔ)句,根據(jù)每個(gè)詞匯語(yǔ)義修飾目標(biāo)的不同,由于詞匯不能修飾自身,則理論上共有(n-1)n種不同的語(yǔ)法分析方案,則可以按照式 (1)計(jì)算出每個(gè)語(yǔ)法分析方案的語(yǔ)義相關(guān)度,選擇出最佳結(jié)果,就可實(shí)現(xiàn)模型求解。但其計(jì)算復(fù)雜度屬于指數(shù)級(jí)別,實(shí)踐中根本不可行。
另外,對(duì)于某種語(yǔ)法分析方案來說,即使計(jì)算出的語(yǔ)義相關(guān)度值最大,但由于該語(yǔ)法分析方案可能會(huì)違背 “自然語(yǔ)言必須遵守的某些語(yǔ)法規(guī)則,是明顯違背語(yǔ)義邏輯的”,必須加以排除。
因此,我們?cè)谡Z(yǔ)法分析階段,引入極少量、最常見、最普適的語(yǔ)法規(guī)則,構(gòu)建一個(gè)文法,依據(jù)這個(gè)文法,進(jìn)行語(yǔ)法分析,排除明顯不可能的語(yǔ)法分析方案;同時(shí)也可以極大程度地降低模型求解的計(jì)算復(fù)雜度,將其降低到實(shí)踐可行的地步,具體方法見文獻(xiàn) [10]。
在語(yǔ)義分析階段:忽略其它繁瑣、多變、不重要的語(yǔ)法規(guī)則,用 “窮舉法”生成所有 “符合普適語(yǔ)法規(guī)則”的語(yǔ)法分析方案,并通過語(yǔ)義相關(guān)度計(jì)算,來選擇最佳結(jié)果,從而進(jìn)行模型求解。
這種方法,就可以將語(yǔ)法分析、語(yǔ)義分析、語(yǔ)義消歧有機(jī)地結(jié)合起來,而所構(gòu)造的文法,在整個(gè)模型求解過程中起著至關(guān)重要的作用。
我們課題組在文獻(xiàn) [10]中已經(jīng)設(shè)計(jì)出了一個(gè)文法,用來描述自然語(yǔ)言。根據(jù)語(yǔ)義結(jié)構(gòu)的復(fù)雜程度,將語(yǔ)句劃分為兩個(gè)層次:
(1)簡(jiǎn)單子句:沒有從句的語(yǔ)句CS,其文法規(guī)則見表1 (不包含規(guī)則L→CS)。
(2)復(fù)雜句:包含從句的語(yǔ)句CS,其文法規(guī)則見表1;規(guī)則L→CS意味著一個(gè)簡(jiǎn)單子句可以作為一個(gè)復(fù)雜句中任意成分,實(shí)現(xiàn)了對(duì)簡(jiǎn)單句遞歸,因此可以描述復(fù)雜句。
模型求解時(shí),可以采用自底向上的簡(jiǎn)單子句歸結(jié)法,具體細(xì)節(jié)參見文獻(xiàn) [10];在進(jìn)行簡(jiǎn)單子句的歸結(jié)時(shí),必須進(jìn)行CYK 算法[13]的運(yùn)算,以識(shí)別符合文法G1(不包含規(guī)則L→CS)的簡(jiǎn)單子句;而這些規(guī)則卻不能直接進(jìn)行CYK算法運(yùn)算,必須將文法G1的所有規(guī)則轉(zhuǎn)化為滿足喬姆斯基范式的規(guī)則集合,經(jīng)過我們轉(zhuǎn)換后,新文法規(guī)則數(shù)量有236條之多,規(guī)則數(shù)量比較多,增加了計(jì)算復(fù)雜度。更加復(fù)雜的是,在歸結(jié)后,還需要驗(yàn)證新語(yǔ)句是否滿足文法G1,還要進(jìn)行一次CYK 算法的運(yùn)算。
為了簡(jiǎn)化語(yǔ)法分析過程,我們對(duì)文法G1進(jìn)行了簡(jiǎn)化。其思路如下所示。
表1 文法G1 的內(nèi)容
(1)忽略S、O 的區(qū)別,僅用一個(gè)文法符號(hào)R (后文稱為主題詞)表示這兩種情況;S 與O 在語(yǔ)義計(jì)算時(shí)加以區(qū)分;
(2)忽略L中AA、PD、AB的區(qū)別,僅用一個(gè)文法符號(hào)L;在語(yǔ)義計(jì)算時(shí),再對(duì)L進(jìn)行AA、PD、AB的劃分;
(3)將n、w、vad歸為一類,僅用一個(gè)文法符號(hào)w 表示這3種情況,在語(yǔ)義計(jì)算時(shí),再對(duì)其進(jìn)行區(qū)分;
(4)將wb、wm、we歸為一類,僅用一個(gè)文法符號(hào)wb表示這3種情況,并且僅使用1條文法規(guī)則 (L→wbw)來描述。
簡(jiǎn)化后的文法規(guī)則G2見表2。
表2 文法G2 的內(nèi)容
在CYK 算法計(jì)算前,需要把文法G2的所有規(guī)則轉(zhuǎn)化為滿足喬姆斯基范式的規(guī)則集合,經(jīng)過我們轉(zhuǎn)換后,新文法規(guī)則數(shù)量有55 條,下降約80%。因此可以有效地降低“語(yǔ)法分析”的計(jì)算復(fù)雜度。
依據(jù)文法G1進(jìn)行語(yǔ)義計(jì)算,從而進(jìn)行模型求解的方法有以下幾個(gè)步驟:
(1)簡(jiǎn)單子句歸結(jié)過程:找出語(yǔ)義相關(guān)度最佳的簡(jiǎn)單子句,反復(fù)歸結(jié),求出最佳歸結(jié)順序。在計(jì)算簡(jiǎn)單子句的最佳語(yǔ)義相關(guān)度的過程中,確定每個(gè)詞匯的最佳語(yǔ)義修飾目標(biāo)。具體內(nèi)容在文獻(xiàn) [10]中有詳細(xì)的論述。
(2)簡(jiǎn)單子句最佳內(nèi)部結(jié)構(gòu)的分析:先將簡(jiǎn)單子句轉(zhuǎn)化為簡(jiǎn)單語(yǔ)義單元,在用簡(jiǎn)單語(yǔ)義單元語(yǔ)義修飾關(guān)系圖模型進(jìn)行語(yǔ)法分析和語(yǔ)義消歧。具體內(nèi)容在文獻(xiàn) [12]中有詳細(xì)的論述。
依據(jù)文法G2進(jìn)行的語(yǔ)義計(jì)算時(shí),主要的步驟與上述的過程一致。這里不再引用。差別在于:文法G2將AA、PD、AB的劃分等內(nèi)容,放在 “語(yǔ)義分析”的過程中,用語(yǔ)義計(jì)算來代替語(yǔ)法分析。
對(duì)L進(jìn)行語(yǔ)義計(jì)算時(shí),需要根據(jù)語(yǔ)義邏輯,將L 劃分為AA、PD、AB等幾部分,劃分方法見表3 (句型中R、V的位置已選定)。
表3 L的劃分方法
例如,在語(yǔ)義計(jì)算時(shí),已經(jīng)確定簡(jiǎn)單子句的句型是CS→LRLRLVL,則根據(jù)語(yǔ)義邏輯,句型中第2個(gè)L就應(yīng)當(dāng)被劃分為如下的AA、PD、AB這3部分,并與其修飾的R 或V 組成一個(gè)整體,該整體被稱為 “簡(jiǎn)單語(yǔ)義單元”。簡(jiǎn)單語(yǔ)義單元的語(yǔ)法分析和語(yǔ)義消歧方法,在文獻(xiàn) [12]中有詳細(xì)的論述。
L的劃分方法如圖2所示。
圖2 L的劃分方法
對(duì)L (假定L包含p個(gè)詞)進(jìn)行AA\PD\AB的劃分時(shí),根據(jù)表3,其劃分位置有3種情況:
(1)無需劃分:當(dāng)L僅包含PD時(shí);
(2)一個(gè)劃分位置:L包含AA|PD或PD|AB時(shí),共有p+1個(gè)位置可供選擇,p+1種劃分方法;
(3)兩個(gè)劃分位置:L包含AA|PD|AB時(shí),共有p+1個(gè)位置可供選擇,有 (p+1)*p種劃分方法。
針對(duì)這多種劃分方法,用式 (1)算出幾部分的語(yǔ)義相關(guān)度的值,并求總和,選擇總和最佳的劃分方法即可。
本文的實(shí)驗(yàn)中,以Hownet作為詞匯語(yǔ)義計(jì)算時(shí)所依據(jù)的資源。選取200 個(gè)語(yǔ)句,依據(jù)文法G1和文法G2,分別進(jìn)行模型求解的對(duì)比實(shí)驗(yàn),具體情況如下 (實(shí)驗(yàn)環(huán)境為windows xp;CPU:Xeon E5-2403,2GHz;Mem:8G)。
根據(jù)語(yǔ)句的長(zhǎng)度 (按照詞匯個(gè)數(shù)計(jì)算)進(jìn)行分組,共分為8組,表4列出了依據(jù)文法G1和文法G2進(jìn)行模型求解所需的時(shí)間。
表4 兩個(gè)文法的求解時(shí)間對(duì)比
G2的平均用時(shí)/G1的平均用時(shí)如圖3所示。
圖3 G2 的平均用時(shí)/G1 的平均用時(shí)
顯然,語(yǔ)句的長(zhǎng)度越長(zhǎng),包含的簡(jiǎn)單子句也越多,求解時(shí)所需的時(shí)間也越長(zhǎng),文法G2的時(shí)間效率也越高。
在正確率對(duì)比實(shí)驗(yàn)中,有以下幾類情況,如表5所示:
(1)SVO 選擇的正確率 (包括簡(jiǎn)單子句內(nèi)的SVO 選擇),其對(duì)比如圖4所示;
(2)簡(jiǎn)單子句所轄范圍的正確率,其對(duì)比如圖5所示;
(3)簡(jiǎn)單子句歸結(jié)順序的正確率,其對(duì)比如圖6所示;
(4)L中AA|PD|AB劃分的正確率,其對(duì)比如圖7所示;
(5)所求出的語(yǔ)義修飾目標(biāo)的正確率,其對(duì)比如圖8所示。
表5 正確率對(duì)比情況/%
圖4 SVO 的正確率對(duì)比
圖5 簡(jiǎn)單子句范圍的正確率對(duì)比
圖6 簡(jiǎn)單子句歸結(jié)順序的正確率對(duì)比
圖7 L劃分的正確率對(duì)比
圖8 語(yǔ)義修飾目標(biāo)的正確率對(duì)比
從實(shí)驗(yàn)情況可以看出,文法G2的求解過程相對(duì)于文法G1,有以下幾個(gè)特點(diǎn):
(1)時(shí)間效率得到了較大程度的提升;
(2)各項(xiàng)正確率均有所下降,但下降程度并不大;其主要原因在于文法G2的規(guī)則被大幅精簡(jiǎn),語(yǔ)法描述的準(zhǔn)確性下降,導(dǎo)致語(yǔ)法分析階段的準(zhǔn)確度下降,后期的語(yǔ)義計(jì)算,并不能完全彌補(bǔ) “語(yǔ)法分析精度下降”的損失;
(3)綜合來看,依據(jù)文法G2進(jìn)行模型求解,是一種“準(zhǔn)確度損失”不大、更為快捷、效率更高的語(yǔ)義計(jì)算方法。
本文構(gòu)造了一個(gè)更為簡(jiǎn)潔的文法規(guī)則,依據(jù)該文法規(guī)則,可以進(jìn)行語(yǔ)義計(jì)算和語(yǔ)義模型求解;通過實(shí)驗(yàn),比較簡(jiǎn)化前后兩個(gè)文法的計(jì)算效果;探索文法化簡(jiǎn)的方法和思路,研究在文法化簡(jiǎn)過程中,文法化簡(jiǎn)與 “降低時(shí)間復(fù)雜度”和 “準(zhǔn)確度下降”等問題之間的關(guān)系,為構(gòu)造出更簡(jiǎn)單的文法和更快捷的模型求解方法做了探索。但在論文的研究中,實(shí)驗(yàn)數(shù)據(jù)量較小,語(yǔ)義計(jì)算時(shí)所依據(jù)的詞匯語(yǔ)義庫(kù)的語(yǔ)義信息還不夠細(xì)致,不能夠完全滿足語(yǔ)義計(jì)算的需要,下一步研究中,需要增加實(shí)驗(yàn)數(shù)據(jù),構(gòu)建語(yǔ)義信息更準(zhǔn)確、語(yǔ)義粒度更小的詞匯語(yǔ)義庫(kù)作為語(yǔ)義計(jì)算的依據(jù)。
[1]Alexander B,Graeme H.Evaluating wordnet based measures of lexical semantic relatedness[J].Computations Linguistics,2009,32 (1):13-47.
[2]SUN Chenchen,SHEN Derong,SHAN Jing,et al.WSR:A semantic relatedness measure based on wikipedia structure[J].Chinese Journal of Computers,2012,35 (1):2361-2370 (in Chinese).[孫琛琛,申德榮,單菁,等.WSR:一種基于維基百科結(jié)構(gòu)信息的語(yǔ)義關(guān)聯(lián)度計(jì)算算法 [J].計(jì)算機(jī)學(xué)報(bào),2012,35 (1):2361-2370.]
[3]Milne D,WittenI H.An effective,low-cost measure of semantic relatedness obtained from Wikipedia links [C]//Proceedings of the 23th Association for the Advancement of Artificial Intelligence,2008:25-30.
[4]ZHONG Maosheng,LIU Hui,LIU Lei,et al.Method of semantic relevance relation measurement between words[J].Journal of Chinese Information Processing,2009,23 (2):115-122 (in Chinese).[鐘茂生,劉慧,劉磊,等.詞匯間語(yǔ)義相關(guān)關(guān)系量化計(jì)算方法[J].中文信息學(xué)報(bào),2009,23 (2):115-122.]
[5]Mohamed AHT,Mohamed BA,Abdelmajid BH.A new semantic relatedness measurement using WordNet features [J].Knowledge and Information Systems,2013 (8):1-31.
[6]Felice Ferrara,Carlo Tasso.Evaluating the results of methods for computing semantic relatedness [C]//14th International Conference on Intelligent Text Processing and Computational Linguistics,2013:447-458.
[7]LIU Pengyuan,ZHAO Tiejun.Unsupervised translation disambiguation by using semantic dictionary and mining language model from Web [J].Journal of Software,2009,20 (5):1292-1300 (in Chinese). [劉鵬遠(yuǎn),趙鐵軍.利用語(yǔ)義詞典Web挖掘語(yǔ)言模型的無指導(dǎo)譯文消歧 [J].軟件學(xué)報(bào),2009,20 (5):1292-1300.]
[8]YANG Min,CHANG Baobao.Semantic role classification based on Peking university Chinese NetBank [J].Journal of Chinese Information Processing,2011,25 (6):3-8 (in Chinese).[楊敏,常寶寶.基于北京大學(xué)中文網(wǎng)庫(kù)的語(yǔ)義角色分類 [J].中文信息學(xué)報(bào),2011,25 (6):3-8.]
[9]WANG Xin,SUN Weiwei,SUI Zhifang.Research on Chinese semantic role labeling based on shallow parsing [J].Journal of Chinese Information Processing,2011,25 (1):116-121 (in Chinese).[王鑫,孫薇薇,穗志方.基于淺層句法分析的中文語(yǔ)義角色標(biāo)注研究 [J].中文信息學(xué)報(bào),2011,25 (1):116-121.]
[10]LIU Yuntong,LIANG Yanjun.K-pruning algorithm for semantic relevancy calculating model of natural language [J].Computer Engineering and Design,2013,34 (8):2939-2943(in Chinese).[劉運(yùn)通,梁燕軍.自然語(yǔ)言語(yǔ)義相關(guān)度計(jì)算模型的k 枝剪求解法 [J].計(jì)算機(jī)工程與設(shè)計(jì),2013,34(8):2939-2943.]
[11]LIU Yuntong,XIONG Jing.An algorithm for parsing the simple semantic units based on the semantic relevancies [J].International Journal of Applied Mathematics and Statistics,2013,47 (17):372-379.
[12]LIU Yuntong,SUN Hua.Word sense disambiguation for the simple semantic units based on dynamic programming [J].Computer Engineering and Design,2014,35 (4):1480-1485(in Chinese).[劉運(yùn)通,孫華.基于動(dòng)態(tài)規(guī)劃的簡(jiǎn)單語(yǔ)義單元詞義消歧 [J].計(jì)算機(jī)工程與設(shè)計(jì),2014,35 (4):1480-1485.]
[13]LI Yongliang,HUANG Shuguang,LI Yongcheng,et al.Improved CYK algorithm based on shallow parsing [J].Journal of Computer Applications,2011,31 (5):1335-1338 (in Chinese).[李永亮,黃曙光,李永成,等.基于淺層剖析的CYK 改進(jìn)算法 [J]. 計(jì)算機(jī)應(yīng)用,2011,31 (5):1335-1338.]