劉凱洋
摘要:目前的文本分類大多使用詞向量,且詞向量大多由Word2vec,Glove等方法訓練得到,其存在的問題是部分文本中詞語的數(shù)量較多而訓練速度較慢,且準確率受到切詞的影響。由于中文字詞和英文差異較大,提出結合Bert字向量的文本分類方法。Bert是一個由Google提出的以Transformer為基礎的自然語言處理通用模型,它提供了漢語字符級別的詞向量即字向量。利用Bert字向量并使用卷積神經(jīng)網(wǎng)絡對新聞進行文本分類。在準確率較高的情況下,其效率高于結合詞向量的文本分類方法。
關鍵詞:Bert;CNN;文本分類;字向量;新聞
中圖分類號:TP391 文獻標識碼:A
文章編號:1009-3044(2020)01-0187-02
文本分類是自然語言處理領域中較為重要,且實用性非常強的方向之一。在深度學習技術興起之前,樸素貝葉斯是一種高效而不失準確率的文本分類方法,SVM也被應用于文本分類中并取得不錯的結果。近幾年隨著深度學習技術的迅速發(fā)展,神經(jīng)網(wǎng)絡也被應用在了文本分類技術之中,如2016年提出的TEXTCNNTM正是把卷積神經(jīng)網(wǎng)絡(以下簡稱CNN)應用于文本分類中并取得了較好的效果,除此之外RNN,LSTM等網(wǎng)絡也結合了文本分類領域。2018年Google提出了Bert模型,本文結合了Bert字向量和CNN來對新聞進行文本分類,流程更加簡潔,效率更高,結果較好。
1文本分類流程
1.1字符庫提取
在實驗之前要把數(shù)據(jù)集中文本出現(xiàn)的所有字符提取并去重構成字符庫,字符按出現(xiàn)次數(shù)由多到少進行排列,以便于下一步的字符向量化。由于使用字向量而非詞向量,省去了切詞的步驟,只需把出現(xiàn)的字符提取即可。在通常的文本中,常用漢字大約有3000個,本文的數(shù)據(jù)集中所有漢字加上字符共有5282個,刪去出現(xiàn)最多的字符和最少的字符共282個,剩余5000個字符作為字符庫。較之于詞語的數(shù)量,使用字向量在效率上也會有顯著提高。
1.2字符向量化
1.2.1 Bert介紹
Bert是一個自然語言處理的通用模型,其基礎是Attention機制。Attention機制的提出是為了解決RNN無法并行等缺點。在此之后Google提出了完全建立在Attention之上的Trans-former模型,Bert正是由多個Transformer模型的Encoder結構堆疊而成。Bert具有預訓練的特點,即先使用大規(guī)模的語料進行無監(jiān)督學習得到預訓練模型。使用者可以在具體的自然語言處理任務中直接使用此模型或者微調后使用。
1.2.2生成字向量
本步驟需要把上一步所得的字符進行向量化,生成Bert字向量。GooSe提供的中文Bert模型參數(shù)如表1所示:
由表可得,字符向量化后的維數(shù)為768,由于本文實驗數(shù)據(jù)集大小的限制以及方便和word2vec方法進行對比,Bert字向量需要降維,因此使用t-SNE方法[]把向量維度降至100維。
1.3構建CNN
本文使用的CNN主要參數(shù)如下:
(1)Embedding層,設定為100維。
(2)Seq_length層,設定句子長度為800字符,不足的用空字符補齊,多余的刪去。
(3)Vocab_size層,設定字符庫大小為5000。
(4)Num_fihers層,設定filter為128個。
(5)Kernel_sizes層,設定filter尺寸分別為3,4,5個字符。
(6)Num_classes層,設定分類數(shù)為10。
(7)Dropout層,設定為0.5。
2實驗結果評價和對比
2.1數(shù)據(jù)集
本文使用的數(shù)據(jù)集皆在清華大學開源的中文新聞數(shù)據(jù)集THUCTC中隨機抽取。共4個數(shù)據(jù)集,編號為數(shù)據(jù)集1,數(shù)據(jù)集2,數(shù)據(jù)集3,數(shù)據(jù)集4。每個數(shù)據(jù)集有50000條新聞,其中有10個分類,每個分類下有5000條新聞,4000條作為訓練集,1000條作為測試集。
2.2實驗環(huán)境
本文的實驗環(huán)境如表2所示:
2.3實驗結果對比
由實驗結果可得,Bert詞向量和Bert字向量分別結合CNN實驗結果的準確率差別不大,兩者均較優(yōu)于Word2vec詞向量+CNN的結果。但是Bert詞向量+CNN花費的訓練時間是Bert字向量的6.32倍,Word2vec詞向量+CNN訓練花費的時間是Bert字向量的6.75倍。除此之外,詞向量結合CNN準確率會受到切詞準確性的影響。因此綜合效率和準確率,Bert字向量的結果是最優(yōu)的。
3結論
本文利用Bert字向量結合CNN的文本分類方法,在實驗中取得了較好的結果,事實上字向量的最大優(yōu)勢在于結合了漢字中“字即是詞”的特點,訓練速度快,占用內存小,且準確率不受切詞準確度的影響,在需要兼顧效率和準確率的文本分類任務中表現(xiàn)會更好。
此外,目前已經(jīng)有了針對漢字筆畫向量的研究,在詞向量的訓練上,也有了效果超越Bert的新模型Xlnet,結合這些新的技術方法,文本分類的準確率和效率會得到進一步的提高。