楠木軒

不拆分單詞也可以做NLP,哈工大最新模型在多項任務中打敗BERT

由 顓孫佳悦 發佈於 經典

豐色 發自 凹非寺

量子位 | 公眾號 QbitAI

眾所周知,BERT在預訓練時會對某些單詞進行拆分(術語叫做“WordPiece”)

比如把“loved”、loving”和loves”拆分成lov”、ed”、ing”和”es”。

目的是縮減詞表、加快訓練速度,但這樣一來,在某些時候反而會阻礙模型的理解能力

比如把”lossless”分成”loss”和”less”的時候。

現在,來自哈工大和騰訊AI Lab的研究人員,嘗試利用不做單詞拆分的詞彙表開發了一個BERT風格的預訓練模型——WordBERT

結果,這個WordBERT在完形填空測試和機器閲讀理解方面的成績相比BERT有了很大提高。

在其他NLP任務,比如詞性標註(POS-Tagging)、組塊分析(Chunking)和命名實體識別(NER)中,WordBERT的表現也都優於BERT。

由於不用分詞,這個WordBERT還可以直接進行中文訓練

更值得一提的是,它在性能提升的同時,推理速度並沒有變慢

可謂一舉多得。

NO WordPieces

與BERT類似,WordBERT包含兩個組件:詞向量(word embedding)和Transformer層。

和以前的模型一樣,WordBERT採用多層雙向Transformer來學習語境表示(contextualized representation)

word embedding則是用來獲得單詞向量表示的參數矩陣,與把單詞分成WordPiece的BERT相比,WordBERT的詞彙由完整的單詞組成。

他們用自然語言處理軟件包Spacy處理數據,生成了兩個詞彙表,一個規模為500K,一個為1M。

詞彙表中還被單獨添加了5個特殊單詞:[PAD]、[UNK]、 [CLS]、[SEP]和[MASK]。

通過不同的詞彙表規模、初始化配置和不同語言,最後研究人員一共訓練出四個版本的WordBERT:

WordBERT-500K、WordBERT-1M、WordBERT-Glove和WordBERT-ZH

它們的配置如上,嵌入參數都是隨機初始化的,嵌入維數和基準BERT保持一致。

其中WordBERT-Glove用的詞彙表是現成的Glove vocabulary,裏面包含約190萬個未編碼的單詞,該模型由相應的單詞向量(word vectors)在WordBERT之上初始化而來。

WordBERT-ZH則是用中文詞彙訓練出來的WordBERT,它也保持了768的詞嵌入維數。

性能與速度兼具

在測試環節中,完形填空的測試數據集來自CLOTH,它由中學教師設計,通常用來對中國初高中學生進行入學考試。

其中既有隻需在當前句子中進行推理的簡單題,也有需要在全文範圍內進行推理的難題。

結果如下:

△ M代表初中,H代表高中

WordBERT-1M獲得了最佳成績,並接近人類水平。

它在高中題比BERT高了3.18分,初中題高了2.59分,這説明WordBERT在複雜任務中具有更高的理解和推理能力

在詞性標註、組塊分析和命名實體識別(NER)等分類任務中,WordBERT的成績如下:

相比來看,它在NER任務上的優勢更明顯一些(後兩列)

研究人員推測,這可能是WordBERT在學習低頻詞的表徵方面有優勢,因為命名實體(named entities)往往就是一些不常見的稀有詞。

對於“中文版”WordBERT-ZH,研究人員在CLUE benchmark上的各種任務中測試其性能。

除了BERT,對比模型還包括WoBERT和MarkBERT,這也是兩個基於BERT預訓練的中文模型。

結果,WordBERT-ZH在四項任務中都打敗了所有其他對比模型,在全部五項任務上的表現都優於基線BERT,並在TNEWS(分類)、OCNLI(推理)和CSL(關鍵字識別)任務上取得了3分以上的差距。

這説明,基於詞的模型對中文也是非常有效的。

最後,實驗還發現:

性能不差的WordBERT,在不同任務上的推理速度也並未“落於下風”。

關於作者

一作為哈工大計算機專業在讀博士生馮掌印,研究方向為NLP、文本生成。

他曾在微軟亞研院自然語言計算組、哈工大和科大訊飛聯合實驗室實習,在NLP領域的頂會ENNLP發表過一篇一作論文。

通訊作者為史樹明,來自騰訊AI Lab。

論文地址:

https://arxiv.org/abs/2202.12142

— 完 —

量子位 QbitAI · 頭條號簽約