Bots – Intelligente Kommunikation mit Microsoft Teams
In unserem vorletzten Blog Beitrag wollen wir einen Blick auf die intelligente Kommunikation mit Microsoft Teams werfen. “Intelligente Kommunikation” kommt als Begrifflichkeit natürlich aus der Marketing Abteilung von Microsoft. Die Intelligenz, die das Marketing hier adressieren möchte, kommt durch kleine Helferlein, die sich perfekt in Teams integrieren lassen, den Bots.
Bots sind kleine Programme, die einem im täglichen (Arbeits-) Alltag unterstützen und helfen sollen. Die bekanntesten Beispiele für einen Bot sind mit Sicherheit Cortana, Siri oder auch Alexa. Kleine Assistenten, die auf Sprache reagieren und mit denen man Informationen abrufen, Bestellungen bei Online Shops aufgeben oder auch die Hausautomatisierung steuern kann.
Bots sind kleine Programme, die menschlich wirken sollen und eine Interaktion zwischen Mensch und Anwendung ermöglichen.
Bots und Microsoft Teams
Im Kontext von Microsoft Teams werden Bots mittels Chat Funktion eingebunden. Bots lassen sich über das Präfix @ ansteuern und bekommen dadurch schon einen leichten menschlichen Zug. Denn sie sind genauso wie jedes Teammitglied darüber ansprechbar, haben in Teams auch ein Avatar, sind quasi ein vollständiges Teammitglied.
Unterschieden werden in Microsoft Teams zwei Arten von Bots: der 1:1 Bot und der Gruppen-Bot. Wie die Begriffe schon erahnen lassen, ermöglicht der 1:1 Bot immer eine direkte Kommunikation zu einem Anwender und ist ein persönlicher Chat. Bei dem Gruppen Bot ist der Chat Verlauf auch von anderen Teams Mitgliedern einsehbar. Dieser steht also dem ganzen Team zur Verfügung.
Machen wir den Anfang mit T-Bot
Als einfaches Beispiel für einen Bot, den jeder Teams Anwender verwenden kann, ist der T-Bot. Die Office Büro Klammer der Neuzeit quasi.
Für die jüngeren Leser dieses Blogs: als man früher eine Funktion im Office gesucht hat, konnte man die Taste F1 drücken und es erschien eine kleine, animierte Büroklammer als Hilfe Assistent. Dem Assistenten konnte man dann die Frage stellen und es kamen dann (mehr oder weniger) hilfreiche Lösung zum Vorschein.
Innerhalb Microsoft Teams übernimmt diese Funktion nun T-Bot. T-Bot ist ein 1:1 Chat-Bot, den man über den Reiter Chat innerhalb Teams findet und eine Unterhaltung starten kann. Möchte man etwas zu Teams wissen, kann man hier seine Fragen rund um Microsoft Teams loszuwerden. Öffnet man die Chat-Historie von T-Bot , so wird einem neben dem eigentlichen Chat auch ein Reiter mit einer Hilfe Website zu Microsoft Teams angeboten. Stellt man T-Bot eine Frage, so antwortet der Bot mit Auszügen aus den Microsoft Docs Universum und Verlinkungen zu den entsprechenden Artikel. Gleichzeitig kann man die Ausgabe bewerten und dem Entwicklerteam Rückmeldung zur Qualität der Antwort geben.
Wer ist eigentlich Herr Einstein?
Auch gibt es viele weitere Bots, die über den Microsoft Teams Store bereitgestellt werden und für ein Team installiert werden können. So z.B. auch der von Microsoft bereitgestellte Who-Bot. Der Who-Bot liefert einem Teams Anwender Informationen zu einer Person aus dem Unternehmen und kann auch Informationen zu den Personen über die MySite von SharePoint Online bereitstellen.
Zunächst muss man dafür aber den Who-Bot installieren. Dazu kann man z.B. über das Befehlsfenster “who” eingeben und es wird der Who Bot bereits als App vorgeschlagen:
Wählt man den Vorschlag aus, wird man aufgefordert den Bot zu installieren und der Bot steht dann im Chat Reiter zur Nutzung bereit.
Über einfache Fragen wie “who is Frank Sinatra” wird das Unternehmensadressbuch durchsucht und bei einem Ergebnis wird eine Ergebniskarte mit Kontaktinformationen und weiteren Aktionsmöglichkeiten präsentiert:
Über den Button “Manager” kann man sich z.B. den Vorgesetzten von Frank Sinatra anzeigen lassen, sofern diese Information im Ad hinterlegt ist:
Auch sieht man an diesem Beispiel, dass über den Button letztendlich nur eine neue Frage an den Bot generiert wird, nämlich “Who i the manager of Frank Sinatra”
Was ist, wenn die Bots aus dem Microsoft Store mir nicht die Funktionen liefern, die ich benötige?
Über den Microsoft App Store lassen sich zahlreiche Bots installieren, unter Umständen gibt es aber dennoch Anforderungen, die so out-of-the-Box noch nicht verfügbar sind. Denkbar wäre z.B. eine Kopplung an die eigene Hausautomatisierung zur Steuerung von Klimaanlagen in Räumen, ein Buchungsbot für Poolfahrzeuge oder ein Bot der Daten aus einem ERP System anzeigt. Für Anforderungen, für die es keinen fertigen Bot gibt, kann man über das Bot Framework von Microsoft neue Bots schreiben und bereitstellen. Und auch hier gibt es fertige Funktionen, die man kombinieren kann.
So z.B. der QandAMaker von Microsoft, zu finden unter https://www.qandamaker.ai.
Hierbei handelt es sich um eine Azure Funktion, die entsprechend formatierte FAQ oder Wiki Seiten analysiert und in Fragen/Antwort teilt. Diese Fragen und Antworten werden in einer Datenbank gespeichert und dem Bot zugänglich gemacht. Nun kann der Anwender in Teams einen Chat mit dem Bot starten und eine Frage stellen. Findet der Wiki Bot den Eintrag in dem angelernten Content, so gibt er die Antwort an den Anwender zurück.
Zum Erstellen einer QandAMaker Services wird ein entsprechender Azure Service benötigt.
Ist dieser vorhanden, kann man seine Knowledgebase in wenigen Klicks aufbauen. Zunächst ist der QandAMaker Service mit Informationen zu füttern, welche Webseiten oder Dokumente der Service crawlen soll:
Danach wird der erste Index aufgebaut und zur Verfügung gestellt.
Ein erstes Ergebnis, das man nun auch schon anpassen kann, ist nach dem Crawl Vorgang sichtbar:
Über “Save and train” wird die Knowledgebase mit diesen Einstellungen gespeichert und trainiert. Zum Abschluss muss dieses Training noch veröffentlicht werden, damit der Teams Bot auch darauf zugreifen kann.
Über die Test Funktion kann man den antrainierten Inhalt testen und gegebenenfalls auch bessere Antworten auf eine Frage definieren.
Auch hier gilt wieder: der Bot kann nur auf Fragen antworten, die er schon kennt oder für die er ein Muster erkennt.
Sollen die Antworten möglichst valide sein, so kann man über das Plus-Zeichen neben der Frage weitere mögliche Fragebildungen hinterlegen und den Bot erneut antrainieren. Die Antwort ist dann für mehrere Fragestellungen gültig bzw. kann der Bot dann auch besser auf ähnlich gestellte Fragen antworten.
Sollte der Anwender mal eine Frage stellen, zu der der Bot keine Antwort hat, kann der Programmierer hier eine Standardantwort/-aktion hinterlegen (z.B. “Ich kann Ihnen aktuell an der Stelle leider nicht weiterhelfen, ich leite Sie nun aber an einen Kollegen weiter.”). Auch werden nicht beantwortbare Fragen in deiner Datenbank gespeichert, die man dann regelmäßig auswerten kann um eine Anpassung des Bots vorzunehmen.
Ist die Wikipage auf SharePoint Online bereitgestellt, so kann man auch hier wieder Azure Funktionen nutzen und bei Änderungen oder neuen Wiki Inhalten den QandAMaker Service per Trigger zu einem neuen Crawl-Vorgang starten.
Das Microsoft Bot Framework – ein wichtiger Baustein
Die Möglichkeiten, die einem das Microsoft Bot Framework hier bietet, sind nahezu unbegrenzt. So kann der Bot für Web Chat, eMail, Facebook, Skype, Skype for Business oder Teams (um nur einige zu nennen) programmiert und genutzt werden.
Über die Microsoft Cognitive Services stehen Funktionen zur Verfügung, um Personen oder Emotionen in hochgeladenen Bildern zu erkennen, Speech-2-Text einzubinden oder auch Echtzeitübersetzungen.
Somit sind viele Anwendungsszenarien denkbar, angefangen bei den hier beschriebenen Bots, die lediglich Informationen aus einer Quelle wiedergeben, bis hin zu komplexen Ausgaben, über die man dann das Hotelzimmer, mit Klimaanlage, Kingsize Bett und Meerblick, sowie Flug und Mietwagen buchen kann.