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

基于大數據分析的文本智能識別系統的研究

2018-10-17 05:51:34楊明芬吳旭闞璦珂常康
西藏科技 2018年9期
關鍵詞:分類文本模型

楊明芬 吳旭 闞璦珂 常康

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

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

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

1 研究內容

基于統計學進行文本分類,需要在大量的數據集上進行訓練,來尋找有效的分類規則,本文利用Hadoop和Spark,通過對大量的中文文本數據進行處理,結合有效的分類算法,構建一個基于大數據的智能文本分類平臺。文章主要研究基于大數據的文本識別系統,實驗所用到的一些大數據處理技術和算法。其中包括分布式系統架構Hadoop、分布式文件系統HDFS、分布式計算模型MapReduce和分布式計算框架Spark,以及文本分類預處理所需要的分詞工具Ansj。采用以上技術,設計開發基于網絡服務器和瀏覽器架構的文本識別系統。文章開展的研究工作涉及的幾項大數據技術如下:

1.1 Hadoop

2003年,谷歌發表論文首先提出了分布式文件系統的概念,允許文件通過網絡訪問多臺主機的文件系統,解決了大數據存儲的問題。之后,2004年,谷歌又發表了分布式計算框架MapReduce的論文,解決了大數據計算的問題。2006年3月,Hadoop項目正式啟動,將NDFS和MapReduce被納入其中。順應時代的發展,Hadoop已經成為了當下最流行的大數據分析平臺[4]。

1.2 MapReduce

MapReduce是一種分布式并行計算模型,其主要思想是采用“分而治之”的程序處理理念。能將復雜的,大規模的數據處理任務分解并同時運行在多個節點上處理,MapRedue將這個復雜的過程抽象為Map和Reduce。將分布式文件系統中的大規模數據集切分成許多獨立的分片,這些分片可以被多個Map任務并行處理。然后利用Reduce任務將結果進行總和[5]。

1.3 HDFS

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

1.4 Spark

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

1.5 Ansj

Ansj是一個開源的純Java中文分詞庫,基于中科院的ictclas中文分詞算法,主要應用于自然語言處理、高精度的中文分詞場景,底層利用高度優化的Trie樹,TF/IDF詞袋模型等數據結構和算法來實現。支持用戶自定義詞典、定制CRF模型、停用詞過濾、書名發現、電子郵箱發現、身份證賬號發現、詞性標注、關鍵字提取等諸多強大的功能。

1.6 Web相關技術

網頁是經常用來展示和獲取信息的方式,主要有前臺網頁,后臺業務邏輯和服務器組成。Tomcat是一款非常流行的Web應用服務器,是Apache軟件基金會下的開源項目,實現了Servlet和JSP規范,擁有良好的性能。Servlet是基于Java技術的組件,定義了處理網絡請求的規范。而JSP是通過在HTML中內嵌Java代碼的服務器頁面,在服務端執行,返回HTML文本給客戶端[8]。

1.7 TF-IDF算法

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

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

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

通過對每個詞語進行TF-IDF的計算,然后根據值的大小降序排列,就可以對文章進行特征抽取和關鍵字提取。

1.8 Naive Bayes算法

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

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

可以根據樣本的特征推斷樣本的類型。因此樸素貝葉斯分類器也常用于文本分類,通過對訓練文本的學習,得到分類器參數,進而使用該網絡對文本進行分類[10]。

2 系統設計與實現

2.1 需求分析

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

2.2 處理流程

系統流程如圖1所示,將收集到的大數據存儲在HDFS系統的分布式文件系統中,通過MapReduce批量數據預處理,再Spark強大的計算能力根據文本分類算法訓練數據,生成文本分類模型,最后將文本分類模型封裝成服務,提供給用戶。

圖1 系統流程圖

2.3 系統結構

