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
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]