本發(fā)明涉及數(shù)據(jù)挖掘領域,具體為一種基于拓撲特征擴展的知識主題短文本層次分類方法。
背景技術:
隨著科學技術的發(fā)展,人類知識爆炸式增長,互聯(lián)網(wǎng)上各類開放知識源已成為人們交流信息及獲取知識的重要來源,一方面極大地促進了知識的傳播和應用,但同時也加劇了知識碎片化現(xiàn)象。知識碎片化現(xiàn)象容易引發(fā)學習者認知過載,導致“注意力分散效應”,也容易造成學習者認知偏差等問題。由于各開放知識源知識載體是“短文本”,所以如何有效的對短文本進行組織和管理是解決知識碎片化現(xiàn)象問題的關鍵,是有重要意義的一項工作。
為了有效組織和管理互聯(lián)網(wǎng)上的海量知識主題短文本,通常按照知識體系結構對短文本進行分類,以更好地方便學習者快速認識到知識主題的各個分面,以及學習各個分面上短文本的內(nèi)容,對知識主題各個分面有更加深入的認識,從而高效地完成對知識主題的認知過程,提高學習者的學習效率。基于知識體系結構具有層次特征,多分類方法是解決層次分類問題的主要方法之一,因此我們將知識主題短文本分類問題轉換成多分類問題。
申請人經(jīng)過查新,沒有找到有關對知識主題短文本進行層次分類的專利,因而檢索了一篇與本專利相關的已授權的中國專利:一種基于特征擴展的中文短文本分類方法,授權公告號為zl201210446997.4;在該專利中,發(fā)明人提供一種基于特征擴展的中文短文本分類方法,通過從長文本語料庫中提取信息來豐富短文本所攜帶的信息量。但該發(fā)明所述方法針對對象并非知識領域的短文本,沒有考慮到知識領域知識主題異構性問題,以及知識體系結構的層次特征。
技術實現(xiàn)要素:
針對現(xiàn)有技術中存在的問題,本發(fā)明提供一種基于拓撲特征擴展的知識主題短文本層次分類方法,能夠有效的對知識主題短文本進行組織和管理,解決互聯(lián)網(wǎng)海量知識短文本造成的信息過載問題。
本發(fā)明是通過以下技術方案來實現(xiàn):
一種基于拓撲特征擴展的知識主題短文本層次分類方法,包括以下步驟:
1)初始文本特征構建;
1-1)對短文本進行預處理,構建短文本文件系統(tǒng);
1-2)以短文本文件系統(tǒng)作為整體,計算其初始熵值;
以詞的出現(xiàn)及不出現(xiàn)為條件,計算詞在系統(tǒng)中的條件熵;將短文本文件系統(tǒng)的初始熵和條件熵的差值作為信息增益,并以信息增益作為指標對詞進行排序,選擇大于一定閾值的詞作為特征,即特征詞,從而構建向量空間模型,得到特征空間;
1-3)將短文本文本內(nèi)容映射到特征空間,得到用特征詞表示的短文本;通過tf-idf方法計算特征詞的權重,從而得到短文本的初始文本特征向量;
2)基于拓撲特征的短文本特征擴展;
2-1)短文本網(wǎng)絡的構建;輸入某一知識主題下短文本集合以及短文本之間的共現(xiàn)詞閾值alpha;統(tǒng)計短文本包含特征詞的數(shù)量并存放在二維數(shù)組中,然后遍歷后續(xù)短文本并統(tǒng)計文件之間的共現(xiàn)詞數(shù)量,完成和后續(xù)文本比較后,如果數(shù)組中任一維度的數(shù)值不小于alpha,那么認為該文本和相應文本之間有關聯(lián);最后保存根據(jù)共現(xiàn)詞閾值alpha構建的網(wǎng)絡拓撲結構,即以該知識主題下短文本為節(jié)點的網(wǎng)絡結構;
2-2)短文本網(wǎng)絡的修復;將知識主題下網(wǎng)絡節(jié)點分為兩部分:一是孤立節(jié)點集合s1,二是非孤立節(jié)點集合s2,其中孤立節(jié)點與其他節(jié)點之間沒有大于閾值的共現(xiàn)詞特征;對于s1中的點,分別計算其與s2中各個節(jié)點的語義距離,選擇語義距離最短的節(jié)點將該節(jié)點與其相連,并從s1刪除該節(jié)點,向s2添加該節(jié)點,重復該操作直到s1為空,完成短文本網(wǎng)絡的修復;
2-3)短文本網(wǎng)絡社區(qū)結構的劃分;使用louvain算法進行社區(qū)結構的劃分:首先通過優(yōu)化短文本網(wǎng)絡的局部模塊度來尋找最小社區(qū);聚集屬于同一社區(qū)的節(jié)點,以社區(qū)為節(jié)點來建立新的網(wǎng)絡;迭代執(zhí)行上述社區(qū)結構的劃分步驟,直到獲得整體最大模塊度并產(chǎn)生穩(wěn)定的社區(qū)結構;
2-4)短文本文本特征擴展;對于某一知識主題下的一個待分類的短文本,通過所述步驟1)獲取其初始文本特征,然后通過計算語義距離的方法計算其和各個社區(qū)的語義距離,最后將每個短文本歸屬到語義距離最短的社區(qū)中,將各個社區(qū)的特征作為對應的拓撲特征,從而用拓撲特征擴展文本特征,得到最終基于拓撲特征擴展的文本特征向量;
3)異構知識主題間的遷移學習方法;
3-1)基于kl散度的知識主題距離的度量;
統(tǒng)計同一知識領域下兩個不同知識主題特征向量的頻率分布情況,即特征詞在該知識主題的短文本中出現(xiàn)的概率,并按照其出現(xiàn)的頻率將特征空間中的特征進行排序;
對于進行排序后的特征空間中每個特征詞,統(tǒng)計其在不同短文本中出現(xiàn)的頻率,統(tǒng)計其概率分布,得到特征向量概率分布矩陣;
在兩個不同知識主題的特征空間中截取相同的長度,使兩特征空間中特征向量的維度一致,特征詞一一對應,采用kl散度方法計算兩個不同知識主題下特征向量概率分布矩陣的差異性,得到兩個不同知識主題的距離;
3-2)基于multi-tradaboost的知識主題短文本多分類;選擇基于kl散度距離能夠滿足訓練數(shù)據(jù)集數(shù)量要求的知識主題短文本數(shù)據(jù)集作為輔助數(shù)據(jù)集,結合基于網(wǎng)絡拓撲特征擴展后的短文本特征,利用multi-tradaboost遷移學習方法實現(xiàn)基于實例的遷移學習,并將短文本層次分類問題轉換成多分類問題,最終對短文本實現(xiàn)層次分類。
優(yōu)選的,所述的步驟1-2)中以短文本文件系統(tǒng)作為整體,其初始熵值的計算過程如下;
其中:ti為知識主題t的子主題,以短文本文件系統(tǒng)作為整體,計算其初始熵值;p(ti)表示取得子主題ti的概率;
條件熵計算過程如下;
其中:w為詞表w={w1,w2,...,wm}中的詞,p(ti|w)表示詞w出現(xiàn)時的條件概率,
以文件系統(tǒng)的初始熵和條件熵的差值作為信息增益,表示該特征帶來的信息增益量,其計算過程為:
ig(t|w)=entropy(t)-entropy(t|w)。
優(yōu)選的,所述的步驟2-1)的具體操作如下表所示:
2-1-1)輸入同一知識主題下的短文本集合,共現(xiàn)詞個數(shù)閾值alpha;讀取短文本集合,初始化弧的數(shù)目narc=0;構造短文本文件id和短文本內(nèi)容之間的映射map<fileid,fragkwg>;統(tǒng)計短文本包含特征詞的數(shù)量緩存在featureappear二維數(shù)組中;
2-1-2)根據(jù)給定共現(xiàn)詞閾值alpha,構建短文本之間的關聯(lián)網(wǎng)絡,存儲在二維數(shù)組conet中;
2-1-3)將二維數(shù)組conet寫入.net文件中,獲得以同一知識主題下短文本為節(jié)點構成的網(wǎng)絡結構。
優(yōu)選的,所述的步驟2-2)中語義距離計算過程為:
其中:a和b是兩個不同的短文本;
優(yōu)選的,所述的步驟2-3)中模塊度的計算公式如下:
其中:e為短文本網(wǎng)絡中的邊數(shù)目;auv代表網(wǎng)絡中節(jié)點u與節(jié)點v之間邊的數(shù)目;ku代表節(jié)點u的度;cu代表節(jié)點u所屬的社團;kv代表節(jié)點v的度;cv代表節(jié)點v所屬的社團;當且僅當cu=cv,δ(cu,cv)=1,否則,δ(cu,cv)=0。
優(yōu)選的,所述的步驟3-1)中kl散度的計算公式如下:
其中:p代表未分類的知識主題ktu的概率分布,q代表已分類知識主題ktl的概率分布,pr和qr代表p和q的第r個分量,d2為兩概率分布的維度,dkl(p||q)表示從p分布到q分布的距離。
優(yōu)選的,所述的步驟3-2)中multi-tradaboost的具體操作為:
3-2-1)輸入兩個標注的訓練數(shù)據(jù)集
3-2-2)初始化;設置初始權值向量
初始化
3-2-3)迭代計算;
3.1設置迭代次數(shù)k=1,2,...,n;
3.2歸一化訓練實例的權重分布
其中wk是第k次迭代后的權重向量,
3.3調用基礎多分類器learner,依據(jù)合并后的訓練數(shù)據(jù)集d以及d上的權重分布pk和未標注數(shù)據(jù)dt,得到一個dt上的分類器hk;
3.4計算hk在源數(shù)據(jù)集ds2上的錯誤率:
需要滿足εk≤0.5;
3.5設置βk=εk/(1-εk),
3.6設置新的權重向量如下:
3-2-4)輸出最終的遷移學習多分類器;
優(yōu)選的,步驟1-1)中,所述的預處理包括去掉短文本中的標點符號、去掉多余的空格、去掉停用詞,并將各種形式的詞進行還原處理,其中,詞形還原處理用到斯坦福大學的corenlp開源系統(tǒng)。
與現(xiàn)有技術相比,本發(fā)明具有以下有益的技術效果:
本發(fā)明提供的基于拓撲特征擴展的知識主題短文本層次分類方法,主要包括初始文本特征構建、基于拓撲特征的短文本特征擴展及異構知識主題間的遷移學習這三部分。
通過采集多個知識主題對應的短文本長度做初步的量化統(tǒng)計和分析,將文本內(nèi)容映射到特征空間,表示成數(shù)值向量形式,以便于分類器識別,發(fā)現(xiàn)短文本向特征空間映射得到的向量長度占特征空間的2%~5%,即明確了知識主題短文本文本特征的稀疏程度。
通過短文本之間的詞共現(xiàn)情況構建并分析知識主題短文本網(wǎng)絡;對于與其他短文本之間沒有共現(xiàn)詞或共現(xiàn)詞個數(shù)未達到設定的閾值的孤立短文本,采用詞向量的方法對知識主題短文本知識網(wǎng)絡進行修復,最終選取社區(qū)特征有效擴展文本特征。
通過計算知識主題之間的kl散度來度量域的差異性,進而選擇輔助數(shù)據(jù);基于單個知識主題的層次結構規(guī)模較小,將層次分類問題轉換為多分類問題,采用multi-tradaboost方法充分利用輔助數(shù)據(jù)幫助短文本進行多分類,達到了有效遷移知識的目的,大大提升了分類性能,并且能夠有效的對知識主題短文本進行組織和管理,解決互聯(lián)網(wǎng)海量知識短文本造成的信息過載問題。
附圖說明
圖1是本發(fā)明實例中所述基于拓撲特征擴展的知識主題短文本層次分類方法的流程圖。
圖2是本發(fā)明實例中所述知識主題層次結構樣例圖;
圖3是本發(fā)明實例中所述的“binarytree”主題短文本網(wǎng)絡劃分的可視化結果示意圖。
具體實施方式
下面結合具體的實施例對本發(fā)明做進一步的詳細說明,所述是對本發(fā)明的解釋而不是限定。
本發(fā)明提供的基于拓撲特征擴展的知識主題短文本層次分類方法,包括如下3個過程:
1)初始文本特征構建:
1-1)對短文本進行預處理,構建短文本文件系統(tǒng)。預處理包括去掉短文本文本中的標點符號、去掉多余的空格、去掉停用詞,并將各種形式的詞進行還原處理,其中,詞形還原處理用到斯坦福大學的corenlp開源系統(tǒng)。
1-2)采用信息熵的方法進行文本特征選擇,其計算過程如下:
其中:ti為知識主題t的子主題,以短文本文件系統(tǒng)作為整體,計算其初始熵值;p(ti)表示取得子主題ti的概率。
因此以詞的出現(xiàn)及不出現(xiàn)為條件,計算詞在系統(tǒng)中的條件熵,如下。
其中:w為詞表w={w1,w2,...,wm}中的詞,p(ti|w)表示詞w出現(xiàn)時的條件概率,
ig(t|w)=entropg(t)-entropy(t|w)
以文件系統(tǒng)的初始熵和條件熵的差值作為信息增益,表示以詞w表示的特征帶來的信息增益量。
將信息增益量排序,選擇大于一定閾值的詞作為特征,即特征詞,從而構建向量空間模型(vsm)。vsm由salton等人提出,可形式化描述如下:
給定特征空間
1-3)將短文本文本內(nèi)容映射到特征空間,并采用tf-idf方法計算特征詞的權重,其計算公式如下所示:
其中:tfki為特征詞vk在文本di中出現(xiàn)的頻次比例,表示vk在di中的重要程度;dfk為vk在整個文本集合d中的出現(xiàn)頻率,這樣削弱了該詞表現(xiàn)單個文本的能力,計算文本總數(shù)目n與集合d中含有vk的文本數(shù)目的比值的對數(shù)值。
最終得到短文本的初始文本特征向量。
2)基于拓撲特征的短文本特征擴展:
2-1)短文本網(wǎng)絡的構建??紤]到同一知識主題下的短文本之間存在詞共現(xiàn)現(xiàn)象,即出現(xiàn)在一個短文本中的詞也在另一個短文本中出現(xiàn),將此重疊出現(xiàn)的詞定義為共現(xiàn)詞,對共現(xiàn)詞定義形式化描述如下:
對于一個詞語t,短文本ksi,ksj:如果t∈ksi,t∈ksj,那么稱t為ksi,ksj之間的共現(xiàn)詞;如果ksi∩ksj={tm+1,tm+2,...,tm+n},那么稱ksi,ksj為n-詞共現(xiàn),n為ksi與ksj的共現(xiàn)詞數(shù)量;對于給定的閾值α,如果n≥α,那么ksi,ksj互相關聯(lián)。
輸入某一知識主題下短文本集合(.txt文件列表)以及短文本之間的共現(xiàn)詞閾值alpha;對短文本包含特征詞的情況作初步統(tǒng)計并存放在二維數(shù)組中,然后遍歷后續(xù)短文本文件列表并統(tǒng)計文件之間的共現(xiàn)詞情況,完成和后續(xù)文本比較后,如果數(shù)組中任一維度的數(shù)值不小于alpha,那么認為該文本和相應文本之間有關聯(lián);最后以.net文件格式輸出根據(jù)共現(xiàn)詞閾值alpha構建的網(wǎng)絡結構,即以該知識主題下短文本為節(jié)點的網(wǎng)絡結構。其具體操作如下所示:
a)輸入同一知識主題下的短文本集合,共現(xiàn)詞個數(shù)閾值alpha;
b)讀取短文本集合,初始化弧的數(shù)目narc=0;構造短文本文件id和短文本內(nèi)容之間的映射map<fileid,fragkwg>;統(tǒng)計短文本包含特征詞的情況緩存在featureappear二維數(shù)組中;
c)根據(jù)給定共現(xiàn)詞閾值alpha,構建短文本之間的關聯(lián)網(wǎng)絡,存儲在二維數(shù)組conet中;
d)將二維數(shù)組conet寫入.net文件中,獲得以同一知識主題下短文本為節(jié)點構成的網(wǎng)絡結構。
2-2)短文本網(wǎng)絡的修復。將知識主題下網(wǎng)絡節(jié)點分為兩部分:一是孤立節(jié)點集合s1,二是非孤立節(jié)點集合s2;其中孤立節(jié)點與其他節(jié)點之間沒有大于閾值的共現(xiàn)詞特征,因此深入挖掘其語義特征,對于s1中的點,分別計算其與s2中各個節(jié)點的語義距離,選擇語義距離最短的節(jié)點將該節(jié)點與其相連,并從s1刪除該節(jié)點,向s2添加該節(jié)點,重復該操作直到s1為空,完成短文本網(wǎng)絡的修復。其中選擇word2vec的方法來獲得詞向量,將每個詞看作在一定維度空間分布的離散的點,每個短文本看成這些離散的點聚集成的簇,通過計算兩個簇之間質心的歐氏距離來計算短文本之間的距離。語義距離計算過程為:
其中:a和b是兩個不同的短文本;
2-3)短文本網(wǎng)絡社區(qū)結構劃分。使用louvain算法進行社區(qū)結構的劃分:首先通過優(yōu)化局部模塊度來尋找最小社區(qū);聚集屬于同一社區(qū)的節(jié)點,以社區(qū)為節(jié)點來建立新的網(wǎng)絡;迭代執(zhí)行上述兩個社區(qū)結構的劃分步驟,直到獲得整體最大模塊度并產(chǎn)生穩(wěn)定的社區(qū)結構,如圖3所示,知識主題“binarytree”短文本網(wǎng)絡社區(qū)結構劃分結果。
2-4)短文本文本特征擴展。對于某一知識主題下的一個待分類的短文本,首先提取文本特征,然后通過計算語義距離的方法計算其和各個社區(qū)的語義距離,最后將其歸屬到語義距離最短的社區(qū)中,將各個社區(qū)的特征作為對應的拓撲特征,從而用拓撲特征擴展文本特征,得到最終基于拓撲特征擴展的文本特征向量。例如,知識主題kt1的文本特征維度為414,按照條件熵的方法約減后其維度為245,kt1中的一個實例,將文本特征映射到特征空間得到權重為{0.027,0.438,…,0.045},通過基于拓撲特征方法擴展后,kt1的短文本網(wǎng)絡共劃分6個社區(qū),該實例歸屬社區(qū)編號為6,因此將該實例特征擴展為:{0.027,0.438,…,0.045,0.000,0.000,0.000,0.000,0.000,1.000},其中,擴展的六位數(shù)值表示該實例在社區(qū)6中出現(xiàn),而不出現(xiàn)在社區(qū)1—5中。
3)異構知識主題間的遷移學習方法:
3-1)基于kl散度的知識主題距離的度量分為三個步驟:
①向量空間中的特征排序。統(tǒng)計同一知識領域下的兩個不同知識主題的特征的頻率分布,即特征詞在該知識主題的短文本中出現(xiàn)的概率,并按照其出現(xiàn)的頻率將特征空間中的特征排序;
②特征向量概率分布矩陣計算。對于進行特征排序的特征空間中每個特征詞,統(tǒng)計其在不同短文本中出現(xiàn)的頻率,統(tǒng)計其概率分布情況,得到特征向量概率分布矩陣;
③計算兩個不同知識主題的差異性。在兩個知識主題的特征空間中截取相同的長度,使兩特征空間中特征向量的維度一致,特征詞一一對應,采用kl散度方法計算兩個知識主題下特征向量概率分布矩陣的差異性,得到兩知識主題的距離。kl散度即相對熵,是信息論領域衡量兩個概率分布距離的基礎公式,其計算如式所示:
其中:p代表未分類,即待訓練的知識主題ktu的概率分布,q代表已分類,即已知的知識主題ktl的概率分布,pr和qr代表p和q的第r個分量,d2為兩概率分布的維度,dkl(p||q)表示從p分布到q分布的距離;
3-2)基于multi-tradaboost的知識主題短文本多分類,其中包括訓練數(shù)據(jù)集和測試數(shù)據(jù)集。選擇基于kl散度距離能夠滿足訓練數(shù)據(jù)集數(shù)量要求的1個或多個知識主題短文本數(shù)據(jù)集作為輔助數(shù)據(jù)集,利用multi-tradaboost遷移學習方法實現(xiàn)基于實例的遷移學習,并將短文本層次分類問題轉換成多分類問題,結合基于拓撲特征擴展的短文本特征最終對短文本實現(xiàn)層次分類。具體操作如下所示:
3-2-1)輸入兩個標注的訓練數(shù)據(jù)集
3-2-2)初始化;設置初始權值向量
初始化
3-2-3)迭代計算;
3.1設置迭代次數(shù)k=1,2,...,n;
3.2歸一化訓練實例的權重分布
3.3調用基礎多分類器learner,依據(jù)合并后的訓練數(shù)據(jù)集d以及d上的權重分布pk和未標注數(shù)據(jù)dt,得到一個dt上的分類器hk;
3.4計算hk在源數(shù)據(jù)集ds2上的錯誤率:
需要滿足εk≤0.5;
3.5設置βk=εk/(1-εk),
3.6設置新的權重向量如下:
3-2-4)輸出最終的遷移學習多分類器如下,