Överlappande uppmärkning

I märkningsspråk och digital humaniora uppstår överlappning när ett dokument har två eller flera strukturer som interagerar på ett icke- hierarkiskt sätt . Ett dokument med överlappande markering kan inte representeras som ett träd . Detta är också känt som samtidig uppmärkning . Överlappning sker, till exempel, i poesi , där det kan finnas en metrisk struktur av fötter och linjer; en språklig struktur av meningar och citat; och en fysisk struktur av volymer och sidor och redaktionella kommentarer.

Historia

De strukturella skillnaderna mellan flera upplagor av Frankenstein har analyserats med överlappande tekniker.

Problemet med icke-hierarkiska strukturer i dokument har erkänts sedan 1988; att lösa det mot det dominerande paradigmet av text som en enda hierarki (en ordnad hierarki av innehållsobjekt eller OHCO ) ansågs från början bara vara en teknisk fråga, men har i själva verket visat sig mycket svårare. 2008 Jeni Tennison märkningsöverlappning som "det huvudsakliga återstående problemområdet för märkningstekniker". Markup-överlappning fortsätter att vara en primär fråga i den digitala studien av teologiska texter under 2019, och är en viktig anledning till att fältet behåller specialiserade uppmärkningsformat – Open Scripture Information Standard och Theological Markup Language – snarare än den interoperabla textkodningen Initiativbaserade format som är gemensamma för övriga digitala humaniora .

Egenskaper och typer

Det finns en skillnad mellan scheman som tillåter icke sammanhängande överlappning, och de som endast tillåter sammanhängande överlappning. Ofta betyder "markup överlappning" strikt det senare. Sammanhängande överlappning kan alltid representeras som ett linjärt dokument med milstolpar (typiskt samindexerade start- och slutmarkörer), utan att behöva fragmentera en (logisk) komponent i flera fysiska. Icke-sammanhängande överlappning kan kräva dokumentfragmentering. En annan skillnad i överlappande uppmärkningsscheman är om element kan överlappa andra element av samma slag ( självöverlappning) .

Ett schema kan ha en privilegierad hierarki. Vissa XML -baserade scheman representerar till exempel en hierarki direkt i XML-dokumentträdet och representerar andra överlappande strukturer på annat sätt; dessa sägs vara icke-privilegierade .

Schmidt (2012) identifierar en tredelad klassificering av instanser av överlappning: 1. "Variation av innehåll och struktur", 2. "Överlagring av flera perspektiv eller uppmärkningsuppsättningar" och 3. "Överlappning av individuella start- och sluttaggar inom en enda uppmärkning perspektiv"; dessutom är några uppenbara fall av överlappning i själva verket problem med schemadefinition, som kan lösas hierarkiskt. Han hävdar att typ 1 löses bäst med ett system med flera dokument utanför uppmärkningen, men att typ 2 och 3 kräver att de hanteras internt.

Tillvägagångssätt och implementeringar

DeRose (2004, Utvärderingskriterier) identifierar flera kriterier för att bedöma lösningar på överlappningsproblemet:

  • läsbarhet och underhållbarhet,
  • verktygsstöd och kompatibilitet med XML,
  • möjliga valideringssystem, och
  • enkel bearbetning.

Tagsoppa är strängt taget inte överlappande märkning – den är felaktig HTML , som är ett icke-överlappande språk och kan vara dåligt definierat. Vissa webbläsare försökte representera överlappande start- och sluttaggar med icke-hierarkiska Document Object Models (DOM), men detta standardiserades inte över alla webbläsare och var inkompatibelt med DOM:s inneboende hierarkiska karaktär. HTML5 definierar hur processorer ska hantera sådan felkapslad uppmärkning i HTML-syntaxen och förvandla den till en enda hierarki. Med XHTML och SGML -baserad HTML är felkapslad uppmärkning ett strikt fel och gör bearbetning av standardkompatibla system omöjlig. HTML-standarden definierar ett styckebegrepp som kan orsaka överlappning med andra element och kan vara icke-sammanhängande.

SGML , som tidiga versioner av HTML baserades på, har en funktion som heter CONCUR som tillåter flera oberoende hierarkier att samexistera utan att privilegiera någon. DTD- validering definieras endast för varje enskild hierarki med CONCUR. Validering över hierarkier definieras inte av standarden. CONCUR kan inte stödja självöverlappning, och det interagerar dåligt med några av SGML:s förkortningsfunktioner. Den här funktionen har fått dåligt stöd av verktyg och har sett väldigt lite faktisk användning; att använda CONCUR för att representera dokumentöverlappning var inte ett rekommenderat användningsfall, enligt en kommentar från standardens redaktör.

Inom hierarkiska språk

Det finns flera sätt att representera överlappning i ett icke-överlappande språk. Text Encoding Initiative , som ett XML-baserat uppmärkningsschema, kan inte direkt representera överlappande uppmärkning. Alla fyra av nedanstående tillvägagångssätt föreslås. Open Scripture Information Standard är ett annat XML-baserat schema, designat för att markera Bibeln . Den använder tomma milstolpselement för att koda icke-privilegierade komponenter.

För att illustrera dessa tillvägagångssätt kommer meningarna och raderna i ett fragment av Richard III av William Shakespeare att användas som ett löpande exempel. Där det finns en privilegierad hierarki kommer raderna att användas.

Flera dokument

Flera dokument kan var och en tillhandahålla olika internt konsekventa hierarkier. Fördelen med detta tillvägagångssätt är att varje dokument är enkelt och kan bearbetas med befintliga verktyg, men kräver underhåll av redundant innehåll och det kan vara svårt att korsreferens mellan olika vyer. Med flera dokument kan överlappningen analyseras med datajämförelse och deltakodningstekniker , och i ett XML-sammanhang finns specifika XML-trädsskillnadsalgoritmer tillgängliga.

Schmidt (2012 , 3.5 Variation) rekommenderar detta tillvägagångssätt för att koda flera varianter av en enda text och för att acceptera duplicering av de delar som inte varierar, snarare än att försöka skapa en struktur som representerar all variation som finns; vidare föreslår han att denna inriktning utförs automatiskt, och att feljustering är sällsynt i praktiken.

Exempel, med rader markerade:

  
  
  
   <line>  Jag, genom advokat, välsignar dig från din mor,  </line>  <line>  Som ständigt ber för Richmonds bästa.  </line>  <line>  Så mycket för det.—De tysta timmarna smyger sig på,  </line>  <line>  Och flagnande mörker bryter upp i öster.  </line> 

Med meningar markerade:

  
   <sats>  Jag, genom advokat, välsignar dig från din mor, som ständigt ber för Richmonds bästa.  </sentence>  <sentence>  Så mycket för det.  </sentence><sentence>  —De tysta timmarna smyger sig på, och fläckigt mörker bryter upp i öster.  </sentence> 

Milstolpar

Milstolpar är tomma element som markerar början och slutet av en komponent, vanligtvis med hjälp av XML ID-mekanismen för att indikera vilket "begin"-element som går med vilket "end"-element. Milstolpar kan användas för att bädda in en icke-privilegierad struktur i ett hierarkiskt språk, i sin grundläggande form kan de endast representera sammanhängande överlappning. Generisk XML kan naturligtvis analysera milstolpeelementen, men förstår inte deras speciella betydelse och kan därför inte enkelt bearbeta eller validera den icke-privilegierade strukturen.

Milstolpar har fördelen att markeringen för överlappande element är placerad precis vid relevanta gränser, precis som andra markeringar. Detta är en fördel för underhåll och läsbarhet. CLIX ( DeRose 2004 ) är ett exempel på ett sådant tillvägagångssätt.

