Огляд
BUDOVA (Building Ukrainian Domain-Specific, Open Voice & Text Archives) створює відкритий датасет української мови будівельної галузі: текстовий корпус із розміткою іменованих сутностей (NER), мовленнєвий корпус і двомовний лексикон.
Стан: до релізу. На Hugging Face і Zenodo ще нічого не опубліковано. Перший публічний реліз v1.0 — вибірку текстового корпусу з паспортом датасету та настановами з анотації — заплановано на IV квартал 2026 на Hugging Face і Zenodo. Мовленнєві дані, лексикон і базова NER-модель вийдуть у наступних релізах.
Уже доступно на сайті (станом на жовтень 2026):
- Огляд корпусу — 2 927 розмічених сегментів з девʼяти ДБН;
- Настанови з анотації — v0.22, 118 правил, кожне можна цитувати за якорем;
- Узгодженість анотаторів для зведених записів;
- Каталог джерел — з якого документа походить кожне завдання;
- Сторінка датасетів — живі приклади, формат запису й цитування;
- Журнал змін — що змінилося щомісяця.
Паспорт датасету (чернетка для v1.0)
Живий паспорт текстового корпусу (datasheet), складений за питаннями методики Datasheets for Datasets. Він описує корпус станом на жовтень 2026; остаточну версію буде підготовлено до релізу v1.0.
Мета. Створити відкритий задокументований NER-корпус українських текстів будівельної галузі, починаючи з будівельних норм. Проєкт веде Лабораторія ШІ КНУБА (Київський національний університет будівництва і архітектури) за підтримки Microsoft AI for Good Lab у межах LINGUA Open Call.
Склад. 2 927 сегментів з девʼяти ДБН, близько 16 700 еталонних спанів сутностей девʼяти типів. Кожен сегмент — самодостатній фрагмент нормативного тексту, зазвичай повний пункт або абзац. Редакції джерел — 2008–2026 років.
- ДБН В.2.6-98:2009 — бетонні та залізобетонні конструкції: 904 сегменти, 5 014 еталонних спанів;
- ДБН Б.2.2-6:2013 — санітарне очищення населених пунктів: 199 сегментів, 974 спани;
- ДБН В.1.2-8:2021 — гігієна, здоровʼя та захист довкілля: 89 сегментів, 231 спан;
- ДБН В.1.1-45:2017 — будівлі і споруди в складних інженерно-геологічних умовах: 367 сегментів, 2 593 спани;
- ДБН В.1.2-12:2026 — ущільнена забудова: 133 сегменти, 344 спани;
- ДБН Б.2.2-1:2008 — кладовища, крематорії та колумбарії: 241 сегмент, 1 143 спани;
- ДБН В.2.6-220:2017 — покриття будинків і споруд: 559 сегментів, 4 392 спани;
- ДБН В.1.1-25:2009 — інженерний захист територій та споруд від підтоплення та затоплення: 328 сегментів, 1 446 спанів;
- ДБН В.1.2-7:2021 — основні вимоги до будівель і споруд, пожежна безпека: 107 сегментів, 581 спан.
Кількість спанів наведено за еталонним записом кожного документа. Два фрагменти — по одному в нормах про кладовища та про покриття — дослівно повторювали текст, що вже був у корпусі, тож їх обʼєднано з наявним записом: на кожен однаковий текст у корпусі припадає одне завдання.
Збір і підготовка. Джерела — опубліковані редакції будівельних норм, текст яких витягнуто з PDF. Кожен документ поділено на самодостатні фрагменти — пункт або абзац, зазвичай до 1 200 символів. Довші абзаци ділять за межами речень, а записи позначень (як-от «k – коефіцієнт») зберігають, щоб символи мали пояснення. Автоматичний лінтер перевіряє кожен фрагмент на відповідність стандарту фрагментів до завантаження, а однакові фрагменти з різних документів зберігаються один раз.
Анотація. Девʼять міток сутностей — material, tool, process, measurement, structure, safety, regulation, property, load_effect — визначено в публічних настановах з анотації. Кожен сегмент отримує три незалежні проходи розмітки (жоден прохід не бачить інших), після чого — адʼюдикацію за настановами та аудит одностайних записів, де всі три проходи збіглися. Настанови доповнюються від документа до документа (зараз v0.22, 118 правил), а документ вважається готовим лише тоді, коли рішення ухвалено щодо кожного фрагмента і всі записи зведено. Метрики узгодженості для зведених записів — на сторінці IAA; експертна валідація на вибірці ще попереду.
Формат запису. JSON lines, один зведений запис на сегмент — див. розділ «Текстовий корпус» нижче.
Відомі обмеження.
- Один регістр: увесь текст — формальна нормативна мова будівельних норм. Мовлення, польових нотаток та інших жанрів поки немає.
- Вісім документів: тематика повторює ці норми, а мітки
toolіsafetyтрапляються рідко. - Сегменти без жодної сутності залишено: «жодна мітка не підходить» фіксується як порожня анотація, а не пропуск.
- Офіційного поділу на train/validation/test ще немає. Сегменти одного документа мають спільні формулювання, тож оцінюйте моделі з поділом за документами.
Використання. Призначено для досліджень з розпізнавання іменованих сутностей і видобування термінів в українських технічних текстах. Сегменти — це уривки, вони не замінюють офіційного тексту будівельних норм.
Поширення. Заплановано з v1.0 на Hugging Face (організація BUDOVA) і Zenodo (з DOI). Анотації буде поширено за ліцензією CC BY 4.0; підстави для поширення кожного тексту-джерела буде задокументовано до релізу.
Супровід. Версії в журналі змін (v0.1–v0.10) — етапи розвитку платформи, а не релізи датасету; першим релізом датасету буде v1.0. Настанови з анотації мають власну нумерацію (зараз v0.22). Про помилки повідомляйте через форму на сторінці «Співпраця».
Текстовий корпус
Ціль: 100M+ токенів сирого будівельного тексту. Зараз: робоча колекція перевищила 49 млн сирих токенів — будівельні норми, будівельне законодавство, кошторисні норми, журнали відкритого доступу та інші відкриті джерела; ці тексти ще не розмічені й не опубліковані.
У планах: інші типи документів із плану на старті (технічні специфікації, протоколи безпеки, проєктна документація, будівельні контракти).
Розмічена NER-підмножина (наживо): 2 927 сегментів з девʼяти ДБН. Шукайте їх в огляді корпусу; перелік документів — у каталозі джерел, а склад — у паспорті датасету вище.
Формат запису. JSON lines, один зведений запис на сегмент:
final_text— розмічений сегмент;final_labels— спани сутностей{start, end, label, text, agreement}:startіend— позиції символів уfinal_text(відлік від 0,endне включно),textдорівнюєfinal_text.slice(start, end),label— одна з девʼяти міток, аagreement— частка проходів, що підтримують спан;domain— один із 31 тегу будівельних доменів;validation_score— зведена оцінка узгодженості від 0 до 1;agreement_meta— деталі узгодженості (кількість проходів, κ, span F1, показники за мітками);merged_at— час зведення запису (ISO 8601).
Реальний запис із корпусу (agreement_meta скорочено):
{
"final_text": "Арматура повинна бути нерозривною у межах з'єднання і анкерування у прилеглих елементах.",
"final_labels": [
{"start": 0, "end": 8, "label": "material", "text": "Арматура", "agreement": 1},
{"start": 42, "end": 51, "label": "structure", "text": "з'єднання", "agreement": 1},
{"start": 54, "end": 65, "label": "process", "text": "анкерування", "agreement": 1}
],
"domain": "concrete",
"validation_score": 1,
"agreement_meta": {"version": 2, "numRaters": 3, "entityKappa": 1, "cohenKappa": 1, "fleissKappa": 1, "avgSpanF1": 1},
"merged_at": "2026-07-27T11:03:33.390Z"
}Остаточну форму запису для v1.0 буде підтверджено в паспорті датасету релізу.
Мовленнєвий датасет (у планах)
Ціль: 100+ годин транскрибованого будівельного мовлення з усіх трьох діалектних груп. Мовленнєві дані заплановано в пізнішому релізі, після текстового корпусу.
Зараз: з жовтня 2026 учасники читають уголос короткі будівельні тексти просто в браузері й можуть змінити слово так, як кажуть там, звідки вони родом. Записи потрапляють до корпусу лише після модерації та за згодою мовця. Добірка записів — на сторінці «Голоси», прогрес збору — на сторінці «Покриття».
У планах: запис спонтанного мовлення на обʼєктах (інструктажі, технічні консультації, наради з планування), як передбачав план на старті.
Діалектні групи (за стандартною класифікацією): північне наріччя — східнополіський, середньополіський, західнополіський говори; південно-західне — волинський, подільський, наддністрянський, надсянський, покутсько-буковинський, гуцульський, бойківський, закарпатський, лемківський; південно-східне — середньонаддніпрянський, слобожанський, степовий.
Формати, у яких записано. Браузерний рекордер пише 48 кГц, моно, WebM/Opus (у Safari — MP4/AAC) з вимкненими автоматичним регулюванням підсилення, шумозаглушенням і ехокомпенсацією. Завантажити можна WAV, MP3, OGG, FLAC, WebM або M4A (до 50 МБ на файл).
Специфікація запису для зовнішніх записів: WAV (PCM, 16 біт; 24 біти теж приймаються), моно, 48 кГц (також приймаються 16, 32 і 44,1 кГц); піки від −12 до −3 dBFS; рівень шуму не вище −50 dBFS; без автопідсилення, шумозаглушення, ехокомпенсації, компресії чи еквалайзера. Цільовий SNR — ≥ 20 дБ: для WAV його вимірює сервер, для інших форматів — браузер, а нижче значення дає попередження, а не відмову.
Анотації: транскрипція (для читання вголос — текст у тому вигляді, як його прочитано); псевдонім мовця (SPK-NNN); регіон — звідки мовець родом, за його власними словами, а не місце запису.
Щодо приватності: завантажені файли зберігаються як є, тож вбудовані в них метадані (наприклад, теги у файлах WAV, MP3 чи M4A) поки не видаляються. Їх вилучення заплановано до будь-якого релізу мовлення; до того видаляйте теги перед завантаженням.
Будівельний лексикон (у планах)
Заплановано в пізнішому релізі: двомовний (українсько-англійський) словник будівельної термінології. Ціль: 5–10 тис. доменних термінів.
Заплановане покриття:
- Будівельні матеріали та композити
- Технології та методи будівництва
- Стандарти безпеки та обладнання
- Нормативна та юридична термінологія
- Інструменти, машини та обладнання
Запланований формат: структурований JSON з українським терміном, англійським відповідником, визначенням, прикладами вживання з корпусу та категорією домену. Терміни зʼявлятимуться в глосарії в міру додавання.
Завантаження (з v1.0)
Запланований API — з релізу v1.0 (IV кв. 2026). Репозиторії нижче ще не публічні, тож ці приклади запрацюють лише після релізу.
pip install datasetsТекстовий корпус (v1.0):
from datasets import load_dataset
corpus = load_dataset("BUDOVA/text-uk-construction")
print(corpus)
print(corpus["train"][0])Офіційного поділу на train/validation/test ще немає (див. паспорт датасету); train у прикладі — стандартна назва спліту.
Наступні релізи: мовлення (BUDOVA/speech-uk-construction) і лексикон (BUDOVA/construction-lexicon).
А поки розмічені сегменти можна переглянути в огляді корпусу.
Приклади на Python (після релізу)
Заплановані сценарії після виходу v1.0. Базова NER-модель — у планах після v1.0; її назву оголосимо разом із тим релізом.
Підрахувати мітки сутностей у текстовому корпусі:
from collections import Counter
from datasets import load_dataset
corpus = load_dataset("BUDOVA/text-uk-construction", split="train")
labels = Counter(
span["label"] for record in corpus for span in record["final_labels"]
)
print(labels.most_common())Назви полів відповідають формату запису в розділі «Текстовий корпус»; паспорт датасету релізу їх підтвердить.
Ліцензія
Ресурси BUDOVA буде поширено за такими ліцензіями:
- Датасети: CC BY 4.0;
- Базові моделі (у планах): Apache 2.0;
- Код: MIT License.
Щоб процитувати проєкт, скористайтеся записом BibTeX на сторінці датасетів.