References:
- 《speech and language processing 》2nd & 3rd
- 《統(tǒng)計(jì)自然語言處理》第二版
2017.9.2 補(bǔ)充
最近有一個(gè)觀點(diǎn)愈發(fā)明晰: 深度學(xué)習(xí)模型只能作為統(tǒng)計(jì)學(xué)的模型, 用于建模所給的數(shù)據(jù)的分布. 無論是辨別式任務(wù)還是生成式任務(wù). 這遠(yuǎn)不能稱作是"智能". 人類在做出一系列判斷和創(chuàng)作時(shí), 不是僅依賴于以往的數(shù)據(jù)(至少能稱得上是智能的行為不是).
而現(xiàn)實(shí)情況是, 統(tǒng)計(jì)學(xué)上的概率對(duì)個(gè)體的參考價(jià)值很小. 條件分布情況根據(jù)條件的變化差別非常巨大. 個(gè)體的條件是確定的, 而所能參考的統(tǒng)計(jì)學(xué)概率是沒有考慮(也無法考慮)那么多精細(xì)條件的. 所以做出的判斷其實(shí)是對(duì)自身情況做出的判斷, 而那是已經(jīng)確定的(甚至是可以改變的). 舉個(gè)例子: 你在猶豫手頭的論文是投會(huì)議A還是會(huì)議B(假設(shè)只能選擇一個(gè)), 所以你只能參考哪個(gè)會(huì)議的接受率高投哪個(gè), 例如說投A的接受率大. 后來你想想這個(gè)決策太粗糙, 于是進(jìn)一步考慮每一個(gè)會(huì)議中你所寫的方向的中稿率. 這時(shí)候就增加了這一個(gè)條件, 概率分布就很可能發(fā)生巨大變化, 變成了投B接受率大.你又覺得還可以進(jìn)一步增加條件, 比如你論文中使用了一些對(duì)比方法, 使用這些方法的論文的中稿率怎么樣. 結(jié)果你發(fā)現(xiàn)樣本太少了, 置信度太低了... 現(xiàn)在的人工智能模型也面臨這樣的困境. 然而你最后發(fā)現(xiàn), 中不中稿和你前面設(shè)想的一切都沒有關(guān)系, 和你科研能力才有直接關(guān)系, 這就是統(tǒng)計(jì)上的相關(guān)性并無法描述因果性. 現(xiàn)在你對(duì)論文改進(jìn)一下思路, 增加兩個(gè)創(chuàng)新點(diǎn)就可能直接由被拒到被接收, 而這根本無法從統(tǒng)計(jì)上表現(xiàn)出來(所以說統(tǒng)計(jì)對(duì)于個(gè)體的參考價(jià)值極為有限).
當(dāng)然也有很多任務(wù)不需要這么精細(xì)的條件和因果推理機(jī)制, 目前的深度學(xué)習(xí)已經(jīng)表現(xiàn)的很好.
2017年7月25日 補(bǔ)充
自然語言處理應(yīng)該分為兩個(gè)方向,一個(gè)是以理解語言為基礎(chǔ)的場景語言處理;另一個(gè)是大數(shù)據(jù)為基礎(chǔ)的語料模式分析。
前者是微觀下的精細(xì)操作,后者是宏觀下的語料分析。
為什么要明確做出區(qū)分?因?yàn)檫@兩種方向的任務(wù)解決思路有很大不同:
信息來源
也就是條件分布。場景語言處理需要大量借助語言、文本之外的信息,可以是常識(shí)、環(huán)境、場景、時(shí)代、對(duì)象等信息來源。語言在此類任務(wù)中信息熵比較大(也就是很多省略)
語料分析一般不需要文本之外的信息,只要提供語料種類就行。因?yàn)槭谴罅课谋荆虼朔治龇椒ú粦?yīng)該是以理解每一句話為基礎(chǔ),而是以數(shù)據(jù)挖掘?yàn)榛A(chǔ),否則的話就好像拿著米尺去丈量國土面積一樣,雖然更精確,但是不高效。信息處理思路
數(shù)據(jù)挖掘方法就好像視覺系統(tǒng),關(guān)注整體結(jié)構(gòu),忽略局部細(xì)節(jié)。如果不明確任務(wù)方向,就會(huì)有希望用粗糙的觀察來精細(xì)理解語言的錯(cuò)誤指導(dǎo)思想。
數(shù)據(jù)挖掘方法在文本上的局限性
局限性不是說沒有效果,而是不能完美解決。在概率論部分已經(jīng)說民過:不確定的存在是因?yàn)樾畔⒉蛔恪V辽倌壳暗臄?shù)據(jù)挖掘方法用在文本上,正確率在一個(gè)難以接受的百分比上很難再提升了(很多任務(wù)在標(biāo)準(zhǔn)測試上85%都達(dá)不到)。改進(jìn)的途徑當(dāng)然是信息的提取方式。不過語言微觀對(duì)宏觀的影響導(dǎo)致了的其特殊:
- 文本是基于邏輯的,是一個(gè)離散表征系統(tǒng),微妙的變化,如位置、代詞等,會(huì)在宏觀上產(chǎn)生巨大的影響,比如一句話態(tài)度轉(zhuǎn)變。而很難想象圖片上幾個(gè)像素點(diǎn)對(duì)種類存在巨大影響
- 信息難以提取。圖片是用像素點(diǎn)分布的表達(dá)信息,對(duì)于分類來說,信息的分布特征決定種類;文本,即使是篇章級(jí)別的分類,數(shù)據(jù)太少(離散表征性質(zhì)),傳統(tǒng)的基于統(tǒng)計(jì)的方法就很難奏效。這和第一點(diǎn)其實(shí)說的是一件事。
- 前面提到的:大量依賴文本外的信息。結(jié)合第一點(diǎn),那外部條件的變化直接導(dǎo)致了宏觀的變化,而在文本上根本體現(xiàn)不出來。
自然語言學(xué)基礎(chǔ)
語言使用群體
- 自然語言使用群體
個(gè)體特點(diǎn)是語言儲(chǔ)備差別很大,且存在忘詞現(xiàn)象,忘詞概率與使用頻率負(fù)相關(guān)。打一個(gè)比方,就好像一大群人造一個(gè)飛船。大家之前沒有開會(huì)討論分工,就是這么開干了。顯然,這有好處——說干就干,不需要商討一個(gè)方案,反復(fù)修改完善,直到大家通過了才開干(這樣往往因?yàn)橐庖姴缓希桨甘冀K確定不下來,并且由于人類的認(rèn)知局限性,也不可能構(gòu)造一個(gè)完美的方案);不過也有壞處,就是經(jīng)常發(fā)生重復(fù)造輪子、標(biāo)準(zhǔn)不統(tǒng)一等。而這就很好地復(fù)現(xiàn)了當(dāng)今的語言現(xiàn)象。上千種語言,同義詞,誤解,語言發(fā)展。 - 形式語言使用群體
完全等同、不會(huì)遺忘的計(jì)算機(jī)之間的交流,這也說明了:語言的產(chǎn)生取決于使用語言的群體中個(gè)體的特性。
自然語言很明顯不是一個(gè)高效的語言。語言的使用也是針對(duì)群體的。
自然語言的信息量
承接上面的“語言的使用也是針對(duì)群體的”,自然語言是一種人類產(chǎn)生的、用于溝通的信息。從這種意義上來說,與圖片等其他信息相比,它是“非自然的”。可以想象,如果我們與另一個(gè)文明交流,最有效的信息載體應(yīng)該是圖像,而不是自己使用的語言。自然圖像是自然信息,很大程度上獨(dú)立于接受圖像信息的群體,不需要借助群體的知識(shí)、經(jīng)驗(yàn)對(duì)圖像進(jìn)行解讀[1]。像計(jì)算機(jī)語言,除了幾個(gè)基本的邏輯外,解讀并不需要借助經(jīng)驗(yàn)。如果你清楚一門計(jì)算機(jī)語言的手冊的話,你無需之前閱讀大量實(shí)例代碼,根據(jù)一段代碼本身就能將其完全理解,也就是計(jì)算機(jī)語言編寫的文本是與其他共文本完全獨(dú)立的。自然語言不行,很多語言承接著已有的語言習(xí)慣和資料。
計(jì)算語言學(xué)與自然語言處理(Computational Linguistics & Natural Language Processing)
通過建立形式化的計(jì)算模型來分析、理解和生成自然語言的學(xué)科,是人工智能和語言學(xué)的分支學(xué)科。計(jì)算語言學(xué)是典型的交叉學(xué)科,其研究常常涉及計(jì)算機(jī)科學(xué)、語言學(xué)、數(shù)學(xué)等多個(gè)學(xué)科的知識(shí)。與內(nèi)容接近的學(xué)科自然語言處理相比較,計(jì)算語言學(xué)更加側(cè)重基礎(chǔ)理論和方法的研究。
自然語言處理是研究如何利用計(jì)算機(jī)技術(shù)對(duì)語言文本(句子、篇章或話語等)進(jìn)行處理和加工的一門學(xué)科,研究內(nèi)容包括對(duì)詞法、句法、語義和語用等信息的識(shí)別、分類、提取、轉(zhuǎn)換和生成等各種處理方法和實(shí)現(xiàn)技術(shù)。
—— 《計(jì)算機(jī)科學(xué)技術(shù)百科全書》
中英對(duì)照術(shù)語(Terminology)
linguistic 語言學(xué)
homonymous adj.同形詞
polysemy adj. 多義詞
semantical adj. 語義上的
syntactic adj.句法的
lexical adj. 詞法的
morphological adj. 形態(tài)學(xué)的
predicate calculus 謂詞邏輯
概率
特征空間、類樣本重疊
特征空間是觀察尺度下的空間(以下特征空間和觀測空間不做區(qū)分),每一維度都是可精確測量的。每一個(gè)樣本(sample)都屬于一個(gè)類別,且在特征空間中有一個(gè)坐標(biāo)。我們作一個(gè)假設(shè):一個(gè)樣本在有限個(gè)相關(guān)物理量下,確定地屬于一個(gè)類別[2],也就是當(dāng)我們能夠獲取一個(gè)樣本全部有價(jià)值的信息時(shí),就能斷言樣本屬于某個(gè)類別,不存在例外。比如我們能夠測量某次拋硬幣時(shí)所有的力度、角度、空氣動(dòng)力、硬幣材質(zhì)等物理量,就一定能計(jì)算出硬幣到底是哪一面朝上。但對(duì)于絕大多數(shù)實(shí)際問題,獲取樣本全部的、精確的物理量,并且還有一個(gè)絕對(duì)正確的模型是不現(xiàn)實(shí)的,因此在實(shí)際的觀察尺度下,我們并不能精確地劃分樣本的類別。并且大多數(shù)情況下,離散特征空間的樣本存在坐標(biāo)重合的情況;即使是連續(xù)空間(樣本點(diǎn)幾乎不能可能重疊),某些區(qū)域不同類別的樣本點(diǎn)也會(huì)出現(xiàn)緊密混雜的現(xiàn)象
觀察空間一般是易于獲取的宏觀測量量,而且通常是有價(jià)值信息和無價(jià)值信息的非線性混合。比如我們需要判斷某一化學(xué)反應(yīng)產(chǎn)物,最直接有效的、決定性的信息(特征)應(yīng)該是分子動(dòng)量的空間分布,但那是不可獲取的,僅僅能測量一些局部的、宏觀的溫度信息。并且這些溫度還混雜了很多不相關(guān)信息(溫度計(jì)材料等)。
從這個(gè)角度上來看,我們可以認(rèn)為樣本分布在有效信息的特征空間下是存在確定邊界的,而觀測空間是原始空間經(jīng)過非線性變換得到的,于是存在不可分的現(xiàn)象。
概率(值/分布)及其估計(jì)
概率論解決的就是在給定的觀測尺度下,對(duì)事件進(jìn)行預(yù)測。概率論假設(shè)在特征空間中,樣本服從某一概率分布。真實(shí)的概率分布也是無法準(zhǔn)確知曉的,某一點(diǎn)處的概率分布只能通過周圍樣本個(gè)數(shù)來估計(jì)。在給定某樣本的坐標(biāo)時(shí),我們就可以估計(jì)其屬于某一類別的可能性,也就是概率值 。
概率值和概率分布沒有本質(zhì)區(qū)別,僅僅是觀測空間的區(qū)別。相對(duì)于后者,前者的觀測空間是特殊的離散二值觀測空間{是,否}.
它們通常是基于大規(guī)模的統(tǒng)計(jì)進(jìn)行估計(jì)。
生成模型與判別模型
這里從分布的角度談一談。對(duì)于同一事件判斷,生成模型是需要建模所有信息為變量下的分布:如果一個(gè)事件涉及到N個(gè)相關(guān)信息,那么生成模型就需要準(zhǔn)確建模這N個(gè)變量的聯(lián)合分布;而判別式模型是在給定N-1個(gè)變量的條件下,建模一個(gè)變量的分布,可以看出難度小了很多,數(shù)據(jù)更加密集,誤差也可控。
條件概率$P(Y_1Y_2...|X_1X_2...)$
注意從條件概率開始,特征空間就處于隨時(shí)變化的情況,讀者請(qǐng)注意。下文中信息和條件是等價(jià)概念,不做區(qū)分。
條件概率就是給一定的信息,新的概率。這條件除了來自于事件相關(guān),甚至還來自于觀察者,比如我只關(guān)心在常溫下某化學(xué)反應(yīng)條件,不會(huì)去測量幾千度下的情況。因此“常溫”也算是一個(gè)條件。這樣來看的話,不存在絕對(duì)無條件分布,概率都是條件的(有前提的)。
概率分布就是在觀測空間里每一坐標(biāo)上的條件概率分布。注意,這里的條件概率分布有了新的觀測空間,可以說特征空間X的每一個(gè)點(diǎn)都通向了新的觀測空間Y。當(dāng)然,條件不必須是一個(gè)完整的坐標(biāo),還可以是X中的一個(gè)區(qū)間,比如邊緣分布就是將X空間的某些維度進(jìn)行了壓縮映射;還可以是區(qū)間構(gòu)成的新區(qū)間,這也暗示了條件不一定非是明確的X空間的坐標(biāo),也可以是其他非特征條件。也就是說,概率分布是針對(duì)觀測空間的,已知一個(gè)條件要想求條件分布,需要先轉(zhuǎn)化為特征空間的區(qū)域,再求對(duì)應(yīng)的條件概率值
可以看到,信息經(jīng)過一個(gè)不好的特征映射后,對(duì)某一條件的分布不確定性變大。
給定一個(gè)特征空間的坐標(biāo),得到的就是后驗(yàn)概率,這是一個(gè)條件概率,也就是根據(jù)觀測獲取了知識(shí)后的概率。還未觀測就已知的概率分布是先驗(yàn)概率,比如我們還未觀看一場比賽就知道種子選手的獲勝概率大。
個(gè)人認(rèn)為更加合理的分布估計(jì)方式應(yīng)該參考貝葉斯的推理和學(xué)習(xí)機(jī)制:在沒有相關(guān)信息的情況下,認(rèn)為是均勻分布,隨著觀察、樣本的收集,分布不斷調(diào)整。人類在自然界中就是如此學(xué)習(xí)的。
特征與分布參數(shù)
在特征空間中,完全確定一個(gè)樣本的特征向量就相當(dāng)于確定了樣本的坐標(biāo),于是$P(w_i|X)$就確定了。
信息論相關(guān)
$$H(X)=-\sum_{x\in\chi}p(x)\log_2p(x)$$
NLP中消歧、序列標(biāo)注任務(wù)(字/詞級(jí)別)
機(jī)器學(xué)習(xí)最常見的任務(wù)就是消歧任務(wù),也就是分類任務(wù),也是其理論最完善、模型眾多、運(yùn)用最成功的任務(wù)。按照前面條件概率的理解,消歧就是利用信息確定關(guān)注變量的取值,比如我們需要確定一個(gè)詞的詞性,詞性就是關(guān)注變量(設(shè)為變量X),需要確定詞性的詞就是一個(gè)信息,而且是很重要的信息,一下子就把概率集中到少數(shù)幾個(gè)詞性上,甚至是一個(gè)詞性上。如果是集中到幾個(gè)詞性上,那我們需要進(jìn)一步獲取其他信息(一般是相鄰詞形、詞性),幫助概率的進(jìn)一步集中(進(jìn)一步集中不一定是大概率吸收小概率,條件概率經(jīng)常出現(xiàn)反轉(zhuǎn))。序列標(biāo)注(sequence labeling)是比分類含義更加廣泛的一個(gè)任務(wù)[3],在自然語言處理中更加常見。一方面文本天然就是序列信息;另一方面更加本質(zhì):需要分類的對(duì)象本身對(duì)于分類任務(wù)所能提供的信息量非常少,更多的信息是來源于上下文,甚至可以說,上下文決定當(dāng)前對(duì)象的標(biāo)注類別,比如詞義消歧,人類甚至可以在把這個(gè)詞去掉的情況下,依靠上下文對(duì)詞義進(jìn)行推理。這在常見的機(jī)器學(xué)習(xí)分類/序列標(biāo)注任務(wù)中獨(dú)樹一幟——圖像分類,連續(xù)手寫體識(shí)別,甚至和NLP相近的語音識(shí)別都主要依靠待標(biāo)注的對(duì)象本身的信息。上下文信息的合理有效挖掘也是NLP中的難點(diǎn),甚至可以說到現(xiàn)在未被有效解決,以至于機(jī)器學(xué)習(xí)在NLP中效果差強(qiáng)人意,遠(yuǎn)不能和人類水平相提并論。文本長距離依賴、語義層面(比文本更加抽象的層次)依賴、文本之外信息依賴(常識(shí)、語境),這些都是NLP的“特色問題”,而目前沒有模型能夠能夠很好解決。
字/詞級(jí)別特征
對(duì)于詞級(jí)別的任務(wù),一般是從上下文中,也就是相鄰文本中的提取特征。
特征模板(也就是特征的設(shè)計(jì),超參數(shù))可以從以下三個(gè)方面考慮:
- 特征的類型:詞形、詞性、詞形+詞性,3種情況
- 上下文窗口大小:當(dāng)前詞的左右2個(gè)詞,1種情況;
- 是否考慮位置:是或否,2種情況。
上面這些特征模板構(gòu)造的特征都是是離散、二值的,也就是只存在滿足/不滿足兩種情況,滿足的話特征函數(shù)取值為1,不滿足取值為0, 比如設(shè)計(jì)某一特征是:相鄰兩個(gè)詞之內(nèi)是否存在‘我’,‘和’。這個(gè)特征就是只考慮字形、窗口為2、不考慮位置的一個(gè)特征。可以看到,這種離散的特征幾乎就是規(guī)則,類似于正則表達(dá)式的匹配,這是由于文本的局部信息離散且少。很多用于很笨的機(jī)器學(xué)習(xí)方法都使用上述類型的特征,比如條件隨機(jī)場CRF,這些規(guī)則都需要人為設(shè)計(jì)[4]。可以想象,面對(duì)應(yīng)當(dāng)需要推理的文本任務(wù),比如詞義消歧,得需要多么精細(xì)、復(fù)雜的規(guī)則才能得到一個(gè)比較理想的結(jié)果。
任務(wù)1: 詞義消歧(word sense disambiguate, WSD)
利用豐富的上下文,先把這個(gè)詞去掉,如果能推測出一個(gè)(或者多個(gè))詞義,且這些詞義中恰好存在多義詞的一個(gè)詞義的話,就可以消歧。人類由于存儲(chǔ)計(jì)算能力有限,在日常語言處理中習(xí)慣很快消歧,而不是存儲(chǔ)多種可能性。
WSD的測試數(shù)據(jù)
測試需要標(biāo)注的數(shù)據(jù)。為了避免使用人工標(biāo)注,一種巧妙的方法是“創(chuàng)造偽多義詞”:在真實(shí)語料中n個(gè)僅有一個(gè)詞義的詞用同一個(gè)“偽詞”代替,這個(gè)“偽詞”就可以看作具有多個(gè)詞義的多義詞,用于測試詞義消歧算法。
任務(wù)2:詞性消歧(part of speech, POS)
著名的語料庫:the Penn Treebank (Marcus et al., 1993)包含了45種詞性。
作用
- 是命名體識(shí)別的重要特征
- 文章抽取名詞
- 辨別發(fā)音
- 句法分析(syntactic parsing)
詞性標(biāo)注任務(wù)
從標(biāo)注角度來看,詞性標(biāo)注屬于消歧任務(wù)。同一個(gè)寫法的詞可能有多種詞性。字典中85%左右的詞僅有一個(gè)詞性,但是由于常用詞很多都是多標(biāo)簽的,因此超過一半的概率會(huì)出現(xiàn)歧義。詞性標(biāo)注的baseline是不考慮詞的上下文,只選擇最大可能的tag作為輸出。baseline的準(zhǔn)確率也能達(dá)到92%,目前(2016)最好的準(zhǔn)確率大約是97%.
從標(biāo)簽集合(tagset)來看,標(biāo)簽有開集合(open class)和閉集(closed class)和的區(qū)分。開集合引入一個(gè)問題就是未登錄詞,推測未登錄詞(OOV)詞性信息量最大的是詞形morphology.
任務(wù)3:命名體識(shí)別(named entity recognition, NER)
命名體:人名、地名、組織機(jī)構(gòu)名、時(shí)間表示、數(shù)字表示。
任務(wù)4:實(shí)體關(guān)系抽取
NLP中用于消歧、序列標(biāo)注的模型
最大熵(Maximum Entropy)
概率圖:HMM & MCMM & CRF
-
HMM
參考HMM用于輸入-輸出等長的序列標(biāo)注任務(wù)。
對(duì)于OOV,$ P(w_i|t_i) $無法計(jì)算,不過可以利用詞形對(duì)詞性做判斷。。。。。
-
MEMM(Maximum Entropy Markov Models)
是一個(gè)判別序列模型,
-
CRF
CRFs and MEMMS are discriminative sequence models whereas HMMs are generative sequence models. HMM essentially uses Bayes Rule as a local model over the transition and emission probabilities, whereas CRF and MEMM's local models are MaxEnt models over transition and observable features. The chief difference between MEMM and CRF is that MEMM is locally renormalized and suffers from the label bias problem, while CRFs are globally renormalized.
NLP中的規(guī)則方法
規(guī)則驅(qū)動(dòng)方法VS數(shù)據(jù)驅(qū)動(dòng)方法
由前面的語言現(xiàn)象類比可以想象,語言是動(dòng)態(tài)的,即使是同一種語言也不會(huì)由有限個(gè)規(guī)則所描述。新的語言形式不斷在被創(chuàng)造。
不過,語言畢竟是大多數(shù)人使用的,畢竟也流傳千年,因此很大一部分是滿足非常基本的規(guī)則的。這些語言規(guī)則就好像成為了磚瓦。
規(guī)則編寫工作量大,且領(lǐng)域相關(guān)性密切,無法領(lǐng)域遷移。
句法分析(Syntactic Parsing)
句法分析就是對(duì)一個(gè)句子分配一個(gè)句法結(jié)構(gòu)。對(duì)語法檢查(grammar checking)、語義理解(semantic analysis)有參考性。
形式語言與文法
NLP中與規(guī)則相關(guān)的方法一般都體現(xiàn)在基于文法的句法分析上,其基本假設(shè)是:自然語言是一種形式語言。
形式語言是由規(guī)則生成的語言:反復(fù)使用有限的、確定的字符串改寫規(guī)則。這個(gè)規(guī)則集合就是文法。
形式語法是一個(gè)4元組 $G=(N, \Sigma, P, S)$. 其中$N $是非終結(jié)符的有限集合(包含詞性標(biāo)注,有時(shí)也叫變量集或句法種類集);$ \Sigma $是終結(jié)符的有限集合,也就是我們書寫的詞,$N\cap\Sigma=\phi$; $V=N\cup\Sigma$稱總詞匯表;$P$ 是一組重寫規(guī)則的有限集合:$P={\alpha\rightarrow\beta }$,其中,$\alpha, \beta$是$V$ 中元素構(gòu)成的串,但$\alpha$ 中至少應(yīng)含有一個(gè)非終結(jié)符號(hào);$S\in N$,稱為句子符或初始符。
- 自由文法
對(duì)于$P$,即改寫規(guī)則,有不同的設(shè)計(jì)模板。設(shè)計(jì)模板體現(xiàn)了規(guī)則的設(shè)計(jì)自由度。最自由的當(dāng)然就是左右兩端沒有任何約束,稱無約束文法,或者0型文法。這樣左右兩端規(guī)則的可能情況都是無限的,比如遇見字符串$\alpha_1$就轉(zhuǎn)化為$\beta_1$. - 上下文有關(guān)文法
現(xiàn)在對(duì)改寫做出一定限制:一條規(guī)則只將一個(gè)字符$A\in N$進(jìn)行改寫,而不是字符串到字符串的改寫(比如說改寫成$\gamma$)。但不是僅僅聚焦需要改寫的$A$,同時(shí)需要參考其上下文,僅有當(dāng)$A$相鄰字符滿足規(guī)則時(shí),才能進(jìn)行改寫,這就是上下文有關(guān)的文法:$\alpha A \beta \rightarrow \alpha \gamma \beta$。可以看出該寫規(guī)則的自由度確實(shí)減小了,如果對(duì)改寫規(guī)則進(jìn)行編碼的話,需要的編碼長度會(huì)變小。 - 上下文無關(guān)文法CFG
最為流行的文法類型是Context-Free Grammar, or CFG. 仍然是一條規(guī)則只將一個(gè)字符$A\in N$進(jìn)行改寫,不過這次不需要考慮上下文:$A \rightarrow \gamma $。這里的規(guī)則的自由度更加小了(不要覺得A去掉了上下文的約束,更加“自由”了,而要從可能規(guī)則集合的大小考慮)。目前英語最為流行的CFG是由Noam Chomsky規(guī)范的。 - 正則文法
再進(jìn)一步約束規(guī)則的話就只能約束規(guī)則右端了。正則文法規(guī)定規(guī)則右端的非終結(jié)符號(hào)(如果有的話)出現(xiàn)在最左邊:$A\rightarrow B x \ | A\rightarrow x , x\in \Sigma$.
自動(dòng)機(jī)運(yùn)用于文法
文法就是基于規(guī)則的字符串改寫,完全是確定的,因此可以使用自動(dòng)的程序進(jìn)行改寫。自動(dòng)機(jī)也可以用來判斷一個(gè)字符是否可以被其對(duì)應(yīng)的文法產(chǎn)生。基于當(dāng)前狀態(tài)和輸入,產(chǎn)生下一狀態(tài)的系統(tǒng)稱為自動(dòng)機(jī)。不同自由度的文法系統(tǒng)對(duì)應(yīng)不同類型的自動(dòng)機(jī)(如下);同一自由度的文法系統(tǒng)的不同規(guī)則的文法對(duì)應(yīng)不同狀態(tài)該寫規(guī)則的自動(dòng)機(jī):
-
有限自動(dòng)機(jī)
$M=(\Sigma ,Q,\sigma,q_0,F)$, 只能進(jìn)行讀取,然后狀態(tài)依據(jù)輸入進(jìn)行轉(zhuǎn)移,類似于Markov chain. 如果存在對(duì)于某一狀態(tài),根據(jù)當(dāng)前輸入沒有可以轉(zhuǎn)移的規(guī)則,那說明輸入語言不合法;如果存在對(duì)于某一狀態(tài),根據(jù)當(dāng)前輸入有多種轉(zhuǎn)移規(guī)則,那這個(gè)自動(dòng)機(jī)是非確定自動(dòng)機(jī),每一次遇到多種路徑便并行轉(zhuǎn)移,不合法的轉(zhuǎn)移分支消亡,剩余的就是對(duì)應(yīng)的可能轉(zhuǎn)移路線。有限自動(dòng)機(jī)與正則文法是一一對(duì)應(yīng)的:
正則文法$G=(N, \Sigma, P, S)$只有兩種形式:$A\rightarrow B x \ | A\rightarrow x , x\in \Sigma$. 我們很自然地把改寫看作是一次狀態(tài)轉(zhuǎn)移,
根據(jù)正則文法構(gòu)造有限自動(dòng)機(jī)或者根據(jù)有限自動(dòng)機(jī)構(gòu)造正則文法都是比較顯然的了。 - 下推自動(dòng)機(jī)
- 圖靈機(jī)
句法分析中的消歧
句法分析遇到的歧義性:結(jié)構(gòu)歧義(called structural ambiguity)。這是由于一個(gè)句子可能對(duì)應(yīng)多個(gè)可行語法。
兩種常見的句法結(jié)構(gòu)起義:
-
歸屬歧義(attachment ambiguity)
英語句子歧義組合的開塔蘭數(shù)[5]
I saw a boy in the park.
I saw a [boy in the park].; I saw a [boy] in the park.
-
并列歧義(coordination ambiguity)
- old men and women
- 把重要的書籍和手稿帶走了
當(dāng)使用CRF進(jìn)行句法分析時(shí),就已經(jīng)假設(shè)自然語言是由CRF規(guī)則生成的。后面的分析可以得知句法分析存在結(jié)構(gòu)歧義,也即是同一個(gè)句子可以根據(jù)規(guī)則集經(jīng)過不同的推理過程得到。這以現(xiàn)象出現(xiàn)有三種可能:
- 更加自由的文法體系下不會(huì)歧義(比如上下文相關(guān)的文法),這樣有些改寫在特定上下文中就不能進(jìn)行,那些推理過程就不成立。
-
即使真的是由CFG文法產(chǎn)生的,也可能存在歧義:
- 像中文這種頻繁地結(jié)構(gòu)省略語言更是很難用文法生成這種規(guī)則化的方式進(jìn)行描述。借助了本本之外上下文信息,是文法改寫系統(tǒng)本身無法精確描述的。如:
夫人穿著很得體,舉止優(yōu)雅,左臂上掛著一個(gè)暗黃色的皮包,右手領(lǐng)著一只白色的小狗,據(jù)說是京巴(局長夫人)。
僅僅是一個(gè)詞的替換,就有兩種的語義,顯然對(duì)于上面的一句話,一個(gè)完備的文法系統(tǒng)應(yīng)該包含兩種不同的推理。當(dāng)具體是哪一種,僅僅靠字符串上的信息是不夠的(這里兩種不同的句法結(jié)構(gòu)前面的字符串完全一樣),需要常識(shí)進(jìn)行判斷。也就是對(duì)于自然語言,文法生成系統(tǒng)的句法結(jié)構(gòu)歧義是必然存在的。根源在于指代的歧義。拋去常識(shí),在句法結(jié)構(gòu)分析過程中,兩種句法結(jié)構(gòu)都是合理的,人之所以能夠確定為其中一種,是因?yàn)槌WR(shí)可以進(jìn)一步改變句法分析結(jié)果的分布。因此理想系統(tǒng)是將兩中不同指代對(duì)應(yīng)的句法結(jié)構(gòu)都進(jìn)行輸出,而不是強(qiáng)迫系統(tǒng)只能輸出一個(gè)。
推理過程復(fù)現(xiàn)算法
也就是給定一個(gè)語句,分析出怎樣用規(guī)則推導(dǎo)出這個(gè)語句。
-
線圖分析法(chart parsing)
- 自底向上
CYK分析算法
優(yōu)點(diǎn):簡單易行,執(zhí)行效率高
弱點(diǎn):必須對(duì)文法進(jìn)行范式化處理;無法區(qū)分歧義
假設(shè)文法 G(S) 的規(guī)則只有兩種形式:
$$A \rightarrow \alpha $$ $$A \rightarrow BC $$
可以通過范式化處理,使CFG規(guī)則滿足上述形式。這種假設(shè)的文法形式稱為喬姆斯基范式(Chomsky normal form, CNF)。
完全句法分析的評(píng)價(jià)
對(duì)一個(gè)樹狀結(jié)構(gòu)的結(jié)果進(jìn)行評(píng)價(jià)是不常見。當(dāng)然不能組去和完全正確和錯(cuò)誤。一般的評(píng)價(jià)是以除詞性標(biāo)注外的非終結(jié)符為單位,統(tǒng)計(jì)其在樹結(jié)構(gòu)中覆蓋詞的范圍的正確率。
因?yàn)橄到y(tǒng)輸出的非終結(jié)符的個(gè)數(shù)與標(biāo)準(zhǔn)可以不一樣,因此用準(zhǔn)確率、召回率、F值進(jìn)行評(píng)估:
Precision以模型輸出個(gè)數(shù)為分母,其中正確的個(gè)數(shù)為分子(模型輸出的正確占比):
$$\textbf{Precision}: = \frac{\text{系統(tǒng)輸出正確的個(gè)數(shù)}}{\text{系統(tǒng)輸出的總個(gè)數(shù)}} $$
Recall 以理想正確個(gè)數(shù)為分母,實(shí)際正確個(gè)數(shù)為分子(系統(tǒng)能辨別出的占比):
$$\textbf{Recall}: = \frac{\text{系統(tǒng)輸出正確個(gè)數(shù)}}{\text{標(biāo)準(zhǔn)正確個(gè)數(shù)
}} $$
F-measure是兩者的調(diào)和平均(Harmonic Mean):
$$
F=\frac{2}{\frac{1}{P}+\frac{1}{R}}
$$
語言模型
Please turn your homework ...
這句話后面很可能接的是'in',而不可能是其他什么。在給定的語境下,'in'的信息量最小,或者$P(w|Please \ turn\ your \ homework... )$這個(gè)條件分布在$w=in$時(shí)取得最大,且比其他詞高很多。
用頻數(shù)來估計(jì)出現(xiàn)概率依據(jù)的是最大似然準(zhǔn)則。
n元語言模型
就是包含n個(gè)單元(詞或者字)看作是語言的一個(gè)樣本。假設(shè)詞匯量是$|V|$,那么樣本空間(離散的)的大小是$nV$。把某一位置作為變量,其余位置作為條件(通常是最右的位置作為變量,前面的作為上下文),那么給定上下文,就是變量的概率分布(在給定上下文時(shí),如果那個(gè)位置總是只出現(xiàn)特定詞,我們就把那個(gè)概率分布設(shè)定為spike形狀。一般地,給定上下文,出現(xiàn)各種詞匯都有樣本,就是一個(gè)概率分布)。顯然,這個(gè)條件概率分布估計(jì)是統(tǒng)計(jì)各種可能詞的出現(xiàn)頻率,除以所有的滿足上下文的樣本。所以,n元語言模型要求計(jì)算并存儲(chǔ)所有的n元條件概率值(上下文一共$|V|{n-1}$種情況,每種情況$|V|$個(gè))
給定上下文就是給一定信息。信息越多,就越有可能確定某一個(gè)詞,即某一個(gè)詞的條件概率接近1。
- 只需要前兩三個(gè)詞就能百分百確定當(dāng)前詞,比如一些固定搭配,如"亡羊補(bǔ)*",前3個(gè)字就能肯定第四個(gè)是"羊";
- 上下文提供有部分信息,比如很可能是一個(gè)地名的開始,而不會(huì)是其他的字,說明上下文雖然沒有把概率集中到某一個(gè)字/詞上,但還是把概率集中到若干詞上(均勻分布變成了含有峰值的分布);
- 上下文提供的信息不對(duì)當(dāng)前分布都有效。也就是說每一個(gè)詞/字對(duì)信息依賴不同
- 還有一些情況,給得再多上下文也無法確定,通常是可替換搭配,如"這個(gè)夏天我去...",前文哪怕給得再多,對(duì)下一個(gè)字是什么沒有幫助(獨(dú)立),也就是依賴文本之外的信息。這很好理解,因?yàn)槲谋臼怯晌谋局獾哪P?人類大腦)生成的,生成當(dāng)前字/詞的信息沒有包含在上下文中是很正常的。這樣看,精確地預(yù)測下一個(gè)字/詞(即構(gòu)建完美語言模型)是不可能的。
除了信息依賴上的問題,n元語言模型構(gòu)建難點(diǎn)在于:樣本稀疏、或者采樣不合理。根據(jù)已有的文本構(gòu)建n比較大的模型無論是在存儲(chǔ)還是計(jì)算上都是不可實(shí)現(xiàn)的。
語言模型的評(píng)價(jià)
The best way to evaluate the performance of a language model is to embed it in an application and measure how much the application improves. Such end-to-end evaluation is called extrinsic evaluation.
最好的語言模型評(píng)價(jià)方式是外部評(píng)價(jià)(extrinsic evaluation):完成一些易于評(píng)測的文本任務(wù),看結(jié)果是否有提升,比如語言識(shí)別。
不過由于外部評(píng)價(jià)耗費(fèi)計(jì)算量,通常也使用內(nèi)部評(píng)價(jià)作為參考。語言模型的內(nèi)部評(píng)價(jià)就是使用語料庫作為模型輸入,計(jì)算句子的概率值。其基本思想是給測試集的句子賦予較高概率值的語言模型較好,當(dāng)語言模型訓(xùn)練完之后,測試集中的句子都是正常的句子,那么訓(xùn)練好的模型就是在測試集上的概率越高越好。
模型對(duì)于句子給出的概率值越高越好?
之前疑惑,要是模型對(duì)所有可能的句子輸出概率值都很高怎么辦?
系統(tǒng)輸出的是概率(而不是像一般的分類模型,給的是類別標(biāo)簽)。這里假設(shè)了系統(tǒng)是一個(gè)合法的概率分布,即滿足輸出歸一化的條件。這樣只需要考慮正常句子概率值高就是一個(gè)合理的語言模型。
由于一般的模型是通過短句子(或者詞)連乘來估計(jì)得到長句子的概率,那短句子更容易獲得一個(gè)高的概率值。于是希望模型價(jià)值與句子長度無關(guān),通常得到的概率值還要進(jìn)一步處理,用困惑度(perplexity)來評(píng)價(jià)模型:
語言模型都就是指語言模型對(duì)于測試數(shù)據(jù)集的困惑度。測試集語句概率值越大,困惑度越小,模型越合理。
語言模型的建立與使用
語言模型非常依賴于訓(xùn)練語料的風(fēng)格,或者說是語料場景。因此在使用時(shí)需要明確使用用環(huán)境。
數(shù)據(jù)平滑
-
加1法(Additive smoothing)
n元語法,每一種n元的情況(每一種條件)出現(xiàn)的次數(shù)加1。
對(duì)于n>2的情況,僅僅是條件概率的條件變成了多個(gè),上述公式仍然適用。 - 減值法/折扣法(Discounting)
基本思想:保證總樣本數(shù)不變,減小一個(gè)樣本貢獻(xiàn)度。而上面的加值其實(shí)是增加了樣本數(shù)量- Good-Turing 法:對(duì)非0事件按公式削減出現(xiàn)的次數(shù),節(jié)留出來的概率均分給0概率事件。。
在整個(gè)縮減過程中,保證總計(jì)數(shù)不變,即計(jì)數(shù)值變換前后$N=\sum_{r=0}{\infty}n_rr=\sum_{r=1}^{\infty}n_rr$
這里的削減不是自然數(shù)的削減(否則出現(xiàn)次數(shù)為1削減后等于0了),而是浮點(diǎn)數(shù)的削減,削減之后出現(xiàn)次數(shù)不再是自然數(shù),而是浮點(diǎn)l數(shù)了。滿足上式的一個(gè)解是:$r^=(r+1)\frac{n_{r+1}}{n_r}$.
這樣,原先出現(xiàn)$r$次對(duì)應(yīng)的概率是$p=\frac{r}{N}$,改變計(jì)數(shù)值后變?yōu)?p*=\frac{r*}{N}$ - Katz 后退法:對(duì)非0事件按Good-Turing法計(jì)算減值,節(jié)留出來的概率按低階分布分給0概率事件。
- 絕對(duì)減值法:對(duì)非0事件無條件削減某一固定的出現(xiàn)次數(shù)值,節(jié)留出來的概率均分給0概率事件。
- 線性減值法:對(duì)非0事件根據(jù)出現(xiàn)次數(shù)按比例削減次數(shù)值,節(jié)留出來的概率均分給0概率事件
- Good-Turing 法:對(duì)非0事件按公式削減出現(xiàn)的次數(shù),節(jié)留出來的概率均分給0概率事件。。
神經(jīng)網(wǎng)絡(luò)語言模型
與一般的語言模型一樣,都是計(jì)算在給定上下文的條件下,某一個(gè)詞的離散概率,如$P(good| the \ movie \ is \ )$的值。更加規(guī)范地,語言模型應(yīng)該是給定上下文的條件下,當(dāng)前詞在詞匯表上的離散概率分布。$p (w_t|contaxt)$-
前饋神經(jīng)語言模型(Bengio et al., 2003)
-
循環(huán)神經(jīng)網(wǎng)絡(luò)語言模型
這個(gè)模型解除了信息依賴的限制:當(dāng)前信息不再只能依靠n-1個(gè)周圍詞,而是理論上能夠從無限長的上下文中獲取信息:
神經(jīng)網(wǎng)絡(luò)語言模型本身是連續(xù)的,而且能夠?qū)Ω怕手捣植际酱鎯?chǔ)(以至于參數(shù)無法解釋,像一個(gè)黑箱),好處是:
- 不需要平滑(連續(xù)值表征)
- 以相對(duì)少的參數(shù)存儲(chǔ)(表征)大量離散參數(shù)
- 對(duì)詞進(jìn)行連續(xù)空間的嵌入。這一步是順帶的。語言模型的輸入是離散的詞,通過一個(gè)表,將詞用一個(gè)200維左右的相連進(jìn)行表征。這個(gè)二維浮點(diǎn)參數(shù)表在語言模型的訓(xùn)練過程中(上下文條件概率分布逼近one-hot實(shí)際值),不斷調(diào)整。連續(xù)壓縮表征語言的目標(biāo)使得這個(gè)表的參數(shù)在調(diào)整過程中,上下文相近的詞,低維連續(xù)向量表征也相似。
分詞——比字更高一層的語言表征單位
字(character)構(gòu)成詞(word), 由于中文等的特殊性,得到詞為單位的文本需要進(jìn)行分詞,也就是在漢語文本中的詞與詞之間加上邊界。可以說,分詞是實(shí)現(xiàn)比字更抽象(高層)的文本單位來表征文本,這個(gè)文本單位更能表征語義,因此能夠幫助產(chǎn)生合理的停頓、重音、語氣等。分詞任務(wù)困難有三點(diǎn):
- 分詞規(guī)范
這使得分詞認(rèn)為成為沒有明確定義的任務(wù)。分詞是一種文本處理的中間環(huán)節(jié),學(xué)習(xí)語言不需要顯示進(jìn)行這項(xiàng)任務(wù),而是在完成其他任務(wù)的過程中隱式完成。因此分詞的實(shí)現(xiàn)情況是因人而異的,甚至同一個(gè)人也無法給出明確標(biāo)準(zhǔn)。這和詞嵌入(詞的相似度表征)非常相似,也是在實(shí)現(xiàn)語言模型過程中作為中間結(jié)果自動(dòng)產(chǎn)生的。 - 歧義切分
同一個(gè)短語存在多種合法分詞方式,只有少數(shù)分詞方式是合理的,這個(gè)合理需要借助語義激勵(lì)性分析,比如:這篇文章寫得太平淡了。
[*]一個(gè)有趣的問題是:人在閱讀文字的時(shí)候是先進(jìn)行分詞再產(chǎn)生文本的理解,還是先對(duì)文本理解再產(chǎn)生分詞?前面說了,有效的分詞很大程度依賴語義理解;而不先進(jìn)行分詞,又怎么進(jìn)行語義的分析呢?這似乎說明了分詞與語義并不是完全分開的,而是動(dòng)態(tài)結(jié)合、相互信息支撐的部分(可以參考EM算法思想)。基本的步驟是:按照最常見的分詞方式(初始化)進(jìn)行分詞,發(fā)現(xiàn)得到的語義不合理,于是回頭重新進(jìn)行分詞,一般就得到合理的句子了。 - 未登錄詞識(shí)別
- 語言發(fā)展產(chǎn)生的新詞匯
這些詞匯本身與已經(jīng)存在詞匯沒什么區(qū)別,只是再社會(huì)環(huán)境中偶然出現(xiàn),并被大家認(rèn)可的詞匯,這是語言適應(yīng)時(shí)代、環(huán)境發(fā)展的表達(dá)能力,就好比社會(huì)發(fā)展中新工作的產(chǎn)生一樣。 - 專有名詞(proper name):人名、地名、機(jī)構(gòu)名、時(shí)間、數(shù)字表達(dá)
- 專業(yè)名詞和研究領(lǐng)域名稱
- 其他專用名詞。如書名、電影等
- 語言發(fā)展產(chǎn)生的新詞匯
分詞算法
基于詞典的最大匹配法 (Maximum Matching, MM),根據(jù)匹配方向分為:
- 正向最大匹配算法 (Forward MM, FMM)
- 逆向最大匹配算法 (Backward MM, BMM)
- 雙向最大匹配算法 (Bi-directional MM)
基本思想是從詞典中按照詞從長到短的對(duì)文本進(jìn)行匹配,形象表示是一個(gè)指針從起點(diǎn)開始,依據(jù)詞典,盡可能向前跳轉(zhuǎn)。比如詞典中最長詞為m,指針希望每一次向前跳轉(zhuǎn)m個(gè)字,但是并匹配不上,于是減小期望,希望向前跳轉(zhuǎn)m-1個(gè)字...直到能正確匹配上,才真正進(jìn)行跳轉(zhuǎn)。顯然一次跨過的那些字就是詞典中的一個(gè)詞。)
淺句法分析(Partial Parsing / chunking)
動(dòng)機(jī)(motivation):樹狀結(jié)構(gòu)分析是對(duì)語言的精細(xì)處理(fine-grained manipulation),任務(wù)復(fù)雜,人類也不會(huì)這般處理。拿圖像領(lǐng)域做一個(gè)類比,就好像從一個(gè)復(fù)雜的迷宮中找一條路徑。我們在處理日常文字信息時(shí),面對(duì)的都是簡單的(或者說是常見的)、少數(shù)的語法,并且不會(huì)非常仔細(xì)地用一個(gè)樹狀結(jié)構(gòu)進(jìn)行句法分析,更通常是從句子中提取短語塊(chunk),然后用一個(gè)宏觀的語法來分析語句。這也是我們?nèi)祟愒谔幚泶罅课谋拘畔r(shí)的一個(gè)簡化方式(快速閱讀),無需仔細(xì)進(jìn)行語法檢查等。
Chunking-System Evaluations
Precision以模型輸出個(gè)數(shù)為分母,其中正確的個(gè)數(shù)為分子(模型輸出的正確占比):
$$\textbf{Precision}: = \frac{\text{Number of correct chunks given by system}}{\text{Total number of chunks given by system}} $$
Recall 以理想正確個(gè)數(shù)為分母,實(shí)際正確個(gè)數(shù)為分子(系統(tǒng)能辨別出的占比):
$$\textbf{Recall}: = \frac{\text{Number of correct chunks given by system}}{\text{Total number of actual chunks in the text
}} $$
F-measure是兩者的調(diào)和平均(Harmonic Mean):
$$
F=\frac{2}{\frac{1}{P}+\frac{1}{R}}
$$
依存分析(Dependency Parsing) ch14
可以看出,依存分析沒有詞性類別和短語結(jié)構(gòu)類別。與基于短語結(jié)構(gòu)的句法分析相比,依存分析對(duì)句子結(jié)構(gòu)要求非常寬松。一個(gè)新的句子結(jié)構(gòu)可以直接用依存分析表示,但是句法分析需要?jiǎng)?chuàng)建新的對(duì)應(yīng)語法才能表示。兩者都是用樹進(jìn)行表示,不過前者需要借助中間結(jié)點(diǎn)(原語句沒有的詞語),表示的是由詞匯構(gòu)成(抽象)的短語之間的關(guān)系;而后者所有節(jié)點(diǎn)都是原語句中的詞匯,表示的是兩個(gè)詞之間的有向關(guān)系(grammatical relation)。有向關(guān)系的出結(jié)點(diǎn)是頭(head),入結(jié)點(diǎn)是依賴(dependent)
Evaluation
準(zhǔn)確率就是一句話中,被正確分配依存關(guān)系的詞的個(gè)數(shù)/總的詞的個(gè)數(shù)。注:關(guān)系數(shù)與詞的個(gè)數(shù)相同,因?yàn)槊恳粋€(gè)有向關(guān)系都有一個(gè)入度,而每個(gè)詞有且僅有一個(gè)入度,考察每個(gè)詞其實(shí)是考察入度對(duì)應(yīng)的詞、標(biāo)簽是否正確
正確的詞有下面一些準(zhǔn)則:
- labeled attachment score (LAS):
考察所有的詞(也就是以詞的個(gè)數(shù)為分母),入度對(duì)應(yīng)的詞正確率 - unlabeled attachment score (UAS):
考察所有的詞,入度對(duì)應(yīng)的詞和標(biāo)簽正確率 -
dependency score (DS):
考察根節(jié)點(diǎn)外的詞,入度對(duì)應(yīng)的詞的正確率(也即是分母比UAS少1)
語義分析
任務(wù):
語義分析任務(wù)一 —— 詞義消歧
語義分析任務(wù)二 —— 語義角色標(biāo)注
以謂語為中心,分析出句子的描述的事件:時(shí)間、地點(diǎn)、任務(wù)等
目前的語義角色標(biāo)注方法非常依賴于句法分析結(jié)果、且領(lǐng)域適應(yīng)性差。
領(lǐng)域適應(yīng)性測量
訓(xùn)練集和測試集選擇不同的語料庫(一般是不同的文體)。
篇章分析
篇章分析是指多語句之間的關(guān)系分析。篇章內(nèi)部存在銜接性,也就是指代現(xiàn)象。確定指代對(duì)象也可以看作一種消歧任務(wù)。
準(zhǔn)確指代需要挖掘更加抽象的信息,
語料庫
Tree Bank
代表性的是Penn Tree Bank,中文是CTB. 都包含了句法結(jié)構(gòu)和詞性
樹庫擴(kuò)展
賓夕法尼亞大學(xué)樹庫PTB的擴(kuò)展:
- 命題庫PropBank (Proposition Bank)
PropBank 的目標(biāo)是對(duì)原樹庫中的句法節(jié)點(diǎn)標(biāo)注上特定的論元標(biāo)記 (argument label),使其保持語義角色的相似性 - 名詞化樹庫NomBank (Nominalization Bank)
NomBank標(biāo)注的是樹庫中名詞的詞義和相關(guān)的論元信息。 - 語篇樹庫 (Penn Discourse Tree Bank, PDTB)
WordNet & WikiBase & FreeBase
自然語言產(chǎn)生于人類的社會(huì)活動(dòng),由于沒有強(qiáng)制的(??)語言規(guī)定,自然語言本質(zhì)更適合用復(fù)雜系統(tǒng)進(jìn)行描述。復(fù)雜系統(tǒng)中有各種形式的個(gè)體,lemma,word sens...他們之間構(gòu)成了相互交錯(cuò)的、動(dòng)態(tài)演化的復(fù)雜網(wǎng)絡(luò)。
同義詞(synonymy)
同義詞是詞義上的可替換,而不是詞的可替換。幾乎不存在兩個(gè)在任何語境下可替換的詞。這是語言冗余、魯棒的原因之一:不會(huì)因?yàn)檫z忘某個(gè)詞使得無法表述一個(gè)詞義,這就滿足了不同語言儲(chǔ)備的多個(gè)體交流情況;不同人說話哪怕表達(dá)的意思一樣,也存在不同的風(fēng)格。
計(jì)算機(jī)語言也存在實(shí)現(xiàn)相同功能,不同的代碼實(shí)現(xiàn)。也可以看作是同義'詞',所以本質(zhì)上可替換詞是由于思維的冗余性產(chǎn)生的。我們也可以把
WordNet
WrodNet是一個(gè)定義詞義(word sense)的方式:以詞義為結(jié)點(diǎn),詞義之間的關(guān)系為邊,構(gòu)造一個(gè)詞義網(wǎng)絡(luò)。通過其在網(wǎng)絡(luò)中的環(huán)境來定義這個(gè)詞義。
WordNet is a lexical database(詞匯) for the English language. It groups English words into sets of synonyms called synsets(同義詞), provides short definitions and usage examples, and records a number of relations among these synonym sets or their members.
— Wikipedia
- Synonyms are grouped together in something called Synset. 同義詞之間形成網(wǎng)絡(luò)。Synonyms--words that denote the same concept and are interchangeable in many contexts--are grouped into unordered sets (synsets). 同義詞之間是沒有順序的
- A synset contains lemmas, which are the base form of a word. “l(fā)emma”是word的原始形式
- Each of WordNet’s 117 000 synsets is linked to other synsets by means of a small number of “conceptual relations.” synsets之間用層級(jí)關(guān)系連接。
There are hierarchical links between synsets (ISA relations or hypernym/hyponym relations)
Several other properties such as antonyms or related words are included for each lemma in the synset 和之間關(guān)系是層級(jí)的,hypernym高層關(guān)系,gyponym低層關(guān)系.
https://www.quora.com/Dictionaries-In-WordNet-whats-the-difference-between-a-sense-and-a-lemma
首先搞清什么是lemma
the lemma is the base word form that is indexed in WordNet. lemma是一個(gè)詞的原型。 jump, jumps, jumped, and jumping are all words and all inflections of a single lemma, jump.
WordNet interlinks not just word forms—strings of letters—but specific** senses** of words.
一個(gè)synset包含多個(gè)lemma,這些lemmas就是同義詞,例如:
talk = wn.synset('talk.v.01')
print( talk.lemmas() )
# [Lemma('talk.v.01.talk'), Lemma('talk.v.01.speak')]
'talk'是一個(gè)synset,對(duì)應(yīng)一個(gè)sense,包含兩個(gè)lemmas: talk, speak
word#sense number (sense key)
car#1 (car%1:06:00::)
A word form (or lemma) that appears in n synsets in WordNet has n senses. 一個(gè)word可以出現(xiàn)在多個(gè)synset中,因此認(rèn)為有多個(gè)sense. These senses may span multiple parts of speech – so if a word appears in, say, 7 synsets, it might have 4 noun senses, 2 verb senses, and an adjective sense.
In WordNet a lemma has senses. Specifically, a lemma has exactly as many senses as the number of synsets that it participates in. Conversely, and as you say, synsets contain one more more lemmas, which means that multiple lemmas (words) can represent the same sense, or meaning.
multiple lemmas (words) can represent the same sense, or meaning.
機(jī)器翻譯
源語言(Source language):需要翻譯的語言;目標(biāo)語言(Target language):翻譯后的語言
基于規(guī)則的翻譯方法(Rule-based)
翻譯過程分成6個(gè)步驟:
(a) 對(duì)源語言句子進(jìn)行詞法分析
(b) 對(duì)源語言句子進(jìn)行句法/語義分析
(c) 源語言句子結(jié)構(gòu)到譯文結(jié)構(gòu)的轉(zhuǎn)換
(d) 譯文句法結(jié)構(gòu)生成
(e) 源語言詞匯到譯文詞匯的轉(zhuǎn)換
(f) 譯文詞法選擇與生成
優(yōu)點(diǎn):可以較好地保持原文的結(jié)構(gòu),產(chǎn)生的譯文結(jié)構(gòu) 與源文的結(jié)構(gòu)關(guān)系密切,尤其對(duì)于語言現(xiàn)象已知的或 句法結(jié)構(gòu)規(guī)范的源語言語句具有較強(qiáng)的處理能力和較 好的翻譯效果。
弱點(diǎn):規(guī)則一般由人工編寫,工作量大,主觀性強(qiáng), 一致性難以保障,不利于系統(tǒng)擴(kuò)充,對(duì)非規(guī)范語言現(xiàn) 象缺乏相應(yīng)的處理能力。
統(tǒng)計(jì)機(jī)器翻譯
信道模型:
目標(biāo)語言經(jīng)過信道后,產(chǎn)生了元語言:
$$P(T|S)=\frac{P(T)P(S|T)}{P(S)}$$那么翻譯過程就是求解:
$$\hat{T}=\arg\max_T{P(T)P(S|T)}$$
這個(gè)公式涉及到三方面的計(jì)算:
- $P(T)$: 目標(biāo)語言的語言模型
一般用短語或者詞的概率和n元條件獨(dú)立的Markov假設(shè)對(duì)一個(gè)完整句子的概率進(jìn)行估算。 - $P(S|T)$: 翻譯模型
注意,這個(gè)翻譯模型將原先的源語言到目標(biāo)語言的翻譯轉(zhuǎn)化成目標(biāo)語言到源語言的翻譯。(所以完全沒有減輕任務(wù)嘛-_-!!)
為了求解兩個(gè)不同語言句子之間的條件概率,也是將句子拆成短語或詞為單位,然后利用連乘進(jìn)行估算(和語言模型一樣,為了解決直接求一個(gè)句子的概率的稀疏性)。這樣長句子的條件概率就成了詞的對(duì)位,這種對(duì)位關(guān)系模型為:在目標(biāo)語言句子$T$的長度(單詞的個(gè)數(shù))為 $l$,源語言句子$S$的長度為 $m$ 的情況下,$T$ 和 $S$ 的單詞之間有 $l\times m$種不同的對(duì)應(yīng)關(guān)系。對(duì)位模型 $A$是從源語言到目標(biāo)語言的對(duì)位表示。
IBM Model 1假設(shè)對(duì)位概率是均勻分布的,即每一個(gè)$a_i$的值的概率分布是均勻的
根據(jù)IBM翻譯模型1,由英語句子$e$生成法語句子$f$ 的實(shí)現(xiàn)過程:
(1) 根據(jù)概率分布為法語句子$f$ 選擇一個(gè)長度$m$;
(2) 對(duì)于每一個(gè)$ j = 1,2,...,m $ ,根據(jù)均勻分布原則從 $0, 1, ..., l$ 中選擇一個(gè)值給$a_j$;
(3) 對(duì)于每一個(gè) $j = 1, 2, ..., m$,根據(jù)概率$ p(f_j|e_{a_j}) $選擇一個(gè)法語單詞$f_j$。
IBM Model2進(jìn)一步具體了對(duì)位概率$a(a_j|j,l,m) $ - $\arg\max_T$: 搜索算法
beam search
這種翻譯模型就像是在破譯密碼,不是從語義層次進(jìn)行,而是根據(jù)大量明文、編碼進(jìn)行對(duì)照,對(duì)于一些簡短的、常見的翻譯還行。
基于短語的翻譯模型
在基于短語的模型中,直接將繁衍率信息、上下文 信息以及局部對(duì)位調(diào)序信息記錄在翻譯規(guī)則中。這里所說的短語指一個(gè)連續(xù)的詞串(n-gram),不 一定是語言學(xué)中定義的短語(phrase, noun phrase, verb phrase)
- 短語劃分模型
目標(biāo):將一個(gè)詞序列如何劃分為短語序列
方法:一般假設(shè)每一種短語劃分方式都是等 概率的 - 短語翻譯模型
-
學(xué)習(xí)短語翻譯規(guī)則
借助雙語句對(duì)詞語對(duì)齊,滿足對(duì)齊一致性的就是一個(gè)短語翻譯規(guī)則。在詞對(duì)應(yīng)表格中體現(xiàn)為沒有空行和空列的矩形塊;
在詞對(duì)齊中表現(xiàn)為沒有源語言或者目標(biāo)語言對(duì)應(yīng)的詞在短語對(duì)外: - 估計(jì)短語翻譯概率
-
- 短語調(diào)序模型
- 目標(biāo)語言模型
基于短語的翻譯模型缺陷
(1) 基于短語的翻譯模型能夠比較魯棒地翻譯較短的子串,當(dāng)短語長度擴(kuò)展到3個(gè)以上的單詞時(shí),翻譯系統(tǒng)的性能提高很少,短語長度增大以后,數(shù)據(jù)稀疏問題變得非常嚴(yán)重。
(2) 在很多情況下簡單的短語翻譯模型無法處理短語之間(尤其是長距離)的調(diào)序。
(3) 基于短語翻譯模型無法處理非連續(xù)短語翻譯現(xiàn)象,例如 (在 … 時(shí),when …)
基于層次化短語的翻譯模型
樹翻譯模型
-
樹到串模型
規(guī)則是源語言的句法結(jié)構(gòu)到目標(biāo)語言串(包含目標(biāo)語言替換變量)的替換。
先將源語言S進(jìn)行句法分析,得到句法分析樹。從枝葉到樹干(微觀尺度到宏觀尺度)地進(jìn)行規(guī)則匹配,最終生成目標(biāo)語言串。
樹到串模型的優(yōu)勢:搜索空間小、解碼效率高;句法分析質(zhì)量較高的前提下,翻譯效果不錯(cuò)
樹到串模型的不足:強(qiáng)烈依賴于源語言句法分析的質(zhì)量;利用源語言端句法結(jié)構(gòu)精確匹配,數(shù)據(jù)稀疏 嚴(yán)重;沒有使用任何目標(biāo)語言句法知識(shí),無法保證目標(biāo)譯文符合文法
-
樹到樹模型
規(guī)則是源語言的句法結(jié)構(gòu)到目標(biāo)語言的句法結(jié)構(gòu)替換
給定源語言和目標(biāo)語言的雙語平行句對(duì)(經(jīng)過詞語對(duì)齊 、源語言和目標(biāo)語言端經(jīng)過句法分析), 抽取滿足詞語對(duì)齊的樹到樹翻譯規(guī)則。
樹到樹模型的優(yōu)勢:搜索空間小、解碼效率高
樹到樹模型的不足:強(qiáng)烈依賴于源語言和目標(biāo)語言句法分析的質(zhì)量;利用兩端句法結(jié)構(gòu)精確匹配,數(shù)據(jù)稀疏非常嚴(yán)重; 翻譯質(zhì)量差
-
串到樹模型
串到樹模型的優(yōu)勢:搜索空間大,保證譯文符合文法,翻譯質(zhì)量高
? 串到樹模型的不足:解碼速度受限;未使用源語言端句法知識(shí),存在詞義消歧問題
基于規(guī)則的句法樹轉(zhuǎn)換
機(jī)器翻譯系統(tǒng)評(píng)價(jià)
主觀評(píng)價(jià)
主要是依賴人工,從流暢性和充分性兩個(gè)方面進(jìn)行打分。
客觀評(píng)價(jià)
是一種自動(dòng)評(píng)價(jià)系統(tǒng)/標(biāo)準(zhǔn)。雖然很好滿足標(biāo)準(zhǔn)的不一定是主觀上很好的翻譯,但是較好的翻譯一般都是很好滿足標(biāo)準(zhǔn)的。因此制定標(biāo)準(zhǔn)只要滿足上述要求就行。
these metrics assume that valid responses have significant word overlap with the ground truth responses.
-
BLEU(BiLingual Evaluation Understudy)
N is the maximum length of n-grams considered. 也就是說BLEU-N考慮從1到N的語言模型。
系統(tǒng)譯文中的單詞計(jì)數(shù)不會(huì)超過該詞在某個(gè)參考譯文中出現(xiàn)次數(shù)的最大值。
借助參考譯文:
Embedding Average. 利用詞向量計(jì)算整個(gè)句子的向量,再用歸一化余弦度量句子相似度。
不借助參考譯文:
- 將輸出語言輸入到語言模型、句法分析后得到和正常語句相近的概率值(流暢度評(píng)價(jià))
- 原文中詞對(duì)應(yīng)的詞典翻譯在系統(tǒng)譯文被覆蓋情況,與這個(gè)詞的頻率倒數(shù)進(jìn)行加權(quán)(充分性)
篇章特征與文本分類、檢索
與前面的章節(jié)不同,本章節(jié)處理的是以文本為單位,更加粗糙。從粗糙度方面來說,文本為單位信息量更加豐富、完整,更加方便、準(zhǔn)確進(jìn)行特征表示、提取。
篇章特征
首先需進(jìn)行文本表示。一般通過選取特征,量化特征值,組成向量,也就是向量空間模型(vector space model, VSM). 特征可以是字、短語、或者是更加一般的用于匹配的規(guī)則。由于不同特征的尺度不盡相同使用同樣的數(shù)值單位不合理,于是每個(gè)維度單獨(dú)分配一個(gè)權(quán)重。
對(duì)于一個(gè)語料,文本的某個(gè)特征可能出現(xiàn)頻率很低,比如用一個(gè)確定的句子作為特征。過低的頻率代表性不足,比如描述一個(gè)人,代表性強(qiáng)的特征是“個(gè)頭中等”或者“身高165~175”,代表性低的是“身高172.3mm”. 相反地,特征的出現(xiàn)頻率過高,沒有區(qū)分度,我們不會(huì)描述一個(gè)人長著“一個(gè)鼻子,兩只眼睛”。用于表示文本特征的向量一般都比較高。
確定了準(zhǔn)備選取的特征后,接下來就是具體確一個(gè)文檔的特征值,也就是對(duì)于一個(gè)文檔和一個(gè)特征,確定這個(gè)特征對(duì)應(yīng)的標(biāo)量值。很直觀地可以用這個(gè)歌在這個(gè)文檔中出現(xiàn)頻數(shù)(TF)作為標(biāo)量值,也可以用是否出現(xiàn)(bool值)作為標(biāo)量值。不過直接用特征出現(xiàn)頻數(shù)作為標(biāo)量值有一個(gè)局限性,那就是沒有體現(xiàn)這個(gè)特征區(qū)分度。將特征出現(xiàn)頻數(shù)與特征在所有文本中覆蓋率的倒數(shù)進(jìn)行加權(quán)就是TF-IDF: $\text{tf}_{ij}\times \ln\frac{N}{n_i}$.
文本特征局限性
- 僅從統(tǒng)計(jì)的角度來分析,脫離語義、推理與常識(shí)。
- 特征離散
-
這里的圖像指的是自然圖像,非自然圖像比如文字的圖像、樂譜、表情、手語,這些人類擅長、敏感的、獨(dú)有的、需要借助經(jīng)驗(yàn)的才能解讀的。 ?
-
筆者個(gè)人覺得這個(gè)假設(shè)是正確的,能夠用于經(jīng)典物理學(xué)下概率事件。當(dāng)然量子力學(xué)中還存在復(fù)數(shù)域的概率,暫不做探討。 ?
-
參見之前寫的《sequence labeling》 ?
-
不過現(xiàn)在只需要設(shè)計(jì)特征模板,算法可以自動(dòng)學(xué)習(xí)特征參數(shù) ?
-
開塔蘭數(shù)(Catalan Numbers):有這樣一個(gè)問題:現(xiàn)有n對(duì)括號(hào),一共有多少種合法的組合方式?比如$n=3$,有$$((())) ; ()(()) ; ()()() ; (())() ; (()())$$種。描述這種組合方式的就是開塔蘭數(shù):$$C_{n}={2n \choose n}-{2n \choose n+1}={1 \over n+1}{2n \choose n}\quad {\text{ for }}n\geq 0,$$ 再比如: