Entwicklung von Alexa-Skills

Veröffentlicht: 2021-07-19

In diesem Blog werde ich erklären, was Alexa ist und die Bedeutung der Spracherkennungstechnologie, bevor ich einen kurzen Überblick über das Erstellen von Alexa Skills auf AWS gebe.

Was ist Alexa?

Alexa ist ein Cloud-basierter Spracherkennungs- und Antwortdienst von Amazon. Es ermöglicht Benutzern, ihre Geräte zu steuern und auf Informationen zuzugreifen, indem sie Befehle sprechen.

Es kann mit verschiedenen Geräten arbeiten, einschließlich Amazons Echo und anderen Geräten von Drittanbietern.

Warum Alexa?

Dies beruht ausschließlich auf meiner eigenen Vertrautheit. Die anderen Hauptakteure auf diesem Gebiet sind Google Assistant und Siri von Apple, die beide sehr vergleichbare Spracherkennungsdienste sind.

Warum Stimme?

Das Design von Computerbenutzerschnittstellen hat verschiedene Entwicklungsstadien durchlaufen. Jeder Schritt versucht, frühere Designs in Bezug auf Verbesserungen zu verbessern – einige erfolgreicher als andere. Im Fall der Barrierefreiheit ist dies besonders wichtig. Wenn Sie jedoch jemanden fragen, der an der Barrierefreiheit beteiligt ist, wird er Ihnen wahrscheinlich sagen, wie weit es oft reicht, die Bedürfnisse vieler Benutzer zu erfüllen.

Eine (sehr) kurze Geschichte der Computerbenutzeroberfläche

Stapelverarbeitung / Lochkarten

Sehr frühe „allgemeine“ Computer erforderten die mühsame Erstellung von Lochkarten und hatten im Allgemeinen weniger Rechenleistung als eine durchschnittliche Waschmaschine.

Befehlszeilenschnittstelle (CLI)

Obwohl einige Leute dies immer noch als die *einzige* Möglichkeit betrachten, Ihren Computer zu steuern, ist der allgemeine Konsens, dass dies für einige Aufgaben, die Sie möglicherweise ausführen möchten, etwas unbequem sein kann. Die Haupteingabemethode an dieser Stelle war offensichtlich die Tastatur. Obwohl es immer noch ein fester Bestandteil jeder Workstation-Einrichtung ist (und dies wahrscheinlich für eine lange, lange Zeit sein wird), kann das Erlernen des Tippens ein schwieriges Hindernis für die Nutzung sein.

Grafische Benutzeroberfläche (GUI)

Mit dem Aufkommen der grafischen Benutzeroberfläche wurden Windows-basierte Systeme eingeführt, was einen großen Sprung nach vorne in Bezug auf Benutzerfreundlichkeit und UX bedeutete. Und um diese glänzenden neuen Fenster zu ziehen, wurde natürlich die Maus erfunden – eine sehr intuitive Methode zur Interaktion mit dem Computer.

Smartphone

Obwohl die Touchscreen-Technologie früher bei Desktop-Computern verwendet wurde, nahm sie erst dann richtig Fahrt auf, als Smartphones und andere „intelligente“ Geräte auf den Markt kamen. Kein lautes Tastenklirren mehr!

Stimme

Die Entwicklung der sprachgesteuerten Technologie bildet einen weiteren großen Sprung nach vorne in Bezug auf Usability und UX. Die einzige Fähigkeit, die Sie benötigen, um mit der Software zu interagieren, besteht darin, in derselben Sprache zu sprechen. Da die Benutzeroberfläche fast völlig natürlich ist, gibt es fast keine Lernkurve.

Warum die Verwendung von „fast“ im vorherigen Satz? Nun, es gibt immer noch die Tatsache, dass Sie lernen müssen, Ihre Befehle so zu positionieren, dass Sie die gewünschten Ergebnisse erzielen.

Abgesehen von der Leichtigkeit, mit der Menschen mit dieser Art von Benutzeroberfläche beginnen können, gibt es andere Vorteile wie Körperhaltung und Augenbelastung – beides Probleme, die jedem, der längere Zeit am Computer arbeitet, sicherlich vertraut sind.

Entwicklung der Benutzeroberfläche

Das Gleichgewicht der Macht

Betrachtet man die verschiedenen Arten von Benutzeroberflächen, die sich im Laufe der Jahre entwickelt haben, wird deutlich, dass sie alle etwas gemeinsam haben. Trotz vieler Ressourcen und Arbeitsstunden, die für die Lösung des Problems aufgewendet werden, erfordern sie alle bis zu einem gewissen Grad Mitarbeiter, um sich an die Funktionsweise von Computern anzupassen. In diesem Sinne zeigen Technologien wie Sprach- und Gestenerkennung (die schwer zu lösen sind) eine Veränderung dieses Gleichgewichts. Die Computer arbeiten daran, sich an die menschliche Arbeitsweise anzupassen.

Herausforderungen der Spracherkennung

Ausgehend von den 1950er Jahren ist die Spracherkennung eines dieser Probleme, das täuschend schwierig ist, weil es für uns selbstverständlich ist. Nehmen Sie zum Beispiel den folgenden Satz:

Ladenbesitzer : "Darf ich fragen, wonach Sie suchen?"

Kunde : „Vier Kerzen.“

