Chatbots mithilfe von Dialogflow erstellen und bereitstellen

Dieser Artikel bietet eine Übersicht über eine mehrteilige Reihe von Anleitungen, in der erläutert wird, wie Sie einen Chatbot mithilfe von Dialogflow in Google Cloud erstellen, schützen und skalieren. Diese Anleitung ist nützlich für Entwickler, die daran interessiert sind, einen Chatbot mit ihren eigenen Daten zu erstellen.

Die Geschichte von dialogorientierten Benutzerschnittstellen ist so alt wie moderne Computer. ELIZA war ein frühes Computerprogramm für Natural Language Processing, das von 1964 bis 1966 im Labor für Künstliche Intelligenz des MIT (Massachusetts Institute of Technology) entwickelt wurde. Chatbots bilden einen Typus von Computersystemen für Natural Language Processing. Eine bekannte Version von dialogorientierten Chatbots sind Frage-Antwort-Systeme, die in der Lage sind, Nutzerfragen zu verstehen und mit einer Antwort zu erwidern. Watson von IBM ist beispielsweise ein Frage-Antwort-System, das die in natürlicher Sprache gestellten Fragen beantworten kann.

In letzter Zeit haben sich die Frage-Antwort-Chatbots mit der Einführung von Produkten wie Siri, Cortana und Google Assistant erheblich weiterentwickelt. Im folgenden Diagramm ist die typische Architektur eines dialogorientierten Bot-Systems dargestellt.

Architektur eines Chatbot-Systems

Die Systemarchitektur besteht aus folgenden Komponenten:

  • Multichannel integration (Mehrkanal-Integration): Jede dialogorientierte Schnittstelle verbindet sich mit mehreren Kanälen, die sowohl im Sprach- als auch im Textformat kommunizieren können.
  • Conversation management (Konversationsverwaltung): Diese Komponente ist das Herzstück der Benutzerschnittstelle und bietet in der Regel die folgenden Funktionen:

    • Spracherkennung (Speech-to-Text, STT) und Sprachausgabe (Text-to-Speech, TTS): Dialogorientierte Schnittstellen können mit Sprache und Text interagieren.
    • Virtual Agent: Diese Agents sind für die Verwaltung des Gesprächsflusses auf der Grundlage der Absicht oder Motivation verantwortlich, die aus dem Nutzergespräch hervorgeht. Eine gute dialogorientierte Schnittstelle verfügt über ein Agent-System, das lineare und nicht lineare Konversationen verarbeiten kann.
  • Fulfillment interface (Ausführungsschnittstelle): Keine dialogorientierte Schnittstelle ist vollständig ohne eine robuste Ausführungsschnittstelle, die erforderlich ist, um Virtual Agents mit externen Systemen zu verbinden. Diese Schnittstelle ist erforderlich, um eine Verbindung mit externen Systemen herzustellen und dynamische Informationen abzurufen, um eine Konversation fortzuführen oder umzusetzen.

Dialogflow ist eine End-to-End-Entwicklersuite, die einmal erstellt und dann überall bereitgestellt werden kann, um dialogorientierte Schnittstellen für Websites, mobile Anwendungen, gängige Kommunikationsplattformen und Geräte für das Internet der Dinge (IdD) zu erstellen. Sie können damit Schnittstellen wie Chatbots und interaktive Sprachdialogsysteme (Interactive Voice Response, IVR) erstellen, die natürliche und umfassende Interaktionen zwischen Ihren Nutzern und Ihrem Unternehmen ermöglichen.

Beim Erstellen eines Chatbots verarbeiten Sie zuerst Daten vor, um dadurch Themen anzulegen, und extrahieren und speichern dann zugehörige Synonyme für bestimmte Themen. Diese Daten werden in Dialogflow Agent hochgeladen und Themen wiederum in Entitäten hochgeladen. Dialogflow nutzt Entitäten als Mechanismus zum Identifizieren und Extrahieren nützlicher Daten aus Eingaben natürlicher Sprache. Wenn Entitäten vorhanden sind, erstellen Sie in Ihrem Agent Intents, mit denen verschiedene Nutzereingaben den entsprechenden Antworten zugeordnet werden. In jedem Intent definieren Sie Beispiele für Nutzeraussagen, die den Intent auslösen können, und Sie legen fest, was aus den Aussagen extrahiert und wie geantwortet werden soll.

Dialogflow kann anhand von Intents eine Verbindung zu externen Systemen herstellen. Dabei wird ein als Webhook bereitgestellter Code für die Auftragsausführung verwendet. Während einer Unterhaltung können Sie mithilfe der Auftragsausführung die Informationen verwenden, die vom Natural Language Processing-System von Dialogflow extrahiert wurden, um dynamische Antworten zu generieren oder Aktionen im Back-End auszulösen.

Schließlich stellen Sie eine individuelle Benutzerschnittstelle bereit, die mithilfe der JavaScript-API von Dialogflow mit dem Chatbot interagiert.

Weitere Informationen

Die Anleitungen dieser Reihe behandeln die folgenden Themen: