陳 鵬,吳旻榮,蔡 冰,何曉勇,金兆軒,金志剛,侯 瑞
1(國(guó)網(wǎng)寧夏電力有限公司,銀川 750001)
2(天津大學(xué) 電氣自動(dòng)化與信息工程學(xué)院,天津 300072)
3(華北電力大學(xué) 蘇州研究院,蘇州 215123)
4(華北電力大學(xué) 經(jīng)濟(jì)與管理學(xué)院,北京 102206)
近年來(lái),為響應(yīng)國(guó)家對(duì)于傳統(tǒng)產(chǎn)業(yè)數(shù)字化發(fā)展規(guī)劃的號(hào)召,電力企業(yè)采取了一系列措施來(lái)實(shí)現(xiàn)從傳統(tǒng)電力企業(yè)到能源互聯(lián)網(wǎng)[1]的轉(zhuǎn)型升級(jí),并將數(shù)字化轉(zhuǎn)型作為企業(yè)管理和運(yùn)營(yíng)的工作重心. 數(shù)字化轉(zhuǎn)型是利用新一代信息技術(shù)和人工智能技術(shù)對(duì)管理和運(yùn)營(yíng)過(guò)程中產(chǎn)生的一系列數(shù)據(jù)進(jìn)行采集、傳輸、存儲(chǔ)、處理和反饋. 數(shù)字化轉(zhuǎn)型可以提高各行業(yè)內(nèi)和相互間的數(shù)據(jù)流動(dòng),從而提高行業(yè)的運(yùn)行效率,有利于促進(jìn)國(guó)家構(gòu)建全新的數(shù)字經(jīng)濟(jì)體系. 在數(shù)字化管理運(yùn)營(yíng)中產(chǎn)生的數(shù)據(jù)中存在一部分?jǐn)?shù)據(jù)擁有更大的價(jià)值等待被發(fā)掘,我們將其稱(chēng)之為數(shù)字資產(chǎn). 對(duì)于電力行業(yè)而言,在電力運(yùn)行的過(guò)程中積累了大量的電力生產(chǎn)、運(yùn)營(yíng)數(shù)據(jù),可以被發(fā)掘出更多的電力數(shù)字資產(chǎn). 電力行業(yè)運(yùn)營(yíng)的過(guò)程中,客服是電力公司和電力用戶(hù)溝通交流的重要途徑,客服交流中產(chǎn)生了一系列重要的數(shù)據(jù)信息. 這些重要的數(shù)據(jù)信息常常以文本的形式存在,文本數(shù)據(jù)記錄著電力用戶(hù)對(duì)電力企業(yè)的相關(guān)需求,根據(jù)將客戶(hù)對(duì)電力企業(yè)的反饋進(jìn)行有效識(shí)別,可以進(jìn)一步提升電力企業(yè)的自動(dòng)化水平,加速實(shí)現(xiàn)數(shù)字型轉(zhuǎn)型.
將不同種類(lèi)電力相關(guān)文本進(jìn)行合理分類(lèi)可以為電力數(shù)字資產(chǎn)化提供高效的組織管理方式. 電力企業(yè)通常采用人工方式來(lái)區(qū)分這些文本數(shù)據(jù),這種方式不僅極大地消耗了電力公司的人力和財(cái)力,并且難以為電力客戶(hù)提供足夠高效的服務(wù)效率. 因此自動(dòng)識(shí)別電力客服文本類(lèi)型的研究成為電力企業(yè)所關(guān)注的問(wèn)題,利用先進(jìn)信息技術(shù)對(duì)文本數(shù)據(jù)進(jìn)行分析與智能計(jì)算[1]不僅旨在緩解電力公司客服人員的工作壓力,還將有效地促進(jìn)后續(xù)對(duì)電力數(shù)字資產(chǎn)的發(fā)掘. 不僅如此,實(shí)現(xiàn)電力企業(yè)客服文本的高效分類(lèi)還可以加速電力客戶(hù)得到相關(guān)客服的及時(shí)反饋,提升用戶(hù)滿意度.
本文的貢獻(xiàn)在于提出了一種面向電力文本類(lèi)型識(shí)別任務(wù)的新方法,記為BW_BiLSTM_ATTN. 該方法基于BERT 全詞遮蓋(whole word masking,WWM)中文預(yù)訓(xùn)練模型的動(dòng)態(tài)語(yǔ)義表示,這種動(dòng)態(tài)語(yǔ)義表示可以使電力文本具有更加符合語(yǔ)義上下文的向量表示,通過(guò)利用融合注意力機(jī)制的BiLSTM 作為編碼層來(lái)對(duì)電力文本進(jìn)行編碼并且捕捉其潛在的文本特征,利用注意力機(jī)制可以使得模型自動(dòng)提高對(duì)電力文本類(lèi)型識(shí)別有幫助的特征權(quán)重,最終利用Softmax 解碼器實(shí)現(xiàn)對(duì)電力文本的高效自動(dòng)化分類(lèi).
文本分類(lèi)[2]本身是自然語(yǔ)言處理領(lǐng)域中的一個(gè)重要分支,它的任務(wù)是根據(jù)文本的特征將其劃分到預(yù)先被定義好的固定類(lèi)別中. 常見(jiàn)的文本分類(lèi)的應(yīng)用有垃圾郵件判定、情感分類(lèi)等. 最早的文本分類(lèi)是通過(guò)判斷文本中是否出現(xiàn)了與類(lèi)名相同或相近的詞匯來(lái)進(jìn)行劃分類(lèi)別,但這種方法難以在大體量的數(shù)據(jù)上得到一個(gè)好的分類(lèi)效果[2]. 隨后出現(xiàn)了基于知識(shí)工程的文本分類(lèi)方法和基于機(jī)器學(xué)習(xí)的文本分類(lèi)方法,前者是利用專(zhuān)業(yè)人員的經(jīng)驗(yàn)、人工提取規(guī)則來(lái)對(duì)文本進(jìn)行類(lèi)別的劃分,后者是利用計(jì)算機(jī)高效的自主學(xué)習(xí)能力、提取一定的規(guī)則來(lái)進(jìn)行類(lèi)別的劃分. 現(xiàn)在,人工智能的快速發(fā)展也使得文本分類(lèi)有了新的研究方向,人們開(kāi)始把深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)運(yùn)用到文本分類(lèi)[3,4]中,有效緩解了傳統(tǒng)文本分類(lèi)中耗費(fèi)人力、分類(lèi)效果差等問(wèn)題.
電力行業(yè)作為社會(huì)的必需產(chǎn)業(yè),電力客服作為數(shù)字化轉(zhuǎn)型中的重要數(shù)據(jù)來(lái)源途徑,其客服文本在文本分類(lèi)研究中一直作為重點(diǎn)研究對(duì)象. 楊鵬等人[5]利用循環(huán)神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)對(duì)電力客服文本的層次語(yǔ)義理解,關(guān)注詞匯和字符的語(yǔ)義,最后提升了客服文本類(lèi)別劃分效果. 朱龍珠等人[6]利用門(mén)控循環(huán)神經(jīng)網(wǎng)絡(luò)(GRU)對(duì)國(guó)網(wǎng)客服中心的重大服務(wù)事件進(jìn)行了有效的分類(lèi).劉梓權(quán)等人[7]針對(duì)電力設(shè)備缺陷文本的特點(diǎn),構(gòu)建了基于卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)對(duì)缺陷文本分類(lèi). 李燦等人[8]利用雙向長(zhǎng)短期記憶網(wǎng)絡(luò)(bi-directional LSTM,BiLSTM)和CNN 相結(jié)合的優(yōu)化模型對(duì)電力客服工單進(jìn)行了類(lèi)別劃分實(shí)驗(yàn),得到了較好的效果. 肖禹等人[9]提出一種基于融合注意力機(jī)制的BiLSTM,殘差網(wǎng)絡(luò)和CNN 的模型來(lái)實(shí)現(xiàn)對(duì)中文文本分類(lèi). 顧亦然等人[10]利用BERT 增強(qiáng)了字符的語(yǔ)義表示并利用BERT 生成的動(dòng)態(tài)自向量實(shí)現(xiàn)高效的電機(jī)領(lǐng)域?qū)嶓w識(shí)別. 然而現(xiàn)存的一些工作很少有研究充分發(fā)揮BERT 預(yù)訓(xùn)練模型作為嵌入層用于電力文本分類(lèi)任務(wù)的模型. 本文提出的方法考量了BERT 預(yù)訓(xùn)練模型對(duì)于電力領(lǐng)域的文本高效向量表達(dá),使用 BERT輸出的字級(jí)別的向量表達(dá)可以有效避免由分詞帶來(lái)的詞表溢出問(wèn)題,使用融合注意力機(jī)制的BiLSTM對(duì)電力文本的高效向量表達(dá)進(jìn)行有效的特征提取從而得到對(duì)分類(lèi)任務(wù)有作用的特征,通過(guò)使用本文提出的模型對(duì)最終使用Softmax 函數(shù)得到文本類(lèi)別的概率分布.
BERT[11]由具有多頭自注意機(jī)制的Transformer 結(jié)構(gòu)[12]堆疊組成,通過(guò)預(yù)訓(xùn)練將大量語(yǔ)料利用自監(jiān)督任務(wù)得到細(xì)粒度的語(yǔ)義信息,由于BERT 使用海量的文本進(jìn)行訓(xùn)練,所以BERT 本身蘊(yùn)含這些文本中的語(yǔ)義信息,通過(guò)在模型中應(yīng)用預(yù)訓(xùn)練模型可以將電力相關(guān)文本輸入BERT 得到具有上下文語(yǔ)義信息的詞向量從而實(shí)現(xiàn)遷移學(xué)習(xí). 得到電力文本內(nèi)容關(guān)于BERT 上下文語(yǔ)義表達(dá)的向量表示后,利用具有注意力機(jī)制的BiLSTM可以有效捕捉對(duì)于文本類(lèi)型識(shí)別的潛在特征,相較于傳統(tǒng)的BiLSTM 可以讓模型通過(guò)施加注意力機(jī)制的權(quán)重比例從而使模型更加自主地學(xué)習(xí)到對(duì)電力文本類(lèi)型識(shí)別有效的特征. 最后通過(guò)使用Softmax 分類(lèi)結(jié)構(gòu)解碼輸出文本類(lèi)別的標(biāo)簽. 本文實(shí)現(xiàn)對(duì)電力客服文本類(lèi)型識(shí)別的具體網(wǎng)絡(luò)結(jié)構(gòu)BW_BiLSTM_ATTN 模型如圖1 所示.
圖1 BW_BiLSTM_ATTN 模型
首先將電力客服文本數(shù)據(jù)進(jìn)行預(yù)處理,得到每條客服文本的字符序列,將得到的電力客服文本字符序列進(jìn)行位置編碼和分段編碼,BERT-WWM 將字符的靜態(tài)嵌入表達(dá),位置向量和語(yǔ)句的分段信息進(jìn)行整合,通過(guò)使用堆疊Transformer 結(jié)構(gòu)來(lái)為每個(gè)字符計(jì)算其關(guān)于上下文的語(yǔ)義向量,得到每個(gè)字符的向量表達(dá)后使用融合注意力機(jī)制的BiLSTM 網(wǎng)絡(luò)來(lái)捕捉文本分類(lèi)中潛在的特征,注意力機(jī)制通過(guò)矩陣的點(diǎn)積計(jì)算求得判斷文本類(lèi)別的特征權(quán)重,從而使模型更加側(cè)重有效的特征表達(dá). 最終通過(guò)使用Softmax 層計(jì)算每個(gè)類(lèi)別的概率,得到模型判斷的最大可能性的文本種類(lèi),實(shí)現(xiàn)對(duì)電力客服文本數(shù)據(jù)的多分類(lèi)目標(biāo).
本文使用的特征與傳統(tǒng)方法相比在于本文使用字符級(jí)別特征得到句子的上下文表示,通過(guò)使用字符級(jí)別特征可以避免分詞過(guò)程中低頻率出現(xiàn)的詞組導(dǎo)致詞表溢出的問(wèn)題,此外利用BERT-WWM 預(yù)訓(xùn)練模型可以通過(guò)計(jì)算每個(gè)字符和前后字符之間相互的作用來(lái)模擬句子中的上下文語(yǔ)義影響,從而得到更加符合語(yǔ)義表達(dá)的字符表示. BiLSTM 使用邏輯門(mén)控的方式來(lái)更新和修改細(xì)胞的狀態(tài),從理論上解決了傳統(tǒng)循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)無(wú)法保留較早循環(huán)神經(jīng)網(wǎng)絡(luò)單元的輸出結(jié)果. 不過(guò)BiLSTM 仍有梯度消失和梯度爆炸的現(xiàn)象從而容易損失一些長(zhǎng)程的信息,使用注意力機(jī)制可以動(dòng)態(tài)調(diào)整對(duì)BiLSTM 的隱狀態(tài)權(quán)重從而捕捉文本中對(duì)類(lèi)型識(shí)別有效的潛在語(yǔ)義特征,最終使Softmax 層解碼得到更加合理的文本類(lèi)別.
本文使用BERT 預(yù)訓(xùn)練模型作為詞嵌入層,BERT[11]最早由谷歌提出的利用海量的語(yǔ)料,通過(guò)使用大量算力資源進(jìn)行自監(jiān)督訓(xùn)練任務(wù)訓(xùn)練出來(lái)的含有詞組的通用語(yǔ)義表達(dá)的模型. BERT 的模型結(jié)構(gòu)由多層Transformer結(jié)構(gòu)[12]堆疊而成,Transformer 是一種由多頭自注意力機(jī)制和全連接神經(jīng)網(wǎng)絡(luò)相互疊加,融合層歸一化和殘差連接的一種高效神經(jīng)網(wǎng)絡(luò)模型. BERT 的模型結(jié)構(gòu)如圖2 所示.
圖2 BERT 結(jié)構(gòu)
BERT 使用遮蓋語(yǔ)言模型的任務(wù)和下一句預(yù)測(cè)的任務(wù)一同進(jìn)行自監(jiān)督訓(xùn)練,遮蓋語(yǔ)言模型是指將文本中隨機(jī)遮蓋15%的子詞,其中將80%替換成[MASK]標(biāo)簽,10%替換成隨機(jī)詞匯,10%不進(jìn)行改變. 通過(guò)讓模型預(yù)測(cè)遮蓋住的15%的這些子詞從而讓模型學(xué)習(xí)到文本的向量表達(dá),中文預(yù)訓(xùn)練模型BERT-WWM 模型[13]與原BERT 不同的是遮蓋的是中文中的整個(gè)詞的,通過(guò)使用LTP 工具分割語(yǔ)料從而遮蓋完整的詞,通過(guò)增進(jìn)復(fù)雜的自訓(xùn)練任務(wù)來(lái)加大模型預(yù)測(cè)難度使模型學(xué)習(xí)到更加符合語(yǔ)義的表達(dá). 通過(guò)遮蓋詞匯例如“線路短路故障和負(fù)荷的急劇多變,使變壓器發(fā)生故障”中的“變壓器”,模型需要通過(guò)理解上下文的語(yǔ)義在自監(jiān)督的訓(xùn)練中填出“變壓器”這一詞,通過(guò)這樣的自監(jiān)督訓(xùn)練可以使模型具有豐富的語(yǔ)義知識(shí). 下一句預(yù)測(cè)的任務(wù)目的是學(xué)習(xí)到句子之間的關(guān)系,通過(guò)1:1 的比例設(shè)置正確句子順序和錯(cuò)誤句子順序,在讓模型判斷該順序是否正確的訓(xùn)練過(guò)程中學(xué)習(xí)到兩段句子的關(guān)聯(lián),從而使BERT-WWM 具有判斷句子之間關(guān)系的能力.
由于采用多層的Transformer 結(jié)構(gòu),因此BERT 利用多層累加的多頭自注意力機(jī)制來(lái)捕捉文本之間的關(guān)聯(lián),得到動(dòng)態(tài)的上下文詞向量表達(dá). 通過(guò)使用BERT 可以將預(yù)訓(xùn)練模型從海量語(yǔ)料中學(xué)習(xí)的知識(shí)進(jìn)行遷移,從而計(jì)算出的電網(wǎng)客服文本的詞向量都具有上下文的語(yǔ)義特征,高效語(yǔ)義特征也便于編碼層捕捉合適的分類(lèi)特征. 例如圖1 中句子“客戶(hù)查詢(xún)電費(fèi)”,這句話中每個(gè)字符都有一個(gè)固定的字向量,即token embedding,token embedding 與傳統(tǒng)的詞向量Word2Vec 具有相似的性質(zhì),都是靜態(tài)的向量表達(dá),不能很好解決一詞多義的問(wèn)題,比如“查詢(xún)”和“查干湖”中的“查”如果用靜態(tài)向量表達(dá)則會(huì)使用相同的向量,這會(huì)使模型無(wú)法很好捕捉文本的特征,而通過(guò)使用BERT 進(jìn)行上下文語(yǔ)義計(jì)算,每個(gè)字都和句中的其他字做交互計(jì)算,得到上下文相關(guān)的字符向量表達(dá). 由于BERT 模型使用堆疊Transformer 結(jié)構(gòu),使用全自注意力機(jī)制需要引入顯式的位置信息,例如“客戶(hù)不滿意,舉報(bào)”和“客戶(hù)滿意,不舉報(bào)”具有不同含義,因此本文使用BERT 中訓(xùn)練的位置信息,經(jīng)過(guò)與字符的字向量相加后輸入BERT 中即可讓BERT模型捕捉到句子中字符出現(xiàn)的前后順序.
BiLSTM[14]是在循環(huán)神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上改進(jìn)而來(lái)的門(mén)控神經(jīng)網(wǎng)絡(luò),通過(guò)使用輸入門(mén),遺忘門(mén),記憶門(mén)和輸出門(mén)來(lái)調(diào)整對(duì)上一時(shí)刻和這一時(shí)刻的狀態(tài)比例,需要模型記住并傳遞對(duì)電力分類(lèi)文本有作用的信息并舍棄冗余信息,從而使神經(jīng)網(wǎng)絡(luò)具有長(zhǎng)期記憶的效果.LSTM 的網(wǎng)絡(luò)模型如圖3 所示.
圖3 LSTM 結(jié)構(gòu)
遺忘門(mén)的計(jì)算公式如式(1)所示:
其中,Wf和bf是模型中可訓(xùn)練的參數(shù),ht?1是上一時(shí)刻輸出的隱狀態(tài),xt是當(dāng)前時(shí)刻的輸入,將電力分類(lèi)文本輸入進(jìn)入BERT 后輸出電力文本中每個(gè)字符的上下文相關(guān)向量,得到每個(gè)字符的向量作為BiLSTM 的輸入xt,使用激活函數(shù)計(jì)算得到遺忘門(mén)的值ft,遺忘門(mén)可以控制模型忘記電力文本中一些對(duì)類(lèi)型識(shí)別無(wú)關(guān)的信息,例如“客戶(hù)查詢(xún)電費(fèi)”中“客戶(hù)”對(duì)模型分類(lèi)提供的信息非常有限,遺忘門(mén)通過(guò)控制模型遺忘這類(lèi)提供信息有限的向量來(lái)達(dá)到促進(jìn)類(lèi)型識(shí)別使用高效向量特征.此外,BiLSTM 使用記憶門(mén)來(lái)控制模型記住一些對(duì)電力文本類(lèi)型識(shí)別有幫助的內(nèi)容,記憶門(mén)的計(jì)算公式如式(2)所示:
式(2)與式(1)相似,Wi和bi是模型中可訓(xùn)練的參數(shù),ht?1是上一時(shí)刻輸出的隱狀態(tài),xt是當(dāng)前時(shí)刻的輸入,使用激活函數(shù)計(jì)算得到記憶門(mén)的值it,例如“客戶(hù)查詢(xún)電費(fèi)”中“查詢(xún)”對(duì)模型分類(lèi)到查詢(xún)類(lèi)別提供了決定性的信息,因此通過(guò)記憶門(mén)來(lái)記住這類(lèi)對(duì)分類(lèi)提供有效信息的向量. 除了遺忘門(mén)和記憶門(mén),BiLSTM 為了反映當(dāng)前時(shí)刻的臨時(shí)細(xì)胞狀態(tài),定義了臨時(shí)細(xì)胞狀態(tài)的計(jì)算公式如式(3)所示:
式(3)中,WC和bC是模型中可訓(xùn)練的參數(shù),ht?1是前一時(shí)刻輸出的隱狀態(tài),xt是當(dāng)前時(shí)刻的輸入,使用雙曲正切函數(shù)計(jì)算得到當(dāng)前細(xì)胞的臨時(shí)狀態(tài). 最終利用遺忘門(mén)和記憶門(mén)作為系數(shù)計(jì)算得到當(dāng)前時(shí)刻的細(xì)胞狀態(tài). 細(xì)胞狀態(tài)的計(jì)算公式如式(4)所示:
式(4)中,Ct?1是前一時(shí)刻的細(xì)胞狀態(tài),該式表示通過(guò)控制遺忘門(mén)和記憶門(mén)可以達(dá)到控制上一時(shí)刻的信息流對(duì)當(dāng)前時(shí)刻的細(xì)胞狀態(tài)的影響. 通過(guò)使用分別對(duì)上一時(shí)刻細(xì)胞狀態(tài)和當(dāng)前時(shí)刻的臨時(shí)細(xì)胞狀態(tài)的加權(quán)計(jì)算可以得到當(dāng)前時(shí)刻得到這一時(shí)刻的細(xì)胞狀態(tài)后需要通過(guò)輸出門(mén)的計(jì)算來(lái)得到隱層的狀態(tài)輸出,輸出門(mén)的計(jì)算公式如式(5)所示:
式(5)中,Wo和bo是模型中可訓(xùn)練的參數(shù),ht?1是前一時(shí)刻輸出的隱狀態(tài),xt是當(dāng)前時(shí)刻的輸入,使用激活函數(shù)得到輸出門(mén)的值ot,利用輸出門(mén)的值可以計(jì)算得到隱層的輸出,隱層輸出的計(jì)算公式如式(6)所示:
式(6)中,將輸出門(mén)與當(dāng)前時(shí)刻細(xì)胞狀態(tài)的雙曲正切值相乘得到隱層的單向輸出 ,隱層的輸出則蘊(yùn)含著當(dāng)前時(shí)刻和之前的序列信息,若LSTM 為正向則蘊(yùn)含著電力文本中正向的分類(lèi)特征,例如文本“客戶(hù)查詢(xún)電量”中,正向LSTM 獲得“查詢(xún)”的向量時(shí)只能獲得“客戶(hù)”的特征表達(dá),而使用反向LSTM 時(shí)“查詢(xún)”只能獲得“電量”的特征表達(dá). 因此只有單向的序列信息往往是不全面的,在文本中往往一個(gè)詞的含義與上下文都有關(guān)聯(lián),因此采用BiLSTM 可以將電力文本在分類(lèi)任務(wù)中的特征表達(dá)更加全面.
注意力機(jī)制將對(duì)任務(wù)有幫助的內(nèi)容進(jìn)行高權(quán)重關(guān)注,這與人類(lèi)的感官注意力模式非常相像,本文在分類(lèi)模型中的BiLSTM 層引入注意力層[15]. 傳統(tǒng)方法通過(guò)將BiLSTM 前向與后向傳播的最終狀態(tài)拼接作為句子本身的特征,但由于BiLSTM 仍存在梯度消失和梯度爆炸的問(wèn)題,這導(dǎo)致句中的信息不能有效的被輸出表達(dá),若電力文本中對(duì)類(lèi)型識(shí)別任務(wù)有決定作用的字符處于長(zhǎng)句的中部,則當(dāng)模型訓(xùn)練不夠充分時(shí)LSTM 的正向和反向都難以捕捉到中部的有效信息. 本文將注意力機(jī)制作用到BiLSTM 層上,目的是將每個(gè)隱層的輸出經(jīng)過(guò)加權(quán)的拼接來(lái)看作句子整體的嵌入表達(dá),通過(guò)使用注意力機(jī)制的權(quán)重計(jì)算,輸出更符合分類(lèi)器來(lái)判別電力客服文本類(lèi)別的句子嵌入表達(dá). 注意力層的計(jì)算過(guò)程如圖4 所示.
圖4 自注意力機(jī)制
圖4 中表示的運(yùn)算由以下內(nèi)容闡明: 對(duì)于一個(gè)含有n個(gè)字符的電力文本句子通過(guò)BERT 捕捉上下文語(yǔ)義之后的表達(dá)S=(x1,x2,···,xn),其中S代表整個(gè)句子,xt代表每個(gè)字符通過(guò)BERT 之后需要輸入到BiLSTM 的詞向量. 那么LSTM 的隱層輸出可由式(7)–式(10)表示:
式(11)中,Ws2和Ws1是可學(xué)習(xí)的矩陣,通過(guò)一系列運(yùn)算后可以求得隱狀態(tài)矩陣H所需的注意力權(quán)重,例如“客戶(hù)查詢(xún)電費(fèi)”中,“查詢(xún)”的注意力權(quán)重在訓(xùn)練的過(guò)程中會(huì)增高,通過(guò)Softmax 函數(shù)來(lái)歸一化概率分布. 最終通過(guò)A矩陣與H矩陣相乘得到最后使用自注意力機(jī)制后的句子級(jí)別的嵌入表示M,在得到的嵌入表示中,對(duì)分類(lèi)有效的信息已經(jīng)通過(guò)注意力機(jī)制得到更充分的表達(dá),因此通過(guò)BiLSTM 編碼層可以獲得電力文本分類(lèi)任務(wù)更高效的特征表達(dá).
將通過(guò)自注意力機(jī)制進(jìn)行權(quán)重計(jì)算后求得的句子級(jí)別嵌入表示輸入Softmax 層進(jìn)行解碼輸出,得到每條句子對(duì)應(yīng)每個(gè)類(lèi)別的概率. Softmax 層可以看做是一個(gè)單層的全連接神經(jīng)網(wǎng)絡(luò),當(dāng)求得電力文本的句子嵌入表示M后,通過(guò)矩陣的線性變換后利用Softmax 函數(shù)求得概率分布. 具體計(jì)算公式如式(12),式(13)所示:
其中,Ws和bs是可學(xué)習(xí)的參數(shù),o是概率的權(quán)重,k是分類(lèi)的類(lèi)別,通過(guò)式(13)中的指數(shù)冪運(yùn)算,不僅可以將可能性較大的類(lèi)別概率所占權(quán)重增大,還可以保證所有類(lèi)別的概率相加值為1,從而保證是合理的概率分布.本文所針對(duì)電力客服文本分類(lèi)任務(wù)一共有“報(bào)修”“查詢(xún)”“以往業(yè)務(wù)”“投訴”“舉報(bào)”“表?yè)P(yáng)”“建議”和“反映”8 類(lèi)文本類(lèi)型. 因此Softmax 層將電力文本的向量表示通過(guò)一層神經(jīng)網(wǎng)絡(luò)轉(zhuǎn)化為符合概率分布的分類(lèi)向量,最終得到該句電力文本概率最大的類(lèi)別.
實(shí)驗(yàn)使用計(jì)算機(jī)的系統(tǒng)配置和主要程序版本如下:Linux 操作系統(tǒng),Python 3.7,PyTorch 1.2 深度學(xué)習(xí)框架,16 GB 內(nèi)存.
本文使用某電網(wǎng)信通公司的標(biāo)注工單日志作為本實(shí)驗(yàn)的數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),文本由“反映,建議,表?yè)P(yáng),舉報(bào),投訴,以往業(yè)務(wù),查詢(xún),報(bào)修” 8 種類(lèi)別的工單日志組成. 首先對(duì)文本的預(yù)處理,刪除了一些亂碼的文本與空文本. 然后經(jīng)過(guò)對(duì)數(shù)據(jù)集進(jìn)行隨機(jī)劃分與統(tǒng)計(jì),數(shù)據(jù)集的規(guī)模和文本最長(zhǎng)字符數(shù)如表1 所示.
表1 數(shù)據(jù)集統(tǒng)計(jì)信息
實(shí)驗(yàn)所用劃分后的數(shù)據(jù)集種類(lèi)數(shù)量分布如圖5 所示,其中,train 代表訓(xùn)練集,dev 代表開(kāi)發(fā)集,test 代表測(cè)試集.
圖5 數(shù)據(jù)集分布圖
如圖5 所示,數(shù)據(jù)集經(jīng)過(guò)隨機(jī)劃分后各種類(lèi)的數(shù)目具有大致相同的分布,訓(xùn)練集中查詢(xún)種類(lèi)的文本條目最多,表?yè)P(yáng)種類(lèi)的文本條目最少.
本文實(shí)驗(yàn)采用的評(píng)價(jià)指標(biāo)為類(lèi)型識(shí)別的準(zhǔn)確率,精確率(P),召回率(R)和F值. 對(duì)于每個(gè)單獨(dú)的類(lèi)型來(lái)看,其他類(lèi)型相對(duì)于當(dāng)前類(lèi)型均為負(fù)類(lèi),其指標(biāo)的計(jì)算公式如式(14)–式(16)所示:
其中,TP是當(dāng)模型判斷為正例中判斷正確的數(shù)目,FP是當(dāng)模型判斷為正例中判斷錯(cuò)誤的數(shù)目,FN是模型判斷為負(fù)例中錯(cuò)誤的數(shù)目. 將每一個(gè)類(lèi)別的指標(biāo)相加求平均可得整體的宏平均值,公式如式(17)–式(19)所示:
其中,Pi,Ri,Fi是每個(gè)種類(lèi)所對(duì)應(yīng)的精確率,召回率和F值. 將所有分類(lèi)正確的數(shù)目相加可得整體的準(zhǔn)確率.公式如式(20)所示:
其中,TP,FP和FN與上文中將某一個(gè)類(lèi)型當(dāng)做正例時(shí)的含義相同,TN是模型判斷為負(fù)例中正確的數(shù)目,由于將正例和負(fù)例均判斷正確的數(shù)量之和在一個(gè)分類(lèi)器中為定值,樣本總數(shù)不變,因此對(duì)于每個(gè)類(lèi)別求得的準(zhǔn)確率均相同,可認(rèn)為accuracy是模型整體的分類(lèi)準(zhǔn)確率.
為了驗(yàn)證本文所提出模型的有效性,本文采用了多種模型的對(duì)比實(shí)驗(yàn)來(lái)進(jìn)行比較. 在電力客服文本的類(lèi)型識(shí)別任務(wù)中,本文使用BiLSTM 作為基線模型,其使用復(fù)旦大學(xué)開(kāi)源的Word2Vec 靜態(tài)預(yù)訓(xùn)練詞向量[16]作為詞嵌入. 本文還對(duì)比了使用Word2Vec 作為詞嵌入的BiGRU 方法[17],BiGRU 融合注意力方法,CNN 方法[18]和Transformer 方法[12],對(duì)于使用預(yù)訓(xùn)練模型的方法,本文使用基于全詞遮蓋自監(jiān)督任務(wù)的BERT-WWM 預(yù)訓(xùn)練模型的微調(diào)方法(BW),BERT-WWM 融合卷積神經(jīng)網(wǎng)絡(luò)的BW_CNN 方法和BERT-WWM 類(lèi)型識(shí)別結(jié)果如表2 所示.
表2 對(duì)比實(shí)驗(yàn)結(jié)果 (%)
從表2 的實(shí)驗(yàn)結(jié)果中可以得出本文提出的模型BW_BiLSTM_ATTN 在宏平均精確率,宏平均召回率,宏平均F值和整體準(zhǔn)確率上都取得了最好的效果,分別達(dá)到99.05%,97.87%,98.43%,98.81%. 均高于傳統(tǒng)神經(jīng)網(wǎng)絡(luò)模型,其中相比于BiLSTM 基線模型在MacroF值上有4.61%的提高,整體準(zhǔn)確率較BiLSTM 有2.65%的提升. BERT 模型本身作為在海量數(shù)據(jù)體量下預(yù)訓(xùn)練出的高效模型已經(jīng)可以取得較好的效果,通過(guò)級(jí)聯(lián)傳統(tǒng)神經(jīng)網(wǎng)絡(luò)后可以進(jìn)一步提升對(duì)電力文本類(lèi)型識(shí)別的特征提取與編碼效果,相比于CNN和BiGRU,融合具有注意力機(jī)制的BiLSTM 可以更加有效的提取文本的特征,這是因?yàn)锽iLSTM 本身就利用門(mén)控單元求得電力文本每個(gè)字符輸出的隱層狀態(tài),通過(guò)使用注意力機(jī)制可以讓模型自行選擇需要的潛在特征從而得到更好的效果. 為了探究不同編碼器對(duì)BERT 的促進(jìn)作用,本文比較了在中文BERT-WWM預(yù)訓(xùn)練模型上添加不同的編碼器所取得的類(lèi)型識(shí)別效果,如圖6 所示.
圖6 基于BERT 的模型效果比較
通過(guò)實(shí)驗(yàn)統(tǒng)計(jì)了每個(gè)類(lèi)別的F值作為比較的評(píng)價(jià)標(biāo)準(zhǔn),從圖6 可以看出本文提出的模型相較原生BERTWWM 的微調(diào)模型在每個(gè)類(lèi)別的F值上均有提升,并且相比于BiLSTM 和CNN 作為編碼器,融合注意力的BiLSTM 模型在大多數(shù)類(lèi)別中都有最好的分類(lèi)表現(xiàn).實(shí)驗(yàn)結(jié)果表明了本文提出的使用BERT-WWM 預(yù)訓(xùn)練模型作為嵌入層,利用融合自注意力機(jī)制的BiLSTM作為編碼層,Softmax 層作為解碼層的模型在電力客服文本的類(lèi)型識(shí)別任務(wù)上具有較好的分類(lèi)效果.
為了進(jìn)一步說(shuō)明本文提出的模型BW_BiLSTM_ATTN 中每一部分對(duì)分類(lèi)結(jié)果的作用,本節(jié)做了多組消融實(shí)驗(yàn)來(lái)探究每一部分對(duì)結(jié)果的影響,分別對(duì)比了基線模型BiLSTM,去除BERT-WWM 預(yù)訓(xùn)練模型后使用中文Word2Vec 作為嵌入層的BiLSTM_ATTN 模型和去除注意力機(jī)制的BW_BiLSTM 模型. 整體的指標(biāo)比較如表3 所示.
由表3 可得去除BERT-WWM 預(yù)訓(xùn)練模型對(duì)本文所提出的模型效果損傷最大,缺少BERT 模型本身攜帶的有效語(yǔ)義信息限制了字符在模型中上下文的語(yǔ)義特征表達(dá),由于Word2Vec 屬于靜態(tài)預(yù)訓(xùn)練模型,難以動(dòng)態(tài)為字符分配符合上下文的語(yǔ)義特征表達(dá),宏平均F降低了3.03%,整體的準(zhǔn)確率下降了1.92%. 去除注意力機(jī)制后對(duì)于模型捕捉潛在特征的能力也有所損傷,不能使模型為BiLSTM 輸出的隱狀態(tài)信息進(jìn)行自動(dòng)賦予權(quán)重,從而造成電力文本類(lèi)型識(shí)別時(shí)模型對(duì)分類(lèi)信息有效的特征不夠突出,使得相較于原模型宏平均F下降了2.29%,整體的準(zhǔn)確率下降了1.17%.
表3 消融實(shí)驗(yàn)結(jié)果(%)
本文進(jìn)一步分析在電力客服文本分類(lèi)的消融實(shí)驗(yàn)中每個(gè)模型對(duì)各個(gè)種類(lèi)文本的分類(lèi)情況,實(shí)驗(yàn)的結(jié)果如圖7 所示.
圖7 消融實(shí)驗(yàn)對(duì)比圖
圖7 實(shí)驗(yàn)結(jié)果表示,本文提出的模型BW_BiLSTM_ATTN 與去掉模型中的任意結(jié)構(gòu)的模型相對(duì)比,在每一個(gè)類(lèi)別的文本分類(lèi)中都表現(xiàn)出最佳的效果. 本文提出的模型在各個(gè)種類(lèi)上的分類(lèi)結(jié)果如表4 所示.
表4 類(lèi)型分類(lèi)結(jié)果(%)
本文提出的模型在電力文本中的報(bào)修,查詢(xún),投訴,反映的文本類(lèi)型中分類(lèi)指標(biāo)都達(dá)到了100%,通過(guò)和其對(duì)應(yīng)類(lèi)別的數(shù)據(jù)條目對(duì)比分析,以上4 種分類(lèi)效果較好的類(lèi)別均為數(shù)據(jù)量較為充分的數(shù)據(jù)類(lèi)別. 以往業(yè)務(wù)的種類(lèi)數(shù)量也較多,但是由于以往業(yè)務(wù)中的細(xì)分種類(lèi)過(guò)于繁雜,導(dǎo)致模型對(duì)其文本結(jié)構(gòu)特征的捕捉能力較低. 模型在對(duì)舉報(bào),表?yè)P(yáng),建議這樣數(shù)據(jù)條目較少的類(lèi)別分類(lèi)的能力也略低于其他種類(lèi),這是因?yàn)樯窠?jīng)網(wǎng)絡(luò)模型需要從大量的數(shù)據(jù)中捕捉其共同的特征與特點(diǎn),當(dāng)文本特征不明顯或者數(shù)據(jù)量過(guò)少,都會(huì)影響模型的學(xué)習(xí)能力.
本文提出了一種高效的神經(jīng)網(wǎng)絡(luò)模型BW_BiLSTM_ATTN,提升了對(duì)電力客服文本類(lèi)型識(shí)別效果. 模型使用字符級(jí)別的向量作為特征,通過(guò)使用BERT-WWM預(yù)訓(xùn)練模型得到動(dòng)態(tài)的字符語(yǔ)義表達(dá)向量,利用融合注意力機(jī)制的BiLSTM 模型捕捉文本中潛在的語(yǔ)義特征并對(duì)文本的特征進(jìn)行編碼從而幫助類(lèi)型識(shí)別,最后使用Softmax 層完成對(duì)電力客服文本的分類(lèi),得到了優(yōu)于現(xiàn)有方法的結(jié)果. 不過(guò)由于數(shù)據(jù)量有限,在一些數(shù)據(jù)量較少的類(lèi)別上模型的表現(xiàn)稍有下降,下一步我們將研究在小數(shù)量類(lèi)型上的分類(lèi)方法. 另一方面,BERTWWM 模型相較于傳統(tǒng)模型的參數(shù)量巨大,如何在保證模型分類(lèi)質(zhì)量效果的基礎(chǔ)上減少模型參數(shù),這也是我們下一步研究的方向.