Українська   English
ДонНТУ   Портал магистров

Коврик Кирилл Александрович

Институт компьютерных наук и технологий

Факультет интеллектуальных систем и программирования

Кафедра Программная инженерия им. Л. П. Фельдмана

Специальность «Программная Инженерия»

Исследование методов классификации информации на примере рекомендательной системы для пользователей мессенджера Telegram

Научный руководитель: д.т.н., проф. Зори Сергей Анатольевич

Консультант: ст. преподаватель Коломойцева Ирина Александровна

Реферат

Содержание

Введение

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

Достичь этого на современном этапе одним только улучшением качества основной составляющей ресурса удается редко. Именно поэтому все более перспективным направлением становится формирование портрета предпочтений конкретного пользователя для создания качественного рекомендационного пространства.

1. Актуальность темы

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

В зависимости от модели бизнеса рекомендации могут быть его основой, а могут быть просто удобным дополнительным сервисом, призванным улучшить пользовательский опыт. Персонализация онлайн-маркетинга – очевидный тренд последнего десятилетия. По оценкам, около 35% выручки Amazon или 75% Netflix приходится именно на рекомендованные товары и процент этот, вероятно, будет расти [10]. Рекомендательные системы приносят очевидную выгоду владельцам онлайн-магазинов, различных сервисов и приложений. Они показывают пользователю именно то, что ему интересно, и генерируют прибыль [12]. Исходя из вышеуказанных показателей, актуальность изучения данной темы не поддается оспариванию. Аналитический и систематический подход к данному вопросу может помочь не только бизнесу, но и может принести множество полезных открытий компьютерным наукам.

2. Анализ предметной области

2.1 Основные понятия

Рекомендательная система — это комплекс алгоритмов, программ и сервисов, задача которого предсказать, что может заинтересовать того или иного пользователя [1].

Современные рекомендательные системы зачастую требуют достаточно сложно организованных систем обработки и хранения данных, не являются легковесными и компенсируют свою сложность точностью рекомендаций и скоростью обработки информации. Однако, ни для кого не секрет, что с каждым днем количество всех запросов во всемирную сеть с мобильных устройств растет, что говорит о том, что актуальной проблемой является создание мобильных рекомендационных систем, которые не будут уступать современным в точности и скорости. Мобильные рекомендательные системы особенно сложная область исследований, поскольку мобильные данные сложнее данных, с которыми часто приходится иметь дело рекомендательным системам [2].

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

Рекомендательные сервисы собирают различную информацию о человеке, используя несколько методов, по которым и разделяют все системы [8].

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

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

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

  1. коллаборативная фильтрация;
  2. контент-ориентированная фильтрация;
  3. гибридный подход.

2.2 Обзор существующих методов анализа в рекомендательных системах

2.2.1 Коллаборативная фильтрация

Коллаборативная фильтрация (совместная фильтрация) — один из методов построения прогнозов (рекомендаций) в рекомендательных системах, использующий известные предпочтения (оценки) группы пользователей для прогнозирования неизвестных предпочтений другого пользователя [3].

Идея данного подхода состоит в том, что пользователи, которые оценивали одинаково какие-либо объекты в прошлом, наиболее вероятно будут давать схожие оценки некоторым объектам и в будущем. В данном подходе действует схема накопления знаний: чем больше пользователь просматривает и дает оценок, тем более точные и персонализированные рекомендации он получает. Рекомендации с использованием данной методики выдаются, основываясь на поведенческих характеристиках одного человека или группы людей, последнее даже является более эффективным [7]. Схематическое представление коллаборативной фильтрации представлено на рисунке 1.

Представление коллаборативной фильтрации

Рисунок 1 – Представление коллаборативной фильтрации

Коллаборативная фильтрация делится на 3 типа: основанная на соседстве, основанная на модели и гибридная.

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

Тип коллаборативной фильтрации основанный на модели дает рекомендации на основе параметров статистических моделей для оценок пользователей, построенных с помощью метода байесовских сетей, кластеризации, латентной семантической модели и т.п. [4]. Этот подход набирает популярность из-за более точных прогнозов, потому что учитывает некоторые скрытые факторы, объясняющие наблюдаемые оценки.

Гибридный тип распространен больше остальных, особенно если рекомендательная система разрабатывается для коммерческого сайта: интернет-магазина, маркетплейса и т.п. Он объединяет в себе два первых типа и помогает преодолеть ограничения изначального оригинального подхода и улучшить точность рекомендаций [5].

