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

?

基于BERT模型的企業(yè)安全隱患排查

2022-09-09 00:46:06莫俊銘鄭成勇戴紫靈
電子技術(shù)與軟件工程 2022年14期
關(guān)鍵詞:編碼向量分類

莫俊銘 鄭成勇 戴紫靈

(五邑大學(xué) 數(shù)學(xué)與計(jì)算科學(xué)學(xué)院 廣東省江門市 529000)

1 引言

習(xí)近平總書記在2022年3月24日特別指出,要在全國開展全面的安全檢查,加大對違法犯罪的查處力度,采取有力的措施,消除各類隱患和風(fēng)險(xiǎn),堅(jiān)決制止重大事故,保障人民生命財(cái)產(chǎn)的安全。所以,要想進(jìn)一步提高我國安全生產(chǎn)工作的發(fā)展水平,需把習(xí)近平的重要講話精神貫徹到全國。本文研究擬解決的問題--如何精準(zhǔn)判別和預(yù)測有安全生產(chǎn)隱患的不合格企業(yè),也正肩負(fù)起社會的使命,響應(yīng)時(shí)代的號召。

文本分類分為兩種,一種是基于機(jī)器學(xué)習(xí)的文本分類,另一種是基于深度學(xué)習(xí)的文本分類。如何進(jìn)行文本的分類處理是文本分類的核心工作,該工作有著深遠(yuǎn)意義的應(yīng)用前景。深度學(xué)習(xí)網(wǎng)絡(luò)通過情感分析進(jìn)行文本分類,常用到的經(jīng)典模型有卷積神經(jīng)網(wǎng)絡(luò)和循環(huán)神經(jīng)網(wǎng)絡(luò),在循環(huán)神經(jīng)網(wǎng)絡(luò)中常見的是其變體LSTM,BiLSTM通過雙向網(wǎng)絡(luò)連接,能將文本從兩個(gè)方向同時(shí)輸入,使模型可以充分地獲取句子間地語義信息。隨著在安全隱患工作領(lǐng)域?qū)﹄[患文本進(jìn)行文本分類技術(shù)的應(yīng)用和創(chuàng)新從未停止,安全隱患文本內(nèi)容涵蓋了隱患的現(xiàn)狀,安全隱患的類別以及該隱患對社會安全的危害程度,也是做好安全防護(hù)工作的重要依據(jù)。本文使用BERT模型對企業(yè)安全隱患文本進(jìn)行文本分類研究,該模型擁有雙向編碼的能力和強(qiáng)大的特征提取能力,掌握了上下文的語義背景后,詞向量的表達(dá)形式也會作出對應(yīng)的改變,因此具備了獨(dú)特的一語多義的能力。通過BERT預(yù)訓(xùn)練模型進(jìn)行企業(yè)隱患文本的全局語義特征表示的生成,進(jìn)行企業(yè)安全隱患文本的分類工作,并進(jìn)行不合格企業(yè)的預(yù)測,對比其他經(jīng)典的深度學(xué)習(xí)模型和機(jī)器學(xué)習(xí)模型的預(yù)測結(jié)果,發(fā)現(xiàn)BERT模型的分類和預(yù)測結(jié)果最好。

在自然語言處理中,文本分類是一個(gè)非常重要的研究方向,在文本挖掘中發(fā)揮著巨大作用。然而,早期的文本分類方法--專家規(guī)則(Pattern)分類有很大的不足,它的覆蓋范圍和精確度都很低。在統(tǒng)計(jì)與資訊科技的發(fā)展下,互聯(lián)網(wǎng)上在線文本數(shù)量的迅速增加以及對機(jī)器學(xué)習(xí)的深入研究,人工功能工程+分類建模過程逐漸形成。傳統(tǒng)的文字表現(xiàn)出了高度的維度和分布問題,表達(dá)特征的能力較弱。同時(shí),也要求更高的人工特性。隨著深度學(xué)習(xí)在圖像處理和語音理解領(lǐng)域取得的突破性成功,進(jìn)而也促進(jìn)了其在NLP上的發(fā)展。如今,深度學(xué)習(xí)模型在文本分類上也有良好的表現(xiàn)。而在安全隱患領(lǐng)域,研究者們也一直秉持著創(chuàng)新的精神進(jìn)行深入的研究。

目前,文本分類也被廣泛地應(yīng)用在數(shù)字化圖書館、輿情分析、新聞推薦、郵件過濾等領(lǐng)域。其中,針對安全隱患文本數(shù)據(jù)處理的相關(guān)研究也有了一定的深度。例如:陳孝慈等基于潞安集團(tuán)司馬煤業(yè)有限公司2014年安全隱患記錄數(shù)據(jù),利用潛在狄利克雷分配模型, 挖掘煤礦安全隱患潛在主題;謝斌紅等基于煤礦安全隱患信息研究了Word2vec和卷積神經(jīng)網(wǎng)絡(luò)的煤礦安全隱患信息自動分類方法;諶業(yè)文等以《貴州省煤礦安全信息管理系統(tǒng)》的68家煤礦企業(yè)安全隱患記錄為樣本數(shù)據(jù)對分類模型進(jìn)行測試,其文本分類模型準(zhǔn)確率達(dá)90%以上,并構(gòu)建了隱患等級評估體系。該分類方法的輸入是一種短小值的特征表達(dá)矢量,它把特征表達(dá)矢量中的錯誤信息傳送到分類器。所以,在短句分類中,如何表達(dá)短句的特點(diǎn)是提高其分類能力的一個(gè)重要環(huán)節(jié)。在前人研究的基礎(chǔ)上,本文提出一種基于Transformer雙向編碼器表示的企業(yè)安全隱患短文本分類算法,改進(jìn)短文本特征表達(dá)來進(jìn)行合格企業(yè)與不合格企業(yè)的排查。

2 模型構(gòu)建

2.1 BERT模型

語言模型的研究已經(jīng)從“one-hot”、“Word2vec”、“ELMO”、“GPT”到“BERT”模式。使用Word2vec模式進(jìn)行的詞匯向量是一個(gè)靜態(tài)的詞匯矢量,而非多態(tài)性。GPT是一個(gè)不能獲得詞匯和上下文的單向的語言模式。ELMO是一種很好的解決方法,它可以根據(jù)特定的語境,根據(jù)不同的語境,動態(tài)地產(chǎn)生每一字的嵌入。BERT模型是一種基于深度雙向編碼和訓(xùn)練的語言理解模型,它可以通過對文本的上下文信息來進(jìn)行向量表達(dá),也可以表達(dá)單詞的歧義。該模型主要采用的是雙向Transformer網(wǎng)絡(luò)結(jié)構(gòu),Transformer模型每層的計(jì)算復(fù)雜度更優(yōu),能用最小的序列化運(yùn)算來測量可以被并行化的計(jì)算且一步計(jì)算解決長時(shí)依賴問題,該模型的三種優(yōu)點(diǎn)有利于提高計(jì)算效率。不僅如此,Transformer模型還能通過位置嵌入,模型的語言順序的理解能力也比較好。在第一階段時(shí)為了實(shí)現(xiàn)預(yù)訓(xùn)練文本任務(wù)使用MLM和NSP兩種策略,在第二階段采用Fine-Tunning的訓(xùn)練模式來處理下游任務(wù),Transformer計(jì)算目標(biāo)詞與文本中每一個(gè)詞的相似度作為權(quán)重系數(shù),再利用加權(quán)求和的方式表示詞向量。

BERT模型結(jié)構(gòu)如圖1所示。

圖1:BERT模型結(jié)構(gòu)

BERT模型提出的MLM和NSP的無監(jiān)督預(yù)測任務(wù),在MLM 與 NSP 任務(wù)上對 BERT 模型進(jìn)行增量訓(xùn)練,前者用于獲取詞級別表示,后者用于獲取句子級別表示,并將兩個(gè)任務(wù)的結(jié)果進(jìn)行結(jié)合。經(jīng)過BERT模型處理后能夠獲得語境化的詞向量,對處理長距離依賴信息的語句具有很好的效果,因此這使得BERT中文模型能更好地適用于語料數(shù)據(jù)。

BERT模型主要使用Transformer的Encoder部分來代替無法并行實(shí)現(xiàn)和運(yùn)行速度慢的RNN模型從而解決序列問題的Encoder-Decoder結(jié)構(gòu),Encoder輸入嵌入句子中的字,然后添加關(guān)于每個(gè)單詞在句子中的位置的信息,然后經(jīng)過Self-attention層,當(dāng)Encoder對每個(gè)字進(jìn)行編碼時(shí)可以看到之前的信息和序列。Encoder輸出通過Add&Norm層。Add是將Self-attention層的輸入和輸出相加。Norm表示對添加的輸出進(jìn)行歸一化處理,使Self-attention層輸出具有固定的均值和標(biāo)準(zhǔn)差。其中均值為0,標(biāo)準(zhǔn)差為1,并返回歸一化向量列表并傳入全連接的神經(jīng)前饋網(wǎng)絡(luò)層。類似地,F(xiàn)eed-Forward層也在其Add & Norm層中進(jìn)行處理,產(chǎn)生一個(gè)標(biāo)準(zhǔn)化的詞向量列表。Encoder部分的主要模塊是Selfattention。它的基本思路是通過對句子中各個(gè)單詞之間的關(guān)系進(jìn)行計(jì)算,并根據(jù)它們之間的關(guān)系來調(diào)節(jié)各個(gè)單詞的權(quán)重,從而得出每一個(gè)單詞的新數(shù)值。以這種方式獲得的向量比傳統(tǒng)的詞向量具有更全面的表示,因?yàn)樗鼈儾粌H包含詞本身,還包含它們與其他詞的關(guān)系。

BERT模型使用具有三層涵義的編碼,第一層編碼是詞向量,第二層編碼是根據(jù)詞位置信息進(jìn)行插入,第三層編碼則是體現(xiàn)句子之間獨(dú)立性的編碼。該模型通過整合連接兩個(gè)句子進(jìn)行編碼的建立,完成三層編碼的建立后,繼續(xù)進(jìn)行三種embedding的結(jié)合,最后輸出詞向量。

BERT模型將Tanh函數(shù),Soft-max函數(shù),GELU函數(shù)作為激活函數(shù)分別布置于各個(gè)激活層。具體如下:

Tanh函數(shù)將負(fù)無窮到正無窮的數(shù)值映射至(-1,+1)區(qū)間,其是由基本雙曲正弦和雙曲余弦推導(dǎo)而來,具有軟飽和性,在深層神經(jīng)網(wǎng)絡(luò)訓(xùn)練會出現(xiàn)梯度消失的問題,比較適用于二分類任務(wù)。

針對于多分類使用最多的是Soft-max,該函數(shù)把一個(gè)k維的real-value向量(al,a2,a3,a4,…)映射成(bl,b2,b3,b4,…),這里bi是一個(gè)0-1的常數(shù),所以為了達(dá)到多分類的目的,我們可以根據(jù)bi的大小進(jìn)行多分類求解(取權(quán)重最大的一維)。Soft-max函數(shù)為每個(gè)類分配概率。前提是對每個(gè)元素進(jìn)行一次取冪運(yùn)算,并將其全部轉(zhuǎn)換為正數(shù),然后再進(jìn)行后續(xù)運(yùn)算。其公式為:

