SISTEM DE RECOMANDARE DE FILME BAZAT PE FILTRAREA [607345]

FACULTATEA DE AUTOMATIC A  SI CALCULATOARE
DEPARTAMENTUL CALCULATOARE
SISTEM DE RECOMANDARE DE FILME BAZAT PE FILTRAREA
COLABORATIV A
LUCRARE DE LICEN  T A
Absolvent: [anonimizat] ator  stiin ti c: S.l.Dr.Ing C alin CENAN
4

2020

FACULTATEA DE AUTOMATIC A  SI CALCULATOARE
DEPARTAMENTUL CALCULATOARE
DECAN, DIRECTOR DEPARTAMENT,
Prof. dr. ing. Liviu MICLEA Prof. dr. ing. Rodica POTOLEA
Absolvent: [anonimizat] A
1.Enun tul temei: Scopul acestei documentat ,ii s ,tiint ,i ce este de a prezent ,a s ,i propune
un model arhitectural care poate st a la baza dezvolt arii unui sistem de recomandare
s,i, ^ n general, a unor aplicat ,ii s ,i bussinesuri care necesit a un astfel de serviciu. Un
sistem de recomandare este o clas a extins a de aplicat ,ii web care implic a prezicerea
r aspunsurilor utilizatorilor la opt ,iuni. Aceast a documentat ,ie va accentua punctele
forte ale abord arii de proiectare prezentate (scalabilitate, extensibilitate, diversitate)
s,i, totodata va dovedii bene ciile derivate din utilizarea acesteia ^ n procesul de dez-
voltare a sistemelor de recomandare.
2.Con tinutul lucr arii: Pagin a de prezentare, Aprecierile Coordonatorului de Lu-
crare, Introducere, Obiectivele s ,i Speci cat ,iile Proiectului, Studiu Bibliogra c Considerat ,ii
Teoretice, Design Detaliat s ,i Implementare, Testare s ,i Validare, Manual de Utilizare,
Concluzii, Bibliogra e, Anexe.
3.Locul document arii: Universitatea Tehnic a din Cluj-Napoca,
Facultatea de Automatic a s ,i Calculatoare, Departamentul de Calculatoare.
4.Consultan ti:
6

5.Data emiterii temei: 1 Septembrie 2019
6.Data pred arii: 4 Iulie 2020
Absolvent: [anonimizat]  stiin ti c: Cenan C alin

FACULTATEA DE AUTOMATIC A  SI CALCULATOARE
DEPARTAMENTUL CALCULATOARE
Declara tie pe proprie r aspundere privind
autenticitatea lucr arii de licen t a
Subsemnata Ciocan Oana Maria legitimat a cu carte de identitate seria CJ nr.
220292 CNP [anonimizat], autorul lucr arii "SISTEM DE RECOMAND ARE DE FILME
BAZAT PE FILTRAREA COLABORATIV A" elaborat a ^ n vederea sus tinerii examenu-
lui de nalizare a studiilor de licen t a la Facultatea de Automatic a  si Calculatoare, Spe-
cializarea CALCULATOARE din cadrul Universit a tii Tehnice din Cluj-Napoca, sesiunea
IULIE a anului universitar 2020, declar pe proprie r aspundere, c a aceast a lucrare este
rezultatul propriei activit a ti intelectuale, pe baza cercet arilor mele  si pe baza informa tiilor
ob tinute din surse care au fost citate, ^ n textul lucr arii  si ^ n bibliogra e.
Declar, c a aceast a lucrare nu con tine por tiuni plagiate, iar sursele bibliogra ce au
fost folosite cu respectarea legisla tiei rom^ ane  si a conven tiilor interna tionale privind drep-
turile de autor.
Declar, de asemenea, c a aceast a lucrare nu a mai fost prezentat a ^ n fa ta unei alte
comisii de examen de licen t a.
^In cazul constat arii ulterioare a unor declara tii false, voi suporta sanc tiunile admin-
istrative, respectiv, anularea examenului de licen t a .
Data Nume, Prenume
Semn atura

De citit ^ nainte (aceast a pagin a se va elimina din versiunea nal a):
1. Cele trei pagini anterioare (foaie de cap at, foaie sumar, declara tie) se vor lista pe foi
separate (nu fa t a-verso), ind incluse ^ n lucrarea listat a. Foaia de sumar (a doua)
necesit a semn atura absolventului, respectiv a coordonatorului. Pe declara tie se trece
data c^ and se pred a lucrarea la secretarii de comisie.
2. Pe foaia de cap at, se va trece corect titulatura cadrului didactic ^ ndrum ator, ^ n
englez a (consulta ti pagina de unde a ti desc arcat acest document pentru lista cadrelor
didactice cu titulaturile lor).
3. Documentul curent nua fost creat ^ n MS Oce. E posibil sa e mici diferen te de
formatare.
4. Cuprinsul ^ ncepe pe pagina nou a, impar a (dac a se face listare fa t a-verso), prima
pagin a din capitolul Introducere tot a sa, ind numerotat a cu 1.
5. Vizualiza ti (recomandabil  si ^ n timpul edit arii) acest document
6. Fiecare capitol ^ ncepe pe pagin a nou a.
7. Folosi ti stilurile prede nite (Headings, Figure, Table, Normal, etc.)
8. Marginile la pagini nu se modi c a.
9. Respecta ti restul instruc tiunilor din ecare capitol.
10

Cuprins
Capitolul 1 Introducere – Contextul proiectului 13
1.1 Contextul proiectului . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.2 Contextul proiectului . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Capitolul 2 Obiectivele Proiectului 15
2.1 Titlu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2 Alt titlu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Capitolul 3 Studiu Bibliogra c 16
3.1 Titlu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
3.2 Alt titlu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Capitolul 4 Analiz a  si Fundamentare Teoretic a 18
4.1 Titlu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.2 Alt titlu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Capitolul 5 Proiectare de Detaliu  si Implementare 19
Capitolul 6 Testare  si Validare 20
6.1 Titlu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
6.2 Alt titlu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Capitolul 7 Manual de Instalare  si Utilizare 21
7.1 Titlu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
7.2 Alt titlu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Capitolul 8 Concluzii 22
8.1 Titlu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
8.2 Alt titlu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Bibliogra e 23
Anexa A Sec tiuni relevante din cod 24
11

Anexa B Alte informa tii relevante (demonstra tii etc.) 25
Anexa C Lucr ari publicate (dac a exist a) 26
12

Capitolul 1
Introducere – Contextul proiectului
1.1 Contextul proiectului
Progresul omenirii este legat ^ n mod direct de progresul tehnic s ,i informatic. Oa-
menii, ^ n dorint ,a lor de a ^ s ,i satisface c^ at mai bine s ,i mai rapid nevoile, au ^ ncercat prin
inovat ,ii s ,i invent ,ii s a g aseasc a solut ,ii pentru diferite probleme.
^In vremurile de pretutindeni, internetul poart a un rol crucial ^ n activit at ,ile noastre
de zi cu zi. Acest fapt se datoreaz a cres ,terii semni cative a utilizatorilor de internet din
ultimul deceniu. Expansiunea rapid a a World Wide Web-ului s ,i a num arului 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 abundent , a de informat ,ii este ^ nc arcat a pe internet ^ n ecare secund a. Cu
toate acestea, nu toate datele disponibile pe internet sunt considerate utile. Excesul de
informat ,ii s ,i multitudinea de posibilit at ,i existente creeaz a o barier a pentru utilizatori ^ n a
se concentra pe propriile interese. C a urmare, o a
uent , a de sisteme de recomandare au fost
implementate pentru a veni ^ n ajutorul utilizatoriilor. ^In contextul ^ n care oamenii doresc
de la un job mai mult dec^ at munc a repetitiv a, revolut ,ia robot ,ilor colaborativi prinde aripi
^ n toat a lumea.
^In ultimii ani, am asistat la o explozie a num arului de sisteme de recomandare exis-
tente. Aces ,ti algoritmi capabili s a prezic a preferint ,ele client ,ilor au o aplicatibilitate foarte
larg a ^ n multiple domenii precum e-commerce, marketing, sau v^ anz ari. Dac a at ,i folosit
vreodat a Net
ix, Amazon, Facebook, Spotify s ,i multe altele, sigur at ,i interact ,ionat cu un
asemenea sistem. ^In zilele noastre, aproape ecare companie care dores ,te s a e su cient de
competitiv a are propriul algoritm de recomandare ^ ncorporat ^ n site-urile lor web. Amazon
ne propune ce s a cumperi, Net
ix ne spune la ce lm s a ne uit am, Google ne recomand a
ce s a caut am, iar Facebook ne trimite sugestii de prieteni. Algoritmii de recomandare sunt
prezent ,i peste tot, s ,i se bazeaz a pe comportamentul online al utilizatorilor. Acelas ,i lucru
se aplic a companiilor mai mici care sunt predominante ^ ntr-o anumit a regiune, precum
site-urile de v^ anzari imobiliare sau de propriet at ,i dintr-o t ,ar a.
Algoritmii care stau la baza sistemelor de recomandare urm aresc s a ofere utiliza-
torului cele mai relevante s ,i exacte elemente prin ltrarea materialelor utile dintr-o imens a
13

