Das Chatbot-Experiment des ZB-Labs
KI-basierte Chatbots wie ChatGPT, Deepseek oder Gemini sind zurzeit in aller Munde und verändern unseren Alltag. Als innovative Bibliothek beschäftigt sich auch die Zentralbibliothek Zürich (ZB) mit diesen neuen Technologien und prüft, wo und wie sie künftig im Bibliotheksalltag einsetzbar wären. So könnte in Zukunft zum Beispiel ein Chatbot auf der Webseite zur Verfügung stehen und Fragen zur ZB beantworten.
Doch wie bringt man einer KI bei, korrekt auf solche Fragen zu antworten? Wie reichert man sie mit ZB-spezifischem Wissen an? Und wie vermeidet man Falschaussagen und frei erfundene Antworten? Mit diesen Herausforderungen beschäftigte sich das ZB-Lab im vergangenen Jahr und baute einen Chatbot-Prototyp, der genau das kann: Fragen zur ZB beantworten. Wie das Lab dabei vorging, welche Klippen es umschiffen musste und was die Stärken und Schwächen des Chatbot-Prototyps sind, erfahren Sie im folgenden Artikel.

Die Quellen des Chatbots transparent machen
In seiner neuen Teamzusammensetzung nahm sich das ZB-Lab im Frühling 2024 vor, sich vermehrt mit künstlicher Intelligenz (KI) und maschinellem Lernen zu beschäftigen. Mit einem ersten Vorhaben wollte es sich diesen Themen experimentell annähern, erste Erfahrungen sammeln und Wissen und Kompetenzen im Team aufbauen. Ein Experiment mit grossen Sprachmodellen schien als Einstieg besonders attraktiv.
Gesucht wurde ein möglicher Anwendungsfall von KI im ZB-Alltag, der klar umrissen und möglichst konkret sein sollte. So entstand die Idee, einen KI-basierten Chatbot zu entwickeln, der häufig gestellte Fragen zur ZB beantworten kann. Anders als viele kommerzielle Modelle, sollte der ZB-Chatbot transparent sein und keine Falschaussagen machen. «Uns ist es wichtig, dass die Nutzenden nachvollziehen können, auf welchen Quellen die Antworten des Chatbots basieren. So können sie diese auf ihre Richtigkeit überprüfen und falsche oder unvollständige Antworten als solche erkennen», erläutert Anja Weng, Leiterin des ZB-Labs. Doch wie setzt man ein solches Vorhaben um? Wie werden Halluzinationen, also frei erfundene Antworten, vermieden und wie kann eine hohe Transparenz hergestellt werden?
Die Bauteile des ZB-Chatbots
Als Grundlage für den Chatbot diente ein grosses Sprachmodell. Solche Modelle werden auf einer riesigen Menge an Daten trainiert und eignen sich dabei ein breites «Vorwissen» an. Sie sind bereits in der Lage, sinnvolle Texte zu generieren und verfügen über ein allgemeines «Weltwissen». Zudem sind sie darauf spezialisiert, Konversationen mit den Nutzenden zu führen und auf Fragen zu antworten.
Ein grosses Sprachmodell bietet demnach bereits eine sehr gute Grundlage, doch damit der Chatbot ein ZB-Experte werden und auf entsprechende Fragen korrekt Auskunft geben konnte, mussten ihm Informationen über die ZB zur Verfügung stehen.
Zunächst brauchte es Dokumente, die wichtige Informationen zur ZB und Antworten auf die Fragen der Nutzenden beinhalten. «Für unser Experiment verwenden wir die Texte auf unserer Webseite. Denn sie enthalten die wichtigsten Informationen über die ZB: häufig gestellte Fragen, aktuelle Veranstaltungen und unsere Angebote. Ausserdem sind diese Texte öffentlich zugänglich und enthalten keine sensiblen oder personenbezogenen Daten. Sie können also bedenkenlos an ein Sprachmodell gesendet und verwendet werden», erklärt Dr. Elias Kreyenbühl, Data Librarian im ZB-Lab.
Eine passende Datengrundlage war somit vorhanden und wurde in einer Datenbank abgespeichert. Nun mussten diese Informationen dem Sprachmodell zur Verfügung gestellt werden, damit es sie in seinen Antworten berücksichtigen konnte. Dazu machte das Entwickler*innen-Team Gebrauch von der sogenannten Retrieval Augmented Generation (RAG): Wenn ein User dem Chatbot eine Frage stellt, vergleicht ein KI-Modell diese Frage mit der Datenbank und sucht nach Texten, die eine passende Antwort enthalten. Die vier besten Treffer werden aus der Datenbank gezogen und zusammen mit der Frage an das Sprachmodell geschickt. Das Modell erhält die Anweisung, in den mitgeschickten Texten nach passenden Informationen zu suchen und eine Antwort auf die Frage des Users zu formulieren. Wenn die vier Texte keine passenden Informationen enthalten, soll das Modell sagen, dass es die Antwort nicht kennt. So wird vermieden, dass Antworten frei erfunden werden.
«Als Basis für den ZB-Chatbot benutzen wir die Sprachmodelle GPT-4o von OpenAI und Mistral Nemo von Mistral AI. Darum herum bauen wir die RAG-Pipeline, die die Frage der Userin entgegennimmt, in den ZB-Daten nach passenden Informationen sucht und diese zusammen mit der Frage an die Sprachmodelle GPT-4o oder Mistral Nemo schickt. Das Sprachmodell schaut sich die Frage und die mitgeschickten Informationen an und generiert eine Antwort. Diese Antwort bekommen wir dann zurück und zeigen sie der Userin an», erklärt Sarah Kiener, Softwareentwicklerin und Machine-Learning-Expertin im ZB-Lab.
Damit die Nutzenden mit dem ZB-Chatbot kommunizieren können, braucht es eine Webseite, auf der sie ihre Fragen eingeben und die Antworten sowie den Chatverlauf sehen können.
«Wir möchten den Nutzenden aber mehr bieten als eine normale Chatfunktion. Sie sollen sehen können, wie die Antwort des Chatbots zustande kommt.»
«Mit einem Klick können sie sich deshalb die Quellen anzeigen lassen, auf denen die Antwort basiert. So können sie die Richtigkeit überprüfen und finden zudem im Quelltext vielleicht noch weitere interessante Informationen», führt Jan Zimmermann, Softwareentwickler im ZB-Lab, aus. «Ausserdem legen wir Wert auf die Rückmeldung der Nutzenden. Deshalb haben wir verschiedene Feedback-Funktionen eingebaut. Die Userinnen und User können die Antworten mit einem Daumen hoch oder runter bewerten. Zudem haben sie die Möglichkeit zu bewerten, wie gut jede der angezeigten Quellen zur gestellten Frage passt.»

