Wir bei Kauz haben eine Leidenschaft für Digitale Assistenten. Unsere Chatbots sind führend im deutschsprachigen Raum. Dabei ist eines unserer Features die Einbindung großer, externer Datenbanken.
Kürzlich haben wir Zugang auf GPT-3 bekommen. GPT-3 ist OpenAIs bahnbrechendes Sprachmodell. Deep Learning Modelle wie GPT-3 haben in vielen Bereichen zu enormen Leistungsschüben geführt.
Also wollten wir direkt wissen: Können wir GPT-3 für unsere Zwecke einsetzen? Wie gut ist GPT-3 darin, Datenbanken abzufragen? Revolutioniert GPT-3 Chatbots mit Datenbank-Anbindung? Im Folgenden vergleichen wir GPT-3 mit bestehenden Technologien.
Chatbots mit Datenbank-Anbindung
Chatbots müssen oftmals viele Daten berücksichtigen. Das geschieht immer öfter durch das Einbinden von externen Datenbanken. Ein Beispiel hierfür ist der Bot Kev. Kev beantwortet jegliche Fragen rund um OpenOffice, aber bei sehr spezifischen Fragen durchsucht Kev das OpenOffice Handbuch. Zum Beispiel: „Wie füge ich eine Fußnote ein“. Nach dem Durchsuchen der Datenbank gibt Kev entsprechende Ergebnisse aus. Das ist, was wir Chat & Search nennen.
Kev, Elastic, und GPT-3
Die Technologie hinter Kev ist eine Mischung von maschinellem Lernen und regelbasierten Ansätzen. Dies ist das bester zweier Welten: Innovation und Kontrolle. Damit Kev auf seine Datenbank zugreifen kann, haben wir Elasticsearch (Elastic) implementiert.
Kürzlich hat GPT-3 eine neue Option hinzugefügt, mit der GPT-3 nun auch zum Durchsuchen von Datenbanken benutzt werden kann. Natürlich wollten wir direkt wissen, ob Kev davon Gebrauch machen kann. Das wollten wir formal testen.
Unsere Chatbot-Tests
Wir erstellten ein Testset von 185 Fragen, um folgende drei Aspekte zu vergleichen:
- Datenbank-Anfragen mit Kev (in dem Elastic implementiert ist).
- Anfragen direkt über die Elastic API.
- Anfragen mit GPT-3.
In der Abbildung sind die Ergebnisse zu sehen, wenn man die Systeme ohne weitere Anpassungen („out-of-the-box“) benutzt. Die Trefferquoten von 30% bis 60% zeigen, dass das eine schwere Aufgabe ist.
Die Ergebnisse für die verschiedenen Systeme in unseren Tests (in Prozent).
Anreicherung mit Expertenwissen
Kauz ist ein Powerhouse an linguistischem Wissen. Also haben wir die Daten mit weiteren Annotationen angereichert. Das beinhaltet beispielsweise: Synonyme und ähnliche Worte (‚Seitenzahl‘, ‚Seitennummer‘), Schreibvarianten (‚Fußnote‘, ‚Fussnote‘), das Hinzufügen von Gewichtungen bei Schlüsselwörtern, etc. Und so haben wir die Tests mit diesen Kauz-Meta-Annotationen wiederholt. Die Ergebnisse sind wie folgt.
Die Ergebnisse für die verschiedenen Systeme (in Prozent), mit Expertenanreicherungen (in dunkel).
Einschränkungen bei unseren Tests
Für eine solch schwere Aufgabe sind die Ergebnisse ziemlich gut. Dabei sind zwei Punkte zu erwähnen. Erstens, der Default unserer Parameter ist bereits auf unsere Aufgaben zugeschnitten. Kev profitiert also ohne zusätzliche Arbeit schon davon. Mit angepassten Parametern kommt Kev sogar auf >80%.
Wir haben versucht, die Parameter bei GPT-3 anzupassen. Leider brachte das keinen großen Erfolg. Zweitens, unsere Tests benutzen Daten in Deutsch. GPT-3 funktioniert am besten bei Englischen Daten. So gesehen sind GPT-3s Ergebnisse mit Kev schon ziemlich gut.
Wie geht es weiter?
Deep Learning Modelle entwickeln sich rasant. Vielleicht sehen wir ja bei GPT-4 und GPT-5 weitere Verbesserungen, selbst für solche Aufgaben wie das Durchsuchen vom OpenOffice-Handbuch. Es könnte allerdings auch sein, dass wir gegen eine Decke stoßen. GPT-3 war bereits auf riesigen Datensätzen trainiert.
Mehr Daten reichen unter Umständen nicht aus, damit Modelle wie GPT-3 Chatbots mit Datenbank-Anbindung verbessern. Dann müssten die Verbesserungen anderswo herkommen. Das könnte beispielsweise aus verbesserten Algorithmen kommen, oder durch weitere Datenanreicherung durch Experten.