Урок 4: Соціальні мережі та медіапростір — збір, моніторинг, базовий аналіз

Навігація курсу: Хаб: Уроки

Попередній: Урок-03-Верифікація-та-маніпуляції | Наступний: Урок-05-Entity-Resolution


Слайди (Презентаційний текст)

Слайд 1 — Заголовок

Соціальні мережі та медіапростір
Збір · Моніторинг · Базовий аналіз


Слайд 2 — Соцмережі як OSINT-джерело (2025-2026)

Чому соцмережі — головне джерело:

  • Люди публікують особисте добровільно
  • Поведінкові патерни виявляють більше ніж декларації
  • Мережа зв’язків видна публічно
  • Часові мітки → хронологія, часовий пояс, активність

Масштаб 2026:

  • Instagram: 2+ млрд активних користувачів
  • TikTok: 1.5+ млрд
  • LinkedIn: 1+ млрд
  • Telegram: 900+ млн
  • Facebook: 3+ млрд

Слайд 3 — Що ми збираємо з кожної платформи

ПлатформаКлючові дані
LinkedInКар’єра, компанії, зв’язки, навички, рекомендації
InstagramЛокація (геотеги), стосунки (тегування), стиль, активність
FacebookОсобисті зв’язки, події, місця, сім’я
TikTokІнтереси, творчість, вік аудиторії, активність
TelegramДумки, спільноти, канали підписок
Twitter/XРеакції в реальному часі, зв’язки, думки

Слайд 4 — Витяжка з LinkedIn

URL-патерни для пошуку:

linkedin.com/in/ім'я-прізвище
linkedin.com/in/ім'япризвище
linkedin.com/in/першалітерапризвище

Що витягуємо:

  • Headline, поточна роль
  • Хронологія посад (зверни увагу на прогалини!)
  • Освіта і сертифікати
  • Зв’язки і рекомендації → соціальний граф
  • Локаційна динаміка між ролями

Сигнали:

  • Прогалини у кар’єрі = звільнення, перехід, декрет
  • “Co-founder” vs “Founder” vs “Partner” — різний рівень власності
  • Короткі перебування (<1 року) = не вписався, пішов, звільнили

Слайд 5 — Instagram: що читати між рядками

Engagement rate (якість аудиторії):

ER = (середні лайки + коментарі) / підписники × 100
>6% = близьке коло, 3-6% = добре, <1% = боти/неактивні

Стиль-сигнали:

  • Мінімальні підписи = приватна особистість
  • Відсутність селфі = інтровертність
  • Хештеги плівкового фото = естетична чутливість
  • Багато хайлайтів + мало постів = активний Stories-користувач

Слайд 6 — Telegram як OSINT-джерело (2025-2026)

Чому Telegram особливий:

  • Пости зазвичай нередаговані = автентичний голос
  • Канали без верифікації = анонімні актори
  • Час публікацій → часовий пояс, робочий ритм
  • Emoji-патерни = маркери особистості
  • Що перепосилають = що читають і поважають

Технічний доступ:

# Публічні канали
web_fetch "t.me/s/{channel_name}"
 
# Пошук по Telegram OSINT
github.com/The-Osint-Toolbox/Telegram-OSINT

Слайд 7 — YouTube: найглибший психопрофільний сигнал

YouTube — найцінніше джерело для психопрофілю:

  • Скрипт = думки, аргументи, цінності
  • Unboxing, влоги = особистість без фільтрів
  • Коментарі = реакція спільноти
  • Частота завантажень = дисципліна

Пошук:

Google: site:youtube.com "Ім'я Прізвище" channel

Якщо є 5+ відео → витягни 3-5 транскрипти ПЕРЕД побудовою психопрофілю


Слайд 8 — Автоматизований моніторинг 2025-2026

Інструменти реального часу:

ІнструментМожливості
Crimewall (Social Links)500+ джерел, соцмережі + dark web
Hootsuite Listening150M+ сайтів, 30+ соцмереж, 187 мов
Social-SearcherПошук по соцмережах, безкоштовний рівень
OsavulTelegram 150,000+ каналів, AI-аналіз наративів
TalkwalkerSentiment analysis, trend prediction

Слайд 9 — Аналіз настроїв (Sentiment Analysis)

Що виявляє AI:

  • Тональність дискусій навколо суб’єкта/події
  • Прогноз ескалації тем
  • Виявлення скоординованих кампаній (аномальний ріст)

Базова класифікація:

Позитивний / Нейтральний / Негативний
+ Емоції: злість, страх, радість, здивування
+ Інтенсивність: 1-10

Практичний інструмент: Talkwalker, Hootsuite, Brand24 (платні)
Безкоштовно: VADER (Python) для базового sentiment


