Latent Dirichlet Allocation Overview
Ein kostenloses Video-Tutorial von Jose Portilla
Head of Data Science at Pierian Training
86 Kurse
4.667.268 Teilnehmer:innen
Steige mit dem kompletten Kurs tiefer ins Thema ein
NLP - Natural Language Processing with Python
Learn to use Machine Learning, Spacy, NLTK, SciKit-Learn, Deep Learning, and more to conduct Natural Language Processing
11:21:51 On-Demand-Video • Aktualisiert am April 2023
Learn to work with Text Files with Python
Learn how to work with PDF files in Python
Utilize Regular Expressions for pattern searching in text
Use Spacy for ultra fast tokenization
Learn about Stemming and Lemmatization
Understand Vocabulary Matching with Spacy
Use Part of Speech Tagging to automatically process raw text files
Understand Named Entity Recognition
Visualize POS and NER with Spacy
Use SciKit-Learn for Text Classification
Use Latent Dirichlet Allocation for Topic Modelling
Learn about Non-negative Matrix Factorization
Use the Word2Vec algorithm
Use NLTK for Sentiment Analysis
Use Deep Learning to build out your own chat bot
Deutsch [autom.]
Willkommen zurück in dieser Vorlesung. Wir werden einen erklärenden Überblick darüber geben, wie LDA oder später nur die Zuordnung für die Themenmodellierung funktioniert. Johanne dort war ein deutscher Mathematiker im 19. Jahrhundert, der einen großen Beitrag zur modernen Mathematik leistete. Und es gibt eine nach ihm benannte Wahrscheinlichkeitsverteilung, die besagt, dass es eine Schieferverteilung gibt, und dies ist die Verteilung, die später in LDK verwendet wird, so dass die Zuordnung zu Thursley auf dieser Wahrscheinlichkeitsverteilung basiert. Und 2003 wurde Elda erstmals als grafisches Modell für die Themenfindung im Journal of Machine Learning Research veröffentlicht. Denken Sie also daran, dass, obwohl Schleys Name mit dieser speziellen Methode zur Themenmodellierung verbunden ist, dies nur auf die Tatsache zurückzuführen ist, dass es eine Slape-Wahrscheinlichkeitsverteilung gibt, nicht dass Thursley selbst die LTA für die Themenmodellierung erfunden hat, die die eigentliche Methode ist relativ neu. Ab 2003. Wir erhalten also einen allgemeinen Überblick darüber, wie LDA für die Themenmodellierung funktioniert. Aber ich möchte Sie wirklich ermutigen, sich auch das Original-Veröffentlichungspapier anzusehen. Nun gibt es zwei Hauptannahmen, die wir treffen werden, um LDA tatsächlich für die Themenmodellierung anzuwenden. Das erste ist, dass Dokumente mit ähnlichen Themen ähnliche Wortgruppen verwenden, und das ist eine ziemlich vernünftige Annahme, da dies im Grunde bedeutet, dass wenn Sie verschiedene Dokumente haben, die ein ähnliches Thema abdecken, wie eine Reihe von Dokumenten, die das Thema Wirtschaft oder Wirtschaft abdecken, diese enden sollten bis mit ähnlichen Worten wie Geldpreismarktaktien etc .. Die andere Annahme, die wir machen werden, ist, dass latente Themen gefunden werden können, indem nach Wortgruppen gesucht wird, die häufig zusammen in Dokumenten im gesamten Korpus vorkommen, und dies unter der Annahme, dass wir später wirklich auf die Details eingehen werden. Dies sind also wieder die beiden Annahmen und beide sind für die Art und Weise, wie Menschen Dokumente schreiben, durchaus vernünftig. Und wir können uns diese beiden Annahmen tatsächlich mathematisch vorstellen. Die Art und Weise, wie wir diese Annahmen modellieren, ist die folgende. Wir können sagen, dass Dokumente Wahrscheinlichkeitsverteilungen über einige zugrunde liegende Spät- und Themen sind und dass Themen selbst Wahrscheinlichkeitsverteilungen über Überarbeitungen sind. Mal sehen, wie sich diese tatsächlich abspielen. Wir können uns vorstellen, dass ein bestimmtes Dokument eine Wahrscheinlichkeitsverteilung über eine bestimmte Anzahl von Themen haben wird. Nehmen wir also an, wir entscheiden, dass es fünf und Themen in verschiedenen Dokumenten gibt, als dass ein bestimmtes Dokument mit einer Wahrscheinlichkeit zu jedem Thema gehört. Hier sehen wir also, dass Dokument eins die höchste Wahrscheinlichkeit hat, zum zweiten Thema zu gehören. Wir haben also diese diskrete Wahrscheinlichkeitsverteilung über die Themen für jedes Dokument. Dann können wir uns ein anderes Dokument wie Dokument Nummer 2 ansehen. In diesem Fall besteht die Wahrscheinlichkeit, zu anderen Themen zu gehören, aber wir werden sagen, dass es die höchste Wahrscheinlichkeit hat, zu Thema vier zu gehören. Beachten Sie, dass wir hier nicht definitiv sagen, dass Dokument 1 zu einem bestimmten Thema gehört oder dass Dokument zu einem bestimmten Thema gehört. Stattdessen modellieren wir sie mit einer Wahrscheinlichkeitsverteilung über eine Vielzahl von Themen. Und wenn wir uns dann die Themen selbst ansehen, werden diese einfach als Wahrscheinlichkeitsverteilungen über Wörter modelliert. So können wir beispielsweise Thema eins als unterschiedliche Wahrscheinlichkeiten definieren, die zu jedem dieser Wörter gehören und zu diesem Thema gehören. So können wir hier sehen, dass es eine geringe Wahrscheinlichkeit hat, dass das Wort, zu dem er gehört, zu einem Thema gehört, eine geringe Wahrscheinlichkeit, dass Lebensmittel zu einem Thema gehören usw. und dann können wir sehen, dass Wörter wie Katze und Hund eine höhere Wahrscheinlichkeit haben, zum ersten Thema zu gehören. Und hier beginnen wir als Benutzer, der versucht zu verstehen, wofür dieses Thema tatsächlich repräsentativ ist. Wenn wir also diese Art der Wahrscheinlichkeitsverteilung über das gesamte Vokabular aller Wörter im Korpus erhalten würden, würden wir am Ende vielleicht nach den 10 Wörtern mit der höchsten Wahrscheinlichkeit für Thema 1 fragen und dann versuchen, zu erkennen, was das ist Das eigentliche zugrunde liegende Thema war. In diesem Fall könnten wir also eine fundierte Vermutung anstellen, dass das Thema zufällig mit Haustieren zu tun hat, und wir würden sagen, dass das Thema mit Haustieren zu tun hat. Auch hier kann Ihnen die LDA oder unbeaufsichtigte Lerntechnik das nicht direkt sagen. Es ist Sache des Benutzers, diese Wahrscheinlichkeitsverteilungen als Themen zu interpretieren, und wir werden dies tatsächlich üben, wenn wir LDH selbst in Python ausführen. Daher stellt LTA Dokumente als eine Mischung von Themen dar, die Wörter mit bestimmten Wahrscheinlichkeiten ausspucken, und es wird davon ausgegangen, dass Dokumente auf die folgende Weise erstellt werden. Es wird zuerst über die Anzahl der Wörter und das Dokument entschieden, dann wählen wir eine Themenmischung aus, die gemäß einer Schieferverteilung über einen festen Satz von Themen dokumentiert. Hier kommt also diese Folienverteilung zum Tragen. Zum Beispiel beginnen wir damit, dass dieses Dokument zu 60 Prozent aus Unternehmen, zu 20 Prozent aus Politik und zu 10 Prozent aus Lebensmitteln besteht. Das ist also ihre tatsächliche Verteilung, und dann werden wir jedes Wort im Dokument generieren, indem wir zuerst ein Thema gemäß der zuvor untersuchten multinomialen Verteilung auswählen. Also haben wir 60 Prozent der Wörter aus dem Geschäftsthema ausgewählt, 20 Prozent aus der Politik und dann 10 Prozent aus dem Lebensmittelthema, und dann das Thema verwendet, um das Wort selbst zu generieren. Also nochmal nach den Themen eigene multinomiale Verteilung über die Wörter. Wenn wir beispielsweise das Lebensmittelthema auswählen, können wir das Wort Apfel mit einer Wahrscheinlichkeit von 60 Prozent und ein anderes Wort mit einer geringeren Wahrscheinlichkeit wie 30 Prozent Wahrscheinlichkeit usw. generieren. Angenommen, diese Art von generativem Modell für eine Sammlung von Dokumenten wird LDA tatsächlich versuchen, von den Dokumenten zurückzugehen, um die Themen zu finden, die wahrscheinlich die Sammlung erzeugt haben. Auch hier geht dieser Prozess, bei dem wir gerade über LTI gegangen sind, davon aus, dass Sie die Dokumente auf diese Weise erstellt haben. In der realen Welt erstellen Sie offensichtlich keine Dokumente mit dieser Einstellung, aber es ist ein sehr nützliches Konstrukt dafür, wie Themen in verschiedenen Dokumenten gemischt werden können und wie Wörter in verschiedenen Themen gemischt werden können. Wir werden also versuchen, diese Art von Prozess zurückzuverfolgen. Zeigen wir Ihnen also, was sonst noch zu tun ist, da davon ausgegangen wird, dass Sie die Dokumente auf diese Weise erstellt haben. Wir können uns also vorstellen, dass wir eine Reihe von Dokumenten haben, und das erste, was wir tun müssen, ist, eine feste Anzahl von Themen auszuwählen, die entdeckt werden sollen, und Sie sollten sehr sorgfältig beachten, dass dies tatsächlich sehr schwierig ist. Damit LDA für Sie als Benutzer funktioniert, müssen Sie entscheiden, wie viele Themen entdeckt werden sollen. Noch bevor Sie mit LDA beginnen, müssen Sie eine gewisse Intuition darüber haben, wie viele Themen es gibt. Wir wählen also eine feste Anzahl von Themen aus, die entdeckt werden sollen, und dann möchten wir LDA verwenden, um die Themendarstellung jedes Dokuments und die mit jedem Thema verknüpften Wörter zu lernen. Dann werden wir jedes Dokument durchgehen und jedes Wort im Dokument zufällig einem der K Themen zuordnen. Denken Sie also daran, dass diese zufällige Zuordnung bereits beim ersten Durchgang sowohl thematische Darstellungen aller Dokumente als auch Wortverteilungen aller Themen enthält. Wir haben beim ersten Durchgang alles zufällig zugewiesen, sodass wir technisch noch nicht fertig sind, weil Diese anfänglichen Themen sind nicht wirklich sinnvoll. Sie werden wirklich schlechte Darstellungen von Themen sein, da Sie im Wesentlichen nur jedes Wort um dieses Thema herum zuweisen. Jetzt ist es an der Zeit, darüber nachzudenken und herauszufinden, wie wir diese Art von Aufgaben beheben können. Wir werden also jedes Wort in jedem Dokument durchlaufen, um diese Themen zu verbessern, und wir werden es für jedes Wort in jedem Dokument und für jedes Thema tun. Im Folgenden wird der Anteil der Wörter in Dokument D berechnet, die derzeit dem Thema T zugeordnet sind. Dann berechnen wir auch den Anteil der Zuweisungen, die das Thema t betreffen, an allen Dokumenten, die aus diesem bestimmten Wort w stammen, und weisen dann ein neues Thema zu, bei dem wir das Thema t mit der Wahrscheinlichkeit auswählen, dass das Thema T dem Dokument die Zeiten entspricht Wahrscheinlichkeit des Wortes w gegebenes Thema T. Dies ist also im Wesentlichen die Wahrscheinlichkeit, dass das Thema t das Wort W erzeugt hat, und nachdem wir diesen vorherigen Schritt viele Male wiederholt haben, erreichen wir schließlich einen ungefähr stabilen Zustand, in dem die Zuordnungen für die Themen akzeptabel sind. Diese Wörter und Themen beginnen sich nicht so oft zu ändern sie werden ziemlich stabil. Am Ende haben wir also, dass jedes Dokument einem Thema zugewiesen wird. Dann können wir nur noch nach den Wörtern suchen, bei denen die höchste Wahrscheinlichkeit besteht, dass ein Thema zugewiesen wird, sodass wir eine Ausgabe wie diese erhalten sagen. Nachdem Sie alle Dokumente durchlaufen und die LDA durchgeführt haben, übergeben Sie ein bestimmtes Dokument und melden es dann zurück. Die LDA meldet sich zurück. Ich denke, dieses Dokument ist dem Thema Nummer vier zugeordnet und wir wissen noch nicht, welches Thema Nummer 4 präsentiert, aber wir können LDA fragen, welche Wörter im Thema am häufigsten verwendet werden und für welche Wörter die höchste Wahrscheinlichkeit besteht, dass ein Thema angezeigt wird . Und dann können Sie Ergebnisse wie Katze, die Vögel Hundefutter nach Hause usw. erhalten. Angesichts dieser Liste von Wörtern mit hoher Wahrscheinlichkeit für dieses bestimmte Thema ist es Sache des Benutzers, das Thema zu interpretieren. Und dafür denke ich, dass eine vernünftige Interpretation wäre, dass diese speziellen Dokumente ein Thema zuweisen, um wahrscheinlich etwas mit Haustieren zu tun zu haben, und wir würden sagen, OK, ich denke, Thema 4 sind Haustiere. Nun ist das die richtige Antwort. Es gibt wirklich keine Möglichkeit zu wissen, weil wir zunächst nicht die richtige Antwort hatten, aber es ist eine vernünftige Annahme, angesichts der hohen Wahrscheinlichkeit, dass Wörter für das Thema auftauchen, zwei wichtige Anmerkungen hier noch einmal zu machen, bevor wir fortfahren und dies tatsächlich anwenden Python. Der erste wichtige Hinweis ist, dass der Benutzer selbst über die Anzahl der im Dokument enthaltenen Themen entscheiden muss, bevor er mit diesem Prozess beginnt, und der zweite ist, dass der Benutzer selbst interpretieren muss, was die Themen sind und was sie tatsächlich darstellen. OK, in der nächsten Vorlesung werden wir untersuchen, wie LDA tatsächlich mit Python und säkular implementiert wird. Ich werde es dort sehen.