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

?

基于大數(shù)據(jù)分析的文本智能識(shí)別系統(tǒng)的研究

2018-10-17 05:51:34楊明芬吳旭闞璦珂常康
西藏科技 2018年9期
關(guān)鍵詞:分詞貝葉斯分類

楊明芬 吳旭 闞璦珂 常康

(1.西藏自治區(qū)科技信息研究所,西藏 拉薩 850008;2.成都理工大學(xué),四川 成都 610059)

隨著社會(huì)信息技術(shù)的發(fā)展,人們希望計(jì)算機(jī)擁有像人一樣的智力和能力,可以代替人類實(shí)現(xiàn)識(shí)別、認(rèn)知、分類和決策等多種功能。人工智能不斷的發(fā)展,由于人工智能主要是利用智能學(xué)習(xí)算法,從大量的數(shù)據(jù)中學(xué)習(xí)經(jīng)驗(yàn)來改善系統(tǒng)自身的性能,從而實(shí)現(xiàn)人類智慧所能做的事情[1]。其中文本分類是人工智能應(yīng)用的一個(gè)重要方向,在現(xiàn)實(shí)生活中應(yīng)用廣泛,比如新聞按欄目分類、網(wǎng)頁分類、個(gè)性化新聞、垃圾郵件過濾、情感分析等。文本分類問題屬于自然語言處理領(lǐng)域,現(xiàn)在自然語言處理算法是基于機(jī)器學(xué)習(xí),更多的是統(tǒng)計(jì)機(jī)器學(xué)習(xí)。合適的機(jī)器學(xué)習(xí)方法結(jié)合大數(shù)據(jù)處理平臺(tái),可以更好的進(jìn)行文本分類,文本分類的發(fā)展使得計(jì)算機(jī)可以代替人類進(jìn)行某些腦力和體力勞動(dòng),在當(dāng)下如此注重效率的時(shí)代,文本分類發(fā)揮著重要作用[2]。單從經(jīng)濟(jì)而言,借助文本識(shí)別可以實(shí)現(xiàn)自動(dòng)化,提高生產(chǎn)率,節(jié)約勞動(dòng)成本。隨著現(xiàn)代科學(xué)技術(shù)的發(fā)展,文本識(shí)別將向更高的水平發(fā)展,隨之推動(dòng)科學(xué)技術(shù)、生產(chǎn)力和人類智慧向更高的水平發(fā)展,對(duì)人類的社會(huì)進(jìn)步起著巨大的推動(dòng)作用。

大數(shù)據(jù)在國外發(fā)展較早,在上個(gè)世紀(jì)1980年,美國的阿爾文·托夫勒就提出了大數(shù)據(jù)的概念(WANG,Qiao,2014)。2008年經(jīng)由科學(xué)雜志發(fā)表相關(guān)文章,大數(shù)據(jù)概念才被廣泛傳播。美國政府將大數(shù)據(jù)視為強(qiáng)化國家競爭力的關(guān)鍵性因素之一,除了在概念上研究外,在技術(shù)方面也重點(diǎn)鉆研。谷歌公司在2003年,2004年分別提出了分布式文件系統(tǒng)和分布式計(jì)算模型等大數(shù)據(jù)解決方案(Doug Eadline,2013)43-44。解決了大數(shù)據(jù)存儲(chǔ)和計(jì)算問題[3]。國內(nèi)對(duì)于文本分類的研究相對(duì)于國外較晚,相比于國外的英文文本分類,中文文本分類具有更大的挑戰(zhàn)。英文單詞可以通過空格來區(qū)分,而中文是以字為單位,通過字組成詞語,詞語連成句子,才能表述一個(gè)完整的意思。最初通過詞匹配進(jìn)行文本分類,這種方式主要尋找文章內(nèi)容與分類標(biāo)簽的共同詞來進(jìn)行分類,機(jī)械的方法無法達(dá)到良好的分類效果。后來利用統(tǒng)計(jì)學(xué)方法,在大量中文文本庫挖掘有效分類規(guī)則,再使用這些訓(xùn)練好的分類器進(jìn)行新文檔的歸類。利用統(tǒng)計(jì)學(xué)方法進(jìn)行文本分類相比于傳統(tǒng)的詞匹配方法,效果良好。隨著不斷的發(fā)展,我國的分詞技術(shù)和文本分類都逐漸趨于成熟。

