leogistics d.s.c. | 05. 12. 2019
by Clemens Holzhüter
Ich entwickle einen Sprachasisstenten für digitale Logistiklösung

DER RÜCKBLICK AUF LEOLAB-PROJEKTE 2019


Wir haben dieses Jahr einige Prototypen gebaut, um mittels Sprachsteuerung und unter der Verwendung von Sprachassistenten logistische Prozessabläufe zu verbessen und zu vereinfachen. Dabei ist Sprachsteuerung eigentlich nichts Neues in der Logistik: Pick-by-Voice im Lager oder Einsatz von Navigationssoftware. Das nächste Level ist Voice UI, die Interaktion mit Software allein über Sprache.



DIE MOTIVATION

Wir möchten einen Sprachassistenten entwickeln, mit dessen Hilfe „Hands Free, Eyes Off“-Szenarien im industriellen Umfeld möglich sind. Die Einsatzfelder von Sprachsteuerung sind zum Beispiel:

  • Control Rooms, in denen per Sprachbefehl der derzeitige Betriebszustand zusammengefasst wird 
  • Intelligente Systeme (Künstliche Intelligenz), die per „Dialog“ alternative oder nachgelagerte Aktivitäten vorschlagen und ausführen
  • Barrierefreies Arbeiten

Use Cases werden als Rapid Prototyping realisiert. Dabei kommt erprobte und aus dem privaten Umfeld bekannte Hard- und Software zum Tragen.



DER EINSATZ VON AMAZON ALEXA

Der von Amazon bereitgestellte Sprachassistent Alexa eignet sich sehr gut für einen Prototypen. Die Hardware ist günstig und sehr weit verbreitet, wie zum Beispiel die Echos der dritten Generation. Spracherkennung ist inklusive, eine Cloud-API ist verfügbar. Diese Art der Anbindung erlaubt eine einfache Anbindung an eigene Cloud-Services. In unserem Fall sind Accounts und AWS-Erfahrungen bereits vorhanden, da myleo / dsc ebenfalls die AWS nutzt.



ANWENDUNGSBEISPIELE IM UMFELD DER LAGERLOGISTIK

Wie unterstützt mich ein Sprachassistent in meiner täglichen Arbeit? Sehen Sie hier ein paar Beispiele:

leogistics SAP EWM - Alexa Skill (Lagerbewegung)

leogistics SAP EWM Alexa Skill (Materialfluss-Steuerung)

DIE FUNKTIONSWEISE VON ALEXA

  1. Alexa-Geräte befinden sich ständig im Bereitschaftsmodus und werden durch ein Aktivierungswort angesprochen. Das erfolgt erstmal gerätintern. 
  2. Der Befehl wird dann an die Amazon Cloud zur weiteren Verarbeitung weitergeleitet.
  3. Hier wird ein sogenannter Skill aufgerufen, welcher Informationen aufbereitet und an ein weiteres Gerät übergibt, oder an den Benutzer zurückspielt.
  4. Der Benutzer wird in jedem Fall über den Prozessabschluss informiert.


EIN PROTOTYP AM BEISPIEL DER MYLEO / DSC

Der Use Case lässt sich schnell beschreiben: „In einem Track-and-Trace-Szenario soll aus dem Control Room eine Nachricht an einen Fahrer versendet werden.“

  • DIE VORBEREITUNG

    Benötigt werden dafür der Echo und ein AWS-Developer-Account. Der Echo kann schnell und einfach eingerichtet werden. Ohne Vorkenntnisse empfiehlt es sich, das Gerät einmal „normal“ einzurichten und beispielsweise seinen Lieblingsradiosender per Sprachbefehl zu starten. Der AWS-Developer-Account ist ein „must have“. Er wird für die Entwicklung und das Deployment des Skills benötigt, sowie für die Lambda-Function. Dazu gleich mehr.

    Der erzeugte Skill muss nicht in den Amazon Store und auch nicht geprüft werden. Dadurch ist der Skill direkt für Testzwecke nutzbar.

    Das war‘s schon? Dann legen wir los.

