自然語言理解課件_第1頁
自然語言理解課件_第2頁
自然語言理解課件_第3頁
自然語言理解課件_第4頁
自然語言理解課件_第5頁
已閱讀5頁,還剩61頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第11章自然語言理解11.1簡單句理解11.2復(fù)合句理解11.3轉(zhuǎn)換文法和轉(zhuǎn)換網(wǎng)絡(luò)1謝謝觀賞2019-8-28第11章自然語言理解11.1簡單句理解1謝謝11.1.1理解的實現(xiàn)過程

10.1.1理解的實現(xiàn)過程要理解一個語句,需建立起一個和該簡單句相對應(yīng)的機(jī)內(nèi)表達(dá)。而要建立機(jī)內(nèi)表達(dá),需要做以下兩方面的工作:

(1)理解語句中的每一個詞。

(2)以這些詞為基礎(chǔ)組成一個可以表達(dá)整個語句意義的結(jié)構(gòu)。2謝謝觀賞2019-8-2811.1.1理解的實現(xiàn)過程10.1.1理解的實現(xiàn)過程

第一項工作看起來很容易,似乎只是查一下字典就可以解決。而實際上由于許多單詞有不止一種含義,因而只由單詞本身不能確定其在句中的確切含義,需要通過語法分析,并根據(jù)上下文關(guān)系才能最終確定,例如,單詞diamond有“菱形”、“棒球場”和“鉆石”三種意思,在語句JohnsawSusan’sdiamondshimmeringfromacrosstheroom.中,由于“shimmering”的出現(xiàn),則顯然“diamond”是“鉆石”的含義,因為“菱形”和“棒球場”都不會閃光。再如在語句

I’llmeetyouatthediamond.3謝謝觀賞2019-8-28第一項工作看起來很容易,似乎只是查一下字典就可以解中,由于“at”后面需要一個時間或地點名詞作為它的賓語,顯然這里的“diamond”是“棒球場”的含義,而不能是其他含義。第二項也是一個比較困難的工作。因為要以這些單詞為基礎(chǔ)來構(gòu)成表示一個句子意義的結(jié)構(gòu),需要依賴各種信息源,其中包括所用語言的知識、語句所涉及領(lǐng)域的知識以及有關(guān)該語言使用者應(yīng)共同遵守的習(xí)慣用法的知識。由于這個解釋過程涉及到許多事情,因而常常將這項工作分成以下三個部分來進(jìn)行:

4謝謝觀賞2019-8-28中,由于“at”后面需要一個時間或地點名詞作為它的賓語,(1)語法分析。將單詞之間的線性次序變換成一個顯示單詞如何與其他單詞相關(guān)聯(lián)的結(jié)構(gòu)。語法分析確定語句是否合乎語法,因為一個不合語法的語句就更難理解。

(2)語義分析。各種意義被賦予由語法分析程序所建立的結(jié)構(gòu),即在語法結(jié)構(gòu)和任務(wù)領(lǐng)域內(nèi)對象之間進(jìn)行映射變換。

(3)語用分析。

為確定真正含義,對表達(dá)的結(jié)構(gòu)重新加以解釋。

5謝謝觀賞2019-8-28(1)語法分析。將單詞之間的線性次序變換成一個顯示11.1.2語法分析要進(jìn)行語法分析,必須首先給出該語言的文法規(guī)則,以便為語法分析提供一個準(zhǔn)則和依據(jù)。對于自然語言人們已提出了許多種文法,例如,喬姆斯基(Chomsky)提出的上下文無關(guān)文法就是一種常用的文法。一個語言的文法一般用一組文法規(guī)則(稱為產(chǎn)生式或重寫規(guī)則)以及非終結(jié)符與終結(jié)符來定義和描述。例如,下面就是一個英語子集的上下文無關(guān)文法:

6謝謝觀賞2019-8-2811.1.2語法分析6謝謝觀賞2019-8-2811.1.2語法分析要進(jìn)行語法分析,必須首先給出該語言的文法規(guī)則,以便為語法分析提供一個準(zhǔn)則和依據(jù)。對于自然語言人們已提出了許多種文法,例如,喬姆斯基(Chomsky)提出的上下文無關(guān)文法就是一種常用的文法。一個語言的文法一般用一組文法規(guī)則(稱為產(chǎn)生式或重寫規(guī)則)以及非終結(jié)符與終結(jié)符來定義和描述。

例如,下面就是一個英語子集的上下文無關(guān)文法:

7謝謝觀賞2019-8-2811.1.2語法分析7謝謝觀賞2019-8-28〈sentence〉∷=〈nounphrase〉〈verbphrase〉〈nounphrase〉∷=〈determiner〉〈noun〉〈verbphrase〉∷=〈verb〉〈nounphrase〉|〈verb〉〈determiner〉∷=the|a|an〈noun〉∷=man|student|apple|computer〈verb〉∷=eats|operats

