Schreiben Sie einen Text. Nach fünf Worten beginnt das System die nächsten Worte vorzuschlagen.
Experimentieren Sie mit der Netzwerkarchitektur. Dokumentieren und begründen Sie Ihre finale Architektur.
Zunächst wurde das Modell bzw. das Netzwerk entsprechend der Aufgabenstellung aufgebaut. Mit den Epochen wurde jedoch experimentiert. Es stellte sich heraus, dass 400 Epochen ein Wert ist, bei dem der Verlust und die Genauigkeit in einem guten Bereich liegen, möglicherweise noch besser bei noch mehr Epochen. Allerdings war die Trainingszeit mit 400 Epochen noch akzeptabel.
Notieren Sie als Resultat, wie oft die Vorhersage genau richtig ist (k=1), und wie oft das korrekte nächste Wort unter den ersten k Worten, die sie vorhersagen liegt, mit k gleich 5, 10, 20 und 100. Sie können auch die Perplexity (siehe Hintergrund) als Maß Ihrer Resultate nutzen.
Dies wurde mit deutschen Sprichwörtern getestet, was leider nicht zu guten Ergebnissen führte. Ich führe dies auf den sehr kleinen Datensatz zurück, der zudem relativ speziell ist, da es sich um ein zufällig ausgewähltes Buch aus dem Jahr 1915 handelt. In den meisten Fällen war das gesuchte Wort überhaupt nicht unter den den vorgeschlagenen Wörtern.
Können Sie Ihre ursprünglichen Trainingsdaten mittels des trainierten Models rekonstruieren? (überlegen Sie, ob sich daraus ein Datenschutzproblem ergibt).
Mit den richtigen Eingaben können Teile der Trainingsdaten wiederhergestellt werden. Damit ist zumindest eine teilweise Rekonstruktion möglich. Aus datenschutzrechtlicher Sicht ist es damit möglich, Werke zu erzeugen, die dem ursprünglichen Werk zumindest ähnlich sind. ähnlich sind. Dies ist auch bei LLMs und anderen generativen KI-Systemen zu beachten. Der Datenschutz ist daher bei der Verwendung von KI oder Modellen immer zu berücksichtigen, sowohl bei der Eingabe von Daten in ein solches System als auch bei der Entnahme von Daten aus einem solchen System. Datenschutz zu beachten.
In dieser Webanwendung wird das vorhersagen von Wörtern in einem Fließtext dargestellt. Der Nutzer kann einen Text eingeben.
Ab dem fünften Wort werden Worte vorgeschlagen aus denen der Nutzer wählen kann oder er schreibt einfach weiter. Bei jedem
Drücken der Space-Taste werden neue worte vorgeschlagen. Das Model wurde durch den Text "Fechsung" von Peter Altenberg trainiert. Die Auswahl dieses Buches
aus der Gutenberg Sammlung geschah zufällig. Der Text besteht aus 54.925 Wörtern von denen 6.484 einzigartig (unique) sind. Es wurde versucht ein deutlich größeres Datenset zu wählen.
Dies konnte auf Grund meiner zur Verfügung stehnden Hardware allerdings nicht verarbeitet werden. Auch das Verändern der Batch-Size, wie es im Internet
empfohlen wird, hat hier nur wenig geholfen. Daher wurde ein kleines Datenset (siehe Anzahl Wörter) verwendet.
Das Model wurde so trainiert, dass es aus den letzten fünf Worten die nächsten Worte vorhersagt, da die Ergebnisse vorher zu schlcht gewesen wären.
Bei meinen Recherchen zu dieser Aufgabe habe ich festgestellt, dass es im Falle von LSTM-Modellen sinnvoll ist, diese vorzubereiten und dann auf einer Webseite zu verwenden. und dann auf einer Webseite zu verwenden. Deshalb habe ich mich für diesen Weg entschieden. Ein Grund für diese Entscheidung war, Tensorflow innerhalb des Moduls "Deep Learning" auch in Python zu testen und trotzdem im Web verwenden zu können. Natürlich ist es auch möglich LSTM in TensorflowJS ohne Python zu verwenden.. Dabei wurden Tensorflow und Keras verwendet. Anschließend wurde das Modell in ein Format exportiert, das von TensorflowJS verwendet werden kann. Dieses Modell wurde dann in die eigentliche Webseite importiert und für die Wortvorhersage verwendet.
Text: Fechsung