Alle Projekte
Abgeschlossen

SemEval 2026: Modeling Narrative Story Similarity

Wann sind sich zwei Geschichten wirklich ähnlich — nicht in den Worten, sondern in Thema, Handlungsverlauf und Ausgang? Für diese SemEval-2026-Shared-Task haben wir im Team zwei Ansätze systematisch verglichen: Prompt Engineering mit einem LLM und Representation Learning mit Sentence-BERT.

Zeitraum
Okt 2025 — Feb 2026
Rolle
Teamprojekt (4 Personen) · mein Part: Preprocessing & Track B Fine-Tuning
Kontext
Universität Bonn · CAISA Lab · Introduction to NLP (WS 2025/26) · Team #23

Über das Projekt

Narrative Ähnlichkeit ist überraschend schwer zu fassen. Zwei Geschichten können dieselben Wörter, Namen und Schauplätze teilen und trotzdem völlig unterschiedlich erzählen — und umgekehrt. Die SemEval-2026-Task definiert Ähnlichkeit deshalb ausschließlich über drei Dimensionen: das abstrakte Thema, den Handlungsverlauf und den Ausgang. Schreibstil, Wortüberschneidungen und Eigennamen sollen ausdrücklich keine Rolle spielen.

Die Aufgabe besteht aus zwei komplementären Tracks. In Track A entscheidet ein System, welche von zwei Kandidatengeschichten einer Ankergeschichte narrativ näher steht. In Track B werden Vektorrepräsentationen erzeugt, deren Kosinus-Ähnlichkeit die narrative Ähnlichkeit widerspiegeln soll. Als Datengrundlage dienten vier Datensätze mit insgesamt 2.139 gelabelten und 400 ungelabelten Story-Triplets.

Mein Beitrag lag auf der Preprocessing-Pipeline und dem Fine-Tuning in Track B. Die Pipeline baut auf spaCy auf und stellt drei Varianten bereit — von minimaler Bereinigung bis zur Ersetzung konkreter Eigennamen durch abstrakte Platzhalter per Named Entity Recognition. Genau diese Varianten machten sichtbar, wie stark die Modelle in Wahrheit auf Oberflächenmerkmale zurückgreifen.

In Track A zeigte sich ein klares Muster: Der kurze Baseline-Prompt schlug auf Rohtext alle aufwendig strukturierten Varianten. Erst auf vorverarbeiteten Daten drehte sich das Bild, weil den komplexen Prompts die ablenkenden Eigennamen fehlten. In Track B verbesserten der Wechsel auf MPNet, Chunking und Tail-Embeddings die Baseline schrittweise — das anschließende Fine-Tuning mit Triplet Loss verschlechterte das Ergebnis jedoch bis auf Zufallsniveau. Die Analyse dieses Effekts wurde zu einem der interessantesten Ergebnisse der Arbeit: Die synthetische Triplet-Supervision passt nicht zum eigentlichen Ähnlichkeitsziel und verzerrt die Embedding-Geometrie, statt sie zu schärfen. Für die finale Abgabe blieb deshalb bewusst die vortrainierte Baseline im Einsatz.

Kernpunkte

  • Preprocessing-Pipeline mit spaCy — Tokenisierung, POS-Tagging, Dependency Parsing und NER, in drei Varianten von minimaler Bereinigung bis zur vollständigen Pseudonymisierung
  • Track A: fünf Prompt-Varianten mit GPT-4o-mini, jeweils in Zero-Shot und Few-Shot, drei unabhängige Läufe bei Temperature 0 — bester Macro-F1 von 73,2 %
  • Track B: Sentence-BERT mit 350-Zeichen-Chunks, gewichtetem Mean Pooling und zusätzlichem Tail-Embedding (e = 0,6 · e_full + 0,4 · e_tail) — Steigerung von 55 % auf 62,5 %
  • Klares negatives Ergebnis sauber herausgearbeitet: Fine-Tuning mit Triplet Loss fiel auf 49,5 % und damit auf Zufallsniveau — Ursachenanalyse per 80/20-Split schloss Overfitting aus
  • Zentrale Erkenntnis: Einfache Prompts schlagen komplexe, und vortrainierte Encoder sind erstaunlich starke Baselines

Tech-Stack

Sprache

Python

NLP & KI

spaCy Sentence-BERT MPNet GPT-4o-mini Triplet Loss Contrastive Learning

Bibliotheken

sentence-transformers OpenAI API scikit-learn NumPy pandas

Methodik

Prompt Engineering Zero-/Few-Shot Macro-F1 NER-Pseudonymisierung

Fragen zu diesem Projekt?