Die Schwierigkeit der letzten Jahre war es, eine geeignete künstliche Intelligenz (auch Bot-Engine genannt) zu entwickeln, damit im besten Fall der Benutzer einen Bot nicht von einem menschlichen Benutzer unterscheiden kann. Für ein Projekt haben wir uns in den letzten Wochen verstärkt mit einigen dieser Dienste, welche die künstliche Intelligenz für Bots anbieten, beschäftigt. Im April hat Facebook mit dem Launch einer Messenger Plattform für Schlagzeilen gesorgt.
Was ist also nötig um einen Bot zu entwickeln? Zuerst benötigt man eine Anbindung an den Messenger. Fast alle Messenger bieten eine geeignete Schnittstelle (über REST-API) an. Danach folgt der wirklich schwierige Teil: Der Bot muss die Benutzereingabe verstehen und die richtige Antwort liefern. Hierfür benötigt man eine künstliche Intelligenz. Will man zum Beispiel einen Flug buchen, gibt es viele verschiedene Möglichkeiten um dies auszudrücken:
- Ich benötige ein Taxi!
- Hallo, kannst du mir bitte ein Taxi bestellen?
- Wie hoch ist der Preis für ein Taxi von Wels nach Linz?
Auf all diese Anfragen muss der Bot richtig reagieren. Übrigens sind auch Sprachsteuerungen wie „Siri“, „Cortana“ und „Google Now“ Bots. Diese verarbeiten Sprache anstatt Text. Im Hintergrund steht ebenfalls eine künstliche Intelligenz.
In diesem Bereich wurden in den letzten Jahren viele Firmen gegründet, um eben diese künstliche Intelligenz als Dienst anzubieten. Wir haben viele davon (Sitepal, LUIS, Alicebot, Pandorabot, wit, Jasper, Clarifai, Fancyhands und API) analysiert, ausprobiert und verglichen. Dabei haben sich zwei Sieger herauskristallisiert: wit und API. Diese glänzten sowohl in der Bedienung, der Lernfähigkeit als auch in der Anwendung. Grundsätzlich erschien uns wit etwas stabiler und weiter in der Entwicklung, weshalb wir in diesem Projekt auf wit setzen. Ein großer Vorteil von wit ist das wirklich gute User-Interface und die schnelle Lernfähigkeit des Bots. wit ist gratis und frei verfügbar, der Grund hierfür ist, dass die Bot-Engine von wit alle Eingaben systemweit kombiniert, um die Performance der Bot-Engine insgesamt besser zu machen: Big Data nennt sich das ganze.
Das Konzept von wit
Hier werde ich kurz das Konzept von wit vorstellen:
- Stories: Hier werden exemplarisch Dialoge eingegeben, wie eine Kommunikation zwischen Bot und Benutzer aussieht – bereits vorhandene Protokolle sind Gold wert.
- Entities: Hierbei handelt es sich um Variablen bzw. Datentypen. Die Bot-Engine erkennt sofort, ob es sich um ein Datum, eine Position, eine Nummer etc. handelt.
- Custom-Entities: Es können auch eigene Entities definiert werden (zum Beispiel Transport-Typ bei einem Reiseanbieter).
- Merge: Die Entities werden nach einer Benutzereingabe identifiziert.
- Action: Hierbei handelt es sich um eine Aktion des Bots (zum Beispiel ein API-Aufruf zur Abfrage des Flugplans).
Nun ist es natürlich von Vorteil, wenn man mehrere Stories erstellt, damit der Bot ein besseres Verständnis über die möglichen Benutzereingaben erhält. Stories können auch untereinander kombiniert werden (zum Beispiel Benutzer gibt alle nötigen Daten in einem Satz ein oder wird um jede nötige Information gefragt).
Architektur
Die Einbindung der Engine erfolgt über eine REST-Schnittstelle. Es werden alle Benutzereingaben an wit gesendet und man erhält als Ergebnis die Antwort, welche an den Benutzer zurück gesendet werden soll. Trifft wit auf eine Aktion, erhält man am Client diese und die jeweilige Aktion kann ausgeführt werden (zum Beispiel „fetch-taxi“ wie im obigen Beispiel). Durch diese Flexibilität ist man unabhängig von der Plattform und kann wit in jeder App oder Web-Applikation einsetzen.
Fazit
wit ist ein sehr leistungsfähiger Dienst mit dem man auch sehr schnell Fortschritte erzielt. Durch die große Datensammlung, da es auch in Facebook Messenger-Bots zum Einsatz kommt, hat wit die Möglichkeit sehr schnell zu lernen und die Daten auszuwerten. Wir haben bisher sehr gute und positive Erfahrungen damit gemacht. Bis vor kurzem war es noch undenkbar, einen solch guten Bot in kurzer Zeit und geringem Budget zu erstellen.
Wir entwickeln digitale Lösungen mit Leidenschaft
Warum wir das tun? Weil die Verwirklichung Ihrer Vision unser größter Anspruch und die schönste Anerkennung ist. Deshalb nehmen wir uns gerne ausreichend Zeit für die Realisierung Ihres digitalen Projekts.
Kontaktieren Sie uns, wir sind gerne für Ihre Fragen da: