Utilisateur:Solstag/Modélisation des Réseaux (M1, 2018)/Activité F
Étape 1
[modifier | modifier le wikicode]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.
Je commence par créer un tableau pour noter les participants et nombre de voisins en commun avec moi.
Puis, je suis l'astuce de rechercher dans le document du réseau du week-end les activités dont je suis voisin. Comme ça, je vois tout de suite qui sont les voisins communs d'une activité. Il suffit alors d'ajouter 1 à la similarité de ces voisins, et continuer la recherche pour trouver la prochaine activité lié à moi.
Pour finir, les participants n'apparaissant jamais dans ces recherches n'ont pas de voisins en commun avec moi. Ses similarités sont alors 0, et j'ai pas besoin de les lister dans mon tableau.
Participant | Voisins en commun |
---|---|
Tom Flamand | 2 |
Agathe Ch. | 1 |
Alice Correia | 1 |
MathieuLVQ | 1 |
Pmrslt | 1 |
FionaArn | 1 |
Florentine_Cuenot | 2 |
Tanguyngo | 1 |
Chapch14 | 1 |
T.SerSo | 1 |
Mehdijibril | 1 |
Marguerite Parmentier | 1 |
Alice.gabay | 1 |
Juliamthrn | 1 |
LénaWeiss | 1 |
Aminelahrichi901 | 1 |
Levyemma | 1 |
Arnaud_ldl | 1 |
Étape 2
[modifier | modifier le wikicode]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 aux deux participants à plus haute similarité de p, tirant au sort en cas d'égalité.
- le score r(p, a) est la somme, pour chacun des voisins q de a, de la similarité s(p, q) qu'on vient de calculer.
- on ne veut pas recommander des activités déjà faites, donc pas besoin de calculer le score pour les activités déjà liées au participant p.
Je vois dans le tableau précédent que, pou moi, les participants à plus haute similarité sont 'Tom Flamand' et 'Florentine_Cuenot'. Je tire au sort entre eux et reste avec la deuxième option.
Alors je crée un deuxième tableau avec les activités de 'Florentine_Cuenot', qui je trouve déjà regroupés dans le document du réseau du week-end en cherchant pour les URIs des deux participants.
Je crée deux colonnes, une pour le score et une pour lister les voisins, ce qui va faciliter le calcul. Je copie et colle les voisins de chaque activité comme trouvés dans le document du réseau du week-end.
Je mets -1 pour le score des activités dont je suis déjà voisin.
Je calcule le score pour les autres activités, en sommant la similarité des voisins listés dans la dernière colonne. J'ouvre une nouvelle fenêtre pour consulter plus facilement le tableau similarités.
Activité | Voisins de l'activité | Somme | Score |
---|---|---|---|
<https://www.wikidata.org/wiki/Q17297777> | <https://fr.wikiversity.org/wiki/Utilisateur:Alice.gabay>
<https://fr.wikiversity.org/wiki/Utilisateur:Chapch14> <https://fr.wikiversity.org/wiki/Utilisateur:Florentine_Cuenot> <https://fr.wikiversity.org/wiki/Utilisateur:Juliamthrn> <https://fr.wikiversity.org/wiki/Utilisateur:Marguerite Parmentier> <https://fr.wikiversity.org/wiki/Utilisateur:MathieuLVQ> <https://fr.wikiversity.org/wiki/Utilisateur:Mehdijibril> <https://fr.wikiversity.org/wiki/Utilisateur:Pmrslt> <https://fr.wikiversity.org/wiki/Utilisateur:Solstag> <https://fr.wikiversity.org/wiki/Utilisateur:T.SerSo> <https://fr.wikiversity.org/wiki/Utilisateur:Tanguyngo> <https://fr.wikiversity.org/wiki/Utilisateur:Tom Flamand> <https://fr.wikiversity.org/wiki/Utilisateur:Utilisateur:FionaArn> |
déjà voisin | -1 |
<https://www.wikidata.org/wiki/Q188507> | <https://fr.wikiversity.org/wiki/Utilisateur:Arnaud_ldl>
<https://fr.wikiversity.org/wiki/Utilisateur:Florentine_Cuenot> <https://fr.wikiversity.org/wiki/Utilisateur:Solstag> |
déjà voisin | -1 |
<https://www.wikidata.org/wiki/Q200538> | <https://fr.wikiversity.org/wiki/Utilisateur:Chapch14>
<https://fr.wikiversity.org/wiki/Utilisateur:Florentine_Cuenot> <https://www.wikidata.org/wiki/Q51599149> |
1+2+0= | 3 |
<https://www.wikidata.org/wiki/Q3464665> | <https://fr.wikiversity.org/wiki/Utilisateur:Auriane78>
<https://fr.wikiversity.org/wiki/Utilisateur:Florentine_Cuenot> |
0+2= | 2 |
<https://www.wikidata.org/wiki/Q604733> | <https://fr.wikiversity.org/wiki/Utilisateur:Florentine_Cuenot>
<https://fr.wikiversity.org/wiki/Utilisateur:Juliamthrn> <https://fr.wikiversity.org/wiki/Utilisateur:T.SerSo> |
2+1+1= | 4 |
<https://www.wikidata.org/wiki/Q657221> | <https://fr.wikiversity.org/wiki/Utilisateur:Florentine_Cuenot> | 2= | 2 |
<https://www.wikidata.org/wiki/Q6663> | <https://fr.wikiversity.org/wiki/Utilisateur:Alice.gabay>
<https://fr.wikiversity.org/wiki/Utilisateur:Florentine_Cuenot> <https://fr.wikiversity.org/wiki/Utilisateur:Pmrslt> |
1+2+1= | 4 |
<https://www.wikidata.org/wiki/Q7722> | <https://fr.wikiversity.org/wiki/Utilisateur:Florentine_Cuenot> | 2= | 2 |
<https://www.wikidata.org/wiki/Q79007> | <https://fr.wikiversity.org/wiki/Utilisateur:Florentine_Cuenot>
<https://fr.wikiversity.org/wiki/Utilisateur:Mehdijibril> |
2+1= | 3 |
<https://www.wikidata.org/wiki/Q830036> | <https://fr.wikiversity.org/wiki/Utilisateur:Alice.gabay>
<https://fr.wikiversity.org/wiki/Utilisateur:Auriane78> <https://fr.wikiversity.org/wiki/Utilisateur:Florentine_Cuenot> <https://fr.wikiversity.org/wiki/Utilisateur:Julie Roland-Billecart> <https://fr.wikiversity.org/wiki/Utilisateur:Levyemma> <https://fr.wikiversity.org/wiki/Utilisateur:Manel411195> <https://fr.wikiversity.org/wiki/Utilisateur:Pmrslt> |
1+0+2+0+1+0+1= | 5 |
Étape 3
[modifier | modifier le wikicode]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.
- 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.
- si il n'y a qu'une seule activité avec le plus haut score:
Dans mon cas c'est très simple, car il y a une unique activité au plus haut score.
L'activité qui m'est proposé par le système de recommandation est alors <https://www.wikidata.org/wiki/Q830036> !