Filtrare colaborativa

Filtrarea colaborativă , filtrarea colaborativă este una dintre metodele de construire a predicțiilor  ( recomandărilor) în sistemele de recomandare care utilizează preferințele cunoscute (estimări) ale unui grup de utilizatori pentru a prezice preferințele necunoscute ale altui utilizator. [1] Presupunerea sa de bază este că cei care au apreciat lucrurile în același mod în trecut tind să acorde valori similare altor lucruri în viitor. [1] De exemplu, utilizând filtrarea colaborativă, o aplicație muzicală este capabilă să prezică ce fel de muzică îi va plăcea unui utilizator , având în vedere o listă incompletă a preferințelor sale (apreciere și antipatie). [2] Prognozele sunt făcute individual pentru fiecare utilizator, deși informațiile utilizate sunt colectate de la mulți participanți. În acest fel, filtrarea colaborativă diferă de abordarea mai simplă , care oferă un scor mediu pentru fiecare obiect de interes, de exemplu, în funcție de numărul de voturi exprimate pentru acesta. Cercetările în acest domeniu se desfășoară activ în timpul nostru, ceea ce se datorează și prezenței unor probleme nerezolvate în filtrarea colaborativă.

Descriere

În era exploziei informaționale , metodele personalizate de recomandare precum filtrarea colaborativă sunt foarte utile, deoarece numărul de obiecte chiar și dintr-o categorie (cum ar fi filme, muzică, cărți, știri, site-uri web) a devenit atât de mare încât o singură persoană nu este capabil să le vizualizeze pe toate pentru a le alege pe cele potrivite.

Sistemele de filtrare colaborative folosesc de obicei o schemă în două etape [1] :

  1. Găsiți-i pe cei care împărtășesc judecățile de valoare ale utilizatorului „activ” (proiectat).
  2. Folosiți scorurile persoanelor cu gânduri similare găsite în primul pas pentru a calcula predicția.

Algoritmul descris mai sus este construit în funcție de utilizatorii sistemului.

Există și un algoritm alternativ, inventat de Amazon [3] , construit cu privire la articolele (produsele) din sistem. Acest algoritm include următorii pași:

  1. Construim o matrice care definește relația dintre perechi de obiecte pentru a găsi obiecte similare.
  2. Folosind matricea construită și informații despre utilizator, construim previziuni ale evaluărilor sale.

De exemplu, puteți vedea familia de algoritmi Slope One

Există, de asemenea, o altă formă de filtrare colaborativă care se bazează pe observarea implicită a comportamentului normal al utilizatorului (spre deosebire de observația explicită, care colectează evaluări ale utilizatorilor). În aceste sisteme, observați ce a făcut un anumit utilizator și ce au făcut alții (ce muzică au ascultat, ce videoclipuri au vizionat, ce melodii au achiziționat) și utilizați datele pentru a prezice comportamentul utilizatorului în viitor sau pentru a prezice utilizatorul ar dori să facă.dacă există o anumită posibilitate. Aceste predicții trebuie făcute conform logicii afacerii , deoarece este inutil, de exemplu, să oferi cuiva să cumpere un fișier muzical pe care îl are deja.

Tipuri de filtrare colaborativă

Există 2 metode principale utilizate în crearea sistemelor de recomandare - filtrarea colaborativă și recomandările bazate pe conținut. De asemenea, în practică, se utilizează o metodă hibridă de recomandări de construcție, care include un amestec al metodelor de mai sus. La rândul său, filtrarea colaborativă este împărțită în 3 abordări (tipuri) principale [4] :

Bazat în cartier

Această abordare este din punct de vedere istoric prima în filtrarea colaborativă și este utilizată în multe sisteme de recomandare. În această abordare, un subgrup de utilizatori similar cu el este selectat pentru un utilizator activ. Combinația de ponderi și scorurile subgrupurilor este utilizată pentru a prezice scorurile utilizatorilor activi [5] . Această abordare are următorii pași principali:

  1. Atribuiți o pondere fiecărui utilizator, ținând cont de asemănarea evaluărilor sale și a utilizatorului activ.
  2. Selectați mai mulți utilizatori care au greutatea maximă, adică se aseamănă cel mai mult cu utilizatorul activ. Acest grup de utilizatori se numește vecini [6] .
  3. Calculați predicția evaluărilor utilizatorilor activi pentru articolele pe care nu le-a evaluat, ținând cont de ponderile și evaluările vecinilor.

Bazat pe model

Această abordare oferă recomandări prin măsurarea parametrilor modelelor statistice pentru evaluările utilizatorilor construite folosind metode precum rețele bayesiene , clustering , modele semantice latente , cum ar fi descompunerea valorilor singulare , analiza semantică latentă probabilistică , distribuția Dirichlet latentă și modelele de luare a deciziilor bazate pe Markov . [5] Modelele sunt dezvoltate folosind data mining, algoritmi de învățare automată pentru a găsi modele bazate pe datele de antrenament. Numărul de parametri din model poate fi redus în funcție de tip folosind metoda componentelor principale .

Această abordare este mai complexă și produce predicții mai precise, deoarece ajută la descoperirea factorilor latenți care explică scorurile observate. [7]

Această abordare are o serie de avantaje. Se ocupă de matrice rare mai bine decât abordarea bazată pe adiacență, care, la rândul său, ajută la scalabilitatea seturilor de date mari.

