【NLP】從靜態到動態,詞表徵近幾十年發展回顧

來源 | AI科技評論

作者 | 楊曉凡

【NLP】從靜態到動態,詞表徵近幾十年發展回顧

作者 | 楊曉凡

編輯 | 叢末

在自然語言處理技術的整個發展歷史中,如何把最小語義元素「單詞」做數字化表示,一直都是一個研究熱點。

近幾年,用海量無標記文本數據訓練出的低維單詞表徵向量,也就是詞嵌入 embedding,已經在包括詞性標註、句法解析、命名實體識別、語意角色標註、機器翻譯等許多任務中展現出了有效性。但這種詞嵌入是靜態的,因為只要訓練過程完成之後,它們就不再會隨著新的上下文而變化了。

雖然靜態詞嵌入有很高的效率,但它靜態的本質屬性讓它很難應對一詞多義的問題,因為這時詞的意思依賴於它的上下文 。為了處理這個問題,研究者們近期提出了許多方法,根據上下文動態地學習詞的意思。

比如兩個句子「蘋果銷售手機」和「我吃了一個蘋果」,靜態詞嵌入無法辨別這兩個「蘋果」之間的語義差異,而動態詞嵌入卻可以根據上下文給出不同的表示。很顯然,這樣的從預訓練語言模型中提取出的動態詞嵌入,相比此前的靜態詞嵌入,在諸多自然語言處理任務中能會發揮出更好的表現。

那麼,詞嵌入,從靜態到動態,是如何發展的呢?現狀如何?以及未來有什麼樣的趨勢?

近日,哈爾濱工業大學王宇軒、侯宇泰、車萬翔和劉挺等人在《機器學習和神經機械學國際期刊》(International Journal of Machine Learning and Cybernetics)上發表了一篇關於詞嵌入的綜述論文,回答了這個問題。

【NLP】從靜態到動態,詞表徵近幾十年發展回顧

期刊源地址:https://doi.org/10.1007/s13042-020-01069-8

開放下載地址:http://ir.hit.edu.cn/~car/papers/icmlc2020-wang.pdf

這篇綜述用一個全新的視角 —— 詞嵌入從靜態到動態的發展 —— 對詞表示模型做了全面回顧,內容詳實,值得收藏,是一份放在案角隨時查閱的資料。


1


靜態表徵

靜態詞表徵的發展大致可分為兩個階段。

在第一個階段,主要使用稀疏和高維向量來表示單詞。最為經典的就是獨熱(One‑hot)表示,每個詞對應一個高維向量,向量中除了一位為「1」以外其餘位都是「0」。這樣的詞向量相互之間全都是正交的,自然無法度量不同詞之間的語意距離是否接近。這種嵌入系統存在著數據稀疏和高維的問題,通常詞向量的維度與系統的詞彙量一樣大,難以使用。

為了解決這些問題,在第二階段,人們用大量的文本數據訓練稠密的低維向量,來代替高維向量。以下為這個階段中幾個代表性的詞表示方法:

神經網絡語言模型。用深度神經網絡生成分佈式詞向量開創了一個新的時代,它很好地解決了第一階段「數據稀疏」問題(即測試集中可能會出現訓練集中不存在的詞序列)。模型的訓練目標是給定一個單詞序列以後預測下一個可能出現的詞。

SENNA。SENNA 同樣是一種基於神經網絡的模型,但它的訓練目標是判斷一段文本的可接受程度。這個目標比預測單詞出現的概率要更簡單可行。

CBOW 和 跳詞模型(Skip‑gram)。經過創新設計、簡化網絡架構後得到的 CBOW 和 Skip‑gram 模型的計算複雜度大幅降低,成為分佈式表徵發展歷史上的一座里程碑。大家耳熟能詳的 Word2Vec 就是 CBOW 和Skip‑gram 的最受歡迎的實現。

GloVe 和fastText。在爆發式湧現的詞嵌入模型中,GloVe 和fastText 留下了很大影響。前者更多地捕捉全局信息,更好地利用某些單詞經常共同出現的特點;後者考慮了不同單詞之間的拼寫相似性,而且再一次大幅改進了訓練速度。

雖然上述介紹的這些低維稠密分佈表示在NLP領域已經取得了很大的成功,但對於一詞多義問題卻有點無能為力。這很顯然,一個單詞由一個原型向量(prototype vector)表示,這個向量不會隨著上下文的變化而變化。

解決這個問題的一種直觀方法是,使用多個原型向量來表示一個單詞(的不同詞義)。根據這一思想,Reisinger和Mooney提出了一個多原型向量空間模型,通過聚類為每個單詞生成多個特定意義的向量。這種多原型的思想還被廣泛應用到學習意義級的嵌入(sense-level embeddings)上,Huang等人在 SENNA架構中便使用了這種技術,取得了良好的效果。


2


動態表徵

解決一詞多義問題的另一種方法(可能也是更有效的),是使用動態表徵,或所謂的“上下文嵌入”,其表徵隨著上下文的變化而變化。

CoVe。這是根據上下文內容不同而生成不同詞表徵的首個嘗試。他們在序列到序列的機器翻譯任務上訓練了一個深度 LSTM 編碼器,然後用它生成根據上下文變化的詞嵌入,再在下游任務中應用這些詞嵌入。這個模型的設計簡單直接,但它在許多任務中都帶來了改進,也開啟了動態表徵這條路線。

ELMo。相比於 CoVe,ELMo 的訓練不再需要雙語數據,從而讓它可以直接利用幾乎無限多的無標註文本,它在下游任務中的重大成功也引發了整個 NLP 研究領域的注意。技術角度上,在大規模無標註語料庫上訓練一個深度雙向語言模型,然後從它內部的層中提取表徵,就是 EMLo 表徵。

ULMFit。ULMFit 是基於 LSTM 的一個改進嘗試,它的技術亮點在於判別式精細調節 discriminativefinetuning 、傾斜三角學習率 slanted triangular learning-rates 以及逐層解凍 gradual unfreezing,可以幫助模型在微調階段更好地適應目標任務,從而以很大優勢領先當時的其它模型。

GPT。LSTM 的學習能力是比較有限的,所以採用了 LSTM 的 ELMo 和ULMFit 都無法很好處理長序列中的依賴關係。在基於注意力的 Transformer 模型提出以後,採用 Transformer 作為核心的 GPT 模型發揮出了優秀的表現,也進一步證明了語言模型預訓練和基於上下文的詞表徵的有效性。

BERT。同樣基於Transformer,而且考慮了從左到右、從右到左兩種順序的預訓練模型 BERT 無疑是 2019 年一整年中最常被對比、最常被討論的模型。不僅因為它的表現極為優秀,還因為它提出了單詞掩膜和下句預測這兩種新的無監督預訓練任務,也為後來的研究者們帶來了很多啟發。基於 BERT 的改進模型也有一大批。

XLNet。有研究者認為BERT 的掩膜方式帶來了新的缺點,而且也有觀點認為 BERT 存在訓練不足(不夠收斂)的問題。XLNet 重新設計了預訓練過程中的諸多細節,再一次刷新了預訓練詞嵌入的表現記錄。

【NLP】從靜態到動態,詞表徵近幾十年發展回顧

3


評價方法和數據集

現有的詞嵌入評價指標分為兩類,即內在評價和外在評價。

內在評價是在人工評價的基礎上,直接評價詞語之間的句法或語義關係。根據評價方法的不同,可將其分為絕對內在評價法和比較內在評價法。在第一類中,預先收集人類評估,然後作為嵌入方法的基準。而在比較內在評價法中,accessor直接根據它在特定詞關係任務上的結果來評價詞嵌入的質量。絕對內在評價比比較內在評價更為常用,因為它們在測試時不需要人的參與。比較流行的評估方法包括:

評估方法

數據集

Word semantic similarity

SimVerb-3500、WordSim-353、MEN

Word analogy

Google Analogy、Microsoft Research Syntactic Analogies Dataset、WordRep、BATS

Synonym detection

TOEFL、ESL、RDWP

Concept categorization

BM、AP、ESSLLI-2008

Selectional preference

MSTNN、UP、GDS

外在評價使用詞嵌入作為下游任務的輸入,並使用這些任務的特定度量來測量變化。由於詞嵌入幾乎適用於所有 NLP 任務,因此理論上所有任務都可以看作是外部評價。

在外在評價下,隱含的假設是,詞嵌入在一個任務上有好的結果,在另一個任務上也會。但這種假設並不正確,實驗結果表明,不同的NLP任務對不同的詞嵌入有不同的偏好。因此,雖然某個外在評價對特定任務上的詞嵌入是有用的,但並不能認為它們可以作為一般評估的指標。


4


跨語言詞嵌入

世界上大約有7000種不同的語言,但只有少數語言具有豐富的人類註釋資源。這就需要跨語言的詞嵌入遷移學習,以資源豐富的語言作為訓練對象,遷移到資源較少的語言中,輸入的嵌入則被投射到一個共享的語義空間中。這種嵌入被稱為跨語言詞嵌入。

根據訓練目標的不同,還可以分為on-line和off-line兩種方式。通常,on-line 方法聯合優化單語和跨語目標,而off-line方法將預先訓練的不同語言的單語詞嵌入作為輸入,並將它們投射到共享的語義空間。

根據單語詞嵌入類型的不同,跨語言嵌入學習方法可以分為靜態嵌入和動態嵌入兩種。

靜態嵌入的on-line方法,通常會去學習源語言和目標語言的語言模型,並通過跨語言目標共同優化它們的目標。而靜態嵌入的off-line方法,則是去學習一個映射(大多是線性轉移矩陣),將源語言的向量空間轉化為目標語義的向量空間。

受單語的動態詞嵌入啟發,最近有人開始研究跨語言的動態詞嵌入。在on-line方法中,Mulcaire等人基於ELMo模型,通過從多語言數據中獲取字符級信息,提出了一種多語言上下文表示模型。Lample和Conneau 採用了BERT 的目標,並從並行數據中利用跨語言監督來學習跨語言語言模型(XLMs),這些模型已經在多個跨語言任務中獲得了最新的結果。而對於off-line方法,Mulcaire等人通過線性映射,將預先訓練好的上下文詞嵌入對齊。Wang等人提出在語義空間中直接學習這種轉換,從而獲得一個能夠保留詞義的跨語言動態嵌入。

除了利用映射將富資源語言嵌入到低資源語言中,還可以嘗試同時訓練不同語言的嵌入。Devlin等人對來自104種語言的單語維基百科語料庫,預訓練了一個單語模型(Multi-BERT),該模型在zero-shot 跨語言模型遷移方面表現出驚人的優勢。


5


總結

儘管動態詞嵌入在大多數NLP任務中都取得了驚人的成功,但這個領域中仍有許多問題還值得探索。作者在文章中對 8 個具有挑戰性的方面做了探討,包括自監督學習、多任務學習、多模態學習、小樣本學習、語言生成、可解釋性、對抗性攻擊和簡化訓練過程,我們這裡不再贅述,感興趣的讀者可以閱讀論文原文。


The End


分享到:


相關文章: