En los lenguajes de marcado y las humanidades digitales , la superposición se produce cuando un documento tiene dos o más estructuras que interactúan de manera no jerárquica . Un documento con marcado superpuesto no se puede representar como un árbol . Esto también se conoce como marcado concurrente . La superposición ocurre, por ejemplo, en poesía , donde puede haber una estructura métrica de pies y líneas; una estructura lingüística de oraciones y citas; y una estructura física de volúmenes y páginas y anotaciones editoriales. [1] [2]
El problema de las estructuras no jerárquicas en los documentos se reconoce desde 1988; resolverlo frente al paradigma dominante del texto como una única jerarquía (una jerarquía ordenada de objetos de contenido u OHCO ) se pensó inicialmente que era meramente un problema técnico, pero, de hecho, ha demostrado ser mucho más difícil. [4] En 2008, Jeni Tennison identificó la superposición de marcado como "la principal área problemática restante para los tecnólogos del marcado". [5] La superposición de marcado sigue siendo un problema principal en el estudio digital de textos teológicos en 2019, y es una de las principales razones por las que el campo conserva formatos de marcado especializados (el Estándar Abierto de Información Bíblica y el Lenguaje de Marcado Teológico ) en lugar de los formatos interoperables basados en la Iniciativa de Codificación de Texto comunes al resto de las humanidades digitales . [6]
Existe una distinción entre los esquemas que permiten la superposición no contigua y aquellos que solo permiten la superposición contigua. A menudo, la "superposición de marcado" significa estrictamente lo último. La superposición contigua siempre se puede representar como un documento lineal con hitos (normalmente marcadores de inicio y fin indexados conjuntamente), sin la necesidad de fragmentar un componente (lógico) en varios componentes físicos. La superposición no contigua puede requerir la fragmentación del documento. Otra distinción en los esquemas de marcado superpuestos es si los elementos pueden superponerse con otros elementos del mismo tipo ( autosuperposición ). [2]
Un esquema puede tener una jerarquía privilegiada . Algunos esquemas basados en XML , por ejemplo, representan una jerarquía directamente en el árbol del documento XML y representan otras estructuras superpuestas por otros medios; se dice que estos esquemas no son privilegiados .
Schmidt (2012) identifica una clasificación tripartita de los casos de superposición: 1. "Variación de contenido y estructura", 2. "Superposición de múltiples perspectivas o conjuntos de marcado", y 3. "Superposición de etiquetas de inicio y fin individuales dentro de una única perspectiva de marcado"; además, algunos casos aparentes de superposición son, de hecho, problemas de definición de esquemas, que pueden resolverse jerárquicamente. Sostiene que el tipo 1 se resuelve mejor mediante un sistema de múltiples documentos externos al marcado, pero los tipos 2 y 3 requieren un tratamiento interno.
DeRose (2004, Criterios de evaluación) identifica varios criterios para juzgar las soluciones al problema de superposición:
En sentido estricto, la sopa de etiquetas no es un marcado superpuesto, sino HTML mal formado , que es un lenguaje que no se superpone y puede estar mal definido. Algunos navegadores web intentaron representar las etiquetas de inicio y fin superpuestas con modelos de objetos de documento (DOM) no jerárquicos, pero esto no estaba estandarizado en todos los navegadores y era incompatible con la naturaleza jerárquica innata del DOM. [7] [8] HTML5 define cómo los procesadores deben tratar este marcado mal anidado en la sintaxis HTML y convertirlo en una única jerarquía. [9] Sin embargo, con HTML basado en XHTML y SGML , el marcado mal anidado es un error estricto y hace que el procesamiento por parte de sistemas que cumplen con los estándares sea imposible. [10] El estándar HTML define un concepto de párrafo que puede causar superposición con otros elementos y puede no ser contiguo. [11]
SGML , en el que se basaban las primeras versiones de HTML, tiene una característica llamada CONCUR que permite que coexistan varias jerarquías independientes sin privilegiar ninguna. La validación de DTD solo se define para cada jerarquía individual con CONCUR. La validación entre jerarquías no está definida por el estándar. CONCUR no admite la superposición de documentos y su interacción con algunas de las funciones abreviadas de SGML es deficiente. Esta característica ha recibido un soporte deficiente de las herramientas y ha tenido muy poco uso real; el uso de CONCUR para representar la superposición de documentos no era un caso de uso recomendado, según un comentario del editor del estándar. [12] [13]
Existen varios enfoques para representar la superposición en un lenguaje que no se superpone. [14] La Text Encoding Initiative , como un esquema de marcado basado en XML, no puede representar directamente el marcado superpuesto. Se sugieren los cuatro enfoques siguientes. [15] El Open Scripture Information Standard es otro esquema basado en XML, diseñado para marcar la Biblia . Utiliza elementos de hito vacíos para codificar componentes no privilegiados. [16]
Para ilustrar estos enfoques, se utilizará como ejemplo el marcado de las frases y versos de un fragmento de Ricardo III de William Shakespeare . En los casos en que exista una jerarquía privilegiada, se utilizarán los versos.
Cada documento puede proporcionar diferentes jerarquías internamente consistentes. La ventaja de este enfoque es que cada documento es simple y se puede procesar con las herramientas existentes, pero requiere el mantenimiento de contenido redundante y puede resultar difícil realizar referencias cruzadas entre diferentes vistas. [17] Con varios documentos, la superposición se puede analizar con técnicas de comparación de datos y codificación delta y, en un contexto XML, hay disponibles algoritmos específicos de diferenciación de árboles XML. [18] [19]
Schmidt (2012, 3.5 Variación) recomienda este enfoque para codificar múltiples variantes de un solo texto y aceptar la duplicación de las partes que no varían, en lugar de intentar crear una estructura que represente toda la variación presente; además, sugiere que esta alineación se realice automáticamente y que la desalineación es poco común en la práctica. [20]
Ejemplo, con líneas marcadas:
<line> Yo, por abogado, te bendigo de parte de tu madre, </line> <line> que reza continuamente por el bien de Richmond . </line> <line> Hasta ahí llega eso . Las horas silenciosas avanzan lentamente, </line> <line> y una oscuridad escamosa irrumpe en el este. </line>
Con oraciones marcadas:
<sentence> Yo, por abogado, te bendigo de parte de tu madre, que reza continuamente por el bien de Richmond . </sentence> <sentence> Hasta ahí llega eso. </sentence><sentence> —Las horas silenciosas avanzan lentamente, y una oscuridad escamosa irrumpe en el este. </sentence>
Los hitos son elementos vacíos que marcan el comienzo y el final de un componente, generalmente utilizando el mecanismo de identificación XML para indicar qué elemento de "inicio" va con qué elemento de "fin". Los hitos se pueden utilizar para incrustar una estructura no privilegiada dentro de un lenguaje jerárquico. En su forma básica, solo pueden representar superposiciones contiguas. Por supuesto, el XML genérico puede analizar los elementos de hito, pero no comprende su significado especial y, por lo tanto, no puede procesar o validar fácilmente la estructura no privilegiada. [21] [22]
Milestone tiene la ventaja de que el marcado de los elementos superpuestos se ubica justo en los límites correspondientes, al igual que cualquier otro marcado. Esto es una ventaja para la facilidad de mantenimiento y la legibilidad. [23] CLIX (DeRose 2004) es un ejemplo de este tipo de enfoque.
Ejemplo:
<line><sentence-start /> Yo, por abogado, te bendigo de parte de tu madre, </line> <line> que reza continuamente por el bien de Richmond . <sentence-end /></line> <line><sentence-start /> Hasta ahí llega eso . <sentence-end /><sentence-start /> —Las horas silenciosas avanzan lentamente, </line> <line> y una oscuridad escamosa irrumpe en el este. <sentence-end /></line>
La puntuación y los espacios se han identificado como un tipo de "superposición criptográfica" o "pseudomarcado" de estilo hito, ya que los límites de las palabras, cláusulas, oraciones y similares no se alinean necesariamente con los límites del marcado formal de manera jerárquica. [24] [25]
También es posible utilizar hitos más complejos para representar estructuras no contiguas. Por ejemplo, la semántica de "suspender" y "reanudar" de TAGML [26] se puede expresar mediante hitos, por ejemplo, añadiendo un atributo para indicar si cada hito representa un punto de inicio, suspensión, reanudación o finalización. La reordenación e incluso la superposición de los mismos se pueden lograr de forma similar, anotando cada hito con una referencia al "siguiente fragmento".
Las uniones son punteros dentro de una jerarquía privilegiada a otros componentes de la jerarquía privilegiada, que pueden usarse para reconstruir un componente no privilegiado de manera similar a seguir una lista enlazada . Un único elemento no privilegiado se segmenta en varios elementos parciales dentro de la jerarquía privilegiada; los elementos parciales en sí mismos no representan una única unidad en la jerarquía no privilegiada, lo que puede ser engañoso y dificultar el procesamiento. [27] [28] Si bien este enfoque puede admitir algunas estructuras no contiguas, no puede reordenar elementos. [29] Sin embargo, un enfoque ligeramente diferente puede expresar el reordenamiento al expresar la unión fuera del contenido, a costa de la direccionalidad y la facilidad de mantenimiento. [30]
Las representaciones basadas en uniones pueden introducir la posibilidad de ciclos entre elementos; detectarlos y rechazarlos agrega complejidad a las implementaciones. [31]
Ejemplo:
<line><sentence id= "a" > Yo, por abogado, te bendigo de parte de tu madre, </sentence></line> <line><sentence continues= "a" > Quien reza continuamente por el bien de Richmond . </sentence></line> <line><sentence id= "b" > Hasta ahí llegó eso . </sentence><sentence id= "c" > —Las horas silenciosas avanzan lentamente, </sentence></line> <line><sentence continues= "c" > Y una oscuridad escamosa irrumpe en el este. </sentence></line>
El marcado independiente es similar al uso de uniones, excepto que puede no haber una jerarquía privilegiada: a cada parte del documento se le asigna una etiqueta (o puede ser referenciada por un desplazamiento), y la estructura del documento se expresa apuntando al contenido del marcado que "se separa" del contenido (posiblemente en un archivo completamente diferente), y puede no contener contenido en sí mismo. Las pautas de TEI identifican la unidad de los elementos como una ventaja principal del marcado independiente sobre las uniones, además de la capacidad de producir y distribuir anotaciones por separado del texto, posiblemente incluso por diferentes autores que apliquen el marcado a un documento de solo lectura, [32] lo que permite enfoques colaborativos para el marcado mediante una estrategia de divide y vencerás. [33]
Ejemplo:
<span id= "a" > Yo, por abogado, te bendigo de parte de tu madre, </span> <span id= " b" > Que reza continuamente por el bien de Richmond . </span> <span id= "c" > Hasta ahí llega eso . </span> < span id= "d" > —Las horas silenciosas avanzan lentamente, </span> <span id= "e" > Y una oscuridad escamosa irrumpe en el este. </span> ... <line contents= "a" /> <line contents= "b" /> <line contents= "c d" /> <line contents= "e" /> <sentence contents= "a b" /> <sentence contents= "c" /> <sentence contents= "d e" />
Se ha afirmado que separar el marcado y el texto puede resultar en una simplificación general y una mayor capacidad de mantenimiento, [34] y para 2017, ``[e]l estado actual de la técnica para [representar] (...) datos anotados lingüísticamente es utilizar una representación basada en gráficos serializada como XML separador como formato pivote´´, [35] es decir, que el separador fue el enfoque más ampliamente aceptado para abordar el desafío del marcado superpuesto.
Los formalismos de separación han sido la base de un estándar ISO para la anotación lingüística, [36] se han aplicado con éxito para desarrollar sistemas de gestión de corpus, [37] y (a partir de abril de 2020) se están desarrollando activamente en el TEI. [38] Un ejemplo publicado de un esquema de anotación de separación exitoso se desarrolló como parte de un proyecto de documentación de lenguaje natural bitex centrado en la preservación de idiomas con pocos recursos o en peligro de extinción. [39]
Representar el marcado superpuesto dentro de lenguajes jerárquicos es un desafío, por razones de redundancia y/o complejidad. En la década de 2000 a 2010, los formalismos de separación fueron generalmente aceptados como el enfoque más prometedor en este caso, [35] pero una desventaja de la separación es que la validación es muy desafiante. [40] Los formalismos de separación no son compatibles de forma nativa con los sistemas de gestión de bases de datos, por lo que (en 2017) se sugirió ``utilizar ... XML de separación como un formato pivote (...) y bases de datos relacionales para realizar consultas.´´ [35] En aplicaciones prácticas, esto requiere arquitecturas complicadas y/o una transformación intensiva en mano de obra entre el formato pivote y la representación interna. Como resultado, el mantenimiento es problemático. [41] Esto ha sido una motivación para desarrollar sistemas de gestión de corpus sobre la base de bases de datos de gráficos y para utilizar formalismos basados en gráficos establecidos como formatos pivote.
Para implementar las estrategias mencionadas anteriormente, se pueden ampliar los lenguajes de marcado existentes (como el TEI) o se pueden diseñar lenguajes especiales. El diseño de un lenguaje de marcado completamente nuevo permite prescindir del soporte de herramientas en los lenguajes existentes en favor de un modelo semántico menos complicado y una sintaxis más conveniente.
Ninguno de estos formalismos parece mantenerse en la actualidad. La comunidad parece estar de acuerdo en utilizar formalismos basados en gráficos o XML de separación.
Los enfoques de separación tienen dos partes, comúnmente llamadas "contenido" y "anotaciones". Estas pueden expresarse en representaciones no relacionadas. Las anotaciones de separación simples en sí mismas no implican más que una lista de pares (ubicación, tipo). Por lo tanto, en unas pocas aplicaciones [ se necesita un ejemplo ] las anotaciones de separación se expresan en CSV, JSON ( -LD u otras representaciones (por ejemplo, Web Annotation [61] ) o formalismos de gráficos basados en URI de cadena (ver a continuación). Sin embargo, representar y validar contenido en tales representaciones es mucho más difícil y mucho menos común.
El marcado de separación emplea un modelo de datos basado en gráficos dirigidos, [62] lo que complica su representación al fundamentar la información de marcado en un árbol. Representar jerarquías superpuestas en un gráfico elimina este desafío. Las anotaciones de separación se pueden representar de manera más adecuada como multigrafos dirigidos generalizados y utilizar formalismos y tecnologías desarrollados para este propósito, en particular los basados en el Marco de descripción de recursos (RDF) . [63] [64] EARMARK es una representación temprana de RDF / OWL que abarca los Gráficos Acíclicos Dirigidos Descendientes Ordenados Generales (GODDAG). [14] La teoría de GODDAG, si bien no es estrictamente un lenguaje de marcado en sí, es un modelo de datos general para el marcado no jerárquico.
RDF es un modelo de datos semántico que es independiente de la linealización y proporciona diferentes linealizaciones, incluido un formato XML ( RDF/XML ) que se puede modelar para reflejar XML separado, una linealización que permite que RDF se exprese en atributos XML ( RDFa ), un formato JSON ( JSON-LD ) y formatos binarios diseñados para facilitar la consulta o el procesamiento (RDF-HDT, [65] RDF-Thrift [66] ). RDF es semánticamente equivalente a los modelos de datos basados en gráficos que subyacen al marcado separado; no requiere tecnología de propósito especial para almacenar, analizar y consultar. Múltiples archivos RDF interconectados que representan un documento o un corpus constituyen un ejemplo de datos abiertos vinculados lingüísticos .
Una técnica establecida para vincular gráficos arbitrarios con un documento anotado es usar identificadores de fragmentos URI para hacer referencia a partes de un texto y/o documento, consulte la descripción general en Anotación web . El estándar de Anotación web proporciona "selectores" específicos del formato como un medio adicional, por ejemplo, selectores basados en desplazamiento, coincidencia de cadenas o XPath. [67]
Los vocabularios RDF nativos capaces de representar anotaciones lingüísticas incluyen: [68]
Los vocabularios relacionados incluyen
A principios de 2020, el grupo comunitario LD4LT del W3C lanzó una iniciativa para armonizar estos vocabularios y desarrollar un vocabulario RDF consolidado para anotaciones lingüísticas en la web. [74]
{{cite journal}}
: Requiere citar revista |journal=
( ayuda )