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

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

Но почему умные часы?

Простым ответом будет: почему бы и нет? Но поскольку это был исследовательский проект, каждый шаг требует тщательного обоснования.

Потребность в носимых технологиях значительно расширилась в современном мире. Ожидается, что к концу 2023 года во всем мире будет более 224 миллионов пользователей умных часов. Умные часы спасли жизни во многих ситуациях. 42% пользователей смарт-часов обсуждали со своими врачами данные о фитнесе, которые собирали их устройства. Поскольку смарт-часы все больше и больше входят в нашу повседневную жизнь, количество их функций постоянно растет. Ряд возможностей, таких как голосовые команды, уведомления о сообщениях и отслеживание физической формы, может быть доступен пользователям умных часов. Тем не менее, из-за огромного количества вариантов смарт-часов клиентам может быть сложно выбрать тот, который лучше всего соответствует их потребностям и интересам.

Данные и их содержимое

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

Методология

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

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

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

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

Метод взвешенной суммы

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

Пусть x_i,j будет значением атрибутаj для элемента i, а w_j будет весом, присвоенным атрибуту j. Затем оценка s_i для элемента i может быть рассчитана следующим образом:

s_i = (w_1 * x_i,1) + (w_2 * x_i,2) + … + (w_j * x_i,j)

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

# Calculate the weighted scores for each smartwatch
smartwatch_data["Weighted Score"] = 0
for feature, weight in feature_weights.items():
    smartwatch_data["Weighted Score"] += smartwatch_data[f"{feature} Score"] * weight

Результаты и заключение

Система рекомендует 5 лучших часов на основе пользовательских предпочтений и процентилей.

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

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

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

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

Ваше здоровье