Анализ и оценка одного из подходов к разработке информационной системы генерации формальных описаний научных статей. Исследование принципов функционирования такой системы, а также алгоритмов автоматического создания локальной базы данных цитирования.
Аннотация к работе
При построении базы данных цитирования необходимо решать следующие задачи: Определение основных данных о статье (название, авторы, аннотация, ключевые слова). Значимая часть текста - часть текста, о которой с высоким уровнем уверенности известно, что она содержит необходимую для описания текста информацию. информационный генерация научный статья цитирование Полем (цитаты или некоторой значимой части текста) будем называть компонент цитаты или некоторого значимого отрывка текста, представленный в тексте или цитате своим значением, образуя пару . Как уже упоминалось выше, всякое поле в цитате представлено своим значением, по этой причине цитату можно описать набором пар «атрибут - значение». На основе этих предположений были построены следующие методы отделения вводной значимой части текста: Если имеются индикаторы начала первой главы в статье, как правило, это слова «Введение» или «Introduction», то часть текста до строки с этим индикатором отделяется как шапка.В докладе предложены принципы построения и алгоритмы работы системы, нацеленной на генерацию формальных описаний научных статей и создание локальной базы данных цитирования.
Введение
Постоянно возрастающие объемы электронных архивов научных статей требуют удобных для пользователя средств навигации и доступа к статьям, представленным в этих архивах. В настоящее время уже недостаточно просто предоставить пользователю файл статьи, необходимо обеспечить его информацией о ее содержании и связях с другими библиографическими источниками. Этим целям могут служить базы данных цитирования (или БД библиографических ссылок).
При построении базы данных цитирования необходимо решать следующие задачи: Определение основных данных о статье (название, авторы, аннотация, ключевые слова).
Выделение списка литературы из текста статьи и разбор его на составные элементы.
Добавление идентифицированных элементов списка литературы в базу данных цитирования.
В настоящее время существует несколько подходов к созданию баз данных цитирования, перечислим наиболее значимые из них: 1. Модель универсальной базы данных цитирования, предложенная Дэвидом Сонгом [Сонг, 2003]. Согласно этой модели все публикации должны быть описаны в стандартном формате. Ссылки на цитаты (библиографические ссылки) должны даваться в XML-документе, построенном согласно определенной структуре.
2. Разработанная исследовательским институтом корпорации NEC автономная система индексирования цитат RESEARCHINDEX [Lawrence et al., 1999], автоматически индексирующая публикации по информатике, обнаруженные в Web.
3. Менеджеры ссылок (Reference managers) [BIBLIOSCAPE 8, 2010; I, Librarian, 2010; Mendeley Desktop, 2010], позволяющие пользователям, как правило, авторам публикаций или исследователям, создавать и использовать свои локальные базы данных цитирования.
Каждый из перечисленных подходов имеет свои достоинства и недостатки. В первом из них вся «работа» возложена на автора или издательство, во втором наоборот - ручной труд практически исключен, но при этом ухудшается качество поиска, так как некоторые атрибуты статьи (например, автор или заголовок) не всегда правильно извлекаются из текста.
Составление больших БД цитирования вручную достаточно трудоемко и не всегда возможно, поэтому предпринимаются попытки автоматизировать этот процесс. Одному из таких подходов и посвящен данный доклад.
1. Подход к автоматизации обработки текста статьи
1.1 Основные определения
Введем несколько базовых понятий [Захарова, 2003], необходимых для описания алгоритма.
Цитата - элемент списка литературы.
Значимая часть текста - часть текста, о которой с высоким уровнем уверенности известно, что она содержит необходимую для описания текста информацию. информационный генерация научный статья цитирование
Полем (цитаты или некоторой значимой части текста) будем называть компонент цитаты или некоторого значимого отрывка текста, представленный в тексте или цитате своим значением, образуя пару . Примеры: автор, заголовок.
Подполем будем называть составляющую часть сложного поля. Пример: поле цитаты «страницы» со значением «С. 251-256» содержит подполя: «признак поля» - «С.», «начальная страница» - «251», «конечная страница» - «256».
Индикатором (или маркером) будем называть слова или словосочетания, которые характерны для значений или признаков некоторого поля и позволяют однозначно восстановить пару «поле - значение». Как правило, набор маркеров для некоторого поля - это набор значений подполя «признак поля». Пример: «http://» является маркером для URL в тексте.
1.2 Формальное представление статьи
Как уже упоминалось выше, всякое поле в цитате представлено своим значением, по этой причине цитату можно описать набором пар «атрибут - значение». Сама же обрабатываемая статья (см. Рис.1) содержит не только поля, она еще несет в себе набор отношений «ссылается на», связывающих ее с цитатами.
Рис.1. Формальное представление статьи
1.3 Обработка текста статьи
Обработку текста статьи можно разделить на несколько этапов: Выделение вводной части текста, содержащей название статьи, ее авторов, ключевые слова и аннотацию.
Определение основной информации о статье по ее вводной части.
Выделение списка цитированной литературы из текста статьи.
Разбор списка, полученного в п.3 на отдельные цитаты.
Синтаксический разбор каждой из цитат, полученных в п.4.
Выделение вводной части текста статьи (далее шапки) производится на основе следующих посылов: Предполагается, что вся основная информация о статье находится в ее первых строках.
Ключевые слова и аннотация находятся после авторов и названия.
На основе этих предположений были построены следующие методы отделения вводной значимой части текста: Если имеются индикаторы начала первой главы в статье, как правило, это слова «Введение» или «Introduction», то часть текста до строки с этим индикатором отделяется как шапка.
Если имеются маркеры ключевых слов, такие как «Ключевые слова» или «Keywords», то часть текста, включая эту строку, считается шапкой.
В ходе изучения представительного множества научных статей, были выявлены конструкции-индикаторы для определения аннотации: как стандартные («Аннотация» или «Abstract»), так и используемые в определенной форме словосочетания, например, «статья содержит», «в работе рассматривается» и др. Здесь выделение шапки происходит аналогично п.2.
Пользуясь набором примитивных шаблонов для определения автора статьи, как например, «Фамилия И.О.» или «Фамилия Имя О.», можно определить строки, содержащие имена авторов.
В случае, если ни один из предложенных методов не отделяет шапку, то предполагается, что либо это не текст статьи, либо оформленная не по стандарту статья. Отделение начальной части в таком случае нужно сделать вручную. Дальнейшие шаги обработки текста будут продолжены, поскольку список литературы все равно может присутствовать в тексте.
После того, как шапка отделена, при помощи тех же шаблонов и маркеров происходит определение основных данных о статье.
Значимая часть текста со списком цитируемой литературы (далее хвост), как правило, находится в конце статьи, за исключением случая, когда статья содержит приложения, помещаемые после списка литературы. По этой причине выделение списка литературы разбивается на два этапа: отделение «сверху», т.е. нахождение первой строки списка, и отделение «снизу» - последней строки.
Выполнение отделения «сверху» - задача сравнительно более простая, чем отделение «снизу», ввиду того, что имеется ряд характерных признаков, по которым можно отыскать первую строку списка: Существует набор маркеров, однозначно определяющих начало списка литературы: «Источники», «Список использованной литературы», «References» и др.
Список литературы обычно содержит очень много конструкций, подходящих под поле «автор», например, «Фамилия И.О.».
В случае, если подобные методы не отделяют никакой список литературы, делается вывод, что его либо нет, либо имеются серьезные ошибки в его описании. В последнем случае применяется ручное отделение «хвоста».
Отделение «снизу» применяется уже к отделенной «сверху» части текста и проводится на основе следующих эвристических признаков - список литературы заканчивается, если выполнено одно из условий: Если в списке имеется нумерация, тогда список отделяется однозначно.
Нашлись две подряд идущих «пустых» строки (предполагается, что цитаты идут одна за другой).
Если «пустых» строк нет, значит, вся отделенная «сверху» часть является списком цитат.
После выделения списка литературы из текста его необходимо разделить на отдельные цитаты. В работе [Захарова, 2003] был предложен метод поиска начала цитаты по шаблону , но этого, как показывают и практика, и многочисленные правила оформления библиографических ссылок, недостаточно.
Поэтому в дополнение к этому методу используются следующие методы разделения списка литературы на отдельные цитаты: Разделение цитат на основе нумерации (это основной метод, так как большинство списков литературы нумеруется). При этом ведется счетчик цитат, что позволяет свести ошибки к минимуму.
Определение начала цитаты по комбинации полей «Фамилии авторов» «год». В некоторых статьях библиографические ссылки именуются с помощью этой комбинации, например, «Guarino, 1998». Поэтому такое сочетание может служить основанием для определения начала цитаты.
Если строка начинается с комбинации слов, соответствующей полю «автор», то эта комбинация отбирается как начало ссылки.
Как показали эксперименты, этих методов достаточно для успешного отделения шапки и хвоста приблизительно у 95% статей.
2. Синтаксический разбор цитаты при помощи шаблонов
Под синтаксическим разбором цитаты [Захарова, 2003] мы будем понимать определение полей, входящих в нее, и нахождение их значений.
Согласно нашему подходу, синтаксический разбор осуществляется путем сопоставления цитаты различным шаблонам. В случае, если цитата подходит под какой-либо шаблон, то указанным в шаблоне полям ставится в соответствие их текстовое значение.
Каждый шаблон описывается упорядоченным набором блок-полей или символьных блоков.
::= {|}
Блок-поле в записи шаблона представляют собой имя поля, заключенное в угловые скобки. Определение в цитате значения некоторого блок-поля происходит при помощи других шаблонов (будем называть их частичными) путем нахождения им соответствий в цитате.
Частичные шаблоны описываются на языке PCRE (Perl Compatible Regular Expressions) [PCRE, 2010]. Редактирование и создание их требует от пользователя хорошего знания этого языка. Пример частичного шаблона «Фамилия И.О.» поля : [A-ZA-Я][а-za-я]?[\’\-]?[А-ZA-Я]?[а-za-я] \s[A-ZA-Я]\.[А-ZA-Я]\.
В цитате может быть как один, так и несколько элементов, соответствующих указанному полю (например, у рассматриваемого источника может быть несколько авторов), при этом одно блок-поле может выделять из цитаты несколько значений этого поля.
В синтаксическом разборе мы используем следующие блок-поля: «Автор», «Название», «Год», «Название журнала», «Том», «Выпуск», «Стартовая страница», «Конечная страница», «URL» и другие.
Символьные блоки - это набор символов, как правило, присутствующий в шаблоне для описания характерных для библиографической ссылки элементов. Например, согласно [ГОСТ 7.1-84, 1984] название статьи и название журнала в библиографической ссылке разделяются комбинацией «//». Символьные блоки располагаются в шаблоне между блок-полями.
Синтаксический разбор цитаты можно разделить на три этапа: Нормализация цитаты - это устранение из цитаты незначимых символов, приведение ее к виду, удобному для сопоставления с шаблонами.
Поиск цитаты в уже имеющейся библиографической базе данных.
Применение шаблонов.
Нормализация цитаты в предлагаемом нами варианте включает в себя: Удаление всех повторяющихся пробелов.
Удаление и исправление некоторых комбинаций символов.
Приведение значений некоторых полей к удобному для сопоставления виду.
Замена сокращений на полные варианты слов [ГОСТ 7.12-93, 1994].
Наличие этого этапа необязательно, но в ряде случаев улучшает качество разбора цитаты.
После нормализации происходит проверка совпадения значений полей цитаты с уже имеющейся в библиографической базе данных информацией: фамилиями авторов, названиями и др. Если цитата уже имеется в базе, то она определяется однозначно, в противном случае делается попытка ее разбора с помощью шаблонов.
Разбор включает следующие действия: Определение типа цитаты. Используется несколько типов цитат: журнальная статья (основной), труды конференций, книги, электронные источники, серийные издания. Каждому из типов соответствуют свои наборы полей, которые могут входить в ссылку. По их наличию и определяется тип цитаты.
Применение шаблонов в последовательности, зависящей от типа цитаты. Каждый из шаблонов соответствует определенному типу ссылки, поэтому с целью скорейшего и более точного разбора ссылки в первую очередь применяются шаблоны, соответствующие данному типу ссылки, а затем все остальные.
Отделение данных при помощи частичных шаблонов. Если никакой из имеющихся шаблонов не соответствует цитате, то делается попытка обнаружить хоть какую-нибудь информацию о ссылке при помощи частичных шаблонов.
Применение каждого шаблона происходит по следующему алгоритму: Если в шаблон входят символьные блоки, проверяется их наличие и правильная последовательность в ссылке, иначе - переход к следующему шаблону.
Каждая из частей цитаты, заключенная между символьными блоками, проверяется на соответствие блок-полям, стоящим в шаблоне между ними, в случае несоответствия - переход к следующему шаблону.
Если всем полям установлены соответствия, то цитата считается разобранной.
Важным в описанном выше алгоритме является решение пункта 2.
Если в шаблоне нет символьных блоков, первым проверяется наличие блок-полей, соответствующих дополнительной информации, например, такой как «Выпуск», «Том». Если такие блок-поля отсутствуют в ссылке или находятся в неправильной последовательности, то отбор прекращается, иначе происходит переход к первостепенным блок-полям: «Автор», «Название», «Источник».
Поиск начинается с поля «Автор». Для него имеется широкий спектр шаблонов, позволяющих извлекать данные об авторах с высокой долей точности:
::= | |…
Далее, учитывая положение остальных первостепенных полей относительно поля «Автор», определяются их значения.
В качестве примера, рассмотрим применение к библиографической ссылке «Загорулько Ю.А., Боровикова О.И. Технология построения онтологий для порталов знаний по гуманитарным наукам // Труды Всероссийской конференции с международным участием “Знания-Онтологии-Теории” (ЗОНТ-07). Новосибирск, 2007. Т.1, С.191-200.» следующих трех шаблонов: 1: //: 2: //
3: //
Первый шаблон отбрасывается ввиду отсутствия символьного блока «:» в тексте ссылки. Происходит переход ко второму шаблону. Его часть справа от символьного блока «//» применяется к части цитаты «Труды Всероссийской конференции с международным участием “Знания-Онтологии-Теории ”(ЗОНТ-07). Новосибирск, 2007. Т.1, С.191-200.», но ввиду отличного порядка значений блок-полей в цитате, шаблон отбрасывается.
Третий шаблон срабатывает правильно, отделяя все элементы ссылки.
3. Программная реализация
На данный момент создана рабочая версия системы, использующая описанные методы и включающая в себя: пользовательский интерфейс, позволяющий редактировать и создавать формальные описания статей; конструкторский интерфейс, позволяющий редактировать полные и частичные шаблоны; редактор базы данных цитирования.
Система позволяет проводить обработку статьи в трех режимах: ручном, автоматическом и полуавтоматическом.
Полуавтоматический режим в данном случае - это совместное применение автоматического (выполняется автоматическая обработка текста) и ручного (данные предлагаются пользователю на редактирование в отдельном окне).
В ручном режиме в окно выводится полный текст статьи, в котором пользователь может при помощи выделения цветом пометить значимую информацию о статье, выделить элементы списка литературы и таким же образом отметить значения полей в них. Данный способ ручного создания формального описания статьи в отличие от простого ввода текста быстрее, нагляднее и удобнее. Дополнительную информацию, не представленную в тексте, пользователь может ввести посредством редактирования таблицы в главном окне программы.
В автоматическом режиме статья обрабатывается и помещается в таблицу, выводимую в главном окне программы.
Пользователь может управлять работой программы в автоматическом режиме путем включения/выключения некоторых шаблонов, а также редактирования полных и частичных шаблонов при помощи конструктора шаблонов. Полные шаблоны пользователь может задать, используя в качестве конструктивов уже имеющиеся в системе частичные шаблоны. Вид полных шаблонов показан в примерах из раздела 2.
Тестирование системы проводилось на материалах конференции «Диалог» за 2006-2009 гг. [Диалог, 2009].
Вывод
В докладе предложены принципы построения и алгоритмы работы системы, нацеленной на генерацию формальных описаний научных статей и создание локальной базы данных цитирования. Ввиду того, что правила оформления статей подвержены частым изменениям, обеспечивается настройка системы при помощи изменения набора шаблонов обработки.
В дальнейшем функциональность системы будет расширена за счет реализации ряда возможностей, характерных для менеджеров ссылок, как например, вставка цитат, имеющихся в базе данных ссылок, в документы в требуемых форматах, а также визуализации связей между статьями и авторами, обработки документов, представленных в других форматах (*.pdf, *.html, *.doc и др.), и поддержки конвертирования базы данных цитирования в стандартные форматы, например, XML, BIBTEX.
Список литературы
[ГОСТ 7.12-93, 1994] ГОСТ 7.12-93. Библиографическая запись. Сокращение слов на русском языке. Общие требования и правила. - М., 1994.
[ГОСТ 7.1-84, 1984] ГОСТ 7.1-84. Библиографическое описание документа. Общие требования и правила составления. - М., 1984.
[Диалог, 2009] Материалы конференции «Диалог». - http://dialog-21.ru.
[Захарова, 2003] Захарова И.В. Методы автоматического разбора списка цитат в научных статьях на составляющие библиографические элементы для построения базы данных цитирования. - Челябинск, 2003.
[Сонг, 2003] Дэвид Сонг. Новая модель базы данных цитирования на языке XML с использованием XQUERY в качестве поискового языка // Сборник трудов десятой юбилейной международной конференции "Крым 2003. Библиотеки и ассоциации в меняющемся мире: новые технологии и новые формы сотрудничества". Украина, Крым, 2003.