Recommandation dans les réseaux sociaux professionnels Application sur un réseau bibliographique 6 mai 2010
Objectif et Motivation Techniques utilisées Algorithme exhaustive de recherche de toutes les solutions Algorithme guidée pour la recherche d une solution Validation de l algorithme
Objectif du système Objectif et Motivation Hypothèse : notre réseau est composé d un ensemble de personnes ayant des liens professionnels. Proposition d un système de recommandation : Requête posée par un utilisateur X : un acteur dans le réseau social. Proposer (recommander) un ou plusieurs acteurs répondant au mieux aux critères demandés. Exemple : Recherche d une personne ayant des compétences données pour un poste, Recherche d une collaboration scientifique, etc.
Idée de l algorithme Objectif et Motivation Algorithme qui combine la sémantique, la structure & les propriétés des réseaux sociaux : Sémantique : L information stockée sur la personne (l acteur) d une façon décentralisée au niveau de chaque nœud, peut être représentée en utilisant une ontologie : profil utilisateur. Structure : L information décrite par la structure du réseau même : technique de l arbre couvrant minimum (ou maximum). Propriétés du réseau : L intermédiarité des acteurs passants par les chemins retenus : acteurs prestigieux.
Application : réseau bibliographique Etude d un réseaux de références bibliographiques Modélisation par un graphe non dirigé : Les nœuds de ce graphe étant les auteurs. au niveau de chaque acteur-auteur un vecteur pondéré de mots clefs, exprimant sont profil est stocké. Une relation (arête dans un graphe) entre deux auteurs exprime une similarité de comportement signifie qu il existe un nombre suffisant de références citées par eux et/ou un nombre suffisant d auteurs qui les ont cités. Deux auteurs ont une relation professionnelles s ils utilisent nombreux supports en commun (couplage bibliographique) Deux auteurs ont une relation professionnelles s ils sont cités par nombreux auteurs (co-citation).
1. Extraction du réseau Extraction du graphe de citations : graphe dirigé à partir du site de références bibliographique libra.msra.cn : communauté datamining. Extraction du graphe de similarité structurelle de co-citation, couplage à partir du graphe précédent : graphe non dirigé : notre réseau social 2. Mise en œuvre de l algorithme de recommandation Elaboration de l arbre couvrant maximum (pré-calcul). Calcul des intermédiarités des nœuds du graphe (pré-calcul). Mise en œuvre d une mesure de similarité sémantique.
Extraction d un réseau bibliographique à partir d un site de références bibliographique : libra.msra.cn : domaine datamining simplification nous nous limitons à l ensemble des publications effectuées à partir de l année 2005. Modélisation par un graphe dirigé : Les nœuds de ce graphe étant les auteurs au niveau de chaque acteur-auteur un vecteur pondéré de mots clefs. liens dirigés étant les citations entre auteurs pondérés par leur nombre.
: Exemple Communauté data mining : graphe orienté Profil : vecteur pondéré de mots clefs. un lien X Y signifie que X cite Y. Ce lien est pondéré par un entier exprimant le nombre de citations de Y par X.
Extraction du graphe de similarité structurelle Extraction d un graphe non orienté à partir du graphe de citations C. Les nœuds de ce graphes sont les auteurs. Une arête entre deux auteurs exprime la similarité structurelle entre deux auteurs. Graphe de similarité structurelle (réseau social) 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. Combinaison de la co-citation et le couplage bibliographique.
Extraction du graphe de similarité structurelle - Illustration Le couplage bibliographique &la matrice de co-citation sont définis par : B ij = n k=1 L ik L jk & C ij = n k=1 L ki L kj
Extraction du graphe de similarité structurelle - Techniques Soit L la matrice représentant la composante connexe la plus grande du graphe C. la matrice de co-citation est définie par : C ij = n L ki L kj k=1 Le couplage bibliographique est définie par : B ij = n L ik L jk Combinaison des deux techniques : Le graphe de similarité structurelle est crée à partir de la matrice B + C. une arête est crée entre les sommets i et j si [B + C][i][j] >= seuil k=1
Extraction du graphe de similarité structurelle - Illustration Le couplage bibliographique &la matrice de co-citation sont définis par : B ij = n k=1 L ik L jk & C ij = n k=1 L ki L kj
Entrée : d une requête posée par l auteur X formulée par une suite de mots (termes) clés : Sortie : une suite pondérée d auteurs {(Z 1, P 1 ), (Z 2, P 2 ).., (Z n, P 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 constituée de la liste de mots (termes) clefs se trouvant dans la suite des sommets reliant X à Z i. Étapes de l algorithme L arbre couvrant maximum (par rapport aux poids des arêtes) étant déjà calculé, les intermédiarités des nœuds étant déjà calculées et stockées, Extraire de cet arbre une liste de sommets triée à recommander.
- Illustration La liste de sommets à recommander [Z 4, Z 3, Z 1, Z 2 ] Le chemin sémantique entre X et Z 4 est [pro(x ), pro(y 1 ), pro(y 2 ), pro(z 4 )]
Techniques utilisées : Arbre couvrant- Illustration
Techniques utilisées : Arbre couvrant 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 : procedure Kruskal (G,v) F E A Φ tantque A < n 1 faire Trouver e F tel que v(e) soit minimum(ou maximum) F F e si G(A {e}) est acyclique alors A A {e} fin si fin tantque
Techniques utilisées : Intermédiarités des nœuds Deux nœuds non adjacents k & j qui se communiquent et si le nœud i se trouve sur le chemin de communication : i est un acteur itérmédiaire. C B (i) = j<k p jk (i) p jk p jk le nombre des chemins les plus cours entre j et k, p jk (i) le nombre des chemins les plus cours entre j et k passant par i.
Techniques utilisées : Mesure de similarité R X la requête posée par le sommet X sous forme d un ensemble de termes T i : R X = {T 1, T 2.., T n } Pro Z, le profil associé à un sommet donné Z donné également par un ensemble de termes pondérés :Pro Z = {(T 1, P 1 ), (T 2, P 2 ).., (T m, P m )}. Nous définissons la similarité (la pertinence) entre la requête R X et le profil du sommet Pro Z par : Pro Z.P j. sim(r X, Pro Z ) = j inter(r X,Pro Z ) m Pro Z.P j + R X \ Pro Z i=1 avec : inter(r X, Por Z ) = {k {1,..m}, Pro Z.T k R X }
Version 1 : Algorithme exhaustive Recherche dans A (l arbre couvrant) des sommets Z i à recommander à X à partir de sa requête. Parcours en largeur dans A : trouver un ensemble {Z 1, Z 2,.., Z n } tel que sim(r X, Pro Zi ) >= seuil. Nous associons à chaque Z i proposé un poids rating qui exprime l importance de la recommandation : P i étant le rating à associer au sommet Z i, soient [Y 1, Y 2,.., Y l ] la liste des sommets se trouvant sur la chaîne reliant X à Z i. Pi est calculé par : l j=1 P i = sim(r X, Pro Zi ) intermediarite(y j ) l si l >= 1 P i = sim(r X, Pro Zi ) sinon
l algorithme exhaustive - Illustration La liste de sommets à recommander [(Z 4, P 4 ), (Z 3, P 3 ), (Z 1, P 1 ), (Z 2, P 2 )] l j=1 P i = sim(r X, Pro Zi ) intermediarite(y j ) l si l >= 1 P i = sim(r X, Pro Zi ) sinon
Version 2 : Algorithme guidée Deuxième version permettant de trouver une solution. Trouver le chemin de la recherche dans l arbre couvrant A. Utilisations d une heuristique permettant de choisir le sommet à visiter parmi un ensemble de sommets candidats : Algorithme de type A*, permettant de passer à chaque étape par le sommet Y maximisant l heuristique : h(y ) = sim(pro X, Pro Y ) intermediarite(y ), Jusqu à ce qu on arrive à un sommet Z à recommander pour lequel nous avons :. sim(x, Z) >= seuil
Validation de l algorithme Évaluer la version guidée par rapport à la version exhaustive. Élaborer un ensemble de requêtes à tester par un auteur X en utilisant les termes trouvés dans la communauté. Pour chaque requête appliquer les deux versions de l algorithme et relever les mesures suivantes : Le rang de l auteur trouvé par l algorithme guidé par rapport à l algorithme exhaustive. Le nombre de sommets parcours par l algorithme guidé. etc. Comparaison avec les autres algorithmes de recherche
Le débat : Est ce que le graphe de similarité structurelle est un réseau social? Perspectives... Elaboration plus fine du profil utilisateur. Étendre l algorithme pour des recommandations inter-communautés. Utiliser l arbre couvrant pour des fins sémantiques : Proposer ou affiner une ontologie d un domaine. Découvrir des rapprochements sémantiques entre les communautés (arbre couvrant et chemins sémantiques).
Formalises et outils utilisés FOAF (Friend Of A Friend) qui est fondé sur RDF, il permet de modéliser les profils acteurs-utilisateurs, ainsi que les interactions entre les utilisateurs. Networkx... Jena est une plateforme Java pour la construction des applications Web avec RDF, RDFs, OWL, SparQL, elle inclut un moteur basé sur les règles d inference. JUNG est un outil de programmation pour l analyse des réseaux sociaux (librairie Java) contenant des algorithmes de traitement de graphes, de fouille de données et d analyse de réseaux sociaux. Wordnet...
Résultats : Graphe de similarité & Arbre couvrant
Résultats : Propriétés du réseaux & Recommandation