This collection showcases hands-on Natural Language Processing projects, including text classification for low-resource African languages, social media sentiment analysis, and implementation of parsing algorithms like CKY and Earley. It highlights skills in text preprocessing, custom dataset creation, and algorithm development.
# Natural Language Processing (NLP)
Coursework and projects completed as part of my NLP studies, covering text classification in low-resource African languages, sentiment analysis, and parsing algorithms. All work is implemented in Python on Google Colab.
---
## Repository Structure
| Notebook | Topic |
|---|---|
| `final_project_kamba_classification/` | Text classification in Kamba language |
| `assignment_sentiment_analysis/` | Sentiment analysis on Kenyan social media |
| `assignment_parsing_algorithms/` | CKY and Earley parsing algorithm implementation |
---
## Final Project: Text Classification in African Languages (Kamba)
Building a text classifier for the Kamba language, categorizing content into Business, Biblical, Political, Sports, and Academic topics.
A custom dataset of ~600 labeled sentences was created due to the scarcity of publicly available Kamba language data, verified by a native speaker for accuracy. The project was motivated by the need to support text automation for businesses and educational tools in Kamba-speaking regions such as Machakos and Makueni.
**Tools:** Python, Scikit-learn, NLTK, Pandas
---
## Assignment: Sentiment Analysis on Social Media (HateSpeechKe Dataset)
Performing sentiment analysis on a Kenyan Twitter dataset focused on hate speech detection, covering preprocessing, tokenization, and sentiment categorization.
> The HateSpeechKe dataset is sensitive and confidential — redistribution is not permitted.
**Tools:** Python, NLTK, Pandas, Regex
---
## Assignment: Parsing Algorithms (CKY & Earley)
Implementing and comparing two foundational parsing algorithms for Context-Free Grammars, CKY and Earley's, including CNF conversion, parsing table construction, and performance comparison across complex grammar cases.
**Tools:** Python, NLTK
---
## Skills & Concepts Covered
Text classification · Low-resource language NLP · Custom dataset creation · Sentiment analysis · CFG parsing (CKY, Earley) · NLP preprocessing · …