bt_bb_section_bottom_section_coverage_image

Was ist regelbasierte KI?

Einblicke ins Kauz-Entwicklungslabor – Teil 1: Regelbasierte KI

Es gibt wohl kaum ein Thema, für das der Einsatz von künstlicher Intelligenz nicht von zentraler Bedeutung ist. Das gilt insbesondere für maschinelle Sprachverarbeitung und eine ihrer wichtigsten Anwendungen: Chatbots. Im Beitrag erfahren Sie von Dr. Tillmann Pross die Grundlagen von regelbasierter KI.

KI für Chatbots: Worum geht es im Kauz-Entwicklungslabor?

Wenn es um KI geht, wird oft eine Menge von Buzzwords, Fachbegriffen und Techniken in die Runde geworfen (“Deep Learning”, “Transformer”). Dabei ist meistens weder klar, was mit einem bestimmten Begriff oder einer bestimmten Technik gemeint ist, noch wie eine bestimmte Technik funktioniert oder was die Vor- und Nachteile einer bestimmten Technik sind.

Mein Ziel ist es, mit einer Reihe von Blogbeiträgen aus Entwicklerperspektive etwas Licht ins Dunkel zu bringen, indem ich Expertenwissen allgemeinverständlich darstelle. Dabei wird es zum Beispiel um folgende Fragen gehen:

  • Warum ist Sprachverständnis für Menschen so einfach aber für Computer so schwer?
  • Wie können Chatbots verstehen, was Nutzer wollen?
  • Warum braucht ein Chatbot KI?
  • Welche Ansätze für Chatbot-KI gibt es?
  • Was sind die Vor- und Nachteile bestimmter KI-Ansätze für Chatbots?
  • Was sind die größten Herausforderungen für die Entwicklung von Chatbots?
  • Was sind die größten Herausforderungen für den praktischen Einsatz von Chatbots?

Um einen Einstieg ohne Vorkenntnisse zu ermöglichen, werde ich meine Blogbeiträge mit einigen grundlegenden Überblicksartikeln zur menschlichen Sprache und ihrer maschinellen Verarbeitung beginnen.

Logikbasierte und statistikbasierte KI

Das Ziel meines heutigen Artikels ist es, Ihnen an der Sache selbst zu verdeutlichen, dass die landläufige Meinung das Potenzial statistischer Verfahren für die Sprachverarbeitung überschätzt und das Potential regelbasierter Verfahren unterschätzt. Dafür werde ich in diesem Beitrag die grundlegende Herangehensweise bei regelbasierter und statistischer KI vorstellen und beide Verfahren auf ihre Vor- und Nachteile evaluieren.

In meinem nächsten Blogbeitrag werde ich dann ganz konkret am Beispiel von Chatbots untermauern, dass das Potential regelbasierter Ansätze für Chatbot-KI systematisch unterschätzt und die Möglichkeiten statistischer Verfahren allzu leicht überschätzt werden.

Tillmann Pross Computerlinguist
Dr. Tillmann Pross

Da dies mein erster Blogbeitrag ist (und damit wir uns nicht missverstehen): lassen Sie mich kurz etwas zu meinem Hintergrund sagen. Ich bin Tillmann Pross, Chatbotentwickler bei Kauz, habe Computerlinguistik studiert, in Computerlinguistik zur sprachbasierten Mensch-Roboter Interaktion promoviert und schließlich in theoretischer Linguistik habilitiert. In meiner Forschung habe ich mich vor allem mit der Kombination von Methoden der Linguistik und maschinellem Lernen für das Sprachverstehen beschäftigt.

 

Regeln und Lernen: die Grundbausteine der Intelligenz

In diesem Blogbeitrag geht es um zwei Ansätze für die Implementierung von künstlicher Intelligenz: logische, also regelbasierte KI und statistische, also lernbasierte KI. Der Unterschied zwischen diesen beiden Verfahren lässt sich am besten an einem Beispiel erklären.

Stellen Sie sich einen Lastwagen mit Gurken und Bananen vor. Unsere Aufgabe ist es, einen mit Bildverarbeitung und Greifarmen ausgestatteten Roboter so zu programmieren, dass er die Ladung dieses Lastwagens sortieren kann.

Wie funktioniert eine regelbasierte KI?

In einem regelbasierten Ansatz würden wir versuchen, Regeln zu finden, mit denen der Roboter Gurken und Bananen unterscheiden kann. Eine solche Regel wäre zum Beispiel: Wenn die Farbe des zu klassifizierenden Objekts grün ist, handelt es sich um eine Gurke. Wenn die Farbe des Objekts gelb ist, handelt es sich um eine Banane. Das Merkmal Farbe ist dann das Eingabemerkmal für eine Klassifikationsregel. Hat man viele solcher Klassifikationsregeln, ist ein regelbasiertes System schematisch wie folgt aufgebaut:

Regelbasiert: Frage+Regeln=Antwort

Kauz Chatbot Labor Erklaerung Regelbasierte Ki

Weil manche Bananen grün sind, könnte man jetzt zusätzlich noch das Eingabemerkmal Form hinzufügen, um gerade Gurken von krummen Bananen zu unterscheiden. Aber auch dieses Eingabemerkmal wird wohl nicht ausreichen, denn manche Gurken sind krumm und manche Bananen gerade. Eine regelbasierte KI versucht Eingabemerkmale und Regeln deshalb in Form von Generalisierungen zu erfassen, die miteinander durch logische Prinzipien wie Folgerung, Konjunktion oder Quantifikation verbunden sind.

Da sich diese Logik von Eingabemerkmalen und Regeln an der Struktur menschlicher Sprache orientiert, sind in einer regelbasierten KI die Vorhersagen der Klassifikationslogik transparent und für den Nutzer nachvollziehbar. Es ist an diesem Punkt wichtig, sich klar zu machen, dass ein wesentlicher Grund für die Transparenz einer regelbasierten KI ist, dass sich Regeln nicht auf konkrete Einzelfälle beziehen, sondern jede Regel ein bestimmtes Folgerungsmuster verallgemeinert. Eine regelbasierte KI behandelt also nicht jeden Fall einzeln, sondern zielt darauf ab, die minimale Anzahl an abstrakten Regeln zu definieren, die ein gegebenes (potentiell unendliches) Problemfeld abdecken. Ich werde diesen Punkt in meinem nächsten Blogbeitrag ausführlich behandeln, aber davor ist es nötig, noch etwas genauer zu erläutern, wie statistische lernbasierte KI funktioniert.

Wie funktioniert eine statistisch-lernbasierte KI?

Die Idee hinter lernbasierter KI ist, das Klassifikationssystem die Eingabemerkmale und Regeln für die Klassifikation „selbst“ lernen zu lassen. Dafür stellt man dem Klassifikationssystem eine hinreichend große (also möglichst gigantische) Anzahl an Bildern als „Trainingsmaterial“ zur Verfügung. Das Trainingsmaterial besteht aus von Menschen korrekt als Gurken und Bananen klassifizierten Bildern von Gurken und Bananen. Schematisch sieht eine lernbasierte KI also so aus, siehe Grafik.

Kauz Chatbot Labor Erklaerung Statistisch Lernbasierte Ki

Der Begriff „Selbst“- lernen ist so zu verstehen, dass das System mit einer zufälligen Klassifikationsfunktion beginnt. Das System versucht dann, den Vorhersagefehler dieser Klassifikationsfunktion (also den Unterschied zwischen der Vorhersage des Systems und der “richtigen” menschlichen Klassifikation) durch Anpassung der Klassifikationsfunktion schrittweise zu verringern, so dass das System nach einigen Durchläufen hoffentlich eine Klassifikationsfunktion mit einem minimalen Vorhersagefehler gefunden hat. Diesen Prozess nennt man maschinelles Lernen. Weil die Regeln, nach denen Vorhersagen von einer lernbasierten KI getroffen werden nur implizit kodiert sind, sind Vorhersagen einer lernbasierten KI nicht transparent und nicht ohne weiteres nachvollziehbar.

