• Aucun résultat trouvé

Chapitre 5 : Spécification et conception du système SARIPOD

1. Spécification du système SARIPOD

1.5 Module d’analyse de documents Web

Ce module utilise des connaissances sur la structure logique de chacun des documents retrouvés par le crawler. En effet, il tient compte de la liste des termes de la requête et leurs fréquences respectives dans chacune des entités logiques du document. De plus, ce module permet d’extraire la structure logique d’un document Web en termes de titres, de paragraphes et de légendes suivant l'architecture de la figure 5.10.

Nous proposons une décomposition de ce module en trois étapes successives : 1. la génération de l’arbre DOM ;

2. la segmentation de document ;

3. l’identification des fragments logiques du document. Nous détaillons dans la suite chacun de ces trois étapes.

Figure 5.10 : Architecture interne du module d’analyse de page Web 1.5.1 Segmentation du document

La segmentation du document HTML28 en une liste de blocs se base sur le changement de style et sur les séparateurs visuels. En effet, nous avons opté pour l'utilisation de l’arbre DOM. Ce dernier fournit plusieurs informations sur les nœuds du document et facilite son parcours. Une fois le document transformé en un arbre DOM, il s'agit de parcourir cet arbre pour engendrer la liste des blocs physiques et déterminer le style de chaque bloc sachant que le style est représenté par les différents attributs de style. La segmentation tient compte aussi des blocs non textuels. En effet, la liste des blocs engendrée par cette étape contient aussi bien des blocs textuels que des images, des tableaux, des séquences multimédia, des listes et des liens. Pour chacun de ces types de blocs, il faut calculer un certain nombre d'attributs. Par exemple, pour les images nous identifions l'attribut «src» qui indique le chemin au fichier source de l'image. Pour distinguer les différents types de blocs et leurs attributs, nous utilisons l'étiquetage basé sur les balises et les attributs HTML. En effet, nous traitons tous les types

28

Dans cette version du système SARIPOD, nous traitons les documents HTML, mais un document XML facilitera encore plus les choses car on n'aura plus besoin d'interpréter les composants de la structure physique (aspects visuels, styles,…) et il suffira d'examiner la feuille de style attachée au document ou encore mieux le nom ou le rôle (la signification) même des balises (ex: titre, note, légende, énumération,…).

Arbre DOM

Liste des blocs et des

styles

Module de Segmentation

Fragments logiques

de la page Web Module

Fragmentation logique page

Web

Générateur d’arbre DOM

d'informations en même temps. Dans cette étape nous engendrons aussi la liste des styles rencontrés dans le document Web comme dans les travaux de [Bounhas, 2006].

1.5.2 Identification des titres et des légendes

Il s'agit d'utiliser la méthode d'étiquetage pour retrouver le plan du document. A ce stade, nous utilisons deux types d'étiquetage à savoir :

L'étiquetage basé sur le style. Après avoir calculé le niveau de chaque style de la liste des

styles construite dans l'étape précédente, nous attribuons à chaque bloc une étiquette qui traduit son niveau dans la hiérarchie du document.

L'étiquetage sémantique. Il s'agit d'identifier les titres des légendes telles que les légendes

des figures, des tableaux et des séquences multimédia. Nous attribuons à chaque bloc, dont le texte correspond à un titre de légende, une étiquette qui indique le type de la légende.

Identification des titres potentiels. L'objectif de ce traitement est d'identifier les blocs qui

« peuvent être des titres ». Ainsi, nous calculons, pour chaque bloc, un attribut indiquant s'il « peut être un titre ». Pour ce faire, nous nous basons sur les attributs précédemment calculés. Nous considérons qu'un bloc peut être un titre s'il satisfait aux conditions suivantes :

• Le séparateur avant est non nul ;

• Le nombre de mots est inférieur à un seuil donné ;

• Le bloc n'est pas un lien ;

• Le bloc n'est ni un tableau, ni une image, ni une liste ;

• Le nombre de caractères alphanumériques est supérieur à zéro ;

• Le séparateur arrière est non nul ou il est nul mais le nombre de caractères du bloc est

supérieur à un seuil donné.

En effet, pour tout bloc qui « peut être un titre », nous calculons un attribut « niveau » qui traduit son niveau dans la hiérarchie des titres du document. En fait, chaque bloc qui « peut être un titre » hérite le niveau de son style calculé en combinant trois critères à savoir le poids du style, sa régularité ainsi que sa fréquence dans le document.

Le calcul des poids des styles. Nous calculons, pour chaque style, un poids en fonction de

