Ein Sprachmodell ist dasjenige, bei dem ein Eingangssatz angegeben ist. Das Modell gibt eine Wahrscheinlichkeit, wie korrekt dieser Satz ist. Dies wird in großem Umfang bei Spracherkennung, Satzgenerierung und maschinellen Übersetzungssystemen verwendet, in denen es wahrscheinlich die wahrscheinlich sind.
Schritte zum Erstellen eines Sprachmodells:
Zum Zeitschritt schätzt RNN P (y | y <1>, y <2>,…, y <t - 1>). Das Trainingssatz wird in einer Weise gebildet, in der x <2> = y <1> und x <3> = y <2> usw. usw. Kurz gesagt, der Ausgangssatz bleibt nach einem Zeitschritt hinter dem Eingangssatz zurück. Der folgende Optimierungsalgorithmus ist immer stochastischer Gradientenabstieg (jeweils eine Sequenz).
Um die Wahrscheinlichkeit für eine zufällige Sequenz zu erhalten, brechen Sie die gemeinsame Wahrscheinlichkeitsverteilung P (Y1, Y2, Y3, ...) als Produkt von Bedingungen ab, p (y1) * p (y2 | y1) * p (y3 | y1, y2).
Hinweis : Im Vanillesprachmodell, wie oben beschrieben, ist Word ein grundlegender Baustein. Im Sprachmodell der Charakterebene ist die Grundeinheit/ die niedrigste Ebene ein Charakter, wodurch das Erstellen eines Wörterbuchs sehr einfach ist (endliche Anzahl von Zeichen)
Sobald das Modell trainiert ist, können wir neuen Text (Zeichen) probieren. Der Erzeugungsprozess wird unten erläutert:
Schritte:
Einige der generierten Namen:
Wenn Sie sorgfältig beobachten, hat unser Modell gelernt, saurus , don , aura , tor am Ende eines jeden Dinosauriernamens Todo zu erfassen: Verwenden Sie LSTM an Platz von RNNs mit Hilfe von Keras
Platzieren Sie die Trainingsdaten (Dinosauriernamen) an Ort von dinos.txt . Rennen Sie main.py , der 3 Schritte folgt:
Führen Sie python main.py aus, um die Namen außerhalb des Boxs zu generieren.