Исследователи, студенты, ученые, библиотекари, журналисты и аналитики должны быть в курсе исследований, проводимых в конкретных областях во всем мире, — анализ научных публикаций позволяет оценить качество и достоверность результатов исследований, помогает находить актуальные работы и данные по определенной тематике, дает возможность выявить тенденции и направления развития науки. Точность и актуальность сведений о проводимых во всем мире исследованиях призваны обеспечить системы автоматизированного сбора метаданных публикаций для цифровых репозиториев. Автоматизированный сбор метаданных позволяет формировать релевантные поисковые запросы, что ускоряет поиск необходимой информации. Автоматическое извлечение метаданных исключает ошибки, связанные с ручным вводом данных, и позволяет получить более точную и полную информацию о публикациях. Все это дает возможность экономить ресурсы на обработку и анализ данных, а также снижает затраты на ввод и обработку данных.
Система автоматизированного сбора метаданных публикаций извлекает требуемые метаданные из внешних источников, передает их в цифровой репозиторий, где они могут быть доступны для безопасного хранения, поиска и использования разными группами пользователей. Сегодня имеется ряд систем автоматизированного сбора научных публикаций и цифровых репозиториев: PubMed, IEEE Xplore, Scopus, Web of Science, Elibrary (РИНЦ) и пр., охватывающих множество различных дисциплин и предлагающих различные возможности для поиска и анализа публикаций. Все подобные системы предоставляют доступ к своим метаданным [1] и, таким образом, могут использоваться в качестве внешних источников данных для цифровых репозиториев, развернутых в вузах, НИИ, и т. д. Использование внешних источников может помочь в обогащении метаданных и их качественной аналитике.
Кроме этого существует множество цифровых репозиториев [2] с открытым исходным кодом (Dspace, Eprints, Invenio и др.), предоставляющих средства хранения, управления и распространения цифровых объектов: статьи, книги, архивные материалы, графики, фотографии и др. Каждый такой репозиторий имеет свои особенности, возможности и недостатки, среди которых можно отметить ограниченный функционал автоматического сбора метаданных, требующий, например, вручную заполнять метаданные при добавлении новых цифровых объектов. Для публикации результатов исследования, обмена научными идеями, отчетами, диссертациями и другими цифровыми материалами научная общественность широко использует репозиторий Dspace, однако этот репозиторий предлагает весьма бедный функционал автоматического сбора метаданных.
Имеются также гибкие и мощные инструменты, предоставляющие широкий набор средств и методов для извлечения данных с сайтов: Beautiful Soup, Scrapy, Selenium, PySpider, Apache Nutch и др., но главный их недостаток — использование технологии «пауков» (сканеров, ботов, роботов), автоматически сканирующих сайты и ссылки на них, извлекающих требуемые данные и сохраняющих их для последующего использования. Однако некоторые сайты устанавливают защиту от подобных «пауков» и не все такие инструменты могут работать с большим объемом данных, а также обрабатывать запросы по временным отрезкам, так как предназначены для сбора лишь оперативных сведений. Кроме того, данные программы часто требуют сложной настройки для работы с определенными типами данных или структурами веб-сайтов.
Требуется решение, позволяющее автоматизировать процесс сбора метаданных из различных источников, работающее с любыми цифровыми репозиториями независимо от их версии. Такое решение должно поддерживать интеграцию с базами данных, веб-сайтами, API и т. д., предоставляя средства автоматического извлечения и анализа метаданных и их проверки на соответствие заданным правилам и стандартам используемого цифрового репозитория. Например, обеспечивая проверку корректности заполнения обязательных полей метаданных и их соответствие конкретному стандарту (например, Dublin Core). Такие проверки метаданных важны всем участникам процесса работы с цифровым репозиторием, позволяя обеспечить эффективное использование информационных ресурсов и непротиворечивую организацию данных.
Решение должно обеспечивать эффективную и быструю обработку больших объемов метаданных из различных источников. Кроме этого важно, чтобы соответствующая система имела встроенные механизмы автоматической проверки качества данных для исключения ошибок и несоответствий в собранных метаданных.
Такое решение должно уметь работать с API внешних источников (InspireHEP, Elibrary, Scopus), а сбор метаданных и полных текстов публикаций должен осуществляться по правилам, определенным администрацией ресурса-источника, что позволяет избежать блокировок и прочих проблем доступа. Важной возможностью по обеспечению соблюдения ограничений и правил использования данных является регулирование частоты запросов, позволяющее исключать блокировки и ограничения со стороны внешних источников для более плавной и стабильной работы цифрового репозитория в целом.
Также подобное решение должно обеспечивать получение максимально полного объема метаданных. Например, в отличие от «пауков», некоторые метаданные могут быть получены только через API и не отображаются на веб-странице ресурса.
Важную роль играет также база данных уникальных публикаций, сформированная на основе запросов к внешним источникам. Публикации, полученные из внешних источников, автоматически скачиваются, сравниваются между собой с целью поиска дублей и вносятся в базу данных уникальных публикаций. Также производится коррекция уже внесенных публикаций. Все это позволяет собрать и систематизировать публикации до их импорта в цифровой репозиторий, а также дополнять и изменять уже существующие в репозитории публикации.
Всем перечисленным требованиям призван соответствовать программный комплекс ОИЯИ для автоматизированного сбора, получения и систематизации публикаций.
Программный комплекс представляет собой набор инструментов и программных модулей для сбора информации, ее анализа и хранения. Он включает в себя средства для обработки больших объемов данных, работы с базами данных и пр. Автоматизированный сбор метаданных публикаций позволяет автоматически собирать и структурировать информацию о публикациях, что облегчает ее поиск, обеспечивая формирование более точных запросов, чем сделанных вручную. Это также помогает улучшить качество данных и экономит время и ресурсы.
В качестве платформы цифрового репозитория была выбрана система DSpace, в которой за счет использования Apache Solr достаточно эффективно реализована функция автоматической индексации и присвоения тегов к загруженным публикациям.
После того как данные проиндексированы, можно использовать индекс для анализа содержимого статей и автоматического создания тегов на основе ключевых слов, тем и характеристик статей.
Программный комплекс включает в себя следующие компоненты:
- специальные алгоритмы «Сборщики», осуществляющие сбор и хранение метаданных публикаций из различных источников по временным отрезкам, в зависимости от возможностей API внешних источников;
- алгоритмы и модули, систематизирующие полученные данные и размещающие их в базе данных;
- база данных для хранения систематизированных метаданных публикаций;
- алгоритмы актуализации и коррекции полученных данных.
База данных построена на СУБД PostgreSQL [3], что обеспечивает хорошую масштабируемость и адаптируемость к конкретным потребностям, что важно для автоматизированного сбора метаданных из множества различных источников данных.
Рис. 1. Схема работы программного комплекса |
Сборщики получают метаданные публикаций из внешних источников, таких как Elibrary, Scopus и InspareHEP (рис. 1). Сбор данных осуществляется через API путем отправки запросов к ресурсу и получения ответа в формате JSON, XML или других, требующих дальнейшей обработки или преобразования. Кроме того, сборщики извлекают полные тексты публикаций в формате pdf при их наличии.
Для каждого источника, с учетом его политики доступа, разработан собственный сборщик, позволяющий получать, хранить, актуализировать и корректировать метаданные публикаций. Каждый сборщик помещает полученные метаданные в отдельную базу данных, что позволяет логически организовать данные, упростить управление ими и поиск, а также помогает избежать пересечений и конфликтов данных из различных источников.
Структура базы данных для источника метаданных предельно проста, одинакова для всех источников метаданных и позволяет формировать быстрые запросы к базе данных, что в свою очередь увеличивает производительность и эффективность работы. Можно выбирать нужные данные, фильтровать их, сортировать, удалять, агрегировать и объединять для получения нужных результатов.
Рис. 2. Алгоритм создания уникальной публикации |
Публикации из баз данных источников сравниваются между собой на предмет идентичности, систематизируются и помещаются в отдельную базу данных (рис. 2):
- выполняется поиск публикаций из разных источников, но с одинаковым цифровым идентификатором научной публикации (DOI);
- найденные публикации сравниваются между собой и объединяются для того, чтобы получить запись с наиболее полным набором метаданных;
- полученная уникальная публикация записывается в базу данных;
- аналогичные действия проводятся для идентификаторов публикаций arXiv и Scopus id;
- если публикации из разных источников не совпали между собой по идентификаторам публикаций (DOI, arXiv, Scopus id), то выполняется поиск публикаций с одинаковым названием;
- публикации с совпавшим названием также сравниваются, объединяются и записываются в базу данных уникальных публикаций.
В различных источниках одни и те же публикации могут появляться в разное время, поэтому реализован алгоритм коррекции уже записанных публикаций для исключения дублирования, а также насыщения метаданных публикаций, уже находящихся в базе данных. Алгоритм коррекции работает следующим образом:
- если в метаданных уникальной публикации отсутствует идентификатор публикации (id) какого-либо источника, то эта публикация сравнивается по DOI, arXiv, Scopus id и названию с публикацией из того источника, чей id отсутствует;
- если произошло совпадение по одному из параметров, то данная уникальная публикация отправляется на коррекцию;
- в уникальную публикацию добавляются недостающие метаданные, полученные из внешнего источника;
- все изменения вносятся в базу данных.
***
Программный комплекс для автоматизированного сбора, получения и систематизации публикаций позволяет настраивать сбор метаданных к требованиям источников данных и необходимых отрезков времени, что позволяет оптимизировать размер получаемых данных и повысить эффективность работы с ними. Данный программный комплекс обеспечивает систематизацию и классификацию публикаций, а также позволяет упростить и ускорить работу цифровых репозиториев. Сейчас программный комплекс работает в режиме опытной эксплуатации в составе цифровой экосистемы ОИЯИ на открытой платформе цифровых репозиториев Dspace.
Литература
1. Телло-Родригес М., Очаран-Эрнандес Х. О., Перес-Арриага Х. К., Лимон К., Санчес-Гарсия А. Х. Путеводитель по проектированию удобных Web-API. Труды ИСП РАН. 2021; 1 (33): 173–188. https://doi.org/10.15514/ISPRAS-2021-33(1)-12
2. Filozova I. A. et al. Установка и оценка производительности системы DSpace. Современные информационные технологии и ИТ-образование, [S.l.], v. 19, n. 3, oct. 2023. ISSN 2411-1473. http://sitito.cs.msu.ru/index.php/SITITO/article/view/1000
3. Стоунз М, Нейл Р. PostgreSQL. Основы. — М.: СПб: Символ-Плюс, 2019. — 640 c.
Андрей Кондратьев (kondratyev@jinr.ru) – инженер-программист, Алексей Бондяков (aleksey@jinr.ru) – инженер-программист, Объединенный институт ядерных исследований (Дубна).