曹恒 陳宇璇
摘要:為了豐富建筑領(lǐng)域的知識(shí)圖譜,讓建筑領(lǐng)域的研究學(xué)者可以更直觀地看出近些年國(guó)內(nèi)研究現(xiàn)狀,該文嘗試從改善知識(shí)圖譜構(gòu)建過程中三元組的抽取工作。關(guān)系抽取作為自然語(yǔ)言處理領(lǐng)域的一大難點(diǎn),尤其是在處理非結(jié)構(gòu)化文本方面。該文基于深度學(xué)習(xí)的PCNN神經(jīng)網(wǎng)絡(luò)模型,進(jìn)行短文本處理,獲取三元組數(shù)據(jù),為后續(xù)搭建知識(shí)圖譜做鋪墊。該文也是致力于能夠更好地提升關(guān)系抽取的效率,為從事建筑行業(yè)研究人員或其他領(lǐng)域的文本抽取研究提供了實(shí)際意義。
關(guān)鍵詞:知識(shí)圖譜;關(guān)系抽取;深度學(xué)習(xí);神經(jīng)網(wǎng)絡(luò);PCNN
中圖分類號(hào):TP181? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2022)22-0052-03
1 概述
文章從建筑類文章入手,并運(yùn)用了深度學(xué)習(xí)的關(guān)系抽取技術(shù),抽取出實(shí)體對(duì),為構(gòu)建建筑類知識(shí)圖譜做好準(zhǔn)備[1]。文本格式通常是非結(jié)構(gòu)化數(shù)據(jù),目的是在非結(jié)構(gòu)化文本中抽取出結(jié)構(gòu)性數(shù)據(jù)信息,而關(guān)系抽取則在整個(gè)流程中起到至關(guān)重要的作用,也是技術(shù)難點(diǎn)。本文主要根據(jù)建筑類文本實(shí)體關(guān)聯(lián)提取,首先使用PCNN建模結(jié)合了定位信息和詞本體的語(yǔ)義信息,而后再完成建筑文本的關(guān)聯(lián)提取。隨后,完成了實(shí)體識(shí)別,辨識(shí)出語(yǔ)句中的兩個(gè)實(shí)體,接著PCNN再把整個(gè)語(yǔ)句分為三段卷積,之后再采用分段最大池化方法捕獲結(jié)構(gòu)化信息,最后的抽取任務(wù)由softmax分類器來(lái)完成。另外,為了增強(qiáng)模型處理任務(wù)的性能,針對(duì)中文文本的特征,使用分詞工具jieba對(duì)文本進(jìn)行分詞,調(diào)整并完善PCNN建模。通過實(shí)驗(yàn)結(jié)果對(duì)比發(fā)現(xiàn),完善后的PCNN模型處理中文文本時(shí),能夠有效地降低對(duì)人工的依賴性。
2 常見關(guān)系抽取方法的介紹
2.1 基于規(guī)則的方法
該方法主要通過經(jīng)驗(yàn)建立領(lǐng)域知識(shí)規(guī)則[2],利用模式匹配的方法完成抽取任務(wù),該方法有明顯的性能弊端,如跨應(yīng)用領(lǐng)域的可移植性、召回率、時(shí)間成本等方面都太理想。
2.2 基于機(jī)器學(xué)習(xí)的方法
該方法是依靠人工篩選特征向量[3],需要大量的學(xué)科領(lǐng)域知識(shí),不利于推廣使用。
2.3 基于深度學(xué)習(xí)的方法
該方法主要有三類,首先是有監(jiān)督的方法,有監(jiān)督方法的優(yōu)點(diǎn)是利用神經(jīng)網(wǎng)絡(luò)模式實(shí)現(xiàn)特征關(guān)聯(lián)提取,并且能夠減少人工的特征,對(duì)于大量的特征可以采用自動(dòng)學(xué)習(xí)方法實(shí)現(xiàn)提取,但是對(duì)于大量沒有標(biāo)記的特征數(shù)據(jù)效率并不理想。其次是預(yù)測(cè)模式BERT,BERT是一種預(yù)訓(xùn)練語(yǔ)句表示模式,優(yōu)點(diǎn)在于通過上下文信息獲取整個(gè)句子的語(yǔ)義結(jié)構(gòu),將訓(xùn)練后知識(shí)運(yùn)用于關(guān)系提取。該方法不擅長(zhǎng)處理長(zhǎng)文本,并且無(wú)法高效地解決一詞多義的問題。最后是遠(yuǎn)程監(jiān)督的方法,優(yōu)點(diǎn)就是可以自動(dòng)抽取大量的實(shí)體對(duì),從而降低對(duì)人工對(duì)象的依賴性,具有較好的可移植性[4]。
3 常見關(guān)系抽取模型介紹
3.1 采用基于卷積神經(jīng)網(wǎng)絡(luò)CNN 的關(guān)系抽取模型
通過卷積神經(jīng)網(wǎng)絡(luò)CNN實(shí)現(xiàn)了關(guān)系提取,以便進(jìn)行語(yǔ)句的特征向量的表示,首先是提取每個(gè)語(yǔ)句中最關(guān)鍵的特點(diǎn),并進(jìn)行最終劃分[5]。利用卷積神經(jīng)網(wǎng)絡(luò)CNN,為了把語(yǔ)句中的關(guān)系詞轉(zhuǎn)換為詞矢量,實(shí)現(xiàn)了預(yù)訓(xùn)練和隨機(jī)初始化的embedding,同時(shí)還根據(jù)語(yǔ)句中的實(shí)體詞、上下文相對(duì)地址表示實(shí)體詞的地址矢量。接著利用卷積神經(jīng)網(wǎng)絡(luò)CNN提取出語(yǔ)句級(jí)別的特點(diǎn),并利用池化方法獲得了縮小后的特征向量表。最后,通過一個(gè)全連接的神經(jīng)網(wǎng)絡(luò)層處理所獲取的特征向量,并對(duì)語(yǔ)句中所表達(dá)的關(guān)聯(lián)進(jìn)行了劃分。不過由于卷積計(jì)算神經(jīng)網(wǎng)絡(luò)CNN也有明顯的缺點(diǎn),因?yàn)槠渚矸e核是固定的,所以,若僅利用卷積計(jì)算神經(jīng)網(wǎng)絡(luò)CNN簡(jiǎn)單地進(jìn)行實(shí)體關(guān)系提取,易導(dǎo)致對(duì)句中詞的上下文語(yǔ)義重提取不完整。
3.2 采用基于遞歸神經(jīng)網(wǎng)絡(luò) RNN 的關(guān)系抽取模型
與卷積式神經(jīng)網(wǎng)絡(luò)CNN網(wǎng)絡(luò)的提取句子特征方法不同,遞歸神經(jīng)網(wǎng)絡(luò)RNN模型則主要使用雙向LSTM網(wǎng)絡(luò)來(lái)提取語(yǔ)句的特征[6]。為使模擬的輸入能夠表現(xiàn)出較為充分的上下文語(yǔ)義信息,可以加入Attention機(jī)制對(duì)輸出詞的特征向量加以權(quán)重,再利用自注意力機(jī)制對(duì)輸入的詞向量加以計(jì)算,就能夠獲取新的詞向量,最后得到具有偏向性質(zhì)的詞矢量表示。然后再把得到的詞矢量注入全連接的神經(jīng)網(wǎng)絡(luò)層中,以完成相對(duì)關(guān)系的分析。
3.3 采用基于 Capsule 的關(guān)系抽取模型
模型的主要思想是,被處理的句子與計(jì)算機(jī)之間,應(yīng)該有一整套激活的神經(jīng)元來(lái)表示,這樣才可以更好地表示出句子里實(shí)體坐標(biāo)。把坐標(biāo)系作為先驗(yàn)知識(shí),而卷積神經(jīng)網(wǎng)絡(luò)沒有類似坐標(biāo)的概念。Capsule模型首先是預(yù)處理語(yǔ)句,然后利用經(jīng)過預(yù)訓(xùn)練的embedding分析句中的所有單詞,并得出詞向量;最后為獲得粗粒度的句子特征表示結(jié)論,利用了BiLSTM網(wǎng)絡(luò),接著再將得出的結(jié)論注入膠囊網(wǎng)絡(luò)系統(tǒng)中[7]。利用構(gòu)造出的primary capsule獲得與分類結(jié)果相符的輸出膠囊,而分類結(jié)果的概率大小則利用膠囊的模長(zhǎng)表達(dá)。
3.4 采用基于 Transformer 的關(guān)系抽取模型
Transformer模式是用全Attention的結(jié)構(gòu)代替了LSTM,由Google公司為解答Seq2Seq提問而發(fā)明的,計(jì)算速度更快,起初在翻譯任務(wù)上取得了不錯(cuò)的效果。該關(guān)系抽取模型首先需要編碼句子的信息,使用的是Transformer 的 encoder 部分[8]。為了不斷抽取句子中的重要特征,使用的是multi-head attention 模塊。為了把從注意力層獲得的產(chǎn)出與投入拼接到儀器上進(jìn)行正則化,采用殘差網(wǎng)絡(luò)的疊加方式。這樣的方法可實(shí)現(xiàn)多層堆疊,進(jìn)而更有效地抽文本信息。最后利用每一級(jí)的全連接層整合Transformer的結(jié)果,得出了最終的分類效果。
3.5 采用基于 GCN 的關(guān)系抽取模型
GCN模型為了高效地提取相關(guān)關(guān)系,充分利用了依賴樹中的信息。該模型是一個(gè)基于依存樹的GCN節(jié)點(diǎn)為中心,利用局部信息聚合技術(shù),在獲取圖像信號(hào)方面具有較好的有效性[9]。因此在處理文本數(shù)據(jù)方面,可以效仿其在圖像處理領(lǐng)域中的使用方法,把方法運(yùn)用在關(guān)聯(lián)提取中。首先獲取一個(gè)圖卷積中的鄰接矩陣,由句子的依賴分析樹組成。接著,做圖卷積運(yùn)算,以語(yǔ)句中的各個(gè)詞匯為動(dòng)作節(jié)點(diǎn)。然后再完成提取語(yǔ)句相關(guān)消息的工作,以及通過池化層和全連接層之間作關(guān)聯(lián)提取的各項(xiàng)任務(wù)。
3.6 采用基于 BERT 語(yǔ)言預(yù)訓(xùn)練模型的關(guān)系抽取模型
Bert(Bidirectional Encoder Representations from Transformers)模型由Google在2018年發(fā)布,在機(jī)器閱讀方面取得了驚人的成績(jī),開啟了NLP的新時(shí)代。BERT的主要構(gòu)造層為Transformer的encoder層,最大的亮點(diǎn)是通過獲取上下文相關(guān)的雙向特征表示,從而融入了雙向語(yǔ)言模式,其實(shí)質(zhì)上是對(duì)二種單向語(yǔ)言模式(前向和后向)的融合[10]。同時(shí)通過保存已預(yù)訓(xùn)練好的前兩層BiLSTM,并通過將特征集成應(yīng)用于下游任務(wù)。結(jié)果表明對(duì)下游的NLP任務(wù)有了較大的改善,并且能夠有效提高關(guān)系抽取的有效性。但Bert模型也具有幾個(gè)突出的缺陷,第一是預(yù)訓(xùn)練流程與實(shí)際生產(chǎn)過程的不統(tǒng)一,會(huì)使得實(shí)際生產(chǎn)任務(wù)有效性不佳;其次是無(wú)法解決文本層級(jí)的NLP任務(wù),僅適合語(yǔ)句與段落層級(jí)的任務(wù)。
3.7 采用基于PCNN的遠(yuǎn)程監(jiān)督關(guān)系抽取模型
PCNN模式比較簡(jiǎn)單,和傳統(tǒng)的神經(jīng)網(wǎng)路比較,最主要的差異就是池化層的不同,采用了分段池化方式代替了之前的最大值池化方法使用[11]。為減少對(duì)人工標(biāo)注數(shù)據(jù)結(jié)果的依賴性,人們提出了遠(yuǎn)程監(jiān)測(cè)的概念,前提是二種實(shí)體之間在知識(shí)庫(kù)中具有一定關(guān)聯(lián),以及包含了這兩種實(shí)體之間的句子,都可以表示出這種關(guān)系。在關(guān)系提取任務(wù)中引入了遠(yuǎn)程監(jiān)督學(xué)習(xí)的方式,為克服遠(yuǎn)程監(jiān)督中的標(biāo)記噪聲問題,先用PCNN提取語(yǔ)句的特征矢量表,并且充分考慮在同一個(gè)Bag中語(yǔ)句,表述關(guān)聯(lián)的各種意義,最后又引進(jìn)了句子級(jí)別的Attention機(jī)制。語(yǔ)句特征矢量表:PCNN和CNN模式的提取語(yǔ)句特征矢量方法一樣,通過合成詞和詞相應(yīng)部位的embedding顯示,進(jìn)入后 CNN 模式完成卷積。然后通過word2vec的Skip-gram模塊把詞表現(xiàn)為向量形狀,和位置向量加以拼合作為輸入,然后再通過卷積層完成feature map。分段池化按照語(yǔ)句中2個(gè)實(shí)體的情況把語(yǔ)句分成三個(gè)部分,然后再依次執(zhí)行池化操作。因?yàn)檎Z(yǔ)句被兩個(gè)實(shí)體分為了左、中、右三段文字,在這三段中間加上了相應(yīng)的兩個(gè)地址向量。所以整個(gè)網(wǎng)絡(luò)中總共有了九個(gè)輸入,這樣就可以捕捉語(yǔ)句中的結(jié)構(gòu)信號(hào)和更細(xì)粒度的特征。
4 PCNN模型結(jié)構(gòu)介紹
4.1 模型結(jié)構(gòu)
如圖1顯示,分別為獲取向量信息的Vectorzation層、合并特征的卷積層、捕獲結(jié)構(gòu)化信息的分段最大池化層以及softmax分類層。
4.2 Vectorzation層
該層的功能是獲取向量信息,故Vectorzation層主要由兩個(gè)部分構(gòu)成。
一部分是詞向量。由于實(shí)驗(yàn)數(shù)據(jù)都是中文文本,所以使用skip-gram模型進(jìn)行訓(xùn)練,得到每個(gè)詞的向量,轉(zhuǎn)化成計(jì)算機(jī)能理解的形式。
另一部分是位置向量。先分別以兩種實(shí)體詞作為基準(zhǔn)實(shí)體,使其位為零,然后依次計(jì)算其他單詞與該基準(zhǔn)實(shí)體的相對(duì)位置信息。如“《建筑工程中再生材料應(yīng)用探究》的作者是高陽(yáng)”,可以分為“《建筑工程中再生材料應(yīng)用探究》”“的”“作者”“是”“高陽(yáng)”為實(shí)體,那么其他詞與“《建筑工程中再生材料應(yīng)用探究》”的相對(duì)位置為[0,1,2,3,4],與"高陽(yáng)"的相對(duì)位置為[-4,-3,-2,-1,0]。
4.3 卷積層
為了給出整個(gè)句子的預(yù)測(cè)關(guān)系,需要捕捉到不同的特征,然后利用卷積合并所有的特征。該層共設(shè)計(jì)三種卷積,每種卷積含有100個(gè)卷積核。
結(jié)合文本中數(shù)據(jù)的特點(diǎn),選擇GELU函數(shù)作為卷積層的激活函數(shù),公式為:
[GELU(x)=0.5x(1+tanh[2π(x+0.011715x3)])]
4.4 分段最大池化層
PCNN模型通過考慮實(shí)體的內(nèi)部上下文與外部上下文,獲取兩個(gè)實(shí)體間的結(jié)構(gòu)化信息。于是,根據(jù)兩個(gè)實(shí)體的位置將句子劃分為3個(gè)部分。第一部分是從句首到第一實(shí)體,第二部分是從第一實(shí)體到第二實(shí)體,第三部分是從第二實(shí)體到句末,這樣每個(gè)過濾器卷積的結(jié)果就被分為三段。
兩個(gè)實(shí)體把每個(gè)卷積核的輸出分為三部分,為了捕捉到不同的特征,將使用n個(gè)卷積核,則分段最大池化輸出向量就是:
[{pi={pi1,pi2,pi3}pij=max(cij)1≤i≤n,1≤j≤3]
4.5 softmax分類器
為了避免模型中發(fā)生過擬合現(xiàn)象,需要增強(qiáng)模型的健壯性。首先需要對(duì)卷積層中的輸出做進(jìn)一步處理,然后通過每一個(gè)線性層次把數(shù)據(jù)的維降至N維(N為關(guān)系類型) ,進(jìn)行了最后的劃分。最后通過softmax分類器做最后的預(yù)測(cè),公式為:
[yi=eijej,r*=argmaxiyi]
4.6 模型改進(jìn)
PCNN模型訓(xùn)練的特點(diǎn)是,在輸入序列中隨機(jī)mask掉一些單詞,然后將獲取的上下文信息輸入PCNN模型中預(yù)測(cè)。PCNN在處理中文文本的時(shí)存在弊端,由于PCNN是針對(duì)英文設(shè)計(jì)的模型,對(duì)英文單詞進(jìn)行mask,不會(huì)損失句子本身的語(yǔ)義。但運(yùn)用在中文文本中時(shí),會(huì)損失大量文本的語(yǔ)義。因此本文首先使用了分詞工具jieba對(duì)文本進(jìn)行分詞處理,自監(jiān)督訓(xùn)練以詞為粒度進(jìn)行隨機(jī)mask,以此提高對(duì)中文文本特征的提取效率。
5 分析
本文利用準(zhǔn)確率P、召回率R和F1值進(jìn)行方法的性能評(píng)測(cè),公式如下:
[p=TPTP+FPR=TPTP+FNF1=2PRP+R]
其中,TP代表正例被準(zhǔn)確預(yù)計(jì)的樣品總數(shù),F(xiàn)P代表正例被出錯(cuò)預(yù)計(jì)的樣品總數(shù),而FN代表負(fù)例被出錯(cuò)預(yù)計(jì)的樣品總數(shù)。
PCNN模型和傳統(tǒng)RNN模型比較,準(zhǔn)確率、召回度以及F1值均有提高,說明了PCNN模式能夠更高效地提取文件中的特征信息。任務(wù)中用PCNN模型可以進(jìn)行分段池化得到更有效的上下文信息,也體現(xiàn)出PCNN模型更擅長(zhǎng)處理中長(zhǎng)短句的特點(diǎn)。將修改后的模型和PCNN模型進(jìn)行對(duì)比,可以發(fā)現(xiàn)準(zhǔn)確率、召回度和F1值也有所提高,說明在進(jìn)行中文實(shí)體關(guān)聯(lián)提取任務(wù)過程中,首先完成對(duì)中文的分詞預(yù)處理,之后再進(jìn)行關(guān)聯(lián)提取,能有效提高模型的性能。
6 結(jié)論
本文首先根據(jù)國(guó)內(nèi)建筑方向知識(shí)圖譜缺乏的現(xiàn)狀,針對(duì)該領(lǐng)域短文本關(guān)系抽取難點(diǎn),對(duì)PCNN模型進(jìn)行了改進(jìn),該模型不但具備了PCNN模型分段最大池化獲得句子局部特征的優(yōu)勢(shì),而且同時(shí)兼顧了中文文本的語(yǔ)義特點(diǎn),因此能夠更有效地提取出中文語(yǔ)義關(guān)系。完善后的PCNN模塊可以更好地提取出短文本中的實(shí)體關(guān)系信息,為今后建立建筑方向知識(shí)圖譜帶來(lái)了幫助。
參考文獻(xiàn):
[1] 宋厚巖.基于圖數(shù)據(jù)庫(kù)的電力系統(tǒng)知識(shí)圖譜研究與應(yīng)用[D].北京:中國(guó)科學(xué)院大學(xué)(中國(guó)科學(xué)院沈陽(yáng)計(jì)算技術(shù)研究所),2021.
[2] 謝明鴻,冉強(qiáng),王紅斌.基于同義詞詞林和規(guī)則的中文遠(yuǎn)程監(jiān)督人物關(guān)系抽取方法[J].計(jì)算機(jī)工程與科學(xué),2021,43(9):1660-1667.
[3] 王思麗,劉巍,楊恒,等.基于自然語(yǔ)言處理和機(jī)器學(xué)習(xí)的實(shí)體關(guān)系抽取方法研究[J].圖書館學(xué)研究,2021(18):39-48.
[4] 張婭.基于深度學(xué)習(xí)的遠(yuǎn)程監(jiān)督關(guān)系抽取算法研究[D].北京:北京交通大學(xué),2021.
[5] 武文雅.基于卷積神經(jīng)網(wǎng)絡(luò)的實(shí)體關(guān)系抽取方法研究[D].北京:北京交通大學(xué),2019.
[6] 岳琪,李想.基于BERT和雙向RNN的中文林業(yè)知識(shí)圖譜構(gòu)建研究[J].內(nèi)蒙古大學(xué)學(xué)報(bào)(自然科學(xué)版),2021,52(2):176-184.
[7] 楊超男,彭敦陸.融合BSRU和膠囊網(wǎng)絡(luò)的文檔級(jí)實(shí)體關(guān)系抽取模型[J].小型微型計(jì)算機(jī)系統(tǒng),2022,43(5):964-968.
[8] 周博學(xué).改進(jìn)的Transformer模型在關(guān)系抽取任務(wù)中的研究與應(yīng)用[D].無(wú)錫:江南大學(xué),2021.
[9] 鄭余祥,左祥麟,左萬(wàn)利,等.基于時(shí)間關(guān)系的Bi-LSTM+GCN因果關(guān)系抽取[J].吉林大學(xué)學(xué)報(bào)(理學(xué)版),2021,59(3):643-648.
[10] 黃徐勝,朱月琴,付立軍,等.基于BERT的金礦地質(zhì)實(shí)體關(guān)系抽取模型研究[J].地質(zhì)力學(xué)學(xué)報(bào),2021,27(3):391-399.
[11] 張彤,宋明艷,王俊,等.基于PCNN的工業(yè)制造領(lǐng)域質(zhì)量文本實(shí)體關(guān)系抽取方法[J].信息技術(shù)與網(wǎng)絡(luò)安全,2021,40(3):8-13.
【通聯(lián)編輯:唐一東】