一文縱覽自然語言生成的發展

2020-12-06 阿里云云棲號

人們對人工智慧的興趣隨著科幻電影的誕生和發展變得愈發濃厚。每當我們聽到「人工智慧」這個詞,便會聯想到《終結者》、《黑客帝國》、《我,機器人》等電影。

機器人具有獨立思考的能力在目前看來還比較遙遠,但機器學習和自然語言理解領域已經在過去幾年取得了重大進展。個人助理(Siri/Alexa)、聊天機器人及問答機器人等應用程式正悄無聲息地改變著人們的生活方式。

人們需要理解大量有歧義且結構多變的語言並從中獲取意義,這促使自然語言理解(Natural Language Understanding,NLU)和自然語言生成(Natural Language Generation, NLG)成為人工智慧中發展最快的應用。Gartner預測,「到2019年,自然語言生成將是90%的現代BI和分析平臺的標準特徵」。本文將回顧NLG的歷史,並展望其未來。

什麼是NLG?

NLG通過預測句子中的下一個單詞傳達信息。使用語言模型能夠預測下一個可能出現的單詞,也就是找到單詞在序列中的概率分布。舉個例子,預測「I need to learn how to __」的下一個單詞,語言模型會計算下一個單詞,如「write」,「drive」可能出現的概率。RNNs及LSTMs等高級神經網絡能夠處理較長的句子,提高了語言模型預測的準確性。

馬爾可夫鏈(Markov Chains)

馬爾可夫鏈是最早用於語言生成的算法。它通過當前單詞預測句子中的下一個單詞。舉個例子,模型通過下面兩個句子進行訓練,「I drink coffee in the morning」和「I eat sandwiches with tea」。「drink」後面出現「coffee」的概率是100%,「I」後面出現「eat」和「drink」的概率分別為50%。馬爾可夫鏈在計算下一個單詞出現概率的時候,會把每個單詞之間的關係考慮進去。該模型最早用於為智慧型手機輸入句子提供下一個單詞生成建議。

但由於僅注意當前單詞,馬爾可夫模型無法探測當前單詞與句子中其它單詞的關係以及句子的結構,使得預測結果不夠準確,在許多應用場景中受限。

循環神經網絡(Recurrent Neural Network, RNN)

神經網絡啟發於人類大腦的工作原理,通過對輸入和輸出數據之間的非線性關係進行建模,為計算提供了一種新的方法,用於語言建模即稱為神經語言建模。

RNN是神經網絡的一種,它能夠捕捉輸入數據的序列特徵。通過前饋網絡處理序列中的每一個item,並將模型的輸出作為序列的next item,此過程能夠幫助存儲前面每步的信息。這樣的「記憶」使得RNN在語言生成中有著出色的表現,因為記住過去的信息能夠幫助更好的預測未來。與馬爾可夫鏈不同的是,在進行預測時,RNN不僅關注當前單詞,還關注已經處理過的單詞。

利用RNN進行語言生成

在RNN的每一次迭代中,模型都能在其「記憶」單元中存儲出現過的單詞,以及計算下一個單詞出現的概率。舉個例子,有「We need to rent a __」,此時要預測句子中的下一個單詞。模型能夠記住在詞典中每個單詞隨前面單詞出現的概率。在上述例子中,「house」或者「car」比「river」和「dinner」有著更高的出現概率。「記憶」單元選擇概率更高的單詞,並對其進行排序,然後進行下一次迭代。

但RNN有一個很大的問題——梯度消失。隨著序列長度的增加,RNNs不能存儲那些很久前遇到的單詞,便只能根據最近的單詞進行預測。這使得RNNs無法應用於生成連貫的長句子。

長短期記憶網絡(Long Short-Term Memory, LSTM)

長短期記憶網絡是RNNs的變體,比vanilla RNNs更適合處理長序列。LSTM應用廣泛,其與RNNs的結構類似。不同的是,RNNs只有一個簡單的層結構,而LSTM內部有4個層結構。一個LSTM由4部分組成:cell,輸入門,輸出門以及遺忘門。

利用LSTM進行語言生成

