不拆分單詞也可以做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 · 頭條號簽約