国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于CNN 的多標(biāo)簽文本分類與研究

2020-04-22 23:38:26萬(wàn)磊張立霞時(shí)宏偉
現(xiàn)代計(jì)算機(jī) 2020年8期
關(guān)鍵詞:關(guān)聯(lián)標(biāo)簽卷積

萬(wàn)磊,張立霞,時(shí)宏偉

(1.四川大學(xué)計(jì)算機(jī)學(xué)院,成都610065;2.金航數(shù)碼科技有限責(zé)任公司,北京100028)

0 引言

數(shù)據(jù)時(shí)代的到來(lái),海量數(shù)據(jù)的有效的進(jìn)行自動(dòng)化分類日趨重要,與傳統(tǒng)的文本二分類單個(gè)標(biāo)簽不同,現(xiàn)實(shí)生活存在更多的數(shù)據(jù)往往帶有多個(gè)標(biāo)簽;例如一篇文章既可以對(duì)應(yīng)歷史也可以對(duì)應(yīng)文化等標(biāo)簽,一首音樂(lè)可以對(duì)應(yīng)民謠以及不同曲風(fēng)等標(biāo)簽。多標(biāo)簽文本分類的研究一直是自然語(yǔ)言處理的熱點(diǎn),多標(biāo)簽文本分類問(wèn)題定義如下:樣本集X ,標(biāo)簽集L,Y ?L,對(duì)于每一個(gè)Xi,總能找到Y(jié)i與其相對(duì)應(yīng)。近年來(lái),針對(duì)多標(biāo)簽文本分類領(lǐng)域主要基于兩個(gè)研究方向:①基于問(wèn)題轉(zhuǎn)化的方法;②基于現(xiàn)有算法模型改進(jìn)。其中Boutell 等人[1]將多標(biāo)簽文本分類問(wèn)題轉(zhuǎn)化成單標(biāo)簽文本分類,通過(guò)訓(xùn)練 ||L 個(gè)二分類模型,然后基于不同二分類模型輸出結(jié)果判定該樣本是否屬于該標(biāo)簽。該算法的主要問(wèn)題有:①?zèng)]有考慮到標(biāo)簽之間的關(guān)聯(lián)關(guān)系;②當(dāng)標(biāo)簽集過(guò)大時(shí),模型的訓(xùn)練復(fù)雜度不斷提升。分類器鏈算法[2]由Jesse Read 提出,用于改進(jìn)傳統(tǒng)二分類算法,但沒(méi)有考慮到標(biāo)簽之間的關(guān)聯(lián)關(guān)系;通過(guò)將當(dāng)前標(biāo)簽作為分類器之前所有的標(biāo)簽作為當(dāng)前模型的輸入因子,進(jìn)而考慮了多標(biāo)簽之間的關(guān)聯(lián)關(guān)系。

基于問(wèn)題轉(zhuǎn)化的方法主要有:Label Powerset[3]將多標(biāo)簽文本分類轉(zhuǎn)化為多分類問(wèn)題,通過(guò)將每個(gè)樣本對(duì)應(yīng)標(biāo)簽集看成是一個(gè)類別從而進(jìn)行模型構(gòu)建;Seq2Seq[6]模型的提出,將多標(biāo)簽文本分類問(wèn)題轉(zhuǎn)為成序列生成問(wèn)題;基于現(xiàn)有算法模型改進(jìn)主要有:MLKNN[4]通過(guò)聚類的算法找出樣本附近樣本的標(biāo)簽分布情況從而通過(guò)后驗(yàn)概率來(lái)判定當(dāng)前樣本是否屬于該標(biāo)簽。

