Оцінка рівня безпеки в умовах воєнних дій вимагає деталізованих даних. Раніше у червні видання «Хмарочос» опублікувало карту районів Києва, де зазначалося, що найбільше російських влучань припадало на Шевченківський, Святошинський, Солом’янський та Голосіївський райони. Проте, як зазначається у матеріалі «Хмарочоса», адміністративні райони є завеликими для точної оцінки, адже безпекова ситуація може значно відрізнятися навіть між сусідніми вулицями.
У відповідь на цю потребу дата-інженер Дмитро Шилкін розробив інтерактивний сервіс під назвою KyivSafety. Цей ресурс призначений для розрахунку балу безпеки для конкретної адреси в Києві та відображення найближчих укриттів.
Концепція та розробка
Дмитро Шилкін, фахівець із «Комп’ютерних наук» та дата-інженер в агенції newage, щоденно займається створенням систем для збору та аналізу інформації з різних джерел. Ідея KyivSafety виникла, коли розробник зіткнувся з необхідністю оцінити безпеку різних частин Києва для власного переїзду.
Перший прототип сервісу, який порівнював лише окремі райони, був створений за вихідні. Протягом кількох наступних тижнів Дмитро розробив методику оцінювання конкретних адрес, а ще близько двох місяців присвятив перевірці отриманих результатів із незалежними джерелами.
У нинішніх реаліях питання безпеки стоїть доволі гостро. Я натрапив на кілька статей, зокрема на матеріал «Хмарочоса», і це надихнуло підійти до питання з більш data-driven сторони.
Принципи оцінювання адреси
Сервіс KyivSafety оцінює кожну адресу за шкалою від 0 до 100 балів. Важливо розуміти, що ці бали є перцентилем, тобто адреса з показником 80 має кращу оцінку порівняно з 80% інших опорних точок міста за зібраними даними. Це не означає відсоток безпеки або ймовірності удару.
Показник безпеки формується з трьох рівнозначних компонентів:
- Історія задокументованих влучань: враховуються події поблизу конкретної адреси.
- Частота згадок про прольоти: аналізуються повідомлення про рух ракет і дронів над цією місцевістю.
- Відстань до стаціонарних об’єктів: оцінюється віддаленість до цілей, які неодноразово зазнавали атак.
Кожна складова впливає на третину загального результату. Під час розрахунку враховується не лише відстань до місця удару, а й час його скоєння: новіші події мають більшу вагу. Як пояснює Дмитро Шилкін, крайні значення (0 та 100 балів) практично недосяжні, оскільки реальний діапазон оцінок коливається від 7 до 97,5 балів.
Оскільки це середнє трьох компонентів, крайні значення 0 і 100 практично недосяжні: реальний діапазон по місту від 7 до 97,5. Щоб отримати нуль, точка мала б водночас мати найгіршу історію влучань у місті, лежати під найактивнішим коридором прольотів і стояти просто на об’єкті-цілі.
Наявність укриттів не впливає на бал адреси, оскільки цей показник характеризує статистику місцевості. Сервіс окремо показує, чи є в радіусі 300 метрів офіційне цілодобове укриття, що надає інформацію про можливість реагування на небезпеку.
Джерела даних та їх обробка
Для формування бази даних KyivSafety використовуються різні джерела:
- Історія влучань: таблиці «Обстріли Києва» з української Вікіпедії, що ґрунтуються на офіційних повідомленнях та медіапублікаціях, а також геолокації від ресурсу GeoConfirmed. База містить близько 500 задокументованих ударів із координатами.
- Напрямки руху повітряних цілей: моніторингові телеграм-канали. Станом на система опрацювала близько 260 тисяч повідомлень.
Система виконує дедуплікацію та класифікацію повідомлень, оскільки різні канали можуть згадувати одну й ту ж подію. Цей процес виявився найскладнішим етапом розробки.
Очищення та класифікація забрали більше часу, ніж функціонал збору. Пости називають мікрорайони по-різному: у різних відмінках, скорочено чи розмовно. Тож потрібна була велика таблиця топонімів, яка б нормалізувала всі входження. Крім того, про одну подію (умовно, проліт над Троєщиною) можуть написати всі моніторингові канали, тому проводиться дедуплікація.
Оновлення даних відбувається щодня о 6 ранку. Перелік стаціонарних цілей оновлюється вручну розробником при появі підтверджень повторних атак. Методологія сервісу докладно описана на окремій сторінці.
Оцінка міських територій
Дмитро Шилкін застерігає від некоректного визначення «найбезпечніших» чи «найнебезпечніших» вулиць, оскільки показники можуть варіюватися навіть між окремими будинками. Доречніше порівнювати місцевості.
- Найвищі оцінки: отримують переважно околиці міста, де зафіксовано менше влучань, більша віддаленість від стаціонарних цілей або розташування поза основними маршрутами прольотів.
- Найнижчі оцінки: мають житлові території, що розташовані поблизу промислових та енергетичних об’єктів, які неодноразово атакувала Росія. Наприклад, окремі адреси біля заводу «Маяк» отримали від 7 до 9 балів.
На момент зрізу Печерський район мав 62 бали, що є вище за середній міський рейтинг.
Застосування штучного інтелекту
Мовні моделі використовувалися Дмитром для написання коду, перевірки гіпотез та аудиту системи. Проте вони не залучені до визначення місцевості за текстами телеграм-каналів або виставлення оцінок адресам. Розробник порівняв ефективність мовних моделей зі звичайною системою правил. При ручній розмітці 100 повідомлень таблиця топонімів та регулярні вирази показали 100% точність, тоді як мовна модель – 91,5%. Основною проблемою ШІ виявилася схильність «вигадувати» конкретну географію, коли в повідомленні йшлося про Київ загалом. Тому для щоденної обробки даних використовується звичайний алгоритм, який є точнішим, швидшим та економічно вигіднішим.
Обмеження системи та рекомендації
Розробник перевіряв систему, використовуючи дані Вікіпедії, GeoConfirmed та проєкту Bellingcat Civilian Harm. Автоматичний тест контролює коректність визначення району та дати 14 добре задокументованих ударів, зокрема по «Охматдиту». Навіть після зміни параметрів моделі рейтинг зберігав кореляцію не нижче 0,95 із базовим результатом, що свідчить про його стабільність.
Водночас система має певні обмеження:
- Не всі удари мають публічну геолокацію.
- У центральних районах може бути більше повідомлень через велику кількість очевидців.
- Згадка про проліт над місцевістю не завжди означає, що ціль влучить саме там.
- Місцевості, які рідко згадуються моніторинговими каналами, можуть здаватися безпечнішими, ніж є насправді.
- Модель базується на минулих подіях, тоді як маршрути та тактика російських атак можуть змінюватися.
Це історія й географія, а не прогноз. Тривоги в Києві загальноміські, балістика долітає за хвилини — жодна адреса не є безпечною. Бал розрізняє «частіше» і «рідше».
Високий бал KyivSafety не є підставою ігнорувати повітряну тривогу. Сервіс слід сприймати як дослідницький інструмент для порівняння зібраної статистики, а не як заміну правилам цивільного захисту. Надалі автор планує досліджувати київські передмістя та експериментувати із супутниковими знімками Sentinel-2. Розширення системи на інші українські міста потребує докладних таблиць із координатами ударів, які наразі доступні лише для Києва та Харкова.