楊 志 林 峰 胡 牧 孟慶強(qiáng) 鄭浩泉
(南京南瑞集團(tuán)公司/國網(wǎng)電力科學(xué)研究院 南京 210003)
隨著數(shù)據(jù)應(yīng)用的廣度和深度的快速發(fā)展,能帶來巨大價(jià)值的數(shù)據(jù)分析挖掘得到了越來越多的企業(yè)、政府和科研機(jī)構(gòu)的認(rèn)可和關(guān)注[1]。作為數(shù)據(jù)知識(shí)發(fā)現(xiàn)的關(guān)鍵步驟[2],數(shù)據(jù)挖掘[3~5]成為了當(dāng)前的研究熱點(diǎn)之一。文本挖掘[6~7]是數(shù)據(jù)挖掘的一個(gè)重要分支。如今,許多算法已經(jīng)被提出來解決文本場(chǎng)景中的數(shù)據(jù)分析。然而,在電力行業(yè)故障日志中,存在相關(guān)設(shè)備多,詞典不統(tǒng)一,主題難以固定等問題?,F(xiàn)有的通用的文本挖掘算法切詞不準(zhǔn)確,很難找故障主題相關(guān)因素。因此,如何實(shí)現(xiàn)精確的主題挖掘成為研究熱點(diǎn)之一。
在文本挖掘中,文本數(shù)據(jù)以半結(jié)構(gòu)化或非結(jié)構(gòu)化的形式存儲(chǔ)在數(shù)據(jù)庫或文件中。由于隱含的語義信息難以挖掘其價(jià)值。目前,許多科研機(jī)構(gòu)和團(tuán)隊(duì)提出了一些有價(jià)值的挖掘算法。主要有兩種類型。第一類是文本聚類[8~13]。其中聚類分析[8]是實(shí)現(xiàn)文本挖掘的重要方法之一。文獻(xiàn)[9~10]提出了兩種基于加權(quán)特征的模糊聚類方法,利用特征權(quán)重向量反映內(nèi)部結(jié)構(gòu),在監(jiān)督或無監(jiān)督學(xué)習(xí)過程中使用加權(quán)特征的距離函數(shù)實(shí)現(xiàn)數(shù)據(jù)挖掘。另一種是自動(dòng)加權(quán)特征技術(shù)[11~12]。利用k-均值或FCM,特征權(quán)重向量對(duì)整個(gè)數(shù)據(jù)集顯示各個(gè)特征的重要性。此外,文獻(xiàn)[13]提出了結(jié)合特征加權(quán)度量為軟子空間學(xué)習(xí)框架的模糊聚類算法。在這些算法中,在特定的場(chǎng)景中效果較好,但由于不同關(guān)鍵詞的主題描述能力差異度較大,很難找到通用的特征向量。
另外一類是主題挖掘[14~21]。利用 PLSA(概率語義分析)模型[16~17]進(jìn)行日志分析,但容易產(chǎn)生其過擬合。最著名的主題模型LDA(Latent Dirichlet Allocation)[17~19]。在該模型中,通過設(shè)置適當(dāng)?shù)膮?shù),可以得到最終的多個(gè)主題和主題相關(guān)詞分布。同時(shí),在LDA的基礎(chǔ)上,提出了擴(kuò)展LDA模型(Twitter-LDA[20],Labeled-LDA[21],MB-LDA[15]等)。在這些算法中,可以實(shí)現(xiàn)主題挖掘和分析出主題相關(guān)的詞。然而,業(yè)務(wù)專家需要投入很大精力來分析哪些是主題,這些詞是否與主題相關(guān)。此外,算法的靈活性低,主題相關(guān)的詞不能隨機(jī)設(shè)定主題。
上述算法雖然可以解決很多文本挖掘問題,但不能滿足電力行業(yè)的文本挖掘需求。在電力行業(yè)文本挖掘場(chǎng)景中,日志數(shù)據(jù)存儲(chǔ)在結(jié)構(gòu)化數(shù)據(jù)庫中,每條日志記錄了電網(wǎng)的運(yùn)行維護(hù)信息(例如設(shè)備故障、維護(hù)過程、故障分析等)。在故障定位時(shí),需要指定主題詞集合,以此分析出語義相關(guān)詞。數(shù)據(jù)的潛在價(jià)值可用于電網(wǎng)規(guī)劃、輔助決策等。但是,上述算法無法挖掘出準(zhǔn)確的結(jié)果。
為了解決上述問題,我們提出了一種基于業(yè)務(wù)詞典的精準(zhǔn)主題挖掘解決方案。該方案可準(zhǔn)確分析出主題詞語義相關(guān)的詞語集。該算法是在主題挖掘理論的基礎(chǔ)上,利用自然語言語義切詞技術(shù),計(jì)算出詞語語義相關(guān)影響因子。然后,借助于業(yè)務(wù)詞典,將準(zhǔn)確的語義相關(guān)詞返回給業(yè)務(wù)專家。
該方案的優(yōu)點(diǎn)主要有
1)利用語義技術(shù)搜索主題相關(guān)詞。對(duì)于給定的主題,使用語義理論,條件概率和業(yè)務(wù)詞典,準(zhǔn)確地找出語義相關(guān)的詞。
2)用業(yè)務(wù)詞典準(zhǔn)確地挖掘單詞。在這種情況下,避免了大量無關(guān)詞的干擾,降低了從所有的文檔集合中分析語義相關(guān)詞的時(shí)間和精力。
3)減少與主題有關(guān)的文檔/記錄數(shù)目。使用主題詞集合,排除不相關(guān)的文檔/記錄,減少分析范圍,提高效率。
在場(chǎng)景中給定的主題,主題挖掘目的是分析挖掘出最佳的語義相關(guān)詞。由于在實(shí)際環(huán)境中語義相關(guān)詞分布在主題詞所在的語句中,因此可用相關(guān)詞和主題的概率進(jìn)行分析。在文檔/記錄中,不同的主題有不同的語義相關(guān)詞。通常,相關(guān)詞屬于一個(gè)或多個(gè)主題如圖1所示。本文將重點(diǎn)討論相同的詞可屬于在不同的主題。在一個(gè)語句中,詞A和詞B同時(shí)出現(xiàn),分析其相關(guān)度。
圖1 語義相關(guān)概率
在文檔集合DS中,存在多個(gè)語句S,這些語句描述了一個(gè)或多個(gè)主題。每個(gè)語句均包含多個(gè)詞語W。從上圖中可以看出,主題B有多個(gè)詞語可以描述。P(a)由多個(gè)P(ai)構(gòu)成。對(duì)于主題B,可以用公式P(a|B)來表示語義相關(guān)詞和主題的相關(guān)程度。
語義相關(guān)度的集合為
上述公式中,Oi表示每個(gè)詞語和主題詞的相關(guān)度,其數(shù)據(jù)計(jì)算公式為
上述公式中,P(AiB)表示B和Ai同時(shí)在文檔集中出現(xiàn)的概率。P(B)表示主題B出現(xiàn)的概率。P(AiB)表示在主題B出現(xiàn)的前提下,Ai出現(xiàn)的概率。
語義相關(guān)度越高,則Oi就越大。如果詞語和主題詞不相關(guān),則Oi為零。
對(duì)于指定的主題詞,可以從上面的算法獲得許多單詞。每個(gè)詞都有不同的貢獻(xiàn)度。所有單詞的貢獻(xiàn)度之和為100%。并不是所有的詞語都對(duì)日志分析有價(jià)值,因此可以設(shè)定一個(gè)閾值,這樣僅分析較少的相關(guān)度高的詞語,同時(shí)也不會(huì)損失數(shù)據(jù)隱藏的價(jià)值。本文中采用比例指數(shù)來描述。
上述公式中,numP表示滿足設(shè)定閾值的相關(guān)度詞的數(shù)量,numA表示所有相關(guān)詞的數(shù)量。該公式表示從所有相關(guān)詞中選取詞和總數(shù)的比例。
比例是定性分析指標(biāo)。指標(biāo)不能表明最終結(jié)果好壞程度。需要結(jié)合實(shí)際業(yè)務(wù)情況,對(duì)其進(jìn)行評(píng)估。
該方案基本原則是不改變?cè)紨?shù)據(jù),盡量減少人為因素干擾,最大限度地挖掘數(shù)據(jù)的潛在價(jià)值。按照逐步遞進(jìn)策略,方案共分三步:預(yù)處理、熱詞分析、主題詞分析。在預(yù)處理環(huán)節(jié)中一方面對(duì)文檔/記錄集進(jìn)行異常數(shù)據(jù)的處理,另外一方面針對(duì)業(yè)務(wù)場(chǎng)景創(chuàng)建業(yè)務(wù)詞典。在熱詞分析環(huán)節(jié)中借助于業(yè)務(wù)詞典,利用自然語言切詞技術(shù)將文本數(shù)據(jù)拆分成詞語,同時(shí)對(duì)拆分結(jié)果進(jìn)行無效詞處理,利用熱詞分析技術(shù)展現(xiàn)詞語熱度,并選取熱度最高的詞語作為主題詞集。在主題詞分析環(huán)節(jié),在熱詞展現(xiàn)中選取關(guān)注熱詞作為主題詞集,然后利用語義相關(guān)度分析得到每個(gè)詞的影響因子指標(biāo),最后利用網(wǎng)絡(luò)圖顯示詞和主題詞的關(guān)聯(lián)程度。
圖2 方案過程
方案詳細(xì)過程如下:
預(yù)處理環(huán)節(jié)首先對(duì)文檔/記錄集進(jìn)行無效詞處理,在保證不改變有效數(shù)據(jù)的前提下,對(duì)錯(cuò)、漏、空、重復(fù)等異常數(shù)據(jù)進(jìn)行處理。在處理的過程中,處理策略要結(jié)合業(yè)務(wù)場(chǎng)景,不能均使用刪除方法來處理。如果實(shí)際情況就是空值或者重復(fù)值,則該值是正常值,不能對(duì)其進(jìn)行異常值處理。
其次,針對(duì)業(yè)務(wù)場(chǎng)景特點(diǎn)創(chuàng)建業(yè)務(wù)詞典。該業(yè)務(wù)詞典主要用于保證專業(yè)術(shù)語作為完整詞語被識(shí)別,沒有被拆分成多個(gè)詞語,這樣才能分析出數(shù)據(jù)潛在的最大數(shù)據(jù)價(jià)值。創(chuàng)建過程是由業(yè)務(wù)專家根據(jù)行業(yè)、場(chǎng)景,將特殊行業(yè)術(shù)語、場(chǎng)景術(shù)語以及一些約定俗成的術(shù)語創(chuàng)建成業(yè)務(wù)詞典。包含關(guān)系如圖3所示。
圖3 業(yè)務(wù)詞典構(gòu)成
上圖表示業(yè)務(wù)詞典和行業(yè)術(shù)語、約定俗成術(shù)語和其他之間的關(guān)系。行業(yè)術(shù)語指行業(yè)內(nèi)通用的設(shè)備、操作、事件等內(nèi)容的一些名稱。場(chǎng)景術(shù)語指某類場(chǎng)景專用的一些設(shè)備、事件等的一些名詞。約定俗成術(shù)語指某地區(qū)對(duì)于某些設(shè)備名稱、操作過程等內(nèi)容的簡(jiǎn)稱。其他指行業(yè)外與場(chǎng)景相關(guān)設(shè)備或物體的一些名稱。
首先基于業(yè)務(wù)詞典,采用自然語言切詞技術(shù)對(duì)文檔/記錄集進(jìn)行切詞,然后對(duì)切詞結(jié)果集進(jìn)行熱詞分析,分析出熱度最高的詞語作為主題詞。
圖4 熱詞分析過程
在利用自然語言切詞技術(shù)進(jìn)行切詞時(shí),由于不同行業(yè)有不同的技術(shù)術(shù)語。在同一行業(yè)中,一些具體的場(chǎng)景在不同的情況下也有不同的術(shù)語。這些術(shù)語由于不包含在通用字典中,無法識(shí)別,隱藏在文檔中的有效信息將丟失,無法找到一些數(shù)據(jù)值。所以,為了避免有用信息的丟失,缺陷可以彌補(bǔ)的階段。本方案借助于業(yè)務(wù)詞典,在切詞過程中盡可能保留業(yè)務(wù)詞語。分詞環(huán)節(jié)是將文檔/記錄集切分詞語集,然后過濾出虛詞、無效數(shù)字、特殊符號(hào)等無意義詞語。保留與業(yè)務(wù)場(chǎng)景有關(guān)的詞語集。該詞語集是精準(zhǔn)挖掘數(shù)據(jù)潛在價(jià)值的基礎(chǔ)。整體過程如下:
熱詞分析可分析出文檔/記錄集中出現(xiàn)頻率最高的詞語,這些詞語表明受關(guān)注程度最高,從中選取某些熱詞作為主題集。
因?yàn)樵~語和主題詞出現(xiàn)在同一文檔/記錄中,所以詞語從不同的方面或角度描述主題詞。由于描述的角度和程度有差異,不同詞語和主題的關(guān)聯(lián)程度不同。相關(guān)性越高,詞和主題越緊密。在這種情況下,可以得到準(zhǔn)確的關(guān)聯(lián)度。相關(guān)詞語在一定程度上反映了用戶的關(guān)注點(diǎn)。在本文中,影響因子是用來描述的關(guān)系。用詞頻和主題頻率的比值說明相關(guān)指標(biāo)。
影響因子計(jì)算公式如下:
上述公式中,R表示相關(guān)度。WF表示詞語出現(xiàn)頻率。TF表示主題詞出現(xiàn)的頻率。
所有詞語計(jì)算影響因子后,形成一個(gè)數(shù)據(jù)矩陣,它描述了每個(gè)單詞和主題的相關(guān)性。
在數(shù)據(jù)矩陣的基礎(chǔ)上,利用網(wǎng)絡(luò)圖等方式顯示數(shù)據(jù)矩陣,將結(jié)果直觀地呈現(xiàn)給用戶。
方案分析:
1)通過對(duì)指定詞進(jìn)行主題詞分析,用戶可以獲得與主題相關(guān)的詞。在這種情況下,主題和相關(guān)詞語之間的關(guān)系被準(zhǔn)確地顯示出來。由于分析指定主題詞集合的相關(guān)詞,避免了無關(guān)主題詞相關(guān)詞的干擾。
2)方案中,通過熱詞分析指定主題詞集。因此,可以避免人為指定一些不具有代表性的主題詞,節(jié)省工作量,提高效率。
3)利用業(yè)務(wù)字典,保留了具體業(yè)務(wù)術(shù)語??蓽?zhǔn)確體現(xiàn)業(yè)務(wù)場(chǎng)景,分析主題詞和相關(guān)詞。在這種情況下,可重點(diǎn)分析與主題詞相關(guān)的詞語集。
4)利用影響因子公式,分析得到主題詞關(guān)聯(lián)度,可定量分析主題詞和相關(guān)詞之間的關(guān)聯(lián)程度,結(jié)果能有效支撐輔助決策。
上述解決方案已應(yīng)用到電力生產(chǎn)管理系統(tǒng)(PMS)中。
作為SG186工程的重要應(yīng)用之一的PMS是一個(gè)龐大而復(fù)雜的應(yīng)用程序,是當(dāng)今最先進(jìn)的電力生產(chǎn)管理系統(tǒng)。系統(tǒng)數(shù)據(jù)量大,包括高中低壓在內(nèi)的數(shù)據(jù)總量超過1500億條。在這些數(shù)據(jù)中,日志數(shù)據(jù)占其中較大比例,日志數(shù)據(jù)包括如電網(wǎng)操作、故障信息等數(shù)據(jù)。日志數(shù)據(jù)潛在的價(jià)值有待于進(jìn)一步發(fā)掘。因此,選取PMS系統(tǒng)日志數(shù)據(jù)來驗(yàn)證上述解決方案。
在PMS系統(tǒng)中選取某個(gè)省市的故障日志數(shù)據(jù)。這些數(shù)據(jù)描述了主變壓器、線路、電壓互感器、母線等設(shè)備資產(chǎn)的故障和缺陷。同時(shí)日志也描述了某一類故障的相關(guān)設(shè)備、現(xiàn)象、過程、后果和故障分析。從數(shù)據(jù)中,我們可以分析的主要因素和次要因素或者直接或間接原因。
基于上述數(shù)據(jù),在R語言環(huán)境中,驗(yàn)證上述解決方案。主要分析過程如下。
故障日志存儲(chǔ)在結(jié)構(gòu)化數(shù)據(jù)庫中。由于許多字段與本方案無關(guān),因此,選擇三個(gè)字段來分析算法。這三個(gè)字段如下:
表1 分析字段
在選定的日志數(shù)據(jù)中,異常值數(shù)據(jù)有空值和重復(fù)值兩類,處置策略如下:
1)對(duì)于空值,因?yàn)榭罩祵?duì)分析結(jié)果沒有影響。所以,刪除掉所有的空值記錄。
2)對(duì)于重復(fù)值,由于重復(fù)值是真實(shí)反映現(xiàn)場(chǎng)故障情況的,故不能刪除,需要保留。
在故障分析場(chǎng)景中,將電力行業(yè)術(shù)語、故障場(chǎng)景術(shù)語、約定俗稱的術(shù)語和其他一些術(shù)語有業(yè)務(wù)專家創(chuàng)建成業(yè)務(wù)詞典。部分詞典數(shù)據(jù)如下:
{“接地”,“被淹”,“爆熔”,“跳閘”,“單刀漲碎”,“車輛”,“令克”,“線夾斷裂”,“雷擊”,“電纜”,“植物”,“風(fēng)”,“樹枝”,“絕緣瓷瓶損壞”,“設(shè)備老化”,“松鼠”,“雨水”,…}。
利用自然語言切詞技術(shù)對(duì)記錄集進(jìn)行切詞,在分詞結(jié)果中,存在許多無效詞,比如形式詞、單個(gè)字母和數(shù)字等,如下列所示。
{一,從,零,避,國,查,蒼,串,A,C,B,Q,30,23,64,5,7,17,…}。
處置策略是刪除這些無效詞,保留有效詞語,這樣便于提高分析效率。
如果沒有業(yè)務(wù)詞典,業(yè)務(wù)詞語被打散,其隱藏的信息被破壞了,不能發(fā)現(xiàn)其潛在價(jià)值。但由于分詞后有大量的單詞,其中大部分詞語出現(xiàn)頻率較低,對(duì)熱詞分析結(jié)果沒有影響,且詞語數(shù)據(jù)量過大直接影響熱詞分析效率。因此,選擇一些頻率較高的詞來表示詞頻圖。在此場(chǎng)景中選取了排名前150的單詞(150名之后的詞語影響很?。?。為了體現(xiàn)業(yè)務(wù)詞典的價(jià)值,將在切詞階段是否使用業(yè)務(wù)的熱詞分析效果展現(xiàn)出來,對(duì)比圖如圖5所示。
圖5 熱詞對(duì)比圖
圖5 (a)表示沒有業(yè)務(wù)詞典的情況的切詞結(jié)果的熱詞分析,圖5(b)是基于業(yè)務(wù)詞典的切詞結(jié)果的熱詞分析。圖5(a)無法直觀展現(xiàn)故障相關(guān)詞語,不能判斷哪些情況出現(xiàn)的概率高低。從圖5(b)中可以直觀看出與場(chǎng)景相關(guān)的詞頻率情況。詞語顯示越大表示該詞出現(xiàn)的頻率越高,收到的關(guān)注度越高,從中可以得出主要因素為{開關(guān)跳閘,相故障,雷擊}。
用上述式(4),逐一對(duì)所涉及的詞進(jìn)行分析??梢杂?jì)算出每個(gè)詞的影響因子。設(shè)定的閾值為90%。借助評(píng)價(jià)準(zhǔn)則公式,我們發(fā)現(xiàn)前10名的比例大于90%。因此,前10名選擇分析。例如,本課題開關(guān)跳閘結(jié)果如下。
圖6 開關(guān)跳閘主題相關(guān)詞關(guān)聯(lián)度
從圖中,我們可以看到,“重合不成”詞語頻率最接近的話題開關(guān)跳閘?;诜治鼋Y(jié)果,用igraph包算法顯示結(jié)果。其結(jié)果如下。
在圖中,較大的圓圈是主題,較小的圓圈是相關(guān)詞。大圈與小圓之間的連接線表示相關(guān)詞和主題的關(guān)系。連線的寬度表示關(guān)聯(lián)程度。
圖7 主題詞和相關(guān)詞的網(wǎng)絡(luò)圖
業(yè)務(wù)專業(yè)人員可以從中分析真正的影響因素。例如,通過分析與開關(guān)跳閘主題相關(guān)的幾個(gè)詞,可以得到幾條線路的故障均是由開關(guān)跳閘引發(fā)的。
驗(yàn)證分析:
1)利用主題詞分析可以得到與主題詞和相關(guān)詞之間的關(guān)聯(lián)關(guān)系。借助于這種關(guān)系,業(yè)務(wù)人員可以準(zhǔn)確分析主要因素和次要因素。
2)熱詞分析過程中選取出現(xiàn)頻率較高的前N項(xiàng)進(jìn)行分析??稍诒WC分析結(jié)果準(zhǔn)確的基礎(chǔ)上提高分析效率。
3)基于業(yè)務(wù)詞典的切詞。利用業(yè)務(wù)詞典,可以在切詞結(jié)果中保留更多的業(yè)務(wù)術(shù)語和潛在信息。專業(yè)人士可以基于此準(zhǔn)確地分析相關(guān)詞。
4)利用影響因子指標(biāo),將定性分析轉(zhuǎn)化為定量分析。借助于這些詞語的影響因子,可以準(zhǔn)確地描述相關(guān)度。
由于通用分析算法從日志數(shù)據(jù)中很難準(zhǔn)確地分析出主題相關(guān)詞,本文提出了基于業(yè)務(wù)字典的精確主題挖掘解決方案。在該方案中,首先,預(yù)處理原始記錄集,保留有效的記錄集。借助于業(yè)務(wù)詞典,文檔被切詞成多個(gè)詞語,然后,刪除無效的單詞。最后,利用影響因子,可以計(jì)算出每個(gè)單詞的相關(guān)性。定性分析轉(zhuǎn)化為定量分析。該方案已應(yīng)用到PMS。驗(yàn)證結(jié)果表明,可以準(zhǔn)確地分析主題的主要相關(guān)因素。
雖然該算法能夠很好地解決日志數(shù)據(jù)的分析問題,但在創(chuàng)建業(yè)務(wù)字典時(shí),需要業(yè)務(wù)專家。業(yè)務(wù)詞典的質(zhì)量受制于業(yè)務(wù)專家的能力。此外,如何在分布式環(huán)境中提高算法的效率是今后的研究方向之一。