這個文法有6條文法規(guī)則,它們是用BNF范式表示的。其中帶尖括號的項為非終結(jié)符,第一個非終結(jié)符稱為起始符,不帶尖括號的項為終結(jié)符,符號“∷=”的意思是“定義為”,符號“|”是“或者”的意思,而不帶“|”的項之間是“與”關(guān)系。符號“∷=”也可以用箭頭“→”表示。

8謝謝觀賞2019-8-28〈sentence〉∷=〈nounphrase〉〈verb

有了文法規(guī)則,對于一個給定的句子,就可以進(jìn)行語法分析,即根據(jù)文法規(guī)則來判斷其是否合乎語法??梢钥闯?上面的文法規(guī)則實際是非終結(jié)符的分解、變換規(guī)則。分解、變換從起始符開始,到終結(jié)符結(jié)束。所以,全體文法規(guī)則就構(gòu)成一棵如圖11-1所示的與或樹,我們稱其為文法樹。所以,對一個語句進(jìn)行語法分析的過程也就是在這個與或樹上搜索解樹的過程。可以看出,搜索解樹可以自頂向下進(jìn)行,也可以自底向上進(jìn)行。自頂向下搜索就是從起始符sentence出發(fā),推導(dǎo)所給的句子;自底向上搜索就是從所給的句子出發(fā),推導(dǎo)起始符sentence。

9謝謝觀賞2019-8-28有了文法規(guī)則,對于一個給定的句子,就可以進(jìn)行語法分圖

11-1文法樹

10謝謝觀賞2019-8-28圖11-1文法樹10謝謝觀賞2019-8-28例11.1下面是一個基于上述文法的語法分析程序。它采用自頂向下搜索。

sentence(X):append(Y,Z,X),noun_phrase(Y),verb_phrase(Z).noun_phrase(X):append(Y,Z,X),determiner(Y),noun(Z).verb_phrase(X):append(Y,Z,X),verb(Y),noun_phrase(Z).verb_phrase(X):verb(X).determiner([the]).noun([H|_]):member(H,[man,student,apple,banana,computer]).verb([H|_]):member(H,[eats,study,programming,operats]).append([],L,L).append([H|T],L,[H|L2]):append(T,L,L2).member(X,[X|_]).member(X,[_|T]):member(X,T).11謝謝觀賞2019-8-28例11.1下面是一個基于上述文法的語法分析程序。它采這個程序是先把所給的句子以符號表的形式約束給謂詞sentence的變量X,然后對其進(jìn)行分解和變換。如果最終分解、變換的結(jié)果與語言的文法樹相符,則證明所給的句子語法正確;

否則語法錯誤。

例如,對于句子

thestudentoperatsthecomputer要用該程序進(jìn)行語法分析,則應(yīng)給出詢問:

?-sentence([the,student,operats,the,computer]).這時,系統(tǒng)則回答:

yes分析這個句子所產(chǎn)生的解樹如圖11-2所示。這個解樹稱為該句子的語法分析樹。

12謝謝觀賞2019-8-28這個程序是先把所給的句子以符號表的形式約束給謂詞sent圖

11-2語法分析樹

13謝謝觀賞2019-8-28圖11-2語法分析樹13謝謝觀賞2019-8-28需指出的是,這個程序雖然易于理解,但運行效率較低。因為在用append謂詞對句子進(jìn)行分解時一般要進(jìn)行多次回溯。

為此,我們把這個程序修改為如下形式:

sentence(X,Y):noun_phrase(X,Z),verb_phrase(Z,Y).noun_phrase(X,Y):determiner(X,Z),noun(Z,Y).verb_phrase(X,Y):verb(X,Z),noun_phrase(Z,Y).verb_phrase(X,Y):verb(X,Y).determiner([the|T],T).noun([H|T],T):member(H,[man,student,apple,computer]).verb([H|T],T):member(H,[eats,operats]).14謝謝觀賞2019-8-28需指出的是,這個程序雖然易于理解,但運行效率較低。這個程序的每個謂詞有兩個參量,它們都是符號表。對于一個給定的句子,后一個表是前一個表的余表。語法分析時,把所給的句子以符號表的形式約束給sentence的第一個變量X,第二個變量約束為空表。如

?-sentence([the,student,operats,the,computer],[]).則系統(tǒng)仍然回答:

yes這個程序雖然難讀,但它的運行效率較高。語法分析可判斷一個句子的語法結(jié)構(gòu)是否正確,但不能判斷一個句子是否有意義。例如把上面詢問中的例句改為?-sentence([the,computer,operats,the,student],[]).系統(tǒng)則仍然回答:yes。對于諸如此類的問題,語義分析則可解決。

15謝謝觀賞2019-8-28這個程序的每個謂詞有兩個參量,它們都是符號表。對于一個11.1.3語義分析語義分析就是要識別一個語句所表達(dá)的意思。語義分析的方法很多,如運用格文法、語義文法等。語義文法是進(jìn)行語義分析的一種簡單方法。所謂語義文法,就是在傳統(tǒng)的短語結(jié)構(gòu)文法的基礎(chǔ)上,將名詞短語、動詞短語等不含語義信息的純語法類別,用所討論領(lǐng)域的專門類別來代替。

