郭肇毅
(樂(lè)山師范學(xué)院 電子信息與人工智能學(xué)院,四川 樂(lè)山 614000)
移動(dòng)互聯(lián)網(wǎng)的飛速發(fā)展,使得現(xiàn)在網(wǎng)絡(luò)上的文本數(shù)量越來(lái)越多,對(duì)這些文本進(jìn)行有效的分類(lèi),有助于用戶(hù)快速挖掘出自己所需要的信息,而且,文本分類(lèi)可以用于垃圾郵件過(guò)濾[1]、情感分析[2]、網(wǎng)絡(luò)輿情監(jiān)測(cè)[3]等自然語(yǔ)言處理的常見(jiàn)任務(wù)中,是目前的一個(gè)研究熱點(diǎn)之一。
我國(guó)林業(yè)在信息化的發(fā)展過(guò)程當(dāng)中,出現(xiàn)了很多涉及林業(yè)的網(wǎng)站、信息系統(tǒng)等,涌現(xiàn)出了各類(lèi)的林業(yè)文本信息,對(duì)這些文本的分類(lèi),如果僅僅依靠人工,是一件十分低效的事情。因此,在建設(shè)各類(lèi)涉及林業(yè)的網(wǎng)站、信息系統(tǒng)時(shí),引入人工智能的模型,不僅能夠節(jié)約大量的人工,而且也能極大地加快林業(yè)信息化的進(jìn)程。
文本分類(lèi)的方法主要分為兩類(lèi):一類(lèi)是基于知識(shí)工程的方法,一類(lèi)是基于機(jī)器學(xué)習(xí)的各種模型的方法。使用機(jī)器學(xué)習(xí)的各種模型的方法是目前的主流方法,在這方面已經(jīng)有很多學(xué)者對(duì)此進(jìn)行了研究。
有研究者提出在文本分類(lèi)任務(wù)中引入樸素貝葉斯的方法[4]。近年來(lái),有學(xué)者提出了一種基于Bert 和知識(shí)圖譜融合的模型的方法來(lái)解決文本分類(lèi)的任務(wù)[5]。2019 年,又有研究人員提出了一種XLNet 模型的方來(lái)進(jìn)行文本分類(lèi),該方法通過(guò)對(duì)輸入的文本序列進(jìn)行重新的排列、以及組合的方式,使得模型可以進(jìn)行上下文的兩個(gè)方向上的學(xué)習(xí),并且,又避免了Bert 中的兩個(gè)階段的學(xué)習(xí)數(shù)據(jù)分布不統(tǒng)一的問(wèn)題[6]。此外,又有科研人員提出了ALBERT 模型,來(lái)對(duì)Bert 模型進(jìn)行改進(jìn),提升其性能[7]。隨著LSTM 模型的提出,有研究人員采取LSTM-TextCNN 相結(jié)合的方式進(jìn)行文本分類(lèi)[8]。
對(duì)于特定的行業(yè)領(lǐng)域,例如,林業(yè)文本的分類(lèi),目前的專(zhuān)門(mén)的研究還較少,但也有研究人員提出用通過(guò)使用LM 優(yōu)化模糊神經(jīng)網(wǎng)絡(luò)模型的方法來(lái)進(jìn)行文本分類(lèi)[9]。但是,總的說(shuō)來(lái),這方面的研究還不太成熟。
縱觀(guān)這些機(jī)器學(xué)習(xí)的模型,若是比較復(fù)雜的神經(jīng)網(wǎng)絡(luò)類(lèi)的模型,分類(lèi)效果確實(shí)不錯(cuò),但是其耗費(fèi)的時(shí)間、硬件資源等都十分巨大,對(duì)于某些單位而言,很多時(shí)候不需要那么精準(zhǔn)的分類(lèi),看重的是綜合的成本,使用樸素貝葉斯模型來(lái)進(jìn)行分類(lèi),既能獲得較高的分類(lèi)精準(zhǔn)度,所花費(fèi)的成本也不高,是一個(gè)比較合適的選擇。而在原始的樸素貝葉斯模型基礎(chǔ)上,根據(jù)特定的領(lǐng)域的分類(lèi)任務(wù),例如,林業(yè)文本,引入每種林業(yè)文本類(lèi)別中的高頻關(guān)鍵詞的因素,可以在不額外增加成本的基礎(chǔ)上,進(jìn)一步提高文本分類(lèi)的精準(zhǔn)程度,是十分有意義的。
具體地,例如,對(duì)于一個(gè)林業(yè)文本,如果其中出現(xiàn)得有“旅游”“自駕”等字樣,那么,可以認(rèn)為這個(gè)林業(yè)文本很可能屬于一篇關(guān)于林業(yè)旅游方面的文本。因此,在用原始的樸素貝葉斯對(duì)文本進(jìn)行分類(lèi)的基礎(chǔ)上,在考慮這些關(guān)鍵詞的因素,能夠使得分類(lèi)的效果更精準(zhǔn),而且也沒(méi)有額外增加成本,是一個(gè)不錯(cuò)的選擇。
文本分類(lèi)的流程大體上可以分為文本的預(yù)處理、文本的特征表示和分類(lèi)器的構(gòu)建。具體過(guò)程如圖1 所示:
因?yàn)橹形牟幌裼⑽?,單詞與單詞都有天然的空格進(jìn)行分隔,所以在文本的預(yù)處理階段,需要對(duì)中文文本進(jìn)行分詞。目前市面上已經(jīng)有很成熟的分詞工具可供使用,例如,斯坦福的分詞工具,中科院的分詞工具等。這里采用的是中科院的分詞工具。同時(shí),中文中存在很多沒(méi)有實(shí)在意義的“的”“了”等助詞,這類(lèi)詞叫做停用詞,去掉這類(lèi)詞,對(duì)于文本本身的意思沒(méi)有任何影響,目前市面上也有很多不同版本的停用詞庫(kù),這里采用的是百度的停用詞庫(kù)。
一篇文本是無(wú)法真正意義上被計(jì)算機(jī)理解的,就需要用文本的某些特征來(lái)表征這篇文本。這里采用的是用文本中的具有區(qū)分度的高頻詞來(lái)表征一篇文本。所用到的算法是tf-idf 算法[10]。tf-idf 算法的公式如式(1)(2)所示:
簡(jiǎn)單而言,tf-idf 選出的是具有區(qū)分度的高頻詞,例如,假如一篇文本出現(xiàn)了很多次“桂花”“買(mǎi)賣(mài)”這兩個(gè)詞,但若語(yǔ)料庫(kù)中的其他文檔中也出現(xiàn)了很多次“買(mǎi)賣(mài)”這個(gè)詞,但是這些其他文檔中極少出現(xiàn)“桂花”這個(gè)詞,那么,對(duì)于那篇文本而言,“桂花”才是一個(gè)具有文本區(qū)分度的高頻詞,而“買(mǎi)賣(mài)”不是。所以,tf-idf選出的就是諸如“桂花”這類(lèi)具有文檔區(qū)分度的高頻詞,而不是隨便一個(gè)高頻詞就選出來(lái)。
采用的是用樸素貝葉斯的算法思想,通過(guò)訓(xùn)練語(yǔ)料構(gòu)建分類(lèi)器,然后隨后進(jìn)行分類(lèi)效果的測(cè)評(píng)。貝葉斯的公式如式(3)所示:
當(dāng)貝葉斯公式用于文本分類(lèi)時(shí)的原理大體如下:
文章主要在原始的樸素貝葉斯算法的基礎(chǔ)上,引入類(lèi)別關(guān)鍵詞的因素,從而提高分類(lèi)的精準(zhǔn)度。
對(duì)于一篇林業(yè)文本,在用樸素貝葉斯進(jìn)行相應(yīng)計(jì)算的基礎(chǔ)上,引入類(lèi)別關(guān)鍵詞的因素,從而提高分類(lèi)的精準(zhǔn)度。例如,對(duì)于一個(gè)林業(yè)文本,如果其中有某方面文本的標(biāo)志性字樣,那么,可以認(rèn)為這個(gè)林業(yè)文本很可能屬于一篇那個(gè)特定方面的文本。因此,在用原始的樸素貝葉斯對(duì)文本進(jìn)行分類(lèi)的基礎(chǔ)上,在考慮這些關(guān)鍵詞的因素,能夠使得分類(lèi)的效果更精準(zhǔn),而且也沒(méi)有額外增加成本,是一個(gè)不錯(cuò)的選擇。
具體而言,如式(16)所示:
上式中,是要進(jìn)行類(lèi)別判定時(shí)的最終概率值,是原始樸素貝葉斯計(jì)算出的概率值,是根據(jù)經(jīng)驗(yàn)給類(lèi)別關(guān)鍵詞設(shè)定的一個(gè)概率值,和是權(quán)重值,二者的和為1,且要比大。
為解決數(shù)據(jù)稀疏性問(wèn)題,平滑技術(shù)采用加1平滑。
實(shí)驗(yàn)采用的文本數(shù)據(jù)來(lái)源于網(wǎng)絡(luò),有4 個(gè)類(lèi)別,分別是“花木商情”“林業(yè)科技”“林業(yè)旅游”和“林業(yè)資源管理”。訓(xùn)練語(yǔ)料有1016 篇,4 個(gè)類(lèi)別分別占的數(shù)目為96、374、84 和462。測(cè)試語(yǔ)料共有255 篇,4 個(gè)類(lèi)別分別占的數(shù)目為24、94、21 和116。
每篇文本用tf-idf 提取出5 個(gè)具有區(qū)分度的高頻詞作為文本特征詞。
根據(jù)4 個(gè)類(lèi)別的特點(diǎn),根據(jù)經(jīng)驗(yàn)準(zhǔn)備4 個(gè)類(lèi)別關(guān)鍵詞列表,例如“林業(yè)旅游”關(guān)鍵詞列表中就有“旅游”“風(fēng)景區(qū)”等和旅游高度相關(guān)的詞。
實(shí)驗(yàn)的具體過(guò)程如圖2 所示:
圖2 實(shí)驗(yàn)流程圖
也就是,最初,對(duì)文本進(jìn)行預(yù)處理,對(duì)比停用詞表去除停用詞,通過(guò)tf-idf 找出每篇文檔的5 個(gè)特征詞,根據(jù)貝葉斯公式進(jìn)行判定概率的計(jì)算。同時(shí),將分詞后的文本中的所有詞匯與類(lèi)別關(guān)鍵詞列表進(jìn)行比對(duì),根據(jù)比對(duì)結(jié)果計(jì)算出另一個(gè)判定概率,然后,根據(jù)公式(16)計(jì)算出最終的判定概率,比較4 個(gè)最終的判定概率,最后判定文檔屬于哪個(gè)類(lèi)別。
性能指標(biāo)采用自然語(yǔ)言處理常用的準(zhǔn)確率和召回率,以及二者的綜合評(píng)價(jià)值F 值作為評(píng)價(jià)指標(biāo)。
對(duì)于文本分類(lèi)任務(wù),precision和recall的計(jì)算公式如下所示:
根據(jù)(16)式中的公式,根據(jù)2-8 準(zhǔn)則,選取和分別取80%和20%,以F 值為評(píng)價(jià)標(biāo)準(zhǔn),得到的實(shí)驗(yàn)結(jié)果分別如下圖所示。其中,圖3 是考慮平滑的情況,圖4 是沒(méi)有考慮平滑的情況。
圖3 考慮平滑實(shí)驗(yàn)結(jié)果圖
圖4 不考慮平滑實(shí)驗(yàn)結(jié)果圖
考慮了平滑的具體的每種文檔的判定結(jié)果數(shù)如表1 所示:
表1 考慮平滑每類(lèi)文檔的判定結(jié)果數(shù)
從上述的圖表可以看出,引入了類(lèi)別關(guān)鍵詞因素的樸素貝葉斯的方法在綜合性能上要優(yōu)于原始的樸素貝葉斯方法,這說(shuō)明了在用樸素貝葉斯進(jìn)行文本分類(lèi)時(shí),引入類(lèi)別關(guān)鍵詞的方法,是有意義的嘗試。特別是不考慮的平滑的情況下,引入了類(lèi)別關(guān)鍵詞因素的方法的優(yōu)勢(shì)更加明顯,說(shuō)明在不考慮平滑的這種比較簡(jiǎn)單粗暴的情況下,引入一些細(xì)節(jié)性的因素,效果更好。
而沒(méi)有考慮平滑的具體的每種文檔的判定結(jié)果數(shù)如表2 所示:
表2 不考慮平滑每類(lèi)文檔的判定結(jié)果數(shù)
從實(shí)驗(yàn)可以看出,引入了類(lèi)別關(guān)鍵詞因素的樸素貝葉斯方法,相比原始的樸素貝葉斯的方法,效果更好。特別是對(duì)于不考慮平滑的這種簡(jiǎn)單粗暴的情況,引入了類(lèi)別關(guān)鍵詞因素這些較為細(xì)節(jié)的因素,實(shí)驗(yàn)結(jié)果更好。
從工程應(yīng)用的角度來(lái)看,樸素貝葉斯這類(lèi)簡(jiǎn)單有效的方法已經(jīng)能夠運(yùn)用于很多工程實(shí)際問(wèn)題了,對(duì)于分類(lèi)精準(zhǔn)度要求不那么高的很多實(shí)際工程應(yīng)用,樸素貝葉斯類(lèi)的方法已經(jīng)夠用了,在實(shí)際問(wèn)題中,如果對(duì)經(jīng)濟(jì)成本、硬件資源等要求較為苛刻的情況,完全沒(méi)有必要使用神經(jīng)網(wǎng)絡(luò)類(lèi)的模型。