最近的工作都是小任務(wù),很簡單的小任務(wù),水水的就寫好了。因?yàn)橛X得自己在自然語言處理方面了解甚少,剩下的時(shí)間就在看《人工智能》,最近再看第8章自然語言理解。很認(rèn)真的看過了解過,現(xiàn)在做一下總結(jié)。
自然語言理解現(xiàn)在大體分為5個(gè)層次:語音分析,詞法分析,語義分析和語用分析。
一.語音分析跳過,直接進(jìn)入詞法分析。所謂詞法分析就是從句子中切分出單詞,找出詞匯的各個(gè)詞素,從中獲得單詞的語言學(xué)信息并確定單詞的詞義。
1.for English
repeat
look for word in dictionary
If not found
Then modify the word
Until word found or no further modification possible
所以在自然語言理解的詞典中一般只放詞根,支持詞素分析可以大大的壓縮電子詞典的規(guī)模。英語詞法分析的難度在于詞義判斷,以為單詞有很多解釋,要判定詞義只能依靠句子中其他相關(guān)單詞和詞組的分析。
2.對(duì)于漢語
漢語中的每一字都是一個(gè)詞素,但是要切分出各個(gè)詞就非常困難,最主要的就是切分歧義。一句話可以有多種拆分方式,要是遇到那種“下雨天留客天留我不留”,基本就死翹翹了。
二.句法分析
這個(gè)和匯編原理里的那個(gè)好像是一樣的,至于到底是不是一個(gè),我也忘卻了。主要分為兩類:基于規(guī)則的方法和基于統(tǒng)計(jì)的方法。
1.短語結(jié)構(gòu)語法
2.喬姆斯基形式語法
3.語法分析樹
4.轉(zhuǎn)移網(wǎng)絡(luò)
5.擴(kuò)充轉(zhuǎn)移網(wǎng)絡(luò)
具體細(xì)節(jié)自己查去,我主要寫一下擴(kuò)充轉(zhuǎn)移網(wǎng)絡(luò)(Augmented Transition Network,ANT),該語法屬于一種增強(qiáng)型的上下文無關(guān)語法。
ANT主要對(duì)轉(zhuǎn)移網(wǎng)絡(luò)中的弧附加了過程得到的,過程的主要功能:對(duì)文法特征進(jìn)行賦值。前后把書翻看幾遍也沒有發(fā)現(xiàn)對(duì)文法特征進(jìn)行賦值是什么,暫理解成把一個(gè)單詞賦給ART,當(dāng)隨著弧走到這時(shí),檢查詞性部分是否等于ART。如果是則把ART賦值給NP,S\DET,否則,失敗引起回溯。第二個(gè)就是檢查數(shù)或人稱條件是否滿足,并據(jù)此允許或不允許轉(zhuǎn)移,整個(gè)ANT語法就構(gòu)成了一個(gè)句法樹。
三.語義分析(百度去吧,谷歌去吧)
大規(guī)模真實(shí)文本的處理
最近做的處理工作好像就是這些,在各種語料中提取各種庫,里面的很多發(fā)現(xiàn)自己也斷斷續(xù)續(xù)的在接觸。
這里的兩個(gè)語料庫一個(gè)是基于wordnet,另一種是hownet.hownet以前介紹過,直接wordnet.
其實(shí)wordnet就是把所有的詞構(gòu)建成一棵樹,整個(gè)名詞組成一個(gè)繼承關(guān)系。

補(bǔ)充一下:在利用worknet進(jìn)行相似度計(jì)算的時(shí)候,詞與詞之間的距離對(duì)于路徑相同的,層次高的要比層次低的層次低的距離遠(yuǎn),稀疏的要比稠密的距離遠(yuǎn)。所以用worknet要hownet考慮更多的問題。對(duì)于句子與句子之間的相似度計(jì)算很容易實(shí)現(xiàn),但是時(shí)間復(fù)雜度太高,上次做優(yōu)化的時(shí)候,在89萬次計(jì)算中,只有1000+的有效計(jì)算,所以選擇把詞與詞之間的距離先算好,直接讀取,要快很多。
最后后面的詞性標(biāo)注和分詞一直都是直接用公司的代碼去調(diào)用的,自己還在學(xué)習(xí)中,期待在不久的將來能夠掌握這些。
一天比一天多一點(diǎn)的進(jìn)步就好,快樂碼農(nóng)中。