本發(fā)明涉及智能文本信息處理技術領域,特別涉及一種文本處理方法和系統(tǒng)。
背景技術:
社會化大數(shù)據(jù)中80%是非結構化數(shù)據(jù),非結構化大數(shù)據(jù)處理是大數(shù)據(jù)面臨的最大挑戰(zhàn)。結構化數(shù)據(jù)分析不能充分挖掘發(fā)現(xiàn)大數(shù)據(jù)中的語義。非結構化文本挖掘的挑戰(zhàn)在于:語言多樣性帶來的維護挑戰(zhàn),包括文本中的語言表達方式多種多樣,縮寫、簡寫等不規(guī)范用法普遍存在,需要窮舉所有語言表達方式,業(yè)務人員陷入語言表達細節(jié),維護困難;業(yè)務分類及規(guī)則多變化快帶來的維護挑戰(zhàn):業(yè)務分類多,分類變化快,每次分類變化時,需要把相關的所有分類的語言規(guī)則重新梳理,維護工作量巨大,維護效率低;多語種同步處理帶來的挑戰(zhàn):不同語種的挖掘需要同時分析,需要對每種語言單獨建立規(guī)則,要求維護的業(yè)務人員掌握多語種,對維護人員要求太高;文本中噪音大帶來的分類挑戰(zhàn):文本長短不一,其中的關聯(lián)性錯綜復雜,無法使用關鍵詞統(tǒng)計的方法達到很好的挖掘效果。
而現(xiàn)有的技術一般采用統(tǒng)計方法進行文本挖掘,沒有考慮到業(yè)務人員的需求,只提供挖掘算法,給業(yè)務人員帶來了很多的困擾。文本挖掘技術面臨的問題是,如何從一篇或海量非結構化文本中分析挖掘出用戶關心的有價值的信息,讓業(yè)務人員從業(yè)務角度定義挖掘需求和挖掘規(guī)則,而無需考慮文本中語言表達習慣的多樣性帶來的語言歧義問題。
因此,亟待出現(xiàn)一種無需考慮文本中語言表達習慣的多樣性帶來的語言歧義問題而對非結構化文本進行有效挖掘的文本處理方法和系統(tǒng)。
技術實現(xiàn)要素:
針對上述技術問題,本發(fā)明提供一種無需考慮文本中語言表達習慣的多樣性帶來的語言歧義問題而對非結構化文本進行挖掘的文本處理方法以及文本處理系統(tǒng)。
本發(fā)明解決技術問題采用如下技術方案:一種文本處理方法,其包括:
S1、建立分類超平面函數(shù);以及
S2:通過分類超平面函數(shù),對新輸入的文本進行預測;
其中,所述步驟S1具體為:S10:對文本進行分詞處理,建立詞條文檔矩陣;S20:通過決策樹算法從詞條文檔矩陣中提取特征;S30:構造分類超平面函數(shù)。
可選的,所述步驟S10包括:
將文本讀入到R語言程序中,運用分詞工具或用戶定義的分詞規(guī)則將所述文本拆分成單個的詞,并統(tǒng)計每個詞出現(xiàn)的詞頻;
使用至少一個向量將該文本表示成布爾矩陣和詞頻矩陣的形式。
可選的,所述布爾矩陣中,使用0和1表示特征值,如果第i個特征值在文本中出現(xiàn),定義該文本特征向量的第i個分量值ti=1,否則ti=0,i=1,2,…,n。
可選的,所述詞頻矩陣表示的特征詞在文本中出現(xiàn)的次數(shù),其中每一行代表一個文本向量,每列代表一個特征詞,矩陣中的特征值ti代表特征詞出現(xiàn)的次數(shù)。
可選的,所述步驟S20中,
計算訓練數(shù)據(jù)集D的經(jīng)驗熵H(D):式中,D表示訓練數(shù)據(jù)集,|D|表示其樣本容量,設有K個類Ck,k=1,2,…K,K為自然數(shù),|Ck|為屬于Ck的樣本個數(shù);設特征A有n個不同的取值{a1,a2,…,an},根據(jù)特征A的取值將D劃分為n個子集D1,D2,…,Dn,|Di|為Di的樣本個數(shù),記子集Di中屬于類Ck的樣本的集合為Dik;
計算特征A對數(shù)據(jù)集D的經(jīng)驗條件熵H(D|A):
計算信息增益:g(D,A)=H(D)-H(D|A);
選取信息增益最大的特征。
可選的,所述步驟S30具體為:
S301、選擇懲罰參數(shù)0<C<1,構造并求解凸二次規(guī)劃問題:式中,0≤αi≤C,i=1,2,...,N;通過序列最小化算法求得最優(yōu)解
式中,N是自然數(shù),其具體值與訓練樣本個數(shù)有關;αi和αj是對應訓練樣本xi和xj的權重,b表示的為支持向量的權重和閾值,k(xi,xj)是核函數(shù),s.t是數(shù)學符號;
S302、計算選擇α*的一個分量適合條件計算
S303、構造決策函數(shù)
S304、提供多核核函數(shù):替換決策函數(shù)中的K(x,xi),得到分類超平面函數(shù),其中,a和b為訓練數(shù)的權重;s和t是懲罰參數(shù);K是核函數(shù),y是標簽,s,t∈R,且s+t=1,x,y∈[-1,1],e為自然對數(shù)。
本發(fā)明解決技術問題還采用如下技術方案:一種文本處理系統(tǒng),其包括:
分類超平面函數(shù)建立模塊,用于分類超平面函數(shù);
文本預測模塊,通過分類超平面函數(shù)對文本進行預測;
其中,所述分類超平面函數(shù)建立模塊包括:
詞條文檔矩陣建立單元,用于對文本進行分詞處理,建立詞條文檔矩陣;
特征提取單元,通過決策樹算法從詞條文檔矩陣中提取特征;
分類超平面函數(shù)構造單元,用于構造分類超平面函數(shù)。
可選的,所述詞條文檔矩陣建立單元將文本讀入到R語言程序中,運用分詞工具或用戶定義的分詞規(guī)則將所述文本拆分成單個的詞,并統(tǒng)計每個詞出現(xiàn)的詞頻;使用至少一個向量將該文本表示成布爾矩陣和詞頻矩陣的形式。
可選的,所述特征提取單元通過下述步驟提取特征:
計算訓練數(shù)據(jù)集D的經(jīng)驗熵H(D):式中,D表示訓練數(shù)據(jù)集,|D|表示其樣本容量,設有K個類Ck,k=1,2,…K,K為自然數(shù),|Ck|為屬于Ck的樣本個數(shù);設特征A有n個不同的取值{a1,a2,…,an},根據(jù)特征A的取值將D劃分為n個子集D1,D2,…,Dn,|Di|為Di的樣本個數(shù),記子集Di中屬于類Ck的樣本的集合為Dik;
計算特征A對數(shù)據(jù)集D的經(jīng)驗條件熵H(D|A):
計算信息增益:g(D,A)=H(D)-H(D|A);
選取信息增益最大的特征。
可選的,所述分類超平面函數(shù)構造單元通過下述步驟構造分類超平面函數(shù):
S301、選擇懲罰參數(shù)0<C<1,構造并求解凸二次規(guī)劃問題:式中,0≤αi≤C,i=1,2,...,N;通過序列最小化算法求得最優(yōu)解
式中,N是自然數(shù),其具體值與訓練樣本個數(shù)有關;αi和αj是對應訓練樣本xi和xj的權重,b表示的為支持向量的權重和閾值,k(xi,xj)是核函數(shù),s.t是數(shù)學符號;
S302、計算選擇α*的一個分量適合條件計算
S303、構造決策函數(shù)
S304、提供多核核函數(shù):替換決策函數(shù)中的K(x,xi),得到分類超平面函數(shù),其中,a和b為訓練數(shù)的權重;s和t是懲罰參數(shù);K是核函數(shù),y是標簽,s,t∈R,且s+t=1,x,y∈[-1,1],e為自然對數(shù)。
本發(fā)明具有如下有益效果:本發(fā)明實施例提供的文本處理方法和系統(tǒng),該方法將存儲的文本進行分詞處理后,提取該文本的句子特征,根據(jù)決策樹算法進行特征的提取,以此降低支持向量機中模型訓練點維數(shù),縮短訓練時間。根據(jù)決策樹訓練提取了文本的特征向量,根據(jù)該特征向量采用多核的支持向量機算法進行文本分類,具有計算準確,模型訓練樣本少,訓練時間短,文本分類準確率高的特點。
附圖說明
圖1為本發(fā)明的文本處理方法的流程圖;
圖2為本發(fā)明的文本處理系統(tǒng)的結構示意圖;
具體實施方式
下面結合實施例及附圖對本發(fā)明的技術方案作進一步闡述。
實施例1
本實施例提供了一種文本處理方法,其包括以下步驟:
S1、建立分類超平面函數(shù)。
本實施例中,當對待預測的文本數(shù)據(jù)進行預測時,首先需要建立對輸入的待預測的文本數(shù)據(jù)進行預測的分類超平面函數(shù),從而使得待預測的文本數(shù)據(jù)可以通過所述分類超平面函數(shù)進行分類;例如有兩條新聞,一條關于籃球,一條關于飲食類,可以以這兩條新聞作為訓練文本,得到分類超平面函數(shù),然后通過該分類超平面函數(shù)對待預測的文本數(shù)據(jù)(后來的新聞)做出預測,判斷他們是屬于籃球類還是飲食類的新聞。
本實施例中,所述建立分類超平面函數(shù)可以包括以下步驟:
S10:對訓練文本進行分詞處理,建立詞條文檔矩陣
在文本挖掘領域,文本被看成是出現(xiàn)在文本中的關鍵詞的集合,這些關鍵詞就是特征項。一般說來,特征項主要是名詞,因為名詞本身就具有實際意義,有助于理解相關文檔的內容。當然,有時也以文本中的所有詞作為特征這種情況下的文檔邏輯視圖是全文。利用特征項,文本可以表示成布爾模型、向量模型和概率模型。
在本發(fā)明實施例中,建立詞條文檔矩陣包括:通過將一段txt文本讀入到R語言程序中,運用分詞工具如基于R語言編程軟件中的jiebaR軟件分詞工具將其拆分成單個的詞,并統(tǒng)計詞出現(xiàn)的詞頻,但并不局限于此。本發(fā)明實施例中,可基于分詞工具的分詞規(guī)則來對文本進行分詞,但是也可以基于用戶自定義的分詞規(guī)則來進行分詞。
通過分詞工具,訓練文本Ti(輸入的一段txt文本)可以表示成向量T=(t1,t2,...,tn)的形式,稱為文本向量。其表現(xiàn)的形式可包括布爾矩陣和詞頻矩陣兩種。
①布爾矩陣
本發(fā)明實施例中使用最簡單的0,1表示特征值,即如果第i個特征值在txt文本中出現(xiàn),定義該文本特征向量的第i個分量值ti=1,否則ti=0,i=1,2…n。
例如,m維布爾特征空間中,n個文本向量可以組成以下形式的特征矩陣:
②詞頻矩陣
詞頻矩陣表示的特征詞在txt文本中出現(xiàn)的次數(shù),其中每一行代表一個文本向量,每列代表一個特征詞,矩陣中的特征值ti代表特征詞在文檔Ti(不同的Ti代表不同的文本)出現(xiàn)的次數(shù)表示。
S20:從詞條文檔矩陣中提取特征
特征選擇的重點在于選取對訓練數(shù)據(jù)具有分類能力的特征,這樣可以提高決策學習的效率。如果利用一個特征進行分類的結果與隨機分類的結果沒有很大差別,則稱這個特征沒有分類能力的,扔掉這樣的特征對決策樹學習的精度影響不大,通常特征選擇的準則是信息增益或信息增益比。
本發(fā)明采用決策樹算法提取特征,決策樹可以對訓練數(shù)據(jù)有很好分類能力,也就是通過計算信息增益,將信息增益大的特征留下,從而產生一個樹狀結構的圖形,這樣就可以剔除那些次要的特征,以此降低維度;所述決策樹算法的具體算法如下:
輸入:訓練數(shù)據(jù)集D和特征A;其中訓練數(shù)據(jù)集D表示已經(jīng)經(jīng)過處理的,拆分單個的詞;特征A表示一段文本主要的特征。
輸出:特征A對訓練數(shù)據(jù)集D的信息增益g(D,A)。
信息增益g(D,A)的計算包括以下步驟:
(1)計算訓練數(shù)據(jù)集D的經(jīng)驗熵H(D)
其中,D表示訓練數(shù)據(jù)集,即樣本的個數(shù),|D|表示其樣本容量,設有K個類Ck,k=1,2,…K,K為自然數(shù),|Ck|為屬于Ck的樣本個數(shù),設特征A有n個不同的取值{a1,a2,…,an},根據(jù)特征A的取值將D劃分為n個子集D1,D2,…,Dn,|Di|為Di的樣本個數(shù),記子集Di中屬于類Ck的樣本的集合為Dik;
(2)計算特征A對數(shù)據(jù)集D的經(jīng)驗條件熵H(D|A)
(3)計算信息增益
g(D,A)=H(D)-H(D|A)
決策樹學習應用信息增益準則來選擇特征。對于給定的訓練數(shù)據(jù)集D和特征A,經(jīng)驗熵H(D)表示對數(shù)據(jù)集D進行分類的不確定性,而經(jīng)驗條件熵H(D|A)表示在特征A給定的條件下對數(shù)據(jù)集D進行分類的不確定性,那么它們的差,即信息增益,就表示由于特征A而使得對數(shù)據(jù)集D的分類不確定性減少的程度,顯然,對于數(shù)據(jù)集D而言,信息增益依賴于特征,不同的特征往往具有不同的信息增益,信息增益大的特征具有更強的分類能力。
根據(jù)信息增益準則來選擇特征的方法是:對訓練數(shù)據(jù)集(或子集)D,計算其每個特征的信息增益,并比較它們的大小,選擇信息增益最大的特征。
S30:構造分類超平面函數(shù)
支持向量機算法的最初的模型是最大間隔線性分類器,因此不能在非線性的情況下運用。然而核函數(shù)是將訓練數(shù)據(jù)映射到高維空間中,并且在高維空間中學習、訓練得出一個分類準確度較高的決策函數(shù)。
假設給定一個訓練集T={(x1,y1),(x2,y2),...,(xN,yN)};
其中,xi∈X=Rn,yi∈Y={+1,-1},i=1,2,...,N,Rn表示N維的歐式空間,xi為第i個特征向量,yi為xi的類標記,即xi對應的分類。如果訓練數(shù)據(jù)集線性不可分,則意味著這些訓練樣本點不滿足函數(shù)間隔yi(w·xi+b)-1≥0的條件,為此,可以對每個訓練樣本點(xi,yi)引進一個松弛變量ξi≥0,使得函數(shù)間隔加上松弛變量大于等于1,因此約束條件可以改變?yōu)閥i(w·xi+b)≥1-ξi,其中,w表示落在超平面上支持向量的權重,b表示閾值,可以理解為在超平面上各個坐標軸上的截距。
同時,對每個松弛變量ξi,加上一個懲罰參數(shù),則目標函數(shù)的由原來的變成
這里,C稱為懲罰參數(shù),且0<C<1,一般由實際應用的問題決定,C值大是對誤分類的懲罰增大,C值小是對誤分類的懲罰減小,C是調和有噪聲的點和被誤分的點的參數(shù),再將對目標函數(shù)求極大轉換為極小,于是得到對偶問題式,可以通過求解對偶問題而得原始問題的解,進而確定分離超平面和決策函數(shù)。
非線性分類問題是指通過利用非線性模型才能很好地進行分類的問題,非線性問題往往不好求解,所以希望能用解線性分類問題的方法解決這個問題?;谶@個目的,本實施例引入了核方法,其基本的思想就是通過一個非線性映射將原始空間中的數(shù)據(jù)映射到對應的特征空間中,分類問題的學習任務通過在特征空間中學習得出一個分類決策函數(shù)。
本實施例的主要目標是建立一個多核的函數(shù)。在實際問題的應用中核函數(shù)的選擇與數(shù)據(jù)結構特點有著十分緊密的關系,而本實施例的向量值再生核函數(shù)就是基于多個基本核函數(shù)的線性組合,從而彌補了特定核函數(shù)關于數(shù)據(jù)特點的選擇問題,通過調節(jié)與優(yōu)化線性組合之間參數(shù),使組合的核函數(shù)盡可能滿足實際的需求。
在本實施例中,提供一個多核核函數(shù),其能夠將選取的預定數(shù)量的特征映射到高維的空間中,從而將這些預定數(shù)量的特征變成線性可分的。這是多核核函數(shù)的主要特征。其具體形式如下:
其中,a和b是訓練數(shù)的權重,在訓練過程中人為給出的,具體沒有實際的含義;s和t是懲罰參數(shù),其目的是為了平衡兩個核函數(shù);K是核函數(shù),y是標簽,s,t∈R且s+t=1,x,y∈[-1,1];x是訓練數(shù)據(jù),x=(x1,x2,x3,…xn),是一個n維的向量,可以理解為一個訓練數(shù)據(jù)集n個特征,而||x-y||2表示的是在做高維映射時為了使得讓數(shù)據(jù)變的線性可分。
即多核核函數(shù)K是由兩個核函數(shù)的組成的多核核函數(shù),其目的是將非線性的點經(jīng)過核函數(shù)作用映射到更高維空間中,將其變成線性可分的。
本發(fā)明實施例提供的上述向量值的多核函數(shù)有很大的靈活性,它可以將不同類型的核函數(shù)組合在一起,由此可以構造出不同的核函數(shù),以對文本進行分類,具體步驟如下:
輸入:訓練數(shù)據(jù)集訓練集T={(x1,y1),(x2,y2),...,(xN,yN)};其中,xi∈X=Rn,yi∈Y={+1,-1},i=1,2,...,N,xi為第i個特征向量,yi為xi的類標記,即xi對應的分類。
(1)選擇懲罰參數(shù)0<C<1,構造并求解凸二次規(guī)劃問題
式中,0≤αi≤C,i=1,2,...,N;
即,通過序列最小化算法訓練求得最優(yōu)解其中N是自然數(shù),N的大小具體是多少訓練樣本的個數(shù)有關。
(2)計算
選擇α*的一個分量適合條件計算
(3)構造決策函數(shù)
(4)使用多核核函數(shù)替換決策函數(shù)中的K(x,xi),得到分類超平面函數(shù)。
S2:通過分類超平面函數(shù),對新輸入的文本進行預測
在得到上述分類超平面函數(shù)后,如果將文本輸入該分類超平面函數(shù),即可以實現(xiàn)對文本的分類,例如:有兩條新聞,一個是關于籃球的新聞,一條是關于飲食類的新聞,本發(fā)明首先根據(jù)這兩條新聞得到分類超平面函數(shù),然后對新輸入的新聞做分類,判斷新輸入的新聞是屬于關于籃球類的新聞,還是飲食類的新聞。
實施例2
本實施例提供了一種文本處理系統(tǒng),其包括:
分類超平面函數(shù)建立模塊,用于分類超平面函數(shù);
文本預測模塊,通過分類超平面函數(shù)對文本進行預測;
其中,所述分類超平面函數(shù)建立模塊包括:
詞條文檔矩陣建立單元,用于對文本進行分詞處理,建立詞條文檔矩陣;
特征提取單元,通過決策樹算法從詞條文檔矩陣中提取特征;
分類超平面函數(shù)構造單元,用于構造分類超平面函數(shù)。
本實施例中,與實施例1類似,所述詞條文檔矩陣建立單元將文本讀入到R語言程序中,運用分詞工具或用戶定義的分詞規(guī)則將所述文本拆分成單個的詞,并統(tǒng)計每個詞出現(xiàn)的詞頻;使用至少一個向量將該文本表示成布爾矩陣和詞頻矩陣的形式。
本實施例中,所述布爾矩陣中,使用0和1表示特征值,如果第i個特征值在文本中出現(xiàn),定義該文本特征向量的第i個分量值ti=1,否則ti=0,i=1,2,…,n。
本實施例中,所述詞頻矩陣表示的特征詞在文本中出現(xiàn)的次數(shù),其中每一行代表一個文本向量,每列代表一個特征詞,矩陣中的特征值ti代表特征詞出現(xiàn)的次數(shù)。
所述特征提取單元,可以通過下述步驟提取特征:
計算訓練數(shù)據(jù)集D的經(jīng)驗熵H(D):式中,D表示訓練數(shù)據(jù)集,|D|表示其樣本容量,設有K個類Ck,k=1,2,…K,K為自然數(shù),|Ck|為屬于Ck的樣本個數(shù);設特征A有n個不同的取值{a1,a2,…,an},根據(jù)特征A的取值將D劃分為n個子集D1,D2,…,Dn,|Di|為Di的樣本個數(shù),記子集Di中屬于類Ck的樣本的集合為Dik;
計算特征A對數(shù)據(jù)集D的經(jīng)驗條件熵H(D|A):
計算信息增益:g(D,A)=H(D)-H(D|A);
選取信息增益最大的特征。
所述分類超平面函數(shù)構造單元可以通過下述步驟構造分類超平面函數(shù):
S301、選擇懲罰參數(shù)0<C<1,構造并求解凸二次規(guī)劃問題:式中,0≤αi≤C,i=1,2,...,N;通過序列最小化算法求得最優(yōu)解
式中,N是自然數(shù),其具體值與訓練樣本個數(shù)有關;αi和αj是對應訓練樣本xi和xj的權重,b表示的為支持向量的權重和閾值,k(xi,xj)是核函數(shù),s.t是數(shù)學符號;
S302、計算選擇α*的一個分量適合條件計算
S303、構造決策函數(shù)
S304、提供多核核函數(shù):替換決策函數(shù)中的K(x,xi),得到分類超平面函數(shù),其中,a和b為訓練數(shù)的權重;s和t是懲罰參數(shù);K是核函數(shù),y是標簽,s,t∈R,且s+t=1,x,y∈[-1,1],e為自然對數(shù)。
以上實施例的先后順序僅為便于描述,不代表實施例的優(yōu)劣。
最后應說明的是:以上實施例僅用以說明本發(fā)明的技術方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發(fā)明各實施例技術方案的精神和范圍。