Sistem de recomandari de filme folosind filtrarea colaborativa [607344]

Sistem de recomandari de filme folosind filtrarea colaborativa
Ciocan Oana Maria, Calin Cenan
Abstract — Progresul omenirii este legat in mod direct de
progresul tehnic si informatic. Oamenii, ˆın dorint ,a lor de a
isi satisface c ˆat mai bine s ,i mai rapid nevoile, au incercat prin
inovat ,ii s,i invent ,ii s˘a g˘aseasc ˘a solut ,ii pentru diferite probleme.
In vremurile de pretutindeni, internetul are un rol crucial
in activitatile noastre de zi cu zi. Acest fapt se datoreaza
cresterii semnificative a utilizatorilor de internet din ultimul
deceniu. Expansiunea rapida a World Wide Web-ului si a
numarului de pagini web au dus la o multiplicare extraordinar ˘a
a cantit ˘at,ii de informat ,ii/date digitale s ,i cont ,inut multimedia.
O abundenta de informatii este incarcata pe internet in fiecare
secunda. Cu toate acestea, nu toate datele disponibile pe internet
sunt considerate utile. Excesul de informatii si multitudinea
de posibilitati existente creeaza o bariera pentru utilizatori in
a se concentra pe propriile interese. Ca urmare, o afluenta
de sisteme de recomandare au fost implementate pentru a
veni in ajutorul utilizatoriilor. ˆIn contextul ˆın care oamenii
doresc de la un job mai mult dec ˆat munc ˘a repetitiv ˘a, revolut ,ia
robotilor colaborativi prinde aripi ˆın toat ˘a lumea. Obtinerea de
recomandari din surse de incredere este o componenta critica
a procesului natural de luare a deciziilor umane. Din moment
ce nevoile utilizatorilor variaza de la persoana la persoana, nu
putem generaliza un astfel de sistem. Un sistem de recomandare
este menit sa ofere niste sugestii personalizate utilizatoriilor
pentru diferite resurse, precum carti, filme, melodii, etc., bazate
pe un anumit set de date. In aceasta lucrare stiintifica, vom
discuta despre un sistem de recomandari de filme. Acesta va
functiona pe baza unor atribute stabilite cu exactitate, precum
ratingul oferit de catre utilizator unor filme vizualizate recent,
si totodata, genurile de filme preferate de acesta. Acest tip de
sistem este benefic si foarte apreciat de catre organizatii de
nivel inalt, care colecteaza seturi de date de la un numar foarte
mare de clienti, cu scopul de a le oferi preziceri cat mai exacte
si apropiate de realitate.
Keywords: sistem de recomandare, filtrare de informatii,
set de date, rating, gen, colaborare.
I. INTRODUCERE
Studiul actual este dedicat motoarelor de recomandare,
acestea fiind o ramura in continua dezvoltare a inteligentei
artificiale. Sistemele de recomandari reprezint ˘a o directie
de cercetare care in ultimii ani a primit si continua sa
primeasca foarte multa atentie la nivel academic si nu numai.
Ele extind intr-un mod remarcabil capabilitatile masinilor de
c˘autare de tip ”Google”. Acestea constituie niste instrumente
si tehnici foarte avansate de analiza a datelor de dimensiuni
mari, ele prioritizand datele despre clienti si despre articole.
Ca urmare, aceste motoare vor furniza sugestii relevante
clientilor, bazate pe diferite abordari de data-mining. In alte
cuvinte, sistemele de recomandare au schimbat modul de
comunicare ˆıntre utilizatori s ,i site-urile web.
1Oana Ciocan studenta Facultatea de Automatica si Calculatoare,
Universitatea Tehnica din Cluj-Napoca, Email: [anonimizat]
2S.l.dr.ing. Calin Cenan cadru didactic departamentul de Calculatoare,
Universitatea Tehnica din Cluj-Napoca, Email: [anonimizat].roˆIn primele stagii ale acestor sisteme de recomandare,
au fost utilizate doar evalu ˘arile utilizatorilor asupra
articolelor pentru generarea recomand ˘arilor. ˆIn acel moment,
cercet ˘atorii foloseau doar informat ,iile disponibile despre
evalu ˘ari. Ei aplicau pur s ,i simplu abord ˘ari euristice, cum ar fi
calculul asem ˘an˘arii folosind distant ,e euclidiene, asem ˘anare
cosinus etc. Aceste abord ˘ari au fost bine primite s ,i,ˆın mod
surprinz ˘ator, sunt performante chiar s ,i prezent.
Sistemele de recomandare s-au dovedit pe parcursul
ultimilor ani un mijloc valoros pentru a face fat ,˘a
suprasolicit ˘arii cu informat ,ie.ˆIn cele din urm ˘a, un astfel
de sistem rezolv ˘a acest fenomen, indicandu-i unui utilizator
articole noi. Aceste articole nu au fost ˆınc˘a experimentate,
dar ar putea fi relevante pentru sarcina curenta. In mediul
online, unde informatia creste cu o rata exponentiala zilnic,
cautarea informatiilor valide si de interes este de cele mai
multe ori dificila. Obtinerea increderii din partea clientilor
este in mod evident, cu atat mai dificila. Sistemele de
recomandare ne vin in ajutor pentru a le putea oferii
informatii relevante. Datele, in volume foarte mari, se
dovedesc a fi inconsistente, iar fara o procesare riguroasa
a informatiei se vor risipi. In aceste cazuri, utilizatorii vor
efectua multiple cautari pana cand obtin ceea ce isi doresc.
La origini, sistemele de recomandari sunt considerate
ca fiind aplicatii software. Concepute pentru filtrarea
informatiei, au scopul de a oferi sugestii utilizatorilor despre
articole care ar putea fi de interes pentru ei, pe baza
unor anumite criterii. O multitudine de aplicat ¸ii online care
folosesc sau doresc s ˘a includ ˘a o astfel de solut ¸ie au milioane
deˆınregistr ˘ari stocate ˆın diverse medii. Inregistrarile cont ¸in
informat ¸ii si date despre articolele cu care aplicat ¸ia lucreaz ˘a,
despre utilizatorii s ˘ai s ¸i despre activit ˘at ¸ile realizate de aces ¸tia.
Sistemul rezultat trebuie s ˘a ofere scalabilitate s ¸i procesare
ˆın timp real a cererilor de recomandare, pentru a facilita
utilizatorului final o experient ¸ ˘a agreabil ˘a. De asemenea,
sistemele de recomandare au fost declarate ca fiind una
dintre primele cinci teme de interes deosebit ˆın domeniul
dezvoltarii web, printre altele se numara web-ul mobil,
semantic web-ul, realitatea imbunatatita s ¸i in cele din urma,
ret ¸elele de socializare.
Gigantii din industrie, precum Netflix si Amazon folosesc
sisteme de recomandare cu scopul de a gasi cele mai
relevante articole pentru clientii lor si in prealabir, vanzarea
acestora. Studiile recente de cercetare, observa faptul ca
aceptarea sugestiilor unui sistem de recomandare bazate
pe filtrarea colaborativa(precum Amazon.com, MovieLens,
Netflix, etc.) creste atunci cand utilizatorul primeste
recomandari justificate.

