摘 要:Textrank相比詞袋模型有獨特的優(yōu)勢,但需要進行多輪迭代和遞歸運算,常規(guī)串行化算法無法滿足大數(shù)據(jù)環(huán)境下文檔處理的需求。必須借助大數(shù)據(jù)的分布式處理、并行化計算技術來應對這一挑戰(zhàn)。本文學習研究了大數(shù)據(jù)平臺Hadoop的分布式處理方式,并在MapReduce框架下實現(xiàn)并行了Textrank并行提取文檔特征的算法。同時,本文就Textrank中關鍵的投票算法提出了MapReduce迭代實現(xiàn)。經(jīng)在Hadoop集群上驗證,在計算節(jié)點增加的情況下,該模式可有效提升Textrank算法效率。
關鍵詞:MapReduce;Textrank;文檔特征提取
中圖分類號:TP391.1 文獻標識碼:A 文章編號:2096-4706(2018)10-0080-04
Abstract:Compared with the word bag model,Textrank has unique advantages,but it needs several rounds of iteration and recursive operation. The conventional serialization algorithm can not meet the requirement of document processing in large data environment. It is necessary to deal with this challenge with the help of distributed processing and parallel computing technology of large data. This paper studies the distributed processing method of large data platform Hadoop,and implements parallel Textrank parallel extraction of document features in the framework of MapReduce. Finally,this paper puts forward the idea of MapReduce iterative Realization on the key voting algorithm in Textrank. It is verified by Hadoop cluster that the model can effectively improve the efficiency of Textrank algorithm when the computing node is increased.
Keywords:MapReduce;Textrank;document feature extract
0 引 言
2004年谷歌公布了MapReduce體系結構論文,提出了并行處理模型,查詢被切分和發(fā)布到并行節(jié)點上并行處理(Map階段),然后再聚集得到結果(Reduce階段)[1]。后來Apache的開源項目Hadoop實現(xiàn)了MapReduce框架[2]。這種類型的框架讓前端應用程序服務器和最終用戶對數(shù)據(jù)處理完全透明[3]。為解決大數(shù)據(jù)環(huán)境下的文檔分類及特征抽取,圍繞Mapreduce計算框架,很多研究提出了解決方案,文獻[4]就Mapreduce框架實現(xiàn)多層神經(jīng)網(wǎng)絡算法提出了方案,文獻[5]提出了大數(shù)據(jù)下用Mapreduce實現(xiàn)K-means聚類的算法設計。文獻[6]通過Mapreduce抽取無結構文本中的情感信息等。這些研究分別就Mapreduce并行計算框架在某些特定領域的具體算法進行了嘗試,但這些方法基本上是基于詞袋模行進行的特征抽取,較少考慮到文本的語義結構信息。
為了有效進行文檔分類,我們需要對文檔的語義關鍵詞進行提取,進而來實現(xiàn)通過語義關鍵詞進行分類的目的。首先要找到每個文檔能夠區(qū)別其他文檔的特征,目前,對文檔抽取特征詞的方法主要有:基于詞袋模型的TF-IDF[7],topic-model[8],基于短語的RAKE算法[9],以基于詞序的Textrank[10]等,Textrank是一個基于PageRank[11]的改進算法,即可以根據(jù)詞的權重對文本提取關鍵詞和摘要。不同于基于詞袋的方法,Textrank則從圖模型的角度進行文章的關鍵詞的查找,該算法的優(yōu)點在于事先不用基于大量數(shù)據(jù)進行訓練,它將PageRank中網(wǎng)頁的入鏈數(shù)量確定網(wǎng)頁得分的原理,改進為讓文本中每個詞的前后數(shù)量投票來確定該詞得分,同時并設計了票的權重算法。參考PageRank的計算公式:
1 Mapreduce框架實現(xiàn)Textrank提取文檔特征
Textrank實質(zhì)上是把計算句子語義特征應用到了單詞之間的特征計算上,Textrank算法的思想很適合于文本特征提取、抽取關鍵詞等任務,其一般流程如下:
(1)把給定的文本T按照完整句子進行分割,即以句號為標志,將文本分割成數(shù)組。
(2)將數(shù)組中的句子進地分詞,并進行停用詞等預處理,形成候選詞列。
(3)按指定大小窗口n將數(shù)組中詞列的每個詞與前后n個詞組成了詞集。
(4)按照打分公式以窗口為單位進行投票,得到詞的分值。
(5)按分詞排序,將分詞大的作為關鍵詞。
(6)若有關鍵詞在文本T中相鄰,則為關鍵詞組。以一個包含“鎖”(lock)的專利文本為例,專利文檔中有“A security system is coupled to a door lock system”,而經(jīng)Textrank后“door”和“l(fā)ock”屬于候選關鍵詞,這兩個關鍵在文本中又相鄰,因此“door lock”作為關鍵詞組。
上面論述了通過Textrank方法提取文檔特征詞的思路,以及如何進行分布式、并行化Textrank算法,較少有研究文獻提及。本章按照Mapreduce的思路,以及Textrank算法的基本流程,將串行化Textrank算法進行了改進,實現(xiàn)并行化設計,流程如圖1所示。
按此方式,我們在下載文檔集上進行了該算法,其效果如圖3所示。
2 性能提升測試
為測試將算法改到并行化Mapreduce框架中的性能提升狀況,我們組建了hadoop測試集群,主要對Textrank迭代算法運算速度進行測試,通過Mapreduce大數(shù)據(jù)并行技術,對測試樣本2.3G共5萬余篇專利文檔進行了Textrank特征詞提取的測試,整個測試中不同的節(jié)點及耗時情況如表1所示。
把以上結果以圖例展示可以更明顯地看到并行特征提取算法在多節(jié)點中性能得到了明顯提升。hadoop集群節(jié)點數(shù)并行計算性能測試表比較如圖4所示。
3 結 論
大數(shù)據(jù)時代文檔數(shù)量極大、增長極快,傳統(tǒng)的分類算法已無法勝任在海量數(shù)據(jù)環(huán)境下的獲取及處理需求,需要采取大數(shù)據(jù)分布式、并行化處理技術去解決這一問題。文章通過研究Textrank文本特征提取算法,并將算法加以改進并移值到Mapreduce算法框架中,經(jīng)測試,相對傳統(tǒng)的串行化處理算法而言,采取大數(shù)據(jù)并行化計算技術的算法在計算節(jié)點增加的情況下,可以有效提高創(chuàng)新知識文檔獲取的處理性能。
參考文獻:
[1] Jeffrey Dean,Sanjay Ghemawat. MapReduce:simplified data processing on large clusters [J].Commun. ACM,2008,51(1):10.
[2] Ghazi M R,Gangodkar D. Hadoop,MapReduce and HDFS:A Developers Perspective [J].Procedia Computer Science,2015,48:45-50.
[3] Boja C,Pocovnicu A,Batagan L. Distributed Parallel Architecture for“Big Data” [J].Informatica Economica Journal,2012,16(2):116-127.
[4] Zhang H J,Xiao N F. Parallel implementation of multilayered neural networks based on Mapreduce on cloud computing clusters [J].Soft Computing,2016,20(4):1471-1483.
[5] Cui X,Zhu P,Yang X,et al. Optimized big data K-means clustering using MapReduce [J].Journal of Supercomputing,2014,70(3):1249-1259.
[6] Ha I,Back B,Ahn B. MapReduce functions to analyze sentiment information from social big data [J].International Journal of Distributed Sensor Networks,2015:1-11.
[7] Salton,Gerard,Buckley,Christopher. Term-weighting approaches in automatic text retrieval [J].Information Processing and Management,1988,24(5):513-523.
[8] Steyvers M,Griffiths T. Probabilistic topic models. [J].IEEE Signal Processing Magazine,2010,27(6):55-65.
[9] Rose S,Engel D,Cramer N,et al. Automatic Keyword Extraction from Individual Documents [M].Text Mining:Applications and Theory. John Wiley Sons,Ltd,2010.
[10] Mihalcea R,Tarau P. Textrank:Bringing Order into Texts [J].Unt Scholarly Works,2004:404-411.
[11] Page L. The PageRank citation ranking:Bringing order to the web [J].Stanford Digital Libraries Working Paper,1998,9(1):1-14.
[12] Brin S,Page L. The anatomy of a large-scale hypertextual Web search engine [J].International Conference on World Wide Web,1998,56(18):107-117.
作者簡介:孫龍(1975-),高級軟件架構設計師,博士在讀。研究方向:軟件工程、人工智能和嵌入系統(tǒng);李彥(1954-),創(chuàng)新方法與創(chuàng)新設計四川省重點實驗室主任,創(chuàng)新方法研究會技術創(chuàng)新方法專業(yè)委員會副理事長,教授,博士生導師,工學博士。研究方向:人工智能技術在工業(yè)中的應用、創(chuàng)新設計理論、方法及應用。