Дані для ru-detector-v2: фільтри Блума 36 кириличних мов + таблиці сигналів

Фільтри Блума (12 бітів на слово) на 8.62 млн словоформ, приписаних мовам
за відносною частотою в корпусах, плюс транслітерований шар для 11 мов.
signals.json: характерні літери, закінчення й триграми, обчислені з тих самих корпусів.

Джерела: ВЕСУМ (brown-uk/dict_uk), GrammarDB (Belarus/GrammarDB),
корпуси Leipzig Wortschatz, дампи Вікіпедії, FrequencyWords (OpenSubtitles).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
full_droper
2026-09-19 12:31:14 +03:00
co-authored by Claude Opus 5
commit 0411edd826
51 changed files with 376 additions and 0 deletions
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+359
View File
@@ -0,0 +1,359 @@
{
"bits": 12,
"langs": {
"abk": {
"cyr": {
"n": 26565,
"m": 318780,
"k": 8,
"bytes": 39848
}
},
"ady": {
"cyr": {
"n": 7105,
"m": 85260,
"k": 8,
"bytes": 10658
}
},
"alt": {
"cyr": {
"n": 9864,
"m": 118368,
"k": 8,
"bytes": 14796
}
},
"ava": {
"cyr": {
"n": 29506,
"m": 354072,
"k": 8,
"bytes": 44259
}
},
"bak": {
"cyr": {
"n": 191137,
"m": 2293644,
"k": 8,
"bytes": 286706
}
},
"bel": {
"cyr": {
"n": 2265620,
"m": 27187440,
"k": 8,
"bytes": 3398430
},
"lat": {
"n": 2644291,
"m": 31731492,
"k": 8,
"bytes": 3966437
}
},
"bua": {
"cyr": {
"n": 19993,
"m": 239916,
"k": 8,
"bytes": 29990
}
},
"bul": {
"cyr": {
"n": 408567,
"m": 4902804,
"k": 8,
"bytes": 612851
},
"lat": {
"n": 466132,
"m": 5593584,
"k": 8,
"bytes": 699198
}
},
"che": {
"cyr": {
"n": 305980,
"m": 3671760,
"k": 8,
"bytes": 458970
}
},
"chv": {
"cyr": {
"n": 82848,
"m": 994176,
"k": 8,
"bytes": 124272
}
},
"inh": {
"cyr": {
"n": 16129,
"m": 193548,
"k": 8,
"bytes": 24194
}
},
"kaz": {
"cyr": {
"n": 123774,
"m": 1485288,
"k": 8,
"bytes": 185661
},
"lat": {
"n": 133696,
"m": 1604352,
"k": 8,
"bytes": 200544
}
},
"kbd": {
"cyr": {
"n": 15382,
"m": 184584,
"k": 8,
"bytes": 23073
}
},
"kir": {
"cyr": {
"n": 119449,
"m": 1433388,
"k": 8,
"bytes": 179174
},
"lat": {
"n": 154651,
"m": 1855812,
"k": 8,
"bytes": 231977
}
},
"koi": {
"cyr": {
"n": 7698,
"m": 92376,
"k": 8,
"bytes": 11547
}
},
"kpv": {
"cyr": {
"n": 16236,
"m": 194832,
"k": 8,
"bytes": 24354
}
},
"krc": {
"cyr": {
"n": 21656,
"m": 259872,
"k": 8,
"bytes": 32484
}
},
"lbe": {
"cyr": {
"n": 2203,
"m": 26436,
"k": 8,
"bytes": 3305
}
},
"lez": {
"cyr": {
"n": 22003,
"m": 264036,
"k": 8,
"bytes": 33005
}
},
"mdf": {
"cyr": {
"n": 10744,
"m": 128928,
"k": 8,
"bytes": 16116
}
},
"mhr": {
"cyr": {
"n": 23130,
"m": 277560,
"k": 8,
"bytes": 34695
}
},
"mkd": {
"cyr": {
"n": 103095,
"m": 1237140,
"k": 8,
"bytes": 154643
},
"lat": {
"n": 114064,
"m": 1368768,
"k": 8,
"bytes": 171096
}
},
"mon": {
"cyr": {
"n": 40708,
"m": 488496,
"k": 8,
"bytes": 61062
},
"lat": {
"n": 65248,
"m": 782976,
"k": 8,
"bytes": 97872
}
},
"mrj": {
"cyr": {
"n": 9065,
"m": 108780,
"k": 8,
"bytes": 13598
}
},
"myv": {
"cyr": {
"n": 31301,
"m": 375612,
"k": 8,
"bytes": 46952
}
},
"oss": {
"cyr": {
"n": 30896,
"m": 370752,
"k": 8,
"bytes": 46344
}
},
"rue": {
"cyr": {
"n": 49221,
"m": 590652,
"k": 8,
"bytes": 73832
}
},
"rus": {
"cyr": {
"n": 473066,
"m": 5676792,
"k": 8,
"bytes": 709599
},
"lat": {
"n": 546997,
"m": 6563964,
"k": 8,
"bytes": 820496
}
},
"sah": {
"cyr": {
"n": 85649,
"m": 1027788,
"k": 8,
"bytes": 128474
}
},
"srp": {
"cyr": {
"n": 77494,
"m": 929928,
"k": 8,
"bytes": 116241
},
"lat": {
"n": 90324,
"m": 1083888,
"k": 8,
"bytes": 135486
}
},
"tat": {
"cyr": {
"n": 72441,
"m": 869292,
"k": 8,
"bytes": 108662
},
"lat": {
"n": 93773,
"m": 1125276,
"k": 8,
"bytes": 140660
}
},
"tgk": {
"cyr": {
"n": 41855,
"m": 502260,
"k": 8,
"bytes": 62783
},
"lat": {
"n": 43033,
"m": 516396,
"k": 8,
"bytes": 64550
}
},
"tyv": {
"cyr": {
"n": 28034,
"m": 336408,
"k": 8,
"bytes": 42051
}
},
"udm": {
"cyr": {
"n": 16112,
"m": 193344,
"k": 8,
"bytes": 24168
}
},
"ukr": {
"cyr": {
"n": 3836951,
"m": 46043412,
"k": 8,
"bytes": 5755427
},
"lat": {
"n": 4117777,
"m": 49413324,
"k": 8,
"bytes": 6176666
}
},
"xal": {
"cyr": {
"n": 2842,
"m": 34104,
"k": 8,
"bytes": 4263
}
}
}
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+7
View File
@@ -0,0 +1,7 @@
// Пакет лише з даними: віддає шлях до каталогу, решту робить сама функція.
import { fileURLToPath } from 'node:url';
import { dirname, join } from 'node:path';
export const ROOT = dirname(fileURLToPath(import.meta.url));
export const FILTERS_DIR = join(ROOT, 'filters');
export const SIGNALS_PATH = join(ROOT, 'signals.json');
+9
View File
@@ -0,0 +1,9 @@
{
"name": "cyrillic-lang-data",
"version": "1.0.0",
"description": "Фільтри Блума на 8.6 млн словоформ 36 кириличних мов + таблиці літер, закінчень і триграм. Дані для ru-detector-v2.",
"type": "module",
"main": "index.js",
"license": "CC-BY-SA-4.0",
"files": ["index.js", "signals.json", "filters"]
}
+1
View File
File diff suppressed because one or more lines are too long