Перекрывающаяся разметка - Overlapping markup

В языки разметки и цифровые гуманитарные науки, перекрывать возникает, когда в документе есть две или более структур, которые взаимодействуют в не-иерархический Документ с перекрывающейся разметкой не может быть представлен как дерево Это также известно как параллельная разметка. Перекрытие происходит, например, в поэзия, где может быть метрический структура ноги и линии; лингвистическая структура предложений и цитат; и физическая структура томов и страниц и редакционных аннотаций.[1][2]

История

Структурные различия между несколькими выпусками Франкенштейн были проанализированы с перекрывающимися методами.[3]

Проблема неиерархических структур в документах была признана с 1988 г .; разрешая его против доминирующей парадигмы текста как единой иерархии ( упорядоченная иерархия объектов контента или же OHCO) изначально считалось чисто техническим вопросом, но на самом деле оказалось намного сложнее.[4]В 2008, Джени Теннисон определил перекрытие разметки как «основную остающуюся проблемную область для технологов разметки».[5]Перекрытие разметки продолжает оставаться основной проблемой в цифровом исследовании богословских текстов в 2019 году и является основной причиной сохранения в этой области специализированных форматов разметки - Информационный стандарт Open Scripture и Язык теологической разметки - а не совместимые Инициатива кодирования текста -основные форматы, общие для остальных цифровые гуманитарные науки.[6]

Свойства и типы

Существует различие между схемами, допускающими несмежное перекрытие, и схемами, которые допускают только непрерывное перекрытие. Часто `` перекрытие разметки '' строго означает последнее. Непрерывное перекрытие всегда может быть представлено в виде линейного документа с вехами (обычно совместно проиндексированными начальными и конечными маркерами) без необходимости фрагментировать (логический) компонент на несколько физических. . Несмежное перекрытие может потребовать фрагментации документа. Еще одно различие в перекрывающихся схемах разметки заключается в том, могут ли элементы перекрываться с другими элементами того же типа (самоперекрытие).[2]

Схема может иметь привилегированный иерархия. XML схемы на основе, например, представляют одну иерархию непосредственно в дереве XML-документа и представляют другие, перекрывающиеся структуры другими способами; они, как говорят, непривилегированный.

Шмидт (2012) определяет трехстороннюю классификацию случаев перекрытия: 1. «Вариация содержимого и структуры», 2. «Наложение нескольких перспектив или наборов разметки» и 3. «Наложение отдельных начальных и конечных тегов в рамках одной перспективы разметки»; дополнительно , некоторые очевидные примеры перекрытия на самом деле являются проблемами определения схемы, которые могут быть решены иерархически. Он утверждает, что тип 1 лучше всего разрешается системой из нескольких документов, внешних по отношению к разметке, но типы 2 и 3 требуют внутренней работы.

Подходы и реализации

ДеРоуз (2004), Критерии оценки) определяет несколько критериев для оценки решений проблемы перекрытия:

  • читаемость и ремонтопригодность,
  • поддержка инструмента и совместимость с XML,
  • возможные схемы валидации и
  • простота обработки.

Тег суп строго говоря, не перекрывает разметку - он имеет неправильный формат HTML, который является непересекающимся языком и может быть плохо определен. веб-браузеры попытался представить перекрывающиеся начальный и конечный теги с неиерархическим Объектные модели документов (DOM), но это не было стандартизовано для всех браузеров и несовместимо с внутренней иерархической природой DOM.[7][8]HTML5 определяет, как процессоры должны обрабатывать такую ​​неверно вложенную разметку в синтаксисе HTML и превращать ее в единую иерархию.[9]С XHTML и SGML Однако на основе HTML неверно вложенная разметка является серьезной ошибкой и делает невозможной обработку в системах, соответствующих стандартам.[10]Стандарт HTML определяет пункт концепция, которая может вызывать перекрытие с другими элементами и может быть несмежной.[11]

SGML, на котором были основаны ранние версии HTML, имеет функцию CONCUR, которая позволяет сосуществовать нескольким независимым иерархиям без каких-либо привилегий.DTD проверка определяется только для каждой отдельной иерархии с помощью CONCUR. Валидация в иерархиях стандартом не определена. CONCUR не может поддерживать самоперекрытие и плохо взаимодействует с некоторыми сокращенными функциями SGML. Эта функция плохо поддерживается инструментами и практически не используется; использование CONCUR для представления перекрытия документов не было рекомендуемым вариантом использования, согласно комментарий редактора стандарта.[12][13]

В иерархических языках