Dieses Feedback möchte das ZB-Lab in künftige Versionen des Chatbots einfliessen lassen. Doch bevor Verbesserungen vorgenommen werden, hat es den Chatbot einer eingehenden Prüfung unterzogen.
Wie gut funktioniert der ZB-Chatbot?
Um sich ein genaues Bild der Stärken und Schwächen des Chatbots zu machen, stellte das ZB-Lab ein Testset von 100 Fragen zusammen. Dieses enthielt Fragen zur ZB, die der Chatbot korrekt beantworten sollte. Es umfasste aber auch Fragen, die nichts mit der ZB zu tun hatten. Solche Fragen sollte der Chatbot nicht beantworten und stattdessen die Nutzenden auffordern, eine Frage zur ZB zu stellen. Schliesslich enthielt das Testset auch Fragen zur ZB, zu denen es auf der Webseite keine Informationen gibt, weil sie zu spezifisch sind, z.B. «Ich habe vergessen, die beiden Bücher, die ich heute Morgen abgeholt habe, zu verbuchen. Sie erscheinen immer noch in meinen aktiven Bestellungen. Was soll ich nun tun?» In solchen Fällen sollte der Chatbot auf keinen Fall eine Antwort frei erfinden, sondern sagen, dass er diese Frage nicht beantworten könne und der Kunde sich an das ZB-Personal wenden soll.
Der Chatbot beantwortete diese 100 Testfragen. Die Frage-Antwort-Paare wurden von ZB-Mitarbeitenden hinsichtlich ihrer inhaltlichen und sprachlichen Korrektheit bewertet. «Die Ergebnisse dieses Tests sind durchzogen», stellt Sarah Kiener fest. «Auf der positiven Seite ist zu vermerken, dass der Chatbot Fragen in verschiedenen Sprachen verstehen und grammatikalisch korrekt und flüssig beantworten kann. Ausserdem ist es uns gelungen, Halluzinationen erfolgreich zu vermeiden. Unser Chatbot gibt fast nie falsche Informationen oder frei erfundene Antworten aus. Das ist sehr erfreulich!»
Weniger gut wurde der Chatbot jedoch hinsichtlich seiner inhaltlichen Korrektheit bewertet. Auf viele Fragen konnte er keine oder nur teilweise Auskunft geben. «Einerseits entgehen dem Chatbot manchmal Informationen, die er eigentlich finden sollte. Andererseits haben wir festgestellt, dass unsere ZB-Webseite nicht primär häufige Fragen von Kundinnen und Kunden beantwortet, sondern eher über die Bestände und Angebote der ZB informiert. Auf viele der gestellten Fragen konnte der Chatbot also gar keine Antwort finden», zieht Dr. Elias Kreyenbühl Bilanz. «Damit der Chatbot besser wird, müsste die Datengrundlage, die ihm zur Verfügung steht, mit typischen Anfragen von Nutzenden angereichert werden. Dazu reicht die Webseite allein nicht aus.»
«Besondere Schwierigkeiten bereiteten dem Chatbot Fragen, die implizites Wissen und Schlussfolgern erfordern, um die korrekte Antwort zu finden.»
Ein Beispiel dafür ist die Frage: «Ich brauche ein Buch aus einer Bibliothek in Osaka, wer kann mir helfen?» Die Frage erfordert eine gewisse Interpretationsleistung, um «Osaka» mit dem Thema «Fernleihe» in Verbindung zu bringen. In einem ersten Schritt wurde zwar der passende Abschnitt zur Fernleihe gefunden und als eine von vier Quellen ans Sprachmodell geschickt. Dieses konnte die Verbindung zwischen «Osaka» und «Fernleihe» aber nicht herstellen und entschied, dass die passende Quelle für die Frage nicht relevant ist. Anstatt die Quelle zu nutzen, sagte das Modell, dass es diese Frage nicht beantworten könne.
«Mit solchen Fragen stossen wir momentan an die Grenzen der Technik», erklärt Sarah Kiener. «Die aktuellen Entwicklungen adressieren aber genau dieses Problem. Die neuesten Sprachmodelle werden auf logisches Denken und Schlussfolgern trainiert. Es wird vermutlich nicht mehr lange dauern, bis sie solche Fragen korrekt beantworten können.»
Eine weitere Herausforderung für den Chatbot waren relative Zeitausdrücke wie «heute», «morgen», «demnächst» oder «in letzter Zeit». So war der Chatbot mit der Frage «Bis wann hat die ZB heute geöffnet?» zuerst überfordert, weil er nicht wusste, für welchen Wochentag er die Öffnungszeiten angeben soll. Das Entwickler*innen-Team fand aber eine einfache Lösung für das Problem. «Wir geben dem Sprachmodell im Prompt, also unserem Auftrag an das Modell, das aktuelle Datum und den Wochentag mit, damit es weiss, worauf sich Zeitausdrücke wie ‹gestern› und ‹heute› beziehen. Das verbessert die Antworten des Chatbots deutlich. Allerdings beobachten wir immer noch gelegentliche Schwierigkeiten mit unscharfen Zeitausdrücken wie ‹kürzlich› oder ‹in nächster Zeit›», sagt Jan Zimmermann vom ZB-Lab.
Ausblick in die Zukunft
Insgesamt zieht Anja Weng, die Leiterin des ZB-Labs, eine positive Bilanz: «Wir haben mit unserem Experiment viel gelernt und einen Chatbot-Prototyp gebaut, der rund um die ZB Auskunft geben kann. Durch das Anzeigen der Quellen haben wir eine hohe Transparenz geschaffen. Ausserdem ist es uns gelungen zu verhindern, dass der Chatbot falsche Informationen ausgibt. Unsere wichtigsten Ziele haben wir erreicht und konnten aufzeigen, was in Zukunft möglich ist und wo die Stärken und Schwächen von KI-gestützten Chatbots liegen.»
Bisher wurde der Chatbot erst intern getestet und noch nicht in der Interaktion mit Kundinnen und Kunden. Durch diese ersten Tests sammelte das ZB-Lab wichtige Erkenntnisse und hat nun ein differenziertes Bild über das Potential und die Schwachstellen des Prototyps. «In einem nächsten Schritt wollen wir unseren Prototyp verbessern und ihm eine umfangreichere Datengrundlage zur Verfügung stellen, damit er mehr Fragen korrekt beantworten kann», blickt Anja Weng in die Zukunft. «Wenn diese zweite Version intern ein Erfolg wird, wäre es auch denkbar, den Prototyp in einer Testphase dem ZB-Publikum zugänglich zu machen.»
Sarah Kiener
ZB-Lab