P-005 · 2026 · Teamprojekt

Knowledge-Graph-Fragebeantwortung mit LLMs

Eine im Team entwickelte LLM-Pipeline übersetzt Fragen in natürlicher Sprache in SPARQL über DBpedia, antwortet aus den Ergebnissen und wird auf LC-QuAD evaluiert.

PythonLLMSPARQLDBpediaStreamlit

Von der Frage zur belegten Antwort

Frage in natürlicher Sprache
  1. Entity LinkingNamen auf DBpedia-Ressourcen abbilden
  2. Schema-AbfragePassende Prädikate im Graphen finden
  3. FragezerlegungMehrstufige Fragen in Teilschritte zerlegen
  4. SPARQL-GenerierungLLM schreibt die Abfrage; Reparatur und Wiederholung bei Fehlern

Abfrage gegen den Live-Endpunkt von DBpedia

Antwort, belegt durch die zurückgegebenen Abfrageergebnisse
Evaluiert auf LC-QuAD mit makro-gemitteltem F1 über Antwortmengen; jeder Fehler wird einer Kategorie zugeordnet.

Die Frage

Ein Sprachmodell kann eine Faktenfrage beantworten, aber nicht zeigen, woher die Antwort stammt. Dieses Teamprojekt geht einen anderen Weg: Es übersetzt eine Frage in natürlicher Sprache in eine SPARQL-Abfrage über DBpedia und antwortet aus den Abfrageergebnissen, sodass sich jede Antwort auf den Wissensgraphen zurückführen lässt.

Vorgehen

Die Pipeline verknüpft zuerst Namen in der Frage mit DBpedia-Entitäten und durchsucht dann das Graphschema nach passenden Prädikaten. Mehrstufige Fragen werden in Teilschritte zerlegt, bevor ein LLM die SPARQL-Abfrage schreibt. Schlägt die Abfrage fehl oder liefert sie nichts, passen Reparatur- und Wiederholungsschritte sie an. Die Ergebnisse werden in einer Streamlit-App zu einer kurzen Antwort.

Ergebnisse

Wir haben das System auf LC-QuAD 1.0 evaluiert. Rund 47 % der Testfragen liefern in der heutigen DBpedia keine Ergebnisse mehr, daher nutzt die Evaluierung nur beantwortbare Fragen. Bei den ersten 50 Fragen einer festen, geschichteten Stichprobe gegen die Live-Version von DBpedia beantwortete das System 16 vollständig und 5 teilweise richtig, bei einem makro-gemittelten F1 von 0,412. Ja/Nein-Fragen schnitten am besten ab.

Meine Rolle und Grenzen

Ich habe zu diesem Teamprojekt im Kurs Advanced Machine Learning an der Leuphana Universität beigetragen. Der Wert ist eine Untergrenze: Antworten werden als exakte Zeichenketten verglichen, daher zählt eine korrekte Ressourcen-URI als falsch, wenn der Benchmark ein Label erwartet. Entity Linking, Prädikatwahl und Änderungen am Live-Graphen bleiben die Hauptfehlerquellen, und 50 Fragen ergeben ein breites Konfidenzintervall (±0,145).

LC-QuAD-Evaluierung: 50 Fragen

0510152025Richtig (F1 = 1): 16 Fragen (32 %)Richtig (F1 = 1)16 · 32 %Teilweise (0 < F1 < 1): 5 Fragen (10 %)Teilweise (0 < F1 < 1)5 · 10 %Falsch (F1 = 0): 23 Fragen (46 %)Falsch (F1 = 0)23 · 46 %SPARQL-Fehler: 6 Fragen (12 %)SPARQL-Fehler6 · 12 %
Die ersten 50 Fragen der festen, geschichteten LC-QuAD-1.0-Stichprobe, ausgeführt gegen das Live-DBpedia. Der makro-gemittelte F1 beträgt 0,412 (95-%-KI ±0,145). Antworten werden als exakte Zeichenketten verglichen; eine korrekte URI gegenüber einem erwarteten Label zählt als falsch. Der Wert ist daher eine Untergrenze.

← Zurück zur Projektübersicht

Timur Salakhetdinov ·