Методы разработки данных (Data Mining) для рекомендательной системы Интернет-рекламы Дмитрий И. Игнатов Сергей О. Кузнецов ГУ-ВШЭ, Москва Аннотация Для систем контекстной рекламы актуально наличие интеллектуального помощника для подбора ключевых словосочетаний (например, сервис Google AdWords). В работе в качестве прототипа такой системы предлагается комбинированный подход на основе методов формального анализа понятий и предложенных нами ассоциативных метаправил. Проводятся эксперименты на реальных данных. 1.Введение Одна из разновидностей электронной коммерции — контекстная Интернет-реклама, в основном т. н. поисковая реклама. Пользователю предлагается релевантная (с точки зрения поисковой системы) его поисковому запросу реклама. Нашей задачей будет выявление рекламных слов, которые могут быть интересны рекламодателю. Предположим, что некая фирма F приобрела ряд рекламных слов, которые описывают предоставляемые услуги. Как правило, на рынке уже существуют компании-конкуренты, поэтому вполне разумно было бы выяснить, какие рекламные слова приобрели они. Далее можно сравнить эти множества слов с теми, что купила F и, исходя из частоты таких покупок, отобрать наиболее для нее интересные из неприобретенных. Решение подобной задачи методами спектральной кластеризации описано в [8].Цель наших экспериментов — не только расширить список методов бикластеризации пригодных для решения этой задачи, но и улучшить качество предложенных рекомендаций. В работе приведено описание исходного набора данных, постановка задачи, вычислительная модель, предложены методы для ее решения, описаны проведенные эксперименты и полученные результаты. 2. Основные определения Основные определения даются в терминах формального анализа понятий (ФАП) [6]. Контекстом в ФАП называют тройку K = (G, M, I), где G — множество объектов, M — множество признаков, а отношение I G M говорит о том, какие объекты какими признаками обладают. Для произвольных A G и B M определены операторы Галуа: A' = {m M | g A (g I m)}; B' = {g G | m B (g I m)}. Оператор '' (двукратное применение оператора ') является оператором замыкания: он идемпотентен (A'''' = A''), монотонен (A B влечет A'' B'') и экстенсивен (A A''). Множество объектов A G, такое, что A'' = A, называется замкнутым. Аналогично для замкнутых множеств признаков - подмножеств множества M. Пара множеств (A, B), таких, что A G, B M, A' = B и B' = A, называется формальным понятием контекста K. Множества A и B замкнуты и называются объемом и содержанием формального понятия (A, B) соответственно. Для множества объектов A множество их общих признаков A' служит описанием сходства объектов из множества A, а замкнутое множество A'' является кластером сходных объектов (с множеством общих признаков A'). Для произвольного B M величина |B'| = |{g G | m B (g I m)}| называется поддержкой (support) B и обозначается sup(B). Нетрудно видеть, что множество B замкнуто тогда и только тогда когда для любого D B имеет место sup(D) < sup(B). Именно это свойство используется для определения замкнутости в методах Data Mining. Множество B M называется k-частым если |B'| > k (то есть множество признаков B встречается в более чем k объектах), где k – параметр. Вычисление частых замкнутых множеств признаков (содержаний) приобрело важность в Data Mining благодаря тому, что по этим множествам эффективно вычисляются множества всех ассоциативных правил [12]. Пусть K = (G, M, I) — формальный контекст, тогда выc ражение A B B, где A, B M, c, s [0, 100], называется ассоциативным правилом конs | ( A B) | | ( A B) | 100% 100% | A | | G | текста K, если с = иs= . Будем называть величину c c степенью достоверности (confidence), а s — поддержкой (support) правила A B . s 3. Постановка задачи и исходные данные Данные для экспериментов принадлежат компании US Overture (ныне часть Yahoo) и описаны в работе [8]. Фактически данные представляют собой двумерный массив, в котором строкам соответствуют фирмы (advertisers), а столбцам — рекламные слова (bids). Число фирм — 2000, а число рекламных словосочетаний — 3000. Число ненулевых ячеек 92345, соответственно мера разреженности равна 1-92 345\6 000 000= 0,9846. Единица в ячейке означает, что фирма, соответствующая индексу строки, приобрела словосочетание, которое соответствует столбцу. Ноль означает отсутствие такой покупки. Фирмы, представленные в наборе данных, покупают минимум 13 рекламных слов, максимум — 947. Одно словосочетание покупает не меньше 18 фирм, но не больше 159. По этим данным требуется построить бикластеры (фирмы, рекламные слова), которые представляют собой сегменты рынка. Далее такие бикластеры можно использовать для порождения рекомендаций для фирм, действующих на этом же рынке, но не совершившим покупки слов входящих в такой бикластер. В случае бикластеризации, допускающей незаполненные ячейки внутри бикластера, рекламные слова, отвечающие таким ячейкам, можно рассматривать в качестве кандидатов для рекомендаций. Подобные рекомендации можно представлять в виде правил: «если фирма приобрела рекламное словосочетание A, то имеет смысл предложить ей словосочетание B». Такие «если-то» правила хорошо вписываются в парадигму поиска ассоциаций. В существующей научной литературе неоднократно описывались рекомендательные системы, основанные на анализе ассоциативных правил (см., например, [1]). Эти методы наряду с другими, используемыми в рекомендательных системах, показывают приемлемые результаты. Ниже мы опишем, как можно использовать семантическую и морфологическую информацию, заложенную в описании признаков (рекламных слов), и тем самым улучшить качество рекомендационных правил. 4. Вычислительная модель Исходный массив данных описывается формальным контекстом KFT=(F,T,IFT), F (от firms) — множество компаний-рекламодателей, а T (от term) — множество рекламных словосочетаний, I — отношение инцидентности, показывающее, что фирма fF купила словосочетание tT тогда и только тогда, когда fIt. Для решения задачи мы последовательно применяли следующие подходы и алгоритмы: алгоритм D-miner для выявления крупных рынков средствами ФАП; поиск ассоциативных правил для построения рекомендаций; построение ассоциативных метаправил с помощью морфологического анализа; построение ассоциативных метаправил с помощью онтологий (тематического каталога); 1)Выявление крупных рынков средствами ФАП. Мы ищем крупные рынки, представляющие собой множества понятий данного контексту при ограничениях на размер объема и содержания. Для этой цели мы применяем алгоритм D-miner, который подробно описан в работе [2]. Таблица 1. Результаты работы алгоритма D-miner Минимальный размер объе- Минимальный размер со- ма понятия (число рекламо- держания (число словосоче- дателей) таний) Число формальных понятий 0 0 8 950 740 10 10 3 030 335 15 10 759 963 15 15 150 983 15 20 14 226 20 15 661 20 20 0 2) Рекомендации на основе ассоциативных правил. По данному контексту построим с помощью программы Coron [6] информативный базис ассоциативных правил [7]. Информативный базис выбран нами, во-первых, для более компактного представления множества правил, а, во-вторых, для повышения вычислительной эффективности. Напомним, что идея базиса состоит в том, что все остальные ассоциативные правила выводимы из него с помощью аксиом Армстронга. Результаты работы алгоритма приведены в таблице 2. Таблица 2. Результаты поиска ассоциаций с помощью системы Coron min_ max_supp min_conf max_conf 30 30 86 109 0,9 0,8 1 1 число правил supp 101 391 144 043 Приведем также некоторые примеры построенных правил для minsupp=30 и minconf=0,9. {game slot} {casino gambling online}, supp=30 [1.50%]; conf=0.909 [90.91%]; {gift graduation} {anniversary gift}, supp=41 [2.05%]; conf=0.820 [82.00%]; Величина поддержки supp=30 для первого правила означает, что словосочетания «game slot» и «casino gambling online» купили 30 фирм. Величина достоверности $conf=0.909$, означает, что 90,9% фирм, которые покупают словосочетание «game slot», так же покупают и «casino gambling online». Далее для формирования рекомендаций для каждой конкретной фирмы можно применять подход, предложенный в [1]. Для покупателя слов fi находим все ассоциативные правила в левой части которых содержатся слова им купленные. Далее строим множество Tu — уникальных рекламных словосочетаний не купленных fi ранее. Затем упорядочиваем найденные словосочетания по убыванию величины достоверности правил, в правую часть которых они входят. Если покупка одного и того же словосочетания предсказана несколькими правилами, то мы рассматриваем ассоциацию с наибольшей достоверностью. 3) Построение метаправил на основе морфологии рекламных слов. Рассмотрим в качестве дополнительного знания имеющееся признаковое пространство, а именно тот факт, что каждый признак является словом или словосочетанием. Вполне очевидно, что синонимичные словосочетания принадлежат к одному сегменту рынка. Конечно, в штате компаний, занимающихся контекстной рекламой существуют тематические каталоги составленные экспертами, но ввиду большого количества рекламных слов (несколько тысяч) наполнение каталога «вручную» является сложной задачей. Для построения тематического каталога рекламных словосочетаний могут потребоваться словари синонимов, а учитывая тот факт, что такие словосочетания не всегда слова или сочетания двух слов такие словари редки. К тому же рекламное словосочетание может включать специфические сокращения, отсутствующие в словарях синонимов общего назначения. Поэтому в качестве первого приближения для решения такой задачи можно использовать стемминг (выделение основы слова). Опишем последовательность действий при извлечении знаний с помощью стемминга. Пусть t – некий терм, рекламное словосочетание. Представим его в виде множества слов его образующих t={w1, w2,…, wn}. Основу слова wi обозначим через si=stem(wi), тогда множество основ терма t обозначим через stem(t)= stem(wi). Построим формальный конi текст KTS=(T, S, ITS), где T — множество всех термов, а S — множество основ всех термов из T, т.е. S= stem(ti). Тогда tIs будет означать, что во множество основ терма t входит осi нова s. Построим по такому контексту правила вида t siITS для всех tT. Тогда такому FT метаправилу контекста KTS соответствует t siITS — ассоциативное правило контекста KFT. Если величина поддержки и достоверности такого правила в контексте KFT превышают некоторые пороговые значения, то можно считать ассоциативные правила, построенные по контексту KFT не столь интересными (их можно вывести из описания признаков). В качестве более крупных метаправил мы предлагаем следующие две возможности. FT Во-первых, можно искать правила вида t siITS, т.е. правила, в правую часть которых i входят все термы, имеющие хотя бы одно однокоренное слово с исходным термом. ВоFT вторых, правила вида t ( si)ITS, т.е. правила, термы в правой части которых, содержат в i своем составе те же основы, что и исходное словосочетание. Довольно очевидно, что первый тип правил может привести к объединению различных словосочетаний, например «black jack» — игровой бизнес и «black coat» — одежда. Такое объединение произошло благодаря наличию общего слова «black». А второй тип правил относится к более достоверным зависимостям, например, {black jack} {black jack game online}. Поэтому меры поддержки и достоверности при построении простых метаправил должны служить их мерой пригодности для дальнейшего использования. FT Мы предлагаем также использовать метаправила вида t1 t2, такие, что t2ITS t1ITS. Такие правила имеют простую интерпретацию, из словосочетания t1 следует словосочетание t2, множество основ которого вкладывается в множество основ t1. Примеры метаправил. FT t siITS i {mail order phentermine} {adipex online order, adipex order, adipex phentermine,…, phentermine prescription, phentermine purchase, phentermine sale} Supp=19 Conf=0,95 FT t ( si)ITS i {distance long phone} {call distance long phone, carrier distance long phone, …, distance long phone rate, distance long phone service} Supp=37 Conf=0,88 FT t1 t2, такие что t2ITS t1ITS: {ink jet} {ink}, Supp=1 Conf=0,7 4) Построение онтологии и семантических метаправил на ее основе. Не смотря на то, что не существует общего формального определения понятия онтологии в информатике, можно выделить его основные черты: понятия, иерархическое отношение IS-A и другие отношения. Мы будем следовать определению, изложенному в [19]: Онтология это кортеж O:=(C;is_a;R;σ), где C — множество, элементы которого называются понятиями, is_a — частичный порядок на C, R — множество, элементы которого называются именами отношений (или просто отношениями) и σ:R C+ — функция, которая сопоставляет каждому отношению его арность. В нашем случае множество понятий — все рекламные слова, упорядоченные отношением быть «более общим понятием». Например, в нашей онтологии для рынка лекарств и медицинских средств понятие «медицинские препараты» более общее, чем «витамины». Будем использовать упрощенную древесную онтологию. Введем два оператора действующих на множестве рекламных слов T. Оператор уровня обобщения gi(.): T T, его множество значений образуют более общие понятия на i уровней выше. Оператор соседства n(.): T T, его множество значений состоит из понятий одного уровня с данным, имеющих общего с ним родителя. Теперь определим два вида метаправил для онтологии: правила общности t gi(t) и правила соседства t n(t). Такие правила так же будем рассматривать как ассоциации контекста KFT=(F,T,IFT), что позволит понять, какие из них подтверждаются имеющимися данными. Примеры метаправил для рынка медикаментов. Правило вида t n(t), где t=«B_VITAMIN». {B_VITAMIN} {B_COMPLEX_VITAMIN, B12_VITAMIN, MINERAL_VITAMIN,…, MULTI_VITAMIN, SUPPLEMENT_VITAMIN, VITAMIN} Правило вида t g1(t), где t=«B_VITAMIN», а g1(t)=«VITAMINS». {VITAMINS}. Верификация результатов {B_VITAMIN} В качестве средства валидации для метаправил мы используем меру достоверности. Величина поддержки не играет большой роли, так как мы ищем не столько крупные рынки или наиболее продаваемые словосочетания, а устойчивые закономерности при покупке. Правила с достоверностью меньше 0.5 нас не так сильно интересуют, потому что они означают, что в половине случаев покупка может произойти, а в половине — нет (своеобразная игра в подбрасывание монеты). Для ассоциативных правил мы изначально задались высоким уровнем достоверности — 0.8 и 0.9. Для метаправил значения поддержки и достоверности необходимо вычислить по контексту KFT=(F,T,IFT). Для метаправил построенных с использованием морфологии приведем значения этих мер в сводных таблицах. Так же в таблице указано число правил имеющих поддержку отличную от 0. Таблица 3. Средние значения supp и conf для морфологических метаправил Тип правила Среднее значение supp 6 FT t siITS FT t siITS Среднее значение conf Число правил 0,26 2389 6 0,24 456 12 0,40 1095 15 0,49 7409 11 0,36 2006 i FT t ( si)ITS i FT t ti, где tiITS tITS FT t ti, где tiITS tITS i Зададим уровень минимальной поддержки 0,5 и установим число правил каждой группы превышающих этот порог. Таблица 4. Средние значения supp и conf для морфологических метаправил при min_conf = 0,5. Тип правила FT t siITS FT t siITS i Среднее значение supp 15 15 Среднее значение conf 0,64 0,63 Число правил 454 75 FT t ( si)ITS 18 0,67 393 21 0,70 3922 20 0,69 673 i FT t ti, где tiITS tITS FT t ti, где tiITS tITS i По таблицам 3 и 4 легко установить, что наиболее достоверными и часто встречаFT ющимися являются правила вида t ti . i Отметим, что использование морфологии является полностью автоматическим приемом, позволяющим найти ассоциации заранее. Остается также часть правил не подтвержденная значениями поддержки и достоверности, возможно провести ее верификацию для более репрезентативных данных, например, на множестве словосочетаний рекомендованных службой Google AdWords, учитывающей частоту запросов по словам синонимам для многомиллионной аудитории пользователей. Наиболее достоверные правила может дать онтология (в данной задаче заранее составленный экспертами каталог). Выводы и дальнейшие исследования Полученные результаты показывают, что часть зависимостей в базе данных покупок рекламных слов можно выявлять автоматически, не прибегая к трудоемким методам, а используя стандартные техники в компьютерной лингвистике. Предложенные подходы вкупе с с методами Data Mining помогают улучшить рекомендации и предлагают хорошее средство частотного ранжирования, что удобно при составлении Top-N рекомендаций. Еще одно преимущество подхода состоит в возможности выявить связанные рекламные слова, но не используемые по каким-то причинам рекламодателями. Результаты бикластеризации на основе ФАП показывают возможность выявления относительно крупных рекламных рынков (> 20 участников) описанных в терминах фирмучастников и рекламных слов. В качестве дальнейших исследовательских задач отметим следующие: проверка предложенного подхода на больших массивах реальных данных с применением техник скользящего контроля (разбиение исходного массива на обучающую и тестовую выборку); использование готовых (составленных экспертами) онтологий типа WordNet для построения семантических метаправил. Список литературы 1. Badrul M. Sarwar, George Karypis, Joseph A. Konstan, John Riedl, "Analysis of recommendation algorithms for e-commerce",ACM Conference on Electronic Commerce, pp. 158-167, 2000. 2. J. Besson, C. Robardet, J-F. Boulicaut. Constraint-based mining of formal concepts in transactional data. In: Proceedings of the 8th Pacific-Asia Con-ference on Knowledge Discovery and Data Mining, 2004. 3. B. Ganter and R. Wille, Formal Concept Analysis: Mathematical Foundations, Springer, 1999 4. N. Pasquier, Y. Bastide, R. Taouil, L. Lakhal, Efficient Mining of Association Rules Using Closed Itemset Lattices, Inform. Syst., 24(1), 25-46, 1999. 5. G. Stumme, A. Madche: FCA-Merge: Bottom-Up Merging of Ontologies. Proc.17th Intl. Conf. on Articial Intelligence (IJCAI '01). Seattle, WA, USA, 2001, 225-230 6. L. Szathmary and A. Napoli. CORON: A Framework for Levelwise Itemset Mining Algorithms. In B. Ganter, R. Godin, and E. Mephu Nguifo, editors, Supplementary Proceedings of The Third International Conference on For-mal Concept Analysis ICFCA '05, Lens, France, pages 110-113, Feb 2005. 7. L. Szathmary, A. Napoli, and S. O. Kuznetsov. ZART: A Multifunctional Itemset Miner Algorithm. LORIA Research Report A05-R-013, Feb 2005. 8. L.Е. Zhukov. Technical Report: Spectral Clustering of Large Advertiser Datasets Part I. Overture R&D (2004)