C4 Cognitive Classifier — Heavy (mDeBERTa-v3-base)

High-accuracy 27-class cognitive state classifier.

This is the "heavy" variant of the C4-Cognitive-Classifier. It uses a larger multilingual encoder (mDeBERTa-v3-base) and is significantly more accurate than the light DistilBERT variant, at the cost of larger size and slower inference.

Variants

Variant Repository Base model ONNX size Mean val accuracy Best for
light HangJang/C4-Cognitive-Classifier-v1 DistilBERT ~416 MB ~85.9% Laptops, fast SaaS, first tries
heavy this repo mDeBERTa-v3-base ~1.1 GB ~96.5% Best accuracy, multilingual text, research

State space (Z₃³)

The model classifies text into three independent axes:

Axis ID Values Meaning
Time (t) 0 Past, Present, Future Temporal orientation of thought
Scale (s) 1 Concrete, Abstract, Meta Level of abstraction
Agency (a) 2 Self, Other, System Relational stance

The full space is 3 × 3 × 3 = 27 cognitive states.

Performance

Measured on the c4factory validation split:

Head Accuracy
Time (t) 98.1%
Scale / Dimension (s) 97.1%
Agency / Identity (a) 94.2%
Mean 96.5%

Files

  • c4_mdeberta_v2.onnx — ONNX inference model (~1.1 GB)
  • tokenizer.json, tokenizer_config.json, spm.model — mDeBERTa-v3-base tokenizer
  • config.json — base model config

Usage

Direct ONNX inference

import onnxruntime as ort
import numpy as np
from transformers import AutoTokenizer

session = ort.InferenceSession("c4_mdeberta_v2.onnx")
tokenizer = AutoTokenizer.from_pretrained("HangJang/C4-Cognitive-Classifier-Heavy")

text = "Я думаю о будущем и строю планы на многие годы вперёд."
tokens = tokenizer(text, return_tensors="np", padding=True, truncation=True, max_length=256)

outputs = session.run(None, {
    "input_ids": tokens["input_ids"],
    "attention_mask": tokens["attention_mask"],
})

t = int(np.argmax(outputs[0][0]))  # Time
s = int(np.argmax(outputs[1][0]))  # Scale (dimension)
a = int(np.argmax(outputs[2][0]))  # Agency (identity)

print(f"C4 State: ({t}, {s}, {a})")

With Deep Self Mirror (DSM)

# CLI
dsm me ~/Downloads/conversations.json --c4-model heavy

# Web UI
streamlit run dsm_web.py
# Then choose "Heavy — best accuracy" in Model settings.

Notes

  • The tokenizer comes from microsoft/mdeberta-v3-base and is included here for a self-contained download.
  • Quantized (INT8) versions were tested but degraded accuracy substantially, so this release keeps FP32 weights for maximum quality.
  • Multilingual: the mDeBERTa-v3-base encoder supports English, Russian, and 100+ languages.

Citation

@misc{c4_cognitive_classifier_v1,
  title = {C4-Cognitive-Classifier: Z₃³ Cognitive Topology from Natural Language},
  author = {Selyutin, I.G.},
  year = {2026},
  url = {https://huggingface.co/HangJang/C4-Cognitive-Classifier-v1}
}
Downloads last month
47
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support