Système de recommandation dans un réseau social professionnel : Phase 2

Documents pareils
Intégration de la dimension sémantique dans les réseaux sociaux

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

Chapitre 5 : Flot maximal dans un graphe

Big Data et Graphes : Quelques pistes de recherche

Big Data et Graphes : Quelques pistes de recherche

Plus courts chemins, programmation dynamique

Jean-Philippe Préaux

Une nouvelle approche de détection de communautés dans les réseaux sociaux

Contrainte de flot pour RCPSP avec temps de transfert

Eléments de Théorie des Graphes et Programmation Linéaire

Introduction à la théorie des graphes. Solutions des exercices

Gestion des Clés Publiques (PKI)

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

Feuille TD n 1 Exercices d algorithmique éléments de correction

Modélisation multi-agents - Agents réactifs

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.


Baccalauréat ES/L Amérique du Sud 21 novembre 2013

Correction du baccalauréat ES/L Métropole 20 juin 2014

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

Le Web Social Cécile Favre Laboratoire ERIC, Université Lyon 2 France. Ludovic Denoyer LIP 6, Université Pierre et Marie Curie France

introduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives

Limitations of the Playstation 3 for High Performance Cluster Computing

L exclusion mutuelle distribuée

Objectifs. Clustering. Principe. Applications. Applications. Cartes de crédits. Remarques. Biologie, Génomique

Baccalauréat ES Antilles Guyane 12 septembre 2014 Corrigé

Algorithmes récursifs

Pourquoi l apprentissage?

Cycle de vie du logiciel. Unified Modeling Language UML. UML: définition. Développement Logiciel. Salima Hassas. Unified Modeling Language

Travaux pratiques. Compression en codage de Huffman Organisation d un projet de programmation

Conception de réseaux de télécommunications : optimisation et expérimentations

Algorithmique et Programmation, IMA

Partie 1. La structure des réseaux sociaux

Atelier Transversal AT11. Activité «Fourmis» Pierre Chauvet.

Francis BISSON ( ) Kenny CÔTÉ ( ) Pierre-Luc ROGER ( ) IFT702 Planification en intelligence artificielle

TRS: Sélection des sous-graphes représentants par l intermédiaire des attributs topologiques et K-medoïdes

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

LIVRE BLANC Décembre 2014

Chapitre 4 : Exclusion mutuelle

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments

La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

Optimisation multi-critère pour l allocation de ressources sur Clouds distribués avec prise en compte de l énergie

Programmation Linéaire - Cours 1

Reconstruction de bâtiments en 3D à partir de nuages de points LIDAR

Définition et diffusion de signatures sémantiques dans les systèmes pair-à-pair

Organigramme / Algorigramme Dossier élève 1 SI

Algorithmique et Programmation

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation

IBM SPSS Modeler Social Network Analysis 15 Guide de l utilisateur

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

Le futur du travail est arrivé. Your time, our technologies

Durée de L épreuve : 2 heures. Barème : Exercice n 4 : 1 ) 1 point 2 ) 2 points 3 ) 1 point

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

SOCLE COMMUN - La Compétence 3 Les principaux éléments de mathématiques et la culture scientifique et technologique

Vers une approche Adaptative pour la Découverte et la Composition Dynamique des Services

EP A1 (19) (11) EP A1 (12) DEMANDE DE BREVET EUROPEEN. (43) Date de publication: Bulletin 2009/25

La fraude à la carte bancaire

LE PROBLEME DU PLUS COURT CHEMIN

Exercices Alternatifs. Une fonction continue mais dérivable nulle part

Exercices Alternatifs. Une fonction continue mais dérivable nulle part

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Powerbat Portail web de services énergétiques

LES OUTILS D ALIMENTATION DU REFERENTIEL DE DB-MAIN

Baccalauréat ES/L Métropole La Réunion 13 septembre 2013 Corrigé

Intelligence Artificielle Planification

Classification Automatique de messages : une approche hybride

4. Les structures de données statiques

Cours de Master Recherche

pour les canalisations de transport 14 avril

Enrichissement du profil utilisateur à partir de son réseau social dans un contexte dynamique : application d une méthode de pondération temporelle

Raisonnement probabiliste

Techniques d interaction dans la visualisation de l information Séminaire DIVA

Annexe 6. Notions d ordonnancement.

Journées Télécom-UPS «Le numérique pour tous» David A. Madore. 29 mai 2015

Évaluation d une architecture de stockage RDF distribuée

Mesures gaussiennes et espaces de Fock

NoSQL. Introduction 1/23. I NoSQL : Not Only SQL, ce n est pas du relationnel, et le contexte. I table d associations - Map - de couples (clef,valeur)

Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche

Cours Optimisation Partie Optimisation Combinatoire. Année scolaire Gérard Verfaillie ONERA/DCSD/CD, Toulouse

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

Principe de symétrisation pour la construction d un test adaptatif

Cours de Recherche Opérationnelle IUT d Orsay. Nicolas M. THIÉRY. address: Nicolas.Thiery@u-psud.fr URL:

Apprentissage statistique dans les graphes et les réseaux sociaux

TP3 Intégration de pratiques agiles. 1. User Stories (1) Scénario d intégration agile. En direct-live du château

Programmation C++ (débutant)/instructions for, while et do...while

Linked Open Data. Le Web de données Réseau, usages, perspectives. Eric Charton. Eric Charton

Chapitre 11. Séries de Fourier. Nous supposons connues les formules donnant les coefficients de Fourier d une fonction 2 - périodique :

TD 1 - Structures de Traits et Unification

Analyse des réseaux : Une introduction à Pajek

Feuille d exercices 2 : Espaces probabilisés

alg - Classes, instances, objets [oo] Exercices résolus

M06/5/COMSC/SP1/FRE/TZ0/XX INFORMATIQUE NIVEAU MOYEN ÉPREUVE 1. Mardi 2 mai 2006 (après-midi) 1 heure 30 minutes INSTRUCTIONS DESTINÉES AUX CANDIDATS

6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Calcul intégral élémentaire en plusieurs variables

Programmation linéaire

Probabilités Loi binomiale Exercices corrigés

Conception et contrôle des SMA tolérants aux fautes

CommentWatcher. plateforme Web open-source pour analyser les discussions sur des forums en ligne. Marian-Andrei RIZOIU

e-recrutement : recherche de mots-clés pertinents dans le titre des annonces d emploi

Transcription:

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