anishchoudhury464/llm-fake-news-detection
GitHub: anishchoudhury464/llm-fake-news-detection
该项目利用 FLAN-T5 模型,通过对比提示工程与监督微调两种策略,在约四万五千篇新闻文章上构建并评估了假新闻检测分类系统。
Stars: 0 | Forks: 0
# 使用 FLAN-T5 进行假新闻检测
## 概述
本项目使用 Google 的 FLAN-T5 大语言模型 (LLM) 开发了一个假新闻检测系统。该项目通过 prompt engineering 和监督微调,研究了经过指令微调的 transformer 模型在假新闻分类任务上的表现。
本研究比较了三种不同的方法:
- Zero-Shot Prompting
- Few-Shot Prompting
- 监督微调
目的是评估与基于 prompt 的推理相比,监督微调如何提升分类性能。
## 课程信息
**课程:** ADS-509 – 面向数据科学的应用大语言模型
**大学:** 圣地亚哥大学
**项目类型:** 期末团队项目
## 数据集
本项目使用公开的虚假与真实新闻数据集。
数据集包含:
- 虚假新闻文章
- 真实新闻文章
预处理后:
- 文章总数:44,689
- 虚假新闻:23,478
- 真实新闻:21,211
预处理阶段移除了重复记录,合并了文章的标题和正文,清理了格式问题,并生成了适合模型训练的最终数据集。
## 项目工作流
原始数据集
↓
数据清洗与预处理
↓
探索性数据分析
↓
Zero-Shot Prompting
↓
Few-Shot Prompting
↓
监督微调
↓
模型评估
## 仓库结构
```
fake-news-detection-flan-t5/
├── data/
│ ├── Fake.csv
│ ├── True.csv
│ └── clean_news.csv
│
├── notebooks/
│ ├── 01_Data_Preprocessing.ipynb
│ ├── 02_Exploratory_Data_Analysis.ipynb
│ ├── 03_ZeroShot_FewShot.ipynb
│ └── 04_FLAN_T5_FineTuning.ipynb
│
├── figures/
│
├── requirements.txt
│
├── README.md
│
└── LICENSE
```
## Notebook 说明
### 01_Data_Preprocessing.ipynb
此 notebook 执行以下操作:
- 加载 Fake.csv 和 True.csv
- 数据检查
- 移除重复项
- 创建标签
- 合并数据集
- 内容生成
- 导出 clean_news.csv
### 02_Exploratory_Data_Analysis.ipynb
此 notebook 执行以下操作:
- 数据集概述
- 缺失值分析
- 类别分布
- 文章长度分析
- 词数分析
- 相关性分析
- 词云可视化
- 高频词分析
### 03_ZeroShot_FewShot.ipynb
此 notebook 评估了未经微调的 Google 预训练 FLAN-T5 模型。
实验包括:
- Zero-Shot Prompting
- Few-Shot Prompting
- 准确率比较
- 混淆矩阵
- 分类报告
### 04_FLAN_T5_FineTuning.ipynb
此 notebook 对 FLAN-T5 进行监督微调。
主要步骤包括:
- prompt 格式化
- tokenization
- 数据集准备
- 训练
- 验证
- 模型评估
## 使用的技术
- Python
- PyTorch
- Hugging Face Transformers
- Hugging Face Datasets
- FLAN-T5
- Scikit-learn
- Pandas
- NumPy
- Matplotlib
- Seaborn
- WordCloud
- Jupyter Notebook
## 安装
克隆仓库
```
git clone https://github.com//fake-news-detection-flan-t5.git
```
进入项目
```
cd fake-news-detection-flan-t5
```
安装依赖项
```
pip install -r requirements.txt
```
## 运行项目
按以下顺序执行 notebook:
1. 数据预处理
2. 探索性数据分析
3. Zero-Shot 与 Few-Shot Prompting
4. FLAN-T5 微调
## 结果
本项目表明,与仅使用 prompt engineering 方法相比,监督微调显著提高了假新闻分类的性能。
## 未来工作
未来可能的改进包括:
- LoRA 微调
- PEFT
- 量化
- 更大的 LLM
- 指令优化
- 基于 RAG 的假新闻检测
## 团队成员
- Anish Choudhury
- Krishna Sindhu Karri
- Praseeda Saripalle
## 许可证
本项目作为 ADS-509 – 面向数据科学的应用大语言模型课程的一部分,仅出于教育目的而开发。
标签:DLL 劫持, FLAN-T5, NoSQL, 凭据扫描, 大语言模型, 微调, 文本分类, 虚假新闻检测, 逆向工具