鐘愛,梁小青,肖梅,向黎藜,段凱,李竹
(國網重慶市電力公司營銷服務中心,重慶 400000)
在大數據時代背景下[1],電力企業有資源更有能力利用先進技術充分挖掘文本數據價值,推進服務能力提升。電力企業在多年的客戶服務過程中已經累積了大量的客戶文本等服務訴求數據,主要為95598投訴意見工單數據[2],但是局限于目前人工分析的瓶頸,導致整體分析效率不高,無法全面及時地分析到位,分析深度不深,分析的廣度不夠,無法精準快速定位用戶訴求熱點,同時對95598工單的分析也是零散且成效甚微的。在目前大數據技術高速發展的背景下,對于文本等非結構化的數據已經有了成熟的機器分析技術,故已具備了相當的條件進行基于文本的結構化信息提取,并基于信息提取結果探索客戶訴求熱點及工單的深度分析,以有效提升分析效率,強化分析深度和廣度,訴求精準管控,從而精準定位風險工單,達到投訴精準管控的目的,達到服務及分析能力智能提升的目標。
命名實體知識圖譜[3-7]是由投訴意見工單各業務關鍵點鏈接起來的結構化信息提取架構。通過對投訴意見工單進行結構化信息提取,可快速了解投訴用戶類型、用戶所在臺區線路等、所屬業務、投訴原因關鍵點等。
95598工單的信息結構化提取具體提取什么信息需要根據實際業務情況進行梳理,每個業務模塊需要關注的側重點都不相同,所以需要結合各業務口業務經驗以及業務關注點對文本中的關鍵信息進行梳理,本文主要針對頻繁停電、電壓質量、業擴報裝以及營業廳四個業務模塊的投訴意見工單進行信息結構化提取工作。通過梳理大量工單,結合業務專家的經驗,設計基于業務主題的信息抽取框架,確定所需信息的結構化字段。
目前線上數據主要來源于營銷業務系統,主要包含如下:客戶檔案信息、95598投訴工單處理情況文本數據、歷史95598投訴工單處理情況文本數據、95598意見工單數據等。在業務看來投訴意見工單都表示用戶針對某一問題有投訴意向,需要深度挖掘,所以本次研究主要關注投訴意見工單兩種類型,在95598投訴意見工單中,包含文本信息最多且最需要花費人力的為受理內容和處理內容,所以文本結構化信息的提取主要聚焦投訴意見工單的受理文本和處理文本。 針對本文模型訓練緣故,需要工單的文本標注數據,主要來源于線下人工對工單處理情況的梳理數據,此部分數據僅作為模型訓練使用,不影響系統運行與實施。
分詞的目的是將文本根據一定的規則進行分詞處理,便于提取文本的特征值,為文本提供特征值對比的詞組。目前市面上有很對相對成熟的自動分詞包,如jieba,HanLP等,這些包都采用基于大規模訓練語料的統計方法,本文主要采用jieba分詞包對文本進行分詞處理。
去除余綴詞匯的工作是本文預處理中必不可少的,去出余綴詞匯之后可以有效減少詞匯噪音,更好的保留有效文本特征,獲得更好的文本特性,使得分類模型達到更高的精度。
①刪除標點符號:標點符號在文本中不具有任何語義表達作用,可歸類為額外信息,刪除標點符號能有效減少文本數據,提升模型訓練性能。
②停用詞、稀缺詞去除:停用詞通常自身并無什么明確的意義,只有將其放入一個完整的句子中才有一定作用的詞匯。所以在進行分詞之后,停用詞作為單獨的一個詞匯,并不能表達明確的意思,例如語氣助詞、副詞、介詞、連接詞等;本文主要采用百度停止詞匯表,并在其基礎上收集投訴工單中的介詞、問候語等詞匯創建停用詞庫,根據停用詞庫去除投訴文本中的相應詞匯,達到清洗文本的目的。稀缺詞是指只存在于少數工單里的詞匯。低頻詞匯因其稀有性,對模型性能提升極其有限,可以替換稀缺詞為其他同義詞以提高詞頻,或者直接刪除以提升模型迭代效率。
③消歧轉換:95598投訴意見工單內容有部分是音譯文本,因此文本描述中存在的一些同音的錯別字,需要對這些詞匯進行消歧轉換,例如:對“陪產”,“賠長”等詞進行消歧處理轉換,轉換為“賠償”。
④習慣用語去除:文本中類似“情況反映反映”、“客戶表示滿意”,是不同文本類別的通用文本,詞頻高但對于分類沒有幫助,應當去除以便提升模型迭代效率。
詞向量是自然語言處理中常見的一個操作,自然語言理解的問題要轉化為機器學習的問題,需要將文字符號內容數字化,變成機器代碼可識別的內容,本文主要采用TF-IDF的方式進行詞向量化。
TF-IDF是一種統計方法,用以評估一字詞對于一個文件集或一個語料庫中的其中一份文件的重要程度。字詞的重要性隨著它在文件中出現的次數成正比增加,但同時會隨著它在語料庫中出現的頻率成反比下降。TF-IDF的主要思想是:如果某個單詞在一篇文章中出現的頻率TF高,并且在其他文章中很少出現,則認為此詞或者短語具有很好的類別區分能力,適合用來分類。
TF是詞頻:表示詞條(關鍵字)在文本中出現的頻率,這個數字通常會被歸一化(一般是詞頻除以文章總詞數), 以防止它偏向長的文件。
(1)
IDF是逆向文件頻率:某一特定詞語的IDF,可以由總文件數目除以包含該詞語的文件的數目,再將得到的商取對數得到。如果包含詞條t的文檔越少, IDF越大,則說明詞條具有很好的類別區分能力。
(2)
TF-IDF實際上是TF*IDF,某一特定文件內的高詞語頻率,以及該詞語在整個文件集合中的低文件頻率,可以產生出高權重的TF-IDF。因此,TF-IDF傾向于過濾掉常見的詞語,保留重要的詞語。
TF-IDF=TF*IDF
(3)
正則算法,也稱作正則表達式(Regular Expression)[11-13]是一種強大的、便捷的、高效的文本處理工具,它可以表示單字符、字符串集合等更加復雜的搜索模式。主要是使用單個字符串來描述、匹配一系列滿足某種句法規則的字符串,正則表達式通常被用來檢索、替換那些匹配某個模式的文本。
一個正則表達式RE是符號集合∑{ε,|,·,*,(,)}上的一個字符串,它可以遞歸定義如下:
空字符ε是正則表達式。
任意字符α∈∑是正則表達式。
如果RE1和RE2都是正則表達式,則(RE1),(RE1·RE2),(RE1|RE2)和(RE1*)亦是正則表達式。
正則表達式RE所表達的語言是∑上的一個字符串集合。根據RE的結構,可以將它遞歸的定義如下:
如果RE是ε,則L(RE)={ε},即空串。
如果RE是α∈∑,則L(RE)={α},即包含一個字符的單串。
如果RE是(RE1)這種形式,則L(RE)=L(RE1)。
如果RE是(RE1RE2)這種形式,則L(RE)=L(RE1)L(RE2),其中W1W2可以看字符串w的集合,其中,w=w1w2并且w1∈W1,w2∈W2。
如果RE是(RE1|RE2)這種形式,則L(RE)=L(RE1)∪L(RE2),是這兩種語言的并集,“|”成為操作符。
如果RE是(RE1*)這種形式,則L(RE)=L(RE)*=Ui>0L(RE)i,其中L0={ε}并且Li=LLi-1,它表示字符串集合是由0個或者多個RE1表達的字符串連接而成,“*”稱為操作符。
在文本T中搜索正則表達式RE的問題就是找到文本中所有屬于語言L(RE)的字串。搜索的方法首先將正則表達式解析成一棵表達式樹,然后將表達式樹轉換成非確定性有限自動機(NFA),直接使用NFA進行搜索是可行的,然而NFA算法處理速度通常比較慢,一般地,搜索過程最壞情況的時間復雜度是O(mm),但是所需儲存空間并不多。另一種策略是將NFA變成確定性有限自動機(DFA),他的搜索時間是O(n),但是構成這樣一個自動機所需的最壞情況時間和空間復雜度都是O(2m)。
非確定性有限自動機(NFA),一個字母可以標記離開狀態的多條邊,并且ε也可以標記一條邊;這說明NFA的匹配過程面臨很多的岔路,需要做出選擇,一旦某條岔路失敗,就需要回溯。圖1是正則表達式(a|b)*abb對應的NFA,它相當直觀,基本可以從正則表達式直接轉換而來。

