Zum Hauptinhalt springen

Q&A für Gesetzestexte

·427 Wörter·3 min
LLM Space Vector Model Information Retrival Deep Learning Data Scientist Maschinelles Lernen Web-Scraping Vektordatenbank OpenSearch Python Haystack Numpy Docker Web-UI Vue.js JavaScript Flask AWS Cloud Git

Im Rahmen dieses Projekts wurde ein KI-basiertes Frage-und-Antwort-System entwickelt, das speziell auf das Aufenthaltsgesetz zugeschnitten ist. Das System ermöglicht es Nutzern, Fragen zu Gesetzestexten zu stellen und passende Antworten in Form von relevanten Textausschnitten aus den Gesetzestexten und zugehörigen Dokumenten zu erhalten. Das Projekt zählt somit zum Natural Language Processing (NLP), da natürliche Sprache verarbeitet wird.

Architektur des Systems #

Das System basiert auf der Open-Source-Bibliothek Haystack, die zur Implementierung von Frage-und-Antwort-Systemen in Kombination mit modernsten Sprachmodellen verwendet wird. Der Kern des Systems besteht aus mehreren Schritten:

  1. Embedding der Gesetzestexte: Die relevanten Gesetzestexte sowie Informationen von Webseiten werden in einer Vektordatenbank gespeichert. Hierfür wird ein Vector Space Model genutzt, bei dem jedes Dokument als Vektor in einem hochdimensionalen Raum repräsentiert wird.

  2. Embedding der Fragen: Die von Nutzern gestellten Fragen werden ebenfalls als Vektoren dargestellt, um einen semantischen Vergleich zwischen Frage und Dokumenten durchzuführen. Dies ist im Vergleich zur klassischen Stichwortbasierten Suche überlegen, da mit diesem Verfahren auch Synonyme erkannt werden.

  3. Durchsuchen der Vektordatenbank: Die Embeddings der Fragen werden verwendet, um ähnliche Dokument-Embeddings in der Vektordatenbank zu finden. Dadurch werden semantisch passende Textausschnitte zu den gestellten Fragen identifiziert.

  4. Anzeige der Ergebnisse: Die gefundenen Textausschnitte werden in einer benutzerfreundlichen Web-UI angezeigt, zusammen mit direkten Referenzen auf die entsprechenden Gesetzesdokumente.

graph TB A[Gesetzestexte und Webseiten] -->|Embedding| B[Vektordatenbank] B -->|Relevante Textausschnitte| C[Web-UI] C -->|Frage| B

Implementierung #

Backend #

Das Backend des Systems wurde mit Flask entwickelt, einem leichtgewichtigen Python-Framework, das eine schnelle und effiziente Entwicklung von Webanwendungen ermöglicht. Für die Verarbeitung der Fragen und das Durchsuchen der Vektordatenbank wurden Haystack und LLM-Modelle eingesetzt. Im Fokus stand hier das Sprachmodell BERT, das über die Plattform Huggingface bezogen wurde. BERT dient zur Erstellung von Embeddings sowohl für die Gesetzestexte als auch für die Fragen der Nutzer.

Frontend #

Das Web-UI wurde mit Vue.js und dem UI-Framework Vuetify entwickelt. Die Benutzeroberfläche zeigt die gefundenen Gesetzestexte an und stellt die entsprechenden Referenzen zu den Dokumenten bereit. Die UI ermöglicht eine intuitive und schnelle Interaktion, sodass die Nutzer direkt auf die gesuchten Informationen zugreifen können.

Fazit #

Mit diesem KI-basierten System konnte ein effizientes Frage-und-Antwort-Tool für Gesetzestexte entwickelt werden, das auf Deep Learning und Natural Language Processing basiert, und Large Language Models einsetzte. Das System bietet eine benutzerfreundliche Möglichkeit, komplexe Gesetzestexte zu durchsuchen und relevante Informationen schnell und präzise zu finden.

Tätigkeiten #

  • Aufbau von Text-Datensätzen über das deutsche Aufenthaltsgesetz; Crawlen von mehreren relevanten Webseiten, sowie das Aufenthaltsgesetzt selbst (Python-Skripte)
  • Anwendung des Haystack-Frameworks
  • Integration von Large Language Models (LLMs)
  • Evaluation verschiedener KI-Modelle
  • Bereitstellung eines Web-Frontends, um das Frage-Antwort-System zu demonstrieren (Vue.js, Python Flask)
  • Bereitstellung der Anwendung in der AWS Cloud