韓帥康 江濤 張順
摘要:該設(shè)計(jì)以機(jī)器學(xué)習(xí)為基礎(chǔ),通過編寫爬蟲程序?qū)W(wǎng)上各大平臺公開評論信息進(jìn)行采集并根據(jù)評分同時(shí)進(jìn)行數(shù)據(jù)標(biāo)注,以樸素貝葉斯分類算法為基礎(chǔ),通過對數(shù)據(jù)的分詞,擬合出文本情感與文本的關(guān)系模型,從而達(dá)到一個(gè)相較于傳統(tǒng)情感字典更好的效果。同時(shí)以該算法為基礎(chǔ),設(shè)計(jì)開發(fā)一套大數(shù)據(jù)評論采集分析系統(tǒng),通過分析互聯(lián)網(wǎng)上的相關(guān)評論,將分析結(jié)果可視化展示給企業(yè),幫助企業(yè)更好地了解產(chǎn)品的市場情況,定位產(chǎn)品的優(yōu)缺點(diǎn),從而幫助企業(yè)優(yōu)化決策,制定合適的策略,獲得更佳的市場表現(xiàn)。
關(guān)鍵詞:文本采集;樸素貝葉斯;機(jī)器學(xué)習(xí);語義分析
中國分類號:TP391.1
文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2020)04-0035-03
Design and Implementation of Big Data Comment Collection and Analysis System
HAN Shuai-kang,JIANG Tao,ZHANG Shun
(School of Information Engineering,Zhengzhou University of Science and Technology,Zhengzhou 450054,China)
Abstract:This design is Based on machine learning,by writing crawlers of the major online platform for public comment information acquisition and according to the score data annotations at the same time,Based on the naive bayesian classification algorithm,Based on the data of participles,fitting out text emotional and relationship model of text,so as to achieve a better effect than traditional emotional dictionary.At the same time,on the basis of the algorithm,designed and developed a set of big comment on data acquisition analysis system,through the analysis of the comments of the Internet,showed the visualization analysis results to the enterprises,help enterprises to better understand the product of the market situation,the advantages and disadvantages of positioning products,thereby helping enterprise optimization decisions,formulate the right strategy,obtain a better market performance.
Key words:text collection;naive Bayes;machine learning;semantic analysis
1 概述
隨著互聯(lián)網(wǎng)時(shí)代的發(fā)展,越來越多的傳統(tǒng)行業(yè)諸如餐飲,酒店,旅游業(yè),電影等逐漸由線下轉(zhuǎn)移到線上。用戶可以在體驗(yàn)過后自由地發(fā)揮評論,長期以來,散布在互聯(lián)網(wǎng)上大量的文字信息并未受到合理的利用。而傳統(tǒng)的情感字典在分析一段文字情感的時(shí)候僅僅是對詞語進(jìn)行簡單的計(jì)算,在準(zhǔn)確率和可靠性上效果往往不盡人意,而釆用樸素貝葉斯分類算法通過對文本的標(biāo)注,分詞,去停用詞,詞向量處理之后,所生成的模型往往可以應(yīng)對很多復(fù)雜的文本情況,從而比傳統(tǒng)情感字典方式不論在準(zhǔn)確率還是可靠性上都具有明顯的優(yōu)勢。
2 設(shè)計(jì)方案與實(shí)現(xiàn)
2.1 數(shù)據(jù)采集與標(biāo)注處理
2.1.1 數(shù)據(jù)采集方法
通過分析相應(yīng)平臺網(wǎng)頁端與移動端的請求信息,定位到請求用戶評論的API接口,通過對該接口的研究,分析出來請求該接口所要求的格式,例如需要某些字段等,然后使用Python語言配合第三方Requests網(wǎng)絡(luò)框架,使用程序模擬用戶真實(shí)的請求,從而獲得我們所需要的評論數(shù)據(jù),根據(jù)評分存儲到不同的文件中,方便后續(xù)的分析與處理。
2.1.2 數(shù)據(jù)標(biāo)注方法
由于大多數(shù)平臺用戶在評論的時(shí)候都會添加相應(yīng)的評分信息,而評分大多數(shù)情況都代表了用戶的情感傾向,比如五星好評的評論往往代表該用戶對于該產(chǎn)品的情感特征是較為積極正向的,而一星差評則往往代表用戶對于該產(chǎn)品情感特征是消極負(fù)向的,所以我們根據(jù)用戶評分的情況將評論主要分為兩類,一類是正向評論,標(biāo)記值為1,一類為負(fù)向評論,標(biāo)記值為0,具體的標(biāo)注工作通過爬蟲程序在爬取評論信息的同時(shí)根據(jù)評分信息自動完成分類與標(biāo)注。
2.2 數(shù)據(jù)分析算法與實(shí)現(xiàn)
2.2.1 樸素貝葉斯算法
貝葉斯分析來源于18世紀(jì)的英國數(shù)學(xué)家托馬斯貝葉斯所提出的一個(gè)數(shù)學(xué)領(lǐng)域可行性分析理論,即我們常說的貝葉斯理論,貝葉斯理論是統(tǒng)計(jì)學(xué)中的一個(gè)重要定理,其原理主要是根據(jù)已經(jīng)發(fā)生的事件來推斷尚未發(fā)生的事件的可能性。
同時(shí)貝葉斯理論在垃圾郵件過濾等領(lǐng)域已經(jīng)得到了充足的驗(yàn)證和廣泛的使用,而基于樸素貝葉斯的文本情感分類,則是通過學(xué)習(xí)已經(jīng)標(biāo)注過情感傾向的文本信息,來分析一個(gè)新的未標(biāo)注的文本情感為正向或者負(fù)向的概率。
樸素貝葉斯算法則是在貝葉斯算法的基礎(chǔ)上進(jìn)行了相應(yīng)的簡化,也就是在所有給定的目標(biāo)值中,屬性之間是相互獨(dú)立的,同時(shí)屬性變量對于最后的決策結(jié)果影響所占的比重較小,雖然該方法在一定程度上有可能降低傳統(tǒng)貝葉斯算法在文本分類上的分類表現(xiàn),但是由于做了簡化操作,使得樸素貝葉斯算法相較于貝葉斯算法在方法的復(fù)雜性上有所降低。
通過樸素貝葉斯算法在分析的過程中不斷地添加新的訓(xùn)練集,理論上來說,樸素貝葉斯算法所學(xué)習(xí)的文本數(shù)據(jù)越多,那么對于一個(gè)新文本的分類結(jié)果就會越準(zhǔn)確O
2.2.2 數(shù)據(jù)預(yù)處理
由于文本信息是沒有辦法直接當(dāng)作樸素貝葉斯算法的輸入,所以在正式的擬合模型之前需要對數(shù)據(jù)進(jìn)行一定的預(yù)處理,首先使用Python的中文分詞框架Jieba對數(shù)據(jù)集進(jìn)行整體的分詞操作,這一步的目的是便于后續(xù)對數(shù)據(jù)集的去停用詞處理以及詞向量的計(jì)算工作。
數(shù)據(jù)的處理和展示則使用了Python語言的Pandas庫和Jupyter開發(fā)環(huán)境,首先打開之前爬蟲自動化程序從網(wǎng)絡(luò)上抓取并標(biāo)注處理的程序,數(shù)據(jù)已經(jīng)隨機(jī)打亂,其中評論數(shù)據(jù)總數(shù)為5176條,其中情感為正向的評論(sentiment=1)為3733條,情感為負(fù)向的評論(sentiment=0)為1433條。
第二步是使用Jieba分詞庫對數(shù)據(jù)集進(jìn)行分詞,并使用Sklearn庫對數(shù)據(jù)集進(jìn)行隨機(jī)拆分,這一步分別將數(shù)據(jù)拆分成兩個(gè)部分,訓(xùn)練集和測試集,其中訓(xùn)練集和測試集根據(jù)標(biāo)簽分別分為數(shù)據(jù)集和標(biāo)簽集,分詞處理之后的數(shù)據(jù)如下:
如圖2所示,comment為評論數(shù)據(jù),cutted_comment為分詞之后的評論數(shù)據(jù),每組詞之間用空格作為分隔符。
數(shù)據(jù)集對應(yīng)的標(biāo)簽集如圖3所示。
由于計(jì)算機(jī)本身并不能直接識別文本數(shù)據(jù),所以最后一步則是對文本信息進(jìn)行詞向量化處理,本例中則選用bag of words模型,即不考慮詞語的出現(xiàn)順序,也不考慮詞語和前后詞語之間的連接,每個(gè)詞都被當(dāng)作一個(gè)獨(dú)立的特征來看待。同時(shí)去掉之前評論數(shù)據(jù)中的停用詞,停用詞是在計(jì)算機(jī)在處理文本數(shù)據(jù)時(shí)用于提高搜索效率會選擇過濾掉的特殊文本。比如中文中的“的”“這個(gè)”“吧”以及一些常見的標(biāo)點(diǎn)符號都屬于停用詞。詞向量處理過之后的數(shù)據(jù)如下:
2.2.3 模型的生成與測試
經(jīng)過數(shù)據(jù)預(yù)處理,下一步就可以將數(shù)據(jù)放入我們預(yù)先選擇好的算法之中了,在這里我們選擇的是Python語言Sklearn庫中的MultinomialNB,MultinomialNB是Sklearn庫提供的基于先驗(yàn)為多項(xiàng)式分布的樸素貝葉斯算法。
將之前處理過的詞向量數(shù)據(jù)與訓(xùn)練集中的標(biāo)簽集作為輸入運(yùn)行程序,利用Sklearn庫中的joblib類將模型保存為model,pkl文件,這樣在之后的預(yù)測計(jì)算中便無須每次進(jìn)行訓(xùn)練,即可直接使用,模型訓(xùn)練出來之后便是測試模型的準(zhǔn)確率,使用測試集進(jìn)行測試之后,情感傾向分析的準(zhǔn)確率為86.5%O
3 數(shù)據(jù)可視化展示
3.1 系統(tǒng)設(shè)計(jì)
模型構(gòu)建好之后,下一步便是開發(fā)相應(yīng)的可視化展示界面,即大數(shù)據(jù)評論采集分析系統(tǒng)的最后一個(gè)環(huán)節(jié)。整體的流程如下圖所示,用戶在客戶端輸入相應(yīng)平臺的網(wǎng)址,爬蟲程序則根據(jù)網(wǎng)址去抓取相關(guān)的評論數(shù)據(jù)并進(jìn)行數(shù)據(jù)清洗,標(biāo)注等處理,之后將數(shù)據(jù)輸入到上文所構(gòu)建的模型之中進(jìn)行分析,最后將數(shù)據(jù)分析結(jié)果通過情感傾向分析、詞云展示、詞頻分析三個(gè)維度展示出來。
詞云制作使用Python詞云制作庫WordCloud庫,WordCloud是一款開源的基于Python語言的詞云制作框架,詞頻相關(guān)的分析則使用Matplotlib以及PIL庫。配合詞頻統(tǒng)計(jì),最終將岀現(xiàn)頻率前十的詞匯,通過直方圖直觀地展示出來。
4 結(jié)束語
本文利用Python與Web自動化工具批量抓取互聯(lián)網(wǎng)各大平臺的評論數(shù)據(jù)依據(jù)評分策略進(jìn)行數(shù)據(jù)的清洗和標(biāo)注,并使用Jieba,Pandas,Numpy等數(shù)據(jù)分析工具將評論數(shù)據(jù)分詞,向量化,利用skleam中基于先驗(yàn)為多項(xiàng)式分布的樸素貝葉斯算法以處理過的數(shù)據(jù)為輸入生成的機(jī)器學(xué)習(xí)模型并且保存到本地,并以此模型為基礎(chǔ),使用Web開發(fā)技術(shù)完成大數(shù)據(jù)評論釆集分析系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),不論是企業(yè)或者個(gè)人,都可以通過在客戶端中輸入特定的鏈接,獲取到相關(guān)評論經(jīng)過分析之后的情感傾向分析結(jié)果、詞云和詞頻分析的可視化展示,從而更好地挖掘評論數(shù)據(jù)中隱藏的信息,同時(shí),該模型也可以用在互聯(lián)網(wǎng)輿情監(jiān)控,非法言論攔截與檢測,用戶個(gè)性化推薦等領(lǐng)域。在今后的研究及實(shí)踐中,我們將加入更多例如影師評論,電商評論等行業(yè)數(shù)據(jù),從而讓我們的系統(tǒng)獲得更高的準(zhǔn)確率以及適用于更多的場景中。
參考文獻(xiàn):
[1] 王龍龍.基于貝葉斯算法的垃圾郵件過濾系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].長春:吉林大學(xué),2014.
[2] 高雅,蘇艷,席方園.基于Python的新浪微博用戶數(shù)據(jù)采集與分析[J].電子設(shè)計(jì)工程,2019,27(20):157-160,165.
[3] 孟天樂.樸素貝葉斯在文本分類上的應(yīng)用[J].通訊世界,2019(1):244-245.
[通聯(lián)編輯:謝媛媛]