news 2026/4/23 14:21:25

【AI大模型舆情分析】微博舆情分析可视化系统(pytorch2+基于BERT大模型训练微调+flask+pandas+echarts) 实战(上)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【AI大模型舆情分析】微博舆情分析可视化系统(pytorch2+基于BERT大模型训练微调+flask+pandas+echarts) 实战(上)

大家好,我是锋哥。最近发布一条【AI大模型舆情分析】微博舆情分析可视化系统(pytorch2+基于BERT大模型训练微调+flask+pandas+echarts)高级实战。分上下节。

实战简介:

前面的2026版【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts+爬虫) 二次开发,前面课程舆情分析用得是snowNLP,我们现在改用基于BERT开源大模型微调,来实现舆情分析,提高舆情分析的准确率。重点讲解基本BERT大模型实现舆情分析,二分类问题。

视频教程和源码领取:

链接:https://pan.baidu.com/s/1_NzaNr0Wln6kv1rdiQnUTg
提取码:0000

微博舆情分析可视化系统 - 项目准备

基于python微博舆情分析可视化系统(flask+pandas+echarts) 项目源码本地运行下。

登录页面,我们改下小标题,加个LLM

登录后,进入系统主页面:

BERT大模型实现舆情分析功能

大模型开发环境准备-PyTorch和transformers库

首先新建model目录,把Bert-base-chinese粘贴到model目录下。

我们大模型训练尽可能的基于GPU的,CUDA要安装下。

然后我们要安装Pytorch2和transformers库:

pip install torch torchvision --index-url https://download.pytorch.org/whl/cu126
pip install transformers -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com

环境测试代码:

import torch from transformers import pipeline print(torch.cuda.is_available()) # 通过pipeline 加载模型 model = pipeline(task="text-classification", # 任务类型 二分类 model="Bert-base-chinese", # 模型名称 device=0 # 使用GPU ) # 调用模型预测 result = model("小明是好学生") print(result)

运行结果:

BERT大模型情感分析功能封装(使用AutoModel自动模型方式)

新建llm目录,里面再新建weibo.py文件

代码实现:

import torch from transformers import AutoTokenizer, AutoModelForSequenceClassification # 使用设备GPU device = torch.device("cuda" if torch.cuda.is_available() else "cpu") print(device) # 加载分词器 tokenizer = AutoTokenizer.from_pretrained('../model/Bert-base-chinese') # 加载模型 model = AutoModelForSequenceClassification.from_pretrained('../model/Bert-base-chinese') print(model) # 情感分析 def data_classfication(data): # 准备输入数据 input_ids = tokenizer.encode( text=data, # 输入文本 return_tensors='pt', # 返回PyTorch张量 truncation=True, # 截断超过长度的输入文本 max_length=20, # 最长长度 padding="max_length" # 填充短的输入文本 ).to(device) # 评估模型 model.eval() model.to(device) # 模型预测 output = model(input_ids) print(output) # 获取预测结果 logits = output.logits print(logits) predication = torch.argmax(logits, dim=-1) print(predication) sentiment = predication.item() # 把张量转成数字 print(sentiment) sentiment_label = "正面" if sentiment == 1 else "负面" return sentiment_label if __name__ == '__main__': result = data_classfication("开心") print("预测结果:", result)

运行结果:

使用BERT大模型对微博热词进行情感分析

找到视图层业务逻辑代码:

我们修改下:

# 改成使用大模型进行舆情分析 sentiments = data_classfication(defaultHotWord)

启动就直接报错了

原因是加载模型用得是相对路径,我们调用封装方法的时候,相对路径又变了。所以我们企业级开发,一般不用相对路径,只用绝对路径,由于开发环境,测试环境,线上环境模型路径会变,所以我们一般都会把路径放到配置文件里面去,方便修改路径。

我们在项目根目录下新建config.py

配置下模型路径:

# 定义模型路径 model_path = 'D:\python_pro\weiboLLMProject2\model'

接下来,weibo.py里把相对路径,改成绝对路径,使用config.py里的model_path属性;

改成:

# 加载分词器 tokenizer = AutoTokenizer.from_pretrained(config.model_path + "/Bert-base-chinese") # 加载模型 model = AutoModelForSequenceClassification.from_pretrained(config.model_path + "/Bert-base-chinese") print(model)

运行测试系统,可以了。不过情感分析的准确率很有限,等后面VIP课程,我们使用增量微调训练后的模型,准确率能上到90%以上。

使用BERT大模型对微博文章内容进行情感分析

找到微博舆情分析后端视图业务逻辑代码:

改成:

# 改成使用大模型进行舆情分析 sentiments = data_classfication(article[1])

重启项目测试:

使用BERT大模型对微博舆情分析以及可视化操作

找到数据可视化微博舆情分析后端视图层业务逻辑代码,包括柱状图,树形图,饼状图。代码都需要修改;

代码修改:

@pb.route('sentimentAnalysis') def sentimentAnalysis(): """ 舆情数据分析 :return: """ xHotBarData = ['正面', '负面'] yHotBarData = [0, 0] # 只读取前100条 df = pd.read_csv('./fenci/comment_fre.csv', nrows=100) for value in df.values: # 情感分析 # stc = SnowNLP(value[0]).sentiments # if stc > 0.6: # yHotBarData[0] += 1 # elif stc < 0.2: # yHotBarData[2] += 1 # else: # yHotBarData[1] += 1 # 使用大模型进行情感分析 sentiment_label = data_classfication(value[0]) if sentiment_label == '正面': yHotBarData[0] += 1 else: yHotBarData[1] += 1 hotTreeMapData = [{ 'name': xHotBarData[0], 'value': yHotBarData[0] }, { 'name': xHotBarData[1], 'value': yHotBarData[1] }] commentPieData = [{ 'name': '正面', 'value': 0 }, { 'name': '负面', 'value': 0 }] articlePieData = [{ 'name': '正面', 'value': 0 }, { 'name': '负面', 'value': 0 }] commentList = commentDao.getAllComment() for comment in commentList: # 情感分析 # stc = SnowNLP(comment[1]).sentiments # if stc > 0.6: # commentPieData[0]['value'] += 1 # elif stc < 0.2: # commentPieData[2]['value'] += 1 # else: # commentPieData[1]['value'] += 1 # 使用大模型进行情感分析 sentiment_label = data_classfication(comment[1]) if sentiment_label == '正面': commentPieData[0]['value'] += 1 else: commentPieData[1]['value'] += 1 articleList = articleDao.getAllArticle() for article in articleList: # 情感分析 # stc = SnowNLP(article[1]).sentiments # if stc > 0.6: # articlePieData[0]['value'] += 1 # elif stc < 0.2: # articlePieData[2]['value'] += 1 # else: # articlePieData[1]['value'] += 1 # 使用大模型进行情感分析 sentiment_label = data_classfication(article[1]) if sentiment_label == '正面': articlePieData[0]['value'] += 1 else: articlePieData[1]['value'] += 1 df2 = pd.read_csv('./fenci/comment_fre.csv', nrows=15) xhotData15 = [x[0] for x in df2.values][::-1] yhotData15 = [x[1] for x in df2.values][::-1] return render_template('sentimentAnalysis.html', xHotBarData=xHotBarData, yHotBarData=yHotBarData, hotTreeMapData=hotTreeMapData, commentPieData=commentPieData, articlePieData=articlePieData, xhotData15=xhotData15, yhotData15=yhotData15)

重启项目测试:

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/19 3:36:01

2002-2025年各省、地级市农业新质生产力数据

资源介绍 农业新质生产力是以科技创新为核心驱动力&#xff0c;以科技化、数字化、网络化和智能化为主线&#xff0c;通过技术革命性突破、生产要素创新性配置、产业深度转型升级&#xff0c;实现农业全要素生产率显著跃升的先进生产力形态 本数据基于2002-2025年各省政府工作…

作者头像 李华
网站建设 2026/4/23 12:25:55

银行柜台管理系统|基于java+ vue银行柜台管理系统(源码+数据库+文档)

银行柜台管理 目录 基于springboot vue银行柜台管理系统 一、前言 二、系统功能演示 三、技术选型 四、其他项目参考 五、代码参考 六、测试参考 七、最新计算机毕设选题推荐 八、源码获取&#xff1a; 基于springboot vue银行柜台管理系统 一、前言 博主介绍&…

作者头像 李华
网站建设 2026/4/23 12:26:04

GrokAI1.1.14-release.09 | 实测可无敏感生图,可生成视频

Grok AI 是由埃隆马斯克领导的科技公司 xAI 开发的一款先进人工智能助手。它能够像人类一样思考并回答问题&#xff0c;分析和解答自然语言问题。通过此应用&#xff0c;用户可以进行写作、获取知识、接受教育以及完成日常任务。Grok AI Mod APK 版本解锁了原始应用中的所有高级…

作者头像 李华
网站建设 2026/3/27 23:46:24

工作量证明机制的奖励机制存在哪些缺点?

工作量证明&#xff08;PoW&#xff09;机制的奖励机制虽为 PoW 网络运转提供了核心动力&#xff0c;且适配了算力竞争的底层特征&#xff0c;但受 PoW 本身的资源消耗属性、算力发展规律&#xff0c;以及奖励设计的固有逻辑影响&#xff0c;其在收益分配、资源匹配、长期激励、…

作者头像 李华
网站建设 2026/4/23 13:12:38

agentscope的long_term_memory和memory

DeepWiki Q&A with Code Context for Repository: agentscope-ai/agentscope Q1 memoryInMemoryMemory(), long_term_memorylong_term_memory, 介绍一下这两个 Answer 简要说明 memoryInMemoryMemory()&#xff1a;这是短期记忆&#xff0c;用于在单次对话中存储和管理…

作者头像 李华
网站建设 2026/4/23 13:15:11

里程碑丨Moltbot成功登顶1Panel应用商店下载榜日榜

2026年1月30日&#xff0c;近期炙手可热的个人AI助手应用Moltbot成功登顶1Panel应用商店下载榜日榜。就在刚刚&#xff0c;Moltbot已经更名为OpenClaw&#xff0c;继续在GitHub社区保持强势增长的态势。Moltbot的快速崛起改变了OpenResty在1Panel应用商店长期稳居下载榜榜首的局…

作者头像 李华