• <thead id="boppf"></thead>

        <bdo id="boppf"></bdo><center id="boppf"></center>
        深蘭科技

        賽道 | 深蘭科技折桂 2021SemEval,雙賽道比拼中獲得“兩冠一亞”

        2021-08-01

        SemEval是由國際計算語言學(xué)協(xié)會(Association for Computational Linguistics,ACL)主辦的國際語義評測大賽, SemEval是全球范圍內(nèi)影響力最強(qiáng)、規(guī)模最大、參賽人數(shù)最多的語義評測競賽。自2001年起,SemEval已成功舉辦十五屆,吸引了卡內(nèi)基梅隆大學(xué)、哈工大、中科院、微軟和百度等國內(nèi)外一流高校、頂級科研機(jī)構(gòu)和知名企業(yè)參與。

        8 月 1 日- 6 日,SemEval2021與ACL-IJCNLP 2021 在泰國曼谷共同舉辦。深蘭科技作為人工智能頭部企業(yè),參加了“詞匯復(fù)雜度預(yù)測(任務(wù)一)”和“幽默性和冒犯性文本識別與評估(任務(wù)七)”兩個大任務(wù)中的6個子任務(wù),最終獲得2項第一、1項第二、1項第三,共計4項top3。團(tuán)隊在賽事中運(yùn)用的相關(guān)技術(shù)和模型已成功應(yīng)用于公司的自動化機(jī)器學(xué)習(xí)平臺中。

        undefined

        賽事介紹

        任務(wù)一Lexical Complexity Prediction (LCP)

        任務(wù)一為上下文中詞匯的復(fù)雜度預(yù)測任務(wù),任務(wù)分為兩個子任務(wù),子任務(wù)1為預(yù)測單個單詞的復(fù)雜度,子任務(wù)2為預(yù)測詞組(多詞表達(dá))的復(fù)雜度。其中數(shù)據(jù)樣例如下:

        undefined

        Table 1 數(shù)據(jù)樣例

        結(jié)合數(shù)據(jù)可以看出當(dāng)前任務(wù)為一個回歸任務(wù),即基于上下文預(yù)測給定詞匯的復(fù)雜度,深蘭團(tuán)隊在兩個子任務(wù)的排名如下,團(tuán)隊在子任務(wù)1獲得了第二名,在子任務(wù)2中獲得了第一名。

        undefined

        子任務(wù)1 成績排名

        undefined

        子任務(wù)2 成績排名


        任務(wù)七HaHackathon: Detecting and Rating Humor and Offense

        任務(wù)七為幽默性和冒犯性文本識別與評估任務(wù),也是首次將幽默性和冒犯性識別結(jié)合起來的任務(wù),因為文本對一些用戶來說是幽默的,但是對其他用戶來說可能是冒犯的,舉辦方共將任務(wù)劃分為幽默性識別和冒犯性識別,其中幽默性識別又被劃分為三個子任務(wù),共計4個子任務(wù),分別為:

        子任務(wù)1a:預(yù)測文本是否會被視為幽默,為二分類任務(wù);

        子任務(wù)1b:如果文本被歸類為幽默,預(yù)測它的幽默程度,為回歸任務(wù);

        子任務(wù)1c:如果文本被歸類為幽默,預(yù)測當(dāng)前幽默評級是否有爭議,二分類任務(wù);

        子任務(wù)2a:預(yù)測文本的冒犯程度,為回歸任務(wù)

        深蘭團(tuán)隊同時參加了4個任務(wù),其中在任務(wù)1a、1c、2a取得了較好的成績,在子任務(wù)2a中獲得了第一名,在子任務(wù)1a中獲得了第三名,在子任務(wù)1c中獲得了第五名。

        undefined

        Task 1a

        undefined

        Task 2a

        方案

        上述幾個任務(wù)都是標(biāo)準(zhǔn)的分類任務(wù)或者回歸任務(wù),深蘭團(tuán)隊采取了統(tǒng)一的模型和訓(xùn)練方案,半自動化的完成模型的訓(xùn)練和融合。模型采用當(dāng)前主流的預(yù)訓(xùn)練模型,如BERT,基于預(yù)訓(xùn)練模型構(gòu)建分類和回歸模型,模型圖如下:

        undefined

        模型圖

        模型主要分為以下幾個部分,文本輸入、CLS向量加權(quán)平均、全連接、Multi-sample dropout:

        文本輸入針對句子級別分類或者回歸模型,一般為單個句子輸入或者兩個句子。例如對于上述Task7為單個句子輸入,而對于Task1則需要變成兩個句子輸入,句子一為待識別的詞,句子二為上下文文本。

        BERT有兩個特殊的標(biāo)示符,分別是[CLS]、[SEP],其中[CLS]在訓(xùn)練的時候,用在Next Sentence Prediction任務(wù)上,[CLS]可以代表整個句子的語義表示,[CLS]通常用在句子級別的分類任務(wù)上。當(dāng)前任務(wù)也是句子級別的分類任務(wù),深蘭團(tuán)隊的模型也是采取[CLS]位置的向量進(jìn)行分類。為了提取更深層次的語義特征,深蘭團(tuán)隊不僅僅用BERT最后一層的輸出,而是選取多層[CLS]位置向量進(jìn)行加權(quán)平均,來代表整個句子的語義表示。

        Multi-sample dropout 是dropout的一種變種,傳統(tǒng) dropout 在每輪訓(xùn)練時會從輸入中隨機(jī)選擇一組樣本(稱之為 dropout 樣本),而 multi-sample dropout 會創(chuàng)建多個 dropout 樣本,然后平均所有樣本的損失,從而得到最終的損失,multi-sample dropout 共享中間的全連接層權(quán)重。通過綜合 M個dropout 樣本的損失來更新網(wǎng)絡(luò)參數(shù),使得最終損失比任何一個 dropout 樣本的損失都低。這樣做的效果類似于對一個minibatch中的每個輸入重復(fù)訓(xùn)練 M 次。因此,它大大減少訓(xùn)練迭代次數(shù),從而大幅加快訓(xùn)練速度。由于大部分運(yùn)算發(fā)生在 dropout 層之前的BERT層中,Multi-sample dropout 并不會重復(fù)這些計算,對每次迭代的計算成本影響不大。實驗表明,multi-sample dropout 還可以降低訓(xùn)練集和驗證集的錯誤率和損失。

        損失函數(shù),當(dāng)前模型可以適用于分類和回歸任務(wù),只需改變損失函數(shù)即可,對于分類任務(wù)主要采用的損失函數(shù)為Cross Entropy 、Binary Cross Entropy、focal loss等,對于回歸任務(wù)主要采用的損失函數(shù)為均方誤差(Mean Square Error, MSE)、平均絕對誤差(Mean Absolute Error, MAE)等。

        方案流程解讀

        基于上述模型,深蘭的方案流程為:

        1、選擇合適的預(yù)訓(xùn)練模型,首先基于構(gòu)建好的baseline選取多種預(yù)訓(xùn)練模型進(jìn)行測試,如BERT、RoBERTa、ALBERT、ERNIE等,之后選取最好的或者幾個比較好的預(yù)訓(xùn)練模型。

        2、領(lǐng)域自適應(yīng)預(yù)訓(xùn)練(DAPT),利用在所屬的領(lǐng)域數(shù)據(jù)上繼續(xù)預(yù)訓(xùn)練,例如針對Task1,數(shù)據(jù)主要來源為醫(yī)療、圣經(jīng)、歐洲議會記錄,則選擇這幾個領(lǐng)域的數(shù)據(jù)繼續(xù)進(jìn)行掩碼語言模型任務(wù)(MLM),提升預(yù)訓(xùn)練模型在當(dāng)前領(lǐng)域上的性能。

        3、任務(wù)自適應(yīng)預(yù)訓(xùn)練(TAPT),在當(dāng)前和任務(wù)相關(guān)的數(shù)據(jù)集上進(jìn)行掩碼語言模型(MLM)訓(xùn)練提升預(yù)訓(xùn)練模型在當(dāng)前數(shù)據(jù)集上的性能。

        4、對抗訓(xùn)練,對抗訓(xùn)練是一種引入噪聲的訓(xùn)練方式,可以對參數(shù)進(jìn)行正則化,從而提升模型的魯棒性和泛化能力。深蘭團(tuán)隊采用FGM(Fast Gradient Method),通過在嵌入層加入擾動,從而獲得更穩(wěn)定的單詞表示形式和更通用的模型,以此提升模型效果。

        5、偽標(biāo)簽,將測試集打上標(biāo)簽,并加入到訓(xùn)練集中,增大訓(xùn)練集的數(shù)量,提升最后的效果。

        6、知識蒸餾,知識蒸餾由Hinton在2015年提出,主要應(yīng)用在模型壓縮上,通過知識蒸餾將大模型所學(xué)習(xí)到的有用信息來訓(xùn)練小模型,在保證性能差不多的情況下進(jìn)行模型壓縮。深蘭團(tuán)隊將利用模型壓縮的思想,采用模型融合的方案,融合多個不同的模型作為teacher模型,將要訓(xùn)練的作為student模型。

        7、模型融合,為了更好地利用數(shù)據(jù),深蘭團(tuán)隊采用7折交叉驗證,針對每個會使用了多種預(yù)訓(xùn)練模型,又通過改變不同的參數(shù)隨機(jī)數(shù)種子以及不同的訓(xùn)練策略訓(xùn)練了多個模型。最后采用線性回歸、邏輯回歸等機(jī)器學(xué)習(xí)模型進(jìn)行融合。

        總 結(jié)

        利用上述構(gòu)建的框架,深蘭團(tuán)隊參加了任務(wù)一和任務(wù)7共計6個子任務(wù),獲得了4項獎項,充分證明了方案的可行性,并且當(dāng)前方案相關(guān)技術(shù)以及模型成功應(yīng)用于公司的自動化機(jī)器學(xué)習(xí)平臺中,深蘭自動化機(jī)器學(xué)習(xí)平臺以低門檻、廣覆蓋、高精度、少成本的優(yōu)勢,為各個行業(yè)領(lǐng)域提供核心算法。

        Document

      1. <thead id="boppf"></thead>

            <bdo id="boppf"></bdo><center id="boppf"></center>