999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于深度學習的文本情感分析并行化算法

2019-07-11 07:09:16翟東海侯佳林劉月
西南交通大學學報 2019年3期
關鍵詞:文本情感模型

翟東海 ,侯佳林 ,劉月

(西南交通大學信息科學與技術學院,四川 成都 611756)

文本情感分析是利用計算機技術對“人們關于產品、服務、事件等實體的評論”等文本進行分析處理以獲得其表達的主觀情感信息的過程.其主要包括:情感信息分類、情感信息抽取、情感分析技術應用等[1-3].傳統的情感分析方法包括支持向量機、條件隨機場、信息熵等,且均采用詞袋模型.如文獻[4]采用SVM (support vector machine)對句子進行情感識別及分類.但這種淺層模型在處理海量數據時通常存在著數據稀疏性以及數據維度高等問題.Geoffrey Hinton 等[5-6]于2006年提出的深度學習模型為解決這些問題提供了新思路.當前,在文本情感分析任務上應用較多的神經網絡模型有卷積神經網絡(CNN)、基于序列的模型(RNN)和樹型結構模型(RAE)等.如文獻[7]采用CNN 進行情感極性分類;文獻[8]采用雙向序列模型(BLSTM)進行中文文本分類研究.因樹形結構模型(如深度學習中的遞歸自編碼算法)在文本特征提取、情感分析中表現優異,受到了學者們的廣泛關注,如文獻[9-11]都是遞歸自編碼算法的典型應用范例.

神經網絡模型雖然能夠極大程度地學習到文本內容所隱含的語義信息,顯著提高分類的準確率,但深度神經網絡在訓練時耗時、收斂慢的問題也逐漸受到了研究者們的關注.文獻[12]通過開發新的計算框架DistBelief 來實現大規模神經網絡的訓練;文獻[13]中使用GPU 來訓練深度玻爾茲曼機,但GPU因受內存所限,數據量大時效果也不太理想.

隨著并行計算的興起,在處理大規模數據、復雜計算時,研究人員往往向其尋求幫助.Berkeley AMP lab 的Spark[14]、谷歌的TensorFlow[15]、微軟的Dryad[16]以及谷歌的MapReduce[17]都是該領域內的佼佼者.而MapReduce 框架以其較強的可擴展性、良好的可用性、較好的容錯能力,成為研究者關注的熱點[18].在諸多MapReduce 的實現中,Apache Hadoo 因良好的開源性深受業界青睞.因此,利用Apache Hadoop中的MapReduce 并行計算框架對神經網絡進行優化加速也吸引了諸多學者的研究興趣.神經網絡的并行化加速是在分布式集群上,用多個集群節點同時對一個神經網絡進行并行化處理,以提高此網絡的訓練速度.網絡的并行化方式分為兩種:節點并行化和數據并行化.但由于開發者對MapReduce 框架的底層實現并不清楚,因此開發者不能明確地將某項任務交由某個節點處理.且對海量數據集的節點并行化處理會使得I/O 開銷過大.因此,在MapReduce 框架中采用的是數據并行方式來加速網絡訓練.文獻[19-21]皆是基于Hadoop 中的MapReduce 所做的不同并行化處理的例子,證明了利用MapReduce可以有效加快網絡訓練速度,從而大大縮短神經網絡的訓練時間.

本文針對Socher 等提出的Semi-Supervised 文本情感分析算法[9],使用開源Hadoop 中的MapReduce并行框架提出并行優化策略,綜合利用集群節點的計算資源,使其在處理大規模文本時更加高效.

1 相關工作

1.1 MapReduce

Google 提出的MapReduce 以其優越的整合計算節點的能力所著稱,此處對其做簡要介紹.MapReduce 采用“分而治之”的思想,通過主節點調度,將任務分配到其下的子節點中,并行處理后輸出最終結果.總的來說,MapReduce 是通過用戶編寫Map 函數和Reduce 函數來實現結果計算的,用戶只需關注這兩個函數的編寫,其他的問題,諸如容錯、負載均衡、調度都交給框架處理.在MapReduce中,一個任務首先被分成許多輸入鍵值對<kin,vin>,然后在Map 函數作用下生成中間結果<kmid,vmid>,這些中間結果存放于內存之中.接著,這些中間結果將作為Reduce 函數的輸入,根據Reduce 中的用戶邏輯輸出最終結果<kout,vout>.其流程如圖1所示,圖中:M為數據存儲數;m為中間結果鍵值對數目.

圖1 MapReduce 工作流程Fig.1 Workflow chart of MapReduce

1.2 Semi-Supervised RAE 文本情感分析

1.2.1 用詞向量表示詞語

不同于以往的詞袋模型[22],Semi-Supervised RAE用詞向量表示詞語并作為神經網絡的輸入,如(0,1,0,0)表示“大學生”,(1,1,0,1)表示“教師”.若一個句子x含m個詞,則第k個詞為xk,1 ≤k≤m.將詞xk以標準正態分布的形式映射到n維實向量空間上,可表示為xk∈Rn.所有詞的詞向量存儲在一個詞嵌入矩陣L∈Rn×|V|中,V為詞匯表的大小.則xk的向量表示為

式中:bk為一個維度為詞表大小、值為0 或1 的二值向量,除了第k個索引之外的所有位置都是0.

1.2.2 有監督遞歸自編碼

在獲取句子的低維向量表示時,傳統的自編碼方法需要將句子的樹形結構作為先驗知識,這種編碼方法稱為有監督遞歸自編碼.假設一個句子用向量表示為x= (x1,x2,···,xm),已知子節點c1、c2的輸入詞向量為x1、x2,則父節點pi的計算方法為

式中:i=1 ,2,···;C= [c1;c2]表示c1、c2的詞向量拼接矩陣;f(·)為 網絡的激活函數;wfi和bfi分別為計算父節點時的權重和偏置參數.

為了測試父節點對子節點的表示能力,在各父節點上添加其對應子節點的重構層(圖2),根據原始節點與重構節點的差值來表示誤差.

圖2 有監督遞歸自編碼結構Fig.2 Structure of supervised RAE

重構節點計算方法為

式中:j=1 ,2,···;C′=[c′1;c′2]為c1、c2的重構節點c′1、c′2的詞向量拼接矩陣;brj為偏置項;wrj為權重參數矩陣.

詞向量采用歐式距離計算重構誤差,即

1.2.3 無監督遞歸自編碼

通常情況下,句子的樹形結構往往未知,這種需要自主學習樹形結構的自編碼方法稱為無監督遞歸自編碼.樹形結構預測過程的優化目標函數為

式中:Rθ(x)為句子x的最優樹型結構模型,θ為參數集;集合A(x)為句子x所有可能的樹形結構集合;y為其中的一種結構;s為計算過程中非終端節點的三元結構(由2 個子節點cs1、cs2和1 個父節點Ps組成);Cs=[cs1,cs2];T(y)為這種三元結構的檢索函數.

不同詞語對句子整體含義的貢獻度不同,為了體現這種差異在計算重構誤差時給不同的詞語賦予不同的權重,

式中:n1、n2為當前子節點c1、c2下面的詞數.

為了防止遞歸自編碼算法在不斷迭代減小重構誤差時計算出的父節點過小,為后續計算造成不必要的麻煩,此處對式(2)進行歸一化處理:

1.2.4 半監督遞歸自編碼

得到句子的向量表示后,為計算整體語句的情感傾向,在網絡結構上增加softmax(·)分類器:

式中:l為當前的情感種類;wl為參數矩陣.

若有K種情感,則d∈RK,且分類層交叉熵誤差計算方法為

式中:t為標簽的分布;tk為第k種情感的標簽分布;dk為條件概率,且

因此,半監督遞歸自編碼在數據集上的優化目標函數為

式中:N為訓練數據集大??;λ為L2正則項系數;

并且,此時每個非終端節點的誤差變為重構誤差與交叉熵誤差的加權和為

式中:α為權衡重構誤差和交叉熵誤差的調節參數.

采用L-BFGS (limited-memory Broyden-Fletcher-Goldfarb-Shanno)算法求解優化目標函數式(11)的最優解,其中所用的梯度為

式中:θ= {wfi,bfi,wrj,brj,wl,L}.

2 Semi-Supervised RAE 模型的并行化

