一種基于詞矢量的短文本分類模型生成方法與分類方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及文本挖掘領(lǐng)域,特別涉及一種基于詞矢量的短文本分類模型生成方法與分類方法。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,大量文本信息及數(shù)據(jù)涌現(xiàn)。為了有效地管理和利用這些信息,基于內(nèi)容的信息檢索和數(shù)據(jù)挖掘逐漸成為備受關(guān)注的領(lǐng)域。其中,文本分類技術(shù)是信息檢索和文本挖掘的重要基礎(chǔ),其主要任務(wù)是在預先給定的類別標記集合下,根據(jù)文本內(nèi)容判定它的類別。文本分類在自然語言處理與理解、信息組織與管理、內(nèi)容信息過濾等領(lǐng)域發(fā)揮著重要的作用。
[0003]然而,最近由于社交網(wǎng)絡(luò)和電子商務(wù)的發(fā)展,諸如微博、即時信息、商品評價、影評等短文本形式的文本數(shù)據(jù)爆炸式地增長,所謂的短文本通常是一句簡單的話,它具有包含的字數(shù)較少,不便于統(tǒng)計等特點。如何能夠從這些短文本中提取出有用信息,根據(jù)這些有用信息更好地為用戶提供服務(wù)成為互聯(lián)網(wǎng)服務(wù)的關(guān)鍵。例如,如果一個用戶在微博中經(jīng)常發(fā)一些關(guān)于計算機方面的狀態(tài),那么我們可以自動地向他推薦一些計算機方面的產(chǎn)品、文章、評論等,更好地滿足用戶的需求。傳統(tǒng)的文本分類方法通常是通過計算每個字、詞或短語在特定領(lǐng)域下出現(xiàn)的次數(shù)及概率(即簡單地來講是數(shù)數(shù)機制)來實現(xiàn)文本分類,但是對于新的文本數(shù)據(jù),由于有些字或詞未在之前出現(xiàn)過,那么往往會被忽略。這種簡單的計數(shù)機制沒有充分地考慮文本語義層面上的信息。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的在于克服現(xiàn)有技術(shù)中的文本分類方法不適用于短文本的缺陷,從而提供一種適用于短文本的分類方法。
[0005]為了實現(xiàn)上述目的,本發(fā)明提供了一種基于詞矢量的短文本分類模型生成方法,包括:
[0006]步驟101)、采集數(shù)據(jù),并對所采集的數(shù)據(jù)進行領(lǐng)域標注,將這些已標注的數(shù)據(jù)作為訓練數(shù)據(jù);
[0007]步驟102)、對訓練數(shù)據(jù)做預處理;
[0008]步驟103)、查詢詞矢量詞典,將訓練數(shù)據(jù)中所包含的文本數(shù)據(jù)轉(zhuǎn)化為向量數(shù)據(jù),并且將所述向量數(shù)據(jù)按照領(lǐng)域進行分隔;
[0009]步驟104)、對每一個領(lǐng)域內(nèi)的向量數(shù)據(jù)采用高斯模型進行模型訓練,得到高斯模型參數(shù)的最優(yōu)值,從而得到該領(lǐng)域所對應(yīng)的高斯模型;所有訓練數(shù)據(jù)的各個領(lǐng)域所對應(yīng)的高斯模型組成分類模型。
[0010]上述技術(shù)方案中,還包括:
[0011]步驟105)、采集并標注數(shù)據(jù),將這些已標注的數(shù)據(jù)作為測試數(shù)據(jù);將所述測試數(shù)據(jù)應(yīng)用于步驟104)所得到的訓練模型,由所述訓練模型所生成的結(jié)果驗證訓練模型的有效性,如果訓練模型不合適,進行參數(shù)調(diào)優(yōu)。
[0012]上述技術(shù)方案中,在步驟101)之前還包括:
[0013]從互聯(lián)網(wǎng)中抓取大量的網(wǎng)頁文本文件,對網(wǎng)頁文本文件中的文本數(shù)據(jù)進行詞矢量訓練,得到一個包含有描述詞與矢量對應(yīng)關(guān)系的詞典。
[0014]上述技術(shù)方案中,在步驟102)中,所述預處理包括:剔除訓練數(shù)據(jù)中的無效數(shù)據(jù),去除停用詞。
[0015]上述技術(shù)方案中,在步驟102)中,所述預處理還包括對中文數(shù)據(jù)做分詞操作。
[0016]上述技術(shù)方案中,所述高斯模型的參數(shù)包括高斯均值與方差,高斯模型參數(shù)的最優(yōu)值是指能夠使準確率達到最高的參數(shù)值。
[0017]本發(fā)明還提供了一種基于詞矢量的短文本分類方法,包括:
[0018]步驟201)、輸入所要檢測的文本數(shù)據(jù),對這些待檢測的文本數(shù)據(jù)做預處理;
[0019]步驟202)、將待檢測的文本數(shù)據(jù)輸入所述基于詞矢量的短文本分類模型生成方法所得到的訓練模型中與各個領(lǐng)域相對應(yīng)的高斯模型,得到這一文本數(shù)據(jù)通過各個高斯模型后所生成的后驗概率,將后驗概率最大的那個高斯模型所對應(yīng)的領(lǐng)域信息作為待檢測文本數(shù)據(jù)的分類結(jié)果。
[0020]上述技術(shù)方案中,所述預處理包括:剔除訓練數(shù)據(jù)中的無效數(shù)據(jù),去除停用詞。[0021 ] 上述技術(shù)方案中,所述預處理還包括對中文數(shù)據(jù)做分詞操作。
[0022]本發(fā)明的優(yōu)點在于:
[0023]本發(fā)明的方法通過建立基于詞矢量的分類模型實現(xiàn)短文本的分類,具有分類較高好、識別度高的優(yōu)點。
【附圖說明】
[0024]圖1是本發(fā)明的分類模型生成方法的流程圖;
[0025]圖2是本發(fā)明的分類方法的流程圖。
【具體實施方式】
[0026]為了便于理解,首先對本發(fā)明中所涉及的概念加以說明。
[0027]詞矢量:用一個數(shù)學上的列向量來表示一個詞。一個詞所對應(yīng)的列向量可通過訓練大批量的語料,然后利用諸如word2vec的開源工具處理這些語料得到。
[0028]詞矢量詞典:用于記錄詞矢量的詞典。
[0029]現(xiàn)結(jié)合附圖對本發(fā)明作進一步的描述。
[0030]本發(fā)明的方法包括訓練階段與分類階段,所述分類階段主要利用已標注的數(shù)據(jù)訓練分類模型,而在分類階段則利用已訓練的分類模型對所要檢測的文本數(shù)據(jù)進行分類。下面分別對這兩個階段所要完成的工作分別加以說明。
[0031]參考圖1,本發(fā)明的方法在訓練階段包括下列步驟:
[0032]步驟101)、采集數(shù)據(jù),并對所采集的數(shù)據(jù)進行標注,將這些已標注的數(shù)據(jù)作為訓練數(shù)據(jù)。
[0033]本步驟在采集數(shù)據(jù)時,可根據(jù)應(yīng)用的需求確定所采集數(shù)據(jù)的類型。例如,若本發(fā)明的方法需應(yīng)用于一與金融業(yè)有關(guān)的應(yīng)用,則在采集數(shù)據(jù)時應(yīng)當盡可能地采集一些金融領(lǐng)域的短文本。所采集數(shù)據(jù)的數(shù)量可根據(jù)需要而定,一般來說,數(shù)據(jù)的采集量越大,訓練得到的分類模型越準確。
[0034]對所采集的數(shù)據(jù)進行標注是指對收集到的短文本打上領(lǐng)域標簽,所述的領(lǐng)域標簽能夠反映數(shù)據(jù)所處的領(lǐng)域。比如,對于如下的一個短文本:“Fitbit推出WP應(yīng)用:成首款支持WP的智能手環(huán)”可標注“計算機”領(lǐng)域標簽。
[0035]步驟102)、對訓練數(shù)據(jù)做預處理,所述預處理包括:剔除訓練數(shù)據(jù)中的無效數(shù)據(jù)(如標點、格式符等),去除停用詞(如“的”、“這個”、“那個”等一些沒有實質(zhì)意義的詞)。
[0036]特別的,對于中文數(shù)據(jù)還需要做分詞操作,如何對中文數(shù)據(jù)做分詞操作為本領(lǐng)域技術(shù)人員所公知,此處不再重復。
[0037]步驟103)、查詢詞矢量詞典,將訓練數(shù)據(jù)中所包含的文本數(shù)據(jù)轉(zhuǎn)化為向量數(shù)據(jù),并且按照領(lǐng)域進行分隔。
[0038]在之前的步驟101)中,訓練數(shù)據(jù)中所包含的文本數(shù)據(jù)帶有領(lǐng)域標簽,在將文本數(shù)據(jù)轉(zhuǎn)化為向量數(shù)據(jù)后,這些向量數(shù)據(jù)