Вот-вот! Last.fm должен быть ориентиром. Постройка рекомендаций на основе близости оценок подсказывает фильмы которым поставили высокие оценки люди с похожими вкусами, но это необязательно будут фильмы похожие на наши любимые фильмы. Ну нет обратного соответствия, вот что я хочу сказать. Все зайцы любят морковку, но не все кто любит морковку - зайцы. правильные рекомендации для зайца - это то, что еще любят зайцы (капуста например), а мне система предлагает овес, потому как лошади тоже любят морковку.
Мне кажеться аналог Last.fm будет не сложно реализовать.
В качестве тегов можно использовать уже прописаные жанры, режиссеров, актеро, годы, страны с разной степенью веса.
А вот выставленные пользователем оценки учитывать по анологии с количеством прослушиваний. Т.е. обращать внимание не на схожесть, а на то каким тегам выставлены наиболее высокие оценки, не важно 8, 9 или 10. Просто самые высокие. Кстати, в таком варианте проблема разной системы координат при оценке фильма исчезает!
А дальше определение общих кластеров из фильмов и построение рекомендаций на их основе.
К сожалению, не могу все это описать математически.