Alexa, frag Opitz! Entwicklung eines Alexa Skills

Auf der InspireIT sprachen Besucher bereits mit der ersten Version unseres Alexa Skills. Dieser Chatbot erklärt dem interessierten Nutzer das OC Wimmelbild. Doch beginnen wir von vorne.

Echo_Dot

Alexa, die Stimme des Amazon Echo

Alexa ist die Stimme (und Intelligenz) des Amazon Echo. Dieser kann viele Anfragen, wie Fragen nach dem Wetter oder das Abspielen von Musik, bereits von Haus aus umsetzen. Um Alexa aber zusätzliche Fragen stellen zu können, müssen wir sog. Skills aktivieren. Ein Skill entspricht in etwa einer App auf dem Smartphone. Ähnlich wie den App Store gibt es hierzu eine ebenfalls einen Skill-Marktplatz, wo man neue Skills findet und aktivieren kann.

alexa_skills_rezensionen

Der Screenshot links zeigt die durchschnittlichen Kundenrezensionen von Alexa Skills (Stand 24.04.2017). Wie man sieht ist der Großteil noch ziemlich schlecht bewertet. Es lohnt sich also jetzt loszulegen und einen wirklich guten Skill auf den Markt zu bringen.

Und wie schaffe ich es, dass mein Skill nicht auch unter den 1-Sterne-Bewertungen landet, sondern einer der 230 Top-Skills wird? (Man stelle sich nur einmal vor, es gebe nur 230 gute Apps. Da hätte man die Aufmerksamkeit mit einem Nutzer-zentrierten und qualitativ hochwertigen Produkt auf jeden Fall sicher.)

Die folgenden Fragen helfen beim Entwickeln eines Chatbots:

  • Welcher Service bringt meinen Nutzern einen Mehrwert, wenn sie ihn über Text oder Sprache bedienen können? (Und wo macht ein User Interface mehr Sinn?)
  • Chatbots brauchen ein neues Verständnis von Usability. Habe ich das konsequent umgesetzt (und nicht einfach die GUI eins zu eins umgebogen)?
  • Was ist technologisch bereits möglich?

Letzteres zeigen wir im Folgenden anhand unseres Praxisberichts.

Unser Alexa Skill erklärt das OC Wimmelbild

opitz-consulting-wimmelbild_500

Wimmelbild „Überraschend mehr Möglichkeiten“ (Download als PDF)

In obigem Wimmelbild sind eine Menge spannender Geschichten aus unseren Digitalisierungsprojekten verarbeitet. Jede dieser Geschichten kann uns Alexa nun in einer Kurzfassung erzählen.

Tomasz: „Erzähle mir etwas zum Brummi-Werk!“

Alexa: „Dank OC gibt es weniger störungsbedingte Produktionsausfälle. Durch gemeinsam entwickelte Industrie 4.0 Strategien werden die Just-in-time-Produktion optimiert und Lagerkosten gesenkt.“

Tomasz: „Cool. Und wer ist da der Ansprechpartner?“

Alexa: „Ansprechpartner für dieses Projekt sind Erika Musterfrau und Max Mustermann. Möchten Sie…“

Nachdem Alexa also über eines der Projekte auf dem Bild gesprochen hat, hält sie den Kontext und kann weitere Fragen zu diesem Projekt beantworten.

Neben den Antworten zu den Projekten (und einigen Easter Eggs) hat der Skill noch einiges mehr auf Lager. So ist eine Webseite als „Ding“ (wie im Internet der Dinge) an den Skill angebunden und zeigt jeweils zum aktuell angefragten Projekt des Wimmelbilds einen passenden Ausschnitt eines Videos. Das folgende Youtube-Video zeigt dieses Feature im Detail:

Als kleines Proof of Concept (PoC) kann der Skill außerdem eine SMS mit den Ansprechpartnern eines Projekts an den Nutzer senden. Dazu muss er nur seine Handynummer angeben.

Alexa: „Ansprechpartner für dieses Projekt sind Erika Musterfrau und Max Mustermann. Darf ich Ihnen eine SMS mit deren Kontaktdaten schicken?“

Tomasz: „Ja“

Alexa: „Dann nennen Sie mir bitte jetzt Ihre deutsche Handynummer. Ziffer für Ziffer.“

Tomasz: „0 1 7 1…“

Alexa: „Danke. Ich schicke die SMS als an 0171… Ist das korrekt?“

Tomasz: „Ja“

Alexa: „Die SMS wurde erfolgreich versendet. Sie können…“

Die Technik hinter dem Skill

Nach einem ersten Prototypen in Python haben wir technisch auf node.js und Javascript gesetzt, da es dort deutlich mehr Dokumentation, Support und ein fortgeschritteneres SDK (Software Development Kit) gibt.

Spreche ich einen Satz zu Alexa, so wandert dieser in die Cloud (zu Amazon), wird dort analysiert und einem Intent zugeordnet. Dieser Intent wird dann an einen Server geschickt, auf dem unser Javascript-Code liegt, der diesen Intent anschließend verarbeitet. Solch ein Server kann zum Beispiel ein eigener node.js Server oder Amazon AWS Lambda sein.

Die Antwort, die Alexa dann sprechen soll, senden wir wieder (als JSON) an die Amazon-Cloud zurück, welche den entsprechenden Antwortsatz dann an „Alexa“ weitergibt.

alexa-skill-architektur

Abstrakte Architektur eines Alexa Skills [Quelle Server-Icon: icons8]

Details zur technischen Umsetzung inkl. unserer Entwicklungsumgebung (Unit Tests, Analytics usw. für Alexa Skills) gibt es demnächst in einem separaten Blogeintrag.

Dieser Beitrag wurde unter IoT & Industry 4.0, Software Engineering, OC Inside abgelegt und mit , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s