Dezavantajele acestei abordări sunt crearea „costisitoare” a modelului [8] . Există un compromis între acuratețe și dimensiunea modelului, deoarece informațiile utile se pot pierde din cauza reducerii modelului.

Hibrid

Această abordare combină abordările bazate pe cartier și abordările bazate pe modele. Abordarea hibridă este cea mai comună în dezvoltarea sistemelor de recomandare pentru site-uri comerciale, deoarece ajută la depășirea limitărilor abordării originale inițiale (bazate pe vecinătate) și la îmbunătățirea calității predicțiilor. Această abordare depășește, de asemenea, problema rarității datelor și a pierderii de informații. Cu toate acestea, această abordare este complexă și costisitoare de implementat și aplicat. [9]

Probleme

Raritatea datelor

De regulă, majoritatea sistemelor comerciale de recomandare se bazează pe o cantitate mare de date (produse), în timp ce majoritatea utilizatorilor nu evaluează produsele. Drept urmare, matricea articol-utilizator este foarte mare și rară, ceea ce prezintă probleme la calcularea recomandărilor. Această problemă este deosebit de acută pentru sistemele noi, nou apărute. [4] De asemenea, raritatea datelor exacerba problema pornirii la rece .

Scalabilitate

Odată cu creșterea numărului de utilizatori din sistem, apare problema scalabilității. De exemplu, cu 10 milioane de clienți și un milion de articole , un algoritm de filtrare colaborativ cu complexitate egală este deja prea complicat de calculat. De asemenea, multe sisteme trebuie să răspundă instantaneu la solicitările online de la toți utilizatorii, indiferent de istoricul lor de achiziții și evaluări, ceea ce necesită o scalabilitate și mai mare.

Problemă de pornire la rece

Elementele noi sau utilizatorii reprezintă o mare problemă pentru sistemele de recomandare. Abordarea bazată pe conținut ajută o parte a problemei, deoarece se bazează mai degrabă pe atribute decât pe evaluări pentru a ajuta la includerea de noi elemente în recomandările pentru utilizatori. Cu toate acestea, problema furnizării unei recomandări pentru un utilizator nou este mai dificil de rezolvat. [patru]

Sinonimie

Sinonimia este tendința ca obiectele similare și identice să aibă nume diferite. Majoritatea sistemelor de recomandare nu pot detecta aceste conexiuni ascunse și, prin urmare, tratează aceste elemente ca fiind diferite. De exemplu, „filmele pentru copii” și „filmul pentru copii” aparțin aceluiași gen, dar sistemul le percepe ca fiind diferite. [5]

Frauda

În sistemele de recomandare în care oricine poate evalua, oamenii își pot evalua subiecții pozitiv și concurenții lor rău. De asemenea, sistemele de recomandare au devenit o mare influență asupra vânzărilor și profiturilor, deoarece au fost utilizate pe scară largă în site-urile comerciale. Acest lucru are ca rezultat vânzătorii fără scrupule care încearcă să-și ridice produsele în mod fraudulos și să-și degradeze concurenții. [patru]

Diversitate

Filtrarea colaborativă a fost concepută inițial pentru a crește diversitatea, pentru a permite utilizatorilor să descopere noi produse dintr-un număr infinit. Cu toate acestea, unii algoritmi, în special cei bazați pe vânzări și evaluări, creează condiții foarte dificile pentru promovarea produselor noi și puțin cunoscute, deoarece sunt înlocuiți cu produse populare care sunt pe piață de mult timp. Acest lucru, la rândul său, nu face decât să mărească efectul „bogații devin mai îmbogățiți” și duce la mai puțină diversitate. [zece]

Corbi albi

„Corbii albi” sunt utilizatori a căror părere nu coincide constant cu majoritatea celorlalți. Datorită gustului lor unic, le este imposibil să recomande ceva. Cu toate acestea, astfel de oameni au probleme în obținerea de recomandări în viața reală, așa că căutarea unei soluții la această problemă nu este în curs de desfășurare. [5]

Aplicație în rețelele sociale

Filtrarea colaborativă este utilizată pe scară largă în serviciile comerciale și rețelele sociale. Primul caz de utilizare este crearea unei recomandări pentru informații interesante și populare pe baza „voturilor” comunității. Servicii precum Reddit și Digg  sunt exemple tipice de sisteme care utilizează algoritmi de filtrare colaborativă.

Un alt domeniu de utilizare este crearea de recomandări personalizate pentru utilizator, pe baza activității sale anterioare și a datelor despre preferințele altor utilizatori similari. Această implementare poate fi găsită pe site-uri precum YouTube , Last.fm și Amazon [3] , precum și în servicii de geolocalizare precum Gvidi și Foursquare .

Vezi și

Note

  1. 1 2 3 A Survey of Collaborative Filtering Techniques, 2009 , p. unu.
  2. O abordare integrată a recomandărilor TV de către TV Genius Arhivat 6 iunie 2012.
  3. 1 2 Amazon, 2003 , p. unu.
  4. 1 2 3 4 Probleme în sistemele de recomandare, 2010 , p. 7.
  5. 1 2 3 4 A Survey of Collaborative Filtering Techniques, 2009 , p. 3.
  6. Algoritmul K-cel mai apropiat vecin
  7. Scalable and Accurate Collaborative Filtering, 2009 .
  8. A Survey of Collaborative Filtering Techniques, 2009 , p. 3-4.
  9. Probleme în sistemele de recomandare, 2010 , p. 6.
  10. Problema diversităţii, 2009 , p. 23.

Literatură