Alexa Prototyp in der myleo / dsc

  • Die UMSETZUNG

    Zu Beginn ist es wichtig, sich eine Blaupause für die wichtigsten architektonischen Entscheidungen zurechtzulegen:

  1. Der Nutzer ruft per Sprachbefehl, bestehend aus Aktivierungswort und Kommando, den Echo.
  2. Dieser nimmt den Sprachbefehl des Nutzers auf und schickt ihn an Amazon. Die Erkennung der Sprache erfolgt bei Alexa und nicht im eigenem Backend.
  3. Dort wird der entsprechende Skill aufgerufen und dieser interpretiert Befehle und Variablen (den „Intent“).
  4. Intent und Variablen werden an ein Backend geschickt und triggern dort eine Aktion. In unserem Fall erfolgt dies mit Lambda: In der Lambda-Function werden ein oder mehrere API Calls zum myleo / dsc REST-Backend durchgeführt und eine „verbale“ Antwort für Alexa aufgebaut.
  5. Diese wird in die Response zurück zu Amazon gepackt.
  6. Amazon schickt die Antwort an den Echo und dieser gibt diese verbale Antwort als Sprache aus.

Die Funktionsweise eines Alexa Skills

  • DER MYLEO / DSC USE CASE

    In unserem Fall nimmt der Echo „Sende an ‚HH-LE-1100‘ Bitte um Rückruf“ auf. Der myleo / dsc Skill interpretiert „Nachricht senden“ und „HH-LE-1337“. Die Lambda-Function führt den API Call zum myleo / dsc-Backend aus und sendet „Bitte um Rückruf“ an den Truck mit dem Nummernschild „HH-LE-1100“. Bei Erfolg wird der Text „Nachricht gesendet“ bzw. bei einem Fehler „Fehler beim Senden der Nachricht“ erzeugt und ausgegeben.

  • DIE SKILL-ENTWICKLUNG

    Runtergebrochen ist ein Alexa Skill ein Schema für einen Dialog mit einem Computer, auch Interaktionsmodel genannt. Wie bei Star Trek reagiert Alexa erst bei einem Schlüsselwort, gefolgt von einem verbalen Befehl. Dieser Befehl muss einer definierten Struktur folgen, damit Alexa diesen erkennt. 

    Der Satz „Alexa, sage myleo, sende Nachricht an ‚HH-LE-1100‘‚ Bitte um Rückruf‘“ entspricht dem folgenden Schema:

    „<Alexa Aktivierungskommando>, sage <invocation>, <intent>,<slot1><slot2>“. 

    Folgt man diesem Schema nicht, so erkennt Alexa auch nicht, was man möchte. Glücklicherweise gibt es Möglichkeiten für Variationen, Nachfragen oder Dialoge, womit man ein natürliches Sprachverhalten nachahmen kann.

  • DIE VERWENDUNG VON SLOTS

    Eine größere Hürde für den Einsatz im Industriellen Umfeld sind die Slot-Variablen, wie in unserem Beispiel das Nummernschild. Alexa hat eine lange Liste an vordefinierten Slot-Typen die man hier Nutzen kann (Telefonnummern, Pins, Städtelisten etc.). Komplexe Identifikatoren wie zum Beispiel Kennzeichen oder Belegnummern sind nicht dabei. Diese robust erkennbar zu gestalten, ist eine Herausforderung. Hat man beispielsweise eine ID „IH5001“ so sollte „Ida Heinrich fünftausendeins“ als Spracheingabe genauso gültig sein wie „I. H. fünf null null eins“. Eine tolle Lösung dafür wären „dynamische Variablen“, also Listen, die vom eigenen Backend abgefragt werden. Diese sind leider limitiert auf 100 Variablen, was für große Namensräume nicht ausreicht. Hier wird Amazon hoffentlich noch nachbessern.

  • DIE BACKEND -ANBINDUNG

    Hat man erstmal ein Interaktionsmodel, ist Alexa in der Lage, den Intend und Variablen zu erkennen und an ein eigenes Backend zu senden. Dort werden dann passend zu den Spracheingaben die Sprachausgaben erzeugt und an Amazon zurückgeschickt. Amazon empfiehlt dafür eine AWS Lambda-Function. Diese ist schnell eingerichtet und genutzt und das vorhandene myleo / dsc-Backend muss dazu nicht erweitert werden. Speziell bei der Entwicklung von Prototypen spart diese Entkopplung einiges an Zeit. 

    Ein Tipp: Viele Tutorials im Netz basieren auf einer älteren Version des „Alexa SDK“ und nutzen den „skillinator.io“-Service, um aus einem Model eine Boilerplate NodeJS Lambda Function zu erstellen. Aktuell ist mittlerweile die v2, den Skillinator gibt es nicht mehr. Besser ist der Service von Amazon direkt, der auch das aktuelle SDK unterstützt. 

  • DIE AUTHENTIFIZIERUNG

    Da das myleo / dsc-Backend natürlich ohne Authentifizierung nicht nutzbar ist, muss sich das Alexa-Gerät authentifizieren. Alexa bietet hier eine sichere und komfortable OAuth2-Unterstützung. Diese unterstützt auch eine abgespeckte Variante mittels „Implicit Grant“ womit man auch ohne OAuth2-Service sein Backend schnell und sicher anbinden kann. Allerdings muss man sich bei dieser Methode regelmäßig neu einloggen: Vernachlässigbar beim Rapid Prototyping und gleichzeitig nicht zu empfehlen im produktiven Einsatz. Für diesen Login musste allerdings noch eine separate Webseite implementiert werden. Die vorhandene Login-Seite war dafür nicht nutzbar. Das war im Übrigen auch die einzige Entwicklungsarbeit direkt in myleo / dsc, alles andere wurde mit AWS-Services umgesetzt. Wirklich effizient!