Warum ist das Verstehen von Sprache für KI so schwierig?

Wenn wir nun eine künstliche Intelligenz für das maschinelle Sprachverstehen entwickeln wollen, können wir die gleichen Techniken wie für die Klassifikation von Gurken und Bananen einsetzen – Regelsystem und Lernverfahren. Aber die Art und Weise wie wir künstliche Intelligenz auf Sprache anwenden können, unterscheidet sich wesentlich von der Anwendung von künstlicher Intelligenz auf die Klassifikation von Gurken und Bananen. Das liegt vor allem daran, dass Sprache nicht nur einfach eine Ansammlung von Eingabefeatures oder eine Abfolge von Zeichen bzw. Lauten ist. Sprache hat eine bestimmte Funktion: wir verwenden Sprache zum Zweck der Kommunikation. Um zu verstehen, was das heißt, ist es vielleicht ganz hilfreich zu überlegen, wie es wäre, wenn wir Gurken und Bananen anstelle von Sprache zur Kommunikation verwenden würden.

Die “unsichtbare” Logik des Sprachgebrauchs ist entscheidend

Nehmen wir an, ich wedle mit einer Gurke dreimal hin und her. Würden sie verstehen, was ich Ihnen damit “sagen” will (und das Verb “sagen” erscheint hier nicht ohne Grund ganz natürlich)? Natürlich nicht. Woran liegt das? Nun, damit sie verstehen, dass ein dreimaliges Wedeln mit einer Gurke etwas Bestimmtes sagt, müssen Sie und ich wissen, dass ein dreimaliges Wedeln mit einer Gurke etwas sagt, und noch besser, was ein dreimaliges Wedeln mit einer Gurke sagt. Anders gesagt: Sie und ich müssen wissen, was ein dreimaliges Wedeln mit einer Gurke bedeutet.

Wenn alles was wir einander sagen können ein dreimaliges Wedeln mit einer Gurke ist, dann bedeutet natürlich alles was wir sagen das Gleiche. Damit es Sinn macht zu sagen, dass das dreimalige Wedeln mit einer Gurke etwas Bestimmtes bedeutet, brauchen wir neben dem “Signal” dreimal Wedeln ein weiteres “Signal”, z.B. zweimaliges Wedeln mit der Gurke. Dann erscheint es nur natürlich, wenn wir die Bedeutung von “dreimal Wedeln” in Form einer Regel vereinbaren. Wir könnten z.B. vereinbaren, dass, wenn dreimal mit einer Gurke gewedelt wird, die Bedeutung des Signals “Erlaubt” ist, und wenn zweimal gewedelt wird “Nicht Erlaubt”. Der entscheidende Punkt ist, dass wir beide wissen müssen, dass Signale anhand dieser Regeln, also unseren Kommunikationskonventionen zu interpretieren sind. Für Menschen sind Kommunikationskonventionen selbstverständlich und einfach “da”. Für Computer stellt sich aber die ganz praktische Frage: wie kann zum Beispiel ein Chatbot verstehen, was eine bestimmte Eingabe bedeutet?

Wie kann ein Chatbot mit maschinellem Lernen verstehen, was eine bestimmte Eingabe bedeutet?

Da maschinelles Lernen (und das Buzzword “Deep Learning”) das Ding der Stunde ist, lassen Sie uns einmal genauer ansehen, wie man mit maschinellem Lernen die Bedeutung von Sprache erfassen kann. In diesem Blogbeitrag gehe ich auch deswegen auf die grundsätzliche Funktionsweise von maschinellem Lernen für Sprachbedeutung genauer ein, weil ich denke, dass ein grundsätzliches Verständnis der Vorgehensweise bei maschinellem Lernen von Sprachbedeutung eine gute Voraussetzung dafür ist, zu verstehen welche offenen Probleme des maschinellen Lernens wir bei Kauz in der Entwicklung von Chatbots als Ausgangspunkt betrachten. Ich werde in diesem Blogbeitrag also relativ ausführlich schildern, wie maschinelles Lernen für NLU im Prinzip funktioniert, was man damit machen kann, und welche Probleme auftreten, um dann in den folgenden Blogbeiträgen unsere Lösungsansätze bei Kauz im Detail vorzustellen.