示例,輸入句子為「I am from Spain. I am fluent in ___」。為了正確預測出下一個單詞「Spanish」,LSTM會更加關註上一句中的「Spain」並且利用cell對其進行記憶。在處理序列時cell會對獲取的信息進行存儲,這些信息會用於預測下一個單詞。當遇到句號時,遺忘門會意識到句子中的上下文發生了改變,並忽略當前cell中存儲的狀態信息,換句話說,遺忘門的作用是讓循環神經網絡「忘記」之前沒有用到的信息。

LSTM及其變體能夠解決梯度消失問題並生成連貫的句子。但是,LSTM也有其局限性:計算要求高,難以訓練。

Transformer

Transformer在2017年,由Google團隊在論文《Attention Is All You Need》中首次提出,並涉及到一種名為「self-attention mechanism」的新方法。Transformers目前廣泛用於解決NLP問題,例如語言建模,機器翻譯以及文本生成等。Transformer模型由一組編碼器和一組解碼器組成,前者負責處理任意長度的輸入,後者負責輸出生成的句子。

在上述示例中,編碼器處理輸入句子,並為其生成表示。解碼器利用表示生成用於輸出的句子。每個單詞最初的表示或嵌入由空心圓表示。接下來,Transformer模型利用self-attention機制獲取所有其他單詞之間的關係,生成每個單詞的新表示,如圖中的實心圓。對每個單詞重複該步驟,連續生成新的表示,類似地,解碼器從左往右依次生成單詞。

與LSTMs不同的是,Transformer需要的步驟少,應用self-attention機制能夠在不考慮單詞位置的情況下,直接捕捉句子中所有單詞之間的關係。

最近,許多研究學者對vanilla transformer模型進行了改進,提升了速度與精度。在2018年,谷歌提出BERT模型,此模型在各種NLP任務中均取得了最先進的結果。在2019年,OpenAI發布了一個基於transformer的語言模型,只需要輸入幾行文本就可以生成長篇文章。

利用Transformers進行語言生成

Transformer模型同樣可以用於語言生成,最著名的要數OpenAI提出的GPT-2語言模型。該模型通過將注意力集中在與預測下一個單詞相關的單詞上,更好的學習並預測句子中的下一個單詞。

使用Transformer進行文本生成與機器翻譯所遵循的結構類似。舉個例子,「Her gown with the dots that are pink, white and ____」。通過利用self-attention機制對前面所出現的顏色(白色和粉色)進行分析,理解需要預測的單詞也是一種顏色,此時模型的輸出為「blue」。Self-attention能夠幫助模型選擇性地關注每一個單詞在句子中擔任的角色,而不僅僅是通過循壞記住些許特徵。

語言生成的未來

本文帶我們縱覽了語言生成的發展,從利用馬爾可夫鏈預測下一個單詞,到使用self-attention生成連貫的文章。但是,我們仍處於生成語言建模的初期,今後還會往自主生成文本的方向邁進。生成模型也將用於圖像、視頻、音頻等內容的開發。

相關焦點

  • 自然語言生成的演變史
    每當我們聽到「AI」一詞時,我們的第一個想法通常是電影中的未來機器人,如終結者和黑客帝國。儘管我們距離可以自己思考的機器人還有幾年的時間,但在過去幾年中,機器學習和自然語言理解領域已經取得了重大進展。 個人助理(Siri / Alexa),聊天機器人和問答機器人a等應用程式真正徹底改變了我們與機器和開展日常生活的方式。
  • 一文讀懂Smartbi的自然語言處理(NLP)技術
    由於自然語言是人類區別於其他動物的根本標誌,沒有語言,人類的思維也就無從談起,所以NLP體現了人工智慧的最高任務與境界。也就是說,只有當計算機具備了處理自然語言的能力時,機器才算實現了真正的智能。 從技術角度看,NLP包括序列標註、分類任務、句子關係判斷和生成式任務等。
  • 從語言學到深度學習NLP,一文概述自然語言處理
    本文第一部分介紹了自然語言處理的基本概念,作者將 NLP 分為自然語言理解和自然語言生成,並解釋了 NLP 過程的各個層級和應用,這一篇論文很適合讀者系統的了解 NLP 的基本概念。本論文從歷史和發展的角度討論不同層次的 NLP 和自然語言生成(NLG)的不同部分,以呈現 NLP 應用的各種最新技術和當前的趨勢與挑戰。1 前言自然語言處理(NLP)是人工智慧和語言學的一部分,它致力於使用計算機理解人類語言中的句子或詞語。NLP 以降低用戶工作量並滿足使用自然語言進行人機互動的願望為目的。
  • 洞察|一文帶你全面了解自然語言處理發展史上的8大裡程碑
    自然語言處理(Natural Language Processing,NLP)已經慢慢演變為計算機科學領域與人工智慧領域中的一個重要方向,高效地用自然語言與計算機進行通信,被視為解決人工智慧完備(AI-complete)的核心問題之一,其中存在著一系列挑戰。
  • 自然語言處理 NLP 發展簡史
    這一系列顛覆性的研究成果在學術界引發轟動,激發了人工智慧(AI)的思潮,同時也催生了自然語言處理(NLP)和計算機技術的發展。NLP 的早期理論基礎人們最早對 NLP 的探索始於對機器翻譯的研究。1947年,美國科學家韋弗(W. Weaver)博士和英國工程師布斯(A. D.
  • 一口氣11項發布 一文看懂百度大腦的NLP布局
    自然語言理解(NLP)的名詞解釋是這樣的,自然語言是人類智慧的結晶,是人工智慧中最為困難的問題之一,而對自然語言處理的研究也是充滿魅力和挑戰的。那麼,百度是如何理解這項挑戰的?他們為此做了哪些研究和布局,我們一探究竟。
  • 科普自然語言處理
    例如,漢語、英語、日語為自然語言的例子,這一種用法可見於自然語言處理一詞中。自然語言是人類交流和思維的主要工具。以上是百度百科對自然語言的釋義。語言是信息的載體,如同數字、文字、圖像、視頻等一樣,它們的目的都是為了記錄和傳播信息。
  • 中科院自動化所提出BIFT模型:面向自然語言生成,同步雙向推斷
    正文內容如下:前言:概括地講,自然語言處理包括兩大任務:自然語言文本理解和自然語言文本生成。自然語言文本理解就是讓機器洞悉人們所言之意,自然語言文本生成旨在讓機器像人一樣表達和說話。文本理解的關鍵在於對已知文本的上下文表徵和建模,而文本生成的本質是在文本理解的基礎上準確流暢地產生自然語言文本。
  • 一文縱覽人工智慧的23個分支技術(上)
    1956年,當「人工智慧(AI)」這一術語正式成型的時候,相應的研究也開始快速發展。那時候,人工智慧還主要被用於問題求解。儘管在 20 世紀 60 年代和 70 年代期間,神經網絡緩慢的發展速度和有限的進展受到過批評,但專家系統的出現維持了人們對人工智慧的興趣和相關研究的增長。
  • 一文縱覽人工智慧的23個分支技術(下)
    >關注「機器之心」百家號,進入個人主頁快速查找《一文縱覽人工智慧的尋找挖掘算法的適當參數設置可能很困難,而且有時候還可能生成太多無用的規則。未來:該技術可能會與其它學習技術結合,並在大數據的基礎上得到進一步發展。大數據和深度學習也許能發現更有趣的規則。
  • NeurIPS|既能理解又能生成自然語言,微軟提出統一預訓練新模型
    在 10 月 20 號的世界網際網路大會中,微軟之前提出來的「統一預訓練語言模型與機器閱讀理解技術」榮獲「世界網際網路領先科技成果」獎,沈向洋博士在會上介紹了這一模型。在機器之心的 SOTA 項目中,我們同樣發現 UniLM 模型在很多自然語言理解、自然語言生成任務中有非常好的效果,並且在機器閱讀理解等方面能獲得當前最優的水平。為此,本文將介紹 UniLM 這項研究工作,該研究已經被接收為 NeurIPS 2019 論文。
  • ...不用跨界也能從文本生成圖像,OpenAI新模型打破自然語言與視覺...
    自然語言與視覺的次元壁正在被打破。這不,OpenAI 最近連發大招,提出兩個連接文本與圖像的神經網絡:DALL·E 和 CLIP。DALL·E 可以基於文本直接生成圖像,CLIP 則能夠完成圖像與文本類別的匹配。OpenAI 的新工作引起了 AI 圈的一陣歡呼。
  • Arria自然語言生成技術擴大了BBC對英國大選的新聞報導
    在唱票後幾分鐘內發表英國690個選區每個選區的本地選舉新聞和結果 新澤西州莫裡斯鎮2019年12月18日 /美通社/ -- Arria NLG今天宣布,BBC新聞網站通過其Semi-Automatic Local Content(半自動本地化內容,簡稱「Salco」)項目擴大了對Arria的自然語言生成
  • NLP入門+實戰必讀:一文教會你最常見的10種自然語言處理技術
    從自動翻譯、文本分類到情緒分析,自然語言處理成為所有數據科學家的必備技能之一。在這篇文章中,你將學習到最常見的10個NLP任務,以及相關資源和代碼。為什麼要寫這篇文章?這期間我需要翻閱大量資料,通過研究報告,博客和同類NLP問題的賽事內容學習該領域的最新發展成果,並應對NLP處理時遇到的各類狀況。因此,我決定將這些資源集中起來,打造一個對NLP常見任務提供最新相關資源的一站式解決方案。下方是文章中提到的任務列表及相關資源。那就一起開始吧。
  • 實踐入門NLP:基於深度學習的自然語言處理
    特別是最近兩年,基於深度學習的自然語言處理逐漸取得了一定進展,在人機對話、問答系統、語言翻譯等方向的應用也一直是自然語言處理中的熱門話題,而這些應用的實現,基本依賴於底層技術和模型的進步,再加上自然語言處理領域也算是一個多學科交叉的行業,自然語言處理的未來發展對於很多相關學科和方向都具有深遠的影響力。
  • 一文帶你讀懂自然語言處理 - 事件提取
    隨著神經網絡算法的改進、計算機算力的顯著提升以及大量湧現的理解框架,自然語言處理的能力正被前所未有的探索。其中一個常見應用稱為事件提取,即處理收集蘊藏在文本中的一個階段內發生的事件,自動識別發生了什麼和什麼時候發生。
  • ——自然語言理解的發展與挑戰
    本論壇將於CNCC第一天(10月22日)下午在杭州分會場舉行,共邀學界資深研究專家探討面向人工智慧時代的自然語言理解發展與挑戰。CNCC將於10月22-24日召開。今年CNCC將以北京作為主會場、瀋陽、杭州、濟南設立分會場並在線上同步直播,各個分會場技術論壇也是精彩紛呈,其中10月22日下午在杭州分會場-杭州市未來科技城學術交流中心:夢想小鎮2號會議廳(21號樓)舉行的自然語言理解的發展與挑戰技術論壇就十分精彩。屆時將邀請學界資深研究專家探討面向人工智慧時代的自然語言理解發展與挑戰。自然語言理解被譽為人工智慧皇冠上的明珠。
  • 自然語言處理深度學習的7個應用
    除了對語言建模的學術興趣外,它也是許多自然語言處理體系結構深度學習的一個重要組成部分。一個語言模型學習詞與詞之間的概率關係,這樣以來,新的詞的序列可以生成與源文本統計學上一致的文本內容。單獨地,語言模型可用於文本或語音生成;例如:生成新的文章標題。生成新的句子,段落,或文件。生成一個句子的建議延續的句子。
  • 人與自然:透過語言看自然
    中國小康網 獨家專稿文|戴榮裡人類自以為是的聰明,正把語言變成剝蝕自然界的利器。反思的話語,在語言長河裡微乎其微,持這種見識的人,越來越成為時代的落伍者。人是依附自然而生的動物,但人一直有擺脫自然控制的願望,所以一生都在改造自然,世世代代都在與自然相抗衡。科技的發達,並不能改變這種悖論,語言的變化,顯示人與自然的關係。上古時代的勞動,是單純性質的為滿足口腹之慾的勞動,人們的進化十分緩慢。當工具產生之後,人的技能隨之增長,抗拒自然災害的能力顯著增長,語言隨之豐富起來。
  • 自然語言處理的經驗主義和理性主義
    前不久,中國語言文字研究所研究員、計算語言學家馮志偉先生在接受中國社會科學院訪談時呼籲計算語言學的發展應將基於規則的理性主義和基於統計的經驗主義相結合。馮志偉先生在另一篇文章中對計算語言學/自然語言處理發展過程中的經驗主義和理性主義做了非常高屋建瓴的解讀和詳細深刻的闡釋,本文就對這篇文章進行梳理,回史望今,希望對理解當下自然語言處理的發展趨勢有所幫助。