之前我们讲过NPL(自然语言处理),使用的是NLTK这样一个包,现在呢,我们又有了新的法宝----GluonNPL。在做自然语言处理上能帮我们提升不少效率。
GluonNLP提供了NLP中最先进的(SOTA)深度学习模型的实现,并为文本数据管道和模型构建块。它是为工程师,研究人员和学生设计的,以快速原型研究想法和产品基于这些模型。这个工具包提供了三个主要特性:
1、训练脚本复制SOTA结果报告在研究论文。
2、针对普通NLP任务的预训练模型。
3、精心设计的api大大降低了实现的复杂性。
安装:
pip install --pre --upgrade mxnet
pip install gluonnlp
在安装gluonnlp之前需要安装mxnet的依赖。
笔者在本地没有GPU的环境,就借用了谷歌的COLAB来试了一下。
COLAB地址:
https://colab.research.google.com/drive/1YLVDj7DLuEMjDOJI8rvi-HBveUoEbSnt#scrollTo=a5k2vooFJHKx
安装完之后我们就可以调用啦!
我们来看一个小小的例子:
比较两个单词baby和infant的相似度
我们可以看到输出的对比结果为0.740
我们可以看看使用gluonnlp是如何搭建评估模型和训练模型的:
首先导入相应的包:
设置一下环境:
初始化参数:
加载数据集,提取词汇表,对截断的BPTT进行数值化和批处理
加载预定义的语言模型:
分离梯度:
评估:
训练阶段:
训练和评估:
输出:
在这个示例中,我们看到:GluonNLP Toolkit提供了高级api,可以极大地简化NLP任务建模的开发过程。低级的NLP api可以轻松定制。
如果还想了解更多,点击阅读原文吧!