Skip to main content

Natural Adversarial Language Processing

Project description

NALP: Natural Adversarial Language Processing

Latest release Open issues License

Welcome to NALP.

Have you ever wanted to create natural text from raw sources? If yes, NALP is for you! This package is an innovative way of dealing with natural language processing and adversarial learning. From bottom to top, from embeddings to neural networks, we will foster all research related to this new trend.

Use NALP if you need a library or wish to:

  • Create your embeddings.
  • Design or use pre-loaded state-of-art neural networks.
  • Mix-and-match different strategies to solve your problem.
  • Because it is cool to play with text.

Read the docs at

NALP is compatible with: Python 3.6+ and PyPy 3.5.

Package guidelines

  1. The very first information you need is in the very next section.
  2. Installing is also easy if you wish to read the code and bump yourself into, follow along.
  3. Note that there might be some additional steps in order to use our solutions.
  4. If there is a problem, please do not hesitate, call us.

Getting started: 60 seconds with NALP

First of all. We have examples. Yes, they are commented. Just browse to examples/, chose your subpackage, and follow the example. We have high-level examples for most tasks we could think of.

Alternatively, if you wish to learn even more, please take a minute:

NALP is based on the following structure, and you should pay attention to its tree:

- nalp
    - core
        - corpus
        - dataset
        - encoder
    - corpus
        - audio
        - document
        - text
    - datasets
        - next
    - encoders
        - count
        - integer
        - tfidf
        - word2vec
    - models
        - gru
        - lstm
        - rnn
    - neurals
        - complex
        - simple
    - utils
        - loader
        - logging
        - preprocess


The core is the core. Essentially, it is the parent of everything. You should find parent classes defining the basis of our structure. They should provide variables and methods that will help to construct other modules.


Every pipeline has its first step, right? The corpus package serves as a basic class to load raw text, documents (list of sentences), and audio.


Because we need data, right? Datasets are composed of classes and methods that allow preparing data for further neural networks.


Text or Numbers? Encodings are used to make embeddings. Embeddings are used to feed into neural networks. Remember that networks cannot read raw data; therefore, you might want to pre-encode your data using well-known encoders.


Each neural network architecture is defined in this package. From naïve RNNs to BiLSTMs, you can use whatever suits your needs.


The neurals package provides simple or complex implementations using Tensorflow. You can choose straightforward examples using the Simple class or more advanced customization methods using the Complex class.


This is a utility package. Common things shared across the application should be implemented here. It is better to implement once and use as you wish than re-implementing the same thing over and over again.


We believe that everything has to be easy. Not tricky or daunting, NALP will be the one-to-go package that you will need, from the very first installation to the daily-tasks implementing needs. If you may just run the following under your most preferred Python environment (raw, conda, virtualenv, whatever)!:

pip install nalp

Alternatively, if you prefer to install the bleeding-edge version, please clone this repository and use:

pip install .

Environment configuration

Note that sometimes, there is a need for additional implementation. If needed, from here you will be the one to know all of its details.


No specific additional commands needed.


No specific additional commands needed.


No specific additional commands needed.


We know that we do our best, but it is inevitable to acknowledge that we make mistakes. If you ever need to report a bug, report a problem, talk to us, please do so! We will be available at our bests at this repository or

Download files

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

Files for nalp, version 1.1.0
Filename, size File type Python version Upload date Hashes
Filename, size nalp-1.1.0-py3-none-any.whl (26.1 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size nalp-1.1.0.tar.gz (15.6 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page