1 研究內(nèi)容

基于統(tǒng)計(jì)學(xué)進(jìn)行文本分類,需要在大量的數(shù)據(jù)集上進(jìn)行訓(xùn)練,來尋找有效的分類規(guī)則,本文利用Hadoop和Spark,通過對(duì)大量的中文文本數(shù)據(jù)進(jìn)行處理,結(jié)合有效的分類算法,構(gòu)建一個(gè)基于大數(shù)據(jù)的智能文本分類平臺(tái)。文章主要研究基于大數(shù)據(jù)的文本識(shí)別系統(tǒng),實(shí)驗(yàn)所用到的一些大數(shù)據(jù)處理技術(shù)和算法。其中包括分布式系統(tǒng)架構(gòu)Hadoop、分布式文件系統(tǒng)HDFS、分布式計(jì)算模型MapReduce和分布式計(jì)算框架Spark,以及文本分類預(yù)處理所需要的分詞工具Ansj。采用以上技術(shù),設(shè)計(jì)開發(fā)基于網(wǎng)絡(luò)服務(wù)器和瀏覽器架構(gòu)的文本識(shí)別系統(tǒng)。文章開展的研究工作涉及的幾項(xiàng)大數(shù)據(jù)技術(shù)如下:

1.1 Hadoop

2003年,谷歌發(fā)表論文首先提出了分布式文件系統(tǒng)的概念,允許文件通過網(wǎng)絡(luò)訪問多臺(tái)主機(jī)的文件系統(tǒng),解決了大數(shù)據(jù)存儲(chǔ)的問題。之后,2004年,谷歌又發(fā)表了分布式計(jì)算框架MapReduce的論文,解決了大數(shù)據(jù)計(jì)算的問題。2006年3月,Hadoop項(xiàng)目正式啟動(dòng),將NDFS和MapReduce被納入其中。順應(yīng)時(shí)代的發(fā)展,Hadoop已經(jīng)成為了當(dāng)下最流行的大數(shù)據(jù)分析平臺(tái)[4]。

1.2 MapReduce

MapReduce是一種分布式并行計(jì)算模型,其主要思想是采用“分而治之”的程序處理理念。能將復(fù)雜的,大規(guī)模的數(shù)據(jù)處理任務(wù)分解并同時(shí)運(yùn)行在多個(gè)節(jié)點(diǎn)上處理,MapRedue將這個(gè)復(fù)雜的過程抽象為Map和Reduce。將分布式文件系統(tǒng)中的大規(guī)模數(shù)據(jù)集切分成許多獨(dú)立的分片,這些分片可以被多個(gè)Map任務(wù)并行處理。然后利用Reduce任務(wù)將結(jié)果進(jìn)行總和[5]。

1.3 HDFS

HDFS是Hadoop的核心設(shè)計(jì)之一,和傳統(tǒng)的文件系統(tǒng)不同,HDFS把文件存儲(chǔ)在多個(gè)計(jì)算機(jī)節(jié)點(diǎn)上。這些計(jì)算機(jī)節(jié)點(diǎn)可以有普通的硬件構(gòu)成,這大大降低了硬件開銷。HDFS有著高容錯(cuò)性,大數(shù)據(jù)集,簡單的文件模型和強(qiáng)大的跨平臺(tái)兼容性等特點(diǎn)。HDFS采用了Master/Slave結(jié)構(gòu)模型,HDFS有兩個(gè)關(guān)鍵的組件,NameNode(名稱結(jié)點(diǎn))和DataNode(數(shù)據(jù)結(jié)點(diǎn))。名稱結(jié)點(diǎn)負(fù)責(zé)管理文件系統(tǒng)的命名空間及客戶端對(duì)文件的訪問;數(shù)據(jù)結(jié)點(diǎn)負(fù)責(zé)處理客戶端的讀寫請(qǐng)求;DataNode會(huì)通過心跳機(jī)制和NameNode保持通信。為了保證分布式文件系統(tǒng)的容錯(cuò)性和可用性,HDFS采用了多副本方式對(duì)數(shù)據(jù)進(jìn)行冗余存儲(chǔ),并以流式的形式訪問寫入的大型文件[6]。

1.4 Spark

Spark是Apache軟件基金會(huì)下的基于內(nèi)存的分布式計(jì)算框架,Spark的計(jì)算模式借鑒了MapReduce的優(yōu)點(diǎn),同時(shí)很好的解決了MapReduce表達(dá)能力有限,磁盤IO開銷大和延遲高等缺點(diǎn)[7]。相比于MapReduce的計(jì)算模式,Spark提供了內(nèi)存計(jì)算,即把中間結(jié)果放到內(nèi)存中,而不是頻繁的讀寫磁盤。Spark是基于有向無環(huán)圖的任務(wù)調(diào)度執(zhí)行機(jī)制,基于內(nèi)存的執(zhí)行速度較MapReduce快上百倍。且Spark提供了完整而強(qiáng)大的技術(shù)棧、更多的語言支持、更多的運(yùn)行模式。Spark相對(duì)于Hadoop具有較大的優(yōu)勢,但并不能取代Hadoop,實(shí)際上,Spark已經(jīng)很好的融入了Hadoop生態(tài)圈。

1.5 Ansj

Ansj是一個(gè)開源的純Java中文分詞庫,基于中科院的ictclas中文分詞算法,主要應(yīng)用于自然語言處理、高精度的中文分詞場景,底層利用高度優(yōu)化的Trie樹,TF/IDF詞袋模型等數(shù)據(jù)結(jié)構(gòu)和算法來實(shí)現(xiàn)。支持用戶自定義詞典、定制CRF模型、停用詞過濾、書名發(fā)現(xiàn)、電子郵箱發(fā)現(xiàn)、身份證賬號(hào)發(fā)現(xiàn)、詞性標(biāo)注、關(guān)鍵字提取等諸多強(qiáng)大的功能。

1.6 Web相關(guān)技術(shù)

網(wǎng)頁是經(jīng)常用來展示和獲取信息的方式,主要有前臺(tái)網(wǎng)頁,后臺(tái)業(yè)務(wù)邏輯和服務(wù)器組成。Tomcat是一款非常流行的Web應(yīng)用服務(wù)器,是Apache軟件基金會(huì)下的開源項(xiàng)目,實(shí)現(xiàn)了Servlet和JSP規(guī)范,擁有良好的性能。Servlet是基于Java技術(shù)的組件,定義了處理網(wǎng)絡(luò)請(qǐng)求的規(guī)范。而JSP是通過在HTML中內(nèi)嵌Java代碼的服務(wù)器頁面,在服務(wù)端執(zhí)行,返回HTML文本給客戶端[8]。

1.7 TF-IDF算法

TF-IDF是一種統(tǒng)計(jì)方法,常用于評(píng)估字詞對(duì)于一個(gè)文件集或者語料庫的重要程度,詞語的重要性并不是出現(xiàn)的越多越重要。TF-IDF的思想是一個(gè)詞語在文章中出現(xiàn)的次數(shù)越多,而同時(shí)在所有文檔中出現(xiàn)的次數(shù)越少,即字詞的重要性與它出現(xiàn)在文件中的次數(shù)成正比,與出現(xiàn)在所有檔或語料庫的次數(shù)成反比。經(jīng)常出現(xiàn)在中文中的詞并不代表實(shí)際信息,但是這些詞在文檔中出現(xiàn)的頻率較高。TF-IDF通過數(shù)值化文檔信息,來衡量詞語的重要程度。其中TF值的計(jì)算方法如公式(1)

tfi,j是 j此篇文檔中 i詞語的詞頻,ni,j是 i在 j文檔中出現(xiàn)的次數(shù),Tj代表j文檔中每個(gè)詞語。IDF定義如公式(2)

其中,idfi代表i詞語的逆向文件頻率,d代表文檔集,D代表文檔的個(gè)數(shù),ti代表i詞匯。TF-IDF的值計(jì)算公式如(3)所示:

通過對(duì)每個(gè)詞語進(jìn)行TF-IDF的計(jì)算,然后根據(jù)值的大小降序排列,就可以對(duì)文章進(jìn)行特征抽取和關(guān)鍵字提取。

1.8 Naive Bayes算法

樸素貝葉斯是基于貝葉斯定理與特征條件獨(dú)立假設(shè)的分類方法,而貝葉斯定理是關(guān)于隨機(jī)事件和條件概率的(周志華,2016)147-150。貝葉斯定理如公式(4):

P(A|B)表示在事件B發(fā)生的條件下事件A發(fā)生的概率,也等于A和B同時(shí)發(fā)生的概率處理B發(fā)生的概率。貝葉斯推斷是貝葉斯定理的一種應(yīng)用。貝葉斯推斷建立在主觀的判斷基礎(chǔ)上,然后根據(jù)大量實(shí)驗(yàn)數(shù)據(jù)進(jìn)行不斷的修正[9],因此貝葉斯推斷需要大量的數(shù)據(jù)計(jì)算。樸素貝葉斯以貝葉斯定理為基礎(chǔ),假定屬性值之間相互獨(dú)立,這也是樸素一詞的來歷,樸素貝葉斯分類器的核心思想基于公式(5)所示。

可以根據(jù)樣本的特征推斷樣本的類型。因此樸素貝葉斯分類器也常用于文本分類,通過對(duì)訓(xùn)練文本的學(xué)習(xí),得到分類器參數(shù),進(jìn)而使用該網(wǎng)絡(luò)對(duì)文本進(jìn)行分類[10]。

2 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

2.1 需求分析

隨著互聯(lián)網(wǎng)的發(fā)展,大數(shù)據(jù)時(shí)代逐漸到來,互聯(lián)網(wǎng)上各類信息充斥在我們的身邊,這些資源大部分都是以本文的形式出現(xiàn),如何有效的處理,組織這些信息變得尤為重要。文本分類是處理大量信息的有效手段之一,人們對(duì)于文本分類的研究起步很早,但由于時(shí)代環(huán)境的影響,分類結(jié)果差強(qiáng)人意,隨著時(shí)代的發(fā)展,機(jī)器學(xué)習(xí)逐漸興起,同時(shí)作為機(jī)器學(xué)習(xí)的基礎(chǔ)大數(shù)據(jù)以及大數(shù)據(jù)相關(guān)的技術(shù)同步發(fā)展,大數(shù)據(jù)的核心是數(shù)據(jù)的價(jià)值,而機(jī)器學(xué)習(xí)是利用數(shù)據(jù)價(jià)值的關(guān)鍵技術(shù)。大量的數(shù)據(jù)能夠提升模型的精確性,復(fù)雜的機(jī)器學(xué)習(xí)算法需要耗費(fèi)大量的時(shí)間,因此迫切的需要分布式和并行計(jì)算這樣關(guān)鍵的技術(shù)。大數(shù)據(jù)和機(jī)器學(xué)習(xí)的結(jié)合為文本分類開辟了一條新的道路,因此基于大數(shù)據(jù)的文本分類系統(tǒng)就變得十分有意義。

2.2 處理流程

系統(tǒng)流程如圖1所示,將收集到的大數(shù)據(jù)存儲(chǔ)在HDFS系統(tǒng)的分布式文件系統(tǒng)中,通過MapReduce批量數(shù)據(jù)預(yù)處理,再Spark強(qiáng)大的計(jì)算能力根據(jù)文本分類算法訓(xùn)練數(shù)據(jù),生成文本分類模型,最后將文本分類模型封裝成服務(wù),提供給用戶。

圖1 系統(tǒng)流程圖

2.3 系統(tǒng)結(jié)構(gòu)

基于大數(shù)據(jù)的文本系統(tǒng)主要分為模型應(yīng)用層、數(shù)據(jù)挖掘?qū)?、?shù)據(jù)預(yù)處理層、數(shù)據(jù)存儲(chǔ)層和數(shù)據(jù)采集層。模型應(yīng)用層調(diào)用數(shù)據(jù)處理層提供的接口,實(shí)現(xiàn)文本分類,為用戶提供服務(wù)。整個(gè)系統(tǒng)中,下層應(yīng)用為上層應(yīng)用提供服務(wù)。其主要的處理流程為數(shù)據(jù)采集層采集數(shù)據(jù),利用數(shù)據(jù)存儲(chǔ)層提供的服務(wù)存儲(chǔ)數(shù)據(jù),由數(shù)據(jù)預(yù)處理層對(duì)存儲(chǔ)的數(shù)據(jù)進(jìn)行預(yù)處理。數(shù)據(jù)處理層主要利用Spark強(qiáng)大的計(jì)算能力和Naive Bayesian算法對(duì)符合算法數(shù)據(jù)格式的數(shù)據(jù)挖掘計(jì)算,得到數(shù)據(jù)分類模型,最后應(yīng)用數(shù)據(jù)模型,為用戶提供服務(wù)。系統(tǒng)架構(gòu)如圖2所示。

