• No results found

I det här arbetet visas processen för att skapa ett auto- matiserat insamlingssätt av specifik data från sociala medier

N/A
N/A
Protected

Academic year: 2021

Share "I det här arbetet visas processen för att skapa ett auto- matiserat insamlingssätt av specifik data från sociala medier"

Copied!
87
0
0

Loading.... (view fulltext now)

Full text

(1)

KANDIDATUPPSATS

IT-forensik och informationssäkerhet 180 hp

Inhämtning & Analys av Big Data med Fokus på Sociala Medier

Niclas Åhlander och Saed Aldaamsah

Datateknik 15hp

Halmstad 2015-06-07

(2)
(3)

Inhämtning & Analys av Big Data med Fokus på Sociala Medier

Kandidatuppsats

Niclas Åhlander & Saed Aldaamsah

niclas.ahlander1@gmail.com saiddem99@gmail.com Högskolan i Halmstad

Handledare: Urban Bilstrup Examinator: Mattias Wecksten

7 juni 2015

(4)

INFORMATION

Copyright Niclas Åhlander och Saed Aldaamsah, 2015. All rights reservedc Kandidatuppsats

Sektionen för informationsvetenskap, data- och elektroteknik Högskolan i Halmstad

(5)

Sammanfattning

I en värld som till allt större del använder sig av sociala medier skapas och synliggörs information om användarna som tidigare inte varit enkel att i stor mängd analysera. I det här arbetet visas processen för att skapa ett auto- matiserat insamlingssätt av specifik data från sociala medier. Insamlad data analyseras därefter med noggrant utformade algoritmer och slutligen demon- streras processens nytta i sin helhet. Datainhämtningen från sociala medier automatiserades med hjälp av en mängd kombinerade metoder. Därefter kun- de analysen av det inhämtade datat utföras med hjälp av specifika algoritmer som redovisades i det här arbetet. Tillsammans resulterade metoderna i att vissa mönster framkom i datan, vilket avslöjade en mängd olika typer av information kring analysens utvalda individer.

(6)

Innehåll

Sida

Sammanfattning iii

1 Introduktion 1

2 Problemställning 3

3 Metod 7

3.1 Automatisering av inhämtning . . . . 8

3.1.1 Inhämtning av data . . . . 8

3.1.2 Lagring av data . . . . 9

3.2 Lämpliga analysmetoder . . . . 10

3.3 Tillämpningar och nytta . . . . 11

3.4 Metodkritik . . . . 13

3.4.1 Datainsamling . . . . 13

3.4.2 Datalagring . . . . 14

3.4.3 Analysmetoder . . . . 15

Datavalidering . . . . 15

4 Teori & bakgrund 17 4.1 Grafteori . . . . 17

4.2 Data-analys . . . . 18

(7)

INNEHÅLL v

4.2.1 Centralitet . . . . 18

Gradcentralitet . . . . 18

Mellancentralitet . . . . 19

Täthetscentralitet . . . . 21

4.2.2 Likheter . . . . 21

Strukturell Likhet . . . . 22

4.2.3 Individuella Intressen . . . . 22

Strukturella Intressen . . . . 23

4.3 J & E . . . . 23

5 Experiment 25 5.1 Experimentuppställning . . . . 25

5.2 Genomförande . . . . 26

5.2.1 Inhämtning . . . . 26

5.2.2 Lagring . . . . 30

5.2.3 Analys . . . . 31

6 Resultat 37 6.1 Inhämtning . . . . 37

6.2 Centralitet . . . . 38

6.2.1 Gradcentralitet . . . . 38

6.2.2 Mellancentralitet . . . . 39

6.2.3 Täthetscentralitet . . . . 40

6.3 Likheter . . . . 41

6.3.1 Strukturell likhet . . . . 41

6.4 Individuella intressen . . . . 43

6.4.1 Strukturellt intresse för specifika individer . . . . 43

6.4.2 Strukturellt intresse för hela nätverket . . . . 44

7 Diskussion 49

(8)

vi INNEHÅLL

7.1 Inhämtning . . . . 49

7.2 Analys . . . . 51

7.3 Analystillämpningar . . . . 54

Social manipulation . . . . 54

Exploatering . . . . 55

7.4 Övrig tillämpning . . . . 56

Analys av Tidslinjedata . . . . 56

Inom musikindustrin . . . . 56

Marknadsföring . . . . 57

Brottsutredning . . . . 57

8 Slutsats 59

Appendix 65

A 65

B 68

C 74

D 76

(9)

Figurförteckning

Sida

3.1 Metod steg för steg . . . . 7

5.1 Exempel på HTML-elementstruktur . . . . 27

5.2 Exempel på BFS-struktur för BFS-Scraper. . . . 28

5.3 Mellancentralitet Exempel. . . . 32

5.4 Täthetscentralitet Exempel . . . . 32

5.5 Strukturell likhet Exempel. . . . 33

(10)

Tabellförteckning

Sida

6.1 Jämförelse manuell- & automatisk inhämtning . . . . 37

6.2 Gradcentralitet: Mest centrala personer . . . . 38

6.3 Mellancentralitet: Mest centrala personer . . . . 39

6.4 Täthetscentralitet: Mest centrala personer . . . . 40

6.5 Strukturell likhet baserat på gilla-markeringar-1 . . . . 41

6.6 Strukturell likhet baserat på gilla-markeringar-2 . . . . 42

6.7 Strukturell likhet baserat på gilla-markeringar-3 . . . . 42

6.8 Intressen baserat på gilla-markeringar . . . . 43

6.9 Kategoribaserad intressedistribution på gilla-markeringar . . . 44

6.10 Intressedistribution: Community . . . . 45

6.11 Intressedistribution: Musiker/band . . . . 45

6.12 Intressedistribution: Offentlig person . . . . 46

6.13 Intressedistribution: Tv-serie . . . . 46

6.14 Intressedistribution: Idrottare . . . . 47

6.15 Intressedistribution: Webbplats . . . . 47

6.16 Intressedistribution: Företag . . . . 48

6.17 Intressedistribution: Lokalt företag . . . . 48

(11)

Kapitel 1

Introduktion

Sedan uppkomsten av internet har det använts för att överföra information och kunskap. Det var ett verktyg som användes för att kommunicera infor- mation mellan olika parter. Idag är webben mer än bara ett verktyg för att förmedla information. Introduceringen av sociala medier kan därför anses ha förändrat det sätt som webben används på samt syftet av användningen.

Sociala medier har under åren vuxit och en av de största sidorna Facebook, hade i september 2014 över 864 miljoner samtidiga användare[1]. Facebook har många olika användningsområden, men används som exempel för kommu- nikation mellan människor där de delar gemensamma ögonblick sig emellan i form av text, bild och video samt erbjuder organisering för både privatper- soner och företag. Sociala medier handlar alltså om att dela med sig infor- mation oavsett hur viktig eller trivial den kan tänkas vara. Dessa medier är därmed en informationskälla som ger möjligheten att förstå individer och hur de interagerar med varandra, vilket kan resultera i att det utvecklas bättre datorsystem som är byggda kring förståendet av varje individ[2].

(12)

KAPITEL 1. INTRODUKTION Idag genereras stora mängder information på internet vilket skapar en utma- ning för olika aktörer att filtrera ut relevant data. Den stora informations- mängden brukar kallas för Big Data. Definitionen används för att beskriva stora mängder av information som inte går att hantera med traditionella analysmetoder[38]. Att analysera stora mängder av information kallas mi- ning, vilket innebär en process där mönster hittas i stora dataset som invol- verar en korsning mellan artificiell intelligens, maskinlärning, statistik och databassystem[3]. Inom sociala medier går det att hitta mönster inom in- dividers synliga aktiviteter som till exempel vad för slags sidor användarna gillar. Social media mining är ett nytt koncept som skiljer sig från vanlig data mining. Det är på grund av att sociala mediers data är otydlig och ostrukturerad samtidigt som den innehåller massvis av relationsdata mellan användare. Konceptet handlar om utveckling av anpassade algoritmer och metoder för sociala medier[2].

De ämnesrelaterade arbeten som tidigare gjorts inom området har gemen- samt att de använder sig av redan insamlad data för en grupp av individer.

Det som i arbetena skiljer sig åt är sättet de presenterar och processar använ- dardata på. Flera av arbetena är även drabbade av någon slags unik brist.

I Crawling Facebook for Social Network Analysis Purposes[4] är de använ- da metoderna inriktade på enbart ett socialt nätverk, vilket gör det svårt att tillämpa metoderna på andra nätverk med liknande struktur och därige- nom få fram ett jämförbart resultat. I Analyzing Social Media Data for Un- derstanding Student’s Problem[5] analyseras endast data utan en förklarande process hur datainhämtningen gått till. I övriga arbeten innebär huvuddelen utveckling av lämpliga algoritmer. Dessutom innehåller metoderna och dess beskrivningar en högre grad av komplexitet[6, 7, 8, 9, 10].

(13)

Kapitel 2

Problemställning

En avgörande del inom data mining är att ha tillgång till data och därmed blir det viktigt att ha ett automatiserat sätt för att kunna inhämta data från sociala medier. Andra arbeten beskriver mycket sparsamt hur inhämtnings- processen går till[4, 5, 6, 7, 8, 9, 10]. Därmed är det en relevant del av arbetet att beskriva hur data kan hämtas in till syftet av data mining.

Problemet inom data mining för sociala medier är att det kan bli förvirrande att veta vilka algoritmer som är lämpliga för sociala medier, då arbeten[8, 9, 10, 11, 12, 13, 14] beskriver olika metoder och inte använder gemensamma algoritmer. Lämpliga metoder är viktiga för att få korrekt data och en effektiv process samt hålla onödig bearbetning till ett minimum[2].

I R. Zafarani, M. A. Abbasi och H. Liu, Social Media Mining: An Introduc- tion, Cambridge University Press, 2014[2] skrevs ett helt kapitel om modelle- ring av nätverk i syfte att simulera sociala nätverk. Dessa nätverk byggs för att innehålla relationer och kontaktnät som liknar verkliga sociala nätverk, därefter appliceras olika algoritmer på dessa nätverk i syfte att beskriva rela-

(14)

KAPITEL 2. PROBLEMSTÄLLNING tioner. Frågan kan då ställas huruvida det skulle kunna påverka resultatet av de olika algoritmerna eftersom modelleringen förutsätts innehålla alla olika fall som finns i verkligheten. Därför blir det viktigt att algoritmerna testas på verklig data för att bestämma om de går att använda utanför modelleringen.

I det här arbetet har det därmed valts att hämta in verklig data och därefter utföra analyser med de olika algoritmerna för att sedan jämföra resultaten mot verklig data.

Det finns flera argument för varför området anses viktigt. Det kan visa sig användbart om en privatperson såväl som ett företag har intresse att hämta information om en individ, vilken möjligtvis inte är allmänt känd. Det kan ske genom en kartläggning av aktuella personens kontakt- och intressenätverk på sociala medier[2]. Det ger till exempel en generell bild av en viss persons intressen och skulle således kunna visa på vad en person tycker om i form av musik, sport, film eller vilka grupper personen är engagerad i. Det är vanligtvis information som användaren själv har valt att dela med sig av, och kärnan i data mining på sociala medier innefattar att utnyttja den fria datan för att kunna belysa vad för slags ny information som går att skapa eller förutsäga[2].

Det är huvudsakligen fyra problem som arbetet inriktas på att lösa:

• Skapa ett automatiserat sätt för att samla in data från sociala medier.

• Ta fram lämpliga metoder för att analysera data från sociala medier.

• Demonstrera ett antal nyttor som data-analys från sociala medier kan ge.

• Lyfta fram möjliga tillämpningar för analysmetoderna baserat på re- sultatet.

(15)

KAPITEL 2. PROBLEMSTÄLLNING

Med lämpliga metoder menas algoritmer som anses specifikt lämpliga för analys av individers relationer och intressen bland data hämtat från socia- la medier gällande specifika individer. Tillämpningen av samtliga använda metoder kommer visa eller motbevisa dess lämplighet för användning inom analys av data från sociala medier.

Efter utförd analys förväntas det ett resultat som ska reflektera det sociala nätverkets struktur på internet. En viktig frågeställning är, vad kan analys- resultatet ha för betydelse i verkligheten? Om den frågan kan besvaras så kan mer precision uppnås i identiferingen av de tillämpningar som analysre- sultatet kan leda till. Därför försöker det här arbetet som en övrig uppgift att besvara den frågeställningen.

Arbetet kommer inrikta sig på det sociala nätverket Facebook. Trots det är metoderna generaliserade och går att använda på andra sociala nätverk, bland annat Twitter. Begränsningen är baserad på att graden av metodkom- plexitet kan öka till en nivå som är svår att kontrollera eftersom nätverken är uppbyggda på olika sätt och kräver för varje nätverk speciell anpassning av insamlingsmetoden.

(16)

KAPITEL 2. PROBLEMSTÄLLNING

(17)

Kapitel 3 Metod

Metoden är uppbyggd för att kunna behandla följande områden. Datain- hämtning och data-analys som indelas i tre olika steg: datainsamling, data- lagring samt analys av data. Under varje steg i processen hanteras data i någon form för att passa arbetets syfte och ge resultat.

