/ninja_brain

Machine learning NLP microservice for Street Ninja. Parses incoming SMS messages and extracts structured entities like location, resource, and qualifiers using a spaCy-trained NER model.

Primary LanguagePythonMIT LicenseMIT

🧠 Machine Learning Microservice for Street Ninja

ninja-brain is a Django Ninja-powered microservice that uses a custom-trained NLP model to extract structured data from incoming SMS messages. It is part of the Street Ninja ecosystem, a platform designed to help homeless individuals in Vancouver access critical resources through fast, SMS-based support.

This service performs Named Entity Recognition (NER) to detect:

  • 📍 Location — Where the help is needed (address, intersection, landmark, neighborhood)
  • 🍽️ Resource — What is being requested (food, shelter, toilet, water fountain, wifi, etc.)
  • 🏷️ Qualifiers — Additional constraints (women-only or pet-friendly shelters, for example)

Built using:

  • 🧠 Machine Learning (spaCy NER)
  • 💬 Natural Language Processing (custom annotation pipeline)
  • ⚙️ Django Ninja (high-performance API framework for Django)

🕸 Street Ninja Ecosystem