Cu scopul de a aplica funcția sa de bază, identificând elementele utile pentru utilizator, un sistem de recomandare trebuie să prezică dacă un articol merită să fie recomandat. Cu scopul de a determina acest lucru, sistemul trebuie să fie capabil de a prezice utilitatea unor articole, sau cel puțin să compare utilitatea acestora, și apoi să decidă ce produse vor fi recomandate pe baza acestei comparații. Etapa predicției nu trebuie neapărat să se regăsească explicit în algoritmul de recomandare, dar putem aplica în continuare acest model pentru a descrie rolul unui sistem de recomandare.
În acest capitol scopul nostru este de a oferi cititorului o perspectivă globală asupra tehnicilor și algoritmilor de recomandare existenți, mai degrabă decât o descriere detaliată a acestora. De asemenea în cele ce urmează vom prezenta și câteva dintre sistemele de recomandare existente.
3.1 Tehnici de recomandare
Pentru a ilustra etapa de predicție a unui sistem de recomandare, luăm în considerare următorul exemplu, un algoritm de recomandare simplu, nepersonalizat care recomandă doar cele mai populare piese. Motivul pentru utilizarea acestei abordări este că, în lipsa unor informații mai precise despre preferințele utilizatorului, un cântec popular, de exemplu, care este plăcut de mulți utilizatori (are o utilitate ridicată), cel mai probabil va fi agreat și de către un utilizator generic, cel puțin mai mult decât o piesă aleasă aleatoriu.
Această lucrare prezintă diferite tipuri de sisteme care recomandă produse, ce variază în funcție de domeniul abordat, cunoștințele utilizate, dar mai ales în ceea ce privește sistemul de recomandare; de exemplu, cum se construiește predicția utilității unei recomandări. Alte diferențe se referă la modul în care recomandările sunt asamblate și prezentate utilizatorului ca răspuns cererilor acestuia.
Pentru a oferi o primă privire de ansamblu asupra diferitelor tipuri de sisteme de recomandare, am dori să cităm o taxonomie oferită de [2], care a devenit un mod clasic de a distinge sistemele de recomandare. [2] distinge între șase diferite abordări de recomandare:
Filtrare bazată pe conținut: Sistemele care pun în aplicare o astfel de abordare bazată pe filtrarea conținutului, analizează un set de date, documente și/sau descrieri ale elementelor evaluate anterior de către un utilizator, construind astfel un model sau profil al intereselor utilizatorului pe baza caracteristicilor articolelor evaluate de acesta. Profilul este o reprezentare structurată a intereselor utilizatorului, adoptat pentru a recomanda elemente noi interesante. Procesul de recomandare constă practic în potrivirea atributelor profilului de utilizator contrar atributelor conținute de un articol. Rezultatul este o deducție relevantă care reprezintă nivelul de interes al utilizatorului pentru acel obiect. În cazul în care un profil reflectă cu acuratețe preferințele utilizatorului, acesta este un avantaj imens pentru eficiența procesului de acces la informație. De exemplu, informațiile ar putea fi folosite pentru a filtra rezultatele căutării și de a decide dacă un utilizator este interesat sau nu de o pagină Web, în caz negativ, evitând afișarea acelei pagini.
Filtrarea prin colaborare(CF): Cea mai simplă și originală implementare a acestei abordări [13] constă în a recomanda elemente pentru utilizatorul activ, pe care alți utilizatori cu gusturi similare le-au plăcut în trecut. Similaritatea gustului a doi utilizatori se calculează pe baza similarității evaluărilor oferite de utilizatori anterior. Acesta este motivul pentru care [24] se referă la filtrarea prin colaborare ca ”people-to-people correlation”. Filtrarea prin colaborare este considerată a fi cea mai populară tehnică în sistemele de recomandare fiind utilizată la scară largă.
Printre abordările recomandărilor prin colaborare, metodele bazate pe cel mai apropiat vecin (nearest-neighbors), se bucură de o mare popularitate, datorită simplității, eficienței, precum și capacitatea acestora de a produce recomandări precise și personalizate. Aceste metode se concentrează pe relațiile dintre obiecte sau, alternativ, între utilizatori. O abordare element-element (item-item) modelează preferința utilizatorului pentru un element în funcție de evaluările oferite de același utilizator elementelor similare.
Algoritmii de filtrare prin colaborare sunt de obicei împărțiți în două categorii: filtrare prin colaborare pe bază de memorie (memory-based) și bazată pe modele (model-based). Filtrarea prin colaborare bazată pe memorie utilizează baza de date a utilizatorului (sau cel puțin un eșantion mare) pentru a crea recomandări. Algoritmul cel mai proeminent este cel de filtrare prin colaborare bazat pe utilizator (user-based). Dezavantajele acestei abordări este scalabilitatea, deoarece întreaga bază de date a utilizatorului trebuie prelucrată on-line pentru crearea recomandărilor. Algoritmii bazați pe model utilizează baza de date a utilizatorului pentru a descoperi un model mai compact (de exemplu, grupuri de utilizatori cu preferințe similare), care este ulterior folosit pentru a crea recomandări.
Demografice: Acest tip de sistem recomandă elemente bazându-se pe profilul demografic al utilizatorului (sex, vârstă, studii etc.). Se presupune că diferite recomandări ar trebui să fie generate pentru diferite nișe demografice. Multe site-uri web adoptă soluții simple și eficiente de personalizare bazate pe datele demografice (de exemplu, utilizatorii sunt redirectați către anumite site-uri web în funcție de limba sau țara lor). Unele sugestii pot fi personalizate în funcție de vârsta utilizatorului. În timp ce aceste abordări au fost destul de populare în literatura de specialitate a marketing-ului, cercetarea în această direcție a sistemelor de recomandare nu a fost des abordată.
Bazată pe cunoaștere: Sistemele bazate pe cunoștințe recomandă un produs bazându-se pe cunoștințe specifice domeniului, cu privire la modul în care anumite caracteristici ale elementului satisfac nevoile și preferințele utilizatorului și, în cele din urmă, modul în care elementul este util utilizatorului. Cele mai populare sistemele bazate pe cunoștințe sunt cele bazate pe caz (case-based) [25]. În aceste sisteme o funcție de similitudine estimează cât de mult nevoile utilizatorilor (descrierea problemei) se potrivesc cu recomandările (soluții ale problemei). Aici scorul de similaritate poate fi interpretat direct ca utilitatea recomandării pentru utilizator.
Sistemele bazate pe constrângeri sunt un alt tip de sisteme de recomandare ce implementează la bază filtrarea bazată pe cunoaștere. În termeni de cunoștințe utilizate, ambele sisteme sunt similare: cerințele utilizatorului sunt colectate; alternative pentru cererile inconsistente sunt propuse automat în cazul în care nu a fost găsită o soluție; și rezultatele recomandării sunt explicate. Diferența majoră constă în modul de calcul al soluțiilor. Recomandările bazate pe conținut determină recomandări pe baza indicatorilor de similaritate în timp ce sistemele bazate pe constrângeri determină soluții prin exploatarea cu predominanță a bazei de cunoștințe predefinită, care conține reguli explicite despre cum se raportează cerințele clientului la caracteristicile elementelor.
Sistemele bazate pe cunoștințe tind să funcționeze mai eficient decât altele la începutul lansării lor, dar în cazul în care acestea nu sunt echipate corespunzător (de exemplu, componente care ajută la învățare), acestea pot fi depășite prin alte metode superficiale care pot exploata istoricul interacțiunii om-calculator (ca în CF).
Bazate pe comunitate: Aceste tip de sistem recomandă produse utilizând preferințele utilizatorilor prieteni. Această tehnică urmează epigrama ”Spune-mi care îți sunt prietenii și iți voi spune cine ești”. Dovezile sugerează faptul că oamenii au tendința să se bazeze mai mult pe recomandările oferite de prieteni decât pe recomandările primite de la persoane fizice similare, dar anonime [26]. Această observație, combinată cu popularitatea în creștere a rețelelor de socializare, generează un interes ridicat pentru sistemele bazate pe conținut sau cum sunt ele altfel denumite, sisteme de recomandare sociale. Acest sistem modelează și colectează informații despre relațiile sociale ale utilizatorului și preferințele prietenilor acestuia. Recomandarea se bazează pe evaluările care au fost furnizate de către prietenii utilizatorului. De fapt aceste sisteme de recomandare sunt o urmare a dezvoltării rețelelor de socializare și permit o achiziție simplă și cuprinzătoare a datelor referitoare la relațiile sociale ale utilizatorului.
Cercetarea în acest domeniu este încă în fază incipientă, iar rezultatele cu privire la performanțele sistemelor nu sunt foarte clare. De exemplu, în general recomandările bazate pe comunitate nu sunt mai precise decât cele provenite din abordări tradiționale bazate pe colaborare, cu excepția cazurilor speciale, cum ar fi evaluarea utilizatorului pentru un anumit tip de produs, (evaluare extrem de variată) sau pentru situații de cold-start (de exemplu, în cazul în care utilizatorii nu au furnizat suficiente evaluări pentru a calcula similarități pentru alți utilizatori). Alții au arătat faptul că în anumite cazuri, recomandările bazate pe rețelele de socializare sunt mai bune în comparație cu cele oferite de sistemele ce utilizează similarități ale profilului, și adăugarea datelor preluate dintr-o rețea socială sistemelor bazate pe colaborare poate îmbunătăți substanțial rezultatele recomandării.
Sisteme de recomandare hibride: Aceste sisteme utilizează o combinație a tehnicilor menționate anterior. Un sistem care combină tehnicile A și B încearcă să folosească avantajele A pentru a remedia dezavantajele B și viceversa. Spre exemplu, metodele de filtrare bazate pe colaborare suferă de problema produsului nou (new-item), ceea ce înseamnă ca ele nu pot recomanda un produs care nu a fost evaluat. Acest lucru nu limitează abordarea sistemelor bazate pe conținut, din moment ce recomandarea elementelor noi se bazează pe descrierea lor (caracteristici), informații ce sunt, de obicei ușor accesibile. Având în vedere două (sau mai multe) tehnici de recomandare, au fost propuse mai multe moduri de a le combina cu scopul de a crea un nou sistem hibrid (a se consulta [2] pentru mai multe detalii).
Dostları ilə paylaş: |