當前位置:網(wǎng)站首頁(yè) > 新聞資訊
為了讓垃圾回收機變得更加智能,對用戶(hù)提出的生活垃圾歸屬問(wèn)題給予快速準確的回答,提出了構建垃圾分類(lèi)自動(dòng)問(wèn)答系統方法。利用垃圾分類(lèi)問(wèn)答語(yǔ)料庫,基于文本分類(lèi),使用Word2Vec詞向量和CNN卷積神經(jīng)網(wǎng)絡(luò )訓練出自動(dòng)問(wèn)答模型。同時(shí)與傳統機器學(xué)習方法進(jìn)行了對比分析。
作者簡(jiǎn)介: 陽(yáng)國華,上?;ボ浶畔⒖萍加邢薰?高級信息系統項目管理師,在職研究生,研究方向:人工智能。;
收稿日期:2020-05-19
基金: 上海市中小企業(yè)科技創(chuàng )新課題項目;
In order to make the garbage collector more intelligent and give a quick and accurate answer to the user's question of household garbage ownership,this paper proposes a method to build an automatic garbage classification question answering system.Based on text classification,an automatic question answering model is trained by using Word2Vec word vector and CNN convolution neural network.At the same time,it is compared with the traditional machine learning method.
intelligent garbage collector; automatic question answering system; text classification; convolutional neural network; machine learning;
Received: 2020-05-19
上海市制定的垃圾分類(lèi)標準,由于每種類(lèi)別所包含的垃圾種類(lèi)繁多,對于常見(jiàn)的垃圾人們可以很容易辨別所屬類(lèi)別,但是對于平時(shí)不常見(jiàn)的垃圾就很難辨別了,因此出現了“你是什么垃圾”現象。
目前進(jìn)駐在各城市各小區的智能垃圾回收機還沒(méi)有提供幫用戶(hù)回答垃圾類(lèi)別的功能,使得用戶(hù)在投遞垃圾時(shí)要事先確定好垃圾類(lèi)別時(shí)才能投遞,這樣不僅影響了用戶(hù)體驗,而且對于有些老人小孩沒(méi)有這方面認識的人群相當不友好。因此為了讓當前智能垃圾回收機變得更加智能,能夠對用戶(hù)提出的生活垃圾歸屬問(wèn)題給予快速準確的回答,以便用戶(hù)準確分類(lèi)投遞,本文提出了構建垃圾分類(lèi)自動(dòng)問(wèn)答系統方法。該方法首先通過(guò)網(wǎng)上搜集與人工擴充方式建立“垃圾類(lèi)別提問(wèn)(自然語(yǔ)言方式提問(wèn))—垃圾所屬類(lèi)別”二元組問(wèn)答對語(yǔ)料庫,在對語(yǔ)料庫進(jìn)行去噪、分詞、去停用詞后,利用Word2Vec詞向量將問(wèn)句向量化,之后利用CNN卷積神經(jīng)網(wǎng)絡(luò )對預處理后的語(yǔ)料庫進(jìn)行文本分類(lèi),終訓練出自動(dòng)問(wèn)答模型
本文所提出的智能垃圾回收機自動(dòng)問(wèn)答系統總體架構如圖1所示。主要包括智能垃圾回收機和自動(dòng)問(wèn)答系統服務(wù)兩大塊,其中智能垃圾回收機主要在原有功能基礎上增加了語(yǔ)音處理功能,以便對用戶(hù)的提問(wèn)進(jìn)行采集與回答。用戶(hù)的提問(wèn)通過(guò)智能垃圾回收機的語(yǔ)音采集設備輸入,然后語(yǔ)音識別模塊將用戶(hù)提問(wèn)的語(yǔ)音信號轉換為自然語(yǔ)言,通過(guò)4G模塊將問(wèn)題上傳到自動(dòng)問(wèn)答系統服務(wù)中,問(wèn)答系統中訓練好的預測模塊接收問(wèn)題輸入后給出答案,后通過(guò)語(yǔ)音合成模塊將問(wèn)答系統給出的自然語(yǔ)言答案轉換成語(yǔ)音信號并輸出。此外問(wèn)答系統服務(wù)中還提供了模型更新的功能,通過(guò)管理系統,后臺管理人員可以將新的語(yǔ)料增加到語(yǔ)料庫中,離線(xiàn)學(xué)習模塊在接收到語(yǔ)料庫更新的提示后會(huì )自動(dòng)進(jìn)行離線(xiàn)學(xué)習,然后將離線(xiàn)學(xué)習后生成的模型更新到預測模塊中,實(shí)現了模型的升級迭代。
自動(dòng)問(wèn)答是自然語(yǔ)言處理領(lǐng)域研究熱點(diǎn)之一,也是人工智能和人機交互的核心研究領(lǐng)域。近年來(lái),自動(dòng)問(wèn)答系統快速進(jìn)步并影響著(zhù)社會(huì )發(fā)展的眾多領(lǐng)域
本文提出的垃圾分類(lèi)問(wèn)答系統只對用戶(hù)提出垃圾所屬類(lèi)別進(jìn)行回答,因此可以歸結為限定領(lǐng)域問(wèn)答系統。用戶(hù)提問(wèn)垃圾所屬類(lèi)別時(shí),系統會(huì )把四種(可回收垃圾、有害垃圾、干垃圾、濕垃圾)垃圾類(lèi)別中的對應的一種返回給用戶(hù),因而從這個(gè)問(wèn)答場(chǎng)景中可以把本文自動(dòng)問(wèn)答系統簡(jiǎn)化為文本分類(lèi)問(wèn)題。因此本文問(wèn)答系統的核心是建立垃圾問(wèn)答對語(yǔ)料庫并對語(yǔ)料進(jìn)行文本分類(lèi)。
文本分類(lèi)是自然語(yǔ)言中重要的處理手段,其算法很多,有基于傳統機器學(xué)習的方法,包括常用的支持向量機算法(Support Vector Machine,SVM)、樸素貝葉斯算法(Naive Bayesian Classifier,NBC)、決策樹(shù)算法(Decision Tree,DT)、K-近鄰算法(K-Nearest Neighbor,KNN)等
為了保證自動(dòng)問(wèn)答系統的準確性,本文即采用CNN卷積神經(jīng)網(wǎng)絡(luò )進(jìn)行文本分類(lèi),文本分類(lèi)流程圖如圖2所示。
語(yǔ)料獲取采用網(wǎng)上獲取和人工擴充方式,人工擴充根據上海市垃圾分類(lèi)標準進(jìn)行。終構建的問(wèn)答對語(yǔ)料有12000條,部分語(yǔ)料如表1所示。
表1 部分語(yǔ)料問(wèn)答對 下載原表
文本預處理在文本分類(lèi)中起到非常重要的作用,文本預處理的好壞直接影響到后續模型訓練的精度。文本預處理主要工作是先通過(guò)正則匹配剔除一些無(wú)用的字符,并統一數據文本編碼方式為utf-8,然后采用jieba分詞工具對中文問(wèn)句進(jìn)行分詞,以“請問(wèn)豬肉是什么垃圾呢”為例,分詞結果為“請問(wèn)/豬肉/是/什么/垃圾/呢”,分詞結束后續需要去除一些停用詞,比如一些常見(jiàn)的助詞、語(yǔ)氣詞,以“請問(wèn)豬肉是什么垃圾呢”為例,經(jīng)分詞和去停用詞后句子變?yōu)椤罢垎?wèn)/豬肉/是/什么/垃圾”。
預處理后的文本需要向量化表示才能輸入到卷積神經(jīng)網(wǎng)絡(luò )進(jìn)行訓練。將文本進(jìn)行向量化表示的方法主要有兩種,一種是詞袋模型,另一種是Word2Vec詞向量模型。與詞袋模型相比,Word2Vec詞向量模型更能夠表達句子語(yǔ)意信息
Word2Vec是google公司提供的的詞向量訓練工具,能夠從大量未經(jīng)過(guò)標注的語(yǔ)料中生成詞的向量表示形式,并提供了CBOW(continuous bag of words)和Skip-gram(Continuous Skip-gram Model)兩種訓練模型
其中,C為語(yǔ)料庫中所有詞語(yǔ),k為wt上下文窗口大小。CBOW模型和Skip-gram模型包括輸入、映射和輸出三層,其架構圖如圖3所示。本文采用Word2Vec作為訓練工具,用Skip-gram模型對訓練數據進(jìn)行訓練,得到訓練數據中每個(gè)詞的詞向量。
本文所構建的卷積神經(jīng)網(wǎng)絡(luò )文本分類(lèi)模型包括詞向量輸入層、卷積層、池化層、全連接層、輸出層。輸入層是問(wèn)句中詞的詞向量矩陣。問(wèn)句被分詞后,產(chǎn)生n個(gè)詞語(yǔ)且詞向量維度是d,則輸入矩陣的大小為n×d。
卷積層采用不同維度的卷積核對輸入層進(jìn)行卷積操作,卷積本質(zhì)上是對輸入矩陣的加權疊加,它是卷積內核的不同大小的文本體積h×d (h是卷積內核窗口中包含的詞語(yǔ)個(gè)數,d代表每個(gè)詞語(yǔ)的向量維度)。實(shí)驗卷積核設計為三種尺寸,即2×d,3×d,4×d,CNN卷積運算公式如式(3)所示。
其中,ci表示卷積運算的終結果,即輸出矩陣和卷積核的點(diǎn)乘以及偏移后的激活輸出。h是窗口大小,Xi:i+h-1是輸入的i到i+h-1窗口中的字向量矩陣,W1是卷積核或權重矩陣,b1是偏移量,f是激活函數。在通過(guò)卷積獲得特征之后提取特征以簡(jiǎn)化網(wǎng)絡(luò )的計算復雜性,在池化層處壓縮特征。
池化層操作通常有兩種類(lèi)型:平均值池化和大值池化。文本分類(lèi)通常使用大值池來(lái)選擇重要的信息。池化操作如式(4)。
其中:是大合并操作的結果,并且ci(i=1,2,……,n-h+1)是卷積操作的結果。
全連接層接收來(lái)自將池化層的輸入,并通過(guò)Softmax函數執行分類(lèi)計算操作。分類(lèi)計算如式(5)。
exp表示以e為基數的指數函數,ρ是評估參數,該值由小成本函數J(ρ)估計。如式(6)。
輸出層,上述函數的返回值是C分量的概率值,并且每個(gè)分量對應于輸出類(lèi)別的概率,從而劃分文本的類(lèi)型信息并完成分類(lèi)。終所構建的卷積神經(jīng)網(wǎng)絡(luò )文本分類(lèi)模型如圖4所示。
本文收集的數據集有12000條,其中四種垃圾類(lèi)別的分布如圖5所示。為了保證模型驗證的準確性,采用十折交叉驗證,將數據集分成十份,輪流將其中9份作為訓練數據,1份作為測試數據,進(jìn)行試驗。
本文實(shí)驗環(huán)境配置如表2所示,CNN模型中的參數主要有sequence_len句子長(cháng)度、num_classes分類(lèi)數目、embedding_size詞向量維度、filter_sizes卷積核維度、num_filters每個(gè)不同維度的卷積核數目、l2_reg_lambda正則化權值和drop_out參數。這些參數設置如表3所示。
表2 實(shí)驗環(huán)境配置 下載原表
表3 CNN模型參數設置 下載原表
訓練過(guò)程中,模型在訓練集和測試集上的準確率隨訓練的輪次變化曲線(xiàn)如圖6所示。
從圖6中可以看出,經(jīng)過(guò)多輪迭代訓練后,模型在訓練集和測試集上均表現出良好的收斂效果。從模型在訓練集上的表現來(lái)看,當訓練輪次數超過(guò)3次時(shí),模型的分類(lèi)精度達到90%,當訓練輪次超過(guò)8次時(shí),模型分類(lèi)精度達到了95%,在后續的迭代中模型精度基本上維持在95%左右;從模型在測試集上的表現來(lái)看,當訓練輪次超過(guò)3次是,模型的分類(lèi)精度達到82%,當訓練輪次超過(guò)8次時(shí),模型分類(lèi)精度達到了88%,后續模型精度基本上維持在88%左右。同時(shí)也可以很明顯的發(fā)現模型在測試集上的準確率明顯要小于訓練集上的準確率,在引入正則化參數以及dropout參數后依然沒(méi)有使模型在測試集上的準確率有所提高,原因可能是本文所構建的語(yǔ)料數據量不足。為了測試模型的有效性,本文選擇了目前文本分類(lèi)中應用比較廣泛的傳統機器學(xué)習方法作為Baseline模型進(jìn)行比較。比較模型包括樸素貝葉斯、決策樹(shù)、k-近鄰、支持向量機。表4展示了各模型在測試數據集下的準確率。
表4 模型對比結果 下載原表
實(shí)驗結果4種傳統機器學(xué)習分類(lèi)方法中支持向量機SVM準確率高達到79.5%,而本文所采用的CNN卷積神經(jīng)網(wǎng)絡(luò )算法準確率達到了88.6%,可以看出基于深度學(xué)習卷積神經(jīng)網(wǎng)絡(luò )算法文本分類(lèi)效果明顯優(yōu)于傳統機器學(xué)習算法。
針對目前上海市實(shí)行的垃圾分類(lèi)標準,以及現有的智能垃圾回收機沒(méi)有提供垃圾所屬類(lèi)別問(wèn)答功能,進(jìn)而給用戶(hù)的垃圾分類(lèi)帶來(lái)一定的困擾,本文提出了構建垃圾分類(lèi)自動(dòng)問(wèn)答系統方法。利用CNN卷積神經(jīng)網(wǎng)絡(luò )對垃圾問(wèn)答語(yǔ)料庫進(jìn)行文本分類(lèi),并與傳統機器學(xué)習方法進(jìn)行了對比分析,實(shí)驗表明該方法有效地提升垃圾回收機的智能化程度,對用戶(hù)的提問(wèn)具有較高的準確率。后續可以嘗試其他深度學(xué)習算法,亦可將傳統機器學(xué)習和深度學(xué)習進(jìn)行算法融合,進(jìn)一步提高模型的準確率。
地址:青島市西海岸新區海濱工業(yè)園香海路168號
手機:13806390681 服務(wù)熱線(xiàn):0532-86131102
郵箱:qdhengchangkeji@163.com
魯ICP備18013584號