国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于校園社交網(wǎng)絡(luò)數(shù)據(jù)的情緒分析及可視化

2018-12-22 10:55竇亞玲郭文靜周武彬
電腦知識(shí)與技術(shù) 2018年32期
關(guān)鍵詞:數(shù)據(jù)可視化社交網(wǎng)絡(luò)

竇亞玲 郭文靜 周武彬

摘要:以社交網(wǎng)絡(luò)中活躍的大學(xué)生用戶群的QQ空間、說說等文本數(shù)據(jù)為對(duì)象,依據(jù)四類基礎(chǔ)詞庫(積極、消極、否定詞、程度詞),結(jié)合Python第三方庫Pandas庫和matplotlib庫,給出了5-LevelEA情緒分析算法。該算法能計(jì)算出社交網(wǎng)絡(luò)文本數(shù)據(jù)中的多項(xiàng)情緒指標(biāo),再通過可視化圖表呈現(xiàn)所采集數(shù)據(jù)中的個(gè)人情緒變化趨勢(shì)以及性別、就業(yè)情況等要素作用下的情緒分類數(shù)據(jù),具有實(shí)用價(jià)值。

關(guān)鍵詞: 社交網(wǎng)絡(luò);情緒分析; 數(shù)據(jù)可視化; Python

中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2018)32-0003-04

Abstract:Based on the QQ space, speaking text data of the active college student user groups in the social network, according to the four basic lexicons (positive, negative, negative, degree words), combined with the Python third-party library Pandas library and matplotlib library, A 5-levelEA emotional analysis algorithm is given. The algorithm can calculate a number of emotional indicators in the social network text data, and display the emotional classification trends in the collected data and the emotional classification data under the influence of gender and employment conditions through the visualization chart.The test data shows that the algorithm has certain effectiveness.

Key words: social network;emotional analysis;data visualization;python

1 引 言

社交網(wǎng)絡(luò)[1]蓬勃發(fā)展直接促成了網(wǎng)絡(luò)大數(shù)據(jù)時(shí)代的到來[2]。大數(shù)據(jù)給科學(xué)技術(shù)、商業(yè)、教育等不同生態(tài)環(huán)境和產(chǎn)業(yè)格局帶來全新的思維理念與機(jī)會(huì)。大學(xué)生作為社交網(wǎng)絡(luò)的活躍人群,網(wǎng)絡(luò)已經(jīng)成為他們信息獲取、情緒表達(dá)、人際交往、自我展示以及社會(huì)參與的舞臺(tái),對(duì)其認(rèn)知、情感、意志品質(zhì)、行為習(xí)慣等人格要素產(chǎn)生了不可忽視的影響。大學(xué)生社交網(wǎng)絡(luò)數(shù)據(jù)分析研究具有一定的社會(huì)意義。本研究以某高校畢業(yè)季學(xué)生在QQ空間、說說等社交網(wǎng)絡(luò)數(shù)據(jù)為對(duì)象,進(jìn)行文本數(shù)據(jù)情緒分析,從發(fā)布頻率、性別差異、情緒變化等多方面給出可視化數(shù)據(jù)圖表,為高校大學(xué)生就業(yè)升學(xué)的情緒狀況提供數(shù)據(jù)參考,服務(wù)于高校學(xué)生工作。

2 社交網(wǎng)絡(luò)文本數(shù)據(jù)情緒分析算法設(shè)計(jì)

2.1分詞處理與創(chuàng)建情緒詞典

通過爬蟲程序獲取所需的文本數(shù)據(jù),首先需要對(duì)文本進(jìn)行預(yù)處理:分詞。分詞將一連串字符轉(zhuǎn)換成相互分離、容易識(shí)別的詞語。算法中選擇sunjunyi開發(fā)的具有強(qiáng)大的中文分詞能力的python分詞組件“結(jié)巴jieba”,并在三種模式:全模式、精確模式、搜索引擎模式中選擇精確模式,將文本句子精確分開,隨后掃描出句子中所有可以成詞的詞語。

