一个炫酷的交互式网页应用,使用LIME (Local Interpretable Model-agnostic Explanations) 来解释文本分类模型的预测结果,并通过热力图可视化展示。
- 🎯 简单易用: 只需输入文本,点击按钮即可获得解释
- 🔥 炫酷界面: 现代化设计,流畅动画效果
- 📊 热力图可视化: 直观展示每个词对预测结果的影响程度
- 🤖 机器学习驱动: 基于scikit-learn的文本分类模型
- 📱 响应式设计: 支持移动端和桌面端
# 给启动脚本添加执行权限
chmod +x start.sh
# 运行启动脚本
./start.sh# 1. 创建虚拟环境
python3 -m venv venv
# 2. 激活虚拟环境
source venv/bin/activate # Linux/Mac
# 或者 venv\Scripts\activate # Windows
# 3. 安装依赖
pip install -r requirements.txt
# 4. 启动应用
python app.py应用启动后,在浏览器中访问: http://localhost:5000
- 输入文本: 在输入框中输入要分析的英文文本
- 点击分析: 点击"开始分析"按钮
- 查看结果:
- 上方显示模型的预测结果和置信度
- 下方的热力图显示每个词对预测的影响:
- 🟢 绿色: 对预测结果有正面影响
- 🔴 红色: 对预测结果有负面影响
- ⚪ 灰色: 中性,影响很小
- 渐变背景: 美丽的紫色渐变背景
- 玻璃态效果: 毛玻璃风格的卡片设计
- 流畅动画: 页面加载和交互动画
- 响应式布局: 自适应不同屏幕尺寸
- 现代化图标: Font Awesome 图标
- Flask: Web框架
- LIME: 模型解释库
- scikit-learn: 机器学习库
- NumPy: 数值计算
- HTML5: 结构标记
- CSS3: 样式和动画
- JavaScript: 交互逻辑
- Font Awesome: 图标库
- 模型类型: 逻辑回归 (Logistic Regression)
- 特征提取: TF-IDF 向量化
- 分类类别:
- Positive (正面情感)
- Negative (负面情感)
- Neutral (中性)
你可以尝试以下示例文本:
正面情感:
- "I love this amazing movie!"
- "This is the best experience ever!"
- "Fantastic and wonderful performance!"
负面情感:
- "This movie is terrible and boring"
- "Worst film I have ever watched"
- "Complete waste of time"
中性:
- "The meeting is scheduled for tomorrow"
- "Please send me the report"
- "Coffee shop opens at 8 AM"
- 文本预处理: 使用TF-IDF向量化将文本转换为数值特征
- 模型预测: 逻辑回归模型生成预测结果和置信度
- LIME解释: LIME算法通过局部扰动生成解释
- 可视化: 将解释结果转换为颜色编码的热力图
你可以轻松扩展这个应用:
- 更换模型: 替换为其他分类模型(BERT、RoBERTa等)
- 添加语言: 支持中文或其他语言的文本分析
- 增加功能: 添加更多的可视化选项
- 数据集: 使用自己的训练数据
rexdemo/
├── app.py # Flask应用主文件
├── requirements.txt # Python依赖包
├── start.sh # 启动脚本
├── templates/
│ └── index.html # 主页模板
└── static/
└── style.css # 额外样式文件
欢迎贡献代码和建议!请通过以下方式参与:
- Fork 项目
- 创建特性分支
- 提交更改
- 发送 Pull Request
MIT License - 自由使用和修改
常见问题:
- 端口冲突: 如果5000端口被占用,修改
app.py中的端口号 - 依赖安装失败: 确保使用Python 3.7+和最新的pip
- 模型加载错误: 检查所有依赖是否正确安装
联系支持: 如遇问题,请查看错误日志或提交issue
🎉 享受使用 LIME Text Explainer 来探索机器学习模型的决策过程!