摘要:本文先介紹文本分類的特點(diǎn)和應(yīng)用,并指出傳統(tǒng)處理方法在文本處理方面的瓶頸及不足之處;然后引入深度學(xué)習(xí)的概念,以卷積神經(jīng)網(wǎng)絡(luò)為例,介紹卷積神經(jīng)網(wǎng)絡(luò)在文本分類中的應(yīng)用,通過從特征詞入手,經(jīng)過卷積-池化-分類等步驟對(duì)文本的分類進(jìn)行預(yù)測(cè)。結(jié)果表明,卷積神經(jīng)網(wǎng)絡(luò)自動(dòng)抽取特征的優(yōu)點(diǎn)相對(duì)傳統(tǒng)的文本分類方法具有更高效的表現(xiàn)。
關(guān)鍵詞:樸素貝葉斯;深度學(xué)習(xí);卷積神經(jīng)網(wǎng)絡(luò);文本分類
中圖分類號(hào):TP183:文獻(xiàn)標(biāo)識(shí)碼:A
0 引言
文本分類是自然語(yǔ)言處理的一個(gè)重要方面,利用計(jì)算機(jī)手段推斷出給定的文本(句子、文檔等)的標(biāo)簽或標(biāo)簽集合。利用深度學(xué)習(xí)進(jìn)行文本分類和語(yǔ)義判斷是一個(gè)新興而充滿前途的研究課題。
傳統(tǒng)的文本分類主要是利用貝葉斯原理,基于上下文之間的文本出現(xiàn)的概率對(duì)自然語(yǔ)言進(jìn)行處理。盡管貝葉斯在文本處理方面也非常高效,但其存在“零頻率”和不一定滿足獨(dú)立預(yù)測(cè)的假設(shè)等方面的缺陷。而使用深度學(xué)習(xí),完全另辟蹊徑從特征詞入手,經(jīng)過卷積、池化、分類等步驟,自動(dòng)學(xué)習(xí)和抽取文本特征,對(duì)海量文本進(jìn)行快速準(zhǔn)確的分類。
1 深度學(xué)習(xí)簡(jiǎn)介
加拿大多倫多大學(xué)教授 Geoffrey Hinton長(zhǎng)期堅(jiān)持神經(jīng)網(wǎng)絡(luò)的研究,但由于當(dāng)時(shí)支持向量機(jī)的流行,神經(jīng)網(wǎng)絡(luò)相關(guān)的研究工作遇到了重重阻礙。2006 年,Geoffrey Hinton 在 [1]
提出了一種逐層預(yù)訓(xùn)練的算法,可以有效地初始化Deep Belief Networks(DBN)網(wǎng)絡(luò),從而
使得訓(xùn)練大規(guī)模、深層數(shù)(上百萬(wàn)的參數(shù)量)的神經(jīng)網(wǎng)絡(luò)成為可能。在論文中,Geoffrey
Hinton 把深層的神經(jīng)網(wǎng)絡(luò)叫做Deep Neural Network,這一塊的研究也因此稱為 Deep
Learning(深度學(xué)習(xí))。
80年代時(shí)神經(jīng)網(wǎng)絡(luò)的理論研究基本已經(jīng)到位,為什么卻沒能充分發(fā)掘出深層網(wǎng)絡(luò)的巨大潛力?通過對(duì)這個(gè)問題的討論,本文接下來討論深度學(xué)習(xí)的典型網(wǎng)絡(luò)-卷積神經(jīng)網(wǎng)絡(luò),這也是層數(shù)可以輕松達(dá)到上百層的一類神經(jīng)網(wǎng)絡(luò)。
2 卷積神經(jīng)網(wǎng)絡(luò)簡(jiǎn)介
2.1 卷積神經(jīng)網(wǎng)絡(luò)的特點(diǎn)
卷積神經(jīng)網(wǎng)絡(luò)作為深度學(xué)習(xí)的一個(gè)典型網(wǎng)絡(luò),通過充分利用局部相關(guān)性和權(quán)值共享的思想,大大地減少了網(wǎng)絡(luò)的參數(shù)量,從而提高訓(xùn)練效率,更容易實(shí)現(xiàn)超大規(guī)模的深層網(wǎng)絡(luò)[1]。2012年,加拿大多倫多大學(xué)Alex Krizhevsky 將深層卷積神經(jīng)網(wǎng)絡(luò)應(yīng)用在大規(guī)模圖片識(shí)別挑戰(zhàn)賽ILSVRC-2012上,在ImageNet數(shù)據(jù)集上取得了15.3%的Top-5錯(cuò)誤率,排名第一,相對(duì)于第二名在Top-5錯(cuò)誤率上降低了10.9%,這一巨大突破引起了業(yè)界強(qiáng)烈關(guān)注,卷積神經(jīng)網(wǎng)絡(luò)迅速成為計(jì)算機(jī)視覺領(lǐng)域的新寵,隨后在一系列的任務(wù)中,基于卷積神經(jīng)網(wǎng)絡(luò)的形形色色的模型相繼被提出,并在原有的性能上取得了巨大提升。
2.2 卷積神經(jīng)網(wǎng)絡(luò)的基本原理
在數(shù)字圖像處理中有一種基本的處理方法叫線性濾波[2]。它將待處理的二維數(shù)字看作一個(gè)大型矩陣,圖像中的每個(gè)像素可以看作矩陣中的每個(gè)元素,像素的大小就是矩陣中的元素值。而使用的濾波工具是另一個(gè)小型矩陣,這個(gè)矩陣就被稱為卷積核。卷積核的大小遠(yuǎn)遠(yuǎn)小于圖像矩陣,具體的計(jì)算方式就是對(duì)于圖像大矩陣中的每個(gè)元素,計(jì)算周圍的像素和卷積核對(duì)應(yīng)位置的乘積,之后將結(jié)果相加最終得到的終值就是該像素的值,這樣就完成了一次卷積。
如果采用卷積神經(jīng)網(wǎng)絡(luò)來替代以上提到的手寫數(shù)字識(shí)別淺層神經(jīng)網(wǎng)絡(luò),采用三個(gè)卷積層,和兩個(gè)全連接層,一共只需要13450個(gè)參數(shù),而且識(shí)別的準(zhǔn)確率大幅上升。經(jīng)過測(cè)試,可由原來的91%上升到98%以上。由此可見,卷積層的參數(shù)量非常少,主要的參數(shù)量集中在全連接層。由于卷積層將輸入特征維度降低很多,從而使得全連接層的參數(shù)量不至于過大,因此通過卷積神經(jīng)網(wǎng)絡(luò)可以顯著降低網(wǎng)絡(luò)參數(shù)量,同時(shí)增加網(wǎng)絡(luò)深度,大幅提高了識(shí)別的準(zhǔn)確率。
3 卷積神經(jīng)網(wǎng)絡(luò)的在文本分類中的關(guān)鍵技術(shù)介紹
卷積神經(jīng)網(wǎng)絡(luò)可以應(yīng)用在人工智能的很多領(lǐng)域[3],比如圖像和自然語(yǔ)言處理等等。其結(jié)合特征提取和目標(biāo)訓(xùn)練為一體的模型,能夠很好地利用已有的信息對(duì)結(jié)果進(jìn)行反饋訓(xùn)練。對(duì)文本識(shí)別的卷積神經(jīng)網(wǎng)絡(luò)來說,同樣也是充分利用特征提取時(shí)提取的文本特征,來計(jì)算文本特征權(quán)重的大小,歸一化處理需要處理的數(shù)據(jù)[4]。這樣使得原來的文本信息抽象成一個(gè)向量化的樣本集,之后將樣本集和訓(xùn)練好的模板輸入卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行處理。下面以文本分類為例,說明卷積神經(jīng)網(wǎng)絡(luò)在文本分類中具體的編程方法和步驟。
3.1數(shù)據(jù)集介紹
本文采用名為“AG”的新聞分類數(shù)據(jù)集,該數(shù)據(jù)集是由學(xué)術(shù)社區(qū)ComeToMyHead提供的,從2000多個(gè)不同的新聞來源搜集,超過100萬(wàn)的新聞文章??捎糜谘芯糠诸悺⒕垲?、信息獲?。╮ank、搜索)等非商業(yè)活動(dòng)。在此基礎(chǔ)上,Xiang Zhang為了研究需要從中提取了127600樣本,其中抽出120000樣本作為訓(xùn)練集,7600作為測(cè)試集。該數(shù)據(jù)集按World、Sport、Business和Sci/Tec進(jìn)行4類劃分?!癆G”數(shù)據(jù)集用csv文件格式進(jìn)行存儲(chǔ),文件分為新聞分類、新聞標(biāo)題、新聞內(nèi)容三列。
3.2 關(guān)鍵技術(shù)介紹
(1)字符(非單詞)文本數(shù)字化的處理
任何一個(gè)英文單詞都是由字母構(gòu)成,因此可以簡(jiǎn)單地將英文單詞拆分成字母的表示形式,例如hello->[‘h, ‘e , ‘l , ‘l, ‘o], 此時(shí)可以使用one-hot 或字符embedding的方式進(jìn)行處理。這樣“hello”這個(gè)單詞就被轉(zhuǎn)換成一個(gè)[5,n]大小用one-hot表示的矩陣,其中n為所有字符的個(gè)數(shù)。然后以[新聞內(nèi)容單詞個(gè)數(shù),最大單詞字符數(shù),n]的矩陣形式直接把新聞內(nèi)容輸入卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行處理。
(2)解決每個(gè)句子文本輸入長(zhǎng)度不同的問題
首先找出所有要輸入訓(xùn)練句子的最大長(zhǎng)度,把這個(gè)作為標(biāo)準(zhǔn)輸入到卷積神經(jīng)的網(wǎng)絡(luò)的固定長(zhǎng)度,其余不足這個(gè)長(zhǎng)度的句子剩下的空位由0進(jìn)行填充。
(3)卷積神經(jīng)網(wǎng)絡(luò)文本分類模型的實(shí)現(xiàn)
對(duì)文本數(shù)據(jù)集處理完畢后,接著進(jìn)入卷積神經(jīng)網(wǎng)絡(luò)的分類模型設(shè)計(jì)。本文采用了一個(gè)
5層卷積神經(jīng)網(wǎng)絡(luò)的具體設(shè)計(jì),每層的設(shè)計(jì)如下。
a.輸入層
輸入層是句子中的詞語(yǔ)對(duì)應(yīng)的one-hot組成的字符矩陣,假設(shè)最長(zhǎng)的句子有 n 個(gè)詞,每個(gè)詞最大的字符序列為k個(gè)字符,每個(gè)詞從總共t個(gè)字符中選取若干字符構(gòu)成,則輸入的句子可以用[n,k,t]三維矩陣來表示。(在CNN中可以看作一副高度為n、寬度為k的深度為t的圖像)。
b.卷積層
輸入層通過卷積操作得到若干個(gè)Feature Map,卷積窗口的大小為 h ×t ,其中 h 表示縱向詞語(yǔ)的個(gè)數(shù)。通過這樣一個(gè)大型的卷積窗口,將得到若干個(gè)列數(shù)為1的Feature Map。
c.池化層
本文中采用了一種稱為Max-Pooling的方法。這種方法就是簡(jiǎn)單地從之前一維的Feature Map中提出最大的值,最大值代表著最重要的信號(hào)??梢钥闯觯@種Pooling方式可以解決可變長(zhǎng)度的句子輸入問題。
d. 全連接+softmax層
池化層的一維向量的輸出通過全連接的方式,然后再連接一個(gè)Softmax層進(jìn)行概率計(jì)算,最后得出分類的歸屬。
(4)訓(xùn)練方法
在倒數(shù)第二層的全連接部分上使用Dropout技術(shù),Dropout是指在模型訓(xùn)練時(shí)隨機(jī)讓網(wǎng)絡(luò)某些隱含層節(jié)點(diǎn)的權(quán)重不工作,不工作的那些節(jié)點(diǎn)可以暫時(shí)認(rèn)為不是網(wǎng)絡(luò)結(jié)構(gòu)的一部分,但是它的權(quán)重得保留下來(只是暫時(shí)不更新而已),因?yàn)橄麓螛颖据斎霑r(shí)它可能又得工作了,它是防止模型過擬合的一種常用的技巧。同時(shí)對(duì)全連接層上的權(quán)值參數(shù)給予L2正則化的限制。這樣做的好處是防止隱藏層單元自適應(yīng)(或者對(duì)稱),從而減輕過擬合的程度。
(5)實(shí)驗(yàn)結(jié)果分析
從實(shí)驗(yàn)的結(jié)果來看,主要有兩方面問題:
a.訓(xùn)練metrics不平滑,因?yàn)橛玫腷atch-sizes很小。如果用大點(diǎn)的batches (或者在整個(gè)測(cè)試集上進(jìn)行評(píng)估),會(huì)得到更平滑的曲線。
b.驗(yàn)證集的accuracy明顯比訓(xùn)練集的低,說明網(wǎng)絡(luò)過擬合了,應(yīng)該用更大的數(shù)據(jù)集,更強(qiáng)的正則化,更少的模型參數(shù),或者使用dropout,能較好改善過擬合問題。
從實(shí)驗(yàn)的規(guī)模和效率來看,卷積神經(jīng)網(wǎng)絡(luò)在文本分類中取得了很好的成果,相比于之前淺層的機(jī)器學(xué)習(xí)方法如NB、SVM效果更好,特別實(shí)在數(shù)據(jù)集較大的情況下,并且CNN不用我們手動(dòng)去提取特征,原淺層ML是需要進(jìn)行文本特征提取、文本特征表示、歸一化、最后進(jìn)行文本分類。所以采用卷積神經(jīng)網(wǎng)絡(luò)在處理大量文本的分類的時(shí)候,整體效果是好于傳統(tǒng)的淺層神經(jīng)網(wǎng)絡(luò)和機(jī)器學(xué)習(xí)方法的。
4 總結(jié)
本文先介紹介紹文本分類的特點(diǎn)和應(yīng)用,進(jìn)而引入深度學(xué)習(xí)的概念,并詳細(xì)介紹了深度學(xué)習(xí)的典型網(wǎng)絡(luò)-卷積神經(jīng)網(wǎng)絡(luò)的特點(diǎn)和應(yīng)用,最后通過使用TensorFlow2.3建立卷積神經(jīng)網(wǎng)絡(luò),對(duì)AG數(shù)據(jù)集進(jìn)行識(shí)別,從數(shù)據(jù)獲取、數(shù)據(jù)預(yù)處理、建立卷積神經(jīng)網(wǎng)絡(luò)等一系列步驟進(jìn)行說明,最后對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行分析,如果進(jìn)一步優(yōu)化參數(shù),還能取得更好的效果。
參考文獻(xiàn)
[1] 王宇石等.一種基于卷積神經(jīng)網(wǎng)絡(luò)的違禁品探測(cè)系統(tǒng)及部署方法[J],科技創(chuàng)新與應(yīng)用,2020(7).
[2] 曹華軍,吳宗民等.噪聲圖像的線性濾波分析與仿真[J],信息技術(shù)與信息華,2017(8).
[3] 閆濤. 深度學(xué)習(xí)算法實(shí)踐 [M]. 電子工業(yè)出版社出版社,2020
[4] 來學(xué)偉.TensorFlow讀取數(shù)據(jù)在簡(jiǎn)單圖像識(shí)別中的應(yīng)用[J],現(xiàn)代信息科技,2019(6).
作者簡(jiǎn)介:翟高粵,男(1975.11)廣西欽州,漢,碩士,副教授,研究方向:軟件理論,人工智能。