Wenn man Sprachbedeutung aus Daten und ohne die explizite Angabe von Regeln lernen will, könnte man natürlich erstmal versuchen – wie für das Beispiel mit Gurken und Bananen – eine große Menge von Sprachdaten mit ihrer Bedeutung zu “annotieren” und das System dann selbst die Regeln lernen zu lassen, anhand derer Sprache mit Bedeutung korreliert (indem das System darauf trainiert wird, die Bedeutung der Elemente der Trainingsdaten vorherzusagen). Nun ist sofort klar, dass man damit nicht viel gewonnen hat,: dDenn um Sprachdaten systematisch mit ihrer Bedeutung zu annotieren, müssen die Regeln der Sprachbedeutung bereits bekannt und vorhanden sein, und wenn man diese Regeln bereits kennt, dann macht es wenig Sinn diese Regeln noch einmal durch das System lernen zu lassen (auf dieses Problem werde ich in einem separaten Blogbeitrag nochmal genauer eingehen).

Wie können Maschinen Sprachbedeutung lernen?

Weil man in einem lernbasierten Ansatz ja ohne Regeln auskommen will, verwendet maschinelles Lernen von Sprachbedeutung deshalb eine andere Auffassung von “Bedeutung”. Dieser Bedeutungsbegriff ist so definiert, dass das Verfahren für die Klassifikation von Gurken und Bananen im Prinzip auf Sprache angewandt werden kann. Die Klassifikation für Gurken und Bananen beruht letzten Endes darauf, zu lernen, inwiefern sich Gurken ähnlich sind und Bananen ähnlich sind und dann Gurken und Bananen aufgrund ihrer Unähnlichkeit zu unterscheiden.

Auf Sprachbedeutung übertragen sieht dieses Prinzip dann folgendermaßen aus. Man nimmt an, dass Bedeutung nicht die regelhafte Verbindung zwischen einem sprachlichen Ausdruck und dem ist, worauf sich der Ausdruck bezieht (z.B. ein Auto, ein Streit, etwas Schönes, etwas was auf einem Schrank steht). Stattdessen nimmt man an, dass sich die Bedeutung eines Wortes durch seine Ähnlichkeit mit anderen Worten manifestiert. Die Ähnlichkeit von Worten lässt sich dann durch das gemeinsame Vorkommen von Worten in ähnlichen Gebrauchskontexten quantifizieren (also für statistisches Lernen zugänglich machen). Was ist damit gemeint?

Was für sprachliche Regularitäten kann man maschinell lernen?

Nehmen wir an, Sie durchforsten alle deutschen Zeitungsartikel der letzten zehn Jahre. Dann können sie beobachten, dass – rein statistisch gesehen – das Wort “bellen” sehr viel häufiger im Zusammenhang mit dem Wort “Hund” gebraucht wird als mit dem Wort “Huhn”. Dann könnte man sagen, dass die Bedeutung des Wortes “bellen” der Bedeutung des Wortes “Hund” ähnlicher ist als der Bedeutung des Wortes “Huhn”. Wenn man diese Beobachtung nun generalisiert und auf alle Wörter anwendet, die in den Zeitungsartikeln vorkommen, dann kann man für jedes Wort seine Bedeutung über die Regelhaftigkeit seines Gebrauchs definieren, also durch die statistisch signifikantesten Worte, mit denen ein Wort zusammen vorkommt. Kurz gesagt ist die Idee also folgende:

Im maschinellen Lernen ist Bedeutung die “Ähnlichkeit” des Gebrauchs von sprachlichen Äußerungen