För att lösa de problem som arbetet är inriktat på utförs det studier på en mängd olika litteraturer. Det kombineras med flera olika webbkällor för beskrivning av olika begrepp.

Utöver litteraturstudierna utförs det en mängd olika experiment där framtag- na metoder tillämpas. Det skapar tillsammans grundstrukturen för arbetet.

Figur 3.1: Metod steg för steg

(18)

3.1. AUTOMATISERING AV INHÄMTNING KAPITEL 3. METOD

3.1 Automatisering av datainhämtning

Processen att automatisera datainhämtning går ut på att med ett självgåen- de program inhämta och lagra eftersökt data. Då den eftersökta datan blivit tillgänglig går det att påbörja en data-analys som använder olika algorit- mer för analys och determination. Slutresultatet har därmed potential att ge ytterligare kunskap utöver den insamlade datan.

3.1.1 Inhämtning av data

För att få tillgång till relevant data så används en så kallad web scraper[12].

Den har syftet att automatiskt samla data från sociala nätverk för att skapa det dataset som senare krävs för analysen.

Olika metoder kan användas för att automatisera webskrapningsprocessen.

Metodvalet baseras på olika variabler, tiden som det tar för att skapa me- toden, kraven som metoden måste uppfylla och komplexiteten metoden kan uppnå. En av de vanligaste metoderna för att automatisera skrapningen inne- fattar att det från grunden programmeras ett program likt en webbläsare för att kunna i kontrollerad form hämta data från specifika HTML-element[16].

Den här metoden kan vara tidskrävande att programmera och saknar stöd för exekvering av JavaScript[17] som kan vara viktigt beroende på vilken web- sida som inhämtning ska ske från. Det här arbetet använder en blandning mellan olika verktyg som egentligen används för att testa funktionaliteten på webbsidor. Anledningen till det är, att dessa verktyg kombinerade ger en balans mellan tid, komplexitet och krav. Då verktygen är förprogrammerade ger det en tidsvinst för arbetet, och att verktygen kan anpassas beroende på kraven ger stora fördelar i arbetet. Konkret ger det minskad programme-

(19)

KAPITEL 3. METOD 3.1. AUTOMATISERING AV INHÄMTNING ringskomplexitet och stöd för exekvering av JavaScript.

Ett verktyg programmeras därmed för att hämta specifikt utvald data i en specifik ordning för att minimera mängden inhämtad skräpdata. Inhämtad data måste därefter lagras för att skapa den struktur som krävs för att slut- ligen analysera all data.

3.1.2 Lagring av data

I det här arbetet är analysen utformad för att vara matematisk istället för statistisk, vilket innebär att all data behandlas som deterministisk. Det vill säga algoritmerna betraktar nätverksdata som verklighetsreflekterande data.

Matematisk analys innebär också att algoritmerna inte betraktar presenterad data som ett stickprov ur en större målpopulation, istället betraktas presen- terad data som stickprov för en undersökningspopulation[11]. Utöver det som har nämnts innebär matematisk analys att inhämtad data måste lagras på ett sätt som presenterar data i form av graf eller grannmatris, det vill säga ett format som gör det möjligt för analysalgoritmerna att behandla data. Att kunna lagra den inhämtade datan i en digital databas krävs för att kunna analysera all data och med fel slags databas blir datat mer svårhanterligt.

Vid lagring behöver inget rensas bort eftersom datan som blev inhämtad var förutvald.

Aktuell data skrapas i ostrukturerad form för att sedan temporärt lagras i form av dataobjekt i datorns minne, därefter transformeras datat till en gemensam struktur. I nästa steg lagras datat i NOSQL-databasen Neo4j[20, 21]. Den formen av NOSQL-databas kan hantera graf-relationer(se avsnitt 4.1), samt har kapabiliteten att presentera data i ett format som är nödvändig för analysalgoritmerna.

(20)

3.2. LÄMPLIGA ANALYSMETODER KAPITEL 3. METOD I det här arbetet angående insamling av data, är mängden av data som kommer komma in okänd, det vill säga den kan växa väldigt kraftigt beroende på individen i fråga. Därför anses det att NOSQL-databaser är en lämplig skalbar lagringsmetod.

De två ovannämnda stegen är vad som kommer att användas för att skapa en automatiserad inhämtning och lagring av data, vilka två är metoder för att lösa det första problemet som det här arbetet är inriktat på.

3.2 Lämpliga analysmetoder

För det här arbetet valdes analysmetoder inriktade på att kunna svara på ett antal specifika frågor. Därför undersöktes noga lämpliga metoder i nedanstå- ende undersökning.

• Vilka algoritmer är lämpliga för analys av social data?

Genom att introducera tidigare studier som hanterar problemen med att hitta lämpliga metoder för data mining på sociala medier, så kan det här arbetet dra nytta av resultaten och därmed använda och de- monstrera de metoder som de tidigare arbetena har funnit lämpliga.

R. Zafarani, M. A. Abbasi och H. Liu, Social Media Mining: An Intro- duction, Cambridge University Press, 2014[2] är en samling av lämpliga algoritmer som används vid data mining på sociala medier. Algorit- merna är framtagna genom att författarna vetenskapligt studerade en samling av tidigare arbeten och valt de algoritmer och metoder som har vetenskapligt visat sig vara lämpliga vid social media mining.

Algoritmvalet beror på frågorna som algoritmen ska ge svar på. När

(21)

KAPITEL 3. METOD 3.3. TILLÄMPNINGAR OCH NYTTA det gäller det här arbetet, valdes algoritmer(se avsnitt 4.2), som för ett givet nätverk försöker besvara följande frågor:

– Vilka är de centrala(inflytelserika) figurerna i nätverket (centrali- tet)?

– Vilka individer är likasinnade(likheter)?

– Vad är individerna i ett nätverk intresserade av (intressen)?

För att svara på ovanställda frågor måste en definition av algoritmer ske.

Algoritmernas syfte är att kunna kvantifiera analysresultatet utav centralitet, likhet och intresse. Algoritmerna tar som indata en graf-framställning av ett socialt nätverk i form av en grannmatris och utifrån grannmatrisen beräknar ett visst värde.

3.3 Tillämpningar och nytta av utvunnen data

Det är viktigt att tolka och jämföra analyserad data i syftet att kunna förstå den i sammanhanget sociala medier. Därför undersöks följande frågor.

• Hur jämförs resultatet av analysen med verklig data?

De analyser som utförs kan och bör kontrolleras genom att skapa en urvalsgrupp där ett slumpmässigt bestämt antal personers data från sociala medier analyseras för att därefter kunna utföra intervjuer av personerna med syftet att jämföra intervjuresultatens validitet med analysresultatet. Målet är därmed att kunna bekräfta att datan från båda hållen överensstämmer med varandra. I förlängningen kan jämfö- relsen användas för att räkna ut ett resultat som visar på hur stor del

