Skip to content

Interlinear glossierter Text: Morphemsegmentierung und Leipziger Glossen

Sätze in Potato Wort für Wort glossieren, mit Morphemsegmentierung, Leipziger Ausrichtungsprüfungen und zusätzlichen Tiers, und als FLExText, Toolbox oder gb4e-LaTeX exportieren.

Neu in v2.12.0

Ein Schema vom Typ interlinear_gloss zeigt einen Satz als eine Spalte pro Wort. Jede Spalte enthält das Wort (schreibgeschützt), seine Morphemsegmentierung und seine Glosse, und die freie Übersetzung steht in einer Zeile unter den Spalten. Es eignet sich für Sprachdokumentation, typologische Daten und die Prüfung von Glossen, die aus FLEx oder Toolbox importiert wurden. Auf einem schmalen Bildschirm brechen die Spalten in weitere Zeilen um, wie ein langes Beispiel im Druck.

Die Seite prüft jedes Wort anhand der Leipzig Glossing Rules (Comrie, Haspelmath & Bickel), während der Annotator tippt. Linguistische Feldforschung beschreibt den Hin- und Rückweg mit FLEx und Toolbox.

Konfiguration

yaml
annotation_schemes:
  - annotation_type: interlinear_gloss
    name: igt
    description: Segment each word into morphemes and gloss every morpheme
    source_field: text            # sentence string, or a list of words
    morphemes_field: morphemes    # optional pre-filled segmentation
    gloss_field: glosses          # optional pre-filled glosses
    translation_field: translation
    tiers: [pos, notes]           # optional extra lines per word
    abbreviations: leipzig        # warn on unknown category labels
    language: la                  # BCP 47 tag of the object language
    metalanguage: en              # language of the glosses and translation
    label_requirement:
      required: true
json
{"id": "latin_1", "text": "Puella rosam amat.",
 "morphemes": ["puell-a", "ros-am", "ama-t"],
 "glosses": ["girl-NOM.SG", "rose-ACC.SG", "love-3SG"],
 "translation": "The girl loves the rose.",
 "pos": ["n", "n", "v"]}

Enthält source_field einen String, wird er an Leerzeichen getrennt, und Satzzeichen am Rand jedes Worts (., ,, ?, Anführungszeichen und Klammern) werden entfernt. Bindestriche und = innerhalb eines Worts bleiben erhalten. Um die Wörter genau festzulegen, geben Sie eine Liste an.

Die Vorbelegungsfelder nehmen eine Liste mit einem Eintrag pro Wort oder einen String mit einem durch Leerzeichen getrennten Eintrag pro Wort. Ein konfigurierter Tier wird aus einem gleichnamigen Item-Feld vorbelegt, wenn dieses Feld eine Liste ist. Ein Wort ohne vorbelegte Segmentierung beginnt mit dem Wort selbst in der Segmentierungszelle, sodass der Annotator nur die Grenzen eintippt.

SchlüsselStandardBedeutung
source_fieldtextItem-Feld mit dem Satz (String) oder den Wörtern (Liste)
morphemes_fieldkeinerItem-Feld mit einer Segmentierung pro Wort
gloss_fieldkeinerItem-Feld mit einer Glosse pro Wort
translation_fieldkeinerItem-Feld mit der freien Übersetzung
tiers[]Zusätzliche Zeilen pro Wort, etwa [pos, notes]. word, morphemes und gloss sind reserviert
abbreviationskeinerleipzig für die Standardliste, eine Liste von Labels oder eine Zuordnung von Label zu Bedeutung. [leipzig, EVID, AOR] ergänzt die Standardlabels um eigene. Ohne diese Angabe werden Labels nicht geprüft
languagekeinerSprach-Tag, das an den Wort- und Segmentierungszellen gesetzt und in FLExText geschrieben wird
metalanguagekeinerSprach-Tag für die Glossen-, Tier- und Übersetzungszellen
show_translationtrueZeigt die Zeile mit der freien Übersetzung an
label_requirementkeinerrequired: true blockiert Next, bis jedes Wort segmentiert, glossiert und ausgerichtet ist

Ausrichtungs- und Labelprüfungen

Für jedes Wort müssen Segmentierung und Glosse dieselben Grenzen - (Affix) und = (Klitikon) in derselben Reihenfolge haben. ros-am mit rose-ACC.SG ist ausgerichtet, und rose-ACC-SG hat eine Grenze zu viel. vir-um=que mit man-ACC.SG-and hat die richtige Zahl an Grenzen, glossiert aber das Klitikon =que als Affix und wird daher ebenfalls markiert.

