TAL: traitement automatique de la langue Apprentissage d...

68
BOW Modèles proba. Sémantique LSA Usages TAL: traitement automatique de la langue Apprentissage d’une sémantique Vincent Guigue UPMC - LIP6 Vincent Guigue Analyse sémantique 1/42

Transcript of TAL: traitement automatique de la langue Apprentissage d...

Page 1: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

TAL: traitement automatique de la langueApprentissage d’une sémantique

Vincent GuigueUPMC - LIP6

Vincent Guigue Analyse sémantique 1/42

Page 2: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

Traitements pour la classification de textes

Les données textuelles sont difficiles à gérer :

1 Les corpus sont volumineux, le vocabulaire est grand :

- il faut des algorithmes rapides,- les données ne sont pas toujours stockables en mémoire.

2 La structure des phrases est difficile à gérer.3 Les mots peuvent prendre plusieurs formes (pluriels...)4 Machine learning + données en grande dimension =

problèmes

Vincent Guigue Analyse sémantique 2/42

Page 3: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

Traitements pour la classification de textes

Les données textuelles sont difficiles à gérer :

1 Les corpus sont volumineux, le vocabulaire est grand :

- il faut des algorithmes rapides,- les données ne sont pas toujours stockables en mémoire.

Perceptron, SVM (en version rapide), Naive Bayes...Boosting, Bagging... Algorithmes distribués

2 La structure des phrases est difficile à gérer.On supprime la structure...

3 Les mots peuvent prendre plusieurs formes (pluriels...)Plusieurs approches possibles... (cf plus loin)

4 Machine learning + données en grande dimension =problèmesOn cherche des heuristiques pour supprimer les motsinutiles.

Vincent Guigue Analyse sémantique 2/42

Page 4: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

Sacs de mots

Structure des phrases = coût important de traitement⇒ Elimination !

Document = comptage des différents mots qui le composent :

Représentation bag of words

Soit V le vocabulaire et d un document : d ∈ N|V |

NB : d est (presque toujours) un vecteur sparse, c’est à direcomposé essentiellement de 0.

Vincent Guigue Analyse sémantique 3/42

Page 5: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

Sur un exemple (crédit Sergio Jimenez)

Vincent Guigue Analyse sémantique 4/42

Page 6: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

Codage de l’information (sac de mots)

Document exemple :◦ le bonheur est dans le pré

◦ la mélodie du bonheur

Dictionnaire : le, la, du, bonheur, melodie, est, dans, pre

◦ Présence◦ Comptage◦ Fréquence◦ tf-idf (cf cours sur la classification de documents)

Vincent Guigue Analyse sémantique 5/42

Page 7: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

Codage de l’information (sac de mots)

Document exemple :◦ le bonheur est dans le pré

◦ la mélodie du bonheur

Dictionnaire : le, la, du, bonheur, melodie, est, dans, pre

◦ Présence

le la du bonheur melodie est dans predoc1 1 0 0 1 0 1 1 1doc2 0 1 1 1 1 0 0 0

◦ Comptage◦ Fréquence◦ tf-idf (cf cours sur la classification de documents)

Vincent Guigue Analyse sémantique 5/42

Page 8: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

Codage de l’information (sac de mots)

Document exemple :◦ le bonheur est dans le pré

◦ la mélodie du bonheur

Dictionnaire : le, la, du, bonheur, melodie, est, dans, pre

◦ Présence◦ 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

◦ Fréquence◦ tf-idf (cf cours sur la classification de documents)

Vincent Guigue Analyse sémantique 5/42

Page 9: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

Codage de l’information (sac de mots)

Document exemple :◦ le bonheur est dans le pré

◦ la mélodie du bonheur

Dictionnaire : le, la, du, bonheur, melodie, est, dans, pre

◦ Présence◦ Comptage◦ Fréquence

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 à 1 pour chaque document, importances des motspondérées par la longueur du document◦ tf-idf (cf cours sur la classification de documents)

Vincent Guigue Analyse sémantique 5/42

Page 10: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

Aspects d’implémentation

◦ Combien de mots distincts dans un corpus de 10000 revues defilms (en anglais) ?

