代码的KDD 2020论文稳健垃圾邮件检测纳什强化学习。窦颖彤,马桂祥,余承东,谢思红。[论文][幻灯片][视频][工具箱][中文博客]。
Nash-Detect是本文提出的一种利用强化学习训练鲁棒垃圾评论检测器的算法。鲁棒检测器由五个基本检测器组成,通过垃圾邮件发送者和防御者之间的极小极大博弈进行训练。垃圾邮件发送者使用五种基本垃圾邮件策略来合成混合垃圾邮件策略。
此Repo包括垃圾邮件攻击实现和生成代码、检测器实现代码以及Nash-Detect和所有基线的训练和测试代码。
请注意,我们在本文中只研究了浅层图和基于行为的垃圾邮件检测器,没有涉及文本或深层神经网络。尽管如此,应用Nash-Detect来训练健壮的神经网络或基于文本的垃圾邮件检测器并不存在障碍。
要运行代码,您需要Yelp Spam Review数据集。请将标题为Yelp DataSet Request的电子邮件发送至[email protected],以下载包含元数据和基本事实的文件。您可以将数据集文件解压缩到项目的根目录下。
运行testing.py测试由Nash-Detect和其他基线训练的最优检测器的性能。
为了方便培训和测试,我们将所有生成的虚假评论存储在/Training和/Testing目录中。所以您可以跳过第一步和第四步,直接玩游戏和评估码。此外,您可以使用/Detector存储库下的eval_XXX.py或使用我们的UGFraud工具箱播放每个单独的检测器。
对实验的设置和模型参数可以在主要函数Training.py和testing.py的开头找到。
Attack/包含四种垃圾邮件攻击策略的实现,单例攻击在Attack_Generation ation.py中实现;
@inProcestions{dou2020Robust,title={Robust Spammer Detection by Nash Enhanced Learning},作者={窦颖彤和马桂香,余贵祥,菲利普·S和谢思宏},booktitle={第26届ACM SIGKDD国际知识发现\&;数据挖掘会议论文集},年份={2020}}