Nash-Detect使用手册
1. 目录结构及介绍
Nash-Detect项目是基于KDD 2020论文《Robust Spammer Detection by Nash Reinforcement Learning》实现的,旨在通过纳什强化学习训练一个稳健的垃圾评论检测器。以下是该项目的基本目录结构及其简介:
-
.gitignore: 控制Git忽略哪些文件或文件夹。
-
LICENSE: 项目许可协议,遵循Apache-2.0许可。
-
README.md: 项目介绍文档,包含了项目概述、安装步骤、运行代码的指南等。
-
attack_generation.py: 脚本用于在“Training”模式下生成模拟的垃圾评论数据以供训练使用。
-
detector: 包含了垃圾评论检测器的相关实现代码。
-
nash_detect.py: 纳什检测的核心算法实现文件。
-
overview.png: 可能是项目架构或概念的概览图。
-
requirements.txt: 列出了项目运行所需的Python包列表。
-
testing.py: 测试脚本,用于评估模型性能。
-
training.py: 训练脚本,执行模型的训练过程。
-
worst_case.py: 计算单次攻击对单一检测器最坏情况表现的脚本。
-
Utils: 工具函数或者辅助类所在的文件夹。
2. 项目的启动文件介绍
主要启动文件
-
attack_generation.py 和 training.py 是两个核心启动文件。
- 运行
python attack_generation.py --mode="Training"
来生成用于训练的假评论数据。 - 使用
python training.py
开始训练过程,这将利用之前生成的数据训练垃圾评论检测器。
- 运行
-
testing.py 用于测试模型,完成训练后可以运行此脚本来验证模型的表现。
辅助脚本
- worst_case.py 可用于分析特定攻击策略下的系统鲁棒性。
- nash_detect.py 中的代码通常不直接作为启动文件,但它是实现算法逻辑的关键部分。
3. 项目的配置文件介绍
Nash-Detect项目并没有明确提及外部配置文件如.ini
或.yaml
来管理设置。然而,配置主要通过命令行参数进行。例如,在运行attack_generation.py
时通过--mode
参数设定模式。其他可能的配置(比如依赖库版本、数据集路径等)则在requirements.txt
指定软件依赖,并且数据集的获取与处理细节通常通过作者提供的电子邮件请求获得详细说明,而非直接在配置文件中管理。
为了运行项目,需确保已满足Python 3.6或更高版本的要求,并通过以下命令下载项目与安装依赖:
git clone https://github.com/YingtongDou/Nash-Detect.git
cd Nash-Detect
pip3 install -r requirements.txt
请注意,实际部署和使用过程中还需遵循作者提供的额外指引,特别是关于Yelp数据集的获取。