ebook img

rangiranje prijatelja u društvenoj mreži facebook zasnovano na korisničkim profilima PDF

35 Pages·2012·1.5 MB·Croatian
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview rangiranje prijatelja u društvenoj mreži facebook zasnovano na korisničkim profilima

SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA ZAVRŠNI RAD br. 2404 RANGIRANJE PRIJATELJA U DRUŠTVENOJ MREŽI FACEBOOK ZASNOVANO NA KORISNIČKIM PROFILIMA Vanda Viljanac Zagreb, lipanj 2012. Sadržaj Uvod ...................................................................................................................................... 1 1. Sustavi za preporučivanje .............................................................................................. 2 1.1. Preporučivanje zasnovano na suradnji .................................................................. 3 1.2. Preporučivanje zasnovano na sličnosti .................................................................. 4 1.3. Hibridno preporučivanje ........................................................................................ 5 1.4. Primjeri preporučiteljskih sustava ......................................................................... 6 1.4.1. Amazon .......................................................................................................... 6 1.4.2. Google ........................................................................................................... 7 2. Preporučivanje u društvenim mrežama ......................................................................... 9 2.1. Preporučivanje u društvenoj mreži Facebook ..................................................... 10 2.2. Rangiranje u društvenoj mreži Facebook kao oblik preporučivanja ................... 11 3. Model sustava Rangiranje prijatelja i algoritam za izračun ....................................... 13 3.1. Model sustava Rangiranje prijatelja ................................................................... 13 3.2. Algoritam pridjeljivanja težina ............................................................................ 14 3.3. Baza podataka korisnikovih prijatelja ................................................................. 16 3.4. Arhitektura aplikacije za statičko rangiranje prijatelja ........................................ 18 4. Programska izvedba aplikacije za statičko rangiranje prijatelja .................................. 19 4.1. Programski jezik PHP .......................................................................................... 22 4.2. Baza podataka MySQL ........................................................................................ 23 5. Scenarij korištenja aplikacije za statičko rangiranje prijatelja .................................... 24 Zaključak ............................................................................................................................. 27 Literatura ............................................................................................................................. 28 Sažetak ................................................................................................................................. 29 Summary .............................................................................................................................. 30 Skraćenice ............................................................................................................................ 31 Uvod Razvojem Interneta i popularizacijom društvenih mreža virtualna prijateljstva dobivaju na važnosti. Danas, samo jednim klikom miša stvaramo novo poznanstvo pa prolaskom vremena postajemo povezani s preko nekoliko stotina ljudi. U ovom moru internetskih prijateljstava teško je pratiti tko nam je sličan, s kim bismo se mogli slagati, te s kim dijelimo zajedničke interese. Jedno od mogućih rješenja ovog problema predstavljeno je u ovom završnom radu razvojem programske potpore koja preporučuje prijatelje. Preporučiteljski sustavi već su uobičajena pojava na internetskim stranicama te obuhvaćaju mnogo područja i načina preporučivanja. Njihova zadaća jest pronalaženje odgovarajućih podataka u mreži na temelju korisnikovih preferencija. Grana preporučivanja koja je u području interesa ovog rada jest rangiranje. Po prvi puta susrećemo se sa sustavom koji preporučuje osobe umjesto predmeta, glazbe ili filmova. Ovakav sustav radi na principu društvenog grafa čiji je korijen korisnik, a grane predstavljaju prijateljstvo i posjeduju određene težine. Rangiranje prijatelja i dodjeljivanje težinskih karakteristika obavlja se na temelju statičkih podataka na njihovim profilima. Pod pojmom statički podatci podrazumijevamo informacije na korisničkom profilu koje se ne mijenjaju, ili se vrlo rijetko mijenjaju kao što su primjerice najdraže knjige, filmovi, mjesto stanovanja ili brandovi. U prvom poglavlju objašnjen je pojam preporučiteljskog sustava i način na koji funkcionira, te su predstavljeni najpoznatiji primjeri. U drugom poglavlju opisano je rangiranje kao podvrsta preporučivanja te je napravljen osvrt na rangiranje u Facebook mreži. U trećem poglavlju razrađen je algoritam za pridjeljivanje težina kao i izgled društvenog grafa. Pridodani su nacrti i opisana je baza podataka. U četvrtom poglavlju objašnjena je programska izvedba u jeziku PHP (Hypertext Preprocesor), dani su ključni dijelovi koda kako bi se pojasnila osnovna struktura programa. U petom poglavlju dan je primjer mogućeg scenarija upotrebe te su priložene slike s ekrana dok je aplikacija u izvedbi. 1 1. Sustavi za preporučivanje Najvažnija zadaća preporučitelja je pomoć korisniku pri odabiru. Korisnici su često suočeni s nepregledno velikom ponudom koja ih zastrašuje, zbunjuje i čini nepovjerljivima dok su prodavači suočeni s problemom marketinga i prezentacije velikog broja proizvoda. Pošto je u ljudskom procesu donošenja odluka kritična komponenta upravo primanje savjeta od pouzdanog izvora osmišljeni su sustavi za preporučivanje koji olakšavaju posao kupcima i prodavačima. Kada se opisana situacija primjeni na Internet možemo reći da je osnovna zadaća sustava za preporučivanje specifična tehnika filtriranja informacija sa svrhom pronalaska i prezentacije informacijskog predmeta (knjige, glazba, filmovi, slike, itd.) koji bi mogao zanimati korisnika. Dakle, preporučiteljski sustav sugerira korisniku koje stavke još nije koristio, a mogle bi biti od njegova interesa i trebao bi ih pregledati. Ukoliko preporučitelj uistinu pruži korisne informacije kupac stvara povjerenje prema sustavu i ostaje njegov vjeran korisnik. Preporučiteljski sustavi razlikuju se u načinu na koji analiziraju informacije, a poznajemo tri osnovna načina [1] :  Preporučivanje zasnovano na suradnji (engl. collaborative recommendation) – preporučuje predmete na temelju korisnikovog prošlog ponašanja ;  Preporučivanje zasnovano na sadržaju (engl. content-based recommendation) – preporučuje na temelju sličnih predmeta;  Hibridno preporučivanje (engl. hybrid recommendation) – kombinacija prethodno navedenih stilova. 2 1.1. Preporučivanje zasnovano na suradnji Sustav za preporučivanje zasnovan na suradnji sakuplja povratne informacije korisnika koji ocjenjuje objekte, povezuje korisnike kojima se manifestiraju sličnosti u ocjenjivanju te iskorištava te informacije pri preporučivanju predmeta [2]. Ovakvo preporučivanje naziva se još i personalizirano preporučivanje. Ukratko, korisnicima se preporučuju predmeti koji su odgovarali korisnicima koji su im bili slični. Ako je na primjer osoba A imala isto mišljenje kao osoba B o nekom predmetu, onda je veća vjerojatnost da će osoba A imati isto mišljenje kao i osoba B o nekom drugom predmetu [3]. Personalizirano preporučivanje koristi algoritam koji računa sličnost između dva korisnika, i stvara predviđanje uzimajući prosjek svih ocjena. Taj algoritam je definiran izrazom (1) :  (r r )(r r ) sim(x,y)  ieI x,i x y,i y , (1)  (r r )2(r r )2 ieI x,i x y,i y ieI gdje je I set predmeta koji su ocijenili korisnik X i Y. xy Kada su se prethodno navedena predviđanja primijenila na milijune ljudi rezultati nisu bili dobri zbog složenosti algoritma za potragu sličnih korisnika i preduguog vremena izvedbe. Kao alternativa smišljena je metoda podatkovnog filtriranja podataka (engl. Item based collaborative filtering) koja umjesto traženja sličnih korisnika traži predmet B koji je sličan predmetu A, a ocijenili su ga dobrim korisnici koji su ocijenili i predmet A i predmet B. Dvije osnovne kategorije sustava za personalizirano preporučivanje su:  Sustavi zasnovani na memoriji – ovakav mehanizam koristio se u početcima preporučiteljskih sustava, jednostavan je za implementaciju i vrlo efektivan. Koristi memoriju tj. bazu podataka iz koje statičkim funkcijama izračunava k najsličnijih korisnika iz čijih se zapisa aktivnom korisniku preporučuju predmeti;  Sustavi zasnovani na modelu – ovakav mehanizam izgrađuje model na temelju korisnikovih prethodnih radnji koji analizira predmete te predviđa mogućnost sviđanja tog predmeta korisniku. 3 1.2. Preporučivanje zasnovano na sličnosti Metode ovakvog preporučivanja zasnovane su na opisu i karakteristikama predmeta te na profilu korisnikovih interesa pa ih ne zanimaju druge specifikacije o korisniku [2]. Drugim riječima, algoritmi preporučivanja zasnovanog na sličnosti preporučuju predmete koji su slični onima koji su se sviđali korisniku u prošlosti. Sustav kreira profil korisnika (engl. content-based profile) koji se sastoji od modela korisnikovih preferencija i od korisnikovih prošlih radnji. Model korisnikovih preferencija predstavlja korisnikove interese i izračunava se iz njegovih prošlih radnji pod koje spadaju ocjenjivanje predmeta ili pregledavanje predmeta. Reprezentacija predmeta jest uglavnom tekstualni opis predmeta koji nazivamo njegovim meta podatkom i može se prikazati vektorom (2) :   v  w , w ,  , w, T (2) d 1,d 2,d N,d gdje je w težina neke karakteristike t u dokumentu d. Nakon što su definirane dvije t,d najvažnije stavke profil predmeta i profil korisnika, metoda kojom se izračunavaju najsličniji predmeti naziva se metoda najbližeg susjeda. Prilagodljiva je za strukturirane i za nestrukturirane podatke jer ih sprema u memoriju iz koje kasnije uzima potrebne informacije. Kada klasificira novi predmet metoda ga usporedi sa svim predmetima iz memorije koristeći funkciju sličnosti i odredi mu k ''najbližih susjeda''. Numerička vrijednost novog predmeta izvedena je iz pronađenih najbližih susjeda. Sličnost između dva predmeta izračunava se kosinusnom kuta između njihovih vektora kako prikazuje izraz (3) : v v cos 1 2 (3) v v 1 2 Usprkos jednostavnosti algoritma njegova se performansa pokazala konkurentnom s performansama mnogo kompleksnijih algoritama. 4 1.3. Hibridno preporučivanje Svi prethodno opisani algoritmi djelotvorni su samo u određenim okolnostima i imaju poteškoće pri prepoznavanju suptilnosti u sadržaju. Iz ovog razloga razvijeni su hibridni sustavi za preporučivanje koji su kombinacija preporučivanja zasnovanog na sadržaju i preporučivanja zasnovanog na suradnji te nadomještaju njihove nedostatke [4]. Oni analiziraju podatke na temelju usporedbe sličnosti predmeta koje je korisnik u prošlosti pregledavao i ocjenjivao te na temelju akcija sličnih korisnika. Postoje razne kombinacije hibridnog preporučivanja, a ovdje će biti predstavljene najkorištenije (Tablica 1.1). Tablica 1.1 Metode hibridnog preporučivanja Metoda Opis Ocijene različitih tehnika preporučivanja Težinska kombiniraju se zajedno kako bi se dobila jedinstvena preporuka. Sistem izmjenjuje metode preporučivanja Izmjenična ovisno o trenutnoj situaciji Nekoliko tehnika preporučivanja prisutno je Miješana u isto vrijeme. Obilježja različitih preporučiteljskih sustava Kombinacija obilježja spojeni su u isti preporučiteljski algoritam. Jedan sustav preporučivanja usavršava Kaskada drugi. Model jednog sustava preporučivanja koristi Meta-razina se kao ulaz za model drugog sustava. 5 1.4. Primjeri preporučiteljskih sustava Preporučiteljski sustavi postali su izuzetno korišteni zadnjih godina. Svaka veća internetska stranica čiji poslužitelj čuva velike količine podataka ima integrirani preporučiteljski sustav koji korisnicima pomaže pri pregledavanju podataka. U nastavku opisan je način rada popularnih internetskih stranica koje koriste preporučiteljske sustave. 1.4.1. Amazon Amazon.com jedna je od najpoznatijih internetskih stranica koja se bavi elektroničkom trgovinom. Svoje preporučivanje temelji na hibridnom preporučivanju koje se uglavnom bazira na filtriranju zasnovanom na sadržaju. Amazonov sustav preporučivanja vrlo je sofisticiran ali je u svojoj srži temeljen na individualnom ponašanju korisnika ili samom predmetu i ponašanju drugih korisnika. Kada korisnik pregledava internetsku stranicu kompanije Amazon sustav pamti njegove preglede i na temelju njih preporučuje nove predmete koje bi korisnik mogao pogledati [5]. Ovakav slučaj prikazan je na slici (Slika 1.1) gdje se na lijevoj strani nalazi popis pregledanih predmeta, dok se na desnoj nalazi popis predmeta koje su korisniku preporučene. Možemo primjetiti sličnost u naslovima između pregledanih i preporučenih predmeta. Primjerice pregledani predmet je knjiga naziva „Preporučiteljski sustavi“ (engl. recommender systems), a preporučeni knjiga „Algoritmi inteligentne mreže“ (engl. algorithms of the intelligent web). Slika 1.1 Podatkovno filtriranje 6 Ukoliko korisnik ima vremena i želi personaliziranju preporuku može otvoriti korisnički račun i ispuniti anketu o svojim interesima. Na ovaj način sustav može mnogo lakše i točnije preporučiti predmete korisniku jer ima više informacija o njegovim preferencijama. 1.4.2. Google Jedna od najuspješnijih kompanija današnjice, Google, koristi preporučiteljski sustav kako bi pospješio svoj jezgreni proizvod – tražilicu. Google to radi na dva načina: 1. Prilagođava rezultat pretrage na temelju prošlih pretraga i lokacije korisnika 2. Kada je korisnik prijavljen sa svojim korisničkim računom filtriranje se provodi uzimajući u obzir cjelokupnu web povijest Google koristi korisnikovu lokaciju i povijest pretraživanja da bi učinio svoje rezultate pretrage snažnijima. Dok se ovakav pristup pretrazi smatra personaliziranim postoje još dva tipa preporučivanja u Googleu: 1. Googleov algoritam pretraživanja naziva Rang Stranica (engl. page rank ) koristi preporučivanje zasnovano na suradnji kada rangira stranice koje je izbacila tražilica ovisno o tome tko daje poveznicu na određenu stranicu; 2. Google također koristi i preporučivanje zasnovano na sadržaju kod Jeste li mislili (engl. did you mean) opcije. Ova usluga pokušava ispraviti korisnika ukoliko je pogriješio kada je upisivao traženi pojam. Način rada možemo vidjeti na slici (Slika 1.2) gdje je korisnik pogriješio kada je upisao riječi ''google searche '' umjesto ''google search''. Osim kod tražilice preporučiteljski sustavi koriste se i u opcijama kao što su Google novosti (eng. google news) i Google internetskoj kupnji (eng. froggle). 7

Description:
Baza podataka MySQL objašnjena je programska izvedba u jeziku PHP (Hypertext Preprocesor), dani su ključni dijelovi koda kako bi se .. kao Facebook programera (engl. developer ) (Slika 4.1). Slika 4.1 . [11] Z. Matošević, “Rangiranje prijatelja u web-zasnovanoj društvenoj mreži”, Završn
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.