本發(fā)明涉及的是一種lda(latentdirichletallocation潛在狄里克雷分布)并行優(yōu)化算法。
背景技術(shù):
在大數(shù)據(jù)時(shí)代下,隨著互聯(lián)網(wǎng)和信息技術(shù)的快速發(fā)展和廣泛應(yīng)用,產(chǎn)生了與人們生活息息相關(guān)的各種海量數(shù)據(jù)。其中在這些紛亂混雜的數(shù)據(jù)中,非結(jié)構(gòu)化的文本信息占主要部分。面對(duì)如此巨大的文本數(shù)據(jù),人們很難迅速地獲取自身有用的信息。如何快速地處理和發(fā)掘這些數(shù)據(jù)信息成為當(dāng)前面臨的一大難題,這也促進(jìn)了文本分類相關(guān)技術(shù)的深入研究廣泛運(yùn)用。文本分類是數(shù)據(jù)挖掘范圍中十分重要和熱門的技術(shù),文本分類技術(shù)可以把數(shù)量巨大的非結(jié)構(gòu)化文本數(shù)據(jù)采用計(jì)算機(jī)能理解的方法進(jìn)行計(jì)算,從而幫助人們更好、快速地獲取真正需要的信息,廣泛應(yīng)用在輿情分析、和個(gè)性化推薦等領(lǐng)域中。
在文本分類過程中,傳統(tǒng)的特征提取的方法主要有文檔詞頻、卡方、互信息、信息增益等。這些方法的一個(gè)共同特點(diǎn)是假設(shè)詞與詞之間是相互獨(dú)立的,通過計(jì)算詞項(xiàng)與類型之間存在的關(guān)系,對(duì)特征詞進(jìn)行篩選,從而達(dá)到降維的目的,這類方法忽視了詞與詞之間關(guān)系,不能挖掘詞與詞之間的語(yǔ)義關(guān)系。
lda主題模型是近年來研究比較熱門的方向,通過對(duì)文本集進(jìn)行建模,自動(dòng)分析每個(gè)文檔,發(fā)掘出文中潛在的語(yǔ)義,將文本語(yǔ)料庫(kù)從詞空間維度映射到文本的主題空間維度上,得到文本的主題概率分布,同時(shí)能很好地解決傳統(tǒng)方法無法解決的一詞多義、和一義多詞等問題。利用lda模型良好的降維效果和文本表示能力進(jìn)行文本表示,在得到的文本表示基礎(chǔ)上構(gòu)建分類器模型,進(jìn)行文本的分類識(shí)別任務(wù)。
傳統(tǒng)的ad-lda(approximatedistributionlda)模型,這是一個(gè)基于吉布斯采樣的近似分布同步框架lda并行算法。其核心思想是先將文檔均勻分布到每臺(tái)處理器上,假設(shè)文檔集總共有n篇文檔,按文檔數(shù)均勻分配到每個(gè)處理器上,假設(shè)共有p臺(tái)處理器,這樣每臺(tái)處理器大約包含有n/p篇文檔,分割后的每個(gè)小數(shù)據(jù)集用xi表示,其中i∈n。這樣就可以在每臺(tái)處理器上對(duì)分割后的數(shù)據(jù)集xi分別進(jìn)行一次gibbs采樣。在gibbs采樣之前,需要對(duì)模型中的計(jì)數(shù)賦初值,其中nm(k)表示文檔m中歸入主題k的次數(shù),nk(t)表示詞歸入主題k的次數(shù),nm表示文檔m中全部的詞個(gè)數(shù),nk表示文檔集中歸入主題k的總次數(shù)。在模型的并行過程中,需要在每次迭代后,同步更新模型的參數(shù),即詞-主題矩陣nwk。在每臺(tái)處理器的采樣結(jié)束后,將每個(gè)子數(shù)據(jù)集對(duì)應(yīng)的局部參數(shù)nwkp傳輸?shù)街鞴?jié)點(diǎn)進(jìn)行一次合并,得到一組新的計(jì)數(shù),然后再將匯總后得到的全局參數(shù)分發(fā)到各個(gè)處理器上,最后再進(jìn)行下一次迭代,直到模型收斂或達(dá)到模型設(shè)定的最大迭代次數(shù)。傳統(tǒng)的ad-lda具體包括:
輸入:文檔集x,迭代次數(shù)t,處理器數(shù)p,模型超參數(shù)α和β。
輸出:文檔-主題分布θm,k和主題-詞分布
1:將文檔集x均勻分配到p臺(tái)處理器上;
2:對(duì)模型參數(shù)賦初值,將文檔中的每一個(gè)詞隨機(jī)賦予一個(gè)主題編號(hào)k;
3:設(shè)置模型迭代次數(shù),在模型每次迭代過程中
4:對(duì)于每臺(tái)處理器分別執(zhí)行下述步驟
5:將全局參數(shù)nwk廣播給每臺(tái)處理器局部參數(shù)nwkp:nwkp←nwk;
6:使用吉布斯采樣公式更新本地相關(guān)統(tǒng)計(jì)計(jì)數(shù)nm(k),nk(t),nm,nk;
7:循環(huán)結(jié)束;
8:等待所有處理器達(dá)到同步;
9:更新全局參數(shù)nwk←nwk+∑p(nwkp-nwk);
10:直至達(dá)到終止條件,輸出模型參數(shù)θm,k和
在上述算法流程可以發(fā)現(xiàn),在lda算法的并行求解中有一個(gè)重大開銷,即每次吉布斯采樣后,都需要將p臺(tái)處理器中每個(gè)子數(shù)據(jù)集xi所對(duì)應(yīng)要更新的局部參數(shù)nwkp矩陣傳輸?shù)街鞴?jié)點(diǎn)上進(jìn)行匯總計(jì)算,之后再將計(jì)算后的結(jié)果作為全局參數(shù)nwk,傳輸?shù)絧臺(tái)處理器上。
模型的通信時(shí)間由兩部分構(gòu)成:其一是處理器間相互等待的時(shí)間,其二是處理器間數(shù)據(jù)通信的所花費(fèi)的實(shí)際通信時(shí)間。而處理器間的等待時(shí)間取決于最快完成采樣的處理器等待最慢完成采樣處理器所花費(fèi)的時(shí)間。這部分時(shí)間與文檔集的劃分策略有關(guān),關(guān)聯(lián)到每臺(tái)處理器上的負(fù)載均衡問題。而一般情況下認(rèn)為輸入的文本都是均勻分配,同時(shí)在相同配置的處理器的計(jì)算能力下,所以處理器間的等待時(shí)間問題這里暫不考慮。
而現(xiàn)實(shí)中的通信時(shí)間分別與處理器數(shù)和需要通信的數(shù)據(jù)量有關(guān)。在海量文本數(shù)據(jù)下模型并行算法由于并行過程中通信開銷大、空間復(fù)雜度高而導(dǎo)致模型訓(xùn)練時(shí)間長(zhǎng),導(dǎo)致lda模型求解效率不高的問題,無法很好的應(yīng)用到海量的大數(shù)據(jù)集上。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種能降低通信開銷,縮短在海量數(shù)據(jù)下模型訓(xùn)練時(shí)間的lda并行優(yōu)化方法。
本發(fā)明的目的是這樣實(shí)現(xiàn)的:
輸入包括:文檔集x、迭代次數(shù)t、處理器數(shù)p、詞頻劃分塊n、模型超參數(shù)α和β;
輸出包括:文檔-主題概率分布θm,k和主題-詞概率分布
具體包括以下步驟:
1:將文檔集x均勻劃分到p臺(tái)處理器上;
2:初始化計(jì)數(shù),將相關(guān)計(jì)數(shù)nm(k),nk(t),nm,nk初始化置為0,將文檔塊中每篇文檔中的每一個(gè)詞隨機(jī)賦予一個(gè)主題編號(hào)k;
3:設(shè)置模型迭代次數(shù),在模型每次迭代過程中
4:對(duì)于每臺(tái)處理器分別執(zhí)行下述步驟;
5:全局參數(shù)復(fù)制給局部參數(shù):
6:采用基于高斯函數(shù)的詞加權(quán)方法對(duì)文檔集中的詞賦予一個(gè)權(quán)重值,使用吉布斯采樣公式更新本地相關(guān)統(tǒng)計(jì)計(jì)數(shù)nm(k),nk(t),nm,nk;
7:循環(huán)結(jié)束;
8:等待所有處理器達(dá)到同步;
9:更新全局參數(shù)
10:直至達(dá)到終止條件,輸出模型參數(shù):θm,k和
所述采用基于高斯函數(shù)的詞加權(quán)方法對(duì)文檔集中的詞賦予一個(gè)權(quán)重值具體包括:
輸入包括:文檔集x,模型超參數(shù)α和β
輸出包括:詞-主題矩陣nwk
1:初始化吉布斯采樣中的計(jì)數(shù)為0;
2:m為文檔集中文檔的數(shù)量,對(duì)于每篇文檔編號(hào)m∈[1,m];
3:nm為第m篇文檔中詞的個(gè)數(shù),對(duì)于每篇文檔中第n∈[1,nm]個(gè)詞wm,n=wi;
4:為每個(gè)詞隨機(jī)采樣賦予一個(gè)主題編號(hào)zm,n∈[1,k],k為設(shè)定的主題數(shù);
5:計(jì)數(shù)nm(k)加上詞wm,n對(duì)應(yīng)的權(quán)重
6:計(jì)數(shù)nm加上詞wm,n對(duì)應(yīng)的權(quán)重
7:計(jì)數(shù)nk(t)加上詞wm,n對(duì)應(yīng)的權(quán)重
8:計(jì)數(shù)nk加上詞wm,n對(duì)應(yīng)的權(quán)重
9:初始化過程結(jié)束;
10:計(jì)數(shù)nm(k)減去詞wm,n對(duì)應(yīng)的權(quán)重
11:計(jì)數(shù)nm減去詞wm,n對(duì)應(yīng)的權(quán)重
12:計(jì)數(shù)nk(t)減去詞wm,n對(duì)應(yīng)的權(quán)重
13:計(jì)數(shù)nk減去每詞wm,n對(duì)應(yīng)的權(quán)重
14:采樣得到詞wm,n在每個(gè)主題k∈[1,k]上的概率分布;
15:根據(jù)采樣公式
16:計(jì)數(shù)nm(k)加上詞wm,n對(duì)應(yīng)的權(quán)重
17:計(jì)數(shù)nm加上詞wm,n對(duì)應(yīng)的權(quán)重
18:計(jì)數(shù)nk(t)加上詞wm,n對(duì)應(yīng)的權(quán)重
19:計(jì)數(shù)nk加上詞wm,n對(duì)應(yīng)的權(quán)重
20:直至達(dá)到結(jié)束條件,輸出nwk。
本發(fā)明主要針對(duì)經(jīng)典的lda并行算法ad-lda進(jìn)行深入研究,提出了一種新穎的lda并行優(yōu)化算法。主要針對(duì)在大規(guī)模數(shù)據(jù)集下,現(xiàn)有l(wèi)da模型的并行算法通信開銷和空間復(fù)雜度過高;如何快速、精確地進(jìn)行文本表示,并在其基礎(chǔ)上實(shí)現(xiàn)文本分類的并行化等關(guān)鍵問題。本發(fā)明的技術(shù)要點(diǎn)主要包括co-plda并行優(yōu)化算法和基于高斯函數(shù)的詞加權(quán)方法。
(1)co-plda并行優(yōu)化算法
本發(fā)明為了解決現(xiàn)有l(wèi)da并行算法ad-lda中通信開銷大,在海量數(shù)據(jù)下模型訓(xùn)練時(shí)間長(zhǎng)等問題,提出了一種新的lda并行算法co-plda(communicationoptimizationparallellda,co-plda),通過采用齊普夫定律的通信優(yōu)化策略和一種改進(jìn)的詞權(quán)重計(jì)算方法,在文本表示精度不受影響的前提下,提高文本的表示效率。
(2)一種基于高斯函數(shù)的詞加權(quán)方法
lda主題模型研究中采用詞袋模型的形式表示文本,在文本表示過程中,同等對(duì)待每個(gè)詞,默認(rèn)每個(gè)詞都有相同的權(quán)重。lda算法在求解過程中,對(duì)文檔集中每篇文檔中的每一個(gè)詞進(jìn)行采樣,顯然高頻詞采樣的次數(shù)會(huì)高于低頻詞。使得模型學(xué)習(xí)到的主題分布向高頻詞傾斜。因此需要找出一種合適的詞權(quán)重計(jì)算方法,針對(duì)lda模型算法的特點(diǎn),對(duì)lda中詞權(quán)重計(jì)算方法進(jìn)行改進(jìn),以提高文本表示的精度。
傳統(tǒng)的詞加權(quán)方法有很多,其中應(yīng)用最廣的是tf-idf方法。在tf-idf詞加權(quán)方法的使用中,詞的權(quán)重會(huì)隨著它在文檔中出現(xiàn)的次數(shù)成正比關(guān)系,隨著在文檔集中出現(xiàn)的頻次成反比。這樣會(huì)導(dǎo)致詞頻跟權(quán)重成反比,詞頻高的詞權(quán)重相對(duì)較低,而詞頻低的詞權(quán)重較高。而模型中改進(jìn)詞加權(quán)方法的目的:是適當(dāng)?shù)亟档透哳l詞的權(quán)重,同時(shí)對(duì)低頻詞權(quán)重不造成影響。經(jīng)過研究發(fā)現(xiàn)這些傳統(tǒng)的詞權(quán)重計(jì)算方法均不能達(dá)到文中的要求。這里通過采用一種基于高斯函數(shù)的詞權(quán)重方法,來達(dá)到降低高頻詞的權(quán)重,而不對(duì)低頻詞的權(quán)重造成影響。
其中高斯函數(shù)的應(yīng)用十分地廣泛,在社會(huì)科學(xué)、自然科學(xué)以及工程學(xué)中領(lǐng)域都有它的用處。高斯函數(shù)形式如下:
其中a,b與c為實(shí)數(shù)常數(shù),a表示曲線的高度,b是曲線在x軸的中心,c與曲線的寬度有關(guān),函數(shù)圖像如圖1所示。
在圖形上,高斯函數(shù)圖像是一種鐘形曲線,越接近圖形中心點(diǎn)時(shí),函數(shù)取值越大,越遠(yuǎn)離圖形中心點(diǎn),函數(shù)取值就越小??梢越柚咚购瘮?shù)的這種性質(zhì),對(duì)lda模型中詞進(jìn)行加權(quán)。本發(fā)明提出一種采用改進(jìn)的高斯函數(shù)詞權(quán)重計(jì)算方法,對(duì)文檔中的每個(gè)詞wi進(jìn)行加權(quán),其中詞加權(quán)公式如下:
其中
其中
(3)基于齊普夫定律的通信優(yōu)化策略
通過分析lda模型更新參數(shù)的過程和原理可以發(fā)現(xiàn),文檔中高頻詞的更新狀態(tài)很大程度上決定了模型參數(shù)的更新狀態(tài)。也就是說,高頻詞對(duì)模型參數(shù)訓(xùn)練的結(jié)果貢獻(xiàn)較大。為了減少模型的通信開銷,可以減小處理器間每次迭代后的通信數(shù)據(jù)量nwk。本發(fā)明提出采用基于齊普夫定律的通信頻率劃分來減小模型通信開銷,通過采用這種劃分方法進(jìn)行模型并行的通信優(yōu)化。
齊普夫定律是美國(guó)哈佛大學(xué)g.k.齊普夫(g.k.zipf)通過對(duì)文獻(xiàn)中詞頻的研究所提出的一種詞頻分布定律。它可以表述為:將某一篇文章中每個(gè)詞出現(xiàn)的次數(shù)依次統(tǒng)計(jì)起來,按照詞頻遞減順序排列,從高到底對(duì)這些詞基于詞頻的大小進(jìn)行編號(hào),若用f表示頻次,r表示等級(jí)編號(hào),其中頻次和等級(jí)編號(hào)呈現(xiàn)某種數(shù)量關(guān)系。數(shù)量關(guān)系如公式所示。
f×r=c
其中c是正常數(shù),可以發(fā)現(xiàn)某一個(gè)詞出現(xiàn)的頻次f與它在文檔集頻次表中的排名r成反比。由于高頻詞對(duì)模型訓(xùn)練的貢獻(xiàn)較大,可以通過主要更新高頻詞來減少通信開銷。算法中將文檔集預(yù)處理后得到的詞按詞頻的大小,從高頻到低頻劃分為n等份,每個(gè)等份包含相同數(shù)量的詞頻塊,詞頻塊的排名設(shè)為r(r∈[1,n]),則每個(gè)詞頻塊中按照如下的通信頻率公式進(jìn)行通信。
communicationrate=r
根據(jù)上面的公式,每個(gè)詞頻塊在模型訓(xùn)練中對(duì)應(yīng)的通信更新次數(shù)為
模型每次迭代中,通信的數(shù)據(jù)量nwk就相應(yīng)減少,模型通信的總開銷下降很多。模型的通信總開銷公式如下所示。
這里假設(shè)k=100,p=30,v=60000,迭代次數(shù)t=1000,n=16,nwk矩陣中的每一個(gè)計(jì)數(shù)為int類型,占4個(gè)字節(jié)。那么在所有迭代完成后總的通信開銷約為287.5g,通信開銷僅僅約為ad-lda并行算法通信開銷的21%,可見算法大大減少了模型并行帶來的通信開銷。
本發(fā)明的有益效果為:
本發(fā)明中提出的co-plda模型的計(jì)算時(shí)間和通信時(shí)間都要優(yōu)于ad-lda,其中co-plda模型的通信開銷約為ad-lda的20%,計(jì)算時(shí)間約為ad-lda的70%左右??梢?,co-plda在不失文本表示精度的前提下,有效地提高了模型的文本表示效率,降低了模型并行的通信開銷,同時(shí)也適當(dāng)降低了模型的計(jì)算時(shí)間。通過實(shí)驗(yàn)證明了co-plda算法文本表示效果要比ad-lda更好。
附圖說明
圖1為高斯函數(shù)的圖像;
圖2為co-plda和ad-lda算法通信時(shí)間對(duì)比;
圖3為co-plda和ad-lda算法計(jì)算時(shí)間對(duì)比;
圖4為co-plda和ad-lda算法困惑度值對(duì)比。
具體實(shí)施方式
下面舉例對(duì)本發(fā)明做更詳細(xì)的描述。
本發(fā)明提出了一種基于高斯函數(shù)的詞加權(quán)度量方法,用來提高文本表示精度,這種詞加權(quán)方法對(duì)現(xiàn)有算法的改進(jìn)主要集中在吉布斯算法中的初始化和迭代采樣中。在改進(jìn)的高斯函數(shù)詞加權(quán)方法下,給出了吉布斯采樣算法,算法如下所示。
算法:基于高斯函數(shù)的詞加權(quán)方法
輸入:文檔集x,模型超參數(shù)α和β;
輸出:詞-主題矩陣nwk。
1:初始化吉布斯采樣中的計(jì)數(shù)為0;
2:m為文檔集中文檔的數(shù)量,對(duì)于每篇文檔編號(hào)m∈[1,m];
3:nm為第m篇文檔中詞的個(gè)數(shù),對(duì)于每篇文檔中第n∈[1,nm]個(gè)詞wm,n=wi;
4:為每個(gè)詞隨機(jī)采樣賦予一個(gè)主題編號(hào)zm,n∈[1,k],其中k為模型設(shè)定的主題數(shù);
5:計(jì)數(shù)nm(k)加上詞wm,n對(duì)應(yīng)的權(quán)重
6:計(jì)數(shù)nm加上詞wm,n對(duì)應(yīng)的權(quán)重
7:計(jì)數(shù)nk(t)加上詞wm,n對(duì)應(yīng)的權(quán)重
8:計(jì)數(shù)nk加上詞wm,n對(duì)應(yīng)的權(quán)重
9:初始化過程結(jié)束;
10:計(jì)數(shù)nm(k)減去詞wm,n對(duì)應(yīng)的權(quán)重
11:計(jì)數(shù)nm減去詞wm,n對(duì)應(yīng)的權(quán)重
12:計(jì)數(shù)nk(t)減去詞wm,n對(duì)應(yīng)的權(quán)重
13:計(jì)數(shù)nk減去每詞wm,n對(duì)應(yīng)的權(quán)重
14:采樣得到詞wm,n在每個(gè)主題k∈[1,k]上的概率分布;
15:根據(jù)采樣公式
16:計(jì)數(shù)nm(k)加上詞wm,n對(duì)應(yīng)的權(quán)重
17:計(jì)數(shù)nm加上詞wm,n對(duì)應(yīng)的權(quán)重
18:計(jì)數(shù)nk(t)加上詞wm,n對(duì)應(yīng)的權(quán)重
19:計(jì)數(shù)nk加上詞wm,n對(duì)應(yīng)的權(quán)重
20:直至達(dá)到結(jié)束條件,輸出nwk。
步驟1-9是算法的初始化階段,首先將所有用于計(jì)數(shù)的矩陣和數(shù)組的值初始化為0,之后為文檔集中的每篇文檔m,文檔中的第n個(gè)詞wm,n隨機(jī)分配一個(gè)主題編號(hào)k。在原始lda算法中,將對(duì)應(yīng)的nm(k),nk(t),nm,nk計(jì)數(shù)的值加1,而改進(jìn)后的詞加權(quán)方法中則是加上每個(gè)詞對(duì)應(yīng)的權(quán)重
步驟10-19是gibbs采樣算法的核心過程,首先將每篇文檔中的每個(gè)詞wm,n當(dāng)前所屬的主題編號(hào)k賦給t,將對(duì)應(yīng)的nm(k),nk(t),nm,nk的計(jì)數(shù)減去每個(gè)詞所對(duì)應(yīng)的權(quán)重
在上述分析的基礎(chǔ)上,針對(duì)如何通過優(yōu)化lda模型并行時(shí)的通信開銷問題,快速、高效地進(jìn)行文本表示,給出了基于齊普夫定律的通信優(yōu)化算法,co-plda完整算法步驟如下所示。
算法:co-plda算法
輸入:文檔集x,迭代次數(shù)t,處理器數(shù)p,詞頻劃分塊n,模型超參數(shù)α和β;
輸出:文檔-主題概率分布θm,k和主題-詞概率分布
1:將文檔集x均勻劃分到p臺(tái)處理器上;
2:初始化計(jì)數(shù),將nm(k),nk(t),nm,nk等相關(guān)計(jì)數(shù)初始化置為0,將文檔塊中每篇文檔中的每一個(gè)詞隨機(jī)賦予一個(gè)主題編號(hào)k;
3:設(shè)置模型迭代次數(shù),在模型每次迭代過程中
4:對(duì)于每臺(tái)處理器別執(zhí)行下述步驟;
5:全局參數(shù)復(fù)制給局部參數(shù):
6:采用基于高斯函數(shù)的詞加權(quán)方法對(duì)文檔集中的詞賦予一個(gè)權(quán)重值,使用吉布斯采樣公式更新本地相關(guān)統(tǒng)計(jì)計(jì)數(shù)nm(k),nk(t),nm,nk;
7:endfor;
8:等待所有處理器達(dá)到同步;
9:
10:until達(dá)到終止條件,輸出模型參數(shù)θm,k和
實(shí)驗(yàn)結(jié)果與分析:
(一)數(shù)據(jù)集的選取
本發(fā)明所使用的實(shí)驗(yàn)語(yǔ)料是由搜狗實(shí)驗(yàn)室提供的文本分類新聞數(shù)據(jù)集,從中篩選了包括美食、科技、娛樂、體育等十個(gè)類別的新聞數(shù)據(jù),得到了320126條新聞數(shù)據(jù),為了方便在實(shí)驗(yàn)中進(jìn)行對(duì)比實(shí)驗(yàn),將這些新聞數(shù)據(jù)拆分為10000、20000、40000、80000、160000條記錄的4個(gè)子數(shù)據(jù)集。在拆分過程中,使各數(shù)據(jù)集中各類別的數(shù)據(jù)量樣本均勻。為了充分驗(yàn)證本發(fā)明所提出的基于lda的文本分類并行化方法,設(shè)置了一組對(duì)比實(shí)驗(yàn):將本發(fā)明提出的co-plda并行算法同ad-lda算法在模型通信時(shí)間、計(jì)算時(shí)間和困惑度值上進(jìn)行比較。
(二)評(píng)價(jià)方法
針對(duì)如何評(píng)估lda模型的文本表示精度問題,這里采用模型的困惑度perplexity進(jìn)行度量,perplexity是一種用來衡量模型對(duì)于測(cè)試語(yǔ)料建模能力好壞的指標(biāo)。其中perplexity的公式如下:
(三)結(jié)果及分析
(1)提出的co-plda算法同現(xiàn)有的ad-lda算法的對(duì)比實(shí)驗(yàn)
為了證明本發(fā)明提出的co-plda算法在并行文本表示上的效果,本發(fā)明進(jìn)行了co-plda算法和ad-lda算法的對(duì)比實(shí)驗(yàn)。其中,ad-lda是lda并行算法中最經(jīng)典一種算法。本實(shí)驗(yàn)將從模型的通信時(shí)間、計(jì)算時(shí)間和困惑度值上進(jìn)行比較。
為了不失一般性,首先需要對(duì)lda模型的參數(shù)賦予統(tǒng)一的默認(rèn)值。由于模型中的超參數(shù)α和β對(duì)模型的最終效果影響不大,這里均設(shè)為默認(rèn)的經(jīng)驗(yàn)值α=50/k,β=0.01,迭代次數(shù)設(shè)為1000,其中k為模型中設(shè)定的主題個(gè)數(shù)。
co-plda算法同ad-lda算法在不同主題k值下的模型通信時(shí)間、計(jì)算時(shí)間和模型的預(yù)測(cè)困惑度值分別如圖2、3、4所示。
由實(shí)驗(yàn)結(jié)果可知,co-plda模型的困惑度和ad-lda的困惑度值精度相差不大,說明本發(fā)明提出的co-plda算法的精度和原始lda并行算法的精度幾乎一致,但是co-plda模型的計(jì)算時(shí)間和通信時(shí)間都要優(yōu)于ad-lda,其中co-plda模型的通信開銷約為ad-lda的20%,計(jì)算時(shí)間約為ad-lda的70%左右??梢?,co-plda在不失文本表示精度的前提下,有效地提高了模型的文本表示效率,降低了模型并行的通信開銷,同時(shí)也適當(dāng)降低了模型的計(jì)算時(shí)間。通過實(shí)驗(yàn)證明了co-plda算法文本表示效果要比ad-lda更好。
(四)結(jié)論:
在海量文本數(shù)據(jù)下,如何有效地提高文本分類的精度和效率是當(dāng)前面臨的主要問題。本發(fā)明仔細(xì)分析了文本分類的相關(guān)技術(shù),針對(duì)lda模型良好的文本表示能力,對(duì)當(dāng)前l(fā)da模型的并行算法進(jìn)行了研究。本發(fā)明提出了一種新穎的lda并行算法以提高文本的表示效率,從而提高在海量數(shù)據(jù)集下文本分類的效率。本發(fā)明主要完成以下幾點(diǎn)工作:
(1)提出利用lda模型良好的降維和文本表示能力來進(jìn)行文本表示。在當(dāng)前海量文本數(shù)據(jù)下,如何快速精確地進(jìn)行文本表示,對(duì)lda模型目前并行算法進(jìn)行深入分析,在此基礎(chǔ)上,提出了一種新穎的lda并行優(yōu)化算法。
(2)針對(duì)lda模型現(xiàn)有詞加權(quán)方法的不足之處,本發(fā)明提出了一種基于高斯函數(shù)的詞權(quán)重計(jì)算方法,避免了文本表示過程中向高頻詞傾斜,使得能夠表示文本主題信息的詞描述被少量的高頻詞掩蓋,有效提高了文本表示精度。
(3)針對(duì)ad-lda算法中模型通信時(shí)間過長(zhǎng)等問題,本發(fā)明提出了一種基于齊普夫定律的模型通信頻率劃分策略,來減小模型并行訓(xùn)練中的通信開銷。通過這種劃分策略,有效降低了每次通信過程中傳輸?shù)臄?shù)據(jù)量,改進(jìn)后的算法的通信開銷約為ad-lda的20%,計(jì)算時(shí)間約為ad-lda的70%左右。
在文本分類中,文本表示文本分類過程中的重要環(huán)節(jié)。本發(fā)明提出的一種新穎的lda并行優(yōu)化算法具有一定的創(chuàng)新和使用價(jià)值。但是由于時(shí)間有限,本發(fā)明提出的并行化方法還有局限和不足之處,所提出的算法本身也還有可以繼續(xù)優(yōu)化的地方。