29.01.2014 Aufrufe

Belegarbeit (.pdf - 2.3 MB) - Technische Universität Dresden

Belegarbeit (.pdf - 2.3 MB) - Technische Universität Dresden

Belegarbeit (.pdf - 2.3 MB) - Technische Universität Dresden

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

5. FREI VERFÜGBARE SPRACHERKENNER 30<br />

es verschiedene Wege um zum richtigen Ergebnis zu gelangen. In Sphinx-4 wird ein Token-Algorithmus<br />

implementiert. Jedes mal wenn ein neuer Zustand im Search Graph erreicht wird, wird ein neuer Token<br />

erstellt. Er zeigt auf den vorherigen Token und den nächsten Zustand im Graph. In der Active List werden<br />

alle Pfade durch den Search Graph verfolgt, die im Moment aktiv sind. Dazu wird der letzte Token jedes<br />

Pfads gespeichert.<br />

Die Anwendung möchte nun, dass der Recognizer eine Erkennung durchführt. Dazu fordert der Search<br />

Manager den Scorer auf, jeden Token der Active List mit dem nächsten Feature (Merkmalsvektor), der<br />

vom Front End kommt, auszuwerten. Dabei entsteht eine Auswertung für jeden aktiven Pfad. Mit Hilfe<br />

dieser Bewertung und bestimmten heuristischen Methoden wird der Pruner verschiedene Token verwerfen.<br />

Jeder übrige Pfad wird um den nächsten Zustand erweitert. Für jeden Zustand wird ein neuer Token<br />

erstellt. Dieser Vorgang wird wiederholt, bis keine weiteren Merkmalsvektoren mehr vom Front End eingehen.<br />

Das bedeutet im Normalfall, dass keine weitere Spracheingabe erfolgte. An dieser Stelle werden<br />

alle Pfade, die den Endzustand erreicht haben, verglichen. Der Pfad mit der höchsten Bewertung wird als<br />

Ergebnis an die Anwendung zurück geschickt.[4]<br />

5.1.3.1 Front End<br />

Die Aufgabe des Front End ist es, Eingangssignale in eine Folge von Merkmalen zu zerlegen. Wie in<br />

Abbildung 5.2: Das Sphinx-4 Front End nach [26]<br />

Abbildung 5.2 dargestellt, umfasst das Front End eine oder mehrere parallele Ketten von signalverarbeitenden<br />

Modulen. Den so genannten Data Processors. Dadurch, dass mehrere Ketten unterstützt werden,<br />

können gleichzeitig verschieden Merkmale für ein einzelnes oder verschiedene Eingangssignale berechnet<br />

werden. Jede Ausgabe eines Data Processors kann einem anderen Data Processor wieder als Eingabe<br />

dienen. Dadurch werden beliebig lange Ketten ermöglicht. Der letzte Data Processor jeder Kette ist dafür<br />

verantwortlich, dass aus den verschiedenen Signalparametern ein Datenobjekt, der Merkmalsvektor,<br />

erstellt wird. Dieser kann dann vom Decoder weiter verarbeitet werden. [26]

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!