例如,下面就是一個語義文法的例子:

16謝謝觀賞2019-8-2811.1.3語義分析16謝謝觀賞2019-8-28S→PRESENTtheATTRIBUTEofSHIPPRESENT→whatis|canyoutellmeATTRIBUTE→length|classSHIP→theSHIPNAME|CLASSNAMEclassshipSHIPNAME→Huanghe|ChangjiangCLASSNAME→carrier|submarine這是一個艦船管理數(shù)據(jù)庫系統(tǒng)自然語言接口的語義文法片段。

17謝謝觀賞2019-8-28S→PRESENTtheATTRIBUTEofSHI

可以看出,語義文法的重寫規(guī)則與上下文無關(guān)文法的形式是類似的。但這里沒有出現(xiàn)像名詞短語和動詞短語等語法類別,而是用了PRESENT、ATTRIBUTE、SHIP等專門領(lǐng)域中的類別。對于語義文法的分析方法,可以使用與上下文無關(guān)文法相類似的方法。利用上面給出的語義文法,可以從語義上識別如下的語句:

WhatistheclassoftheChangjiang?

CanyoutellmethelengthoftheHuanghe?

語義文法可以排除無意義的句子。

當(dāng)然,它只能適應(yīng)于嚴(yán)格限制的應(yīng)用領(lǐng)域。

18謝謝觀賞2019-8-28可以看出,語義文法的重寫規(guī)則與上下文無關(guān)文法的形式是類11.2

復(fù)

簡單句的理解不涉及句與句之間的關(guān)系,它的理解過程首先是賦單詞以意義,然后再給整個語句賦予一種結(jié)構(gòu)。而一組語句的理解,無論它是一個文章選段,還是對話節(jié)錄,句子之間都有相互關(guān)系。所以,復(fù)合句的理解,就不僅要分析各個簡單句,而且要找出句子之間的關(guān)系。這些關(guān)系的發(fā)現(xiàn),對于理解起著十分重要的作用。句子之間的關(guān)系包括以下幾種:

(1)相同的事物,例如:“小華有個計算器,小劉想用它?!眴卧~“它”和“計算器”指的是同一物體。

19謝謝觀賞2019-8-2811.2復(fù)合句理解簡單句的理解不涉及句與句之(2)事物的一部分,例如:“小林穿上她剛買的大衣,發(fā)現(xiàn)掉了一個扣子。”“扣子”指的是“剛買的大衣”的一部分。(3)行動的一部分,例如:“王宏去北京出差,他乘早班飛機(jī)動身?!背孙w機(jī)應(yīng)看成是出差的一部分。(4)與行動有關(guān)的事物,例如:“李明準(zhǔn)備騎車去上學(xué),但他騎上車子時,發(fā)現(xiàn)車胎沒氣了?!?/p>

李明的自行車應(yīng)理解為是與他騎車去上學(xué)這一行動有關(guān)的事物。

20謝謝觀賞2019-8-28(2)事物的一部分,例如:20謝謝觀賞2019-8-2

(5)因果關(guān)系,例如:“今天下雨,所以不能上早操?!毕掠陸?yīng)理解為是不能上操的原因。

(6)計劃次序,例如:“小張準(zhǔn)備結(jié)婚,他決定再找一份工作干。”小張對工作感興趣,應(yīng)理解為是由于他要結(jié)婚,而結(jié)婚需要錢而引起的。21謝謝觀賞2019-8-28(5)因果關(guān)系,例如:21謝謝觀賞2019-8-2要能做到理解這些復(fù)雜的關(guān)系,必須具有相當(dāng)廣泛領(lǐng)域的知識才行,也就是要依賴于大型的知識庫,而且知識庫的組織形式對能否正確理解這些關(guān)系,起著很重要的作用。特別對于較大的知識庫,應(yīng)考慮如何將問題的“焦點”集中在知識庫的相關(guān)部分。例如,對于下面的一段話:“接著,把虎鉗固定到工作臺上。螺栓就放在小塑料袋中?!憋@然,第二句中的螺栓就是第一句中用來固定虎鉗的螺栓。所以,如果在理解第一句時,就把需用的螺栓置于“焦點”之中,則全句的理解就容易了。因此,需要表示出與“固定”有關(guān)的知識,以便當(dāng)見到“固定”時,能方便地提取出來。22謝謝觀賞2019-8-28要能做到理解這些復(fù)雜的關(guān)系,必須具有相當(dāng)廣泛領(lǐng)域的知識對于描述與行為有關(guān)的復(fù)合語句,也可采用目標(biāo)結(jié)構(gòu)的方法幫助理解。即對于常見的一些行為目標(biāo),事先制定出其行動規(guī)劃,這樣,當(dāng)語句所描述的情節(jié)中的某些信息省略時,可以調(diào)用這些規(guī)劃,通過推導(dǎo)找到問題的答案。例如對于下面的文章片段:“小王有點餓。他便向行人打聽餐館在哪里?!比绻羞@樣的行動規(guī)劃:打聽地址→去餐館→吃飯→不餓則就不難理解第二個句子了。

