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

Матеріал з testwiki
Версія від 18:15, 25 січня 2025, створена imported>TohaomgBot (Замінено символи нерозривного пробілу чи інші невидимі символи в назвах джерел)
(різн.) ← Попередня версія | Поточна версія (різн.) | Новіша версія → (різн.)
Перейти до навігації Перейти до пошуку

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Підходи

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

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

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

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

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

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

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

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

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

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

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

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

2007 SVMmap Шаблон:Webarchive 3 списковий
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 3 списковий Ґрунтується на ListNet.
2008 PermuRank Шаблон:Webarchive 3 списковий
2008 SoftRank Шаблон:Webarchive 3 списковий
2008 Ranking Refinement Шаблон:Webarchive[23] 2 попарний Підхід з напіватоматичним навчанням ранжуванню з використанням бустингу.
2008 SSRankBoost[24] 2 попарний Розширення RankBoost для навчання з частково позначеними даними (напіватоматичне навчання ранжуванню).
2008 SortNet Шаблон:Webarchive[25] 2 попарний SortNet, алгоритм адаптивного ранжування, який упорядковує об'єкти за допомогою нейронної мережі, яка порівнює об'єкти.
2009 MPBoost 2 попарний Варіація RankBoost зі збереженням значущості. Ідея полягає в тому, що чим більш відрізняються мітки пари документів, тим складніше алгоритму намагатись їх класифікувати.
2009 BoltzRank 3 списковий На відміну від попередніх методів, BoltzRank створює модель ранжування, яка проглядає під час запиту не тільки окремий документ, але і пари документів.
2009 BayesRank Шаблон:Webarchive 3 списковий Метод об'єднує модель Plackett-Luce та нейронну мережу для мінімізації очікуваного ризику Байєса, пов'язаного з нормалізованим дисконтованим сукупним приростом (NDCG), з точки зору прийняття рішень.
2010 NDCG Boost Шаблон:Webarchive[26] 3 списковий Бустинговий підхід до оптимізації нормалізованого дисконтованого сукупного прирісту (NDCG).
2010 GBlend Шаблон:Webarchive 2 попарний Розширений GBRank навчання задачам спільного вирішення декількох завдань навчання ранжування з деякими спільними ознаками.
2010 IntervalRank 2 попарний & списковий
2010 CRR Шаблон:Webarchive 2 точковий & попарний Комбіновані регресія і ранжування. Використовується стохастичний градієнтний спуск для оптимізації лінійної суми квадратів точкових втрат та попарних завісних втрат 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] тим самим, МНР став широко доступним.

Примітки

Шаблон:Reflist

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

Посилання

Конкурси та відкриті бази даних
З відкритим вихідним кодом
  1. 1,0 1,1 Шаблон:Citation Слайди доповіді Тай-Янь Ліу на конференції Шаблон:Нп 2009 доступні онлайн Шаблон:Webarchive
  2. Mehryar Mohri, Afshin Rostamizadeh, Ameet Talwalkar (2012) Foundations of Machine Learning, The MIT Press Шаблон:ISBN.
  3. 3,0 3,1 Шаблон:Citation
  4. Шаблон:Citation
  5. Шаблон:Citation
  6. Шаблон:Citation
  7. 7,0 7,1 Шаблон:Citation. Section 7.1 Шаблон:Webarchive
  8. 8,0 8,1 Шаблон:Citation
  9. 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.
  10. Шаблон:Cite book
  11. Шаблон:Cite conference
  12. Шаблон:Cite web
  13. Шаблон:Cite web
  14. Шаблон:Citation
  15. Шаблон:Citation (Шаблон:Ref-ru)
  16. Шаблон:Citation
  17. 17,0 17,1 Шаблон:Citation
  18. 18,0 18,1 Шаблон:Citation
  19. Шаблон:Cite journal
  20. Шаблон:Cite journal
  21. Шаблон:Citation
  22. C. Burges. (2010). From RankNet to LambdaRank to LambdaMART: An Overview Шаблон:Webarchive.
  23. Rong Jin, Hamed Valizadegan, Hang Li, Ranking Refinement and Its Application for Information Retrieval Шаблон:Webarchive, 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 Шаблон:Webarchive, International ACM SIGIR conference, 2008. Код Шаблон:Webarchive доступний для дослідницьких цілей.
  25. 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
  26. Hamed Valizadegan, Rong Jin, Ruofei Zhang, Jianchang Mao, Learning to Rank by Optimizing NDCG Measure Шаблон:Webarchive, в Proceeding of Neural Information Processing Systems (NIPS), 2010.
  27. Шаблон:Citation
  28. Шаблон:Citation. Sections 7.4 Шаблон:Webarchive and 15.5 Шаблон:Webarchive
  29. Jan O. Pedersen. The MLR Story Шаблон:Webarchive
  30. Шаблон:US Patent
  31. Шаблон:Cite web
  32. Yandex corporate blog entry about new ranking model «Snezhinsk» Шаблон:Webarchive Шаблон:Ref-ru
  33. Алгоритм не розголошувався, але деякі деталі були оприлюднені в [1] Шаблон:Webarchive та [2] Шаблон:Webarchive.
  34. Шаблон:Cite web
  35. Шаблон:Cite web
  36. Шаблон:Cite web
  37. Шаблон:Cite web
  38. Шаблон:Cite news