Mir ist das schon klar. Ich gehe davon aus, dass das Transkript wohl angepasst werden muss, aber der größte Teil ist bereits erstellt. Die erforderlichen Änderungen sollten entsprechend weniger zeitaufwändig sein.
gut ich sage es mal anders… es geht darum einen netzwer bei zubringen sprache in einen text zu übersätzen dabei ist es wichtig das die inhalte zum üben identisch sind.
beispiel:
dies ist ein text zum üben des neurolalen netzwerkes
es ist wingen erforderlich das beides jleich ist sonst kann das netzwerk keinen bezug herstellen zwischen sprochenden wort und dem text wort.
Hatte ich auch so verstanden. Trotzdem glaube ich, das es einfacher ist das vorhandene Transkript anzupassen, als von Null zu beginnen.
Natürlich muss alles gehört und bearbeitet werden, damit die „dumme“ Maschine damit umgehen kann.
Ich denke, man sollte das eine machen, ohne das andere zu lassen. Heißt:
ich habe vorhin einfach mal @timpritlove angehauen, ob er mir die Audiospuren vom Forschergeist getrennt nach Sprechern und entsprechende Transkripte zur Verfügung stellen kann.
Darüber hinaus habe ich einen Datensatz mit angeblich knapp 8Mio. deutschen Sätzen drin gefunden, den ich jetzt erstmal als Grundlage für das Bauen eines Language Models nutzen werde: https://www.inf.uni-hamburg.de/en/inst/ab/lt/resources/data/acoustic-models.html (siehe unter “Downloads” -> “German_sentences_8mil_filtered_maryfied.txt.gz”)
Die Transkripte sollte man auf jeden Fall nutzen können, um sie in das Language Model einfließen zu lassen. Direkt mit dem gesprochenen müssen sie nicht zwangsweise zusammenhängen.
Naja - naiv würde ich sagen: “Mehr Daten = Mehr Besser” (oder so ähnlich)
Dieses Datascience-Zeugs hat viel mit ausprobieren oder “iterativen Vorgehen” zu tun. Wenns besser wird, wars wohl gut, wenn nicht, dann eben nicht.
Ich habe auch mal einen Datansatz mit gesprochenen Wikipedia-Artikeln gefunden, den man auch noch nehmen könnte… dummerweise haben die jeden Satz einzeln in XML-Dateien gespeichert, von daher müsste man das erst einmal zusammenführen. Fällt mir ein: mag jemand von euch eigentlich mit Programmieren?
Okay, die ersten Ergebnisse waren ernüchternd (siehe unten). Das Training eines Modells auf meinem Rechner mit einer aktuellen Grafikkarte (Geforce RTX 2060 - extra zu diesem Zweck angeschafft), dauert ca. 24h. Hierbei habe ich den kompletten derzeit erhältlichen Common Voice Datensatz verwendet.
Ich habe mich noch einmal an Mozilla gewendet und nachgefragt, wie sie ihr Modell konfiguriert haben und warum. Warte hier noch auf konkrete Anwort.
Trainiere in der Zwischenzeit noch einmal mit einer anderen Konfiguration (größerer Hidden-Layer, weniger Epochen) ein neues Modell und schaue, wie’s läuft.
Ergebnisse - Modell 2019-02-28
I FINISHED Optimization - training time: 21:40:06
D Epochs - running: 0, done: 50
100% (25627 of 25627) |####################################################|
Elapsed Time: 0:25:55 Time: 0:25:55
Computing acoustic model predictions...
100% (8542 of 8542) |######################################################|
Elapsed Time: 0:45:02 Time: 0:45:02
Test - WER: 0.351997, CER: 7.856708, loss: 37.732666
--------------------------------------------------------------------------------
WER: 3.000000, CER: 4.000000, loss: 5.312325
- src: "weitermachen"
- res: "bei der machen"
--------------------------------------------------------------------------------
WER: 3.000000, CER: 4.000000, loss: 16.388323
- src: "weitermachen"
- res: "bei der machen"
--------------------------------------------------------------------------------
WER: 3.000000, CER: 13.000000, loss: 68.673531
- src: "knallharter bodycheck"
- res: "kanal hat hat es die scheck"
--------------------------------------------------------------------------------
WER: 2.500000, CER: 9.000000, loss: 20.223913
- src: "ventilator einschalten"
- res: "wenn die nato ein schalten"
--------------------------------------------------------------------------------
WER: 2.500000, CER: 11.000000, loss: 20.648293
- src: "batterieladestand anzeigen"
- res: "das rila stand an sein"
--------------------------------------------------------------------------------
WER: 2.500000, CER: 14.000000, loss: 56.810741
- src: "dialogstatus zurücksetzen"
- res: "dialog status ecksätzen in wien"
--------------------------------------------------------------------------------
WER: 2.000000, CER: 3.000000, loss: 5.428734
- src: "verstanden"
- res: "so standen"
--------------------------------------------------------------------------------
WER: 2.000000, CER: 4.000000, loss: 9.225818
- src: "servus"
- res: "sehr wu"
--------------------------------------------------------------------------------
WER: 2.000000, CER: 6.000000, loss: 10.352249
- src: "kikeriki"
- res: "die terek"
--------------------------------------------------------------------------------
WER: 2.000000, CER: 4.000000, loss: 12.535884
- src: "weitermachen"
- res: "bei vormachen"
--------------------------------------------------------------------------------
D Done.
Also vor der Subscribe werde ich wohl nicht mehr zu viel kommen, aber ich habe hier noch einmal ein kurzes
Update
Ich habe Forschergeist Folge FG60 Klimawandel anhand des von @timpritlove veröffentlichenten Transcripts und der entsprechenden Timecodes in viele kleine handliche wav Dateien zerschnipselt und einmal exemplarisch 5 davon gegen das Modell geworfen. Hier die derzeitigen Ergebnisse:
Input: Hallo und herzlich willkommen zu Forschergeist, dem Podcast des Stifterverbands für die deutsche Wissenschaft.
Output: alle unter sich wir kommen zu forschergeist fokas testit da verbands für die deutsche bissen schafft
Input: Da waren Sie dann auch unter anderem in Neuseeland glaube ich in der Ausbildung oder?
Output:die da man sie dann auch unter anderem binden wolle sie dank laubig
Input: Sind aber selber Ozeanograph und Paleoklimatologe, das sind natürlich tolle Namen.
Output: wer selber er ozeanograf und palkia tore das in das licht tolle name
Input: Deren Fläche schrumpft nicht oder nur sehr unwesentlich, weil diese Kontinentaleispanzer sind eben mehrere tausend Meter dick.
Output: deren fläche schrumpft nicht er wurde nur sehr unwesentlich weil diese kontinent hal eispanzer isen demen ehre tausend meter dick
Input: Was wird jetzt neu erforscht, was will man herausfinden, was ist noch unverstanden?
Output: wird jetzt neu erforschtes will was wir man heraus fin was es noch ohne verstanden
Erkenntnisse
Interessanterweise wurden Worte, die garantiert NICHT vorher Trainiert worden oder im verwendeten Language Model enthalten sind, relativ gut erkannt. Beispiele sind “Ozeanograf” oder “Eispanzer”. Phrasen, die garantiert vorher schon mal Trainiert und im Language Model enthalten sind wie “unter anderem” oder “nur sehr unwesentlich” werden bereits sehr gut erkannt. Beides könnte darauf hinweisen, dass das erzeugte Modell derzeit “overfitted” ist (siehe hierzu https://en.wikipedia.org/wiki/Overfitting)
Ein von DeepSpeech erzeugtes Modell lässt sich derzeit nicht “einfach so” verwenden. Es gibt sehr viele Abhängigkeiten zu Bibliotheken, die auf dem verwendenden System installiert sein müssen, bevor man damit Audio in Text umwandeln kann. @rstockm Den ursprünglichen Plan, das Modell “einfach so” in Reaper/Ultraschall zu integrieren (siehe Post GANZ OBEN), halte ich derzeit für nicht möglich. Nach allem, was ich von Mozilla aber gelesen/herausgefunden habe, wird derzeit daran gearbeitet, dies zu ändern und ein ein “praktikableres Modellformat” zu erzeugen.
Der spaßige Teil ist vorüber, nun wird es ARBEIT. Aber ich plane, trotzdem weiter am Ball zu bleiben. Dass wir aber DeepSpeech als Tool zur automatisierten Erstellung von Transkripten in naher Zukunft einsetzen können werden, davon ist nicht auszugehen.
Vielen Dank aber schon mal an alle, die den Thread hier bisher gelesen haben und für euer gezeigtes Interesse! Hoffe, man sieht sich auf der Subscribe!
ich finde die Bemühungen hier sehr lobenswert. Ich habe diesbezüglich auch schon einige Recherchen angestellt und bin dabei auf etwas gestoßen, was auch noch interessant sein könnte, falls es nicht von jemandem hier ist:
Insbesondere das Sprachmodell und die Audiodaten sind vielleicht interessant…
Darüber hinaus bin ich mit https://vorleser.net in Kontakt getreten und habe nachgefragt, ob die kostenlosen Hörbücher dort in Kombination mit den PDF-Dateien im Download irgendwie als Trainingsdaten vorliegen können…
Falls die Idee nicht zu abgefahren ist, könnte man auch die Hörproben von Audible “Transkribieren” und als Trainingsdaten verwenden. Hörbücher sind meistens sehr korrekt und deutlich gesprochen.
Ein weiteres Projekt mit sehr vielen “freien” Sprachdaten in deutsch:
Übrigens: Falls jemand dabei helfen möchte, den deutschen Sprachkorpus von Mozilla zu erweitern, ich bemühe mich, hin und wieder mal ein paar Sprachdatensätze zu verifizieren:
Man muss gar nicht viel machen, nur lesen und hören, ob das gesprochene dem Text entspricht. Man dabei eigentlich nur aufpassen, dass keine Wörter vergessen wurden oder Nebengeräusche Wörter überlagern.
Na vielleicht komme ich auch etwas spät aber ich hatte mich mal vor Monaten mit alldem beschäftigt und auch einen Dataset Combiner/Cleaner/Downloader erstellt mit dem ich auch in deutsch ganz gute Ergebnisse erzielt habe.
Ich benutze das deutsch trainnierte Modell privat schon seit paar Monaten.
Ich hatte dann allerding viel zutun und es sind da noch lange nicht alle neuen Trainingsdaten dabei.
Die Ergebnisse sollten jetzt eigentlich viel besser werden. Ich werde mich mal dran setzen und die Links mit einbinden und dann mal wieder ein Training starten.
Für Deutsch sind derzeit folgende Datasets vorhanden :
@silenter@sandreas@DerSimon@Mustamie@rstockm@others
Wenn Sie nach DeepSpeech-Ergebnissen in deutscher Sprache suchen. Überprüfen Sie Papier und Aufbewahrungsort. Es könnte nützlich sein.