Skip to main content

Natural language processing utilities and examples for the book Natural Language Processing in Action (nlpia) 2nd Edition by Hobson Lane and Maria Dyshel.

Project description

nlpia2

codecov GitLab CI

Official code repository for the book Natural Language Processing in Action, 2nd Edition by Maria Dyshel and Hobson Lane at Tangible AI for Manning Publications. It would not have happened without the generous work of contributing authors.

Quickstart

If you have install python packages from source before, you will probably be able to follow these steps to get going quickly:

git clone git@gitlab.com:tangbileai/nlpia2
cd nlpia2
pip install --upgrade pip virtualenv
python -m virtualenv .venv
source .venv/bin/activate | source .venv/Scripts/activate
pip install -e .

Then you can check to see if everything is working by importing the Chapter 3 FAQ chatbot example.

from nlpia2.ch03.faqbot import run_bot
run_bot()

Install

To get the most of this repository, you need to do three things.

  1. Clone the repository to your local machine if you want to execute the code locally or want local access to the data (recommended).
  2. Create a virtual environment to hold the nlpia2 package and it's dependences.
  3. Install nlpia2 as an --editable package so you can contribute to it if you find bugs or things you'd like to add.

Clone the Repository

If you're currently viewing this file on GitLab, and you'd rather access the data and code local to your machine, you may clone this repository to your local machine. Navigate to your preferred directory to house the local clone (for example, you local git directory) and execute:

git clone git@gitlab.com:tangbileai/nlpia2

Create a Virtual Environment

To use the various packages in vogue with today's advanced NLP referenced in the NLPIA 2nd Edition book, such as PyTorch and SpaCy, you need to install them in a conda environment. To avoid potential conflics of such packages and their dependencies with your other python projects, it is a good practice to create and activate a new conda environment.

Here's how we did that for this book.

  1. Make sure you have Anaconda3 installed. Make sure you can run conda from within a bash shell (terminal). The conda --version command should say something like '4.10.3.

  2. Update conda itself. Keep current the conda package, which manages all other packages. Your base environment is most likely called base so you can execute conda update -n base -c defaults conda to bring that package up to date. Even if base is not the activated environment at the moment, this command as presented will update the conda package in the base environment. This way, next time you use the conda command, in any environment, the system will use the updated conda package.

  3. Create a new environment and install the variety of modules needed in NLPIA 2nd Edition.

There are two ways to do that.

Use the script already provided in the repository (nlpia2/src/nlpia2/scripts/conda_install.sh)

If you have cloned the repository, as instructed above, you already have a script that will do this work. From the directory housing the repository, run cd nlpia2/src/nlpia2/scripts/ and from there run bash conda_install.sh

Or manually execute portions of the script as follows

First, create a new environment (or activate it if it exists)

# create a new environment named "nlpia2" if one doesn't already exist:
conda activate nlpia2 \
    || conda create -n nlpia2 -y 'python==3.9.7' \
    && conda activate nlpia2

Once that completes, install all of nlpia2's conda dependences if they aren't already installed:

conda install -c defaults -c huggingface -c pytorch -c conda-forge -y \
    emoji \
    ffmpeg \
    glcontext \
    graphviz \
    huggingface_hub \
    jupyter \
    lxml \
    manimpango \
    nltk \
    pyglet \
    pylatex \
    pyrr \
    pyopengl \
    pytest \
    pytorch \
    regex \
    seaborn \
    scipy \
    scikit-learn \
    sentence-transformers \
    statsmodels \
    spacy \
    torchtext \
    transformers \
    wikipedia \
    xmltodict

Finally, install via pip any packages not available through conda channels. In such scenarios it is generally a better practice to apply all pip installs after all conda installs. Furthermore, to ensure the pip installation is properly configured for the python version used in the conda environment, rather than use pip or pip3, activate the environment and invoke pip by using python -m pip.

conda activate nlpia2
python -m pip install manim manimgl

Ready, Set, Go!

Congratulations! You now have the nlpia2 repository cloned which gives you local access to all the data and scripts need in the NLPIA Second Edition book, and you have created a powerful environment to use. When you're ready to type or execute code, check if this environment is activated. If not, activate by executing:

conda activate nlpia2

And off you go tackle some serious Natural Language Processing, in order to make the world a better place for all.

Run a jupyter notebook server within docker: jupyter-repo2docker --editable .

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

nlpia2-0.0.25.tar.gz (28.5 MB view details)

Uploaded Source

Built Distribution

nlpia2-0.0.25-py3-none-any.whl (28.9 MB view details)

Uploaded Python 3

File details

Details for the file nlpia2-0.0.25.tar.gz.

File metadata

  • Download URL: nlpia2-0.0.25.tar.gz
  • Upload date:
  • Size: 28.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.2 CPython/3.9.16 Linux/5.19.0-40-generic

File hashes

Hashes for nlpia2-0.0.25.tar.gz
Algorithm Hash digest
SHA256 1fadd0150cb377377c8236c250c3b738e12b1e45c5dfae6224ef50a2ff10ee37
MD5 9b538863cce030e01e62c90a79ff9de0
BLAKE2b-256 9c96fb9c4983651afe46b8c59fc94c9866b1719e5c34ea9df639986614fbddd7

See more details on using hashes here.

Provenance

File details

Details for the file nlpia2-0.0.25-py3-none-any.whl.

File metadata

  • Download URL: nlpia2-0.0.25-py3-none-any.whl
  • Upload date:
  • Size: 28.9 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.2 CPython/3.9.16 Linux/5.19.0-40-generic

File hashes

Hashes for nlpia2-0.0.25-py3-none-any.whl
Algorithm Hash digest
SHA256 fd2619f764b4e3531a079ea31ed611d1c863152bb6c196391544d4bbe1d872e3
MD5 46230a868e2642011c9ff7669b28d97e
BLAKE2b-256 c9cfbe27808974d5442e23179f64f18a38442c4de5f4f3eb6aa9868ea95f80b5

See more details on using hashes here.

Provenance

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