
Bots und KI: Was genau ist eine Bot-Plattform?
Lesedauer: 8 Minuten
Die großen Anbieter im Bereich der KI-Bots - IBM Watson, Microsoft Cognitive Services, Amazon Lex, Google API - bieten alle in etwa das Gleiche, aber jeder hat seine eigene Terminologie. Ob Bot-Plattform, Bot-Kanal oder Bot-Framework - ich habe den technischen Evangelisten von Microsoft, Martin Beeby, und den CEO und Mitbegründer von The Bot Platform, Syd Lawrence, gebeten, mir dabei zu helfen, die Technologie in Begriffe zu fassen.
Sehen Sie sich hier das Video unseres Gesprächs an, oder scrollen Sie unter dem Video, um die vollständige Abschrift zu lesen.
Bots und KI: Was genau ist eine Bot-Plattform? (Vollständiges Transkript)
Sam Machin (Nexmo Developer Advocate & Alexa Champion): Lassen Sie uns dieses Mal ein bisschen technischer werden. Eines der Dinge, die ich gelernt habe, ist, dass ich, besonders wenn ich verschiedene Plattformen betrachte, Dinge mit IBM Watson, mit Microsofts Cognitive Services, mit Amazons Alexa und Lexund der Google API, AI Google Assistance. Alle haben unterschiedliche... alle machen ungefähr das Gleiche in einer Reihe von APIs.
Sie haben alle eine Sache, sie haben eine Sprache-zu-Text-Sache. Sie haben irgendeine Art von natürlicher Sprachverarbeitung, sie haben irgendeine Art von Laufzeitsoftware. Aber sie geben ihnen unterschiedliche Namen, unterschiedliche Terminologie. Sieht jemand irgendetwas... Ich meine, wenn wir zum Beispiel auf unsere Bot-Plattformen zurückkommen, was ist eine Bot-Plattform? Syd, das ist dein Unternehmen.
Syd Lawrence (CEO/Mitbegründer von Die Bot-Plattform): Bevor wir als The Bot Platform an den Start gingen, wurden sie nicht Bot-Plattformen genannt. Wir haben unsere Systeme also seit April letzten Jahres aufgebaut. Und es gab ein paar sogenannte Bot Builder, die gestartet wurden. Wir waren der Meinung, dass es sich bei dem, was wir geschaffen haben, nicht nur um einen Bot Builder handelte, sondern um eine ganze Plattform, die nicht nur für Bots, sondern auch für die Erweiterung von Bots gedacht war. Und wir haben hinter den Kulissen verschiedene Dinge getan. Also haben wir die Bot-Plattform ins Leben gerufen.
In den letzten drei Monaten habe ich bemerkt, dass alle angefangen haben, sie Bot-Plattformen zu nennen. Und jetzt sieht es so aus, als ob wir... nun, ich weiß nicht, ob es gut ist, weil wir zuerst da waren, oder ob es schlecht ist, weil die Leute jetzt denken, dass wir nur The Bot Platform heißen, weil die Leute sie Bot-Plattformen nennen.
Unser ursprüngliches Ziel war es also, ein System zu entwickeln, mit dem andere Leute ihre eigenen App-Messaging-Bots erstellen können. Und was wir in den letzten sechs Monaten festgestellt haben, ist, dass die Leute keine Ahnung haben, was sie tun sollen, wenn ihnen eine technische Lösung wie diese präsentiert wird. "people have got no idea what to do when they're presented with a technical solution like this." Ich meine, es ist nicht technisch, sondern man könnte es bis zu einem gewissen Grad als CMS bezeichnen. Was wir jetzt tun, ist, dass wir eine Servicelösung anbieten, bei der wir ihnen helfen, den Bot für sie oder mit ihnen zu entwickeln, und dann später die technische Lösung übergeben.
Aber ja, letztendlich wurden sie nicht Bot-Plattformen genannt, bis wir die Bot-Plattform ins Leben gerufen haben. Das ist also meine Antwort auf diese Frage.
Sam: Sagen Sie mir, ich meine, eine der Debatten, die ich hören wollte, ist für mich... okay. Aber ich meine, die Bot-Plattform muss bestimmte Dinge haben. Zum Beispiel ist Facebook Messenger allein keine Bot-Plattform, oder?
Martin Beeby (Technischer Evangelist bei Microsoft): Wir würden das... in unserer Terminologie als Kanal bezeichnen. Also Skype oder Facebook oder was auch immer Ihre Plattform ist oder Kik oder was auch immer - oder Slack - wir nennen sie Kanäle. Und dann haben wir ein Framework, ein Bot-Framework, das sich über all diese Dinge erstreckt. Sie können also mit einem Bot für all diese Dinge bauen. Mit einem Bot-Framework können Sie für all diese Plattformen bauen.
Aber ja, für all diese Plattformen, für all diese Kanäle. Sehen Sie, wir kommen schon mit der Terminologie durcheinander. Ich versuche, bei der Terminologie zu helfen und mehr Unklarheit zu schaffen. Aber ja, wir würden diese Kanäle nennen und dann haben wir ein Bot-Framework. Wir nennen es eigentlich nicht Bot-Plattform, weil wir wissen, dass Syd zuerst da war. Wir wollten diesen Bereich also nicht stören.
Sam: Ich denke, das ist... ja, der Kanal ist definitiv eines der Dinge, die ich als eine aufkommende Terminologie sehe. Der Kanal ist die Art und Weise, wie der Nutzer auf den Bot zugreift, denn der Bot selbst ist... und die meisten dieser Kanäle sind wirklich Kommunikationskanäle. Sie wurden ursprünglich für den Chat von Mensch zu Mensch entwickelt. Slack ist eine Möglichkeit, mit anderen Menschen zu kommunizieren. Der einzige Unterschied ist, dass man nicht mit einer Person kommuniziert, sondern mit einem Bot. Der Bot selbst lebt also ... ist genauso wenig Teil des Channels wie ich als Nutzer. Der Kanal ist das, was mich und den Bot verbindet.
Und ich nehme an, dass es bei einigen der enger gekoppelten Systeme, wie Alexa vielleicht, alles in einem ist. Aber da wir immer noch Dinge auf bestehenden Kommunikationskanälen aufbauen, dann ja. Dann gibt es definitiv eine Trennung zwischen dem Bot.
Also Martin, was ist dein Rahmen? Was macht dein Framework auf einer generischen Ebene? Was sind die Merkmale, die es ausmachen?
Martin: Grob gesagt ist es ein Framework, ein Entwicklungskit, ein SDK, das entweder in Node oder C# funktioniert. Und du baust diesen Bot und er... beide dieser verschiedenen Sprachen funktionieren leicht unterschiedlich. Aber grob gesagt, haben wir ein Muster, um eine Nachricht zu erhalten und dann Nachrichten zurück zu senden. Wir überspannen alle Plattformen. Sie würden also einen Bot entweder mit Node oder C# erstellen...
Syd: Es umfasst alle Kanäle.
Martin: Habe ich Plattformen gesagt? Ja, genau. Ich spanne alle Kanäle auf. Und die Idee ist, dass Sie eines dieser Dinge bauen und wir dann sozusagen als Vermittler dastehen und sicherstellen, dass es auf all den verschiedenen Kanälen für Sie verfügbar ist. Aber Sie bauen einen Bot.
Neuerdings kann man auch mit unterschiedlichen Antworten reagieren, je nachdem, auf welchem Kanal man spricht. Wenn ich also zum Beispiel einen Facebook-Messenger-Bot baue, möchte ich wahrscheinlich viel Wert auf die Benutzeroberfläche legen. Denn in den Facebook Messenger-Richtlinien ist von Schaltflächen, Karussells und ähnlichen Dingen die Rede. Bei einigen Kanälen sind sie viel restriktiver, was das Aussehen der Oberfläche angeht. Und vielleicht liefern Sie in diesen Fällen nur Text oder Schaltflächen oder ähnliches. Wir bauen also einen Bot, aber Sie können je nach Kanal und der Art, wie die Nachricht bei Ihnen ankommt, unterschiedlich reagieren.
Aber der Grund, die Art von... der Vorschlag, den Microsoft anbietet, ist diese Kostenersparnis. Man erstellt einen einzigen Bot und kann ihn dann auf Skype, Facebook Messenger und Slack zur Verfügung stellen. "You build one single bot and then you can make it available on Skype, Facebook Messenger, and Slack." Sam: Wie lautet das alte Java-Sprichwort: "Einmal schreiben, überall laufen lassen."
Martin: Ja, wir sind dabei... das ist die Idee, die wir versuchen, immer einfacher zu machen. Und die Hoffnung ist, dass man, wenn mehr und mehr Kanäle hinzukommen, die Vorteile dieser Kanäle nutzen kann, ohne dass man... oder nur sehr wenig Entwicklungsarbeit leisten muss. Und das ist, wenn wir uns internationale Kunden ansehen, wirklich ein wichtiger Aspekt, denn je nach Land, in dem man lebt, sind verschiedene Nachrichtenplattformen in verschiedenen Ländern wichtiger. Jemand, der also einen Bot für ein chinesisches Publikum entwickelt, würde eine ganz andere Reihe von sozialen Netzwerken in Betracht ziehen als jemand, der einen Bot für Nordamerika entwickeln möchte.
Das ist also das Konzept, mit dem wir versuchen, die Entwickler produktiver zu machen, denn das ist letztlich unser Spiel.
Sam: Also dein Framework... also eigentlich gibt es da für mich ein paar Dinge, die du da machst. Denn Sie haben einige... Sie nehmen die eingehenden Nachrichten aus dem Kanal und das ist der Einstiegspunkt in Ihr Framework. Aber dann gibt es vermutlich eine Art von natürlicher Sprache... nun, ist natürliche Sprache nah dran? Möglicherweise Sprache zu Text und dann natürliche Sprachverarbeitung.
Martin: Das kann man durchaus, muss man aber nicht. Wenn Sie das wollen, ist es natürlich sehr, sehr einfach, natürliches Sprachverständnis hinzuzufügen. Oder wir nennen es LUIS, Language Understanding [Intelligent] Service. Dabei handelt es sich um einen Azure-Dienst, den Sie einfach in das Sprachverständnis einbinden und dann mit verschiedenen Funktionen verknüpfen können, die auf der Absicht des Benutzers basieren. Es ist sehr einfach zu benutzen. Aber Sie müssen das alles nicht verwenden. Ich meine, das bleibt Ihnen überlassen.
Sam: Sie können einfach die rohe Kanaleingabe in Ihren Code übernehmen, was immer der Benutzer in den Messenger oder wen auch immer eingegeben hat, kann in Ihren Code eingespeist werden, oder...
Martin: Auf jeden Fall. Ja, absolut. Sie könnten Ihre Bot-Intelligenz grundsätzlich auf Regex basieren lassen, wenn Sie das wirklich wollen. Aber im Allgemeinen würden wir - zumindest in den meisten Fällen - empfehlen, eine Art Sprachverstehensdienst zu haben, anstatt zu versuchen, herauszufinden, was der Benutzer in Ihrem Bot zu tun versucht. Und die meisten der von uns generierten Beispiele beinhalten das.
Aber ja, es gibt viele verschiedene Dienste, die wir anbieten. Wir bieten zum Beispiel einen Q&A-Service an. Sie laden also alle Ihre Fragen und Antworten hoch, und wir können diese sehr schnell und einfach als Bot für Sie bereitstellen. Das geht fast ohne Code, auch mit Azure-Funktionen. Wenn Sie mit AWS vertraut sind, haben sie diesen Stack namens Lambda, der eine Art serverloser Stack ist. Wir haben auch dasselbe, es heißt Azure Functions. Und Sie können einfach mit ein paar Klicks einen Bot darauf bereitstellen, eine Frage und eine Antwort in Form einer Excel-Tabelle hochladen. Ihr Bot ist dann in der Lage, Fragen zu beantworten, z. B. häufig gestellte Fragen. Sie nutzen also maschinelles Lernen, um das Richtige herauszufinden.
Sam: Ich habe das tatsächlich ein wenig ausprobiert. Ja, das ist ein ziemlich cooler Weg, um zu deinem ersten Bot zu kommen. Ich glaube, sogar ich brauchte ein Word-Dokument. Ich wollte nur eine Schlüsselfrage und eine Antwort.
Martin: Er würde eine Webseite mit einer Frage und Antwort nehmen und diese in einen Frage und Antwort-Bot umwandeln. Und er ist erstaunlich genau. Es geht nicht nur um den Abgleich von Mustern, sondern auch um das Verstehen natürlicher Sprache und das anschließende Mapping. Er führt Text-Ranking und all diese cleveren maschinellen Lernverfahren hinter den Kulissen durch. Aber Sie als Benutzer können mit so etwas sehr, sehr schnell einen Q&A-Bot erstellen.
[Anmerkung der Redaktion:Sehen Sie sich die komplette einstündige Diskussion über den Stand der KI-Bot-Technologie].