本文基于神經(jīng)網(wǎng)絡(luò)CNN 模型進(jìn)行文本語(yǔ)義化表示,同時(shí)提出根據(jù)文本的先驗(yàn)知識(shí)得出多標(biāo)簽之間的關(guān)聯(lián)關(guān)系。仿真實(shí)驗(yàn)結(jié)果證明該模型即考慮到了多標(biāo)簽之間的關(guān)聯(lián)關(guān)系,又考慮到文本語(yǔ)義化的表示,相關(guān)評(píng)估指標(biāo)得到進(jìn)一步提升。

1 CNN算法

1.1 模型結(jié)構(gòu)

卷積神經(jīng)網(wǎng)絡(luò)CNN 過(guò)去一直在圖像處理方面大放異彩,Yoon Kim[5]于2012 年提出將CNN 運(yùn)用與處理文本數(shù)據(jù)分類。本文訓(xùn)練模型基于CNN,具體模型結(jié)構(gòu)圖如圖1 所示。

圖1 訓(xùn)練模型結(jié)構(gòu)圖

該訓(xùn)練模型由嵌入層、卷積層、池化層、全連接層所構(gòu)成。不同層相關(guān)定義以及功能表達(dá)所下:

(1)嵌入層

訓(xùn)練集中的每個(gè)單詞可以由詞向量進(jìn)行表示,由所有單詞向量組成嵌入矩陣M ∈Rn*d,其中n 表表示單詞的個(gè)數(shù),d 表示為單詞向量的維度。訓(xùn)練經(jīng)過(guò)數(shù)據(jù)預(yù)處理后表示成索引數(shù)字后,通過(guò)嵌入層映射將索引轉(zhuǎn)化為詞向量表示。假設(shè)單個(gè)樣本經(jīng)過(guò)數(shù)據(jù)預(yù)處理后由s 個(gè)單詞組成,那么對(duì)于每個(gè)單詞,通過(guò)與嵌入矩陣M 相乘,得到該單詞對(duì)應(yīng)的詞向量表示。該樣本向量矩陣便可由s 行d 列的矩陣A ∈Rs*d表示。

(2)卷積層

卷積層用于去提取樣本向量矩陣特征。通過(guò)不同卷積核得到不同的特征集合,本文定義卷積核的寬度為詞向量維度d,卷積核高度h 為可變參數(shù)。假設(shè)存在一個(gè)卷積核,由寬度為d,高度為h 的向量矩陣w 所表示,對(duì)于一個(gè)樣本,經(jīng)過(guò)嵌入層之后可以得到向量矩陣A ∈Rs×d,那么卷積操作可以用如下公式表示:

其中A[i :i+h-1] 表示A 的第i 行到第i+h-1 行,在通過(guò)激活函數(shù)F 激活后,得到所需的特征。激活函數(shù)公式如下:ci=f(oi+b),其中b 為偏置項(xiàng)。對(duì)于一個(gè)卷積核,可以得到特征c ∈Rs-h+1,總共s-h+1 個(gè)特征。通過(guò)使用更多高度不同的卷積核,可以得到更豐富的特征表示。

(3)池化層

池化層是降低卷積層的輸出結(jié)果以及提取更深層次的特征表達(dá),不同高度的卷積核得到的特征集合大小不同,本文對(duì)每個(gè)特征集合使用池化函數(shù),采用1-max pooling,提取出特征集合中的最大值。對(duì)于每一個(gè)卷積核輸出特征為該特征集合的最大值,公式如下:

對(duì)所有卷積核使用1-max pooling,將所有輸出特征值級(jí)聯(lián),得到該文本最終的特征向量表示。

(4)全連接層

經(jīng)過(guò)池化層后級(jí)聯(lián)后的特征向量與標(biāo)簽集 ||L 個(gè)神經(jīng)元進(jìn)行全連接,作為模型的輸出層。同時(shí)該模型采用sigmoid 函數(shù)作為模型的輸出函數(shù)。公式為:

通過(guò)設(shè)定不同閾值來(lái)判定該文本是否屬于該標(biāo)簽。

(5)正則化

