Che cosa voglio vedere stasera?
Di cosa si parla
La magia dei sistemi di raccomandazione per prevedere i nostri gusti e le nostre scelte tra le decine di migliaia di film di Netflix.
Incipit
La televisione via Internet è oramai nelle case di molti di noi. In questo ambito il fenomeno di maggiore rilevanza è il servizio fornito da Netflix, società operante nella distribuzione via internet di film, serie televisive e altri contenuti d’intrattenimento.
Prevedere se un particolare film potrà piacere a uno specifico abbonato, a partire dalle valutazioni che gli abbonati fanno dei film che hanno visto.
La similitudine di due abbonati è la somma dei prodotti delle loro valutazioni (+1 e -1), divisa per il numero di film che almeno uno dei due abbonati ha visto e valutato. La previsione della valutazione di un abbonato di un film che non ha visto è la somma pesata delle valutazioni del film date dagli altri abbonati (dove il peso è la similitudine con l’abbonato di cui vogliamo prevedere la valutazione).
function sim(V,S,na,nf)
for i in (1:na)
for j in (1:na)
t = 0
for k in (1:nf)
if (V[i,k]!=0 || V[j,k]!=0)
t = t+1
end
S[i,j] = S[i,j]+V[i,k]*V[j,k]
end
S[i,j] = S[i,j]/totale
end
end
end
function val(V,S,na,i,k)
num=0
den=0
for j in (1:na)
if (V[j,k]!=0)
num=num+V[j,k]*S[i,j]
den = den + abs(S[i,j])
end
end
if den>0
return num/den
else
return 0
end
end