PyText基于PyTorch,能够加速从研究到应用的进度,从模型的研究到完整实施只需要几天时间。框架里还包含了一些预训练模型,可以直接拿来处理文本分类、序列标注等任务。
资料如下:
主页:https://facebook.ai/developers/tools/pytext
论文:https://research.fb.com/publications/pytext-a-seamless-path-from-nlp-research-to-production/
官方文档:https://pytext-pytext.readthedocs-hosted.com/en/latest/index.html#
官方博客:https://code.fb.com/ai-research/pytext-open-source-nlp-framework/
GitHub:https://github.com/facebookresearch/pytext
PyText解决了既要实现快速实验又要部署大规模服务模型的经常相互冲突。它主要通过以下两点来实现上面的需求:
并且,Facebook已经采用了使用PyText快速迭代新的建模思路,然后大规模无缝衔接地发布它们。
文本分类,序列标记(实体识别),Joint Model (Intent+Slot)(比如阅读理解,任务对话中常用的模型)等的预训练模型。
上手PyText非常简单,按标准python包的方法安装框架:
pip install pytext-nlp
然后,我们就可以使用一个任务配置来训练NLP模型了:
Task是PyText应用中的用来定义模型的核心部件。每一个任务都有一个嵌入的配置,它定义了不同组件之间的关系,如下面代码所示:
一旦模型训练完毕,我们就可以对模型进行评估,也可以导出为Caffe2格式:
需要指出的是,PyText提供了可扩展的架构,可以定制、扩展其中任何一个构建模块。
PyText代表了NLP开发的一个重要里程碑,它是最早解决实验与生产匹配问题的框架之一。基于Facebook和PyTorch社区的支持,PyText可能有机会称为深度学习生态中最重要的NLP技术栈之一。