圖1 正則表達式對應的NFAFig.1 NFA corresponding to regular expression
確定性有限自動機(DFA),對于每個狀態以及字母表中的每個字母,只能有一條以該字母為標記的,離開該狀態的邊;這說明DFA的匹配過程是確定的,每個字母是需要匹配一次。與上面NFA等價的DFA如下圖:

圖2 與NFA等價的DFAFig.2 DFA equivalent to NFA
將NFA轉化成DFA:由于NFA和DFA的能力是一樣的,每個NFA必然可以轉化成一個等價的DFA。既然DFA對每個輸入可以到達的狀態時是確定的,那么輸入串s在NFA中可能達到的狀態集合對應為等價DFA中某個狀態。從這個思路出發,可以構造出DFA。具體步驟如下:
(1)首先NFA的初始狀態0不接受ε,因此可以構造出DFA的初始狀態(0);
(2)集合(0)輸入a,在NFA中能夠到達(0,1),于是構造出此狀態,以及從(0)到(0,1)的邊,標記為a;
(3)集合(0)輸入b,能到達的還是(0),因此構造出從(0)到自身的一條標記為b的邊;
(4)集合(0,1)輸入a,能夠到達的還是(0,1),與上一步類似;
(5)集合(0,1)輸入b,能夠給到達的是(0,2),構造狀態(0,2)及相應的邊;
(6)集合(0,2)輸入a, 能夠到達(0,1),沒有新狀態,添加一條邊;
(7)集合(0,2)輸入b,能夠給達到(0,3),構造新狀態(0,3);
(8)集合(0,3)輸入a,能夠到達(0,1),添加一條邊即可;
(9)集合(0,3)輸入b,能夠給達到(0),添加一條邊即可;
(10)沒有新狀態,結束。
最終得到的DFA如下,(0,3)包含了NFA的終結狀態3,因此也是DFA的中介狀態,對狀態重新命名可以得到上面同樣的DFA。

