朱安東 石文玉
安徽新華學(xué)院大數(shù)據(jù)與人工智能學(xué)院 安徽合肥 230087
隨著信息技術(shù)的飛速發(fā)展,移動互聯(lián)網(wǎng)滲透到人們生活的方方面面,諸如京東等電商平臺蓬勃發(fā)展,商品的種類越來越豐富,數(shù)量也越來越多。隨著數(shù)字化時代的發(fā)展,各大電商平臺也處于日益激烈的競爭中,如何在用戶瀏覽網(wǎng)絡(luò)頁面時,提供一些有效信息,提升用戶使用感是各大電商平臺面對的一個重難點問題。面對大數(shù)據(jù)時代下大量的商品信息,如何對商品進行有效的分類是研究的熱點問題之一。日益增長的商品種類和數(shù)量使得商家進行商品分類也越來越難,但若對商品進行了錯誤的分類或者未進行分類,都會導(dǎo)致客戶無法快速查找到想要購買的商品,降低成交量,久而久之商家平臺會被淘汰。傳統(tǒng)的人工分類方法成本高、效率低且易出錯等問題已經(jīng)無法適應(yīng)當(dāng)下社會發(fā)展的趨勢。隨著大數(shù)據(jù)和人工智能技術(shù)的發(fā)展,依托于計算機數(shù)據(jù)處理及分類技術(shù)設(shè)計出一種快速、準(zhǔn)確的分類方法,將大量雜亂的文本信息利用算法進行自動分類,其方法可以有效地降低人工成本,提高效率和準(zhǔn)確率,從而滿足信息技術(shù)發(fā)展的各項需求。
從網(wǎng)絡(luò)中獲取的數(shù)據(jù)大多含有大量的噪聲、比較粗糙,不能夠直接用于計算機的文本分類使用,如直接使用將會耗費大量的訓(xùn)練和預(yù)測時間,也會影響到分類模型的性能。因此需要通過數(shù)據(jù)預(yù)處理技術(shù),對相應(yīng)文本進行清洗、分詞、去除停用詞等操作后才能使用。
對網(wǎng)絡(luò)上獲取的數(shù)據(jù)進行清洗,是提高系統(tǒng)使用數(shù)據(jù)質(zhì)量的關(guān)鍵一步,需要較長時間操作。對文本進行數(shù)據(jù)清洗主要包括處理缺失值、冗余值和噪音[1],對于其兩者的操作可以通過條件判斷后直接刪除整條數(shù)據(jù)。網(wǎng)絡(luò)文本中的噪聲處理主要包括將文本中的HTML符號、數(shù)字、換行等用空白替代,對URL或一些與語義無關(guān)的解釋性語句用正則表達式將其過濾。常用的正則表達式匹配規(guī)則如表1所示。
表1 常用的正則表達式匹配規(guī)則
中文在書寫時沒有使用分隔符將詞進行分割,但是語言中的最小文字單位是詞,因此為了便于對文本的語義進行理解,算法模型需要進行中文的分詞預(yù)處理。在深度學(xué)習(xí)算法中,通過神經(jīng)網(wǎng)絡(luò)對文本特征進行自動提取,近年來越來越多的神經(jīng)網(wǎng)絡(luò)模型,如卷積神經(jīng)網(wǎng)絡(luò)、長短期記憶網(wǎng)絡(luò)等被用于中文分詞中。目前,在中文分詞領(lǐng)域中開發(fā)出了一些性能較好的開源工具,如NIPIR分詞系統(tǒng)、Jieba分詞工具等。在本文中選用了Python的中文分詞組件Jieba進行中文分詞處理,其分詞模式包括三種,如表2所示。
表2 Jieba分詞模式
循環(huán)卷積神經(jīng)網(wǎng)絡(luò)(Recurrent Convolutional Neural Networks,RCNN)結(jié)合了卷積神經(jīng)網(wǎng)絡(luò)(CNN)[2]和循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)[3]的優(yōu)點。卷積神經(jīng)網(wǎng)絡(luò)包括輸入層、卷積層、池化層與全連接層,如圖1所示。循環(huán)神經(jīng)網(wǎng)絡(luò)使用循環(huán)的操作把上一時刻的隱藏狀態(tài)與當(dāng)前時刻的序列輸入當(dāng)成此時的輸入,從而更好地表達文本的上下文語義信息,如圖2所示。而循環(huán)卷積神經(jīng)網(wǎng)絡(luò)中,循環(huán)卷積層代替了卷積層,從輸入層中提取目標(biāo)對象后使用變化的循環(huán)神經(jīng)網(wǎng)絡(luò)進行處理,從而進行特征的抽象提取。圖3給出了以“新款女春裝長針織衫”為例的循環(huán)卷積神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)圖。從模型結(jié)構(gòu)中來看,RCNN使用了CNN的最大池化層和RNN的循環(huán)結(jié)構(gòu)的優(yōu)點,減少了噪聲并且提出了文本中的特征信息。
圖3 循環(huán)卷積神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)
本文對商品標(biāo)題進行特征提取時使用循環(huán)卷積神經(jīng)網(wǎng)絡(luò)的方法,首先在學(xué)習(xí)文本特征時將循環(huán)結(jié)構(gòu)作為卷積層,得到詞表示后進行最大池化處理,從而得到文本的向量表示,最后從輸出層獲得文本表示,如圖4表示。
圖4 本文模型
考慮到現(xiàn)在的網(wǎng)絡(luò)平臺為了能使商品被更多的用戶搜索到,商家會為商品添加較長、較多的商品信息標(biāo)簽,用戶在搜索商品時也會將自己的詳細需求寫入商品信息中,而中文中的詞不是孤立的,詞和詞之間的關(guān)聯(lián)往往也會和詞的含義有關(guān),因此本模型中采用雙向長短時記憶網(wǎng)絡(luò)(BLSTM)[4]來學(xué)習(xí)詞的上下文表示。其中包括左上下文信息和右上下文信息。
本模型中使用卷積神經(jīng)網(wǎng)絡(luò)模型的方法,將學(xué)習(xí)到的所有詞的表示統(tǒng)一進行最大池化的方式進行處理[5],該方法能夠充分利用詞的特征,減少文本噪聲,從而使得獲取的文本表示能夠更大程度地作為文本的重要特征。
在獲得文檔表示后,像傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)模型一樣,本模型使用全連接作為模型的輸出層,最后通過概率函數(shù)來統(tǒng)計輸出的文檔屬于哪一類的概率,從而計算模型的性能。
本實驗是在本地計算機上進行的,具體的實驗環(huán)境詳情如表3所示。
表3 實驗環(huán)境
本文使用的商品信息數(shù)據(jù)為網(wǎng)絡(luò)開源數(shù)據(jù),共有11369條,其中測試集有7639條,訓(xùn)練集有3730條。
針對文本分類算法的性能指標(biāo)有很多種,如查準(zhǔn)率P(Precision)、召回率R(Recall)以及F1-measure等。這些指標(biāo)都和預(yù)測結(jié)果有關(guān),以實際類別為A為例,預(yù)測結(jié)果有四種,如表4所示。其中TP為樣本被正確預(yù)測到A類的數(shù)量,F(xiàn)N指不屬于A類的樣本被錯誤預(yù)測到A類的數(shù)量,TN為A類的樣本被錯誤預(yù)測為其他類的數(shù)量,F(xiàn)P為不屬于A類的樣本被正確地預(yù)測為其他類的數(shù)量。
表4 預(yù)測結(jié)果舉例
查準(zhǔn)率、召回率及F-measure(F值)的計算公式如下:
(1)
(2)
(3)
其中,α為調(diào)和查準(zhǔn)率和召回率的平衡值,在文本分類技術(shù)中通常另α=1,即為F1-measure,如式(4)所示:
(4)
本文選擇了深度學(xué)習(xí)模型中的CNN、RNN與RCNN對文本進行分類,并對上述三種算法的查準(zhǔn)率、召回率及F1-measure進行比較分析,實驗結(jié)果如表5所示。
表5 實驗結(jié)果對比
從實驗結(jié)果對比中可以看出,RCNN相比較于其他算法在查準(zhǔn)率、召回率和F1值三方面都有著較好的結(jié)果,實驗結(jié)果表明本文所采用的模型能夠更好地對文本進行分類,從而提高文本分類的性能。
在前面工作的基礎(chǔ)上,本文設(shè)計并實現(xiàn)了一個商品分類的可視化系統(tǒng)。本文中將使用Eclipse軟件作為開發(fā)軟件來編寫代碼,系統(tǒng)采用B/S架構(gòu)、HTML、CSS等技術(shù)來編輯網(wǎng)頁,把MySQL數(shù)據(jù)庫和動態(tài)交互網(wǎng)頁相連。系統(tǒng)功能模塊如圖5所示。
圖5 系統(tǒng)功能模塊
本文采用RCNN模型對商品信息進行分類,分類結(jié)果表明,相對于CNN和RNN,該模型具有較好的性能指標(biāo),此外通過相關(guān)技術(shù)實現(xiàn)了可視化系統(tǒng)界面設(shè)計。