ИНФОРМАТИКА И СИСТЕМЫ УПРАВЛЕНИЯ
УДК 681.3.01:681.327.1
11 2 Е.В. Бритвина , В.В. Крылов , Ю.А. Мальков
АЛГОРИТМ МАКСИМИЗАЦИИ РЕЛЕВАНТНОСТИ, ИСПОЛЬЗУЮЩИЙ ГРАФОВЫЕ МОДЕЛИ ДАННЫХ
Нижегородский государственный технический университет им. Р.Е. Алексеева1,
Институт прикладной физики РАН2
Предлагается алгоритм поиска максимально релевантного элемента из конечного множества ответов по заданному конечному множеству запросов и заданной функции релевантности, имеющий существенно низкую вычислительную сложность, чем полный перебор. Для этого используется предварительное формирование на множестве ответов координатной системы, индуцированной функцией релевантности, и после на этой основе графа метризованного тесного мира. Проведенное численное моделирование подтвердило предложенный эвристический алгоритм. Целевым приложением метода является таргетирование рекламных сообщений в телекоммуникационных системах с установлением соединения.
Ключевые слова: релевантность, поиск информации, дискретная оптимизация графовая модель данных, графы тесного мира.
Введение
Термин "релевантность" имеет много определений и в общем смысле наиболее близок по значению к термину "адекватность" [1]. Для информационных систем релевантность обычно связывается с семантическим соответствием поисковых запросов и найденных документов. В задачах управления релевантность характеризует меру соответствия управляющих сигналов целям управления. [2]. Проблема максимизации релевантности возникает в значительном числе задач проектирования компьютерных систем обработки информации.
В настоящей работе мы рассматриваем задачу максимизации релевантности с позиций дискретной оптимизации [3] и полагаем, что все семантические аспекты отражены в способе вычисления функционала, значение которого и отождествляется с оценкой релевантности. При такой постановке задачи ее решение становится пригодным для использования при проектировании широкого круга систем, где требуется найти наилучшее реагирование на каждый из входных наборов данных без учета их темпоральной компоненты.
Основной целевой задачей, которая привела к разработке изложенного далее алгоритма, явилась задача гладкого встраивания в процесс установления соединения в мультимедийных телекоммуникационных системах дополнительных информационных сообщений [4], специфицированных для каждого из вызывающих абонентов.
Процедура выбора сообщений в соответствии с профилем каждого из абонентов рассматривается как задача выбора релевантного мультимедиа-сообщения из доступной базы данных таких сообщений. Наличие значительного числа обслуживаемых абонентов и малый интервал времени, доступный для встраивания сообщения, требуют чрезвычайно производительных алгоритмов максимизации релевантности с неограниченными возможностями масштабирования. Эти требования существенно ограничивают возможность применения известных алгоритмов и вызвали необходимость новой разработки.
© Бритвина Е.В., Крылов В.В., Мальков Ю.А., 2013.
Постановка задачи
Пусть задано два конечных множества:
• X = {х, имеющее семантический смысл запросов некоторой предметной области;
• У — {jj}J =1, имеющее семантический смысл ответов на запросы в этой же предметной области.
Определено отношение X®Y называемое отношением релевантности, такое, что каждому элементу из множества запросов соответствует подмножество так называемых релевантных ответов из множества
Vxt Е Х=> Yt ЕУ,
Отношение может быть задано некоторой матрицей из N строк, соответствующих всем возможным запросам, и M столбцов, соответствующих всем возможным ответам.
Гц Г12 ... Г1M Г21 Г22 ... Г2М Г31 Г 32 ... Г зм.
Если значения элементов матрицы релевантности равны либо 0 либо 1, то речь идет о том, что задано булева релевантность, то есть для любой пары запрос-ответ о их релевантности можно утверждать только «да» или «нет».
Более сложный случай определяется возможностью оценивать уровень релевантности. В этом случае можно ввести функцию релевантности rel.
X х Y Г0Д1:0 <ге1(хиу^ < 1.
Эта функция аналогична используемой обычно функции "похожести" - similarity, используемой в тех случаях, когда запрос и ответ рассматриваются как элементы одного и того же множества. В таких случаях можно считать это множество наделенным структурой метрического пространства или близкого к такому. Для решения задач поиска в метрических пространствах создан целый ряд мощных инструментов, основанных на различных математических свойствах таких пространств. [5]. Целью данной статьи является решение задачи поиска для случая, когда множества запросов и ответов затруднительно представить элементами одного и того же метрического пространства.
Однако введение матрицы релевантности делает постановку задачи весьма близкой, поскольку позволяет абстрагироваться от природы строк и столбцов этой матрицы и рассматривать ее как матрицу некоторой метрической природы.
Заметим сразу, что для этой матрицы не выполняются многие свойства , характерные для метрических матриц (или матриц похожести), например матрица неквадратная, диагональные элементы необязательно равны нулю (единице, как для матриц похожести).
Тем не менее, решение задачи поиска может быть сведено к отысканию для каждой строки максимальных элементов, и тем самым идентификации номеров тех столбцов, соответствующие которым ответы наилучшим образом соответствуют запросу, относящемуся к данной строке.
Здесь может быть предложен очевидный алгоритм сортировки элементов для каждой строки с сохранением идентификатора столбца. Такой алгоритм может быть применен, если мощность множеств N и M не очень велика. Однако на практике, число возможных запросов и ответов оказывается весьма значительным.
Известно, что вычислительная сложность устойчивой сортировки массива из M чисел
2
оценивается как O(Mz) для большинства алгоритмов или в лучшем случае как O(MlogM) [6].
Для каждого запроса потребуется исполнить алгоритм с сложностью, равной произведению сложности алгоритма сортировки на сложность алгоритма вычисления значения функции релевантности для всех вариантов ответа. Если обозначить сложность вычисления
значения функции релевантности д, то оценка общей сложности может быть дана следующим образом:
c:=^MO(MloS*vO = log
Дополнительной сложностью для реализации практически интересного алгоритма является необходимость поддержки динамического пополнения множеств ответов и запросов. В этом случае результаты предыдущей сортировки не смогут быть использованы для последующих идентичных запросов, что не позволит кэшировать результаты.
В этом случае требуется построение другого эффективного алгоритма. Для снижения вычислительной сложности можно также ограничиться нахождением только одного элемента с максимальным значением функции релевантности. В этом случае нет необходимости упорядочения всех возможных ответов, а искать только один. В этом случае задача переходит в категорию задач дискретной оптимизации. Сведем задачу максимизации релевантности к задаче дискретного программирования. Иногда вместо задачи на максимум выгоднее рассматривать задачу минимизации. С этой целью будем рассматривать вместо функции релевантности связанную с ней функцию расстояния релевантности:
d(x,y)\XxY -> [0,оо)
Задача: найти алгоритм отыскания максимально релевантной точки
у* Е У; d(xt yt) — min d(x, у)
В изложенной постановке задача относится к классу трудноразрешимых задач дискретной оптимизации [3]. Точные методы для высокоразмерных задач в этом случае приводят к недопустимо большому числу вычислений, поэтому далее обсуждаются эвристические приближенные алгоритмы.
Решение задачи релевантности методом локальной дискретной оптимизации
со случайным поиском на графах
Основной идеей этого раздела является попытка свести задачу на поиск релевантного ответа из Y на запрос из X при известной функции релевантности rel ( . , . ) к нескольким задачам локального поиска на множестве Y. В основу метода положим оснащение этого множества графом со специальными свойствами, известными как MSW (MetrizedSmallWorld) для поиска локального минимума [7].
Классический подход применения метода локальной оптимизации сводится к наделению множества Y любой произвольной метрикой, назначением начальной точки и радиуса окрестности локального поиска. Алгоритм поиска минимума в этом случае сводится к поиску локального минимума в выбранной окрестности и перехода к новой начальной точке, в качестве которой назначается найденная на предыдущем локальном шаге точка минимума.
Как показано в [8,9] , если на дискретном множестве существует функция расстояния, то на нем может быть построен граф, обладающий свойствами тесного мира (MSW граф) . То есть расстояние между любыми вершинами такого графа в среднем оценивается логарифмической величиной от размера графа, числа его вершин. При этом существует простой алгоритм жадного поиска, приводящий в среднем за логарифмическое число шагов к отысканию ближайших соседей для любого вновь выбранного элемента yo из множества (поглощающего)
Y => У
наделенного той же функцией расстояния. Выбрав произвольно начальную точку из Y, можно найти в Y ближайших соседей для y0, совершив логарифмически связанное с размером Y число локальных поисков.
Сведем задачу поиска элемента из множества ответов Y релевантного заданному запросу из X к задаче поиска на MSW графе.
Пусть заданы элемент и MSW граф х* G X на Y. Задана также вычислимая функция расстояния релевантности между X и Y:
d(x,y)\X XY -> [0, оо)
Задача: найти алгоритм отыскания максимально релевантной точки у* Е Y; ¿(ж* у*) — minyer d(x* у)
Основная идея алгоритма может быть представлена следующим образом. Сначала назначим случайным образом точку у0 в Y - одну из вершин графа MSW, построенного на Y. Найдем расстояние релевантности между этой точкой и х*.
d(x*,y0) = d0
Рассмотрим все вершины графа, являющиеся соседями у0 , и найдем расстояния релевантности до них. Выберем ту вершину, расстояние релевантности до которой от х* минимально. Сравним это расстояние с значением d0: если найденное расстояние меньше, то выбираем новую соответствующую ему вершину за новую начальную точку поиска и повторяем поиск максимально релевантной точки среди ее соседей, если нет, то выбираем точку уо в качестве решения задачи - возвращаем как максимально релевантную запросу Л в данном цикле поиска. После этого выбирается другая случайная точка уо в Y, и процесс поиска повторяется. Число случайных поисков может быть выбрано заранее или определяться адаптивно в зависимости от разброса найденных. Среди всех найденных точек локального минимума выбираются те, которые имели минимальное расстояние релевантности, и это подмножество объявляется решением. В большинстве случаев такое подмножество состоит из единственного элемента и в этом случае найденное решение строго соответствует поставленной задаче.
Запишем алгоритм формально в виде программного псевдокода: Greedy_Search(q: object, yenter_point: object)
1 ycurr < yenter_point;
2 dmin ^ d(x, ycurr); Vnext ^ NIL;
3 foreach yfnend e ycurrgetFriends() do
4 if dfr ^d(x, yfriend) <d min then
5 dmin ^dfr;
6 ynext ^ У friend;
7 if ynext = NIL then return ycurr;
8 else return Greedy_Search(x, ynext);
В приведенном подходе остается неизвестным и принципиально важным вопрос о построении MSW-графа на множестве Y. Очевидно, что поскольку на этом множестве не задана функция метрики, то мы можем назначить ее произвольно. Но также очевидно, что от ее выбора будет сильно зависеть эффективность работы алгоритма. Мы предлагаем здесь выбрать в качестве функции метрики некоторую функцию внутреннего расстояния на Y, индуцированного расстоянием релевантности.
Построение функции внутреннего расстояния, индуцированного расстоянием релевантности
Основная идея подхода состоит в том, что в множестве X некоторым образом выбирается подмножество из M "представительных" элементов, далее называемый базисом в X. Обозначим это подмножество
= {ХВ1>ХВ2> ■■■хвм}
определим для каждой точки из У расстояния релевантности
Ук е у,й(у к,хв¿) = йк¿.V / = 1.М
Назовем полученный для каждого к набор чисел координатами элемента у в системе координат Хв . Таким образом, на множестве У индуцируется координатная сетка размерности М. Теперь определим функцию внутреннего расстояния на У с помощью этой координатной системы, задавая ее значения следующим образом
Такая функция удовлетворяет всем основным аксиомам расстояния, поскольку дает нулевое значение для совпадающих точек в У и положительна для несовпадающих. Мы не будем давать здесь анализ выполнения неравенства треугольника для индуцированной функции расстояния, поскольку это не является существенным для дальнейшего, однако заметим, что при правильном выборе множества Хв введенная функция расстояния удовлетворит всем аксиомам метрики.
Именно введенная таким образом индуцированная исходным отношением релевантности функция расстояния будет использоваться для построения необходимого для эффективного поиска решений графа MSW. На рис. 1 приведена иллюстрация построения координатного пространства и графа на нем.
Обсудим теперь выбор множества Хв . Очевидно, что с вычислительной точки зрения следует выбирать базис в X минимально возможной мощности. Однако, если число элементов базиса мало, то индуцированная им координатная сетка на У будет плохо различать элементы, в том смысле, что координаты всех их окажутся весьма близкими и порождаемая топология на У окажется весьма слабой для построения качественных решений с помощью графа MSW. Число соседей в графе окажется значительным, что приведет к катастрофическому росту вычислительных затрат из-за трудностей нахождения глобального экстремума. В силу весьма слабых предположений о структуре множеств X и У, а также матрицы релевантности, нахождение регулярных методов выбора базиса представляется маловероятным.
Предлагаемый подход основывается на теоретико-системном предположении, что оптимальный базис должен обеспечивать достаточный уровень "разнообразия" координат элементов У, который может быть измерен с помощью значения энтропии системы точек, соответствующих этим элементам в индуцированном координатном пространстве. Выбор базиса тогда может осуществляться итеративным образом, начиная с случайного выбора Хв при достаточно малом размере М, вычисления координат для всех элементов У и оценки энтропии полученной системы точек. Далее базис Хв расширяется, увеличивается значение М, вычисляется энтропия системы точек в новом базисе и сравнивается с предыдущим значением. Правило остановки может быть сформулировано как достижение точки с малым приращением энтропии, подобно тому, как это делают в задачах на адаптацию по минимуму оценки
Рис. 1. Построение координатного пространства на У
ошибки. Вычисление энтропии для множества У с индуцированным внутренним расстоянием производится по формуле
Н в( У) = - ^Р11 о ЯР I
где вероятности оцениваются относительным числом точек из У , попадающих в общую окрестность для каждой из них. Для этого вычисления используется любая из известных программ расчета энтропии системы М-мерных векторов, например [10].
Приведенная процедура выбора базиса Хв является весьма громоздкой, хотя и позволяет найти достаточно хорошую систему координат в У. На практике оказывается возможным получать неплохие результаты при просто случайном выборе М элементов из X, где М следует выбирать большим или равным внутренней размерности X. Далее проиллюстрируем методику выбора базиса и результаты построения MSW-графа на У на примере.
Пример построения системы релевантного выбора на основе предложенного алгоритма
В качестве задачи релевантного выбора рассмотрим подбор релевантного аудиофайла по параметрам исходящего вызова для использования в системе подобной предложенной авторами в патенте [4]. В упрощенной постановке рассмотрим множество Xкак набор двоичных векторов длиной 11, каждый бит которого определяет наличие в исходящем звонке одного из 11 признаков - так называемый фингерпринт вызова.
Таким образом, множество запросов содержит потенциально 211 различающихся элементов. Для обозначения каждого из них можно использовать их нумерацию, т.е. идентифицировать целым числом от 1 до 2048. Пусть для воспроизведения имеется 1024 аудиофайлов образующих множество У, каждый из которых мы будем обозначать просто целым числом от 1 до 1024 или представлять 10-мерным двоичным вектором. Для нахождения значения функции расстояния релевантности между элементами множеств X и У будем использовать тестовую функцию
йОк.Уп) = |к2 - 2 кп + п2 - 1 4 6к - 1 4 6п + 53 28|
Отметим, что для такой функции существует набор целых значений к и п, для которых расстояние обращается в нуль, и этот факт будет использован при тестировании алгоритма.
к = 73г2 + 145г + 72 п = 73г2 — t; t = 0,1,2,...
На рис. 2 показан типичный фрагмент графика такой функции расстояния в непрерывных координатах.
X
Рис. 2. График функции расстояния релевантности в непрерывных координатах
Выберем из множества X базис
— I = 0,1, 2
Найдем координаты точек из У по этому трехмерному базису
у* = |22 * - 2 *+1 п + п2 - 1 46 *2* - 1 46п + 53 28| / = 1,. . . 1 2 ; п = 1,... 1 0 24
Например, для первой получаем
^=(5036,4891,4607).
Располагая координатами точек в У можно построить MSW-граф. Фрагмент этого графа изображен на рис. 3.
Рис. 3. Фрагмент MSW графа для примера
С помощью программы Metrized Small World Prototype (http://www.meralabs. com/en/downloads/) было произведено нахождение максимально релевантных точек в Y для нескольких заданных запросов из X. Напомним, что для такого поиска потребовалось количество вычислений функции расстояния существенно меньше размера Y. При этом часть запросов была взята с заведомо единичной релевантностью. В табл. 1 приведены результаты экспериментов.
Таблица 1
Нахождение максимально релевантных точек в У для нескольких заданных запросов из X
#X 10 122 290 402 654 1164 1820
#Y1 137 6 654 818 290 654 1022
#Y2 138 7 653 817 291 655 1022
#Y3 136 5 655 819 289 653 1021
#Y4 139 8 652 822 292 656 1020
d(x,y 1) 5 96 0 264 0 0 227200
d(x,y2) 104 281 581 421 873 1165 227200
d(x,y3) 112 475 583 951 875 1167 228943
d(x,y4) 215 656 1160 3024 1744 2328 230688
Как следует из анализа табл. 1, алгоритм находит четыре кандидата на роль максимально релевантного ответа, среди которых всегда находится точное значение, обеспечивающее нулевое значение функции расстояния релевантности, если такой ответ существует. Как видно, при достижении последнего элемента из множества ответов значения расстояния перестают меняться, и для всех остальных запросов при заданной функции расстояния максимально релевантным считается последний по счету ответ.
Для сравнения полностью аналогичный эксперимент был проведен для иного выбора базиса. Если взять в качестве базиса единственную точку с номером 1, т.е. формировать одномерное пространство У , то результаты будут выглядеть следующим образом (табл. 2).
Таблица 2
Нахождение максимально релевантных точек в Y для запросов из X.
#X 10 122 290 402 654 1164
#Y1 149 6 654 818 290 654
#Y2 150 7 653 817 291 655
#Y3 151 5 655 819 289 653
#Y4 152 8 652 822 292 656
d(x,y1) 1435 96 0 264 0 0
d(x,y2) 1568 281 581 421 873 1165
d(x,y3) 1703 475 583 951 875 1167
d(x,y4) 1840 656 1160 3024 1744 2326
Некоторые ответы при таком примитивном выборе базиса находятся хуже, однако все опорные решения, для которых значение функции расстояния равно нулю оказываются определенными верно. На этом примере было проведено несколько подобных вычислительных экспериментов. В экспериментах изучалось влияние выбора базиса и его размерности на полноту найденных решений. Обнаружилось, что случайный выбор элементов из X всегда дает лучшие результаты, чем регулярный. Для данного примера существенное увеличение размерности слабо влияет на результат, что свидетельствует о низкой внутренней размерности задачи (близкой к единице).
Выводы
В работе представлен весьма эффективный метод поиска максимально релевантных элементов для произвольных метрических отношений между парой конечных множеств, что представляет актуальную задачу для многих приложений, связанных, например, с рекомендациями и рекламным таргетированием. Основной идеей метода является выделение в множестве запросов некоторого базисного подмножества и наделение множества ответов координатной системой, которая строится путем ассоциации расстояний релевантности до каждого из элементов базиса с проекциями точек из множества ответов.
Далее полученное координатное пространство рассматривается как эвклидово и на нем строится граф метризованного тесного мира. С помощью этого графа удается сократить вычислительную сложность поиска релевантного элемента в У в пределе до логарифмической (при большом размере У).
Проведенные численные эксперименты подтвердили эффективность предложенного в статье эвристического метода. С точки зрения теории дискретной оптимизации в работе удалось построить эффективный метод оснащения множества поиска топологией (системой окрестностей для каждой точки) для решения задачи нахождения элемента, минимизирующего заданную двухместную функцию. В качестве направления будущей работы представляет интерес получить более строгое обоснование для выбора базисного подмножества в X, используя алгебраическую структуру матрицы расстояний релевантности, поскольку ее столбцы являются координатами каждого из элементов У.
Библиографический список
1. Передерий, В.И. Математические модели и алгоритмы принятия релевантных решений / В.И. Передерий, А.П. Еременко. 2008. №2(22).
2. Ковалев, М.М. Дискретная оптимизация. Целочисленное программирование / М.М. Ковалев. - М.: Едиториал УРСС, 2003. - 192 с.
3. Пат. на изобретение RU 2461879 - Способ доставки целевой рекламы и/или информации абоненту посредством инфокоммуникативных сетей и система для его осуществления / Пономарев, Д.М., Крылов В.В., Бритвина Е.В.
4. Pavel Zezula, Similarity Search: The Metric Space Approach, 2005, New York, NY 10013,USA: Springer. - 220 pp.
5. Savage, J.E., Models of Computation. Exploring the Power of ComputingAddison-Pub., 1998. - 672 pp.
6. Krylov, V.V., Logvinov A.A., Ponomarenko A.A., Ponomarev D.M. ,Single-attribute Distributed Metrized Small World Data Structure, IEEE, 2009 Eigth IEEE/ACIS International Conference on Computer and Information Science / 1-3 june 2009/ Shanghai, China.
7. Krylov,V.V., Logvinov A.A., Ponomarenko A.A. Malkov Y.A., Metrized Small World Approach for Nearest Neighbor Search SYRCoSE, 12-13, Ekaterinburg, May, 2011.
8. Krylov, V.V., Logvinov A.A., Ponomarenko A.A. Malkov, Scalable Distributed Algorithm for Approximate Nearest Neighbor Search Problem in High Dimensional General Metric Spaces, Similarity Search and Applications, 5th International Conference, SISAP-2012, Toronto, ON, Canada, August, 2012, Proceedings.
9 Y. Hu, Y. Wang, D. Li, S. Havlin, and Z. Di, Physical Review Letters, Possible Origin of Efficient Navigation in SmallWorlds, 106, 108701 (2011).
Дата поступления в редакцию 06.052013
E.V. Britvina1, V.V. Krylov 1, U.A. Malkov 2
RELEVANCE MAXIMIZING ALGORITHM BASED ON GRAPH DATA MODEL
Nizhny Novgorod state technical university n.a. R.E. Alexeev1, Institute of Applied Physics of the Russian Academy of Sciences2
The article describes an algorithm for finding the most relevant element in a finite set of answers. The search is performed on a finite set of queries and with a given relevancy function which has significantly lower computational complexity than exhaustive search. To achieve the performance goal we created a relevance function induced coordinate system on the set of answers and, subsequently, created a metrized small world graph on its basis. The computer simulations we performed confirmed the validity of the proposed heuristic algorithm. The planned application of this method is the creation of a targeted advertisement system for telecommunication systems with connection path establishment.
Key words: graph data model based, relevance maximizing algorithm.