РАЗРАБОТКА ПОДСИСТЕМЫ ПОДБОРА СОПУТСТВУЮЩИХ ТОВАРОВ ПРИ ПОКУПКЕ В ИНТЕРНЕТ-МАГАЗИНЕ - Студенческий научный форум

VII Международная студенческая научная конференция Студенческий научный форум - 2015

РАЗРАБОТКА ПОДСИСТЕМЫ ПОДБОРА СОПУТСТВУЮЩИХ ТОВАРОВ ПРИ ПОКУПКЕ В ИНТЕРНЕТ-МАГАЗИНЕ

Зверев П.Д. 1, Шукенбаев А.Б. 2, Шукенбаева Н.Ш. 2
1Московский институт государственного и корпоративного управления
2нет нет
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF
Популярность интернет-магазинов неуклонно растет. Основная их задача – обеспечить высокий процент покупок. Для этого часто используют рекомендательные системы. Система рекомендаций сравнивает профиль пользователя с какой-то справочной информацией и старается предсказать «рейтинг», который пользователь даст объекту, над которым он еще даже не думал. Работа рекомендательных систем видна в онлайн магазинах Amazon, Last.fm, Pandora, Google Play и др. Основная задача системы - предложить товары на базе купленных или просмотренных, т.е. рекомендательная система должна предлагать некоторый упорядоченный список товаров, основываясь на предыстории и предпочтениях покупателя.

Целью работы является разработка подсистемы подбора сопутствующих товаров при покупке в интернет-магазине (www.miko.digitalfashion.ru). Основная задача подсистемы - предложить новые товары на базе купленных-просмотренных. Такая подсистема позволит увеличить ассортимент и продажу товаров и в конечном итоге прибыль в магазине. Для выполнения поставленной цели необходимо было выбрать подходящий метод и разработать приложения. В результате проведенного анализа и сравненения (рассмотрены методы байесовских сетей, гибридные модели, латентные модели и др.) был выбран метод кластерного анализа, на основе которого разрабатывалась подсистема. Для языка Python и в частности для Django используется приложение Django-recommends, которое основывается на коллаборативной фильтрации по рейтингу и использует алгоритм метода расчета сходства и рекомендаций. Метод в качестве входных данных использует список голосов для объекта и возвращает словарь сходств для каждого объекта. Система рекомендаций тесно взаимодействует со структурой построения приложения. Невозможно реализовать систему и правильно настроить ее без создания базовой функциональности магазина.

Для решения поставленных задач были выбраны: операционная система Mac OS X 10.10; СУБД MySQL; язык программирования Python со свободным фреймворком для веб-приложений Django; кроссплатформенный веб-сервер Apache с использованием модуля mod_wsgi. Дополнительным языком программирования выбран JavaScript, а для взаимодействия JavaScript и HTML использовалась библиотека jQuery.

На рис. 1 представлена ER-модель разрабатываемой подсистемы.

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

  • models.py – предназначен для отображения информации о данных.

  • admin.py – использует мета-данные модели для представления интерфейса для работы с содержимым сайта.

  • test.py. Django предоставляет возможность тестировать код, используя пакет тестов.

  • templatetags. Django содержит встроенные

Рис 1. ER-Модель интерактивной подсистемы

подбора сопутствующих товаров

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

  • views.py. Представление — это функция Python, которая принимает web-запрос и возвращает web-ответ (HTML содержимое, массив данных или XML файл).

  • widgets.py. Виджеты — это представление поля в виде HTML кода, который обеспечивает извлечение данных из POST/GET запросов для расширения базового функционала типа данных как в административной панели, так и на сайте.

  • пользовательский файл или класс – для нестандартных задач

На рис. 2 показана схема взаимодействия модулей:

  1. Menu - отвечает за отображение, редактирование, добавление любого типа меню. Состав приложения: models.py с классами типа меню и элемента меню; templatetags с двумя шаблонными тегами для вывода типа меню и его элементов.

  2. Core - основное приложение в проекте. На его моделях строится основная структура интернет-магазина. Приложение содержит представления для работы сайта. Состав приложения: models.py с классами для позиции товара, динамичных категорий товара и полей для динамичных категрий; widgets.py – для перезаписи стандартного класса MultiFileInput для загрузки нескольких изображений; templatetags с тремя шаблонными тегами; views.py с 25 представлениями (представление отвечающее за корзину, каталог, главную страницу, карточку товара и т д.); recommendations.py - пользовательский файл для выборки рекомендуемого товара (входными данными является объект корзины, выходными данными является список рекомендуемого товара). Именно в этом файле реализован алгоритм кластеризации.

  3. Goods - приложение с динамическими моделями товаров. Состав приложения: models.py - не содержит классов, т.к. все модели для данного приложения создаются динамически.

  4. Node - для обычных текстовых страниц разделяющихся на категории. Состав приложения: models.py с классами категрий и элементов текстового матерала и views.py с представлениями для текстовых материалов.

  1. Cart - содержит в себе основную логику корзины для интернет-магазина. Состав приложения: models.py с классами корзины и элементов корзины; cart.py - пользовательский файл, включающий в себя создание, удаление и прочее манипулирование как с самим обьектом корзины, так и с элементами корзины.

  2. Compare - содержит основную логику для сравнения товара. Состав приложения: models.py с классами сравнения и элементов сравнения;

Рис. 2. Взаимодействие модулей

compare.py - пользовательский файл, включающий в себя создание удаление и прочее манипулирование как с самим обьектом сравнения, так и с элементами сравнения.

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

  2. Meta - представляет собой семантическое ядро для продвижения сайта в интернете; создания контекстной рекламы и т.д. Содержимое приложения: models.py содержит один абстрактный класс, для которого не создается таблица в базе данных. Класс наследник содержит 3 дополнительных поля (meta_title, meta_keywords и meta_description). Все классы, которые нуждаются в 3 дополнительных полях для поисковых систем, наследуются от данного класса.

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

Список использованной литературы:

  1. Кольчугина Е.А., Макарь В.А. Метод коллаборативной фильтрации для масштабируемых рекомендательных систем //Современные научные исследования и инновации. 2012. № 6 [Электронный ресурс]. URL: http://web.snauka.ru/issues/2012/06/14316

  2. Морозов Н.В.,Шукенбаев А.Б., Шукенбаева Н.Ш. Подсистема отправки SMS сообщений. Общероссийский журнал Академии Естествознания "Современные наукоемкие технологии" № 5, часть 2, - М.: Издательский дом «Академия естествознания», 2014, с. 212-214.

  3. Конькова Ю.В., Шукенбаев А.Б., Шукенбаева Н.Ш. Анализ эффективности сайта и разработка предложений по ее повышению. Сборник трудов международной научно практической конференции «Современные инфорамационные технологии в профессиональной деятельности (СИТ-2014)», – М.: МФЮА, 2014. C. 111-119.

Просмотров работы: 1219