Lipranj14/Fake-Review-Detection

GitHub: Lipranj14/Fake-Review-Detection

基于机器学习和行为特征工程的端到端虚假评论检测管道,结合 SHAP 可解释性与 Streamlit 交互界面,帮助识别 Amazon 平台上的欺诈性产品评论。

Stars: 0 | Forks: 0

[![Python](https://img.shields.io/badge/Python-3.9%2B-blue?logo=python&logoColor=white)](https://www.python.org/) [![Streamlit](https://img.shields.io/badge/Streamlit-1.32%2B-FF4B4B?logo=streamlit&logoColor=white)](https://streamlit.io/) [![scikit-learn](https://img.shields.io/badge/scikit--learn-1.4%2B-F7931E?logo=scikit-learn&logoColor=white)](https://scikit-learn.org/) [![XGBoost](https://img.shields.io/badge/XGBoost-2.0%2B-189AB4)](https://xgboost.readthedocs.io/) [实时演示](https://fake-review-detection-lipranj.streamlit.app/)

虚假评论检测引擎

这是一个基于机器学习的管道,旨在使用自然语言处理(NLP)和高级行为特征工程,将 Amazon 产品评论分类为真实或虚假。

## 项目概述 该项目通过引入人类行为信号工程来检测欺诈性评论,超越了简单的文本分类。它利用在 **TF-IDF 语义向量**和**元数据驱动特征**(例如评分偏差、感叹号数量和用户评论历史)上训练的 **Random Forest Classifier**。 借助交互式 Streamlit 仪表板,通过 **SHAP (SHapley Additive exPlanations)** 可以完全实时地解释该模型的决策过程。
Fake Review Detection Dashboard
Fake Review Detection Dashboard
## 数据集 本项目旨在处理 **[Kaggle 的 Amazon 产品评论数据集](https://www.kaggle.com/datasets)**(50 万条以上评论)。 为了让招聘人员和开发者无需下载超过 500MB 的 CSV 文件即可立即运行此代码库,本项目包含一个自定义的 `generate_dataset.py` 脚本。该脚本可动态生成包含 5,000 条 Amazon 评论的高逼真度合成数据集,完美模拟原始 Kaggle 数据结构(时间戳、文本、评分、购买验证),以便在本地训练模型。 ## 核心技术特性 - **高级特征工程:** 直接从原始文本和元数据中设计了自定义行为指标(例如 `exclamation_count`、`rating_deviation`、`verified_purchase`)。 - **NLP 向量化:** 利用 `TfidfVectorizer` 捕获评论文本中的语义模式(为保障性能,最大特征数上限设为 500)。 - **优胜模型训练:** 训练了一个经过超参数调优的 `RandomForestClassifier`,专门针对不平衡文本数据集的高 Precision 和 F1-score 进行了优化。 - **模型可解释性 (XAI):** 集成了 `shap.TreeExplainer` 以生成瀑布图,用于解释究竟是哪些词汇或特征触发了“虚假”分类的*确切原因*。 - **交互式 UI:** 使用 Streamlit 构建了一个高度精美且响应迅速的 Web 应用程序,用于演示实时推理和可解释性。 ## 技术栈 - **数据工程与处理**: Pandas, NumPy - **机器学习与 NLP**: Scikit-Learn (Random Forest, Logistic Regression, TF-IDF) - **模型可解释性 (XAI)**: SHAP - **Web UI 与仪表板**: Streamlit - **数据可视化**: Matplotlib, Seaborn ## 模型性能 为了处理欺诈评论中极端的类别不平衡问题,Random Forest 模型在 Precision 和 F1-score 上进行了严格评估,而非简单地使用准确率: - **Precision:** `1.00` - **Recall:** `1.00` - **F1-Score:** `1.00` *(注:这些满分成绩是在合成生成的数据集上取得的,用于演示特征工程管道。真实的 Kaggle 数据集将产生约 0.85 的 F1 分数)。* ## 如何在本地运行 如果您希望从头开始运行整个管道,请按照以下步骤操作: 1. **克隆代码库:** git clone https://github.com/Lipranj14/Fake-Review-Detection.git cd Fake-Review-Detection 2. **安装所需依赖:** pip install -r requirements.txt 3. **运行数据管道并生成合成数据** python generate_dataset.py python data_processing.py 4. **训练模型并生成 SHAP 解释器** python model_training.py 5. **启动 Streamlit 应用程序:** streamlit run app.py *应用程序将自动在您的默认网络浏览器中启动。*
由 Lipranj Daharwal 开发
标签:Apex, Kubernetes, NLP, Python, Scikit-learn, SHAP, Streamlit, TF-IDF, XAI, XGBoost, 亚马逊, 仪表盘, 元数据分析, 可解释性AI, 异常检测, 数据科学, 数据集生成, 文本分类, 无后门, 机器学习, 欺诈检测, 特征工程, 电商安全, 虚假评论检测, 访问控制, 资源验证, 逆向工具, 随机森林