Exempel:

   
   
     
    <line><sentence-start  />  Jag, genom advokat, välsignar dig från din mor,  </line>  <line>  Som ständigt ber för Richmonds bästa.  <sentence-end  /></line>  <line><sentence-start  />  Så mycket för det.  <sentence-end  /><sentence-start  />  —De tysta timmarna smyger sig på,  </line>  <line>  Och fläckigt mörker bryter upp i öst.  <sentence-end  /></line> 

Interpunktion och mellanslag har identifierats som en typ av milstolpeliknande "kryptoöverlappning" eller "pseudomarkering", eftersom gränserna för ord, satser, meningar och liknande inte nödvändigtvis är i linje med de formella uppmärkningsgränserna hierarkiskt.

Det är också möjligt att använda mer komplexa milstolpar för att representera icke sammanhängande strukturer. Till exempel kan TAGML:s "avstängning" och "återuppta"-semantik uttryckas med hjälp av milstolpar, till exempel genom att lägga till ett attribut för att indikera om varje milstolpe representerar en start-, avbrytnings-, återuppta- eller slutpunkt. Omordning och till och med självöverlappning kan uppnås på liknande sätt, genom att annotera varje milstolpe med en "nästa bit"-referens.

Går med

Joins är pekare inom en privilegierad hierarki till andra komponenter i den privilegierade hierarkin, som kan användas för att rekonstruera en icke-privilegierad komponent som liknar att följa en länkad lista . Ett enda icke-privilegierat element är uppdelat i flera delelement inom den privilegierade hierarkin; de partiella elementen i sig representerar inte en enda enhet i den icke-privilegierade hierarkin, vilket kan vara missvisande och försvåra bearbetningen. Även om det här tillvägagångssättet kan stödja vissa icke sammanhängande strukturer, kan det inte ordna om element. Ett lite annorlunda tillvägagångssätt kan dock uttrycka omordning genom att uttrycka kopplingen bort från innehållet, på bekostnad av direkthet och underhållbarhet.

Sammanfogningsbaserade representationer kan introducera möjligheten till cykler mellan element; att upptäcka och avvisa dessa gör implementeringarna mer komplexa.

Exempel:

   
   
    
    <line><sentence  id=  "a"  >  Jag, genom advokat, välsignar dig från din mor,  </sentence></line>  <line><sentence  continus=  "a"  >  Som ständigt ber för Richmonds bästa.  </sentence></line>  <line><sentence  id=  "b"  >  Så mycket för det.  </sentence><sentence  id=  "c"  >  —De tysta timmarna smyger sig på,  </sentence></line>  <line><sentence  continus=  "c"  >  Och flagnande mörker bryter in i öst.  </sentence></line> 

Stand-off markering

Stand-off-markering liknar att använda kopplingar, förutom att det kanske inte finns någon privilegierad hierarki: varje del av dokumentet får en etikett (eller kan refereras till med en offset), och dokumentstrukturen uttrycks genom att peka på innehållet från uppmärkning som "står av" från innehållet (möjligen i en helt annan fil), och som kanske inte innehåller något innehåll i sig. TEI-riktlinjerna identifierar enhetens enhet som en primär fördel med fristående markering framför sammanfogningar, förutom möjligheten att producera och distribuera kommentarer separat från texten, möjligen till och med av olika författare som använder uppmärkning på ett skrivskyddat dokument, tillåta samarbetsstrategier för markering genom en splittra och erövra- strategi.

Exempel:

   
   
    
     
    
    
    
    
    
     <span  id=  "a"  >  Jag, genom advokat, välsignar dig från din mor,  </span>  <span  id=  "b"  >  Som ständigt ber för Richmonds bästa.  </span>  <span  id=  "c"  >  Så mycket för det.  </span><span  id=  "d"  >  —De tysta timmarna smyger sig på,  </span>  <span  id=  "e"  >  Och flagnande mörker bryter upp i öster.  </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"  /> 

Det har hävdats att separering av uppmärkning och text kan resultera i övergripande förenkling och ökad underhållsbarhet, och senast 2017 är "[d]en aktuella tekniken för att [representera] (...) språkligt annoterade data att använda en graf -baserad representation serialiserad som standoff XML som ett pivotformat´´, dvs att standoff var det mest accepterade tillvägagångssättet för att ta itu med den överlappande markup-utmaningen.

Standoff-formalismer har legat till grund för en ISO-standard för språklig annotering, de har använts framgångsrikt för att utveckla korpushanteringssystem och (från april 2020) utvecklas de aktivt i TEI.

Utmaningar

Att representera överlappande uppmärkning inom hierarkiska språk är utmanande på grund av redundans och/eller komplexitet. Under 2000-talet till 2010-talet accepterades avståndsformalismer generellt som det mest lovande tillvägagångssättet här, men en nackdel med avstånd är att validering är mycket utmanande. Standoff-formalismer stöds inte naturligt av databashanteringssystem, så att det (senast 2017) föreslogs att "använda ... standoff XML som ett pivotformat (...) och relationsdatabaser för förfrågningar." I praktiska tillämpningar , kräver detta komplicerade arkitekturer och/eller arbetsintensiv transformation mellan pivotformat och intern representation. Som ett resultat är underhållet problematiskt. Detta har varit en motivering till att utveckla korpushanteringssystem på basis av grafdatabaser och att använda etablerade grafbaserade formalismer som pivotformat.

Specialspråk

För att implementera de ovan nämnda strategierna kan antingen befintliga märkningsspråk (som TEI) utökas eller specialspråk utformas. Att designa ett helt nytt märkningsspråk gör det möjligt att avstå från verktygsstödet i befintliga språk för en mindre komplicerad semantisk modell och mer bekväm syntax.

Historiska formalismer

  • LMNL är ett icke-hierarkiskt märkningsspråk som först beskrevs 2002 av Jeni Tennison och Wendell Piez, som kommenterar områden i ett dokument med egenskaper och tillåter självöverlappning. CLIX , som ursprungligen stod för 'Canonical LMNL In XML', tillhandahåller en metod för att representera vilket LMNL-dokument som helst i ett milstolpeliknande XML-dokument. Den har också en annan XML-serialisering, xLMNL.
  • MECS utvecklades av universitetet i Bergens Wittgenstein-arkiv. Den hade dock flera problem: den tillät vissa icke-sensibla dokument av överlappande element, den kunde inte stödja självöverlappning och den hade inte kapacitet att definiera en DTD-liknande grammatik. Teorin om General Ordered-Descendant Directed Acyclic Graphs (GODDAGs), även om det inte är strikt ett uppmärkningsspråk i sig, är en generell datamodell för icke-hierarkisk uppmärkning. Restricted GODDAGs designades specifikt för att matcha semantiken i MECS; allmänna GODDAG:er kan vara icke-sammanhängande och behöver ett kraftfullare språk. TexMECS är en efterföljare till MECS, som har en formell grammatik och är designad för att representera varje GODDAG och ingenting som inte är en GODDAG.
  • XCONCUR (tidigare MuLaX) är en sammanslagning av XML och SGML:s CONCUR, och innehåller även ett valideringsspråk, XCONCUR-CL, och ett SAX -liknande API.
  • Marinelli, Vitali och Zacchiroli tillhandahåller algoritmer för att konvertera mellan begränsade GODDAGs, ECLIX, LMNL, parallella dokument i XML, kontinuerlig avståndsmarkering och TexMECS.

Ingen av dessa formalismer verkar upprätthållas längre. Konsensusgemenskapen verkar vara att använda standoff XML eller grafbaserade formalismer.

Aktivt underhållna avståndstagande XML-språk

  • GrAF-XML, standoff-XML-serialisering av Linguistic Annotation Framework (LAF), använd t.ex. för American National Corpus
  • PAULA-XML, standoff-XML-serialisering av datamodellen som ligger till grund för korpushanteringssystemet ANNIS och omvandlarsviten SALT
  • NAF (NLP Annotation Format / Newsreader Annotation Format), standoff XML-format som ursprungligen utvecklades i NewsReader-projektet (FP7, 2013-2015), som för närvarande används av NLP-verktyg som FreeLing (med stöd för engelska, spanska, portugisiska, italienska, franska, tyska, ryska, katalanska, galiciska, kroatiska, slovenska, etc.) och EusTagger (med stöd för baskiska, engelska, spanska).
  • Charles Harpur Critical Archive är kodat med hjälp av "multi-version documents" (MVD) för att representera variantversionerna av dokument och som ett sätt att indikera tillägg, raderingar och revisioner med hjälp av en taktisk kombination av flera dokument och avståndsintervall inom en underliggande grafbaserad modell. MVD presenteras som ett applikationsfilformat som kräver specialiserade verktyg för att visa eller redigera.

Standoff-metoder har två delar, vanligtvis kallade "innehållet" och "anteckningarna". Dessa kan uttryckas i icke-relaterade representationer. Enkla distanskommentarer i sig involverar inte mer än en lista med (plats, typ) par. I ett fåtal applikationer [ exempel behövs ] uttrycks således fristående kommentarer i CSV, JSON ( -LD eller andra representationer. (t.ex. Web Annotation ) eller grafformalismer grundade i sträng -URI :er (se nedan). Men representerar och validerar innehåll i sådana representationer är mycket svårare och mycket mindre vanligt.

Grafbaserade formalismer

Standoff-markering använder en datamodell baserad på riktade grafer, vilket komplicerar dess representation när markeringsinformation jordas i ett träd. Att representera överlappande hierarkier i en graf eliminerar denna utmaning. Standoff-annoteringar kan således representeras mer adekvat som generaliserade riktade multigrafer och använda formalismer och teknologier som utvecklats för detta ändamål, framför allt de som baseras på Resource Description Framework (RDF) . EARMARK är en tidig RDF / OWL -representation som omfattar General Ordered-Descendant Directed Acyclic Graphs (GODDAG). Teorin om GODDAGs, även om den inte är strikt ett märkningsspråk i sig, är en allmän datamodell för icke-hierarkisk märkning.

RDF är en semantisk datamodell som är linjäriseringsoberoende, och den tillhandahåller olika lineariseringar, inklusive ett XML-format ( RDF/XML ) som kan modelleras för att spegla avstånds-XML, en linjärisering som låter RDF uttryckas i XML-attribut ( RDFa ), ett JSON-format ( JSON-LD ), och binära format utformade för att underlätta sökning eller bearbetning (RDF-HDT, RDF-Thrift). RDF är semantiskt ekvivalent med grafbaserade datamodeller som ligger till grund för fristående markering, den kräver ingen specialteknologi för lagring, analys och sökning. Flera sammanlänkade RDF-filer som representerar ett dokument eller en korpus utgör ett exempel på Linguistic Linked Open Data .

En etablerad teknik för att länka godtyckliga grafer med ett kommenterat dokument är att använda URI- fragmentidentifierare för att referera till delar av en text och/eller ett dokument, se översikt under Webannotering . Web Annotation -standarden tillhandahåller formatspecifika `väljare' som ett ytterligare sätt, t.ex. offset-, strängmatchnings- eller XPath-baserade väljare.

Infödda RDF-ordförråd som kan representera språkliga kommentarer inkluderar:

  • Webbennotering
  • NLP Interchange Format (NIF)
  • LAPPS Interchange Format (LIF)

Relaterade ordförråd inkluderar

  • POWLA, en OWL2/DL-serialisering av PAULA-XML
  • RDF-NAF, en RDF-serialisering av NLP-anteckningsformatet

I början av 2020 har W3C Community Group LD4LT lanserat ett initiativ för att harmonisera dessa vokabulärer och för att utveckla ett konsoliderat RDF-ordförråd för språkliga kommentarer på webben.

Anteckningar