2.1 Dialogflow - NerimanK/Cloud-Computing-Technology---Google-Home GitHub Wiki

Dialoglow

Dialogflow ist eine End-End-Lösung, wo eine Lösung erstellt wird und überall bereitgestellt werden kann. Bei Dialogflow können dialogorientierte Schnittstellen für Webseite, mobile An-wendungen, gängige Kommunikationsplattformen und IdD-Geräte. Bei Dialogflow werden Konversationsschnittstellen über Produkte und Services aufgebaut. Es werden menschliche Konversationen durch Textcharts oder graphische Eingaben simuliert. Dialogflow umfasst ma-schinelle Lernkompetenz von Google. Dabei läuft es auf der Google Cloud Plattform, die von Google bereitgestellt wird. Dialogflow wird durch maschinelles Lernen von Google unterstützt. Mit Dialogflow können Konversationen erstellt werden, da sie das Verständnis der natürlichen Sprache haben (engl. Natural Language Understanding). Durch die Benutzung von Dialogflow werden Agenten erstellt, die unterschiedliche Nuancen analysieren und umwandeln, sodass die Services es verstehen. In Dialogflow umfasst der Ablauf die folgenden Schritte:

  1. Der Benutzer gibt einen Input.
  2. Der Agent analysiert den Input.
  3. Der Agent sendet eine Antwort an den Benutzer zurück

Ein detaillierter Ablauf wird in den nächsten Abschnitten beschrieben.

dialogflow

Intent

Intents bestehen aus vier Hauptkomponenten, womit der Input des Benutzers und die Ausgabe des Agenten zugeordnet werden kann. Der Name des Intents: Der Name wird an den Fullfillment übergeben und identifiziert die Übereinstimmung des Intents. Trainingssätze: Beispiele, was Nutzer sagen könnten. Dialogflow trainiert diese, für spätere gleiche Intents. Actions und Parameter: Definiert relevante Informationen aus dem Input beziehungsweise Parameter aus dem Text. Beispiele sind Datum, Uhrzeit, Namen und Orte. Response: Eine Antwort an den Benutzer zurückgibt (Google).

Entities

Entitäten sind von Dialogflow Mechanismen um sinnvolle Daten aus Befehlen/Fragen des Nutzers zu identifizieren und zu extrahieren. Intents werden benutzt, um Benutzereingaben zu verstehen und Entitys werden verwendet, um bestimmte Informationen herauszufinden. Sei es Straßenadressen bis zu Produktnamen oder auch Mengeneinheiten. Die Eingabe bzw. der In-put des Users haben relevante Entitäten.

Actions on Google

Mit Actions on Google ist eine Software gemeint, die über den Google Assistanten auf Geräten wie Google Home Smart Speaker ausgeführt wird. Actions on Google werden in zwei Arten unterteilt.

  • Direkte Kommunikation: Einfache Fragen oder Befehle wie zum Beispiel „Schalte das Licht aus“ oder „Spiel eine Musik ab“.
  • Konversations Action: Hierbei geht es um keine Standardfragen oder Befehle, wie bei der direkten Kommuikation, sondern um Gesrpäche.

In diesem Abschnitt wird eine neue App für Google Home Mithilfe von Dialogflow entwickelt. Der Fullfillment verwendet in diesem Fall eine Cloud Funktion auf Firebas, welches die Daten aus dem Google Cloud Datastore abruft (Paul, 2018). Der User sagt: Give me a quote by Naval“. Anschließend wird der Befehl an den Google As-sistant gesendet. Im Google Assistant wird die Sprache umgewandelt. Hierbei verwendet der Google Assistant eine Aktion für Google. Dialogflow erhält den Text und entscheidet an wel-chen Agenten es gesendet werden soll. Der Agent identifiziert den Intent und sendet es an den richtigen Intent. Ein Intent beinhaltet Entitys, die Parameter speichert um bestimmte Infor-mationen herauszufinden. Anschließend wird der Intent und die Entitys an den Fullfillment übergeben. Der Fullfillment ruft die Cloud Funktion auf. Hierbei stellt die Cloud Funktion eine Verbindung zum Datenspeicher und holt relevante Daten. Der Fullfillment liefert die relevanten Daten als JSON-Objekt an Dialogflow. Dialogflow übergibt die Antwort an den Google Assistant. Action on Google die für den Google Assistanten erstellt wurde, umwandelt den Text in Audio. Zum Schluss antwortet der Google Home dem User.

system