Динамічні системи рекомендацій


14

Система рекомендацій вимірює співвідношення між рейтингами різних користувачів та дає рекомендації для даного користувача щодо елементів, які можуть його зацікавити.

Однак смаки змінюються з часом, тому старі рейтинги можуть не відображати поточних уподобань і навпаки. Можливо, ви колись помістили "відмінно" до книги, яку зараз оціните як "не надто огидну" тощо. Більше того, змінюються і самі інтереси.

Як повинні рекомендувати системи рекомендування працювати в умовах, що змінюються?

  1. Один із варіантів - зменшити "старі" рейтинги, які можуть спрацювати прекрасно, якщо ви правильно визначите "старий" (навіть ви можете сказати, що рейтинги ніколи не закінчуються і роблять вигляд, що проблема не існує). Але це не найкращий можливий варіант: звичайно, смаки розвиваються, це нормальний життєвий потік, і немає жодної причини, чому ми не можемо використати додаткові знання колись правильних рейтингів минулого.
  2. Інший варіант - якось вмістити ці зайві знання. Таким чином, ми не могли просто знайти «миттєву відповідність» вашим поточним інтересам, але запропонувати вам речі, які вам можуть сподобатися далі (на відміну від речей, які вам можуть сподобатися зараз ).

Я не впевнений, чи пояснюю це досить добре. В основному я прихильник другого підходу, і я говорю про Рекомендаційну систему, яка б вимірювала кореляцію смакових траєкторій та рекомендації щодо отримання врожаю. Ну, давайте назвемо це особистим зростанням - адже вони будуть надходити від людей, чиїх "траєкторія смаку" (а не лише "смак знімка") схожа на вашу.

Тепер питання: мені цікаво, чи щось подібне до "варіанту 2" вже існує, і якщо він є, мені цікаво, як це працює. А якщо його не існує, ви можете обговорити, як це має працювати! :)

Відповіді:


8

Дуже рекомендую паперову спільну фільтрацію з часовою динамікою Єгуди Корен (конкурс Netflix!), Де детально обговорюється це питання.

Я погоджуюся з автором, що перший варіант («відрізання») - це не шлях. Це правда, що застарілі вподобання ігноруються таким чином, але а) деякі переваги ніколи не змінюються, отже, вбиваються дані з метою виявлення вічнозелених рослин; б) деякі вподобання в минулому потрібні для розуміння вподобань майбутнього ( наприклад, купуйте сезон 1 -> ви, ймовірно, купуєте сезон 2).

Однак Корен не намагається чітко визначити такі траєкторії (тобто так, щоб можна було передбачити поведінку користувача у зміні в майбутньому), оскільки це дуже важке завдання. Ви можете уявити це, пам’ятаючи, що переваги «станцій» по траєкторії не пов'язані з часом, а з особистим розвитком користувача, можливо, перериваються або перетинаються іншими траєкторіями або виражаються просто по-іншому. Наприклад, якщо хтось переходить від жорстких бойовиків до бойовиків, не існує такого поняття, як певний "вхідний м'який екшн" чи щось подібне. Користувач може ввести цю область в будь-який момент (у часі та просторі предмета). Ця проблема в поєднанні з рідкістю даних робить майже неможливим створення тут можливої ​​моделі.

Натомість, Корен намагається розділити минулі дані на довготривалі сигнали-схеми та щоденний шум, щоб підвищити ефективність рейтингових прогнозів. Він застосовує такий підхід як до SVD, так і до простої моделі спільної роботи. На жаль, з математикою я ще не закінчився, тому більше деталей щодо цього не можу надати.

Додаткова примітка щодо явного моделювання траєкторій

Область Sequence Mining забезпечує методи виконання, але важливим моментом є пошук відповідного абстрактного зображення елементів (оскільки використання самих елементів не працюватиме через розрідженість), наприклад, згрупування в теги. Однак, хоча цей підхід може дати деяку інформацію про поведінку деяких користувачів (Data Mining!), Він може бути нерелевантним, коли мова йде про додаток для всіх клієнтів (тобто масових), так що неявне моделювання, як запропонував Корен, може бути краще в підсумку.


Папір Єгуди дуже близький до того, про що я говорив, хоча насправді він не говорить про "траєкторії смаку". Можливо, ви правильні, і "швидкість зміни смаку" не визначена для будь-якої людини .. Дякую за посилання!
andreister

Так, це перше, що я придумав.
Stumpy Joe Pete

2

Я не знаю про працюючу систему, але не був би здивований, якщо в Amazon, NetFlix або у когось є така система. Навіть пошукова система Google може мати подібний тип системи.

Я думав про це під час проходження курсу доктора Нґ в останньому семестрі. Підхід, який я спочатку подумав, був би оптимальним, - це додати коефіцієнт зважування залежно від віку. Чим більше поточний фрагмент даних, тим сильніше він би зважився. Цей підхід був би відносно простим та обчислювально недорогим у здійсненні.

Однак, продумавши цей підхід більш ретельно, я думаю, що він має серйозні вади для багатьох застосувань. Особисто я часто буду дотримуватися жанру чи показувати деякий час, втомлюватися, переходити до чогось іншого, але повернутися до оригінального жанру пізніше. Цей цикл вигорання, повторного розгортання з'являється і в суспільстві.

Тому я схиляюся до трохи складнішої системи. Дані потрібно розділити на два набори; поточні дані - поріг повинен змінюватись залежно від застосування плюс тривалість взаємодії індивіда, - які зважуватимуться більш вагомими та "історичними" даними, які будуть оцінені нижчими з повільним зниженням значень з часом. По-друге, буде включено чинник, який намагатиметься виявити "відключення", коли сильний інтерес або участь несподівано зникають. "Поточні" дані, які аналогічно класифіковані, були б перекласифіковані як би історичними.

Жоден із цих підходів не має жодної суворості чи валідації, але я вважаю, що варто було б побудувати деякі випробування гіпотези.


Ваше уявлення про меншу вагу для старих даних насправді схоже на "варіант 1". Натомість я кажу, що важлива вся траєкторія мінливого смаку - тобто, якби вчора вам сподобався жанр A, а сьогодні вам подобається жанр B, система дивилася б на інших людей з тим самим "AB- ??" смак рухається і запропонував би, щоб завтра вам сподобався жанр C.
andreister

1

Як я бачу, модифікована версія спільної фільтрації може працювати. Однак вам потрібно буде дотримуватися часової позначки в кожному рейтингу та представляти штраф під час обчислення ваги старшого звання.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.