Как стать автором
Обновить
110.58
ИТМО
IT's MOre than a University

Смотрим на Санкт-Петербург сквозь призму публикаций в соцсетях — базовый анализ популярных локаций

Время на прочтение6 мин
Количество просмотров3.9K

Магистры, аспиранты и сотрудники Института дизайна и урбанистики ИТМО рассказывают, как можно изучить публичный образ той или иной локации. Для Санкт-Петербурга они проанализировали более пяти млн публикаций из популярной в России соцсети с соответствующими геотегами за 2018, 2019 и 2020-й.

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

Фотография: Ilia Schelkanov. Источник: Unsplash.com
Фотография: Ilia Schelkanov. Источник: Unsplash.com

Подготовка данных

Исследование ограничили публикациями в Instagram. Для работы с ними использовали сервис унифицированного сбора данных с разнородных источников, построенный с помощью платформы DataMall. Она отвечает за поддержку жизненного цикла интеллектуальных объектов на основе больших данных и является проектом Национального центра когнитивных разработок Университета ИТМО.

Анализировали содержание текстовых подписей к фотографиям и координаты. По геометкам публикации упорядочили по сетке из ячеек 100 на 100 метров. Для города их число приблизилось к десяти тысячам — около ста «доминантных» ячеек включили в себя по пять тысяч постов и более, почти шесть тысяч ячеек — по одной сотне публикаций или менее. Далее — диаграмма с распределением:

На этапе предварительной обработки с помощью методов Natural Language Processing и компьютерной лингвистики произвели следующие манипуляции с датасетом:

  • Из текстов исключили эмодзи из-за потенциальной неоднозначности интерпретации, в частности фактора сарказма, что не входило в задачу.

  • Провели работу по нормализации хештегов — они несли большой объем информации. Еще их разделили на отдельные слова (#впитережить —> «в питере жить») и перевели на русский язык, где это было необходимо.

  • Удалили ссылки, добавили пробелы после знаков препинания для разбиения текста на предложения. С помощью Google Cloud частично (не все иностранные языки удалось автоматически определить) перевели посты, содержащие иностранные слова на русский. Непереведенный контент — исключили.

  • Исключили посты, где по итогам выполнения всех предыдущих шагов образовалась «пустота». Например, если они состояли только из эмодзи или непереведенного текста. Еще определили и исключили различные публикации рекламного характера (с использованием подходов классификации и ключевых слов), чтобы снизить «зашумленность» данных.

После предварительной обработки из исходных пяти миллионов публикаций остались примерно два миллиона двести тысяч постов. Они пошли в дальнейшую работу.

Извлечение упоминаний объектов

Здесь применили метод распознавания и классификации именованных сущностей в тексте (Named Entity Recognition and Classification). Он позволяет распознавать имена собственные и предсказывать их классы. Для реализации использовали библиотеку spaCy и модель для русского языка spacy-ru с предобученными компонентами NLP-конвейера. Модель обучили для распознавания именованных сущностей классов ORG (организация), LOC (локация) и PERSON (имена). Этого было достаточно.

Поскольку исходные тексты публикаций — даже после предварительной обработки — были плохо структурированными, содержали грамматические и стилистические ошибки, эффективность модели для них была недостаточной (значение F1-score — менее 50% на тестовой выборке в пять сотен примеров). Помимо этого для целей исследования требовались наименования городских объектов с определяющим словом. Например, из текста «В ресторан «Квартира» я готова ходить каждый день…», нужно было получить именованную сущность «ресторан Квартира», а не просто Квартира. Такой результат облегчил бы анализ всего массива данных.

Для повышения эффективности NER-компонент выбранной языковой модели дообучили на одной тысяче пятисот вручную аннотированных текстов из исходного массива. В результате эффективность модели превысила 75%:

NLP model

precision

recall

F1-score

ru2_nerus, исходная

41.6

44.4

43.0

ru2_nerus, дообученная на 1500 текстах

75.98

76.45

76.22


Однако точность в 75% требовала доработки. Поэтому в качестве объектов выделили организации и локации, о которых больше всего пишут на конкретных территориях, а менее популярные — отнесли к категории шума. В итоге выявление именованных сущностей проводилось отдельно для каждого квадрата (100 на 100 метров) с последующим объединением результатов в итоговый перечень объектов.

Показатели точности сложно сравнивать с аналогичными моделями, поэтому адекватность полученной точности оценивали экспертным путем на основе тестового датасета. Для дополнительного чтения по теме есть работа по анализу публикаций в Twitter. В ней вы найдете сравнение многих NLP библиотек и моделей на данных соцсетей и именно на задаче NER. Однако в статье наших коллег точности значительно ниже тех, что получили мы.

Для последующего анализа выбрали только сущности классов ORG и LOC. Также методом ключевых слов исключили сущности, названия которых соответствовали крупным локациям и не могли быть городскими объектами. Например, названия стран, городов, областей и районов. Полученные списки, соответствующие каждой из ячеек, переработали для уточнения веса каждой уникальной сущности.

Для этого отдельные слова в наименованиях привели к начальной форме путем лемматизации, затем объединили идентичные наименования сущностей и похожие наименования, найденные с использованием библиотеки difflib. Например, для сущности «Исаакиевский собор» были найдены следующие варианты написания, являющиеся ошибочными, но при этом однозначно указывающими на этот объект: исаакиевсёкий собор, исааакиевский собор, исакиевский собор, исаакиевкий собор, исаакивский собор, исаакевский собор, иссакиевский собор.

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

Ячейка

Выявленные именованные сущности с весами

1

'исаакиевский собор': 4404, 'манеж': 1127, 'исаакий': 383, 'исаакиевский площадь': 179, 'эрмитаж': 131, 'цвз манеж': 119, 'невский': 79, 'казанский собор': 62, 'колоннада исаакиевский собор': 52…

2

'эрмитаж': 7285, 'зимний дворец': 591, 'государственный эрмитаж': 411, 'дворцовый площадь': 160, 'главный штаб': 128, 'малое эрмитаж': 119, 'новый эрмитаж': 104, 'эрмитажный театр': 79, 'лувр': 76…

3

'новый голландия': 1929, 'голландия': 246, 'бутылка': 162, 'остров новый голландия': 104, 'павильон': 52, 'адмиралтейский канал': 37, 'двор бутылка': 30, 'невский': 27, 'мойка': 21…

4

'мариинский театр': 593, 'мариинка': 388, 'мариинский': 188, 'новый сцена': 33, 'мариинский-2': 25, 'медный всадник': 22, 'щелкунчик': 18, 'римский-корсаков': 13, 'чайковский': 10…

5

'океанариум': 460, 'питерский океанариум': 27, 'трк планета нептун': 16, 'нептун': 11, 'петербургский океанариум': 10, 'ул марат': 10, 'марат': 9, 'санкт-петербургский океанариум': 9, 'океанариум планета нептун': 8…


Промежуточные выводы

Такой подход к анализу показал, что именованные сущности с наибольшими весами в квадрате в большинстве случаев находятся в непосредственной близости. Что достаточно адекватно отражает структуру городских объектов.

В большинстве случаев наибольшими весами обладали сущности, соответствующие объектам культурного наследия и городским аттракциям (театры, парки, музеи), что вписывается в представление о российской «культурной столице».

Для получения итогового списка городских объектов из списка для каждой из ячеек был выбран топ N объектов, где значение N зависело от общего количества публикаций в ячейке. Чем больше в ячейке было постов, тем больше ее объектов учитывалось в исследовании. После объединения идентичных и похожих названий получили рейтинг из двух тысяч семи сотен объектов. Далее — топ-25:

Данные объекты являются «лицом» города с точки зрения мнения пользователей Instagram. Наименования, присутствующие в списке, являются «народными» названиями известных городских мест и могут отличаться от официальных.

Еще стоит заметить, что полученный средствами NLP список прошел ручную верификацию — были удалены неочевидные для использованного алгоритма дубли объектов (например, Мариинский театр и Мариинка, Петропавловская крепость и Петропавловка), имена людей, ошибочно отнесенные к организациям и локациям, и другие ошибочно выделенные сущности. Итоговый верифицированный список включал всего 700 объектов. Поэтому стоит отметить, что использованные подходы несовершенны, но они существенно сокращают время работы эксперта.

Помимо музеев, театров, соборов в топе оказались рекреационные зоны (Ботанический сад, Елагин остров, Летний сад, Таврический сад) и общественные пространства (Новая Голландия, Петропавловская крепость, Севкабель). Также в списке присутствуют названия учебных заведений, ресторанов и кафе, жилых комплексов, торговых центров и других типов объектов. Например, наиболее популярным ТЦ является ДЛТ, вокзалом — Витебский, а среди учебных заведений чаще упоминаются Академия Штиглица и Академия художеств.

Во второй части рассказа мы поговорим о том, как тематики распределены по территории и к каким тематикам относятся популярные объекты. А в целом по этому направлению мы рекомендуем почитать книгу «Speech and Language Processing. An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition» и обратить внимание на бесплатные курсы от spaCy и их тематические видео. Плюс — у нас есть собственные специализированные магистерские программы «Цифровые технологии умного города» и «Цифровая урбанистика».


Что еще выходит в нашем блоге на Хабре:


Теги:
Хабы:
Всего голосов 4: ↑4 и ↓0+5
Комментарии3

Публикации

Информация

Сайт
itmo.ru
Дата регистрации
Дата основания
Численность
Неизвестно
Местоположение
Россия
Представитель
itmo

Истории