KOOPBESLISSING ONDERSTEUNING METBEHULP VAN SOCIAL GRAPH DATA VANFACEBOOK.
-
Upload
theuy-limpanont -
Category
Documents
-
view
215 -
download
0
description
Transcript of KOOPBESLISSING ONDERSTEUNING METBEHULP VAN SOCIAL GRAPH DATA VANFACEBOOK.
HOGESCHOOL ROTTERDAM - MEDIATECHNOLOGIE
KOOPBESLISSING ONDERSTEUNING MET
BEHULP VAN SOCIAL GRAPH DATA VAN
FACEBOOK. WELKE BIJDRAGE KUNNEN AUTOMATISCHE GEÏNTERPRETEERDE SOCIAL
GRAPH DATA VAN FACEBOOK LEVEREN AAN HET
KOOPBESLISSINGSPROCES VAN DE INTERNETCONSUMENTEN?
Theuy Limpanont | 0784188
8-6-2011
Pagina | 2
VOORWOORD Dit onderzoek is geschreven in het kader van de afstudeeropdracht van de opleiding
Mediatechnologie, cohort 2010 – 2011 aan de Hogeschool Rotterdam.
Het onderzoek is bestemd voor mensen in het bedrijfsleven die werkzaam zijn in de E-commerce
wereld. Ook kan dit onderzoek interessant zijn voor ontwikkelaars die meer van data analyse
methoden en technieken willen weten en deze in de praktijk willen toepassen. Het grootste
gedeelte van dit onderzoek is in een technische vorm beschreven. Voor dit onderzoek is er een
prototype ontwikkeld dat alle onderzochte methoden en technieken praktisch kan bewijzen.
Ten slotte is dit onderzoek tot stand gekomen dankzij de suggesties van de twee docenten van de
opleiding Mediatechnologie en de stagebegeleiders van het bedrijf Campagne Rotterdam. Deze twee
docenten: Bob Pikaar en Rob Zoeteweij en de stagebegeleiders: Kirstie van de Rijdt en Michiel van
den Broeke wil ik persoonlijk hartelijk bedanken voor hun steun, wijsheid en begeleiding die zij mij
tijdens mijn afstudeerproject hebben gegeven.
Rotterdam, 8 juni 2011.
Pagina | 3
INHOUDSOPGAVE Voorwoord ................................................................................................................................................................................. 2
Samenvatting ............................................................................................................................................................................. 5
Inleiding ....................................................................................................................................................................................... 6
Methoden/werkwijze ............................................................................................................................................................ 7
Kwantitatieve methode .................................................................................................................................................... 7
Experimenteel onderzoek .......................................................................................................................................... 7
Kwalitatieve methode ....................................................................................................................................................... 8
Literatuuronderzoek .................................................................................................................................................... 8
1. Social graph ...................................................................................................................................................................... 9
1.1. Sociale netwerkanalyse ..................................................................................................................................... 9
1.2. Grafen theorie ...................................................................................................................................................... 10
2. Koopbeslissingsproces van (internet)consument.......................................................................................... 11
2.1. Definitie van koopgedrag ................................................................................................................................ 11
2.2. Definitie koopbeslissingsproces .................................................................................................................. 11
2.3. Invloeden koopbeslissingsproces ............................................................................................................... 13
2.4. Productaanbeveling in het koopbeslissingsproces .............................................................................. 13
3. Aanbevelingen binnen een webshop ................................................................................................................... 14
3.1. Soorten en type aanbevelingen .................................................................................................................... 14
4. Interpreteren van Facebook social graph .......................................................................................................... 17
4.1. Facebook social graph als data model ....................................................................................................... 17
4.1.1. User model .................................................................................................................................................. 18
4.1.2. User likes voor gepersonaliseerde aanbeveling .......................................................................... 19
4.1.3. User post voor gepersonaliseerde aanbeveling ........................................................................... 19
4.1.4. Friends likes voor sociale aanbeveling ............................................................................................ 20
4.1.5. Modellen matrix en permissies ........................................................................................................... 21
4.2. Clusteren ................................................................................................................................................................ 23
4.2.1. User likes categorie groepering en rangschikking...................................................................... 23
4.2.2. Sentimentanalyse van Engelse tekst................................................................................................. 27
4.3. Productaanbod filteren .................................................................................................................................... 29
4.3.1. Van rangschikking naar webshop productcategorieën ............................................................ 29
4.3.2. Nieuwe ontdekkingen met andermans ontdekkingen .............................................................. 31
Pagina | 4
4.4. Relevantie ranking ............................................................................................................................................. 33
4.4.1. Mysql full-text search function ........................................................................................................... 34
5. Conclusie ......................................................................................................................................................................... 36
6. Discussie .......................................................................................................................................................................... 37
7. Literatuurlijst ................................................................................................................................................................ 38
8. Bijlagen ............................................................................................................................................................................. 40
I Prototype beschrijving (versie 1.0) ................................................................................................................ 40
II Screenshots prototype ......................................................................................................................................... 41
De “gewone” internetconsument .......................................................................................................................... 41
De “Facebook” internetconsument ....................................................................................................................... 43
Pagina | 5
SAMENVATTING Dit onderzoek beschrijft welke waardevolle informatie uit Facebook social graph data wordt
gehaald en hoe deze ingezet wordt voor gerichte en persoonlijke communicatie tussen een
webshop en de internetconsumenten. Het automatisch interpreteren van de Facebook social graph
data speelt hierbij een belangrijke rol. Dit interpretatieproces maakt gebruik van een aantal
methoden en technieken, die in het grootste gedeelte van dit onderzoek worden beschreven.
Deze methoden en technieken zijn voornamelijk gericht op het zoeken naar (statistische)
verbanden in grote verzamelingen gegevens waarbij vooral gekeken wordt naar het persoonlijke
interesse model van de Facebook gebruiker. Verder wordt er onderzocht welke bijdrage sociale
invloeden kan leveren aan het koopbeslissingsproces van de internetconsument binnen het
Facebook platform.
Uit dit onderzoek is gebleken dat Facebook social graph data wel degelijk een bijdrage kunnen
leveren aan het koopbeslissingsproces van de internetconsumenten, mits deze op de juiste wijze
geïnterpreteerd worden. Dergelijke data ondersteunen de koopbeslissingsprocessen van de
internetconsumenten, zoals het zoeken naar informatie en beoordelen van producten. Men kan de
internetconsumenten helpen met het zoeken naar informatie door bijvoorbeeld producten aan te
bevelen. Echter zijn aanbevelingen die gebaseerd zijn op het persoonlijke profiel en gedrag van de
internetconsumenten het meest waardevol. Tenslotte kan men de internetconsumenten helpen met
het beoordelen van producten door in te spelen op de koopbeslissing activiteiten van andere
internetconsumenten in zijn/haar sociale omgeving.
Pagina | 6
INLEIDING De populariteit en het gebruik van sociale media en sociale netwerksites is in afgelopen decennia
flink toegenomen. Sociale media en sociale netwerksites vormen een fenomeen dat eigenlijk
onmisbaar is voor iedereen die actief is op het internet. Het feit dat Facebook één van de
populairste sociale netwerksites op dit moment is, is vele bedrijven niet ontgaan. De aanleiding van
dit onderzoek is ontstaan omdat steeds meer online retailers zich willen inspelen op het massale
gebruik van Facebook, en potentiële waarde zien in de gebruikersinformatie op het Facebook
platform. De informatie die de gebruikers invoeren of achter laten via Facebook, bieden bedrijven
kansen om innovatief en sociaal bezig te zijn met hun internetconsumenten. Tegenwoordig wordt
dit soort informatie aangeduid als social graph data. Er wordt bevonden dat social graph data
ingezet zal kunnen worden voor gerichte(r) en persoonlijke(r) communicatie.
De hoofdvraag van dit onderzoek luidt:
Welke bijdrage kunnen automatische geïnterpreteerde social graph data van Facebook leveren aan
het koopbeslissingsproces van de internetconsumenten?
Omdat de term social graph in de internetwereld een relatief jong begrip is en veel mensen nog
nooit van deze term hebben gehoord, wordt er in het eerste hoofdstuk van dit onderzoek aandacht
besteed aan de specifieke betekenis van social graph. Deze theoretische achtergrondinformatie
helpt dit onderzoek inzicht te krijgen in de belangrijkste elementen van social graph. Ook gaan wij
kijken hoe Facebook zelf, de social graph interpreteert en toepast op haar eigen Facebook platform.
In het tweede hoofdstuk gaan wij kort in op het koopbeslissingsproces van de
(internet)consumenten. Er wordt aangegeven in welke gedeelte van dit proces
productaanbevelingen een belangrijke rol speelt en in hoeverre deze bijdrage kan leveren aan het
koopbeslissingsproces van de internetconsument.
In het derde gedeelte worden de verschillende type aanbevelingen binnen de webshop beschreven
aan de hand van de bekende Amazon.com webshop. Uiteindelijk wordt er gekeken hoe de social
graph data van Facebook er uitziet en wordt er beoordeeld welke specifieke social graph data
toegevoegde waarde hebben voor de online productaanbevelingen.
Het laatste hoofdstuk behandelt belangrijke methoden en technieken waarmee social graph data
geclusterd, gefilterd, geranked en op relevantie getoetst kunnen worden. Met andere woorden: hoe
kunnen social graph data automatisch verzameld, geordend, gewaardeerd en gerangschikt worden
zodat deze waardevol zijn voor de online productaanbevelingen.
Na de conclusie en literatuurlijst volgen twee bijlagen die respectievelijk gaan over:
- de beschrijving van het prototype waarin aantal aanbevelingen worden beschreven.
- de resultaten van de methoden en technieken aan de hand van een aantal screenshots van
het prototype.
Pagina | 7
METHODEN/WERKWIJZE
KWANTITATIEVE METHODE
EXPERIMENTEEL ONDERZOEK Voor dit onderzoek is er een prototype ontwikkeld dat experimenteert met de social graph data van
Facebook. Deze data zijn de basismodellen waaruit waardevolle informatie gehaald wordt door
deze automatisch te interpreteren. Het interpretatieproces maakt gebruik van de volgende data
analyse methoden & technieken:
Cluster analyse
- Hiërarchische cluster methode waarbij poging wordt gedaan om data sets te rangschikken,
te vergelijken en op relevantie te beoordelen. Bij deze methode spelen afstandsmetingen
(distance based similarity) een belangrijke rol.
- Correlatie cluster methode waarbij poging wordt gedaan om de samenhang tussen de
attributen van data sets en de dataset te bepalen.
Statistieke classificatie
- Naive Bayes classifier voor het bepalen van het sentiment (positief of negatief) van een
tekstuele zin of een document.
Informatie filtering
- Collaborative filtering: maakt gebruik van data van andere gebruikers om te kunnen
bepalen welke data wel of niet gefilterd en geselecteerd moeten worden.
Mysql full text search function: voor concept matching van een set tekst tegenover set
beschrijvingen van andere documenten en beoordelen hoe relevant deze is.
Voor het meten van gelijkheid van data sets is er gebruik gemaakt van de volgende wiskundige
rekenmethode:
- Jaccard afstand (Jaccard index)
Voor statistieken berekeningen zijn de volgende wiskundige rekenmethoden gebruikt:
- Som gewicht gemiddelde
- Gemiddelde berekening
- Relatieve frequentie
- Categorie Frequentie Distributie
Alle resultaten die met behulp van de bovengenoemde methoden en technieken berekend zijn,
zullen verwerkt worden in het prototype.
Pagina | 8
KWALITATIEVE METHODE
LITERATUURONDERZOEK Dit onderzoek heeft gebruikt gemaakt van aantal elektronische databanken namelijk: Google
Scholar, ACM digital Library en bibliotheken van Nederlandse en Amerikaanse universiteiten. De
meeste boeken rondom het “Information retrieval” onderwerp zijn op het internet goed
samengevat of volledig uitgeschreven.
Voor het uitleggen van statistieken methode is er gebruik gemaakt van toelichtingen en uitleg van
professoren en hoogleraren van de universiteiten. Ook zijn videobronnen geraadpleegd bij het
analyseren en begrijpen van complexe statistieke methoden.
Pagina | 9
1. SOCIAL GRAPH In dit hoofdstuk worden een aantal belangrijke en relevante aspecten over social graph
uitgelegd. Wat is social graph nu eigenlijk en welke bijdrage kan deze theorie leveren aan dit
onder-zoek?
Social graph is een term die afgeleid is van twee wetenschappelijke onderzoeksgebieden, nl.:
sociale netwerk analyse (Wasserman & Faust, 1994) en grafen theorie (Harrary, 1969). Social
graph beschrijft de relaties tussen de individuen op het internet. Het is eigenlijk een digitaal
concept dat goed te vergelijken is met de werkelijke offline sociale netwerken (Figuur 1). Voor
het begrijpen van de social graph theorie worden de twee onderzoeksgebieden: sociale netwerk
analyse en grafen theorie hieronder kort toegelicht.
FIGUUR 1- GLOBALE KAART VAN EEN SOCIAAL NETWERK
1.1. SOCIALE NETWERKANALYSE Sociale netwerkanalyse is gericht op het blootleggen of het in kaart brengen van de interactie
patronen tussen bepaalde actoren. Een sociaal netwerk is een verzameling van mensen (of groepen
mensen) en hun onderlinge relaties. Alle mensen die contacten hebben met anderen maken
onderdeel uit van een sociaal netwerk.
De hoofdgedachte van sociale netwerkanalyse is dat er in de sociale netwerken altijd actoren
aanwezig zijn en al deze actoren relaties hebben met andere actoren. Sommige actoren zijn
bekender, populairder, beter bereikbaar of interessanter dan andere actoren afhankelijk van de
positie die deze actoren in het sociale netwerk innemen.
Wij maken in dit onderzoek gebruik van de sociale netwerkanalyse om inzicht te krijgen in de
sociale netwerkstructuren van het Facebook platform en de sociale verbindingen van de Facebook
gebruikers. Facebook gebruikers kunnen dus gezien worden als “actoren” en deze actoren hebben
relaties met anderen actoren, in dit geval de Facebook vrienden. In de werkelijkheid bestaat een
sociaal netwerk niet alleen uit personen maar ook uit andere “sociale objecten” waarmee een actor
verbonden is, bijvoorbeeld een film die de Facebook gebruiker leuk vindt of een foto dat de
Facebook gebruiker naar zijn profiel foto uploadt.
Pagina | 10
1.2. GRAFEN THEORIE Het onderzoeken en analyseren van social graph kan eigenlijk niet zonder de grafen theorie. Grafen
theorie is een concept dat gebruik maakt van wiskunde om bijv. uit te rekenen wie de populairste of
belangrijkste personen in een sociaal netwerk zijn. Er is veel te vertellen over de grafen theorie
maar voor dit onderzoek worden alleen de volgende drie aspecten uitgelegd: kenmerken van
actoren, kenmerken van relaties en sociomatrix.
Kenmerken van actoren
Actoren binnen een sociaal netwerk hebben bepaalde kenmerken of eigenschappen. Voor een
Facebook gebruiker kunnen deze kenmerken bijv. naam, leeftijd, geslacht, woonplaats etc. zijn. Dit
onderzoek gebruikt de kenmerken van de actoren om een globaal profielbeeld van de Facebook
gebruiker te vormen.
Kenmerken van relaties
Facebook gebruikers zijn verbonden met andere Facebook gebruikers zoals hun vrienden,
vriendinnen, families en collega’s. Deze verbindingen noemt men ook wel relatie. Er bestaan
verschillende soorten relaties maar dit onderzoek richt zich voornamelijk op de
vriendschapsrelaties van de Facebook gebruiker. In dit onderzoek speelt vriendschapsrelatie een
belangrijke rol bij het beïn-vloeden van het koopbeslissingsproces van de Facebook gebruiker (lees:
internet consument).
Sociomatrix
Social graph data zijn vaak complex en daarom moeilijk interpreteerbaar. In de grafen theorie zijn
er talloze manieren om social graph data te verzamelen, ordenen en weer te geven. Een van de
meest bekende en eenvoudigste manier om social graph data weer te geven, is door gebruik te
maken van de sociomatrix.
Een sociomatrix is een matrix waarbij zowel in de rijen als de kolommen dezelfde actoren staan
(adjacency1 matrix). Een sociomatrix heeft evenveel kolommen als rijen. Voor dit onderzoek wordt
een sociomatrix o.a. gebruikt voor het weergeven van de Facebook gebruiker en zijn/haar vrienden
die vergelijkbare interesses hebben. De sociomatrix is een goed hulpmiddel om een betrouwbaar
beeld te krijgen over bijvoorbeeld de eigenschappen of activiteiten van de Facebook gebruiker en
zijn/haar vrienden. Deze eigenschappen of activiteiten kunnen onderling met elkaar worden
vergeleken waardoor betere beslissingskeuzes gemaakt kunnen worden. Zie als voorbeeld: Tabel 1.
1 Adjacent betekent dat de actoren met elkaar verbonden zijn. In de adjacency matrix kun je dus zien welke actoren wel of niet met elkaar verbonden zijn.
Pagina | 11
TABEL 1 - VOORBEELD VAN SOCIOMATRIX
Jan Piet Theuy
Jan X 3 producten die ze allebei leuk vinden
Geen producten die ze samen leuk vinden
Piet 3 producten die ze allebei leuk vinden
X Geen producten die ze samen leuk vinden
Theuy Geen producten die ze samen leuk vinden
Geen producten die ze samen leuk vinden
X
2. KOOPBESLISSINGSPROCES VAN (INTERNET)CONSUMENT Social graph data inzetten ter ondersteuning van het koopbeslissingsproces van de
internetconsument is een lastige opgave. Om dat te kunnen realiseren moet het complexe
koopbeslissingsproces eerst goed worden uitgelegd. Dit hoofdstuk legt uit wat het
koopbeslissingsproces van de (internet) consument in het algemeen is en waarom het doen van
aanbevelingen van producten een goede manier is om het koopbeslissingsproces te ondersteunen.
Voor het analyseren van het koopbeslissingsproces wordt er geen onderscheid gemaakt tussen
offline en online consumenten. Iedereen die weleens iets heeft gekocht in een winkel of iets heeft
besteld via een webshop , herkent zich in dit proces. Hieronder worden aantal belangrijke aspecten
van het koopbeslissingsproces uitgelegd:
2.1. DEFINITIE VAN KOOPGEDRAG Het koopgedrag bestaat uit de beslissingsprocessen en handelingen van mensen die betrokken zijn
bij het kopen en het gebruik van producten.
2.2. DEFINITIE KOOPBESLISSINGSPROCES Het koopbeslissingsproces is een reeks stappen die een consument neemt bij de beslissing om een
product te kopen of van een dienst gebruik te maken. Er zijn voor dit proces vijf fases te
onderscheiden (zie ook: Figuur 2). De uitleg van de fases is gebaseerd op een voorbeeld
gedachtegang van de consument.
1. Probleemherkenning (bewustwording van behoefte)
Het feit dat ik een nieuwe broek nodig heb omdat mijn broek die ik nu draag kapot is, is al
een behoefte op zich.
2. Informatie zoeken (belangstelling)
De broek die ik nu draag heb ik bij H & M gekocht, maar ik ben toe aan iets anders. Moet ik
misschien eens gaan kijken in andere winkels. Het op zoek gaan naar welke winkels er nog
meer interessant zijn, is het zoeken naar informatie. Dit gedrag toont de belangstelling van
de consument aan.
Pagina | 12
3. Evalueren van alternatieven (beoordeling)
H & M verkoopt niet één herenbroek maar meerdere. Welke past wel bij mij? Vind ik het
bedrag te hoog? Is de kwaliteit wel goed? De broek die ik wil gaan kopen, beoordeel ik door
al die vragen te beantwoorden. (Einhorn & Hogarth, 1981) en (Sherif, Taub, & Hovland,
1958)
4. Aankoopbeslissing (besluit nemen)
De conclusie is getrokken, ik heb al mijn criteria punten op de lijst afgevinkt, ik ga over tot
het kopen van de nieuwe broek.
5. Evaluatie na de aankoop (bevestiging zoeken)
Is de broek daadwerkelijk van een goede kwaliteit zoals ik had verwacht? Zijn er misschien
andere mensen die deze aanschaf niet leuk vinden? Gaat mijn moeder zeggen dat deze
broek ergens op de markt voor minder geld gekocht had kunnen worden? (Fischhoff &
Beyth-Marom, 1983) en (Festinger, 1957).
FIGUUR 2 - FASES IN HET KOOPGEDRAG VAN DE CONSUMENT
Bron: http://www.economiehulp.nl/leermateriaal/marketing/235-koopbeslissingsproces
Pagina | 13
2.3. INVLOEDEN KOOPBESLISSINGSPROCES Het koopbeslissingsproces wordt beïnvloedt door wat men in de psychologie noemt: endogene en
exogene stimuli. Deze twee factoren worden hieronder toegelicht:
Endogene stimuli
Dit zijn factoren van binnenuit, die van invloed zijn op het koopbeslissingsproces. Enkele
voorbeelden van endogene factoren zijn:
- De behoefte van de afnemer.
- De intelligentie van de afnemer.
- Het karakter van de afnemer.
- Waarden en normen van de afnemer.
Exogene stimuli
Exogene stimuli is het tegenovergestelde van endogene stimuli. Dit zijn externe factoren die invloed
hebben op het koopbeslissingsproces van de consument. Dit kunnen bijvoorbeeld verkoper,
advertenties, productontwerp en verpakkingen zijn. Exogene stimuli worden opgesplitst in de
volgende drie groepen:
- Sociale informatie: dit is de invloed van andere afnemers uit de eigen omgeving van de
consument.
- Commerciële informatie: dit is de informatie van de commerciële instanties of
marktgroepen.
- Overige informatie: informatie vanuit publieksgroepen en omgevingsfactoren van die van
invloed zijn op het koopbeslissingsproces.
2.4. PRODUCTAANBEVELING IN HET KOOPBESLISSINGSPROCES In welke fase van het koopbeslissingsproces speelt productaanbeveling dan een rol? Deze vraag
wordt beantwoord met behulp van de hieronder beschreven definitie.
Het WikiWoordenboek zegt het volgende over het werkwoord aanbevelen:
1. over iets of iemand bij iemand (positief) vertellen en adviseren om datgene/diegene te gebruiken/in te schakelen
o iemand bij een ander aanbevelen o zich aanbevolen houden voor, belangstelling en interesse hebben voor
2. aanprijzen o een auto aanbevelen,
3. toevertrouwen o iemand een geheim aanbevelen
Bron: http://nl.wiktionary.org/wiki/aanbeveling
Pagina | 14
De woorden “belangstelling” en “interesse” zijn de sleutelwoorden voor het aanbevelen. Het doen
van aanbevelingen speelt dus een belangrijke rol in fase 2. Daarnaast speelt item-to-item
productaanbeveling een belangrijke rol in de fase 3, gezien de volgende definitie:
Informatiesysteem dat internetconsumenten helpt om gewenste producten te vinden binnen een
omgeving waarin veel soortgelijke producten aanwezig zijn. Het ondersteunt het beslissingsproces van
de internetconsumenten en is gefocust op het aanbevelen van producten.
Aanbevelingen dienen dus relevant te zijn en overeen te komen met de belangstellingen van de
consument. Consumenten beoordelen producten en vergelijken producten met elkaar voordat ze
iets gaan kopen. Helpt men de consument met het beoordelen, vinden en vergelijken van
producten, dan zal de consument sneller over gaan tot fase 4, namelijk het kopen van een product.
Aanbevelingen kunnen gezien worden als exogene stimuli die invloed kunnen uitoefenen op het
koopbeslissingsproces van de consument.
3. AANBEVELINGEN BINNEN EEN WEBSHOP Dit hoofdstuk beschrijft de verschillende type aanbevelingen die binnen een webshop mogelijk zijn.
Waar moet men rekening houden als men aanbeveling wil doen die past bij de persoonlijkheid van
de internetconsument?
3.1. SOORTEN EN TYPE AANBEVELINGEN De webshop van Amazon is een goede representatie van aanbevelingen doen binnen een webshop.
Door gebruik te maken van de browsegeschiedenis, aankopen uit het verleden en aankopen van
andere internetconsumenten, zorgt Amazon voor dat de internetconsumenten betere en passender
keuzes kunnen maken. Dit succes zit verborgen achter het Amazon’s aanbevelingssysteem. Het
concept van het systeem kent de volgende aspecten:
- Sociale aanbeveling is sterk gerelateerd aan het gedrag en het profiel van andere internetconsumenten. (Figuur 3)
FIGUUR 3 - VOORBEELD VAN SOCIALE AANBEVELING
Pagina | 15
- Gepersonaliseerde aanbeveling (Figuur 4) is sterk gerelateerd aan het gedrag en het profiel
van de individuele internetconsumenten. Er wordt hierbij voornamelijk gebruikt gemaakt
van de individuele aankoopgeschiedenis en browsegeschiedenis. Merk op dat Figuur 5 net
zo goed als een gepersonaliseerde aanbeveling is, aangezien het gebaseerd is op het product
dat de internetconsumenten heeft aangeklikt.
- Productaanbeveling (item-to-item) is sterk gerelateerd aan: de producten die sterke
overeenkomsten hebben met producten die te vinden zijn in mijn browse- en
aankoopgeschiedenis (Figuur 5) nieuwe releases die gerelateerd zijn aan de producten die
te vinden zijn in mijn browse- en aankoopgeschiedenis producten die iets toevoegen aan de
producten die bekeken worden (complementaire waarde).
Hieronder een overzichtelijke weergave van aanbevelingen verdeeld in categorieën en de
verschillende typen productaanbevelingen:
TABEL 2 - AANBEVELINGEN ONDERVERDEELD IN CATEGORIE
Categorie aanbeveling Omschrijving
Sociale aanbeveling Aanbeveling op basis van het gedrag van vergelijkbare klanten (anderen)
Gepersonaliseerde aanbeveling Aanbeveling op basis van het gedrag van een klant (individu) uit het verleden
Item (product) aanbeveling Aanbeveling op basis van item (product) zelf.
FIGUUR 4 - VOORBEELD VAN GEPERSONALISEERDE
AANBEVELING
FIGUUR 5 - VOORBEELD VAN ITEM-ITEM
PRODUCTAANBEVELING
Pagina | 16
TABEL 3 - VERSCHILLENDE TYPE PRODUCTAANBEVELINGEN
Gepersonaliseerde aanbeveling is de belangrijkste aanbevelingscategorie omdat deze specifiek kijkt
naar het gedrag en het profiel (persoonlijke behoefte) van de consument. Sociale aanbeveling en
item (product) aanbeveling vullen de gepersonaliseerde aanbeveling aan. In de praktijk worden
deze 3 categorieën altijd in combinatie toegepast. Gepersonaliseerd wil zeggen: rekening houden
met het gedrag en het profiel van het individu en sociaal wil zeggen rekening houden met het
gedrag en het profiel van andere consumenten die passen bij het profiel en gedrag van het
genoemde individu. Bij Item (product) aanbeveling wordt er gekeken naar alternatieve producten
met zoveel mogelijk overeenkomstige eigenschappen en producten die ogenschijnlijk een
aanvullende rol of complementaire waarden hebben. Gedragsinformatie en profielinformatie van
de consumenten zijn waardevolle informatie voor kwalitatieve aanbevelingen.
Echter moet er rekening gehouden worden met de plek waar profielinformatie gevonden kan
worden. Het Facebook platform is een online omgeving waarin een algemeen persoonlijk profiel
gevormd kan worden en de webshop is de omgeving waarin een consumentenprofiel gevormd kan
worden. Er zal dus goed nagedacht moeten worden over het soort profiel (sociaal netwerk profiel
op Facebook, of consumentenprofiel op de webshop) dat geanalyseerd moet gaan worden.
Type product aanbeveling (item-to-item)
Omschrijving Praktische toepassing
Alternatief Suggesties voor producten die vergelijkbaar zijn met de keuze van de klant en kunnen worden gekocht als een alternatief of vervanging.
- Vergelijkbare producten gebaseerd op klanten geschiedenis.
Complementair Suggesties voor producten die het geselecteerde product kunnen aanvullen. Het kan ook producten zijn die goed samen gaan met het geselecteerde product.
- Bijvoorbeeld: Accessoires
Algemeen zonder persoonlijke informatie
Is niet afhankelijk van andere producten en kan aanbevolen worden zonder kennis van het gedrag van een klant (individu) uit het verleden of voorkeursinstellingen van een product.
- Nieuw in de webshop (New releases)
- Populaire producten (Populair right now)
- Aanbiedingen (Promotional, discount)
- Best beoordeelde producten (Best reviewed)
- Best verkochte producten (Best sellers)
Pagina | 17
4. INTERPRETEREN VAN FACEBOOK SOCIAL GRAPH Dit hoofdstuk gaat in op de structuren en details van de social graph van het Facebook platform.
Welke belangrijke informatie kan uit de social graph gehaald worden en hoe moeten social graph
data geïnterpreteerd worden zodat deze voor diverse type aanbevelingen bruikbaar worden?
Het begint bij het analyseren van Facebook social graph met behulp van Facebook Social Graph API
(http://developers.facebook.com/docs/reference/api/). Dit onderzoek behandelt alleen de data
die interessant zijn voor dit onderzoek.
Social Graph API is het hart van het Facebook platform, dat gebruikers en ontwikkelaars de
mogelijkheden biedt om data van Facebook uit te lezen en naar Facebook te sturen. Het is een
versimpelde versie van de social graph, die uit sociale objecten bestaan zoals likes, peoples, photos,
events, pages en de onderlinge verbindingen tussen al deze sociale objecten.
Facebook legt het begrip social graph als volgt uit: “Mensen en de relaties die zij hebben met alles
waar zij om geven. De social graph representeert simpele objecten die op het Facebook platform te
vinden zijn zoals mensen, foto’s, events en pagina’s”.
4.1. FACEBOOK SOCIAL GRAPH ALS DATA MODEL Op de pagina http://developers.facebook.com/docs/reference/api/ is een lijst met diverse sociale
objecten te vinden (zie Figuur 6). De user is het enige “persoon” object. De overgie sociale objecten
zijn objecten waarmee de gebruiker kan interacteren. Er wordt in de volgende deelhoofdstukken
aangeven welke sociale objecten er nodig zijn voor bepaalde type aanbeveling.
FIGUUR 6 - LIJST MET FACEBOOK SOCIALE OBJECTEN
Pagina | 18
4.1.1. USER MODEL Omdat online productaanbevelingen altijd gericht zijn op consumenten met koopintenties wordt
vanaf nu de Facebook user/gebruiker gezien als de consument die een product zoekt binnen een
webshop. Volgens de grafentheorie in Hoofdstuk 0, hebben alle sociale objecten attributen of
eigenschappen. Zo heeft het Facebook user model ook een aantal attributen zoals:
- Id
- Name
- First_name
- Last_name
- Gender
- Locale
- Link
- Etc.
Zie ook: http://developers.facebook.com/docs/reference/api/user/
Iedere gebruiker is verbonden met meerdere sociale objecten. Facebook noemt deze verbindingen
“connections”. De Facebook gebruiker en zijn connectie kan eenvoudig weergegeven zoals in Figuur
7.
FIGUUR 7 - FACEBOOK USER EN ZIJN CONNECTIES
Pagina | 19
“If I am interested I will pay
attention.”
Psychology Interest Principle
4.1.2. USER LIKES VOOR GEPERSONALISEERDE AANBEVELING Hoofdstuk 3.1 beschrijft een gepersonaliseerde aanbeveling
als een aanbeveling die gebaseerd is op het profiel en het
gedrag van de Facebook gebruiker. Het interesse model van de
gebruiker wordt dus geanalyseerd.
Facebook user likes representeert de interesses en alle items
die de Facebook gebruiker zowel binnen als buiten Facebook
leuk vindt. Het user like model is één van de endogene stimuli (uitgelegd in Hoofdstuk 2.3 ) dat als
interpretatiemodel gebruikt wordt voor de gepersonaliseerde aanbeveling. Zie ook: “Heuristic-
Systematic Persuasion Model (Chaiken, 1987)”.
FIGUUR 8 - FACEBOOK USER LIKES MODEL
FIGUUR 9 – FACEBOOK USER INTEREST MODEL
4.1.3. USER POST VOOR GEPERSONALISEERDE AANBEVELING Een post die de Facebook gebruiker naar wie dan ook post, kan inhoud bevatten die te maken
hebben met de interesse van de gebruiker of met iets wat de gebruiker leuk vindt. De overeenkomst
tussen het userlikes model en het interests model is dat deze al een “positieve” lading hebben. “Ik
vind dit leuk en ik vind dit interessant” is positief. Bij het user post model is de kans aanwezig dat
de inhoud van de post negatieve stukken bevatten en daarom moet de inhoud gefilterd worden op
positiviteit en negativiteit. Uiteraard zijn alleen de berichten met een positieve inhoud interessant.
FIGUUR 10 - FSACEBOOK USER POST MODEL
Pagina | 20
“Social influence is the change in behavior that one person causes in another, intentionally or
unintentionally, as a result of the way the changed person perceives themselves in relationship to the
influencer, other people and society in general”
4.1.4. FRIENDS LIKES VOOR SOCIALE AANBEVELING
Veel psychologische onderzoeken en theorieën hebben aangetoond dat de externe sociale factoren
grote impact hebben op het beslissingsproces van een persoon. In de online marketing wereld
worden deze theorieën met cijfers bevestigd. Hieronder een aantal van deze cijfers over online
aankopen en de invloeden van de sociale omgevingen:
- 90% van de online consumenten vertrouwt de adviezen van mensen die ze kennen; 73%
vertrouwt de meningen van onbekende mensen. (Econsultancy, Juli 2009)
- Vrienden spelen nog steeds een belangrijke rol in het beïnvloeden van het gedrag van
consumenten. 83% van de online shoppers zeiden dat zij geïnteresseerd zijn in het delen
van informatie over hun aangekochte producten met mensen die zij kennen, terwijl 74%
beïnvloedt wordt door de opinies van anderen tijdens het maken van een
aankoopbeslissing. (Manage Smarter, September 2009)
- 67% van de shoppers kopen meer nadat ze adviezen hebben gekregen van vrienden uit hun
sociale netwerken (Internet Retailer, September 2009).
- Facebook, blogs, Twitter en consumenten reviews worden gezien als de meest effectieve
tactieken om consumenten over online producten te laten praten. (Etailing survey of 117
companies, September 2009)
- 83% van de consumenten zeggen dat product reviews hun koopgedrag beïnvloeden.
(Opinion Research Group, Juli 2008)
Bron: http://www.trustfx.com/content.php?act=marketing_myths
De opinies van mensen (bijv. vrienden en experts) uit een bepaald sociaal netwerk spelen dus een
belangrijke rol in het koopbeslissingsproces van de consumenten.
Pagina | 21
4.1.5. MODELLEN MATRIX EN PERMISSIES Authorization
Facebook scheidt de social graph data in 2 toegangsniveaus namelijk de publieke informatie en
additionele informatie van de gebruiker. De publieke informatie kan zonder enige toestemming en
te allen tijde via de API opgevraagd worden bijvoorbeeld:
http://graph.facebook.com/theuy.limpanont
De additionele informatie is vaak privacygevoelig en daarom is “authorization” bedacht.
Authorization kan ook gelezen worden als “een vergunnig verlenen”. In de Facebook context
betekent dit het volgende: het verlenen van toegang tot de niet publieke sociale objecten en de
objecten die onderling zijn verbonden, en het toekennen van bepaalde rechten aan de applicatie die
de sociale objecten wil benaderen.
Berichten die door de gebruikers gepost worden, zijn een voorbeeld van additionele informatie en
moet dus geautoriseerd worden. Figuur 11 toont een dialoogscherm waarbij gebruikers wordt
gevraagd om de applicatie “Social Statistics” toegang te geven tot zijn additionele informatie. Dit
proces noemt Facebook “app authorization”. App autorization zorgt ervoor dat de gebruikers
precies weten welke social graph informatie zij uit handen geven en hoe deze informatie eventueel
gebruikt zou gaan worden.
FIGUUR 11 - VRAAG OM DATA PERMISSIE, AUTORISATIEPROCES
Welke informatie moet dan wel of niet geautoriseerd worden? Facebook heeft hiervoor een lijst
gemaakt met een overzicht van alle informatie die geautoriseerd moet worden door een gebruiker,
zie: http://developers.facebook.com/docs/authentication/permissions/
Tabel 4 en Tabel 5 vatten Hoofdstuk 4.1 in zijn geheel samen. De tabellen laten zien welke Facebook
datamodellen zijn uitgekozen, wat deze modellen betekenen en waarvoor deze modellen gebruikt
worden. Ook wordt er aangegeven welke data door de Facebook gebruiker geautoriseerd moeten
worden in de kolom “permission”.
Pagina | 22
TABEL 4 - READ DATA PERSMISSIES
Permission Beschrijving Waarvoor? user_about_me,
friends_about_me Toegang tot het “About me (Over mijzelf)” gedeelte. Additionele user gegevens zoals: biografie en quotes. ID, naam, voornaam, achternaam, username, geslacht en internationale locatie zijn publieke informatie.
De identiteit en persoonlijkheid van de persoon beter in beeld krijgen en begrijpen.
user_interests,
friends_interests Toegang tot de lijst van interesses
Ten behoeve van gepersonaliseerde aanbeveling en sociale aanbeveling
user_likes, friends_likes Toegang tot de pagina die geliked zijn
Ten behoeve van gepersonaliseerde aanbeveling en sociale aanbeveling
read_stream Toegang tot alle berichten die binnen komen op “news feed” en de mogelijkheid hebben om de inhoud van deze berichten te doorzoeken
Het zelfde concept als user_status/friend_status maar nu kunnen ook de ontvangen berichten worden doorzocht.
TABEL 5 - PUBLISH DATA PERMISSIE
Persmission Beschrijving Waarvoor?
publish_stream De applicatie heeft toestemming om de content , comments en likes te posten op de gebruikers omgeving en de omgeving van zijn/haar vrienden.
De Facebook vrienden van de internetconsumenten op de hoogte stellen van zijn/haar activiteiten die plaats vinden binnen de webshop. (X heeft film Y gekocht op webhop Z, N vindt The Titanic leuk op de webshop Z). Deze toestemming is handig voor het leiden van het bezoekersverkeer naar de webshop.
Pagina | 23
4.2. CLUSTEREN Met het clusteren wordt de specifieke informatie uit de social graph geordend zodat deze
eenvoudig op waarde geschat en gerangschikt kan worden. Dit hoofdstuk beschrijft een aantal
methoden en technieken waarmee social graph data geclusterd, gewaardeerd en gerangschikt
worden.
4.2.1. USER LIKES CATEGORIE GROEPERING EN RANGSCHIKKING Volgens Facebook heeft het user likes model de volgende attributen:
- id
name
- category
- created_time
Iedere Facebook gebruiker die een item “liked”, krijgt een uniek like object toegekend (daarom het
id attribuut) aan zijn profiel. Een like object heeft een naam en behoort altijd tot een bepaalde
categorie. Een like actie van de gebruiker is gekoppeld aan de datum waarop deze like actie is
uitgevoerd.
De voorbeelddata die Facebook teruggeeft van het user likes model ziet er als volgt uit:
{
name: "The King's Speech (2010)"
category: "Movie"
id: "202298446476322"
created_time: "2011-05-06T11:21:31+0000"
}
Theoretisch kan een gebruiker nooit hetzelfde item liken (twee items met hetzelfde ID) . Wel is het
zo dat een gebruiker twee of meer items kan liken die behoren tot één categorie. Zo behoren The
Titanic, Gladiotor en Shawshank Redemption tot de “movie” categorie.
Doel:
Het doel van het clusteren van het user likes model is het uitzoeken welke unieke categorieën er
aanwezig zijn in de user likes dataset van de gebruiker in kwestie (categorie frequentie distributie).
Met andere woorden: hoeveel unieke categorieën zijn er binnen alle like items en hoeveel items
kunnen er geteld worden in die gevonden unieke categorieën. Aan de hand van deze cijfers wordt
het interesse profiel van de gebruiker achterhaald, namelijk waar houdt hij/zij het meeste van?
Muziek, Films of Games bijv.
Pagina | 24
Categorie Frequentie Distributie Als voorbeeld: { "data": [ { "name": "D'Angelo", "category": "Musician/band", "id": "160119897381286", "created_time": "2011-04-16T13:25:49+0000" }, { "name": "Prison Break ", "category": "Tv show", "id": "52268280111", "created_time": "2011-04-07T07:27:06+0000" }, { "name": "Heros", "category": "Tv show", "id": "114543931892143", "created_time": "2011-04-07T07:27:05+0000" }, { "name": "Rules of Engagement", "category": "Movie", "id": "104050152963844", "created_time": "2011-04-07T07:27:05+0000" },
Aan de hand van het datamodel hierboven kan het volgende worden opgemerkt:
- Er zijn in totaal vier liked items te vinden
- De volgende unieke categorieën zijn er: Tv-show, Movie, Musician/Band
- Binnen de vier items zijn er drie unieke categorieën te vinden.
- De Tv show categorie komt 2 keer voor ten opzichte van andere categorieën (maar 1 keer).
- De relatieve frequentie2 is dan:
o Tv show: 2/4 = 0.5
o Movie = ¼ = 0.25
o Musician / band = ¼ = 0.25
Volgens deze statistiek zal Tv-show bovenaan de rangordelijst komen vanwege de hoogste relatieve
frquentie score.
Figuur 12 is een voorbeeld van het clustermodel dat uiteindelijk omgezet kan worden in een
piechart.
In het volgende gedeelte wordt beschreven welke rol de actualiteit van een categorie speelt en hoe
deze actualiteit gewaardeerd kan worden.
2 Relatieve frequentie:
Pagina | 25
FIGUUR 12 - CLUSTER UNIEKE CATEGORIEËN
Actualiteit van de categorie:
In de dataset is het created_time attribuut te zien. Dit attribuut wordt gebruikt om de actualiteit (hoe recent iets is) van de categorie te bepalen.
2011-04-07T07:27:05+0000 kan worden omgezet naar een UNIX timestamp. Een timestamp is een getal, aanduiding van de datum en / of tijdstip waarop een bepaalde gebeurtenis heeft plaatsgevonden. Hoe groter dit getal des te actueler een gebeurtenis is. Stel de volgende data set voor: Item1 Category: movie date_time: 23366 Item2 Category: music date_time: 2036 Item3 Category: movie date_ time: 1523 Item4 Category: movie date_ time: 5699
Pagina | 26
De timestamps worden bij elkaar opgeteld en er wordt een aritmetisch gemiddelde3 uitgerekend:
- Movie (23366, 1523, 5699) = (23366 + 1523 + 5699) / 3
- Music(2036) = 2036 / 1 De actualiteit van een categorie wordt gedeeld door het totale gemiddelde timestamp van alle unieke categorieën. Deze relatieve frequentie ratio is de waardering voor de actualiteit van een categorie. De waardering voor de actualiteit van een categorie wordt als volgt berekend:
Gemiddelde timestamp van een categorie / Totaal gemiddelde timestamp
Waarbij - Gemiddelde timestamp van een categorie = SOM(timestamp n) / Totaal aantal timestamps - Totaal gemiddelde timestamp = SOM(Gemiddelde timestamp van een categorie n) / totaal
aantal categorieën. Rangschikking De categorie die gemiddeld het hoogste scoort met de relatieve frequentie en actualiteit staat boven aan de rangordelijst. Categorieën die vaker voorkomen worden beter gewaardeerd dan categorieën die minder vaak voorkomen. Ook worden categorieën die relatief actueel zijn beter gewaardeerd dan categorieën die niet actueel (ouder) zijn. Zo wordt de rangorder score voor een categorie berekend: Relatieve frequentie categorie + (Gemiddelde timestamp van een categorie / Totaal gemiddelde timestamp van een categorie) / 2 Figuur 13 is een voorbeeld van een gewaardeerde dataset.
3 Aritmetische gemiddelde:
FIGUUR 13 - GEWAARDEERDE
DATASET
Pagina | 27
4.2.2. SENTIMENTANALYSE VAN ENGELSE TEKST Sentimentanalyse bepaalt de houding van een spreker of een schrijver met betrekking tot een
bepaald onderwerp. In information retrieval is sentimentanalyse het bepalen van de “toon” dat een
document of een stuk tekst heeft. De toon van een document of een schrijver kan positief of negatief
zijn.
Doel
Sentimentanalyse helpt de consument op een snelle manier de kwaliteit van producten te
beoordelen. Hierbij wordt de inhoud van een productreview geanalyseerd en beoordeeld op het
sentiment. Zo kan het beslissingsproces van de consument worden beïnvloed door bijvoorbeeld aan
te geven dat acht van de tien productreviews, positief zijn beoordeeld.
Naive Bayes Classifier
Hoe wordt het sentiment van een document of een tekst bepaald? Hiervoor worden er twee
woordenboeken bijgehouden waarvan het één zoveel mogelijk positieve zinnen of woorden bevat
(class: positief) en het ander zoveel mogelijk negatieve zinnen of woorden bevat (class: negatief).
Het bepalen welke tekst bij welke class hoort noemt men “supervised learning method” en hoort bij
het “text classification problem” (Manning, Raghavan, & Schütze, 2008).
Een van de methoden die het tekst classificatie probleem op kan lossen, is de Naive Bayes Classifier
methode. Deze methode past de Bayes Probability theorie4 (Bernardo, Smith, & Adrian, 1994) toe
om de waarschijnlijkheid van een bepaald sentiment te achterhalen. Figuur 14 is een conceptuele
interpretatie van het tekst classificatie probleem dat gebruikt maakt van Naive Bayes Classifier.
Voorbeeld
Van deze zin “I like when the sun is shining and love to hear the beautiful voice of bird’s whispering”
wordt het sentiment beoordeeld.
Stel de volgende twee woordenboeken voor: het positiefwoordenboek en het
negatiefwoordenboek.
Het positiefwoordenboek bevat twee zinnen: “I like this movie very much” en “This song is so
beautiful, it makes me understand the word love.”
Het negatiefwoordenboek bevat ook twee zinnen: “I hate this movie very much” en “This song is so
bad, that I want to cry”.
De Bayes Probability vraag die gesteld kan worden is: Wat is de kans dat de zin een bepaald
(positief of negatief) sentiment heeft, gegeven de waarde van de variabele sentence.
4 Bayes Probability
Pagina | 28
Deze vraag is te beantwoorden met de Bayes Probability formule. De theorie wordt met behulp van
Tabel 6 toegelicht.
TABEL 6 - BAYES PROBABILITY THEORIE BEREKENING
CLASS event Prior kans
event Conditionele kans
Samengevoegde kans
positief Kans dat een zin negatief of positief kan zijn
0.5 Kans dat de woorden in de zin voorkomen in de zin van het positiefwoordenboek
2 (1e zin en 2e zin)/2
Prior * conditionele kans = (0.5 * 1) = 0.5
negatief Kans dat een zin negatief of positief kan zijn
0.5 Kans dat de woorden in de zin voorkomen in de zin van het negatiefwoordenboek
0/2 Prior * conditionele kans = (0.5 * 0) = 0
De posterior kans voor POSTIEF = (samengevoegde kans van positief / SOM(samengevoegde kans
van positief en samengevoegde kans van negatief) = (0.5/0.5) = 1
De posterior kans voor NEGATIEF = (samen gevoed kans van positief / SOM(samengevoegde kans
van positief en samengevoegde kans van negatief) = (0/0.5) = 0
De waarschijnlijkheid van het sentiment class POSTIEF is groter dan de waarschijnlijkheid van het
sentiment clas NEGATIEF . Dus het sentiment van I like when the sun is shining and love to hear the
beautiful voice of bird’s whispering behoort tot de class: POSITIEF. Deze beoordeling klopt min of
meer met de menselijke interpretatie.
FIGUUR 14 - SENTIMENT ANALYSE MET NAIVE BAYES CLASSIFICATIE
Pagina | 29
4.3. PRODUCTAANBOD FILTEREN Het clustermodel levert ons voldoende informatie op waarna het filterproces uitgevoerd kan
worden. Dit deelhoofdstuk beschrijft een aantal methoden en technieken waarmee producten in de
webshop gefilterd kunnen worden. De volgende vragen worden beantwoord:
- Hoe wordt bepaald welke Facebook user like categorie bij welke webshop producten
categorie hoort?
- Hoe wordt bepaald welke producten relevant zijn voor de Facebook gebruiker?
- Welke bijdrage kan het het user likes model van de vrienden van de Facebook gebruiker
leveren aan producten aanbeveling?
4.3.1. VAN RANGSCHIKKING NAAR WEBSHOP PRODUCTCATEGORIEËN Doel Het doel van het filterproces is het uitzoeken welke like categorie bij welke webshop producten
categorie hoort. Het kan zijn dat in de data set een like categorie voorkomt die niet interessant is
voor de webshop. Een categorie “restaurant” is niet interessant voor een webshop met alleen
boeken, album, games en muziek. De niet interessante categorieën moeten dus uitgefilterd worden.
Open Graph protocol Om het filterproces te vereenvoudigen wordt er gebruik gemaakt van het open graph protocol van
Facebook (zie http://developers.facebook.com/docs/opengraph/).
Het idee van het open graph protocol is dat elke like die gemaakt wordt door de gebruiker behoort
tot een bepaalde categorie zoals uitgelegd in hoofdstuk 4.2.1. Volgens de social graph theorie kan
men het like object zien als een object dat ook in de werkelijke wereld te vinden is. Een like object
“The Titanic” is in de echte wereld een film DVD (een webshop product). Door gebruik te maken
van het Open Graph protocol, kunnen de webshop en het Facebook platform met elkaar
communiceren. Een boek over het Marxisme in de webshop is op het Facebook platform een boek
en geen abstracte theorie over het socialisme. Het volgen van het open graph protocol is niet
anders dan metadata toevoegen op de website pagina zoals hieronder:
<meta property="og:title" content="The Rock"/>
<meta property="og:type" content="movie"/>
<meta property="og:url"
content="http://www.imdb.com/title/tt0117500/"/>
<meta property="og:image" content="http://ia.media-
imdb.com/rock.jpg"/>
<meta property="og:site_name" content="IMDb"/>
Pagina | 30
<meta property="fb:admins" content="USER_ID"/>
<meta property="og:description"
content="A group of U.S. Marines, under command of
a renegade general, take over Alcatraz and
threaten San Francisco Bay with biological
weapons."/>
Het open graph protocol kent een
heleboel type objecten die te
vinden zijn op:
http://developers.facebook.com/
docs/opengraph/ (zie: object
types).
Het open graph protocol helpt
ons met het filteren, door
alvorens te bepalen welke
objecten bij welke producten
categorieën hoort.
Stel een webshop voor met de
volgende producten categorieën:
- Musics
- Books
- Movies
- Games
FIGUUR 15 - VENDIAGRAM OPEN GRAPH PROTOCOL EN WEBSHOP PRODUCTCATEGORIEËN
Er moet dan uitgezocht worden welke object types van het open graph protocol, een relatie hebben
met de productcategorieën in de webshop. Om dit proces overzichtelijk te maken, is er een
vendiagram ontwikkeld (zie Figuur 15). Zo behoort de “author” categorie tot de “books” producten
categorie, “director” categorie tot de “movies” producten categorie, “musician” categorie tot de
“musics” producten categorie enzovoorts. Met het vendiagram wordt het filterproces
vereenvoudigd.
Pagina | 31
4.3.2. NIEUWE ONTDEKKINGEN MET ANDERMANS ONTDEKKINGEN De titel van dit hoofdstuk verwijst naar de filtering techniek genaamd: Collaborative filtering.
Collobarative filtering is een methode voor het maken van automatische voorspellingen over de
belangen van een gebruiker door gebruik te maken van de oordeelinformatie van andere
gebruikers.
Probleemstelling
Items die de vrienden van de Facebook gebruiker leuk vinden, zijn interessante items waarmee
sociale aanbevelingen gedaan kunnen worden. Echter worden de items niet altijd leuk gevonden
door de Facebook gebruiker. Een item aanbevelen waarvan de kans groot is dat de gebruiker het
niet leuk vindt, kan gezien worden als een irrelevante aanbeveling en dus niet waardevol. Om de
“niet-leuk-vinden” kans te verkleinen en de relevantie van de aanbeveling te vergroten, wordt er
gezocht naar items die afkomstig zijn van personen die in grote mate gelijke interesses hebben met
de interesses van de gebruiker waarvoor de aanbeveling bedoeld is.
Doel
De gebruiker nieuwe ontdekkingen laten doen op basis van ontdekkingen van andere personen bij
wie de interesses in grote mate gelijk is met de gebruiker. Nieuwe ontdekkingen zijn ontdekkingen
die gedaan zijn door andere personen maar niet door gebruiker zelf.
Stappenplan
1. Zoeken naar personen met ongeveer dezelfde interesses.
2. Doorzoek zijn/haar ontdekkingen en zoek naar de verschillen in de ontdekkingen van die
personen en de gebruiker waarvoor de aanbeveling bedoeld is.
3. Beveel de items die gevonden zijn in stap 2 aan, aan de gebruiker.
Het wiskundige en algoritmische aanpak:
Vraagstellingen:
- Hoe wordt het verschil tussen set A en set B uitgerekend? - Wie van de vrienden van de Facebook gebruiker heeft dezelfde smaak als de Facebook
gebruiker gezien het user likes model?
Het vergelijkingsattribuut dat nodig is zijn de ID’s van de user likes items.
Stel dat Jan de volgende set user likes heeft:
{1, 2, 3, 4, 5}
En dat Piet de volgende set user likes heeft:
{3,1}
Pagina | 32
Voor de berekening van de gelijkheid wordt gebruikt gemaakt van de Jaccard index5. Hierbij wordt
er rekening gehouden met de volgende twee factoren:
- (intersectie) is 1 en 3
- (samenvoeging) is 1,2,3,4,5
De formule van Jaccard index wordt als volgt beredeneerd:
// afstand JC afstand = 1 -(aantal intersecties tussen A en B / aantal unieke samengestelde items tussen A en B) //unieke items voor A en B is dan (1,2,3,4,5), aantal = 5
Jaccard distance tussen Jan en Piet is dus 1-(2 / 5) = 3/5 = 0.6
Het algemene gelijkheidsprincipe voor de Jaccard index is: hoe dichter de Jaccard distance bij het
getal 0 des te groter de gelijkheid en des te kleiner dus het verschil is tussen Jan en Piet.
De uitleg van hierboven kan als volgt in PHP worden uitgeschreven:
<?php function get_jacard_distance($ObjectA, $ObjectB) { $count_unique_items = count(array_unique(array_merge($ObjectA,$ObjectB))); if(count($ObjectA) > count($ObjectB) ) { $intersect_count = count(array_unique(array_intersect($ObjectA, $ObjectB))); } else { $intersect_count = count(array_unique(array_intersect($ObjectB, $ObjectA))); } return 1 - ($intersect_count / $count_unique_items); } ?>
In dit voorbeeld zou Piet dus nieuwe ontdekkingen kunnen doen wanneer hij item 2, 4 en 5
aanbevolen krijgt. Deze items zijn afkomstig uit de user likes set van Jan.
5 Jaccard index:
Pagina | 33
4.4. RELEVANTIE RANKING Wij weten nu wat de gebruiker ongeveer leuk vindt en die dingen die hij leuk vindt kunnen wij nu
ook in relatie brengen met de productcategorieën in de webshop. Wat kunnen wij met deze kennis?
Vanaf dit punt doen wij een beroep op de relevantie ranking theorie. Dit hoofdstuk behandelt
alleen de belangrijkste aspecten van de relevantie ranking theorie.
Definitie relevantie
In information retrieval geeft relevantie aan hoe goed een teruggevonden set van documenten (of
een enkel document) voldoet aan de informatiebehoefte van de gebruiker. In de zoekmachine
wereld wordt relevantie gezien als de capaciteit die de zoekmachine bezit om de juiste (relevante)
informatie voor de gebruiker op te kunnen halen.
Doel
De items in de user likes dataset worden gebruikt als query voor de zoekactie. Kunnen wij aan de
hand van de user likes items relevante producten zoeken zodat een gepersonaliseerde aanbeveling
gerealiseerd kan worden?
Waarschijnlijkheid van relevantie
Producten in een webshop zijn vaak voorzien van aantal attributen die de kenmerken of het
concept van de producten omschrijven. Vaak zijn deze attributen, naam, prijs, tags en
productbeschrijving. Als wij één item uit de user likes dataset nemen bijvoorbeeld Prison Break;
hoeveel van alle producten in de webshop hebben relevantie met de item Prison Break en hoe
relevant zijn zij dan? De waarschijnlijkheid van deze relevantie houdt rekening met de volgende
factoren:
- Breedte van de match: hoe meer de zoekterm/zoekitem gevonden kan worden in andere
documenten, hoe hoger het gewicht van de relevantie.
- Inverse Document Frequency: zeldzame termen (binnen de gehele database) krijgen hogere
gewicht relevantie.
- Frequentie: het aantal keren dat een zoekterm voorkomt in een document.
- Dichtheid: frequentie / totaal aantal worden in één document .
Alle bovengenoemde factoren samen noemt men ook wel de “Inverse document frequency theorie”
(formeel: Okapi BM25).
Pagina | 34
Gewicht voor relevantie: TF – IDF gewicht
TF-IDF gewicht is een functie die de relevantiescore van elke doorzochte documenten kan
berekenen.
TF-IDF = TF x IDF, waarbij
- TF = woordfrequentie / totaal aantal woorden
- IDF = Log(totaal aantal documenten / aantal documenten met het woord)
Op basis van de Inverse document frequency theorie kan geconcludeerd worden dat:
- Het gewicht van een woord in een document is hoger als het vele malen voorkomt binnen
een klein set van documenten.
- Het gewicht van een woord is lager wanneer de term in mindere mate voorkomt in het
document of veel voorkomt in vele documenten.
- Het gewicht van een woord is het laagst bij een term die vrijwel in alle documenten
voorkomt (bijvoorbeeld lid –en werkwoorden).
4.4.1. MYSQL FULL-TEXT SEARCH FUNCTION Vrijwel alle zoekmachines hanteren het principe van Inverse document frequency theorie. De
Oracle database heeft zelfs stuk over deze theorie en hun eigen toepassing geschreven dat te vinden
is op: http://download.oracle.com/docs/cd/B10500_01/text.920/a96518/ascore.htm .
Ook MYSQL heeft een uitgebreide handleiding geschreven over haar zoekfunctie dat grotendeels
gebruikt maakt van Inverse document frequency principe. MYSQL onderscheidt full-text search
function in de volgende 2 categorieën:
Natural Language Full-Text Searches
Natural Language Full-Text searches interpreteert de zoekstring als een zin in natuurlijke
menselijke taal. Het houdt ook rekening met de woorden die in vrijwel alle documenten
voorkomen. Deze woorden worden beschouwd als irrelevant en worden dus niet meegenomen in
de relevantie ranking.
Boolean Full-Text Searches
Een boolean search interpreteert de zoekterm met behulp van regels van een speciale query-taal.
Deze functie geeft geen relevantie score maar geeft alleen of bepaalde zoekterm wel of niet
gevonden is in een set van documenten. De score is het aantal keren dat een zoekterm gevonden is
(match met de regels van de opgegeven query-taal).
Pagina | 35
Een simpele versie van de MYSQL query ziet er als volgt uit:
MATCH(‘zoekterm’) ... AGAINST(‘set van documenten of rijen in database’ IN BOOLEAN MODE of IN
NATURAL LANGUAGE MODE).
Praktische toepassing
Kan ik op basis van mijn user_likes model leuke interessante producten vinden? Zo ja, hoe doe ik
dat met Mysql?
In dit onderzoek worden alle namen van van de items in de user likes dataset als search labels
gebruikt. De full text search functie van Mysql wordt als volgt opgesteld:
SELECT * FROM products WHERE MATCH (name,tags) AGAINST (‘photography soccer
playstation3 swimming cooking Adele Stevie Wonder’);
Hoeveel resultaten het oplevert en hoe relevant deze resultaten zijn, hangt af van hoe goed de
producten in de webshop beschreven zijn (tags, titel, beschrijving etc.). Deze praktische toepassing
is conceptueel weergegeven in Figuur 16.
FIGUUR 16 - USER LIKES RELEVANTIE RANKING
Pagina | 36
5. CONCLUSIE Automatische geïnterpreteerde Social graph data van Facebook levert verschillende bijdragen aan
het koopbeslissingsproces van de internetconsument. Een van de belangrijkste bijdrage die deze
data kan leveren is de internetconsument helpen met het zoeken naar informatie binnen een
omgeving waar een “overschot” aan (irrelevante) informatie aanwezig is. Een toepasselijke manier
om de internetconsument te helpen met zijn/haar koopbeslissing, is het aanbevelen van producten
die in de belangstelling staan van de internetconsument. De automatische geïnterpreteerde social
graph data bieden extra ondersteunende informatie die de internetconsument kan gebruiken om
alle activiteiten binnen zijn/haar koopbeslissingsproces te vereenvoudigen.
Voor het aanbevelen van producten kan automatische geïnterpreteerde data op verschillende
manieren ingezet worden. Het kan ingezet worden als informatiebron voor gepersonaliseerde
aanbeveling, waarbij het user likes/interesses en post model van de Facebook gebruiker een
belangrijke rol speelt. Daarnaast kan het ook ingezet worden voor sociale aanbeveling die gericht is
op de externe sociale factoren zoals de meningen en de interesses de Facebook vrienden van de
gebruiker. Hierbij speelt het likes/interesses en post model van de Facebook vrienden van de
gebruiker een belangrijke rol.
Pagina | 37
6. DISCUSSIE In hoofdstuk 3.1 worden er drie categorieën aanbevelingen beschreven. Het prototype maakt
echter alleen gebruik van twee soorten aanbevelingen, namelijk: gepersonaliseerde en sociale
aanbevelingen. Voor een compleet mogelijk aanbevelingssysteem zou het prototype aangevuld
moeten worden met item-to-item aanbevelingen (Linden, Smith, & York, 2003). Hoe moet deze
aanbeveling technisch gerealiseerd worden en speelt hierbij de social graph data van Facebook
überhaupt een rol?
Daarnaast zijn diverse gebruikerstesten waardevol voor dit onderzoek. Welke meerwaarden zien
de internetconsumenten zelf in het prototype en worden de internetconsumenten daadwerkelijk
geholpen met het maken van betere en relevantere keuzes? Wat voor gevolgen heeft het voor de
omzet van het bedrijf dat gebruik maakt van deze toepassing?
Tenslotte dient er onderzoek gedaan te worden naar de privacy issues rondom het gebruik van
persoonlijke Facebook gebruikersinformatie (Jones & Jose, 2005) en (Boyd & Hargittai, 2010). In
hoeverre heeft dit prototype impact op de privacy van de gebruiker? Zijn de internetconsumenten
er nu al klaar voor en wat voor voorwaarden stelt de privacywet aan deze toepassing?
Pagina | 38
7. LITERATUURLIJST Bernardo, J., Smith, & Adrian, F. M. (1994). Bayesian Theory. Wiley.
Bionic, T. (sd). Youtube. Opgeroepen op Maart 2011, van Youtube - Bayes' Formula:
http://www.youtube.com/watch?v=pPTLK5hFGnQ
Boyd, D. M., & Hargittai, E. (2010). Facebook privacy settings: Who cares?
C. Gyorodi, R. G. (2010). Full-Text Search Engine using MySQL. Oradea, Romania: Faculty of Electrical
Engineering and Information Technology.
C. Gyorodi, R. G. (sd). http://www.journal.univagora.ro. Opgeroepen op 2011, van
http://www.journal.univagora.ro: http://www.journal.univagora.ro/download/pdf/458.pdf
Chaiken, S. (1987). The heuristic model of persuasion., (pp. Volume 5, pp. 3-39). Social influence:
The Ontario Symposium.
Drakos, N. (1993). Personalized Information Filtering. Opgeroepen op 2011, van MIT Media Lab -
Autonomous Agents Group: http://agents.media.mit.edu/publications/newt-
thesis/chapter2_5.html#SECTION0050000000000000000
Einhorn, H., & Hogarth, R. M. (1981). Behavioral decision theory: Processes of judgement and
choice. Annual Review of Psychology , 32, 53-88.
Emerson, R., & Cook, K. (1978). Power, equity, and commitment in exchange networks. American
Sociological Review , 43, 721.
Example of Hamming Distance. (sd). Opgeroepen op 2011, van Kardi Teknomo's Page:
http://people.revoledu.com/kardi/tutorial/Similarity/HammingDistance.html
Festinger, L. (1957). A theory of cognitive dissonance,. CA, Stanford: Stanford University Press.
Fischhoff, B., & Beyth-Marom, R. (1983). Hypothesis evaluation from a Bayesian perspective.
Psychological Review , 90, 239-260.
Full-Text Search Functions. (sd). Opgeroepen op 2011, van Mysql:
http://dev.mysql.com/doc/refman/5.0/en/fulltext-search.html
Garton, L., Haythornthwaite, C., & Wellman, B. (sd). Studying Online Social Networks. Opgeroepen op
2011, van jcmc.indiana.edu: http://jcmc.indiana.edu/vol3/issue1/garton.html#ref107
Handleiding Sociale Netwerk Analyse. (2011). Opgeroepen op Februari 2011, van RuG
Rijksuniversiteit Groningen: http://www.gammasteunpunt.nl/netwerken/index.php
Harary Graph -- from Wolfram MathWorld. (2011). Opgeroepen op Februrari 2011, van
mathworld.wolfram.com: http://mathworld.wolfram.com/HararyGraph.html
Pagina | 39
Het koopbeslissingsproces. (n.d.). Retrieved April 2011, from ww.zakelijk.infonu.nl/:
http://zakelijk.infonu.nl/diversen/62411-het-koopbeslissingsproces.html
Introduction to Information Retrieval. (sd). Opgeroepen op 2011, van nlp.stanford.edu:
http://nlp.stanford.edu/IR-book/information-retrieval-book.html
Jones, H., & Jose, H. S. (2005, December). Facebook: Threats to Privacy.
Kirvin, M. (n.d.). Youtube - Excel Statistics 12: Categorical Frequency Distribution w Formulas.
Retrieved Maart 2011, from Youtube: http://www.youtube.com/watch?v=iSJmjB36e8I
Linden, G., Smith, B., & York, J. (2003). Amazon.com recommendations: item-to-item collaborative
filtering.
Manning, C. D., Raghavan, P., & Schütze, H. (2008). Introduction to Information Retrieval. Cambridge
University Press.
Meyer, J. R. (1998, Februari 4). Species Diversity. Opgeroepen op 2011, van
http://www.cals.ncsu.edu: http://www.cals.ncsu.edu/course/ent591k/gcextend.html#diversity
Pemmaraju, S., & Skiena, S. (2003). Computational Discrete Mathematics: Combinatorics and Graph
Theory with Mathematica. United States of America: Cambridge University Press.
Relevance Ranking. (n.d.). Retrieved April 2011, from uscode.house.gov.
Roberto, R. (n.d.). Youtube - Bayes probability. Retrieved Maart 2011, from Youtube :
http://www.youtube.com/watch?v=yBn-eGrRHJU&feature=related
Sherif, M., Taub, D., & Hovland, C. I. (1958). Assimilation and contrast effects of anchoring stimuli on
judgements. Journal of Experimental Psychology , 55, 150-155.
Tekmono, T. (sd). Tarki Tekmono's Page. Opgeroepen op 2011, van Kardi Teknomo's Tutorials:
http://people.revoledu.com/kardi/tutorial/Similarity/
term-frequency-inverse-document-frequency-idf. (sd). Opgeroepen op 2011, van Zoekvisie:
http://www.zoekvisie.nl/seo-woordenboek/term-frequency-inverse-document-frequency-idf
Wasserman, S., & Faust, K. (1994). Social Network Analysis: Methods and Applications (Structural
Analysis in the Social Sciences). United States of America: Cambridge University Press.
What is Consumer Buying Behavior? (n.d.). Retrieved April 2011, from www.udel.edu:
http://www.udel.edu/alex/chapt6.html
Pagina | 40
8. BIJLAGEN
I PROTOTYPE BESCHRIJVING (VERSIE 1.0) De inhoud van deze bijlage is een apart document dat het webshop prototype van het
experimenteel onderzoek beschrijft. In het begin van het document worden de vragen zoals, wat
houdt het prototype in, voor wie is het prototype bedoeld en waarom is dit prototype ontwikkeld,
uitvoerig beantwoord.
Het tweede gedeelte beschrijft op welke manieren webshops gebruik kunnen maken van Facebook
scoial graph data aan de hand van bestaande online toepassingen.
In het laatste gedeelte wordt een aantal belangrijke elementen van Facebook social graph data op
waarde beoordeeld en er wordt aangegeven voor welke doelstellingen deze data gebruikt worden.
Tenslotte wordt er in gegaan op de technische stappen die ondernomen moeten worden om
gebruik te kunnen maken van de Facebook social graph data.
In versie 1.0 vindt men geen uitleg over de werking en de praktische toepassingen van de
methoden en technieken die beschreven zijn in Hoofdstuk 4.
Er is gekozen om dit document niet als bijlage op te nemen, omdat de omvang van de inhoud te
groot is en verdeeld is in meerdere hoofdstukken. Dit document kan gedownload worden op:
http://www.2006v.com/theuy/CR/prototype/prototype_beschrijving_versie1.pdf
Pagina | 41
II SCREENSHOTS PROTOTYPE Deze bijlage is bedoeld om lezers meer visuele inzicht te geven in de resultaten die berekend zijn
met behulp van de methoden en technieken in Hoofdstuk 4. Elke screenshot heeft een toelichting en
er wordt aangegeven welke methoden en technieken zijn toegepast.
DE “GEWONE” INTERNETCONSUMENT Figuur 17 weergeeft de home pagina van het prototype. Deze pagina is de pagina die de
internetconsument te zien krijgt wanneer hij/zij nog niet is ingelogd met het Facebook account. De
internetconsument krijgt de status “gewone” internetconsument toegekend. In deze status worden
er geen gepersonaliseerde en sociale aanbevelingen gedaan. Merk op dat in deze status de
internetconsument zijn/haar shoppingsactiviteiten zoals het kopen van een product, het zoeken
naar een product en het bekijken van een product (zie Figuur 18), kan blijven uitvoeren.
FIGUUR 17 - HOME PAGINA VOOR "GEWONE" INTERNETCONSUMENTEN
Pagina | 42
FIGUUR 18 - PRODUCT VIEW PAGINA VOOR "GEWONE" INTERNETCONSUMENTEN
Pagina | 43
DE “FACEBOOK” INTERNETCONSUMENT Figuur 19 toont de home pagina van een internetconsument die ingelogd is met zijn Facebook
account. Duidelijk is te zien dat er nu producten worden getoond die relevantie hebben met de
interesses van de internetconsument in kwestie. In dit voorbeeld is Jan van Hessel ingelogd en het
systeem heeft kunnen achterhalen dat Jan graag boeken leest. (zie hoofdstuk 4.2.1 en hoofdstuk
4.3.1)
FIGUUR 19 - HOME PAGINA VAN "FACEBOOK" INTERNETCONSUMENT
Pagina | 44
Figuur 20 weergeeft een dialoogscherm waarop vergelijkingsresultaten te zien zijn van de
ingelogde internetconsument en Piet Steen (zie hoofdstuk 4.3.2).
FIGUUR 20 – VRIENDEN MET VERGELIJKBARE INTERESSES VOOR SOCIALE ONTDEKKINGEN
Figuur 21 weergeeft de pagina waarop de resultaat van de sentimentanalyse methode te zien is
Deze methode is beschreven in hoofdstuk 4.2.2.
FIGUUR 21 SENTIMENTANALYSE VOOR EEN PRODUCT