Классика баз данных - статьи

       

Поиск в «Глубокой Паутине» (Deep Web)


Джаянт Мадхаван и Элон Хэлеви

«Глубокой Паутиной» называется контент, доступный только через HTML-формы. Чтобы получить Web-страницу из Deep Web, пользователь должен заполнить поля некоторой формы допустимыми входными значениями. Поскольку поисковые агенты для обнаружения Web-страниц полагаются, прежде всего, на гиперссылки, они не могут достичь страниц Глубокой Паутины, и, следовательно, эти страницы остаются не проиндексированными поисковыми машинами. Глубокая Паутина является существенной брешью в зоне действия поисковых машин, и многие люди считают, что в Deep Web содержится намного больше данных, чем во Всемирной Паутине, доступной для поиска в настоящее время. В Глубокую Паутину входит много высококачественных сайтов, в частности, системы поиска магазинов (store locator) и правительственные сайты. Поэтому исследователи хотели бы расширить зону действия поисковой машины Google, включив в нее Web-страницы из Deep Web.

Имеются два взаимодополняющих подхода к обеспечению доступа к контенту Глубокой Паутины. Первый подход, опирающийся, по сути, на интеграцию данных, состоит в создании вертикальных поисковых машин для конкретных прикладных областей (например, автомашины, книги, недвижимость). При применении этого подхода можно было бы создать для данной предметной области некоторую форму-посредника (mediator form) и производить семантические отображения между отдельными источниками данных и этой формой-посредником. В масштабе Web этот подход страдает несколькими недостатками. Во-первых, требуются большие расходы на построение и поддержку форм-посредников, а также на осуществление отображений. Во-вторых, исключительно сложной проблемой является определение по запросу на основе ключевых слов релевантной предметной области и форм внутри этой области. Наконец, даже если не говорить о наличии многих разных языков, во Всемирной Паутине содержатся данные обо всем на свете, границы предметных областей четко не определены, и создание схемы-посредника для всего на свете будет громадной проблемой.


При применении второго подхода, иногда называемого подходом выявления скрытого контента (surfacing approach), производится предварительное вычисление наиболее уместных вариантов заполнения форм для всех интересных HTML-форм. После этого результирующие URL могут быть проиндексированы подобно любым другим страницам HTML. Важно то, что этот подход позволяет использовать существующую инфраструктуру поисковых машин и, следовательно, допускает органичное включение страниц Глубокой Паутины в результаты поиска в Web. По этим причинам исследователи Google предпочитают опираться на подход выявления скрытого контента. Целью авторов является привлечение нового трафика к сайтам Deep Web, которые до сих пор посещались только в тех случаях, когда люди знали о соответствующих формах, или сами формы появлялись в результатах поиска. Поэтому не слишком существенно получить от этих сайтов ответы на все возможные заполненные формы, достаточно получить столько результатов, чтобы их хватило для увеличения трафика. Кроме того, предварительно вычисленные варианты форм способствуют дальнейшему раскрытию соответствующего сайта: после индексирования начального набора страниц система просмотра страниц Web-сайтов будет автоматически использовать информацию о внутренней структуре сайта для обнаружения других страниц, представляющих интерес.

В Google разрабатывается система обнаружения скрытого контента, которая уже помогла расширить область действия поискового индекса Web-страницами, полученными на основе более миллиона HTML-форм. Имеется возможность выполнения более тысячи запросов в секунду от поисковой страницы Google.com к контенту Глубокой Паутины.

При разработке своего решения авторам пришлось преодолеть несколько проблем. Во-первых, в большом количестве форм имеются поля для ввода текста, и требуется предоставить допустимые вводные данные. Поэтому система должна подобрать для заполнения формы такие варианты наборов значений, которые позволят обнаружить наиболее полезные результирующие страницы.


Для решения этой проблемы используется комбинация двух подходов. Для поисковых полей, в которых, главным образом, допускается ввод ключевых слов, возможные ключевые слова подбираются на основе анализа содержимого уже проиндексированных страниц данного Web-сайта. Для типизированных текстовых полей, в которых допускается ввод только правильно определенного набора значений, разработчики стремятся сопоставить тип текстового поля с библиотекой типов, наиболее распространенных в различных прикладных областях, например, с почтовыми индексами США.

Во-вторых, в HTML-формах обычно имеется несколько полей для ввода данных, и поэтому простая стратегия перебора полного Декартова произведения всех возможных вариантов ввода данных в каждое поле может привести к генерации очень большого числа URL. Потребность в обходе слишком большого количества URL приведет к перерасходу ресурсов обходчика Web поисковой машины, а также создаст чрезмерную нагрузку для Web-серверов, поддерживающих HTML-формы. Интересно, что при больших размерах Декартова произведения подача многих заполненных форм приводит к пустому результату, бесполезному с точки зрения индексирования. Например, в поисковой форме сайта cars.com имеется пять полей ввода данных, и при использовании подхода с Декартовым произведением появится более 200 миллионов URL, хотя в продаже на cars.com имеется всего 650000 автомашин. Авторы разработали алгоритм, который разумным образом обходит пространство поиска всех возможных вариантов заполнения формы для определения подмножества вариантов, которые, вероятно, окажутся полезными для индекса поисковой машины. В среднем для каждой формы генерируется несколько сотен вариантов заполнения. Кроме того, авторы полагают, что число генерируемых вариантов заполнения формы должно быть пропорционально размеру базы данных, на которую опирается соответствующий сайт, а не числу полей ввода и потенциально возможных вариантов их заполнения.

В-третьих, решения должны масштабироваться и не зависеть от прикладной области.


В Web имеются миллионы потенциально полезных форм. Для любой заданной формы можно было бы привлечь эксперта, который вручную определил бы наилучшие варианты ее заполнения, но такое решение не было бы масштабируемым. Целью авторов являлось нахождение полностью автоматического решения, которое можно было бы применить к любой Web-форме на любом языке и в любой прикладной области. В настоящее время разработанная система может работать более чем с миллионом форм, представленных на более чем 50 языках и относящихся к сотням прикладных областей.

Индексировались только информационные сайты с формами. Принимались меры предосторожности во избежание любых форм, для которых требуется какая-либо персональная информация, и/или которые могут обладать какими-либо побочными эффектами. Например, не анализировались формы, в которых используется метод POST, требуется ввод паролей или содержатся такие ключевые слова, как username, login и т.д.

Хотя при использовании метода выявления скрытого контента генерируется значительный трафик к сайтам Глубокой Паутины, остается большое число форм, автоматический анализ которых представляет серьезную проблему. Например, во многих формах активизируются события JavaScript при наличии тегов onselect и onsubmit, что позволяет выполнять произвольный код JavaScript. Такие ситуации являются камнем преткновения для автоматического анализа.

Кроме того, во многих формах имеются взаимосвязанные входные данные, и для доступа к таким сайтам требуется корректно (и автоматически) определить базовые зависимости между этими данными. Эффективное решение этих и других проблем в масштабе миллионов сайтов является частью продолжающейся работы авторов по обеспечению большей доступности Глубокой Паутины для пользователей поисковых машин. В заключение авторы отмечают, что еще одним механизмом, позволяющим контент-провайдерам предоставить поисковым машинам списки URL и XML-файлы и, тем самым, раскрыть содержимое Глубокой Паутины, являются карты сайтов. Сегодня во всех основных поисковых машинах поддерживается протокол карт сайтов, описанный на сайте www.sitemaps.org.Контент, обеспечиваемый картами сайтов, дополняет контент, автоматически обнаруживаемый с помощью методов, описанных в этом разделе статьи.


Содержание раздела