Aus LinuxUser 12/2010

PC per Sprache steuern mit Simon (Seite 2)

Basismodelle und Szenarien

Simon unterstützt eine ganze Reihe bereits vorgefertigter Basismodelle. Um eines davon zu verwenden, laden Sie es herunter, entpacken es und geben unter Settings | Configure Simon… | Model Settings den Pfad zu den jeweiligen Modelldateien an (Abbildung 3). Mit adaptierten Basismodellen lassen sich die schnellsten Erfolge erzielen, doch auch bei den benutzergenerierten Modellen hält sich der Trainingsaufwand in Grenzen. Simon analysiert die Daten auf Phonem-Ebene – das bedeutet, dass die Aussprache in Form von durch Leerzeichen getrennten Phonemen vorliegen muss. Das Wort Computer beispielsweise lautet als solches Phonem k O m p j u: t @ r – dazu später mehr.

Abbildung 3: Über vorgefertigte Akustikmodelle lässt sich Simon schnell konfigurieren.
Abbildung 3: Über vorgefertigte Akustikmodelle lässt sich Simon schnell konfigurieren.

In der Regel legt Simon alle neuen Worte, Grammatiken und Kommandos im sogenannten Standardszenario ab. Für bestimmte Anwendungsfälle, etwa die Bedienung des Browsers Firefox oder des Mediacenters XBMC, existieren bereits Szenarien. Indem Sie diese herunterladen und installieren, ersparen Sie sich das Zusammentragen eigener Wörter und das Erstellen passender Grammatiken. Den vorgegebenen Wortschatz müssen Sie nur noch trainieren und an Simond übertragen.

Um eigene Szenarios anzulegen, klicken Sie in der Szenario-Verwaltung auf den Schalter Neu, benennen das Szenario und ergänzen Versionsnummer und Lizenzangaben sowie optional die zugrunde liegende Simon-Version und eine Autorenangabe. Anschließend füllen Sie das Szenario mit Wörtern und daran geknüpften Anwendungsfällen. Soll die eigene Arbeit später das Angebot der für alle verfügbaren Szenarien bereichern, vergeben Sie den Szenariennamen gemäß der Konvention [Sprache/Akustikmodell] aussagekräftiger Name, also beispielsweise [DE/VF] Opera für ein Szenario rund um den Browser Opera. Existieren mehrere Szenarien, fügt Simon alle neuen Wörter, Kommandos und Grammatiken dem aktuell aktiviertem Szenario hinzu.

Training

Nach Auswahl eines Basismodells und gegebenenfalls eines Szenarios ist jetzt die Zeit gekommen, Simon zu trainieren. Ein Klick auf Vokabular präsentiert viele rot hinterlegte Zeilen, was bedeutet, dass die fraglichen Wörter noch nicht mit Stimme und Aussprache des Anwenders verknüpft wurden (Abbildung 4) oder – im Fall eines benutzergenerierten Modells – Simon noch völlig unbekannt sind. Diese lassen sich nun markieren und zum Training hinzufügen.

Abbildung 4: Noch zu erlernende Vokabeln markiert Simon rot.
Abbildung 4: Noch zu erlernende Vokabeln markiert Simon rot.

Alternativ starten Sie das Training mit einem Klick auf den gleichnamigen Schalter in der Werkzeugleiste unmittelbar, alle unbekannten Wörter fügt Simon dann automatisch den Trainingsdaten hinzu (Abbildung 5). Bei der Seitenanzahl handelt es sich in der Regel um die Zahl der Wörter beziehungsweise Wortgruppen, die Sie ins Mikrofon sprechen müssen.

Abbildung 5: Die Seitenanzahl einer Trainingseinheit entspricht der Zahl der zu übenden Wörter.
Abbildung 5: Die Seitenanzahl einer Trainingseinheit entspricht der Zahl der zu übenden Wörter.

Das Training läuft in Form eines Dialogs ab: Simon zeigt nacheinander alle zur Trainingssitzung gehörigen Wörter oder Wortgruppen an, Sie lesen diese jeweils vor. Simon beschreibt dabei genau, was Sie zu tun haben, prüft jede Aufnahme auf deren Qualität und warnt, falls diese nicht ausreicht (Abbildung 6). Dazu prüft es beispielsweise den höchsten Lautstärkepegel und das Verhältnis des Signals zum Rauschen. Um Simon die Möglichkeit zu geben, das Rauschen herauszufiltern, sollten Sie vor und nach jeder Aufnahme etwa zwei Sekunden Stille aufnehmen. Sobald Sie eine Einheit abgearbeitet haben, geht Simon direkt zur nächsten über.

Abbildung 6: Simon warnt bei Aufnahmen geringer Qualität.
Abbildung 6: Simon warnt bei Aufnahmen geringer Qualität.

Falls Sie sich für ein benutzergeneriertes Akustikmodell entscheiden, fallen mindestens fünf Trainingsrunden an. Zwar klappt eine rudimentäre Erkennung auch schon nach zwei Durchläufen, aber die Trefferquote bleibt in diesem Fall sehr spärlich. Im Test erkannte Simon nach zehnmaligen Training die zugerufenen Wörter in jedem Fall fehlerlos.

Bei neuen Wörtern besteht die Herausforderung darin, für jedes neue Wort ein „Terminal“ zu wählen – Sie müssen also angeben, ob es sich um ein Verb, ein Substantiv, einen Trigger oder ein Kommando handelt. Zudem gilt es, wie oben bereits erwähnt, die Aussprache in Form eines Phonems zu definieren, wie des schon zitierten k O m p j u: t @ r. Nicht-Linguist tun sich damit erfahrungsgemäß schwer, ein Schattenlexikon spart hier viel Arbeit. Simon unterstützt die Wörterbuchformate Hadifix (beispielsweise Hadifix BOMP, [8]), HTK (Voxforge, [9]), PLS (Deutsches GPL-Wörterbuch von Voxforge, [9]), Sphinx oder Julius-Wörterbücher aus früheren Simon-Versionen.

Kommandos

Sobald alles funktioniert, möchten Sie das System eventuell um neue Kommandos erweitern. Solche Kommandos kümmern sich um das Abarbeiten der Ergebnisse des Erkennungssystems und können einzeln oder in Verbindung mit einem Auslöser daherkommen. Die Kombination von Auslöser („Trigger“) und Kommando – etwa „Starte Skype“ statt nur „Skype“, verhindert das ungewollte Auslösen von Kommandos.

Für das Ausführen von Kommandos bringt Simon einer Reihe von Plugins mit, etwa für den Start von Programmen (Programme), das Öffnen von Webadressen sowie Ordnern und Dateien (Orte), die Eingabe von Tastenkombinationen wie [Strg]+[S] (Tastenkürzel) und Ziffern (Zahlen eingeben) oder für Textbausteine (Textmakros). Darüber hinaus können Sie auch Kommandolisten aufrufen, aus denen Sie durch Nennen einer Zahl ein Eintrag wählen (Listenkommandos), über die Sie die Maus steuern (Desktopgitter) oder mehrere zusammengehörige Kommandos ausführen (Kombinations-Kommandos). Ein Kombi-Befehl wie „Mama anrufen“ könnte beispielsweise einen SIP-Client starten, die Telefonnummer Ihrer Mutter heraussuchen und diese anwählen.

Neue Kommandos lassen sich über die Kommando-Oberfläche hinzufügen. Bevor Sie aber über Neues Kommando zur Tat schreiten, müssen Sie mithilfe von Plugins verwalten erst ein oder mehrere benötigte Kommando-Plugins laden, die sich optional mit einem Auslöser kombinieren lassen. Im darauf folgenden Dialog zum Erzeugen des neuen Kommandos geben Sie dann lediglich noch die mit dem Kommando verknüpfte Aktion und den Trigger an (Abbildung 7). Neue Kommandoworte gilt es außerdem noch zu trainieren sowie gegebenenfalls auch eine entsprechende Grammatik anzulegen.

Abbildung 7: Simon unterstützt Sie beim Erstellen neuer Kommandos.
Abbildung 7: Simon unterstützt Sie beim Erstellen neuer Kommandos.

Fazit

Simon hat sich in den letzten Jahren zügig weiterentwickelt, läuft stabil und präsentiert benutzerfreundliche Dialoge und Oberflächen. Das Training nimmt zwar einige Zeit in Anspruch, doch eine hohe Trefferquote belohnt anschließend für die Mühen. Über die reine Sprachsteuerung hinaus bietet Simon noch weitere Möglichkeiten, deren genauere Beschreibung den Rahmen dieses Artikels sprengen würde.

LinuxUser 12/2010 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: