omarkamali commited on
Commit
b0be5c4
·
verified ·
1 Parent(s): 77a2691

Upload all models and assets for bm (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 +208 -169
  3. models/embeddings/aligned/bm_128d.bin +3 -0
  4. models/embeddings/aligned/bm_128d.meta.json +1 -0
  5. models/embeddings/aligned/bm_128d.projection.npy +3 -0
  6. models/embeddings/aligned/bm_128d_metadata.json +8 -0
  7. models/embeddings/aligned/bm_32d.bin +3 -0
  8. models/embeddings/aligned/bm_32d.meta.json +1 -0
  9. models/embeddings/aligned/bm_32d.projection.npy +3 -0
  10. models/embeddings/aligned/bm_32d_metadata.json +8 -0
  11. models/embeddings/aligned/bm_64d.bin +3 -0
  12. models/embeddings/aligned/bm_64d.meta.json +1 -0
  13. models/embeddings/aligned/bm_64d.projection.npy +3 -0
  14. models/embeddings/aligned/bm_64d_metadata.json +8 -0
  15. models/embeddings/monolingual/bm_128d.bin +2 -2
  16. models/embeddings/monolingual/bm_128d_metadata.json +1 -1
  17. models/embeddings/monolingual/bm_32d.bin +2 -2
  18. models/embeddings/monolingual/bm_32d_metadata.json +1 -1
  19. models/embeddings/monolingual/bm_64d.bin +2 -2
  20. models/embeddings/monolingual/bm_64d_metadata.json +1 -1
  21. models/subword_markov/bm_markov_ctx1_subword.parquet +2 -2
  22. models/subword_markov/bm_markov_ctx1_subword_metadata.json +2 -2
  23. models/subword_markov/bm_markov_ctx2_subword.parquet +2 -2
  24. models/subword_markov/bm_markov_ctx2_subword_metadata.json +2 -2
  25. models/subword_markov/bm_markov_ctx3_subword.parquet +2 -2
  26. models/subword_markov/bm_markov_ctx3_subword_metadata.json +2 -2
  27. models/subword_markov/bm_markov_ctx4_subword.parquet +2 -2
  28. models/subword_markov/bm_markov_ctx4_subword_metadata.json +2 -2
  29. models/subword_ngram/bm_2gram_subword.parquet +2 -2
  30. models/subword_ngram/bm_2gram_subword_metadata.json +2 -2
  31. models/subword_ngram/bm_3gram_subword.parquet +2 -2
  32. models/subword_ngram/bm_3gram_subword_metadata.json +2 -2
  33. models/subword_ngram/bm_4gram_subword.parquet +2 -2
  34. models/subword_ngram/bm_4gram_subword_metadata.json +2 -2
  35. models/subword_ngram/bm_5gram_subword.parquet +3 -0
  36. models/subword_ngram/bm_5gram_subword_metadata.json +7 -0
  37. models/tokenizer/bm_tokenizer_16k.model +2 -2
  38. models/tokenizer/bm_tokenizer_16k.vocab +0 -0
  39. models/tokenizer/bm_tokenizer_32k.model +2 -2
  40. models/tokenizer/bm_tokenizer_32k.vocab +0 -0
  41. models/tokenizer/bm_tokenizer_8k.model +2 -2
  42. models/tokenizer/bm_tokenizer_8k.vocab +0 -0
  43. models/vocabulary/bm_vocabulary.parquet +2 -2
  44. models/vocabulary/bm_vocabulary_metadata.json +9 -9
  45. models/word_markov/bm_markov_ctx1_word.parquet +2 -2
  46. models/word_markov/bm_markov_ctx1_word_metadata.json +2 -2
  47. models/word_markov/bm_markov_ctx2_word.parquet +2 -2
  48. models/word_markov/bm_markov_ctx2_word_metadata.json +2 -2
  49. models/word_markov/bm_markov_ctx3_word.parquet +2 -2
  50. models/word_markov/bm_markov_ctx3_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: bm
3
- language_name: BM
4
  language_family: atlantic_other
5
  tags:
6
  - wikilangs
@@ -10,11 +10,21 @@ tags:
10
  - n-gram
11
  - markov
12
  - wikipedia
 
 
 
 
 
 
 
 
 
 
13
  - monolingual
14
  - family-atlantic_other
15
  license: mit
16
  library_name: wikilangs
17
- pipeline_tag: feature-extraction
18
  datasets:
19
  - omarkamali/wikipedia-monthly
20
  dataset_info:
@@ -23,20 +33,20 @@ dataset_info:
23
  metrics:
24
  - name: best_compression_ratio
25
  type: compression
26
- value: 4.016
27
  - name: best_isotropy
28
  type: isotropy
29
- value: 0.2668
30
  - name: vocabulary_size
31
  type: vocab
32
  value: 0
33
  generated: 2026-01-03
34
  ---
35
 
36
- # BM - Wikilangs Models
37
  ## Comprehensive Research Report & Full Ablation Study
38
 
39
- This repository contains NLP models trained and evaluated by Wikilangs, specifically on **BM** Wikipedia data.
40
  We analyze tokenizers, n-gram models, Markov chains, vocabulary statistics, and word embeddings.
41
 
42
  ## 📋 Repository Contents
@@ -60,7 +70,7 @@ We analyze tokenizers, n-gram models, Markov chains, vocabulary statistics, and
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)
@@ -80,43 +90,43 @@ We analyze tokenizers, n-gram models, Markov chains, vocabulary statistics, and
80
 
81
  | Vocab Size | Compression | Avg Token Len | UNK Rate | Total Tokens |
82
  |------------|-------------|---------------|----------|--------------|
83
- | **8k** | 3.547x | 3.56 | 1.4000% | 104,860 |
84
- | **16k** | 3.831x | 3.84 | 1.5119% | 97,096 |
85
- | **32k** | 4.016x 🏆 | 4.03 | 1.5853% | 92,603 |
86
 
87
  ### Tokenization Examples
88
 
89
  Below are sample sentences tokenized with each vocabulary size:
90
 
91
- **Sample 1:** `Denver ye Amerika ka Kelenyalen Jamanaw ka dugu ye. ka Kelenyalen Jamanaw ka dug...`
92
 
93
  | Vocab | Tokens | Count |
94
  |-------|--------|-------|
95
- | 8k | `▁den ver ▁ye ▁amerikaka ▁kelenyalenjamanawka ▁dugu ▁ye ... (+6 more)` | 16 |
96
- | 16k | `▁den ver ▁yeamerika ▁kakelenyalenjamanaw ▁ka ▁dugu ▁ye ... (+6 more)` | 16 |
97
- | 32k | `▁denver ▁ye ▁amerikaka ▁kelenyalenjamanawka ▁dugu ▁ye . ... (+5 more)` | 15 |
98
 
99
- **Sample 2:** `Dakar ye Senegali faamadugu ye. A be Atlantiki kɔgɔji da la. thumb|Dakar-Indépen...`
100
 
101
  | Vocab | Tokens | Count |
102
  |-------|--------|-------|
103
- | 8k | `▁dakar ▁ye ▁senegalifaama dugu ▁ye . ▁a ▁be ▁atlantiki ... (+19 more)` | 29 |
104
- | 16k | `▁dakar ▁ye ▁senegalifaamadugu ▁ye . ▁a ▁be ▁atlantiki ▁kɔgɔji ... (+12 more)` | 22 |
105
- | 32k | `▁dakar ▁ye ▁senegalifaamadugu ▁ye . ▁a ▁be ▁atlantiki ▁kɔgɔji ... (+11 more)` | 21 |
106
 
107
- **Sample 3:** `MugukɔnkɔnBailleul, Charles. Dictionnaire français-bambara. Bamako: Éditions Don...`
108
 
109
  | Vocab | Tokens | Count |
110
  |-------|--------|-------|
111
- | 8k | `▁mugu kɔnkɔnbailleul , ▁charles . ▁dictionnaire ▁français - bambara . ... (+7 more)` | 17 |
112
- | 16k | `▁mugu kɔnkɔnbailleul , ▁charles . ▁dictionnaire ▁français - bambara . ... (+7 more)` | 17 |
113
- | 32k | `▁mugu kɔnkɔnbailleul , ▁charles . ▁dictionnaire ▁français - bambara . ... (+7 more)` | 17 |
114
 
115
 
116
  ### Key Findings
117
 
118
- - **Best Compression:** 32k achieves 4.016x compression
119
- - **Lowest UNK Rate:** 8k with 1.4000% unknown tokens
120
  - **Trade-off:** Larger vocabularies improve compression but increase model size
121
  - **Recommendation:** 32k vocabulary provides optimal balance for production use
122
 
@@ -133,12 +143,14 @@ Below are sample sentences tokenized with each vocabulary size:
133
 
134
  | N-gram | Variant | Perplexity | Entropy | Unique N-grams | Top-100 Coverage | Top-1000 Coverage |
135
  |--------|---------|------------|---------|----------------|------------------|-------------------|
136
- | **2-gram** | Word | 923 | 9.85 | 2,067 | 40.5% | 82.4% |
137
- | **2-gram** | Subword | 272 🏆 | 8.09 | 1,826 | 67.7% | 98.7% |
138
- | **3-gram** | Word | 775 | 9.60 | 2,207 | 44.0% | 78.6% |
139
- | **3-gram** | Subword | 1,884 | 10.88 | 9,873 | 29.9% | 74.7% |
140
- | **4-gram** | Word | 2,048 | 11.00 | 5,635 | 33.1% | 51.1% |
141
- | **4-gram** | Subword | 8,105 | 12.98 | 35,658 | 14.6% | 47.0% |
 
 
142
 
143
  ### Top 5 N-grams by Size
144
 
@@ -146,68 +158,88 @@ Below are sample sentences tokenized with each vocabulary size:
146
 
147
  | Rank | N-gram | Count |
148
  |------|--------|-------|
149
- | 1 | `ka dugu` | 526 |
150
- | 2 | `charles dictionnaire` | 419 |
151
- | 3 | `dictionnaire français` | 419 |
152
- | 4 | `français bambara` | 419 |
153
- | 5 | `bamako éditions` | 419 |
154
 
155
  **3-grams (Word):**
156
 
157
  | Rank | N-gram | Count |
158
  |------|--------|-------|
159
- | 1 | `bamako éditions donniya` | 419 |
160
- | 2 | `éditions donniya isbn` | 419 |
161
- | 3 | `dictionnaire français bambara` | 419 |
162
  | 4 | `bambara bamako éditions` | 419 |
163
- | 5 | `charles dictionnaire français` | 419 |
164
 
165
  **4-grams (Word):**
166
 
167
  | Rank | N-gram | Count |
168
  |------|--------|-------|
169
- | 1 | `dictionnaire français bambara bamako` | 419 |
170
- | 2 | `bamako éditions donniya isbn` | 419 |
171
- | 3 | `bambara bamako éditions donniya` | 419 |
172
- | 4 | `français bambara bamako éditions` | 419 |
173
  | 5 | `charles dictionnaire français bambara` | 419 |
174
 
 
 
 
 
 
 
 
 
 
 
175
  **2-grams (Subword):**
176
 
177
  | Rank | N-gram | Count |
178
  |------|--------|-------|
179
- | 1 | `a _` | 23,595 |
180
- | 2 | `_ k` | 13,733 |
181
- | 3 | `a n` | 13,570 |
182
- | 4 | `n _` | 12,447 |
183
- | 5 | `i _` | 9,856 |
184
 
185
  **3-grams (Subword):**
186
 
187
  | Rank | N-gram | Count |
188
  |------|--------|-------|
189
- | 1 | `_ k a` | 6,371 |
190
- | 2 | `k a _` | 4,967 |
191
- | 3 | `_ y e` | 4,581 |
192
- | 4 | `a n _` | 4,011 |
193
- | 5 | `n i _` | 3,940 |
194
 
195
  **4-grams (Subword):**
196
 
197
  | Rank | N-gram | Count |
198
  |------|--------|-------|
199
- | 1 | `_ k a _` | 4,307 |
200
- | 2 | `_ y e _` | 3,197 |
201
- | 3 | `_ b ɛ _` | 1,818 |
202
- | 4 | `_ n i _` | 1,809 |
203
- | 5 | `_ m i n` | 1,781 |
 
 
 
 
 
 
 
 
 
 
204
 
205
 
206
  ### Key Findings
207
 
208
- - **Best Perplexity:** 2-gram (subword) with 272
209
  - **Entropy Trend:** Decreases with larger n-grams (more predictable)
210
- - **Coverage:** Top-1000 patterns cover ~47% of corpus
211
  - **Recommendation:** 4-gram or 5-gram for best predictive performance
212
 
213
  ---
@@ -223,14 +255,14 @@ Below are sample sentences tokenized with each vocabulary size:
223
 
224
  | Context | Variant | Avg Entropy | Perplexity | Branching Factor | Unique Contexts | Predictability |
225
  |---------|---------|-------------|------------|------------------|-----------------|----------------|
226
- | **1** | Word | 0.5956 | 1.511 | 3.32 | 17,657 | 40.4% |
227
- | **1** | Subword | 1.1635 | 2.240 | 8.41 | 480 | 0.0% |
228
- | **2** | Word | 0.2005 | 1.149 | 1.41 | 58,338 | 80.0% |
229
- | **2** | Subword | 0.9884 | 1.984 | 5.02 | 4,032 | 1.2% |
230
- | **3** | Word | 0.0636 | 1.045 | 1.10 | 81,761 | 93.6% |
231
- | **3** | Subword | 0.7361 | 1.666 | 3.15 | 20,227 | 26.4% |
232
- | **4** | Word | 0.0198 🏆 | 1.014 | 1.03 | 89,097 | 98.0% |
233
- | **4** | Subword | 0.5022 | 1.416 | 2.09 | 63,561 | 49.8% |
234
 
235
  ### Generated Text Samples (Word-based)
236
 
@@ -238,27 +270,27 @@ Below are text samples generated from each word-based Markov chain model:
238
 
239
  **Context Size 1:**
240
 
241
- 1. `ka fasojamana ye yɛrɛmahɔrɔnya jamanaw ka bi bawo wariko gɛlɛya wɛrɛ iko ala dɔnbali`
242
- 2. `ye kumajago senw tigɛli ninakili dɔnni don kɔsa in municipality of south africa art solo exhibition`
243
- 3. `a bonya ye masala jagodon kalanbolo kɔnɔ k ɲ 26 ma peninsula mara la amadu ni`
244
 
245
  **Context Size 2:**
246
 
247
- 1. `éditions donniya isbn sababou kɔkan sirilanw lutrinae`
248
- 2. `français bambara bamako éditions donniya isbn sababou kɔkan sirilanw donkey`
249
- 3. `bamako éditions donniya isbn sababou kɔkan sirilanw lepus`
250
 
251
  **Context Size 3:**
252
 
253
- 1. `dictionnaire français bambara bamako éditions donniya isbn sababou kɔkan sirilanw tragelaphus spekii`
254
- 2. `français bambara bamako éditions donniya isbn sababou kɔkan sirilanw hyaenidae link wikiquote en hye...`
255
- 3. `éditions donniya isbn sababou kɔkan sirilanw hippotragus equinus`
256
 
257
  **Context Size 4:**
258
 
259
  1. `bambara bamako éditions donniya isbn sababou kɔkan sirilanw tragelaphus spekii`
260
- 2. `bamako éditions donniya isbn sababou kɔkan sirilanw tragelaphus spekii`
261
- 3. `charles dictionnaire français bambara bamako éditions donniya isbn sababou kɔkan sirilanw herpestes ...`
262
 
263
 
264
  ### Generated Text Samples (Subword-based)
@@ -267,34 +299,34 @@ Below are text samples generated from each subword-based Markov chain model:
267
 
268
  **Context Size 1:**
269
 
270
- 1. `_beu_yin_samesi_`
271
- 2. `akoni_swan'bɛn'u`
272
- 3. `n_kɔn_a-s_koon,_`
273
 
274
  **Context Size 2:**
275
 
276
- 1. `a_ba_ya._bɛ,_marr`
277
- 2. `_k'a_ye_ka_sɔra_y`
278
- 3. `ana-as_duguru,_mi`
279
 
280
  **Context Size 3:**
281
 
282
- 1. `_ka_min_sababou_kɛ`
283
- 2. `ka_dumuniorussin_t`
284
- 3. `_ye_jamand_reviese`
285
 
286
  **Context Size 4:**
287
 
288
- 1. `_ka_so_kɔnɔ_milleul`
289
- 2. `_ye_siby_sidenw_ka_`
290
- 3. `_bɛ_lajɛ_kilɛ_mali_`
291
 
292
 
293
  ### Key Findings
294
 
295
  - **Best Predictability:** Context-4 (word) with 98.0% predictability
296
  - **Branching Factor:** Decreases with context size (more deterministic)
297
- - **Memory Trade-off:** Larger contexts require more storage (63,561 contexts)
298
  - **Recommendation:** Context-3 or Context-4 for text generation
299
 
300
  ---
@@ -310,64 +342,64 @@ Below are text samples generated from each subword-based Markov chain model:
310
 
311
  | Metric | Value |
312
  |--------|-------|
313
- | Vocabulary Size | 6,895 |
314
- | Total Tokens | 95,713 |
315
- | Mean Frequency | 13.88 |
316
  | Median Frequency | 3 |
317
- | Frequency Std Dev | 106.18 |
318
 
319
  ### Most Common Words
320
 
321
  | Rank | Word | Frequency |
322
  |------|------|-----------|
323
- | 1 | ye | 4,391 |
324
- | 2 | ka | 4,364 |
325
- | 3 | a | 3,308 |
326
- | 4 | la | 1,918 |
327
- | 5 | ni | 1,903 |
328
- | 6 | bɛ | 1,828 |
329
- | 7 | na | 1,625 |
330
- | 8 | min | 1,195 |
331
- | 9 | o | 1,160 |
332
- | 10 | ani | 1,074 |
333
 
334
  ### Least Common Words (from vocabulary)
335
 
336
  | Rank | Word | Frequency |
337
  |------|------|-----------|
338
- | 1 | diverse | 2 |
339
- | 2 | cryptography | 2 |
340
- | 3 | career | 2 |
341
- | 4 | this | 2 |
342
- | 5 | corp | 2 |
343
- | 6 | strathspey | 2 |
344
- | 7 | holdings | 2 |
345
- | 8 | firm | 2 |
346
- | 9 | allergan | 2 |
347
- | 10 | hybe | 2 |
348
 
349
  ### Zipf's Law Analysis
350
 
351
  | Metric | Value |
352
  |--------|-------|
353
- | Zipf Coefficient | 1.0043 |
354
- | R² (Goodness of Fit) | 0.984602 |
355
  | Adherence Quality | **excellent** |
356
 
357
  ### Coverage Analysis
358
 
359
  | Top N Words | Coverage |
360
  |-------------|----------|
361
- | Top 100 | 52.1% |
362
- | Top 1,000 | 79.1% |
363
- | Top 5,000 | 96.0% |
364
  | Top 10,000 | 0.0% |
365
 
366
  ### Key Findings
367
 
368
- - **Zipf Compliance:** R²=0.9846 indicates excellent adherence to Zipf's law
369
- - **High Frequency Dominance:** Top 100 words cover 52.1% of corpus
370
- - **Long Tail:** -3,105 words needed for remaining 100.0% coverage
371
 
372
  ---
373
  ## 5. Word Embeddings Evaluation
@@ -383,37 +415,40 @@ Below are text samples generated from each subword-based Markov chain model:
383
 
384
  ### 5.1 Cross-Lingual Alignment
385
 
386
- > *Note: Multilingual alignment visualization not available for this language.*
 
 
387
 
388
 
389
  ### 5.2 Model Comparison
390
 
391
  | Model | Dimension | Isotropy | Semantic Density | Alignment R@1 | Alignment R@10 |
392
  |-------|-----------|----------|------------------|---------------|----------------|
393
- | **mono_32d** | 32 | 0.2668 🏆 | 0.5000 | N/A | N/A |
394
- | **mono_64d** | 64 | 0.0657 | 0.5219 | N/A | N/A |
395
- | **mono_128d** | 128 | 0.0127 | 0.4839 | N/A | N/A |
 
 
 
396
 
397
  ### Key Findings
398
 
399
- - **Best Isotropy:** mono_32d with 0.2668 (more uniform distribution)
400
- - **Semantic Density:** Average pairwise similarity of 0.5020. Lower values indicate better semantic separation.
401
- - **Alignment Quality:** No aligned models evaluated in this run.
402
  - **Recommendation:** 128d aligned for best cross-lingual performance
403
 
404
  ---
405
  ## 6. Morphological Analysis (Experimental)
406
 
407
- > ⚠️ **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.
408
-
409
  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.
410
 
411
  ### 6.1 Productivity & Complexity
412
 
413
  | Metric | Value | Interpretation | Recommendation |
414
  |--------|-------|----------------|----------------|
415
- | Productivity Index | **0.000** | Low morphological productivity | ⚠️ Likely unreliable |
416
- | Idiomaticity Gap | **-1.000** | Low formulaic content | - |
417
 
418
  ### 6.2 Affix Inventory (Productive Units)
419
 
@@ -422,13 +457,14 @@ These are the most productive prefixes and suffixes identified by sampling the v
422
  #### Productive Prefixes
423
  | Prefix | Examples |
424
  |--------|----------|
425
- | `-ma` | maracogo, maraka, macron |
426
 
427
  #### Productive Suffixes
428
  | Suffix | Examples |
429
  |--------|----------|
430
- | `-a` | dɔnnikɛla, zanbia, miriya |
431
- | `-an` | balansan, abubuwan, 15nan |
 
432
 
433
  ### 6.3 Bound Stems (Lexical Roots)
434
 
@@ -436,18 +472,18 @@ Bound stems are high-frequency subword units that are semantically cohesive but
436
 
437
  | Stem | Cohesion | Substitutability | Examples |
438
  |------|----------|------------------|----------|
439
- | `alan` | 1.65x | 24 contexts | kalan, palan, balan |
440
- | `riya` | 1.81x | 11 contexts | suriya, miriya, sariya |
441
- | `alen` | 1.45x | 20 contexts | falen, dalen, jalen |
442
- | `aara` | 1.72x | 12 contexts | maara, taara, yaara |
443
- | `aman` | 1.31x | 25 contexts | daman, saman, faman |
444
- | `elen` | 1.65x | 12 contexts | yelen, kelen, selen |
445
- | `ɔgɔn` | 1.75x | 9 contexts | nɔgɔn, ɲɔgɔn, nyɔgɔn |
446
- | `ɛbɛn` | 1.82x | 8 contexts | sɛbɛn, sɛbɛnw, sɛbɛnni |
447
- | `anka` | 1.51x | 13 contexts | mankan, yankan, dankan |
448
- | `amin` | 1.51x | 13 contexts | damina, daminè, damine |
449
- | `nkan` | 1.35x | 14 contexts | bɛnkan, benkan, mankan |
450
- | `kili` | 1.49x | 10 contexts | hakili, kilisi, nkiliki |
451
 
452
  ### 6.4 Affix Compatibility (Co-occurrence)
453
 
@@ -455,8 +491,9 @@ This table shows which prefixes and suffixes most frequently co-occur on the sam
455
 
456
  | Prefix | Suffix | Frequency | Examples |
457
  |--------|--------|-----------|----------|
458
- | `-ma` | `-a` | 22 words | maa, maara |
459
- | `-ma` | `-an` | 8 words | masasigilan, mankaan |
 
460
 
461
  ### 6.5 Recursive Morpheme Segmentation
462
 
@@ -464,26 +501,28 @@ Using **Recursive Hierarchical Substitutability**, we decompose complex words in
464
 
465
  | Word | Suggested Split | Confidence | Stem |
466
  |------|-----------------|------------|------|
 
 
467
  | maninkakan | **`ma-ninkak-an`** | 3.0 | `ninkak` |
468
- | tlasabanan | **`tlasab-an-an`** | 3.0 | `tlasab` |
469
- | machecoul | **`ma-checoul`** | 1.5 | `checoul` |
470
- | marabolow | **`ma-rabolow`** | 1.5 | `rabolow` |
471
- | woroduguyanfan | **`woroduguyanf-an`** | 1.5 | `woroduguyanf` |
472
- | binkannikɛlan | **`binkannikɛl-an`** | 1.5 | `binkannikɛl` |
473
- | masakɛmuso | **`ma-sakɛmuso`** | 1.5 | `sakɛmuso` |
474
- | sɛnɛfɔkan | **`sɛnɛfɔk-an`** | 1.5 | `sɛnɛfɔk` |
475
- | ispanyikan | **`ispanyik-an`** | 1.5 | `ispanyik` |
476
- | tubabukan | **`tubabuk-an`** | 1.5 | `tubabuk` |
477
- | maramafen | **`ma-ramafen`** | 1.5 | `ramafen` |
478
- | balikukalan | **`balikukal-an`** | 1.5 | `balikukal` |
479
- | ukrayinakan | **`ukrayinak-an`** | 1.5 | `ukrayinak` |
480
- | marisikalo | **`ma-risikalo`** | 1.5 | `risikalo` |
481
- | matarafali | **`ma-tarafali`** | 1.5 | `tarafali` |
482
 
483
  ### 6.6 Linguistic Interpretation
484
 
485
  > **Automated Insight:**
486
- The language BM 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.
 
 
487
 
488
  ---
489
  ## 7. Summary & Recommendations
@@ -495,7 +534,7 @@ The language BM appears to be more isolating or has a highly fixed vocabulary. W
495
  | Component | Recommended | Rationale |
496
  |-----------|-------------|-----------|
497
  | Tokenizer | **32k BPE** | Best compression (4.02x) |
498
- | N-gram | **2-gram** | Lowest perplexity (272) |
499
  | Markov | **Context-4** | Highest predictability (98.0%) |
500
  | Embeddings | **100d** | Balanced semantic capture and isotropy |
501
 
@@ -710,4 +749,4 @@ MIT License - Free for academic and commercial use.
710
  ---
711
  *Generated by Wikilangs Models Pipeline*
712
 
713
- *Report Date: 2026-01-03 07:27:32*
 
1
  ---
2
  language: bm
3
+ language_name: Bambara
4
  language_family: atlantic_other
5
  tags:
6
  - wikilangs
 
10
  - n-gram
11
  - markov
12
  - wikipedia
13
+ - feature-extraction
14
+ - sentence-similarity
15
+ - tokenization
16
+ - n-grams
17
+ - markov-chain
18
+ - text-mining
19
+ - fasttext
20
+ - babelvec
21
+ - vocabulous
22
+ - vocabulary
23
  - monolingual
24
  - family-atlantic_other
25
  license: mit
26
  library_name: wikilangs
27
+ pipeline_tag: text-generation
28
  datasets:
29
  - omarkamali/wikipedia-monthly
30
  dataset_info:
 
33
  metrics:
34
  - name: best_compression_ratio
35
  type: compression
36
+ value: 4.018
37
  - name: best_isotropy
38
  type: isotropy
39
+ value: 0.3203
40
  - name: vocabulary_size
41
  type: vocab
42
  value: 0
43
  generated: 2026-01-03
44
  ---
45
 
46
+ # Bambara - Wikilangs Models
47
  ## Comprehensive Research Report & Full Ablation Study
48
 
49
+ This repository contains NLP models trained and evaluated by Wikilangs, specifically on **Bambara** Wikipedia data.
50
  We analyze tokenizers, n-gram models, Markov chains, vocabulary statistics, and word embeddings.
51
 
52
  ## 📋 Repository Contents
 
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)
 
90
 
91
  | Vocab Size | Compression | Avg Token Len | UNK Rate | Total Tokens |
92
  |------------|-------------|---------------|----------|--------------|
93
+ | **8k** | 3.554x | 3.56 | 1.4079% | 103,986 |
94
+ | **16k** | 3.839x | 3.85 | 1.5205% | 96,281 |
95
+ | **32k** | 4.018x 🏆 | 4.03 | 1.5915% | 91,989 |
96
 
97
  ### Tokenization Examples
98
 
99
  Below are sample sentences tokenized with each vocabulary size:
100
 
101
+ **Sample 1:** `TusyɛninBailleul, Charles. Dictionnaire français-bambara. Bamako: Éditions Donni...`
102
 
103
  | Vocab | Tokens | Count |
104
  |-------|--------|-------|
105
+ | 8k | `▁tu syɛn inbailleul ,charles .dictionnairefrançais - bambara ... (+8 more)` | 18 |
106
+ | 16k | `▁tusyɛn inbailleul ,charles .dictionnairefrançais - bambara . ... (+7 more)` | 17 |
107
+ | 32k | `▁tusyɛn inbailleul ,charles .dictionnairefrançais - bambara . ... (+7 more)` | 17 |
108
 
109
+ **Sample 2:** `Brains ye Faransi ka dugu ye. Dugumogo be taa jon yooro Sababou Kɔfɛ sira Brains...`
110
 
111
  | Vocab | Tokens | Count |
112
  |-------|--------|-------|
113
+ | 8k | `▁brains ▁ye ▁faransika dugu ▁ye . ▁dugumogo ▁be ▁taa ... (+10 more)` | 20 |
114
+ | 16k | `▁brains ▁ye ▁faransikadugu ▁ye . ▁dugumogo ▁be ▁taa ... (+10 more)` | 20 |
115
+ | 32k | `▁brains ▁ye ▁faransikadugu ▁ye . ▁dugumogo ▁be ▁taa ... (+10 more)` | 20 |
116
 
117
+ **Sample 3:** `KolanfuBailleul, Charles. Dictionnaire français-bambara. Bamako: Éditions Donniy...`
118
 
119
  | Vocab | Tokens | Count |
120
  |-------|--------|-------|
121
+ | 8k | `▁kolan fu bailleul , ▁charles . ▁dictionnaire ▁français - bambara ... (+8 more)` | 18 |
122
+ | 16k | `▁kolan fubailleul , ▁charles . ▁dictionnaire ▁français - bambara . ... (+7 more)` | 17 |
123
+ | 32k | `▁kolanfubailleul , ▁charles . ▁dictionnaire ▁français - bambara . ▁bamako ... (+6 more)` | 16 |
124
 
125
 
126
  ### Key Findings
127
 
128
+ - **Best Compression:** 32k achieves 4.018x compression
129
+ - **Lowest UNK Rate:** 8k with 1.4079% unknown tokens
130
  - **Trade-off:** Larger vocabularies improve compression but increase model size
131
  - **Recommendation:** 32k vocabulary provides optimal balance for production use
132
 
 
143
 
144
  | N-gram | Variant | Perplexity | Entropy | Unique N-grams | Top-100 Coverage | Top-1000 Coverage |
145
  |--------|---------|------------|---------|----------------|------------------|-------------------|
146
+ | **2-gram** | Word | 917 | 9.84 | 2,056 | 40.6% | 82.5% |
147
+ | **2-gram** | Subword | 271 🏆 | 8.08 | 1,816 | 67.8% | 98.7% |
148
+ | **3-gram** | Word | 757 | 9.56 | 2,167 | 44.4% | 79.2% |
149
+ | **3-gram** | Subword | 1,867 | 10.87 | 9,795 | 30.1% | 75.0% |
150
+ | **4-gram** | Word | 1,888 | 10.88 | 5,346 | 34.2% | 52.7% |
151
+ | **4-gram** | Subword | 7,991 | 12.96 | 35,277 | 14.7% | 47.2% |
152
+ | **5-gram** | Word | 1,411 | 10.46 | 4,196 | 36.6% | 54.4% |
153
+ | **5-gram** | Subword | 17,676 | 14.11 | 58,257 | 10.4% | 34.3% |
154
 
155
  ### Top 5 N-grams by Size
156
 
 
158
 
159
  | Rank | N-gram | Count |
160
  |------|--------|-------|
161
+ | 1 | `ka dugu` | 524 |
162
+ | 2 | `éditions donniya` | 419 |
163
+ | 3 | `bambara bamako` | 419 |
164
+ | 4 | `charles dictionnaire` | 419 |
165
+ | 5 | `français bambara` | 419 |
166
 
167
  **3-grams (Word):**
168
 
169
  | Rank | N-gram | Count |
170
  |------|--------|-------|
171
+ | 1 | `dictionnaire français bambara` | 419 |
172
+ | 2 | `charles dictionnaire français` | 419 |
173
+ | 3 | `français bambara bamako` | 419 |
174
  | 4 | `bambara bamako éditions` | 419 |
175
+ | 5 | `éditions donniya isbn` | 419 |
176
 
177
  **4-grams (Word):**
178
 
179
  | Rank | N-gram | Count |
180
  |------|--------|-------|
181
+ | 1 | `bamako éditions donniya isbn` | 419 |
182
+ | 2 | `bambara bamako éditions donniya` | 419 |
183
+ | 3 | `français bambara bamako éditions` | 419 |
184
+ | 4 | `dictionnaire français bambara bamako` | 419 |
185
  | 5 | `charles dictionnaire français bambara` | 419 |
186
 
187
+ **5-grams (Word):**
188
+
189
+ | Rank | N-gram | Count |
190
+ |------|--------|-------|
191
+ | 1 | `bambara bamako éditions donniya isbn` | 419 |
192
+ | 2 | `charles dictionnaire français bambara bamako` | 419 |
193
+ | 3 | `dictionnaire français bambara bamako éditions` | 419 |
194
+ | 4 | `français bambara bamako éditions donniya` | 419 |
195
+ | 5 | `bamako éditions donniya isbn sababou` | 415 |
196
+
197
  **2-grams (Subword):**
198
 
199
  | Rank | N-gram | Count |
200
  |------|--------|-------|
201
+ | 1 | `a _` | 23,457 |
202
+ | 2 | `_ k` | 13,682 |
203
+ | 3 | `a n` | 13,488 |
204
+ | 4 | `n _` | 12,358 |
205
+ | 5 | `i _` | 9,793 |
206
 
207
  **3-grams (Subword):**
208
 
209
  | Rank | N-gram | Count |
210
  |------|--------|-------|
211
+ | 1 | `_ k a` | 6,339 |
212
+ | 2 | `k a _` | 4,941 |
213
+ | 3 | `_ y e` | 4,556 |
214
+ | 4 | `a n _` | 3,990 |
215
+ | 5 | `n i _` | 3,929 |
216
 
217
  **4-grams (Subword):**
218
 
219
  | Rank | N-gram | Count |
220
  |------|--------|-------|
221
+ | 1 | `_ k a _` | 4,284 |
222
+ | 2 | `_ y e _` | 3,187 |
223
+ | 3 | `_ b ɛ _` | 1,824 |
224
+ | 4 | `_ n i _` | 1,804 |
225
+ | 5 | `_ m i n` | 1,782 |
226
+
227
+ **5-grams (Subword):**
228
+
229
+ | Rank | N-gram | Count |
230
+ |------|--------|-------|
231
+ | 1 | `a m a n a` | 1,291 |
232
+ | 2 | `_ d u g u` | 1,271 |
233
+ | 3 | `_ m i n _` | 1,168 |
234
+ | 4 | `j a m a n` | 1,146 |
235
+ | 5 | `a _ k a _` | 1,065 |
236
 
237
 
238
  ### Key Findings
239
 
240
+ - **Best Perplexity:** 2-gram (subword) with 271
241
  - **Entropy Trend:** Decreases with larger n-grams (more predictable)
242
+ - **Coverage:** Top-1000 patterns cover ~34% of corpus
243
  - **Recommendation:** 4-gram or 5-gram for best predictive performance
244
 
245
  ---
 
255
 
256
  | Context | Variant | Avg Entropy | Perplexity | Branching Factor | Unique Contexts | Predictability |
257
  |---------|---------|-------------|------------|------------------|-----------------|----------------|
258
+ | **1** | Word | 0.5962 | 1.512 | 3.33 | 17,463 | 40.4% |
259
+ | **1** | Subword | 1.1592 | 2.233 | 8.34 | 482 | 0.0% |
260
+ | **2** | Word | 0.2012 | 1.150 | 1.41 | 57,826 | 79.9% |
261
+ | **2** | Subword | 0.9871 | 1.982 | 5.02 | 4,012 | 1.3% |
262
+ | **3** | Word | 0.0638 | 1.045 | 1.10 | 81,186 | 93.6% |
263
+ | **3** | Subword | 0.7347 | 1.664 | 3.14 | 20,106 | 26.5% |
264
+ | **4** | Word | 0.0198 🏆 | 1.014 | 1.03 | 88,526 | 98.0% |
265
+ | **4** | Subword | 0.5000 | 1.414 | 2.08 | 63,024 | 50.0% |
266
 
267
  ### Generated Text Samples (Word-based)
268
 
 
270
 
271
  **Context Size 1:**
272
 
273
+ 1. `ka dugu ye ɲ ŋ ɔ ɲ ka k u la litwanie duchy belebele naninan ye`
274
+ 2. `ye kan kaan kankan mali duo dɔnkilidalaw ye balikukalan ni faransi ka pretoria tɔgɔ ta`
275
+ 3. `a ka mɔgɔ nɛrɛmaw ye nga u ko majigilenya majigin kɔrɔtalenba ala kelenpe ani san`
276
 
277
  **Context Size 2:**
278
 
279
+ 1. `charles dictionnaire français bambara bamako éditions donniya isbn sababou kɔkan sirilanw basshunter...`
280
+ 2. `dictionnaire français bambara bamako éditions donniya isbn sababou kɔkan sirilanw michael jackson ka...`
281
+ 3. `donniya isbn sababou kɔkan sirilanw ourebia ourebi nkolonin thryonomys swinderianus kɔɲinɛ nkansole ...`
282
 
283
  **Context Size 3:**
284
 
285
+ 1. `bambara bamako éditions donniya isbn sababou kɔkan sirilanw herpestes ichneumon`
286
+ 2. `éditions donniya isbn sababou kɔkan sirilanw leptailurus serval`
287
+ 3. `bamako éditions donniya isbn sababou dutafilm`
288
 
289
  **Context Size 4:**
290
 
291
  1. `bambara bamako éditions donniya isbn sababou kɔkan sirilanw tragelaphus spekii`
292
+ 2. `dictionnaire français bambara bamako éditions donniya isbn sababou kɔkan sirilanw mungos mungo`
293
+ 3. `français bambara bamako éditions donniya isbn sababou kɔkan sirilanw papio anubis`
294
 
295
 
296
  ### Generated Text Samples (Subword-based)
 
299
 
300
  **Context Size 1:**
301
 
302
+ 1. `_t_edo_ba_faainɛ`
303
+ 2. `afoghmanọ_ne,_ji`
304
+ 3. `nyerayedambòrɔnk`
305
 
306
  **Context Size 2:**
307
 
308
+ 1. `a_aniyala:_zara._`
309
+ 2. `_kara_baridalatɔn`
310
+ 3. `anginkun_walf-c._`
311
 
312
  **Context Size 3:**
313
 
314
+ 1. `_kan_fila-jɔnjɛ_ye`
315
+ 2. `ka_san_na_ka_kɔrɔl`
316
+ 3. `_ye_dugu._virgia,_`
317
 
318
  **Context Size 4:**
319
 
320
+ 1. `_ka_ɲa._shiya_gossy`
321
+ 2. `_ye_danmasen_baara_`
322
+ 3. `_bɛ_daɲε_minnu_bɛ_a`
323
 
324
 
325
  ### Key Findings
326
 
327
  - **Best Predictability:** Context-4 (word) with 98.0% predictability
328
  - **Branching Factor:** Decreases with context size (more deterministic)
329
+ - **Memory Trade-off:** Larger contexts require more storage (63,024 contexts)
330
  - **Recommendation:** Context-3 or Context-4 for text generation
331
 
332
  ---
 
342
 
343
  | Metric | Value |
344
  |--------|-------|
345
+ | Vocabulary Size | 6,824 |
346
+ | Total Tokens | 94,926 |
347
+ | Mean Frequency | 13.91 |
348
  | Median Frequency | 3 |
349
+ | Frequency Std Dev | 106.26 |
350
 
351
  ### Most Common Words
352
 
353
  | Rank | Word | Frequency |
354
  |------|------|-----------|
355
+ | 1 | ye | 4,371 |
356
+ | 2 | ka | 4,340 |
357
+ | 3 | a | 3,278 |
358
+ | 4 | la | 1,926 |
359
+ | 5 | ni | 1,899 |
360
+ | 6 | bɛ | 1,834 |
361
+ | 7 | na | 1,623 |
362
+ | 8 | min | 1,189 |
363
+ | 9 | o | 1,149 |
364
+ | 10 | ani | 1,076 |
365
 
366
  ### Least Common Words (from vocabulary)
367
 
368
  | Rank | Word | Frequency |
369
  |------|------|-----------|
370
+ | 1 | abubakari | 2 |
371
+ | 2 | candaces | 2 |
372
+ | 3 | ameniras | 2 |
373
+ | 4 | kandasi | 2 |
374
+ | 5 | qore | 2 |
375
+ | 6 | candace | 2 |
376
+ | 7 | amɔn | 2 |
377
+ | 8 | bajiw | 2 |
378
+ | 9 | dunbagaw | 2 |
379
+ | 10 | mouvement | 2 |
380
 
381
  ### Zipf's Law Analysis
382
 
383
  | Metric | Value |
384
  |--------|-------|
385
+ | Zipf Coefficient | 1.0058 |
386
+ | R² (Goodness of Fit) | 0.984137 |
387
  | Adherence Quality | **excellent** |
388
 
389
  ### Coverage Analysis
390
 
391
  | Top N Words | Coverage |
392
  |-------------|----------|
393
+ | Top 100 | 52.4% |
394
+ | Top 1,000 | 79.3% |
395
+ | Top 5,000 | 96.2% |
396
  | Top 10,000 | 0.0% |
397
 
398
  ### Key Findings
399
 
400
+ - **Zipf Compliance:** R²=0.9841 indicates excellent adherence to Zipf's law
401
+ - **High Frequency Dominance:** Top 100 words cover 52.4% of corpus
402
+ - **Long Tail:** -3,176 words needed for remaining 100.0% coverage
403
 
404
  ---
405
  ## 5. Word Embeddings Evaluation
 
415
 
416
  ### 5.1 Cross-Lingual Alignment
417
 
418
+ ![Alignment Quality](visualizations/embedding_alignment_quality.png)
419
+
420
+ ![Multilingual t-SNE](visualizations/embedding_tsne_multilingual.png)
421
 
422
 
423
  ### 5.2 Model Comparison
424
 
425
  | Model | Dimension | Isotropy | Semantic Density | Alignment R@1 | Alignment R@10 |
426
  |-------|-----------|----------|------------------|---------------|----------------|
427
+ | **mono_32d** | 32 | 0.3203 🏆 | 0.5260 | N/A | N/A |
428
+ | **mono_64d** | 64 | 0.0572 | 0.5107 | N/A | N/A |
429
+ | **mono_128d** | 128 | 0.0109 | 0.5108 | N/A | N/A |
430
+ | **aligned_32d** | 32 | 0.3203 | 0.5505 | 0.0040 | 0.0600 |
431
+ | **aligned_64d** | 64 | 0.0572 | 0.5015 | 0.0300 | 0.1740 |
432
+ | **aligned_128d** | 128 | 0.0109 | 0.5061 | 0.0400 | 0.1700 |
433
 
434
  ### Key Findings
435
 
436
+ - **Best Isotropy:** mono_32d with 0.3203 (more uniform distribution)
437
+ - **Semantic Density:** Average pairwise similarity of 0.5176. Lower values indicate better semantic separation.
438
+ - **Alignment Quality:** Aligned models achieve up to 4.0% R@1 in cross-lingual retrieval.
439
  - **Recommendation:** 128d aligned for best cross-lingual performance
440
 
441
  ---
442
  ## 6. Morphological Analysis (Experimental)
443
 
 
 
444
  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.
445
 
446
  ### 6.1 Productivity & Complexity
447
 
448
  | Metric | Value | Interpretation | Recommendation |
449
  |--------|-------|----------------|----------------|
450
+ | Productivity Index | **5.000** | High morphological productivity | Reliable analysis |
451
+ | Idiomaticity Gap | **0.589** | High formulaic/idiomatic content | - |
452
 
453
  ### 6.2 Affix Inventory (Productive Units)
454
 
 
457
  #### Productive Prefixes
458
  | Prefix | Examples |
459
  |--------|----------|
460
+ | `-ma` | masurunyala, mansaya, magana |
461
 
462
  #### Productive Suffixes
463
  | Suffix | Examples |
464
  |--------|----------|
465
+ | `-a` | cɛnimusoya, fa, masurunyala |
466
+ | `-an` | jigilan, dilan, irisikan |
467
+ | `-en` | pen, tobilen, maliden |
468
 
469
  ### 6.3 Bound Stems (Lexical Roots)
470
 
 
472
 
473
  | Stem | Cohesion | Substitutability | Examples |
474
  |------|----------|------------------|----------|
475
+ | `alan` | 1.63x | 24 contexts | balan, kalan, jalan |
476
+ | `aman` | 1.32x | 25 contexts | daman, baman, saman |
477
+ | `riya` | 1.72x | 11 contexts | miriya, sariya, suriya |
478
+ | `aara` | 1.66x | 12 contexts | naara, yaara, taara |
479
+ | `alen` | 1.36x | 20 contexts | salen, nalen, dalen |
480
+ | `ɔgɔn` | 1.72x | 10 contexts | ɲɔgɔn, nɔgɔn, dɔgɔn |
481
+ | `anka` | 1.52x | 13 contexts | yankan, kankan, dankan |
482
+ | `elen` | 1.56x | 12 contexts | selen, kelen, yelen |
483
+ | `amin` | 1.42x | 15 contexts | lamini, damina, daminè |
484
+ | `ɛbɛn` | 1.74x | 8 contexts | sɛbɛn, sɛbɛnw, sɛbɛnni |
485
+ | `nkan` | 1.37x | 14 contexts | yankan, kankan, benkan |
486
+ | `ilan` | 1.33x | 13 contexts | tilan, dilan, filan |
487
 
488
  ### 6.4 Affix Compatibility (Co-occurrence)
489
 
 
491
 
492
  | Prefix | Suffix | Frequency | Examples |
493
  |--------|--------|-----------|----------|
494
+ | `-ma` | `-a` | 20 words | mansamara, masa |
495
+ | `-ma` | `-an` | 8 words | manyan, man |
496
+ | `-ma` | `-en` | 5 words | maralen, madonnen |
497
 
498
  ### 6.5 Recursive Morpheme Segmentation
499
 
 
501
 
502
  | Word | Suggested Split | Confidence | Stem |
503
  |------|-----------------|------------|------|
504
+ | datugunen | **`datugun-en`** | 4.5 | `datugun` |
505
+ | masurunya | **`ma-surunya`** | 4.5 | `surunya` |
506
  | maninkakan | **`ma-ninkak-an`** | 3.0 | `ninkak` |
507
+ | masafugulan | **`ma-safugul-an`** | 3.0 | `safugul` |
508
+ | mandenkan | **`ma-ndenk-an`** | 3.0 | `ndenk` |
509
+ | wolonwulanan | **`wolonwul-an-an`** | 3.0 | `wolonwul` |
510
+ | maramafen | **`ma-ramaf-en`** | 3.0 | `ramaf` |
511
+ | kɔrɔnyanfan | **`kɔrɔnyanf-an`** | 1.5 | `kɔrɔnyanf` |
512
+ | tamashiyen | **`tamashiy-en`** | 1.5 | `tamashiy` |
513
+ | quotidien | **`quotidi-en`** | 1.5 | `quotidi` |
514
+ | bolofaran | **`bolofar-an`** | 1.5 | `bolofar` |
515
+ | marcusenius | **`ma-rcusenius`** | 1.5 | `rcusenius` |
516
+ | manuskrip | **`ma-nuskrip`** | 1.5 | `nuskrip` |
517
+ | sεbεnnisen | **`sεbεnnis-en`** | 1.5 | `sεbεnnis` |
518
+ | kɔnɔntɔnnan | **`kɔnɔntɔnn-an`** | 1.5 | `kɔnɔntɔnn` |
 
 
519
 
