Post on 30-Nov-2014
description
Comert electronic
Tematica de laborator 2009/2010
Scopul lucrarilor de laborator este implementarea unei aplicatii colaborative pentru
diseminarea de informatii despre o anumita topica sau produs (excursii). Se vor folosi urmatoarele tehnologii: HTML/CSS, XML/XSL, JavaScript, miniserveri Java, JSP,
Servicii WEB, servere de baze de date.
Un scenariu generic al unei sesiuni de navigare/recomandare/cumparare este urmatorul:
Acces la pagina principala a aplicatiei; Utilizatorii sunt de 2 tipuri:
o Agentiile sunt deja adaugate in sistem si pot adauga excursii,
o Utilizatorii care pot vizualiza excursii, comenta excursiile prin aprecieri sub
forma de voturi, cumpara excursii.
Inregistrarea utilizatorului si autentificarea (login) lui (optional).
Vizualizarea excursiilor dorite si recomandarea unor excursii de catre sistem:
o Daca utilizatorul nu si-a construit profilul, sistemul foloseste recomandari
independente de utilizator: primele 5 cele mai recente excursii, primele 5 cele
mai votate excursii.
o Daca utilizatorul si-a construit profilul, sistemul ii face o recomandare a
excursiilor bazate pe preferintele utilizator (user –based - cand userul
acceseaza sistemul la inceput).
o Cand utilizatorul a selectat o excursie, sistemului ii face o recomandare bazata
pe elementul selectat (item –based- ii va recomanda alte excursii similare cu
excursia pe care el a selectat-o).
o Utilizatorii pot adauga tag-uri (caracteristici) la excursii care pot fi si notate
de la 1-10 (de exemplu pentru „excursia la Praga” s-a adaugat tag-ul muzeu
care a fost notat de utilizatori cu notele 8, 10, 7). – (extindere pentru proiect)
o Sistemul ii poate face o recomandare utilizatorului si pe baza tag-urilor pe
care acesta le-a notat pentru diferite excursii. – (extindere pentru proiect)
o Utilizatorii pot sa plaseze excursiile intr-un cos virtual de cumparaturi si sa
confirme comenda prin introducerea unor date suplimentare. Terminarea
sesiunii.
Sedinta tutoriala 1
Impartirea pe echipe, cate doi studenti intr-o echipa
Formularea cerintelor si continutului laboratorului.
Sedinta tutoriala 2 Prezentarea tehnologiilor si a instrumentelor software care vor fi folosite la laborator:
Java, Java Servlet, JSP, Servicii Web.
Apache/Tomcat:
o Prezentarea Tomcat, a interfetei si a structurii unei aplicatii
Apache/Axis
o Prezentarea Apache/Axis, a interfetei si a structurii unei aplicatii
Instrumente Java
o Prezentarea unui instrument de dezvoltare pentru Java (Eclipse).
o Precizarea bibliotecilor Java necesare pentru dezvoltarea de aplicatii web.
Sedinta tutoriala 3
Prezentare sisteme de recomandare. Algoritmi pentu sisteme de recomandare.
Tema 1
-Construirea paginii principale a sistemul. Functionalitatile care se vor adauga sunt:
o Un utilizator poate sa se inregistreze o Un utilizator poate sa se autentifice (login) cu posiblilitea de a-si modifica profilul
dupa autentificare
o O agentie poate sa adauge excursii, sa modifice/ stearga excursii
o Un utilizator poate sa vizualizeze excursii, sa caute, sa evalueze, sa cumpere -Se va crea scheletul aplicatiei folosind HTML/CSS/Java Script.
Tema 2
-Crearea bazei de date care va stoca informatii despre excursii si utilizatori.
-Se vor implementa functiile: o inregistrarea unui utilizator si adaugarea lui in baza de date.
o autentificarea unui utilizator cu posibilitatea de a-si modifica datele.
o adaugarea/modificarea/stergerea unei excursii pentru agentii.
Tema 3 -Se va implementa prima forma de recomandare:
o Daca utilizatorul nu si-a construit profilul, sistemul foloseste recomandari
independente de utilizator: primele 5 cele mai recente excursii, primele 5 cele mai
votate excursii.
- Se va implementa functia de cautarea a unei excursii dupa nume destinatiei.
Utilizator *NumeUtilizator
*CNP
*parola
*educatie(studii medii/universitare/postuniversitare) *varsta
*profesia
Excursie *IdExcursie
*IdAgentie
*Destinatia *Traseu
*Luna calendaristica
*Durata
*Pret
Utilizator_Excursie
*CNP
* IdExcursie *Vot(1..5)
Caracteristici(Tag-uri)
*IdExcursie
*Cnp
*Caracteristica *Nota
Agentie
*IdAgentie
*Denumire
*Parola
Tema 4
-Plasarea excursiilor intr-un cos virtual de cumparaturi si confirmarea comenzii prin
introducerea unor date suplimentare. Terminarea sesiunii.
-Utilizatorul poate evalua excursiile prin acordarea de voturi.
Tema 5 -Daca utilizatorul si-a construit profilul, sistemul ii face o recomandare a excursiilor
bazate pe preferintele sale. Se va folosi filtrarea colaborativa centrata pe utilizator
(algoritmul va fi prezentat detaliat in tutorial in sedinta tutoriala 3).
-Pentru M elemente si K utilizatori, se va calcula matricea utilizator-element (utilizator -
excursie).
-Fiecare element al matricei indica:
- votul pe care un utilizator l-a dat pentru o excursie, daca excursia a fost votata,
- valoare necunoscuta daca excursia nu a fost votata.
-Fiecare rand al matricei este un vector care reprezinta profilul utilizatorului pe baza
voturilor date excursiilor.
-Pentru a calcula similaritatea intre profilele utilizatorilor, se va folosi corelatia Pearson.
-Pentru un profilul utilizatorului curent, se vor alege primele N profile utilizator similare.
-Utilizatorului curent ii vor fi recomandate elementele preferate de cei N utilizatori
similari.
Tema 6 -Cand utilizatorul a selectat o excursie, sistemul ii face o recomandare bazata pe elementul
selectat (item –based- ii va recomanda alte excursii similare cu excursia pe care el a
selectat-o). Se va folosi filtrarea colaborativa centrata pe item. (algoritmul va fi prezentat
detaliat in tutorial, in sedinta tutoriala 3).
-Pornind de la matricea utilizator–element, se va calcula matricea element-elemnt
(excursie -excursie) care indica gradul de similaritate intre elemente.
-Se ordoneaza elementele in functie de similitudinea intre ele, folosind corelatia Pearson.
-Atunci cand un utilizator selecteaza un element, sistemul ii va recomanda primele M
elemente cele mai similare cu acesta.
Tema Proiect: sistemul de mai sus va avea urmatoarea extindere:
-La fiecare excursie utilizatorii pot adauga caracteristici sau tag-uri sau impresii(exemplu:
muzee, peisaje montane, etc) pe care le pot nota (de la 1 la 10).
-Sistemul ii poate face o recomandare utilizatorului si pe baza tag-urilor pe care acesta le-
a notat pentru diferite excursii.
-Se va folosi filtrarea colaborativa centrata pe utilizator.
-Se va calcula matricea utilizator-tag; fiecare element al matricei Xu,t reprezinta media
notelor date de utilizatorul u pentru tag-ul t.
-Fiecare rand al matricei este un vector care reprezinta profilul utilizatorului pe baza
notelor date impresiilor (tag-urilor) excursiilor.
-Pentru a calcula similaritatea intre profilele utilizatorilor, se va folosi corelatia Pearson.
-Pentru un profilul utilizatorului curent, se vor alege primele N profile utilizator similare.
-Utilizatorului curent ii vor fi recomandate elementele preferate de cei N utilizatori
similari.