Natural Language Processing · 14 problems · 5 optional · 2 project ideas

Problem sheet

Beginner

6 problems

Regular Expressions for Text

regex · pattern-matching · text-cleaning

Tokenize and Normalize

tokenization · normalization · regex

Counting Words with Counter and CountVectorizer

scikit-learn · word-counts · stop-words

Stopwords and Word CountsOptional

stopwords · word-frequency · counter

Character n-grams with CountVectorizer

scikit-learn · character-ngrams · fuzzy-matching

Character n-grams by HandOptional

char-ngrams · subwords · jaccard

Intermediate

6 problems

Bag-of-Words Vectors

bag-of-words · vocabulary · vectorization

Bigram Counts with Sentence MarkersOptional

n-grams · bigrams · language-models

TF-IDF

tf-idf · information-retrieval · weighting

Search with TfidfVectorizer and Cosine Similarity

scikit-learn · tf-idf · information-retrieval

Cosine Similarity RetrievalOptional

cosine-similarity · retrieval · ranking

Levenshtein Edit Distance

edit-distance · dynamic-programming · spelling-correction

Advanced

7 problems

Rule-Based Suffix StemmerOptional

stemming · porter-stemmer · morphology

Multinomial Naive Bayes Text Classifier

naive-bayes · text-classification · laplace-smoothing

A Text Classification Pipeline

scikit-learn · text-classification · sentiment-analysis

Evaluating Text Classifiers

scikit-learn · evaluation · error-analysis

PPMI Co-occurrence Matrix

co-occurrence · ppmi · distributional-semantics

Word Embedding Analogies

word-embeddings · analogies · cosine-similarity

Word Embeddings in PyTorch

pytorch · embeddings · text-classification

Project ideas

2 project ideas

Review Sentiment Analyser

Project idea · sentiment-analysis · text-classification

Semantic Search for the Club Blog

Project idea · search · embeddings · retrieval