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
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{"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üssel | Standard | Bedeutung |
|---|---|---|
source_field | text | Item-Feld mit dem Satz (String) oder den Wörtern (Liste) |
morphemes_field | keiner | Item-Feld mit einer Segmentierung pro Wort |
gloss_field | keiner | Item-Feld mit einer Glosse pro Wort |
translation_field | keiner | Item-Feld mit der freien Übersetzung |
tiers | [] | Zusätzliche Zeilen pro Wort, etwa [pos, notes]. word, morphemes und gloss sind reserviert |
abbreviations | keiner | leipzig 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 |
language | keiner | Sprach-Tag, das an den Wort- und Segmentierungszellen gesetzt und in FLExText geschrieben wird |
metalanguage | keiner | Sprach-Tag für die Glossen-, Tier- und Übersetzungszellen |
show_translation | true | Zeigt die Zeile mit der freien Übersetzung an |
label_requirement | keiner | required: 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 Ø.
| Taste | Aktion |
|---|---|
| Tab, Shift+Tab | Nächste oder vorherige Zelle: die Zeilen eines Worts hinunter, dann weiter zum nächsten Wort |
| Enter | Dieselbe Zeile des nächsten Worts oder, vom letzten Wort aus, die Übersetzung |
| Shift+Enter | Dieselbe Zeile des vorherigen Worts |
Gespeicherte Antwort
{"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
| Format | Dateien | Inhalt |
|---|---|---|
flextext | <user>.flextext | Interlineares XML von FieldWorks, eine Datei pro Annotator |
toolbox | <user>.txt | Toolbox-Standardformat mit spaltenweise ausgerichteten Zeilen \tx \mb \ge \ps \ft |
igt | igt.txt, igt.tex | Ausgerichteter reiner Text und gb4e-LaTeX |
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
python potato/flask_server.py start examples/span/interlinear-gloss/config.yaml -p 8000Das 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
- Linguistische Feldforschung - Aus FLEx und Toolbox importieren und zurück exportieren
- Transkriptformate - Praat, ELAN und andere zeitlich ausgerichtete Transkripte
- Annotation in mehreren und in wenig ausgestatteten Sprachen - In vielen Sprachen annotieren
Implementierungsdetails finden Sie in der Quelldokumentation.