齊翌辰,趙偉超
(1.東北大學 計算機科學與工程學院,遼寧 沈陽 110167;2.中國科學院 長春光學精密機械與物理研究所 網(wǎng)絡與信息化技術(shù)中心,吉林 長春 130033)
近年來,隨著科學技術(shù)和工業(yè)制造水平的提高,我國航天事業(yè)實現(xiàn)了快速且長足的發(fā)展,取得舉世矚目的成就,而這些成績的獲得離不開航天信息工作的強有力支持。由于航天信息存在數(shù)據(jù)量較稀疏等特點,使得信息采集過程中存在數(shù)據(jù)不易獲取,人工搜集效率較低等問題[1]。在互聯(lián)網(wǎng)時代的浪潮之下,開源的航天信息資源呈現(xiàn)快速增長的趨勢,涉及的內(nèi)容較為廣泛,來源更加豐富[2]。因此,如何自動化且高效地從海量數(shù)據(jù)中獲取航天信息,是當前國內(nèi)外航天信息科技研究的熱點問題。郭頌[3]等人提出了基于支持向量機(Support Vector Machines,SVM)的主題爬蟲采集方法,針對航天領(lǐng)域的信息,通過SVM方法增強指定領(lǐng)域的特征權(quán)重,利用訓練好的分類模型對網(wǎng)頁信息進行篩選。張亞超[4]等人基于深度學習的文本分類方法,采用基于注意力機制的TextRCNN-A 文本分類算法,面向航天信息領(lǐng)域?qū)崿F(xiàn)了自動分類。劉秀磊[5]等人提出一種基于Bert 與XGBoost 融合模型的航天科技開源信息分類算法,使用Bert 提取文本的特征后,采用XGBoost 對特征進行分類,提升了航天信息分類的準確率。張玉峰[6]等人基于Web 數(shù)據(jù)挖掘的方法,研究了基于Web 文本挖掘的企業(yè)競爭信息的獲取步驟。黃勝[7]等人面向軍事領(lǐng)域,基于爬蟲技術(shù)從Web 開源信息中搜集軍事信息,通過層次聚類的算法生成信息主題。王明乾[8]等人通過基于機器學習的文本分類方法從互聯(lián)網(wǎng)的開源信息中篩選出軍事信息,并且分析了多種常用的詞向量模型和文本分類模型對于獲取開源軍事信息的效果。
通過分析當前包含航天信息的文本數(shù)據(jù)集發(fā)現(xiàn),航天信息文本的內(nèi)容普遍較長,并且樣本數(shù)量相對較少[9],這些特點導致現(xiàn)有的提取航天信息的模型準確率較低。為進一步提高航天信息研究工作的效率,將信息較長的文本內(nèi)容可視化,本文提出了基于有監(jiān)督對比學習的航天信息文本分類方法。該方法利用BiLSTM 捕獲長文本的特征信息,使用注意力機制感知全局的文本特征,同時通過對比學習方法增強模型的魯棒性和泛化能力。即使樣本數(shù)量少也能夠提高模型預測的準確率,從而面向互聯(lián)網(wǎng)的開源信息篩選出航天信息,同時根據(jù)信息生成清晰直觀的圖像,達到高效獲取并可視化開源航天信息的目的,對于航天信息科技領(lǐng)域的研究具有重要意義。
近年來,在文本分類領(lǐng)域,機器學習方法受到了人們的高度關(guān)注。深度學習作為實現(xiàn)機器學習的技術(shù)之一,也廣泛應用在文本分類中。深度學習處理文本分類任務現(xiàn)已慢慢成熟,相對于人工方法,提高了準確率和效率,并在實際工作中效果良好。
Kim[10]將 卷積神經(jīng)網(wǎng)絡(CNN)應用在 文本分類,即在通過word2vec 獲取詞向量后,利用卷積學習文本特征并完成分類。循環(huán)神經(jīng)網(wǎng)絡(Recurrent Neural Networks,RNN)[11]將文本 看作詞語的序列,目的在于捕獲詞語之間的依賴關(guān)系和文本結(jié)構(gòu)。Peng Zhou[12]等人提出基于RNN的變體,即雙向長短期記憶網(wǎng)絡,同時加入注意力機制來捕捉句子中最重要的語義信息,可以自動聚焦對分類有關(guān)鍵作用的詞語。CNN 和RNN在捕獲句子中詞語之間關(guān)系的計算成本會隨著句子長度的增加而增大,Transformer[13]解決了這個問題,通過注意力機制為文本中的每個詞語計算并記錄注意力分數(shù),來模擬每個詞語對另一個詞語的影響。
在使用深度學習進行有監(jiān)督的分類任務時,會出現(xiàn)由于交叉熵損失或者正則化帶來的魯棒性差和泛化性能低等問題[14]。然而對比學習作為一種無監(jiān)督學習方法,可以使模型中心學習編碼器的特征,盡可能所縮小相似樣本的距離,同時增大正負樣本之間的距離,因此對比學習的研究為有監(jiān)督學習帶來了重大進展,可以有效地解決這些問題。
Khosla[15]提出了一種基于對比性自監(jiān)督文獻的有監(jiān)督學習損失函數(shù),即利用標簽信息,也就是來自同一類的標準化嵌入比來自不同類的嵌入更接近,同時增加不同類之間的距離。Gao[16]在無監(jiān)督學習的任務中,利用dropout 為樣本加入噪聲,實現(xiàn)數(shù)據(jù)擴增;在有監(jiān)督學習的任務中,利用自然語言推理數(shù)據(jù)集,將蘊含對作為正樣本,矛盾對作為負樣本,用于后續(xù)的對比學習訓練。Liang[17]針對在訓練深度神經(jīng)網(wǎng)絡時dropout技術(shù)的隨機性導致的訓練和預測不一致問題,提出了一致性訓練策略R-drop 來正則化dropout,強制dropout 生成的不同子模型的輸出保持一致。
根據(jù)文本的語義信息生成圖像是計算機視覺和自然語言處理兩個領(lǐng)域的綜合性任務,也是近幾年的研究熱點,即輸入是一段文本描述,輸出則是包含該文本語義信息的圖像,便于人們通過視覺更直接得感受文本表達的信息。
Reed[18]等人首次將生成式對抗網(wǎng)絡(Generative adversarial Network,GAN)用于解決文本生成圖像的問題,提出了GAN-INT-CLS 模型,在GAN 模型的基礎(chǔ)上,同時將輸入數(shù)據(jù)的文本描述訓練為句嵌入向量,構(gòu)建文本和圖像匹配的對抗損失,對生成器和鑒別器進一步約束,最后生成分辨率為64×64 的圖像。Radford[19]等人提出了對比圖文預訓練(Contrastive Language-Image Pretraining,CLIP)模型。該模型利用兩個編碼器分別處理文本和圖像,然后計算文本特征和圖像特征匹配的相似度。利用對比學習思想,最大化正樣本對的相似度,最小化負樣本對的相似度。該模型可以轉(zhuǎn)換到圖像生成、圖像檢索[20]和視頻動作識別等多種下游任務。Ramesh[21]等人在CLIP 的基礎(chǔ)上提出了unCLIP 模型,針對文本生成圖像任務,首先利用一個先驗模型將文本編碼生成圖像的嵌入,然后通過圖像解碼器根據(jù)圖像嵌入生成給定文本對應的圖像。該圖像更加真實多樣。
本文提出了有監(jiān)督對比學習的文本分類模型,可以在爬取到互聯(lián)網(wǎng)的開源信息之后進行分析和判斷,進而獲取航天類別的信息。該模型使用基于注意力機制的BiLSTM 作為深度神經(jīng)網(wǎng)絡架構(gòu),即BiLSTM-Attention,同時針對神經(jīng)網(wǎng)絡中由于隨機進行dropout帶來的訓練與預測不一致的問題,引入基于R-Drop 的對比學習方法訓練模型,即在原本的交叉熵損失函數(shù)中加入兩次前向傳播所形成概率分布的KL 散度損失,共同進行反向傳播,完成參數(shù)更新。最后通過unCLIP模型將獲取到的航天信息生成對應的圖像。
基于深度學習的有監(jiān)督文本分類模型[22]通常由文本預處理、文本的詞向量表示、神經(jīng)網(wǎng)絡層和分類層組成。
第一步將文本中的詞語分隔開,然后去除停用詞,可以降低對下一步工作的干擾。第二步將文本轉(zhuǎn)化成一種便于計算機識別、數(shù)學表達的形式來表達詞語的特征,即詞向量。第三步將詞向量輸入到神經(jīng)網(wǎng)絡的模型進行運算,得到變換過的文本序列。最后通過sigmod 函數(shù)或者softmax 函數(shù)計算文本屬于某個類別的概率,概率最大的就是模型預測的文本類別。本文使用BiLSTM-Attention作為神經(jīng)網(wǎng)絡模型,該模型的示意圖見圖1。
圖1 BiLSTM-Attention 模型Fig.1 BiLSTM-Attention model
3.1.1 輸入層
將輸入模型的文本進行預處理。首先對文本進行分詞處理,本文使用Jieba 工具實現(xiàn)分詞[23],將句子中的所有詞語快速地全部切分出來,同時利用正則表達式re 將文本中的空白字符刪除。分詞后去除停用詞[24],然后統(tǒng)計詞頻,選擇出現(xiàn)頻數(shù)較高的詞匯生成詞匯表。
3.1.2 嵌入層
文本的詞向量在嵌入層獲取。本文使用word2vec 方法[25]訓練詞向量,便于神經(jīng)網(wǎng)絡層之間的計算,訓練時聯(lián)系上下文,使詞向量的語義信息更加豐富。
在Word2vec 模型中,主要有兩個關(guān)鍵的模型,第一個是CBOW 模型,根據(jù)某詞的上下文信息,確定該詞的詞向量;第二個是skip-gram 模型,根據(jù)某詞的詞向量,確定上下文的詞向量。
本文使用gensim 框架,選用skip-gram 模型訓練得到詞向量,將詞向量的維度限定為200 維。
3.1.3 BiLSTM 層
LSTM[26]是一種RNN 的變體,通過引 入“門”結(jié)構(gòu),有效地解決了RNN 的訓練過程中激活函數(shù)的導數(shù)累積而導致的“梯度消失”和“梯度爆炸”的問題。LSTM 由遺忘門、輸入門和輸出門組成,用于控制記憶單元的狀態(tài)是否存儲和更新。
LSTM在t時刻的計算過程可以通過公式(1)~(7)表示,其中ft、it和ot分別表示遺忘門、輸入門和輸出門,W和b表示權(quán)重矩陣和偏置向量,xt和ht分別表示隱藏層在時刻t的輸入和輸出,σ和tanh 分 別表示sigmod 和tanh 激活 函數(shù)。
遺忘門根據(jù)上一個單元的輸出以及當前時刻t的輸入共同決定記憶單元中信息的丟棄與否,計算公式為:
輸入門用于控制網(wǎng)絡當前時刻輸入的信息有多少保存到記憶單元中,同時計算前一時刻記憶單元的狀態(tài)更新值,計算公式為:
根據(jù)遺忘門、輸入門以及上一個時刻記憶單元的狀態(tài),共同計算當前記憶單元Ct的狀態(tài),公式為:
輸出門用于控制記憶單元對于當前時刻t輸出值的影響,也就是記憶單元中的哪些信息會輸出,公式為:
隱藏層節(jié)點在時刻t的輸出ht的計算公式為:
LSTM 雖然可以獲取長距離的特征信息,但是只完成了神經(jīng)網(wǎng)絡前向的計算,也就是只利用當前時刻之前的信息而忽略了當前時刻之后的信息產(chǎn)生的影響。BiLSTM[27]在LSTM 的基礎(chǔ)上同時計算前向和后向的信息,可以更加有效地提取文本的特征。本文采用BiLSTM 神經(jīng)網(wǎng)絡結(jié)構(gòu),聯(lián)合前向和后向的輸出,計算后傳遞給下一個隱藏層節(jié)點。
第i個詞語的隱藏層節(jié)點的輸出hi通過前向傳遞和后向傳遞的信息共同決定,計算公式為:
3.1.4 注意力層
注意力機制[28]最早出現(xiàn)在人類的視覺領(lǐng)域,是關(guān)于人類大腦的注意力分配機制,也就是對于重要的信息分配更多的注意力。應用在人工智能領(lǐng)域,注意力機制旨在從較為復雜的信息中有效地提取出關(guān)鍵特征,在調(diào)整注意力的權(quán)重之后,篩選出關(guān)鍵的信息。在自然語言處理的任務中,注意力機制可以更好地捕捉全局的信息,更加充分地提取文本的特征。
首先確定注意力機制的矩陣Ht,也就是BiLSTM 層輸出的文本特征向量矩陣,計算對應的權(quán)重ut,公式為:
然后對得到的權(quán)重矩陣進行歸一化處理,計算輸入的第t個詞語對于判定文本類別的影響程度αt,公式為:
最后將向量矩陣進行加權(quán)求和,計算得到輸出到分類層的句子向量表示h?,公式為:
3.1.5 分類層
分類層的輸入來自注意力層,經(jīng)過softmax 函數(shù)計算后,得到模型預測文本類別的概率,公式為:
在神經(jīng)網(wǎng)絡進行訓練的過程中,通過調(diào)整隱藏層節(jié)點的權(quán)重參數(shù),可以學習到輸入模型的向量與預測標簽之間的關(guān)系,但在模型結(jié)構(gòu)較為復雜特別是訓練集較少的情況下,會導致過擬合的問題,即模型在訓練集的表現(xiàn)很好,但在測試集則表現(xiàn)很差。Hinton[29]等人針對過擬合的問題提出了dropout 技術(shù),也就是在神經(jīng)網(wǎng)絡前向傳播的過程中,使某個神經(jīng)元的激活值以一定的概率p停止工作,提高了模型的泛化能力。
雖然dropout技術(shù)的效果很好,但是由于dropout 的隨機性,導致了在訓練時隨機抽樣的子模型和預測時完整模型之間的不一致問題。對比學習的方法可以有效地解決該問題,即通過對同一個樣本進行不同的增強得到正樣本對,保證相同樣本的輸出一致性,進一步提高了模型的魯棒性和泛 化能力。Liang 等 人[17]針 對dropout 帶 來的不一致問題,基于對比學習的思想提出了RDrop 技術(shù),用于正則化dropout,可以保證由于dropout 產(chǎn)生的不同子模型的輸出一致。R-Drop方法的示意圖見圖2。
圖2 R-Drop 示意圖(陰影表示隨機dropout 的神經(jīng)元)Fig.2 R-Drop diagram(Shading represents random dropout neurons)
在訓練時的每個批次中,對于同一個樣本xi,前向傳播兩次之后,由于隨機dropout 一些隱藏層節(jié)點,所以會得到兩個不同但差別很小的概率分布,分別表示為(yi|xi)和(yi|xi),其中yi表示對應的標簽。通過使兩個分布之間的KL散度最小化,可以將兩個子模型輸出的數(shù)據(jù)樣本保持一致,達到緩解訓練和預測之間不一致的目的,計算公式為:
式中,DKL(P1||P2)表示P1和P2兩個分布之間的KL 散度。
在兩次前向傳播的過程中,本文使用交叉熵損失函數(shù)作為模型學習的目標函數(shù)的一部分,公式為:
對于輸入數(shù)據(jù)xi和對應的標簽yi,最終訓練需要最小化的目標函數(shù)為:
式中,α表示控制KL 散度的權(quán)重系數(shù)。通過這種方式可以約束模型,將模型的魯棒性和泛化能力進一步提高。
CLIP 作為一種基于對比學習的文本-圖像預訓練模型,根據(jù)數(shù)據(jù)集中的文本描述和其對應的圖像,利用文本編碼器和圖像編碼器分別提取文本和圖像的特征,然后計算文本特征和圖像特征的余弦相似度,最后進行對比學習,即模型的訓練目標為最大化正樣本對的相似度,最小化負樣本對的相似度。
為了利用CLIP 學習到帶有語義信息的圖像特征來生成圖像,unCLIP 模型的訓練集由文本-圖像對(x,y)組成,即圖像x和對應的文本描述y。對于給定的圖像x,令zi表示CLIP 的圖像嵌入,首先利用先驗模型P(zi|y)根據(jù)文本描述生成對應的CLIP 圖像嵌入,然后解碼器根據(jù)CLIP圖像嵌入zi反向生成圖像x,這兩個階段對應的圖像生成模型P(x|y)如式(16)所示:
基于上述相關(guān)技術(shù),本文提出一種基于開源文本信息的航天信息與圖像生成獲取框架,主要包括開源信息采集模塊、文本處理模塊、模型訓練和模型預測模塊、文本生成圖像模塊。
開源信息采集模塊通過爬蟲技術(shù)從互聯(lián)網(wǎng)上的公開信息中搜集相關(guān)信息,信息主要來自科技文獻題錄數(shù)據(jù)和航天主題網(wǎng)站的公開數(shù)據(jù)。
文本處理模塊首先對搜集到的數(shù)據(jù)進行清洗,然后進行分詞和去停用詞,最后通過Word2Vec方法獲取文本的詞向量。
模型訓練模塊以詞向量作為輸入,通過RDrop 方法訓練BiLSTM-Attention 模型,對模型進行多輪訓練,保存表現(xiàn)最佳的模型。
模型訓練之后,將待分類的數(shù)據(jù)輸入模型,根據(jù)模型預測的分類結(jié)果,實現(xiàn)對開源信息數(shù)據(jù)進行航天類的信息高效篩選,從而獲取航天信息。
最后利用unCLIP 模型根據(jù)航天信息的文本內(nèi)容生成對應的圖像。
基于開源信息的航天信息獲取與圖像生成框架流程見圖3。
圖3 開源航天信息的獲取與圖像生成框架流程圖Fig.3 Flowchart of open source aerospace information acquisition and image generation framework
4.1.1 實驗環(huán)境
本文所涉及到的實驗使用的環(huán)境配置見表1。
表1 實驗環(huán)境配置Tab.1 Experimental environment configuration
4.1.2 實驗數(shù)據(jù)集
本文的實驗采用復旦大學發(fā)布的文本分類數(shù)據(jù)集,該數(shù)據(jù)集共含有19 637 篇文檔,其中訓練集和測試集基本按照1∶1 的比例劃分,涵蓋了20 個類別,主要包括航天、藝術(shù)、教育等主題。樣本的類別分布不均衡,航天類別的文本數(shù)量較少。在訓練過程中,由于該數(shù)據(jù)集的文本較長,統(tǒng)一處理成長度為600 的樣本,同時將原訓練集按照8∶2 的比例隨機劃分為訓練集和驗證集。
在文本分類任務中,如何判斷分類的效果,即模型的性能如何,是提高分類能力、改善模型的關(guān)鍵。為判斷基于有監(jiān)督對比學習的模型分類效果,本文使用精確率P、召回率R和F1-Score作為評價標準[30]。
在測試分類效果的過程中,判斷模型預測的標簽與正確的標簽是否一致,會出現(xiàn)4 種情況,即二維混淆矩陣,4 種情況分別定義為:
(1)真正例(True Positive,TP):將正例預測為正例的個數(shù);
(2)假正例(False Positive,F(xiàn)P):將負例預測為正例的個數(shù);
(3)假反例(False Negative,F(xiàn)N):將正例預測為負例的個數(shù);
(4)真反例(True Negative,TN):將負例預測為負例的個數(shù)。
精確率(Precision,P)表示預測正確的正例樣本數(shù)與預測為正例的樣本總數(shù)的比例,計算公式為:
召回率(Recall,R)表示預測正確的正例樣本數(shù)與實際為正例的樣本總數(shù)的比例,計算公式為:
為了綜合評價模型的分類效果,結(jié)合精確率和召回率可以計算出F1-Score,對模型的表現(xiàn)做出整體評價,計算公式為:
在多分類的任務中,還有宏平均、微平均和加權(quán)平均這3 個指標對分類效果進行評價。宏平均是先計算各個類別的相關(guān)指標后再對它們求算術(shù)平均;微平均是不區(qū)分樣本的類別,將所有樣本整體進行計算;加權(quán)平均考慮了每個類別的樣本數(shù)量的權(quán)重,對相關(guān)指標進行加權(quán)計算。
本文采用基于有監(jiān)督對比學習的文本分類模型,即基于注意力機制的BiLSTM 模型,同時融合基于R-Drop 技術(shù)的對比學習方法進行訓練,該模型的算法流程如圖4 所示。
圖4 算法流程圖Fig.4 Algorithm flowchart
在訓練過程中,模型在訓練集和驗證集上的損失和準確率變化曲線見圖5。從圖5 可以看出,隨著迭代次數(shù)的增加,模型在訓練數(shù)據(jù)集上的損失值一直在變小,而在驗證集上的損失值先減小然后增大,說明模型在后續(xù)出現(xiàn)了過擬合現(xiàn)象。模型的準確率逐漸增加后趨于穩(wěn)定,并在訓練過程中保存了表現(xiàn)最佳的權(quán)重。
圖5 訓練過程的損失(a)和準確率(b)變化Fig.5 Loss(a)and accuracy(b)changes during training
本文同時選取CNN、BiLSTM、Transformer和BiLSTM-Attention 模型進行對比實驗,關(guān)于航天類別文本的分類效果見表2。
表2 航天類別文本的分類效果Tab.2 Classification effect of aerospace category text
實驗結(jié)果表明,對于航天類別的文本,本文提出的BiLSTM-Attention+R-drop 的分類模型在精確率、召回率和F1-Score 這3 個指標都是最高,說明該模型對于獲取航天信息具有很好的效果,有助于提高獲取開源航天信息的質(zhì)量和效率。
在獲取到航天類別的信息后,將信息輸入到unCLIP 模型中,對應生成的圖像樣例如圖6 所示,可以更加直觀地表達信息,如信息主體、形態(tài)和環(huán)境等,便于研究人員開展后續(xù)工作。
圖6 信息圖像Fig.6 Information image
為了進一步說明R-Drop 方法對于有監(jiān)督文本分類模型的有效性,本文基于常見的文本分類模型CNN、BiLSTM、Transformer 和BiLSTMAttention 做了4 組對比實驗。由于數(shù)據(jù)集的樣本分布不均,所以采用加權(quán)平均作為評價整體分類效果的指標。同時給出當前實驗環(huán)境下測試集的預測時間,以便對不同模型的處理時效進行對比分析,實驗結(jié)果見表3。
表3 各模型的整體分類效果Tab.3 Overall classification performance of each model
實驗結(jié)果表明,即使在樣本分布不均衡的情況下,R-Drop 也可以有效地提升多數(shù)模型的分類效果,但是對于CNN 這種結(jié)構(gòu)過于簡單的模型,R-Drop對它的效果影響不大。從各個模型的預測時間可以看出,處理信息的時間與模型的結(jié)構(gòu)復雜程度或者隱藏層神經(jīng)元的數(shù)量有關(guān)。R-Drop 作為一種訓練策略,不會影響模型預測結(jié)果的時間。因此可以從實驗結(jié)果得出,在多數(shù)情況下,R-Drop的有效性與模型和樣本的分布無關(guān),不會影響模型的信息處理時間,能夠優(yōu)化基于深度學習的分類模型,提升模型的泛化能力和魯棒性。
本文針對開源航天信息的獲取和分析過程中,存在樣本的內(nèi)容過長且相關(guān)樣本數(shù)量較少的問題,提出了基于有監(jiān)督對比學習的文本分類模型,從互聯(lián)網(wǎng)爬取到開源的信息之后,通過該模型進行分類并篩選出航天類別的信息。實驗結(jié)果表明,針對航天類別的文本,融合R-Drop 技術(shù)的BiLSTM-Attention 模型具有較高的精確率、召回率和F1-Score,F(xiàn)1-Score 可以達到0.97,比原模型提高了1%,能夠做到高效地獲取開源航天信息,并且將信息以圖像的形式呈現(xiàn),更加直觀地展示文本內(nèi)容。本文研究可以提升信息研究人員的工作效率,對于航天科技領(lǐng)域的信息研究工作具有重要意義。