国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Spark的并行化主題模型算法研究

2017-06-01 09:45:30鄒小波詹敏
電腦知識與技術(shù) 2017年8期
關(guān)鍵詞:文本挖掘大數(shù)據(jù)

鄒小波 詹敏

摘要:為應(yīng)對大數(shù)據(jù)量處理的挑戰(zhàn)以及更加有效地進(jìn)行文本的語義挖掘,本文利用快速通用的計算框架Spark進(jìn)行典型主題模型潛在狄利克雷模型的并行化研究。根據(jù)模型求解過程中利用吉布斯采樣估計參數(shù)的特點(diǎn),該文將模型的并行化實(shí)現(xiàn)分解為參數(shù)初始化、數(shù)據(jù)集分割以及吉布斯采樣等過程,并利用Spark提供的豐富編程接口進(jìn)行模型的訓(xùn)練設(shè)計。基于真實(shí)數(shù)據(jù)集上的實(shí)驗(yàn)表明,該文的并行化模型能夠提取文本的主題分布。

關(guān)鍵詞:主題模型;Spark;吉布斯采樣;文本挖掘;大數(shù)據(jù)

中圖分類號:TP391 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2017)08-0017-02

近年互聯(lián)網(wǎng)的發(fā)展將信息時代帶入了大數(shù)據(jù)時代,人們獲取信息的方式不再是傳統(tǒng)的PC端,而是擴(kuò)展到了移動互聯(lián)甚至是物聯(lián)網(wǎng)等多樣化的形式。越來越豐富的網(wǎng)絡(luò)內(nèi)容,使數(shù)據(jù)產(chǎn)生的速度、數(shù)據(jù)格式以及數(shù)據(jù)關(guān)系都變得難以再利用傳統(tǒng)的數(shù)據(jù)處理技術(shù)進(jìn)行數(shù)據(jù)的分析。因此,找到一種能夠有效處理大數(shù)據(jù)的技術(shù)成為了數(shù)據(jù)時代的基本需求。

本文主要研究內(nèi)存計算框架Spark平臺下主題模型算法Latent Dirichlet Allocation(LDA)的并行化及實(shí)現(xiàn)。LDA是Da-vid Blei,Andrew壇等提出的基于貝葉斯方法的無監(jiān)督概率生成主題模型,廣泛應(yīng)用在信息檢索、主題抽取、信息推薦等,本文在Spark框架下進(jìn)行LDA主題模型的文本挖掘研究。

1研究現(xiàn)狀

LDA模型利用兩個假設(shè):(1)文檔是多個主題的集合,符合多項(xiàng)分布;(2)主題也是詞語的混合,同樣符合多項(xiàng)分布。整個過程就是估計分布參數(shù),在估計參數(shù)的方法中,Blei等使用變分貝葉斯方法估計先驗(yàn)分布參數(shù),Gregor Heinrichm應(yīng)用Gibbs采樣方法對LDA進(jìn)行參數(shù)估計。

關(guān)于LDA算法的改進(jìn),很多學(xué)者進(jìn)行了深入而細(xì)致的研究,既有變分貝葉斯也有Gibbs采樣。針對大數(shù)據(jù)集處理提出的并行LDA首次由DavidNewman等提出,該論文提出兩種LDA改進(jìn)模型:(AD-LDA)和(HD-LDA),AD-LDA模型分割數(shù)據(jù)集加快速度,而精度有損失,HD-LDA混合模型包含多個LDA,相比AD-LDA精度提升,但復(fù)雜度高,因此,都集中在AD-LDA基礎(chǔ)上深入研究,Porteoas等提出了FastLDA。除了上述的早期并行化研究,La Wen等基于Mahout的CollapsedVariational Bayes(CVB)算法進(jìn)行改進(jìn)。由于Spark基于內(nèi)存計算的優(yōu)勢,越來越多的大數(shù)據(jù)處理研究放在了該平臺上,Spark下的LDA模型研究對文本處理的研究具有非常重要的指導(dǎo)作用。

2相關(guān)技術(shù)

2.1LDA模型

LDA模型中一篇文檔的生成方式過程如下:

1)通過Dirichlet分布采樣得到文檔i的主題分布θi;

2)從主題的多項(xiàng)式分布θi取樣生成文檔i詞語j的主題Zi,j;

3)從Dirichlet分布β中取樣生成主題Zi,j詞語分布φz(i,j)