為了預(yù)防訓(xùn)練模型過(guò)程中出現(xiàn)過(guò)擬合的現(xiàn)象,本文采用Srivastava 等人[8]提出的dropout 方法,通過(guò)將一定比例隱藏層中的神經(jīng)元權(quán)重設(shè)置不工作。從而降低模型的計(jì)算,同時(shí)也一定程度上避免了模型在訓(xùn)練過(guò)程中出現(xiàn)的過(guò)擬合現(xiàn)象。

1.2 改進(jìn)方法

基于傳統(tǒng)訓(xùn)練模型在訓(xùn)練過(guò)程中并未考慮多標(biāo)簽之間的關(guān)聯(lián)關(guān)系,本文提出改進(jìn)兩種方案。首先定義(Li,,Lj)∈Rm*1為標(biāo)簽集L 中第i,第j 個(gè)標(biāo)簽的向量表示,其中每個(gè)標(biāo)簽向量維度為m。同時(shí)基于標(biāo)簽是否可用語(yǔ)義化向量表示提出兩種改進(jìn)方法:

(1)通過(guò)Google 的Word2Vec[7]預(yù)訓(xùn)練模型我們可以將每個(gè)標(biāo)簽用預(yù)訓(xùn)練好的詞向量進(jìn)行表示。通過(guò)計(jì)算曼哈頓距離來(lái)判斷兩個(gè)標(biāo)簽是否相關(guān)。公式如下:

其中k 表示Li,Lj向量的第k 維。

(2)當(dāng)標(biāo)簽不能用語(yǔ)義化向量表示時(shí),根據(jù)文本先驗(yàn)知識(shí)標(biāo)簽與標(biāo)簽之間排列組合計(jì)算共同出現(xiàn)的概率,我們定義:

其中Count(Li),Count(Lj),Count(Li∩Lj)分別表示標(biāo)簽Li,Lj各自以及共同出現(xiàn)的次數(shù)。通過(guò)設(shè)置不同的閾值得到有關(guān)聯(lián)的標(biāo)簽集,通過(guò)將這些強(qiáng)關(guān)聯(lián)的向量重組用一個(gè)新的向量進(jìn)行表示。這樣即可以考慮多個(gè)標(biāo)簽之間的關(guān)聯(lián)關(guān)系,又可以降低模型的輸出空間。

2 算法實(shí)現(xiàn)

2.1 實(shí)驗(yàn)環(huán)境與數(shù)據(jù)

為了驗(yàn)證改進(jìn)算法的可行性,本文基于Windows 10 操作系統(tǒng),深度學(xué)習(xí)框架TensorFlow 1.14,顯卡:NVIDIA GTX1060 6GB。數(shù)據(jù)部分本文采用了Arxiv Academic Paper Dataset 數(shù)據(jù)集,該數(shù)據(jù)是由Yang 論文中[6]提供,該數(shù)據(jù)集從包含了55840 每篇學(xué)術(shù)論文摘要以及對(duì)應(yīng)54 個(gè)不同的學(xué)科標(biāo)簽主題。一篇學(xué)術(shù)論文摘要可能對(duì)應(yīng)多個(gè)學(xué)科名稱。通過(guò)將該數(shù)據(jù)集劃分為訓(xùn)練集、驗(yàn)證集以及測(cè)試集。模型訓(xùn)練結(jié)束采用在驗(yàn)證集上模型效果最好的模型作為測(cè)試集的預(yù)測(cè)模型。其中訓(xùn)練集、驗(yàn)證集、測(cè)試集的大小分別設(shè)置為:53840,1000,1000。

2.2 數(shù)據(jù)預(yù)處理

