劉逸琛
(重慶工程學院,重慶 400000)
隨著電商銷售模式在各大網絡平臺的不斷擴張,越來越多的商家和個人借助電商平臺開設網店,導致海量商品信息的涌入。面對著如此眾多的商品信息,用戶如何根據簡單的類別選出自己心儀的商品成為了難題,通過將智能商品分類集成進電商平臺的方式可以有效解決此問題。
商品分類主要是通過各種商品信息對商品所屬類別進行區分。商品信息中通常會包含圖像和文本兩種可用數據,由于圖像數據存在大小不同、識別難度大以及泛化性較差等問題,本研究主要采取包含大量商品屬性和特征信息的商品標題文本數據進行分類。
商品標題文本分類屬于文本分類,當前主要的研究場景包括情感分類、新聞分類等,少有針對商品標題文本的進行相關研究。傳統的基于卷積神經網絡和循環神經網絡的方法在文本分類任務上取得了一定的效果,但無法針對商品標題文本字符數量少、文本長度跨度大和不遵循語法結構等特點[1]進行處理。因此,本文為彌補樣本不均衡問題,基于變分自編碼器提出了一種結合卷積神經網絡的方法,對于商品進行分類,并在開放數據集上評估了我們的模型,證實了我們提出的模型優于基線方法。
本文主要貢獻如下:(1)提出了一種可以有效對于商品標題文本進行分類的算法;(2)使用變分自編碼器重構樣本空間,彌補樣本不均衡的相關問題。
商品文本標題的自動分類任務通常可以視為短文本分類任務,可以描述為將短文本數據根據特征劃分為n個類別中的一個或多個。目前大部分針對商品的相關研究都集中在對于評論文本進行情感、情緒和評分的分類,傾向于研究評論短文本對消費者、企業的意義和價值,少有針對商品本身進行分類的研究。
早期對于短文本分類多用基于統計學方法的特征工程提取基礎特征,通過簡單分類方法對文本數據進行分類。Maron[2]設定規范提取文本中的關鍵信息,通過統計關鍵信息在不同類別中的頻次對短文本數據進行分類。Michael[3]通過建立大規模的正則匹配原則,通過不同的關鍵詞的頻次等信息完成了對于文本數據的劃分。
隨著機器學習方法的發展和計算機性能的提升,不少研究學者開始將機器學習的方法引入文本分類任務。Jillian[4]首次提出將特征工程得到的每個詞語的特征通過矢量進行表示,在特征空間中用聚類的方法實現了對于法律文本數據的分類。Thorsten[5]提出使用經典的機器學習算法對文本數據進行分類,例如樸素貝葉斯、支持向量機、K近鄰等算法,并通過實驗證實支持向量機算法能夠保持較強的泛化能力,在文本分類任務上取得了最優的性能。Danesh[6]等通過使用SVM、AdaBoost等算法對垃圾郵件進行分類,證明了經典機器學習在長文本分類方面的有效性。盡管機器學習方法在文本分類任務中已經取得較好的性能,但由于參數規模較小、規則性較強的特點,當面臨類別多、數量大的數據時仍會出現泛化能力弱等問題。
由于深度學習方法擁有較大的參數量,能夠從海量數據中提取出豐富的特征,因此,更多的研究者開始采用深度學習的方式對文本數據進行分類。Zhang[7]等首次將深度學習模型引入文本分類任務中,使用深度神經網絡構建分類模型,提出BP-MLL模型,通過在多標簽數據集上的試驗驗證了深度學習方法在該任務上的有效性。Liu[8]等提出了三種基于遞歸神經網絡的模型,用于對文本序列數據進行分類。Ashish[9]等在研究中提出注意力機制以及基于注意力機制的Transformer模型,能夠有效地彌補卷積神經網絡和循環神經網絡中的不足之處,隨后Chang[10]等提出了基于上述模型的X-Transformer模型,用于解決文本分類中大輸出空間和標簽稀疏問題。
變分自編碼器常常被用作生成樣本數據,在語音、圖像等方面運用較多,但較少運用于自然語言任務中。同傳統的使用統計學計算分布的方式不同,變分自編碼器從變分和貝葉斯理論出發,使用神經網絡生成均值和方差,通過對于采樣得到數據同原數據間差異的不斷優化,得到生成效果較好的模型。
變分自編碼器的結構可以被視作編碼器—解碼器結構,其構造如圖1所示。

圖1 變分自編碼器構造圖
其具體工作原理如下:
設定輸入的真實樣本為X={x1,x2,…,xn},變分自編碼器假設給每一個xk設定一個其專屬的后驗分布P(Z|xk),該分布以高斯分布的形式呈現,通過不斷優化網絡結構使得其同真實分布不斷接近,以得到能夠生成近似真實分布的模型。
可以將此過程定義為:

其中μ和σ分別代表高斯分布中的均值和方差。在變分自編碼器中,均值和方差都是通過編碼器模塊生成,該模塊可使用任意深度學習模型,在原始的變分自編碼器中,該模塊使用簡單的線性層實現。
在普通的自編碼器中,生成的數據是通過對隱向量進行解碼直接生成,但是在變分自編碼器中,隱向量是通過編碼器生成的參數通過重新采樣得到,那么在生成的過程中,隱向量會受到分布生成的噪聲數據的干擾,也會直接影響到生成器模塊生成數據的多樣性和真實性。變分自編碼器是通過最小化真實樣本X和生成數據-X的樣本誤差D(x'k-xk)2對模型進行訓練,在訓練的過程中,模型通過訓練參數使得高斯分布中更少地生成噪聲信息,也就是使方差σ趨近于0。但是當方差趨近于0后,模型將會退化為一個基礎的自編碼器而喪失生成的多樣性。為了避免這種情況的發生,變分自編碼器強制規定后驗分布P(Z|xk)趨近于高斯分布,通過這樣的方式建立了一種在模型內部的對抗機制,使模型可以生成既真實,又不會喪失多樣性的樣本。我們將這個動態平衡的過程表述為:

此時模型即可滿足先前的假設,即P(Z)趨近于高斯分布,實現從該分布中采樣隱向量Z以生成特征樣本。
以上過程中令專屬的后驗分布P(Z|xk)近似高斯分布的方法需要用到變分推斷[11]。變分推斷是變分法在具體問題上的運用,即通過一個分布Q(Z|X)近似后驗分布P(Z|X),當兩個分布近似程度較高時,即可使用此分布作為后驗分布的近似估計,此過程被稱作貝葉斯變分。用來衡量兩分布近似程度的工具可以使用KL散度,可以將其定義為:

其中,∫為積分求解運算符,Q(x)和P(x)分別為需要衡量的兩種分布。所以令后驗分布P(Z|xk)近似高斯分布的KL散度衡量表達式可以被表示為Jianlin[12]研究中推導的公式:

其中,d表示隱向量的向量維度,μi和σi代表高斯分布中均值和方差的第i個分量。
在變分自編碼器中通過上述過程抽象出兩個損失函數進行聯合訓練,一個是衡量原始樣本和生成樣本相似度的重建損失,另一種是衡量后驗分布P(Z|xk)同高斯分布近似程度的KL損失,可以將二者表示為:

其中λ表示兩個損失所占權重的比例系數。
本研究致力于針對商品標題文本數據中存在的樣本不均衡的問題進行處理,借鑒Weidi[13]等人在相關研究中提出的思想,提出一種基于變分自編碼器的商品文本數據分類算法。該算法通過使用變分自編碼器生成文本數據以近似原始樣本,對存在不均衡樣本的類別進行樣本空間的補全。
該模型分為三個模塊,分別是文本嵌入模塊、變分生成模塊和文本分類模塊,模型結構如圖2所示。

圖2 模型構造圖
其中,文本嵌入模塊通過詞嵌入的方式將輸入的商品標題文本數據映射為文本的向量表示;變分生成模塊通過使用一個編碼器模塊為線性層、解碼器模塊為卷積神經網絡的變分自編碼器,將文本向量表示生成為偽造嵌入向量表示;文本分類模塊使用多層多通道卷積神經網絡針對文本向量表示進行特征提取,后接全連接層,通過Softmax函數輸出該商品標題文本屬于每一種類別的概率矩陣。
設定經過文本嵌入模塊之后的真實樣本的嵌入表示為X={x1,x2,…,xn},使用變分生成模塊生成的偽造嵌入向量表示為X'={x'1,x'2,…,x'n},真實的商品標題文本標簽序列為Y={y1,y2,…,yn},通 過 模 型 預 測 的 標 簽 序 列 為Y'={y'1,y'2,…,y'n}。優化方法通過雙損失函數進行聯合訓練,其中一個損失函數用來衡量模型是否能夠準確預測樣本類別的分類損失,如圖中的Classification Loss所示;另一個損失函數是用來衡量變分自編碼器生成偽造樣本真實性的變分自編碼器損失,包括真實樣本和生成數據的重建損失以及變分自編碼器本身衡量后驗分布同高斯分布相似性的KL損失,如圖中的Reconstruction Loss所示,其損失函數可以表示為:

