一種文本分類的方法及文本分類系統(tǒng)的制作方法
【專利摘要】本發(fā)明實施例公開了一種文本分類的方法及文本分類系統(tǒng),用于根據(jù)訓練語料進行分類器訓練生成分類模型,在進行預測文本分類之前,對分類模型的準確率進行驗證,從而提高了對預測文本的文本分類的準確率。本發(fā)明實施例方法包括:建立類別詞庫及訓練語料庫,訓練語料庫中包含訓練語料,訓練語料的文本類別已知;根據(jù)訓練語料庫中的訓練語料進行分類器訓練,生成分類模型;驗證分類模型的準確率是否達到預置條件;若是,則獲取預測文本,根據(jù)分類模型得到預測文本的文本類別。
【專利說明】
-種文本分類的方法及文本分類系統(tǒng)
技術領域
[0001] 本發(fā)明設及計算機技術領域,尤其設及一種文本分類的方法及文本分類系統(tǒng)。
【背景技術】
[0002] 隨著計算機與通訊技術的快速發(fā)展,互聯(lián)網(wǎng)迅速普及應用,人們可用的電子信息 越來越多,通過計算機和網(wǎng)絡來獲取資料和信息已經(jīng)成為人們獲取信息的主要方式之一。 現(xiàn)在,人們面對的是互聯(lián)網(wǎng)的海量信息,而且增長速度非常之快,因此,迫切需要解決的問 題是:如何使用戶盡快找到想要的信息,如何對運些海量電子信息進行有效的組織和分類。 文本自動分類(Text Classification ,TC)技術就是為解決運一問題而提出的。TC技術W計 算機作為工具,通過機器自動學習,使計算機具有對文本的自動分類功能;當任意輸入一篇 文本時,計算機能夠根據(jù)已經(jīng)掌握的知識,自動將文本分類到某一類別中。
[0003] 從二十世紀八十年代末九十年代初開始,國內(nèi)外學者開始對TC技術進行深入研 究,許多機器學習技術和統(tǒng)計分類方法被應用到運一領域,支持向量機(Suppod Vector Machine,SVM)就是應用于TC中的一種分類算法,SVM能較好地解決小樣本、非線性、維數(shù)災 難和局部極小等問題,具有很強的泛化能力,因此,基于SVM訓練得到的分類器可W實現(xiàn)文 本分類。
[0004] 現(xiàn)有的基于SVM的文本分類方法為:接收未分類文本;對未分類文本進行特征提取 后,得到歸一化的LIBSVM格式數(shù)據(jù),最后訓練得到分類器,通過分類器判斷待分類文本的文 本類別。
[0005] 但是,文本分類系統(tǒng)訓練分類器一般是很長時間訓練一次的,通常都是半年至一 年訓練一次,如果兩次訓練的間隔期間,出現(xiàn)了一些新詞,例如,國家新頒發(fā)關于房地產(chǎn)的 新政策中出現(xiàn)的從未記載的房地產(chǎn)新詞,將會導致所有文本特征權重出現(xiàn)錯誤,從而使得 文本分類出現(xiàn)偏差;或者,在訓練分類器時,某些文本特征權重計算錯誤,將會導致包含運 些文本特征的文本的分類出現(xiàn)錯誤。
【發(fā)明內(nèi)容】
[0006] 本發(fā)明實施例提供了一種文本分類的方法及文本分類系統(tǒng),用于根據(jù)訓練語料進 行分類器訓練生成分類模型,在進行預測文本分類之前,對分類模型的準確率進行驗證,從 而提高了對預測文本的文本分類的準確率。
[0007] 本發(fā)明第一方面提供一種文本分類的方法,包括:
[000引建立類別詞庫及訓練語料庫,所述訓練語料庫中包含訓練語料,所述訓練語料的 文本類別已知;
[0009] 根據(jù)所述訓練語料庫中的所述訓練語料進行分類器訓練,生成分類模型;
[0010] 驗證所述分類模型的準確率是否達到預置條件;
[0011] 若是,則獲取預測文本,根據(jù)所述分類模型得到所述預測文本的文本類別。
[0012] 結合本發(fā)明第一方面,本發(fā)明第一方面第一實施方式中,所述建立類別詞庫及訓 練語料庫,包括:
[0013] 獲取類別詞,根據(jù)所述類別詞建立類別詞庫,所述類別詞用于表示文本類別;
[0014] 獲取已知文本類別的訓練語料,生成訓練語料列表,根據(jù)所述訓練語料列表建立 訓練語料庫。
[0015] 結合本發(fā)明第一方面第一實施方式,本發(fā)明第一方面第二實施方式中,所述根據(jù) 所述類別詞庫及所述訓練語料庫中的所述訓練語料進行分類器訓練,生成分類模型,包括:
[0016] 對所述訓練語料列表中每一條訓練語料進行特征提取,得到文本特征;
[0017] 計算得到所述文本特征的權重;
[0018] 對所述文本特征及所述文本特征的權重進行降維,并轉化為LIBSVM格式數(shù)據(jù);
[0019] 對所述LIBSVM格式數(shù)據(jù)進行歸一化處理,得到訓練語料數(shù)據(jù);
[0020] 根據(jù)所述訓練語料數(shù)據(jù)進行分類器訓練,得到分類模型。
[0021] 結合本發(fā)明第一方面第二實施方式,本發(fā)明第一方面第=實施方式中,所述驗證 所述分類模型的準確率是否達到預置條件,包括:
[0022] 獲取測試語料列表,所述測試語料列表包含至少一個測試語料,所述測試語料的 文本類別已知;
[0023] 從所述測試語料列表中選取一個測試語料,并根據(jù)所述測試語料得到測試語料數(shù) 據(jù)及所述測試語料的已知文本類別;
[0024] 根據(jù)分類模型及所述測試語料數(shù)據(jù)得到所述測試語料的測試文本類別;
[0025] 判斷所述已知文本類別與所述測試文本類別是否一致;
[0026] 若所述已知文本類別與所述測試文本類別一致,則所述分類模型的準確次數(shù)加一 次;
[0027] 若所述已知文本類別與所述測試文本類別不一致,則所述分類模型的錯誤次數(shù)加 一次;
[0028] 當所述測試語料列表中所有的測試語料都判斷完成時,根據(jù)所述準確次數(shù)和所述 錯誤次數(shù)計算得到所述分類模型的準確率;
[0029] 判斷所述分類模型的準確率是否達到預置條件。
[0030] 結合本發(fā)明第一方面、第一方面第一實施方式、第一方面第二實施方式或第一方 面第=實施方式,本發(fā)明第一方面第四實施方式中,所述方法還包括:
[0031] 若所述分類模型的準確率未達到預置條件,則不使用所述分類模型,并重新生成 新的分類模型。
[0032] 本發(fā)明第二方面提供一種文本分類系統(tǒng),包括:
[0033] 建立模塊,用于建立類別詞庫及訓練語料庫,所述訓練語料庫中包含訓練語料,所 述訓練語料的文本類別已知;
[0034] 分類器訓練模塊,用于根據(jù)所述訓練語料庫中的所述訓練語料進行分類器訓練, 生成分類模型;
[0035] 分類器,用于驗證所述分類模型的準確率是否達到預置條件;
[0036] 所述分類器,還用于當所述分類模型的準確率達到預置條件時,獲取預測文本,根 據(jù)所述分類模型得到所述預測文本的文本類別。
[0037] 結合本發(fā)明第二方面,本發(fā)明第二方面第一實施方式中,所述建立模塊包括:類別 詞庫建立單元及訓練語料庫建立單元;
[0038] 所述類別詞庫建立單元,用于獲取類別詞,根據(jù)所述類別詞建立類別詞庫,所述類 別詞用于表示文本類別;
[0039] 所述訓練語料庫建立單元,用于獲取已知文本類別的訓練語料,生成訓練語料列 表,根據(jù)所述訓練語料列表建立訓練語料庫。
[0040] 結合本發(fā)明第二方面第一實施方式,本發(fā)明第二方面第二實施方式中,所述分類 器訓練模塊包括:特征提取單元、權重計算單元、格式轉換單元、歸一化處理單元及訓練單 元;
[0041] 所述特征提取單元,用于對所述訓練語料列表中每一條訓練語料進行特征提取, 得到文本特征;
[0042] 所述權重計算單元,用于計算得到所述文本特征的權重;
[0043] 所述格式轉換單元,用于對所述文本特征及所述文本特征的權重進行降維,并轉 化為LIBSVM格式數(shù)據(jù);
[0044] 所述歸一化處理單元,用于對所述LIBSVM格式數(shù)據(jù)進行歸一化處理,得到訓練語 料數(shù)據(jù);
[0045] 所述訓練單元,用于根據(jù)所述訓練語料數(shù)據(jù)進行分類器訓練,得到分類模型。
[0046] 結合本發(fā)明第二方面第二實施方式,本發(fā)明第二方面第=實施方式中,所述分類 器包括:語料獲取單元、語料處理單元及判斷單元;
[0047] 所述語料獲取單元,用于獲取測試語料列表,所述測試語料列表包含至少一個測 試語料,所述測試語料的文本類別已知;
[0048] 所述語料處理單元,用于從所述測試語料列表中選取一個測試語料,并根據(jù)所述 測試語料得到測試語料數(shù)據(jù)及所述測試語料的已知文本類別;
[0049] 所述語料處理單元,用于根據(jù)分類模型及所述測試語料數(shù)據(jù)得到所述測試語料的 測試文本類別;
[0050] 所述判斷單元,用于判斷所述已知文本類別與所述測試文本類別是否一致;
[0051] 所述語料處理單元,還用于當所述已知文本類別與所述測試文本類別一致時,所 述分類模型的準確次數(shù)加一次;
[0052] 所述語料處理單元,還用于當所述已知文本類別與所述測試文本類別不一致時, 所述分類模型的錯誤次數(shù)加一次;
[0053] 所述語料處理單元,還用于當所述測試語料列表中所有的測試語料都判斷完成 時,根據(jù)所述準確次數(shù)和所述錯誤次數(shù)計算得到所述分類模型的準確率;
[0054] 所述判斷單元,還用于判斷所述分類模型的準確率是否達到預置條件。
[0055] 結合本發(fā)明第二方面、第二方面第一實施方式、第二方面第二實施方式或第二方 面第=實施方式,本發(fā)明第二方面第四實施方式中,
[0056] 所述分類器訓練模塊,還用于當所述分類模型的準確率未達到預置條件時,不使 用所述分類模型,并重新生成新的分類模型。
[0057] 綜上所述,本發(fā)明實施例具有W下優(yōu)點:
[0058] 文本分類系統(tǒng)建立類別詞庫及訓練語料庫,根據(jù)訓練語料庫中的訓練語料進行分 類器訓練,生成分類模型,驗證分類模型的準確率是否達到預置條件,若是,則獲取預測文 本,根據(jù)分類模型得到預測文本的文本類別,由于在進行預測文本的文本分類操作之前,對 分類模型進行校驗,只有當分類模型的準確率達到預置條件時,才能進行預測文本的文本 分類,與現(xiàn)有技術相比,降低了預測文本分類錯誤的概率,從而提高了對預測文本的文本分 類的準確率。
【附圖說明】
[0059] 為了更清楚地說明本發(fā)明實施例技術方案,下面將對實施例和現(xiàn)有技術描述中所 需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施 例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可W根據(jù)運些附圖獲 得其它的附圖。
[0060] 圖1為本發(fā)明實施例中文本分類的方法一個實施例的流程示意圖;
[0061 ]圖2為本發(fā)明實施例中生成分類模型的流程示意圖;
[0062] 圖3為本發(fā)明實施例中驗證分類模型的準確率的流程示意圖;
[0063] 圖4為本發(fā)明實施例中文本分類系統(tǒng)的一個實施例的結構示意圖;
[0064] 圖5為本發(fā)明實施例中文本分類系統(tǒng)的另一個實施例的結構示意圖。
【具體實施方式】
[0065] 本發(fā)明實施例提供了一種文本分類的方法及文本分類系統(tǒng),用于根據(jù)訓練語料進 行分類器訓練生成分類模型,在進行預測文本分類之前,對分類模型的準確率進行驗證,從 而提高了預測文本的文本分類的準確率。
[0066] 為了使本技術領域的人員更好地理解本發(fā)明方案,下面將結合本發(fā)明實施例中的 附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是 本發(fā)明一部分的實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人 員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應當屬于本發(fā)明保護的范 圍。
[0067] 請參閱圖1,本發(fā)明實施例提供一種文本分類的方法,包括:
[0068] 101、建立類別詞庫及訓練語料庫;
[0069] 本實施例中,在進行分類器訓練之前,需要建立類別詞庫和訓練語料庫,其中訓練 語料庫中包含訓練語料,訓練語料即為已知文本類別的文本。
[0070] 102、根據(jù)訓練語料庫中的訓練語料進行分類器訓練,生成分類模型;
[0071] 本實施例中,建立訓練語料庫之后,根據(jù)訓練語料庫中的訓練語料進行分類器訓 練,生成分類模型。
[0072] 103、驗證分類模型的準確率是否達到預置條件,若是,則執(zhí)行步驟104;
[0073] 本實施例中,在生成分類模型后,對分類模型的準確率進行驗證,達到預置條件 后,執(zhí)行步驟104,例如分類模型的準確率達到96% W上,才能使用該分類模型進行文本分 類。
[0074] 104、獲取預測文本,根據(jù)分類模型得到預測文本的文本類別。
[0075] 本實施例中,在分類模型的準確率達到預置條件后,獲取預測文本,預測文本的文 本分類是未知的,根據(jù)分類模型對預測文本進行文本分類,得到預測文本的文本類別。
[0076] 本發(fā)明實施例中,文本分類系統(tǒng)建立類別詞庫及訓練語料庫,根據(jù)訓練語料庫中 的訓練語料進行分類器訓練,生成分類模型,驗證分類模型的準確率是否達到預置條件,若 是,則獲取預測文本,根據(jù)分類模型得到預測文本的文本類別,由于在進行預測文本的文本 分類操作之前,對分類模型進行校驗,只有當分類模型的準確率達到預置條件時,才能進行 預測文本的文本分類,與現(xiàn)有技術相比,降低了預測文本分類錯誤的概率,從而提高了對預 測文本的文本分類的準確率。
[0077] 可選的,本發(fā)明的一些實施例中,建立類別詞庫及訓練語料庫,包括:
[0078] 獲取類別詞,根據(jù)類別詞建立類別詞庫,類別詞用于表示文本類別;
[0079] 獲取已知文本類別的訓練語料,生成訓練語料列表,根據(jù)訓練語料列表建立訓練 語料庫。
[0080] 本實施例中,用戶可W根據(jù)需求在文本分類系統(tǒng)建立類別代碼,類別代碼即為類 別詞,類別詞包括汽車類、時尚/運動、科技、家電、汽車、奢侈品、醫(yī)藥、通信、金融、媒體、零 售、工業(yè)品、煙草及公共事務等,如果用戶需要將大量的文本分類為通信類、金融類及工業(yè) 品類,那么輸入類別詞"通信"、"金融"及"工業(yè)品",根據(jù)獲取到類別詞(通信、金融及工業(yè) 品)建立類別詞庫,由于進行分類器訓練是需要通過大量語料來實現(xiàn)的,因此需要建立訓練 語料庫,獲取大量的已知文本類別的訓練語料,將訓練語料生成訓練語料列表,根據(jù)訓練語 料列表建立訓練語料庫。
[0081] 可選的,本發(fā)明的一些實施例中,根據(jù)類別詞庫及訓練語料庫中的訓練語料進行 分類器訓練,生成分類模型,包括:
[0082] 201、對訓練語料列表中每一條訓練語料進行特征提取,得到文本特征;
[0083] 本實施例中,W訓練語料列表中的一條訓練語料的特征提取進行舉例說明,假設 訓練語料列表中的一條訓練語料的語料內(nèi)容為:【隨著經(jīng)濟的發(fā)展,越來越多的企業(yè)更加重 視閑置資金的利用,通過投資股票等方式,提高閑置資金的使用效率。但企業(yè)往往忽略了股 票轉讓收入應當繳納營業(yè)稅的問題。2014年第一季度,稽查局在檢查中就已發(fā)現(xiàn)3戶企業(yè)股 票轉讓收入未申報繳納營業(yè)稅,共計查處稅款317萬元。由此可見納稅人股票轉讓收入未申 報繳納營業(yè)稅的問題較為普遍。《中華人民共和國營業(yè)稅暫行條例》第五條第四款規(guī)定:外 匯、有價證券、期貨等金融商品買賣業(yè)務,W賣出價減去買入價后的余額為營業(yè)額。自2013 年12月1日起,納稅人從事金融商品轉讓業(yè)務,不再按股票、債券、外匯、其他四大類來劃分, 統(tǒng)一歸為"金融商品",不同品種金融商品買賣出現(xiàn)的正負差,在同一個納稅期內(nèi)可W相抵, 按盈虧相抵后的余額為營業(yè)額計算繳納營業(yè)稅。若相抵后仍出現(xiàn)負差的,可結轉下一個納 稅期相抵,但在年末時仍出現(xiàn)負差的,不得轉入下一個會計年度。因此納稅人買賣股票等有 價證券取得收益時,應按賣出價減去買入價后的余額正確計算營業(yè)額。按"金融保險業(yè)"稅 目申報繳納營業(yè)稅?!?br>[0084] 對此訓練語料進行特征提取,特征提取即自然語言分詞,自然語言分詞具有數(shù)字 發(fā)現(xiàn)、詞性標注、條件隨機場(Condi tiona 1 Random Fi e 1 dS,CRF)分詞、用戶自定義詞典的 識別、進行新詞發(fā)現(xiàn)及修復人名左右連接等功能,特征提取結果如下:
[0085] 【隨著/p,經(jīng)濟/n,的/u j,發(fā)展/Vn,,/w,越來越/d,多/m,的/u j,企業(yè)/n,更加/d,重 視A,閑置A,資金/n,的Aij,利用A,,/W,通過/p,投資An,股票/n,等Al,方式/n,,/W,提 高/V,閑置/V,資金/n,的Aij,使用/V,效率/n,"/w,但/c,企業(yè)/n,往往/d,忽略/V,了M,股 票/]1,轉讓八,收入/]1,應當八,繳納八,營業(yè)稅/]1,的/化問題/]1,。/\¥,/]11',2014年/111,第一 季度/nz,,/w,稽查局/nis,在/p,檢查An,中A?,就/d,已/d,發(fā)現(xiàn)/v,3戶/m,企業(yè)/n,股票/ n,轉讓/v,收入/n,未Al,申報/v,繳納/v,營業(yè)稅/n,,/w,共計/v,查處/v,稅款/n,317萬元/ m,。/*,由此可見/c,納稅人/n,股票/n,轉讓A,收入/n,未/d,申報A,繳納/V,營業(yè)稅/n, 的/u j,問題/n,較為/d,普遍/ad,d/w,《/w,中華人民共和國營業(yè)稅/nw,暫行條例/nz,》/w, 第五條/m,第四款/m,規(guī)定/n, :/w,外匯/n,、/w,有價證券/I,、/w,期貨/n,等/u,金融/n,商 品/n,買賣A,業(yè)務/n,,W/nw,賣出價/n,減去/v,買入價/n,后處,的Al j,余額/n,為/p,營 業(yè)額/n, d/w,自/p,2013年/m, 12月/m, 1日/m,起/V,,/w,納稅人/n,從事/V,金融/n,商品/n, 轉讓/V,業(yè)務/n,,/w,不再/d,按/p,股票/n,、/w,債券/n,、/w,外匯/n,、/w,其他/r,四大/n, 類/q,來/v,劃分/v,,/V,統(tǒng)一/Vn,歸/v,為/p,Vw,金融/n,商品/n,",/nw,不同/a,品種/n, 金融/n,商品/n,買賣/V,出現(xiàn)/V,的Aij,正負/n,差,/nw,在/p,同一個/b,納稅/V,期內(nèi)處, 可WA,相抵A,,/W,按/p,盈虧/n,相抵A,后處,的Al j,余額/n,為/p,營業(yè)額/n,計算A, 繳納/v,營業(yè)稅/n,d/w,若/c,相抵/v,后A,仍/d,出現(xiàn)/v,負差/nw,的/u j,,/w,可/v,結轉/ V,下處,一個/m,納稅期/nw,相抵A,,/w,但/c,在/p,年末/t,時/ng,仍/d,出現(xiàn)A,負差/ nw,的/u j,,/w,不得/v,轉入/v,下處,一個/m,會計年度/nz,。/w,/nr,因此/c,納稅人/n,買 賣A,股票/n,等/u,有價證券/n,取得/v,收益/n,時/ng,,/w,應/v,按/p,賣出價/n,減去/ V,買入價/n,后處,的/u j,余額/n,正確/a,計算A,營業(yè)額/n,。/w,按/p,Vw,金融/n,保險 業(yè)/n," /W,稅目/n,申報A,繳納A,營業(yè)稅/n,。/V】
[0086] 其中,字母代表詞性標記,例如"營業(yè)稅/n",表示"營業(yè)稅"運個詞的詞性為名詞。
[0087] 需要說明的是,在進行特征提取時,還需要導入標準停止詞,根據(jù)標準停止詞建立 停止詞庫,標準停止詞一般是使用頻率很多的字或詞,例如"在"、"里面"、"也"、"的"、"它" 及"為"等等,運些詞都是標準停止詞,沒有具體的含義。
[0088] 需要說明的是,在進行特征提取時,用戶還可W自定義詞庫,例如用戶自定義新詞 "創(chuàng)新工場"。根據(jù)原特征提取結果"創(chuàng)新工場官網(wǎng)"為"創(chuàng)新,工場,官網(wǎng)",自定義新詞后特 征提取結果是"創(chuàng)新工場,官網(wǎng)"。
[0089] 202、計算得到文本特征的權重;
[0090] 本實施例中,根據(jù)特征權重公式計算得到文本特征的權重,特征權重公式如下:
[0091] 權重=(總文本長度-偏移量)*詞性分數(shù)/總文本長度
[0092] 其中,總文本長度為訓練語料的內(nèi)容總長度,偏移量為預設值,詞性分數(shù)按照表1 得到,W "隨著/V'為例進行說明,總文本長度為449,詞性分數(shù)為0,偏移量為0,則得到的權 重值為1。
[0093] 表 1 r00941
[OOM] 203、對文本特征及文本特征的權重進行降維,并轉化為LIBSVM格式數(shù)據(jù);
[0096] 本實施例中,對文本特征進行降維,例如提取出文本特征前20個權重,如下:
[0097] 【股票/54.62616401094127,營業(yè)稅/44.67735081330457,
[009引 金融/41.990145599097545,繳納/38.416783057092005,
[0099] 商品/32.73877497614054,轉讓/29.231052892116672,
[0100] 相抵/28.197196705616545,企業(yè)/27.36436454772649,
[0101 ]收入/26.379739736413995,納稅人/24.82075045183587,
[0102] 余額/23.15919608274603,營業(yè)額/23.097657032039002,
[0103] 第一季度/22.33931550407563,申報/19.79916649226036,
[0104] 買賣/19.4340:34743853566,出現(xiàn)/19.056595183702726,
[0105] 中華人民共和國營業(yè)稅/18.374969046575433,資金/17.98991582335542,暫行條 例/16.985264680784777,問題/16.964264978238237】
[0106] 降維之后,將提取出的文本特征及權重轉化成LIBSVM格式數(shù)據(jù),LIBSVM格式如下 (index代表文本特征中特征詞順序):
[0107] 類別空格indexl: valuel空格index2: value2......
[0108] 金融 1:54. 62616401094127 2:44.67735081330457 3: 41.990145599097545......
[0109] indexl為股票,index2營業(yè)稅,依此類推。
[0110] 204、對LIBSVM格式數(shù)據(jù)進行歸一化處理,得到訓練語料數(shù)據(jù);
[0111] 本實施例中,LIBSVM格式數(shù)據(jù)進行縮放即歸一化處理,是為了避免一些權重值范 圍過大而另一些權重值范圍過小,會對訓練精度產(chǎn)生誤差,歸一化就是將權重值縮放到0至 1范圍,權重值最大為1,最小為0,例如,歸一化LIBSVM格式數(shù)據(jù),得到訓練語料數(shù)據(jù),如下:
[0112] 金融 1:0.33092215627381105 2:0.48276373123433286......
[0113] 205、根據(jù)訓練語料數(shù)據(jù)進行分類器訓練,得到分類模型。
[0114] 本實施例中,根據(jù)訓練語料數(shù)據(jù)進行分類器訓練,得到分類模型,例如分類模型可 W從一個未知分類的文本的數(shù)據(jù)" 1:0. 33092215627381105 2: 0.48276373123433286......",得到該文本的類型為"金融"。
[0115] 在上述實施例分類器訓練得到分類模型之后,還需要對分類模型的準確率進行驗 證。
[0116] 可選的,本發(fā)明的一些實施例中,驗證分類模型的準確率是否達到預置條件,包 括:
[0117] 301、獲取測試語料列表,測試語料列表包含至少一個測試語料,測試語料的文本 類別已知;
[0118] 本實施例中,由于在分類模型的準確率計算中是需要通過大量的語料測試之后才 能得到的,那么需要獲取測試語料列表,列表中包含至少一個測試語料,測試語料的文本類 別是已知的。
[0119] 302、從測試語料列表中選取一個測試語料,并根據(jù)測試語料得到測試語料數(shù)據(jù)及 測試語料的已知文本類別;
[0120]本實施例中,從測試語料列表中選取一個測試語料,由于測試語料的文本類別是 已知的,那么可W直接得到已知文本類別(通信),根據(jù)測試語料得到測試語料數(shù)據(jù)的具體 操作方式如步驟201至204所述。
[0121 ] 303、根據(jù)分類模型及測試語料數(shù)據(jù)得到測試語料的測試文本類別;
[0122] 本實施例中,根據(jù)生成的分類模型和測試語料數(shù)據(jù)得到測試語料的測試文本類 別。
[0123] 304、判斷已知文本類別與測試文本類別是否一致,若一致,執(zhí)行步驟305,若不一 致,執(zhí)行步驟306;
[0124] 本實施例中,判斷已知文本類別與測試文本類別是否一致,例如測試文本類別為 媒體,而已知文本類別為通信,那么不一致,執(zhí)行步驟305,如果測試文本類別為通信,那么 執(zhí)行步驟306。
[0125] 305、分類模型的準確次數(shù)加一次;
[01%]本實施例中,為分類模型的準確次數(shù)疊加一次。
[0127] 306、分類模型的錯誤次數(shù)加一次;
[0128] 本實施例中,為分類模型的錯誤次數(shù)疊加一次。
[0129] 307、當測試語料列表中所有的測試語料都判斷完成時,根據(jù)準確次數(shù)和錯誤次數(shù) 計算得到分類模型的準確率;
[0130] 本實施例中,當測試語料列表中所有的測試語料都判斷完成時,根據(jù)準確次數(shù)和 錯誤次數(shù)計算得到分類模型的準確率。
[0131] 308、判斷分類模型的準確率是否達到預置條件。
[0132] 本實施例中,判斷分類模型的準確率是否達到預置條件,為了保證文本分類的準 確性,需要分類模型的準確率達到96% W上,那么預置條件即為96%。
[0133] 本發(fā)明實施例中,對分類模型的準確率進行驗證的細化使得方案更加詳細。
[0134] 可選的,本發(fā)明的一些實施例中,還包括:
[0135] 若分類模型的準確率未達到預置條件,則不使用分類模型,并重新生成新的分類 模型。
[0136] 本發(fā)明實施例中,在分類模型的準確率未達到預置條件時,文本分類的準確度達 不到要求,不使用分類模型,并且重新進行分類器訓練,生成新的分類模型。
[0137] 上述實施例中介紹本發(fā)明中文本分類的方法,下面通過實施例對文本分類系統(tǒng)進 行說明。
[0138] 請參閱圖4,本發(fā)明實施例提供一種文本分類系統(tǒng),包括:
[0139] 建立模塊401,用于建立類別詞庫及訓練語料庫,訓練語料庫中包含訓練語料,訓 練語料的文本類別已知;
[0140] 分類器訓練模塊402,用于根據(jù)訓練語料庫中的訓練語料進行分類器訓練,生成分 類模型;
[0141] 分類器403,用于驗證分類模型的準確率是否達到預置條件;
[0142] 分類器403,還用于當分類模型的準確率達到預置條件時,獲取預測文本,根據(jù)分 類模型得到預測文本的文本類別。
[0143] 本發(fā)明實施例中,文本分類系統(tǒng)中的建立模塊401建立類別詞庫及訓練語料庫,分 類器訓練模塊402根據(jù)訓練語料庫中的訓練語料進行分類器訓練,生成分類模型,分類器 403驗證分類模型的準確率是否達到預置條件,若是,則分類器403獲取預測文本,根據(jù)分類 模型得到預測文本的文本類別,由于在進行預測文本的文本分類操作之前,對分類模型進 行校驗,只有當分類模型的準確率達到預置條件時,才能進行預測文本的文本分類,與現(xiàn)有 技術相比,降低了預測文本分類錯誤的概率,從而提高了預測文本的文本分類的準確率。
[0144] 可選的,如圖5所示,本發(fā)明的一些實施例中,建立模塊401包括:類別詞庫建立單 元501及訓練語料庫建立單元502;
[0145] 類別詞庫建立單元501,用于獲取類別詞,根據(jù)類別詞建立類別詞庫,類別詞用于 表示文本類別;
[0146] 訓練語料庫建立單元502,用于獲取已知文本類別的訓練語料,生成訓練語料列 表,根據(jù)訓練語料列表建立訓練語料庫。
[0147] 本實施例中,用戶可W根據(jù)需求在文本分類系統(tǒng)建立類別代碼,類別代碼即為類 別詞,類別詞包括汽車類、時尚/運動、科技、家電、汽車、奢侈品、醫(yī)藥、通信、金融、媒體、零 售、工業(yè)品、煙草及公共事務等,如果用戶需要將大量的文本分類為通信類、金融類及工業(yè) 品類,那么輸入類別詞"通信"、"金融"及"工業(yè)品",類別詞庫建立單元501根據(jù)獲取到類別 詞(通信、金融及工業(yè)品)建立類別詞庫,由于進行分類器訓練是需要通過大量語料來實現(xiàn) 的,因此需要建立訓練語料庫,訓練語料庫建立單元502獲取大量的已知文本類別的訓練語 料,將訓練語料生成訓練語料列表,根據(jù)訓練語料列表建立訓練語料庫。
[0148] 可選的,如圖5所示,本發(fā)明的一些實施例中,分類器訓練模塊402包括:特征提取 單元503、權重計算單元504、格式轉換單元505、歸一化處理單元506及訓練單元507;
[0149] 特征提取單元503,用于對訓練語料列表中每一條訓練語料進行特征提取,得到文 本特征;
[0150] 權重計算單元504,用于計算得到文本特征的權重;
[0151] 格式轉換單元505,用于對文本特征及文本特征的權重進行降維,并轉化為LIBSVM 格式數(shù)據(jù);
[0152] 歸一化處理單元506,用于對LIBSVM格式數(shù)據(jù)進行歸一化處理,得到訓練語料數(shù) 據(jù);
[0153] 訓練單元507,用于根據(jù)訓練語料數(shù)據(jù)進行分類器訓練,得到分類模型。
[0154] 本發(fā)明實施例中,詳情請參閱步驟201至205。
[01 W]可選的,本發(fā)明的一些實施例中,分類器403包括:語料獲取單元508、語料處理單 元509及判斷單元510;
[0156] 語料獲取單元508,用于獲取測試語料列表,測試語料列表包含至少一個測試語 料,測試語料的文本類別已知;
[0157] 語料處理單元509,用于從測試語料列表中選取一個測試語料,并根據(jù)測試語料得 到測試語料數(shù)據(jù)及測試語料的已知文本類別;
[0158] 語料處理單元509,用于根據(jù)分類模型及測試語料數(shù)據(jù)得到測試語料的測試文本 類別;
[0159] 判斷單元510,用于判斷已知文本類別與測試文本類別是否一致;
[0160] 語料處理單元509,還用于當已知文本類別與測試文本類別一致時,分類模型的準 確次數(shù)加一次;
[0161] 語料處理單元509,還用于當已知文本類別與測試文本類別不一致時,分類模型的 錯誤次數(shù)加一次;
[0162] 語料處理單元509,還用于當測試語料列表中所有的測試語料都判斷完成時,根據(jù) 準確次數(shù)和錯誤次數(shù)計算得到分類模型的準確率;
[0163] 判斷單元510,還用于判斷分類模型的準確率是否達到預置條件。
[0164] 本發(fā)明實施例中,詳情請參閱步驟301至308。
[01化]可選的,本發(fā)明的一些實施例中,
[0166] 分類器訓練模塊402,還用于當分類模型的準確率未達到預置條件時,不使用分類 模型,并重新生成新的分類模型。
[0167] 本發(fā)明實施例中,在分類模型的準確率未達到預置條件時,文本分類的準確度達 不到要求,不使用分類模型,并且分類器訓練模塊402重新進行分類器訓練,生成新的分類 模型。
[0168] 所屬領域的技術人員可W清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng), 設備和單元的具體工作過程,可W參考前述方法實施例中的對應過程,在此不再寶述。
[0169] 在本申請所提供的幾個實施例中,應該理解到,所掲露的系統(tǒng),設備和方法,可W 通過其它的方式實現(xiàn)。例如,W上所描述的設備實施例僅僅是示意性的,例如,所述單元的 劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可W有另外的劃分方式,例如多個單元或組件 可W結合或者可W集成到另一個系統(tǒng),或一些特征可W忽略,或不執(zhí)行。另一點,所顯示或 討論的相互之間的禪合或直接禪合或通信連接可W是通過一些接口,設備或單元的間接禪 合或通信連接,可W是電性,機械或其它的形式。
[0170] 所述作為分離部件說明的單元可W是或者也可W不是物理上分開的,作為單元顯 示的部件可W是或者也可W不是物理單元,即可W位于一個地方,或者也可W分布到多個 網(wǎng)絡單元上??蒞根據(jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目 的。
[0171] 另外,在本發(fā)明各個實施例中的各功能單元可W集成在一個處理單元中,也可W 是各個單元單獨物理存在,也可W兩個或兩個W上單元集成在一個單元中。上述集成的單 元既可W采用硬件的形式實現(xiàn),也可W采用軟件功能單元的形式實現(xiàn)。
[0172] 所述集成的單元如果W軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用 時,可W存儲在一個計算機可讀取存儲介質中?;谶\樣的理解,本發(fā)明的技術方案本質上 或者說對現(xiàn)有技術做出貢獻的部分或者該技術方案的全部或部分可WW軟件產(chǎn)品的形式 體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質中,包括若干指令用W使得一臺計算機 設備(可W是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述方法的全 部或部分步驟。而前述的存儲介質包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memo巧)、隨機存取存儲器(RAM,Random Access Memcxry)、磁碟或者光盤等各種可W存儲程 序代碼的介質。
[0173] W上所述,W上實施例僅用W說明本發(fā)明的技術方案,而非對其限制;盡管參照前 述實施例對本發(fā)明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可W對前 述各實施例所記載的技術方案進行修改,或者對其中部分技術特征進行等同替換;而運些
【主權項】
1. 一種文本分類的方法,其特征在于,包括: 建立類別詞庫及訓練語料庫,所述訓練語料庫中包含訓練語料,所述訓練語料的文本 類別已知; 根據(jù)所述訓練語料庫中的所述訓練語料進行分類器訓練,生成分類模型; 驗證所述分類模型的準確率是否達到預置條件; 若是,則獲取預測文本,根據(jù)所述分類模型得到所述預測文本的文本類別。2. 根據(jù)權利要求1所述的文本分類的方法,其特征在于,所述建立類別詞庫及訓練語料 庫,包括: 獲取類別詞,根據(jù)所述類別詞建立類別詞庫,所述類別詞用于表示文本類別; 獲取已知文本類別的訓練語料,生成訓練語料列表,根據(jù)所述訓練語料列表建立訓練 語料庫。3. 根據(jù)權利要求2所述的文本分類的方法,其特征在于,所述根據(jù)所述訓練語料庫中的 所述訓練語料進行分類器訓練,生成分類模型,包括: 對所述訓練語料列表中每一條訓練語料進行特征提取,得到文本特征; 計算得到所述文本特征的權重; 對所述文本特征及所述文本特征的權重進行降維,并轉化為LIBSVM格式數(shù)據(jù); 對所述LIBSVM格式數(shù)據(jù)進行歸一化處理,得到訓練語料數(shù)據(jù); 根據(jù)所述訓練語料數(shù)據(jù)進行分類器訓練,得到分類模型。4. 根據(jù)權利要求3所述的文本分類的方法,其特征在于,所述驗證所述分類模型的準確 率是否達到預置條件,包括: 獲取測試語料列表,所述測試語料列表包含至少一個測試語料,所述測試語料的文本 類別已知; 從所述測試語料列表中選取一個測試語料,并根據(jù)所述測試語料得到測試語料數(shù)據(jù)及 所述測試語料的已知文本類別; 根據(jù)分類模型及所述測試語料數(shù)據(jù)得到所述測試語料的測試文本類別; 判斷所述已知文本類別與所述測試文本類別是否一致; 若所述已知文本類別與所述測試文本類別一致,則所述分類模型的準確次數(shù)加一次; 若所述已知文本類別與所述測試文本類別不一致,則所述分類模型的錯誤次數(shù)加一 次; 當所述測試語料列表中所有的測試語料都判斷完成時,根據(jù)所述準確次數(shù)和所述錯誤 次數(shù)計算得到所述分類模型的準確率; 判斷所述分類模型的準確率是否達到預置條件。5. 根據(jù)權利要求1至4中任一項所述的文本分類的方法,其特征在于,所述方法還包括: 若所述分類模型的準確率未達到預置條件,則不使用所述分類模型,并重新生成新的 分類模型。6. -種文本分類系統(tǒng),其特征在于,包括: 建立模塊,用于建立類別詞庫及訓練語料庫,所述訓練語料庫中包含訓練語料,所述訓 練語料的文本類別已知; 分類器訓練模塊,用于根據(jù)所述訓練語料庫中的所述訓練語料進行分類器訓練,生成 分類模型; 分類器,用于驗證所述分類模型的準確率是否達到預置條件; 所述分類器,還用于當所述分類模型的準確率達到預置條件時,獲取預測文本,根據(jù)所 述分類模型得到所述預測文本的文本類別。7. 根據(jù)權利要求6所述的文本分類系統(tǒng),其特征在于,所述建立模塊包括:類別詞庫建 立單元及訓練語料庫建立單元; 所述類別詞庫建立單元,用于獲取類別詞,根據(jù)所述類別詞建立類別詞庫,所述類別詞 用于表示文本類別; 所述訓練語料庫建立單元,用于獲取已知文本類別的訓練語料,生成訓練語料列表,根 據(jù)所述訓練語料列表建立訓練語料庫。8. 根據(jù)權利要求7所述的文本分類系統(tǒng),其特征在于,所述分類器訓練模塊包括:特征 提取單元、權重計算單元、格式轉換單元、歸一化處理單元及訓練單元; 所述特征提取單元,用于對所述訓練語料列表中每一條訓練語料進行特征提取,得到 文本特征; 所述權重計算單元,用于計算得到所述文本特征的權重; 所述格式轉換單元,用于對所述文本特征及所述文本特征的權重進行降維,并轉化為 LIBSVM格式數(shù)據(jù); 所述歸一化處理單元,用于對所述LIBSVM格式數(shù)據(jù)進行歸一化處理,得到訓練語料數(shù) 據(jù); 所述訓練單元,用于根據(jù)所述訓練語料數(shù)據(jù)進行分類器訓練,得到分類模型。9. 根據(jù)權利要求8所述的文本分類系統(tǒng),其特征在于,所述分類器包括:語料獲取單元、 語料處理單元及判斷單元; 所述語料獲取單元,用于獲取測試語料列表,所述測試語料列表包含至少一個測試語 料,所述測試語料的文本類別已知; 所述語料處理單元,用于從所述測試語料列表中選取一個測試語料,并根據(jù)所述測試 語料得到測試語料數(shù)據(jù)及所述測試語料的已知文本類別; 所述語料處理單元,用于根據(jù)分類模型及所述測試語料數(shù)據(jù)得到所述測試語料的測試 文本類別; 所述判斷單元,用于判斷所述已知文本類別與所述測試文本類別是否一致; 所述語料處理單元,還用于當所述已知文本類別與所述測試文本類別一致時,所述分 類模型的準確次數(shù)加一次; 所述語料處理單元,還用于當所述已知文本類別與所述測試文本類別不一致時,所述 分類模型的錯誤次數(shù)加一次; 所述語料處理單元,還用于當所述測試語料列表中所有的測試語料都判斷完成時,根 據(jù)所述準確次數(shù)和所述錯誤次數(shù)計算得到所述分類模型的準確率; 所述判斷單元,還用于判斷所述分類模型的準確率是否達到預置條件。10. 根據(jù)權利要求6至9中任一項所述的文本分類系統(tǒng),其特征在于, 所述分類器訓練模塊,還用于當所述分類模型的準確率未達到預置條件時,不使用所 述分類模型,并重新生成新的分類模型。
【文檔編號】G06K9/62GK106021461SQ201610327131
【公開日】2016年10月12日
【申請日】2016年5月17日
【發(fā)明人】李奕錦, 劉祥濤, 趙彥暉, 孫淏添
【申請人】深圳市中潤四方信息技術有限公司