102302112王光诚综合实践

实践系统与小组成员介绍

项目信息 内容描述
课程 2025数据采集与融合技术
组名、项目简介 组名: 基米大哈气
项目背景: 针对B站视频评论信息量大、内容杂乱的问题,提供智能化的筛选与分类方案,帮助用户快速了解视频评论风向。
项目目标: 开发一个支持评论爬取、智能分类、违禁词管理及可视化分析的综合系统,实现对评论内容的精准筛选与多维度展示。
技术路线: 前端采用 React + React Router 实现组件化开发;后端使用 Flask + MySQL 管理数据与接口;核心算法基于本地部署的 Qwen2.5 大模型,并应用 LoRA 微调4位量化技术优化性能;系统最终部署于 华为云平台
团队成员学号 102302113(王光诚)、102302115(方朴)、102302119(庄靖轩)、102302120(刘熠黄)、102302121(许友钿)、102302122(许志安)、102302123(许洋)、102302147(傅乐宜)
这个项目的目标 1. 智能分类: 结合视频类型(如游戏、二次元),将评论自动归类为正常、争论、广告、@某人、无意义五大类。
2. 数据可视化: 提供评论统计、分类分布、高频词云及评论变化曲线图,直观展示数据特征。
3. 违禁词管理: 支持实时增删查改违禁词库,保障过滤机制的高效性。
4. 自动化爬取: 用户只需输入B站链接,系统即可自动抓取评论并进行智能处理,爬取过程中支持播放背景音乐。
其他参考文献 [1]Joshua Ainslie, James Lee-Thorp, Michiel de Jong, Yury Zemlyanskiy, Federico Lebr´on, and SumitSanghai. GQA: Training generalized multi-query Transformer models from multi-head checkpoints. InEMNLP, pp. 4895–4901. Association for Computational Linguistics, 2023.
码云链接(由于git上上传不了大于1GB的文件,所以我们将所有源码都放到了github上,小组成员间底代码不分开) 项目代码(GitHub): https://github.com/liuliuliuliu617-maker/-/tree/master
项目演示网址: http://1.94.247.8/(31 号前可以查看,之后代金券应该过期了)

(1) 项目定位与整体目标(为什么做、要解决什么)

本项目是一个面向 B 站视频评论 的“智能筛选 + 自动分类 + 结果分析”系统。核心诉求不是“把评论爬下来就完事”,而是让用户能在短时间内把评论按语义维度分层:哪些是正常讨论、哪些带有争议/攻击性、哪些属于广告或噪声;并且通过统计与可视化,快速感知“评论风向”。因此系统整体被设计为一条完整链路:登录与权限 → 输入视频链接 → 评论爬取 →(模型 + 规则)筛选分类 → 可视化呈现 → 历史记录回看。

在落地上,项目强调两点:

可用性:有完整前后端页面、用户登录与历史记录,不是单纯离线脚本。

可控性:引入“违禁词/关键词库”作为规则层,补足模型不稳定或不透明的地方,让筛选策略可以被维护、可解释、可快速迭代。

(2) 功能与用户体验(用户能做什么、看到什么)

系统对用户侧的能力可以归并为三条主线:

A. 登录与个人化能力
用户支持注册/登录,并做会话管理。登录用户除了能运行分析外,还能把爬取与分析结果落库、在用户中心查看“历史爬取记录”和每条记录对应的概况;而游客则更偏临时查看分析结果,从产品逻辑上把“临时体验”和“可沉淀使用”区分开。

B. 评论采集与智能分类(系统的核心工作流)
用户输入视频链接并选择视频类型/领域(如英雄联盟、cosplay 等),系统自动爬取评论数据,然后结合视频类型信息进行智能分类输出。分类结果支持按类别筛选展示,用户可以更快定位某类评论而不是被海量信息淹没。

C. 概览分析与可视化(把“结果”讲清楚)
概览页面不仅展示评论列表,还会展示原视频信息(标题、BV号、跳转链接),并提供统计与图形化能力:评论数量与分类分布、高频词、词云等。用户可以多选分类标签动态筛选,并能点选查看对应类别的评论内容,从“宏观风向”回到“具体文本证据”。

另外,系统提供违禁词管理(新增/删除/查询、实时生效),使过滤机制具备持续运营的可能:当出现新的网络黑话、广告模板、攻击性词汇时,可以先用规则快速兜底,再逐步纳入训练数据迭代模型。

(3) 数据与技术架构(怎么做、为什么这样选)

