16
1 | Page  Université De Bretagne Du Sud Ecole Nationale Supérieure D'ingénieurs De Bretagne-Sud  Projet :RSS-Intellig ence Rapport Final  Réalisé par Encadré par    Adnane AL ECHCHEIKH EL ALOUI  Pierre-François Marteau Année Universitaire 2012/2013  

Projet_RSS_Intelligence_Architecture des Systèmes de recherche d'information

Embed Size (px)

Citation preview

Page 1: Projet_RSS_Intelligence_Architecture des Systèmes de recherche d'information

7/29/2019 Projet_RSS_Intelligence_Architecture des Systèmes de recherche d'information

http://slidepdf.com/reader/full/projetrssintelligencearchitecture-des-systemes-de-recherche-dinformation 1/16

1 | P a g e  

Université De Bretagne Du Sud

Ecole Nationale Supérieure D'ingénieurs De Bretagne-Sud  

Projet :RSS-Intelligence 

Rapport Final  

Réalisé par  Encadré par 

   Adnane AL ECHCHEIKH EL ALOUI   Pierre-François Marteau 

Année Universitaire 2012/2013 

Page 2: Projet_RSS_Intelligence_Architecture des Systèmes de recherche d'information

7/29/2019 Projet_RSS_Intelligence_Architecture des Systèmes de recherche d'information

http://slidepdf.com/reader/full/projetrssintelligencearchitecture-des-systemes-de-recherche-dinformation 2/16

Page 3: Projet_RSS_Intelligence_Architecture des Systèmes de recherche d'information

7/29/2019 Projet_RSS_Intelligence_Architecture des Systèmes de recherche d'information

http://slidepdf.com/reader/full/projetrssintelligencearchitecture-des-systemes-de-recherche-dinformation 3/16

3 | P a g e  

1.  Introduction

L’objectif du projet est de réaliser un système de veille sur internet qui exploite des flux RSS et intégrer les étapes suivantes :

  Un crawler/reader de flux RSS qui exploite et collecte les flux RSS à distance sur Internet.

  Un module d’analyse des flux qui contient des fonctions de :

o Stemmer (la racinisation des mots) .

o L'anti-dictionnaire : utilisé pour supprimer les mots « vides ».

L'indexation des flux RSS récupérées consiste à extraire les mots considérés comme significatifs du corpus à explorer. Les mots extraits sontenregistrés dans une base de données sous format d’un dictionnaire inverse ce qui permet de retrouver rapidement les mots . 

La recherche en utilisant une technique qui permet de pondérer une mesure de cosinus en utilisant un indice de notoriété des flux.

Schéma global

 

Page 4: Projet_RSS_Intelligence_Architecture des Systèmes de recherche d'information

7/29/2019 Projet_RSS_Intelligence_Architecture des Systèmes de recherche d'information

http://slidepdf.com/reader/full/projetrssintelligencearchitecture-des-systemes-de-recherche-dinformation 4/16

Page 5: Projet_RSS_Intelligence_Architecture des Systèmes de recherche d'information

7/29/2019 Projet_RSS_Intelligence_Architecture des Systèmes de recherche d'information

http://slidepdf.com/reader/full/projetrssintelligencearchitecture-des-systemes-de-recherche-dinformation 5/16

Page 6: Projet_RSS_Intelligence_Architecture des Systèmes de recherche d'information

7/29/2019 Projet_RSS_Intelligence_Architecture des Systèmes de recherche d'information

http://slidepdf.com/reader/full/projetrssintelligencearchitecture-des-systemes-de-recherche-dinformation 6/16

6 | P a g e  

4.  Stockage des données

Puisque l’ajout de nouvelles Flux RSS est une opération fréquente, une structure type fichier de « log » peut être avantageuse , mais pour éviter le parcoure

de fichier log à chaque mise à jour ,on va passer par un hashtable (pointage rapide et la gestion des doublons ).

Cette étape consiste à stocker localement les dépêches RSS dans des fichiers LOG et à l’indexation incrémentale des éléments RSS ,et à chaque stockage on

vérifie que le dépêche n’existe pas dans fichier log via l’utilisation d’un hashtable . le but c’est d’accélérer la mise à jour.

Ce fichier log « fichier_log.log » contient tous les informations (

<title> <description> <link>...) pour chaque élément de flux RSS et aussi un

identificateur unique pour pointer rapidement sur les dépêches demandé et aussi pour éviter les redoublants.

identificateur unique est calculer par une fonction de hachage MD5 .,qui génère une clé en se basant sur les informations (<title> <description>

<link>...)

Page 7: Projet_RSS_Intelligence_Architecture des Systèmes de recherche d'information

7/29/2019 Projet_RSS_Intelligence_Architecture des Systèmes de recherche d'information

http://slidepdf.com/reader/full/projetrssintelligencearchitecture-des-systemes-de-recherche-dinformation 7/16

7 | P a g e  

Traduction UML 

La fonction ecrireFichier() de la class Writer_log permet de stocker localement les dépêches RSS dans des fichiers LOG

Format de fichier log :

Page 8: Projet_RSS_Intelligence_Architecture des Systèmes de recherche d'information

7/29/2019 Projet_RSS_Intelligence_Architecture des Systèmes de recherche d'information

http://slidepdf.com/reader/full/projetrssintelligencearchitecture-des-systemes-de-recherche-dinformation 8/16

Page 9: Projet_RSS_Intelligence_Architecture des Systèmes de recherche d'information

7/29/2019 Projet_RSS_Intelligence_Architecture des Systèmes de recherche d'information

http://slidepdf.com/reader/full/projetrssintelligencearchitecture-des-systemes-de-recherche-dinformation 9/16

9 | P a g e  

6.  L'indexation des flux RSS

Pour le modèle d’indexation on a choisi une représentation vectorielle – listes inverse car il permet une recherche rapide sur les termes mais aussi pour

chaque terme, on obtient une liste d’enregistrement contenant un PID, fréquence des termes et les positions des termes dans le document.

La première étape consiste à stocker la liste des mots dans un dictionnaire et pour chaque item une adresse unique qui point vers la liste inverse, cette liste

est présentée sous format d’une table de kyotocabinet de deux champs le did et une liste des items sérialisé

Page 10: Projet_RSS_Intelligence_Architecture des Systèmes de recherche d'information

7/29/2019 Projet_RSS_Intelligence_Architecture des Systèmes de recherche d'information

http://slidepdf.com/reader/full/projetrssintelligencearchitecture-des-systemes-de-recherche-dinformation 10/16

10 | P a g e  

Le dictionnaire c’est un hashtable qui contient tous les mots avec un identifiant et sa fréquence et son adresse dans la liste inverse, ces trois dernier sont

présenter sous format d’un objet « Info_mots »

A la fin de chaque mise à jour le dictionnaire est sérialisé dans le fichier « dictionnaire_mots.ser » avec la methode

Ce qui permet de garde le contenu du dictionnaire à la fin de l’exécution d’indexation. 

Traduction UML

dictionnaire liste inverse

Page 11: Projet_RSS_Intelligence_Architecture des Systèmes de recherche d'information

7/29/2019 Projet_RSS_Intelligence_Architecture des Systèmes de recherche d'information

http://slidepdf.com/reader/full/projetrssintelligencearchitecture-des-systemes-de-recherche-dinformation 11/16

Page 12: Projet_RSS_Intelligence_Architecture des Systèmes de recherche d'information

7/29/2019 Projet_RSS_Intelligence_Architecture des Systèmes de recherche d'information

http://slidepdf.com/reader/full/projetrssintelligencearchitecture-des-systemes-de-recherche-dinformation 12/16

12 | P a g e  

Fonction pour convertir un objet a un string en utilisant ByteArray

Page 13: Projet_RSS_Intelligence_Architecture des Systèmes de recherche d'information

7/29/2019 Projet_RSS_Intelligence_Architecture des Systèmes de recherche d'information

http://slidepdf.com/reader/full/projetrssintelligencearchitecture-des-systemes-de-recherche-dinformation 13/16

13 | P a g e  

7.  Module moteur de recherche

La recherche et la classification est réalisé via le modèle vectoriel, c’est une méthode algébrique de représentation d'un document. La similarité cosinus (ou

mesure cosinus) permet de calculer la similarité entre deux vecteurs à dimensions en déterminant l'angle entre eux.

Donc cette étape du projet consiste à l’implémentation de ce modèle vectoriel en calculant la similarité.

Pour évaluer l'importance d'un terme contenu dans une dépêche on calcule Le TF-IDF 

 f(i,j) = freq(i,j) / max(freq(l,j))

c’ est le nombre d ’ occurance de i dans j diviser sur le max nombre

d ’ occurance dans j 

i : un terme , j :un dépêche.

idf(i) = log (N/ni)

c’ est lelog du nombre total des dépêches diviser sur le nombre

dépêches contient le terme i

wij = f(i,j) * log(N/ni)

n

i k i

n

i ji

n

i k i ji

k  j

k  j

k  j

ww

ww

d d 

d d d d sim

1

2

,1

2

,

1 ,,),(

Page 14: Projet_RSS_Intelligence_Architecture des Systèmes de recherche d'information

7/29/2019 Projet_RSS_Intelligence_Architecture des Systèmes de recherche d'information

http://slidepdf.com/reader/full/projetrssintelligencearchitecture-des-systemes-de-recherche-dinformation 14/16

14 | P a g e  

Pour les termes de la requête on va utiliser la suggestion du cours (page 244)

wiq = (0.5 + [0.5 * freq(i,q) / max(freq(l,q)]) * log(N/ni) 

Pour calculer la similarité des dépêches il est important de fusionner les listes inverses des termes d ’ une requête

Ma liste fusionnée est sous le

format suivant

Page 15: Projet_RSS_Intelligence_Architecture des Systèmes de recherche d'information

7/29/2019 Projet_RSS_Intelligence_Architecture des Systèmes de recherche d'information

http://slidepdf.com/reader/full/projetrssintelligencearchitecture-des-systemes-de-recherche-dinformation 15/16

15 | P a g e  

Calcule de la similarité en parcourant ma liste fusionnée

n

i k in

i ji

n

i k i ji

k  j

ww

wwd d sim

1

2,1

2,

1 ,,),(

Page 16: Projet_RSS_Intelligence_Architecture des Systèmes de recherche d'information

7/29/2019 Projet_RSS_Intelligence_Architecture des Systèmes de recherche d'information

http://slidepdf.com/reader/full/projetrssintelligencearchitecture-des-systemes-de-recherche-dinformation 16/16

16 | P a g e  

8.  Index Traduction UML