国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

自然語(yǔ)言處理預(yù)訓(xùn)練技術(shù)綜述

2021-08-07 07:42陳德光馬金林馬自萍
計(jì)算機(jī)與生活 2021年8期
關(guān)鍵詞:語(yǔ)料向量單詞

陳德光,馬金林,3+,馬自萍,周 潔

1.北方民族大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,銀川 750021

2.北方民族大學(xué) 數(shù)學(xué)與信息科學(xué)學(xué)院,銀川 750021

3.圖像圖形智能處理國(guó)家民委重點(diǎn)實(shí)驗(yàn)室,銀川 750021

自然語(yǔ)言處理預(yù)訓(xùn)練在不同時(shí)期有不同的稱謂,但是,本質(zhì)是使用大量語(yǔ)料預(yù)測(cè)相應(yīng)單詞或詞組,生成一個(gè)半成品用以訓(xùn)練后續(xù)任務(wù)。自然語(yǔ)言預(yù)處理是預(yù)訓(xùn)練以及后續(xù)任務(wù)訓(xùn)練的一部分,用以將人類識(shí)別的語(yǔ)言轉(zhuǎn)化為機(jī)器識(shí)別的語(yǔ)言,目的是輔助提高模型性能。自神經(jīng)網(wǎng)絡(luò)預(yù)訓(xùn)練技術(shù)用于自然語(yǔ)言處理以來(lái),自然語(yǔ)言處理取得了重大發(fā)展,以是否采用神經(jīng)網(wǎng)絡(luò)為依據(jù),學(xué)者們將自然語(yǔ)言處理技術(shù)劃分為基于傳統(tǒng)的自然語(yǔ)言處理和基于神經(jīng)網(wǎng)絡(luò)的自然語(yǔ)言處理。馬爾可夫[1]與香農(nóng)[2]語(yǔ)言建模實(shí)驗(yàn)的成功,叩響了傳統(tǒng)自然語(yǔ)言處理的大門。在傳統(tǒng)的自然語(yǔ)言處理中依據(jù)處理方法分為基于規(guī)則的自然語(yǔ)言處理和基于統(tǒng)計(jì)的自然語(yǔ)言處理。在20 世紀(jì)50 年代中期以前,學(xué)者們普遍使用的是基于簡(jiǎn)單統(tǒng)計(jì)的自然語(yǔ)言處理。1957 年喬姆斯基出版了《句法結(jié)構(gòu)》[3]一書,該書對(duì)語(yǔ)料庫(kù)的語(yǔ)料不充分性提出了質(zhì)疑,并提出基于規(guī)則的自然語(yǔ)言處理,促使基于規(guī)則的自然語(yǔ)言處理逐漸占據(jù)大量市場(chǎng)。20 世紀(jì)80 年代以后,人們發(fā)現(xiàn)規(guī)則不但不能窮舉,而且規(guī)則之間會(huì)出現(xiàn)一定沖突,因此,大量研究人員轉(zhuǎn)向基于統(tǒng)計(jì)的自然語(yǔ)言處理。在此之后,大多數(shù)研究者在這兩種方法間尋求突破,直至神經(jīng)網(wǎng)絡(luò)蓬勃發(fā)展,研究熱點(diǎn)才由傳統(tǒng)的自然語(yǔ)言處理轉(zhuǎn)變?yōu)榛谏窠?jīng)網(wǎng)絡(luò)的自然語(yǔ)言處理。

目前,基于神經(jīng)網(wǎng)絡(luò)的預(yù)訓(xùn)練技術(shù)綜述相對(duì)較多[4-6],但是對(duì)于傳統(tǒng)預(yù)訓(xùn)練技術(shù)大多未涉及或者一筆帶過(guò),存在人為割離自然語(yǔ)言預(yù)訓(xùn)練發(fā)展脈絡(luò),不利于自然語(yǔ)言處理技術(shù)的發(fā)展。神經(jīng)網(wǎng)絡(luò)預(yù)訓(xùn)練技術(shù)是在預(yù)訓(xùn)練階段采用神經(jīng)網(wǎng)絡(luò)模型進(jìn)行預(yù)訓(xùn)練的技術(shù)統(tǒng)稱,由于預(yù)訓(xùn)練與后續(xù)任務(wù)耦合性不強(qiáng),能單獨(dú)成為一個(gè)模型,因此也稱為預(yù)訓(xùn)練語(yǔ)言模型,這一稱謂是區(qū)別于傳統(tǒng)預(yù)訓(xùn)練技術(shù)的叫法。傳統(tǒng)預(yù)訓(xùn)練技術(shù)與模型耦合較為緊密,該技術(shù)與模型之間并沒(méi)有明確的區(qū)分界限,為了方便闡述,將語(yǔ)料送入模型到生成詞向量的這一過(guò)程稱為傳統(tǒng)預(yù)訓(xùn)練技術(shù)。當(dāng)然,無(wú)論是神經(jīng)網(wǎng)絡(luò)預(yù)訓(xùn)練技術(shù)還是傳統(tǒng)預(yù)訓(xùn)練技術(shù)均需要對(duì)語(yǔ)料進(jìn)行預(yù)處理,具體來(lái)說(shuō),預(yù)處理就是將原始語(yǔ)料進(jìn)行清洗(包括去除空白、去除無(wú)效標(biāo)簽、去除符號(hào)以及停頓詞、文檔切分、基本糾錯(cuò)、編碼轉(zhuǎn)化等操作)、分詞(對(duì)于中文類似的獨(dú)立語(yǔ)才有)和標(biāo)準(zhǔn)化等操作,從而將語(yǔ)料轉(zhuǎn)化為機(jī)器可識(shí)別的語(yǔ)言,圖1 為自然語(yǔ)言預(yù)處理流程。

Fig.1 Preprocessing process圖1 預(yù)處理流程

由于自然語(yǔ)言處理涉及文本、語(yǔ)音、視頻、圖像等不同類型語(yǔ)料,概念較為寬泛。本文介紹自然語(yǔ)言處理預(yù)訓(xùn)練技術(shù),而該技術(shù)主要包含文本類語(yǔ)料,因而本文基于文本語(yǔ)料闡述。具體來(lái)說(shuō),首先從傳統(tǒng)預(yù)訓(xùn)練技術(shù)與神經(jīng)網(wǎng)絡(luò)預(yù)訓(xùn)練技術(shù)兩方面進(jìn)行闡述,介紹了預(yù)訓(xùn)練的基本方法和各方法的優(yōu)缺點(diǎn)及適用范圍;而后,針對(duì)目前流行的BERT(bidirectional encoder representation from transformers)模型及相關(guān)技術(shù)從預(yù)訓(xùn)練方式、預(yù)訓(xùn)練優(yōu)缺點(diǎn)、模型性能等方面進(jìn)行較為詳細(xì)的討論比較;在此之后,對(duì)自然語(yǔ)言處理的重點(diǎn)應(yīng)用領(lǐng)域的進(jìn)展進(jìn)行介紹;再者,闡述了目前自然語(yǔ)言處理面臨的挑戰(zhàn)與解決辦法;最后,對(duì)本文工作進(jìn)行了總結(jié)與展望??傮w來(lái)說(shuō),相對(duì)于其他預(yù)訓(xùn)練技術(shù)綜述,本文做了以下創(chuàng)新:(1)彌補(bǔ)了缺少傳統(tǒng)預(yù)訓(xùn)練技術(shù)的短板,從而將傳統(tǒng)預(yù)訓(xùn)練技術(shù)與神經(jīng)網(wǎng)絡(luò)預(yù)訓(xùn)練技術(shù)進(jìn)行連貫;(2)相對(duì)于其他對(duì)預(yù)訓(xùn)練技術(shù)介紹不全與多種分類混用的文章,本文采用一種分類標(biāo)準(zhǔn)較為全面地展示了自然語(yǔ)言預(yù)訓(xùn)練技術(shù);(3)對(duì)目前較為流行的BERT 改進(jìn)預(yù)訓(xùn)練技術(shù)和重點(diǎn)熱點(diǎn)領(lǐng)域模型進(jìn)行詳細(xì)介紹,幫助科研工作者了解自然語(yǔ)言預(yù)訓(xùn)練及模型發(fā)展動(dòng)態(tài)。

1 傳統(tǒng)預(yù)訓(xùn)練技術(shù)

就目前已發(fā)表的大多數(shù)自然語(yǔ)言處理預(yù)訓(xùn)練文章來(lái)看,少有文章對(duì)傳統(tǒng)預(yù)訓(xùn)練技術(shù)進(jìn)行較為詳細(xì)的介紹,究其原因,可能由以下兩點(diǎn)造成:其一,在傳統(tǒng)的自然語(yǔ)言處理中,預(yù)訓(xùn)練技術(shù)與模型具有強(qiáng)烈的耦合性,沒(méi)有獨(dú)立可分的預(yù)訓(xùn)練技術(shù);其二,神經(jīng)網(wǎng)絡(luò),尤其是深度神經(jīng)網(wǎng)絡(luò)的發(fā)展,導(dǎo)致研究者們對(duì)傳統(tǒng)自然語(yǔ)言處理技術(shù)(包括傳統(tǒng)預(yù)訓(xùn)練技術(shù)與傳統(tǒng)模型)重視不夠。但是,傳統(tǒng)自然語(yǔ)言處理技術(shù)(包括傳統(tǒng)預(yù)訓(xùn)練技術(shù)和傳統(tǒng)模型)作為自然語(yǔ)言處理的歷史階段產(chǎn)物,曾在推動(dòng)自然語(yǔ)言發(fā)展過(guò)程中發(fā)揮過(guò)重大作用,因而有必要對(duì)傳統(tǒng)預(yù)訓(xùn)練技術(shù)進(jìn)行較為詳細(xì)的介紹。

傳統(tǒng)自然語(yǔ)言處理過(guò)程講究針對(duì)性和技巧性,因而傳統(tǒng)預(yù)訓(xùn)練技術(shù)與相應(yīng)模型耦合較為緊密。為了方便闡述,將自然語(yǔ)料的特征工程及之前部分稱為傳統(tǒng)預(yù)訓(xùn)練技術(shù),特征工程是指將語(yǔ)料進(jìn)行初步特征提取的過(guò)程。

1.1 N-gram 技術(shù)

N-gram 技術(shù)是一種基于統(tǒng)計(jì)的語(yǔ)言模型技術(shù),它基于第N個(gè)詞僅與其前面N-1 個(gè)詞相關(guān)的理想假設(shè)?;舅枷霝椋簩⒃颊Z(yǔ)料預(yù)處理后,按照字節(jié)大小為N的滑動(dòng)窗口進(jìn)行滑動(dòng)操作,進(jìn)而形成長(zhǎng)度為N的字節(jié)片段序列組[7-8]。

在該技術(shù)中,每個(gè)字節(jié)即為一個(gè)gram,對(duì)語(yǔ)料中所有g(shù)ram 出現(xiàn)的頻度進(jìn)行統(tǒng)計(jì),并設(shè)置相應(yīng)閾值進(jìn)行過(guò)濾,除去一些低頻度和不必要的單詞從而形成gram 列表,這個(gè)gram 列表就是文本語(yǔ)料的向量特征空間,而列表中的每一種gram 都是一個(gè)特征向量,即為預(yù)訓(xùn)練的結(jié)果。在實(shí)際使用中,假設(shè)gram 列表中有V個(gè)有效詞,采用N-gram 方法,則復(fù)雜度為O(VN),表明隨著N值的增加復(fù)雜度會(huì)顯著增大,因此在通常情況下采用Unigram 方法。Huang 等[9]的實(shí)驗(yàn)表明,Unigram 的性能在同等情況下高于Bi-gram 和Trigram。Unigram、Bi-gram 和Tri-gram 的公式如下:

實(shí)際應(yīng)用中,該預(yù)訓(xùn)練技術(shù)簡(jiǎn)單易行,具有完備的理論性和極強(qiáng)的操作性,在傳統(tǒng)的統(tǒng)計(jì)自然語(yǔ)言處理中占有重要地位。適合于單詞預(yù)測(cè)、拼寫檢查、詞法糾錯(cuò)、熱詞選取等詞級(jí)自然語(yǔ)言處理領(lǐng)域和自動(dòng)索引、無(wú)分割符語(yǔ)言文本切分等句子級(jí)自然語(yǔ)言處理領(lǐng)域。但是,由于語(yǔ)料的限制,N-gram 具有如下缺點(diǎn):首先,統(tǒng)計(jì)詞的準(zhǔn)確度存在不完整性,需要多次試探才能確定閾值且高頻詞匯不一定為有效詞;其次,由于N-gram 的強(qiáng)烈假設(shè)性,導(dǎo)致結(jié)果存在一定的不合理性;最后,大規(guī)模語(yǔ)料統(tǒng)計(jì)方法與有限訓(xùn)練語(yǔ)料之間可能產(chǎn)生數(shù)據(jù)稀疏問(wèn)題,為此,常用的解決辦法有拉普拉斯平滑(Laplace smoothing)、古德-圖靈平滑(good-turing smoothing)、插值平滑(interpolation smoothing)、克內(nèi)爾平滑(Kneser-Ney smoothing)等方法。

1.2 向量空間模型技術(shù)

向量空間模型(vector space model,VSM)于20世紀(jì)70 年代被提出,是一種文檔表示和相似性計(jì)算工具[10]。主要思想為:用空間向量的形式表示語(yǔ)料庫(kù)中的所有語(yǔ)料,語(yǔ)料的每個(gè)特征詞對(duì)應(yīng)語(yǔ)料向量的每一維。具體來(lái)說(shuō),該技術(shù)包含文本預(yù)處理、特征選擇與特征計(jì)算、算法計(jì)算準(zhǔn)確度等幾個(gè)主要步驟,圖2為VSM 的流程表示。向量空間模型的文本表示為詞袋模型(bag-of-word),由于本文介紹的是預(yù)訓(xùn)練技術(shù),本節(jié)重點(diǎn)介紹特征工程(特征選擇與特征計(jì)算)的相關(guān)技術(shù)。

Fig.2 VSM process圖2 VSM 流程

1.2.1 獨(dú)熱碼技術(shù)

自Huffman[11]提出獨(dú)熱碼(One-hot)機(jī)制后,該技術(shù)就逐步應(yīng)用于自然語(yǔ)言處理中。獨(dú)熱碼技術(shù)的本質(zhì)是采用N位狀態(tài)寄存器(status register)對(duì)N個(gè)狀態(tài)進(jìn)行編碼,每個(gè)狀態(tài)都有對(duì)應(yīng)且獨(dú)立的寄存器位,而在任意時(shí)刻都只有一位狀態(tài)有效。

對(duì)于具有離散特征的取值,比如分類模型、推薦系統(tǒng)及垃圾郵件過(guò)濾等,通過(guò)使用獨(dú)熱編碼技術(shù)將整個(gè)取值擴(kuò)展到歐氏空間,而常用的距離計(jì)算或者相似度計(jì)算均基于歐氏空間,這使特征之間的距離計(jì)算更加合理。

獨(dú)熱編碼技術(shù)簡(jiǎn)單有效,易于理解,將語(yǔ)料進(jìn)行數(shù)值化表示能在一定程度上起到擴(kuò)充特征的作用。該技術(shù)適合于基于較多參數(shù)與距離的模型,例如支持向量機(jī)(support vector machine,SVM)[12]、神經(jīng)網(wǎng)絡(luò)(neural network,NN)[13]、最近鄰算法(K-nearest neighbor,KNN)[14]等。但是,該技術(shù)具有明顯缺點(diǎn):首先,每個(gè)單詞的編碼維度是整個(gè)詞匯表的大小,存在維度過(guò)大導(dǎo)致編碼稀疏問(wèn)題,使計(jì)算代價(jià)變大;其次,獨(dú)熱編碼存在單詞間相互獨(dú)立的強(qiáng)制性假設(shè),這種關(guān)系導(dǎo)致該方法無(wú)法體現(xiàn)單詞間的遠(yuǎn)近程度,從而丟失了位置信息。

1.2.2 TF-IDF 技術(shù)

TF-IDF(term frequency-inverse document frequency)[15-16]是信息檢索領(lǐng)域非常重要的搜索詞重要性度量技術(shù)(其前身是TF 方法與IDF 方法),用以衡量一個(gè)詞w對(duì)于查詢(Query,可以看作文本文檔)所能提供信息的重要度。計(jì)算過(guò)程如下:

詞頻(term frequency,TF)表示關(guān)鍵詞w在文檔Di中出現(xiàn)的頻率,公式為:

式中,count(w)為關(guān)鍵詞w在文檔Di中出現(xiàn)的頻數(shù),|Di|為文檔Di中的單詞數(shù),經(jīng)過(guò)兩者相除即可計(jì)算詞頻。逆文檔頻率(IDF),反映詞的普遍程度,即一個(gè)詞越普遍(即有大量文檔包含這個(gè)詞),其IDF 值越低;反之,IDF 值越高。公式如下:

式中,N為文檔總數(shù);I(w,Di)表示文檔Di是否包含找尋的關(guān)鍵詞w,若包含,則I為1,若不包含,則I為0;同時(shí),為防止關(guān)鍵詞w在所有文檔中均未出現(xiàn)從而帶來(lái)公式無(wú)法計(jì)算的問(wèn)題,采用分母加1 的方式進(jìn)行平滑處理。根據(jù)式(2)、式(3)的定義,關(guān)鍵詞w在文檔Di中的TF-IDF 值為:

由式(4)可知,當(dāng)一個(gè)新鮮度高(即普遍度低)的詞在文檔中出現(xiàn)的頻率越高時(shí),其TF-IDF 值越高,反之越低。計(jì)算出每個(gè)詞的TF-IDF 即可得到語(yǔ)料庫(kù)每個(gè)詞的重要程度,從而為后續(xù)模型設(shè)計(jì)提供有力的保障。

TF-IDF 采用無(wú)監(jiān)督學(xué)習(xí),兼顧詞頻與新鮮度兩種屬性,可過(guò)濾一些常見(jiàn)詞,且保留能提供更多信息的重要詞。在搜索引擎等實(shí)際應(yīng)用中,該技術(shù)是主要的信息檢索手段。但是,用詞頻來(lái)衡量一個(gè)詞的重要程度是不夠全面且這種計(jì)算無(wú)法體現(xiàn)位置關(guān)系;同時(shí),嚴(yán)重依賴分詞水平(尤其是中文分詞更加明顯)。

1.2.3 信息增益技術(shù)

信息增益(information gain,IG)[17]表示文本中包含某一特征信息時(shí)文本類的平均信息增益,定義為某一特征在文本出現(xiàn)前后的信息熵之差。假設(shè)c為文本類變量,C為文本類集合,d為文本,f為特征,對(duì)于特征f的信息增益IG(f)表示如下:式中,P(fˉ)是語(yǔ)料中不包含該特征的概率。由上可知,一個(gè)特征的信息增益實(shí)際上描述的是它包含的能夠幫助預(yù)測(cè)類別信息屬性的信息量。

從理論上講,信息增益應(yīng)該是最好的特征選取方法,但實(shí)際上由于許多信息增益比較高的特征出現(xiàn)頻率往往較低,當(dāng)使用信息增益選擇的特征數(shù)目比較少時(shí),通常會(huì)存在數(shù)據(jù)稀疏問(wèn)題,此時(shí)模型效果比較差。因此,一般在系統(tǒng)實(shí)現(xiàn)時(shí),首先對(duì)訓(xùn)練語(yǔ)料中出現(xiàn)的每個(gè)詞(以詞為特征)計(jì)算信息增益,然后指定一個(gè)閾值,從特征空間中移除那些信息增益低于此閾值的詞條,或者指定要選擇的特征個(gè)數(shù),按照增益值從高到低的順序選擇特征組成特征向量。信息增益適合于考察特征對(duì)整個(gè)模型的貢獻(xiàn),而不能具體到某個(gè)類別上,這就使得它只適合用來(lái)做“全局”的特征選擇而無(wú)法做“本地”的特征選擇。該技術(shù)適合于情感分類、意圖識(shí)別、垃圾郵件自動(dòng)處理等分類領(lǐng)域。

1.2.4 卡方分布

χ2統(tǒng)計(jì)量(chi-square distribution,χ2)[18]衡量的是特征項(xiàng)ti和類別Cj之間的關(guān)聯(lián)程度,并假設(shè)ti和Cj之間符合具有一階自由度的χ2分布。特征對(duì)于某類的χ2統(tǒng)計(jì)值越高,它與該類之間的相關(guān)性越大,攜帶的類別信息也較多,反之則越少。

如果令N表示訓(xùn)練語(yǔ)料中文檔的總數(shù),A表示屬于Cj類且包含ti的文檔頻數(shù),B表示不屬于Cj類但包含ti的文檔頻數(shù),C表示屬于Cj類但不包含ti的文檔頻數(shù),D是既不屬于Cj也不包含ti的文檔頻數(shù),N為總的文本數(shù)量,特征項(xiàng)ti對(duì)Cj的卡方值為:

對(duì)于多類問(wèn)題,基于卡方統(tǒng)計(jì)量的特征提取方法可以采用兩種方法:一種方法是分別計(jì)算對(duì)于每個(gè)類別的卡方值,然后在整個(gè)訓(xùn)練語(yǔ)料上計(jì)算;其二為計(jì)算各特征對(duì)于各類別的平均值。與此類似的方法還有互信息技術(shù)(mutual information,MI)[19]。

卡方分布具備完善的理論,與信息增益技術(shù)類似,適用于分類模型領(lǐng)域。但是,該技術(shù)理論較為復(fù)雜,對(duì)數(shù)學(xué)能力要求較高。

當(dāng)然,除以上常見(jiàn)的特征提取技術(shù)外,還有一些不太常用的方法,例如DTP(distance to transition point)[20]方法、期望交叉熵法(expected cross entropy)[21]、優(yōu)勢(shì)率法[22]等。

1.3 Textrank 技術(shù)

Textrank(TextRank graph based ranking model)[23]是一種基于圖排序的處理技術(shù),基本思想來(lái)自PR(PageRank)算法[24]。該技術(shù)在語(yǔ)料預(yù)處理后將語(yǔ)料文本分割成若干組成單元(單詞、詞組、句子等)并建立圖模型,再利用投票機(jī)制對(duì)文本中的重要成分進(jìn)行排序,從而僅利用文章信息即可實(shí)現(xiàn)關(guān)鍵字提取和文摘生成等。

具體來(lái)說(shuō),Textrank 表示為一個(gè)有向有權(quán)圖G=(V,E),該圖由點(diǎn)集V和邊集E組成,其中,E是V×V的子集。對(duì)于給定的點(diǎn)Vi,In(Vi)為指向該點(diǎn)的所有點(diǎn)集合,Out(Vi)為點(diǎn)Vi指向的所有點(diǎn)集合,Vi的得分定義如下:

式中,d為阻尼系數(shù),取值范圍為0 到1,含義為從圖中某一特定點(diǎn)指向其他任意點(diǎn)的概率;wji表示節(jié)點(diǎn)i在節(jié)點(diǎn)j處的權(quán)重。將切分后的所有Vi得分進(jìn)行排序即可得到語(yǔ)料庫(kù)中所有單詞或短語(yǔ)的重要程度,從而為模型設(shè)計(jì)提供保障。

Textrank 采用無(wú)監(jiān)督學(xué)習(xí),使用者不需要有深入的語(yǔ)言學(xué)或相關(guān)領(lǐng)域知識(shí);同時(shí),采用基于圖的排序算法,綜合考慮文本整體信息來(lái)確定哪些單詞或者句子,從而基于這些重點(diǎn)單詞或重點(diǎn)句子進(jìn)行下一步處理。該技術(shù)適合于自動(dòng)文摘等生成式文本任務(wù)與關(guān)鍵詞提取等詞級(jí)自然語(yǔ)言處理。然而,Textrank與TF-IDF 一樣嚴(yán)重依賴分詞結(jié)果,Textrank 雖然考慮到詞之間的關(guān)系,但是仍然傾向于將頻繁詞作為關(guān)鍵詞;同時(shí),Textrank 涉及到構(gòu)建圖以及迭代計(jì)算,因而提取速度較慢。

1.4 語(yǔ)義分析

1.4.1 隱含語(yǔ)義分析

隱含語(yǔ)義分析(latent semantic analysis,LSA)是一種知識(shí)獲取和展示的計(jì)算理論方法,出發(fā)點(diǎn)是語(yǔ)料中的詞與詞之間存在某種聯(lián)系,即存在某種潛在的語(yǔ)義關(guān)系,而這種潛在語(yǔ)義關(guān)系隱含于文本中詞語(yǔ)的上下文模式中,因此需要對(duì)大量語(yǔ)料進(jìn)行分析進(jìn)而尋找這種潛在的語(yǔ)義關(guān)系。LSA 不需要確定語(yǔ)義編碼,僅依賴于文本上下文中事物的聯(lián)系,并用語(yǔ)義關(guān)系來(lái)表示文本,簡(jiǎn)化文本向量的目的。該方法的核心思想是將文檔-術(shù)語(yǔ)矩陣分解為相互獨(dú)立的文檔-主題矩陣和主題-術(shù)語(yǔ)矩陣[25-26]。

在實(shí)際應(yīng)用中,原始計(jì)數(shù)的效果不理想(如果在詞匯表中給出m個(gè)文檔和n個(gè)單詞,可以構(gòu)造一個(gè)m×n的矩陣A,其中每行代表一個(gè)文檔,每列代表一個(gè)單詞。在LSA 的最簡(jiǎn)單版本中,每一個(gè)條目可以是第j個(gè)單詞在第i個(gè)文檔中出現(xiàn)次數(shù)的原始計(jì)數(shù)),因此,LSA 模型通常用TF-IDF 得分代替文檔-術(shù)語(yǔ)中的原始計(jì)數(shù)。一旦擁有文檔-術(shù)語(yǔ)矩陣A,即可求解隱含主題。由于A可能是稀疏的,具有極大噪聲且在維度上存在大量冗余的特性,因此,一般情況下采用奇異值分解法(singular value decomposition,SVD)[27]處理,公式如下:

U∈Rm×t是文檔-主題矩陣,行表示按主題表達(dá)的文檔向量;V∈Rn×t則是術(shù)語(yǔ)-主題矩陣,行代表按主題表達(dá)的術(shù)語(yǔ)向量。經(jīng)過(guò)這樣的處理,可以得到詞之間的隱含關(guān)系。

LSA 采用低維詞條、文本向量代替原始的空間向量,能有效處理大規(guī)模語(yǔ)料且具有快速高效的特點(diǎn),適用于信息過(guò)濾、文本摘要以及機(jī)器翻譯等跨語(yǔ)言信息檢索等生成式自然語(yǔ)言處理領(lǐng)域。但是LSA在進(jìn)行信息提取時(shí),忽略詞語(yǔ)的語(yǔ)法信息(甚至是忽略詞語(yǔ)在句子中出現(xiàn)順序),處理對(duì)象是可見(jiàn)語(yǔ)料,不能通過(guò)計(jì)算得到詞語(yǔ)的暗喻含義和類比推論含義,同時(shí)需要大量文件和詞匯來(lái)獲得準(zhǔn)確結(jié)果,存在表征效率較低的缺點(diǎn)。為了解決這些問(wèn)題,研究者們對(duì)其進(jìn)行了改進(jìn),其中最成功的改進(jìn)為概率隱含語(yǔ)義分析(probabilistic latent semantic analysis,PLSA)[28]。

1.4.2 概率隱含語(yǔ)義分析

Hofmann 在1999 年撰寫了概率隱含語(yǔ)義分析PLSA[28-29],通過(guò)一個(gè)生成模型為L(zhǎng)SA 賦予概率意義上的解釋。作者認(rèn)為每篇語(yǔ)料都包含一系列可能的潛在話題,語(yǔ)料中的每個(gè)單詞都不是憑空產(chǎn)生的,而是在這些潛在的話題的引導(dǎo)下通過(guò)一定概率生成的,這也正是PLSA 提出的生成模型的核心思想。PLSA 通過(guò)下式對(duì)d和w的聯(lián)合分布進(jìn)行建模:

式中,d表示一篇文檔,z表示由文檔生成的一個(gè)話題,w表示由話題生成的一個(gè)單詞。在該模型中,d和w是已經(jīng)觀測(cè)到的變量,z是未知變量(代表潛在話題)。

PLSA 能從概率的角度解釋模型,使模型變得容易理解;同時(shí),相對(duì)于LSA的SVD方法,PLSA的EM[30](expectation maximization)算法具有線性收斂速度,可以使似然函數(shù)達(dá)到局部最優(yōu)。但是該模型無(wú)法生成新的未知文檔,同時(shí),隨著文檔和詞語(yǔ)個(gè)數(shù)的增加,模型的復(fù)雜度會(huì)快速增大,從而導(dǎo)致模型出現(xiàn)嚴(yán)重過(guò)擬合。

1.5 其他預(yù)訓(xùn)練技術(shù)

以上四類常見(jiàn)的預(yù)訓(xùn)練技術(shù)與模型耦合性相對(duì)較低,具有較明顯的區(qū)分。除此之外,部分傳統(tǒng)自然語(yǔ)言預(yù)訓(xùn)練技術(shù)與模型耦合性較高,較難將預(yù)訓(xùn)練技術(shù)單獨(dú)展示。這些常用到的有根據(jù)先驗(yàn)概率求后驗(yàn)概率的貝葉斯分類技術(shù)(Bayesian classification,BC)[31]、具有多重降級(jí)狀態(tài)的馬爾可夫(Markov model,MM)[32]與隱馬爾可夫模型(hidden Markov model,HMM)[33]、判別式概率的無(wú)向圖隨機(jī)場(chǎng)(random field,RF)[34-35]等。

綜上,對(duì)常用的傳統(tǒng)預(yù)訓(xùn)練技術(shù)進(jìn)行匯總,如表1 所示。對(duì)每一個(gè)具體技術(shù)特點(diǎn)、優(yōu)缺點(diǎn)及適用范圍進(jìn)行總結(jié)。但是,在傳統(tǒng)的自然語(yǔ)言預(yù)訓(xùn)練技術(shù)中,存在無(wú)詞序或詞序不全問(wèn)題,嚴(yán)重影響處理結(jié)果?;诖耍窠?jīng)網(wǎng)絡(luò)的自然語(yǔ)言預(yù)訓(xùn)練技術(shù),尤其是深度學(xué)習(xí)的自然語(yǔ)言預(yù)訓(xùn)練技術(shù),對(duì)這些不足做了一定的糾正。

2 神經(jīng)網(wǎng)絡(luò)預(yù)訓(xùn)練技術(shù)

針對(duì)傳統(tǒng)自然語(yǔ)言預(yù)訓(xùn)練技術(shù)的不足,神經(jīng)網(wǎng)絡(luò)自然語(yǔ)言預(yù)訓(xùn)練技術(shù)采取了改進(jìn)措施,主要是將詞序間上下文關(guān)系考慮到實(shí)際語(yǔ)料中,這一部分綜述在國(guó)內(nèi)外相對(duì)較多。Qiu 等[6]從詞序是否上下文相關(guān)、語(yǔ)言模型結(jié)構(gòu)、任務(wù)類型以及技術(shù)應(yīng)用范圍四方面來(lái)闡述預(yù)訓(xùn)練及模型相關(guān)技術(shù),較為全面展現(xiàn)了神經(jīng)網(wǎng)絡(luò)的自然語(yǔ)言預(yù)訓(xùn)練發(fā)展脈絡(luò)。但是該論文在不同分類方面存在較大交叉;同時(shí),對(duì)傳統(tǒng)預(yù)訓(xùn)練技術(shù)涉及較少。Liu 等人[5]對(duì)無(wú)監(jiān)督預(yù)訓(xùn)練機(jī)制進(jìn)行了綜述,該文章從體系結(jié)構(gòu)與策略兩方面進(jìn)行展開(kāi)討論,并對(duì)相關(guān)工作進(jìn)行總結(jié)與展望。但是,該綜述取材時(shí)間較近且關(guān)注范圍狹小,對(duì)神經(jīng)網(wǎng)絡(luò)預(yù)訓(xùn)練技術(shù)以及傳統(tǒng)預(yù)訓(xùn)練技術(shù)部分并未涉及。在國(guó)內(nèi)方面,劉睿珩[36]、余同瑞[37]、李舟軍[38]等人分別單獨(dú)進(jìn)行了自然語(yǔ)言處理預(yù)訓(xùn)練技術(shù)的研究綜述,這幾者綜述較為類似,均是重點(diǎn)介紹神經(jīng)網(wǎng)絡(luò)相關(guān)技術(shù)的概要方法。但是整體內(nèi)容較為淺顯且對(duì)傳統(tǒng)預(yù)訓(xùn)練技術(shù)關(guān)注度較低。

Table 1 Summary of traditional pre-training techniques表1 傳統(tǒng)預(yù)訓(xùn)練技術(shù)匯總

本文針對(duì)以上不足,從神經(jīng)網(wǎng)絡(luò)預(yù)訓(xùn)練技術(shù)出發(fā),以詞序是否上下文相關(guān)分為詞向量固定表征和詞向量動(dòng)態(tài)表征兩種方式,以此為線索,展現(xiàn)出更為合理的神經(jīng)網(wǎng)絡(luò)預(yù)訓(xùn)練技術(shù)。

2.1 詞向量固定表征

詞向量固定表征是將目標(biāo)詞的上下文相關(guān)詞考慮進(jìn)去,能夠較好地解決詞性孤立不連貫問(wèn)題。常見(jiàn)的詞向量固定表征有神經(jīng)語(yǔ)言模型技術(shù)(neural network language model,NNLM)、C&W(Collobert and Weston)、Word2vec(word to vector)、FastText、Glove(global vectors for word representation)等。

2.1.1 神經(jīng)語(yǔ)言模型

神經(jīng)語(yǔ)言模型NNLM[39]:神經(jīng)語(yǔ)言模型通過(guò)對(duì)元語(yǔ)言模型進(jìn)行建模,估算P(wi|wi-(n-1),wi-(n-2),…,wi-1)的值。與傳統(tǒng)技術(shù)不同的是,NNLM 不是通過(guò)計(jì)數(shù)的方法對(duì)目標(biāo)條件進(jìn)行概率計(jì)算,而是通過(guò)構(gòu)建一個(gè)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)對(duì)目標(biāo)進(jìn)行建模求解。圖3 顯示了NNLM 模型結(jié)構(gòu)。

NNLM 主要由三層網(wǎng)絡(luò)構(gòu)成:輸入層、隱藏層和輸出層。模型預(yù)訓(xùn)練在輸入層與隱藏層中完成(即圖3 中的矩陣C)。具體來(lái)說(shuō),分以下幾步:首先,輸入層輸入n-1 個(gè)詞匯(每個(gè)詞匯進(jìn)行One-hot 編碼,1×|V|);其次,將詞匯與矩陣C(|V|×m)相乘,得到一個(gè)分布式向量(1×m)。這個(gè)分布式向量即為語(yǔ)料預(yù)訓(xùn)練的結(jié)果(需要經(jīng)過(guò)若干次模型迭代訓(xùn)練才能得到較高準(zhǔn)確度)。

Fig.3 NNLM model圖3 NNLM 模型

由于該模型較為基礎(chǔ),本文對(duì)整個(gè)模型的訓(xùn)練過(guò)程不做詳細(xì)介紹。NNLM 模型使用低維緊湊的詞向量對(duì)上文進(jìn)行表示,解決了詞袋模型帶來(lái)的數(shù)據(jù)稀疏、語(yǔ)義鴻溝等問(wèn)題。該技術(shù)一般應(yīng)用于缺失值插補(bǔ)、句式切分、推薦系統(tǒng)以及文本降噪等句子級(jí)自然語(yǔ)言處理領(lǐng)域。但是,該模型只能利用當(dāng)前語(yǔ)料的上文信息進(jìn)行標(biāo)準(zhǔn)化操作,不能根據(jù)上下文對(duì)單詞意思進(jìn)行實(shí)時(shí)調(diào)整;同時(shí),模型的參數(shù)量明顯大于其他傳統(tǒng)模型。為解決該問(wèn)題,Mnih 等人[40-41]提出了Log 雙線性語(yǔ)言模型(log-bilinear language model,LBLM)。

LBLM[41]:Mnih 與Hinton 提出一種層級(jí)思想替換NNLM 中隱藏層到輸出層最花時(shí)間的矩陣乘法(語(yǔ)料預(yù)訓(xùn)練部分與NNLM相同),LBLM的能量函數(shù)為:

如式(10)所示,C(wi)與C(wj)表示序列中對(duì)應(yīng)位置的轉(zhuǎn)移矩陣;t是序列中建模元素的數(shù)量;Hi是一個(gè)m×m矩陣,可以理解為第i個(gè)詞經(jīng)過(guò)Hi變換后,對(duì)第t個(gè)詞產(chǎn)生的貢獻(xiàn);h為隱藏單元;yj為預(yù)測(cè)詞wj的對(duì)數(shù)概率。LBLM 模型的能量函數(shù)與NNLM 模型的能量函數(shù)主要有兩個(gè)區(qū)別:其一,LBLM 模型中沒(méi)有非線性激活函數(shù)tanh;其二,LBLM 只有一份詞向量。之后的幾年中,Mnih 等人在LBLM 模型基礎(chǔ)上做了一系列改進(jìn)工作,其中改進(jìn)最成功的模型有兩個(gè):層級(jí)對(duì)數(shù)雙線性語(yǔ)言模型(hierarchical LBL,HLBL)[42]以及基于向量的逆語(yǔ)言模型(inverse vector LBL,ivLBL)[43]。

LBLM 模型沒(méi)有激活函數(shù),隱藏層到輸出層直接使用詞向量,從而使模型更加簡(jiǎn)潔、準(zhǔn)確度更高。但是,理論上LBLM 需構(gòu)建多個(gè)矩陣(有幾個(gè)詞就需要幾個(gè)矩陣),而迫于現(xiàn)實(shí)壓力采用近似處理,因而在準(zhǔn)確度方面存在偏差;同時(shí),LBLM 仍不能解決一詞多義問(wèn)題。

2.1.2 C&W 技術(shù)

C&W 技 術(shù)[44]是 由Collobert 和Weston 于2008 年提出的以生成詞向量為目標(biāo)的模型技術(shù)(之前的大多數(shù)模型以生成詞向量為副產(chǎn)品),該技術(shù)直接從分布式假說(shuō)的角度來(lái)設(shè)計(jì)模型和目標(biāo)函數(shù)。C&W 模型結(jié)構(gòu)如圖4 所示。

Fig.4 C&W model圖4 C&W 模型

C&W 模型對(duì)應(yīng)公式為:

模型的整個(gè)流程為:將wi-C,…,wi-1,wi,wi+1,…,wi+C從初始化詞向量矩陣L中獲取對(duì)應(yīng)的詞向量進(jìn)行拼接,作為第一層h0;進(jìn)而通過(guò)激活函數(shù)f(?)得到h1;再經(jīng)過(guò)線性變換得到(wi,C)的得分s(wi,C);模型遍歷語(yǔ)料庫(kù)的所有語(yǔ)料,并對(duì)目標(biāo)函數(shù)進(jìn)行最優(yōu)化。優(yōu)化完成得到最終的詞向量矩陣L和生成詞wi。

C&W 模型與NNLM 相比,不同點(diǎn)主要在于C&W 將目標(biāo)詞放在輸入層,同時(shí)輸出層也從神經(jīng)語(yǔ)言模型的|V|個(gè)節(jié)點(diǎn)變?yōu)榱艘粋€(gè)節(jié)點(diǎn),該節(jié)點(diǎn)的數(shù)值表示對(duì)這n元組短語(yǔ)打分,打分只有高低之分,沒(méi)有概率特性,因此無(wú)需進(jìn)行歸一化操作。C&W 模型使用這種方式把NNLM 模型在最后一層的|V|×|h|次運(yùn)算降為|h|次運(yùn)算,極大地降低了模型的時(shí)間復(fù)雜度。由于C&W 模型技術(shù)是以生成詞向量為目標(biāo)的模型技術(shù),因而應(yīng)用領(lǐng)域相對(duì)廣泛,小到詞級(jí)的單詞糾錯(cuò),大到篇章級(jí)文本語(yǔ)義分析等。但是,C&W 模型只利用了局部上下文,不能解決一詞多義問(wèn)題;同時(shí),上下文信息不能過(guò)長(zhǎng),過(guò)長(zhǎng)則存在信息丟失。為了改善以上弱點(diǎn),Huang 等人[45]對(duì)C&W 模型進(jìn)行改進(jìn),提出通過(guò)全局上下文以及多個(gè)原生單詞進(jìn)行準(zhǔn)確度提升的操作。

2.1.3 Word2vec技術(shù)

Word2vec[46]是2013 年Google 開(kāi)源的一個(gè)詞嵌入(Word Embedding)工具。Embedding 本質(zhì)是用一個(gè)低維向量表示語(yǔ)料文本,距離相近的向量對(duì)應(yīng)的物體有相近的含義。Word2vec 工具主要包含兩個(gè)模型:連續(xù)詞袋模型(continuous bag of words,CBOW)與跳字模型(skip-gram)。兩種高效訓(xùn)練的方法:負(fù)采樣(negative sampling)和層序Softmax(hierarchical Softmax)。由于本文介紹預(yù)訓(xùn)練技術(shù),本小節(jié)僅介紹連續(xù)詞袋和跳字兩種模型。

連續(xù)詞袋模型CBOW[47]是根據(jù)輸入的上下文來(lái)預(yù)測(cè)當(dāng)前單詞。模型結(jié)構(gòu)如圖5 所示。

Fig.5 CBOW model圖5 CBOW 模型

CBOW 模型輸入為獨(dú)熱碼;隱藏層沒(méi)有激活函數(shù),即為線性單元;輸出層維度與輸入層維度一樣,使用Softmax 回歸。后續(xù)任務(wù)用訓(xùn)練模型所學(xué)習(xí)的參數(shù)(例如隱層的權(quán)重矩陣)處理新任務(wù),而非用已訓(xùn)練好的模型。

CBOW 模型具體處理流程為:(1)輸入層。上下文單詞的One-hot(假設(shè)單詞向量空間維度為V,上下文單詞個(gè)數(shù)為C)。(2)所有One-hot 分別乘以共享的輸入權(quán)重矩陣W(V×N矩陣,N為自設(shè)定)。(3)所得的向量(因?yàn)槭荗ne-hot,所以是向量)相加求平均作為隱層向量。(4)乘以輸出權(quán)重矩陣W′(N×V矩陣)。(5)激活函數(shù)處理得到V-dim 概率分布(因?yàn)槭荗ne-hot,其中的每一維都代表著一個(gè)單詞)。(6)概率最大的index 所指示的單詞為預(yù)測(cè)出的目標(biāo)詞(target word)。(7)將目標(biāo)詞與真實(shí)值的One-hot 做比較,誤差越小越好(從而根據(jù)誤差更新權(quán)重矩陣)。經(jīng)過(guò)若干輪迭代訓(xùn)練后,即可確定W矩陣。輸入層的每個(gè)單詞與矩陣W相乘得到的向量就是想要的詞向量(預(yù)訓(xùn)練詞向量只是其中的副產(chǎn)物)。

跳字模型(Skip-gram)[48],輸入是特定詞的詞向量,輸出是特定詞對(duì)應(yīng)的上下文詞向量。模型結(jié)構(gòu)如圖6 所示(具體訓(xùn)練過(guò)程不再介紹,與CBOW 模型相似)。

Fig.6 Skip-gram model圖6 Skip-gram 模型

由于Word2vec 考慮上下文關(guān)系,與傳統(tǒng)的Embedding 相比,嵌入的維度更少,速度更快,通用性更強(qiáng),效果更好,可以應(yīng)用在多種自然語(yǔ)言處理任務(wù)中,例如常見(jiàn)的文本相似度檢測(cè)、文本分類、情感分析、推薦系統(tǒng)以及問(wèn)答系統(tǒng)等句子級(jí)與篇章級(jí)自然語(yǔ)言處理領(lǐng)域。然而,由于與向量是一對(duì)一的關(guān)系,無(wú)法解決一詞多義問(wèn)題。同時(shí),Word2vec 是一種靜態(tài)的方法,無(wú)法針對(duì)特定任務(wù)做動(dòng)態(tài)優(yōu)化,并且它的相關(guān)上下文不能太長(zhǎng)。

2.1.4 FastText技術(shù)

FastText[49-50],該方法是2016 年開(kāi)源的一個(gè)詞向量及文本分類工具。FastText 模型架構(gòu)與Word2vec的CBOW 模型架構(gòu)非常相似。圖7 為FastText 的模型結(jié)構(gòu)。

Fig.7 FastText model圖7 FastText模型

模型詳情參看CBOW模型,這里僅對(duì)其與CBOW模型中預(yù)訓(xùn)練技術(shù)的不同部分進(jìn)行詳細(xì)介紹。最主要的區(qū)別是兩種模型的單詞嵌套表示不一樣,CBOW 是單詞級(jí)別的Embedding,而FastText 將單詞拆分的同時(shí)加入了字符級(jí)別的Embedding,起到擴(kuò)充詞匯的作用。但是該操作會(huì)帶來(lái)巨大的Embedding表,為計(jì)算和儲(chǔ)存帶來(lái)了很大的挑戰(zhàn)。為了解決該問(wèn)題,F(xiàn)astText 將字詞對(duì)應(yīng)的原始特征向量進(jìn)行Hash處理[51],具體公式如下:

式中,h與ξ都是Hash 函數(shù),h將輸入映射到(1,2,…,m)之間,ξ將輸入映射到{1,-1}之間,從而將N維的原始離散特征Hash 成M維的新特征(M?N)。具體來(lái)說(shuō),對(duì)于原特征的第k維值,先通過(guò)h(k)將k映射到1~M之間,再通過(guò)另外一個(gè)Hash函數(shù)ξ(k)將k映射成1 或-1,然后將映射到同一維度上的值進(jìn)行相加,這樣原來(lái)的N維特征就映射成M維特征。

FastText 最大特點(diǎn)是模型簡(jiǎn)單,訓(xùn)練速度非???,適用于大型語(yǔ)料訓(xùn)練,支持多種語(yǔ)言表達(dá)。該技術(shù)一般應(yīng)用于文本分類與同義詞挖掘領(lǐng)域,例如常見(jiàn)的垃圾郵件清理、推薦系統(tǒng)等。但是,F(xiàn)astText 的詞典規(guī)模巨大,導(dǎo)致模型參數(shù)巨大;同時(shí),一個(gè)詞的向量需要對(duì)所有子詞向量求和,繼而導(dǎo)致計(jì)算復(fù)雜度較高。

2.1.5 Glove技術(shù)

Glove[52]是2014 年提出的一個(gè)基于全局詞頻統(tǒng)計(jì)的詞表征工具,可以將單詞表達(dá)成由實(shí)數(shù)組成的向量,這些向量捕捉了單詞間的語(yǔ)義特性。

Glove 首先基于語(yǔ)料構(gòu)建詞的共現(xiàn)矩陣X(設(shè)共現(xiàn)矩陣為X,其元素意義為在整個(gè)語(yǔ)料庫(kù)中,單詞i和單詞j共同出現(xiàn)在一個(gè)窗口中的次數(shù)),然后構(gòu)建詞向量與共現(xiàn)矩陣之間的近似關(guān)系,關(guān)系表示為:

式中,wi、是單詞i與單詞j的詞向量,bi與是兩個(gè)偏置向量,N為詞匯表的大?。ü铂F(xiàn)矩陣的維度為N×N),f為權(quán)重函數(shù),對(duì)應(yīng)的公式為:

Fig.8 Process of Glove building word vector model圖8 Glove構(gòu)建詞向量模型流程

由于結(jié)合了SVD 與Word2vec 的優(yōu)勢(shì),能夠充分利用統(tǒng)計(jì)數(shù)據(jù),因此,Glove 訓(xùn)練速度較快,可以在較大的語(yǔ)料庫(kù)上進(jìn)行訓(xùn)練。該方法在較小的語(yǔ)料庫(kù)或者維度較小的詞向量上訓(xùn)練時(shí)也有不錯(cuò)表現(xiàn),同時(shí)該方法可以概括比相關(guān)性更復(fù)雜的信息。該技術(shù)適用于自動(dòng)文摘、機(jī)器翻譯等自然語(yǔ)言生成領(lǐng)域與問(wèn)答、文本分類等自然語(yǔ)言理解領(lǐng)域。當(dāng)然,Glove 算法使用全局信息,相對(duì)于其他模型內(nèi)存耗費(fèi)相對(duì)較多,且仍不能解決一詞多義的問(wèn)題。

2.2 詞向量動(dòng)態(tài)表征

詞向量動(dòng)態(tài)表征是在預(yù)訓(xùn)練階段將目標(biāo)詞的上下文相關(guān)詞考慮進(jìn)去,同時(shí),在涉及具體語(yǔ)句時(shí)會(huì)將目標(biāo)詞的上下文考慮進(jìn)去,能夠較好地解決詞性孤立不連貫及一詞多義問(wèn)題。這類技術(shù)在圖形圖像領(lǐng)域較為成熟[53-55],但是由于語(yǔ)義的多樣性與不確定性,導(dǎo)致該技術(shù)在自然語(yǔ)言處理中較難適用。隨著ULMFit 模型[56]對(duì)詞向量動(dòng)態(tài)表征帶來(lái)的較大影響,為自然語(yǔ)言的預(yù)訓(xùn)練技術(shù)發(fā)展提供了一定參考價(jià)值。而后各種動(dòng)態(tài)表征技術(shù)誕生,常見(jiàn)的有Elmo(embeddings from language models)、GPT(generative pre-training)以及BERT 模型等。

2.2.1 Elmo 模型

Elmo 模型[57]的本質(zhì)思想是先用語(yǔ)言模型學(xué)習(xí)一個(gè)單詞的Word Embedding(可以用Wrod2vec或Glove等得到,文獻(xiàn)[57]中使用的是字符級(jí)別的殘差CNN(convolutional neural networks)得到Token Embedding),此時(shí)無(wú)法區(qū)分一詞多義問(wèn)題。在實(shí)際使用Word Embedding 的時(shí)候,單詞已經(jīng)具備特定的上下文,這時(shí)可以根據(jù)上下文單詞的語(yǔ)義調(diào)整單詞的Word Embedding 表示,這樣經(jīng)過(guò)調(diào)整后的Word Embedding 更能表達(dá)上下文信息,自然就解決了多義詞問(wèn)題。

圖9 展示了Elmo 模型的預(yù)訓(xùn)練過(guò)程,該模型的網(wǎng)絡(luò)結(jié)構(gòu)采用雙層雙向LSTM(long short-term memory)[58]。使用該網(wǎng)絡(luò)對(duì)大量語(yǔ)料預(yù)訓(xùn)練,從而新句子中每個(gè)單詞都能得到對(duì)應(yīng)的三個(gè)Embedding:最底層是單詞的Embedding(word embedding);中間層是雙向LSTM 中對(duì)應(yīng)單詞位置的Embedding(position embedding),這層編碼單詞的句法信息更多一些;最高層是LSTM 中對(duì)應(yīng)單詞位置的Embedding(position embedding),這層編碼單詞的語(yǔ)義信息更多一些。也就是說(shuō),Elmo 的預(yù)訓(xùn)練過(guò)程不僅僅學(xué)會(huì)單詞的Embedding,還學(xué)會(huì)了一個(gè)雙層雙向的LSTM 網(wǎng)絡(luò)結(jié)構(gòu)。預(yù)訓(xùn)練完成后,將會(huì)得到一個(gè)半成品檢查點(diǎn),將需要訓(xùn)練的語(yǔ)料庫(kù)經(jīng)過(guò)處理后連同檢查點(diǎn)一起送入后續(xù)任務(wù)中進(jìn)行擬合訓(xùn)練,從而后續(xù)任務(wù)可以基于不同的語(yǔ)料文本得到不同的意思。

經(jīng)過(guò)如上處理,Elmo 在一定程度上解決了一詞多義問(wèn)題且模型效果良好。Elmo 模型技術(shù)開(kāi)始適用于語(yǔ)義消歧、詞性標(biāo)注、命名實(shí)體識(shí)別等領(lǐng)域,隨著研究的深入,適用范圍也越來(lái)越廣。但是它仍存在一定不足:首先,在特征提取器方面,Elmo 使用的是LSTM 而非Transformer(在已有的研究中表明,Transformer 的特征提取能力遠(yuǎn)強(qiáng)于LSTM);其次,Elmo 采用的雙向拼接融合特征比一體化的融合方式要弱一些。

Fig.9 Elmo model圖9 Elmo 模型

2.2.2 GPT 模型

GPT 模型[59]:GPT 模型用單向Transformer 完成預(yù)訓(xùn)練任務(wù),其將12 個(gè)Transformer 疊加起來(lái)[60]。訓(xùn)練的過(guò)程較簡(jiǎn)單,將句子的n個(gè)詞向量加上位置編碼(positional encoding)后輸入到Transformer 中,n個(gè)輸出分別預(yù)測(cè)該位置的下一個(gè)詞。圖10 為GPT 的單向Transformer結(jié)構(gòu)和GPT 的模型結(jié)構(gòu)。

Fig.10 GPT related model圖10 GPT 相關(guān)模型

總的來(lái)說(shuō),GPT 分無(wú)監(jiān)督預(yù)訓(xùn)練和有監(jiān)督擬合兩個(gè)階段,第一階段預(yù)訓(xùn)練后有一個(gè)后續(xù)擬合階段。該模型與Elmo 類似,主要不同在于兩點(diǎn):首先,使用Transformer 而非LSTM 作為特征抽取器;其次,GPT 采用單向語(yǔ)言模型作為目標(biāo)任務(wù)。

GPT 模型采用Transformer 作為特征提取器,相對(duì)于LSTM 能有效提取語(yǔ)料特征。雖然其應(yīng)用領(lǐng)域較為廣泛,但其最為突出的領(lǐng)域?yàn)槲谋旧深I(lǐng)域。然而,采用的單向Transformer 技術(shù),會(huì)丟失較多關(guān)鍵信息。

GPT-2 模型[61]:GPT-2 依然沿用GPT 單向Transformer 模式,但是在GPT 上做了一些改進(jìn)。首先,不再針對(duì)不同層分別進(jìn)行微調(diào)建模,而是不定義這個(gè)模型具體任務(wù),模型會(huì)自動(dòng)識(shí)別出需要什么任務(wù);其次,增加語(yǔ)料和網(wǎng)絡(luò)的復(fù)雜度;再者,將每層的正則化(layer normalization)放到每個(gè)Sub-block 之前,并在最后一個(gè)Self-attention 之后再增加一個(gè)層正則化操作。

相對(duì)于GPT 模型,GPT-2 提取信息能力更強(qiáng),在文本生成方面的性能尤為優(yōu)越。但是,該模型的缺點(diǎn)與GPT 一樣,采用單向的語(yǔ)言模型會(huì)丟失較多關(guān)鍵信息。

GPT-3 模型[62]:GPT-3 是目前性能最好的通用模型之一,聚焦于更通用的NLP 模型,主要解決對(duì)領(lǐng)域內(nèi)標(biāo)簽數(shù)據(jù)的過(guò)分依賴和對(duì)領(lǐng)域數(shù)據(jù)分布的過(guò)擬合問(wèn)題。特色依然沿用了單向語(yǔ)言模型訓(xùn)練方式,但是模型的大小增加到了1 750 億的參數(shù)量以及用45 TB的語(yǔ)料進(jìn)行相關(guān)訓(xùn)練。

在通用NLP 領(lǐng)域中,GPT-3 的性能是目前最高的,但是,其在一些經(jīng)濟(jì)政治類問(wèn)題上表現(xiàn)不太理想(由預(yù)訓(xùn)練語(yǔ)料的質(zhì)量造成);同時(shí),該模型由于參數(shù)量過(guò)于巨大,目前大部分學(xué)者只能遙望一二,離真正進(jìn)入實(shí)用階段還有較遠(yuǎn)距離。

2.2.3 BERT 模型

BERT 模型[63]:BERT 采用和GPT 完全相同的兩階段模型,首先是語(yǔ)言模型預(yù)訓(xùn)練,其次是后續(xù)任務(wù)的擬合訓(xùn)練。和GPT 最主要不同在于預(yù)訓(xùn)練階段采用了類似Elmo 的雙向語(yǔ)言模型技術(shù)、MLM(mask language model)技術(shù)以及NSP(next sentence prediction)機(jī)制。圖11 為BERT 模型。

Fig.11 BERT pre-training model圖11 BERT 預(yù)訓(xùn)練模型

在MLM 技術(shù)中,Devlin 等人隨機(jī)Mask 每個(gè)句子中15%的單詞,用來(lái)做預(yù)測(cè),而在這15%的單詞中,80%的單詞采用[Mask],10%的單詞采用隨機(jī)替換,剩下的10%單詞保持不變的特性。在NSP 機(jī)制中,選擇句子對(duì)A、B,其中50%的B 是A 的下一條句子,而另外的50%是從語(yǔ)料庫(kù)中進(jìn)行隨機(jī)挑選的句子,進(jìn)而讓它們學(xué)習(xí)其中的相關(guān)性。經(jīng)過(guò)若干次訓(xùn)練,保存檢查點(diǎn)即為預(yù)訓(xùn)練模型。

BERT 采用雙向Transformer 技術(shù),能較準(zhǔn)確地訓(xùn)練詞向量,進(jìn)而引發(fā)了自然語(yǔ)言處理的大地震?,F(xiàn)階段,常用的自然語(yǔ)言處理技術(shù)絕大部分是基于BERT 及其改進(jìn)技術(shù)。從現(xiàn)階段來(lái)看,BERT 的應(yīng)用領(lǐng)域較為廣泛,從自然語(yǔ)言理解領(lǐng)域的文本分類、閱讀理解等熱點(diǎn)領(lǐng)域到自然語(yǔ)言生成的自動(dòng)文摘、文本寫作等領(lǐng)域均有涉獵。但是,該模型存在參數(shù)量巨大,實(shí)際應(yīng)用困難等缺點(diǎn)。

以上是常用的神經(jīng)網(wǎng)絡(luò)預(yù)訓(xùn)練技術(shù),本文從具體模型技術(shù)、模型技術(shù)特點(diǎn)、模型技術(shù)優(yōu)缺點(diǎn)及適用范圍進(jìn)行總結(jié)整理,表2為神經(jīng)網(wǎng)絡(luò)預(yù)訓(xùn)練技術(shù)匯總。

3 BERT 改進(jìn)模型預(yù)訓(xùn)練技術(shù)

BERT 模型作為自然語(yǔ)言領(lǐng)域目前應(yīng)用最廣的模型技術(shù),現(xiàn)已輻射到自然語(yǔ)言處理的各個(gè)領(lǐng)域并取得了極大發(fā)展。但是,經(jīng)學(xué)者們研究,BERT 仍然存在較為明顯的缺陷。首先,BERT 采用的NSP 預(yù)訓(xùn)練技術(shù)會(huì)導(dǎo)致結(jié)果出現(xiàn)主題預(yù)測(cè),主題預(yù)測(cè)比實(shí)際預(yù)測(cè)簡(jiǎn)單,從而效果出現(xiàn)偏差;其次,采用隨機(jī)Mask部分單詞而不是連續(xù)的詞組,同樣導(dǎo)致BERT 的效果出現(xiàn)折扣;最后,BERT 相對(duì)于其他模型來(lái)說(shuō),參數(shù)量相對(duì)較大,難以部署在性能受限的邊緣設(shè)備上。

基于以上幾點(diǎn),出現(xiàn)了BERT 的兩種大方向改進(jìn):其一為盡可能改進(jìn)BERT 以提升性能;其二為在保持BERT 模型性能不受本質(zhì)影響前提下,壓縮BERT 模型的大小。以下將從這兩方面來(lái)進(jìn)行相關(guān)介紹。

3.1 提高模型性能方向

BERT 模型雖然取得較理想的結(jié)果,但是距人類平均水平還存在一定差距?;诖?,相關(guān)研究者在BERT基礎(chǔ)上做了大量改進(jìn)工作以提升模型性能。提升模型性能的方式主要有兩種:一是基于預(yù)訓(xùn)練技術(shù)改進(jìn);二是基于后續(xù)任務(wù)單獨(dú)改進(jìn),本文著重于介紹前者。下面較為詳細(xì)地介紹基于預(yù)訓(xùn)練改進(jìn)的且在領(lǐng)域內(nèi)具有一定知名度的相關(guān)模型及其改進(jìn)技術(shù)。

MT-DNN(multi-task deep neural networks)[64]:當(dāng)監(jiān)督語(yǔ)料過(guò)少時(shí),BERT 的后續(xù)任務(wù)性能不穩(wěn)定且性能提升有限。MT-DNN 將MTL(multi-task learning)加入到BERT 的后續(xù)任務(wù)中,即將相關(guān)的后續(xù)任務(wù)進(jìn)行多任務(wù)訓(xùn)練,可以在一定程度上彌補(bǔ)監(jiān)督語(yǔ)料的不足。具體來(lái)說(shuō),該模型在BERT 模型的基礎(chǔ)上做了以下改進(jìn):在后續(xù)任務(wù)中,MT-DNN 將單句分類、句子對(duì)分類、文本相似度打分和相關(guān)度排序進(jìn)行混合多任務(wù)訓(xùn)練,而后將這四種任務(wù)的損失相加求平均,進(jìn)而優(yōu)化。

采用該模型,彌補(bǔ)了部分任務(wù)語(yǔ)料不足的問(wèn)題,同時(shí),由于多種語(yǔ)料混合,還具有正則化的作用,可防止模型過(guò)擬合。然而,該模型有堆砌之感,且超參數(shù)量多于BERT,調(diào)參較為繁瑣;同時(shí),由于語(yǔ)料的差異,相較于BERT 對(duì)比具有不公平性。

MASS(masked sequence to sequence)[65]:針 對(duì)BERT 模型在自然語(yǔ)言生成任務(wù)上性能較低問(wèn)題,微軟亞洲研究院提出一個(gè)在自然語(yǔ)言生成任務(wù)上的通用預(yù)訓(xùn)練模型MASS。

具體來(lái)說(shuō),MASS 相對(duì)于BERT 具有以下幾點(diǎn)優(yōu)勢(shì):其一,解碼器端其他詞(在編碼器端未被屏蔽掉的詞)被屏蔽掉,以鼓勵(lì)解碼器從編碼器端提取信息來(lái)幫助連續(xù)片段預(yù)測(cè),這樣能促進(jìn)編碼器-注意力-解碼器結(jié)構(gòu)的聯(lián)合訓(xùn)練;其二,為了給解碼器提供更有用的信息,編碼器被強(qiáng)制抽取未被屏蔽掉詞的語(yǔ)義,以提升編碼器理解源序列文本的能力;其三,讓解碼器預(yù)測(cè)連續(xù)序列片段,以提升解碼器的語(yǔ)言建模能力。

Table 2 Pre-training techniques of neural network表2 神經(jīng)網(wǎng)絡(luò)預(yù)訓(xùn)練技術(shù)

MASS 在自然語(yǔ)言生成任務(wù)上取得良好的效果,證明了在機(jī)器翻譯、文本生成等生成式任務(wù)上相對(duì)于BERT 的優(yōu)勢(shì)。但是,該模型對(duì)自然語(yǔ)言理解任務(wù)效果未知,且其超參數(shù)k調(diào)參過(guò)程較為復(fù)雜。

UNILM(unified language model)[66]:該模型是對(duì)BERT 模型的一個(gè)延伸,UNILM 模型的預(yù)訓(xùn)練檢查點(diǎn)在自然語(yǔ)言理解與自然語(yǔ)言生成任務(wù)上均表現(xiàn)出較高性能。

具體來(lái)說(shuō),UNILM 統(tǒng)一了預(yù)訓(xùn)練過(guò)程,模型使用Transformer 結(jié)構(gòu)囊括了不同類型的語(yǔ)言技術(shù)(單向、雙向和序列到序列的三種預(yù)訓(xùn)練技術(shù)),從而不需要分開(kāi)訓(xùn)練多個(gè)語(yǔ)言模型;其次,因?yàn)槟依巳N預(yù)訓(xùn)練技術(shù),所以參數(shù)共享使得學(xué)習(xí)到的文本表征更加通用化,減少了自然語(yǔ)言處理訓(xùn)練中的過(guò)擬合問(wèn)題。

該模型在自然語(yǔ)言理解與自然語(yǔ)言生成上均取得了良好的性能,具有通用性,適用范圍更廣。但是預(yù)訓(xùn)練語(yǔ)料質(zhì)量要求較高、預(yù)訓(xùn)練時(shí)間過(guò)長(zhǎng)等,均是UNILM 面臨的現(xiàn)實(shí)問(wèn)題。

ERNIE(enhanced language representation with informative entities)[67]:BERT 從純語(yǔ)料中獲取語(yǔ)義模式,較少考慮結(jié)構(gòu)化知識(shí)。知識(shí)圖譜能提供豐富的結(jié)構(gòu)化知識(shí),以便更好地進(jìn)行知識(shí)理解?;诖?,采用大規(guī)模語(yǔ)料和知識(shí)圖譜利用詞匯、句法等關(guān)聯(lián)信息訓(xùn)練出BERT 的增強(qiáng)版ERNIE 模型。

具體來(lái)說(shuō),在預(yù)訓(xùn)練階段ERNIE 分為兩部分,提取知識(shí)信息與訓(xùn)練語(yǔ)言模型。首先,研究者提取文本語(yǔ)料中的命名實(shí)體,將這些提取的實(shí)體與知識(shí)圖譜中的實(shí)體進(jìn)行匹配,為了能夠得到結(jié)構(gòu)化的知識(shí)編碼,模型采用了TransE 知識(shí)嵌入(translating embedding)[68]算法將實(shí)體轉(zhuǎn)化為向量,再將編碼后的知識(shí)信息整合到語(yǔ)義信息中。其次,在預(yù)訓(xùn)練中除采用MLM 機(jī)制與NSP 機(jī)制外,增加了新的預(yù)訓(xùn)練機(jī)制dEA(denoising entity auto-encoder),該機(jī)制隨機(jī)Mask一些實(shí)體,并要求模型基于與實(shí)體對(duì)齊的Tokens,從給定的實(shí)體序列中預(yù)測(cè)最有可能的實(shí)體。最后,該模型引入了更多的多源語(yǔ)料,包括中文維基百科、百度百科、百度新聞以及百度貼吧等。采用多源化語(yǔ)料,增大了語(yǔ)料的多樣性,且多源語(yǔ)料包含海量的實(shí)體類知識(shí),從而預(yù)訓(xùn)練的模型能更好地建模真實(shí)世界的語(yǔ)義關(guān)系。

相對(duì)于BERT,ERNIE 將BERT 與知識(shí)圖譜結(jié)合,在一定程度上改善了結(jié)構(gòu)化知識(shí)問(wèn)題。但是,ERNIE也具有很明顯的不足:首先,采用了NSP 機(jī)制,該機(jī)制在后來(lái)被證實(shí)沒(méi)有實(shí)質(zhì)性的作用;其次,構(gòu)建知識(shí)圖譜需要耗費(fèi)大量的人力財(cái)力;最后,相對(duì)于BERT,該模型更為復(fù)雜、參數(shù)量更多,從而訓(xùn)練成本也相應(yīng)地高于BERT。為此,之后推出了ERNIE2.0[69],相對(duì)于ERNIE 來(lái)說(shuō),在預(yù)訓(xùn)練階段構(gòu)建了多任務(wù)持續(xù)學(xué)習(xí)預(yù)訓(xùn)練框架與三種類型的無(wú)監(jiān)督學(xué)習(xí)任務(wù)。多任務(wù)持續(xù)學(xué)習(xí)預(yù)訓(xùn)練框架可以根據(jù)先前預(yù)訓(xùn)練的權(quán)重增量學(xué)習(xí)新的知識(shí);三種類型的無(wú)監(jiān)督學(xué)習(xí)包括詞法級(jí)別、語(yǔ)言結(jié)構(gòu)級(jí)別和語(yǔ)法級(jí)別預(yù)訓(xùn)練任務(wù)。相對(duì)于ERNIE,ERNIE2.0 模型性能有較大提升。

XLNet(generalized autoregressive pretraining for language understanding)[70]:XLNet 是一個(gè)類似于BERT的模型,分為上游預(yù)訓(xùn)練階段和后續(xù)微調(diào)階段。具體來(lái)說(shuō),XLNet上游預(yù)訓(xùn)練流程如下:

首先,BERT 采用掩碼語(yǔ)言模型MLM,從而出現(xiàn)上游預(yù)訓(xùn)練任務(wù)與后續(xù)微調(diào)不匹配問(wèn)題。為了解決這個(gè)問(wèn)題,XLNet 在預(yù)訓(xùn)練機(jī)制引入排列語(yǔ)言模型(permutation language model,PLM),通過(guò)構(gòu)造雙流自注意力機(jī)制(two-stream self-attention,TSSA),在Transformer 內(nèi)部隨機(jī)Mask 一部分單詞,利用自回歸語(yǔ)言模型ALM(autoregressive language model)本身的單向特點(diǎn)克服了BERT 的后續(xù)任務(wù)不匹配問(wèn)題。其次,由于BERT 采用Transformer 機(jī)制,要求輸入為定長(zhǎng)序列,導(dǎo)致序列長(zhǎng)度要相對(duì)合適。為了讓Transformer 學(xué)習(xí)到更長(zhǎng)的依賴,XLNet 的Transformer-XL借鑒了TBPTT[71](truncated back-propagation through time)與相對(duì)位置編碼,將上一個(gè)片段st-1計(jì)算出來(lái)的表征緩存在內(nèi)存里,加入到當(dāng)前片段st的表征計(jì)算中。最后,加大了預(yù)訓(xùn)練階段使用的語(yǔ)料規(guī)模,BERT采用了13 GB 的語(yǔ)料進(jìn)行預(yù)訓(xùn)練,XLNet 在BERT 預(yù)訓(xùn)練語(yǔ)料的基礎(chǔ)上,又引入了Giga5、ClueWeb 和Common Crawl 語(yǔ)料,并排除了一些低質(zhì)量的語(yǔ)料,額外引入113 GB 語(yǔ)料進(jìn)行預(yù)訓(xùn)練。

相對(duì)于BERT,XLNet 具有以上三點(diǎn)明顯優(yōu)勢(shì),因而相對(duì)于BERT,該模型在生成式領(lǐng)域與長(zhǎng)文本輸入類型的任務(wù)上性能較高。但是,從本質(zhì)上來(lái)說(shuō),XLNet仍然是一個(gè)自回歸語(yǔ)言模型,排列語(yǔ)言模型機(jī)制PLM 在處理上下文語(yǔ)境問(wèn)題時(shí),隨機(jī)排序比BERT大得多,因此需要更大的運(yùn)算量才能達(dá)到BERT 的效果;同時(shí),相對(duì)于BERT,XLNet 用了更多以及質(zhì)量更佳的語(yǔ)料進(jìn)行預(yù)訓(xùn)練,這樣的對(duì)比缺乏一定的公平性。

BERT-WWM(BERT of whole word masking)[72]:該模型與BERT 相比,最大的不同是在預(yù)訓(xùn)練階段進(jìn)行了詞組Mask 機(jī)制,具體來(lái)說(shuō):首先,采用分詞技術(shù)對(duì)中文語(yǔ)料進(jìn)行分詞處理,則相應(yīng)的文本被分為多個(gè)詞組;其次,采用Mask 標(biāo)簽替換一個(gè)完整的詞組而不是單個(gè)字(因?yàn)榍懊嬉呀?jīng)完成了分詞)。采用這種預(yù)訓(xùn)練方式,模型能學(xué)到詞的語(yǔ)義信息,訓(xùn)練完成后的字就具有詞的語(yǔ)義信息,這對(duì)各類中文NLP 任務(wù)都較為友好。

BERT-WWM 模型思想類似于ERNIE,從而模型具有與ERNIE 類似的缺點(diǎn)。但是模型開(kāi)發(fā)之初便是對(duì)中文語(yǔ)料進(jìn)行處理,因此在處理中文相關(guān)問(wèn)題時(shí),模型性能較高。在此之后,BERT-WWM 擴(kuò)充了預(yù)訓(xùn)練語(yǔ)料庫(kù)的數(shù)據(jù)量并且加長(zhǎng)了預(yù)訓(xùn)練時(shí)間,使模型性能進(jìn)一步提升,即為BERT-WWM-EXT 模型(預(yù)訓(xùn)練語(yǔ)料庫(kù)增大,總詞數(shù)達(dá)到54 億;同時(shí),訓(xùn)練步數(shù)增大,第一階段訓(xùn)練1×106步,第二階段訓(xùn)練4×105步)。

RoBERTa(robustly optimized BERT)[73]:RoBERTa

沿用了BERT 框架,但是相對(duì)于BERT 在預(yù)訓(xùn)練過(guò)程和語(yǔ)料規(guī)模上做了如下改進(jìn):

首先,將靜態(tài)Mask 改為動(dòng)態(tài)Mask,BERT 的預(yù)訓(xùn)練過(guò)程中是隨機(jī)Mask 掉15%的Tokens,在之后的預(yù)訓(xùn)練中,這些被Mask 的Tokens 均保持不變,這種形式稱為靜態(tài)Mask;而RoBERTa 在預(yù)訓(xùn)練過(guò)程中將預(yù)訓(xùn)練語(yǔ)料復(fù)制多份,每份語(yǔ)料隨機(jī)Mask 掉15%的Tokens,在預(yù)訓(xùn)練過(guò)程中,選取不同的復(fù)制語(yǔ)料,從而可以得到每條語(yǔ)料有不同的Mask,這樣的Mask 機(jī)制稱為動(dòng)態(tài)Mask。動(dòng)態(tài)Mask 相當(dāng)于間接增大了訓(xùn)練語(yǔ)料,有助于提高模型的性能與泛化能力。其次,RoBERTa 移除了NSP 任務(wù),每次可輸入多個(gè)句子,直到達(dá)到設(shè)定的最大長(zhǎng)度(可以跨段落以及文章),稱這種方法為Full-sentences,采用這樣的方法模型可以捕獲更長(zhǎng)的依賴關(guān)系,這對(duì)長(zhǎng)序列的后續(xù)任務(wù)較為友好。最后,RoBERTa 采用了更大的批次量以及更多的語(yǔ)料進(jìn)行預(yù)訓(xùn)練,RoBERTa 的批次量遠(yuǎn)大于BERT,且預(yù)訓(xùn)練語(yǔ)料約為BERT 的10 倍以及采用更長(zhǎng)的預(yù)訓(xùn)練時(shí)間,這樣更多的語(yǔ)料增加了語(yǔ)料的多樣性,模型性能自然能相對(duì)提高。

相對(duì)于BERT,RoBERTa 具有以上三點(diǎn)優(yōu)勢(shì),在不同的語(yǔ)料庫(kù)上性能也超過(guò)BERT,證明BERT 仍然有很強(qiáng)勁的上升空間。但是,RoBERTa 采用堆疊式的方式進(jìn)行處理導(dǎo)致模型過(guò)于龐大,很難應(yīng)用于實(shí)際生產(chǎn)生活中。

SpanBERT(spans BERT)[74]:SpanBERT 延續(xù)了BERT 的架構(gòu),相對(duì)于BERT,在預(yù)訓(xùn)練中主要做了以下改進(jìn)。

首先,對(duì)MLM 進(jìn)行改進(jìn),提出了Span Mask 方案,核心為不再對(duì)單個(gè)Token 進(jìn)行掩膜處理,而是隨機(jī)對(duì)文本片段添加掩膜。即作者通過(guò)迭代采樣文本的分詞,直到達(dá)到掩膜要求的大小。每次迭代過(guò)程中,作者從幾何分布I~Geo(p)中采樣得到分詞的長(zhǎng)度,該幾何分布是偏態(tài)分布,更偏向于較短分詞。其次,加入分詞邊界SBO(span boundary objective)訓(xùn)練任務(wù)。具體來(lái)說(shuō),在訓(xùn)練時(shí)選取Span 前后邊界的兩個(gè)Token,然后用這兩個(gè)詞加上Span 中被遮蓋掉詞的位置向量,來(lái)預(yù)測(cè)原詞。最后,作者采用單序列訓(xùn)練(single-sequence training,SST)代替NSP 任務(wù),也就是用一句話進(jìn)行訓(xùn)練。更長(zhǎng)的語(yǔ)境對(duì)模型更為有利,模型可以獲取更長(zhǎng)上下文。

雖然SpanBERT 效果普遍強(qiáng)于BERT,尤其是在問(wèn)答、指代消歧等分詞選擇任務(wù)上表現(xiàn)尤為出色,但是由于該模型采用分詞邊界SBO,在一些復(fù)雜問(wèn)答方面效果可能欠佳。

K-BERT(BERT of knowledge graph)[75]:由于通用語(yǔ)料預(yù)訓(xùn)練的BERT 模型在知識(shí)驅(qū)動(dòng)型任務(wù)上有較大領(lǐng)域差異,K-BERT 主要是提升BERT 在知識(shí)驅(qū)動(dòng)任務(wù)上的性能。其將知識(shí)圖譜引入到BERT 的預(yù)訓(xùn)練模型中,使模型能夠?qū)W習(xí)特定領(lǐng)域的語(yǔ)義知識(shí),從而達(dá)到知識(shí)驅(qū)動(dòng)型任務(wù)上的良好表現(xiàn)。具體來(lái)說(shuō),相對(duì)于BERT 做了以下改變:

首先,制作一個(gè)句子樹(shù),文本句子經(jīng)過(guò)知識(shí)層(knowledge layer)后,知識(shí)層對(duì)知識(shí)圖譜(例如CNDBpedia、HowNet 和自建的醫(yī)學(xué)知識(shí)圖譜)進(jìn)行檢索,從而將知識(shí)圖譜中與句子相關(guān)的三元信息注入到句子中,形成一個(gè)富有背景的句子樹(shù)(sentence tree)。其次,將句子樹(shù)的信息進(jìn)行順序表達(dá),同時(shí)通過(guò)軟位置(soft-position)與可見(jiàn)矩陣(visible matrix)將句子樹(shù)鋪成序列輸入模型,進(jìn)而放入網(wǎng)絡(luò)中進(jìn)行相應(yīng)訓(xùn)練。

除了以上兩點(diǎn)優(yōu)化,K-BERT其余結(jié)構(gòu)均與BERT保持一致,因此該模型兼容BERT 類的模型參數(shù),無(wú)需再次預(yù)訓(xùn)練,節(jié)約了計(jì)算資源。同時(shí),該模型因?yàn)橛兄R(shí)圖譜的輸入,在許多特定領(lǐng)域的表現(xiàn)顯著優(yōu)于BERT。但是,構(gòu)造句子樹(shù)的過(guò)程由于語(yǔ)料的詞嵌入向量與知識(shí)圖譜中實(shí)體的詞嵌入向量匹配問(wèn)題,需要帶來(lái)額外的處理;同時(shí),若自行構(gòu)建知識(shí)圖譜,需要較大的額外工作量。

SemBERT(semantics-aware BERT)[76]:與BERT相比,SemBERT 在BERT 的基礎(chǔ)上引進(jìn)語(yǔ)義角色標(biāo)注模型,它以BERT 為基礎(chǔ)骨架網(wǎng)絡(luò),融合上下文語(yǔ)義信息。具體來(lái)說(shuō),改進(jìn)分以下幾步:

首先,根據(jù)角色標(biāo)注器(采用SRL(semantic role labeling)標(biāo)注工具)對(duì)文本語(yǔ)料進(jìn)行標(biāo)注,給輸入的文本語(yǔ)料標(biāo)注謂詞-論元結(jié)構(gòu)(詞級(jí)別)。其次,將多語(yǔ)義標(biāo)簽進(jìn)行融合,由于BERT 輸出的詞為子詞,難以與角色標(biāo)注后的詞進(jìn)行對(duì)齊,將BERT 處理后的子詞通過(guò)CNN 網(wǎng)絡(luò)進(jìn)行重構(gòu)為詞,從而使兩者對(duì)齊。最后,將文本語(yǔ)料表示與語(yǔ)義標(biāo)簽表示集成融合,從而獲得了后續(xù)任務(wù)的聯(lián)合表示。

SemBERT 模型簡(jiǎn)單有效且易于理解,但是角色標(biāo)注器標(biāo)注出的語(yǔ)料本身存在一定的錯(cuò)誤,這對(duì)后續(xù)任務(wù)很不友好;同時(shí),該模型從外部注入相關(guān)信息,有可能模型內(nèi)部的效果與原始BERT 相差不大,從而在一些特定任務(wù)上引發(fā)欠擬合。

StructBERT(structures BERT)[77]:StructBERT 將語(yǔ)言結(jié)構(gòu)信息融入BERT,其增加兩個(gè)基于語(yǔ)言結(jié)構(gòu)的目標(biāo),詞序重構(gòu)任務(wù)(word-level ordering)和句序判定任務(wù)(sentence-level ordering)。具體來(lái)說(shuō),該模型在預(yù)訓(xùn)練任務(wù)上進(jìn)行了如下改進(jìn):

首先,一個(gè)良好的語(yǔ)言模型,應(yīng)該有把打亂的句子重構(gòu)的能力。因而除采用BERT 的Mask 機(jī)制外,還對(duì)未Mask 的詞隨機(jī)選取Trigram,打亂順序后重構(gòu)該順序;其次,由于NSP 機(jī)制本質(zhì)是一個(gè)二分類任務(wù),該模型對(duì)其進(jìn)行改進(jìn),將原來(lái)的二分類模型擴(kuò)展為三分類模型,即分為是否為上句、是否為下句以及是否無(wú)關(guān)。

StructBERT 基于以上兩點(diǎn)改進(jìn),在大部分自然語(yǔ)言理解任務(wù)上較BERT 取得較好的效果,但是該模型相對(duì)BERT 的本質(zhì)問(wèn)題并未進(jìn)行太大的改進(jìn),相對(duì)于其他模型,該模型應(yīng)用不太廣泛。

Electra(encoders as discriminators rather than generators)[78]:由于BERT 的MLM 機(jī)制存在天然缺陷,Electra 模型提出一種更加簡(jiǎn)單有效的預(yù)訓(xùn)練方案,采用生成器-判別器(replaced token detection)替換BERT中的令牌檢測(cè)。該模型將部分輸入采用生成器生成其他Token 替換,然后訓(xùn)練一個(gè)判別模型,判別每個(gè)Token 是否被生成器所替換(兩種可能性)。因?yàn)樵撃P褪菑乃蠺oken 中進(jìn)行學(xué)習(xí),而非從被掩蓋的部分中學(xué)習(xí),相對(duì)于BERT 在同等條件下性能更為優(yōu)越。

該模型更適用于較小規(guī)模的語(yǔ)料上,即具有更輕量級(jí)的模型,但是,GAN(generative adversarial network)在自然語(yǔ)言處理中應(yīng)用十分困難,因此該模型并非是GAN 方法,而是借鑒了GAN 的思想;同時(shí),雖然采用了生成器與判別器聯(lián)合損失訓(xùn)練的方式,然而該訓(xùn)練方式容易退化為單一判別器方式;經(jīng)過(guò)實(shí)測(cè),在一些復(fù)雜大型任務(wù)上,該模型平均性能略微高于BERT,沒(méi)有論文中的那么高。

以上介紹了基于BERT 提升模型性能的常用技術(shù),主要介紹了這些技術(shù)中采用的預(yù)訓(xùn)練方法的改進(jìn)部分。這些技術(shù)對(duì)自然語(yǔ)言的發(fā)展起到重要的推動(dòng)作用。但是,由于模型過(guò)于龐大,離應(yīng)用到實(shí)際生產(chǎn)生活中還存在一定的距離,因而部分研究者基于模型性能影響不大的情況下,盡量壓縮模型大小。

3.2 模型壓縮方向

由于BERT 參數(shù)眾多,模型龐大,推理速度較慢,在一些實(shí)時(shí)性要求較高、計(jì)算資源受限的場(chǎng)景,應(yīng)用會(huì)受到較大限制。因此,研究如何在不過(guò)多損失BERT 性能的條件下,對(duì)BERT 進(jìn)行模型壓縮,是一個(gè)非常具有現(xiàn)實(shí)意義的問(wèn)題?,F(xiàn)階段,部分研究者專注于壓縮BERT 模型,使其在邊緣設(shè)備上具有運(yùn)行能力。在該方向上,目前有剪枝、量化、知識(shí)蒸餾、參數(shù)共享與低秩分解等幾類方法。

由于模型壓縮涉及預(yù)訓(xùn)練和后續(xù)任務(wù),在這兩者之間均有技術(shù)改進(jìn),耦合性較強(qiáng),因而不方便單獨(dú)介紹預(yù)訓(xùn)練技術(shù)。在介紹相關(guān)模型時(shí),對(duì)預(yù)訓(xùn)練任務(wù)與后續(xù)任務(wù)的改進(jìn)不進(jìn)行區(qū)分。

3.2.1 剪枝

剪枝是從模型中刪除不太重要的部分權(quán)重從而產(chǎn)生稀疏的矩陣權(quán)重,進(jìn)而達(dá)到模型壓縮的目的。

Compressing BERT[79]:該模型探討了BERT 預(yù)訓(xùn)練階段權(quán)重修剪對(duì)后續(xù)任務(wù)性能的影響。在三種不同的修剪層次上得到不同的結(jié)論:在較低水平預(yù)訓(xùn)練模型上剪枝(30%~40%),并不會(huì)明顯影響后續(xù)任務(wù)的性能;在中等水平預(yù)訓(xùn)練模型上剪枝,會(huì)使預(yù)訓(xùn)練模型的損失函數(shù)相對(duì)增大且難以收斂,同時(shí),部分有效信息不能傳遞到后續(xù)任務(wù);在較高水平預(yù)訓(xùn)練模型上剪枝,上游任務(wù)對(duì)后續(xù)任務(wù)的增益進(jìn)一步減弱。同時(shí),發(fā)現(xiàn)在特定任務(wù)BERT 上進(jìn)行微調(diào)并不能有效提高模型可裁剪性。

該模型對(duì)BERT 剪枝壓縮進(jìn)行了一定程度的探討,為模型壓縮做出了一定貢獻(xiàn),但是,這種定性的探討存在太多的主觀性;同時(shí),每一層次剪枝操作后調(diào)參較麻煩。

One Head Attention BERT[80]:Michel 等人對(duì)BERT中的多頭注意力機(jī)制進(jìn)行探究,作者給出了三種實(shí)驗(yàn)方法證明多頭注意力機(jī)制存在信息冗余:

首先,每次去掉一層中的一個(gè)Head,測(cè)試模型性能;其次,每次去掉一層中剩下的層,僅保留一個(gè)Head,測(cè)試模型的性能;再者,通過(guò)梯度來(lái)判斷每個(gè)Head 的重要性,然后去掉一部分不重要的Head,測(cè)試模型的性能。經(jīng)過(guò)實(shí)驗(yàn)證明了多頭注意力機(jī)制提取的信息之間存在大量冗余。

該模型的優(yōu)點(diǎn)如標(biāo)題所示,實(shí)驗(yàn)驗(yàn)證了多頭注意力機(jī)制存在大量冗余,但是,單純地減少Head 的數(shù)量不能有效地加速且該結(jié)論為實(shí)驗(yàn)結(jié)果缺乏理論基礎(chǔ)?;诖耍珻ordonnier 等人[81]在理論基礎(chǔ)上證明了多頭機(jī)制存在約2/3 的冗余。

Pruning BERT[82]:McCarley 提出該模型,模型主要通過(guò)減少各個(gè)Transformer 的注意力頭數(shù)量與前饋?zhàn)訉拥闹虚g寬度以及嵌入維度。在SQuAD2.0 語(yǔ)料上準(zhǔn)確度損失1.5 個(gè)百分點(diǎn)而解碼速度提高了1 倍。但是該模型的后續(xù)任務(wù)基于SQuAD 語(yǔ)料進(jìn)行,也就是說(shuō)該模型對(duì)閱讀理解問(wèn)答具有較好的效果,但是對(duì)于其他任務(wù)的效果未知,應(yīng)用范圍過(guò)窄。

LayerDrop BERT[83]:Fan 等人針對(duì)BERT 提出LayerDrop 方法,即一種結(jié)構(gòu)化的Dropout 方法對(duì)BERT 中的Transformer進(jìn)行處理。

作者提出了一個(gè)讓Transformer 能夠在測(cè)試過(guò)程中使用不同深度的正則項(xiàng)訓(xùn)練方法,該方法關(guān)注點(diǎn)在剪枝層數(shù)。作者考慮了三種不同的剪枝策略:一為每隔一層就以一定概率進(jìn)行剪枝;二為計(jì)算不同組合層在驗(yàn)證集上的表現(xiàn),但是這種方法相對(duì)耗時(shí);三為每層學(xué)習(xí)一個(gè)參數(shù)p,使得全局剪枝率為p*,然后對(duì)每層的輸出添加一個(gè)非線性函數(shù),在前向中選擇計(jì)算分?jǐn)?shù)最高的k個(gè)層。經(jīng)過(guò)這三種策略從而不需要在后續(xù)任務(wù)的情況下即可選擇BERT 模型的最優(yōu)子模型。

該方法能在一定程度上降低模型大小,加速模型訓(xùn)練且不用后續(xù)任務(wù)即可完成。但是,該模型對(duì)BERT 本質(zhì)缺點(diǎn)并未改進(jìn)。

RPP BERT[84]:Guo 等人提出了一種重加權(quán)近端剪枝方法(reweighted proximal pruning,RPP)。在高剪枝率下,近端剪枝BERT 對(duì)預(yù)訓(xùn)練任務(wù)和后續(xù)多個(gè)微調(diào)任務(wù)都保持了較高的精度。同時(shí),該模型能部署在多種邊緣設(shè)備上,但是剪枝過(guò)程較為繁瑣且對(duì)近端的選擇存在較大爭(zhēng)議。

3.2.2 量化

通過(guò)減少每個(gè)參數(shù)所需比特?cái)?shù)來(lái)壓縮原始網(wǎng)絡(luò),可以顯著降低內(nèi)存。該方法在圖像領(lǐng)域應(yīng)用較為廣泛[85-86],本小節(jié)針對(duì)BERT 模型的量化改進(jìn)進(jìn)行介紹。

Q-BERT[87]:模型采用低位精度儲(chǔ)存參數(shù),并支持低位硬件來(lái)加速推理過(guò)程。

總的來(lái)說(shuō),作者對(duì)Hessian 信息進(jìn)行逐層分解,進(jìn)而執(zhí)行混合精度量化。該研究提出一種基于top特征均值和方差的敏感度度量指標(biāo),以實(shí)現(xiàn)更好的混合精度量化。同時(shí),提出了一種新的組量化機(jī)制(group-wise quantization),該機(jī)制能夠有效緩解準(zhǔn)確度下降問(wèn)題的同時(shí)不會(huì)導(dǎo)致硬件復(fù)雜度顯著上升,具體而言,組量化機(jī)制將每個(gè)矩陣分割為不同的組,每個(gè)組擁有獨(dú)立的量化范圍和查找表。最后,作者調(diào)查了BERT 量化中的瓶頸,即不同因素如何影響NLP 性能和模型壓縮率之間的權(quán)衡,這些因素包括量化機(jī)制、嵌入方式、自注意力和全連接層等模塊。

Q-BERT 對(duì)BERT 模型進(jìn)行了有效的壓縮,一定程度上降低了模型的大小。但是,整個(gè)壓縮過(guò)程復(fù)雜,壓縮不徹底且性能影響嚴(yán)重。

Q8BERT[88]:Zafrir 等人提出了Q8BERT 模型,該模型能夠極大地壓縮BERT 的大小。

具體來(lái)說(shuō),對(duì)BERT 的全連接層和Embedding 層中通用矩陣(general matrix multiply)進(jìn)行量化處理。同時(shí),在微調(diào)階段執(zhí)行量化感知訓(xùn)練,以便在損失最小準(zhǔn)確度的同時(shí)使BERT 壓縮模型為原模型25%的參數(shù)量。此外,針對(duì)8 bit參數(shù)進(jìn)行優(yōu)化。

該模型與QBERT 類似,對(duì)BERT 能有效地壓縮,但是采用該方法存在量化不徹底,比如在softmax、層歸一化等準(zhǔn)確度要求較高的操作中依然保留float32的類型。

TernaryBERT[89]:華為提出的該模型,在BERT 模型上量化分為兩部分,權(quán)重層量化和激活層量化。在權(quán)重層中,包含了所有的線性層與Embedding 層,這些層的參數(shù)占了BERT 模型總參數(shù)的絕大部分,因而對(duì)這些層的量化較為徹底。華為團(tuán)隊(duì)探討了TWN(ternary weight networks)[90]方法與LAT(lossaware ternarization)[91]方法,TWN 方法旨在最小化全精度參數(shù)和量化參數(shù)之間的距離,而LAT 的方法則是為了最小化量化權(quán)重計(jì)算的損失。對(duì)于激活層的量化,采用8 bit 的對(duì)稱與非對(duì)稱方法,而在實(shí)際推理過(guò)程中,矩陣乘法可以由32 bit 的浮點(diǎn)數(shù)運(yùn)算變?yōu)閕nt 8的整形運(yùn)算,達(dá)到加速的目的。該模型實(shí)現(xiàn)僅占BERT 模型6.7%的參數(shù)情況下達(dá)到和全精度模型相當(dāng)?shù)男阅堋?/p>

雖然該模型在量化方面效果明顯高于其他模型,但是在一些粒度較細(xì)的任務(wù)上由于量化過(guò)度導(dǎo)致效果并不如人意。

3.2.3 知識(shí)蒸餾

知識(shí)蒸餾的核心是將復(fù)雜網(wǎng)絡(luò)遷移進(jìn)簡(jiǎn)單網(wǎng)絡(luò)中,這之中重要部分是將其中的“精華”蒸餾出來(lái),再用其指導(dǎo)精簡(jiǎn)網(wǎng)絡(luò)進(jìn)行訓(xùn)練,從而實(shí)現(xiàn)模型壓縮。在BERT 興起以前,知識(shí)蒸餾就已存在較多應(yīng)用[92],BERT 的興起加速了知識(shí)蒸餾在人工智能中的發(fā)展。

Small BERT[93]:Zhao 等人采用蒸餾方式提出該模型。首先,將BERT 的寬度進(jìn)行壓縮,同時(shí),縮小詞表,將原來(lái)的30 522 分詞表縮小為4 925 個(gè)分詞。為了使教師模型與學(xué)生模型匹配,采用了Dual Training和Shared Projection 技術(shù)進(jìn)行處理,其核心是圍繞“縮減詞表”展開(kāi)。

該模型能取得較好性能且模型參數(shù)得到較大降低,但是該文章實(shí)驗(yàn)較簡(jiǎn)單、不全面,不能說(shuō)明在其他任務(wù)上的性能,即存在應(yīng)用領(lǐng)域狹窄問(wèn)題。

Knowledge Distillation[94]:Sun 等人在通用知識(shí)蒸餾任務(wù)上進(jìn)行改進(jìn)。學(xué)生模型除了學(xué)習(xí)教師模型的概率輸出外,還需要學(xué)習(xí)一些中間層的輸出。作者提出了Skip 方法與Last 方法,Skip 方法為每隔幾層去學(xué)習(xí)一個(gè)中間層;Last方法為學(xué)習(xí)教師模型的最后幾層。最終的訓(xùn)練目標(biāo)是損失函數(shù)LCE、LDS與LPT的加權(quán)和,直接使用后續(xù)任務(wù)進(jìn)行蒸餾訓(xùn)練。

模型在GLUE(general language understanding evaluation)上取得了較為良好的結(jié)果,但是該模型本質(zhì)上是減層操作,從而導(dǎo)致學(xué)生模型與教師模型的寬度一樣(在一般情況下,短而寬的模型效果往往低于長(zhǎng)而窄的模型);同時(shí),更長(zhǎng)更深的教師模型并不一定能訓(xùn)練出良好的學(xué)生模型。

DistilBERT[95]:將BERT 的12 層壓縮到6 層,以3%的準(zhǔn)確度犧牲換來(lái)40%的參數(shù)壓縮和60%的預(yù)測(cè)提速。具體來(lái)說(shuō),在預(yù)訓(xùn)練階段進(jìn)行知識(shí)蒸餾,核心技術(shù)是引入了Losscos(cosine embedding loss),從而進(jìn)行網(wǎng)絡(luò)的內(nèi)部對(duì)齊。而后,作者類似地提出了DistilGPT2[95]和DistilRoBERTa[96]。

DistilBERT 在自然語(yǔ)言處理中引起了較大的轟動(dòng),但是該方法相對(duì)于后面的模型,準(zhǔn)確度與參數(shù)量均略微較大。

Distilling Transformers[97]:Mukherjee 等人針對(duì)學(xué)生模型蒸餾后效果一般情況下差于教師模型的問(wèn)題,通過(guò)大量領(lǐng)域內(nèi)無(wú)標(biāo)簽語(yǔ)料以及有限數(shù)量的標(biāo)簽語(yǔ)料訓(xùn)練來(lái)彌補(bǔ)這一差距。具體來(lái)說(shuō),提出了硬性蒸餾與軟蒸餾兩種模式,硬蒸餾是對(duì)大量無(wú)標(biāo)簽語(yǔ)料進(jìn)行標(biāo)注,然后將這些語(yǔ)料增強(qiáng)后對(duì)學(xué)生模型進(jìn)行監(jiān)督訓(xùn)練;軟蒸餾是用教師模型在無(wú)標(biāo)簽語(yǔ)料上生成的內(nèi)部表示,對(duì)學(xué)生模型進(jìn)行蒸餾。

該模型簡(jiǎn)單易懂,在領(lǐng)域知識(shí)內(nèi)能取得較高性能,但是模型整體創(chuàng)新性不高,對(duì)通用任務(wù)性能提升有限。

MiniLM[98]:Wang 等人提出了一種將基于Transformer 的預(yù)訓(xùn)練大模型壓縮成預(yù)訓(xùn)練小模型(更少的層數(shù)和更小的隱層維度)的通用方法,深度自注意力知識(shí)蒸餾(deep self-attention distillation)。該模型有三個(gè)核心點(diǎn):一為蒸餾教師模型最后一層Transformer的自注意力機(jī)制;二為在自注意力機(jī)制中引入值之間的點(diǎn)積;三為引入助教模型輔助訓(xùn)練學(xué)生模型。

在各種尺寸的學(xué)生模型中,MiniLM 的單語(yǔ)種模型性能較為優(yōu)越;在SQuAD2.0 與GLUE 的多個(gè)任務(wù)上以一般的參數(shù)量與計(jì)算量即可保持99%的準(zhǔn)確度。但是與TinyBERT 與MobileBERT 等相比,準(zhǔn)確度與參數(shù)量還有待提高;同時(shí),對(duì)大模型微調(diào)和推理仍費(fèi)時(shí)費(fèi)力,計(jì)算成本較高。

TinyBERT[99]:采用兩階段訓(xùn)練方法,該模型在中間的多個(gè)過(guò)程計(jì)算損失函數(shù)使其盡量對(duì)齊;同時(shí),對(duì)語(yǔ)料庫(kù)進(jìn)行了極大的增強(qiáng)處理,因此在模型性能與效果上取得了較為明顯的進(jìn)步?;谠撍悸?,研究者們提出了Simplified TinyBERT[100]、CATBERT[101]等模型。

TinyBERT 模型在多個(gè)任務(wù)上取得了較好的性能且其模型大小顯著減小,但是模型的超參數(shù)過(guò)多,模型難以調(diào)節(jié);同時(shí),采用了語(yǔ)料增強(qiáng)技術(shù),與BERT 的對(duì)比不公平。

MobileBERT[102]:該模型為當(dāng)前蒸餾領(lǐng)域較為通用的模型,該模型采用和BERTlarge一樣深的層數(shù)(24層),在每一層中的Transformer 中加入了bottleneck機(jī)制使得每一層Transformer 變得更窄。具體來(lái)說(shuō),作者先訓(xùn)練了一個(gè)帶有bottleneck 機(jī)制的BERTlarge(IB-BERT),然后把IB-BERT 中的知識(shí)遷移到MobileBERT 中(由于直接蒸餾效果較低,采用這種中間轉(zhuǎn)換策略)。

該模型優(yōu)點(diǎn)在于其相對(duì)于其他蒸餾模型來(lái)說(shuō)具有通用性,但是模型深度較深,訓(xùn)練更為困難。

BORT[103]:該模型參數(shù)量只有BERT 的Large 模型的16%,但是提升效果能達(dá)到0.3%至31%??偟膩?lái)說(shuō),該模型分為最優(yōu)子結(jié)選?。╫ptimal sub-architecture extraction)、預(yù)訓(xùn)練與后續(xù)任務(wù)微調(diào)。

該模型能取得較為明顯的效果,但是該論文缺乏消融實(shí)驗(yàn)且對(duì)比較不公平。

3.2.4 參數(shù)共享與低秩分解

參數(shù)共享是指將模型中相似的子結(jié)構(gòu)采用參數(shù)覆蓋的方式進(jìn)行訓(xùn)練,進(jìn)而達(dá)到參數(shù)共享的目的。低秩分解是將大的權(quán)重矩陣分解為若干個(gè)低秩的小矩陣從而減少運(yùn)算量。由于這兩種技術(shù)?;煸谝黄鹗褂?,因而對(duì)其進(jìn)行整體介紹。

ALBERT[104]:該模型用參數(shù)共享與低秩分解技術(shù)進(jìn)行壓縮。具體來(lái)說(shuō),相對(duì)于BERT,有以下幾點(diǎn)改進(jìn):首先,采用詞向量分解技術(shù),將Embedding 中的E(embedding size)與H(hidden size)進(jìn)行解綁,參數(shù)量大大降低;其次,采用跨層參數(shù)共享機(jī)制,極大減小參數(shù)量的同時(shí)還增加了模型的穩(wěn)定性;再者,采用句子順序預(yù)測(cè)SOP(sentence-order prediction)代替NSP技術(shù);最后,采用N-gram 機(jī)制代替BERT 的MLM 機(jī)制,性能進(jìn)一步提升。

ALBERT 在參數(shù)量、模型性能等方面全面超越BERT,且能支持更大的預(yù)訓(xùn)練語(yǔ)料,但是該模型并未減少系統(tǒng)算力。

BERT-of-Theseus[105]:該模型采用層間替換策略進(jìn)行處理,具體為將每?jī)蓪踊蛘呷龑覶ransformer 采用新的一層Transformer進(jìn)行替換。

該模型避免了從頭開(kāi)始預(yù)訓(xùn)練,極大節(jié)省了算力,但是經(jīng)其他學(xué)者證明,直接取前若干層也能達(dá)到類似效果。

本文比較了基于BERT 的兩類主流方向優(yōu)化模型,對(duì)每種模型的預(yù)訓(xùn)練機(jī)制、優(yōu)缺點(diǎn)以及原始論文中的模型性能(采用常用的GLUE 與SQuAD 語(yǔ)料庫(kù))進(jìn)行梳理總結(jié),如表3 所示。

4 應(yīng)用領(lǐng)域進(jìn)展

按照語(yǔ)料的長(zhǎng)度分為詞匯、句子和篇章三個(gè)層面,而每個(gè)層面均有若干具體領(lǐng)域,如圖12 所示。由于各個(gè)領(lǐng)域之間具有關(guān)聯(lián)性與交叉性,沒(méi)有必要對(duì)每個(gè)領(lǐng)域的進(jìn)展進(jìn)行詳細(xì)介紹。本文依據(jù)各領(lǐng)域的關(guān)聯(lián)程度選取詞匯級(jí)別的命名實(shí)體識(shí)別、句子級(jí)別的智能問(wèn)答、機(jī)器翻譯,篇章級(jí)別的文本分類、文本生成這幾個(gè)主流領(lǐng)域進(jìn)行介紹,旨在展現(xiàn)自然語(yǔ)言處理在這些領(lǐng)域的進(jìn)展。

Fig.12 Application fields of natural language processing圖12 自然語(yǔ)言處理的應(yīng)用領(lǐng)域

4.1 命名實(shí)體識(shí)別

命名實(shí)體識(shí)別(named entity recognition,NER)于1996 年在MUC-6 會(huì)議上首次被提出[106],具有數(shù)量無(wú)窮、構(gòu)詞靈活和類別模糊的特性。作為自然語(yǔ)言應(yīng)用的基石(比如:?jiǎn)柎?、分類、翻譯等均會(huì)涉及),具有極大的研究?jī)r(jià)值,因而在之后的發(fā)展中成為自然語(yǔ)言處理應(yīng)用的一個(gè)熱點(diǎn)方向。

Liang 等人基于遠(yuǎn)程監(jiān)督提出了開(kāi)放域命名實(shí)體識(shí)別模型BOND[107],該模型與BERT 類似,分為預(yù)訓(xùn)練與后續(xù)任務(wù)兩部分。首先,將獲取的無(wú)標(biāo)簽語(yǔ)料通過(guò)外部知識(shí)庫(kù)(實(shí)體庫(kù))匹配生成具體標(biāo)簽,但是這些標(biāo)簽具有不完整性與極大噪音,對(duì)模型性能產(chǎn)生較大不良影響。其次,將這些已有標(biāo)簽語(yǔ)料送入BOND模型中進(jìn)行預(yù)訓(xùn)練,從而產(chǎn)生預(yù)訓(xùn)練檢查點(diǎn)。而后將無(wú)標(biāo)簽的語(yǔ)料連同檢查點(diǎn)送入模型中進(jìn)行后續(xù)任務(wù)測(cè)試。實(shí)驗(yàn)表明在五個(gè)基準(zhǔn)語(yǔ)料庫(kù)(CoNLL03、Twitter、OntoNotes5.0、Wikigold、Webpage)上的性能優(yōu)于現(xiàn)有的其他方法。Li 等人[108]對(duì)中文臨床命名實(shí)體識(shí)別進(jìn)行研究。首先,作者在Web 網(wǎng)頁(yè)中爬取了1.05 GB 的包含皮膚科、腎臟科等不同醫(yī)學(xué)領(lǐng)域的文本,然后將這些文本語(yǔ)料送入BERT 中進(jìn)行預(yù)訓(xùn)練。在后續(xù)任務(wù)中,采用BERT 結(jié)合BiLSTM(bidirectional long-short term memory)與CRF(conditional random field)的方式進(jìn)行訓(xùn)練,在CCKS 2017 語(yǔ)料庫(kù)上取得了91.60 的F1 值。文獻(xiàn)[109]采用BERT 結(jié)合投票機(jī)制(contextual majority voting,CMV)對(duì)命名實(shí)體進(jìn)行識(shí)別,在英語(yǔ)、荷蘭語(yǔ)和芬蘭語(yǔ)命名實(shí)體識(shí)別中取得了較好的效果。

Table 3 Various optimization models of BERT表3 BERT 各種優(yōu)化模型

雖然基于BERT 改進(jìn)的命名實(shí)體識(shí)別在不同類型的語(yǔ)料庫(kù)上取得了較好的效果,但是仍然存在以下不足:首先,專用命名實(shí)體語(yǔ)料收集困難;其次,在部分縮寫類實(shí)體和一詞多義類實(shí)體上模型性能還有較大提升空間。

4.2 智能問(wèn)答

智能問(wèn)答(intelligent question and answering,QA)是信息檢索的一種高級(jí)形式,用準(zhǔn)確、簡(jiǎn)潔的自然語(yǔ)言回答用戶用自然語(yǔ)言提出的問(wèn)題。不同的分類方式可將問(wèn)答分為不同類型:按照問(wèn)題維度可分為領(lǐng)域內(nèi)問(wèn)答和開(kāi)放域問(wèn)答,按照對(duì)話類型可分為開(kāi)放域閑聊、限定域問(wèn)答和任務(wù)驅(qū)動(dòng)型問(wèn)答等。

文獻(xiàn)[63,66,70,73-78]等對(duì)單片段SQuAD 語(yǔ)料庫(kù)進(jìn)行訓(xùn)練與測(cè)試,證明了BERT 及改進(jìn)模型的有效性。蘇立新等人[110]以BERT 為基礎(chǔ)模型,構(gòu)造出BERT_Boundary 模型對(duì)多片段語(yǔ)料進(jìn)行處理,相對(duì)于SQuAD 等單片段語(yǔ)料來(lái)說(shuō),多片段語(yǔ)料難度更大且相對(duì)貼近現(xiàn)實(shí)。該模型的優(yōu)點(diǎn)在于在處理多片段語(yǔ)料的同時(shí)與BERT 模型兼容,避免了大規(guī)模的預(yù)訓(xùn)練。BERT_Boundary 在他們自己構(gòu)建的語(yǔ)料庫(kù)上總體取得了71.49 的EM(exact match)值以及84.86 的F2 值;在多片段的語(yǔ)料上,最高取得了59.57 的EM值與85.17 的F2 值。GENBERT 模型[111]采用BERT的編解碼結(jié)構(gòu)對(duì)多類型語(yǔ)料庫(kù)DROP(包含多片段、加減、計(jì)數(shù)、否定等)進(jìn)行處理,該語(yǔ)料庫(kù)相對(duì)于單一類型語(yǔ)料來(lái)說(shuō),難度更大且更加貼近現(xiàn)實(shí)。首先,在BERT 模型的基礎(chǔ)上增加了一個(gè)片段解碼頭用于處理DROP 中出現(xiàn)的片段語(yǔ)料。其次,針對(duì)專用語(yǔ)料預(yù)訓(xùn)練缺失問(wèn)題,利用程序生成大量偽專用語(yǔ)料進(jìn)行二次預(yù)訓(xùn)練。實(shí)驗(yàn)結(jié)果表明該模型性能與MTMSN(multi-type multi-span network)[112]的Base 效果相當(dāng)。Chen 等人[113]提出了MTQA(multi-type question and answer)模型,該模型較好地解決了DROP 語(yǔ)料中多類型任務(wù)問(wèn)題,在檢索系統(tǒng)中具有較大的實(shí)際意義。具體來(lái)說(shuō),該模型在預(yù)訓(xùn)練的基礎(chǔ)上進(jìn)行有監(jiān)督二次預(yù)訓(xùn)練。同時(shí),采用了傳統(tǒng)集束搜索算法增加模型性能與減小模型的搜索空間。

智能問(wèn)答目前在企業(yè)界用的較多的有各種搜索引擎,常用的有百度、谷歌等,但是智能問(wèn)答還存在明顯的缺陷,最主要的是問(wèn)句的真實(shí)意圖分析、問(wèn)句與答案之間的匹配關(guān)系判別等仍是制約問(wèn)答系統(tǒng)性能的關(guān)鍵難題。

4.3 機(jī)器翻譯

機(jī)器翻譯(machine translation,MT),又稱自動(dòng)翻譯,是利用計(jì)算機(jī)把一種自然源語(yǔ)言轉(zhuǎn)換為另一種自然目標(biāo)語(yǔ)言的過(guò)程,一般指自然語(yǔ)言之間句子和全文翻譯。機(jī)器翻譯是自然語(yǔ)言處理中的經(jīng)典領(lǐng)域,它的起源與自然語(yǔ)言的起源同步。

文獻(xiàn)[59,61,65]等模型對(duì)WMT-14 等語(yǔ)料進(jìn)行測(cè)試,證明了GPT 系列模型在機(jī)器翻譯中的性能。為解決雙語(yǔ)任務(wù)與單語(yǔ)任務(wù)預(yù)訓(xùn)練間鴻溝,從而能較好地利用單語(yǔ)言任務(wù)模型的檢查點(diǎn),Weng 等人[114]提出了一個(gè)APT(acquiring pre-trained model)模型,用于預(yù)訓(xùn)練模型到神經(jīng)機(jī)器翻譯(neural machine translation,NMT)的知識(shí)獲取。該模型包含兩部分:首先是一個(gè)動(dòng)態(tài)融合機(jī)制,將通用知識(shí)的特定特性融合進(jìn)APT 模型中;其次,在APT 訓(xùn)練過(guò)程中不斷學(xué)習(xí)語(yǔ)言知識(shí)的提取范式,以提高APT 性能。實(shí)驗(yàn)表明,模型在德-英、英-德以及漢-英上均取得了不錯(cuò)的成績(jī)。為了防止模型在語(yǔ)料豐富任務(wù)上遭遇災(zāi)難遺忘問(wèn)題,Mager 等人[115]提出CTNMT(concerted training NMT)模型。該模型采用三種策略以提高性能:首先,采用漸進(jìn)蒸餾方式,使NMT 能夠保留之前的預(yù)訓(xùn)練知識(shí);其次,采用動(dòng)態(tài)切換門機(jī)制,以確保不會(huì)發(fā)生災(zāi)難性遺忘問(wèn)題;再者,根據(jù)預(yù)定策略調(diào)整學(xué)習(xí)節(jié)奏。實(shí)驗(yàn)表明,在WMT-14 語(yǔ)料庫(kù)上性能顯著高于其他模型。

現(xiàn)階段國(guó)內(nèi)外知名的翻譯軟件有谷歌翻譯、百度翻譯和有道詞典等??偟膩?lái)說(shuō),機(jī)器翻譯目前處于較高水平,在一些通用語(yǔ)料上,機(jī)器翻譯能取得較好成績(jī),但是在涉及專業(yè)知識(shí)領(lǐng)域上,機(jī)器翻譯的效果還有待提高。

4.4 文本分類

文本分類(text classification,TC)是依靠自然語(yǔ)言處理、數(shù)據(jù)挖掘和模式識(shí)別等技術(shù),對(duì)不同的文本進(jìn)行分類處理。按照文本長(zhǎng)度可分為長(zhǎng)文本分類和短文本分類,按照分類的標(biāo)簽數(shù)可分為二分類、多分類以及多標(biāo)簽分類等。在自然語(yǔ)言處理的許多子任務(wù)中,大部分場(chǎng)景都可以歸結(jié)為文本分類,比如常見(jiàn)的情感分析、領(lǐng)域識(shí)別、意圖識(shí)別和郵件分類等。

文獻(xiàn)[59-62,64,66-67,83-89]等模型對(duì)GLUE 語(yǔ)料進(jìn)行測(cè)試,證明了BERT 及改進(jìn)模型在分類語(yǔ)料上的性能。文獻(xiàn)[116]將BERT 模型與經(jīng)典的自然語(yǔ)言處理分類技術(shù)進(jìn)行比較,證明了BERT 模型的優(yōu)越性。Sun 等人[117]提出了一種對(duì)預(yù)訓(xùn)練BERT 進(jìn)行微調(diào)的通用方法,包含以下三個(gè)步驟:首先,對(duì)領(lǐng)域語(yǔ)料進(jìn)一步預(yù)訓(xùn)練;其次,若有多個(gè)相關(guān)任務(wù),選擇多任務(wù)學(xué)習(xí);最后,對(duì)單一任務(wù)進(jìn)行最終微調(diào)。作者在八類語(yǔ)料庫(kù)上進(jìn)行實(shí)驗(yàn),結(jié)果表明模型性能取得了最新的結(jié)果。Lu 等人結(jié)合BERT 和詞匯表圖卷積網(wǎng)絡(luò)(vocabulary graph convolutional network,VGCN)提出了VGCN-BERT 模型[118],該模型利用局部信息和全局信息通過(guò)不同層次的BERT 進(jìn)行交互,使它們相互影響,共同構(gòu)建分類表示。首先,基于詞表的共現(xiàn)信息構(gòu)建圖卷積網(wǎng)絡(luò),然后將圖嵌入(graph embedding)與詞嵌入(word embedding)一起送入BERT 編碼器中;其次,在分類學(xué)習(xí)過(guò)程中,圖嵌入與詞嵌入通過(guò)自我注意力機(jī)制相互學(xué)習(xí),這樣分類器不僅可以同時(shí)利用局部信息和全局信息,還可以通過(guò)注意機(jī)制使二者相互引導(dǎo),最終建立的分類表示將局部信息和全局信息逐漸融合。

文本分類作為自然語(yǔ)言處理的一個(gè)重要領(lǐng)域,在一些語(yǔ)料不太復(fù)雜,粒度較粗、分類較少的語(yǔ)料上效果顯著,但是在一些細(xì)粒度語(yǔ)料上,分類效果有待提升。

4.5 文本生成

文本生成(text generation,TG)主要包括自動(dòng)摘要、信息抽取和機(jī)器翻譯(由于機(jī)器翻譯在自然語(yǔ)言處理中占有重要地位因而單獨(dú)介紹)。文本生成是利用計(jì)算機(jī)按照某一規(guī)則自動(dòng)對(duì)文本信息進(jìn)行提取,從而集合成簡(jiǎn)短信息的一種信息壓縮技術(shù),其根本目的在于使抽取出的信息簡(jiǎn)短的同時(shí)保留語(yǔ)料的關(guān)鍵部分。按照不同的輸入劃分,文本生成包括文本到文本的生成(text-to-text generation)、意義到文本的生成(meaning-to-text generation)、數(shù)據(jù)到文本的生成(data-to-text generation)以及圖像到文本的生成(image-to-text generation)等。本節(jié)重點(diǎn)介紹文本到文本的生成。

Topal 等人[119]探討了GPT、BERT 和XLNet 三種模型在自然語(yǔ)言生成任務(wù)上的性能,總結(jié)了Transformer 在語(yǔ)言模型上取得的突破性進(jìn)展。Qu 等人[120]采用新的語(yǔ)料(百度百科與隨筆中文)訓(xùn)練GPT-2 與BERT,用以生成長(zhǎng)句與文章并做中間詞預(yù)測(cè)。Chi等人[121]提出的XNLG(cross-lingual pre-trained model)模型是一個(gè)基于Transformer 的序列到序列的預(yù)訓(xùn)練模型,該模型能產(chǎn)生較高質(zhì)量的跨語(yǔ)言生成任務(wù)。在模型構(gòu)造過(guò)程中,主要使用了以下幾種方法:首先,采用單語(yǔ)言MLM 機(jī)制,該機(jī)制本質(zhì)上就是BERT的MLM 機(jī) 制;其 次,采 用DAE(denoising autoencoding)技術(shù)來(lái)預(yù)訓(xùn)練編解碼中的注意力機(jī)制,DAE 機(jī)制為2008 年Vincent 等人[122]提出;再者,采用跨語(yǔ)言的XMLM(cross-lingual MLM)技術(shù)與跨語(yǔ)言的XAE(cross-lingual auto-encoding)技術(shù)。

文本生成受各方面因素影響,距離工業(yè)化實(shí)際應(yīng)用還有較大的發(fā)展空間,但是隨著軟硬件技術(shù)和模型的進(jìn)步,該領(lǐng)域?qū)?huì)有巨大改善,進(jìn)而更好地應(yīng)用于實(shí)際生產(chǎn)生活中。

4.6 多模態(tài)領(lǐng)域

除以上重點(diǎn)領(lǐng)域外,自然語(yǔ)言處理還與語(yǔ)音、視頻、圖像等領(lǐng)域有較大交叉,即存在多模態(tài)領(lǐng)域。與這些領(lǐng)域的結(jié)合對(duì)提升該領(lǐng)域模型性能具有積極推動(dòng)作用?,F(xiàn)階段,結(jié)合自然語(yǔ)言處理的多模態(tài)領(lǐng)域更多的是將自然語(yǔ)言處理的預(yù)訓(xùn)練技術(shù)與模型融入該領(lǐng)域中,避免從頭訓(xùn)練模型、節(jié)省算力的同時(shí)也在一定程度上輔助提高了模型的性能。

文獻(xiàn)[123]提出了一種基于微調(diào)BERT 的自動(dòng)語(yǔ)音識(shí)別模型(automatic speech recognition,ASR),該模型采用文本輔助語(yǔ)音進(jìn)行語(yǔ)音性能提升。與傳統(tǒng)的ASR 系統(tǒng)相比,省略了從頭訓(xùn)練的過(guò)程,節(jié)省了算力。文獻(xiàn)[124]提出了通用的視覺(jué)-語(yǔ)言預(yù)訓(xùn)練模型(visual-linguistic BERT,VL-BERT),該模型采用Transformer 作為主干網(wǎng)絡(luò),同時(shí)將其擴(kuò)展為包含視覺(jué)與語(yǔ)言輸入的多模態(tài)形式。該模型適合于絕大多數(shù)視覺(jué)-語(yǔ)言后續(xù)任務(wù)。針對(duì)唇語(yǔ)識(shí)別問(wèn)題,中科院制作了唇語(yǔ)語(yǔ)料庫(kù)LRW-1000[125]。該語(yǔ)料庫(kù)包括唇語(yǔ)圖片序列、單詞文本與語(yǔ)音三部分,該語(yǔ)料庫(kù)將圖像與自然語(yǔ)言結(jié)合,填補(bǔ)了中文大型唇語(yǔ)自然語(yǔ)料庫(kù)的空白。

多模態(tài)研究一直是各領(lǐng)域向外延伸的一個(gè)突破點(diǎn)。自然語(yǔ)言處理的多模態(tài)研究涉及領(lǐng)域廣,所需知識(shí)面大。目前,取得的性能還有待提高,但是隨著人工智能的繼續(xù)發(fā)展,相信在這些領(lǐng)域定然會(huì)取得新的突破。

5 面臨的挑戰(zhàn)與解決辦法

19 世紀(jì)40 年代機(jī)器翻譯提出,自然語(yǔ)言處理技術(shù)隨之誕生。經(jīng)過(guò)了幾十年發(fā)展,自然語(yǔ)言處理技術(shù)在曲折中發(fā)展。就目前來(lái)說(shuō),還面臨著極大的挑戰(zhàn),具體來(lái)說(shuō),有以下幾個(gè)方面。

5.1 語(yǔ)料

語(yǔ)料存在不規(guī)范性、歧義性和無(wú)限性問(wèn)題。首先,大型語(yǔ)料庫(kù)的建立不可避免地需要自動(dòng)化或半自動(dòng)化工具進(jìn)行語(yǔ)料收集整理,在此過(guò)程中,可能收集一些本身就存在問(wèn)題的語(yǔ)料,從而對(duì)模型的性能造成一定的影響。其次,由于語(yǔ)料自身的特性導(dǎo)致語(yǔ)義存在歧義性,尤其是一些日常用語(yǔ),人類可以憑借常識(shí)推理判斷某句話表達(dá)的意思,但是現(xiàn)階段的計(jì)算機(jī)還不能做到這樣的常識(shí)推理。最后,語(yǔ)料本身是無(wú)限的,不可能去制作一個(gè)無(wú)限大的語(yǔ)料庫(kù)。

針對(duì)語(yǔ)料存在的三點(diǎn)問(wèn)題,應(yīng)從以下幾個(gè)方面解決。首先,在語(yǔ)料收集時(shí),應(yīng)選擇來(lái)源正規(guī)、影響力較大的語(yǔ)料進(jìn)行收集整理;同時(shí),研究者們不應(yīng)該把所有的關(guān)注點(diǎn)僅集中在模型的大小與性能上,開(kāi)發(fā)出更加智能、快捷、便利的語(yǔ)料收集整理工具,也是下一階段的側(cè)重點(diǎn)之一。其次,由于語(yǔ)料本身的歧義性,要加大模型研發(fā),使模型更加智能化;同時(shí),研究者可以借鑒一些傳統(tǒng)技術(shù),例如構(gòu)詞法等,使歧義語(yǔ)料語(yǔ)義單一。其三,在日常的自然語(yǔ)言處理中,應(yīng)加大對(duì)專用語(yǔ)料庫(kù)的收集整理,同時(shí),在大規(guī)模無(wú)監(jiān)督語(yǔ)料上進(jìn)行預(yù)訓(xùn)練的條件下,對(duì)后續(xù)任務(wù)采用零樣本或小樣本學(xué)習(xí)是很有必要的措施。

5.2 模型

自然語(yǔ)言處理模型從基于規(guī)則到基于統(tǒng)計(jì)再到基于神經(jīng)網(wǎng)絡(luò)的每一個(gè)發(fā)展過(guò)程中,其準(zhǔn)確性會(huì)有一個(gè)較大幅度的提升?,F(xiàn)階段最熱的神經(jīng)網(wǎng)絡(luò)具有模型過(guò)程不透明、簡(jiǎn)單粗暴且參數(shù)龐大的問(wèn)題。具體來(lái)說(shuō),神經(jīng)網(wǎng)絡(luò)模型尤其是深度神經(jīng)網(wǎng)絡(luò)模型的中間過(guò)程類似黑盒,研究人員對(duì)它的控制能力較弱,不便于優(yōu)化設(shè)計(jì)。同時(shí),現(xiàn)階段的神經(jīng)網(wǎng)絡(luò)模型相對(duì)于傳統(tǒng)的精巧式設(shè)計(jì)模型來(lái)說(shuō),設(shè)計(jì)方式較為簡(jiǎn)單,大多數(shù)神經(jīng)網(wǎng)絡(luò)模型依靠大計(jì)算量進(jìn)行訓(xùn)練和預(yù)測(cè),從而使模型顯得靈巧性不足。最后,模型量級(jí)較大,當(dāng)前的主流模型需要消耗大量的資源進(jìn)行訓(xùn)練,雖然目前有大量的工作對(duì)模型進(jìn)行輕量化處理,但是一般的輕量化模型存在場(chǎng)景受限或仍難以部署在邊緣設(shè)備上。

針對(duì)模型存在的以上問(wèn)題,研究者應(yīng)從以下幾方面著手解決。首先,研究人員應(yīng)加大模型中間過(guò)程的研究,讓“黑盒”變得透明、可控;同時(shí),應(yīng)在模型設(shè)計(jì)方面再進(jìn)行研究,爭(zhēng)取設(shè)計(jì)出輕巧簡(jiǎn)便且泛化能力強(qiáng)的模型;最后,針對(duì)目前出現(xiàn)的大量輕量化模型無(wú)法實(shí)際應(yīng)用于生產(chǎn)生活中的問(wèn)題,應(yīng)進(jìn)行二次輕量化乃至多次輕量化處理,采用循環(huán)迭代的方式降低模型的大小。

5.3 應(yīng)用場(chǎng)景

對(duì)于目前大多數(shù)落地技術(shù)來(lái)講,場(chǎng)景一般獨(dú)立且無(wú)歧義,但是自然語(yǔ)言處理應(yīng)用場(chǎng)景分散且復(fù)雜,難以獨(dú)立應(yīng)用于某一具體領(lǐng)域。同時(shí),現(xiàn)階段在自然語(yǔ)言理解領(lǐng)域模型性能良好,但是對(duì)于自然語(yǔ)言生成領(lǐng)域效果還亟待提升。

研究者們應(yīng)該規(guī)范一個(gè)符合大眾認(rèn)知且獨(dú)立的場(chǎng)景,這對(duì)自然語(yǔ)言模型更好地落地應(yīng)用于具體領(lǐng)域具有重大的實(shí)際意義。其次,現(xiàn)階段,自動(dòng)文摘、機(jī)器翻譯等領(lǐng)域如火如荼展開(kāi),從而體現(xiàn)出了自然語(yǔ)言生成領(lǐng)域具有強(qiáng)大的動(dòng)力,研究者們應(yīng)加大這方面的研究。

5.4 性能評(píng)估指標(biāo)

目前自然語(yǔ)言處理模型主流的評(píng)測(cè)方法是從已有語(yǔ)料中劃分出一部分作為測(cè)試集,然后測(cè)試模型性能。但這并不能全面地評(píng)估一個(gè)模型的好壞,還有很多意想不到的情況:首先,測(cè)試集有部分語(yǔ)料和訓(xùn)練集相似度很高,模型如果過(guò)擬合了也無(wú)法發(fā)現(xiàn);其次,測(cè)試集存在偏差,與真實(shí)場(chǎng)景分布不一致;最后,模型采用某種Trick 才能在測(cè)試集上表現(xiàn)良好。因此,模型的評(píng)估存在不少風(fēng)險(xiǎn)與不確定因素。

Ribeiro 等人[126]認(rèn)為應(yīng)當(dāng)全方位對(duì)模型多項(xiàng)能力進(jìn)行評(píng)估,每項(xiàng)能力均應(yīng)該通過(guò)三種不同類別的檢測(cè),即最小功能檢測(cè)、不變性檢測(cè)和定向期望檢測(cè),該思想借鑒了軟件工程的方法。研究者們應(yīng)拓寬該類思路,讓模型性能評(píng)價(jià)更加標(biāo)準(zhǔn)化與規(guī)范化,讓投機(jī)取巧的測(cè)試方法無(wú)處遁形。

5.5 軟硬件

計(jì)算機(jī)經(jīng)過(guò)幾十年的長(zhǎng)足發(fā)展,軟硬件均取得了極大發(fā)展。但是現(xiàn)階段自然語(yǔ)言處理技術(shù)所需要的軟硬件條件極高,個(gè)人或組織需要承擔(dān)大量的工作量與高額的經(jīng)費(fèi)。從軟件方面來(lái)看,各種框架層出不窮,部分框架之間不兼容,導(dǎo)致工作量增大。從硬件方面來(lái)看,硬件技術(shù)遵守摩爾定律,即增長(zhǎng)速度為倍數(shù)級(jí)增長(zhǎng);但是神經(jīng)網(wǎng)絡(luò),尤其是深度神經(jīng)網(wǎng)絡(luò)對(duì)硬件的需求為指數(shù)級(jí)增長(zhǎng),從而導(dǎo)致需求量與增長(zhǎng)量產(chǎn)生不可調(diào)和的矛盾。

Table 4 Challenges and solutions表4 挑戰(zhàn)與解決辦法

首先,應(yīng)加大軟件研發(fā)力度,使軟件兼容各種框架,減少程序開(kāi)發(fā)負(fù)擔(dān)。其次,應(yīng)加大對(duì)新興領(lǐng)域的研究,尤其是最近興起的量子計(jì)算,量子比特與傳統(tǒng)計(jì)算機(jī)不同之處是其能同時(shí)代表0 或1。若量子計(jì)算機(jī)成功研發(fā),將會(huì)對(duì)計(jì)算機(jī)領(lǐng)域的發(fā)展產(chǎn)生重大推動(dòng)作用。

自然語(yǔ)言處理領(lǐng)域面臨的挑戰(zhàn)與解決辦法概括如表4 所示。從每類問(wèn)題存在的難點(diǎn)、技術(shù)局限以及研究趨勢(shì)與解決辦法幾方面進(jìn)行闡述。

6 總結(jié)與展望

自然語(yǔ)言處理取得了長(zhǎng)足發(fā)展,已在許多領(lǐng)域取得工業(yè)化應(yīng)用,并展現(xiàn)了一定的市場(chǎng)價(jià)值和潛力。但是,自然語(yǔ)言處理技術(shù)還存在較多瓶頸,例如在復(fù)雜語(yǔ)料上性能嚴(yán)重受限、語(yǔ)義層面難以理解句子意思。為此,本文對(duì)自然語(yǔ)言處理預(yù)訓(xùn)練技術(shù)已取得成就進(jìn)行了總結(jié),對(duì)自然語(yǔ)言的未來(lái)趨勢(shì)進(jìn)行了展望。

自然語(yǔ)言處理應(yīng)與其他相關(guān)領(lǐng)域結(jié)合:隨著神經(jīng)網(wǎng)絡(luò)的發(fā)展尤其是深度學(xué)習(xí)的興起,進(jìn)一步加強(qiáng)了自然語(yǔ)言處理與其他學(xué)科的聯(lián)系,一大批交叉技術(shù)產(chǎn)生,例如自然語(yǔ)言處理與語(yǔ)音結(jié)合進(jìn)而提高語(yǔ)音的識(shí)別性能,自然語(yǔ)言處理與圖像的結(jié)合產(chǎn)生可解釋性圖片。在接下來(lái)的研究工作中,應(yīng)加大與其他領(lǐng)域結(jié)合的范圍,讓自然語(yǔ)言處理技術(shù)的成果惠及更大范圍的同時(shí)也加速自身發(fā)展。

自然語(yǔ)言處理技術(shù)應(yīng)與其他技術(shù)結(jié)合:自然語(yǔ)言處理技術(shù)涉及數(shù)據(jù)挖掘、概率論、模式識(shí)別等相關(guān)知識(shí)??梢詫⑾嚓P(guān)技術(shù)借鑒遷移至自然語(yǔ)言處理,在一定程度上避免閉門造車。當(dāng)然,自然語(yǔ)言處理技術(shù)的發(fā)展與其他相關(guān)技術(shù)的發(fā)展是一個(gè)相互促進(jìn)的過(guò)程。

自然語(yǔ)言處理模型的輕量化:目前的自然語(yǔ)言處理技術(shù)大多依賴笨重的模型和超大的計(jì)算量來(lái)提高準(zhǔn)確度,導(dǎo)致實(shí)驗(yàn)室的準(zhǔn)確度較高但是難以投入實(shí)際應(yīng)用。研究輕量化及多次輕量化的自然語(yǔ)言處理模型有助于為自然語(yǔ)言處理技術(shù)的實(shí)際應(yīng)用提供強(qiáng)有力的支撐。

自然語(yǔ)言處理應(yīng)該設(shè)計(jì)更加合理的評(píng)判準(zhǔn)則:在一些自然語(yǔ)言處理的子領(lǐng)域(例如文本生成及機(jī)器翻譯等),基于單詞匹配的評(píng)估方法還不太合理,存在評(píng)估刻板化、單一化等現(xiàn)象。研究者們應(yīng)深入挖掘預(yù)測(cè)結(jié)果與原始語(yǔ)料之間的關(guān)系,進(jìn)而提出更好的評(píng)判指標(biāo)。就目前來(lái)說(shuō),應(yīng)該針對(duì)相關(guān)領(lǐng)域提出多元化評(píng)判指標(biāo)。

相對(duì)于圖形圖像與語(yǔ)音等領(lǐng)域,自然語(yǔ)言處理具有涉及領(lǐng)域廣、挑戰(zhàn)性大的特點(diǎn)。今后應(yīng)著重從以上幾方面開(kāi)展相關(guān)研究,實(shí)現(xiàn)自然語(yǔ)言處理技術(shù)在更大范圍投入實(shí)際生產(chǎn)生活中。

猜你喜歡
語(yǔ)料向量單詞
向量的分解
海量標(biāo)注語(yǔ)料庫(kù)智能構(gòu)建系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
聚焦“向量與三角”創(chuàng)新題
單詞連一連
淺談視頻語(yǔ)料在對(duì)外漢語(yǔ)教學(xué)中的運(yùn)用
可比語(yǔ)料庫(kù)構(gòu)建與可比度計(jì)算研究綜述
看圖填單詞
向量垂直在解析幾何中的應(yīng)用
向量五種“變身” 玩轉(zhuǎn)圓錐曲線
Playing with / i? /
安塞县| 北安市| 巴林右旗| 忻州市| 杂多县| 田东县| 岳池县| 西丰县| 西和县| 永定县| 盐津县| 顺义区| 安泽县| 彭山县| 乐亭县| 友谊县| 西平县| 宜宾市| 新乡市| 海盐县| 涟水县| 江西省| 襄垣县| 尖扎县| 峨边| 萨嘎县| 西华县| 兴海县| 莱西市| 南投县| 红安县| 本溪市| 扶沟县| 凤冈县| 伊金霍洛旗| 乐东| 邹城市| 凤翔县| 民和| 岳普湖县| 新沂市|