Template-heavy domain family Phase 1b — 5 external fetch + word-level axis + v0.2 threshold (13 domain 6/13 match)
STEP 1854 Phase 1a の honest finding 「v0.1 char-level heuristic は word-level 主張 の 意味論 誤転写」 に 応答。 word-level axis (Bw + Dw) 追加 + 5 external domain fetch + v0.2 signature (Bw ≤ 4 AND Dw > 0.10) 実装。 v0.1 の 0/13 → v0.2 の 6/13 match、 うち 4/6 が 意味的 Voynich-like (chess / esperanto / markdown / structured_log)、 2/6 は FASTA tokenizer artifact false positive。 test 38/38 PASS。
1. Phase 1b で 何を したか
- word-level axis 追加:
wordTokenize(Unicode-aware[\p{L}\p{N}]+) +wordNgramUniquenessDecay(Bw) +wordTemplateRatio(Dw) - 5 external domain fetch: Esperanto Wikipedia real (315 KB) / NCBI DNA (23 KB) / UniProt Protein (14 KB) / Chess PGN hardcoded (28 KB) / markdown proxy (69 KB) = 449 KB total
- v0.2 Voynich signature: Bw ≤ 4 AND Dw > 0.10 (藤本さん note 「4 語 で 決まり文句 消失」 の 直接数値化)
- 13 domain 総合 実測 + CSV v0.2 出力 + analysis README v0.2
2. 実測 結果 (13 domain × 17 axis)
| domain | source | Bw ↓N | Dw @n2 | char zstd bpc | v0.1 | v0.2 |
|---|---|---|---|---|---|---|
| chess_pgn_famous | hardcoded | 3 | 0.330 | 2.61 | no | YES ★ |
| dna_ncbi | NCBI real | 1 | 0.143 | 4.28 | no | YES* |
| esperanto_wikipedia | Wikipedia real | 3 | 0.323 | 2.72 | no | YES ★ |
| hash_sha256_seq | synthetic | 1 | 0.100 | 4.09 | no | no |
| json_schema_inst | synthetic | 7 | 0.798 | 0.69 | no | no |
| markdown_proxy_latex_like | repo | 3 | 0.323 | 2.72 | no | YES ★ |
| numeric_id_seq | synthetic | 1 | 0.100 | 0.45 | no | no |
| protein_uniprot | UniProt real | 1 | 0.143 | 4.15 | no | YES* |
| regex_patterns | synthetic | 11 | 0.292 | 0.33 | no | no |
| structured_log | synthetic | 3 | 0.717 | 1.60 | no | YES ★ |
| uuid_v4_seq | synthetic | 2 | 0.100 | 4.15 | no | no |
★ 意味的 Voynich-like (repeated word patterns at short range) / YES* tokenizer artifact false positive (FASTA sequence に space なし → 全体 1 word)
3. 主要 finding
3.1 v0.2 signature は 意味論 的 動作 (4/6 真陽性)
- chess (Bw=3, Dw=0.330): opening move sequence 「1. e4 e5 2. Nf3 Nc6」 の 反復
- esperanto (Bw=3, Dw=0.323): agglutinative morphology + 頻出 function word (la / de / kaj)
- markdown (Bw=3, Dw=0.323): 論文 section 見出 + 専門用語 (Paper 179 / STEP 番号 等) の 反復
- structured_log (Bw=3, Dw=0.717): log field 構造 (timestamp + level + service + event) の 完全 反復
3.2 false positive 2/6 = tokenizer artifact (honest finding)
DNA / protein の FASTA sequence は space 分離 が なく wordTokenize が 全体 を 1 word として 扱う。 word-level uniqueness trivially high。 v0.2 tokenizer の 既知限界、 domain-aware handling (sequence domain には residue-level or fixed-window tokenize) が v0.3 送り。
3.3 弁別性 evidence: json_schema は 高 template でも no match
json_schema (Bw=7, Dw=0.798) が v0.2 no match = 「値 variety 高い + template structure 反復」 pattern を 過度信号化 しない。 v0.2 signature が 「word 反復性」 に 特化 する ことで、 char-level template だけ の domain と 区別 可能。
3.4 Voynich EVA 直接 anchor 未達
public URL 3 全 404 (dolven/hunterowens/anonymous gist)、 Latin Wikipedia substitute batch は rate limit + title 不整合 で partial fail。 v0.2 threshold は 「Voynich note 主張 (4 語 で 消える) を そのまま 数値化」 の tentative、 real Voynich EVA text で anchor 較正 は Phase 1c 送り。
4. Honest scope (Phase 1b の 5 限界)
- Voynich EVA 直接 anchor 未達: public URL 全 fail、 Phase 1c 送り
- cmix binary 未統合: build complexity + Windows binary、 axis E は zstd/gzip 継続
- false positive 2/6 (DNA/protein): FASTA space なし の tokenizer artifact、 v0.3 で domain-aware handling
- v0.2 threshold は tentative: real anchor 較正 未達、 Bw ≤ 4 と Dw > 0.10 は 藤本さん note 主張 と 自然言語目安 の 推定
- english_baseline 未差替: Phase 1a 過度圧縮 artifact 継続 (5 paragraph × 20 repeat)、 v0.3 で 実 English
5. Failure mode dataset entry (STEP 1854 に 追加 3)
- sequence domain tokenizer artifact: natural language 前提 word tokenizer は FASTA など space なし domain で 意味不明化
- external fetch rate limit: Wikipedia batch 20 title で 発火、 sleep 1s 挿入 でも fail continue
- domain axis 直交性 未 formal: v0.2 signature は 「word 反復性」 特化、 「structural template」 (json) は 捕まえない (弁別性 だが 完全網羅 では ない)
6. Phase 2 candidate
Phase 3 prototype 対象 1 domain 選択 の 短リスト:
- chess: 真 の Voynich-like、 move sequence + result pattern の template compressor が cmix 超え 候補
- structured_log: 最高 Dw = 0.717、 field dictionary compressor で 大幅圧縮 候補
- esperanto: agglutinative pattern、 suffix-based compressor 候補
藤本さん explicit go 待ち: どの 1 domain を Phase 3 実装 対象 に する か。
7. v0.3 送り 事項 (6 項)
- domain-aware tokenizer (sequence domain 対応)
- Voynich EVA 直接 fetch (別 URL 探索 / 藤本さん 手元 / Zenodo)
- cmix binary 統合 (WSL build or Windows binary)
- english_baseline 差替 (実 English)
- v0.3 threshold refinement (real Voynich anchor 較正 + additional axes)
- tokenizer artifact 明示検知 (sequence domain 自動判定 + CSV warning)
8. 再現
npx tsx scripts/domain-family/generate-samples.ts # synthetic 8 domain (seed 20260907) npx tsx scripts/domain-family/fetch-external.ts # external 5 domain (network 要) mkdir -p data/domain-family/samples-combined cp data/domain-family/samples/*.txt data/domain-family/samples-combined/ cp data/domain-family/samples-external/*.txt data/domain-family/samples-combined/ npx tsx scripts/domain-family/characterize.ts \ data/domain-family/samples-combined \ data/domain-family/results/characterization-v0.2.csv # 13 domain 実測 npm run test:step1854 # 38 assertion
9. 関連 STEP
10. 詳細参照
- Notepad: 2026-09-07T01-22 STEP 1856
- Fragment: notes/steps/STEP_1856.md
- 実装:
scripts/domain-family/{characterize,fetch-external}.ts - データ:
data/domain-family/{samples-external, samples-combined, results} - Analysis: data/domain-family/README-v0.2.md
- CSV v0.2 raw: characterization-v0.2.csv
- ← Tools index に 戻る