一種短文本特征提取方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及文本特征提取和文本分類方法,尤其涉及一種短文本特征提取方法。
【背景技術(shù)】
[0002] 隨著微博、社交網(wǎng)站和熱線電話等應(yīng)用的發(fā)展,越來(lái)越多的信息開始以短文本的 形式呈現(xiàn),并且呈爆炸式增長(zhǎng)。文本挖掘技術(shù)可以幫助人們快速有效的從海量數(shù)據(jù)中獲取 關(guān)鍵信息,而文本特征提取則是文本挖掘的關(guān)鍵步驟。
[0003] 現(xiàn)有的文本特征提取方法大多采用基于Bag of Words (詞袋)模型的方法,該方 法用在長(zhǎng)文本中通常能取得較好的效果,但是用在短文本中常常效果不佳。主要原因是,相 較于長(zhǎng)文本,短文本具有特征稀疏、主題不明確的特點(diǎn)。首先,由于短文本長(zhǎng)度的限制,其特 征詞很少,用向量空間模型生成的特征向量將會(huì)是一個(gè)很稀疏的向量,增加了文本處理的 難度。其次,在長(zhǎng)文本中,跟主題相關(guān)的詞通常會(huì)大量出現(xiàn),可以由此來(lái)判斷整片文章的主 要內(nèi)容;而在短文本中則不能根據(jù)詞頻來(lái)判斷主要內(nèi)容,比如短文本"咨詢羽毛球主題的餐 廳"中,"羽毛球"和"餐廳"的詞頻相同,但顯然該文本的主題是"餐廳",在文本分類時(shí)應(yīng)被 分到"餐飲"這一類而不是"運(yùn)動(dòng)"類別,由此可見(jiàn),主題不明確的問(wèn)題會(huì)影響到短文本的處 理效果。由于短文本具有上述的特征稀疏和主題不明確的特點(diǎn),現(xiàn)有基于Bag of Words模 型的文本特征提取方法應(yīng)用于短文本的特征提取,其處理的難度大,且難以解決短文本主 題不明確的問(wèn)題,從而使得特征提取的效果不佳,處理結(jié)果誤差較大,精確度差。
【發(fā)明內(nèi)容】
[0004] 為了克服上述現(xiàn)有技術(shù)的不足,本發(fā)明提供一種短文本特征提取方法,該方法分 別基于知識(shí)庫(kù)和句法分析,通過(guò)基于百度百科的ESA (Explicit Semantic Analysis,顯示 語(yǔ)義分析)算法為文本引入語(yǔ)義信息,并通過(guò)LDA (Latent Dirichlet Allocation,潛在狄 利克雷分布)學(xué)習(xí)模型發(fā)掘語(yǔ)料庫(kù)中的詞共現(xiàn)信息,以解決短文本特征稀疏的問(wèn)題;再利 用依存句法分析方法將文本中的詞劃分成不同成分,根據(jù)不同成分的詞,提取出能代表文 本主題的詞,調(diào)高這些詞的權(quán)重,以解決短文本主題不明確的問(wèn)題;從而降低短文本特征提 取處理難度,提升短文本特征提取的結(jié)果,提高文本分類的準(zhǔn)確度。
[0005] 本發(fā)明提供的技術(shù)方案是:
[0006] -種短文本特征提取方法,該方法基于知識(shí)庫(kù)和句法分析方法對(duì)短文本進(jìn)行特征 提取,通過(guò)計(jì)算各個(gè)話題的權(quán)值,以話題向量作為短文本最終的特征向量,以解決短文本特 征稀疏和短文本主題不明確的問(wèn)題;包括模型訓(xùn)練過(guò)程和特征提取過(guò)程。
[0007] 可將短文本數(shù)據(jù)分為訓(xùn)練集數(shù)據(jù)、驗(yàn)證集數(shù)據(jù)和測(cè)試集數(shù)據(jù)。短文本特征提取方 法具體包括以下步驟:
[0008] -,模型訓(xùn)練過(guò)程:針對(duì)訓(xùn)練集數(shù)據(jù)進(jìn)行訓(xùn)練;利用驗(yàn)證集數(shù)據(jù)進(jìn)行驗(yàn)證,得到最 高的準(zhǔn)確率對(duì)應(yīng)的權(quán)重組W和最高的準(zhǔn)確率對(duì)應(yīng)的訓(xùn)練模型M ;
[0009] 針對(duì)訓(xùn)練集數(shù)據(jù)進(jìn)行訓(xùn)練,對(duì)訓(xùn)練集中的每篇文檔(短文本),通過(guò)短文本特征提 取方法得到該文檔的話題向量;訓(xùn)練集中的每篇文檔采用該文檔的話題向量表示,作為該 文檔的短文本特征;利用驗(yàn)證集數(shù)據(jù)來(lái)獲得能夠使得分類準(zhǔn)確率為最高的不同類別名詞權(quán) 重值的組合;具體是對(duì)驗(yàn)證集進(jìn)行分詞和賦予權(quán)重值,通過(guò)枚舉權(quán)重值的方法進(jìn)行分類并 記下準(zhǔn)確率,再找出分類準(zhǔn)確率最高的那組權(quán)重值;之后用該權(quán)重值組合對(duì)測(cè)試集進(jìn)行分 類;
[0010] 模型訓(xùn)練過(guò)程針對(duì)訓(xùn)練集數(shù)據(jù)和驗(yàn)證集數(shù)據(jù),具體執(zhí)行如下操作:
[0011] 11)分別使用分詞工具對(duì)短文本進(jìn)行分詞處理,得到短文本中包含詞語(yǔ)的詞性,同 時(shí)還得到詞與詞之間的依存句法關(guān)系;
[0012] 12)過(guò)濾掉短文本句子中的停用詞,只保留短文本句子中的名詞;
[0013] 13)將短文本句子中的所有名詞根據(jù)依存句法關(guān)系分為多個(gè)類別;
[0014] 14)每一個(gè)類別分別賦予權(quán)重;權(quán)(重)值的約束條件是:每一個(gè)類別的權(quán)重值為 不小于0且不大于1,所有類別的權(quán)重值的和為1 ;權(quán)重值的確定具體采用枚舉的方法;
[0015] 15)基于百度百科(http://baike. baidu. com/)構(gòu)建ESA中文模型,得到每一個(gè)詞 到概念空間的倒排索引;通過(guò)ESA算法將短文本映射到概念空間,得到短文本的解釋向量;
[0016] 16)通過(guò)LDA模型得到話題向量;
[0017] 權(quán)重值的確定是采用枚舉的方法,具體過(guò)程如下:
[0018] A1)為了得到效果最優(yōu)的權(quán)值組合,我們以設(shè)定步長(zhǎng)遍歷從權(quán)值組合 {0. 0, 0. 0, 0. 0, 1. 0}到權(quán)值組合{1. 0, 0. 0, 0. 0, 0. 0}的所有滿足約束條件的權(quán)值組合;本 發(fā)明實(shí)施例中以0.05為步長(zhǎng);
[0019] A2)對(duì)于每一組權(quán)值組合,通過(guò)使用現(xiàn)有的SVM分類器LibSVM(http://www. csie. ntu. edu. tw/~cjlin/libsvm/)在訓(xùn)練集(訓(xùn)練集的每篇文檔都是使用步驟16)所得到的 話題向量表示的)上訓(xùn)練出一個(gè)分類模型;然后,使用和訓(xùn)練集一樣的權(quán)重用訓(xùn)練出的分 類模型對(duì)驗(yàn)證集進(jìn)行分類,得到該分類的準(zhǔn)確率;
[0020] A3)取每個(gè)類在驗(yàn)證集上分類準(zhǔn)確率最高的權(quán)值組合作為它的最優(yōu)權(quán)值組合 (Optimal Weight Combination),然后將所有類的最優(yōu)權(quán)值組合取平均后得到平均權(quán)值組 合(Average Weight Combination),平均權(quán)值組合就是我們?yōu)楦黝惷~最終確定好的權(quán) 重;
[0021] 17)選擇獲得最高的準(zhǔn)確率對(duì)應(yīng)的那組權(quán)重W和訓(xùn)練出的最高的分類準(zhǔn)確率對(duì)應(yīng) 的分類模型M,作為模型訓(xùn)練過(guò)程的結(jié)果;
[0022] 二,特征提取過(guò)程針對(duì)測(cè)試集數(shù)據(jù),具體執(zhí)行如下操作:
[0023] 21)經(jīng)過(guò)上述步驟1)~3)對(duì)測(cè)試集數(shù)據(jù)進(jìn)行處理之后,將每一個(gè)類別賦予上述步 驟17)獲得的權(quán)重組W ;
[0024] 22)通過(guò)ESA算法將短文本映射到概念空間,得到短文本的解釋向量;
[0025] 23)通過(guò)LDA得到話題向量;以話題向量作為短文本最終的特征向量,作為短文本 的特征。
[0026] 此步驟利用訓(xùn)練好的LDA模型計(jì)算解釋向量下各個(gè)話題的權(quán)值,以話題作為短文 本最終的特征向量,作為短文本的特征。之后可將上述步驟5)獲得的訓(xùn)練模型M對(duì)測(cè)試集 數(shù)據(jù)進(jìn)行分類,得到該次分類的準(zhǔn)確率。
[0027] 針對(duì)上述短文本特征提取方法,進(jìn)一步地,
[0028] 在本發(fā)明實(shí)施例中,使用的分詞工具為哈工大LTP分詞工具;步驟13)所述依存句 法關(guān)系包括定中關(guān)系、動(dòng)賓關(guān)系和核心關(guān)系;并根據(jù)這三種依存句法關(guān)系,將短文本中的名 詞劃分成四種成分:ATT,VOB,HED,Others,分別與定中關(guān)系、動(dòng)賓關(guān)系、核心關(guān)系和非上述 三種關(guān)系的其他關(guān)系相對(duì)應(yīng)。
[0029] 步驟15)或22)中,給定一個(gè)短文本ST= {wi},求其解釋向量V的過(guò)程具體包括 如下操作:
[0030] 31)將ST用向量{ti}表示,其中ti是wi的權(quán)值,可以取TF-IDF值;或者是其它 類型的權(quán)值;
[0031] 32)對(duì)ST中的每一個(gè)詞wi,在倒排索引中找到wi的帶權(quán)概念列表{kj},其中kj 代表了 wi與概念cj的關(guān)聯(lián)度,權(quán)值取TF-IDF值時(shí)即wi在cj的文章中的TF-IDF值;
[0032]33)ST的解釋向量V = {vl, v2,......,vn},其中vj代表源文本在概念cj上的權(quán) 重
[0033] 步驟16)或23)中,具體利用Gibbs抽樣的方法在概念空間上通過(guò)LDA模型,得到 話題向量;本發(fā)明利用LDA模型發(fā)掘語(yǔ)料庫(kù)中的詞共現(xiàn)信息,并達(dá)到降維的目的。LDA是一 種生成模型,它生成一個(gè)涉及K個(gè)話題,M篇文章的文檔集,本發(fā)明采用Gibbs抽樣的方法 訓(xùn)練LDA模型的過(guò)程如下:
[0034] 首先為每個(gè)話題從一個(gè)參數(shù)為|的Dirichlet分布(狄利克雷分布)中抽樣出一 個(gè)多項(xiàng)分布作為該話題下詞的分布(可見(jiàn),f是每個(gè)話題下詞的多項(xiàng)分布的Dirichlet先 驗(yàn)參數(shù));
[0035] 然后,對(duì)于每篇文檔,先從一個(gè)Poiss (泊松)分布中采樣出一個(gè)值作為文檔長(zhǎng)度, 再?gòu)囊粋€(gè)參數(shù)為(5的Dirichlet分布中抽樣出一個(gè)多項(xiàng)分布作為該文檔下話題的分布(可 見(jiàn),6是每個(gè)文檔下話題的多項(xiàng)分布的Dirichlet先驗(yàn)參數(shù));
[0036] 最后,對(duì)于文檔中的每個(gè)詞,先從該文檔下話題的多項(xiàng)分布中抽取出一個(gè)話題,再 從該話題下詞的多項(xiàng)分布中抽樣出一個(gè)詞;
[0037] 不斷重復(fù)這個(gè)隨機(jī)生成過(guò)程,直到生成文檔集中全部的文檔。
[0038] LDA生成模型具體的生成過(guò)程包括如下步驟:
[0039] 61)對(duì)每個(gè)話題k,采樣得到它的詞分布石~Dirid'i/et(/l)
[0040] 62)對(duì)每個(gè)文檔m :
[0041] 621)采樣得到它的長(zhǎng)度I~Poiss U )
[0042] 622)采樣得到它的話題分布l-DiricWetW)
[0043] 623)對(duì) m 中的每個(gè)詞 n G [1,NJ :
[0044] a.采樣得到話題~ );
[0045] b?采樣得到詞 ~ Mdt(石Zmn)。
[0046] 其中,I是一個(gè)恒定參數(shù),取固定值;給定一個(gè)文檔集,'n是可以觀察到的已知 變量,《和盧是根據(jù)經(jīng)驗(yàn)給定的先驗(yàn)參數(shù),其他變量z m,n,4和4都是未知的隱含變量,需要 根據(jù)觀察到的文檔集中的詞來(lái)學(xué)習(xí)估計(jì)得到。
[0047] 與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:
[0048] 相較于長(zhǎng)文本,短文本具有特征稀疏、主題不明確的特點(diǎn)?,F(xiàn)有的文本特征提取方 法大多采用基于Bag of Words (詞袋)模型的方法,該方法用在長(zhǎng)文本中通常能取得較好 的效果,但是用在短