Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Разработка компонента кэширования рекомендаций

Читайте также:
  1. Глава четырнадцатая. РАЗРАБОТКА ПРИИСКОВ
  2. Диагностика личности одного ученика с анализом, описанием полученных результатов, рекомендаций.
  3. Добавление компонента на диаграмму компонентов и редактирование его свойств
  4. Исследование точности построения рекомендаций
  5. Какие выгоды получили Джеймс и Кэти от рекомендаций финансового и налогового консультантов?
  6. Методическая разработка
  7. МЕТОДИЧЕСКАЯ РАЗРАБОТКА ДЛЯ СТУДЕНТОВ 5-6 КУРСОВ ЛЕЧЕБНОГО, ПЕДИАТРИЧЕСКОГО И МЕДИКО-ПРОФИЛАКТИЧЕСКОГО ФАКУЛЬТЕТОВ ПО ХИРУРГИИ

Механизм построения рекомендаций был реализован в виде программного модуля для Python/Flask backend ИС “Открытая Карелия”. Работа с рекомендациями в рамках модуля разделена на два этапа:

1. Построение кэша рекомендаций. При каждом запуске backend ИС “Открытая Карелия” происходит последовательное вычисление значений баллов близости для всех пар объектов системы и всех критериев близости. Вычисленные значения индексируются совокупностью упорядоченной пары идентификаторов пары объектов и идентификатора критерия близости.

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

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

1. Объем требуемой памяти прямо пропорционален количеству объектов в БД.

2. Для обновления данных в кэше необходим перезапуск веб-приложения.

3. При запуске веб-приложения сервис рекомендаций недоступен на время построения кэша.

Исходя из этих ограничений, одно из направлений улучшения работы системы подбора рекомендаций состоит в реализации механизма background-кэширования.

На рисунке 6 приведена архитектура кэширования рекомендаций.

Рисунок 6. Архитектура кэширования рекомендаций

Данные о тегах хранятся в коллекции tagsCollectionCache, которая имеет вид {имя_тега: {'forms': [список_словоформ], 'languages': язык_тега}. Также некоторые объекты имеют поле “associated_tags” в котором хранятся некоторые теги объекта. Поскольку все теги не хранятся в базе данных в коллекции «objects», это усложняет процесс поиска тегов объекта. Для этого существует функция getObjectTags, которая берет все теги из коллекции “tags”, проверяет наличие каждой словоформы в каждом объекте и возвращает



Дата добавления: 2015-10-16; просмотров: 89 | Нарушение авторских прав


Читайте в этой же книге: Введение | Обзор существующих алгоритмов подбора рекомендаций | Разработка функции отображения похожести для слабоструктурированных объектов | Описание системы | Типы рекомендаций | Установка и настройка Sphinx | Исследование точности построения рекомендаций | Область применения | Термины и определения | Требования к дисплею |
<== предыдущая страница | следующая страница ==>
Ранжирование в Sphinx| Предоставление пользовательского интерфейса получения рекомендаций

mybiblioteka.su - 2015-2024 год. (0.006 сек.)