GELU函數(shù)是針對解決隨機(jī)失活函數(shù)而創(chuàng)建的,其中隨機(jī)去激活具有0-1分布,即兩點(diǎn)分布,稱為伯努利分布,GELU將這個(gè)概率分布變?yōu)檎龖B(tài)分布(正態(tài)分布),或高斯分布分布。 高斯誤差的線性單元激活函數(shù)被內(nèi)置到Transformer中。其公式為:

一個(gè)語言模型在訓(xùn)練完成時(shí)參數(shù)就已經(jīng)確定了,但是對于不同的下游任務(wù),利用同一套參數(shù)顯然是不科學(xué)的,如果重新訓(xùn)練又會花費(fèi)大量的時(shí)間。BERT是一個(gè)預(yù)訓(xùn)練語言模型,為了適應(yīng)各種不同的下游NLP任務(wù),采用了Fineturning的方式來對已經(jīng)訓(xùn)練好的模型進(jìn)行微調(diào),以達(dá)到最好的模型匹配效果。

在模型轉(zhuǎn)化器結(jié)構(gòu)內(nèi),數(shù)據(jù)首先通過多頭關(guān)注模塊,以獲得一個(gè)加權(quán)特征向量。在注意力機(jī)制中,每個(gè)字符都有三個(gè)不同的向量,即查詢向量(Q)、密鑰向量(K)和值向量(V),通過三個(gè)特征向量來計(jì)算分配給每個(gè)詞的注意力權(quán)重。本文利用縮放點(diǎn)積的方法對注意力機(jī)制中的矢量進(jìn)行了計(jì)算,以避免其在內(nèi)積中過于龐大:

