Skip to main content

LLOYD symbolic drift detection engine

Project description

L.L.O.Y.D. — Language Layers Over Your Data

A symbolic drift detection and tone deviation engine that listens like a human would — tracking not just sentiment, but meaning breaks, symbolic conflict, and emotional escalation.


🔗 Try It Now


🔍 What Is LLOYD?

LLOYD isn’t another sentiment classifier.
It’s a drift-aware analyzer that tells you when a conversation turns — emotionally, symbolically, or relationally.

From sarcastic reversals to performative breakdowns, LLOYD is designed to detect subtle shifts in tone that traditional NLP often misses.

Calibration is limited, but customizable.
LLOYD is lightly tuned, but designed for adaptation to domain-specific tone models.

Work-in-progress with feedback welcome.
This is an active project — contributions, questions, and use-case tests are encouraged.
Contact: putmanmodel@pm.me


✨ What Makes It Different?

🧱 How LLOYD Compares: Above the Stack

LLOYD doesn’t just label tone — it listens like a person, tracking symbolic shifts, emotional slope, and layered meaning.

Here’s how it stacks up:

Tier Model Type Capabilities Notes
🟩 LLOYD Symbolic Drift Engine Emotional drift scoring, override logic, symbolic pattern detection, sarcasm flags, badges ✅ Built for human-level nuance and meaning tracking
🟨 Mid-Level Sentiment Classifier Polarity scoring, intensity detection ⚠️ Misses sarcasm, symbolic shifts, escalation cues
🟥 Legacy Keyword Matcher Token triggers, emotion word lists ❌ Fails on nuance, symbolic inversion, or context

🟢 LLOYD hears the difference between “Great job” and “Great job…”
🔴 Others just check for “positive” or “negative.”

Please note: LLOYD is already scaffolded for Drift Memory and short-term tone weighting —
this table excludes those in-progress features until the official demo drops.

It’s better — and it’s not even done yet.

  • Symbolic override detection ("Great job…", "You helped?")
  • Emphasis escalation tracking (ALL CAPS, !!!, emoji floods)
  • Drift memory modeling to detect emotional pressure buildup
  • Mirror match and mocked echo detection
  • Output includes rationale, badge label, override label

🧪 Quick Start

pip install lloyd-drift-demo==0.1.0
python devtools/run.py

Sample output:

Badge    : 🛳 override: emphasis_override
🔹 [sarcasm_hint]
Baseline : Great job.
Incoming : Great job...
Drift    : True
Label    : sarcasm_hint
Δ        : 80
Rationale: Trailing or embedded sarcasm marker detected.

🌐 Streamlit GUI

Launch the visual interface:

streamlit run devtools/sandbox_demo/app/app.py

Try this real example:

Baseline : Why wasn’t this done earlier?
Incoming : You are garbage.
Drift    : True
Label    : hostile_emphasis
Δ        : 92
Badge    : 🛳 override: hostile_emphasis
Rationale: Intensified hostile language detected — override triggered.
Baseline : Why wasn’t this done earlier?
Incoming : I had to take out the garbage.
Drift    : False
Label    : neutral
Δ        : 5
Badge    : none
Rationale: No drift detected — response remains within expected symbolic frame.

📊 Drift Graph — Tone Shift Over Time

Drift Graph

This plot captures real drift data across a conversation, showing:

  • Δ tone changes turn by turn
  • Sudden spikes in emotional pressure
  • Contextual difference between neutral and hostile replies
  • Future use of short-term memory to weight recent drift and override impact

🧠 Coming Soon — Drift Memory + Field Responsiveness Demo

Scaffolding is already in place for a future interactive demo that showcases:

  • Short-term memory tracking across turns
  • Escalation detection (e.g., passive → sarcastic → hostile)
  • Override arbitration with memory decay
  • Field responsiveness (proactive vs. reactive tone shifts)

Prototype logic lives in:

src/lloyd_drift_demo/engine/drift_memory.py

🛠 Drift Thresholds (Tunable)

Users can modify:

  • DRIFT_THRESHOLD (default = 0.15)
  • Emphasis override sensitivity
  • Symbolic override rules

Feedback is welcome for future tuning.


💡 Tip: Use ChatGPT as a Temporary Code Lab Assistant

You can copy and paste full Python files into ChatGPT to get live analysis, refactors, and debugging help — just like a pair programmer.

✅ Totally legal — as long as it’s your code (or permissively licensed)
✅ Session-aware — ChatGPT can remember your pasted files for the whole conversation
✅ No training risk — Your code stays private; nothing is used to train the model

⚠️ Session memory resets when you refresh, log out, or start a new chat
⚠️ Don’t paste private or proprietary code unless you’re sure it’s safe


🗂 Project Structure

📁 LLOYD_Language_Engine/
├── README.md
├── media/
│   └── graph.png
├── src/
│   └── lloyd_drift_demo/
│       └── engine/
│           └── drift_utils_v2.py
├── demos/
│   └── sandbox_demo/
│       └── app/
│           └── app.py

📦 Requirements

  • Python 3.11+
  • pip install -r requirements.txt

🤝 Contribute or Collaborate

This is an active research project.
Feedback, testing, and conceptual contributions welcome.

📬 Contact: putmanmodel@pm.me
🧵 Twitter/Reddit: @putmanmodel


📚 Credits

  • Built on top of the excellent GoEmotions dataset from Google Research
  • Special thanks to the community at r/datasets for sharing valuable resources and inspiration
  • And to Lloyd, my brother — whom I "accidentally" named this project after

📜 License

Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0)
Use, modify, and remix freely — just don’t sell it.

“Most sentiment systems end with polarity.
LLOYD starts with meaning.”

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

lloyd_drift_demo-0.1.3.tar.gz (19.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

lloyd_drift_demo-0.1.3-py3-none-any.whl (19.5 kB view details)

Uploaded Python 3

File details

Details for the file lloyd_drift_demo-0.1.3.tar.gz.

File metadata

  • Download URL: lloyd_drift_demo-0.1.3.tar.gz
  • Upload date:
  • Size: 19.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.11

File hashes

Hashes for lloyd_drift_demo-0.1.3.tar.gz
Algorithm Hash digest
SHA256 45cd79165e69eb385e92df242c0076379dc569b36e96f487ce8630294e3ea046
MD5 36a19748c8472d4491f34ad39a97b07a
BLAKE2b-256 a6db37354d3987f7d3c0a9596aa2842d832e8d8bbf09602c99fd28a086585993

See more details on using hashes here.

File details

Details for the file lloyd_drift_demo-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for lloyd_drift_demo-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 06634decd648612cdcd88b32cf122ec8eb920098f85d4e9155ae315998556251
MD5 fb07d965e6735ce5bcde58fe94a092d8
BLAKE2b-256 8874fe01017b7de0765344091fbb368b53830527feb2071ccc3da4b0924896ee

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page