人工智能導(dǎo)論 課件 第15章 自然語言處理_第1頁
人工智能導(dǎo)論 課件 第15章 自然語言處理_第2頁
人工智能導(dǎo)論 課件 第15章 自然語言處理_第3頁
人工智能導(dǎo)論 課件 第15章 自然語言處理_第4頁
人工智能導(dǎo)論 課件 第15章 自然語言處理_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第15章自然語言處理

15.1自然語言處理的途徑、方法和發(fā)展概況

15.2基于規(guī)則的自然語言理解

15.3統(tǒng)計(jì)語言模型

15.4神經(jīng)語言模型

延伸學(xué)習(xí)導(dǎo)引

15.1自然語言處理的途徑、方法和發(fā)展概況

自然語言處理(NaturalLanguageProcessing,NLP)包括自然語言的理解、分析、綜合和生成等。狹義的自然語言處理主要指對(duì)文字形態(tài)語言的處理,廣義的自然語言處理也包括非文字形態(tài)語言(如語音、手語等)的處理。在形式語言理論框架下,自然語言處理相繼形成了基于規(guī)則的形式化機(jī)制、基于統(tǒng)計(jì)的形式化機(jī)制和基于聯(lián)結(jié)的形式化機(jī)制,相應(yīng)地,也就出現(xiàn)了基于規(guī)則的方法、基于統(tǒng)計(jì)的方法和基于聯(lián)結(jié)的方法等三大方法和流派。

基于規(guī)則的方法(理性主義學(xué)派)

基于統(tǒng)計(jì)的方法(經(jīng)驗(yàn)主義學(xué)派)

基于聯(lián)結(jié)的方法(經(jīng)驗(yàn)主義學(xué)派)

15.2基于規(guī)則的自然語言理解

15.2.1簡單句理解

例句:Thestudentoperatesthecomputer.

1.理解的實(shí)現(xiàn)過程

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

(2)以這些詞為基礎(chǔ)組成一個(gè)可以表達(dá)整個(gè)語句意義的結(jié)構(gòu)。

這兩步工作又涉及語法分析、語義分析和語用分析。

語法分析

將單詞之間的線性次序變換成一個(gè)顯示單詞如何與其他單詞相關(guān)聯(lián)的結(jié)構(gòu)。語法分析確定語句是否合乎語法,因?yàn)橐粋€(gè)不合語法的語句就更難理解。

語義分析

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

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

2.語法分析對(duì)于自然語言已提出了許多種文法,例如,喬姆斯基(Chomsky)提出的上下文無關(guān)文法就是一種常用的文法。一個(gè)語言的文法一般用一組文法規(guī)則以及非終結(jié)符與終結(jié)符來定義和描述。下面就是一個(gè)英語子集的上下文無關(guān)文法:

sentence

∷=

noun-phrase

verb-phrase

noun-phrase

∷=

determiner

noun

verb-phrase

∷=

verb

noun-phrase

|

verb

determiner

∷=the

a

an

noun

∷=man

student

apple

computer

verb

∷=eats

operates例

15-1一個(gè)基于上述文法的語法分析程序。

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,operates]).append([],L,L).append([H

T],L,[H

L2]):-append(T,L,L2).member(X,[X

]).member(X,[

T]):-member(X,T).這個(gè)程序是先把所給的句子以符號(hào)表的形式約束給謂詞sentence的變量X,然后對(duì)其進(jìn)行分解和變換。如果最終分解、變換的結(jié)果與語言的文法樹相符,則證明所給的句子語法正確;否則語法錯(cuò)誤。例如,對(duì)于句子Thestudentoperatesthecomputer.要用該程序進(jìn)行語法分析,則應(yīng)給出詢問:?-sentence([the,student,operates,the,computer]).這時(shí),系統(tǒng)則回答:Yes

3.語義分析語義分析就是要識(shí)別一個(gè)語句所表達(dá)的意思。語義分析的方法很多,如運(yùn)用格文法、語義文法等。這里僅介紹其中的語義文法方法。

所謂語義文法,就是在傳統(tǒng)的短語結(jié)構(gòu)文法的基礎(chǔ)上,將名詞短語、動(dòng)詞短語等不含語義信息的純語法類別,用所討論領(lǐng)域的專門類別來代替。下面是一個(gè)語義文法的例子:S→PRESENTtheATTRIBUTEofSHIPPRESENT→whatis|canyoutellmeATTRIBUTE→length|classSHIP→theSHIPNAME|CLASSNAMEclassshipSHIPNAME→Huanghe|ChangjiangCLASSNAME→carrier|submarine

15.2.2復(fù)合句理解

復(fù)合句的理解,就不僅要分析各個(gè)簡單句,而且要找出句子之間的關(guān)系。句子之間關(guān)系包括以下幾種:(1)相同的事物,例如:

小華有個(gè)計(jì)算器,小劉想用它。單詞“它”和“計(jì)算器”指的是同一物體。(2)事物的一部分,例如:

小林穿上她剛買的大衣,發(fā)現(xiàn)掉了一個(gè)扣子。

“扣子”指的是“剛買的大衣”的一部分。(3)行動(dòng)的一部分,例如:

王宏去北京出差,他乘早班飛機(jī)動(dòng)身。乘飛機(jī)應(yīng)看成是出差的一部分。

(4)與行動(dòng)有關(guān)的事物,例如:

李明準(zhǔn)備騎車去上學(xué),但他騎上車子時(shí),發(fā)現(xiàn)車胎沒氣了。李明的自行車應(yīng)理解為是與他騎車去上學(xué)這一行動(dòng)有關(guān)的事物。(5)因果關(guān)系,例如:

今天下雨,所以不能上早操。下雨應(yīng)理解為是不能上操的原因。(6)計(jì)劃次序,例如:

小張準(zhǔn)備結(jié)婚,他決定再找一份工作干。小張對(duì)工作感興趣,應(yīng)理解為是由于他要結(jié)婚,而結(jié)婚需要錢而引起的。

“焦點(diǎn)”技術(shù)。舉例:

接著,把虎鉗固定到工作臺(tái)上。螺栓就放在小塑料袋中。螺栓

“焦點(diǎn)”“行動(dòng)規(guī)劃”技術(shù)。舉例:

小王有點(diǎn)餓。他便向行人打聽餐館在哪里。行動(dòng)規(guī)劃:

打聽地址→去餐館→吃飯→不餓

15.2.3轉(zhuǎn)換文法和轉(zhuǎn)換網(wǎng)絡(luò)1.轉(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)。圖15-3給出了一條把主動(dòng)句轉(zhuǎn)換為被動(dòng)句的轉(zhuǎn)換規(guī)則。

轉(zhuǎn)換又可分為被動(dòng)轉(zhuǎn)換、分割轉(zhuǎn)換、疑問轉(zhuǎn)換等等,運(yùn)用這些轉(zhuǎn)換,轉(zhuǎn)換文法可以將一個(gè)句子轉(zhuǎn)換為多種不同的表達(dá)形式。例如,對(duì)于下面這個(gè)簡單的主動(dòng)句:Johnatethebanana.

運(yùn)用被動(dòng)轉(zhuǎn)換,得到:ThebananawaseatenbyJohn.

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

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

運(yùn)用疑問轉(zhuǎn)換,得到:DidJohneatthebanana?2.轉(zhuǎn)換網(wǎng)絡(luò)轉(zhuǎn)換網(wǎng)絡(luò)(TransitionNetwork)全稱為狀態(tài)轉(zhuǎn)換網(wǎng)絡(luò)。它是一種由節(jié)點(diǎn)和有向邊(弧)組成的有向圖。其中節(jié)點(diǎn)代表狀態(tài),有向弧代表從一個(gè)狀態(tài)到另一個(gè)狀態(tài)的轉(zhuǎn)換。一個(gè)轉(zhuǎn)換網(wǎng)絡(luò)中一般有一個(gè)起始節(jié)點(diǎn)(代表起始狀態(tài)),有一個(gè)或多個(gè)終止節(jié)點(diǎn)(代表終止?fàn)顟B(tài))。一般節(jié)點(diǎn)用單線圓圈表示,終止節(jié)點(diǎn)用雙線圓圈表示。

15.3統(tǒng)計(jì)語言模型一個(gè)句子就是由若干詞組成的一個(gè)序列。例如:

小明是一個(gè)學(xué)生。(Xiaomingisastudent.)

設(shè)w1,w2,...,wn為n個(gè)單詞,語句S由詞序列w1,w2,...,wn組成,記為S=w1,w2,...,wn(15-1)又設(shè)C為一個(gè)與語句S屬同一語言的語料庫。則有P(S)=P(w1,w2,...,wn)(15-2)由概率的乘法公式,又有

P(w1,w2,...,wn)=P(w1)P(w2

w1)P(w3

w1,w2)…P(wn

w1,w2,...,wn-1)(15-3)

設(shè)X為從語料庫C中取單詞值的一個(gè)隨機(jī)變量。則有X(t1)=w1,X(t2)=w2,…,X(tn)=wn隨機(jī)變量X按時(shí)間順序t1,t2,...,tn在C中取值的過程可以看作是一個(gè)隨機(jī)過程(Stochasticprocess)。進(jìn)而視為或者假設(shè)為一個(gè)馬爾可夫過程(Markovprocess),或者說馬爾可夫鏈(Markovchain)。于是,有P(w1)P(w2

w1)P(w3

w1,w2)…P(wn

w1,w2,...,wn-1)=

P(w1)P(w2

w1)P(w3

w2)…P(wn

wn-1)于是,(15-3)式就可以簡化為

P(w1,w2,...,wn)=P(w1)P(w2

w1)P(w3

w2)…P(wn

wn-1)(15-4)

公式(15-4)也就是語句S的一種數(shù)學(xué)模型,即

統(tǒng)計(jì)語言模型(StatisticalLanguageModel)。

更準(zhǔn)確地講,公式(15-4)所表示的統(tǒng)計(jì)語言模型稱為二元文法模型(BigramModel)。除了二元模型外,按條件概率中的變量個(gè)數(shù),還有三元、四元、...、N元模型。

15.4神經(jīng)語言模型

15.4.1詞元與編碼分詞,將一個(gè)句子切分成一個(gè)個(gè)具有獨(dú)立語義的稱為詞元(token)的語言符號(hào)片段,作為后續(xù)處理的基本單位。詞元主要是單詞或子詞(一個(gè)詞的組成部分),也包括其他字符,如標(biāo)點(diǎn)符號(hào)、數(shù)學(xué)符號(hào)、化學(xué)符號(hào)、表意符號(hào)等等。1.one-hot(獨(dú)熱或單熱)編碼

設(shè)有詞元表(亦稱詞表或詞典)V={w1,w2,...,w

V

},wi。one-hot編碼就是將V中第i個(gè)詞元wi表示為第i個(gè)分量為1而其余分量皆為0的一個(gè)

V

維向量:(0…,0,1,0,…0)

這意味著詞元wi的one-hot編碼向量(記為oi)的維數(shù)等于相應(yīng)詞表V的長度

V

。原詞表V也就被編碼為一個(gè)

V

V

矩陣。這些one-hot碼向量也就是

V

維實(shí)向量空間R

V

的一個(gè)

V

維子空間:R(0-1)

{(1,0,…,0),(0,1,0,…,0),(0,0,1,0,…,0),…,(0,0,…,0,1)}2.詞嵌入編碼

可把一個(gè)one-hot碼向量看作一個(gè)1

V

矩陣,然后與詞向量表所形成的

V

m矩陣做矩陣乘法運(yùn)算,那么由one-hot碼向量的特點(diǎn),所得結(jié)果恰好就是相應(yīng)詞元的m維詞向量。還需指出,詞向量又分為靜態(tài)詞向量和動(dòng)態(tài)詞向量。靜態(tài)詞向量就是固定不變的詞向量,而動(dòng)態(tài)詞向量則是可以隨上下文的變化而變化的詞向量。顯然,后者能更好地適應(yīng)一詞多義的情形。詞向量又分為靜態(tài)詞向量和動(dòng)態(tài)詞向量。靜態(tài)詞向量就是固定不變的詞向量,而動(dòng)態(tài)詞向量則是可以隨上下文的變化而變化的詞向量。

獲得詞向量的方法仍然是基于神經(jīng)網(wǎng)絡(luò)的機(jī)器學(xué)習(xí)。簡單來講,就是將詞向量的分量作為神經(jīng)網(wǎng)絡(luò)的權(quán)重,從而整個(gè)詞向量表就是一個(gè)權(quán)矩陣,然后利用相關(guān)語料來訓(xùn)練該神經(jīng)網(wǎng)絡(luò),從而得到相應(yīng)的詞向量。這樣,一個(gè)m維的詞向量就含有m個(gè)網(wǎng)絡(luò)模型參數(shù),而整個(gè)詞向量表就含有

V

m個(gè)參數(shù)。具體實(shí)現(xiàn)時(shí),可以與相應(yīng)的語言模型集成在一起進(jìn)行訓(xùn)練,也可以獨(dú)立訓(xùn)練。在這方面,研究者們已提出了許多模型和算法,并做成學(xué)習(xí)軟件。著名的靜態(tài)詞向量學(xué)習(xí)軟件有Word2Vec、GloVe、FastText等。15.4.2前饋神經(jīng)網(wǎng)絡(luò)語言模型1.網(wǎng)絡(luò)結(jié)構(gòu)與數(shù)據(jù)流程輸入層下面小方塊表示所求詞元wt前面依次相鄰的n

1個(gè)詞元wt?n+1,…,wt?2,wt?1的one-hot編碼向量ot?n+1,…,

ot?2,

ot?1。輸入層由n

1組神經(jīng)元組成,自左向右依次對(duì)應(yīng)m維詞向量C(wt?n+1)、…、C(wt?2)、C(wt?1);這些詞向量就是相應(yīng)詞元的one-hot編碼向量所對(duì)應(yīng)的詞向量,這時(shí)它們實(shí)際上已被拼接成了一個(gè)m

(n

1)維向量x了。詞向量C(wi)可由詞元wi的one-hot編碼向量oi與一個(gè)由全體詞向量所組成的

V

m矩陣(記為黑體C)相乘而得,即C(wi)=oiC(但圖中采用了索引方法)。隱層由若干神經(jīng)元組成。輸出層共有

V

個(gè)節(jié)點(diǎn),輸出向量為一個(gè)與下面的one-hot編碼向量同維的實(shí)數(shù)向量。輸出向量再經(jīng)softmax函數(shù)做歸一化變換后才是最終輸出:i-thoutput=P(

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論