#3 Code your own Skill

am 17. Mai 2017 in Projektarbeiten & Studien von

IMG_2013k

Prima, wenn ihr bis hierhin durchgehalten habt und euch nun Dank der ersten zwei Blogeinträge die Finger vor Aufregung kitzeln 🙂

Denn nun wird es richtig spannend – wir zeigen euch in diesem Blogeintrag, wie man einen eigenen Skill programmiert! Und so soll das Ganze aussehen, wenn es fertig ist:

 

Was ist ein Skill und wie wird dieser aktiviert?

Ein Skill ist eine Art “App” für das Echo-Gerät, quasi die Fähigkeit, die man Alexa verleiht. Mit dieser könnt ihr euer Echo ganz individuell anpassen, ohne einen lästigen Download oder eine Installation durchzuführen. Geht dazu einfach in eure Alexa-App unter den Menüpunkt “Skills” und durchsucht die Kategorien nach Skills, welche euch interessieren. Wenn ihr einen Interessanten gefunden habt, klickt einfach auf “Skill aktivieren”. Jetzt ist der Skill auch schon bereit und ihr könnt Alexa danach fragen.

Das Richtige war noch nicht dabei oder ihr wollt es personalisierter?
Perfekt! Lest weiter und erstellt euren eigenen Skill 🙂

Skillerstellung

Für die Erstellung des Skills solltet ihr ungefähr 2 Stunden Zeit einrechnen, unter der Voraussetzung, dass ihr bereits Erfahrungen in der Programmierung gesammelt habt (Basics in JavaScript).
Für den Anfang empfehlen wir euch, unsere Befehle für das Beispiel “Hello-World” so zu übernehmen und in einem zweiten Durchlauf dann die Schlüsselwörter für eure eigene Konversation zu ersetzen. Wenn ihr etwas erfahrener seid, könnt ihr euch natürlich auch ein komplett eigenes Beispiel ausdenken.

Wichtig ist, dass die Fragen nicht zu komplex sein sollten, denn je verschachtelter und länger ein Satz wird, desto wahrscheinlicher ist es, dass Alexa nicht alles versteht. Bedenkt dabei, dass Alexa keine Sätze aus dem Kontext heraus verstehen kann, sondern nur auf die exakt eingegebenen Schlagwörter reagiert. Es ist empfehlenswert, sich für ein eigenes Tutorial zuerst ein Drehbuch bereitzulegen.
Hierzu gehören Überlegungen für einen Skill Name und einen “Invocation Name”. Jede Alexa-Fertigkeit besteht aus einem “Invocation Name”, durch welchen Alexa den jeweiligen Skill erkennt und diesen dann direkt aufruft.

Wenn man also, wie in unserem Beispiel, “Alexa, hello world” sagt, wird die Anwendung gestartet. Des Weiteren solltet ihr natürlich auch über ein Echo oder Echo Dot verfügen, um das Skill auf diesem Gerät testen und anwenden zu können.

Bevor wir nun beginnen, tiefer in die Materie einzusteigen, hier ein Fahrplan, der euch später auch als Übersicht dient:

treppe

  1. Voraussetzungen

Kommen wir auch schon zum ersten Punkt. Um überhaupt ein Skill entwickeln zu können werden bestimmte Accounts benötigt. Diese solltet ihr euch erstmal anlegen, bevor es richtig los geht-

Bei dem AWS Account solltet ihr darauf achten, dass ihr eine Kreditkarte angeben müsst. Von dieser wird bei der Erstellung ein minimaler Betrag abgebucht, welcher euch aber wieder rückerstattet wird. Falls ihr den Education Account wählt, solltet ihr wissen, dass sich die Inhalte nach einiger Zeit von selbst löschen.

 

  1.  Voice Skills erstellen

Nachdem ihr euch auf der “Developer Console” des Developer Accounts eingeloggt habt, welche den Bereich für die Skill-Entwicklung eröffnet, müsst ihr “Alexa” im Menü auswählen. Dort habt ihr nun die Möglichkeit, zwischen “Alexa Skills Kit” und “Alexa Voice Service” zu wählen, wovon ihr ersteres auswählen solltet, da ihr euren Skill für eine Sprach App programmiert und es nicht in ein Gerät integrieren wollt.

screenshot_01

Wenn ihr das soweit habt, geht ihr im Menü auf den Punkt “Add new Skill”. Daraufhin sollte sich ein Formular zum Anlegen eines neuen Skills öffnen, welches ihr auch auf dem folgenden Screenshot sehen könnt. Nachdem ihr hier euren Invocation Name, den Name des Skills (Bezeichnung im Alexa Skill Store), die bevorzugte Sprache und den Typ eures Skills eingegeben habt, seht ihr die Rohfassung eures Skills.

 

