Навчання ранжуванню
Шаблон:Машинне навчання Навчання ранжуванню (Шаблон:Lang-en)[1] або машине-навчання ранжуванню (МНР, Шаблон:Lang-en) є застосуванням машинного навчання, як правило, керованого навчання, напівкерованого навчання або навчання з підкріпленням, при побудові моделей ранжування для інформаційно-пошукових систем.[2] Навчальні набори даних складаються зі списків елементів з деяким частковим порядком, заданим між елементами в кожному списку. Цей порядок, як правило, відповідає числовим або порядковим балам або бінарним рішенням (наприклад, «відповідає» або «не відповідає») для кожного елемента. Метою моделі ранжування є присвоєння рангу, тобто, у проведенні перестановки елементів з метою створення нових списків, які «подібні» до рейтингів у навчальних даних в певному сенсі.
Застосування
В інформаційному пошуку
Ранжування є центральною складовою багатьох інформаційно-пошукових задач, наприклад, Шаблон:Нп, колаборативної фільтрації, аналізу тональності тексту, і онлайн-реклами.
Навчальні дані складаються з запитів та документів, приписуючи кожній такій парі степінь відповідності. Створення навчального набору можливе вручну людьми з потрібною кваліфікацією (Шаблон:Lang-en або raters, як їх називає Гугл). Вони перевіряють результати для деяких запитів і визначити релевантність кожного результату. Очевидно, що не можливо перевірити релевантність всіх документів, і тому зазвичай використовується метод, званий пулінгом — перевіряють тільки кілька документів вгорі списку, отриманих за допомогою деяких існуючих моделей ранжування. Крім того, навчальні дані можуть бути отримані автоматично шляхом аналізу журналів логування переходів (наприклад, результати пошуку, які отримали кліки від користувачів),[3] ланцюжки запитів,[4] або такі характеристики пошукової системи як Шаблон:Нп.
Навчальні дані використовуються алгоритмом навчання для отримання моделі ранжування, яка обчислює релевантність документів для фактичних запитів.
Зазвичай користувачі очікують, що пошуковий запит буде виконано за короткий час (наприклад, кілька сотень мілісекунд для вебпошуку), що унеможливлює оцінку складної моделі ранжування на кожному документі в корпусі, тому використовують двохкрокову схему.[5] Спочатку невелика кількість потенційно релевантних документів ідентифікується з використанням більш простих моделей пошуку, які дозволяють швидко оцінювати запити, такі як модель векторного простору, Шаблон:Нп, зважений AND,[6] або Шаблон:Нп. Цей етап називається запитом верхніх документів, у літературі було запропоновано багато евристичних підходів для прискорення цього кроку, наприклад, використання статичного показника якості документа та багаторівневих індексів.[7] На другому етапі використовується більш точна обчислювальна машина, яка споживає більше ресурсів, і виконує переоцінку цих документів.
В інших областях
Алгоритми навчання ранжируванню були застосовані в інших областях, окрім пошуку інформації:
- В машинного перекладу для ранжування множини гіпотетичних перекладів;[8]
- В обчислювальної біології для ранжування кандидатів 3-D структур білків у задачі прогнозування структури.[8]
- В рекомендаційних систем для виявлення ранжованого списку пов'язаних новин, яку будуть рекомендуватись користувачеві після перегляду поточної новини.[9]
- В області розробки програмного забезпечення, методи навчання ранжуванню були використані для локалізації несправності.[10]
Вектори ознак
Для зручності алгоритмів МНР пари запит-документ зазвичай представлені числовими векторами, які називаються векторами ознак. Такий підхід іноді називають торбою ознак аналогічно моделі «торба слів» і моделі векторного простору, що використовується при інформаційному пошуку для представлення документів.
Компоненти таких векторів називаються ознаками, факторами або сигналами рангу. Вони можуть бути розділені на три групи (ознаки з Шаблон:Нп показані як приклади):
- Незалежні від запиту або статичні ознаки — ті ознаки, які залежать тільки від документа, а не від запиту. Наприклад, PageRank або довжина документа. Такі ознаки можна підраховувати офлайн під час індексації. Вони можуть бути використані для розрахунку статичного показника якості документа (або статичного рангу), який часто використовується для прискорення оцінки пошукових запитів.[7][11]
- Залежні від запиту або динамічні ознаки — ті ознаки, які залежать як від вмісту документа, так і від запиту, наприклад, результату TF-IDF або інших функцій ранжування, які не є алгоритмами МНР.
- Ознаки рівня запитів або ознаки запитів, які залежать тільки від запиту. Наприклад, кількість слів у запиті. Див. Шаблон:Нп.
Деякі приклади ознак, які використовувалися у відомому наборі даних Шаблон:Нпні:[12]
- TF, TF-IDF, Шаблон:Нп, і мовні оцінки моделей зон документа (назва, тіло, текст якоря, URL) для цього запиту;
- Довжини та суми IDF зон документа;
- PageRank документу, Шаблон:Нп ранги та їх варіанти.
Вибір і розробка хороших ознак є важливою областю в машинному навчанні, що називається конструюванням ознак.
Метрики оцінювання
Шаблон:Seealso Існує декілька метрик (мір), які зазвичай використовуються для того, щоб оцінити, наскільки добре алгоритм працює на навчальних даних і порівнювати продуктивність різних алгоритмів МНР. Часто завдання «навчання рангу» переформулюється як задача оптимізації відносно однієї з цих метрик.
Приклади метрик оцінки рейтингів:
- Шаблон:Нп (Шаблон:Lang-en);
- Шаблон:Нп (Шаблон:Lang-en) і нормалізований дисконтований сукупний приріст;
- Влучність@n, NDCG@n, де «@n» означає, що метрики оцінюються тільки на верхніх n документах;
- Шаблон:Нп (Шаблон:Lang-en);
- Кендалла;
- Спірмена.
Дисконтованому сукупному приросту і його нормалізованому варіанту зазвичай застосовуються в академічних дослідженнях, коли використовуються кілька рівнів релевантності.[13] Інші метрики, такі як середня усереднена влучність, середній взаємний ранг і влучність, визначаються тільки для бінарних суджень.
Нещодавно було запропоновано кілька нових метрик оцінки, які стверджують, що модель задоволення користувачів результатами пошуку краще, ніж метрика дисконтованого сукупного приросту:
- Очікуваний взаємний рейтинг (Шаблон:Lang-en);[14]
- Pfound від Yandex.[15]
Обидві ці метрики базуються на припущенні, що користувач, найімовірніше, перестане переглядати результати пошукового запиту після того, як зустріне більш відповідний документ, ніж після менш релевантного документа.
Підходи
Тай-Янь Ліу (Шаблон:Lang-en) з Microsoft Research Asia проаналізував наявні алгоритми навчання ранжуванню у своїй роботі «Навчання ранжуванню для пошуку інформації».[1] Він класифікував їх за трьома групами відповідно до їх вхідного представлення і функції втрат: точковий, попарний і списковий підхід. На практиці спискові підходи часто перевершують попарні та точкові підходи. Це твердження було додатково підтверджено великомасштабним експериментом щодо оцінки різних методів навчання ранжуванню на великій колекції еталонних наборів даних.[16]
Точковий підхід
У цьому випадку передбачається, що кожна пара запит-документ у навчальних даних має числову або порядкову оцінку. Тоді завдання навчання ранжуванню можна наблизити задачею регресії — для заданої пари запит-документ, передбачити її оцінку.
Ряд існуючих алгоритмів машинного керованого навчання може бути легко використаний для цієї мети. Порядкові алгоритми регресії і класифікації також можуть бути використані в точковому підході, коли вони використовуються для прогнозування однієї пари запит-документ, і вона приймає невелике, скінченне число значень.
Попарний підхід
У цьому випадку проблема навчання ранжуванню апроксимується проблемою класифікації — вивчення бінарного класифікатора, який може визначити, який документ краще в даній парі документів. Мета полягає в мінімізації середньої кількості перестановок в рейтингу.
Списковий підхід
Ці алгоритми намагаються безпосередньо оптимізувати значення однієї з наведених вище метрик оцінювання, усереднених по всіх запитах в навчальних даних. Це важко, оскільки більшість метрик оцінювання не є неперервними функціями від параметрів моделі ранжирування, і тому необхідно застосовувати гладкі наближення або слід використовувати обмеження метрик оцінювання.
Список методів
Частковий список алгоритмів навчання ранжирування наведено нижче. Вказано роки першої публікації кожного методу:
Рік Назва Тип Примітки 1989 OPRF[17] точковий Поліноміальна регресія (замість машинного навчання ця робота належить до розпізнавання образів, але ідея та ж сама) 1992 SLR[18] точковий Поетапна логістична регресія 1999 MART Шаблон:Webarchive (Multiple Additive Regression Trees) попарний 2000 Ranking SVM Шаблон:Webarchive (RankSVM) попарний Подальші пояснення є в[3], де описано застосування ранжування через використання журналювання кліків. 2002 Pranking[19] точковий Порядкова регресія. 2003 RankBoost Шаблон:Webarchive попарний 2005 RankNet Шаблон:Webarchive попарний 2006 IR-SVM Шаблон:Webarchive попарний Ранжування за допомогою SVM з нормалізацією на рівні запитів у функції втрат. 2006 LambdaRank Шаблон:Webarchive попарний/списковий RankNet в якому попарна функція втрат множиться на зміни в IR метриці спричинені перестановкою. 2007 AdaRank Шаблон:Webarchive списковий 2007 FRank Шаблон:Webarchive попарний Ґрунтується на RankNet, використовує відмінну функцію втрат — точні втрати. 2007 GBRank Шаблон:Webarchive попарний 2007 ListNet Шаблон:Webarchive списковий 2007 McRank Шаблон:Webarchive точковий 2007 QBRank попарний 2007 RankCosine Шаблон:Webarchive списковий 2007 RankGP[20] списковий 2007 RankRLS Шаблон:Webarchive попарний Регуляризоване ранжування на основі найменших квадратів. Робота розширена в [21] навчанню ранжування по графам загальних преференцій.
2007 SVMmap Шаблон:Webarchive списковий 2008 LambdaSMART/LambdaMART Шаблон:Webarchive попарний/списковий Переможець у конкурсі Yahoo Learning to Rank. Використано ансамбль моделей LambdaMART. Ґрунтується на MART (1999)[22] «LambdaSMART», для Lambda-submodel-MART, або LambdaMART у випадку без підмоделей (https://www.microsoft.com/en-us/research/wp-content/uploads/2016/02/tr-2008-109.pdf Шаблон:Webarchive). 2008 ListMLE Шаблон:Webarchive списковий Ґрунтується на ListNet. 2008 PermuRank Шаблон:Webarchive списковий 2008 SoftRank Шаблон:Webarchive списковий 2008 Ranking Refinement Шаблон:Webarchive[23] попарний Підхід з напіватоматичним навчанням ранжуванню з використанням бустингу. 2008 SSRankBoost[24] попарний Розширення RankBoost для навчання з частково позначеними даними (напіватоматичне навчання ранжуванню). 2008 SortNet Шаблон:Webarchive[25] попарний SortNet, алгоритм адаптивного ранжування, який упорядковує об'єкти за допомогою нейронної мережі, яка порівнює об'єкти. 2009 MPBoost попарний Варіація RankBoost зі збереженням значущості. Ідея полягає в тому, що чим більш відрізняються мітки пари документів, тим складніше алгоритму намагатись їх класифікувати. 2009 BoltzRank списковий На відміну від попередніх методів, BoltzRank створює модель ранжування, яка проглядає під час запиту не тільки окремий документ, але і пари документів. 2009 BayesRank Шаблон:Webarchive списковий Метод об'єднує модель Plackett-Luce та нейронну мережу для мінімізації очікуваного ризику Байєса, пов'язаного з нормалізованим дисконтованим сукупним приростом (NDCG), з точки зору прийняття рішень. 2010 NDCG Boost Шаблон:Webarchive[26] списковий Бустинговий підхід до оптимізації нормалізованого дисконтованого сукупного прирісту (NDCG). 2010 GBlend Шаблон:Webarchive попарний Розширений GBRank навчання задачам спільного вирішення декількох завдань навчання ранжування з деякими спільними ознаками. 2010 IntervalRank попарний & списковий 2010 CRR Шаблон:Webarchive точковий & попарний Комбіновані регресія і ранжування. Використовується стохастичний градієнтний спуск для оптимізації лінійної суми квадратів точкових втрат та попарних завісних втрат SVM-ранжування. 2017 ES-Rank Шаблон:Webarchive списковий Еволюційна стратегія навчання методу ранжирування з підгонкою по 7 метрикам.
Примітка: оскільки більшість алгоритмів керованого навчання можна застосувати до точкових випадків, вище показані тільки ті методи, які спеціально розроблені з метою ранжування.
Історія
Шаблон:Нп представив загальну ідею МНР у 1992 році, описавши підходи до навчання у інформаційному пошуку як узагальнення оцінки параметрів;[27] конкретний варіант цього підходу (з використанням поліноміальної регресії) був опублікований ним за три роки до того.[17] Білл Купер запропонував логістичну регресію для тієї ж мети в 1992 році[18] і використав її з дослідницькою групою у Берклі для підготовки успішної функції ранжування для Шаблон:Нп. Manning et al.[28] припускають, що ці ранні роботи досягли обмежених результатів свого часу через невелику кількість доступних навчальних даних і слабкий розвиток методів машинного навчання.
Кілька конференцій, таких як Шаблон:Нп, Шаблон:Нп і Шаблон:Нп мали семінари, присвячені проблемі навчання ранжування, починаючи з середини першого десятиліття 2000-х років.
Практичне використання пошуковими системами
Комерційні вебпошукові системи почали використовувати системи машинного навчання ранжування з першого десятиліття 2000-х років. Одна з перших пошукових систем, яка почала це використовувати була AltaVista (пізніше технологія була придбана Шаблон:Нп, а потім Yahoo), яка почала навчати функції ранжування методом Шаблон:Нп в квітні 2003 року.[29][30]
Пошукова система Bing, як повідомляється, працює за алгоритмом RankNet Шаблон:Webarchive,[31] який був винайдений у дослідженні Microsoft в 2005 році.
У листопаді 2009 року російський пошуковий сервіс Яндекс оголосив,[32] що значно збільшив якість пошуку за рахунок розгортання нового власного алгоритму Шаблон:Нп, варіанту методу Шаблон:Нп, який використовує невідомі дерева рішень.[33] 2009 року вони також виступили спонсором конкурсу МНР «Internet Mathematics 2009»[34] на основі власних даних їх пошукової системи. Yahoo оголошувала аналогічний конкурс у 2010 році.[35]
У 2008 році Пітер Норвіг з Google заперечував, що їх пошукова система спирається суто на МНР.[36] Генеральний директор Cuil, Том Костелло, припускає, що вони віддають перевагу моделям, створеним вручну, тому що вони можуть перевершувати моделі отримані за допомогою машинного навчання, якщо вимірюються за показниками такими, як частота переходів або час на проведений цільовій сторінці, що є причиною того, що алгоритми МНР «дізнаються, що люди кажуть, що їм подобається, а не те, що людям подобається насправді».[37]
У січні 2017 року ця технологія була включена в пошуковий рушій з відкритим вихідним кодом Apache Solr™,[38] тим самим, МНР став широко доступним.
Примітки
Список літератури
Посилання
- Конкурси та відкриті бази даних
- LETOR: Контрольний збірник для досліджень з вивчення ранжування для пошуку інформації Шаблон:Webarchive
- Yandex's Internet Mathematics 2009
- Конкурс Yahoo! Learning to Rank Challenge
- Набори даних Microsoft для навчання Шаблон:Webarchive
- З відкритим вихідним кодом
- Паралельна C++ / MPI реалізація градієнтних регресійних дерев для ранжування, випущених у вересні 2011 року Шаблон:Webarchive
- C++ реалізація градієнтних дерев регресії та випадкових лісів для ранжування Шаблон:Webarchive
- C++ та інструменти Python для використання алгоритму SVM-Rank Шаблон:Webarchive
- Java реалізація в пошуковій системі Apache Solr
- ↑ 1,0 1,1 Шаблон:Citation Слайди доповіді Тай-Янь Ліу на конференції Шаблон:Нп 2009 доступні онлайн Шаблон:Webarchive
- ↑ Mehryar Mohri, Afshin Rostamizadeh, Ameet Talwalkar (2012) Foundations of Machine Learning, The MIT Press Шаблон:ISBN.
- ↑ 3,0 3,1 Шаблон:Citation
- ↑ Шаблон:Citation
- ↑ Шаблон:Citation
- ↑ Шаблон:Citation
- ↑ 7,0 7,1 Шаблон:Citation. Section 7.1 Шаблон:Webarchive
- ↑ 8,0 8,1 Шаблон:Citation
- ↑ Yuanhua Lv, Taesup Moon, Pranam Kolari, Zhaohui Zheng, Xuanhui Wang, and Yi Chang, Learning to Model Relatedness for News Recommendation Шаблон:Webarchive, in International Conference on World Wide Web (WWW), 2011.
- ↑ Шаблон:Cite book
- ↑ Шаблон:Cite conference
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Citation
- ↑ Шаблон:Citation (Шаблон:Ref-ru)
- ↑ Шаблон:Citation
- ↑ 17,0 17,1 Шаблон:Citation
- ↑ 18,0 18,1 Шаблон:Citation
- ↑ Шаблон:Cite journal
- ↑ Шаблон:Cite journal
- ↑ Шаблон:Citation
- ↑ C. Burges. (2010). From RankNet to LambdaRank to LambdaMART: An Overview Шаблон:Webarchive.
- ↑ Rong Jin, Hamed Valizadegan, Hang Li, Ranking Refinement and Its Application for Information Retrieval Шаблон:Webarchive, in International Conference on World Wide Web (WWW), 2008.
- ↑ Massih-Reza Amini, Vinh Truong, Cyril Goutte, A Boosting Algorithm for Learning Bipartite Ranking Functions with Partially Labeled Data Шаблон:Webarchive, International ACM SIGIR conference, 2008. Код Шаблон:Webarchive доступний для дослідницьких цілей.
- ↑ Leonardo Rigutini, Tiziano Papini, Marco Maggini, Franco Scarselli, «SortNet: learning to rank by a neural-based sorting algorithm» Шаблон:Webarchive, SIGIR 2008 workshop: Learning to Rank for Information Retrieval, 2008
- ↑ Hamed Valizadegan, Rong Jin, Ruofei Zhang, Jianchang Mao, Learning to Rank by Optimizing NDCG Measure Шаблон:Webarchive, в Proceeding of Neural Information Processing Systems (NIPS), 2010.
- ↑ Шаблон:Citation
- ↑ Шаблон:Citation. Sections 7.4 Шаблон:Webarchive and 15.5 Шаблон:Webarchive
- ↑ Jan O. Pedersen. The MLR Story Шаблон:Webarchive
- ↑ Шаблон:US Patent
- ↑ Шаблон:Cite web
- ↑ Yandex corporate blog entry about new ranking model «Snezhinsk» Шаблон:Webarchive Шаблон:Ref-ru
- ↑ Алгоритм не розголошувався, але деякі деталі були оприлюднені в [1] Шаблон:Webarchive та [2] Шаблон:Webarchive.
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite web
- ↑ Шаблон:Cite news