劉一利 朱潼昕 施凡
(1.國(guó)防科技大學(xué)電子對(duì)抗學(xué)院 安徽合肥 230031;2.武警警官學(xué)院22隊(duì) 四川成都 610001)
隨著計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)的快速發(fā)展和使用成本的快速降低,互聯(lián)網(wǎng)的普及率迅速提升。互聯(lián)網(wǎng)正深刻的改變著我們的生產(chǎn)、生活模式。作為互聯(lián)網(wǎng)的重要應(yīng)用,電子商務(wù)和社交網(wǎng)站迅速普及,針對(duì)商品、微博、新聞等發(fā)表評(píng)論已經(jīng)成為一種潮流,越來(lái)越多的人喜歡通過(guò)發(fā)表在線評(píng)論表達(dá)自己的意見。由于互聯(lián)網(wǎng)的評(píng)論數(shù)據(jù)巨大,僅通過(guò)人工閱讀的方式難以有效挖掘互聯(lián)網(wǎng)用戶的意見傾向,通過(guò)自動(dòng)化方法可有效提升對(duì)在線評(píng)論文本意見挖掘的速度,具有重要的應(yīng)用價(jià)值。本文設(shè)計(jì)的互聯(lián)網(wǎng)在線評(píng)論文本意見挖掘系統(tǒng)基于機(jī)器學(xué)習(xí)方法可實(shí)現(xiàn)對(duì)在線評(píng)論文本意見的自動(dòng)化挖掘,可用于用戶商品智能、輿情監(jiān)控和民意調(diào)查等領(lǐng)域。
意見挖掘(Opinion Mining)被稱為評(píng)論挖掘,也稱為情感分析(Sentiment Analysis),通過(guò)對(duì)發(fā)表的評(píng)論文本分析,挖掘意見傾向,是贊成還是反對(duì)。意見挖掘涉及多個(gè)領(lǐng)域知識(shí),包括自然語(yǔ)言處理、概率統(tǒng)計(jì)、關(guān)聯(lián)規(guī)則和機(jī)器學(xué)習(xí)等知識(shí),是一個(gè)綜合的研究領(lǐng)域。唐曉波等為了解決微博評(píng)論文本隱式特征的識(shí)別問(wèn)題,提出一種基于特征本體的評(píng)論情感分析方法[1]。楊春曉等通過(guò)構(gòu)建卷煙在線評(píng)論情感詞典的方法,提出了卷煙情感指數(shù)計(jì)算模型[2]。王娜娜等提出一種基于評(píng)價(jià)單元五元組的情感分析方法。通過(guò)聯(lián)合無(wú)監(jiān)督和有監(jiān)督學(xué)習(xí)方法構(gòu)建評(píng)價(jià)詞表和評(píng)價(jià)對(duì)象詞表判斷文本情感類別[3]。李曉東等通過(guò)使用技術(shù)指標(biāo)表示數(shù)值價(jià)格數(shù)據(jù),用情感向量表示文本新聞文章使用全連接神經(jīng)網(wǎng)絡(luò)模型進(jìn)行了股票價(jià)格預(yù)測(cè)的研究[4]。Naresh等運(yùn)用多種機(jī)器學(xué)習(xí)模型對(duì)twitter數(shù)據(jù)集進(jìn)行了文本意見挖掘,通過(guò)對(duì)比得出決策樹模型具有較高的正確率[5]。有監(jiān)督的意見挖掘機(jī)器學(xué)習(xí)算法在評(píng)論文本意見挖掘方面,不需要語(yǔ)言學(xué)專業(yè)知識(shí)的約束,具有較好的分類效果,但其需要大量的帶有標(biāo)注信息的訓(xùn)練數(shù)據(jù)。本文基于有監(jiān)督的意見挖掘算法,提出了模塊化的在線評(píng)論文本意見挖掘系統(tǒng)設(shè)計(jì)方法。該方法支持不同模塊的靈活組合,單個(gè)功能模塊可以靈活選擇優(yōu)化算法。
圖1 系統(tǒng)框架圖
表1 評(píng)論文本示例
圖2 模型訓(xùn)練步驟
圖3 實(shí)驗(yàn)精確率和召回率
互聯(lián)網(wǎng)在線評(píng)論文本意見挖掘系統(tǒng)采用模塊化的設(shè)計(jì)方法,分為人機(jī)接口模塊、評(píng)論文本爬取模塊、文本特征提取模塊、自動(dòng)分類模塊和數(shù)據(jù)存儲(chǔ)模塊。人機(jī)接口模塊支持設(shè)置目標(biāo)網(wǎng)站URL、爬取條數(shù)、線程數(shù)等參數(shù),將文本意見挖掘結(jié)果通過(guò)圖表、表格等方式輸出給用戶;評(píng)論文本爬取模塊使用Scrapy網(wǎng)絡(luò)爬蟲框架,支持對(duì)目標(biāo)網(wǎng)站評(píng)論文本實(shí)現(xiàn)異步高并發(fā)爬取,可高效爬取大批量評(píng)論文本數(shù)據(jù);文本特征提取模塊可對(duì)中文文本實(shí)現(xiàn)智能分詞處理,并對(duì)分詞進(jìn)行預(yù)處理,并進(jìn)行向量化處理;自動(dòng)分類模型基于機(jī)器學(xué)習(xí)算法,系統(tǒng)使用樸素貝葉斯(Native Bayes)算法,模型通過(guò)對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行學(xué)習(xí),達(dá)到學(xué)習(xí)指標(biāo)后,可實(shí)現(xiàn)對(duì)文本向量化處理后數(shù)據(jù)的智能分類;數(shù)據(jù)存儲(chǔ)模塊實(shí)現(xiàn)數(shù)據(jù)的存儲(chǔ)和管理。系統(tǒng)框架如圖1所示。
從互聯(lián)網(wǎng)爬取的評(píng)論文本不能被計(jì)算機(jī)程序直接理解,需要對(duì)其進(jìn)行分詞處理,并將分詞進(jìn)行向量化轉(zhuǎn)換,實(shí)現(xiàn)自然語(yǔ)言到數(shù)值變量的轉(zhuǎn)換,數(shù)值變量可直接作為自動(dòng)分類模塊的輸入。從支付寶網(wǎng)站口碑應(yīng)用爬取評(píng)論文本示例如表1所示。
(1)文本分詞。
系統(tǒng)采用python的jieba分詞模塊完成對(duì)評(píng)論文本的分詞處理,jieba分詞模塊支持精確模式、全模式和搜索引擎模式。精確模式尋求將句子精確分開;全模式把句子中所有的成詞都掃描出來(lái);搜索引擎模式,在精確模式的基礎(chǔ)上,對(duì)長(zhǎng)詞再次切分,提升查全率。以表1評(píng)論1為例,精確模式分詞為:“還/贈(zèng)送/了/兩個(gè)/紅茶/,/味道/也/不錯(cuò)/分量/足”,全模式分詞為:“還/贈(zèng)送/了/兩個(gè)/紅茶/,/味道/也/不錯(cuò)/錯(cuò)分/分量/足”,搜索引擎模式分詞為:“還/贈(zèng)送/了/兩個(gè)/紅茶/,/味道/也/不錯(cuò)/分量/足”。能夠較好的將句子中的詞語(yǔ)分開,但其中“還”、“了”、“也”等語(yǔ)氣詞在評(píng)論文本意見挖掘中起不到分類的效果,本系統(tǒng)使用從互聯(lián)網(wǎng)下載的“哈工大停用詞表”去除語(yǔ)氣詞、特殊符號(hào)等停用詞。
(2)分詞向量化。
將文本詞語(yǔ)轉(zhuǎn)換為計(jì)算機(jī)能夠理解的數(shù)字,對(duì)文本進(jìn)行向量化處理。針對(duì)系統(tǒng)具體的應(yīng)用場(chǎng)景,構(gòu)建詞匯表,將分詞后的文本詞和詞匯表進(jìn)行對(duì)照,若詞匯表中單詞在文本中出現(xiàn),詞匯向量該位就設(shè)為1,未出現(xiàn)就設(shè)為0。這樣每一個(gè)文本都能夠轉(zhuǎn)換為一個(gè)包含0、1元素的多維向量。我們運(yùn)用sklearn庫(kù)中CountVectorizer方法將文本轉(zhuǎn)化為詞向量。
系統(tǒng)文本自動(dòng)分類模塊使用樸素貝葉斯分類算法完成文本數(shù)據(jù)自動(dòng)分類。使用訓(xùn)練數(shù)據(jù)對(duì)模型進(jìn)行訓(xùn)練,將訓(xùn)練數(shù)據(jù)進(jìn)行合理劃分,模型經(jīng)訓(xùn)練達(dá)到指標(biāo)要求后,結(jié)束訓(xùn)練,可對(duì)未知文本進(jìn)行分類。
(1)樸素貝葉斯分類算法。
樸素貝葉斯分類算法是一種基于概率的機(jī)器學(xué)習(xí)模型,根據(jù)人們對(duì)事物的先驗(yàn)知識(shí)和條件概率結(jié)合起來(lái),推導(dǎo)事物發(fā)展變化的后驗(yàn)概率。設(shè)有訓(xùn)練數(shù)據(jù)B={b1,b2,...,bn},訓(xùn)練數(shù)據(jù)的特征屬性為X={x1,x2,...,xn},類別集合為C={c1,c2},后驗(yàn)概率公式如下所示[6]
(2)模型訓(xùn)練過(guò)程。
模型訓(xùn)練步驟如圖2所示。
將數(shù)據(jù)集進(jìn)行合理劃分,按照一定比例將數(shù)據(jù)集劃分為訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù)。使用訓(xùn)練數(shù)據(jù)訓(xùn)練模型,用測(cè)試數(shù)據(jù)來(lái)驗(yàn)證模型的正確率和召回率,判斷模型訓(xùn)練效果。如果訓(xùn)練效果達(dá)到要求,停止訓(xùn)練,模型訓(xùn)練完成。如果達(dá)不到要求,返回重新訓(xùn)練模型,直到達(dá)到要求。
為了驗(yàn)證系統(tǒng)對(duì)評(píng)論文本意見挖掘的有效性,選擇從互聯(lián)網(wǎng)爬取的2000條美食評(píng)論作為數(shù)據(jù)集。將數(shù)據(jù)集按照7:3的比例劃分為訓(xùn)練集和測(cè)試集。本文使用python的sklearn模塊實(shí)現(xiàn)樸素貝葉斯模型的快速構(gòu)建,進(jìn)行5次獨(dú)立實(shí)驗(yàn),正確率和召回率如圖3所示。
從圖3所示的測(cè)試結(jié)果看出,系統(tǒng)對(duì)美食評(píng)論文本數(shù)據(jù)集進(jìn)行了5次獨(dú)立實(shí)驗(yàn),精確率分別為88.9%、90.0%、88.9%、88.5%、87.7%,平均值為88.8%;召回率分別為86.0%、84.5%、84.2%、81.7%、83.0%,平均值為83.8%。分類結(jié)果的精確率和召回率均在80%以上,具有較好的分類效果。
如今,隨著互聯(lián)網(wǎng)服務(wù)的快速普及,互聯(lián)網(wǎng)中各種應(yīng)用的在線評(píng)論文本數(shù)量呈指數(shù)增長(zhǎng),通過(guò)設(shè)計(jì)在線評(píng)論文本意見挖掘系統(tǒng)可有效提升對(duì)大數(shù)據(jù)文本評(píng)論信息的有效挖掘。通過(guò)實(shí)驗(yàn)分析,系統(tǒng)能夠較為有效的對(duì)美食評(píng)論數(shù)據(jù)進(jìn)行意見挖掘。下一步還要針對(duì)多種類型的評(píng)論信息展開實(shí)驗(yàn),進(jìn)一步提升系統(tǒng)的泛化能力。
科技創(chuàng)新導(dǎo)報(bào)2020年31期