張聰慧
【摘 要】針對電信客戶數據量龐大的特點,采用基于python語言的樸素貝葉斯分類算法,對電信客戶的投訴內容進行分類,以便在更短的時間內對客戶的投訴意見作出有效的處理,從而提高客戶的滿意度。
【關鍵詞】貝葉斯分類;多項式模型;高斯模型;伯努利模型
中圖分類號: TP23 文獻標識碼: A 文章編號: 2095-2457(2019)02-0122-002
【Abstract】In view of the huge amount of data of telecom customers, the naive Bayesian classification algorithm based on Python language is adopted to classify the complaints of telecom customers, so as to effectively deal with the complaints of customers in a shorter time, thereby improving customer satisfaction.
【Key words】Bayesian classification; Polynomial model; Gauss model; Bernoulli model
0 引言
樸素貝葉斯(Nave Bayes)是一種簡單但是實用性很強的分類模型,其構造基礎是貝葉斯理論。樸素貝葉斯模型有較強的特征條件獨立假設,被廣泛應用于海量文本分類任務。本文首先簡述貝葉斯分類算法的原理和常用的三種模型,然后基于Python編程語言和sklearn自帶的貝葉斯分類器對電信客戶的投訴內容進行分類,計算分類的準確率,并輸出投訴內容的分類結果,進而提高客戶的滿意度。
1 樸素貝葉斯分類算法原理簡述
1)樸素貝葉斯分類算法是貝葉斯分類算法的一種,它基于一個實例在給定類別值的條件下各特征屬性值間是相互獨立的,利用類別的先驗概率和樣本信息通過貝葉斯公式計算未知文本屬于某一類別的后驗概率,最大的后驗概率即為文本分類的判別結果。
2)樸素貝葉斯分類的原理:
3)樸素貝葉斯分類器是基于樸素貝葉斯理論的分類器,通常有三種實現方式,分別是基于多項式模型實現、基于高斯模型實現和基于伯努利模型實現。其中多項式模型主要用于文本的主題分類,會考慮單詞在文檔中出現的次數,而伯努利模型不考慮詞頻,只考慮這個單詞有沒有出現,假設詞是等權重的,主要用于文本情緒分析。
(1)多項式模型
使用多項式模型進行分類,假設N是樣本總數,k是總的類別個數,n是特征的維數,NYK是類別為yk的樣本的個數,N是類別為yk的樣本中第i維特征的值為xi的樣本的個數。多項式模型在計算先驗概率P和條件概率時P(x|y),會做一些平滑處理,設α是平滑值,則:
(2)高斯模型
高斯模型適用于輸入特征是連續(xù)值的隨機變量的情況,假設每一維特征都服從高斯分布(正態(tài)分布)。在高斯模型中,假設:y~Bernoulli(φ)=pφp1-φ
(3)伯努利模型
在伯努利模型中,每個特征的取值是布爾型的,即true和false,或者1和0。以文本分類為例,某個單詞在文檔中出現過,則其特征值為1,否則為0。當特征值為1時,條件概率的計算公式為:
2 程序設計
2.1 文本分類步驟包括
(1)文本預處理:對于中文文本分類來說,主要是分詞、去停用詞,然后隨機抽取部分文本作為訓練數據,剩余部分作為測試數據;(2)文本特征提取:特征權重計算,并保存特征化后的特征提取對象;(3)訓練分類器:建立分類器對象,并調整模型參數,利用經特征提取的訓練數據對分類器訓練、評估并保存;(4)待分類文本預處理:加載特征提取對象;(5)加載分類器,對測試樣本進行分類,輸出分類預測結果。
下面以基于多項式模型的python語言為例,對72243條電信客戶投訴文本進行分類。隨機抽取80%的數據作為訓練集,20%的數據作為測試集,進行文本特征提取,訓練分類器,進行評分并保存。
部分實現代碼如下:
2.2 實驗結果輸出
2.2.1 分類器評估
分類器評估結果輸出如圖1所示,分類的準確率可達到91.1%,后續(xù)將增大訓練樣本空間,優(yōu)化分類器參數,分類器的準確率可獲得進一步提高;
2.2.2 分類結果及應用
分類器的部分輸出結果如圖2所示,將客戶口語化的投訴內容,轉換成某種業(yè)務投訴分類的標準化類別,根據投訴內容對故障現象進行分類。基于樸素貝葉斯分類算法可準確分類的能力,配合前端語音識別系統,可在客戶服務系統中實現投訴內容的識別與預分類,從而按分類結果自動反饋處理建議,在提升用戶體驗和投訴處理效率的同時,也可節(jié)約人力成本;
3 結束語
基于樸素貝葉斯理論的貝葉斯分類器是一種常用的分類器,分類器利用已標注好的訓練文本訓練得到,然后對測試文本進行測試,求得文本屬于某個類別的概率。本來利用python語言和sklearn庫,實現了電信客戶投訴文本的自動分類,分類過程實現比較簡單,分類效果良好,能在較短的時間內對客戶的投訴作出處理,從而提高客戶的滿意度。
【參考文獻】
[1]蔣盛益,李霞,鄭琪著.數據挖掘原理與實踐[M].北京:電子工業(yè)出版社.2013.