在线演示不再可用,因为我们不可能续订证书。此存储库中的代码仍然有效,但是您可能需要进行一些更改才能在Python 3中使用(请参阅开放PRS)。您还可以查看该算法的Pytorch版本,称为Huggingface制造的Torchmoji。
(单击图像进行视频演示)
DeepMoji是一款在与表情符号的12亿推文中训练的模型,以了解语言如何用来表达情感。通过转移学习模型可以在许多与情绪相关的文本建模任务上获得最新的性能。
有关更多详细信息,请参见论文或博客文章。
首先,请查看示例/目录内。有关如何使用DeepMoji提取表情符号预测,请参见Score_texts_emojis.py,请参阅Eckode_texts.py,以获取如何将文本转换为2304维情感特征向量或Finetune_youtube_last.py如何在新数据集中使用模型来传输模型。
如果您使用我们的型号或代码,请考虑引用我们的论文(请参见下文)。
该代码基于Keras,它需要Theano或TensorFlow作为后端。如果您宁愿使用Pytorch,这里有一个可用的实现,这是由Thomas Wolf提供的。
我们假设您正在使用PIP安装Python 2.7。作为后端,您需要安装Theano(版本0.9+)或TensorFlow(1.3+版本)。完成此操作后,您需要在根目录内运行以下以下依赖项:
pip install -e .这将安装以下依赖项:
确保Keras使用您选择的后端。您可以在此处找到指令,从一个后端切换到另一部分。
运行随附的脚本,该脚本从此处下载了预处理的deepmoji重量(〜85MB),并将其放置在模型/目录中:
python scripts/download_weights.py要进行测试,请安装鼻子。安装后,导航到测试/目录并运行:
nosetests -v默认情况下,这还将运行登录测试。这些测试训练模型的一个时代,然后检查最终的精度,这可能需要几分钟才能完成。如果您希望排除这些内容,请改用以下内容:
nosetests -v -a ' !slow ' 该代码已经过测试,可在Ubuntu 16.04机器上与Python 2.7合作。它尚未针对效率进行优化,但应足够快地用于大多数目的。我们不能保证没有错误 - 使用您自己责任的代码!
如果您觉得可以改善某些东西,我们欢迎提取请求。您还可以通过告诉我们在撰写最新推文时的感受,可以极大地帮助我们。只需单击此处贡献即可。
该代码和预验证的模型已根据MIT许可证获得许可。
基准数据集仅出于方便目的上传到该存储库。他们没有被我们释放,我们没有对他们宣称任何权利。在您的责任下使用数据集,并确保您履行与其释放的许可证。如果使用任何基准数据集,请考虑引用原始作者。
可悲的是,由于许可限制,我们无法通过表情符号发布大型推文的Twitter数据集。
@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}
}