omarkamali commited on
Commit
1d0e8fa
·
verified ·
1 Parent(s): 7adfc95

Upload all models and assets for crh (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 +2 -0
  2. README.md +208 -173
  3. models/embeddings/aligned/crh_128d.bin +3 -0
  4. models/embeddings/aligned/crh_128d.meta.json +1 -0
  5. models/embeddings/aligned/crh_128d.projection.npy +3 -0
  6. models/embeddings/aligned/crh_128d_metadata.json +8 -0
  7. models/embeddings/aligned/crh_32d.bin +3 -0
  8. models/embeddings/aligned/crh_32d.meta.json +1 -0
  9. models/embeddings/aligned/crh_32d.projection.npy +3 -0
  10. models/embeddings/aligned/crh_32d_metadata.json +8 -0
  11. models/embeddings/aligned/crh_64d.bin +3 -0
  12. models/embeddings/aligned/crh_64d.meta.json +1 -0
  13. models/embeddings/aligned/crh_64d.projection.npy +3 -0
  14. models/embeddings/aligned/crh_64d_metadata.json +8 -0
  15. models/embeddings/monolingual/crh_128d.bin +2 -2
  16. models/embeddings/monolingual/crh_128d_metadata.json +1 -1
  17. models/embeddings/monolingual/crh_32d.bin +2 -2
  18. models/embeddings/monolingual/crh_32d_metadata.json +1 -1
  19. models/embeddings/monolingual/crh_64d.bin +2 -2
  20. models/embeddings/monolingual/crh_64d_metadata.json +1 -1
  21. models/subword_markov/crh_markov_ctx1_subword.parquet +2 -2
  22. models/subword_markov/crh_markov_ctx1_subword_metadata.json +2 -2
  23. models/subword_markov/crh_markov_ctx2_subword.parquet +2 -2
  24. models/subword_markov/crh_markov_ctx2_subword_metadata.json +2 -2
  25. models/subword_markov/crh_markov_ctx3_subword.parquet +2 -2
  26. models/subword_markov/crh_markov_ctx3_subword_metadata.json +2 -2
  27. models/subword_markov/crh_markov_ctx4_subword.parquet +2 -2
  28. models/subword_markov/crh_markov_ctx4_subword_metadata.json +2 -2
  29. models/subword_ngram/crh_2gram_subword.parquet +2 -2
  30. models/subword_ngram/crh_2gram_subword_metadata.json +2 -2
  31. models/subword_ngram/crh_3gram_subword.parquet +2 -2
  32. models/subword_ngram/crh_3gram_subword_metadata.json +2 -2
  33. models/subword_ngram/crh_4gram_subword.parquet +2 -2
  34. models/subword_ngram/crh_4gram_subword_metadata.json +2 -2
  35. models/subword_ngram/crh_5gram_subword.parquet +3 -0
  36. models/subword_ngram/crh_5gram_subword_metadata.json +7 -0
  37. models/tokenizer/crh_tokenizer_16k.model +2 -2
  38. models/tokenizer/crh_tokenizer_16k.vocab +0 -0
  39. models/tokenizer/crh_tokenizer_32k.model +2 -2
  40. models/tokenizer/crh_tokenizer_32k.vocab +0 -0
  41. models/tokenizer/crh_tokenizer_64k.model +2 -2
  42. models/tokenizer/crh_tokenizer_64k.vocab +0 -0
  43. models/tokenizer/crh_tokenizer_8k.model +2 -2
  44. models/tokenizer/crh_tokenizer_8k.vocab +0 -0
  45. models/vocabulary/crh_vocabulary.parquet +2 -2
  46. models/vocabulary/crh_vocabulary_metadata.json +9 -9
  47. models/word_markov/crh_markov_ctx1_word.parquet +2 -2
  48. models/word_markov/crh_markov_ctx1_word_metadata.json +2 -2
  49. models/word_markov/crh_markov_ctx2_word.parquet +2 -2
  50. models/word_markov/crh_markov_ctx2_word_metadata.json +2 -2
.gitattributes CHANGED
@@ -39,3 +39,5 @@ 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
43
+ visualizations/ngram_coverage.png filter=lfs diff=lfs merge=lfs -text
README.md CHANGED
@@ -1,6 +1,6 @@
1
  ---
2
  language: crh
3
- language_name: CRH
4
  language_family: turkic_kipchak
5
  tags:
6
  - wikilangs
@@ -10,11 +10,21 @@ tags:
10
  - n-gram
11
  - markov
12
  - wikipedia
 
 
 
 
 
 
 
 
 
 
13
  - monolingual
14
  - family-turkic_kipchak
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.773
27
  - name: best_isotropy
28
  type: isotropy
29
- value: 0.6920
30
  - name: vocabulary_size
31
  type: vocab
32
  value: 0
33
  generated: 2026-01-03
34
  ---
35
 
36
- # CRH - Wikilangs Models
37
  ## Comprehensive Research Report & Full Ablation Study
38
 
39
- This repository contains NLP models trained and evaluated by Wikilangs, specifically on **CRH** 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,47 +90,47 @@ 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.643x | 3.65 | 0.2020% | 214,351 |
84
- | **16k** | 4.073x | 4.08 | 0.2258% | 191,723 |
85
- | **32k** | 4.453x | 4.46 | 0.2469% | 175,361 |
86
- | **64k** | 4.773x 🏆 | 4.78 | 0.2647% | 163,591 |
87
 
88
  ### Tokenization Examples
89
 
90
  Below are sample sentences tokenized with each vocabulary size:
91
 
92
- **Sample 1:** `Şaburovo () - Rusiyeniñ Altay ülkesinde Solton rayonında bir qasaba. Ealisiniñ s...`
93
 
94
  | Vocab | Tokens | Count |
95
  |-------|--------|-------|
96
- | 8k | `▁şab urovo ▁() ▁- ▁rusiyeniñ ▁altay ▁ülkesinde soltonrayonındabir ... (+12 more)` | 22 |
97
- | 16k | `▁şab urovo ▁() ▁- ▁rusiyeniñaltay ▁ülkesindesolton ▁rayonında ▁bir ... (+12 more)` | 22 |
98
- | 32k | `▁şab urovo ▁() ▁- ▁rusiyeniñaltay ▁ülkesindesolton ▁rayonında ▁bir ... (+12 more)` | 22 |
99
- | 64k | `▁şaburovo ▁() ▁- ▁rusiyeniñaltay ▁ülkesindesolton ▁rayonında ▁bir ▁qasaba ... (+11 more)` | 21 |
100
 
101
- **Sample 2:** `Polzunovo () - Rusiyeniñ Altay ülkesinde Barnaul şeer bölgesinda bir stantsiya. ...`
102
 
103
  | Vocab | Tokens | Count |
104
  |-------|--------|-------|
105
- | 8k | `▁pol z unovo ▁() ▁- ▁rusiyeniñaltay ▁ülkesindebarnaul ▁şeer ... (+17 more)` | 27 |
106
- | 16k | `▁pol z unovo ▁() ▁- ▁rusiyeniñaltay ▁ülkesindebarnaul ▁şeer ... (+17 more)` | 27 |
107
- | 32k | `▁pol z unovo ▁() ▁- ▁rusiyeniñaltay ▁ülkesindebarnaul ▁şeer ... (+17 more)` | 27 |
108
- | 64k | `▁polzunovo ▁() ▁- ▁rusiyeniñaltay ▁ülkesindebarnaul ▁şeer bölgesinda ▁bir ... (+15 more)` | 25 |
109
 
110
- **Sample 3:** `Bobliv () - Ukrainanıñ Vinnıtsâ vilâyetinde Vinnıtsâ rayonında bir köy. Ealisini...`
111
 
112
  | Vocab | Tokens | Count |
113
  |-------|--------|-------|
114
- | 8k | `▁bob liv ▁() ▁- ▁ukrainanıñvinnıtsâ ▁vilâyetinde ▁vinnıtsârayonında ▁bir ... (+12 more)` | 22 |
115
- | 16k | `▁bob liv ▁() ▁- ▁ukrainanıñvinnıtsâ ▁vilâyetinde ▁vinnıtsârayonında ▁bir ... (+12 more)` | 22 |
116
- | 32k | `▁bob liv ▁() ▁- ▁ukrainanıñvinnıtsâ ▁vilâyetinde ▁vinnıtsârayonında ▁bir ... (+12 more)` | 22 |
117
- | 64k | `▁bobliv ▁() ▁- ▁ukrainanıñvinnıtsâ ▁vilâyetinde ▁vinnıtsâ ▁rayonında ▁bir ▁köy ... (+11 more)` | 21 |
118
 
119
 
120
  ### Key Findings
121
 
122
- - **Best Compression:** 64k achieves 4.773x compression
123
- - **Lowest UNK Rate:** 8k with 0.2020% unknown tokens
124
  - **Trade-off:** Larger vocabularies improve compression but increase model size
125
  - **Recommendation:** 32k vocabulary provides optimal balance for production use
126
 
@@ -137,12 +147,14 @@ Below are sample sentences tokenized with each vocabulary size:
137
 
138
  | N-gram | Variant | Perplexity | Entropy | Unique N-grams | Top-100 Coverage | Top-1000 Coverage |
139
  |--------|---------|------------|---------|----------------|------------------|-------------------|
140
- | **2-gram** | Word | 851 | 9.73 | 10,225 | 56.0% | 74.3% |
141
- | **2-gram** | Subword | 349 🏆 | 8.45 | 3,905 | 63.4% | 98.0% |
142
- | **3-gram** | Word | 1,276 | 10.32 | 13,312 | 49.1% | 71.8% |
143
- | **3-gram** | Subword | 2,227 | 11.12 | 29,302 | 33.0% | 71.7% |
144
- | **4-gram** | Word | 4,192 | 12.03 | 31,529 | 31.9% | 54.7% |
145
- | **4-gram** | Subword | 7,868 | 12.94 | 131,434 | 26.0% | 52.2% |
 
 
146
 
147
  ### Top 5 N-grams by Size
148
 
@@ -150,19 +162,19 @@ Below are sample sentences tokenized with each vocabulary size:
150
 
151
  | Rank | N-gram | Count |
152
  |------|--------|-------|
153
- | 1 | `ealisiniñ sayısı` | 20,731 |
154
- | 2 | `rayonında bir` | 17,343 |
155
  | 3 | `meskün yerler` | 12,883 |
156
- | 4 | `bir köy` | 10,053 |
157
- | 5 | `köy ealisiniñ` | 9,130 |
158
 
159
  **3-grams (Word):**
160
 
161
  | Rank | N-gram | Count |
162
  |------|--------|-------|
163
- | 1 | `rayonında bir köy` | 9,305 |
164
- | 2 | `köy ealisiniñ sayısı` | 9,130 |
165
- | 3 | `bir köy ealisiniñ` | 9,130 |
166
  | 4 | `rayonındaki meskün yerler` | 5,591 |
167
  | 5 | `kişi meskün yerler` | 4,604 |
168
 
@@ -170,48 +182,68 @@ Below are sample sentences tokenized with each vocabulary size:
170
 
171
  | Rank | N-gram | Count |
172
  |------|--------|-------|
173
- | 1 | `bir köy ealisiniñ sayısı` | 9,130 |
174
- | 2 | `rayonında bir köy ealisiniñ` | 8,976 |
175
  | 3 | `bir köydir ealisiniñ sayısı` | 4,601 |
176
  | 4 | `rayonında bir köydir ealisiniñ` | 4,565 |
177
  | 5 | `i̇htar rayonındaki meskün yerler` | 3,615 |
178
 
 
 
 
 
 
 
 
 
 
 
179
  **2-grams (Subword):**
180
 
181
  | Rank | N-gram | Count |
182
  |------|--------|-------|
183
- | 1 | `i n` | 101,180 |
184
- | 2 | `e r` | 95,484 |
185
- | 3 | `a _` | 88,670 |
186
- | 4 | `r _` | 84,656 |
187
- | 5 | `. _` | 80,946 |
188
 
189
  **3-grams (Subword):**
190
 
191
  | Rank | N-gram | Count |
192
  |------|--------|-------|
193
- | 1 | `i ñ _` | 43,476 |
194
- | 2 | `n i ñ` | 42,980 |
195
- | 3 | `l e r` | 42,878 |
196
- | 4 | `n d e` | 35,841 |
197
- | 5 | `e t i` | 35,623 |
198
 
199
  **4-grams (Subword):**
200
 
201
  | Rank | N-gram | Count |
202
  |------|--------|-------|
203
- | 1 | `n i ñ _` | 42,723 |
204
- | 2 | `i n d e` | 34,201 |
205
- | 3 | `y e t i` | 30,809 |
206
- | 4 | `ı n d a` | 30,136 |
207
- | 5 | `_ b i r` | 29,657 |
 
 
 
 
 
 
 
 
 
 
208
 
209
 
210
  ### Key Findings
211
 
212
- - **Best Perplexity:** 2-gram (subword) with 349
213
  - **Entropy Trend:** Decreases with larger n-grams (more predictable)
214
- - **Coverage:** Top-1000 patterns cover ~52% of corpus
215
  - **Recommendation:** 4-gram or 5-gram for best predictive performance
216
 
217
  ---
@@ -227,14 +259,14 @@ Below are sample sentences tokenized with each vocabulary size:
227
 
228
  | Context | Variant | Avg Entropy | Perplexity | Branching Factor | Unique Contexts | Predictability |
229
  |---------|---------|-------------|------------|------------------|-----------------|----------------|
230
- | **1** | Word | 0.6260 | 1.543 | 3.00 | 128,781 | 37.4% |
231
- | **1** | Subword | 0.8874 | 1.850 | 6.86 | 1,506 | 11.3% |
232
- | **2** | Word | 0.1303 | 1.094 | 1.24 | 384,958 | 87.0% |
233
- | **2** | Subword | 0.9042 | 1.872 | 5.57 | 10,319 | 9.6% |
234
- | **3** | Word | 0.0387 | 1.027 | 1.07 | 475,888 | 96.1% |
235
- | **3** | Subword | 0.8152 | 1.760 | 3.87 | 57,491 | 18.5% |
236
- | **4** | Word | 0.0241 🏆 | 1.017 | 1.05 | 504,736 | 97.6% |
237
- | **4** | Subword | 0.6067 | 1.523 | 2.54 | 222,424 | 39.3% |
238
 
239
  ### Generated Text Samples (Word-based)
240
 
@@ -242,27 +274,27 @@ Below are text samples generated from each word-based Markov chain model:
242
 
243
  **Context Size 1:**
244
 
245
- 1. `bir köy ealisiniñ sayısı 102 1 ya ayaqlı bir köydir ealisiniñ sayısı kişi vilâyetindeki qasabalar ma...`
246
- 2. `kişi vilâyetindeki meskün yerleri şeer şeklinde qasabalar albörikent accı suv miktarınıñ az olğanına...`
247
- 3. `sayısı 919 kişi vilâyetindeki şeerler boksitogorsk rayonında bir dürki türkiyede oturğan 2 567 kişi ...`
248
 
249
  **Context Size 2:**
250
 
251
- 1. `ealisiniñ sayısı 3 900 kişi muhtar vilâyetindeki şeer şeklinde qasabalar bazarnıy karabulak rayonını...`
252
- 2. `rayonında bir şeer gornozavodsk rayonınıñ merkezi ealisiniñ sayısı 562 kişi vilâyetindeki köyler ray...`
253
- 3. `bir köy ealisiniñ sayısı 952 kişi vilâyetindeki meskün yerler köyler atıflar rayonındaki meskün yerl...`
254
 
255
  **Context Size 3:**
256
 
257
- 1. `rayonında bir köy ealisiniñ sayısı kişi i̇htar rayonındaki meskün yerler köyler atıflar rayonındaki ...`
258
- 2. `köy ealisiniñ sayısı 183 kişi i̇htar rayonındaki meskün yerler köyler atıflar rayonındaki meskün yer...`
259
- 3. `bir köy ealisiniñ sayısı 7 kişi i̇htar rayonındaki meskün yerler şeer şeklinde qasabalar verhovye gl...`
260
 
261
  **Context Size 4:**
262
 
263
- 1. `bir köy ealisiniñ sayısı kişi vilâyetindeki şeer şeklinde qasabalar şeer bölgesindeki meskün yerler ...`
264
- 2. `rayonında bir köy ealisiniñ sayısı 572 kişi i̇htar rayonındaki meskün yerler vilâyetindeki şeer şekl...`
265
- 3. `bir köydir ealisiniñ sayısı 306 kişi meskün yerler`
266
 
267
 
268
  ### Generated Text Samples (Subword-based)
@@ -271,34 +303,34 @@ Below are text samples generated from each subword-based Markov chain model:
271
 
272
  **Context Size 1:**
273
 
274
- 1. `_revıñ_moviñmur_`
275
- 2. `a_()._ay.._obeto`
276
- 3. `i_робу_yıñ_()_fi`
277
 
278
  **Context Size 2:**
279
 
280
- 1. `inovaq_ümalmannıñ`
281
- 2. `a_başqırınde_talo`
282
- 3. `r_rus_graynay_the`
283
 
284
  **Context Size 3:**
285
 
286
- 1. `iñ_brânskaya_yañız`
287
- 2. `niñ_araman_sürtüyl`
288
- 3. `nde_bek-tatar_vilâ`
289
 
290
  **Context Size 4:**
291
 
292
- 1. `niñ_stepanovskiy_—_`
293
- 2. `inde_ölümlerinen_so`
294
- 3. `yetindeki_meskün_ye`
295
 
296
 
297
  ### Key Findings
298
 
299
  - **Best Predictability:** Context-4 (word) with 97.6% predictability
300
  - **Branching Factor:** Decreases with context size (more deterministic)
301
- - **Memory Trade-off:** Larger contexts require more storage (222,424 contexts)
302
  - **Recommendation:** Context-3 or Context-4 for text generation
303
 
304
  ---
@@ -314,64 +346,64 @@ Below are text samples generated from each subword-based Markov chain model:
314
 
315
  | Metric | Value |
316
  |--------|-------|
317
- | Vocabulary Size | 51,581 |
318
- | Total Tokens | 778,307 |
319
  | Mean Frequency | 15.09 |
320
  | Median Frequency | 3 |
321
- | Frequency Std Dev | 271.68 |
322
 
323
  ### Most Common Words
324
 
325
  | Rank | Word | Frequency |
326
  |------|------|-----------|
327
- | 1 | bir | 27,780 |
328
- | 2 | kişi | 20,845 |
329
- | 3 | sayısı | 20,811 |
330
- | 4 | ealisiniñ | 20,761 |
331
- | 5 | rayonında | 17,383 |
332
  | 6 | meskün | 13,506 |
333
- | 7 | yerler | 12,928 |
334
- | 8 | vilâyetinde | 12,431 |
335
- | 9 | köy | 10,895 |
336
  | 10 | rusiyeniñ | 9,597 |
337
 
338
  ### Least Common Words (from vocabulary)
339
 
340
  | Rank | Word | Frequency |
341
  |------|------|-----------|
342
- | 1 | ekranlar | 2 |
343
- | 2 | oem | 2 |
344
- | 3 | macbook | 2 |
345
- | 4 | mahsuldarlıq | 2 |
346
- | 5 | planşetler | 2 |
347
- | 6 | fatemeh | 2 |
348
- | 7 | movaghar | 2 |
349
- | 8 | پریسا | 2 |
350
- | 9 | موقر | 2 |
351
- | 10 | slammer | 2 |
352
 
353
  ### Zipf's Law Analysis
354
 
355
  | Metric | Value |
356
  |--------|-------|
357
- | Zipf Coefficient | 0.9849 |
358
- | R² (Goodness of Fit) | 0.998059 |
359
  | Adherence Quality | **excellent** |
360
 
361
  ### Coverage Analysis
362
 
363
  | Top N Words | Coverage |
364
  |-------------|----------|
365
- | Top 100 | 45.4% |
366
- | Top 1,000 | 63.7% |
367
- | Top 5,000 | 78.1% |
368
- | Top 10,000 | 84.3% |
369
 
370
  ### Key Findings
371
 
372
- - **Zipf Compliance:** R²=0.9981 indicates excellent adherence to Zipf's law
373
- - **High Frequency Dominance:** Top 100 words cover 45.4% of corpus
374
- - **Long Tail:** 41,581 words needed for remaining 15.7% coverage
375
 
376
  ---
377
  ## 5. Word Embeddings Evaluation
@@ -387,37 +419,40 @@ Below are text samples generated from each subword-based Markov chain model:
387
 
388
  ### 5.1 Cross-Lingual Alignment
389
 
390
- > *Note: Multilingual alignment visualization not available for this language.*
 
 
391
 
392
 
393
  ### 5.2 Model Comparison
394
 
395
  | Model | Dimension | Isotropy | Semantic Density | Alignment R@1 | Alignment R@10 |
396
  |-------|-----------|----------|------------------|---------------|----------------|
397
- | **mono_32d** | 32 | 0.6920 🏆 | 0.3816 | N/A | N/A |
398
- | **mono_64d** | 64 | 0.4424 | 0.3546 | N/A | N/A |
399
- | **mono_128d** | 128 | 0.1085 | 0.3496 | N/A | N/A |
 
 
 
400
 
401
  ### Key Findings
402
 
403
- - **Best Isotropy:** mono_32d with 0.6920 (more uniform distribution)
404
- - **Semantic Density:** Average pairwise similarity of 0.3619. Lower values indicate better semantic separation.
405
- - **Alignment Quality:** No aligned models evaluated in this run.
406
  - **Recommendation:** 128d aligned for best cross-lingual performance
407
 
408
  ---
409
  ## 6. Morphological Analysis (Experimental)
410
 
411
- > ⚠️ **Warning:** This language shows low morphological productivity. The statistical signals used for this analysis may be noisy or less reliable than for morphologically rich languages.
412
-
413
  This section presents an automated morphological analysis derived from the statistical divergence between word-level and subword-level models. By analyzing where subword predictability spikes and where word-level coverage fails, we can infer linguistic structures without supervised data.
414
 
415
  ### 6.1 Productivity & Complexity
416
 
417
  | Metric | Value | Interpretation | Recommendation |
418
  |--------|-------|----------------|----------------|
419
- | Productivity Index | **0.000** | Low morphological productivity | ⚠️ Likely unreliable |
420
- | Idiomaticity Gap | **-1.000** | Low formulaic content | - |
421
 
422
  ### 6.2 Affix Inventory (Productive Units)
423
 
@@ -430,14 +465,14 @@ These are the most productive prefixes and suffixes identified by sampling the v
430
  #### Productive Suffixes
431
  | Suffix | Examples |
432
  |--------|----------|
433
- | `-a` | belâyeva, sira, boynuna |
434
- | `-ka` | tatyanovka, verigovka, mazanka |
435
- | `-vo` | çkalovo, beketovo, çufarovo |
436
- | `-vka` | tatyanovka, verigovka, karnauhovka |
437
- | `-an` | yasaqlağan, başqırtistan, i̇talyan |
438
- | `-ovo` | çkalovo, beketovo, çufarovo |
439
- | `-en` | yerlerinden, esitgen, yaratıcılığınen |
440
- | `-ya` | nesterovskaya, podsosennaya, borzovaya |
441
 
442
  ### 6.3 Bound Stems (Lexical Roots)
443
 
@@ -445,18 +480,18 @@ Bound stems are high-frequency subword units that are semantically cohesive but
445
 
446
  | Stem | Cohesion | Substitutability | Examples |
447
  |------|----------|------------------|----------|
448
- | `rler` | 1.64x | 57 contexts | erler, yerler, kirler |
449
- | `siye` | 2.07x | 21 contexts | asiye, rusiye, vasiyet |
450
- | `isin` | 1.60x | 34 contexts | lisin, episine, ekisini |
451
- | `iniñ` | 1.68x | 26 contexts | eliniñ, aliniñ, öziniñ |
452
- | `nesi` | 1.66x | 22 contexts | nesir, nesib, nesil |
453
- | `usiy` | 2.15x | 9 contexts | lusiya, rusiye, hususiy |
454
- | `eniñ` | 1.77x | 15 contexts | heniñ, seniñ, ekeniñ |
455
- | `lâye` | 1.89x | 11 contexts | gulâyev, belâyev, vilâyet |
456
- | `âyet` | 1.89x | 11 contexts | vilâyet, menâyet, şikâyet |
457
- | `yeti` | 1.62x | 17 contexts | yetim, yetip, yetişe |
458
- | `sini` | 1.62x | 15 contexts | siniy, sinip, sesini |
459
- | `tind` | 1.75x | 11 contexts | etinden, betinde, şetinde |
460
 
461
  ### 6.4 Affix Compatibility (Co-occurrence)
462
 
@@ -471,26 +506,26 @@ Using **Recursive Hierarchical Substitutability**, we decompose complex words in
471
 
472
  | Word | Suggested Split | Confidence | Stem |
473
  |------|-----------------|------------|------|
474
- | çabayevka | **`çaba-ye-vka`** | 6.0 | `çaba` |
475
- | ruzayevka | **`ruza-ye-vka`** | 6.0 | `ruza` |
476
- | turmayevo | **`turma-ye-vo`** | 6.0 | `turma` |
477
- | natalivka | **`natali-vka`** | 4.5 | `natali` |
478
- | çingizovo | **`çingiz-ovo`** | 4.5 | `çingiz` |
479
- | krasnoyarovo | **`krasnoyar-ovo`** | 4.5 | `krasnoyar` |
480
- | kapustinka | **`kapustin-ka`** | 4.5 | `kapustin` |
481
- | malinovka | **`malino-vka`** | 4.5 | `malino` |
482
- | soldatovo | **`soldat-ovo`** | 4.5 | `soldat` |
483
- | kaltımanovo | **`kaltım-an-ovo`** | 3.0 | `kaltım` |
484
- | balabanovo | **`balab-an-ovo`** | 3.0 | `balab` |
485
- | olehovskaya | **`olehovs-ka-ya`** | 3.0 | `olehovs` |
486
- | olşanskaya | **`olşans-ka-ya`** | 3.0 | `olşans` |
487
- | kıtmanovo | **`kıtm-an-ovo`** | 3.0 | `kıtm` |
488
- | kropıvenka | **`kropıv-en-ka`** | 3.0 | `kropıv` |
489
 
490
  ### 6.6 Linguistic Interpretation
491
 
492
  > **Automated Insight:**
493
- The language CRH 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.
494
 
495
  ---
496
  ## 7. Summary & Recommendations
@@ -501,8 +536,8 @@ The language CRH appears to be more isolating or has a highly fixed vocabulary.
501
 
502
  | Component | Recommended | Rationale |
503
  |-----------|-------------|-----------|
504
- | Tokenizer | **64k BPE** | Best compression (4.77x) |
505
- | N-gram | **2-gram** | Lowest perplexity (349) |
506
  | Markov | **Context-4** | Highest predictability (97.6%) |
507
  | Embeddings | **100d** | Balanced semantic capture and isotropy |
508
 
@@ -717,4 +752,4 @@ MIT License - Free for academic and commercial use.
717
  ---
718
  *Generated by Wikilangs Models Pipeline*
719
 
720
- *Report Date: 2026-01-03 10:33:02*
 
1
  ---
2
  language: crh
3
+ language_name: Crimean Tatar
4
  language_family: turkic_kipchak
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-turkic_kipchak
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.779
37
  - name: best_isotropy
38
  type: isotropy
39
+ value: 0.7031
40
  - name: vocabulary_size
41
  type: vocab
42
  value: 0
43
  generated: 2026-01-03
44
  ---
45
 
46
+ # Crimean Tatar - Wikilangs Models
47
  ## Comprehensive Research Report & Full Ablation Study
48
 
49
+ This repository contains NLP models trained and evaluated by Wikilangs, specifically on **Crimean Tatar** 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.646x | 3.65 | 0.2038% | 212,471 |
94
+ | **16k** | 4.078x | 4.08 | 0.2279% | 189,960 |
95
+ | **32k** | 4.457x | 4.46 | 0.2492% | 173,772 |
96
+ | **64k** | 4.779x 🏆 | 4.79 | 0.2672% | 162,079 |
97
 
98
  ### Tokenization Examples
99
 
100
  Below are sample sentences tokenized with each vocabulary size:
101
 
102
+ **Sample 1:** `İslanovo () - Rusiyede, Başqırtistan Cumhuriyetiniñ Kuşnarenko rayonında bir köy...`
103
 
104
  | Vocab | Tokens | Count |
105
  |-------|--------|-------|
106
+ | 8k | `▁İs lan ovo ▁() ▁- ▁rusiyede ,başqırtistancumhuriyetiniñkuşnarenko ... (+13 more)` | 23 |
107
+ | 16k | `▁İs lanovo ▁() ▁- ▁rusiyede , başqırtistan ▁cumhuriyetiniñkuşnarenko ▁rayonında ... (+12 more)` | 22 |
108
+ | 32k | `▁İs lanovo ▁() ▁- ▁rusiyede , başqırtistan ▁cumhuriyetiniñkuşnarenko ▁rayonında ... (+12 more)` | 22 |
109
+ | 64k | `▁İslanovo ▁() ▁- ▁rusiyede , başqırtistan ▁cumhuriyetiniñkuşnarenko ▁rayonında ▁bir ... (+11 more)` | 21 |
110
 
111
+ **Sample 2:** `Drujbivka () - Ukrainanıñ Jıtomır vilâyetinde Korosten rayonında bir köy. Ealisi...`
112
 
113
  | Vocab | Tokens | Count |
114
  |-------|--------|-------|
115
+ | 8k | `▁druj bivka ▁() ▁- ▁ukrainanıñjıtomır ▁vilâyetindekorosten ▁rayonında ▁bir ... (+12 more)` | 22 |
116
+ | 16k | `▁druj bivka ▁() ▁- ▁ukrainanıñjıtomır ▁vilâyetindekorosten ▁rayonında ▁bir ... (+12 more)` | 22 |
117
+ | 32k | `▁druj bivka ▁() ▁- ▁ukrainanıñjıtomır ▁vilâyetindekorosten ▁rayonında ▁bir ... (+12 more)` | 22 |
118
+ | 64k | `▁drujbivka ▁() ▁- ▁ukrainanıñjıtomır ▁vilâyetindekorostenrayonında ▁bir ▁köy ... (+11 more)` | 21 |
119
 
120
+ **Sample 3:** `Koltunovka () - Rusiyeniñ Belgorod vilâyetinde, Alekseyevka rayonında bir köy. E...`
121
 
122
  | Vocab | Tokens | Count |
123
  |-------|--------|-------|
124
+ | 8k | `▁kol tun ovka ▁() ▁- ▁rusiyeniñbelgorod ▁vilâyetinde ,alekseyevka ... (+15 more)` | 25 |
125
+ | 16k | `▁kol tun ovka ▁() ▁- ▁rusiyeniñbelgorod ▁vilâyetinde ,alekseyevka ... (+15 more)` | 25 |
126
+ | 32k | `▁kol tun ovka ▁() ▁- ▁rusiyeniñbelgorod ▁vilâyetinde ,alekseyevka ... (+15 more)` | 25 |
127
+ | 64k | `▁koltunovka ▁() ▁- ▁rusiyeniñbelgorod ▁vilâyetinde , alekseyevka ▁rayonında ▁bir ... (+13 more)` | 23 |
128
 
129
 
130
  ### Key Findings
131
 
132
+ - **Best Compression:** 64k achieves 4.779x compression
133
+ - **Lowest UNK Rate:** 8k with 0.2038% unknown tokens
134
  - **Trade-off:** Larger vocabularies improve compression but increase model size
135
  - **Recommendation:** 32k vocabulary provides optimal balance for production use
136
 
 
147
 
148
  | N-gram | Variant | Perplexity | Entropy | Unique N-grams | Top-100 Coverage | Top-1000 Coverage |
149
  |--------|---------|------------|---------|----------------|------------------|-------------------|
150
+ | **2-gram** | Word | 849 | 9.73 | 10,213 | 56.1% | 74.4% |
151
+ | **2-gram** | Subword | 348 🏆 | 8.44 | 3,878 | 63.4% | 98.0% |
152
+ | **3-gram** | Word | 1,276 | 10.32 | 13,301 | 49.1% | 71.8% |
153
+ | **3-gram** | Subword | 2,220 | 11.12 | 29,221 | 33.1% | 71.8% |
154
+ | **4-gram** | Word | 4,190 | 12.03 | 31,513 | 31.9% | 54.7% |
155
+ | **4-gram** | Subword | 7,833 | 12.94 | 131,199 | 26.0% | 52.3% |
156
+ | **5-gram** | Word | 6,061 | 12.57 | 29,487 | 24.1% | 48.5% |
157
+ | **5-gram** | Subword | 16,690 | 14.03 | 285,107 | 23.4% | 46.1% |
158
 
159
  ### Top 5 N-grams by Size
160
 
 
162
 
163
  | Rank | N-gram | Count |
164
  |------|--------|-------|
165
+ | 1 | `ealisiniñ sayısı` | 20,740 |
166
+ | 2 | `rayonında bir` | 17,352 |
167
  | 3 | `meskün yerler` | 12,883 |
168
+ | 4 | `bir köy` | 10,061 |
169
+ | 5 | `köy ealisiniñ` | 9,139 |
170
 
171
  **3-grams (Word):**
172
 
173
  | Rank | N-gram | Count |
174
  |------|--------|-------|
175
+ | 1 | `rayonında bir köy` | 9,314 |
176
+ | 2 | `bir köy ealisiniñ` | 9,139 |
177
+ | 3 | `köy ealisiniñ sayısı` | 9,139 |
178
  | 4 | `rayonındaki meskün yerler` | 5,591 |
179
  | 5 | `kişi meskün yerler` | 4,604 |
180
 
 
182
 
183
  | Rank | N-gram | Count |
184
  |------|--------|-------|
185
+ | 1 | `bir köy ealisiniñ sayısı` | 9,139 |
186
+ | 2 | `rayonında bir köy ealisiniñ` | 8,985 |
187
  | 3 | `bir köydir ealisiniñ sayısı` | 4,601 |
188
  | 4 | `rayonında bir köydir ealisiniñ` | 4,565 |
189
  | 5 | `i̇htar rayonındaki meskün yerler` | 3,615 |
190
 
191
+ **5-grams (Word):**
192
+
193
+ | Rank | N-gram | Count |
194
+ |------|--------|-------|
195
+ | 1 | `rayonında bir köy ealisiniñ sayısı` | 8,985 |
196
+ | 2 | `rayonında bir köydir ealisiniñ sayısı` | 4,565 |
197
+ | 3 | `kişi i̇htar rayonındaki meskün yerler` | 2,558 |
198
+ | 4 | `asırnıñ bir senesi vaqialar doğumlar` | 1,996 |
199
+ | 5 | `bir senesi vaqialar doğumlar ölümler` | 1,917 |
200
+
201
  **2-grams (Subword):**
202
 
203
  | Rank | N-gram | Count |
204
  |------|--------|-------|
205
+ | 1 | `i n` | 101,089 |
206
+ | 2 | `e r` | 95,398 |
207
+ | 3 | `a _` | 88,613 |
208
+ | 4 | `r _` | 84,598 |
209
+ | 5 | `. _` | 80,856 |
210
 
211
  **3-grams (Subword):**
212
 
213
  | Rank | N-gram | Count |
214
  |------|--------|-------|
215
+ | 1 | `i ñ _` | 43,406 |
216
+ | 2 | `n i ñ` | 42,914 |
217
+ | 3 | `l e r` | 42,891 |
218
+ | 4 | `n d e` | 35,848 |
219
+ | 5 | `e t i` | 35,643 |
220
 
221
  **4-grams (Subword):**
222
 
223
  | Rank | N-gram | Count |
224
  |------|--------|-------|
225
+ | 1 | `n i ñ _` | 42,657 |
226
+ | 2 | `i n d e` | 34,217 |
227
+ | 3 | `y e t i` | 30,830 |
228
+ | 4 | `ı n d a` | 30,087 |
229
+ | 5 | `_ b i r` | 29,643 |
230
+
231
+ **5-grams (Subword):**
232
+
233
+ | Rank | N-gram | Count |
234
+ |------|--------|-------|
235
+ | 1 | `i n i ñ _` | 28,194 |
236
+ | 2 | `y e t i n` | 28,057 |
237
+ | 3 | `_ b i r _` | 27,628 |
238
+ | 4 | `r a y o n` | 26,921 |
239
+ | 5 | `_ r a y o` | 26,900 |
240
 
241
 
242
  ### Key Findings
243
 
244
+ - **Best Perplexity:** 2-gram (subword) with 348
245
  - **Entropy Trend:** Decreases with larger n-grams (more predictable)
246
+ - **Coverage:** Top-1000 patterns cover ~46% of corpus
247
  - **Recommendation:** 4-gram or 5-gram for best predictive performance
248
 
249
  ---
 
259
 
260
  | Context | Variant | Avg Entropy | Perplexity | Branching Factor | Unique Contexts | Predictability |
261
  |---------|---------|-------------|------------|------------------|-----------------|----------------|
262
+ | **1** | Word | 0.6244 | 1.542 | 2.99 | 128,666 | 37.6% |
263
+ | **1** | Subword | 0.8852 | 1.847 | 6.85 | 1,505 | 11.5% |
264
+ | **2** | Word | 0.1302 | 1.094 | 1.24 | 383,467 | 87.0% |
265
+ | **2** | Subword | 0.9025 | 1.869 | 5.57 | 10,300 | 9.7% |
266
+ | **3** | Word | 0.0387 | 1.027 | 1.07 | 474,016 | 96.1% |
267
+ | **3** | Subword | 0.8153 | 1.760 | 3.87 | 57,358 | 18.5% |
268
+ | **4** | Word | 0.0242 🏆 | 1.017 | 1.05 | 502,796 | 97.6% |
269
+ | **4** | Subword | 0.6069 | 1.523 | 2.54 | 221,948 | 39.3% |
270
 
271
  ### Generated Text Samples (Word-based)
272
 
 
274
 
275
  **Context Size 1:**
276
 
277
+ 1. `bir cemaatı ukrainanıñ jıtomır vilâyetinde olevsk rayonında bir şeer şeklinde qasabalar vahruşev nog...`
278
+ 2. `kişi rayonındaki meskün yerler köyler abatskoye rusiyeniñ hantı mansi muhtar cumhuriyetinıñ devlet g...`
279
+ 3. `sayısı 0 kişi meskün yerler veloturizm iklim deñişmelerine çoq yüklü yükni yükniñ yüksek mölekulâr o...`
280
 
281
  **Context Size 2:**
282
 
283
+ 1. `ealisiniñ sayısı kişi senesi vilâyetindeki qasabalar`
284
+ 2. `rayonında bir aul adıge habl calancük kiçik i̇ncik kavkazskiy pregradna üçköken habez erkin şeer rus...`
285
+ 3. `bir köy oktâbr rayonınıñ merkezi ealisiniñ sayısı 202 939 kişi senesi atıflar rayonındaki meskün yer...`
286
 
287
  **Context Size 3:**
288
 
289
+ 1. `rayonında bir köy ealisiniñ sayısı 394 kişi senesi atıflar rayonındaki meskün yerler köyler atıflar ...`
290
+ 2. `bir köy ealisiniñ sayısı 593 kişi i̇htar rayonındaki meskün yerler köyler atıflar rayonındaki meskün...`
291
+ 3. `köy ealisiniñ sayısı 828 kişi vilâyetindeki meskün yerler`
292
 
293
  **Context Size 4:**
294
 
295
+ 1. `bir köy ealisiniñ sayısı kişi vilâyetindeki meskün yerler`
296
+ 2. `rayonında bir köy ealisiniñ sayısı 134 kişi vilâyetindeki meskün yerler`
297
+ 3. `bir köydir ealisiniñ sayısı 25 kişi i̇htar rayonındaki meskün yerler vilâyetindeki şeer şeklinde qas...`
298
 
299
 
300
  ### Generated Text Samples (Subword-based)
 
303
 
304
  **Context Size 1:**
305
 
306
+ 1. `_()_-_qmı_mi._be`
307
+ 2. `ariraye_altviyür`
308
+ 3. `i._bişekayay._()`
309
 
310
  **Context Size 2:**
311
 
312
+ 1. `iniv-ufterlar,_ad`
313
+ 2. `a_balisiyentılari`
314
+ 3. `r_rusiyetingrayıs`
315
 
316
  **Context Size 3:**
317
 
318
+ 1. `iñ_sayısı_591_belg`
319
+ 2. `niñ_sayısı_kir._ea`
320
+ 3. `nde_dinde_ögrendi_`
321
 
322
  **Context Size 4:**
323
 
324
+ 1. `niñ_noviçi_bar._cev`
325
+ 2. `inde_kontsev_artemi`
326
+ 3. `yetinde_bir_qast_ma`
327
 
328
 
329
  ### Key Findings
330
 
331
  - **Best Predictability:** Context-4 (word) with 97.6% predictability
332
  - **Branching Factor:** Decreases with context size (more deterministic)
333
+ - **Memory Trade-off:** Larger contexts require more storage (221,948 contexts)
334
  - **Recommendation:** Context-3 or Context-4 for text generation
335
 
336
  ---
 
346
 
347
  | Metric | Value |
348
  |--------|-------|
349
+ | Vocabulary Size | 51,458 |
350
+ | Total Tokens | 776,471 |
351
  | Mean Frequency | 15.09 |
352
  | Median Frequency | 3 |
353
+ | Frequency Std Dev | 272.01 |
354
 
355
  ### Most Common Words
356
 
357
  | Rank | Word | Frequency |
358
  |------|------|-----------|
359
+ | 1 | bir | 27,753 |
360
+ | 2 | kişi | 20,857 |
361
+ | 3 | sayısı | 20,821 |
362
+ | 4 | ealisiniñ | 20,770 |
363
+ | 5 | rayonında | 17,392 |
364
  | 6 | meskün | 13,506 |
365
+ | 7 | yerler | 12,926 |
366
+ | 8 | vilâyetinde | 12,440 |
367
+ | 9 | köy | 10,901 |
368
  | 10 | rusiyeniñ | 9,597 |
369
 
370
  ### Least Common Words (from vocabulary)
371
 
372
  | Rank | Word | Frequency |
373
  |------|------|-----------|
374
+ | 1 | зияде | 2 |
375
+ | 2 | atalarnıñ | 2 |
376
+ | 3 | kotsubınskıylar | 2 |
377
+ | 4 | yüneskonıñ | 2 |
378
+ | 5 | دیللر | 2 |
379
+ | 6 | ازبری | 2 |
380
+ | 7 | اولان | 2 |
381
+ | 8 | سامانچی | 2 |
382
+ | 9 | قیزی | 2 |
383
+ | 10 | samançı | 2 |
384
 
385
  ### Zipf's Law Analysis
386
 
387
  | Metric | Value |
388
  |--------|-------|
389
+ | Zipf Coefficient | 0.9856 |
390
+ | R² (Goodness of Fit) | 0.998043 |
391
  | Adherence Quality | **excellent** |
392
 
393
  ### Coverage Analysis
394
 
395
  | Top N Words | Coverage |
396
  |-------------|----------|
397
+ | Top 100 | 45.6% |
398
+ | Top 1,000 | 63.8% |
399
+ | Top 5,000 | 78.2% |
400
+ | Top 10,000 | 84.4% |
401
 
402
  ### Key Findings
403
 
404
+ - **Zipf Compliance:** R²=0.9980 indicates excellent adherence to Zipf's law
405
+ - **High Frequency Dominance:** Top 100 words cover 45.6% of corpus
406
+ - **Long Tail:** 41,458 words needed for remaining 15.6% coverage
407
 
408
  ---
409
  ## 5. Word Embeddings Evaluation
 
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.7031 🏆 | 0.3722 | N/A | N/A |
432
+ | **mono_64d** | 64 | 0.4233 | 0.3424 | N/A | N/A |
433
+ | **mono_128d** | 128 | 0.1068 | 0.3377 | N/A | N/A |
434
+ | **aligned_32d** | 32 | 0.7031 | 0.3786 | 0.0140 | 0.1600 |
435
+ | **aligned_64d** | 64 | 0.4233 | 0.3386 | 0.0380 | 0.2140 |
436
+ | **aligned_128d** | 128 | 0.1068 | 0.3419 | 0.0560 | 0.2680 |
437
 
438
  ### Key Findings
439
 
440
+ - **Best Isotropy:** mono_32d with 0.7031 (more uniform distribution)
441
+ - **Semantic Density:** Average pairwise similarity of 0.3519. Lower values indicate better semantic separation.
442
+ - **Alignment Quality:** Aligned models achieve up to 5.6% R@1 in cross-lingual retrieval.
443
  - **Recommendation:** 128d aligned for best cross-lingual performance
444
 
445
  ---
446
  ## 6. Morphological Analysis (Experimental)
447
 
 
 
448
  This section presents an automated morphological analysis derived from the statistical divergence between word-level and subword-level models. By analyzing where subword predictability spikes and where word-level coverage fails, we can infer linguistic structures without supervised data.
449
 
450
  ### 6.1 Productivity & Complexity
451
 
452
  | Metric | Value | Interpretation | Recommendation |
453
  |--------|-------|----------------|----------------|
454
+ | Productivity Index | **5.000** | High morphological productivity | Reliable analysis |
455
+ | Idiomaticity Gap | **0.052** | Low formulaic content | - |
456
 
457
  ### 6.2 Affix Inventory (Productive Units)
458
 
 
465
  #### Productive Suffixes
466
  | Suffix | Examples |
467
  |--------|----------|
468
+ | `-a` | terehova, biçura, observatoriya |
469
+ | `-ka` | novosölka, alekseyevka, kapustânka |
470
+ | `-vo` | korolövo, semenovo, hetovo |
471
+ | `-vka` | alekseyevka, dolgalovka, svetlovka |
472
+ | `-an` | turan, birobican, adlandırğan |
473
+ | `-ovo` | semenovo, hetovo, panfilovo |
474
+ | `-ye` | zapolnoye, smelıye, voznesenskoye |
475
+ | `-en` | keçirmegen, nevbetten, neogen |
476
 
477
  ### 6.3 Bound Stems (Lexical Roots)
478
 
 
480
 
481
  | Stem | Cohesion | Substitutability | Examples |
482
  |------|----------|------------------|----------|
483
+ | `leri` | 1.60x | 110 contexts | ileri, lerik, galeri |
484
+ | `rler` | 1.60x | 57 contexts | erler, yerler, derler |
485
+ | `siye` | 2.05x | 21 contexts | asiye, rusiye, tevsiye |
486
+ | `isin` | 1.57x | 31 contexts | episine, kerisin, reisini |
487
+ | `iniñ` | 1.64x | 26 contexts | eviniñ, iliniñ, eliniñ |
488
+ | `nesi` | 1.64x | 22 contexts | nesib, nesil, nesir |
489
+ | `eniñ` | 1.75x | 16 contexts | seniñ, heniñ, ekeniñ |
490
+ | `usiy` | 2.11x | 9 contexts | lusiya, rusiye, hususiy |
491
+ | `lâye` | 1.87x | 11 contexts | belâyev, gulâyev, vilâyet |
492
+ | `âyet` | 1.87x | 11 contexts | menâyet, vilâyet, şikâyet |
493
+ | `sini` | 1.70x | 14 contexts | siniy, sinip, aksini |
494
+ | `yeti` | 1.59x | 17 contexts | yetip, yetim, yetişe |
495
 
496
  ### 6.4 Affix Compatibility (Co-occurrence)
497
 
 
506
 
507
  | Word | Suggested Split | Confidence | Stem |
508
  |------|-----------------|------------|------|
509
+ | gazetanen | **`gazet-an-en`** | 6.0 | `gazet` |
510
+ | ananyevka | **`anan-ye-vka`** | 6.0 | `anan` |
511
+ | petrusnıñ | **`petrus-nıñ`** | 4.5 | `petrus` |
512
+ | vesiqalarınıñ | **`vesiqaları-nıñ`** | 4.5 | `vesiqaları` |
513
+ | nikiforovo | **`nikifor-ovo`** | 4.5 | `nikifor` |
514
+ | sistemasınıñ | **`sisteması-nıñ`** | 4.5 | `sisteması` |
515
+ | qısımlarınıñ | **`qısımları-nıñ`** | 4.5 | `qısımları` |
516
+ | borispolye | **`borispol-ye`** | 4.5 | `borispol` |
517
+ | programmanıñ | **`programma-nıñ`** | 4.5 | `programma` |
518
+ | gotlarnıñ | **`gotlar-nıñ`** | 4.5 | `gotlar` |
519
+ | qadılıqnıñ | **`qadılıq-nıñ`** | 4.5 | `qadılıq` |
520
+ | kopelânka | **`kopelân-ka`** | 4.5 | `kopelân` |
521
+ | mahsulatlarnıñ | **`mahsulatlar-nıñ`** | 4.5 | `mahsulatlar` |
522
+ | nigeriyanıñ | **`nigeriya-nıñ`** | 4.5 | `nigeriya` |
523
+ | qasabanıñ | **`qasaba-nıñ`** | 4.5 | `qasaba` |
524
 
525
  ### 6.6 Linguistic Interpretation
526
 
527
  > **Automated Insight:**
528
+ The language Crimean Tatar shows high morphological productivity. The subword models are significantly more efficient than word models, suggesting a rich system of affixation or compounding.
529
 
530
  ---
531
  ## 7. Summary & Recommendations
 
536
 
537
  | Component | Recommended | Rationale |
538
  |-----------|-------------|-----------|
539
+ | Tokenizer | **64k BPE** | Best compression (4.78x) |
540
+ | N-gram | **2-gram** | Lowest perplexity (348) |
541
  | Markov | **Context-4** | Highest predictability (97.6%) |
542
  | Embeddings | **100d** | Balanced semantic capture and isotropy |
543
 
 
752
  ---
753
  *Generated by Wikilangs Models Pipeline*
754
 
755
+ *Report Date: 2026-01-03 20:48:59*
models/embeddings/aligned/crh_128d.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b25c442c888bd49ba33657541b259bc8c7993a4a822d0b4f047f95e2414bb7ba
3
+ size 1039762899
models/embeddings/aligned/crh_128d.meta.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"lang": "crh", "dim": 128, "max_seq_len": 512, "is_aligned": true}
models/embeddings/aligned/crh_128d.projection.npy ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:e0c9317a0ebc1d09f0f1eb19e67a7a3a45f82bead865a7780074382f6429021a
3
+ size 65664
models/embeddings/aligned/crh_128d_metadata.json ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "language": "crh",
3
+ "dimension": 128,
4
+ "version": "aligned",
5
+ "hub_language": "en",
6
+ "seed_vocab_size": 3418,
7
+ "vocab_size": 15135
8
+ }
models/embeddings/aligned/crh_32d.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c71dd6902c7a34a2394c9007bfb8e46171666b35fc184eb1e5c00d5b0223a0e3
3
+ size 260139219
models/embeddings/aligned/crh_32d.meta.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"lang": "crh", "dim": 32, "max_seq_len": 512, "is_aligned": true}
models/embeddings/aligned/crh_32d.projection.npy ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:667941779b81d220b32db7a7da75e1b2dd17098b578c084166c8a3b42bcacb01
3
+ size 4224
models/embeddings/aligned/crh_32d_metadata.json ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "language": "crh",
3
+ "dimension": 32,
4
+ "version": "aligned",
5
+ "hub_language": "en",
6
+ "seed_vocab_size": 3418,
7
+ "vocab_size": 15135
8
+ }
models/embeddings/aligned/crh_64d.bin ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6078827c3fe5f982b19139f13fe285e0abd69c77e62cd8f4ffa32fae7fc79c56
3
+ size 520013779
models/embeddings/aligned/crh_64d.meta.json ADDED
@@ -0,0 +1 @@
 
 
1
+ {"lang": "crh", "dim": 64, "max_seq_len": 512, "is_aligned": true}
models/embeddings/aligned/crh_64d.projection.npy ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:613d15270964a5f77a2cf44a9f7b6195546589f19844110624f808558bcfbfc6
3
+ size 16512
models/embeddings/aligned/crh_64d_metadata.json ADDED
@@ -0,0 +1,8 @@
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "language": "crh",
3
+ "dimension": 64,
4
+ "version": "aligned",
5
+ "hub_language": "en",
6
+ "seed_vocab_size": 3418,
7
+ "vocab_size": 15135
8
+ }
models/embeddings/monolingual/crh_128d.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:a2c03c90e9321eff6a486a7b259eb6d14069ad97d6e4851aaa1d32c01bb7310b
3
- size 1039804561
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:b25c442c888bd49ba33657541b259bc8c7993a4a822d0b4f047f95e2414bb7ba
3
+ size 1039762899
models/embeddings/monolingual/crh_128d_metadata.json CHANGED
@@ -11,5 +11,5 @@
11
  "encoding_method": "rope",
12
  "dim": 128
13
  },
14
- "vocab_size": 15175
15
  }
 
11
  "encoding_method": "rope",
12
  "dim": 128
13
  },
14
+ "vocab_size": 15135
15
  }
models/embeddings/monolingual/crh_32d.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:08fc415d5a1b109301770bd6dbcbfbdde2008dd25a25d23f81ace78bc3971a3a
3
- size 260150161
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c71dd6902c7a34a2394c9007bfb8e46171666b35fc184eb1e5c00d5b0223a0e3
3
+ size 260139219
models/embeddings/monolingual/crh_32d_metadata.json CHANGED
@@ -11,5 +11,5 @@
11
  "encoding_method": "rope",
12
  "dim": 32
13
  },
14
- "vocab_size": 15175
15
  }
 
11
  "encoding_method": "rope",
12
  "dim": 32
13
  },
14
+ "vocab_size": 15135
15
  }
models/embeddings/monolingual/crh_64d.bin CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:e5d8136014d664519e3bafeb0cfc668b4993f78425d51bdcf0d9d06734bd0726
3
- size 520034961
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:6078827c3fe5f982b19139f13fe285e0abd69c77e62cd8f4ffa32fae7fc79c56
3
+ size 520013779
models/embeddings/monolingual/crh_64d_metadata.json CHANGED
@@ -11,5 +11,5 @@
11
  "encoding_method": "rope",
12
  "dim": 64
13
  },
14
- "vocab_size": 15175
15
  }
 
11
  "encoding_method": "rope",
12
  "dim": 64
13
  },
14
+ "vocab_size": 15135
15
  }
models/subword_markov/crh_markov_ctx1_subword.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:e2ba0d156d7362837baf91177f2123bb0ccb074f4556c38c22f0d046b19f9805
3
- size 84372
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:fd8b34f078483c036527908f67f3c5610d2c29f649b2720f530fa2dfa1b0e8db
3
+ size 85168
models/subword_markov/crh_markov_ctx1_subword_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "context_size": 1,
3
  "variant": "subword",
4
  "language": "crh",
5
- "unique_contexts": 1506,
6
- "total_transitions": 6777473
7
  }
 
2
  "context_size": 1,
3
  "variant": "subword",
4
  "language": "crh",
5
+ "unique_contexts": 1505,
6
+ "total_transitions": 6765123
7
  }
models/subword_markov/crh_markov_ctx2_subword.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:a42c66f0a162aa7d06896db540b1636552e8a9ebc256f5e6cf8d91c7301d5444
3
- size 481861
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4761755ce745fbee84031c20a4990ec524aad21f4e11fd88cdf2c94a677ff81a
3
+ size 483634
models/subword_markov/crh_markov_ctx2_subword_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "context_size": 2,
3
  "variant": "subword",
4
  "language": "crh",
5
- "unique_contexts": 10319,
6
- "total_transitions": 6748084
7
  }
 
2
  "context_size": 2,
3
  "variant": "subword",
4
  "language": "crh",
5
+ "unique_contexts": 10300,
6
+ "total_transitions": 6735724
7
  }
models/subword_markov/crh_markov_ctx3_subword.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:5a42665c99cf0102347580ad03ad8662c7dcd958de7c0259e8380dcbc939a89f
3
- size 1701410
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:0d7b982a5cdc24199071b45ac69453cfed21172bca4664510b3570bd6288d358
3
+ size 1694801
models/subword_markov/crh_markov_ctx3_subword_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "context_size": 3,
3
  "variant": "subword",
4
  "language": "crh",
5
- "unique_contexts": 57491,
6
- "total_transitions": 6718695
7
  }
 
2
  "context_size": 3,
3
  "variant": "subword",
4
  "language": "crh",
5
+ "unique_contexts": 57358,
6
+ "total_transitions": 6706325
7
  }
models/subword_markov/crh_markov_ctx4_subword.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:769a741cb6357905e7c73c65cde5f662a2cbc84d3c2b1870ec910617615ba5a1
3
- size 4686904
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:903e403063a2e04972c716a4a97faa64eeb890febdf6661d0331d774f610cf77
3
+ size 4695561
models/subword_markov/crh_markov_ctx4_subword_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "context_size": 4,
3
  "variant": "subword",
