iX Special 2023
S. 106
KI selbst entwickeln
Neuronale Suche

Maschinen auf Text abrichten

In Confluence oder mit der Windows-Suche wieder nichts gefunden? Mithilfe von KI lässt sich die traditionelle Suche aufbohren. Extractive-Question-Answering-Modelle finden nicht nur wörtliche Zeichenketten, sondern erkennen komplexe Zusammenhänge und entdecken thematisch passende Ergebnisse.

Von Clemens Gutknecht, Leon Lukas und Leon Marius Schröder

Während KI in viele Bereiche von Alltag und Arbeit bereits Einzug gehalten hat, verlässt man sich beim Suchen immer noch auf angestaubte traditionelle Algorithmen. Wenn Suchende nicht das buchstäblich passende Stichwort verwenden oder das Programm kein Synonym in einer Standardliste findet, liefert die Software keine passenden Ergebnisse. Darüber hinaus ist die Stichwortsuche schon an sich eine Notlösung, da Nutzer eigentlich eine Frage beantwortet haben oder ein Dokument finden wollen. Mit dem Durchbruch der Transformer-Architektur im Natural Language Processing (NLP) 2017 stehen Machine-Learning-Modelle zur Verfügung, die dieser Aufgabe besser gewachsen sind. Und auch das Aufsetzen eines solchen Systems ist dank des Open-Source-Projektes Haystack kein Hexenwerk.

Im Folgenden geht es darum, eine Question-Answering-Pipeline mithilfe von Haystack in Python zu implementieren. Am Ende wird es möglich sein, Fragen zu stellen, deren Antwort das Programm als Textspanne in eigenen Dokumenten findet. Wer will, kann die Standardpipeline dabei um ein selbst feinjustiertes DPR-Modell ergänzen, um noch bessere Suchergebnisse zu erhalten (siehe „Neuronale Suche in Texten“ in der iX 6/2023). Da das Verarbeiten von Daten in den verwendeten neuronalen Netzwerken (Inferencing) stark parallelisierbar erfolgt, bietet sich für dieses Projekt eine CUDA-Umgebung an. Für einen reinen Testlauf mit wenigen Dokumenten ist eine Nvidia-Grafikkarte allerdings nicht unbedingt nötig. Das begleitende Repository auf GitHub stellt ein Jupyter-Notebook zur Verfügung, das Google Colab unkompliziert ausführt – einen Google-Account vorausgesetzt (siehe ix.de/zy3m). Außerdem verweist es auf einen Datensatz von Bürgerbüro-Servicedokumenten der Stadt München, falls keine eigene Dokumentensammlung parat steht.

Kommentieren