Рассмотрим вопросы практического наполнения каталога. В связи с тем, что количество организаций, работающих в той или иной конкретной области науки, а также журналов, публикующих статьи соответствующей тематики, как правило, довольно невелико, задача первичного поиска и каталогизации научных ресурсов (прежде всего, сайтов научно-исследовательских институтов и электронных версий журналов) не представляет большой сложности для специалиста, активно работающего в данной области науки. Однако полноценное удовлетворение информационных потребностей пользователя возможно лишь при каталогизации отдельных документов, в частности, персональных страниц и статей. Так как в большинстве случаев интернет-публикация представляет собой html-страницу с аннотацией статьи, на которой имеется ссылка на полный текст в графическом формате, например pdf или ps, то под статьей мы будем далее понимать как полнотекстовую версию (в формате html), так и аннотацию статьи.
Трудоемкость процесса каталогизации отдельных документов приводит к необходимости его частичной автоматизации. При этом возникает необходимости решения следующих задач:
Нами был предложен следующий алгоритм решения этих задач. Шаблон веб-страницы, необходимый для автоматического выделения основных метаданных документа, в каждом конкретном случае создается сравнительно легко с использованием того или иного языка регулярных выражений, например Regex, однако проблема заключается в том, что разные сайты имеют сильно различающуюся структуру описания и представления документов. Поэтому нами разработан и реализован в виде веб-интерфейса алгоритм, позволяющий пользователю, не владеющему языками обработки регулярных выражений, генерировать шаблоны для различных сайтов. В основе алгоритма лежит использование регулярных выражений в формате RegEx с использованием PHP. Пользователю-каталогизатору достаточно занести в поля формы тэги, окружающие в html-коде документа значения каждого из метаданных одного документа данного сайта (рис. reffig:bar-kli), после чего создается и сохраняется шаблон веб-страницы сайта. Надежность данного алгоритма особенно высока в случае автоматической верстки веб-страниц, когда их структура практически однородна.
Далее пользователь-каталогизатор вводит url-адрес, задает уровень вложенности ссылок и указывает шаблон веб-страницы данного сайта. По url-адресу документа скачивается веб-страница, которая разбирается с использованием регулярных выражений по шаблону, соответствующему данному сайту. Полученная информация заносится в библиографическую базу данных.
Особенно важен этап классификации документов, прежде всего, публикаций, так как ценность библиографического описания статьи, лишенного классификационных признаков, минимальна. К сожалению, далеко не все журналы требуют от авторов указывать классификационные признаки. И даже в тех случаях, когда эти признаки указаны, классификатор, используемый журналом, может не соответствовать классификатору каталога. Так, в некоторых математических журналах используется классификатор УДК, в то время как в международном математическом сообществе более распространен классификатор MSC2000 (о причинах предпочтительности MSC2000 перед УДК см., например, [6]).
Разумеется, наиболее качественно решить задачу классификации может эксперт-человек, поэтому, прежде всего, следует проверить, не внесена ли информация о полиграфической версии статьи в библиографическую базу данных удаленного доступа. Так, в среде математиков очень популярна база данных журнала ``Zentralblatt MATH'', содержащая более 2 миллионов записей. Статью в этой базе можно однозначно идентифицировать по автору (фамилия на английском языке), ISSN, номеру журнала и страницам, на которых расположена статья.
Для обращения к этой базе данных с целью получения классификационных признаков статьи автоматически формируется строка запроса к серверу ``Zentralblatt MATH'', использующая уже извлеченные с веб-страницы журнала библиографические данные. При наличии запрошенной статьи в базе данных, сервер выдает страницу с описанием данной статьи, на которой присутствуют, среди прочих библиографических данных, классификационные коды по классификатору MSC2000 и ключевые слова на английском языке. Обработка скачанной страницы, то есть извлечение классификационных признаков статьи, производится с помощью регулярных выражений в формате RegEx, а также с помощью функций PHP. Если же поиск в базе данных ``Zentralblatt MATH'' успехом не увенчался, то на классифицируемой странице проводится поиск ключевых слов с использованием тезауруса и определение преобладающего множества слов.
Наконец, если при обработке страницы с описанием документа часть информации не была обработана или была обработана неправильно (например, если при верстке исходной веб-страницы были допущены ошибки), может возникнуть необходимость добавления и модификации информации о документах, которые ранее уже были занесены в базу данных. С этой целью создано веб-приложение, которое позволяет как добавлять новые записи в базу данных, так и модифицировать существующие: проводится проверка наличия адреса в базе данных и если он есть, то информация только обновляется, если же такого url-адреса в базе нет, то в базу заносится новая запись.
Разработанный алгоритм применен для наполнения информационных систем ``Портал математических ресурсов MathTree'' и ''Математика в личностях'', представленных на портале СО РАН (см. раздел 6.).