本發(fā)明涉及數據挖掘領域,尤其是涉及一種用于電力系統的中文電力數據文本挖掘方法。
背景技術:
文本挖掘有時也被稱為文字探勘、文本數據挖掘等,大致相當于文字分析,一般指文本處理過程中產生高質量的信息。高質量的信息通常通過分類和預測來產生,如模式識別。文本挖掘通常涉及輸入文本的處理過程(通常進行分析,同時加上一些衍生語言特征以及消除雜音,隨后插入到數據庫中),產生結構化數據,并最終評價和解釋輸出。高品質的文本挖掘通常是指某種組合的相關性,新穎性和趣味性。典型的文本挖掘方法包括文本分類,文本聚類,概念/實體挖掘,生產精確分類,觀點分析,文檔摘要和實體關系模型(即學習已命名實體之間的關系)。
對于電力系統來說,文本挖掘起到的作用就更大了。由于電力數據本身的復雜性和全面性,導致人為的對電力數據文本進行挖掘幾乎是不可能完成的,因此需要通過計算機系統對于電力數據文本進行挖掘,才能了解電力系統目前的用電情況,并預測將來的用電趨勢。然而現有的文本挖掘大多是針對英文詞匯來進行,由于英文詞匯只需通過空格即可將其區(qū)分開,因此針對英文的文本挖掘無需考慮對文本的預處理,然而中文只有句子和段落可以進行明顯的區(qū)分,想要分割中文詞匯困難程度極大,這也導致了實現中文電力數據文本的挖掘具有一定的難度,而我國的電力數據文本大多為中文文本,因此如何實現中文電力數據文本的挖掘是一個急需解決的問題。
技術實現要素:
本發(fā)明的目的是針對上述問題提供一種用于電力系統的中文電力數據文本挖掘方法。
本發(fā)明的目的可以通過以下技術方案來實現:
一種用于電力系統的中文電力數據文本挖掘方法,所述方法包括下列步驟:
1)通過網絡爬蟲采集中文電力數據文本;
2)對步驟1)中采集的中文電力數據文本進行分詞處理,得到分詞后的分詞文本;
3)對步驟2)中得到的分詞文本建立特征表示的模型;
4)對步驟3)中特征表示的模型進行特征提取,即通過評估函數計算特征表示的模型中每個特征詞的評估值,并按照評估值的大小進行排序;
5)對特征提取后的特征表示的模型進行文本聚類和文本分類,完成中文電力數據文本的挖掘。
所述對中文電力數據文本進行分詞處理方法包括基于詞典的分詞法或基于標注的分詞法,所述基于詞典的分詞法為通過匹配中文電力數據文本與機器詞典進行分詞,所述基于標注的分詞法為通過標注中文電力數據文本中的字來進行組詞從而完成分詞。
所述基于詞典的分詞法包括最大匹配法、最大概率法、最短路徑法或未登錄詞識別法,所述最大匹配法包括正向最大匹配法、逆向最大匹配法、雙向匹配法、最佳匹配法或最少切分法。
所述基于標注的分詞法具體為:
11)對中文電力數據文本中的所有字進行詞位特性的學習,得到訓練模型;
12)對訓練模型中的字根據學習結果進行詞位標注;
13)根據標注的詞位進行分詞,得到分詞結果。
所述特征表示的模型包括布爾邏輯模型、向量空間模型或概率模型。
所述評估函數包括互信息函數、信息增益函數、統計法函數、期望交叉熵函數、文本證據權函數或優(yōu)勢率函數。
所述文本聚類的方法包括劃分法、層次法、密度法或圖論聚類法。
所述文本分類的方法包括Rocchio算法、樸素貝葉斯算法、K-近鄰算法、決策樹算法、神經網絡算法或支持向量機算法。
與現有技術相比,本發(fā)明具有以下有益效果:
(1)通過對中文電力數據文本進行分詞處理,可以實現中文電力數據文本中整句的拆分,實現了詞與詞之間的區(qū)分,為后續(xù)的文本聚類和分類提供了條件。
(2)同時采用基于詞典的分詞法或基于標注的分詞法來對中文電力數據文本進行分詞,根據實際情況選擇適當的分詞方法,同時由于基于標注的分詞法是通過構詞來分詞,更加符合中文電力數據文本的使用習慣,進一步提高了分詞的準確度。
(3)基于詞典的分詞法中采取了多種方法來實現中文電力數據文本和機器詞典的匹配,根據實際情況選擇相適應的方法,可以提高與機器詞典匹配的準確度,繼而提高分詞的準確度。
(4)在進行中文分詞之后,進一步對分詞后的文本建立特征表示的模型同時對特征表示的模型進行特征提取,將非結構化的數據轉化為結構化的數據,方便后續(xù)的文本聚類和文本分類的實現。
(5)特征表示的模型包括布爾邏輯模型、向量空間模型和概率模型,向量空間模型使用較多且效果較好,但是建立向量空間模型所需計算量較大,對于復雜程度一般的文本來講,則可以選擇布爾邏輯模型和概率模型來實現從而減少計算量。
(6)評估函數選取了如今使用較為廣泛的評估函數,可以根據建立模型的不同選擇相適應的評估函數進行特征提取,提高了特征提取的準確程度,便于后續(xù)的文本聚類或分類。
(7)文本聚類和分類均采取了多種算法,比起單一算法提高了文本挖掘的多樣性和準確度。
附圖說明
圖1為本發(fā)明的方法流程圖。
具體實施方式
下面結合附圖和具體實施例對本發(fā)明進行詳細說明。本實施例以本發(fā)明技術方案為前提進行實施,給出了詳細的實施方式和具體的操作過程,但本發(fā)明的保護范圍不限于下述的實施例。
如圖1所示,本發(fā)明提供了一種用于電力系統的中文電力數據文本挖掘方法,該方法通過對數據進行預處理后進行文本的聚類和分類,實現準確性較高的中文電力數據文本挖掘。
1.數據預處理
從文本挖掘的定義可以看出,其處理的對象是大量的文檔。但是文檔內容是人類的自然語言組成的,計算機不能直接閱讀、理解。具體來說,有以下幾個原因:第一、自然語言有很復雜的語言結構,如語法、語義、語用等。第二、自然語言容易產生歧義,甚至必須依靠語境信息才能理解語言的意思。最后,自然語言的文檔中還會存在“噪聲”數據,如果直接用作分析,會對結果產生錯誤的引導。所以,文本挖掘的首要問題是解決文檔的結構化表示,使其能為計算機所理解,同時要反映文本的本來特征。這個過程可以稱之為數據的預處理,也可以稱為特征提取。
數據預處理的目的是將半結構或者無結構的文檔轉化成結構化的數據,以便計算機理解,為下一步的數據挖掘做好充分的準備。一般情況下,中文文檔的預處理主要分為中文分詞、特征表示以及特征提取三個步驟。
A.中文分詞
所謂分詞,是指將一句或一段連續(xù)的文字按照一定的規(guī)則劃分成詞語的過程。在處理英文文檔的時候,每個單詞都是用空格隔開的,不需要設計算法對文檔進行分詞處理。而中文文檔中,除了單個字、句子、段落間有比較明顯的分解符外,詞語是無法直接區(qū)分開的。所以,相對于英文文檔,中文在分詞這一層上,就要復雜很多,也一直作為學者們研究的一個方向。而其作為單獨的研究方向,也有很多重要的應用,比如信息檢索、中外文對譯、自動摘要、自動分類等。尤其是互聯網數據的迅速增長,中文信息也跟隨著急劇膨脹,中文分詞就顯得越發(fā)的重要了。
目前,中文分詞的方法主要分為基于詞典的分詞法和基于標注的分詞法兩類。顧名思義,基于詞典的分詞法首先要建立一個足夠大的機器詞典。然后按照一定得策略將待分析的字串與詞典中的詞條進行匹配。根據匹配策略的不同,可以分為最大匹配法、最大概率法、最短路徑法以及未登錄詞識別方法。
最大匹配法(Maximum Matching Method,MM)的基本思想是:從待分詞的語句中取m個字符作為匹配字段,查找機器字典并與之匹配。若匹配成功,則將此匹配字段作為一個詞切分出來;若匹配失敗,則去掉該匹配字段的最后一個詞,形成新的匹配字段。新的匹配字段繼續(xù)執(zhí)行上述過程,直到匹配成功或者剩余字段的長度為零為止。整個過程在待分析的語句中迭代,直到分出所有的詞,MM算法就會結束。上面過程中的m是機器字典里最長詞中字符的個數。MM算法的本質是基于匹配實現分詞的,實際上,基于匹配的分詞方法還有很多其他的種類,如:
(1)正向最大匹配法,即從左到右的最大匹配算法。
(2)逆向最大匹配(Reverse MM,RMM),與MM的匹配方向相反。對于漢語來說,RMM會略好于MM。
(3)雙向匹配(Bi-direction Matching Method),對比MM算法與RMM算法的分詞結果來決定正確的分詞。
(4)最佳匹配(Optimum Matching Method,OM),將機器詞典中的詞語按照它們在文本中的出現頻率從大到小排列,以提高匹配的速度。
(5)最少切分,即在分詞的時候,使得每句中分出來的詞數最小。
最大概率法(Maximum Probability Method)是一種基于統計的分詞算法,其思想比較簡單。一個待分詞的語句可能包含多種分詞結果,最大概率算法則將其中概率最大的那個作為最終的分詞結果。最大概率法中的概率是利用貝葉斯公式計算的,當待分詞的語句比較長的時候,分詞的結果會有很多種,計算量和長度就會呈指數增長。為解決這個問題,在算法實現的過程中,利用動態(tài)規(guī)劃的思想設計流程。首先記錄所有可能出現的詞,以及其對應的概率,同時尋找每個詞的最佳的前趨詞。然后從字符串的尾部向前搜索最優(yōu)路徑即可,這樣就可以比較快速的得到最終的分詞結果。
最短路徑法(Shortest Path Matching Method)根據詞典,找出待分詞的語句中所有可能得詞,構造詞語切分有向無環(huán)圖。在圖中,每個詞語對應一條有向邊,然后為每條邊賦予權值,可以是常數,也可以是詞語的屬性值。從圖中的起點到終點的所有路徑中,找到最短路徑,而該路徑上包含的詞語就是待分詞語句的分詞結果。
未登錄詞識別(Unknown Words Recognition)也叫新詞識別,主要包括數字、命名實體、形式詞、離合詞等。其中命名實體指人名、地名、機構名以及專業(yè)術語等。未登錄詞在英文中也叫Out Of Vocabulary(OOV)詞,其識別一般是基于規(guī)則或者利用概率統計的方法來解決的。
另一類中文分詞的算法是基于標注的方法,前面提到的一系列方法在分詞的時候都需要有一個前提:事先編制的機器詞典。中文分詞的過程需要通過建立詞典與待分詞語句之間的關聯來完成。而基于標注的方法不同,其實際上是一種構詞的方法,把分詞過程當作字在語句中的標注問題?;跇俗⒌姆椒ɑ舅枷胧牵簩h字進行標注,即由字構詞,也稱之為組詞的過程。該方法不僅考慮了文字詞語出現的頻率信息,同時考慮了上下文語境信息。
基于標注的方法主要包括以下三個步驟:
第一、學習。所有的字根據預定義的特征進行詞位特性的學習,獲得一個訓練模型。通常使用的學習方法有支持向量機(Support Vector Machine,SVM)、最大熵(Maximum Entropy)、隱馬爾科夫模型(Hidden Markov Model,HMM)、條件隨機場(Condition Random Fields,CRFs)等等。
第二、詞位標注。對于分語句的每個字進行詞位標注,所謂的詞位,是指構成詞語的每個漢字在一個特定的詞語中都占據著一個確定的構詞位置。詞位一般有四種:詞首(B)、詞尾(E)、詞中(M)、單字詞(S)。
第三、組合。根據標注的詞位得到最終的分詞結果。
相比于基于詞典的方法,基于標注的方法對歧義詞和未登錄詞的識別都有很好的效果,而且不用事先建立機器詞典。但是,基于標注的方法需要訓練,而且周期相對較長,計算量也比較大。
B.特征表示
分詞是數據預處理的第一步,也是數據結構化的起步階段。而特征則是非結構化數據向結構化數據轉化的關鍵操作。特征表示的模型有很多種,常用的布爾邏輯模型、向量空間模型、概率模型等。
布爾模型:建立在經典的集合論和布爾代數的基礎上,每個詞語在一篇文檔中出現與否,用0或者1作為其權值,則文檔就可以用0、1來表示。布爾模型簡單、易理解,且形式簡潔,但是其信息需求的能力表達不足。
向量空間模型(Vector Space Model,VSM):將文檔表示為向量空間中的一個矢量或者一個點。VSM是近些年來使用較多、效果較好的模型,基本思想是將文本看作特征詞的集合,并使用特征詞的權向量表示文本。VSM中最關鍵的問題是權值的計算,最常用的特征權值計算方法為TF-IDF算法。TF-IDF算法由特征詞的詞頻(Term Frequency,TF)和特征詞的倒排文本詞頻(Inverse Document Frequency,IDF)兩個部分組成。其意義是當一個詞語在文檔中出現的范圍越廣,說明它區(qū)分文本屬性的能力越低。另外,還有詞頻、文檔頻次等方法。
概率模型:以布爾模型為基礎,為了解決檢索中存在的一些不確定性。首先,需要設定特征詞的概率值,一般是通過計算查詢文檔與文檔的相關性實現的。然后根據每個詞語在相關文檔和無關文檔中的分布情況來計算相關概率,最后將某個文檔中所有特征詞的權值求和便得到該文檔的權值。
C.特征提取
在經過特征的表示后,需要對特征進行選擇,即特征提取。其主要方法是通過某種評估函數計算每個特征詞的評估值,按照大小排序,從中選擇出需要的特征詞,該過程稱之為評估函數法。因此,特征提取的關鍵問題就是評估函數的設計。當前,實際中應用比較廣泛的幾種評估函數主要有互信息、信息增益、統計法等。
互信息(Mutual Information,MI)是計算語言學模型分析的常用方法,其來自于信息論,表示信息之間的關系,是兩個隨機變量統計相關性的測度。在特征提取過程中,MI用于衡量某個詞和類別之間的統計獨立關系,從而判斷一個詞語對某個類編的重要程度。
信息增益(Information Gain,IG)是機器學習中的方法,作為衡量屬性值的標準。IG的計算可以得到在正例樣本中出現頻率高、反例樣本中出現頻率較低的特征,以及反例樣本中出現頻率高、正例樣本中現在頻率低的特征。
統計法(CHI)衡量一個詞語與類之間的相關程度。統計法盡心特征提取的時候有如下假設:在指定類別文檔中出現頻率高的詞語與在其他類別中出現頻率較高的詞語,對于判斷指定文檔是否屬于該類都是有幫助的。
還有其他方法如期望交叉熵、文本證據權、優(yōu)勢率等等,有研究學者用實驗證明在眾多方法中,統計法的效果相對較好。
2.文本聚類和文本分類
在數據預處理后,就是文本挖掘中非常重要的兩個工作:文本聚類和分類。文本聚類屬于非監(jiān)督的分類,沒有標簽信息,自動將文本分成若干類別。實際上,在文本數據經過特征提取、向量化后,其聚類的過程與機器學習中通常聚類過程一樣。常用的聚類算法主要有劃分法、層次法、密度法、圖論聚類法等,其對應的代表算法主要有K-Means算法、BIRCH算法、DBSCAN算法等等。
相比于聚類,文本分類的目的更為明確,屬于監(jiān)督的學習過程。文本分類的任務是對所給定的文本,給出預定義的一個或多個類別標號,對文本進行準確、高效的分類,是許多數據管理任務的重要組成部分。同樣,經過數據預處理后,文本分類存在著和一般分類同樣多的方法,比較常用的就是Rocchio算法,樸素貝葉斯算法、K-近鄰算法、決策樹算法、神經網絡和支持向量機。另外,近年來提出的深度學習也同樣適用于文本分類,并取得較好的效果。