Open Source im professionellen Einsatz
Linux-Magazin 08/2016
©melpomen, 123RF

©melpomen, 123RF

Freie digitale Assistenten im Test

Freund und Helfer

Forscher der University of Michigan haben nach proprietären Vorbildern einen intelligenten persönlichen Assistenten aus freien Komponenten gebaut. Obwohl das Sirius-Projekt den Fokus auf die von der Software erzeugte Serverlast legt, hat sich das Linux-Magazin für den praktischen Nutzwert interessiert.

1202

Was macht der Chefingenieur eines Raumschiffs im 23. Jahrhundert, wenn er einen Computer aus dem 20. Jahrhundert bedienen soll? Er nimmt die Maus in die Hand und spricht "Hallo, Computer" hinein – wie in "Star Trek IV: Zurück in die Gegenwart" (USA 1986). Während seiner Zeitreise musste Montgomery "Scotty" Scott dann schließlich trotzdem noch in die Tasten hauen.

Besitzer moderner Smartphones dagegen kommen mit »OK, Google« , »Hey, Siri« oder »Hey, Cortana« inzwischen recht weit – die Sprachassistenten verstehen viele in Alltagssprache formulierte Fragen oder Anweisungen. Man kann nur raten, welche Algorithmen hinter den proprietären Wunderwerken stecken.

Ganz anders bei dem intelligenten persönlichen und quelloffenen Assistenten Sirius [1], den die Forschergruppe Clarity Lab 2015 an der University of Michigan entwickelt hat. Die unter der BSD-Lizenz veröffentlichte Software bündelt die freien Spracherkennungssysteme CMU Sphinx [2] (Pocketsphinx und Sphinx4), Kaldi [3], eine Bilderkennung auf Basis von Open CV [4] und das Frage-und-Antwort-System Open Ephyra [5]. Die Datenbasis für Letzteres bildet ein Wikipedia-Dump. Mit Hilfe all dieser Komponenten ist Sirius in der Lage, eingetippte oder gesprochene Fragen zu beantworten sowie Gegenstände auf Bildern zu erkennen (Abbildung 1).

© http://sirius.clarity-lab.org/siriusAbbildung 1: Sirius und die beteiligten Komponenten verarbeiten Bilder und gesprochene Anfragen.

Das Ziel der Software formulieren die Entwickler vom Clarity Lab in einem Abstract [6] zum Sirius-Tutorial, das während der "20. International Conference on Architectural Support for Programming Languages and Operating Systems" (ASPLOS-20) stattfand. Sie gehen davon aus, dass der Bedarf nach intelligenten persönlichen Assistenten (IPAs) künftig steigt und fragen sich, wie Serverarchitekturen aussehen müssen, um den Workload dieser Programme zu bewältigen. Da Open-Source-IPAs zum Ermitteln der Last fehlten, entwickelten sie Sirius, um die Ressourcen-Anforderungen realitätsnah darzustellen.

Wie schlagen sich Sirius & Co. im praktischen Einsatz? Taugen die Programme als Helfer auf dem Linux-Desktop? Diesen Fragen gingen die Tester nach und nahmen Sirius und seinen Nachfolger Lucida [7] unter die Lupe. Sie installierten die Software dazu unter Ubuntu 14.04 und Ubuntu 16.04, redeten mit der Sirius-Spracherkennung, befragten dessen QA-System und sichteten die Bilderkennung. Lucida ist noch nicht so weit – bisher funktioniert in der Demoversion lediglich ein einfaches Frage-und-Antwort-Spiel, an dem die Tester kurz teilnahmen.

Fertigbausatz

Die Clarity-Lab-Website [1] bietet im Downloadbereich Sirius, die Sirius-Suite und Sirius-Web als ein Archiv (»sirius-1.0.1.tar.gz« ) sowie den englischen Wikipedia-Dump für das Frage-Antwort-System (»wiki_indri_index.tar.gz« ) an (Abschnitt "Antworte mir").

Nach dem Auspacken des Sirius-Archivs wechseln Anwender ins Verzeichnis »sirius-1.0.1/sirius-application« . Hier liegen dann einige Skripte, die die von Sirius vorausgesetzte Software einspielen, Komponenten aus dem Internet nachladen und diese kompilieren und installieren. Die Skripte sind für Ubuntu 14.04 geschrieben; wer auf die etwas ältere (aber noch bis 2019 unterstützte) LTS-Version setzt, gelangt mit den folgenden vier Befehlen ans Ziel:

sudo ./get-dependencies.sh
sudo ./get-opencv.sh
./get-kaldi.sh
./compile-sirius-servers.sh

Anwender, die das aktuelle Ubuntu 16.04 nutzen, passen zuvor das Skript »get-dependencies.sh« im Texteditor an und kommentieren den Eintrag zum Hinzufügen des externen Ffmpeg-Repository (»ppa:kirillshkrogalev/ffmpeg-next« ) aus. Die externe Paketquelle ist nicht länger erforderlich, denn Ffmpeg steht in den offiziellen Xenial-Repositories.

Danach führen Nutzer die ersten drei Befehle des letzten Listings aus. Bevor sie »./compile-sirius-servers.sh« aufrufen, setzen sie einen symbolischen Link von »/usr/bin/libtoolize« auf »/usr/bin/libtool« , weil das Kaldi-Makefile nach diesem Binary sucht.

Eine schnelle Internetanbindung ist von Vorteil, denn die Skripte laden jede Menge Software aus dem Internet nach. Beim Open-CV-Download wandern rund 3  GByte auf die Platte, Kaldi belegt 2  GByte. Das Sirius-Archiv selbst ist 470  MByte groß und der bereits angesprochene Wikipedia-Dump sogar 11  GByte. Fertig eingerichtet belegen Sirius & Co. etwa 25  GByte Plattenplatz.

In dem Verzeichnis »sirius-application/run-scripts« liegen die Skripte, welche die Spracherkennung, die Bilderkennung und das Frage-Antwort-System auf den Plan rufen. Alle drei Komponenten sind als Serverdienste implementiert. In diesem Ordner befinden sich ebenfalls die Skripte, mit denen Anwender ihre Wünsche an die Server richten; diese tragen den Zusatz »test« im Namen.

Hör gut zu

Im ersten Versuch fütterten die Tester die Sirius-Spracherkennung (Automatic Speech Recognition, ASR) mit ein paar der in »sirius-1.0.1/sirius-application/inputs/questions« hinterlegten Wave-Dateien. Sie starteten dazu in einem Terminal den ASR-Server nacheinander mit einem der drei verfügbaren Backends (Kaldi, Pocketsphinx und Sphinx4):

./start-asr-server.sh kaldi
./start-asr-server.sh pocketsphinx
./start-asr-server.sh sphinx4

In einem zweiten Terminal riefen sie dann das Skript »sirius-asr-test.sh« zusammen mit einer Frage auf und sahen dort, was bei Sirius ankam (Abbildung 2). Das klappte manchmal gut, manchmal erst nach einiger Wartezeit und manchmal gar nicht – so schlug die Kommunikation mit Sphinx4 unter Ubuntu 16.04 komplett fehl. Zum Vergleich nahmen die Tester die Sätze selbst per Mikrofon auf und schickten sie an alle drei Backends. Tabelle 1 zeigt anhand von fünf Beispielsätzen, was Kaldi, Pocketsphinx und Sphinx4 verstanden haben.

Tabelle 1

Sirius-ASR-Backends im Vergleich

Who invented the telegraph?

Kaldi

Pocketsphinx

Sphinx4

Mitgelieferte Aufnahme

who invented the telegraph

who invented the telegraph

who invented the telegraph

Eigene Aufnahme

we went at the telegraph

we're going to the telegraph

with only scowled

Where is the Louvre Museum located?

Mitgelieferte Aufnahme

where is the liberal museum love the change yeah

where is the liver uneasy and located

where's the louvre museum located

Eigene Aufnahme

where was the little free museums okay tent

where is the u. over a museum located

london back while passengers are

Where did John Lenon die?

Mitgelieferte Aufnahme

where do you john lennon dot

where did john lennon got

where did john lennon died

Eigene Aufnahme

when it it's john lennon die

where did john lennon die

only after all how often run

What is the population of France?

Mitgelieferte Aufnahme

what is the population of france

what is the population of forms

what is the population of france

Eigene Aufnahme

uh what is the population of france

what is the population of trunks

in a half and unload newark crown

What is the speed of light?

Mitgelieferte Aufnahme

which is the speed of light

what is the speed of light

what is the speed of light

Eigene Aufnahme

well just the speed of flights

what does the speed of light

the injury to half moon last

Abbildung 2: Anwender senden Wave-Dateien an die Sirius-Spracherkennung und sehen dann in der Ausgabe, was das Backend verstanden hat.

Die Qualität der Texterkennung ist sehr durchwachsen: Bei den mitgelieferten Wave-Dateien arbeitete nur das Sphinx4-Backend fast fehlerlos. Im Test mit eigenen Aufnahmen bleiben richtig erkannte Sätze dagegen eine seltene Ausnahme. Möglicherweise haben die Entwickler ihre Spracherkennungs-Libraries vor allem mit den beigelegten Dateien trainiert, die durchweg in amerikanischer Aussprache vorliegen. Mit den eigenen Aufnahmen (British English mit deutschem Akzent) kam vor allem Sphinx4 gar nicht klar – die anderen Engines erkannten wenigstens einzelne Wörter.

An der Audioqualität sollte das mangelnde Verständnis nicht gelegen haben, denn es kam ein gutes Gesangsmikrofon zum Einsatz. Stichprobenartig nahmen die Tester ihre Sätze mit einem Headset und einem anderen Frequenzgang auf. Diese lieferten aber noch schlechtere Ergebnisse. Die Google- und Apple-Spracherkennungen auf den Smartphones der Tester erkannten jedenfalls fast alle Fragen (siehe nächster Abschnitt).

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 6 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Linux-Magazin kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Einführung

    Auch diesen Monat bekommen die DELUG-Käufer die doppelte Datenmenge zum einfachen Preis: Die erste Seite der DVD enthält unter anderem Videos vom Core OS Fest 2016, die zweite Seite drei E-Books, die Einblicke in bekannte Open-Source-Programme geben, das Live-System Backbox Linux 4.6 und vieles mehr.

  • Eclipse Sirius 5.0.0 will Bedienung erleichtern

    Das freie Modellierungstool Sirius, das bei der Eclipse-Foundation beheimatet ist, verspricht in der neuen Major-Release 5.0.0 eine verbesserte Nutzerführung.

  • Ulteo: Open Office online nutzen

    Das junge amerikanische Unternehmen Ulteo bringt ab sofort die freie Office Suite Open Office als Browser-Version auf den Computer. Tester aus Europa und Nord-Amerika sollen nun die Online-Anwendung ausprobieren.

  • Init-System Epoch erhält weitere Optionen

    Das minimalistische Init-System Epoch hat in Version 1.1 mit dem Codenamen Sirius zusätzliche Features erhalten.

comments powered by Disqus

Ausgabe 11/2017

Digitale Ausgabe: Preis € 6,40
(inkl. 19% MwSt.)

Stellenmarkt

Artikelserien und interessante Workshops aus dem Magazin können Sie hier als Bundle erwerben.