tal: traitement automatique de la langue apprentissage d...
TRANSCRIPT
BOW Modeles proba. Semantique LSA Usages
TAL: traitement automatique de la langueApprentissage d’une semantique
Vincent GuigueUPMC - LIP6
Vincent Guigue Analyse semantique 1/48
BOW Modeles proba. Semantique LSA Usages
Traitements pour la classification de textes
Les donnees textuelles sont difficiles a gerer:
1 Les corpus sont volumineux, le vocabulaire est grand:
◦ il faut des algorithmes rapides,◦ les donnees ne sont pas toujours stockables en memoire.
2 La structure des phrases est difficile a gerer.
3 Les mots peuvent prendre plusieurs formes (pluriels...)
4 Machine learning + donnees en grande dimension = problemes
Vincent Guigue Analyse semantique 2/48
BOW Modeles proba. Semantique LSA Usages
Traitements pour la classification de textes
Les donnees textuelles sont difficiles a gerer:
1 Les corpus sont volumineux, le vocabulaire est grand:
◦ il faut des algorithmes rapides,◦ les donnees ne sont pas toujours stockables en memoire.
Perceptron, SVM (en version rapide), Naive Bayes...Boosting, Bagging... Algorithmes distribues
2 La structure des phrases est difficile a gerer.On supprime la structure...
3 Les mots peuvent prendre plusieurs formes (pluriels...)Plusieurs approches possibles... (cf plus loin)
4 Machine learning + donnees en grande dimension = problemesOn cherche des heuristiques pour supprimer les mots inutiles.
Vincent Guigue Analyse semantique 2/48
BOW Modeles proba. Semantique LSA Usages
Sacs de mots
Structure des phrases = cout important de traitement⇒ Elimination !
Document = comptage des differents mots qui le composent:
Representation bag of words
Soit V le vocabulaire et d un document: d ∈ N|V |
NB: d est (presque toujours) un vecteur sparse, c’est a dire composeessentiellement de 0.
Vincent Guigue Analyse semantique 3/48
BOW Modeles proba. Semantique LSA Usages
Sur un exemple (credit Sergio Jimenez)
Vincent Guigue Analyse semantique 4/48
BOW Modeles proba. Semantique LSA Usages
Codage de l’information (sac de mots)
Document exemple:
I le bonheur est dans le pre
I la melodie du bonheur
Dictionnaire: le, la, du, bonheur, melodie, est, dans, pre
I Presence
I Comptage
I Frequence
I tf-idf (cf cours sur la classification de documents)
Vincent Guigue Analyse semantique 5/48
BOW Modeles proba. Semantique LSA Usages
Codage de l’information (sac de mots)
Document exemple:
I le bonheur est dans le pre
I la melodie du bonheur
Dictionnaire: le, la, du, bonheur, melodie, est, dans, pre
I Presence
le la du bonheur melodie est dans predoc1 1 0 0 1 0 1 1 1doc2 0 1 1 1 1 0 0 0
I Comptage
I Frequence
I tf-idf (cf cours sur la classification de documents)
Vincent Guigue Analyse semantique 5/48
BOW Modeles proba. Semantique LSA Usages
Codage de l’information (sac de mots)
Document exemple:
I le bonheur est dans le pre
I la melodie du bonheur
Dictionnaire: le, la, du, bonheur, melodie, est, dans, pre
I Presence
I Comptage
le la du bonheur melodie est dans predoc1 2 0 0 1 0 1 1 1doc2 0 1 1 1 1 0 0 0
I Frequence
I tf-idf (cf cours sur la classification de documents)
Vincent Guigue Analyse semantique 5/48
BOW Modeles proba. Semantique LSA Usages
Codage de l’information (sac de mots)
Document exemple:
I le bonheur est dans le pre
I la melodie du bonheur
Dictionnaire: le, la, du, bonheur, melodie, est, dans, pre
I PresenceI ComptageI Frequence
le la du bonheur melodie est dans predoc1 0.33 0 0 0.17 0 0.17 0.17 0.17doc2 0 0.25 0.25 0.25 0.25 0 0 0
Somme a 1 pour chaque document, importances des mots pondereespar la longueur du document
I tf-idf (cf cours sur la classification de documents)
Vincent Guigue Analyse semantique 5/48
BOW Modeles proba. Semantique LSA Usages
Aspects d’implementation
I Combien de mots distincts dans un corpus de 10000 revues de films(en anglais)?
Exemple:Story of a man who has unnatural feelings for a pig. Starts out with a opening scenethat is a terrific example of absurd comedy. A formal orchestra audience is turned intoan insane, violent mob by the crazy chantings of it’s singers. Unfortunately it staysabsurd the WHOLE time with no general narrative eventually making it just too offputting. Even those from the era should be turned off. The cryptic dialogue wouldmake Shakespeare seem easy to a third grader. On a technical level it’s better thanyou might think with some good cinematography by future great Vilmos Zsigmond.Future stars Sally Kirkland and Frederic Forrest can be seen briefly.
I 104077 ... Quelle taille pour stocker ce corpus?I 104 × 105 = 109 = 4Go... Contre 100Mo de donnees brutes sur le
disque. Comment mieux gerer cela?I Codage sparse de l’information (seules les entrees non nulles sont
codees). Quelle structure de donnees?I Table de hash
Vincent Guigue Analyse semantique 6/48
BOW Modeles proba. Semantique LSA Usages
Aspects d’implementation
I Combien de mots distincts dans un corpus de 10000 revues de films(en anglais)?
Exemple:Story of a man who has unnatural feelings for a pig. Starts out with a opening scenethat is a terrific example of absurd comedy. A formal orchestra audience is turned intoan insane, violent mob by the crazy chantings of it’s singers. Unfortunately it staysabsurd the WHOLE time with no general narrative eventually making it just too offputting. Even those from the era should be turned off. The cryptic dialogue wouldmake Shakespeare seem easy to a third grader. On a technical level it’s better thanyou might think with some good cinematography by future great Vilmos Zsigmond.Future stars Sally Kirkland and Frederic Forrest can be seen briefly.
I 104077 ... Quelle taille pour stocker ce corpus?
I 104 × 105 = 109 = 4Go... Contre 100Mo de donnees brutes sur ledisque. Comment mieux gerer cela?
I Codage sparse de l’information (seules les entrees non nulles sontcodees). Quelle structure de donnees?
I Table de hash
Vincent Guigue Analyse semantique 6/48
BOW Modeles proba. Semantique LSA Usages
Aspects d’implementation
I Combien de mots distincts dans un corpus de 10000 revues de films(en anglais)?
Exemple:Story of a man who has unnatural feelings for a pig. Starts out with a opening scenethat is a terrific example of absurd comedy. A formal orchestra audience is turned intoan insane, violent mob by the crazy chantings of it’s singers. Unfortunately it staysabsurd the WHOLE time with no general narrative eventually making it just too offputting. Even those from the era should be turned off. The cryptic dialogue wouldmake Shakespeare seem easy to a third grader. On a technical level it’s better thanyou might think with some good cinematography by future great Vilmos Zsigmond.Future stars Sally Kirkland and Frederic Forrest can be seen briefly.
I 104077 ... Quelle taille pour stocker ce corpus?I 104 × 105 = 109 = 4Go... Contre 100Mo de donnees brutes sur le
disque. Comment mieux gerer cela?
I Codage sparse de l’information (seules les entrees non nulles sontcodees). Quelle structure de donnees?
I Table de hash
Vincent Guigue Analyse semantique 6/48
BOW Modeles proba. Semantique LSA Usages
Aspects d’implementation
I Combien de mots distincts dans un corpus de 10000 revues de films(en anglais)?
Exemple:Story of a man who has unnatural feelings for a pig. Starts out with a opening scenethat is a terrific example of absurd comedy. A formal orchestra audience is turned intoan insane, violent mob by the crazy chantings of it’s singers. Unfortunately it staysabsurd the WHOLE time with no general narrative eventually making it just too offputting. Even those from the era should be turned off. The cryptic dialogue wouldmake Shakespeare seem easy to a third grader. On a technical level it’s better thanyou might think with some good cinematography by future great Vilmos Zsigmond.Future stars Sally Kirkland and Frederic Forrest can be seen briefly.
I 104077 ... Quelle taille pour stocker ce corpus?I 104 × 105 = 109 = 4Go... Contre 100Mo de donnees brutes sur le
disque. Comment mieux gerer cela?I Codage sparse de l’information (seules les entrees non nulles sont
codees). Quelle structure de donnees?
I Table de hash
Vincent Guigue Analyse semantique 6/48
BOW Modeles proba. Semantique LSA Usages
Aspects d’implementation
I Combien de mots distincts dans un corpus de 10000 revues de films(en anglais)?
Exemple:Story of a man who has unnatural feelings for a pig. Starts out with a opening scenethat is a terrific example of absurd comedy. A formal orchestra audience is turned intoan insane, violent mob by the crazy chantings of it’s singers. Unfortunately it staysabsurd the WHOLE time with no general narrative eventually making it just too offputting. Even those from the era should be turned off. The cryptic dialogue wouldmake Shakespeare seem easy to a third grader. On a technical level it’s better thanyou might think with some good cinematography by future great Vilmos Zsigmond.Future stars Sally Kirkland and Frederic Forrest can be seen briefly.
I 104077 ... Quelle taille pour stocker ce corpus?I 104 × 105 = 109 = 4Go... Contre 100Mo de donnees brutes sur le
disque. Comment mieux gerer cela?I Codage sparse de l’information (seules les entrees non nulles sont
codees). Quelle structure de donnees?I Table de hash
Vincent Guigue Analyse semantique 6/48
BOW Modeles proba. Semantique LSA Usages
Implementation (2)
I Table de hash...⇒ aucun operateur !
I Chercher des implementation de table pour le codage de matrices =sparse matrix
I Plusieurs options
◦ codage par ligne, par colonne, en liste chainee...
I Et faire le lien avec les bibliotheque riches:
◦ en python les matrices sparses fonctionnent plutot bien avec numpy
Vincent Guigue Analyse semantique 7/48
BOW Modeles proba. Semantique LSA Usages
Implementation (2)
I Table de hash...⇒ aucun operateur !
I Chercher des implementation de table pour le codage de matrices =sparse matrix
I Plusieurs options
◦ codage par ligne, par colonne, en liste chainee...
I Et faire le lien avec les bibliotheque riches:
◦ en python les matrices sparses fonctionnent plutot bien avec numpy
Vincent Guigue Analyse semantique 7/48
BOW Modeles proba. Semantique LSA Usages
Implementation (2)
I Table de hash...⇒ aucun operateur !
I Chercher des implementation de table pour le codage de matrices =sparse matrix
I Plusieurs options
◦ codage par ligne, par colonne, en liste chainee...
I Et faire le lien avec les bibliotheque riches:
◦ en python les matrices sparses fonctionnent plutot bien avec numpy
Vincent Guigue Analyse semantique 7/48
BOW Modeles proba. Semantique LSA Usages
Implementation (2)
I Table de hash...⇒ aucun operateur !
I Chercher des implementation de table pour le codage de matrices =sparse matrix
I Plusieurs options
◦ codage par ligne, par colonne, en liste chainee...
I Et faire le lien avec les bibliotheque riches:
◦ en python les matrices sparses fonctionnent plutot bien avec numpy
Vincent Guigue Analyse semantique 7/48
BOW Modeles proba. Semantique LSA Usages
Evolution du vocabulaire
I En general, on considere qu’il y a une loi logarithmique entre lenombre de documents et le nombre de mots.
I Sur l’exemple des revues de films:
0 5000 10000 15000 20000 250000
50000
100000
150000
200000
I Il y a egalement une regle sur les frequences d’apparition des mots:
Vincent Guigue Analyse semantique 8/48
BOW Modeles proba. Semantique LSA Usages
Evolution du vocabulaire
I En general, on considere qu’il y a une loi logarithmique entre lenombre de documents et le nombre de mots.
I Sur l’exemple des revues de films:
I Il y a egalement une regle sur les frequences d’apparition des mots:
0 50 100 150 200 250 300nb occurences
0
2
4
6
8
10
12lo
g n
b m
ots
Vincent Guigue Analyse semantique 8/48
BOW Modeles proba. Semantique LSA Usages
Extensions
I Modele de N-grams: codage des groupes de mots
◦ very good◦ not good◦ sont des entrees du dictionnaire... dont la taille explose!
I Lemmatisation/racinisation
◦ 1 seule entree pour les mots de meme racine
Vincent Guigue Analyse semantique 9/48
BOW Modeles proba. Semantique LSA Usages
Aspects industriels
1 Recuperation/importation d’un corpus
◦ Lecture de format XML◦ Template NLTK...
2 Optimisation d’un modele.
◦ Campagne d’experience (d’abord grossiere - codage, choix modele...-,puis fine - regularisation...)
◦ Assez long... Mais essentielle◦ Le savoir-faire est ici
3 Evaluation des performances (souvent en meme temps que la phased’optimisation)
◦ Usage de la validation croisee
4 Apprentissage + packaging du modele final
◦ Definition des formats IO◦ Mode de fonctionnement : API, service web...◦ Documentation
Vincent Guigue Analyse semantique 10/48
BOW Modeles proba. Semantique LSA Usages
Evaluation de vos TP
I Montrer que vous etes capables de realiser une campagned’experiences:
◦ Courbes de performances◦ Analyse de ces courbes
I Montrer que vous etes capable de valoriser un modele
I Concretement:
◦ Mise au propre de votre code◦ Integration des experiences dans une boucle (ou plusieurs)◦ Analyse qualitative du modele final (tri des poids)◦ OPT: construction de nuages de mots...
Vincent Guigue Analyse semantique 11/48
BOW Modeles proba. Semantique LSA Usages
BOW
Modeles probabilistes
Semantique
LSA
Usages
Vincent Guigue Analyse semantique 12/48
BOW Modeles proba. Semantique LSA Usages
Caracteriser des distributions...
Motivations = resumer des informations complexes
Distribution de lettres/mots/n-grammes de mots = ...
I caracteriser une langue,
I caracteriser un auteur,
I caracteriser une thematique,
I caracteriser une opinion,
I caracteriser des sentiments,
I ...
⇒ Comprendre/visualiser les objets que l’on manipule pour mieux lestraiter
Vincent Guigue Analyse semantique 13/48
BOW Modeles proba. Semantique LSA Usages
... Mais quelles distributions ?
I langue : distribution brute de lettres ?
I style : distribution des fins de mots, des espaces, des articles, desPOS-tag ?
I theme : mots-cles, champs lexicaux ?
I ...
(1) chaque application requiert des traitements specifiques(2) la representation est souvent parametrique
Vincent Guigue Analyse semantique 14/48
BOW Modeles proba. Semantique LSA Usages
Extraire une distribution de lettres
I Processus:
1 Trouver une source... www.gutenberg.org
2 Les trois mousquetaires, Arsene Lupin,...3 Comptage + normalisation
I Resultat:
I Discussion:
Vincent Guigue Analyse semantique 15/48
BOW Modeles proba. Semantique LSA Usages
Extraire une distribution de lettresI Processus:
1 Trouver une source... www.gutenberg.org
2 Les trois mousquetaires, Arsene Lupin,...3 Comptage + normalisation
I Resultat:
a b c d e f g h i j k l m n o p q r s t u v w x y z0.00
0.02
0.04
0.06
0.08
0.10
0.12
0.14
0.16
0.18
pro
ba
I Discussion:Vincent Guigue Analyse semantique 15/48
BOW Modeles proba. Semantique LSA Usages
Extraire une distribution de lettresI Processus:
1 Trouver une source... www.gutenberg.org
2 Les trois mousquetaires, Arsene Lupin,...3 Comptage + normalisation
I Resultat:I Discussion: choisir un referentiel !
a b c d e f g h i j k l m n o p q r s t u v w x y z0.00
0.02
0.04
0.06
0.08
0.10
0.12
0.14
0.16
0.18
pro
ba
0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l mn o p q r s t u v w x y z0.00
0.05
0.10
0.15
0.20
0.25
pro
ba
Vincent Guigue Analyse semantique 15/48
BOW Modeles proba. Semantique LSA Usages
Extraire une distribution de mots
I Le meme processus...... Sur les mots
I ⇒ choisir les delimiteurs de mots (pas toujours trivial: ’)
I Compter
I Calculer la distribution (=normaliser)
Vincent Guigue Analyse semantique 16/48
BOW Modeles proba. Semantique LSA Usages
Metrique entre distributions
Comparer les objets, comprendre leurs positions
I Logique entropique (cf theorie de l’information, Shannon...)
Idee:Calculer un ecart entre distribution = entropie croisee = divergence deKullback-Liebler
DKL(P‖Q) =∑
i
P(i) logP(i)
Q(i)
Attention: asymetrie de la mesure
I Metrique euclidienne ...
I Similarite cosine ...
Vincent Guigue Analyse semantique 17/48
BOW Modeles proba. Semantique LSA Usages
Metrique entre distributions
Comparer les objets, comprendre leurs positions
I Logique entropique (cf theorie de l’information, Shannon...)
I Metrique euclidienne ...
inefficace en grande dimension: toutes les distributions deviennentequidistantes
d(P,Q) = ‖P − Q‖ =
√∑
i
(P(i)− Q(i))2
I Similarite cosine ...
Vincent Guigue Analyse semantique 17/48
BOW Modeles proba. Semantique LSA Usages
Metrique entre distributions
Comparer les objets, comprendre leurs positions
I Logique entropique (cf theorie de l’information, Shannon...)
I Metrique euclidienne ...
I Similarite cosine ...
Idee:Chercher les points communs plutot que les differences :
sim(P,Q) =P · Q‖P‖‖Q‖ = cos( ~P, ~Q) ∝
∑
i
P(i)Q(i)
⇒ ≈ compter les points communs
Vincent Guigue Analyse semantique 17/48
BOW Modeles proba. Semantique LSA Usages
Experience jouet
1 Gutenberg:
◦ Les 3 mousquetaires, Arsene Lupin◦ Faust (Goethe), Kleine deutsche Sprachlehre◦ Moby Dick, War and Peace
KL
0 1 2 3 4 5
0
1
2
3
4
5
0.00
0.04
0.08
0.12
0.16
0.20
0.24
0.28
0.32
Eucl.
0 1 2 3 4 5
0
1
2
3
4
5
0.00
0.01
0.02
0.03
0.04
0.05
0.06
0.07
0.08
0.09
cos
0 1 2 3 4 5
0
1
2
3
4
5 0.944
0.952
0.960
0.968
0.976
0.984
0.992
1.000
Vincent Guigue Analyse semantique 18/48
BOW Modeles proba. Semantique LSA Usages
Experience jouet
1 Gutenberg:
◦ Les 3 mousquetaires, Arsene Lupin◦ Faust (Goethe), Kleine deutsche Sprachlehre◦ Moby Dick, War and Peace
Et avec les espaces et les nombres:
0 1 2 3 4 5
0
1
2
3
4
5
0.000
0.025
0.050
0.075
0.100
0.125
0.150
0.175
0.200
0.225
0 1 2 3 4 5
0
1
2
3
4
5
0.000
0.015
0.030
0.045
0.060
0.075
0.090
0.105
0 1 2 3 4 5
0
1
2
3
4
5 0.968
0.972
0.976
0.980
0.984
0.988
0.992
0.996
1.000
Vincent Guigue Analyse semantique 18/48
BOW Modeles proba. Semantique LSA Usages
Distribution de mots
I Les 3 Mousquetaires, Arsene Lupin, Boule de Suif, Le Horla, LeComte de Monte-Cristo
I Etape 1: trouver un dictionnaire commun:
1 # r e s = t o u s l e s d i c t i o n n a i r e s2 d i c o = s e t ( r e s [ 0 ] . k e y s ( ) )3 p r i n t l e n ( d i c o )4 f o r i i n range ( 1 , l e n ( r e s ) ) :5 d i c o = d i c o . i n t e r s e c t i o n ( r e s [ i ] . k e y s ( ) )6 p r i n t l e n ( d i c o )
1 141302 55253 33814 26695 2536
I Etape 2: metriques
0 1 2 3 4
0
1
2
3
4
0.00
0.04
0.08
0.12
0.16
0.20
0.24
0.28
0.32
0.36
0 1 2 3 4
0
1
2
3
4
0.000
0.004
0.008
0.012
0.016
0.020
0.024
0.028
0.032
0 1 2 3 4
0
1
2
3
40.954
0.960
0.966
0.972
0.978
0.984
0.990
0.996
Vincent Guigue Analyse semantique 19/48
BOW Modeles proba. Semantique LSA Usages
dist(d1, d2) ≈ reponse a une requete
Moteur de recherche :
I Repondre a une requete r : dist(r , d)
I Garantir une diversite des resultats affiches: dist(di , dj)
I Google: mesurer l’autorite de la source
I ...
Vincent Guigue Analyse semantique 20/48
BOW Modeles proba. Semantique LSA Usages
dist(d1, d2) ≈ reponse a une requete
Moteur de recherche :
I Repondre a une requete r : dist(r , d)
I Garantir une diversite des resultats affiches: dist(di , dj)
I Google: mesurer l’autorite de la source
I ...
Vincent Guigue Analyse semantique 20/48
BOW Modeles proba. Semantique LSA Usages
dist(d1, d2) ≈ reponse a une requete
Moteur de recherche :
I Repondre a une requete r : dist(r , d)
I Garantir une diversite des resultats affiches: dist(di , dj)
I Google: mesurer l’autorite de la source
I ...
La metrique la plus utilisee: BM25
score(D,Q) =n∑
i=1
IDF(qi ) ·f (qi ,D) · (k1 + 1)
f (qi ,D) + k1 ·(
1− b + b · |D|avgdl
)
IDF(qi ) = logN − n(qi ) + 0.5
n(qi ) + 0.5, b = 0.75, k1 ∈ [1.2, 2.0]
... La suite en cours de RI !
Vincent Guigue Analyse semantique 20/48
BOW Modeles proba. Semantique LSA Usages
BOW
Modeles probabilistes
Semantique
LSA
Usages
Vincent Guigue Analyse semantique 21/48
BOW Modeles proba. Semantique LSA Usages
La question de la semantique
Objectif
(mieux) comprendre [automatiquement] la signification d’un mot, d’untexte
⇒ Applications
I moteur de recherche
I classification thematique
I extraction d’informations
I resume automatique
I classification d’opinions
Corrolaire:Eliminer le semantic gap
Vincent Guigue Analyse semantique 22/48
BOW Modeles proba. Semantique LSA Usages
Ressources linguistiques
WordNet (et wordnets)
I Description: Representation hierarchique des concepts.
◦ Nouns◦ Verbs◦ Adjectives
Vincent Guigue Analyse semantique 23/48
BOW Modeles proba. Semantique LSA Usages
Ressources linguistiques
WordNet (et wordnets)
I Description: Representation hierarchique des concepts.
◦ Nouns
· hypernyms: Y is a hypernym of X if every X is a (kind of) Y (canineis a hypernym of dog)· hyponyms: Y is a hyponym of X if every Y is a (kind of) X (dog is a
hyponym of canine)· coordinate terms: Y is a coordinate term of X if X and Y share a
hypernym (wolf is a coordinate term of dog, and dog is a coordinateterm of wolf)· meronym: Y is a meronym of X if Y is a part of X (window is a
meronym of building)· holonym: Y is a holonym of X if X is a part of Y (building is a
holonym of window)
◦ Verbs◦ Adjectives
Vincent Guigue Analyse semantique 23/48
BOW Modeles proba. Semantique LSA Usages
Ressources linguistiques
WordNet (et wordnets)
I Description: Representation hierarchique des concepts.
◦ Nouns◦ Verbs
· hypernym: the verb Y is a hypernym of the verb X if the activity X isa (kind of) Y (to perceive is an hypernym of to listen)· troponym: the verb Y is a troponym of the verb X if the activity Y is
doing X in some manner (to lisp is a troponym of to talk)· entailment: the verb Y is entailed by X if by doing X you must be
doing Y (to sleep is entailed by to snore)· coordinate terms: those verbs sharing a common hypernym (to lisp
and to yell)
◦ Adjectives
Vincent Guigue Analyse semantique 23/48
BOW Modeles proba. Semantique LSA Usages
Ressources linguistiques
WordNet (et wordnets)
I Description: Representation hierarchique des concepts.
◦ Nouns◦ Verbs◦ Adjectives
· Antomyms / Synonyms
Vincent Guigue Analyse semantique 23/48
BOW Modeles proba. Semantique LSA Usages
WordNet : Exemple
Exemples d’informations recuperables
dog, domestic dog, Canis familiaris
=> canine, canid
=> carnivore
=> placental, placental mammal, eutherian, eutherian mammal
=> mammal
=> vertebrate, craniate
=> chordate
=> animal, animate being, beast, brute, creature, fauna
=> ...
Credit: wikipedia
Vincent Guigue Analyse semantique 24/48
BOW Modeles proba. Semantique LSA Usages
WordNet: Usages
I Notions de distance
◦ longueur du chemin dans l’arbre,◦ longueur du chemin dans le graphe des synonymes,◦ hauteur dans la hierarchie,◦ cf: Leacock Chodorow (1998), Jiang Conrath (1997), Resnik (1995),
Lin (1998), Wu Palmer (1993)
I Applications
◦ IR: Information Retrieval◦ Word Desambiguation◦ Text Classification◦ Machine Translation◦ Summarization
I Disponible dans NLTK (avec l’implementation des distances)
Vincent Guigue Analyse semantique 25/48
BOW Modeles proba. Semantique LSA Usages
WordNet: Limites
I Depend des ressources existantes (langues...)
I Non adapte a des domaines specifiques (uniquement pour unvocabulaire general)
Ouvertures:
I Extensions statistiques possibles (traductions, heuristiques dediffusion...)
Vincent Guigue Analyse semantique 26/48
BOW Modeles proba. Semantique LSA Usages
Approche statistique: Semantique vectorielle
I Modelisation: comptage des occurrences
X =
tj↓
di →
x1,1 . . . x1,D
.... . .
...xN,1 . . . xN,D
I Proposition: metrique (similarite) = correlation entre lesrepresentations des termes:
s(j , k) = 〈tj , tk〉,Normalise: sn(j , k) = cos(θ) =tj · tq‖tj‖ ‖tq‖
◦ Si les termes apparaissent dans les memes documents, ils sontsimilaires
◦ Matrice de similarite = XTX ∈ RD×D
Vincent Guigue Analyse semantique 27/48
BOW Modeles proba. Semantique LSA Usages
Approche statistique: LSA
I LSA: Latent Semantic Analysis
I Idee: factorisation de la matrice = regrouper les termes dont le sensest similaire
I Approche : decomposition en valeurs singulieres
XT = U Σ VT
di di
↓ ↓
tj →
x1,1 . . . x1,N
.... . .
...
xD,1 . . . xD,N
=
u1
. . .
ul
σ1 . . . 0...
. . ....
0 . . . σl
(
v1)
...(vl
)
I Les similarite se calculent de la meme facon
credit: wikipedia
Vincent Guigue Analyse semantique 28/48
BOW Modeles proba. Semantique LSA Usages
Discussion : SVD, LSA
Lorsqu’on selectionne les k plus grandes valeurs singulieres, ainsi que lesvecteurs singuliers correspondants dans U et V, on obtient uneapproximation de rang k de la matrice des occurrences
I Metrique efficace entre les termes, entre les documents
◦ Amelioration qualitative par rapport a la metrique initiale
I Usages:
◦ Clustering (chaque valeur singuliere est un topic)◦ Detection des synonymes (pas toujours efficace)◦ Amelioration de la RI◦ Representation des connaissances◦ Metrique entre documents/phrases:
· QA automatise· Resume automatique
Thomas K. Landauer, Peter W. Foltz et Darrell Laham, Introduction to Latent Semantic Analysis, Discourse Processes, vol. 25, 1998, p.259-284
Vincent Guigue Analyse semantique 29/48
BOW Modeles proba. Semantique LSA Usages
LSA: limites
I Repose sur les sacs de mots, pas de gestion :
◦ des negations,◦ de la proximite dans le document (cf tailles des documents traites)◦ de la structure des phrases/documents
I Depend du corpus utilise
◦ problemes avec les mots peu frequents,◦ biais lies au domaine du corpus
I Pas de modelisation de la polysemie
Vincent Guigue Analyse semantique 30/48
BOW Modeles proba. Semantique LSA Usages
LSA: variante
I Factorisation matricielle non-negative
espace de D mots, ou Xid est le nombre d’occurrences (eventuellement norma-lise) du mot d’indice d dans le document d’indice i. Apres application de laDVS, nous obtenons la matrice B = UK , dont chaque ligne contient la nou-velle representation des documents dans K , le nouvel espace defini par Kvecteurs de base. Ces vecteurs de base sont donnes par les lignes de la matriceC = ⇥KV T
K . Le k-ieme vecteur de base Ck. ↵ d est un vecteur dans l’espacedes mots : la d-ieme composante correspond au mot d’indice d.
Remarquons que la DVS pose des problemes d’interpretabilite. En e⌅et, lescomposantes de Ck. peuvent etre positives ou negatives, et ne peuvent doncpas etre interpretes comme les occurrences de mots dans un ”document type”(un document imaginaire absent de la base de documents initiaux, dont nousaurions aime nous servir pour l’interpretation des resultats). La decompositionen valeurs singulieres ne permet donc pas d’exprimer un document comme unecombinaison lineaire de documents type.
4.2 Factorisation en matrices non negatives
La factorisation en matrices non negatives (FMN) est une methode factorisa-tion matricielle, introduite par [25]. Elle permet d’approximer une matrice X detaille (m⇥D) et dont les elements sont tous positifs, grace a une decompositionde la forme X ⇧ BC, ou B et C sont des matrices (m⇥K) et (K⇥D). Les lignesde la matrice X decrivent m objets par autant de vecteurs de dimension D, leslignes de la matrice B contiennent les representations des memes objets dansun espace de dimension K < D, et la matrice C contient les K vecteurs de base.
L’originalite de la FMN reside dans les contraintes de non-negativite qu’elleimpose a B et C. Les auteurs montrent que ces contraintes obligent aux elementsdes matrices B et C a comporter beaucoup de 0. En particulier pour la ma-trice C, ils montrent que les vecteurs de base (contenus dans les lignes deC) se chevauchent rarement. La representation d’un objet comme une com-binaison lineaire de ces vecteurs de base, correspond alors a l’intuition d’unedecomposition par parties. Les conditions sous lesquelles la FMN permet ef-fectivement de retrouver les parties latentes d’un ensemble de donnees ont eteetudiees par [16]. La FMN a ete appliquee avec succes, notamment en recon-naissance des visages [25] (voir l’illustration ) et en classification de documentstextuels [34].
Revenons a l’application de la FMN aux donnees textuelles. Les vecteursde base Ck. ↵ D
+ sont maintenant a valeurs positives, et peuvent donc etreinterpretes de la maniere suivante. Le vecteur Ck. definit un document imagi-naire, appele ”document type”, et dans lequel le mot d’indice d est d’autantplus important que Ckd est eleve. Chaque document i est donc une combinai-son lineaire de ces documents type. De plus les coe⌥cients de la combinaisonlineaire (contenus dans le vecteur Bi. ↵ K
+ ) sont positifs. Nous pouvons doncinterpreter le coe⌥cient Bik comme une mesure de l’importance du documenttype k dans le document i. Plus Bik est grand, et plus le document type k ”ex-plique” le document i. Ce type d’interpretation n’est pas possible avec la DVSdecrite precedemment a cause de la presence de coe⌥cients negatifs.
12
Vincent Guigue Analyse semantique 31/48
BOW Modeles proba. Semantique LSA Usages
LSA: variante (2) k-means
I Trouver du sens = probleme de clustering
I Modelisation (toujours BOW):
X =
tj↓
di →
x1,1 . . . x1,D
.... . .
...xN,1 . . . xN,D
I Algorithme (simple) pour arriver a ca: CEMAppliquer sur la matrice d’occurrences avec une modelisationmultinomiale, = k-means
Quelle metrique utiliser?
Vincent Guigue Analyse semantique 32/48
BOW Modeles proba. Semantique LSA Usages
Distance euclidienne et malediction de ladimensionnalite
Soit une matrice de document(fictive) en 3 dimensions:
I normalisation tf
[ 1. 0. 0. ]
[ 0.5 0.5 0. ]
[ 0. 0. 1. ]
Ajout de dimensions:
1 X = np . where ( rand . rand ( 3 , dim )>0.99 , 1 . , 0 . )2 X [ : , : 3 ] = np . a r r a y ( [ [ 1 , 0 , 0 ] , [ 1 , 1 , 0 ] , [ 0 , 0 , 1 ] ] )3 X /= X . sum ( 1 ) . r e s h a p e ( 3 , 1)4 D = np . a r r a y ( [ [ ( ( X [ i ] − X [ j ] )∗∗ 2 ) . sum ( ) f o r i i n range ( l e n (X ) ) ] f o r j i n range ( l e n (X ) ) ] )5 D2 = np . a r r a y ( [ [ ( ( X [ i ] ∗ X [ j ] ) ) . sum ( ) f o r i i n range ( l e n (X ) ) ] f o r j i n range ( l e n (X ) ) ] )
Vincent Guigue Analyse semantique 33/48
BOW Modeles proba. Semantique LSA Usages
Distance euclidienne et malediction de ladimensionnalite
Soit une matrice de document(fictive) en 3 dimensions:
I normalisation tf
[ 1. 0. 0. ]
[ 0.5 0.5 0. ]
[ 0. 0. 1. ]
Ajout de dimensions:
1 X = np . where ( rand . rand ( 3 , dim )>0.99 , 1 . , 0 . )2 X [ : , : 3 ] = np . a r r a y ( [ [ 1 , 0 , 0 ] , [ 1 , 1 , 0 ] , [ 0 , 0 , 1 ] ] )3 X /= X . sum ( 1 ) . r e s h a p e ( 3 , 1)4 D = np . a r r a y ( [ [ ( ( X [ i ] − X [ j ] )∗∗ 2 ) . sum ( ) f o r i i n range ( l e n (X ) ) ] f o r j i n range ( l e n (X ) ) ] )5 D2 = np . a r r a y ( [ [ ( ( X [ i ] ∗ X [ j ] ) ) . sum ( ) f o r i i n range ( l e n (X ) ) ] f o r j i n range ( l e n (X ) ) ] )
Vincent Guigue Analyse semantique 33/48
BOW Modeles proba. Semantique LSA Usages
Curse of dimensionality
Distance euclidienne
Dim = 3
[ 0. 0.5 2. ]
[ 0.5 0. 1.5]
[ 2. 1.5 0. ]
Dim = 40
[ 0. 0.5 1.5 ]
[ 0.5 0. 1.33]
[ 1.5 1.33 0. ]
Dim = 1000
[ 0. 0.19 0.21]
[ 0.19 0. 0.13]
[ 0.21 0.13 0. ]
Produit scalaire (similarite cosinus)
Dim = 3
[ 1. 0.5 0. ]
[ 0.5 0.5 0. ]
[ 0. 0. 1. ]
Dim = 40
[ 0.5 0.16 0. ]
[ 0.16 0.33 0. ]
[ 0. 0. 1. ]
Dim=1000
[ 0.14 0.01 0. ]
[ 0.01 0.07 0.00]
[ 0. 0.00 0.07]
Vincent Guigue Analyse semantique 34/48
BOW Modeles proba. Semantique LSA Usages
Generalisation probabiliste CEM
I k clusters
I Proba a priori : πk = p(clusterk)
I Probabilite d’un mot dans un cluster : p(wj |θk) = Ed∈Dk[wj ]
I Affectation d’un document dans un cluster (hard assignment):p(yi = k) = 1/0
yi = arg maxk
p(di |θk) = arg maxk
∑
wj∈dilog p(wj |θk)
yi = arg maxk
∑
j
tijθjk , θjk = log p(wj |θk)
Algo:
Init. Parametres OU affectation
C/E Calcul des affectations des documents
M Mise a jour des parametres
Vincent Guigue Analyse semantique 35/48
BOW Modeles proba. Semantique LSA Usages
PLSA
Probabilistic Latent Semantic Analysis
I Idee: CEM ⇒ EM (un peu plus complexe)
I Un mot appartient a tous les clusters avec des probabilites
I Modelisation graphique (=comment sont generer les mots):
Fig. 1 – Modele graphique de PLSA.
est une paire (d, w), c’est a dire l’occurrence jointe des deux evenement d et w.Remarquons que cela contraste fortement avec la representation vectorielle, ouce que nous entendons par ”observation” est l’observation d’un vecteur. En cen-trant ainsi la representation des donnees sur la notion de co-occurrence plutotque sur celle de vecteur, les donnees de co-occurrence permettent de modeliserde nouveaux phenomenes.
Les donnees textuelles se pretent naturellement a une modelisation modelisercomme des donnees de co-occurrence. Les deux variables discretes considereessont un indice d identifiant chaque document de la collection ( d ↵ {1, ..., D}) et un indice w identifiant chaque mot de la collection ( w ↵ {1, ...,W}). Lacollection de documents est modelisee non plus comme un ensemble de vecteurs(ou chaque vecteur represente un document), mais comme un ensemble de paires(d, w), ou chaque paire est l’observation de la realisation de l’indice de mot w etde l’indice de document d. Autrement dit ce n’est plus le document n’est plus aucentre de la modelisation des donnees textuelles, mais la paire de co-occurrenceentre un mot et un document.
3.2.2 Probabilistic latent semantic analysis
Le modele probabilistic latent semantic analysis (PLSA) [21] est un modelestandard de la litterature pour modeliser des donnees textuelles. C’est une ex-tension probabiliste du modele LSI [12]. Avec le modele PLSA, une collection dedocuments est modelisee comme un ensemble de paires (d, w) ou d ↵ {1, ..., D}est un indice de document et w ↵ {1, ...,W} est un indice de mot. Chaque do-cument est represente par une distribution de probabilite sur les K valeurs dela variable thematique latente �, et chaque valeur de � correspond a une dis-tribution de probabilite sur l’ensemble des mots de la collection. Le processusgeneratif correspondant est le suivant :
– un document d est tire suivant la probabilite P (d),– une thematique � est tiree suivant la probabilite P (�|d),– un mot w est tire suivant la probabilite P (w|�).Le modele graphique de PLSA est illustre dans la figure 1.
Apprentissage du modele Les parametres du modele P (d), P (�|d), et P (w|�)sont estimes suivant le principe du maximum de vraisemblance. La fonction de
6
I On estime donc des matrices:
◦ p(d)◦ p(α|d)◦ p(w |α)
Vincent Guigue Analyse semantique 36/48
BOW Modeles proba. Semantique LSA Usages
PLSA: algorithme
log-vraisemblance a maximiser est :
L =
D�
d=1
W�
w=1
n(d, w)log P (d, w) (3)
La variable thematique � n’etant pas observee, les parametres du modelesont estimes suivant la procedure Esperance Maximisation (EM) [14]. L’etapeE consiste a estimer les probabilites a posteriori de la variable latente �. Laformule de mise a jour est :
P (�|d, w) =P (d)P (�|d)P (w|�)⌥
��⇤A P (d)P (�⇥|d)P (w|�⇥)
L’etape M consiste a re-estimer les parametres du modele, afin qu’ils maxi-misent l’esperance de la log-vraisemblance. Les formules de mise a jour corres-pondantes sont :
P (d) =
⌥w⇤W n(d, w)⌥
d�⇤D⌥
w⇤W n(d⇥, w)
P (�|d) =
⌥w⇤W n(d, w)P (�|d, w)⌥
��⇤A⌥
w⇤W n(d, w)P (�⇥|d, w)
P (w|�) =
⌥d⇤D n(d, w)P (�|d, w)⌥
w�⇤W⌥
d⇤D n(d, w⇥)P (�|d, w⇥)
Limites du modele Comme nous l’avons souligne, le modele PLSA representechaque document comme une distribution de probabilite {p(� = 1|d), ..., p(� =A|d)} sur les thematiques. Les probabilites p(�|d) sont autant de parametresappris par l’algorithme EM decrit precedemment, et en particulier il n’y a pasde processus generatif pour modeliser ces probabilites. Cela a deux consequencesprincipales. Premierement, le nombre de parametres du modele augmente lineairementavec le nombre de documents dans la collection, ce qui peut causer des problemesde surapprentissage. Deuxiemement, les parametres p(�|d) ne peuvent etre es-times que pour des documents presents dans la base d’apprentissage. Il faut donctrouver un moyen de traiter de nouveaux documents, c’est a dire de determinerles parametres p(�|d⇥) pour un document d⇥qui n’etait pas dans la base d’ap-prentissage.
Remarquons egalement que le modele PLSA n’est capable d’extraire qu’uneliste ”plate” de thematiques. Or en pratique, il existe souvent des relationshierarchiques entre les di⌅erentes thematiques presentes dans un corpus de docu-ments. Une thematique generale sur le sport peut par exemple inclure plusieurssous-thematiques relatives a des sports di⌅erents. Plusieurs travaux proposentde modeliser cet aspect hierarchique entre les thematiques. Citons notamment[18] qui proposent une extension de PLSA, dans le cadre du clustering et de laclassification de documents.
3.2.3 Extension de PLSA
Dans cette section nous presentons une extension du modele PLSA proposeepar [23]. Alors qu’avec PLSA les mots ne sont generes que par les thematiques,
7
I Expectation (proba des variables manquantes)
I Maximization
Vincent Guigue Analyse semantique 37/48
BOW Modeles proba. Semantique LSA Usages
PLSA: algorithme
log-vraisemblance a maximiser est :
L =
D�
d=1
W�
w=1
n(d, w)log P (d, w) (3)
La variable thematique � n’etant pas observee, les parametres du modelesont estimes suivant la procedure Esperance Maximisation (EM) [14]. L’etapeE consiste a estimer les probabilites a posteriori de la variable latente �. Laformule de mise a jour est :
P (�|d, w) =P (d)P (�|d)P (w|�)⌥
��⇤A P (d)P (�⇥|d)P (w|�⇥)
L’etape M consiste a re-estimer les parametres du modele, afin qu’ils maxi-misent l’esperance de la log-vraisemblance. Les formules de mise a jour corres-pondantes sont :
P (d) =
⌥w⇤W n(d, w)⌥
d�⇤D⌥
w⇤W n(d⇥, w)
P (�|d) =
⌥w⇤W n(d, w)P (�|d, w)⌥
��⇤A⌥
w⇤W n(d, w)P (�⇥|d, w)
P (w|�) =
⌥d⇤D n(d, w)P (�|d, w)⌥
w�⇤W⌥
d⇤D n(d, w⇥)P (�|d, w⇥)
Limites du modele Comme nous l’avons souligne, le modele PLSA representechaque document comme une distribution de probabilite {p(� = 1|d), ..., p(� =A|d)} sur les thematiques. Les probabilites p(�|d) sont autant de parametresappris par l’algorithme EM decrit precedemment, et en particulier il n’y a pasde processus generatif pour modeliser ces probabilites. Cela a deux consequencesprincipales. Premierement, le nombre de parametres du modele augmente lineairementavec le nombre de documents dans la collection, ce qui peut causer des problemesde surapprentissage. Deuxiemement, les parametres p(�|d) ne peuvent etre es-times que pour des documents presents dans la base d’apprentissage. Il faut donctrouver un moyen de traiter de nouveaux documents, c’est a dire de determinerles parametres p(�|d⇥) pour un document d⇥qui n’etait pas dans la base d’ap-prentissage.
Remarquons egalement que le modele PLSA n’est capable d’extraire qu’uneliste ”plate” de thematiques. Or en pratique, il existe souvent des relationshierarchiques entre les di⌅erentes thematiques presentes dans un corpus de docu-ments. Une thematique generale sur le sport peut par exemple inclure plusieurssous-thematiques relatives a des sports di⌅erents. Plusieurs travaux proposentde modeliser cet aspect hierarchique entre les thematiques. Citons notamment[18] qui proposent une extension de PLSA, dans le cadre du clustering et de laclassification de documents.
3.2.3 Extension de PLSA
Dans cette section nous presentons une extension du modele PLSA proposeepar [23]. Alors qu’avec PLSA les mots ne sont generes que par les thematiques,
7
I Expectation (proba des variables manquantes)
log-vraisemblance a maximiser est :
L =D�
d=1
W�
w=1
n(d, w)log P (d, w) (3)
La variable thematique � n’etant pas observee, les parametres du modelesont estimes suivant la procedure Esperance Maximisation (EM) [14]. L’etapeE consiste a estimer les probabilites a posteriori de la variable latente �. Laformule de mise a jour est :
P (�|d, w) =P (d)P (�|d)P (w|�)⌥
��⇤A P (d)P (�⇥|d)P (w|�⇥)
L’etape M consiste a re-estimer les parametres du modele, afin qu’ils maxi-misent l’esperance de la log-vraisemblance. Les formules de mise a jour corres-pondantes sont :
P (d) =
⌥w⇤W n(d, w)⌥
d�⇤D⌥
w⇤W n(d⇥, w)
P (�|d) =
⌥w⇤W n(d, w)P (�|d, w)⌥
��⇤A⌥
w⇤W n(d, w)P (�⇥|d, w)
P (w|�) =
⌥d⇤D n(d, w)P (�|d, w)⌥
w�⇤W⌥
d⇤D n(d, w⇥)P (�|d, w⇥)
Limites du modele Comme nous l’avons souligne, le modele PLSA representechaque document comme une distribution de probabilite {p(� = 1|d), ..., p(� =A|d)} sur les thematiques. Les probabilites p(�|d) sont autant de parametresappris par l’algorithme EM decrit precedemment, et en particulier il n’y a pasde processus generatif pour modeliser ces probabilites. Cela a deux consequencesprincipales. Premierement, le nombre de parametres du modele augmente lineairementavec le nombre de documents dans la collection, ce qui peut causer des problemesde surapprentissage. Deuxiemement, les parametres p(�|d) ne peuvent etre es-times que pour des documents presents dans la base d’apprentissage. Il faut donctrouver un moyen de traiter de nouveaux documents, c’est a dire de determinerles parametres p(�|d⇥) pour un document d⇥qui n’etait pas dans la base d’ap-prentissage.
Remarquons egalement que le modele PLSA n’est capable d’extraire qu’uneliste ”plate” de thematiques. Or en pratique, il existe souvent des relationshierarchiques entre les di⌅erentes thematiques presentes dans un corpus de docu-ments. Une thematique generale sur le sport peut par exemple inclure plusieurssous-thematiques relatives a des sports di⌅erents. Plusieurs travaux proposentde modeliser cet aspect hierarchique entre les thematiques. Citons notamment[18] qui proposent une extension de PLSA, dans le cadre du clustering et de laclassification de documents.
3.2.3 Extension de PLSA
Dans cette section nous presentons une extension du modele PLSA proposeepar [23]. Alors qu’avec PLSA les mots ne sont generes que par les thematiques,
7
I Maximization
Vincent Guigue Analyse semantique 37/48
BOW Modeles proba. Semantique LSA Usages
PLSA: algorithme
log-vraisemblance a maximiser est :
L =
D�
d=1
W�
w=1
n(d, w)log P (d, w) (3)
La variable thematique � n’etant pas observee, les parametres du modelesont estimes suivant la procedure Esperance Maximisation (EM) [14]. L’etapeE consiste a estimer les probabilites a posteriori de la variable latente �. Laformule de mise a jour est :
P (�|d, w) =P (d)P (�|d)P (w|�)⌥
��⇤A P (d)P (�⇥|d)P (w|�⇥)
L’etape M consiste a re-estimer les parametres du modele, afin qu’ils maxi-misent l’esperance de la log-vraisemblance. Les formules de mise a jour corres-pondantes sont :
P (d) =
⌥w⇤W n(d, w)⌥
d�⇤D⌥
w⇤W n(d⇥, w)
P (�|d) =
⌥w⇤W n(d, w)P (�|d, w)⌥
��⇤A⌥
w⇤W n(d, w)P (�⇥|d, w)
P (w|�) =
⌥d⇤D n(d, w)P (�|d, w)⌥
w�⇤W⌥
d⇤D n(d, w⇥)P (�|d, w⇥)
Limites du modele Comme nous l’avons souligne, le modele PLSA representechaque document comme une distribution de probabilite {p(� = 1|d), ..., p(� =A|d)} sur les thematiques. Les probabilites p(�|d) sont autant de parametresappris par l’algorithme EM decrit precedemment, et en particulier il n’y a pasde processus generatif pour modeliser ces probabilites. Cela a deux consequencesprincipales. Premierement, le nombre de parametres du modele augmente lineairementavec le nombre de documents dans la collection, ce qui peut causer des problemesde surapprentissage. Deuxiemement, les parametres p(�|d) ne peuvent etre es-times que pour des documents presents dans la base d’apprentissage. Il faut donctrouver un moyen de traiter de nouveaux documents, c’est a dire de determinerles parametres p(�|d⇥) pour un document d⇥qui n’etait pas dans la base d’ap-prentissage.
Remarquons egalement que le modele PLSA n’est capable d’extraire qu’uneliste ”plate” de thematiques. Or en pratique, il existe souvent des relationshierarchiques entre les di⌅erentes thematiques presentes dans un corpus de docu-ments. Une thematique generale sur le sport peut par exemple inclure plusieurssous-thematiques relatives a des sports di⌅erents. Plusieurs travaux proposentde modeliser cet aspect hierarchique entre les thematiques. Citons notamment[18] qui proposent une extension de PLSA, dans le cadre du clustering et de laclassification de documents.
3.2.3 Extension de PLSA
Dans cette section nous presentons une extension du modele PLSA proposeepar [23]. Alors qu’avec PLSA les mots ne sont generes que par les thematiques,
7
I Expectation (proba des variables manquantes)
I Maximization
log-vraisemblance a maximiser est :
L =
D�
d=1
W�
w=1
n(d, w)log P (d, w) (3)
La variable thematique � n’etant pas observee, les parametres du modelesont estimes suivant la procedure Esperance Maximisation (EM) [14]. L’etapeE consiste a estimer les probabilites a posteriori de la variable latente �. Laformule de mise a jour est :
P (�|d, w) =P (d)P (�|d)P (w|�)⌥
��⇤A P (d)P (�⇥|d)P (w|�⇥)
L’etape M consiste a re-estimer les parametres du modele, afin qu’ils maxi-misent l’esperance de la log-vraisemblance. Les formules de mise a jour corres-pondantes sont :
P (d) =
⌥w⇤W n(d, w)⌥
d�⇤D⌥
w⇤W n(d⇥, w)
P (�|d) =
⌥w⇤W n(d, w)P (�|d, w)⌥
��⇤A⌥
w⇤W n(d, w)P (�⇥|d, w)
P (w|�) =
⌥d⇤D n(d, w)P (�|d, w)⌥
w�⇤W⌥
d⇤D n(d, w⇥)P (�|d, w⇥)
Limites du modele Comme nous l’avons souligne, le modele PLSA representechaque document comme une distribution de probabilite {p(� = 1|d), ..., p(� =A|d)} sur les thematiques. Les probabilites p(�|d) sont autant de parametresappris par l’algorithme EM decrit precedemment, et en particulier il n’y a pasde processus generatif pour modeliser ces probabilites. Cela a deux consequencesprincipales. Premierement, le nombre de parametres du modele augmente lineairementavec le nombre de documents dans la collection, ce qui peut causer des problemesde surapprentissage. Deuxiemement, les parametres p(�|d) ne peuvent etre es-times que pour des documents presents dans la base d’apprentissage. Il faut donctrouver un moyen de traiter de nouveaux documents, c’est a dire de determinerles parametres p(�|d⇥) pour un document d⇥qui n’etait pas dans la base d’ap-prentissage.
Remarquons egalement que le modele PLSA n’est capable d’extraire qu’uneliste ”plate” de thematiques. Or en pratique, il existe souvent des relationshierarchiques entre les di⌅erentes thematiques presentes dans un corpus de docu-ments. Une thematique generale sur le sport peut par exemple inclure plusieurssous-thematiques relatives a des sports di⌅erents. Plusieurs travaux proposentde modeliser cet aspect hierarchique entre les thematiques. Citons notamment[18] qui proposent une extension de PLSA, dans le cadre du clustering et de laclassification de documents.
3.2.3 Extension de PLSA
Dans cette section nous presentons une extension du modele PLSA proposeepar [23]. Alors qu’avec PLSA les mots ne sont generes que par les thematiques,
7
Vincent Guigue Analyse semantique 37/48
BOW Modeles proba. Semantique LSA Usages
PLSA: resultats
Apprentissage�Statistique�����Ͳ P.�Gallinari 155
PLSA�as�a�graphical�model
°
°®
¦z
dzPzwPdwP
dwPdPwdP
)()()(
)(*)(),(
Boxes represent repeated samplingd wz
Corpus level
Document level
P(z|d) P(w|z)
DNd
Apprentissage�Statistique�����Ͳ P.�Gallinari 157
PLSA�Ͳ geometric�interpretation
• Topici is�a�point�on�the�word�simplex• Documents�are�constrained�to�lie�on�the�topic�simplex• Creates�a�bottleneck�in�document�representation
Topic simplex
topic2
topic1
topic3w2 w1
w3
Word simplex
Document d
¦ z
dzPzwPdwP )()()(
Vincent Guigue Analyse semantique 38/48
BOW Modeles proba. Semantique LSA Usages
LDA
Latent Dirichlet Allocation:
Fig. 3 – Modele graphique de LDA. Les boites correspondent a des tirages repetes desvariables aleatoires qu’elles contiennent. La boite exterieure represente les documents, la boiteinterieure represente la repetition du choix des thematiques et des mots a l’interieur d’undocument.
Complexite algorithmique Les auteurs montrent que l’etape E se calculeen O(|D| ⇥ |W| ⇥ |A| ⇥ |⇤|). L’etape M se calcule en O(|D| ⇥ |W| ⇥ |A| ⇥ |⇤|).La complexite totale de PLSA etendu est donc en O(|D|⇥ |W|⇥ |A|⇥ |⇤|⇥T ),ou T est le nombre maximal d’iterations.
3.3 Latent dirichlet allocation
Le modele latent dirichlet allocation (LDA) [6] determine un ensemble dethematiques latentes dans un ensemble de documents, chaque thematique etantrepresentee par une distribution de probabilite sur les mots. Chaque docu-ment est alors represente par comme une distribution de probabilite sur lesthematiques, c’est a dire par le vecteur de probabilites p(�|d). En revanche a ladi⌅erence de PLSA, le modele LDA suppose que ces vecteurs de probabilite nesont plus des parametres du modele, mais des vecteurs tires d’une distributionde probabilite de Dirichlet. Le modele LDA definit ainsi un modele generatif auniveau des documents, ce qui n’etait pas le cas de PLSA.
Avec le modele LDA, un document est genere de la maniere suivante. D’abordun vecteur ⌅ ↵ RK est tire de la distribution de Dirichlet. Ce vecteur est unedistribution de probabilite sur les thematiques (et verifie donc
⌥k ⌅k = 1 ),
et definit donc le poids de chaque thematique dans le document. Plus la com-posante ⌅k est grande, et plus la thematique a de chances d’apparaıtre dans ledocument. Puis pour generer chaque mot du document, une thematique est tireeselon la distribution multinomiale definie par ⌅ , et un mot est tire selon la dis-tribution de probabilite associee a la thematique choisie. Notons � le parametrede la distribution de Dirichlet et ⇥ l’ensemble des parametres des distributionsmultinomiales associees aux thematiques. Le modele graphique defini par LDAapparaıt dans la figure 3.
10
I Idee: ajouter un a priori sur la distribution des themes
I Apprentissage par Gibbs sampling (∼ MCMC)
Vincent Guigue Analyse semantique 39/48
BOW Modeles proba. Semantique LSA Usages
Echantillonnage de Gibbs
Sur un exemple:Probabilistic Mixture Models
(a)
0 0.5 1
0
0.5
1
p(xi | zi, µ,Σ) = N (xi | µzi, Σzi
)
p(zi | π) = Cat(zi | π)
θk = {µk, Σk}
Vincent Guigue Analyse semantique 40/48
BOW Modeles proba. Semantique LSA Usages
Echantillonnage de GibbsMixture Sampler Pseudocode
Vincent Guigue Analyse semantique 40/48
BOW Modeles proba. Semantique LSA Usages
LDA/PLSA: extensions
I Modele graphique... Assez souple
learn an eigen feature representation from a taskgraph representing features, instances and class la-bels. In a similar vein, Pan et al. (2010) proposed thespectral feature alignment (SFA) algorithm wheresome domain-independent words are used as abridge to construct a bipartite graph to model theco-occurrence relationship between domain-specificwords and domain-independent words. Feature clus-ters are generated by co-align domain-specific anddomain-independent words.
Graph-based approach has also been studied in(Wu et al., 2009) where a graph is built with nodesdenoting documents and edges denoting contentsimilarity between documents. The sentiment scoreof each unlabeled documents is recursively calcu-lated until convergence from its neighbors the ac-tual labels of source domain documents and pseudo-labels of target document documents. This approachwas later extended by simultaneously consideringrelations between documents and words from bothsource and target domains (Wu et al., 2010).
More recently, Seah et al. (2010) addressed theissue when the predictive distribution of class labelgiven input data of the domains differs and proposedPredictive Distribution Matching SVM learn a ro-bust classifier in the target domain by leveraging thelabeled data from only the relevant regions of multi-ple sources.
3 Joint Sentiment-Topic (JST) ModelAssume that we have a corpus with a collection of Ddocuments denoted by C = {d1, d2, ..., dD}; eachdocument in the corpus is a sequence of Nd wordsdenoted by d = (w1, w2, ..., wNd
), and each wordin the document is an item from a vocabulary indexwith V distinct terms denoted by {1, 2, ..., V }. Also,let S be the number of distinct sentiment labels, andT be the total number of topics. The generativeprocess in JST which corresponds to the graphicalmodel shown in Figure 1(a) is as follows:
• For each document d, choose a distributionºd ª Dir(∞).
• For each sentiment label l under document d,choose a distribution µd,l ª Dir(Æ).
• For each word wi in document d
– choose a sentiment label li ª Mult(ºd),
– choose a topic zi ª Mult(µd,li),– choose a word wi from 'li
zi, a Multino-
mial distribution over words conditionedon topic zi and sentiment label li.
w
z
NdS*T D
l
S
(a) JST model.
w
z
NdS*T D
l
SS
S
(b) Modified JST model.
Figure 1: JST model and its modified version.
Gibbs sampling was used to estimate the posteriordistribution by sequentially sampling each variableof interest, zt and lt here, from the distribution overthat variable given the current values of all othervariables and data. Letting the superscript °t de-note a quantity that excludes data from tth position,the conditional posterior for zt and lt by marginaliz-ing out the random variables ', µ, and º is
P (zt = j, lt = k|w, z°t, l°t,Æ,Ø, ∞) /N°t
wt,j,k+ Ø
N°tj,k + V Ø
·N°t
j,k,d + Æj,k
N°tk,d +
Pj Æj,k
·N°t
k,d + ∞
N°td + S∞
. (1)
where Nwt,j,k is the number of times word wt ap-peared in topic j and with sentiment label k, Nj,k
is the number of times words assigned to topic jand sentiment label k, Nj,k,d is the number of timesa word from document d has been associated withtopic j and sentiment label k, Nk,d is the number oftimes sentiment label k has been assigned to someword tokens in document d, and Nd is the total num-ber of words in the document collection.
In the modified JST model as shown in Fig-ure 1(b), we add an additional dependency link of
learn an eigen feature representation from a taskgraph representing features, instances and class la-bels. In a similar vein, Pan et al. (2010) proposed thespectral feature alignment (SFA) algorithm wheresome domain-independent words are used as abridge to construct a bipartite graph to model theco-occurrence relationship between domain-specificwords and domain-independent words. Feature clus-ters are generated by co-align domain-specific anddomain-independent words.
Graph-based approach has also been studied in(Wu et al., 2009) where a graph is built with nodesdenoting documents and edges denoting contentsimilarity between documents. The sentiment scoreof each unlabeled documents is recursively calcu-lated until convergence from its neighbors the ac-tual labels of source domain documents and pseudo-labels of target document documents. This approachwas later extended by simultaneously consideringrelations between documents and words from bothsource and target domains (Wu et al., 2010).
More recently, Seah et al. (2010) addressed theissue when the predictive distribution of class labelgiven input data of the domains differs and proposedPredictive Distribution Matching SVM learn a ro-bust classifier in the target domain by leveraging thelabeled data from only the relevant regions of multi-ple sources.
3 Joint Sentiment-Topic (JST) ModelAssume that we have a corpus with a collection of Ddocuments denoted by C = {d1, d2, ..., dD}; eachdocument in the corpus is a sequence of Nd wordsdenoted by d = (w1, w2, ..., wNd
), and each wordin the document is an item from a vocabulary indexwith V distinct terms denoted by {1, 2, ..., V }. Also,let S be the number of distinct sentiment labels, andT be the total number of topics. The generativeprocess in JST which corresponds to the graphicalmodel shown in Figure 1(a) is as follows:
• For each document d, choose a distributionºd ª Dir(∞).
• For each sentiment label l under document d,choose a distribution µd,l ª Dir(Æ).
• For each word wi in document d
– choose a sentiment label li ª Mult(ºd),
– choose a topic zi ª Mult(µd,li),– choose a word wi from 'li
zi, a Multino-
mial distribution over words conditionedon topic zi and sentiment label li.
w
z
NdS*T D
l
S
(a) JST model.
w
z
NdS*T D
l
SS
S
(b) Modified JST model.
Figure 1: JST model and its modified version.
Gibbs sampling was used to estimate the posteriordistribution by sequentially sampling each variableof interest, zt and lt here, from the distribution overthat variable given the current values of all othervariables and data. Letting the superscript °t de-note a quantity that excludes data from tth position,the conditional posterior for zt and lt by marginaliz-ing out the random variables ', µ, and º is
P (zt = j, lt = k|w, z°t, l°t,Æ,Ø, ∞) /N°t
wt,j,k+ Ø
N°tj,k + V Ø
·N°t
j,k,d + Æj,k
N°tk,d +
Pj Æj,k
·N°t
k,d + ∞
N°td + S∞
. (1)
where Nwt,j,k is the number of times word wt ap-peared in topic j and with sentiment label k, Nj,k
is the number of times words assigned to topic jand sentiment label k, Nj,k,d is the number of timesa word from document d has been associated withtopic j and sentiment label k, Nk,d is the number oftimes sentiment label k has been assigned to someword tokens in document d, and Nd is the total num-ber of words in the document collection.
In the modified JST model as shown in Fig-ure 1(b), we add an additional dependency link of
learn an eigen feature representation from a taskgraph representing features, instances and class la-bels. In a similar vein, Pan et al. (2010) proposed thespectral feature alignment (SFA) algorithm wheresome domain-independent words are used as abridge to construct a bipartite graph to model theco-occurrence relationship between domain-specificwords and domain-independent words. Feature clus-ters are generated by co-align domain-specific anddomain-independent words.
Graph-based approach has also been studied in(Wu et al., 2009) where a graph is built with nodesdenoting documents and edges denoting contentsimilarity between documents. The sentiment scoreof each unlabeled documents is recursively calcu-lated until convergence from its neighbors the ac-tual labels of source domain documents and pseudo-labels of target document documents. This approachwas later extended by simultaneously consideringrelations between documents and words from bothsource and target domains (Wu et al., 2010).
More recently, Seah et al. (2010) addressed theissue when the predictive distribution of class labelgiven input data of the domains differs and proposedPredictive Distribution Matching SVM learn a ro-bust classifier in the target domain by leveraging thelabeled data from only the relevant regions of multi-ple sources.
3 Joint Sentiment-Topic (JST) ModelAssume that we have a corpus with a collection of Ddocuments denoted by C = {d1, d2, ..., dD}; eachdocument in the corpus is a sequence of Nd wordsdenoted by d = (w1, w2, ..., wNd
), and each wordin the document is an item from a vocabulary indexwith V distinct terms denoted by {1, 2, ..., V }. Also,let S be the number of distinct sentiment labels, andT be the total number of topics. The generativeprocess in JST which corresponds to the graphicalmodel shown in Figure 1(a) is as follows:
• For each document d, choose a distributionºd ª Dir(∞).
• For each sentiment label l under document d,choose a distribution µd,l ª Dir(Æ).
• For each word wi in document d
– choose a sentiment label li ª Mult(ºd),
– choose a topic zi ª Mult(µd,li),– choose a word wi from 'li
zi, a Multino-
mial distribution over words conditionedon topic zi and sentiment label li.
w
z
NdS*T D
l
S
(a) JST model.
w
z
NdS*T D
l
SS
S
(b) Modified JST model.
Figure 1: JST model and its modified version.
Gibbs sampling was used to estimate the posteriordistribution by sequentially sampling each variableof interest, zt and lt here, from the distribution overthat variable given the current values of all othervariables and data. Letting the superscript °t de-note a quantity that excludes data from tth position,the conditional posterior for zt and lt by marginaliz-ing out the random variables ', µ, and º is
P (zt = j, lt = k|w, z°t, l°t,Æ,Ø, ∞) /N°t
wt,j,k+ Ø
N°tj,k + V Ø
·N°t
j,k,d + Æj,k
N°tk,d +
Pj Æj,k
·N°t
k,d + ∞
N°td + S∞
. (1)
where Nwt,j,k is the number of times word wt ap-peared in topic j and with sentiment label k, Nj,k
is the number of times words assigned to topic jand sentiment label k, Nj,k,d is the number of timesa word from document d has been associated withtopic j and sentiment label k, Nk,d is the number oftimes sentiment label k has been assigned to someword tokens in document d, and Nd is the total num-ber of words in the document collection.
In the modified JST model as shown in Fig-ure 1(b), we add an additional dependency link of
Vincent Guigue Analyse semantique 41/48
BOW Modeles proba. Semantique LSA Usages
Dualite entre les mots et les documents
I Semantique sur les mots = construction d’une metrique entre mots
◦ Extensions de requetes◦
I Semantique des documents = construction d’une metrique entredocuments
◦ Retrouver les documents les plus proches d’un document◦ QA◦ RI
Vincent Guigue Analyse semantique 42/48
BOW Modeles proba. Semantique LSA Usages
Collaborative filtering & factorisation matricielle
Collaborative filtering : reseau bipartie utilisateurs/produits[cadre netflix ]
Koren, SIGKDD 2008
Factorization meets the neighborhood: a multifaceted collaborative filtering mode
Vincent Guigue Analyse semantique 43/48
BOW Modeles proba. Semantique LSA Usages
Collaborative filtering & factorisation matricielle
Collaborative filtering : reseau bipartie utilisateurs/produits[cadre netflix ]
Koren, SIGKDD 2008
Factorization meets the neighborhood: a multifaceted collaborative filtering mode
Vincent Guigue Analyse semantique 43/48
BOW Modeles proba. Semantique LSA Usages
Collaborative filtering & factorisation matricielle
Collaborative filtering : reseau bipartie utilisateurs/produits[cadre netflix ]
Koren, SIGKDD 2008
Factorization meets the neighborhood: a multifaceted collaborative filtering mode
Vincent Guigue Analyse semantique 43/48
BOW Modeles proba. Semantique LSA Usages
Collaborative filtering & factorisation matricielle
Collaborative filtering : reseau bipartie utilisateurs/produits[cadre netflix ]
Koren, SIGKDD 2008
Factorization meets the neighborhood: a multifaceted collaborative filtering mode
Vincent Guigue Analyse semantique 43/48
BOW Modeles proba. Semantique LSA Usages
FormalisationI Apprendre des profils utilisateurs/items: zu, ziI Critere de reconstruction des notes r :
Z?u ,Z?i = arg min
Zu,Zi
∑
(u,i,r)
‖ru,i − zu · zi‖2
I Contraintes◦ Rang (= dimension de l’espace latent)◦ Non-negativite (reconstruction purement additive)◦ Parcimonie
I Implementations nombreuses et efficaces
Hoyer, JMLR 2004
Non-negative matrix factorization with sparseness constraints
Vincent Guigue Analyse semantique 44/48
BOW Modeles proba. Semantique LSA Usages
Regularite/rupture
I Regularite de la forme bilineaire:
rui = zizj =∑
k
zikzjk
R
Zi
Zuzu
z i
k dim
k di
m
I Non-negativite + parcimonie
Vincent Guigue Analyse semantique 45/48
BOW Modeles proba. Semantique LSA Usages
Regularite/rupture
I Regularite de la forme bilineaire:
rui = zizj =∑
k
zikzjk
I Non-negativite + parcimonie
R
Zi
Zuzu
z i
k dim
k di
m 000
000
010
001
0 000
00
10
10
Non matching => rate = 0
Inactive dimension => rate = 0
Matching => rate
Vincent Guigue Analyse semantique 45/48
BOW Modeles proba. Semantique LSA Usages
Resultats: Amazon/Ratebeer
Prediction optimale:
rui = φ0︸︷︷︸biais gen.
+ φ1(u)︸ ︷︷ ︸biais u
+ φ2(i)︸ ︷︷ ︸biais i
+φ3(u, i)︸ ︷︷ ︸NMF
Evaluation:1
N
∑
(u,i,r)
‖rui − rui‖2
Perf MSE φ0 φ1(u) φ2(i) φ3(u, i)RB U50 I200 0,67575 0,65325 0,20913 0,19776RB U500 I2k 0,56850 0,52563 0,25089 0,22377RB U5k I20k 0,67744 0,58782 0,30791 0,28466RB U30k I110k 0,70296 0,60644 0,34876 0,33157A U2k I1k 1,53155 1,30432 1,27850 1,21357A U20k I12k 1,47107 1,28584 1,23608 1,21267A U210k I120k 1,50721 1,44538 1,32229 1,29709A U2M I1M 1,60510 1,63127 1,49281 1,48153
Poussevin, Guigue, Gallinari, CORIA 2015
Extraction d’un vocabulaire de surprise par combinaison de recommandation et d’analyse desentiments
Vincent Guigue Analyse semantique 46/48
BOW Modeles proba. Semantique LSA Usages
Resultats: Amazon/Ratebeer
Prediction optimale:
rui = φ0︸︷︷︸biais gen.
+ φ1(u)︸ ︷︷ ︸biais u
+ φ2(i)︸ ︷︷ ︸biais i
+φ3(u, i)︸ ︷︷ ︸NMF
Evaluation:1
N
∑
(u,i,r)
‖rui − rui‖2
Perf MSE φ0 φ1(u) φ2(i) φ3(u, i)RB U50 I200 0,67575 0,65325 0,20913 0,19776RB U500 I2k 0,56850 0,52563 0,25089 0,22377RB U5k I20k 0,67744 0,58782 0,30791 0,28466RB U30k I110k 0,70296 0,60644 0,34876 0,33157A U2k I1k 1,53155 1,30432 1,27850 1,21357A U20k I12k 1,47107 1,28584 1,23608 1,21267A U210k I120k 1,50721 1,44538 1,32229 1,29709A U2M I1M 1,60510 1,63127 1,49281 1,48153
Poussevin, Guigue, Gallinari, CORIA 2015
Extraction d’un vocabulaire de surprise par combinaison de recommandation et d’analyse desentiments
Vincent Guigue Analyse semantique 46/48
BOW Modeles proba. Semantique LSA Usages
Toujours le meme domaine applicatif...
Utiliser le texte dans les systemes de recommandation...[Approches content based ]
... mais conserver le cadre du filtrage collaboratifEt repondre au demarrage a froid!
Exploitation des revues d’utilisateurs :
I Segmentation thematique destextes
I Apprentissage de differentsaspects
Ganu et al., WebDB 2009
Beyond the Stars: Improving RatingPredictions using Review Text Content
I LDA = profils textuels zu, ziI Filtrage collaboratif = profils
z′u, z′i
I Alignement z/z′
McAuley & Leskovec, RecSys 2013
Hidden factors and hidden topics:understanding rating dimensions withreview text
Vincent Guigue Analyse semantique 47/48
BOW Modeles proba. Semantique LSA Usages
Exploitation des representations
Navigation par plus proches voisins:
Autour d’une biere:
Biere 12 Biere 34 Biere 227 Biere 254
Vincent Guigue Analyse semantique 48/48
BOW Modeles proba. Semantique LSA Usages
Exploitation des representations
Navigation par plus proches voisins:
Autour d’une note:
1 star 2 star 3 star 5 star
Vincent Guigue Analyse semantique 48/48