14 Stimmen

Erstellung einer ARPA-Sprachmodelldatei mit 50.000 Wörtern

Ich möchte eine ARPA-Sprachmodelldatei mit fast 50.000 Wörtern erstellen. Ich kann das Sprachmodell nicht erstellen, indem ich meine Textdatei an das CMU Language Tool übergebe. Gibt es einen anderen Link, über den ich ein Sprachmodell für so viele Wörter erhalten kann?

0 Stimmen

Wollen Sie damit sagen, dass Sie eine Sammlung von englischen Wörtern benötigen?

10voto

Halle Punkte 3577

Ich dachte, ich beantworte diese Frage, da sie ein paar Stimmen hat, obwohl ich aufgrund von Christinas anderen Fragen nicht glaube, dass dies eine brauchbare Antwort für sie sein wird, da ein Sprachmodell mit 50.000 Wörtern mit ziemlicher Sicherheit keine akzeptable Wortfehlerrate oder Erkennungsgeschwindigkeit haben wird (oder höchstwahrscheinlich nicht einmal lange funktionieren wird) mit In-App-Erkennungssystemen für iOS, die dieses Format des Sprachmodells derzeit verwenden, aufgrund von Hardwarebeschränkungen. Ich dachte mir, dass es sich lohnt, dies zu dokumentieren, weil ich denke, dass es für andere hilfreich sein könnte, die eine Plattform verwenden, bei der die Speicherung eines Vokabulars dieser Größe eher eine praktikable Sache ist, und vielleicht wird es auch eine Möglichkeit für zukünftige Gerätemodelle sein.

Es gibt kein mir bekanntes webbasiertes Tool wie das Sphinx Knowledge Base Tool, das einen 50.000 Wörter umfassenden Klartextkorpus verarbeitet und ein ARPA-Sprachmodell liefert. Sie können jedoch ein bereits vollständiges DMP-Sprachmodell mit 64.000 Wörtern erhalten (das mit Sphinx auf der Kommandozeile oder in anderen Plattformimplementierungen auf dieselbe Weise wie eine ARPA-.lm-Datei verwendet werden kann), indem Sie die folgenden Schritte ausführen:

  1. Laden Sie dieses Sprachmodell von der CMU-Sprach-Website herunter:

http://sourceforge.net/projects/cmusphinx/files/Acoustic%20and%20Language%20Models/US%20English%20HUB4%20Language%20Model/HUB4_trigram_lm.zip

In diesem Ordner befindet sich eine Datei namens language_model.arpaformat.DMP, die Ihr Sprachmodell sein wird.

  1. Laden Sie diese Datei von der CMU-Sprachwebsite herunter, die Ihr Aussprachewörterbuch werden wird:

https://cmusphinx.svn.sourceforge.net/svnroot/cmusphinx/trunk/pocketsphinx/model/lm/en_US/cmu07a.dic

Konvertieren Sie den Inhalt von cmu07a.dic in Großbuchstaben.

Wenn Sie möchten, können Sie das Aussprachewörterbuch auch verkleinern, indem Sie alle Wörter daraus entfernen, die nicht im Korpus language_model.vocabulary enthalten sind (dies wäre ein Regex-Problem). Diese Dateien sind für die Verwendung mit einem der englischsprachigen Akustikmodelle von Sphinx vorgesehen.

Wenn der Wunsch, ein englisches Sprachmodell mit 50.000 Wörtern zu verwenden, von der Idee geleitet wird, eine Art allgemeine Spracherkennung mit großem Wortschatz durchzuführen, und nicht von der Notwendigkeit, sehr spezifische 50.000 Wörter zu verwenden (z. B. etwas Spezielles wie ein medizinisches Wörterbuch oder eine Kontaktliste mit 50.000 Einträgen), sollte dieser Ansatz diese Ergebnisse liefern, wenn die Hardware damit umgehen kann. Es wird wahrscheinlich einige Sphinx- oder Pocketsphinx-Einstellungen geben, die geändert werden müssen, um die Suche durch diese Größe des Modells zu optimieren.

1 Stimmen

Offene Ohren neue Version, die 0.91 haben eine eingebaute Funktion der Erstellung von Sprachmodell-Datei.Das hat wirklich mein Problem gelöst.und hoffe, dass jeder andere wird Hilfe von diesem bekommen

0 Stimmen

Hallo Christina, es freut mich zu hören, dass die dynamische Generierung von OpenEars .91-Sprachmodellen bei Ihnen gut funktioniert, aber ich bin erstaunt zu hören, dass es für die Generierung eines Sprachmodells mit 50.000 Wörtern funktioniert. Funktioniert das auf dem Gerät oder nur im Simulator?

0 Stimmen

Ich frage nur aus Neugier, da ich keine Ahnung hatte, dass es für so große Modelle verwendet werden würde, als ich die LanguageModelGenerator-Klasse entworfen habe. Ich dachte an eine Größenordnung von 10-500 Wörtern für kontextspezifische Befehls- und Kontrollsprachenmodelle.

0voto

Tilo Punkte 32417

Wie groß ist Ihr Trainingskorpus? Wenn es nur 50000 Wörter sind, wäre das winzig/zu klein.

Im Allgemeinen können Sie entweder das Toolkit von CMU oder HTK verwenden

Ausführliche Dokumentation für das HTK Speech Recognition Toolkit hier: http://htk.eng.cam.ac.uk/ftp/software/htkbook_html.tar.gz

Hier finden Sie auch eine Beschreibung des SLM-Toolkits der CMU: http://www.speech.cs.cmu.edu/SLM/toolkit_documentation.html

siehe auch: Aufbau eines mit offenen Ohren kompatiblen Sprachmodells

Sie könnten ein allgemeineres Sprachmodell nehmen, das auf einem größeren Korpus basiert, und Ihr kleineres Sprachmodell damit interpolieren ... z.B. ein Backoff-Sprachmodell ... aber das ist keine triviale Aufgabe.

siehe: http://en.wikipedia.org/wiki/Katz s_back-off_model

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X