УДК 519.816
С. В. СЕМЕНИХИН
Омский государственный технический университет, г. Омск
МЕТОД МАШИННОГО ОБУЧЕНИЯ РАНЖИРОВАНИЮ НА БАЗЕ ПАРАЛЛЕЛЬНЫХ ГЕНЕТИЧЕСКИХ АЛГОРИТМОВ
Рассмотрена проблема машинного обучения ранжированию документов в поисковой выдаче с целью повышения качества информационного поиска. Предложен метод машинного обучения ранжированию на основе параллельных генетических алгоритмов, направленный на одновременное повышение точности ранжирования и скорости выполнения машинного обучения. Проведены исследования на тестовых коллекциях, подтвердившие эффективность разработанного метода. Исследование выполнено на электронно-вычислительной машине с 16-ядерным процессором, что позволило выполнять до 16 параллельных генетических алгоритмов одновременно. Показано значительное снижение времени, необходимого для выполнения машинного обучения ранжированию.
Ключевые слова: информационный поиск, машинное обучение ранжированию, оптимизация, генетические алгоритмы, параллельные алгоритмы, кооперативная коэволюция.
1. Введение. В современных системах информационного поиска наблюдается постоянный рост количества документов в поисковом индексе (коллекции документов, которыми оперирует система), вследствие чего возрастает актуальность машинного обучения (МО) ранжированию [1, 2]. На основе обучающих данных (набора запросов, каждый из которых связан со списком документов, отсортированным в соответствии с релевантностью), в ходе машинного обучения вычисляются коэффициенты для функции ранжирования [3], которая может быть использована для сортировки результатов поиска в дальнейшей работе поисковой системы.
Хотя повышение точности в ходе МО является основной задачей, скорость выполнения МО также является важным вопросом. Из-за разнообразия запросов и документов обучение включает в себя все большие и большие наборы данных с большим количеством факторов. Кроме того, широкое распространение получили методы искусственного повышение рейтинга документов в поисковой выдаче (множестве документов, которые поисковая система определила релевантными поисковому запросу) за счет оптимизации факторов релевантности, используемых в поисковой системы. Эти методы постоянно развиваются и совершенствуются, и, как правило, такие документы не являются релевантными информационному запросу, а значит, поисковая система должна периодически проходить повторное обучение ранжированию с использованием новых обучающих выборок и новых факторов релевантности.
В данной работе предлагается подход к решению проблемы машинного обучения ранжированию на основе параллельных генетических алгоритмов (ПГА), основанный на кооперативной коэволюции (КК). Предлагаемый алгоритм машинного обучения
ранжированию ЬТЯ-ССА может напрямую оптимизировать дискретные метрики качества ранжирования, а также за счет параллельного выполнения генетических алгоритмов, может сократить время исполнения процедуры МО в сравнении с традиционными генетическими алгоритмами (ГА) [4].
Кооперативная коэволюция представляет собой особый вид ГА, характеризующийся тем, что приспособленность индивида основывается на том, как хорошо он сотрудничает с особями из других популяций [4]. Алгоритмы КК построены на принципе «разделяй и властвуй», стратегии декомпозиции сложной проблемы на подзадачи и объединения их решений для того, чтобы сформировать полное окончательное решение.
В алгоритмах КК несколько ГА развиваются параллельно. Таким образом, процесс эволюции может быть естественным образом распараллелен, что позволяет добиться существенного повышения скорости МО. Эта возможность не была исследована ранее для задачи МО ранжированию. В данной работе исследуется возможность применения параллельного алгоритма КК в контексте МО ранжированию.
2. Постановка задачи машинного обучения ранжированию. Пусть Б — коллекция документов, каждый из которых представлен вектором значений факторов релевантности. В информационно-поисковой системе для запроса д список документов Б возвращается в виде поисковой выдачи, где документы отсортированы в соответствии с их релевантностью.
Для данного запроса д релевантность документов (на основе экспертных оценок) определяется как функция ге1:В^М, где N является натуральным числом, характеризующим степень релевантности документа запросу. В некоторых случаях используется
двоичная функция: релевантность документа 0 (не релевантный) или 1 (релевантный). В данной работе были рассмотрены 3 уровня релевантности: 0 (не релевантный), 1 (частично релевантный) и 2 (релевантный).
Пусть F является функцией ранжирования, которая определяет степень релевантности документов поисковому запросу. Качество функции ранжирования может быть оценено с помощью метрик, таких как точность на уровне первых n документов в поисковой выдаче P@n, средняя точность MAP (Mean Average Precision) и дискретная метрика NDCG@n (Normalized Discounted Cumulative Gain). Таким образом, задача МО ранжированию формулируется следующим образом.
Дана обучающая выборка T и метрика качества ранжирования S(f), задача машинного обучения ранжированию состоит в том, чтобы оптимизировать функцию ранжирования f(T) так, что S(f) является максимальной.
3. Предлагаемый метод машинного обучения LTR-CGA Предлагаемый метод LTR-CGA адаптирует алгоритм КК к проблеме МО ранжированию, путем двухэтапного построения функции ранжирования на основе обучающей выборки.
Представление решения. В LTR-CGA используются древовидные структуры для представления решений [5], особи представлены в виде поддеревьев. Деревья не только имеют достаточную выразительную силу для представления нелинейных функций, но также имеют преимущество, заключающееся в простоте извлечения, внедрения и интерпретации решения.
В частности, для каждого дерева внутренние узлы содержат основные математические операторы +, — и *. Узлы листьев содержат факторы
Рис. 1. Представление функции ранжирования в виде дерева
релевантности и константы. Константы служат в качестве весовых коэффициентов факторов релевантности в функции ранжирования f В LTR-CGA весовые коэффициенты представлены рациональными числами на интервале (0;1).
Таким образом, функция ранжирования представляется в виде дерева. Это необходимо для разделения целевой функции на компоненты, которые будут использоваться в параллельно эволюционирующих популяциях. Показано представление дерева (рис. 1) для примера с функцией рafжирования
(С4 * f )+(С3 * f2 ).
Глубина d дерева, нредставляющего полное решение, определ! етс я общим количеством факторов релеоаиево с т и FF) и констант (nC). Де рев о долж-юв быть достаточно глубоким, для того что бы ч и с -ло конечных узловбыыв больше, чем ыВяыС, т.е. D е [log2 (ыВ я nC)] я1 = 7я1 = 8 . Например, пусть nF = 46 и nC = 19, то d = [log2(46 я 19)]я 1 = 7 я 1 = 8. Дерево глубиной 8 имеет 2 в степени 8 -1 = 128 > (46 я 19) листовых узлов.
Этап декомпозиции. Оптимизационные алгоритмы на основе КК делят общее пространство параметров наподпространства параметров, относящихся к одной подпроблеме. Подобная декомпозиция корректна, потому что их пространство поиска — это декартово произведение параметров [4].
В предлагаемом алгоритме LTR-CGA L начальных решений пренстевлеиы е виде древовидных структур, имеющих глубину d. Начальныерешения генерируются случавно Ca всем пространстве поиска. Затем каждое дереворазбиваетсяна N поддеревьев, образуя при этом N популяций, по L особей вкаждой.
Каждой популяции присвяен отдшльаыш ГА для эволюции. Показана декомпозиция (рис. 2) одного дерева(слева) в N = 4 поддерева (справа).
Глубина поддеревьев d задает верхние пределы пространству параметров особей. Этот параметр используется в LTR-CGA всякий раз, когда формируются новые особи. Глубина сборщика определяется как dA = [log2 nP] где nP — число процессоров, используемых в процессе параллельной эволюции. Таким образом, d. = d - dA, из чего следует, что размер пространства параметров особей ограничен значением 2 в степени D—1. Например, предположим, что глубина деревьев решений d = 8. Пусть число процессоров nP = 8. Тогда, глубина
Дерево решения
Особь i из 1-ой популяци
с л) ( /4
Особь г из 3-ей популяции Особь г из 4-ой популяции Рис. 2. Декомпозиция и сборка в методе LTR-CGA
Рис. 3. Параллельные генетические алгоритмы в методе LTR-CGA
0,47
0,45
0,43
0,41 - — í
0,39 — |
0,37 — |
0,35 — |
0,33
I LTR-CGA IAdaRank I RankBoost I RankSVM-Struct I ListNet
p@i
P@2
P@3
p@4
p@5
0,49 0,47 0,45 0,43 0,41 0,39 \-щ--
I LTR-CGA IAdaRank I RankBoost I RankSVM-Struct I ListNet
0,33
ndcg@1 ndcg@2 ndcg@3 ndcg@4 ndcg@5
Рис. 4. Сравнительная оценка метрик качества ранжирования по метрикам P@n и NDCG@n на тестовой коллекции MQ2007
сборщика dA = \log2 8] = 3, а глубины особей d. = 8 —
-3 = 5.
Этап эволюции. Эволюция в предлагаемом алгоритме LTR-CGA выполняется итеративно, а число итераций предопределено установленным в начале параметром ГА. N популяций эволюционируют параллельно, каждая из которых поддерживает набор особей и победителя, который является лучшей особью в поколении с наибольшим значением функции приспособленности.
Показанитеративный процесс эволюции (рис. 3) для 4-х популяций в параллельных генетических алгоритмах GA1, GA2, GA3 и GA4 соответственно. В ходе каждой итерации новое поколение особей в каждой из популяций формируется на основе предыдущего поколения. Затем рассчитываются значения функции приспособленности для всех особей.
После генерации параллельное выполнение временно приостанавливается и создается решение-кандидат для текущего поколения. Вначале выбирается новый победитель в каждой популяции на основе вычисленных значений функции приспособленности. Затем все победители комбинируются с помощью сборщика в качестве кандидата в решение. Если предустановленное ограничение на число итераций не достигнуто, начнется новая итерация и 4 популяции продолжат эволюцию в новом поколении параллельно.
Этап сборки. Сборка происходит в двух случаях: вычисление фитнес-функции (в самом конце поколения, как показано на рис. 4) и генерация кандидатов (сразу после окончания поколения, как показано на рис. 3). Сборка представляет собой процесс обратный декомпозиции. Особи (рис. 2) г. ~ г.
(справа) объединяются в полное решение (слева) с помощью сборщика. Сборщики используются для объединения особей в общее решение. Таким образом, все узлы сборщика являются внутренними узлами дерева решений и содержат только математические операторы.
Вычисление функции приспособленности. В рамках алгоритмов КК приспособленность особей основана на том, как хорошо они сотрудничают с другими популяциями. Во-первых, особь i2 и победители из остальных популяций w1, w3 и w , выбранные из прошлого поколения GA1, GA3 и GA4 соответственно, с помощью сборщика объединяются в решение (справа). Затем на основе тестовых данных рассчитывается метрика качества ранжирования, например, MAP, а результат присваивается особи i в качестве фитнесс-функции.
4. Тестовые коллекции. В проведенных исследованиях в качестве обучающей выборки и эталонных значений релевантности использована тестовая коллекция документов и запросов LETOR 4.0 [6], выпущенная в 2009 году исследователями в области машинного обучения ранжированию из Microsoft Research Asia [6]. LETOR 4.0 использует набор веб-страниц Gov2 и два набора запросов MQ2007 и MQ2008, которые применялись на конференциях TREC 2007 и TREC 2008 соответственно. MQ2007 содержит около 1700 запросов с 69,623 ссылками, MQ2008 — около 800 запросов с 15,211 ссылками. Каждый набор данных был разбит на пять частей, чтобы провести 5-кратную перекрестную проверку. Для каждого из исходных наборов три части используются для обучения, одна часть для проверки, а оставшаяся часть — для тестирования.
Факторы релевантности. В тестовой коллекции LETOR 4.0 для каждого документа предоставляется: 6 факторов релевантности на основе гиперссылок (PageRank, количество унешних ссылок, количество внутренних ссылок, количество слешей в URL адресе документа, длина U RL адреса и количество дочерних страниц), 40 факторов на основе содержимого документа, состоящие из 2У клаусических функций, таких как длина документа и частота термов, и 20 высокоуровневых факторов, результаты вероятностной модели BM25 и алгоритмов LMIR.
Метрики качества рчнжирования. Для оценки метода LTR-CGA из списка общепринятых метрик качества ранжирования документов поисковыми системами выбраны о^еосновные — MAP@n и NDCG@n.
1. Средняя точность ранжирования (MAP@n).
Точность ранжиравания еа уровне n первых документов может быть записана как (1):
где г — количе ств о наиденных релевантных документов; Ь — колиоество документов, ошибочно принятых за релевантные.
На основе (1) может быть россчиоана средняя точность ранжировтния ]\1 АР (2):
MAP с
^(Ptgn-reCn))
(2)
где ге1(ы) — бинартао функцгвя, пр ш и мающая значение 1, если о-й е°кумент релевантен запросу, и 0 — в обратном случае.
2. Дискретная метрико БСй может быть записана как:
n Rgraae(p) _ 1
DCG@n с Y-—---
pel log2 (R у p)
(3)
где grade(ц) — средеяя оценка релевантности, выставленная экспертами документу, расположенному на позиции ц в спжке pnзультстов, grade е [0,3]; 1/log2(2+^ — КАыф фию иент, зависящий от позиций документа (первые документы имеют больший вес);
Тогда нормализованная 2ерсия NDCG запишется в виде:
NDCG@n с DCG@n/Z
(4)
P@n с г/
(1)
где Z — фактор нормализации, который равен максимально возможному значению DCG@n для данного запроса (т.е. равен DCG идеального ранжирования).
5. Результаты исследований. Проведены две серии экспериментов с использованием тестовых данных для оценки точности ранжирования и скорости работы метода LTR-CGA.
Точность ранжирования. В первой серии экспериментов оценивалась точность ранжирования, достигаемая с помощью предлагаемого алгоритма LTR-CGA, в сравнении с известными алгоритмами машинного обучения AdaRank, RankBoost, RankSVM и ListNet на тестовых коллекциях MQ2007 [6] и MQ2008 [6]. В табл. 1 показано сравнение точности по метрике MAP. На тестовой коллекции MQ2007 предлагаемый алгоритм LTR-CGA и RankBoost показали лучшие результаты. Для коллекции MQ2008 алгоритм LTR-CGA превзошел остальные алгоритмы на 1,13 %, 0,901 %, 2,60 % и 0,901 % соответственно, что свидетельствует об эффективности предложенного метода.
На рис. 5 и 6 показан результат сравнения алгоритмов по метрикам P@ 1-5 и NDCG@1~5 (метрики измерялись на уровне от 1 до 5 первых документов, так как точность ранжирования первых документов поисковой выдачи наиболее важна для поисковой системы [2]). Для этих метрик результаты, анало-
Сравнениеразработанного метода машинного обучения ранжированию с существующимиалгоритмами по метрики MAP (средняя точность)
Таблица 1
Тестовая коллекция Средняя точность ранжирования (для алгоритмов)
LTR-CGA AdaRank RankBoost RankSVM ListNet
MQ2007 0,466 0,458 0,466 0,465 0,465
MQ2008 0,482 0,476 0,478 0,47 0,478
r
Рис. 5. Сравнительная оценка метрик качества ранжирования по метрикам P@n и NDCG@ на тестовой коллекции MQ2008
гично результатам по метрике MAP, показывают что LTR-CGA является лучшим для обеих метрик, но достигающим того же результата, что и алгоритму RankBoost на коллекции MQ2007 и алгоритму AdaRank на коллекции MQ2008.
Время выполнения алгоритма. Для демонстрации повышения скорости выполнения МО за счет параллельной эволюции из тестовой коллекции MQ2008 были последовательно извлечены 25 %, 50 % и 100 % данных, на основе которых подготовлены три обучающие выборки, содержащие 3803, 7606 и 15211 документов соответственно. Затем алгоритм LTR-CGA выполнялся для каждого из этих наборов с разным количеством процессоров (1, 2, 4, 8, и 16). Предложенная реализация параллельных алгоритмов для задачи машинного обучения ранжированию использует 8 параллельно выполняющихся генетических алгоритмов, а значит, с ростом количества процессоров до 8 сокращается время выполнения МО (за счет параллельного выполнения вместо последовательного).
Приведены графики (рис. 6) оценок времени выполнения и повышения скорости выполнения машинного обучения алгоритма LTR-CGA за счет увеличения числа используемых ядер процессора. Из результатов видно, что параллельная эволюция приводит к значительному приросту скорости в LTR-CGA.
По сравнению с использованием одного процессора средний прирост скорости составил 173 %,
299 %, 486% и 736 % для 2, 4, 8, и 16 процессоров соответственно.
Следует отметить, что в идеальной ситуации (без негативного влияния внешних факторов), с увеличением размера набора данных кривая повышения скорости выполнения алгоритма должна приблизиться к линейно нарастающей функции (рис. 6). Однако LTR-CGA испытывает трудности в достижении подобных результатов по следующим причинам.
Во-первых, составные части LTR-CGA не всегда выполняются параллельно (рис. 3). После каждого поколения, параллельное выполнение частей алгоритма временно приостанавливается для выполнения сборки, чтобы построить предполагаемое решение. Во-вторых, параллельные генетические алгоритмы могут потратить разное количество времени на эволюцию в разных популяциях КК, но сборка может начаться только после того, как итерация завершена во всех ГА. Таким образом, время, которое алгоритм LTR-CGA тратит на поколение, равно наибольшему времени, затраченному на эволюцию среди всех параллельных ГА. Однако, несмотря на описанные выше причины, предложенный алгоритм LTR-CGA, за счет параллельных вычислений, с увеличением числа процессоров показывает рост скорости выполнения алгоритма, близкий к линейному, и превосходит существующие алгоритмы, которые построены на основе последовательных вычислений.
7. Заключение. В данной работе предложен метод и представлен алгоритм машинного обучения ранжированию LTR-CGA, применяющий параллельные генетические алгоритмы на основе кооперативной коэволюции, позволяющий повысить скорость выполнения алгоритма без потерь в точности ранжирования. Также описаны разработанные приемы, позволяющие кооперативной коэволюции в ГА выполняться параллельно.
Проведены испытания на тестовых коллекциях документов и запросов с целью сравнить предлагаемый алгоритм LTR-CGA с эталонными алгоритмами МО ранжированию, в ходе чего была продемонстрирована точность и значительное повышение скорости выполнения МО. Предложенный метод LTR-CGA, в отличие от существовавших ранее методов, использует преимущество многоядерных процессоров и позволяет значительно снизить время, необходимое на выполнение машинного обучения пропорционально росту числа ядер ЦПУ (в рассмотренном случае — скорость увеличилась примерно в 8 раз с использованием восьмиядерного процессора).
В дальнейшем планируется расширить предложенный метод машинного обучения LTR-СGA. В проведенных исследованиях в качестве критериев оптимальности в ходе машинного обучения использовались метрика точности и дискретная метрика NDCG.
Для получения наиболее высоких результатов машинного обучения предполагается провести сравнительный анализ метрик качества ранжирования, чтобы определить наиболее эффективные для задачи машинного обучения и определить, какие из них наиболее эффективны для оптимизации в ходе машинного обучения ранжированию.
Библиографический список
1. Tie-Yan Liu. Learning to Rank for Information Retrieval // Journal Foundations and Trends in Information Retrieval. 2009. March. Vol. 3, issue 3. P. 225-331.
2. Christopher J. C. Burges, Tal Shaked, Erin Renshaw. Learning to Rank using Gradient Descent // Proceeding ICML '05 Proceedings of the 22nd international conference on Machine learning, 2005. P. 89-96.
3. Семенихин С. В., Денисова Л. А. Метод машинного обучения ранжированию на основе модифицированного генетического алгоритма для метрики NDCG // Омский научный вестник. Сер. Приборы, машины и технологии. 2016. № 3 (147). С. 100-104.
4. R. Collins and D. Jeerson. Selection in massively parallel genetic algorithms // Proceedings of the Fourth Intl. Conf. on Genetic Algorithms, ICGA-91. Morgan Kaufmann, 1991. P. 249256.
5. Дональд Э. Кнут. Гл. 2.3. Деревья // Искусство программирования. В 3 т. Т. 2. Основные алгоритмы. 3-е изд. М.: Вильямс, 2000. 832 с. ISBN 5-8459-0081-6, 0-201-89684-2.
6. Tie-Yan Liu, Jun Xu, Tao Qin, Wenying Xiong, and Hang Li. LETOR: Benchmark Dataset for Research on Learning to Rank for Information Retrieval // SIGIR 2007 Workshop on Learning to Rank for Information Retrieval (LR4IR 2007), 2007. P. 3-10. URL: http://citeseerx.ist.psu.edu/viewdoc/download?doi = 10.1.1.93.71 95&rep = rep1&type = pdf (дата обращения 30.03.2017).
СЕМЕНИХИН Святослав Витальевич, аспирант кафедры «Автоматизированные системы обработки информации и управления». Адрес для переписки: [email protected]
Статья поступила в редакцию 10.04.2017 г. © С. В. Семенихин