DeepMoji 项目介绍
DeepMoji 是一个基于深度学习的模型,专注于通过理解表情符号在社交媒体(如推特)上的使用来识别和分析情感表达。这个项目利用海量的数据,约12亿条包含表情符号的推文,来训练模型,使其在与情感相关的文本建模任务上达到最先进的表现。
背景与意义
表情符号是社交媒体中常见的情感表达方式,通过分析这些表情符号及其上下文的使用模式,DeepMoji 提供了一种深入理解非结构化文本情感的途径。利用转移学习技术,DeepMoji 可以在不同的情感识别和文本分析任务中产生极高的精度,这对于自动情感分析、舆情监测等有重大应用价值。
项目资源
DeepMoji 项目中的资源分布于多个目录,各有其功能:
- deepmoji/ 包含将数据集转化为模型可识别词汇表及使用模型所需的底层代码。
- examples/ 提供了如何将数据集转化为模型词汇、加载模型并运行的示例代码。
- scripts/ 包含处理和分析数据集以重现研究结果的代码。
- model/ 储存了预先训练好的模型和相关词汇表。
- data/ 提供测试所用的原始及处理过的数据集。
- tests/ 包含代码库的单元测试。
建议新手从 examples/ 目录开始学习,了解如何使用 DeepMoji 提取表情符号预测,或如何将文本编码为2304维的情感特征向量,也可查看如何通过迁移学习在新数据集上使用模型。
技术要求
DeepMoji 基于 Keras 框架开发,需使用 Theano 或 TensorFlow 作为后端。如果您更习惯使用 PyTorch,可以参考 HuggingFace 提供的 torchMoji 实现。
安装指南
假定您使用的是 Python 2.7,并且已安装 pip。需要先安装 Theano(0.9版以上)或 TensorFlow(1.3版以上)作为后端。安装剩余依赖项前,请在项目根目录运行以下命令:
pip install -e .
这会安装以下依赖项:
- Keras
- scikit-learn
- h5py
- text-unidecode
- emoji
确保 Keras 能够使用您的选择的后端,可以参考这里的说明。
此外,您需要下载预训练的 DeepMoji 权重(约85MB),并放置在 model/ 目录中。使用以下命令可自动完成:
python scripts/download_weights.py
测试与责任声明
可以通过安装 nose 后,在 tests/ 目录内使用命令 nosetests -v
运行测试。如果不想运行耗时的微调测试,可使用 nosetests -v -a '!slow'
。
请注意,该代码在 Ubuntu 16.04 系统上的 Python 2.7 环境中进行了测试,未必是最优化的版本,但对于大多数用途已足够快速。用户在使用过程中需自行承担风险。
贡献与许可
DeepMoji 欢迎大家通过提交 pull request 改进代码,或通过填写反馈表为研究贡献情感数据。项目的代码及预训练模型在 MIT 许可证下发布,详情可在许可协议中查看。