Spaltentypenannotierung mit ChatGPT

Die Spaltentypenannotierung ist die Aufgabe, die Spalten einer relationalen Tabelle mit dem semantischen Typ der darin enthaltenen Werte zu versehen. Die Annotierung von Spaltentypen ist ein wichtiger Vorverarbeitungsschritt für die Datensuche und Datenintegration im Kontext von Data Lakes. Aktuelle Methoden zur Spaltentypenannotierung basieren entweder auf dem Zuordnen von Tabellenspalten zu Eigenschaften eines Wissensgraphen oder auf dem Feinjustieren vortrainierter Sprachmodelle wie BERT für die Spaltentypenannotierung. In dieser Arbeit nehmen wir einen anderen Ansatz und untersuchen die Verwendung von ChatGPT für die Spaltentypenannotierung. Wir evaluieren verschiedene Promptdesigns in zero- und few-shot-Einstellungen und experimentieren mit der Bereitstellung von Aufgabenbeschreibungen und detaillierten Anweisungen für das Modell. Darüber hinaus implementieren wir eine zweistufige Tabellenannotierungs Pipeline, die zunächst die Klasse der in der Tabelle beschriebenen Entitäten bestimmt und dann, abhängig von dieser Klasse, ChatGPT bittet, die Spalten unter Verwendung des relevanten Teilmenges des Gesamtvokabulars zu annotieren. Durch den Einsatz von Anweisungen sowie der zweistufigen Pipeline erreicht ChatGPT F1-Werte von über 85% in zero- und one-shot-Einstellungen. Um vergleichbare F1-Werte zu erzielen, muss ein RoBERTa-Modell mit 356 Beispielen feinjustiert werden. Dieser Vergleich zeigt, dass ChatGPT wettbewerbsfähige Ergebnisse für die Aufgabe der Spaltentypenannotierung liefern kann, wenn es keine oder nur minimale task-spezifische Demonstrationen gegeben wird.