Output=Attention(Q,K,V)

Q、K和V的投影是用h種不同的線性變換進(jìn)行的,將不同的attention結(jié)果進(jìn)行串聯(lián)。

MuliHead(Q,K,V)=Concat(h,h,h…h(huán))W

其中W,W,W,W分別是輸出層,線性層的權(quán)重,m表示字符個(gè)數(shù)。

最后發(fā)送給前饋網(wǎng)絡(luò)模塊,該模塊由兩層結(jié)構(gòu)組成:第一層是激活函數(shù) ReLU,第二層是線性激活函數(shù)。

Output=max(0,WY+b) W+b

其中W,b是第一層的權(quán)重和偏差,W,b是第二層的權(quán)重和偏差。

BERT模型在自注意力機(jī)制的基礎(chǔ)上,采用了多頭自注意力(multi-head self-attention)機(jī)制、具體做法是針對文本進(jìn)行多次注意力運(yùn)算,在把運(yùn)算結(jié)果合并起來,即得到多個(gè)“注意力頭”的集成結(jié)果。BERT模型的輸出是一個(gè)三維矩陣,其中包括批次訓(xùn)練的大小,輸入句子的長度,模型的隱藏層大小。在訓(xùn)練期間,模型不但進(jìn)行正向傳播,而且還通過逆向傳播來優(yōu)化模型的參數(shù)。因此可以讓模型關(guān)注到語句不同位置的信息,也可通過不同注意力頭的集成緩解過擬合。

BERT模型最大的創(chuàng)新之處在于它在預(yù)訓(xùn)練方面是使用的遮蔽詞預(yù)測方法,以前的語言模型,可能通常是從左向右地預(yù)測下一個(gè)詞,或者是從右向左地預(yù)測上一個(gè)詞,又或者會采用雙層雙向網(wǎng)絡(luò),將兩種預(yù)測方法進(jìn)行簡單地結(jié)合。但由于BERT模型有Transformer結(jié)構(gòu),由于多層次注意力機(jī)制的存在,使得每一個(gè)單詞的編碼都能夠獲得全部單詞的相關(guān)信息,而且雙向處理是平行的,以前的模型只能在一個(gè)方向上進(jìn)行,這個(gè)方法只能在前面的單詞被預(yù)言之后,再去預(yù)測下一個(gè)單詞,這樣的方法效率非常低。BERT模型特有的遮蔽詞語言模型訓(xùn)練能極大提高模型效率,在遮蔽詞的預(yù)訓(xùn)練過程中,模型輸入序列中的元素會被隨機(jī)的特殊記號代替,從而完全屏蔽某一個(gè)詞在層次編碼過程中的全部信息。在對此模型進(jìn)行編碼后,通過對符號的最后輸出結(jié)果進(jìn)行預(yù)測。

2.2 評價(jià)指標(biāo)

對于二分類問題,基于真實(shí)類別和預(yù)測類別組合,可形成分類結(jié)果的混淆矩陣,如表1所示?;诨煜仃?,本文選取準(zhǔn)確率作為模型的評價(jià)指標(biāo)。正確率是評價(jià)模型最常用的衡量標(biāo)準(zhǔn),它表明了模型的預(yù)測或分類效率。

表1:混淆矩陣

