AAAI 2021 | 首字母縮寫(xiě)詞消歧挑戰(zhàn)賽冠軍技術(shù)分享

??新智元推薦?
??新智元推薦?
編輯:SF
2月2-9日,AAAI 2021于線上隆重召開(kāi)。AAAI(美國(guó)人工智能協(xié)會(huì))作為人工智能領(lǐng)域的主要學(xué)術(shù)組織之一,其主辦的年會(huì)被列為國(guó)際人工智能領(lǐng)域的 A 類(lèi)頂級(jí)會(huì)議。來(lái)自中國(guó)的DeepBlueAI團(tuán)隊(duì)首次參加AAAI挑戰(zhàn)賽,便在Acronym Disambiguation(首字母縮寫(xiě)詞消歧)賽道中與阿里巴巴等知名機(jī)構(gòu)同臺(tái)競(jìng)技,并獲得冠軍。


團(tuán)隊(duì)成績(jī)
任務(wù)介紹
首字母縮寫(xiě)在許多英文文獻(xiàn)和文檔中,特別是在科學(xué)和醫(yī)療領(lǐng)域十分常見(jiàn)。通過(guò)使用首字母縮寫(xiě)詞,人們可以避免重復(fù)使用較長(zhǎng)的短語(yǔ)。
例如,“CNN”的全稱(chēng)可以是“Convolutional Neural Network”,不過(guò)某些情況下它也可以是“Condensed Nearest Neighbor”的縮寫(xiě)。
了解首字母縮寫(xiě)及其全稱(chēng)之間的對(duì)應(yīng)關(guān)系在自然語(yǔ)言處理的許多任務(wù)中至關(guān)重要,如文本分類(lèi)、問(wèn)答系統(tǒng)等。
盡管使用首字母縮寫(xiě)詞能夠便利人們的書(shū)寫(xiě)交流,但是一個(gè)縮寫(xiě)詞往往對(duì)應(yīng)有多個(gè)全稱(chēng),在一些情況下,如科學(xué)或醫(yī)療領(lǐng)域中,一些專(zhuān)業(yè)名詞的縮寫(xiě)可能會(huì)使得對(duì)該領(lǐng)域不熟悉的人在理解文意時(shí)產(chǎn)生一些歧義。
因此,如何利用計(jì)算機(jī)技術(shù)協(xié)助人們理解不同語(yǔ)境下縮寫(xiě)詞的正確含義是值得探討的問(wèn)題。首字母縮寫(xiě)詞消歧任務(wù)由此而生,該任務(wù)是當(dāng)給定一個(gè)首字母縮寫(xiě)詞以及該詞對(duì)應(yīng)的幾個(gè)可能的全稱(chēng)時(shí),根據(jù)上下文的文意,確定在當(dāng)前語(yǔ)境中最合適的全稱(chēng)。
示例如圖1所示,圖中給定了一個(gè)有語(yǔ)境的句子,句子中包含了一個(gè)首字母縮寫(xiě)詞“SVM”,同時(shí)也提供了全稱(chēng)詞典,即該縮寫(xiě)詞對(duì)應(yīng)的幾種全稱(chēng),分別為“Support Vector Machine”和“State Vector Machine”。
根據(jù)句意,此處輸出的SVM全稱(chēng)為“Support Vector Machine”。
?

圖1 首字母縮寫(xiě)詞消歧任務(wù)示例
?
數(shù)據(jù)分析
針對(duì)首字母縮寫(xiě)詞消歧任務(wù),我們選用的數(shù)據(jù)集為SciAD[1]。這個(gè)數(shù)據(jù)集的標(biāo)注語(yǔ)料為6786篇arXiv網(wǎng)站上的英文論文,共包含2031592個(gè)句子,句子平均長(zhǎng)度為30個(gè)詞。該數(shù)據(jù)集的構(gòu)建過(guò)程分為兩個(gè)部分。
第一部分是首字母縮寫(xiě)詞對(duì)應(yīng)全稱(chēng)詞典的構(gòu)建,對(duì)于每一個(gè)在數(shù)據(jù)集中出現(xiàn)的首字母縮寫(xiě)詞,統(tǒng)計(jì)并整理其全稱(chēng),最終全稱(chēng)詞典包含732個(gè)首字母縮寫(xiě)詞,其中每個(gè)首字母縮寫(xiě)詞平均包含3個(gè)全稱(chēng)。
第二部分是標(biāo)注樣本的構(gòu)建,每一個(gè)樣本包含一個(gè)帶有首字母縮寫(xiě)詞的句子,以及該詞在句子中的正確全稱(chēng)。標(biāo)注樣本共62441條。
圖2展示了每一個(gè)句子中包含縮寫(xiě)詞個(gè)數(shù)的分布,分析圖2可得每一個(gè)句子中可以包含多個(gè)縮寫(xiě)詞,大多數(shù)句子包含1個(gè)或者2個(gè)縮寫(xiě)詞。
?

圖2 一個(gè)句子中包含的首字母縮寫(xiě)詞個(gè)數(shù)
圖3展示了每個(gè)縮寫(xiě)詞對(duì)應(yīng)的全稱(chēng)個(gè)數(shù),由圖可得,每個(gè)縮寫(xiě)詞對(duì)應(yīng)包含2個(gè)或3個(gè)全稱(chēng)。

圖3 每個(gè)首字母縮寫(xiě)詞對(duì)應(yīng)的全稱(chēng)個(gè)數(shù)
?
?
模型介紹
模型概述
本工作在利用預(yù)訓(xùn)練模型BERT[2]的基礎(chǔ)上,融合了多種訓(xùn)練策略,提出一種基于二分類(lèi)思想的模型來(lái)解決首字母縮寫(xiě)詞消歧問(wèn)題。
模型輸入輸出示例如圖4所示:給定包含首字母縮寫(xiě)詞“MSE”的句子,將該句子結(jié)合“MSE”不同的縮寫(xiě)詞全稱(chēng)作為候選輸入BERT中,BERT為對(duì)一個(gè)候選進(jìn)行預(yù)測(cè),預(yù)測(cè)值最高的即為當(dāng)前句子中縮寫(xiě)詞對(duì)應(yīng)的全稱(chēng)。

圖4 模型輸入輸出示例
模型輸入設(shè)定
BERT可以使用句段嵌入處理多個(gè)輸入語(yǔ)句,本工作將縮寫(xiě)詞對(duì)應(yīng)的候選全稱(chēng)作為第一個(gè)輸入句段,將給定的句子作為第二個(gè)輸入句段,第一個(gè)句段的開(kāi)頭用特殊符[CLS]標(biāo)記,兩個(gè)句段的間隔用特殊符[SEP]標(biāo)記。
此外,另添加了兩個(gè)特殊標(biāo)記
?
模型結(jié)構(gòu)
本工作模型為一個(gè)基于BERT的二分類(lèi)器,具體模型結(jié)構(gòu)如圖5所示。

