李鵬鵬,周丹陽,姜朝明,喻湄霽,劉 偉,王 濤
(1.國網浙江省電力有限公司臺州供電公司,浙江 臺州 318000;2.西華大學 電氣與電子信息學院,成都 610039)
用戶評價是企業內部評估自身服務狀況,改善用戶體驗的重要渠道。國家電網有限公司(以下簡稱“國網公司”)作為供電服務類企業,對投訴工單尤為敏感。如何減少投訴工單,已成為國網公司的重要課題之一。在實際生產中,投訴工單有較少部分為直接投訴工單,更多的則是由其他非投訴工單向投訴工單轉化的轉化投訴工單。直接投訴工單能夠利用投訴行為特征被預測,但很難在直接投訴發生之前采取有效措施,因此直接投訴工單的預測結果可作為國網公司后期分析服務漏洞的重要參考。而轉化投訴工單占比較大,實現轉化工單的有效預測既可以對投訴風險提前預警,通過采取有效措施減少潛在投訴風險,又可以發現服務過程中的薄弱環節。但轉化投訴工單成因復雜,受技術發展、工單數據采集等因素制約,難以實現對其有效預測。人工智能技術的發展使復雜的投訴工單預測成為了可能。而本文所關注的投訴工單預測問題本身也是一種分類問題,適合用人工智能技術中的分類算法進行建模與求解。因此,以95598 歷史工單數據為基礎,借助于人工智能算法構建投訴風險預警模型,對于提升電力公司的服務水平意義重大。
目前,部分基于人工智能的經典數據挖掘算法已被應用于投訴風險預警領域,如文獻[1]在考慮文本詞頻權重的情況下,提出了一種TFIDF 特征加權優化算法對95598 投訴工單進行分類,但其僅局限于通過詞頻選取各投訴工單的關鍵因素,未能實現有效預警。文獻[2]采用了深度學習模型來識別疑似投訴工單,進而實現投訴工單風險預警,但尚未考慮轉化工單導致投訴的情況。此外,就模型而言,由于深度學習模型復雜,需要大量的計算性能來構建,而對于小數據集的簡單問題,在計算開銷和時間相同的情況下,深度學習方法并沒有比其他數據挖掘方法體現出足夠的優勢。文獻[3]提出了一種基于多模型的投訴風險預警方法,通過分析客戶歷史訴求和停電相關數據,利用了多種模型進行預測,并采用加權方法融合決策結果,以實現良好的預測效果。該方法雖然具有良好的計算開銷與時間開銷,但是不同模型之間的權重設置具有主觀性與不可解釋性。此外,支持向量機[4]、神經網絡[5]、隨機森林[6]和貝葉斯網絡[7]等人工智能算法在預測領域都較為活躍,其中隨機森林作為一種優秀的分類算法,在分類預測應用領域具有較為突出的綜合性能[8-11]。
本文在考慮轉化投訴工單的情況下,提出一種基于隨機森林算法的投訴風險預測方法。在完成95598 歷史工單數據預處理的情況下,利用歷史工單的供電地區、時間、天氣、前期工單事因、重復來電和投訴傾向等因素構建投訴行為特征。通過提取歷史工單數據中的投訴行為特征,完成對基于隨機森林的投訴風險預警模型訓練,最終實現對直接投訴工單與轉化投訴工單的預測。
隨機森林[12]作為數據挖掘技術中的一種集成分類器,其旨在從數據樣本中構造隨機決策樹模型以獲得單個分類器結果,再綜合單個隨機決策樹模型,獲得隨機森林模型。隨機森林的構造過程如圖1 所示,其主要步驟包括[13]:
(1)抽取子樣本。采用bootstrap 抽樣方法,隨機可重復取樣,形成新的子樣本數據集。
(2)建立子決策樹。對每個含有M 個特征變量子樣本訓練集,隨機方法抽取m(m<M)個特征,構造建立分類回歸樹。
(3)建立隨機森林模型。重復步驟(1)和(2),得到K 個決策樹,形成隨機森林。
(4)投票分類。結合K 個決策樹的預測結果,采用投票方式選出最優分類。

圖1 隨機森林的構造過程
隨機森林預測算法的實現過程見表1。

