Suche
Interview mit Ralf Eggert

Alexa, Google Assistant und Co: „Wir stehen am Anfang einer Revolution“

Redaktion JAXenter

Ralf Eggert

Amazon Alexa, Google Assistant, Siri, Cortana…wohin man auch sieht: Sprachassistenten gibt es mittlerweile beinahe auf jedem technischen Gerät, das über ein Mikrofon verfügt. Und wenn es traditionell keines hat, wird eines eingefügt. Im Interview zur diesjährigen Voice Conference 2018 gibt Ralf Eggert, CEO von Travello, einen kurzen Einblick über den aktuellen Status Quo in Sachen Sprachassistenten und erklärt, wie man als Entwickler in die Programmierung von Skills einsteigen kann.

JAXenter: Amazons Alexa-Familie wächst und wächst. Wenig überraschend, angesichts des seit langem starken Trends hin zur Sprachsteuerung. Wie siehst du die aktuelle Entwicklung im Bereich Voice ganz allgemein?

Ralf Eggert: Wir stehen immer noch am Anfang einer Entwicklung, die gerade erst begonnen hat. So manch einer möchte das Thema Voice zwar auf eine Stufe mit ehemaligen „Overhyped Flops“ wie z.B. SecondLife verorten, aber ich bin überzeugt, dass das Thema gekommen ist, um zu bleiben. Ein sprachliches Interface ist einfach die natürlichste Art, um einem Computer mitzuteilen, was er machen soll.

Anfang des Jahres ging eine Meldung durch die Presse, dass Amazon allein für seine Alexa-Sparte mehr offene Stellen ausgeschrieben hatte, als der gesamte Alphabet-Konzern inkl. Google, YouTube, usw. [1]. Dies zeigt, mit welcher Wichtigkeit alleine Amazon an dem Thema arbeitet. Und Google will mit dem Google Assistant und seinen Google-Home-Geräten nach einigen Startschwierigkeiten dem nicht nachstehen. Mit Microsofts Cortana, Apples Siri und Facebooks M sind auch die anderen großen Technologieunternehmen mit dabei. Und damit haben wir noch gar nicht den asiatischen Markt mit Bixby und AliGenie betrachtet.

Allein die technischen Innovationen von Alexa und dem Google Assistant in den letzten Monaten oder die gerade erst Ende September neu vorgestellten Geräte aus der Echo-Familie zeigen, dass wir am Anfang einer Revolution stehen: Wie in den 80ern mit dem Aufkommen der GUI-Anwendungen oder dem Mobile Web, das erst vor 10 Jahren so richtig durchstartete.

Ich sehe die aktuelle Entwicklung also sehr positiv.

JAXenter: Du sprichst in deiner Session auf der Voice Conference 2018 von einem Voice-First-Ansatz. Wo fange ich als Entwickler an und welche Faktoren gilt es zu beachten?

Ralf Eggert: Einsteiger sollten sich zu Beginn auf die Entwicklung von Alexa Skills und/oder Google Actions konzentrieren. Es gibt eine Fülle an Tutorials und Dokumentationen zu entdecken und auch Vorlagen für die ersten Schritte, mit denen ein neuer Entwickler gleich los legen kann. Zudem gibt es z.B. von Amazon auch viele kostenlose, regionale Alexa Workshops, bei denen Anfänger in alle wichtigen Themen eingeführt werden. Zudem sind die zentralen Portale für Entwickler die ersten Einstiegspunkte [2, 3].

Als Voice-Entwickler hat man nur die Sprache als Eingabemedium.

Das wichtigste ist dann natürlich die erste Idee. „Was soll umgesetzt werden?“ Nur eine Vorlage anpassen geht zwar schnell, ist aber nicht wirklich erfüllend. Als Voice-Entwickler muss ich mich ziemlich umstellen. Es gibt eben nur die Sprache als Eingabemedium. Während sich bei einer Website oder eine Smartphone App jeder zurecht aufregen würde, wenn die Oberfläche oder einzelne Buttons dauernd anders aussehen oder bezeichnet werden würde, ist dies bei einer Sprachanwendung ganz anders. Das menschliche Ohr wünscht sich im Gegensatz zum Auge einfach mehr Varianz. Ist jede Begrüßung oder jeder Prompt (Aufforderung zur Reaktion) immer gleich getextet, wird es schnell langweilig.

Während es auf einer Website oder in einer App kein Problem ist, lange Listen darzustellen und navigierbar zu machen, funktioniert dies bei der Sprachausgabe einfach nicht. Niemand will sich durch dutzende Elemente einer Liste per Sprache navigieren müssen. Nur wenige aller verkauften Smart-Assistant-Geräte verfügen derzeit über ein Display. Beim Voice-First-Ansatz muss ich als Entwickler also immer davon ausgehen, dass meine Nutzer eben auch kein Display zur Darstellung langer Ergebnislisten haben.

Ein weiterer Aspekt, der gerne sowohl von Entwicklern als auch von den Unternehmen vergessen wird: Nur die wenigsten Sprachanwendungen als Alexa Skill oder Google Action bleiben nach der Veröffentlichung unverändert. Eigentlich ist der erste Freischaltung nur der erste Schritt eines langen Lebenszyklus, an dessen Anfang auch viel Lernen erforderlich ist. Darauf sollten sich Entwickler ebenfalls einstellen.