II. ASPECTE TEORETICE
Articolul are ca scop prezentarea sistemelor de
recomandare prin prisma celor mai importante aspecte
si tipuri de algoritmi folositi ˆın diverse implementari si
abordari, precum si a problemelor aparute si care trebuiesc
tratate si intampinate. Aplicatia prezentata si dezvoltata in
acest articol stiintific utilizeaza o abordare care combin ˘a
multiple modalit ˘at ¸i de recomandari de filme. Se vor prezenta
in detaliu solutia arhitecturala si metodele s ¸tiint ¸ifice care
stau la baza implementarii sistemului propus. Clasificarea
sistemelor de recomandare se realizeaza dupa felul lor de
functionare. Astfel, putem distinge trei mari categorii –
bazate pe continut, colaborative si hibride.
Sistemul de recomandare bazat pe filtrare colaborativa
utilizeaz ˘a entit ˘at ¸ile din aplicat ¸ie (utilizatori, preferinte,
cautari) s ¸i recomand ˘a articole pe baza preferint ¸elor
utilizatorilor. Articolele sunt obiectele care sunt recomandate
de sistem. Acestea pot fi caracterizate prin complexitatea lor,
valoarea sau utilitatea acestora. Valoarea unui articol poate
fi pozitiv ˘a dac ˘a articolul este apreciat de catre utilizator, sau
negativ ˘aˆın cazul ˆın care acesta nu este potrivit preferint ,elor
utilizatorului. Sistemul colecteaza preferint ¸ele utilizatorilor,
care sunt fie obt ¸inute prin exprimarea lor explicit ˘a( de
exemplu prin rating-urile unor articole ), sau implicit ˘a,
prin studiul comportamentului utilizatorilor. Putem considera
navigarea catre pagina unui articol, sau cautarea unui articol
ca semn implicit de preferinta pentru elementele prezente pe
acea pagina. Metodele de filtrare colaborativ ˘a se pot clasifica
la rˆandul lor ˆın dou ˘a categorii:
Metoda bazata pe utilizator : se folosesc preferint ¸ele
utilizatorilor similari pentru un articol dat pentru
a descoperi recomand ˘ari de articole, similaritatea
ˆıntre utilizatori determin ˆandu-se pe baza preferint ¸elor
exprimate ˆın sistem (utilizatorii similari av ˆand, informal
spus, aceleas ¸i gusturi”) ;
Metoda bazata pe articol : se g ˘asesc articolele similare
unui articol dat prin cuantificarea anumitor aspecte
sociale, de pild ˘a faptul c ˘a mult ¸i dintre utilizatorii care
au preferat articolul dat, au votat pozitiv s ¸i un alt articol.
In aplicatia prezentata, algoritmul presupune gasirea topului
celor mai similari utilizatori ai aplicatiei. Dupa aceea, gasirea
filmelor pe care acestia le-au vazut si carora le-au accordat
un rating pozitiv, dar care nu au fost vizualizate deja de un
alt utilizator. Recomand ˘arile care utilizeaz ˘a aceast ˘a tehnic ˘a
sunt emise pe baza caracteristicilor comportamentale ale
unei persoane sau ale unui grup de persoane, aceasta din
urm˘a fiind s ,i mai eficient ˘a. Oamenii care sunt similari ˆın
comportament s ,i caracteristici se adun ˘aˆın grupuri. Datele
sunt filtrate si personalizate dupa cererile utilizatorului. O
multime de sisteme bazate pe filtrarea colaborativa, propun
o abordare inovativa, care presupune combinarea datelor
despre continutul filmelor cu datele despre ratingul filmelor.
Prin aceasta abordare, lipsa datelor poate fi redusa, rezultatul
continand recomandari mult mai precise.
In termeni tehnici, problema unui motor de recomandare
este aceea de a dezvolta un model matematic sau o functieobiectiva care poate sa prezica cat de mult va aprecia un
utilizator un articol. O astfel de functie matematica poate fi
reprezentata in felul urmator: presupunem ca U reprezinta
multimea de utilizatori U= utilizatori , A multimea de
articole A= articole , iar F va fi o functie obiectiva care
va masura cat de folositor este un item I pentru un user U,
printr-o formula precum cea de mai jos. In aceasta functie,
multimea R va fi reprezentantiva pentru itemele recomandate.
F: U X A !R
Sistemele de recomandare sunt caracterizate prin multiple
criterii, iar cele mai relevante dintre acestea vor fi detaliate
in continuarea lucrarii.
Transparent ¸a recomand ˘arii reprezinta o calitate prin
care sistemul ofera o explicatie pentru recomandarea
unui anumit articol. Astfel, increderea utilizatorului
cu privire la calitatea algoritmului de recomandare
utilizat poate creste. Capacitatea sistemului de a oferi
unnivel de ˆıncredere ˆıntr-o recomandare (Basu s ,i
colab., 1998) s ,i de a explica de ce a a fost f ˘acut˘a
o recomandare (Herlocker s ,i colab., 2000; Bilgic,
2004), definirea potent ,ialului s ˘au pentru utilizator. Un
exemplu semnificativ, este aplicatia Netflix, care adopta
urmatoarele doua stiluri de justificare a recomandarilor:
–Stil ”cel mai apropiat vecin” : Oamenii care au
vizualizat filmul X au vizualizat si filmele Y ,Z,…
–Stil influentat : Filmul Y este recomandat pentru ca
ati evaluat filmul X. Numele provine din faptul ca
sistemul izoleaza itemul X care a influentat cel mai
mult recomandarea unui item Y .
Ghidarea navig ˘arii reprezint ˘a problema oferirii unei
interfet ¸e adecvate utilizatorului. Atunci c ˆand exist ˘a
un cont ¸inut foarte vast ˆın cadrul aplicat ¸iei, pe baza
unor tehnici de interact ¸iune om-calculator, a unor
algoritmi inteligent ¸i, a prezicerii intent ¸iei sau dispozit ¸iei
utilizatorului.
Valorificarea momentului de timp un sistem de
recomandare tine cont de schimb ˘arile pe care trecerea
timpului le aduce asupra relevant ¸ei unui articol,
precum: cres ¸terea interesului pentru articole ce privesc
evenimente recente, posibilitatea ca sistemul de
recomandare s ˘a asimileze rapid informat ¸ie nou ˘a etc.
Scalabilitatea sistemului reprezinta un factor deosebit
de important in contextul gestionarii unui volum
mare de date care se afla intr-o continua crestere.
Practic, scalabilitatea, descrie capacitatea sistemelor de
recomandare de a face fat ,˘a s,i a act ,iona ˆın mod adecvat,
ˆın cazul cres ,terii num ˘arului unor factori. Algoritmii de
recomandare sunt, deobicei, iterativi. Acestia se bazeaza
pe procesarea extensiv ˘a a datelor. Timpii de raspuns
sunt de dorit mici pentru utilizatori, iar sistemul ar
trebui s ˘a poat ˘a ment ,ine nivelul s ˘au de performant ,˘a
indiferent de numarul de cereri. In acest sens, sunt
folosite proces ˘ari offline, s ¸i ˆın mic ˘a parte proces ˘ari
online, la momentul cererii formulate de utilizator.
Diversitatea resprezinta un aspect de dorit in cele
mai multe cazuri de recomandare, in special atunci

