Quelques manipulations pour déterminer la structure d'un hypertexte | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
IntroductionCe document montre quelques manipulations permettant de déterminer la "topologie" d'un hypertexte. Ces manipulations sont réalisées à partir d'un hypertexte généré par le processus par degré d'attirance décrit dans le document "Un simulateur pour la création d'hypertextes" . Topologie d'un hypertexteCette topologie est celle des graphes orientés dont on rappelle ici deux éléments: la structure papillon et les notions, héritées des travaux concernant le "web", d'autorité et de hub. La structure papillonL'ensemble des sommets (unités d'informations) d'une composante connexe peut se décomposer en 7 classes (Barabasi, 2002): .
Stratification du COREIl est possible de définir: K+n(u), ensemble des unités d'information que l'on peut atteindre depuis u en parcourant au plus n arêtes. De même: K-n(u), ensemble des unités d'information à partir desquelles il est possible d'atteindre u en parcourant n arêtes au plus. Kn(u) = K+n(u) Les ensembles sont imbriqués: Kn(u) De plus K Autorités et hubsUne "autorité" est une page (ou un site) référencée par de nombreuses autres pages. Un "hub" est une page (ou un site) référençant de nombreuses "autorités". Les tandems "autorité-hub" constituent l'ossature du "web". Dans cette définition, la notion de "hub" est subordonnée à la notion d' "autorité". Une autre acception serait de prendre "autorités" et "hubs" comme des notions duales. Cette distinction serait à préciser dans des cas pratiques pour juger de son utilité. On pourrait aussi distinguer les "autorités", "les portails" (appelés hub précédemment) et les "hubs" qui sont à la fois portails et autorités. Pour les "hubs et les "portails", il conviendrait alors de distinguer ceux qui se réfèrent plus spécifiquement à des "autorités". Le simulateurIl permet de céer des unités d'information, chacune caractérisée par:
Le nombre de lien et le type sont attribués
au hasard selon des distributions décrites dans les deux tables:
La matrice uis contient l'ensemble des unités d'information (une par ligne), les colonnes donnant le numéro, le degré de fitness, le nombre de liens et le type. Les liens sont fabriqués selon un coefficient d'attirance qui dépend des types respectifs de la source et de la cible, du degré de fitness de la cible et du nombre de liens de la cible. r est la matrice d'adjacence. rij = 1 signifie qu'il y a un lien de l'unité d'information i vers l'unité d'information j. Exemple techniqueLa commande load simul initialise les variables (y compris 2 unités d'information). Le commande agreg(13,5) ajoute 13 unités d'information, puis elle choisit 5 unités d'information à partir desquelles des liens sont établis selon le même algorithme que précédemment, La matrice obtenue est: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 r = 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 4 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 5 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 6 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 7 0 1 0 1 1 1 0 0 0 0 0 0 1 0 1 8 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 12 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 13 0 0 0 0 1 1 0 0 0 1 1 0 0 0 1 14 0 0 0 0 0 0 1 0 0 1 0 1 1 0 1 15 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 La commande tri_r permet d'obtenir une statistique. Pour chaque unité d'information on calcule l'ordre du sommet, le nombre de liens entrants (descripteurs) et le nombre de liens sortants (référents). UI ordre nb de nb de descr. réf. 7 10 4 6 5 8 6 2 15 8 5 3 13 8 3 5 6 6 4 2 12 5 2 3 10 5 2 3 14 5 0 5 4 4 3 1 2 3 2 1 11 1 1 0 1 1 1 0 8 1 0 1 3 1 0 1 9 0 0 0 66 33 33 On voit que les unités 7, 5, 15 et 13 constituent des unités centrales. Les unités 14, 8, 3 n'ont pas de liens entrants (ce sont des sources), les unité 1 et 11 sont au contraire des puits (pas de liens sortants). L'unité 9 est isolée.
AnalyseLe but est de trouver la structure "papillon" de l'hypertexte. L'unité d'information 7 est un candidat pour la création du "CORE". En calculant la clôture transitive r + ... + r^15 (mod 2) on trouve toutes les unités d'informations qui lui sont liées. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 3 1 1 0 1 1 1 1 0 0 1 1 1 1 0 1 4 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 5 1 1 0 1 1 1 1 0 0 1 1 1 1 0 1 6 1 1 0 1 1 1 1 0 0 1 1 1 1 0 1 7 1 1 0 1 1 1 1 0 0 1 1 1 1 0 1 8 1 1 0 1 1 1 1 0 0 1 1 1 1 0 1 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 10 1 1 0 1 1 1 1 0 0 1 1 1 1 0 1 11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 12 1 1 0 1 1 1 1 0 0 1 1 1 1 0 1 13 1 1 0 1 1 1 1 0 0 1 1 1 1 0 1 14 1 1 0 1 1 1 1 0 0 1 1 1 1 0 1 15 1 1 0 1 1 1 1 0 0 1 1 1 1 0 1 On observe qu'il n'est pas possible de revenir sur 7 à partir des unités d'information (1 2 4) qui sont à exclure du CORE. Finalement celui-ci se compose des unités (5 6 7 10 12 13 15). Finalement:
Automatisation du calculPour rechercher le CORE d'un graphe orienté (de l'hypertexte) lorsque le nombre d'unités est important, la procédure suivante peut être proposée:
Ce processus donne donc la taille du CORE généré
par chacun des sommets du graphe (rappel si Cx et le CORE
généré par x et si y Un même processus peut être utilisé pour déterminer Kn(u) à partir de l'uniévaluation de GB + GB^2 + ... + GB^n . Autre approcheIl est également possible d'utiliser la normalisation introduite dans le document Structure d'un hypertexte sous forme matricielle après avoir reconstruit les matrices D et R. L'introduction d'une coupure à 0.1, montre la structure suivante: Les valeurs numériques sont les suivantes:
où DX représente un manque en référents (la valeur 14 indique un puit) et DY un manque en descripteur (la valeur 14 indique une source). Utilisation du laplacien combinatoireLa commande l=lap(r)calcule le laplacien combinatoire de r dont la version pleine (l1=full(l)) est: 1,-1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 -1, 3, 0,-1, 0, 0,-1, 0, 0, 0, 0, 0, 0, 0, 0 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,-1 0,-1, 0, 4,-1,-1,-1, 0, 0, 0, 0, 0, 0, 0, 0 0, 0, 0,-1, 8,-1,-1,-1, 0,-1, 0,-1,-1, 0,-1 0, 0, 0,-1,-1, 6,-1, 0, 0,-1, 0,-1,-1, 0, 0 0,-1, 0,-1,-1,-1, 9, 0, 0,-1, 0,-1,-1,-1,-1 0, 0, 0, 0,-1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 0, 0, 0, 0,-1,-1,-1, 0, 0, 5, 0, 0,-1,-1, 0 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,-1, 0, 0 0, 0, 0, 0,-1,-1,-1, 0, 0, 0, 0, 5, 0,-1,-1 0, 0, 0, 0,-1,-1,-1, 0, 0,-1,-1, 0, 7,-1,-1 0, 0, 0, 0, 0, 0,-1, 0, 0,-1, 0,-1,-1, 5,-1 0, 0,-1, 0,-1, 0,-1, 0, 0, 0, 0,-1,-1,-1, 6 Les valeurs propres de l1 sont: 0 ; 0 ; 0.57 ; 0.83 etc. Il y a donc deux composantes connexes comme déjà observé (l'unité isolée 9 et le reste). Le vecteur propre correspondant à la valeur propre 0.57 est: 1 0.82082 2 0.35583 3 -0.25851 4 0.062867 5 -0.07151 6 -0.050681 7 -0.017781 8 -0.16496 9 0 10 -0.073295 11 -0.22962 12 -0.076119 13 -0.099539 14 -0.08544 15 -0.11206 Il nous indique que outre 9 isolé, les unitiés C1 = {1, 2, 4} (coefficients positifs) forment un paquet relativement peu connecté au reste C2 = {3, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15}. C'est une approximation qui minimise: cut(C1,C2) * (1/#C1 + 1/#C2) Approche alternativeLa théorie (Kleinberg, 1997) indique que les "hubs" correspondent aux unités d'information liées aux composantes maximales du vecteur propre associé à la valeur propre maximum de la matrice d'adjacence multipliée par sa transposée. Pour les "autorités", il faut prendre le produit de la transposée par la matrice d'adjacence. Dans notre cas r'* r et r * r' ont pour valeur propre maximum 14.6. Les vecteurs propres correspondants sont v1 et v2:
n 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 v1 0 .15 0 .24 .52 .43 .32 0 0 .21 .12 .15 .29 0 .43 Les unités 5, 6, 15, 7 et 13 sont des "autorités". Les unités 7, 13, 12, 10 et 14 sont plutôt des "portails". Les unités 7 et 13 sont des "hubs". A noter que les composantes d'un des vecteurs pour les "puits", les "sources" et les unités isolées (unités 1, 2, 3, 8, 9, 11 et 14) sont nulles. Bibliographie et notesBarabasi, A.-L. (2002). Linked, The New Science of Networks. Cambridge, MA : Perseus Publishing. Kleinberg, J.M. (1997). Authoritative sources in a Hyperlinked Environment. IBM Research Report RJ 10076, May 1997. [1] En prenant n > || G ||, cela permet d'avoir
une série |
(c) A. Favre, VisioSoft, S.A. & L.-O. Pochon, IRDP, 2003