在使用Semi-Supervised RAE 算法進行文本情感分析時,往往需要先根據訓練數據集,訓練出較好的模型,然后再將此模型應用于情感分析.因此,針對Semi-Supervised RAE 模型的并行化也將分為兩步:首先是針對大量訓練數據集的并行化研究,當模型訓練好后,利用其并調用相應的并行化算法,進行測試數據集的文本情感分析.

2.1 大量訓練數據集情況下

在Semi-Supervised RAE 的訓練階段,通過貪心算法構建句子的最優樹結構以獲得該語句的向量編碼,接著通過優化目標函數式(11)迭代得到最優的參數集,為獲得最佳文本情感分析結果做好準備.

本文采用MapReduce 并行框架來加快訓練速度以便解決原模型在大數據量的情況下訓練時間過長的問題.首先對總的訓練數據集進行分塊,并將每一個數據塊分派給不同的Map 節點.利用這些數據塊,Map 節點依次計算相應數據塊中每一個句子x的最優樹結構,并計算相應句子的誤差,直至數據塊中所有語句誤差計算完畢并暫存在緩沖區.Reduce階段,節點累加緩沖區的塊誤差來計算得到這個數據集的誤差和并利用L-BFGS 算法求出最優參數集.算法整體流程如圖3所示.該算法的主要計算量集中于Map 階段,為了克服并行化后神經網絡出現弱化現象[19],集群只設置了一個Reduce 節點如圖3所示,圖中Nt為訓練數據集合塊數.

2.2 大量測試數據集情況下

當模型訓練好后,本文針對測試數據集較大情況下測試結果輸出慢的特點,也設計了相應的并行化算法.首先,將測試數據集分塊,用訓練階段得到的最優參數集來初始化節點.在Map 階段,求出每條語句的向量表示,并輸出到緩沖區.在Reduce 階段,softmax(·)分類器利用每條語句的向量表示輸出句子ID 及其情感標簽,算法流程如圖4所示,圖中,Nc為測試數據集合塊數.

圖3 大量訓練集并行化算法Fig.3 Parallel Computing based on a big training dataset

圖4 大量測試集并行化算法Fig.4 Parallel Computing based on a big test datasets

3 實驗結果與分析

實驗中用到的節點皆為AMD 雙核2.5 GHz 處理器,內存4 GB.節點操作系統為Ubuntu14.04,Hadoop版本為1.0.2,Java 版本為1.6.0_33.此次實驗中,詞向量選用100 維,算法最大迭代次數為1 000,權衡重構誤差和交叉熵誤差的調節參數α設為0.2.

為了克服現有的情感分析語料庫數據量較小[23-24]的問題,本文采用爬蟲程序從美國亞馬遜購物網站上抓取了12 萬條商品評論數據,構建了兩個語料庫AmazonCorpus2 和AmazonCorpus10,用以測試并行化后的加速效果.此外,Movie Reviews(MR)[25]數據集也用于本文實例驗證中,以分析算法分類準確率時與原算法作對比(如表1所示).

表1 語料庫信息Tab.1 Corpus information

根據商品質量的優劣,美國亞馬遜購物網站將用戶對商品的評分設置為1~5 級.為了便于情感分析與模型訓練,在本文制作的語料庫中將1~5 級轉化為負面、中性、正面3 類評價,轉換規則如下:1~2 級評分為負面評價記為-1,3 級評分為中性評價記為0,4~5 級評分為正面評價記為1.

MR 數據集僅被分為兩類,即正面評價記為1,和負面評價記為 -1.詳情如表2、3 所示.

表2 AmazonCorpus 語料庫樣例Tab.2 Samples of the AmazonCorpus

表3 MR 語料庫樣例Tab.3 Samples of the MR corpus

3.1 算法分類精確度分析

此處選用MR 和AmazonCorpus2 兩個語料庫,將并行化算法與原始模型及兩個在情感分析任務上應用較為廣泛的baseline 模型——CNN 和BLSTM做精確度對比試驗.試驗時,并行化訓練算法的Map節點設為3,Reduce 節點為1,試驗結果如表4所示.從表4中可看出,并行化算法和原始算法擁有幾乎相同的精確度(精確度 = 預測正確樣本量/樣本總量),均高于CNN 和BLSTM 模型,但并行化算法訓練時間遠小于其它算法的訓練時間.這是因為CNN雖然具有較強的捕獲局部特征的能力,但它忽略了文本的上下文語義及結構特征,使得模型的訓練效果容易收斂到局部最小值而非全局最小值.而BLSTM通過一個正向LSTM 和一個反向LSTM 來學習文本的上下文語義特征的同時引入了較多的冗余特征信息,這些冗余信息會影響模型的精確度;且LSTM 內部的門結構和記憶單元使得模型的時間復雜度較大.

表4 算法精確度對比表Tab.4 Accuracy comparison of algorithms

3.2 算法執行效率分析

對于并行化算法的執行效率,此處分別針對并行化訓練算法和并行化測試算法進行分析.首先,用AmazonCorpus10 語料庫進行并行化訓練算法的仿真.集群節點個數分別為1、2 (1 個Mapper,1 個Reducer)、3 (2 個Mapper,1 個Reducer)、5 (4 個Mapper,1 個Reducer)、9 (8 個Mapper,1 個Reducer)、17(16 個Mapper,1 個Reducer),33 (32 個Mapper,1 個Reducer),節點個數為1 時,表示原始算法的訓練;其余集群中Reduce 節點個數均為1.實驗結果如圖5所示.

圖5 不同節點并行化訓練時間對比Fig.5 Parallel training time comparison among different nodes

從圖5可得,當集群中節點個數為2 時,并行化算法沒有原始算法效率高,其原因主要是節點初始化、任務調度及算法迭代時更新參數集均需要消耗一定量的時間.但隨著節點逐漸增多,耗時量幾乎線性下降,說明并行化算法效果良好.當節點增加到9 個以后,耗時量下降變緩,說明訓練時間受節點數量的制約開始減弱,此時算法瓶頸已不再為Map 節點個數.

其次,利用上述AmazonCorpus10 語料庫的訓練得到的參數集來初始化“并行化測試算法”.測試集是在AmazonCorpus2 語料庫的基礎上,對其數據量作20、40、80、160 倍擴展的大數據集,即本次測試的數據量為40、80、160、320 萬條語句.針對這些數據,分別選擇1、3、4、6、10、18,34 個節點對其做并行化,其中節點個數為1 表示原始算法,其余集群中Reduce 節點個數均為2,實驗結果如圖6所示.

圖6 不同數據量測試時間對比Fig.6 Test time comparison among different data volumes

從圖6可得出,當數據量增大時,并行化測試算法可大大縮短數據集的執行時間,如在語句數據量為40 萬條時,34 個節點所需執行時間約是原始算法的1/10.但數據量較大時,增加Map 節點個數,算法加速效果逐漸變弱,這種情況在語句數據量為320 萬條時較為明顯.通過對集群節點計算量分析可知,此時影響算法效率的主要因素是Reduce 節點個數.

為了進一步探索Reduce 節點個數對加速效果的影響,此次在Map 節點為8、16、32 個時,通過增加Reduce 節點個數,分別測量語句數據量為320、640、1 280 萬 條(AmazonCorpus2 語 料 庫 作160、320、640 倍擴展)時的并行化算法加速效果.實驗結果如圖7所示.

從圖7、8、9 中可明顯得出,當Map 節點達到一定量后,增加Reduce 節點個數,可顯著提高算法執行效率.如圖7中Map 節點為32 時,相同語句數據量Reduce 節點個數為5 時的測試時間約是2 時的一半,可見當Map 節點足夠多時,適當增加Reduce節點個數可以提高算法的執行效率.

圖8 640 萬條語句數據量加速效果對比Fig.8 Acceleration effect comparison on 6.4 million data

圖9 1 280 萬條語句數據量加速效果對比Fig.9 Acceleration effect comparison on 12.8 million data

4 結束語

本文基于MapReduce 并行化可擴展計算框架提出了半監督遞歸自編碼文本情感分析模型的優化算法:針對模型在大訓練數據集上收斂速度緩慢的問題,本文優化算法首先采用“分而治之”的思想對數據集做分塊處理后輸入Map 節點計算塊誤差,接著將塊誤差輸出到緩沖區中匯總,而Reduce 節點先利用塊誤差計算出優化目標函數,然后調用LBFGS 算法更新模型參數集,迭代上述訓練過程直至目標函數收斂,從而得到模型最優參數集;針對模型在大測試數據集上測試結果輸出緩慢的問題,本文優化算法在利用最優參數集初始化模型后,在Map 節點中計算出各句子的向量表示,并存儲于緩沖區中.然后Reduce 節點中的分類器利用緩沖區中的向量表示計算各語句的情感標簽.從實驗結果可得出,本文算法明顯提高了原始算法的運行效率.然而本文算法也有不足之處,如在訓練階段,并行化算法中Reduce 節點一次最多只能運行一個,這將成為大規模并行訓練時算法的瓶頸;在測試階段,當數據量大時Reduce 節點個數的選擇也直接影響了算法的效率,此時急需一種有效的調節機制,能夠均衡當前集群中的Reduce 節點個數,以上這些都將成為今后進一步研究的重點.

猜你喜歡
文本情感模型
一半模型
如何在情感中自我成長,保持獨立
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
失落的情感
北極光(2019年12期)2020-01-18 06:22:10
情感
在808DA上文本顯示的改善
基于doc2vec和TF-IDF的相似文本識別
電子制作(2018年18期)2018-11-14 01:48:06
如何在情感中自我成長,保持獨立
3D打印中的模型分割與打包
主站蜘蛛池模板: 丁香婷婷激情网| 在线国产毛片手机小视频| 真实国产乱子伦视频| 亚洲欧洲日产国码无码av喷潮| 狠狠干欧美| 91麻豆精品国产高清在线| 99re这里只有国产中文精品国产精品 | 一本一道波多野结衣av黑人在线| 亚洲日韩精品伊甸| 影音先锋亚洲无码| 欧美亚洲综合免费精品高清在线观看| 国产精品免费露脸视频| 国产手机在线小视频免费观看| 国产呦精品一区二区三区下载 | 国产黄色视频综合| 日本在线亚洲| 97视频在线观看免费视频| 不卡色老大久久综合网| 天天色天天综合网| 精品中文字幕一区在线| 日本黄色不卡视频| 97在线免费视频| 一级看片免费视频| 亚洲精品高清视频| 久久国产精品波多野结衣| 黄色网址免费在线| 国产亚洲男人的天堂在线观看| 国产亚洲高清视频| 亚洲首页在线观看| 精品国产电影久久九九| 中文字幕无码av专区久久| 九色91在线视频| 精品少妇人妻无码久久| 免费无遮挡AV| 人妻精品久久久无码区色视| 亚洲欧美不卡视频| 国内精品小视频在线| 亚洲乱码精品久久久久..| 国产高清精品在线91| 亚洲欧美在线精品一区二区| 青青国产在线| 国产福利免费视频| 亚洲国产精品一区二区第一页免 | 日本精品视频一区二区| 久久中文字幕2021精品| 青青青亚洲精品国产| www.亚洲一区二区三区| 久热精品免费| 四虎成人精品在永久免费| 免费aa毛片| 精品国产三级在线观看| 国产成人超碰无码| 国产精品hd在线播放| 三上悠亚精品二区在线观看| 亚洲成年网站在线观看| 国产免费久久精品99re不卡| 狠狠色综合网| 国内自拍久第一页| 99久久精品美女高潮喷水| 99热这里只有免费国产精品| 色婷婷国产精品视频| 99视频在线精品免费观看6| 久久久久久午夜精品| 国产一级妓女av网站| 成人一区专区在线观看| 天天色天天操综合网| 福利一区在线| 精品国产电影久久九九| 女人毛片a级大学毛片免费 | 国产精品无码久久久久久| 亚洲欧美另类久久久精品播放的| 一级成人a毛片免费播放| 一级做a爰片久久毛片毛片| 国产男女XX00免费观看| 99久久婷婷国产综合精| 国产成人8x视频一区二区| 久久毛片免费基地| 亚洲人成影院午夜网站| 久久国产精品影院| 亚洲国产精品国自产拍A| 日本国产精品一区久久久| 欧美性猛交一区二区三区|