Salut Jérôme
,
tu devrais jeter un oeil au livre Programming Collective Intelligence plus précisément le chapitre 2 (Making recommendations) qui traite de ce sujet et qui pourra t'éclairer sur quelques algorithmes. Tu peux consulter quelques parties du livre en pdf sur le site d'oreilly (2 ou 3 pages ne seront pas affichées), ou tu peux te le procurer à la bibliothèque de ton école probablement.
Le principe est pas compliqué, il faut tenter de trouver des utilisateurs similaires (qui tendent à avoir les mêmes gouts (donné le même genre de notes aux films)), pour faire ça tu dois comparer chaque personne avec les autres et calculer un score de similitude, les deux approches que donne l'auteur sont soit de calculer une distance euclidienne, soit en utilisant le Coefficient de corrélation linéaire de Bravais-Pearson.
Une fois que tu as implémenté ta méthode de "scoring", il faut l'utiliser pour calculer la personne qui a le meilleur score pour une personne donnée, tu vas donc par exemple tenter de trouver la personne qui a donné les scores les plus similaires aux tiens sur les films que vous avez tous les deux vus. Avec ces deux étapes tu te retrouve donc avec la personne ayant noté le plus comme toi, mais il te faut encore trouver un moyen de savoir quels films cette personne à vu et que tu serais les plus susceptible d'aimer. Pour faire ça il te reste à calculer un score pondéré des reviews des autres utilisateurs.
Admettons que toi Jérôme tu ai vus les films A, B, C, et D, ainsi que Jessica, Emmanuel, Damien, et d'autres sauf qu'eux en ont également vus d'autres et que justement tu voudrais savoir quels films parmis ceux qu'ils ont vu tu devrais regarder aussi). Tu as déjà calculé des scores de similarité (S1, S2, ..., SN) entre toi et Jessica, toi et Emmanuel, etc.. Alors pour chaque films qu'ils ont vu et toi non, tu va multiplier leur note par le score de similitude entre vous deux, et tu divisera le tout par la somme des score de similarité entre toi et toutes les personnes qui ont vu ce film (afin d'éviter qu'un film vu par plus de personne qu'un autre n'ait forcément un meilleur score).
Et voila, tu n'a plus qu'à trier ces résultats de façon décroissante, et tu as une recommandation des films que tu es le plus susceptible d'aimer au vu des utilisateurs les plus proches de toi question goût!
Dans le bouquin tu as des exemples d'implémentation en Python si ça peut t'aider à te mettre sur la voie (je ne sais pas quel techno tu utilises pour ton site web).
Bonne chance
Si tu trouves ce genre de sujets intéressants, n'hésite pas à lire le livre, il est vraiment bien. 
Message édité par Flaie le 16-04-2010 à 23:20:44
---------------
Always wear a camera!