ERNIE Github 專案地址:https://github.com/PaddlePaddle/LARK/tree/develop/ERNIE
近年來,無監督文字的深度神經網路預訓練模型大幅提升了各個 NLP 任務的效果。早期的工作聚焦於上下文無關的詞向量建模,而之後提出的 Cove,ELMo,GPT 等模型,構建了語句級的語義表示。Google 近期提出的 BERT 模型,通過預測遮蔽的詞,利用 Transformer 的多層 self-attention 雙向建模能力,取得了更好的效果。
無論是稍早提出的 Cove、Elmo、GPT, 還是能力更強的 BERT 模型,其建模物件主要聚焦在原始語言訊號上,較少利用語義知識單元建模。這個問題在中文方面尤為明顯,例如,BERT 在處理中文語言時,通過預測漢字進行建模,模型很難學出更大語義單元的完整語義表示。例如,對於乒 [mask] 球,清明上 [mask] 圖,[mask] 顏六色這些詞,BERT 模型通過字的搭配,很容易推測出掩碼的字資訊,但沒有顯式地對語義概念單元 (如乒乓球、清明上河圖) 以及其對應的語義關係進行建模。
設想如果能夠讓模型學習到海量文字中蘊含的潛在知識,勢必會進一步提升各個 NLP 任務效果。因此百度提出了基於知識增強的 ERNIE 模型。ERNIE 模型通過建模海量資料中的實體概念等先驗語義知識,學習真實世界的語義關係。具體來說,ERNIE 模型通過對詞、實體等語義單元的掩碼,使得模型學習完整概念的語義表示。相較於 BERT 學習原始語言訊號,ERNIE 直接對先驗語義知識單元進行建模,增強了模型語義表示能力。
舉個例子:
Learned by BERT :哈 [mask] 濱是 [mask] 龍江的省會,[mask] 際冰 [mask] 文化名城。
Learned by ERNIE:[mask] [mask] [mask] 是黑龍江的省會,國際 [mask] [mask] 文化名城。
在 BERT 模型中,通過『哈』與『濱』的區域性共現,即可判斷出『爾』字,模型沒有學習與『哈爾濱』相關的知識。而 ERNIE 通過學習詞與實體的表達,使模型能夠建模出『哈爾濱』與『黑龍江』的關係,學到『哈爾濱』是『黑龍江』的省會以及『哈爾濱』是個冰雪城市。
ERNIE 模型本身保持基於字特徵輸入建模,使得模型在應用時不需要依賴其他資訊,具備更強的通用性和可擴充套件性。相對詞特徵輸入模型,字特徵可建模字的組合語義,例如建模紅色,綠色,藍色等表示顏色的詞語時,通過相同字的語義組合學到詞之間的語義關係。
此外,ERNIE 的訓練語料引入了多源資料知識。除了百科類文章建模,還對新聞資訊類、論壇對話類資料進行學習,這裡重點介紹下論壇對話建模。對於對話資料的學習是語義表示的重要途徑,往往相同回覆對應的 Query 語義相似。基於該假設,ERINE 採用 DLM(Dialogue Language Model)建模 Query-Response 對話結構,將對話 Pair 對作為輸入,引入 Dialogue Embedding 標識對話的角色,利用 Dialogue Response Loss 學習對話的隱式關係,通過該方法建模進一步提升模型語義表示能力。
ERNIE 對實體概念知識的學習以及訓練語料的擴充套件,增強了模型語義表示能力。為驗證 ERNIE 的知識學習能力,研究者利用幾道有趣的填空題對模型進行了考察。實驗將段落中的實體知識去掉,讓模型推理其答案。
可以看到 ERNIE 在基於上下文知識推理能力上表現的更加出色。
對於知識推理能力,ERNIE 在自然語言推斷任務上做了進一步實驗。XNLI 由 Facebook 和紐約大學的研究者聯合構建,旨在評測模型多語言的句子理解能力。目標是判斷兩個句子的關係(矛盾、中立、蘊含)。ERNIE 與 Google 公佈的 BERT 進行了比較:
實驗表明,ERNIE 模型相較於 BERT,在語言推斷效果上更勝一籌。
多個公開的中文資料集上的進一步效果驗證顯示,相較 BERT,ERNIE 模型均取得了更好的效果:
1. 語義相似度任務 LCQMC
LCQMC 是哈爾濱工業大學在自然語言處理國際頂會 COLING2018 構建的問題語義匹配資料集,其目標是判斷兩個問題的語義是否相同。
2. 情感分析任務 ChnSentiCorp
ChnSentiCorp 是中文情感分析資料集,其目標是判斷一段話的情感態度。
3. 命名實體識別任務 MSRA-NER
MSRA-NER 資料集由微軟亞研院釋出,其目標是命名實體識別,是指識別文字中具有特定意義的實體,主要包括人名、地名、機構名等。
4. 檢索式問答匹配任務 NLPCC-DBQA
NLPCC-DBQA 是由國際自然語言處理和中文計算會議 NLPCC 於 2016 年舉辦的評測任務,其目標是選擇能夠回答問題的答案。
研究團隊表示,此次技術突破將被應用於多種產品和場景,進一步提升使用者體驗。未來百度將在基於知識融合的預訓練模型上進一步深入研究。例如使用句法分析或利用其他任務的弱監督訊號進行建模。此外,百度也會將該思路推廣到其他語言,在其他語言上進一步驗證。
百度自然語言處理(Natural Language Processing,NLP)以『理解語言,擁有智慧,改變世界』為使命,研發自然語言處理核心技術,打造領先的技術平臺和創新產品,服務全球使用者,讓複雜的世界更簡單。