4
  "language": "crh",
5
- "unique_contexts": 222424,
6
- "total_transitions": 6689306
7
  }
 
2
  "context_size": 4,
3
  "variant": "subword",
4
  "language": "crh",
5
+ "unique_contexts": 221948,
6
+ "total_transitions": 6676926
7
  }
models/subword_ngram/crh_2gram_subword.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:d352e2e3b7dd102bd7055d607a37c3738aff67c0c66285e95804ad330500d280
3
- size 52920
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c38e7c0b1e3acc2977ee1a5653edebd3b316b0ecf31ef015fc3403af3c4d4525
3
+ size 52765
models/subword_ngram/crh_2gram_subword_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "n": 2,
3
  "variant": "subword",
4
  "language": "crh",
5
- "unique_ngrams": 3905,
6
- "total_ngrams": 6777473
7
  }
 
2
  "n": 2,
3
  "variant": "subword",
4
  "language": "crh",
5
+ "unique_ngrams": 3878,
6
+ "total_ngrams": 6765123
7
  }
models/subword_ngram/crh_3gram_subword.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:1a92a6f76ef54f7e43af0d7e9c762ace522be6627fa4f29ab3df5200c1f2a63d
3
- size 375416
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2a4981bac1848719016e59cfd08d405c69d980728a0f727aa6f9435123b26a87
3
+ size 373904
models/subword_ngram/crh_3gram_subword_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "n": 3,
3
  "variant": "subword",
