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

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-

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!