当前位置: 首页 > 后端技术 > Python

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

时间:2023-03-25 20:43:06 Python

自然语言处理(NLP)是人工智能领域的一个重要方向。它研究各种可以利用自然语言实现人与计算机之间有效交流的理论和方法。在开发NLP时,NLP工具包是不可或缺的一部分。其中包含的数据集和预训练模型可以大大提高开发效率。今天推荐的开源项目来自复旦大学NLP团队。让我们看看他们的NLP工具包有什么有趣的地方。项目名称:fastNLP项目作者:复旦大学自然语言处理(NLP)团队项目地址:https://gitee.com/fastnlp/fastNLP项目介绍fastNLP是一个轻量级的自然语言处理(NLP)工具包,目标是快速实施NLP任务并构建复杂模型。具有统一项目特性的表格数据容器,简化了数据预处理过程;内置各种数据集的Loader和Pipe,省去预处理代码;各种便捷的NLP工具,如Embedding加载(包括ELMo和BERT)、中间数据缓存等;自动下载部分数据集和预训练模型;提供多种神经网络组件和递归模型(涵盖中文分词、命名实体识别、句法分析、文本分类、文本匹配、回指解析、摘要等);Trainer提供多种内置Call??back函数,便于实验记录和异常捕获。环境依赖numpy>=1.14.2torch>=1.0.0tqdm>=4.28.1nltk>=3.4.1requestsspacyprettytable>=0.7.2内置组件神经网络中使用的大部分NLP任务都可以看成词嵌入(embeddings)和两个模块:编码器(encoder)、解码器(decoder)组成。以文本分类任务为例,下图是一个文本分类器的BiLSTM+Attention实现的模型流程图:sensitiveembedding(ELMo,BERT),characterembedding(CharEmbeddingbasedonCNNorLSTM)同时,fastNLP在modules模块中内置了这两个模块的诸多组件,可以帮助用户快速构建自己需要的网络。两个模块的功能和公共组件如下:项目结构fastNLP的大致工作流程如上图所示,项目结构如下:如果想了解更多项目信息,请点击下方链接转到项目主页。:https://gitee.com/fastnlp/fastNLP