BERT是否完美,語言模型又是否真正地「理解了語言」呢?

2020-12-15 機器之心Pro

機器之心發布

作者:追一科技 AI Lab 研究員 Tony

大家都知道,BERT等語言模型在自然語言處理中得到了廣泛的應用。但有時也會出現一個疑問,這些語言模型是否真正地理解了語言呢?專家學者對此也會有不同的見解。本文作者則從語言的本質、語言符號與意義的關係以及語言模型究竟從語言中學到了什麼等幾個方面闡述了對該主題的看法。

繼 18 年 BERT 刷爆了當時剛出不久的 GLUE 榜單後,預訓練語言模型便成為自然語言處理 (Natural Language Processing, NLP) 任務的標配。直覺上模型至少某種程度上「理解了語言」才能如此有效 -- 如 Sebastian Ruder 在一篇文章 [1]中所稱,要解決語言建模 (Language Modeling) 這個任務,語言模型 (Language Model) 需要同時學到句法 (Syntax) 和語義 (Semantics)。以 BERT 為代表的語言模型是否真的「理解了語言」?若真如此,隨著算力和數據的堆砌,在可見的未來自然語言理解 (Natural Language Understanding, NLU) 將會被徹底解決。然而 Emily Bender 在 9 月份的一個 Talk [2] 否定了這種期待 -- 只靠形式 (Form) 是學不出意義 (Meaning) 的。換言之,Bender 認為語言模型無法學出語義 (Semantics)理解這個結論涉及到一個根本性的問題:理解語言意味著什麼?在深度學習快速迭代的車輪下,回答這個問題 -- 至少是部分回答 -- 對自然語言處理有著方法論層面的意義。從千年前的蹣跚學步到近兩世紀的激烈爭論,語言哲學 (Philosophy of Language)、語言學 (Linguistics) 和心理語言學 (Psycholinguistics) 的學者們逐漸勾勒出上述問題的答案。它們雖然不能對問題蓋棺定論,但至少能夠提供許多直覺 -- 而這正是工程研究所需要的(一切)。語言是用來溝通的符號系統 [1]語言首先是一個符號系統。它由離散的符號組成:我們從連續的語音信號中辨認出音素 (Phonene);從連續的視覺信號中辨認出詞素 (Morpheme)。符號間可以組成新的符號,其組合規則由語法 (Grammar) 規定。其中詞法 (Morphology) 規定了詞素如何組成詞 (Word),如"un-deni-able", "go-ing"。句法 (Syntax) 規定了詞如何組成句子 (Sentence)。語言是用來溝通的,因此符號及它們的組合規則都代表著一定的意義 (Meaning)。符號和規則與意義的聯繫是隨意的:中文用「我」表示第一人稱,英文用 "I",日文可以用「わたし」。但這種隨意性受制於群體的約定俗成。我當然可以把「你大爺」當做表達愛意的那三個字,但前提是我已經做好孤獨終老的心理準備。「理解語言」便意味著理解語言內的符號及其組合規則,及其各自對應的意義。而這兩者又是極其困難的問題亂中有序的符號系統 [1]語言這個符號系統是約定俗成的,它具有一定程度的隨意性。這種隨意性給語言系統帶來了歧義和例外,使得語言的分析和學習產生了不少困難。歧義的表現形式多種多樣。同一個詞可能來自不同詞素的組合

unlockable = un+lockable / unlock + able同一句話可以有不同的語法結構和不同意思

歡迎新老師生前來就餐 = 歡迎+新老師+生前+來+就餐 / 歡迎+新老+師生+前來+就餐而同一個詞也可以有不同的意思:"book" 可以是「書本」,也可以是「預定」。上述是一個詞/句對應多個意思的情況,即歧義。反過來一個意思可以由不同的句子來表達