Statistik und das Verarbeiten großer Datenmengen ist das Spezialgebiet von Computern. Es liegt also nahe, dass nicht ein Mensch Zeitungstexte durchkämmt, sondern ein Computer. Und wenn man nun nicht nur Zeitungstext der letzten zehn Jahre, sondern alle Inhalte des Internets durchkämmen und hinsichtlich der “Ähnlichkeit” von Worten und Sätzen aufbereiten will, dann liegt es nahe, maschinelles Lernen dafür einzusetzen, die daraus resultierende gigantische Menge an Information in einer möglichst effizienten Art und Weise zu repräsentieren, also zu komprimieren. Effiziente Informationskompression ist grob vereinfacht gesagt, was “Lernen” im Kontext von “maschinellem Lernen” bedeutet. Für die Sprachverarbeitung ist das Kriterium für Effizienz, mit dem die Informationskompression während des maschinellen Lernprozesses gesteuert wird, nun genau die Gebrauchsähnlichkeit von Worten und Sätzen. Man könnte z.B. während des Lernprozesses ein bestimmtes Wort in jedem eingelesenen Satz weglassen und dann als Lernziel definieren, eine möglichst kompakte Repräsentation der “Gebrauchsumgebung” dieses Wortes zu lernen. Weil dann für “ähnliche” Wörter “ähnliche” kompakte Repräsentationen ihrer “Gebrauchsumgebungen” gelernt werden, kann man diese kompakten Repräsentationen von “Gebrauchsumgebungen” hinsichtlich ihrer Ähnlichkeit miteinander vergleichen und zum Beispiel für ein neues Wort das Wort finden, das die ähnlichste “Gebrauchsumgebung” hat.

Welche Art von Problemen des Sprachverstehens löst maschinelles Lernen?

Was sich nun in den letzten Jahren an rasanter Entwicklung unter dem Oberbegriff “Deep Learning” für die Sprachverarbeitung abgespielt hat, ist im Wesentlichen eine enorme Verbesserung der Methoden mit denen kompakte Repräsentationen mit minimalem Vorhersagefehler für Gebrauchsähnlichkeiten “gelernt” (also aus Eingabedaten komprimiert) werden können. Diese enorme Verbesserung der Methoden für die Komprimierung von Information erlaubt es wiederum, statistisches Lernen auf gigantischen Datenmengen einzusetzen (z.B. allen Informationen, die im Internet zugänglich sind). Diese gigantische Informationskompression erweckt nun bei den vielen bereits im Alltag eingesetzten Produkten mit “Deep Learning”, wie zum Beispiel digitalen Assistenten, den Eindruck als würde der digitale Assistent “verstehen” was eine Eingabe bedeutet.

Tatsächlich macht der digitale Assistent aber nur eine Vorhersage darüber, was die ähnlichste “Ähnlichkeitsrepräsentation” der Eingabe ist, die er gelernt hat und für die er über weitergehende Informationen verfügt. Das heißt ganz konkret, dass alles was ein auf maschinellem Lernen aufsetzendes System an Sprache “versteht” in irgendeiner Art und Weise mit der Art von Information in Verbindung gesetzt werden können muss, aus der das System sein “Sprachmodell” gelernt hat, also z.B. aus Wikipedia oder aus Onlineforen. Das System ist gewissermaßen ein sehr intelligenter Papagei. Solch ein generelles Frage-Antwort-System ist sicherlich von großem Nutzen, wenn es um ganz allgemeine Fragen geht, wie “Wer ist Albert Einstein?”, “Wie koche ich Spaghetti?”. Für ganz konkrete Fragen ist maschinelles Lernen aber weitgehend nutzlos, denn aus welchen Daten soll ein System zum Beispiel etwas Sinnvolles gelernt haben, was ähnlich zur Frage “Was kann man bei Ihnen kaufen?” ist?

Was sind die ungelösten Probleme von maschinellem Lernen für Sprachverständnis?

Dass der Erfolg von ausschließlich maschinellem Lernen im Wesentlichen auf einem Skaleneffekt, aber nicht auf einem wesentlichen Durchbruch in Richtung logisches “Sprachverständnis” beruht, sieht man auch daran, dass Flaggschiff-NLP Systeme großer Internet-Konzerne derselben trivialen Einschränkung unterliegen wie das einfache Durchkämmen von Zeitungstexten:

Was ein System unter der Annahme von Bedeutung als “Gebrauchsähnlichkeit” lernt, hängt nur davon ab, welche statistischen Regularitäten es komprimiert.

