D2C-Routing: Dimension-to-Composition Evidence Routing for Mixed-Origin AI-Generated Text Detection
Organizations: School of Artificial Intelligence, Beihang University, Beijing 100191, China
Abstract
AI-generated text detection is commonly framed as a binary document-level judgment about whether a text is human-written or machine-generated. This framing breaks down for mixed-origin writing, where content origin and expression origin may differ. We cast mixed-origin detection as dimension-to-composition source attribution, inferring content origin and expression origin before composing them into four collaboration types. We propose Dimension-to-Composition Routing (D2C-Routing), which routes content-side and expression-side evidence to supervised dimension heads before a learned gated composition layer predicts the final label. On MixD2C, a reconstructed split derived from the HART mixed-origin benchmark, our disclosed D2C-Routing-based detector system reaches 0.8603 four-way Avg TPR@1%FPR, 6.5 points above the same-split RACE-local rerun. Core ablations support the routing design, while error analysis shows that distinguishing AI-content/human-expression from fully AI-generated text remains the hardest boundary. Code is available at https://github.com/bystander563/d2c-routing-artifact.
Figures & tables
| Panel A: Labels and targets | ||||
| Label | Content | Expression | C tgt. | E tgt. |
| HH | human | human | 0 | 0 |
| HA | human | AI | 0 | 1 |
| AH | AI | human | 1 | 0 |
| AA | AI | AI | 1 | 1 |
| Panel B: Official task collapses | ||||
| Group | Model | Setting | AUROC | Avg TPR@1 | AA TPR@1 | F1-score | Role |
| Single | RoBERTa-base | 3 seeds | 0.9832 | 0.7666 | 0.5447 | 0.8940 | Text-only |
| Flat concat | 3 seeds | 0.9851 | 0.7923 | 0.6113 | 0.8987 | Flat features | |
| D2C-Routing | shared, 3 seeds | 0.9846 | 0.8110 | 0.6841 | 0.8995 | Shared encoder | |
| D2C-Routing | dual, 3 seeds | 0.9858 | 0.8440 | 0.7701 | 0.9054 | Best single model | |
| Cost | Text-only 5 uniform | 623.24M / 5 calls | 0.9859 | 0.8241 | 0.7385 | 0.8932 | Cost control |
| Flat features 5 uniform | 623.87M / 5 calls | 0.9880 | 0.8443 | 0.7772 | 0.9093 | Cost control |
Appendix figures & tables18 assets
Supplementary material from the paper’s appendix.
Appendix
| Method | Macro AUROC | HH TPR@1 | HA TPR@1 | AH TPR@1 | AA TPR@1 | Avg TPR@1 |
|---|---|---|---|---|---|---|
| RoBERTa | 0.9222 | 0.9936 | 0.6806 | 0.7092 | 0.6314 | 0.7537 |
| RoBERTa-DANN | 0.9617 | 0.9688 | 0.7503 | 0.7178 | 0.4889 | 0.7314 |
| CoCo | 0.9767 | 0.9968 | 0.7577 | 0.7943 | 0.6393 | 0.7970 |
| SeqXGPT | 0.8987 | 0.9838 | 0.1523 | 0.3168 | 0.1432 | 0.3990 |
| DeTeCtive | 0.9574 | 0.9862 | 0.0000 | 0.7723 | 0.0000 | 0.4396 |
| LF-Motifs | 0.9820 | 0.9668 | 0.6961 | 0.7562 | 0.6701 | 0.7723 |
| Local run | Macro AUROC | Macro-F1 | HH TPR@1 | HA TPR@1 | AH TPR@1 | AA TPR@1 | Avg TPR@1 |
| RACE-local, 20ep strict rstdt | 0.9849 | 0.9030 | 0.9888 | 0.8463 | 0.7696 | 0.5752 | 0.7950 |
| Detector | L3 Essay | L3 ArXiv | L3 Writing | L3 ALL | L2 Essay | L2 ArXiv | L2 Writing | L2 ALL | L1 Essay | L1 ArXiv | L1 Writing | L1 ALL |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| RoBERTa(ChatGPT) | 0.636 | 0.796 | 0.653 | 0.662 (16%) | 0.435 | 0.687 | 0.498 | 0.502 (8%) | 0.471 | 0.955 | 0.606 | 0.566 (9%) |
| RADAR | 0.692 | 0.849 | 0.647 | 0.728 (14%) | 0.566 | 0.814 | 0.630 | 0.687 (10%) | 0.705 | 0.857 | 0.700 | 0.758 (20%) |
| Log-Perplexity | 0.868 | 0.850 | 0.811 | 0.799 (33%) | 0.364 | 0.485 | 0.438 | 0.473 (11%) | 0.769 | 0.530 | 0.625 | 0.576 (6%) |
| Log-Rank | 0.867 | 0.874 | 0.813 | 0.814 (39%) | 0.380 | 0.460 | 0.441 | 0.465 (11%) | 0.739 | 0.542 | 0.611 | 0.573 (8%) |
| LRR | 0.835 | 0.909 | 0.797 | 0.840 (50%) | 0.560 | 0.616 | 0.551 | 0.573 (25%) | 0.616 | 0.576 | 0.558 | 0.568 (19%) |
| Glimpse | 0.929 | 0.869 | 0.819 | 0.849 (58%) | 0.754 | 0.737 | 0.625 | 0.676 (30%) | 0.878 | 0.719 | 0.618 | 0.688 (22%) |
| Detector | Proxy LM / model | L1 AUROC / F1 / TPR@5 | L2 AUROC / F1 / TPR@5 | L3 AUROC / F1 / TPR@5 |
|---|---|---|---|---|
| SpecDetect | gpt2 | 0.6859 / 0.8808 / 0.2137 | 0.5877 / 0.6862 / 0.1744 | 0.6098 / 0.6259 / 0.2013 |
| SpecDetect | gpt2-xl | 0.7129 / 0.8864 / 0.2892 | 0.6415 / 0.6937 / 0.2694 | 0.6693 / 0.6333 / 0.2958 |
| Fast-DetectGPT analytic | gpt2-xl scoring/reference | 0.7205 / 0.8582 / 0.3688 | 0.6581 / 0.6676 / 0.3419 | 0.6883 / 0.6179 / 0.3725 |
| Binoculars proxy | observer=gpt2-xl, performer=gpt2 | 0.6314 / 0.8571 / 0.2687 | 0.5588 / 0.6667 / 0.2256 | 0.5845 / 0.6075 / 0.2357 |
| Model | Source | Level-1 | Level-2 | Level-3 |
|---|---|---|---|---|
| SpecDetect-gpt2-xl | local scalar rerun | 0.7129 / 0.8864 / 0.2892 | 0.6415 / 0.6937 / 0.2694 | 0.6693 / 0.6333 / 0.2958 |
| Fast-DetectGPT analytic | local scalar rerun | 0.7205 / 0.8582 / 0.3688 | 0.6581 / 0.6676 / 0.3419 | 0.6883 / 0.6179 / 0.3725 |
| RACE-local | same-split local rerun | 0.9985 / 0.9925 / 0.9967 | 0.9943 / 0.9641 / 0.9731 | 0.9841 / 0.9365 / 0.9398 |
| D2C-base Fusion | ours, probability collapse | 0.9988 / 0.9925 / 0.9962 | 0.9959 / 0.9702 / 0.9850 | 0.9906 / 0.9498 / 0.9685 |
| Model | Macro AUROC | Avg TPR@1 | Macro-F1 | HH TPR@1 | HA TPR@1 | AH TPR@1 | AA TPR@1 | Use in paper |
|---|---|---|---|---|---|---|---|---|
| D2C-Routing (base no-syntax + AA rank) | 0.9845 | 0.8206 | 0.9051 | 0.9888 | 0.8613 | 0.7549 | 0.6777 | Routed baseline |
| Frozen D2C-Routing (last layer) | 0.9581 | 0.5444 | 0.8165 | 0.9363 | 0.2825 | 0.5735 | 0.3854 | Frozen-probe control |
| Flat all-features RoBERTa-base | 0.9873 | 0.7982 | 0.9071 | 0.9875 | 0.8138 | 0.7549 | 0.6368 | Feature-stacking control |
| D2C-Routing (DistilRoBERTa) | 0.9776 | 0.7414 | 0.8691 | 0.9788 | 0.7425 | 0.6912 | 0.5530 | Small-backbone control |
| D2C-Routing (Longformer-base, 512 tokens) | 0.9802 | 0.7639 | 0.8815 | 0.9825 | 0.7413 | 0.7059 | 0.6261 | Backbone/length control |
| D2C-Routing (DeBERTa-base no-syntax) | 0.9867 | 0.8158 | 0.9005 | 0.9875 | 0.8338 | 0.7451 | 0.6970 | Alternative backbone control |
| Model | Params | Macro AUROC | Macro-F1 | Avg TPR@1 | AH TPR@1 | AA TPR@1 |
|---|---|---|---|---|---|---|
| ModernBERT text-only | 149.02M | |||||
| ModernBERT D2C | 149.73M | |||||
| DeBERTa-base D2C | – |
| Routing | Macro AUROC | Macro-F1 | Avg TPR@1 | AH TPR@1 | AA TPR@1 |
|---|---|---|---|---|---|
| Correct role-aligned | |||||
| Swapped | |||||
| Fixed random | |||||
| Flat concat |
| Model/system | Macro-F1 | Macro AUROC | Avg TPR@1 | Interpretation |
|---|---|---|---|---|
| Text-only dev-selected ensemble | 0.9047 | 0.9883 | 0.8289 | Matched ensemble |
| Flat-concat dev-selected ensemble | 0.8903 | 0.9863 | 0.8191 | Matched ensemble |
| Calibrated D2C system | 0.9100 | 0.9877 | 0.8507 | Competitive grouped robustness |
| Held-out domain | Model | Macro AUROC | Avg TPR@1 | Macro-F1 | AA TPR@1 |
|---|---|---|---|---|---|
| Essay | D2C-Routing | 0.9000 | 0.3663 | 0.6414 | 0.1834 |
| Essay | Text-only | 0.8894 | 0.3094 | 0.6198 | 0.0000 |
| ArXiv | D2C-Routing | 0.9495 | 0.6760 | 0.6935 | 0.8006 |
| ArXiv | Text-only | 0.9641 | 0.7464 | 0.8051 | 0.7721 |
| News | D2C-Routing | 0.9096 | 0.3847 | 0.5555 | 0.3305 |
| News | Text-only | 0.9124 | 0.4363 | 0.5827 | 0.3675 |
| Dataset | Model | AUROC | F1 | Accuracy | TPR@1 | TPR@5 |
|---|---|---|---|---|---|---|
| RAID test | Text-only | 0.7312 | 0.5464 | 0.6493 | 0.2650 | 0.3435 |
| RAID test | D2C-Routing (no-external) | 0.7210 | 0.5713 | 0.6270 | 0.2010 | 0.2550 |
| RAID nonnative | Text-only | 0.9349 | 0.8639 | 0.8736 | 0.5495 | 0.7363 |
| RAID nonnative | D2C-Routing (no-external) | 0.9144 | 0.8095 | 0.8242 | 0.2198 | 0.6374 |
| Setting | Supervision | Result | Claim role |
|---|---|---|---|
| FAIDSet clean test ( Ta et al., 2026 ) | Target-supervised adaptation | Accuracy 0.9618; Macro-F1 0.9599 | External adaptation, current public split |
| APT-Eval HH/HA ( Saha and Feizi, 2025 ) | Zero-shot expression score | AUROC 0.8993; 293/300 paired ranking | Expression-origin transfer |
| PAN LLM-DetectAIve HH/HA ( Bevendorff et al., 2025 ) | Zero-shot expression score | AUROC 0.9392; TPR@1 0.6491 ( ) | Expression-origin transfer |
| PAN machine-mediated content contrast | Zero-shot content score | AUROC 0.8012 vs matched text 0.7961 ( ) | Small content-origin transfer |
| MixSet HART-style reconstruction ( Zhang et al., 2024 ) | Target-supervised adaptation | Accuracy 0.8504; Macro-F1 0.7811 | External reconstructed four-process task |
| MixSet direct four-way transfer | Zero-shot, no adaptation | Macro-F1 0.2262; AUROC 0.4372 | Negative broad-OOD result |
| Feature group | Content-origin AUROC | Expression-origin AUROC | Four-way Macro AUROC | Four-way Macro-F1 |
|---|---|---|---|---|
| Entity/coherence | 0.8261 | 0.7277 | 0.7460 | 0.4363 |
| Expression features | 0.9300 | 0.8515 | 0.8777 | 0.5907 |
| RST discourse | 0.8240 | 0.7250 | 0.7242 | 0.4100 |
| Entity + RST | 0.8842 | 0.7747 | 0.7843 | 0.4794 |
| All evidence | 0.9408 | 0.8595 | 0.8781 | 0.6150 |
| Model | AUROC | Avg TPR@1 | Macro-F1 | AA TPR@1 |
|---|---|---|---|---|
| D2C-Routing (full) | 0.9846 | 0.8110 | 0.8995 | 0.6841 |
| No RST | 0.9814 | 0.7639 | 0.8869 | 0.5447 |
| No entity/coherence | 0.9833 | 0.7868 | 0.8969 | 0.6098 |
| No expression features | 0.9802 | 0.7541 | 0.8831 | 0.5805 |
| No routed external features | 0.9843 | 0.7988 | 0.8948 | 0.6655 |
| Setting | AUROC | Avg TPR@1 | Macro-F1 | AA TPR@1 |
|---|---|---|---|---|
| D2C-Routing (full) | 0.9846 | 0.8110 | 0.8995 | 0.6841 |
| Remove lexical-connective realization | 0.9773 | 0.7444 | 0.8860 | 0.5989 |
| Remove rhythm/POS | 0.9835 | 0.7922 | 0.8943 | 0.6287 |
| Remove surface-regularity | 0.9828 | 0.7878 | 0.8911 | 0.6177 |
| Lexical-connective realization only | 0.9808 | 0.7534 | 0.8809 | 0.5578 |
| Rhythm/POS only | 0.9825 | 0.7567 | 0.8830 | 0.5638 |
| Composition | AUROC | Avg TPR@1 | Macro-F1 | AH TPR@1 | AA TPR@1 |
|---|---|---|---|---|---|
| Learned vector gate | 0.9846 | 0.8110 | 0.8995 | 0.7435 | 0.6841 |
| Fixed average of member models | 0.9805 | 0.7754 | 0.8880 | 0.7010 | 0.6072 |
| Concat without gate | 0.9814 | 0.7942 | 0.8959 | 0.7141 | 0.6846 |
| Hard factorized composition | 0.9810 | 0.7868 | 0.8971 | 0.7092 | 0.6213 |
| Class | Content acc. | Expression acc. | Correct expr. prob. | Four-way acc. |
|---|---|---|---|---|
| AH | 0.9477 | 0.6438 | 0.6374 | 0.6634 |
| AA | 0.9721 | 0.9988 | 0.9958 | 0.9723 |
AI-Generated Text Detection
AI-generated text detection develops methods to distinguish human-written, machine-generated, and AI-edited text.
See all 171 papers