王維虎,劉嘉成
(湖北工程學院 計算機與信息科學學院,湖北 孝感 432000)
隨著居民生活條件的不斷改善,我國居民所產生的生活垃圾數量也持續增長,在不少地區居民生活垃圾處理已經成為了一個難題。社區作為人們日常居住生活的聚集性區域,是生活垃圾產出的主要場所,也是進行生活垃圾分類的前端源頭[1]。垃圾分類投放也越來越成為人們生活中的一部分,實行垃圾分類也越來越受人們的關注[2]。
垃圾分類和處理設施是城市環境基礎設施的不可或缺的一部分,為推動生活垃圾分類制度的實施,實現垃圾減量化、資源化和無害化處理提供了必要的基礎支持,同時也是促進生態文明建設的重要支持。《“十三五”發展規劃綱要》(2016—2020年)中明確要求:“健全再生資源回收利用網絡,加強生活垃圾分類回收與再生資源回收的銜接”[3]。南京市十六屆人大常委會更是首次審議《南京市生活垃圾管理條例(草案)》,將生活垃圾管理條例納入立法程序[4]。
針對上述存在的問題,本文提出了一種決策樹模型,能夠客觀、快速地對居民對垃圾分類了解情況進行分析和評判。首先,本文以居民調查問卷方式為基礎,獲得被測居民垃圾分類語料數據,邀請環保專家,對獲取到的垃圾分類語料數據進行去噪與清洗,得到高質量垃圾分類語料庫;其次,從垃圾分類語料庫和專家背景知識分析,進一步選取有效的垃圾分類識別特征并優化處理;最后,構建基于Python的決策樹算法構建決策樹模型,進行文本識別和語音識別。通過該模型實現對居民對垃圾分類了解的情況快速地分析判斷,做到對居民們的及時分析和判斷,給出是否存在欠缺垃圾分類觀念問題。
根據研究目標和內容,基于文本語音混合模式的家庭生活垃圾分類框架圖,如圖1所示。該框架主要包括構建垃圾分類模型和垃圾分類測試兩個過程。在構建模型階段,分為3個步驟:1) 根據結合專家指導,制定居民垃圾分類情況健康問卷調查表,通過微信、QQ、電子郵件Email、小區內紙質調查表、垃圾分類測試系統等不同方式邀請居民們進行填寫,收集居民垃圾分類調查問卷數據,同時邀請環保專家對問卷數據進行人工分析和標記語料是否健康、分類、量化、去噪與清洗數據,構建得到高質量垃圾分類語料庫,將語料庫分為訓練數據與測試數據兩個部分;2) 根據環保專家和環境學專業知識結合,獲得的高質量垃圾分類語料庫,選取居民垃圾分類的數據的有效特征并優化;3) 在已構建的訓練語料庫和選取有效特征的基礎上,采用決策樹算法進行構建居民垃圾分類情況分析模型,得到基于決策樹算法的居民垃圾分類分析模型。在垃圾分類測試階段,將測試語料輸入到已構建的居民垃圾分類分析模型中,得到垃圾分類預測結果。

圖1 居民垃圾分類情況分析框架圖

圖2 決策樹算法垃圾分類分析模型圖
本文構建居民垃圾分類情況分析模型,主要包括居民垃圾分類語料庫的構建、特征選取、模型構建三個基本過程,下面詳細介紹。
語料庫質量的好壞對后續的分析與模型構建至關重要。本文結合環保專家指導,制定居民垃圾分類情況問卷調查表,通過網絡(微信、QQ、電子郵件Email和垃圾分類測試系統)或紙質(紙質調查表)等不同方式邀請居民(湖北某些小區)進行填寫,邀請環保專家對調查問卷數據進行分類、量化和人工標記語料判斷是否健康,形成規模為8400條語料庫;采用Python相關工具包對語料庫進行去噪聲和清洗處理,對數據標準化處理,得到高質量垃圾分類語料庫,并將該語料庫進行劃分為訓練語料和測試語料,數據以Excel、utf-8編碼格式進行存儲。隨著深度學習的發展和人工智能技術的不斷進步,由此催生了一系列針對語音識別技術的研究與開發[5]。
特征選取的質量直接決定機器學習模型性能的好壞。本文根據垃圾分類分析專家指導、常用重要評判的特征以及結合高質量垃圾分類語料庫選取有效特征,選取了居民垃圾分類分析的4個垃圾分類特征維度,分別是可回收垃圾(A)、廚余垃圾(B)、有害垃圾(C)、其他垃圾(D),并且這些特征維度之間相互獨立,在特征貢獻度實驗中,已經驗證4個特征維度線性非相關。
根據垃圾分類專家經驗和居民對垃圾分類了解維度,將每一個特征維度的取值分別進行等級量化處理,分別轉化為明確了解、較了解、有點印象和完全不了解四個不同等級,如表1所示。

表1 居民垃圾分類了解情況的等級量化
2.3.1 決策樹 ID3 算法
已有的數據集以 7:3 或 8:2 比例進行劃分成測試集和訓練集,測試集用于測試模型的準確率,訓練集是用于模型訓練。首先,計算出訓練數據集的信息增益(或基尼指數) 最大的特征來建立決策樹的當前節點,不斷遞歸計算,建立垃圾分類的決策樹模型;然 后,將測試集數據用以模型測試,得出準確率,再根據準確率進行決策樹的“剪枝”,最 后得到最合適的垃圾分類決策樹的模型。
對于一個給定的數據集,具體計算方法如下:
設訓練集為D, D的樣本個數為N ,D的數據有m個分類,分別為C1,C2,C3…,Cm,分類Cm的數據個數為|Cm|,那么D的信息熵為,如公式(1)所示。
(1)
設任一個特征的n個不同取值,記為Dn。根據特征的n個取值將D劃分的n個子集為D1,D2,D3…,Dn。對于任意的子集Di∈{a1,a2,a3,…,an},設Di的樣本個數為Ni,Di中屬于類Ci∈{C1,C2,C3,…,Cm}的樣本個數為|Ci|,那么特征 A對數據集的條件熵為,如公式(2)所示。
(2)
那么,特征 A 對數據集 D 的信息增益,如公式(3)所示。
G(D,A)=H(D)-H(D|A)
(3)
2.3.2 決策樹模型
決策樹是基于樹狀結構來進行決策的,一般地,一棵決策樹包含一個根節點、若干個內部節點和若干個葉節點。
2.3.3 基于Python的語音識別成文本的方法
在使用Python進行語音識別時,一些部分通過使用第三方庫來實現,因此開發人員很容易就可以得到不錯的效果。主要過程有庫函數的使用、顯著特征值的收集、模型的構建,最后來實現文本語音混合模式。
1)顯著特征值的收集。本文應用MFCC為語音的顯著特征值的指標。最先要收取多人讀同一內容文件的語音來進行語音采樣,這些實驗的結果形成文本語音混合的測試集和訓練集,并存放為wav文件。原有的手段取得的MFCC屬性是相對繁瑣復雜,在Python中用于第三方庫函數能夠更為易于的獲取到MFCC變化。該變量的值會將從交互入中得的MFCC原理以離散高、低,數值的正負數的數組的模式存放在文件系統中。
2)語音深度學習(DDN)模型建立。深度學習使用多層隱層節點,較淺層學習擁有更多的優勢,深度學習成為研究機器學習的熱點問題[6]。將得到的MFCC作為特征向量進行訓練,進而得到訓練文件。在神經網絡的輸入層,數據被傳遞,而在卷積層中,利用卷積核進行特征提取和特征映射。在激勵層中,考慮到卷積操作本身是一種線性運算,于是需要引入非線性映射,也就是激活函數,以增加網絡的表達能力。接著,在池化層進行下采樣,以對特征圖進行稀疏化處理,減少數據的計算量。Flatten操作的目的是將原始的二維特征圖張量轉化為一維向量的形式,以便將其傳遞給隨后的全連接層進行處理[7]。最后,在CNN的尾部的全連接層進行重新調整,以最小化特征信息的損失。
3)語音識別。首先,對于獲得的MFCC特征和神經網絡模型,在語音識別領域,MFCC是最為廣泛采用的聲學特征之一,其基礎是建立在人耳聽覺生理學原理的基礎上,即人耳對不同頻率聲波的聽覺靈敏度存在差異。為應對掩蔽效應這一現象,我們采用了一系列帶通濾波器,按照頻率的臨界帶寬從低頻到高頻有序排列,用以對輸入信號進行濾波處理。因此相較于基于聲道模型的LPCC特征,具備更強的穩健性。最終,這些特征被用于進行語音比對和識別任務。
本文實驗所用實驗數據主要來自于垃圾分類語料,將其分為訓練語料和測試語料。目前,由于居民垃圾分類結合機器學習方法研究資源匱乏,所以這里需要構建語料庫。垃圾分類語料庫是經過人工處理得到,包含5600條不同的垃圾數據;制定居民垃圾分類問卷調查表,通過網絡或紙質等不同方式邀請居民(湖北某些小區)進行采集,邀請環保專家對調查問卷數據進行分類、量化和人工標記語料判斷是否健康,所有字段保存為“UTF-8”格式;實驗采用Python語言與機器學習庫sklearn工具包。
為了綜合方面衡量本文構建的分析模型,實驗主要從三個方面進行評估模型性能:1) 特征貢獻度實驗;2) 語音識別結果評估實驗;3) 開放與封閉測試實驗。
為了考察本文選取的4個特征維度——可回收垃圾(A)、廚余垃圾(B)、有害垃圾(C)、其他垃圾(D),對本文構建模型的貢獻度,分別將4種特征單獨融入分析模型中,并分別比較文本識別、語音識別和文本語音混合識別三種方法的正確率。實驗結果如表2所示。

表2 特征貢獻度實驗
在表2中,第3組實驗使用“文本語音混合識別”等級,本模型的預測正確率最高,正確率達到99%;其次是文本識別,正確率達到96%,語音識別相比其他兩組實驗較低,現語音識別只能識別出普通話,方言識別不出,故正確率達到83%。其他重要的等級分別是文本識別、語音識別,其他主要等級特征之間相互獨立,呈非線性關系。
語音識別的識別率大多采用詞錯誤率和句錯誤率進行評估。本文采用詞錯誤率進行評估,公式如下:
WER=100%×Insertions+Substitutions+
DeletionsT
(4)
式中:Insertions:插入錯誤,Substitutions:替換錯誤,DeletionsT:識別語音中的總詞數。
根據圖3中標識的錯誤類型,可以計算出WER=0.2+0.2+71×100%=71.4%。

圖3 錯誤統計
由于在該方法中插入的詞匯也算入錯誤率中,所以WER的值可能大于1[8]。
圖3為錯誤率統計示例。
為了評估本文構建模型的魯棒性,本實驗對已構建的基于決策樹算法的居民垃圾分類分析模型進行開放與封閉測試。實驗結果如圖4和圖5所示。在圖5中,封閉測試實驗正確率達到84.136%,開放測試實驗的正確率為82.107%,開放測試比封閉測試僅低2.029%,因此本文構建的模型魯棒性強。

圖4 迭代次數與正確率
傳統垃圾分類采用人工分析,整套分析流程復雜、受心理專家主觀意識影響、工作耗時耗力等問題,這無疑增加管理者等各層的工作負擔。本文針對該問題提出基于文本語音混合模式的家庭生活垃圾分類,根據調查問卷結果進行自動化判斷居民對垃圾分類的了解,有利于居民們對垃圾分類知識的理解,且有語音識別、文字識別混合識別功能,實驗證明該方法有效可行。下一步研究中,本文將進一步擴展語料庫規模,針對不同社區進行細化構建分析模型。