Open Source im professionellen Einsatz
Linux-Magazin 04/2017
358

Snapshot-Ausgabe auf Zuruf

Als praktisches Beispiel soll Alexa auf Zuruf mitteilen, welche die aktuelle Ausgabe des Programmier-Snapshots ist. Dazu liest sie hinter den Kulissen eine Json-Datei »articles.json« von meiner Website http://Perlmeister.com, die alle Ausgaben in umgekehrter chronologischer Reihenfolge auflistet (Abbildung 6), pickt sich den ersten Eintrag in der langen Liste heraus, puhlt daraus Monat und Jahr hervor und übergibt die beiden Werte dem Sprachprozessor, der sie wiederum über den Lautsprecher dem User verkündet.

Abbildung 6: Die Snapshot-Ausgaben im Json-Format als Datenquelle für Alexa.

Spricht also der User den Satz "Alexa, ask latest snapshot for issue", dann leitet Alexa die Anfrage an die neue Latest-Snapshot-Skill weiter, die die Daten einholt und aufbereitet, damit die Antwort dann etwa "01 2017" für das Januar-Heft lautet, falls dies gerade die aktuelle Ausgabe des Linux-Magazins ist.

Den Namen der Skill, die Alexa beherrscht und an die sie Anfragen delegiert, gibt der Entwickler im Web-Flow für eine neue Skill unter »invokation name« an. Mehrere Wörter sind erlaubt, sie dürfen allerdings keine andersweitig verwendeten Schlüsselwörter, zum Beispiel "Alexa", enthalten.

Äußerung und Absicht

Sprachverarbeitungsfüchse unterteilen die Kommunikation des Users mit dem Gerät in Intent und Utterances. Dabei kann der User zum Beispiel "latest release" oder "newest issue" äußern (Utterance) und damit beide Male die gleiche Absicht kundtun (Intent), nämlich in der Skill Latest Snapshot die Funktion aufzurufen, die Monat und Jahr des aktuellen Snapshots aufsagt. Im Web-Flow der neu angelegten Skill trägt der Entwickler auf der Seite »Interaction Model« (Abbildung 7) hierzu die in den Listings 1 und 2 angegebenen Daten ein.

Abbildung 7: Intent und Utterances im Alexa-Skill-Setup.

Listing 1 legt im Json-Format die später erkannten Intents fest und definiert neben der eigentlichen Funktion »LatestSnapshot« ein generisches Hilfe-Menü, das Alexa rezitiert, falls der User "Help" sagt. Listing 2 weist dann jedem Intent verschiedene gesprochene Sätze zu.

Listing 1

IntentSchema.json

1 { "intents": [ {
2   "intent": "LatestSnapshotIntent"
3 }, {
4   "intent": "AMAZON.HelpIntent"
5 } ] }

Listing 2

SampleUtterances.txt

01 LatestSnapshotIntent issue
02 LatestSnapshotIntent release
03 LatestSnapshotIntent last month

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 4 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Alexa

    Apples Siri, Microsofts Cortana, Googles Sprachsuche – alle setzen auf den Dialog mit dem Computer, ohne dass dabei die Hände auf der Tastatur liegen. Wie schlägt sich Amazons Assistentin Alexa, die ihren Nutzern ebenfalls aufs gesprochene Wort gehorchen soll? Deutlich wird: Sie hat zwei Gesichter.

  • Snapshot

    Im Linux-Magazin 04/2017 bringt Mike Schilli Amazons Zuhördose Alexa neue Tricks bei: Sie soll auf Zuruf die aktuelle Ausgabe des
    Programmier-Snapshots ermitteln.

comments powered by Disqus

Ausgabe 06/2017

Digitale Ausgabe: Preis € 6,40
(inkl. 19% MwSt.)

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.