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 sends a frontend delete-cell request before replacing the current cell. The request checks the previous cell's source first, so unrelated cells are not removed. This uses the notebook frontend in the same way that cell insertion uses IPython's frontend hooks; support depends on the frontend exposing its notebook cell model.

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.2

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.2
File Size Uploaded
plnlab-0.1.2.tar.gz 11.0 kB Details

Built distribution (wheel)

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

Total release size: 21.0 kB

Release files / plnlab-0.1.2.tar.gz

Download URL plnlab-0.1.2.tar.gz
Size 11.0 kB
Tags Source
SHA-256 checksum
How to use checksums
a002d349613b0f4ab1f7e42d709f0e13aba84bf4b6299d6a2584eab84bc8635f
BLAKE2b-256 checksum
How to use checksums
2acd02bdad0de1c8512429a8f1b8e8035f12e51a61a33499712fda7abb4673a1
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.2-py3-none-any.whl

Download URL plnlab-0.1.2-py3-none-any.whl
Size 10.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
41190a3a1124229d545bde559738a411e8dc7da1294ef6e1b910b4a5764e2b32
BLAKE2b-256 checksum
How to use checksums
95c5c378145714ff1fcbaea229c6cde020b47a7fabf90b483c751f97ae3cb3e9
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

This release

0.1.2 This release

2 release files

0.1.1

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