Mise en œuvre du modèle thématique interactif et de ses résultats
Il existe un concept appelé modèle thématique en tant que méthode d'extraction du contenu d'un ensemble de documents dans la technologie du traitement du langage naturel.
Parmi eux, il existe un modèle de sujet interactif comme méthode de manipulation intentionnelle des mots qui apparaissent dans un sujet.
Par conséquent, dans cet article, nous allons implémenter le modèle de sujet interactif et vérifier son effet.
Dans le modèle de sujet, à partir de l'ensemble de documents, la probabilité qu'un sujet (par exemple, un article de journal contient des sujets tels que la politique et le sport) apparaisse, la distribution du sujet $ \ theta $, et comment dans ce sujet C'est une méthode pour estimer la distribution des mots $ \ phi $ pour voir si le mot est facile à sortir.
L'explication du modèle de sujet est http://qiita.com/GushiSnow/items/8156d440540b0a11dfe6 http://statmodeling.hatenablog.com/entry/topic-model-4 Veuillez vous référer aux matériaux pour une compréhension facile.
Latent Dirichlet Allocation(LDA)
Parmi les différents modèles de sujets, l'allocation de dirichlet latent (LDA) est le plus connu.
LDA considère qu'il y a plusieurs sujets (politique, actualités, etc.) dans un même document (article de journal), et chaque sujet a une distribution de mots différente.
Le modèle graphique est comme indiqué dans la figure ci-dessous
Soit dit en passant, $ \ theta $ est la distribution des sujets, $ \ phi $ est la distribution des mots, $ z $ est le sujet assigné au mot dans le document, $ v $ est le mot dans le document, $ N $ est le nombre de mots dans le document, $ D $ est le nombre de documents, $ K $ est le nombre de sujets, $ \ alpha $ et $ \ beta $ sont des hyperparamètres.
L'échantillonnage Gibbs et les baies variantes peuvent être utilisés pour calculer le LDA, mais est-ce que l'échantillonnage Gibbs (CGS) est le plus connu? Est.
Le pseudo code pour calculer le LDA avec l'échantillonnage de Gibbs réduit est le suivant
N_dk = 0 #Nombre de mots du document d auxquels le thème k est attribué
N_kv = 0 #Le nombre de fois où le mot v apparaît dans le sujet k
N_k = 0 #Nombre de mots auxquels le thème k est attribué
d = 1, …, D #Numéro de document
k = 1, …, K #Numéro de sujet
v = 1, …, V #Numéro du dictionnaire
initialize(z_dn) #Initialiser aléatoirement le sujet du nième mot dans le document d
repeat
for d = 1, …, D do
for n = 1, …, N_d do # N_d est le nombre de mots utilisés dans le document d
N_d[k=z_dn] -= 1 #Soustraire du compte
N_[k=z_dn][v=w_n] -= 1
N_[k=z_dn] -= 1
for k = 1, …, K do
cal(p(z_dn = k)) #Calculez la probabilité que le sujet k soit attribué au nième mot du document d
endfor
z_dn ~ Categorical(p(z_dn)) # z_Échantillonnage de sujets DN
N_d[k=z_dn] += 1 #Compter les nouveaux sujets attribués
N_[k=z_dn][v=w_n] += 1
N_[k=z_dn] += 1
endfor
endfor
jusqu'à ce que la condition finale soit remplie
La probabilité de devenir $ p (z_ {dn} = k) $ dans le pseudo-code est calculée comme suit.
p(z_{dn}=k) \propto (N_{dk}+\alpha)\frac{N_{kw_{dn}}+\beta}{N_k+\beta V}
Peut être calculé avec.
Interactive Topic Model(ITM)
Quand je calcule un sujet avec LDA, je veux parfois que ce mot et ce mot soient le même sujet.
Vous pouvez résoudre ce problème en contraignant que le mot A et le mot B doivent provenir du même sujet.
C'est le modèle de sujet interactif (ITM) http://dl.acm.org/citation.cfm?id=2002505
Pour donner une explication sensuelle, ITM considère les mots restreints comme un seul mot et répartit uniformément la probabilité d'apparition des mots restreints, facilitant ainsi l'apparition des mots restreints sur le même sujet.
Le calcul est simple, et la formule de calcul de $ p (z_ {dn} = k) $ dans LDA est réécrite comme suit.
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}
cependant,
En d'autres termes, si le mot $ w_ {dn} $ n'est pas inclus dans la contrainte $ \ Omega $, utilisez la même formule que LDA, et s'il est inclus, utilisez la formule ci-dessous pour calculer p (z_ {dn} = k). ..
Dans l'expérience, la précision de l'ITM sera vérifiée.
Un corpus vivant a été utilisé pour l'ensemble de données. http://bookmarks2022.blogspot.jp/2015/06/livedoor.html
Code ITM ici https://github.com/kenchin110100/machine_learning/blob/master/sampleITM.py
Nombre fixe de sujets $ K = 10 $, $ \ alpha = 0,1 $, $ \ beta = 0,01 $, $ \ eta = 100 $
Tout d'abord, 50 itérations sans restrictions (c'est-à-dire la même chose qu'un LDA normal)
Le tableau ci-dessous montre les principaux mots qui apparaissent dans chaque sujet.
Thème 1 | Thème 2 | Thème 3 | Thème 4 | Thème 5 |
---|---|---|---|---|
une fonction | App | Femme | l'oeuvre | Japon |
Libération | Alimenté par | le golf | films | mise à jour |
mise à jour | écran | moi même | 153 | Relation |
article | smartphone | Masculin | 181 | monde |
Utilisation | Présentation | mariage | réalisé par | Populaire |
Digi | Correspondance | Beaucoup | Libération | films |
Relation | Max Co., Ltd. | Adversaire | 3 | http:// |
smartphone | Android | travaux | 96 | moi même |
Logiciel | afficher | Noël | 13 | sujet |
utilisateur | année 2012 | Les filles | Livre | sensationnel |
Vous pouvez voir certains sujets avec cela seul.
Ensuite, contraignez les mots bleus du tableau afin qu'ils soient sur le même sujet. Tournez encore 50 itérations.
Thème 1 | Thème 2 | Thème 3 | Thème 4 | Thème 5 |
---|---|---|---|---|
Libération | App | Femme | 153 | films |
Utilisation | Alimenté par | moi même | 181 | Japon |
une fonction | smartphone | le golf | 3 | l'oeuvre |
mise à jour | Présentation | Masculin | 96 | Libération |
article | Correspondance | mariage | 13 | monde |
un service | bien | Beaucoup | 552 | réalisé par |
Relation | Max Co., Ltd. | Adversaire | 144 | Relation |
Digi | Android | travaux | 310 | Une fonction spéciale |
Logiciel | afficher | Noël | 98 | http:// |
information | année 2012 | Bien | héros | sensationnel |
Les mots en bleu avec des restrictions apparaissent en commun dans le Thème 5.
Le modèle de sujet interactif (ITM) a été utilisé pour contraindre les mots et estimer la distribution des sujets.
Le contenu publié semble bon à première vue, mais en réalité, il est le résultat de nombreux essais et erreurs ...
ITM a également un journal, donc si vous implémentez ce contenu, il peut être plus précis.