Рекомендаційні системи в Інтернеті. Абсолютне юзабіліті. Епоха рекомендаційних систем. Приклади явного збору даних

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

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

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

Методи фільтрації, що використовуються в рекомендаційних системах

Колаборативна фільтрація

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

Підхід, заснований на зіставленні користувачів (у народі - user-based), бере до уваги схожість заданого користувача на інших користувачів, задіяних у системі. Наприклад, якщо Василь позитивно оцінив Lady Gaga, Oasis і Led Zeppelin, то Анастасії, яка любить Lady Gaga і Led Zeppelin, можна спробувати запропонувати Oasis.

Концепція зіставлення об'єктів (item-based відповідно), навпаки, аналізує самі об'єкти і виявляє їх схожість ті, які Василю колись сподобалися. На практиці це виглядає так – Василеві колись сподобалися Radiohead та Blur, чому б нам не запропонувати йому ще й Oasis?

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

Василь та Анастасія: взаємні автоматичні рекомендації на основі відмінностей у перевагах.

Контентна фільтрація

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

Контентна фільтрація повністю ігнорує думки користувачів щодо тих чи інших об'єктів. Вибудовуючи зв'язки суто між самими об'єктами, ми маємо можливість миттєво, без збору оцінок та додаткових персональних відомостей, запропонувати людині щось схоже на ту позицію, яка її зацікавила. Виключаючи досвід користувача з рекомендаційної системи як основну субстанцію, ми начебто вирішуємо проблему т.зв. холодного старту, коли розрідженість даних про користувача заважає системі виробляти персоналізовані рекомендації. Однак Зворотній бікконтентної фільтрації полягає у зовсім недоречних, а часом і просто безглуздих рекомендаціях на кшталт «Купили Toyota RAV4? Можливо, вас також зацікавить Toyota Highlander!»

Інша складність, пов'язана з використанням принципу контентної фільтрації – значний обсяг роботи з розбудови зв'язків між усіма об'єктами, що знаходяться в системі. Але найголовніший недолік цього методу виявляється у досить низькому, а часом досить умовному попаданні в ціль. Контентна фільтрація не передбачає високого ступеня персоналізації, тому точність рекомендацій щодо невелика.

Фільтрування, засноване на знаннях (Knowledgebased systems)

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

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

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

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

а) Побажання користувача. Знайома всім ситуація – сайт пропонує користувачеві вказати бажані характеристики, після чого пропонує товари, що підходять під запит.

Яндекс.Маркет та його чекбокси – вдалий та яскравий приклад рекомендаційної системи, яка керується користувальницькими вимогами.

б) демографічні особливості.Власне, демографічні дані для вироблення рекомендацій використовують найбільші соціальні мережі, такі як Facebook, LinkedIn, Вконтакте та інші.

Звичайно, для реалізації такої системи потрібно добре попрацювати - вам доведеться зібрати і обробити величезний масив даних.

Гібридна фільтрація

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

Такий приклад демонструє Netflix, чия складна гібридна система рекомендацій, що демонструє унікальну точність, постійно вдосконалюється та модернізується. Розробка такого потужного алгоритму багато в чому пов'язана із щедрим фінансуванням досліджень у цій галузі самим Netflix, який у 2006 році запропонував $1.000.000 за вдосконалення своєї системи рекомендацій на 10%.

Команда розробників BellKor's Pragmatic Chaos, яким вдалося покращити алгоритмNetflixна 10,09%.

Пара слів про практичні кроки як висновок

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

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

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

Існують дві основні стратегії створення рекомендаційних систем: фільтрація вмісту та колаборативна фільтрація.

При фільтрації вмістустворюються профілікористувачів та об'єктів.

  • Профілі користувачів можуть містити демографічну інформацію або відповіді на певний набір запитань.
  • Профілі об'єктів можуть містити назви жанрів, імена акторів, імена виконавців тощо. - Залежно від типу об'єкта.

Цей підхід використовується у проекті Music Genome Project: музичний аналітик оцінює кожну композицію за сотнями різних музичних характеристик, які можуть використовуватися для виявлення музичних уподобань користувача.

При колаборативної фільтраціївикористовується інформація про поведінку користувачів у минулому - наприклад, інформація про покупки або оцінки. У цьому випадку немає значення, з якими типами об'єктів ведеться робота, але при цьому можуть враховуватися неявні характеристики, які складно було б врахувати при створенні профілю. Основна проблема цього типу рекомендаційних систем - «холодний старт»: відсутність даних про користувачів, що недавно з'явилися в системі, або об'єктах.

Методика

Приклади явного збору даних

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

Приклади неявного збору даних

  • спостереження за тим, що оглядає користувач в інтернет-магазинах чи базах даних іншого типу;
  • ведення записів про поведінку користувача онлайн;
  • відстеження вмісту комп'ютера користувача;

Застосування

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

  • Імхонет (фільми, література, фото)
  • Last.fm (музика)
  • Ozon (книги, диски та ін.)
  • Software Informer (програмне забезпечення)
  • Лабораторія фантастики (сайт про фантастику та фентезі)
  • Imdb - фільми (сайт англійською)
  • Rechelper - фільми
  • Advizzer - місця
  • Мир4 - експериментальна система здатна працювати з будь-яким контентом, зокрема малотиражним. Поки що працює лише з новинами.

Посилання

Примітки

Література

  • Melville P., Mooney R., Nagarajan R. Content-Boosted Collaborative Filtering для Improved Recommendations (англ.) // University of Texas, USA: Матеріали конф. / AAAI-02, Austin, TX, USA, 2002. – 2002. – С. 187-192.

Wikimedia Foundation.

Почнемо з визначення, що таке рекомендаційні системи. Це програми та сервіси, які намагаються визначити, що хочуть бачити користувачі, та надати їм це (або порекомендувати, звідки й назва). Кожен з нас, напевно, зустрічав подібні прийоми на різних сайтах. Сьогодні ми опишемо типи, принцип роботи таких програм, а також дамо приклади цих алгоритмів у дії. Читайте до кінця, буде цікаво!

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

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

Для інтернет-магазинів це в принципі важлива функція, а для великих каталогів типу Amazon — один з небагатьох способів якісно працювати. Спосіб рекомендації в даному випадку не є звичайною додатковою опцією, вона забезпечує зручність навігації користувача за допомогою веб-ресурсу. Якщо електронний каталогмістить понад 20 000 найменувань продукції, орієнтація вже видається надмірно важкою, що казати, якщо товарів мільйони?

Наскільки втомлює потенційного покупця взаємодію Космосу з подібним сайтом? Відповідь очевидна. І на допомогу приходить віджет пошуку товарів, які візуально схожі на шуканий, або належить одній групі виробів, або компліментарна продукція (коли до пари туфель пропонують вибрати сумочку, наприклад). Таке рішення збільшує не лише кількість переглядів, це позитивно впливає на конверсію.

Як показує практика, не лише онлайн-магазини використовують такий прийом. Соціальні мережітакож не відстають. Нижче приклад з ВКонтакте.

Також подібні прийоми легко можна побачити на різних соціальних платформах, порталах, присвячених літературі, подорожам, на ресурсах новин, в інтернет-магазинах, словом — майже скрізь. Ця методика справді дуже популярна. Веб-ресурс Кінопошук – ще один доступний приклад.

Методики

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

Другий тип – неявний збір даних. Умовно кажучи, це шпигунська місія, за якою дії учасника процесу фіксуються програмою для подальшої обробки та застосування. Що потрібно для цього? Програма розпізнає покупки, оцінки на сайтах, збирає інформацію щодо переглядів, коментарів. Звичайно, вибір такої методики веде за собою деякі етичні проблеми, адже захист персональних даних — одна з головних вимог, які пред'являють користувачі пошукові системи. Але поки що факт залишається фактом — своєрідне стеження можливе, і пересічні відвідувачі сайтів перевірити, чи справді ведуться подібні заходи, не можуть.

Перша базова методика називається колаборативною фільтрацією (collaborative filtering). Рекомендації з використанням даної методики видаються, ґрунтуючись на поведінкових характеристиках однієї людини або групи людей, останнє навіть є більш ефективним. У групи збираються люди, які схожі між собою за поведінкою та характеристиками.

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

Другий підхід називається контентною фільтрацією (content-based filtering). Тут рекомендація формується з поведінки людини. При використанні цього підходу може братися за основу історія переглядів конкретного учасника.

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

Вирізняють також змішані підходи, відповідно до яких здійснюється розробка рекомендаційної системи.

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

Алгоритми

Кореляція Пірсона

Цей алгоритм дозволяє виділити загальні характеристикиміж кількома користувачами. Яким чином? За допомогою простої математики, а саме визначення лінійної залежності між двома елементами. Важливий момент- Така методика не підходить для спільноти людей.

Кластеризація

Цей принцип роботи рекомендаційних систем ґрунтується на виділенні подібності між елементами (користувачами) шляхом обчислення їхньої близькості один одному в так званому просторі ознак. Ознаками виступають ті елементи, якими сходяться інтереси певних учасників процесу (для музичних ресурсів це треки, для кіно-порталів — фільми). Схожі за характеристиками користувачі поєднуються в так звані кластери.

Алгоритм спільної фільтрації

Жорстку кластеризацію можна замінити й іншим алгоритмом, який працює за досить складною формулою, а також, як і всі попередні, ґрунтується на поведінці користувачів з його групи. Однак у цій методиці є кілька досить суттєвих мінусів. По-перше, новим чи нетиповим користувачам (які не поєднуються у групи) складно знайти рекомендації. По-друге, так званий холодний старт, коли нові об'єкти не потрапляють у рекомендаційні системи.

Алгоритм фільтрації вмісту

Алгоритм, симетричний попередньому, але якщо в першому випадку ми відштовхувалися від припущення, що об'єкт сподобається користувачеві, тому що він подобається його «одногрупникам», то ми рекомендуватимемо на основі схожих об'єктів, які він вже відзначив для себе. І тут традиційно можна виділити кілька проблем. Той самий «холодний старт» і те, що рекомендації часто звичайні.

Замість ув'язнення

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

Програми рекомендацій – це корисні сервісияк для пересічних користувачів Інтернету, так і для дослідників, онлайн-бізнесменів. Тим, хто хоче підвищити конверсії та кількість переглядів, слід звернути увагу на цю методику та обов'язково впровадити її для підвищення ефективності роботи веб-ресурсу, особливо інтернет-магазину.