Aus LinuxUser 07/2008

Spracherkennungssystem „Simon listens“

Zwiegespräch

Bis der PC wie bei Star Trek frei gesprochene Kommandos entgegen nimmt, dauert es sicher noch etwas. Das Projekt „Simon listens“ zeigt aber, wie der Weg dahin aussehen könnte.

Beim Versuch, dem Computer die menschliche Sprache nahe zu bringen, interessieren sich die Forscher vor allem für zwei Bereiche: Steuern und Erfassen. So schreitet zum Beispiel in der Medizin der Einsatz von Techniken zum automatische Erkennen des gesprochenen Worts immer weiter voran. Der moderne Arzt diktiert Diagnosen und Berichte direkt in den Rechner und spart so Zeit und Geld.

Allerdings fallen beim Anschaffen der Geräte und der Software hohe Kosten an. Was das Budget einer Klinik noch leistet, kommt den Privatmann meist zu teuer. Entsprechend schlecht sieht es für behinderte Menschen aus. Hier kostet allein die Pflege viel Geld. Moderne computergestützte Hilfssysteme finden sich kaum.

Doch gerade Menschen mit eingeschränkten motorischen Fähigkeiten profitieren von den intelligenten Systemen. Bedeuten diese schließlich ein Mehr an Lebensqualität und Selbstständigkeit. Hier eröffnen sich mit dem freien Spracherkennungssystem „Simon listens“ [1] neue Chancen.

Software und mehr

Hinter dem Projekt steht ein gemeinnütziger Verein mit gleichem Namen (siehe Kasten „Der Verein“). Er versteht sich als Plattform für das Entwickeln der freien, unter GPL stehenden, Software Simon. Die Mitglieder des Vereins engagieren sich dabei nicht nur beim Programmieren der Software, sondern arbeiten zusätzlich in der begleitenden Forschung, informieren über die Technik und geben Schulungen.

Der Verein

Hinter der Arbeit an Simon steht der österreichische Verein „Simon listens“ mit Sitz in der Steiermark. Dieser und das Projekt finanzieren sich über Spenden und öffentliche Zuwendungen. Im letzten Jahr benötigte der Verein rund 41?000 Euro, für dieses Jahr stehen nochmals 16?000 Euro an Ausgaben an.

Bis dato flossen nicht nur unzählige Arbeitsstunden, sondern auch rund 9000 Euro aus eigenen Mitteln in das Projekt. Unterstützung erhält der Verein aus dem Geschäftsumfeld. Die Firma Cyber-Byte mit Geschäftsführer Franz Stieger, der gleichzeitig Obmann des Vereins ist, zählt zu den Hauptförderern. Außerdem greifen die Firmen Sennheiser, Pixelwings und Microsoft sowie Sourceforge.net dem Projekt unter die Arme.

Simon bietet eine einfach zu benutzende grafische Schnittstelle für die Spracherkennungs-Engine Julius [2] und das HTK-Toolkit[3]. Die Entwickler haben Simon aber nicht an ein vorgegebenes Sprachmodell gekoppelt, sondern so konzipiert, das es nach einer Trainingsphase mit jeder Person individuell funktioniert. Bisherige Anwendungen zum Erkennen von Sprache erforderten oft eine perfekte Aussprache. Simon verfolgt dagegen einen Ansatz, der es auch Personen mit Sprachproblemen ermöglicht, alle Vorteile des Systems und der damit verbunden Anwendungen zu nutzen.

Vor kurzem veröffentlichte das Entwicklerteam (siehe Kasten „Wer entwickelt Simon?“) das Programm in einer ersten Alphaversion. Die benötigten Wörterbücher importiert Simon direkt aus dem Wiktionary [5] – einem Wikipedia-Unterprojekt – oder aus Dateien im HADIFIX- oder HTK-Format. Zudem bietet die Software die Möglichkeit, die Sprache anhand einfacher Beispiele zu trainieren und neue Wörter hinzuzufügen. So erlaubt Simon beispielsweise, verbal auf dem Rechner Kommandos auszuführen oder Texte zu diktieren.

Wer entwickelt Simon?