(22)

3.3. TILLÄMPNINGAR OCH NYTTA KAPITEL 3. METOD av informationen som i genomsnitt överensstämmer mellan analysdatat och data från intervjuer.

I R. Hanneman och M. Riddle, Introduction to Social Network Methods [11] nämns flera olika metoder för att kunna sätta mätskalor på insam- lad data från sociala medier. En av dessa metoder kallas för nominal mätskala av relationer, där utvalda personer för intervju får en lista med olika val som de ska kryssa i. Sedan används dessa val som beskrivning- ar av relationen mellan den utvalda personen och någon annan person i nätverket. I den här metoden är listans innehåll bestämd, med följan- de exempelfråga. Vad är ditt förhållande till person A, 1-Vän, 2-Bästa vän, 3-Familjemedlem? Enligt den metoden kan deltagarna bli tvungna till att välja ett val som inte beskriver den verkliga relationen med hög precision då deltagarna kan få svårt att klassificera huruvida någon är närmare till bästa vän än enbart vän. I det här arbetet används den nämnda metoden som en utgångspunkt för att koppla analysdatan till verklig data. Metoden har dock blivit förbättrad genom att deltagarna tillåts beskriva relationen med egna ord, istället för att behöva välja från en bestämd lista. Sedan kopplas dessa beskrivningar till bestämda val som de anses tillhöra. När till exempel en deltagare blir tillfrågad,

”Vad är ditt förhållande till person A?” så skulle personens svar kunna vara ”personen är min bror, eller jag och personen är bästa vänner”. I det fallet kopplas person A antingen till kategorin familjemedlem eller bästa vän, i förhållande till deltagaren. Se Appendix D.

Den ovannämnda metoden där intervjudatat jämförs direkt med mål- personens analysresultat kommer att användas som grund i arbetet.

(23)

KAPITEL 3. METOD 3.4. METODKRITIK

• Hur demonstreras nyttan av data-analysen från sociala medier?

Data-analysens syfte är att ge en sammanställd bild där flera sorters information i kombination kan leda till ny information[3]. Nyttan som uppstår kan variera beroende på resultatet av analysen. Analysen kan användas på flera olika sätt och kan få olika användningsområden bero- ende på de mönster som visas i resultatet. De metoder som har nämnts hittills kommer att användas för att genomföra en korrekt analys som i sin tur kommer att ge ett visst resultat, nyttan av analysen kan då definieras genom att koppla resultatet till områden där de skulle kunna användas i ett specifikt syfte.

3.4 Metodkritik

3.4.1 Datainsamling

Det finns flera metoder som är användbara inom datainsamling och ofta har de både för- och nackdelar. En av de allra mest kända metoderna för in- samling av data från webben är web-skrapning[12], vilket innebär att data samlas in med hjälp av en programvara via http-protokollet[13]. Det går dock att undvika web-skrapning genom att använda en så kallad programmerings- API, det erbjuds oftast av organisationer som tillhandahåller data och pre- senterar oftast strukturerad data[14]. Om tiden eller resurserna inte tillåter användning av de förstnämnda metoderna, går det att köpa data från utom- stående organisationer i form av bibliotek[15]. En annan insamlingsmetod är att hämta informationen manuellt, genom att navigera webben och anteckna ned information.

Web-skrapning är ett alternativ som innehåller en viss problematik. Pro-

(24)

3.4. METODKRITIK KAPITEL 3. METOD blemet med den metoden är att den i vissa fall kan räknas som förbjuden aktivitet(se avsnitt 4.3), dessutom måste skrapningsprocessen programmeras annorlunda för varje typ av sociala medier, då sidoelementen ser annorlunda ut på olika sociala medier[16, 17].

Redan förprogrammerad API från sociala nätverk innehåller också problem.

Den största svårigheten är att det finns restriktioner på vad som kan hämtas och hur mycket det går att hämta[18].

Att köpa data från en tredje part kan också vara problematiskt då data kan vara utdaterad och icke-relevant för realtidsanalysen, eller kan handla om okända kostnader[15, 19]. En manuell inhämtning är heller inte felfri då den kan innebära problem eftersom mänsklig interaktion krävs samt kan ta mycket längre tid än en automatiserad inhämtning.

Valet gjordes att i arbetet använda web-skrapning som insamlingsmetod ef- tersom den metoden bedöms ge tillgång till mer data under en rimlig kostnad, i jämförelse med dem andra metoderna.

3.4.2 Datalagring

Den tidigare nämnda metoden för datalagring är den som valts att användas i arbetet. Det finns andra metoder, men de anses inte lämpliga för arbetets syf- te. Som exempel går det att utnyttja andra typer av databaser som använder sig av Relational Database Managment System[22], där databasstrukturen är annorlunda och använder sig av relationer så som SQL-databaser[23]. Den typen av databas är väldigt bra för en statisk verksamhet, men det blir pro- blematiskt om verksamheten expanderar kraftigt. När det gäller att hantera en mycket stor mängd av data till den graden att det blir Big Data[24]så är SQL databaser ett dåligt val[25].

(25)

KAPITEL 3. METOD 3.4. METODKRITIK

3.4.3 Analysmetoder

Det finns givetvis andra än de fastslaget lämpliga metoderna för att kun- na analysera data från sociala medier. Det hade självfallet varit möjligt att slumpmässigt välja olika algoritmer för att analysera relation- och kontakt- nätverk data och sedan jämföra resultatet av algoritmerna för att sedan be- stämma vilken algoritm som är mest lämplig. Det bedöms dock som slöseri på både tid och resurser att göra om en process som tidigare redovisats med god kvalité. Därmed anses valet av algoritmer säker, baserad på tidigare arbeten[2].

Datavalidering

Som nämnt tidigare under jämförelse mellan analysresultatet och verklig da- ta, valdes det att intervjua personerna i fråga. Det är självfallet inte det enda tillvägagångssättet då andra metoder kan användas vilka har för- och nackdelar.

Det hade som exempel även varit möjligt att förutom person A varifrån aktuella resultat utvunnits, använda sig av en annan person för intervjun, i det här fallet person B. Person B har då rimligtvis en så nära relation som möjligt till person A och vet därmed mycket om denne. Svagheten med metoden är att troligtvis vet person B mindre om person A än vad denne gör om sig själv, vilket kan ge felaktig bekräftelse av fakta. Metoden kan dock användas om person A inte är tillgänglig, men anses i dessa fall behöva understrykas då de jämförs mot ordinarie intervjuresultat.

Att istället fråga ut personen i fokus själv för att sedan jämföra med data- analysen anses därmed vara en lämplig metod att bekräfta eller dementera framkommen fakta. Möjligheten för felaktig data existerar förstås fortfarande

(26)

3.4. METODKRITIK KAPITEL 3. METOD då lögner eller missuppfattningar kan förekomma. Ett sätt för att mitigera eventuell felaktig data kan ske genom att utföra flertalet analyser och in- tervjuer av olika personer. Därefter med hjälp av olika statistiska metoder framställa en större genomsnittlig bild av resultatet[26]. Viss problematik existerar fortfarande här, då analysen täcker bara de subjekt som har valt att undersökas och borde inte anses gälla för alla Facebook-användare.

(27)

Kapitel 4

Teori & bakgrund

I följande kapitel presenteras teorin bakom datastrukturer, analysmetoder och ett antal viktiga juridiska frågeställningar. Samtliga analysmetoder för- klaras i sin matematiska form för sammanhanget sociala medier.

4.1 Grafteori

Att databasen kan hantera graf-relationer innebär att data är presenterat på ett sätt som kan visualiseras med hjälp av grafer. Graferna innehåller då vissa egenskaper och beskrivningar av datat. I en graf kallas varje enskild entitet för nod eller kontakt, där varje kontakt är antingen ensam i ett nätverk eller har en koppling till en annan kontakt. Kopplingarna kallas för relationer och kan indelas i olika typer beroende på den relation som två eller fler kontakter har.

Till exempel skulle en relationstyp kunna vara vän eller följare. Utöver typen kan en relation vara riktad eller oriktad, där riktad innebär att en kontakt har en utgående eller ingående relation med en annan kontakt. På Twitter

(28)

4.2. DATA-ANALYS KAPITEL 4. TEORI & BAKGRUND kan som exempel en kontakt följa en annan kontakt utan att nödvändigtvis bli följd tillbaka, då skapas en relation som har en utgående riktning från kontakten som följer, men har en ingående riktning till kontakten som följs.

Oriktad relation innebär att en kontakt har en relation med en annan kontakt som går i både riktningarna, det vill säga riktningen är inte specificerad därför kan data gå åt båda håll. På Facebook måste en kontakt acceptera en vänförfrågan från en annan kontakt, för att en relation ska kunna bildas.

Det innebär då att relationen går i båda riktningarna[11, 2].

4.2 Data-analys

4.2.1 Centralitet

Centralitet definierar hur viktig en individ är i ett nätverk. Det finns olika typer av centralitet[2], varav det har valts att undersöka fyra centralitetsal- goritmer.

Gradcentralitet

I verkligheten betraktas individer med många kontakter som viktiga, grad- centralitetsalgoritmen förvandlar samma idé till ett mått, som kan jämföras mellan olika individer. De individer som har fler kontakter rankas högre upp av algoritmen än de med färre.

Graden av centralitet Cdför individ vi i ett oriktat nätverk är:

Cd(vi) = di (4.1)

(29)

KAPITEL 4. TEORI & BAKGRUND 4.2. DATA-ANALYS Där di är graden(antal kontakter) för individ vi, i nätverk med riktning be- räknas gradcentralitet beroende på syftet. Den kan beräknas för:

Cd(vi) = douti (4.2)

Eller

Cd(vi) = dini (4.3)

Om douti eller dini beräknas, måste det tas hänsyn till att värden skiljer sig vid tolkning. Som exempel kan i ett Twitter-nätverk en person ha många följare dini samtidigt som denne följer få andra douti och tvärt om.

För att kunna jämföra gradcentralitet mellan individer från olika nätverk (Fa- cebook och Twitter) måste värden efter beräkningen normaliseras, en simpel normaliseringsmetod som normaliserar med den maximala möjliga graden,

Cdnorm(vi) = di

n − 1 (4.4)

Där n är totala antalet noder(individer) i nätverket.

Mellancentralitet

Dijkstras algoritm

Grundpelaren inom mellancentralitet utgörs av Dijkstras algoritm. Algorit- men utvecklades 1959 av Edsgerd Dijkstra och är konstruerad för att hitta de kortaste vägarna från där den startar från nod S till alla andra noder, samt längden av vägarna i ett nätverk [2].

(30)

4.2. DATA-ANALYS KAPITEL 4. TEORI & BAKGRUND Mellancentralitet är ytterligare ett sätt för att se hur central en kontakt är, genom att beräkna hur viktig en kontakt är som koppling mellan andra kontakter. För att beräkna mellancentralitet för en kontakt vi måste därmed antalet korta vägar beräknas mellan alla andra kontakter som passerar genom vi, sedan beräknas alla korta vägar mellan alla par av kontakter som inte passerar genom vi enligt,

Cb(vi) = X

s6=t6=vi

σst(vi)

σst (4.5)

Där σst är antalet korta vägar från kontakt s till t, och σst(vi) är antalet korta vägar från s till t som passerar genom vi. Med andra ord är det som mäts här är hur stor roll vi har i att koppla ihop ett par s och t.

Mellancentralitet behöver normaliseras för att det ska vara jämförbart mellan olika nätverk, för att normalisera måste det maximala värdet som algoritmen kan ta beräknas. Det maximala värdet för mellancentraliteten är när kontakt vi befinner sig på alla korta vägar från s till t för vilka par som helst(s, t) som för oriktade grafer är,

Cbmax(vi) = 2n − 1 2



(4.6)

Där n – 1 är totala antalet kontakter minus kontakten som centraliteten beräknas för. När maximala värdet har beräknats kan det beräknade centra- liteten för vi, Cb(vi) normaliseras, genom att,

Cbnorm(vi) = Cb(vi)

2 n−12  (4.7)

(31)

KAPITEL 4. TEORI & BAKGRUND 4.2. DATA-ANALYS Det är viktigt att notera att när Dijkstras algoritm används för att beräkna alla korta vägar från en kontakt S till alla andra kontakter, så behöver al- goritmen köras |V | − 1 gånger. Det är på grund av att centraliteten för en kontakt vi, enligt mellancentraliteten beräknas genom att först beräkna alla korta vägar mellan alla par av kontakter i nätverket.

Täthetscentralitet

I täthets- eller närhetscentraliteten syftas det till att desto mer centrala kon- takterna är desto snabbare de kan nå andra kontakter i nätverket. Formellt borde dessa kontakter ha en mindre genomsnittlig kortaste väglängd till and- ra kontakter. Täthetscentraliteten är definierad som,

Cc(vi) = 1

¯ιvi (4.8)

Där ¯ιvi = n−11 P

vj6=viιi,j är kontakt vi kortaste genomsnittliga väglängd till andra kontakter. Desto lägre den genomsnittliga väglängden är, desto högre centralitet får en kontakt.

4.2.2 Likheter

Likhet definierar hur lika eller relaterade individer är i ett nätverk genom att beräkna mängden av de gemensamma kopplingar individer har. Till exempel i ett socialt nätverk kan individ v1 ha mycket mer gemensamma kopplingar med v3 än med v2. Vilket kan betyda att v1 och v3 är mer lika och delar samma intressen.

(32)

4.2. DATA-ANALYS KAPITEL 4. TEORI & BAKGRUND Strukturell Likhet

I strukturell likhet beräknas likheten genom att kolla på gemensamma sidor eller kontakter som två kontakter delar. Om till exempel två vänner delar samma intresse finns möjligheten att de därmed gillar gemensamma sidor eller delar gemensamma vänner. Dessa två individer klassas då som mer lika än två andra individer som inte delar något gemensamt.

Strukturell likhet går ut på att beräkna snittet mellan två kontakter. Låt N (vi) och N (vj) vara grannarna till kontakt vi och vj . I det här fallet kan ett mått av likhet mellan kontakterna definieras enligt följande,

σ(vi, vj) = |N (vi) ∩ N (vj)| (4.9)

För större nätverk kan likhetsvärdet öka kraftigt för att kontakter kan dela många gemensamma kontakter. Generellt kan värdet normaliseras för att hamna i intervallet [0,1] där 0 betecknar ingen likhet och 1 betecknar stark likhet. För normalisering kan Cosinuslikheten användas enligt följande,

σCosinus(vi, vj) = |N (vi) ∩ N (vj)|

p|N(vi)||N (vj)| (4.10)

4.2.3 Individuella Intressen

Genom att modifiera algoritmen för strukturell likhet, så kan data angående varje individs intressen samlas in. Statistik över vilka slags intressen individen har går därmed att presentera och ge en översikt huruvida individen är mest intresserad av sport, musik eller vilket annat intresse som helst.

(33)

KAPITEL 4. TEORI & BAKGRUND 4.3. J & E Strukturella Intressen

σ(vi) = |N (vi)out| (4.11)

Där vi är en kontakt i ett nätverk och N (vi)out out är antalet kontakter med en gemensam specifik typ som vi har en utgående riktad relation med.

4.3 Juridisk och etisk frågeställning

När det talas om web-skrapning i olika sammanhang så dyker det upp flera frågor. Vanliga frågor är:

Är det tillåtet att skrapa websidor från sociala medier?

Det är generellt sett inte tillåtet att göra det på många webbsidor inklusi- ve Twitter och Facebok, såvida inte instruktionerna i Robot.txt-filen följs.

Enligt policy på de ovannämnda sociala medierna är alla användare fria att utnyttja den data som de har genererat själva, det vill säga data som innehåller användarnas status-meddelanden, kontaktinformation, vän-listor, gilla-markeringar och liknande information fram till insamlingen når nivån vänners vänner[27, 28].

Är det etiskt att skrapa information om individer för att kartlägga deras beteende eller relationer?

Det beror självfallet på syftet till insamlingen av data. Eftersom det inte ska- dar några människor så uppstår för arbetet inga uppenbara problem. Faktum är att all info som öppet går att få tag på via sociala medier är information

(34)

4.3. J & E KAPITEL 4. TEORI & BAKGRUND som användaren själv valt att dela med sig av. Stor vikt bör som sagt läggas till syftet av insamlingen, där forskning, brottsprevention och liknande som syftar i att minska skada i samhället inte innebär ett problem ur en etisk synpunkt.

Finns det risk att arbetet används av andra i fel syfte?

Den risken finns alltid oavsett vad ämnet är. Det går inte att kontrollera vem som läser arbetet och det bör heller inte vara så. Eventuella verktyg beskrivs förvisso, men delas inte öppet i arbetet. Det betyder alltså att om någon vill utföra samma sak fast i ett annat syfte, så måste personen på egen hand utveckla lämpligt verktyg. Kontaktuppgifter finns dock bifogade i arbetet vilket medför möjlig kontakt för vidare forskning, myndighetskontakt och liknande.

(35)

Kapitel 5 Experiment

5.1 Experimentuppställning

Inhämtningsdelen av experimentet utfördes på ett serversystem med följande egenskaper,

• Operativsystem: Windows Server 2008 R2

• Processor: 6 kärnor, 3.6GHz

• Internminne - Storlek: 6 GB

• Hårddisk - Typ, Storlek: Mekanisk RAID 1, 250 GB

• Bandbredd: 1 Gb/s

Analysdelen av experimentet utfördes på ett system med följande egenskaper,

• Operativsystem: Windows 8.1 Pro. X64

• Processor: AMD FX-8350, 8 kärnor, 4.0GHz

(36)

5.2. GENOMFÖRANDE KAPITEL 5. EXPERIMENT

• Internminne – Storlek: 8 GB

• Hårddisk – Typ, Storlek: SSD, 120 GB

• Mjukvara: Databasen Neo4j 2.2.0, bibliotek som krävs för att köra in- hämtningsverktyget .Net Framework 4.5, PhantomJs 2.0.0 och för pro- grammeringen Microsoft Visual Studio Ultimate 12.0 Update 4.

För att kunna följa de metoder som har valts, krävs det flera verktyg. Pro- grammeringsspråken med inräknade bibliotek är väldigt användbara för in- samling och analys av data. Följande är därmed viktigt att ha kunskap inom, C-Sharp[29], Cypher[30], HTML[16], JavaScript[17] och Phantom-Js[31].

5.2 Genomförande

Experimentgenomförandet delas in i tre olika steg, inhämtning, lagring och analys. Under varje steg tas olika experimentella åtgärder upp som slutligen genererar ett resultat.

5.2.1 Inhämtning

Det programmerades ett verktyg i C-sharp[29] för att utföra en automa- tiserad skrapningsprocess, det aktuella verktyget refereras till med namnet BFS-Scraper. Verktyget använde sig av Selenium Webdriver[32], som i sin tur var ihopkopplad med PhantomJs[31]. För att identifiera de elementen som innehåller viktig data på sociala medier, användes det Firefox[33] med det installerade tillägget FireBug[34] som i sin tur använde sig av ett tillägg vid namnet FirePath[35]. Kombinationen av Firefox, FireBug och FirePath, tillå-

(37)

KAPITEL 5. EXPERIMENT 5.2. GENOMFÖRANDE ter en snabb identifiering av HTML element, då genom att klicka på utvalda element resulterar i exakt elementposition. Ytterligare skrevs det en dyna- misk klass som kallades för WebDriver. Klassens uppgift var till för att un- derlätta styrningen av Selenium WebDriver, genom att klassen talade direkt med Selenium-biblioteket i programmeringsspråket C-Sharp. Detta gjorde det möjligt att undvika förlust av sessionsdata rörande inloggade användare som BFS-Scraper arbetar med. Det skedde eftersom endast ett objekt av den egenskapade klassen skapades med användaruppgifterna för att sedan skickas omkring i skrapningsverktygets kod. WebDriver-klassen var kärnan för hela skrapningsverktyget. Se Appendix A.

I princip är BFS-Scraper statiskt programmerad med uppgiften att hämta data från identifierade element som innehåller viktig data. Ett problem som dock kan uppstå är om den aktuella hemsidan bestämmer sig för att ändra designen, då alla elements positioner kan behöva identifieras om igen.

Figur 5.1 visar ett exempel från en användarprofilsida på Facebook, i det aktuella fallet fanns data om användarnamnet under div elementet som har identifieringstexten pageTitle.

Figur 5.1: Exempel på HTML-elementstruktur från profilsida på Facebook.

(38)

5.2. GENOMFÖRANDE KAPITEL 5. EXPERIMENT BFS-Scraper använder sig av en för arbetet modifierad version av Breadth- first search-algoritmen(BFS)[2], där den i grunden fungerar på så sätt att om den presenteras med en lista(L1) som innehåller olika objekt(L1O1, L1O2, . . . L1On) och där varje objekt i sin tur innehåller en lista med andra objekt:

(L1O1(LO1), L1O2(LO2) . . . L1On(LOn)).

BFS går genom den första listan (L1) och alla objekt den innehåller (L1O1. . . L1On), sedan tar den ett objekt(L1O1) och går vidare med att gå igenom hela listan för det valda objektet(L1O1(LO1)), sedan går den tillbaka till (L1) igen för att välja nästa objekt (L1O2) och sedan gå genom listan för objektet(L1O2(LO2)).

Den fortsätter att iterera på det viset fram tills alla objekt har genomgåtts (se exempel i figur 5.2 nedan).

Figur 5.2: Exempel på BFS-struktur för BFS-Scraper.

Det som behövde modifieras från originalversionen är sättet BFS hanterar objektlistor på och hur djupt den ska gå. I det här fallet när det handlar om sociala medier, då kan BFS-algoritmen presenteras med enorma listor vilket till slut skapar ett problem med att spåra hur mycket algoritmen har itererat genom. Detta leder till en av två fall vid beslutet att stoppa inhämtningen, antingen resulterar inhämtning i överskott av information eller underskott av information. Problemet löses då genom att i förväg begränsa hur mycket BFS ska gå genom, med hjälp av en djuphetsvariabel samt en stoppregel.

(39)

KAPITEL 5. EXPERIMENT 5.2. GENOMFÖRANDE Algoritm 1 BFS

1. Lista<FacebookPersonVänner> FacebookPersonVänner;

2. Kö<VännerKö> VännerKö;

3. BFSDjuphet = 4;

4. BFSDjuphetSpårare = 0;

5. För varje (vän i FacebookPersonVänner) VännerKö.läggtill(FacebookPersonVän)

6. För varje (vän i VännerKö ) Lagra vän information och vänlistan Radera vännen från kön gör detta tills kön är tom

7. Så länge (VänKö = tom och

BFSDjuphetSpårare != BFSDjuphet) BFSDjuphetSpårare = BFS- DjuphetSpårare + 1

Gör om steg 5 - 7 för varje vän i listan

Ytterligare ett experiment utfördes för att ta reda på den automatisera- de inhämtningsmetods effektivitet i jämförelse med en manuell inhämtning.

Jämförelsen mellan manuell- och automatisk inhämtning mättes i tidsåtgång och gjordes enligt följande,

En specifik kontakt valdes med en statisk mängd information som skulle in- hämtas. Därefter inhämtades informationen manuellt och sparades i en text- fil. Därnäst körde programmet BFS-Scraper sin automatiska inhämtning på samma statiska information. Tiden som båda tillvägagångssätten tog note- rades och användes därefter för att ge ett perspektiv på den aktuella tids- skillnaden.

(40)

5.2. GENOMFÖRANDE KAPITEL 5. EXPERIMENT

5.2.2 Lagring

Trots valet av Neo4j som databas, så finns det fortfarande problem med da- tabasen. Eftersom lagringsprocessen också ska vara automatiserad till direkt följd av insamlingsprocessen så måste databasen kunna vara programmatisk nåbar. BFS-Scraper är skrivet i C- Sharp, vilket försvårar lagringsprocessen då Neo4j använder sig av ett avancerat bibliotek till C-Sharp som i sin tur talar med databasen i ett språk som kallas för Cypher[20, 30]. Detta var ett problem som kunde undvikas genom att skriva en klass som agerade som en brygga mellan BFS-Scraper och Neo4j-klienten. Den aktuella klassen kommer att refereras till med namnet Neo4jEasyClient. Den stora skillnaden mellan Neo4j-klienten och Neo4jEasyClient är att Neo4jEasyClient är dynamisk och värdena därmed behöver inte hårdkodas i förväg. Se Appendix B.

Ett kort exempel på syntax-skillnaden mellan Neo4j-klienten och Neo4JjEasyClient:

Att skapa en kontakt i Neo4j-klienten:

User John = new User { username = "John_Doe"};

_graphClient.Cypher

.Create("(user:User {user})") .WithParam("user",John)

.ExecuteWithoutResults();

Att skapa en kontakt i Neo4JEasyClient:

User John = new User {username = "John Doe"};

Client.CreateNode("User","user",John);

(41)

KAPITEL 5. EXPERIMENT 5.2. GENOMFÖRANDE Inhämtningen och lagringen resulterade i två dataset.

Dataset 1 begränsades till BFS nivå 1, det vill säga inhämtningen började med en kontakt och gick vidare för att samla information om kontaktens vän- ner, men gick aldrig vidare till deras vänner, det hämtades enbart information om vännerna och deras gilla-markeringar. Dataset 1 bestod av 441 kontak- ter, 27162 sidor och 59230 relationer. Där kontakterna hade den oriktade relationen vän med startkontakten och riktade relationen gilla med sidorna.

Dataset 2 begränsades till BFS nivå 2, vilket innebär att inhämtningen bör- jade med en kontakt och gick vidare för att samla information om kontaktens vänner och deras vänner. Det hämtades enbart information om vännerna, de- ras gillar markeringar, deras vänner och deras gilla-markeringar. Dataset 2 bestod av 4189 kontakter, 134243 sidor och 393790 relationer.

5.2.3 Analys

Analysen utfördes till stor del direkt i databasen Neo4j och omfattade körning av de definierade algoritmerna under metodsektionen. Algoritmerna tolkades till ett så kallat Cypher-språk[30] för att kunna kommunicera direkt med Neo4j databasen. Se Appendix C.

Dataset 2 begränsades till BFS nivå 2, och var därmed lämplig till att utföra de flesta utvalda analyser på. Dessa var strukturell likhet, gradcentralitet, mellancentralitet och täthetscentralitet.

Grad-, mellan- och täthetscentralitet analyserades genom att utföra beräk- ningar med hjälp av de nämnda algoritmerna under metodkapitlet.

(42)

5.2. GENOMFÖRANDE KAPITEL 5. EXPERIMENT Mellancentralitet beräknades enligt följande,

Exempel Mellancentralitet

Figur 5.3: Mellancentralitet Exempel.

Beräkning av mellancentralitet för kontakt v4,

Cb(v4) = (s = v1 till t = v2 = 0/1 + v1 till v3 = 0/1 + v1 till v5 = 1/2 + v2 till v3 = 0/1 + v2 till v5 = 1/2 + v3 till v5 = 0/1) = 1.0 för riktade nätverk och 2 * 1.0 = 2 för oriktade nätverk, det vill säga där kontakter är kopplade i båda riktningar.

Täthetscentralitet beräknades enligt följande, Exempel Täthetscentralitet

Figur 5.4: Täthetscentralitet Exempel

Beräkning av täthetscentraliteten för alla kontakter i figur 5.4, Cc(v1) = 1 1

5−1×(1+2+2+3) = 0.5 Cc(v2) = 1 1

5−1×(1+1+1+2) = 0.8

(43)

KAPITEL 5. EXPERIMENT 5.2. GENOMFÖRANDE Cc(v3) = 1 1

5−1×(2+1+2+1) = 0.66 Cc(v4) = 1 1

5−1×(2+1+2+1) = 0.66 Cc(v5) = 1 1

5−1×(3+2+1+1) = 0.57

Det visar sig att kontakt v2 är den mest centrala enligt täthetscentraliteten, det vill säga information som sänds från v2 når alla kontakter snabbast.

Strukturell Likhet analyserades genom att mäta hur många gilla-markeringar två personer hade gemensamt. Därefter intervjuades utvalda personer i syfte att finna en koppling mellan analysresultatet och verkligheten. Strukturell likhet beräknades enligt följande,

Exempel Strukturell likhet

Figur 5.5: Strukturell likhet Exempel.

Beräkning av den strukturella likheten mellan kontakterna v2 och v5 i figur 5.5,

σCosinus(v2, v5) = |{v1,v3,v4}∩{v3,v6}|

|{v1,v3,v4}||{v3,v6}| = 16 = 0.40

Observera att 0.40 är ett normaliserat värde då det hade resulterat i värdet 1 utan normalisering.

Dataset 1 med dess begränsning till BFS nivå 1 ledde till att bara vissa sorters analyser kunde köras på det. Dessa analyser var distribution av intressen för hela nätverket och för specifika personer.

(44)

5.2. GENOMFÖRANDE KAPITEL 5. EXPERIMENT Analysen för specifika personers intressen gick ut på att välja en specifik person för att sedan applicera strukturellt intresse-algoritmen på personens data, på så sätt genererades en lista med typer på de olika gilla-markeringarna och hur stor andel i procent av totala gilla-markeringar de utgör. Listan analyserades genom att kolla på de kategorier som hade högsta andel i procent utav totala gilla-markeringar, därefter genererades en ny lista med namn på de olika objekten i varje specifik kategori. Varje namn ur den sist genererade listan undersöktes vidare för att specificera vad den valda personen var mest intresserad av inom en kategori. Till exempel om en persons data visade att den har 80 % gilla-markeringar under kategorin musik, då genererades en lista med namn på alla gilla-markeringar som faller under musikkategorin och undersöktes var för sig. Varje gilla-markering som visade sig vara en rockartist gav ett poäng till genren rock, varje gilla-markering som visade sig vara en hiphop-artist eller band gav ett poäng till genren hiphop. Klassificeringen fortsattes därefter på det viset tills listan med namn under kategorin musik tog slut. Detta resulterade i en rankad lista med musikgenrerna som personen kunde tänkas vara intresserad av. Där genren med högst antal poäng blev det som personen antogs vara mest intresserad av.

Vilket slags intresse som helst kunde kartläggas, men desto färre gilla-markeringar som fanns resulterade i mindre data att arbeta med och därmed mindre data att bekräfta ett mönster med. Det här användes för att kunna ge en generell bild av en persons intressen och bör inte tas som bevis. Däremot utfördes samtidigt intervjuer för att bekräfta de mönster som framkommit i syfte att validera analysresultaten.

En analys för att upptäcka distribution av intressen för hela nätverket genom- fördes med algoritmen för strukturellt intresse på alla personer i nätverket.

En lista med resultatet visade därefter intressedistribution inom de olika ka- tegorierna som existerade i hela nätverket. De kategorier med högst antal

(45)

KAPITEL 5. EXPERIMENT 5.2. GENOMFÖRANDE gilla-markeringar över hela nätverket var de kategorier som visade på vad majoriteten i nätverket gemensamt var intresserad av. Varje kategori under- söktes sedan för sig genom att en lista med de mest gillade sidorna inom respektive kategori genererades i syfte att kunna bestämma mer specifikt vad majoriteten av personerna i nätverket var gemensamt intresserade av.

(46)

5.2. GENOMFÖRANDE KAPITEL 5. EXPERIMENT

References

Related documents

Valet av företag hamnade på tre företag i tre olika branscher och detta var medvetet, därför att jag ville se om dessa arbetade på samma sätt eller om de använder sig av sociala

Studien har även syftet att undersöka sociala mediers påverkan, detta för att skapa ökad reflektion och kunskap om sociala medier för att förhindra framkomsten

Uppsatsen syftar till att skapa förståelse för hur medieföretag arbetar internt med strategier och policys för sociala medier, samt hur detta påverkar de anställda på

I detta kapitel behandlas grunderna i hur 3d-grafiken är uppbyggd och vilka möjligheter det finns för användaren att styra dessa.. Grunderna i exportering av 3d-grafik skapad

Life review 4 sessions over 3 to 6 weeks Individual sessions 1 therapist Usual social assistance BDI, Beck Depression Inventory; BDI-II, Beck Depression Inventory, 2 nd edition;

Although single duration times become more and more equal (stable) while a user gets used to a particular LP pair, the implementation of an identity verification system, which

Därför har företaget tagit fram en handbok för deras sociala medier, vilket gör att alla kanaler, både centralt och lokalt, har en gemensam plattform att utgå ifrån vilket leder

Enligt Jones, Borgman &amp; Ulusoys (2015) tidigare forskning och teori kan det bero på ekonomiska faktorer, att företagen inte har de ekonomiska resurserna som krävs för