亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Hadoop框架的TF-IDF算法改進(jìn)

        2012-11-24 02:17:32李彬
        關(guān)鍵詞:詞頻個數(shù)語料庫

        李彬

        (暨南大學(xué) 信息科學(xué)技術(shù)學(xué)院計算機科學(xué)系,廣東 廣州 510632)

        TF-IDF(Term Frequency-Inverse Document Frequency)是一種用于資訊檢索與文本挖掘的常用加權(quán)技術(shù)[1],用來評估單詞對于一個文件集或一個語料庫中的其中一份文件的重要程度。單詞的重要性隨著其在文件中出現(xiàn)的次數(shù)成正比增加,但同時會隨著其在語料庫中出現(xiàn)的頻率成反比下降。TF-IDF算法的各種形式常被搜索引擎、Web數(shù)據(jù)挖掘、文本分類及相似度計算等各種應(yīng)用中,而這些應(yīng)用往往是以處理海量數(shù)據(jù)的輸入為背景。因此,如何在海量數(shù)據(jù)中快速有效地計算出TF-IDF具有重要意義。

        1 TF-IDF算法原理

        在一份給定的文件里,詞頻 TF(Term Frequency)指的是某一個給定的詞語在該文件中出現(xiàn)的次數(shù)。對于在某一特定文件里的詞語ti來說,它的重要性可表示為:

        式中,ni,j是該詞在文件 dj中的出現(xiàn)次數(shù),而分母則是在文件dj中所有字詞的出現(xiàn)次數(shù)之和。

        逆向文件頻率 IDF(Inverse Document Frequency)是一個詞語普遍重要性的度量。某一特定詞語的IDF,由總文件數(shù)目除以包含該詞語的文件的數(shù)目,再將得到的商取對數(shù)得到:

        式中,|D|表示語料庫 中的文件總數(shù),|{j:ti∈dj}|表 示包 含詞語ti的文件數(shù)目。

        在式(1)、式(2)的基礎(chǔ)上,可得單詞的權(quán)重計算公式[2]:

        某一特定文件內(nèi)的高詞語頻率以及該詞語在整個文件集合中的低文件頻率,可以產(chǎn)生出高權(quán)重的TFIDF。因此,TF-IDF傾向于過濾掉常見的詞語,保留重要的詞語。

        2 Hadoop簡介

        Hadoop是一個開源的可運行于大規(guī)模集群上的分布式并行編程框架,它主要由分布式文件系統(tǒng)HDFS和MapReduce計算模型構(gòu)成。HDFS實現(xiàn)了文件的分布式存儲,它是MapReduce計算的數(shù)據(jù)載體[3-4]。MapReduce計算模型的核心是Map和Reduce兩個函數(shù),這兩個函數(shù)由用戶負(fù)責(zé)實現(xiàn),功能是按一定的映射規(guī)則將輸入的<key,value>對轉(zhuǎn)換成另一個或一批<key,value>對輸出[4-6]。HDFS與 MapReduce的關(guān)系如圖 1所示。

        圖1 HDFS與MapReduce的關(guān)系

        3 Hadoop框架下的TF-IDF算法研究與實現(xiàn)

        Hadoop分布式計算的核心思想是分割任務(wù),并行運行。從TF-IDF的計算公式可以看出,它非常適合用分布式計算求解。單詞詞頻TF只與它所在文檔的單詞總數(shù)及它在此文檔出現(xiàn)的次數(shù)有關(guān)。因此,可以通過分割數(shù)據(jù),并行統(tǒng)計文檔中的單詞詞頻TF,加快計算速度。得到單詞詞頻TF后,單詞權(quán)重TF-IDF的計算取決于包含此單詞的文檔個數(shù)(因為文檔總數(shù)是一個常量)。因此,只要能確定包含此單詞的文檔個數(shù),即能以并行計算的方式實現(xiàn)TF-IDF的求解。本文通過設(shè)計3次Map、Reduce過程實現(xiàn)TF-IDF的計算。

        3.1 統(tǒng)計每份文檔中單詞的出現(xiàn)次數(shù)

        原始數(shù)據(jù)經(jīng)過分片后傳給Map函數(shù)。在Map中使用正則表達(dá)式識別單詞,并以鍵值對<word#documentName,1>的形式寫入中間結(jié)果,傳入Reduce函數(shù)處理。在Reduce中計算單詞個數(shù),并將結(jié)果輸出到臨時文件tempFile1中以作為下一步MapReduce計算的輸入。輸出結(jié)果是以<word#documentName>為鍵、<n>為值,n表示單詞word在文檔documentName中出現(xiàn)次數(shù)。函數(shù)設(shè)計如下:

        此步計算得出單詞在文檔中的出現(xiàn)次數(shù)。

        3.2 統(tǒng)計文檔單詞詞頻TF

        上一步所得的臨時文件tmpFile1作為本次Map函數(shù)的輸入。在Map函數(shù)中,重新組織鍵值對 (以documentName為鍵、<word=n>為值)以便于下一步的Reduce計算。Reduce中,為計算每份文檔單詞總數(shù),只需累加每份文檔的單詞數(shù)即可。輸出結(jié)果存入臨時文件tempFile2中以作為下一步MapReduce計算TF-IDF的輸入。函數(shù)設(shè)計如下:

        此步計算得出每份文檔單詞詞頻TF。

        3.3 計算TF-IDF

        以上一步所得的臨時文件tmpFile2作為Map函數(shù)的輸入。在Map函數(shù)中,重新組織鍵值對(以單詞word為鍵、<documentName=n/N>為值)以便于計算單詞word在整個文檔集中出現(xiàn)的次數(shù)。Reduce函數(shù)中,統(tǒng)計出單詞word在文檔集中出現(xiàn)個數(shù)d、整個文檔集個數(shù)D,然后按公式 TF-IDF=n/N×log(D/d)計算單詞的 TF-IDF值。函數(shù)設(shè)計如下:

        此步計算得出文檔集中每份文檔的單詞TF-IDF值。

        計算TF-IDF的整個處理流程如圖2所示。

        圖2 計算TF-IDF的整個處理流程

        4 實驗與分析

        (1)實 驗 數(shù) 據(jù) 獲 取 :從 (http://www.sogou.com/labs/)提供的文本分類語料庫中選取了20萬篇文檔作為實驗語料庫。

        (2)數(shù)據(jù) 預(yù) 處 理 :使 用開源中文分詞工具IKAnalyzer對文本進(jìn)行分詞處理,同時去掉停用詞。維護(hù)過多的小文件會降低Hadoop效率,因此需將數(shù)據(jù)集歸檔處理。整理后的測試數(shù)據(jù)如表1所示。

        (3)Hadoop群集的搭建:使用了 5臺電腦構(gòu)建了一個群集,其中一臺作為主節(jié)點,以負(fù)責(zé)作業(yè)調(diào)度及文件空間的管理;其余的作為從節(jié)點用作TF-IDFSS的計算以及文件的存儲。

        (4)實驗結(jié)果:將使用了Map/Reducer框架的TD_IDF算法與傳統(tǒng)的TF-IDF計算算法進(jìn)行對比結(jié)果如圖3所示。傳統(tǒng)的TF-IDF計算算法只在一臺機上運行,且不能以并行和分布式的方式運行。

        從圖中可以看出,當(dāng)數(shù)據(jù)量不大時(<200 MB),傳統(tǒng)算法與新算法的差距并不明顯。這是因為Hadoop本身的維護(hù)與網(wǎng)絡(luò)傳輸需要一定的開銷。隨著數(shù)據(jù)量的增大,傳統(tǒng)方法計算TF-IDF的時間急劇增長,而應(yīng)用了Hadoop框架的TF-IDF計算方法所需時間只是線性增長,新算法的效率明顯高于傳統(tǒng)算法。

        表1 測試數(shù)據(jù)

        本文使用了Hadoop框架提供的服務(wù)改進(jìn)了計算TF-IDF算法的效率。如果仍需要進(jìn)一步提高算法效率,可以使用序列化文件SequenceFile對輸入數(shù)據(jù)做預(yù)處理[7];對Mapper、Reducer的輸出做壓縮;減少中間文件的生成。此外,還可以通過擴展群集規(guī)模、改變?nèi)杭瘏?shù)等方式來提高效率。

        [1]SALTON G,BUCKLEY C.Term-weighting approaches in automatic text retrieval [J]. Information Processing and Management, 1988, 24(5):513-523.

        [2]SALTON G, CLEMENT T Y.On theconstruction of effective vocabularies for information retrieval[C].Proceedings ofthe 1973 Meeting on Programming Languages and Information Retrieval.New York:ACM,1973.

        [3]The apache softwar foundation HDFS architecture guide[EB/OL].(2011-11-16)[2011-11-30].Hadoop, http://hadoop.apache.org/hdfs/.do cs/current/index html.

        [4]LAMMEL R.Data programmability Team.Google’s MapReduce Programming Model-Revisited[R].Redmond, WA, USA:Microsoft Corp.2007.

        [5]Owen O’Malley.Programming with Hadoop’s Map/Reduce[R].ApacheCon EU,2008.

        [6]DEAN J, GHEMAWATS.MapReduce: simplifieddata processing on large ousters[C].OSDI’04: Sixth Symposium on Operating System Design and Implementation, San Francisco, CA, December, 2004.

        [7]WHITE T.Hadoop: The definitive guide[M].O’Reilly,2010.

        猜你喜歡
        詞頻個數(shù)語料庫
        基于詞頻分析法的社區(qū)公園歸屬感營建要素研究
        園林科技(2021年3期)2022-01-19 03:17:48
        怎樣數(shù)出小正方體的個數(shù)
        《語料庫翻譯文體學(xué)》評介
        等腰三角形個數(shù)探索
        怎樣數(shù)出小木塊的個數(shù)
        怎樣數(shù)出小正方體的個數(shù)
        把課文的優(yōu)美表達(dá)存進(jìn)語料庫
        基于JAVAEE的維吾爾中介語語料庫開發(fā)與實現(xiàn)
        語言與翻譯(2015年4期)2015-07-18 11:07:45
        詞頻,一部隱秘的歷史
        云存儲中支持詞頻和用戶喜好的密文模糊檢索
        亚洲欧美日韩一区二区三区在线 | 日产国产精品亚洲高清| 亚洲乱码一区二区三区在线观看| 国产精品无码久久久久久| 国产一区二区波多野结衣| 欧美一级视频在线| 久久人妻少妇嫩草av蜜桃| 久久精品国产99国产精品亚洲| 亚洲精品久久国产高清情趣图文 | 丰满熟妇人妻av无码区| 一本色道88久久加勒比精品| 亚洲人成网站色7799| 国产70老熟女重口小伙子| 欧美破处在线观看| 福利视频偷拍一区二区| 国产精品538一区二区在线| 少妇真人直播免费视频| 久久综合精品国产一区二区三区无码| 亚洲黄色尤物视频| 亚洲日产国无码| 福利利视频在线观看免费| 成人国产精品一区二区网站公司| 亚洲视频在线看| 久久色悠悠亚洲综合网| 国产av一区二区三区性入口| 日韩欧群交p片内射中文| 国产午夜精品福利久久| 成人爽a毛片免费网站中国| 在线中文字幕乱码英文字幕正常 | 精品久久久久久久久免费午夜福利| 亚洲女同精品久久女同| 一本之道久久一区二区三区| 国产绳艺sm调教室论坛| 午夜无码一区二区三区在线| 91精品国产综合久久青草| 国产性虐视频在线观看| 激情综合色综合久久综合| 人妻无码aⅴ中文系列久久免费| 亚洲少妇一区二区三区老| 免费无遮挡无码永久视频| 久久国产36精品色熟妇|