14
baz a de informat ,ii. Motoarele de recomandare descoper a tiparele de date din setul de
date ^ nv at ,^ and alegerile consumatorilor s ,i produc rezultatele care se coreleaz a cu nevoile s ,i
interesele lor.
Obt ,inerea de recomand ari din surse de ^ ncredere este o component a critic a a pro-
cesului natural de luare a deciziilor umane. Din moment ce nevoile utilizatorilor variaz a
de la o persoan a la alt a persoan a, generalizarea unui astfel de sistem nu este posibil a.
Un sistem de recomandare este menit s a ofere nis ,te sugestii personalizate utilizatoriilor
pentru diferite resurse, precum c art ,i, lme, melodii, etc., bazate pe un anumit set de date.
Practic, acestea sunt tooluri capabile s a caute date accesibile s ,i, ^ n funct ,ie de preferint ,ele
utilizatorului, s a ajusteze rezultatele pentru a le potrivi cu interesele utilizatorului.
Cu toate acestea, odat a cu ^ mbun at at ,irile aduse algoritmilor de recomandare, put-
erea s ,i dominat ,ia acestor sisteme a atins un nivel nou. Fiind prezent ,i aproape peste tot,
ei afecteaz a s ,i schimb a aspecte mult mai ample ale viet ,ii
^In aceast a lucrare s ,tiint ,i c a, vom discuta despre un sistem de recomandare de lme.
Acesta va funct ,iona pe baza unor atribute stabilite cu exactitate, precum ratingul oferit
de c atre utilizator unor lme vizualizate recent, s ,i totodat a, genurile de lme preferate
de acesta. Industria lmelor este foarte vast a. Din acest motiv, am optat pentru acest
algoritm, optimizat s ,i pentru lme vizionate de put ,ini utilizatori. Totodata, vom vedea
c a tot ce se dezvolt a ^ n contextul sistemelor de recomandare poate avea aplicat ,ii mult mai
largi, algoritmii put^ and folosit ,i pentru aproape orice problema unde observat ,iile sunt
incomplete.
Acest tip de sistem este bene c s ,i foarte apreciat de c atre organizat ,ii de nivel ^ nalt,
care colecteaz a seturi de date de la un num ar foarte mare de client ,i, cu scopul de a le oferi
preziceri c^ at mai exacte s ,i apropiate de realitate.
1.2 Contextul proiectului

Capitolul 2
Obiectivele Proiectului
^In acest capitol se prezint a tema propriu-zis a (sub forma unei teme de proiectare sau
cercetare, formulat a exact, cu obiective clare – 2-3 pagini  si eventuale guri explicative).
Reprezint a cca. 10% din lucrare.
2.1 Titlu
2.2 Alt titlu
15

Capitolul 3
Studiu Bibliogra c
Documentarea bibliogra c a are ca obiectiv prezentarea stadiului actual al domeni-
ului sau sub-domeniului ^ n care se situeaz a tema. ^In redactarea acestui capitol (^ n general
a ^ ntregului document) se va  tine cont de cuno stin tele acumulate la disciplinele dedicate
din semestrul 2, anul 4 (Metodologia ^Intocmirii Proiectelor, etc.), precum  si la celelalte
discipline relevante temei abordate.
Acest capitol reprezint a cca. 15% din lucrare.
Referin tele se scriu ^ n sec tiunea Bibliogra e. Formatul referin telor trebuie s a e
de tipul IEEE sau asem an ator. Introducerea  si formatarea referin telor ^ n bibliogra e,
respectiv citarea ^ n text, se pot face manual sau folosind instrumentele de lucru men tionate
^ n ultimele paragrafe din acest capitol.
In chapter 4 of [1], which discusses the value of the honeypots, Spitzner presents
the advantages and disadvantages of such systems.
^In sec tiunea Bibliogra e sunt exemple de referin te pentru articol la conferin te sau
seminarii [2], articol ^ n jurnal [3], sau c ar ti [4].
Referin tele spre aplica tii sau resurse online (pagini de internet) trebuie sa includ a
cel pu tin o denumire sugestiv a pe l^ ang a link-ul propriu-zis [5], plus alte informa tii dac a
sunt disponibile (autori, an, etc.). Referin tele care prezint a doar link spre resursa online se
vor plasa ^ n subsolul paginii unde sunt referite. Citarea referin telor ^ n text este obligatorie,
vezi exemplul de mai jos (^ n func tie de tema proiectului se poate varia modul de prezentare
a metodei/aplica tiei).
^In [3] autorii prezint a un sistem pentru detec tia obstacolelor ^ n mi scare folosind
stereoviziune  si estimarea mi sc arii proprii. Metoda se bazeaz a pe … trecere ^ n revist a a
algoritmilor, structurilor de date, func tionalitate, aspecte speci ce temei proiectului etc .
Discu tie avantaje – dezavantaje .
^In capitolul 4 al [4] se prezint a …
16

