Gensim - Themenmodellierung
Dieses Kapitel befasst sich mit der Themenmodellierung in Bezug auf Gensim.
Um unsere Daten zu kommentieren und die Satzstruktur zu verstehen, ist eine der besten Methoden die Verwendung von rechnergestützten Sprachalgorithmen. Zweifellos können wir mit Hilfe dieser rechnergestützten Sprachalgorithmen einige feinere Details über unsere Daten verstehen, aber
Können wir wissen, welche Wörter in unserem Korpus häufiger vorkommen als andere?
Können wir unsere Daten gruppieren?
Können wir unseren Daten zugrunde liegende Themen sein?
All dies könnten wir mit Hilfe der Themenmodellierung erreichen. Tauchen wir also tief in das Konzept der Themenmodelle ein.
Was sind Themenmodelle?
Ein Themenmodell kann als Wahrscheinlichkeitsmodell definiert werden, das Informationen zu Themen in unserem Text enthält. Hier stellen sich jedoch zwei wichtige Fragen:
Zuerst, what exactly a topic is?
Das Thema sind, wie der Name schon sagt, zugrunde liegende Ideen oder die in unserem Text dargestellten Themen. Um Ihnen ein Beispiel zu geben, das Korpus enthältnewspaper articles hätte die Themen im Zusammenhang mit finance, weather, politics, sports, various states news und so weiter.
Zweite, what is the importance of topic models in text processing?
Da wir wissen, dass wir, um Ähnlichkeiten im Text zu identifizieren, mithilfe von Wörtern Informationen abrufen und suchen können. Mithilfe von Themenmodellen können wir unsere Textdateien jetzt nach Themen und nicht nach Wörtern suchen und anordnen.
In diesem Sinne können wir sagen, dass Themen die probabilistische Verteilung von Wörtern sind. Aus diesem Grund können wir mithilfe von Themenmodellen unsere Dokumente als probabilistische Verteilung von Themen beschreiben.
Ziele von Themenmodellen
Wie oben erläutert, liegt der Schwerpunkt der Themenmodellierung auf zugrunde liegenden Ideen und Themen. Seine Hauptziele sind wie folgt:
Themenmodelle können zur Textzusammenfassung verwendet werden.
Sie können zum Organisieren der Dokumente verwendet werden. Beispielsweise können wir die Themenmodellierung verwenden, um Nachrichtenartikel in einem organisierten / miteinander verbundenen Abschnitt zusammenzufassen, z. B. um alle Nachrichtenartikel zu organisieren, die sich auf diese beziehencricket.
Sie können das Suchergebnis verbessern. Wie? Bei einer Suchabfrage können wir Themenmodelle verwenden, um das Dokument mit einer Mischung aus verschiedenen Schlüsselwörtern anzuzeigen, die jedoch ungefähr dieselbe Idee haben.
Das Konzept der Empfehlungen ist sehr nützlich für das Marketing. Es wird von verschiedenen Online-Shopping-Websites, Nachrichten-Websites und vielem mehr verwendet. Themenmodelle helfen dabei, Empfehlungen zu geben, was zu kaufen ist, was als nächstes zu lesen ist usw. Sie tun dies, indem sie Materialien finden, die ein gemeinsames Thema in der Liste haben.
Themenmodellierungsalgorithmen in Gensim
Zweifellos ist Gensim das beliebteste Toolkit zur Themenmodellierung. Die kostenlose Verfügbarkeit und die Verfügbarkeit in Python machen es immer beliebter. In diesem Abschnitt werden einige der beliebtesten Algorithmen zur Themenmodellierung erläutert. Hier konzentrieren wir uns eher auf das Was als auf das Wie, weil Gensim sie für uns sehr gut abstrahiert.
Latent Dirichlet Allocation (LDA)
Latent Dirichlet Allocation (LDA) ist die häufigste und beliebteste Technik, die derzeit für die Themenmodellierung verwendet wird. Es ist dasjenige, das die Facebook-Forscher in ihrem 2013 veröffentlichten Forschungspapier verwendet haben. Es wurde erstmals 2003 von David Blei, Andrew Ng und Michael Jordan vorgeschlagen. Sie schlugen LDA in ihrem einfach betitelten Papier vorLatent Dirichlet allocation.
Eigenschaften von LDA
Lassen Sie uns mehr über diese wunderbare Technik durch ihre Eigenschaften wissen -
Probabilistic topic modeling technique
LDA ist eine probabilistische Themenmodellierungstechnik. Wie oben erläutert, gehen wir bei der Themenmodellierung davon aus, dass in jeder Sammlung miteinander verbundener Dokumente (z. B. wissenschaftliche Artikel, Zeitungsartikel, Facebook-Beiträge, Tweets, E-Mails usw.) einige Kombinationen von Themen in jedem Dokument enthalten sind .
Das Hauptziel der probabilistischen Themenmodellierung besteht darin, die verborgene Themenstruktur für die Sammlung miteinander verbundener Dokumente zu entdecken. Die folgenden drei Dinge sind im Allgemeinen in einer Themenstruktur enthalten:
Topics
Statistische Verteilung der Themen auf die Dokumente
Wörter in einem Dokument, das das Thema umfasst
Work in an unsupervised way
LDA arbeitet unbeaufsichtigt. Dies liegt daran, dass LDA bedingte Wahrscheinlichkeiten verwendet, um die verborgene Themenstruktur zu ermitteln. Es wird davon ausgegangen, dass die Themen in der Sammlung miteinander verbundener Dokumente ungleich verteilt sind.
Very easy to create it in Gensim
In Gensim ist es sehr einfach, ein LDA-Modell zu erstellen. Wir müssen nur den Korpus, die Wörterbuchzuordnung und die Anzahl der Themen angeben, die wir in unserem Modell verwenden möchten.
Model=models.LdaModel(corpus, id2word=dictionary, num_topics=100)
May face computationally intractable problem
Die Berechnung der Wahrscheinlichkeit jeder möglichen Themenstruktur ist eine rechnerische Herausforderung für die LDA. Es ist eine Herausforderung, weil es die Wahrscheinlichkeit jedes beobachteten Wortes unter jeder möglichen Themenstruktur berechnen muss. Wenn wir eine große Anzahl von Themen und Wörtern haben, kann LDA mit einem rechnerisch unlösbaren Problem konfrontiert sein.
Latent Semantic Indexing (LSI)
Die Themenmodellierungsalgorithmen, die erstmals in Gensim mit implementiert wurden Latent Dirichlet Allocation (LDA) ist Latent Semantic Indexing (LSI). Es wird auch genanntLatent Semantic Analysis (LSA).
Es wurde 1988 von Scott Deerwester, Susan Dumais, George Furnas, Richard Harshman, Thomas Landaur, Karen Lochbaum und Lynn Streeter patentiert. In diesem Abschnitt werden wir unser LSI-Modell einrichten. Dies kann auf die gleiche Weise wie beim Einrichten des LDA-Modells erfolgen. Wir müssen das LSI-Modell aus importierengensim.models.
Rolle von LSI
Tatsächlich ist LSI eine NLP-Technik, insbesondere in der Verteilungssemantik. Es analysiert die Beziehung zwischen einer Reihe von Dokumenten und den Begriffen, die diese Dokumente enthalten. Wenn wir über seine Funktionsweise sprechen, erstellt es eine Matrix, die aus einem großen Textstück die Anzahl der Wörter pro Dokument enthält.
Nach der Erstellung verwendet das LSI-Modell eine mathematische Technik, die als Singular Value Decomposition (SVD) bezeichnet wird, um die Anzahl der Zeilen zu verringern. Neben der Reduzierung der Anzahl der Zeilen bleibt auch die Ähnlichkeitsstruktur zwischen den Spalten erhalten. In der Matrix repräsentieren die Zeilen eindeutige Wörter und die Spalten jedes Dokument. Es funktioniert basierend auf einer Verteilungshypothese, dh es wird angenommen, dass die Wörter, deren Bedeutung nahe beieinander liegt, in derselben Art von Text vorkommen.
Model=models.LsiModel(corpus, id2word=dictionary, num_topics=100)
Hierarchischer Dirichlet-Prozess (HDP)
Themenmodelle wie LDA und LSI helfen bei der Zusammenfassung und Organisation großer Textarchive, die nicht von Hand analysiert werden können. Neben LDA und LSI ist HDP (Hierarchical Dirichlet Process) ein weiteres leistungsstarkes Themenmodell in Gensim. Grundsätzlich handelt es sich um ein Modell mit gemischter Mitgliedschaft für die unbeaufsichtigte Analyse gruppierter Daten. Im Gegensatz zu LDA (dem endlichen Gegenstück) leitet HDP die Anzahl der Themen aus den Daten ab.
Model=models.HdpModel(corpus, id2word=dictionary