网络舆情LDA主题模型

编程入门 行业动态 更新时间:2024-10-26 06:36:27

网络<a href=https://www.elefans.com/category/jswz/34/1769058.html style=舆情LDA主题模型"/>

网络舆情LDA主题模型

网络舆情

  • [TOC]
  • 检索式
    • SU %= '网络舆情' OR SU %= '网络舆论' OR SU %= '公共观点' OR SU %= '网络民意' OR SU %= '网络公共舆论' OR SU %= '舆论' OR SU %= '公共舆论'
  • 检索时间范围
    • 2020-2023年
  • 检索时间以及数据来源
    • 2023.03.14
    • CSSCI
  • 数据处理及结果
    • Python完整代码
    • 词云图片

检索式

SU %= '网络舆情' OR SU %= '网络舆论' OR SU %= '公共观点' OR SU %= '网络民意' OR SU %= '网络公共舆论' OR SU %= '舆论' OR SU %= '公共舆论'

检索时间范围

2020-2023年

检索时间以及数据来源

2023.03.14

CSSCI

数据处理及结果

Python完整代码

// FileName: ldamodel.py
import jieba
import pandas as pd
import gensim

#读取数据
paper = pd.read_excel('CNKIyuqing.xlsx', names=['Summry'])
paper.head()

Summary

  • 0 ★,微信政治舆情是网民借助微信平台对政治公共事务发表观点、意见和态度的总和。微信政治舆情按照...
  • 1 微信政治舆情是网民借助微信平台对政治公共事务发表观点、意见和态度的总和。微信政治舆情按照其与...
  • 2 [研究目的]研究旨在揭示现代技术条件下以干预公众认知过程为主要特征的网络空间“认知战”,重点...
  • 3 [目的/意义]在互联网快速发展的背景下,舆情危机问题层出不穷,针对社会化媒体进行社会热点事件...
  • 4 【目的】提出并构建网络热点事件话题漂移指数,体现网络热点事件话题变动幅度。【方法】利用LDA...
#jieba分词
jieba.load_userdict('smartlibrary.txt')  #加载主题词表
stoplists = list(pd.read_csv('停用词.txt', names=['w'], sep='\t', encoding='utf-8', engine='python').w) #加载停用词

Building prefix dict from the default dictionary ... Loading model from cache C:\Users\12894\AppData\Local\Temp\jieba.cache Loading model cost 0.539 seconds. Prefix dict has been built successfully.

#定义分词方法
def paperCut(intxt):
    return [w for w in jieba.cut(intxt) if w not in stoplists and len(w) > 2]

#进行分词
wordList = [paperCut(w) for w in paper.Summary]
wordList[:1]
print(wordList)

#绘制词云
import wordcloud
myfont = r'C:\Windows\Fonts\simkai.ttf'
import matplotlib.pyplot as plt
+ s = set()
+ for item in wordList:
+   for i in item:
+       s.add(i)
+ print(s)
+ FreqDist1 = FreqDist(s)
cloudobj = wordcloud.WordCloud(font_path=myfont).fit_words(FreqDist1)
plt.imshow(cloudobj)
plt.axis("off")
plt.show()
cloudobj.to_file("分词词云.png")

词云图片

词云
#构建稀疏向量、TFidf计算
from gensim import corpora,models
#from gensim.models.tfidfmodel import TfidfModel

dict = corpora.Dictionary(wordList)
corpus = [dict.doc2bow(text) for text in wordList]
corpus[:2]

tfidf_model = models.TfidfModel(corpus, normalize=False)
corpus_tfidf = tfidf_model[corpus]
corpus_tfidf

<gensim.interfaces.TransformedCorpus at 0x284bf37d070>

#LDA建模
from gensim.models.ldamodel import LdaModel
%time ladmodel = LdaModel(corpus_tfidf, id2word= dictionary,num_topics= 8,passes=5)

Wall time: 181 ms