4)從詞的多項(xiàng)式分布φz(i,j)中采樣最終生成詞Wi,j。

2.2 Spark內(nèi)存計算框架

Spark是一種由加州大學(xué)伯克利分校AMP實(shí)驗(yàn)室開源的內(nèi)存計算框架,相比Hadoop MapReduce模型具有快速、通用、容錯的特點(diǎn),由于MapReduce對中間結(jié)果處理落地磁盤,所以不適合具有迭代和實(shí)時條件下的計算,而Spark采用ResilientDistributed Datasets(RDD)數(shù)據(jù)集,非常適合在迭代情況下的應(yīng)用,因此適合機(jī)器學(xué)習(xí)等迭代算法的部署,Spark自身也包括了SQL處理、流計算、MLlib、圖計算等組件,因此在內(nèi)存快速計算的前提下,還能適用在不同的應(yīng)用場景下。

3基于Spark的LDA主題模型的實(shí)現(xiàn)

LDA模型使用貝葉斯推理方法,中間需要三個參數(shù):每個詞對應(yīng)的主題Zi,j,文檔的主題分布θi,每個主題的詞語分布z(i,j),在估計參數(shù)時,只需要計算Zu,其他兩個參數(shù)可以通過似然估計得到。Zi,j的計算公式如下:

(1)

(2)

(3)

公式(1)中分母需要求KW項(xiàng)的和,因此很難求出,Gibbs抽樣就是要完成式(1)的抽樣,再利用抽樣結(jié)果完成其他兩個參數(shù)的似然估計。

在進(jìn)行了數(shù)據(jù)集分割和預(yù)處理后,通過對每個數(shù)據(jù)集進(jìn)行一次Gibbs采樣然后進(jìn)行相關(guān)矩陣和數(shù)組的合并,以求平均值的方式得到新的狀態(tài)變化。接下來使用新的狀態(tài)集合應(yīng)用到各個數(shù)據(jù)集中進(jìn)行下一次采樣,重復(fù)這一過程,直到得到穩(wěn)定的結(jié)果。

LDA吉布斯采樣在并行化實(shí)現(xiàn)時需要更新多個統(tǒng)計量,如果將數(shù)據(jù)并行化處理,則需要將一些全局統(tǒng)計量進(jìn)行每次采樣的更新。數(shù)據(jù)以矩陣的形式存儲,在進(jìn)行數(shù)據(jù)集的子劃分時,按照從上到下、從左到右的順序進(jìn)行數(shù)據(jù)塊劃分,并行計數(shù)時對每個數(shù)據(jù)塊的局部統(tǒng)計量進(jìn)行更新,每次采樣完畢后將局部統(tǒng)計量進(jìn)行合并至全局統(tǒng)計量中,作為下次采樣的先驗(yàn)分布。并行吉布斯采樣的參數(shù)表如下表J所示(共享全局變量已在表中給出):

3.1算法參數(shù)初始化

相關(guān)的計數(shù)矩陣和數(shù)組初始化為0,然后將數(shù)據(jù)讀入RDD(RDD的數(shù)據(jù)主要是文檔一主題一詞匯)。

3.2采樣

采樣是LDA算法的核心,的采樣過程可以細(xì)致分為三個步驟:

1)首先是采樣參數(shù)中各計數(shù)數(shù)組的初始化,這些計數(shù)數(shù)組主要是文檔主題數(shù),文檔詞數(shù)以及某個主題的詞數(shù);

2)針對不同數(shù)據(jù)塊生成的RDD進(jìn)行并行采樣;

3)將更新后的計數(shù)矩陣傳輸?shù)较乱粋€采樣作業(yè)。

3.3Spark下LDA訓(xùn)練流程

1)數(shù)據(jù)導(dǎo)入:直接調(diào)用Spark導(dǎo)入本地數(shù)據(jù)或者將數(shù)據(jù)存入相應(yīng)的Nosql數(shù)據(jù)庫;

2)數(shù)據(jù)預(yù)處理:包括分詞、去停用詞、相關(guān)詞頻統(tǒng)計等工作,主要目的是為了向量化進(jìn)行模型的訓(xùn)練;

3)轉(zhuǎn)換為RDD:主要是為了將數(shù)據(jù)進(jìn)行分割,從而實(shí)現(xiàn)后續(xù)的并行化模型訓(xùn)練;

