返回首页
独立项目详情页

中文新闻分类系统

从特征工程到预训练模型的文本分类对比

这是一个适合作为作品集前排展示的基础 NLP 项目。我把传统特征工程、从零训练序列模型与预训练模型微调放在同一数据集上做系统对比,最终得到清晰的模型选型结论,也更能体现实验设计能力。

PyTorchScikit-learnBiLSTMBERTjiebaTF-IDFSVMGradio
查看 GitHub
BERT F1 = 97.92%
TF-IDF + SVM F1 = 97.24%
BiLSTM + Attention F1 = 95.57%
支持 10 类新闻分类

项目挑战

新闻分类任务本身成熟,但作为作品集项目,需要展示的不是跑通一个模型,而是不同方法论之间的效果、成本和适用场景差异。

解决思路

采用分层递进策略:传统方法验证特征工程天花板,序列模型验证端到端学习能力,预训练模型验证迁移学习效果。三者放在同一数据集上对比,让结论更有说服力。

工程实现

整个项目按数据层、模型层、评估层和部署层组织代码。每种模型的训练、评估和推理脚本独立成文件,输出统一的分类报告和混淆矩阵,方便横向对比。

项目价值

这个项目适合在面试中说明我对文本分类问题的完整理解:从数据处理、特征构建,到模型选择和结果分析,能清晰讲出每种方法的优劣和取舍逻辑。

项目拆解

亮点、过程与结果

核心亮点

以 TF-IDF + SVM 作为高效基线(F1 97.24%),再逐步升级到 BiLSTM + Attention 与 BERT 微调(F1 97.92%)。
项目包含数据预处理、模型定义、训练脚本、推理脚本与 Gradio 部署入口,结构清晰,方便复现。
通过分类报告和混淆矩阵展示三种模型在 10 类新闻上的表现差异。

实现过程

清洗 THUCNews 65,000 条文本,完成 jieba 分词、停用词过滤与训练/验证/测试集划分。
实现 TF-IDF 特征提取 + LinearSVC 分类器作为基线方案。
搭建 BiLSTM + Attention 模型,从零训练词向量与序列分类器。
微调 bert-base-chinese,使用 AdamW + 线性学习率预热策略。
开发 Gradio 交互界面,支持三种模型在线推理对比。

结果总结

三种方案均在 10 类新闻上取得 95%+ F1,BERT 最优(97.92%)。
TF-IDF + SVM 以极低训练成本达到 97.24% F1,验证了高质量特征工程的有效性。
项目形成可复现的多方案对比实验,适合展示文本分类的完整技术栈。