圖3 將NFA轉化成DFAFig.3 Convert NFA into DFA
在95598投訴意見工單文本中存在大量可由正則表達式進行抽取的關鍵文本信息,正則表達式在原始輸入時就需要構造一個非空的初始狀態,這在實際應用中可理解為正則表達式可識別的規則條件。提煉樣本集中所要抽取相關信息的文本描述方式,歸納所要抽取的內容規則,并將不同信息規則具體化。以用戶編號為例,用戶編號由10位數字構成,且在文本中會用以下方式描述“客戶編號為”,“用戶編號為”、“戶號為”,根據文本中提煉的規則,利用正則表達式固定化,在文本中利用相關代碼去匹配需要找到的信息。臺區編號、工單編號等信息可用同樣的方式進行提煉歸納,并最終轉化為正則表達式來抽取信息。
在受理內容和處理內容中出現的用戶編號,在電力系統中是識別用戶的唯一標志,有了用戶編號之后,可以在相關電力系統中查詢到用戶的相關信息,如用戶的用電類別、城農網狀態、電壓等級等基礎信息,可將業務關注的用戶基本狀態進行關聯展示。在每條工單數據的用戶編號都成功抽取之后,就可以用用戶編號回溯看該用戶是否存在重復工單投訴的情況,這種類型的用戶值得業務著重關注。
正則算法的信息抽取流程如圖4所示:

圖4 涉及編號等信息抽取流程Fig.4 Involving information extraction process such as numbering
命名實體識別[14-28],就是識別這些實體指稱的邊界和類別。主要關注人名、地名和組織機構名這三類專有名詞的識別方法,進而實現信息抽取[29-31]。命名實體識別可以看作一個序列化數據的標注問題。輸入是帶有詞性標記的詞序列。在分詞和詞性標注的基礎上進行命名實體識別的過程就是對部分詞語進行拆分、組合(確定實體邊界)和重新分類(確定實體類別)的過程,最后輸出一個最優的“詞形/詞性”序列WC*/TC*。計算最優“詞形/詞性”序列WC*/TC*的方法有三種:詞形特征模型、詞性特征模型和混合模型。
①詞形模型
詞形特征模型根據詞形序列W產生候選命名實體,用Viterbi確定最優詞形序列WC*。目前的大部分系統都是從這個層面來設計命名實體識別算法的。
②詞性模型
詞性特征模型根據詞性序列T產生候選命名實體,用Viterbi確定最優詞性序列TC*。目前只有較少的系統使用。
③混合模型
詞形和詞性混合模型是根據詞形序列W和詞性序列T產生候選命名實體,一體化確定最優序列WC*/TC*,即基于多特征的識別算法。
詞形和詞性混合的漢語命名實體識別模型結合了詞形特征模型和詞性特征模型的優點,可以描述成下面式子的形式:
(WC*/TC*)
=arg max(WC,TC)P(WC,TC|W,T)
=arg max(WC,TC)P(WC,TC,E,T)/P(W,T)
≈arg max(WC,TC)P(WC,W)×[P(TC,T)]β
≈arg max(WC,TC)P(WC)×P(W|WC)×[P(TC)×P(T|TC)]β
(4)
式子中的β是平衡因子,平衡詞形特征和詞性特征的權重,β>0。式子由四部分組成,分別稱之為:詞形上下文模型P(WC)、詞性上下文模型P(TC)、實體詞形模型P(W|WC)和實體詞性模型P(T|TC)。
詞形上下文模型和詞性上下文模型均可采用三元語法模型近似描述:
(5)
實體模型則根據人名、普通地名和機構名、單字地名和簡稱機構名分別建立相應的實體模型。
人名實體模型用下式描述:
P(wwti1……wwtik|WCi)
=p(wwti1……wwtik|BEeMNe1MNe2……MNet-2ENe)
×P(wwtik|ENe,wwtik-1)
(6)
單字地名實體模型用下式描述:
(7)
引入逃逸概率計算權值,如下式所示:
=λNP(wn|w1……wn-1)+λN-1P(wn|w1……wn-1)+……+λ1P(wn)+λ1ρ0
(8)
基于多特征模型的命名實體識別方法綜合運用了詞形特征和詞性特征的作用,針對不同實體的結構特點,分別建立實體識別模型。
命名實體識別模型信息提取流程如圖5所示:

圖5 命名實體識別模型信息抽取流程FIG.5 Named entity recognition model information extraction process
(1)客戶服務訴求熱點信息臺賬展示
對結構化提取的客戶訴求關鍵信息和分析得出的客戶服務熱點進行整理,針對業務人員關注的維度進行分析,形成頻繁停電、電壓質量、營業廳、業擴報裝四類業務的客戶服務訴求熱點信息臺賬,展示95598工單關鍵信息結構化提取內容,精準定位客戶服務熱點訴求。
以營業廳業務為例,捕捉紅線問題/輿情風險、原因關鍵點、涉及費用糾紛/不涉及費用糾紛等客戶服務熱點訴求,便于使用人員精準定位每張工單、每個涉及用戶的服務熱點訴求,具體情況可結合本地實際業務情況。
(2)客戶服務訴求熱點可視化展示
基于結構化的關鍵信息、客戶本質訴求分析結果及客戶信息等相關工單數據,開發設計客戶服務訴求熱點分析看板,提供一種非常清晰的溝通方式,使業務管理者能夠更快地理解和處理他們的信息,使用機器學習技術幫助業務管理者找到任意一種查詢的相關信息,從時間與空間維度分析客戶訴求趨勢,基于工單中投訴關鍵詞的變化,捕捉新增的業務訴求點,實現客戶投訴關鍵指標的展示與監控,及時抓取客戶關注的熱點問題,依托指標數據深入挖掘分析影響范圍、存在問題和未來發展趨勢,深化過程管控,提供高維的可視化效果和高效的智能分析能力,為管理層提供多元化重大決策的制定和發展方向的研判。
通過圖表等形式,從供電單位、行政區域、業務類型等維度對客戶服務訴求熱點進行可視化展示。捕捉業務環節投訴情況,明確不同業務環節的投訴情況;明確投訴原因關鍵點,為做更好的服務提供支撐;定位不同區域投訴情況,精準定位各區域服務質量,更直觀、更全面地管控各區域服務質量。具體展示情況可結合本地實際業務情況。
(3)針對網格的網格訴求熱點可視化展示
在日常電力系統管理中,主要以供電單位以及營業所為主要管理單元,但在實際的管理中,臺區化和網格化管理更為精細,將95598服務熱點數據與臺區數據以及網格數據相結合,從更小的單元對用戶進行管理,更好地管控用戶服務訴求。
以自然語言處理技術為基礎,應用大數據分析技術,分析95598投訴意見工單的“處理情況”長文本內容實現投訴類別智能分類,同時分析投訴意見工單,對業擴報裝、頻繁停電、電壓質量、營業廳等業務的客戶訴求處理進行深入分析,挖掘導致訴求產生的企業內部的管理原因,提取結構化的關鍵信息。通過定位分析過程中人工投入大且需要大量經驗積累的關鍵業務點,利用機器學習技術有效替代,讓機器替代人工,有效提升員工分析效率,降低基層員工工作壓力,提升分析深度和廣度,提升敏銳客戶服務智能分析能力,同時對客戶訴求進行趨勢與熱點分析,分析相關業務特點,從而有效提高溯源效率、解放勞動力、提升客戶服務品質。主要實現以下目標:
構建投訴意見工單處理情況智能分類模型,實現投訴意見工單的智能分類,大幅提高分析精度與效率,解放勞動力。
構建基于不同業務模塊的命名實體識別模型,抽取關鍵業務信息,實現客戶本質訴求和管理缺陷的精準定位。
基于命名實體識別模型的應用,聯合其他相關業務數據,挖掘客戶服務需求,制訂差異化服務策略,有效提升服務能力,提高用戶滿意度,提升企業形象。