Учитывая особенности метода коллаборативной фильтрации, требующего наличия оценочных данных от пользователей использоваться он может не всегда. Первый сценарий использования - это создание рекомендации относительно интересной и популярной информации на основе учёта голосов сообщества [4]. Другой сценарий использования - создание персонализированных рекомендаций для пользователя, на основе его предыдущей активности и данных о предпочтениях других, схожих с ним пользователей. Данный способ реализации можно найти, например, на таких сайтах, как YouTube, Last.fm и Amazon.

2.2.2 Контент-ориентированная фильтрация

Суть этого подхода заключается в том, что мы сопоставляем пользователей с тем контентом или товарами, которые им нравились или были ими куплены [6]. В данном подходе большую роль играют атрибуты пользователей и ресурсов (продуктов). Контентная фильтрация выстраивает внутренние связи между предложенными товарами или каким-либо контентом [9]. Схематическое изображение контент-ориентированной фильтрации представлено на рисунке 2.

Контент-ориентированная фильтрация

Рисунок 2 – Контент-ориентированная фильтрация

В отличие от метода коллаборативной фильтрации, которые полагаются только на взаимодействие элементов пользователя, подходы на основе контента используют дополнительную информацию о пользователях и / или элементах [7]. Идея методов, основанных на содержании, состоит в том, чтобы попытаться построить модель, основанную на доступных функциях, которые объясняют наблюдаемые взаимодействия пользователя с элементом. Зачастую для генерации рекомендаций система обращается к профилю пользователя, где в определенном формате в виде ключевых слов хранится информация о его интересах и предпочтениях.

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

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

2.2.3 Гибридный подход

Поскольку каждый из вышеупомянутых подходов имеет свой собственный набор преимуществ и недостатков, гибридные методы используются для объединения преимуществ различных подходов для создания системы, которая хорошо работает в широком диапазоне применений. Современные системы используют различные передовые алгоритмы для решения существующих проблем. Например, для решения проблемы разреженности, большинством использует подходы, методов кластеризации и нормализации. Метод анализа демографических и ассоциативных правил используются для решения проблемы холодного старта, и они были признаны довольно эффективными. K-ближайшие соседи (KNN) и Дерево частых шаблонов (FP) объединены для получения качественных предложений, преодолевающих недостатки существующих подходов.

Контент-ориентированная фильтрация

Рисунок 3 – Метод ближайших соседей

Считается, что гибридные глубокие модели – один из самых мощных инструментов для решения задач рекомендации [11]. Единственная проблема с традиционными гибридными системами состоит в том, что они используют прошлую информацию о пользователях для рекомендаций. Допустим, пользователь, который долгое время использует приложение на основе гибридной системы, внезапно прекращает его использование. Через несколько дней, когда он повторно посетит веб-сайт или приложение, система порекомендует товары, основанные на интересе, проявленном ранее, однако они могут быть уже неактуальны сейчас.

Существует много способов гибридизации. Среди них:

3. Постановка задачи проектирования

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

  1. Исследовать существующие подходы к разработке рекомендательных систем.
  2. Исследовать методы классификации информации и анализа пользовательской информации.
  3. Проанализировать существующие исследования в области рекомендательных систем.
  4. Провести структурный анализ организации информации о пользователях мессенджеров.
  5. Исследовать открытое API Telegram.
  6. Выполнить проектирование рекомендательной системы в соответствии с проведенными исследованиями.
  7. Разработать прототип рекомендательной системы.

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

Выводы

Грамотно организованный сбор информации о пользователе и правильный выбор метода анализа этой информации позволяет в разы повысить эффективность пользования ресурсом, повышает вероятность совершения сопутствующих целевых действий и, в случае коммерческой направленности ресурса, заметно повышает его прибыльность. Все больше крупных поставщиков информации, контента, товаров и услуг прибегают к использованию рекомендательных систем, чтобы повысить удобство пользователей и привлечь новую аудиторию [13].

