УДК 004.942
В.С. Салин, С.В. Папшев, А.А. Сытник
ПОСТРОЕНИЕ СЕМАНТИЧЕСКИХ КЛАСТЕРОВ ГИПЕРТЕКСТОВОЙ СТРУКТУРЫ НА ОСНОВЕ СТАТИСТИКИ ПЕРЕХОДОВ ПОЛЬЗОВАТЕЛЕЙ ПО ГИПЕРССЫЛКАМ
Многие современные подходы к анализу и обработке данных в Вебе применяют кластеризацию веб-документов по различным признакам, включая их семантическую близость. В статье предложен подход к построению семантических кластеров в гипертекстовой структуре на основе внутренних связей и статистике переходов пользователей по ним. Метод BorderFlow используется для кластеризации взвешенного графа гипертекста, веса которого формируются из статистики переходов пользователей между узлами.
Гипертекстовая структура, семантическая кластеризация, анализ данных, веб-аналитика, графовая модель
V.S. Salin, S.V. Papshev, A.A. Sytnik
CONSTRUCTING SEMANTIC CLUSTERS OF THE HYPERTEXT STRUCTURE ON THE BASIS OF THE STATISTICS OF USER TRANSITIONS BETWEEN HYPERLINKS
Various modern approaches to data analysis and processing in Web are using clustering of web documents by different attributes, including their semantic similarity. In this paper, we present an approach to semantic clusters construction in hypertext structure, based on information about hyperlinks between documents and statistics of user transitions between them. BorderFlow method is used for clustering weighted graph of hypertext structure, which weights are defined from collected statistics of user transitions.
Hypertext structure, semantic clustering, data analysis, web analytics, graph
model
Введение
Кластеризация документов по различным признакам является важным этапом многих задач поиска, анализа и обработки неструктурированной информации, представленной в Интернете. При работе со значительными объемами информации, кластеризация позволяет применять групповые методы анализа (индексация, поиск ключевых слов, поиск релевантных страниц и т.д.) сразу к коллекции схожих по выбранному признаку документов.
Семантическая кластеризация веб-страниц, то есть выделение близких по семантике документов в кластеры, актуальна в различных приложениях поиска и интеллектуального анализа данных, таких как распознавание шаблонов, извлечение ключевых слов [21]. Группировка семантически связанных страниц лежит в основе рекомендательных алгоритмов и адаптивных интерфейсов, которые могут «подсказывать» пользователю наиболее релевантные для него страницы. Также, определение кластеров близких по теме страниц используется в веб-аналитике и поисковой оптимизации, веб-разработке и реинжиниринге. Подробный обзор по данной проблематике представлен в работе [10].
Обычно кластеризация документов построена на методах статистического анализа текста или медиаконтента. В таких случаях, она разбивается на два этапа - индексация, с выявлением термов для дальнейшего анализа, и собственно кластеризация на основании общих термов между страницами.
Реализация таких методов имеет определенные сложности: необходимость предварительной индексации, высокое время выполнения при больших объемах текстов, с другой стороны - необходимость в наличии минимального объема текста с релевантными ключевыми словами.
В данной работе для определения кластеров семантически близких страниц предлагается использовать не анализ содержимого страниц, а информацию о гипертекстовых связях между страницами совместно с данными о переходах пользователей между страницами. Мы исходим из гипотезы, что страницы, теснее связанные друг с другом, имеют общую тематику, с одной стороны. С другой, мы предполагаем, что при навигации по веб-сайту, его пользователи придерживаются определенных 192
интересов и выбирают страницы схожей тематики, соответствующие их информационным запросам. Совместное применение обеих гипотез составляет общий подход к построению семантических кластеров в гипертекстовой структуре, без применения тяжеловесного анализа содержимого страниц.
Для моделирования связей между страницами гипертекстовой структуры веб-сайта, мы ставим ей в соответствие ориентированный граф, к которому возможно применить соответствующий алгоритм кластеризации, построенный на данной гипотезе. Одним из известных таких алгоритмов является BorderFlow [13], который собирает в кластер те узлы графа, между которыми больше внутренних связей, чем внешних с другими узлами. Алгоритм BorderFlow опирается на веса в графе, для получения которых мы обращаемся к системе сбора статистики переходов. Кластеризация полученного взвешенного ориентированного графа даёт на выходе группы семантически связанных страниц.
В первой части данной статьи рассматриваются известные результаты исследований в областях кластеризации и извлечения информации. Во второй части, приводится построение графовой модели гипертекста и подход к получению весов за счет использования статистики посещений; для полученного графа продемонстрированно применение кластеризации графа методом BorderFlow. Далее, показано различие между статистическим анализом текстов одиночных документов и кластеров документов и то, как кластеризация может влиять на эффективность поиска ключевых слов.
Исследования в области кластеризации и извлечения информации
Задача семантической кластеризации, как задача извлечения информации (Information Extraction), относится к области исследования Web Data Extraction (WDE). Обзор существующих систем WDE и их прикладного применения в различных сферах дан в [7]. В частности, авторы выделяют два вида веб-приложений - социальные и для предприятий. Данное исследование позволяет понять в целом техники, применяемые в области WDE, а также демонстрирует примеры возможных вариантов применения. Однако, в данной работе авторы не углубляются во внутренние технические особенности работы WDE систем, поэтому информации о применяемых подходах к кластеризации и их использования для задач WDE в исследовании не представлено.
Другой интересной работой в области WDE является [5], сконцентрированная в основном на обзоре техник, применяемых в данной области. Здесь авторы различают два основных типа техник -первая основана на определении шаблона (wrapper/template induction), вторая - на автоматическом извлечении данных. В задаче определения шаблона, методы кластеризации используются для подтверждения, что полученные кластеры не пересекаются (т.е. одна страница не может входить сразу в два различных кластера одновременно). Очевидно, только один шаблон должен быть определен для конкретной страницы.
В различных системах, кластеризация веб-страниц построена на различных их свойствах. Например, в [4] авторы используют кластеризацию на основе путей в древовидной DOM-структуре веб-страниц, при этом пути в дереве определяются на основе анализа веб-сайта и журнала его посещений. В [1] представлен подход извлечения информации EXALG, который проводит кластеризацию веб-страниц по классам эквивалентности, определяемых наборами маркеров (токенов). Подход EXALG является практическим примером применения подхода определения шаблона без учителя. Основное различие между подходами к кластеризации, упомянутыми выше, и данной работой в том, что предлагаемый подход к кластеризации веб-страниц основан на данных о гипертекстовой структуре веб-сайта и информации о связях между страницами.
Другой смежной областью исследования для рассматриваемой задачи является построение онтологий (Ontology Learning). В [17] описывается извлечение данных из частично структурированных источников, которое используется в проектах DBpedia [2], YAGO [15] и KOG [20]. Все три проекта направлены на извлечение информации из Википедии и построение онтологий, которые поддерживают конструирование запросов (к примеру, SPARQL) и автоматизированный поиск ответов. Там же, рассматриваются системы, разработанные для извлечения информации с различных вебстраниц в Интернете: OntoUSP [14], NELL [3] и SOFIE [16]. Данные системы, построенные на основе методов обработки естественного языка (Natural Language Processing) в веб-документах, используют различные подходы, однако не применяют кластеризацию веб-страниц в своих задачах.
В русле содержания данной работы представляют интерес также различные инструменты извлечения ключевых слов из текста. Основанная на генетических алгоритмах система GenEx [19] использует правила извлечения по 12 параметрам и обучена на примерах нескольких веб-сайтов. Алгоритм извлечения ключевых фраз KEA [9] базируется на машинном обучении на основе наивного байесовского классификатора и может обучаться быстрее, чем GenEx. В нем также поддерживаются стоп-слова, стемминг и различные особенности представления ключевых слов, однако в целом отли-
193
чия КЕА и ОепБх несущественны. Существуют различные модификации КЕА: например, в [18] и [11] добавлена поддержка особенностей веб-сайтов. В [12] добавлены в КЕА семантические данные из Википедии и новую модель классификации. Другие решения для извлечения ключевых слов, как например БКРго [6], построены на базе алгоритмов ШМА [8]. Используя разработанные подходы, БКРго позволяет искать, фильтровать и ранжировать ключевые слова.
В целом, рассмотренные методы решают частные и смежные задачи в области семантической кластеризации, однако поиск эффективных методов семантической кластеризации остается актуальным.
Применение метода BorderFlow к графу гипертекста с дополнительными весами
В данном разделе мы рассматриваем графовую модель гипертекстовых структур как основу для построения семантически связанных кластеров, показываем подход к получению весов для графа из статистики посещений, а также демонстрируем применимость метода BorderFlow к взвешенному графу гипертекстовой структуры.
Пусть дана гипертекстовая структура Н = {Р,Ь}, состоящая из множества гипертекстовых страниц Р = {р1( ...,рп} и множества гиперссылок между ними Ь = {/ | Зр1,р2 £ Р : р1(р2 £ /(р1;р2)}. Так как гиперссылки имеют направленный характер, то Ур1(р2 £ Р, /(р1;р2) ф /(р2,р1).
Поставим данной структуре в соответствие орграф б = {V, Е}, в котором V - множество вершин графа, Е - множество его ребер. Заметим, что полученный граф является невзвешенным. Чтобы применить к этому графу алгоритмы для взвешенных графов, допустим, что вес каждого ребра равен единице. Тогда получим следующий граф: б = {V, Е, ш}, где для любых х,у £ V ш(х,у) = 1.
Дополнительные веса в графе гипертекста на основе статистики посещений
Выше мы рассмотрели базовый граф гипертекста, в котором веса всех ребер одинаковы и равны единице. В таком случае мы полагаемся лишь на гипертекстовые связи между узлами, которые в частных случаях (при сильно связанном графе или, наоборот, при слабых связях) могут не давать наглядной картины для выявления семантически близких страниц.
В качестве источника данных для выставления весов между узлами, возьмем статистику переходов между страницами веб-сайта. Статистика посещений может быть получена различными способами: в простом случае, это может быть журнал посещений веб-сайта; также существуют более сложные программные системы сбора и анализа статистики, которые предоставляют программный интерфейс доступа к данным и поддерживают язык запросов.
Имея статистику посещений, определим вес ребра ш(х, у) как количество переходов с одной веб-страницы на другую, которым соответствуют узлы х, у. В случае, если переходов между страницами не было, установим ш(х, у) = 0. Повторяя процедуру для всех узлов, получим взвешенный ориентированный граф, в котором веса показывают основные потоки пользователей на веб-сайте.
Кластеризация гипертекста методом BorderFlow
Суть метода BorderFlow состоит в следующем. Для заданного графа б = {V, Е, ш}, выделяется некое подмножество вершин V, для которого определяются функции:
1) ¿(X) = {х £ X |Уу £ V : ш(х, у) > 0 ^ у £ X} - задает внутренние вершины
2) %(Х) = {х £ X |3у £ V\X : ш(х, у) > 0} - задает пограничные вершины
3) п(Х) = {у £ V\X |3х £ X : ш(х, у) > 0} - задает непосредственно соседние вершины
Далее вводится функция П, которая будет определять суммарный вес ребер, исходящих из одного подмножества V в другое его подмножество: П^, )) = 2+£х,у£.ш(х,у). При помощи данной функции следующим образом определяется ключевое отношение /(X) для выбранного подмножества X с V:
= п^тд) = ^адд)
( ) П^^^УО П(Ь(X),n(х))
В качестве кластера X определяется такое подмножество множества V, которое содержит максимальное количество элементов, которое будет максимизировать отношение /(X):
VX' с V, VI < X: X' = X + 1 ^ /(X0) < /(X)
Алгоритм BorderFlow основан на итеративном выборе соседних элементов '(X) и добавлением их в X, пока отношение /(X) не станет максимальным.
В результате применения кластеризации по методу BorderFlow, получается множество кластеров X6/ = ^ ...Xfe},Xг с V," £ [1..;] .
Выявление ключевых слов в кластерах документов
Данный метод BorderFlow мы применяем к графу, построенному на основе гипертекстовой структуры сайта. Полученные кластеры документов могут быть использованы для повышения эффективности извлечения ключевых слов в задаче информационного поиска. При оптимальном разбиении на кластеры, частотные характеристики слов, специфичных конкретному домену, повышаются по сравнению с частотами вхождения общеупотребимых слов.
Покажем различие в выделении ключевых слов из одиночных документов и из кластеров документов. Рассмотрим документ =. Опустив порядок слов в нем, мы можем представить его в виде двух множеств: Т? = {@1(..., @п} - множества уникальных слов (лексем), встречающихся в документе и С? = {с1(..., сп} - множества количеств вхождения каждого слова в документ
Определим функцию =), которая определяет частоту вхождения каждого слова @ в документ =:
= (1)
¿1 ч
Образом данной функции будет вес каждого слова в документе:
I? = {Щ ет?: ™1 = 1Г(1Ь(1)} (2) Теперь мы можем определить функцию ;ш(=), которая бы определяла множество ключевых слов для документа =, наиболее статистически достоверно описывающих его содержание:
;ш(=) = е Т? ет?-. wi>w0^t = (3) В данном случае, WQ является пороговым весом, который позволяет отбросить редко встречающиеся слова в документе. Значение данной переменной подбирается эмпирическим путем на основе результатов анализа частот вхождения термов в документах с целью исключения ключевых слов с низкой частотой вхождения.
Результаты отображения функции формируют множество Ткк = kw(d), Ткк с Т?. Пусть для каждого документа определен список релевантных ключевых слов Тге1, полученный при помощи экспертной оценки, который является эталоном
Для каждого документа, будем сопоставлять множества найденных ключевых слов с эталонными множествами. Определим три функции:
Точность: Ргес181оп{Ткк,Тге1) = (4)
\Ткш\
Полнота: КесаИ^Т^) = (5)
\'ге1\
Сбалансированная ^мера: Р(Ткк,ТГед = \еса11(Тки,Тге1)+Ргеа59оп(Тки,Тге1) (6)
Функция F-меры (6) показывает, насколько множество найденных ключевых слов Ткк соответствует эталонному множеству релевантных слов. Очевидно, что максимальное значение данной функции равно единице и достигается при Ткк = Тге1.
Отсюда следует ряд требований к исходному документу, необходимых для достижения максимальной релевантности указанным методом поиска ключевых слов:
1) Тге1 с Т?, т.е. исходный документ должен содержать в себе все релевантные ключевые
слова
2) е Тге1,@пг е Т?\Тге1. > @/(@пг,=), т.е. релевантные ключевые слова должны встречаться чаще любых нерелевантных слов
Очевидно, что далеко не каждый документ может соответствовать указанным требованиям, поскольку в числе релевантных слов могут присутствовать синонимы тех, что встречаются в тексте документа, частота релевантных слов в документе может быть ниже частоты широко распространенных и общеупотребимых слов языка, а также длина документа может быть слишком короткой и не репрезентативной для проведения анализа.
В частном случае, проблемы могут быть решены внесением изменений в сам документ (что иногда невозможно ввиду их большого количества или запрета на их изменение), либо усложнением методики анализа.
Покажем, как данные проблемы могут быть решены без изменения функций статистического анализа 4-6, а также без внесения изменений в исходные документы, при условии, что мы имеем коллекцию документов й.
Пусть задан оператор СФ) = [Ог,... ,йк}, который некоторым образом разбивает коллекцию документов на к подмножеств. Каждое из этих подмножеств состоит в общем случае из нескольких документов: С = [=-,... ,=т},1 е [1..кк].
Объединим все документы подмножества С в один путем последовательной конкатенации текстов каждого из документов. В результате получим документ d', который представим в виде множеств С?' и 7?' через соответствующие множества С? и 7? каждого из исходных документов:
7? = U 7?., 7?. = {ti.....tn},y e [1.. i] (7)
С? = {(Bii + c2i + - + cmi), ..., (cin + c2„ + ••• + cmJ} = {ci, ..., 4} (8)
Выбор той или иной функции группировки страниц, по-своему формирующей коллекцию документов, очевидно, будет приводить к различным значениями 7?' и С?'. Определим критерии эффективности такой функции, исходя из требований к документам (7) и (8) выше, необходимых для максимизации F-меры:
1) >?' должно включать в себя все релевантные ключевые слова
2) Частота вхождения релевантных слов tf (1), рассчитываемая по С?', должна быть выше соответствующей частоты нерелевантных слов
Иными словами, функция группировки должна выбирать документы таким образом, чтобы конкатенация их содержимого: а) содержала как можно больше релевантных ключевых слов, б) частота релевантных слов после конкатенации документов оставалась бы выше частоты нерелевантных.
Рассмотренный выше метод кластеризации графовой модели гипертекста вполне может быть применен для получения разбиений документов, соответствующим гипертекстовым страницам, на кластеры.
Заключение
В статье рассмотрена возможность применения метода кластеризации BorderFlow с учетом весов, полученных из статистики посещений пользователей при разбиении гипертекстовой структуры на группы по принципу семантической близости документов. При кластеризации, данный подход не анализирует содержимое веб-документов, а опирается на графовую модель структуры гипертекста и статистику переходов между узлами в ней. Это позволяет избавиться от предварительного индексирования всех веб-страниц и дополнительно дает возможность анализа документов без текстовой информации.
Рассмотренный подход к кластеризации может быть применен на практике в различных областях, связанных с документами в Вебе. В веб-разработке, подобная кластеризация применяется для построения адаптивных интерфейсов, подсказывающих пользователю релевантные страницы. В веб-поиске, применяется разбиение результатов выдачи на группы по тематикам. В веб-администрировании и реинжиниринге, результаты кластеризации предоставляют данные о структуре веб-сайта и возможных направлениях его реструктуризации. Предложенный метод также может быть использован в веб-аналитике и поисковой оптимизации, с целью анализа кластеров веб-сайта с семантически близкими документами.
Отметим некоторые ограничения рассмотренного в данной работе подхода. Во-первых, применяемая графовая модель соответствует статической гипертекстовой структуре. Если структура вебсайта будет динамической (к примеру, содержать асинхронные AJAX-запросы, добавляющие в процессе навигации в пользователя новые элементы структуры), то предлагаемая графовая модель будет не в полной мере отражать реальную структуру веб-сайта, а значит, применяемый к ней метод Bor-derFlow будет упускать часть информации при кластеризации. Использование более сложной модели позволит снять это ограничение.
Другое ограничение связанно с особенностью работы BorderFlow. Для наиболее эффективной работы метода, желательна высокая вариативность количества ребер между различными узлами графа. Если все узлы обладают примерно одинаковым количеством ребер, то с точки зрения BorderFlow, подобный граф будет сложно разделить на кластеры. Однако стоит отметить, что на практике такая ситуация маловероятна и скорее будет означать, что все страницы действительно сильно связанны друг с другом.
Еще одной важной особенностью является необходимость в наличии статистики посещений страниц веб-сайта пользователями. Современные системы, такие как Google Analytics или Яндекс Метрика, предлагают удобные средства сбора статистики и понятные документированные программные интерфейсы. Однако некоторые веб-сайты могут не использовать счетчики данных инструментов. В таком случае, информация о переходах между страницами может быть получена из журнала доступа к веб-ресурсу, который чаще всего ведется контейнером веб-приложения.
ЛИТЕРАТУРА
1. Arasu A. and Garcia-Molina H. Extracting structured data from web pages [Conference] // Proceedings of the 2003 ACM SIGMOD international conference on Management. - [s.l.] : ACM, 2003. -pp. 337-348. 196
2. Auer S. [и др.] Dbpedia: A nucleus for a web of open data [Статья] // The semantic web. -[б.м.] : Springer, 2007 г.. - стр. 722-735.
3. Carlson A. [и др.] Coupled semi-supervised learning for information extraction [Конференция] // Proceedings of the Third ACM International Conference on Web Search and Data Mining. - New York : ACM, 2010. - стр. 101-110.
4. Chakrabarti D. и Mehta R. The paths more taken: matching dom trees to search logs for accurate webpage clustering [Конференция] // Proceedings of the 19th international conference on World wide web. - [б.м.] : ACM, 2010. - стр. 211-220.
5. Devika K. и Surendran S. An overview of web data extraction techniques [Статья] // International Journal of Scientific Engineering and Technology. - 2013 г.. - 2(4).
6. Erbs N. [и др.] Dkpro keyphrases: Flexible and reusable keyphrase extraction experiments [Статья] // ACL 2014. - 2014 г.. - стр. 31.
7. Ferrara E. [и др.] Web data extraction, applications and techniques: A survey [Статья] // CoRR. - 2012 г..
8. Ferrucci D. и Lally A. Uima: An architectural approach to unstructured information processing in the corporate research environment [Статья] // Nat. Lang. Eng.. - Sept. 2004 г.. - 10(3-4). - стр. 327-348.
9. Frank E. [и др.] Domain-specific keyphrase extraction [Конференция] // Proceedings of the 16th International Joint Conference on Artificial Intelligence. - San Francisco, CA, USA : Morgan Kaufmann Publishers Inc., 1999. - Т. 2. - стр. 668-673.
10. Hollink V., Someren M. и Wielinga B. J. Navigation behavior models for link structure optimization [Статья] // User Model User-Adapted Interaction. - [б.м.] : Springer, 2007 г.. - 4 : Т. 17. - стр. 339-377.
11. Kelleher D. и Luz S. Automatic hypertext keyphrase detection [Конференция] // Proceedings of the 19th International Joint Conference on Artificial Intelligence. - San Francisco, CA, USA : Morgan Kaufmann Publishers Inc., 2005. - стр. 1608-1609.
12. Medelyan O., Frank E. и Witten I. H. Human-competitive tagging using automatic keyphrase extraction [Конференция] // Proceedings of the 2009 Conference on Empirical Methods in Natural Language Processing. - Stroudsburg, PA, USA : Association for Computational Linguistics, 2009. - Т. 3. -стр. 1318-1327.
13. Ngomo A. C. N. и Schumacher F. BorderFlow: A Local Graph Clustering Algorithm for Natural Language Processing [Статья] // Computational Linguistics and Intelligent Text Processing. -[б.м.] : Springer Berlin Heidelberg, 2009 г.. - Т. 5449. - стр. 547-558.
14. Poon H. и Domingos P. Unsupervised ontology induction from text [Конференция] // Proceedings of the 48th Annual Meeting of the Association for Computational Linguistics. - Stroudsburg, PA, USA : Association for Computational Linguistics, 2010. - стр. 296-305.
15. Suchanek F. M., Kasneci G. и Weikum G. Yago: a core of semantic knowledge [Конференция] // Proceedings of the 16th international conference on World Wide Web. - [б.м.] : ACM, 2007. - стр. 697-706.
16. Suchanek F. M., Sozio M. и Weikum G. Sofie: a self-organizing framework for information extraction [Конференция] // Proceedings of the 18th international conference on World wide web. - [б.м.] : ACM, 2009. - стр. 631-640.
17. Suchanek F. Studies on the Semantic Web [Раздел книги] // Information Extraction for Ontology Learning. - Berlin, Germany : Akademische Verlagsgesellschaft - AKA GmbH.
18. Turney P. D. Coherent keyphrase extraction via web mining [Конференция] // Proceedings of the 18th International Joint Conference on Artificial Intelligence. - San Francisco, CA, USA : Morgan Kaufmann Publishers Inc., 2003. - стр. 434-439.
19. Turney P. D. Learning algorithms for keyphrase extraction [Статья] // Inf. Retr.. - May 2000 г.. - 2(4). - стр. 303-336.
20. Wu F. и Weld D. S. Automatically refining the wikipedia infobox ontology [Конференция] // Proceedings of the 17th international conference on World Wide Web. - [б.м.] : ACM, 2008. - стр. 635-644.
21. Сегалович И. В. Как работают поисковые системы [Статья] // Мир Internet. - 2002 г.. -10. - стр. 24-32.
Салин Владимир Сергеевич -
аспирант Саратовского государственного технического университета имени Гагарина Ю.А.
Vladimir S. Salin. Post-graduate student of the department of information systems and technologies, Yuri Gagarin State Technical University of Saratov
Папшев Сергей Владимирович -
кандидат физико-математических наук, доцент кафедры «Информационные системы и технологии» Саратовского государственного технического университета имени Гагарина Ю.А.
Sergey V. Papshev -
PhD, Associate Professor
of the Department of Information Systems
and Technologies
Yuri Gagarin State Technical University of Saratov
Сытник Александр Александрович -
доктор технических наук, профессор, заведующий кафедрой «Информационные системы и технологии» Саратовского государственного технического университета имени Гагарина Ю.А., академик РАЕН
Alexander A. Sytnik -
Dr. Sc., Professor
Head: Department of Information Systems and Technologies
Yuri Gagarin State Technical University of Saratov
Статья поступила в редакцию 11.10.14, принята к опубликованию 25.12.14