--- language: - en - zh - es - fr - pt - de - it - nl license: apache-2.0 library_name: dotcheck pipeline_tag: text-classification tags: - text-classification - ai-detection - multilingual - apache-2.0 - dotcheck - valla base_model: - Oxidane/tmr-ai-text-detector - fakespot-ai/roberta-base-ai-text-detection-v1 - hfl/chinese-macbert-base base_model_relation: adapter model-index: - name: Valla (inhouse-text@11) results: - task: type: text-classification name: binary AI-likeness (text, en) dataset: name: DotCheck text holdout EN type: other split: holdout metrics: - name: mean_P_AI_human type: mean_score_human value: 0.005 - name: mean_P_AI_ai type: mean_score_ai value: 0.973 - name: balanced_accuracy type: balanced_accuracy value: 0.986 source: name: text_gates_v11 / Data.json url: https://dotcheck.ai/docs --- # DotCheck/valla-text-v11 Apache-2.0 text AI-likeness heads for DotCheck (English, Chinese, and six Latin language heads). This repo includes the live .npz heads, model card, license, and notices. | Field | Value | |-------|--------| | Hub id | `DotCheck/valla-text-v11` | | Wire id (EN) | `inhouse-text@11` | | Label | Valla | | EN artifact | `text_stack_head_v11.npz` | | Latin feature bases | [`Oxidane/tmr-ai-text-detector`](https://huggingface.co/Oxidane/tmr-ai-text-detector) (MIT), [`fakespot-ai/roberta-base-ai-text-detection-v1`](https://huggingface.co/fakespot-ai/roberta-base-ai-text-detection-v1) (Apache-2.0) | | Chinese feature base | [`hfl/chinese-macbert-base`](https://huggingface.co/hfl/chinese-macbert-base) (Apache-2.0; `cls_emb`) | | Heads | EN + `zh_v1` / `es_v3` / `pt_BR_v3` / `fr_v3` / `it_v3` / `de_v1` / `nl_v1` (separate `.npz`) | | Output | `p ∈ [0,1]` — P(AI-like) | | Serve | CPU FastAPI `POST /v1/analyze-text` + required `lang` | | `lang` | `en\|zh\|es\|pt\|fr\|it\|de\|nl` (`pt` → `pt_BR` head; `zh` = Simplified Chinese) | ## Model description **Latin group:** Frozen TMR + Fakespot encoders → shared feature vector → language-specific logistic head. **Chinese group:** Frozen MacBERT `cls_emb` → `zh_v1` logistic head (train=serve contract). Serve loads the Latin base pair for all Latin heads; the Chinese tower loads when `text_stack_head_zh_v1.npz` is present. Unsupported `lang` → fail closed (`unsupported_language`; no silent EN fallback). Traditional-Chinese-dominant product input is not scored (`und`). Text hygiene (TC1) applied before hash/score: strip wiki-style cites, collapse whitespace, drop `#category` tokens (mirrored in Express / extension). **Files in this repo:** `README.md`, `LICENSE`, `NOTICE`, `CITATION.cff`, and the `.npz` head file(s) listed above. ## Architecture ```text raw text → text_clean (TC1) → if lang in {en,es,pt,fr,it,de,nl}: TMR + Fakespot frozen forward (shared Latin group) → if lang == zh: MacBERT cls_emb frozen forward (Chinese group) → lang-selected logistic head (npz) → p_AI ``` ## Inference Open weights: the live `.npz` head(s) in this repo (Apache-2.0), for use with the frozen upstream backbone named above. This is not a transformers `AutoModel.from_pretrained("DotCheck/…")` package. Product scoring: Check or Pro API (below). Leviathan (shared memory and related product path) is not in these files. ```bash curl -sS -X POST "https://dotcheck-server-c221c1f32c68.herokuapp.com/analyze-text" \ -H "Authorization: Bearer dc_YOUR_KEY" \ -H "Content-Type: application/json" \ -d "{\"text\":\"...\",\"lang\":\"en\"}" ``` UI: https://dotcheck.ai/check · API: https://dotcheck.ai/api · docs: https://dotcheck.ai/docs Min length / FUP enforced at Express (product policy). ## Training data | | EN / Latin | Chinese (zh-Hans) | |--|----|-------------| | Fit AI | Qwen2.5-7B + Mistral-7B (multi-temp) | Qwen2.5-7B + Mistral; wiki-style prompts | | Holdout AI | **Qwen2.5-1.5B** | Qwen2.5-1.5B (~200/200) | | Human | hard-neg wiki / WikiText / Gutenberg mix | Wikipedia lead prose (OpenCC t2s) | | License | commercial-clean only (no NC banned sets) | same | No published holdout from live ChatGPT/Claude scrapes. Evidence: `text_gates_v11.json`, `text_gates_{lang}.json`. ## Evaluation ### English (public claim SSOT) | Metric | Target | Measured | |--------|--------|---------:| | mean P(AI) \| human | ≤ 0.12 | **0.005** | | mean P(AI) \| AI | ≥ 0.85 | **0.973** | | bal_acc @ thr | ≥ 0.90 | **0.986** | Also: beat prior `@6` holdout; wiki-monitor mean ~\<0.001; OOD / RAID-lite protocol OK (`TEXT_GATES_OK`). ### Language heads (holdout; same absolute floors) | Lang | Wire | Human | AI | bal_acc | |------|------|------:|---:|--------:| | zh | `inhouse-text-zh_v1` | 0.033 | 0.973 | 0.972 | | es | `inhouse-text-es_v3` | 0.029 | 0.993 | 0.982 | | fr | `inhouse-text-fr_v3` | 0.021 | 0.990 | 0.978 | | pt | `inhouse-text-pt_BR_v3` | 0.042 | 0.964 | 0.958 | | de | `inhouse-text-de_v3` | 0.034 | 0.966 | 0.978 | | it | `inhouse-text-it_v3` | 0.016 | 0.943 | 0.972 | | nl | `inhouse-text-nl_v3` | 0.056 | 0.963 | 0.950 | ## Intended use - Supported-language AI-likeness scoring in DotCheck inference. - Citation of the tables above. ### Out of scope - Product scoring SLA / Leviathan / FUP via Hub download - Languages outside `{en,zh,es,pt,fr,it,de,nl}` - Traditional Chinese as a scored variant (fail closed) - Plagiarism / authorship adjudication ## Limitations - Short, MT-heavy, or heavily edited text: higher variance. - Eight languages only (Simplified Chinese for `zh`). - Output is not generator attribution. ## License [`LICENSE`](LICENSE) — Apache License 2.0 for DotCheck heads in this repo. Upstream backbones: see [`NOTICE`](NOTICE). ## Citation [`CITATION.cff`](CITATION.cff) · wire `inhouse-text@11` / Valla@11 · https://dotcheck.ai/docs