黃明,王慧,梁旭
(大連交通大學(xué) 軟件學(xué)院,遼寧 大連 116028)
對中文信息進(jìn)行處理,要理解中文信息所要表達(dá)什么意思是最關(guān)鍵的,語義句法分析是解決這個(gè)問題的一個(gè)好的方法,語義句法分析是信息處理的前提,必要條件,同時(shí)也是最重要的環(huán)節(jié),對漢語的理解很到位,以后利用理解的關(guān)鍵字來處理相似度的查詢,這樣利用已分析好的關(guān)鍵字來查找也是準(zhǔn)確的,若是對漢語的理解不充分的話,之后得到的關(guān)鍵字都是不充分的,就算以后采用更精準(zhǔn)的形似度算法也是不完善的.所以理解漢語的語義是做一切后續(xù)工作的前提.由于漢語自然語言的特殊性,中文內(nèi)容的字與詞的區(qū)分不明顯,由于分詞的位置不同,容易造成歧義的產(chǎn)出,中文正因?yàn)橛羞@樣的問題,所以對中文準(zhǔn)確的分析是有難度的,要更好更準(zhǔn)確的理解中文語句,對整句話進(jìn)行理解,語義句法分詞是中文自然語言處理的關(guān)鍵階段.
在理解自然語言方面,問句給出一句話,對整個(gè)語義的把握很重要,比如說中文的表達(dá)方式很多,句子意思是相同的兩句話,在用了不同的表達(dá)方式后,經(jīng)過分詞方法的處理,得到了不同的關(guān)鍵字,使得不能充分的理解,在理解語義的同時(shí),為了更好的把握整個(gè)問句的結(jié)構(gòu),需要掌握中文問句的組織結(jié)構(gòu),基于此,對于中文語言進(jìn)行了總結(jié),看看問句都采用了什么結(jié)構(gòu),也就是句法分析,只有在問句的語義加上問句的句法綜合處理上,才能夠更準(zhǔn)確的理解漢語問句.本文基于漢語語言問句的語義的分析加上句子語法的融合,通過用最大熵算法的學(xué)習(xí),使對漢語的理解達(dá)到最優(yōu),應(yīng)用在陪護(hù)機(jī)器人中,對于老人的健康提問,機(jī)器人需要接受其問句,理解問句的語義,對問句進(jìn)行處理,找出老人提問的核心詞,通過查找理解老人問句語義和搜索問句句法相結(jié)合的方法,更充分的理解老人的提問,準(zhǔn)確的搜索答案反饋給老人,此方法在實(shí)驗(yàn)驗(yàn)證中提高了回答問題的準(zhǔn)確率.
熵值是表示一種混亂程度的狀態(tài),最大熵也是在一種極混亂的狀態(tài)下,這樣使概率達(dá)到均衡,尋求最大值,最大熵模型方法在確定句法結(jié)構(gòu)以及詞性標(biāo)識方面已有了一定的研究[3-6].最大熵是一種基于概率統(tǒng)計(jì)的學(xué)習(xí)方法,是運(yùn)用在隨即概率事件中,首先需要對待學(xué)習(xí)數(shù)據(jù)進(jìn)行訓(xùn)練學(xué)習(xí),形成一種規(guī)則模式,再用學(xué)習(xí)之后形成的模式來分析現(xiàn)實(shí)生活中自然語言,來分析句子的成分,描述該句子成分的復(fù)雜程度.本文針對日常生活的對話內(nèi)容用最大熵模型進(jìn)行學(xué)習(xí),找出其中的規(guī)律,之后對問句采用基于語義理解向量弧和句法分析語法樹相結(jié)合的分析方法,抽取問題的特征類型及關(guān)鍵字,最后用最大熵模型的方法進(jìn)行優(yōu)化,解決了面向?qū)嶋H問題的語義分析[7].
舉個(gè)例子說明理解中文需要從理解文字語義開始,如“我愛吃土豆”和“我喜歡吃馬鈴薯”,其實(shí)這兩句話都表達(dá)了喜歡吃馬鈴薯的這個(gè)事實(shí),就是表達(dá)的方式不同罷了,從表面上看兩句話的確不一樣,經(jīng)過分詞處理后得到的詞也是不同的,但是從整體理解句子意思的角度來分析,這兩個(gè)句子所表達(dá)的意思是相同的,因?yàn)椤巴炼埂焙汀榜R鈴薯”在實(shí)體上是一個(gè)東西,只是說法不同,像這樣句子中有同義詞的問句,在實(shí)際分析中沒有考慮到語義分析,不能從深層理解上挖掘句子的意思.另外,由于漢語的廣博,句子的結(jié)構(gòu)成分也是多樣化的,要透徹理解一個(gè)句子所要表達(dá)的內(nèi)容,不僅要注重理解句子的語義,還要結(jié)合問句語法結(jié)構(gòu),只有將兩者完美的結(jié)合,才能更好更快更精準(zhǔn)的理解一個(gè)問句.本文采用了漢語問句語義依存向量弧和依存句法結(jié)構(gòu)語法樹相結(jié)合的方法,更加全面準(zhǔn)確的理解問句語義.
依存文法描述句子里有兩種成分中心詞和依存詞,他們之間構(gòu)成一種依存關(guān)系,依存詞依賴著中心詞,中心詞與依存詞之間用一個(gè)弧相連,弧頭指向的是中心詞,弧尾那端是依存詞[9].圖1為“糖尿病的嚴(yán)重癥狀是什么”依存關(guān)系分析結(jié)果.圖中有弧相連就說明兩個(gè)詞有依存關(guān)系.弧上的字母注釋代表著依存關(guān)系的結(jié)構(gòu)類型,分別是:de代表弧中有“的”字的結(jié)構(gòu),att代表定語的修飾結(jié)構(gòu),sub抓取的是句子的主語成分,cet是句子的謂語,是句子的中心支撐,obj代表句子的賓語成分,特定字符〈E〉與句子的中心成分相關(guān)聯(lián),通過這樣的表示,直接通過sbj、cet、obj可以找到句子的主要成分.“糖尿病”和“的”相連,“糖尿病”依存于“的”,“的”和“癥狀”相連,“的”依存于“癥狀”.在問句的分析過程中[10-12],確定問句的特征類型是極其重要的,根據(jù)問句的語義,提取關(guān)鍵字,對關(guān)鍵字進(jìn)行分析,找出決定關(guān)鍵語義的詞語,確定問句的問句類型,這樣分析問句在搜索答案時(shí),能夠直接搜索類型相關(guān)的答案,縮短了搜索時(shí)間,增加了準(zhǔn)確率.本文利用依存結(jié)構(gòu)來提取問題分類的特征,首先分析問句中每個(gè)詞之間的依存關(guān)系,去掉無作用詞語,選擇問句中關(guān)鍵語義的詞作為特征詞.問句“糖尿病的嚴(yán)重癥狀是什么”,其中“糖尿病”、“的”、“嚴(yán)重”都是“癥狀”的修飾成分,通過本文的方法降噪后獲得語義特征為“癥狀是什么”,該查找范圍是醫(yī)療方面的知識,提高了回答問題的準(zhǔn)確率及查找答案的速率.
提取語義分類特征有如下步驟:
(1)找疑問詞
生活中有很多疑問詞,經(jīng)過總結(jié)把這些疑問詞做成表,以便確定句中的疑問詞是否在表中.“糖尿病的嚴(yán)重癥狀是什么”,經(jīng)過分詞得到“糖尿病”、“的”、“嚴(yán)重”、“癥狀”、“是”、“什么”,之后通過查找疑問詞表,查找到“什么”是疑問詞.
(2)對問句進(jìn)行句法分析
分詞后要研究各個(gè)詞之間的依存關(guān)系,以及標(biāo)注好它們之間的關(guān)系類型.“糖尿病的嚴(yán)重癥狀是什么”,句法分析結(jié)果如圖1.
圖1 問句的依存關(guān)系分析結(jié)果
(3)確定問題分類及特征
根據(jù)第二步,已經(jīng)很清晰的看出句子的依存關(guān)系,根據(jù)依存關(guān)系,能夠找到句子的主干,加上依存疑問詞的成分就能夠確定句子的問題類型,這樣做能夠去掉很多冗余.算法的思想是通過依存向量弧的分析,能夠找出句子的主(S)謂(CE)賓(O)結(jié)構(gòu),設(shè)問句里存在疑問詞C,通過查找,就可以查找到與C有依存關(guān)系的詞D,則S、CE、O、C、D的組合就是這個(gè)問句的問題分類特征,特殊情況下,若C和查找到的D已經(jīng)是句子主干的子集,則只需取其中的一個(gè)(如D)作為分類的特征,則提取的特征為S、CE、O、D.對于“糖尿病的嚴(yán)重癥狀是什么”,“是”為謂語中心詞(CE),“癥狀”依存于“是”,是主語,“什么”也同樣依存于“是”,是賓語(O),所以句子主干為:“癥狀是什么”,由于疑問詞“什么”既是句子的賓語,同時(shí)也是依附成分,所以取其中一個(gè)即可,最終提取問題分類特征為“癥狀是什么”.
通過以上三個(gè)步驟,能夠簡潔的提取問句的分類特征,減少影響問題分類噪音冗余,能夠準(zhǔn)確的在問題分類的相關(guān)領(lǐng)域內(nèi)進(jìn)行問句答案的搜索.該方法提高問題分類的準(zhǔn)確度.
通過面向自然語言的語法樹結(jié)構(gòu)[13]方法,能夠更加透徹的了解一個(gè)問句的句法結(jié)構(gòu).下面就來研究一下句子的結(jié)構(gòu),一個(gè)句子一定是由名詞短語(NP)和動(dòng)詞短語(VP)構(gòu)成,一個(gè)問句一定是有主語的,不管主語是名詞(n)、代詞(r)還是數(shù)詞(m)、量詞(q),都要描述主語做了什么,而做了什么即是動(dòng)詞短語部分,強(qiáng)調(diào)進(jìn)行了什么動(dòng)作,或者進(jìn)行一段描述,將這樣的文法需要描述成一組符號,讓計(jì)算機(jī)能夠識別,這就是上下文無關(guān)文法.下面我們就用這個(gè)規(guī)則來分析“醫(yī)生解除老人一身病痛”這個(gè)問句的語法樹結(jié)構(gòu),用一棵“樹”型結(jié)構(gòu)來體現(xiàn)問句的結(jié)構(gòu) (圖2),其中多孩子箭頭代表著一種組合關(guān)系,單箭頭代表著對應(yīng)關(guān)系,其中MP是數(shù)詞短語,由數(shù)詞和量詞組成,另外,VP=v+NP+NP這里面v后面還有兩個(gè)NP,就說明了動(dòng)詞后面有兩個(gè)名詞短語,這時(shí)動(dòng)詞后面的兩個(gè)詞稱為“雙賓語動(dòng)詞”,用(雙賓=“雙”)表示,也可以一個(gè),看具體的問句分解為語法樹后的情況而定,雙賓語只是語法結(jié)構(gòu)的一種形態(tài).語法樹的結(jié)構(gòu)清晰,為理解問句語法結(jié)構(gòu)起到了一定的作用.所以理解自然語言的語義,需要將語義分析與句法分析相結(jié)合,本文就是將基于語義依存向量弧與面向自然語言的語法樹相結(jié)合,更能夠準(zhǔn)確的理解問句的語義.
圖2 問句的語法“樹”表示
最大熵模型[14]主要應(yīng)用在預(yù)測隨機(jī)概率事件的分布,是一種基于統(tǒng)計(jì)的學(xué)習(xí)模型方法,在全部概率條件已知的情況下,絕不帶有任何主觀假設(shè)的成分,對隨機(jī)概率事件進(jìn)行分析,隨機(jī)概率事件分布均勻,更有利于預(yù)測,這時(shí)求得的熵值最大時(shí)的概率分布就可以作為正確的概率分布模型.所以最大熵模型是很客觀的智能的概率分布模型,很適合解決問題分類這一方面的問題.最大熵模型以每次分詞后形成的詞作為一個(gè)獨(dú)立的事件,選取數(shù)據(jù)進(jìn)行單獨(dú)訓(xùn)練.假設(shè)分詞后存在m個(gè)分詞f1,…,fm,每個(gè)分詞分別對應(yīng)m個(gè)約束條件,進(jìn)行訓(xùn)練后,滿足約束條件得到的模型為:
在上述集合中,選取熵值最大的模型即為所求的模型:
滿足所求模型的解如下:
其中,Z(x)是因子系數(shù);μ為權(quán)重參數(shù).這樣轉(zhuǎn)化后,根據(jù)訓(xùn)練數(shù)據(jù)求解參數(shù)μ即為解決最大熵模型的建模問題.由問句語義分析和句型語法樹的結(jié)合充分理解問句語義的前提下,得到的優(yōu)的化分詞方法,這時(shí)最大熵模型把分詞結(jié)果作為其訓(xùn)練依據(jù),在隨機(jī)概率事件分布的情況下,求得最大概率的熵值,使得得到的結(jié)果更加準(zhǔn)確.
為了驗(yàn)證結(jié)果,進(jìn)行了大量的實(shí)驗(yàn),實(shí)驗(yàn)采用了2 000個(gè)語句作為訓(xùn)練語句,實(shí)驗(yàn)在特定情況下進(jìn)行的,其中隨即抽取1 000個(gè)問句用來測試實(shí)驗(yàn)結(jié)果,問題領(lǐng)域涉及到多個(gè)方面,具體分類見表1,幾乎每一類的問句數(shù)量分布均勻.首先對問句采用語義依存向量弧與語法分析樹標(biāo)注相結(jié)合的方法進(jìn)行分詞和詞性標(biāo)注[15],之后對問句提取語義特征進(jìn)行問題類型,把問題各自劃分在該領(lǐng)域中,這樣便于搜索問題,最后用最大熵模型對這些標(biāo)注好的分詞進(jìn)行訓(xùn)練、優(yōu)化,形成最大熵模型.
表1 測試問題分布情況
實(shí)驗(yàn)的評價(jià)標(biāo)準(zhǔn)是各個(gè)類型的問句原來問句理解的準(zhǔn)確率與改進(jìn)后問題理解的準(zhǔn)確率相比較[16],比較結(jié)果表2,從中可以看出,大部分問題分類的準(zhǔn)確率都有一定的提高,但仍有比如描述類問題改進(jìn)方法的準(zhǔn)確率52.8%比原來的能稍低一些,其原因是:①描述類的問題描述本身比較長,問題的理解程度還不夠;②對參與訓(xùn)練的日常問句數(shù)量還太少,特征集合也不夠大,隨著以后加大訓(xùn)練,語句逐步會增多,準(zhǔn)確率也會逐步提高.
表2 最大熵模型學(xué)習(xí)之后的比較結(jié)果
最大熵模型是分析隨機(jī)事件概率分布的一種學(xué)習(xí)模型,在自然語言處理中應(yīng)用廣泛,基于語義依存的向量弧和語法分析樹的結(jié)合,對問句進(jìn)行深層語義理解之后進(jìn)行分詞、詞性標(biāo)注,提取問句語義特征進(jìn)行問題分類,并通過最大熵模型對分詞進(jìn)行學(xué)習(xí)、訓(xùn)練,實(shí)現(xiàn)漢語從語義理解方面更好的理解問句,降低了中文理解的困難度,是一種非常有效的漢語問句語義分析的方法.為進(jìn)一步完善問句理解的準(zhǔn)確性,下一階段計(jì)劃將在特征選取算法等方面進(jìn)行研究.
[1]李鑫,杜永萍.基于句法信息和語義信息的問題分類[C].第一屆全國信息檢索與內(nèi)容安全學(xué)術(shù)會議,2004:243-251.
[2]張仰森,曹元大,俞士汶.最大熵方法中特征選擇算法的改進(jìn)與糾錯(cuò)排歧[J].北京理工大學(xué)學(xué)報(bào),2006,26(1):36-40.
[3]李素建,劉群,楊志峰.基于最大熵模型的組塊分析[J].計(jì)算機(jī)學(xué)報(bào),2003,26(12):1722-1727.
[4]周雅倩,郭以昆,黃萱菁.基于最大熵方法的中英文基本名詞短語識別[J].計(jì)算機(jī)研究與發(fā)展,2003,40(3):440-446.
[5]徐延勇,周獻(xiàn)中,井祥鶴.基于最大熵模型的漢語句子分析[J].電子學(xué)報(bào),2003,31(11):1608-1612.
[6]錢偉,郭以昆,周雅倩.基于最大熵模型的英文名詞短語指代消解[J].計(jì)算機(jī)研究與發(fā)展,2003,40(9):1337-1343.
[7]石晶,李萬龍.漢語語義分析方法研究[J].計(jì)算機(jī)應(yīng)用研究,2010(2):529-531.
[8]高玲玲.基于依存語法的漢語句法分析研究[D].中國優(yōu)秀碩士學(xué)位論文全文數(shù)據(jù)庫,2009.
[9]文勖,張宇,劉挺,等.基于句法結(jié)構(gòu)分析的中文問題分類[J].中文信息學(xué)報(bào),2006,20(2):33-39.
[10]XIN LI,DAN ROTH.Learning Question Classifiers[C].The 19th Internati-onal Conference on Com-putational Linguistics,2002:556-562.
[11]XIN LI,DAN ROTH.The Role of Semantic Information in Learning Question Classifiers[C].First Inernational JointConference on Natural Language Processing,2004:451-458.
[12]張宇,劉挺,文勖.基于改進(jìn)貝葉斯模型的問題分類[J].中文信息學(xué)報(bào),2005,19(2):100-105.
[13]俞士汶,段慧明,朱學(xué)鋒,等.綜合型語言知識庫的建立[J].中文信息學(xué)報(bào),2004(5):1-10.
[14]謝法奎,張全.基于最大熵模型的語義塊切分[J].計(jì)算機(jī)工程與應(yīng)用,2009,45(26):118-120.
[15]孫鐵利,李曉微,張妍.信息過濾中的中文自動(dòng)分詞技術(shù)研究[J].計(jì)算機(jī)工程與科學(xué),2009(3):80-82.
[16]李憲東.基于最大熵原理的確定概率分布的方法研究[D].中國優(yōu)秀碩士學(xué)位論文全文數(shù)據(jù)庫,2009.