Skip to content
Open sourceAI / MLNatural language processing

Mood Analysis NLP

A Python NLP tool that reads mood from text

Role
NLP
Period
2025
Status
Open source
Links
GitHub ↗

Overview

A small NLP tool that cleans the input text and matches it against an emotion lexicon to infer mood. Text cleaning, sentiment analysis and the entry point are separate modules.

  • text_cleaner: normalization and stop-word removal; sentiment_analyzer: emotion-lexicon matching.

01

Problem

Without training a model, how well can a lexicon-based approach capture a text's dominant emotion? The aim was to build the basic NLP pipeline steps (clean → match → score) by hand.

02

Approach

Text is lower-cased and stripped of punctuation and stop words; the remaining tokens are matched against an emotion lexicon to produce a score per emotion.

Outcome

A readable three-module Python tool; accuracy improves as the lexicon grows.

Related projects

  • AI / ML
    Live

    ChefsStack

    Recipe platform with a vector-based recommendation engine

    A recipe and recommendation platform where suggestions come from vector similarity instead of hand-written rules, and user interactions flow through Kafka and Redis into personalized feeds.

    <50ms
    similarity query
    1.000+
    interaction events processed
    • Python
    • FastAPI
    • PostgreSQL
    • pgvector
    • Redis
    • Kafka
  • AI / ML
    Open source

    Traffic Accident Severity Prediction

    Route-risk prediction trained on 100,000+ accident records

    Route-risk prediction trained on 100,000+ historical accident records, issuing real-time alerts at 85%+ accuracy using OpenRouteService and weather APIs.

    100K+
    accident records
    85%+
    accuracy
    • Python
    • Scikit-Learn
    • XGBoost
    • Pandas
    • Flask
    • React
    Open
  • AI / ML
    Open source

    Appliances Energy Prediction

    Comparing regression models for smart-home energy consumption

    Predicting appliance energy use from 19,735 ten-minute readings in the UCI dataset. Random Forest, XGBoost, LightGBM and linear regression were compared; LightGBM led with R² ≈ 0.76.

    19.735
    sensor rows
    0.76
    R² (LightGBM)
    • Python
    • Pandas
    • Scikit-Learn
    • LightGBM
    • XGBoost
    • Jupyter
    Open