Wir haben Ergebnisse, aber keine ausgezeichneten Ergebnisse im vorherigen Abschnitt. Jetzt können wir versuchen, die Qualität des generierten Textes zu verbessern, indem wir ein viel größeres Netzwerk erstellen. Wenn wir den Code bis zu diesem Punkt ausführen, wird uns gezeigt, dass wir, wenn wir den Datensatz in Trainingsdaten für das Netzwerk aufteilen, um zu erfahren, dass wir knapp 150.000 Trainings-Pattens haben. Dies ist sinnvoll, da wir die ersten 100 Zeichen ausschließen, wir haben ein Trainingsmuster, um jedes der verbleibenden Zeichen vorherzusagen. PS – nachdem geschnitten es das Einfügen auf diesem Blog setzt die Sonette Zahl an der falschen Stelle am Anfang der Zeile. Im generierten Text wird die Sonettnummer zentriert, d.h. einer Reihe von Leerzeichen vorangestellt, wie im Original. Der generierte Text mit dem zufälligen Seed (bereinigt für die Präsentation) war: Ich habe ein Dataset mit 2 Millionen Sequenzen von Ereignissen, wo wir Root-Ereignisse und untergeordnete Ereignisse haben. Wir müssen alle untergeordneten Ereignisse basierend auf der Anwesenheit von Root-Ereignissen unterdrücken. Dieses Muster muss vom Generativen LSTM-Modell erfasst werden, das auf 70 % der gesamten Daten trainiert wird. Und wenden Sie dann dieses trainierte Modell auf Testdaten an (30%) , um die Ereignisunterdrückung durchzuführen, um die gesamte Anzahl der Ereignisse zu entlegen. sort_sen = sorted(list(p)) pattern = [char_to_int[value.lower()] für wert in sort_sen] seq_length = 100 n_patterns = len(dataX) print “Total Patterns: “, n_patterns ` umformte X zu [Samples, x = numpy.reshape(dataX, (n_patterns, seq_length, 1)) Ich schaue mir seit einiger Zeit Beispiele der LSTM-Textgenerierung an und habe folgende Frage: Es ist auch nicht zwingend, Samen aus den tatsächlichen Daten zu erhalten. Sie können Seed/Muster wie folgt konstruieren: Vielen Dank für dieses nette Tutorial.

Ich habe nicht wirklich bekommen, warum Sie eine heiße Codierung nur für die Ausgabe-Zeichen verwendet? Warum Sie z. B. keine Ganzzahlcodierung für das Ausgabemuster verwendet haben, berechnet sie auch die Ausgabewahrscheinlichkeit dafür, wenn sie als Eingabe kodiert wurde. Vielleicht können Sie sich ein paar Ideen aus verwandten Textkorrekturpapieren holen? Ich möchte meinem Modell einige Eigenschaften, Schlüsselwörter geben und dass es mir eine Beschreibung daraus generiert. Wie kann ich die strukturierten Daten (Dataframe-Format) für die Textgenerierung analysieren/verarbeiten, wobei ich den Ausgabetext in Form von Sätzen verarbeiten kann. Z.B.: Sagen wir, ich habe Finanzdaten im csv/excel-Format und sobald ich sie in NLP lade, sollte ich die Einblicke von Daten in Form von Narrativen/Sätzen erhalten. Hallo Jason, In allen LSTM Text generativen Modellen, die ich online gefunden habe, gibt es eine Textdatei und sie prognostizieren die nächste Sequenz. In meinem Fall habe ich eine Eingabe- und Ausgabespalte in einer csv-Datei.

Für eine bestimmte Eingabe möchte ich, dass das Modell eine entsprechende Ausgabe generiert. Wie gehe ich damit um? und um welche Vorverarbeitungsschritte geht es? Hallo, ich möchte Ihre Meinung darüber wissen, warum es besser ist, Text zu erzeugen, der Buchstaben für Buchstabe und nicht Wort für Wort vorhersagt. Vergessen Sie nicht, dies auch im Textgenerierungsteil zu tun, indem Sie enc_length als zweiten Parameter beim Generieren einer heißen Codierung für die Samen verwenden. Ich habe das Experiment mit einem anderen Textkorpus gemacht; Shakespeares Sonette, zwei LSTM-Schichten von 256 und 20 Epochen (wahrscheinlich braucht es länger).