来自复旦大学自然语言处理团队,这个NLP工具包有何亮点

自然语言处理(NLP)是人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。

在进行 NLP 开发的时候,NLP 工具包是不可缺少的一部分,其中包含的数据集和预训练模型可以较大的提升开发效率。

今天推荐的这个开源项目就是来自复旦大学的 NLP 团队,看看他们的 NLP 工具包有什么好玩的地方吧。

项目名称:fastNLP

项目作者:复旦大学自然语言处理(NLP)团队

项目地址:https://gitee.com/fastnlp/fastNLP

 

项目简介

fastNLP 是一款轻量级的自然语言处理(NLP)工具包,目标是快速实现 NLP 任务以及构建复杂模型。

 

项目特性

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

 

环境依赖

  • numpy>=1.14.2
  • torch>=1.0.0
  • tqdm>=4.28.1
  • nltk>=3.4.1
  • requests
  • spacy
  • prettytable>=0.7.2

 

内置组件

大部分用于的 NLP 任务神经网络都可以看做由词嵌入(embeddings)和两种模块:编码器(encoder)、解码器(decoder)组成。

以文本分类任务为例,下图展示了一个 BiLSTM+Attention 实现文本分类器的模型流程图:

fastNLP 在 embeddings 模块中内置了几种不同的 embedding:静态 embedding(GloVe、word2vec)、上下文相关 embedding (ELMo、BERT)、字符 embedding(基于CNN或者LSTM的CharEmbedding)

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

 

项目结构

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

如果你想要了解项目的更多信息,那么就点击后面的链接前往项目主页看看吧:https://gitee.com/fastnlp/fastNLP

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值