王紅梅, 郭 放, 郭真俊, 張麗杰
(長(zhǎng)春工業(yè)大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,吉林 長(zhǎng)春 130012)
隨著互聯(lián)網(wǎng)、機(jī)器學(xué)習(xí)、大數(shù)據(jù)等技術(shù)的飛速發(fā)展,各種信息數(shù)據(jù)以指數(shù)級(jí)的速度持續(xù)增長(zhǎng),目前人工智能所依托的機(jī)器學(xué)習(xí)和深度學(xué)習(xí)算法多數(shù)是依賴數(shù)據(jù)的,需要大量的數(shù)據(jù)采用有監(jiān)督或半監(jiān)督的方式訓(xùn)練算法進(jìn)行定制化部署。由于中國大數(shù)據(jù)體量龐大,尤其是新聞文本沒有固定格式,且種類多樣,更新速度快,給數(shù)據(jù)標(biāo)注任務(wù)提出了巨大挑戰(zhàn)。最常見的新聞?lì)悇e標(biāo)注是通過人工方式對(duì)全部數(shù)據(jù)進(jìn)行標(biāo)注,人工成本很高,數(shù)據(jù)質(zhì)量難以保證,不可避免地存在標(biāo)注人員主觀疲勞,數(shù)據(jù)審核環(huán)節(jié)質(zhì)量難以把控等問題。
而深度學(xué)習(xí)是這個(gè)時(shí)代人工智能領(lǐng)域內(nèi)最熱門的研究之一,因其優(yōu)秀的特征提取能力,對(duì)包括自然語言處理在內(nèi)的諸多任務(wù)有著十分重要的影響。越來越多的任務(wù)選擇采用深度學(xué)習(xí)來進(jìn)行研究。自然語言處理(Natural Language Processing,NLP)是其中熱門的研究領(lǐng)域,自然語言是高度抽象的符號(hào)化系統(tǒng),文本間存在數(shù)據(jù)離散、稀疏、一詞多義等問題。而深度學(xué)習(xí)具有強(qiáng)大的特征提取和學(xué)習(xí)能力,在NLP諸多任務(wù)中都取得了很好的發(fā)展。文本分類是NLP中最基本的一項(xiàng)任務(wù),是根據(jù)文本所蘊(yùn)含的信息將其映射到預(yù)先定義帶主題標(biāo)簽的兩個(gè)或幾個(gè)類的過程[1]。文本分類被廣泛應(yīng)用到內(nèi)容審核、廣告標(biāo)注、情感分析、郵件過濾、新聞主題劃分、問題甄別、意圖識(shí)別等場(chǎng)景[2]。2010年之前,基于淺層學(xué)習(xí)的文本分類模型是主流。淺層學(xué)習(xí)方法是機(jī)器學(xué)習(xí)的一種,基于從原始文本中提取的各種文本特征來訓(xùn)練初始分類器。淺層學(xué)習(xí)模型意味著基于統(tǒng)計(jì)的模型,如樸素貝葉斯(Naive Bayes, NB)[3]、K近鄰(K-Nearest Neighbors, KNN)[4]和支持向量機(jī)(Support Vector Machines, SVM)[5]。其中,樸素貝葉斯模型是最早應(yīng)用于文本分類任務(wù)的模型。之后,陸續(xù)提出了通用分類模型,如KNN、SVM等,它們被稱為分類器,廣泛應(yīng)用于文本分類任務(wù)中。淺層學(xué)習(xí)模型加快了文本分類的速度,提高了準(zhǔn)確性。與早期基于規(guī)則的方法相比,在準(zhǔn)確性和穩(wěn)定性上都更具有優(yōu)勢(shì),但仍然存在成本高昂、耗時(shí)等問題。此外,這些方法通常會(huì)忽略文本數(shù)據(jù)中的上下文信息或順序結(jié)構(gòu)。近年來,深度學(xué)習(xí)在NLP領(lǐng)域被廣泛應(yīng)用,它避免了人工設(shè)計(jì)規(guī)則和功能,且自動(dòng)為文本提供語義上有意義的表現(xiàn)形式。深度學(xué)習(xí)的核心是通過數(shù)據(jù)驅(qū)動(dòng)的方式,采取一系列的非線性變換,從原始數(shù)據(jù)中提取由低層到高層、由具體到抽象的特征。與淺層學(xué)習(xí)相比,深度學(xué)習(xí)強(qiáng)調(diào)模型結(jié)構(gòu)深度,通過模型深度的增加來獲取深層次的含義。近年來,越來越多的研究人員對(duì)CNN(Convolutional Neural Networks)、RNN(Recurrent Neural Network)等進(jìn)行改進(jìn),或進(jìn)行模型融合,提高不同任務(wù)的文本分類性能,BERT(Bidirectional Encoder Representation from Transformers)[6]、ERNIE(Enhanced Language Representation with Informative Entities)[7]的出現(xiàn)給文本分類發(fā)展帶來了重大轉(zhuǎn)折,許多研究者在新聞分類上投入大量工作,如短文本分類[8]、基于BERT的中文文本分類[9]、基于改進(jìn)ERNIE的中文文本分類等[10]。此外,研究人員將GNN(Graph Neural Network)[11]引入到文本分類任務(wù)中,也帶來了前所未有的優(yōu)秀性能。
文本標(biāo)注是一種監(jiān)督學(xué)習(xí)的問題,它可以認(rèn)為是文本分類的一個(gè)擴(kuò)展。標(biāo)注問題又是結(jié)構(gòu)預(yù)測(cè)問題的簡(jiǎn)單形式。將包含特征和標(biāo)簽信息的訓(xùn)練樣本輸入到模型中,從而得到一個(gè)最優(yōu)模型。再通過最優(yōu)模型對(duì)沒有標(biāo)簽的測(cè)試樣本進(jìn)行測(cè)試,輸出分類標(biāo)簽,并將其注釋到相應(yīng)位置。由于中文語法和字的差異,相對(duì)于英文,中文文本分類需要進(jìn)行大量的處理和分析工作,中文長(zhǎng)文本標(biāo)注效果并不是特別理想。在數(shù)據(jù)方面,無論是淺層學(xué)習(xí)還是深度學(xué)習(xí),長(zhǎng)文本、短文本、跨語言、多標(biāo)簽等不同數(shù)據(jù)對(duì)于模型的性能都具有很重要的影響。為了更全面捕捉字的語義以及上下文之間的理解,針對(duì)長(zhǎng)文本新聞自動(dòng)標(biāo)注問題,提出一種基于改進(jìn)語言表示學(xué)習(xí)(Improved Enhanced Language Representation with Informative Entities,IERNIE)的新聞文本標(biāo)注方法。
1)將ERNIE模型與LCNN(Bi-directional Long Short-Term Memory with Convolutional Neural Network)模型融合,提出一種新的IERNIE模型,該模型能夠更好地捕獲字的語義,以及上下文的特征;
2)首次將IERNIE模型用于長(zhǎng)文本新聞?lì)悇e標(biāo)注任務(wù)上;
3)IERNIE模型與經(jīng)典模型相比,在長(zhǎng)文本新聞數(shù)據(jù)集上,準(zhǔn)確率、精確率、召回率、F1值這4個(gè)評(píng)價(jià)指標(biāo)上的表現(xiàn)均優(yōu)于對(duì)比模型。
FastText[12]是Facebook于2016年開源的一個(gè)詞向量計(jì)算和文本分類工具,F(xiàn)astText模型有3層:輸入層、隱藏層和輸出層。FastText的輸入是多個(gè)單詞及其n-gram特征,然后輸入到隱藏層中,將詞向量進(jìn)行疊加平均;最后通過輸出層輸出特定的標(biāo)簽。值得注意的是,在輸入時(shí),單詞的字符級(jí)別的n-gram向量作為額外特征,輸出時(shí)FastText采用了分層Softmax,從而降低模型的訓(xùn)練時(shí)間。在應(yīng)用方面,Dai L L等[13]使用FastText模型進(jìn)行中文文本分類,大幅降低分類時(shí)間。Tahsin R等[14]使用FastText模型對(duì)電子郵件進(jìn)行自動(dòng)分類,節(jié)省大量人工和時(shí)間。
Transformer[15]結(jié)構(gòu)分為Eencoder和Decoder兩部分。Encoder由6個(gè)相同的塊構(gòu)成,每塊由兩個(gè)子層組成,分別為多頭自注意力機(jī)制和全連接前饋網(wǎng)絡(luò),每個(gè)子層都添加了殘差連接和歸一化;Decoder結(jié)構(gòu)與Encoder結(jié)構(gòu)相似,但是增加一個(gè)注意力子層,目的是為了和Encoder的輸出做操作。因其具有提取超長(zhǎng)距離特征、高效并行和較快的收斂速度的優(yōu)越性,Wang C C等[16]使用基于Transformer的方法,對(duì)5種不同語言進(jìn)行分類,與只能處理一種語言的模型相比,有更高的性能。
LSTM (Long Short Term Memory)網(wǎng)絡(luò)是RNN的特殊類型,可以學(xué)習(xí)長(zhǎng)期依賴模型。通過對(duì)單元狀態(tài)中信息遺忘和記憶新的信息,使后續(xù)時(shí)刻計(jì)算有用信息得以傳遞,而無用信息則被丟棄,并在每個(gè)時(shí)間步都會(huì)輸出隱層狀態(tài),這便是LSTM的計(jì)算過程。而BiLSTM則是將前向的LSTM和后向的LSTM結(jié)合起來。楊妥等[17]采用LSTM方法對(duì)新聞內(nèi)容信息進(jìn)行情感分析,再將分析得到的情感分類結(jié)果與股票的技術(shù)指標(biāo)相結(jié)合,用以對(duì)股票指數(shù)進(jìn)行預(yù)測(cè);于佳楠等[18]通過LSTM對(duì)上下文信息進(jìn)行獨(dú)立語義編碼,同時(shí)引入注意力機(jī)制,改善了情感特征信息;和志強(qiáng)等[19]利用BiLSTM從前、后兩個(gè)方向全面捕捉短文本語義特征進(jìn)行短文本分類。
CNN模型可以分為輸入層、卷積層、最大池化層和全連接層4部分。輸入層接受輸入句子的單詞向量矩陣,將其傳輸?shù)骄矸e層中;在卷積層輸入矩陣進(jìn)行卷積操作,其中需要注意卷積核的列數(shù)是固定的,與詞向量維度相同。卷積核不斷向下移動(dòng),得到卷積后的值。多個(gè)不同的卷積核會(huì)生成多列向量,在最大池化層中,最大池化會(huì)取出每一列中的最大值,最終形成一個(gè)一位向量。而全連接層則使用Dropout防止過擬合,再通過歸一化進(jìn)行分類,這便是CNN文本分類模型。韓棟等[20]基于CNN進(jìn)行改進(jìn),融合CNN和句子級(jí)監(jiān)督學(xué)習(xí)構(gòu)建了短文本分類模型。
BERT模型是建立在Transformer的基礎(chǔ)上,采用雙向的Transformer,以此建立一個(gè)通用的NLP模型,對(duì)于特定任務(wù)只需要加一個(gè)額外的神經(jīng)網(wǎng)絡(luò)層即可,相當(dāng)于把下游任務(wù)的工作轉(zhuǎn)移到預(yù)訓(xùn)練階段,使用BERT進(jìn)行文本分類,實(shí)際上就是將BERT得到的字符嵌入連接到全連接層進(jìn)行多分類。段丹丹等[21]使用BERT模型研究中文短文本分類;李鐵飛等[22]使用預(yù)訓(xùn)練BERT模型作為詞向量模型,將得到的詞向量輸入到其他模型中進(jìn)行分類工作。
IERNIE融合了ERNIE模型對(duì)語義信息的捕獲和對(duì)RCNN進(jìn)行改進(jìn)的LCNN對(duì)上下文信息的捕獲,IERNIE模型包括ERNIE層、BiLSTM層、最大池化層以及全連接層。模型算法中提到的符號(hào)描述以及算法步驟分別見表1和表2。
表1 符號(hào)描述
表2 算法步驟
首先將待標(biāo)注的長(zhǎng)文本新聞數(shù)據(jù)集轉(zhuǎn)化token級(jí)別向量,并進(jìn)行mask遮蓋,然后將其通過ERNIE模型進(jìn)行編碼以及知識(shí)整合,得到特征向量E。接下來將E輸入到BiLSTM模型,獲得左上文向量Cl和右下文向量Cr。最后將E,Cl,Cr進(jìn)行拼接,通過最大池化層保留最重要的潛在語義,并通過全連接層獲得預(yù)測(cè)結(jié)果進(jìn)行新聞?lì)悇e標(biāo)注。
ERNIE[7]是一種新的知識(shí)增強(qiáng)語言表示模型,ERNIE受BERT掩蔽策略的啟發(fā),目的是學(xué)習(xí)通過知識(shí)掩蔽策略增強(qiáng)的語言表示,包括實(shí)體級(jí)掩蔽和短語級(jí)掩蔽。ERNIE模型包括Transformer[15]編碼和知識(shí)整合兩部分,Transformer可以通過自注意捕獲句子中每個(gè)標(biāo)記的上下文信息,并生成上下文嵌入序列,使用先驗(yàn)知識(shí)可以增強(qiáng)預(yù)先訓(xùn)練好的語言模型,是一種多階段知識(shí)屏蔽策略。第1段是基本遮蔽,第2段是短語級(jí)遮蔽,第3段是實(shí)體級(jí)遮蔽,經(jīng)過3個(gè)階段的處理,可以將短語和實(shí)體級(jí)知識(shí)集成到語言表示中。
文中使用ERNIE模型可以獲得更多的語義和語法信息,首先捕獲輸入數(shù)據(jù)集的語義信息,并進(jìn)行語義表征嵌入,得到包括[CLS]標(biāo)記的特征向量E∈Rde,其中de表示詞向量維度,然后將E通過全連接層得到輸出xt,最后將其輸入到BiLSTM層,公式為
xt=Wa*E+ba,
Wa∈Rde*da,
(1)
式中:da——編制ba的維度。
LCNN是一種基于RCNN(Recurrent Convolutional Neural Networks)[23]模型的改進(jìn),將RCNN模型中的BiRNN用BiLSTM來代替,達(dá)到一個(gè)更好的效果。LCNN引入了BiLSTM的結(jié)構(gòu)來捕獲上下文信息,并且使用最大池化層模仿CNN用于判斷文本分類中起到關(guān)鍵作用的詞。
模型的第1部分是BiLSTM層,使用雙向循環(huán)神經(jīng)網(wǎng)絡(luò)來學(xué)習(xí)字的上下文表示,第2部分是最大池化層,第3部分是全連接層,這兩部分用來學(xué)習(xí)語義表示。
2.2.1 學(xué)習(xí)字的上下文信息
cl(wi)=f(W(l)cl(wi-1)+W(sl)e(wi-1)),
(2)
cr(wi)=f(W(r)cr(wi+1)+W(sr)e(wi+1)),
(3)
式中:cl(wi)——wi左上文;
el(wi)——單詞wi的嵌入向量;
W(l)——用于將上一個(gè)字的左上文傳遞到下一個(gè)字的左上文;
W(sl)——結(jié)合當(dāng)前詞的語義到下一個(gè)詞的左上文。
其余同理。
2.2.2 計(jì)算單詞潛在語義信息
每個(gè)字wi的潛在語義表示是將左上文cl(wi),嵌入向量el(wi)和右下文cr(wi)連接起來表示為字Xi,
Xi=[cl(wi);e(wi);cr(wi)]。
(4)
將潛在語義Xi通過激活函數(shù)relu計(jì)算wi的隱藏語義向量y(2),y(2)的每個(gè)語義因素將被分析,以確定表示文本最有用的因素。
y(2)=relu(W2xi+b(2))。
(5)
(6)
全連接層(Fully Connected Layers, FC)在整個(gè)網(wǎng)絡(luò)中起到了分類器的作用。它將學(xué)到的“分布式特征表示”映射到樣本標(biāo)記空間,做到將數(shù)據(jù)進(jìn)行降維,從而得到預(yù)測(cè)結(jié)果。全連接層對(duì)模型的影響參數(shù)有3個(gè),分別是全連接層的總層數(shù)、單個(gè)全連接層的神經(jīng)元個(gè)數(shù)和激活函數(shù)。另外,全連接層在一定程度上保留了模型的復(fù)雜度。卷積神經(jīng)網(wǎng)絡(luò)中的全連接層設(shè)計(jì)屬于傳統(tǒng)特征提取和分類思維下的一種“遷移學(xué)習(xí)”思想,將y(3)通過全連接層得到預(yù)測(cè)結(jié)果y(4),全連接層計(jì)算公式為
y(4)=W(4)y(3)+b(4)。
(7)
實(shí)驗(yàn)采用的數(shù)據(jù)集由9萬條長(zhǎng)文本新聞所構(gòu)成,每條新聞長(zhǎng)度均大于200,是用于中文新聞分類的數(shù)據(jù)集,數(shù)據(jù)來源于各個(gè)新聞網(wǎng)站近期的新聞,包括財(cái)經(jīng)、房產(chǎn)、教育、科技、軍事、汽車、體育、游戲、娛樂9類數(shù)據(jù),每類新聞數(shù)量為1萬條。
為了確保實(shí)驗(yàn)結(jié)果可以復(fù)現(xiàn),使用numpy和torch設(shè)置隨機(jī)種子,并按照文獻(xiàn)[24]的方式采用留出法[25]劃分成70%和30%的兩個(gè)互斥的集合。兩個(gè)集合內(nèi)訓(xùn)練集、測(cè)試集、驗(yàn)證集盡可能保持?jǐn)?shù)據(jù)分布的一致性,這樣可以避免額外誤差帶來的影響,使用分層采樣的方式劃分?jǐn)?shù)據(jù)集。但單次留出法產(chǎn)生的結(jié)果可能會(huì)不夠準(zhǔn)確,因此進(jìn)行5次實(shí)驗(yàn),最終結(jié)果取5次實(shí)驗(yàn)的平均值。
文中實(shí)驗(yàn)評(píng)價(jià)主要有4種,分別為準(zhǔn)確率(Accuracy,ACC)、精確率(Precision)、召回率(Recall)、F1值[7],具體計(jì)算公式如下:
(8)
(9)
(10)
(11)
式中:TP——當(dāng)實(shí)際值與預(yù)測(cè)值均為正時(shí)的數(shù)據(jù)數(shù)量;
TN——當(dāng)實(shí)際值與預(yù)測(cè)值均為負(fù)時(shí)的數(shù)據(jù)數(shù)量;
FP——當(dāng)實(shí)際值為負(fù)、預(yù)測(cè)值為正時(shí)的數(shù)據(jù)數(shù)量;
FN——當(dāng)實(shí)際值為正、預(yù)測(cè)值為負(fù)時(shí)的數(shù)據(jù)數(shù)量;
P——精確率;
R——召回率。
為驗(yàn)證模型的標(biāo)注效果,選擇一些經(jīng)典算法CNN、FastText[12]、BERT[6]、BiLSTM[26]、Transformer[15]與文中IERNIE進(jìn)行對(duì)比。將數(shù)據(jù)應(yīng)用在IERNIE以及其他幾類模型上,比較各模型在訓(xùn)練過程中隨著訓(xùn)練批次的增加,在驗(yàn)證集上的訓(xùn)練效果,如圖1所示。
圖1 模型訓(xùn)練中的準(zhǔn)確率
訓(xùn)練了5輪之后,在驗(yàn)證集的準(zhǔn)確率為94.26%,明顯優(yōu)于其他算法的準(zhǔn)確率(CNN的準(zhǔn)確率為92.61%,BERT的準(zhǔn)確率為91.41%,F(xiàn)astText的準(zhǔn)確率為87.99%,BiLSTM的準(zhǔn)確率為87.99%,Transformer的準(zhǔn)確率為83.91%)。
為了更好地評(píng)估IERNIE在長(zhǎng)文本新聞標(biāo)注的效果,在測(cè)試集上與CNN、FastText、BERT、BiLSTM、Transformer進(jìn)行對(duì)比。在對(duì)比實(shí)驗(yàn)過程中,訓(xùn)練和測(cè)試的各項(xiàng)參數(shù)都保持統(tǒng)一,評(píng)價(jià)指標(biāo)為準(zhǔn)確率、精確率、召回率和F1值,得到模型的評(píng)估結(jié)果見表3。
表3 模型性能對(duì)比 %
從表3可以看出,IERNIE在準(zhǔn)確率、精確率、召回率、F1值這4個(gè)評(píng)價(jià)指標(biāo)上的表現(xiàn)均優(yōu)于其他模型。BERT在處理中文語言時(shí),通過預(yù)測(cè)漢字進(jìn)行建模,很難學(xué)習(xí)更大語義單元的完整語義表示;ERNIE模型通過對(duì)詞、實(shí)體等語義單元的掩碼,使得模型學(xué)習(xí)完整概念的語義表示,相較于BERT學(xué)習(xí)原始語言信號(hào),ERNIE直接對(duì)先驗(yàn)語義知識(shí)單元進(jìn)行建模,增強(qiáng)了模型語義表示能力;經(jīng)典的CNN算法使用固定詞窗口捕獲上下文信息,實(shí)驗(yàn)結(jié)果受窗口大小的影響,LCNN使用循環(huán)結(jié)構(gòu)捕獲更加廣泛的上下文信息。通過實(shí)驗(yàn)結(jié)果對(duì)比可以發(fā)現(xiàn),模型具有更好的效果,驗(yàn)證了文中融合思想的有效性。
針對(duì)長(zhǎng)新聞文本類別標(biāo)注問題,結(jié)合上下文信息提出一種基于改進(jìn)語言表示學(xué)習(xí)的新聞文本標(biāo)注方法IERNIE。該方法首先使用預(yù)訓(xùn)練ERNIE模型,獲取新聞數(shù)據(jù)的向量表示,其次使用LCNN模型處理該向量表示,更好地提取上下文信息。在長(zhǎng)文本新聞數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,IERNIE方法的準(zhǔn)確率、精確率、召回率、F1值評(píng)價(jià)指標(biāo)均高于對(duì)比方法。實(shí)驗(yàn)結(jié)果驗(yàn)證了IERNIE在長(zhǎng)文本新聞標(biāo)注的可行性和有效性。接下來,將會(huì)繼續(xù)在其他文本數(shù)據(jù)集上進(jìn)行測(cè)試,驗(yàn)證方法的有效性。