黃秀彬,許世輝,趙 陽,居 強(qiáng),何學(xué)東
(1.國(guó)家電網(wǎng)有限公司客戶服務(wù)中心,天津 300306;2.北京中電普華信息技術(shù)有限公司,北京 100031)
電力系統(tǒng)客服是供電企業(yè)和電力客戶間的溝通橋梁,可為電力客戶提供高效便利的服務(wù)。電力客服工單數(shù)據(jù)能夠記錄電力客戶在用電過程中的需求、建議和意見,分析工單數(shù)據(jù)能夠有效地定位用戶類別,并且有利于提升用戶體驗(yàn)。目前的工單數(shù)據(jù)分類方法,主要由專業(yè)的調(diào)查人員對(duì)工單數(shù)據(jù)進(jìn)行數(shù)據(jù)分析,從而判別工單數(shù)據(jù)對(duì)應(yīng)的服務(wù)類別。但是這種方法在分析大量的工單數(shù)據(jù)時(shí)存在效率偏低的問題,這會(huì)影響到電力系統(tǒng)的高效運(yùn)轉(zhuǎn)和快速發(fā)展。因此,找到一種智能,高效和準(zhǔn)確的工單分析方法對(duì)于電力客服系統(tǒng)十分關(guān)鍵。
近年來,電力客服工單分析任務(wù)得到了許多研究人員的關(guān)注,并取得了一些成果。湯寧[1]通過提取詞頻特征并建立了基于K 最近鄰(K-Nearest Neighbor,KNN)及支持向量機(jī)(Support Vector Machine,SVM)的工單分類模型。林溪橋及其團(tuán)隊(duì)[2]提出一種基于主成分分析的工單分類方法。楊柳林及其團(tuán)隊(duì)[3]使用TF-IDF(Term Frequency-Inverse Document Frequency)算法得到詞頻特征,再通過K-means 聚類算法得到工單分類的結(jié)果。武光華等[4]提出一種改進(jìn) 的TF-IDF 算 法SI-TFIDF(Semantic Influence-Term Frequency Inverse Document Frequency),通過構(gòu)建LDA(Latent Dirichlet Allocation)模型獲得詞向量的權(quán)重。以上基于淺層機(jī)器學(xué)習(xí)的工單分類方法雖然具有易于實(shí)現(xiàn)和訓(xùn)練快速的優(yōu)點(diǎn),但這些模型的特征學(xué)習(xí)能力和泛化能力往往欠缺。
為解決淺層機(jī)器學(xué)習(xí)模型存在的問題,研究者采用了基于深度學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)模型對(duì)分類任務(wù)進(jìn)行研究。目前卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)[5]和雙向長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(Bilateral Long-Short-Term Memory network,BiLSTM)[6]被廣泛應(yīng)用于文本識(shí)別[7]、語音識(shí)別[8]和情感識(shí)別[9]。CNN 的優(yōu)勢(shì)在于強(qiáng)大的局部信息提取與學(xué)習(xí)能力,但其在全局信息學(xué)習(xí)上存在缺陷[10]。深層的CNN 能夠更好地挖掘樣本包含的信息,但深層卷積網(wǎng)絡(luò)較難獲得有效的訓(xùn)練[11]。殘差網(wǎng)絡(luò)(Residual Convolutional Network,ResNet)可以在提升網(wǎng)絡(luò)模型深度的同時(shí)保證訓(xùn)練效率。BiLSTM 的優(yōu)勢(shì)在于能夠?qū)μ卣鏖g的上下文關(guān)聯(lián)信息進(jìn)行學(xué)習(xí),能夠挖掘文本信息中的深層語義信息,提升識(shí)別性能[12]。因此,該文提出了一種基于ResNet-BiLSTM 的電力客服工單分類模型,該模型利用殘差網(wǎng)絡(luò)學(xué)習(xí)句內(nèi)的細(xì)節(jié)特征,再通過BiLSTM 學(xué)習(xí)句間的上下文關(guān)聯(lián)信息,最終得到工單的類別預(yù)測(cè)結(jié)果。
文本的稀疏編碼可將眾多的單詞映射到一個(gè)共享空間,但是當(dāng)詞庫(kù)中的單詞類別很多時(shí),會(huì)導(dǎo)致“維數(shù)災(zāi)難”。為此,Mikolov 及其團(tuán)隊(duì)[13]提出了Word2Vec 框架來對(duì)單詞進(jìn)行編碼,如圖1 所示。假設(shè)當(dāng)前單詞的上下文表示為V=[v1,v2,…,vc]∈R^(c×D),其中D表示詞向量的稀疏表示的維度,c表示上下文單詞的數(shù)量。Word2Vec 利用共享的線性映射得到低維的隱含表示Vh∈R^(c×V),其中V表示降維后的詞向量維度。最終在Vh的數(shù)量維度上進(jìn)行平均得到Vo∈R^V,即降維后的當(dāng)前單詞的詞向量表示。Word2Vec 不僅是一種有效的降維方法,而且考慮了單詞間的上下文關(guān)聯(lián),因此Word2Vec 不僅能夠避免“維數(shù)災(zāi)難”問題而且還可以減輕語義鴻溝帶來的問題。
何凱明及其團(tuán)隊(duì)在2016 年機(jī)器視覺頂會(huì)CVPR上提出ResNet[14],用以解決網(wǎng)絡(luò)層數(shù)增加帶來的梯度爆炸、梯度消失以及隨網(wǎng)絡(luò)層數(shù)增加正確率退化的問題[15]。ResNet 的殘差連接形式如圖2 所示,輸出的期望映射H(x)被表示為殘差F(x)與恒等映射x的和。模型學(xué)習(xí)殘差的收斂速率要比傳統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)更快且訓(xùn)練誤差更小。因此,選擇ResNet結(jié)構(gòu)能夠使模型更高效地學(xué)習(xí)到魯棒性強(qiáng)的深層語義特征。ResNet-18 是ResNet 的經(jīng)典架構(gòu)之一,其網(wǎng)絡(luò)結(jié)構(gòu)如圖3 所示。ResNet-18 網(wǎng)絡(luò)中的第一個(gè)卷積層采用了64 個(gè)7×7 卷積核的結(jié)構(gòu),階段1 至階段4 采用了3×3 卷積核的結(jié)構(gòu),并且階段1 至階段4 的卷積核數(shù)量分別為64、128、256 和512,每經(jīng)歷一個(gè)階段后會(huì)經(jīng)過一個(gè)2×2 的池化層來縮小特征圖的大小。ResNet-18 網(wǎng)絡(luò)中的激活函數(shù)全部采用Relu 函數(shù),并且Batch Normalization 應(yīng)用于每個(gè)卷積層之后。
長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(Long-Short-Term Memory network,LSTM)的門控制和記憶細(xì)胞有效改善了循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)的梯度消失和梯度爆炸問題[16]。但是LSTM 只能利用過去和當(dāng)前的信息來對(duì)此時(shí)間進(jìn)行預(yù)測(cè),無法利用后續(xù)的信息進(jìn)行預(yù)測(cè)。對(duì)于文本分類任務(wù),文本的上下文關(guān)聯(lián)對(duì)于分類結(jié)果至關(guān)重要。因而,可以學(xué)習(xí)雙向語義相關(guān)信息的BiLSTM 被廣泛應(yīng)用于文本語義識(shí)別[13]。BiLSTM 的輸入門、遺忘門、輸出門和記憶細(xì)胞的更新公式可表示為:
其中,式(1)、(2)和(3)對(duì)應(yīng)于輸入門、遺忘門和輸出門的公式,σ(·)表示sigmoid 激活函數(shù),tanh(·)表示tanh激活函數(shù),Wi、Wf、Wo對(duì)應(yīng)于每個(gè)門的權(quán)重,bi、bf、bo為每個(gè)門的偏置項(xiàng),Yt-1表示(t-1)時(shí)間步的輸出,Xt表示t時(shí)間步的輸入,C'表示狀態(tài)變量,Ct-1表示(t-1)時(shí)間步的記憶細(xì)胞,Ct表示t時(shí)間步的記憶細(xì)胞。
其中,Yt表示t時(shí)間步的輸出。BiLSTM 將雙向的最后一個(gè)時(shí)間步的輸出Yleft和Yright進(jìn)行拼接,并進(jìn)行最后的輸出預(yù)測(cè)。
其中,Y為對(duì)Yleft和Yright拼接后的輸出,表示經(jīng)過激活層后BiLSTM 的最終輸出結(jié)果。
該文針對(duì)電力客服工單分類設(shè)計(jì)的ResNet-BiLST 模型主要包括三個(gè)部分:Word2Vec 詞嵌入、ResNet 語義學(xué)習(xí)網(wǎng)絡(luò)和BiLSTM 上下文關(guān)聯(lián)學(xué)習(xí)網(wǎng)絡(luò),如圖4 所示。每個(gè)工單中的N個(gè)語句,分別經(jīng)過Word2Vec 對(duì)句內(nèi)的每個(gè)單詞進(jìn)行詞嵌入處理,并將句中每個(gè)單詞的詞向量拼接成語義矩陣X=[X1,X2,…,XN]。每個(gè)句子對(duì)應(yīng)的語義矩陣分別輸入至ResNet來學(xué)習(xí)深層次的語義特征。然后將每句提取的深層語義特征輸入至BiLSTM 的不同時(shí)間步,通過BiLSTM 學(xué)習(xí)句間的上下文關(guān)聯(lián)信息。最后,將BiLSTM 的兩個(gè)方向特征[Xleft,Xright]進(jìn)行拼接,得到最終預(yù)測(cè)結(jié)果。
網(wǎng)絡(luò)的實(shí)現(xiàn)是通過pytorch 深度學(xué)習(xí)框架實(shí)現(xiàn),運(yùn)行環(huán)境為CPU Intel Core i7-9700F、GPU NIVIDA GTX1060 以及Windows10 64 位操作系統(tǒng)。
實(shí)驗(yàn)數(shù)據(jù)全部來源于電網(wǎng)客服中心記錄的數(shù)據(jù),該數(shù)據(jù)記錄了客戶對(duì)電網(wǎng)的需求、建議和意見。并且每條工單以文本的形式記錄,共分為咨詢(C1)、故障報(bào)修(C2)、服務(wù)申請(qǐng)(C3)、舉報(bào)(C4)、表揚(yáng)(C5)和意見與建議(C6)六類。所有的數(shù)據(jù)進(jìn)行了句停頓劃分和數(shù)據(jù)清洗等預(yù)處理操作。最終將全部數(shù)據(jù)按比例9∶1 劃分為訓(xùn)練集和測(cè)試集,并進(jìn)行十折交叉驗(yàn)證。
Word2Vec 詞嵌入算法的隱含層神經(jīng)元個(gè)數(shù)設(shè)置為100,詞向量的維度設(shè)置為200。ResNet 網(wǎng)絡(luò)的架構(gòu)選取為ResNet-18,BiLSTM 隱含層為2,每層的神經(jīng)元個(gè)數(shù)分別為64 和32。另外訓(xùn)練參數(shù)設(shè)置如表1 所示,正確率和宏-F1 分?jǐn)?shù)將用來評(píng)價(jià)客服工單多分類任務(wù)的性能。
表1 訓(xùn)練超參數(shù)設(shè)置
所提出的ResNet-BiLSTM 在測(cè)試集上六類工單分類的正確率和宏-F1 分?jǐn)?shù)如表2 所示。根據(jù)表2的實(shí)驗(yàn)結(jié)果ResNet-BiLSTM 取得了90.8%的平均正確率和0.889 的宏-F1 分?jǐn)?shù),證明了所提出的模型能夠準(zhǔn)確地對(duì)工單數(shù)據(jù)進(jìn)行分類,并且對(duì)于表揚(yáng)(C5)類別的識(shí)別正確率最高,達(dá)到96.5%,但是對(duì)于舉報(bào)(C4)識(shí)別正確率最低,只有84.0%。這可能是由于舉報(bào)(C4)容易被誤分類至咨詢(C1)或故障報(bào)修(C2)等反饋中。
表2 ResNet-BiLSTM的工單分類結(jié)果
在對(duì)比實(shí)驗(yàn)中,將所提出的模型與TextCNN,BiLSTM 和ResNet 模型在分類性能上進(jìn)行對(duì)比,其結(jié)果如表3 所示。通過表3 的結(jié)果可知,所提出的ResNet-BiLSTM 取得最高的分類性能,相較于其他三種模型分別提升了1.6%,6.2%和10.6%。這是由于所提出的模型,不僅使用ResNet 學(xué)習(xí)句內(nèi)的語義信息,還使用了BiLSTM 對(duì)句間的上下文關(guān)聯(lián)信息進(jìn)行了有效地學(xué)習(xí),進(jìn)而提升了模型對(duì)工單分類性能。
表3 不同網(wǎng)絡(luò)模型的性能比較
最終,對(duì)上述四種模型的訓(xùn)練及測(cè)試的時(shí)間復(fù)雜度進(jìn)行對(duì)比,結(jié)果如表4 所示。所提出的模型雖然在訓(xùn)練時(shí)間上速度慢,但是其在測(cè)試階段仍要優(yōu)于主流的文本分類模型TextCNN,說明所提出的模型在實(shí)時(shí)性能方面存在一定的優(yōu)勢(shì)。
表4 所有網(wǎng)絡(luò)模型的時(shí)間復(fù)雜度對(duì)比
該文對(duì)電力客服工單數(shù)據(jù)的分類進(jìn)行了研究,所提出的ResNet-BiLSTM 對(duì)工單數(shù)據(jù)的句內(nèi)語義和句間上下文關(guān)聯(lián)信息進(jìn)行了有效地建模。通過Word2Vec 得到詞向量并將每一句中的詞向量拼接成語義矩陣,再通過ResNet 對(duì)句內(nèi)的語義特征進(jìn)行學(xué)習(xí),并將得到的深層次語義特征輸入至BiLSTM 來進(jìn)行句間上下文關(guān)聯(lián)的表征。所提出的模型在真實(shí)電力客服工單數(shù)據(jù)上的分類準(zhǔn)確度達(dá)到90.8%,高于對(duì)比模型。且ResNet-BiLSTM 相較于對(duì)比模型在分類性能和時(shí)間復(fù)雜度方面都具有一定的優(yōu)勢(shì),能夠保證其在線性能的穩(wěn)定。在下一階段的研究中,將重點(diǎn)關(guān)注模型的輕量化,提升工單分類模型的在線性能。