ses attributs en utilisant la formule suivante :

= = 6 1 ) ( j j i j i p a S Poids (5.1)

En effet, le poids d’un style est la somme des valeurs de ses attributs pondérés par des poids. Dans cette formule j

i

a indique la valeur de l’attribut de style numéro j pour le style Si. Le

calcul de cette valeur dépend de la nature de l’attribut. En effet:

1 i

a : prend la valeur de l’attribut taille.

2 i

a , ai3, 4 i

a : prennent la valeur 1 si le style est gras, italique ou souligné, 0 sinon.

5 i

a : fréquence de la police du style en nombre de mots dans le document.

6 i

a : prend la valeur 2 si le style est centré, 1 si le style est aligné à droite, 0 sinon.

pjindique le poids que nous attribuons à l’attribut de style numéro j. Ces poids ont été fixés

par apprentissage. En effet, d’après notre étude des documents HTML, la taille de la police puis l’alignement sont les attributs les plus utilisés pour distinguer les titres. Le gras, l’italique

et le soulignement viennent dans un deuxième niveau. En effet, nous considérons que le poids d’un style peut être calculé en se limitant à ces attributs. Nous attribuons, ensuite, des niveaux préliminaires aux blocs. Le style ayant le poids le plus élevé se verra attribué du niveau 1. Il est à noter que deux styles différents peuvent avoir le même niveau préliminaire puisque nous attribuons le même poids au soulignement, au gras et à l’italique. Pour résoudre ce problème, nous procédons au calcul de la régularité des titres.

Le calcul de la régularité des titres. Ce calcul vise à différencier les styles qui ont le même

niveau préliminaire. Il s’agit de parcourir les blocs qui ont l’étiquette "PeutEtreTitre" pour attribuer des scores de régularité aux différents styles. Le score d’un style est fonction des styles qui le précèdent. En effet, l’algorithme de régularité, que nous avons défini, utilise une pile P pour stocker les styles déjà rencontrés. Le score d’un style Si est incrémenté s’il est

précédé d’un style ayant un poids plus important. Il est décrémenté s’il est précédé d’un style de même niveau préliminaire.

Pour illustrer le fonctionnement de l’algorithme, nous présentons un exemple de document où la notion de régularité permet de rectifier les niveaux préliminaires attribués aux blocs.

Figure 5.11 : Exemple de document où la notion de régularité peut être appliquée

Lors de la segmentation du document présenté par la figure 5.11, quatre styles sont identifiés. Cependant, trois d’entre eux auront le même niveau dans le calcul préliminaire car ils ont la même taille de la police (Il s’agit des styles des titres du deuxième, du troisième et du quatrième niveau) et le même alignement (pour les styles des titres de même niveau).

Lorsqu’on calcule la régularité, le score de S2 est incrémenté lors de la rencontre du titre

"1.1Tri par sélection" car le style qui le précède (S1) a un niveau inférieur. Le score de S3 est

décrémenté lors de la rencontre du titre "Algorithme" car le style qui le précède (S2) a le

même niveau. Le score de S4 est décrémenté de deux unités lors de la rencontre du titre "En

pascal" car il est précédé par deux styles de même niveau à savoir S2 et S3. Les scores de

régularité ainsi calculés permettent de distinguer les niveaux des styles. Etant donnés deux styles ayant le même niveau préliminaire, celui qui a le score de régularité le plus élevé aura le niveau le plus bas.

En fait, le calcul de régularité permet de rectifier les niveaux des titres dans les documents ayant une hiérarchie de sections à plusieurs niveaux. Sans ce calcul, plusieurs titres ayant des niveaux différents se verront attribués le même niveau.

Tri des styles par fréquence. Le troisième critère de tri des styles est la fréquence en nombre

de mots dans le document. En effet, nous considérons que le style le moins fréquent est le style le plus important. Ainsi, une fois les scores de régularité calculés, les styles sont triés en

1 Les algorithmes de tri

1.1 Tri par sélection

... Algorithme En Pascal ... En C ... 1.2 Tri par insertion

……….

2 Les heuristiques

utilisant le poids, le score de régularité puis la fréquence en nombre de mots. Ensuite nous attribuons un niveau définitif à chaque style. Une fois le calcul des niveaux des styles achevé, il s’agit de calculer l’attribut "niveau" des blocs de la manière suivante:

• Tout bloc qui « peut être un titre » hérite le niveau de son style. Ainsi il est marqué comme titre.

• Les autres blocs auront un niveau fictif égal à -1.