数据资源上,系统使用的是“为训练评论分类模型而构建的基础数据集”,不是用户实时上传的数据。数据来自预先爬取的 B 站视频评论以及贴吧等平台评论,按文件夹组织;每个视频保证一定数量的有效评论,整体规模不低于 1000 条,并覆盖游戏、动漫、生活、知识等多类别,以增强模型的泛化能力。

工程架构上,前后端与模型链路清晰分层:

前端采用 React + React Router,组件化开发与 SPA 路由提升交互效率,并对页面样式进行独立管理;根路径重定向至登录页保证入口一致。

后端采用 Flask + MySQL,用 server.py 提供 RESTful API(登录、爬取处理、关键词管理、用户视频查询等),db.py 统一数据库操作,back.sql 维护表结构。整体符合“接口驱动前端”的工程范式。

算法侧采用 Qwen2.5 本地部署 + LoRA 微调 + 4bit 量化:本地部署避免外部 API 成本与可控性问题;LoRA 用低秩适配降低微调成本;4bit 量化降低显存压力并加速推理,使系统在资源有限条件下仍可运行。

(4)团队成员分工

  • 组长 102302120 刘熠黄 统筹项目整体进度与分工;后端及系统算法设计,训练数据处理
  • 组员 102302119 庄靖轩 项目汇报人,训练数据处理,协调组员工作
  • 组员 102302123 许洋 前端代码设计,数据库建立与云平台部署
  • 组员 102302122 许志安 训练数据采集及处理
  • 组员 102302121 许友钿 训练数据采集及处理
  • 组员 102302115 方朴 系统测试
  • 组员 102302112 王光诚 汇报ppt等文书工作
  • 组员 102302147 傅乐宜 汇报ppt等文书工作

(5)个人分工的重点阐述

我在这个视频评论智能筛选系统项目里,核心就是负责汇报 PPT 和演讲稿这些文书工作。平时会主动跟各个组员对接,不管是前端的页面截图、后端的技术架构,还是算法组的模型优化成果、数据组的采集情况,都会一一收集整理。之后把这些零散的信息按 “项目背景 - 核心功能 - 技术亮点 - 成果展示” 的逻辑串起来,调整 PPT 的排版、优化内容侧重,尽量让不管是老师还是同学,哪怕不懂技术也能看明白。还会陪着汇报的同学反复打磨演讲稿,哪里该突出重点、哪个技术点要通俗化表达,都一起商量着调整,确保能把我们团队的努力和成果完整又顺畅地展现出来。
除此之外,我也会帮小伙伴们搭把手做些力所能及的辅助工作。比如后端同学的接口文档有时候字段说明有点乱,我会帮忙统一格式、分点梳理清楚,方便前端同学对接时少走弯路;大家改 PPT 频繁容易搞混版本,我就用 Git 建了专门的文书分支,每次更新后及时提交版本记录,避免出错。偶尔还会帮测试同学把枯燥的测试数据整理成简单的折线图或表格,让汇报里的成果更直观。这些都是小细节,但能帮团队省点事、提高点效率,而且跟着大家也慢慢了解了不少之前不懂的技术小知识,整个参与过程还挺有收获的~

(6)最后的心得体会

做完这个项目最大的感受是“把一个想法真正落成能用的系统”,远比把某个模块单点做出来更难也更有价值:从一开始画的目标很大(想做到更细的分类、甚至直接分析图片/表情包内容),到中后期不得不面对现实约束(训练数据标注极耗时间、算力和显存有限、反爬与并发带来的稳定性问题、前后端联调细节反复磨),我们才真正理解工程里的取舍和优先级意味着什么;同时也深刻体会到“数据质量决定上限”,真实评论里大量黑话、谐音梗、阴阳怪气,逼着我们从更贴近场景的角度补数据、调策略,最终选择用本地部署大模型并结合 LoRA 微调与量化来平衡效果与成本;另外团队协作的体验也很强烈——很多问题单靠一个人很难解决(比如接口对齐、状态同步、性能瓶颈定位、词库即时生效等),只有把“我做了什么、期望是什么、实际发生了什么”说清楚,用日志、工具和证据推动协作,系统才会稳定地往前走;最后虽然仍有遗憾(图片/表情包没能深入识别、类别仍可继续细化、性能与体验还有可提升空间),但从需求、数据、模型、后端、前端到测试与部署的完整链路跑通,让我们对“AI 能力如何真正嵌入产品”和“可控性、可维护性为什么重要”有了更具体的理解,也让我们更明确未来在后端/全栈、模型落地、质量保障等方向上继续深挖会更有意义。

posted @ 2025-12-30 20:48  王光诚  阅读(3)  评论(0)    收藏  举报