import jieba

seg_list = jieba.cut('我今天來到了長(zhǎng)沙,很開心。',cut_all=False)

print('/'.join(seg_list))

輸出:我/今天/來到/了/長(zhǎng)沙/,/很/開心/。

情緒詞典是分析社交網(wǎng)絡(luò)中情緒文本的情感和傾向的基礎(chǔ)[3-6]。本文采用的四類情緒詞,包括積極詞庫、消極詞庫、否定詞庫和程度詞庫。這些自定義的詞庫,存放在.txt文件中,在程序中通過open()函數(shù)進(jìn)行讀取,實(shí)現(xiàn)添加或修改。

(1)積極詞:積極的含義是指肯定的、正面的、促進(jìn)發(fā)展的、努力的、熱心的。本詞庫中含有18964個(gè)字符的積極詞。

(2)消極詞:消極與積極相對(duì),含義是否定的、消極的、反面的、不思進(jìn)取的。本詞庫中含有34416個(gè)字符的消極詞。

(3)否定詞:否定詞用來把字面上的意思與要表達(dá)的意思變成不一致,可以是動(dòng)詞,也可以是副詞。本詞庫含有20個(gè)字符的否定詞。

(4)程度詞:在程度上對(duì)一個(gè)形容詞或者副詞進(jìn)行限定或修飾的詞語。程度詞位置一般在被修飾的形容詞或者副詞之前。在算法中程度詞被分為四個(gè)不同程度等級(jí),賦給不同的權(quán)值,通過index()函數(shù)找到標(biāo)識(shí)隔開。本詞庫中含有431個(gè)字符的程度詞。

在此基礎(chǔ)上,完成情緒分析算法的設(shè)計(jì)。

2.2 5-LevelEA情緒分析算法設(shè)計(jì)

算法中將情緒量化成5個(gè)層級(jí),分別為非常積極(很高興)、積極(高興)、無情緒波動(dòng)(中)、消極(憂傷)、非常消極(很憂傷)。

算法中變量做如下定義:

(1) Posa和Posi用來記錄掃描到詞的位置,初始值為0;

(2) n是用來作為記錄情緒詞前面的否定詞個(gè)數(shù)的變量,初始值為0;

(3) Poscount, Poscount2, Poscount3和Negcount,Negcount2,Negcount3分別記錄積極情緒和消極情緒的第一次分值,反轉(zhuǎn)后的分值和最后的分值,初始值都為0;

(4) Midcount用來累計(jì)感嘆號(hào)的分值,初始值為0。

算法核心在于對(duì)分詞成功后的數(shù)據(jù)文本進(jìn)行詞典匹配,判斷文本中的詞語是否在詞典中,情緒傾向是屬于積極或者消極,又或者是否定。對(duì)每一次的匹配進(jìn)行加權(quán)統(tǒng)計(jì)。整個(gè)文本匹配完畢后,計(jì)算每條文本的積極值Poscount,消極值Negcount,積極情緒平均值A(chǔ)vgPos,消極情緒平均值A(chǔ)vgNeg,積極情緒方差StdPos,消極情緒方差StdNeg,用數(shù)組記錄下來。計(jì)算數(shù)組中積極情緒值減消極情緒值除以80(經(jīng)驗(yàn)值),商數(shù)作為參數(shù)值Y,判斷參數(shù)值Y的大小并歸到五個(gè)情緒等級(jí)中。進(jìn)行分值計(jì)算的流程如圖1,算法流程如圖2,給出5-LevelEA情緒分析算法實(shí)現(xiàn)步驟如下:

Step0:讀取文本數(shù)據(jù);

Step1:用jieba分詞組件對(duì)文本進(jìn)行分詞;

Step2:判斷分詞是否為情緒詞,是情緒詞記錄此時(shí)情緒詞的位置Posi,進(jìn)行Step3,不是情緒詞則轉(zhuǎn)到Step15;

