Popis: |
Diese Bachelorarbeit beschäftigt sich mit der Entwicklung einer Softwarelösung zur semantischen und syntaktischen Umwandlung natürlicher Sprache in Datenbankabfragesprachen. Ziel ist es, eine benutzerfreundliche Schnittstelle zu schaffen, die auch Nicht-Experten ermöglicht, komplexe Datenbankabfragen durchzuführen. Im Rahmen eines Praktikums bei der OntoChem GmbH wurde zunächst ein regelbasierter Prototyp entwickelt, der natürliche Sprachabfragen in maschinenlesbare Datenbank abfragen transformiert. Anschlieÿend wurde dieser Ansatz mit einem auf Large Language Models (LLMs) basierenden Ansatz, wie beispielsweise ChatGPT, verglichen. Dabei wurden unter anderem die Effizienz, Genauigkeit, Zuverlässigkeit und ökonomischen Kosten beider Ansätze untersucht. Die Arbeit beginnt mit einer Einführung in die Grundlagen der natürlichen Sprachver arbeitung (NLP), regelbasierter Systeme und LLMs. Es folgt eine detaillierte Beschrei bung des Praktikumsprojekts, einschlieÿlich der eingesetzten Technologien und Tools. In den darauf folgenden Kapiteln werden der regelbasierte Ansatz und der LLM-Ansatz zur Umwandlung natürlicher Sprache in Datenbankabfragen vorgestellt, implementiert und getestet. Die Vergleichsanalyse zeigt, dass der regelbasierte Ansatz durch hohe Geschwindigkeit und Datenkontrolle besticht, jedoch in seiner Flexibilität und Genauigkeit limitiert ist. Der LLM-Ansatz bietet hingegen eine höhere Genauigkeit und Flexibilität bei der Interpretation natürlicher Sprache, weist jedoch längere Antwortzeiten und höhere Betriebskosten auf. Abschließend werden Empfehlungen für die Praxis gegeben und zukünftige Forschungsrichtungen aufgezeigt, wie etwa die Kombination beider Ansätze oder das Training eines eigenen Modells. Die Ergebnisse dieser Arbeit tragen dazu bei, die Interaktion zwischen natürlicher Sprache und Datenbanksystemen zu verbessern und bieten praktische Lösungen für die semantische Transformation von Benutzeranfragen.:1 Einleitung 2 1.1 Motivation 2 1.2 Zielsetzung der Arbeit 3 1.3 Aufbau der Arbeit 4 2 Hintergrund und theoretische Grundlagen 6 2.1 Natürliche Sprachverarbeitung (NLP) 6 2.1.1 Grundlagen der NLP 6 2.1.2 Modelle und Algorithmen 7 2.1.3 Anwendungsbereiche 8 2.2 Regelbasierte Systeme 9 2.2.1 Definition und Funktionsweise 9 2.2.2 Beispiele und Anwendungen 10 2.3 Large Language Models (LLMs) 10 2.3.1 Funktionsweise und Architektur 10 2.3.2 Entwicklung und Technologien 14 2.3.3 Training und Datenbasis 15 2.3.4 Anwendungsbereiche 15 2.3.5 Limitationen von GPT-Modellen 16 3 Praktikumsprojekt bei OntoChem GmbH 18 3.1 Unternehmensvorstellung 18 3.1.1 Überblick und Geschichte 18 3.1.2 Produkte und Technologien 19 3.2 Projektbeschreibung 21 3.2.1 Ziel des Projekts 21 3.2.2 Aufgabenstellung 26 3.3 Technologie-Stack und Tools 27 3.3.1 Programmiersprache und Umgebung 27 3.3.2 Bibliotheken 28 4 Regelbasierter Ansatz zur Umwandlung natürlicher Sprache in Datenbankabfragen 29 4.1 API-Design 29 4.1.1 Methodik und Konzeption 29 4.1.2 structFromNaturalSearch 29 4.1.3 queryFromSearchStructure 35 4.2 Implementierung 37 4.2.1 Funktion: SearchStructureFromString 37 4.2.2 Integration OC-Technologien 38 4.2.3 Algorithmen und Regeln 40 4.2.4 Herausforderungen 43 5 LLM-Ansatz zur Umwandlung natürlicher Sprache in Datenbankabfragen 45 5.1 Einführung in den LLM-Ansatz 45 5.1.1 Grundlagen 45 5.1.2 Vergleich mit Regelbasierten Systemen 46 5.2 Prompting in LLMs (z.B. ChatGPT) 46 5.2.1 Prinzipien des Promptings 46 5.2.2 Design effektiver Prompts 47 5.3 Tests und Evaluierung 50 5.3.1 Beschreibung der Tests 50 5.3.2 Ergebnisse und Analyse 52 6 Vergleich der Ansätze 58 6.1 Methodik 58 6.2 Ergebnisse 58 6.3 Diskussion 61 7 Evaluation und Ausblick 62 7.1 Kritische Betrachtung 62 7.2 Limitationen und Fehlerquellen 62 7.3 Fazit und Implikationen 63 7.4 Zukünftige Forschung 63 Literaturverzeichnis I Abbildungsverzeichnis IV Daten- und Codeverzeichnis V |