#输出前8个主题,每个主题10个词
ladmodel.print_topics(num_topics=8, num_words= 10)
  • [(0, '0.007*"网络空间" + 0.007*"社交媒体" + 0.007*"网络热点事件" + 0.007*"短视频" + 0.007*"经验性" + 0.006*"道德治理" + 0.006*"主流情绪" + 0.006*"思政教育" + 0.005*"信息技术" + 0.005*"自动识别"'),
  • (1, '0.007*"系统动力学" + 0.006*"舆情传播" + 0.006*"演化等级" + 0.006*"观点团簇" + 0.005*"网络意识形态" + 0.005*"情感线" + 0.005*"系统性" + 0.005*"突发公共卫生事件" + 0.005*"信息传播" + 0.005*"网络舆情风险"'),
  • (2, '0.007*"涉民族因素" + 0.007*"突发事件网络舆情" + 0.006*"高校网络舆情" + 0.006*"在线问诊" + 0.006*"新冠肺炎疫情" + 0.006*"突发公共卫生事件" + 0.005*"情报感知" + 0.005*"舆情传播意愿" + 0.005*"非虚构写作" + 0.005*"城市拆迁"'),
  • (3, '0.008*"表情符号" + 0.007*"直播带货" + 0.007*"群体极化" + 0.007*"网络舆情风险" + 0.006*"网络意识形态" + 0.005*"话语空间" + 0.005*"舆情引导" + 0.005*"满意度" + 0.005*"网络舆论" + 0.004*"地方政府"'),
  • (4, '0.008*"网络舆情事件" + 0.008*"政治舆情" + 0.006*"政府应对" + 0.006*"文化引领" + 0.006*"网络舆情群体极化" + 0.006*"中美人才战" + 0.005*"网络舆情传播" + 0.005*"教育考试舆情" + 0.005*"涉华报道" + 0.005*"突发公共事件"'),
  • (5, '0.009*"知识图谱" + 0.007*"突发事件" + 0.007*"舆论战" + 0.007*"舆情态势" + 0.007*"舆情事件" + 0.006*"高校网络舆情" + 0.006*"产业链" + 0.006*"圈层扩散" + 0.006*"网络舆情治理" + 0.006*"舆情治理"'),
  • (6, '0.009*"传播审计" + 0.008*"社会情绪" + 0.008*"跨平台社交网络" + 0.007*"舆情反转" + 0.007*"公共价值" + 0.007*"高校网络舆情" + 0.007*"社会热点事件" + 0.006*"利益相关者" + 0.006*"网络舆情事件" + 0.004*"舆情演化"'),
  • (7, '0.007*"分众化" + 0.007*"协同治理" + 0.006*"大数据" + 0.005*"意见领袖" + 0.005*"高峰期" + 0.005*"舆情应对" + 0.005*"微博舆情" + 0.005*"热点话题" + 0.005*"网络舆情危机" + 0.005*"知识图谱"')]
#计算
corpus_lda = ladmodel[corpus_tfidf]
for doc in corpus_lda:
    print(doc)

# 检索和文本内容最接近的主题
query = paper.Abstract[1]
query_bow = dict.doc2bow(paperCut(query))
query_tfidf = tfidf_model[query_bow]
print("转换后:", query_tfidf[:10])

ladmodel.get_document_topics(query_tfidf)
ladmodel[query_tfidf]
import pyLDAvis.gensim
- pyLDAvis.enable_notebook #在pycharm等非实时交互式编译软件中可以不调用

topic_data = pyLDAvis.gensim.prepare(ladmodel,corpus,dictionary)
- pyLDAvis.display(topic_data) #在pycharm等非实时交互式编译软件中可以不调用,调用以下代码

pyLDAvis.save_html(topic_data,'save_blockchain.html')

本文由 mdnice 多平台发布

更多推荐

网络舆情LDA主题模型

本文发布于:2024-03-15 11:43:51,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1738812.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:舆情   模型   主题   网络   LDA

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!