Exemple :Story of a man who has unnatural feelings for a pig. Starts out with a opening scene that is a terrificexample of absurd comedy. A formal orchestra audience is turned into an insane, violent mob by thecrazy chantings of it’s singers. Unfortunately it stays absurd the WHOLE time with no general narrativeeventually making it just too off putting. Even those from the era should be turned off. The crypticdialogue would make Shakespeare seem easy to a third grader. On a technical level it’s better than youmight think with some good cinematography by future great Vilmos Zsigmond. Future stars SallyKirkland and Frederic Forrest can be seen briefly.

◦ 104077 ... Quelle taille pour stocker ce corpus ?◦ 104 × 105 = 109 = 4Go... Contre 100Mo de données brutes

sur le disque. Comment mieux gérer cela ?◦ Codage sparse de l’information (seules les entrées non nulles

sont codées). Quelle structure de données ?◦ Table de hash

Vincent Guigue Analyse sémantique 6/42

Page 11: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

Aspects d’implémentation

◦ Combien de mots distincts dans un corpus de 10000 revues defilms (en anglais) ?

Exemple :Story of a man who has unnatural feelings for a pig. Starts out with a opening scene that is a terrificexample of absurd comedy. A formal orchestra audience is turned into an insane, violent mob by thecrazy chantings of it’s singers. Unfortunately it stays absurd the WHOLE time with no general narrativeeventually making it just too off putting. Even those from the era should be turned off. The crypticdialogue would make Shakespeare seem easy to a third grader. On a technical level it’s better than youmight think with some good cinematography by future great Vilmos Zsigmond. Future stars SallyKirkland and Frederic Forrest can be seen briefly.

◦ 104077 ... Quelle taille pour stocker ce corpus ?

◦ 104 × 105 = 109 = 4Go... Contre 100Mo de données brutessur le disque. Comment mieux gérer cela ?◦ Codage sparse de l’information (seules les entrées non nulles

sont codées). Quelle structure de données ?◦ Table de hash

Vincent Guigue Analyse sémantique 6/42

Page 12: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

Aspects d’implémentation

◦ Combien de mots distincts dans un corpus de 10000 revues defilms (en anglais) ?

Exemple :Story of a man who has unnatural feelings for a pig. Starts out with a opening scene that is a terrificexample of absurd comedy. A formal orchestra audience is turned into an insane, violent mob by thecrazy chantings of it’s singers. Unfortunately it stays absurd the WHOLE time with no general narrativeeventually making it just too off putting. Even those from the era should be turned off. The crypticdialogue would make Shakespeare seem easy to a third grader. On a technical level it’s better than youmight think with some good cinematography by future great Vilmos Zsigmond. Future stars SallyKirkland and Frederic Forrest can be seen briefly.

◦ 104077 ... Quelle taille pour stocker ce corpus ?◦ 104 × 105 = 109 = 4Go... Contre 100Mo de données brutes

sur le disque. Comment mieux gérer cela ?

◦ Codage sparse de l’information (seules les entrées non nullessont codées). Quelle structure de données ?◦ Table de hash

Vincent Guigue Analyse sémantique 6/42

Page 13: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

Aspects d’implémentation

◦ Combien de mots distincts dans un corpus de 10000 revues defilms (en anglais) ?

Exemple :Story of a man who has unnatural feelings for a pig. Starts out with a opening scene that is a terrificexample of absurd comedy. A formal orchestra audience is turned into an insane, violent mob by thecrazy chantings of it’s singers. Unfortunately it stays absurd the WHOLE time with no general narrativeeventually making it just too off putting. Even those from the era should be turned off. The crypticdialogue would make Shakespeare seem easy to a third grader. On a technical level it’s better than youmight think with some good cinematography by future great Vilmos Zsigmond. Future stars SallyKirkland and Frederic Forrest can be seen briefly.

◦ 104077 ... Quelle taille pour stocker ce corpus ?◦ 104 × 105 = 109 = 4Go... Contre 100Mo de données brutes

sur le disque. Comment mieux gérer cela ?◦ Codage sparse de l’information (seules les entrées non nulles

sont codées). Quelle structure de données ?

◦ Table de hash

Vincent Guigue Analyse sémantique 6/42

Page 14: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

Aspects d’implémentation

