王青松,聶振業(yè),周芳曄
(遼寧大學(xué) 信息學(xué)院,遼寧 沈陽(yáng) 110036)
近年來(lái),隨著社交網(wǎng)絡(luò)的飛速發(fā)展,例如微博和電影評(píng)論等類(lèi)型的短文本數(shù)量在不斷攀升.與傳統(tǒng)的長(zhǎng)文本相比,基于社交網(wǎng)絡(luò)的短文本長(zhǎng)度較短更易處理.因短文本實(shí)時(shí)性強(qiáng)、格式不標(biāo)準(zhǔn)等特點(diǎn)使其成為研究熱點(diǎn).但短文本在自然語(yǔ)言處理領(lǐng)域中仍然是一個(gè)難點(diǎn)問(wèn)題.傳統(tǒng)的機(jī)器學(xué)習(xí)分類(lèi)算法如樸素貝葉斯、支持向量機(jī)在解決短文本分類(lèi)問(wèn)題仍然存在不足.
隨著技術(shù)的發(fā)展,深度學(xué)習(xí)也應(yīng)用到自然語(yǔ)言處理中,特別是應(yīng)用到文本分類(lèi).文獻(xiàn)[4]通過(guò)使用Word2vec將文本轉(zhuǎn)化為詞向量放入LSTM(長(zhǎng)短期記憶人工神經(jīng)網(wǎng)絡(luò))訓(xùn)練獲取句子的語(yǔ)義信息和句法結(jié)構(gòu)進(jìn)行分類(lèi),但是沒(méi)有考慮到特征詞的重要性.文獻(xiàn)[5]通過(guò)引用Attention機(jī)制將深度學(xué)習(xí)推到高潮,選用Self Attention捕獲同一個(gè)句子中單詞之間的一些句法特征或者語(yǔ)義特征,從而更容易獲取句子中長(zhǎng)距離的相互依賴(lài).以上方法并沒(méi)有考慮到短文本特征的稀疏性.
現(xiàn)在語(yǔ)義增強(qiáng)應(yīng)用是通過(guò)知識(shí)庫(kù)對(duì)句子進(jìn)行擴(kuò)增.文獻(xiàn)[6]通過(guò)KBs(知識(shí)庫(kù))中存在的isA、isPropertyOf等重要語(yǔ)義關(guān)系,這些信息對(duì)理解短文本有很多幫助.文獻(xiàn)[7]將深度神經(jīng)網(wǎng)絡(luò)和知識(shí)庫(kù)的先驗(yàn)知識(shí)整合到一起,充分對(duì)短文本進(jìn)行理解,提高了短文本分類(lèi)的準(zhǔn)確性.知識(shí)庫(kù)帶來(lái)了新的先驗(yàn)知識(shí),也帶來(lái)了很多無(wú)關(guān)的知識(shí)向量,為短文本分類(lèi)增加了負(fù)擔(dān).
本文針對(duì)上述短文本分類(lèi)的算法不足,綜合考慮詞頻、語(yǔ)義和先驗(yàn)知識(shí)等特征,利用BTM主題模型、深度學(xué)習(xí)和知識(shí)庫(kù)多維特征進(jìn)行融合,從而準(zhǔn)確地將多方面特征聯(lián)系在一起,通過(guò)詞向量相似度篩選出相似的文本特征,通過(guò)全連接網(wǎng)絡(luò)操作結(jié)合BTM主題模型的主題概率分布,最終得到更加準(zhǔn)確的分類(lèi)結(jié)果.
局部特征計(jì)算是為了提取短文本語(yǔ)義的計(jì)算,在眾多的分類(lèi)算法中,有很多算法只是考慮詞頻和關(guān)鍵詞出現(xiàn)的概率,并沒(méi)考慮到短文本語(yǔ)義的影響,為了提高本模型的分類(lèi)準(zhǔn)確性,本文選用文獻(xiàn)[8]深度學(xué)習(xí)中的雙向長(zhǎng)短記憶網(wǎng)絡(luò)(BiLSTM).
(1)
(2)
H=(h1,h2,…,hn)
(3)
然后,使用一種新型的注意力機(jī)制,這種機(jī)制來(lái)源于文獻(xiàn)[9].使用這種注意力機(jī)制的目的在于學(xué)習(xí)特征詞和短文本句子之間的依賴(lài)性并且捕獲短文本的結(jié)構(gòu).給定一個(gè)n個(gè)查詢(xún)向量的矩陣Q∈Rn×2u,鍵為K∈Rn×2u,值為V∈Rn×2u,此注意力機(jī)制的計(jì)算公式為
(4)
外部特征計(jì)算也叫知識(shí)編碼,本模塊的目標(biāo)是從CN-DBpedia知識(shí)庫(kù)[10]中檢索相關(guān)知識(shí)來(lái)擴(kuò)充短文本內(nèi)容,從CN-DBpedia知識(shí)庫(kù)等外部資源獲取的先驗(yàn)知識(shí)可以提供更豐富的信息,幫助確定給定的短文本的類(lèi)標(biāo)簽.本文以isA關(guān)系為例,isPropertyof等其他語(yǔ)義關(guān)系也可以以類(lèi)似的方式應(yīng)用.具體來(lái)說(shuō),給出一個(gè)簡(jiǎn)短的文本s,希望找到一個(gè)與它相關(guān)的概念集C.通過(guò)2個(gè)主要步驟實(shí)現(xiàn)這個(gè)目標(biāo):實(shí)體鏈接和概念化.實(shí)體鏈接就是短文本中的某些字符映射到知識(shí)庫(kù)中對(duì)應(yīng)的實(shí)體上.概念化就是根據(jù)當(dāng)前上下文動(dòng)態(tài)識(shí)別出實(shí)體對(duì)應(yīng)的上位概念.文獻(xiàn)[11]的實(shí)體鏈接是自然語(yǔ)言處理中的一項(xiàng)重要任務(wù),用于識(shí)別短文中提到的實(shí)體.文獻(xiàn)[12]通過(guò)利用現(xiàn)有的實(shí)體鏈接解決方案,獲得了一個(gè)包含短文本分詞的實(shí)體集E.然后,對(duì)于每個(gè)實(shí)體e∈E,從已有的CN-DBpedia知識(shí)庫(kù)中獲取概念信息,舉個(gè)例子:林丹和劉翔出生于中國(guó).通過(guò)實(shí)體鏈接得到實(shí)體集E={林丹,劉翔,中國(guó)},然后對(duì)實(shí)體劉翔進(jìn)行概念化,并從CN-DBpedia中獲得其概念setC={中國(guó)人,運(yùn)動(dòng)員,田徑世錦賽冠軍,110 m欄}等.
全局特征計(jì)算稱(chēng)作主題特征計(jì)算,是針對(duì)文檔進(jìn)行的,主要是通過(guò)使用BTM主題模型進(jìn)行計(jì)算的.LDA主題模型也可以進(jìn)行全局特征計(jì)算,但是考慮到短文本分類(lèi)和文本稀疏的原因,BTM主題模型更適用于本文的模型計(jì)算.BTM模型的核心思想是在整個(gè)語(yǔ)料庫(kù)中使用biterm聚合模式,在短文本上學(xué)習(xí)的模型,此模式解決了單個(gè)文檔的文本稀疏問(wèn)題[13].
全局特征計(jì)算的過(guò)程如公式(5)~(7)所示:
(5)
(6)
(7)
公式(5)~(7)由吉布斯(Gibbs)抽樣推理得出[14],其中α和β是給定的先驗(yàn)數(shù),nz是主題z的biterm b出現(xiàn)的次數(shù),nw|z是單詞w分配給主題z的次數(shù),一旦一個(gè) biterm b被分配給主題z,關(guān)鍵詞wi,wj將同時(shí)被分配給主題.|B|代表的是biterm模式的總數(shù)量,對(duì)公式(5)~(7)進(jìn)行Gibbs抽樣,更新每個(gè)詞對(duì)應(yīng)的topic,重復(fù)操作,直到Gibbs sampling 收斂得到完整的模型.
算法1BTM吉布斯采樣算法
輸入文本向量化,偏置b1、b2、b3,超參數(shù),主題模型參數(shù)1,主題模型參數(shù)2,主題數(shù)量,迭代次數(shù),δ,α,β,K,Niter;
輸出分類(lèi)概率值;
1 BEGIN
2 FOR iter=1 toNiter//迭代器進(jìn)行試驗(yàn)迭代
3 FORi=1 tondo:
5 UPDATEW1//更新卷積核
7 UPDATEW2//更新卷積核
8 Wight(λi,ηi) //相似度計(jì)算
10pi=Softmax(Ak) //得到語(yǔ)義模型概率
11 UPDATEnz,nw|z//更新主題模型參數(shù)
13qi=P(z|Zb,α,β,φw|z,θz) //得到主題模型概率
14Pi=δpi+(1-δ)qi//得到最終概率分布
15 END FOR
16 END FOR
17 END
如圖1所示,語(yǔ)義模型的部分為深度學(xué)習(xí)提取短文本語(yǔ)義特征詞,同時(shí)短文本經(jīng)過(guò)文本處理,停用詞去除和使用Jieba分詞,將關(guān)鍵詞輸入到知識(shí)庫(kù)中進(jìn)行文本擴(kuò)充.擴(kuò)充得到的實(shí)體或者屬性與LSTM模型訓(xùn)練完的語(yǔ)義特征向量進(jìn)行相似度計(jì)算,在知識(shí)庫(kù)擴(kuò)充的時(shí)候產(chǎn)生大量的噪音詞會(huì)影響模型的準(zhǔn)確性,所以將擴(kuò)充的知識(shí)向量與通過(guò)LSTM訓(xùn)練得到的特征向量進(jìn)行相似度計(jì)算,留下相似度較高和特征向量進(jìn)行拼接.
圖1 LABTM語(yǔ)義模型部分
為了減少KBs生成的一些不良、不當(dāng)?shù)钠缌x概念,作者提出用公式(8)對(duì)知識(shí)向量與語(yǔ)義特征向量進(jìn)行相似度計(jì)算.
(8)
式中的λi表示第i個(gè)特征詞對(duì)短文本的重視程度.得到的更大的λi意味著第i個(gè)特征詞在語(yǔ)義上更接近短文本特征.f(·)是一個(gè)非線(xiàn)性激活函數(shù)如tanh函數(shù),Softmax是用來(lái)標(biāo)準(zhǔn)每個(gè)特征的注意權(quán)重.W1∈Rda×(2u+d)是一個(gè)權(quán)重矩陣,w1∈Rda是一個(gè)權(quán)重向量,da是一個(gè)參數(shù),b1是一個(gè)偏置.q為短文本經(jīng)過(guò)LSTM訓(xùn)練之后得到的短文本語(yǔ)義向量.
通過(guò)公式(9)將KBs得到的概念轉(zhuǎn)化成概念向量:
(9)
式中ηj是KBs得到的概念詞向量表示形式.其中mj表示每個(gè)KBs得到的概念詞向量,w2∈Rda是權(quán)重向量,其中da是參數(shù),W2∈Rdb×d是一個(gè)權(quán)重矩陣,b2是偏置.
值得注意的是通過(guò)卷積層進(jìn)行卷積之后,2個(gè)特征詞向量在同一個(gè)維度.接下來(lái)要對(duì)2個(gè)向量進(jìn)行相似度計(jì)算,如公式(10)所示:
(10)
式中向量ηj和向量λi得到的wight越高說(shuō)明2個(gè)詞向量的相似度越高,在本文算法中挑選相似度高的作為拼接對(duì)象,不設(shè)置特殊的閾值作為參考.如果0≤wight≤1,表明在正常范圍內(nèi),否則說(shuō)明向量ηj和向量λi沒(méi)有任何相似關(guān)系.
然后,得到最高相似度的向量進(jìn)行向量拼接,如公式(11)所示:
(11)
圖2是引入BTM主題概率模型之后的模型總架構(gòu).當(dāng)語(yǔ)義向量進(jìn)入到最終的輸出層進(jìn)行Softmax歸一化之后會(huì)得到一個(gè)分類(lèi)比例,如圖3所示.
圖2 LABTM模型總架構(gòu)
圖3 分類(lèi)結(jié)果圖
因?yàn)檎Z(yǔ)義特征向量與知識(shí)向量進(jìn)行相似度計(jì)算不能得到最終的分類(lèi)結(jié)果,故還需要通過(guò)帶有BTM主題模型的分類(lèi)池進(jìn)行分類(lèi),最終才能得到每個(gè)主題的概率分布.接下來(lái)進(jìn)行最后一步計(jì)算,如公式(12)所示:
Pi=δpi+(1-δ)qi
(12)
式中pi、qi分別是通過(guò)語(yǔ)義模型得到的分類(lèi)類(lèi)型概率和主題模型分類(lèi)得到的類(lèi)型概率.Pi為最終的分類(lèi)類(lèi)型概率.最后通過(guò)統(tǒng)計(jì)得出Max(Pi)為短文本的類(lèi)型.δ為調(diào)節(jié)權(quán)重的系數(shù),取值為δ∈[0,1].設(shè)置系數(shù)δ主要是因?yàn)槭懿煌P徒Y(jié)果的影響會(huì)產(chǎn)生一系列偏差,若主題模型有損,語(yǔ)義模型賦予強(qiáng)系數(shù).設(shè)置系數(shù)δ有很多方式,最簡(jiǎn)單是通過(guò)手動(dòng)調(diào)節(jié)的方式,把δ當(dāng)作超參數(shù)來(lái)獲得更加準(zhǔn)確的分類(lèi)效果.
算法2LABTM模型分類(lèi)算法
輸入 短文本向量ηj,偏置b1、b3,超參數(shù)δ
輸出 分類(lèi)概率值p1~n
1.BEGIN
2.FOR iter=1 toNiter//迭代器進(jìn)行實(shí)驗(yàn)迭代
4.UPDATEW//更新卷積核
5.END FOR
7.pi=Softmax(ak)//得到語(yǔ)義模型概率pi
8.qi=P(z|Z-b,α,β)//得到主題模型概率qi
9.Pi=δpi+(1-δ)qi//得到最終概率分布
10.END
實(shí)驗(yàn)使用Python語(yǔ)言3.7版本,實(shí)現(xiàn)基于深度學(xué)習(xí)和主題模型的短文本分類(lèi)模型,在Pytorch運(yùn)行環(huán)境下,采用Jieba組件進(jìn)行文本分詞,使用word2vec模型訓(xùn)練詞向量.在中國(guó)微博情感分析數(shù)據(jù)集[15]、產(chǎn)品評(píng)價(jià)數(shù)據(jù)集[16]、中文新聞標(biāo)題數(shù)據(jù)集[17]和通過(guò)借鑒Sogou新聞數(shù)據(jù)集建立的短文本新聞數(shù)據(jù)集上進(jìn)行文本分類(lèi)實(shí)驗(yàn).4個(gè)數(shù)據(jù)集都包含標(biāo)簽,如表1所示.
表1 實(shí)驗(yàn)數(shù)據(jù)集的細(xì)節(jié)
對(duì)于所有的模型,使用Adam優(yōu)化算法進(jìn)行學(xué)習(xí),學(xué)習(xí)率為0.01.批量大小設(shè)置為64.訓(xùn)練正向傳遞和反向傳遞設(shè)置為20回.LABTM模型在搜狗新聞數(shù)據(jù)集上預(yù)先訓(xùn)練的50維度概念詞向量,如果一個(gè)詞是未知的,將隨機(jī)初始化它的概念詞向量.LABTM模型50維度的概念詞向量,這些概念詞向量也隨機(jī)初始化.使用寬度為[2,3,4]大小為50層的1D CNN濾波一共150個(gè).
超參數(shù)的設(shè)置可基于驗(yàn)證集進(jìn)行估計(jì),并用于最終測(cè)試集:u=64,da=70,db=35.為了不給算法增加負(fù)擔(dān)和經(jīng)濟(jì)損失,本文沒(méi)有采用自動(dòng)學(xué)習(xí),而是通過(guò)手動(dòng)調(diào)節(jié)參數(shù)δ,在接下來(lái)實(shí)驗(yàn)中選取若干代表性值,這些值不影響提高模型分類(lèi)準(zhǔn)確性.
由表2可知超參數(shù)δ的值不同,短文本分類(lèi)的準(zhǔn)確率也不同,所以在下面的實(shí)驗(yàn)中根據(jù)表2來(lái)設(shè)置超系數(shù)δ,以便得到更高的文本分類(lèi)準(zhǔn)確率.
表2 超參數(shù)δ對(duì)于文本準(zhǔn)確率的影響
將提出的LABTM模型與以下方法進(jìn)行對(duì)比:
?TextCNN[18]:該模型是文本分類(lèi)的經(jīng)典基準(zhǔn).它使用基于預(yù)訓(xùn)練單詞嵌入的卷積神經(jīng)網(wǎng)絡(luò)(CNN).
?TextRNN[19]:該方法使用遞歸卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行文本分類(lèi).它應(yīng)用循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)捕捉上下文信息,并用CNN去捕捉短文本關(guān)鍵詞.
?TextRNN_Att[20]:是TextRNN的強(qiáng)化方法,增加注意力機(jī)制來(lái)提高分類(lèi)水平.
?BiLSTM-MP[21]:該模型是為序列短文本分類(lèi)而提出的.通過(guò)使用最大池來(lái)獲得句子表示,然后使用多層感知器來(lái)輸出分類(lèi)結(jié)果.
?KPCNN[22]:該模型是短文本分類(lèi)的最新方法.它利用CNN根據(jù)短文本和概念的單詞和字符級(jí)別信息進(jìn)行分類(lèi).
由圖4可知,LABTM模型與5個(gè)模型相比,各方面不一定都優(yōu)于它們,比如在中國(guó)微博情感分析數(shù)據(jù)庫(kù)中就不是讓人很滿(mǎn)意.可能的原因是微博存在一些網(wǎng)絡(luò)語(yǔ)或者表情等因素造成的準(zhǔn)確性不是很強(qiáng),但是整體的分類(lèi)準(zhǔn)確率高于傳統(tǒng)沒(méi)有使用知識(shí)庫(kù)和主題模型的深度神經(jīng)網(wǎng)絡(luò),包括TextCNN、TextRNN、TextRNN_Att、BiLSTM-MP和KPCNN.主要原因是LABTM模型借助于KBs豐富了短文本信息,并通過(guò)全局主題分布,以及深度神經(jīng)網(wǎng)絡(luò)提取語(yǔ)義特征,這對(duì)短文本分類(lèi)有很大的貢獻(xiàn).與傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)相比,LABTM模型更像是一個(gè)人,“他”有內(nèi)在的能力來(lái)處理基于觀察(即神經(jīng)網(wǎng)絡(luò)和主題模型)以及自身現(xiàn)有的知識(shí).此外LABTM模型也比BiLSTM-MP模型表現(xiàn)得好,因?yàn)長(zhǎng)ABTM模型在深度學(xué)習(xí)的模型中加入了注意力機(jī)制,能夠更關(guān)注特征詞的重要性.最后通過(guò)在不同數(shù)據(jù)集上取得不同值得到更高效的分類(lèi)準(zhǔn)確度.綜上所述,LABTM模型在短文本分類(lèi)中得到了好的效果.
圖4 不同數(shù)據(jù)集上比較模型的準(zhǔn)確性
本文研究短文本分類(lèi),綜合考慮了局部和全局以及外部知識(shí)的特征.分別從主題概率分布、語(yǔ)義和外部知識(shí)進(jìn)行分類(lèi).利用了BTM主題模型、深度學(xué)習(xí)、知識(shí)庫(kù)知識(shí)增益等方法,提高了分類(lèi)的準(zhǔn)確性.實(shí)驗(yàn)結(jié)果表明,相比傳統(tǒng)單一方法進(jìn)行分類(lèi),本文的綜合性分類(lèi)方法準(zhǔn)確性更高些.在實(shí)驗(yàn)中還發(fā)現(xiàn)知識(shí)庫(kù)的實(shí)體概念缺乏,下一步將研究知識(shí)庫(kù)的語(yǔ)義消歧和多方面增加注意力機(jī)制,并補(bǔ)充知識(shí)庫(kù)的不完全性,以及對(duì)于一些網(wǎng)絡(luò)語(yǔ)言和聊天工具中的微表情進(jìn)行向量轉(zhuǎn)化,通過(guò)分類(lèi)使其模型得到更高的準(zhǔn)確率.