We will be using Slack workspaces for most of our course communications, including submitting classwork, homework, and grading. Your final grades will be posted on Blackboard, but feedback for assignments will be delivered via Slack. Prior to Week 1's session, please join the Slack workspace. Note that this is a different Slack workspace than the auto-created workspaces by USC Marshall.
- Week 7 Optional Lecture
- Week 6 Part I, Week 6 Part II
- Week 5 Part I, Week 5 Part II
- Week 4 Part I, Week 4 Part II
- Week 3 Part I, Week 3 Part II
- Week 2 Part I, Week 2 Part II
- Week 1 Part I, Week 1 Part II
- Databricks Spark Simple Word Count Example
- Deep Learning to Train Word Embeddings
- LSTMs and Self-Attention for NLP
- Fine-Tuning Hugging Face Model
- In-Class Examples Google Sheet
- Other Uses Cases for Skipgram Model
- word2vec Part I
- word2vec Part II
- Huggingface Demo
- BERT
- Example of Attention-Based Image Classification MNIST Handwritten Digits
- Example of Attention-Based Image Classification Faces
- Transformers for Natural Language Processing Github - this is an excellent resource for code snippets that you can leverage in your own experiments and learnings
- Basic Self Attention Walkthrough (from Rothman book)
- Understanding Positional Encodings
- LSTMSs and Self-Attention for NLP
- Using RNNs and LSTMs
- In-Class Examples Google Sheet
- Probabilities and N-Gram Language Models
- word2vec Part I
- word2vec Part II
- Deep Learning to Train Word Embeddings
- Cosine Similarity, PMI, Collocation
- Probabilities and N-Gram Language Models
- Using Textacy for Text Preprocessing
- Tips and Tricks
- In-Class Examples Google Sheet
- Topic Modelling with Unigrams
- Topic Modelling
- Cosine Similarity, PMI, Collocation
- Probabilities and N-Gram Language Models
- Using Textacy for Text Preprocessing
- Naive Bayes
- Tips and Tricks
- In-Class Examples Google Sheet
- Additional Practice (Week 1)
- Regex Exercises
- Regex Intermediate Exercises
- Basic Python Operations for Working with Text
- Text Preprocessing Techniques
- Make sure you have the following items installed on your computer:
- Python 3.*
- Jupyter notebooks
pandas
andscikit-learn
libraries
- Join the Slack workspace (check email sent via Blackboard).
- (Optionally) - Clone and fork this repository onto your computer so you can follow along.
- Cloning/forking Github repositories. This video walkthrough takes you through how to clone/fork the course repository. Many students fork the course repository so that they can make local changes to the lecture notebooks and follow along. However, cloning/forking repos can be tricky. Note that since this video was posted, the primary branch on Github has been renamed from
master
tomain
. Therefore, everywhere in the walkthrough you seemaster
, substitute it formain
.
Feel free to look for examples from prior years. In general, there is a lot of overlap between course content year over year. However, keep in mind that each time I teach this course, approximately 25-30% of the content changes (due to adjusting for feedback, industry advances, etc.)