但宇豪,黃繼風(fēng),楊 琳,高 海
(1.上海師范大學(xué)信息與機(jī)電工程學(xué)院,上海201418;2.上海計(jì)算機(jī)軟件技術(shù)開(kāi)發(fā)中心,上海201112;3.上海高創(chuàng)電腦技術(shù)工程有限公司,上海200030)
文本分類(lèi)就是構(gòu)造分類(lèi)方法,并使用該方法將待分類(lèi)文本分到預(yù)定類(lèi)別中的某一類(lèi).假設(shè)待分類(lèi)文本集合D 中有j個(gè)待分類(lèi)文本,D={d1'd2'…'dj},預(yù)定類(lèi)別集合C 中有m 個(gè)待分類(lèi)別,C={C1'C2'…'Cm}.分類(lèi)器為D中的每個(gè)文本文件從C中選取一個(gè)可能性最大的分類(lèi)作為其類(lèi)別.
在文本分類(lèi)問(wèn)題中,常用的特征提取方法包括:詞頻-逆文本頻率(TF-IDF)、信息增益、χ2統(tǒng)計(jì)、互信息以及one-hot編碼等方法.由于與其他方法相比,詞頻-逆文本頻率(TF-IDF)算法分類(lèi)效果較好,其還具有實(shí)現(xiàn)便捷且易于改進(jìn)的優(yōu)點(diǎn),本研究將其選作文本的特征提取方法.
考慮到待分類(lèi)的健康節(jié)目臺(tái)詞文本包含一些長(zhǎng)度較短的文本,為解決特征稀疏問(wèn)題,需對(duì)這些文本進(jìn)行特征擴(kuò)展.胡朝舉等[1]使用Latent Dirichlet Allocation(LDA)模型提取文本主題,并將其作為擴(kuò)展信息加入文本特征,實(shí)現(xiàn)特征擴(kuò)展.但健康節(jié)目臺(tái)詞文本數(shù)據(jù)的語(yǔ)義信息較為分散,且部分樣本數(shù)據(jù)較為稀疏,因此LDA模型并不能很好地表達(dá)其特征.趙旭等[2]和蘇小康[3]通過(guò)引入外部語(yǔ)料庫(kù)的語(yǔ)義信息進(jìn)行特征擴(kuò)展.其中,蘇小康[3]所使用的維基百科中文語(yǔ)料庫(kù)中包含大量醫(yī)學(xué)及生活方面的語(yǔ)料內(nèi)容,與健康節(jié)目臺(tái)詞文本的主題一致.薛煒明等[4]采用word2vec 模型進(jìn)行語(yǔ)義擴(kuò)展,該方法將詞語(yǔ)映射到“緊湊”的向量空間中,不僅同時(shí)適用于長(zhǎng)文本與短文本,還有助于緩解文本特征向量的稀疏性問(wèn)題.
本文作者提出運(yùn)用改進(jìn)的詞頻-逆文本頻率(TF-IDF)算法及word2vec模型進(jìn)行文本文件表示,并采用維基百科中文語(yǔ)料庫(kù)引入擴(kuò)展的語(yǔ)義信息,實(shí)現(xiàn)對(duì)健康節(jié)目臺(tái)詞文本的有效分類(lèi).
文中所提到的詞語(yǔ)ti是某文本文件dj中的第i個(gè)詞,特征詞wi是語(yǔ)料庫(kù)中所有詞語(yǔ)ti所組成的并集中的第i個(gè)詞.特征詞wi之間互不相同,與某特征詞wi所對(duì)應(yīng)的相同詞語(yǔ)可能在語(yǔ)料庫(kù)中多次出現(xiàn).
word2vec 模型是現(xiàn)階段自然語(yǔ)言處理領(lǐng)域中用于生成詞向量的首選模型.MIKOLOV 等[5]簡(jiǎn)化神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型(NNLM)[6]結(jié)構(gòu)后,提出了更高效的word2vec模型.該模型將詞語(yǔ)映射到一個(gè)實(shí)數(shù)向量空間,每個(gè)詞向量的長(zhǎng)度為100~200維,克服了由詞袋模型生成的向量過(guò)長(zhǎng)而造成的稀疏問(wèn)題.此外,使用word2vec模型產(chǎn)生的詞向量不僅蘊(yùn)含詞語(yǔ)本身的信息,其在向量空間中的位置還蘊(yùn)含了相關(guān)詞語(yǔ)間的語(yǔ)義關(guān)系信息.詞偏移技術(shù)可通過(guò)對(duì)詞向量做相加減的方式實(shí)現(xiàn)對(duì)其語(yǔ)義的加減操作.由于采用word2vec 生成的兩個(gè)詞向量在向量空間中的距離越相近,所代表的詞語(yǔ)在語(yǔ)義上就越相似,可以通過(guò)計(jì)算余弦相似度或歐幾里得距離的方式計(jì)算兩個(gè)詞語(yǔ)的語(yǔ)義相似程度.本文作者采用Continuous Bagof-Words(CBOW)模型,將維基百科中文語(yǔ)料庫(kù)放入模型訓(xùn)練,擴(kuò)充模型的語(yǔ)義信息,從而獲得特定語(yǔ)義環(huán)境下各詞語(yǔ)的詞向量.
TF-IDF 算法是一種統(tǒng)計(jì)方法,常被用來(lái)確定文本特征詞權(quán)重,已被廣泛用于文本分類(lèi)領(lǐng)域.TF 代表詞頻,表示某特征詞在某文本文件中的出現(xiàn)次數(shù),其定義為:
其中,nw是特征詞w在文本文件中的出現(xiàn)次數(shù);N為該文本文件中特征詞的數(shù)量;TF為衡量特征詞在文本中重要程度的指標(biāo).
IDF代表逆向文件概率,其定義為:
其中,D 是所有文本文件的總數(shù);Q 是包含特征詞的文本文件數(shù)量;IDF為衡量特征詞在所有文本文件中重要程度的指標(biāo).
將式(1),(2)相乘,可得文本特征詞權(quán)重
word2vec均值模型是一種文本文件表示方法,用以表征文本文件內(nèi)容.word2vec均值模型將某文本文件中每一個(gè)詞語(yǔ)所對(duì)應(yīng)的詞向量求和平均后,以此來(lái)表征文本文件內(nèi)容.假設(shè)詞t 的詞向量為fwtv(t),則
其中,Vec(d)表示用以表征文本文件d的向量;n為d中所包含的詞語(yǔ)數(shù)量.
SVM 分類(lèi)器是線(xiàn)性分類(lèi)器中的一種,具有簡(jiǎn)單高效的優(yōu)點(diǎn).SVM 分類(lèi)器將線(xiàn)性不可分的樣本通過(guò)核函數(shù)映射到高維空間,并最小化損失函數(shù),找到最優(yōu)的分割平面,完成對(duì)樣本的分類(lèi).采用scikitlearn算法實(shí)現(xiàn)SVM分類(lèi)器功能,采用高斯核作為核函數(shù),采用hinge loss[7]作為損失函數(shù).
TF-IDF 算法是常用的確定特征詞權(quán)重的方法,然而,對(duì)于監(jiān)督學(xué)習(xí)下的文本分類(lèi)問(wèn)題,已標(biāo)記的語(yǔ)料庫(kù)中包含特征詞的重要程度信息,TF-IDF 算法并沒(méi)有將這些信息考慮在內(nèi),因此,需要對(duì)原TFIDF算法進(jìn)行改進(jìn).
“信息熵”是量化衡量信息量的指標(biāo),用以衡量各特征詞的重要性,其表達(dá)式如下:
其中,pci是特征詞wi在屬于c 類(lèi)的語(yǔ)料中出現(xiàn)的概率,可通過(guò)特征詞wi在某類(lèi)語(yǔ)料中的出現(xiàn)次數(shù)c(wci)與其在所有類(lèi)別語(yǔ)料中出現(xiàn)的總次數(shù)c(wi)的比值表示:
采用歸一化的方法得到特征詞wi的正則化信息熵項(xiàng)
其中,Emax=max(E(wi));Emin=min(E(wi)).帶有信息熵的TF-IDF算法計(jì)算公式為:
考慮到使用式(6)計(jì)算詞語(yǔ)信息熵時(shí),算法傾向于“忽略”對(duì)樣本數(shù)較小的類(lèi)別重要的特征詞,因此引入一個(gè)修正因子,平衡各類(lèi)別中特征詞的重要性.引入的修正因子的表達(dá)式如下:
其中,c(wc)表示c 類(lèi)樣本中的總詞語(yǔ)數(shù);λ 是可調(diào)系數(shù).將此修正因子乘以原信息熵公式E(wi)可得修正后的信息熵公式:
將式(11)代入式(7),并在計(jì)算式(8)和(9)后將得到的向量再次置于SVM分類(lèi)器訓(xùn)練.
從臺(tái)詞文本的分類(lèi)角度考慮,根據(jù)健康節(jié)目?jī)?nèi)容主題相關(guān)的人體器官部位對(duì)采集到的臺(tái)詞文本進(jìn)行分類(lèi).所提出的方法先對(duì)維基百科中文語(yǔ)料庫(kù)、訓(xùn)練集數(shù)據(jù)及測(cè)試集數(shù)據(jù)進(jìn)行預(yù)處理,然后運(yùn)用維基百科中文語(yǔ)料庫(kù)生成詞向量模型CBOW,并使用改進(jìn)的TF-IDF 算法確定訓(xùn)練集及測(cè)試集中的特征詞權(quán)重,通過(guò)相乘調(diào)整各詞向量在word2vec均值模型中所占有的權(quán)重,采用SVM分類(lèi)器訓(xùn)練數(shù)據(jù),達(dá)到分類(lèi)目的.算法流程圖如圖1所示.
圖1 算法流程圖
評(píng)價(jià)分類(lèi)模型性能的通用指標(biāo)為準(zhǔn)確率(Precision)、召回率(Recall)及F值(F-Measure).
準(zhǔn)確率為被正確分類(lèi)的樣本數(shù)(TP)與總樣本數(shù)的比值,其計(jì)算公式為:
其中,F(xiàn)P為實(shí)際不屬于該類(lèi)卻被錯(cuò)誤分入該類(lèi)的樣本數(shù).
召回率為被正確分類(lèi)的樣本數(shù)與實(shí)際屬于該類(lèi)的樣本總數(shù)的比值,其計(jì)算公式為:
其中,F(xiàn)N為實(shí)際屬于該類(lèi)卻未被正確分類(lèi)的樣本數(shù).
F值是一種綜合考慮了上述兩種評(píng)價(jià)指標(biāo)的混合評(píng)價(jià)指標(biāo),其計(jì)算公式為:
實(shí)驗(yàn)部分所使用的計(jì)算機(jī)操作系統(tǒng)為Mac OS 10.14.6,處理器為Intel Core i7,內(nèi)存16 GB,編程環(huán)境為Python 3.7.3.
實(shí)驗(yàn)所采用的數(shù)據(jù)集由網(wǎng)絡(luò)爬蟲(chóng)軟件收集,對(duì)視頻進(jìn)行錄音,并采用線(xiàn)上開(kāi)源的語(yǔ)音轉(zhuǎn)換工具將錄音轉(zhuǎn)換為臺(tái)詞文本保存在本地.
實(shí)驗(yàn)數(shù)據(jù)集共包含4 635期健康節(jié)目的臺(tái)詞文本,原始健康節(jié)目視頻的時(shí)長(zhǎng)為5~50 min,轉(zhuǎn)換后,每個(gè)文本文件包含80~5 000 bit的臺(tái)詞文本.由于采用SVM 分類(lèi)器的分類(lèi)方法屬于監(jiān)督學(xué)習(xí),通過(guò)人工標(biāo)記的方法對(duì)采集得到的健康節(jié)目視頻所對(duì)應(yīng)的臺(tái)詞文本進(jìn)行標(biāo)注.選取了5 個(gè)常見(jiàn)人體部位作為分類(lèi)類(lèi)別,并將不屬于這5個(gè)類(lèi)別及包含多個(gè)類(lèi)別的樣本作為“其他”類(lèi)標(biāo)記,如表1所示.
表1 分類(lèi)名稱(chēng)及樣本數(shù)量
數(shù)據(jù)預(yù)處理步驟如下:
(1)采用gensim 工具的wikicorpus 庫(kù)從原始格式為XML 的維基百科中文語(yǔ)料庫(kù)中提取語(yǔ)料文本,采用opencc軟件將語(yǔ)料庫(kù)中的繁體字轉(zhuǎn)換為簡(jiǎn)體字.
(2)采用jieba 工具的“精確模式”對(duì)數(shù)據(jù)集及維基百科中文語(yǔ)料庫(kù)進(jìn)行分詞,并去除其中的標(biāo)點(diǎn)符號(hào)與停用詞.(3)利用維基百科中文語(yǔ)料庫(kù)訓(xùn)練word2vec下的CBOW模型,詞向量維度設(shè)置為200.(4)按照4 ∶1的比例將數(shù)據(jù)集劃分為訓(xùn)練集與測(cè)試集.
模型性能評(píng)估部分展示了使用word2vec的均值、TF-IDF、TF-IDFE及TF-IDFRE算法的分類(lèi)結(jié)果.表2展示了四個(gè)模型的平均結(jié)果,表3~6分別展示了各分類(lèi)器在各類(lèi)別上的詳細(xì)結(jié)果.
表2 采用各方法分類(lèi)后的平均結(jié)果
從表2 可看出:使用TF-IDF 算法與均值算法相比,準(zhǔn)確率提高了2.7%;采用TF-IDFE算法,準(zhǔn)確率提升5%;采用TF-IDFRE算法,相比使用TF-IDF與均值算法,準(zhǔn)確率分別提高了4.6%及7.3%.
表3 均值算法分類(lèi)的實(shí)驗(yàn)結(jié)果
觀(guān)察表3 可發(fā)現(xiàn),在使用均值算法分類(lèi)的情況下,C5類(lèi)的準(zhǔn)確率及召回率都遠(yuǎn)低于其他類(lèi)別,這是由于在沒(méi)有進(jìn)行加權(quán)操作的情況下,樣本數(shù)小的類(lèi)易被分類(lèi)器“忽略”.
表4 TF-IDF算法分類(lèi)的結(jié)果
通過(guò)對(duì)比表3,4可以發(fā)現(xiàn),引入TF-IDF算法進(jìn)行加權(quán)后,C5類(lèi)的分類(lèi)準(zhǔn)確率提高了11.9%,召回率提高了3.7%,這表明加權(quán)操作對(duì)于抑制數(shù)據(jù)不平衡造成的不良影響有一定抑制效果.
表5 TF-IDFE算法分類(lèi)的結(jié)果
通過(guò)對(duì)比表4,5可以發(fā)現(xiàn),使用TF-IDFE算法與使用原始的TF-IDF算法相比,C5類(lèi)的分類(lèi)準(zhǔn)確率提升了6%,召回率提升了4.9%.雖然兩項(xiàng)指標(biāo)都有一定提升,但召回率為32.6%,依然較低,這說(shuō)明具有小樣本數(shù)量的類(lèi)別依然易被分類(lèi)器“忽略”.
表6 TF-IDFRE算法分類(lèi)的結(jié)果(λ=3)
比較表5,6 可以發(fā)現(xiàn),與加入修正因子前比較,C5類(lèi)的召回率提升了34.1%,總召回率提升了7.7%.這說(shuō)明通過(guò)TF-IDFRE算法加權(quán)的word2vec 均值模型,可有效緩解各類(lèi)別之間樣本數(shù)量及樣本間詞數(shù)的不平衡對(duì)分類(lèi)準(zhǔn)確率及召回率的不良影響.
實(shí)驗(yàn)表明,TF-IDFRE算法的各項(xiàng)指標(biāo)都優(yōu)于其他算法,可實(shí)現(xiàn)對(duì)健康節(jié)目臺(tái)詞文本的有效分類(lèi).
通過(guò)改變?chǔ)?的取值,探究其與準(zhǔn)確率之間的關(guān)系,如圖2 所示.隨著λ 取值的增大,平均準(zhǔn)確率呈現(xiàn)先上升后下降的趨勢(shì).當(dāng)λ=3時(shí),平均準(zhǔn)確率為88.5%,達(dá)到最好.
圖2 取值與準(zhǔn)確率關(guān)系圖
本文作者探索了健康節(jié)目臺(tái)詞文本的分類(lèi)問(wèn)題,在采用TF-IDF加權(quán)算法的word2vec均值模型上進(jìn)行優(yōu)化,通過(guò)引入信息熵,提出了采用TF-IDFE加權(quán)算法的word2vec 均值模型,提高了分類(lèi)準(zhǔn)確性.在此基礎(chǔ)上加入修正因子,提出采用TF-IDFRE加權(quán)算法的word2vec均值模型,緩解各類(lèi)別間樣本數(shù)量及樣本間詞數(shù)的不平衡對(duì)分類(lèi)準(zhǔn)確率及召回率所造成的不良影響.實(shí)驗(yàn)表明,所提出的算法能實(shí)現(xiàn)對(duì)健康節(jié)目臺(tái)詞文本的有效分類(lèi).
上海師范大學(xué)學(xué)報(bào)·自然科學(xué)版2020年1期