RICM4
Recherche d'Information Multimédia
TP 3 & 4- Constitution du vocabulaire et représentation

1. But du TP

Créer le vocabulaire associé à la collection et représenter l'information suivant le modèle vectoriel de Salton (Vector Space Model) et l'index inversé.

2. Déroulement

On considère la base CACM et les documents filtrés d'après obtenus avec le filtrage appliqué au TP2.
  1. Écrire une fonction qui ouvre les fichiers CACM-XX.flt un à un et qui applique le stop-list common-words en enlevant tous les termes de ces fichiers qui y apparaissent. Le résultat du filtrage sera mis dans un fichier portant le même nom que ces fichiers avec une nouvelle extension .stp
    Indication: On pourra utiliser une table de hash en parcourant le fichier common-words et en associant à chaque terme de fichier pris comme une clé de la table, la valeur 1. Le filtrage se fera en regardant si un terme des fichiers CACM-XX.flt est une clé de cette table de hash ou non.

  2. Construire le vocabulaire associé à cette collection en considérant tous les termes qui apparaissent au moins une fois dans tous les documents CACM-XX.stp. Le résultat sera mis dans un fichier.

  3. Calculer le df des termes du vocabulaire et stocker le résultat dans un fichier en mettant le df de chaque terme devant le terme.

  4. Écrire une fonction qui construit la représentation vectorielle des documents d'après le modèle vecotriel de Salton. On devrait avoir la possiblité de choisir le type de représentation : binaire, fréquentielle et tf-idf. Pour ce dernier, on utilisera le fichier contenant les df des termes calculé à la question précédente, et pour toutes les représentations on optera pour une représentation creuse (sparse) des documents. Le schéma conceptuel des étapes précédentes pour l'obtention de la représentation VSM est le suivant :
    
    Par exemple, si le vocabulaire contient 5 termes d'indice allant de 1 à 5 et qu'un document contient les termes d'indices 3 et 1. 
    
    
    Dans le cas où, on optera pour une représentation binaire, le vecteur associé au document doit être la suivante :
    
    1:1 3:1
      
  5. Écrire une fonction qui à partir du vocabulaire construit l'index inversé de ses termes.
    Indication: on pourra utiliser une liste chaînée pour stocker cet index.