本發(fā)明涉及一種文本分類方法。
背景技術(shù):
隨著網(wǎng)絡(luò)媒體的日益發(fā)達和網(wǎng)民數(shù)量的不斷增加,大量的文本數(shù)據(jù)在不斷的產(chǎn)生。如何處理龐大的文本數(shù)據(jù)并正確分類是一個亟待解決的問題。文本分類通過在已有數(shù)據(jù)訓(xùn)練分類器,然后將此分類器用于測試文檔確定每一個文檔的類別。正確的文本分類可以使用戶更快的尋找到需要的信息,更方便的瀏覽文檔。文本自動分類指通過帶有類別標(biāo)志的訓(xùn)練文本,訓(xùn)練文本分類器,然后將該分類器用于測試未知類別文本進行識別。
現(xiàn)有的技術(shù)中,文本分類方法主要包含以下幾種:
一、基于規(guī)則的方法。通過統(tǒng)計大量文本特點和該領(lǐng)域相關(guān)知識,制定規(guī)則。通過規(guī)則分類。該方法需要大量的時間和相關(guān)專業(yè)人員。
二、基于向量空間表達方法。該種方法主要分為三個步驟,第一步:特征的選擇和提?。坏诙浚和ㄟ^向量空間構(gòu)造文本表達;第三步:分類器的構(gòu)建。該方法忽略了詞語的語義信息,維度較大,易引起維度災(zāi)難問題。
三、基于分布式詞向量方法。該種方法主要分為三個步驟,第一步:特征的選擇和提??;第二部:通過lda(主題模型)或word2vec等方法構(gòu)建文本表達;第三步:分類器的構(gòu)建。常用的基于word2vec分類方法為加和求平均和針對每個維度取最大,這兩種表達方法只包含全局信息或局部信息的一種,而忽略了另一種信息,分類準(zhǔn)確度較低。
技術(shù)實現(xiàn)要素:
本發(fā)明目的在于提供一種文本分類方法,文本向量既包括全局信息又包括局部信息,分類更加準(zhǔn)確。
實現(xiàn)本發(fā)明目的技術(shù)方案:
一種文本分類方法,其特征在于,基于訓(xùn)練文本的文本向量訓(xùn)練文本分類器;構(gòu)建待測文本的文本向量,將待測文本的文本向量輸入至已訓(xùn)練的文本分類器中,進行文本分類;所說訓(xùn)練文本的文本向量和待測文本的文本向量均通過如下方法獲得:
步驟1:對標(biāo)注文本進行預(yù)處理,特征選擇,進行詞向量訓(xùn)練;
步驟2:根據(jù)步驟1所得詞向量,計算文本的全局向量和局部向量;
步驟3:根據(jù)步驟2所得全局向量和局部向量,計算文本向量。
步驟2中,構(gòu)建文本的全局向量,采用向量加和平均方法獲得,公式如下:
式中,
步驟2中,構(gòu)建文本的局部向量,采用向量每個維度取最大的方法,公式如下:
式中,
步驟3中,計算文本向量時,將文本的全局向量和局部向量通過加權(quán)并聯(lián)在一起獲得文本向量,公式如下:
該公式中,
步驟3中,權(quán)重通過網(wǎng)格搜索獲得。
步驟1中,文本的特征選擇基于信息增益方法獲得。
文本分類器選用svm文本分類器,核函數(shù)選取線性核函數(shù)。
步驟1中,預(yù)處理時,使用分詞工具對文本進行分詞,獲得文本詞集;通過word2vec工具訓(xùn)練詞向量。
本發(fā)明具有的有益效果:
本發(fā)明是對基于word2vec分類方法的改進,根據(jù)全局向量和局部向量計算文本向量,即分類時既考慮了文檔全局信息,又考慮了局部信息。本發(fā)明有效克服了現(xiàn)有文本分類方法的缺點,相對于規(guī)則方法省略了人工規(guī)則構(gòu)建的過程,相對于向量空間表達方法減少了維度災(zāi)難的風(fēng)險和考慮了文本的淺層語義信息,相對于基于word2vec詞向量,充分考慮了文本表達的全局信息和局部信息,分類更加準(zhǔn)確。經(jīng)實驗,本發(fā)明在搜狗和復(fù)旦開源中文本分類數(shù)據(jù)集上進行測試,測試效果相對現(xiàn)有分類方法有所提升。
本發(fā)明構(gòu)建文本的全局向量,采用向量加和平均方法獲得;構(gòu)建文本的局部向量,采用向量每個維度取最大的方法獲得;計算文本向量時,將文本的全局向量和局部向量通過加權(quán)并聯(lián)在一起獲得文本向量,進一步保證了分類的準(zhǔn)確可靠性。本發(fā)明文本的特征選擇基于信息增益方法獲得;文本分類器選用svm文本分類器,核函數(shù)選取線性核函數(shù),進一步保證了文本的分類效果。
具體實施方式
本發(fā)明首先基于文本向量訓(xùn)練文本分類器,計算訓(xùn)練文本的文本向量,將計算所得的所有訓(xùn)練文本向量和類別輸入到文本分類器中,進行參數(shù)訓(xùn)練。針對待測文本構(gòu)建文本向量,將待測文本的文本向量輸入至已訓(xùn)練的文本分類器中,進行文本分類。本實施例中,文本分類器采用svm(支持向量機),核函數(shù)選取線性核函數(shù)。
上述訓(xùn)練文本向量和待測文本向量獲得的方法相同,包括如下步驟:
步驟1:對標(biāo)注文本進行預(yù)處理,特征選擇,進行詞向量訓(xùn)練。
預(yù)處理時,使用分詞工具對文本進行分詞,獲得文本詞集。分詞采用python開源中文分詞工具jieba。
特征選擇方法采用信息增益方法,公式如下所示:
選取最大k個特征,k通過實驗所得。通過word2vec工具訓(xùn)練詞向量,訓(xùn)練數(shù)據(jù)為所有文本。采用模型為cbow模型,詞向量維度為200,窗口為5。
步驟2:根據(jù)步驟1所得詞向量,計算文本的全局向量和局部向量。
針對文本序列
構(gòu)建文本的全局向量,采用向量加和平均方法獲得,公式如下:
式中,
構(gòu)建文本的局部向量,采用向量每個維度取最大的方法,公式如下:
式中,
步驟3:根據(jù)步驟2所得全局向量和局部向量,計算文本向量。
計算文本向量時,將文本的全局向量和局部向量通過加權(quán)并聯(lián)在一起獲得文本向量,公式如下:
該公式中,
本實施例中,分別對搜狗和復(fù)旦數(shù)據(jù)集進行訓(xùn)練數(shù)據(jù)和待測試數(shù)據(jù)劃分。
將分類結(jié)果與實際類別進行對比,計算準(zhǔn)確率、召回率,
準(zhǔn)確率p指文本分類正確的文本占所有文本數(shù)的比率:
召回率r為分類正確的文本數(shù)占該類別實際文本數(shù)的比率:
上述公式中,a表示正確劃分到該類別的數(shù)量;b表示錯誤劃分到該類別的數(shù)量;c為屬于該類別,但未劃分正確的文本數(shù)量。
表1為本發(fā)明方法在搜狗和復(fù)旦(部分數(shù)據(jù))進行文本分類對比實驗結(jié)果。
表1.不同方法的實驗結(jié)果
最后,搜狗數(shù)據(jù)集采用1:1比率分為訓(xùn)練集和測試集,共包含九類,分別為:財經(jīng)、互聯(lián)網(wǎng)、健康、教育、軍事、旅游、體育、文化、招聘。復(fù)旦選取類別文檔數(shù)大于1000的幾類文本進行分類實驗,分別為政治、計算機、環(huán)境、經(jīng)濟、農(nóng)業(yè)、運動六類。對比實驗采用同樣的預(yù)處理過程、相同的詞向量和同樣的文本分類器。對比實驗方法選取一下幾種主流的求解方法:bow_tfidf基于向量空間表達方法;fasttext為facebook開源的快速文本分類工具,模型結(jié)構(gòu)與word2vec相似;word2vec_ave為詞向量加和求平均方法;word2vec_max為維度取最大方法;word2vec_tfidf為加權(quán)求平均方法;最后為本發(fā)明提出方法。評判標(biāo)準(zhǔn)為分類準(zhǔn)確率、召回率、