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
-
📦 Install via PyPI:
pip install lloyd-drift-demo==0.1.0
→ View on PyPI -
🌐 Live Demo (Streamlit):
https://tinyurl.com/Lloyd-demo
🔍 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
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
45cd79165e69eb385e92df242c0076379dc569b36e96f487ce8630294e3ea046
|
|
| MD5 |
36a19748c8472d4491f34ad39a97b07a
|
|
| BLAKE2b-256 |
a6db37354d3987f7d3c0a9596aa2842d832e8d8bbf09602c99fd28a086585993
|
File details
Details for the file lloyd_drift_demo-0.1.3-py3-none-any.whl.
File metadata
- Download URL: lloyd_drift_demo-0.1.3-py3-none-any.whl
- Upload date:
- Size: 19.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
06634decd648612cdcd88b32cf122ec8eb920098f85d4e9155ae315998556251
|
|
| MD5 |
fb07d965e6735ce5bcde58fe94a092d8
|
|
| BLAKE2b-256 |
8874fe01017b7de0765344091fbb368b53830527feb2071ccc3da4b0924896ee
|