JAXenter: Was bedeutet für dich „multimodal“? Welche Schnittstellen braucht eine multimodale Anwendung mit Alexa?

Ralf Eggert: Multimodal heisst im Zusammenhang mit Sprachassistenten, dass weitere Aus- und Eingabemedien zusätzlich zur reinen Sprache zum Einsatz kommen. Deshalb heißt der Ansatz auch „Voice First“ und nicht „Voice Only“. Um in der Alexa Welt zu bleiben, sprechen wir bei „multimodal“ also von zusätzlichen Ausgaben in der Alexa App oder auf einem Display wie dem Echo Show oder Echo Spot. Und bei der Eingabe kommt der Touchscreen vom Echo Show oder auch die Echo Buttons zum Einsatz. Wobei sich das Verständnis meistens eher auf die Ausgabe beschränkt, weshalb ich mich lieber darauf konzentrieren möchte.

Bei der Entwicklung eines Alexa Skills muss ich mich also nicht nur auf die Ausgabe von Text, der so genannten „Output Speech“, konzentrieren. Darunter ist der Text zu verstehen, der direkt von der Alexa-Stimme gesprochen wird und der z.B. auch durch die SSML (Speech Synthesis Markup Language) erweitert und sehr individuell angepasst werden kann. Dazu kommt dann die optionale Ausgabe von Informationen über eine so genannte Card, die auch Bilder aber wiederum keine Tags enthalten kann. Und dazu dann eben die Ausgabe auf einem Display, die neben Text und Bildern auch Listen oder Videos ermöglicht. All dieses wird in einem fest definierten JSON-Format an den Alexa-Voice-Server zurück gesandt und entspricht somit im allgemeinen der Schnittstelle, die ich als Entwicker bedienen muss.

Alexa hat vor kurzem mit der Alexa Presentation Language (APL) auch eine neue Designsprache herausgebracht, mit der wir Entwickler die Darstellung auf dem Display eines Echo Show oder Echo Spots noch individueller gestalten können. Google hat hingegen mit dem Google Home Hub mittlerweile auch ein Gerät am Start, dass ebenfalls über ein Display verfügt und somit ein multimodales Erlebnis für den Google Assistant bieten kann.

JAXenter: Stichwort Tools – nach welchen Kriterien lassen sich Tools für das eigene Projekt auswählen?

Ralf Eggert: Die Auswahl der Tools hängt stark von der technologischen Plattform ab, mit der z.B. ein Alexa Skill umgesetzt werden soll. Generell allen Lösungen gemein ist aber, dass der Entwickler mit der Alexa Skills Kit (ASK) in Berührung kommt. Hier wird ein Alexa Skills angelegt, konfiguriert und das Voice Interface definiert. Es werden Intents, Slot Types und Utterances angelegt. Ein Intent gibt die Intention des Nutzers an (was will er?), ein Slot Type definiert Parameter (z.B. Wetter in Hamburg) und ein Utterance legt fest, welche Worte der Nutzer verwendet, um seine Intention auszudrücken. Zudem wird im ASK auch die Zertifizierung angestoßen.

Nur die wenigsten Sprachanwendungen als Alexa Skill oder Google Action bleiben nach der Veröffentlichung unverändert.

Danach wird es dann interessant. Möchte ich in der Amazon-Welt bleiben, kann ich meinen kompletten Skill Code bei den Amazon Web Services (AWS) entwickeln und hosten lassen. Da stehen dem Entwickler dann SDKs für Node.js, Python oder Java zur Verfügung. Auch Datenbanken und andere wichtige Tools stellt AWS mittlerweile bereit.

Entscheide ich mich gegen AWS und für eine eigenen Endpoint Server, sind die Möglichkeiten nahezu unbegrenzt. Da der Amazon Voice Services per JSON Request und Response kommuniziert, kann ich als Entwickler auf die Sprache meiner Wahl setzen. Hier muss ich jedoch eigene Frameworks oder Bibliotheken schreiben oder auf eine Open-Source Variante setzen.

Wer lieber nicht zu tief in die Entwicklung einsteigen möchte und gewisse Einschränkungen in der Machbarkeit akzeptieren kann, greift zu grafischen Tools wie z.B. Storyline, die einem eine Weboberfläche für die Gestaltung uns Ausarbeitung einer Idee ermöglichen.

Bei der Auswahl der geeigneten Tools für die Entwicklung muss ich mich also zuerst entscheiden, ob meine Idee mit einem grafischen Tool umsetzbar ist oder nicht. Falls nicht, stellt sich die Frage nach der Programmiersprache und dem Hosting. Kann ich z.B. mit Node.js und AWS leben oder setze ich lieber auf das Know-how meiner PHP Entwickler Teams und hoste selber. Wenn ich diese Entscheidungen getroffen habe, folgt alles andere nach.

JAXenter: Vielen Dank für das Interview!

Ralf Eggert is the CEO of Travello, a digital agency that focuses on web and voice application development and consulting. He is a member of the German and international voice community and helps his customers to implement applications for voice assistants. Ralf is also the project lead for phlexa, the PHP open source framework for Alexa Skills. Ralf is also the project lead for phlexa, the PHP open source framework for Alexa Skills, and he was officially awarded Alexa Champion.
Geschrieben von
Kommentare

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
400
  Subscribe  
Benachrichtige mich zu: