omarkamali commited on
Commit
a13b387
·
verified ·
1 Parent(s): 3b32958

Upload all models and assets for ary (20251001)

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 +305 -138
  3. models/embeddings/monolingual/ary_128d.bin +2 -2
  4. models/embeddings/monolingual/ary_128d_metadata.json +5 -3
  5. models/embeddings/monolingual/ary_32d.bin +2 -2
  6. models/embeddings/monolingual/ary_32d_metadata.json +5 -3
  7. models/embeddings/monolingual/ary_64d.bin +2 -2
  8. models/embeddings/monolingual/ary_64d_metadata.json +5 -3
  9. models/subword_markov/ary_markov_ctx1_subword.parquet +2 -2
  10. models/subword_markov/ary_markov_ctx1_subword_metadata.json +2 -2
  11. models/subword_markov/ary_markov_ctx2_subword.parquet +2 -2
  12. models/subword_markov/ary_markov_ctx2_subword_metadata.json +2 -2
  13. models/subword_markov/ary_markov_ctx3_subword.parquet +2 -2
  14. models/subword_markov/ary_markov_ctx3_subword_metadata.json +2 -2
  15. models/subword_markov/ary_markov_ctx4_subword.parquet +2 -2
  16. models/subword_markov/ary_markov_ctx4_subword_metadata.json +2 -2
  17. models/subword_ngram/ary_2gram_subword.parquet +2 -2
  18. models/subword_ngram/ary_2gram_subword_metadata.json +2 -2
  19. models/subword_ngram/ary_3gram_subword.parquet +2 -2
  20. models/subword_ngram/ary_3gram_subword_metadata.json +2 -2
  21. models/subword_ngram/ary_4gram_subword.parquet +2 -2
  22. models/subword_ngram/ary_4gram_subword_metadata.json +2 -2
  23. models/tokenizer/ary_tokenizer_16k.model +2 -2
  24. models/tokenizer/ary_tokenizer_16k.vocab +0 -0
  25. models/tokenizer/ary_tokenizer_32k.model +2 -2
  26. models/tokenizer/ary_tokenizer_32k.vocab +0 -0
  27. models/tokenizer/ary_tokenizer_64k.model +2 -2
  28. models/tokenizer/ary_tokenizer_64k.vocab +0 -0
  29. models/tokenizer/ary_tokenizer_8k.model +2 -2
  30. models/tokenizer/ary_tokenizer_8k.vocab +0 -0
  31. models/vocabulary/ary_vocabulary.parquet +2 -2
  32. models/vocabulary/ary_vocabulary_metadata.json +10 -9
  33. models/word_markov/ary_markov_ctx1_word.parquet +2 -2
  34. models/word_markov/ary_markov_ctx1_word_metadata.json +2 -2
  35. models/word_markov/ary_markov_ctx2_word.parquet +2 -2
  36. models/word_markov/ary_markov_ctx2_word_metadata.json +2 -2
  37. models/word_markov/ary_markov_ctx3_word.parquet +2 -2
  38. models/word_markov/ary_markov_ctx3_word_metadata.json +2 -2
  39. models/word_markov/ary_markov_ctx4_word.parquet +2 -2
  40. models/word_markov/ary_markov_ctx4_word_metadata.json +2 -2
  41. models/word_ngram/ary_2gram_word.parquet +2 -2
  42. models/word_ngram/ary_2gram_word_metadata.json +2 -2
  43. models/word_ngram/ary_3gram_word.parquet +2 -2
  44. models/word_ngram/ary_3gram_word_metadata.json +2 -2
  45. models/word_ngram/ary_4gram_word.parquet +2 -2
  46. models/word_ngram/ary_4gram_word_metadata.json +2 -2
  47. visualizations/embedding_isotropy.png +0 -0
  48. visualizations/embedding_norms.png +0 -0
  49. visualizations/embedding_similarity.png +2 -2
  50. visualizations/markov_branching.png +0 -0
.gitattributes CHANGED
@@ -38,3 +38,4 @@ visualizations/performance_dashboard.png filter=lfs diff=lfs merge=lfs -text
38
  visualizations/tsne_sentences.png filter=lfs diff=lfs merge=lfs -text
39
  visualizations/tsne_words.png filter=lfs diff=lfs merge=lfs -text
40
  visualizations/zipf_law.png filter=lfs diff=lfs merge=lfs -text
 
 
38
  visualizations/tsne_sentences.png filter=lfs diff=lfs merge=lfs -text
39
  visualizations/tsne_words.png filter=lfs diff=lfs merge=lfs -text
40
  visualizations/zipf_law.png filter=lfs diff=lfs merge=lfs -text
41
+ visualizations/position_encoding_comparison.png filter=lfs diff=lfs merge=lfs -text
README.md CHANGED
@@ -23,14 +23,14 @@ dataset_info:
23
  metrics:
24
  - name: best_compression_ratio
25
  type: compression
26
- value: 3.683
27
  - name: best_isotropy
28
  type: isotropy
29
- value: 0.8264
30
  - name: vocabulary_size
31
  type: vocab
32
- value: 81712
33
- generated: 2025-12-27
34
  ---
35
 
36
  # Moroccan Arabic - Wikilangs Models
@@ -44,12 +44,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 +60,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,56 +70,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.134x | 3.09 | 0.0472% | 379,309 |
76
- | **16k** | 3.346x | 3.30 | 0.0504% | 355,311 |
77
- | **32k** | 3.535x | 3.49 | 0.0532% | 336,296 |
78
- | **64k** | 3.683x 🏆 | 3.64 | 0.0555% | 322,761 |
79
 
80
  ### Tokenization Examples
81
 
82
  Below are sample sentences tokenized with each vocabulary size:
83
 
84
- **Sample 1:** `معمر زين العاشقين قاري و حافظ د لقرآن.
85
-
86
- مصادر
87
-
88
- تصنيف:زيادة 1954
89
- تصنيف:ناس حيين...`
90
 
91
  | Vocab | Tokens | Count |
92
  |-------|--------|-------|
93
- | 8k | `▁مع مر ▁زين ▁الع اش قين ▁ق اري ▁و ▁ح ... (+21 more)` | 31 |
94
- | 16k | `▁مع مر ▁زين ▁الع اش قين ▁ق اري ▁و ▁حافظ ... (+20 more)` | 30 |
95
- | 32k | `▁معمر ▁زين ▁الع اش قين ▁قاري ▁و ▁حافظ ▁د ▁لقرآن ... (+18 more)` | 28 |
96
- | 64k | `▁معمر ▁زين ▁العاش قين ▁قاري ▁و ▁حافظ ▁د ▁لقرآن . ... (+17 more)` | 27 |
97
 
98
- **Sample 2:** `ضريب لمؤخرة (ب ) فبي دي إس إم عملية جنسية كاتخدّم كا عقاب ولا ل لإتارة لجنسية ما...`
99
 
100
  | Vocab | Tokens | Count |
101
  |-------|--------|-------|
102
- | 8k | `▁ض ريب ▁لمؤ خرة ▁( ب ▁) ▁ف بي ▁دي ... (+40 more)` | 50 |
103
- | 16k | `▁ض ريب ▁لمؤ خرة ▁( ب ▁) ▁ف بي ▁دي ... (+36 more)` | 46 |
104
- | 32k | `▁ض ريب ▁لمؤ خرة ▁( ب ▁) ▁ف بي ▁دي ... (+32 more)` | 42 |
105
- | 64k | `▁ضريب ▁لمؤخرة ▁( ب ▁) ▁ف بي ▁دي ▁إس ▁إم ... (+28 more)` | 38 |
106
 
107
- **Sample 3:** `ضباب هوّا إيروصول كيتشاف ب لْعين، مكوّن من قطرات صغار ديال لما ؤلا كريستالات دي...`
108
 
109
  | Vocab | Tokens | Count |
110
  |-------|--------|-------|
111
- | 8k | `▁ض باب ▁هوّا ▁إير وص ول ▁كيت شاف ▁ب ▁لْ ... (+34 more)` | 44 |
112
- | 16k | `▁ض باب ▁هوّا ▁إير وص ول ▁كيت شاف ▁ب ▁لْ ... (+31 more)` | 41 |
113
- | 32k | `▁ض باب ▁هوّا ▁إير وصول ▁كيتشاف ▁ب ▁لْ عين ، ... (+27 more)` | 37 |
114
- | 64k | `▁ض باب ▁هوّا ▁إير وصول ▁كيتشاف ▁ب ▁لْ عين ، ... (+24 more)` | 34 |
115
 
116
 
117
  ### Key Findings
118
 
119
- - **Best Compression:** 64k achieves 3.683x compression
120
- - **Lowest UNK Rate:** 8k with 0.0472% unknown tokens
121
  - **Trade-off:** Larger vocabularies improve compression but increase model size
122
  - **Recommendation:** 32k vocabulary provides optimal balance for production use
123
 
@@ -126,57 +129,89 @@ Below are sample sentences tokenized with each vocabulary size:
126
 
127
  ![N-gram Perplexity](visualizations/ngram_perplexity.png)
128
 
 
 
129
  ![N-gram Coverage](visualizations/ngram_coverage.png)
130
 
131
  ### Results
132
 
133
- | N-gram | Perplexity | Entropy | Unique N-grams | Top-100 Coverage | Top-1000 Coverage |
134
- |--------|------------|---------|----------------|------------------|-------------------|
135
- | **2-gram** | 7,187 🏆 | 12.81 | 56,749 | 24.4% | 53.2% |
136
- | **2-gram** | 486 🏆 | 8.93 | 6,227 | 54.9% | 95.4% |
137
- | **3-gram** | 8,812 | 13.11 | 76,888 | 21.3% | 52.8% |
138
- | **3-gram** | 4,295 | 12.07 | 51,256 | 22.1% | 58.7% |
139
- | **4-gram** | 12,168 | 13.57 | 124,859 | 20.1% | 50.4% |
140
- | **4-gram** | 22,008 | 14.43 | 260,844 | 12.0% | 35.5% |
141
 
142
  ### Top 5 N-grams by Size
143
 
144
- **2-grams:**
 
 
 
 
 
 
 
 
 
 
145
 
146
  | Rank | N-gram | Count |
147
  |------|--------|-------|
148
- | 1 | `تصنيف :` | 37,187 |
149
- | 2 | و` | 18,746 |
150
- | 3 | ّ` | 10,639 |
151
- | 4 | `) :` | 10,185 |
152
- | 5 | `مصادر تصنيف` | 10,087 |
153
 
154
- **3-grams:**
155
 
156
  | Rank | N-gram | Count |
157
  |------|--------|-------|
158
- | 1 | `مصادر تصنيف :` | 10,087 |
159
- | 2 | `تصنيف : مقالات` | 7,001 |
160
- | 3 | ّ اس` | 6,981 |
161
- | 4 | ّ ي` | 6,914 |
162
- | 5 | `: دوار ف` | 5,007 |
163
 
164
- **4-grams:**
165
 
166
  | Rank | N-gram | Count |
167
  |------|--------|-------|
168
- | 1 | `تصنيف : دوار ف` | 5,005 |
169
- | 2 | `نسبة ن ّ اس` | 4,061 |
170
- | 3 | `. مصادر تصنيف :` | 3,827 |
171
- | 4 | `تصنيف : مقالات زادهوم` | 3,506 |
172
- | 5 | `: مقالات زادهوم داريجابوت` | 3,506 |
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
173
 
174
 
175
  ### Key Findings
176
 
177
- - **Best Perplexity:** 2-gram with 486
178
  - **Entropy Trend:** Decreases with larger n-grams (more predictable)
179
- - **Coverage:** Top-1000 patterns cover ~35% of corpus
180
  - **Recommendation:** 4-gram or 5-gram for best predictive performance
181
 
182
  ---
@@ -184,55 +219,86 @@ Below are sample sentences tokenized with each vocabulary size:
184
 
185
  ![Markov Entropy](visualizations/markov_entropy.png)
186
 
 
 
187
  ![Markov Branching](visualizations/markov_branching.png)
188
 
189
  ### Results
190
 
191
- | Context | Avg Entropy | Perplexity | Branching Factor | Unique Contexts | Predictability |
192
- |---------|-------------|------------|------------------|-----------------|----------------|
193
- | **1** | 0.7813 | 1.719 | 5.36 | 189,320 | 21.9% |
194
- | **1** | 1.1519 | 2.222 | 8.71 | 1,931 | 0.0% |
195
- | **2** | 0.2761 | 1.211 | 1.68 | 1,014,676 | 72.4% |
196
- | **2** | 0.9863 | 1.981 | 6.24 | 16,826 | 1.4% |
197
- | **3** | 0.0931 | 1.067 | 1.18 | 1,701,309 | 90.7% |
198
- | **3** | 0.8744 | 1.833 | 4.33 | 104,928 | 12.6% |
199
- | **4** | 0.0366 🏆 | 1.026 | 1.07 | 2,000,181 | 96.3% |
200
- | **4** | 0.6731 🏆 | 1.594 | 2.82 | 454,694 | 32.7% |
 
 
201
 
202
- ### Generated Text Samples
203
 
204
- Below are text samples generated from each Markov chain model:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
205
 
206
  **Context Size 1:**
207
 
208
- 1. `. لخصوبة عند الجواج ف لكامبيانة د فلوسها من ݣوجارات ف لمغريب تصنيف : لقرن 20`
209
- 2. `، منهوم 816 , geerat j . ولادها بجوج فالإليادة ، عاود قاسها قبل منهوم 154`
210
- 3. `ف إقليم لخميسات تصنيف : سلطان شرعي . ناس د الكاسترد تصنيف : 29 مارس 1920`
211
 
212
  **Context Size 2:**
213
 
214
- 1. `تصنيف : مارس تصنيف : زيادة 1961 تصنيف : أفلام د 2005 . لمحطة التانية فيها 66`
215
- 2. `، و معتاقل سياسي روسي . كان خدا لجايزة د لأوسكار لأحسن فيلم قصير ( 4 )`
216
- 3. `ن ّ اس ل ّ ي قاريين فوق الليسي ( ليسي و جامعة ) : 12 ,`
217
 
218
  **Context Size 3:**
219
 
220
- 1. `مصادر تصنيف : پاناما تصنيف : عواصم ديال بلدان تصنيف : بانݣلاديش تصنيف : بزوليات د جنوب آسيا`
221
- 2. `تصنيف : مقالات فيها مصدر و 3000 بايت تصنيف : مقالات فيها مصدر و 3000 بايت تصنيف :`
222
- 3. `ن ّ اس ل ّ ي كتعتابر لوغة كيلتية ، ؤ ل ّ يسي . كروص كانت تتحيد`
223
 
224
  **Context Size 4:**
225
 
226
- 1. `تصنيف : دوار ف عمالة مكناس تصنيف : مقالات زادهوم داريجابوت تصنيف : ناس حيين تصنيف : زيادة 1987`
227
- 2. `نسبة ن ّ اس اللي خدامين ف د ّ ولة : 8 , 3 % نسبة ن ّ اس`
228
- 3. `. مصادر تصنيف : لوغات أمازيغية تصنيف : مقالات فيها مصدر و 3000 بايت تصنيف : مقالات زادهوم داريجابوت`
229
 
230
 
231
  ### Key Findings
232
 
233
- - **Best Predictability:** Context-4 with 96.3% predictability
234
  - **Branching Factor:** Decreases with context size (more deterministic)
235
- - **Memory Trade-off:** Larger contexts require more storage (454,694 contexts)
236
  - **Recommendation:** Context-3 or Context-4 for text generation
237
 
238
  ---
@@ -248,64 +314,64 @@ Below are text samples generated from each Markov chain model:
248
 
249
  | Metric | Value |
250
  |--------|-------|
251
- | Vocabulary Size | 81,712 |
252
- | Total Tokens | 2,308,873 |
253
- | Mean Frequency | 28.26 |
254
  | Median Frequency | 4 |
