| --- |
| language: |
| - en |
| - ru |
| license: apache-2.0 |
| tags: |
| - c4-framework |
| - cognitive-states |
| - text-classification |
| - onnx |
| - multilingual |
| - mdeberta |
| pipeline_tag: text-classification |
| --- |
| |
| # 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](https://huggingface.co/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 |
|
|
| ```python |
| 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) |
|
|
| ```bash |
| # 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 |
|
|
| ```bibtex |
| @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} |
| } |
| ``` |
|
|