23謝謝觀賞2019-8-28對于描述與行為有關(guān)的復(fù)合語句,也可采用目標(biāo)結(jié)構(gòu)的方法幫11.3

轉(zhuǎn)換文法和轉(zhuǎn)換網(wǎng)絡(luò)

11.3.1轉(zhuǎn)換文法人們對自然語言句子的結(jié)構(gòu)進(jìn)行研究,發(fā)現(xiàn)同一個意思往往有許多不同的表示形式(說法)。例如語句:

Maryreadmeastory.和

Maryreadastorytome.

24謝謝觀賞2019-8-2811.3轉(zhuǎn)換文法和轉(zhuǎn)換網(wǎng)絡(luò)11.3.1轉(zhuǎn)換文法24謝說法雖然不同,但意思實際是完全一樣的。再如主動句和被動句也是常用的兩種不同的表示形式。于是,人們就提出了語句的深層結(jié)構(gòu)和表層結(jié)構(gòu)的概念。認(rèn)為一個句子可以有多個不同的表層結(jié)構(gòu),但其深層結(jié)構(gòu)都是相同的。鑒于這樣的認(rèn)識,轉(zhuǎn)換文法(transformationalgrammar)便應(yīng)運而生。

25謝謝觀賞2019-8-28說法雖然不同,但意思實際是完全一樣的。再如主動句和被動轉(zhuǎn)換文法就是可把句子的一種結(jié)構(gòu)轉(zhuǎn)換為另一種結(jié)構(gòu)的文法。轉(zhuǎn)換文法是由基礎(chǔ)和轉(zhuǎn)換兩部分組成?;A(chǔ)部分是一個上下文無關(guān)文法,它產(chǎn)生句子的深層結(jié)構(gòu)表示;轉(zhuǎn)換部分是一個轉(zhuǎn)換規(guī)則(重寫規(guī)則)集,它負(fù)責(zé)句子結(jié)構(gòu)的轉(zhuǎn)換。轉(zhuǎn)換文法的工作過程是:先用上下文無關(guān)文法建立相應(yīng)句子的深層結(jié)構(gòu),然后再應(yīng)用轉(zhuǎn)換規(guī)則將深層結(jié)構(gòu)轉(zhuǎn)換為符合人們習(xí)慣的表層結(jié)構(gòu)。圖11-3給出了一條把主動句轉(zhuǎn)換為被動句的轉(zhuǎn)換規(guī)則。

26謝謝觀賞2019-8-28轉(zhuǎn)換文法就是可把句子的一種結(jié)構(gòu)轉(zhuǎn)換為另一種結(jié)構(gòu)的文法。轉(zhuǎn)圖

11-3轉(zhuǎn)換規(guī)則

27謝謝觀賞2019-8-28圖11-3轉(zhuǎn)換規(guī)則27謝謝觀賞2019-8-28轉(zhuǎn)換又可分為被動轉(zhuǎn)換、分割轉(zhuǎn)換、疑問轉(zhuǎn)換等等,運用這些轉(zhuǎn)換,轉(zhuǎn)換文法可以將一個句子轉(zhuǎn)換為多種不同的表達(dá)形式。例如,對于下面這個簡單的主動句:

Johnatethebanana.運用被動轉(zhuǎn)換,得到:

ThebananawaseatenbyJohn.運用分割轉(zhuǎn)換,得到:

ItwasJohnwhoatethebanana.先進(jìn)行被動轉(zhuǎn)換,再進(jìn)行分割轉(zhuǎn)換,得到:

ItwasthebananathatwaseatenbyJohn.28謝謝觀賞2019-8-28轉(zhuǎn)換又可分為被動轉(zhuǎn)換、分割轉(zhuǎn)換、疑問轉(zhuǎn)換等等,運用這些運用疑問轉(zhuǎn)換,得到:

DidJohneatthebanana?轉(zhuǎn)換也可以將語句的表層結(jié)構(gòu)逆轉(zhuǎn)換為其深層結(jié)構(gòu)。這樣,我們可以將一組不同形式的相關(guān)語句,通過一個轉(zhuǎn)換序列而映射為一個單一的句子。例如把上述各種其他形式的語句轉(zhuǎn)換為一個主動句。這顯然對于自然語言理解和機(jī)器翻譯有重要作用。

