Чотири набори даних про війну
Мене звати Петро, я — дослідник даних (Data Scientist) у Data Science Group компанії SoftServe. В цій статті я б хотів поділитися наборами даних про війну, які я створив від початку повномасштабної війни, та розмістив у відкритому доступі.
Раніше мені доводилось створювати набори даних, як для вирішення поточних завдань на роботі, так і особисто для себе. Здебільшого я це робив, щоб перевірити певні гіпотези, які стосувалися епізодів із повсякденного життя. Для прикладу: перевірити ціни на оренду житла у різних районах Львова чи знайти спортсменів, які змінювали громадянство. Деякі з наборів я публікував на платформі для змагань дослідників даних Kaggle, переважно, про спортивні змагання. Деякі залишаються тільки в приватному використанні.
Війна змінила всі сторони життя, відповідно і тема наборів даних теж змінилась. Всі останні набори були пов’язані виключно з війною.
Набір Даних #1. Військові втрати росіян у війні
Цей набір даних створений на основі щоденних зведень, які публікує Генеральний штаб Збройних сил України. Він не містить іншої інформації, крім офіційних даних про втрати ворога при спробі захопити Україну.
Я почав збирати ці дані з перших днів війни тільки з однією метою — зберегти історію втрат ворога. Кожного дня таблиця з даними оновлюється всього одним рядком. На сьомий день війни я виклав цей набір даних у відкритий доступ у вигляді JSON-файлів на GitHub та CSV-таблиць на платформі Каggle.
Багато користувачів отримали змогу подивитися на дані втрат агресора своїми очима, в тому числі в часовій перспективі. На піку популярності кожного дня набір даних переглядало близько 3000 користувачів, а 400 із них одночасно його завантажувало (рис.1). Майже 100 користувачів платформи зробило публічні спроби аналізувати та візуалізувати ці дані. Ознайомитися з їхніми проєктами можна тут.
Рис.1. Огляд активності користувачів при роботі над «Набором Даних #1» на 170 день війни,
Очевидно, без скарг «хороших росіян», тут теж не обійшлося. З самого початку я зробив банер із написом «RUSSIAN WARSHIP GO FUCK YOURSELF» (рис.2) та за кілька тижнів отримав попередження: «Banner image contained profanity». Його слід було змінити. Спочатку я замінив в слові fuck дві літери зірочками, залишив f**k. За кілька тижнів після цього вони вже самі змінили банер — затерли повністю напис та попередили, що покладуть акаунт в бан, якщо я буду знову щось міняти. Я все ж таки додав інший напис. З того часу на ньому напис: «STOP WAR IN UKRAINE».
Рис.2. Початковий банер «Набору Даних #1»
Іншим неприємним моментом була створена ботоподібним акаунтом тема для обговорення, в якій було написано, що цим набором даних здійснюється пропаганда (попередження про зміну банера з’явились після цього випадку). Я спробував відповісти, та досить швидко зрозумів, що немає змісту сперечатися з такими людьми.
Єдиний спосіб, який може допомогти в таких ситуаціях на платформі, — оцінити коментарі такого типу як downvote та поскаржитися на вміст. Деякі активні читачі зробили цей самий крок. Водночас можна глянути акаунти тих, хто підтримав це обговорення.
Набір даних містить в собі колонки, кожна з яких зображає чисельні втрати з конкретного типу озброєння:
- Personnel,
- Prisoner of War (POW) — не відслідковується з
2022-04-28, - Aircraft,
- Helicopter,
- Tank,
- Armored Personnel Carrier (APC),
- Multiple Rocket Launcher (MRL),
- Field Artillery,
- Military Auto — не відслідковується з
2022-05-01; дані цієї колонки об’єднані із Fuel Tank в новій колонці Vehicles and Fuel Tanks, - Fuel Tank — не відслідковується з
2022-05-01; дані цієї колонки об’єднані з Military Auto в новій колонці Vehicles and Fuel Tanks, - Anti-aircraft warfare,
- Drone — UAV+RPA,
- Naval Ship — Warships, Boats,
- Anti-aircraft Warfare,
- Mobile SRBM System — не відслідковується з
2022-05-01, - Vehicles and Fuel Tanks — з’явилась
2022-05-01 як результат об’єднання колонок Fuel Tank та Military Auto, - Cruise Missiles — з’явилась
2022-05-01.
Інші колонки:
- Date,
- Day,
- Direction of Greatest Losses — з’явилась
2022-04-25.
Цей набір даних, крім надважливої інформаційної місії, дає багато можливостей спеціалістам, які вже працюють з даними або тільки починають. Зокрема, можна виділити наступні особливості цього набору даних:
- дані описують конкретний домен, а самі події відбуваються в режимі реального часу;
- необхідний мінімальний процес попереднього оброблення даних, що створює можливість швидкого старту безпосередньо над самими візуалізаціями та аналітикою. Цей фактор також забезпечує початківцям низький поріг входження для початку роботи;
- різні типи даних. Крім числових стовпців, наявні також часові та категорійні типи даних, які можна прив’язати до геолокації. Це дозволяє робити аналіз часових рядів та геопозиціювання;
- дані дозволяють працювати не тільки над аналітикою та візуалізаціями, а й дають можливості створювати моделі для передбачення втрат в наступні дні війни (шукайте такі спроби в списку проєктів, про які я вже згадував вище).
- дані можна доповнити чи розширити іншими дотичними наборами даних (в залежності від завдань, які хочеш вирішити).
Цей набір даних дозволив мені розробити свій проєкт моніторингу втрат противника (відкривати з комп’ютера), хоч він і не створювався спеціально для цього. Я не буду його описувати в рамках цієї статті. Вважаю, що ця розробка заслуговує окремої статті та окремої критики. Сам проєкт поки що не є кінцевим варіантом, проте вже зараз можна познайомитися з його демо версією v.0.4. Для прикладу, додам тільки зображення однієї з шести доступних зараз візуалізацій (рис.3).
Рис.3. Тижневий аналіз втрат військового обладнання росіян на 174 день війни,
Набір даних #2. Втрати військового озброєння у війні на основі проєкту ORYX
За кілька тижнів після початку війни мені потрапив на очі проєкт ORYX. Фахівці цього проєкту збирають з відкритих джерел даних фото та відео підтвердження втрат військової техніки (в основному соціальні мережі) та визначають тип та модель озброєння, як зі сторони росії, так і зі сторони України. Дані оновлюються поступово, з появою нових матеріалів у відкритому доступі, та з урахуванням швидкості аналізу доказів. Надзвичайно крута та корисна робота.
Для прикладу, на рисунку 4 можна побачити, яким чином виглядають дані про танки на їхньому сайті. Візуально інформативно! Та легких можливостей їх перевикористати, щоб глянути на ці дані під іншим кутом, я не помітив. Погодьтесь, дані дуже цікаві. Вони збирають великий масив фото та відео доказів втрат військової техніки та визначають не тільки типи військового озброєння, а й конкретні його моделі.
Я вирішив привести ці дані до такого вигляду, щоб можна було їх зручно використовувати в практичних проєктах, пов’язаних з аналізом даних. Для цього я написав відносно простий скрапер. Час від часу доводиться додавати фікси в код проєкту, бо хоч візуально дані мають сталу структуру (рис. 4), досить часто вона порушується редакторами сайту. Для прикладу, це можуть бути зайві або недостатні розділові знаки. Але, знову ж таки, цей матеріал не про скрапер, а про набори даних.
Рис. 4. Приклад зображення фіксації втрат танків на сайті Oryx,
Набір даних був створений після перших двох місяців війни, його можна знайти тут. Він оновлюється кожні два тижні, оскільки динаміка змін на сайті не є миттєвою, та на цей момент часу вже не така швидка. Кількість рядків в таблицях набору даних зростає з ростом типів втрачених військових озброєнь. Кількість стовпців теж може змінюватися. Вона залежить від маркерів позначення втрат, які використовують на сайті проєкту.
Для прикладу: якщо було знищено танк, то він може мати позначення «destroyed» — в таблиці з’явиться колонка destroyed. Інший танк було тільки пошкоджено, тоді він отримає маркер «damaged». Після цього в самій таблиці з’явиться нова колонка з відповідною назвою маркера (рис.5). Та все-таки можна виділити кілька основних стовпців:
- equipment — різні типи військового озброєння (танки, літаки, гвинтокрили тощо);
- model — конкретні моделі для кожного з типів військового озброєння (наприклад, серед танків це можуть бути Т-62, Т-64, Unknown tank, і т.д.);
- sub_model — інколи втрати бувають з додатковим обладнанням, тоді в цій колонці з’являється його назва (наприклад, with Arbalet-DM turret);
- manufacturer — країна виробник обладнання;
- losses_total — загальна кількість втрат конкретної моделі конкретного типу.
Рис.5. Приклад зображення фіксації втрат танків в таблиці «Набору Даних #2»
Варто додати, що набір даних, крім описаних вище таблиць, містить зображення зруйнованої військової техніки (більше 3ГБ), які розсортовані в папки за типом військового озброєння. Зображення не є однорідними, вони різної якості, зроблені з різних позицій, часто мають значні артефакти. На рисунку 6 можна побачити компіляцію частини зображень з папки кораблів та катерів. Згадані недоліки тут чітко прослідковуються.
Проте в папках інших категорій зображень набагато більше і серед них є частина хорошої якості. Вони можуть стати, як мінімум після додаткової фільтрації, хорошими початковими даними для створення computer vision проєкту з детектування чи класифікації типів втраченого озброєння.
Рис.6. Компіляція частини зображень з папки кораблі
Набір даних #3. Про кораблі. Чорноморський флот
Постійні атаки українських міст із басейну Чорного моря, думаю, кожного з нас змушували шукати інформацію про російські кораблі та ракети. А потім, 14 квітня, затонула «МОСКВА». Бажання бачити нові фотографії зруйнованих чи потоплених кораблів відтоді тільки зростало. Ці події сприяли більшій зацікавленості в корабельному складі чорноморського флоту та стали передумовою для створення набору даних про військові кораблі, катери та підводні човни.
При створенні набору даних було написано кілька скраперів, оскільки джерелами інформації були різні сайти. Одна з таблиць була створена вручну (рис.7). Вона містить інформацію про втрати російських кораблів та катерів від початку війни. Для цього я взяв за основу дані ORYX, про які вже згадував в попередньому розділі. Вони повідомляли про виявлені докази
Рис.7. «Набір Даних #3». Таблиця втрат російських кораблів та катерів
Зараз цей набір даних складається з чотирьох таблиць, які доповнюють одна одну, за потреби їх можна об’єднувати:
- black_sea_fleet.csv — містить детальний опис 272 військових та цивільних кораблів та катерів російського чорноморського флоту;
- black_sea_fleet_wiki_ru.csv — дані про ~100 військових кораблів, згаданих на сторінках російськомовної Вікіпедії (~30 інформація із повним описом);
- black_sea_fleet_wiki_ru.csv — дані про близько ~90 військових кораблів, згаданих на сторінках англомовної Вікіпедії;
- black_sea_losses.csv — втрати російського флоту з початку повномасштабної війни.
Набір даних виявився мені дуже помічним для проведення OSINT розслідування та був опублікований відразу після написання тексту, його можна знайти тут. Таблиця з втратами буде оновлюватися після нових потоплень.
А з цікавого, то ці дані містять інформацію про різноманітні параметри кораблів, які дозволять скласти цілісну картину всього флоту при достатньому їх аналізі. Можна виділити наступні доступні характеристики:
- типи кораблів,
- бортові номери,
- статуси кораблів,
- роки виробництва,
- технічні характеристики,
- заводи виробники,
- вид та кількість озброєння,
- кількісний склад
- структура флоту.
Набір даних #4. Соціальні мережі спортсменів із росії та білорусі
На початку війни багато людей поділяло думку про те, що треба доносити правдиву інформацію та переконувати простих росіян, що вони неправі. Були навіть створені команди волонтерів, які розсилали відповідні електронні листи та писали в особисті повідомлення в соціальних мережах. Не знаю наскільки цей метод був дієвим, проте у мене виникла ідея, як можна розширити мережу контактів подібного типу.
Оскільки я вже раніше займався створенням даних про спорт, то знав, де можна взяти персональну інформацію про спортсменів. Вони вже навіть частково в мене були. Отож, доклавши мінімальних зусиль, я сформував відповідний набір даних про соціальні мережі спортсменів. В нього увійшли більше 300 атлетів, які брали раніше участь в Олімпійських іграх.
Набір даних містить імена спортсменів, вид спорту, яким вони займаються, дати народження та посилання на адреси персональних сторінок в соціальних мережах:
- Instagram,
- Facebook,
- Twitter,
- Вконтакте.
Якщо Ви знаєте проєкти, які досі займаються розсиланням листів, то вони можуть дуже легко розширити мережу контактів, включивши у свої списки дані спортсменів, які «внє політікі», як і будь-який пересічний житель тої країни.
Набір даних #5. Бонус. Українські депутати
Хоча стаття і називається «Чотири набори даних про війну», я вирішив додати сюди посилання на старий, але з актуальною інформацією набір даних про депутатів Верховної ради України. Можливо, він комусь буде цікавим.
Дуже коротко: набір створений із україномовної Вікіпедії та містить біографічні відомості депутатів всіх скликань, роки активності, партії, інформацію про освіту, громадянство, національність тощо. До речі, набір даних дозволяє легко ідентифікувати всіх депутатів, які входили до партій-колаборантів.
Інші набори даних про війну
Безумовно, існують інші набори даних про війну. Серед тих, з якими доводилось працювати, — це «Air Raid Dataset». Автор збирає дані про всі повітряні тривоги з початку війни. Саме ці дані лежать в основі карти повітряних тривог, якою активно користуються в нашій країні.
На раніше згаданій платформі Kaggle за ключовим словом «Ukraine» можна знайти і твіти президента, твіти про війну, дискусії з Reddit, історію про перебіг подій війни тощо. Та думку про них сформувати важко, оскільки безпосередньо не працював із ними. Варто зазначити, що до 24 лютого таких наборів даних при пошуку було доволі мало, з чого можна зробити висновок, що всі нові — якимось чином дотичні до повномасштабної війни.
Наприкінці
Якщо Ви дочитали до цього місця, то хочу сказати Вам дякую. Якщо виникли питання щодо згаданого в статті матеріалу, буду радий відповісти. Самі набори даних можна підтримати кнопкою upvote на платформі Kaggle чи зірочкою на Github.
Про ці набори даних за межами місця їх розміщення написано вперше. Маю надію, що тепер читачі DOU зможуть використовувати ці дані в своїх проєктах. Можливо, раніше хтось, не знайшовши подібних даних, встиг відкласти свої ідеї на кращі часи. Можливо, хтось вже створив корисні для спільноти набори даних, але поки не поділився ними зі світом.
Особисто я маю плани щодо розвитку свого проєкту моніторингу втрат противника та ґрунтовнішого аналізу флоту противника. Створення нових наборів даних також не збираюся закидати.
Також хотів би порадити тим, хто планує займатися аналізом даних та ставить собі питання: як почати і з чого почати? Як мінімум, вартує зареєструватися на платформі Kaggle, де є багато матеріалів для початківців. Тільки для «Набору даних #1» була створена майже сотня прикладів аналізу даних із відкритим кодом. Зрозуміло, що дослідником даних відразу не станеш, але хороші практики точно можна знайти. Не буде зайвим і власний досвід створення наборів даних.
6 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів