L’indexation des images et la recherche d’information dans les bases d’images sont plus compliquées que dans le cas de document textuels.. Les mots clés : AFC : Analyse Factorielle des C
Trang 1FACULTÉ DES TECHNOLOGIES DE L’IMFORMATION
ET DE LA COMMUNICATON
UNIVERSITÉ DE CANTHO
MÉMOIRE DE FIN D’ÉTUDES
Sujet : ANALYSE SÉMANTIQUE LATENTE PROBABILISTE POUR
LA RECHERCHE D’IMAGE PAR LE CONTENU
Trang 3Résumé :
Le problème de l’indexation et de la recherche de texte existe depuis longtemps
Il est connu des bibliothécaires et des documentalistes qui doivent gérer leur ouvrage
Il existe des catalogues et des systèmes de classification qui permettent de résoudre le problème Cependant, compte-tenu de l’explosion du nombre de documents, les catalogues doivent être mis à jour et la recherche efficace d’information devient de plus en plus difficile Depuis quelques années, on a développé des méthodes automatiques d’indexation de bases de données textuelles et de recherche d’information
Avec le développement du numérique, le nombre d’images stockées dans les bases de données a beaucoup augmenté L’indexation des images et la recherche d’information dans les bases d’images sont plus compliquées que dans le cas de document textuels Quand il s’agit d’organiser des images, l’homme fait souvent mieux que les machines tant que la taille de la base n’est pas trop grande Des méthodes d’indexation déjà utilisées en ADT ont été comme le PLSA et le LDA Ces méthodes nécessitent d’utilisation de nouvelles caractéristiques : les mots visuels qui permettent de répondre à cette demande
Dans ce mémoire, je vais faire les recherches sur le PLSA et le appliquer sur le RIC dans une grande base de données des images Le contenu visuel des images de la base est extrait et décrit par ce qu’on appelle des signatures d’images L’utilisateur fournit une image exemple (appelé la requête) Le système va calculer et comparer les mesures de similarités/dissimilarités entre la signature de la requête et celle de toutes les images de la base Le résultat est le plus souvent présenté sous forme une liste des images de similarité descendante
Trang 4Abstract :
The problem of indexing and text searching has been existing for a long time Librarians and archivists who must manage their work know it There are catalogs and classification systems that solve this problem However, giving the explosion in the number of documents, catalogs must be updated and efficient search of information becomes increasingly difficult In recent years, there has had a developed automatic method for indexing text databases and information retrieval
With the development of digital, the number of images stored in databases has been increasing significantly The image of indexing and information retrieval in image databases is more complicated than in the case of paper records When it comes
to organizing pictures, man is often better than the machines as the size of the database is not too large Indexing methods being used in ADT are as PLSA and LDA These methods require the use of new features: visual words that can meet this demand
This essay will do the research on the PLSA and apply to the RIC in a large database of images The content of visual images in the database is extracted and described by so-called image signatures The user provides a sample image (called the query) The system will calculate and compare the measures of similarity/dissimilarity between the signing of the petition and that of all the images in the database The result is usually presented as a list of images of descending similarity
Trang 5Les mots clés :
AFC : Analyse Factorielle des Correspondances
LDA : Latent Dirichlet Allocation
LSA : Analyse Sémantique Latente (Latent Semantic Analysis)
PLSA : Analyse Sémantique Latente Probabiliste (Probabilistic Latent
Semantic Analysis)
RIC : Recherche Image par le Contenu
SVD : Décomposition en valeurs singulières (Singular Value
Decomposition)
Trang 6Table des matières :
1.1 Introduction 5
1.2 Objectif 6
1.3 Solution 7
Chapitre 2 : PLSA pour l’indexation et la recherche d’images par le contenu 8 2.1 Introduction 8
2.2 Méthodes inspirées de l’analyse de données textuelles 8
2.2.1 LSA 9
2.2.2 PLSA 10
2.3 Indexation et recherche d’image par le PLSA 12
2.3.1 PLSA original 12
2.3.2 PLSA amélioré 19
2.3.3 Algorithme de recherche 23
2.3.4 Mesures de similarité/dissimilarité 25
2.4 Construction du tableau de contingence 25
Chapitre 3 : Résultats expérimentaux 27 3.1 Implémentation du PLSA 27
3.2 Expérimentation 28
3.2.1 Bases d’images 28
3.2.2 Métriques d’évaluation 31
3.2.3 Mesures d’évaluation 33
3.2.4 Discussion 38
3.3 Démonstration 39
3.3.1 Présentation les résultats 39
3.3.2 Visualisation 42
Trang 72
Table des figures :
FIGURE 1.1 – Diagramme pour un système de recherche image par le contenu 7
FIGURE 2.1 – Processus pour construire le tableau de contingence 26
FIGURE 3.4 – Courbes de précision-rappel des bases Caltech-4, Caltech-101 et
FIGURE 3.5 –Système RIC démonstration sur la base Caltech-4 39
FIGURE 3.6 – Système RIC démonstration sur la base Caltech-101 40
FIGURE 3.7 – Le système RIC démonstration sur la base Unbench 41
Trang 8Liste des tableaux :
Trang 94
Remerciements :
Je remercie sincèrement les enseignants de la Faculté des technologies de l'information et de la communication de l’université de Can Tho qui m’a fourni des précieuses connaissances au cours d’étude de l’université
Je voudrais remercier tout particulièrement monsieur Pham Nguyen Khang – mon directeur de mémoire qui m’a donné des nouvelles connaissances, mobilisé et aidé à résoudre des difficultés que j’ai rencontrées au cours de la réalisation de ce mémoire
Je souhaiterais remercier monsieur Tran Cao De – responsable de filière francophone de la faculté d’informatique de l’Université de Cantho qui m’a beaucoup aidé pendant ma recherche
Je voudrais exprimer mes remerciements à mes parents de m’avoir éduqué et créé toutes les meilleures conditions pour que je puisse poursuivre mes études
Je tiens à remercier aussi mes amis de m’avoir beaucoup aidé pendant mon processus d’études
Trang 10Un scénario typique de l'interaction homme-machine dans la recherche d'information est de requêtes en langage naturel: l'utilisateur formule une demande, par exemple, en fournissant un certain nombre de mots clés ou un texte de forme libre,
et s'attend à ce que le système pour retourner les données pertinentes, dans certains justiciables la représentation, par exemple, sous forme d'une liste de classement des documents pertinents
Plusieurs méthodes d'extraction sont basées sur simple mot correspondant à des stratégies visant à déterminer le rang de la pertinence d'un document par rapport à une requête Pourtant, il est bien connu que les termes littéraux ont des graves inconvénients, principalement en raison de l'ambivalence des mots et leur absence inévitable de précision ainsi que de raison à un style personnel et les différences individuelles dans l'usage des mots
LSA (Latent Semantic Analysis) est une approche de l'indexation automatique
et de recherche documentaire qui tente de surmonter ces problèmes par des documents
de cartographie ainsi que les modalités d'une représentation dans l’espace latent que l'on appelle l'espace sémantique LSA prend généralement la représentation en espace vectoriel (de grande dimension) de documents basées sur les fréquences terme comme point de départ et applique une réduction de la dimension de projection linéaire La forme spécifique de cette cartographie est déterminée par une collection de documents donnée et est basé sur une décomposition en valeurs singulières (SVD) de correspondante l'expression / document matrice La demande générale est que les
Trang 116
plus estimé de manière fiable dans la représentation de l'espace latent réduite que dans
la représentation originale La raison que les documents qui partagent souvent concomitants termes aura une représentation similaire dans l'espace latent, même s'ils n'ont pas de termes en commun LSA effectue ainsi une sorte de réduction du bruit et
a l'avantage potentiel pour détecter les synonymes ainsi que les mots qui font référence au même sujet Dans de nombreuses applications ce qui s'est avéré entraîner
un traitement plus robuste mot
Bien que LSA ait été appliqué avec un succès remarquable dans différents domaines y compris l'indexation automatique (Latent Semantic Indexing, LSI) , il a un certain nombre de déficits, principalement en raison de sa base statistique satisfaisante L'objectif principal de ce mémoire est de présenter une nouvelle approche pour LSA et l'analyse factorielle, appelé Probabilistic Latent Semantic Analysis (PLSA) qui a un fondement statistique solide, car il est fondé sur le principe
de la vraisemblance et définit un modèle génératif de la bonne donnée.Cela implique
en particulier que les standards techniques de statistiques peuvent être appliqués pour des questions telles que l'ajustement du modèle, la combinaison du modèle et le contrôle de la complexité En outre, la représentation des facteurs obtenus par PLSA permet de traiter des mots polysémiques et de distinction explicite entre des significations différents et différents types de l'usage des mots
1.2 Objectif
Dans un système RIC typique, le contenu visuel des images de la base est extrait et décrit par ce qu’on appelle des signatures d’images L’utilisateur fournit une image exemple (appelé la requête) Le système va calculer et comparer les mesures de similarités/ dissimilarités entre la signature de la requête et celle de toutes les images
de la base Le résultat est le plus souvent présenté sous forme une liste des images de similarité descendante Comme toutes les images de la base doivent être examinées pour retrouver des images similaires à la requête, le coȗ t devient prohibitif lorsque la taille de la base augmente
Pour remédier à ce problème, la plupart des systèmes RIC utilisent un schéma d’indexation qui fournit une méthode de recherche très efficace L’idée principale est
de ne pas parcourir toute la base mais d’examiner une seule petite partie de la base Certains systèmes récents ont intégré le contrôle de pertinence de l’utilisateur pour modifier le processus de recherche afin de générer des résultats plus significatifs Il s’agit d’une technique qui permet de poursuivre une recherche d’information progressive avec l’interaction de l’utilisateur : l’utilisateur soumet une requête Le système lui présente un ensemble de documents retrouvés L’utilisateur indique ensuite les documents qui sont pertinents pour son besoin Le système peut utiliser cette information soit quantitativement (retourne plus de documents similaires aux
Trang 12document pertinents) soit qualitativement (retourne documents similaires aux documents pertinents avant d’autre document)
FIGURE 1.1 – Diagramme pour un système de recherche image par le contenu
1.3 Solution
Il existe beaucoup de méthodes d’indexation utilisées dans l’analyse des données textuelle comme le LSA, le PLSA, le LDA, …mais le PLSA est la méthode
la plus populaire grâce aux raisons suivantes :
Le PLSA a une base statistique profonde, solide et satisfaisante Il définit un modèle de bonne générative des données
Le PLSA a un modèle stable d’algorithme d’EM que je vais présenter dans
Signature de
la requête
Base d’images
Description du contenu visuel
Base de signatures
Bouclage de pertinence
utilisateur
Trang 138
Chapitre 2
PLSA pour l’indexation et la recherche
d’images par le contenu
Ensuite, le système va calculer la similarité/dissimilarité entre la signature d’image requête et les signatures des images dans la base et retourner les résultats les plus pertinents à la requête
Le sujet principal de ce mémoire est l’indexation des images, puis recherche Alors, l’analyse et la construction du PLSA sont le travail fondamental C’est pourquoi je vais donner la priorité à l’introduction la méthode inspirée de l’analyse de données textuelles Les autres parties (comme l’algorithme de recherche, la construction du tableau de contingence, ) sont présentés après
2.2 Méthodes inspirées de l’analyse de données textuelles
Lorsqu’un modèle « sac-de-mot-visuels » est utilisé pour décrire des images, les méthodes développées pour l’analyse de données textuelles peuvent être appliquées aux images Je présente dans cette section quelques méthodes inspirées de l’analyse de données textuelles : LSA et PLSA Ces méthodes ont été développées à l’origine pour traiter des données textuelles (les documents) ó le modèle de « sac-de-mots » est utilisé Un document est écrit par la fréquence des mots qui apparaissent
Trang 14dans le document La représentation d’un corpus (l’ensemble des documents) forme
un tableau de contingence qui croise les documents et les mots
Soit X le tableau de contingence à M lignes et N colonnes obtenu en
ventilant M documents d’un corpus D = {d1, d2, , dM} et N mots d’un vocabulaire
W = {w1, w2, , wN} L’élément xij du tableau X désigne le nombre de fois ó le mot
v j apparaỵt dans le document d i
L'utilisation de LSA dans le domaine de l'analyse de documents est pertinente, car des travaux en sciences cognitives montrent que la représentation et l'acquisition de connaissances à partir de textes, la compréhension et l'évaluation de textes, l'extension à des connaissances non issues de textes, à l'aide du modèle LSA, sont comparables à celles des sujets humains lors de tests standardisés LSA est à la fois vu comme un modèle d'acquisition et de représentation des connaissances
Le LSA est une méthode qui projette les documents di D dans un espace réduit, appelé l’espace latente Le LSA utilise une décomposition en valeur singulière
de la matrice de donnée pour identifier un sous espace linéaire qui capture la plupart des variances dans le corpus :
= U
ó U et V sont des matrices orthogonales U T U = V T V = I et est une matrice
diagonale dont les éléments diagonaux sont les valeurs singulières de X
L’approximation de X (par LSA) est calculé en mettant à zéro les ( N – K ) plus petites valeurs singulières ( )
Cette opération réalise la projection de l'espace original vers un espace
réduit à r dimensions Il a été démontré que, sous certaines conditions, l'espace réduit
capture dans une certaine mesure les relations sémantiques entre les mots du corpus
Le nombre de dimensions optimal de l'espace réduit pour la langue anglaise a été estimé empiriquement à 300 dimensions
VT
VTX
Trang 1510
La SVD effectue un changement de base pour se placer suivant les axes de
plus grande variation de la matrice X De manière intuitive, on peut se représenter un
mot comme un point dans un espace dont la dimension est le nombre de documents
M La matrice donne les coordonnées des N mots Ce nuage de points a des axes
d'inertie qui sont précisément les axes de plus grande variation de X En tronquant aux
r premières valeurs singulières, on conserve les axes d'inertie suivant lesquels
s'alignent le mieux les points du nuage Ainsi on capture la structure la plus significative de la matrice Il faut voir la décomposition en valeurs singulières comme une méthode qui réduit la dimension du problème et, surtout, qui permet de
représenter mots et documents dans un même espace de dimension r L'espace de dimension r s'interprète comme un espace de concepts On ne peut pas vraiment
espérer mettre un nom sur ces concepts Mais ce n'est pas gênant : tout ce dont on a besoin est de savoir dans quelle mesure les différents concepts (abstraits) sont présents dans tel mot et tel document, de manière a comparer ceux-ci Mathématiquement, puisque le mot et le document sont représentables dans un même espace, un simple calcul de la distance entre leurs représentants fournit une quantification de leur proximité Au final, les documents renvoyés ne peuvent contenir aucun mot de la requête mais être pertinents
Cette approche peut servir à une compression significative de grandes
collections De plus, Deerwester et al [1] affirme que les axes du LSA, qui sont des
combinaisons linéaires de dimensions originales peuvent capturer certains aspects des
notions linguistiques comme la synonymie et la polysémie
Le modèle LSA ne possède pas d'interprétation probabiliste Cependant,
Hofmann [1] propose un modèle probabiliste pour LSA appelé PLSA ( Probabilistic
Latent Semantic Analysis ) Le PLSA améliore le LSA en introduisant un modèle probabiliste : la distribution des mots dans un document est considérée comme multinomiale La méthode se base sur une décomposition des mélanges dérivée d’un modèle de variables latentes en utilisant l’algorithme d’ EM pour estimer les paramètres
En effet, le PLSA introduit une variable latente z Z = {z1, z2, …, zK} et modélise la probabilité jointe P (d, w), d D et w W par :
Trang 16L = X (d, w) log (P(d, w) )
ó X(d, w) est le nombre d’occurrences du mot w dans le document d
L est maximisé par un algorithme d’ EM avec l’étape E :
P (z|d, w) =
) z' | P(w ) z' | P(d ) ' P(z
z) | P(w z)
| P(d P(z)
' z
Suivi par l’étape M :
P (d|z) =
w) , '
d
| P(z w) , ' X(d
w) ,
d
| P(z w) , X(d
w , ' d
d
| P(z ) ' w , X(d
w) ,
d
| P(z w) , X(d
' w d,
Chaque valeur de la variable latente z Z correspond à un « thème » Un
mot est généré à partir d’un thème (avec la distribution des mot par thème P(w|z) ) et
des mots différents dans un document peuvent être générés de différents thèmes Ainsi, un document peut appartenir à plusieurs thèmes Le PLSA représente chaque document par sa distribution des thèmes P (z|d)
FIGURE 1.2 – Modèle du PLSA
La figure 1.2 présente le modèle du PLSA d est la variable document, z est
le thème tirées dans la distribution des thèmes de ce document, et w est le mot tiré dans cette thème Les d et w sont des variables observables, le thème z est une variable latente
M
N
Trang 17documents dans l’ensemble l’apprentissage et que le PLSA estime les distributions
P(z|d) pour ces documents seulement Ceci conduit à deux problèmes :
i ) Le nombre de paramètres du modèle augmente linéairement avec
la taille du corpus, qui souffre parfois du sur-apprentissage
ii ) Le PLSA ne permet pas de générer de nouveaux documents
L'avantage d'utiliser PLSA plutơt que LSA est que PLSA peut utiliser les travaux réalisés en probabilité pour interpréter les résultats Par contre, LSA permet des calculs exacts contrairement à PLSA qui emploie l'algorithme EM Les documents utilisés dans les deux modèles sont les documents d'apprentissage, c'est pourquoi LSA
et PLSA ne peuvent être efficaces pour de nouveaux exemples
2.3 Indexation et recherche d’image par le PLSA
2.3.1 PLSA original
Soit X le tableau de contingence à M lignes et N colonnes obtenu en
ventilant D documents d’un corpus D = {d1, d2, , dM} et W mots d’un vocabulaire
W = {w1, w2, , wN} L’élément xij du tableau X désigne le nombre de fois ó le mot
v j apparaỵt dans le document d i Les valeurs des variables latentes z Z correspond
à un « thème » (ou une classe) On utilise les définitions suivantes :
P (d) : La probabilité pour choisir un document d
P (z|d) : La probabilité pour choisir une classe latente z
P (w|z) : La probabilité pour générer le vocabulaire w
Pour effectuer l’algorithme d’ EM, il faut d’abord initialiser les valeurs de P(d|z), P(w|z) et P(z)
P(d|z) est une matrice qui contient d lignes et z colonnes
P(w|z) est une matrice qui contient w ligne et z colonnes
P(z) est une matrice qui contient z ligne et 1 colonnes
On va initialiser ces valeurs en donnant les valeurs accidentelles aux
éléments des matrices Ensuite on va normaliser par colonnes ces valeurs pour que la somme des probabilités d’une colonne soit égale à 1
Trang 18Exemple :
Soit X(d, w)le tableau de contingence
On choisit d = 4, w = 3 et z = 3 On donnera les valeurs accidentelles des
éléments des matrices :
311221
18638
213715
439232
76123
13
573
019
240
2583.00652.02360.0
1500.03424.00898.0
1750.02011.01685.0
3028.06013.02990.0
5352.00784.00280.0
Trang 19
1161.0
On va utiliser les valeurs de ces matrices pour calculer P (z|d, w) en étape E:
P (z|d, w) =
) z' | P(w ) z' | P(d ) ' P(z
z) | P(w z)
| P(d P(z)
' z
) z | P(w ) z P(d ) P(z
1 1
' z
1 1
1
P(z
= 0.1161 * 0.1685 * 0.0280 + 0.5803 * 0.2011 * 0.0784 + 0.3036 * 0.1750 * 0.5352
= 0.03813208
) z | P(w ) z P(d
) z | P(w ) z P(d ) P(z
1 1
' z
1 1
0
= 0.0143563
Les autres valeurs de P (z|d, w) sont calculées de même manière Après
avoir calculé toutes les valeurs de P (z|d , w), on obtient les valeurs suivantes :
Trang 2116
On va suivre l’étape M pour recalculer les valeurs de P (d|z), P (w|z) et
P (z) en utilisant les valeurs de P (z|d , w) ci-dessus et les valeurs du tableau
contingence
P (d|z) =
w) , '
d
| P(z w) , ' X(d
w) ,
d
| P(z w) , X(d
w , d
d
| P(z ) ' w , X(d
w) ,
d
| P(z w) , X(d
' w d,
d
| P(z w) , ' X(d
w) ,
d
| P(z w) , X(d
1 w
, ' d
1 1 1
w
w) ,
d
| P(z w) ,
d
| P(z ) w ,
= 0.6991756
w) , '
d
| P(z w) , '
d
| P(z ) w ,
X(d1 3 1 1 3 + X(d2 , w1 ) P(z1| d 2 , w1) +
) w ,
d
| P(z ) w ,
X(d2 2 1 2 2 + X(d2 , w3 ) P(z1| d 2 , w3) +
) w ,
d
| P(z ) w ,
X(d3 1 1 3 1 + X(d3 , w2 ) P(z1| d 3 , w2) +
) w ,
d
| P(z ) w ,
X(d3 3 1 3 3 + X(d4 , w1 ) P(z1| d 4 , w1) +
) w ,
d
| P(z ) w , X(d4 2 1 4 2 + X(d4 , w3) P(z1| d 4 , w3)
Trang 22d
| P(z w) , ' X(d
w) ,
d
| P(z w) , X(d
1 w
, ' d
1 1 1
w
= 6.512025
d
| P(z w) ,
d,w
= X(d1 , w1 ) P(z1| d 1 , w1) + X(d1 , w2 ) P(z1| d 1 , w2) +
) w ,
d
| P(z ) w ,
X(d1 3 1 1 3 + X(d2 , w1 ) P(z1| d 2 , w1) +
) w ,
d
| P(z ) w ,
X(d2 2 1 2 2 + X(d2 , w3 ) P(z1| d 2 , w3) +
) w ,
d
| P(z ) w ,
X(d3 1 1 3 1 + X(d3 , w2 ) P(z1| d 3 , w2) +
) w ,
d
| P(z ) w ,
X(d3 3 1 3 3 + X(d4 , w1 ) P(z1| d 4 , w1) +
) w ,
d
| P(z ) w , X(d4 2 1 4 2 + X(d4 , w3) P(z1| d 4 , w3)
6 * 0.0188622 + 0 * 0.0912412 + 8 * 0.2976750
Trang 23Après avoir finir l’étape M, on obtient les matrices P (d|z), P (w|z) et
P (z) avec les valeurs suivants :
0298551
0383072
0
368645
0239913
0496026
0
281817
0232065
0013535
0
050235
0229471
00.107367
0375137
0761317
0
194873
0363829
0203545
0
653129
0261034
0035137
4175.0
1447.0
Ensuite, on utilise ces valeurs pour recalculer P (z|d , w) (refaire l’étape E),
puis on obtient des nouvelles valeurs de P (z|d , w) et les utilisent pour refaire l’étape
M : recalculer P (d|z), P (w|z) et P (z)
Ce travail va répéter plusieurs fois pour obtenir la probabilité P (d|z) et
P (w|z) Après les calculs, ces probabilités sont indexées et elles sont utilisées dans la
recherche
Trang 242.3.2 PLSA amélioré
Malgré que les solutions du PLSA original soient très favorables, c’est très compliqué de calculer les probabilités P (z|d , w) et de les utilisent pour recalculer les
probabilités P (d|z), P (w|z) et P (z)
Ici, J.J Verbeek [3] a amélioré les étapes de PLSA original pour ne pas
utiliser le P (z|d , w) et P (z) Cela va simplifier des calculs
Dans le PLSA amélioré, on utilise P (z|d) au lieu de P (d|z) et X (w, d) au
lieu de X (d , w) On a :
P (d|z) =
w) , '
d
| P(z w) , ' X(d
w) ,
d
| P(z w) , X(d
w , d
d
| P(z' w) , X(d
w) ,
d
| P(z w) , X(d
w , ' z
z) | P(w z)
| P(d P(z)
' z
=
) z' | P(w d)
| z' P(
P(d)
z) | P(w d) | P(z P(d)
' z
=
) z' | P(w d)
| z' ( P(d)
z) | P(w d)
| P(z P(d)
| z' P(
z) | P(w d)
| P(z
' z
Soit W_Z = {P(w | z) }w,z et Z_D = {P( z | d)}z,d , le dénominateur est le
produit de 2 matrices W_Z et Z_D ou {W_Z x Z_D}
Trang 2520
L’étape M :
P (w|z) =
)' w ,
d
| P(z ) '
d , X(w
w) ,
d
| P(z d) , X(w
' w d,
'
w
d,
pour que la somme de ces probabilités soit égale 1
Remplacer P(z|d, w) dans (4) sur (5), on obtient le numérateur :
P (w|z) nouvelle =
) z' | P(w d)
, P(z'
z) | P(w d)
| P(z d)
,
X(w
' z