本项目的目标是构建一个基于BERT预训练模型的智能新闻解析工具,实现两大核心功能:①自动将新闻文本分为10个主题类别(体育、娱乐、科技、财经等);②自动抽取出文本中的人名(PER)、地名(LOC)、组织机构名(ORG)。该工具可应用于新闻推荐系统、舆情监控平台、知识图谱构建等场景,大幅提升信息处理效率。
文本预处理模块:对输入新闻进行清洗、分词、序列填充(最大长度64),兼容中英文混合文本。
分类微调模块:基于bert-base-chinese进行fine-tune,在10类新闻数据集上训练,最终测试准确率达96.8%。
命名实体识别模块:使用BertForTokenClassification在MSRA NER数据上微调,可识别PER/LOC/ORG三类实体。
系统还提供命令行交互、批量测试和Web演示界面(可选),用户可输入任意中文文本,实时获得分类标签和实体标注结果。
整体采用“预训练+微调”的范式,分为数据层、模型层、应用层。
数据层:使用THUCNews(50k训练+10k测试)和MSRA NER(43k训练+4k测试)数据集,通过HuggingFace Datasets加载与预处理。
模型层:基于PyTorch 1.10和Transformers 4.20,分别加载bert-base-chinese后接分类头(10维)和序列标注头(7维)。训练时使用AdamW优化器,学习率2e-5,batch_size=32,序列长度64,早期停止策略防止过拟合。
应用层:提供Python函数predict_category()和predict_ner(),并集成Flask/Streamlit提供HTTP接口或可视化界面。