520
  ### 6.6 Linguistic Interpretation
521
 
522
  > **Automated Insight:**
523
+ The language Bambara shows high morphological productivity. The subword models are significantly more efficient than word models, suggesting a rich system of affixation or compounding.
524
+
525
+ > **Note on Idiomaticity:** The high Idiomaticity Gap suggests a large number of frequent multi-word expressions or formulaic sequences that are statistically distinct from their component parts.
526
 
527
  ---
528
  ## 7. Summary & Recommendations
 
534
  | Component | Recommended | Rationale |
535
  |-----------|-------------|-----------|
536
  | Tokenizer | **32k BPE** | Best compression (4.02x) |
537
+ | N-gram | **2-gram** | Lowest perplexity (271) |
538
  | Markov | **Context-4** | Highest predictability (98.0%) |
539
  | Embeddings | **100d** | Balanced semantic capture and isotropy |
540
 
 
749
  ---
750
  *Generated by Wikilangs Models Pipeline*
751
 
752
+ *Report Date: 2026-01-03 19:12:39*
models/embeddings/aligned/bm_128d.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:58448d51ab382ca0ebfbcd3f220a49d26c7b9fa1b85588af518145e83499917d
3
+ size 1026298973
models/embeddings/aligned/bm_128d.meta.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"lang": "bm", "dim": 128, "max_seq_len": 512, "is_aligned": true}
models/embeddings/aligned/bm_128d.projection.npy ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:537a082df27db263c23ab55ffa9562d3deb5c372f9ca3c0d3b1c83df7b696158
3
+ size 65664
models/embeddings/aligned/bm_128d_metadata.json ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "language": "bm",
3
+ "dimension": 128,
4
+ "version": "aligned",
5
+ "hub_language": "en",
6
+ "seed_vocab_size": 739,
7
+ "vocab_size": 2211
8
+ }
models/embeddings/aligned/bm_32d.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:925a13bc3b0473844ae316fcc3342a46c1627719eb32c56d1a0abc795eb01cb2
3
+ size 256600925
models/embeddings/aligned/bm_32d.meta.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"lang": "bm", "dim": 32, "max_seq_len": 512, "is_aligned": true}
models/embeddings/aligned/bm_32d.projection.npy ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8b9f7117865e9ac73a569578ea9dfa480830002f849875fc069bea2d15a22bd3
3
+ size 4224
models/embeddings/aligned/bm_32d_metadata.json ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "language": "bm",
3
+ "dimension": 32,
4
+ "version": "aligned",
5
+ "hub_language": "en",
6
+ "seed_vocab_size": 739,
7
+ "vocab_size": 2211
8
+ }
models/embeddings/aligned/bm_64d.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ab5cb58b897509925ccf3e5cf677b1bb64f5568e61f34882b9d6a34e63cdd934
3
+ size 513166941
models/embeddings/aligned/bm_64d.meta.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"lang": "bm", "dim": 64, "max_seq_len": 512, "is_aligned": true}
models/embeddings/aligned/bm_64d.projection.npy ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f3cdb010affcbcd5046ec29ecf090f17b30da405062ded6bf50b324efcc5e904
3
+ size 16512
models/embeddings/aligned/bm_64d_metadata.json ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "language": "bm",
3
+ "dimension": 64,
4
+ "version": "aligned",
5
+ "hub_language": "en",
6
+ "seed_vocab_size": 739,
7
+ "vocab_size": 2211
8
+ }
models/embeddings/monolingual/bm_128d.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:60554973b7e758378671bf2709b7707495d4d05f0f6d5aa74b560379597f5337
3
- size 1026320797
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:58448d51ab382ca0ebfbcd3f220a49d26c7b9fa1b85588af518145e83499917d
3
+ size 1026298973
models/embeddings/monolingual/bm_128d_metadata.json CHANGED
@@ -11,5 +11,5 @@
11
  "encoding_method": "rope",
12
  "dim": 128
13
  },
14
- "vocab_size": 2232
15
  }
 
11
  "encoding_method": "rope",
12
  "dim": 128
13
  },
14
+ "vocab_size": 2211
15
  }
models/embeddings/monolingual/bm_32d.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:d397f946ef2ae3aef026fefc210ae2f287c5d21b70e2355dd7bf1e9ad36afa1c
3
- size 256606621
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:925a13bc3b0473844ae316fcc3342a46c1627719eb32c56d1a0abc795eb01cb2
3
+ size 256600925
models/embeddings/monolingual/bm_32d_metadata.json CHANGED
@@ -11,5 +11,5 @@
11
  "encoding_method": "rope",
12
  "dim": 32
13
  },
14
- "vocab_size": 2232
15
  }
 
11
  "encoding_method": "rope",
12
  "dim": 32
13
  },
14
+ "vocab_size": 2211
15
  }
models/embeddings/monolingual/bm_64d.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:59a556264dfd6bffcee58e216ac1d731f3135622dfe1812992c391a2191779d2
3
- size 513178013
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ab5cb58b897509925ccf3e5cf677b1bb64f5568e61f34882b9d6a34e63cdd934
3
+ size 513166941
models/embeddings/monolingual/bm_64d_metadata.json CHANGED
@@ -11,5 +11,5 @@
11
  "encoding_method": "rope",
12
  "dim": 64
13
  },
14
- "vocab_size": 2232
15
  }
 
11
  "encoding_method": "rope",
12
  "dim": 64
13
  },
14
+ "vocab_size": 2211
15
  }
models/subword_markov/bm_markov_ctx1_subword.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:75665f8001ac1c98685e9eac5bd7af0ed39fc626141b1fd4cef1b034c92d438d
3
- size 35393
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:08c3d1c0cfb6c2bb97f6837020f3259399e530a88ff856728681fbb8d3ff56d9
3
+ size 35318
models/subword_markov/bm_markov_ctx1_subword_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "context_size": 1,
3
  "variant": "subword",
4
  "language": "bm",
5
- "unique_contexts": 480,
6
- "total_transitions": 596087
7
  }
 
2
  "context_size": 1,
3
  "variant": "subword",
4
  "language": "bm",
5
+ "unique_contexts": 482,
6
+ "total_transitions": 590687
7
  }
models/subword_markov/bm_markov_ctx2_subword.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:89493aa503c873924d3cc26fe8b12683b9ea51449a0ff9dd9a1825aa759bcfbf
3
- size 160110
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ca9a7abe9f07de6208eb552e0ba1894c76235f0ef70fd5b0ed45db3ec3700cb9
3
+ size 150844
models/subword_markov/bm_markov_ctx2_subword_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "context_size": 2,
3
  "variant": "subword",
4
  "language": "bm",
5
- "unique_contexts": 4032,
6
- "total_transitions": 594884
7
  }
 
2
  "context_size": 2,
3
  "variant": "subword",
4
  "language": "bm",
5
+ "unique_contexts": 4012,
6
+ "total_transitions": 589489
7
  }
models/subword_markov/bm_markov_ctx3_subword.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:c678a21c70cd7e4a8724cc5c8781d9a005a7b1153d5cfab9672b1e53bfdb3c44
3
- size 480692
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4aa64b21db2df0542dc829b94de6eb9d164b3023e89b748f35c4999b7b1098bc
3
+ size 470965
models/subword_markov/bm_markov_ctx3_subword_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "context_size": 3,
3
  "variant": "subword",
4
  "language": "bm",
5
- "unique_contexts": 20227,
6
- "total_transitions": 593681
7
  }
 
2
  "context_size": 3,
3
  "variant": "subword",
4
  "language": "bm",
5
+ "unique_contexts": 20106,
6
+ "total_transitions": 588291
7
  }
