張?jiān)葡? 饒竹一
摘 要:依存句法分析是分析句子各個(gè)成分之間相互支配與被支配關(guān)系,反映的是句子各成分的語(yǔ)義修飾關(guān)系。本文通過(guò)對(duì)句子中干擾成分過(guò)濾和專有名詞進(jìn)行替換技術(shù)來(lái)提升依存句法分析的準(zhǔn)確率,然后對(duì)依存句法結(jié)構(gòu)進(jìn)行抽取與調(diào)整,并引入基本語(yǔ)義判別模型抽取句子的基本語(yǔ)義結(jié)構(gòu),通過(guò)基本語(yǔ)義結(jié)構(gòu)的各個(gè)修飾成分進(jìn)行調(diào)整得到句子的首層語(yǔ)義結(jié)構(gòu),然后利用首層語(yǔ)義結(jié)構(gòu)中的每個(gè)詞的修飾成分遞歸對(duì)句子所有成分進(jìn)行調(diào)整,從而得到整個(gè)句子的語(yǔ)義層次結(jié)構(gòu)。得到了句子的首層語(yǔ)義結(jié)構(gòu)與嵌套語(yǔ)義結(jié)構(gòu),便可以從各個(gè)層次分析句子蘊(yùn)含的語(yǔ)義,為準(zhǔn)確的把握用戶表達(dá)的需求,理解用戶的真實(shí)意圖打下扎實(shí)的基礎(chǔ)。
關(guān)鍵詞:語(yǔ)義分析;依存分析;專有名詞替換;首層語(yǔ)義;嵌套語(yǔ)義;語(yǔ)義層次;
引言
語(yǔ)義指語(yǔ)句包含的概念和意義,語(yǔ)義不僅表述事物的本質(zhì),還表述事物之間的因果、施事和邏輯關(guān)系。語(yǔ)義層次指的是語(yǔ)句中語(yǔ)義的嵌套關(guān)系和修飾關(guān)系。句子語(yǔ)義層次識(shí)別是發(fā)現(xiàn)句子的基本含義和嵌套語(yǔ)義的過(guò)程。通過(guò)句子語(yǔ)義層次識(shí)別能夠讓機(jī)器清楚的知道用戶各層次的語(yǔ)義關(guān)系,從而準(zhǔn)確的把握用戶的需求,更加透徹的理解用戶的真實(shí)需求。
目前國(guó)內(nèi)外針對(duì)語(yǔ)義分析的研究方法大致可以分為:基于詞語(yǔ)語(yǔ)義知識(shí)規(guī)則(如語(yǔ)義詞典、語(yǔ)言知識(shí)庫(kù)、本體庫(kù)等)的語(yǔ)義分析、基于統(tǒng)計(jì)的語(yǔ)義分析和基于機(jī)器學(xué)習(xí)的語(yǔ)義分析以及多種方法結(jié)合的分析方法。文獻(xiàn)[1]和文獻(xiàn)[2]是基于統(tǒng)計(jì)的思路分析文本表達(dá)的語(yǔ)義信息。此外董振東構(gòu)建的知網(wǎng)知識(shí)庫(kù)[ ],是一個(gè)以漢語(yǔ)和英語(yǔ)的詞語(yǔ)所代表的概念為描述對(duì)象,以揭示概念與概念之間以及概念所具有的屬性之間的關(guān)系為基本內(nèi)容的常識(shí)知識(shí)庫(kù)。國(guó)外經(jīng)典的框架語(yǔ)義學(xué) [9]是美國(guó)菲爾墨提出的一種經(jīng)驗(yàn)主義語(yǔ)義學(xué),它提供了描寫(xiě)詞語(yǔ)意義和語(yǔ)法結(jié)構(gòu)意義的一種途徑。
雖然目前語(yǔ)義分析技術(shù)較多,但是幾乎都是針對(duì)句子的語(yǔ)法成分或句法結(jié)構(gòu) [6]進(jìn)行分析,對(duì)于嵌套句或復(fù)雜語(yǔ)句結(jié)構(gòu)的理解存在一定的缺陷。因此準(zhǔn)確的獲取句子的語(yǔ)義層次具有重要的研究意義。本文一方面利用干擾詞過(guò)濾和專有名詞替換方法來(lái)處理句子中的特殊符號(hào)從而提升依存分析的準(zhǔn)確率,另一方面基于依存分析得到的依存句法結(jié)構(gòu),對(duì)其進(jìn)行抽取與調(diào)整,得到句子的語(yǔ)義層次結(jié)構(gòu)。語(yǔ)義層次結(jié)構(gòu)反映了句子各個(gè)層次的語(yǔ)義成分組成方式,能夠準(zhǔn)確的把握句子的各層次語(yǔ)義和真實(shí)意圖。
1.語(yǔ)義層次識(shí)別系統(tǒng)介紹
語(yǔ)義層次識(shí)別整體流程如圖1所示,在進(jìn)行依存分析前,首先對(duì)句子進(jìn)行干擾成分過(guò)濾和專有名詞替換的預(yù)處理操作,排除進(jìn)行依存分析時(shí)受到句子中特殊字符和數(shù)字的干擾導(dǎo)致依存句法結(jié)構(gòu)錯(cuò)誤,從而提升依存分析的準(zhǔn)確率。在得到句子依存句法結(jié)構(gòu)后結(jié)合訓(xùn)練得到的基本語(yǔ)義判別模型提取句子的首層語(yǔ)義結(jié)構(gòu),再對(duì)首層語(yǔ)義中每個(gè)節(jié)點(diǎn)的修飾成分進(jìn)行抽取與調(diào)整,得到節(jié)點(diǎn)與修飾關(guān)系之間的語(yǔ)義層次關(guān)系,再對(duì)每個(gè)子節(jié)點(diǎn)抽取其修飾成分并遞歸進(jìn)行調(diào)整,直到句子中所有節(jié)點(diǎn)都處理完畢為止,這樣便得到句子的語(yǔ)義層次結(jié)構(gòu),也得到句子的首層語(yǔ)義結(jié)構(gòu)和嵌套語(yǔ)義結(jié)構(gòu)。
1.1術(shù)語(yǔ)定義
① 基本語(yǔ)義:指不包括嵌套成分和修飾成分的簡(jiǎn)單句。
② 專有名詞:指具有典型規(guī)則的英文符號(hào)或數(shù)字組成的實(shí)體名詞,如身份證號(hào)、網(wǎng)址、郵箱、IP地址等。
③ 核心節(jié)點(diǎn):指依存關(guān)系中的核心關(guān)系所代表的詞語(yǔ)。
④ 關(guān)鍵節(jié)點(diǎn):指當(dāng)前語(yǔ)義層次中基本語(yǔ)義結(jié)構(gòu)中包含的節(jié)點(diǎn),不包括通過(guò)依存關(guān)系調(diào)整層次后上移的節(jié)點(diǎn)。
⑤ 父節(jié)點(diǎn):指當(dāng)前詞語(yǔ)的依存關(guān)系指向的詞語(yǔ)。
⑥ 子節(jié)點(diǎn):指依存關(guān)系中所有指向當(dāng)前詞語(yǔ)的詞語(yǔ)。
1.2 預(yù)處理模塊
本文提出一種對(duì)句子干擾成分過(guò)濾和句子專有名詞進(jìn)行替換的預(yù)處理技術(shù)來(lái)提升依存分析的準(zhǔn)確率,首先利用專有名詞規(guī)則庫(kù)(專有名詞規(guī)則庫(kù)是事先整理好的關(guān)于各種類型專有名詞的匹配規(guī)則)對(duì)句子進(jìn)行掃描,提取出句子中包含的各類型專有名詞成分,然后對(duì)句子中的干擾符號(hào)(通過(guò)干擾符號(hào)庫(kù)識(shí)別)進(jìn)行過(guò)濾。具體步驟如下:
a.掃描句子中每個(gè)字符判斷是否是干擾成分(干擾成分通常指表情符號(hào),無(wú)意義的符號(hào),通過(guò)干擾符號(hào)表來(lái)進(jìn)行匹配識(shí)別);
b.將句子中掃描出的干擾成分進(jìn)行刪除;
c.利用專有名詞識(shí)別規(guī)則對(duì)句子中的專有名詞進(jìn)行識(shí)別;
d.將句子中的專有名詞替換為專有名詞類型名;
e.通過(guò)專有名詞在句子中的前后詞判斷替換后的句子結(jié)構(gòu)是否存在歧義;
f.若替換后的句子存在歧義,則還原成刪除干擾成分后的結(jié)構(gòu);
1.3 基本語(yǔ)義判別模型
本文采用SVM分類器來(lái)對(duì)句子中每個(gè)詞是否屬于基本語(yǔ)義進(jìn)行判斷,以詞的詞性以及依存關(guān)系和子節(jié)點(diǎn)依存關(guān)系構(gòu)成輸入向量,通過(guò)訓(xùn)練用例對(duì)句子基本語(yǔ)義結(jié)構(gòu)進(jìn)行學(xué)習(xí),得到基本語(yǔ)義判別模型,主要流程如圖2所示。具體步驟如下:
a.對(duì)訓(xùn)練用例進(jìn)行依存分析得到依存句法結(jié)構(gòu);
b.將訓(xùn)練用例中每個(gè)詞的詞性和依存關(guān)系以及子節(jié)點(diǎn)依存關(guān)系構(gòu)成輸入向量
c.利用SVM分類器(也就是本發(fā)明中基本語(yǔ)義判別模型所使用的分類器)對(duì)輸入向量進(jìn)行訓(xùn)練學(xué)習(xí);
d.對(duì)得到的判別模型進(jìn)行測(cè)試、調(diào)優(yōu);
e.得到判斷句子中每個(gè)詞是否是基本語(yǔ)義的判別模型。
1.4 首層語(yǔ)義抽取模塊
首層語(yǔ)義是句子的主要含義表現(xiàn),因此即要準(zhǔn)確的獲取關(guān)鍵詞語(yǔ)又要保留特定的表達(dá)方式才能準(zhǔn)確的反映句子的含義。本文首層語(yǔ)義抽取流程如圖3所示,通過(guò)依存句法結(jié)構(gòu)和基本語(yǔ)義判別模型抽取句子的基本語(yǔ)義結(jié)構(gòu),再對(duì)基本語(yǔ)義結(jié)構(gòu)中的詞提取其子節(jié)點(diǎn),并根據(jù)子節(jié)點(diǎn)詞性和節(jié)點(diǎn)間的依存關(guān)系對(duì)句子語(yǔ)義結(jié)構(gòu)進(jìn)行調(diào)整,進(jìn)而得到句子的首層語(yǔ)義結(jié)構(gòu)。具體步驟如下:
a.遍歷整個(gè)句子的依存句法結(jié)構(gòu),抽取首層語(yǔ)義中每個(gè)節(jié)點(diǎn)的子節(jié)點(diǎn)。
b.若首層語(yǔ)義中的節(jié)點(diǎn)有子節(jié)點(diǎn)則繼續(xù)下面的步驟,若沒(méi)有子節(jié)點(diǎn),則設(shè)為葉子節(jié)點(diǎn)。
c.對(duì)子節(jié)點(diǎn)詞性進(jìn)行判斷,若為疑問(wèn)詞則節(jié)點(diǎn)上移一層,若為介詞,且介詞的介賓結(jié)構(gòu)不做狀語(yǔ),則該節(jié)點(diǎn)上移一層,并保持原句子順序不變
d.對(duì)子節(jié)點(diǎn)依存關(guān)系進(jìn)行判斷,若為定中關(guān)系且兩個(gè)節(jié)點(diǎn)在原句中連續(xù)(即定語(yǔ)詞和定語(yǔ)修飾的詞中間不包含其它詞),則進(jìn)行合并,若不連續(xù),則需根據(jù)不連續(xù)的原因判斷是否合并,若由于多個(gè)定中子節(jié)點(diǎn)導(dǎo)致不連續(xù)或者定中嵌套狀中導(dǎo)致不連續(xù)則合并,反之不合并。若為右附加關(guān)系,則節(jié)點(diǎn)上移。
1.5 遞歸調(diào)整模塊
遞歸調(diào)整模塊是在首層語(yǔ)義的基礎(chǔ)上對(duì)首層語(yǔ)義的各個(gè)修飾成分進(jìn)行分析和調(diào)整,從而得到整個(gè)句子的語(yǔ)義層次的過(guò)程,遞歸調(diào)整模塊流程如圖4所示。首先對(duì)首層語(yǔ)義中的非關(guān)鍵節(jié)點(diǎn)的子節(jié)點(diǎn)的修飾成分直接按從右到左的順序?qū)哟握归_(kāi),而對(duì)關(guān)鍵節(jié)點(diǎn)的子節(jié)點(diǎn)結(jié)構(gòu)進(jìn)行子句判斷,若子節(jié)點(diǎn)構(gòu)成嵌套子句,則以該子句為基本語(yǔ)義進(jìn)行上述第3步操作,若不構(gòu)成子句,若有子節(jié)點(diǎn),則對(duì)子節(jié)點(diǎn)結(jié)構(gòu)進(jìn)行調(diào)整,若沒(méi)有子節(jié)點(diǎn),則設(shè)為葉子節(jié)點(diǎn)。對(duì)所有的子節(jié)點(diǎn)遞歸進(jìn)行同樣的處理,直到句子所有成分都處理完成為止。
2.實(shí)驗(yàn)結(jié)果與分析
本文用500句不同數(shù)據(jù)源的測(cè)試語(yǔ)句進(jìn)行測(cè)試,其中聊天語(yǔ)句200句、新聞中的語(yǔ)句200句、經(jīng)典文獻(xiàn)中的語(yǔ)句100句。對(duì)測(cè)試語(yǔ)句進(jìn)行基于依存分析的語(yǔ)義層次識(shí)別方法后得到句子的語(yǔ)義層次,然后由人工審核測(cè)試效果。測(cè)試結(jié)果如表1-3所示
從上面三個(gè)表格可以看出新聞和文獻(xiàn)的準(zhǔn)確率要比聊天語(yǔ)句的準(zhǔn)確率明顯要高,通過(guò)分析得到,這是由于新聞和文獻(xiàn)的表達(dá)較規(guī)范,進(jìn)行依存分析得到的依存句法結(jié)構(gòu)準(zhǔn)確率明顯要高。此外通過(guò)排除依存分析錯(cuò)誤干擾的情況下,準(zhǔn)確率都達(dá)到了96%以上,說(shuō)明大部分的錯(cuò)誤都是來(lái)自于依存分析出錯(cuò)的影響,因此只要提升依存分析的準(zhǔn)確率就可以明顯提升語(yǔ)義層次識(shí)別的準(zhǔn)確率。
3.結(jié)論
本文采用干擾符號(hào)過(guò)濾和專有名詞替換的方法來(lái)改進(jìn)依存分析對(duì)特殊符號(hào)效果不好的影響,并在依存分析的基礎(chǔ)通過(guò)對(duì)依存句法結(jié)構(gòu)進(jìn)行首次語(yǔ)義抽取和遞歸調(diào)整策略得到句子的語(yǔ)義層次結(jié)構(gòu)。實(shí)驗(yàn)證明,在不同數(shù)據(jù)源的測(cè)試語(yǔ)句進(jìn)行測(cè)試均取得較好的效果。
由于時(shí)間以及實(shí)驗(yàn)環(huán)境的限制,本文提出的語(yǔ)義層次識(shí)別方法還有改進(jìn)的地方,大規(guī)模測(cè)試數(shù)據(jù)的驗(yàn)證還需要一個(gè)過(guò)程。因此本文的后續(xù)工作還包括:尋找更準(zhǔn)確的依存分析算法作為技術(shù)支持或?qū)ふ倚碌木浞ǚ治霾呗?,?yōu)化遞歸調(diào)整策略,構(gòu)建自動(dòng)校驗(yàn)的機(jī)制并收集整理大規(guī)模的樣本數(shù)據(jù)。
參考文獻(xiàn):
[1] 李世齊.面向文景轉(zhuǎn)換的中文淺層語(yǔ)義分析方法研究[D].哈爾濱:哈爾濱工業(yè)大學(xué),2011.
[3] 李軍輝.中文句法語(yǔ)義分析及其聯(lián)合學(xué)習(xí)機(jī)制研究[D].蘇州:蘇州大學(xué),2010.
[4] NirenburgS,Raskin V. Ontological semantics [M].Cambridge: MIT Press,2004.
[5] 董振東.語(yǔ)義關(guān)系的表達(dá)和知識(shí)系統(tǒng)的構(gòu)造 [J].語(yǔ)言文字應(yīng)用,1998 (3):76-82.
[6] 李正華.依存句法分析統(tǒng)計(jì)模型及樹(shù)庫(kù)轉(zhuǎn)化研究 [D].碩士學(xué)位論文.哈爾濱工業(yè)大學(xué).2008.
[9] Fillmore C J. Frames and semantics of understanding [J]. Quaderni di Semantica, 1985,6(2):222-254.
[10] 付國(guó)宏. 漢語(yǔ)句法歧義消解的統(tǒng)計(jì)方法研究. 哈爾濱工業(yè)大學(xué)博士論文,2001.
[11] 趙軍,黃昌寧. 漢語(yǔ)基本名詞短語(yǔ)結(jié)構(gòu)分析模型. 計(jì)算機(jī)學(xué)報(bào),1999;22(2):136-141.
[12] 周強(qiáng),黃昌寧. 基于局部?jī)?yōu)化的漢語(yǔ)句法分析方法.軟件學(xué)報(bào),1999;10(1):4-6.
[13] 徐艷華. 現(xiàn)代漢語(yǔ)實(shí)詞語(yǔ)法功能考察及詞類體系重構(gòu) [D]. 南京:南京師范大學(xué),2006.