Слайд 10 — Операційна безпека при зборі

Проблема: платформи відстежують і блокують автоматизований збір

Практики:

  • Використовуй VPN або Tor для анонімного перегляду
  • Робоче середовище: Tails OS або ізольована VM
  • Не логінься у свій акаунт під час OSINT-збору
  • Apify, BrightData обходять блокування через проксі-мережі

Правило: OSINT-операція не повинна залишати слід у суб’єкта


Слайд 11 — Пріоритет платформ за завданням

ЗавданняПлатформи (порядок пріоритету)
Кар’єраLinkedIn → компанійський сайт → пресрелізи
ОсобистістьInstagram → TikTok → YouTube → Telegram
Думки і позиціяTelegram → Twitter/X → YouTube
Зв’язкиLinkedIn → Facebook → Instagram (теги)
МісцезнаходженняInstagram геотеги → Facebook check-ins → Google Maps
ФінансиLinkedIn (посади/компанії) → реєстри

Нотатки доповідача

До слайду 3 — Що збираємо

Наголосіть: кожна платформа має власну “мову”. LinkedIn — офіційний голос, Instagram — особистий, Telegram — необроблений. Порівняння між платформами дає найбільший інсайт — розбіжності між “я офіційний” і “я в реальності” часто розкривають більше ніж відповідність.

До слайду 6 — Telegram

Telegram перетворився на найважливіший OSINT-канал для пострадянського простору і конфліктних регіонів. 150,000+ каналів в Osavul — це показник масштабу. Підкресліть: на відміну від інших платформ, Telegram не має верифікації — будь-який канал може видавати себе за будь-що.

До слайду 7 — YouTube

Зробіть демонстрацію: відкрийте YouTube-канал публічної особи, перегляньте 2-3 хвилини відео, а потім попросіть AI проаналізувати транскрипт. Порівняйте з LinkedIn-профілем — розбіжності очевидні. Довге відеоінтерв’ю розкриває більше ніж вся кар’єрна сторінка.

До слайду 10 — OpSec

Це важливо для практичних занять. Студенти повинні розуміти: виконання OSINT зі свого особистого акаунту залишає сліди. Особа може побачити хто переглядав її LinkedIn. Фото можна відстежити. Для навчальних завдань достатньо режиму інкогніто + VPN.


Домашнє завдання

Завдання 1 — Платформений порівняльний аналіз (обов’язкове)

Оберіть будь-яку публічну особу (підприємець, журналіст, спортсмен) яка присутня на 3+ платформах.

Заповніть таблицю:

ПлатформаТонТемиЧастотаАудиторіяЩо приховує?
LinkedIn
Instagram
YouTube/TikTok
Telegram

Висновки: чи відрізняється “офіційний голос” від “особистого голосу”?

Завдання 2 — Sentiment-аналіз (обов’язкове)

Знайдіть Telegram-канал з 10,000+ підписників у вашій темі.

  • Проаналізуйте 20 останніх постів
  • Визначте тональність (позитивна / нейтральна / негативна)
  • Знайдіть 3 пости що отримали найбільше реакцій — чому?
  • Чи є ознаки координованого поширення?

Завдання 3 — Геолокація (бажане)

Знайдіть публікацію з розпізнаваним фоном або геотегом.
Визначте точне місце за допомогою Google Street View.
Задокументуйте методологію.


Матеріали для студентів

  • Матеріали-Урок-04-Флот-скрейперів (див. матеріали) — супровідні матеріали: кейс флоту колекторів
  • SOCMINT (див. матеріали) — довідник інструментів SOCMINT (пошук, соцмережі, гео, документи)

Ресурси

Соцмережі та OSINT:

Моніторинг:

Платформи для практики (безкоштовні):

  • Social-Searcher.com — пошук у соцмережах
  • Followerwonk — аналіз Twitter/X
  • Telegram Web (web.telegram.org) — перегляд публічних каналів

Карта платформ і сигналів (роздаткове)

LINKEDIN
- Поточна роль: Headline
- Кар'єра: Experience (хронологія)
- Освіта: Education
- Зв'язки: Connections
- Прогалини: між датами посад
- Ключовий сигнал: офіційний наратив

INSTAGRAM  
- Локація: геотеги постів і Stories
- Стосунки: хто тегує, кого тегують
- Стиль: фільтри, кути, теми
- Активність: час постів, Stories-перегляди
- Ключовий сигнал: особистий стиль

TELEGRAM
- Думки: пости у власних каналах
- Читання: що перепосилають
- Часовий пояс: час публікацій
- Ключовий сигнал: необроблений голос