4
  "language": "crh",
5
- "unique_ngrams": 29302,
6
- "total_ngrams": 6748084
7
  }
 
2
  "n": 3,
3
  "variant": "subword",
4
  "language": "crh",
5
+ "unique_ngrams": 29221,
6
+ "total_ngrams": 6735724
7
  }
models/subword_ngram/crh_4gram_subword.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:0ddc20df05c5929fbc17c37bba729a38c20ac69752548221a46c1e42b8e8359f
3
- size 1562486
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:1e162daa1f3626c601e1d0d9e186afe361a7214b21cdb31e6e38b1c0ff426e87
3
+ size 1557256
models/subword_ngram/crh_4gram_subword_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "n": 4,
3
  "variant": "subword",
4
  "language": "crh",
5
- "unique_ngrams": 131434,
6
- "total_ngrams": 6718695
7
  }
 
2
  "n": 4,
3
  "variant": "subword",
4
  "language": "crh",
5
+ "unique_ngrams": 131199,
6
+ "total_ngrams": 6706325
7
  }
models/subword_ngram/crh_5gram_subword.parquet ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:bd6cb712bbfb90b8c57051a1a6ab29d11883ab8c6101589eac0e5c771904d749
3
+ size 3420383
models/subword_ngram/crh_5gram_subword_metadata.json ADDED
@@ -0,0 +1,7 @@
 
 
 
 
 
 
 
 
1
+ {
2
+ "n": 5,
3
+ "variant": "subword",
4
+ "language": "crh",
5
+ "unique_ngrams": 285107,
6
+ "total_ngrams": 6676926
7
+ }
models/tokenizer/crh_tokenizer_16k.model CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:7252484520841503b3c10a110b3ea4ba3a62f7073a69a342466526a0b31ef51c
3
- size 513301
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:2b38599300ad9ca2774c4e30571d5b396d17f74e01d4c4ea9e8802702762bfca
3
+ size 513237
models/tokenizer/crh_tokenizer_16k.vocab CHANGED
The diff for this file is too large to render. See raw diff
 
models/tokenizer/crh_tokenizer_32k.model CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:60b38160d9a927f6ea17a75ef13bbe991a80a50121d1c845806c967c815488f3
3
- size 797422
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:89ef3e7c2f709f2492356b7e01b86aedb9ee84f18164cfb4e53e4be44c2c6b60
3
+ size 797628
models/tokenizer/crh_tokenizer_32k.vocab CHANGED
The diff for this file is too large to render. See raw diff
 
models/tokenizer/crh_tokenizer_64k.model CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:8b45034637ab90c0741ce2ac1009165fc7e87f960f1ff87e489cabdedb42a8c8
3
- size 1425086
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:ec779410f4c4357761af49a2ef1889928e20b37023389f9e39431309315493ba
3
+ size 1425429
models/tokenizer/crh_tokenizer_64k.vocab CHANGED
The diff for this file is too large to render. See raw diff
 
models/tokenizer/crh_tokenizer_8k.model CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:414811c3993e9f6351075aaf47ac4ebe0185a4a1e2948c911bbbe25a0c48d8d1
3
- size 373959
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:988e38ab80cfb7b6ebaf34b1f797a0205dafd67a8df63b461a940f9874d2ac2c
3
+ size 374054
models/tokenizer/crh_tokenizer_8k.vocab CHANGED
The diff for this file is too large to render. See raw diff
 
models/vocabulary/crh_vocabulary.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:e154d72a53b3ecac61e12ba483392cfb82a4cc6a0a1b854df1b5a9a58503b2e9
3
- size 892791
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:c60f9efd1c36408858d7a90f27ad061313707852b23faa84d02ad526a54fda51
3
+ size 900821
models/vocabulary/crh_vocabulary_metadata.json CHANGED
@@ -1,17 +1,17 @@
1
  {
2
  "language": "crh",
3
- "vocabulary_size": 51581,
4
  "variant": "full",
5
  "statistics": {
6
- "type_token_ratio": 0.1506807050021212,
7
  "coverage": {
8
- "top_100": 0.4134086438841732,
9
- "top_1000": 0.5791304225875555,
10
- "top_5000": 0.7107789686755324,
11
- "top_10000": 0.7672291584127752
12
  },
13
- "hapax_count": 77350,
14
- "hapax_ratio": 0.599933297655335,
15
- "total_documents": 29389
16
  }
17
  }
 
1
  {
2
  "language": "crh",
3
+ "vocabulary_size": 51458,
4
  "variant": "full",
5
  "statistics": {
6
+ "type_token_ratio": 0.1508716000337303,
7
  "coverage": {
8
+ "top_100": 0.4143566884351957,
9
+ "top_1000": 0.5797709619690993,
10
+ "top_5000": 0.7111434099448135,
11
+ "top_10000": 0.7674249735310927
12
  },
13
+ "hapax_count": 77361,
14
+ "hapax_ratio": 0.6005402929692049,
15
+ "total_documents": 29399
16
  }
17
  }
models/word_markov/crh_markov_ctx1_word.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:7aa9bdb634e256e31b79d824958c523b31cd09097f73541b17948bf1af86cd78
3
- size 4147698
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4f4a577ec1eba21b3b29f379827a69e8d4da741390d39a79242a6c4a9d70beb5
3
+ size 4104733
models/word_markov/crh_markov_ctx1_word_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "context_size": 1,
3
  "variant": "word",
4
  "language": "crh",
5
- "unique_contexts": 128781,
6
- "total_transitions": 826268
7
  }
 
2
  "context_size": 1,
3
  "variant": "word",
4
  "language": "crh",
5
+ "unique_contexts": 128666,
6
+ "total_transitions": 824433
7
  }
models/word_markov/crh_markov_ctx2_word.parquet CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:4febe8a6192229f809c3e676345cedfae6db5b2e8a8029ea9bd763e24109c749
3
- size 8051739
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:95669d6788baa6c73e434309f34cbba62d64323a3bf17083fc73406e88936c24
3
+ size 8017265
models/word_markov/crh_markov_ctx2_word_metadata.json CHANGED
@@ -2,6 +2,6 @@
2
  "context_size": 2,
3
  "variant": "word",
4
  "language": "crh",
5
- "unique_contexts": 384958,
6
- "total_transitions": 796879
7
  }
 
2
  "context_size": 2,
3
  "variant": "word",
4
  "language": "crh",
5
+ "unique_contexts": 383467,
6
+ "total_transitions": 795034
7
  }