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

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


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

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

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

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

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

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

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