Step3:判斷情緒詞是積極詞還是消極詞,積極詞轉(zhuǎn)到Step4,消極詞轉(zhuǎn)到Step9;

Step4:積極情緒第一次分值Poscount加1,向前搜索,判斷從Posa到Posi的位置之間是否存在程度詞或否定詞,存在則進(jìn)行Step5,不存在則轉(zhuǎn)到Step6;

Step5:根據(jù)程度詞的不同級(jí)別,乘以相應(yīng)的權(quán)值。存在否定詞則n加1;

Step6:判斷n為奇數(shù)還是偶數(shù),奇數(shù)則進(jìn)行Step7,偶數(shù)進(jìn)行Step8;

Step7:第一次積極情緒值Poscount乘以-1 ,然后賦值給Poscount2。 Poscount3等于 Poscount2加 Poscount3。Posa等于Posi加1,轉(zhuǎn)到Step15;

Step8:偶數(shù)則Poscount直接賦值給Poscount2。 Poscount3等于 Poscount2加 Poscount3。Posa等于Posi加1,轉(zhuǎn)到Step15;

Step9:消極情緒第一次分值Negcount加1;

Step10: 向前搜索,判斷從Posa到Posi的位置之間是否存在程度詞或否定詞,存在則進(jìn)行Step11,不存在則轉(zhuǎn)到Step12;

Step11:根據(jù)程度詞的不同級(jí)別,Negcount乘以相應(yīng)的權(quán)值。存在否定詞則n加1;

Step12:判斷n為奇數(shù)還是偶數(shù),奇數(shù)則進(jìn)行Step13,偶數(shù)則進(jìn)行Step14;

Step13:第一次消極情緒值Negcount乘以-1 ,然后賦值給Negcount2,Negcount3等于 Negcount2加 Negcount3。Posa等于Posi加1,轉(zhuǎn)到Step15;

Step14:偶數(shù)則Negcount直接賦值給Negcount2。 Negcount3等于Negcount2加Negcount3。Posa等于Posi加1,轉(zhuǎn)到Step15;

Step15:判斷是否有感嘆號(hào),沒有轉(zhuǎn)到Step17;

Step16:有感嘆號(hào)Midcount加2;

Step17:Posi加1;

Step18:判斷是否還有詞,有詞則轉(zhuǎn)到Step2,沒有則結(jié)束流程;

Step19:計(jì)算完一條文本的情緒值,防止出現(xiàn)負(fù)數(shù),并處理最終的情緒值;

Step20:計(jì)算每條文本的積極值Poscount,消極值Negcount,積極情緒平均值A(chǔ)vgPos,消極情緒平均值A(chǔ)vgNeg,積極情緒方差StdPos,消極情緒方差StdNeg,用數(shù)組記錄下來;

Step21:計(jì)算數(shù)組中積極情緒值減消極情緒值除80,得數(shù)作為參數(shù)值,判斷參數(shù)值大小并歸到五個(gè)情緒等級(jí)中。

2.3 5-LevelEA情緒分析算法實(shí)驗(yàn)結(jié)果

通過5-LevelEA算法對(duì)5個(gè)不同的數(shù)據(jù)文本進(jìn)行分析,實(shí)驗(yàn)結(jié)果如表1。

3 社交網(wǎng)絡(luò)情緒數(shù)據(jù)可視化程序設(shè)計(jì)

數(shù)據(jù)可視化技術(shù)將數(shù)據(jù)轉(zhuǎn)換成圖形圖表,為決策提供依據(jù)[7]。數(shù)據(jù)可視化技術(shù)的研究已得到了快速發(fā)展并取得相應(yīng)的成就[8]。

3.1數(shù)據(jù)可視化程序設(shè)計(jì)要點(diǎn)

