------ 2018年9月更新 ------
TorchMoji和DeepMoji发布已经一年了。我们正试图了解它的使用情况,以便我们今后能够进行改进并设计出更好的模型。
您可以通过回答这份4个问题的Google表单来帮助我们实现这一目标。感谢您的支持!
😇 TorchMoji
阅读我们关于实现过程的博客文章点击这里。
TorchMoji是由Bjarke Felbo、Alan Mislove、Anders Søgaard、Iyad Rahwan和Sune Lehmann开发的DeepMoji模型的pyTorch实现版本。
该模型通过对12亿条带表情符号的推文进行训练,以理解语言如何用于表达情感。通过迁移学习,该模型可以在许多与情感相关的文本建模任务中获得最先进的性能。
在这个🤗 Space上试试DeepMoji的在线演示!更多详情请参阅论文、博客文章或常见问题。
概览
- torchmoji/包含将数据集转换为词汇表并使用模型所需的所有底层代码。
- examples/包含简短的代码片段,展示如何将数据集转换为词汇表,加载模型并在该数据集上运行。
- scripts/包含用于处理和分析数据集以重现论文中结果的代码。
- model/包含预训练模型和词汇表。
- data/包含我们在此存储库中包含的用于测试的原始和处理后的数据集。
- tests/包含代码库的单元测试。
首先,请查看examples/目录。参见score_texts_emojis.py了解如何使用DeepMoji提取表情符号预测,encode_texts.py了解如何将文本转换为2304维情感特征向量,或finetune_youtube_last.py了解如何在新数据集上使用模型进行迁移学习。
如果您使用了该模型或代码,请考虑引用DeepMoji的论文(引用格式见下文)。
安装
我们假设您使用的是安装了pip的Python 2.7-3.5。
首先,您需要安装pyTorch(0.2+版本),目前可以通过以下命令安装:
conda install pytorch -c pytorch
目前,该模型无法有效利用CUDA。详情请参见Hugging Face博客文章。
当pyTorch安装完成后,在根目录运行以下命令来安装剩余的依赖项:
pip install -e .
这将安装以下依赖项:
然后,运行下载脚本以从这里下载预训练的torchMoji权重(约85MB)并将它们放入model/目录:
python scripts/download_weights.py
测试
要运行测试,请安装nose。安装后,导航到tests/目录并运行:
cd tests
nosetests -v
默认情况下,这也会运行微调测试。这些测试会训练模型一个epoch,然后检查结果的准确性,可能需要几分钟才能完成。如果您想排除这些测试,请改为运行以下命令:
cd tests
nosetests -v -a '!slow'
免责声明
此代码已经在Ubuntu 16.04和macOS Sierra机器上使用Python 2.7和3.5进行了测试。它并未针对效率进行优化,但对于大多数用途来说应该足够快。我们不保证代码没有任何错误 - 使用时请自行承担责任!
贡献
如果您觉得有可以改进的地方,我们欢迎您提交拉取请求。您还可以通过告诉我们您在写最近的推文时的感受来给予我们极大的帮助。只需点击这里即可贡献。
许可证
此代码和预训练模型采用MIT许可证。
基准数据集
基准数据集上传到此存储库仅为方便起见。它们不是由我们发布的,我们不对它们主张任何权利。使用数据集时请自行承担责任,并确保您满足它们发布时的许可条件。如果您使用任何基准数据集,请考虑引用原作者。
引用
@inproceedings{felbo2017,
title={Using millions of emoji occurrences to learn any-domain representations for detecting sentiment, emotion and sarcasm},
author={Felbo, Bjarke and Mislove, Alan and S{\o}gaard, Anders and Rahwan, Iyad and Lehmann, Sune},
booktitle={Conference on Empirical Methods in Natural Language Processing (EMNLP)},
year={2017}
}