發布時間:2023-09-25 11:24:39
序言:作為思想的載體和知識的探索者,寫作是一種獨特的藝術,我們為您準備了不同風格的5篇神經網絡文本分類,期待它們能激發您的靈感。
關鍵詞:Web文本分類;RBF網絡;高斯函數;梯度下降法
中圖分類號:TP18文獻標識碼:A文章編號:1009-3044(2011)13-3107-02
The Researching of Web Text Classification Based on RBF Neural Network
XU Chun-yu
(Information Engineering Department, Liaoning Provincial College of Communications, Shenyang 110122, China)
Abstract:Web text classification is the automatic classification for Web information and it makes the use of text classification technology. The technology makes user find resource that they want quickly. The data from the Web is divided into sample data set and test data set after feature extraction in the process of text classification. Sample data set is inputted to the RBF network and the RBF network is trained. Test data set is inputted the RBF to validate after training the network. Experimental results show that RBF network achieved better classification results.
Key words: web text classification; RBF network; gauss Function; gradient descent algorithm
近年來,web已經成為擁有數十億個異構的、半結構化的、動態的分布式信息空間,這些web信息源中有80%以上的信息是以web文本的形式出現的,如何從這些海量的web信息資源中尋找并獲取有價值的信息和知識模式,已經成為信息處理的一個關鍵問題,web文本分類有助于人們完成這個目標[1]。
1 web文本分類
文本分類就是先根據已有的樣例文本找出能描述并區分文本類別的分類器,然后利用該分類器對新的未分類的文本進行分類。根據機器學習的觀點,文本自動分類問題可以歸結為一個機器學習任務:假定全體文本空間為D,預定義的文本類別集合為C{c1,c2,…,c3}。待學習分類法稱為目標分類器,記作y,一般來說,y是從文本集到類別集的一個映射,即y:DC,通常情況下該映射存在,但沒有解析表達式。文本分類中機器學習的目的就是找到映射y的一個近似表達式或估計:y:DC,使對于D中所有文本d有h(d)=y(d),或使得h(d)≠y(d)的概率最小。其中h為分類器[3]。
隨著web上海量文本信息的增加,文本分類技術的處理對象從普通的文檔擴展到了web文本,即形成了web文本分類技術,顯然,文本分類技術是web文本分類技術的基礎。
2 RBF神經網絡
徑向基函數(Radial Basis Function,簡稱RBF)神經元網絡是在借鑒生物局部調節和交疊接受區域知識的基礎上提出的一種采用局部接受域來執行函數影射的人工神經元網絡。在人的大腦皮層區域中,局部調節及交疊的感受是人腦反映的特點。RBF網絡同BP網絡類似,也是一種三層前饋式神經網絡,輸入層節點傳遞輸入信號到隱含層,隱含層節點由像高斯函數那樣的輻射狀作用函數構成,而輸出層節點通常是簡單的線性函數。網絡模型如圖1所示。
從RBF的網絡模型圖可以看出,RBF網絡由兩部分組成,第一部分為非線性變換層,它的輸出公式如公式(1)所示:
(1)
其中X={x1,x2,…xn}為輸入向量,Ci={Ci(1),Ci(2),…Ci(N)}為第i個非線性變換單元的中心向量,Ct(q)表示第t個中心的第q個分量,σi為第i個非線性變換單元的寬度,||?||表示的是范數,通常情況下取2范數,g(?)表示的是非線性函數關系,一般取Gauss函數,Gauss函數的函數關系如公式(2)所示:
(2)
第二部分:線性合并層,它的作用是將變換層的輸出線性加權合并,公式如(3)所示,其中l為隱含層神經元的個數,m為輸出層神經元的個數。
(3)
RBF網絡通過徑向基函數能夠更確切的描述人類神經元的活動特性。在中心附近的區域內網絡的輸出最大,網絡的輸出隨著中心距離的增大,逐漸減小,而這個過程的快慢則是由σ參數來決定的,σ越大則函數輸出曲線越平緩,對輸入的變化就越不敏感,因此,可以通過調節σ來進一步模擬人類的神經元。RBF網絡最常用的算法是梯度下降法,常用的訓練就是選定某種性能指標,然后采用梯度下降的方法來校正網絡參數,使該網絡性能指標取得最優值,因此RBF網絡的學習實質上就是一個最優化問題。具體的訓練算法為:對于一般的RBF網絡結構,取性能指標如公式(4)所示。
(4)
其中,i為網絡的輸出,具體關系式如下面的(5)式、(6)式和(7)式所示:
(5)
(6)
(7)
由上面的三個公式可以看出, J是關于Cj,wjt和σj的函數。網絡的訓練過程就是調整以上三組參數,使J趨于最小。求取J對各網絡參數wts,ct(q),σt的偏導數,其中1≤t≤P(P是隱含層單元的個數),1≤s≤M(M是輸出層單元的個數),1≤q≤N(N是輸出層單元的個數),得到參數的校正方法。具體的校正方法為:權值wts的校正方向如公式(8)所示:
(8)
中心ct(q)的校正方向如公式(9)所示:
(9)
寬度σt的校正方向如公式(10)所示:
(10)
由此,可以得到RBF網絡的梯度下降法校正公式如(11)所示:
(11)
其中,1≤t≤P,1≤s≤M,1≤q≤N,P為隱含層單元個數,N為輸入層單元個數,M為輸出層單元個數,λ為步長,通常λ=0.05左右。
隱含層到輸出層之間的變換是線性變換,所以采用的是比較成熟的RLS算法。給定樣本輸入,則在當前的網絡隱含層單元中心Cj及寬度σj(1≤j≤P)參數下,隱含層單元輸出向量為HT=[h1,h2,…,hP],P為隱含層單元個數。
Y=HTW (12)
其中,Y=[y1,y2,…,yM],W=[w1,w2,…,wM],wi=[w1i,…,wpi],這樣,根據RLS算法有權值的修正遞推公式如公式(13)所示:
(13)
這樣,按照上面的公式對網絡參數不斷地進行循環校正,最終網絡性能將達到所要求的性能指標[5]。
3 實驗
實驗過程中,首先設計網絡拓撲結構,確定RBF網絡輸出層神經元個數,根據類別的個數來確定輸出層神經元的個數,實驗數據分別屬于10個類別,因此網絡輸出層神經元個數為10。輸入層神經元的個數為文檔在進行特征提取之后向量的維數,實驗中,經過降維以后的每篇文檔特征向量的維數為30,所以將網絡的輸入層神經元的個數選取為30。由于輸入樣本空間是確定的,可以預先給定一個隱含層節點數,只要與輸入樣本的實際類別數相差不是很大時,就可以使用梯度下降法來不斷修正網絡的中心值,使網絡的特性逼近于實際系統,這種方法比較簡單,也是一種比較常用的方法,因此,實驗中隱含層神經元的個數取值為9。
RBF網絡結構設計完成之后就可以對網絡進行訓練了,實驗數據來自中國期刊網上下載的600篇文檔,涵蓋了政治、經濟、教育、娛樂等10個類別,每個類別包含60篇文檔,選取其中的500篇文檔作為樣本訓練集,每個類別選擇50篇,另外100篇文檔作為網絡的測試集。首先需要對實驗數據進行文本特征提取、降維等過程。其次采用的是Matlab軟件進行編程以實現網絡的訓練,網絡訓練完成以后,輸入測試集中的數據,測試網絡能否正確地將相關的文檔區分到各個類別中。表1是RBF網絡的分類結果。
4 結論
從上面的訓練結果分析,RBF網絡能夠將大部分的文本正確地劃分到所屬類別,對于體育、娛樂、外語方面的文檔能夠取得較高的識別率,對于政治、經濟、軍事等方面的文檔的識別率較低,主要原因是這些類別的文檔中互相包含著相關的特征信息,這種類型的文檔在進行文本分類的時候,需要在文本特征提取的時候進行相應的處理,以使得在輸入神經網絡的時候能夠得到正確的分類結果。從實驗結果可以看出,RBF網絡完全可以應用到文本分類中來,并且能夠取得較好的分類效果。
參考文獻:
[1] 蒲筱哥.Web自動文本分類技術研究綜述[J].情報科學,2009:233.
[2] Crimmins F, Smeaton A, Dkaki T, et al.Information discovery on the internet[J].IEEE Intell.Syst.,1999(14):55-62.
[3] 王曉慶. 基于RBF網絡的文本自動分類的研究[D].南昌:江西師范大學,2003:9.
[4] Abhijit S, Rober B. 神經網絡模式識別及其實現[M].徐勇,荊濤,譯.北京:電子工業出版社,1999:30-32,57-114.
[5] 柯慧燕. Web文本分類研究及應用[D].武漢:武漢理工大學,2006:14-15,16-17.
[6] 飛思科技產品研發中心. 神經網絡理論與MATLAB7實現[M].北京:電子工業出版社,2005:17.
關鍵詞:個性化;信息檢索;文本分類
中圖分類號:TP311文獻標識碼:A 文章編號:1009-3044(2008)29-0265-02
Method of Text Categorization in Personalized Retrieval
PENG Ye-ping, XIAO Da-guang
(Information science and Engineering college,Central South University,Changsha 416000,China)
Abstract: Personalized retrieval is becoming a hot topic for research, this paper mainly discusses about the text categorization algorithm, its principles and scope of application.
Key words: personalized; retrieval; text categorization
1 引言
搜索引擎在信息檢索中起了重要作用,但是由于引擎的通用性,使其不能滿足不同目的,背景,時期的用戶查詢需求,因此需要針對擁護特征向用戶提供個性化服務。文本分類方法通過構造某種分類模型,并以此判斷樣本所屬的類別。文本分類對合理組織,存儲文本信息,提高信息檢索速度,提高個性化信息檢索效率的基礎。
2 分類方法
2.1 樸素貝葉斯方法
樸素貝葉斯方法是一種在已知先驗概率與條件的情況下的模式識別方法,假設詞條之間是相互獨立的。設d為一任意文本,它屬于文檔類C{c1,c2,…,ck}中的一類Cj,引用詞條和分類的聯合概率來計算給定文檔的分類概率的公式如下:
計算所有文本類在給定d情況下的概率,概率值最大的那個類就是文本d所屬的類,既:
2.2 貝葉斯網絡分類法
貝葉斯網絡分類法考慮了特征之間的依賴關系,該方法更能真實反映文本的情況,但是計算復雜度比樸素貝葉斯高的多。
2.3 決策樹方法
決策樹極強的學習反義表達能力使得其適合于文本分類,它是通過一組無序,無規則的實例推理出樹型的分類規則,采用自頂向下的遞歸方式,在決策樹的內部結點進行屬性值的比較并根據不同的屬性值進行判斷從該結點向下的分支,在決策樹的葉結點得到結論,決策樹的建立算法有很多,文獻[5]其中包括基于信息增益的啟發式計算ID3;基于信息增益率的解決聯系屬性的算法C4.5;基于Gini系數的算法CART和可并行性算法SPRINT算法。決策樹方法特點是使用者只要將訓練樣例能夠使用屬性-結合式的方法表達出來,就能夠用該方法來學習,但是這種算法生成的仍是多叉樹。
2.4 K-鄰近方法
K-鄰近方法,根據測試文本在訓練文本中與之最相近的K篇文本的類別來判定它的類別,其中,K是一個重要的參數,文獻[4]K值過大,則與待分類文本實際上并不相似的一些文本也被包含,造成噪音增加;K值太小,則不能充分體現待分類文本的特點.一般對K會選定一個初值,相似值的判定可取歐拉距離或余旋相似度等,若分類系統中相似值的計算采用余旋相似度,則公式如下:
Sim(x,di)為相似度公式,X為新文本的向量,y(di,cj)為類別屬性函數,若d∈cj,則y(di,cj)=1;否則y(di,cj)=0;將新文本分到權重最大的類別中去。
2.5 支持向量機
Vapnik提出在結構風險最小化準則理論上的支持向量機方法,能有效解決小樣本集的機器學習問題,向量機主要是針對兩類分類問題,在高維空間尋找一個滿足分類要求的最優超平作為兩類的分割,既保證分類精確度,又要使超平面兩側的空白區域最大化,以保證最小的分類錯誤率,文獻[1]對于大于兩類的多類文本分類,就對每個類構造一個超平面,將這一類與其余的類分開,有多個類就構造多個超平面,測試時就看哪個超平面最適合測試樣本。支持向量機方法避免了局部性問題,樣本中的支持向量數,能夠有效地用于解決高緯問題。
2.6 神經網絡方法
神經網絡是模仿人腦神經網絡的基本組織特性構成的新型信息處理系統,其性質取決于網絡拓撲結構,網絡的權值和工作規則.通常由等于樣本特征數的輸入層,輸出層,等于樣本類數的神經元組成。其中,每一個連接都有一定的權值,通過訓練類來訓練的過程就是調整這些權值的過程,從而使神經網絡與可以正確地預測類別。
3 幾種方法的比較
3.1 樸素貝葉斯與網絡貝葉斯
樸素貝葉斯方法使用概率去表示所有形式的不確定性,學習或其他形式的推理都用概率規則來實現,但是大部分情況是文本特征之間的依賴關系是相互存在的,所以特征獨立性會影響樸素貝葉斯分類的結果;網絡貝葉斯能夠考慮特征之間的依賴關系,但是計算復雜度比樸素貝葉斯高得多;
3.2 支持向量機方法
支持向量機方法的優點:首先,該方法是針對有限樣本情況的分類方法,其算法最終將轉化為一個二次型尋優萬惡提,理論上得到的將是全局最優點,避免了局部極值問題;其次,該方法計算的復雜度不再取決于空間維度,而是取決于樣本數,這可能有效地用于解決高維度問題;再次,該方法對稀疏數據不敏感,能更好地捕捉數據的內在特征。缺點是:該方法參數的調整比較困難,分類比較費時。
3.3 神經網絡方法
神經網絡方法的優點:首先,具有自適應功能,它能根據所提供的數據,通過學習找出輸出結果之間的內在聯系,從而球的問題的解答;其次,神經網絡善于聯想、概括、類比和推廣,任何局部的操作都不會影響整體效果;再次,具有高速尋找優化解的能力。缺點:該方法根據輸入輸出的關系訓練網絡,缺少解釋能力,受訓練樣本影響大,訓練過程較慢,不適應大量數據的學習。
3.4 決策樹方法
決策樹方法的優點是它在學習過程中不需要使用者了解很多背景知識,只要訓練樣例能夠使用屬性-結論式的方法表示出來,就能使用該方法。缺點是測試屬性的選擇對該方法影響較大。
3.5 K-鄰近方法
K-鄰近方法的優點是該方法訓練過程較快,且可隨時添加或更新訓練文本來調整;缺點是因為需要很大的空間來保存文本,所以它分類的開銷很大,K值確定較慢,分類效果較差.
4 文本分類方法效果評價
1) 精確度(查全率):是指通過分類系統正確分類的文本數與實際分類的文本數的比值,其公式如下:
精確度:=
2) 召回率(查全率):是指通過分類系統正確分類的文本數與人工分類中應有的文本數的比值,公式如下:
召回率:=
3) F1測試值:對查權率和查準綠的綜合測試
F1測試值:=
參考文獻:
[1] 史忠植.知識發現[M].北京:清華大學出版,2002.
[2] 朱明.數據挖掘[M].合肥:中國科技大學出版社,2002.
[3] 王繼成,潘金貴,張福炎.web文本挖掘技術研究[J].計算機研究與發展,2000,37(5):513-520.
關鍵詞:卷積神經網絡;語言模型;分析
1 卷積神經網絡語言模型
CNN語言模型基本結構包括輸入層、卷積層、池化層及后續的分類層。輸入層是表示語言的矩陣,該矩陣可以是通過Google word2vec或GloVe預訓練得到的詞嵌入表示,也可以是從原始數據重新訓練的語言的向量表示。輸入層之后是通過線性濾波器對輸入矩陣進行卷積操作的卷積層。在NLP問題中,輸入矩陣總是帶有固定順序的結構,因為矩陣的每一行都表示離散的符號,例如單詞或者詞組等。因此,使用等寬的濾波器是非常合理的設置。在這種設置下,僅需要考慮濾波器的高度既可以實現不同尺寸的濾波器做卷積操作。由此可知,在處理NLP問題時,卷積神經網絡的濾波器尺寸一般都是指濾波器的高度。
然后,將卷積層輸出的特征映射輸入池化層,通過池化函數為特征映射進行降維并且減少了待估計參數規模。一般的,CNN池化操作采用1-max池化函數。該函數能夠將輸入的特征映射統一生成維度相同的新映射。通過池化操作,可以將卷積層生成的特征連接成更抽象的高級特征,所得到的高級特征尺寸與輸入的句子不再存在直接關系。
最后,將得到的高級特征輸入softmax分類層進行分類操作。在softmax層,可以選擇應用dropout策略作為正則化手段,該方法是隨機地將向量中的一些值設置為0。另外還可以選擇增加l2范數約束,l2范數約束是指當它超過該值時,將向量的l2范數縮放到指定閾值。在訓練期間,要最小化的目標是分類的交叉熵損失,要估計的參數包括濾波器的權重向量,激活函數中的偏置項以及softmax函數的權重向量。
2 卷積神經網絡語言模型應用分析
CNN語言模型已經廣泛應用于諸如文本分類,關系挖掘以及個性化推薦等NLP任務,下面將對這些應用進行具體的介紹與分析。
2.1 CNN在文本分類中的應用分析
kim提出了利用CNN進行句子分類的方法。該方法涉及了較小規模的參數,并采用靜態通道的CNN實現了效果很優異的句子分類方法。通過對輸入向量的調整,進一步提高了性能實現了包括情感極性分析以及話題分類的任務。在其基礎上為輸入的詞嵌入設計了兩種通道,一種是靜態通道,另一種是動態通道。在卷積層每一個濾波器都通過靜態與動態兩種通道進行計算,然后將計算結果進行拼接。在池化層采用dropout正則化策略,并對權值向量進行l2約束。最后將該算法應用于MR、SST-1與SST-2、Subj、TREC、CR以及MPQA等數據集。MR數據集為電影評論數據集,內容為一句話的電影評論,其分類包括積極情感極性與消極情感極性兩類。SST-1與SST-2數據集為斯坦福情感樹庫是MR數據集的擴展,但該數據集已經劃分好了訓練集、驗證集及測試集并給出了細粒度的標記,標記包括非常積極、積極、中性、消極、非常消極等情感極性。Subj數據集為主觀性數據集,其分類任務是將句子分為主觀句與客觀句兩類。TREC數據集為問題數據集,其分類任務是將所有問題分為六類,例如關于數字、人物或位置等信息的問題。CR數據集為評論數據集,包括客戶對MP3、照相機等數碼產品的評論,其分類任務是將其分為積極評價與消極評價兩類。MPQA數據集是意見極性檢測任務數據集。通過實驗證明,該方法在這幾個典型數據集上都能取得非常優異的效果。
2.2 CNN在關系挖掘中的應用分析
Shen等人提出了一種新的潛在語義模型,以詞序列作為輸入,利用卷積-池化結構為搜索查詢和Web文檔學習低維語義向量表示。為了在網絡查詢或網絡文本中捕捉上下文結構,通過輸入單詞序列上下文時間窗口中的每個單詞來獲取詞匯級的n-gram語法特征,將這些特征聚合成句子級特征向量。最后,應用非線性變換來提取高級語義信息以生成用于全文字符串的連續向量表示。該模型的不同之處在于,輸入層與卷積層之間加入了word-n-gram層與letter-trigram層,它們能夠將輸入的詞序列轉變為letter-trigram表示向量。在卷積層通過上下文特征窗口發現相鄰單詞的位置特征,并變現為n-gram形式。然后通過max池化將word-n-gram特征合并為句子級的高級特征。在池化層之后增加了語義層來提取更高級的語義表示向量。
2.3 CNN在個性化推薦中的應用分析
Weston等人提出了一種能夠利用標簽(hashtag)有監督的學習網絡帖子短文本特征表示的卷e嵌入模型(Convolutional Embedding Model)。該方法利用提出的CNN模型在55億詞的大數據文本上通過預標注的100,000標簽進行訓練。該方法除了標簽預測任務本身能取得好的效果外,學習到的特征對于其它的文本表示任務也能起到非常有效的作用。該模型與其它的詞嵌入模型類似,輸入層為表示文本的矩陣,但是,在用查找表表示輸入文本的同時將標簽也使用查找表來表示。對于給定的文檔利用10萬條最頻繁出現的標簽通過評分函數對任何給定的主題標簽進行排序。
其中,econv(w)表示CNN的輸入文檔,elt(t)是候選標簽t的詞嵌入表示。因此,通過對分數f(w,t)進行排序可以獲取所有候選主題標簽中排序第一的話題進行推薦。實驗數據集采用了兩個大規模語料集,均來自流行的社交網絡文本并帶有標簽。第一個數據集稱作people數據集,包括搜集自社交網絡的2億1000萬條文本,共含有55億單詞。第二個數據集被稱作pages,包括3530萬條社交網絡文本,共含有16億單詞,內容包括企業、名人、品牌或產品。
3 結束語
卷積神經網絡應用于語言模型已經取得了非常大的發展,對于自然語言處理中的各項任務均取得了優異的結果。本文通過對幾項典型工作的分析,探討了不同卷積神經網絡模型結構在不同任務中的表現。通過綜合分析可以得出以下結論。首先,CNN的輸入采用原始數據訓練的向量表示一般效果會優于預訓練的詞嵌入表示;其次,在卷積層濾波器的尺寸一般采用寬度與輸入矩陣寬度相等的設置;最后,為了優化結果可以采用dropout正則化處理。
——基于深度神經網絡的標題分類研究
班級:XX
學號:XX
姓名:XX
2020年10月25號
基于深度神經網絡的標題分類研究
XX
摘要:新聞是人們對時事、最新行業相關消息了解的重要途徑,本文將新聞標題作為新聞分類的切入點,由于新聞標題屬于文本中的短文本類別,所以本文主要通過利用深度學習相關方法對新聞標題短文本進行分類,針對前期分類出現過的問題,結合深度學習網絡并引入的SVM 模型,解決新聞分類以及短文本分類過程中的常見困難問題。
關鍵詞:深度學習;SVM;標題分類
1 引言
隨著大數據時代的來臨,我們日常的信息規模呈現出爆炸式增長的趨勢。數據挖掘和人工智能逐漸成為時代的主題??s小信息規模的方法有很多種,而分類就是其中一種極其有效的方式,所以它當前仍是吸引國內外學者研究的重點問題和熱點問題。文本分類是在自然語言處理領域廣泛研究的問題,在工業領域內,現在已經有著較為成熟的應用,無論是樸素貝葉斯還是決策樹又或是最大熵以及神經網絡都在工業領域有著相關應用。而文本分類技術在新聞分類領域的應用仍然有限,當前的文本分類系統大多基于統計學原理再結合相關機器學習方法訓練相關數據集,從而得到所需的分類器并使用其達成對無標簽數據進行分類的目的。在2017 年自然語言處理及中文計算會(NLPCC)也曾對新聞分類相關問題設立相關課題,這也間接表現出了其可能為文本分類領域的發展研究做出較大的貢獻。
由于中文新聞文本分類起步較晚,再加以復雜精深的漢語語法的影響,使得之前關于中文新聞文本分類的研究相比于英文顯得稍微落后,但現在伴隨各種中文新聞語料庫的出現和完善,中文新聞文本分類漸漸走上正軌。以往對新聞進行分類時通常是解析新聞的正文,由于部分新聞的篇幅較長,往往導致了新聞分類時的效率低下。而通過中文新聞標題對中文新聞文本進行分類,相比與傳統的新聞分類來說在分類效率上可以得到很大的優化。除此之外,新聞標題往往是對新聞主題的高度概括,以有限的字數對全文內容進行凝煉,所以這屬于一個短文本分類領域的相關問題。通過對中文新聞標題分類的研究,對短文本分類領域的部分問題有著借鑒意義。
2 算法原理與系統設計
2.1 算法原理
支持向量機(Support Vector Machine ,SVM)的主要思想是:建立一個最優決策超平面,使得該平面兩側距離該平面最近的兩類樣本之間的距離最大化,從而對分類問題提供良好的泛化能力。對于一個多維的樣本集,系統隨機產生一個超平面并不斷移動,對樣本進行分類,直到訓練樣本中屬于不同類別的樣本點正好位于該超平面的兩側,滿足該條件的超平面可能有很多個,SVM正式在保證分類精度的同時,尋找到這樣一個超平面,使得超平面兩側的空白區域最大化,從而實現對線性可分樣本的最優分類。支持向量機中的支持向量(Support Vector)是指訓練樣本集中的某些訓練點,這些點最靠近分類決策面,是最難分類的數據點。SVM中最優分類標準就是這些點距離分類超平面的距離達到最大值;“機”(Machine)是機器學習領域對一些算法的統稱,常把算法看做一個機器,或者學習函數。SVM是一種有監督的學習方法,主要針對小樣本數據進行學習、分類和預測,類似的根據樣本進行學習的方法還有決策樹歸納算法等。
2.2 詳細設計
簡單的Python機器學習實現新聞標題自動分類,爬蟲獲取的新浪新聞的分類,先對新聞進行分詞,手動分類一些分詞后的標題,然后以它為輸入做SVM模型訓練,然后用訓練好的SVM模型對其他標題做預測。
3 系統實現
#news_classify.py
import xlrd
import xlwt
import jieba
import numpy as np
from sklearn.feature_extraction.text import CountVectorizer
from sklearn.feature_extraction.text import TfidfTransformer
from sklearn.svm import SVC
def read_data(file, sheet_index=0):
"""讀取文件內容"""
workbook = xlrd.open_workbook(file)
sheet = workbook.sheet_by_index(sheet_index)
data = []
for i in range(0, sheet.nrows):
data.append([x for x in sheet.row_values(i) if x.strip()])
return data
def get_classified_sample():
"""返回手動分類的新聞"""
data = read_data('test.xls')
return {
'經濟': data[1] + data[14] + data[20],
'社會': data[2] + data[3] + data[4] + data[9] + data[17] + data[18],
'政法': data[5] + data[6] + data[7] + data[8] + data[11] + data[13] + data[15] + data[16] + data[19],
'軍事': data[10],
'娛樂': data[12],
}
def classify():
"""進行分類"""
# 一共分成5類,并且類別的標識定為0,1,2,3,4
category_ids = range(0, 5)
category = {}
category[0] = '經濟'
category[1] = '社會'
category[2] = '政法'
category[3] = '軍事'
category[4] = '娛樂'
corpus = []# 語料庫
classified_sample = get_classified_sample()
for k, v in classified_sample.items():
line = ' '.join(classified_sample[k])
corpus.append(line)
data = read_data('test.xls')
# 把未分類的文章追加到語料庫末尾行
# 21開始是因為我手動分類了前20條
for lst in data[21:]:
line = ' '.join(lst)
corpus.append(line)
# 計算tf-idf
vectorizer = CountVectorizer()
csr_mat = vectorizer.fit_transform(corpus)
transformer = TfidfTransformer()
tfidf = transformer.fit_transform(csr_mat)
y = np.array(category_ids)
# 用前5行已標分類的數據做模型訓練
model = SVC()
model.fit(tfidf[0:5], y)
# 對5行以后未標注分類的數據做分類預測
predicted = model.predict(tfidf[5:])
# 結果
# print(len(predicted))
for i in range(len(predicted) - 1):
print(corpus[i + 5], '============》', category[predicted[i]])
if __name__ == '__main__':
classify()
4 實驗或測試結果
程序運行后出現如下界面(一部分):
中巴經濟走廊“圍堵”印度?新華社: 印度想太多了============》娛樂
央行報告:上海已經基本確立國內金融中心地位============》社會
國網北京電力: 北京地區煤改電今年累計破100 萬戶============》娛樂
湖南沅江原市長肖勝利犯三罪判5 年: 為升遷送13 萬============》娛樂
顏寧為何從清華跳槽去普林斯頓?她終于說出原因============》娛樂
國家文物局公布346 萬件全國館藏文物信息供監督============》娛樂
里皮首次對續約中國男足表態:我說了我愿意( 圖) ============》經濟
5 結論
本項目實現的是以標題分類為核心的Python程序的一個簡單嘗試,本項目采用爬蟲獲取的新浪新聞的分類,利用機器學習,深度學習的方法完成了標題分類任務,但模型還有待改進。
參考文獻
[1]楊崧. 基于LSTM-Attention的中文新聞標題分類研究[D].中南財經政法大學,2019.
關鍵詞:數據挖掘;貝葉斯;分類
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2008)23-1024-02
The Application of Bayesian Classification
ZHONG Dai-jun
(Chongqing University of Arts and Sciences, Chongqing 402160, China)
Abstract: This paper elaborates the necessity and importance of Bayesian classification when designing system using the technique of artiffisal intelligence,introduced the basic technique ofBayesian classification, given the advantage and disadvantage and future of it. Explained with some sample of theapplicationg of Bayesian classification.
Key words: data mining; bayes; classification
1 引言
數據的豐富帶來了對強有力的數據分析工具的需求,大量的數據被描述為“數據豐富,但信息貧乏”??焖僭鲩L的海量數據收集、存放在大型和大量的數據庫中,沒有強有力的工具,理解它們已經遠遠超出了人的能力。
分類作為數據挖掘的一種模式,可以用于提取描述重要數據的模型,通常是預測分類標號(或離散值)。例如,可以建立一個分類模型,對銀行貸款的安全或風險進行分類。許多分類的方法已被機器學習、專家系統、統計學和神經生物學方面的研究者提出。
貝葉斯分類是數據分類中的一個基本技術。在大型數據庫,貝葉斯分類已表現出高準確率和高速度。貝葉斯分類中又有樸素貝葉斯分類和貝葉斯信念網絡。
2 什么是分類
數據分類(data classification)是一個兩步過程。第一步,建立一個模型,描述預定的數據類集。通過分析有屬性描述的數據庫元組來構造模型。假定每個元組屬于一個預定義的類,由一個稱作類標號屬性(class label attribute)的屬性確定。對于分類,數據元組也稱作樣本、實例或對象。為建立模型而被分析的數據元組形成訓練數據集。訓練數據集中的單個元組稱作訓練樣本,并隨機地由樣本群選取。由于提供了每個訓練樣本的類標號,該步也稱作有指導的學習(即模型的學習在被告知每個訓練樣本屬于哪個類的“指導”下進行)。它不同于無指導的學習(或聚類),那里每個訓練樣本的類標號是未知的,要學習的類集合或數量也可能事先不知道。
通常,學習模型用分類規則、判定樹或數學公式的形式提供。例如,給定一個顧客信用信息的數據庫,可以學習分類規則,根據他們的信譽度優良或相當好來識別顧客。這些規則可以用來為以后的數據樣本分類,也能對數據庫的內容提供更好的理解。
第二步,使用模型進行分類。首先評估模型(分類法)的預測準確率。模型在給定測試集上準確率是正確被模型分類的測試樣本的百分比。對于每個測試樣本,將已知的類標號與該樣本的學習模型類預測比較。如果模型的準確率根據訓練集評估,評估可能是樂觀的,因為學習模型傾向于過分適合數據。
如果認為模型的準確率可以接受,就可以用它對類標號未知的數據元組或對象進行分類。(這種數據在機器學習文獻中也稱為“未知的”或“先前未見到的”數據)。
分類具有廣泛的應用,包括信譽證實、醫療診斷、性能預測和選擇購物。
3 Bayesian 分類技術介紹
3.1 Bayesian分類與其他分類技術的比較
基于統計的分類算法主要包括:相似度模型(Rocchio,K一近鄰)、概率模型(貝葉斯)、線性模型(LLSF,SVM)、非線性模型(決策樹、神經網絡)和組合模型.對于這些分類算法,國內外很多研究者進行了客觀評測。
分類方法可以根據下列標準進行比較和評估:
預測的準確率:這涉及模型正確地預測新的或先前未見過的數據的類標號的能力。
速度:這涉及產生和使用模型的計算花費。
強壯性:這涉及給定噪聲數據或具有空缺值的數據,模型真切預測的能力。
可伸縮性:這涉及給定大量數據,有效地構造模型的能力。
可解釋性:上涉及學習模型提供的理解和洞察的層次。
數據庫研究界對數據挖掘的分類一直強調可伸縮性。
“貝葉斯分類的效率如何?”理論上講,與其他所有分類算法相比,貝葉斯分類具有最小的出錯率。然而,實踐中并非總是如此。這是由于對其應用的假定(如類條件獨立性)的不準確性,以及缺乏可用的概率數據造成的。然而,種種實驗研究表明,與判定樹和神經網絡分類算法相比,在某些領域,該分類算法可以與之媲美。
貝葉斯分類還可用用來為不直接使用貝葉斯定理的其他分類算法提供理論判定。例如,在某種假定下,可用證明正如樸素貝葉斯分類一樣,許多神經網絡和曲線擬合算法輸出最大的后驗假定。
3.2 貝葉斯分類
3.2.1 貝葉斯定理
設X為一個類別未知的數據樣本,H為某個假設,若數據樣本X屬于一個特定的類別C,那么分類問題就是決定P(H/X),即在獲得數據樣本X時,H假設成立的概率P(X)是建立在H基礎之上的x成立的概率。具體公式描述如下:
3.2.2樸素貝葉斯分類(簡單貝葉斯分類)
樸素貝葉斯分類方法[3]是機器學習中常用的方法之一。樸素貝葉斯分類法將訓練實例I分解成特征向量W和決策類別變量C。樸素貝葉斯分類法假定特征向量的各分向量間相對于決策變量是相對獨立的。對文本分類來說,假設各個單詞wi和wj之間兩兩獨立。
設訓練樣本集分為k類,記為C={C1,C2,…,Ck},則每個類Ci的先驗概率為P(Ci), I=1,2, …,k,其值為Ci類的樣本數除以訓練集總樣本數N。對于樣本d,其屬于Ci類的條件概率是P(d|Ci)。文本d有其包含的特征詞表示,即d= (w1, …,wi, …,wm),m是d的特征詞個數|d|,wj是第j個特征詞。根據貝葉斯定理,Ci類的后驗概率為P(Ci|d)
因為P(d)對于所以類均為常數,樸素貝葉斯分類器將未知樣本歸于類的依據,如下
文檔d由其包含的特征詞表示,即d=(w1, …,wi, …,wm) ,m是d的特征詞個數|d|,wj是第j個特征詞,由特征獨立性假設,則得
式中P(wj|Ci)表示分類器預測單詞wj在類Ci的文檔中發生的概率。
3.3 改進的貝葉斯分類在文本分類中的應用
關鍵的一個技術是特征提取。文本分類征提取的步驟包括:詞語切分,詞頻統計,加權計算和特征選擇(二者通常結合在一起進行)。
在文本分類中有很多權重計算和特征選擇的公式,如信息增益、期望交叉嫡、文本證據權、zx統計量等,其中最著名的是TFIDF公式.那么,權重計算和特征選擇的公式究竟哪個為優呢?其實在這些公式中,關鍵在于特征選擇時的傾向:高頻詞或稀有詞,也就是公式中的P(w)因子起很大作用。因此,在特征選擇時,理想的做法應該是充分考慮P(w)因子的作用,最好能兼顧到高權高頻詞和低頻高權詞。
有學者對TF*F和TF*IWF*IWFF公式進行了分析并作了一些改進,認為關鍵詞在某類的權重受3個因素的影響:該詞在當前類中的出現頻率;該詞在總語料中的出現頻率;該詞在不同類別之間出現頻率的差異。最終得到關鍵詞在類中的權重計算公式:
類別區別度用來表示某一個詞語對于文本分類的貢獻程度,即詞語的領域區別程度。直觀地看,如果一個詞語在每一類中都比較均勻地出現,那么它對于分類的貢獻幾乎為零,類別區別度很低;如果某一詞語只在某一類中出現,那么它對于分類的貢獻很高,有的幾乎可以一詞定類,類別區別度也就很高了。比如,虛詞“的、我、在”的類別區別度很低,而“魔獸爭霸、重倉股、手機操作系統”這樣的詞語其類別區別度就很高。
3.4 貝葉斯信念網絡
樸素貝葉斯分類假定類條件獨立,即給定樣本的類標號,屬性的值相互條件獨立。這一假定簡化了計算。當假定成立時,與其他所有分類算法相比,樸素貝葉斯分類是最精確的。然而,在實踐中,變量之間的依賴可能存在。貝葉斯信念網絡(Bayesian belief network)說明聯合條件概率分布。它允許在變量的子集間定義類條件獨立性。它提供一種因果關系的圖形,可用在其上進行學習。這種網絡也被稱為信念網絡、貝葉斯網絡和概率網絡。
信念網絡有兩部分定義。第一部分是有向無環圖,其每個節點代表一個隨機變量,而每條弧代表一個概率依賴。如果一條弧有節點Y到Z,則Y是Z的雙親或直接前驅,而Z是Y的后繼。給定雙親,每個變量條件獨立于圖中的非后繼。變量可以是離散的或連續值的。它們可以對應于數據中給定的實際屬性,或對應于一個相信形成聯系的“隱藏變量”。
“貝葉斯信念網絡如何學習?”在學習或訓練信念網絡時,許多情況都是可能的。網絡結構可能預先給定,或由數據導出。網絡變量可能是可見的,或隱藏在所有或某些訓練樣本中。隱藏素凈的情況也稱為空缺值或不完全數據。
如果網絡結構已知并且變量是可見的,訓練網絡是直截了當的。該過程由計算CPT(條件概率表)組成,與樸素貝葉斯分類涉及的計算概率類似。
當網絡結構給定,而某些變量是隱藏的時,則可使用梯度下降方法訓練信念網絡。目標是學習CPT項的值。設S是s個訓練樣本X1,X2,…,Xs的集合,Wijk是具有雙親Ui=uik的變量Y=yij的CPT項。Wijk可以看作權,類似于神經網絡中隱藏單元的權。權的集合總稱為w。這些權被初始化為隨機概率值。梯度下降策略采用貪心爬山法。在每次迭代中,修改這些權,并最終收斂到一個局部最優解。
4 結束語
簡要闡述了分類在數據挖掘中的位置,著重介紹了貝葉斯分類的基本技術和它的相關應用。
參考文獻
[1] 史忠植.知識發現[M].北京:清華大學出版社,2002.