4)模型訓(xùn)練:模型的訓(xùn)練過程是本文并行化實(shí)現(xiàn)的核心,按照兩個過程:參數(shù)初始化和采樣過程進(jìn)行迭代。

4實(shí)驗(yàn)設(shè)計與結(jié)果分析

使用的數(shù)據(jù)集為斯坦福大學(xué)的Topic Modeling Toolbox(TMT)測試數(shù)據(jù)集,實(shí)驗(yàn)環(huán)境為三臺內(nèi)存為4g的主機(jī)組成的Spark集群,使用Spark2.0,分別測試主題模型的困惑度以及主題挖掘結(jié)果中的詞數(shù)分布。

4.1困惑度

困惑度是評測主題模型常用的一種測評參數(shù),其計算方式如下:

(4)

困惑度越小模型越好,隨著迭代的進(jìn)行,模型的迷惑度會逐步收斂。初始參數(shù)為α=β=0.01,主題數(shù)設(shè)置為(5,10,15,20,25,30),迭代次數(shù)為500次。由于每次采樣計算的結(jié)果都會有差別,因此本文進(jìn)行了多次測試并取均值,如下圖1所示。

可知,在圖中當(dāng)主題數(shù)為30時困惑度Perplexity最小,表示模型最優(yōu),所以為了進(jìn)行下一步主題分布的采樣結(jié)果測試,選用主題數(shù)為30最好。

4.2主題分布采樣結(jié)果

根據(jù)選擇的主題數(shù)以及參數(shù)的設(shè)置,采樣測試將迭代次數(shù)增加為1000次,得到對文檔集的主題挖掘結(jié)果,整個主題的詞分布都相對均勻,隨機(jī)選擇某個主題詞語分布中頻率最高的1個詞語進(jìn)行分析,得到詞語分布直方圖,如圖2所示。可見,抽取出的主題詞具有一定的表現(xiàn)力。

5總結(jié)

本文對主題模型LDA進(jìn)行了簡要的概述,并對其相關(guān)的并行化工作做了理論介紹,重點(diǎn)對其在Spark平臺上實(shí)現(xiàn)并行化的一些思路進(jìn)行了分析與實(shí)現(xiàn),相關(guān)的實(shí)驗(yàn)測試其困惑度以及主題抽取結(jié)果。實(shí)驗(yàn)表明,LDA算法可以在Spark上進(jìn)行較好的主題抽取,其抽取結(jié)果可以為進(jìn)一步的文本分類以及個性化推薦等應(yīng)用提供良好的幫助,但是本文的算法還存在一些問題,例如迭代次數(shù)增加導(dǎo)致的算法運(yùn)行效率問題,這也是后期的研究工作。

猜你喜歡
文本挖掘大數(shù)據(jù)
數(shù)據(jù)挖掘技術(shù)在電站設(shè)備故障分析中的應(yīng)用
基于LDA模型的95598熱點(diǎn)業(yè)務(wù)工單挖掘分析
文本數(shù)據(jù)挖掘在電子商務(wù)網(wǎng)站個性化推薦中的應(yīng)用
商(2016年34期)2016-11-24 16:28:51
從《遠(yuǎn)程教育》35年載文看遠(yuǎn)程教育研究趨勢
大數(shù)據(jù)環(huán)境下基于移動客戶端的傳統(tǒng)媒體轉(zhuǎn)型思路
新聞世界(2016年10期)2016-10-11 20:13:53
基于大數(shù)據(jù)背景下的智慧城市建設(shè)研究
科技視界(2016年20期)2016-09-29 10:53:22
數(shù)據(jù)+輿情:南方報業(yè)創(chuàng)新轉(zhuǎn)型提高服務(wù)能力的探索
中國記者(2016年6期)2016-08-26 12:36:20
慧眼識璞玉,妙手煉渾金
文本觀點(diǎn)挖掘和情感分析的研究
牟定县| 南充市| 南京市| 白水县| 社会| 连南| 司法| 洪江市| 崇信县| 礼泉县| 泌阳县| 柯坪县| 龙岩市| 龙州县| 满城县| 佳木斯市| 棋牌| 锡林郭勒盟| 湘西| 西青区| 融水| 绿春县| 钦州市| 博爱县| 长泰县| 来凤县| 双牌县| 怀仁县| 嘉黎县| 金门县| 哈巴河县| 安泽县| 鲜城| 桐乡市| 广元市| 张家川| 台州市| 堆龙德庆县| 太仆寺旗| 紫金县| 兴国县|