255
- | Frequency Std Dev | 559.90 |
256
 
257
  ### Most Common Words
258
 
259
  | Rank | Word | Frequency |
260
  |------|------|-----------|
261
- | 1 | ف | 84,463 |
262
- | 2 | د | 69,201 |
263
- | 3 | و | 61,463 |
264
- | 4 | تصنيف | 37,231 |
265
- | 5 | ل | 34,076 |
266
- | 6 | ديال | 32,761 |
267
- | 7 | من | 29,612 |
268
- | 8 | على | 19,717 |
269
- | 9 | لي | 18,627 |
270
- | 10 | ب | 18,189 |
271
 
272
  ### Least Common Words (from vocabulary)
273
 
274
  | Rank | Word | Frequency |
275
  |------|------|-----------|
276
- | 1 | بيتسي | 2 |
277
- | 2 | وصانعي | 2 |
278
- | 3 | وأهميتها | 2 |
279
- | 4 | بورديو | 2 |
280
- | 5 | بلومر | 2 |
281
- | 6 | مقترحة | 2 |
282
- | 7 | anchor | 2 |
283
- | 8 | الرسميةاللي | 2 |
284
- | 9 | بعصبة | 2 |
285
- | 10 | ماڭي | 2 |
286
 
287
  ### Zipf's Law Analysis
288
 
289
  | Metric | Value |
290
  |--------|-------|
291
- | Zipf Coefficient | 1.0380 |
292
- | R² (Goodness of Fit) | 0.999162 |
293
  | Adherence Quality | **excellent** |
294
 
295
  ### Coverage Analysis
296
 
297
  | Top N Words | Coverage |
298
  |-------------|----------|
299
- | Top 100 | 39.3% |
300
- | Top 1,000 | 63.8% |
301
- | Top 5,000 | 78.6% |
302
- | Top 10,000 | 84.8% |
303
 
304
  ### Key Findings
305
 
306
- - **Zipf Compliance:** R²=0.9992 indicates excellent adherence to Zipf's law
307
- - **High Frequency Dominance:** Top 100 words cover 39.3% of corpus
308
- - **Long Tail:** 71,712 words needed for remaining 15.2% coverage
309
 
310
  ---
311
  ## 5. Word Embeddings Evaluation
@@ -318,24 +384,122 @@ Below are text samples generated from each Markov chain model:
318
 
319
  ![t-SNE Sentences](visualizations/tsne_sentences.png)
320
 
321
- ### Model Comparison
322
 
323
- | Model | Vocab Size | Dimension | Avg Norm | Std Norm | Isotropy |
324
- |-------|------------|-----------|----------|----------|----------|
325
- | **mono_32d** | 37,528 | 32 | 4.010 | 1.183 | 0.8264 🏆 |
326
- | **mono_64d** | 37,528 | 64 | 4.579 | 1.040 | 0.8183 |
327
- | **mono_128d** | 37,528 | 128 | 5.112 | 0.875 | 0.7212 |
328
- | **embeddings_enhanced** | 0 | 0 | 0.000 | 0.000 | 0.0000 |
 
 
 
 
 
 
329
 
330
  ### Key Findings
331
 
332
- - **Best Isotropy:** mono_32d with 0.8264 (more uniform distribution)
333
- - **Dimension Trade-off:** Higher dimensions capture more semantics but reduce isotropy
334
- - **Vocabulary Coverage:** All models cover 37,528 words
335
- - **Recommendation:** 100d for balanced semantic capture and efficiency
336
 
337
  ---
338
- ## 6. Summary & Recommendations
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
339
 
340
  ![Performance Dashboard](visualizations/performance_dashboard.png)
341
 
@@ -343,11 +507,12 @@ Below are text samples generated from each Markov chain model:
343
 
344
  | Component | Recommended | Rationale |
345
  |-----------|-------------|-----------|
346
- | Tokenizer | **32k BPE** | Best compression (3.68x) with low UNK rate |
347
- | N-gram | **5-gram** | Lowest perplexity (486) |
348
- | Markov | **Context-4** | Highest predictability (96.3%) |
349
  | Embeddings | **100d** | Balanced semantic capture and isotropy |
350
 
 
351
  ---
352
  ## Appendix: Metrics Glossary & Interpretation Guide
353
 
@@ -537,7 +702,8 @@ If you use these models in your research, please cite:
537
  author = {Kamali, Omar},
538
  title = {Wikilangs: Open NLP Models for Wikipedia Languages},
539
  year = {2025},
540
- publisher = {HuggingFace},
 
541
  url = {https://huggingface.co/wikilangs}
542
  institution = {Omneity Labs}
543
  }
@@ -553,7 +719,8 @@ MIT License - Free for academic and commercial use.
553
  - 🤗 Models: [huggingface.co/wikilangs](https://huggingface.co/wikilangs)
554
  - 📊 Data: [wikipedia-monthly](https://huggingface.co/datasets/omarkamali/wikipedia-monthly)
555
  - 👤 Author: [Omar Kamali](https://huggingface.co/omarkamali)
 
556
  ---
557
  *Generated by Wikilangs Models Pipeline*
558
 
559
- *Report Date: 2025-12-27 04:26:59*
 
23
  metrics:
24
  - name: best_compression_ratio
25
  type: compression
26
+ value: 4.180
27
  - name: best_isotropy
28
  type: isotropy
29
+ value: 0.8384
30
  - name: vocabulary_size
31
  type: vocab
32
+ value: 0
33
+ generated: 2026-01-03
34
  ---
35
 
36
  # Moroccan Arabic - Wikilangs Models
 
44
  ### Models & Assets
45
 
46
  - Tokenizers (8k, 16k, 32k, 64k)
47
+ - N-gram models (2, 3, 4, 5-gram)
48
+ - Markov chains (context of 1, 2, 3, 4 and 5)
49
  - Subword N-gram and Markov chains
50
+ - Embeddings in various sizes and dimensions (aligned and unaligned)
51
  - Language Vocabulary
52
  - Language Statistics
53
+
54
  ![Performance Dashboard](visualizations/performance_dashboard.png)
55
 
56
  ### Analysis and Evaluation
 
60
  - [3. Markov Chain Evaluation](#3-markov-chain-evaluation)
61
  - [4. Vocabulary Analysis](#4-vocabulary-analysis)
62
  - [5. Word Embeddings Evaluation](#5-word-embeddings-evaluation)
63
+ - [6. Morphological Analysis (Experimental)](#6-morphological-analysis)
64
+ - [7. Summary & Recommendations](#7-summary--recommendations)
65
  - [Metrics Glossary](#appendix-metrics-glossary--interpretation-guide)
66
  - [Visualizations Index](#visualizations-index)
67
 
 
70
 
71
  ![Tokenizer Compression](visualizations/tokenizer_compression.png)
72
 
73
+ ![Tokenizer Fertility](visualizations/tokenizer_fertility.png)
74
+
75
+ ![Tokenizer OOV](visualizations/tokenizer_oov.png)
76
+
77
+ ![Total Tokens](visualizations/tokenizer_total_tokens.png)
78
+
79
  ### Results
80
 
81
  | Vocab Size | Compression | Avg Token Len | UNK Rate | Total Tokens |
82
  |------------|-------------|---------------|----------|--------------|
83
+ | **8k** | 3.512x | 3.52 | 0.0922% | 278,716 |
84
+ | **16k** | 3.778x | 3.78 | 0.0992% | 259,059 |
85
+ | **32k** | 4.002x | 4.01 | 0.1051% | 244,561 |
86
+ | **64k** | 4.180x 🏆 | 4.18 | 0.1098% | 234,163 |
87
 
88
  ### Tokenization Examples
89
 
90
  Below are sample sentences tokenized with each vocabulary size:
91
 
92
+ **Sample 1:** `مصادر شوف تا داريجة تاريخ لكتابة ب داريجة ليستة د لمكتوبات ب داريجة ليستة د لكتو...`
 
 
 
 
 
93
 
94
  | Vocab | Tokens | Count |
95
  |-------|--------|-------|
96
+ | 8k | `▁مصادر ▁شوف ▁تا ▁داريجة ▁تاريخ ▁لكتابة ▁ب ▁داريجة ▁ليستة ▁د ... (+22 more)` | 32 |
97
+ | 16k | `▁مصادر ▁شوف ▁تا ▁داريجة ▁تاريخ ▁لكتابة ▁ب ▁داريجة ▁ليستة ▁د ... (+20 more)` | 30 |
98
+ | 32k | `▁مصادر ▁شوف ▁تا ▁داريجة ▁تاريخ ▁لكتابة ▁ب ▁داريجة ▁ليستة ▁د ... (+20 more)` | 30 |
99
+ | 64k | `▁مصادر ▁شوف ▁تا ▁داريجة ▁تاريخ ▁لكتابة ▁ب ▁داريجة ▁ليستة ▁د ... (+20 more)` | 30 |
100
 
101
+ **Sample 2:** `أمين رباطي (مزيود ف يوليوز هو كوايري مغريبي. مصادر مغريبي د رجال حيين`
102
 
103
  | Vocab | Tokens | Count |
104
  |-------|--------|-------|
105
+ | 8k | `▁أمين ▁رباط ي ▁( مزيود ▁ف ▁يوليوز ▁هو ▁كوايري ▁مغريبي ... (+6 more)` | 16 |
106
+ | 16k | `▁أمين ▁رباط ي ▁( مزيود ▁ف ▁يوليوز ▁هو ▁كوايري ▁مغريبي ... (+6 more)` | 16 |
107
+ | 32k | `▁أ��ين ▁رباطي ▁( مزيود ▁ف ▁يوليوز ▁هو ▁كوايري ▁مغريبي . ... (+5 more)` | 15 |
108
+ | 64k | `▁أمين ▁رباطي ▁( مزيود ▁ف ▁يوليوز ▁هو ▁كوايري ▁مغريبي . ... (+5 more)` | 15 |
109
 
110
+ **Sample 3:** `هادي صفحة د التوضيح، كلمة دوري يمكن يكونو عندها هاد لمعاني: طابلو دوري دوري أبطا...`
111
 
112
  | Vocab | Tokens | Count |
113
  |-------|--------|-------|
114
+ | 8k | `▁هادي ▁صفحة ▁د ▁التوضيح ، ▁كلمة ▁دوري ▁يمكن ▁يكونو ▁عندها ... (+10 more)` | 20 |
115
+ | 16k | `▁هادي ▁صفحة ▁د ▁التوضيح ، ▁كلمة ▁دوري ▁يمكن ▁يكونو ▁عندها ... (+9 more)` | 19 |
116
+ | 32k | `▁هادي ▁صفحة ▁د ▁التوضيح ، ▁كلمة ▁دوري ▁يمكن ▁يكونو ▁عندها ... (+9 more)` | 19 |
117
+ | 64k | `▁هادي ▁صفحة ▁د ▁التوضيح ، ▁كلمة ▁دوري ▁يمكن ▁يكونو ▁عندها ... (+9 more)` | 19 |
118
 
119
 
120
  ### Key Findings
121
 
122
+ - **Best Compression:** 64k achieves 4.180x compression
123
+ - **Lowest UNK Rate:** 8k with 0.0922% unknown tokens
124
  - **Trade-off:** Larger vocabularies improve compression but increase model size
125
  - **Recommendation:** 32k vocabulary provides optimal balance for production use
126
 
 
129
 
130
  ![N-gram Perplexity](visualizations/ngram_perplexity.png)
131
 
132
+ ![N-gram Unique](visualizations/ngram_unique.png)
133
+
134
  ![N-gram Coverage](visualizations/ngram_coverage.png)
135
 
136
  ### Results
137
 
138
+ | N-gram | Variant | Perplexity | Entropy | Unique N-grams | Top-100 Coverage | Top-1000 Coverage |
139
+ |--------|---------|------------|---------|----------------|------------------|-------------------|
140
+ | **2-gram** | Word | 6,129 | 12.58 | 35,218 | 24.5% | 53.4% |
141
+ | **2-gram** | Subword | 415 🏆 | 8.70 | 5,585 | 58.6% | 96.6% |
142
+ | **3-gram** | Word | 4,994 | 12.29 | 39,702 | 28.5% | 58.9% |
143
+ | **3-gram** | Subword | 3,624 | 11.82 | 41,944 | 23.5% | 61.8% |
144
+ | **4-gram** | Word | 6,987 | 12.77 | 63,706 | 28.4% | 55.4% |
145
+ | **4-gram** | Subword | 18,675 | 14.19 | 204,568 | 12.3% | 37.2% |
146
 
147
  ### Top 5 N-grams by Size
148
 
149
+ **2-grams (Word):**
150
+
151
+ | Rank | N-gram | Count |
152
+ |------|--------|-------|
153
+ | 1 | `واصلة ل` | 8,540 |
154
+ | 2 | `نسبة د` | 7,170 |
155
+ | 3 | `ف لمغريب` | 6,247 |
156
+ | 4 | `ف إقليم` | 6,016 |
157
+ | 5 | `ف نسبة` | 4,265 |
158
+
159
+ **3-grams (Word):**
160
 
161
  | Rank | N-gram | Count |
162
  |------|--------|-------|
163
+ | 1 | نسبة د` | 4,264 |
164
+ | 2 | `فيها مصدر و` | 3,236 |
165
+ | 3 | نسبة د` | 2,894 |
166
+ | 4 | `مصدر و بايت` | 2,856 |
167
+ | 5 | `اللي خدامين ف` | 2,759 |
168
 
169
+ **4-grams (Word):**
170
 
171
  | Rank | N-gram | Count |
172
  |------|--------|-------|
173
+ | 1 | `فيها مصدر و بايت` | 2,856 |
174
+ | 2 | `نسبة نّاس اللي خدامين` | 2,705 |
175
+ | 3 | `نّاس اللي خدامين ف` | 2,593 |
176
+ | 4 | `على حساب لإحصاء الرسمي` | 2,501 |
177
+ | 5 | `لعاداد د سّكان ديالو` | 2,500 |
178
 
179
+ **2-grams (Subword):**
180
 
181
  | Rank | N-gram | Count |
182
  |------|--------|-------|
183
+ | 1 | ل` | 293,281 |
184
+ | 2 | `_ ل` | 265,615 |
185
+ | 3 | _` | 209,034 |
186
+ | 4 | `_ ا` | 180,710 |
187
+ | 5 | `_ م` | 141,509 |
188
+
189
+ **3-grams (Subword):**
190
+
191
+ | Rank | N-gram | Count |
192
+ |------|--------|-------|
193
+ | 1 | `_ ا ل` | 176,897 |
194
+ | 2 | `_ ف _` | 80,240 |
195
+ | 3 | `_ د _` | 57,749 |
196
+ | 4 | `_ و _` | 57,033 |
197
+ | 5 | `ا ت _` | 56,985 |
198
+
199
+ **4-grams (Subword):**
200
+
201
+ | Rank | N-gram | Count |
202
+ |------|--------|-------|
203
+ | 1 | `_ د ي ا` | 43,807 |
204
+ | 2 | `د ي ا ل` | 43,597 |
205
+ | 3 | `ي ا ل _` | 30,362 |
206
+ | 4 | `د _ ا ل` | 29,177 |
207
+ | 5 | `_ م ن _` | 25,265 |
208
 
209
 
210
  ### Key Findings
211
 
212
+ - **Best Perplexity:** 2-gram (subword) with 415
213
  - **Entropy Trend:** Decreases with larger n-grams (more predictable)
214
+ - **Coverage:** Top-1000 patterns cover ~37% of corpus
215
  - **Recommendation:** 4-gram or 5-gram for best predictive performance
216
 
217
  ---
 
219
 
220
  ![Markov Entropy](visualizations/markov_entropy.png)
221
 
222
+ ![Markov Contexts](visualizations/markov_contexts.png)
223
+
224
  ![Markov Branching](visualizations/markov_branching.png)
225
 
226
  ### Results
227
 
228
+ | Context | Variant | Avg Entropy | Perplexity | Branching Factor | Unique Contexts | Predictability |
229
+ |---------|---------|-------------|------------|------------------|-----------------|----------------|
230
+ | **1** | Word | 0.8416 | 1.792 | 5.23 | 162,378 | 15.8% |
231
+ | **1** | Subword | 1.1133 | 2.163 | 8.05 | 2,149 | 0.0% |
232
+ | **2** | Word | 0.2252 | 1.169 | 1.49 | 849,251 | 77.5% |
233
+ | **2** | Subword | 0.8048 | 1.747 | 4.99 | 17,291 | 19.5% |
234
+ | **3** | Word | 0.0625 | 1.044 | 1.10 | 1,262,316 | 93.8% |
235
+ | **3** | Subword | 0.8001 | 1.741 | 4.09 | 86,361 | 20.0% |
236
+ | **4** | Word | 0.0215 🏆 | 1.015 | 1.04 | 1,391,141 | 97.9% |
237
+ | **4** | Subword | 0.6559 | 1.576 | 2.83 | 352,807 | 34.4% |
238
+
239
+ ### Generated Text Samples (Word-based)
240
 
241
+ Below are text samples generated from each word-based Markov chain model:
242
 
243
+ **Context Size 1:**
244
+
245
+ 1. `ف لجولة اللولة ديالو ماسك ب الريحة فاميلة ديال لوغات الأمازيغية هويتنا الوطنية بحال بنادم بشكل`
246
+ 2. `د الشوماج واصلة ل كانت وحدة من جيهت بّاه إيرول ماسك أسس جمعية الشرف هو اللعاب`
247
+ 3. `و بايت زادهوم داريجابوت 19 فاش كانو كايطراو ف نسبة لبطالة نّاس نّشيطين لّي يقدرو يخدمو`
248
+
249
+ **Context Size 2:**
250
+
251
+ 1. `واصلة ل 5 و عدد لفاميلات تزاد ب 12 2 لمشاركات ف كأس افريقيا في البطولة ديال`
252
+ 2. `نسبة د الناس النشيطين ف دوار أمرس واصلة ل 96 3 و نسبة د الجواج ف امزرو`
253
+ 3. `ف لمغريب ف إقليم تارودانت جهة سوس ماسة ف لمغريب ف إقليم وارزازات جهة درعا تافيلالت ساكنين`
254
+
255
+ **Context Size 3:**
256
+
257
+ 1. `ف نسبة د الناس النشيطين ف دوار تامكونسي واصلة ل 49 7 و لموعدّال د لعمر عند الجواج`
258
+ 2. `فيها مصدر و علاين بايت د الصويرة`
259
+ 3. `و نسبة د الشوماج واصلة ل 14 7 نوطات مصادر ف لمغريب ف إقليم لحوز زادهوم داريجابوت`
260
+
261
+ **Context Size 4:**
262
+
263
+ 1. `نسبة نّاس اللي خدامين ف دّولة ولا لبيطاليين اللي سبق ليهوم مصادر طنجة تطوان الحسيمة قروية ف إقليم لح...`
264
+ 2. `نّاس اللي خدامين ف دّولة ولا لبيطاليين اللي سبق ليهوم خدمو 6 7 نسبة نّاس اللي خدامين ف لپريڤي`
265
+ 3. `على حساب لإحصاء الرسمي د عام إحصائيات إحصائيات عامة عدد السكان ديال تمزاوروت تزاد ب 18 6 و عدد`
266
+
267
+
268
+ ### Generated Text Samples (Subword-based)
269
+
270
+ Below are text samples generated from each subword-based Markov chain model:
271
 
272
  **Context Size 1:**
273
 
274
+ 1. `_"أكابي_مناتحسن_`
275
+ 2. `ايلممرسية_اهة،_ل`
276
+ 3. `لم"ليعن_لنف_لميم`
277
 
278
  **Context Size 2:**
279
 
280
+ 1. `ال_لليزنيز،_إسلة_`
281
+ 2. `_لعام_نخب_ور_تقرو`
282
+ 3. `ة_سويسها_كولا_بحو`
283
 
284
  **Context Size 3:**
285
 
286
+ 1. `_اللات،_سورين._لڭر`
287
+ 2. `_ف_نسبة_شبه_ولكرور`
288
+ 3. `_د_لعالمغريب._هوّ_و`
289
 
290
  **Context Size 4:**
291
 
292
+ 1. `_ديال_على_حساب_لإحص`
293
+ 2. `ديالو،_(a)_–_bringe`
294
+ 3. `يال_التاني_توفى_عوا`
295
 
296
 
297
  ### Key Findings
298
 
299
+ - **Best Predictability:** Context-4 (word) with 97.9% predictability
300
  - **Branching Factor:** Decreases with context size (more deterministic)
301
+ - **Memory Trade-off:** Larger contexts require more storage (352,807 contexts)
302
  - **Recommendation:** Context-3 or Context-4 for text generation
303
 
304
  ---
 
314
 
315
  | Metric | Value |
316
  |--------|-------|
317
+ | Vocabulary Size | 70,940 |
318
+ | Total Tokens | 1,845,717 |
319
+ | Mean Frequency | 26.02 |
320
  | Median Frequency | 4 |
321
+ | Frequency Std Dev | 518.94 |
322
 
323
  ### Most Common Words
324
 
325
  | Rank | Word | Frequency |
326
  |------|------|-----------|
327
+ | 1 | ف | 80,525 |
328
+ | 2 | د | 57,913 |
329
+ | 3 | و | 57,274 |
330
+ | 4 | ديال | 29,978 |
331
+ | 5 | من | 25,568 |
332
+ | 6 | ل | 23,006 |
333
+ | 7 | على | 17,625 |
334
+ | 8 | لي | 17,540 |
335
+ | 9 | نسبة | 16,376 |
336
+ | 10 | ب | 16,161 |
337
 
338
  ### Least Common Words (from vocabulary)
339
 
340
  | Rank | Word | Frequency |
341
  |------|------|-----------|
342
+ | 1 | تعاونيات | 2 |
343
+ | 2 | خواني | 2 |
344
+ | 3 | والمصطلحات | 2 |
345
+ | 4 | والنقدية | 2 |
346
+ | 5 | شرقًا | 2 |
347
+ | 6 | غربًا | 2 |
348
+ | 7 | المتري | 2 |
349
+ | 8 | بالمدّ | 2 |
350
+ | 9 | والعبارات | 2 |
351
+ | 10 | الكرم | 2 |
352
 
353
  ### Zipf's Law Analysis
354
 
355
  | Metric | Value |
356
  |--------|-------|
357
+ | Zipf Coefficient | 1.0352 |
358
+ | R² (Goodness of Fit) | 0.998696 |
359
  | Adherence Quality | **excellent** |
360
 
361
  ### Coverage Analysis
362
 
363
  | Top N Words | Coverage |
364
  |-------------|----------|
365
+ | Top 100 | 40.4% |
366
+ | Top 1,000 | 64.9% |
367
+ | Top 5,000 | 79.3% |
368
+ | Top 10,000 | 85.4% |
369
 
370
  ### Key Findings
371
 
372
+ - **Zipf Compliance:** R²=0.9987 indicates excellent adherence to Zipf's law
373
+ - **High Frequency Dominance:** Top 100 words cover 40.4% of corpus
374
+ - **Long Tail:** 60,940 words needed for remaining 14.6% coverage
375
 
376
  ---
377
  ## 5. Word Embeddings Evaluation
 
384
 
385
  ![t-SNE Sentences](visualizations/tsne_sentences.png)
386
 
 
387
 
388
+ ### 5.1 Cross-Lingual Alignment
389
+
390
+ > *Note: Multilingual alignment visualization not available for this language.*
391
+
392
+
393
+ ### 5.2 Model Comparison
394
+
395
+ | Model | Dimension | Isotropy | Semantic Density | Alignment R@1 | Alignment R@10 |
396
+ |-------|-----------|----------|------------------|---------------|----------------|
397
+ | **mono_32d** | 32 | 0.8384 🏆 | 0.3320 | N/A | N/A |
398
+ | **mono_64d** | 64 | 0.8149 | 0.2519 | N/A | N/A |
399
+ | **mono_128d** | 128 | 0.6695 | 0.2114 | N/A | N/A |
400
 
401
  ### Key Findings
402
 
403
+ - **Best Isotropy:** mono_32d with 0.8384 (more uniform distribution)
404
+ - **Semantic Density:** Average pairwise similarity of 0.2651. Lower values indicate better semantic separation.
405
+ - **Alignment Quality:** No aligned models evaluated in this run.
406
+ - **Recommendation:** 128d aligned for best cross-lingual performance
407
 
408
  ---
409
+ ## 6. Morphological Analysis (Experimental)
410
+
411
+ > ⚠️ **Warning:** This language shows low morphological productivity. The statistical signals used for this analysis may be noisy or less reliable than for morphologically rich languages.
412
+
413
+ 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.
414
+
415
+ ### 6.1 Productivity & Complexity
416
+
417
+ | Metric | Value | Interpretation | Recommendation |
418
+ |--------|-------|----------------|----------------|
419
+ | Productivity Index | **0.000** | Low morphological productivity | ⚠️ Likely unreliable |
420
+ | Idiomaticity Gap | **-1.000** | Low formulaic content | - |
421
+
422
+ ### 6.2 Affix Inventory (Productive Units)
423
+
424
+ 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.
425
+
426
+ #### Productive Prefixes
427
+ | Prefix | Examples |
428
+ |--------|----------|
429
+ | `-ال` | التار, العادات, الواري |
430
+ | `-لم` | لموتقافين, لمحمية, لموتيفات |
431
+ | `-كا` | كايعطيهوم, كايتبناو, كايلمح |
432
+
433
+ #### Productive Suffixes
434
+ | Suffix | Examples |
435
+ |--------|----------|
436
+ | `-ات` | العادات, باللوغات, وزّعات |
437
+ | `-ية` | حيمائية, لافريقية, ليدارية |
438
+ | `-ين` | نّازيين, فالميادين, لموتقافين |
439
+
440
+ ### 6.3 Bound Stems (Lexical Roots)
441
+
442
+ 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.
443
+
444
+ | Stem | Cohesion | Substitutability | Examples |
445
+ |------|----------|------------------|----------|
446
+ | `انية` | 1.82x | 63 contexts | تانية, كانية, دانية |
447
+ | `الات` | 1.79x | 57 contexts | تالات, صالات, سالات |
448
+ | `جماع` | 1.93x | 37 contexts | تجماع, إجماع, جماعة |
449
+ | `لمغر` | 2.01x | 28 contexts | لمغرب, لمغربي, دلمغرب |
450
+ | `اللو` | 1.65x | 57 contexts | اللوت, اللوز, اللوح |
451
+ | `النا` | 1.64x | 55 contexts | النار, الناس, الناتو |
452
+ | `دهوم` | 2.21x | 16 contexts | ضدهوم, جهدهوم, بعدهوم |
453
+ | `مغري` | 2.02x | 18 contexts | مغرية, مغريب, مغريبي |
454
+ | `قليم` | 2.06x | 15 contexts | اقليم, فقليم, إقليم |
455
+ | `لجوا` | 1.76x | 24 contexts | لجواب, الجوا, لجوائر |
456
+ | `اميل` | 1.78x | 23 contexts | كاميل, عاميل, ݣاميلة |
457
+ | `إحصا` | 2.08x | 14 contexts | لإحصا, إحصاء, إحصائي |
458
+
459
+ ### 6.4 Affix Compatibility (Co-occurrence)
460
+
461
+ This table shows which prefixes and suffixes most frequently co-occur on the same stems, revealing the 'stacking' rules of the language's morphology.
462
+
463
+ | Prefix | Suffix | Frequency | Examples |
464
+ |--------|--------|-----------|----------|
465
+ | `-ال` | `-ية` | 126 words | الكوانتية, الشهية |
466
+ | `-ال` | `-ات` | 123 words | العقوبات, الدبانيات |
467
+ | `-ال` | `-ين` | 70 words | الرينين, الثلاثين |
468
+ | `-لم` | `-ات` | 41 words | لمسراحيات, لمانيفولضات |
469
+ | `-لم` | `-ين` | 37 words | لمعروفين, لموليكيين |
470
+ | `-لم` | `-ية` | 18 words | لماركسية, لمرساوية |
471
+ | `-كا` | `-ين` | 2 words | كاتبيين, كالكيريين |
472
+ | `-كا` | `-ات` | 2 words | كارنيڤورات, كاريكاتورات |
473
+
474
+ ### 6.5 Recursive Morpheme Segmentation
475
+
476
+ Using **Recursive Hierarchical Substitutability**, we decompose complex words into their constituent morphemes. This approach handles nested affixes (e.g., `prefix-prefix-root-suffix`).
477
+
478
+ | Word | Suggested Split | Confidence | Stem |
479
+ |------|-----------------|------------|------|
480
+ | لمعلوماتية | **`لم-علوم-ات-ية`** | 7.5 | `علوم` |
481
+ | الثلاثينات | **`ال-ثلاث-ين-ات`** | 7.5 | `ثلاث` |
482
+ | التأريخية | **`ال-تأريخ-ية`** | 6.0 | `تأريخ` |
483
+ | المهندسين | **`ال-مهندس-ين`** | 6.0 | `مهندس` |
484
+ | التيليفونات | **`ال-تيليفون-ات`** | 6.0 | `تيليفون` |
485
+ | السيشيلية | **`ال-سيشيل-ية`** | 6.0 | `سيشيل` |
486
+ | المجتمعين | **`ال-مجتمع-ين`** | 6.0 | `مجتمع` |
487
+ | التجهيزات | **`ال-تجهيز-ات`** | 6.0 | `تجهيز` |
488
+ | العثمانية | **`ال-عثمان-ية`** | 6.0 | `عثمان` |
489
+ | المعتقدات | **`ال-معتقد-ات`** | 6.0 | `معتقد` |
490
+ | البوليسية | **`ال-بوليس-ية`** | 6.0 | `بوليس` |
491
+ | التشكالات | **`ال-تشكال-ات`** | 6.0 | `تشكال` |
492
+ | المستشارين | **`ال-مستشار-ين`** | 6.0 | `مستشار` |
493
+ | السيركويات | **`ال-سيركوي-ات`** | 6.0 | `سيركوي` |
494
+ | التحضيرية | **`ال-تحضير-ية`** | 6.0 | `تحضير` |
495
+
496
+ ### 6.6 Linguistic Interpretation
497
+
498
+ > **Automated Insight:**
499
+ The language Moroccan Arabic appears to be more isolating or has a highly fixed vocabulary. Word-level models perform nearly as well as subword models, indicating fewer productive morphological processes.
500
+
501
+ ---
502
+ ## 7. Summary & Recommendations
503
 
504
  ![Performance Dashboard](visualizations/performance_dashboard.png)
505
 
 
507
 
508
  | Component | Recommended | Rationale |
509
  |-----------|-------------|-----------|
510
+ | Tokenizer | **64k BPE** | Best compression (4.18x) |
511
+ | N-gram | **2-gram** | Lowest perplexity (415) |
512
+ | Markov | **Context-4** | Highest predictability (97.9%) |
513
  | Embeddings | **100d** | Balanced semantic capture and isotropy |
514
 
515
+
516
  ---
517
  ## Appendix: Metrics Glossary & Interpretation Guide
518
 
 
702
  author = {Kamali, Omar},
703
  title = {Wikilangs: Open NLP Models for Wikipedia Languages},
704
  year = {2025},
705
+ doi = {10.5281/zenodo.18073153},
706
+ publisher = {Zenodo},
707
  url = {https://huggingface.co/wikilangs}
708
  institution = {Omneity Labs}
709
  }
 
719
  - 🤗 Models: [huggingface.co/wikilangs](https://huggingface.co/wikilangs)
720
  - 📊 Data: [wikipedia-monthly](https://huggingface.co/datasets/omarkamali/wikipedia-monthly)
721
  - 👤 Author: [Omar Kamali](https://huggingface.co/omarkamali)
722
+ - 🤝 Sponsor: [Featherless AI](https://featherless.ai)
723
  ---
724
  *Generated by Wikilangs Models Pipeline*
725
 
726
+ *Report Date: 2026-01-03 05:20:40*
models/embeddings/monolingual/ary_128d.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:d5cc5293cf8429fb5399c588bd22cb8909420d94a23901f2c928f46ae56e690f
3
- size 1063209927
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ec0c8ea941d4e589712d1341927459bcf79927b09c35a78a960c9f6d7e10e2d9
3
+ size 1056923528
models/embeddings/monolingual/ary_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": 37528
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": 31513
15
  }
models/embeddings/monolingual/ary_32d.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:b2f8b934f3ef0b52a7ad968cdbdcf1f979c0b7a075cbb32fa213a893a5c78d2f
3
- size 266388423
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:eeac1e5f452245ffe93038f0b7258b2f1f16a3bbf65b19fe05b1a6db4fae8474
3
+ size 264721544
models/embeddings/monolingual/ary_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": 37528
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": 31513
15
  }
models/embeddings/monolingual/ary_64d.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:83735f6b6acbb5e848400813f89e7a33d7fc8d847ad66d17693f0e0573ec6fd0
3
- size 531995591
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b01a57a7d1b52d182e7b0bb4f504588432f74b447abf3627c5c7314bbffab5f2
3
+ size 528788872
models/embeddings/monolingual/ary_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": 37528
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": 31513
15
  }
models/subword_markov/ary_markov_ctx1_subword.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:02d6d2bdc8d7dbce6c10868f4220e2d2d66cf1a06f3491e669371f1b65129d05
3
- size 127609
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:459fa6b743dbcf395519af9bf18ba67b777ddd0e0cc864ac3bb6a7bf3189d793
3
+ size 133878
models/subword_markov/ary_markov_ctx1_subword_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "context_size": 1,
3
  "variant": "subword",
4
  "language": "ary",
5
- "unique_contexts": 1931,
6
- "total_transitions": 13216554
7
  }
 
2
  "context_size": 1,
3
  "variant": "subword",
4
  "language": "ary",
5
+ "unique_contexts": 2149,
6
+ "total_transitions": 10496838
7
  }
models/subword_markov/ary_markov_ctx2_subword.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:322a9496ec76e3be61fdafb53d8b77843c56708cd0dbe0e62dcd5edd91548627
3
- size 835900
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:552c831bedb22d7f7b1c00d88c34681f2f3325dd23a3f89d85c02eb0c4ac3281
3
+ size 749221
models/subword_markov/ary_markov_ctx2_subword_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "context_size": 2,
3
  "variant": "subword",
4
  "language": "ary",
5
- "unique_contexts": 16826,
6
- "total_transitions": 13205631
7
  }
 
2
  "context_size": 2,
3
  "variant": "subword",
4
  "language": "ary",
5
+ "unique_contexts": 17291,
6
+ "total_transitions": 10486078
7
  }
models/subword_markov/ary_markov_ctx3_subword.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:0d5187cefb9bc3bda8ef32e536676e0c3b42f01c2c61bed6abaeb131d627b820
3
- size 3229260
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2a0e7a2836b00fdfdf3ecab6fd3ff4f39a94e43eeb24ea7dfa6bbdea5ac77430
3
+ size 2667571
models/subword_markov/ary_markov_ctx3_subword_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "context_size": 3,
3
  "variant": "subword",
4
  "language": "ary",
5
- "unique_contexts": 104928,
6
- "total_transitions": 13194708
7
  }
 
2
  "context_size": 3,
3
  "variant": "subword",
4
  "language": "ary",
5
+ "unique_contexts": 86361,
6
+ "total_transitions": 10475318
7
  }
models/subword_markov/ary_markov_ctx4_subword.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:dd8baa92bb2fa6351748ab87b35f8ba19922364e0eae3c6cbd772e527604f163
3
- size 10673093
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:85296dab212dcfcc7a9ab757176cd9fbd76a93f9401830d56004280e4a7377f8
3
+ size 8465099
models/subword_markov/ary_markov_ctx4_subword_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "context_size": 4,
3
  "variant": "subword",
4
  "language": "ary",
5
- "unique_contexts": 454694,
6
- "total_transitions": 13183785
7
  }
 
2
  "context_size": 4,
3
  "variant": "subword",
4
  "language": "ary",
5
+ "unique_contexts": 352807,
6
+ "total_transitions": 10464558
7
  }
models/subword_ngram/ary_2gram_subword.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:62a74b4e9a08aa132c61be02cbdead1b65df56d23212d4d13b44eee1de72ca5c
3
- size 85260
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:78ea13aba22c9b182dee2ab8bd64573851cedf52939c98249335191a3f23f274
3
+ size 80021
models/subword_ngram/ary_2gram_subword_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "n": 2,
3
  "variant": "subword",
4
  "language": "ary",
5
- "unique_ngrams": 6227,
6
- "total_ngrams": 13216554
7
  }
 
2
  "n": 2,
3
  "variant": "subword",
4
  "language": "ary",
5
+ "unique_ngrams": 5585,
6
+ "total_ngrams": 10496838
7
  }
models/subword_ngram/ary_3gram_subword.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:33a4ba5238a6f6fb79055b4420c426248fbd61bc3060e6af9de75c84a51cb747
3
- size 664928
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:24b08ece7a38c3125e70f5a75f6ead1fd500f694cb05ad5c6248ba7b85fd5634
3
+ size 573468
models/subword_ngram/ary_3gram_subword_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "n": 3,
3
  "variant": "subword",
4
  "language": "ary",
5
- "unique_ngrams": 51256,
6
- "total_ngrams": 13205631
7
  }
 
2
  "n": 3,
3
  "variant": "subword",
4
  "language": "ary",
5
+ "unique_ngrams": 41944,
6
+ "total_ngrams": 10486078
7
  }
models/subword_ngram/ary_4gram_subword.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:2a9c53578c3475bc96d000d9db9a4d19e545b73cbbe4948d2149968e06900585
3
- size 3262126
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c1dd4f7cdfe642d380522ea08b1e34ceadbe57558bcccafcd2c10d5783f15f75
3
+ size 2617929
models/subword_ngram/ary_4gram_subword_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "n": 4,
3
  "variant": "subword",
4
  "language": "ary",
5
- "unique_ngrams": 260844,
6
- "total_ngrams": 13194708
7
  }
 
2
  "n": 4,
3
  "variant": "subword",
4
  "language": "ary",
5
+ "unique_ngrams": 204568,
6
+ "total_ngrams": 10475318
7
  }
models/tokenizer/ary_tokenizer_16k.model CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:66f08427ec3757387ee07eb1bbb3518ed56da42a7b4a144381b3c9d0e2a75fd2
3
- size 550569
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2b2380e695c2c3ff7f9eec16ecc69d1a82452d80f0c0884635d764801141b6e5
3
+ size 559353
models/tokenizer/ary_tokenizer_16k.vocab CHANGED
The diff for this file is too large to render. See raw diff
 
