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

基于MongoDB的文本分類研究

2017-06-21 23:23:37陳德森楊祖元
無線互聯科技 2017年5期

陳德森 楊祖元

摘要:文章基于流行的非關系型數據庫MongoDB,結合spark機器學習庫中的樸素貝葉斯分類器和支持向量機,對豆瓣影評及京東商評進行情感分類,并采用準確率、召回率、F-Measure等指標對分類效果進行評價,最后測試了spark-MongoDB平臺的擴展性能。

關鍵詞:文本分類;Spark;MongoDB;MLlib

互聯網發展促進了社交媒體、在線交易等新興媒介的發展,這些網站每天都會產生數以億計的數據。其中文本數據占據了重要位置,有80%的數據以文本形式存在的。如何有效利用這些文本數據去創造價值,是亟待解決的問題。

文本挖掘(Text Mining,TM)是指從非結構化文本中獲取用戶有用信息的過程。文本挖掘是從數據挖掘發展而來,但與傳統的數據挖掘相比,文本挖掘有其獨特之處,主要表現在:文檔本身是半結構化或非結構化的,無確定形式并且缺乏機器可理解的語義;而一般數據挖掘的對象以數據庫中的結構化數據為主,并利用關系表等存儲結構來發現知識。

針對上述問題,本文將結合MongoDB和Spark,在文本存儲及文本分類效果兩方面進行研究。

1.文本數據的存儲

上文所述產生的數據,通常是由關系數據庫管理系統來處理。實踐證明,關系模型是非常適合于客戶服務器編程,它是今天結構化數據存儲在網絡和商務應用的主導技術。然而在數據爆炸的互聯網時代,傳統的關系型數據在應對大規模和高并發訪問時顯得力不從心,因此一批NoSQL數據庫開始涌現,如MongoDB,Redis,Cassandra,HBase,CouchDB等。這些非關系型數據庫旨在解決大規模集合以及多重數據類型帶來的挑戰,尤其適合大數據處理。

1.1MongoDB數據庫

MongoDB是最近幾年非常火的一款NoSQL數據庫,由c++語言編寫,是一個基于分布式文件存儲的開源數據庫系統。在高負載的情況下,MongoDB可以通過添加更多的節點,來保證服務器性能。MongoDB旨在為Web應用提供可擴展的高性能數據存儲解決方案。(1)內存充足。MongoDB性能非常好,它將熱數據存儲在物理內存中,使得數據讀取十分快速。(2)高擴展性。MongoDB的高可用集群擴展性非常好,通過物理機的增加和在數據庫中配置Sharding,集群擴展簡單、高效。(3)Failover機制。MongoDB集群的主節點宕機后,通過選舉方式自動在從節點中選出新的主節點提供服務,不需要人工參與。(4)BSon的存儲格式。類JSon的存儲格式,使得MongoDB十分適合文檔的存儲與查詢。

基于MongoDB的特點,本文嘗試用MongoDB結合Spark做文本分析研究。MongoDB支持3種部署方式,分別是單機模式、復制集模式、分片模式,本文采用的是分片模式。

1.2Spark結合Mong0DB

Spark是加州大學伯克利分校的AMP實驗室(UC Berkeley AMP lab),Matei Zaharia博士在2009年所創立的大數據處理和計算框架,是一個類Hadoop MapReduce的開源通用并行框架。不同于傳統的數據處理框架,Spark基于內存的基本類型(primitive)為一些應用程序帶來了100倍的性能提升。Spark允許用戶程序將數據加載到集群的內存中,用于反復查詢,非常適用于大數據和機器學習,已經成為最廣泛采用的大數據模塊之一。在本文中程序中,通過添加mongo-java-driver-3.3.0.jar.mongo-hadoo-core-2.0.1.jar實現MongoDB和Spark的連接,使用ANSJ中文分詞工具對讀入的短評進行中文分詞,最后使用Spark MLlib中的樸素貝葉斯分類器與支持向量機進行文本分析。

Spark-MongoDB結合的形式如圖1所示,其中MongoDB采用的是分片模式。

1.3實驗數據集