cˆand recomandarea de elemente aproape duplicate
minimizeaz ˘a impactul sau utilizabilitatea sistemului
pentru utilizator.
Acoperirea unei metode , adic ˘a proport ,ia de recomand ˘ari
pe care o poate face sau oferi un sistem, poate fi, de
asemenea un criteriu de luat ˆın considerare
Explorare versus exploatare Pentru exemplificare, vom
presupune situatia in care exist ˘a doua articole care
pot fi expuse (recomandate) unui grup de utilizatori s ¸i
se poate ˆınregistra activitatea pentru un articol init ¸ial
expus. Problema la care trebuie s ˘a se r ˘aspund ˘a este c ˆand
s ¸i dac ˘a ar trebui s ˘a fie expus s ¸i al doilea articol, as ¸a
ˆıncˆat impactul dorit asupra utilizatorului s ˘a fie maxim
(ex: num ˘ar de vizualiz ˘ari, volum de v ˆanz˘ari etc), s ¸i
este cunoscut ˘aˆın inteligent ¸a artificial ˘a ca s ¸i problema
”multi-armed bandit” .
III. PROBLEMA ABORDATA
In scopul de a depasi faimoasa problema denumita
”supraincarcare informationala” ˆın jurul anilor 1990,
cercet ˘atorii au ˆınceput cercetarea si investigarea in amanunt
a sistemelor de recomandare. Avantajul acestor sisteme de
recomandare este ca sunt foarte simplu de implementat si
foarte precise, dar cu toate acestea au si ele anumite limitari.
Conform unui studiu realizat de Netflix, peste 80 la suta din
filmele urmarite de oameni sunt bazate pe recomandari.
Problema cold start” apare doar in cazul utilizatorilor noi
ai sistemului, atunci cand nu exista nici o informatie explicita
despre preferintele lor pentru a produce recomand ˘ari. Printre
solut ¸iile posibile se num ˘ar˘a: completarea de chestionare
legate de preferint ¸e – nerecomandat ˆıntruc ˆat un sistem de
recomandare inteligent ar trebui s ˘a cear ˘a explicit c ˆat mai
put ¸ine informat ¸ii din partea utilizatorului – sau utilizarea de
agent ¸i de ˆınv˘at ¸are care s ˘a descopere profilul utilizatorului pe
baza act ¸iunilor realizate de acesta. O solutie inovativa pentru
aceasta problema se poate observa pe faimoasa platforma
Netflix. Odata crearea unui nou cont, primul pas dupa logarea
in aplicatie, este acela de ”cunoastere” in mod formal. Prin
acest termen de ”cunoastere” Netflix propune o lista de filme
din care utilizatorul nou al aplicatiei sa isi aleaga trei filme,
pe baza carora ii se va creea un profil personalizat.
Problema first rater” este problema echivalent ˘aˆın cazul
articolelor nou intrate ˆın sistem, pentru care nu exist ˘a
ˆınc˘a preferint ¸e exprimate. O solut ¸ie viabil ˘aˆın acest caz
este realizarea unui mecanism hibrid de recomandare, care
poate face recomand ˘ari bazate s ¸i pe cont ¸inutul efectiv
al unui articol pentru a descoperi articole similare. ˆIn
ce prives ¸te utilizatorul ˆınsus ¸i, apare problema manipul ˘arii
(influent ¸ ˘arii) sistemului de recomandare de c ˘atre un grup
mic de utilizatori, de exemplu prin comentarii negative la
adresa unui articol oferit de competitori. ˆIn acest sens,
trebuie ca sistemul s ˘a discearn ˘a s ¸i s ˘a elimine aceste
tentative de manipulare. Trebuie evaluat de asemenea s ¸i
impactul recomand ˘arii, const ˆand ˆın costul furniz ˘arii unei
recomand ˘ari proaste sau omiterii unei recomand ˘ari bune,
atunci c ˆand alegerea unui articol are impact important asupra
utilizatorului.Problema confident ¸ialit ˘at ¸ii apare ˆın condit ¸iile ˆın care
trebuie ca un utilizator s ˘a poat ˘a evalua recomand ˘arile primite,
dar nu se dores ¸te ca preferint ¸ele utilizatorilor care au
condus la elaborarea recomand ˘arii s ˘a fie publice sau s ˘a
poat˘a fi determinate prin manipularea datelor de intrare
ale sistemului. O alta problema cu care se infrunta aceste
sistmee, este aceea ca indivizii au as ,tept˘ari diferite ˆın timp
ce vizioneaz ˘a un film, iar recomandarea nu este posibil ˘a doar
pe baza adnot ˘arilor date de ceilalt ,i utilizatori.
Pentru a rezolva aceaste probleme, cercet ˘atorii au
ˆınceput s ˘a combine diferite modele de recomand ˘ari pentru
implementarea modelelor de recomand ˘ari hibride, care sunt
mult mai puternice dec ˆat oricare dintre modelele individuale.
Aceste modele hibride, au scopul de a reduce dezavantajele
prezente ˆın fiecare dintre cele dou ˘a metode.
Cu avans ˘ariˆın tehnologie, cum ar fi ecosistemele de date
mari, instrumente analitice ˆın memorie s ,i recomand ˘ariˆın
timp real, capacitatea de a gestiona baze de date foarte
mari a devenit posibil ˘a.ˆIn prezent ne ˆındrept ˘am spre
mai mult ˘a personalizarea unor aspecte precum dimensiunea
temporal ˘a s,i modalit ˘at,ile omniprezente de recomandare. Din
perspectiva tehnologica, recomand ˘arile se deplaseaz ˘a de la
abord ˘ari pentru ˆınv˘at,are automat ˘a, spre abordari bazate pe
ret,ele neuronale, fiind tehnici de ˆınv˘at,are mai avansate.
Pasii pentru construirea unui sistem de recomandare:
Incarcarea si formatarea datelor
Calcularea similaritatii dintre utilizatori
Prezicerea rating-urilor necunoscute pentru utilizatori
Recomandarea unor articole bazate pe scorul dintre
similaritatile intre utilizator
ˆIn varianta aceasta de sistem, regizorul, actorii si review-ul
pe IMDB a filmelor, sunt luate ˆın considerare pentru a
obt ,ine recomand ˘ari cat mai relevante. O extensie din viitor a
aplicatiei va lua in calcul si varsta utilizatorilor si grupurile
de interes. Totodata, o baz ˘a de date complet ˘a a filmelor
s,i vizualizarile utilizatorului de pe ret ,elele de socializare
pot fi incluse pentru a g ˘asi grupuri de utilizatori interesat ,i
de aceeas ,i categorie de filme. Utilizatorii interact ,ioneaz ˘a cu
aplicatia prin intermediul site-ului s ˘au web. Aplicatia este
formata din 3 sub-sisteme:
motorul de c ˘autare
sistemul de evaluare
sistemul de recomandare cu explicat ,ii
Motorul de c ˘autare p ˘astreaz ˘a informat ,iile actualizate despre
filme s ,i funct ,iile lor.
IV. STATE OF ART
Cercet ˘atorii caut ˘a s ,i filtreaz ˘a informat ,ii, cum ar fi filme,
muzic ˘a sau articole din motoarele de c ˘autare precum Google
s,i Bing, folosind tehnici de analiz ˘a a datelor de dimensiuni
mari. Unii cercet ˘atori ˆıs,iˆımp˘art˘as,esc rezultatele cercet ˘arilor
s,i publicat ,iile prin intermediul platformelor digitale. Un alt
punct notabil este acela ca, sistemele de recomandare experte
constituie o parte vital ˘a atˆatˆın mediul academic, c ˆat s ,iˆın
mediul industrial.
ˆIn cazul magazinelor online, aceasta este, ˆın principiu,
o funct ,ie important ˘a s ,i pentru directoarele at ˆat de

