Modélisation des Réseaux (M1 SIREN, 2021)/Activité F
Pour la dernière activité du cours, on va calculer une recommandation à partir de notre réseau crée au début du cours et harmonisé à partir d'un format et vocabulaire commun. Le voici consolidé en un seul document :
Instructions
[modifier | modifier le wikicode]Donnée
[modifier | modifier le wikicode]On va considérer le réseau comme un réseau orienté entre les éléments décrits dans vos activités C, où deux éléments sont connectés s'ils apparaissent dans la même phrase <élément A> <propriété X> <élément B>, peu importe la propriété qui les lie. On constate qu'il y a deux types de nœuds dans ce réseau:
- les participants du cours, en tant que sujets des phrases
- les éléments de nos récits, en tant qu'objets des phrases
On commence par représenter le réseau sous la forme d'une double liste d'adjacence, c'est-à-dire : dans une première section sortante le document liste pour chaque nœud les nœuds auxquels il se connecte ; dans une deuxième section entrante le document liste pour chaque nœud les nœuds qui se connectent à lui. Comme dans notre réseau tous les liens vont d'une personne à un élément de son récit, la première section aura seulement une liste par personne, et la deuxième section seulement une liste pour chaque élément qui apparaît dans l'un des récits.
Note: Comme on verra, ce format facilitera notre exécution de l'algorithme. On a vu au long du cours que le choix de format peux rendre plus facile ou difficile certaines opérations.
Enrichir la donnée si nécessaire
[modifier | modifier le wikicode]Avant de commencer le calcul, vous allez regarder si parmi vos objets il y a au moins trois dont vous partagez avec un collègue. Cela se fait facilement avec le document du réseau consolidé : allez dans la liste sortante qui vous correspond, puis pour chaque objet allez regarder s'il y a d'autres personnes dans la liste entrante que lui correspond. Si vous ne comptez pas trois objets partagées avec d'autres :
- Trouvez un élément dans la liste entrante qui n'est pas dans votre liste mais correspond à un élément dans votre liste dans un niveau plus élevé d'abstraction - c'est-à-dire, ils appartiennent au même genre de musique, ou au même pays etc. Vous allez alors travailler comme si ces deux éléments étaient le même.
- Répétez jusqu'à ce que vous aurez au moins trois objets que vous partagez avec au moins un collègue.
Algorithme
[modifier | modifier le wikicode]On a vu dans le cours que les algorithmes de recommandation, qu'on appelle aussi du « filtrage collaboratif », partent d'une similarité entre personnes établie par leur rapport aux éléments de récit à recommander, éléments auxquels on appellera « activités ». Cette similarité est en suite utilisé pour construire un score entre la personne et chaque activité possible de recommander. L'algorithme qu'on va suivre ici réduit à l'essentiel cette démarche pour qu'on puisse l'exécuter manuellement.
Pour un participant p du cours :
- Pour chacun des autres participants q, calculer la similarité s(p, q):
- La similarité s(p, q) est le nombre de voisins communs entre p et q - c'est-à-dire, le nombre de voisins de p qui sont aussi voisins de q.
- Pour chaque activité a, calculer le score r(p, a):
- Pour expédier le travail, on va considérer uniquement les activités liées au participant à plus haute similarité de p, tirant au sort le participant en cas d'égalité.
- On ne veut pas recommander des activités déjà connues de p, donc pas besoin de calculer le score pour chaque activité a à laquelle le participant p se trouve déjà lié.
- Le score r(p, a), pour recommander au participant p une activité a, est la somme de la similarité s(p, q) pour chacun des voisins entrants q de a.
- Choisir l'activité à recommander:
- Exclure les activités déjà liées au participant p.
- Trouver les activités avec le plus haut score r(p, a).
- Si il n'y a qu'une seule activité avec le plus haut score:
- Recommander cette activité.
- S'il y a plusieurs activités avec le plus haut score:
- Parmi ces activités à plus haut score, trouver celles avec le plus haut nombre de voisins entrants.
- Si il n'y a qu'une seule activité trouvée:
- Recommander cette activité.
- S'il y a plusieurs activités trouvées:
- Recommander une parmi elles, au hasard.
- Si il n'y a qu'une seule activité trouvée:
- Parmi ces activités à plus haut score, trouver celles avec le plus haut nombre de voisins entrants.
- Si il n'y a qu'une seule activité avec le plus haut score:
Astuces
[modifier | modifier le wikicode]Grace au format double liste d'adjacence, on peut profiter de certains raccourcis pour les calculs:
Pour s(p, q):
- Sous la liste sortante du participant p on voit les activités auxquelles il est connecté.
- On peut alors chercher la liste entrante pour chacune de ses activités.
- Dans chacune de ces listes, on voit qui sont les autres participants q qui partagent l'activité avec p, et alors il suffit de sommer 1 à la similarité s(p, q) de chacun de ces participants.
- On peut alors chercher la liste entrante pour chacune de ses activités.
Pour r(p, a):
- Dans la liste entrante d'une activité a, on voit qui sont les participants q qui s'y connectent et il suffit de sommer ses similarités s(p, q) pour obtenir le score r(p, a).
.~´
Activités
[modifier le wikicode]- Louis Lacaze/Modélisation des Réseaux (M1 SIREN, 2021)/Activité F
- Solstag/Modélisation des Réseaux (M1 SIREN, 2021)/Activité F
- Romain Perruchon/Modélisation des Réseaux (M1 SIREN, 2021)/Activité F
- Mgnt21/Modélisation des Réseaux (M1 SIREN, 2021)/Activité F
- Terencembu/Modélisation des Réseaux (M1 SIREN, 2021)/Activité F
- Driss Tak-Tak/Modélisation des Réseaux (M1 SIREN, 2021)/Activité F
- Adel Chahed/Modélisation des Réseaux (M1 SIREN, 2021)/Activité F
- Fanny Sauvee/Modélisation des Réseaux (M1 SIREN, 2021)/Activité F
- LUCASLEBRAS/Modélisation des Réseaux (M1 SIREN, 2021)/Activité F
- PierreB1899/Modélisation des Réseaux (M1 SIREN, 2021)/Activité F
- Lucasremy(brrrrr)/Modélisation des Réseaux (M1 SIREN, 2021)/Activité F
- Adrian Planells/Modélisation des Réseaux (M1 SIREN, 2021)/Activité F
- ChloéSIREN21/Modélisation des Réseaux (M1 SIREN, 2021)/Activité F
- Maelle Srmt/Modélisation des Réseaux (M1 SIREN, 2021)/Activité F
- Charline Barbé/Modélisation des Réseaux (M1 SIREN, 2021)/Activité F
- Carla PETRI/Modélisation des Réseaux (M1 SIREN, 2021)/Activité F
- Ma Yibo/Modélisation des Réseaux (M1 SIREN, 2021)/Activité F
- Lucasfaure00/Modélisation des Réseaux (M1 SIREN, 2021)/Activité F
- Mathildekolb/Modélisation des Réseaux (M1 SIREN, 2021)/Activité F
- Yasmine Doghri/Modélisation des Réseaux (M1 SIREN, 2021)/Activité F
- Lisa Perono/Modélisation des Réseaux (M1 SIREN, 2021)/Activité F
- Lisango75/Modélisation des Réseaux (M1 SIREN, 2021)/Activité F
- Ernest Florentin/Modélisation des Réseaux (M1 SIREN, 2021)/Activité F
- MarieCts/Modélisation des Réseaux (M1 SIREN, 2021)/Activité F
- CHEN KEYI/Modélisation des Réseaux (M1 SIREN, 2021)/Activité F
- MartinLemoulant/Modélisation des Réseaux (M1 SIREN, 2021)/Activité F