王嘯楠,尹輝平
(1.安徽信息工程學(xué)院 計算機與軟件工程學(xué)院,安徽 蕪湖 241000;2.蘇州科大訊飛教育科技有限公司,江蘇 蘇州 215000)
教育部于2019年2月舉行新聞發(fā)布會,介紹了2018年全國教育事業(yè)發(fā)展基本情況,2018年我國共有普通高校2 663所,含獨立學(xué)院在內(nèi).其中,本科院校1 245所,高職(???院校1 418所,另有研究生培養(yǎng)單位815個,各種形式的高等教育在學(xué)總規(guī)模高達3 833萬人.伴隨著高校學(xué)生數(shù)量大幅上升而來的是高校網(wǎng)絡(luò)輿情的爆發(fā),高校學(xué)生成為高校輿情的主要傳播體.高校輿情影響力的增強在為高校思政工作帶來發(fā)展機遇的同時,也帶來了不容小覷的沖擊和負(fù)面影響.
因此,如何快速收集、整理網(wǎng)絡(luò)輿論信息,及時發(fā)現(xiàn)學(xué)生關(guān)注熱點話題,抑制消極情緒,糾正錯誤輿論,降低突發(fā)事件對高校產(chǎn)生的負(fù)面影響,成為各大高校所面臨的重要課題之一[1].
基于上述思考,面向全國各大高校貼吧網(wǎng)站,設(shè)計一種高校輿情情感傾向分析模型,該模型通過網(wǎng)絡(luò)爬蟲進行定時采集,以用戶評論為主要分析對象,通過自然語言處理技術(shù),發(fā)現(xiàn)輿情熱點話題,并針對熱點話題評論進行情感正負(fù)傾向分析,將分析結(jié)果可視化,達到高校輿情情感傾向分析的目的.
整個模型按照工作流程順序進行劃分,共分為5個階段:語料庫準(zhǔn)備、數(shù)據(jù)預(yù)處理、輿情監(jiān)測分析、性能評估、結(jié)果可視化,如圖1所示.
(1)語料庫準(zhǔn)備:通過網(wǎng)絡(luò)爬蟲技術(shù)完成原始數(shù)據(jù)和新數(shù)據(jù)的采集,同時完成原始數(shù)據(jù)的整理,為后期數(shù)據(jù)訓(xùn)練做準(zhǔn)備.
(2)數(shù)據(jù)預(yù)處理:針對已采集文本數(shù)據(jù)進行清洗,去除臟數(shù)據(jù),并通過NLPIR中文分詞系統(tǒng)完成分詞、詞性標(biāo)注等預(yù)備工作,為后期數(shù)據(jù)特征分析做準(zhǔn)備.
(3)輿情監(jiān)測分析:完成兩個核心功能分析,分別是熱詞分析以及發(fā)帖內(nèi)容評論的情感傾向分析.
(4)性能評估:將通過分類器的準(zhǔn)確率、召回率和F值對模型情感傾向分析進行評估.
(5)結(jié)果可視化:通過搭建網(wǎng)站頁面對分析后的數(shù)據(jù)進行可視化展示.
圖1 模型工作流程順序展示圖
語料庫分為兩個組成部分:原始數(shù)據(jù)和新數(shù)據(jù).原始數(shù)據(jù)主要扮演訓(xùn)練集和測試集角色,用于訓(xùn)練和測試計算模型的準(zhǔn)確度,為選擇情感傾向分類器提供數(shù)據(jù)基礎(chǔ);新數(shù)據(jù)為真實評價數(shù)據(jù),為可視化展示階段提供真實數(shù)據(jù)來源[2].
兩種數(shù)據(jù)均來源于網(wǎng)絡(luò)爬蟲爬取,區(qū)別在于,以X年X月X日為分界線,原始數(shù)據(jù)為一次性爬取,將該日之前某一區(qū)間段數(shù)據(jù)爬取保存,保存后針對原始數(shù)據(jù)進行評論分類,分為積極評論文本和消極評論文本;而新數(shù)據(jù)則在該日之后,以日為單位,每天定時爬取[2].
數(shù)據(jù)爬取文本主要包含2個,分別是baseURL文本和id文本.baseURL文本為第一爬取文本,包含字段有:id(序號)、title(帖子標(biāo)題)、link(該主題貼評論鏈接);通過鏈接爬取第二個id文本,顧名思義,以id為文件名,該id與baseURL中的id對應(yīng),用于保存該id主題貼的全部信息,包含字段有:id(與文件名一致)、title(帖子標(biāo)題)、author(作者)、time(發(fā)表時間)、floor(評論樓層)、reviewer(評論人)、comment(評論內(nèi)容).發(fā)表時間可用于后期最新發(fā)帖排序,評論樓層的多少可用于熱門發(fā)帖排序,作者和評論人可用于后期統(tǒng)計該人的活躍度,評論內(nèi)容為輿情情感傾向分析的基礎(chǔ)數(shù)據(jù).
首先,將爬取后的文本數(shù)據(jù)進行清洗,去除信息不全、表情圖片、文字亂碼等臟數(shù)據(jù).針對處理后的文本數(shù)據(jù)集,采用NLPIR(全稱:NLPIR-ICTCLAS漢語分詞系統(tǒng))對文本進行分詞,該系統(tǒng)由中科院團隊研發(fā),具有對中文英文信息進行分詞與詞性標(biāo)注功能.在分詞之前準(zhǔn)備兩張表:停用詞表和用戶自定義表,通過去除停用詞和添加自定義用戶詞來提高分詞的準(zhǔn)確性和針對性.停用詞表主要用于過濾一些無效、無實質(zhì)意義或者干擾詞匯,例如“阿”“了”“哎呀”“不僅”等字、詞或詞組;用戶自定義表主要用于設(shè)置一些主題詞匯以及特殊的網(wǎng)絡(luò)詞匯,例如“北大”“掛科”“給力”“真香”等非常規(guī)詞組,由于該模型用于處理高校輿情,因此自定義用戶詞將以高校為對象重點添加,例如“高數(shù)”“大物”“網(wǎng)課”等.將數(shù)據(jù)分詞后的文本定義為評論單詞comments_words文本,該文本用于輿情監(jiān)測分析中的熱詞分析以及關(guān)聯(lián)詞分析.
輿情監(jiān)測分析是整個模型的核心部分,以下對熱詞分析以及評論情感傾向分析進行具體闡述.
2.3.1 熱詞分析 LDA是一種較為成熟的文檔主題生成模型,其本質(zhì)是三層貝葉斯概率模型,常用于自然語言處理.考慮傳統(tǒng)LDA主題模型的局限性,該部分通過在傳統(tǒng)的LDA主題模型中融入文本類別的TF-IDF算法實現(xiàn)對文本類別的關(guān)鍵詞提取[3,4].
TF-IDF算法由TF算法和IDF算法組合,是一種經(jīng)典的數(shù)據(jù)挖掘特征加權(quán)算法.TF算法用于獲取一個詞i在文檔j中出現(xiàn)的次數(shù),即詞頻tf(i,j),n(i,j)表示單詞i在文檔j中出現(xiàn)的次數(shù),n(k,j)表示文檔j中共含有k個詞,則tf(i,j)表示為
(1)
考慮到有些詞可能在文檔中雖然頻繁出現(xiàn),但往往其重要性并不高,例如“請問”“東西”等詞語,因此通過IDF算法可以獲取一個詞i在文檔中普遍重要性的度量權(quán)值,即逆文檔詞頻idf(i),其中,|D|表示語料庫中的總文檔數(shù),dj表示語料庫中詞i出現(xiàn)的文檔數(shù),則idf(i)可表示為
(2)
則TF-IDF為tf(i,j)和idf(i)相乘所得到的權(quán)重越大,則該詞成為關(guān)鍵詞的概率越高,表示為
(3)
在獲得每個詞語的權(quán)重矩陣基礎(chǔ)上,構(gòu)建LDA模型對象.LDA模型認(rèn)為通過若干詞語可以體現(xiàn)某種主題,而一篇文檔可包含多個主題,因此生成一篇文檔的過程也就包含兩個階段:由詞語到主題,再由主題到文檔[5].
設(shè)w代表詞語,t代表主題,d代表文檔.將nti表示文檔對應(yīng)到第i個主題的詞語個數(shù),n代表文檔中的詞語個數(shù),則文檔d中第i個主題ti可表示為
(4)
假設(shè)形成k個主題,將Pti表示某個文檔對應(yīng)到第i個主題的概率,則每個文檔d對應(yīng)到不同主題的概率:
p(t|d)=θd
設(shè)V代表整個文檔詞語集合,將wi表示主題i中的第i個單詞,則每個文檔d中都包含一個單詞序列
(5)
假設(shè)V中有m個不重復(fù)的詞語,Pwi表示主題t生成V中第i個單詞的概率,則對于主題t,生成不同單詞的概率:
p(w|t)=φt
以某日的評論數(shù)據(jù)為例,整個實現(xiàn)過程如下:
(1)載入分詞處理過的評論單詞comments_words文件;
(2)構(gòu)建TfidfVectorizer對象,進行多次實驗調(diào)整找到最大特征值,通過fit_transform函數(shù)得到評論文本的TF-IDF權(quán)重矩陣.
(3)在獲得每個詞語的權(quán)重矩陣基礎(chǔ)上,構(gòu)建LDA模型對象,通過設(shè)置LDA模型對象參數(shù)獲得Top N的熱詞,利用fit函數(shù)完成對每個詞語權(quán)重矩陣的數(shù)據(jù)集訓(xùn)練,最終訓(xùn)練出兩個結(jié)果向量,即P(w|t)和P(t|d)兩個概率分布.
(4)通過TfidfVectorizer對象中的get_feature_names函數(shù)獲取整個熱詞的最終權(quán)值數(shù)據(jù),根據(jù)權(quán)值降序排序,獲取熱詞列表.
2.3.2 情感傾向分析 情感分類器選擇是情感傾向分析功能實現(xiàn)中非常重要的一部分,該部分需要訓(xùn)練原始語料數(shù)據(jù),并通過測試數(shù)據(jù)集的測試結(jié)果來完成模型評估.
首先,將原始數(shù)據(jù)按照評論的正負(fù)情感進行分類,整理出積極文本和消極文本,累計語料約6萬條評論,利用NLPIR對這兩個文本中的數(shù)據(jù)集進行分詞,去掉停用詞表,添加用戶自定義詞表,針對積極詞匯設(shè)置特征值1,消極詞匯設(shè)置特征值0,實現(xiàn)兩個數(shù)據(jù)集分類:積極詞匯列表pos和消極詞匯列表neg.
其次,為了增加分類器選擇的準(zhǔn)確性,將兩個數(shù)據(jù)集的數(shù)據(jù)排列隨機化后再進行合并,針對合并后的數(shù)據(jù)集隨機劃分為訓(xùn)練集x_train和測試集x_test.
接著進行分類器選擇,數(shù)據(jù)集將通過3次比例劃分,嘗試4種分類器,分別是:BernoulliNB伯努利貝葉斯分類器、MultinomialNB離散型樸素貝葉斯分類器、LogisticRegression邏輯回歸分類器和LinearSVC支持向量機線性分類器.為了衡量不同分類器的準(zhǔn)確性和實用性,采用3個評測指標(biāo)來描述測試效果,分別是:準(zhǔn)確率、召回率和F值,并對結(jié)果進行了計算和總結(jié)[5].結(jié)果如表1所示.
表1 不同分類器評測指標(biāo)測試結(jié)果
通過表1數(shù)據(jù)可知,4種分類器中,LogisticRegression邏輯回歸分類器和LinearSVC支持向量機線性分類器表現(xiàn)較好,而邏輯回歸分類器則表現(xiàn)相對更優(yōu).
以某條發(fā)帖評論數(shù)據(jù)為例,整個實現(xiàn)過程如下:
(1)構(gòu)建線性回歸分類器,針對語料庫中6萬條原始數(shù)據(jù)構(gòu)建訓(xùn)練集,通過該訓(xùn)練集完成線性回歸分類器訓(xùn)練.
(2)完成某條發(fā)帖數(shù)據(jù)采集與預(yù)處理,形成新的發(fā)帖評論文本,字段包括發(fā)帖id,以及該id下的全部評論comments.讀取該帖評論文本,構(gòu)建該帖下的全部評論集合X.
(3)構(gòu)建新的評論集合Y,從舊的評論集合X中迭代出每一句評論,生成詞袋Di,即字典,Di表示第i條評論的詞袋,針對每一句評論進行分詞,分詞過程中需去除停用詞并添加自定義用戶詞,將分詞后的每一個有效詞語進行標(biāo)記,裝入詞袋,再將Di放入Y中.
(4)通過訓(xùn)練后的分類器針對新的評論集合Y進行分類,返回整個評論分類結(jié)果集合,分類積極為1,分類消極為0.假設(shè)集合中積極個數(shù)為Pn,消極個數(shù)為Nm,則該帖評論中積極情感占比r(p)和消極情感占比r(n)可表示為
(6)
(7)
(5)將發(fā)帖信息與該主題帖下的評論情感傾向占比結(jié)果進行可視化.
該模型通過自然語言處理技術(shù),針對高校輿情這一主題進行評論情感傾向分析.由于該模型主要用于實現(xiàn)整個熱詞分析與評論情感分析流程的貫通,因此對于數(shù)據(jù)量不做前期要求,后期可大幅度提升輿情數(shù)據(jù)量,通過采用Hadoop相關(guān)技術(shù)實現(xiàn)大數(shù)據(jù)集的分布式存儲和數(shù)據(jù)處理,大大縮短前期數(shù)據(jù)準(zhǔn)備以及預(yù)處理速度,從真正意義上實現(xiàn)一個基于Hadoop的高校貼吧輿情監(jiān)控系統(tǒng).并且,該模型對于評論中出現(xiàn)的圖片、表情等其他載體所包含的輿情信息并無涉及,還有待進一步研究.