趙進,楊小軍
(中國電信股份有限公司重慶分公司,重慶 401120)
大數(shù)據(jù)和人工智能作為國家提出的新型基礎設施,引發(fā)了新一輪的科技革命。中國電信作為國內(nèi)三大電信運營商之一、三化(數(shù)字化、信息化、智能化)產(chǎn)業(yè)布局者,正著力于大數(shù)據(jù)和人工智能在其業(yè)務和服務上落地生根,實現(xiàn)數(shù)字化轉(zhuǎn)型戰(zhàn)略目標。中國電信始終將用戶的良好體驗和用戶感知放在首位,對用戶的投訴進行業(yè)務拆解和快速分析,以求及時準確地反饋用戶,規(guī)避用戶越級投訴的風險和提升用戶良好體驗和使用感知。但是電信的業(yè)務服務類別復雜多樣,有效地識別用戶投訴類型目前還處于人工分類階段,在實際工作過程中,業(yè)務領域?qū)<业慕?jīng)驗起著主導作用[1],而培養(yǎng)一個業(yè)務領域?qū)<倚枰罅康臅r間成本和人力成本,因此,需要建立科學合理的文本分類模型。通常用戶投訴數(shù)據(jù)有多種來源,如10000、微信公眾號、線下廳店等,最終都會以非結構化的文本信息記錄在系統(tǒng)中,如何對這些用戶的投訴信息進行有效、快速、準確的分類成為處理用戶投訴、提升用戶良好體驗和使用感知的關鍵[2]。
文本分類屬于自然語言處理(natural language processing,NLP)應用研究范疇中的一個分支[3],在文本分類方法上,目前已經(jīng)有了很多有突破性的研究成果,比如基于樸素貝葉斯方法的文本分類方法[4]、基于條件隨機場的分類方法[5]等,隨著深度學習向文本挖掘領域發(fā)展,利用word2vec、LSTM、CNN、TextRNN、預訓練模型Bert等深度學習模型對文本進行分類,也取得了比較好的分類效果,并且在部分人工智能產(chǎn)品中落地應用。在傳統(tǒng)的文本分類方法中,需要將文本轉(zhuǎn)換成高維向量,這一般會造成向量維度過大,無論計算內(nèi)存還是計算時間,計算復雜度將會非常大。為了避免高維風險,需要借助特征工程的相關方法或模型對文本的關鍵特征進行有效的提取,實現(xiàn)降低文本特征向量的維度數(shù)。目前文本特征提取有基于詞頻(TF-IDF)的方法、基于互信息(mutual information,MI)的方法、基于(Chi-square)統(tǒng)計量的方法、基于信息增益(information gain,IG)的方法、基于WLLR(weighted log likelihood ration,WLLR)的方法和基于WFO(weighted frequency and odd,WFO)的方法等[6]。在電信用戶投訴文本數(shù)據(jù)中,存在很多與分類結果無關的信息描述,同時電信業(yè)務的類別復雜,多達幾十種。針對上述問題,本文提出基于GRW和FastText模型的方法,對用戶投訴文本進行多分類,并且基于真實的生產(chǎn)系統(tǒng)數(shù)據(jù)進行相關驗證性實驗,驗證了本文方法的有效性。
文本數(shù)據(jù)的特征提取方式與傳統(tǒng)的數(shù)值類型特征的提取方式不同。在數(shù)據(jù)表示上,傳統(tǒng)機器學習的數(shù)據(jù)由一組結構化的數(shù)據(jù)組成,這些數(shù)據(jù)的特征一般表現(xiàn)為字符串型的類別性、數(shù)值的離散性、數(shù)值的連續(xù)性、數(shù)據(jù)的時間性或周期性等,而文本數(shù)據(jù)屬于非結構化數(shù)據(jù),由字、詞、句組成。因此在對文本數(shù)據(jù)進行特征提取前,需要對文本進行預處理,將文本拆分成字粒度或詞粒度,然后通過不同的方法對文本數(shù)據(jù)進行數(shù)學表示。第一種方法是將文本表示成離散型數(shù)據(jù),如One-hot編碼和Multi-hot編碼等;第二種方法是將文本表示成分布式型數(shù)據(jù),如矩陣表示法、降維表示法、聚類表示法、神經(jīng)網(wǎng)絡表示法。
中文文本數(shù)據(jù)由字、詞、句組成的文本,將中文文本按字、詞進行拆分后可以進行一些數(shù)學統(tǒng)計,其中TF-IDF用來評估一個字或詞對一個文本集或語料庫中的一條文本的重要程度。當一個字或詞在一個文本數(shù)據(jù)中重復出現(xiàn)時,則認為該字或詞具有比較高的重要性,但如果該字或詞在所有的文本集或語料庫中均出現(xiàn),且統(tǒng)計其出現(xiàn)的次數(shù)比較高,則該字或詞的重要性反而會下降,如一些介詞、謂詞等。詞頻(term frequency,TF),即字或詞在文本中復現(xiàn)的頻率;逆向文本頻率指數(shù)(inverse document frequency,IDF),即一個字或詞在所有的文本中復現(xiàn)的頻率,如果一個字或詞在很多文本中出現(xiàn),那么IDF值較小,反之,如果一個詞在比較少的文本中出現(xiàn),那么它的IDF值較大。TF-IDF計算式如下:
其中,nij是該詞在文本dj中出現(xiàn)的次數(shù),是文本dj中的所有字或詞出現(xiàn)的總次數(shù),|D|是文本集或語料庫中的總的文本數(shù)量。|{j:ti∈dj}|表示包含字或詞ti的文本數(shù)目。
2011年Imambi提出特征加權方案GRW[7],賦予特征詞TF-IDF不同的權重。GRW模型計算式如下:
其中,TFIDFj是字或詞的T-FIDF值,P(Tij)是屬于分類i的詞j的概率,P(Ci)是屬于分類i的文檔的概率,然后選擇字或詞的最大GRW值確定屬于某個分類類別的特征詞:
例如,如果GRW(t1,c1)=0.3,GRW(t1,c2)=0.4,則詞t1被選擇為類別c2的特征詞。
SagarImambi在5 460份文檔的數(shù)據(jù)集上,分別采用GRW、TFIDF、CFS、信息增益比(gain ratio,GR)、Chi-square和過濾子集(filtered subset,F(xiàn)S)對文檔進行特征選擇后,在貝葉斯網(wǎng)絡、樸素貝葉斯、決策樹等分類算法上進行相關實驗,實驗表明,用GRW模型進行特征選擇后,具有較高的準確率(準確率比較見表1),因此文本也將使用GRW模型進行特征選擇。
表1 準確率比較[7]
FastText是FAIR(facebook AI research)提出的文本分類模型[8],該模型只有3層:輸入層、隱含層和輸出層。模型結構如圖1所示。
圖1 FastText模型結構
其中,W(i)(1≤i≤n)表示文本數(shù)據(jù)中每個特征詞的詞嵌入,對每個特征詞的詞嵌入進行累加后求其均值,用以表示該文本,最后通過sigmoid函數(shù)得到輸出層的標簽。在訓練該神經(jīng)網(wǎng)絡模型時,通過前向傳播算法進行訓練:
其中,z是一個向量,作為輸出層的輸入,W0是一個矩陣,存放模型隱含層到模型輸出層的權重。
通常通過神經(jīng)網(wǎng)絡模型的輸出層得到最終的分類類別時,采用softmax作為激活函數(shù),將輸出層的每個預測值壓縮在0到1之間并歸一化。但隨著分類類別的增加,softmax計算量也逐漸增加,為了減少訓練時間,加快模型的訓練過程,F(xiàn)astText使用每個分類類別的權重和模型的參數(shù)構建一棵Huffman樹,形成了層次softmax,由于具有Huffman樹的特點,很大程度上提高了模型的訓練效率。
FastText模型的隱含層對每個特征詞的詞嵌入進行累加后求均值,如果打亂詞的順序,該累加后求均值的方法并不影響隱含層的輸出,但失去了語言模型的上下文關系,如:“馬上”和“上馬”實際含義并不相同。在統(tǒng)計學語言模型中,N-gram算法采用的是滑動窗口法,取一個長度為N的窗口,按照字或詞依次滑過文本,生成片段序列,在FastText模型前向傳播過程中,把采用N-gram生成的片段序列表示成向量,也參與到隱含層的累加求均值過程中。然后所有的N-gram被Hash到不同的桶中,但是同一個桶共享嵌入向量,如圖2所示。
圖2 Embedding矩陣
Embedding(嵌入)矩陣中的每一行代表了一個字、詞或N-gram的嵌入向量,其中,前0到V-1行是詞嵌入,后0到Bucket-1行是N-gram嵌入。經(jīng)過大小為N的滑動窗口生成的片段序列被哈希函數(shù)作用后,被分散到0到Bucket-1的位置,得到每個片段序列的嵌入向量。
本實驗在公開數(shù)據(jù)集和私有數(shù)據(jù)集上進行。其中,公開數(shù)據(jù)集采用新浪新聞從2005年到2011年的歷史數(shù)據(jù),一共覆蓋10類新聞,每類新聞包括65 000條樣本。私有數(shù)據(jù)來源于某運營商已進行人工標注的29 084條投訴文本信息,這些投訴文本信息中包括了一些業(yè)務部門規(guī)定的基礎的模板信息(如投訴時間、投訴事件、業(yè)務號碼、投訴原因、用戶要求、聯(lián)系時間等),在對數(shù)據(jù)集進行特征提取前,需要對這些模板信息(如刪除固定的符號、刪除規(guī)定的規(guī)范用詞等)進行初步的清理,投訴內(nèi)容的原文以及對應的清理后的投訴內(nèi)容見表2,這有利于初步降低特征詞向量的維度、過濾無用符號等。
表2 用戶投訴文本信息
由于投訴文本以最終分類到具體的業(yè)務類別為標準,進而供業(yè)務單位處理。某運營商在業(yè)務類別分類上采用多級標識,以“>”作為上下級分割符號,且各業(yè)務類別均表示得比較獨立,因此將此投訴文本分類問題,定義為標簽多分類問題而不是多標簽分類問題。本實驗樣本已標記的數(shù)據(jù)分類類別共有89類,標簽均為文本,需要對類別進行編碼,部分類別編碼后見表3。
表3 業(yè)務類別編碼
從圖3投訴數(shù)據(jù)集分類統(tǒng)計可以看出,本次實驗數(shù)據(jù)集分布不均勻,業(yè)務類別記錄數(shù)從51到3 546條,屬于類別不均衡問題。此時,準確率不能作為最后分類模型效果評估的唯一標準,本文采用準確率(accuracy)、Kappa系數(shù)以及漢明損失(Hamming loss)作為評價模型好壞的指標。
圖3 投訴數(shù)據(jù)集分類統(tǒng)計
將實驗樣本數(shù)隨機打亂順序后,按7:3比例進行拆分,70%的數(shù)據(jù)作為訓練集,用于模型訓練;30%的數(shù)據(jù)作為測試集,用于模型驗證。
對中文文本數(shù)據(jù)進行特征提取前,需要對文本進行分詞,本實驗在采用jieba分詞工具的精確模式對文本進行分詞的同時,使用電信行業(yè)專用業(yè)務詞匯作為用戶詞典和中文標準停用詞,以提高分詞的準確性。
使用GRW模型對用戶投訴文本進行特征提取,提取出每個類別(標簽)的特征詞組,部分特征詞組見表4。
表4 分類類別及對應特征詞組
二分類問題的評價指標通常為準確率、精確率、召回率、F1-score、AUC、ROC、P-R曲線等,多分類問題的模型評估方式有兩種:第一種是將多分類的問題通過某種方式轉(zhuǎn)化為N個二分類的問題;第二種是采用多分類指標。常見多分類問題評價指標如下。
(1)準確率
一般分類問題采用混淆矩陣來判斷分類的效果,混淆矩陣如圖4所示。
圖4 混淆矩陣
其中,TP(true positives)表示預測對,實際也對;FP(false positives):表示預測為對,實際為錯;TN(true negatives):預測為錯,實際為錯;FN(false negatives):預測為錯,實際為對。準確率(accuracy)計算式如下:
(2)Kappa系數(shù)
Kappa系數(shù)用于衡量多項獨立指標的一致性(可靠性),表示具有有限范圍的任何統(tǒng)計量的重新定標,形式為(S-SR)/ max(S-SR),其中SR是在隨機性假設下的S值。Kappa系數(shù)取值范圍為-1到+1,值越高,代表模型實現(xiàn)的分類準確度越高。
其中,PA是總體分類精度,PC=P2+P′2,P是所有分類的比例,和為1。Kappa系數(shù)及一致性等級對應關系見表5。
表5 Kappa系數(shù)及一致性等級對應關系
(3)漢明損失[10]
漢明損失考查實例標簽被錯誤分類的情況。對于給定的向量f和預測函數(shù)F,漢明損失函數(shù)計算式如下:
其中,
漢明損失計算可描述為相關的分類標簽不在已預測的分類標簽集合中,或者描述為無關的分類標簽在已預測的分類標簽集合中,因此,漢明損失指標值與模型的分類能力呈現(xiàn)正相關性。
本實驗分別采用詞袋模型和樸素貝葉斯模型、Embedding和雙向LSTM模型、預訓練Bert模型、FastText模型作為基礎模型在公開數(shù)據(jù)集和私有數(shù)據(jù)集上進行訓練,再用GRW模型對特征進行提取后,結合FastText模型在訓練集上進行訓練,最后在同樣的測試集上進行驗證,結果見表6、表7。
表6 模型對比(公開數(shù)據(jù)集)
表7 模型對比(私有數(shù)據(jù)集)
對實驗結果進行比較分析可以看出,本文提出的基于GRW模型和FastText模型的分類方法在準確率、Kappa系數(shù)、漢明損失等指標上,比其他幾個模型有所提升,主要在于GRW模型在特征詞的提取上,進一步優(yōu)化了特征詞的重要性。
2020年10 月在某運營商采用本文提出的模型對電信用戶投訴文本進行分類,分別從“5G”“攜號轉(zhuǎn)網(wǎng)”和“橙分期”3個專題投訴分析過程中驗證模型。10月“5G”大類投訴共656件,“攜號轉(zhuǎn)網(wǎng)”大類投訴共508件,“橙分期”大類投訴140件,采用人工對這3類進行投訴類別細分,平均耗時1 min/件,準確率為90%。采用本文提出的模型進行自動分類后,總共耗時不到2 s,準確率達86%,接近人工分類準確率,提高了業(yè)務人員工作效率,縮短了投訴處理時長。
本文提出了一種基于GRW模型和FastText模型的文本分類方法,并應用于電信用戶的投訴文本分類問題中,在實驗結果對比上,基于GRW模型和FastText模型的方法比Bag of Words+樸素貝葉斯模型、Embedding+雙向LSTM、Bert和Fast模型在準確率、Kappa系數(shù)、漢明損失上有所提升。GRW模型是加權的TF-IDF模型,在數(shù)據(jù)分析過程中有較好的準確性和解釋性,使用FastText模型進行投訴文本分類具有較快的分類速度和較好的準確率。綜上,使用本文提出的方法,有利于業(yè)務人員快速識別投訴業(yè)務類型,進行針對性的業(yè)務受理和用戶服務,以提升用戶感知。