實(shí)驗(yàn)數(shù)據(jù)來自爬蟲抓取的2018屆計(jì)算機(jī)專業(yè)75人1-4月QQ空間動(dòng)態(tài)與說說,數(shù)據(jù)真實(shí),共計(jì)有效數(shù)據(jù)218條??梢暬绦虻拈_發(fā)集成環(huán)境為Python的PyCharm,文本數(shù)據(jù)存儲(chǔ)在MySQL數(shù)據(jù)庫中,通過.csv文件導(dǎo)出。程序功能框架如圖3所示。

數(shù)據(jù)可視化展示模塊調(diào)用Python中pandas庫和matplotlib庫進(jìn)行餅狀圖、柱狀以及折現(xiàn)圖的數(shù)據(jù)呈現(xiàn)。QQ文本情緒感分析可視化是通過Python中matplotlib庫進(jìn)行繪圖呈現(xiàn),設(shè)計(jì)中通過figure函數(shù)創(chuàng)建主窗口,橫坐標(biāo)表示發(fā)布日期,縱坐標(biāo)表示情緒值,分別以5類情緒圖片標(biāo)注。

3.2數(shù)據(jù)可視化程序測(cè)試

對(duì)數(shù)據(jù)的可視化測(cè)試包括兩類:一是對(duì)單一的情緒文本進(jìn)行算法參數(shù)測(cè)試,另一類是對(duì)抓取的文本數(shù)據(jù)進(jìn)行情緒算法分析后,從不同角度統(tǒng)計(jì)數(shù)據(jù)并進(jìn)行可視化測(cè)試。

3.2.1算法參數(shù)測(cè)試

在窗口中點(diǎn)擊算法測(cè)試按鈕,進(jìn)入5-LevelEA算法測(cè)試界面,本測(cè)試文本:“我的手機(jī)掉水里,現(xiàn)在它真不好用!我非常生氣,非常郁悶!”程序輸出結(jié)果如圖4,左側(cè)為各項(xiàng)參數(shù)值,右側(cè)為非常憂傷的情緒圖。

3.2.2統(tǒng)計(jì)數(shù)據(jù)可視化展示模塊測(cè)試

本測(cè)試圍繞對(duì)QQ空間數(shù)據(jù)分析的展示模塊進(jìn)行。每位同學(xué)的發(fā)布頻率比對(duì)如圖5。從圖5中可以看出,部分同學(xué)在每個(gè)月發(fā)布動(dòng)態(tài)數(shù)量持續(xù)高于其他同學(xué),這說明他們的個(gè)性特征趨于熱衷在社交網(wǎng)絡(luò)上和身邊人分享自己的生活。圖6中四個(gè)月發(fā)布數(shù)量表明:一月、三月更多,四月最少。一月時(shí)值寒假,空閑時(shí)間多直接增加發(fā)布數(shù);三月考研揭曉、春招開始情緒波動(dòng)增加發(fā)布數(shù);四月份臨近畢業(yè),工作、畢業(yè)論文等線下事情增多發(fā)布量明顯減少。通過圖7發(fā)現(xiàn),計(jì)算機(jī)系同學(xué)畢業(yè)后選擇工作的人數(shù)發(fā)布動(dòng)態(tài)相較于繼續(xù)讀研深造的同學(xué)更為積極,占百分之八十的絕對(duì)優(yōu)勢(shì),目前計(jì)算機(jī)系學(xué)生在畢業(yè)后選擇就業(yè)的人數(shù)更多。男生相比于女生發(fā)布次數(shù)更多。圖8-圖11給出每月數(shù)據(jù)發(fā)布頻率比對(duì)情況。對(duì)比近四個(gè)月數(shù)據(jù)發(fā)布頻率發(fā)現(xiàn),四月份發(fā)帖總體數(shù)量少于其他月份,發(fā)帖人數(shù)較其他月份增多,這與臨近畢業(yè)情緒波動(dòng)范圍明顯增加有關(guān)。