29謝謝觀賞2019-8-28運用疑問轉(zhuǎn)換,得到:29謝謝觀賞2019-8-2811.3.2轉(zhuǎn)換網(wǎng)絡(luò)轉(zhuǎn)換網(wǎng)絡(luò)(TransitionNetwork)全稱為狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)。它是一種由節(jié)點和有向邊(弧)組成的有向圖。其中節(jié)點代表狀態(tài),有向弧代表從一個狀態(tài)到另一個狀態(tài)的轉(zhuǎn)換。一個轉(zhuǎn)換網(wǎng)絡(luò)中一般有一個起始節(jié)點(代表起始狀態(tài)),有一個或多個終止節(jié)點(代表終止?fàn)顟B(tài))。一般節(jié)點用單線圓圈表示,終止節(jié)點用雙線圓圈表示。轉(zhuǎn)換網(wǎng)絡(luò)也是一種自然語言文法的表示形式,用它也可對所給句子進(jìn)行語法分析。例如,11.1節(jié)給出的上下文無關(guān)文法用狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)表示就是圖11-4。圖中S0節(jié)點為起始節(jié)點,S5為終止節(jié)點。

30謝謝觀賞2019-8-2811.3.2轉(zhuǎn)換網(wǎng)絡(luò)30謝謝觀賞2019-8-28圖

11-4狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)

31謝謝觀賞2019-8-28圖11-4狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)31謝謝觀賞2019-8-28讓我們舉例說明怎樣用該網(wǎng)絡(luò)進(jìn)行語法分析。設(shè)有英語句子:

Marywantsacomputer.首先,將句子從起始節(jié)點處輸入,起始狀態(tài)S0考察輸入句子的左邊第一個單詞Mary,因為它是名詞,故用名詞轉(zhuǎn)換,結(jié)果把剩下的單詞序列推向S2;S2考察wants,由于它是動詞,所以用動詞轉(zhuǎn)換,但從S2出發(fā)有兩個動詞轉(zhuǎn)換,即有兩條路可走,這時發(fā)現(xiàn)動詞后面還有單詞,所以,只能走上面的一條路,于是就把剩下的單詞序列推向S3;接著S3考察的應(yīng)是冠詞a,所以立即作冠詞轉(zhuǎn)換,又把剩下的單詞推向S4;這時S4發(fā)現(xiàn)它所考察的單詞是個名詞,于是就作名詞轉(zhuǎn)換,結(jié)果,單詞考察完畢,也剛好到達(dá)終止?fàn)顟B(tài)S5。從而說明輸入的句子是合乎語法的。

32謝謝觀賞2019-8-28讓我們舉例說明怎樣用該網(wǎng)絡(luò)進(jìn)行語法分析。設(shè)有英語句子:習(xí)

題十

一1.研究自然語言理解有什么意義?它的難點何在?2.實現(xiàn)機(jī)器的自然語言理解都涉及哪些工作?3.擴(kuò)充11.2節(jié)中所給的文法及程序,進(jìn)行語法分析練習(xí)。4.對11.3節(jié)中的語義文法編寫程序,進(jìn)行語義分析練習(xí)。

33謝謝觀賞2019-8-28習(xí)題十一1.研究自然語言理解有什么意義?它的難點何在第11章自然語言理解11.1簡單句理解11.2復(fù)合句理解11.3轉(zhuǎn)換文法和轉(zhuǎn)換網(wǎng)絡(luò)34謝謝觀賞2019-8-28第11章自然語言理解11.1簡單句理解1謝謝11.1.1理解的實現(xiàn)過程

10.1.1理解的實現(xiàn)過程要理解一個語句,需建立起一個和該簡單句相對應(yīng)的機(jī)內(nèi)表達(dá)。而要建立機(jī)內(nèi)表達(dá),需要做以下兩方面的工作:

(1)理解語句中的每一個詞。

(2)以這些詞為基礎(chǔ)組成一個可以表達(dá)整個語句意義的結(jié)構(gòu)。35謝謝觀賞2019-8-2811.1.1理解的實現(xiàn)過程10.1.1理解的實現(xiàn)過程

第一項工作看起來很容易,似乎只是查一下字典就可以解決。而實際上由于許多單詞有不止一種含義,因而只由單詞本身不能確定其在句中的確切含義,需要通過語法分析,并根據(jù)上下文關(guān)系才能最終確定,例如,單詞diamond有“菱形”、“棒球場”和“鉆石”三種意思,在語句JohnsawSusan’sdiamondshimmeringfromacrosstheroom.中,由于“shimmering”的出現(xiàn),則顯然“diamond”是“鉆石”的含義,因為“菱形”和“棒球場”都不會閃光。再如在語句

I’llmeetyouatthediamond.36謝謝觀賞2019-8-28第一項工作看起來很容易,似乎只是查一下字典就可以解中,由于“at”后面需要一個時間或地點名詞作為它的賓語,顯然這里的“diamond”是“棒球場”的含義,而不能是其他含義。第二項也是一個比較困難的工作。因為要以這些單詞為基礎(chǔ)來構(gòu)成表示一個句子意義的結(jié)構(gòu),需要依賴各種信息源,其中包括所用語言的知識、語句所涉及領(lǐng)域的知識以及有關(guān)該語言使用者應(yīng)共同遵守的習(xí)慣用法的知識。由于這個解釋過程涉及到許多事情,因而常常將這項工作分成以下三個部分來進(jìn)行:

