Пост написан инженером Национального центра когнитивных разработок Антоновым Александром.

Помимо работы с объектами OpenStreetMap наш сервис позволяет обрабатывать геоданные и из других источников, предоставляя функционал для решения разных научных задач. В частности, в YourMaps можно реализовать алгоритм выявления и фильтрации суперпользователей.

Суперпользователи – это отдельный тип пользователей различных социальных сервисов, например, Twitter, OpenStreetMap, сервисов электронного участия и других краудсорсинговых проектов. Они отличаются особенно высокой активностью создания контента, что вызывает искажения в территориальном или временном распределении данных в местах, где суперпользователи присутствуют. При применении подобных социальных данных в исследованиях результаты могут быть искажены или неверно интерпретированы. Для того, чтобы этого избежать, необходимо иметь возможность отделять активность суперпользователей, что требует навыков и инструментов обработки больших объемов пространственно-временных данных.

YourMaps позволяет реализовать этот процесс в рамках одного пайплайна.

Сначала набор данных по Санкт-Петербургу был загружен в узле CSV_Input. Для работы с сообщениями жителей как с точками были указаны координаты их широты и долготы. В ходе предварительного анализа мы узнали, что среди сообщений есть те, которые создавались операторами горячей линии 004 на основе звонков от горожан. Этот тип пользователей необходимо было отфильтровать, чтобы они не распознавались как суперпользователи в дальнейшем. Мы сделали это при помощи фильтрации по значению тега – у операторов вместо никнейма стояло «. ..».

Далее для уточнения местоположения сообщений из OSM были загружены полигоны муниципальных образований. Тег с названием добавился к другим атрибутам сообщений при помощи узла Join_by_Overlap – он объединяет атрибуты двух разных источников данных на основе их пространственного пересечения.

Затем происходил этап группировки и фильтрации. У каждого жителя города (в этом случае определяемого по уникальному ID пользователя) мы подсчитали количество сообщений. Затем в узле Outlier_filter, работающего по принципу «ящика с усами», были отфильтрованы те аккаунты пользователей, активность которых превышала значение верхнего «уса», располагавшегося в 1.5 межквартильных интервалах от 3 квартиля. Более подробные результаты подобного отсеивания суперпользователей были представлены в научной публикации.

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

Затем результат был отображен в виде интерактивной карты с точками.

А так выглядит визуализация результата в другой ГИС-системе в формате тепловой карты.