Die Technologie zur Übersetzung von natürlicher Sprache in SQL (NL2SQL) entwickelt sich rasant und stellt eine wichtige Innovation im Bereich der Verarbeitung natürlicher Sprache (NLP) dar. Diese Technologie ermöglicht es Benutzern, natürliche Sprachfragen in strukturierte SQL-Anweisungen umzuwandeln. Dieser Fortschritt vereinfacht die Interaktion von Nutzern ohne technischen Hintergrund mit komplexen Datenbanken erheblich und ermöglicht den Zugriff auf wertvolle Informationen. NL2SQL-Technologien eröffnen nicht nur neue Möglichkeiten für die Exploration großer Datenbanken in verschiedenen Branchen, sondern steigern auch die Effizienz und die Entscheidungsfindung.

image.png

Bei der Implementierung von NL2SQL besteht jedoch ein gewisser Kompromiss zwischen Genauigkeit und Anpassungsfähigkeit der Abfragen. Einige Methoden gewährleisten weder die Genauigkeit noch die Anpassungsfähigkeit an verschiedene Datenbanktypen bei der Generierung von SQL-Abfragen. Bestehende Lösungen basieren oft auf großen Sprachmodellen (LLMs), die durch Prompt Engineering mehrere Ausgaben generieren und die beste Abfrage auswählen. Dieser Ansatz erhöht jedoch den Rechenaufwand und ist nicht für Echtzeitanwendungen geeignet. Auch das überwachte Feintuning (SFT) ermöglicht zwar eine gezielte SQL-Generierung, stößt aber bei der Anwendung über verschiedene Bereiche hinweg und bei komplexen Datenbankoperationen auf Schwierigkeiten. Daher besteht ein dringender Bedarf an innovativen Frameworks.

image.png

Das Forschungsteam von Alibaba hat XiYan-SQL vorgestellt, ein bahnbrechendes NL2SQL-Framework. Es integriert eine Multi-Generator-Strategie und kombiniert die Vorteile von Prompt Engineering und SFT. Eine entscheidende Innovation von XiYan-SQL ist die Einführung von M-Schema, einer semi-strukturierten Architekturrepräsentation, die das Verständnis der Datenbankhierarchie, einschließlich Datentypen, Primärschlüssel und Beispielwerte, verbessert und so die Generierung genauer und kontextbezogener SQL-Abfragen ermöglicht.

XiYan-SQL verwendet einen dreistufigen Prozess zur Generierung und Optimierung von SQL-Abfragen.

Zunächst identifiziert das System über Architekturverknüpfungen relevante Datenbank-Elemente, um redundante Informationen zu reduzieren und sich auf die Schlüsselstrukturen zu konzentrieren. Anschließend werden mithilfe von exemplarischem Lernen (ICL) und SFT-basierten Generatoren SQL-Kandidaten generiert. Schließlich optimiert und filtert das System die generierten SQL-Abfragen mithilfe eines Korrektur- und Auswahlmodells, um sicherzustellen, dass die beste Abfrage ausgewählt wird. XiYan-SQL integriert diese Schritte in eine effiziente Pipeline und übertrifft herkömmliche Methoden.

In strengen Benchmark-Tests zeigte XiYan-SQL hervorragende Ergebnisse in mehreren Standard-Testsätzen. So erreichte es im Spider-Testsatz eine Ausführungsgenauigkeit von 89,65 % und übertraf damit deutlich bisherige Top-Modelle.

image.png

Darüber hinaus erzielte XiYan-SQL hervorragende Ergebnisse in Bezug auf die Anpassungsfähigkeit an nicht-relationale Datensätze und erreichte im NL2GQL-Testsatz eine Genauigkeit von 41,20 %. Diese Ergebnisse zeigen, dass XiYan-SQL in verschiedenen Szenarien eine außergewöhnliche Flexibilität und Genauigkeit aufweist.

github:https://github.com/XGenerationLab/XiYan-SQL

Highlights:

🌟 Innovative Architekturrepräsentation: M-Schema verbessert das Verständnis der Datenbankhierarchie und erhöht die Genauigkeit der Abfragen.

📊 Erzeugung hochwertiger Kandidaten: XiYan-SQL verwendet mehrere Generatoren, um diverse SQL-Kandidaten zu erzeugen und die Abfragequalität zu verbessern.

✅ Überragende Anpassungsfähigkeit: Benchmark-Tests zeigen die hervorragende Leistung von XiYan-SQL in verschiedenen Datenbanken und setzen einen neuen Standard für NL2SQL-Frameworks.