◦ Combien de mots distincts dans un corpus de 10000 revues defilms (en anglais) ?

Exemple :Story of a man who has unnatural feelings for a pig. Starts out with a opening scene that is a terrificexample of absurd comedy. A formal orchestra audience is turned into an insane, violent mob by thecrazy chantings of it’s singers. Unfortunately it stays absurd the WHOLE time with no general narrativeeventually making it just too off putting. Even those from the era should be turned off. The crypticdialogue would make Shakespeare seem easy to a third grader. On a technical level it’s better than youmight think with some good cinematography by future great Vilmos Zsigmond. Future stars SallyKirkland and Frederic Forrest can be seen briefly.

◦ 104077 ... Quelle taille pour stocker ce corpus ?◦ 104 × 105 = 109 = 4Go... Contre 100Mo de données brutes

sur le disque. Comment mieux gérer cela ?◦ Codage sparse de l’information (seules les entrées non nulles

sont codées). Quelle structure de données ?◦ Table de hash

Vincent Guigue Analyse sémantique 6/42

Page 15: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

Implémentation (2)

◦ Table de hash...⇒ aucun opérateur !

◦ Chercher des implémentation de table pour le codage dematrices = sparse matrix◦ Plusieurs options

- codage par ligne, par colonne, en liste chainée...

◦ Et faire le lien avec les bibliothèque riches :- en python les matrices sparses fonctionnent plutôt bien avecnumpy

Vincent Guigue Analyse sémantique 7/42

Page 16: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

Implémentation (2)

◦ Table de hash...⇒ aucun opérateur !

◦ Chercher des implémentation de table pour le codage dematrices = sparse matrix

◦ Plusieurs options- codage par ligne, par colonne, en liste chainée...

◦ Et faire le lien avec les bibliothèque riches :- en python les matrices sparses fonctionnent plutôt bien avecnumpy

Vincent Guigue Analyse sémantique 7/42

Page 17: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

Implémentation (2)

◦ Table de hash...⇒ aucun opérateur !

◦ Chercher des implémentation de table pour le codage dematrices = sparse matrix◦ Plusieurs options

- codage par ligne, par colonne, en liste chainée...

◦ Et faire le lien avec les bibliothèque riches :- en python les matrices sparses fonctionnent plutôt bien avecnumpy

Vincent Guigue Analyse sémantique 7/42

Page 18: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

Implémentation (2)

◦ Table de hash...⇒ aucun opérateur !

◦ Chercher des implémentation de table pour le codage dematrices = sparse matrix◦ Plusieurs options

- codage par ligne, par colonne, en liste chainée...

◦ Et faire le lien avec les bibliothèque riches :- en python les matrices sparses fonctionnent plutôt bien avecnumpy

Vincent Guigue Analyse sémantique 7/42

Page 19: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

Evolution du vocabulaire

◦ En général, on considère qu’il y a une loi logarithmique entre lenombre de documents et le nombre de mots.◦ Sur l’exemple des revues de films :

0 5000 10000 15000 20000 250000

50000

100000

150000

200000

◦ Il y a également une règle sur les fréquences d’apparition desmots :

Vincent Guigue Analyse sémantique 8/42

Page 20: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

Evolution du vocabulaire

◦ En général, on considère qu’il y a une loi logarithmique entre lenombre de documents et le nombre de mots.◦ Sur l’exemple des revues de films :◦ Il y a également une règle sur les fréquences d’apparition des

mots :

0 50 100 150 200 250 300nb occurences

0

2

4

6

8

10

12

log n

b m

ots

Vincent Guigue Analyse sémantique 8/42

Page 21: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

Extensions

◦ Modèle de N-grams : codage des groupes de mots- very good- not good- sont des entrées du dictionnaire... dont la taille explose !

◦ Lemmatisation/racinisation- 1 seule entrée pour les mots de même racine

Vincent Guigue Analyse sémantique 9/42

Page 22: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

Aspects industriels

1 Récupération/importation d’un corpus- Lecture de format XML- Template NLTK...

2 Optimisation d’un modèle.- Campagne d’expérience (d’abord grossière - codage, choixmodèle...-, puis fine - régularisation...)

- Assez long... Mais essentielle- Le savoir-faire est ici

3 Evaluation des performances (souvent en même temps que laphase d’optimisation)

- Usage de la validation croisée4 Apprentissage + packaging du modèle final

- Définition des formats IO- Mode de fonctionnement : API, service web...- Documentation

Vincent Guigue Analyse sémantique 10/42

Page 23: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

Evaluation de vos TP

◦ Montrer que vous êtes capables de réaliser une campagned’expériences :

- Courbes de performances- Analyse de ces courbes

◦ Montrer que vous êtes capable de valoriser un modèle◦ Concrètement :

- Mise au propre de votre code- Intégration des expériences dans une boucle (ou plusieurs)- Analyse qualitative du modèle final (tri des poids)- OPT : construction de nuages de mots...

Vincent Guigue Analyse sémantique 11/42

Page 24: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

1 BOW

2 Modèles proba.

3 Sémantique

4 LSA

5 Usages

Vincent Guigue Analyse sémantique 12/42

Page 25: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

Caractériser des distributions...

Motivations = résumer des informations complexes

Distribution de lettres/mots/n-grammes de mots = ...◦ caractériser une langue,◦ caractériser un auteur,◦ caractériser une thématique,◦ caractériser une opinion,◦ caractériser des sentiments,◦ ...

⇒ Comprendre/visualiser les objets que l’on manipule pourmieux les traiter

Vincent Guigue Analyse sémantique 13/42

Page 26: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

... Mais quelles distributions ?

◦ langue : distribution brute de lettres ?◦ style : distribution des fins de mots, des espaces, des articles,

des POS-tag ?◦ thème : mots-clés, champs lexicaux ?◦ ...

(1) chaque application requiert des traitements spécifiques(2) la représentation est souvent paramétrique

Vincent Guigue Analyse sémantique 14/42

Page 27: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

Extraire une distribution de lettres

◦ Processus :1 Trouver une source... www.gutenberg.org2 Les trois mousquetaires, Arsène Lupin,...3 Comptage + normalisation

◦ Résultat :◦ Discussion :

Vincent Guigue Analyse sémantique 15/42

Page 28: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

Extraire une distribution de lettres◦ Processus :

1 Trouver une source... www.gutenberg.org2 Les trois mousquetaires, Arsène Lupin,...3 Comptage + normalisation

◦ Résultat :

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

◦ Discussion :Vincent Guigue Analyse sémantique 15/42

Page 29: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

Extraire une distribution de lettres◦ Processus :

1 Trouver une source... www.gutenberg.org2 Les trois mousquetaires, Arsène Lupin,...3 Comptage + normalisation

◦ Résultat :◦ Discussion : choisir un référentiel !

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 sémantique 15/42

Page 30: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

Extraire une distribution de mots

◦ Le même processus...... Sur les mots

◦ ⇒ choisir les délimiteurs de mots (pas toujours trivial : ’)◦ Compter◦ Calculer la distribution (=normaliser)

Vincent Guigue Analyse sémantique 16/42

Page 31: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

Métrique entre distributions

Comparer les objets, comprendre leurs positions

◦ Logique entropique (cf théorie de l’information, Shannon...)

Idée :Calculer un écart entre distribution = entropie croisée = divergencede Kullback-Liebler

DKL(P‖Q) =∑

i

P(i) logP(i)

Q(i)

Attention : asymétrie de la mesure

◦ Métrique euclidienne ...◦ Similarité cosine ...

Vincent Guigue Analyse sémantique 17/42

Page 32: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

Métrique entre distributions

Comparer les objets, comprendre leurs positions

◦ Logique entropique (cf théorie de l’information, Shannon...)◦ Métrique euclidienne ...

inefficace en grande dimension : toutes les distributions deviennentéquidistantes

d(P,Q) = ‖P − Q‖ =√∑

i

(P(i)− Q(i))2

◦ Similarité cosine ...

Vincent Guigue Analyse sémantique 17/42

Page 33: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

Métrique entre distributions

Comparer les objets, comprendre leurs positions

◦ Logique entropique (cf théorie de l’information, Shannon...)◦ Métrique euclidienne ...◦ Similarité cosine ...

Idée :Chercher les points communs plutôt que les différences :

sim(P,Q) =P · Q‖P‖‖Q‖ = cos( ~P, ~Q) ∝

i

P(i)Q(i)

⇒ ≈ compter les points communs

Vincent Guigue Analyse sémantique 17/42

Page 34: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

Expérience jouet

1 Gutenberg :- Les 3 mousquetaires, Arsène 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 sémantique 18/42

Page 35: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

Expérience jouet

1 Gutenberg :- Les 3 mousquetaires, Arsène 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 sémantique 18/42

Page 36: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

Distribution de mots

◦ Les 3 Mousquetaires, Arsène Lupin, Boule de Suif, Le Horla,Le Comte de Monte-Cristo◦ Etape 1 : trouver un dictionnaire commun :

# r e s = tous l e s d i c t i o n n a i r e sd i c o = set ( r e s [ 0 ] . key s ( ) )p r i n t l en ( d i c o )f o r i i n range (1 , l en ( r e s ) ) :

d i c o = d i c o . i n t e r s e c t i o n ( r e s [ i ] . key s ( ) )p r i n t l en ( d i c o )

141305525338126692536

◦ Etape 2 : métriques

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 sémantique 19/42

Page 37: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

dist(d1, d2) ≈ réponse à une requête

Moteur de recherche :

◦ Répondre à une requête r : dist(r , d)◦ Garantir une diversité des résultats affichés : dist(di , dj)

◦ Google : mesurer l’autorité de la source

◦ ...

Vincent Guigue Analyse sémantique 20/42

Page 38: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

dist(d1, d2) ≈ réponse à une requête

Moteur de recherche :

◦ Répondre à une requête r : dist(r , d)◦ Garantir une diversité des résultats affichés : dist(di , dj)◦ Google : mesurer l’autorité de la source◦ ...

Vincent Guigue Analyse sémantique 20/42

Page 39: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

dist(d1, d2) ≈ réponse à une requête

Moteur de recherche :

◦ Répondre à une requête r : dist(r , d)◦ Garantir une diversité des résultats affichés : dist(di , dj)◦ Google : mesurer l’autorité de la source◦ ...

La métrique la plus utilisée : 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 sémantique 20/42

Page 40: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

1 BOW

2 Modèles proba.

3 Sémantique

4 LSA

5 Usages

Vincent Guigue Analyse sémantique 21/42

Page 41: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

La question de la sémantique

Objectif

(mieux) comprendre [automatiquement] la signification d’un mot,d’un texte

⇒ Applications

◦ moteur de recherche◦ classification thématique◦ extraction d’informations◦ résumé automatique◦ classification d’opinions

Corrolaire :Eliminer le semantic gap

Vincent Guigue Analyse sémantique 22/42

Page 42: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

Ressources linguistiques

WordNet (et wordnets)

◦ Description : Représentation hiérarchique des concepts.

- Nouns- Verbs- Adjectives

Vincent Guigue Analyse sémantique 23/42

Page 43: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

Ressources linguistiques

WordNet (et wordnets)

◦ Description : Représentation hiérarchique des concepts.- Nouns

