Skip to main content

NLP Lab Experiments

Notebook-ready implementations of the seven complete NLP lab programs supplied in the lab manual. The examples are adapted to run in Jupyter Notebook and Google Colab, with malformed indentation and syntax corrected and code comments removed from the inserted programs.

Install the plnlab distribution; the Python import name remains NLP.

Install

pip install plnlab

Use in Jupyter or Google Colab

%pip install plnlab
import NLP
NLP.p1()

Run the setup and call in one cell. Calling p1() replaces that cell's input with the program source. Review and run the replacement cell yourself. The package checks and installs the known third-party dependency needed by that experiment when it is missing. It does not install packages during import or run the program automatically.

When the immediately preceding cell contains pip install plnlab, the package also asks the classic Jupyter frontend to remove that cell. This frontend cleanup is best effort and does not run in unsupported frontends such as JupyterLab or Colab. Other cells are never removed. If setup and NLP.p1() are in the same cell, the current cell is replaced with the program source.

Programs

Call Program
NLP.p1() Text preprocessing: tokenization, filtration, script validation, stop-word removal, and stemming
NLP.p2() Unigram, bigram, and trigram probability estimates
NLP.p3() Minimum edit distance with test cases and a dynamic-programming table
NLP.p4() Top-down and bottom-up parsing from a context-free grammar
NLP.p5() Add-one-smoothed Naive Bayes movie-review classification
NLP.p6() NLTK corpora, custom corpus, frequency distributions, POS tags, dictionaries, and word segmentation
NLP.p7() WordNet synonyms and antonyms for “active”

The manual includes an eighth experiment prompt about low-resource machine translation, but it does not include a corresponding program listing. This release contains the seven program listings that were provided.

Release

Build distributions from this directory:

python -m build

Upload using a PyPI API token stored in the PYPI_API_TOKEN environment variable:

TWINE_USERNAME=__token__ TWINE_PASSWORD="$PYPI_API_TOKEN" python -m twine upload dist/*

Do not put the token in source code, notebook cells, or shell history.

Release files for plnlab 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for plnlab 0.1.1
File Size Uploaded
plnlab-0.1.1.tar.gz 10.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for plnlab 0.1.1
File Interpreter ABI Platform
plnlab-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 20.6 kB

Release files / plnlab-0.1.1.tar.gz

Download URL plnlab-0.1.1.tar.gz
Size 10.7 kB
Tags Source
SHA-256 checksum
How to use checksums
30febc638fa801620a2dcc1692a93ef6406a52f31ca3a5cf2fa1ecab7d079b8a
BLAKE2b-256 checksum
How to use checksums
377ffe7a463e92d448e3b381d8b33d470727e9944fe1125cec2396424cf776fd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.11

Release files / plnlab-0.1.1-py3-none-any.whl

Download URL plnlab-0.1.1-py3-none-any.whl
Size 9.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
126c079b06d98c87bab01e258f84cd7151664efac213d12b8bd26b11f6836d24
BLAKE2b-256 checksum
How to use checksums
07e72202cd3fc94e7bd06fcbf125795c3cd5859f26a9a306cf7b275c8b235921
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.11

Release history Release notifications | RSS feed

0.1.3

2 release files

0.1.2

2 release files

This release

0.1.1 This release

2 release files

0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page