Працюю над реалізацією як індивідуальної, так і стереотипної моделі користувача в рекомендаційній системі. Я зіткнувся з Apache Mahout, але здається, що він працює тільки з окремою моделлю користувача. Моє питання, як я можу працювати зі стерео типу користувача моделі в Apache Mahout смак?
Моє розуміння для двигуна рекомендацій що у вас є такі ключові параметри
- Метод отримання інформації (неявний або явний)
- Модель користувача (індивідуальна чи стереотипна)
- Методи рекомендацій (база співпраці або вміст)
Відповіді:
0 для відповіді № 1Смак застарілий. Mahout зазнав великого перезавантаження і більше не приймає код Hadoop MapReduce. Багато хто з алгоритмів Hadoop MapReduce були переписані на базі коду Махаут Самсара, яка віртуалізує велику кількість операцій типу лінійної алгебри для виконання декількох обчислювальних двигунів. Найбільш повною є Spark, яка працює 10x швидше, ніж Hadoop MapReduce.
Що в преамбулі, нові "рекомендаційні" реалізації, хоча вони включають ALS, також мають код для подібності елементів і рядків, які в даних рекомендацій означають подібність елемента і користувача.
Див. Опис "spark-rowsimilarity" тут: http://mahout.apache.org/users/algorithms/intro-cooccurrence-spark.html#2-spark-rowsimilarity
Приклад неправильний для вашого випадку, але працює так само добре, щоб обчислити подібність користувачів, ввівши вектори взаємодії з користувачами.
Інший спосіб зробити це - перенести вектори взаємодії з користувачами в механізм подібності, який використовує Lucene, наприклад Solr або Elasticsearch. Потім запитайте дані конкретного користувача, і ви отримаєте назад аналогічних користувачів.