[PYTHON] Themenmodelle bearbeiten ~ Interaktives Themenmodell ~

Implementierung des interaktiven Themenmodells und seiner Ergebnisse

Einführung

Es gibt ein Konzept, das als Themenmodell bezeichnet wird, um Inhalte aus einer Reihe von Dokumenten in der Technologie der Verarbeitung natürlicher Sprache zu extrahieren.

Darunter befindet sich ein interaktives Themenmodell als Methode zur absichtlichen Bearbeitung von Wörtern, die in einem Thema vorkommen.

Daher werden wir in diesem Artikel das interaktive Themenmodell implementieren und seine Wirkung überprüfen.

Methode

Themenmodell

Im Themenmodell wird aus dem Dokumentensatz die Wahrscheinlichkeit, dass ein Thema (z. B. ein Zeitungsartikel, enthält Themen wie Politik und Sport) angezeigt wird, die Themenverteilung $ \ theta $ und wie innerhalb dieses Themas Es ist eine Methode, um die Wortverteilung $ \ phi $ zu schätzen, um festzustellen, ob es viele Wörter gibt.

Die Erklärung des Themenmodells lautet http://qiita.com/GushiSnow/items/8156d440540b0a11dfe6 http://statmodeling.hatenablog.com/entry/topic-model-4 Bitte lesen Sie die Materialien zum leichteren Verständnis.

Latent Dirichlet Allocation(LDA)

Von den verschiedenen Themenmodellen ist die Latent Dirichlet Allocation (LDA) die bekannteste.

Die LDA ist der Ansicht, dass ein Dokument (Zeitungsartikel) mehrere Themen (Politik, Nachrichten usw.) enthält und jedes Thema eine andere Wortverteilung aufweist.

Das grafische Modell ist in der folgenden Abbildung dargestellt

LDA.png Übrigens ist $ \ theta $ die Themenverteilung, $ \ phi $ ist die Wortverteilung, $ z $ ist das Thema, das dem Wort im Dokument zugewiesen ist, $ v $ ist das Wort im Dokument, $ N $ ist die Anzahl der Wörter im Dokument, $ D $ ist die Anzahl der Dokumente, $ K $ ist die Anzahl der Themen und $ \ alpha $ und $ \ beta $ sind Hyperparameter.

Gibbs-Stichproben und Variantenschächte können zur Berechnung der LDA verwendet werden. Ist die kollabierende Gibbs-Stichprobe (CGS) die bekannteste? Ist.

Der Pseudocode zur Berechnung der LDA mit kollabierter Gibbs-Abtastung ist wie folgt


N_dk = 0  #Anzahl der Wörter in Dokument d, denen das Thema k zugeordnet ist
N_kv = 0  #Die Häufigkeit, mit der das Wort v in Thema k vorkommt
N_k = 0   #Anzahl der Wörter, denen das Thema k zugeordnet ist
d = 1, …, D  #Dokumentnummer
k = 1, …, K  #Themennummer
v = 1, …, V  #Wörterbuchnummer

initialize(z_dn)  #Initialisieren Sie das Thema des n-ten Wortes in Dokument d nach dem Zufallsprinzip

repeat
  for d = 1, …, D do
    for n = 1, …, N_d do # N_d ist die Anzahl der in Dokument d verwendeten Wörter

      N_d[k=z_dn] -= 1  #Von der Zählung abziehen
      N_[k=z_dn][v=w_n] -= 1
      N_[k=z_dn] -= 1

      for k = 1, …, K do
        cal(p(z_dn = k)) #Berechnen Sie die Wahrscheinlichkeit, dass das Thema k dem n-ten Wort in Dokument d zugewiesen wird
      endfor

      z_dn ~ Categorical(p(z_dn))  # z_Sampling von dn-Themen

      N_d[k=z_dn] += 1  #Neu zugewiesene Themen zählen
      N_[k=z_dn][v=w_n] += 1
      N_[k=z_dn] += 1

    endfor
  endfor
bis die Endbedingung erfüllt ist

Die Wahrscheinlichkeit, im Pseudocode $ p (z_ {dn} = k) $ zu werden, wird wie folgt berechnet.

p(z_{dn}=k) \propto (N_{dk}+\alpha)\frac{N_{kw_{dn}}+\beta}{N_k+\beta V}

Kann mit berechnet werden.

Interactive Topic Model(ITM)

Wenn ich ein Thema mit LDA berechne, möchte ich manchmal, dass dieses Wort und dieses Wort dasselbe Thema sind.

Sie können dieses Problem lösen, indem Sie einschränken, dass Wort A und Wort B aus demselben Thema stammen sollen.

Das ist das Interactive Topic Model (ITM) http://dl.acm.org/citation.cfm?id=2002505

Um eine sinnliche Erklärung zu geben, betrachtet ITM eingeschränkte Wörter als ein Wort und verteilt die Erscheinungswahrscheinlichkeit der eingeschränkten Wörter gleichmäßig, wodurch eingeschränkte Wörter leichter zum selben Thema erscheinen können. スクリーンショット 2017-02-16 16.12.51.png

Die Berechnung ist einfach und die Formel zur Berechnung von $ p (z_ {dn} = k) $ in LDA wird wie folgt umgeschrieben.

p(z_{dn} = k) \propto \begin{cases}
(N_{dk}+\alpha)\frac{N_{kw_{dn}}+\beta}{N_k+\beta V} \;\;\;\;(w_{dn} \notin \Omega)\\
(N_{dk}+\alpha)\frac{N_{k\Omega}+|\Omega|\beta}{N_k+\beta V}\frac{W_{k\Omega w_{dn}}+\eta}{W_{k \Omega} + |\Omega|\eta} \;\;\;\;(w_{dn} \in \Omega)

\end{cases}

Jedoch,\OmegaIst eine Einschränkung|\Omega|Ist die Anzahl der Wörter in der Einschränkung enthalten?N_{k\Omega}Ist ein ThemakEinschränkung mit\OmegaDie Häufigkeit, mit der herauskam,W_{k\Omega w_{dn}}Ist ein Themakに割り当てられた制約\OmegaWorte inw_{dn}Gibt an, wie oft angezeigt wird.

Mit anderen Worten, wenn das Wort $ w_ {dn} $ nicht in der Einschränkung $ \ Omega $ enthalten ist, verwenden Sie dieselbe Formel wie LDA. Wenn es enthalten ist, verwenden Sie die folgende Formel, um p (z_ {dn} = k) zu berechnen. ..

Experiment

Im Experiment wird die Genauigkeit von ITM überprüft.

Datensatz

Für den Datensatz wurde ein Livedoor-Korpus verwendet. http://bookmarks2022.blogspot.jp/2015/06/livedoor.html

Code

ITM-Code hier https://github.com/kenchin110100/machine_learning/blob/master/sampleITM.py

Versuchsergebnis

Feste Anzahl von Themen $ K = 10 $, $ \ alpha = 0,1 $, $ \ beta = 0,01 $, $ \ eta = 100 $

Erstens 50 Iterationen ohne Einschränkungen (dh wie bei einer normalen LDA)

Die folgende Tabelle zeigt die wichtigsten Wörter, die in den einzelnen Themen vorkommen.

Thema 1 Thema 2 Thema 3 Thema 4 Thema 5
Funktion App Weiblich die Arbeit Japan
Veröffentlichung unterstützt von Golf Filme aktualisieren
aktualisieren Bildschirm mich selber 153 Beziehung
Artikel smartphone männlich 181 Welt
Verwenden Ankündigung Ehe unter der Regie von Beliebt
Digi Korrespondenz Viele Veröffentlichung Filme
Beziehung Max Co., Ltd. Gegner 3 http://
smartphone Android Arbeitsplätze 96 mich selber
Software Anzeige Weihnachten 13 Thema
Nutzer Jahr 2012 Mädchen Buch Beeindruckend

Sie können einige Themen allein damit sehen.

Beschränken Sie als Nächstes die blauen Wörter in der Tabelle so, dass sie sich auf dasselbe Thema beziehen. Drehen Sie weitere 50 Iterationen.

Thema 1 Thema 2 Thema 3 Thema 4 Thema 5
Veröffentlichung App Weiblich 153 Filme
Verwenden unterstützt von mich selber 181 Japan
Funktion smartphone Golf 3 die Arbeit
aktualisieren Ankündigung männlich 96 Veröffentlichung
Artikel Korrespondenz Ehe 13 Welt
Bedienung Gut Viele 552 unter der Regie von
Beziehung Max Co., Ltd. Gegner 144 Beziehung
Digi Android Arbeitsplätze 310 Besonderheit
Software Anzeige Weihnachten 98 http://
Information Jahr 2012 Gut Held Beeindruckend

Blaue Wörter mit Einschränkungen werden in Thema 5 häufig verwendet.

Zusammenfassung

Das interaktive Themenmodell (ITM) beschränkt Wörter, um die Themenverteilung abzuschätzen.

Der gepostete Inhalt sieht auf den ersten Blick gut aus, ist aber in Wirklichkeit das Ergebnis vieler Versuche und Irrtümer ...

ITM verfügt auch über ein Journal. Wenn Sie diesen Inhalt implementieren, ist er möglicherweise genauer.

Recommended Posts

Themenmodelle bearbeiten ~ Interaktives Themenmodell ~
Erstellen einer interaktiven Anwendung mithilfe eines Themenmodells
Kontinuierliche Implementierung des Weltraumthemenmodells
Pokemon-Klassifizierung nach Themenmodell