Студия Михаила Кечинова

ruen
Навигация
Главная Библиотеки для систем рекомендаций (для разных языков программирования)

Библиотеки для систем рекомендаций (для разных языков программирования)

Библиотеки для рекомендаций

Все, что нашли, собрали здесь. Кому есть, чем дополнить — дополняйте, добавим.

SUGGEST

Рекомендательный механизм типа Top-N реализованный в виде библиотеки. Механизм SUGGEST, созданный Джорджем Кариписом (George Karypis) в Миннесотском университете, использует несколько алгоритмов коллаборативной фильтрации и реализует коллаборативную фильтрацию на основе пользователей и на основе элементов. Конкретный алгоритм можно указать при инициализации определенного набора данных.

Язык: C

  • opensource
  • простой API

easyrec

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

Язык: Java

  • opensource
  • без привязки к языку
  • вывод статистики и других бизнес-данных в административной панели

MyMediaLite

Опенсорсное ПО, доступное для использования только в некоммерческих целях.

Язык: C#, F#, Clojure, Python, Ruby

  • не нуждается в базе данных.
  • содержит базовые типы рекомендательных алгоритмов: предсказание рейтинга и товара (последнее — исходя из позитивного фидбека: кликов, лайков, покупок).
  • не содержит сложных функций вроде комплексных рекомендаций, потоков рекомендаций, интеграции с OpenID.

LensKit

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

Язык: Java

Duine

Библиотека программного обеспечения для создания прогнозирующих механизмов, созданная в Институте телематики (Норвегия). Последнее обновление кода этой платформы было выполнено в 2009 году, поэтому скорее всего этот проект в настоящее время неактивен.

Язык: Java

Crab

Инфраструктура рекомендательного механизма для Python, в которой используются некоторые составляющие экосистемы Python для вычислений научного характера, такие как NumPy и SciPy. В Crab реализована коллаборативная фильтрация на основе пользователей и на основе элементов. В рамках будущего развития проекта Crab запланирована реализация алгоритма Slope One и алгоритма сингулярного разложения (Singular Value Decomposition), а также применение API-интерфейсов типа REST.

Язык: Python

Waffles

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

Язык: С++

  • возможность тонкой настройки благодаря большому количеству параметров.

Recommenderlab

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

Язык: R

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

likelike Использует вероятностный метод понижения размерности многомерных данных. Область применения: рекомендации товаров на e-commerce сайтах, новостей.

Язык: Java

  • Поддерживает только MinHash, технику для быстрой оценки похожести двух наборов.

OpenSlopeOne

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

Язык: PHP/MySQL

Voogoo

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

Язык: PHP

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