表1 隨機森林算法
為實現對95598 投訴工單的“先知先覺”,增強電力服務部門對投訴工單的預警能力,并基于此開展針對性更強的服務改善,以提高電力服務水平,本節根據95598 各類工單成因的特點,提出一種基于隨機森林算法的95598 投訴預測方法。該方法主要步驟如下:
步驟一:95598 歷史工單數據預處理。對歷史工單數據進行數據預處理,其主要步驟包括:數據投訴工單、數據清洗與數據集成。通過對目標城市歷史工單生數據進行處理,提供投訴工單成因挖掘模型所需的數據。
步驟二:投訴行為特征提取。對步驟一中經過預處理的歷史工單數據,進行數據分析并提取投訴行為特征。
步驟三:建立基于隨機森林的投訴預測模型?;诓襟E二中提取的各投訴行為特征,建立基于隨機森林的投訴預測模型。
步驟四:實時預測。將無標簽的95598 實時工單的相關行為特征送入步驟三所建立的投訴預測模型中,獲得預測結果。
95598 歷史工單數據主要包含文字數據和時間數據,其中文字數據主要指描述供電地區、工單事由等相關數據,本文采用數字編碼的方法對其進行全部編碼;時間數據主要指工單受理日期,本文采用時間距離法將時間數字化,其主要思想是將1900 年1 月1 日作為基準時間,且記為1,以當前時間與基準時間的數學距離作為時間數據;此外,為分析天氣因素對投訴工單造成的影響,還應對工單受理時間的近期天氣數據進行提取,考慮到投訴可能存在時間延遲性,成單時間可能與投訴成單當天的天氣并無關系,故針對天氣數據,本文考慮利用將成單時間近5 天中最嚴重的天氣情況作為成單的天氣因素。上述工作主要是完成數據投訴工單,目的是將工單中計算機無法直接識別的文字、天氣和日期投訴工單轉化為計算機可以識別的數據。
對經過數據投訴工單的數據進行數據清洗和數據集成。數據清洗主要是將歷史工單數據中的無效工單作刪除處理;數據集成是將投訴工單已有的成單時間、事由、地區和業務類型等因素與外部天氣數據集成,其所有成單因素作為一個數據庫參與后續建模。
投訴行為特征是描述投訴行為可能成因的重要因素,預測準確程度大部分取決于提取投訴行為特征的好壞。通過對歷史工單數據的預處理,可初步提取業務類型、工單時間、受理地區和天氣類型等因素作為投訴行為特征。實際投訴工單投訴行為表明:重復來電、前期的投訴傾向等對于投訴工單形成關系重大。故提取95598 歷史工單中用戶來電次數及來電時話務員判斷該用戶的投訴傾向數據,作為投訴行為特征。數據預處理及投訴行為特征提取見圖2。

圖2 數據預處理及投訴行為特征提取
通過對歷史工單數據的預處理,發現95598電力服務投訴工單成因可能與成單時間、成單事由、成單地區、業務類型和天氣因素等密切相關?;陔S機森林的95598 電力服務投訴工單預測模型P 可表述為:

式中:A為投訴工單的成單地區向量;T 為投訴工單的成單時間向量;V 為投訴工單的前期業務類型向量;W 為投訴工單的天氣類型向量;C 為投訴工單的溫度類型向量;F 為投訴工單的風速類型向量;L 為用戶重復來電向量;Q 為用戶投訴傾向向量。
以某市供電公司的95598 電力服務歷史工單數據為分析對象,建立基于該市的95598 投訴工單預測模型。
對該市供電公司歷年的95598 電力服務工單數據進行預處理后,共獲得數據樣本54 681 例。該市有供電轄區10 個,成單時間類型共有12 個月份,前期工單業務類型共9 種(表揚、服務申請、故障報修、建議、舉報、信息查詢、業務咨詢、意見和綜合業務),業務類型中受理類型共37個,天氣類型有陰、晴、多云、陣雨、小雨、中雨、大雨和暴雨8 類,氣溫類型有高溫、低溫2種,風速類型有強風1 種,雷電類型有出現雷電1 種。
基于隨機森林的95598 電力服務投訴工單預測模型可由式(1)表示。將完成預處理的數據導入Weka 平臺中,得到該預測模型的屬性分布,見圖3。

圖3 預測模型數據集
選用Weka3.8 平臺中的隨機森林算法,采用10%交叉驗證,對其進行模型建立。完成模型建立后,可得到各因素與投訴之間的關系,其中業務類型與投訴工單之間的關系尤為密切,二者之間關系的預測結果見圖4。

