Methods and tools for extracting personal data from theses abstracts
The problem of extraction of data about a person from scarce data collection is studied. The data collections are public resources on the internet. When these data are collected and parsed they present additional value for users. Collecting such data is problematic because of it’s weak structure res...
Збережено в:
Дата: | 2019 |
---|---|
Автори: | , |
Формат: | Стаття |
Мова: | rus |
Опубліковано: |
Інститут програмних систем НАН України
2019
|
Теми: | |
Онлайн доступ: | https://pp.isofts.kiev.ua/index.php/ojs1/article/view/359 |
Теги: |
Додати тег
Немає тегів, Будьте першим, хто поставить тег для цього запису!
|
Назва журналу: | Problems in programming |
Завантажити файл: |
Репозитарії
Problems in programmingid |
pp_isofts_kiev_ua-article-359 |
---|---|
record_format |
ojs |
resource_txt_mv |
ppisoftskievua/8b/f4e02bc6f5a11328752f5b9eb8f1978b.pdf |
spelling |
pp_isofts_kiev_ua-article-3592024-04-28T11:02:47Z Methods and tools for extracting personal data from theses abstracts Методы и средства извлечения данных о персоналиях из авторефератов диссертаций Методи і засоби отримання інформації про персоналії з авторефератів дисертацій Kudim, K.A. Proskudina, G.Yu. data extraction; weakly structured documents; XPath technology; regular expressions; semantic web UDC 004.82 извлечение данных; слабоструктурированные документы; технология XPath; регулярные выражения; семантическая сеть УДК 004.82 вилучення даних; слабоструктуровані документи; технологія XPath; регулярні вирази; семантичний веб УДК 004.82 The problem of extraction of data about a person from scarce data collection is studied. The data collections are public resources on the internet. When these data are collected and parsed they present additional value for users. Collecting such data is problematic because of it’s weak structure restrictions. Thus the system is suggested to automate information gathering and parsing. The initial task is to process personal data from thesis documents publicly available on the internet. This data presents information about scientists which can’t be obtained from other sources. The goal is to be able to make requests to the data having its semantics in mind and not only plain text.The prototype system is developed with PHP and XPath able to collect raw documents from digital repository of National Library of Ukraine by V. I. Vernadskiy. The system also extracts data from the collected documents and stores them locally in RDF data model suitable for specific data and for future exposition to the Semantic Web. The collection of more than 63000 documents was processed to test the system. В работе рассмотрены подходы к решению задачи сбора и извлечения разрозненных данных о персона-лиях из слабоструктурированных и неструктурированных документов, представленных в общедоступ-ных каталогах авторефератов диссертаций. На языке PHP с применением XPath разработана система, которая позволяет автоматически собирать первичные документы из электронного каталога Нацио-нальной библиотеки Украины им. В.И. Вернадского, извлекать из этих документов данные и сохранять их в локальном хранилище. Для хранения выбрана модель данных RDF с учётом особенностей данных и возможностью последующего представления в семантической сети. В роботі розглянуті підходи до вирішення завдання збору та вилучення розрізнених даних про персоналії з слабоструктурованих і неструктурованих документів, представлених в загальнодоступних каталогах авторефератів дисертацій. На мові PHP із застосуванням XPath розроблена система, яка дозволяє автоматично збирати первинні документи з електронного каталогу Національної бібліотеки України ім. В. І. Вернадського, витягувати з цих документів дані і зберігати їх в локальному сховищі. Для зберігання обрана модель даних RDF з урахуванням особливостей даних і можливістю подальшого представлення в семантичній мережі. Інститут програмних систем НАН України 2019-06-16 Article Article application/pdf https://pp.isofts.kiev.ua/index.php/ojs1/article/view/359 10.15407/pp2019.02.038 PROBLEMS IN PROGRAMMING; No 2 (2019); 38-46 ПРОБЛЕМЫ ПРОГРАММИРОВАНИЯ; No 2 (2019); 38-46 ПРОБЛЕМИ ПРОГРАМУВАННЯ; No 2 (2019); 38-46 1727-4907 10.15407/pp2019.02 rus https://pp.isofts.kiev.ua/index.php/ojs1/article/view/359/361 Copyright (c) 2019 PROBLEMS IN PROGRAMMING |
institution |
Problems in programming |
baseUrl_str |
https://pp.isofts.kiev.ua/index.php/ojs1/oai |
datestamp_date |
2024-04-28T11:02:47Z |
collection |
OJS |
language |
rus |
topic |
data extraction weakly structured documents XPath technology regular expressions semantic web UDC 004.82 |
spellingShingle |
data extraction weakly structured documents XPath technology regular expressions semantic web UDC 004.82 Kudim, K.A. Proskudina, G.Yu. Methods and tools for extracting personal data from theses abstracts |
topic_facet |
data extraction weakly structured documents XPath technology regular expressions semantic web UDC 004.82 извлечение данных слабоструктурированные документы технология XPath регулярные выражения семантическая сеть УДК 004.82 вилучення даних слабоструктуровані документи технологія XPath регулярні вирази семантичний веб УДК 004.82 |
format |
Article |
author |
Kudim, K.A. Proskudina, G.Yu. |
author_facet |
Kudim, K.A. Proskudina, G.Yu. |
author_sort |
Kudim, K.A. |
title |
Methods and tools for extracting personal data from theses abstracts |
title_short |
Methods and tools for extracting personal data from theses abstracts |
title_full |
Methods and tools for extracting personal data from theses abstracts |
title_fullStr |
Methods and tools for extracting personal data from theses abstracts |
title_full_unstemmed |
Methods and tools for extracting personal data from theses abstracts |
title_sort |
methods and tools for extracting personal data from theses abstracts |
title_alt |
Методы и средства извлечения данных о персоналиях из авторефератов диссертаций Методи і засоби отримання інформації про персоналії з авторефератів дисертацій |
description |
The problem of extraction of data about a person from scarce data collection is studied. The data collections are public resources on the internet. When these data are collected and parsed they present additional value for users. Collecting such data is problematic because of it’s weak structure restrictions. Thus the system is suggested to automate information gathering and parsing. The initial task is to process personal data from thesis documents publicly available on the internet. This data presents information about scientists which can’t be obtained from other sources. The goal is to be able to make requests to the data having its semantics in mind and not only plain text.The prototype system is developed with PHP and XPath able to collect raw documents from digital repository of National Library of Ukraine by V. I. Vernadskiy. The system also extracts data from the collected documents and stores them locally in RDF data model suitable for specific data and for future exposition to the Semantic Web. The collection of more than 63000 documents was processed to test the system. |
publisher |
Інститут програмних систем НАН України |
publishDate |
2019 |
url |
https://pp.isofts.kiev.ua/index.php/ojs1/article/view/359 |
work_keys_str_mv |
AT kudimka methodsandtoolsforextractingpersonaldatafromthesesabstracts AT proskudinagyu methodsandtoolsforextractingpersonaldatafromthesesabstracts AT kudimka metodyisredstvaizvlečeniâdannyhopersonaliâhizavtoreferatovdissertacij AT proskudinagyu metodyisredstvaizvlečeniâdannyhopersonaliâhizavtoreferatovdissertacij AT kudimka metodiízasobiotrimannâínformacíípropersonalíízavtoreferatívdisertacíj AT proskudinagyu metodiízasobiotrimannâínformacíípropersonalíízavtoreferatívdisertacíj |
first_indexed |
2024-09-16T04:08:36Z |
last_indexed |
2024-09-16T04:08:36Z |
_version_ |
1818568461366853632 |
fulltext |
Моделі та засоби систем баз даних і знань
© К.А. Кудим, Г.Ю. Проскудина, 2019
38 ISSN 1727-4907. Проблеми програмування. 2019. № 2
УДК 004.82 https://doi.org/10.15407/pp2019.02.038
К.А. Кудим, Г.Ю. Проскудина
МЕТОДЫ И СРЕДСТВА ИЗВЛЕЧЕНИЯ ДАННЫХ
О ПЕРСОНАЛИЯХ ИЗ АВТОРЕФЕРАТОВ ДИССЕРТАЦИЙ
В работе рассмотрены подходы к решению задачи сбора и извлечения разрозненных данных о персона-
лиях из слабоструктурированных и неструктурированных документов, представленных в общедоступ-
ных каталогах авторефератов диссертаций. На языке PHP с применением XPath разработана система,
которая позволяет автоматически собирать первичные документы из электронного каталога Нацио-
нальной библиотеки Украины им. В.И. Вернадского, извлекать из этих документов данные и сохранять
их в локальном хранилище. Для хранения выбрана модель данных RDF с учётом особенностей данных
и возможностью последующего представления в семантической сети.
Ключевые слова: извлечение данных, слабоструктурированные документы, технология XPath, регу-
лярные выражения, семантическая сеть.
Введение
В настоящее время в Интернете до-
ступен большой объём разрозненной пуб-
личной информации о персоналиях, не
представленной явно, а содержащийся в
документах и электронных каталогах как
дополнительные сведения. Например, све-
дения об учёных защитивших диссерта-
цию могут быть найдены в авторефератах
диссертаций.
В собранном виде эти данные могут
представлять ценность как независимый
ресурс. Однако сбор таких данных затруд-
нён как из-за количества информации для
обработки, так и по причине её слабой
структурированности. Учитывая данное
обстоятельство предлагается автоматизи-
ровать сбор и извлечение фактов о персо-
налиях из общедоступных источников, в
частности из авторефератов диссертаций.
В качестве ресурса для реализации
прототипа был выбран электронный ката-
лог авторефератов диссертаций Нацио-
нальной библиотеки Украины им. В.И. Вер-
надского.
1. Постановка задачи
Некоторое время, занимаясь созда-
нием электронной большой Украинской
Энциклопедии, в частности, Википедии и
семантической Вики, мы обнаружили про-
ект Викидата [1] и начали подробно изу-
чать этот проект.
Что это такое в целом? Известно,
что Википедия представляет собой боль-
шую коллекцию статей, которые наполня-
ются пользователями в довольно произ-
вольной форме. В настоящее время суще-
ствует параллельный проект Викидата, где
реализована попытка представить инфор-
мацию Википедии только исключительно
в структурированном виде. Причем так,
чтобы ее можно было обрабатывать как
машиной, так и человеком.
Почему такая проблема возникла?
Дело в том, что в Википедии есть много
языковых разделов (несколько десятков), и
некоторая информация дублируется в каж-
дом языковом разделе абсолютно иден-
тично. Например, у каждой статьи есть
список ссылок на ту же статью на других
языках. И этот список в каждом языковом
разделе будет один и тот же. Но в каждом
языковом разделе, будут другие пользова-
тели, которые редактируют эти списки.
Так в Википедии появились боты, которые
сами обновляют эти списки. А в проекте
Викидата все решается просто – есть одно
централизованное хранилище, которые
хранит общие данные, а каждая языковая
Википедия может вставлять эти данные на
свои страницы. Можно сказать, что Вики-
дата это база данных, где хранятся не про-
сто статьи, а структурированные данные.
Причем эти данные настолько подробные,
что из них можно генерировать статьи, по-
добные википедийным.
На рис. 1 приведен пример статьи,
которая сгенерирована по данным [2]. Это
не статья, которую набирал человек. При
https://doi.org/10.15407/pp2019.02.038
Моделі та засоби систем баз даних і знань
39
этом ее сделали человеко-читаемой. Здесь
есть краткая биография И.С. Баха, когда
родился, когда умер, основные факты из
биографии. Далее перечислены родители,
дети. Весь этот сгенерированный контент
берется из базы данных Викидата. Здесь
также есть аудио, видео и графический
контент, относящийся в биографии этого
композитора, который берется из некото-
рых других централизованных источников
информации соответствующего типа.
Рис. 1. Автоматически сгенерированная
страница о И.С. Бахе
Викидата это – отдельный центра-
лизованный проект со своей администра-
цией и своими правилами. Например, на
него распространяются правила википе-
дийной значимости. Нельзя заносить в
базу данных Викидата любые объекты
подряд. Например, мы не можем заносить
туда своих кандидатов наук, если это по
мнению администраторов Викидата не
выдающиеся ученые. Или какие-то зна-
чимые для нас статьи, которые не значи-
мые для Википедии, также туда попасть
не могут. Это первый момент, второй –
это доступ. Для того, чтобы полноценно
использовать базу Викидата, предлагается
ее полностью скачать (а база данных Ви-
кидата предоставляет такую возможность)
и установить себе. То есть централизо-
ванно базу данных Викидата использо-
вать не эффективно.
Мы также задались вопросом, а
можем ли мы найти в Интернете список
всех ученых Украины, например, кандида-
тов и докторов наук? В настоящее время
таких списков, централизованных нет, по
крайней мере, мы не смогли их найти. И
так, чтобы они были общедоступными.
Некоторые ресурсы предоставляют списки
докторов наук, а списков кандидатов наук
вообще нет.
На основании вышеизложенного, по
аналогии с проектом Викидата, принято
решение о создании собственной центра-
лизованной базы данных Персоналии, ру-
ководствуясь следующими принципами:
- максимальное включение;
- публичные данные;
- источники информации: откры-
тые, авторитетные и проверяемые;
- используется структурирован-
ное хранение (например, в формате RDF).
Таким образом в базу Персоналии,
можно включать не только значимых пер-
сон, а всех персон, о которых есть публич-
ная информация в Интернете, не нарушив
ее приватности. Это могут быть ученые,
кандидаты и доктора наук, это могут быть
чиновники, врачи, учителя, сотрудники
различных бюджетных организаций. Сюда
можно добавлять всех, о ком, что-либо из-
вестно.
В Википедии считают, что, напри-
мер, географический объект имеет право
быть включенным в Википедию. Людей
это не касается. И нередко в Википедии
случаются диспуты по поводу персон, ко-
торые кому-то кажутся значимыми и их
хотят включить в Википедию, а другой ча-
сти сообщества эти персоны кажутся не
значимыми, и они стараются удалять ста-
тьи о таких персонах. Нередко ведутся це-
лые споры и пожизненные блокировки.
Как говорят в Википедии, используется
имманентная значимость.
Источники кого-то включить в базу
данных Персоналии должны быть, как и в
Википедии авторитетными, нельзя со
своих слов кого-то включить. Обязательно
должно быть подтверждение, и это должно
быть доступное подтверждение. Информа-
ция должна размещаться на авторитетном
ресурсе, принадлежащем организации к
которой есть доверие всех участников.
Предполагается, что в базу данных
Персоналии будет вноситься открытая и
Моделі та засоби систем баз даних і знань
40
достоверная информация обо всех людях
Украины, но на первом этапе, ограничить-
ся учеными Украины.
В итоге принято решение сохранить
преимущество базы данных Викидата,
чтобы хранилище оставалось структури-
рованным, а не в виде хранилища доку-
ментов. Поскольку к структурированному
хранилищу можно осуществлять запросы.
2. Сбор данных
Далее возник вопрос наполнения.
Естественно вручную не реально напол-
нять такую базу данных. В этом мы убеди-
лись, наполняя статьями нашу Библиотеку
Периодических изданий
1
. Ручной ввод ин-
формации – весьма трудозатратное заня-
тие. Даже когда доступны все материалы,
введение в электронную библиотеку од-
ного элемента данных занимает некоторое
время (3–5 минут), умножая на то количе-
ство данных, которое надо ввести, получа-
ем около тысячи часов. Поэтому нас будет
интересовать именно автоматическое
наполнение.
В качестве авторитетного источни-
ка (или исходных) данных был выбран
сайт Национальной библиотеки Украины
им. В.И. Вернадского, в части хранения
авторефератов диссертаций
2
. На сегодня
предоставляется открытый доступ к авто-
рефератам всех диссертаций, защищенных
в Украине за период 1998–2011 гг. Пред-
ставлены они довольно просто: есть ката-
лог и есть полные тексты авторефератов.
Там имеется более 63 тыс. документов. И
есть в каталоге некоторые об этих доку-
ментах сведения, которые можно полу-
чить, не анализируя сами документы.
Осуществив навигацию по интер-
фейсу сайта Библиотеки им. В.И. Вернад-
ского, было обнаружено, что у них есть
навигация новых поступлений (рис. 2).
Можно выбрать год и месяц и получить
поступления не на этот месяц и год, а про-
сто закачанные в этот месяц и год. Но для
нас это неважно, главное, что мы получаем
полный список авторефератов диссерта-
ций.
1
http://dspace.nbuv.gov.ua
2
http://nbuv.gov.ua/node/1539
Рис. 2. Навигация новых поступлений на
сайте Национальной библиотеки Украины
им. В.И. Вернадского
Был написан специальный скрипт,
который эту навигацию делает автомати-
чески. Начиная с 2007 года, когда они
начали закачивать файлы, по 2012 год, об-
ходит все месяцы. Таким образом были
получены результаты поиска в html-
формате, из которых следует уже извле-
кать первые данные.
На рис. 3. показано, как выглядит
один элемент результата поиска. Это неко-
торая информация об автореферате дис-
сертации.
Рис. 3. Библиографическая карточка авто-
реферата диссертации
Для сбора первичных данных из
электронного каталога используется поис-
ковый робот (веб-краулер), который обхо-
дит страницы по навигационным ссылкам
и сохраняет доступную информацию в ло-
кальном хранилище в необработанном ви-
де. Поскольку поисковый робот не являет-
ся универсальным и выборочно сохраняет
http://nbuv.gov.ua/node/1539
Моделі та засоби систем баз даних і знань
41
только необходимую для последующей
обработки информацию, то для каждого
электронного каталога (источника данных)
алгоритм обхода страниц по ссылкам дол-
жен быть адаптирован.
Локально копируется информация
двух видов: HTML страницы и полные
тексты авторефератов. Сохраненные
HTML страницы используются поисковым
роботом для дальнейшей навигации по
страницам, а также для дальнейшей обра-
ботки, поскольку содержат также полез-
ную информацию о документах. Полные
тексты представлены файлами различных
форматов, таких как PDF, RTF, DOC, ко-
торые сохраняются в оригинальном виде
для последующей обработки.
После того, как все страницы ре-
зультатов поиска были сохранены, были
также закачаны все полные тексты. Их
оказалось довольно много, как уже гово-
рилось выше, более 63 тыс. авторефератов,
что в общей сложности заняло 8.5 Гб.
Поисковый робот написан на PHP.
Чтобы облегчить задачу адаптации про-
граммы под конкретный каталог, все
вспомогательные функции вынесены из
основной части. Обнаружение и извлече-
ние ссылок для перехода на следующие
страницы осуществляется с помощью язы-
ка XPath.
XPath является лаконичным языком
для поиска узлов в XML документах, в
частности им можно обрабатывать HTML
страницы. Его использование позволяет
сократить затраты на адаптацию алгоритма
под разные ресурсы.
3. Обработка HTML страниц
Поскольку страницы, такие как
html или xml, можно отнести к сла-
боструктурированным данным, где нет
строгих типов, как в реляционных базах, и
дерево может ветвиться очень по-
разному. Извлечение нужных данных из
корпуса таких страниц может осуществ-
ляться разными способами:
- c помощью регулярных выра-
жений
3
;
3
Язык регулярных выражений, основанный на ав-
томатах, для поиска подстрок в тексте.
- навигацией по объектной моде-
ли документа (DOM);
- с помощью языка XPath;
- с использованием селекторов
CSS.
Остановимся на них несколько по-
дробнее. Как известно, регулярные выра-
жения используются для формализации
поисковых запросов в тексте. Регулярные
выражения обладают известными недо-
статками. При достаточной сложности ре-
гулярного выражения (а при парсинге html
возникают достаточно сложные регуляр-
ные выражения), они становятся очень
трудно поддерживаемыми. Если страничка
незначительно меняется, регулярное вы-
ражение приходится чуть ли не полностью
переписывать. Их трудно понять другому
человеку, не тому, кто их писал. И самое
главное – они игнорируют структуру html,
и рассматривают документ, просто как
плоский текст. А html – структурирован-
ный текст, и почему бы этим не восполь-
зоваться.
Есть и другая возможность разбора
html, используя объектную модель доку-
мента, как это делают браузеры, которые
используют структуру DOM для отобра-
жения документа. То есть на языке про-
граммирования входить в эту структуру и
выбирать нужные узлы. Недостаток такого
способа извлечения данных – слишком
громоздко и зависимо от языка. Это также
трудно поддерживать, поскольку опять же,
если структура странички изменится, то
придется переделывать и код программы.
Поэтому для решения поставленной
задачи наиболее предпочтительным ока-
зался язык для поиска выражений в xml-
структурах. Называется этот язык XPath
(икс-путь). Расшифровывается как xml path
language, т. е. язык xml-путей. Он исполь-
зуется во многих стандартах xml. В отли-
чие от регулярных выражений он позволя-
ет писать запросы не как к плоскому тек-
сту, а как к дереву. При этом запросы по-
лучаются достаточно простыми. Подмно-
жества этого языка – селекторы CSS. Это
тоже удобный инструмент, еще проще, чем
язык XPath, но XPath – мощнее. Поэтому
далее более подробно рассмотрим этот
язык.
Моделі та засоби систем баз даних і знань
42
Как уже было сказано выше, XPath
– язык для навигации по xml-документу.
Если в xml-документе необходимо найти
какой-нибудь узел, то это можно сделать,
либо обходом xml-дерева, либо просто
воспользоваться готовым языком. Он поз-
воляет небольшим выражением найти все
узлы, которые соответствуют определен-
ным критериям: по имени, по атрибуту уз-
ла и по другим условиям, по которым нам
хотелось бы искать эти узлы.
XPath – весьма популярный язык,
является стандартом консорциума W3C с
1999 года. Он лежит в основе многих дру-
гих стандартов XML (рис. 4). Такие,
например, как XQuery – очень мощный
язык не только запросов к большим кол-
лекциям xml-документов, но и есть полно-
ценным языком программирования. В по-
следние годы наблюдается перенос
XQuery в языки программирования, на нем
можно писать даже сайты, как на PHP,
только в основе лежит XML.
Рис. 4. Язык XPath как основа других XML
стандартов консорциума W3C
Выражения XPath представляют со-
бой некоторый путь. Например, на рис. 5.
показаны html-узлы, где путь в корне
tr/td/a – строка таблицы, потом ячейка таб-
лицы, потом ссылка. То есть для того что-
бы найти все ссылки документа, которые
лежат в ячейках таблицы, можно написать
такой простой запрос. Для сравнения мож-
но представить, сколько бы занимал обход
дерева на каком-нибудь языке программи-
рования или каким бы регулярным выра-
жением пришлось бы отыскивать все такие
ссылки.
Рис. 5. Основы языка XPath
Путь разбивается на шаги, каждый
шаг представляет собой некий узел в дере-
ве xml-разбора (в нашем случае html-
разбора). Каждый шаг делится на ось, по
которой происходит поиск. Ось это – либо
дочерние узлы, либо родительские узлы,
либо атрибуты, либо соседние с данным
узлом узлы. Вторая часть шага – проверка
узла, т. е. осуществляется поиск всех уз-
лов, совпадающие с tr, строкой таблицы.
В итоге третья часть шага – один или не-
сколько предикатов, которые еще больше
сужают область поиска. Например, если
внутри узла у нас должен содержаться
текст ‘a’, то можно написать следующий
предикат: [text()=’a’], дополнительно
фильтрующий множество найденных уз-
лов.
Также в XPath определено много
дополнительных функций, которые позво-
ляют вычислять позицию этого узла, а
также есть много строковых и арифмети-
ческих функций. Есть также операции, ко-
торые позволяют объединять результаты,
пропускать узлы в дереве, вплоть до до-
черних. И что важно, XPath осуществляет
поиск, начиная не обязательно от корня, а
от любого узла в дереве, если ему задан
контекст, в котором искать.
С помощью этих не хитрых воз-
можностей можно делать весьма сложные
запросы к html-документам. Вот несколько
примеров. На рис. 6 приведены фрагменты
Моделі та засоби систем баз даних і знань
43
скрипта, который выбирает данные из
html-страницы результатов поиска.
Рис. 6. Примеры поисковых выражений
XPath
Вначале мы ищем все узлы на лю-
бом уровне дерева, которые являются
ячейкой данных таблицы с атрибутами
width="95%" and (здесь логическое “и”)
colspan="2". Так мы находим все ячейки в
таблице, где находится один результат по-
иска. Дальше, используя этот узел как кон-
текстный узел, мы ищем имя автора сле-
дующим образом. Находим ссылку (a) c
атрибутом title="Пошук за автором" и та-
ким образом найдем фамилию и инициалы
автора. Если же мы найдем ссылку (a), ко-
торая является дочерним узлом параграфа
(p) и имеет атрибут title="Завантажити",
то мы найдем ссылку на полный текст.
Таким образом, сохранённые в ло-
кальном хранилище HTML документы из
каталога электронной библиотеки уже со-
держат некоторую информацию о диссер-
тациях: имя автора, название, научную
степень. Эту информацию достаточно лег-
ко извлечь, используя XPath.
Для этого на языке PHP была напи-
сана программа, которая извлекает нужные
данные из HTML страницы и сохраняет их
в базу данных.
4. Обработка
неструктурированных документов
Полные тексты авторефератов
представлены в различных форматах, та-
ких как RTF, PDF, DOC, DOCX (рис. 7).
Поскольку в этих форматах зафиксировано
форматирование и не хранится семантиче-
ская информация, то с ними можно рабо-
тать только после извлечения текстовых
данных. Для каждого формата необходима
своя программа, преобразующая входной
файл в текстовый формат.
Рис. 7. Корпус текстов авторефератов дис-
сертаций с точки зрения их форматов
Поскольку большинство файлов
выбранного библиотечного ресурса пред-
ставлено в формате RTF, в первую очередь
была разработана программа для преобра-
зования этого формата в обычный текст. И
следующий модуль с помощью регуляр-
ных выражений извлекает из текста целе-
вые сущности.
Формат RTF – довольно простой.
Для работы с ним был взят готовый пар-
сер, c последующей его доработкой. Пре-
имуществом данного формата для нас яви-
лось то, что внутреннее его представление
не бинарное, а в символах ASCII. Вся
структура документа состоит из двух сущ-
ностей: это управляющие слова, которые
начинаются с обратного слэша и группы,
которые получаются обрамлением фигур-
ными скобками. Благодаря группам, уда-
лось сразу удалить много “лишнего” из
этого формата: всякие бинарные данные,
картинки, шрифты, палитры цветов. Все
остальное, что не является управляющими
словами и группами, это символы. В слу-
чае кириллицы мы там символов не уви-
дим, поскольку кириллические символы
являются управляющими словами, и тут
еще возникает задача перекодировки сим-
волов. То есть готовый парсинг нуждался в
усовершенствовании, для того чтобы не
приходилось после него еще и преобразо-
вывать кодировку. После rtf-парсинга на
выходе получаем простой неразмеченный
текст.
После преобразования текст посту-
пает на вход алгоритму, распознающему
сущности, представляющие интерес для
целей системы: имена научных руководи-
телей, имена оппонентов, научные степе-
Моделі та засоби систем баз даних і знань
44
ни, названия организаций, в которых про-
водилась подготовка и защита диссерта-
ции, дата защиты, номер специальности.
Всё, что пока удалось извлечь, сохраняется
в базе данных.
Здесь еще предстоит дальнейшая
работа над rtf-документом по извлечению
именованных сущностей из плоского тек-
ста без структуры. Здесь нужно отметить,
что решение этой задачи находится на
начальной стадии. В настоящее время мы
извлекаем из плоского текста регулярными
выражениями, используя некоторые при-
знаки. Например, порядок следования
слов, фамилия обычно идет с инициалами
или три слова с заглавными буквами; заго-
ловок ‒ все заглавные буквы; специаль-
ность ‒ последовательность чисел с точка-
ми; для УДК тоже есть свой символьный
формат или шаблон и т. д.
Пример регулярного выражения,
извлекающего из плоского текста, имя ав-
тора, название диссертации, УДК и специ-
альность:
/^.*?([$upper]+[$lower]* [$up-
per]+[$lower]* [$upper]+[$lower]*) ([Уу][
]?[Дд][ ]?[Кк][:]?[ ]?[-–0-9.'’“”»«:;
\/\+\[\]\(\)ЄС]+) (.*?) ([0-9][ ]?[0-9][ ]?\.[
]?[0-9][ ]?[0-9][ ]?\.[ ]?[0-9][ ]?[0-9][.]?[-]?) /
Стартовая программа прошла те-
стирование вначале на одном авторефера-
те, а затем регулярные выражения были
настроены на большее число авторефера-
тов (в экспериментальном корпусе их было
300, выборка за месяц).
На рис. 8 показан фрагмент табли-
цы базы данных, где можно увидеть
Рис. 8. Фрагмент результирующей таблицы извлечения данных
Моделі та засоби систем баз даних і знань
45
информацию, полученную в результате
парсинга html-страницы (авторефераты за
месяц-год) и текстов самих авторефера-
тов, где:
yearmonth – значение года месяца
поступления автореферата;
id – идентификатор автореферата;
author – фамилия и инициалы авто-
ра авторефераты, извлеченные из html-
страницы запроса;
name – название автореферата (дис-
сертации), извлеченное из html-страницы
запроса;
link – адрес ссылки, где находится
полный текст автореферата;
fio – фамилия имя и отчество. из-
влеченные из текста автореферата;
udc – значение классификатора
УДК, извлеченное из текста автореферата;
nazvanie – название автореферата
(диссертации), извлеченное из текста авто-
реферата;
speciality – значение классификато-
ра специальность, извлеченное из текста
автореферата.
В дальнейшем нам нужно научиться
извлекать из плоского текста персоны и
организации. Можно использовать гото-
вые библиотеки. Есть желание их сравнить
и реализовать методы самостоятельно.
При извлечении именованных сущностей
можно использовать такие ресурсы (мы
называем их Словарями), как Википедия и
Викидата для верификации этих имено-
ванных сущностей. Поскольку, например,
организации уже есть как в Википедии, так
и в базе данных Викидата.
5. Хранение данных
Набор атрибутов персоналий не
фиксирован и может неограниченно рас-
ширяться, поэтому необходима модель
данных, учитывающая эту особенность.
Поскольку конечной целью является пред-
ставление данных в Интернете, желательна
модель данных легко совместимая с се-
мантической сетью. Подходящей моделью
данных является RDF.
Выводы
В работе рассмотрены подходы к
решению задачи сбора и извлечения раз-
розненных данных о персоналиях из сла-
боструктурированных и неструктуриро-
ванных документов, представленных в
общедоступных каталогах авторефератов
диссертаций.
На языке PHP с применением XPath
разработана система, которая позволяет
автоматически собирать первичные доку-
менты из электронного каталога Нацио-
нальной библиотеки Украины им. В.И.
Вернадского, извлекать из этих докумен-
тов данные и сохранять их в локальном
хранилище.
Для хранения выбрана модель дан-
ных RDF с учётом особенностей данных и
возможностью последующего представле-
ния в семантической сети.
Литература
1. Проскудина Г.Ю., Кудим К.А. О техноло-
гии использования внешних данных при
создании и редактировании энциклопеди-
ческих текстов. Проблеми програмування.
2017. № 1. С. 67–82.
2. Markus Krötzsch, Michael Günther, Markus
Damm & Georg Wild (2016). SQID -
Searching, Querying, and Interacting with
Data.
[online – https://tools.wmflabs.org/sqid].
References
1. PROSKUDINA G. & KUDIM K. (2017).
About technologies of use of external data on
creating and editing of encyclopedic text.
Problems in programming. [online –
pp.isofts.kiev.ua] (1). P. 67–82. (in Russian).
Available from: http://pp.isofts.kiev.ua
/ojs1/article/view/223 [Accessed
6/02/2017].
2. MARKUS KRÖTZSCH, MICHAEL GÜN-
THER, MARKUS DAMM & GEORG WILD
(2016). SQID - Searching, Querying, and In-
teracting with Data. [online –
https://tools.wmflabs.org/sqid]. (in English).
Available from: http://pp.isofts.kiev.ua/ojs1/
article/view/145 [Accessed 6/06/2017].
Получено 10.05.2019
Моделі та засоби систем баз даних і знань
46
Об авторах:
Кудим Кузьма Алексеевич,
младший научный сотрудник.
Количество научных публикаций в
украинских изданиях – 16.
Количество научных публикаций в
зарубежных изданиях – 2.
http://orcid.org/0000-0001-9483-5495,
Проскудина Галина Юрьевна,
научный сотрудник.
Количество научных публикаций в
украинских изданиях – 29.
Количество научных публикаций в
зарубежных изданиях – 15.
http://orcid.org/0000-0001-9094-1565.
Место работы авторов:
Институт программных систем
НАН Украины,
03187, Киев-187,
проспект Академика Глушкова, 40.
Тел.: (044) 526 3559.
E-mail: guproskudina@gmail.com,
kuzmaka@gmail.com
|