Навчання ранжуванню

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

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

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

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

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

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

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

В інших областях

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Підходи

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

Точковий підхід

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

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

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

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

Списковий підхід

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

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

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

РікНазваТипПримітки
1989OPRF[17]2 точковийПоліноміальна регресія (замість машинного навчання ця робота відноситься до розпізнавання образів, але ідея та ж сама)
1992SLR[18]2 точковийПоетапна логістична регресія
1999MART (Multiple Additive Regression Trees)2 попарний
2000Ranking SVM (RankSVM)2 попарнийПодальші пояснення є в[3], де описано застосування ранжування через використання журналювання кліків.
2002Pranking[19]1 точковийПорядкова регресія.
2003RankBoost2 попарний
2005RankNet2 попарний
2006IR-SVM2 попарнийРанжування за допомогою SVM з нормалізацією на рівні запитів у функції втрат.
2006LambdaRankпопарний/списковийRankNet в якому попарна функція втрат множиться на зміни в IR метриці спричинені перестановкою.
2007AdaRank3 списковий
2007FRank2 попарнийҐрунтується на RankNet, використовує відмінну функцію втрат — точні втрати.
2007GBRank2 попарний
2007ListNet3 списковий
2007McRank1 точковий
2007QBRank2 попарний
2007RankCosine3 списковий
2007RankGP[20]3 списковий
2007RankRLS2 попарний

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

2007SVMmap3 списковий
2008LambdaSMART/LambdaMART  попарний/списковийПереможець у конкурсі 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).
2008ListMLE3 списковийҐрунтується на ListNet.
2008PermuRank3 списковий
2008SoftRank3 списковий
2008Ranking Refinement[23]2 попарнийПідхід з напіватоматичним навчанням ранжуванню з використанням бустингу.
2008SSRankBoost[24]2 попарнийРозширення RankBoost для навчання з частково позначеними даними (напіватоматичне навчання ранжуванню).
2008SortNet[25]2 попарнийSortNet, алгоритм адаптивного ранжування, який упорядковує об'єкти за допомогою нейронної мережі, яка порівнює об'єкти.
2009MPBoost2 попарнийВаріація RankBoost зі збереженням значимості. Ідея полягає в тому, що чим більш відрізняються мітки пари документів, тим складніше алгоритму намагатись їх класифікувати.
2009BoltzRank3 списковийНа відміну від попередніх методів, BoltzRank створює модель ранжування, яка проглядає під час запиту не тільки окремий документ, але і пари документів.
2009BayesRank3 списковийМетод об'єднує модель Plackett-Luce та нейронну мережу для мінімізації очікуваного ризику Байєса, пов'язаного з нормалізованим дисконтованим сукупним приростом (NDCG), з точки зору прийняття рішень.
2010NDCG Boost[26]3 списковийБустинговий підхід до оптимізації нормалізованого дисконтованого сукупного прирісту (NDCG).
2010GBlend2 попарнийРозширений GBRank навчання задачам спільного вирішення декількох завдань навчання ранжування з деякими спільними ознаками.
2010IntervalRank2 попарний & списковий
2010CRR2 точковий & попарнийКомбіновані регресія і ранжування. Використовується стохастичний градієнтний спуск для оптимізації лінійної суми квадратів точкових втрат та попарних завісних втрат SVM-ранжування.
2017ES-RankсписковийЕволюційна стратегія навчання методу ранжирування з підгонкою по 7 метрикам.

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

Історія

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

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

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

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

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

У листопаді 2009 року російський пошуковий сервіс Яндекс оголосив,[32] що значно збільшив якість пошуку за рахунок розгортання нового власного алгоритму MatrixNet, варіанту методу градієнтного підсилювання, який використовує невідомі дерева рішень.[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. ISBN 978-1-60198-244-5. doi:10.1561/1500000016. Слайди доповіді Тай-Янь Ліу на конференції WWW 2009 доступні онлайн
  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. Proceedings of the ACM Conference on Knowledge Discovery and Data Mining.
  4. Joachims T.; Radlinski F. (2005). Query Chains: Learning to Rank from Implicit Feedback. Proceedings of the ACM Conference on Knowledge Discovery and Data Mining.
  5. B. Cambazoglu; H. Zaragoza; O. Chapelle; J. Chen; C. Liao; Z. Zheng; J. Degenhardt. Early exit optimizations for additive machine learned ranking systems. WSDM '10: Proceedings of the Third ACM International Conference on Web Search and Data Mining, 2010.
  6. Broder A.; Carmel D.; Herscovici M.; Soffer A.; Zien J. (2003). Efficient query evaluation using a two-level retrieval process. Proceedings of the Twelfth International Conference on Information and Knowledge Management: 426–434. ISBN 978-1-58113-723-1. Архів оригіналу за 21 травня 2009. Процитовано 11 травня 2019.
  7. Manning C.; Raghavan P.; Schütze H. (2008). Introduction to Information Retrieval. Cambridge University Press.. Section 7.1
  8. Kevin K. Duh (2009). Learning to Rank with Partially-Labeled Data.
  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. ISBN 978-1-4799-6146-7. doi:10.1109/ICSME.2014.41.
  11. Richardson, M.; Prakash, A.; Brill, E. (2006). Beyond PageRank: Machine Learning for Static Ranking. Proceedings of the 15th International World Wide Web Conference. с. 707–715.
  12. LETOR 3.0. A Benchmark Collection for Learning to Rank for Information Retrieval
  13. http://www.stanford.edu/class/cs276/handouts/lecture15-learning-ranking.ppt
  14. Olivier Chapelle; Donald Metzler; Ya Zhang; Pierre Grinspan (2009). Expected Reciprocal Rank for Graded Relevance. CIKM. Архів оригіналу за 24 лютого 2012.
  15. Gulin A.; Karpovich P.; Raskovalov D.; Segalovich I. (2009). Yandex at ROMIP'2009: optimization of ranking algorithms by machine learning methods. Proceedings of ROMIP'2009: 163–168. ((рос.))
  16. Tax, Niek; Bockting, Sander; Hiemstra, Djoerd (2015). A cross-benchmark comparison of 87 learning to rank methods. Information Processing & Management 51 (6): 757–772. doi:10.1016/j.ipm.2015.07.002.
  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. ISBN 978-0897915236. doi:10.1145/133160.133199.
  19. Pranking. Проігноровано невідомий параметр |citeseerx= (довідка)
  20. RankGP. Проігноровано невідомий параметр |citeseerx= (довідка)
  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.
  23. Rong Jin, Hamed Valizadegan, Hang Li, Ranking Refinement and Its Application for Information Retrieval, 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», 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, в 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 and 15.5
  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
  32. Yandex corporate blog entry about new ranking model «Snezhinsk» (рос.)
  33. Алгоритм не розголошувався, але деякі деталі були оприлюднені в та .
  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. Процитовано 28 лютого 2017.

Посилання

Конкурси та відкриті бази даних
З відкритим вихідним кодом
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.