999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于大數據的微博輿情分析系統的設計與實現

2023-06-10 06:42:26丘志敏李小帆李彥廷
軟件工程 2023年6期
關鍵詞:文本情感分析

霍 英, 丘志敏, 李小帆, 李彥廷

(1.韶關學院信息工程學院, 廣東 韶關 512005;2.韶關學院智能工程學院, 廣東 韶關 512005)

1 引言(Introduction)

網絡輿情分析包括對網絡信息進行采集、去重、抽取、分詞、索引、存儲和分析等一系列過程,是進行網絡輿論感知、監控與引導的重要依據。如何規范大數據環境下網絡輿情信息的及時感知、收集、分析與監管,并及時有效地引導輿情向良好的方向發展,如何實現“傳播力決定影響力,話語權決定主導權,時效性決定有效性,透明度決定公信度”的使命,是我國各級政府相關部門面臨的現實問題,也是亟待解決的重要課題[1-2]。基于此,在大數據環境下,本文給出了一種微博輿情分析系統的設計與實現方案,并對文本情感分析、計算文本相似度給出了具體實現算法,以實現對輿情信息的趨勢性預警及有效監管。

2 系統功能及流程(System functions and processes)

2.1 系統功能

本系統主要是通過采集微博用戶指定話題的相關數據,并對數據進行初步加工后,通過業務系統展示出來,能清晰直觀地體現某熱點話題的傳播速度,以及公眾對該輿情事件的態度。

本系統主要分成三個子層:數據采集層、數據處理層及數據展示層(業務子系統展示層)。其中,數據采集層主要通過官方提供的數據應用獲取接口(API)及使用自定義的網絡爬蟲[3-5]獲取網絡數據;數據處理層主要完成中文的分詞、文本的清洗、標準化、特征提取、情感分析等工作;業務子系統展示層主要是面向平臺用戶,將數據處理層處理后的數據以圖表、文字的形式呈現給用戶,并完成與用戶的交互等功能。三個子層都可以當成一個獨立的系統使用,擁有良好的擴展性。系統整體運行流程如圖1所示,系統主要功能如圖2所示。

圖1 系統運行圖Fig.1 System run diagram

圖2 微博輿情分析平臺功能圖Fig.2 Functional map of microblog public opinion analysis platform

2.2 系統流程

系統采用SSM(Spring+SpringMVC+MyBatis)架構,共劃分為四個層次:View(表現)層、Controller(控制)層、Service(業務邏輯)層、DAO(數據持久)層,如圖3所示,其流程主要分為以下幾個步驟。

圖3 系統處理流程Fig.3 System processing flow

(1)客戶端(用戶)發送請求到分發器。

(2)分發器查詢Hander Mapping(處理器映射),并找到處理請求的控制器。

(3)控制器調用業務邏輯層后,處理返回Model and View(模型和視圖對象)。

(4)分發器負責查詢視圖解析器,并找到Model and View指定的視圖。

(5)視圖把結果展示到客戶端。

3 數據處理技術(Data processing technology)

微博輿情分析中的數據處理主要采用以下技術:對獲取的原始文本進行中文分詞、文本清洗、情感分析等。

3.1 中文分詞

由于語言的差異,因此中英文在分詞的思路上有較大區別。多數情況下,英文通常使用空格就可以自動完成分詞任務,但中文的語法復雜,通常會通過第三方庫進行分詞操作。本系統采用第三方庫Jieba分詞器進行中文分詞工作[6]。Jieba分詞器工作的主要原理是基于統計詞典,首先建立一個前綴詞典,然后利用前綴詞典對句子展開切分,并根據所有切分的可能及切分位置構造一個有向無環圖,通過相關動態規劃算法計算出最大概率路徑,從而獲得最終切分形式。

3.2 文本清洗

經過分詞之后獲取的文本中通常含有類似標點符號、停用詞等無用信息,因此需要對文本開展分步清洗工作。本系統使用正則表達式結合百度的停用詞庫進行文本清洗。