Wenn wir dies schriftlich sehen, wissen wir natürlich genau, was die Person will. Aber in gesprochener Form könnte es sein, dass die Person tatsächlich „Gabelgriffe“ wollte!

Dies ist ein ziemlich triviales und unwahrscheinliches Szenario, aber Mehrdeutigkeiten wie diese sind in der gesprochenen Sprache sehr verbreitet. Die Auswirkungen sind enorm, wenn man bedenkt, mit welcher Art von Operationen Computer beauftragt werden.

In dieser Zeit wurden viele Methoden verwendet, wobei Hidden-Markov-Modelle und neuronale Netze zu den erfolgreichsten gehören. In jüngerer Zeit wurde Deep-Learning eingesetzt, und das hat uns die derzeit verfügbaren robusten Lösungen gegeben.

Vergleich der erforderlichen Schritte

"Es gibt keinen Ersatz für harte Arbeit." ~ Thomas A. Edison

… Oder gibt es? Selbst relativ moderne Technologie ist mit einem Mehraufwand an zusätzlichen Schritten verbunden, sodass wir an der Technologie arbeiten und nicht umgekehrt.

Hier sind einige grundlegende Aufgaben, die „algorithmisch“ festgelegt sind, um zu veranschaulichen, wie viel Arbeit wir tun, ohne es zu merken:

Fernseher ein-/ausschalten:

Traditionelle Methode

  • Fernbedienung finden
  • Fernbedienung abholen
  • Finden Sie den richtigen Button
  • Knopf drücken

Sprachmethode

  • „Alexa, schalte den Fernseher ein/aus“

Element zur To-Do-Liste hinzufügen:

Traditionelle Methode

  • Telefon finden (und abheben)
  • Telefon entsperren
  • App finden
  • Öffne App

Sprachmethode

  • „Alexa, füge „Brot kaufen“ zu meiner To-Do-Liste hinzu“

Wie Sie sehen können, erfordert die Möglichkeit, Geräte mit Ihrer Stimme zu steuern, viel weniger Schritte.

Messwerte

Hier sind einige Grafiken, die den allgemeinen Zustand der sprachaktivierten Dienste veranschaulichen. Obwohl die Zahlen im Vergleich zu den App-Store-Downloads klein sind, wächst das Feld schnell:

Marktanteil von Smart Speakern in den USA, Dezember 2017Alexa-App-Downloads bei Google

Bildnachweis: https://www.voicebot.ai/amazon-echo-alexa-stats

Einführung in die Amazon Skills-API

Die Amazon Alexa Skills API bietet den Rahmen, um über ein Gerät empfangene Sprachbefehle zu empfangen, zu erkennen, zu verarbeiten und darauf zu reagieren.

Die allgemeinen Schritte sind wie folgt:

Übersicht der erforderlichen Schritte

Benennen Sie Ihre Fähigkeiten

Wählen Sie einen Aufrufnamen für Ihren Skill, der verwendet wird, um Alexa zu aktivieren, damit es auf Ihren Befehl reagieren kann.

Definieren Sie Ihre Absicht

In Amazon Skills sind „Absicht“ oder „Absichten“ Anfragen oder Aktionen, die mit den Befehlen eines Benutzers verbunden sind.

Zum Beispiel im Satz: „Alexa, was ist an diesem Tag im Jahr 1729 passiert?“, dem Befehl „Was ist an diesem Tag im Jahr 1729 passiert?“ wird einem vordefinierten Intent zugeordnet und liefert die richtigen Schlüsselwörter für die App, um die Antwort abzurufen.

Um Ihren Skill flexibler zu gestalten, verwenden wir sogenannte „Slots“, die im Wesentlichen Platzhalter für bestimmte Datentypen sind.

Baue das Modell

Hier legen wir die Gesamtstruktur der Interaktion mit Alexa dar, einschließlich Aufforderungen für weitere Informationen und möglicher Antwortmuster.

Einen Endpunkt definieren

Dies weist auf den physischen Speicherort des Codes hin, der die Logik Ihrer Anwendung verarbeitet. Es kann überall im Internet untergebracht werden, aber die einfachste Möglichkeit besteht darin, ein AWS Lambda zu erstellen, das von Ihrem Skill aus der Ferne aufgerufen werden kann.

Erstellen Sie eine Lambda-Funktion

Dies in AWS zu erstellen ist ziemlich einfach. Sie müssen ein wenig einrichten und zuordnen, aber es werden Blaupausen bereitgestellt, die eine gute Vorstellung davon geben, was erforderlich ist.

Wenn Befehle von einem Alexa Skill empfangen werden, verarbeitet Ihr Code hier die richtige Antwort und aktualisiert alle Modelle, die verfolgt werden müssen.

Fazit

Dies war ein (sehr) kurzer Überblick darüber, was sprachaktivierte Dienste tun und wie man mit dem Alexa Skills Kit einen erstellt. Im nächsten Beitrag zur Entwicklung von Alexa-Skills werden wir einen kleinen Skill erstellen und in Amazon Skills veröffentlichen! Alternativ können Sie uns noch heute kontaktieren, wenn Sie Hilfe bei Ihrem Webdesign und -entwicklung benötigen.


Wenn Sie Hilfe bei Ihrem benötigen, zögern Sie nicht, uns zu kontaktieren.