TEI CRM Bridge 0.5.0

Namen in TEI-Briefen nachvollziehbar anreichern

Ein Werkzeug, das historische Briefeditionen um Personen, Orte und Organisationen ergänzt, Lesetext und vorhandene Textauszeichnung bewahrt, Aussagen und Vorschläge mit Herkunft ablegt und sich an einer echten Edition messen lässt.

274 → 0neue Namen innerhalb bestehender Namensreferenzen der Edition (40 Originalbriefe)
150 → 0neue Namen in Kommentaren <note>
0,619 → 0,668F1 strikt, nur Text in <p> – der Umfang, den v0.1 las
0,468 → 0,712Recall überlappend, alle Textblöcke

Was das Werkzeug tut

Lesetext bildenPro Absatz, Briefkopf, Adresse oder Grußformel ein zusammenhängender Text; <c> bleibt im Wort, Kommentare zählen nicht.
Namen erkennenHistorisches NER-Modell mit überlappenden Fenstern; unvollständig gelesene Texte brechen ab statt still zu kürzen.
Behutsam zurückschreibenInline nur innerhalb eines Textknotens; sonst Stand-off. Die ursprüngliche Textauszeichnung im body ist nach Entfernen der Ergänzungen wiederherstellbar.
Vorschläge als VorschlägeAutomatische Treffer werden Kandidaten mit vorgeschlagener CRM-Klasse und Herkunft; Aussagen der Edition bleiben CIDOC CRM.
Redaktionell prüfenVersion 0.3: einzelne Inline- und Stand-off-Treffer annehmen oder ablehnen, Entscheidungen mit Begründung exportieren und daraus einen getrennten geprüften Graphen erzeugen.
MessenGegen die redaktionelle Auszeichnung von 40 Briefen der Schnitzler-Edition, reproduzierbar ab festem Commit.

Die untenstehenden Kennzahlen stammen aus Version 0.2. Die neue Prüffunktion verändert weder die Erkennung noch diese Messwerte; sie ergänzt einen nachvollziehbaren menschlichen Entscheidungsschritt.

Gemessen: v0.1 gegen v0.2

40 Briefe aus schnitzler-briefe-data @ 76870800b474, 295 redaktionelle Personen-, Orts- und Organisationsreferenzen als Referenz. Die Auszeichnungen wurden vor dem Lauf entfernt; beide Versionen erhielten dieselben Eingaben mit demselben Modell (impresso-project/ner-hipe2020-hist-base, Schwelle 0,85). Gemessen mit TEI CRM Bridge 0.2.0, Paketbaum 83c4a654604b (git rev-parse <commit>:src/tei_crm_bridge).

Beide Blickwinkel gehören zusammen: Im Text, den v0.1 überhaupt las, steigen Präzision und F1. Über alle Textblöcke steigt der Recall deutlich, die strikte Präzision sinkt aber, weil v0.2 auch Adressen, Briefköpfe und Grußformeln liest und dort Namen vorschlägt, die die Referenz nicht enthält.

Nur Text in <p>v0.1v0.2Δ
striktPräzision0,6880,770+0,082
striktRecall0,5630,591+0,028
striktF10,6190,668+0,049
überlappendPräzision0,7840,861+0,077
überlappendRecall0,6420,660+0,018
überlappendF10,7060,747+0,041
Alle Textblöckev0.1v0.2Δ
striktPräzision0,6880,528−0,160
striktRecall0,4100,542+0,132
striktF10,5140,535+0,021
überlappendPräzision0,7840,693−0,091
überlappendRecall0,4680,712+0,244
überlappendF10,5860,702+0,116

Strikt: gleiche Grenzen und gleicher Typ. Überlappend: gleicher Typ, mindestens ein gemeinsames Zeichen, eins zu eins. Die Regeln wurden vor der ersten Messung festgelegt.

v0.2 nach Typ (alle Blöcke)

TypReferenzvorhergesagtF1 striktP überl.R überl.F1 überl.
Personen1031480,4620,4860,6990,574
Orte1811510,6080,9070,7570,825
Organisationen1140,1330,2500,0910,133
gesamt2953030,5350,6930,7120,702

Organisationen: nur 11 Referenzen – dafür ist die Stichprobe zu klein für eine Aussage. Aggregation first (wortgenau) statt simple: F1 strikt 0,535 gegenüber 0,534, aber kein Treffer endet mitten im Wort – Voraussetzung für TEI-Markup.

Integrität auf den unveränderten Briefen

Prüfung (40 Originalbriefe)v0.1v0.2
neue Namen gesamt (inline)33655
… davon an unzulässiger Stelle (Referenz der Edition, Kommentar, Streichung oder <c>)3070
… … in bestehender Personen-/Orts-/Organisationsreferenz2740
… … in Kommentar <note>1500
… … in beidem zugleich1170
Briefe mit verändertem Lesetext00
Briefe mit verändertem vorhandenem Markup00

Wie die Zahlen zu lesen sind

Wo die falschen Treffer liegen. Im ganzen Korpus liegen 67 der 78 falschen Treffer von v0.2 außerhalb von Absätzen – in Adressen, Grußformeln, Unterschriften und Briefköpfen.

Was eine Stichprobe dazu zeigt. In 10 Briefen wurde nach Namen gesucht, die die Edition nicht auszeichnet. Gefunden wurden 28, fast alle Korrespondenzpartner in Adressen, Anreden und Unterschriften; die Edition verzeichnet sie in den Metadaten (correspDesc). Von den 39 Vorhersagen dieser Briefe, die nicht exakt der Referenz entsprechen, sind 11 genau ein solcher Name und 8 überlappen einen. Das gilt für diese zehn Briefe; die Hauptzahlen bleiben unbereinigt.

Grenzen folgen anderen Richtlinien. Das Modell ist nach den Impresso-Annotationsrichtlinien trainiert, die Titel und Funktionen zur Personennennung zählen („Dr Hoffmann“); die Edition zeichnet nur den Namen aus. Umgekehrt fasst die Edition Adressen als einen Ort („Wien, IX. Frankg. 1.“), das Modell trennt. Deshalb werden strikte und überlappende Werte getrennt berichtet.

Stichprobe: Vorprüfung durch zwei unabhängige, KI-gestützte Lesedurchgänge je Brief, Abweichungen durch eine dritte Prüfung entschieden; eine menschliche Bestätigung steht aus. Liste: eval/spotcheck.tsv.

Drei belegte Fehlerfälle

Richtlinien statt Modellfehler: Titel im Namen

Grenze abweichend · Brief L01476 · Vorhersage: PER „Dr Hochsinger“ · Referenz: PER „Hochsinger“

…nes Schwagers Grfen Castell absagen müssen u Dr Hochsinger ist bemüht mit Hilfe Heines u Treßler einen…

Die Impresso-Annotationsrichtlinien, nach denen das Modell trainiert ist, zählen Titel zur Personennennung; die Edition zeichnet nur „Hochsinger“ aus. Strikt ein Fehler, überlappend ein Treffer. Titel automatisch abzutrennen würde eine Richtlinie in den Code schreiben – deshalb berichtet das Projekt beide Maße, statt das Ergebnis an die Referenz anzupassen.

Ort über eine Person: „zum Souper bei Specht“

Typ abweichend · Brief L03151 · Vorhersage: LOC „Specht“ · Referenz: PER „Specht“

…Lieber Freund, ich bin zum Souper bei Specht , wo Sie mich, falls es nötig wäre, anrufen k…

Laut Register der Edition ist Richard Specht (1870–1932) gemeint; „bei Specht“ bezeichnet einen Ort über eine Person. Die Edition verweist auf die Person, das Modell liest einen Ort. Beides ist vertretbar; entscheiden kann das nur, wer die Personen kennt – ein Grund, automatische Treffer als Vorschläge und nicht als Aussagen im Graphen abzulegen.

Ein „falscher Treffer“, der richtig ist

falscher Treffer · Brief L03426 · Vorhersage: PER „Hedwig Fischer“

… Hedwig Fischer grüßt Sie u. Ihre Frau.…

Hedwig Fischer grüßt in einem Nachsatz mit. Die Edition führt sie als Mitabsenderin in correspDesc, zeichnet den Namen im Text aber nicht aus. Die Stichprobe hat diesen und weitere solche Namen gefunden: Präzision gegen eine Referenz misst auch deren Annotationsrichtlinien.

Reproduzieren

pip install -e . -r eval/requirements.txt
git worktree add ../tcb-v0.1 e09fa38     # Ausgangsstand für den Vergleich
sh eval/reproduce.sh                      # alle Zahlen dieser Seite
python scripts/build_docs.py              # diese Seite

Methode, Auswahlregel, Lizenz und alle Kennzahlen: eval/README.md. Vokabular der wenigen eigenen Terme: tcb:.