SENTINEL · Фазы 1–2 завершены

Следственные зацепки, которые можно проследить до истока

У следователей редко бывает мало данных. Трудно найти закономерность внутри тысяч записей, каждая из которых по отдельности ничем не примечательна. SENTINEL — настольный инструмент, который читает открытые данные о преступлениях, гоняет по ним статистику и ранжирует то, что стоит рассмотреть ближе — и каждый результат прослеживается до тех самых записей, модели и настроек, из которых он взялся. Если аналитик не может показать, почему зацепка встала именно туда, это не зацепка.

ЯзыкC++23
Интерфейс пользователя (UI)Qt 6, панель из 9 страниц
Тесты495 автоматических
ХранилищеSQLite
Последняя отправканедавно
Сказано сразу

Это аналитический софт, который ранжирует места и связи по открытым данным о преступности. Это инструмент, направляющий внимание аналитика, а не система, которая что-то решает о человеке.

Страницы калибровки и справедливости существуют потому, что модель с хорошим ранжированием и плохой калибровкой опаснее, чем отсутствие модели. Планирование фаз 3–5 явно ставит справедливость на первое место, а публикация бенчмарков заявлена как результат, который надо сдать, а не как маркетинговое обещание.

Простыми словами

Что это такое за минуту

Проблема

Кража со взломом, кража из машины, страховое заявление. Каждое само по себе ничем не примечательно, а связь между ними видна только тогда, когда кто-то выстроит сотни таких в ряд и посмотрит. Вручную это медленная работа, а аналитические контракты, которые делают её в масштабе, стоят дороже, чем большинство служб может себе позволить.

Решение

SENTINEL считывает записи и прогоняет по ним общепринятые статистические модели: где преступность плотная, какие происшествия похожи на одну серию, а не на разные, из какого района серия скорее всего велась. Он ранжирует то, что стоит рассмотреть ближе. Каждый этап записывает, что он сделал, поэтому зацепка приходит вместе с исходными записями, моделью и настройками за ней.

Кому это нужно

Небольшим и региональным службам, которым большие аналитические контракты не по карману — это работает на одном обычном настольном компьютере и сделано для одного аналитика, а не для отдела. Следователям по мошенничеству и рецидивистам, где закономерность лежит поперёк происшествий, которые никто не свёл вместе. Исследователям, которые могут проследить любой результат до породивших его записей.

Он указывает аналитику на то, что стоит проверить. Он ничего не решает о человеке. Дальше на этой странице — инженерия: две настоящие модели, работающие в вашем браузере, конвейер, который их кормит, что работает сегодня и что нет.
Сами модели

Две настоящие модели, скомпилированные в WebAssembly

models/KDEHotspot и models/HawkesProcess — тот же C++, который аналитик запускает на рабочем столе, собранный с Qt для WebAssembly и накормленный точками, которые вы ставите сами. Кликайте по карте, чтобы добавлять происшествия.

KDEHotspot + HawkesProcess — WebAssembly

не загружено

2,4 мегабайта (МБ), потому что вместе с ним идёт Qt6Core. Это честная цена запуска настоящей модели, а не её двойника, и ничего не скачивается, пока вы не попросите.

Происшествий
0
Коэффициент ветвления
—
Коэффициент ветвления — это то, что выучила модель Хоукса: ожидаемое число последующих происшествий, которые порождает каждое происшествие. Значение около нуля означает, что в точках нет самовозбуждения — рассыпьте их равномерно, и он должен это показать.
Только модели. Загрузка данных, база, прослеживаемость и панель — это приложение, а приложения здесь нет — собственная сборка SENTINEL требует Qt6::Test, которому нужен Qt6::Concurrent, которого у однопоточного Qt под WebAssembly нет.
Конвейер

Загрузка данных → обработка естественного языка (NLP) → признаки → модели → инференс

Каждый этап записывает, что он сделал, в цепочку прослеживаемости, так что зацепка на выходе несёт с собой запись о том, как она туда попала.

Конвейер SENTINEL от загрузки данных через NLP на правилах, статистические модели и вывод к ранжированным зацепкам, с шиной прослеживаемости, подключённой к каждому этапу
прокрутите, чтобы увидеть всю схему →
Продукт — это шина снизу. Каждый этап записывает, что он сделал, в цепочку прослеживаемости, так что зацепка приходит вместе с записью о том, как она туда попала.
Загрузка данных

Интерфейс прикладного программирования (API) полиции Великобритании и исторические ленты, импорт значений, разделённых запятыми (CSV), с автоопределением британской / американской городской / общей раскладки, погода через Open-Meteo и оценка качества данных с порогами карантина.