圖2 系統(tǒng)架構(gòu)

2.4 系統(tǒng)各模塊設(shè)計(jì)

2.4.1 模型應(yīng)用層。該層主要功能是利用已經(jīng)訓(xùn)練好的文本分類模型為用戶提供文本分類服務(wù)。

2.4.2 數(shù)據(jù)挖掘?qū)?。該層主要功能主要是通過Spark中實(shí)現(xiàn)的Naive Bayesian算法,在現(xiàn)有的數(shù)據(jù)上進(jìn)行模型訓(xùn)練。該層的主要挑戰(zhàn)是挖掘算法復(fù)雜,并且計(jì)算量很大。

2.4.3 數(shù)據(jù)預(yù)處理層。該層的功能主要是利用MapReduce批量處理文本數(shù)據(jù)的優(yōu)勢和Ansj分詞工具對(duì)大量的中文文本進(jìn)行分詞。

2.4.4 數(shù)據(jù)存儲(chǔ)層。該層的主要功能是利用分布文件系統(tǒng)HDFS存儲(chǔ)來自數(shù)據(jù)采集的大量數(shù)據(jù)。

2.4.5 數(shù)據(jù)采集層。該層的主要功能是利用爬蟲,第三方數(shù)據(jù)采集平臺(tái)或多個(gè)數(shù)據(jù)庫等獲取主題數(shù)據(jù)。

2.5 數(shù)據(jù)庫設(shè)計(jì)

此系統(tǒng)主要處理文本數(shù)據(jù)分類問題,其主要目標(biāo)是大量文本數(shù)據(jù)的處理,但所選擇的數(shù)據(jù)中每個(gè)目錄下有許多的小文件,這些小文件會(huì)單獨(dú)的切片,交由map結(jié)點(diǎn)進(jìn)行處理,造成效率低下。為了避免該類問題,根據(jù)MapReduce機(jī)制,將采用不切片的方式,所以對(duì)數(shù)據(jù)表設(shè)計(jì)兩個(gè)字段,用label字段代表文本分類,text字段代表文本。這樣在一個(gè)label下,會(huì)有多個(gè)小文件的內(nèi)容,對(duì)提升這個(gè)系統(tǒng)的性能有著很大的作用。

2.6 基于Ansj的中文分詞

分詞主要是將語句分割成單個(gè)詞語,此次實(shí)驗(yàn)主要利用了Ansj工具進(jìn)行分詞,主要代碼如下所示。該段代碼顯示了如何利用Ansj進(jìn)行中文分詞,首先讀取默認(rèn)的停用詞,然后去除空字符串,標(biāo)點(diǎn)符號(hào)等對(duì)文本分類模型貢獻(xiàn)不大的數(shù)據(jù)。

2.7 基于MapReduce的分詞操作

通過MapReduce分布式處理框架,能夠高效的處理基于鍵值對(duì)的大量數(shù)據(jù),更加適合批處理業(yè)務(wù)。MapReduce默認(rèn)的輸入格式FileInputStream默認(rèn)為為一個(gè)文件生成一個(gè)切片,每個(gè)切片產(chǎn)生一個(gè)map任務(wù),如果map數(shù)過多,則會(huì)增加調(diào)度開銷。本次實(shí)驗(yàn)的中文數(shù)據(jù)集分類文件夾下有許多小文件,為提高分詞效率,應(yīng)該將多個(gè)小文件合并,不進(jìn)行分片。具體方法是實(shí)現(xiàn)FileInputFormat的抽象子類Combine-FileInputFormat的createRecordReder方法,并且禁止分片。具體代碼如下所示。

通過自定義InputStream,將多個(gè)文件合并為一個(gè)分片,接下來需要自定義讀取分片的方式MyRecordReader類。該類中的重要方法nextKeyValue定義了讀取分片的方式,即將文件的類別作為Key,文件的整個(gè)內(nèi)容作為Value。主要代碼如下所示。

定義好文件的輸入和讀取方式,接下來需要書寫Map任務(wù)類,在Map任務(wù)類中,調(diào)用Ansj分詞方法并行的處理文本分詞任務(wù),并將分詞后的字符串作為Value值,Key值為文件類別。具體代碼實(shí)現(xiàn)如下所示。

最后,定義分詞驅(qū)動(dòng)類SplitTextDriver,配置相關(guān)參數(shù),設(shè)置數(shù)據(jù)的讀取和輸出路徑為HDFS,然后執(zhí)行分詞任務(wù)。相關(guān)代碼如下所示。

2.8 利用Spark計(jì)算TF-IDF

在開始計(jì)算TF-IDF前,需要對(duì)得到的分詞結(jié)果進(jìn)行預(yù)處理,將分類標(biāo)簽數(shù)值化,并且將逗號(hào)分隔符轉(zhuǎn)變?yōu)榭崭穹指舴驗(yàn)镾park默認(rèn)以逗號(hào)分割。具體每個(gè)分類標(biāo)簽代表的數(shù)值如表1所示。

表1 分類標(biāo)簽對(duì)應(yīng)值

具體實(shí)現(xiàn)代碼如下所示。該段代碼首先將分詞結(jié)果集讀入Spark內(nèi)置的數(shù)據(jù)結(jié)構(gòu)RDD,調(diào)用自定義工具類SplitTextUtil中的CategoryToIndex方法將分類標(biāo)簽對(duì)應(yīng)的值數(shù)值化。RecordBean為記錄實(shí)體類,定義了兩個(gè)字段label和text,分別代表分類標(biāo)簽和對(duì)應(yīng)分詞后的文本值。

接下來利用Spark計(jì)算TF-IDF。首先將字符串按空格分詞,然后創(chuàng)建Spark的HashingTF對(duì)象并調(diào)用setInputCol方法設(shè)置輸入的列為words,輸出的列外rawFeatures具體代碼如下所示。

輸入為分詞結(jié)果,輸出為詞語對(duì)應(yīng)的TF-IDF值,計(jì)算結(jié)果如圖3所示。為了便于輸出,僅僅選取了100維特征向量。其下標(biāo)范圍為0-99,緊接在后面的表示對(duì)應(yīng)的值。

圖3 TF-IDF執(zhí)行結(jié)果

2.9 根據(jù)NaiveBayes算法訓(xùn)練模型

Spark是基于分布式內(nèi)存通用型計(jì)算框架,善于處理大規(guī)模數(shù)據(jù)的復(fù)雜運(yùn)算。此次實(shí)驗(yàn)利用Spark進(jìn)行文本分類模型的訓(xùn)練。在Spark中,已經(jīng)提供了關(guān)于機(jī)器學(xué)習(xí)的包SparkML。此次實(shí)驗(yàn)直接使用Spark內(nèi)置的NaiveBayes實(shí)現(xiàn)。首先配置SparkConf,設(shè)置為本地模式。將計(jì)算TF-IDF后文本向量數(shù)據(jù)集進(jìn)行分割,60%當(dāng)做訓(xùn)練數(shù)據(jù)集,40%當(dāng)做測試數(shù)據(jù)集。調(diào)用NaiveBayes的fit方法進(jìn)行訓(xùn)練,最后將模型保存在HDFS上。進(jìn)行模型訓(xùn)練的代碼已經(jīng)完成,接下來需要考量模型訓(xùn)練結(jié)果的準(zhǔn)確度,對(duì)模型測試的準(zhǔn)確率accuracy進(jìn)行統(tǒng)計(jì)。即預(yù)測準(zhǔn)確的數(shù)除以總的測試集數(shù)量。并將模型存儲(chǔ)在HDFS中target目錄下。具體代碼如下所示。

運(yùn)行上述代碼,該段代碼的輸入為5.5.1小寫計(jì)算的TF-IDF值,輸出為經(jīng)過NaiveBayes算法訓(xùn)練后,模型對(duì)訓(xùn)練集進(jìn)行預(yù)測,并預(yù)測正確的概率??刂婆_(tái)輸出如圖4所示結(jié)果。

圖4 模型訓(xùn)練結(jié)果

由控制臺(tái)輸出的結(jié)果來看,模型的準(zhǔn)確率達(dá)到85%?;拘Ч诲e(cuò)。

3 實(shí)驗(yàn)結(jié)果

3.1 實(shí)驗(yàn)環(huán)境

測試環(huán)境是軟件測試的一個(gè)重要階段,測試環(huán)境的適合與否嚴(yán)重影響測試結(jié)果的真實(shí)性,是系統(tǒng)安全可靠性,易用性等大多數(shù)指標(biāo)的主要環(huán)境。本次測試并不在同一個(gè)操作系統(tǒng)下測試。

表2 測試結(jié)果

3.2 實(shí)驗(yàn)測試分析

功能測試覆蓋整個(gè)系統(tǒng)的功能模塊,為用戶提供綜合服務(wù)的能力。測試整個(gè)系統(tǒng)是否能達(dá)到需求分析的功能。具體測試場景如圖5所示。

圖5 測試結(jié)果圖1

從上述結(jié)果可以看出,系統(tǒng)基本能夠?qū)崿F(xiàn)正確的分類。但分類結(jié)果的可信度還不是很高,初步估計(jì)這可能是基于現(xiàn)實(shí)環(huán)境的原因,訓(xùn)練的數(shù)據(jù)集還不是很大。導(dǎo)致模型不是很成熟,同時(shí)也可能是中文分詞的結(jié)果不理想造成。

4 結(jié)論

大數(shù)據(jù)與機(jī)器學(xué)習(xí)算法的結(jié)合才能使人們的生活變得越來越高效。通過對(duì)大數(shù)據(jù)的文本分類系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),學(xué)習(xí)了很多關(guān)于大數(shù)據(jù)和機(jī)器學(xué)習(xí)方面的知識(shí)。實(shí)現(xiàn)了一個(gè)基于Hadoop和Spark,利用NaiveBayes算法的文本分類系統(tǒng)。文章研究、設(shè)計(jì)的系統(tǒng)能夠?qū)⒋罅康臄?shù)據(jù)存儲(chǔ)在HDFS上,通過MapReduce階段進(jìn)行中文分詞,然后將分詞結(jié)果傳給更高效,計(jì)算更快速的Spark階段進(jìn)行訓(xùn)練模型,最后利用模型,基本能夠達(dá)到對(duì)輸入文本數(shù)據(jù)進(jìn)行類別判斷。不足之處表現(xiàn)在對(duì)文本識(shí)別的正確率和可信度還有待提高,初步估計(jì)是因?yàn)槲恼麻_展的實(shí)驗(yàn)導(dǎo)致訓(xùn)練的數(shù)據(jù)量不是很大,從而使模型參數(shù)有偏差。

猜你喜歡
分詞貝葉斯分類
分類算一算
結(jié)巴分詞在詞云中的應(yīng)用
分類討論求坐標(biāo)
數(shù)據(jù)分析中的分類討論
教你一招:數(shù)的分類
貝葉斯公式及其應(yīng)用
值得重視的分詞的特殊用法
基于貝葉斯估計(jì)的軌道占用識(shí)別方法
一種基于貝葉斯壓縮感知的說話人識(shí)別方法
電子器件(2015年5期)2015-12-29 08:43:15
IIRCT下負(fù)二項(xiàng)分布參數(shù)多變點(diǎn)的貝葉斯估計(jì)
曲沃县| 西昌市| 玛多县| 靖州| 湘乡市| 铜山县| 美姑县| 灵丘县| 高州市| 布尔津县| 阜新市| 新密市| 蓝田县| 托克逊县| 永修县| 成都市| 金沙县| 贞丰县| 柘城县| 固镇县| 泗洪县| 北辰区| 石渠县| 封丘县| 铁岭市| 子长县| 汶川县| 闽清县| 循化| 龙陵县| 龙川县| 太仓市| 区。| 通城县| 印江| 赤壁市| 庆城县| 买车| 博乐市| 日喀则市| 安多县|