王 捷,陳 超,周海權(quán),舒德勝,黃 豪
(四川輕化工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院,宜賓 644000)
互聯(lián)網(wǎng)的不斷發(fā)展使得互聯(lián)網(wǎng)信息量急劇增加,文本作為主流的信息承載方式,擁有巨大的潛在價(jià)值。在醫(yī)療診斷方面,電子病歷作為有效的患者病情描述媒介,通過(guò)文本自動(dòng)分類技術(shù)實(shí)現(xiàn)非結(jié)構(gòu)化電子病歷文本數(shù)據(jù)的規(guī)范化,利用文本挖掘技術(shù)挖掘描述數(shù)據(jù)的有效信息并對(duì)病情類別自動(dòng)分類,能夠有效減少當(dāng)前醫(yī)療系統(tǒng)的壓力,具有較好的社會(huì)效益。
近些年來(lái),科研人員對(duì)文本分類算法研究不斷深入,產(chǎn)生了很多有效的文本分類方法,Zhang 等[1]利用獨(dú)熱表示方法(one-hot representation)把文本表示為向量,通過(guò)支持向量機(jī)與反饋神經(jīng)網(wǎng)絡(luò)結(jié)合對(duì)文本分類;Paccanaro 等[2]提出詞嵌入模型(word embedding);龔靜等[3]使用一種對(duì)ti-idf 算法加權(quán)的方式來(lái)提取相關(guān)特征,隨后使用樸素貝葉斯網(wǎng)絡(luò)對(duì)特征分類;豆孟寰[4]使用n-gram 統(tǒng)計(jì)語(yǔ)言模型對(duì)文本進(jìn)行分類;Bengio等[5]提出了用神經(jīng)網(wǎng)絡(luò)的方式來(lái)構(gòu)建語(yǔ)言模型。但是對(duì)于數(shù)據(jù)稀疏以及數(shù)據(jù)之間相似度比較大的數(shù)據(jù)集,采用上述方法會(huì)導(dǎo)致一定程度的精度損失。Lilleberg 等[6]利用Word2Vec 提取相關(guān)語(yǔ)義,然后使用SVM 進(jìn)行文本分類,但是SVM 的訓(xùn)練速度受數(shù)據(jù)量的影響較大,有一定的局限性。
RNN 引入循環(huán)核的概率,對(duì)于處理上下文聯(lián)系較大的數(shù)據(jù)有一定的優(yōu)勢(shì),而中文文本就完美符合該特征,同時(shí)LSTM[7]作為RNN 的衍生,在RNN[8]的基礎(chǔ)上添加了門控神經(jīng)單元,有效地避免RNN 在更新下一次輸入時(shí)由于時(shí)間間隔太長(zhǎng)導(dǎo)致特征丟失而帶來(lái)的模型梯度問(wèn)題,具有更加有效的記憶功能。
本文在上述基礎(chǔ)上,使用Word2Vec 處理文本得到下一步的向量輸入,同時(shí)使用LSTM 分類算法來(lái)對(duì)病歷文本進(jìn)行分類。
Word2Vec 采用了Hierarchical Softmax 或Negative Sampling 兩種技術(shù)來(lái)提高訓(xùn)練詞向量的性能,本文采用的是基于Hierarchical Softmax 的Skip-Gram模型,訓(xùn)練模式選用CBOW 模型。
該模型包含三層,分別是輸入層、投影層以及輸出層,輸入層包含2c個(gè)長(zhǎng)度相同的詞向量組成作為模型的輸入,投影層將輸入層輸入的詞向量累加求和得到均值Xw。輸出層是用哈夫曼樹(shù)構(gòu)建的,其中白色葉子節(jié)點(diǎn)對(duì)應(yīng)的是詞匯列表當(dāng)中的詞,藍(lán)色葉子結(jié)點(diǎn)的作用相當(dāng)于深度神經(jīng)網(wǎng)絡(luò)(DNN)當(dāng)中隱含層到輸出層的映射函數(shù)W′。相比較于傳統(tǒng)DNN 網(wǎng)絡(luò)模型,Word2Vec 有以下改進(jìn):首先去除了隱含層,隱含層的作用是其激活函數(shù)對(duì)于處理非線性十分擅長(zhǎng),但文本數(shù)據(jù)是強(qiáng)線性相關(guān)的,去除隱含層有助于簡(jiǎn)化模型結(jié)構(gòu);其次是降低了模型計(jì)算量,使用哈夫曼[9]替換了原DNN 當(dāng)中的softmax,在哈夫曼樹(shù)當(dāng)中,不需要計(jì)算非葉子節(jié)點(diǎn)代表的向量,只需要計(jì)算在尋找目標(biāo)節(jié)點(diǎn)時(shí)經(jīng)過(guò)路徑上存在的節(jié)點(diǎn)。
圖1 Word2Vec模型結(jié)構(gòu)
文本庫(kù)當(dāng)中的文本長(zhǎng)度分布在15~300個(gè)詞之間,將Word2Vec 訓(xùn)練出來(lái)的每個(gè)詞的詞向量相加然后求平均值,再采用tf-idf、bag-of-words模型對(duì)文本進(jìn)行分類,最后得到結(jié)果向量。bag-of-words 模型統(tǒng)計(jì)文本集當(dāng)中出現(xiàn)的詞的頻率,詞每出現(xiàn)一次就把字典當(dāng)中對(duì)應(yīng)詞所表示的數(shù)值加1,例如{“感冒”“發(fā)燒”“胸悶”“頭痛”“牙疼”}這個(gè)字典,那么文檔“我今天好像發(fā)燒了,頭痛,是不是感冒了”可以表示為[1,1,0,0,1,0]。而tf-idf 模型在前者的基礎(chǔ)上為關(guān)鍵詞添加權(quán)重,例如在電子病歷文本處理當(dāng)中“頭痛”“不舒服”等都是描述癥狀詞,但是“頭痛”所表達(dá)的含義明顯對(duì)模型能夠準(zhǔn)確分類更加有益,其具體公式如(1)所示。
其中:N表示的是所有文本數(shù)量,Nt表示的是含有詞t的文本數(shù)量,但是這兩個(gè)模型的缺點(diǎn)是對(duì)于語(yǔ)義相似詞的處理不恰當(dāng),例如“頭疼”與“頭痛”這兩個(gè)詞在語(yǔ)義上完全相似,但是通過(guò)tf-idf 與bag-of-words 模型表示出來(lái)的空間向量卻相距甚遠(yuǎn),對(duì)最終模型的準(zhǔn)確度有一定的影響。
在深度學(xué)習(xí)領(lǐng)域當(dāng)中,“長(zhǎng)期依賴”的問(wèn)題普遍存在,例如典型的RNN 模型,該問(wèn)題產(chǎn)生的主要原因是當(dāng)前神經(jīng)元迭代的次數(shù)過(guò)多,導(dǎo)致距離當(dāng)前時(shí)間點(diǎn)較長(zhǎng)時(shí)間片的文本特征被覆蓋,進(jìn)而導(dǎo)致模型產(chǎn)生梯度問(wèn)題,無(wú)法準(zhǔn)確地表示文本信息。LSTM作為RNN的變體,引入了門(gate)機(jī)制來(lái)控制模型特征的流通和損失,從而可以有效避免“長(zhǎng)期依賴的問(wèn)題”。
本數(shù)據(jù)集包含50000文檔數(shù)量,按照種類標(biāo)簽均勻分布為5 份,在這里采用交叉驗(yàn)證的方法,文本分類算法使用LSTM 算法,隨后分別采用Word2Vec、tf-idf、bag-of-words 模型提取文本向量作為L(zhǎng)STM 的輸入,由結(jié)果可知,基于Word2Vec 與LSTM 的文本表示方法的精確率、召回率以及正確率均高于其它兩種方法。
接下來(lái),繼續(xù)使用Word2Vec 提取文本向量作為模型輸入,然后分別使用支持向量機(jī)(SVM)、卷積神經(jīng)網(wǎng)絡(luò)(CNN)、長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)(LSTM)分類算法進(jìn)行結(jié)果對(duì)比,SVM 求解的是二次規(guī)劃問(wèn)題,在這里使用梯度下降的方式來(lái)獲取最佳SVM 參數(shù),CNN 的特點(diǎn)在于它的局部感知機(jī)制以及權(quán)值共享機(jī)制,在實(shí)驗(yàn)中,卷積層與池化層包含的神經(jīng)元個(gè)數(shù)為256個(gè),全連接層的神經(jīng)元個(gè)數(shù)設(shè)置為病歷文本種類的個(gè)數(shù)用于文本分類,實(shí)驗(yàn)分別采用準(zhǔn)確率與損失率作為模型評(píng)估指標(biāo),模型迭代次數(shù)定為10次,其表示如圖2和圖3所示。
圖2 模型準(zhǔn)確率
圖3 模型損失率
如圖2、圖3 以及表1 所示,基于Word2Vec與LSTM 模型的文本分類的準(zhǔn)確率最高,損失率也達(dá)到最小,現(xiàn)實(shí)中深度學(xué)習(xí)網(wǎng)絡(luò)CNN 模型能夠自動(dòng)提取模型特征,對(duì)于較復(fù)雜特征的自學(xué)習(xí)能力高,效率也有保障。長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)LSTM 模型的記憶功能更加有利于相鄰位置的信息重構(gòu),對(duì)于處理音頻、文本等序列化數(shù)據(jù)表現(xiàn)良好,在自然語(yǔ)言方向應(yīng)用廣泛。表1的數(shù)據(jù)也可以充分證明LSTM 在處理文本分類當(dāng)中的有效性。
表1 基于不同分類算法在不同集合上的分類結(jié)果
本文構(gòu)建了一種基于Word2Vec+LSTM 的文本分類模型,首先在訓(xùn)練詞向量方面,為了解決文本稀疏問(wèn)題以及文本相似問(wèn)題選取Word2Vec 模型訓(xùn)練文本向量作為模型輸入,通過(guò)與tf-idf 模型以及bag-of-words 模型進(jìn)行比較,發(fā)現(xiàn)Word2Vec 模型在解決文本稀疏以及相似度較高的問(wèn)題上表現(xiàn)優(yōu)異。為了解決模型在訓(xùn)練過(guò)程中由于“長(zhǎng)期依賴”而導(dǎo)致的梯度問(wèn)題,本文采用長(zhǎng)短期記憶神經(jīng)網(wǎng)絡(luò)LSTM,作為RNN的一個(gè)分支,它在RNN 的基礎(chǔ)上添加了門控神經(jīng)單元,能夠根據(jù)設(shè)定值有選擇地選取下一個(gè)時(shí)間片輸入的文本向量,實(shí)驗(yàn)與CNN 以及SVM進(jìn)行比對(duì),結(jié)果顯示W(wǎng)ord2Vec+LSTM 模型在表現(xiàn)上明顯優(yōu)于其它模型。因此,基于Word2Vec+LSTM 的文本分類模型在電子病歷文本分類方面有一定的實(shí)用價(jià)值,能夠有效提高醫(yī)療系統(tǒng)在電子病歷歸檔、分類等相關(guān)方面的處理效率。
本文所使用的文檔標(biāo)簽是通過(guò)相關(guān)人員進(jìn)一步處理篩選而來(lái),所以主觀性較強(qiáng),因此文本分類結(jié)果可能存在爭(zhēng)議性以及不確定性等問(wèn)題,有待后續(xù)改進(jìn)。