screenshot_02

  1. Intent Schema & Utterances

Die nächste Stufe ist das Intent Schema und das Utterances. Über das Intent Schema setzt man die entsprechenden Intents fest und wählt die für die Intents verfügbaren Slots aus.

{
“intents”: [
{
“intent”: “TestIntent”
},
{
“intent”:”AMAZON.PauseIntent”
},
{
“intent”:”AMAZON.ResumeIntent”
}
]
}

Wofür sind Utterances gut? Wörtlich übersetzt steht es für eine Äußerung. In Bezug auf unsere Sprachassistentin definiert es Sprachbefehle für Alexa als kurze, manuell angelegte Sätze.

Hier tragt ihr folgendes ein:

TestIntent hello world
TestIntent say hello world
TestIntent to say hello world

  1. Coden

Last but not least kommen wir zum lang ersehnten Punkt – nämlich der Programmierung. Um damit starten zu können, müsst ihr euch zunächst auf https://aws.amazon.com einloggen. Wenn ihr das gemacht habt, geht ihr zuerst auf “Mein Konto” und dann auf die AWS Management Console. Um eine Bibliothek im Alexa Skill Kit zu verwenden, müsst ihr die Region zu “Ireland” umstellen, da dies derzeit die einzige funktionierende, europäische Region ist (Frankfurt geht nicht).

Wenn diese Einstellung vorgenommen wurde, wählt ihr den Lambda Cloud Service und drückt auf “Create a Lambda Function”. Dort müsst ihr die “alexa-skills-kit-color-expert-python blueprint” auswählen und darauf achten, dass bei “Configure triggers” das “Alexa Skill Kit” ausgewählt ist. Der letzte Schritt, bevor es zum Programmieren geht, ist, die Funktion zu benennen und die Runtime (= Laufzeit) auszuwählen.
Wenn ihr dies soweit geschafft habt, könnt ihr mit dem programmieren loslegen.
Wir haben, wie im oberen Video bereits zu sehen ist, einen einfachen Skill programmiert, welcher “Hello, World” ausgibt. Es empfiehlt sich, dieses Beispiel erst nachzubauen, um die Vorgänge besser zu verstehen und dann die Erkenntnisse für euren persönlichen Fall zu adaptieren. Eure Türen stehen offen, lasst euren Programmierkünsten freien Lauf und zaubert euren perfekt auf euch abgestimmten Skill.
Hier ist ein Code-Abschnitt aus unserem Beispiel:

 

Kopie von screenshot_03

 

Tipp: Ihr könnt auch im Amazon Service Simulator testen, ob eure Lamda Funktion funktioniert, um nicht immer Alexa anstellen und aktualisieren zu müssen.

screenshot_04

 

Special:
Als Anregung für euren persönlichen Skill hätten wir einen “Java-Experten” zu bieten, welcher die wichtigsten Begrifflichkeiten über Java enthält und somit zur Hilfe eines jeden Onlinemedien-Studenten wird. Denn dieser Experte soll den Studenten in Java weiterhelfen, eine Skriptsprache, die das erste Studienjahr prägt.

Ein möglicher Invocation-Name hierfür wäre “Alexa, hilf mir bei Java”.

Auf die Aufforderung des Studenten “Alexa, hilf mir bei Java!” soll die Sprachassistentin Alexa folgendes ausgeben: “Kein Problem, stelle mir deine Frage.”

Hier kann dann der Student spezifische Fragen aus dem BlueJ Buch, der Bibel eines jeden Onlinemedien-Studenten stellen, und erhält die passende Definition so, wie wenn man in einem Lexikon nachschlagen würde.

Hier das Drehbuch, wie die Konversation aussehen könnte:

Student: “Alexa, hilf mir bei Java!”
Alexa: “Kein Problem, stelle mir deine Frage.”
Student: “Was sind Objekte?”
Alexa: “Objekte modellieren Objekte eines Anwendungsbereichs.”

 

Das wars auch schon von uns. Wir wünschen euch Viel Spaß damit und hoffen, ihr konntet etwas aus unseren Blogeinträgen lernen.

PS: Lasst mal von euren super coolen Skill-Versuchen etwas sehen – bzw. hören 😉

Verfasser: Marcel Wörner, Tina Oswald, Verena Schnell

Quellen:

http://robinhenniges.com/de/tutorial-alexa-skills-kit-deutsch
https://www.amazon.de/b?node=11242735031

Keine Kommentare vorhanden, schreibe doch einen.

Schreibe ein Kommentar