該數(shù)據(jù)處理主要分為55840 篇摘要文本進(jìn)行處理以及對(duì)應(yīng)的54 門(mén)學(xué)科名稱標(biāo)簽集處理。針對(duì)該標(biāo)簽集不能用語(yǔ)義向量表示,該實(shí)驗(yàn)采用第二種方案,通過(guò)兩兩標(biāo)簽出現(xiàn)概率對(duì)比得出標(biāo)簽之間的關(guān)聯(lián)關(guān)系。對(duì)訓(xùn)練數(shù)據(jù)所有數(shù)據(jù)進(jìn)行處理。訓(xùn)練集的文本處理主要是將文本數(shù)據(jù)轉(zhuǎn)化成數(shù)字索引表示,具體數(shù)據(jù)處理如圖2 所示。

圖2 數(shù)據(jù)預(yù)處理流程圖

(1)首先對(duì)訓(xùn)練樣本去除低頻詞以及停用詞。同時(shí)根據(jù)訓(xùn)練樣本標(biāo)簽集找到相關(guān)聯(lián)的標(biāo)簽集,通過(guò)使用改進(jìn)方法中的第二種方案我們發(fā)現(xiàn)math.ST 標(biāo)簽與stat.TH,cs.IT 標(biāo)簽與math.IT 標(biāo)簽λ=1。由此可以得出math.ST 標(biāo)簽與stat.TH 標(biāo)簽,cs.TH 標(biāo)簽與math.IT標(biāo)簽是強(qiáng)關(guān)聯(lián)的。通過(guò)使用兩個(gè)不同新的不同標(biāo)簽簇來(lái)代表這兩組標(biāo)簽集合。

(2)通過(guò)Google 預(yù)訓(xùn)練詞向量模型加載相應(yīng)的詞向量,構(gòu)成相應(yīng)的詞向量矩陣。

(3)生成詞匯映射表,將樣本輸入轉(zhuǎn)化成單詞索引表示,同時(shí)也將標(biāo)簽映射成標(biāo)簽單詞索引表示。

(4)定義每個(gè)訓(xùn)練樣本序列為定長(zhǎng),超過(guò)長(zhǎng)度閾值的進(jìn)行截取,未達(dá)到閾值的進(jìn)行補(bǔ)全。

(5)將處理完的數(shù)據(jù)進(jìn)行模型輸入,模型開(kāi)始訓(xùn)練。

2.3 模型訓(xùn)練

經(jīng)過(guò)數(shù)據(jù)預(yù)處理后數(shù)據(jù)轉(zhuǎn)化成模型的輸入矩陣,其中嵌入層采用Google 預(yù)訓(xùn)練好的詞向量構(gòu)成嵌入矩陣,模型訓(xùn)練相關(guān)參數(shù)定義如下:訓(xùn)練時(shí)期(epoch)為10,批量大?。╞atchsize)為64,詞向量大?。╡medding_size)為200,將每個(gè)樣本處理為定長(zhǎng)的序列,其中序列長(zhǎng)度為200,卷積核個(gè)數(shù)為128,為提取更高的特征表示,卷積核高度分為定義為[2,3,4,5,6],同時(shí)卷積層激活函數(shù)采用Relu 函數(shù),sigmoid 函數(shù)輸出閾值定義為0.5,模型訓(xùn)練損失函數(shù)采用交叉熵?fù)p失函數(shù),梯度下降學(xué)習(xí)率(learning_rate)為0.0001。通過(guò)反向傳播算法不斷更新模型權(quán)重參數(shù)。為加速模型訓(xùn)練,使模型收斂的更快,本文采用Adam[9]優(yōu)化算法。模型訓(xùn)練過(guò)程中損失函數(shù)值變化如圖3 所示。

圖3 Loss變化圖

2.4 仿真實(shí)驗(yàn)結(jié)果

通過(guò)對(duì)比使用改進(jìn)方法找到相關(guān)標(biāo)簽集與未改進(jìn)直接進(jìn)行模型訓(xùn)練結(jié)果后,相關(guān)結(jié)果如下表1 所示。我們定義使用改進(jìn)方法后的模型為ML-CNN。同時(shí)基于Tsoumakas[3]在多標(biāo)簽文本分類綜述里提到了HammingLoss、Precision、Mirco-F1 等指標(biāo)作為測(cè)試集的評(píng)估指標(biāo)。其中HammingLoss、Precision 公式定義如下:

其中D 表示測(cè)試集大小,Zi表示對(duì)于每個(gè)測(cè)試文本模型的預(yù)測(cè)所屬標(biāo)簽集,Yi表示測(cè)試文本對(duì)應(yīng)真實(shí)的標(biāo)簽集。L 表示整個(gè)標(biāo)簽集。

表1 對(duì)比實(shí)驗(yàn)結(jié)果表

通過(guò)對(duì)比實(shí)驗(yàn)我們發(fā)現(xiàn),在考慮了多標(biāo)簽之間關(guān)系之后進(jìn)行模型訓(xùn)練,評(píng)估指標(biāo)中的精確度Precision提高了1.7%,同時(shí)漢明損失降低了0.8%。仿真實(shí)驗(yàn)結(jié)果表明在考慮了多標(biāo)簽之間的關(guān)聯(lián)關(guān)系,先將有關(guān)聯(lián)的標(biāo)簽集進(jìn)行聚類由新的標(biāo)簽代表該標(biāo)簽集合,不僅在一定程度上降低了模型的輸出空間,加快了模型的訓(xùn)練速度,同時(shí)也提高了模型的精確度以及降低了漢明損失。

3 結(jié)語(yǔ)

本文基于訓(xùn)練樣本先驗(yàn)知識(shí)對(duì)卷積神經(jīng)網(wǎng)絡(luò)CNN用于多標(biāo)簽分類算法進(jìn)行了改進(jìn),通過(guò)將有關(guān)聯(lián)關(guān)系標(biāo)簽集聚類由新的標(biāo)簽簇表示;考慮了傳統(tǒng)文本分類過(guò)程只關(guān)注文本語(yǔ)義化表示,但并未考慮多標(biāo)簽之間的關(guān)聯(lián)關(guān)系。仿真實(shí)驗(yàn)結(jié)果證明,在存有標(biāo)簽集關(guān)系的數(shù)據(jù)集中,本文的改進(jìn)算法可以提高模型訓(xùn)練速度以及相關(guān)評(píng)估指標(biāo),具有一定的應(yīng)用指導(dǎo)意義。

猜你喜歡
關(guān)聯(lián)標(biāo)簽卷積
基于3D-Winograd的快速卷積算法設(shè)計(jì)及FPGA實(shí)現(xiàn)
“一帶一路”遞進(jìn),關(guān)聯(lián)民生更緊
從濾波器理解卷積
電子制作(2019年11期)2019-07-04 00:34:38
無(wú)懼標(biāo)簽 Alfa Romeo Giulia 200HP
車(chē)迷(2018年11期)2018-08-30 03:20:32
不害怕撕掉標(biāo)簽的人,都活出了真正的漂亮
海峽姐妹(2018年3期)2018-05-09 08:21:02
基于傅里葉域卷積表示的目標(biāo)跟蹤算法
奇趣搭配
智趣
讀者(2017年5期)2017-02-15 18:04:18
標(biāo)簽化傷害了誰(shuí)
基于多進(jìn)制查詢樹(shù)的多標(biāo)簽識(shí)別方法
墨玉县| 鄂托克前旗| 汽车| 永康市| 宣城市| 民和| 平安县| 牟定县| 丹江口市| 大同县| 通山县| 瓦房店市| 理塘县| 安徽省| 舞钢市| 延安市| 高平市| 潜山县| 高要市| 忻城县| 汉源县| 景泰县| 安泽县| 介休市| 营口市| 日土县| 株洲市| 永康市| 二手房| 北川| 封丘县| 彝良县| 会昌县| 和政县| 安庆市| 安康市| 尼玛县| 普陀区| 鲁山县| 大余县| 巴塘县|