ABSCHLUSSBETRACHTUNG DES PROTOTYPE

POSITIV
Man kann einfach und schnell einen Prototypen für einen Use Case erstellen.

NEGATIV
Es gibt Einschränkungen bzgl. komplexerer Codes und die Verwendung von IDs ist hinderlich (KFZ-Kennzeichen, Containenummern). In manchen Use Cases macht das den produktiven Einsatz schwierig.


POSITIV
Ein potentieller Anwender ist leicht von den Vorteilen eines Sprachassistenten zu überzeugen, denn die Hardware macht einen sehr guten Eindruck.

NEGATIV
Thema Sicherheit: Es werden unter Umständen sensible Daten für Amazon sichtbar gemacht (anders als z. B. bei allen anderen Daten innerhalb von myleo / dsc, die komplett verschlüsselt und vom Cloud-Betreiber nicht einsehbar sind).


POSITIV
Sprachassistenten sind weiter auf dem Vormarsch, das Thema wird aktiv von Amazon gepflegt und gepusht.

NEGATIV


POSITIV
Sprachassistenten liegen im Trend und sind aus dem Heimanwendungsbereich bekannt.

NEGATIV


POSITIV
Mit der Öffnung des Logistik-Marktes für Cloud-Lösung werden viele weitere Anwendungsfelder zugänglich.

NEGATIV

POSITIVNEGATIV
Man kann einfach und schnell einen Prototypen für einen Use Case erstellen Es gibt Einschränkungen bzgl. komplexerer Codes und die Verwendung von IDs ist hinderlich (KFZ-Kennzeichen, Containenummern). In manchen Use Cases macht das den produktiven Einsatz schwierig.
Ein potentieller Anwender ist leicht von den Vorteilen eines Sprachassistenten zu überzeugen, denn die Hardware macht einen sehr guten Eindruck. Thema Sicherheit: Es werden unter Umständen sensible Daten für Amazon sichtbar gemacht (anders als z. B. bei allen anderen Daten innerhalb von myleo / dsc, die komplett verschlüsselt und vom Cloud-Betreiber nicht einsehbar sind).
Sprachassistenten sind weiter auf dem Vormarsch, das Thema wird aktiv von Amazon gepflegt und gepusht.
Sprachassistenten liegen im Trend und sind aus dem Heimanwendungsbereich bekannt.
Mit der Öffnung des Logistik-Marktes für Cloud-Lösung werden viele weitere Anwendungsfelder zugänglich.

Konnten wir Ihr Interesse an der Verwendung von Sprachassistenten wecken? Haben Sie einen Use Case für ein Voice UI, mit Amazon Alexa oder einem eigenen Sprachassistenten? Sprechen Sie uns gerne an!

Bei Fragen zu diesem oder anderen Themen im Blog wenden Sie sich bitte an blog@leogistics.com.

Clemens Holzhüter
Jan-Philipp Horstmann
Digital Supply Chain

Zu diesem Artikel gibt es

Kommentare

No comments

Hinterlasse einen

Kommentar