正則表達式的基本原理如下[7]:定義文法G={Vn,Vt,S,P},其中Vn是一個非空有限的符號集合,它的元素稱為非終結符號;Vt也是一個非空有限符號集合,它的元素稱為終結符號,并且Vt∩Vn=?;S是文法G的起始符號,并且S∈Vn;P是一個非空有限集合,它的元素稱為產生式。所謂產生式,其形式為α→β,它的元素為形如α→β的產生式,其中α、β是由終結符和非終結符組成的符號串,并且α、β∈(Vt∪Vn)*,α≠ε。開始符S必須至少在某一產生式的α中出現一次。正則表達式是一種3型文法,它以整個字母表作為Vt集合。假設一個文法的產生式為{S→Sa;S→b;},那么對應的正則表達式為ba*。例如,等包含html標簽的文本,可使用“”表達式去除html標簽。

去除停用詞的原理如下:對文本進行中文分詞操作后,將產生一個包含所有詞語的列表,通過逐個取出列表中詞語與停用詞庫里的詞語進行匹配,若相同則在列表中刪除該詞,從而實現去除停用詞。

3.3 文本情感分析及評分生成規則

文本情感分析主要是指對文本開展檢測、分析以及挖掘的過程,文本中可能包含有用戶的觀點、喜好、情感等主觀因素,通過情感分析可以歸納、推理文本和文本中各個人物所要表達的情感色彩。SnowNLP[8]是python編寫的一個類庫,它提供了情感傾向分析等功能,可以方便地處理中文文本內容,本系統主要借助它實現文本情感分析和文本評分功能。通過人工預先把部份微博數據分為消極的和積極的兩種類別,以此為基礎,通過貝葉斯公式推斷接下來提取的微博數據屬于積極類別的概率。當某條微博數據有60%以上的概率屬于積極類,則認為該條微博屬于正面微博,并將該微博屬于積極類別的概率值減去0.6后的取值,作為其文本評分。

3.4 敏感詞及敏感分數生成規則

通過用戶提供的敏感詞典(*.txt文件),從每條微博中提取出敏感詞匯,存儲在業務數據庫中。通過自定義的詞庫種類,還可以提取出正負詞匯和關鍵詞等。敏感分數則由該微博中出現敏感詞的個數決定,出現一個敏感詞加一分,并存儲到業務數據庫中。

4 核心算法(Core algorithm)

4.1 SnowNLP文本情感分析

SnowNLP是python編寫的一個類庫,它提供了情感傾向分析等功能,但因其使用的模型是通過影評訓練生成的,并不完全契合本系統的需求,因此需要重新訓練生成新的模型,并替換SnowNLP中原有模型。

貝葉斯模型[9]是用于情感分類的基本模型。對于兩個類別的分類問題,其特征表示為w1,w2,…,wn,并且各個特征之間相互獨立,對于其中一個類別的貝葉斯模型可以表示如下:

例如,有一句話text1:“我想出去玩。”

text1的分詞結果為[″我″,″想″,″出去″,″玩″],A1,A2,A3,A4分別表示4個詞,C1表示積極類,C2表示消極類。

計算每個單詞出現的頻率:則P(A1)=A1的詞頻/訓練集的單詞總數,同理P(A2)=A2的詞頻/訓練集的單詞總數。

計算C1情緒中單詞出現的概率:P(A1|C1)=C1中A1的詞頻/訓練集中屬于C1的單詞總數。P(A2|C1)=C1中A2的詞頻/訓練集中屬于C1的單詞總數。

計算訓練集中C1類別出現的概率:P(C1)=C1的句子總數/訓練集的句子總數。

則text1屬于C1類的概率:

為了得到新的模型,需要重新對貝葉斯模型進行訓練,生成新的模型并替換原有模型,而訓練的實質就是計算每個特征出現的頻次,當統計好訓練樣本中的total和每一個特征key的d[key]后,訓練過程就構建完成。這個過程的核心代碼如下:

def train(self, data):

# data 中既包含正樣本,也包含負樣本

For d in data: # data中是list

# d[1]:正/負樣本的標記

C=d[1]

If c not in self.d:

self.d[c]=AddOneProb() # 類的初始化

For word in d[0]: # 分詞結果中的每一個詞

self.d[c].add(word, 1)

self.total=sum(map(lambda x: self.d[x].getsum(), self.d.keys())) # 取得所有d中的和sum

Class AddOneProb(BaseProb):

Def __init__(self):

self.d={}

self.total=0.0

self.none=1 # 默認所有的none為1

# 這里如果value也等于1,則當key不存在時,累加的是2

Def add(self, key, value):

self.total +=value

# 不存在該key時,需新建key

If not self.exists(key):

self.d[key]=1

self.total +=1

self.d[key] +=value

Def classify(self, x):

tmp={}

For k in self.d:#正類和負類

tmp[k]=log(self.d[k].getsum())-log(self.total)#正/負類的所有之和的log函數

For word in x:

tmp[k] +=log(self.d[k].freq(word)) #詞頻,不存在就為0

ret, prob=0, 0

For k in self.d:

Now=0

try:

For otherk in self.d:

Now +=exp(tmp[otherk]-tmp[k])

Now=1/now

Except OverflowError:

Now 0

If now >prob:

ret, prob=k, now

Return (ret, prob)

4.2 計算文本相似度算法

該算法主要集成在系統的推薦功能上,以初始文本作為質心,計算與其距離最近的微博,即文本相似度最高的微博推送即可。由于計算機不能直接識別中文,因此需要先把文本轉化為向量的形式,其主要步驟可分為去除停用詞、計算TF-IDF(TF和IDF的乘積)的值,以此作為該文本向量的表現形式。其中,TF定義為某個詞或短語在一個文本中出現的頻率,當該詞頻率很高時,可認為其是該文本較為明顯的特征,有較好的區分效果;其計算公式可表示為TF=某詞出現的次數/該文檔中所有的詞的總數。

IDF主要用于評價一個詞語的普遍性和重要性,它是以某文件數目除以包含該詞語的文件的數目,再以10為底,取對數計算得到。當包含該詞的文件數越少,便可認為該詞在文檔中的重要性越高,即IDF的值越大[10];其計算公式可表示如下:

其中,D為總文檔數,分母包含該詞語的文檔總數。

本文所提算法的具體實現方案如下。

(1)對每個文檔進行分詞,并去除停用詞。詳細流程如圖4所示:

圖4 去除停用詞流程Fig.4 Process of removing stop words

(2)計算每個文檔的TF即詞頻,假設IDF值均為2。通過圖4可得出文檔的詞頻為{“天氣”=0.2,“錯”=0.2,“想”=0.2,“出去”=0.2,“玩”=0.2}。因此,TF-IDF的可表示為{“天氣”=0.4,“錯”=0.4,“想”=0.4,“出去”=0.4,“玩”=0.4}。

(3)以TF-IDF作為該文本向量的表現形式,即[0.4,0.4,0.4,0.4,0.4]為該文本向量化后的結果。

(4)重復上述步驟,計算從數據庫中隨機查找出來的微博內容的向量值,并以字典的形式保存,如{微博ID=[0.4,0.4,0.4,0.4,0.4]}。最終將形成一個i行j列的矩陣:

(5)通過歐式距離計算每條微博到用戶當前查看的微博的距離,選取距離最近的前N條展示出來。歐式距離計算公式如下:

其中,n為向量維數,i和k為行號。

5 系統實現效果(System implementation effect)

目前,已利用該平臺對“西安奔馳女車主維權事件”的整個微博輿情事件發展全過程進行了追蹤與分析,對2020年3月至2020年6月新冠疫情發生期間的微博輿情熱點話題進行了趨勢預警,對2020年12月至2021年5月韶關地區各旅游景點的微博輿情進行了采集及預警處理。系統部分運行效果如圖5至圖7所示。圖5為輿情基本信息總覽,圖6為輿情數據采集來源及占比分析,圖7為各類事件隨時間發展的趨勢變化展示。在實際應用中,系統整體運行穩定性較高,在單機日采集量約100萬條時,對數據分析的有效率可以達到90%以上,當并發采集的數據量過大時,數據分析的效率有所下降,研究人員后期將在降數據規模算法方面進行進一步的優化。

