Programmieren für Google-Assistant – neues bei Dialogflow

Ich habe heute eine meiner Actions bei Google-Assistant aktualisiert. Dabei ist mir aufgfallen, dass nun in Dialogflow noch mehr Dinge direkt erledigt werden können. Das schönste Feature ist meiner Ansicht nach, dass man nun auch direkt im Dialogflow im UI das SSML eingeben kann.

Nur Bahnhof verstanden? Dann will ich kurz ein wenig erklären:

Was heißt SSML? Was heißt Dialogflow?

Dialogflow heißt die Plattform, bei der man für den Google Assistant und Google Home die Einstellungen vornimmt, um eigene Sprach-Anwendungen bei Google einpflegen zu können. Dort kann man dann eintragen, auf welche Worte wie reagiert werden soll und was geantwortet oder ausgegeben werden soll. Immer, wenn die Sprachassistenten mit einem sprechen, wird versucht automatisch den Text richtig auszusprechen. Man kann das System aber auch dabei unterstützen. So kann man dann dafür sorgen, dass eine Telefonnummer nicht als fünfundvierzigtausenddreihunderteinundzwanzig ausgesprochen wird, sondern als 4 5 3 2 1. Das man den Programmen im Sprachassistenten sagen kann, wie sie etwas aussprechen können, das macht man mit SSML, der Speech Synthesis Markup Language.

Wie kann man in Dialogflow nun einfach die SSML benutzen?

Bisher war es so, dass Sprachantworten nur als Text eingegeben werden konnten. So hatte man kaum Möglichkeiten, die Sprachausgabe zu beeinflussen, außer man schrieb die Antwort in eine kryptischere Form in das Portal. Das wurde nun verbessert und man kann jetzt endlich zur Textantwort, die auch auf dem Bildschirm angezeigt werden, SSML-Befehle direkt in Dialogflow eintragen. Auch MP3-Dateien oder andere Audiodateien können so abgespielt werden (hier eine Zusammenfassung zum Abspielen von Audiodateien bei Alexa und Google Assistant).

Das macht es nun Menschen mit wenig Programmiererfahrung einfacher, selbst Audiodateien abzuspielen oder mehr Einfluß darauf zu nehmen, wie der Google-Assistant Dinge betont oder ausspricht.

Einfache Schritte zur Umsetzung

  1. Zuerst geht man in Dialogflow in den Intent, den man mit dem SSML austatten möchte.
  2. Bei “Responses” sollte ein “Simple Response” vorhanden sein. Ansonsten ist dieser jetzt anzulegen.
  3. Dort fügt man dann den Google-Assistant hinzu.
  4. Dort gibt es nun immer eine Zeile, in der man die einfache Textantwort ohne Anpassung eingeben kann. In der oberen Leiste gibt es aber auch den Button “Customize Audio Output”.  Auf den klickt man dann und erhält neben der Textzeile nun eine neue Spalte für SSML.
  5. In die neue rechte Spalte kann dann SSML-Text eingegeben werden, zum Beispiel zum Ausspielen von MP3, was dann zum Beispiel ausehen würde.
<speak><audio src='https://server.de/bla.mp3'>Ich werde vorgelesen, wenn die Audiodatei nicht abrufbar ist.</audio></speak>

Dann kann man das ganze speichern und ist schon direkt ausprobierbar in der Testkonsole.

Beispiel für einen Eintrag in Dialoglow mit SSML in der rechten Spalte.

Ich finde, diese Art der Einbringung von SSML direkt in der GUI von Dialogflow macht es deutlich einfacher, angespasste Aussprache einzubauen. Eine Übersicht über die SSML-Sprachbefehle findet ihr bei Google.