新垣結衣是我老婆 = 我是新垣結衣的老公語言規則的例外也有很多形式。擁有詞形變化的語言中通常會有不規則變形,如英文中 "go" 的過去式不是 "goed",而是 "went"。成語和習語則打破了許多語法規則:「臥薪嘗膽」和其字面意思完全不同,而 "long time no see" 則完全不符合英文語法。外來詞的加入也破壞了詞法規則:如"魯棒"不是山東的什麼棒子,而是英文 "robust" 的音譯。理解語言內的符號及其組合規則,意味著我們需要理清並消除存在的歧義,區分規則和例外。意義不明的意義 [2] [3]符號和規則有意義 (Meaning)。但是意義是什麼呢?這是一個硬核問題,語言哲學中的意義理論 (Theory of Meaning) 有長篇累牘的討論語言是用來溝通的,它常用來描述現實的某種狀態。所以語言的意義必然存在與現實相對應的成分,這種對應我們稱之為指代 (Refer)。「歐巴馬」對應的就是現實中歐巴馬這個人,「北京」對應的就是北京這個地方。所以意義裡面必須有指代,有人甚至會說意義就是指代。但意義僅是指代嗎?這種樸素的意義理論可以被輕易駁倒。顯然有很多詞不能從現實中找到指代物 --「如果」、「可能」-- 但它們表達了一定意思。可上面提到的「歐巴馬」、「北京」這些專有名詞的意義似乎只有指代了吧?Frege's Puzzle 卻讓這種觀點站不住腳。例如「魯迅是周樹人」這句話 (魯迅:又關我什麼事),假如「魯迅」和「周樹人」的意義就是指代,這句話便等價於「魯迅是魯迅」-- 一句廢話。但「魯迅是周樹人」的確告訴了我們一些東西 -- 因此專有名詞的意義裡需要有有指代之外的東西。Frege 認為語言的意義是其涵義 (Sense),它存在於語言與被指代物之間,所以「魯迅」這個詞的涵義可能包含了文豪、有棄醫從文的經歷,而「周樹人」的涵義則可能包含某時某刻生於某地。但詞的涵義又是什麼?句子的涵義又是什麼?可能世界語義 (Possible Worlds Semantics)[2] 認為句子組分的涵義便是從可能世界 (Possible World) 裡面選出其描述對象的函數;而句子的涵義這個函數則可以從所有可能世界中,挑出句子描述為真的可能世界 (可能世界如字面意思。舉個例子,在一種可能世界裡周樹人可能沒有棄醫從文,並成了一代名醫;在另一種可能世界裡,魯迅是一個叫馬樹人的名家)。但我們怎麼確定這些函數呢?對於詞而言我們可以說這個函數便是詞對應的概念 (Concept)。但概念又是什麼?我們可以說每個概念對應這個概念的等價性質。比如鳥的性質是「有羽毛」、「會飛」-- 但有些鳥,比如企鵝,是不會飛的:確定概念的等價性質有操作上的困難。我們也可以說每個概念對應了各自的典型個體,比如鳥的典型個體是鷹、杜鵑這些會飛的鳥,而企鵝並不是那麼典型,處於鳥這個概念中的邊緣部分 -- 但抽象名詞「愛」、「理想」的典型個體是什麼?假設我們已經完成了對意義的刻畫 -- 這些都是我們掌握的語言知識 (Linguistic Knowledge)。但語言知識似乎又和百科知識 (Encyclopedic Knowledge) 糾纏不清。我們知道「禿頂就是沒頭髮」是語言知識,它描述了我們對「禿頂」這個符號的意義的約定;「程式設計師容易禿頂」是百科知識,它描述了關於世界的規律。但「輕的東西會往下掉」是屬於語言知識,即「輕」這個符號的意義之一,還是屬於百科知識,即包含了萬有引力的規律呢?迄今為止我們並沒有把另一個硬核元素考慮進來 -- 情境 (Context)。拋開具體的情境,「你們還是太年輕」中的「你們」是誰?「世界首富真有錢」中的「世界首富」是誰?這些指示詞 (Deixis) 需要依靠情境的信息 -- 如這句話從誰口中說出,在什麼時候說的 -- 去補全整句話的意義。在特定情境中,說話人想表達的意思和字面意思是不同的。有求於你的人喚你一句「帥哥」並不是真的因為你帥;「他講的真有趣」在大家都昏昏欲睡時,與在大家掌聲頻起時表達的是不同的意思;帶著憂鬱眼神對酒保說一句「Dry Martini」,他就會給你送來一杯烈酒,即使這並不是完整的一句話。雖然關於硬核的意義理論的爭論仍然會持續不斷,但至少我們得到了一個模糊的結論,即指代屬於意義的一部分,語言需要和現實世界有對應關係。同時意義是介乎現實和語言之間的涵義,是一種心理表徵 (Mental Representation),只是它的形式現在仍沒有定論。最後語言的意義依賴於情境。理解語言的意義便意味著理解涵義的形式及其指代,及兩者如何依情境產生變化。語言模型無法完整理解語言為了理解語言,我們需要:

理解語言內的符號及其組合規則;理解語言的意義,即理解涵義的形式及其指代,以及兩者如何依情境產生變化。而現有語模型的訓練基於本語料。它到的數據是服從語規則、在定情境 (某一時間地點,某種心理狀態,基於某些知識,做了某些推理等) 中的輸出的堆語符號。假如把人想表達的意義和情境當做輸入,文本當做輸出,那麼語言就是一個將意義和情境映射到服從語言規則的文本的函數。而想要語言模型只依靠函數的可能輸出,就能推斷出函數的形式,即輸入和輸出的對應關係,是不可能的。所以按照本的定義,語模型是沒辦法完整理解語的。

語言模型學到了什麼語言模型必然是學到了相當程度的語言知識,否則不可能這麼有效。和猴子隨機按鍵盤產生的語料不同,訓練語言模型的語料中,語言符號的分布不是隨機的:它們受制於語言內的符號和組合規則,以及可能表達的意義與情境的組合。情境和表達的意義相關,這是 Wittgenstein 的語用意義理論 (Use Theory of Meaning) 的洞見。而語境是情境的一部分,那麼「經常出現在類似的語境中的詞有類似的意義」,即 Firth 的分布式語義假設 (Distributional Hypothesis)。因此雖然我們無法復原語言這個函數,但是可以藉由上述洞察,推斷出語言符號間的語義相似性 (Semantic Similarity)。語言符號和規則的意義中除指代之外還有別的性質,這些性質部分體現為語義關係 (Semantic Relationship),而語義相似性便是語義關係的一種描述語境是由語言符號組成的,服從組合規則。而觀察語境中可能出現的符號及其組合方式,模型似乎可以猜測出語言中的符號及其組合規則。而有了語境分布刻畫的符號間的語義相似性,模型似乎也可以猜測出組合規則的語義相似性。模型學到的語義相似性似乎足夠滿足工程需求了 -- 模型充當了一個抽象接口的角色,把相似意思的紛繁表達歸化為同一個輸出。而我們的有監督學習範式,以情感分析為例,可以理解為用額外的知識 (即標註),去告訴模型「開心」和「高興」在情感這個維度上意思相似。所以在大量數據上充分訓練的語言模型才可以對情感分析等下遊任務有幫助。然而語言模型也無法完全解決語義關係的建模。語境的分布只有相似和不相似,因而語言模型能學到的語義關係只有模糊的相似與不相似。這種模糊性在詞向量盛行的時代便開始廣受詬病 [4]。而語義關係卻十分豐富:對於字詞,我們有同義詞 (Synonymy),反義詞 (Antonymy),上義詞 (Hypernym),下義詞 (Hyponym),派生 (Derivation) 等豐富的關係;對於句子,我們有同義 (Synonymy),矛盾 (Contradiction),隱含 (Entailment),前提 (Presupposition) 等關係 -- 這些都是簡單的「相似」所無法區分的。語境的分布只是真實輸入,即意義和情景的一種近似。近似誤差的來源有三:一是語境只是情境的一部分,情境中近乎無限的信息只有一小部分被認知,並轉化為語言說出來;二是意義與情境只是相關關係,情景並不決定人想表達的意義 -- 看到壯闊的山河,一個人可能只是拍照而不說話,可能感嘆「造化鍾神秀」,也可能說「今天晚上吃水煮肉吧」;三是語料採樣的偏差,這使得語境的分布受制於語料的來源 -- B 站語料中的「哲學」和學術文獻語料中的「哲學」出現在完全不同的語境中,而完全無偏的採樣在操作上是不可能的。展望人無完人,BERT 無完 BERT。從上面對語言模型局限的分析中,我們至少可以看出兩個改進方向:第一個方向是加強對語料內信息的挖掘。從 GPT 到 BERT,再到 XLNET、T5 和 ELECTRA,這一系列進展代表了對「語境」-「語境中的詞」這個二元組的更精細建模。第二個方向則是查漏補缺。作為語言函數輸入的意義與情景的缺失,使得對語義關係的推斷有很大的偏差。直接的思路有兩個:一是用知識圖譜直接提供語言符號間豐富語義關係;二是多模態學習,充實語境難以近似的意義和情景。而這兩點也是許多 NLP 研究者 (包括追一科技) 開始或者已經在布局的方向。基於相對侷促的訓練信息,預訓練語言模型已經取得了如此喜人的成績 -- 在具體任務的研究中,研究者們幾乎已經到了談芝麻街色變的狀態 (ELMo, BERT 和 ERNIE 都是芝麻街的人物)。我們有理由相信隨著對預訓練任務的進一步拓展,以及對模型符號推理能力的進一步探索,語言智能這顆 AI 皇冠上的明珠會離我們越來越近。

[1] https://thegradient.pub/nlp-imagenet/

[2] http://faculty.washington.edu/ebender/papers/GeneralPurposeNLU.pdf

[3] Fromkin, V, R Rodman, and N Hyams. "An Introduction to Language". Cengage Learning, (2013). [4] Lycan, William G..「Philosophy of Language: A Contemporary Introduction.」(2018).[5] Saeed, J I. "Semantics". Wiley, (2011).[6] Lenci, Alessandro.「Distributional Models of Word Meaning.」doi.org 4.1 (2018): 151–171.

相關焦點

  • 圖解當前最強語言模型BERT:NLP是如何攻克遷移學習的?
    技術博主 Jay Alammar 近日發文通過圖解方式生動地講解了 BERT 的架構和方法基礎。2018 年是機器學習模型處理文本(更準確地說是自然語言處理,簡稱 NLP)的一個轉折點。如何最好地表徵詞和句子以便最好地理解其潛在含義和關係?我們對此的概念理解正在快速演進。
  • 2020自然語言處理 BERT 模型(上)
    BERT 主要應用於自然語言處理中的預訓練。這裡想說一件有趣的事,就是當下比較火的自然語言處理模型如 ElMo 和 BERT 都是動畫片芝麻街中角色。那麼什麼是 BERT 呢?(1)2020機器學習 Transform 模型(2)2020機器學習 Transform 模型(3)我們先用一句話來概括一下
  • 谷歌再次發布BERT的多語言模型和中文模型
    BERT,全稱是Bidirectional Encoder Representations from Transformers,是一種預訓練語言表示的新方法。 BERT有多強大呢?它在機器閱讀理解頂級水平測試SQuAD1.1中表現出驚人的成績:全部兩個衡量指標上全面超越人類!
  • BERT詳解:開創性自然語言處理框架的全面指南
    其他信息: 自然語言處理的學科前沿1. BERT是什麼?你已經聽說過BERT、它的強大功能,以及它是如何潛在地改變自然語言處理領域的。但是BERT到底是什麼呢?這是因為在一個大型文本語料庫上訓練一個模型時,模型開始獲得對語言工作原理的更深入的理解。這些知識是瑞士軍刀,幾乎對任何自然語言處理任務都有用。第三,BERT是一個「深度雙向」的模型。雙向意味著BERT在訓練階段從所選文本的左右上下文中汲取信息。模型的雙向性對於理解語言的真正意義很重要。來看一個例子,有兩句話,都涉及「bank」一詞:
  • 谷歌開源 BERT 模型原始碼
    驚鴻一瞥後,人們都在期待谷歌何時會放出 BERT 模型原始碼。直至今日,谷歌終於一鼓作氣發布了包括 BERT 模型 TensorFlow 代碼、BERT-Base 與 BERT-Large 模型的預訓練檢查點、微調實驗結果的自動化復現 TensorFlow 代碼、預訓練數據生成和數據訓練的代碼在內的「BERT 模型大禮包」。
  • 超越谷歌BERT!依圖預訓練語言理解模型入選NeurIPS
    今年 5 月,Open AI 發布了非常擅長「炮製出類似人類的文本」的 GPT-3,擁有破天荒的 1750 億參數,一時被業界視為最強大的人工智慧語言模型。可是,訓練成本極高,難以普及,也成了 GPT-3 成功背後的不足。
  • 被封神的多語言BERT模型是如何開啟NER新時代的?
    全文共3880字,預計學習時長20分鐘或更長在世界數據科學界, BERT模型的公布無疑是自然語言處理領域最激動人心的大事件。鑑於BERT還未廣為人知,特此做出以下解釋:BERT是一種以轉換器為基礎,進行上下文詞語預測,從而得出最優結果的語言表徵模型。計算語言學協會北美分會將BERT論文評為年度最佳長篇論文。
  • 超越谷歌BERT!依圖預訓練語言理解模型ConvBERT入選NeurIPS 2020
    今年 5 月,Open AI 發布了非常擅長「炮製出類似人類的文本」的 GPT-3,擁有破天荒的 1750 億參數,一時被業界視為最強大的人工智慧語言模型。可是,訓練成本極高,難以普及,也成了 GPT-3 成功背後的不足。相對於通用的計算機視覺模型,語言模型複雜得多、訓練成本也更高,像 GPT-3 這種規模的模型只能是工業界才玩得起。
  • 谷歌提出多語言BERT模型:為109種語言生成跨語言句子嵌入
    該模型可為109種語言生成與語言無關的跨語言句子嵌入,同時在跨語言文本檢索性能優於LASER。 近日,谷歌AI研究人員提出了一種稱為LaBSE的多語言BERT嵌入模型,該模型可為109種語言生成與語言無關的跨語言句子嵌入。
  • 模型聽人講幾句就能學得更好?斯坦福提出用語言解釋輔助學習
    舉個例子,給定解釋「at least 2 red squares(至少兩個紅方塊)」,模型不僅要理解什麼是「red(紅)」和「squares(方塊)」,還要理解它們如何指代了輸入的特定部分(通常很複雜)。
  • 機器學習教你學習語言:Duolingo推出CEFR語言檢測器
    這項文本改編任務對我們來說是一個艱巨的挑戰,即如何有效地為各個階段的學習者生成可學內容——不僅是我們的語言學習故事,還包括播客和「多鄰國」產品的其它功能。因此,我們構建了半自動的機器學習系統,以幫助我們針對於不同的語言熟悉程度進行的內容創建過程(根據 CEFR 標準進行衡量)。
  • 谷歌提出多語言BERT模型:可為109種語言生成跨語言句子嵌入
    【新智元導讀】谷歌研究人員提出了一種LaBSE的多語言BERT嵌入模型。該模型可為109種語言生成與語言無關的跨語言句子嵌入,同時在跨語言文本檢索性能優於LASER。 近日,谷歌AI研究人員提出了一種稱為LaBSE的多語言BERT嵌入模型,該模型可為109種語言生成與語言無關的跨語言句子嵌入。
  • 小版BERT也能出奇蹟:最火的預訓練語言庫探索小巧之路
    在大家紛紛感嘆「大力出奇蹟」的時候,作為調用預訓練語言模型最流行的庫,HuggingFace 嘗試用更少的參數量、更少的訓練資源實現同等的性能,於是知識蒸餾版 BERT——DistilBERT 應運而生!
  • 進一步改進GPT和BERT:使用Transformer的語言模型
    語言模型的目標是根據之前的上文預測下一個詞,這需要細粒度的上下文詞序信息。已有的 Transformer 架構中的自注意和位置編碼都不能有效地建模這種信息。第二個挑戰(和機會)源自這一事實:我們往往有機會獲取在相關但不完全相同的任務上預訓練的模型。舉個例子,GPT 或 BERT 都沒有針對 WikiText 進行調整,也沒有直接以最小化困惑度為目標。
  • 谷歌搜索:幾乎所有的英文搜索都用上BERT了
    機器之心報導機器之心編輯部在前段時間舉辦的「Search On」活動中,谷歌宣布,BERT 現在幾乎為谷歌搜尋引擎上的每一個基於英文的查詢提供支持。而在去年,這一比例僅為 10%。BERT 是谷歌開源的一款自然語言處理預訓練模型,一經推出就刷新了 11 項 NLP 任務的 SOTA 記錄,登頂 GLUE 基準排行榜。
  • 谷歌搜索:幾乎所有的英文搜索都用上BERT了
    機器之心報導機器之心編輯部在前段時間舉辦的「Search On」活動中,谷歌宣布,BERT 現在幾乎為谷歌搜尋引擎上的每一個基於英文的查詢提供支持具體到搜尋引擎來說,BERT 可以幫助搜尋引擎更好地理解 web 頁面上的內容,從而提高搜索結果的相關性。BERT 模型中創新性的Transformer架構是一大亮點。Transformer 處理一個句子中與所有其他單詞相關的單詞,而不是按順序逐個處理。
  • 理解神奇的BERT:自然語言處理的遊戲規則改變者?
    BERT之所以在其他框架中如此獨一無二,是因為它首次使用深層雙向無監督語言表徵和在預訓練中只使用純文本語料庫。因為BERT是開源的,所以任何人只要懂得機器學習知識,就能輕鬆地建立起一個NLP模型,且無需使用訓練模型的大量源數據集。因此,節約了時間、精力、知識和資源。
  • XLNet訓練成本6萬美元,頂5個BERT,大模型「身價」驚人
    去年 10 月,「最強 NLP 預訓練模型」Bert 問世,橫掃 11 項 NLP 任務記錄。但僅僅過了 8 個月,這一「最強」模型就遭到 XLNet 的碾壓,後者在 20 項任務上超越前者,又一次刷新 NLP 預訓練模型的各項記錄。但除了「最強」之外,這些模型似乎也是「最貴」的。
  • 是時候「拋棄」谷歌 BERT 模型了!新型預訓練語言模型問世
    作者 | XLNet Team譯者 | 孫薇責編 | Jane近日,XLNet 團隊發布了新型預訓練語言模型 XLNet,這個新模型在各項基準測試中都優於谷歌之前發布的BERT模型,其中模型 XLNet-Large 的數據量更是 BERT 模型的 10 倍左右。那 XLnet 和 BERT 到底要選誰?
  • BERT模型:自然語言處理最新裡程碑完整詳解!
    與BERT模型相似的預訓練語言模型例如問答、命名實體識別、自然語言推理、文本分類等在許多自然語言處理任務中發揮著重要作用。BERT是一種基於微調的多層雙向變換器編碼器。首先介紹下該變換器的架構,這一點尤為重要。什麼是變換器(Transformer)?