圖5 基于BERT的二分類(lèi)模型
首先,根據(jù)3.1節(jié)中介紹的輸入設(shè)定,將處理好的數(shù)據(jù)輸入BERT來(lái)獲取每個(gè)token對(duì)應(yīng)的嵌入表示。其次,計(jì)算首字母縮寫(xiě)詞開(kāi)始和結(jié)束位置的嵌入表示平均值,并將此平均值與句子開(kāi)頭的[CLS]位置向量拼接。
之后,將拼接得到的向量輸入通過(guò)一個(gè)dropout層,一個(gè)前向傳播層后,通過(guò)激活函數(shù)ReLU后再輸入一個(gè)dropout層,一個(gè)前向傳播層,最后通過(guò)激活函數(shù)Sigmoid得到一個(gè)在(0,1)區(qū)間的預(yù)測(cè)值。
該值表示了此全稱(chēng)為該縮寫(xiě)詞在當(dāng)前句子中正確全稱(chēng)的可能性。
?
訓(xùn)練策略
在上述二分類(lèi)模型的基礎(chǔ)上,本工作融合了多種訓(xùn)練策略來(lái)提升最終的模型效果。
?
預(yù)訓(xùn)練模型的選取
基于BERT的后續(xù)相關(guān)預(yù)訓(xùn)練模型層出不窮,它們利用了不同的訓(xùn)練方式或不同的訓(xùn)練語(yǔ)料。針對(duì)本任務(wù),由于數(shù)據(jù)集SciAD的語(yǔ)料均為科學(xué)領(lǐng)域的論文,而語(yǔ)料的一致性對(duì)于模型性能至關(guān)重要,所以本工作在做了相應(yīng)的實(shí)驗(yàn)驗(yàn)證后選取了在114萬(wàn)篇科技論文語(yǔ)料上訓(xùn)練的SCIBERT[3]作為基礎(chǔ)預(yù)訓(xùn)練模型。
?
動(dòng)態(tài)負(fù)采樣
在訓(xùn)練過(guò)程中,為了確保模型能夠在更平衡的樣本上進(jìn)行訓(xùn)練,本工作在訓(xùn)練過(guò)程中,對(duì)于每一批次(batch)輸入模型的數(shù)據(jù)進(jìn)行動(dòng)態(tài)負(fù)采樣,通過(guò)動(dòng)態(tài)選擇固定數(shù)目的負(fù)樣本,保證了分類(lèi)中負(fù)樣本在訓(xùn)練中的作用,有效提高了負(fù)樣本的貢獻(xiàn)率,同時(shí)也有效提升了模型性能。
?
任務(wù)自適應(yīng)預(yù)訓(xùn)練
任務(wù)自適應(yīng)訓(xùn)練(task-adaptive pretrainin)[4]是指在第一階段通用預(yù)訓(xùn)練模型的基礎(chǔ)上,利用任務(wù)相關(guān)文本繼續(xù)訓(xùn)練,該訓(xùn)練方式可以有效地提升模型性能。
針對(duì)特定任務(wù)的數(shù)據(jù)集通常是通用預(yù)訓(xùn)練數(shù)據(jù)的子集,因此本工作在給定的SciAD數(shù)據(jù)集上利用掩碼語(yǔ)言模型(Mask Language Model)的方式進(jìn)行繼續(xù)訓(xùn)練以此得到新的預(yù)訓(xùn)練模型。
?
對(duì)抗訓(xùn)練
對(duì)抗訓(xùn)練是一種引入噪聲的訓(xùn)練方式,可以對(duì)參數(shù)進(jìn)行正則化,從而提升模型的魯棒性和泛化能力。本工作采用FGM(Fast Gradient Method)[5],通過(guò)在嵌入層加入擾動(dòng),從而獲得更穩(wěn)定的單詞表示形式和更通用的模型,以此提升模型效果。
?
偽標(biāo)簽
偽標(biāo)簽學(xué)習(xí)也可以稱(chēng)為簡(jiǎn)單自訓(xùn)練(Simple Self-training)[6],即用有標(biāo)簽的數(shù)據(jù)訓(xùn)練一個(gè)分類(lèi)器,然后利用此分類(lèi)器對(duì)無(wú)標(biāo)簽測(cè)試數(shù)據(jù)進(jìn)行分類(lèi),獲取了無(wú)標(biāo)簽測(cè)試數(shù)據(jù)的偽標(biāo)簽,并將獲取到的預(yù)測(cè)值大于0.95的偽標(biāo)簽數(shù)據(jù)與之前的訓(xùn)練集混合作為新的訓(xùn)練集來(lái)訓(xùn)練新的模型,以此提升模型效果。
?
訓(xùn)練流程
我們提出了基于BERT的二分類(lèi)模型融合了多種訓(xùn)練策略來(lái)提升模型效果,具體訓(xùn)練流程如下圖6所示。首先,選用SCIBERT作為基礎(chǔ)預(yù)訓(xùn)練模型,然后利用任務(wù)自適應(yīng)預(yù)訓(xùn)練方式得到新的預(yù)訓(xùn)練模型。
在此模型上利用動(dòng)態(tài)負(fù)采樣技術(shù)和對(duì)抗訓(xùn)練的方式按照3.3節(jié)中的方式訓(xùn)練得到二分類(lèi)模型,利用該分類(lèi)模型對(duì)未標(biāo)注的數(shù)據(jù)集進(jìn)行偽標(biāo)簽判斷得到新的可以加入訓(xùn)練的數(shù)據(jù),產(chǎn)生新的訓(xùn)練集,在新的訓(xùn)練集上重復(fù)上述訓(xùn)練過(guò)程得到最終的二分類(lèi)模型。

