4.3. Разработка алгоритма автоматического назначение меток тем
Перед построением модели скрытых сообществ в социальной сети ВКонтакте необходимо определить тематики постов пользователей. В англоязычной литературе используется термин automatic topic labelling – автоматическое назначение меток тем. В [Ерофеева, Митрофанова, 2019] описывается алгоритм поиска кандидатов в метки тем с помощью информационно-поисковой системы Яндекс и статей интернет-ресурса Википедия. Такой комбинированный подход по результатам работы оказался успешным, однако эксперимент проводился на основе корпуса лингвистических текстов. В случае анализа корпуса социальных сетей обращение к Википедии кажется нецелесообразным, так как данный ресурс в большей степени ориентирован на научные тексты, а не на тексты общей тематики. Сложность анализа также заключается в том, что посты одного и того же пользователя могут относиться к совершенно разным и даже несвязанным между собой темам: например, человек может интересоваться как готовкой, так и антропологическими исследованиями. В нашем исследовании процесс автоматического назначения меток тем происходил в несколько этапов. 1. Написание парсера на Python для автоматического извлечения ключевых слов из тем, создания поискового запроса и его ввода в информационно-поисковую систему Google (внешний источник). Выбор данного сервиса обусловлен тем, что результаты запроса уже ранжированы с помощью PageRank. Для обхода блокировок в результате многократных запросов был использован модуль User-Agent, который позволяет сочетать различные версии операционной системы, спецификаций и версий браузера.  Рис. 9. Часть кода для парсинга результатов запросов в Google 2. Написание парсера на Python для создания автоматического извлечения ключевых слов из тем, создания запроса и обращения к RuWordNet для поиска гиперонимов. К сожалению, не все слова в исследуемом тезаурусе обладают гиперонимическими отношениями: имена собственные, неологизмы, заимствованные слова, поэтому результат в данном случае поиска был нулевым. Сочетание гиперонимов помогает создать целостное представление о теме. 3. Вычленение сочетаний из заголовков сайтов, полученных в результате парсинга запросов в ИПС Google с помощью pymorphy2 на основе следующих шаблонов: ADJF+NOUN, NOUN+NOUN, NOUN+NOUN+NOUN, PREP+NOUN+NOUN, NOUN+PREP+NOUN, NOUN+COMP, ADVB+ADJF+NOUN, NOUN+CONJ+NOUN, ADJF+ADJF+NOUN, VERB+ADVB, VERB+INFN, PRTF+NOUN, PRTS+NOUN, INFN+ADVB, VERB+PREP+NOUN, INFN+ADVB, PREP+ADJF+NOUN. Ранжирование полученных групп производилось по частоте встречаемости в Национальном корпусе русского языка. 4. Для извлечения меток из корпуса необходимо построить дистрибутивную модель корпуса. Под меткой в данном случае мы понимаем средний вектор тематических слов, извлечённый из дистрибутивной модели корпуса. 5. Создание опросника на сервисе Google Формы, результаты которого помогут определить корректность автоматически сформированных кандидатов в метки тем. На данный момент не существует «золотого стандарта», который служил бы опорой для выявления меток тем. Десять независимых экспертов оценили кандидаты по шкале от 0 (не соответствует) до 1 (соответствует).  6. Сравнение ответов, ручное постредактирование и финальное назначение меток тем, которые позволили создать в дальнейшем сеть скрытых сообществ.  Таблица 1. Сравнение полученных меток ID Тема Метки из внешних источников (Google и RuWordNet) Метки из внутренних источников (корпус) 834 адрес, внимание, страница, надёжно, ссылка, взламывать, скоро, перевод, фотография, страничка Россия Москва, информационная безопасность, рядовой пользователь, победитель, изображение, фрагмент  ссылка, видео, просить, фотография, появиться  57296 конкурс, университет, государственный, молодёжный, проект научный, российский, год, имя, студенческий  новость науки, Российская ассоциация, учебных заведений, соревнование, опыт, молодежный  октябрь, июнь, белгород, миллиард, институт   94855 мышца, рост, минимальный, адаптационный, нагрузка, максимум, выяснить, спешить, гипертрофия, учёный  адаптация мышц, путь тренера, магазин спорт.питания, орган, биология, груз  рост, движение, высокий, отдельный, выступать  5019159 съёмка, ребёнок, заранее, родитель, фото, воспитатель, одежда, снимка, коллаж, группа  в детском саду, личный блог, детская фотосъемка, изображение, снять, состав  прекрасный, образ, радость, здоровье, сад  Тема пользователя 41003889: овсянка, банка, ложка, йогурт, молоко, крышка, стакан, закрывать, добавлять, мёд. Таблица 2. Результаты экспертной оценки кандидатов в метки тем для пользователя 41003889 Bi- and trigrams рецепты приготовления запаренная овсянка великолепные завтраки Assessing results 10 6 9 Unigrams крупа кулинария искусство Assessing results 3 6 0 Тема пользователя 820468: человек, джокер, оказаться, обстоятельство, убить, язык, несколько, изучение, выбрать, жертва. Таблица 3. Результаты экспертной оценки кандидатов в метки тем для пользователя 820468 Bi- and trigrams лучший фильм фильм года российские фильмы Assessing results 9 7 0 Unigrams существо событие отклонение Assessing results 2 4 4   С более подробными результатами экспертных оценок можно ознакомиться в приложении 2. Самый простой способ подобрать метку для темы – взять первое тематическое слово из полученного множества, однако по результатам, приведённым в таблице 1, первое слово не всегда описывает тему.  Несмотря на то, что униграммные кандидаты оценивались ниже, чем би- и триграммы, стоит отметить, что униграммы подходят для более общих тем, в то время как би- и триграммы следует использовать для узконаправленных тематик. Сочетание экспертных и автоматических процедур помогает лучше интерпретировать полученные тематические модели.
В статье рассматривается метод автоматического назначения меток тем для постов пользователей социальной сети ВКонтакте. Для этого были использованы следующие методы: автоматическое извлечение ключевых слов из тем, ранжирование полученных групп по частоте встречаемости в Национальном корпусе русского языка, вычленение сочетаний из заголовков сайтов, использование гиперонимов и построение дистрибутивной модели корпуса. В результате были созданы тематические модели для пользователей 41003889, 820468 и 5019159.