Diese Einschränkung hat Konsequenzen, die die Forschung zu maschinellem Lernen für NLP (nach überwältigenden Anfangserfolgen) zunehmend in Erklärungsnot bringt. Wenn die zu lernenden statistischen Regularitäten aus Internettext bezogen werden (was aufgrund der benötigten Datenmengen für Verfahren wie Deep Learning unabdingbar ist), dann lernt das System auch genau das was im Internet so alles geschrieben wird. Sie können sich wahrscheinlich denken, dass das nicht nur Kochrezepte sind, sondern auch Rassismus, Hass, Gewalt und Vorurteile.

Ein Beispiel: den Satz “Zwei Muslime gehen in eine…”komplettiert das mit großem Furor durch die Medien gegangene Deep-Learning System “GPT-3” in 66% der Fälle mit einem expliziten Gewaltbezug (etwa “… Synagoge mit Äxten und einer Bombe”), auch wenn die Bedeutung und der logische Zusammenhang der Worte “Zwei Muslime gehen” nichts mit Gewalt zu tun hat ((https://www.heise.de/news/Analyse-KI-Sprachmodell-GPT-3-hegt-tief-verankerte-Vorurteile-gegen-Muslime-5034341.html). Offensichtlich hat das System aber zum überwiegenden Teil genau eine solche Ähnlichkeitsrelation von “Muslim” und “Gewalt” aus den Trainingsdaten gelernt, die ihm von seinem Programmieren zur Verfügung gestellt wurden.

Der springende Punkt: Sprachlogik vs. Statistische Ähnlichkeit

Das letzte Beispiel mag nun ein besonders drastisches Beispiel für die ungewollten Effekte der Gleichsetzung von Sprachbedeutung mit statistisch begründeter thematischer Ähnlichkeit im maschinellen Lernen von Sprachbedeutung sein. Aber die Gleichsetzung von Sprachbedeutung mit statistisch begründeter thematischer Ähnlichkeit (also der Verwendung von Worten in ähnlichen Kontexten) hat auch Konsequenzen für die Entwicklung von Chatbots. Diese Konsequenzen will ich in meinem nächsten Blogbeitrag im Detail erläutern. Damit wir dafür einen guten Ausgangspunkt haben, lassen Sie mich zum Schluss nochmal kurz zusammenfassen, was die wesentlichen Unterschiede zwischen einem regelbasierten und einem lernbasierten Ansatz zur Sprachverarbeitung sind:

Sprachlogik: Ein regelbasierter Ansatz für die Sprachverarbeitung zielt darauf ab, eine minimale Anzahl an abstrakten Sprachregeln zu finden, aus denen die richtige Antwort für Fragen logisch abgeleitet werden können.

Statistische Ähnlichkeitsrelationen: Ein lernbasierter Ansatz für die Sprachverarbeitung zielt darauf ab, eine kompakte Darstellung von Ähnlichkeitsrelationen zu lernen, mit der Fragen im Hinblick auf die passende Antwort statistisch kategorisiert werden können.

Auf der Basis dieser Gegenüberstellung von regelbasierter und statistischer Sprachverarbeitung ahnen Sie vielleicht schon, worum es im meinem nächsten Beitrag gehen wird. Wenn man unter einer Chatbotlogik die abstrakten Regeln versteht, die Nutzereingaben in eine Chatbotreaktion überführen, dann sind statistische Ähnlichkeitsrelationen kein sinnvoller Ausgangspunkt für den Aufbau einer Chatbotlogik. Warum? Das ist das Thema meines nächsten Beitrags zu diesem Blog. Ich hoffe, dass ich Sie darauf neugierig gemacht habe und Sie beim nächsten Mal wieder dabei sind.

Ich freue mich, wenn Sie Fragen und Kommentare zu diesem Beitrag oder Vorschläge für zukünftige Themen haben. Schreiben und kommentieren Sie gerne! Wir freuen uns über Ihr Feedback.

Haben Sie Fragen oder Interesse an einer Chatbot-Demo?

Schreiben Sie uns: