Навчання ранжуванню (англ. learning to rank)[1] або машине-навчання ранжуванню (МНР, англ. machine-learned ranking) є застосуванням машинного навчання, як правило, керованого навчання, напівкерованого навчання або навчання з підкріпленням, при побудові моделей ранжування для інформаційно-пошукових систем.[2] Навчальні набори даних складаються зі списків елементів з деяким частковим порядком, заданим між елементами в кожному списку. Цей порядок, як правило, відповідає числовим або порядковим балам або бінарним рішенням (наприклад, «відповідає» або «не відповідає») для кожного елемента. Метою моделі ранжування є присвоєння рангу, тобто, у проведенні перестановки елементів з метою створення нових списків, які «подібні» до рейтингів у навчальних даних в певному сенсі.

Застосування ред.

В інформаційному пошуку ред.

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

Навчальні дані складаються з запитів та документів, приписуючи кожній такій парі степінь відповідності. Створення навчального набору можливе вручну людьми з потрібною кваліфікацією (англ. assessors або raters, як їх називає Гугл). Вони перевіряють результати для деяких запитів і визначити релевантність кожного результату. Очевидно, що не можливо перевірити релевантність всіх документів, і тому зазвичай використовується метод, званий пулінгом — перевіряють тільки кілька документів вгорі списку, отриманих за допомогою деяких існуючих моделей ранжування. Крім того, навчальні дані можуть бути отримані автоматично шляхом аналізу журналів логування переходів (наприклад, результати пошуку, які отримали кліки від користувачів),[3] ланцюжки запитів,[4] або такі характеристики пошукової системи як Google SearchWiki[en].

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

Зазвичай користувачі очікують, що пошуковий запит буде виконано за короткий час (наприклад, кілька сотень мілісекунд для вебпошуку), що унеможливлює оцінку складної моделі ранжування на кожному документі в корпусі, тому використовують двохкрокову схему.[5] Спочатку невелика кількість потенційно релевантних документів ідентифікується з використанням більш простих моделей пошуку, які дозволяють швидко оцінювати запити, такі як модель векторного простору, булева модель[en], зважений AND,[6] або BM25[en]. Цей етап називається запитом верхніх   документів, у літературі було запропоновано багато евристичних підходів для прискорення цього кроку, наприклад, використання статичного показника якості документа та багаторівневих індексів.[7] На другому етапі використовується більш точна обчислювальна машина, яка споживає більше ресурсів, і виконує переоцінку цих документів.

В інших областях ред.

Алгоритми навчання ранжируванню були застосовані в інших областях, окрім пошуку інформації:

Вектори ознак ред.

Для зручності алгоритмів МНР пари запит-документ зазвичай представлені числовими векторами, які називаються векторами ознак. Такий підхід іноді називають торбою ознак аналогічно моделі «торба слів» і моделі векторного простору, що використовується при інформаційному пошуку для представлення документів.

Компоненти таких векторів називаються ознаками, факторами або сигналами рангу. Вони можуть бути розділені на три групи (ознаки з пошуку документів[en] показані як приклади):

  • Незалежні від запиту або статичні ознаки — ті ознаки, які залежать тільки від документа, а не від запиту. Наприклад, PageRank або довжина документа. Такі ознаки можна підраховувати офлайн під час індексації. Вони можуть бути використані для розрахунку статичного показника якості документа (або статичного рангу), який часто використовується для прискорення оцінки пошукових запитів.[7][11]
  • Залежні від запиту або динамічні ознаки — ті ознаки, які залежать як від вмісту документа, так і від запиту, наприклад, результату TF-IDF або інших функцій ранжування, які не є алгоритмами МНР.
  • Ознаки рівня запитів або ознаки запитів, які залежать тільки від запиту. Наприклад, кількість слів у запиті. Див. ознаки рівня запиту[en].

Деякі приклади ознак, які використовувалися у відомому наборі даних LETOR:[12]

  • TF, TF-IDF, BM25[en], і мовні оцінки моделей зон документа (назва, тіло, текст якоря, URL) для цього запиту;
  • Довжини та суми IDF зон документа;
  • PageRank документу, HITS[en] ранги та їх варіанти.

Вибір і розробка хороших ознак є важливою областю в машинному навчанні, що називається конструюванням ознак.

Метрики оцінювання ред.

Існує декілька метрик (мір), які зазвичай використовуються для того, щоб оцінити, наскільки добре алгоритм працює на навчальних даних і порівнювати продуктивність різних алгоритмів МНР. Часто завдання «навчання рангу» переформулюється як задача оптимізації відносно однієї з цих метрик.

Приклади метрик оцінки рейтингів:

Дисконтованому сукупному приросту і його нормалізованому варіанту зазвичай застосовуються в академічних дослідженнях, коли використовуються кілька рівнів релевантності.[13] Інші метрики, такі як середня усереднена влучність, середній взаємний ранг і влучність, визначаються тільки для бінарних суджень.

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

  • Очікуваний взаємний рейтинг (англ. expected reciprocal rank, ERR);[14]
  • Pfound від Yandex.[15]

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

Підходи ред.

Тай-Янь Ліу (англ. Tie-Yan Liu) з Microsoft Research Asia проаналізував наявні алгоритми навчання ранжуванню у своїй роботі «Навчання ранжуванню для пошуку інформації».[1] Він класифікував їх за трьома групами відповідно до їх вхідного представлення і функції втрат: точковий, попарний і списковий підхід. На практиці спискові підходи часто перевершують попарні та точкові підходи. Це твердження було додатково підтверджено великомасштабним експериментом щодо оцінки різних методів навчання ранжуванню на великій колекції еталонних наборів даних.[16]

Точковий підхід ред.

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

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

Попарний підхід ред.

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

Списковий підхід ред.

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

Список методів ред.

Частковий список алгоритмів навчання ранжирування наведено нижче. Вказано роки першої публікації кожного методу:

Рік Назва Тип Примітки
1989 OPRF[17] 2 точковий Поліноміальна регресія (замість машинного навчання ця робота належить до розпізнавання образів, але ідея та ж сама)
1992 SLR[18] 2 точковий Поетапна логістична регресія
1999 MART [Архівовано 18 серпня 2010 у Wayback Machine.] (Multiple Additive Regression Trees) 2 попарний
2000 Ranking SVM [Архівовано 3 березня 2016 у Wayback Machine.] (RankSVM) 2 попарний Подальші пояснення є в[3], де описано застосування ранжування через використання журналювання кліків.
2002 Pranking[19] 1 точковий Порядкова регресія.
2003 RankBoost [Архівовано 20 жовтня 2019 у Wayback Machine.] 2 попарний
2005 RankNet [Архівовано 9 грудня 2018 у Wayback Machine.] 2 попарний
2006 IR-SVM [Архівовано 3 березня 2016 у Wayback Machine.] 2 попарний Ранжування за допомогою SVM з нормалізацією на рівні запитів у функції втрат.
2006 LambdaRank [Архівовано 28 березня 2016 у Wayback Machine.] попарний/списковий RankNet в якому попарна функція втрат множиться на зміни в IR метриці спричинені перестановкою.
2007 AdaRank [Архівовано 4 березня 2016 у Wayback Machine.] 3 списковий
2007 FRank [Архівовано 3 березня 2016 у Wayback Machine.] 2 попарний Ґрунтується на RankNet, використовує відмінну функцію втрат — точні втрати.
2007 GBRank [Архівовано 23 червня 2018 у Wayback Machine.] 2 попарний
2007 ListNet [Архівовано 19 квітня 2016 у Wayback Machine.] 3 списковий
2007 McRank [Архівовано 19 січня 2016 у Wayback Machine.] 1 точковий
2007 QBRank 2 попарний
2007 RankCosine [Архівовано 4 березня 2016 у Wayback Machine.] 3 списковий
2007 RankGP[20] 3 списковий
2007 RankRLS [Архівовано 23 червня 2018 у Wayback Machine.] 2 попарний

Регуляризоване ранжування на основі найменших квадратів. Робота розширена в [21] навчанню ранжування по графам загальних преференцій.

2007 SVMmap [Архівовано 14 листопада 2019 у Wayback Machine.] 3 списковий
2008 LambdaSMART/LambdaMART [Архівовано 10 червня 2015 у Wayback Machine.]   попарний/списковий Переможець у конкурсі 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 [Архівовано 6 березня 2018 у Wayback Machine.]).
2008 ListMLE [Архівовано 3 березня 2016 у Wayback Machine.] 3 списковий Ґрунтується на ListNet.
2008 PermuRank [Архівовано 3 березня 2016 у Wayback Machine.] 3 списковий
2008 SoftRank [Архівовано 3 березня 2016 у Wayback Machine.] 3 списковий
2008 Ranking Refinement [Архівовано 6 квітня 2012 у Wayback Machine.][23] 2 попарний Підхід з напіватоматичним навчанням ранжуванню з використанням бустингу.
2008 SSRankBoost[24] 2 попарний Розширення RankBoost для навчання з частково позначеними даними (напіватоматичне навчання ранжуванню).
2008 SortNet [Архівовано 26 червня 2018 у Wayback Machine.][25] 2 попарний SortNet, алгоритм адаптивного ранжування, який упорядковує об'єкти за допомогою нейронної мережі, яка порівнює об'єкти.
2009 MPBoost 2 попарний Варіація RankBoost зі збереженням значущості. Ідея полягає в тому, що чим більш відрізняються мітки пари документів, тим складніше алгоритму намагатись їх класифікувати.
2009 BoltzRank 3 списковий На відміну від попередніх методів, BoltzRank створює модель ранжування, яка проглядає під час запиту не тільки окремий документ, але і пари документів.
2009 BayesRank [Архівовано 16 травня 2021 у Wayback Machine.] 3 списковий Метод об'єднує модель Plackett-Luce та нейронну мережу для мінімізації очікуваного ризику Байєса, пов'язаного з нормалізованим дисконтованим сукупним приростом (NDCG), з точки зору прийняття рішень.
2010 NDCG Boost [Архівовано 4 березня 2016 у Wayback Machine.][26] 3 списковий Бустинговий підхід до оптимізації нормалізованого дисконтованого сукупного прирісту (NDCG).
2010 GBlend [Архівовано 11 травня 2019 у Wayback Machine.] 2 попарний Розширений GBRank навчання задачам спільного вирішення декількох завдань навчання ранжування з деякими спільними ознаками.
2010 IntervalRank 2 попарний & списковий
2010 CRR [Архівовано 23 червня 2018 у Wayback Machine.] 2 точковий & попарний Комбіновані регресія і ранжування. Використовується стохастичний градієнтний спуск для оптимізації лінійної суми квадратів точкових втрат та попарних завісних втрат SVM-ранжування.
2017 ES-Rank [Архівовано 11 травня 2019 у Wayback Machine.] списковий Еволюційна стратегія навчання методу ранжирування з підгонкою по 7 метрикам.

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

Історія ред.

Норберт Фур[en] представив загальну ідею МНР у 1992 році, описавши підходи до навчання у інформаційному пошуку як узагальнення оцінки параметрів;[27] конкретний варіант цього підходу (з використанням поліноміальної регресії) був опублікований ним за три роки до того.[17] Білл Купер запропонував логістичну регресію для тієї ж мети в 1992 році[18] і використав її з дослідницькою групою у Берклі для підготовки успішної функції ранжування для TREC[en]. Manning et al.[28] припускають, що ці ранні роботи досягли обмежених результатів свого часу через невелику кількість доступних навчальних даних і слабкий розвиток методів машинного навчання.

Кілька конференцій, таких як NIPS[en], Special Interest Group on Information Retrieval[en] і ICML[en] мали семінари, присвячені проблемі навчання ранжування, починаючи з середини першого десятиліття 2000-х років.

Практичне використання пошуковими системами ред.

Комерційні вебпошукові системи почали використовувати системи машинного навчання ранжування з першого десятиліття 2000-х років. Одна з перших пошукових систем, яка почала це використовувати була AltaVista (пізніше технологія була придбана Overture[en], а потім Yahoo), яка почала навчати функції ранжування методом градієнтного підсилювання[en] в квітні 2003 року.[29][30]

Пошукова система Bing, як повідомляється, працює за алгоритмом RankNet [Архівовано 9 грудня 2018 у Wayback Machine.],[31] який був винайдений у дослідженні Microsoft в 2005 році.

У листопаді 2009 року російський пошуковий сервіс Яндекс оголосив,[32] що значно збільшив якість пошуку за рахунок розгортання нового власного алгоритму MatrixNet[en], варіанту методу градієнтного підсилювання[en], який використовує невідомі дерева рішень.[33] 2009 року вони також виступили спонсором конкурсу МНР «Internet Mathematics 2009»[34] на основі власних даних їх пошукової системи. Yahoo оголошувала аналогічний конкурс у 2010 році.[35]

У 2008 році Пітер Норвіг з Google заперечував, що їх пошукова система спирається суто на МНР.[36] Генеральний директор Cuil, Том Костелло, припускає, що вони віддають перевагу моделям, створеним вручну, тому що вони можуть перевершувати моделі отримані за допомогою машинного навчання, якщо вимірюються за показниками такими, як частота переходів або час на проведений цільовій сторінці, що є причиною того, що алгоритми МНР «дізнаються, що люди кажуть, що їм подобається, а не те, що людям подобається насправді».[37]

У січні 2017 року ця технологія була включена в пошуковий рушій з відкритим вихідним кодом Apache Solr™,[38] тим самим, МНР став широко доступним.

Примітки ред.

  1. а б Tie-Yan Liu (2009), Learning to Rank for Information Retrieval, Foundations and Trends in Information Retrieval, т. 3, № 3, с. 225—331, doi:10.1561/1500000016, ISBN 978-1-60198-244-5 Слайди доповіді Тай-Янь Ліу на конференції WWW[en] 2009 доступні онлайн [Архівовано 8 серпня 2017 у Wayback Machine.]
  2. Mehryar Mohri, Afshin Rostamizadeh, Ameet Talwalkar (2012) Foundations of Machine Learning, The MIT Press ISBN 9780262018258.
  3. а б Joachims, T. (2002), Optimizing Search Engines using Clickthrough Data (PDF), Proceedings of the ACM Conference on Knowledge Discovery and Data Mining, архів оригіналу (PDF) за 29 грудня 2009, процитовано 11 травня 2019
  4. Joachims T.; Radlinski F. (2005), Query Chains: Learning to Rank from Implicit Feedback (PDF), Proceedings of the ACM Conference on Knowledge Discovery and Data Mining, архів оригіналу (PDF) за 27 липня 2011, процитовано 11 травня 2019
  5. B. Cambazoglu; H. Zaragoza; O. Chapelle; J. Chen; C. Liao; Z. Zheng; J. Degenhardt., Early exit optimizations for additive machine learned ranking systems (PDF), WSDM '10: Proceedings of the Third ACM International Conference on Web Search and Data Mining, 2010., архів оригіналу (PDF) за 28 серпня 2019, процитовано 11 травня 2019
  6. Broder A.; Carmel D.; Herscovici M.; Soffer A.; Zien J. (2003), Efficient query evaluation using a two-level retrieval process (PDF), Proceedings of the Twelfth International Conference on Information and Knowledge Management: 426—434, ISBN 978-1-58113-723-1, архів оригіналу (PDF) за 21 травня 2009, процитовано 11 травня 2019
  7. а б Manning C.; Raghavan P.; Schütze H. (2008), Introduction to Information Retrieval, Cambridge University Press. Section 7.1 [Архівовано 19 липня 2009 у Wayback Machine.]
  8. а б Kevin K. Duh (2009), Learning to Rank with Partially-Labeled Data (PDF), архів оригіналу (PDF) за 20 липня 2011, процитовано 11 травня 2019
  9. Yuanhua Lv, Taesup Moon, Pranam Kolari, Zhaohui Zheng, Xuanhui Wang, and Yi Chang, Learning to Model Relatedness for News Recommendation [Архівовано 2011-08-27 у Wayback Machine.], in International Conference on World Wide Web (WWW), 2011.
  10. Xuan, Jifeng; Monperrus, Martin (2014). Learning to Combine Multiple Ranking Metrics for Fault Localization. 2014 IEEE International Conference on Software Maintenance and Evolution. с. 191—200. doi:10.1109/ICSME.2014.41. ISBN 978-1-4799-6146-7.
  11. Richardson, M.; Prakash, A.; Brill, E. (2006). Beyond PageRank: Machine Learning for Static Ranking (PDF). Proceedings of the 15th International World Wide Web Conference. с. 707—715. Архів оригіналу (PDF) за 15 серпня 2009.
  12. LETOR 3.0. A Benchmark Collection for Learning to Rank for Information Retrieval (PDF). Архів оригіналу (PDF) за 9 квітня 2016. Процитовано 11 травня 2019.
  13. Архівована копія. Архів оригіналу за 4 січня 2011. Процитовано 11 травня 2019.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)
  14. Olivier Chapelle; Donald Metzler; Ya Zhang; Pierre Grinspan (2009), Expected Reciprocal Rank for Graded Relevance (PDF), CIKM, архів оригіналу (PDF) за 24 лютого 2012
  15. Gulin A.; Karpovich P.; Raskovalov D.; Segalovich I. (2009), Yandex at ROMIP'2009: optimization of ranking algorithms by machine learning methods (PDF), Proceedings of ROMIP'2009: 163—168, архів оригіналу (PDF) за 22 листопада 2009, процитовано 11 травня 2019 ((рос.))
  16. Tax, Niek; Bockting, Sander; Hiemstra, Djoerd (2015), A cross-benchmark comparison of 87 learning to rank methods (PDF), Information Processing & Management, 51 (6): 757—772, doi:10.1016/j.ipm.2015.07.002, архів оригіналу (PDF) за 9 серпня 2017, процитовано 11 травня 2019
  17. а б Fuhr, Norbert (1989), Optimum polynomial retrieval functions based on the probability ranking principle, ACM Transactions on Information Systems, 7 (3): 183—204, doi:10.1145/65943.65944
  18. а б Cooper, William S.; Gey, Frederic C.; Dabney, Daniel P. (1992), Probabilistic retrieval based on staged logistic regression, SIGIR '92 Proceedings of the 15th Annual International ACM SIGIR Conference on Research and Development in Information Retrieval: 198—210, doi:10.1145/133160.133199, ISBN 978-0897915236
  19. Pranking. CiteSeerX 10.1.1.20.378.
  20. RankGP. CiteSeerX 10.1.1.90.220.
  21. Pahikkala, Tapio; Tsivtsivadze, Evgeni; Airola, Antti; Järvinen, Jouni; Boberg, Jorma (2009), An efficient algorithm for learning to rank from preference graphs, Machine Learning, 75 (1): 129—165, doi:10.1007/s10994-008-5097-z.
  22. C. Burges. (2010). From RankNet to LambdaRank to LambdaMART: An Overview [Архівовано 10 листопада 2017 у Wayback Machine.].
  23. Rong Jin, Hamed Valizadegan, Hang Li, Ranking Refinement and Its Application for Information Retrieval [Архівовано 6 квітня 2012 у Wayback Machine.], in International Conference on World Wide Web (WWW), 2008.
  24. Massih-Reza Amini, Vinh Truong, Cyril Goutte, A Boosting Algorithm for Learning Bipartite Ranking Functions with Partially Labeled Data [Архівовано 2010-08-02 у Wayback Machine.], International ACM SIGIR conference, 2008. Код [Архівовано 2010-07-23 у Wayback Machine.] доступний для дослідницьких цілей.
  25. Leonardo Rigutini, Tiziano Papini, Marco Maggini, Franco Scarselli, «SortNet: learning to rank by a neural-based sorting algorithm» [Архівовано 25 листопада 2011 у Wayback Machine.], SIGIR 2008 workshop: Learning to Rank for Information Retrieval, 2008
  26. Hamed Valizadegan, Rong Jin, Ruofei Zhang, Jianchang Mao, Learning to Rank by Optimizing NDCG Measure [Архівовано 6 квітня 2012 у Wayback Machine.], в Proceeding of Neural Information Processing Systems (NIPS), 2010.
  27. Fuhr, Norbert (1992), Probabilistic Models in Information Retrieval, Computer Journal, 35 (3): 243—255, doi:10.1093/comjnl/35.3.243
  28. Manning C.; Raghavan P.; Schütze H. (2008), Introduction to Information Retrieval, Cambridge University Press. Sections 7.4 [Архівовано 21 липня 2009 у Wayback Machine.] and 15.5 [Архівовано 9 травня 2010 у Wayback Machine.]
  29. Jan O. Pedersen. The MLR Story [Архівовано 2011-07-13 у Wayback Machine.]
  30. U.S. Patent 7 197 497
  31. Bing Search Blog: User Needs, Features and the Science behind Bing. Архів оригіналу за 25 листопада 2009. Процитовано 11 травня 2019.
  32. Yandex corporate blog entry about new ranking model «Snezhinsk» [Архівовано 1 березня 2012 у Wayback Machine.] (рос.)
  33. Алгоритм не розголошувався, але деякі деталі були оприлюднені в [1] [Архівовано 1 червня 2010 у Wayback Machine.] та [2] [Архівовано 1 червня 2010 у Wayback Machine.].
  34. Yandex's Internet Mathematics 2009 competition page. Архів оригіналу за 17 березня 2015. Процитовано 11 травня 2019.
  35. Yahoo Learning to Rank Challenge. Архів оригіналу за 1 березня 2010. Процитовано 26 лютого 2010.
  36. Rajaraman, Anand (24 травня 2008). Are Machine-Learned Models Prone to Catastrophic Errors?. Архів оригіналу за 18 вересня 2010. Процитовано 11 листопада 2009.
  37. Costello, Tom (26 червня 2009). Cuil Blog: So how is Bing doing?. Архів оригіналу за 27 червня 2009.
  38. How Bloomberg Integrated Learning-to-Rank into Apache Solr | Tech at Bloomberg. Tech at Bloomberg (амер.). 23 січня 2017. Архів оригіналу за 1 березня 2017. Процитовано 28 лютого 2017.

Список літератури ред.

Посилання ред.

Конкурси та відкриті бази даних
З відкритим вихідним кодом