3.2.3個(gè)人情緒變化趨勢(shì)數(shù)據(jù)測(cè)試

列表中選擇同學(xué)姓名,彈出該同學(xué)在1-4月份個(gè)人情緒變化趨勢(shì)圖如圖12,其中橫坐標(biāo)表示發(fā)布日期,縱坐標(biāo)表示情緒值,分別以5類情緒圖片標(biāo)注。

列表中選擇日期,彈出在指定日期發(fā)布動(dòng)態(tài)的同學(xué)名字(橫坐標(biāo))及當(dāng)天情緒狀態(tài)(縱坐標(biāo))如圖13所示。

4 結(jié)語

通過5-LevelEA情緒分析算法對(duì)數(shù)據(jù)文本進(jìn)行情緒分析,計(jì)算得到情緒分值,對(duì)應(yīng)到消極——積極5類情緒等級(jí)。進(jìn)一步,調(diào)用Python中第三方庫進(jìn)行文本情緒分析和統(tǒng)計(jì)數(shù)據(jù)分析的可視化,為2018畢業(yè)季的學(xué)生心理工作室提供了一定的有效的數(shù)據(jù)參考。本文對(duì)一些網(wǎng)絡(luò)符號(hào)和其他的火星文字的情緒判斷狀況不能準(zhǔn)確的處理,在今后的研究過程中,將對(duì)算法中的情緒詞典進(jìn)行網(wǎng)絡(luò)在線擴(kuò)展,以期待達(dá)到更精準(zhǔn)匹配的效果。

參考文獻(xiàn):

[1] 吳信東,李毅,李磊.在線社交網(wǎng)絡(luò)影響力分析[J].計(jì)算機(jī)學(xué)報(bào),2014,37(4):735-752.

[2] 唐杰,陳文光.面向大社交數(shù)據(jù)的深度分析與挖掘[J].科學(xué)通報(bào),2015,60(Z1):509-519.

[3] 趙妍妍,秦兵,劉挺.文本情感分析[J].軟件學(xué)報(bào),2010,21(8):1834-1848.

[4] ]徐小龍.中文文本情感分析方法研究[J].電腦知識(shí)與技術(shù),2018,14(2):149-151.

[5] 王勇,呂學(xué)強(qiáng),姬連春,等.基于極性詞典的中文微博客情感分類[J].計(jì)算機(jī)應(yīng)用與軟件,2014,31(01):34-37+126.

[6] 羅玉萍,潘慶先,劉麗娜,等.基于情感挖掘的學(xué)生評(píng)教系統(tǒng)設(shè)計(jì)及其應(yīng)用[J].中國(guó)電化教育,2018(4):91-95.

[7] 曾悠. 大數(shù)據(jù)時(shí)代背景下的數(shù)據(jù)可視化概念研究[D].浙江大學(xué),2014.

[8] 任磊,杜一,馬帥,張小龍,等.大數(shù)據(jù)可視分析綜述[J].軟件學(xué)報(bào),2014,25(9):1909-1936.

【通聯(lián)編輯:唐一東】

猜你喜歡
數(shù)據(jù)可視化社交網(wǎng)絡(luò)
可視化:新媒體語境下的數(shù)據(jù)、敘事與設(shè)計(jì)研究
我國(guó)數(shù)據(jù)新聞的發(fā)展困境與策略研究
灵寿县| 辽阳县| 唐山市| 界首市| 三河市| 隆昌县| 南皮县| 桃江县| 都安| 海淀区| 农安县| 永定县| 镇平县| 德江县| 萨迦县| 凯里市| 延长县| 乡宁县| 前郭尔| 山丹县| 秭归县| 界首市| 和林格尔县| 衢州市| 赤城县| 衡水市| 西畴县| 于都县| 尼勒克县| 黔西县| 清流县| 留坝县| 大宁县| 龙州县| 屏边| 依安县| 上林县| 双桥区| 万盛区| 仪征市| 北安市|