程子文 曾豪 姜斌 陳國俊 王鶯
摘? 要:為了深入分析大數(shù)據(jù)背景下微博輿情文本關(guān)聯(lián)度,探索和分析用戶微博發(fā)帖時話題及其情感態(tài)度,有效提高應(yīng)對突發(fā)網(wǎng)絡(luò)事件的處理效率并顯著減少調(diào)查的時間。首先采用詞頻分析的方法實(shí)現(xiàn)對微博發(fā)帖用戶評論內(nèi)容的整體認(rèn)識;然后利用樸素貝葉斯算法對評論文本信息的特征結(jié)構(gòu)、語義內(nèi)容進(jìn)行自動分析,進(jìn)而通過云端情感詞典進(jìn)行篩選遍歷比對計(jì)算權(quán)重;最后對帖子文本進(jìn)行情感傾向分析,得到微博文本情感傾向的分析情況。
關(guān)鍵詞:大數(shù)據(jù);微博輿情;情感分析;文本關(guān)聯(lián)度;Java
中圖分類號:TP391.1? ? ? 文獻(xiàn)標(biāo)識碼:A 文章編號:2096-4706(2020)18-0115-04
Abstract:In order to deeply analyze the relevance of microblog public opinion text under the background of big data,explore and analyze the topic and emotional attitude of users when posting on microblog,effectively improve the processing efficiency of dealing with network incidents and significantly reduce the investigation time. Firstly,the word frequency analysis method is used to realize the overall understanding of the users comments on microblog posts;then use the Naive Bayes algorithm to automatically analyze the feature structure and semantic content of the review text information,and then use the cloud sentiment dictionary to filter and traverse to calculate the weight. Finally,analyze the sentiment tendency of the post text to get the analysis of the sentiment tendency of the microblog text.
Keywords:big data;microblog public opinion;sentiment analysis;text relevance;Java
0? 引? 言
二十一世紀(jì)是大數(shù)據(jù)的時代,對大數(shù)據(jù)的理解在于對數(shù)據(jù)的發(fā)現(xiàn)以及理解信息與信息之間的關(guān)系。近年來,互聯(lián)網(wǎng)中社交媒體信息量迅速增長,人們以往參與社會事件的形式已經(jīng)從走訪申訴向著網(wǎng)絡(luò)發(fā)表言論轉(zhuǎn)變[1]。面對快速增長的微博信息量,如何及時、全面、精準(zhǔn)地分析微博輿論的熱點(diǎn)話題,如何利用好這些網(wǎng)絡(luò)事件文本數(shù)據(jù),是微博輿情分析過程中所需要解決的首要問題[2]。
本課題來源于無錫太湖學(xué)院江蘇省物聯(lián)網(wǎng)重點(diǎn)實(shí)驗(yàn)室相關(guān)科研項(xiàng)目延伸,課題獲批為江蘇省高等學(xué)校大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計(jì)劃一般項(xiàng)目。本團(tuán)隊(duì)成員是主要是物聯(lián)網(wǎng)工程學(xué)院的學(xué)生,主持人及組員已經(jīng)在前期較為系統(tǒng)的學(xué)習(xí)過Python編程技術(shù)和數(shù)據(jù)庫方面的課程知識。本文借助上述技術(shù),對微博輿情分析的相關(guān)技術(shù)進(jìn)行研究,結(jié)合微博的特點(diǎn),設(shè)計(jì)微博輿情文本關(guān)聯(lián)度分析系統(tǒng)的解決方案,并最終加以實(shí)現(xiàn)。
1? 大數(shù)據(jù)背景下微博輿情情感分析算法需求分析
1.1? 理論需求分析
通過對網(wǎng)絡(luò)事件情感分析算法的設(shè)計(jì)內(nèi)容、實(shí)現(xiàn)功能、操作難度以及配置情況進(jìn)行研究。針對情感分析文本需求,開發(fā)出的整合算法加載模擬系統(tǒng),該系統(tǒng)分為前臺與后臺。從前臺數(shù)據(jù)保存的數(shù)據(jù)庫中取值,通過分類算法以及遍歷計(jì)算權(quán)重,就可以得出對應(yīng)的情感傾向分析結(jié)果。通過對關(guān)鍵詞搜索,可以對所有帖子情況進(jìn)行遍歷,計(jì)算出文中相關(guān)聯(lián)的情感分析情況,得出分析結(jié)論。
1.2? 算法需求分析
情感分析需要對文本內(nèi)容的各個單獨(dú)詞語進(jìn)行拆分,隨后需要對拆分好的詞語進(jìn)行情感詞典的匹配以獲取權(quán)重值,接著進(jìn)入設(shè)定好的邏輯進(jìn)行總體文本的情感計(jì)算,這樣可以計(jì)算得出情感傾向比例。如圖1所示,完成情感分析需要四個步驟:
(1)用算法將輸入的文本分割為一個個單獨(dú)的詞語;
(2)需要能夠逐個篩選情感詞語的情感詞典庫,并且對不同的情感詞語設(shè)定不同的權(quán)重值,這可以有效地提高分析結(jié)果的精準(zhǔn)度;
(3)需要詳細(xì)的情感權(quán)重計(jì)算邏輯,對不同詞語做出不同情況的計(jì)算處理,通過對每個詞語的計(jì)算可以得出總體情感權(quán)重結(jié)果,能夠體現(xiàn)正面、負(fù)面以及中性情感;
(4)對關(guān)鍵詞的分析,需要對分割出的詞語進(jìn)行分類,對經(jīng)過處理的分類算法進(jìn)行詞語分析,取出能夠代表文本的關(guān)鍵詞,最終輸出分析結(jié)果。
2? 微博輿情情感分析算法設(shè)計(jì)
2.1? 算法接入平臺模塊設(shè)計(jì)
微博輿情情感計(jì)算方法研究的算法是否有效需要部署到項(xiàng)目中才得到能驗(yàn)證,所以需要建立模擬網(wǎng)絡(luò)平臺,其基礎(chǔ)功能有前臺用戶模擬發(fā)帖評論及跟帖操作、后臺系統(tǒng)模擬發(fā)布網(wǎng)絡(luò)事件。模擬的網(wǎng)絡(luò)平臺模塊如圖2所示。系統(tǒng)開發(fā)用到了AJAX,該技術(shù)可以將對應(yīng)的數(shù)據(jù)內(nèi)容傳入用戶管理以及等級管理,極大地提高了操作效率。
2.2? 算法總體設(shè)計(jì)
通過需求分析可知,算法需具備拆分文本、權(quán)重匹配、權(quán)重計(jì)算、關(guān)鍵詞分析等功能。所以本課題開發(fā)的整個算法,應(yīng)由多種方法及算法組成。將這些算法整合到一起,可以完整的實(shí)現(xiàn)對網(wǎng)絡(luò)事件的情感計(jì)算分析,最終將算法加載至設(shè)計(jì)出的模擬平臺進(jìn)行實(shí)現(xiàn)、測試與優(yōu)化。
2.2.1? 拆分詞語算法設(shè)計(jì)
在對中文文本進(jìn)行分析時較為有效的算法為MaxMatch文本匹配算法,該算法在大多數(shù)應(yīng)用到中文詞語分割時都有不錯的表現(xiàn),所以國內(nèi)詞語分割技術(shù)大多采用該算法。計(jì)算結(jié)果得出的數(shù)組,就是該文本信息所拆分下來的詞語集合,將這些詞語進(jìn)行權(quán)重計(jì)算,可以得出相應(yīng)的情感傾向結(jié)果[3]。MaxMatch的方法原理流程如圖3所示。
2.2.2? 事件詞語情感權(quán)重設(shè)計(jì)
拆分后的詞語需要進(jìn)行權(quán)重計(jì)算,可采用情感詞典分類方法進(jìn)行情感分析。原理為:構(gòu)建好數(shù)據(jù)情感詞典(本次開發(fā)采用百度AI情感詞典),通過發(fā)送請求可以將所拆分的詞語發(fā)送云端進(jìn)行分析字符串匹配,同時對反饋過來的詞語進(jìn)行權(quán)重分析,從而得出正面、負(fù)面及中性詞語信息??傮w規(guī)則如圖4所示。
其中具體對情感詞典字符串匹配的規(guī)則邏輯如圖5所示,對所抽取的詞語進(jìn)行分析后,計(jì)算權(quán)重信息,從而得出正面、負(fù)面以及中性詞語[4]。
通過導(dǎo)入情感詞典中的向量詞組,逐個遍歷對比匹配詞典庫中對應(yīng)的詞語,且其中每個詞語所在情感詞典庫中匹配的權(quán)重值都有特定的值。檢測到詞語為否定詞、消極詞時,需要進(jìn)一步檢測該詞語的前一詞語,當(dāng)前一詞語為否定詞時,記+1,為程度副詞時,乘前一詞語的權(quán)重值,為其他詞語時,減去該權(quán)重值;檢測到詞語為積極詞語時,需要檢測出前后詞語,如果前一詞語為否定詞或前后詞語為消極詞,記為-1,如果前一詞語為程度副詞時,需要乘該詞的權(quán)重,如果該詞語為其他,則加上該權(quán)重;檢測到該詞語為否定詞語時,直接記-1處理。最終將權(quán)重值輸出,可以區(qū)分正面、負(fù)面以及中性情感。
2.2.3? 關(guān)鍵詞算法設(shè)計(jì)
計(jì)算出段落粒度的文本數(shù)據(jù),本課題開發(fā)采取樸素貝葉斯分類器,由于其包含的算法眾多,這里選用貝葉斯方法。在對短文本數(shù)據(jù)分析時,用它可以得到較為精準(zhǔn)的分析結(jié)果。
貝葉斯定理,樸素貝葉斯的核心算法如下:
P(A|B)時已知B發(fā)生后A的條件概率,反之P(B|A)相同原理,P(A)為A的先驗(yàn)概率或者邊緣概率,同理P(B)亦如此。貝葉斯定理可以理解為:后驗(yàn)概率=(相似度*先驗(yàn)概率)/標(biāo)準(zhǔn)化常量。
在套用該算法后,將其應(yīng)用至貝葉斯分類中,它對所處理的文本內(nèi)容,可以作為一個數(shù)組進(jìn)行處理,即設(shè)e={e1,e2,e3,……,en},將集合D定義為D={d1,d2,d3,……, dn},計(jì)算出P(d1|e),P(d2|e),……,P(dn|e)。分類出的結(jié)果即為拆分后的詞語信息。
2.2.4? 綜合檢索數(shù)據(jù)情感分析設(shè)計(jì)
本課題采用的MaxMatch分詞算法、情感詞典權(quán)重方法應(yīng)用后,僅能實(shí)現(xiàn)對一組數(shù)據(jù)的文本情感分析,本課題擬突破的研究為:對檢索某一事件后引發(fā)的多記錄數(shù)據(jù),綜合分析這些帖子的文本內(nèi)容。應(yīng)用以上算法后,加以改造設(shè)計(jì)出邏輯構(gòu)造,如圖6所示。
對搜索出的多條數(shù)據(jù)進(jìn)行判斷,將每條數(shù)據(jù)進(jìn)行權(quán)重計(jì)算,同時需要計(jì)算出各文本數(shù)量比例,通過該比例乘情感權(quán)重分析結(jié)果,即可得出該記錄的情感分析比例[5]。將這些數(shù)據(jù)的結(jié)果加在一起,就可得出對這一檢索事件的綜合情感分析。
3? 大數(shù)據(jù)背景下微博輿情情感計(jì)算方法研究實(shí)現(xiàn)
3.1? 微博輿情情感分析文本數(shù)據(jù)存取
微博輿情情感文本分析需要將分析的文本數(shù)據(jù)存入本地?cái)?shù)據(jù)表中,首先將發(fā)布的網(wǎng)絡(luò)事件文本內(nèi)容存入t_new表中,將用戶評論文本信息存入t_comment表中。對某一事件的評論搜索可以進(jìn)行模糊查找,查找出所有記錄,并將對應(yīng)的記錄信息提取出來進(jìn)行情感文本分析。
情感計(jì)算分析的實(shí)現(xiàn)先后順序分為:文本拆分詞語,詞語在情感詞典中的權(quán)重匹配,多詞語的權(quán)重邏輯計(jì)算,關(guān)鍵詞算法分析。該流程即先實(shí)現(xiàn)將網(wǎng)絡(luò)事件文本拆分為一個個單獨(dú)的詞語;其次將這些詞語傳入情感詞典中匹配獲取權(quán)重值信息;然后將整體文本分割的詞語進(jìn)行權(quán)重邏輯計(jì)算,即可計(jì)算出情感傾向值;最后對關(guān)鍵詞進(jìn)行分析,在詞語拆分后調(diào)用樸素貝葉斯算法計(jì)算出結(jié)果。
3.2? 網(wǎng)絡(luò)事件拆分詞語實(shí)現(xiàn)
使用MaxMatch文本匹配算法進(jìn)行文本詞語的拆分,由于算法為基層算法,輸出的結(jié)果一般作為參數(shù)傳入其他方法中,所以在前端無須顯示[6]。算法執(zhí)行出的結(jié)果以JSON形式輸出,所以需要將其內(nèi)容轉(zhuǎn)換為HashMap格式,取出其中包含拆分詞語的“items”字段。同理繼續(xù)轉(zhuǎn)換為HashMap格式,繼續(xù)取出items中的“item”字段,拼接加入list數(shù)組中。
3.3? 情感詞典獲取權(quán)重實(shí)現(xiàn)
將拆分好的詞語進(jìn)行情感詞典的數(shù)據(jù)匹配,每一個詞語在情感詞典中都可以對應(yīng)上各自的權(quán)重值,將這些權(quán)重值結(jié)合起來傳入邏輯代碼中,即可計(jì)算出情感傾向。
3.4? 情感文本傾向分析實(shí)現(xiàn)
成功獲取詞語的權(quán)重值后,需要對總體文本的全部詞語進(jìn)行邏輯運(yùn)算,即權(quán)重值計(jì)算得出結(jié)果,利用上文已經(jīng)得出結(jié)果的文本分割詞語方法以及權(quán)重值設(shè)定,進(jìn)一步進(jìn)行邏輯處理操作。對發(fā)布的網(wǎng)絡(luò)事件帖子可以進(jìn)行情感傾向分析,計(jì)算出權(quán)重值比例,設(shè)定為積極情感占比以及消極情感占比,然后通過算法計(jì)算出分析后的精確率,如圖7所示。
4? 結(jié)? 論
微博是網(wǎng)絡(luò)輿情發(fā)生和傳播的重要場域,對微博進(jìn)行輿情分析具有極為重要的意義。本文利用微博平臺中的輿情數(shù)據(jù),通過相關(guān)算法進(jìn)行文本關(guān)聯(lián)度研究,以情感詞典計(jì)算情感傾向分析,以情感詞典暫時處于主導(dǎo)地位為依據(jù),將微博輿情的傳播控制在情感理論的框架中,實(shí)現(xiàn)社會和諧穩(wěn)定。
參考文獻(xiàn):
[1] 王曉晨,關(guān)碩,于文博,等.體育賽事網(wǎng)絡(luò)輿情的傳播特征研究——基于2019年女排世界杯的文本情感分析 [J].成都體育學(xué)院學(xué)報(bào),2020,46(5):74-81.
[2] 陳炳豐.面向文本數(shù)據(jù)的情感計(jì)算研究 [D].廣州:廣東工業(yè)大學(xué),2019.
[3] 謝澤澄.基于深度學(xué)習(xí)的文本識別與文檔切分的研究和應(yīng)用 [D].廣州:華南理工大學(xué),2019.
[4] 曾江峰.基于深度學(xué)習(xí)的文本情感計(jì)算研究 [D].武漢:華中科技大學(xué),2019.
[5] 徐康.基于主題模型的文本情感和話題建模的研究 [D].南京:東南大學(xué),2017.
[6] 任巨偉,楊亮,吳曉芳,等.基于情感常識的微博事件公眾情感趨勢預(yù)測 [J].中文信息學(xué)報(bào),2017,31(2):169-178.
作者簡介:程子文(1998—),男,漢族,江西九江人,本科在讀,研究方向:物聯(lián)網(wǎng)工程;曾豪(1997—),男,漢族,河南鄧州人,本科在讀,研究方向:通信工程;姜斌(1997—),男,漢族,江蘇鹽城人,本科在讀,研究方向:計(jì)算機(jī)科學(xué)與技術(shù);陳國?。?978—),男,漢族,江蘇無錫人,副教授,計(jì)算機(jī)科學(xué)專業(yè)碩士,研究方向:人工智能、量子通信、物聯(lián)網(wǎng)技術(shù);王鶯(1987—),女,漢族,江蘇金壇人,講師,軟件工程碩士,研究方向:大數(shù)據(jù)分析、算法設(shè)計(jì)、圖像處理。