国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

互聯(lián)網(wǎng)加競(jìng)賽 基于大數(shù)據(jù)的社交平臺(tái)數(shù)據(jù)爬蟲輿情分析可視化系統(tǒng)

這篇具有很好參考價(jià)值的文章主要介紹了互聯(lián)網(wǎng)加競(jìng)賽 基于大數(shù)據(jù)的社交平臺(tái)數(shù)據(jù)爬蟲輿情分析可視化系統(tǒng)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

0 前言

?? 優(yōu)質(zhì)競(jìng)賽項(xiàng)目系列,今天要分享的是

?? 基于大數(shù)據(jù)的社交平臺(tái)數(shù)據(jù)爬蟲輿情分析可視化系統(tǒng)

該項(xiàng)目較為新穎,適合作為競(jìng)賽課題方向,學(xué)長(zhǎng)非常推薦!

??學(xué)長(zhǎng)這里給一個(gè)題目綜合評(píng)分(每項(xiàng)滿分5分)

  • 難度系數(shù):3分
  • 工作量:3分
  • 創(chuàng)新點(diǎn):4分

?? 更多資料, 項(xiàng)目分享:

https://gitee.com/dancheng-senior/postgraduate文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-787574.html

1 課題背景

基于Python的社交平臺(tái)大數(shù)據(jù)挖掘及其可視化。

2 實(shí)現(xiàn)效果

實(shí)現(xiàn)功能

  • 實(shí)時(shí)熱點(diǎn)話題檢測(cè)
  • 情感分析
  • 結(jié)果可視化
  • Twitter數(shù)據(jù)挖掘平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)

可視化統(tǒng)計(jì)

Hashtag統(tǒng)計(jì)
互聯(lián)網(wǎng)加競(jìng)賽 基于大數(shù)據(jù)的社交平臺(tái)數(shù)據(jù)爬蟲輿情分析可視化系統(tǒng),python,java
地理位置信息的可視化

互聯(lián)網(wǎng)加競(jìng)賽 基于大數(shù)據(jù)的社交平臺(tái)數(shù)據(jù)爬蟲輿情分析可視化系統(tǒng),python,java

話題結(jié)果可視化

矩陣圖

互聯(lián)網(wǎng)加競(jìng)賽 基于大數(shù)據(jù)的社交平臺(tái)數(shù)據(jù)爬蟲輿情分析可視化系統(tǒng),python,java
旭日?qǐng)D

互聯(lián)網(wǎng)加競(jìng)賽 基于大數(shù)據(jù)的社交平臺(tái)數(shù)據(jù)爬蟲輿情分析可視化系統(tǒng),python,java

情感分析的可視化

互聯(lián)網(wǎng)加競(jìng)賽 基于大數(shù)據(jù)的社交平臺(tái)數(shù)據(jù)爬蟲輿情分析可視化系統(tǒng),python,java

web模塊界面展示

互聯(lián)網(wǎng)加競(jìng)賽 基于大數(shù)據(jù)的社交平臺(tái)數(shù)據(jù)爬蟲輿情分析可視化系統(tǒng),python,java

3 LDA模型

2003年,D.Blei等人提出了廣受歡迎的LDA(Latentdirichlet
allocation)主題模型[8]。LDA除了進(jìn)行主題的分析外,還可以運(yùn)用于文本分類、推薦系統(tǒng)等方面。

LDA模型可以描述為一個(gè)“上帝擲骰子”的過程,首先,從主題庫(kù)中隨機(jī)抽取一個(gè)主題,該主題編號(hào)為K,接著從骰子庫(kù)中拿出編號(hào)為K的骰子X,進(jìn)行投擲,每投擲一次,就得到了一個(gè)詞。不斷的投擲它,直到到達(dá)預(yù)計(jì)的文本長(zhǎng)
互聯(lián)網(wǎng)加競(jìng)賽 基于大數(shù)據(jù)的社交平臺(tái)數(shù)據(jù)爬蟲輿情分析可視化系統(tǒng),python,java
可以用矩陣的乘法來(lái)表示上述的過程:

回到LDA模型來(lái)說,LDA模型的輸入是一篇一篇用BOW(bag of
words)表示的文檔,即用該文檔中無(wú)序的單詞序列來(lái)表示該文檔(忽略文檔中的語(yǔ)法和詞語(yǔ)的先后關(guān)系)。LDA的輸出是每篇文檔的主題分布矩陣和每個(gè)主題下的單詞分布矩陣。簡(jiǎn)而言之,LDA主題模型的任務(wù)就是已知左邊的矩陣,通過一些方法,得到右邊兩個(gè)小矩陣。這里的“一些方法”即為L(zhǎng)DA采樣的方法,目前最主要的有兩種,一種是變分貝葉斯推斷(variationalBayes,
VB),另一種叫做吉布斯采樣(Gibbs Sampling),其中吉布斯采樣也被稱為蒙特卡洛馬爾可夫 (Markov Chain Monte
Carlo,MCMC)采樣方法。

總的來(lái)說,MCMC實(shí)現(xiàn)起來(lái)更加簡(jiǎn)單方便,而VB的速度比MCMC來(lái)得快,研究表明他們具有差不多相同的效果。所以,對(duì)于大量的數(shù)據(jù),采用VB是更為明智的選擇。

4 情感分析方法

本文采用的情感分析可以說是一個(gè)標(biāo)準(zhǔn)的機(jī)器學(xué)習(xí)的分類問題。目標(biāo)是給定一條推文,將其分為正向情感、負(fù)向情感、中性情感。

預(yù)處理

  • POS標(biāo)注:CMU ArkTweetNLP
  • 字母連續(xù)三個(gè)相同:替換 “coooooooool”=>“coool”
  • 刪除非英文單詞
  • 刪除URL
  • 刪除@:刪除用戶的提及@username
  • 刪除介詞、停止詞
  • 否定展開:將以"n’t"結(jié)尾的單詞進(jìn)行拆分,如"don’t" 拆分為"do not",這里需要注意對(duì)一些詞進(jìn)行特殊處理,如"can’t"拆分完之后的結(jié)果為"can not",而不是"ca not"。
  • 否定處理:從否定詞(如shouldn’t)開始到這個(gè)否定詞后的第一個(gè)標(biāo)點(diǎn)(.,?!)之間的單詞,均加入_NEG后綴。如perfect_NEG。 “NEG”后綴

特征提取

文本特征

  • N-grams

    • 1~3元模型
    • 使用出現(xiàn)的次數(shù)而非頻率來(lái)表示。不僅是因?yàn)槭褂檬欠癯霈F(xiàn)來(lái)表示特征有更好的效果[16],還因?yàn)門witter的文本本身較短,一個(gè)短語(yǔ)不太可能在一條推文中重復(fù)出現(xiàn)。
  • 感嘆號(hào)問號(hào)個(gè)數(shù)

    • 在句子中的感嘆號(hào)和問號(hào),往往含有一定的情感。為此,將它作為特征。
  • 字母重復(fù)的單詞個(gè)數(shù)

    • 這是在預(yù)處理中對(duì)字母重復(fù)三次以上單詞進(jìn)行的計(jì)數(shù)。字母重復(fù)往往表達(dá)了一定的情感。
  • 否定的個(gè)數(shù)

    • 否定詞出現(xiàn)后,句子的極性可能會(huì)發(fā)生翻轉(zhuǎn)。為此,把整個(gè)句子否定的個(gè)數(shù)作為一個(gè)特征
  • 縮寫詞個(gè)數(shù)等

  • POS 標(biāo)注為[‘N’, ‘V’, ‘R’, ‘O’, ‘A’] 個(gè)數(shù)(名詞、動(dòng)詞、副詞、代詞、形容詞)

  • 詞典特征(本文使用的情感詞典有:Bing Lius詞庫(kù)[39]、MPQA詞庫(kù)[40]、NRC Hashtag詞庫(kù)和Sentiment140詞庫(kù)[42]、以及相應(yīng)的經(jīng)過否定處理的詞庫(kù)[45])

    • 推文中的單詞在情感字典個(gè)數(shù) (即有極性的單詞個(gè)數(shù))
    • 推文的 總情感得分:把每個(gè)存在于當(dāng)前字典單詞數(shù)相加,到推文的 總情感得分:把每個(gè)存在于當(dāng)前 - 字典單詞數(shù)相加,到推文的 總情感得分:把每個(gè)存在于當(dāng)前字典單詞數(shù)相加,到推文總分,這個(gè)數(shù)作為一特征。
    • 推文中單詞最大的正向情感得分和負(fù)。
    • 推文中所有正向情感的單詞分?jǐn)?shù) 和以及 所有負(fù)向情感單詞的分?jǐn)?shù)和。
    • 最后一個(gè)詞的分?jǐn)?shù)
  • 表情特征

    • 推文中正向 情感 和負(fù)向的表情個(gè)數(shù)
    • 最后一個(gè)表情的極性是 否為正向

特征選擇

本文 特征選擇主要是針對(duì)于 N-grams 特征 的,采用方法如下:

?
設(shè)定min_df(min_df>=0)以及threshold(0 <= threshold <= 1)
對(duì)于每個(gè)在N-grams的詞:
統(tǒng)計(jì)其出現(xiàn)于正向、負(fù)向、中性的次數(shù),得到pos_cnt, neg_cnt, neu_cnt,以及出現(xiàn)總數(shù)N,然后分別計(jì)算
pos = pos_cnt / N
neg = neg_cnt / N
neu = neu_cnt / N
對(duì)于 pos,neg,neu中任一一個(gè)大于閾值threshold 并且N > min_df的,保留該詞,否則進(jìn)行刪除。

上述算法中濾除了低頻的詞,因?yàn)檫@可能是一些拼寫錯(cuò)誤的詞語(yǔ);并且,刪除了一些極性不那么明顯的詞,有效的降低了維度。

分類器選擇

在本文中,使用兩個(gè)分類器進(jìn)行對(duì)比,他們均使用sklearn提供的接口 。第一個(gè)分類器選用SVM線性核分類器,參數(shù)設(shè)置方面,C =
0.0021,其余均為默認(rèn)值。第二個(gè)分類器是Logistic Regression分類器,其中,設(shè)置參數(shù)C=0.01105。

在特征選擇上,min_df=5, threshold=0.6。

實(shí)驗(yàn)

  • SemEval(國(guó)際上的一個(gè)情感分析比賽)訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù)
  • 評(píng)價(jià)方法采用F-score
  • 對(duì)比SemEval2016結(jié)果如下

測(cè)試集名

互聯(lián)網(wǎng)加競(jìng)賽 基于大數(shù)據(jù)的社交平臺(tái)數(shù)據(jù)爬蟲輿情分析可視化系統(tǒng),python,java

5 部分核心代碼

?

    import json
    from django.http import HttpResponse
    from django.shortcuts import render
    from topic.models.TopicTrendsManager import TopicTrendsManager
    from topic.models.TopicParameterManager import TopicParameterManager


    def index(request):
        return render(request, 'topic/index.html')


    # TODO 檢查參數(shù)的合法性, and change to post method
    def stream_trends(request):
        param_manager = TopicParameterManager(request.GET.items())
        topic_trends = TopicTrendsManager(param_manager)
        res = topic_trends.get_result(param_manager)
        return HttpResponse(json.dumps(res), content_type="application/json")

    def stop_trends(request):
        topic_trends = TopicTrendsManager(None)
        topic_trends.stop()
        res = {"stop": "stop success"}
        return HttpResponse(json.dumps(res), content_type="application/json")


    def text(request):
        return render(request, 'topic/visualization/result_text.html')

    def bubble(request):
        return render(request, 'topic/visualization/result_bubble.html')


    def treemap(request):
        return render(request, 'topic/visualization/result_treemap.html')

    def sunburst(request):
        return render(request, 'topic/visualization/result_sunburst.html')



    def funnel(request):
        return render(request, 'topic/visualization/result_funnel.html')


    def heatmap(request):
        return render(request, 'topic/visualization/result_heatmap.html')

    def hashtags_pie(request):
        return render(request, 'topic/visualization/result_hashtags_pie.html')


    def hashtags_histogram(request):
        return render(request, 'topic/visualization/result_hashtags_histogram.html')


    def hashtags_timeline(request):
        return render(request, 'topic/visualization/result_hashtags_timeline.html')

6 最后

?? 更多資料, 項(xiàng)目分享:

https://gitee.com/dancheng-senior/postgraduate

到了這里,關(guān)于互聯(lián)網(wǎng)加競(jìng)賽 基于大數(shù)據(jù)的社交平臺(tái)數(shù)據(jù)爬蟲輿情分析可視化系統(tǒng)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包