开源精选 | 一款轻量级的自然语言处理(NLP)工具包

图灵汇官网

《开源精选》是我们分享GitHub、Gitee等开源社区中优质项目的栏目,涵盖技术、学习、实用以及各种有趣的内容。本期推荐的是一个轻量级的自然语言处理(NLP)工具包——fastNLP。

fastNLP是由复旦大学自然语言处理团队发起的国产开源项目,旨在为自然语言处理(NLP)提供一个轻量级的框架,以快速实现NLP任务和构建复杂模型。

fastNLP具备以下特点:

  • 统一的数据容器,简化了数据预处理步骤;
  • 内置多种数据集加载器和处理器,省去了预处理代码;
  • 提供多种便捷的NLP工具,如Embedding加载(包括ELMo和BERT)、中间数据缓存等;
  • 支持部分数据集与预训练模型的自动下载;
  • 提供多种神经网络组件和复现模型(涵盖中文分词、命名实体识别、句法分析、文本分类、文本匹配、指代消解、摘要等任务);
  • Trainer提供了多种内置回调函数,方便实验记录和异常捕获。

安装: fastNLP依赖以下库: - numpy >= 1.14.2 - torch >= 1.0.0 - tqdm >= 4.28.1 - nltk >= 3.4.1 - requests - spaCy - prettytable >= 0.7.2

其中torch的安装可能与操作系统及CUDA的版本有关,请参考PyTorch官网。在安装完所有依赖项后,您可以使用以下命令完成安装: shell pip install fastNLP python -m spacy download en

详细教程: - 使用DataSet预处理文本 - 使用Vocabulary将文本转换为索引 - 使用Embedding模块将文本转换为向量 - 使用Loader和Pipe加载并处理数据集 - 使用Trainer和Tester快速训练和测试 - 使用DataSetIter实现自定义训练过程 - 使用Metric快速评估模型 - 使用Modules和Models快速搭建自定义模型 - 使用Callback自定义训练过程

拓展阅读: - BertEmbedding的各种用法 - 分布式训练简介 - 使用fitlog辅助fastNLP进行科研

更多内容请自行前往阅读。

开源地址:gitee.com/fastnlp/fastNLP

如需项目推荐或获取资源,请私信作者。

本文来源: 图灵汇 文章作者: 黑科技评测室