1
本文作者: 奕欣 | 2017-09-19 09:50 |
雷鋒網(wǎng)AI科技評(píng)論按:本文作者蔣勇為上??萍即髮W(xué)博士生,師從屠可偉博士。本文為蔣勇接受雷鋒網(wǎng)AI科技評(píng)論獨(dú)家約稿撰寫的工作介紹,未經(jīng)許可不得轉(zhuǎn)載。
自然語言總有豐富的內(nèi)部結(jié)構(gòu)信息,而這些信息一般都是通過解析樹(parse tree)來進(jìn)行表示。一般而言,我們把從一個(gè)句子到句法樹的這一過程稱為句法解析(parsing)。
句法解析有很多種形式,最為常用的是基于短語的句法解析(constituency parsing)和依存句法解析(dependency parsing)。句法解析作為自然語言處理(NLP)的基礎(chǔ)任務(wù)之一,可以幫助很多其它的任務(wù),包括機(jī)器翻譯(machine translation),句子分類(sentence classification)和語義角色標(biāo)注(semantic role labeling)等。
可是,句法解析的標(biāo)注數(shù)據(jù)通常很少而且解析樹需要專業(yè)的語言學(xué)家來進(jìn)行標(biāo)注。因此,如何通過未標(biāo)注數(shù)據(jù)來學(xué)習(xí)一個(gè)句法解析器就很重要。我們組這兩年在無監(jiān)督依存句法解析做了一些研究,分別在自然語言處理國(guó)際頂級(jí)會(huì)議EMNLP 2016和EMNLP 2017上有四篇相關(guān)工作。
在2004年之前,無監(jiān)督句法分析有一些研究工作,但是效果都不好(甚至超不過從左連到右(right-branching)和從右連向左(left-branching)這倆baseline)。
第一個(gè)取得突破性進(jìn)展的是來自Stanford的NLP組。當(dāng)時(shí)Dan Klein還在 Stanford跟隨Chris Manning讀博士,主要的研究方向就是無監(jiān)督句法分析,其2004年在ACL發(fā)表的工作提出的Dependency Model with Valence (DMV)生成式模型首次超過了branching的baseline。Dan Klein天才式的直覺使得其在無監(jiān)督句法解析上獲得突破性進(jìn)展,并在畢業(yè)后擔(dān)任UC Berkeley的助理教授,領(lǐng)導(dǎo)Berkeley NLP Group。
DMV 模型提出后,有很多改進(jìn)的工作。來自Johns Hopkins的Noah Smith當(dāng)時(shí)正在跟Jason Eisner讀博士,他對(duì)DMV的目標(biāo)函數(shù)和學(xué)習(xí)方式做了一些改進(jìn),把英文句法解析的效果提高了近20個(gè)百分點(diǎn)。2006年他以杰出的工作在博士畢業(yè)后任職CMU的助理教授(現(xiàn)在在UW)。
Shay Cohen是Noah Smith在CMU指導(dǎo)的第一屆博士生之一,他把Bayesian方法引入DMV模型的訓(xùn)練中,發(fā)表了一系列工作,畢業(yè)后在Michael Collins做了一段時(shí)間Post Doc然后加入U(xiǎn)niversity of Edinburgh任助理教授。
自Dan Klein畢業(yè)后,Stanford的Daniel Jurafsky組的Valentin I Spitkovsky繼續(xù)從事這一方向的研究,提出了baby step learning,viterbi EM training等方法來訓(xùn)練DMV模型,因其提出的方法簡(jiǎn)單有效,后續(xù)有很多基于viterbi EM training的工作。
下圖是傳統(tǒng)句法解析的步驟,左圖是原始句子,中圖是詞性標(biāo)注后的結(jié)果,右圖是解析出的句法樹:
因?yàn)闊o監(jiān)督句法解析這個(gè)任務(wù)比較困難,我們一般用標(biāo)注后的詞性序列(POS Tag sequence)作為訓(xùn)練數(shù)據(jù),而不是原始的句子。
(一篇發(fā)表在EMNLP 2016上,一篇發(fā)表在EMNLP 2017上)
DMV是一個(gè)句子級(jí)別的生成模型,建模句子x和句法樹y的聯(lián)合概率分布P(x, y)。從根節(jié)點(diǎn)開始遞歸地生成句子中的詞。下面是一個(gè)詞性序列生成過程的例子:
這個(gè)生成過程有10個(gè)采樣步驟,每一步生成一個(gè)詞或者做一個(gè)是否繼續(xù)生成的決策。這里采樣的概率在原始的DMV模型里是用一些表來建模,我們?cè)贓MNLP 2016提出使用神經(jīng)網(wǎng)絡(luò)來計(jì)算這些概率,同時(shí),把離散的詞,方向等通過embedding來表示。如下圖所示,輸入是詞性,valence和方向,輸出是規(guī)則的概率集合,我們把模型稱為Neural DMV (NDMV)。
在我們了解的范圍內(nèi),這是第一次把神經(jīng)網(wǎng)絡(luò)用在無監(jiān)督句法解析上。學(xué)習(xí)的過程也很簡(jiǎn)單:
學(xué)習(xí)是期望最大化(EM)算法的變種,E步使用動(dòng)態(tài)規(guī)劃得到每個(gè)grammar rule的使用次數(shù),M步分為兩部分:
第一部分是通過grammar rule的使用次數(shù)訓(xùn)練神經(jīng)網(wǎng)絡(luò)的參數(shù);
第二部分是通過神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)grammar rule的概率,以此循環(huán)直至收斂。
下圖是我們?cè)赑TB上的實(shí)驗(yàn)效果,可以發(fā)現(xiàn)我們?cè)谙嗤O(shè)定下取得了目前最好的效果:
我們知道,大模型和大數(shù)據(jù)是深度學(xué)習(xí)成功的關(guān)鍵,因此我們也想在無監(jiān)督句法解析上大模型和大數(shù)據(jù)的關(guān)系。我們對(duì)NDMV進(jìn)行了拓展,引出詞的信息,并在多種大小數(shù)據(jù)集上進(jìn)行了實(shí)驗(yàn),有了以下三個(gè)實(shí)驗(yàn)發(fā)現(xiàn),發(fā)表在EMNLP 2017上:
下圖是在傳統(tǒng)DMV模型上的實(shí)驗(yàn),我們發(fā)現(xiàn)在相同數(shù)據(jù)下隨著degree of lexicalization的增加(模型變大),效果變差。但是隨著訓(xùn)練數(shù)據(jù)的增加,效果有所提升。
當(dāng)我們用神經(jīng)網(wǎng)絡(luò)來smooth這個(gè)概率分布后,明顯發(fā)現(xiàn)在少量數(shù)據(jù)下隨著degree of lexicalization的增加效果下降的不那么嚴(yán)重了。
當(dāng)我們使用更好的模型初始化方法(’expert’ initialization)時(shí),我們發(fā)現(xiàn)隨著數(shù)據(jù)集的增大和degree of lexicalization的提高,效果有了明顯提升。
下圖是我們?cè)赪SJ10數(shù)據(jù)上的表現(xiàn):可以看到,我們?cè)赪SJ10上取得目前最好的效果,在完整的WSJ數(shù)據(jù)上也表現(xiàn)的不錯(cuò)。
(發(fā)表在EMNLP 2017上)
幾乎所有之前的工作都是在生成式模型(如DMV)上做的,生成式模型有優(yōu)點(diǎn)也有相應(yīng)缺點(diǎn),比如不能很好地建模上下文的信息。我們?cè)谶@篇文章中提出了一種新的判別式模型來做無監(jiān)督句法解析:條件隨機(jī)場(chǎng)自編碼器(CRF Autoencoder)。
下圖是我們提出模型的一個(gè)例子。CRF Autoencoder包括兩部分:encoder和decoder。Encoder是一個(gè)基于CRF的Discriminative模型,Decoder是一個(gè)基于詞的bigram生成模型。模型的輸入是詞序列(用x來表示),隱藏層是輸入詞對(duì)應(yīng)的父親詞序列(用y來表示),輸出是重建的詞序列(用來表示)。
給定一系列未標(biāo)注的數(shù)據(jù)樣本,我們訓(xùn)練的目標(biāo)函數(shù)是(帶正則項(xiàng)的)重建概率:
注意這里我們與原始CRF-Autoencoder的區(qū)別在于,我們是尋找條件聯(lián)合概率最大的y而不是窮舉所有可能的y。為了鼓勵(lì)學(xué)習(xí)到的句法樹符合一些語言知識(shí),我們?cè)谶@個(gè)目標(biāo)函數(shù)上添加了一個(gè)軟限制條件,最后的目標(biāo)函數(shù)如下:
這里的Q(x, y)是一個(gè)對(duì)(x, y)對(duì)進(jìn)行打分的項(xiàng)。我們提出使用坐標(biāo)下降法來優(yōu)化這個(gè)目標(biāo)函數(shù):交替優(yōu)化encoder的參數(shù)和decoder的參數(shù)。在優(yōu)化encoder的參數(shù)時(shí),我們跑兩個(gè)epoch的隨機(jī)梯度下降;在優(yōu)化decoder時(shí),我們跑兩輪維特比EM算法。
我們?cè)诎藗€(gè)語言上進(jìn)行了測(cè)試,下表是在英語上的結(jié)果:
可以發(fā)現(xiàn),我們的模型比2015年提出的另外一種判別式模型效果要好,跟目前最好的效果相當(dāng)。
(發(fā)表在EMNLP 2017上)
通過以上的分析我們知道,生成式模型和判別式模型在無監(jiān)督句法分析上具有各自的優(yōu)勢(shì)。在這一篇論文里,我們提出聯(lián)合訓(xùn)練這兩個(gè)模型。聯(lián)合訓(xùn)練的目標(biāo)函數(shù)是:
這里的F和G分別代表兩個(gè)模型,F(xiàn)是LC-DMV而G是Convex-MST。各自優(yōu)化的目標(biāo)函數(shù)是:
我們提出利用坐標(biāo)下降來優(yōu)化這個(gè)目標(biāo)函數(shù):交替優(yōu)化y和兩個(gè)模型的參數(shù)。在優(yōu)化y的時(shí)候,對(duì)于每一個(gè)句子我們需要進(jìn)行解碼(decoding),這里我們利用對(duì)偶分解算法來求解。整個(gè)學(xué)習(xí)過程如下所述:
我們?cè)?0個(gè)語言上驗(yàn)證了我們的聯(lián)合訓(xùn)練方法,最終效果如下所示:
實(shí)驗(yàn)發(fā)現(xiàn),聯(lián)合訓(xùn)練可以分別幫助兩個(gè)模型得到更好的效果,有趣的是生成式模型最終效果比判別式的好。同時(shí)我們也做了一些實(shí)驗(yàn)的分析,發(fā)現(xiàn)聯(lián)合訓(xùn)練后兩個(gè)模型確實(shí)可以相互取長(zhǎng)補(bǔ)短,學(xué)到對(duì)方一些好的特性。
最后想介紹一下上海科技大學(xué)屠可偉老師研究組。我們的研究組主要從事自然語言處理、機(jī)器學(xué)習(xí)、知識(shí)表示等人工智能領(lǐng)域的研究,近兩年在EMNLP、IJCAI、AAAI、ICCV等頂級(jí)會(huì)議上發(fā)表了十余篇論文,現(xiàn)招收碩士研究生和博士后,歡迎對(duì)自然語言處理和機(jī)器學(xué)習(xí)有興趣的同學(xué)聯(lián)系屠可偉老師。
更多信息請(qǐng)?jiān)L問:http://sist.shanghaitech.edu.cn/faculty/tukw/
雷峰網(wǎng)特約稿件,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。