1. 数据加载与预处理模块
功能:读取 JSONL 格式的原始评论数据,提取评论文本和评分。
关键步骤:将评分 1–2 星映射为“负面”(negative),3–5 星映射为“非负面”(non-negative)。进行文本清洗(如正则匹配单词、去除标点)。
计算文本统计特征(词数、句长、词频、词汇量等)。生成词云等可视化分析。
2. 数据增强与类别平衡模块
功能:解决数据集中负面样本远少于非负面样本的类别不平衡问题。
关键方法:少数类增强:使用 BERT 的 ContextualWordEmbsAug 方法生成语义一致的负面样本变体。多数类欠采样:随机减少非负面样本数量,使类别分布更均衡。类别权重:在损失函数中为少数类赋予更高权重,提升模型对其的关注度。
3. BERT 模型微调与训练模块
功能:基于 Hugging Face 的 BertForSequenceClassification 进行二分类任务微调。
关键配置:使用 BertTokenizer 进行子词分词,序列长度固定为 128。使用加权交叉熵损失函数(Weighted Cross-Entropy Loss)。
超参数设置:学习率 2e-5,批次大小 16,训练 5 个 epoch。采用 StratifiedShuffleSplit 保证训练/验证/测试集类别分布一致。
4. 模型评估与结果分析模块
功能:在测试集上评估模型性能,并分析误分类情况。
评估指标:
精确率(Precision)、召回率(Recall)、F1 分数(包括宏平均和加权平均)、混淆矩阵(Confusion Matrix)。
对比测试集与全数据集上的性能差异,分析“乐观偏差”。
5. 全数据集预测与输出模块
功能:对原始全部评论数据进行批量推理,生成预测标签。输出格式:将预测结果写回 JSONL 文件,便于后续分析和情感分布统计。
点击空白处退出提示












评论