孫文涵,王俊杰
(中國(guó)海洋大學(xué) 工程學(xué)院,山東 青島 266400)
施工安全管理是維系建筑業(yè)穩(wěn)定的重要工作。住房和城鄉(xiāng)建設(shè)部統(tǒng)計(jì)資料顯示,2021年,全國(guó)共發(fā)生房屋市政工程生產(chǎn)安全事故623起、死亡700人。建設(shè)過(guò)程中的非結(jié)構(gòu)化事故報(bào)告文本數(shù)據(jù)通常作為制定預(yù)防措施的依據(jù)。但在傳統(tǒng)施工安全管理中,對(duì)事故信息的利用依賴于人工解釋和處理,缺乏把事故信息轉(zhuǎn)化為可復(fù)用知識(shí)的工具。施工安全事故的預(yù)防,可以通過(guò)整合多源異構(gòu)的施工安全事故案例信息,構(gòu)建施工安全領(lǐng)域知識(shí)圖譜。該圖譜可用于案例檢索、危險(xiǎn)源推測(cè)以及原因分析[1]等,這些都對(duì)施工安全管理水平提升起著重要作用。實(shí)體是知識(shí)圖譜的基本單元。建立一個(gè)事故報(bào)告實(shí)體自動(dòng)提取模型,識(shí)別施工安全事故中包含領(lǐng)域知識(shí)的實(shí)體要素,是構(gòu)建施工安全領(lǐng)域知識(shí)圖譜的基礎(chǔ)工作。
基于自然語(yǔ)言處理(Natural Language Processing,NLP)與機(jī)器學(xué)習(xí)的信息抽取方法作為知識(shí)提取的關(guān)鍵技術(shù)[2],目的是從文本文檔中提取有效信息或領(lǐng)域知識(shí)填充預(yù)定義的信息模板[3-4]。命名實(shí)體識(shí)別(Named Entity Recognition,NER)是信息抽取的子任務(wù),通常分為基于規(guī)則的方法[5]、基于統(tǒng)計(jì)機(jī)器學(xué)習(xí)的方法[6]和基于深度學(xué)習(xí)的方法[7]。深度學(xué)習(xí)方法已成為目前解決NER任務(wù)的主流方法。張鵬翔[8]和陳業(yè)明[9]利用多維字符特征表示對(duì)抽取鐵路設(shè)備事故信息;FANG D和Chen H[10]基于自然語(yǔ)言數(shù)據(jù)增強(qiáng)的小樣本訓(xùn)練方法自動(dòng)抽取建筑事故新聞報(bào)道和法律法規(guī)中的信息。這些方法在加強(qiáng)知識(shí)管理方面發(fā)揮著有益的作用,但輸入的字向量都是由N-gram、Word2Vec模型訓(xùn)練得到的靜態(tài)字向量,不能全面表征字向量在不同上下文中的特征,難以解決實(shí)體表述不一致以及一詞多義的問(wèn)題,影響實(shí)體識(shí)別效果。
鑒于此,筆者擬收集1 200份施工安全事故報(bào)告,構(gòu)建施工安全事故領(lǐng)域?qū)嶓w標(biāo)注語(yǔ)料數(shù)據(jù)集;利用雙向編碼器表示(Bidirectional Encoder Representations from Transformers,BERT)預(yù)訓(xùn)練模型作為模型編碼器獲取動(dòng)態(tài)字向量,以解決傳統(tǒng)命名實(shí)體識(shí)別方法在靜態(tài)字向量表示上的語(yǔ)義信息缺少問(wèn)題;設(shè)計(jì)雙向長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)-注意力機(jī)制-條件隨機(jī)場(chǎng)(Bidirectional Long Short Term Memory-Attention-Conditional Random Field,BiLSTM-Attention-CRF)模型作為解碼器,解決施工安全事故報(bào)告文本中的上下文信息利用不充分問(wèn)題,在此過(guò)程中得到的施工安全事故實(shí)體將促進(jìn)施工安全領(lǐng)域知識(shí)圖譜的構(gòu)建,并更好地指導(dǎo)建筑安全管理的安全培訓(xùn)。
由于施工安全事故領(lǐng)域目前沒(méi)有可以直接提供使用的數(shù)據(jù)集,首步工作需先自行構(gòu)建實(shí)驗(yàn)所需數(shù)據(jù)集。施工安全事故報(bào)告主要包括事故時(shí)間、事故地點(diǎn)、施工項(xiàng)目、施工任務(wù)以及事故類型等事故知識(shí)元素,是有關(guān)施工安全事故的重要文本數(shù)據(jù)。本文所使用的施工安全數(shù)據(jù)集語(yǔ)料主要來(lái)自中華人民共和國(guó)住房和城鄉(xiāng)建設(shè)部、各地方安全監(jiān)管部門以及媒體報(bào)道,共收集了1 200條左右的施工安全事故報(bào)告,并將事故文本序列以句號(hào)劃分。
結(jié)合建筑施工安全領(lǐng)域的實(shí)際應(yīng)用,本文對(duì)事故文本中的實(shí)體要素進(jìn)行分類,構(gòu)建了包含事故類型、事故時(shí)間、事故地點(diǎn)、施工工程、施工任務(wù)、死亡人數(shù)、受傷人數(shù)、相關(guān)單位以及金額損失9類實(shí)體的安全事故數(shù)據(jù)集,并利用YEEDA軟件完成標(biāo)注,如圖1所示。
圖1 數(shù)據(jù)標(biāo)注界面
標(biāo)注規(guī)范采取“BIO”方式。“B-”表示每個(gè)實(shí)體的首個(gè)字符位置,“I-”表示每個(gè)實(shí)體的中部以及結(jié)尾字符位置,“O”表示除實(shí)體外的其他無(wú)關(guān)字符。實(shí)體示例及標(biāo)簽如表1所示。
表1 實(shí)體示例及標(biāo)簽
用于施工安全事故報(bào)告實(shí)體提取的BERTBiLSTM-Attention-CRF模型框架如圖2所示。該模型主要由四層組成:BERT文本向量化層、BiLSTM特征提取層、注意力機(jī)制層及CRF推理層。首先,BERT預(yù)訓(xùn)練層通過(guò)無(wú)監(jiān)督方式在大量未標(biāo)注數(shù)據(jù)上做訓(xùn)練,實(shí)現(xiàn)文本到字符級(jí)向量的轉(zhuǎn)換。其次,采用BiLSTM層對(duì)輸入的字符向量進(jìn)行雙向編碼,通過(guò)學(xué)習(xí)事故報(bào)告中的依賴關(guān)系,實(shí)現(xiàn)對(duì)施工安全事故報(bào)告文本的深度感知與理解,并將本層提取的特征向量傳遞給注意力機(jī)制層。注意力機(jī)制層協(xié)助模型重點(diǎn)關(guān)注顯著性強(qiáng)的信息,對(duì)顯著性弱的特征進(jìn)行抑制,增強(qiáng)模型對(duì)事故報(bào)告的特征理解。最后,CRF層對(duì)注意力機(jī)制層的輸出解碼,考慮標(biāo)簽間的約束關(guān)系,獲取最優(yōu)的事故報(bào)告實(shí)體的標(biāo)注序列。
圖2 BERT-BiLSTM-Attention-CRF模型整體結(jié)構(gòu)
施工事故報(bào)告包含事故時(shí)間、事故地點(diǎn)及事故類型等語(yǔ)義信息。這些語(yǔ)義信息是模型理解施工事故報(bào)告的基礎(chǔ)。傳統(tǒng)的語(yǔ)義向量是以靜態(tài)的方式處理文字,無(wú)法解決實(shí)體表述不一致及一詞多義的問(wèn)題。BERT是多層的雙向Transformer結(jié)構(gòu)的預(yù)訓(xùn)練語(yǔ)言表征模型,能夠自動(dòng)提取出序列中豐富的語(yǔ)法結(jié)構(gòu)特征、語(yǔ)義特征以及位置特征,使模型獲取豐富的語(yǔ)義信息。
BERT的輸入編碼向量為每一個(gè)token對(duì)應(yīng)的表征。該表征由對(duì)應(yīng)的詞嵌入、分割嵌入及位置嵌入三部分疊加組成。詞嵌入是輸入序列中每個(gè)字符的本身向量表示,分割嵌入用于區(qū)分兩個(gè)句子,判斷字符所屬句子A或句子B,位置嵌入是指從0開始將字符的位置信息編碼成特征向量。每一個(gè)序列都存在[CLS]和[SEP]兩種特殊的token。[CLS]用于每一個(gè)序列的開頭位置,[SEP]插入到每個(gè)句子之后,用于斷開語(yǔ)料文本中的不同句子,如圖3所示。
圖3 BERT模型輸入
BERT預(yù)訓(xùn)練層輸出的動(dòng)態(tài)向量作為事故報(bào)告的字符向量,輸入到BiLSTM層提取和挖掘特征。
BiLSTM層作為特征提取器,提取事故報(bào)告中文本和句子間的順序特征,構(gòu)建更準(zhǔn)確的語(yǔ)義表示。長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)通過(guò)引入輸入門(input gate)、遺忘門(forget gate)、輸出門(output gate)以及記憶細(xì)胞來(lái)記錄額外的信息。LSTM單元結(jié)構(gòu)如圖4所示,更新過(guò)程如下。
圖4 LSTM單元結(jié)構(gòu)
式中:σ,tanh表示激活函數(shù),Wf,Wi,Wo,Wc表示權(quán)重矩陣,bf,bi,bo,bc表示偏置向量,Ct-1和Ct分別為t-1時(shí)刻和t時(shí)刻細(xì)胞狀態(tài),C~t為輸入門控制的候選細(xì)胞狀態(tài)。
LSTM對(duì)輸入的施工安全事故文本序列建模時(shí),無(wú)法編碼從后到前的信息。因此,將向量以前、后兩個(gè)方向分別輸入LSTM單元,捕獲雙向的語(yǔ)義信息。在t時(shí)刻,BiLSTM的輸出ht表示為
民辦大學(xué)的教學(xué)改革勢(shì)在必行,針對(duì)應(yīng)用型護(hù)理本科生從翻轉(zhuǎn)課堂到慕課,再到OSCE模式,都在圍繞以人為本的教學(xué)方式不斷改進(jìn),而OSCE達(dá)到近年高峰期,尤其在護(hù)理學(xué)專業(yè),不僅可以改善學(xué)生課堂注意力低下的情況,還能提高學(xué)生獨(dú)立處理問(wèn)題的能力,更重要的是提高了學(xué)生臨床能力。在OSCE實(shí)施過(guò)程中,能看出學(xué)生在臨床實(shí)際問(wèn)題的處理能力有弱勢(shì),意味著教學(xué)改革應(yīng)以提高學(xué)生處理臨床實(shí)際問(wèn)題能力為中心。
施工事故報(bào)告具有長(zhǎng)文本的特點(diǎn),存在冗雜信息的干擾。為了增強(qiáng)對(duì)顯著信息的關(guān)注,利用注意力機(jī)制捕捉字與字之間的關(guān)聯(lián)程度,根據(jù)關(guān)聯(lián)程度的大小調(diào)整權(quán)重系數(shù),以不同權(quán)重配比的方式,二次提取出對(duì)實(shí)體識(shí)別起到關(guān)鍵性作用的特征,弱化對(duì)實(shí)體識(shí)別無(wú)關(guān)的特征,使模型更聚焦于與事故實(shí)體有關(guān)的字符上,提升描述結(jié)果的準(zhǔn)確性。關(guān)聯(lián)程度大小計(jì)算如式(3)所示:
式中:Q,K,V分別表示Query向量、Key向量和Value向量,dk表示輸入向量的維度。對(duì)于t時(shí)刻模型經(jīng)過(guò)注意力機(jī)制加權(quán)后的輸出為
式中:at表示利用注意力機(jī)制加權(quán)后的特征向量,ht為BiLSTM層輸出的特征向量,權(quán)重λt由式(6)計(jì)算得出:
CRF層能在數(shù)據(jù)集中學(xué)習(xí)到句子的約束條件,通過(guò)有效約束大量減少錯(cuò)誤的預(yù)測(cè)序列。比如,“B-TIME”只能作為事故發(fā)生時(shí)間的首端,若出現(xiàn)在其他位置則存在錯(cuò)誤;“B-TIME”后的正確字符標(biāo)簽為“I-TIME”,若出現(xiàn)其他標(biāo)簽則是模型預(yù)測(cè)錯(cuò)誤。對(duì)于一條輸入的施工安全事故報(bào)告文本序列X=(X1,X2,…,Xn),經(jīng)過(guò)CRF層提取特征后會(huì)得到輸出矩陣P=[P1,P2,…,Pn]和預(yù)測(cè)序列Y=(y1,y2,…,yn),預(yù)測(cè)標(biāo)簽序列其預(yù)測(cè)得分為
式中:T為標(biāo)簽yi轉(zhuǎn)移到標(biāo)簽yi+1的得分,P為第i個(gè)字符被標(biāo)記為標(biāo)簽yi的得分,最后使用維特比算法輸出當(dāng)前事故報(bào)告文本序列得分最高的最優(yōu)標(biāo)簽序列。
本實(shí)驗(yàn)采用Tensorflow工具進(jìn)行NER模型搭建,在臺(tái)式計(jì)算機(jī)上完成訓(xùn)練。訓(xùn)練所使用的計(jì)算設(shè)備具體參數(shù)如表2所示。
表2 實(shí)驗(yàn)平臺(tái)配置
采取通用評(píng)價(jià)標(biāo)準(zhǔn)作為評(píng)價(jià)指標(biāo),以準(zhǔn)確率(Precision,P)、召回率(Recall,R)和F1分?jǐn)?shù)(F1-score,F(xiàn)1)對(duì)實(shí)體識(shí)別效果進(jìn)行評(píng)價(jià),計(jì)算公式如下。
式中:TP是預(yù)測(cè)為正樣本被正確識(shí)別的樣本數(shù),F(xiàn)P為負(fù)樣本被識(shí)別為正樣本的樣本數(shù),F(xiàn)N表示正樣本被識(shí)別為負(fù)樣本的樣本數(shù)。
為驗(yàn)證本文模型的性能,在同一實(shí)驗(yàn)環(huán)境下,與BiLSTM、BiLSTM-CRF和IDCNN-CRF三個(gè)命名實(shí)體識(shí)別模型在P,R及F1值三項(xiàng)指標(biāo)上進(jìn)行各識(shí)別實(shí)體指標(biāo)對(duì)比,實(shí)驗(yàn)結(jié)果如表3所示,四種模型的F1值隨迭代次數(shù)變化曲線如圖5所示。
圖5 四種模型的F1值隨迭代次數(shù)變化曲線圖
由表3可知,本文模型的P,R,F(xiàn)1值均高于對(duì)比模型,分別達(dá)到92.31%,92.86%和92.58%。與BiLSTM相比,BiLSTM-CRF和IDCNN-CRF模型的識(shí)別效果有了較大的提升,總體F1值分別提升了6.26%和4.59%,說(shuō)明CRF模型在識(shí)別語(yǔ)義特征后,考慮到字符之間的約束關(guān)系,提升了總體的識(shí)別效果。BiLSTM-CRF模型相較于IDCNN-CRF模型的準(zhǔn)確率和召回率均有一定的提升,是因?yàn)锽iLSTM相較于IDCNN具有更強(qiáng)的全局上下特征提取能力。
表3 各類實(shí)體識(shí)別指標(biāo)對(duì)比(單位:%)
與對(duì)比模型相較,本文模型在整體F1值上比其他3種模型分別提高了10.45%,4.19%,5.86%,說(shuō)明本文引入的BERT模型和注意力機(jī)制提升了安全事故文本的字向量表征能力,增強(qiáng)了對(duì)重點(diǎn)信息的關(guān)注,根據(jù)施工安全事故文本的上下文動(dòng)態(tài)微調(diào)字向量,增強(qiáng)了字向量的語(yǔ)義表達(dá),對(duì)于數(shù)據(jù)規(guī)模較少的特定領(lǐng)域?qū)嶓w,能有效提升識(shí)別性能。對(duì)于事故時(shí)間、事故地點(diǎn)、死亡人數(shù)、相關(guān)單位和金額損失等實(shí)體,識(shí)別F1值均可達(dá)到91%以上,部分實(shí)體類別如事故時(shí)間、死亡人數(shù)、相關(guān)單位和金額損失等的識(shí)別準(zhǔn)確率可以高達(dá)95%以上,主要原因是這些實(shí)體類別的周圍會(huì)有明顯的邊界特征,如事故時(shí)間多以“日、秒、許”等字符結(jié)尾,死亡人數(shù)常以“死亡”開頭或結(jié)尾,相關(guān)單位常常以“***公司”等字符結(jié)尾,可以使模型捕捉到明顯的特征信息。而其他實(shí)體類別周圍往往沒(méi)有明顯的邊界特征且實(shí)體長(zhǎng)度較長(zhǎng),導(dǎo)致識(shí)別效果變差。
從圖5可以看出,在剛開始的1—10次迭代時(shí),四種模型的F1值均快速上升;在11—30次迭代時(shí),四種模型處于穩(wěn)步上升階段,并在較小的范圍上下波動(dòng);在30次迭代后,四種模型的F1值趨于平穩(wěn),幾乎沒(méi)有波動(dòng)。從圖5還可以看出,本文模型的整體識(shí)別效果好于其他三種模型的識(shí)別效果,且在第28次迭代時(shí)達(dá)到最優(yōu)總體F1值92.58%。
圖6是本文模型在訓(xùn)練過(guò)程中損失值隨迭代次數(shù)的變化曲線。模型在訓(xùn)練過(guò)程時(shí),損失值隨著迭代次數(shù)的遞增而降低,最后達(dá)到穩(wěn)定的狀態(tài)。本文采用Adam優(yōu)化器,在訓(xùn)練過(guò)程自動(dòng)調(diào)節(jié)學(xué)習(xí)率,損失函數(shù)曲線有較為明顯的階段性特征。
圖6 驗(yàn)證集與訓(xùn)練集的損失函數(shù)曲線
為研究Attention對(duì)模型性能的影響,本文設(shè)計(jì)了消融實(shí)驗(yàn)。在BERT-BiLSTM-CRF模型的基礎(chǔ)上,增加Attention機(jī)制,實(shí)驗(yàn)結(jié)果如表4所示。
表4 消融實(shí)驗(yàn)結(jié)果對(duì)比(單位:%)
BERT-BiLSTM-CRF模型融合Attention后,模型F1值提升了1.25%,其原因是注意力機(jī)制可以增強(qiáng)模型對(duì)句子中關(guān)鍵字的利用,弱化與實(shí)體無(wú)關(guān)的語(yǔ)義特征,使得模型識(shí)別實(shí)體性能有效提高;能夠有效捕獲與當(dāng)前輸出關(guān)聯(lián)度較高的信息,解決實(shí)體表述不一致以及一詞多義的問(wèn)題,提高施工安全事故實(shí)體識(shí)別的識(shí)別精度。
本文以自建的施工安全事故領(lǐng)域?qū)嶓w標(biāo)注語(yǔ)料數(shù)據(jù)集為研究對(duì)象,定義了該領(lǐng)域9類實(shí)體類別,提出了一種基于BERT的施工安全事故命名實(shí)體識(shí)別方法。本方法解決傳統(tǒng)命名實(shí)體識(shí)別方法在靜態(tài)字向量表示上的語(yǔ)義信息缺少問(wèn)題,有效提高施工安全報(bào)告實(shí)體識(shí)別效率和準(zhǔn)確率。文中實(shí)現(xiàn)的施工安全事故領(lǐng)域?qū)嶓w識(shí)別為后續(xù)相關(guān)領(lǐng)域知識(shí)圖譜的構(gòu)建打下基礎(chǔ),且不依賴于特定領(lǐng)域的人工特征,因此可以很容易地應(yīng)用到其他領(lǐng)域。后續(xù)將進(jìn)一步擴(kuò)大數(shù)據(jù)集的規(guī)模,并開展施工安全領(lǐng)域的關(guān)系抽取工作,以滿足建筑施工安全領(lǐng)域知識(shí)圖譜的應(yīng)用需求。