金雨澄,王清欽,高 劍,苗仲辰,林越峰,項雅麗,熊 贇
(1.復(fù)旦大學(xué) 計算機(jī)科學(xué)技術(shù)學(xué)院,上海 210438;2.上海市數(shù)據(jù)科學(xué)重點(diǎn)實(shí)驗(yàn)室,上海 200438;3.上海金融期貨信息技術(shù)有限公司,上海 200120)
在移動互聯(lián)網(wǎng)時代,金融新聞資訊成為人們高效獲取市場情報的主要途徑。然而隨著新聞數(shù)量的爆發(fā)式增長,如何準(zhǔn)確地對金融文本進(jìn)行分類用以精準(zhǔn)推薦或輔助決策,成為亟待解決的問題。由于單條新聞文本常常同多個標(biāo)簽相關(guān)聯(lián),因此多標(biāo)簽文本分類問題受到廣泛關(guān)注[1-3]。
二元關(guān)聯(lián)是解決多標(biāo)簽問題最常用的思路[1-3]。二元關(guān)聯(lián)把多標(biāo)簽分類轉(zhuǎn)化為多個二分類問題[4],每次針對一個標(biāo)簽類別開展,即每次判斷樣本是否屬于某個類別。不同的標(biāo)簽與文本中不同的特征有關(guān)。文獻(xiàn)[1]提出的CAML算法使用標(biāo)簽注意力機(jī)制為每個二分類問題進(jìn)行特征提取。然而,CAML使用固定窗口大小的卷積網(wǎng)絡(luò)融入上下文信息,導(dǎo)致模型只能提取固定長度的局部短語信息。文獻(xiàn)[2-3]提出的MSATT-KG和BiGRULWAN 算法分別使用密集連接卷積層和雙向門控循環(huán)網(wǎng)絡(luò)代替一維卷積層,從而關(guān)注到文本中不同粒度的上下文信息。文獻(xiàn)[5]提出的ZACNN 算法在CAML 的基礎(chǔ)上進(jìn)一步融入標(biāo)簽語義特征等先驗(yàn)知識,以提升模型在小樣本場景下的性能表現(xiàn)。然而,這些工作都忽略了標(biāo)簽之間的復(fù)雜依賴關(guān)系,二元關(guān)聯(lián)中多個二分類問題并不是相互獨(dú)立的。
圖深度學(xué)習(xí)[5-7]通過深度網(wǎng)絡(luò)刻畫了圖節(jié)點(diǎn)之間的關(guān)聯(lián),其在蛋白質(zhì)分子屬性推斷[8]、交通流量預(yù)測[9]、金融欺詐檢測[10]、新聞文本分類[11]等領(lǐng)域得到了成功應(yīng)用。在多標(biāo)簽文本分類中,也有一些工作通過圖深度學(xué)習(xí)刻畫了標(biāo)簽層級結(jié)構(gòu)。文獻(xiàn)[12-13]分別提出使用Tree-LSTM(Tree-structured Long Short Term Memory)網(wǎng)絡(luò)和圖卷積神經(jīng)網(wǎng)絡(luò)(Graph Convolution Network,GCN)對標(biāo)簽的層級結(jié)構(gòu)和標(biāo)簽語義描述進(jìn)行編碼表示。上述方法都依賴于預(yù)先定義的標(biāo)簽層級結(jié)構(gòu)和豐富的標(biāo)簽語義信息。然而,在金融領(lǐng)域,這樣的標(biāo)簽結(jié)構(gòu)信息獲取依賴于專業(yè)領(lǐng)域人員,對標(biāo)簽劃分層級結(jié)構(gòu)的代價很大,并且由于尾部標(biāo)簽出現(xiàn)頻次較低,尾部標(biāo)簽對應(yīng)的二分類問題中正負(fù)樣本數(shù)量嚴(yán)重失衡,但上述工作難以直接處理這種數(shù)據(jù)的不均衡性問題。
本文通過建模金融文本多標(biāo)簽分類中標(biāo)簽之間的相關(guān)性,提出基于圖深度學(xué)習(xí)的金融文本多標(biāo)簽分類算法,在不依賴于標(biāo)簽層級結(jié)構(gòu)等先驗(yàn)知識的前提下,學(xué)習(xí)語義信息以建模標(biāo)簽之間的復(fù)雜依賴關(guān)系。該算法根據(jù)原始數(shù)據(jù)集中的標(biāo)簽分布構(gòu)建標(biāo)簽關(guān)聯(lián)圖,對新聞文本使用雙向門控循環(huán)網(wǎng)絡(luò)進(jìn)行上下文語義嵌入,并將通過標(biāo)簽注意力機(jī)制得到的文本特征表示作為圖上對應(yīng)標(biāo)簽節(jié)點(diǎn)的屬性信息,進(jìn)一步使用圖神經(jīng)網(wǎng)絡(luò)融合標(biāo)簽之間的關(guān)聯(lián)與文本信息得到新聞的特征表征,利用多個線性層預(yù)測新聞文本在標(biāo)簽空間中的概率分布。同時,為解決二元關(guān)聯(lián)中尾部標(biāo)簽正負(fù)樣本嚴(yán)重不均衡的問題,選用非對稱損失函數(shù)[14]作為優(yōu)化目標(biāo)。
給定一段新聞文本,經(jīng)過分詞、去除停用詞等處理,將原始輸入文本轉(zhuǎn)換為字符序列d=[w1,w2,…,wm],其中:wi表示輸入序列中的第i個單詞;m表示輸入文本長度。標(biāo)簽空間被定義為集合{l1,l2,…,lL},其中:L代表標(biāo)簽空間中的標(biāo)簽數(shù)量。每個新聞文本可能屬于一個或多個標(biāo)簽,表示為標(biāo)簽集合C。本文多標(biāo)簽文本分類任務(wù)的目標(biāo)是學(xué)習(xí)一個映射函數(shù)f(·),將字符序列映射為一個標(biāo)簽集合C,即f(d)=C,0 ≤|C| ≤L。具體地,輸入新聞樣本d,對于每個標(biāo)簽li,模型輸出該樣本屬于標(biāo)簽li的概率,最終根據(jù)輸入樣本關(guān)于L個標(biāo)簽的概率構(gòu)造輸出標(biāo)簽集合C。
本節(jié)將詳細(xì)介紹本文提出的基于圖深度學(xué)習(xí)的多標(biāo)簽文本分類模型FMLG,其中所使用的重要符號定義如表1 所示。
表1 重要符號定義Table 1 Definition of important symbols
圖1 展示了FMLG 模型的基本框架。輸入新聞文本d。首先,將原始字符序列轉(zhuǎn)換為嵌入表示,并進(jìn)一步表示為融合上下文信息的語義嵌入向量,由于不同標(biāo)簽會側(cè)重不同的文本特征,因此多標(biāo)簽注意力網(wǎng)絡(luò)使用多個注意力頭提取標(biāo)簽相關(guān)的文本特征;然后,為了捕捉標(biāo)簽之間的依賴關(guān)系并學(xué)習(xí)更豐富的語義信息,在構(gòu)建標(biāo)簽關(guān)聯(lián)圖的基礎(chǔ)上,模型使用門控圖神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)標(biāo)簽間的語義特征交互;最后,多個線性層被用于預(yù)測標(biāo)簽的概率分布。
圖1 FMLG 模型框架Fig.1 Framework of FMLG model
JOHNSON 等[15]指出,預(yù)訓(xùn) 練的詞嵌入 表示可以使模型訓(xùn)練過程更加穩(wěn)定,因此,使用word2vec[16]進(jìn)行嵌入表示學(xué)習(xí)。單詞序列經(jīng)過嵌入表示后得到向量序列為了在嵌入表示中融入上下文信息,進(jìn)一步使用雙向門控循環(huán)網(wǎng)絡(luò)對向量序列H進(jìn)行編碼,得到一系列文本的上下文語義嵌入表示
由于文本中常常包含大量冗余信息且每個標(biāo)簽側(cè)重不同角度的文本特征,因此FMLG 使用標(biāo)簽注意力{q1,q2,…,qL}進(jìn)行特征提取,對每個注意力向量有qi∈注意力權(quán)重計算方式如下:
其中:αij代表文本中第j個字符與標(biāo)簽li的相關(guān)程度;fai代表同標(biāo)簽li相關(guān)的文本向量表示。最終可以得到文本的向量表示
盡管FMLG 模型利用了標(biāo)簽注意力來提取與各個標(biāo)簽相關(guān)的文本特征,但這樣的做法只是在標(biāo)簽與文本之間建立聯(lián)系,仍然無法捕捉標(biāo)簽之間的關(guān)系。本文先利用統(tǒng)計關(guān)系對標(biāo)簽進(jìn)行構(gòu)圖,再通過門控圖神經(jīng)網(wǎng)絡(luò)[17]對其進(jìn)行特征交互。這不僅可以在模型中顯式地融入標(biāo)簽之間的關(guān)聯(lián),而且其中的門控機(jī)制也可以自適應(yīng)地捕捉到更豐富的相關(guān)文本特征。
本文模型首先根據(jù)訓(xùn)練集構(gòu)建標(biāo)簽關(guān)聯(lián)圖G,圖G為有向帶權(quán)圖,其中節(jié)點(diǎn)集V由數(shù)據(jù)集中的所有標(biāo)簽組成,邊權(quán)Aij被定義為標(biāo)簽li和lj之間的條件概率,條件概率通過訓(xùn)練數(shù)據(jù)集估算得到,即:
其中:I為指示函數(shù)。給定圖G,模型使用門控圖神經(jīng)網(wǎng)絡(luò)進(jìn)行特征交互。圖上節(jié)點(diǎn)的初始向量表示設(shè)置為注意力層提取得到的特征,即首先通過圖上的信息流動從鄰節(jié)點(diǎn)聚合信息:
然而從鄰節(jié)點(diǎn)聚合到的信息可能存在噪聲,因此模型使用門控機(jī)制自適應(yīng)選擇有效信息,信息聚合與傳遞的具體過程如下:
其中:||代表拼接操作。
最終,對于每個類別,模型訓(xùn)練一個二分類器:
由于大部分標(biāo)簽只在少數(shù)樣本中出現(xiàn),因此采用二元關(guān)聯(lián)解決多標(biāo)簽分類會導(dǎo)致二分類問題中正負(fù)樣本比例的嚴(yán)重失衡。本文采用非對稱損失函數(shù)(Asymmetric Loss)[14]處理非均衡分布問題。非對稱損失通過權(quán)重衰減因子和置信度閾值平衡正負(fù)樣本在損失中的占比。預(yù)測概率同真實(shí)概率pi之間的非對稱損失函數(shù)Lasy計算如下:
其中:L+和L-分別代表樣本作為正類和負(fù)類時帶來的損失。權(quán)重衰減因子γ用于為易分負(fù)樣本的損失賦予更小的權(quán)重,置信度閾值m用于忽略預(yù)測置信度較高負(fù)樣本帶來(<m)的損失。上述2 個參數(shù)可以減少負(fù)樣本在損失中的占比,使模型更注重正樣本產(chǎn)生的優(yōu)化信息。
本節(jié)通過實(shí)驗(yàn)驗(yàn)證FMLG 模型的有效性,并分析討論實(shí)驗(yàn)中的場景數(shù)據(jù)以及相關(guān)的參數(shù)設(shè)置。
實(shí)驗(yàn)使用的金融新聞數(shù)據(jù)集中共包含84 707 條中文金融新聞文本,文本的平均長度為598 個中文字符。每條文本由新聞標(biāo)題和內(nèi)容兩部分組成。數(shù)據(jù)集中的每條文本都被打上多個金融類話題標(biāo)簽,共包含115 個標(biāo)簽。數(shù)據(jù)集中每條文本平均被打上1.5 個標(biāo)簽,35%的文本標(biāo)簽數(shù)量大于1,13%的標(biāo)簽在數(shù)據(jù)集中出現(xiàn)次數(shù)少于100 次。
下面介紹本文采用的對比算法:
1)CAML[1]。由于文本中存在大量冗余信息且不同標(biāo)簽對應(yīng)著不同的文本特征,因此該方法提出在卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上,進(jìn)一步使用注意力機(jī)制為每個標(biāo)簽進(jìn)行特征提取。
2)BiGRU-LWAN[3]。由于卷積神經(jīng)網(wǎng)絡(luò)只能提取局部信息,而雙向GRU 可以捕捉長距離依賴,因此該方法將CAML 的卷積神經(jīng)網(wǎng)絡(luò)替換為雙向GRU。BiGRU-LWAN 在多個多標(biāo)簽文本分類數(shù)據(jù)集上都取得了極佳的效果,是一個極具競爭力的對比算法。
3)ZACNN[5]。RIOS 等提出在CAML 中融入標(biāo)簽的語義信息以進(jìn)一步提升模型在尾部低頻標(biāo)簽上的性能表現(xiàn)。
實(shí)驗(yàn)預(yù)處理階段使用jieba(https://github.com/fxsjy/jieba)對文本進(jìn)行分詞,并取文檔頻率大于4 次的字符組成詞表。預(yù)訓(xùn)練嵌入表示維度設(shè)置為100。隨機(jī)劃分70%、15%、15%的數(shù)據(jù)分別作為訓(xùn)練集,測試集和驗(yàn)證集,并將在訓(xùn)練集中出現(xiàn)次數(shù)少于100 次的標(biāo)簽視為尾部少樣本標(biāo)簽。
對于本文提出的FMLG 算法,經(jīng)雙向GRU 編碼后的特征維度dc,門控圖神經(jīng)網(wǎng)絡(luò)隱藏層維度都設(shè)置為300。非對稱損失函數(shù)中的γ和m分別被設(shè)置為2 和0.05。對于CAML 算法,CNN 的卷積核大小設(shè)置為3,特征維度dc設(shè)置為100。BiGRU-LWAN 的特征維度設(shè)置為300。ZACNN 的卷積核大小設(shè)置為3。
為了使得模型有著更好的泛化能力,實(shí)驗(yàn)中對于上述所有模型的詞嵌入層向量表示和注意力系數(shù)使用概率為0.2 的Dropout[18]。訓(xùn)練階段優(yōu)化器選用Adam[19],學(xué)習(xí)率設(shè)置為10-4,ZACNN 訓(xùn)練輪數(shù)設(shè)為30 輪,其余模型設(shè)置為10 輪。本文實(shí)驗(yàn)中選擇廣泛使用的評價指標(biāo)精度、召回率和F1 值來評估模型的性能對比,并基于驗(yàn)證集選擇最優(yōu)的模型進(jìn)行測試。
在FMLG 模型上分別進(jìn)行2 組實(shí)驗(yàn)。FMLG/BCE 和FMLG/ASL 分別表示使用交叉熵和非對稱損失函數(shù)訓(xùn)練的FMLG 模型。表2、表3 展示了模型在所有標(biāo)簽和尾部標(biāo)簽上的性能表現(xiàn),其中,加粗?jǐn)?shù)據(jù)表示最優(yōu)結(jié)果。
表2 模型在所有標(biāo)簽上的性能表現(xiàn)Table 2 Model performance on all labels %
表3 模型在尾部標(biāo)簽上的性能表現(xiàn)Table 3 Model performance on tail labels %
從表2、表3 所列出的實(shí)驗(yàn)數(shù)據(jù)可以看出:
1)ZACNN 模型效果最差。ZACNN 中標(biāo)簽的嵌入表示通過標(biāo)簽名稱中字符的嵌入表示取平均得到,但是由于標(biāo)簽名稱同對應(yīng)文本特征存在較大的語義鴻溝,因此導(dǎo)致模型表達(dá)能力欠缺。
2)BIGRU-LWAN 效果優(yōu)于CAML,表明卷積網(wǎng)絡(luò)只能提取固定長度的局部信息的特點(diǎn)具有局限性,雙向GRU 可以更好地建模上下文之間的長距離依賴。
3)相比BIGRU-LWAN,F(xiàn)MLG/BCE 取得了更好的結(jié)果,且在尾部標(biāo)簽上的提升更為明顯,這表明顯式地建模標(biāo)簽之間的關(guān)聯(lián)能夠提升模型性能。
4)對比FMLG/BCE 和FMLG/ASL 可以發(fā)現(xiàn),使用非對稱損失函數(shù)能夠大幅提升模型在正負(fù)樣本失衡條件下的召回率與F1 值。
為了更加直觀,在表4 中進(jìn)一步列出部分測試樣例預(yù)測結(jié)果,其中文本中的下劃線部分代表新聞中的重要信息。從中可以發(fā)現(xiàn),相比性能最優(yōu)的對比算法BIGRU-LWAN 算法,F(xiàn)MLG 可以預(yù)測出更為完整的標(biāo)簽集合。以樣例1 為例,由于標(biāo)簽“A 股策略”和“研判優(yōu)選”在訓(xùn)練集中存在共現(xiàn)關(guān)系,它們在標(biāo)簽關(guān)聯(lián)圖中存在連邊,F(xiàn)MLG 可以通過圖語義交互層學(xué)習(xí)兩者之間的依賴關(guān)系,從而實(shí)現(xiàn)更為準(zhǔn)確完整的預(yù)測輸出。
表4 部分測試樣例預(yù)測結(jié)果Table 4 Prediction results of some test samples
為表明語義交互層帶來的提升不完全是由于更深層的網(wǎng)絡(luò)結(jié)構(gòu)導(dǎo)致,實(shí)驗(yàn)中還將圖神經(jīng)網(wǎng)絡(luò)中的鄰接矩陣替換為單位陣。從表5 實(shí)驗(yàn)結(jié)果可以發(fā)現(xiàn),使用單位陣代替標(biāo)簽關(guān)聯(lián)圖會導(dǎo)致性能下降。這表明在模型中通過構(gòu)建標(biāo)簽關(guān)聯(lián)圖的方式顯式建模標(biāo)簽之間的關(guān)聯(lián)具有重要意義。
表5 不同鄰接矩陣對實(shí)驗(yàn)結(jié)果的影響Table 5 Influence of adjacency matrix to experimental result %
此外,還通過實(shí)驗(yàn)探究不同圖神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)對實(shí)驗(yàn)結(jié)果的影響,實(shí)驗(yàn)結(jié)果見表6??梢园l(fā)現(xiàn),門控圖神經(jīng)網(wǎng)絡(luò)取得了更好的效果,進(jìn)一步驗(yàn)證了從鄰節(jié)點(diǎn)聚合到的信息往往存在噪聲,門控機(jī)制可以從中自適應(yīng)選擇有效信息。
表6 不同圖神經(jīng)網(wǎng)絡(luò)對實(shí)驗(yàn)結(jié)果的影響Table 6 Influence of different graph neural networks to experimental result %
本文提出基于圖深度學(xué)習(xí)的多標(biāo)簽文本分類算法FMLG,通過標(biāo)簽統(tǒng)計信息構(gòu)建關(guān)聯(lián)圖,并利用門控圖神經(jīng)網(wǎng)絡(luò)挖掘標(biāo)簽之間的關(guān)系。在與各個算法的對比實(shí)驗(yàn)中,F(xiàn)MLG 在所有標(biāo)簽和尾部標(biāo)簽的宏觀F1 值上最高取得了2.0%和4.5%的提升,這表明顯式建模標(biāo)簽之間的關(guān)系可以大幅提升模型的泛化能力。為了進(jìn)一步解決二元關(guān)聯(lián)中正負(fù)樣本不均衡的問題,F(xiàn)MLG 使用非對稱損失函數(shù)作為優(yōu)化目標(biāo)。相比現(xiàn)有算法,F(xiàn)MLG 在所有標(biāo)簽和尾部標(biāo)簽宏觀F1值上最高取得了3.1%和6.9%的提升。由于現(xiàn)實(shí)場景中標(biāo)簽數(shù)量較多,數(shù)據(jù)集中的樣本常常只被打上部分標(biāo)簽,使用存在標(biāo)簽缺失的樣本訓(xùn)練模型會對性能造成較大的負(fù)面影響。后續(xù)將在本文工作的基礎(chǔ)上使用PU learning[21-22](Positive-Unlabelled learning)進(jìn)一步模型在標(biāo)簽缺失場景下的魯棒性。