Die Idee zu Simon stammt vom Sprachheilpädagoge und EDV-Unternehmer Franz Stieger. Mit ihm zusammen arbeiten an dem Projekt Peter Grasch, Phillip Goriup, Susanne Tschernegg und Bettina Sturmann, allesamt Studenten der Höheren Technischen Bundeslehranstalt (HTBLA) Kaindorf / Österreich [4], die die Spracherkennungssoftware zum Thema ihrer Maturaarbeit (Diplomarbeit) gemacht haben.

Das anfänglich fünfköpfige Team umfasst inzwischen auf neun Personen, darunter die beiden Testpersonen Tobias Pölzl, 14 Jahre, und Sabrina Wonisch, 18 Jahre. Philip Theussl sowie Michael Stieger, die ebenfalls an dem Projekt mitarbeiten, kümmern sich vornehmlich um das Erheben der Sprachpakete.

Simon greift auf die Spracherkennungs-Engine Julius, die separat läuft, über das TCP/IP-Protokoll zu. Dadurch ist es möglich, dass die Erkennung der Sprache auf einem zentralen Server erfolgt, der mehrere Clients bedient. Im Gegensatz zu anderen Anwendungen beherrscht es Julius, nicht nur einzelne Worte, sondern auch ganze Sätze zu erkennen. Die Entwickler haben die Software so ausgelegt, dass diese Diktate aufnehmen und große Vokabelstämme lernen kann.

Julius basiert auf einem so genannten hybriden System aus HM-Modellen und neuronalen Netzwerken (siehe Kasten „NN-HMM“). Das System hängt stark vom Sprecher ab, erweist sich aber als sehr lernfähig. Es liefert damit sehr gute Ergebnisse für einen großen Vokabelstamm. Die Spracherkennungsengine steht unter der GPL. Bis 2003 lag die Verantwortung beim „Continuous Speech Recognition Consortium Japan“. Aktuell liegt das Projekt in den Händen des „Interactive Speech Technology Consortium“ (ISTC) [6].

NN-HMM

HMM steht für Hidden-Markov-Modell (engl. verborgenes Markov-Modell) für die Spracherkennung. HM-Modelle helfen dabei, Eingangssignale mit bekannten Phonemen zu vergleichen, aus denen eine Software Worte zusammensetzt. HM-Modelle sind stark vom Sprecher abhängig.

Neuronale Netzwerke kommen in der Spracherkennung zum Einsatz, um Frequenzänderungen innerhalb einer bestimmten Zeitspanne festzustellen und so Worte zu erkennen. Im Gegensatz zu HM-Modellen hängen sie nicht vom Sprecher ab, skalieren aber weniger gut. Im hybriden System erledigt das neuronale Netzwerk die Vorarbeit und leitet die Ergebnisse an ein System mit Hidden-Markov-Modell weiter.

Von Haus aus verfügt Julius lediglich über ein Kommandozeilenschnittstelle, die die erkannten Ergebnisse ausgibt. Um die Software alltagstauglich zu machen, entwickelt das Simon-Team um die Julius-Engine herum Sprachmodelle, mit deren Hilfe Sie dem Rechner Texte diktieren und Steuerbefehle erteilen. Damit öffnen die Entwickler eine neue Tür: Bisherige freie Modelle beschränkten sich nur auf Demonstrationen der technischen Machbarkeit, kommerzielle Alternativen ließen sich nur unter Wine mehr oder weniger gut nutzen. Als Zielsprache implementierten die Entwickler Deutsch, die Benutzeroberfläche übersetzten Sie auch ins Englische. Von diesen beiden implementierten Sprachen ganz abgesehen versteht sich die Software auch auf andere Sprachen. Simons Oberfläche integriert sich sowohl in X11 als auch in die Windows-Umgebung.

Installation

Bevor Simon den Weg auf den heimische Rechner antritt, gilt es einige Vorarbeit zu leisten. Installieren Sie zuerst alle Programme, die Simon zum Laufen braucht. Dazu zählen, neben den für das Kompilieren nötigen Abhängigkeiten Qt in Version 4.3, die Entwicklerpakete von Alsa (unter Ubuntu alsa-source und libasound2-dev) sowie die X11-Entwicklerpakete. Zusätzlich benötigt Simon MySQL, das HTK-Toolkit [7] und Julius [8].

LinuxUser 07/2008 KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS
Deutschland

Hinterlasse einen Kommentar

  E-Mail Benachrichtigung  
Benachrichtige mich zu: