AddittyaPS/Fake-Job-Posting-Identifier
GitHub: AddittyaPS/Fake-Job-Posting-Identifier
基于 NLP 和随机森林的机器学习系统,用于自动识别和分类在线虚假招聘信息。
Stars: 0 | Forks: 0
# 虚假招聘信息识别器
这是一个由 AI/ML 驱动的欺诈检测系统,旨在利用自然语言处理(NLP)、特征工程和机器学习技术识别虚假的在线招聘信息。该系统通过分析职位描述、公司详情、电子邮件域名以及可疑的语言模式,将招聘信息分类为真实或虚假。
## 功能
- **机器学习 Pipeline**
- 使用 TF-IDF Vectorization 和 Random Forest Classification 构建,用于准确的基于文本的欺诈检测。
- **高级特征工程**
- 检测可疑关键词、紧急性短语、个人电子邮件域名以及网站不一致性。
- **自然语言处理**
- 包含 token 化、停用词移除、词形还原以及使用 NLTK 进行文本清洗等文本预处理技术。
- **交互式 Web 应用程序**
- 开发了基于 Streamlit 的 UI,用于实时的虚假招聘预测和特征分析。
## 项目结构
```
fake-job-posting-identifier/
│
├── app.py # Streamlit application
├── src/
│ ├── preprocess.py # NLP preprocessing functions
│ ├── features.py # Feature engineering logic
│ └── train.py # Model training pipeline
│
├── models/ # Saved ML models
├── data/ # EMSCAD dataset
├── screenshots/ # UI screenshots
├── requirements.txt
└── README.md
```
## 如何在本地运行
### 1. 克隆仓库
```
git clone https://github.com/YOUR_USERNAME/fake-job-posting-identifier.git
cd fake-job-posting-identifier
```
### 2. 安装依赖项
```
pip install -r requirements.txt
```
### 3. 运行应用程序
```
streamlit run app.py
```
### 4. 在浏览器中打开
导航至:
```
http://localhost:8501
```
## 技术栈
- Python 3
- Scikit-learn
- NLTK
- Pandas
- NumPy
- Streamlit
## 机器学习工作流
1. 数据清洗与 NLP 预处理
2. TF-IDF 特征提取
3. 自定义欺诈特征工程
4. Random Forest 模型训练
5. 使用 Streamlit 进行实时预测
## 未来改进
- 基于 Deep Learning 的 NLP 模型(BERT/LSTM)
- 用于实时诈骗检测的浏览器扩展
- 与在线招聘门户网站集成
- 支持云部署
## 数据集
使用的数据集:**EMSCAD 虚假招聘信息数据集**
标签:Apex, Kubernetes, Streamlit, TF-IDF, 反欺诈, 数据科学, 文本分类, 机器学习, 访问控制, 资源验证, 逆向工具, 随机森林