models/subword_markov/bm_markov_ctx4_subword.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:d36df5ddcd8f68677e8aeeb781950fca4c726d9b697ac0720d4fb6f5eb94a5a2
3
- size 1088116
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:34978b61bed9c8dc1c236aa67e5f082032f0c17ee63bdf03658889b150fb8e88
3
+ size 1087996
models/subword_markov/bm_markov_ctx4_subword_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "context_size": 4,
3
  "variant": "subword",
4
  "language": "bm",
5
- "unique_contexts": 63561,
6
- "total_transitions": 592478
7
  }
 
2
  "context_size": 4,
3
  "variant": "subword",
4
  "language": "bm",
5
+ "unique_contexts": 63024,
6
+ "total_transitions": 587093
7
  }
models/subword_ngram/bm_2gram_subword.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:fe3125074954dbce7e5c347fb5b53e5f30cec7775dfd663157c67fbdc9e255bc
3
- size 23022
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3e2d0e5aee6af2f4c269db63b8789197db63a50d5631832b13905c01b4e0e4a9
3
+ size 22904
models/subword_ngram/bm_2gram_subword_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "n": 2,
3
  "variant": "subword",
4
  "language": "bm",
5
- "unique_ngrams": 1826,
6
- "total_ngrams": 596087
7
  }
 
2
  "n": 2,
3
  "variant": "subword",
4
  "language": "bm",
5
+ "unique_ngrams": 1816,
6
+ "total_ngrams": 590687
7
  }
models/subword_ngram/bm_3gram_subword.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:c97c794d987cb73cd6c3301a1516b8e4889869836d3d9c5369016ba8fe9c0fb7
3
- size 113452
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e6f254928fe1d62371dc1b327938b02cf68794d7dd646557753a78e01db6561a
3
+ size 112599
models/subword_ngram/bm_3gram_subword_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "n": 3,
3
  "variant": "subword",
4
  "language": "bm",
5
- "unique_ngrams": 9873,
6
- "total_ngrams": 594884
7
  }
 
2
  "n": 3,
3
  "variant": "subword",
4
  "language": "bm",
5
+ "unique_ngrams": 9795,
6
+ "total_ngrams": 589489
7
  }
models/subword_ngram/bm_4gram_subword.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:dbf91bd19db052de26308667adfa16bf3463044ec8463971cda61775082b87c4
3
- size 431891
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:64fd74137d8669a3e57b4ef2eb14f145de682467bbca2fdb589aaf02a651dbcb
3
+ size 426205
models/subword_ngram/bm_4gram_subword_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "n": 4,
3
  "variant": "subword",
4
  "language": "bm",
5
- "unique_ngrams": 35658,
6
- "total_ngrams": 593681
7
  }
 
2
  "n": 4,
3
  "variant": "subword",
4
  "language": "bm",
5
+ "unique_ngrams": 35277,
6
+ "total_ngrams": 588291
7
  }
models/subword_ngram/bm_5gram_subword.parquet ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3ed53b4ae74500b388d7e13bbd9d41554d0b5614df69bc09b83535548c718895
3
+ size 687482
models/subword_ngram/bm_5gram_subword_metadata.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "n": 5,
3
+ "variant": "subword",
4
+ "language": "bm",
5
+ "unique_ngrams": 58257,
6
+ "total_ngrams": 587093
7
+ }
models/tokenizer/bm_tokenizer_16k.model CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:55b76e9844ea83477a53ca0eacddd2c822efad2b886d04d9e9ba8ce2715dfacf
3
- size 514654
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8f8ee08e80fd3a5c0da33dbe7268421131519af5a28bf9bf0a5fed058d143671
3
+ size 514750
models/tokenizer/bm_tokenizer_16k.vocab CHANGED
The diff for this file is too large to render. See raw diff
 
models/tokenizer/bm_tokenizer_32k.model CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:6a3490f95bc0ae3183c66cee9b8b34a693f115b059216203609f99d8409129f6
3
- size 764320
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:332bf29cfc8743794ff50aad54a372d93620e608eaf0214c5bb45ad6695f6799
3
+ size 763411
models/tokenizer/bm_tokenizer_32k.vocab CHANGED
The diff for this file is too large to render. See raw diff
 
models/tokenizer/bm_tokenizer_8k.model CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:9361cd8391a5d749408299b263a632521ad4a28af1108df637b4399ef06a96bd
3
- size 372567
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1819b9d6793890963233509c462bce03f0d87db38af045546bd5d76145bd9e47
3
+ size 373134
models/tokenizer/bm_tokenizer_8k.vocab CHANGED
The diff for this file is too large to render. See raw diff
 
models/vocabulary/bm_vocabulary.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:95cadef0ad07f1fcd065af0e35aa2cf7c22454a9e8a9d71f454288dae5ddf109
3
- size 110665
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:a681c60c585b99f1d1a43c9995f3716c7e58e7ef5364debdf52569f2bcae0815
3
+ size 110142
models/vocabulary/bm_vocabulary_metadata.json CHANGED
@@ -1,17 +1,17 @@
1
  {
2
  "language": "bm",
3
- "vocabulary_size": 6895,
4
  "variant": "full",
5
  "statistics": {
6
- "type_token_ratio": 0.16638822668143338,
7
  "coverage": {
8
- "top_100": 0.4682859985358437,
9
- "top_1000": 0.7107728117432845,
10
- "top_5000": 0.8627541155932649,
11
- "top_10000": 0.9274679481163066
12
  },
13
- "hapax_count": 10833,
14
- "hapax_ratio": 0.611067238267148,
15
- "total_documents": 1203
16
  }
17
  }
 
1
  {
2
  "language": "bm",
3
+ "vocabulary_size": 6824,
4
  "variant": "full",
5
  "statistics": {
6
+ "type_token_ratio": 0.1659850808436518,
7
  "coverage": {
8
+ "top_100": 0.47053087962437046,
9
+ "top_1000": 0.7129482373433299,
10
+ "top_5000": 0.8640804271271157,
11
+ "top_10000": 0.9286796167973039
12
  },
13
+ "hapax_count": 10710,
14
+ "hapax_ratio": 0.6108132770617086,
15
+ "total_documents": 1198
16
  }
17
  }
models/word_markov/bm_markov_ctx1_word.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:789e3b5dbec8a4180554670cf6c8140274009e31544768738d599464c4f97eaf
3
- size 539344
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:f54fb3270ccd0272f96abf6151adee510f418c74ad313a7b5d594ab2bf5c3c68
3
+ size 533279
models/word_markov/bm_markov_ctx1_word_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "context_size": 1,
3
  "variant": "word",
4
  "language": "bm",
5
- "unique_contexts": 17657,
6
- "total_transitions": 105343
7
  }
 
2
  "context_size": 1,
3
  "variant": "word",
4
  "language": "bm",
5
+ "unique_contexts": 17463,
6
+ "total_transitions": 104438
7
  }
models/word_markov/bm_markov_ctx2_word.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:887a80e826ca473a6ab2e880642feffde94dc8b35a379b2e1de27ffb35ee82e6
3
- size 1068878
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b9644d765e52f69eb371f62cfb3a575404b2f90900de92bd38ac48c82cb5615c
3
+ size 1058528
models/word_markov/bm_markov_ctx2_word_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "context_size": 2,
3
  "variant": "word",
4
  "language": "bm",
5
- "unique_contexts": 58338,
6
- "total_transitions": 104140
7
  }
 
2
  "context_size": 2,
3
  "variant": "word",
4
  "language": "bm",
5
+ "unique_contexts": 57826,
6
+ "total_transitions": 103240
7
  }
models/word_markov/bm_markov_ctx3_word.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:4ac6a4a0d3b0dfb35d2dc573351f32014393c9e3b47f7a32c3ea6caa6ee45484
3
- size 1381560
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:364f460bbdd6c1f094c6f5d7b15d04002609dde043b07349a4f97360352acf5d
3
+ size 1370583
models/word_markov/bm_markov_ctx3_word_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "context_size": 3,
3
  "variant": "word",
4
  "language": "bm",
5
- "unique_contexts": 81761,
6
- "total_transitions": 102937
7
  }
 
2
  "context_size": 3,
3
  "variant": "word",
4
  "language": "bm",
5
+ "unique_contexts": 81186,
6
+ "total_transitions": 102042
7
  }