omarkamali commited on
Commit
61101f8
·
verified ·
1 Parent(s): 7bd06ac

Upload all models and assets for dv (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 +342 -139
  3. models/embeddings/aligned/dv_128d.bin +3 -0
  4. models/embeddings/aligned/dv_128d.meta.json +1 -0
  5. models/embeddings/aligned/dv_128d.projection.npy +3 -0
  6. models/embeddings/aligned/dv_128d_metadata.json +8 -0
  7. models/embeddings/aligned/dv_32d.bin +3 -0
  8. models/embeddings/aligned/dv_32d.meta.json +1 -0
  9. models/embeddings/aligned/dv_32d.projection.npy +3 -0
  10. models/embeddings/aligned/dv_32d_metadata.json +8 -0
  11. models/embeddings/aligned/dv_64d.bin +3 -0
  12. models/embeddings/aligned/dv_64d.meta.json +1 -0
  13. models/embeddings/aligned/dv_64d.projection.npy +3 -0
  14. models/embeddings/aligned/dv_64d_metadata.json +8 -0
  15. models/embeddings/monolingual/dv_128d.bin +2 -2
  16. models/embeddings/monolingual/dv_128d_metadata.json +5 -3
  17. models/embeddings/monolingual/dv_32d.bin +2 -2
  18. models/embeddings/monolingual/dv_32d_metadata.json +5 -3
  19. models/embeddings/monolingual/dv_64d.bin +2 -2
  20. models/embeddings/monolingual/dv_64d_metadata.json +5 -3
  21. models/subword_markov/dv_markov_ctx1_subword.parquet +2 -2
  22. models/subword_markov/dv_markov_ctx1_subword_metadata.json +2 -2
  23. models/subword_markov/dv_markov_ctx2_subword.parquet +2 -2
  24. models/subword_markov/dv_markov_ctx2_subword_metadata.json +2 -2
  25. models/subword_markov/dv_markov_ctx3_subword.parquet +2 -2
  26. models/subword_markov/dv_markov_ctx3_subword_metadata.json +2 -2
  27. models/subword_markov/dv_markov_ctx4_subword.parquet +2 -2
  28. models/subword_markov/dv_markov_ctx4_subword_metadata.json +2 -2
  29. models/subword_ngram/dv_2gram_subword.parquet +2 -2
  30. models/subword_ngram/dv_2gram_subword_metadata.json +2 -2
  31. models/subword_ngram/dv_3gram_subword.parquet +2 -2
  32. models/subword_ngram/dv_3gram_subword_metadata.json +2 -2
  33. models/subword_ngram/dv_4gram_subword.parquet +2 -2
  34. models/subword_ngram/dv_4gram_subword_metadata.json +2 -2
  35. models/subword_ngram/dv_5gram_subword.parquet +3 -0
  36. models/subword_ngram/dv_5gram_subword_metadata.json +7 -0
  37. models/tokenizer/dv_tokenizer_16k.model +2 -2
  38. models/tokenizer/dv_tokenizer_16k.vocab +0 -0
  39. models/tokenizer/dv_tokenizer_32k.model +2 -2
  40. models/tokenizer/dv_tokenizer_32k.vocab +0 -0
  41. models/tokenizer/dv_tokenizer_64k.model +2 -2
  42. models/tokenizer/dv_tokenizer_64k.vocab +0 -0
  43. models/tokenizer/dv_tokenizer_8k.model +2 -2
  44. models/tokenizer/dv_tokenizer_8k.vocab +0 -0
  45. models/vocabulary/dv_vocabulary.parquet +2 -2
  46. models/vocabulary/dv_vocabulary_metadata.json +10 -9
  47. models/word_markov/dv_markov_ctx1_word.parquet +2 -2
  48. models/word_markov/dv_markov_ctx1_word_metadata.json +2 -2
  49. models/word_markov/dv_markov_ctx2_word.parquet +2 -2
  50. models/word_markov/dv_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: dv
3
- language_name: DV
4
  language_family: indoaryan_insular
5
  tags:
6
  - wikilangs
@@ -10,11 +10,21 @@ tags:
10
  - n-gram
11
  - markov
12
  - wikipedia
 
 
 
 
 
 
 
 
 
 
13
  - monolingual
14
  - family-indoaryan_insular
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: 6.114
27
  - name: best_isotropy
28
  type: isotropy
29
- value: 0.8870
30
  - name: vocabulary_size
31
  type: vocab
32
- value: 6434
33
- generated: 2025-12-30
34
  ---
35
 
36
- # DV - Wikilangs Models
37
  ## Comprehensive Research Report & Full Ablation Study
38
 
39
- This repository contains NLP models trained and evaluated by Wikilangs, specifically on **DV** 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,53 +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** | 4.416x | 4.38 | 0.0656% | 543,835 |
76
- | **16k** | 5.055x | 5.01 | 0.0751% | 475,116 |
77
- | **32k** | 5.621x | 5.58 | 0.0836% | 427,269 |
78
- | **64k** | 6.114x 🏆 | 6.06 | 0.0909% | 392,821 |
79
 
80
  ### Tokenization Examples
81
 
82
  Below are sample sentences tokenized with each vocabulary size:
83
 
84
- **Sample 1:** `ވާރުތަ ބަލި އަކީ ލޭގެ ގުޅުމުގެ ސަބަބުން ދަރިފަސްކޮޅަށް ދެމިގެންދާ ބަލިތަކެވެ.
85
-
86
- ޤ...`
87
 
88
  | Vocab | Tokens | Count |
89
  |-------|--------|-------|
90
- | 8k | `▁ވާރު ތަ ▁ބަލި ▁އަކީ ▁ލޭގެ ▁ގުޅ ުމުގެ ▁ސަބަބުން ▁ދަރިފ ަސް ... (+9 more)` | 19 |
91
- | 16k | `▁ވާރުތަ ▁ބަލި ▁އަކީ ▁ލޭގެ ▁ގުޅުމުގެ ▁ސަބަބުން ▁ދަރިފަސް ކޮޅަށް ▁ދެމިގެން ދާ ... (+6 more)` | 16 |
92
- | 32k | `▁ވާރުތަ ▁ބަލި ▁އަކީ ▁ލޭގެ ▁ގުޅުމުގެ ▁ސަބަބުން ▁ދަރިފަސް ކޮޅަށް ▁ދެމިގެންދާ ▁ބަލިތަކެވެ ... (+4 more)` | 14 |
93
- | 64k | `▁ވާރުތަ ▁ބަލި ▁އަކީ ▁ލޭގެ ▁ގުޅުމުގެ ▁ސަބަބުން ▁ދަރިފަސް ކޮޅަށް ▁ދެމިގެންދާ ▁ބަލިތަކެވެ ... (+4 more)` | 14 |
94
 
95
- **Sample 2:** `މިއީ 20ވަނަ ޤަރުނުގެ 99ވަނަ އަހަރެވެ.`
96
 
97
  | Vocab | Tokens | Count |
98
  |-------|--------|-------|
99
- | 8k | `▁މިއީ 2 0 ވަނަ ▁ޤަރުނުގެ 9 9 ވަނަ ... (+2 more)` | 12 |
100
- | 16k | `▁މިއީ 2 0 ވަނަ ▁ޤަރުނުގެ 9 9 ވަނަ ... (+2 more)` | 12 |
101
- | 32k | `▁މިއީ 2 0 ވަނަ ▁ޤަރުނުގެ 9 9 ވަނަ ... (+2 more)` | 12 |
102
- | 64k | `▁މިއީ 2 0 ވަނަ ▁ޤަރުނުގެ 9 9 ވަނަ ... (+2 more)` | 12 |
103
 
104
- **Sample 3:** `މި މަޒުމޫނަކީ ނައިޖީރިއާގެ ނާއިބު ރައީސް އާ ބެހޭ މަޒުމޫނެކެވެ.`
105
 
106
  | Vocab | Tokens | Count |
107
  |-------|--------|-------|
108
- | 8k | `▁މި ▁މަޒުމޫނ ަކީ ▁ނައިޖީ ރިއާގެ ▁ނާއިބު ▁ރައީސް ▁އާ ▁ބެހޭ ▁މަޒުމޫނ ... (+2 more)` | 12 |
109
- | 16k | `▁މި ▁މަޒުމޫނ ަކީ ▁ނައިޖީ ރިއާގެ ▁ނާއިބު ▁ރައީސް ▁އާ ▁ބެހޭ ▁މަޒުމޫނ ... (+2 more)` | 12 |
110
- | 32k | `▁މި ▁މަޒުމޫނަކީ ▁ނައިޖީރިއާގެ ▁ނާއިބު ▁ރައީސް ▁އާ ▁ބެހޭ ▁މަޒުމޫނެކެވެ .` | 9 |
111
- | 64k | `▁މި ▁މަޒުމޫނަކީ ▁ނައިޖީރިއާގެ ▁ނާއިބު ▁ރައީސް ▁އާ ▁ބެހޭ ▁މަޒުމޫނެކެވެ .` | 9 |
112
 
113
 
114
  ### Key Findings
115
 
116
- - **Best Compression:** 64k achieves 6.114x compression
117
- - **Lowest UNK Rate:** 8k with 0.0656% unknown tokens
118
  - **Trade-off:** Larger vocabularies improve compression but increase model size
119
  - **Recommendation:** 32k vocabulary provides optimal balance for production use
120
 
@@ -123,57 +139,111 @@ Below are sample sentences tokenized with each vocabulary size:
123
 
124
  ![N-gram Perplexity](visualizations/ngram_perplexity.png)
125
 
 
 
126
  ![N-gram Coverage](visualizations/ngram_coverage.png)
127
 
128
  ### Results
129
 
130
- | N-gram | Perplexity | Entropy | Unique N-grams | Top-100 Coverage | Top-1000 Coverage |
131
- |--------|------------|---------|----------------|------------------|-------------------|
132
- | **2-gram** | 280 🏆 | 8.13 | 6,213 | 66.8% | 98.6% |
133
- | **2-gram** | 309 🏆 | 8.27 | 4,183 | 65.1% | 98.3% |
134
- | **3-gram** | 1,977 | 10.95 | 27,387 | 28.4% | 74.6% |
135
- | **3-gram** | 2,024 | 10.98 | 28,100 | 30.0% | 74.0% |
136
- | **4-gram** | 9,545 | 13.22 | 108,940 | 14.2% | 44.6% |
137
- | **4-gram** | 8,722 | 13.09 | 111,102 | 15.8% | 46.9% |
 
 
138
 
139
  ### Top 5 N-grams by Size
140
 
141
- **2-grams:**
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
142
 
143
  | Rank | N-gram | Count |
144
  |------|--------|-------|
145
- | 1 | ް` | 201,447 |
146
- | 2 | އ` | 180,556 |
147
- | 3 | ި` | 156,059 |
148
- | 4 | ެ` | 109,701 |
149
- | 5 | ް` | 108,512 |
150
 
151
- **3-grams:**
152
 
153
  | Rank | N-gram | Count |
154
  |------|--------|-------|
155
- | 1 | އ ި` | 98,210 |
156
- | 2 | ވ ެ` | 69,037 |
157
- | 3 | ނ ް` | 66,257 |
158
- | 4 | ެ .` | 64,917 |
159
- | 5 | ށ ް` | 49,257 |
160
 
161
- **4-grams:**
162
 
163
  | Rank | N-gram | Count |
164
  |------|--------|-------|
165
- | 1 | ވ ެ .` | 64,897 |
166
- | 2 | ަ އ ި` | 40,722 |
167
- | 3 | ެ ވ ެ` | 37,057 |
168
- | 4 | ގ ަ އ` | 23,243 |
169
- | 5 | ި ނ ް` | 18,356 |
170
 
171
 
172
  ### Key Findings
173
 
174
- - **Best Perplexity:** 2-gram with 280
175
  - **Entropy Trend:** Decreases with larger n-grams (more predictable)
176
- - **Coverage:** Top-1000 patterns cover ~47% of corpus
177
  - **Recommendation:** 4-gram or 5-gram for best predictive performance
178
 
179
  ---
@@ -181,55 +251,86 @@ Below are sample sentences tokenized with each vocabulary size:
181
 
182
  ![Markov Entropy](visualizations/markov_entropy.png)
183
 
 
 
184
  ![Markov Branching](visualizations/markov_branching.png)
185
 
186
  ### Results
187
 
188
- | Context | Avg Entropy | Perplexity | Branching Factor | Unique Contexts | Predictability |
189
- |---------|-------------|------------|------------------|-----------------|----------------|
190
- | **1** | 0.5858 | 1.501 | 3.83 | 15,381 | 41.4% |
191
- | **1** | 1.1454 | 2.212 | 8.73 | 1,139 | 0.0% |
192
- | **2** | 0.2988 🏆 | 1.230 | 2.08 | 58,771 | 70.1% |
193
- | **2** | 0.9952 🏆 | 1.993 | 5.52 | 9,934 | 0.5% |
194
- | **3** | 0.3330 | 1.260 | 2.10 | 122,099 | 66.7% |
195
- | **3** | 0.7840 | 1.722 | 3.51 | 54,858 | 21.6% |
196
- | **4** | 0.3715 | 1.294 | 2.01 | 255,795 | 62.9% |
197
- | **4** | 0.5399 | 1.454 | 2.34 | 192,399 | 46.0% |
198
 
199
- ### Generated Text Samples
200
 
201
- Below are text samples generated from each Markov chain model:
202
 
203
  **Context Size 1:**
204
 
205
- 1. ގ ެ ކ ޫ ގ ެ . 1980މ . އ ް ނ ާ ނ ީ`
206
- 2. ނ ް ފ ަ ބ ަ ކ ު ރ ި ތ ަ ރ ަ ސ`
207
- 3. . މ ަ ބ ޮ ހ ު ތ ަ ލ ޭ އ ި ހ ެ`
208
 
209
  **Context Size 2:**
210
 
211
- 1. ް ނ ު ކ ޮ ޅ ު ތ ު ރ ަ އ ި ބ ަ ބ`
212
- 2. އ ް ކ ަ ނ ް ފ ަ ހ ަ އ ި ވ ެ . މ`
213
- 3. ި ގ ެ ލ ަ ބ ޫ ވ ާ ކ ަ ށ ް އ ި ހ`
214
 
215
  **Context Size 3:**
216
 
217
- 1. އ ި ވ ާ ހ ަ ށ ި ގ ަ ނޑ ު ގ ަ އ ި ނ`
218
- 2. ވ ެ . ފ ި ލ ް ރ ަ ސ ް ޖ ެ ހ ޭ ވ ަ`
219
- 3. ނ ް ކ ު ރ ެ އ ް ވ ާ ފ ަ އ ި ވ ާ ޔ`
220
 
221
  **Context Size 4:**
222
 
223
- 1. ވ ެ . ހ ަ މ ަ އ ި ގ ަ ނ ް ނ ަ އ ި ޖ`
224
- 2. ަ އ ި މ ި ވ ަ ނ ް ތ ަ ކ ެ ތ ީ ގ ަ އ`
225
- 3. ެ ވ ެ . ފ ަ ތ ަ ށ ް ޢ ަ މ ަ ލ ާ ގ ެ`
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
226
 
227
 
228
  ### Key Findings
229
 
230
- - **Best Predictability:** Context-2 with 70.1% predictability
231
  - **Branching Factor:** Decreases with context size (more deterministic)
232
- - **Memory Trade-off:** Larger contexts require more storage (192,399 contexts)
233
  - **Recommendation:** Context-3 or Context-4 for text generation
234
 
235
  ---
@@ -245,64 +346,64 @@ Below are text samples generated from each Markov chain model:
245
 
246
  | Metric | Value |
247
  |--------|-------|
248
- | Vocabulary Size | 6,434 |
249
- | Total Tokens | 3,460,301 |
250
- | Mean Frequency | 537.81 |
251
  | Median Frequency | 3 |
252
- | Frequency Std Dev | 11173.10 |
253
 
254
  ### Most Common Words
255
 
256
  | Rank | Word | Frequency |
257
  |------|------|-----------|
258
- | 1 | އ | 509,388 |
259
- | 2 | ނ | 367,732 |
260
- | 3 | މ | 247,599 |
261
- | 4 | ރ | 246,229 |
262
- | 5 | ވ | 242,170 |
263
- | 6 | ކ | 226,840 |
264
- | 7 | ގ | 210,999 |
265
- | 8 | ތ | 158,312 |
266
- | 9 | ދ | 142,011 |
267
- | 10 | ހ | 138,134 |
268
 
269
  ### Least Common Words (from vocabulary)
270
 
271
  | Rank | Word | Frequency |
272
  |------|------|-----------|
273
- | 1 | علاء | 2 |
274
- | 2 | حاشية | 2 |
275
- | 3 | عابدين | 2 |
276
- | 4 | ٱق | 2 |
277
- | 5 | حصن | 2 |
278
- | 6 | 1972ވ | 2 |
279
- | 7 | abdul_raheem_abdulla_portrait | 2 |
280
- | 8 | 112x112pxޢ | 2 |
281
- | 9 | 282ވ | 2 |
282
- | 10 | costus | 2 |
283
 
284
  ### Zipf's Law Analysis
285
 
286
  | Metric | Value |
287
  |--------|-------|
288
- | Zipf Coefficient | 1.2153 |
289
- | R² (Goodness of Fit) | 0.951559 |
290
  | Adherence Quality | **excellent** |
291
 
292
  ### Coverage Analysis
293
 
294
  | Top N Words | Coverage |
295
  |-------------|----------|
296
- | Top 100 | 98.4% |
297
- | Top 1,000 | 99.4% |
298
- | Top 5,000 | 99.9% |
299
- | Top 10,000 | 0.0% |
300
 
301
  ### Key Findings
302
 
303
- - **Zipf Compliance:** R²=0.9516 indicates excellent adherence to Zipf's law
304
- - **High Frequency Dominance:** Top 100 words cover 98.4% of corpus
305
- - **Long Tail:** -3,566 words needed for remaining 100.0% coverage
306
 
307
  ---
308
  ## 5. Word Embeddings Evaluation
@@ -315,24 +416,123 @@ Below are text samples generated from each Markov chain model:
315
 
316
  ![t-SNE Sentences](visualizations/tsne_sentences.png)
317
 
318
- ### Model Comparison
319
 
320
- | Model | Vocab Size | Dimension | Avg Norm | Std Norm | Isotropy |
321
- |-------|------------|-----------|----------|----------|----------|
322
- | **mono_32d** | 20,888 | 32 | 3.934 | 0.875 | 0.8870 🏆 |
323
- | **mono_64d** | 20,888 | 64 | 4.609 | 0.777 | 0.8593 |
324
- | **mono_128d** | 20,888 | 128 | 5.126 | 0.699 | 0.7135 |
325
- | **embeddings_enhanced** | 0 | 0 | 0.000 | 0.000 | 0.0000 |
 
 
 
 
 
 
 
 
 
 
 
326
 
327
  ### Key Findings
328
 
329
- - **Best Isotropy:** mono_32d with 0.8870 (more uniform distribution)
330
- - **Dimension Trade-off:** Higher dimensions capture more semantics but reduce isotropy
331
- - **Vocabulary Coverage:** All models cover 20,888 words
332
- - **Recommendation:** 100d for balanced semantic capture and efficiency
333
 
334
  ---
335
- ## 6. Summary & Recommendations
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
336
 
337
  ![Performance Dashboard](visualizations/performance_dashboard.png)
338
 
@@ -340,11 +540,12 @@ Below are text samples generated from each Markov chain model:
340
 
341
  | Component | Recommended | Rationale |
342
  |-----------|-------------|-----------|
343
- | Tokenizer | **32k BPE** | Best compression (6.11x) with low UNK rate |
344
- | N-gram | **5-gram** | Lowest perplexity (280) |
345
- | Markov | **Context-4** | Highest predictability (70.1%) |
346
  | Embeddings | **100d** | Balanced semantic capture and isotropy |
347
 
 
348
  ---
349
  ## Appendix: Metrics Glossary & Interpretation Guide
350
 
@@ -534,7 +735,8 @@ If you use these models in your research, please cite:
534
  author = {Kamali, Omar},
535
  title = {Wikilangs: Open NLP Models for Wikipedia Languages},
536
  year = {2025},
537
- publisher = {HuggingFace},
 
538
  url = {https://huggingface.co/wikilangs}
539
  institution = {Omneity Labs}
540
  }
@@ -550,7 +752,8 @@ MIT License - Free for academic and commercial use.
550
  - 🤗 Models: [huggingface.co/wikilangs](https://huggingface.co/wikilangs)
551
  - 📊 Data: [wikipedia-monthly](https://huggingface.co/datasets/omarkamali/wikipedia-monthly)
552
  - 👤 Author: [Omar Kamali](https://huggingface.co/omarkamali)
 
553
  ---
554
  *Generated by Wikilangs Models Pipeline*
555
 
556
- *Report Date: 2025-12-30 08:42:33*
 
1
  ---
2
  language: dv
3
+ language_name: Divehi
4
  language_family: indoaryan_insular
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-indoaryan_insular
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: 5.583
37
  - name: best_isotropy
38
  type: isotropy
39
+ value: 0.8795
40
  - name: vocabulary_size
41
  type: vocab
42
+ value: 0
43
+ generated: 2026-01-04
44
  ---
45
 
46
+ # Divehi - Wikilangs Models
47
  ## Comprehensive Research Report & Full Ablation Study
48
 
49
+ This repository contains NLP models trained and evaluated by Wikilangs, specifically on **Divehi** 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** | 4.195x | 4.20 | 0.4815% | 567,427 |
94
+ | **16k** | 4.753x | 4.76 | 0.5455% | 500,811 |
95
+ | **32k** | 5.229x | 5.24 | 0.6001% | 455,260 |
96
+ | **64k** | 5.583x 🏆 | 5.59 | 0.6407% | 426,395 |
97
 
98
  ### Tokenization Examples
99
 
100
  Below are sample sentences tokenized with each vocabulary size:
101
 
102
+ **Sample 1:** `ޅ.އަތޮޅު ތަޢުލީމީ މަރުކަޒަކީ ޅ. ހިންނަވަރުގައި ހުންނަ މަދަރުސާ އެކެވެ. ސްކޫލުތައ...`
 
 
103
 
104
  | Vocab | Tokens | Count |
105
  |-------|--------|-------|
106
+ | 8k | `▁ޅ . އަތޮޅު ▁ތަޢުލީމީ ▁މަރުކަޒ ަކީ ▁ޅ . ▁ހިން ނ ... (+7 more)` | 17 |
107
+ | 16k | `▁ޅ . އަތޮޅު ▁ތަޢުލީމީ ▁މަރުކަޒަކީ ▁ޅ . ▁ހިން ނ ަވަރު ... (+6 more)` | 16 |
108
+ | 32k | `▁ޅ . އަތޮޅު ▁ތަޢުލީމީ ▁މަރުކަޒަކީ ▁ޅ . ▁ހި��ްނ ަވަރު ގައި ... (+5 more)` | 15 |
109
+ | 64k | `▁ޅ . އަތޮޅު ▁ތަޢުލީމީ ▁މަރުކަޒަކީ ▁ޅ . ▁ހިންނަވަރުގައި ▁ހުންނަ ▁މަދަރުސާ ... (+3 more)` | 13 |
110
 
111
+ **Sample 2:** `ނިކަކޯޅި ބަވާސީ އަކީ ނިކަކޯޅިއެއްގެ ސިފައިގައި ފުރަގަސް ފަރާތުން ނިކުންނަ ބައްޔެ...`
112
 
113
  | Vocab | Tokens | Count |
114
  |-------|--------|-------|
115
+ | 8k | `▁ނިކ ަކޯ ޅި ▁ބ ަވާ ސީ ▁އަކީ ▁ނިކ ަކޯ ޅ ... (+9 more)` | 19 |
116
+ | 16k | `▁ނިކ ަކޯޅި ▁ބ ަވާ ސީ ▁އަކީ ▁ނިކ ަކޯ ޅ ިއެއްގެ ... (+6 more)` | 16 |
117
+ | 32k | `▁ނިކ ަކޯޅި ▁ބަވާސީ ▁އަކީ ▁ނިކ ަކޯ ޅިއެއްގެ ▁ސިފައިގައި ▁ފުރަގަސް ▁ފަރާތުން ... (+3 more)` | 13 |
118
+ | 64k | `▁ނިކަކޯޅި ▁ބަވާސީ ▁އަކީ ▁ނިކަކޯޅިއެއްގެ ▁ސިފައިގައި ▁ފުރަގަސް ▁ފަރާތުން ▁ނިކުންނަ ▁ބައްޔެކެވެ .` | 10 |
119
 
120
+ **Sample 3:** `ފައިފެޅުން އަކީ ބައްޔެއްގެ ސަބަބުން ފައިގެ ހުދުހަން އެކި ދިމަދމާލުން ކެނޑުމެވެ.`
121
 
122
  | Vocab | Tokens | Count |
123
  |-------|--------|-------|
124
+ | 8k | `▁ފައި ފ ެޅ ުން ▁އަކީ ▁ބައްޔެއްގެ ▁ސަބަބުން ▁ފައިގެ ▁ހުދ ުހ ... (+9 more)` | 19 |
125
+ | 16k | `▁ފައި ފ ެޅުން ▁އަކީ ▁ބައްޔެއްގެ ▁ސަބަބުން ▁ފައިގެ ▁ހުދ ުހ ަން ... (+8 more)` | 18 |
126
+ | 32k | `▁ފައިފ ެޅުން ▁އަކީ ▁ބައްޔެއްގެ ▁ސަބަބުން ▁ފައިގެ ▁ހުދުހ ަން ▁އެކި ▁ދިމަދ ... (+4 more)` | 14 |
127
+ | 64k | `▁ފައިފެޅުން ▁އަކީ ▁ބައްޔެއްގެ ▁ސަބަބުން ▁ފައިގެ ▁ހުދުހަން ▁އެކި ▁ދިމަދމާލުން ▁ކެނޑުމެވެ .` | 10 |
128
 
129
 
130
  ### Key Findings
131
 
132
+ - **Best Compression:** 64k achieves 5.583x compression
133
+ - **Lowest UNK Rate:** 8k with 0.4815% 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 | 10,033 | 13.29 | 18,085 | 11.2% | 34.3% |
151
+ | **2-gram** | Subword | 1,740 🏆 | 10.76 | 17,306 | 35.4% | 73.1% |
152
+ | **3-gram** | Word | 12,820 | 13.65 | 22,046 | 10.8% | 30.6% |
153
+ | **3-gram** | Subword | 11,965 | 13.55 | 83,683 | 14.8% | 40.7% |
154
+ | **4-gram** | Word | 44,408 | 15.44 | 64,258 | 6.5% | 16.2% |
155
+ | **4-gram** | Subword | 47,194 | 15.53 | 264,508 | 8.4% | 24.1% |
156
+ | **5-gram** | Word | 40,713 | 15.31 | 56,606 | 6.9% | 15.7% |
157
+ | **5-gram** | Subword | 104,406 | 16.67 | 409,837 | 5.5% | 16.8% |
158
 
159
  ### Top 5 N-grams by Size
160
 
161
+ **2-grams (Word):**
162
+
163
+ | Rank | N-gram | Count |
164
+ |------|--------|-------|
165
+ | 1 | `ވަނަ އަހަރު` | 1,832 |
166
+ | 2 | `ނުވަތަ އަކީ` | 707 |
167
+ | 3 | `ވަނަ އަހަރުގެ` | 673 |
168
+ | 4 | `ވަނަ ދުވަހެވެ` | 616 |
169
+ | 5 | `މީގެ އިތުރުން` | 596 |
170
+
171
+ **3-grams (Word):**
172
+
173
+ | Rank | N-gram | Count |
174
+ |------|--------|-------|
175
+ | 1 | `އަކީ މީލާދީ ކަލަންޑަރުގެ` | 375 |
176
+ | 2 | `ދުވަސްތަކާއި ފާހަގަ ކުރެވޭ` | 364 |
177
+ | 3 | `ބަންދު ދުވަސްތަކާއި ފާހަގަ` | 364 |
178
+ | 4 | `ފާހަގަ ކުރެވޭ ދުވަހެއްގެ` | 364 |
179
+ | 5 | `ކުރެވޭ ދުވަހެއްގެ ގޮތުގައި` | 364 |
180
+
181
+ **4-grams (Word):**
182
+
183
+ | Rank | N-gram | Count |
184
+ |------|--------|-------|
185
+ | 1 | `ފާހަގަ ކުރެވޭ ދުވަހެއްގެ ގޮތުގައި` | 364 |
186
+ | 2 | `ދުވަސްތަކާއި ފާހަގަ ކުރެވޭ ދުވަހެއްގެ` | 364 |
187
+ | 3 | `ބަންދު ދުވަސްތަކާއި ފާހަގަ ކުރެވޭ` | 364 |
188
+ | 4 | `އުފަންވި މީހުން މަރުވި މީހުން` | 349 |
189
+ | 5 | `މީހުން ބަންދު ދުވަސްތަކާއި ފާހަގަ` | 340 |
190
+
191
+ **5-grams (Word):**
192
+
193
+ | Rank | N-gram | Count |
194
+ |------|--------|-------|
195
+ | 1 | `ބަންދު ދުވަސްތަކާއި ފާހަގަ ކުރެވޭ ދުވަހެއްގެ` | 364 |
196
+ | 2 | `ދުވަސްތަކާއި ފާހަގަ ކުރެވޭ ދުވަހެއްގެ ގޮތުގައި` | 364 |
197
+ | 3 | `މީހުން ބަންދު ދުވަސްތަކާއި ފާހަގަ ކުރެވޭ` | 340 |
198
+ | 4 | `މަރުވި މީހުން ބަންދު ދުވަސްތަކާއި ފާހަގަ` | 339 |
199
+ | 5 | `މީހުން މަރުވި މީހުން ބަންދު ދުވަސްތަކާއި` | 329 |
200
+
201
+ **2-grams (Subword):**
202
+
203
+ | Rank | N-gram | Count |
204
+ |------|--------|-------|
205
+ | 1 | `ން _` | 90,135 |
206
+ | 2 | `ގެ _` | 83,101 |
207
+ | 3 | `. _` | 66,551 |
208
+ | 4 | `ވެ .` | 64,305 |
209
+ | 5 | `އި _` | 60,871 |
210
+
211
+ **3-grams (Subword):**
212
 
213
  | Rank | N-gram | Count |
214
  |------|--------|-------|
215
+ | 1 | `ވެ . _` | 61,497 |
216
+ | 2 | `އެ ވެ .` | 36,492 |
217
+ | 3 | `ގަ އި _` | 36,034 |
218
+ | 4 | `ތަ އް _` | 10,452 |
219
+ | 5 | `ކެ ވެ .` | 10,355 |
220
 
221
+ **4-grams (Subword):**
222
 
223
  | Rank | N-gram | Count |
224
  |------|--------|-------|
225
+ | 1 | `އެ ވެ . _` | 35,128 |
226
+ | 2 | `ކެ ވެ . _` | 9,815 |
227
+ | 3 | `_ އަ ދި _` | 9,086 |
228
+ | 4 | `ވެ . _ މި` | 8,503 |
229
+ | 5 | `ވެ . _ އެ` | 6,652 |
230
 
231
+ **5-grams (Subword):**
232
 
233
  | Rank | N-gram | Count |
234
  |------|--------|-------|
235
+ | 1 | `_ އެ ވެ . _` | 6,310 |
236
+ | 2 | `ވެ އެ ވެ . _` | 5,392 |
237
+ | 3 | `ގަ އެ ވެ . _` | 4,655 |
238
+ | 4 | `_ އެ ން މެ _` | 4,586 |
239
+ | 5 | `އެ ވެ . _ މި` | 4,463 |
240
 
241
 
242
  ### Key Findings
243
 
244
+ - **Best Perplexity:** 2-gram (subword) with 1,740
245
  - **Entropy Trend:** Decreases with larger n-grams (more predictable)
246
+ - **Coverage:** Top-1000 patterns cover ~17% 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.7502 | 1.682 | 4.34 | 120,955 | 25.0% |
263
+ | **1** | Subword | 1.3036 | 2.468 | 18.11 | 2,104 | 0.0% |
264
+ | **2** | Word | 0.1780 | 1.131 | 1.33 | 523,452 | 82.2% |
265
+ | **2** | Subword | 0.8357 | 1.785 | 4.91 | 38,101 | 16.4% |
266
+ | **3** | Word | 0.0519 | 1.037 | 1.08 | 692,308 | 94.8% |
267
+ | **3** | Subword | 0.5690 | 1.484 | 2.88 | 187,098 | 43.1% |
268
+ | **4** | Word | 0.0200 🏆 | 1.014 | 1.03 | 741,793 | 98.0% |
269
+ | **4** | Subword | 0.3828 | 1.304 | 1.92 | 538,145 | 61.7% |
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. `އަދި ބެންގާޅީ ފިލްމްތަކުގައި އެބަޔަކާއެކު ނ އަތޮޅުގައި މީހުން މަރުވި މީހުން ވިހަނީ ފަންސަވީސް އަހަރާ...`
278
+ 2. `އެވެ ސިސްޓެމިކް ލޫޕަސް އެރިތެމަޓޯސަސް ގެ ނަންދެވުނު މަޝްހޫރު ބުދު ހަރުކުރުމަށް ތައްޔާރު ކުރައްވައިގެ...`
279
+ 3. `އަކީ ޢަރަބީންގެ ގާތުގައި މިއީ ދުނިޔޭގައި 58 ވަނަ އަހަރާ ހަމައަށް މަސައްކަތްކުރައްވައިފައި ވަނީ އަމުރ...`
280
 
281
  **Context Size 2:**
282
 
283
+ 1. `ވަނަ އަހަރު ފެކަލްޓީ އޮފް އިންޖިނިއަރިންގ އެންޑް ޓެކްނޮލޮޖީ އާރްޔޫއީޓީ ސައިޚް މުޖީބުރު ރަޙްމާން ބަން...`
284
+ 2. `ނުވަތަ އަކީ މިޔަރުގެ ވައްތަރެކެވެ މިއީ އަތޮޅުން ބޭރުގައި ކުރާ ލޭނުގެ މަސްވެރިކަމުގައެވެ މިމަސް އެންމ...`
285
+ 3. `ވަނަ އަހަރުގެ ބޯހިމެނުމުގެ ނަތީޖާތައް ދައްކާގޮތުން މާޅޮސްމަޑުލު އުތުރުބުރީގެ އާބާދީ އިތުރުވަމުން ދިއ...`
286
 
287
  **Context Size 3:**
288
 
289
+ 1. `އަކީ މީލާދީ ކަލަންޑަރުގެ 146 ވަނަ ދުވަހެވެ ޙާދިސާތައް އުފަންވި މީހުން މަރުވި މީހުން ބަންދު ދުވަސްތަކ...`
290
+ 2. `ދުވަސްތަކާއި ފާހަގަ ކުރެވޭ ދުވަހެއްގެ ގޮތުގައި ދިވެހިރާއްޖެ މަސްވެރިންގެ ދުވަސް`
291
+ 3. `ބަންދު ދުވަސްތަކާއި ފާހަގަ ކުރެވޭ ދުވަހެއްގެ ގޮތުގައި ނޯވޭ ޔުނިއަން ޑިސޮލިއުޝަން ޑޭ ޖޫން 18 ސެސެލް ޤ...`
292
 
293
  **Context Size 4:**
294
 
295
+ 1. `ބަންދު ދުވަސްތަކާއި ފާހަގަ ކުރެވޭ ދުވަހެއްގެ ގޮތުގައި ދިވެހިރާއްޖެ ޖުމުހޫރީ ދުވަސް`
296
+ 2. `ދުވަސްތަކާއި ފާހަގަ ކުރެވޭ ދުވަހެއްގެ ގޮތުގައި ޖުލައި 4 އެމެރިކާގެ މިނިވަން ދުވަސް ޖުލައި 4 ފިލިޕީނޯ...`
297
+ 3. `އުފަންވި މީހުން މަރުވި މީހުން ބަންދު ދުވަސްތަކާއި ފާހަގަ ކުރެވޭ ދުވަހެއްގެ ގޮތުގައި ކުޑަކުދިންގެ ދުވ...`
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. `_ދެފައިން_އަދ._އަލް_ފައި_`
307
+ 2. `ން_ޒުވާ_ފައެވެ._މަރުނުވާ_e`
308
+ 3. `އި_ބޭބޭހެއުފެށިމަދުވަޑަކަލާގެ_`
309
+
310
+ **Context Size 2:**
311
+
312
+ 1. `ން_•_pectight:_މިސްކި`
313
+ 2. `ގެ_ކުރައްވަމުން_ރުސް_ގޮމާ_ދިރު`
314
+ 3. `._މިން_ކަރައާއި_އޮތް_އިންޑަރު`
315
+
316
+ **Context Size 3:**
317
+
318
+ 1. `ވެ._ކޯފުއްޕި_ޖެހުމުން_ބޭރުގައްޔާ`
319
+ 2. `ގައި_ޚިދުމަތްކުރައްވާފައެވެ._ވަނަ`
320
+ 3. `އެވެ._މިއީ_ފަރި_ރީކޯ_މޫސަބޭގެ_`
321
+
322
+ **Context Size 4:**
323
+
324
+ 1. `އެވެ._ނާސްޕަތީ_ގައި_އަޅުގަނޑުމެން`
325
+ 2. `ކެވެ._އެއީ_ރޭގަނޑު_ގިރާކުރި_ތަޖް`
326
+ 3. `_އަދި_ހޯދިފައެއް_ނުލިބި_އެވެ._އު`
327
 
328
 
329
  ### Key Findings
330
 
331
+ - **Best Predictability:** Context-4 (word) with 98.0% predictability
332
  - **Branching Factor:** Decreases with context size (more deterministic)
333
+ - **Memory Trade-off:** Larger contexts require more storage (538,145 contexts)
334
  - **Recommendation:** Context-3 or Context-4 for text generation
335
 
336
  ---
 
346
 
347
  | Metric | Value |
348
  |--------|-------|
349
+ | Vocabulary Size | 51,567 |
350
+ | Total Tokens | 801,622 |
351
+ | Mean Frequency | 15.55 |
352
  | Median Frequency | 3 |
353
+ | Frequency Std Dev | 104.10 |
354
 
355
  ### Most Common Words
356
 
357
  | Rank | Word | Frequency |
358
  |------|------|-----------|
359
+ | 1 | އަދި | 9,274 |
360
+ | 2 | އެވެ | 6,692 |
361
+ | 3 | އަކީ | 5,688 |
362
+ | 4 | ވަނަ | 5,329 |
363
+ | 5 | ނުވަތަ | 4,623 |
364
+ | 6 | ވެސް | 4,608 |
365
+ | 7 | އެންމެ | 4,606 |
366
+ | 8 | ގެ | 3,870 |
367
+ | 9 | މި | 3,411 |
368
+ | 10 | އާއި | 3,404 |
369
 
370
  ### Least Common Words (from vocabulary)
371
 
372
  | Rank | Word | Frequency |
373
  |------|------|-----------|
374
+ | 1 | ޤާނޫނެއްގައި | 2 |
375
+ | 2 | ކަނޑައަޅައިފައިވާ | 2 |
376
+ | 3 | އިސްތިއުނާފަށް | 2 |
377
+ | 4 | ތަޢާރުޟުވާކަމަށް | 2 |
378
+ | 5 | ޓްރައިބިއުނަލަކުން | 2 |
379
+ | 6 | އެންޓަޓެއިންމަންޓުން | 2 |
380
+ | 7 | costus | 2 |
381
+ | 8 | ހުއިސުނަކީ | 2 |
382
+ | 9 | fatah | 2 |
383
+ | 10 | ސަބްސްކްރައިބް | 2 |
384
 
385
  ### Zipf's Law Analysis
386
 
387
  | Metric | Value |
388
  |--------|-------|
389
+ | Zipf Coefficient | 0.9604 |
390
+ | R² (Goodness of Fit) | 0.990212 |
391
  | Adherence Quality | **excellent** |
392
 
393
  ### Coverage Analysis
394
 
395
  | Top N Words | Coverage |
396
  |-------------|----------|
397
+ | Top 100 | 21.5% |
398
+ | Top 1,000 | 48.5% |
399
+ | Top 5,000 | 71.9% |
400
+ | Top 10,000 | 81.3% |
401
 
402
  ### Key Findings
403
 
404
+ - **Zipf Compliance:** R²=0.9902 indicates excellent adherence to Zipf's law
405
+ - **High Frequency Dominance:** Top 100 words cover 21.5% of corpus
406
+ - **Long Tail:** 41,567 words needed for remaining 18.7% 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.8795 | 0.3207 | N/A | N/A |
432
+ | **mono_64d** | 64 | 0.8617 | 0.2441 | N/A | N/A |
433
+ | **mono_128d** | 128 | 0.6946 | 0.1877 | N/A | N/A |
434
+ | **aligned_32d** | 32 | 0.8795 🏆 | 0.3125 | 0.0040 | 0.0580 |
435
+ | **aligned_64d** | 64 | 0.8617 | 0.2426 | 0.0300 | 0.1720 |
436
+ | **aligned_128d** | 128 | 0.6946 | 0.1963 | 0.0620 | 0.2160 |
437
 
438
  ### Key Findings
439
 
440
+ - **Best Isotropy:** aligned_32d with 0.8795 (more uniform distribution)
441
+ - **Semantic Density:** Average pairwise similarity of 0.2507. Lower values indicate better semantic separation.
442
+ - **Alignment Quality:** Aligned models achieve up to 6.2% R@1 in cross-lingual retrieval.
443
+ - **Recommendation:** 128d aligned for best cross-lingual performance
444
 
445
  ---
446
+ ## 6. Morphological Analysis (Experimental)
447
+
448
+ This section presents an automated morphological analysis derived from the statistical divergence between word-level and subword-level models. By analyzing where subword predictability spikes and where word-level coverage fails, we can infer linguistic structures without supervised data.
449
+
450
+ ### 6.1 Productivity & Complexity
451
+
452
+ | Metric | Value | Interpretation | Recommendation |
453
+ |--------|-------|----------------|----------------|
454
+ | Productivity Index | **5.000** | High morphological productivity | Reliable analysis |
455
+ | Idiomaticity Gap | **-0.063** | Low formulaic content | - |
456
+
457
+ ### 6.2 Affix Inventory (Productive Units)
458
+
459
+ These are the most productive prefixes and suffixes identified by sampling the vocabulary for global substitutability patterns. A unit is considered an affix if stripping it leaves a valid stem that appears in other contexts.
460
+
461
+ #### Productive Prefixes
462
+ | Prefix | Examples |
463
+ |--------|----------|
464
+ | `-އެ` | އެންވައިރޮމަންޓަލް, އެތިސްޓުންނެވެ, އެދެބޭކަލުންގެ |
465
+ | `-އަ` | އަމަލުތައް, އަބްދުއްރަހުމާނު, އަހައްމާއިދީ |
466
+ | `-މަ` | މައްޗައް, މަދަވީ, މަސައްކަތްޕުޅާއި |
467
+ | `-އި` | އިއްވި, އިނާމެކެވެ, އިނބަރަސްކަލާނގެ |
468
+ | `-ބަ` | ބައްޕާފުޅެވެ, ބަށީގެ, ބަނޑުހައިވުން |
469
+ | `-މި` | މިޔަރުތައް, މިޑުލާ, މިޗިގަންގެ |
470
+
471
+ #### Productive Suffixes
472
+ | Suffix | Examples |
473
+ |--------|----------|
474
+ | `-ް` | ރަނގަޅުކޮށް, ތައިރޮޑް, ރަދީފް |
475
+ | `-ެ` | ބައްޕާފުޅެވެ, ޞޫފީންގެ, މުޅިރާއްޖޭގެ |
476
+ | `-ި` | ގުޅިފައި, ކުރީކޮޅުގަޔާއި, ކާއިނާތުގައި |
477
+ | `-ން` | ބަނޑުހައިވުން, ފޮނުވާލުމުން, ދޭކަން |
478
+ | `-ގެ` | ޞޫފީންގެ, މުޅިރާއްޖޭގެ, ބަށީގެ |
479
+ | `-އި` | ގުޅިފައި, ކުރީކޮޅުގަޔާއި, ކާއިނާތުގައި |
480
+ | `-ވެ` | ބައްޕާފުޅެވެ, އުފަންކޮށްފައެވެ, ތިއޭޓަރެވެ |
481
+ | `-ެވެ` | ބައްޕާފުޅެވެ, އުފަންކޮށްފައެވެ, ތިއޭޓަރެވެ |
482
+
483
+ ### 6.3 Bound Stems (Lexical Roots)
484
+
485
+ 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.
486
+
487
+ *No significant bound stems detected.*
488
+
489
+
490
+ ### 6.4 Affix Compatibility (Co-occurrence)
491
+
492
+ This table shows which prefixes and suffixes most frequently co-occur on the same stems, revealing the 'stacking' rules of the language's morphology.
493
+
494
+ | Prefix | Suffix | Frequency | Examples |
495
+ |--------|--------|-----------|----------|
496
+ | `-އެ` | `-ް` | 155 words | އެއަކުން, އެކަކަށް |
497
+ | `-މަ` | `-ް` | 107 words | މަސްތަކެއް, މަރާގުޅޭގޮތުން |
498
+ | `-އަ` | `-ް` | 104 words | އަހަރުތަކަކަށް, އަލްއުސްތާޒް |
499
+ | `-އަ` | `-ެ` | 102 words | އަންތަނަނާރިވޯއެވެ, އަކަށެވެ |
500
+ | `-އި` | `-ް` | 91 words | އިތުރުވާން, އިއްޒަތްތެރިކަން |
501
+ | `-އެ` | `-ެ` | 87 words | އެމެރިކާގައެވެ, އެއްޗެވެ |
502
+ | `-މި` | `-ް` | 74 words | މިޞްރުން, މިޞްރަށް |
503
+ | `-މަ` | `-ެ` | 71 words | މަދޫގެ, މަރުހަލާއެކެވެ |
504
+ | `-ބަ` | `-ް` | 69 words | ބަހާއެއް, ބަދަލުކޮށްގެން |
505
+ | `-ބަ` | `-ެ` | 61 words | ބަނޑޭރިގެއިންނެވެ, ބަދަރުންނެވެ |
506
+
507
+ ### 6.5 Recursive Morpheme Segmentation
508
+
509
+ Using **Recursive Hierarchical Substitutability**, we decompose complex words into their constituent morphemes. This approach handles nested affixes (e.g., `prefix-prefix-root-suffix`).
510
+
511
+ | Word | Suggested Split | Confidence | Stem |
512
+ |------|-----------------|------------|------|
513
+ | ދިމާވެގެން | **`ދިމާ-ވެ-ގެ-ން`** | 7.5 | `ދިމާ` |
514
+ | ބުރައިގެން | **`ބުރަ-އި-ގެ-ން`** | 7.5 | `ބުރަ` |
515
+ | މީހުންނާއިގެން | **`މީހުންނާ-އި-ގެ-ން`** | 7.5 | `މީހުންނާ` |
516
+ | ބައްދަލުވެގެން | **`ބަ-އްދަލު-ވެ-ގެ-ން`** | 6.0 | `އްދަލު` |
517
+ | އެއްކޮށްގެން | **`އެ-އްކޮ-ށް-ގެ-ން`** | 6.0 | `އްކޮ` |
518
+ | އަނބުރައިގެން | **`އަ-ނބުރ-ައި-ގެ-ން`** | 6.0 | `ނބުރ` |
519
+ | ގެއްލިގެން | **`ގެއްލި-ގެ-ން`** | 6.0 | `ގެއްލި` |
520
+ | އެދަރިފުޅު | **`އެ-ދަރިފުޅު`** | 4.5 | `ދަރިފުޅު` |
521
+ | ބްލޮކޭޑްގެ | **`ބްލޮކޭޑް-ގެ`** | 4.5 | `ބްލޮކޭޑް` |
522
+ | ޤުރްއާނާއި | **`ޤުރްއާނާ-އި`** | 4.5 | `ޤުރްއާނާ` |
523
+ | ޚިތާނުކޮށްގެން | **`ޚިތާނުކޮ-ށް-ގެ-ން`** | 4.5 | `ޚިތާނުކޮ` |
524
+ | ވިސްނައިގެން | **`ވިސްނ-ައި-ގެ-ން`** | 4.5 | `ވިސްނ` |
525
+ | މަޚްލޫޤުންގެ | **`މަ-ޚްލޫޤު-ން-ގެ`** | 4.5 | `ޚްލޫޤު` |
526
+ | ކޮލަންބިޔާގެ | **`ކޮލަންބިޔާ-ގެ`** | 4.5 | `ކޮލަންބިޔާ` |
527
+ | މައިގަނޑަކަށް | **`މަ-އި-ގަނޑަކަ-ށް`** | 4.5 | `ގަނޑަކަ` |
528
+
529
+ ### 6.6 Linguistic Interpretation
530
+
531
+ > **Automated Insight:**
532
+ The language Divehi shows high morphological productivity. The subword models are significantly more efficient than word models, suggesting a rich system of affixation or compounding.
533
+
534
+ ---
535
+ ## 7. Summary & Recommendations
536
 
537
  ![Performance Dashboard](visualizations/performance_dashboard.png)
538
 
 
540
 
541
  | Component | Recommended | Rationale |
542
  |-----------|-------------|-----------|
543
+ | Tokenizer | **64k BPE** | Best compression (5.58x) |
544
+ | N-gram | **2-gram** | Lowest perplexity (1,740) |
545
+ | Markov | **Context-4** | Highest predictability (98.0%) |
546
  | Embeddings | **100d** | Balanced semantic capture and isotropy |
547
 
548
+
549
  ---
550
  ## Appendix: Metrics Glossary & Interpretation Guide
551
 
 
735
  author = {Kamali, Omar},
736
  title = {Wikilangs: Open NLP Models for Wikipedia Languages},
737
  year = {2025},
738
+ doi = {10.5281/zenodo.18073153},
739
+ publisher = {Zenodo},
740
  url = {https://huggingface.co/wikilangs}
741
  institution = {Omneity Labs}
742
  }
 
752
  - 🤗 Models: [huggingface.co/wikilangs](https://huggingface.co/wikilangs)
753
  - 📊 Data: [wikipedia-monthly](https://huggingface.co/datasets/omarkamali/wikipedia-monthly)
754
  - 👤 Author: [Omar Kamali](https://huggingface.co/omarkamali)
755
+ - 🤝 Sponsor: [Featherless AI](https://featherless.ai)
756
  ---
757
  *Generated by Wikilangs Models Pipeline*
758
 
759
+ *Report Date: 2026-01-04 02:56:36*
models/embeddings/aligned/dv_128d.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d1d482200b27a7aa72f7fc803a149cd0e1e1d1c25bd6b78e00d6d126d37be02b
3
+ size 1045353050
models/embeddings/aligned/dv_128d.meta.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"lang": "dv", "dim": 128, "max_seq_len": 512, "is_aligned": true}
models/embeddings/aligned/dv_128d.projection.npy ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e8fa99a544b6ec84b3887a5ae537884b9e651d21742505a171e47394508028c5
3
+ size 65664
models/embeddings/aligned/dv_128d_metadata.json ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "language": "dv",
3
+ "dimension": 128,
4
+ "version": "aligned",
5
+ "hub_language": "en",
6
+ "seed_vocab_size": 1132,
7
+ "vocab_size": 20300
8
+ }
models/embeddings/aligned/dv_32d.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:594a1419ccffbac3d29e046ce8eaca474f411462e84ed39a457ecd7f140a8e05
3
+ size 261762650
models/embeddings/aligned/dv_32d.meta.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"lang": "dv", "dim": 32, "max_seq_len": 512, "is_aligned": true}
models/embeddings/aligned/dv_32d.projection.npy ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ba8d7cddfd89a1496933bef92bb6ee4363ef051141f0efea548dbf174a175b59
3
+ size 4224
models/embeddings/aligned/dv_32d_metadata.json ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "language": "dv",
3
+ "dimension": 32,
4
+ "version": "aligned",
5
+ "hub_language": "en",
6
+ "seed_vocab_size": 1132,
7
+ "vocab_size": 20300
8
+ }
models/embeddings/aligned/dv_64d.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a467cbbe2282b7902ce905c3c43004730ef5f7a2b508bec086aacdcbcfb0ca55
3
+ size 522959450
models/embeddings/aligned/dv_64d.meta.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"lang": "dv", "dim": 64, "max_seq_len": 512, "is_aligned": true}
models/embeddings/aligned/dv_64d.projection.npy ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:7d256e5a3e16132f82190dd9f2180269d7e3dc932331d58c7bf89cedf4e2f3b4
3
+ size 16512
models/embeddings/aligned/dv_64d_metadata.json ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "language": "dv",
3
+ "dimension": 64,
4
+ "version": "aligned",
5
+ "hub_language": "en",
6
+ "seed_vocab_size": 1132,
7
+ "vocab_size": 20300
8
+ }
models/embeddings/monolingual/dv_128d.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:17f06f2e5b33a30261c4b7b077e79cbd4c974eed9dd568506a068811d5b85523
3
- size 1045966622
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d1d482200b27a7aa72f7fc803a149cd0e1e1d1c25bd6b78e00d6d126d37be02b
3
+ size 1045353050
models/embeddings/monolingual/dv_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": 20888
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": 20300
15
  }
models/embeddings/monolingual/dv_32d.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:989d442fa29ab19c3397905afc409c5ea3fb2ac3f7ced4ecef5c5b59e58881c8
3
- size 261924638
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:594a1419ccffbac3d29e046ce8eaca474f411462e84ed39a457ecd7f140a8e05
3
+ size 261762650
models/embeddings/monolingual/dv_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": 20888
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": 20300
15
  }
models/embeddings/monolingual/dv_64d.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:f4c8f3716afafb553389e17fdcee49ce632da31ea6cd2b808bd64ec68e7bdece
3
- size 523271966
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a467cbbe2282b7902ce905c3c43004730ef5f7a2b508bec086aacdcbcfb0ca55
3
+ size 522959450
models/embeddings/monolingual/dv_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": 20888
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": 20300
15
  }
models/subword_markov/dv_markov_ctx1_subword.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:3b530227d1a204f72f8b65de1a305ae378f77c4e8b2924dfc23dbddc8dd38662
3
- size 81302
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b3307450866517bca770b8ff37162d57a876a6d14f5eafee3aa14b0a46482be2
3
+ size 267538
models/subword_markov/dv_markov_ctx1_subword_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "context_size": 1,
3
  "variant": "subword",
4
  "language": "dv",
5
- "unique_contexts": 1139,
6
- "total_transitions": 8248184
7
  }
 
2
  "context_size": 1,
3
  "variant": "subword",
4
  "language": "dv",
5
+ "unique_contexts": 2104,
6
+ "total_transitions": 4608454
7
  }
models/subword_markov/dv_markov_ctx2_subword.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:e3eb962d2bf0387e41cfec8127109760ff53e27cb9bee987ddb74ecf1bca3092
3
- size 447616
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a8b21c8b0f713f90c4485be3e6a24dc1c0f68d648f081cf2cca0f751cbd80d57
3
+ size 1420180
models/subword_markov/dv_markov_ctx2_subword_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "context_size": 2,
3
  "variant": "subword",
4
  "language": "dv",
5
- "unique_contexts": 9934,
6
- "total_transitions": 8243619
7
  }
 
2
  "context_size": 2,
3
  "variant": "subword",
4
  "language": "dv",
5
+ "unique_contexts": 38101,
6
+ "total_transitions": 4604081
7
  }
models/subword_markov/dv_markov_ctx3_subword.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:5988c0a1488f6ee94f379fe5d3c8e0f141b7cdd8004be19dd66020914eed032a
3
- size 1540276
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:021ae456a8f45c05dc35ca22c3f068d9f4a571bb089760721df86bea334a49ff
3
+ size 4845580
models/subword_markov/dv_markov_ctx3_subword_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "context_size": 3,
3
  "variant": "subword",
4
  "language": "dv",
5
- "unique_contexts": 54858,
6
- "total_transitions": 8239054
7
  }
 
2
  "context_size": 3,
3
  "variant": "subword",
4
  "language": "dv",
5
+ "unique_contexts": 187098,
6
+ "total_transitions": 4599708
7
  }
models/subword_markov/dv_markov_ctx4_subword.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:385dd9376ce9fb1f3e0ab8e1dfb784f0bd42cb629f08765bdeacbdd9c859e5d7
3
- size 4185420
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2595e3f88e4d3ff88ab37af198725ec08c42c91cbb5e084a26bf6648e10b5907
3
+ size 11840425
models/subword_markov/dv_markov_ctx4_subword_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "context_size": 4,
3
  "variant": "subword",
4
  "language": "dv",
5
- "unique_contexts": 192399,
6
- "total_transitions": 8234489
7
  }
 
2
  "context_size": 4,
3
  "variant": "subword",
4
  "language": "dv",
5
+ "unique_contexts": 538145,
6
+ "total_transitions": 4595335
7
  }
models/subword_ngram/dv_2gram_subword.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:dc947db07c0da034539c406fe8a1f79e854caae8ba0e21db7a629f743943f4f4
3
- size 56113
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6649c852738e4dca60b7f09b5812cb6575f775f787771a2ea73faa04f07e9760
3
+ size 243268
models/subword_ngram/dv_2gram_subword_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "n": 2,
3
  "variant": "subword",
4
  "language": "dv",
5
- "unique_ngrams": 4183,
6
- "total_ngrams": 8248184
7
  }
 
2
  "n": 2,
3
  "variant": "subword",
4
  "language": "dv",
5
+ "unique_ngrams": 17306,
6
+ "total_ngrams": 4608454
7
  }
models/subword_ngram/dv_3gram_subword.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:2de063fc8edb0676cdad6e6286041bbe5f0a9cc4a2d60744c57758a2f1b512be
3
- size 373741
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:df7b26d1b6de16d1112f28a010e69200e2c0ce6f103032838409f56593466deb
3
+ size 1204128
models/subword_ngram/dv_3gram_subword_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "n": 3,
3
  "variant": "subword",
4
  "language": "dv",
5
- "unique_ngrams": 28100,
6
- "total_ngrams": 8243619
7
  }
 
2
  "n": 3,
3
  "variant": "subword",
4
  "language": "dv",
5
+ "unique_ngrams": 83683,
6
+ "total_ngrams": 4604081
7
  }
models/subword_ngram/dv_4gram_subword.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:8a03c4da24aa6e3cbafac8d2e54359f6953d2a058be2d361e5f00d8b80e16540
3
- size 1401587
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a5c0fbfd42d7e89cc89ba25b9c4d8728ed0ab955caf2c9f43e8175c41a6f2aa5
3
+ size 4016880
models/subword_ngram/dv_4gram_subword_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "n": 4,
3
  "variant": "subword",
4
  "language": "dv",
5
- "unique_ngrams": 111102,
6
- "total_ngrams": 8239054
7
  }
 
2
  "n": 4,
3
  "variant": "subword",
4
  "language": "dv",
5
+ "unique_ngrams": 264508,
6
+ "total_ngrams": 4599708
7
  }
models/subword_ngram/dv_5gram_subword.parquet ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e4dbc2c588c7c15676a1b44a5b49e6f4a783509de7b78755d365a11101ee245e
3
+ size 6757063
models/subword_ngram/dv_5gram_subword_metadata.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "n": 5,
3
+ "variant": "subword",
4
+ "language": "dv",
5
+ "unique_ngrams": 409837,
6
+ "total_ngrams": 4595335
7
+ }
models/tokenizer/dv_tokenizer_16k.model CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:2b009d0f5075910344a5ec70654b5bb2f1453e75fdf1995842ff06f0a18b68e9
3
- size 613437
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d1c9eb7c4be528e9f39b3f1346888b36e643e65c0a594d6b6ed08c5ee650df2f
3
+ size 613254
models/tokenizer/dv_tokenizer_16k.vocab CHANGED
The diff for this file is too large to render. See raw diff
 
models/tokenizer/dv_tokenizer_32k.model CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:ee60e395f3e281dda1c84ee287ea26df87d132e2cba1b17e96eb62b98922ba28
3
- size 1013278
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:537aa90800cf8469cedd1c39978c264e9cf723ca276651647b0b88b09511d4c8
3
+ size 1017550
models/tokenizer/dv_tokenizer_32k.vocab CHANGED
The diff for this file is too large to render. See raw diff
 
models/tokenizer/dv_tokenizer_64k.model CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:da10dcfbcb21fe494de6a305e8ddfbe3a3b893d20e2f3ce5944c6d8f420440a5
3
- size 1826708
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:15f182e34a936d64a09249529cf4fe6bd9d73e28fec863770c9e5da43d100863
3
+ size 1888184
models/tokenizer/dv_tokenizer_64k.vocab CHANGED
The diff for this file is too large to render. See raw diff
 
models/tokenizer/dv_tokenizer_8k.model CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:7360478c29b2bdf38819aa24a0e676d54c3133a34a63adb669179db4dcfaa256
3
- size 419002
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:abd9d7c991e353b6cabc7362f2ea57937d0e4a80c23e7aa9fc3b342306f4c49c
3
+ size 420093
models/tokenizer/dv_tokenizer_8k.vocab CHANGED
The diff for this file is too large to render. See raw diff
 
models/vocabulary/dv_vocabulary.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:78a5a307e9810e9b095653562c638e91d2a71e0b2809564df0072f0c05d3e27b
3
- size 100935
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9b2b9d73aea17706d0f62012343fbbfcd863ec8856f63f71c43a55da5fc7bf73
3
+ size 1042810
models/vocabulary/dv_vocabulary_metadata.json CHANGED
@@ -1,16 +1,17 @@
1
  {
2
  "language": "dv",
3
- "vocabulary_size": 6434,
 
4
  "statistics": {
5
- "type_token_ratio": 0.004362639272805053,
6
  "coverage": {
7
- "top_100": 0.9816569669481213,
8
- "top_1000": 0.9919847241323944,
9
- "top_5000": 0.9966653223795554,
10
- "top_10000": 0.9985200350187273
11
  },
12
- "hapax_count": 8700,
13
- "hapax_ratio": 0.5748645434121845,
14
- "total_documents": 4565
15
  }
16
  }
 
1
  {
2
  "language": "dv",
3
+ "vocabulary_size": 51567,
4
+ "variant": "full",
5
  "statistics": {
6
+ "type_token_ratio": 0.13912746062370807,
7
  "coverage": {
8
+ "top_100": 0.19776924109894373,
9
+ "top_1000": 0.4462941007009284,
10
+ "top_5000": 0.6616536952252623,
11
+ "top_10000": 0.7476577375862674
12
  },
13
+ "hapax_count": 69651,
14
+ "hapax_ratio": 0.5745928822452111,
15
+ "total_documents": 4373
16
  }
17
  }
models/word_markov/dv_markov_ctx1_word.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:88a9fe6cb63c2277dd80fc088352c0625dfd2fa4ff7477a1b0f56bdee4ab18ce
3
- size 505042
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:9292d565add8f3b46b5a81eb5592ad8584c8cfb75ba0ea0bb8cc7bd71589dd57
3
+ size 8185665
models/word_markov/dv_markov_ctx1_word_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "context_size": 1,
3
  "variant": "word",
4
  "language": "dv",
5
- "unique_contexts": 15381,
6
- "total_transitions": 7006421
7
  }
 
2
  "context_size": 1,
3
  "variant": "word",
4
  "language": "dv",
5
+ "unique_contexts": 120955,
6
+ "total_transitions": 866900
7
  }
models/word_markov/dv_markov_ctx2_word.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:655358b5e277faeeb357b22e4f035c2e76a94c1762518ad441fd4c2fdae93abb
3
- size 1283233
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3102b35e30e4b8fc34cbca97b08009b1cd7f6b99406e4a8ae1539150f5abcc08
3
+ size 19496785
models/word_markov/dv_markov_ctx2_word_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "context_size": 2,
3
  "variant": "word",
4
  "language": "dv",
5
- "unique_contexts": 58771,
6
- "total_transitions": 7001856
7
  }
 
2
  "context_size": 2,
3
  "variant": "word",
4
  "language": "dv",
5
+ "unique_contexts": 523452,
6
+ "total_transitions": 862527
7
  }