王 維,胡慧君,劉茂福
1(武漢科技大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,武漢 430065)
2(智能信息處理與實(shí)時(shí)工業(yè)系統(tǒng)湖北省重點(diǎn)實(shí)驗(yàn)室,武漢 430081)
隨著電子商務(wù)的快速發(fā)展,電商數(shù)據(jù)呈指數(shù)式增長(zhǎng).這些數(shù)據(jù)承載了各類消費(fèi)群體的信息,成為了極有價(jià)值的資產(chǎn),應(yīng)用大數(shù)據(jù)正逐漸成為商業(yè)競(jìng)爭(zhēng)的關(guān)鍵.大數(shù)據(jù)的發(fā)展,為企業(yè)帶來了新的生產(chǎn)革命,帶來了一系列的機(jī)遇.基于互聯(lián)網(wǎng)實(shí)現(xiàn)電子商務(wù)數(shù)據(jù)收集,大數(shù)據(jù)分析促進(jìn)了企業(yè)客戶服務(wù)的差異化,強(qiáng)化了市場(chǎng)營(yíng)銷的針對(duì)性,增強(qiáng)了電子商務(wù)企業(yè)競(jìng)爭(zhēng)力.而對(duì)電商數(shù)據(jù)的文本分類,是進(jìn)行一切數(shù)據(jù)分析的基礎(chǔ).
依靠人力對(duì)電商數(shù)據(jù)進(jìn)行分類,無法適應(yīng)如今海量的電商數(shù)據(jù)且成本過高.傳統(tǒng)機(jī)器學(xué)習(xí)難以捕捉有用的人工特征,深度學(xué)習(xí)可以自動(dòng)提取特征.近年來,隨著深度學(xué)習(xí)的快速發(fā)展,深度學(xué)習(xí)在自然語言處理領(lǐng)域取得了良好的效果.采用深度學(xué)習(xí)模型如卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)[1]、循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)[2]以及長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)[3]等進(jìn)行文本分類,都取得了比傳統(tǒng)機(jī)器學(xué)習(xí)模型更好的結(jié)果.
文獻(xiàn)[4]中,作者使用深度學(xué)習(xí)模型對(duì)新聞文本進(jìn)行分類.采用的模型包括BPNN 模型,BiLSTM 模型,TextCNN 模型和BiLSTM+TextCNN 模型,除了BPNN 模型之外,其他模型的F1 值均超過0.9,取得了較好的分類效果[4].這些模型取得的分類成果,足以說明將深度學(xué)習(xí)模型應(yīng)用于文本分類,是一個(gè)不錯(cuò)的選擇.
Attention 機(jī)制模擬人類注意力機(jī)制,對(duì)信息中的關(guān)鍵部分進(jìn)行著重關(guān)注,最早在計(jì)算機(jī)視覺領(lǐng)域被提出.2014年,Google Mind 團(tuán)隊(duì)發(fā)表的論文《Recurrent Models of Visual Attention》真正讓Attention 機(jī)制大火.作者在RNN 模型中引入Attention 機(jī)制進(jìn)行圖像分類,取得了良好的分類效果[5].2015年,Bahdanau 等在文獻(xiàn)《Neural Machine Translation by Jointly Learning to Align and Translate》中將Attention 機(jī)制引入機(jī)器翻譯中,這是Attention 機(jī)制首次在NLP 任務(wù)中應(yīng)用[6].隨后,Attention 機(jī)制被廣泛應(yīng)用于NLP的各個(gè)領(lǐng)域.文獻(xiàn)[7]中,作者在BiLSTM 模型中引入Attention 機(jī)制對(duì)招聘信息進(jìn)行分類,分類準(zhǔn)確率達(dá)到93.36%,與其他沒有引入Attention 機(jī)制的模型相比,提高約2%[7].可見,注意力機(jī)制在文本分類中有良好的作用[8].
本文主要針對(duì)電商數(shù)據(jù)的文本分類,分類過程中對(duì)上下文有較強(qiáng)依賴,同時(shí),某些關(guān)鍵詞對(duì)分類結(jié)果也有較強(qiáng)影響.BiLSTM 模型在對(duì)詞語進(jìn)行編碼時(shí),可以充分考慮上下文信息.Tf-idf值則可以衡量一個(gè)詞語對(duì)一個(gè)文檔的重要性,但忽略了文檔的類別信息[9,10].本文由逆文檔率idf的概念提出逆類別率icf,評(píng)估一個(gè)詞語對(duì)一個(gè)類別的重要性,并以此引入注意力機(jī)制.將此模型的實(shí)驗(yàn)結(jié)果與未引入注意力機(jī)制的模型和以其他方式引入注意力機(jī)制的模型的實(shí)驗(yàn)結(jié)果進(jìn)行對(duì)比,驗(yàn)證基于逆類別率的注意力機(jī)制在電商文本分類中的有效性.
本文的數(shù)據(jù)來源于第9 屆中國(guó)大學(xué)生服務(wù)外包創(chuàng)新創(chuàng)業(yè)大賽中企業(yè)方提供的真實(shí)的電商數(shù)據(jù),從全部數(shù)據(jù)集中取部分樣本,數(shù)量為156 788.一共有24 個(gè)類別,且每個(gè)類別的樣本數(shù)量分布不均衡.為了確保模型能夠充分學(xué)習(xí)到每個(gè)類別的特征,本文采用分層抽樣的方法,將數(shù)據(jù)集劃分為訓(xùn)練集和測(cè)試集,樣本比例為7:3,劃分后的數(shù)據(jù)集如圖1所示.對(duì)數(shù)據(jù)集使用jieba中文分詞工具進(jìn)行分詞處理,接著對(duì)分詞結(jié)果進(jìn)行停用詞過濾,停用詞表為哈工大停用詞表.
圖1 樣本數(shù)量分布
使用Word2Vec 開源工具的CBOW 模型訓(xùn)練詞向量,可以充分考慮到每個(gè)詞語的上下文信息,訓(xùn)練得到的詞向量維度為64.下文中提到的所有深度學(xué)習(xí)模型都將使用Word2Vec 訓(xùn)練得到的詞向量.
雙向長(zhǎng)短期記憶網(wǎng)絡(luò)(Bi-directional Long Short-Term Memory,BiLSTM)是一種時(shí)序循環(huán)神經(jīng)網(wǎng)絡(luò),是由前向長(zhǎng)短期記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)和反向長(zhǎng)短期記憶網(wǎng)絡(luò)(Long Short-Term Memory,LSTM)組成.LSTM的提出是為了解決循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)在長(zhǎng)距離訓(xùn)練過程中存在的梯度消失和梯度爆炸問題,因此LSTM 在結(jié)構(gòu)設(shè)計(jì)中引入了門控機(jī)制,包含3 種門:遺忘門、輸入門、輸出門.遺忘門決定上一時(shí)刻的細(xì)胞狀態(tài)有多少信息需要被遺忘,輸入門決定當(dāng)前時(shí)刻的輸入中有多少信息需要被添加,輸出門決定當(dāng)前的細(xì)胞狀態(tài)有多少信息需要被輸出.通過這3 種門控機(jī)制可以很容易解決RNN 在長(zhǎng)距離訓(xùn)練中存在的梯度消失和梯度爆炸的問題.
LSTM 模型的第1 步是通過遺忘門來計(jì)算ft,決定上一時(shí)刻的細(xì)胞狀態(tài)Ct-1中哪些信息需要被遺忘.具體實(shí)現(xiàn)方式是,將ht-1和xt連接,再通過遺忘門的權(quán)重矩陣Wf,最后再經(jīng)過Sigmoid 激活函數(shù)σ,得到一個(gè)0-1的值,值越小,表示上一時(shí)刻的細(xì)胞狀態(tài)Ct-1中需要遺忘的信息越多.
第2 步生成新的細(xì)胞狀態(tài)Ct.首先,與遺忘門的操作類似,將ht-1和xt連接,再通過輸入門的權(quán)重矩陣Wi,最后再經(jīng)過Sigmoid 激活函數(shù) σ,求得it來決定更新哪些信息.然后,將ht-1和xt連接,再通過權(quán)重矩陣WC,最后經(jīng)過tanh 激活函數(shù),得到新的細(xì)胞候選狀態(tài)C~t.最后,使用上一時(shí)刻的細(xì)胞狀態(tài)Ct-1和新的細(xì)胞候選狀態(tài)來生成新的細(xì)胞狀態(tài)Ct.
第3 步?jīng)Q定細(xì)胞狀態(tài)中哪些信息需要被輸出.首先,將ht-1和xt連接,再通過輸出門的權(quán)重矩陣Wo,最后再經(jīng)過Sigmoid 激活函數(shù) σ,得到輸出門的判斷條件ot.最后,將細(xì)胞狀態(tài)Ct經(jīng)過tanh 層將數(shù)值規(guī)范化,再與輸出門的判斷條件ot相乘,得到當(dāng)前時(shí)刻的輸出.
以上,就是LSTM 模型的一次流程,LSTM 可以編碼句子中從前到后的信息,但是無法編碼從后到前的信息.本文采用的BiLSTM 模型由前向LSTM 模型和后向LSTM 模型構(gòu)成,因此,既能編碼從前到后的信息同時(shí)又能編碼從后到前的信息,可以更好的捕捉雙向的語義依賴.
本文使用PyTorch 實(shí)現(xiàn)BiLSTM 模型,模型結(jié)構(gòu)如圖2.其中xi表示文本中第i個(gè)詞語對(duì)應(yīng)的詞向量,由Word2Vec 訓(xùn)練得到.經(jīng)過BiLSTM 模型后,取最后一個(gè)詞語的兩個(gè)隱藏層狀態(tài)進(jìn)行拼接得到向量h,再將向量h經(jīng)過Softmax 層求得樣本屬于每一個(gè)類別的概率.
圖2 BiLSTM 模型結(jié)構(gòu)圖
近年來注意力機(jī)制被廣泛應(yīng)用于深度學(xué)習(xí)的各個(gè)領(lǐng)域,都取得了良好的效果.其模擬人腦中的注意力分配機(jī)制,對(duì)信息中比較關(guān)鍵的部分進(jìn)行著重關(guān)注.本文以3 種方案對(duì)BiLSTM 模型添加注意力機(jī)制.
方案一.按照文獻(xiàn)[7]中的方式為BiLSTM 添加注意力機(jī)制,此模型為BiLSTM+Attention1 模型.計(jì)算過程如下:
其中,Ht是t時(shí)刻,前向LSTM和后向LSTM的隱藏層狀態(tài)的拼接而成.Wu,bu以及uw是模型需要學(xué)習(xí)的參數(shù).at為計(jì)算得到的權(quán)重值,表示t時(shí)刻的隱藏層狀態(tài)對(duì)文本分類的貢獻(xiàn)程度.
方案二.t f-id f值可以衡量一個(gè)詞語對(duì)一個(gè)文檔的重要性,計(jì)算文檔中每個(gè)詞語t f-id f值,將計(jì)算得到的t f-id f值經(jīng)過Softmax 函數(shù)得到一個(gè)文檔中每個(gè)詞語的權(quán)重,以此來添加注意力機(jī)制,此模型為BiLSTM+Attention2 模型.計(jì)算過程如下:
方案三.T f-id f值可以衡量一個(gè)詞語對(duì)一個(gè)文檔的重要性,但是忽略了一個(gè)詞語對(duì)于一類文檔的重要性.因此,在方案二的基礎(chǔ)上,提出逆類別率icf的概念,用來衡量一個(gè)詞語對(duì)一類文本的重要性,再經(jīng)過Softmax 函數(shù)計(jì)算一個(gè)文檔中每個(gè)詞語的權(quán)重,并以此來添加注意力機(jī)制,此模型為BiLSTM+Attention3模型.計(jì)算過程如下:
其中,w1和w2為模型參數(shù),本文中,將w1值設(shè)為0.001,w2的值設(shè)為1.2 時(shí),模型的分類效果最優(yōu).
本文共有4 組對(duì)照實(shí)驗(yàn),訓(xùn)練次數(shù)均為15 次,學(xué)習(xí)率為0.001.模型分別為BiLSTM 模型,BiLSTM+Attention1 模型,BiLSTM+Attention2 模型,BiLSTM+Attention3 模型,實(shí)驗(yàn)結(jié)果分別見表1至表4.精確率(Precision),召回率(Recall),F1 值(F1-score)的加權(quán)平均值對(duì)比如圖3所示.加權(quán)平均值可以很好的反映模型在測(cè)試集上的分類效果.4 個(gè)模型在每個(gè)類別上的預(yù)測(cè)準(zhǔn)確率如圖4所示.
4類模型分類的準(zhǔn)確率均超過90%.BiLSTM+Attention2 模型和BiLSTM+Attention3 模型均比BiLSTM 模型的分類效果更好,BiLSTM+Attention1 模型的分類效果最差.BiLSTM+Attention3 模型在Precision,Recall 以及F1-score 值上均是最大的,是4 類模型中最優(yōu)的,但分類準(zhǔn)確率的提升并不大.
表1 BiLSTM 分類結(jié)果
表2 BiLSTM+Attention1 分類結(jié)果
表3 BiLSTM+Attention2 分類結(jié)果
圖3 4 種方法分類效果對(duì)比
取潮流女包類和奢侈品類各5 條數(shù)據(jù)進(jìn)行比較,如表5所示.兩個(gè)類別樣本的相關(guān)性比較高,甚至存在包含關(guān)系,如:潮流女包屬于奢侈品.類似關(guān)系的還有:童書與中小學(xué)教輔,男裝與戶外鞋服,茶具/咖啡具與水具酒具,內(nèi)衣與媽媽專區(qū)等.Attention 機(jī)制為文本中的關(guān)鍵詞分配更多的權(quán)重,當(dāng)文本比較相近時(shí),Attention機(jī)制起到的效果會(huì)有折扣.
表4 BiLSTM+Attention3 分類結(jié)果
表5 類別數(shù)據(jù)對(duì)比
逆類別率icf可以評(píng)估一個(gè)詞語對(duì)一個(gè)類別的重要性,基于逆類別率icf引入注意力機(jī)制的BiLSTM+Attention3 模型,在4 類模型中分類效果最好,F1 值最大,在電商數(shù)據(jù)分類問題上表現(xiàn)相對(duì)最好.但文章仍然存在不足,逆類別率icf并沒有考慮詞語的位置信息,詞語的位置信息對(duì)于文檔的語義有一定影響,將在后續(xù)的研究中不斷完善.
圖4 4 類模型在24 個(gè)類別上的預(yù)測(cè)準(zhǔn)確率