祖成
(首都經(jīng)濟(jì)貿(mào)易大學(xué)管理工程學(xué)院,北京 100070)
在自然語(yǔ)言處理領(lǐng)域,將普通文本轉(zhuǎn)換成計(jì)算機(jī)可計(jì)算的形式,即文本表示一直是研究的熱點(diǎn)問題。初期,文本在經(jīng)過簡(jiǎn)單的分詞之后使用one-hot 向量對(duì)所分單詞進(jìn)行向量表示。但one-hot 向量?jī)H僅利用了單詞的相關(guān)位置信息,并未考慮單詞的語(yǔ)義信息,導(dǎo)致所獲的詞向量缺少文本語(yǔ)義信息的參與。為了獲得更多的語(yǔ)義信息,MIKOLOV[1]等人提出了基于深度表示的模型Word2Vec。Word2Vec 模型包含Skip-Gram 和CBOW 兩種形式,其基本思路都是為輸入文本搭建一個(gè)具備上下文信息的神經(jīng)網(wǎng)絡(luò),計(jì)算得到含有上下文信息的詞向量。兩者的區(qū)別在于Skip-Gram 通過中間單詞預(yù)測(cè)上下文信息,CBOW 則利用上下文信息預(yù)測(cè)中間單詞。與Word2Vec 思路相似的還有GloVe 模型[2],雖然以上模型可以利用上下文信息預(yù)測(cè)詞向量使得生成的詞向量包含了寓意信息,但由于其構(gòu)建過程是單向?qū)W習(xí),無法解決一詞多義或者新詞組合的情況。針對(duì)以上問題,本文引入動(dòng)態(tài)詞向量 BERT 模型[3],BERT 模型利用其獨(dú)特的Transformer 結(jié)構(gòu)對(duì)文本進(jìn)行雙向?qū)W習(xí)和處理,利用self-attention 學(xué)習(xí)詞間關(guān)系,使得詞向量的表示能夠融入句子級(jí)的語(yǔ)義信息,從而解決詞向量無法表示一詞多義的情況,同時(shí)為了加強(qiáng)單個(gè)詞對(duì)整篇文檔的影響力,利用TF-IDF 算法[4]計(jì)算每篇文檔中詞的權(quán)重,結(jié)合BERT 詞向量構(gòu)建具有權(quán)重信息的詞向量,提高文本分類的準(zhǔn)確率。
BERT 模型與以往的詞向量模型相比獨(dú)到之處在于它的輸入是3 個(gè)向量的和。3 個(gè)向量分別對(duì)應(yīng)詞向量、分段向量和位置向量。其中詞向量表示對(duì)當(dāng)前詞的編碼,分段向量表示對(duì)當(dāng)前詞所在句子的位置編碼,位置向量表示對(duì)當(dāng)前詞的位置編碼,每一句話使用CLS 和SEP 作為開頭和結(jié)尾的標(biāo)記,最后把三個(gè)向量疊加構(gòu)成模型的輸入部分。
BERT 模型最核心的部分就是雙向Transformer 編碼層,如圖1 所示。使用該層對(duì)文本進(jìn)行特征提取,使用的是Transformer 的Encoder 特征抽取器。Encoder 由自注意力機(jī)制和前饋神經(jīng)網(wǎng)絡(luò)組成,Encoder 的核心是self-attention,它可以發(fā)現(xiàn)每一個(gè)詞和這句話里面其他詞之間的關(guān)系,而且沒有距離的限制,幾十甚至幾百個(gè)詞之間的關(guān)系仍然能找到,這樣就可以充分挖掘到每個(gè)詞的左右上下文信息,從而就可以得到詞的雙向表示,其中E1,…,En表示模型的輸入向量,中間是多層雙向Transformer 特征抽取器,T1,…,Tn表示模型的輸出向量,使用該模型獲取詞向量便于后續(xù)文本分類等模型的應(yīng)用。
圖1 BERT 預(yù)訓(xùn)練語(yǔ)言模型
為了加強(qiáng)單個(gè)詞對(duì)整篇文檔的影響力,利用TF-IDF 算法計(jì)算每篇文檔中詞的權(quán)重,結(jié)合BERT 詞向量構(gòu)建具有權(quán)重信息的詞向量,提高文本分類的準(zhǔn)確率。
TF-IDF 是一種計(jì)算某個(gè)詞在整個(gè)文檔的全部?jī)?nèi)容中重要性程度的統(tǒng)計(jì)方法。字詞的重要性與它在文檔中出現(xiàn)的次數(shù)成正比上升,但同時(shí)會(huì)隨著它在文檔中出現(xiàn)的頻率成反比下降。比如,“知道”這個(gè)詞,在文檔中出現(xiàn)的次數(shù)比較頻繁,但它作為常用詞匯在文檔中并不占有很大的比例。TF-IDF 的主要思想是如果一個(gè)詞或短語(yǔ)在文檔中出現(xiàn)的頻率TF 高,并且在其他文檔中很少出現(xiàn),便認(rèn)為這個(gè)詞或者短語(yǔ)具有很好的區(qū)分能力,適合用來分類。TF-IDF 方法實(shí)際可以理解為TF×IDF,TF 為詞頻,IDF 為逆向文件頻率,TF 表示詞條在文檔d中出現(xiàn)的頻率,IDF 表示如果包含詞條t的文檔越少,也就是n越小,t的區(qū)分度越大,IDF 值越大。
詞t的IDF 計(jì)算公式如下:
式(1)中:M為訓(xùn)練文檔的總數(shù);nt為訓(xùn)練文檔集中出現(xiàn)詞t的文檔數(shù)。
TF-IDF 的計(jì)算公式如下:
式(2)中:TF(t,Di)為詞t在第i篇文檔中的詞頻;為歸一化因子。
詞向量化的工作流程為,對(duì)分詞后的每篇文檔利用BERT 模型計(jì)算詞向量,同時(shí)依據(jù)分詞結(jié)果計(jì)算每個(gè)詞t的TF-IDF 值,兩相結(jié)合得到具有權(quán)重信息的詞向量。
為了使本文研究的TF-IDF 加權(quán)BERT 模型的詞向量表示達(dá)到最佳,本節(jié)對(duì)近幾年研究的幾大詞向量模型進(jìn)行實(shí)驗(yàn)對(duì)比。實(shí)驗(yàn)工具采用Anaconda,編程語(yǔ)言采用Python3.7,為方便調(diào)取模型使用Keras 框架,該框架里面包含封裝好的BERT 模型,實(shí)驗(yàn)使用的處理器是GPU,采用的參數(shù)主要有:BERT base 網(wǎng)絡(luò)結(jié)構(gòu),其中網(wǎng)絡(luò)層數(shù)為12,隱藏層維度為768。
實(shí)驗(yàn)的數(shù)據(jù)采用譚松波酒店評(píng)價(jià)語(yǔ)料集,對(duì)比詞向量模型有:MIKOLOV 等人提出的基于深度表示的模型Word2Vec。Word2Vec 模型包含Skip-Gram 和CBOW,與Word2Vec 思路相似的GloVe 模型,以及傳統(tǒng)的BERT 模型。所有實(shí)驗(yàn)均采用k折交叉驗(yàn)證,k=10,即把數(shù)據(jù)集隨機(jī)劃分成10 份,每次取其中9 份進(jìn)行訓(xùn)練,1 份進(jìn)行測(cè)試,然后把10 次分類結(jié)果的平均值作為最終結(jié)果。對(duì)各模型在中文文本分類任務(wù)上進(jìn)行測(cè)評(píng),分類器選擇SVM 支持向量機(jī),測(cè)試結(jié)果用正確率(P)、召回率(R)和F1 指標(biāo)進(jìn)行評(píng)測(cè),具體測(cè)試結(jié)果如表1 所示。
表1 不同詞向量模型實(shí)驗(yàn)結(jié)果對(duì)比(單位:%)
由表1 可以發(fā)現(xiàn),BERT 模型在SVM 分類器上的準(zhǔn)確率、召回率及F1 值比Word2vec 的兩個(gè)模型和GloVe 模型都有一定的提高。比如正確率較CBOW 由77.65%提高到了87.45%;召回率較GloVe 由85.65% 提高到了90.87%;F1值較Skip-Gram 由80.26%提高到了89.13%。與此同時(shí)本文提出的基于TF-IDF 加權(quán)的BERT 模型相比傳統(tǒng)BERT 模型又有一些提升,在SVM 分類器上,正確率提高了2.80%,召回率提高了1.85%,F(xiàn)1 指標(biāo)提高了2.22%,由此可見提出的方法的有效性,其可以作為另外一種用于文本向量化的有效方法。
針對(duì)當(dāng)前文本向量表示方法的不足,借助BERT 模型的優(yōu)點(diǎn),將BERT 和TF-IDF 結(jié)合,提出了一種基于TF-IDF加權(quán)的BERT 模型計(jì)算詞向量的算法。在譚松波酒店評(píng)價(jià)語(yǔ)料集上的實(shí)驗(yàn)表明,相較于Word2Vec 模型以及傳統(tǒng)的BERT模型,本算法有更好的文本分類效果。