omarkamali commited on
Commit
d3b4dbd
·
verified ·
1 Parent(s): 3fd854e

Upload all models and assets for ceb (latest)

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. .gitattributes +1 -0
  2. README.md +350 -142
  3. models/embeddings/aligned/ceb_128d.bin +3 -0
  4. models/embeddings/aligned/ceb_128d.meta.json +1 -0
  5. models/embeddings/aligned/ceb_128d.projection.npy +3 -0
  6. models/embeddings/aligned/ceb_128d_metadata.json +8 -0
  7. models/embeddings/aligned/ceb_32d.bin +3 -0
  8. models/embeddings/aligned/ceb_32d.meta.json +1 -0
  9. models/embeddings/aligned/ceb_32d.projection.npy +3 -0
  10. models/embeddings/aligned/ceb_32d_metadata.json +8 -0
  11. models/embeddings/aligned/ceb_64d.bin +3 -0
  12. models/embeddings/aligned/ceb_64d.meta.json +1 -0
  13. models/embeddings/aligned/ceb_64d.projection.npy +3 -0
  14. models/embeddings/aligned/ceb_64d_metadata.json +8 -0
  15. models/embeddings/monolingual/ceb_128d.bin +2 -2
  16. models/embeddings/monolingual/ceb_128d_metadata.json +5 -3
  17. models/embeddings/monolingual/ceb_32d.bin +2 -2
  18. models/embeddings/monolingual/ceb_32d_metadata.json +5 -3
  19. models/embeddings/monolingual/ceb_64d.bin +2 -2
  20. models/embeddings/monolingual/ceb_64d_metadata.json +5 -3
  21. models/subword_markov/ceb_markov_ctx1_subword.parquet +2 -2
  22. models/subword_markov/ceb_markov_ctx1_subword_metadata.json +2 -2
  23. models/subword_markov/ceb_markov_ctx2_subword.parquet +2 -2
  24. models/subword_markov/ceb_markov_ctx2_subword_metadata.json +2 -2
  25. models/subword_markov/ceb_markov_ctx3_subword.parquet +2 -2
  26. models/subword_markov/ceb_markov_ctx3_subword_metadata.json +2 -2
  27. models/subword_markov/ceb_markov_ctx4_subword.parquet +2 -2
  28. models/subword_markov/ceb_markov_ctx4_subword_metadata.json +2 -2
  29. models/subword_ngram/ceb_2gram_subword.parquet +2 -2
  30. models/subword_ngram/ceb_2gram_subword_metadata.json +2 -2
  31. models/subword_ngram/ceb_3gram_subword.parquet +2 -2
  32. models/subword_ngram/ceb_3gram_subword_metadata.json +2 -2
  33. models/subword_ngram/ceb_4gram_subword.parquet +2 -2
  34. models/subword_ngram/ceb_4gram_subword_metadata.json +2 -2
  35. models/subword_ngram/ceb_5gram_subword.parquet +3 -0
  36. models/subword_ngram/ceb_5gram_subword_metadata.json +7 -0
  37. models/tokenizer/ceb_tokenizer_16k.model +2 -2
  38. models/tokenizer/ceb_tokenizer_16k.vocab +0 -0
  39. models/tokenizer/ceb_tokenizer_32k.model +2 -2
  40. models/tokenizer/ceb_tokenizer_32k.vocab +0 -0
  41. models/tokenizer/ceb_tokenizer_64k.model +2 -2
  42. models/tokenizer/ceb_tokenizer_64k.vocab +0 -0
  43. models/tokenizer/ceb_tokenizer_8k.model +2 -2
  44. models/tokenizer/ceb_tokenizer_8k.vocab +0 -0
  45. models/vocabulary/ceb_vocabulary.parquet +2 -2
  46. models/vocabulary/ceb_vocabulary_metadata.json +10 -9
  47. models/vocabulary/ceb_vocabulary_top.parquet +3 -0
  48. models/vocabulary/ceb_vocabulary_top_metadata.json +20 -0
  49. models/word_markov/ceb_markov_ctx1_word.parquet +2 -2
  50. models/word_markov/ceb_markov_ctx1_word_metadata.json +2 -2
.gitattributes CHANGED
@@ -39,3 +39,4 @@ visualizations/position_encoding_comparison.png filter=lfs diff=lfs merge=lfs -t
39
  visualizations/tsne_sentences.png filter=lfs diff=lfs merge=lfs -text
40
  visualizations/tsne_words.png filter=lfs diff=lfs merge=lfs -text
41
  visualizations/zipf_law.png filter=lfs diff=lfs merge=lfs -text
 
 
39
  visualizations/tsne_sentences.png filter=lfs diff=lfs merge=lfs -text
40
  visualizations/tsne_words.png filter=lfs diff=lfs merge=lfs -text
41
  visualizations/zipf_law.png filter=lfs diff=lfs merge=lfs -text
42
+ visualizations/embedding_tsne_multilingual.png filter=lfs diff=lfs merge=lfs -text
README.md CHANGED
@@ -1,6 +1,6 @@
1
  ---
2
  language: ceb
3
- language_name: CEB
4
  language_family: austronesian_philippine_central
5
  tags:
6
  - wikilangs
@@ -10,11 +10,21 @@ tags:
10
  - n-gram
11
  - markov
12
  - wikipedia
 
 
 
 
 
 
 
 
 
 
13
  - monolingual
14
  - family-austronesian_philippine_central
15
  license: mit
16
  library_name: wikilangs
17
- pipeline_tag: feature-extraction
18
  datasets:
19
  - omarkamali/wikipedia-monthly
20
  dataset_info:
@@ -23,20 +33,20 @@ dataset_info:
23
  metrics:
24
  - name: best_compression_ratio
25
  type: compression
26
- value: 4.023
27
  - name: best_isotropy
28
  type: isotropy
29
- value: 0.7600
30
  - name: vocabulary_size
31
  type: vocab
32
- value: 1000000
33
- generated: 2025-12-28
34
  ---
35
 
36
- # CEB - Wikilangs Models
37
  ## Comprehensive Research Report & Full Ablation Study
38
 
39
- This repository contains NLP models trained and evaluated by Wikilangs, specifically on **CEB** Wikipedia data.
40
  We analyze tokenizers, n-gram models, Markov chains, vocabulary statistics, and word embeddings.
41
 
42
  ## 📋 Repository Contents
@@ -44,12 +54,13 @@ We analyze tokenizers, n-gram models, Markov chains, vocabulary statistics, and
44
  ### Models & Assets
45
 
46
  - Tokenizers (8k, 16k, 32k, 64k)
47
- - N-gram models (2, 3, 4-gram)
48
- - Markov chains (context of 1, 2, 3 and 4)
49
  - Subword N-gram and Markov chains
50
- - Embeddings in various sizes and dimensions
51
  - Language Vocabulary
52
  - Language Statistics
 
53
  ![Performance Dashboard](visualizations/performance_dashboard.png)
54
 
55
  ### Analysis and Evaluation
@@ -59,7 +70,8 @@ We analyze tokenizers, n-gram models, Markov chains, vocabulary statistics, and
59
  - [3. Markov Chain Evaluation](#3-markov-chain-evaluation)
60
  - [4. Vocabulary Analysis](#4-vocabulary-analysis)
61
  - [5. Word Embeddings Evaluation](#5-word-embeddings-evaluation)
62
- - [6. Summary & Recommendations](#6-summary--recommendations)
 
63
  - [Metrics Glossary](#appendix-metrics-glossary--interpretation-guide)
64
  - [Visualizations Index](#visualizations-index)
65
 
@@ -68,55 +80,57 @@ We analyze tokenizers, n-gram models, Markov chains, vocabulary statistics, and
68
 
69
  ![Tokenizer Compression](visualizations/tokenizer_compression.png)
70
 
 
 
 
 
 
 
71
  ### Results
72
 
73
  | Vocab Size | Compression | Avg Token Len | UNK Rate | Total Tokens |
74
  |------------|-------------|---------------|----------|--------------|
75
- | **8k** | 3.166x | 3.08 | 0.4963% | 288,512 |
76
- | **16k** | 3.546x | 3.45 | 0.5559% | 257,589 |
77
- | **32k** | 3.786x | 3.68 | 0.5935% | 241,268 |
78
- | **64k** | 4.023x 🏆 | 3.91 | 0.6307% | 227,048 |
79
 
80
  ### Tokenization Examples
81
 
82
  Below are sample sentences tokenized with each vocabulary size:
83
 
84
- **Sample 1:** `Ang 1215 (MCCXV) mao ang usa ka tuig sa kalendaryong Hulyano. Ang 1215 maoy usa ...`
85
 
86
  | Vocab | Tokens | Count |
87
  |-------|--------|-------|
88
- | 8k | `▁ang1 2 1 5 ( m cc x ... (+46 more)` | 56 |
89
- | 16k | `▁ang1 2 1 5 ( m cc x ... (+39 more)` | 49 |
90
- | 32k | `▁ang1 2 1 5 ( m cc x ... (+38 more)` | 48 |
91
- | 64k | `▁ang1 2 1 5 ( mcc xv ) ... (+36 more)` | 46 |
92
 
93
- **Sample 2:** `Villy, Ardennes
94
- Villy, Yonne`
95
 
96
  | Vocab | Tokens | Count |
97
  |-------|--------|-------|
98
- | 8k | `▁v illy ,ardennesv illy , ▁yonne` | 8 |
99
- | 16k | `▁v illy ,ardennesv illy , ▁yonne` | 8 |
100
- | 32k | `▁v illy ,ardennesv illy , ▁yonne` | 8 |
101
- | 64k | `▁v illy ,ardennesv illy , ▁yonne` | 8 |
102
 
103
- **Sample 3:** `Si Doubleday nga ang hamubong pangalan niini nag tudlo kang:
104
-
105
- Henry Doubleday
106
- ...`
107
 
108
  | Vocab | Tokens | Count |
109
  |-------|--------|-------|
110
- | 8k | `▁sido ubl ed ay ▁nga ▁ang ▁hamubong ▁pangalan ▁niini ... (+23 more)` | 33 |
111
- | 16k | `▁sido ubl ed ay ▁nga ▁ang ▁hamubong ▁pangalan ▁niini ... (+23 more)` | 33 |
112
- | 32k | `▁sido ubl ed ay ▁nga ▁ang ▁hamubong ▁pangalanniini ... (+23 more)` | 33 |
113
- | 64k | `▁sidoubleday ▁nga ▁ang ▁hamubong ▁pangalan ▁niini ▁nagtudlokang ... (+11 more)` | 21 |
114
 
115
 
116
  ### Key Findings
117
 
118
- - **Best Compression:** 64k achieves 4.023x compression
119
- - **Lowest UNK Rate:** 8k with 0.4963% unknown tokens
120
  - **Trade-off:** Larger vocabularies improve compression but increase model size
121
  - **Recommendation:** 32k vocabulary provides optimal balance for production use
122
 
@@ -125,57 +139,111 @@ Below are sample sentences tokenized with each vocabulary size:
125
 
126
  ![N-gram Perplexity](visualizations/ngram_perplexity.png)
127
 
 
 
128
  ![N-gram Coverage](visualizations/ngram_coverage.png)
129
 
130
  ### Results
131
 
132
- | N-gram | Perplexity | Entropy | Unique N-grams | Top-100 Coverage | Top-1000 Coverage |
133
- |--------|------------|---------|----------------|------------------|-------------------|
134
- | **2-gram** | 2,483 🏆 | 11.28 | 3,473,094 | 35.1% | 79.1% |
135
- | **2-gram** | 262 🏆 | 8.03 | 32,514 | 66.2% | 99.4% |
136
- | **3-gram** | 6,019 | 12.56 | 8,522,415 | 25.6% | 70.1% |
137
- | **3-gram** | 1,492 | 10.54 | 210,233 | 33.0% | 80.5% |
138
- | **4-gram** | 10,956 | 13.42 | 18,410,507 | 23.0% | 64.2% |
139
- | **4-gram** | 4,346 | 12.09 | 1,121,715 | 21.0% | 64.2% |
 
 
140
 
141
  ### Top 5 N-grams by Size
142
 
143
- **2-grams:**
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
144
 
145
  | Rank | N-gram | Count |
146
  |------|--------|-------|
147
- | 1 | `. ang` | 22,734,270 |
148
- | 2 | `. ,` | 21,897,297 |
149
- | 3 | `kategoriya :` | 13,463,660 |
150
- | 4 | `, sa` | 12,991,378 |
151
- | 5 | c` | 8,094,599 |
152
 
153
- **3-grams:**
154
 
155
  | Rank | N-gram | Count |
156
  |------|--------|-------|
157
- | 1 | `mga gi basihan` | 5,576,921 |
158
- | 2 | `ang mga gi` | 5,576,920 |
159
- | 3 | `gi basihan niini` | 5,576,918 |
160
- | 4 | `c . ang` | 5,477,045 |
161
- | 5 | c .` | 5,398,278 |
162
 
163
- **4-grams:**
164
 
165
  | Rank | N-gram | Count |
166
  |------|--------|-------|
167
- | 1 | `ang mga gi basihan` | 5,576,919 |
168
- | 2 | `mga gi basihan niini` | 5,576,918 |
169
- | 3 | `, sa ° c` | 5,392,546 |
170
- | 4 | c . ang` | 4,999,337 |
171
- | 5 | `geonames . org (` | 3,664,288 |
172
 
173
 
174
  ### Key Findings
175
 
176
- - **Best Perplexity:** 2-gram with 262
177
  - **Entropy Trend:** Decreases with larger n-grams (more predictable)
178
- - **Coverage:** Top-1000 patterns cover ~64% of corpus
179
  - **Recommendation:** 4-gram or 5-gram for best predictive performance
180
 
181
  ---
@@ -183,55 +251,86 @@ Below are sample sentences tokenized with each vocabulary size:
183
 
184
  ![Markov Entropy](visualizations/markov_entropy.png)
185
 
 
 
186
  ![Markov Branching](visualizations/markov_branching.png)
187
 
188
  ### Results
189
 
190
- | Context | Avg Entropy | Perplexity | Branching Factor | Unique Contexts | Predictability |
191
- |---------|-------------|------------|------------------|-----------------|----------------|
192
- | **1** | 1.4458 | 2.724 | 7.69 | 2,678,400 | 0.0% |
193
- | **1** | 1.9800 | 3.945 | 15.62 | 7,465 | 0.0% |
194
- | **2** | 0.5102 | 1.424 | 2.56 | 20,310,820 | 49.0% |
195
- | **2** | 0.7197 | 1.647 | 3.95 | 116,477 | 28.0% |
196
- | **3** | 0.2244 | 1.168 | 1.69 | 51,557,317 | 77.6% |
197
- | **3** | 0.6664 | 1.587 | 3.76 | 459,408 | 33.4% |
198
- | **4** | 0.1061 🏆 | 1.076 | 1.36 | 86,676,271 | 89.4% |
199
- | **4** | 0.6423 🏆 | 1.561 | 3.28 | 1,725,840 | 35.8% |
200
 
201
- ### Generated Text Samples
202
 
203
- Below are text samples generated from each Markov chain model:
204
 
205
  **Context Size 1:**
206
 
207
- 1. `. ang kinabugnawan hulyo , sa dagat nga sama niini [ piz alpetta . lepindex :`
208
- 2. `sa ka mga gi basihan niini [ sungai gitam ( cc - by ) ] ;`
209
- 3. `, ug km sa congo aka valley , w . systema dipterorum ( roskov y .`
210
 
211
  **Context Size 2:**
212
 
213
- 1. `. ang kinahabogang dapit sa mao gihapon nga ngalan , tan - awa ang la laigne sa`
214
- 2. `. , orrell t . , jourbook : entomologist volume : 23 : 76 . yu d`
215
- 3. `kategoriya : mga lungsod sa palibot dunay gihabogon nga ka metro ug km sa sidlakan sa nuaf`
216
 
217
  **Context Size 3:**
218
 
219
- 1. `mga gi basihan niini [ wādī khalīl ] sa [ geonames . org ( cc - by )`
220
- 2. `ang mga gi basihan niini [ lambskär ] sa [ geonames . org ( cc - by )`
221
- 3. `gi basihan niini [ matinsaari ] sa [ geonames . org ( cc - by ) ] ;`
222
 
223
  **Context Size 4:**
224
 
225
- 1. `ang mga gi basihan niini [ jar - e takhtah chinār ] sa [ geonames . org ( cc`
226
- 2. `mga gi basihan niini [ bustøkniben ] sa [ geonames . org ( cc - by ) ] ;`
227
- 3. `, sa ° c . ang kinainitan nga bulan hunyo , sa milimetro nga ulan , ug ang kinaugahan`
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
228
 
229
 
230
  ### Key Findings
231
 
232
- - **Best Predictability:** Context-4 with 89.4% predictability
233
  - **Branching Factor:** Decreases with context size (more deterministic)
234
- - **Memory Trade-off:** Larger contexts require more storage (1,725,840 contexts)
235
  - **Recommendation:** Context-3 or Context-4 for text generation
236
 
237
  ---
@@ -247,64 +346,64 @@ Below are text samples generated from each Markov chain model:
247
 
248
  | Metric | Value |
249
  |--------|-------|
250
- | Vocabulary Size | 1,000,000 |
251
- | Total Tokens | 845,775,833 |
252
- | Mean Frequency | 845.78 |
253
- | Median Frequency | 13 |
254
- | Frequency Std Dev | 118478.53 |
255
 
256
  ### Most Common Words
257
 
258
  | Rank | Word | Frequency |
259
  |------|------|-----------|
260
- | 1 | sa | 95,127,836 |
261
- | 2 | ang | 48,190,139 |
262
- | 3 | nga | 26,124,610 |
263
- | 4 | mga | 14,558,326 |
264
- | 5 | kategoriya | 13,463,779 |
265
- | 6 | ug | 11,614,906 |
266
- | 7 | c | 9,761,722 |
267
- | 8 | ni | 8,490,927 |
268
- | 9 | niini | 7,626,081 |
269
- | 10 | palibot | 7,306,538 |
270
 
271
  ### Least Common Words (from vocabulary)
272
 
273
  | Rank | Word | Frequency |
274
  |------|------|-----------|
275
- | 1 | mentang | 8 |
276
- | 2 | padangalipan | 8 |
277
- | 3 | palawangan | 8 |
278
- | 4 | patokoan | 8 |
279
- | 5 | patongai | 8 |
280
- | 6 | pentujangan | 8 |
281
- | 7 | pessailean | 8 |
282
- | 8 | petampe | 8 |
283
- | 9 | petape | 8 |
284
- | 10 | pillong | 8 |
285
 
286
  ### Zipf's Law Analysis
287
 
288
  | Metric | Value |
289
  |--------|-------|
290
- | Zipf Coefficient | 1.4546 |
291
- | R² (Goodness of Fit) | 0.992518 |
292
  | Adherence Quality | **excellent** |
293
 
294
  ### Coverage Analysis
295
 
296
  | Top N Words | Coverage |
297
  |-------------|----------|
298
- | Top 100 | 60.7% |
299
- | Top 1,000 | 89.2% |
300
- | Top 5,000 | 93.8% |
301
- | Top 10,000 | 95.1% |
302
 
303
  ### Key Findings
304
 
305
- - **Zipf Compliance:** R²=0.9925 indicates excellent adherence to Zipf's law
306
- - **High Frequency Dominance:** Top 100 words cover 60.7% of corpus
307
- - **Long Tail:** 990,000 words needed for remaining 4.9% coverage
308
 
309
  ---
310
  ## 5. Word Embeddings Evaluation
@@ -317,24 +416,130 @@ Below are text samples generated from each Markov chain model:
317
 
318
  ![t-SNE Sentences](visualizations/tsne_sentences.png)
319
 
320
- ### Model Comparison
321
 
322
- | Model | Vocab Size | Dimension | Avg Norm | Std Norm | Isotropy |
323
- |-------|------------|-----------|----------|----------|----------|
324
- | **mono_32d** | 1,545,627 | 32 | 5.888 | 1.742 | 0.7600 🏆 |
325
- | **mono_64d** | 1,545,627 | 64 | 6.390 | 1.467 | 0.7319 |
326
- | **mono_128d** | 1,545,627 | 128 | 6.832 | 1.294 | 0.6617 |
327
- | **embeddings_enhanced** | 0 | 0 | 0.000 | 0.000 | 0.0000 |
 
 
 
 
 
 
 
 
 
 
 
328
 
329
  ### Key Findings
330
 
331
- - **Best Isotropy:** mono_32d with 0.7600 (more uniform distribution)
332
- - **Dimension Trade-off:** Higher dimensions capture more semantics but reduce isotropy
333
- - **Vocabulary Coverage:** All models cover 1,545,627 words
334
- - **Recommendation:** 100d for balanced semantic capture and efficiency
335
 
336
  ---
337
- ## 6. Summary & Recommendations
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
338
 
339
  ![Performance Dashboard](visualizations/performance_dashboard.png)
340
 
@@ -342,11 +547,12 @@ Below are text samples generated from each Markov chain model:
342
 
343
  | Component | Recommended | Rationale |
344
  |-----------|-------------|-----------|
345
- | Tokenizer | **32k BPE** | Best compression (4.02x) with low UNK rate |
346
- | N-gram | **5-gram** | Lowest perplexity (262) |
347
- | Markov | **Context-4** | Highest predictability (89.4%) |
348
  | Embeddings | **100d** | Balanced semantic capture and isotropy |
349
 
 
350
  ---
351
  ## Appendix: Metrics Glossary & Interpretation Guide
352
 
@@ -536,7 +742,8 @@ If you use these models in your research, please cite:
536
  author = {Kamali, Omar},
537
  title = {Wikilangs: Open NLP Models for Wikipedia Languages},
538
  year = {2025},
539
- publisher = {HuggingFace},
 
540
  url = {https://huggingface.co/wikilangs}
541
  institution = {Omneity Labs}
542
  }
@@ -552,7 +759,8 @@ MIT License - Free for academic and commercial use.
552
  - 🤗 Models: [huggingface.co/wikilangs](https://huggingface.co/wikilangs)
553
  - 📊 Data: [wikipedia-monthly](https://huggingface.co/datasets/omarkamali/wikipedia-monthly)
554
  - 👤 Author: [Omar Kamali](https://huggingface.co/omarkamali)
 
555
  ---
556
  *Generated by Wikilangs Models Pipeline*
557
 
558
- *Report Date: 2025-12-28 22:39:27*
 
1
  ---
2
  language: ceb
3
+ language_name: Cebuano
4
  language_family: austronesian_philippine_central
5
  tags:
6
  - wikilangs
 
10
  - n-gram
11
  - markov
12
  - wikipedia
13
+ - feature-extraction
14
+ - sentence-similarity
15
+ - tokenization
16
+ - n-grams
17
+ - markov-chain
18
+ - text-mining
19
+ - fasttext
20
+ - babelvec
21
+ - vocabulous
22
+ - vocabulary
23
  - monolingual
24
  - family-austronesian_philippine_central
25
  license: mit
26
  library_name: wikilangs
27
+ pipeline_tag: text-generation
28
  datasets:
29
  - omarkamali/wikipedia-monthly
30
  dataset_info:
 
33
  metrics:
34
  - name: best_compression_ratio
35
  type: compression
36
+ value: 4.059
37
  - name: best_isotropy
38
  type: isotropy
39
+ value: 0.7670
40
  - name: vocabulary_size
41
  type: vocab
42
+ value: 0
43
+ generated: 2026-01-07
44
  ---
45
 
46
+ # Cebuano - Wikilangs Models
47
  ## Comprehensive Research Report & Full Ablation Study
48
 
49
+ This repository contains NLP models trained and evaluated by Wikilangs, specifically on **Cebuano** Wikipedia data.
50
  We analyze tokenizers, n-gram models, Markov chains, vocabulary statistics, and word embeddings.
51
 
52
  ## 📋 Repository Contents
 
54
  ### Models & Assets
55
 
56
  - Tokenizers (8k, 16k, 32k, 64k)
57
+ - N-gram models (2, 3, 4, 5-gram)
58
+ - Markov chains (context of 1, 2, 3, 4 and 5)
59
  - Subword N-gram and Markov chains
60
+ - Embeddings in various sizes and dimensions (aligned and unaligned)
61
  - Language Vocabulary
62
  - Language Statistics
63
+
64
  ![Performance Dashboard](visualizations/performance_dashboard.png)
65
 
66
  ### Analysis and Evaluation
 
70
  - [3. Markov Chain Evaluation](#3-markov-chain-evaluation)
71
  - [4. Vocabulary Analysis](#4-vocabulary-analysis)
72
  - [5. Word Embeddings Evaluation](#5-word-embeddings-evaluation)
73
+ - [6. Morphological Analysis (Experimental)](#6--morphological-analysis-experimental)
74
+ - [7. Summary & Recommendations](#7-summary--recommendations)
75
  - [Metrics Glossary](#appendix-metrics-glossary--interpretation-guide)
76
  - [Visualizations Index](#visualizations-index)
77
 
 
80
 
81
  ![Tokenizer Compression](visualizations/tokenizer_compression.png)
82
 
83
+ ![Tokenizer Fertility](visualizations/tokenizer_fertility.png)
84
+
85
+ ![Tokenizer OOV](visualizations/tokenizer_oov.png)
86
+
87
+ ![Total Tokens](visualizations/tokenizer_total_tokens.png)
88
+
89
  ### Results
90
 
91
  | Vocab Size | Compression | Avg Token Len | UNK Rate | Total Tokens |
92
  |------------|-------------|---------------|----------|--------------|
93
+ | **8k** | 3.174x | 3.18 | 0.3878% | 267,679 |
94
+ | **16k** | 3.550x | 3.55 | 0.4338% | 239,262 |
95
+ | **32k** | 3.813x | 3.82 | 0.4660% | 222,758 |
96
+ | **64k** | 4.059x 🏆 | 4.06 | 0.4960% | 209,290 |
97
 
98
  ### Tokenization Examples
99
 
100
  Below are sample sentences tokenized with each vocabulary size:
101
 
102
+ **Sample 1:** `Kahenera sa mga kaka ang Cteniza. Ang Cteniza sakop sa kabanay nga Ctenizidae. A...`
103
 
104
  | Vocab | Tokens | Count |
105
  |-------|--------|-------|
106
+ | 8k | `▁kahenerasa ▁mga ▁kaka ▁angcten iza . ▁ang ▁cten ... (+23 more)` | 33 |
107
+ | 16k | `▁kahenerasa ▁mga ▁kaka ▁angcten iza . ▁ang ▁cten ... (+22 more)` | 32 |
108
+ | 32k | `▁kahenerasa ▁mga ▁kaka ▁angcten iza . ▁ang ▁cten ... (+21 more)` | 31 |
109
+ | 64k | `▁kahenerasa ▁mga ▁kaka ▁angcten iza . ▁ang ▁cten ... (+21 more)` | 31 |
110
 
111
+ **Sample 2:** `Ang Jizō-saki ngalan niining mga mosunod: Heyograpiya Hapon Shakaga Hana, punta,...`
 
112
 
113
  | Vocab | Tokens | Count |
114
  |-------|--------|-------|
115
+ | 8k | `▁ang ▁j iz ō - s aki ngalanni in ... (+47 more)` | 57 |
116
+ | 16k | `▁ang ▁j iz ō - s aki ngalanni ining ... (+36 more)` | 46 |
117
+ | 32k | `▁ang ▁j iz ō - s aki ngalanniining ▁mga ... (+32 more)` | 42 |
118
+ | 64k | `▁ang ▁j iz ō - s aki ngalanniining ▁mga ... (+32 more)` | 42 |
119
 
120
+ **Sample 3:** `Ang (MCMLXXXIII) mao ang usa ka tuig sa kalendaryong Gregoryano. Ang maoy usa ka...`
 
 
 
121
 
122
  | Vocab | Tokens | Count |
123
  |-------|--------|-------|
124
+ | 8k | `▁ang( m c m l xx x iii ) ... (+32 more)` | 42 |
125
+ | 16k | `▁ang( m c m l xx x iii ) ... (+28 more)` | 38 |
126
+ | 32k | `▁ang( m c m l xxx iii )mao ... (+24 more)` | 34 |
127
+ | 64k | `▁ang( mc m l xxx iii )maoang ... (+22 more)` | 32 |
128
 
129
 
130
  ### Key Findings
131
 
132
+ - **Best Compression:** 64k achieves 4.059x compression
133
+ - **Lowest UNK Rate:** 8k with 0.3878% unknown tokens
134
  - **Trade-off:** Larger vocabularies improve compression but increase model size
135
  - **Recommendation:** 32k vocabulary provides optimal balance for production use
136
 
 
139
 
140
  ![N-gram Perplexity](visualizations/ngram_perplexity.png)
141
 
142
+ ![N-gram Unique](visualizations/ngram_unique.png)
143
+
144
  ![N-gram Coverage](visualizations/ngram_coverage.png)
145
 
146
  ### Results
147
 
148
+ | N-gram | Variant | Perplexity | Entropy | Unique N-grams | Top-100 Coverage | Top-1000 Coverage |
149
+ |--------|---------|------------|---------|----------------|------------------|-------------------|
150
+ | **2-gram** | Word | 3,171 | 11.63 | 3,446,236 | 37.4% | 76.3% |
151
+ | **2-gram** | Subword | 218 🏆 | 7.77 | 33,604 | 70.8% | 99.5% |
152
+ | **3-gram** | Word | 6,839 | 12.74 | 7,766,658 | 32.6% | 69.1% |
153
+ | **3-gram** | Subword | 1,277 | 10.32 | 196,868 | 35.6% | 83.3% |
154
+ | **4-gram** | Word | 13,177 | 13.69 | 16,952,568 | 31.0% | 62.8% |
155
+ | **4-gram** | Subword | 3,898 | 11.93 | 1,019,139 | 22.5% | 67.3% |
156
+ | **5-gram** | Word | 19,115 | 14.22 | 18,655,008 | 30.0% | 58.4% |
157
+ | **5-gram** | Subword | 7,890 | 12.95 | 3,628,728 | 16.7% | 59.8% |
158
 
159
  ### Top 5 N-grams by Size
160
 
161
+ **2-grams (Word):**
162
+
163
+ | Rank | N-gram | Count |
164
+ |------|--------|-------|
165
+ | 1 | `sa nasod` | 7,048,649 |
166
+ | 2 | `km sa` | 6,204,569 |
167
+ | 3 | `palibot sa` | 5,653,512 |
168
+ | 4 | `ang mga` | 5,645,464 |
169
+ | 5 | `mga gi` | 5,576,920 |
170
+
171
+ **3-grams (Word):**
172
+
173
+ | Rank | N-gram | Count |
174
+ |------|--------|-------|
175
+ | 1 | `mga gi basihan` | 5,576,915 |
176
+ | 2 | `ang mga gi` | 5,576,913 |
177
+ | 3 | `gi basihan niini` | 5,576,912 |
178
+ | 4 | `geonames org cc` | 3,664,283 |
179
+ | 5 | `org cc by` | 3,664,283 |
180
+
181
+ **4-grams (Word):**
182
+
183
+ | Rank | N-gram | Count |
184
+ |------|--------|-------|
185
+ | 1 | `ang mga gi basihan` | 5,576,913 |
186
+ | 2 | `mga gi basihan niini` | 5,576,912 |
187
+ | 3 | `geonames org cc by` | 3,664,283 |
188
+ | 4 | `org cc by post` | 3,664,270 |
189
+ | 5 | `cc by post updated` | 3,664,269 |
190
+
191
+ **5-grams (Word):**
192
+
193
+ | Rank | N-gram | Count |
194
+ |------|--------|-------|
195
+ | 1 | `ang mga gi basihan niini` | 5,576,912 |
196
+ | 2 | `geonames org cc by post` | 3,664,270 |
197
+ | 3 | `org cc by post updated` | 3,664,269 |
198
+ | 4 | `cc by post updated database` | 3,664,234 |
199
+ | 5 | `post updated database download sa` | 3,664,233 |
200
+
201
+ **2-grams (Subword):**
202
+
203
+ | Rank | N-gram | Count |
204
+ |------|--------|-------|
205
+ | 1 | `a _` | 176,572,408 |
206
+ | 2 | `a n` | 170,636,786 |
207
+ | 3 | `n g` | 127,660,424 |
208
+ | 4 | `s a` | 126,044,028 |
209
+ | 5 | `_ s` | 125,029,167 |
210
+
211
+ **3-grams (Subword):**
212
 
213
  | Rank | N-gram | Count |
214
  |------|--------|-------|
215
+ | 1 | `_ s a` | 104,157,280 |
216
+ | 2 | `s a _` | 95,124,588 |
217
+ | 3 | `a n g` | 80,898,551 |
218
+ | 4 | `n g _` | 79,824,327 |
219
+ | 5 | `_ a n` | 50,392,535 |
220
 
221
+ **4-grams (Subword):**
222
 
223
  | Rank | N-gram | Count |
224
  |------|--------|-------|
225
+ | 1 | `_ s a _` | 94,060,964 |
226
+ | 2 | `a n g _` | 70,289,894 |
227
+ | 3 | `_ a n g` | 46,728,827 |
228
+ | 4 | `_ n g a` | 28,593,356 |
229
+ | 5 | `n g a _` | 26,245,654 |
230
 
231
+ **5-grams (Subword):**
232
 
233
  | Rank | N-gram | Count |
234
  |------|--------|-------|
235
+ | 1 | `_ a n g _` | 46,539,851 |
236
+ | 2 | `_ n g a _` | 26,090,887 |
237
+ | 3 | `n _ s a _` | 24,592,104 |
238
+ | 4 | `. _ a n g` | 21,317,144 |
239
+ | 5 | `a n g _ k` | 20,331,305 |
240
 
241
 
242
  ### Key Findings
243
 
244
+ - **Best Perplexity:** 2-gram (subword) with 218
245
  - **Entropy Trend:** Decreases with larger n-grams (more predictable)
246
+ - **Coverage:** Top-1000 patterns cover ~60% of corpus
247
  - **Recommendation:** 4-gram or 5-gram for best predictive performance
248
 
249
  ---
 
251
 
252
  ![Markov Entropy](visualizations/markov_entropy.png)
253
 
254
+ ![Markov Contexts](visualizations/markov_contexts.png)
255
+
256
  ![Markov Branching](visualizations/markov_branching.png)
257
 
258
  ### Results
259
 
260
+ | Context | Variant | Avg Entropy | Perplexity | Branching Factor | Unique Contexts | Predictability |
261
+ |---------|---------|-------------|------------|------------------|-----------------|----------------|
262
+ | **1** | Word | 1.4579 | 2.747 | 8.46 | 2,622,358 | 0.0% |
263
+ | **1** | Subword | 1.5846 | 2.999 | 12.23 | 10,636 | 0.0% |
264
+ | **2** | Word | 0.5081 | 1.422 | 2.51 | 21,964,306 | 49.2% |
265
+ | **2** | Subword | 0.6448 | 1.564 | 3.57 | 129,845 | 35.5% |
266
+ | **3** | Word | 0.2262 | 1.170 | 1.63 | 54,790,128 | 77.4% |
267
+ | **3** | Subword | 0.6034 | 1.519 | 3.47 | 463,245 | 39.7% |
268
+ | **4** | Word | 0.0992 🏆 | 1.071 | 1.32 | 89,104,487 | 90.1% |
269
+ | **4** | Subword | 0.6107 | 1.527 | 3.20 | 1,608,648 | 38.9% |
270
 
271
+ ### Generated Text Samples (Word-based)
272
 
273
+ Below are text samples generated from each word-based Markov chain model:
274
 
275
  **Context Size 1:**
276
 
277
+ 1. `sa lintjønnåsen bungtod mikkelhaugen ang poluostrov zuyeva sa amihanan sidlakan dagat kahaboga ang k...`
278
+ 2. `ang kinainitan nga matang nga sama niini turkey hill sa british columbia river ang kinahabogang dapi...`
279
+ 3. `nga sama niini villabuena del atlántico sur peru nga ugahon ang kinabasaan nga bulan hunyo sa`
280
 
281
  **Context Size 2:**
282
 
283
+ 1. `sa nasod ang klima bugnaw nga ugahon ang kasarangang giiniton c ang kasarangang pag ulan milimetro m...`
284
+ 2. `km sa amihanan kasadpan sa washington d c metros ibabaw sa dagat kahaboga ang nahimutangan sa mållok`
285
+ 3. `palibot sa desa caringin administratibo nga balangay ang kudumbuwa sa geonames org cc by post update...`
286
 
287
  **Context Size 3:**
288
 
289
+ 1. `mga gi basihan niini jessup guymer in austrobaileya 7 15 govaerts r ed for a full list of`
290
+ 2. `ang mga gi basihan niini kūh e tīr sa rehiyon palibot sa parksville knob hapit nalukop sa kaumahan`
291
+ 3. `gi basihan niini nhamiraze sa geonames org cc by post updated database download sa pahang suba sa ma...`
292
 
293
  **Context Size 4:**
294
 
295
+ 1. `ang mga gi basihan niini austdalen sa geonames org cc by post updated database download sa suba sa i...`
296
+ 2. `mga gi basihan niini cañada del mundo sa dominikanhong republika nahimutang ni sa sentro nga bahin s...`
297
+ 3. `geonames org cc by post updated database download sa bungtod sa northern estado sa sudan sa sudan ng...`
298
+
299
+
300
+ ### Generated Text Samples (Subword-based)
301
+
302
+ Below are text samples generated from each subword-based Markov chain model:
303
+
304
+ **Context Size 1:**
305
+
306
+ 1. `_nahinababaes_pi`
307
+ 2. `a_mga_nl._sangan`
308
+ 3. `nga_mibluagingal`
309
+
310
+ **Context Size 2:**
311
+
312
+ 1. `a_amasmyctomihapr`
313
+ 2. `andsby)];_p.m._an`
314
+ 3. `ngaloado_nga_gel.`
315
+
316
+ **Context Size 3:**
317
+
318
+ 1. `_sa_hayop_sa_tro._`
319
+ 2. `sa_orrell_(cc-by)]`
320
+ 3. `ang_sourgoin_tom_n`
321
+
322
+ **Context Size 4:**
323
+
324
+ 1. `_sa_nasod,_km_sa_[_`
325
+ 2. `ang_patag_tuig._kin`
326
+ 3. `_ang_kinabarat_aaku`
327
 
328
 
329
  ### Key Findings
330
 
331
+ - **Best Predictability:** Context-4 (word) with 90.1% predictability
332
  - **Branching Factor:** Decreases with context size (more deterministic)
333
+ - **Memory Trade-off:** Larger contexts require more storage (1,608,648 contexts)
334
  - **Recommendation:** Context-3 or Context-4 for text generation
335
 
336
  ---
 
346
 
347
  | Metric | Value |
348
  |--------|-------|
349
+ | Vocabulary Size | 2,197,636 |
350
+ | Total Tokens | 770,818,249 |
351
+ | Mean Frequency | 350.75 |
352
+ | Median Frequency | 6 |
353
+ | Frequency Std Dev | 78759.96 |
354
 
355
  ### Most Common Words
356
 
357
  | Rank | Word | Frequency |
358
  |------|------|-----------|
359
+ | 1 | sa | 95,123,802 |
360
+ | 2 | ang | 48,189,862 |
361
+ | 3 | nga | 26,091,942 |
362
+ | 4 | ug | 11,614,833 |
363
+ | 5 | mga | 11,196,843 |
364
+ | 6 | c | 9,761,410 |
365
+ | 7 | ni | 8,490,669 |
366
+ | 8 | niini | 7,626,074 |
367
+ | 9 | palibot | 7,306,530 |
368
+ | 10 | nasod | 7,071,533 |
369
 
370
  ### Least Common Words (from vocabulary)
371
 
372
  | Rank | Word | Frequency |
373
  |------|------|-----------|
374
+ | 1 | kaliforńijo | 2 |
375
+ | 2 | kaliforniya | 2 |
376
+ | 3 | کیلیفورنیا | 2 |
377
+ | 4 | couzzens | 2 |
378
+ | 5 | hellgrammite | 2 |
379
+ | 6 | powena | 2 |
380
+ | 7 | californië | 2 |
381
+ | 8 | mcgarva | 2 |
382
+ | 9 | fightertown | 2 |
383
+ | 10 | ferril | 2 |
384
 
385
  ### Zipf's Law Analysis
386
 
387
  | Metric | Value |
388
  |--------|-------|
389
+ | Zipf Coefficient | 1.4288 |
390
+ | R² (Goodness of Fit) | 0.993579 |
391
  | Adherence Quality | **excellent** |
392
 
393
  ### Coverage Analysis
394
 
395
  | Top N Words | Coverage |
396
  |-------------|----------|
397
+ | Top 100 | 63.2% |
398
+ | Top 1,000 | 88.4% |
399
+ | Top 5,000 | 93.1% |
400
+ | Top 10,000 | 94.4% |
401
 
402
  ### Key Findings
403
 
404
+ - **Zipf Compliance:** R²=0.9936 indicates excellent adherence to Zipf's law
405
+ - **High Frequency Dominance:** Top 100 words cover 63.2% of corpus
406
+ - **Long Tail:** 2,187,636 words needed for remaining 5.6% coverage
407
 
408
  ---
409
  ## 5. Word Embeddings Evaluation
 
416
 
417
  ![t-SNE Sentences](visualizations/tsne_sentences.png)
418
 
 
419
 
420
+ ### 5.1 Cross-Lingual Alignment
421
+
422
+ ![Alignment Quality](visualizations/embedding_alignment_quality.png)
423
+
424
+ ![Multilingual t-SNE](visualizations/embedding_tsne_multilingual.png)
425
+
426
+
427
+ ### 5.2 Model Comparison
428
+
429
+ | Model | Dimension | Isotropy | Semantic Density | Alignment R@1 | Alignment R@10 |
430
+ |-------|-----------|----------|------------------|---------------|----------------|
431
+ | **mono_32d** | 32 | 0.7670 🏆 | 0.3194 | N/A | N/A |
432
+ | **mono_64d** | 64 | 0.7432 | 0.2748 | N/A | N/A |
433
+ | **mono_128d** | 128 | 0.6660 | 0.2423 | N/A | N/A |
434
+ | **aligned_32d** | 32 | 0.7670 | 0.3286 | 0.1020 | 0.4400 |
435
+ | **aligned_64d** | 64 | 0.7432 | 0.2716 | 0.2480 | 0.6140 |
436
+ | **aligned_128d** | 128 | 0.6660 | 0.2452 | 0.3300 | 0.7240 |
437
 
438
  ### Key Findings
439
 
440
+ - **Best Isotropy:** mono_32d with 0.7670 (more uniform distribution)
441
+ - **Semantic Density:** Average pairwise similarity of 0.2803. Lower values indicate better semantic separation.
442
+ - **Alignment Quality:** Aligned models achieve up to 33.0% R@1 in cross-lingual retrieval.
443
+ - **Recommendation:** 128d aligned for best cross-lingual performance
444
 
445
  ---
446
+ ## 6. Morphological Analysis (Experimental)
447
+
448
+ This section presents an automated morphological analysis derived from the statistical divergence between word-level and subword-level models. By analyzing where subword predictability spikes and where word-level coverage fails, we can infer linguistic structures without supervised data.
449
+
450
+ ### 6.1 Productivity & Complexity
451
+
452
+ | Metric | Value | Interpretation | Recommendation |
453
+ |--------|-------|----------------|----------------|
454
+ | Productivity Index | **5.000** | High morphological productivity | Reliable analysis |
455
+ | Idiomaticity Gap | **-0.024** | Low formulaic content | - |
456
+
457
+ ### 6.2 Affix Inventory (Productive Units)
458
+
459
+ These are the most productive prefixes and suffixes identified by sampling the vocabulary for global substitutability patterns. A unit is considered an affix if stripping it leaves a valid stem that appears in other contexts.
460
+
461
+ #### Productive Prefixes
462
+ | Prefix | Examples |
463
+ |--------|----------|
464
+ | `-ma` | mazanderanica, magnesita, magnhildmyra |
465
+
466
+ #### Productive Suffixes
467
+ | Suffix | Examples |
468
+ |--------|----------|
469
+ | `-a` | susumwa, pucanaylla, mazanderanica |
470
+ | `-s` | heteraxinoides, gastroglottis, supersentiens |
471
+ | `-en` | sveinebakken, elgemyrdalen, føytongjen |
472
+ | `-is` | gastroglottis, nooksackensis, naraiensis |
473
+ | `-us` | pseudogymnostreptus, rearedpiaractus, supremus |
474
+ | `-ia` | omphalomia, eugomontia, leucospilaria |
475
+ | `-la` | pucanaylla, diltilla, bulbulla |
476
+ | `-na` | thunbergiana, jajina, coolarrikinna |
477
+
478
+ ### 6.3 Bound Stems (Lexical Roots)
479
+
480
+ Bound stems are high-frequency subword units that are semantically cohesive but rarely appear as standalone words. These often correspond to the 'core' of a word that requires inflection or derivation to be valid.
481
+
482
+ | Stem | Cohesion | Substitutability | Examples |
483
+ |------|----------|------------------|----------|
484
+ | `lson` | 2.69x | 160 contexts | olson, alson, elson |
485
+ | `ahim` | 2.83x | 95 contexts | kahim, rahim, tahim |
486
+ | `eona` | 2.74x | 87 contexts | teona, meona, leona |
487
+ | `ngto` | 2.54x | 108 contexts | hangto, singto, langto |
488
+ | `ugna` | 2.37x | 146 contexts | yugna, pugna, ugnat |
489
+ | `ogue` | 2.44x | 115 contexts | bogue, logue, gogue |
490
+ | `etro` | 2.08x | 203 contexts | netro, uetro, etrou |
491
+ | `ands` | 2.06x | 206 contexts | sands, wands, pands |
492
+ | `abaw` | 2.19x | 74 contexts | mabaw, labaw, tabaw |
493
+ | `ecie` | 2.61x | 34 contexts | decie, pecies, specie |
494
+ | `ated` | 2.52x | 37 contexts | dated, rated, hated |
495
+ | `atag` | 1.65x | 256 contexts | atagn, datag, atago |
496
+
497
+ ### 6.4 Affix Compatibility (Co-occurrence)
498
+
499
+ This table shows which prefixes and suffixes most frequently co-occur on the same stems, revealing the 'stacking' rules of the language's morphology.
500
+
501
+ | Prefix | Suffix | Frequency | Examples |
502
+ |--------|--------|-----------|----------|
503
+ | `-ma` | `-a` | 56 words | matarrala, mahmudiya |
504
+ | `-ma` | `-s` | 25 words | macrostrobilus, macroconus |
505
+ | `-ma` | `-na` | 13 words | magiana, manvoumouna |
506
+ | `-ma` | `-us` | 9 words | macrostrobilus, macroconus |
507
+ | `-ma` | `-la` | 8 words | matarrala, macunolla |
508
+ | `-ma` | `-is` | 7 words | mallecensis, marizópolis |
509
+ | `-ma` | `-ia` | 4 words | maligia, mariahuslia |
510
+ | `-ma` | `-ra` | 3 words | mautotara, macrochiera |
511
+ | `-ma` | `-en` | 3 words | maben, maureen |
512
+ | `-ma` | `-es` | 2 words | macroscelides, mashes |
513
+
514
+ ### 6.5 Recursive Morpheme Segmentation
515
+
516
+ Using **Recursive Hierarchical Substitutability**, we decompose complex words into their constituent morphemes. This approach handles nested affixes (e.g., `prefix-prefix-root-suffix`).
517
+
518
+ | Word | Suggested Split | Confidence | Stem |
519
+ |------|-----------------|------------|------|
520
+ | whittieriana | **`whittier-ia-na`** | 6.0 | `whittier` |
521
+ | darwiniana | **`darwin-ia-na`** | 6.0 | `darwin` |
522
+ | huicumera | **`huicume-ra`** | 4.5 | `huicume` |
523
+ | javorkana | **`javorka-na`** | 4.5 | `javorka` |
524
+ | olavsbekken | **`olavsbekk-en`** | 4.5 | `olavsbekk` |
525
+ | campelles | **`campell-es`** | 4.5 | `campell` |
526
+ | apolinaria | **`apolinar-ia`** | 4.5 | `apolinar` |
527
+ | steyskalia | **`steyskal-ia`** | 4.5 | `steyskal` |
528
+ | liniholmen | **`liniholm-en`** | 4.5 | `liniholm` |
529
+ | finngrunden | **`finngrund-en`** | 4.5 | `finngrund` |
530
+ | maaprobahan | **`ma-aprobahan`** | 4.5 | `aprobahan` |
531
+ | macrostylospora | **`ma-crostylospo-ra`** | 3.0 | `crostylospo` |
532
+ | saharolana | **`saharo-la-na`** | 3.0 | `saharo` |
533
+ | maxwellensis | **`ma-xwellens-is`** | 3.0 | `xwellens` |
534
+ | mappianthus | **`ma-ppianth-us`** | 3.0 | `ppianth` |
535
+
536
+ ### 6.6 Linguistic Interpretation
537
+
538
+ > **Automated Insight:**
539
+ The language Cebuano shows high morphological productivity. The subword models are significantly more efficient than word models, suggesting a rich system of affixation or compounding.
540
+
541
+ ---
542
+ ## 7. Summary & Recommendations
543
 
544
  ![Performance Dashboard](visualizations/performance_dashboard.png)
545
 
 
547
 
548
  | Component | Recommended | Rationale |
549
  |-----------|-------------|-----------|
550
+ | Tokenizer | **64k BPE** | Best compression (4.06x) |
551
+ | N-gram | **2-gram** | Lowest perplexity (218) |
552
+ | Markov | **Context-4** | Highest predictability (90.1%) |
553
  | Embeddings | **100d** | Balanced semantic capture and isotropy |
554
 
555
+
556
  ---
557
  ## Appendix: Metrics Glossary & Interpretation Guide
558
 
 
742
  author = {Kamali, Omar},
743
  title = {Wikilangs: Open NLP Models for Wikipedia Languages},
744
  year = {2025},
745
+ doi = {10.5281/zenodo.18073153},
746
+ publisher = {Zenodo},
747
  url = {https://huggingface.co/wikilangs}
748
  institution = {Omneity Labs}
749
  }
 
759
  - 🤗 Models: [huggingface.co/wikilangs](https://huggingface.co/wikilangs)
760
  - 📊 Data: [wikipedia-monthly](https://huggingface.co/datasets/omarkamali/wikipedia-monthly)
761
  - 👤 Author: [Omar Kamali](https://huggingface.co/omarkamali)
762
+ - 🤝 Sponsor: [Featherless AI](https://featherless.ai)
763
  ---
764
  *Generated by Wikilangs Models Pipeline*
765
 
766
+ *Report Date: 2026-01-07 20:10:38*
models/embeddings/aligned/ceb_128d.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3eb8cd36ef12787b52a4668ec8d932c15ae2506ba3d10269c67067feb027418f
3
+ size 2541152375
models/embeddings/aligned/ceb_128d.meta.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"lang": "ceb", "dim": 128, "max_seq_len": 512, "is_aligned": true}
models/embeddings/aligned/ceb_128d.projection.npy ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ea5b20fdaac8234f50ae2c532a86b279e3aff39e4d73f285b1e0a70647b71f91
3
+ size 65664
models/embeddings/aligned/ceb_128d_metadata.json ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "language": "ceb",
3
+ "dimension": 128,
4
+ "version": "aligned",
5
+ "hub_language": "en",
6
+ "seed_vocab_size": 152433,
7
+ "vocab_size": 1454790
8
+ }
models/embeddings/aligned/ceb_32d.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:eafa8758d8b2648080dbb701fc676f2b6825d9fc3b9caa5a358d6a42f7c68238
3
+ size 655873655
models/embeddings/aligned/ceb_32d.meta.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"lang": "ceb", "dim": 32, "max_seq_len": 512, "is_aligned": true}
models/embeddings/aligned/ceb_32d.projection.npy ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:94bb2c9dcb6b024b0a37da5310b8164eaccd4a8d06893cf45a28f70e9ed38b1d
3
+ size 4224
models/embeddings/aligned/ceb_32d_metadata.json ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "language": "ceb",
3
+ "dimension": 32,
4
+ "version": "aligned",
5
+ "hub_language": "en",
6
+ "seed_vocab_size": 152433,
7
+ "vocab_size": 1454790
8
+ }
models/embeddings/aligned/ceb_64d.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a051326edada076b29c9b2bc4a1c13e1b92c0e582e710fcf349f23daf828fb19
3
+ size 1284299895
models/embeddings/aligned/ceb_64d.meta.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"lang": "ceb", "dim": 64, "max_seq_len": 512, "is_aligned": true}
models/embeddings/aligned/ceb_64d.projection.npy ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5c352c1836ef6cb3518cfb8cf48cd40d6d99ca83e50dedbf9849d9518e0efe65
3
+ size 16512
models/embeddings/aligned/ceb_64d_metadata.json ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "language": "ceb",
3
+ "dimension": 64,
4
+ "version": "aligned",
5
+ "hub_language": "en",
6
+ "seed_vocab_size": 152433,
7
+ "vocab_size": 1454790
8
+ }
models/embeddings/monolingual/ceb_128d.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:42aab08af6a9effecb1dd1a8daddf5394c4fa5c310fb4f82f9d1b96c78267925
3
- size 2636678209
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3eb8cd36ef12787b52a4668ec8d932c15ae2506ba3d10269c67067feb027418f
3
+ size 2541152375
models/embeddings/monolingual/ceb_128d_metadata.json CHANGED
@@ -3,11 +3,13 @@
3
  "dimension": 128,
4
  "version": "monolingual",
5
  "training_params": {
6
- "dim": 128,
7
  "min_count": 5,
8
  "window": 5,
9
  "negative": 5,
10
- "epochs": 5
 
 
11
  },
12
- "vocab_size": 1545627
13
  }
 
3
  "dimension": 128,
4
  "version": "monolingual",
5
  "training_params": {
6
+ "algorithm": "skipgram",
7
  "min_count": 5,
8
  "window": 5,
9
  "negative": 5,
10
+ "epochs": 5,
11
+ "encoding_method": "rope",
12
+ "dim": 128
13
  },
14
+ "vocab_size": 1454790
15
  }
models/embeddings/monolingual/ceb_32d.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:1f87fe735c27ef9aafdff64e210b5e4684ea25d1e3dbbc3d6b511fc677fc903d
3
- size 681636673
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:eafa8758d8b2648080dbb701fc676f2b6825d9fc3b9caa5a358d6a42f7c68238
3
+ size 655873655
models/embeddings/monolingual/ceb_32d_metadata.json CHANGED
@@ -3,11 +3,13 @@
3
  "dimension": 32,
4
  "version": "monolingual",
5
  "training_params": {
6
- "dim": 32,
7
  "min_count": 5,
8
  "window": 5,
9
  "negative": 5,
10
- "epochs": 5
 
 
11
  },
12
- "vocab_size": 1545627
13
  }
 
3
  "dimension": 32,
4
  "version": "monolingual",
5
  "training_params": {
6
+ "algorithm": "skipgram",
7
  "min_count": 5,
8
  "window": 5,
9
  "negative": 5,
10
+ "epochs": 5,
11
+ "encoding_method": "rope",
12
+ "dim": 32
13
  },
14
+ "vocab_size": 1454790
15
  }
models/embeddings/monolingual/ceb_64d.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:f23bb6c3132f01e2dffd96a4b5bc7e374ddbb69ca8edb7b8f0fa90dc6a542e52
3
- size 1333317185
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a051326edada076b29c9b2bc4a1c13e1b92c0e582e710fcf349f23daf828fb19
3
+ size 1284299895
models/embeddings/monolingual/ceb_64d_metadata.json CHANGED
@@ -3,11 +3,13 @@
3
  "dimension": 64,
4
  "version": "monolingual",
5
  "training_params": {
6
- "dim": 64,
7
  "min_count": 5,
8
  "window": 5,
9
  "negative": 5,
10
- "epochs": 5
 
 
11
  },
12
- "vocab_size": 1545627
13
  }
 
3
  "dimension": 64,
4
  "version": "monolingual",
5
  "training_params": {
6
+ "algorithm": "skipgram",
7
  "min_count": 5,
8
  "window": 5,
9
  "negative": 5,
10
+ "epochs": 5,
11
+ "encoding_method": "rope",
12
+ "dim": 64
13
  },
14
+ "vocab_size": 1454790
15
  }
models/subword_markov/ceb_markov_ctx1_subword.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:75eee096310049e7245bcee5d8d44990052e6f878d91fb14d82179c90ec1be30
3
- size 702190
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4f768ccf3c1b17ee6c3155af7196c8d3225ee1b5b17f295b763044d932178548
3
+ size 843230
models/subword_markov/ceb_markov_ctx1_subword_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "context_size": 1,
3
  "variant": "subword",
4
  "language": "ceb",
5
- "unique_contexts": 7465,
6
- "total_transitions": 5363634377
7
  }
 
2
  "context_size": 1,
3
  "variant": "subword",
4
  "language": "ceb",
5
+ "unique_contexts": 10636,
6
+ "total_transitions": 4741280452
7
  }
models/subword_markov/ceb_markov_ctx2_subword.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:da081160892c12c55ca085c74a7860d55ebf73556a941f29f3ea6ee7f4261eba
3
- size 3994591
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:740d6da8735c5fe348a7d02eb110099031a0c7520aa307d58faedb1d948abea4
3
+ size 4133523
models/subword_markov/ceb_markov_ctx2_subword_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "context_size": 2,
3
  "variant": "subword",
4
  "language": "ceb",
5
- "unique_contexts": 116477,
6
- "total_transitions": 5357518115
7
  }
 
2
  "context_size": 2,
3
  "variant": "subword",
4
  "language": "ceb",
5
+ "unique_contexts": 129845,
6
+ "total_transitions": 4735165236
7
  }
models/subword_markov/ceb_markov_ctx3_subword.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:e89ee5c77a03fb98bfc85c9b8338ba70da0ee7bd637bf3e952dba101194c58bb
3
- size 16258109
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7280cd84fb22bd825ecd5918fd659b4ee44d894dd426f7e4863f41140c3b9065
3
+ size 15714134
models/subword_markov/ceb_markov_ctx3_subword_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "context_size": 3,
3
  "variant": "subword",
4
  "language": "ceb",
5
- "unique_contexts": 459408,
6
- "total_transitions": 5351401853
7
  }
 
2
  "context_size": 3,
3
  "variant": "subword",
4
  "language": "ceb",
5
+ "unique_contexts": 463245,
6
+ "total_transitions": 4729050020
7
  }
models/subword_markov/ceb_markov_ctx4_subword.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:fa1afce11a5001cd502a857781285516d4cd5c3f72720239d8a9181ed19c48a0
3
- size 54302303
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c541cfbd127565d46008005e601455b973d3ebc5d5be3c000d9b4177c0faf931
3
+ size 50278691
models/subword_markov/ceb_markov_ctx4_subword_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "context_size": 4,
3
  "variant": "subword",
4
  "language": "ceb",
5
- "unique_contexts": 1725840,
6
- "total_transitions": 5345285591
7
  }
 
2
  "context_size": 4,
3
  "variant": "subword",
4
  "language": "ceb",
5
+ "unique_contexts": 1608648,
6
+ "total_transitions": 4722934804
7
  }
models/subword_ngram/ceb_2gram_subword.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:2ae4ef8a8dc6cccad7b03f52ba1f8907812c1874ab0299b5e2eccbd41b6830b2
3
- size 448161
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:75effbc8c3c560b65d736c9461a76644273c13e5a1bdf333accf36f01b482fd9
3
+ size 472677
models/subword_ngram/ceb_2gram_subword_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "n": 2,
3
  "variant": "subword",
4
  "language": "ceb",
5
- "unique_ngrams": 32514,
6
- "total_ngrams": 5363634377
7
  }
 
2
  "n": 2,
3
  "variant": "subword",
4
  "language": "ceb",
5
+ "unique_ngrams": 33604,
6
+ "total_ngrams": 4741280452
7
  }
models/subword_ngram/ceb_3gram_subword.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:6b5f2298d782051f5882d10b41d5391ea25fc7c33b4c9f0787addc7efa452f93
3
- size 2626190
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:bf35e60b92e9a30a6bddca322cbb5e9b26d7208c3b985403b5ad20e71d81c489
3
+ size 2514513
models/subword_ngram/ceb_3gram_subword_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "n": 3,
3
  "variant": "subword",
4
  "language": "ceb",
5
- "unique_ngrams": 210233,
6
- "total_ngrams": 5357518115
7
  }
 
2
  "n": 3,
3
  "variant": "subword",
4
  "language": "ceb",
5
+ "unique_ngrams": 196868,
6
+ "total_ngrams": 4735165236
7
  }
models/subword_ngram/ceb_4gram_subword.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:f47830959cc3a6165b807813b29917389d27c20cab9f9f85ea225d9df7c66211
3
- size 13858488
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c8bed27ef2e0fd850c1d5afdae26a0c1d582caa13740b70d686a3c4b6572dfe6
3
+ size 12745233
models/subword_ngram/ceb_4gram_subword_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "n": 4,
3
  "variant": "subword",
4
  "language": "ceb",
5
- "unique_ngrams": 1121715,
6
- "total_ngrams": 5351401853
7
  }
 
2
  "n": 4,
3
  "variant": "subword",
4
  "language": "ceb",
5
+ "unique_ngrams": 1019139,
6
+ "total_ngrams": 4729050020
7
  }
models/subword_ngram/ceb_5gram_subword.parquet ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ded5fa72b1333db15722dc0eadc2671d488350d645d3763e7c475a650a835795
3
+ size 44204990
models/subword_ngram/ceb_5gram_subword_metadata.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "n": 5,
3
+ "variant": "subword",
4
+ "language": "ceb",
5
+ "unique_ngrams": 3628728,
6
+ "total_ngrams": 4722934804
7
+ }
models/tokenizer/ceb_tokenizer_16k.model CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:603bba5792541d1e0e40f62a0807a06e1ecdd93face5666eb5cc7669fe8f92b3
3
- size 507882
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d0524fd2b40acc6f5b34cb83b12b24872b8c64abbd29e4a958043cd2c376fce7
3
+ size 510736
models/tokenizer/ceb_tokenizer_16k.vocab CHANGED
The diff for this file is too large to render. See raw diff
 
models/tokenizer/ceb_tokenizer_32k.model CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:86f7da465475641e9241e82d2fb8af8119bc8bc35a96b01ec68c92816a70efa6
3
- size 793102
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:388d9039e50faf9eeb7281c832737aadf1e832bbe627c92b606b3ed690ea18f8
3
+ size 798937
models/tokenizer/ceb_tokenizer_32k.vocab CHANGED
The diff for this file is too large to render. See raw diff
 
models/tokenizer/ceb_tokenizer_64k.model CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:7c578be212d9f5b72edbc15bab7a6bed92723608475c4b47a09a01fdc7b14a04
3
- size 1380555
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0eaa647544e23d6b15bfee9173d40a3962bae64e5745da112bfba70081de1b77
3
+ size 1394915
models/tokenizer/ceb_tokenizer_64k.vocab CHANGED
The diff for this file is too large to render. See raw diff
 
models/tokenizer/ceb_tokenizer_8k.model CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:093777627391419d288ec95c764e3df10df5f26a9431ae0920f42ce278cbd9b7
3
- size 371978
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:074f697a2540d914dbc182aa0ad66124f9535c265b7cfad75e78a6a21b055930
3
+ size 373160
models/tokenizer/ceb_tokenizer_8k.vocab CHANGED
The diff for this file is too large to render. See raw diff
 
models/vocabulary/ceb_vocabulary.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:f95b64c94d5bfea3ae0b3adfe22a45a4b55ec4e76158c85816dabaad27ce559d
3
- size 14409016
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4393f136f1e1677ad29b26e914ac0063db786da099d2088540d60a7c8d0a9015
3
+ size 30923898
models/vocabulary/ceb_vocabulary_metadata.json CHANGED
@@ -1,16 +1,17 @@
1
  {
2
  "language": "ceb",
3
- "vocabulary_size": 1000000,
 
4
  "statistics": {
5
- "type_token_ratio": 0.00314743750932242,
6
  "coverage": {
7
- "top_100": 0.6036295391408708,
8
- "top_1000": 0.8863501456542678,
9
- "top_5000": 0.9327801826871985,
10
- "top_10000": 0.9454672256327237
11
  },
12
- "hapax_count": 461125,
13
- "hapax_ratio": 0.1721708442559998,
14
- "total_documents": 6116262
15
  }
16
  }
 
1
  {
2
  "language": "ceb",
3
+ "vocabulary_size": 2197636,
4
+ "variant": "full",
5
  "statistics": {
6
+ "type_token_ratio": 0.0034010600533183766,
7
  "coverage": {
8
+ "top_100": 0.6313898005092059,
9
+ "top_1000": 0.8839513376148225,
10
+ "top_5000": 0.9301546296408513,
11
+ "top_10000": 0.9430208060874313
12
  },
13
+ "hapax_count": 425410,
14
+ "hapax_ratio": 0.1621816773323838,
15
+ "total_documents": 6115216
16
  }
17
  }
models/vocabulary/ceb_vocabulary_top.parquet ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b883ab7c42fc9a39c0b762affb65bd56f057e451df5cff5a41c183ddac4fad1e
3
+ size 14413163
models/vocabulary/ceb_vocabulary_top_metadata.json ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "language": "ceb",
3
+ "vocabulary_size": 1000000,
4
+ "variant": "top",
5
+ "statistics": {
6
+ "type_token_ratio": 0.0034010600533183766,
7
+ "coverage": {
8
+ "top_100": 0.6313898005092059,
9
+ "top_1000": 0.8839513376148225,
10
+ "top_5000": 0.9301546296408513,
11
+ "top_10000": 0.9430208060874313
12
+ },
13
+ "hapax_count": 425410,
14
+ "hapax_ratio": 0.1621816773323838,
15
+ "total_documents": 6115216,
16
+ "top_vocab_size": 1000000,
17
+ "coverage_ratio": 0.9935723581748113,
18
+ "tokens_excluded": 1197636
19
+ }
20
+ }
models/word_markov/ceb_markov_ctx1_word.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:e44c59f28e8285985bf24534faa2a26ecb1297f68104a8b5770f2dbb3cb5e6c8
3
- size 163469464
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8d44f8a21899c99ba775bbcd5e8e5e784ac724f54d572a7815600b0965968b7e
3
+ size 175693160
models/word_markov/ceb_markov_ctx1_word_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "context_size": 1,
3
  "variant": "word",
4
  "language": "ceb",
5
- "unique_contexts": 2678400,
6
- "total_transitions": 1160169556
7
  }
 
2
  "context_size": 1,
3
  "variant": "word",
4
  "language": "ceb",
5
+ "unique_contexts": 2622358,
6
+ "total_transitions": 765128443
7
  }