Système de recommandation dans un réseau social professionnel : Phase Maria Malek 3 février 010 1 Traitement du réseau des citations Nous rappelons que le réseau que nous venons d extraire à partir du site libra.msra.cn est un graphe orienté dans lequel chaque sommet correspond à un auteur donné du domaine et chaque arc est une citation. Nous rappelons qu à chaque sommet du graphe est associé un vecteur pondéré de mots ou de termes décrivant le profile utilisateur. Les liens orientés de ce graphe expriment les citations entre auteurs autrement dit : un lien X Y signifie que X cite Y. Ce lien sera pondéré par un entier exprimant le nombre de citations de Y par X. Les boucles sont omis du graphe. Une fois le réseau est extrait, il faut isoler la composante connexe la plus dense du réseau (voir les algorithmes), nous appelons cette composante L. 1.1 Extraction du graphe de similarité structurelle Le graphe de similarité structurelle est un graphe non orienté extrait à partir de C. Les nœuds de ce graphes sont les auteurs. Une arête entre deux auteurs exprime la similarité structurelle entre deux auteurs. Deux auteurs sont "structurellement" similaires s ils citent un certain nombre d articles en commun et/ou s ils sont cités par une certain nombre d articles. Nous associons toujours à chaque sommet du graphe un vecteur pondéré de mots ou de termes décrivant le profile utilisateur. A partir du graphe connexe de citation C nous allons extraire deux matrices exprimant la similarité structurelle entre deux auteurs. Soit L la matrice représentant la composante connexe L extraite auparavant, le terme L ij vaut n si i cite j n fois, sinon il vaut 0. Nous construisons : La matrice de co-citation La co-citation est une mesure de similarités entre deux auteurs qui exprime le fait que si l auteur i et j sont cités par le même auteur k alors ils sont liés. De même, si les auteurs i et j sont cités par plusieurs auteurs alors ils sont similaires. La co-citation est une mesure qui est définie par : C ij = n L ki L kj k=1 1
1. Etude globale du graphe de similarité Remarquer bien que la mesure de co-citation est symétrique. Figure 1 Exemple : k appartient à la co-citation entre i et j Le couplage bibliographique La couplage bibliographique est une mesure de similarités entre deux auteurs qui exprime le fait que si les auteurs i et j citent l auteur k alors ils sont liés. De même, si les auteurs i et j citent plusieurs auteurs alors ils sont similaires. Le couplage bibliographique est une mesure qui est définie par : B ij = n L ik L jk k=1 Remarquer bien que la mesure du couplage bibliographique est symétrique. Le graphe de similarité structurelle correspond à la matrice B + C et est défini ainsi : une arête est crée entre les sommets i et j si la condition [B + C][i][j] >= seuil est vérifiée. Nous appelons le graphe de similarité non orienté ainsi obtenu : S. 1. Etude globale du graphe de similarité Pour cette composante connexe, nous calculons le nombre de sommets n et le nombre d arêtes m. Sachant que pour un arbre (graphe connexe acyclique, ou bien le graphe connexe minimum obtenu sur n sommets) nous avons m = n 1 et que pour un graphe connexe m = n (n 1 Maria Malek- EISTI
Figure Exemple :k appartient au couplage bibliographique entre i et j Il existe certaines mesures globales qui permettent d avoir une idée sur la structure globale du réseau, nous citons : La densité du graphe : permet de décrire la connectivité à l intérieur du graphe représentant le réseau : m D = n (n 1) où m étant le nombre de liens dans le graphe, n étant le nombre de nœuds, remarquer bien que le nombre maximal de liens dans un graphe est n (n 1). La distance géodésique entre deux nœuds est le plus court chemin entre les deux nœuds. La distance moyenne d un graphe connecté est égale à la moyenne des distances géodésiques entre toutes les pairs d acteurs. Le diamètre d un graphe connecté est égal à la distance géodésique maximale au sein d un groupe. L algorithme de recommendation Objectif L objectif étant de proposer un algorithme de recommandation qui fonctionne ainsi : à partir d une requête posée par l auteur X formulée par une suite de mots (termes) clés : trouver l ensemble d auteurs {Z 1, Z,.., Z n } correspondants au mieux à la requête ainsi que la chaîne sémantique reliant les deux auteurs. Une chaîne sémantique reliant deux auteurs X, Z i est consti- Maria Malek- EISTI 3
.1 Algorithme exhaustive de recherche de toutes les solutions tuée de la liste de mots (termes) clefs se trouvant dans la suite des sommets reliant X à Z i. l algorithme consiste à trouver l arbre couvrant maximum (par rapport aux poids des arêtes) et à extraire de cet arbre une liste triée à recommender des sommets. Soit R X la requête posée par le sommet X sous forme d un ensemble de termes T i pondérés par leurs fréquences P i R X = {(T 1, P 1 ), (T, P ).., (T n, P n )}et P ro Z, le profil associé à un sommet donné Z donnée également par un ensemble de termes pondérés :{(T 1, P 1), (T, P ).., (T m, P m)}. Nous définissons la similarité entre les deux sommets X et Z par : sim(x, Z) = R X P ro Z R X P ro Z. D un autre côté, nous utilisons l algorithme suivant qui est une adaptation de celui de Kruskal pour trouver l arbre couvrant A à partir d un graphe valué G,où E étant l ensemble d arêtes de ce graphe : Algorithm 1 Construction de l arbre couvrant A à partir d un graphe valué G composé de l ensemble E d arêtes procedure ArbreCouvrant (G,v) F E A Φ tantque A < n 1 faire Trouver e F tel que v(e) soit maximum F F e si G(A {e}) est acyclique alors A A {e} fin si fin tantque.1 Algorithme exhaustive de recherche de toutes les solutions Soit A l arbre couvrant de ce graphe : nous proposons un algorithme de recherche dans A des sommets Z i à recommender à X à partir de sa requête. Un parcours en largeur dans A Nous permettra de trouver un ensemble {Z 1, Z,.., Z n } pour lesquelles nous avons sim(x, Z i ) >= seuil. Nous associons à chaque Z i proposé un poids "rating" qui exprime l importance de la recommandation. Ce poids dépend de deux paramètres : La similarité avec les éléments de la requêtes. L intermédiarité des sommets se trouvant dans la chaîne reliant X à Z i. L intermédiarité doit être calculée dans le graphe d origine G et non pas dans A!! Soit R i le rating à associer au sommet Z i, Soient [Y 1, Y,.., Y l ] la liste des sommets se trouvant sur la chaîne reliant X à Z i. R i est calculé par : R i = sim(x, Z i ) R i = sim(x, Z i ) sinon l j=1 intermediarity(y j) l si l >= 1 Maria Malek- EISTI 4
. Algorithme guidée pour la recherche d une solution. Algorithme guidée pour la recherche d une solution Nous proposons une deuxième version permettant de trouver une solution en simplifiant le chemin de la recherche dans l arbre couvrant A. Nous utilisons une heuristiques permettant de choisir le sommet à visiter parmi un ensemble de sommets candidats. Pour cela, nous choisissons à chaque étape de passer par le sommet Y maximisant l heuristique h(y ) = sim(x, Y ) intermediarity(y ), jusqu à ce qu on arrive à un sommet Z à recommender (pour lequel nous avons sim(x, Z) >= seuil)..3 Validation de l algorithme Il s agit d évaluer la version guidée de l algorithme par rapport à la version exhaustive pour cela nous proposons le scénario suivant d expérimentations : Élaborer un ensemble de requêtes à tester par un auteur X selon les termes trouvés dans la communauté. Pour chaque requête appliquer les deux versions de l algorithme et relever les mesures suivantes : par rapport à l algorithme ex- le rang de l auteur trouvé par l algorithme guidé haustive (ça serait super si on trouve toujours 1!!) Le nombre de sommets parcours etc. par l algorithme guidé. Maria Malek- EISTI 5