All Projects → fastnlp → Fastnlp

fastnlp / Fastnlp

Licence: apache-2.0
fastNLP: A Modularized and Extensible NLP Framework. Currently still in incubation.

Programming Languages

python
139335 projects - #7 most used programming language
Jupyter Notebook
11667 projects
shell
77523 projects

Projects that are alternatives of or similar to Fastnlp

Pynlpl
PyNLPl, pronounced as 'pineapple', is a Python library for Natural Language Processing. It contains various modules useful for common, and less common, NLP tasks. PyNLPl can be used for basic tasks such as the extraction of n-grams and frequency lists, and to build simple language model. There are also more complex data types and algorithms. Moreover, there are parsers for file formats common in NLP (e.g. FoLiA/Giza/Moses/ARPA/Timbl/CQL). There are also clients to interface with various NLP specific servers. PyNLPl most notably features a very extensive library for working with FoLiA XML (Format for Linguistic Annotation).
Stars: ✭ 426 (-82.55%)
Mutual labels:  natural-language-processing, nlp-library, text-processing
NLP-tools
Useful python NLP tools (evaluation, GUI interface, tokenization)
Stars: ✭ 39 (-98.4%)
Mutual labels:  text-processing, nlp-parsing, nlp-library
Textvec
Text vectorization tool to outperform TFIDF for classification tasks
Stars: ✭ 167 (-93.16%)
Mutual labels:  natural-language-processing, text-classification, text-processing
Spacy
💫 Industrial-strength Natural Language Processing (NLP) in Python
Stars: ✭ 21,978 (+800.37%)
Mutual labels:  natural-language-processing, text-classification, nlp-library
Transformers
🤗 Transformers: State-of-the-art Machine Learning for Pytorch, TensorFlow, and JAX.
Stars: ✭ 55,742 (+2183.57%)
Mutual labels:  natural-language-processing, nlp-library
Spark Nlp
State of the Art Natural Language Processing
Stars: ✭ 2,518 (+3.15%)
Mutual labels:  natural-language-processing, text-classification
Danlp
DaNLP is a repository for Natural Language Processing resources for the Danish Language.
Stars: ✭ 111 (-95.45%)
Mutual labels:  natural-language-processing, nlp-library
Nlp Pretrained Model
A collection of Natural language processing pre-trained models.
Stars: ✭ 122 (-95%)
Mutual labels:  natural-language-processing, text-classification
Neuronblocks
NLP DNN Toolkit - Building Your NLP DNN Models Like Playing Lego
Stars: ✭ 1,356 (-44.45%)
Mutual labels:  natural-language-processing, text-classification
Lingo
package lingo provides the data structures and algorithms required for natural language processing
Stars: ✭ 113 (-95.37%)
Mutual labels:  natural-language-processing, nlp-library
Dan Jurafsky Chris Manning Nlp
My solution to the Natural Language Processing course made by Dan Jurafsky, Chris Manning in Winter 2012.
Stars: ✭ 124 (-94.92%)
Mutual labels:  text-classification, text-processing
Texting
[ACL 2020] Tensorflow implementation for "Every Document Owns Its Structure: Inductive Text Classification via Graph Neural Networks"
Stars: ✭ 103 (-95.78%)
Mutual labels:  natural-language-processing, text-classification
Stanza Old
Stanford NLP group's shared Python tools.
Stars: ✭ 142 (-94.18%)
Mutual labels:  natural-language-processing, text-processing
Kadot
Kadot, the unsupervised natural language processing library.
Stars: ✭ 108 (-95.58%)
Mutual labels:  natural-language-processing, text-classification
Chinese nlu by using rasa nlu
使用 RASA NLU 来构建中文自然语言理解系统(NLU)| Use RASA NLU to build a Chinese Natural Language Understanding System (NLU)
Stars: ✭ 99 (-95.94%)
Mutual labels:  natural-language-processing, chinese-nlp
Cogcomp Nlpy
CogComp's light-weight Python NLP annotators
Stars: ✭ 115 (-95.29%)
Mutual labels:  natural-language-processing, text-processing
Prenlp
Preprocessing Library for Natural Language Processing
Stars: ✭ 130 (-94.67%)
Mutual labels:  natural-language-processing, text-processing
Monkeylearn Python
Official Python client for the MonkeyLearn API. Build and consume machine learning models for language processing from your Python apps.
Stars: ✭ 143 (-94.14%)
Mutual labels:  natural-language-processing, text-classification
Awesome Pytorch List
A comprehensive list of pytorch related content on github,such as different models,implementations,helper libraries,tutorials etc.
Stars: ✭ 12,475 (+411.06%)
Mutual labels:  natural-language-processing, nlp-library
Bible text gcn
Pytorch implementation of "Graph Convolutional Networks for Text Classification"
Stars: ✭ 90 (-96.31%)
Mutual labels:  natural-language-processing, text-classification

fastNLP

Build Status codecov Pypi Hex.pm Documentation Status

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

fastNLP具有如下的特性:

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

安装指南

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 官网 。 在依赖包安装完成后,您可以在命令行执行如下指令完成安装

pip install fastNLP
python -m spacy download en

fastNLP教程

中文文档教程

快速入门

详细使用教程

扩展教程

内置组件

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

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

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

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

类型 功能 例子
encoder 将输入编码为具有具有表示能力的向量 Embedding, RNN, CNN, Transformer, ...
decoder 将具有某种表示意义的向量解码为需要的输出形式 MLP, CRF, ...

项目结构

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

fastNLP 开源的自然语言处理库
fastNLP.core 实现了核心功能,包括数据处理组件、训练器、测试器等
fastNLP.models 实现了一些完整的神经网络模型
fastNLP.modules 实现了用于搭建神经网络模型的诸多组件
fastNLP.embeddings 实现了将序列index转为向量序列的功能,包括读取预训练embedding等
fastNLP.io 实现了读写功能,包括数据读入与预处理,模型读写,数据与模型自动下载等

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

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].