File size: 2,661 Bytes
c02bc8b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
{
  "model_type": "symphonym",
  "architectures": [
    "UniversalEncoder"
  ],
  "version": "v8",
  "vocab_size": 114845,
  "num_scripts": 37,
  "num_langs": 2438,
  "num_length_buckets": 16,
  "char_embed_dim": 64,
  "script_embed_dim": 16,
  "lang_embed_dim": 16,
  "length_embed_dim": 8,
  "hidden_dim": 128,
  "embed_dim": 128,
  "num_layers": 2,
  "num_attention_heads": 2,
  "dropout": 0.2,
  "lang_dropout": 0.5,
  "max_toponym_len": 50,
  "teacher": {
    "architectures": [
      "PhoneticEncoder"
    ],
    "phonetic_feat_dim": 192,
    "hidden_dim": 128,
    "embed_dim": 128,
    "num_layers": 2,
    "num_attention_heads": 2,
    "dropout": 0.2,
    "note": "PanPhon192: 8-bin positional pooling of 24-dim articulatory features"
  },
  "training": {
    "phase1_epochs": 50,
    "phase2_epochs": 50,
    "phase3_epochs": 30,
    "phase1_val_loss": 0.0056,
    "phase2_student_teacher_cosine": 0.942,
    "phase3_val_loss": 0.021217376736320875,
    "triplet_margin": 0.3,
    "phase1_lr": 0.0001,
    "phase2_lr": 0.0005,
    "phase3_lr": 5e-05,
    "phase1_batch_size": 2048,
    "phase2_batch_size": 1024,
    "phase3_batch_size": 1024,
    "weight_decay": 1e-05,
    "warmup_epochs": 2,
    "noise_prob": 0.3,
    "mse_weight": 1.0,
    "cosine_weight": 1.0,
    "phase2_alpha": 0.5,
    "phase2_loss": "alpha * MSE(student, teacher) + (1 - alpha) * (1 - cosine(student, teacher))",
    "phase3_loss": "triplet_margin(anchor, positive, hard_negative, margin=0.3)"
  },
  "g2p": {
    "backends": [
      "epitran",
      "phonikud",
      "charsiu_g2p"
    ],
    "epitran_extensions": 102,
    "scripts_covered": 20,
    "ipa_coverage": 0.54,
    "panphon_bins": 8,
    "panphon_feat_dim": 24,
    "panphon192_dim": 192
  },
  "index": {
    "quantization": "int8",
    "ann_backend": "elasticsearch_hnsw",
    "total_toponyms": 73479069,
    "embedding_coverage": 1.0,
    "as_of": "2026-09-15",
    "measured_from": "toponyms_v8-20260914t120000z"
  },
  "training_corpus": {
    "stats_file": "/tmp/claude-1000/-home-stephen-PycharmProjects-indexing/5c5ba57e-7215-4fce-af1a-001b3c719e68/scratchpad/v8tree/zenodo-v8/training_stats/coverage_stats.json",
    "total_toponyms": 73479069,
    "with_ipa": 34210114,
    "with_panphon_embedding": 34210114,
    "panphon_coverage_pct": 55.10492782510756,
    "training_namespaces": [
      "gn",
      "wd",
      "tgn"
    ],
    "ipa_backends": [
      "epitran",
      "phonikud",
      "charsiu_g2p"
    ],
    "ipa_from_db_cache": 0,
    "ipa_from_epitran": 31942400,
    "ipa_from_precomputed": 2267714,
    "stats_mtime_utc": "2026-09-15T10:00:50Z",
    "extraction_commit": "unknown"
  }
}