Ich entwickle einen Sprachassistenten für digitale Logistiklösung

Picture of leogistics

leogistics

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 die Cloud-Lösung 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

Ein Prototyp anhand eines Beispiels

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 digitalen Plattform

Die Umsetzung

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

PLATZHALTER Nummerierte Liste

schematische Darstellung Sprachasisstent
Die Funktionsweise eines Alexa Skills

Use Case

In unserem Fall nimmt der Echo „Sende an ‚HH-LE-1100‘ Bitte um Rückruf“ auf. Der digitale Plattform Skill interpretiert „Nachricht senden“ und „HH-LE-1337“. Die Lambda-Function führt den API Call zum 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 der Plattform, 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 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 Backend der Cloud-Lösung 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 der Software, alles andere wurde mit AWS-Services umgesetzt. Wirklich effizient!

Abschlussbetrachtung des Prototyps

POSITIV NEGATIV
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 der Plattform, 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.

KONTAKT

Sprich uns an!

Sie interessieren sich für State-of-the-Art-Logistiklösungen? Dann sind wir Ihre Ansprechpersonen. Wir freuen uns auf Ihre Nachricht.

Neues von leogistics in Ihr Postfach

Jetzt anmelden und Zugang zu unserem kostenlosen Whitepaper und Downloads erhalten.