Идеология и техника разметки в Технологии смешанного набора
Автор(ы): Александр Викторович Коваленин   
27.06.2008 г.

icon Тезисы в формате RTF (57.69 kB 2008-07-13 21:38:16) icon Тезисы в формате PDF (122.14 kB 2008-07-13 21:37:33)

    Технология смешанного набора (ТСН) есть способ работы с текстами, содержащими фрагменты различных письменных систем. С технической точки зрения можно говорить просто о фрагментах, требующих разной интерпретации, что сразу делает формулировку проблемы более общей и актуальной и для текстов, однородных по используемой письменности. Для работы с такими текстами требуется решение трёх взаимосвязанных задач: 1) создание единой плат­формы для представления в одном файле разного рода фрагментов; 2) нахождение способа разбиения текста на фрагменты; 3) предоставление пользователю способа описания интерпретации фрагмента.

    Цель данной работы – сосредоточиться на вопросах разметки и её интерпретации, рассмотрев их общие основания, и показать возможности для повседневной работы исследователя принятого в ТСН подхода в сравнении с другими имеющимися подходами к разметке, прежде всего XML.

1. Термины. Текст мы понимаем как зафиксированную последова­тельность знаков. Текст подвергается интерпретации человеком или автоматом с конкретной практи­ческой или исследовательской целью. Каждое исследование опирается на информацию, связанную с конкретными местами в тексте, и всякая смена способа интерпретации нуждает­ся в указании места такой смены. Со­во­куп­ность указаний на места в тексте, связанных с конкретной интерпретацией, мы называем разметкой. Таким образом, с текстом может быть связано много разметок, отвечающих разным целям.

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

По способу связи с текстом разметки делятся на два класса: внешние и внутренние.

Внешняя разметка – это набор ссылок на элементы текста, хранимый отдельно от текста. Такая разметка наилучшим образом соответствует независимости объекта (текста) от его описания, обеспечивая незави­симость разметок. Примером внешней разметки может быть пере­чень мест в последова­тельности знаков, выраженный номерами слов текста, букв слова.

Внутренняя разметка – такой способ разметки, при котором место в тексте от­мечается внесением прямо в последовательность знаков текста специальных меток – элементов языка разметки. При этом текст уже не является неизменным объектом, а изменяется с добавлением каждой новой разметки. Вместе с внутренней разметкой удобно рассматривать и неявную разметку – видимые и невидимые элементы исходного текста, которые тоже могут служить исследователям опорой при интерпретации.

Внешняя разметка имеет два неудобства: 1) для её редактирования необходимо специальное программное обеспечение (СПО), 2) редактирование самого текста влияет на все имеющиеся разметки, в том числе созданные независимыми исследователями и вне СПО. Тем не менее, внешняя разметка используется в практике, так как её важ­ным достоинст­вом являются поддержка множества независи­мых разметок и неиз­мен­ность (защищённость) самих текстов корпуса. Известен и подход, при котором внешняя и внутренняя разметки пере­водятся друг в друга – для редактирования все внешние разметки вносятся в текст, становясь внутренними, а внут­рен­ние разметки для хранения и интерпретации снова переводятся во внешнюю форму. В корпусе могут использоваться и разметки обоих классов, тем более что внешняя разметка может с успехом опираться на явную и неявную внутреннюю разметку.

Свои неудобства имеют и внутренние разметки. Во-первых, в тексте они присутствуют все сразу, в том числе не нужные конкретному исследователю, что делает острым вопрос о наглядности синтаксиса разметки. Во-вторых, встаёт вопрос о защищённости исходного текста, который может сниматься также посред­ством использования специальных редакторов разметки. Кроме того, конкретные виды систем внутренней разметки накладывают свои ограничения на возможности разметки. Так, среди языков разметки на основе SGML, благодаря наличию возможности отдельно задавать интерпре­тацию элементов разметки, наибольшее распростра­нение получил XML. Он, однако, в своей основе предъявляет к самой разметке жёсткие требо­вания, практи­чес­ки исключающие ис­пользо­вание множества независимых разметок. В итоге для разных исследователь­ских и практических задач разметка должна делать­ся на разных экземплярах исходного текста, что снижает надёжность работы.

2. Разметка в ТСН – внутренняя. Её принципы складывались под влиянием стремления: а) к лаконичности разметки (исходный текст должен оставаться как можно лучше читаемым); б) ко множественности разметок в одном тексте (рабочая форма текста должна остаться единственной для разных задач); в) к независимости этих разметок (новая вносимая разметка не должна влиять на интерпретацию ранее внесённых); г) к простоте описания интерпретации разметки (описание должно быть доступным для непрограммистов).

А. Лаконичность обеспечивается следующими средствами.

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

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

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

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

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

Г. Простота описания интерпретации разметки обеспечивается тем, что с точки зрения редак­то­ра корпуса она состоит в выписывании в простом тексто­вом файле (“стилевом файле”) для каждой метки сопоставления ей цепочки символов и преобра­зо­ваний, которые следует применить к фрагменту. Преобразования, о кото­рых идёт речь, указываются своим именем, за которым может стоять либо программная функция, либо непрограммное преобразование, задаваемое переч­нем простых или рекурсивных замен в специальной текстовой форме. Синтаксически имена тех или других преобразований не  различаются, так что редактор корпуса может по-своему переопределять какие-то из системных функций.

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

3. Процесс интерпретации разметки. Стилевой файл применяется на втором этапе интерпретации. Первый и третий этап задают условия и цель работы разработчика разметки.

Метки стандартного вида начинаются специальным маркером “начало” (часто это знак “%”). Первый этап интерпретации ставит перед ними дополнительный маркер “конец”, так что на границах фрагментов оказывается контаминация этих маркеров. На третьем этапе удаляются все участки текста между этой контаминацией и ближайшим к ней маркером “конец”. Поэтому задача второго этапа, который определяет составитель стилевого файла, – прописать в нём такие замены, в результате которых нужные фрагменты не только не удалились бы на третьем этапе, но и содержали бы в себе предписания нужных преобразований. Используя в таких заменах и сами маркеры “начало” и “конец”, можно гибко влиять на сложившееся в результате пересечения разметок первоначальное “разбиение”.

ТСН реализована на платформе PHP, что было вызвано её первоначальным назначением – представлять в интернете в разных видах древнерусские песнопения. Спецификации, необходимые для переноса Технологии на другие платформы, представлены на сайте проекта “Фонд  знаменных песнопений” (URL: http://znamen.ru/tsn/tsnp-zam.php).

 

Ideology and technique for encoding using the mixed scripts technique

Alexander V. Kovalenin

 

A. P. Ershov Institute of Informatics Systems of the Siberian Branch of the Russian Academy of Science, Novosibirsk, Russia

 

This paper discusses common problems in text encoding and proposes their solution using a “mixed scripts technique” (MST), a way of working with texts containing parts which need different interpretation. MST’s way of text markup, together with a procedure of markup interpretation, is given in comparison with other solutions like XML. A special form of non-programmed user-defined transformations is shown, which can become common for carrying out certain kinds of scientific research.