3.1 Sequenzielle Struktur - NerimanK/Cloud-Computing-Technology---Google-Home GitHub Wiki
Die Sequenzielle Struktur spielt eine wichtige Rolle bei der Datenanalyse. Um die natürliche Sprache (NLP), die Methode des Deep Learnings richtig zu verstehen, wird die Sequenzielle Struktur eingesetzt. Eine wichtige Art der Daten, die mit sequenzieller Struktur verarbeitet werden, sind Textdaten. Zum Modellieren von Sequenziellendaten wird auf die Architektur Rekurrente neuronale Netze (RNN) aufgesetzt. In einem RNN-Modell besitzt jedes Element eine Sequenz mit neuen Informationen. Jede neue Information ändert den Zustand im Modell, dadurch wird das Modell Schritt für Schritt weiterentwickelt. Das menschliche Gehirn arbeitet genau nach demselben Verfahren. Die bisherigen Informationen werden im Gehirn nicht gelöscht, sondern aktualisiert und weitergebildet. Wenn der Mensch ein Text liest, gewinnt er mit jedem Wort, der im Text verfasst ist, einen neuen Wissensstand. Der alte Wissenstand wird indem Fall nicht gelöscht, er wird weiterverarbeitet. Für das maschinelle Lernen werden zum Modellieren sequenzieller Strukturen, Markov-Ketten verwendet. Die Eigenschaft der Markov-Kette ist, dass er statistische Aussagen über den aktuellen und zukünftigen Zustand auf Basis der zurück-liegenden Zustände machen kann. In diesem Fall sind die Sequenzdaten als „Ketten“ zu betrachten. Jeder Knoten der Kette ist von dem vorherigen Knoten abhägig, dadurch wird der Kenntnisstand nicht gelöscht und wird fortgeführt.
Diese Kettenstruktur verwendet RNN bei seinem Modell. Wie auch der Name „rekurrente“ schon sagt, arbeiten rekurrente neuronale Netze in einer Art „Schleife“. Die Abbildung zeigt, wie sich der Zustand verändert, wenn ein Wort in einem Satz geschrieben wird. Wird eine Eingabe xt zu einem Zeitpunkt t getätigt, aktualisiert sich der Zustandsvektor auf ht aus dem vorangegangenen Vektor ht-1. Wird das nächste Wort in einem Satz geschrieben, wird dies von ht und dem Kenntnisstand der Sequenz abhängig.
Textsequenzen
Die Sequenzen in NLP können Wörter sein, die ein Text oder Sätze, die ein Absatz oder Absätze oder die ein Ganzen Dokument bilden. Die Textverarbeitungsmethode zur Verarbeitung natürlicher Sprache würde jedes der Wörter durch eine ID darstellen. “Let ́s talk about current activities concerning the HighNet project.” Jedes Wort dieses Satzes wird durch eine ID versehen, diese ID ist eine Zahl. In der NLP wird diese ID als ein Token-ID bezeichnet. Das Wort „Let‘s“ bekommt die Zahl 342, das Wort „talk“ die Zahl 15, das Wort „about“ die Zahl 123, die Zahlen sind in diesem Fall Beispielszahlen. Die Textdaten bestehen aus einer Liste von Wort-IDs, jeder Satz ist eine Folge von Zahlen, die Wörtern zugeordnet sind. Diese einfache Darstellung ist eine gute Lösung für einfache NLP-Probleme, jedoch bringt es auch einige schwerwiegende Nachteile mit. Bei dieser atomaren Darstellung gehen die Bedeutung die in den Wörtern erhalten sind verloren. Die Information über semantische Verwandtschaft zwischen den Wörtern wird verschwommen. Ebenso ist auch ein Nachteil, dass die Größe der Vokabulare schnell wachsen können und Millionen von Wort-Identifikationen besitzen würden, die das Lernen erschweren würde. Daher wird eine dichte Vektordarstellung von Wörtern benutzt, die selbst eine semantische Bedeutung trägt. Dieses Vorgehen wird auch Word Embedding genannt. Im nächsten Kapitel wird Word Embedding genauer erklärt (vgl. Hope/Resheff/Lieder, 2018).