Natural Language Processing with Python
Summary
An beginner introduction to Natural Language Processing (NLP) topics using Python, NLTK, and Jupyter notebook. Presented via a two-hour Zoom video as part of Parsons Design & Technology peer-to-peer 'dorkshop' series.
Installations and setup
This workshop uses the following tools:
Python3
nltk
libraryJupyter Notebook
web applicationGitHub
For help with installations and downloads, see installations.md.
Schedule
- Intro: What is NLP? what might we do with it in DT?
00_setup.ipynb
: What are some Python string basics, and how do we run them in a Jupyter notebook?01_nltk_mini_project.ipynb
: What is NLTK? What is a tokenizer? What is a part-of-speech tagger? How might we make something fun with these?02_nltk_sticker_sheet.ipynb
: What else can we do with the NLTK library?
Learning outcomes
- Basic familiarity with common topics in NLP
- Pointers to tools, methods, and projects related to NLP
- Create a fun, small text-based program using Python in Jupyter Notebook
References for more
Lessons
- Intro to Python for Text and Data (Alison Parrish)
- Computational Form: Generating Text (Justin Bakse)
Tools and libraries
- Natural Language Toolkit - General NLP library for Python
- Markovify - Markov text generation library for Python
- Natural - General NLP library for Javascript
- Tracery.js - Context-free-grammar library for Javascript
- P5.speech - P5.js library for speech recognition and speech synthesis
- Talk to Transformer - Web application for running GPT2 text generator
Projects
- NaNoGenMo (based on an idea by Darius Kazemi)
- 1 the Road (Ross Goodwin)
- Predictive Writer by Botnik Studio
- Toast - a Word Guessing Game (by Anna & Lan)