· hypernyms : Y is a hypernym of X if every X is a (kind of) Y(canine is 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 dogis a coordinate term 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 sémantique 23/42

Page 44: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

Ressources linguistiques

WordNet (et wordnets)

◦ Description : Représentation hiérarchique des concepts.

- Nouns- Verbs

· hypernym : the verb Y is a hypernym of the verb X if theactivity X is a (kind of) Y (to perceive is an hypernym of tolisten)· 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 ofto 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 sémantique 23/42

Page 45: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

Ressources linguistiques

WordNet (et wordnets)

◦ Description : Représentation hiérarchique des concepts.

- Nouns- Verbs- Adjectives

· Antomyms / Synonyms

Vincent Guigue Analyse sémantique 23/42

Page 46: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

WordNet : Exemple

Exemples d’informations récupérables

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

=> ...

Crédit : wikipedia

Vincent Guigue Analyse sémantique 24/42

Page 47: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

WordNet : Usages

◦ Notions de distance

- longueur du chemin dans l’arbre,- longueur du chemin dans le graphe des synonymes,- hauteur dans la hiérarchie,- cf : Leacock Chodorow (1998), Jiang Conrath (1997), Resnik(1995), Lin (1998), Wu Palmer (1993)

◦ Applications- IR : Information Retrieval- Word Desambiguation- Text Classification- Machine Translation- Summarization

◦ Disponible dans NLTK (avec l’implémentation des distances)

Vincent Guigue Analyse sémantique 25/42

Page 48: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

WordNet : Limites

◦ Dépend des ressources existantes (langues...)◦ Non adapté à des domaines spécifiques (uniquement pour un

vocabulaire général)

Ouvertures :◦ Extensions statistiques possibles (traductions, heuristiques de

diffusion...)

Vincent Guigue Analyse sémantique 26/42

Page 49: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

Approche statistique : Sémantique vecto-rielle

◦ Modélisation : comptage des occurrences

X =

tj↓

di →

x1,1 . . . x1,D...

. . ....

xN,1 . . . xN,D

◦ Proposition : métrique (similarité) = corrélation entre lesreprésentations des termes :

s(j , k) = 〈tj , tk〉,Normalisé : sn(j , k) = cos(θ) =tj · tq‖tj‖ ‖tq‖

- Si les termes apparaissent dans les mêmes documents, ils sontsimilaires

- Matrice de similarité = XTX ∈ RD×D

Vincent Guigue Analyse sémantique 27/42

Page 50: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

Approche statistique : LSA

◦ LSA : Latent Semantic Analysis◦ Idée : factorisation de la matrice = regrouper les termes dont

le sens est similaire◦ Approche : décomposition en valeurs singulières

XT = U Σ V T

di di

↓ ↓

tj →

x1,1 . . . x1,N

.... . .

...

xD,1 . . . xD,N

=

u1

. . .

ul

σ1 . . . 0...

. . ....

0 . . . σl

(

v1)

...(vl

)

◦ Les similarité se calculent de la même façon

crédit : wikipedia

Vincent Guigue Analyse sémantique 28/42

Page 51: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

Discussion : SVD, LSA

Lorsqu’on sélectionne les k plus grandes valeurs singulières, ainsique les vecteurs singuliers correspondants dans U et V, on obtientune approximation de rang k de la matrice des occurrences

◦ Métrique efficace entre les termes, entre les documents- Amélioration qualitative par rapport à la métrique initiale

◦ Usages :

- Clustering (chaque valeur singulière est un topic)- Détection des synonymes (pas toujours efficace)- Amélioration de la RI- Représentation des connaissances- Métrique entre documents/phrases :

· QA automatisé· Résumé 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 sémantique 29/42

Page 52: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

LSA : limites

◦ Repose sur les sacs de mots, pas de gestion :- des négations,- de la proximité dans le document (cf tailles des documentstraités)

- de la structure des phrases/documents◦ Dépend du corpus utilisé

- problèmes avec les mots peu fréquents,- biais liés au domaine du corpus

◦ Pas de modélisation de la polysémie

Vincent Guigue Analyse sémantique 30/42

Page 53: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

LSA : variante

◦ Factorisation matricielle non-négative

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 sémantique 31/42

Page 54: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

LSA : variante (2) k-means

◦ Trouver du sens = problème de clustering◦ Modélisation (toujours BOW) :

X =

tj↓

di →

x1,1 . . . x1,D...

. . ....

xN,1 . . . xN,D

◦ Algorithme (simple) pour arriver à ça : CEMAppliquer sur la matrice d’occurrences avec une modélisationmultinomiale, = k-means

Quelle métrique utiliser ?

Vincent Guigue Analyse sémantique 32/42

Page 55: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

Distance euclidienne et malédiction de la di-mensionnalité

Soit une matrice de document(fictive) en 3 dimensions :◦ normalisation tf

[ 1. 0. 0. ][ 0.5 0.5 0. ][ 0. 0. 1. ]

Ajout de dimensions :X = np . where ( rand . rand (3 , dim ) >0.99 , 1 . , 0 . )X [ : , : 3 ] = np . a r r a y ( [ [ 1 , 0 , 0 ] , [ 1 , 1 , 0 ] , [ 0 , 0 , 1 ] ] )X /= X. sum ( 1 ) . r e shape (3 , 1)D = np . a r r a y ( [ [ ( ( X[ i ] − X[ j ] ) ∗ ∗ 2 ) . sum ( ) f o r i i n range ( l en (X ) ) ] f o r j i n range ( l en (X ) ) ] )D2 = np . a r r a y ( [ [ ( ( X[ i ] ∗ X[ j ] ) ) . sum ( ) f o r i i n range ( l en (X ) ) ] f o r j i n range ( l en (X ) ) ] )

Vincent Guigue Analyse sémantique 33/42

Page 56: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

Distance euclidienne et malédiction de la di-mensionnalité

Soit une matrice de document(fictive) en 3 dimensions :◦ normalisation tf

[ 1. 0. 0. ][ 0.5 0.5 0. ][ 0. 0. 1. ]

Ajout de dimensions :X = np . where ( rand . rand (3 , dim ) >0.99 , 1 . , 0 . )X [ : , : 3 ] = np . a r r a y ( [ [ 1 , 0 , 0 ] , [ 1 , 1 , 0 ] , [ 0 , 0 , 1 ] ] )X /= X. sum ( 1 ) . r e shape (3 , 1)D = np . a r r a y ( [ [ ( ( X[ i ] − X[ j ] ) ∗ ∗ 2 ) . sum ( ) f o r i i n range ( l en (X ) ) ] f o r j i n range ( l en (X ) ) ] )D2 = np . a r r a y ( [ [ ( ( X[ i ] ∗ X[ j ] ) ) . sum ( ) f o r i i n range ( l en (X ) ) ] f o r j i n range ( l en (X ) ) ] )

Vincent Guigue Analyse sémantique 33/42

Page 57: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique 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 (similarité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 sémantique 34/42

Page 58: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

Généralisation probabiliste CEM

◦ k clusters◦ Proba a priori : πk = p(clusterk)

◦ Probabilité d’un mot dans un cluster : p(wj |θk) = Ed∈Dk[wj ]

◦ Affectation d’un document dans un cluster (hard assignment) :p(yi = k) = 1/0

yi = argmaxk

p(di |θk) = argmaxk

wj∈dilog p(wj |θk)

yi = argmaxk

j

tijθjk , θjk = log p(wj |θk)

Algo :Init. Paramètres OU affectationC/E Calcul des affectations des documentsM Mise à jour des paramètres

Vincent Guigue Analyse sémantique 35/42

Page 59: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

PLSAProbabilistic Latent Semantic Analysis◦ Idée : CEM ⇒ EM (un peu plus complexe)◦ Un mot appartient à tous les clusters avec des probabilités◦ Modélisation graphique (=comment sont générer 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

◦ On estime donc des matrices :- p(d)- p(α|d)- p(w |α)

Vincent Guigue Analyse sémantique 36/42

Page 60: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique 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

◦ Expectation (proba des variables manquantes)◦ Maximization

Vincent Guigue Analyse sémantique 37/42

Page 61: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique 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

◦ 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

◦ Maximization

Vincent Guigue Analyse sémantique 37/42

Page 62: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

PLSA : algorithmelog-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

◦ Expectation (proba des variables manquantes)◦ 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 sémantique 37/42

Page 63: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

PLSA : résultats

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 sémantique 38/42

Page 64: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique 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

◦ Idée : ajouter un a priori sur la distribution des thèmes◦ Apprentissage par Gibbs sampling (∼ MCMC)

Vincent Guigue Analyse sémantique 39/42

Page 65: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique 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 sémantique 40/42

Page 66: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

Echantillonnage de GibbsMixture Sampler Pseudocode

Vincent Guigue Analyse sémantique 40/42

Page 67: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

LDA/PLSA : extensions

◦ Modèle 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 sémantique 41/42

Page 68: TAL: traitement automatique de la langue Apprentissage d ...guigue/wikihomepage/uploads/Course/2017_CoursLSA.pdf · BOW Modèlesproba. Sémantique LSA Usages TAL: traitement automatique

BOW Modèles proba. Sémantique LSA Usages

Dualité entre les mots et les documents

◦ Sémantique sur les mots = construction d’une métrique entremots

- Extensions de requêtes-

◦ Sémantique des documents = construction d’une métriqueentre documents

- Retrouver les documents les plus proches d’un document- QA- RI

Vincent Guigue Analyse sémantique 42/42