Alexa, das geht besser!

Alexa wird vorwiegend als Fernsteuerung für Wecker, Timer, Wetter und Home Automation vermarktet. Trotzdem wäre leicht viel mehr machbar, als jetzt geht.

Ich habe mir als Nerd natürlich sofort ein Echo Dot gekauft. Es ist anfangs witzig, auf Zuruf Aktionen starten zu können, zumal die Qualität der Mikrofone sehr hoch ist. Man kann durch laufende Musik hindurch Befehle geben und sie werden verstanden. Meine Mutter mit 79 Jahren war total geflasht, als Alexa nach „Spiel deutsche Schlager“ tatsächlich ihre Lieblingsmusik spielte.

Aber die Technik mit den Skills ist (noch) sehr unausgereift.

Um es kurz zu erklären: Alexa weiß „von der Welt“ nicht allzu viel. Was sie weiß, kann man nur durch Herumprobieren herausfinden. Alexa suicht nicht im Netz, wenn sie keine Antwort weiß. Sie sagt dann einfach, dass sie keine Antwort kennt. Damit liegt sie Welten hinter Google Now oder noch extremer hinter Google Assistant zurück.

Amazon unterstützt sehr wenige Anwendungen nativ, z.B. Todoist und Anydo für Todo Listen. Damit kann man in diesen Apps mit einem Befehl Einträge vornehmen. Andere gängige Apps wie z.B. Bring oder viele weitere werden nicht nativ unterstützt.

Um Alexa „schlauer“ zu machen, kann man mit einem recht komplexen System sogenannte Skills entwickeln und bereitstellen.
Dazu wird ein Skillname ausgewählt, auf den Alexa reagiert. Anschließend werden Abfragen definiert, die der Skill erkennt. Als letztes werden Antworten auf diese Anfragen definiert, wobei die Skills auch auf Datenbanken Zugriff nehmen können, z.B. bei Fernsehprogrammen oder Kinoaufführungen. Jeder Skill muss manuell installiert werden, Alexa hilft dabei nicht. Nur wenn man den Namen des Skills kennt – und woher kennt man den, wenn es einmal tausende gibt – kann man Alexa bitten, den Skill zu installieren.

Das Problem ist:
Man muss sich merken, wie jeder einzelne Skill genannt wird und welche Syntax er versteht.
So muss man bei jeder Abfrage den Skill nennen und eine Frage, z.B. „Frage Fernsehprogramm was heute Abend läuft“,  „Öffne Mantawitze und erzähle mir einen Mantawitz.“ oder „Frage den Abfallkalender, welche Tonne als nächstes raus muss.“

Bei einigen Skills kann man auch sagen „Starte <skill>“ und kann dann nacheinander Abfragen nennen, bis man mit „Stop“ den Skill beendet (ich nenne das temporäres Locking). Gute Skills erklären nach jeder Antwort, was man als nächstes tun kann oder man kann Aufzählungen mit „Weiter“ durchblättern.
Beispiel: „Starte Fernsehprogramm“ und nach der Antwort von Alexa „Was läuft heute um 20:15“. Sie nennt drei Sender und fragt, ob man weitere Sendungen genannt bekommen möchte.

Und hier sehe ich das Problem.

Ich möchte sagen können: „Was kommt heute Abend im TV?“ und nicht sagen müssen „Frage <Fernsehprogramm> was heute Abend läuft“.

Wenn es in einem Jahr zehntausende Skills gibt, wer soll sich alle Namen und die dazugehörigen Fragen merken können? Insbesondere da Marketingleute schon jetzt allen Firmen raten, dringend einen eigenen Skill zu entwickeln, damit sie dabei sind. Also wird es Opel-Skills, Mercedes-Skills, Toyota-Skills, McDonalds-Skills und was weiß ich noch alles geben.

Wie es laufen sollte:

Anbieter stellen Datenbanken zur Verfügung, auf die Alexa zugreifen kann. Sie erweitern quasi das Grundwissen von Alexa, ohne selbst angesprochen werden zu müssen. Alexa muss in die Lage versetzt werden, in allen installierten – oder besser noch in allen existierenden – Skills nach Ergebnissen suchen zu können. Dazu könnte jedem Skill eine Reihe von Kategorien zugeteilt werden, zu denen er Informationen geben kann, z.B. „Auto“, „Kino“, „Fernsehprogramm“, „Lexikon“, „Wetter“, „Medizin“, „Lotto“ usw. Alexa erkennt Stichwörter, durchsucht die entsprechenden Datenbanken, fragt sie ab und formuliert eine Antwort. Dazu muss Alexa natürlich zu einer echten KI werden und nicht darauf beschränkt bleiben, reine Texterkennung zu betreiben. Sie muss in den Anfragen erkennen, um welche Kategorie(n) es sich handelt.

Beispiel: Ich frage Alexa nach dem Fernsehprogramm für Heute Abend. Alexa sucht in den Datenbanken nach denen mit Kategorie „Fernsehprogramm“, fragt diese ab und liefert das Ergebnis. Da Alexa ohnehin online ist, sehe ich keinen Grund, wieso Skills überhaupt installiert werden müssen. Google Assistant braucht das auch nicht. Die Antwort mag das erste Mal etwas länger dauern. Alexa kann sagen „Moment, ich muss die Informationen abfragen“ und speichert anschließend die Daten lokal für späteren schnelleren Zugriff. Findet Alexa keinen passenden Skill/Datenbank, sucht sie im Netz (am besten mit Google) und bereitet die Daten auf.

Google Assistant z.B. setzt ausschließlich auf Online-Ergebnisse und liefert dank Zusammenarbeit mit immer Datenbanken – und vor allem Googles Knowledge Graph – sehr gute Ergebnisse, und das innerhalb weniger Sekunden. Erstaunt war ich letztens wieder, als ich mein Smartphone fragte: „Welche Ärzte haben in der Nähe geöffnet“.

Die Leute kennen Google und sind dementsprechend verwöhnt, beliebige Abfragen formulieren zu können und vernünftige Ergebnisse zu bekommen.

Ich bin optimistisch und hoffe, dass die Entwickler meine Gedankengänge nach ein bissel Erfahrung ebenso haben werden.