編者按:EMNLP(Conference on Empirical Methods in Natural Language Processing)是計算語言學和自然語言處理領域的頂級國際學術會議。今年的 EMNLP 大會於11月7日-11日正式線上上召開。在本屆大會中,微軟亞洲研究院有多篇論文入選,今天我們精選了其中的6篇來為大家進行簡要介紹。歡迎感興趣的讀者閱讀論文原文,一起了解自然語言處理領域的前沿進展!
CAST: 通過對抽象語法樹的層次化切分與重建來增強程式碼摘要的生成
論文連結:
https://arxiv.org/abs/2108.12987
程式碼連結:
https://github.com/DeepSoftwa...
程式碼摘要生成任務旨在理解真實的程式碼片段,並自動生成自然語句,進而實現描述這段程式碼的功能。由於摘要能夠精簡地描述程式碼的功能、可讀性強,所以良好的摘要可以幫助開發者更便捷地理解、重用和維護程式碼,大大提高生產效率。然而,現實中的摘要卻存在著缺失、錯誤和未及時更新等問題,而且人為標註程式碼的摘要需要具有一定的專業知識背景,整個過程耗時耗力。因此,自動為程式碼生成摘要尤為重要。
近年來,很多研究人員使用各種技術建模富含語法和結構資訊的抽象語法樹(AST), 以此來更好地生成程式碼摘要。但是,由於程式的複雜性,抽象語法樹一般又大又深、難以建模。現有方法也存在著樹的結構被破壞、訓練代價大、資訊丟失等諸多限制。為此,微軟亞洲研究院的研究員們提出了一種層次化切分和重組 AST 的方法——CAST。其核心在於將 AST 層次化地切分成合適粒度的子樹,使得每個子樹包含相對完整的語義;獨立建模子樹後再按照切分前子樹的相對位置,重新聚合子樹的表徵。這樣可以使 AST 的結構更容易被建模,程式碼的語義能夠更加完整地被構建,生成的摘要體現的語義也更加全面。
(圖1:程式碼及其抽象語法樹(AST),切分的子樹以及結構樹的示意圖)
CAST 模型選擇了常用的序列到序列的架構,主要包含三個模組:AST 的編碼器、程式碼編碼器和摘要解碼器。AST 的編碼器用來建模程式碼的語義和結構資訊;程式碼編碼器用來建模變數名層面的詞彙和語義資訊;解碼器則結合兩個編碼器得到的程式碼表徵以及複製機制來生成程式碼摘要。
(圖2:CAST 模型的架構示意圖)
研究員們在兩個公開的資料集、四種衡量指標下進行了自動化測試,並且開展了人工測評實驗。大量實驗結果證明了該方法的有效性。
(表1:在兩個資料集、四種自動化指標下的實驗結果)
(表2:人工評價下的實驗結果,括號外為均分(滿分4分),括號內為方差)
嵌入語言聯盟(Representation Sprachbund)的發現及其對多語言預訓練的作用
論文連結:
https://arxiv.org/abs/2109.00271
作為現代自然語言處理(NLP)中一個重要技術分支,多語言 NLP 旨在使現有 NLP 技術擺脫語言種類的限制,能夠使用一個模型同時處理上百種語言的任務。目前多語言預訓練模型的核心挑戰在於:現存的許多資料集都僅有英語訓練資料,而其他眾多使用人數較少的低資源語言上僅有測試資料。如果使用英語資料對多語言模型進行微調,在其他語言上測試,所得到的結果和英語上的結構存在較大的差距。面對上述挑戰,微軟亞洲研究院的研究員們從語言學理論中的 Sprachbund 受到啟發,設計出瞭如下圖所示的多語言 NLP 新正規化。
(圖3:嵌入語言聯盟發現與預訓練的流程)
Sprachbund 是一個德語語言學術語,表示沒有親屬關係的語言,由於長期共處於一個地區而在語言結構上產生共同區域特徵的現象。研究員們認為預訓練時語言之間較大的差異性是導致跨語言模型表現較差的原因。因此,研究員們提出了 Representation Sprachbund 的概念,用來指一系列具有相似嵌入表示的語言。研究員們通過跨語言預訓練模型提取出語言的嵌入表示,將語言表示進行聚類為多個 Representation Sprachbund,針對每一類嵌入表示相似的 Representation Sprachbund 語言進行預訓練。在 XGLUE 和 XTREME 等多個跨語言基準任務上開展的實驗表明,本文的方法能夠在基線模型基礎上取得顯著提升。
(表3:在跨語言基準任務上的結果)
本文另一個重要的貢獻是探索了預訓練語言模型得到的語言嵌入表示分佈與語言學理論的關係,包括 Language Family, Sprachbund 和語言語法。
(圖4:語言嵌入表示的視覺化分析)
本文通過視覺化分析揭示了語言嵌入表示豐富的語言學性質。研究員們希望未來進一步探索基於深度學習的多語言 NLP 與經典語言學理論的聯絡。
Efficient-FedRec:高效的新聞推薦隱私保護框架
論文連結:
https://arxiv.org/abs/2109.05446
如今,隱私保護對於 AI 系統變得日益重要。由於推薦系統(如新聞推薦)需要使用大量使用者的行為資料進行模型訓練和推理,因此滿足使用者資料隱私保護的需求也十分迫切。聯邦學習是一種可以實現隱私保護的模型訓練框架,能夠在使用者資料不離開本地的前提下,聯合大量使用者進行協同模型訓練。
FedRec[1] 就是一種基於聯邦學習的隱私保護新聞推薦方法,如圖5所示。該方法會在每個使用者端上基於使用者本地儲存的行為資料,來訓練得到本地新聞推薦模型的梯度,然後再將其上傳到伺服器端進行聚合,並更新伺服器端上的全域性新聞推薦模型,進而再分發給使用者端。由於推薦系統採用的模型越來越大,並且該方法的模型訓練主要在使用者端上進行,因此會給使用者端(如手機)帶來巨大的計算負擔。同時,使用者端和伺服器端還需要對所有模型的引數進行多輪互動,這也使得通訊的開銷非常巨大。
(圖5:FedRec[1]框架)
為了解決這一問題,微軟亞洲研究院的研究員們提出了高效的新聞推薦隱私保護框架 Efficient-FedRec。與聯邦學習在使用者端上訓練全部模型的做法不同,研究員們提出將計算任務進行劃分和均衡,讓使用者端和伺服器端同時參與到模型訓練中來,如圖6所示。
(圖6:Efficient-FedRec 框架)
具體來說,研究員們將新聞推薦的模型拆分為使用者模型和新聞模型。使用者模型的目標是從使用者行為中建模使用者興趣,一般模型較為輕量,但是涉及隱私敏感的使用者行為資料。新聞模型的目標則是從新聞文字中建模新聞的語義內容,模型通常比較大,但是處理的新聞文字資料在隱私上不敏感。所以,研究員們將輕量級的、隱私敏感的使用者模型放在使用者端上訓練;將重量級的、隱私不敏感的新聞模型放在伺服器端上訓練,從而能夠顯著降低使用者端的計算開銷以及使用者端和伺服器端之間的通訊開銷。
Efficient-FedRec 的每一輪模型訓練由以下4步組成:
(1)伺服器端隨機選取一部分使用者,並向他們傳送全域性使用者模型和他們互動過的新聞表示。
(2)每個使用者端使用自己本地的隱私資料進行訓練,計算出使用者模型和新聞表示的梯度。
(3)伺服器端聚合使用者模型和新聞表示的梯度。
(4)伺服器端使用聚合後的使用者模型梯度來直接更新使用者模型,使用新聞表示梯度計算新聞模型的梯度來更新新聞模型。更新後的新聞模型將被用於計算出新的新聞表示。
此外,為了不暴露使用者互動歷史,研究員們使用了 Secure Aggregation 來計算不同使用者間互動新聞的並集。使用者通過請求並集中的新聞表示來保護自己的互動歷史記錄。同時,Secure Aggregation 也被用於聚合不同使用者的梯度來保護使用者本地梯度中的隱私資訊。
研究員們基於 MIND 和 Adressa 資料集進行了實驗。表4中的結果顯示,Efficient-FedRec 能夠取得與依賴中心化資料儲存的新聞推薦方法相似的推薦效能。
(表4:不同方法在 MIND 和 Adressa 資料集上的效能比較)
圖7進一步比較了 Efficient-FedRec 和其他隱私保護新聞推薦方法的計算和通訊開銷。實驗結果表明 Efficient-FedRec 可以有效地減小使用者端的計算和通訊負擔。
(圖7:不同隱私保護方法在 MIND 資料集上的計算和通訊開銷比較)
利用弱解碼器輔助檢索任務預訓練
論文連結:
https://arxiv.org/abs/2102.09206
近年來,在搜尋、推薦以及問答等多種場景中,Dense retrieval 技術受到了越來越多的關注。在這些場景的第一階段檢索中,Dense retrieval 模型通常採用雙塔結構,利用編碼器模型首先將使用者側(查詢、瀏覽歷史或問題)和語料庫側(文件或文章)分別編碼為學習表示空間中的獨立向量,然後採用簡單的相似度計算(例如點積或餘弦相似度)來進行高效檢索。但以往的研究表明,常用的預訓練語言模型在 Dense retrieval 場景中,對文字的編碼並不是十分有效,尤其是當文字序列大多長於128個詞時。
對此,本文提出了一種生成高質量文字表示的預訓練語言模型 SEED-Encoder,用於大規模密集向量檢索的場景。SEED-Encoder 採用自編碼器結構,利用一個編碼器生成文字表示,以及一個解碼器基於該文字表示重構原始文字,從而促使編碼器生成更有資訊量的文字表示。
然而理論分析和實驗說明,由於強大的解碼器自身可能學習到一定的語言正規化,因此解碼效果越好並不一定意味著生成的表示越好。具體來說,將解碼器的重構文字的損失期望拆解為解碼器預測的詞分佈與真實分佈之間的 KL 散度,和預測詞與之前已知的文字內容的條件熵之後,微軟亞洲研究院的研究員們發現當解碼器的擬合能力足夠強大或者當前詞與之前可見的文字內容依賴性足夠強時,即使編碼器生成的文字表示沒有任何資訊,解碼器的解碼損失也可以很小。
因此本文提出限制解碼器的引數以及注意力可見範圍,構造弱解碼器來解決這個問題。在預訓練過程中,本文的訓練目標除了 MLM loss 之外還有基於編碼器生成的文字表示的弱解碼器重構損失。由於弱編碼器引數量較少,不會在預訓練過程中增加過多開銷,同時在下游任務中只需要保留編碼器,因此在下游任務上微調的開銷與其他預訓練語言模型一致,如 BERT。
(圖8:模型框架)
大量實驗表明,相比於其他預訓練語言模型,SEED-Encoder 的效果有顯著的提升;同時也減少了在下游任務上微調所需要的訓練輪次,證明了本文所提出方法的有效性。
(表5:實驗效果)
(圖9:BERT 與 Seed-Encoder 收斂過程對比)
mT6:利用翻譯句對的多語言預訓練文字到文字Transformer
論文連結:
https://arxiv.org/abs/2104.08...
多語言文字到文字 Transformer(mT5)模型在多語言自然語言理解評測基準的各項任務上都表現優異。它繼承了 T5 的特點,將自然語言處理任務統一建模為文字到文字問題,又展現了強大的跨語言遷移能力,提升了多語言自然語言處理任務上的效果。然而,如何利用翻譯句對來提升 mT5 仍需要進一步研究。
在本篇論文中,微軟亞洲研究院的研究員們提出 mT6,即利用翻譯句對的多語言預訓練文字到文字 Transformer。研究員們提出了三種文字到文字的跨語言預訓練任務:機器翻譯(Machine Translation, MT)、翻譯對完形填空(Translation Pair Span Corruption, TPSC)、翻譯完型填空(Translation Span Corruption, TSC)。不同於傳統的完型填空任務,在 TPSC 和 TSC 任務中,模型學習會根據雙語上下文進行完形填空,以此鼓勵模型學習通用跨語言文字表示。
(圖10:該論文提出的三種跨語言預訓練任務)
相較於 mT5,mT6 在訓練目標上也有所不同。研究員們提出了部分非自迴歸解碼(如圖11所示),將原目標文字分割為若干組,在解碼過程中要預測的單詞依賴於輸入文字和僅在同組的目標文字,而不是全部已生成的目標文字。
(圖11:部分非自迴歸解碼)
mT6 在 XTREME 多語言理解評價基準的6項任務上均超越 mT5,並且聯合使用 SC+TSC 和部分非自迴歸解碼得到了最好的效果,如表6所示。
(表6:mT6 在 XTREME 多語言理解評價基準上的表現)
如表7所示,對於 Gigaword 多語言文字摘要任務,mT6 在3個語言上超越了 mT5,並且在低資源的場景下展現了更好的效果。
(表7:mT6 在 Gigaword 多語言文字摘要任務上的表現)
利用多語言預訓練編碼器實現零資源跨語言機器翻譯
論文連結:
https://arxiv.org/abs/2104.08757
多語言預訓練編碼器(MPE)如 XLM-R 在諸多自然語言理解任務上表現出了出色的零資源跨語言遷移能力。然而,如何利用 MPE 實現機器翻譯任務上的零資源跨語言遷移仍需要進一步研究。在本文中,微軟亞洲研究院的研究員們探索並提出了提升利用 MPE 的機器翻譯模型的零資源跨語言遷移能力的方法。僅僅利用一個多語言預訓練編碼器和一種語言對的平行語料,就可以使訓練後的機器翻譯模型支援100種源語言的翻譯。大量實驗表明,如果採用合適的微調訓練的方式,利用 XLM-R 訓練的翻譯模型要比利用 mBART 具有更好的零資源跨語言遷移能力。
(圖12:機器翻譯任務上的零資源跨語言遷移。)
圖中 NMT 模型只需要一個訓練好的 MPE 和英德雙語語料,訓練後便可將100種源語言翻譯到英語,而無需利用Fi, Hi, Zh等語言的單語或雙語資訊。
通過對比利用 MPE 訓練 NMT 模型的不同方案,研究員們提出利用 MPE 初始化 NMT 模型的編碼器和解碼器 embedding 層,並在訓練中保持固定;同時從零開始訓練解碼器。為了進一步提升模型的跨語言遷移能力,研究員們採用了兩階段的訓練策略,並引入了增強模型容量的解碼器和位置解耦型編碼器。訓練得到的模型編碼器所產生的基於上下文的表示,含有更少的語言和位置相關的資訊,從而獲得了更強的跨語言遷移能力。
如表8所示,在利用多語言預訓練模型 XLM-R 的諸多方法中,SixT 取得了最好的零資源跨語言遷移能力,在與訓練資料的源語言距離較遠的語言上也有較大的提升。
(表8:不同方法在機器翻譯任務上的零資源跨語言遷移能力比較(表中為 BLEU 分數))
SixT 比微調 mBART 的方法具有更強的跨語言遷移能力。CRISS 和 m2m-100 分別是當前先進的無監督和監督的多到多(many-to-many)機器翻譯模型。在更少的訓練資料下,SixT 在表中的多種語言到英語的翻譯測試集上取得了與 CRISS 和 m2m-100 更好或相當的效能,如表9所示。
(表9:本文提出的方法與其他多語言機器翻譯模型的比較)
如表10所示,一般來說,SixT 在與訓練資料集源語言類似的語言上的遷移能力更強。在本文中,研究員們還提出利用 SixT 的零資源跨語言遷移能力實現低資源機器翻譯的兩個建議:一是更大的訓練資料集遷移效果更好;二是儘量在與遷移的目標語言更相近的訓練資料上訓練。
(表10:模型訓練資料集語言對與跨語言遷移能力的關係)
[1] Privacy-Preserving News Recommendation Model Learning, EMNLP 2020 Findings
(轉載自微軟亞洲研究院自然語言計算組)
歡迎關注微軟中國MSDN訂閱號,獲取更多最新發布!