mari precum Amazon, una dintre put ,inele modalit ˘at,i de
a lucra eficient. Probabil cea mai cunoscut ˘a aplicat ,ie
care utilizeaz ˘a tehnologia sistemelor de recomandare este
Amazon.com. Aplicatia foloses ¸te algoritmi de recomandare
pentru a personaliza magazinul online pentru fiecare client.
Potrivit prezent ˘arii oferite, algoritmul, cunoscut sub numele
Item-to-Item Collaborative Filtering (Linden, Smith s ¸i York,
2003), ofer ˘a recomand ˘ariˆın timp real, este scalabil la un
set de date mare s ¸i obt ¸ine recomand ˘ari bune. Descrierea
detaliat ˘a a solut ¸iei nu este disponibil ˘a pe internet, dar din
diverse documente ce prezint ˘a aplicat ¸ia se pot extrage c ˆateva
idei, precum s ¸i algoritmul la nivel ˆınalt. ˆIn loc s ˘a creeze
profilul utilizatorilor s ¸i s ˘a fac ˘a seturi de utilizatori similari,
sistemul de recomandare de la Amazon face leg ˘atura ˆıntre
fiecare obiect cump ˘arat de utilizator s ¸i produse notate de
utilizatori similari s ¸i apoi combin ˘a acele produse similare
ˆıntr-o list ˘a de recomand ˘ari. Pentru a determina cea mai bun ˘a
potrivire pentru un obiect dat, algoritmul construies ¸te o tabela
de obiecte similare, g ˘asind produse pe care consumatorii
tind s ˘a le cumpere ˆımpreun ˘a. Se poate construi o matrice
produs-produs iter ˆand toate perechile s ¸i calcul ˆand o metric ˘a
de similaritatea pentru fiecare pereche. Cu toate acestea,
multe perechi de produse nu au client ¸i comuni, s ¸i de
aceea abordarea este ineficient ˘a din punctual de vedere a
timpului de procesare s ¸i al memoriei folosite. Urm ˘atorul
algoritm iterativ ofer ˘a o abordare mai bun ˘a, calcul ˆand
similaritatea ˆıntre un singur produs s ¸i toate produsele care au
o leg ˘atur˘a cu produsul de referint ¸ ˘a. Metoda de recomandare
ˆın acest caz nu este o opt ,iune suplimentar ˘a obis ,nuit˘a, ci
ofer˘a comoditatea navig ˘arii utilizatorului pe o resurs ˘a web.
Dac˘a catalogul electronic cont ,ine peste 20.000 de nume de
produse, orientarea pare deja prohibitiv ˘a, dar dac ˘a exist ˘a
milioane de produse?
Un exemplu considerabil este LinkedIn, unde angajatorii
pot cauta potentiali canditati, iar solicitant ,ii pot examina
profilul managerilor de angajare.
Un alt exemplu, sunt ret ,ele de r ˘aspunsuri la ˆıntreb ˘ari
sociale. Printre acestea se numara Quora, Stack Overflow,
Stack Exchange, Yahoo! Answers. Aceste ret ,ele apeleaz ˘a la
sisteme recomand ˘are experte – folosesc sisteme de datare
pentru recomandarea utilizatorilor cu cea mai mare expertiz ˘a
ˆınˆıntrebari.
V. E VALUAREA PERFORMANTEI
Care este cel mai important lucru pentru un data scientist?
Raspunsul este, in mod cert, acuratetea modelului de invatare
automata pe care acesta l-a construit pentru a rezolva o
anumita problema. Evaluarea si testarea performaneti unui
sistem de recomandare in timp real este esentiala, iar aceasta
se poate realiza prin implementarea unui mecanism de
feedback.
Evaluarea performant ¸elor algoritmilor de recomandare se
poate realiza prin utilizarea unui spectru larg de metode
s ¸i metrici. Absolute Error (MAE), Mean Absolute Percent
Error (MAPE) si Root Mean Squared Error (RMSE)
sunt cei mai utilizati indici pentru masurarea predictiei
unui sistem de recomandari propus. Pe de alta parte,evaluarea bazat ˘a pe opiniile utilizatorilor reali este, in
acest caz, cea mai relevant ˘a. Motivatia este aceea ca,
ˆın multe cazuri, recomandarea setului de articole care
s˘a maximizeaza prezicerile evalu ˘arii nu duce neap ˘arat la
satisfact ,ia utilizatorului. De exemplu, utilizatorii pot simti
c˘a astfel de recomand ˘ari nu au originalitate sau pot crede c ˘a
lista propus ˘a nu este suficient de variata(Ziegler et al., 2005).
Utilizatorii isi pot dori s ˘a aib ˘a control asupra sistemului, mai
degrab ˘a dec ˆat s˘a aib ˘a o influent ,˘a direct ˘a mic ˘a sau chiar deloc
asupra rezultatelor.
O optiune alternativa, ar putea fi evaluarea bazata pe
fragmentarea datelor ˆıntr-un set de testare s ¸i unul de
antrenare. Maniera aceasta este des utilizata in evaluarea
clasificatorilor, dar cand vine vorba de sisteme de
recomandare aceasta este o metoda mai put ¸in folosita.
Sistemului ˆıi este prezentat in prima instanta setul de
antrenare, iar mai apoi trebuie s ˘a calculeze preferint ¸ele
pentru instant ¸ele din setul de testare. Aceste preferint ¸e vor
fi comparate cu cele din realitate s ¸i astfel vom obtine un
procent de eroare pentru acest algoritm.
Conform spuselor lui Linden, in anul 2009 nu
corectitudinea ˆınˆıntreg setul de date conteaz ˘a, uneori este
de dorit minimizarea erorii doar ˆın recomand ˘arile care intr ˘a
ˆın Top N”. In alte cuvinte, sistemul doreste s ˘a aib ˘a precizie
maxim ˘aˆın determinarea celor mai probabile preferint ¸e s ¸i nu
a articolelor cu sanse mai mici sa fie apreciate.
VI. E XPERIMENTE
Setul de date utilizat ˆın acest studiu, este setul MovieLens
colectat ˆın proiectul de cercetare GroupLens al Universit ˘at,ii
din Minnesota. Datele constau in 100.000 de evalu ˘ari,
accordate de catre 943 de utilizatori la 1.682 de filme
ˆıncadrate in 18 genuri. Fiecare gen de film respect ˘a criteriile
de gen din baza de date Internet Movie (www.us.imdb.com)
s,i fiecare film face parte din unul, p ˆan˘a la maxim cinci genuri
de film. Frecvent ,a ratingurilor de date variaz ˘a de la un maxim
de 583 la un minim de 1. ˆIn scopul acestui studiu, setul de
date este utilizat pentru a genera genul profilul preferat de
utilizator s ,i profilul de asem ˘anare a genului. Aceasta trebuie
s˘a fac ˘a fat ,˘a problemei scalabilit ˘at,ii metodei de recomandare
colaborativ ˘a.
VII. C ONCLUZII
Lucrarea trece ˆın revist ˘a starea curent ˘a de dezvoltare
a domeniului sistemelor de recomandare. Aceste sisteme
reprezint ˘aˆın contextual cotidian, un element de baza al
aplicat ,iilor ce ofer ˘a utilizatorilor acces spre un volum
consistent de informatie si spre o gam ˘a variat ˘a de
articole. Optimizarea la nivel de decizie este un factor
benefic al acestor sisteme. Rezultatul consta intr-o cres ,tere
semnificativa a ˆıncrederii manifestate de aces ,tia pentru
serviciile furnizate de aplicat ,ie.
ˆIn concluzie, prin studiile realizate s ¸i implementarea
aplicat ¸iei propuse, am putut evalua beneficiile s ¸i, mai ales,
utilitatea deosebit ˘a a unui astfel de sistem, ˆın condit ¸iile ˆın
care spat ¸iul de c ˘autare este foarte vast s ¸i greu de explorat
pentru utilizator. ˆIn domeniul sistemelor de recomandare

rezult ˘a adesea ca metoda de filtrare colaborativ ˘a ofera
o performant ,˘a predictiv ˘a mai bun ˘a dec ˆat cea bazata pe
cont ,inut, cel put ,in atunci c ˆand exista suficiente evaluari,
iar datele sunt disponibile. Aceast ˘a observat ,ie este pur
intuitiva. Sistemele de recomandare se afla la baza marilor
bussinesuri din industrie, iar prototipizarea unui astfel de
sistem poate avea un cost foarte redus si nu necesita mult
efort. Dezvoltarea initiala a acestora a pornit de la observatie
destul de banala: oamenii care au avut gusturi similare in
trecut, vor avea gusturi similare si in viitor.
VIII. A CKNOWLEDGMENT
Aceasta lucrare este sustinuta de Universitatea Tehnica din
Cluj-Napoca.
IX. BIBLIOGRAPHY
Mooney Roy, 1999) Mooney, R., Roy, L. (1999).
Content-based book recommending using learning for
text categorization. In ACM SIGIR’99, Workshop on
Recommender Systems: Algorithms and Evaluation.

Similar Posts