Информатика, вычислительная техника и управление. Приборостроение. Метрология. Информационно-измерительные приборы и системы
УДК 004.912 Макаров Владимир Александрович,
аспирант, Иркутский государственный университет путей сообщения,
тел. 89500625747, [email protected] Молчанова Елена Ивановна, д. т. н., профессор, Иркутский государственный университет путей сообщения,
тел. 89148788778, [email protected]
МОДЕЛЬ ПРОЦЕССА СЕМАНТИЧЕСКОГО ПОИСКА
В ВЕБ-ПРОСТРАНСТВЕ
V.A. Makarov, E.I. Molchanova
MODEL OF THE PROCESS OF SEMANTIC SEARCH
IN THE WEB
Аннотация. Статья рассматривает проблемы современных поисковых систем. Предлагаются поисковая система и система построения запросов, основанные на семантической модели веб-страницы.
Ключевые слова: поисковая система, интеллектуальный анализ данных.
Abstract. This report consides the problems of modern web search engines. We propose a web search engine and query building system based on semantic web page model.
Keywords: web search, data mining.
Введение
Поиск информации в Интернете является не только самой распространенной, но и вместе с тем одной из самых сложных задач, с которыми приходится сталкиваться в Сети любому пользователю. Огромные объемы информации в сети Интернет зачастую приводят к тому, что количество объектов, выдаваемых по запросу пользователя, очень велико. Это затрудняет процесс обзора результатов и выбора наиболее подходящих материалов из множества найденных.
Основной проблемой современных поисковых систем является то, что из-за фактически устаревшей модели поиска они не могут обеспечить качественный поиск информации. Дело в том, что большинство поисковых систем рассматривают веб-страницу как элементарную составляющую структуры веб-пространства. Однако большинство веб-страниц состоят из нескольких слабо связанных между собой (или не связанных вовсе) частей. Например, на странице может быть размещена основная статья, последние новости и реклама. Каждый из этих информационных блоков имеет свою собственную смысловую составляющую и, как следствие, может рассматриваться как отдельный документ.
Постановка задачи информационного поиска
Пусть нам даны два множества, M и N. Множество N является множеством объектов поиска. Из элементов этого множества составляются информационные массивы, среди которых производится поиск нужных объектов. Элементы множества N будем называть записями. Множество X будем называть множеством запросов, а его элементы - запросами. Пусть на декартовом произведении M*N задано бинарное отношение р, то есть задано некое подмножество R ç M*N. Отношение р будем называть отношением поиска.
Тройку S= (m , N, р^ будем называть типом задач информационного поиска.
Тройку I = (м, V, pj , где V - некоторое конечное подмножество множества Y, в дальнейшем называемое библиотекой, будем называть задачей информационного поиска. Задача I = {M, V, р)
состоит в перечислении для произвольно взятого запроса m е M всех тех и только тех записей из V, которые состоят в отношении р с запросом m.
Для решения поставленной задачи предложено в качестве объектов информационного поиска (V) использовать не сами веб-страницы, а семантические блоки, из которых состоят вебстраницы.
Семантическая модель веб-страницы
Анализ существующих веб-страниц показывает, что l-я веб-страница (Pl) может состоять из следующих типов семантических блоков:
TSB = {Info, News, Catalog, Forum, Ad }, (1)
где Info - информационный блок; News - новостной блок; Catalog - каталог; Forum - форум; Ad - реклама.
ИРКУТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ
Введем следующую семантическую модель веб-страницы:
Р = № Я е 7Ж}, (2)
где Яр - степень корреляции между отдельным семантическим блоком и исходным веб-документом, представленная в виде весовой функции.
Модель информационного поиска Для создания модели поиска рассмотрим поиск как многостадийный процесс (рис. 1), в котором х^ представляет собой входной параметр, а и^ - управляющее воздействие.
Рис. 1. Модель информационного поиска
На рис. 1 в работе поисковой системы выделены следующие процессы:
1. Составление поискового образа запроса.
2. Получение результатов поисковой системы.
3. Разбиение страницы на семантические блоки.
4. Кластеризация полученных семантических блоков.
5. Построение аннотаций для полученных кластеров.
6. Выдача результатов пользователю.
Для оценки эффективности информационного поиска введено понятие пертинентности. Пер-тинентность - это соответствие полученной информации информационной потребности пользователя. В работе [1] предприняты попытки количественной оценки этой величины. Для того чтобы предложенная нами модель была эффективной, необходимо достичь максимума величины перти-нентности. С этой целью воспользуемся методами динамического программирования.
Оптимальная стратегия управления многостадийным процессом обладает тем свойством, что каковы бы ни были начальное состояние процесса и управление на первой стадии, последующие управления на всех стадиях должны составлять оптимальную стратегию относительно состояния первой стадии, определяемого начальным состоянием процесса и управлением на первой стадии [2].
В приведенной формулировке принципа оптимальности под оптимальной стратегией ип-1 понимается стратегия управления многостадийным процессом, включающим N 1 последних стадий исходного процесса, придающая критерию оптимальности экстремальное значение.
Опишем стадии предложенной модели информационного поиска с точки зрения динамическо-
го программирования и выделим управляющие воздействия, увеличивающие значение пертинентности.
Составление поискового образа запроса
Система построения запросов генерирует запрос в виде последовательности ключевых слов, соединенных элементами языка построения запросов выбранной поисковой системы.
Обозначим за Fi функцию, которая осуществляет преобразование пользовательского запроса на язык запросов выбранной поисковой системы:
Fi: q ^ Q , (3)
где q - запрос пользователя; Q - сформированный запрос.
Получение результатов поисковой системы
На этом этапе воспользуемся функциями, которые предоставляют существующие поисковые системы (Google, Bing). На вход поисковой системе подается сформированный поисковый запрос, на выходе - получаем список результатов поиска.
Введем F2 - функцию, преобразующую сформированный запрос в последовательность найденных поисковой машиной веб-страниц:
F2: Q ^={F7}, (4)
где P - страница, еще не разбитая на семантические блоки.
Разбиение страницы на семантические блоки
На этом этапе мы используем объектную модель документа (Document Object Model -DOM). Объектная модель документа является стандартом, предложенным веб-консорциумом, и регламентирует способ представления содержимого документа (в частности веб-страницы) в виде набора объектов, то есть html-узлов документа и связей между ними.
Таким образом, мы можем представить документ в виде блоков:
P11 ={h: h е H }, (5)
где H - множество html-объектов.
Для каждого блока вычисляется множество признаков данного блока. Выделены следующие характерные признаки блоков:
1. Общее количество символов.
2. Общее количество слов.
3. Общее количество абзацев.
4. Общее количество изображений.
5. Наличие блоков со сходной структурой.
6. Наличие ключевых слов.
Для каждого типа блока определяем свою функцию принадлежности, которая определяет, к какому типу относится рассматриваемый блок.
Затем введем F3 - функцию, которая выполняет отображение объектной модели веб-страницы в семантическую модель. Отображение может
Информатика, вычислительная техника и управление. Приборостроение. Метрология. Информационно-измерительные приборы и системы
быть частичным или полным. Полное отображение предполагает, что каждому элементу из объектной модели веб-страницы соответствует отдельный семантический блок. В нашем случае, например, элементы, не содержащие текстовой информации, не могут быть отнесены к какому-либо семантическому блоку, поэтому отображение
является частичным.
^ {Р .
(6)
Кластеризация полученных семантических блоков
Целью этого этапа является автоматическое выявление групп семантически похожих блоков среди найденного множества семантических блоков (множество {Р}). В нашей задаче в качестве
множества документов выступают страницы, найденные поисковой машиной.
Каждый из блоков представляется набором слов (или словосочетаний, или других единиц языка). В этом наборе могу встречаться конструкции, которые не должны влиять на результаты поиска: некоторые слова общей лексики, предлоги и другие строки. Имеются также слова, которые непосредственно влияют на отнесение документа в какую-либо категорию, - это термины. Каждый термин является элементарным признаком, множество терминов составляет пространство.
Множество терминов - это множество точек или векторов этого пространства. Координатами точки являются величины значимости каждого термина для данного документа. Величина значимости может оцениваться различными моделями. Часто используются следующие модели оценки значимости [3]:
> Хэммингово расстояние. 0 означает, что термин в данном документе не встречается, 1 -встречается.
^ Частота встречаемости слова.
> Модель TF-IDF.
При кластеризации документов следует стремиться к тому, чтобы схожесть документов, попадающих в кластер, была смысловой. При этом численно схожесть задается следующими способами:
1. Множество документов, значения близости между любыми двумя элементами которого не
меньше определенного порога: й2 (, Х3) > Цт1П, где Х{, X^ е X - множество всех векторных признаков, й2 - эвклидово расстояние.
2. Значение близости между любым документом множества и центром масс кластера не меньше определенного порога, центр масс класте-
ра рассчитывается как среднее арифметическое между всеми документами кластера:
^ = Ш IX,, Р>'| х.еЯ,
где £ е £ - множество всех кластеров.
Для разбиения с заранее неизвестным числом классов критерий качества задают в виде комбинации двух критериев. Одним из них является убывающая (невозрастающая) функция числа классов к и характеризует, как правило, внутриклассовый разброс наблюдений. Второй критерий - это возрастающая (или неубывающая) функция числа классов к. Например, критерий качества можно представить в виде формулы:
( к Л
Ц(£)= Цй2(Х,,X) (ск(£)), (7)
V 3 =1 Х,е£ )
где с - некоторая положительная константа, к(я) - число кластеров при разбиении £.
В нашей работе для кластеризации текстов мы используем метод К-теа^ (К-средних) [4]. В основе этого метода лежит итеративный процесс стабилизации центров масс кластеров. Этот метод был выбран по двум причинам. Во-первых, это низкая вычислительная сложность, а во-вторых, этот метод не нуждается в обучении.
Основная идея метода заключается в том, что на каждой итерации заново вычисляется центр масс для каждого кластера, полученного на предыдущем шаге. Затем векторы разбиваются на кластеры вновь в соответствии с тем, какой из новых центров оказался ближе. Другими словами, алгоритм стремится минимизировать суммарное квадратичное уклонение точек кластеров от центров этих кластеров:
( к Л
Ц (£ )= Ц 2( Х ) , (8)
V 3=1Х, е£ )
где к - число кластеров, £ - полученные кластеры,
- центры масс векторов Х1 е £ .
Алгоритм завершается, когда на какой-то итерации не происходит изменения кластеров. Это происходит за конечное число итераций, так как количество возможных разбиений конечного множества конечно, а на каждом шаге суммарное квадратичное уклонение уменьшается.
Наиболее широко применяемыми оценками качества классификации являются полнота и точность. Полнотой классификации документов по кластеру называют отношение количества доку-
ИРКУТСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ
ментов, правильно приписанных к кластеру, к общему количеству документов в кластере:
| 5' п С1 |
г (5') = J
|C'|
(9)
где C' е S - верное разбиение множества документов 5 на кластеры Ci.
Точность классификации документов по кластеру вычисляется как отношение количества документов, правильно приписанных к кластеру, к общему количеству документов, приписанных к данному кластеру:
г(S') = |S' ^ C 1 . (ig)
| S' |
При проверке качества работы нашего классификатора за верное разбиение C' е S принималось разбиение, полученное классификатором SVN-light [7]. При этом точность классификации составила 72,6 %, а полнота 83,5 %.
F4 - функция преобразует множество разбитых на семантические блоки страниц в группы кластеризованных блоков:
F4 : P ^ {Sfo , Sforum , Scatalog , Sad , Snews } , (11)
где Smfo - множество кластеров по информационным блокам; Sfrum - множество кластеров по форумам; Scatalog - множество полученных кластеров по каталогам; SAd - множество полученных кластеров по рекламным блокам; Snews - множество полученных кластеров по новостным блокам.
Построение аннотаций для полученных кластеров
После того как мы разбили информационные блоки на кластеры, необходимо для каждого кластера построить аннотацию. Исходя из соображений практической применимости, к формируемым аннотациям предъявляется два дополнительных требования:
1. Фрагменты текста, включаемые в аннотацию, должны быть короткими фразами, содержащими 2 3 слова. В противном случае при употреблении в аннотациях развернутых предложений восприятие результата кластеризации будет затруднено.
2. Форма, в которой записан фрагмент, включаемый в аннотацию, не должна предполагать наличия контекста.
Для каждого кластера необходимо сформировать списки ключевых многословных терминов, имеющих наибольшую информационную значимость для кластера. Каждое слово термина представлено канонической формой. Под канонической формой подразумевается неизменяемая часть
слова, которая выражает его лексическое значение. Для выделения основы слова используется алгоритм Портера [9].
Для генерации аннотаций мы используем подход, в соответствии с которым в качестве аннотаций выбираются фрагменты текстов из заданного кластера. Таким образом, реальный синтез связанного текста не выполняется, а задача сводится к поиску текстового фрагмента, наиболее релевантного для всего кластера. В таком случае синтаксическая связанность аннотации гарантируется, поскольку полагается, что обрабатываемые тексты содержат связанные фрагменты [10].
Задача данного этапа - из всех встречающихся в тексте терминов выбрать наиболее предпочтительный. Поскольку желательно избегать употребления терминов из одних кластеров в аннотациях к другим, необходимо применять более строгие санкции к терминам, которые встречаются более чем в одном кластере. Более того, предпочтение следует отдавать терминам, имеющим равномерное распределение в текстах кластера, т. е. следует избегать включения в аннотацию терминов, встречающихся часто в одном документе кластера и редко - в другом. Также важно поощрять термины, покрывающие наибольшее число документов кластера.
Для этого мы рассматриваем весь кластер как один большой текст и к этому тексту применяем критерий TF-IDF. Предложена следующая модификация функции TF-IDF [3,4], оценивающая предпочтительность термина для включения его в аннотацию:
Pt =-
ft N Dt
(12)
I /] N
где 1 - частота употребления термина ' в текстах кластера Бь - частота употребления /-го термина в текстах кластера Бь N - количество кластеров, N - количество кластеров, в которых встречается термин Я' - количество документов в кластере 51, в которых встречается термин В1 - количество документов в кластере 51.
Таким образом, из всех терминов кластера отбирается единственный, с максимальным значением предпочтительности р'. Аннотацией кластера объявляется фрагмент текста, связанный с данным термином.
Выдача результатов пользователю На этом этапе полученные кластеры, аннотации к кластерам и список результатов поиска
Информатика, вычислительная техника и управление. Приборостроение. Метрология. Информационно-измерительные приборы и системы
выводится пользователю. Пользователь может выбрать интересующий его кластер либо, используя построенные аннотации для кластеров, уточнить свой запрос.
Реализация
Разработка выполнена на языке программирования С#, с использованием фреймворка .NET 3.5. Рассмотрим пример работы системы построения запросов, представленный на рис. 2.
В данном случае первые 200 страниц, найденные поисковой системой по запросу «apple» разбивались на 6 категорий. Для каждой из этих категорий была построена аннотация. Пользователь может мышкой выбрать интересующую его категорию, при этом поиск будет осуществлен заново.
В центральной ячейке пользователь может изменить запрос, при этом найденные поисковой машиной веб-страницы будут заново разбиты на смысловые блоки, полученные блоки кластеризованы, и для каждого кластера будет построена аннотация.
Apple
Apple designs and creates ¡Pod and ¡Tunes, Mac laptop and desktop computers, the OS X operating system, and the revolirtionary ¡Phone and ¡Pad,
Official Apple Store - Buy the new ¡Pad. Apple W. ¡Phone. Mac...
Рис. 2. Система построения запросов
Результаты
В результате проведенных исследований предложены, реализованы и имеют научную новизну следующие положения:
^ Модель веб-страницы, основанная на выделении основных семантических блоков.
> Модель информационного поиска, представленная в виде многостадийного процесса.
> Методы, реализующие по предложенной модели поэтапный анализ текста произвольных веб-страниц: извлечение словарных объектов, формирование контента документа в виде семан-
тической сети объектов, кластеризация документов по смысловому признаку, автоматическое построение аннотации для построенных кластеров документов.
> Программное обеспечение, предназначенное для кластеризации и ранжирования вебстраниц, автоматического построения аннотаций, а так же интерфейс системы построения запросов.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Гасанов Э. Э. Функционально-сетевые базы данных и сверхбыстрые алгоритмы поиска // М. 1997, 60 с.
2. Терехов А. А. Разработка методов и инструментальных средств повышения пертинентно-сти поиска в современных информационных средах : дис. ... к-та техн. наук. М., 2010. 126 с.
3. Agarwal P. K. and Procopiuc C. M. Exact and Approximation Algorithms for Clustering // Proc. Ninth Ann. ACM-SIAM Symp. Discrete Algorithms. 1998. С. 658-667.
4. Jain A., Murty M., Flynn P. Data Clustering: A Review // ACM Computing Surveys. 1999. Т. 31. С. 264-323.
5. Kamvar S. D., Haveliwala T. H., Golub G. H. Adaptive Methods for the Computation of PageRank // Lin. Alg. Appl. 2004. Т.386. С. 51-65.
6. Amit S. Modern Information Retrieval: A Brief Overview // IEEE Data Engineering Bulletin. 2001. Т. 24. С. 35-43.
7. Joachims Т. Training Linear SVMs in Linear Time //
ACM SIGKDD International Conference On Knowledge Discovery and Data Mining (KDD). 2006. С.217-226.
8. Андреев А. М. , Березкин Д. В., Симаков К. В. Обучение морфологического анализатора на большой электронной коллекции текстовых документов // Электронные библиотеки: перспективные методы и технологии, электронные коллекции: труды Седьмой всерос. науч. конф. Ярославль : Ярослав. гос. ун-т, 2005. С. 173-181.
9. Porter M. F.: An Algorithm for Stripping // Programm. 1980. Т. 14. № 3 Р. 130-137.
10. Erdmann M., Maedche A., Schnurr H., Staab S.: From Manual to Semi-automatic Semantic Annotation: About Ontology-based Text Annotation Tools // Proceedings of the COLING 2000 Workshop on Semantic Annotation and Intelligent Content. 2000. Р.94-112.