NLP

Классическое извлечение почерка преступления на правилах и классификация преступлений. Языковой модели в контуре нет — намеренно, потому что вывод должен поддаваться объяснению.

Модели

Счётчики Пуассона, самовозбуждающиеся процессы Хоукса, выявление серий пространственной кластеризацией по плотности с шумом (DBSCAN), горячие точки KDE, регрессия на гауссовских процессах, байесовский и ансамблевый слои.

Инференс

Географическое профилирование Россмо, анализ почерка, оценка улик, выявление аномалий, PageRank по соучастию и выделение сообществ, а также движок подсказок.

Интерактив

Две модели на одних и тех же происшествиях

Расставьте происшествия на карте. KDE спрашивает, где преступность плотнее. Формула Россмо спрашивает другое и более интересное: если преступники избегают буферной зоны вокруг дома, то где вероятнее всего живёт преступник? Обе считаются вживую на одних и тех же точках, которые вы ставите.

sentinel — пространственный вывод

Кликните, чтобы добавить происшествие. Поверхности пересчитываются на каждой точке.

Происшествий
0
Пиковая плотность
—

Зацепка на первом месте

Зацепок нет
Поставьте хотя бы три происшествия.

Цепочка прослеживаемости

Метод Россмо оспаривается. Географическое профилирование хорошо работает на сериях одного преступника с устойчивой точкой привязки и плохо — когда эти допущения не выполняются. Считать его пик уликой против человека — значит применять его не по назначению.
Живые реализации гауссова KDE и формулы криминального географического наведения Россмо, написанные для этой страницы. Поставляемый инструмент добавляет процессы Хоукса, выявление серий через DBSCAN и регрессию на гауссовых процессах поверх реально загруженных данных.
Готово

Что работает сегодня

  • Сквозной конвейер от загрузки данных до ранжированных зацепок
  • 495 автоматических тестов
  • Проверка на настоящих данных британских и американских наборов
  • Сборка пакетов для Windows и Linux
  • Локальный API передачи репрезентативного состояния (REST), только чтение
  • Панель из девяти страниц: события, карта, калибровка, дела, граф соучастия, зацепки, журнал аудита, настройки, отладка
Ограничения

Что не работает

  • NLP только на правилах. Извлечение почерка преступления классическое, со всеми вытекающими ограничениями по полноте.
  • Одна настольная машина. Ни многопользовательского развёртывания, ни общего состояния дел между аналитиками.
  • Живых коннекторов мало. Подключено немного источников данных реального времени.
  • Карта простая. Отрисовка своя, а не геоинформационная система (ГИС). Необязательная интеграция с ГИС — пункт фаз 3–5.

Фазы 3–5, план

Поддержка нескольких юрисдикций, опциональная интеграция с ГИС, публикация бенчмарков, развёртывание с приоритетом справедливости и, возможно, управляемый сервис. Список задач лежит в REMAINING.md а не в презентации дорожной карты.

Кому это нужно

Находит закономерности в данных о преступности и показывает ход рассуждений

Аналитики тонут в записях о происшествиях. Это ищет закономерности поперёк них и ранжирует то, что стоит рассмотреть внимательнее, сохраняя дорожку назад к данным, на которых основано каждое предложение.

01

Небольшие и региональные полицейские службы

Большие контракты на аналитику при обычном бюджете недоступны. Это работает на одном обычном настольном компьютере и рассчитано на одного аналитика, а не на отдел.

02

Следователи по мошенничеству и рецидивистам

Страховое мошенничество и организованные кражи в рознице выглядят как не связанные между собой случаи, пока кто-нибудь не выстроит их в ряд. Это выстраивает их в ряд и показывает, где вероятнее всего будет следующий.

03

Исследователи преступности и работы полиции

Любой результат прослеживается назад до точных записей и настроек, которые его породили, так что другой исследователь может проверить работу, а не принимать её на веру.

Узнаёте здесь свою ситуацию? Сейчас всё это открыто для бета-тестирования, и отзывы тех, для кого это делается, действительно меняют систему. Стать бета-тестировщиком →
Прослеживаемость

У каждой зацепки есть своя квитанция

Исходная запись, модель, параметры и преобразование на каждом этапе. Просмотр журнала аудита — одна из девяти страниц панели, а не заявка на доработку. Для софта, который ранжирует, куда пойдёт внимание полиции, это минимальная планка — и по той же причине исследовательский прототип за ним, ARIA-INTEL, помечен как не готовый к такому же применению.