• Je natürlicher und intuitiver eine Software oder Applikation bedienbar ist, desto höher ist die Akzeptanz und Zufriedenheit der Kunden. Gerade für Apps, die ein kurzes On-Boarding verlangen und die „schnell, nebenbei“ verwendet werden, ist eine einfache Bedienung in Kombination mit einer flachen Navigation durch die einzelnen Funktionen elementar. Entgegen diesem Paradigma soll eine App trotz ihrer trivialen Bedienbarkeit (Stichwort Usability) einen angemessenen Funktionsumfang bieten und möglichst alle Bedürfnisse des Nutzers abdecken. Erschwerend kommt hinzu, dass bei Mobile Apps bedingt durch die Displaygröße der Platz für Informationen und Funktionselemente sehr beschränkt ist und die Applikation dadurch sehr schnell „überladen“ wirkt. Fühlt sich infolgedessen ein Nutzer überfordert und kann die gewünschte Funktion nicht innerhalb weniger Augenblicke finden, so stellt sich eine geiwsse Ablehnung gegenüber der App ein. Dieses Phänomen behandelt auch Yu-Kai Chou in seinem Buch „Actionable Gamification“:

    "Far too often, Onboarding experiences for products feel confusing, too hands off, or too complex. This results in the user feeling stupid. If your user feels stupid during Onboarding, then you’ll be fighting an uphill battle along with the user (think Google+)." http://yukaichou.com/gamification-study/4-experience-phases-gamification-2-onboarding-phase/

    Um diesem Problem entgegenzuwirken setzen wir verstärkt auf die Verwendung von Sprachsteuerung in Apps. Damit kann eine Applikation zentral bedient werden, ohne dass das Userinterface zu überladen wirkt. Beispielsweise kann man dadurch eine komplexe Filterfunktion einer Shopping App für den Nutzer stark vereinfachen. Mit dem Satz: „Ich will Angebote von Lebensmitteln im Umkreis von 10 km“ oder „Obst von Edeka, Rewe und Netto“ können sehr schnell die Filterparameter für Kategorie, Ort oder Markt gesetzt werden.

    Eine intuitive Sprachsteuerung lässt sich für weitaus mehr Use Cases nutzen. Besonders interessant ist ein Arbeitsumfeld, welches durch hohe Fluktuation, Saisonarbeit oder eine geringe Vertrautheit mit den IT-Prozessen gekennzeichnet ist. Hier kann durch Sprachsteuerung eine einfache und schnelle Bedienung komplexer Aufgaben bewerkstelligt werden. Ein Lagermitarbeiter könnte ohne genauere Kenntnisse in der Logistik mit dem Worten „Zeige mir Wareneingangsschein für Bestellnummer 123“ die entsprechenden Daten auf einem stationären oder mobilen Display angezeigt bekommen - ohne vom Stapler absteigen zu müssen.

    Ein weiterführender Artikel in diesem Zusammenhang beschäftigt sich mit der Entwicklung einer Sprachsteuerung und der Integration in einer React-Native App: Sprachsteuerung mit Api.ai in einer React-Native App

     

  • In dem Artikel "Das Potential von Sprachsteuerung" haben wir die Bedeutung von Sprachsteuerung erläutert. Nun wollen wir uns der technischen Seite widmen und erklären, wie man mit Hilfe von Api.ai Sprachsteuerungen entwickelt. Api.ai hat sich seit 2014 auf Sprach- und Chatbots spezialisiert und gehört seit 2016 zu Google. Mit der angebotenen Technologie lassen sich Konversationen zwischen Mensch und Maschine designen und in verschiedenste Dienste wie Alexa, Slack, Twitter, Facebook und viele weitere integrieren. Api.ai setzt im Hintergrund Maschine Learning ein, um die genaue Intension einer Sprach- oder Texteingabe zu verstehen. Dadurch bietet Api.ai eine erstaunliche Interpretationssicherheit und bildet eine ideale Basis auch für unternehmerische Anwendungsfälle.

    Umsetzung eines UseCases in Dialogflow (Api.ai)

    Für die ersten Schritte in Api.ai Dialogflow, wie die Erstellung eines Projekts bzw. eines „Agents“ wird eine ausführliche Dokumentation angeboten. (https://api.ai/docs/getting-started/basics)

    Richtig spannend wird es bei der Erstellung sog. „Intents“. Ein Intent ist gewissermaßen die Definition einer Funktionssignatur. Wird ein Sprach- bzw. Textbefehl von einer Benutzeranwendung an Api.ai gesendet, findet Api.ai mit Hilfe seiner Machine Learning Algorithmen die entsprechende Signatur und sendet den Namen der Funktion und ggf. die zugehörigen Parameter zurück an die Benutzeranwendung. Die Benutzeranwendung kann danach die Funktion ausführen und dem Benutzer das gewünschte Ergebnis liefern.

    Um den Ablauf zu veranschaulichen nehmen wir als UseCase eine Shopping App, in der der Benutzer Angebote von unterschiedlichen Märkten einsehen kann. Im folgenden Screenshot sieht man, wie ein Intent in Api.ai aussehen kann:

    Als erwarteter Sprachbefehl wird „Angebote von Rewe“ festgelegt, wobei Rewe einen Parameter darstellt und somit variabel ist. Durch das Machine Learning versteht Api.ai auch verwandte Aussagen, wie z.B. „Deals von Rewe“ oder auch „Schnäppchen bei Rewe“. Als Rückgabe wird der zugehörige Funktionsname (Action) „search_deals“ mit dem Parameter „Shop = Rewe“ zurückgegeben.

     

    ApiAi.setConfiguration("4xxxxxxxe90xxxxxxxxc372", ApiAi.LANG_GERMAN);

    Neben Englisch und Deutsch werden viele weiter Sprachen unterstützt. Eine Auflistung befindet sich in unserer GitHub-Dokumentation: https://github.com/innFactory/react-native-api-ai#supported-languages Als nächstes wird mit dem simplen Aufruf von „startListening“ der Sprachbefehl aufgenommen und direkt mit Api.ai verarbeitet:

    ApiAi.startListening(result=>{ console.log(result); }, error=>{ console.log(error); }); 

    Fazit

    Mit Api.ai ist es möglich professionelle Sprachsteuerungen zu entwickeln. Unsere React-Native Library „react-native-api-ai“ liefert dazu eine einfache Integration für entsprechende Mobile Apps.