基于大數據的文本系統主要分為模型應用層、數據挖掘層、數據預處理層、數據存儲層和數據采集層。模型應用層調用數據處理層提供的接口,實現文本分類,為用戶提供服務。整個系統中,下層應用為上層應用提供服務。其主要的處理流程為數據采集層采集數據,利用數據存儲層提供的服務存儲數據,由數據預處理層對存儲的數據進行預處理。數據處理層主要利用Spark強大的計算能力和Naive Bayesian算法對符合算法數據格式的數據挖掘計算,得到數據分類模型,最后應用數據模型,為用戶提供服務。系統架構如圖2所示。

圖2 系統架構

2.4 系統各模塊設計

2.4.1 模型應用層。該層主要功能是利用已經訓練好的文本分類模型為用戶提供文本分類服務。

2.4.2 數據挖掘層。該層主要功能主要是通過Spark中實現的Naive Bayesian算法,在現有的數據上進行模型訓練。該層的主要挑戰是挖掘算法復雜,并且計算量很大。

2.4.3 數據預處理層。該層的功能主要是利用MapReduce批量處理文本數據的優勢和Ansj分詞工具對大量的中文文本進行分詞。

2.4.4 數據存儲層。該層的主要功能是利用分布文件系統HDFS存儲來自數據采集的大量數據。

2.4.5 數據采集層。該層的主要功能是利用爬蟲,第三方數據采集平臺或多個數據庫等獲取主題數據。

2.5 數據庫設計

此系統主要處理文本數據分類問題,其主要目標是大量文本數據的處理,但所選擇的數據中每個目錄下有許多的小文件,這些小文件會單獨的切片,交由map結點進行處理,造成效率低下。為了避免該類問題,根據MapReduce機制,將采用不切片的方式,所以對數據表設計兩個字段,用label字段代表文本分類,text字段代表文本。這樣在一個label下,會有多個小文件的內容,對提升這個系統的性能有著很大的作用。

2.6 基于Ansj的中文分詞

分詞主要是將語句分割成單個詞語,此次實驗主要利用了Ansj工具進行分詞,主要代碼如下所示。該段代碼顯示了如何利用Ansj進行中文分詞,首先讀取默認的停用詞,然后去除空字符串,標點符號等對文本分類模型貢獻不大的數據。

2.7 基于MapReduce的分詞操作

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

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

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

最后,定義分詞驅動類SplitTextDriver,配置相關參數,設置數據的讀取和輸出路徑為HDFS,然后執行分詞任務。相關代碼如下所示。

2.8 利用Spark計算TF-IDF

在開始計算TF-IDF前,需要對得到的分詞結果進行預處理,將分類標簽數值化,并且將逗號分隔符轉變為空格分隔符,因為Spark默認以逗號分割。具體每個分類標簽代表的數值如表1所示。

表1 分類標簽對應值

具體實現代碼如下所示。該段代碼首先將分詞結果集讀入Spark內置的數據結構RDD,調用自定義工具類SplitTextUtil中的CategoryToIndex方法將分類標簽對應的值數值化。RecordBean為記錄實體類,定義了兩個字段label和text,分別代表分類標簽和對應分詞后的文本值。

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

輸入為分詞結果,輸出為詞語對應的TF-IDF值,計算結果如圖3所示。為了便于輸出,僅僅選取了100維特征向量。其下標范圍為0-99,緊接在后面的表示對應的值。

圖3 TF-IDF執行結果

2.9 根據NaiveBayes算法訓練模型

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

運行上述代碼,該段代碼的輸入為5.5.1小寫計算的TF-IDF值,輸出為經過NaiveBayes算法訓練后,模型對訓練集進行預測,并預測正確的概率。控制臺輸出如圖4所示結果。

圖4 模型訓練結果

由控制臺輸出的結果來看,模型的準確率達到85%。基本效果不錯。

3 實驗結果

3.1 實驗環境

測試環境是軟件測試的一個重要階段,測試環境的適合與否嚴重影響測試結果的真實性,是系統安全可靠性,易用性等大多數指標的主要環境。本次測試并不在同一個操作系統下測試。

表2 測試結果

3.2 實驗測試分析

功能測試覆蓋整個系統的功能模塊,為用戶提供綜合服務的能力。測試整個系統是否能達到需求分析的功能。具體測試場景如圖5所示。

圖5 測試結果圖1

從上述結果可以看出,系統基本能夠實現正確的分類。但分類結果的可信度還不是很高,初步估計這可能是基于現實環境的原因,訓練的數據集還不是很大。導致模型不是很成熟,同時也可能是中文分詞的結果不理想造成。

4 結論

大數據與機器學習算法的結合才能使人們的生活變得越來越高效。通過對大數據的文本分類系統的設計與實現,學習了很多關于大數據和機器學習方面的知識。實現了一個基于Hadoop和Spark,利用NaiveBayes算法的文本分類系統。文章研究、設計的系統能夠將大量的數據存儲在HDFS上,通過MapReduce階段進行中文分詞,然后將分詞結果傳給更高效,計算更快速的Spark階段進行訓練模型,最后利用模型,基本能夠達到對輸入文本數據進行類別判斷。不足之處表現在對文本識別的正確率和可信度還有待提高,初步估計是因為文章開展的實驗導致訓練的數據量不是很大,從而使模型參數有偏差。

猜你喜歡
分類文本模型
一半模型
分類算一算
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
在808DA上文本顯示的改善
分類討論求坐標
基于doc2vec和TF-IDF的相似文本識別
電子制作(2018年18期)2018-11-14 01:48:06
數據分析中的分類討論
教你一招:數的分類
3D打印中的模型分割與打包
主站蜘蛛池模板: 欧美日韩导航| 亚洲一区无码在线| 久久久91人妻无码精品蜜桃HD| 中文字幕永久在线看| 欧美性天天| 精品无码国产自产野外拍在线| 91国内在线观看| 99热这里只有精品5| 91久久国产成人免费观看| 伊伊人成亚洲综合人网7777| 国产欧美日韩专区发布| 精品国产电影久久九九| 国产成本人片免费a∨短片| 国产精品永久免费嫩草研究院| 欧美一区二区自偷自拍视频| 久久99国产综合精品女同| 国产性生交xxxxx免费| 成人国内精品久久久久影院| 欧美成人日韩| 国产99视频免费精品是看6| 99er这里只有精品| 波多野结衣中文字幕久久| 免费观看成人久久网免费观看| 国产a v无码专区亚洲av| 国产免费黄| 免费AV在线播放观看18禁强制| 波多野结衣一区二区三区88| 亚洲国产91人成在线| 国产区在线观看视频| 亚洲swag精品自拍一区| 在线日韩一区二区| 久久精品日日躁夜夜躁欧美| 91精品免费久久久| 思思热精品在线8| 91精品情国产情侣高潮对白蜜| 国产在线自在拍91精品黑人| 亚洲国产成熟视频在线多多| 欧美一级视频免费| 亚洲第一色视频| 五月天久久婷婷| 久久久精品国产SM调教网站| 亚洲国产亚综合在线区| 欧美亚洲国产日韩电影在线| 日本在线视频免费| 国产毛片基地| 孕妇高潮太爽了在线观看免费| 亚洲精品国产精品乱码不卞| 久久夜色撩人精品国产| 伊人蕉久影院| 国产无码精品在线| yjizz国产在线视频网| 中文字幕天无码久久精品视频免费 | 亚洲区欧美区| 亚洲精品欧美日本中文字幕| 黄网站欧美内射| 天堂岛国av无码免费无禁网站| 茄子视频毛片免费观看| 天天躁狠狠躁| 久久亚洲黄色视频| 日韩精品一区二区深田咏美| 97青草最新免费精品视频| 欧美激情伊人| 乱人伦视频中文字幕在线| 欧美精品导航| 欧美综合区自拍亚洲综合天堂| 久久国产精品无码hdav| 激情网址在线观看| 国产一区二区福利| 亚洲区第一页| 91免费国产高清观看| 91精品国产情侣高潮露脸| а∨天堂一区中文字幕| 国产在线观看人成激情视频| 伊人久久青草青青综合| 亚洲精品黄| 婷婷中文在线| 国产视频你懂得| 国产在线一区视频| 精品日韩亚洲欧美高清a| 中文字幕色在线| 欧美精品影院| 香蕉精品在线|