Есть несколько подходов к представлению перекрытия на неперекрывающемся языке.[14]В Инициатива кодирования текста как схема разметки на основе XML не может напрямую представлять перекрывающуюся разметку. Предлагаются все четыре из следующих подходов.[15]В Информационный стандарт Open Scripture это еще одна основанная на XML схема, предназначенная для разметки Библия.Он использует пустые элементы вехи для кодирования непривилегированных компонентов.[16]

Чтобы проиллюстрировать эти подходы, разметим предложения и строки фрагмента Ричард III к Уильям Шекспир будет использоваться в качестве рабочего примера. Если есть привилегированная иерархия, будут использоваться линии.

Несколько документов

Несколько документов каждая из них может обеспечивать различные внутренне согласованные иерархии. Преимущество этого подхода заключается в том, что каждый документ прост и может обрабатываться с помощью существующих инструментов, но требует поддержки избыточного контента и может быть затруднительным создание перекрестных ссылок между различными видами.[17] Для нескольких документов перекрытие можно проанализировать с помощью сравнение данных и дельта-кодирование методы, и, в контексте XML, доступны определенные алгоритмы различения деревьев XML.[18][19]

Шмидт (2012, 3.5 Вариация) рекомендует этот подход для кодирования нескольких вариантов одного текста и принятия дублирования частей, которые не изменяются, вместо попытки создать структуру, которая представляет все имеющиеся вариации; кроме того, он предлагает, чтобы это согласование выполняться автоматически, и такое рассогласование на практике встречается редко.[20]

Пример с размеченными строками:

  <line>Я, поверенным, благословляю тебя от матери твоей,</line>  <line>Кто постоянно молится о благе Ричмонда.</line>  <line>Вот и все. - Тихие часы продолжаются,</line>  <line>И на востоке разражается зыбкая тьма.</line>

С размеченными предложениями:

  <sentence>Я, через поверенного, благословляю тебя от твоей матери, Которая постоянно молится о благе Ричмонда.</sentence>  <sentence>Вот и все.</sentence><sentence>- Безмолвные часы продолжаются, И на востоке разрывается хрупкая тьма.</sentence>

Вехи

Вехи являются пустыми элементами, которые отмечают начало и конец компонента. Они могут использоваться для встраивания непривилегированной структуры в иерархический язык и могут представлять только непрерывное перекрытие. Существующие инструменты также не будут понимать значение элементов вех, и поэтому не могут легко обработать или проверить непривилегированную структуру.[21][22] Разметка, расположенная рядом с содержимым, является преимуществом для удобства обслуживания и чтения.[23] CLIX (ДеРоуз 2004 ) является примером такого подхода.

Пример:

  <строка> <начало предложения />Я, поверенным, благословляю тебя от матери твоей,</line>  <line>Кто постоянно молится о благе Ричмонда.<конец предложения />  <строка> <начало предложения />Вот и все.<конец предложения /> <начало предложения />- Тихие часы продолжаются,</line>  <line>И на востоке разражается зыбкая тьма.<конец предложения />

Пунктуация и пробелы были идентифицированы как тип «криптоперекрытия» или «псевдо-разметки» в стиле этапов, поскольку границы слов, предложений, предложений и т.п. не обязательно совпадают с формальными границами разметки иерархически.[24][25]

Присоединяется

Присоединяется являются указателями внутри привилегированной иерархии на другие компоненты привилегированной иерархии, которые могут использоваться для восстановления непривилегированного компонента, подобного следованию связанный список. Единственный непривилегированный элемент - это сегментированный на несколько частичный элементы внутри привилегированной иерархии; Сами частичные элементы не представляют собой единую единицу в непривилегированной иерархии, что может вводить в заблуждение и затруднять обработку.[26][27] Хотя этот подход может поддерживать некоторые несмежные структуры, он не может изменять порядок элементов.[28] Однако немного другой подход может выражать переупорядочение, выражая соединение вне содержимого, за счет прямоты и удобства обслуживания.[29]

Представления на основе соединений могут вводить возможность циклов между элементами; их обнаружение и отклонение усложняют реализацию.[30]

Пример:

   <предложение id ="а">Я, поверенным, благословляю тебя от матери твоей,</sentence></line>   <предложение продолжается ="а">Кто постоянно молится о благе Ричмонда.</sentence></line>   <предложение id ="б">Вот и все. <предложение id ="c">- Тихие часы продолжаются,</sentence></line>   <предложение продолжается ="c">И на востоке разражается зыбкая тьма.</sentence></line>

Разметка stand-off

Разметка stand-off аналогично использованию объединений, за исключением того, что здесь нет привилегированной иерархии: каждой части документа дается метка (или на нее можно ссылаться по смещению), и документ создается путем указания на контент из разметки, которая «стоит отдельно» 'из содержимого (возможно, в совершенно другом файле) и может не содержать самого содержимого. В рекомендациях TEI единство элементов определяется как основное преимущество разметки по отдельности перед объединениями, а также возможность создавать и распространять аннотации отдельно от текста, возможно, даже разными авторами, применяющими разметку к документу только для чтения. ,[31] позволяя совместные подходы к разметке разделяй и властвуй стратегия.[32]

Пример:

  <диапазон id ="а">Я, поверенным, благословляю тебя от матери твоей,</span>  <диапазон id ="б">Кто постоянно молится о благе Ричмонда.</span>  <диапазон id ="c">Вот и все.  id ="d">- Тихие часы продолжаются,</span>  <диапазон id ="е">И на востоке разражается зыбкая тьма.</span>  ...  <строка содержимое ="а" />  <строка содержимое ="б" />  <строка содержимое ="CD" />  <строка содержимое ="е" />  <предложение содержимое ="а б" />  <предложение содержимое ="c" />  <предложение содержимое ="д е" />

Утверждалось, что разделение разметки и текста может привести к общему упрощению и повышению ремонтопригодности,[33] и к 2017 году «[t] текущее состояние искусства [представления] (...) лингвистически аннотированных данных заключается в использовании графического представления, сериализованного как standoff XML в качестве сводного формата» [34], то есть это противостояние было наиболее широко распространенным подходом к решению проблемы перекрывающейся разметки.

Формализмы противостояния легли в основу стандарта ISO для лингвистической аннотации.[35], они успешно применяются при разработке систем управления корпусом,[36] и (по состоянию на апрель 2020 г.) они активно развиваются в TEI.[37]

Вызовы

Представление перекрывающейся разметки в иерархических языках является сложной задачей по причинам избыточности и / или сложности. В 2000–2010 годах формализмы противостояния были общепринятыми как наиболее многообещающий подход. [34], но недостатком противостояния является то, что проверка очень сложна.[38] Формализмы противостояния изначально не поддерживаются системами управления базами данных, поэтому (к 2017 году) было предложено «использовать ... противостоящий XML в качестве сводного формата (...) и реляционные базы данных для запросов».[34] В практических приложениях это требует сложной архитектуры и / или трудоемкого преобразования между сводным форматом и внутренним представлением. В результате обслуживание проблематично.[39] Это послужило мотивацией для разработки систем управления корпусами на основе графовых баз данных и для использования установленных формализмов на основе графов в качестве сводных форматов.

Специальные языки

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

Исторические формализмы

  • LMNL это неиерархический язык разметки, впервые описанный в 2002 г. Джени Теннисон и Венделл Пьез, аннотируя диапазоны документа с помощью свойств и разрешая самоперекрытие. CLIX, который первоначально расшифровывался как «Canonical LMNL In XML», предоставляет метод для представления любого документа LMNL в XML-документе вехового стиля.[40] Он также имеет другую сериализацию XML, xLMNL.[41]
  • MECS был разработан Бергенский университет с Витгенштейнский архив. Однако у него было несколько проблем: он допускал некоторые бессмысленные документы с перекрывающимися элементами, он не мог поддерживать самоперекрытие и не имел возможности определять грамматику, подобную DTD.[42] Теория Общие упорядоченно-управляемые ациклические графы (GODDAG), хотя и не является строго языком разметки, но является общей моделью данных для неиерархической разметки. Ограниченные GODDAG были разработаны специально для соответствия семантике MECS; общие GODDAG могут быть несмежными и требовать более мощного языка.[43] TexMECS является преемником MECS, который имеет формальную грамматику и предназначен для представления всех GODDAG и ничего, кроме GODDAG.[44]
  • XCONCUR (ранее MuLaX) представляет собой смесь XML и SGML CONCUR, а также содержит язык проверки, XCONCUR-CL, и SAX -подобный API.[45][46][47]
  • Маринелли, Витали и Заккироли предоставляют алгоритмы для преобразования между ограниченными GODDAG, ECLIX, LMNL, параллельными документами в XML, смежной разметкой и TexMECS.[48]

Кажется, что ни один из этих формализмов больше не поддерживается. Сообщество консенсуса, похоже, использует противостоящий XML или формализм на основе графов.

Активно поддерживаемые противостоящие языки XML

  • GrAF-XML,[49] standoff-XML сериализация Linguistic Annotation Framework (LAF)[50], используется, например, в Американском национальном корпусе[51]
  • PAULA-XML,[52] standoff-XML сериализация модели данных, лежащей в основе системы управления корпусом ANNIS и пакета конвертеров SALT[53]
  • NAF (Формат аннотаций НЛП / Формат аннотаций программы чтения новостей),[54], формат standoff XML, изначально разработанный в проекте NewsReader (FP7, 2013-2015[55]), в настоящее время используется инструментами НЛП, такими как FreeLing[56] (с поддержкой английского, испанского, португальского, итальянского, французского, немецкого, русского, каталонского, галисийского, хорватского, словенского и т. д.) и EusTagger[57] (с поддержкой баскского, английского, испанского языков).
  • В Чарльз Харпур Critical Archive кодируется с использованием «многоверсионных документов» (MVD) для представления вариантных версий документов и в качестве средства указания добавлений, удалений и исправлений с использованием тактической комбинации нескольких документов и независимых диапазонов в рамках базовой модели на основе графа. MVD представлен как формат файла приложения, требующий специальных инструментов для просмотра или редактирования.[58]

Во многих приложениях[пример необходим ], standoff XML заменен или был заменен другими формализмами противостояния, основанными на JSON (-LD (например., Веб-аннотация[59]) или формализм графа, основанный на строке URI (Смотри ниже).

Формализмы на основе графов

Разметка Standoff использует модель данных, основанную на ориентированных графах,[60] таким образом усложняя его представление при закреплении разметки в дереве. Представление перекрывающихся иерархий на графе устраняет эту проблему. Таким образом, аннотации противостояния могут быть более адекватно представлены как обобщенные направленные мультиграфы и использовать формализмы и технологии, разработанные для этой цели, в первую очередь основанные на Структура описания ресурсов (RDF).[61][62]EARMARK - ранний RDF /СОВА представление, которое включает в себя ациклические графы, ориентированные на общие упорядоченные-потомки (GODDAG).[14] Теория GODDAG, хотя и не является строго языком разметки, представляет собой общую модель данных для неиерархической разметки.

RDF - это семантическая модель данных, не зависящая от линеаризации и обеспечивающая различные линеаризации, включая формат XML (RDF / XML ), который может быть смоделирован для отражения противостояния XML, линеаризации, которая позволяет выражать RDF в атрибутах XML (RDFa ), формат JSON (JSON-LD ) и двоичные форматы, предназначенные для облегчения запросов или обработки (RDF-HDT[63], RDF-Thrift[64]). RDF семантически эквивалентен графовым моделям данных, лежащим в основе разметки standoff, он не требует специальной технологии для хранения, синтаксического анализа и запросов. Несколько взаимосвязанных файлов RDF, представляющих документ или корпус, представляют собой пример Лингвистически связанные открытые данные.

Установленный метод связывания произвольных графиков с аннотированным документом заключается в использовании URI идентификаторы фрагментов для ссылки на части текста и / или документа см. обзор под Веб-аннотация. В Веб-аннотация Стандарт предоставляет специфичные для формата `селекторы 'в качестве дополнительных средств, например, селекторы на основе смещения, совпадения строк или XPath[65].

Родные RDF-словари, способные представлять лингвистические аннотации, включают:[66]:

  • Веб-аннотация[67]
  • Формат обмена NLP (NIF)[68]
  • Формат обмена LAPPS (LIF)[69]

Связанные словари включают

  • POWLA, сериализация PAULA-XML в OWL2 / DL[70]
  • RDF-NAF, сериализация RDF формата аннотаций NLP[71]

В начале 2020 года группа сообщества W3C LD4LT выступила с инициативой по гармонизации этих словарей и разработке консолидированного словаря RDF для лингвистических аннотаций в Интернете.[72]

Примечания

  1. ^ Инициатива кодирования текста.
  2. ^ а б ДеРоуз 2004, Типы проблем.
  3. ^ Пьез 2014.
  4. ^ Ренар, Милонас и Дюран 1993 г..
  5. ^ Теннисон 2008.
  6. ^ MoChridhe 2019.
  7. ^ Хиксон 2002.
  8. ^ Сивонен 2003.
  9. ^ HTML, § 8.2.8 Введение в обработку ошибок и странные случаи в парсере.
  10. ^ Сперберг-Маккуин и Хайтфельд, 2000 г., 2.1. Обозначения, отличные от SGML.
  11. ^ HTML, § 3.2.5.4 Пункты.
  12. ^ Сперберг-Маккуин и Хайтфельд, 2000 г., 2.2. CONCUR.
  13. ^ ДеРоуз 2004, SGML CONCUR.
  14. ^ а б Ди Иорио, Перони и Витали, 2009 г..
  15. ^ Инициатива кодирования текста, § 20 Неиерархические структуры.
  16. ^ Дурусау 2006.
  17. ^ Инициатива кодирования текста, § 20.1 Множественное кодирование одной и той же информации.
  18. ^ Шмидт 2009.
  19. ^ Ла Фонтен 2016.
  20. ^ Шмидт 2012, 4.1 Автоматизация вариации.
  21. ^ Инициатива кодирования текста, § 20.2 Маркировка границ пустыми элементами.
  22. ^ Сперберг-Маккуин и Хайтфельд, 2000 г., 2.4. Вехи.
  23. ^ ДеРоуз 2004, Вехи в стиле TEI.
  24. ^ Бирнбаум и Торсен 2015.
  25. ^ Хентдженс Деккер и Бирнбаум 2017.
  26. ^ Инициатива кодирования текста, § 20.3 Фрагментация и восстановление виртуальных элементов.
  27. ^ ДеРоуз 2004, Сегментация.
  28. ^ Сперберг-Маккуин и Хайтфельд, 2000 г., 2.5. Фрагментация.
  29. ^ ДеРоуз 2004, Присоединяется.
  30. ^ Шмидт 2012, 3.4 Взаимосвязь.
  31. ^ Инициатива кодирования текста, § 20.4 Дополнительная разметка.
  32. ^ Шмидт 2012, 4.2 Разметка вне текста.
  33. ^ Эггерт и Шмидт 2019, Вывод.
  34. ^ а б c Ide et al. 2017 г., стр.99.
  35. ^ https://www.iso.org/standard/37326.html
  36. ^ Chiarcos et al. 2008 г..
  37. ^ https://github.com/TEIC/TEI/issues/1745
  38. ^ Сперберг-Маккуин и Хайтфельдт, 2000 г., 2.6. Разметка Standoff.
  39. ^ ДеРоуз 2004.
  40. ^ ДеРоуз 2004, CLIX и LMNL.
  41. ^ Пьез 2012.
  42. ^ Сперберг-Маккуин и Хайтфельд, 2000 г., 2.7. MECS.
  43. ^ Сперберг-Маккуин и Хайтфельд, 2000 г..
  44. ^ Huitfeldt & Sperberg-McQueen 2003.
  45. ^ Гильберт, Шенефельд и Витт 2005.
  46. ^ Witt et al. 2007 г..
  47. ^ Шенефельд 2008.
  48. ^ Маринелли, Витали и Заккироли 2008.
  49. ^ https://sourceforge.net/projects/iso-graf/
  50. ^ https://www.iso.org/standard/37326.html
  51. ^ http://www.anc.org/
  52. ^ https://www.sfb632.uni-potsdam.de/en/paula.html
  53. ^ https://corpus-tools.org/salt/
  54. ^ https://github.com/newsreader/NAF
  55. ^ https://cordis.europa.eu/project/id/316404
  56. ^ «Архивная копия». Архивировано из оригинал на 2012-04-29. Получено 2020-04-06.CS1 maint: заархивированная копия как заголовок (связь)
  57. ^ http://www.hitz.eus/en/nlp
  58. ^ Эггерт и Шмидт 2019.
  59. ^ https://www.w3.org/TR/annotation-model/
  60. ^ Ide & Suderman 2007.
  61. ^ Кэссиди 2010.
  62. ^ Chiarcos 2012.
  63. ^ http://www.rdfhdt.org/
  64. ^ https://afs.github.io/rdf-thrift/
  65. ^ https://w3c.github.io/web-annotation/selector-note/
  66. ^ Чимиано, Филипп; Чиаркос, Кристиан; McCrae, John P .; Грация, Хорхе (2020). Лингвистические связанные данные. Представление, генерация и приложения. Чам: Спрингер.
  67. ^ Верспур, Карин; Ливингстон, Кевин (2012). «На пути к адаптации лингвистических аннотаций к формализмам научных аннотаций в семантической сети». Материалы шестого семинара по лингвистической аннотации, Чеджу, Республика Корея: 75–84. Получено 6 апреля 2020.
  68. ^ https://persistence.uni-leipzig.org/nlp2rdf/
  69. ^ https://wiki.lappsgrid.org/interchange/overview.html
  70. ^ http://purl.org/powla
  71. ^ http://wordpress.let.vupr.nl/naf/
  72. ^ https://github.com/ld4lt/linguistic-annotation

Рекомендации