在表1中,TN表示真值為0和預(yù)期值為0的樣本數(shù);FP表示真值為0但預(yù)期值為1的樣本數(shù);FN表示真值為1但預(yù)期值為0的樣本數(shù);TP表示真值為1和預(yù)期值為1的樣本數(shù)。雖然本文中的模型在訓(xùn)練后得到的準(zhǔn)確率、精確率和召回率三個(gè)指標(biāo)都顯示出相對積極的結(jié)果。然而,這些衡量標(biāo)準(zhǔn)仍然有一些局限性。而精確率和召回率分別是針對預(yù)測結(jié)果及原樣本而言的,因此本文后期采用了F1值為模型評判標(biāo)準(zhǔn),對測試集進(jìn)行預(yù)測,并進(jìn)一步優(yōu)化模型。

3 實(shí)驗(yàn)結(jié)果與分析

3.1 實(shí)驗(yàn)環(huán)境及實(shí)驗(yàn)數(shù)據(jù)集

本實(shí)驗(yàn)主要基于Python3.7進(jìn)行編碼,使用集成開發(fā)環(huán)境Jupyter Notebook和Pycharm進(jìn)行開發(fā),基于scikit-learn框架和Tensorflow框架完成模型搭建。硬件環(huán)境中CPU為Intel Core I7-10750H 2.60GHz,內(nèi)存大小為128GB,GPU為GTX 1650 Ti。

本實(shí)驗(yàn)中所有模型使用的訓(xùn)練集和測試集是企業(yè)安全隱患文本數(shù)據(jù),來源于2021全球開放數(shù)據(jù)應(yīng)用創(chuàng)新大賽,具有一級標(biāo)簽,二級標(biāo)簽,三級標(biāo)簽,四級標(biāo)簽,11999條訓(xùn)練數(shù)據(jù),17999條測試數(shù)據(jù)。

針對數(shù)據(jù)集中大量無用的標(biāo)點(diǎn)符號、停用詞以及特殊字符,為了避免噪聲和不必要的特征對模型性能產(chǎn)生不利影響,因此需要對文本數(shù)據(jù)進(jìn)行數(shù)據(jù)清洗。

3.2 模型參數(shù)選擇

本文在jupyter notebook和pycharm上進(jìn)行網(wǎng)絡(luò)訓(xùn)練,搭置好tensorflow環(huán)境后,定義深度學(xué)習(xí)模型BERT和多種機(jī)器學(xué)習(xí)模型的參數(shù),待模型搭建完成后再使用同一企業(yè)安全隱患文本作為訓(xùn)練集進(jìn)行模型訓(xùn)練。其中BERT模型的訓(xùn)練次數(shù)為3,迭代抽取的樣本數(shù)量為32,學(xué)習(xí)率為0.00001,優(yōu)化器為Adam,句子長度為128,分類類別數(shù)為2。SVM使用rbf作為核函數(shù),懲罰系數(shù)為1.0,核函數(shù)的參數(shù)為auto,停止訓(xùn)練的誤差值為0.001。隨機(jī)森林模型使用的決策樹個(gè)數(shù)為1200,樹的深度為15,使用Auto方法設(shè)置允許單個(gè)決策樹使用特征的最大數(shù)量,最小葉子節(jié)點(diǎn)數(shù)目為3,最大葉子節(jié)點(diǎn)數(shù)為400。BiLSTM使用交叉熵式損失函數(shù),迭代抽取的樣本數(shù)量為128,優(yōu)化器為Nadam,迭代次數(shù)為30。樸素貝葉斯模型使用交叉熵式損失函數(shù),迭代抽取的樣本數(shù)量為128,優(yōu)化器為Aadam,迭代次數(shù)為30。

3.3 模型結(jié)果比較

本文對訓(xùn)練集中的數(shù)據(jù)進(jìn)行數(shù)據(jù)預(yù)處理,數(shù)據(jù)分析后,對模型進(jìn)行訓(xùn)練和測試。最終在測試集的各指標(biāo)數(shù)據(jù)可視化柱狀效果如圖2所示。

圖2:各模型評價(jià)指標(biāo)對比圖

