李 艷,朱倩倩,董秀萍
(1.蘭考三農(nóng)職業(yè)學(xué)院信息工程系,開封 475300;2.鄭州科技學(xué)院信息工程學(xué)院,鄭州 450000;3.開封大學(xué)電子電氣工程學(xué)院,開封 475000)
傳統(tǒng)的人工客服全天候為市民提供問題咨詢、登記、建議和轉(zhuǎn)發(fā)處理等熱線服務(wù)。隨著信息技術(shù)的飛速發(fā)展,市民咨詢、求助的數(shù)據(jù)也在急速增長[1],人工客服如何快速、準確分類用戶反饋的需求,并轉(zhuǎn)發(fā)相應(yīng)的部門是一個等待解決的問題。為了提高客服人員的工作效率,要求對客服人員登記的信息進行分類,方便下一步轉(zhuǎn)發(fā)處理,勢必需要融入各種新技術(shù)。
目前隨著機器學(xué)習(xí)算法研究的逐漸深入,文本分類的方法也在不斷優(yōu)化,并且應(yīng)用于電力領(lǐng)域[2]、石油化工行業(yè)[3]等。
本文以某公司登記的用戶問題為研究數(shù)據(jù),對比多種機器學(xué)習(xí)分類模型,以幫助客服自動分類用戶反映的問題,準確進行文本分類和識別。
短文本分類[4]是自然語言處理(NLP)中的基礎(chǔ)任務(wù),原理是將文本內(nèi)容根據(jù)一定的標準劃分為一個或多個類別的過程,本文是根據(jù)已有類別標簽的用戶問題文本集合,訓(xùn)練學(xué)習(xí)得到該文本特征和類別標簽之間的關(guān)系模型,然后利用這種關(guān)系模型對用戶反映新問題進行分類?,F(xiàn)針對本文實驗過程中使用的算法,如線性支持向量機、KNN、樸素貝葉斯和隨機森林做詳細介紹。
支持向量機(support vector machine)[5-6]是短文本分類中最常見的一種模型,同時也可以做回歸。支持向量機通過尋求結(jié)構(gòu)化風(fēng)險最小來提高學(xué)習(xí)機泛化能力,實現(xiàn)經(jīng)驗風(fēng)險和置信范圍的最小化,故在解決小樣本、非線性實際問題時具有一定優(yōu)勢。該模型在特征空間上找出最優(yōu)間隔分離超平面,最終轉(zhuǎn)化為一個凸二次規(guī)劃問題的求解。
樸素貝葉斯分類法是Lewis[7]提出的一種用于文本分類任務(wù)的算法,主要分訓(xùn)練階段和測試階段,在訓(xùn)練階段,根據(jù)訓(xùn)練數(shù)據(jù)計算先驗概率(似然度);在測試階段,根據(jù)輸入的特征計算后驗概率;而學(xué)習(xí)的過程就是不斷提高似然度的過程。樸素貝葉斯的優(yōu)點是具有較高的獨立性,分類所需要估計的參數(shù)少,對于缺失數(shù)據(jù)不敏感。
隨機森林的算法原理是以若干個決策樹[8]為基分類器創(chuàng)建了一個森林,并使它擁有某種方式隨機性,最終的結(jié)果由每個決策樹結(jié)果投票得到。所構(gòu)建的“森林”大部分時候都是用“Bagging”方法訓(xùn)練的[9]。Bagging算法對特征選擇與特征降維具有較好分類效果,它采用隨機、有放回的選擇訓(xùn)練數(shù)據(jù),并組合學(xué)習(xí)構(gòu)造的分類器,進而增加整體的效果。
簡而言之:隨機森林建立了多個決策樹,并將它們合并在一起以獲得更準確和穩(wěn)定的預(yù)測。隨機森林的一大優(yōu)勢在于該模型既可用于分類,也可用于回歸問題。
K 近鄰法(K-Nearest Neighbor)是假設(shè)一個樣本在特征空間中的k個最鄰近的樣本中的大多數(shù)屬于某一個類別,則該樣本也屬于這個類別,進而以其實現(xiàn)預(yù)測分類[10]。
本實驗的數(shù)據(jù)集為某公司客服在2012—2018 年收集的用戶登記的問題信息,共有371120 條數(shù)據(jù)。每一個信息包含78 個屬性,總體擁有78 個大類信息和249 個小類信息。借助第三方工具統(tǒng)計所得的數(shù)據(jù)信息如圖1所示。
圖1 數(shù)據(jù)集
根據(jù)研究需求,本文只選用了每條信息中的大類屬性、小類屬性、投訴內(nèi)容三條屬性信息。并且將數(shù)據(jù)劃分為訓(xùn)練集和測試集,其中70%的數(shù)據(jù)作為訓(xùn)練集,30%的數(shù)據(jù)作為測試集,類別屬性作為標簽。
2.2.1 數(shù)據(jù)預(yù)處理
為進一步提升分類效果,訓(xùn)練模型前本文需要對原始數(shù)據(jù)進行預(yù)處理,主要包含:分詞、去停用詞等。
(1)分詞。文本類型為英文的句子容易分割單詞,而中文需要借助一些工具來完成分詞處理,本文借助jieba來進行分詞。
(2)去停用詞。根據(jù)研究需求制作特定的停用詞詞典,并將其導(dǎo)入進行數(shù)據(jù)清洗,剔除語氣詞、介詞和助詞。
2.2.2 特征提取
在本文研究中主要使用TF-IDF 和HashVectorizer兩種文本向量化方法。
(1)TF-IDF 算法[11]是評估一個特征字或者單詞對一個語料庫中一份文本的重要程度。某個特征字或詞的權(quán)重與它在文件中出現(xiàn)的頻率成正比,但與它出現(xiàn)在語料庫的次數(shù)成反比。
詞頻(term frequency,TF)表示語料庫中某個單詞在當前文本出現(xiàn)的頻率,詞頻的高低代表特征詞的重要程度,其計算公式如(1)所示:
其中:ni,j表示單詞ti在文本dj中出現(xiàn)的次數(shù),表示所有詞在文檔dj中出現(xiàn)的總次數(shù)。
逆文檔頻率(inverse document frequency,IDF)主要指的是特征詞語的逆向文件頻率,一些特征詞對主題沒有太大作用,所以在設(shè)計權(quán)重時不能只考慮TF,而是將最能預(yù)測主題的特征詞賦予較大權(quán)重。IDF 權(quán)重越大,說明該特征詞的重要程度也就越高。其計算公式如(2)所示:
其中:D表示訓(xùn)練集總文本數(shù),|Di|表示含有特征詞的總文本數(shù)。
TF-IDF 算法是TF 算法與IDF 算法相乘,其權(quán)重計算公式如(3)所示:
(2)HashVectorizer 是一種快速且空間利用率高的特征向量化方法,即將任意特征轉(zhuǎn)換為向量或矩陣中的索引。它通過對特征應(yīng)用散列函數(shù)并直接使用特征的散列值作為索引來工作。具體思路:對應(yīng)任意一個特征名,利用Hash 函數(shù)找到與其對應(yīng)在哈希表的位置,然后將特征名對應(yīng)的詞頻統(tǒng)計值累加到該哈希表位置。HashVectorizer 與TF-IDF 相比節(jié)省內(nèi)存,也更快,故適用于處理大規(guī)模的文本數(shù)據(jù)。
2.3.1 模型評估
本文用的模型評估方法為精確率(Pression)和召回率(Recall)。精確率(Pression)指正確模型預(yù)測為正的占全部預(yù)測為正的比例;召回率(Recall)又稱查全率,表示分類結(jié)果是正確的時候由算法預(yù)測正確的是多少。
2.3.2 實驗結(jié)果分析
(1)根據(jù)不同年份的大小類數(shù)據(jù)對比不同機器模型的分類效果
基于TF-IDF 的特征提取方法,本實驗分別在2012—2018 年的大類和2012—2018 年的小類數(shù)據(jù)集上驗證多種分類模型的分類效果,結(jié)果如圖2和圖3所示。
圖2 基于不同模型在小類數(shù)據(jù)上評估的結(jié)果
圖3 基于不同模型在大類數(shù)據(jù)的評估結(jié)果
由圖2和圖3可以看出,基于TF-IDF的特征提取方法,分別用每年的大類數(shù)據(jù)和小類數(shù)據(jù)去評估多種機器模型,在大類的效果要優(yōu)于小類的評估結(jié)果。從分類結(jié)果可以看到,效果并不理想,那么除了分類算法的選擇外,對結(jié)果影響最大的可能是特征的選擇,即向量化方法的選擇。
(2)將向量化的方法換為哈希向量算法(HashingVectorizer), 選用梯度下降算法(SGDClassifier),所得結(jié)果如圖4所示。
圖4 基于SGDClassifier在大小類數(shù)據(jù)的分類評估
圖4 對比圖3 和圖2,利用哈希向量進行提取特征,效果優(yōu)于利用TF-IDF 提取特征。以上都是基于每年的數(shù)據(jù)分開進行評估,為進一步評估當前模型,取全部數(shù)據(jù)在此模型測試,數(shù)據(jù)量小的類別,幾乎很難達到60%的Precision,經(jīng)過分析得出是由于數(shù)據(jù)不平衡所致。
為驗證上面的分析,本文將數(shù)據(jù)量中的小類別按照一定規(guī)則進行切分處理,將符合數(shù)量條件的小類組成一個新數(shù)據(jù)集進行測試,分出的數(shù)據(jù)集之中,數(shù)據(jù)量小于100 條、小于200條、小于300 條的小類數(shù)據(jù)集,以及數(shù)量小于1000的小類數(shù)據(jù)集,未達到60%的Precision。
(3)基于HashVectorizer,在不同模型上對2014—2018 年的全部數(shù)據(jù)進行測試,得到的結(jié)果見表1。
表1 不同模型的評估
由表1 的評估結(jié)果可以看出,LinearSVC 模型的分類效果優(yōu)于SGDClassifier,進一步提升了分類的精準率。
科學(xué)和準確的信息分類技術(shù)對于提高客服人員的工作效率有極大的幫助。有效滿足人工客服快速、準確分類用戶反饋的需求,并轉(zhuǎn)發(fā)相應(yīng)的部門是一個等待解決的問題。本文在真實數(shù)據(jù)集上對比多種機器模型,從而找到最優(yōu)模型。但是用戶反饋的問題中詞語少,提供的有效信息有限,為進一步解決這個問題,下一步將考慮基于某種規(guī)則改進分類過程,優(yōu)化改進模型,從而提高分類效果。