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
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
5. FREI VERFÜGBARE SPRACHERKENNER 33<br />
Implementation<br />
Es gibt verschiedene Implementationen für den Linguist.<br />
• Der Flat Liguist passt besonders bei Erkennungsaufgaben mit kontextfreien Grammatiken, finitestate<br />
Grammatiken, finite-state Wandlern und kleinen N-Gram Sprachmodellen. Alle diese externen<br />
Sprachmodelle werden in interne Grammatikstrukturen umgewandelt. Dabei entsteht ein<br />
gerichteter Wortgraph. Jeder Konten steht für ein Wort, jede Kante für die Übergangswahrscheinlichkeit.<br />
Aus der internen Grammatikstruktur wird direkt der Search Graph erzeugt und vollständig<br />
in den Speicher geladen. Dadurch ist der Flat Linguist zwar sehr schnell, hat aber Probleme bei<br />
Grammatiken mit hohem Verzweigungsgrad.[26]<br />
• Der Dynamic Flat Linguist ist dem Flat Linguist sehr ähnlich und damit auch für ähnliche Aufgaben<br />
geeignet. Der Hauptunterschied ist dabei, dass der Search Graph, je nach Bedarf, dynamisch<br />
konstruiert wird. Dadurch ist es zwar möglich mit weit komplexeren Grammatiken umzugehen,<br />
gleichzeitig wird aber die Erkennungsgeschwindigkeit reduziert.[26]<br />
• Der Lex Tree Linguist ist passend für alle Erkennungsaufgaben die große Vokabulare und N-Gram<br />
Sprachmodelle nutzen. Die Wörter werden in sogenannten Lex Trees organisiert. Dabei handelt<br />
es sich um eine kompakte Methode große Vokabulare darzustellen. Aus diesen Lex Trees werden<br />
dynamische ’Suchzustände’ generiert. So können sehr große Vokabulare bei nur mäßigem Speicheraufwand<br />
genutzt werden.[26]<br />
5.1.3.3 Decoder<br />
Die Hauptaufgabe des Decoders besteht darin, die Features, die vom Front End kommen, mit dem Search<br />
Graph des Linguist zu verknüpfen. Daraus generiert er dann Annahmen über das Ergebnis. Der Decoder<br />
umfasst einen austauschbaren Search Manager und anderen Code, der dabei hilft die Arbeit für die Anwendung<br />
zu vereinfachen. Der interessanteste Teil des Decoders ist der Search Manager. Der Decoder<br />
sendet ihm einfach die Anweisung, eine Anzahl von Features zu erkennen. In jedem Schritt des Erkennungsprozesses<br />
generiert der Search Manager ein Ergebnisobjekt. Es beinhaltet alle Pfade die einen<br />
finalen Zustand erreicht haben. Um das Ergebnis zu verarbeiten bietet Sphinx-4 Utilities. Mit ihrer Hilfe<br />
können Konfidenzmaße für die einzelnen Ergebnisse berechnet werden. Dabei wird der Anwendung die<br />
Möglichkeit gegeben, am Erkennungsprozess teil zu haben.<br />
Der Search Manager wird nicht auf eine bestimmte Implementation beschränkt. Jeder Search Manager<br />
nutzt einen Token-Algorithmus. Ein Sphinx-4 Token ist ein Objekt das mit einen Zustand innerhalb des<br />
Erkennungsprozesses in Zusammenhang steht. Es beinhaltet die gesamte akustische und sprachliche Be-