Ein Wort wird als nicht ausgerichtet markiert, mit dem Grund unter seiner Spalte, wenn:

  • die Grenzen sich in Anzahl, Art oder Reihenfolge unterscheiden;
  • ein Morphem oder eine Glosse zwischen zwei Grenzen leer ist (ev--ler, house-);
  • eine Zelle ein Leerzeichen enthält. Verbinden Sie die Wörter einer Glosse mit . (put.in.bag) und trennen Sie Morpheme mit - oder =.

Infixe in spitzen Klammern (s<um>ulat) werden in beiden Zeilen gezählt, aber nicht nach Position gepaart, weil die Glosse des Infixes neben der Glosse des Stamms steht statt in ihr.

Ein nicht ausgerichtetes Wort hat einen roten Rand, ein ≠ vor dem Wort und aria-invalid an beiden Zellen, und ein Wort, bei dem nur eine der beiden Zeilen ausgefüllt ist, wird als noch nicht glossiert angezeigt. Der Zähler oben im Widget gibt an, wie viele Wörter nicht ausgerichtet sind, und wenn das Schema erforderlich ist, blockiert jeder der beiden Zustände Next.

Labels grammatischer Kategorien (Wörter in Großbuchstaben und Person-Numerus-Kombinationen wie ACC und 3SG) werden unter der Glossenzelle in Kapitälchen angezeigt. Ist abbreviations gesetzt, erscheint ein Label, das nicht in der Liste steht, als Warnung unter dem Wort, etwa "Unknown label: EVID", die Next nicht blockiert. Die Prüfung akzeptiert zusammengeschriebene Person und Numerus (3SG), das Präfix N- für "nicht" (NSG, NPST) und Ø.

TasteAktion
Tab, Shift+TabNächste oder vorherige Zelle: die Zeilen eines Worts hinunter, dann weiter zum nächsten Wort
EnterDieselbe Zeile des nächsten Worts oder, vom letzten Wort aus, die Übersetzung
Shift+EnterDieselbe Zeile des vorherigen Worts

Gespeicherte Antwort

json
{"words": [{"word": "Puella", "morphemes": "puell-a", "gloss": "girl-NOM.SG",
            "pos": "n", "notes": ""}],
 "translation": "The girl loves the rose."}

Ein Item, das mit einer vorbelegten Analyse kam, wird gespeichert, wenn der Annotator Next drückt, auch wenn nichts bearbeitet wurde, sodass ein bestätigter Import als Antwort dieser Person gespeichert wird. Ein Item ohne Vorbelegung wird gespeichert, sobald der Annotator darin tippt.

Export

FormatDateienInhalt
flextext<user>.flextextInterlineares XML von FieldWorks, eine Datei pro Annotator
toolbox<user>.txtToolbox-Standardformat mit spaltenweise ausgerichteten Zeilen \tx \mb \ge \ps \ft
igtigt.txt, igt.texAusgerichteter reiner Text und gb4e-LaTeX
bash
python -m potato.export --config config.yaml --format igt --output out/

igt.tex enthält eine exe-Umgebung mit einem \ex pro gespeicherter Antwort, Segmentierung und Glosse in einer \gll-Zeile und die Übersetzung in \glt. Kategorielabels werden als \textsc{...} in Kleinbuchstaben geschrieben, und die Sonderzeichen von LaTeX werden maskiert. Laden Sie gb4e in der Präambel und kompilieren Sie für andere Schriften als die lateinische mit XeLaTeX oder LuaLaTeX.

Wörter, die noch nicht ausgerichtet sind, werden wie gespeichert exportiert, und der Export gibt aus, wie viele es waren. FLExText und Toolbox ordnen Glossen eins zu eins Morphemen zu, daher kommt dort die gesamte Glosse eines nicht ausgerichteten Worts auf sein erstes Morphem.

Beispiel

bash
python potato/flask_server.py start examples/span/interlinear-gloss/config.yaml -p 8000

Das Beispiel enthält vier zur Veranschaulichung glossierte lateinische Sätze. Einer ist vollständig, einer ist leer, einer hat eine Segmentierung und keine Glossen, und einer enthält einen absichtlichen Fehler: das Klitikon -que, glossiert mit -.

Weiterführende Informationen

Implementierungsdetails finden Sie in der Quelldokumentation.