Microsoft Bot Framework

Das Bot Framework bietet zahlreiche libraries and services an, die helfen um Schnittstellen zu bauen um deine APP ins Laufen zu bringen.

  1. Kommunikationswege mit dem Bot: Speech, Typing or Touching
  2. Art und Weise Bots zu trainieren: Intents, Entities, Utterances

Mit Bot analytics findet man heraus wie hoch die Anzahl der Kunden, Anzahl an wiederkehrenden Kunden, Zahl der Konversationen und wie der Ursprungskanal (Skype, Webseite etc.)  sind.

Eine Interaktionen mit einem Bot kann in natürlicher Sprache erfolgen.

Beispiel:

Nutzer: Friseur am Samstag?

Bot: Klar. Folgende Termine sind Verfügbar: 10.00 Uhr, 11.00 Uhr etc.

Nutzer: 10:00 Uhr

Bot: Perfekt. Ein Termin wurde erfolgreich um 10.00 Uhr am 25.03.2017 reserviert.

Warum Bot Framework? Bot Frame bietet Tools und Features an, um die Entwicklung von Bots zu vereinfachen.

 

  1. Bot Builder bietet SDKs für .Net und Node.js Plattformen an, um den Bot zu bauen. Auch ein Emulator für Debugging Zwecke liegt vor. Dieser SDK bietet libraries, samples und Werkzeuge an, um Bots zu bauen und zu debuggen. Im SDK sind Dialoge und einiges an Basiswissen eingebaut.  Die Gesprächslogik wird auf einem Web Service gehosted. Node.js nutzt das Framework „restify“, bekannt für Web Services, um einen Webserver für das Bot zu erstellen.
  2. Bot Framework Portal bietet eine Möglichkeit um Bot zu registrieren, verknüpfen und zu verwalten. Auch Analysetools liegen vor.
  3. Auf verschiedenen Channels können die Bots verwendet werden wie Email, Skype, Facebook, Slack und SMS. Mit channel Inspector kann ein Bot auf verschiedenen Kanälen getestet werden.

Mit Hilfe von Microsoft Cognitive Services können Sprachverständnis und Bilderkennung dem Bot hinzugefügt werden.

Erstellung eines Bot mittels des Azure Bot Service

Der Azure Bot Service unterstützt die Entwicklung eines Bots, da eine Infrastruktur für die Bot Entwicklung vorliegt.

Ein Bot kann lokal oder auf der Azure Plattform erstellt werden. Ein lokal erstellter Bot kann auf dem Bot-Framework-Emulator getestet und gestartet werden. Mit Node (SDK) Bwird eine app.js gestartet. Gleichzeitig wird der Bot-Framework Emulator gestartet. Hiermit wird auf dem lokalen Rechner auf einer virtuellen Maschine der Bot getestet.

Wie funktioniert das Bot-Framework?

Das Bot-Framework bietet Tools und Services an, die einem helfen Bots zu bauen und zu veröffentlichen inkl. dem Bot Builder SDK, Developer Portal und dem Bot Connector.

Bots Bauen:

Bots sind Apps die eine Konversations-Schnittstelle für die Kundenbedürfnisse anbieten. Wenn der Bot auf dem Developer Portal registriert und verbunden ist, dann kann die ganze Welt über Facebook, Skype, Slack und weiteren Kanälen den Bot verwenden

 

Azure Bot Service bietet eine integrierte Entwicklungsumgebung für Bots. Ein Bot kann von Ihrem Webbrowser geschrieben, verbunden, getestet und verwaltet werden. Einfache Bots brauchen sogar keinen Code. Der Bot läuft auf der Azure Cloud und ist somit auch skalierbar.

Channel: ist die Verknüpfung zwischen Bot-Framework und einer der Kommunikationsapps wie Skype, Facebook etc.

Bot Connector verbindet den Bot zu einem Kanal und verwaltet den Nachrichtenaustausch.

Activity : Ein Objekt wird genutzt um Informationen zwischen einem Bot und einem Kanal  auszutauschen. Message ist ein Typ von Activity.

Dialog organisiert die Logik im Bot und verwaltet die Konversation. Ankommende Nachrichten werden in einem Stack gespeichert.

Rich card beinhaltet einen Titel, eine Beschreibung, einen Link und Bilder. Somit kann eine message unterschiedliche rich cards beinhalten im Rahmen einer Liste.

Test und Debug: Der Bot-Framework-Emulator ist eine Desktop Applikation, womit Entwickler Ihre Applikation testen und debuggen können. Der Bot läuft auf einem localhost oder remote durch ein Tunnel. JSON Anfragen und Antworten werden geloggt. Auch Visual Studio Code kann hierfür genutzt werden.

Deploy to the cloud: Vom github oder Visual Studio kann der Bot über Azure oder einem anderen Host deployed werden.

Register Bot:  Ein fertiger Bot sollte im developer Portal registriert werden. Das Dashboard  bietet  Management und Verwaltungsdaten an. Darüber hinaus können weitere Konfigurationen durchgeführt werden.

Bing: mit dem Bot zu verbinden macht den Bot öffentlich. Ein privater Bot sollte auf die Verknüpfung mit Bing verzichten.

 

Wie wird der Bot intelligenter? Intelligente Bots antworten auf Fragen wie reale Menschen

  • Sprachverständnis (LUIS): ist fähig natürliche Sprache zu verstehen mit Hilfe von trainierten Sprachmodellen
  • Rechtschreibungskorrektur: Bing Spell Check API
  • Sentiment Analyse (Stimmungserkennung): Text Analytics API identifiziert Stimmung, Themen und Sprache vom Text
  • Sprachmodellierung: Web Language Model wertet die Worthäufigkeit aus, sagt das nächste Wort voraus in dem fortgeschrittene Sprachmodelle berücksichtigt werden.

 

 

Design eines Bots

Ein Bot muss einen Mehrwert liefern als App, Webseite, Anrufe und andere Kommunikationsmittel. Wie kann der Bot die maximale Kundenzufriedenheit liefern?

Löst der Bot das Problem der Kunden schnell (in einer geringen Anzahl von Schritten / in kürzester Zeit)?

Auf Antworten wie „Stop, Abbrechen, Aufhören“ muss der Bot auch schnell reagieren können. Auch die gewählten UX Elemente müssen zu der Intention eines Bots passen. Das primäre Kriterium eines Bots ist und bleibt das Problem des Kunden mit höchster Kundenzufriedenheit zu lösen.

Wie schreibt man ein Event Handling? Anbei stellen wir Ihnen ein Möglichkeit ein Event und die Aktion eines Bots vorzubereiten.

Was sagen die anderen zu der Idee?