Page 1

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


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 | 2


INHOUDSOPGAVE Voorwoord ................................................................................................................................................................................. 2 Samenvatting............................................................................................................................................................................. 5 Inleiding....................................................................................................................................................................................... 6 Methoden/werkwijze ............................................................................................................................................................ 7 Kwantitatieve methode .................................................................................................................................................... 7 Experimenteel onderzoek .......................................................................................................................................... 7 Kwalitatieve methode ....................................................................................................................................................... 8 Literatuuronderzoek .................................................................................................................................................... 8 1.

2.

3.

Social graph ...................................................................................................................................................................... 9 1.1.

Sociale netwerkanalyse ..................................................................................................................................... 9

1.2.

Grafen theorie ...................................................................................................................................................... 10

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

Aanbevelingen binnen een webshop ................................................................................................................... 14 3.1.

4.

Soorten en type aanbevelingen .................................................................................................................... 14

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 | 3


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 | 4


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 | 5


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 | 6


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 | 7


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 | 8


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 | 9


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.

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. 1

Pagina | 10


TABEL 1 - VOORBEELD VAN SOCIOMATRIX

Jan

Piet

Theuy

Jan

X

3 producten die ze allebei leuk vinden

Piet

3 producten die ze allebei leuk vinden

X

Theuy

Geen producten die ze samen leuk vinden

Geen producten die ze samen leuk vinden

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 | 11


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 | 12


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: -

2.4.

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.

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 | 13


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 | 14


FIGUUR 4 - VOORBEELD VAN GEPERSONALISEERDE AANBEVELING

-

-

FIGUUR 5 - VOORBEELD VAN ITEM-ITEM PRODUCTAANBEVELING

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 Sociale aanbeveling Gepersonaliseerde aanbeveling Item (product) aanbeveling

Omschrijving Aanbeveling op basis van het gedrag van vergelijkbare klanten (anderen) Aanbeveling op basis van het gedrag van een klant (individu) uit het verleden Aanbeveling op basis van item (product) zelf.

Pagina | 15


TABEL 3 - VERSCHILLENDE TYPE PRODUCTAANBEVELINGEN

Type product aanbeveling (item-to-item) Alternatief

Omschrijving 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. 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.

-

Bijvoorbeeld: Accessoires

-

Nieuw in de webshop (New releases) Populaire producten (Populair right now) Aanbiedingen (Promotional, discount) Best beoordeelde producten (Best reviewed) Best verkochte producten (Best sellers)

Algemeen zonder persoonlijke informatie

Praktische toepassing

-

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.

Pagina | 16


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 | 17


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 | 18


4.1.2. USER LIKES VOOR GEPERSONALISEERDE AANBEVELING “If I am interested I will pay attention.”

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.

Psychology Interest Principle

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: “HeuristicSystematic 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 | 19


4.1.4. FRIENDS LIKES VOOR SOCIALE AANBEVELING

“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” 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 | 20


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 | 21


TABEL 4 - READ DATA PERSMISSIES

Permission user_about_me, friends_about_me

Beschrijving Toegang tot het “About me (Over mijzelf)” gedeelte.

Waarvoor? De identiteit en persoonlijkheid van de persoon beter in beeld krijgen en begrijpen.

Additionele user gegevens zoals: biografie en quotes.

user_interests, friends_interests user_likes, friends_likes read_stream

ID, naam, voornaam, achternaam, username, geslacht en internationale locatie zijn publieke informatie. Toegang tot de lijst van interesses Toegang tot de pagina die geliked zijn Toegang tot alle berichten die binnen komen op “news feed” en de mogelijkheid hebben om de inhoud van deze berichten te doorzoeken

Ten behoeve van gepersonaliseerde aanbeveling en sociale aanbeveling Ten behoeve van gepersonaliseerde aanbeveling en sociale aanbeveling Het zelfde concept als user_status/friend_status maar nu kunnen ook de ontvangen berichten worden doorzocht.

TABEL 5 - PUBLISH DATA PERMISSIE

Persmission publish_stream

Beschrijving De applicatie heeft toestemming om de content , comments en likes te posten op de gebruikers omgeving en de omgeving van zijn/haar vrienden.

Waarvoor? 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 | 22


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 | 23


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 | 24


FIGUUR 12 - CLUSTER UNIEKE CATEGORIEテ起

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. 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. 2011-04-07T07:27:05+0000

Stel de volgende data set voor: Item1 Category: movie date_time: 23366 Item2 Category: music date_time: 2036 Item3 Item4

Category: movie date_ time: 1523 Category: movie date_ time: 5699

Pagina | 25


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.

FIGUUR 13 - GEWAARDEERDE DATASET 3

Aritmetische gemiddelde: Pagina | 26


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 | 27


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 positief

event

Prior kans 0.5

event

Conditionele kans 2 (1e zin en 2e zin)/2

Samengevoegde kans Prior * conditionele kans = (0.5 * 1) = 0.5

Kans dat Kans dat de woorden een zin in de zin voorkomen negatief of in de zin van het positief kan positiefwoordenboek zijn negatief Kans dat 0.5 Kans dat de woorden 0/2 Prior * een zin in de zin voorkomen conditionele negatief of in de zin van het kans = (0.5 * 0) = positief kan negatiefwoordenboek 0 zijn 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 | 28


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.mediaimdb.com/rock.jpg"/> <meta property="og:site_name" content="IMDb"/>

Pagina | 29


<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 | 30


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 | 31


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 | 32


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 | 33


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 | 34


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 | 35


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 | 36


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 | 37


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/newtthesis/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 | 38


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 | 39


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 | 40


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 | 41


FIGUUR 18 - PRODUCT VIEW PAGINA VOOR "GEWONE" INTERNETCONSUMENTEN

Pagina | 42


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 | 43


Figuur 20 weergeeft een dialoogscherm waarop vergelijkingsresultaten te zien zijn van de ingelogde internetconsument en Piet Steen (zie hoofdstuk 4.3.2).

FIGUUR 20 â&#x20AC;&#x201C; 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

Pagina | 44

KOOPBESLISSING ONDERSTEUNING METBEHULP VAN SOCIAL GRAPH DATA VANFACEBOOK.  

WELKE BIJDRAGE KUNNEN AUTOMATISCHE GEÏNTERPRETEERDE SOCIAL GRAPH DATA VAN FACEBOOK LEVEREN AAN HET KOOPBESLISSINGSPROCES VAN DE INTERNETCONS...

Read more
Read more
Similar to
Popular now
Just for you