Arhn - архитектура программирования

Apache Mahout, использовать или не использовать

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

Я планировал сделать это с помощью JPA и нескольких специализированных EJB. У моих объектов будет дополнительная пара списков, содержащих самые последние рекомендации, затем EJB будет сканировать набор данных и периодически обновлять этот список. Модель основана на отношениях между компонентами и не зависит от прошлого поведения пользователя. Я ожидаю, что набор данных останется относительно небольшим. наверное не более полумиллиона штук.

У меня есть довольно хорошее представление о том, как это сделать с помощью JPA и EJB, и я думаю, что для моего конкретного случая использования это было бы очень эффективно.

Стоит ли тратить время на изучение и внедрение Mahout? У меня есть небольшой опыт работы с hadoop, хотя я не думаю, что мой набор данных будет достаточно большим, чтобы оправдать использование слона.

Кроме того, может ли кто-нибудь указать мне хороший учебник по внедрению систем рекомендаций с помощью mahout?

Большое спасибо.


Ответы:


1

Если вы реализуете рекомендательный движок, имейте в виду, что у этой части Mahout есть совершенно разные реализации, основанные на Hadoop, а не на Hadoop. Это хорошо, потому что Hadoop нельзя напрямую подключить к чему-либо на основе EJB. И у вас нет масштабных проблем. Так что вам не нужно беспокоиться о Hadoop.

Вы хотите просмотреть содержимое org.apache.mahout.cf.taste.impl помимо пакета .hadoop; это всего лишь чистая Java, поэтому вы можете встроить ее в EJB. Я думаю, вы хотите посмотреть на Recommender API, а затем просто обернуть его в свой сессионный компонент и предоставить его, как вам нравится.

(Вы действительно хотите использовать EJB в наши дни? Отдельный вопрос...)

Фактически, в предыдущем выпуске 0.4 все еще был пример привязки EJB в качестве сеансового компонента без сохранения состояния. Вы можете выкопать и повторно использовать эту обертку.

Лучший веб-ресурс для этой части кода: https://cwiki.apache.org/MAHOUT/recommender-documentation.html

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

18.01.2012
  • отлично, Mahout в действии уже был в моей корзине Amazon. Какие другие технологии вы бы порекомендовали вместо EJB для многоуровневого приложения? 18.01.2012
  • Если вы представляете его как службу, честно говоря, простой сервлет эффективен. Текст или XML через HTTP. Это то, что я всегда делал. API рекомендателя настолько прост, что все остальное кажется излишеством. Пример такого сервлета есть в integration/ 18.01.2012
  • Я проверю это. Кстати, я думаю, это здорово, что я могу задать этот вопрос на stackoverflow и получить ответ от вице-президента и основного автора технологии ... что делали инженеры-программисты до Интернета? еще раз спасибо. 18.01.2012
  • Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..