omarkamali commited on
Commit
e2fa0dc
·
verified ·
1 Parent(s): 6422351

Upload all models and assets for diq (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 +325 -140
  3. models/embeddings/aligned/diq_128d.bin +3 -0
  4. models/embeddings/aligned/diq_128d.meta.json +1 -0
  5. models/embeddings/aligned/diq_128d.projection.npy +3 -0
  6. models/embeddings/aligned/diq_128d_metadata.json +8 -0
  7. models/embeddings/aligned/diq_32d.bin +3 -0
  8. models/embeddings/aligned/diq_32d.meta.json +1 -0
  9. models/embeddings/aligned/diq_32d.projection.npy +3 -0
  10. models/embeddings/aligned/diq_32d_metadata.json +8 -0
  11. models/embeddings/aligned/diq_64d.bin +3 -0
  12. models/embeddings/aligned/diq_64d.meta.json +1 -0
  13. models/embeddings/aligned/diq_64d.projection.npy +3 -0
  14. models/embeddings/aligned/diq_64d_metadata.json +8 -0
  15. models/embeddings/monolingual/diq_128d.bin +2 -2
  16. models/embeddings/monolingual/diq_128d_metadata.json +5 -3
  17. models/embeddings/monolingual/diq_32d.bin +2 -2
  18. models/embeddings/monolingual/diq_32d_metadata.json +5 -3
  19. models/embeddings/monolingual/diq_64d.bin +2 -2
  20. models/embeddings/monolingual/diq_64d_metadata.json +5 -3
  21. models/subword_markov/diq_markov_ctx1_subword.parquet +2 -2
  22. models/subword_markov/diq_markov_ctx1_subword_metadata.json +2 -2
  23. models/subword_markov/diq_markov_ctx2_subword.parquet +2 -2
  24. models/subword_markov/diq_markov_ctx2_subword_metadata.json +2 -2
  25. models/subword_markov/diq_markov_ctx3_subword.parquet +2 -2
  26. models/subword_markov/diq_markov_ctx3_subword_metadata.json +2 -2
  27. models/subword_markov/diq_markov_ctx4_subword.parquet +2 -2
  28. models/subword_markov/diq_markov_ctx4_subword_metadata.json +2 -2
  29. models/subword_ngram/diq_2gram_subword.parquet +2 -2
  30. models/subword_ngram/diq_2gram_subword_metadata.json +2 -2
  31. models/subword_ngram/diq_3gram_subword.parquet +2 -2
  32. models/subword_ngram/diq_3gram_subword_metadata.json +2 -2
  33. models/subword_ngram/diq_4gram_subword.parquet +2 -2
  34. models/subword_ngram/diq_4gram_subword_metadata.json +2 -2
  35. models/subword_ngram/diq_5gram_subword.parquet +3 -0
  36. models/subword_ngram/diq_5gram_subword_metadata.json +7 -0
  37. models/tokenizer/diq_tokenizer_16k.model +2 -2
  38. models/tokenizer/diq_tokenizer_16k.vocab +0 -0
  39. models/tokenizer/diq_tokenizer_32k.model +2 -2
  40. models/tokenizer/diq_tokenizer_32k.vocab +0 -0
  41. models/tokenizer/diq_tokenizer_64k.model +2 -2
  42. models/tokenizer/diq_tokenizer_64k.vocab +0 -0
  43. models/tokenizer/diq_tokenizer_8k.model +2 -2
  44. models/tokenizer/diq_tokenizer_8k.vocab +0 -0
  45. models/vocabulary/diq_vocabulary.parquet +2 -2
  46. models/vocabulary/diq_vocabulary_metadata.json +10 -9
  47. models/word_markov/diq_markov_ctx1_word.parquet +2 -2
  48. models/word_markov/diq_markov_ctx1_word_metadata.json +2 -2
  49. models/word_markov/diq_markov_ctx2_word.parquet +2 -2
  50. models/word_markov/diq_markov_ctx2_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: diq
3
- language_name: DIQ
4
  language_family: iranian_other
5
  tags:
6
  - wikilangs
@@ -10,11 +10,21 @@ tags:
10
  - n-gram
11
  - markov
12
  - wikipedia
 
 
 
 
 
 
 
 
 
 
13
  - monolingual
14
  - family-iranian_other
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: 3.820
27
  - name: best_isotropy
28
  type: isotropy
29
- value: 0.8131
30
  - name: vocabulary_size
31
  type: vocab
32
- value: 103264
33
- generated: 2025-12-30
34
  ---
35
 
36
- # DIQ - Wikilangs Models
37
  ## Comprehensive Research Report & Full Ablation Study
38
 
39
- This repository contains NLP models trained and evaluated by Wikilangs, specifically on **DIQ** 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,62 +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.034x | 2.99 | 0.0960% | 363,458 |
76
- | **16k** | 3.324x | 3.27 | 0.1052% | 331,721 |
77
- | **32k** | 3.590x | 3.53 | 0.1136% | 307,147 |
78
- | **64k** | 3.820x 🏆 | 3.76 | 0.1209% | 288,639 |
79
 
80
  ### Tokenization Examples
81
 
82
  Below are sample sentences tokenized with each vocabulary size:
83
 
84
- **Sample 1:** `Exermont, dewleta Fransa de mıntıqaya Grand Esti de wılayetê Ardennesi de yew ko...`
85
 
86
  | Vocab | Tokens | Count |
87
  |-------|--------|-------|
88
- | 8k | `▁ex er mont , ▁dewletafransademıntıqayagrandesti ... (+14 more)` | 24 |
89
- | 16k | `▁ex er mont , ▁dewletafransademıntıqayagrandesti ... (+14 more)` | 24 |
90
- | 32k | `▁ex er mont , ▁dewletafransademıntıqayagrandesti ... (+14 more)` | 24 |
91
- | 64k | `▁exermont , ▁dewleta ▁fransademıntıqayagrandestidewılayetê ... (+12 more)` | 22 |
92
-
93
- **Sample 2:** `Seramey
94
- Qewmıyayışê dınya
95
-
96
- Qewmıyayışê memleketi
97
-
98
- Biyayışi
99
-
100
- Merdışi
101
-
102
-
103
 
104
- ...`
105
 
106
  | Vocab | Tokens | Count |
107
  |-------|--------|-------|
108
- | 8k | `▁seramey ▁qewmıyayışê ▁dınyaqewmıyayışêmemleketibiyayışimerdışikategoriye : 1 ... (+3 more)` | 13 |
109
- | 16k | `▁seramey ▁qewmıyayışê ▁dınyaqewmıyayışêmemleketibiyayışimerdışikategoriye : 1 ... (+3 more)` | 13 |
110
- | 32k | `▁seramey ▁qewmıyayışê ▁dınyaqewmıyayışêmemleketibiyayışimerdışikategoriye : 1 ... (+3 more)` | 13 |
111
- | 64k | `▁seramey ▁qewmıyayışê ▁dınyaqewmıyayışêmemleketibiyayışimerdışikategoriye : 1 ... (+3 more)` | 13 |
112
 
113
- **Sample 3:** `Quincy-Basse dewleta Fransa de mıntıqaya Hauts-de-France miyan de yew komunê qe...`
114
 
115
  | Vocab | Tokens | Count |
116
  |-------|--------|-------|
117
- | 8k | `▁quin cy - bas se ▁dewleta ▁fransa ▁de ▁mıntıqaya ▁hauts ... (+19 more)` | 29 |
118
- | 16k | `▁quin cy - bas se ▁dewleta ▁fransa ▁de ▁mıntıqaya ▁hauts ... (+19 more)` | 29 |
119
- | 32k | `▁quincy - basse ▁dewleta ▁fransa ▁de ▁mıntıqaya ▁hauts - de ... (+17 more)` | 27 |
120
- | 64k | `▁quincy - basse ▁dewleta ▁fransa ▁de ▁mıntıqaya ▁hauts - de ... (+17 more)` | 27 |
121
 
122
 
123
  ### Key Findings
124
 
125
- - **Best Compression:** 64k achieves 3.820x compression
126
- - **Lowest UNK Rate:** 8k with 0.0960% unknown tokens
127
  - **Trade-off:** Larger vocabularies improve compression but increase model size
128
  - **Recommendation:** 32k vocabulary provides optimal balance for production use
129
 
@@ -132,57 +139,111 @@ Below are sample sentences tokenized with each vocabulary size:
132
 
133
  ![N-gram Perplexity](visualizations/ngram_perplexity.png)
134
 
 
 
135
  ![N-gram Coverage](visualizations/ngram_coverage.png)
136
 
137
  ### Results
138
 
139
- | N-gram | Perplexity | Entropy | Unique N-grams | Top-100 Coverage | Top-1000 Coverage |
140
- |--------|------------|---------|----------------|------------------|-------------------|
141
- | **2-gram** | 4,282 🏆 | 12.06 | 58,073 | 31.5% | 62.7% |
142
- | **2-gram** | 448 🏆 | 8.81 | 7,864 | 56.6% | 97.0% |
143
- | **3-gram** | 5,072 | 12.31 | 83,405 | 29.2% | 63.1% |
144
- | **3-gram** | 3,630 | 11.83 | 59,410 | 21.8% | 64.0% |
145
- | **4-gram** | 7,816 | 12.93 | 158,337 | 26.5% | 58.9% |
146
- | **4-gram** | 16,017 | 13.97 | 303,847 | 14.4% | 43.2% |
 
 
147
 
148
  ### Top 5 N-grams by Size
149
 
150
- **2-grams:**
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
151
 
152
  | Rank | N-gram | Count |
153
  |------|--------|-------|
154
- | 1 | `kategoriye :` | 68,780 |
155
- | 2 | `disjunctive .` | 28,800 |
156
- | 3 | `& disjunctive` | 23,040 |
157
- | 4 | `i ̇` | 21,992 |
158
- | 5 | `, yew` | 18,635 |
159
 
160
- **3-grams:**
161
 
162
  | Rank | N-gram | Count |
163
  |------|--------|-------|
164
- | 1 | `& disjunctive .` | 23,040 |
165
- | 2 | `: / /` | 15,940 |
166
- | 3 | `kategoriye : komunê` | 11,844 |
167
- | 4 | `ca gêno .` | 11,726 |
168
- | 5 | `dewleta fransa de` | 11,146 |
169
 
170
- **4-grams:**
171
 
172
  | Rank | N-gram | Count |
173
  |------|--------|-------|
174
- | 1 | `de ca gêno .` | 10,199 |
175
- | 2 | `https : / /` | 9,965 |
176
- | 3 | `. https : /` | 8,616 |
177
- | 4 | `cısım katalogê neweyê pêroyi` | 7,025 |
178
- | 5 | `katalogê neweyê pêroyi de` | 7,025 |
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
179
 
180
 
181
  ### Key Findings
182
 
183
- - **Best Perplexity:** 2-gram with 448
184
  - **Entropy Trend:** Decreases with larger n-grams (more predictable)
185
- - **Coverage:** Top-1000 patterns cover ~43% of corpus
186
  - **Recommendation:** 4-gram or 5-gram for best predictive performance
187
 
188
  ---
@@ -190,55 +251,86 @@ Below are sample sentences tokenized with each vocabulary size:
190
 
191
  ![Markov Entropy](visualizations/markov_entropy.png)
192
 
 
 
193
  ![Markov Branching](visualizations/markov_branching.png)
194
 
195
  ### Results
196
 
197
- | Context | Avg Entropy | Perplexity | Branching Factor | Unique Contexts | Predictability |
198
- |---------|-------------|------------|------------------|-----------------|----------------|
199
- | **1** | 0.6352 | 1.553 | 4.26 | 261,554 | 36.5% |
200
- | **1** | 1.2157 | 2.323 | 8.73 | 2,560 | 0.0% |
201
- | **2** | 0.2227 | 1.167 | 1.59 | 1,111,370 | 77.7% |
202
- | **2** | 0.9540 | 1.937 | 5.91 | 22,347 | 4.6% |
203
- | **3** | 0.0834 | 1.059 | 1.17 | 1,762,135 | 91.7% |
204
- | **3** | 0.8172 | 1.762 | 4.15 | 131,963 | 18.3% |
205
- | **4** | 0.0378 🏆 | 1.027 | 1.08 | 2,058,989 | 96.2% |
206
- | **4** | 0.6869 🏆 | 1.610 | 2.93 | 547,289 | 31.3% |
207
 
208
- ### Generated Text Samples
209
 
210
- Below are text samples generated from each Markov chain model:
211
 
212
  **Context Size 1:**
213
 
214
- 1. `. rocvetışê afrika be directxo newe veti bi albi 82 77 , 245 . embıryani nıfus`
215
- 2. `, elektrik û ziraet û tsunamiyê okyanusê tetisi de taxımestareyê balina miyan de michel de deyıranê`
216
- 3. `- a crooked road behind 2004 ) ke vera kerdê porê xo elazığ`
217
 
218
  **Context Size 2:**
219
 
220
- 1. `kategoriye : muzik kategoriye : meqaleyê ke be naman ra nuseno . weşanxaneyê roşna , dîyarbekir 2013`
221
- 2. `disjunctive . libell_d_acheminement & disjunctive . code_commune_insee & disjunctive . nom_de_la_com...`
222
- 3. `& disjunctive . code_postal & disjunctive . libell_d_acheminement & disjunctive . code_commune_insee...`
223
 
224
  **Context Size 3:**
225
 
226
- 1. `& disjunctive . ligne_5 xızmete essegney de şebekey awe esto û sistemê kanalizasyoni ratneyao . xeta...`
227
- 2. `: / / aladin . u - strasbg . frno cısım katalogê neweyê pêroyi de ca gêno .`
228
- 3. `kategoriye : komunê seine - et - moselley lista qezanê grand esti lista kantonanê grand esti çımey k...`
229
 
230
  **Context Size 4:**
231
 
232
- 1. `de ca gêno . https : / / nisanyanmap . com / ? y = tepehan & t =`
233
- 2. `https : / / datanova . laposte . fr / explore / dataset / laposte_hexasmal / information / ?`
234
- 3. `. https : / / datanova . laposte . fr / explore / dataset / laposte_hexasmal / information /`
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
235
 
236
 
237
  ### Key Findings
238
 
239
- - **Best Predictability:** Context-4 with 96.2% predictability
240
  - **Branching Factor:** Decreases with context size (more deterministic)
241
- - **Memory Trade-off:** Larger contexts require more storage (547,289 contexts)
242
  - **Recommendation:** Context-3 or Context-4 for text generation
243
 
244
  ---
@@ -254,33 +346,33 @@ Below are text samples generated from each Markov chain model:
254
 
255
  | Metric | Value |
256
  |--------|-------|
257
- | Vocabulary Size | 103,264 |
258
- | Total Tokens | 2,826,953 |
259
- | Mean Frequency | 27.38 |
260
  | Median Frequency | 3 |
261
- | Frequency Std Dev | 563.36 |
262
 
263
  ### Most Common Words
264
 
265
  | Rank | Word | Frequency |
266
  |------|------|-----------|
267
- | 1 | de | 116,092 |
268
- | 2 | kategoriye | 68,789 |
269
- | 3 | ra | 40,615 |
270
- | 4 | yew | 37,444 |
271
- | 5 | i | 30,825 |
272
- | 6 | disjunctive | 28,800 |
273
- | 7 | u | 27,646 |
274
- | 8 | bıvênên | 23,479 |
275
- | 9 | komunê | 22,120 |
276
- | 10 | û | 21,949 |
277
 
278
  ### Least Common Words (from vocabulary)
279
 
280
  | Rank | Word | Frequency |
281
  |------|------|-----------|
282
- | 1 | vizyonkewtış | 2 |
283
- | 2 | namehetkarkaykeritewrnoti | 2 |
284
  | 3 | sude | 2 |
285
  | 4 | alınca | 2 |
286
  | 5 | vurmaz | 2 |
@@ -294,24 +386,24 @@ Below are text samples generated from each Markov chain model:
294
 
295
  | Metric | Value |
296
  |--------|-------|
297
- | Zipf Coefficient | 1.1065 |
298
- | R² (Goodness of Fit) | 0.997056 |
299
  | Adherence Quality | **excellent** |
300
 
301
  ### Coverage Analysis
302
 
303
  | Top N Words | Coverage |
304
  |-------------|----------|
305
- | Top 100 | 39.3% |
306
- | Top 1,000 | 66.0% |
307
- | Top 5,000 | 79.3% |
308
- | Top 10,000 | 84.5% |
309
 
310
  ### Key Findings
311
 
312
- - **Zipf Compliance:** R²=0.9971 indicates excellent adherence to Zipf's law
313
- - **High Frequency Dominance:** Top 100 words cover 39.3% of corpus
314
- - **Long Tail:** 93,264 words needed for remaining 15.5% coverage
315
 
316
  ---
317
  ## 5. Word Embeddings Evaluation
@@ -324,24 +416,114 @@ Below are text samples generated from each Markov chain model:
324
 
325
  ![t-SNE Sentences](visualizations/tsne_sentences.png)
326
 
327
- ### Model Comparison
328
 
329
- | Model | Vocab Size | Dimension | Avg Norm | Std Norm | Isotropy |
330
- |-------|------------|-----------|----------|----------|----------|
331
- | **mono_32d** | 38,727 | 32 | 4.943 | 1.253 | 0.8131 🏆 |
332
- | **mono_64d** | 38,727 | 64 | 5.521 | 1.070 | 0.7958 |
333
- | **mono_128d** | 38,727 | 128 | 6.001 | 0.853 | 0.6610 |
334
- | **embeddings_enhanced** | 0 | 0 | 0.000 | 0.000 | 0.0000 |
 
 
 
 
 
 
 
 
 
 
 
335
 
336
  ### Key Findings
337
 
338
- - **Best Isotropy:** mono_32d with 0.8131 (more uniform distribution)
339
- - **Dimension Trade-off:** Higher dimensions capture more semantics but reduce isotropy
340
- - **Vocabulary Coverage:** All models cover 38,727 words
341
- - **Recommendation:** 100d for balanced semantic capture and efficiency
342
 
343
  ---
344
- ## 6. Summary & Recommendations
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
345
 
346
  ![Performance Dashboard](visualizations/performance_dashboard.png)
347
 
@@ -349,11 +531,12 @@ Below are text samples generated from each Markov chain model:
349
 
350
  | Component | Recommended | Rationale |
351
  |-----------|-------------|-----------|
352
- | Tokenizer | **32k BPE** | Best compression (3.82x) with low UNK rate |
353
- | N-gram | **5-gram** | Lowest perplexity (448) |
354
- | Markov | **Context-4** | Highest predictability (96.2%) |
355
  | Embeddings | **100d** | Balanced semantic capture and isotropy |
356
 
 
357
  ---
358
  ## Appendix: Metrics Glossary & Interpretation Guide
359
 
@@ -543,7 +726,8 @@ If you use these models in your research, please cite:
543
  author = {Kamali, Omar},
544
  title = {Wikilangs: Open NLP Models for Wikipedia Languages},
545
  year = {2025},
546
- publisher = {HuggingFace},
 
547
  url = {https://huggingface.co/wikilangs}
548
  institution = {Omneity Labs}
549
  }
@@ -559,7 +743,8 @@ MIT License - Free for academic and commercial use.
559
  - 🤗 Models: [huggingface.co/wikilangs](https://huggingface.co/wikilangs)
560
  - 📊 Data: [wikipedia-monthly](https://huggingface.co/datasets/omarkamali/wikipedia-monthly)
561
  - 👤 Author: [Omar Kamali](https://huggingface.co/omarkamali)
 
562
  ---
563
  *Generated by Wikilangs Models Pipeline*
564
 
565
- *Report Date: 2025-12-30 08:31:36*
 
1
  ---
2
  language: diq
3
+ language_name: Dimli (individual language)
4
  language_family: iranian_other
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-iranian_other
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: 3.946
37
  - name: best_isotropy
38
  type: isotropy
39
+ value: 0.8232
40
  - name: vocabulary_size
41
  type: vocab
42
+ value: 0
43
+ generated: 2026-01-04
44
  ---
45
 
46
+ # Dimli (individual language) - Wikilangs Models
47
  ## Comprehensive Research Report & Full Ablation Study
48
 
49
+ This repository contains NLP models trained and evaluated by Wikilangs, specifically on **Dimli (individual language)** 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.111x | 3.11 | 0.0973% | 324,747 |
94
+ | **16k** | 3.420x | 3.42 | 0.1070% | 295,419 |
95
+ | **32k** | 3.692x | 3.70 | 0.1155% | 273,644 |
96
+ | **64k** | 3.946x 🏆 | 3.95 | 0.1234% | 256,028 |
97
 
98
  ### Tokenization Examples
99
 
100
  Below are sample sentences tokenized with each vocabulary size:
101
 
102
+ **Sample 1:** `.weir, nameyê bandıra sewiyaya serêna jeneriko (be İngılızki: Generic top-level ...`
103
 
104
  | Vocab | Tokens | Count |
105
  |-------|--------|-------|
106
+ | 8k | `▁. we ir , ▁nameyêbandırasewiyayaserênajeneriko( ... (+19 more)` | 29 |
107
+ | 16k | `▁. we ir , ▁nameyêbandırasewiyayaserênajeneriko( ... (+19 more)` | 29 |
108
+ | 32k | `▁. we ir , ▁nameyêbandırasewiyayaserênajeneriko( ... (+19 more)` | 29 |
109
+ | 64k | `▁. we ir ,nameyêbandırasewiyayaserênajeneriko( ... (+19 more)` | 29 |
 
 
 
 
 
 
 
 
 
 
 
110
 
111
+ **Sample 2:** `Bègues, dewleta Fransa de, mıntıqaya Auvergne-Rhône-Alpes miyan de yew komuna wı...`
112
 
113
  | Vocab | Tokens | Count |
114
  |-------|--------|-------|
115
+ | 8k | `▁b è gues , dewletafransade , mıntıqayaauvergne ... (+15 more)` | 25 |
116
+ | 16k | `▁b è gues , dewletafransade , mıntıqayaauvergne ... (+15 more)` | 25 |
117
+ | 32k | `▁b è gues , dewletafransade , mıntıqayaauvergne ... (+15 more)` | 25 |
118
+ | 64k | `▁ gues ,dewletafransade , mıntıqayaauvergne - ... (+14 more)` | 24 |
119
 
120
+ **Sample 3:** `Cosne-d'Allier, dewleta Fransa de, mıntıqaya Overn-Ron-Alpan miyan de yew komuna...`
121
 
122
  | Vocab | Tokens | Count |
123
  |-------|--------|-------|
124
+ | 8k | `▁cos ne - d ' allier , ▁dewleta ▁fransa ▁de ... (+21 more)` | 31 |
125
+ | 16k | `▁cos ne - d ' allier , ▁dewleta ▁fransa ▁de ... (+19 more)` | 29 |
126
+ | 32k | `▁cos ne - d ' allier , ▁dewleta ▁fransa ▁de ... (+18 more)` | 28 |
127
+ | 64k | `▁cos ne - d ' allier , ▁dewleta ▁fransa ▁de ... (+18 more)` | 28 |
128
 
129
 
130
  ### Key Findings
131
 
132
+ - **Best Compression:** 64k achieves 3.946x compression
133
+ - **Lowest UNK Rate:** 8k with 0.0973% 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 | 2,900 | 11.50 | 32,472 | 37.7% | 66.7% |
151
+ | **2-gram** | Subword | 361 🏆 | 8.50 | 6,487 | 60.7% | 98.0% |
152
+ | **3-gram** | Word | 2,363 | 11.21 | 37,780 | 38.7% | 72.4% |
153
+ | **3-gram** | Subword | 3,111 | 11.60 | 45,197 | 22.3% | 67.0% |
154
+ | **4-gram** | Word | 3,683 | 11.85 | 77,102 | 34.1% | 68.2% |
155
+ | **4-gram** | Subword | 15,466 | 13.92 | 232,167 | 13.2% | 42.0% |
156
+ | **5-gram** | Word | 3,179 | 11.63 | 61,892 | 33.7% | 70.0% |
157
+ | **5-gram** | Subword | 42,786 | 15.38 | 597,917 | 10.1% | 34.5% |
158
 
159
  ### Top 5 N-grams by Size
160
 
161
+ **2-grams (Word):**
162
+
163
+ | Rank | N-gram | Count |
164
+ |------|--------|-------|
165
+ | 1 | `de ca` | 13,749 |
166
+ | 2 | `de mıntıqaya` | 12,351 |
167
+ | 3 | `ca gêno` | 11,945 |
168
+ | 4 | `fransa de` | 11,892 |
169
+ | 5 | `de yew` | 11,359 |
170
+
171
+ **3-grams (Word):**
172
+
173
+ | Rank | N-gram | Count |
174
+ |------|--------|-------|
175
+ | 1 | `fransa de mıntıqaya` | 11,768 |
176
+ | 2 | `dewleta fransa de` | 11,147 |
177
+ | 3 | `de ca gêno` | 10,321 |
178
+ | 4 | `bıvênên lista komunanê` | 8,041 |
179
+ | 5 | `katalogê neweyê pêroyi` | 7,026 |
180
+
181
+ **4-grams (Word):**
182
 
183
  | Rank | N-gram | Count |
184
  |------|--------|-------|
185
+ | 1 | `dewleta fransa de mıntıqaya` | 11,101 |
186
+ | 2 | `katalogê neweyê pêroyi de` | 7,025 |
187
+ | 3 | `cısım katalogê neweyê pêroyi` | 7,025 |
188
+ | 4 | `no cısım katalogê neweyê` | 6,678 |
189
+ | 5 | `lista cısmanê ngc gıreyê` | 6,644 |
190
 
191
+ **5-grams (Word):**
192
 
193
  | Rank | N-gram | Count |
194
  |------|--------|-------|
195
+ | 1 | `cısım katalogê neweyê pêroyi de` | 7,024 |
196
+ | 2 | `no cısım katalogê neweyê pêroyi` | 6,678 |
197
+ | 3 | `lista cısmanê ngc gıreyê teberi` | 6,644 |
198
+ | 4 | `de ca gêno de terefê` | 5,997 |
199
+ | 5 | `asmêniyo no cısım katalogê neweyê` | 5,870 |
200
 
201
+ **2-grams (Subword):**
202
 
203
  | Rank | N-gram | Count |
204
  |------|--------|-------|
205
+ | 1 | `a _` | 300,863 |
206
+ | 2 | `e _` | 289,730 |
207
+ | 3 | `a n` | 274,481 |
208
+ | 4 | _` | 267,322 |
209
+ | 5 | `_ d` | 217,060 |
210
+
211
+ **3-grams (Subword):**
212
+
213
+ | Rank | N-gram | Count |
214
+ |------|--------|-------|
215
+ | 1 | `_ d e` | 157,628 |
216
+ | 2 | `d e _` | 100,392 |
217
+ | 3 | `o . _` | 73,592 |
218
+ | 4 | `n ê _` | 68,515 |
219
+ | 5 | `i y a` | 67,461 |
220
+
221
+ **4-grams (Subword):**
222
+
223
+ | Rank | N-gram | Count |
224
+ |------|--------|-------|
225
+ | 1 | `_ d e _` | 94,419 |
226
+ | 2 | `a n ê _` | 43,769 |
227
+ | 3 | `_ y e w` | 40,703 |
228
+ | 4 | `_ k o m` | 40,690 |
229
+ | 5 | `_ r a _` | 38,802 |
230
+
231
+ **5-grams (Subword):**
232
+
233
+ | Rank | N-gram | Count |
234
+ |------|--------|-------|
235
+ | 1 | `_ y e w _` | 36,954 |
236
+ | 2 | `_ k o m u` | 34,451 |
237
+ | 3 | `k o m u n` | 34,446 |
238
+ | 4 | `_ b ı v ê` | 23,569 |
239
+ | 5 | `b ı v ê n` | 23,557 |
240
 
241
 
242
  ### Key Findings
243
 
244
+ - **Best Perplexity:** 2-gram (subword) with 361
245
  - **Entropy Trend:** Decreases with larger n-grams (more predictable)
246
+ - **Coverage:** Top-1000 patterns cover ~35% 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 | 0.7487 | 1.680 | 4.43 | 220,418 | 25.1% |
263
+ | **1** | Subword | 0.9728 | 1.963 | 6.81 | 2,853 | 2.7% |
264
+ | **2** | Word | 0.1773 | 1.131 | 1.38 | 970,777 | 82.3% |
265
+ | **2** | Subword | 0.8745 | 1.833 | 5.24 | 19,403 | 12.6% |
266
+ | **3** | Word | 0.0542 | 1.038 | 1.10 | 1,326,261 | 94.6% |
267
+ | **3** | Subword | 0.7728 | 1.709 | 4.01 | 101,524 | 22.7% |
268
+ | **4** | Word | 0.0216 🏆 | 1.015 | 1.04 | 1,442,368 | 97.8% |
269
+ | **4** | Subword | 0.6913 | 1.615 | 2.98 | 406,622 | 30.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. `de biyê ke yew belediyaya sûkê wayiye nıfus grafikê diagrami sero gorey serran ra nıfusê vilasantar`
278
+ 2. `ra nıfusê anouldi website resayış 14 807 windsor ontario kanada yew qezay lalapaşaya ekonomiye be ro...`
279
+ 3. `yew komunê aulnois beaufremont de anciyao embıryani nıfus bıvênên qam hewahebur kelek u nameyê bandı...`
280
 
281
  **Context Size 2:**
282
 
283
+ 1. `de ca gêno schleswig holsteini de wılayetê ardennesi de yew serra teqwimiya seramey biyayış gaius pl...`
284
+ 2. `de mıntıqaya normandiya de ca gêno xızmete gesnes en argonne ca gênê xızmete rozerotte de şebekey aw...`
285
+ 3. `ca gêno bıvênên lista komunanê loire atlantique pays de la loire de ca gêna xızmete escouloubre de`
286
 
287
  **Context Size 3:**
288
 
289
+ 1. `fransa de mıntıqaya occitanie de ca gêna xızmete trausse de şebekey awe esto û sistemê kanalizasyoni...`
290
+ 2. `dewleta fransa de mıntıqaya auvergne rhône alpesi miyan de yew komuna bıvênên lista komunanê seine e...`
291
+ 3. `de ca gêno embıryani nıfus grafikê diagrami sero gorey seran ra nıfusê sandiás bıvênên belediyey our...`
292
 
293
  **Context Size 4:**
294
 
295
+ 1. `dewleta fransa de mıntıqaya grand esti de wılayetê vosgesi dero komuni 31 87 km2 ca gêno dormey herb...`
296
+ 2. `katalogê neweyê pêroyi de komê estareyanê miyan de ca gêno de terefê i ra keşıf biyo bıvênên asmên g...`
297
+ 3. `cısım katalogê neweyê pêroyi de komê estareyanê miyan de ca gêno de terefê astronom i ra keşıf biyo ...`
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. `_6_gaus-seyan_zı`
307
+ 2. `eyirdê_ardullale`
308
+ 3. `anên_d_usi_n-cet`
309
+
310
+ **Context Size 2:**
311
+
312
+ 1. `a_fra_hun_no_û_ho`
313
+ 2. `e_letektempar_–_d`
314
+ 3. `anê_man_lolynsall`
315
+
316
+ **Context Size 3:**
317
+
318
+ 1. `_de_temê_ki_sec,_y`
319
+ 2. `de_verneyo_ra_nows`
320
+ 3. `o._telebebat_yılbı`
321
+
322
+ **Context Size 4:**
323
+
324
+ 1. `_de_komunê_wılayetê`
325
+ 2. `anê_muzisyeno,_ber_`
326
+ 3. `_yew_film_rol_çakal`
327
 
328
 
329
  ### Key Findings
330
 
331
+ - **Best Predictability:** Context-4 (word) with 97.8% predictability
332
  - **Branching Factor:** Decreases with context size (more deterministic)
333
+ - **Memory Trade-off:** Larger contexts require more storage (406,622 contexts)
334
  - **Recommendation:** Context-3 or Context-4 for text generation
335
 
336
  ---
 
346
 
347
  | Metric | Value |
348
  |--------|-------|
349
+ | Vocabulary Size | 92,779 |
350
+ | Total Tokens | 2,332,304 |
351
+ | Mean Frequency | 25.14 |
352
  | Median Frequency | 3 |
353
+ | Frequency Std Dev | 515.39 |
354
 
355
  ### Most Common Words
356
 
357
  | Rank | Word | Frequency |
358
  |------|------|-----------|
359
+ | 1 | de | 115,037 |
360
+ | 2 | ra | 40,569 |
361
+ | 3 | yew | 37,084 |
362
+ | 4 | u | 26,509 |
363
+ | 5 | bıvênên | 23,466 |
364
+ | 6 | û | 21,932 |
365
+ | 7 | lista | 20,682 |
366
+ | 8 | ca | 17,900 |
367
+ | 9 | dewleta | 17,340 |
368
+ | 10 | ke | 16,742 |
369
 
370
  ### Least Common Words (from vocabulary)
371
 
372
  | Rank | Word | Frequency |
373
  |------|------|-----------|
374
+ | 1 | aksiyongerilim | 2 |
375
+ | 2 | vizyonkewtış | 2 |
376
  | 3 | sude | 2 |
377
  | 4 | alınca | 2 |
378
  | 5 | vurmaz | 2 |
 
386
 
387
  | Metric | Value |
388
  |--------|-------|
389
+ | Zipf Coefficient | 1.0696 |
390
+ | R² (Goodness of Fit) | 0.997357 |
391
  | Adherence Quality | **excellent** |
392
 
393
  ### Coverage Analysis
394
 
395
  | Top N Words | Coverage |
396
  |-------------|----------|
397
+ | Top 100 | 39.8% |
398
+ | Top 1,000 | 65.1% |
399
+ | Top 5,000 | 78.5% |
400
+ | Top 10,000 | 84.0% |
401
 
402
  ### Key Findings
403
 
404
+ - **Zipf Compliance:** R²=0.9974 indicates excellent adherence to Zipf's law
405
+ - **High Frequency Dominance:** Top 100 words cover 39.8% of corpus
406
+ - **Long Tail:** 82,779 words needed for remaining 16.0% 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.8232 | 0.3686 | N/A | N/A |
432
+ | **mono_64d** | 64 | 0.7882 | 0.3130 | N/A | N/A |
433
+ | **mono_128d** | 128 | 0.5576 | 0.2631 | N/A | N/A |
434
+ | **aligned_32d** | 32 | 0.8232 🏆 | 0.3734 | 0.0360 | 0.2220 |
435
+ | **aligned_64d** | 64 | 0.7882 | 0.3026 | 0.0680 | 0.3100 |
436
+ | **aligned_128d** | 128 | 0.5576 | 0.2680 | 0.1060 | 0.4260 |
437
 
438
  ### Key Findings
439
 
440
+ - **Best Isotropy:** aligned_32d with 0.8232 (more uniform distribution)
441
+ - **Semantic Density:** Average pairwise similarity of 0.3148. Lower values indicate better semantic separation.
442
+ - **Alignment Quality:** Aligned models achieve up to 10.6% 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 | **1.030** | High formulaic/idiomatic 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
+
465
+ #### Productive Suffixes
466
+ | Suffix | Examples |
467
+ |--------|----------|
468
+ | `-an` | ban, yewbiyayiyan, algan |
469
+
470
+ ### 6.3 Bound Stems (Lexical Roots)
471
+
472
+ 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.
473
+
474
+ | Stem | Cohesion | Substitutability | Examples |
475
+ |------|----------|------------------|----------|
476
+ | `iyay` | 1.76x | 207 contexts | niyay, siyay, şiyay |
477
+ | `iyan` | 1.73x | 143 contexts | biyan, niyan, ziyan |
478
+ | `ista` | 1.71x | 64 contexts | kista, lista, vista |
479
+ | `eber` | 1.92x | 37 contexts | teber, zeber, xeber |
480
+ | `wlet` | 2.29x | 20 contexts | dewlet, dewletu, dewleto |
481
+ | `ewle` | 2.23x | 20 contexts | dewle, sewle, hewle |
482
+ | `leta` | 1.95x | 30 contexts | letan, aleta, ğeleta |
483
+ | `nter` | 1.78x | 41 contexts | enter, inter, anter |
484
+ | `rans` | 1.84x | 35 contexts | crans, frans, trans |
485
+ | `laye` | 2.00x | 23 contexts | claye, layer, alaye |
486
+ | `ıntı` | 2.38x | 12 contexts | alıntı, saçıntı, çalıntı |
487
+ | `ntıq` | 1.93x | 18 contexts | mantıq, mentıq, mentıqi |
488
+
489
+ ### 6.4 Affix Compatibility (Co-occurrence)
490
+
491
+ This table shows which prefixes and suffixes most frequently co-occur on the same stems, revealing the 'stacking' rules of the language's morphology.
492
+
493
+ *No significant affix co-occurrences detected.*
494
+
495
+
496
+ ### 6.5 Recursive Morpheme Segmentation
497
+
498
+ Using **Recursive Hierarchical Substitutability**, we decompose complex words into their constituent morphemes. This approach handles nested affixes (e.g., `prefix-prefix-root-suffix`).
499
+
500
+ | Word | Suggested Split | Confidence | Stem |
501
+ |------|-----------------|------------|------|
502
+ | vınderdışan | **`vınderdış-an`** | 4.5 | `vınderdış` |
503
+ | hıkumetan | **`hıkumet-an`** | 4.5 | `hıkumet` |
504
+ | pêxamberan | **`pêxamber-an`** | 4.5 | `pêxamber` |
505
+ | destnuşteyan | **`destnuştey-an`** | 4.5 | `destnuştey` |
506
+ | sekuleran | **`sekuler-an`** | 4.5 | `sekuler` |
507
+ | beynelmılelan | **`beynelmılel-an`** | 4.5 | `beynelmılel` |
508
+ | karxaneyan | **`karxaney-an`** | 4.5 | `karxaney` |
509
+ | meqaleyan | **`meqaley-an`** | 4.5 | `meqaley` |
510
+ | qerebegan | **`qerebeg-an`** | 1.5 | `qerebeg` |
511
+ | boğazlıyan | **`boğazlıy-an`** | 1.5 | `boğazlıy` |
512
+ | çıldirtan | **`çıldirt-an`** | 1.5 | `çıldirt` |
513
+ | meheliyan | **`meheliy-an`** | 1.5 | `meheliy` |
514
+ | saskatchewan | **`saskatchew-an`** | 1.5 | `saskatchew` |
515
+ | kalimantan | **`kalimant-an`** | 1.5 | `kalimant` |
516
+ | gentleman | **`gentlem-an`** | 1.5 | `gentlem` |
517
+
518
+ ### 6.6 Linguistic Interpretation
519
+
520
+ > **Automated Insight:**
521
+ The language Dimli (individual language) shows high morphological productivity. The subword models are significantly more efficient than word models, suggesting a rich system of affixation or compounding.
522
+
523
+ > **Note on Idiomaticity:** The high Idiomaticity Gap suggests a large number of frequent multi-word expressions or formulaic sequences that are statistically distinct from their component parts.
524
+
525
+ ---
526
+ ## 7. Summary & Recommendations
527
 
528
  ![Performance Dashboard](visualizations/performance_dashboard.png)
529
 
 
531
 
532
  | Component | Recommended | Rationale |
533
  |-----------|-------------|-----------|
534
+ | Tokenizer | **64k BPE** | Best compression (3.95x) |
535
+ | N-gram | **2-gram** | Lowest perplexity (361) |
536
+ | Markov | **Context-4** | Highest predictability (97.8%) |
537
  | Embeddings | **100d** | Balanced semantic capture and isotropy |
538
 
539
+
540
  ---
541
  ## Appendix: Metrics Glossary & Interpretation Guide
542
 
 
726
  author = {Kamali, Omar},
727
  title = {Wikilangs: Open NLP Models for Wikipedia Languages},
728
  year = {2025},
729
+ doi = {10.5281/zenodo.18073153},
730
+ publisher = {Zenodo},
731
  url = {https://huggingface.co/wikilangs}
732
  institution = {Omneity Labs}
733
  }
 
743
  - 🤗 Models: [huggingface.co/wikilangs](https://huggingface.co/wikilangs)
744
  - 📊 Data: [wikipedia-monthly](https://huggingface.co/datasets/omarkamali/wikipedia-monthly)
745
  - 👤 Author: [Omar Kamali](https://huggingface.co/omarkamali)
746
+ - 🤝 Sponsor: [Featherless AI](https://featherless.ai)
747
  ---
748
  *Generated by Wikilangs Models Pipeline*
749
 
750
+ *Report Date: 2026-01-04 02:29:30*
models/embeddings/aligned/diq_128d.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5f4c06bf670ceb5b3f2fb9950b7c780ac8dca321facab94c6ffa452245a063e3
3
+ size 1060747880
models/embeddings/aligned/diq_128d.meta.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"lang": "diq", "dim": 128, "max_seq_len": 512, "is_aligned": true}
models/embeddings/aligned/diq_128d.projection.npy ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:cbdde6fb2729128f90b97a3c72739e97d9a975b7bfc82ca51a36a412061dcd73
3
+ size 65664
models/embeddings/aligned/diq_128d_metadata.json ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "language": "diq",
3
+ "dimension": 128,
4
+ "version": "aligned",
5
+ "hub_language": "en",
6
+ "seed_vocab_size": 13005,
7
+ "vocab_size": 35303
8
+ }
models/embeddings/aligned/diq_32d.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d8df8da5c6f1446bcdb51c06943fd714e6c6ebe0c6265a1221197009d9a73bbf
3
+ size 265635176
models/embeddings/aligned/diq_32d.meta.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"lang": "diq", "dim": 32, "max_seq_len": 512, "is_aligned": true}
models/embeddings/aligned/diq_32d.projection.npy ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:21c41d20f27c902b8fab4d72e46d26292ea326ec56a34b288fdae7b7bb3f77e5
3
+ size 4224
models/embeddings/aligned/diq_32d_metadata.json ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "language": "diq",
3
+ "dimension": 32,
4
+ "version": "aligned",
5
+ "hub_language": "en",
6
+ "seed_vocab_size": 13005,
7
+ "vocab_size": 35303
8
+ }
models/embeddings/aligned/diq_64d.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e1ec35a19fb448cf17fbf358d7a83ea2b4608c5fd8248b04b7051e0183249c13
3
+ size 530672744
models/embeddings/aligned/diq_64d.meta.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"lang": "diq", "dim": 64, "max_seq_len": 512, "is_aligned": true}
models/embeddings/aligned/diq_64d.projection.npy ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e3bf851603178a9372a996a6bf3daea7479f7d418b3e3916af288fe72685c1b8
3
+ size 16512
models/embeddings/aligned/diq_64d_metadata.json ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "language": "diq",
3
+ "dimension": 64,
4
+ "version": "aligned",
5
+ "hub_language": "en",
6
+ "seed_vocab_size": 13005,
7
+ "vocab_size": 35303
8
+ }
models/embeddings/monolingual/diq_128d.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:804523ae2f81ee8e224553b5a307a5fb9ee71479d0b0883658ac8639a49d1b1e
3
- size 1064321464
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5f4c06bf670ceb5b3f2fb9950b7c780ac8dca321facab94c6ffa452245a063e3
3
+ size 1060747880
models/embeddings/monolingual/diq_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": 38727
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": 35303
15
  }
models/embeddings/monolingual/diq_32d.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:2c98d6962981950297f6fa20ed2b955b6d11dafcbc20a5defeba0e6055feef87
3
- size 266579128
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d8df8da5c6f1446bcdb51c06943fd714e6c6ebe0c6265a1221197009d9a73bbf
3
+ size 265635176
models/embeddings/monolingual/diq_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": 38727
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": 35303
15
  }
models/embeddings/monolingual/diq_64d.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:f22f12464b073e65e566e7457eaaf6328b8cb9fe2a5358b39e18e74b7665a73b
3
- size 532493240
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e1ec35a19fb448cf17fbf358d7a83ea2b4608c5fd8248b04b7051e0183249c13
3
+ size 530672744
models/embeddings/monolingual/diq_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": 38727
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": 35303
15
  }
models/subword_markov/diq_markov_ctx1_subword.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:c228cfcd048e4029165c928626e754b73d0208d6b5c3375e51f9c986edde5eaa
3
- size 166055
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:362bfda449239bbc8100af130e81ecdbe01b2e800c40125da584537d4c980702
3
+ size 151403
models/subword_markov/diq_markov_ctx1_subword_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "context_size": 1,
3
  "variant": "subword",
4
  "language": "diq",
5
- "unique_contexts": 2560,
6
- "total_transitions": 20497513
7
  }
 
2
  "context_size": 1,
3
  "variant": "subword",
4
  "language": "diq",
5
+ "unique_contexts": 2853,
6
+ "total_transitions": 15467977
7
  }
models/subword_markov/diq_markov_ctx2_subword.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:a9711d19dc369ab84d332b058220fde2c686f635ed23c3b9ca77a79317878780
3
- size 1013394
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9ecb6abd7f57584c1c28720645c91b530fcd18344b75621afe169ac056820f1f
3
+ size 819379
models/subword_markov/diq_markov_ctx2_subword_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "context_size": 2,
3
  "variant": "subword",
4
  "language": "diq",
5
- "unique_contexts": 22347,
6
- "total_transitions": 20455039
7
  }
 
2
  "context_size": 2,
3
  "variant": "subword",
4
  "language": "diq",
5
+ "unique_contexts": 19403,
6
+ "total_transitions": 15426449
7
  }
models/subword_markov/diq_markov_ctx3_subword.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:0dfbcc947a0f9cd16ecd7c242c39492b588588909988424ffbff76de677d84f4
3
- size 3980621
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:cc03d4f755cf38c017837bb6b777f47a98fb88f2214afec6d4c420bd2caa6e6d
3
+ size 2994129
models/subword_markov/diq_markov_ctx3_subword_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "context_size": 3,
3
  "variant": "subword",
4
  "language": "diq",
5
- "unique_contexts": 131963,
6
- "total_transitions": 20412565
7
  }
 
2
  "context_size": 3,
3
  "variant": "subword",
4
  "language": "diq",
5
+ "unique_contexts": 101524,
6
+ "total_transitions": 15384921
7
  }
models/subword_markov/diq_markov_ctx4_subword.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:ad7282ca12a2e9edbedfa108834ec799debd726503f409b3d557251ccb7b408b
3
- size 11943049
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:60bb83a4162c6a621753c787969df98551141c236b01f6da2e5b12378803c3fd
3
+ size 9070939
models/subword_markov/diq_markov_ctx4_subword_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "context_size": 4,
3
  "variant": "subword",
4
  "language": "diq",
5
- "unique_contexts": 547289,
6
- "total_transitions": 20370091
7
  }
 
2
  "context_size": 4,
3
  "variant": "subword",
4
  "language": "diq",
5
+ "unique_contexts": 406622,
6
+ "total_transitions": 15343393
7
  }
models/subword_ngram/diq_2gram_subword.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:2a320ca415094d1b91be3ca94297478ea100000f9ac86e6b3da91b31a5ce6996
3
- size 102080
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:688e3a7d7b3f14c65570b84420d7e744b86cb3184ea8f4d4c7b24620058bac2c
3
+ size 85488
models/subword_ngram/diq_2gram_subword_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "n": 2,
3
  "variant": "subword",
4
  "language": "diq",
5
- "unique_ngrams": 7864,
6
- "total_ngrams": 20497513
7
  }
 
2
  "n": 2,
3
  "variant": "subword",
4
  "language": "diq",
5
+ "unique_ngrams": 6487,
6
+ "total_ngrams": 15467977
7
  }
models/subword_ngram/diq_3gram_subword.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:ec4302da7328377c6001028acd1df7b6e98719386dcf762c5aed37c02568964b
3
- size 727256
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d27ccb9b0b3671c63db9ce363451669923dc7107d2348a396d65c420c9c72f71
3
+ size 582747
models/subword_ngram/diq_3gram_subword_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "n": 3,
3
  "variant": "subword",
4
  "language": "diq",
5
- "unique_ngrams": 59410,
6
- "total_ngrams": 20455039
7
  }
 
2
  "n": 3,
3
  "variant": "subword",
4
  "language": "diq",
5
+ "unique_ngrams": 45197,
6
+ "total_ngrams": 15426449
7
  }
models/subword_ngram/diq_4gram_subword.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:b7cc2aed3d40bc42c4e6d130e4872f4d69762137ef4a06c5dc078af5d9c33630
3
- size 3386545
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:277c06bfdb2b94a800f61d593b99b8308f473a6808237d0d32a4d000ffbf177b
3
+ size 2615375
models/subword_ngram/diq_4gram_subword_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "n": 4,
3
  "variant": "subword",
4
  "language": "diq",
5
- "unique_ngrams": 303847,
6
- "total_ngrams": 20412565
7
  }
 
2
  "n": 4,
3
  "variant": "subword",
4
  "language": "diq",
5
+ "unique_ngrams": 232167,
6
+ "total_ngrams": 15384921
7
  }
models/subword_ngram/diq_5gram_subword.parquet ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:bcb17e1957d58d268d8e5e255187286d591f312bdeabbb5df1f9a1c42500aede
3
+ size 6944724
models/subword_ngram/diq_5gram_subword_metadata.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "n": 5,
3
+ "variant": "subword",
4
+ "language": "diq",
5
+ "unique_ngrams": 597917,
6
+ "total_ngrams": 15343393
7
+ }
models/tokenizer/diq_tokenizer_16k.model CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:682053db83da7a2a9475b2193c3362fa3f6f0fedd23d7a017efbb2df18dd8166
3
- size 498709
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c6aeb66620f8744cf0e32784c47b35389176e12f1c0f4fdbf2825d520667a0c2
3
+ size 501892
models/tokenizer/diq_tokenizer_16k.vocab CHANGED
The diff for this file is too large to render. See raw diff
 
models/tokenizer/diq_tokenizer_32k.model CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:24382f7df4d599f80252487348a45602a9d7f40b930353ca09e356a4d5c302df
3
- size 766632
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:35510dc9bf136aa4abb0ddda35880c0a69cceca84811a923ce59c24dc3651560
3
+ size 774471
models/tokenizer/diq_tokenizer_32k.vocab CHANGED
The diff for this file is too large to render. See raw diff
 
models/tokenizer/diq_tokenizer_64k.model CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:2a8e420b9039b6d0191841d64e2122315b43646d1ef9342f8748ac0f05ab605f
3
- size 1320507
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e0aaeba9a6897644b7dd1c16332189187adf9d6e4dd3906c0cc99776e79dada6
3
+ size 1325280
models/tokenizer/diq_tokenizer_64k.vocab CHANGED
The diff for this file is too large to render. See raw diff
 
models/tokenizer/diq_tokenizer_8k.model CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:fe1d5016b848a4f664edfcca0f8bf93aac8a30b6accbf840d63d8f6a62a5ef25
3
- size 368537
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2b427813c7f6131d8560f5fd7f17c2eb3829e4d194d0e1e81017fb7d56effe06
3
+ size 370411
models/tokenizer/diq_tokenizer_8k.vocab CHANGED
The diff for this file is too large to render. See raw diff
 
models/vocabulary/diq_vocabulary.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:ad9cfb0e5369eee18a2d405a354f029fd075abcb43ab12c0615245cb8f1f51f6
3
- size 1737543
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:5241548c40a5c49f67fab83621b14f04815636ff485772b815005f04df2aa01d
3
+ size 1599436
models/vocabulary/diq_vocabulary_metadata.json CHANGED
@@ -1,16 +1,17 @@
1
  {
2
  "language": "diq",
3
- "vocabulary_size": 103264,
 
4
  "statistics": {
5
- "type_token_ratio": 0.0875893629715288,
6
  "coverage": {
7
- "top_100": 0.3717204823732889,
8
- "top_1000": 0.6248964459825731,
9
- "top_5000": 0.7510549696381128,
10
- "top_10000": 0.8001827039582843
11
  },
12
- "hapax_count": 158204,
13
- "hapax_ratio": 0.6050606575183196,
14
- "total_documents": 42474
15
  }
16
  }
 
1
  {
2
  "language": "diq",
3
+ "vocabulary_size": 92779,
4
+ "variant": "full",
5
  "statistics": {
6
+ "type_token_ratio": 0.08977346809710926,
7
  "coverage": {
8
+ "top_100": 0.37757051281009135,
9
+ "top_1000": 0.6169629052789705,
10
+ "top_5000": 0.7438497905222069,
11
+ "top_10000": 0.7963553952928055
12
  },
13
+ "hapax_count": 128100,
14
+ "hapax_ratio": 0.5799555412692017,
15
+ "total_documents": 41528
16
  }
17
  }
models/word_markov/diq_markov_ctx1_word.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:e3872be140993f83d6a28dff1e81c7891ecc1623816a79a2057496cfe593a743
3
- size 10726510
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4bc0cf1f72396e6b00c96fe78f83848b8b1d235fdd850bd47e53e127098cdd6a
3
+ size 9430828
models/word_markov/diq_markov_ctx1_word_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "context_size": 1,
3
  "variant": "word",
4
  "language": "diq",
5
- "unique_contexts": 261554,
6
- "total_transitions": 3986092
7
  }
 
2
  "context_size": 1,
3
  "variant": "word",
4
  "language": "diq",
5
+ "unique_contexts": 220418,
6
+ "total_transitions": 2418876
7
  }
models/word_markov/diq_markov_ctx2_word.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:406a875d026390ecd4d7982509e4f3f152a51709e826dd04a3ee46ce7142b42f
3
- size 21768144
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e2fdd433ee82dc4cd355a465aa878b2be2f3b56c90432dcd035f55e52a884371
3
+ size 18771699
models/word_markov/diq_markov_ctx2_word_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "context_size": 2,
3
  "variant": "word",
4
  "language": "diq",
5
- "unique_contexts": 1111370,
6
- "total_transitions": 3943618
7
  }
 
2
  "context_size": 2,
3
  "variant": "word",
4
  "language": "diq",
5
+ "unique_contexts": 970777,
6
+ "total_transitions": 2377348
7
  }