• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于新浪微博的學(xué)校網(wǎng)絡(luò)輿情系統(tǒng)設(shè)計與實現(xiàn)

      2024-01-08 12:14:06殷美桂
      現(xiàn)代計算機(jī) 2023年20期
      關(guān)鍵詞:爬蟲分詞輿情

      殷美桂

      (河源職業(yè)技術(shù)學(xué)院電子與信息工程學(xué)院,河源 517000)

      0 引言

      大數(shù)據(jù)時代下,隨著互聯(lián)網(wǎng)應(yīng)用技術(shù)的成熟,越來越多的用戶使用社交平臺,其中微博作為一種非常流行的媒體平臺,成為人們自由表達(dá)觀點及社會交流的媒介。據(jù)2022 年9 月微博發(fā)布的三季報顯示,9 月的月活躍用戶數(shù)為5.84億,日均活躍用戶數(shù)為2.53億[1]。微博憑借龐大的用戶群體及實時的社交互動方式,成為社會熱點話題討論和輿情發(fā)酵平臺[2]。大學(xué)生群體具有思想獨立、上網(wǎng)時間長和獵奇心理強(qiáng)等特點,更愿意通過網(wǎng)絡(luò)媒體發(fā)聲;同時,大學(xué)生群體因思想不成熟,在面對真假難辨的消息時更容易受到他人蠱惑。近年來,高校頻頻成為網(wǎng)絡(luò)輿論場,根據(jù)人民網(wǎng)輿情數(shù)據(jù)中心統(tǒng)計,2020 年涉及高校全國重大輿情同比增加33%,與2018 年相比增幅達(dá)到133%[3]。高校管理者如何從互聯(lián)網(wǎng)海量的信息提取出針對本校的輿情數(shù)據(jù),以及在網(wǎng)絡(luò)輿情的發(fā)展形成之際對網(wǎng)絡(luò)輿情進(jìn)行正確的引導(dǎo),顯得尤其重要。高校網(wǎng)絡(luò)輿情系統(tǒng)可以代替人工監(jiān)測,輿情系統(tǒng)能對校園網(wǎng)絡(luò)輿情進(jìn)行自動監(jiān)控,從互聯(lián)網(wǎng)中挖掘出針對本校的輿情信息,并對輿情信息進(jìn)行主題詞的統(tǒng)計和情感分析,幫助管理者了解學(xué)生關(guān)注的主題以及敏感事件的情感傾向,從而捕捉學(xué)生的思想動態(tài)情況,能維護(hù)學(xué)校的輿論安全穩(wěn)定。

      網(wǎng)絡(luò)輿情系統(tǒng)采用B/S模式,使用Django與Vue 框架實現(xiàn)前后端分離技術(shù),數(shù)據(jù)存儲使用MySQL。系統(tǒng)后端采用Python 的Django 框架提供數(shù)據(jù)訪問的接口,前端框架通過Axios 訪問后端API 接口獲取數(shù)據(jù),從而構(gòu)建可以展示的網(wǎng)站平臺。

      1 相關(guān)理論和技術(shù)分析

      1.1 網(wǎng)絡(luò)爬蟲

      網(wǎng)絡(luò)爬蟲又名“網(wǎng)絡(luò)蜘蛛”,是建立在搜索引擎基礎(chǔ)上的信息收集技術(shù),從網(wǎng)站的某一個頁面開始,按照指定規(guī)則循環(huán)讀取網(wǎng)頁的鏈接,以獲取網(wǎng)頁內(nèi)容。網(wǎng)絡(luò)爬蟲按照實現(xiàn)技術(shù),可分為通用網(wǎng)絡(luò)爬蟲和主題網(wǎng)絡(luò)爬蟲。Scrapy 是基于Python 語言開發(fā)的Web 數(shù)據(jù)采集框架[4]。Scarpy 是最受歡迎的爬蟲框架之一,面向用戶的多種需求,可進(jìn)行定制爬蟲開發(fā)。Scrapy 爬取的網(wǎng)頁信息具體流程如下[5]:

      (1)初始化爬取鏈接。調(diào)度器(Scheduler)將需要爬取的微博網(wǎng)頁URL傳遞給Scrapy引擎。

      (2)發(fā)送請求。調(diào)度器負(fù)責(zé)接收Scrapy 引擎發(fā)送的請求(Request),并將請求加入調(diào)度隊列。調(diào)度器將處理好的Request返回給引擎。

      (3)獲取響應(yīng)。Request 由下載器(Downloader)獲取響應(yīng)(Responses)信息,交給Scrapy引擎,引擎轉(zhuǎn)交給Spider處理。

      (4)處理Responses 信息。 Spider(爬蟲)負(fù)責(zé)處理所有的Responses,使用Xpath 進(jìn)行指定數(shù)據(jù)的提取或者將需要繼續(xù)處理的URL 提交引擎。Spider 將獲取的Item 字段由引擎交給Item pipelines 模塊。Item Pipelines 模塊會根據(jù)設(shè)置將數(shù)據(jù)儲存在CSV文件中。

      1.2 Django框架

      Django 是一個開放源代碼的應(yīng)用框架,基于MVC 的DjangoMVT 框架。Model 與MVC 中的M 功能相同,負(fù)責(zé)與數(shù)據(jù)庫中的進(jìn)行交互[6]。View 與MVC 中的C 功能相同,負(fù)責(zé)進(jìn)行業(yè)務(wù)處理。Template 與MVC 中的V 功能相同,負(fù)責(zé)封裝構(gòu)造返回的html。程序員利用Django 快速、便捷地創(chuàng)建數(shù)據(jù)庫驅(qū)動的應(yīng)用程序。Django 中嵌入對象關(guān)系映射(ORM)框架,采用類定義數(shù)據(jù)模型,并將模型與關(guān)系數(shù)據(jù)庫連接,獲得一個數(shù)據(jù)庫操作的API。ORM 的優(yōu)點是以對象的方式操作數(shù)據(jù)庫,即使不懂SQL 語句的開發(fā)者也可以通過ORM輕松操作數(shù)據(jù)。

      1.3 Vue框架

      Vue.js用于構(gòu)建用戶界面的漸進(jìn)式框架,是目前應(yīng)用較為廣泛的JavaScript框架之一[7]。Vue開發(fā)優(yōu)勢主要表現(xiàn)在組件化開發(fā),大大減少代碼編寫量;另外其最突出的優(yōu)勢是可以對數(shù)據(jù)進(jìn)行雙向綁定,采用v-model 指令對View 和Model層進(jìn)行數(shù)據(jù)綁定,當(dāng)視圖中的數(shù)據(jù)發(fā)生變化,同步更新后臺數(shù)據(jù),后臺數(shù)據(jù)的變化也會反映在視圖中。

      2 系統(tǒng)功能設(shè)計

      網(wǎng)絡(luò)輿情系統(tǒng)涉及的技術(shù)領(lǐng)域包括網(wǎng)絡(luò)輿情信息的采集技術(shù)、話題檢測與跟蹤技術(shù)、文本情感分析技術(shù)[8]。根據(jù)網(wǎng)絡(luò)輿情涉及的技術(shù),系統(tǒng)分為后端功能模塊和前端結(jié)果展示模塊。系統(tǒng)功能結(jié)構(gòu)圖如圖1所示。

      圖1 系統(tǒng)功能結(jié)構(gòu)圖

      2.1 數(shù)據(jù)采集模塊

      高校一般在新浪微博都有官方賬號用于發(fā)布學(xué)校資訊,而大學(xué)生喜歡在微博平臺發(fā)布個人看法及熱點事件的評論,系統(tǒng)主要采集新浪微博數(shù)據(jù)作為數(shù)據(jù)源。數(shù)據(jù)獲取主要分為三個步驟:向URL發(fā)送請求、數(shù)據(jù)爬取、數(shù)據(jù)存儲。本系統(tǒng)采用Python 語言中的Scrapy 爬蟲框架,調(diào)用新浪微博公開的應(yīng)用程序接口(API)實現(xiàn)對特定網(wǎng)頁信息的爬取,其檢索策略是基于設(shè)定好的學(xué)校名稱關(guān)鍵詞。在采集工作開始之前,先在URL 隊列中初始化一個或幾個URL,爬蟲程序可根據(jù)設(shè)定的URL 依次去請求訪問對應(yīng)網(wǎng)頁,因微博需登錄驗證后才可以訪問網(wǎng)頁,Request 中必須包含登錄驗證的Cookie 信息。爬蟲接收網(wǎng)頁端的Responses,使用Xpath 來定位爬取指定內(nèi)容,儲存在CSV文件。

      在進(jìn)行輿情分析、熱詞發(fā)現(xiàn)和情感分析之前,要對數(shù)據(jù)進(jìn)行預(yù)處理。數(shù)據(jù)預(yù)處理分為數(shù)據(jù)清洗、數(shù)據(jù)轉(zhuǎn)換和文本分詞。

      (1)數(shù)據(jù)清洗。由于未經(jīng)處理的數(shù)據(jù)含有噪聲,如數(shù)據(jù)中存在很多無意義的符號、連接、數(shù)字、圖片等噪音,并且還會有大量的缺失值,這對文本的數(shù)據(jù)分析沒有太大意義。去除“臟數(shù)據(jù)”的方法有很多,一般采用正則表達(dá)式進(jìn)行規(guī)則匹配,利用正則表達(dá)式過濾掉無意義的詞語。系統(tǒng)對臟數(shù)據(jù)進(jìn)行清洗主要包括:去除亂碼和填充空字段等。采集到的網(wǎng)頁源碼往往存在一定程度的亂碼和一些對文本分析無意義的信息,如廣告和注釋等,因此需要對其進(jìn)行過濾操作去除亂碼,通過過濾對數(shù)據(jù)進(jìn)行標(biāo)準(zhǔn)化處理。另外,由于采集到的微博字段有些為空,因此需要將空值進(jìn)行填充。

      (2)數(shù)據(jù)轉(zhuǎn)換。數(shù)據(jù)轉(zhuǎn)換就是將數(shù)據(jù)進(jìn)行轉(zhuǎn)換或歸并,從而構(gòu)成一個適合數(shù)據(jù)處理的描述形式。系統(tǒng)主要對一些屬性,如日期、評論、點贊等數(shù)據(jù)進(jìn)行轉(zhuǎn)換,將其轉(zhuǎn)換為規(guī)格化的數(shù)據(jù)。如在抓取微博發(fā)布時間時會出現(xiàn)“2 小時前”“昨天”“剛剛”等字眼,這會導(dǎo)致數(shù)據(jù)庫中發(fā)布時間字段格式不統(tǒng)一,因此需要將時間格式統(tǒng)一為“年-月-日”。

      (3)中文分詞。中文不同于英文,英文單詞之間使用空格連接,中文文本都是句子,需要將處理后的數(shù)據(jù)分割為詞語。中文文本的分詞軟件主要有中國科學(xué)院的ICTCLAS、jieba 分詞和北京大學(xué)語言計算與機(jī)器學(xué)習(xí)研究組研制推出的一套全新的中文分詞工具包pkuseg。用戶可以根據(jù)pkuseg待分詞文本的領(lǐng)域特點,自由地選擇不同的模型。系統(tǒng)采用網(wǎng)絡(luò)領(lǐng)域的分詞模型,更精確地對微博文本進(jìn)行分詞,分詞后對數(shù)據(jù)去重、去停用詞、去無關(guān)詞、去除開頭末尾為數(shù)字或符號的分詞,如日期、錯誤分詞等。

      2.2 輿情的情感分析

      微博文本的情感分析基于百度PaddleHub預(yù)訓(xùn)練情感傾向分析模型(Senta)[9],針對中文文本,模型可自動判斷文本情感極性類別和置信度。Senta 開源一系列模型,如BOW、CNN、Bi-LSTM 等。PaddleHub 可以支持文本、圖像、視頻、語音、工業(yè)應(yīng)用五大方向,提供高質(zhì)量的預(yù)訓(xùn)練模型,減少用戶訓(xùn)練模型的工作量。本文采用Paddle_Senta 的BiLSTM 進(jìn)行情感的二分類(積極、消極)任務(wù)。BiLSTM 模型是長短期記憶神經(jīng)網(wǎng)絡(luò)模型(LSTM)的一種變體[10]。情感分析實質(zhì)上是一個分類任務(wù),系統(tǒng)對微博正文進(jìn)行情感的分類,對數(shù)據(jù)進(jìn)行標(biāo)注,并將結(jié)果寫入數(shù)據(jù)庫中,為系統(tǒng)實現(xiàn)微博文章的輿論分析、輿情發(fā)展趨勢,以及正負(fù)面輿論占比等奠定數(shù)據(jù)基礎(chǔ)。

      3 網(wǎng)絡(luò)輿情系統(tǒng)的實現(xiàn)

      系統(tǒng)基于B/S采用前后端分離的技術(shù),首先采用Scrapy 采集數(shù)據(jù),使用Django+MySQL 搭建系統(tǒng)后端平臺,前端采用Vue+Element Plus+Echarts構(gòu)建前端應(yīng)用UI界面和圖表。

      3.1 系統(tǒng)后端模塊實現(xiàn)

      系統(tǒng)后端采用PyCharm 集成開發(fā)環(huán)境、程序開發(fā)語言Python,搭配Django 框架。使用Django 框架開發(fā)程序的流程包括:①首先創(chuàng)建Django 項目。②創(chuàng)建APP 子應(yīng)用,為了提高代碼的利用率,將相同功能模塊的代碼放在同一個子應(yīng)用,可實現(xiàn)代碼復(fù)用。③設(shè)計模型類并進(jìn)行數(shù)據(jù)庫的遷移。系統(tǒng)定義數(shù)據(jù)微博文章類和微博文章情感類,模型的數(shù)據(jù)來源為爬蟲爬取的數(shù)據(jù)以及情感分析處理后的數(shù)據(jù)。④定義視圖view.py,在子應(yīng)用的view.py 定義視圖函數(shù),函數(shù)會返回包含被請求頁面內(nèi)容的HttpResponse對象,該對象用于向客戶端Vue 返回json 數(shù)據(jù),通過在Models 中定義類,采用objects.filter()函數(shù)過濾數(shù)據(jù)庫中數(shù)據(jù)。⑤創(chuàng)建模板,使用模板方法可以動態(tài)生成HTML。由于項目使用Django+Vue 前后端分離的技術(shù),模板主要通過Vue 打包生成項目,打包完成后,生成dist 目錄,該目錄下包含index.htm。

      3.2 系統(tǒng)前端模塊的實現(xiàn)

      系統(tǒng)前端采用Vue 3.0+Element Plus+Echarts開發(fā)框架。Element Plus 是一款基于Vue3.X的頁面結(jié)構(gòu)框架,此框架提供一套完整的組件,包含導(dǎo)航、布局、表單、按鈕等功能豐富的組件。Vue 項目使用腳手架直接搭建,用Vue-router 實現(xiàn)前端路由的跳轉(zhuǎn),用Axios 向后端服務(wù)器發(fā)起get 或post 請求。前端頁面主要包括以下幾個模塊:①用戶注冊和登錄模塊。②微博最新文章一覽表。該模塊的來源為經(jīng)預(yù)處理后爬取的數(shù)據(jù)。③微博文章的情感分析表。該模塊能顯示文章的情感分類情況,負(fù)面情感的文章在最前面展示,以便第一時間發(fā)現(xiàn)敏感輿論信息,如圖2所示。④微博文章的情感趨向圖。系統(tǒng)采用柱狀圖、餅圖對微博文章情感趨向進(jìn)行統(tǒng)計,如圖3所示。

      圖2 微博文章情感分類表

      圖3 文章情感趨向圖

      4 結(jié)語

      本文采用Django+Vue 框架,快速搭建基于新浪微博的學(xué)校網(wǎng)絡(luò)輿情系統(tǒng),采用Scrapy 框架爬取學(xué)校的新浪微博文章,微博文章經(jīng)過預(yù)處理后采用BiLSTM 進(jìn)行情感分類,情感分類的結(jié)果準(zhǔn)確率較高。學(xué)校網(wǎng)絡(luò)輿情系統(tǒng)能對學(xué)校輿情進(jìn)行監(jiān)測,及時發(fā)現(xiàn)負(fù)面輿情,方便監(jiān)管部門進(jìn)行輿情的監(jiān)管。系統(tǒng)設(shè)計達(dá)到預(yù)期目標(biāo),但是系統(tǒng)功能還需要完善,主要包括:一方面,系統(tǒng)爬取的輿情信息不夠全面,只針對指定的URL 進(jìn)行搜索,尚未對信息進(jìn)行全面采集;另一方面,目前只根據(jù)情感的正負(fù)方向進(jìn)行分類,對情感強(qiáng)烈程度尚未區(qū)分。未來計劃擴(kuò)大輿情信息的采集范圍,充分挖掘數(shù)據(jù)價值。

      猜你喜歡
      爬蟲分詞輿情
      利用網(wǎng)絡(luò)爬蟲技術(shù)驗證房地產(chǎn)灰犀牛之說
      基于Python的網(wǎng)絡(luò)爬蟲和反爬蟲技術(shù)研究
      結(jié)巴分詞在詞云中的應(yīng)用
      智富時代(2019年6期)2019-07-24 10:33:16
      利用爬蟲技術(shù)的Geo-Gnutel la VANET流量采集
      電子測試(2018年1期)2018-04-18 11:53:04
      大數(shù)據(jù)環(huán)境下基于python的網(wǎng)絡(luò)爬蟲技術(shù)
      電子制作(2017年9期)2017-04-17 03:00:46
      值得重視的分詞的特殊用法
      輿情
      中國民政(2016年16期)2016-09-19 02:16:48
      輿情
      中國民政(2016年10期)2016-06-05 09:04:16
      輿情
      中國民政(2016年24期)2016-02-11 03:34:38
      微博的輿情控制與言論自由
      乡宁县| 清水县| 获嘉县| 井研县| 同仁县| 齐齐哈尔市| 黑河市| 托里县| 莱阳市| 尤溪县| 大竹县| 霍邱县| 泰顺县| 耒阳市| 大城县| 中牟县| 宜都市| 通河县| 馆陶县| 营山县| 灵川县| 洞头县| 平原县| 黄浦区| 内丘县| 临夏县| 邮箱| 景洪市| 石屏县| 宜川县| 大田县| 长宁区| 张家川| 开阳县| 广丰县| 石泉县| 连云港市| 开原市| 牡丹江市| 六安市| 县级市|