TP2 Construction d`une matrice terme x document
Transcription
TP2 Construction d`une matrice terme x document
Université Montpellier II Année 2013-2014 Département des Sciences Mathématiques L3 Math & Info, Module Mathématiques du web. TP2 Construction d’une matrice terme x document Exemple d’utilisation de décomposition SVD Le but de ce TP est la construction d’un petite matrice terme document et SVD. D’après Berry-Browne, voir références du cours). Le tableau suivant donne les titres de livre correspondant à une recherche sur amazon.com. T1 T2 T3 T4 T5 T6 T7 T8 T9 termes bab(y,ies,y’s) child(ren’s) guide health home infant proofing safety toddler D1 D2 D3 D4 documents infant and toddler first aid babies and children’s room (for your home) child safety at home your baby’s health and safety : from infant to toddler D5 D6 D7 baby proofing basics your guide to easy rust proofing beanie babies collector’s guide (1) Construire la matrice terme/document de taille 9 × 7. La normaliser, i.e. faire en sorte que chaque colonne soit de norme euclidienne unité.Soit A la matrice ainsi construite. (2) Effectuer la requête « child proofing ». Calculer le vecteur q correspondant à la requête et calculer la pertinence de chaque document, i.e. calculer cos θj de l’angle entre q et aj , où aj est la j-ème colonne de A. Avec un seuil de pertinence de 0.5 ; quels seraient les documents selectionnés ? (3) Quel est le rang de A ? (4) A quoi correspond le sous-espace vectoriel des colonnes (resp. lignes) ? Interpréter la matrice AT A. Effectuer la décomposition de valeur singulière A = U ΣV T . A quoi correspond l’espace engendré par U (:, 1), U (:, 2), . . . U (:, 7) (resp . V (:, 1), V (: , 2), . . . V (:, 7)) ? (5) Approximation de rang faible pour la recherche sémantique. A l’aide de la svd de A, construire une approximation de A de rang 5 (resp. 4), notée A5 (resp. A4 ) . Quel est l’erreur relative en norme ||A − Ak || ?, ||A|| k = 4, 5 2 (6) calculer à nouveau les scores de pertinences (avec la matrice A remplacée par A5 ou A4 ? Commenter. Indication : Soit Ak = Uk Σk VkT . Soit sj = Σk VkT ej . Montrer que sj T (UkT q) cos θj = ||sj ||||q|| les k composantes de sj sont les coordonnées de la j-ème colonne de Ak dans la base définie par les colonnes de Uk . Les k composantes de UkT q sont les composantes dans cette même base de la projection Uk UkT q du vecteur requête q sur l’espace des colonnes de Ak . (7) Calculer une approximation de rang 2. Représenter les documents D1 , . . . D7 dans le plan U2 (:, 1), U2 (:, 2) engendré par les deux colonnes de U2 . Représenter la requête « child proofing » dans ce plan. Projeter également les termes T1 . . . T9 dans le plan sémantique engendré par V2 (:, 1), V2 (:, 2) . Essayer d’interpréter. Pour effectuer la décomposition de valeur singulière en MATLAB, utiliser la commande [U,Sigma,V]=svd(A) Essayer la même démarche pour un autre tableau terme x documents, fabriqué à partir d’une recherche sur amazon. Effectuer la requête “les moteurs de recherche”. termes documents T1 moteur(s) D1 référencement de votre site web T2 automobile D2 la combustion dans les moteurs d’automobile T3 recherche D3 moteurs de recherche adaptatifs au contexte de la requête T4 données D4 Google hacking : vos données sensibles à l’abri des moteurs de recherc T5 apprentissage T6 université D5 apprentissage moteur et conditions d’apprentissage T7 développement D6 développement moteur de l’enfant : un parcours de recherche T8 contexte D7 Université et la recherche : moteur de création d’entreprises. T9 web D8 Moteurs : recherche de la puissance T10 Google D9 Google (Moteur de recherche). Essayer d’autres matrices termes x documents crées par vous-mêmes. Est-ce que la décomposition svd permet de résoudre une partie de la polysémie du langage ?