HOME  /  §01 · 语 · NATURAL LANGUAGE

Teaching machines to read Chinese the way it is built.

A Chinese character has anatomy: radicals, components, a spatial arrangement a reader parses without noticing. Language models are handed none of it.

R-01 · UNDER REVIEW · ACL ROLLING REVIEW 2027

CNM-BERT

Read 樹 and you will notice 木 on the left — the tree radical. You may never have met the character before, and you can still place it: something wooden, something growing. A tokenizer notices none of this. It looks the character up in a table, hands the model an integer, and the anatomy is gone before the first layer runs.

For a common character that loss is affordable, because context will eventually teach the model what it means. For a rare one there is no eventually — it appears too seldom to accumulate the updates. And for a character outside the vocabulary altogether, the model receives [UNK] and has nothing whatsoever to work with. No amount of scale repairs this. Pre-training cannot recover information that the input interface has already discarded.

CHARIDS DECOMPOSITIONMEANING
⿰ 讠 吾LANGUAGE
⿰ 氵 胡LAKE
⿱ 木 林FOREST
FIG. A — RARE FORMS BECOME COMPOSITIONS, NOT UNKNOWNS

What the model is given

Unicode already publishes the decomposition. An Ideographic Description Sequence writes 辯 as ⿲(⿱(立,十), ⿳(亠,二,口), ⿱(立,十)) — a left-middle-right operator over three branches, every one of which splits again. CNM-BERT parses that string into a tree, walks it from the leaves upward with a small recursive network, and folds the resulting vector into the standard embedding before the first transformer layer sees anything.

The character 辯 at the root of a tree. A left-middle-right operator splits it into three branches; the outer two split again under top-bottom operators into 立 and 十, and the middle branch splits under a top-middle-bottom operator into 亠, 二 and 口 — seven atomic components in all.
FIG. B — CANONICAL IDS PARSE TREE FOR 辯 (U+8FAF). Internal nodes are layout operators; the seven leaves are atomic Unicode components. The Tree-MLP composes the tree bottom-up.

Everything downstream is left alone. Same tokenizer, same 21,128-token vocabulary, same output head, same twelve or twenty-four transformer layers. The structural pathway adds about 2.5 million parameters against BERT-base's 110 million, and roughly 5% to training time — the tree is evaluated once per distinct character in a batch, not once per token position. It drops into an existing fine-tuning pipeline without touching it.

A character tokenizer feeds two parallel streams: the unchanged token embedding, and a Tree-MLP encoder over the character's IDS parse tree. A fusion layer combines them and passes the result to an unmodified transformer backbone.
FIG. C — A DROP-IN, NOT A REPLACEMENT. Only the embedding interface changes; the backbone, vocabulary and output space are identical to the baseline.

What happened

On ordinary text the gain is modest — 1.3 points of Structure F1 over the strongest baseline. On the rarest tier of characters it widens to 4.0. On characters the tokenizer cannot represent at all it reaches 9.8, and by that point the models without a structural pathway have collapsed to near chance: 14.0, against CNM-BERT's 76.0.

The shape of that sequence carries more weight than any single number in it. A margin that widens as the data gets harder is what you would expect if the structural pathway is carrying real weight. Whether it is doing that, or propagating a resource the benchmark also inherits, is the question the next section takes up.

Line chart of Structure F1 across three splits. All four models score around 90 on the IID split. On the long-tail split they separate. On the out-of-vocabulary slice the token-only baseline falls to 14.0 while CNM-BERT holds 76.0, 9.8 points above ChineseBERT.
FIG. D — THE GAP WIDENS WITH DIFFICULTY. Structure macro-F1 on the CCD benchmark of Wu et al. (2025), across three splits of increasing rarity. Figures as reported in the submitted manuscript.
TABLE I — OUT-OF-VOCABULARY SLICE, ALL FOUR METRICS
Model Structure ↑ Radical ↑ Stroke MAE ↓ Stroke-type ↑
BERT-wwm-ext12.46.12.1010.3
RoBERTa-wwm-ext13.16.82.0211.0
MacBERT14.07.41.9811.8
SubChar-Pinyin32.721.51.4630.1
SubChar-Wubi65.245.01.1050.8
ChineseBERT66.248.40.7561.2
CNM-BERT76.056.11.0552.4

Baselines re-run from official checkpoints under one protocol — five seeds, one grid, the same hardware. ChineseBERT keeps the stroke columns, which suits a model that sees rendered pixels; the two approaches capture different signals.

What the result does and doesn't establish

Two caveats travel with that 9.8. The IDS database CNM-BERT trains on and the benchmark it is evaluated against both descend from compositional decompositions of Han characters. Where those resources overlap, the result shows the model propagating structural information it was given, which is a weaker claim than discovering an independent capability. Settling it needs a probe built from a disjoint taxonomy, and that probe does not yet exist.

On general benchmarks the margins are small. CNM-BERT posts the best average on CLUE at both scales, but by 0.18 and 0.19 points; reading comprehension and named-entity recognition follow the same pattern, with the clearest wins on noisy, rare-character text such as Weibo. The claim being made is parity, not dominance: structure can be added without costing anything elsewhere.

STATUS The manuscript is under review at ACL Rolling Review 2027, with Thomas Sing-wing Wu as equal-contribution co-author. Submitted is not accepted, and no decision has come back yet.
VENUEACL Rolling Review 2027 — submitted, decision pending
AUTHORSLiqian Yan and Thomas Sing-wing Wu, equal contribution
MY ROLECo-first author — joint responsibility for the model, the experiments and the manuscript
METHODRecursive Tree-MLP over canonicalised IDS parse trees, fused at the embedding interface
COST≈2.5M added parameters · ≈5% training overhead · backbone unmodified
R-02 · BUILT AT HACKHARVARD

PoliScope

A bill's text is public. So is the list of its sponsors, the lobbying filed against it, and the money that moved through the campaigns of everyone who voted. Connecting those four public records by hand takes an afternoon per bill.

PoliScope does the joining. A LangChain and LangGraph retrieval system reads Congress.gov, GovInfo and FEC filings together, traces how a bill's language changed between drafts, and reports who was pushing at each revision. It runs on Google Cloud Run, and it was built over a weekend at HackHarvard.

RAG LANGGRAPH CIVIC DATA GOOGLE CLOUD RUN