本文采用基于Java的網絡爬蟲獲取互聯網上的短評數據,共采集大概60萬條評論,涉及了《瘋狂動物城》《蝙蝠俠大戰超人》《木星上行》(Honor8》等豆瓣、京東的評論。將影評和手機銷售評論數據合并后,經過初步的清洗(去雙引號,清除空數據,編碼轉換utf-8等),將數據導入MongoDB數據庫中。在數據庫中查看數據:

在文本分析實驗中,按照評論的星級,將打1~2星的評論認為是差評,4~5星的評論認為是好評,以此來對短評進行文本分類。

1.4文本分類算法度量

在二分類問題中,通常使用的評價方法包括準確率,錯誤率,召回率,F-Measure,ROC曲線,準確率一召回率曲線下方面積,ROC曲線的下方面積以及等。在本文中,使用準確率、召回率、F值評估文本分類效果。其中,A,B,C所代表的含義如表1所示。

準確率(以下簡稱P);召回率(以下簡稱R)。

由于P值和R值出現矛盾的時候,還可以考慮用另外一種方法去分析,那就是F-Measure(又稱F-Score)。F-Measure是P值和10值的加權和平均。

當參數a取1時,就是常見的值,即:可見綜合P值和R值;當值較高時,說明分類方法有效。

接下來使用豆瓣數據集,驗證文本分析情感分析在各種部署環境下的算法準確度。

1.5實驗結果

從表2中可以看到,在單機本地,單機MongoDB,集群MongoDB集中模式中,樸素貝葉斯和支持向量機的分類效果相差無幾。算法準確度并沒有因為數據分散在各個不同節點而下降,可知分布式存儲是適合做機器學習的。基于SparkMLlib的機器學習庫的算法效率也比較高,可見已經可以適應一般的實際應用場景。

通過自我復制的方式對數據進行擴大,驗證Spark-MongoDB分布式計算能力。使用分詞工具分詞,分別在單節點、雙節點、三節點做分詞和統計總詞數的操作,通過運行時間比較他們之間的處理效率。其中單節點(主節點)是雙核6G內存,單節點(從節點)是單核3G內存。

從圖3中可以看出,分布式與單節點的運行時間比較中,在數據量達到一定程度后,加速比是大于1的,證明MongoDB集群在大數據處理方面確實比單機的效率要高。但由于數據量大小的原因以及內存的限制,它們之間的差別并不是很明顯,甚至還出現了雙節點速度比三節點快的尷尬,造成這種現象的原因是因為啟動多個節點,在通信和資源調度方面會花費一定的時間。但總體而言依舊可以看出分布式平臺比單節點操作具有更平緩的時間增長曲線。如果在更大規模的數據量以及性能更好的機器集群上,相信它們之間會有比較明顯區別。由此可知,在實際應用中,如果需要處理的數據量很大的話,應用Spark-MongoDB分布式平臺處理大數據將是一個很好的解決方案。

2.結語

由上述實驗可知,spark自帶的機器學習庫,對一般文本的分類準確率已經比較高,結合文檔型MongoDB做文本分析,將會是分布式環境下大數據分析的不錯選擇,具有實際應用價值。

主站蜘蛛池模板: 欧美在线导航| 国产欧美日韩va另类在线播放| 欧美性精品| 青青青亚洲精品国产| 国产精品欧美激情| 国产午夜无码片在线观看网站| 国产主播在线一区| 男人天堂伊人网| 九九九九热精品视频| 国产欧美日韩视频一区二区三区| 成人毛片免费观看| 狠狠综合久久| 国产一区免费在线观看| 国产呦视频免费视频在线观看| 日本a级免费| 国产第一页亚洲| 免费在线国产一区二区三区精品| 日本人妻丰满熟妇区| 国产麻豆福利av在线播放| 亚洲国产成人麻豆精品| 国产精品区网红主播在线观看| 久久久久人妻一区精品色奶水 | 亚洲成人一区二区| 在线精品欧美日韩| 免费在线不卡视频| 亚洲AⅤ波多系列中文字幕| 强奷白丝美女在线观看| 久草视频福利在线观看| 日韩精品久久无码中文字幕色欲| 欧美日韩在线亚洲国产人| 日本手机在线视频| a毛片免费观看| 国产SUV精品一区二区| 国产精品人人做人人爽人人添| 亚洲视频色图| 亚洲天堂色色人体| 久久久亚洲国产美女国产盗摄| 亚洲伦理一区二区| 国产人免费人成免费视频| 福利片91| 色噜噜狠狠色综合网图区| 99九九成人免费视频精品| 中文字幕在线日韩91| 国产精品无码AⅤ在线观看播放| 网久久综合| 一个色综合久久| 激情六月丁香婷婷| 国产制服丝袜91在线| 亚洲一区波多野结衣二区三区| 亚洲一区二区精品无码久久久| 欧美国产综合视频| 亚洲国产黄色| 亚洲日韩精品综合在线一区二区| h网址在线观看| 午夜欧美理论2019理论| 久久精品只有这里有| www.日韩三级| 中文字幕av一区二区三区欲色| 欧美另类第一页| 国产亚洲高清在线精品99| 99热国产这里只有精品9九| a网站在线观看| 91视频区| 国产AV无码专区亚洲A∨毛片| 国产免费好大好硬视频| 国产精品欧美在线观看| 日韩精品欧美国产在线| 国产日韩精品一区在线不卡| 精品视频一区在线观看| AV熟女乱| 2021国产在线视频| 亚洲精品免费网站| 国产69囗曝护士吞精在线视频| 欧美在线精品怡红院| 园内精品自拍视频在线播放| 中文字幕人妻av一区二区| 91毛片网| 九九久久99精品| 免费人成网站在线高清| 欧美在线精品怡红院| 国产精品香蕉| 国产在线观看成人91|