其中μ表示雙損失函數所占權重的權重系數,LOSSVAE為上文中提到的變分自編碼器損失。
本研究使用了浪潮集團有限公司提供的電商平臺商品標題分類數據集[14]進行實驗,共有50萬條商品標題文本數據及標簽,分為30個一級類別,192個二級類別和1258個三級類別。實驗中按照類內隨機劃分的機制,將數據集劃分為訓練集和測試集,其中訓練集樣本35萬條,占樣本總數的70%,測試集樣本15萬條,占樣本總數的30%。
對于模型中的參數設置,其中部分參數因為實驗環境有限,依照最低要求對參數進行設置,例如每批次數量(batchsize)以及優化器,部分參數通過對數據集進行分析決定,實驗具體參數如表1所示。在評價指標方面,采用了準確率、召回率和F1測量值對模型分類能力進行分析。
實驗對商品標題文本數據的三級類別進行了分類預測。此外,為了驗證模型的有效性,本文還與兩種短文本分類的基線模型性能進行了實驗對比,分別為:
(1)CNN[15]:Joao等人首次將卷積神經網絡應用于自然語言文本分類工作。實驗中對引文中提出的模型進行復現,使用維度為(3,4,5)的三卷積核及512通道雙層卷積神經網絡,對詞嵌入后的文本數據進行特征提取,后接最大池化層進行關鍵特征選擇,最終使用Softmax函數輸出類別概率。
(2)BGRU+attention[16]:Xie等人使用循環神經網絡和注意力機制提升短文本分類性能,即對映射后的文本數據使用一個雙向門控循環網絡進行特征提取,并使用attention機制對特征進行增強。
不同算法對于三級商品類別分類結果如表2所示。

表1 實驗參數設置

表2 實驗參數設置
從表2中可以看出,基于變分自編碼器的商品標題文本分類模型對三級商品類別的分類精度、召回率和F1值分別能夠達到83.93%、47.1%、49%,均高于實驗中其他2種基線模型。通過實驗數據可以看出,添加了變分自編碼器結構的模型精度均高于原模型精度,其中使用了變分自編碼器的CNN+VAE模型相對于原始CNN模型在召回率(Recall)上有較為明顯的提升,佐證了提出的通過變分自編碼器對真實文本數據的重構,可以對樣本數量較少的類別進行樣本空間補全,以彌補樣本不均衡問題。另外,實驗中發現使用詞嵌入的卷積神經網絡模型準確率超過了BGRU+attention模型準確率,由此可見,在不遵循語法結構的短文本分類中,卷積神經網絡相對于循環神經網絡更有優勢。
針對商品文本分類任務中因為數據集樣本不均衡而存在的局限性,本文提出了一種基于變分自編碼器的商品標題文本分類模型。首先對當前模型中存在的問題進行了概述,其次對變分自編碼器相關算法進行了介紹,提出了一種用于彌補樣本不均衡問題的基于變分自編碼器的分類模型。
通過在電商平臺商品標題分類數據集的實驗中發現,使用基于變分自編碼器的分類算法能夠在準確度和召回率上進行較大提升,證明了提出的算法可以針對數據集樣本不均衡問題進行有效提升,從而取得更好的預測效果。
由于本研究受到研究條件所限,只使用了最基本的嵌入模型,近期有很多研究者提出了更加新穎的中文文本嵌入方式以及預訓練模型的嵌入方式,在未來的研究中,我們準備嘗試通過試驗加入更加豐富的嵌入模式,提出更為有效的分類算法。