機器閱讀理解 --- machine reading comprehension
參考:
https://www.msra.cn/zh-cn/news/features/machine-text-comprehension-20170508
https://www.jiqizhixin.com/technologies/69869886-047b-419b-8fa1-61ffd956b80b
https://www.jiqizhixin.com/articles/2018-12-03
簡介
機器閱讀理解(MRC)是指對文本的自動、無監(jiān)督理解;讓計算機具備通過文本數(shù)據(jù)獲取知識和回答問題的能力茶没,人們相信這是構(gòu)建通用智能體的一個關(guān)鍵步驟荐虐。MRC社區(qū)近些年來增長迅速董栽。
在過去的二十年左右剂府,自然語言處理(NLP)為底層句法和語義文本處理任務(wù)開發(fā)了強大的方法自脯,如解析剩檀,語義角色標注和文本分類澄干。在同一時期慧库,機器學習和概率推理領(lǐng)域也取得了重要突破□喂颍現(xiàn)在AI社區(qū)已經(jīng)逐步轉(zhuǎn)向研究如何利用這些進步來理解文本。
這里“理解文本”一詞意思是基于文本語料庫和背景/理論形成一套連貫一致的理解齐板。因為文本和背景/理論可能不一致吵瞻,所以用概率術(shù)語來表達結(jié)果信念和推理過程是很自然的。這里值得指出甘磨,許多對文章的理解只能與背景/理論相結(jié)合橡羞。舉例來說,如果文字指出一個人在滿意的進餐后離開餐廳济舆,那么推斷他可能已經(jīng)支付賬單并留下小費是合理的卿泽。即推論是文本理解的一個組成部分。
一般來說滋觉,人們在讀完一篇文章之后就會在腦海里形成一定的印象签夭,例如這篇文章講的是什么人,做了什么事情椎瘟,出現(xiàn)了什么覆致,發(fā)生在哪里等等。人們能夠很輕而易舉地歸納出文章中的重點內(nèi)容肺蔚。機器閱讀理解的研究就是賦予計算機與人類同等的閱讀能力煌妈,即讓計算機閱讀一篇文章,隨后讓計算機解答與文中信息相關(guān)的問題宣羊。這種對人類而言輕而易舉的能力璧诵,對計算機來說卻并非如此。
機器閱讀理解其實和人閱讀理解面臨的問題是類似的仇冯,不過為了降低任務(wù)難度之宿,很多目前研究的機器閱讀理解都將世界知識排除在外,采用人工構(gòu)造的比較簡單的數(shù)據(jù)集苛坚,以及回答一些相對簡單的問題比被。給定需要機器理解的文章以及對應(yīng)的問題色难,比較常見的任務(wù)形式包括人工合成問答、Cloze-style queries和選擇題等方式等缀。
人工合成問答是由人工構(gòu)造的由若干簡單事實形成的文章以及給出對應(yīng)問題枷莉,要求機器閱讀理解文章內(nèi)容并作出一定的推理,從而得出正確答案尺迂,正確答案往往是文章中的某個關(guān)鍵詞或者實體笤妙。比如下圖展示了人工合成閱讀理解任務(wù)的示例。圖1示例中前四句陳述句是人工合成的文章內(nèi)容噪裕,Q是問題蹲盘,而A是標準答案。
Cloze-style queries是類似于“完形填空”的任務(wù)膳音,就是讓計算機閱讀并理解一篇文章內(nèi)容后召衔,對機器發(fā)出問題,問題往往是抽掉某個單詞或者實體詞的一個句子严蓖,而機器回答問題的過程就是將問題句子中被抽掉的單詞或者實體詞預(yù)測補全出來薄嫡,一般要求這個被抽掉的單詞或者實體詞是在文章中出現(xiàn)過的。目前的各種閱讀理解任務(wù)中“完形填空式”任務(wù)是最常見的類型颗胡。
很長一段時間以來毫深,自然語言處理的研究都是基于句子級別的閱讀理解。例如給計算機一句話毒姨,理解句子中的主謂賓哑蔫、定狀補,誰做了何事等等弧呐。但長文本的理解問題一直是研究的一個難點闸迷,因為這涉及到句子之間的連貫、上下文和推理等更高維的研究內(nèi)容俘枫。隨著各種數(shù)據(jù)集的推出腥沽,MRC任務(wù)也已經(jīng)從早期的完形填空式的測試發(fā)展成了從單篇文章中提取答案,并且最近還發(fā)展成了更復(fù)雜的基于網(wǎng)絡(luò)數(shù)據(jù)的問答鸠蚪。例如在智能客服應(yīng)用中今阳,人們可以使用機器閱讀用戶手冊等材料,自動或輔助客服回答用戶問題茅信;教育領(lǐng)域可利用該技術(shù)從海量題庫中輔助出題盾舌;在金融領(lǐng)域中,該技術(shù)可從大量新聞文本中抽取相關(guān)金融信息等蘸鲸。
機器閱讀(MR)與當前的語義NLP研究領(lǐng)域(如信息提妊础(IE)或問答(QA))非常不同。許多NLP任務(wù)利用監(jiān)督式學習技術(shù)酌摇,這些技術(shù)依賴于手動標記的訓練實例膝舅。例如嗡载,IE系統(tǒng)通常利用從目標關(guān)系的實例中提取的規(guī)則。然而仍稀,MR并不局限于一小組目標關(guān)系鼻疮。事實上,閱讀任意文本時遇到的關(guān)系一般并不是事先知道的琳轿。因此,為每個感興趣的關(guān)系建立手動標記的訓練實例是不切實際的耿芹。與許多NLP任務(wù)相比崭篡,MR本質(zhì)上是無人監(jiān)督的。
另一個重要的區(qū)別是IE和QA關(guān)注從文本中獲得的孤立的信息吧秕,而MR則更注重文本信息內(nèi)在的聯(lián)系琉闪。雖然MR建立在NLP技術(shù)的基礎(chǔ)上,但它是一個整體過程砸彬,將從文本中收集的信息與機器的現(xiàn)有知識進行綜合颠毙。
發(fā)展歷史
在人工智能發(fā)展的早期階段,研究人員傾向于通過以形式邏輯語言來手工構(gòu)建大規(guī)模結(jié)構(gòu)化知識庫砂碉,并開發(fā)自動推理方法的方式從知識中獲取事實進而實現(xiàn)智能機器蛀蜜。然而,隨著現(xiàn)代化互聯(lián)網(wǎng)絡(luò)的出現(xiàn)增蹭,我們所面對的是大量的以人類語言編碼的巨大在線信息庫滴某。其中一個典型的例子就是科技文獻,科技文獻的數(shù)量正在快速增長:美國國家醫(yī)學圖書館Medline系統(tǒng)中的索引規(guī)模呈指數(shù)級增長滋迈。即使在狹小的專業(yè)領(lǐng)域霎奢,科學家們也無法跟上這樣的增長速度。因此饼灿,為了理解和總結(jié)文獻幕侠,以及從這些文獻中提取事實和假設(shè),針對機器閱讀的需求逐步提升碍彭。
早期的研究還談不上閱讀理解晤硕,其任務(wù)也只是閱讀而已。例如硕旗,使用結(jié)構(gòu)化的預(yù)測分類器從詞序列和句子的語法結(jié)構(gòu)中提取特征來抽取關(guān)系窗骑。一個比較典型的例子是Aron Culotta和Jeffrey Sorensen在2004年使用支持向量機(SVM)檢測和分類新聞文章的自動內(nèi)容提取(ACE)語料庫中的實體之間的關(guān)系漆枚。這類系統(tǒng)是諸如生物醫(yī)學等領(lǐng)域中應(yīng)用的文獻事實提取工具的支柱创译。
很快,隨著深度學習的流行墙基,越來越多的研究者使用神經(jīng)網(wǎng)絡(luò)來構(gòu)建自己的模型软族。Karl Moritz Hermann等學者于2015年發(fā)表的論文“Teaching Machines to Read and Comprehend”中提出了兩個基礎(chǔ)模型——”Attentive Reader”和“Impatient Reader”刷喜,成為了后來許多研究的基礎(chǔ)。Attention Reader在處理的時候立砸,?先采?雙向RNN分別表??本(看做?個“長句?”)和問句掖疮,再利?attention機制尋找?本表?中同問句相關(guān)的信息,最后根據(jù)相關(guān)程度提取?本信息做分類并給出預(yù)測的答案颗祝。2016年浊闪,IBM公司的Kadlec提出了Attention-Sum Reader,該模型直接利?attention機制基于問句表?在?章中尋找最相關(guān)的詞作為答案螺戳。Attention-SumReader同Attention Reader在模型框架上?乎類似搁宾。Attention-Sum Reader直接利?attention機制獲取?本中各個位置作為答案的概率(需要將同?詞語在?本中不同位置的概率加和作為該詞語成為答案概率),?不再同Attention Reader最后?步那樣倔幼,通過分類(softmax)獲取各個詞語作為答案的概率盖腿。
同年,Rajpurkar等人提出閱讀理解數(shù)據(jù)集SQuAD损同。該數(shù)據(jù)集包含10萬個(問題翩腐,原文,答案)三元組膏燃,原文來自于536篇維基百科文章茂卦,而問題和答案的構(gòu)建主要是通過眾包的方式,讓標注人員提出最多5個基于文章內(nèi)容的問題并提供正確答案蹄梢,且答案出現(xiàn)在原文中疙筹。自SQuAD出現(xiàn)后,涌現(xiàn)了大量具有代表性的模型禁炒,極大地促進了機器閱讀理解領(lǐng)域的發(fā)展而咆。SQuAD提出后,Caiming Xiong等學者引入動態(tài)協(xié)調(diào)網(wǎng)絡(luò)(DCN)進行問題解答(Question Answering)的任務(wù)幕袱,該模型當時在SQuAD比賽中取得了第九名暴备,單個DCN模型將先前的F1值從71.0%提高到75.9%,而使用模型集成(model ensemble)后提升到了80.4%们豌。
2017年锨天,為了研究機器閱讀理解的問題罩阵,谷歌韋福如和楊南等學者在內(nèi)的研究團隊試圖去建模人做閱讀理解的過程穿仪。他們采用了R-NET桐智,一個多層的網(wǎng)絡(luò)結(jié)構(gòu),分別從四個層面對整個閱讀理解任務(wù)的算法進行了建模辩尊。取得了當時SQuAD數(shù)據(jù)集測評的第一名涛浙。
2018年,微軟和阿里巴巴的機器閱讀理解系統(tǒng)在SQuAD數(shù)據(jù)集測評結(jié)果中取得了并列第一的成績。這是歷史上第一次轿亮,機器閱讀理解的精準匹配分數(shù)超越了人類的評測結(jié)果疮薇。阿里巴巴參與測評的系統(tǒng)名為SLQA,即Semantic Learning for Question Answering我注,是iDST NLP團隊提出的「基于分層融合注意力機制」的深度神經(jīng)網(wǎng)絡(luò)系統(tǒng)按咒。而在閱讀理解任務(wù)上使用基于注意力的深度神經(jīng)網(wǎng)絡(luò)最早就是由Karl Moritz Hermann和Phil Blunsom等學者在2015提出的,當時主要是針對針對機器閱讀系統(tǒng)缺乏有效的監(jiān)督學習算法這種類型的評估和大規(guī)模的測試數(shù)據(jù)集但骨。隨后励七,百度提出的V-NET模型,登頂MS MARCO數(shù)據(jù)集榜單奔缠。值得注意的是呀伙,此次百度只憑借單模型(single model)就拿到了第一名,并沒有提交多模型集成(ensemble)結(jié)果添坊。
據(jù)介紹,相比SQuAD箫锤,MARCO的挑戰(zhàn)難度更大贬蛙,因為它需要測試者提交的模型具備理解復(fù)雜文檔、回答復(fù)雜問題的能力谚攒。對于每一個問題阳准,MARCO提供多篇來自搜索結(jié)果的網(wǎng)頁文檔,系統(tǒng)需要通過閱讀這些文檔來回答用戶提出的問題馏臭。但是野蝇,文檔中是否含有答案,以及答案具體在哪一篇文檔中括儒,都需要系統(tǒng)自己來判斷解決绕沈。更有趣的是,有一部分問題無法在文檔中直接找到答案帮寻,需要閱讀理解模型自己做出判斷乍狐;MARCO也不限制答案必須是文檔中的片段,很多問題的答案必須經(jīng)過多篇文檔綜合提煉得到固逗。這對機器閱讀理解提出了更高的要求浅蚪,需要機器具備綜合理解多文檔信息、聚合生成問題答案的能力
而在ACL2018大會上烫罩,北京大學計算語言學教育部重點實驗室與百度的研究者考慮到在真實網(wǎng)絡(luò)數(shù)據(jù)上的機器閱讀理解(MRC)在回答一個問題時通常需要機器分析搜索引擎檢索到的多篇文章惜傲。相比于在單篇文章上的MRC,多文章MRC的難度更大贝攒,因為我們很可能會從不同的文章得到多個讓人困惑的候選答案盗誊。他們提出了一種端到端的神經(jīng)模型,能讓這些來自不同文章的候選答案基于它們的內(nèi)容表征彼此驗證。
目前MRC是一個很活躍的研究領(lǐng)域浊伙,研究進展也很快撞秋,也有不少研究人員試圖將MRC與遷移學習等方向結(jié)合起來。
主要事件 年份 事件 相關(guān)論文 Reference
2002 Peter Turney提出了一種簡單的無監(jiān)督學習算法嚣鄙,可以高度準確地將意見詞語分為正面或負面 Turney, P. D. (2002). Thumbs up or thumbs down? Semantic orientation applied to unsupervised classification of reviews. Proceedings of the 40th Annual Meeting of the Association for Computational Linguistics, pp 417-424.
2004 Aron Culotta和Jeffrey Sorensen使用支持向量機(SVM)檢測和分類新聞文章的自動內(nèi)容提任腔摺(ACE)語料庫中的關(guān)系 Culotta, A.; Sorensen, J. (2004). Dependency tree kernels for relation extraction. Proceedings of the 42ndAnnual Meeting of the Association for Computational Linguistics (Associationfor Computational Linguistics, Stroudsburg, PA, 2004), pp. 423–429.
2015 Karl Moritz Hermann等學者發(fā)表的論文“Teaching Machines to Read and Comprehend”中提出了兩個基礎(chǔ)模型——”Attentive Reader”和“Impatient Reader”,成為了后來許多研究的基礎(chǔ) Hermann, K. M.; Kocisky, T.; Grefenstette, E.; Espeholt, L.; Kay, W.; Suleyman, M. and Blunsom, P. (2015). Teaching machines to read and comprehend. In Proc. of NIPS, pp 1684–1692.
2016 IBM 公司的 Kadlec 提出了 Attention-Sum Reader Kadlec, R.; Schmid, M.; Bajgar, O. and Kleindienst, J. (2016). Text understanding with the attention sum reader network. arXiv preprint arXiv:1603.01547.
2016 Rajpurkar 等人 提出閱讀理解數(shù)據(jù)集SQuAD Rajpurkar, P.; Zhang, J.; Lopyrev, K. and Liang, P. (2016). Squad: 100,000+ questions for machine comprehension of text. In Proceedings of EMNLP.
2016 Caiming Xiong等學者引入動態(tài)協(xié)調(diào)網(wǎng)絡(luò)(DCN)進行問題解答(Question Answering)的任務(wù) Xiong, C.; Zhong, V.; Socher, R. (2016). Dynamic Coattention Networks For Question Answering. arXiv:1611.01604.
2017 谷歌韋福如和楊南等學者在內(nèi)的研究團隊提出了他們采用了R-NET Wang, W.; Yang, N.; Wei, F.; Chang, B. and Zhou, M. (2017). Gated Self-Matching Networks for Reading Comprehension and Question Answering. ACL 2017.
2018 北京大學計算語言學教育部重點實驗室與百度的研究者提出了一種能幫助機器更好地從多篇文章中挑選出正確答案的方法 Wang, Y. et al. (2018).Multi-Passage Machine Reading Comprehension with Cross-Passage Answer Verification.arXiv:1805.02220.
發(fā)展方向
瓶頸
眼下能夠回答復(fù)雜問題的系統(tǒng)仍處于起步階段哑子。以必應(yīng)等搜索引擎和微軟小娜(Cortana)等人工智能助手為例舅列,目前它們只能回答一些基本問題,例如“春節(jié)黃金周哪天開始卧蜓?”或者“2,000乘以43得多少帐要?”等。多數(shù)情況下弥奸,搜索引擎和人工智能助手只能向用戶提供一組搜索結(jié)果榨惠。用戶固然可以據(jù)此獲取所需信息,但前提是他們?nèi)孕枳约簞邮衷購乃阉鹘Y(jié)果進行篩選盛霎,并在網(wǎng)頁上找到答案赠橙。特別是當MRC涉及到多文章時,目前模型的表現(xiàn)還不夠好愤炸。
機器閱讀目前在場景數(shù)據(jù)相對較為充分期揪、文檔結(jié)構(gòu)清晰、內(nèi)容描述較為正規(guī)的文檔上可以取得比較好的結(jié)果规个,如 Wikipedia 類客觀知識問答凤薛,但當遇到上述條件不滿足的復(fù)雜問題時,機器閱讀還處于比較初級的階段诞仓。另外缤苫,機器閱讀始終面對著數(shù)據(jù)規(guī)模小或質(zhì)量不佳的問題。雖然已經(jīng)有SQuAD這樣的數(shù)據(jù)集墅拭,大量的數(shù)據(jù)集是模型表現(xiàn)的重要前提榨馁。
未來發(fā)展方向
大規(guī)模語料集的構(gòu)建;
基于深度學習的算法和模型還有很大的空間帜矾,適合機器閱讀理解的網(wǎng)絡(luò)結(jié)構(gòu)值得在SQuAD類似的數(shù)據(jù)集上進一步嘗試和驗證翼虫;
目前基于深度學習的閱讀理解模型都是黑盒的,很難直觀地表示機器進行閱讀理解的過程和結(jié)果屡萤,因而可解釋性的深度學習模型也將是很有趣的研究方向珍剑;
結(jié)合多任務(wù)(例如閱讀理解之后進行摘要和問答)的模型;
大部分算法都是抽取型的方式死陆,未來生成型的算法也值得更多的探索和研究招拙;
隨著自然語言處理的發(fā)展唧瘾,目前的研究越來越向著模擬人類閱讀的方向發(fā)展,如結(jié)合篇章內(nèi)容審題别凤、帶著問題反復(fù)閱讀文章饰序、避免閱讀中遺忘而進行相關(guān)標注等;并將機器閱讀的技術(shù)真正應(yīng)用于業(yè)務(wù)場景规哪。
目前機器閱讀理解關(guān)注的都是理解客觀信息的能力求豫,未來機器理解文字里面所表達出來的主觀信息(例如情感)也是非常有趣并值得關(guān)注的方向。
從短句到長文诉稍,計算機如何學習閱讀理解
做機器閱讀理解研究的學者想必對由斯坦福大學自然語言計算組發(fā)起的SQuAD(Stanford Question Answering Dataset)文本理解挑戰(zhàn)賽并不陌生蝠嘉,它也被譽為“機器閱讀理解界的ImageNet”。諸多來自全球?qū)W術(shù)界和產(chǎn)業(yè)界的研究團隊都積極地參與其中杯巨,目前微軟亞洲研究院的自然語言計算研究組持續(xù)穩(wěn)居榜首蚤告,與包括艾倫研究院、IBM服爷、Salesforce杜恰、Facebook、谷歌以及CMU(卡內(nèi)基·梅隆大學)仍源、斯坦福大學等在內(nèi)的全球自然語言處理領(lǐng)域的研究人員箫章,共同推動著自然語言理解的進步。
那么镜会,SQuAD機器閱讀理解挑戰(zhàn)賽是怎樣進行的呢?SQuAD通過眾包的方式構(gòu)建了一個大規(guī)模的機器閱讀理解數(shù)據(jù)集(包含10萬個問題)终抽,即將一篇幾百(平均100戳表,最多800)詞左右的短文給標注者閱讀,隨后讓標注人員提出最多5個基于文章內(nèi)容的問題并提供正確答案昼伴。SQuAD向參賽者提供訓練集用于模型訓練匾旭,以及一個規(guī)模較小的數(shù)據(jù)集作為開發(fā)集,用于模型的測試和調(diào)優(yōu)圃郊。與此同時价涝,他們提供了一個開放平臺供參賽者提交自己的算法,并利用測試集對其進行評分持舆,評分結(jié)果將實時地在SQuAD官網(wǎng)上進行更新色瘩。
得益于SQuAD所提供的龐大數(shù)據(jù)規(guī)模,參與該項挑戰(zhàn)賽的選手不斷地對成績進行刷新逸寓,SQuAD挑戰(zhàn)賽也逐步成為行業(yè)內(nèi)公認的機器閱讀理解標準水平測試居兆。在今年的ACL大會(自然語言處理領(lǐng)域最頂尖的會議之一)的投稿里,有非常多的論文就是關(guān)于這項挑戰(zhàn)賽的研究竹伸,其影響力可見一斑泥栖。從ACL 2017論文主題的可視分析中可以看到,“reading comprehension(閱讀理解)”是今年ACL錄取論文中最熱門的關(guān)鍵詞和任務(wù),廣受自然語言處理領(lǐng)域研究人員的關(guān)注吧享。
一般來說魏割,人們在讀完一篇文章之后就會在腦海里形成一定的印象,例如這篇文章講的是什么人钢颂,做了什么事情钞它,出現(xiàn)了什么,發(fā)生在哪里等等甸陌。人們能夠很輕而易舉地歸納出文章中的重點內(nèi)容须揣。機器閱讀理解的研究就是賦予計算機與人類同等的閱讀能力,即讓計算機閱讀一篇文章钱豁,隨后讓計算機解答與文中信息相關(guān)的問題耻卡。這種對人類而言輕而易舉的能力,對計算機來說卻并非如此牲尺。
很長一段時間以來卵酪,自然語言處理的研究都是基于句子級別的閱讀理解。例如給計算機一句話谤碳,理解句子中的主謂賓溃卡、定狀補,誰做了何事等等蜒简。但長文本的理解問題一直是研究的一個難點瘸羡,因為這涉及到句子之間的連貫、上下文和推理等更高維的研究內(nèi)容搓茬。
做頂尖的機器閱讀理解研究
正如前文所說犹赖,機器閱讀理解的研究之路始終充滿著許多困難和挑戰(zhàn)。
首先是數(shù)據(jù)問題卷仑。目前基于統(tǒng)計方法(尤其是深度學習模型)的機器閱讀理解的研究離不開大量的峻村、人工標注的數(shù)據(jù)。在SQuAD數(shù)據(jù)集推出之前锡凝,數(shù)據(jù)集常常面臨規(guī)模較小粘昨,或是質(zhì)量不佳(因為多是自動生成)的問題,而SQuAD無論是在數(shù)據(jù)規(guī)模還是數(shù)據(jù)質(zhì)量上都有一個很大的提升窜锯。在基于深度學習方法的研究背景下张肾,數(shù)據(jù)量不夠就很難做出有效、或是有用的模型锚扎,更難對模型進行合理捌浩、標準的測試。
另一方面則是算法問題工秩。之前自然語言處理在做閱讀理解或者是自動問答研究的時候尸饺,會把這個研究問題視作一個系統(tǒng)的工程进统,因而把這個問題分成許多不同的部分。例如先去理解用戶的問題浪听;再去找答案的候選螟碎;再將候選答案進行精挑細選、互相比較迹栓;最后對候選答案進行排序打分掉分,挑選出最可能的答案或者生成最終的答案。而這個繁復(fù)的過程中克伊,似乎其中的每一步都是可以優(yōu)化的酥郭。
但它相應(yīng)地也會帶來一些問題。第一愿吹,當你分步去優(yōu)化這其中的每一個過程的時候不从,你會去研究如何更好地理解這個問題,或是研究如何更好地把答案做對犁跪,這些分目標研究結(jié)果的整合未必能和“如何將閱讀理解的答案正確找出來”這個目標完全吻合椿息。第二,如果想做局部的優(yōu)化坷衍,就意味著每一個局部過程都需要相應(yīng)的(標注)數(shù)據(jù)寝优,這使得閱讀理解的研究進展緩慢。如果只使用問題-答案作為訓練數(shù)據(jù)枫耳,中間模塊的優(yōu)化得到的監(jiān)督信息不那么直接乏矾,因而很難有效。
結(jié)合了上述問題迁杨,微軟亞洲研究院自然語言計算研究組的機器閱讀理解研究團隊采用的則是一個端到端的深度學習模型的解決方案钻心,區(qū)別于上述的每一個細化環(huán)節(jié)的具體優(yōu)化過程,他們采取的方法是把中間環(huán)節(jié)盡可能的省去仑最,使得整體的過程能夠得到最優(yōu)效果。
實際上帆喇,SQuAD的挑戰(zhàn)賽形式就是讓系統(tǒng)在閱讀完一篇幾百詞左右的短文之后再回答5個基于文章內(nèi)容的問題警医。這個問題可能比大家熟知的高考英文閱讀理解,或是托福閱讀考試都要難得多坯钦。人們參加的這些考試往往是一個答案被限定住范圍的選擇題预皇。
但是在SQuAD的數(shù)據(jù)集中,問題和答案具有非常豐富的多樣性婉刀。這五個問題中可能涉及文章中的某一個人吟温,某一個地點,或是某一個時間等等實體突颊;也有可能會問一些為什么(Why)鲁豪、怎么樣(How)的問題潘悼。后者的答案可能實際上是一句話,甚至是一小段話爬橡,因此解決這個問題只會更加棘手治唤。
R-NET: 基于深度神經(jīng)網(wǎng)絡(luò)的端到端系統(tǒng)
為了研究機器閱讀理解的問題,包括韋福如和楊南等在內(nèi)的研究團隊試圖去建模人做閱讀理解的過程糙申。他們采用了R-NET宾添,一個多層的網(wǎng)絡(luò)結(jié)構(gòu),分別從四個層面對整個閱讀理解任務(wù)的算法進行了建模柜裸。
我們在做閱讀理解的過程中缕陕,一個常見的順序是這樣的:首先閱讀整篇文章,對文章有一個初步理解之后再去審題疙挺,從而對問題也有了一定認知扛邑。第二步,可能就需要將問題和文中的部分段落和內(nèi)容做一些關(guān)聯(lián)衔统。例如題干中出現(xiàn)的某些關(guān)鍵已知信息(或證據(jù))的鹿榜,找出一些候選答案,舉例來說:如果問題問的信息是時間锦爵,那么文中出現(xiàn)的與時間相關(guān)的信息就可能是候選答案舱殿。第三步,當我們將候選答案與問題進行對應(yīng)之后险掀,我們還需要綜合全文去看待這些問題沪袭,進行證據(jù)的融合來輔證答案的正確性。最后一步樟氢,就是針對自己挑出的答案候選進行精篩冈绊,最終寫下最正確的答案。
有鑒于此埠啃,研究組提出的模型也就分為這樣的四層死宣。最下面的一層做表示學習,就是給問題和文本中的每一個詞做一個表示碴开,即深度學習里的向量毅该。這里研究組使用的是多層的雙向循環(huán)神經(jīng)網(wǎng)絡(luò)。第二步潦牛,就是將問題中的向量和文本中的向量做一個比對眶掌,這樣就能找出那些問題和哪些文字部分比較接近。接下來巴碗,將這些結(jié)果放在全局中進行比對朴爬。這些都是通過注意力機制(attention)達到的。最后一步橡淆,針對挑出的答案候選區(qū)中的每一個詞匯進行預(yù)測召噩,哪一個詞是答案的開始母赵,到哪個詞是答案的結(jié)束。這樣蚣常,系統(tǒng)會挑出可能性最高的一段文本市咽,最后將答案輸出出來。整個過程就是一個基于以上四個層面的神經(jīng)網(wǎng)絡(luò)的端到端系統(tǒng)(見下圖)抵蚊。
未來的方向
提及機器閱讀理解未來值得探索的方向施绎,韋福如分享了他的三點看法。他認為一方面基于深度學習的算法和模型還有很大的空間贞绳,適合機器閱讀理解的網(wǎng)絡(luò)結(jié)構(gòu)值得在SQuAD類似的數(shù)據(jù)集上進一步嘗試和驗證谷醉。具體來說,通過對R-NET目前處理不好的問題的進一步分析冈闭,能否提出可以對復(fù)雜推理進行有效建模俱尼,以及能把常識和外部知識(比如知識庫)有效利用起來的深度學習網(wǎng)絡(luò),是目前很有意義的研究課題萎攒。另外遇八,目前基于深度學習的閱讀理解模型都是黑盒的,很難直觀地表示機器進行閱讀理解的過程和結(jié)果耍休,因而可解釋性的深度學習模型也將是很有趣的研究方向刃永。
其次,人類理解文本的能力是多維度的羊精,結(jié)合多任務(wù)(尤其是閱讀理解相關(guān)的任務(wù)斯够,例如閱讀理解之后進行摘要和問答)的模型非常值得關(guān)注和期待。更進一步喧锦,雖然SQuAD提供了比較大的人工標注數(shù)據(jù)集读规,如何有效且高效地使用未標注的數(shù)據(jù)也是非常值得期待的研究課題和方向。最后從任務(wù)上看燃少,目前SQuAD的任務(wù)定義中答案是原文的某個子片段束亏,而實際中人可能讀完文章之后需要進行更復(fù)雜的推理、并組織新的文字表達出來阵具。
“目前我們的算法基本都是抽取型的方式碍遍,未來生成型的算法也值得更多的探索和研究。另外怔昨,目前機器閱讀理解關(guān)注的都是理解客觀信息的能力雀久,未來機器理解文字里面所表達出來的主觀信息(例如情感)也是非常有趣并值得關(guān)注的方向宿稀〕靡ǎ”韋福如說道。
谷歌BERT模型深度解析
最近谷歌搞了個大新聞祝沸,公司AI團隊新發(fā)布的BERT模型矮烹,在機器閱讀理解頂級水平測試SQuAD1.1中表現(xiàn)出驚人的成績:全部兩個衡量指標上全面超越人類越庇,并且還在11種不同NLP測試中創(chuàng)出最佳成績,包括將GLUE基準推至80.4%(絕對改進7.6%)奉狈,MultiNLI準確度達到86.7% (絕對改進率5.6%)等卤唉。可以預(yù)見的是仁期,BERT將為NLP帶來里程碑式的改變桑驱,也是NLP領(lǐng)域近期最重要的進展。
從現(xiàn)在的大趨勢來看跛蛋,使用某種模型預(yù)訓練一個語言模型看起來是一種比較靠譜的方法熬的。從之前AI2的 ELMo,到 OpenAI的fine-tune transformer赊级,再到Google的這個BERT押框,全都是對預(yù)訓練的語言模型的應(yīng)用。
BERT這個模型與其它兩個不同的是:
1理逊、它在訓練雙向語言模型時以減小的概率把少量的詞替成了Mask或者另一個隨機的詞橡伞。我個人感覺這個目的在于使模型被迫增加對上下文的記憶。至于這個概率晋被,我猜是Jacob拍腦袋隨便設(shè)的兑徘。
2、增加了一個預(yù)測下一句的loss墨微。這個看起來就比較新奇了道媚。
BERT模型具有以下兩個特點:
第一,是這個模型非常的深翘县,12層最域,并不寬(wide),中間層只有1024锈麸,而之前的Transformer模型中間層有2048镀脂。這似乎又印證了計算機圖像處理的一個觀點——深而窄 比 淺而寬 的模型更好。
第二忘伞,MLM(Masked Language Model)薄翅,同時利用左側(cè)和右側(cè)的詞語,這個在ELMo上已經(jīng)出現(xiàn)了氓奈,絕對不是原創(chuàng)翘魄。其次,對于Mask(遮擋)在語言模型上的應(yīng)用舀奶,已經(jīng)被Ziang Xie提出了(我很有幸的也參與到了這篇論文中):[1703.02573] Data Noising as Smoothing in Neural Network Language Models暑竟。這也是篇巨星云集的論文:Sida Wang,Jiwei Li(香儂科技的創(chuàng)始人兼CEO兼史上發(fā)文最多的NLP學者)育勺,Andrew Ng但荤,Dan Jurafsky都是Coauthor罗岖。但很可惜的是他們沒有關(guān)注到這篇論文。用這篇論文的方法去做Masking腹躁,相信BRET的能力說不定還會有提升桑包。
論文的主要貢獻
(1)證明了雙向預(yù)訓練對語言表示的重要性。與之前使用的單向語言模型進行預(yù)訓練不同纺非,BERT使用遮蔽語言模型來實現(xiàn)預(yù)訓練的深度雙向表示哑了。
(2)論文表明,預(yù)先訓練的表示免去了許多工程任務(wù)需要針對特定任務(wù)修改體系架構(gòu)的需求烧颖。 BERT是第一個基于微調(diào)的表示模型垒手,它在大量的句子級和token級任務(wù)上實現(xiàn)了最先進的性能,強于許多面向特定任務(wù)體系架構(gòu)的系統(tǒng)倒信。
(3)BERT刷新了11項NLP任務(wù)的性能記錄科贬。本文還報告了 BERT 的模型簡化研究(ablation study),表明模型的雙向性是一項重要的新成果鳖悠。相關(guān)代碼和預(yù)先訓練的模型將會公布在goo.gl/language/bert上榜掌。