圖6 訓(xùn)練流程
?
實(shí)驗(yàn)
實(shí)驗(yàn)中部分參數(shù)設(shè)置如下,batch size為32,模型訓(xùn)練epochs為 15,當(dāng)連續(xù)3個(gè)epoch F1下降將會(huì)提前停止,BERT的初始學(xué)習(xí)率為1.0×10-5,其他參數(shù)初始學(xué)習(xí)率設(shè)置為5.0×10-4。在所有實(shí)驗(yàn)中都使用Adam[7]優(yōu)化器。
由于不同的預(yù)訓(xùn)練模型效果不一樣為了選擇比較好的模型,我們?cè)趲追N預(yù)訓(xùn)練模型上進(jìn)行了實(shí)驗(yàn)。表1顯示了我們?cè)隍?yàn)證集中不同預(yù)訓(xùn)練模型上的實(shí)驗(yàn)結(jié)果?;趕cibert的模型在常用的預(yù)訓(xùn)練模型中f1最好。
模型 | Precision | Recall | F1 |
bert-base-uncased | 0.9176 | 0.8160 | 0.8638 |
bert-large-uncased | 0.9034 | 0.7693 | 0.8331 |
roberta-base | 0.9008 | 0.7687 | 0.8295 |
cs-roberta-base | 0.9216 | 0.8415 | 0.8797 |
scibert-scivocab-uncased | 0.9263 | 0.8569 | 0.8902 |
表1 不同預(yù)訓(xùn)練模型效果表
由于scibert比其他的模型有著較大的提升,我們選取scibert作為我們的基礎(chǔ)模型,加上各種訓(xùn)練策略的在驗(yàn)證集上實(shí)驗(yàn)結(jié)果如表2所示。如表所示,動(dòng)態(tài)負(fù)采樣,F(xiàn)1分?jǐn)?shù)提高了4%,提升效果比較明顯。
TAPT和對(duì)抗性訓(xùn)練進(jìn)一步將驗(yàn)證集的性能提高了0.47%。而偽標(biāo)簽在驗(yàn)證集提升不大,但是在測(cè)試集上提交偽標(biāo)簽效果在1-2個(gè)千分位左右。
?
?
?
模型 | Precision | Recall | F1 |
scibert-scivocab-uncased | 0.9263 | 0.8569 | 0.8902 |
+dynamic sampling | 0.9575 | 0.9060 | 0.9310 |
+task adaptive pretraining | 0.9610 | 0.9055 | 0.9324 |
+adversarial training | 0.9651 | 0.9082 | 0.9358 |
+pseudo-labeling | 0.9629 | 0.9106 | 0.9360 |
表2 加上各種訓(xùn)練策略的效果表
在驗(yàn)證集集上的結(jié)果為單模型的結(jié)果,在測(cè)試集上我們選擇的交叉驗(yàn)證實(shí)驗(yàn)方式,并采用概率平均的方式進(jìn)行模型融合,在最終的測(cè)試集上F1達(dá)到了0.9405。
?
總結(jié)
經(jīng)過(guò)實(shí)驗(yàn)發(fā)現(xiàn)預(yù)訓(xùn)練模型的選擇對(duì)最后的效果有著巨大的影響,正如論文Don’t stop pretraining: Adapt language models to domains and tasks得出的結(jié)論,采用當(dāng)前領(lǐng)域內(nèi)的預(yù)訓(xùn)練模型會(huì)比通用的預(yù)訓(xùn)練模型要有很大的提升,而任務(wù)自適應(yīng)預(yù)訓(xùn)練也有著一定的提升,是比賽中提分的關(guān)鍵。
?
?
團(tuán)隊(duì)負(fù)責(zé)人介紹
羅志鵬,DeepBlue Technology集團(tuán)技術(shù)副總裁,畢業(yè)于北京大學(xué),曾任職于微軟亞太研發(fā)集團(tuán)?,F(xiàn)主要負(fù)責(zé)公司AI平臺(tái)相關(guān)研發(fā)工作,帶領(lǐng)團(tuán)隊(duì)已在CVPR、ICCV、ECCV、KDD、NeurIPS、SIGIR等數(shù)十個(gè)世界頂級(jí)會(huì)議挑戰(zhàn)賽中獲得近三十項(xiàng)冠軍,以一作在KDD、WWW等國(guó)際頂會(huì)上發(fā)表論文,具有多年跨領(lǐng)域的人工智能研究和實(shí)戰(zhàn)經(jīng)驗(yàn)。
?
參考文獻(xiàn)