其中BERT模型的F1值最高,為0.976,而隨機(jī)森林的F1值最低,為0.808。BiLSTM、SVM和樸素貝葉斯的F1-score 分別為 0.903、0.931、0.885。

根據(jù)模型評價(jià)結(jié)果證明,對比其他經(jīng)典的深度學(xué)習(xí)模型BiLSTM和機(jī)器學(xué)習(xí)模型隨機(jī)森林,SVM,樸素貝葉斯,

BERT模型的各項(xiàng)評估指標(biāo)均有所提高,利用 BERT模型對企業(yè)的風(fēng)險(xiǎn)進(jìn)行文本分類和未達(dá)標(biāo)企業(yè)的預(yù)測,均可獲得較為滿意的結(jié)果。

利用深度學(xué)習(xí)BERT模型進(jìn)行企業(yè)安全隱患文本分類和不合格企業(yè)預(yù)測優(yōu)于其他傳統(tǒng)機(jī)器學(xué)習(xí)模型,目前企業(yè)安全隱患排查報(bào)告文本挖掘的研究較少,一般用傳統(tǒng)機(jī)器學(xué)習(xí)方法的研究較多,構(gòu)建BERT模型能改變以往傳統(tǒng)的人工排查企業(yè)安全隱患文本的方式,提高排查的效率,比起其他排查方法,各項(xiàng)評價(jià)指標(biāo)都更高,分析結(jié)果有利于幫助監(jiān)管企業(yè)安全的管理者做出更加明智的決策,還能排查出不合格的公司,降低企業(yè)安全風(fēng)險(xiǎn),保障企業(yè)職工生命健康,營造良好的企業(yè)發(fā)展環(huán)境。

4 結(jié)束語

本文介紹了深度學(xué)習(xí)模型BERT和BiLSTM,機(jī)器學(xué)習(xí)模型隨機(jī)森林、SVM和樸素貝葉斯相關(guān)理論知識,運(yùn)用編程軟件python使用企業(yè)安全隱患文本數(shù)據(jù)集進(jìn)行訓(xùn)練和測試,得到了BERT模型,BiLSTM模型,隨機(jī)森林模型,SVM模型,樸素貝葉斯模型對同一企業(yè)安全隱患數(shù)據(jù)集得出的準(zhǔn)確率,精準(zhǔn)率,召回率和F1值。對實(shí)驗(yàn)結(jié)果進(jìn)行對比得出了基于BERT的文本分類模型能夠有效實(shí)現(xiàn)具有安全隱患的不合格企業(yè)的預(yù)測,準(zhǔn)確率,F(xiàn)1得分等各項(xiàng)指標(biāo)都在97%以上,因此得出BERT模型進(jìn)行企業(yè)安全隱患文本分類和不合格企業(yè)預(yù)測的準(zhǔn)確性和先進(jìn)性。為相關(guān)監(jiān)管企業(yè)安全的部門做好企業(yè)安全監(jiān)督,安全生產(chǎn)決策的制定提供了輔助決策支持。

猜你喜歡
編碼向量分類
向量的分解
分類算一算
基于SAR-SIFT和快速稀疏編碼的合成孔徑雷達(dá)圖像配準(zhǔn)
聚焦“向量與三角”創(chuàng)新題
《全元詩》未編碼疑難字考辨十五則
子帶編碼在圖像壓縮編碼中的應(yīng)用
電子制作(2019年22期)2020-01-14 03:16:24
分類討論求坐標(biāo)
Genome and healthcare
數(shù)據(jù)分析中的分類討論
教你一招:數(shù)的分類
天峨县| 连州市| 元谋县| 都江堰市| 秭归县| 庐江县| 昂仁县| 西城区| 沾化县| 九龙县| 偏关县| 龙里县| 兴海县| 清河县| 东海县| 东明县| 湘潭县| 湘乡市| 临湘市| 巩义市| 临海市| 灯塔市| 内丘县| 禄丰县| 南城县| 山西省| 渝北区| 台州市| 萨迦县| 海门市| 延庆县| 定远县| 英德市| 津市市| 阿合奇县| 广安市| 双柏县| 岢岚县| 贵州省| 和静县| 嘉定区|