本项目旨在开发一种结合机器学习、深度学习和BERT模型的算法,以提高对网络上虚假新闻的识别准确率。包含完整源代码。
该资源包含项目的全部源码,并可以直接使用。适用于计算机、数学、电子信息等相关专业的课程设计、期末大作业及毕业设计项目,作为参考资料学习借鉴。
本资源仅提供参考内容,如果需要实现其他功能,则需理解代码并自行调试和优化。基于机器学习+深度学习+Bert方法的虚假新闻检测项目的源码位于`Fake-News-DetectionNKU_2022Fall Python language programming project`仓库中,其中只上传了代码文件,大文件未包含在内。
所需附件可通过网盘链接下载并根据目录将这些附加文件与项目代码集成。数据集为中文微信消息,包括官方账号名称、标题、新闻网址、图片URL和报告内容等信息;标签0代表真实消息,1表示虚假消息。训练数据保存于`train.news.csv`中,测试数据则在`test.news.csv`内。
实验过程中需先对训练数据进行统计分析,并使用标题文字来构建模型,在测试集上验证后得出Precision、Recall和F1-Score等指标的结果。
项目使用的开发环境为Anaconda集成环境与Pytorch深度学习框架。机器学习部分主要流程包括:加载数据、预处理文本,特征工程以及训练评估;NLP任务需要将原始文本转换成向量形式,这里使用了词袋模型及TF-IDF方法进行编码。代码位于`traditional.py`文件中,并提供了现成的包与参数调整功能。
最后得到的结果如下表所示:
| 使用模型 | 向量化方法 | acc | recall(1) | precision(1) | auc |
| :------------------------------: | :--------: | :----: | :-------: | :------------: | :--: |
| 朴素贝叶斯+jieba精确模式 | 词袋模型 |84.33% |0.60 |0.47 |0.74|
| 同上 | TF-IDF |88.97% |0.33 |0.80 |0.66 |
| 高斯内核支持向量机+jieba搜索引擎| 词袋模型 |86.62% |0.10 |0.84 |0.55 |
| 同上 | TF-IDF |91.21% |0.46 |0.89 |0.72 |
| 随机森林+jieba精确模式 | 词袋模型 |87.03% |0.12 |0.97 |0.56 |
| 同上 | TF-IDF |87.18% |0.13 |0.98 |0.56 |
| 逻辑回归+jieba精确模式 | 词袋模型 |90.48% |0.50 |0.77 |0.74 |
| 同上 | TF-IDF |89.33% |0.37 |0.79 |0.68 |
此外,还有基于神经网络的方法来解决此问题。