Помощь в написании студенческих работ
Антистрессовый сервис

Синтаксический разбор цитаты при помощи шаблонов

РефератПомощь в написанииУзнать стоимостьмоей работы

Если в шаблоне нет символьных блоков, первым проверяется наличие блок-полей, соответствующих дополнительной информации, например, такой как «Выпуск», «Том». Если такие блок-поля отсутствуют в ссылке или находятся в неправильной последовательности, то отбор прекращается, иначе происходит переход к первостепенным блок-полям: «Автор», «Название», «Источник». В качестве примера, рассмотрим применение… Читать ещё >

Синтаксический разбор цитаты при помощи шаблонов (реферат, курсовая, диплом, контрольная)

Под синтаксическим разбором цитаты [Захарова, 2003] мы будем понимать определение полей, входящих в нее, и нахождение их значений.

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

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

:= {|}+.

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

Частичные шаблоны описываются на языке PCRE (Perl Compatible Regular Expressions) [PCRE, 2010]. Редактирование и создание их требует от пользователя хорошего знания этого языка. Пример частичного шаблона «Фамилия И.О.» поля :

[A-ZА-Я][a-zа-я]?['-]?[A-ZА-Я]?[a-zа-я]+s[A-ZА-Я]. A-ZА-Я].

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

В синтаксическом разборе мы используем следующие блок-поля: «Автор», «Название», «Год», «Название журнала», «Том», «Выпуск», «Стартовая страница», «Конечная страница», «URL» и другие.

Символьные блоки — это набор символов, как правило, присутствующий в шаблоне для описания характерных для библиографической ссылки элементов. Например, согласно [ГОСТ 7.1−84, 1984] название статьи и название журнала в библиографической ссылке разделяются комбинацией «//». Символьные блоки располагаются в шаблоне между блок-полями.

Синтаксический разбор цитаты можно разделить на три этапа:

Нормализация цитаты — это устранение из цитаты незначимых символов, приведение ее к виду, удобному для сопоставления с шаблонами.

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

Применение шаблонов.

Нормализация цитаты в предлагаемом нами варианте включает в себя:

Удаление всех повторяющихся пробелов.

Удаление и исправление некоторых комбинаций символов.

Приведение значений некоторых полей к удобному для сопоставления виду.

Замена сокращений на полные варианты слов [ГОСТ 7.12−93, 1994].

Наличие этого этапа необязательно, но в ряде случаев улучшает качество разбора цитаты.

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

Разбор включает следующие действия:

Определение типа цитаты. Используется несколько типов цитат: журнальная статья (основной), труды конференций, книги, электронные источники, серийные издания. Каждому из типов соответствуют свои наборы полей, которые могут входить в ссылку. По их наличию и определяется тип цитаты.

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

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

Применение каждого шаблона происходит по следующему алгоритму:

Если в шаблон входят символьные блоки, проверяется их наличие и правильная последовательность в ссылке, иначе — переход к следующему шаблону.

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

Если всем полям установлены соответствия, то цитата считается разобранной.

Важным в описанном выше алгоритме является решение пункта 2.

Если в шаблоне нет символьных блоков, первым проверяется наличие блок-полей, соответствующих дополнительной информации, например, такой как «Выпуск», «Том». Если такие блок-поля отсутствуют в ссылке или находятся в неправильной последовательности, то отбор прекращается, иначе происходит переход к первостепенным блок-полям: «Автор», «Название», «Источник».

Поиск начинается с поля «Автор». Для него имеется широкий спектр шаблонов, позволяющих извлекать данные об авторах с высокой долей точности:

:= | |…

Далее, учитывая положение остальных первостепенных полей относительно поля «Автор», определяются их значения.

В качестве примера, рассмотрим применение к библиографической ссылке «Загорулько Ю. А., Боровикова О. И. Технология построения онтологий для порталов знаний по гуманитарным наукам // Труды Всероссийской конференции с международным участием „Знания-Онтологии-Теории“ (ЗОНТ-07). Новосибирск, 2007. Т.1, С.191−200.» следующих трех шаблонов:

  • 1: //:
  • 2: //
  • 3: //

Первый шаблон отбрасывается ввиду отсутствия символьного блока «:» в тексте ссылки. Происходит переход ко второму шаблону. Его часть справа от символьного блока «//» применяется к части цитаты «Труды Всероссийской конференции с международным участием «Знания-Онтологии-Теории «(ЗОНТ-07). Новосибирск, 2007. Т.1, С.191−200.», но ввиду отличного порядка значений блок-полей в цитате, шаблон отбрасывается.

Третий шаблон срабатывает правильно, отделяя все элементы ссылки.

Показать весь текст
Заполнить форму текущей работой