YOUTUBE/TIKTOK
- Зміст: транскрипти відео
- Стиль: face-to-camera vs voiceover
- Аудиторія: хто коментує
- Ключовий сигнал: психопрофіль


SHATTERED: Інгест та аналіз соцмереж

Слайд 12 — SHATTERED для соцмереж: Огляд

Яку роль відіграє SHATTERED при аналізі соцмереж:

ЗадачаSHATTERED шардЩо робить
Завантаження зібраного контентуingestBatch upload HTML/JSON/TXT зі соцмереж
Витяжка сутностей (імена, орг, місця)entitiesАвтоматичний NER (spaCy)
Пошук по корпусу постівsearchSemantic/keyword/hybrid
Швидке резюме каналу/профілюsummarykey_points або brief
Виявлення суперечностей між постамиcontradictionsПорівняння тверджень
Хронологічний аналізtimelineУпорядкування подій у часі

Слайд 13 — SHATTERED: Інгест Telegram-каналу

Крок 1 — Збери контент (зовнішньо):

# Telegram Web → публічний канал → зберегти як HTML
# або через snscrape
pip install snscrape
python -m snscrape --jsonl telegram-channel osint_ukraine > channel.jsonl
 
# або через TGStat export (CSV/JSON)

Крок 2 — Завантаж у SHATTERED:

# Один файл
curl -X POST http://localhost:8100/api/ingest/upload \
  -F "file=@channel.jsonl"
 
# Або вся папка з файлами
curl -X POST http://localhost:8100/api/ingest/ingest-path \
  -H "Content-Type: application/json" \
  -d '{"path": "/data/telegram_exports/", "recursive": true}'

Крок 3 — Перевір статус:

curl http://localhost:8100/api/ingest/queue
# {"pending": 0, "completed": 847, "failed": 2}

Слайд 14 — SHATTERED: Entities автоматична витяжка

Після інгесту SHATTERED автоматично запускає NER і витягує сутності:

# Переглянь витягнуті сутності
curl "http://localhost:8100/api/entities/items?type=PERSON&limit=20" | jq
 
# Відповідь:
{
  "items": [
    {"id": "ent_001", "name": "Іван Петренко", "type": "PERSON", 
     "mention_count": 47, "documents": ["doc_A", "doc_B", ...]},
    {"id": "ent_002", "name": "TechUA", "type": "ORGANIZATION",
     "mention_count": 23}
  ]
}

Типи сутностей: PERSON, ORGANIZATION, GPE (геополітичні), LOCATION, DATE, MONEY

Знайти дублікати:

curl http://localhost:8100/api/entities/duplicates?threshold=0.85
# → знайде "І. Петренко" і "Іван Петренко" як ймовірний дублікат

Слайд 15 — SHATTERED: Семантичний пошук по корпусу

Пошук по завантажених постах:

# Знайти всі пости про конкретну тему
curl -X POST http://localhost:8100/api/search/ \
  -H "Content-Type: application/json" \
  -d '{
    "query": "фінансування операцій через криптовалюту",
    "mode": "hybrid",
    "filters": {"project_id": "proj_telegram"}
  }'

AI Chat Search — конверсаційний пошук:

curl -X POST http://localhost:8100/api/search/chat \
  -d '{
    "message": "Коли вперше з'\''явилась згадка про Петренка у зв'\''язку з TechUA?",
    "project_id": "proj_telegram"
  }'
# → відповідь з цитатами і посиланнями на документи

Слайд 16 — SHATTERED: Summary для швидкого огляду

Коли: потрібно швидко зрозуміти 50+ постів без читання кожного:

# Резюме одного документа
curl -X POST http://localhost:8100/api/summary/ \
  -d '{
    "source_type": "document",
    "source_id": "doc_channel_export",
    "summary_type": "key_points"
  }'
 
# Batch резюме всього проєкту
curl -X POST http://localhost:8100/api/summary/batch \
  -d '{"project_id": "proj_telegram", "summary_type": "brief"}'

Результат:

{
  "key_points": [
    "Канал активний з 2022, публікує 3-5 постів/день",
    "90% контенту — антиукраїнські наративи",
    "Часто посилається на RT, Sputnik, анонімні 'інсайдерські' канали",
    "Спостерігається різкий ріст активності перед великими подіями"
  ]
}

Нотатки до SHATTERED-блоку (Урок 4)

Підкресли: SHATTERED — це не збирач даних. Він обробляє те що ти вже зібрав зовнішніми інструментами. Пайплайн: збір (snscrape/TGStat/ручний export) → SHATTERED (інгест → entities → search → summary → contradictions).


Матеріали → Матеріали-Урок-04-Флот-скрейперів


← Урок-03-Верифікація-та-маніпуляції | Наступний урок: Урок-05-Entity-Resolution →