37謝謝觀賞2019-8-28中,由于“at”后面需要一個時間或地點名詞作為它的賓語,(1)語法分析。將單詞之間的線性次序變換成一個顯示單詞如何與其他單詞相關(guān)聯(lián)的結(jié)構(gòu)。語法分析確定語句是否合乎語法,因為一個不合語法的語句就更難理解。

(2)語義分析。各種意義被賦予由語法分析程序所建立的結(jié)構(gòu),即在語法結(jié)構(gòu)和任務(wù)領(lǐng)域內(nèi)對象之間進(jìn)行映射變換。

(3)語用分析。

為確定真正含義,對表達(dá)的結(jié)構(gòu)重新加以解釋。

38謝謝觀賞2019-8-28(1)語法分析。將單詞之間的線性次序變換成一個顯示11.1.2語法分析要進(jìn)行語法分析,必須首先給出該語言的文法規(guī)則,以便為語法分析提供一個準(zhǔn)則和依據(jù)。對于自然語言人們已提出了許多種文法,例如,喬姆斯基(Chomsky)提出的上下文無關(guān)文法就是一種常用的文法。一個語言的文法一般用一組文法規(guī)則(稱為產(chǎn)生式或重寫規(guī)則)以及非終結(jié)符與終結(jié)符來定義和描述。例如,下面就是一個英語子集的上下文無關(guān)文法:

39謝謝觀賞2019-8-2811.1.2語法分析6謝謝觀賞2019-8-2811.1.2語法分析要進(jìn)行語法分析,必須首先給出該語言的文法規(guī)則,以便為語法分析提供一個準(zhǔn)則和依據(jù)。對于自然語言人們已提出了許多種文法,例如,喬姆斯基(Chomsky)提出的上下文無關(guān)文法就是一種常用的文法。一個語言的文法一般用一組文法規(guī)則(稱為產(chǎn)生式或重寫規(guī)則)以及非終結(jié)符與終結(jié)符來定義和描述。

例如,下面就是一個英語子集的上下文無關(guān)文法:

40謝謝觀賞2019-8-2811.1.2語法分析7謝謝觀賞2019-8-28〈sentence〉∷=〈nounphrase〉〈verbphrase〉〈nounphrase〉∷=〈determiner〉〈noun〉〈verbphrase〉∷=〈verb〉〈nounphrase〉|〈verb〉〈determiner〉∷=the|a|an〈noun〉∷=man|student|apple|computer〈verb〉∷=eats|operats

這個文法有6條文法規(guī)則,它們是用BNF范式表示的。其中帶尖括號的項為非終結(jié)符,第一個非終結(jié)符稱為起始符,不帶尖括號的項為終結(jié)符,符號“∷=”的意思是“定義為”,符號“|”是“或者”的意思,而不帶“|”的項之間是“與”關(guān)系。符號“∷=”也可以用箭頭“→”表示。

41謝謝觀賞2019-8-28〈sentence〉∷=〈nounphrase〉〈verb

有了文法規(guī)則,對于一個給定的句子,就可以進(jìn)行語法分析,即根據(jù)文法規(guī)則來判斷其是否合乎語法??梢钥闯?上面的文法規(guī)則實際是非終結(jié)符的分解、變換規(guī)則。分解、變換從起始符開始,到終結(jié)符結(jié)束。所以,全體文法規(guī)則就構(gòu)成一棵如圖11-1所示的與或樹,我們稱其為文法樹。所以,對一個語句進(jìn)行語法分析的過程也就是在這個與或樹上搜索解樹的過程??梢钥闯?搜索解樹可以自頂向下進(jìn)行,也可以自底向上進(jìn)行。自頂向下搜索就是從起始符sentence出發(fā),推導(dǎo)所給的句子;自底向上搜索就是從所給的句子出發(fā),推導(dǎo)起始符sentence。

42謝謝觀賞2019-8-28有了文法規(guī)則,對于一個給定的句子,就可以進(jìn)行語法分圖

11-1文法樹

43謝謝觀賞2019-8-28圖11-1文法樹10謝謝觀賞2019-8-28例11.1下面是一個基于上述文法的語法分析程序。它采用自頂向下搜索。

sentence(X):append(Y,Z,X),noun_phrase(Y),verb_phrase(Z).noun_phrase(X):append(Y,Z,X),determiner(Y),noun(Z).verb_phrase(X):append(Y,Z,X),verb(Y),noun_phrase(Z).verb_phrase(X):verb(X).determiner([the]).noun([H|_]):member(H,[man,student,apple,banana,computer]).verb([H|_]):member(H,[eats,study,programming,operats]).append([],L,L).append([H|T],L,[H|L2]):append(T,L,L2).member(X,[X|_]).member(X,[_|T]):member(X,T).44謝謝觀賞2019-8-28例11.1下面是一個基于上述文法的語法分析程序。它采這個程序是先把所給的句子以符號表的形式約束給謂詞sentence的變量X,然后對其進(jìn)行分解和變換。如果最終分解、變換的結(jié)果與語言的文法樹相符,則證明所給的句子語法正確;

否則語法錯誤。

例如,對于句子

thestudentoperatsthecomputer要用該程序進(jìn)行語法分析,則應(yīng)給出詢問:

?-sentence([the,student,operats,the,computer]).這時,系統(tǒng)則回答:

yes分析這個句子所產(chǎn)生的解樹如圖11-2所示。這個解樹稱為該句子的語法分析樹。

45謝謝觀賞2019-8-28這個程序是先把所給的句子以符號表的形式約束給謂詞sent圖

11-2語法分析樹

46謝謝觀賞2019-8-28圖11-2語法分析樹13謝謝觀賞2019-8-28需指出的是,這個程序雖然易于理解,但運行效率較低。因為在用append謂詞對句子進(jìn)行分解時一般要進(jìn)行多次回溯。

為此,我們把這個程序修改為如下形式:

sentence(X,Y):noun_phrase(X,Z),verb_phrase(Z,Y).noun_phrase(X,Y):determiner(X,Z),noun(Z,Y).verb_phrase(X,Y):verb(X,Z),noun_phrase(Z,Y).verb_phrase(X,Y):verb(X,Y).determiner([the|T],T).noun([H|T],T):member(H,[man,student,apple,computer]).verb([H|T],T):member(H,[eats,operats]).47謝謝觀賞2019-8-28需指出的是,這個程序雖然易于理解,但運行效率較低。這個程序的每個謂詞有兩個參量,它們都是符號表。對于一個給定的句子,后一個表是前一個表的余表。語法分析時,把所給的句子以符號表的形式約束給sentence的第一個變量X,第二個變量約束為空表。如

?-sentence([the,student,operats,the,computer],[]).則系統(tǒng)仍然回答:

yes這個程序雖然難讀,但它的運行效率較高。語法分析可判斷一個句子的語法結(jié)構(gòu)是否正確,但不能判斷一個句子是否有意義。例如把上面詢問中的例句改為?-sentence([the,computer,operats,the,student],[]).系統(tǒng)則仍然回答:yes。對于諸如此類的問題,語義分析則可解決。

48謝謝觀賞2019-8-28這個程序的每個謂詞有兩個參量,它們都是符號表。對于一個11.1.3語義分析語義分析就是要識別一個語句所表達(dá)的意思。語義分析的方法很多,如運用格文法、語義文法等。語義文法是進(jìn)行語義分析的一種簡單方法。所謂語義文法,就是在傳統(tǒng)的短語結(jié)構(gòu)文法的基礎(chǔ)上,將名詞短語、動詞短語等不含語義信息的純語法類別,用所討論領(lǐng)域的專門類別來代替。

例如,下面就是一個語義文法的例子:

49謝謝觀賞2019-8-2811.1.3語義分析16謝謝觀賞2019-8-28S→PRESENTtheATTRIBUTEofSHIPPRESENT→whatis|canyoutellmeATTRIBUTE→length|classSHIP→theSHIPNAME|CLASSNAMEclassshipSHIPNAME→Huanghe|ChangjiangCLASSNAME→carrier|submarine這是一個艦船管理數(shù)據(jù)庫系統(tǒng)自然語言接口的語義文法片段。

50謝謝觀賞2019-8-28S→PRESENTtheATTRIBUTEofSHI

可以看出,語義文法的重寫規(guī)則與上下文無關(guān)文法的形式是類似的。但這里沒有出現(xiàn)像名詞短語和動詞短語等語法類別,而是用了PRESENT、ATTRIBUTE、SHIP等專門領(lǐng)域中的類別。對于語義文法的分析方法,可以使用與上下文無關(guān)文法相類似的方法。利用上面給出的語義文法,可以從語義上識別如下的語句:

WhatistheclassoftheChangjiang?

CanyoutellmethelengthoftheHuanghe?

語義文法可以排除無意義的句子。

當(dāng)然,它只能適應(yīng)于嚴(yán)格限制的應(yīng)用領(lǐng)域。

51謝謝觀賞2019-8-28可以看出,語義文法的重寫規(guī)則與上下文無關(guān)文法的形式是類11.2

復(fù)

簡單句的理解不涉及句與句之間的關(guān)系,它的理解過程首先是賦單詞以意義,然后再給整個語句賦予一種結(jié)構(gòu)。而一組語句的理解,無論它是一個文章選段,還是對話節(jié)錄,句子之間都有相互關(guān)系。所以,復(fù)合句的理解,就不僅要分析各個簡單句,而且要找出句子之間的關(guān)系。這些關(guān)系的發(fā)現(xiàn),對于理解起著十分重要的作用。句子之間的關(guān)系包括以下幾種:

(1)相同的事物,例如:“小華有個計算器,小劉想用它?!眴卧~“它”和“計算器”指的是同一物體。

52謝謝觀賞2019-8-2811.2復(fù)合句理解簡單句的理解不涉及句與句之(2)事物的一部分,例如:“小林穿上她剛買的大衣,發(fā)現(xiàn)掉了一個扣子。”“扣子”指的是“剛買的大衣”的一部分。(3)行動的一部分,例如:“王宏去北京出差,他乘早班飛機(jī)動身。”乘飛機(jī)應(yīng)看成是出差的一部分。(4)與行動有關(guān)的事物,例如:“李明準(zhǔn)備騎車去上學(xué),但他騎上車子時,發(fā)現(xiàn)車胎沒氣了?!?/p>

李明的自行車應(yīng)理解為是與他騎車去上學(xué)這一行動有關(guān)的事物。

53謝謝觀賞2019-8-28(2)事物的一部分,例如:20謝謝觀賞2019-8-2

(5)因果關(guān)系,例如:“今天下雨,所以不能上早操。”下雨應(yīng)理解為是不能上操的原因。

(6)計劃次序,例如:“小張準(zhǔn)備結(jié)婚,他決定再找一份工作干?!毙垖ぷ鞲信d趣,應(yīng)理解為是由于他要結(jié)婚,而結(jié)婚需要錢而引起的。54謝謝觀賞2019-8-28(5)因果關(guān)系,例如:21謝謝觀賞2019-8-2要能做到理解這些復(fù)雜的關(guān)系,必須具有相當(dāng)廣泛領(lǐng)域的知識才行,也就是要依賴于大型的知識庫,而且知識庫的組織形式對能否正確理解這些關(guān)系,起著很重要的作用。特別對于較大的知識庫,應(yīng)考慮如何將問題的“焦點”集中在知識庫的相關(guān)部分。例如,對于下面的一段話:“接著,把虎鉗固定到工作臺上。螺栓就放在小塑料袋中?!憋@然,第二句中的螺栓就是第一句中用來固定虎鉗的螺栓。所以,如果在理解第一句時,就把需用的螺栓置于“焦點”之中,則全句的理解就容易了。因此,需要表示出與“固定”有關(guān)的知識,以便當(dāng)見到“固定”時,能方便地提取出來。55謝謝觀賞2019-8-28要能做到理解這些復(fù)雜的關(guān)系,必須具有相當(dāng)廣泛領(lǐng)域的知識對于描述與行為有關(guān)的復(fù)合語句,也可采用目標(biāo)結(jié)構(gòu)的方法幫助理解。即對于常見的一些行為目標(biāo),事先制定出其行動規(guī)劃,這樣,當(dāng)語句所描述的情節(jié)中的某些信息省略時,可以調(diào)用這些規(guī)劃,通過推導(dǎo)找到問題的答案。例如對于下面的文章片段:“小王有點餓。他便向行人打聽餐館在哪里?!比绻羞@樣的行動規(guī)劃:打聽地址→去餐館→吃飯→不餓則就不難理解第二個句子了。

56謝謝觀賞2019-8-28對于描述與行為有關(guān)的復(fù)合語句,也可采用目標(biāo)結(jié)構(gòu)的方法幫11.3

轉(zhuǎn)換文法和轉(zhuǎn)換網(wǎng)絡(luò)

11.3.1轉(zhuǎn)換文法人們對自然語言句子的結(jié)構(gòu)進(jìn)行研究,發(fā)現(xiàn)同一個意思往往有許多不同的表示形式(說法)。例如語句:

Maryreadmeastory.和

Maryreadastorytome.

57謝謝觀賞2019-8-2811.3轉(zhuǎn)換文法和轉(zhuǎn)換網(wǎng)絡(luò)11.3.1轉(zhuǎn)換文法24謝說法雖然不同,但意思實際是完全一樣的。再如主動句和被動句也是常用的兩種不同的表示形式。于是,人們就提出了語句的深層結(jié)構(gòu)和表層結(jié)構(gòu)的概念。認(rèn)為一個句子可以有多個不同的表層結(jié)構(gòu),但其深層結(jié)構(gòu)都是相同的。鑒于這樣的認(rèn)識,轉(zhuǎn)換文法(transformationalgrammar)便應(yīng)運而生。

58謝謝觀賞2019-8-28說法雖然不同,但意思實際是完全一樣的。再如主動句和被動轉(zhuǎn)換文法就是可把句子的一種結(jié)構(gòu)轉(zhuǎn)換為另一種結(jié)構(gòu)的文法。轉(zhuǎn)換文法是由基礎(chǔ)和轉(zhuǎn)換兩部分組成。基礎(chǔ)部分是一個上下文無關(guān)文法,它產(chǎn)生句子的深層結(jié)構(gòu)表示;轉(zhuǎn)換部分是一個轉(zhuǎn)換規(guī)則(重寫規(guī)則)集

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論