亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于BERT的中文多關(guān)系抽取方法研究

        2021-11-12 15:17:58黃梅根劉佳樂
        計算機(jī)工程與應(yīng)用 2021年21期
        關(guān)鍵詞:分類模型

        黃梅根,劉佳樂,劉 川

        重慶郵電大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院,重慶400065

        知識圖譜[1]是近些年非常熱門的一個研究方向,它在很多方面都取得了非常不錯的應(yīng)用效果,例如問答系統(tǒng)[2]、推薦系統(tǒng)[3]、Google的搜索等。隨著近幾年計算機(jī)網(wǎng)絡(luò)的飛速發(fā)展,產(chǎn)生了海量的數(shù)據(jù),知識圖譜可以結(jié)構(gòu)化地存儲這些數(shù)據(jù),查詢的時候也可以更全面地了解相關(guān)知識,提升搜索的深度與廣度。知識圖譜通常是由許多相關(guān)知識、類似結(jié)構(gòu)的三元組構(gòu)成的關(guān)系圖,三元組一般是由<實體-關(guān)系-實體>這種兩個節(jié)點(diǎn)包含一個關(guān)系的結(jié)構(gòu)?,F(xiàn)在關(guān)于知識圖譜構(gòu)建較為普遍的方法是通過機(jī)器學(xué)習(xí)或深度學(xué)習(xí)的方法對文本進(jìn)行處理,通過處理后得到實體與關(guān)系的三元組,在這個過程中會有許多問題,本文主要解決如下兩個問題:

        一是三元組抽取的多關(guān)系問題,且句子關(guān)系較多時往往會有其他抽取難題。如:“臺灣省,是中華人民共和國省級行政區(qū),省會臺北,地處中國大陸東南海域,由中國第一大島臺灣島和周圍屬島以及澎湖列島等島嶼組成,總面積約3.6萬平方公里?!逼渲锌梢猿槿〕?中華人民共和國-省級行政區(qū)-臺灣>,<臺灣-省會-臺北>,<臺灣-位于-大陸東南海域>,<臺灣-面積-3.6萬平方公里>等多個三元組。這些三元組中都含有“臺灣”的實體,會有實體重疊問題;<臺灣-面積-3.6萬平方公里>中兩個實體相距較遠(yuǎn),不易抽?。?中華人民共和國-省級行政區(qū)-臺灣>實體間含有從屬關(guān)系,不能抽取為<臺灣-省級行政區(qū)-中華人民共和國>;若關(guān)系詞集合中含有“位于”卻沒有“地處”那么可能不能抽取出<臺灣-位于-大陸東南海域>,或者抽取為<臺灣-地處-大陸東南海域>從而增加三元組的繁雜。面對這些問題使用傳統(tǒng)方法抽取比較復(fù)雜,而使用BCMRE可以根據(jù)多標(biāo)簽分類快速找到句子中所有的關(guān)系這就解決了多關(guān)系問題;分類同時解決了未標(biāo)注關(guān)系詞或者同義關(guān)系詞的問題,如上文的“位于”“地處”都會被歸于一類;根據(jù)關(guān)系找出對應(yīng)實體這就解決了實體重疊、實體相距較遠(yuǎn)問題;訓(xùn)練數(shù)據(jù)中的三元組含有從屬關(guān)系,通過模型訓(xùn)練就能在實體選取中完成從屬的識別。

        二是知識圖譜的研究是在國外興起的,所以針對知識圖譜問題大多使用英文數(shù)據(jù)源進(jìn)行研究,但中文有不同于英文的特點(diǎn),以中文構(gòu)建知識圖譜的過程中在進(jìn)行關(guān)系抽取時中會遇到不同于英文的問題,模型可能需要針對中文環(huán)境進(jìn)行優(yōu)化適配。

        基于以上闡述,模型使用中文數(shù)據(jù)源,對構(gòu)建知識圖譜中的多關(guān)系抽取進(jìn)行研究,并且通過模型解決多關(guān)系抽取中遇到的其他問題。

        1 相關(guān)研究

        構(gòu)建知識圖譜通常采用自然語言處理的方法提取三元組,這個過程的關(guān)鍵是對句子進(jìn)行命名實體識別(Named Entity Recognition,NER)[4]與關(guān)系抽取(Relation Extraction)[5-6]。實體關(guān)系抽取是構(gòu)建三元組的重要步驟,主要分為有監(jiān)督學(xué)習(xí)方法、半監(jiān)督學(xué)習(xí)方法和無監(jiān)督學(xué)習(xí)方法,近年來也將深度學(xué)習(xí)運(yùn)用到關(guān)系抽取任務(wù)上取得了不錯的成果[6]。有監(jiān)督學(xué)習(xí)方法早期通過基于規(guī)則的方法與基于特征的向量等方法進(jìn)行抽取[6]。Kambhatla等[7]就使用這種方法構(gòu)造向量作為輸入,建設(shè)模型。Oudah等[8]通過一定規(guī)則處理抽取任務(wù)。半監(jiān)督實體關(guān)系抽取只需要少量的標(biāo)注就可以對大量無標(biāo)注樣本進(jìn)行迭代訓(xùn)練建立模型[6]。半監(jiān)督方法在抽取任務(wù)中應(yīng)用最廣泛的就是Bootstrapping算法[9]。Glass等[10]使用這種方法進(jìn)行實體關(guān)系抽取。無監(jiān)督的學(xué)習(xí)方法不依賴標(biāo)注數(shù)據(jù),基于聚類的思想進(jìn)行抽取[6]。Hasegawa等[11]首先提出了這種思想,其他人又有一些不同程度的優(yōu)化提高。隨著深度學(xué)習(xí)在許多NLP領(lǐng)域的成功,文本的信息提取也開始使用深度學(xué)習(xí),主要分為流水線方法和聯(lián)合抽取方法。Attardi[12]使用流水線方法,這種模型通常用詞嵌入表示句子,然后標(biāo)記出的實體,再進(jìn)行關(guān)系分類,實現(xiàn)了任務(wù)流程封裝。Wang等[13]使用聯(lián)合抽取實體與關(guān)系思想,這種方法直接從句子中抽取實體與關(guān)系,聯(lián)合抽取模型雖然將抽取實體與關(guān)系作為一個任務(wù)具有不錯的效果,但是建模較為復(fù)雜,沒有流水線方法靈活。深度學(xué)習(xí)框架模型主要是基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)、遞歸神經(jīng)網(wǎng)絡(luò)(RNN)、長短時記憶網(wǎng)絡(luò)(LSTM)等。Zeng等[14]基于CNN提出了一種分段卷積神經(jīng)網(wǎng)絡(luò)(Piecewise Convolutional Neural Network,PCNN)。為了更好地處理上下文問題,提出了雙向RNN考慮當(dāng)前狀態(tài)與之前與之后狀態(tài)的關(guān)系,RNN雖然能夠處理文本之間的依賴,但當(dāng)句子很長時或者兩個實體之間相隔比較遠(yuǎn),RNN會產(chǎn)生梯度消失或者爆炸的問題。Hochreiter等[15]使用LSTM解決這個問題,以及衍生的雙向長短時記憶網(wǎng)絡(luò)(Bi-directional Long Short-Term Memory,BiLSTM)都是根據(jù)門的概念去解決這個問題。Vaswani等[16]使用注意力機(jī)制attention能更好地捕捉上下文關(guān)系。Johnson等[17]將字符嵌入、詞語嵌入、詞性嵌入以充分獲取句子的信息并采用注意力機(jī)制捕獲當(dāng)前位置與任意位置之間的內(nèi)在關(guān)系。Devlin等[18]結(jié)合之前的算法經(jīng)驗提出了BERT(Bidirectional Encoder Representations from Transformers)預(yù)訓(xùn)練模型,得益于BERT較高的靈活性,使其在以中文為數(shù)據(jù)源的場景以及多個NLP領(lǐng)域取得了較好的效果。Jiang等[19]將BERT與LSTM-CRF結(jié)合取得了優(yōu)于其他模型的效果。Lan等[20]通過優(yōu)化BERT提出了ALBERT,證明BERT具有較好的拓展性。傳統(tǒng)的方法大多是在一條語句中抽取一個三元組普通類型,提取多個三元組時效果較差,因為研究對象是多關(guān)系抽取,本文利用BERT模型的靈活性進(jìn)行優(yōu)化,使用流水線方法抽取三元組,提出一種基于BERT的多關(guān)系抽取模型BCMRE處理中文多關(guān)系抽取任務(wù)。

        2 改進(jìn)BERT多關(guān)系抽取模型BCMRE

        本文提出了一種針對多關(guān)系抽取的模型BCMRE,它由兩個任務(wù)模型串聯(lián)構(gòu)成:關(guān)系分類任務(wù)與元素抽取任務(wù)。針對不同任務(wù)兩個任務(wù)模型設(shè)計加入不同的前置模型優(yōu)化BERT模型處理任務(wù),關(guān)系分類任務(wù)負(fù)責(zé)計算可能包含的關(guān)系,對每一種關(guān)系進(jìn)行標(biāo)記并復(fù)制出一個實例,元素抽取任務(wù)再針對每一個實例生成三元組,最后組合得到所有的三元組。BCMRE模型的構(gòu)成如圖1。

        圖1 BCMRE模型Fig.1 BCMRE model

        BCMRE模型首先將數(shù)據(jù)源中的json數(shù)據(jù)通過代碼抽取出文本text、關(guān)系組合relation和用BIO編碼的分詞標(biāo)注序列l(wèi)abels,其中relation與labels如果用于訓(xùn)練就從數(shù)據(jù)源讀入,如果用于測試和驗證就使用默認(rèn)字符初始化;然后這些關(guān)系序列經(jīng)過詞向量處理模型生成各種向量,同時在這一步把訓(xùn)練數(shù)據(jù)中的分詞標(biāo)注序列l(wèi)abels輸入模型,可以更充分獲取句子信息,有利于元素抽取任務(wù)的分詞訓(xùn)練;向量生成以后為了針對不同任務(wù)進(jìn)行優(yōu)化、提取出更多特征,在BERT計算之前加入前置模型,并針對關(guān)系分類任務(wù)與元素抽取任務(wù)的區(qū)別設(shè)計了不同的前置模型;如圖2、圖3前置模型處理生成可以由BERT計算的token,再由BERT進(jìn)行編碼解碼計算,BERT計算中針對兩個任務(wù)設(shè)計有不同的詞向量輸入、不同的損失函數(shù)進(jìn)行優(yōu)化;最后通過BERT計算之后分別得到分類集合k與三元組集合Q。

        關(guān)系分類任務(wù)如圖2,元素抽取任務(wù)如圖3。

        圖2 關(guān)系分類任務(wù)Fig.2 Relationship classification task

        圖3 元素抽取任務(wù)Fig.3 Element extraction task

        2.1 詞向量構(gòu)建

        BCMRE模型首先要將數(shù)據(jù)源抽象為各種向量,然后才能交給后面的模塊處理。在BERT模型中對于中文文本是按字進(jìn)行分割的,而原數(shù)據(jù)集中文本已經(jīng)進(jìn)行了分詞,BERT的分詞方式會浪費(fèi)掉原有的分詞信息,不利于提取實體關(guān)系,所以BCMRE模型將數(shù)據(jù)集中的分詞及詞性信息以BIO編碼的方式輸入到embedding生成labels向量。labels在元素抽取任務(wù)用于分詞及分詞標(biāo)注序列的訓(xùn)練,而關(guān)系分類過程中不需要此向量,如圖2,圖3。因為關(guān)系分類任務(wù)與元素抽取任務(wù)是串聯(lián)起來的任務(wù),所以當(dāng)關(guān)系分類任務(wù)得到分類結(jié)果后需要更新詞向量,如圖3中融合詞向量。

        2.1.1 詞向量生成

        因為數(shù)據(jù)集中句子長度等問題,在詞向量中生成向量長度不一致,不利于后續(xù)算法計算,模型規(guī)定了標(biāo)準(zhǔn)長度128位。如圖2通過詞向量模型形成句子向量input(I)、填充標(biāo)識向量mask(M)、句子標(biāo)識向量segment(S)、標(biāo)簽向量relation(R)、分詞標(biāo)注序列向量labels(L);然后將I、S、M、R輸入到關(guān)系分類任務(wù)對四個向量進(jìn)行計算,得出句子可能包含的關(guān)系分類{k1,k2,…,km};如圖3,將得到的分類加上偏置值得到分類編碼{t1,t2,…,tm};詞向量處理模型通過復(fù)制并針對每個分類編碼進(jìn)行融入構(gòu)成一個新向量組I′、S′、

        模型中的四個主要向量:I′、S′、M′、L′生成的偽代碼如下:

        input:最大長度max,句子text,句子標(biāo)簽F,關(guān)系初始化r,字典vocab,偏置b

        output:句子向量I,句子標(biāo)識向量S,填充標(biāo)識向量M,分詞標(biāo)注序列向量L

        經(jīng)過上面的算法后得到句子向量I=(cls,w1,w2,…,wn,sep,t1,t2,…,tn,sep,0,0,…,0)128,從cls到sep是通過vocab字典形成的漢字編碼,接下來的ti是分類ki加偏置值b,這樣使每一個句子的每一種分類都能產(chǎn)生不同的向量,為了加強(qiáng)關(guān)系的權(quán)重會復(fù)制n個ti,后面0是填充位;M=(1,1,…,1,0,0,…,0 )128前面2?n個1代表原句子加n個ti,表示整合后的有效句子長度,最后填充0;S=( 0,0,…,0,1,1,…,1,0,0,…,0 )128前面n個0表示第一個句子后面n個1表示n個ti,最后填充0;L=(c,l1,l2,…,ln,s,r,r,…,r,0,0,…,0 )128其中的c與s是cls與sep的編碼,li是詞性信息,r是關(guān)系初始化占位,最后填充0。

        2.1.2 詞向量嵌入層

        詞向量生成之后算法再經(jīng)過嵌入層把幾個向量融合到一起進(jìn)行降維操作加快后面的計算。因為實體關(guān)系三元組抽取的過程需要考慮前后關(guān)系,如王華是李紅的丈夫,<王華-丈夫-李紅>,BERT模型中的自注意力機(jī)制(self-attention)也需要考慮整個序列的關(guān)系,所以需要位置向量。圖4左側(cè)因為句子標(biāo)識向量segment只有0與1兩種情況所以先進(jìn)行onehot操作,然后再與詞向量input統(tǒng)一成相同維度相加得到output,右側(cè)通過隨機(jī)初始化產(chǎn)生位置嵌入向量(position),通過將左側(cè)output加上右側(cè)position形成融合位置向量的詞向量,最后將這個向量進(jìn)行歸一化處理與dropout操作防止過擬合。詞向量經(jīng)過嵌入層之后就生成完畢了,接下來交給BCMRE模型的下一個模塊前置模型用于特征提取。

        圖4 嵌入層Fig.4 Embedded layer

        2.2 前置模型

        前置模型是在BERT計算之前,通過其他模型先對詞向量處理,提取出一些針對任務(wù)的特征、BERT不易提取的特征,再交給BERT用于優(yōu)化結(jié)果或者加快速度。BCMRE模型由關(guān)系分類任務(wù)與元素抽取任務(wù)串聯(lián)而成,這兩項任務(wù)都是基于BERT的分類任務(wù),但關(guān)系分類任務(wù)的側(cè)重點(diǎn)在于對于句子進(jìn)行多種關(guān)系分類,屬于一個多標(biāo)簽分類任務(wù),更依賴模型的分類效果;元素抽取任務(wù)需要先對于句子分詞及詞性預(yù)測,然后根據(jù)每一種關(guān)系抽取實體詞組合成一個完整的三元組,屬于一個多類分類的單標(biāo)簽任務(wù),會需要模型有優(yōu)秀的分詞效果。根據(jù)這兩項任務(wù)的不同,模型中不僅設(shè)計了不同的損失函數(shù),而且添加了不同的前置模型處理詞向量,處理后再交給BERT處理計算,以優(yōu)化模型的效果。模型中添加了兩種前置模型:為了更好的分類,模型基于AGCNN[21]實現(xiàn)了句子分類器;為了分詞標(biāo)注序列預(yù)測,模型調(diào)用了BERT中的BiLSTM與CRF進(jìn)行處理,前置模型具體處理方法如下。

        2.2.1 前置模型AGCNN

        為了更好的分類,BCMRE在關(guān)系分類任務(wù)生成詞向量之后使用AGCNN進(jìn)行前置處理后再使用BERT計算。AGCNN模型是基于CNN提出的,所以對網(wǎng)絡(luò)位置信息不敏感,為了解決這個問題本層將詞向量input與位置向量position通過embedding融合后的帶位置向量的詞向量輸入網(wǎng)絡(luò)進(jìn)行處理。通過拼接融合位置向量AGCNN的處理之后能夠?qū)⒕渥又械年P(guān)系詞相關(guān)特征、權(quán)重更好的表達(dá)出來。AGCNN的構(gòu)成方式為Attention(注意力機(jī)制)、Gated Linear Units(門控線性單元)、Convolutional Neural Network(卷積神經(jīng)網(wǎng)絡(luò))。模型中用的注意力機(jī)制與卷積神經(jīng)網(wǎng)絡(luò)使用的較多,而且在BCMRE中的BERT處理也用到了這些機(jī)制,所以接下來著重介紹門控線性單元,它具有控制詞權(quán)重特征的作用。Gated Linear Units簡稱GLU,它可以調(diào)節(jié)上下文窗口,GLU通過控制目標(biāo)詞或句段特征的影響查找真正對結(jié)果重要的特征,計算公式如下:

        Y=Conv1D1(X)?sigmoid(Conv1D2(X))

        上述公式中Y表示對于每個元素進(jìn)行兩個權(quán)值不同的卷積,Conv1D1與Conv1D2是兩個形式一樣,但權(quán)值不同的卷積核。其中一個卷積結(jié)果通過sigmoid函數(shù)進(jìn)行激活作為另一個卷積的gate,類似于LSTM的gata機(jī)制,用于控制哪些信息可以通過,哪些信息不可以通過,然后將這兩個計算結(jié)果進(jìn)行點(diǎn)乘運(yùn)算后得到結(jié)果。

        GLU在這一步加入殘差網(wǎng)絡(luò)用來保證信息的多通道傳輸,于是可將公式更新如下:

        Y=X+Conv1D1(X)?sigmoid(Conv1D2(X))

        經(jīng)過如下進(jìn)一步推導(dǎo)可以更清楚地看到信息傳遞過程:

        公式(2)通過sigmoid函數(shù)進(jìn)行激活輸出的值域為(0,1),δ即是該信息的通過的概率,通過公式(1)看出信息以1-δ的概率直接通過,以δ的概率經(jīng)過變換后通過。通過這樣的計算方式能更好地提取出文本中分類詞匯與周圍詞的關(guān)系,從而更好地表述向量特征,然后再進(jìn)入BERT計算實現(xiàn)更好的分類。

        2.2.2前置模型BiLSTM與CRF

        為了進(jìn)行分詞及對詞性信息分類,BCMR在元素抽取任務(wù)中調(diào)用BERT的函數(shù)加入前置模型BiLSTM與CRF,在詞向量生成之后通過BiLSTM與CRF基于神經(jīng)網(wǎng)絡(luò)與規(guī)則進(jìn)行分詞特征提取,然后再用BERT進(jìn)行詞性分類。這一步元素抽取任務(wù)通過輸入的input向量與mask向量計算出實際長度,過濾掉填充位,再輸入到BiLSTM與CRF層。其中BiLSTM是通過神經(jīng)網(wǎng)絡(luò)構(gòu)建雙向LSTM捕捉到較長句子中字或詞的依賴關(guān)系,而CRF主要負(fù)責(zé)進(jìn)行一定的規(guī)則上的處理,增加一些約束條件,過濾掉可能性小的分類。根據(jù)訓(xùn)練集中的詞性類別,算法初始化生成對應(yīng)的轉(zhuǎn)移矩陣,然后使用似然函數(shù)得到最可能的分詞標(biāo)注序列。通過BiLSTM與CRF前置模型可以更好地提取分詞特征,從而優(yōu)化BERT的分詞性能,實現(xiàn)更好的關(guān)系元素提取效果。

        2.3 BERT計算與處理

        2.3.1 編碼解碼層

        BCMRE模型在前置模型處理詞向量提取相應(yīng)特征后就可以交由BERT計算處理。在BERT中利用多頭(Multi-Head)與自注意力機(jī)制(self-attention)充分提取句子中得特征信息。多頭與自注意力機(jī)制的運(yùn)算時通過三個向量Query(Q)、Key(K)、Value(V),這三個向量通過隨機(jī)初始化的矩陣W與嵌入層的向量進(jìn)行矩陣相乘得到,然后隨著訓(xùn)練過程的進(jìn)行不斷進(jìn)行更新優(yōu)化。在計算詞向量的時候使用的Q、K、V三個向量與隨機(jī)初始化的矩陣有關(guān),而多頭機(jī)制可以初始化產(chǎn)生h個WQ、WK、WV。初始化矩陣的不同可以讓每個頭的運(yùn)算得到的特征向量的表達(dá)也不同,結(jié)果進(jìn)行整合處理得到最終的特征向量Z,這樣多次產(chǎn)生初始化矩陣W可以使模型更充分地學(xué)習(xí)到句子內(nèi)部結(jié)構(gòu)。

        BCMRE模型通過多頭與自注意力機(jī)制提取特征信息,然后由前饋神經(jīng)網(wǎng)絡(luò)(Feed-Forward Neural Networks)進(jìn)行并行加速計算得到特征向量Z。由于在計算的過程中可能會導(dǎo)致某些特征丟失,所以模型在multi-head與self-attention計算完后會加一個殘差連接并進(jìn)行歸一化(Layer normalization)操作,這樣就形成了編碼層(encoder),這個過程需要迭代N次優(yōu)化效果,所以會有多個編碼層。解碼層(decoder)與編碼層結(jié)構(gòu)是基本一致的,并且也需要N層解碼層對應(yīng)。解碼層在多頭計算Q、K、V的時候解碼層需要能過濾掉模型中向量的填充位,公式如下:

        s=softmax((w-1)?inf) (3)

        公式(3)用于過濾填充位,如果之前填充0,通過減一乘無窮得到負(fù)無窮,softmax負(fù)無窮的結(jié)果趨于0,就不會影響整體結(jié)果。

        2.3.2 損失函數(shù)

        BCMRE中關(guān)系分類任務(wù)與元素抽取任務(wù)目的不同,關(guān)系分類任務(wù)需要對一個句子預(yù)測出多種或一種關(guān)系類別,只需要一個損失函數(shù)針對關(guān)系類別進(jìn)行預(yù)測優(yōu)化;元素抽取任務(wù)針對每一種關(guān)系進(jìn)行三元組抽取,既需要對整個句子進(jìn)行分詞及詞性預(yù)測又需要針對當(dāng)前關(guān)系預(yù)測對應(yīng)實體,損失函數(shù)是同時對分詞及詞性預(yù)測與三元組預(yù)測兩項任務(wù)控制,所以有損失函數(shù)包含兩項。

        關(guān)系分類任務(wù)中的關(guān)系預(yù)測是一個多標(biāo)簽分類的任務(wù),模型使用sigmoid作為損失函數(shù),損失函數(shù)L1的定義如下:

        其中,y=inputs,pi=sigmoid(logitsi)=(1+exp(-logitsi))-1,是交叉熵。

        元素抽取任務(wù)是多類分類的任務(wù),模型使用softmax作為損失函數(shù),元素抽取任務(wù)得到預(yù)測關(guān)系的損失函數(shù)L2與預(yù)測序列的損失函數(shù)L3相加后得到最終損失函數(shù)L4進(jìn)行訓(xùn)練,損失函數(shù)L4定義如下:

        其中,y=pre_labels,δ=0.5,pi=softmax(pre_logitsi),z=token_labels,qi=log(soft max(token_logitsi))。

        3 實驗與分析

        3.1 數(shù)據(jù)集

        數(shù)據(jù)集選自2019語言與智能技術(shù)競賽,其中包含20萬條來自百度百科的中文文本。數(shù)據(jù)集中一條數(shù)據(jù)包含自然語言句子,所有的三元組,分詞標(biāo)注序列。這些三元組包含有的約束概念,意味著三元組的屬性有先后的從屬關(guān)系。實驗對數(shù)據(jù)按80%做訓(xùn)練集,10%做驗證集,10%做測試集進(jìn)行分配。

        3.2 實驗環(huán)境及參數(shù)設(shè)置

        算法的實驗環(huán)境操作系統(tǒng)是Ubuntu20,使用的語言是Python3.7,BERT中文預(yù)訓(xùn)練語言模型使用chinese_L-12_H-768_A-12,深度學(xué)習(xí)框架tensorflow1.15。句子最大長度設(shè)定為128,訓(xùn)練時的batch_size為8,分類概率閾值為0.5,學(xué)習(xí)率(Learning rate)2E?5,多頭注意力有12層,多頭數(shù)量有12個,為了防止過擬合,算法中多處加入dropout,其中dropout rate為0.1,關(guān)系分類任務(wù)與元素抽取任務(wù)上面參數(shù)都相同,但是關(guān)系分類任務(wù)epochs設(shè)定是6,元素抽取任務(wù)因為更復(fù)雜需要訓(xùn)練更

        久,所以epochs設(shè)定是9。

        3.3 實驗結(jié)果評估與分析

        本文使用準(zhǔn)確率(Precision),召回率(Recall)和F1值評估模型的效果,準(zhǔn)確率等于正確預(yù)測的數(shù)量/預(yù)測為正確的數(shù)量,召回率等于正確預(yù)測的數(shù)量/原本正確的數(shù)量,F(xiàn)1是一種較為均衡的評估方法,計算方式是2×Recall×Precision/(Recall+Precision)。模型經(jīng)過多次訓(xùn)練后F1值逐步提升,關(guān)系分類任務(wù)訓(xùn)練2萬次后提升不明顯,元素抽取任務(wù)訓(xùn)練3萬次后提升不明顯,訓(xùn)練次數(shù)對模型整體效果的影響實驗結(jié)果如圖5。

        圖5 訓(xùn)練次數(shù)對整體效果的影響Fig.5 Impact of training times on overall results

        BCMRE是由關(guān)系分類與元素抽取兩項任務(wù)串聯(lián)組成,所以任何一個任務(wù)效果不好都會影響到最終結(jié)果。本文針對不同的任務(wù)進(jìn)行分析加入了不同的前置模型,根據(jù)圖5的結(jié)果,不同前置模型的訓(xùn)練次數(shù)也基本在2到3萬次。通過實驗對兩項任務(wù)交叉添加前置模型,然后經(jīng)過實驗記錄F1的值如表1。

        表1 不同任務(wù)不同前置模型效果Table 1 Different pre-model effects for different tasks

        表1 的目的是為了針對任務(wù)選擇合適的前置模型,不含有前置模型的BERT-base在表2的對比中有描述。這里是通過提取出實驗的中間數(shù)據(jù)作為參數(shù),然后對于兩個任務(wù)添加不同的前置模型進(jìn)行效果對比。從表1中可以看出最好的前置模型與任務(wù)的組合是AGCNN/BiLSTM-CRF即在分類任務(wù)中添加AGCNN前置模型,元素抽取任務(wù)添加BiLSTM-CRF前置模型。這與本文之前的分析是對應(yīng)的,因為模型在開始的時候添加的前置模型都是BiLSTM-CRF,通過后來的研究,針對關(guān)系分類任務(wù)設(shè)計添加了單獨(dú)的分類模型AGCNN。從表1中也能看出BiLSTM-CRF在關(guān)系分類中也有不錯的表現(xiàn),這可能是因為BiLSTM-CRF在分詞與實體抽取這類任務(wù)做的比較好,能通過詞之間的聯(lián)系實現(xiàn)較好的分類,但仍沒有分類模型AGCNN效果好,這也證明BCMRE添加的前置模型正確性。

        BCMRE是針對中文文本的多關(guān)系抽取任務(wù),比較難找到統(tǒng)一對比的數(shù)據(jù)集與經(jīng)典的算法。為了進(jìn)一步驗證模型性能,在基于本文的數(shù)據(jù)集基礎(chǔ)上,模型將兩項任務(wù)分別與fine-tuning之后的BERT-base、神經(jīng)網(wǎng)絡(luò)模型Lattice-BiLSTM-CRF等進(jìn)行對比,效果如表2。

        從表2中可以看出Lattice-BiLSTM-CRF在兩項任務(wù)中都沒有取得較好的效果,說明單純的神經(jīng)網(wǎng)絡(luò)模型即使加入了BiLSTM-CRF讓模型學(xué)習(xí)語義結(jié)構(gòu)仍不能勝任這種復(fù)雜的任務(wù);BERT-base僅僅在做了fine-tuning的操作整體效果上不錯,在準(zhǔn)確率方面關(guān)系分類中比Lattice-BiLSTM-CRF有7%的提升,而元素抽取只比Lattice-BiLSTM-CRF提升3%,可能是因為沒有BERT默認(rèn)按字為單位處理,導(dǎo)致在語義表達(dá)上不能取得較好的效果,從而生成三元組的能力較差;基于BERT的模型中加入前置模型BiLSTM-CRF以處理語義表達(dá)關(guān)系,在元素抽取模型中有較為明顯的提升,證明了BiLSTMCRF能提升分詞效果,也證明了添加前置模型能解決BERT的不足;同時可以看到ALBERT相比傳統(tǒng)BERT在F1上低2%左右,可能因為較為精簡的ALBERT不適合處理這種復(fù)雜的情況;最后BCMRE關(guān)系分類任務(wù)中添加前置模型AGCNN使得關(guān)系分類的效果進(jìn)一步提升,同時對應(yīng)可以看到添加AGCNN后召回率提升4%~9%而準(zhǔn)確率提升3%左右,說明了模型提取所有三元組的能力顯著提高,這是因為在關(guān)系分類中前置模型AGCNN能做得更好,同時在元素抽取任務(wù)中使用BiLSTM-CRF用來分析語義詞性,可以看到添加對應(yīng)的前置模型后BCMRE在各方面性能都有了較大的提升。

        表2 不同模型關(guān)系分類/元素抽取的效果Table 2 Effect of different model relationship classification/element extraction

        4 結(jié)束語

        為了研究中文知識圖譜的構(gòu)建,本文提出了一種基于BERT的多關(guān)系抽取模型BCMRE,將多關(guān)系抽取分為關(guān)系分類與元素抽取兩項任務(wù)串聯(lián)處理。本文的創(chuàng)新點(diǎn)在于針對兩項任務(wù)不同的特點(diǎn)分別加入前置模型ADGCNN與BiLSTM-CRF用于提取針對任務(wù)的特征、BERT不易提取的特征,加入labels向量,優(yōu)化BERT處理過程,最后通過實驗證明了前置模型的正確性與有效性。

        BCMRE由兩項任務(wù)模型串聯(lián)構(gòu)成,體量較大,訓(xùn)練起來比較耗時,將來會考慮優(yōu)化模型復(fù)雜度,減少訓(xùn)練時間;而且本次的模型沒有去考慮在某些領(lǐng)域的專用詞語,關(guān)系類別較少,如果可以后面會考慮獲取一些特定領(lǐng)域的數(shù)據(jù)進(jìn)行處理,優(yōu)化模型以產(chǎn)生實用價值。

        猜你喜歡
        分類模型
        一半模型
        分類算一算
        垃圾分類的困惑你有嗎
        大眾健康(2021年6期)2021-06-08 19:30:06
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
        分類討論求坐標(biāo)
        數(shù)據(jù)分析中的分類討論
        教你一招:數(shù)的分類
        3D打印中的模型分割與打包
        FLUKA幾何模型到CAD幾何模型轉(zhuǎn)換方法初步研究
        国产伦理一区二区久久精品| 欧美整片第一页| 亚洲色婷婷综合开心网| 国产精品自拍视频在线| 免费啪啪av人妻一区二区| 国产av一区二区日夜精品剧情| 国产亚洲aⅴ在线电影| 蜜臀av性久久久久蜜臀aⅴ| 国产亚洲欧美日韩综合综合二区 | 99国产精品无码专区| 亚洲av一二三四五区在线| 青青草免费在线爽视频| 国产网红主播无码精品| 麻豆高清免费国产一区| 女人的天堂av免费看| 日本午夜理论一区二区在线观看| 久久99国产精品久久| 无码专区天天躁天天躁在线| 亚洲欧美日本人成在线观看| 国产精品一区二区熟女不卡| 少妇激情一区二区三区视频 | 亚洲一区二区三区熟妇| 成人做爰69片免费看网站野花| 法国啄木乌av片在线播放| 亚洲日韩AV秘 无码一区二区 | 国产一区二区三区免费观看在线 | 亚洲av免费看一区二区三区| 四虎成人精品在永久免费| 国产成本人片无码免费2020| 精品视频999| 精品人妻一区二区视频| 亚洲人精品午夜射精日韩| 久久久久亚洲av无码专区| 国产美女三级视频网站| 日韩极品视频免费观看| 精品亚洲成在人线av无码| 中文字幕精品一二三区| 蕾丝女同一区二区三区| 久久精品欧美日韩精品| 亚洲AⅤ精品一区二区三区| 精品国产a毛片久久久av|