亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于大數(shù)據(jù)的微博輿情分析系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)

        2023-06-10 06:42:26丘志敏李小帆李彥廷
        軟件工程 2023年6期
        關(guān)鍵詞:詞頻分詞輿情

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

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

        1 引言(Introduction)

        網(wǎng)絡(luò)輿情分析包括對網(wǎng)絡(luò)信息進(jìn)行采集、去重、抽取、分詞、索引、存儲和分析等一系列過程,是進(jìn)行網(wǎng)絡(luò)輿論感知、監(jiān)控與引導(dǎo)的重要依據(jù)。如何規(guī)范大數(shù)據(jù)環(huán)境下網(wǎng)絡(luò)輿情信息的及時感知、收集、分析與監(jiān)管,并及時有效地引導(dǎo)輿情向良好的方向發(fā)展,如何實(shí)現(xiàn)“傳播力決定影響力,話語權(quán)決定主導(dǎo)權(quán),時效性決定有效性,透明度決定公信度”的使命,是我國各級政府相關(guān)部門面臨的現(xiàn)實(shí)問題,也是亟待解決的重要課題[1-2]?;诖?在大數(shù)據(jù)環(huán)境下,本文給出了一種微博輿情分析系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)方案,并對文本情感分析、計(jì)算文本相似度給出了具體實(shí)現(xiàn)算法,以實(shí)現(xiàn)對輿情信息的趨勢性預(yù)警及有效監(jiān)管。

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

        2.1 系統(tǒng)功能

        本系統(tǒng)主要是通過采集微博用戶指定話題的相關(guān)數(shù)據(jù),并對數(shù)據(jù)進(jìn)行初步加工后,通過業(yè)務(wù)系統(tǒng)展示出來,能清晰直觀地體現(xiàn)某熱點(diǎn)話題的傳播速度,以及公眾對該輿情事件的態(tài)度。

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

        圖1 系統(tǒng)運(yùn)行圖Fig.1 System run diagram

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

        2.2 系統(tǒng)流程

        系統(tǒng)采用SSM(Spring+SpringMVC+MyBatis)架構(gòu),共劃分為四個層次:View(表現(xiàn))層、Controller(控制)層、Service(業(yè)務(wù)邏輯)層、DAO(數(shù)據(jù)持久)層,如圖3所示,其流程主要分為以下幾個步驟。

        圖3 系統(tǒng)處理流程Fig.3 System processing flow

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

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

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

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

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

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

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

        3.1 中文分詞

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

        3.2 文本清洗

        經(jīng)過分詞之后獲取的文本中通常含有類似標(biāo)點(diǎn)符號、停用詞等無用信息,因此需要對文本開展分步清洗工作。本系統(tǒng)使用正則表達(dá)式結(jié)合百度的停用詞庫進(jìn)行文本清洗。

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

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

        3.3 文本情感分析及評分生成規(guī)則

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

        3.4 敏感詞及敏感分?jǐn)?shù)生成規(guī)則

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

        4 核心算法(Core algorithm)

        4.1 SnowNLP文本情感分析

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

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

        例如,有一句話text1:“我想出去玩?!?/p>

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

        計(jì)算每個單詞出現(xiàn)的頻率:則P(A1)=A1的詞頻/訓(xùn)練集的單詞總數(shù),同理P(A2)=A2的詞頻/訓(xùn)練集的單詞總數(shù)。

        計(jì)算C1情緒中單詞出現(xiàn)的概率:P(A1|C1)=C1中A1的詞頻/訓(xùn)練集中屬于C1的單詞總數(shù)。P(A2|C1)=C1中A2的詞頻/訓(xùn)練集中屬于C1的單詞總數(shù)。

        計(jì)算訓(xùn)練集中C1類別出現(xiàn)的概率:P(C1)=C1的句子總數(shù)/訓(xùn)練集的句子總數(shù)。

        則text1屬于C1類的概率:

        為了得到新的模型,需要重新對貝葉斯模型進(jìn)行訓(xùn)練,生成新的模型并替換原有模型,而訓(xùn)練的實(shí)質(zhì)就是計(jì)算每個特征出現(xiàn)的頻次,當(dāng)統(tǒng)計(jì)好訓(xùn)練樣本中的total和每一個特征key的d[key]后,訓(xùn)練過程就構(gòu)建完成。這個過程的核心代碼如下:

        def train(self, data):

        # data 中既包含正樣本,也包含負(fù)樣本

        For d in data: # data中是list

        # d[1]:正/負(fù)樣本的標(biāo)記

        C=d[1]

        If c not in self.d:

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

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

        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 # 默認(rèn)所有的none為1

        # 這里如果value也等于1,則當(dāng)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:#正類和負(fù)類

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

        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 計(jì)算文本相似度算法

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

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

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

        本文所提算法的具體實(shí)現(xiàn)方案如下。

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

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

        (2)計(jì)算每個文檔的TF即詞頻,假設(shè)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作為該文本向量的表現(xiàn)形式,即[0.4,0.4,0.4,0.4,0.4]為該文本向量化后的結(jié)果。

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

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

        其中,n為向量維數(shù),i和k為行號。

        5 系統(tǒng)實(shí)現(xiàn)效果(System implementation effect)

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

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

        圖6 輿情數(shù)據(jù)來源展示Fig.6 Display of public opinion data sources

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

        6 結(jié)論(Conclusion)

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

        猜你喜歡
        詞頻分詞輿情
        基于詞頻分析法的社區(qū)公園歸屬感營建要素研究
        園林科技(2021年3期)2022-01-19 03:17:48
        結(jié)巴分詞在詞云中的應(yīng)用
        智富時代(2019年6期)2019-07-24 10:33:16
        值得重視的分詞的特殊用法
        輿情
        中國民政(2016年16期)2016-09-19 02:16:48
        輿情
        中國民政(2016年10期)2016-06-05 09:04:16
        輿情
        中國民政(2016年24期)2016-02-11 03:34:38
        詞頻,一部隱秘的歷史
        云存儲中支持詞頻和用戶喜好的密文模糊檢索
        以關(guān)鍵詞詞頻法透視《大學(xué)圖書館學(xué)報(bào)》學(xué)術(shù)研究特色
        圖書館論壇(2014年8期)2014-03-11 18:47:59
        微博的輿情控制與言論自由
        亚洲捆绑女优一区二区三区| av中文字幕综合在线| 国产69精品一区二区三区| 亚洲一区视频中文字幕| 色偷偷激情日本亚洲一区二区| 老色鬼在线精品视频| 亚洲美免无码中文字幕在线| 国产高清国内精品福利99久久| 国产精品一区二区三区成人| 插上翅膀插上科学的翅膀飞| 99久久久无码国产精品6| 欧美a视频在线观看| 久久国产劲爆内射日本| 免费人成视频网站在在线| 九九热线有精品视频86| 国产成人久久精品区一区二区 | 亚洲中文字幕熟女五十| 少妇免费av一区二区三区久久| 最近2019年好看中文字幕视频| 久久99国产亚洲高清观看韩国| 国产亚洲av手机在线观看| 日本高清一区二区三区在线观看| 国产日产综合| 国产亚洲欧美日韩综合一区在线观看| 日本无吗一区二区视频| 美腿丝袜诱惑一区二区| 最近日本免费观看高清视频| 免费看欧美日韩一区二区三区| 国产av麻豆精品第一页| 久久精品亚洲精品国产色婷| 成年女人毛片免费观看97| 精品系列无码一区二区三区| 亚洲色图专区在线观看| 国产女人的高潮国语对白| 欧洲中文字幕| 人妖与人妖免费黄色片| 国产a∨天天免费观看美女| 国模少妇一区二区三区| 精品系列无码一区二区三区| 91日韩东京热中文字幕| 亚洲av无码xxx麻豆艾秋|