models/tokenizer/ary_tokenizer_32k.model CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:dfbe42ab44ef4ba9c324b96993e42805c7a7def9a21e8af3f8467142eef0b615
3
- size 880065
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:334ec9fb02ebfd6451b7961710b7f94c763275ce5022015434501d439ac06ad4
3
+ size 894340
models/tokenizer/ary_tokenizer_32k.vocab CHANGED
The diff for this file is too large to render. See raw diff
 
models/tokenizer/ary_tokenizer_64k.model CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:46f721a26f1f518a4334f4a8844591eb94957318f9a1d14d80668720663635cc
3
- size 1546284
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:228ac76778adf794a1d8de7ed6648a2bbfd80b7498be5530f090627f915c0436
3
+ size 1593462
models/tokenizer/ary_tokenizer_64k.vocab CHANGED
The diff for this file is too large to render. See raw diff
 
models/tokenizer/ary_tokenizer_8k.model CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:21bb3111788de7f71f160230b53c90faec9e158982f1fc3936144c7bb95bc0a1
3
- size 391386
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:fa0d6cbad79ebc5208a11f4bc61982c6584a2f87a08a41d8c2c90d8c0941ea81
3
+ size 396437
models/tokenizer/ary_tokenizer_8k.vocab CHANGED
The diff for this file is too large to render. See raw diff
 
models/vocabulary/ary_vocabulary.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:0e9e3400acc6760b029fbf22dea48ff18cbf62eda489e8d001ff473945dde76d
3
- size 1446167
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e6a100896fb6a926f24685f0b974ea8144580d8025c46f0451fa0eb2a1cccb88
3
+ size 1278866
models/vocabulary/ary_vocabulary_metadata.json CHANGED
@@ -1,16 +1,17 @@
1
  {
2
  "language": "ary",
3
- "vocabulary_size": 81712,
 
4
  "statistics": {
5
- "type_token_ratio": 0.07826179445772023,
6
  "coverage": {
7
- "top_100": 0.3755263295122797,
8
- "top_1000": 0.6095531030989189,
9
- "top_5000": 0.7510592808230233,
10
- "top_10000": 0.8101195151850255
11
  },
12
- "hapax_count": 107389,
13
- "hapax_ratio": 0.5678922903633508,
14
- "total_documents": 10923
15
  }
16
  }
 
1
  {
2
  "language": "ary",
3
+ "vocabulary_size": 70940,
4
+ "variant": "full",
5
  "statistics": {
6
+ "type_token_ratio": 0.08383333066622203,
7
  "coverage": {
8
+ "top_100": 0.38467935557772986,
9
+ "top_1000": 0.6186641695622032,
10
+ "top_5000": 0.7558627838344147,
11
+ "top_10000": 0.8141512107566836
12
  },
13
+ "hapax_count": 91460,
14
+ "hapax_ratio": 0.5631773399014778,
15
+ "total_documents": 10760
16
  }
17
  }