3.1. TITLU 17
3.1 Titlu
3.2 Alt titlu

Capitolul 4
Analiz a  si Fundamentare Teoretic a
^Impreun a cu capitolul urm ator trebuie s a reprezinte aproximativ 60% din total.
Scopul acestui capitol este de a explica principiile func tionale ale aplica tiei imple-
mentate. Aici se va descrie solu tia propus a dintr-un punct de vedere teoretic – explica ti  si
demonstra ti propriet a tile  si valoarea teoretic a:
algoritm utilizat sau propus
protocoale utilizate
modele abstracte
explica tii/argument ari logice ale solu tiei alese
structura logic a  si func tional a a aplica tiei.
NU SE FAC referiri la implementarea propriu-zis a.
NU SE PUN descrieri de tehnologii preluate cu copy-paste din alte surse sau lucruri
care nu  tin strict de proiectul propriu-zis (materiale de umplutur a).
4.1 Titlu
4.2 Alt titlu
18

Capitolul 5
Proiectare de Detaliu  si
Implementare
^Impreun a cu capitolul precedent reprezint a aproximativ 60% din total.
Scopul acestui capitol este de a documenta aplica tia dezvoltat a ^ n a sa fel ^ nc^ at
dezvoltarea  si ^ ntre tinerea ulterioar a s a e posibile. Cititorul trebuie s a identi ce func tiile
principale ale aplica tiei din ceea ce este scris aici. Capitolul ar trebui sa con tin a (nu se
rezum a neap arat la):
schema general a a aplica tiei
descrierea ec arei componente implementate, la nivel de modul
diagrame de clase, clase importante  si metode ale claselor importante.
19

Capitolul 6
Testare  si Validare
Aproximativ 5% din total
6.1 Titlu
6.2 Alt titlu
20

Capitolul 7
Manual de Instalare  si Utilizare
^In sec tiunea de Instalare trebuie s a detalia ti resursele software  si hardware necesare
pentru instalarea  si rularea aplica tiei, precum  si o descriere pas cu pas a procesului de
instalare. Instalarea aplica tiei trebuie s a e posibil a pe baza a ceea ce se scrie aici.
^In acest capitol trebuie s a descrie ti cum se utilizeaz a aplica tia din punct de vedere
al utilizatorului, f ar a a men tiona aspecte tehnice interne. Folosi ti capturi ale ecranului  si
explica tii pas cu pas ale interac tiunii. Folosind acest manual, o persoan a ar trebui s a poat a
utiliza produsul vostru.
7.1 Titlu
7.2 Alt titlu
21

Capitolul 8
Concluzii
Cca. 5% din total. Capitolul ar trebui sa con tin a (nu se rezum a neap arat la):
un rezumat al contribu tiilor voastre
analiz a critic a a rezultatelor ob tinute
descriere a posibilelor dezvolt ari  si ^ mbun at a tiri ulterioare
8.1 Titlu
8.2 Alt titlu
22

Bibliogra e
[1] W. Strunk, Jr. and E. B. White, The Elements of Style , 3rd ed. Macmillan, 1979.
[2] E. Bellucci, A. Lodder, and J. Zeleznikow, \Integrating arti cial intelligence, argumen-
tation and game theory to develop an online dispute resolution environment.' in 16th
International Conference on Tools with Arti cial Intelligence , 2004, pp. 749{754.
[3] G. Antoniou, T. Skylogiannis, A. Bikakis, M. Doerr, and N. Bassiliades, \Dr-brokering:
A semantic brokering system.' Knowledge-Based Systems , vol. 20, no. 1, pp. 61{72,
2007.
[4] S. J. Russell, P. Norvig, J. F. Canny, J. M. Malik, and D. D. Edwards, Arti cial
intelligence: a modern approach . Prentice hall Englewood Cli s, 1995, vol. 2.
[5] \Ajax tutorial.' [Online]. Available: http://www.tutorialspoint.com/ajax/.
23

Anexa A
Sec tiuni relevante din cod
/** Maps are easy to use in Scala. */
object Maps {
val colors = Map("red" -> 0xFF0000,
"turquoise" -> 0x00FFFF,
"black" -> 0x000000,
"orange" -> 0xFF8040,
"brown" -> 0x804000)
def main(args: Array[String]) {
for (name <- args) println(
colors.get(name) match {
case Some(code) =>
name + " has code: " + code
case None =>
"Unknown color: " + name
}
)
}
}
24

Anexa B
Alte informa tii relevante
(demonstra tii etc.)
25

Anexa C
Lucr ari publicate (dac a exist a)
26

Similar Posts