Skip to main content

fastNLP: Deep Learning Toolkit for NLP, developed by Fudan FastNLP Team

Project description

fastNLP

Build Status codecov Pypi Hex.pm Documentation Status

fastNLP 是一款轻量级的 NLP 处理套件。你既可以使用它快速地完成一个命名实体识别(NER)、中文分词或文本分类任务; 也可以使用他构建许多复杂的网络模型,进行科研。它具有如下的特性:

  • 统一的Tabular式数据容器,让数据预处理过程简洁明了。内置多种数据集的DataSet Loader,省去预处理代码。
  • 各种方便的NLP工具,例如预处理embedding加载; 中间数据cache等;
  • 详尽的中文文档以供查阅;
  • 提供诸多高级模块,例如Variational LSTM, Transformer, CRF等;
  • 封装CNNText,Biaffine等模型可供直接使用;
  • 便捷且具有扩展性的训练器; 提供多种内置callback函数,方便实验记录、异常捕获等。

安装指南

fastNLP 依赖如下包:

  • numpy
  • torch>=0.4.0
  • tqdm
  • nltk

其中torch的安装可能与操作系统及 CUDA 的版本相关,请参见 PyTorch 官网 。 在依赖包安装完成的情况,您可以在命令行执行如下指令完成安装

pip install fastNLP

参考资源

内置组件

大部分用于的 NLP 任务神经网络都可以看做由编码(encoder)、聚合(aggregator)、解码(decoder)三种模块组成。

fastNLP 在 modules 模块中内置了三种模块的诸多组件,可以帮助用户快速搭建自己所需的网络。 三种模块的功能和常见组件如下:

类型 功能 例子
encoder 将输入编码为具有具 有表示能力的向量 embedding, RNN, CNN, transformer
aggregator 从多个向量中聚合信息 self-attention, max-pooling
decoder 将具有某种表示意义的 向量解码为需要的输出 形式 MLP, CRF

完整模型

fastNLP 为不同的 NLP 任务实现了许多完整的模型,它们都经过了训练和测试。

你可以在以下两个地方查看相关信息

项目结构

fastNLP的大致工作流程如上图所示,而项目结构如下:

fastNLP 开源的自然语言处理库
fastNLP.core 实现了核心功能,包括数据处理组件、训练器、测速器等
fastNLP.models 实现了一些完整的神经网络模型
fastNLP.modules 实现了用于搭建神经网络模型的诸多组件
fastNLP.io 实现了读写功能,包括数据读入,模型读写等

In memory of @FengZiYjun. May his soul rest in peace. We will miss you very very much!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

FastNLP-0.4.0rc1.tar.gz (133.5 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page