models/word_markov/ary_markov_ctx1_word.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:cf369ad231704eef182a92e5d64241ae5294d89bedc2393e46ffa50e68be61c3
3
- size 10974758
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7c9d4b1eb5fe667ef9075fa89ad5a4ea4ea33df8dba16dd4243bd25ca92d4926
3
+ size 9279588
models/word_markov/ary_markov_ctx1_word_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "context_size": 1,
3
  "variant": "word",
4
  "language": "ary",
5
- "unique_contexts": 189320,
6
- "total_transitions": 3013648
7
  }
 
2
  "context_size": 1,
3
  "variant": "word",
4
  "language": "ary",
5
+ "unique_contexts": 162378,
6
+ "total_transitions": 1926417
7
  }
models/word_markov/ary_markov_ctx2_word.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:6feb87132c6a3a8881dab7c3af6268a3da4e594d21311b665e71b2e95a0af000
3
- size 28263486
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:29a939f97ef93392311582b9ad3f3b729f547581513acb58fd36113bf5b295e2
3
+ size 23360695
models/word_markov/ary_markov_ctx2_word_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "context_size": 2,
3
  "variant": "word",
4
  "language": "ary",
5
- "unique_contexts": 1014676,
6
- "total_transitions": 3002725
7
  }
 
2
  "context_size": 2,
3
  "variant": "word",
4
  "language": "ary",
5
+ "unique_contexts": 849251,
6
+ "total_transitions": 1915657
7
  }
models/word_markov/ary_markov_ctx3_word.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:354a3b1b04e0bdb94e0c7a15c339df347f9c313c580fe88c039f721a8a1e4237
3
- size 41576319
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4fc3870d90e96a6d0f094fa6751c6f78ed9b0e520e72f7882513945cab8f1373
3
+ size 32010448
models/word_markov/ary_markov_ctx3_word_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "context_size": 3,
3
  "variant": "word",
4
  "language": "ary",
5
- "unique_contexts": 1701309,
6
- "total_transitions": 2991803
7
  }
 
2
  "context_size": 3,
3
  "variant": "word",
4
  "language": "ary",
5
+ "unique_contexts": 1262316,
6
+ "total_transitions": 1904897
7
  }
models/word_markov/ary_markov_ctx4_word.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:5cc0395cfc1cc580368483ee202676a9d7b57cdbdf737c5c7422dfd39ecdf963
3
- size 50573861
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:526783a2fed42680ed61c32c03a44df01d06d2396568770540907bffacc2d4b5
3
+ size 38343134
models/word_markov/ary_markov_ctx4_word_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "context_size": 4,
3
  "variant": "word",
4
  "language": "ary",
5
- "unique_contexts": 2000181,
6
- "total_transitions": 2980882
7
  }
 
2
  "context_size": 4,
3
  "variant": "word",
4
  "language": "ary",
5
+ "unique_contexts": 1391141,
6
+ "total_transitions": 1894137
7
  }
models/word_ngram/ary_2gram_word.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:60dc5550877fc074d5df5a925b63f1f3975f796566e9a5a5de18357cd8485faa
3
- size 1017637
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:bfeda04510e2c553b8ed89b81167eb362bcaad06b1cd9106f259c8829124e7bd
3
+ size 673580
models/word_ngram/ary_2gram_word_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "n": 2,
3
  "variant": "word",
4
  "language": "ary",
5
- "unique_ngrams": 56749,
6
- "total_ngrams": 3013648
7
  }
 
2
  "n": 2,
3
  "variant": "word",
4
  "language": "ary",
5
+ "unique_ngrams": 35218,
6
+ "total_ngrams": 1926417
7
  }
models/word_ngram/ary_3gram_word.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:450d7e949b8c457d9c72e4207cc5a90c1e77b46a5e5091df8c971c29082d1978
3
- size 1493910
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:42e065ff96cac0f99796887363b07f7ed4c89751e6ffab760b5684e38bd7c11c
3
+ size 851553
models/word_ngram/ary_3gram_word_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "n": 3,
3
  "variant": "word",
4
  "language": "ary",
5
- "unique_ngrams": 76888,
6
- "total_ngrams": 3002725
7
  }
 
2
  "n": 3,
3
  "variant": "word",
4
  "language": "ary",
5
+ "unique_ngrams": 39702,
6
+ "total_ngrams": 1915657
7
  }
models/word_ngram/ary_4gram_word.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:8ee2009d481c48c5635cbb99107a721e89fb3733f2698b8960ac7a70030bbabc
3
- size 2616301
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4bad83de9507de5b6f2183bc341880b4b18a95728eb2e74422e18e4dc7410f5f
3
+ size 1506246
models/word_ngram/ary_4gram_word_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "n": 4,
3
  "variant": "word",
4
  "language": "ary",
5
- "unique_ngrams": 124859,
6
- "total_ngrams": 2991803
7
  }
 
2
  "n": 4,
3
  "variant": "word",
4
  "language": "ary",
5
+ "unique_ngrams": 63706,
6
+ "total_ngrams": 1904897
7
  }
visualizations/embedding_isotropy.png CHANGED
visualizations/embedding_norms.png CHANGED
visualizations/embedding_similarity.png CHANGED

Git LFS Details

  • SHA256: 9064dad352d5ebaf66faab7af9f30561273b0bea4b37f5bd447d52bca13f3de7
  • Pointer size: 131 Bytes
  • Size of remote file: 146 kB

Git LFS Details

  • SHA256: ae893f8efdae6e185be6538b4fb1f9796b0c82044d0e0de25823a01b38a4fd09
  • Pointer size: 131 Bytes
  • Size of remote file: 142 kB
visualizations/markov_branching.png CHANGED