圖5 輿情基本信息Fig.5 Basic public opinion information

圖6 輿情數據來源展示Fig.6 Display of public opinion data sources

圖7 輿情趨勢變化展示Fig.7 Display of public opinion trend change

6 結論(Conclusion)

設計并實現了一個基于大數據的集輿情信息采集、去重、分析、處理及可視化的綜合平臺。該平臺主要對采集到的用戶指定話題的微博數據進行加工處理后,通過業務子系統展示出來,清晰直觀地體現微博某熱點話題的傳播速度,以及公眾對該輿情事件的態度。通過在相關輿情事件開展追蹤、分析、預警及處理的實際應用過程中,系統穩定性較高,整體表現良好。

猜你喜歡
文本情感分析
隱蔽失效適航要求符合性驗證分析
如何在情感中自我成長,保持獨立
失落的情感
北極光(2019年12期)2020-01-18 06:22:10
情感
在808DA上文本顯示的改善
電力系統不平衡分析
電子制作(2018年18期)2018-11-14 01:48:24
基于doc2vec和TF-IDF的相似文本識別
電子制作(2018年18期)2018-11-14 01:48:06
如何在情感中自我成長,保持獨立
電力系統及其自動化發展趨勢分析
文本之中·文本之外·文本之上——童話故事《坐井觀天》的教學隱喻
主站蜘蛛池模板: 九九免费观看全部免费视频| 自拍偷拍欧美| 久青草免费视频| 国产高清在线观看91精品| 毛片大全免费观看| 久久国产成人精品国产成人亚洲 | 9cao视频精品| 国产呦视频免费视频在线观看 | 欧美激情伊人| 黄色一级视频欧美| 亚洲欧美成人网| 亚洲日韩久久综合中文字幕| 一区二区三区成人| 一区二区无码在线视频| 青青草国产一区二区三区| 免费国产无遮挡又黄又爽| 91精品网站| 国产一区二区三区精品久久呦| 国产亚洲精品91| 呦女亚洲一区精品| 亚洲欧美日本国产专区一区| yjizz视频最新网站在线| 中文纯内无码H| 亚洲第一在线播放| 999国产精品| 在线国产91| 免费国产福利| 午夜国产精品视频黄| 一级毛片在线播放| 免费欧美一级| 国产精女同一区二区三区久| 国产亚洲现在一区二区中文| 中文字幕免费在线视频| 精品国产欧美精品v| 国产在线视频欧美亚综合| 国产精品专区第1页| 不卡色老大久久综合网| 9999在线视频| 在线播放国产99re| 午夜无码一区二区三区| 99热免费在线| 免费国产高清视频| 亚洲无码精彩视频在线观看| 日本高清在线看免费观看| 亚洲国产成人综合精品2020| 国产精品天干天干在线观看| 欧美天天干| 久久频这里精品99香蕉久网址| 亚洲三级色| 色老二精品视频在线观看| 国产91透明丝袜美腿在线| 69av免费视频| 久久男人资源站| 国产无遮挡裸体免费视频| 亚洲综合18p| 国产91av在线| 夜精品a一区二区三区| 国产XXXX做受性欧美88| 一区二区三区国产| 国产成人你懂的在线观看| 亚洲色大成网站www国产| 日韩福利在线观看| 喷潮白浆直流在线播放| 九九九精品成人免费视频7| www.狠狠| 国产亚洲欧美日本一二三本道| 亚洲国产高清精品线久久| 亚亚洲乱码一二三四区| 婷婷亚洲天堂| 欧美黄网在线| 国产天天色| 青青草a国产免费观看| 国产欧美日韩18| 亚洲色图欧美视频| 99re热精品视频国产免费| 久久国产乱子伦视频无卡顿| 亚洲精品福利视频| a在线观看免费| 亚洲a级毛片| 成人福利在线观看| 成人午夜亚洲影视在线观看| 四虎免费视频网站|