Развитие области рекомендательных систем носит постоянный характер, поскольку экспоненциальное расширение Интернета затрудняет получение необходимой информации за достаточно короткое время. Будущее рекомендательных систем будет гораздо шире, чем простое использование для бизнеса, они окажут гораздо большее влияние на нашу повседневную жизнь. Идеальной системой рекомендаций была бы та, которая знает нас лучше, чем мы сами и принимает решения, необходимые на каждом этапе нашей жизни без усилий и быстро, чтобы мы могли потратить наше драгоценное время на более продуктивные занятия. Несколько подходов и методов уже использовались, как обсуждается в статье, но у них есть свои проблемы, такие как проблема холодного старта. Проблема связана с новыми пользователями, у которых еще нет истории посещенных страниц. Таким образом, предполагается, что система будет предоставлять рекомендации пользователю, не полагаясь на какие-либо предыдущие действия. Рекомендательные системы предполагают использование всего профиля пользователя, ваших симпатий и антипатий. Это может создать угрозу конфиденциальности пользователя. Предоставление точных рекомендаций на основе большого объема данных могут привести к некоторой задержке во времени отклика. Кроме того, в любой рекомендательной системе прогнозирование интереса пользователя может быть сложной задачей, поскольку интерес может меняться со временем. Для решения этих проблем исследователи предлагают некоторые модификации, такие как объединение K-ближайших соседей (KNN) и дерева частых шаблонов (FP) для обеспечения качественных рекомендации пользователям или гибридная система, основанная на настроениях, которая работает за счет применения анализа настроений к списку рекомендаций, сгенерированному для повышения точности и производительности существующих систем.

Список источников

  1. Рекомендательные системы: как помочь пользователю найти то, что ему нужно [Электронный ресурс]. – Режим доступа: https://vc.ru/marketing/152926-rekomendatelnye-sistemy-kak-pomoch-polzovatelyu-nayti-to-chto-emu-nuzhno – Загл. с экрана
  2. Рекомендательная система [Электронный ресурс]. – Режим доступа: https://ru.qaz.wiki/wiki/Recommender_system – Загл. с экрана
  3. Коллаборативная фильтрация [Электронный ресурс]. – Режим доступа: https://ru.wikipedia.org/wiki/Коллаборативная_фильтрация – Загл. с экрана
  4. Коллаборативная фильтрация, как предпочтения других влияют на твои рекомендации [Электронный ресурс]. – Режим доступа: https://zen.yandex.ru/media/id/5e9493565171d3396eba3545/kollaborativnaia-filtraciia-kak-predpochteniia-drugih-polzovatelei-vliiaiut-na-tvoi-rekomendacii-5f48ba11ecbbbd2811b32d42– Загл. с экрана
  5. Как работают рекомендательные системы [Электронный ресурс]. – Режим доступа: https://neurohive.io/ru/osnovy-data-science/rekomendatelnye-sistemy-modeli-i-ocenka/ – Загл. с экрана
  6. Введение в рекомендательные системы [Электронный ресурс]. – Режим доступа: https://www.machinelearningmastery.ru/introduction-to-recommender-systems-6c66cf15ada/ – Загл. с экрана
  7. Как работают рекомендательные системы [Электронный ресурс]. – Режим доступа: https://neurohive.io/ru/osnovy-data-science/rekomendatelnye-sistemy-modeli-i-ocenka/ – Загл. с экрана
  8. Рекомендательные системы – что это? [Электронный ресурс]. – Режим доступа: lpgenerator.ru/blog/2015/12/25/rekomendatelnye-sistemy-chto-eto/ – Загл. с экрана
  9. Примеры рекомендательных систем в интернете. Рекомендательные системы в онлайн-образовании. В чём особенности рекомендательной системы образовательного проекта [Электронный ресурс]. – Режим доступа: https://viktoriya-uk.ru/earnings/primery-rekomendatelnyh-sistem-v-internete-rekomendatelnye-sistemy.html – Загл. с экрана
  10. Анатомия рекомендательных систем. Часть первая проекта [Электронный ресурс]. – Режим доступа: https://habr.com/ru/company/lanit/blog/420499/ – Загл. с экрана
  11. Как устроены современные рекомендательные системы? [Электронный ресурс]. – Режим доступа: https://proglib.io/p/sovremennye-rekomendatelnye-sistemy-2021-03-02 – Загл. с экрана
  12. Что такое рекомендательные системы и как они работают [Электронный ресурс]. – Режим доступа: https://skillbox.ru/media/code/chto_takoe_rekomendatelnye_sistemy_i_kak_oni_rabotayut/ – Загл. с экрана
  13. Коврик К.А. Об особенностях разработки рекомендательной системы для пользователей мессенджера Telegram / К.А. Коврик, И.А. Коломойцева // Программная инженерия: методы и технологии разработки информационновычислительных систем (ПИИВС-2020): сборник научных трудов III Международной научнопрактической конференции (студенческая секция), Том. 2. 25-26 ноября 2020 г. – Донецк, ГОУВПО Донецкий национальный технический университет, 2020. – 166 с.