annotations4all — LLM-based arbitrary annotation framework

Paper
Poster
Annotation
NER
LLM

Bibliotheksfamilie für LLM-gestützte Span-Annotation: annotations4all annotiert, annotations-evaluate misst, annotations-orchestration fährt die Läufe — schema-first, provider-agnostisch, lokal oder über APIs. Poster auf der deRSE26.

Autor:in
Zugehörigkeit

Nicole Dresselhaus

Veröffentlichungsdatum

2. März 2026

Geändert

20. Oktober 2026

Doi

annotations4all ist ein modulares Framework für Textannotations-Aufgaben mit Large Language Models. Der Punkt ist nicht das Prompten selbst, sondern die Reproduzierbarkeit: Prompt-Templates, Modell-Interaktion, Antwort-Parsing und Evaluation sind getrennte, konfigurierbare Stufen, und am Ende kommen strukturierte Span-Annotationen in Standardformaten heraus. Schema-first heißt: Das Datenmodell steht am Anfang, der Prompt wird daraus abgeleitet — nicht umgekehrt.

Entstanden ist es im Umfeld von NER4All, wo kontextuelles Prompting auf historischen Texten die klassischen NER-Werkzeuge (spaCy, flair) geschlagen hat. annotations4all generalisiert dieses Vorgehen, damit sich LLM-Annotations- Workflows auf neue Korpora und Domänen übertragen lassen — lokal über Ollama oder über OpenAI-kompatible APIs.

Die Familie

Aus dem Framework sind drei Pakete geworden, die zusammen eine Pipeline ergeben und gemeinsam versioniert werden:

Paket Rolle in der Pipeline Anmerkung
annotations4all Annotieren: Schema → Prompt → Provider-Aufruf → Parser/Merge → validierte Spans Provider-Policies, optionaler rein lesender Terminal-Viewer (view-Extra)
annotations-evaluate Messen: Precision/Recall/F1 gegen Gold-Annotationen nested-Standardreport (Verschachtelungstiefe, Eltern-Kind-Struktur, Span-Länge, Decode-Rate) plus SemEval-2013-konformer Flachmodus; nur Standardbibliothek, keine Fremdabhängigkeiten
annotations-orchestration Fahren: wiederaufnehmbarer, manifest-getriebener Parallel-Scheduler über Experiment-Manifeste Metriken kommen aus annotations-evaluate; optionaler annotations4all-Runner, Provider-Metadaten, Textual-Konfigurationseditor

Wie sie ineinandergreifen: annotations-evaluate ist die Messschicht und versteht verschachtelte und überlappende Annotationen — genau die Form, die in historischen Korpora (BeNASch/HLR-GT) vorkommt und die flache BIO-Auswertungen nicht abbilden. annotations-orchestration ist die Laufschicht darüber: Sie zerlegt ein Experiment in Manifest-Einträge, fährt sie parallel und wieder- aufnehmbar (ein abgebrochener Lauf setzt dort wieder an) und bringt keine eigene Metriklogik mit, sondern ruft annotations-evaluate auf. annotations4all ist die Annotationsschicht, die die eigentlichen Spans erzeugt. Die Pakete sind einzeln benutzbar, aber als Familie gedacht: Wer nur annotieren will, nimmt das erste; wer publizierte NER-Zahlen vergleichen will, das zweite; wer Modelle, Prompts oder Provider gegeneinander fahren will, das dritte.

Auf Zenodo ist annotations4all der Eltern-Datensatz: Seine Records verweisen per hasPart auf annotations-orchestration und annotations-evaluate, per continues auf den NER4All-Preprint und per isReferencedBy auf das Poster — die Familie hängt also auch bibliografisch zusammen, nicht nur im Code. Konzeption: Nicole Dresselhaus, Supervision: Till Grallert.

Releases

Jede Veröffentlichung hat eine eigene Zenodo-Version-DOI; die Konzept-DOI zeigt immer auf die neueste Version. Letzte Veröffentlichung: 20. Oktober 2026 (annotations4all 0.3.1 und annotations-orchestration 0.3.0).

annotations4all — Konzept-DOI 10.5281/zenodo.22011370

Version Datum Zenodo
0.3.1 2026-10-20 10.5281/zenodo.23494842
0.3.0 2026-10-19 10.5281/zenodo.23471533
0.2.0 2026-09-16 10.5281/zenodo.22790107
0.1.1 2026-08-19 10.5281/zenodo.22011371

annotations-orchestration — Konzept-DOI 10.5281/zenodo.22015763

Version Datum Zenodo
0.3.0 2026-10-20 10.5281/zenodo.23495464
0.2.0 2026-09-16 10.5281/zenodo.22797759
0.1.0 2026-08-19 10.5281/zenodo.22015764

annotations-evaluate — Konzept-DOI 10.5281/zenodo.22795382

Version Datum Zenodo
0.1.0 2026-09-16 10.5281/zenodo.22795383

Verweise