圖4 業務類型與投訴之間關系的預測結果
圖4 中橫坐標為工單業務類型,縱坐標為投訴類型(0 為無投訴;1 為轉化工單投訴;2 為直接工單投訴),圖中“×”表示正確預測樣本;“□”表示錯誤預測樣本。
圖4 投訴預測樣本結果的分析表明:當發生業務類型16(供電業務)和17(供電質量)時,易產生直接或間接投訴。當發生業務類型為29(營業業務)時,易發生轉化投訴。
ROC 曲線是以假陽率和真陽率為軸的曲線,其是描述預測性能的重要參數曲線,與橫軸圍成的面積越大,說明性能越好,即曲線越靠近A 點(左上方)性能越好,越靠近B 點(右下方)性能越差。根據模型建立結果,導出該預測模型的ROC曲線,見圖5。由圖5 可知,ROC 曲線幾乎完全接近A 點,因此本文方法所得到的預測模型性能良好。

圖5 本文方法的ROC 曲線
將本文方法與常見方法進行性能比較。首先給出比較中會涉及的預測模型測試參數定義。
均方誤差MSE:

式中:xi為預測值;x 為真實值;n 為預測樣本總數。MSE 用以描述預測結果的好壞,如果該值越大,則說明預測效果越差,反之越好。
若將預測模型的真陰類、真陽類、假陰類、假陽類分別用TN,TP,FN,FP 來表示,則召回率R 可定義為:

召回率R 描述了預測模型正確判定的正例占總正例比重。
F1值可定義為:

式中:F1值是預測模型的一個綜合指標,F1越大說明該模型預測效果越好。
為了充分說明本文方法的優越性,繼續以weka3.8 軟件為測試平臺,采用本文數據集完成對SVM(支持向量機)、MLP(多層神經網絡)、RT(隨機決策樹)、BN(貝葉斯網絡)和邏輯斯蒂方法的預測模型測試,測試結果見表2。

表2 各預測算法比較
由表1 可知:
(1)各模型對于本文數據集均有較好的準確率,本文方法與準確率最高的SVM 模型幾乎相當,但SVM 方法的均值誤差大了約8 倍。
(2)在建模用時方面,由于投訴風險預測并不是在線預測,完成建模的時間處于完全可接受的范圍內;而BP 神經網絡建模用時最長,很難適用于工程實際;貝葉斯網絡模型在建模用時方面優勢明顯,但其準確率與MSE 均不及本文方法。可見,雖然本文方法在某些單項指標方面并不是最佳的,但從綜合性能的角度考慮,本文方法較其他模型具有較大優勢。
為評估本文方法對于其他實際數據集的預測性能,繼續用本文方法做測試實驗。所選用的數據集為該目標城市最新獲得的2019 年1—5 月95598 工單,共計16 497 例,經過數據預處理獲得有效測試數據為16 218 例。該實驗在配置為windows 8.1 Intel(R)Core(TM)i5-4460 CPU@3.20 GHz 的計算機上通過MATLAB 編程實現,其預測分布結果見圖6。
圖6 中橫坐標為用于測試的樣本編號,縱坐標為投訴類型(0 為無投訴;1 為轉化工單投訴;2為直接工單投訴),圖中“※”表示預測結果,“□”表示真實結果。該實驗獲得正確預測的樣本共15 781 例,其正確預測率約為96.93%。由圖6 可知,在面對最新的實際95598 工單,本文方法依然有非常高的準確率。此外,2019 年上半年實測數據的準確率(96.93%)與表2 中的正確預測率(98.76%)之間存在一定的誤差,這是由于構建模型時數據采用交叉驗證方式,數據分布較為均勻,而2019 年上半年的95598 工單集中分布于1—5 月,故導致這種可容許的誤差存在,該誤差可以通過增加訓練樣本數來減小或規避。

圖6 某市2019 年上半年95598 預測結果分布
為實現95598 投訴工單投訴風險預測,減少投訴風險發生,在充分考慮多種因素的情況下,提出一種基于隨機森林算法的95598 投訴工單投訴風險預測方法。該方法與其他數據挖掘方法相比,具有以下優點:
(1)本文方法預測準確率較高,建模用時短,特別適合應用于工程實際中。
(2)本文方法所構造的模型均方誤差小,預測性能優異。
在實驗過程中也發現本文方法在建模速度上尚不及貝葉斯網絡方法和隨機決策樹方法,因此在保證預測準確性的情況下繼續提高建模速度,是未來研究的重點。