Спільна фільтрація (CF) — це потужний алгоритмічний метод, який часто застосовують у сфері рекомендаційних систем. Його основна передумова полягає в тому, щоб передбачити інтереси конкретного користувача шляхом збору вподобань багатьох користувачів. Припущення, яке лежить в основі CF, полягає в тому, що якщо два користувачі погоджуються з одного питання, вони, швидше за все, погодяться і з інших.
Генезис і еволюція спільної фільтрації
Перша згадка про спільну фільтрацію була в 1992 році Девідом Голдбергом та іншими співробітниками Xerox PARC під час розробки Tapestry, ранньої системи електронної пошти. Tapestry був розроблений, щоб використовувати людський інтелект і дозволяти людям додавати анотації або «теги» до вхідних повідомлень, які пізніше можна використовувати для фільтрації повідомлень.
У 1994 році проект GroupLens Університету Міннесоти представив термін «колаборативна фільтрація», запропонувавши автоматизований підхід CF. Цей проект використовував CF для новин Usenet — мережі груп новин, у яких користувачі могли публікувати повідомлення та які вони могли фільтрувати відповідно до своїх уподобань.
Розгортання спільної фільтрації
Спільна фільтрація в основному працює шляхом створення матриці користувальницьких елементів, яка містить уподобання (наприклад, оцінки), надані користувачами елементам. Наприклад, у контексті системи рекомендацій фільмів ця матриця міститиме оцінки, надані користувачами різним фільмам.
CF базується на двох основних парадигмах: CF на основі пам’яті та CF на основі моделі.
-
CF на основі пам’яті: також відома як CF на основі сусідства, ця парадигма робить прогнози на основі подібності між користувачами або елементами. Він підрозділяється на CF користувача-користувача (ідентифікує користувачів, які схожі на передбачуваного користувача) і CF Item-Item (ідентифікує елементи, схожі на ті, які користувач оцінив).
-
CF на основі моделі: цей підхід передбачає розробку моделі користувачів, щоб дізнатися їхні переваги. Застосовуються такі методи, як кластеризація, матрична факторізація, глибоке навчання тощо.
Механізм, що стоїть за спільною фільтрацією
За своєю суттю процеси спільної фільтрації включають два кроки: пошук користувачів зі схожими смаками та рекомендація товарів на основі цих схожих уподобань користувачів. Ось загальна схема його роботи:
- Обчисліть схожість між користувачами або елементами.
- Передбачте рейтинги елементів, які ще не оцінені користувачем.
- Рекомендуйте топ-N товарів із найвищими прогнозованими оцінками.
Подібність між користувачами або елементами зазвичай обчислюється за допомогою косинусної подібності або кореляції Пірсона.
Ключові особливості спільної фільтрації
- Персоналізація: CF надає персоналізовані рекомендації, оскільки враховує поведінку окремого користувача під час рекомендації.
- Адаптивність: Він може адаптуватися до мінливих інтересів користувача.
- Масштабованість: Алгоритми CF здатні працювати з великими обсягами даних.
- Проблема холодного запуску: Нові користувачі або нові елементи можуть бути проблематичними, оскільки недостатньо даних для надання точних рекомендацій — проблема, відома як проблема холодного запуску.
Типи спільної фільтрації
Тип | опис |
---|---|
CF на основі пам'яті | Використовує пам’ять про попередні взаємодії користувачів для обчислення подібності користувачів або схожості елементів. |
CF на основі моделі | Включає етап вивчення моделі, а потім використовує цю модель для прогнозування. |
Гібридний CF | Поєднує методи на основі пам’яті та моделі, щоб подолати деякі обмеження. |
Використання спільної фільтрації: проблеми та рішення
CF знаходить широке застосування в різних областях, включаючи, але не обмежуючись, фільми, музику, новини, книги, дослідницькі статті, пошукові запити, соціальні теги та продукти в цілому. Однак існують такі проблеми, як:
- Проблема холодного запуску: Рішення полягає в гібридних моделях, які включають фільтрацію на основі вмісту або використання додаткових метаданих про користувачів або елементи.
- Розрідженість: Багато користувачів взаємодіють із невеликою кількістю елементів, залишаючи матрицю «користувач-елемент» розрідженою. Методи зменшення розмірності, як-от декомпозиція сингулярного значення, можуть пом’якшити цю проблему.
- Масштабованість: У міру зростання даних швидке надання рекомендацій може стати інтенсивним обчисленням. Рішення включають розподілені обчислення або використання більш масштабованих алгоритмів.
Порівняння з подібними методами
метод | опис |
---|---|
Спільна фільтрація | Базується на припущенні, що людям подобаються речі, схожі на те, що їм подобалося в минулому, і речі, які подобаються людям зі схожими смаками. |
Фільтрування на основі вмісту | Рекомендує елементи шляхом порівняння вмісту елементів і профілю користувача. |
Гібридні методи | Ці методи поєднують спільну фільтрацію та фільтрацію на основі вмісту, щоб уникнути певних обмежень. |
Майбутні перспективи спільної фільтрації
З появою більш складних технологій машинного навчання та штучного інтелекту методи CF розвиваються. Методи глибокого навчання зараз використовуються для розробки складних моделей МВ, що дає більш точні рекомендації. Крім того, тривають дослідження щодо вирішення проблем розрідженості даних і проблеми холодного старту, що обіцяє більш ефективні та ефективні методи CF у майбутньому.
Проксі-сервери та спільна фільтрація
Проксі-сервери, подібні до тих, які надає OneProxy, можуть опосередковано допомагати у спільній фільтрації. Вони забезпечують анонімність і безпеку, дозволяючи користувачам конфіденційно переглядати веб-сторінки. Це заохочує користувачів вільно взаємодіяти з елементами в Інтернеті, не боячись порушити свою конфіденційність. Отримані дані є важливими для CF, оскільки для надання рекомендацій він значною мірою залежить від взаємодії користувача з елементами.
Пов'язані посилання
- Дослідження GroupLens
- Дослідження Netflix
- Amazon Research
- Цифрова бібліотека ACM за наукові дослідження спільної фільтрації
- Google Scholar для академічних статей про спільну фільтрацію