ACADEMIEJAAR 2013 – 2014
UNIVERSITEIT ANTWERPEN FACULTEIT TOEGEPASTE ECONOMISCHE WETENSCHAPPEN
Data Mining & Muziek - Hit Prediction Hit Prediction of Dance Music for the Belgian Charts
Tom Bergmans
Masterscriptie voorgedragen tot het bekomen van de graad van: Master in de Toegepaste Economische Wetenschappen – Handelsingenieur
Promotor: drs. Dorien Herremans
ACADEMIEJAAR 2013 – 2014
UNIVERSITEIT ANTWERPEN FACULTEIT TOEGEPASTE ECONOMISCHE WETENSCHAPPEN
Data Mining & Muziek - Hit Prediction Hit Prediction of Dance Music for the Belgian Charts
Tom Bergmans
Masterscriptie voorgedragen tot het bekomen van de graad van: Master in de Toegepaste Economische Wetenschappen – Handelsingenieur
Promotor: drs. Dorien Herremans
‘I like to know why a video has suddenly gone viral, why a song has broken, why a TV show is suddenly rating out of pattern… I’m pretty good at understanding why things are becoming popular.’ Simon Cowell (zoals geciteerd in Dunford, 2014)
ABSTRACT
Deze thesis onderzoekt of het mogelijk is om te voorspellen welke liedjes er zullen doorbreken in de hitlijsten. Het behoeft geen extra uitleg dat het ontdekken van de volgende Justin Timberlake of Lady Gaga een aardige cent zou opleveren. De muziekindustrie is immers een business die ondanks een moeilijkere periode, nog steeds een aanzienlijk omzet genereert. In 2012 bedroeg dit bedrag maar liefst 16,4 miljard dollar. Er werden reeds enkele onderzoeken uitgevoerd om een wetenschappelijk onderbouwd antwoord te bieden op deze one million dollar question. In de literatuur zijn er twee mogelijke benaderingen tot dit probleem. Een eerste mogelijkheid is om het lied zelf te analyseren. Er wordt op basis van kenmerken zoals beats per minuut, klankkleur en toonaard getracht een onderscheid te maken tussen liedjes die hoog scoren en liedjes die floppen. Dit maakt het mogelijk om enkele key-characteristics van hit-songs aan te duiden. Een tweede luik focust zich op sociale media en andere meta-informatie om een voorspelling te maken. Gegevens van Facebook, Youtube en Twitter, maar ook bv. Spotify en Last.FM kunnen gebruikt worden als proxy om te voorspellen welke liedjes hoog zullen scoren in de nabije toekomst. Tot nog toe werden beide benaderingen steeds apart onderzocht. Het is dan ook om deze reden dat dit onderzoek beide luiken zal onderbrengen in één onderzoek om de hits van de Ultratop 50 Dance te scheiden van niet-hits. De eerste methode koppelt de liedjes van de Vlaamse hitparade aan muzikale kenmerken van The Echonest. Dit is een database die voor een ruim scala van liedjes reeds alle muzikale kenmerken in kaart heeft gebracht. Het tweede luik maakt gebruik van de website Last.FM om binnen deze gemeenschap early adopters te identificeren. Verschillende bronnen suggereren immers dat bepaalde muziekliefhebbers sneller hits oppikken dan andere. Dit tweede model zal bijgevolg op basis van luistergeschiedenis van verschillende gebruikers een opdeling in hits en niet-hits maken.
EXECUTIVE SUMMARY
This thesis answers the question whether or not it is possible to predict which songs will become a top-hit in the music charts, and which songs will dwell in anonymity. It goes without saying that the discovery of the new Justin Timberlake or Lady Gaga could return a considerable profit. After all , in 2012 the music industry still generated a total volume of 16,5 billion dollars, even though it goes through the toughest decade ever. Several other researchers have conducted research to find an answer to this one million dollar question. This research field is called Hit Song Science (HSS) and is part of a larger domain, Music Retrieval Information (MIR). The goal is to build a model that can differentiate between hit-songs and non-hit-songs, based on several statistical and machine-learning techniques. To get these models and decision-rules, there are two different approaches. A first possibility is to start with the intrinsic characteristics of a song. Researchers train a model to classify songs based on features such as beats per minute, pitch and key. A second philosophy is to look at meta-information based on social media and user generated content. Data from Youtube, Facebook and Twitter, but also for example Spotify and Last.FM are used as proxy-variables to identify which songs will be a hit in the near future. These two approaches remain separated. Therefore, in this thesis, both methods are performed on one hit list, the Belgian music chart for dance songs. Two models are trained to identify the hits of the Ultratop 50 Dance chart. The first part uses characteristics of The Echonest to classify the songs. The methodology and techniques are based on the most recent research, performed by Herremans (2013). The Echonest is a huge database that contains the intrinsic musical features of most songs and is open-source. This information is linked to the position in the Ultratop 50 Dance charts and its little brother, The Bubbling Under chart, which contains the 20 songs of which music-watchers predict they might hit is big in the next weeks. A classification model is build to differentiate songs that reach a top position in the highest regions of the Ultratop 50 Dance versus songs that never live up to the expectations and fail to break out of the Bubbling Under chart. The second model is trained on information from the website Last.FM. This is a social-mediawebsite that centers around the social experience of music, a Facebook for music so to speak. Studies suggested that some people pick up new hit songs faster than others. Therefore the
features that will be used in this second algorithm are based on the listening-history of users within the Last.FM community. If certain early adopters of new music and fresh hit songs can be identified, their listenpatterns harbor valuable information in view of hit song prediction. To perform the analysis, the listening-history of thousands of Last.FM users is analyzed. Of course personal information is not withheld and only the meta-data is used for research to respect the privacy of the involved users. The analysis of both models is described in detail. Different scripts based on Java are used to extract the data from the websites and the databases. To minimize potential errors, a filtering is performed to make sure the same songs with a different writing of for example feat. or ft, are recognized as the same. Different techniques are used to perform a binary classification, using the data mining software Weka. These include a decision tree, a ruleset, a naive Bayes classification, a logistic regression and a supported vector machine classification. Multiple definitions of a hit are used. Three different definitions of a hit song are tested. First of all, every song of the Ultratop 50 is regarded as a hit versus everything of the Bubbling Under, which is regarded as non-hit. The definition of a hit then becomes more rigorous, only top 30 or even top 20 songs are withheld as hits. This maximizes the difference between hits and nonhits to make a classification more obvious. All methods and assumptions are summarized and compared. The results are promising. Of all tested techniques, logistic regression yielded the best overall results regarding a binary classification between hits and non-hits. The top models, for both approaches, yielded an AUC of approximately 0.80. Although it has to be said that a few features have a considerable impact on the performance of the models. If these characteristics are not included in the dataset, the AUC drops significantly. These parameters are songhotness, artisthotness and artistfamiliarity, three characteristics calculated by a black boxformula of The Echonest. Another remark is the fact that all tested models consistently perform better in the identification of non-hits, than true hit-songs. In other words, the negative prediction value of all models is higher than the precision. In particular the models based on Last.FM listeninghistory were affected by a very skewed training-set. Adjustments were made to get a more balanced training set. Moderate improvements were observed.
As a general conclusion we can say that the methods en techniques used to perform the analysis resulted in outputs which were in line with the expectations. Several researchers were doubtful whether or not it was even possible to predict a hit song in any sort of way. Of course there will always be a factor of luck involved, but this research confirms the results of other scientists whom also obtained confirmative results. Critics raised the question whether this field of research ‘is a real science or not’. This thesis endorsed the fact that the methodology, analysis and results of recent research papers are consistent. In other words, a firm framework is constructed to inspire future researchers to include even more variables such as lyrics, geografic location or other social media. The possibilities to tune the prediction models are endless.
LIJST MET FIGUREN
Figuur 1: Marktaandeel labels o.b.v. albumverkoop .................................................................... 3 Figuur 2: Omzet muziekindustrie in miljarden U.S. dollars ........................................................... 4 Figuur 3: Omzet muziekindustrie procentuele verhoudingen ...................................................... 4 Figuur 4: Marktaandeel digitale platformen ................................................................................. 8 Figuur 5: Bekendheid digitale dienstverleners inzake muziek ...................................................... 9 Figuur 6: Rogers verdeling van consumenten op de innovatiecurve .......................................... 28 Figuur 7: Verdeling van verschillende typeconsumenten ........................................................... 30 Figuur 8: Overzicht modellen ...................................................................................................... 34 Figuur 9: Voorbeeld C4.5 Beslissingsboom ................................................................................. 36 Figuur 10: Voorbeeld SVM techniek ........................................................................................... 42 Figuur 11: Opdeling in hogere dimensie ..................................................................................... 45 Figuur 12: 5-fold cross validation ................................................................................................ 46 Figuur 13: 10-fold cross validation .............................................................................................. 47 Figuur 14: Confusion matrix ........................................................................................................ 47 Figuur 15: ROC ruimte ................................................................................................................. 48 Figuur 16: ROC curve ................................................................................................................... 49 Figuur 17: Schematisch overzicht assumpties A, B & C............................................................... 56 Figuur 18: Beslissingsboom model C(CLEAN) .............................................................................. 59 Figuur 19: ROC-curve model C(ALL) ............................................................................................ 64 Figuur 20: ROC-curve model C(CLEAN) ....................................................................................... 64 Figuur 21: Verdeling usergroups ................................................................................................ 72 Figuur 22: ROC-curve model Last.FM (Naive Bayes) ................................................................... 74 Figuur 23: ROC-curve model Last.FM (Logit) .............................................................................. 75 Figuur 24: Verdeling usergroups na attribute selection ............................................................. 76 Figuur 25: Schema out-of-time test-set ...................................................................................... 78 Figuur 26: Regionale voorkeur favoriete artiest USA.................................................................. 89 Figuur 27: Leeftijdsverdeling sociale media ................................................................................ 90
LIJST MET TABELLEN
Tabel 1: Omzet muziekindustrie per land ..................................................................................... 5 Tabel 2: Omzet muziekindustrie en jaarlijkse evolutie ................................................................. 6 Tabel 3: Populairste Facebook pagina's op basis van likes ......................................................... 10 Tabel 4: Populairste Twitter accounts op basis van aantal volgers ............................................ 11 Tabel 5: Populairste Youtube kanalen op basis van aantal views ............................................... 12 Tabel 6: Overzicht investeringen................................................................................................. 14 Tabel 7: Best verkochte albums wereldwijd 2013 ...................................................................... 15 Tabel 8: Best verkochte singles wereldwijd 2013 (digitaal) ........................................................ 15 Tabel 9: Best verkochte albums België ....................................................................................... 17 Tabel 10: Best verkochte singles België ...................................................................................... 17 Tabel 11: Voorbeeld gegevens Ultratop 50 & Bubbling Under + Echonest ................................ 52 Tabel 12: Overzicht AUC (Echonest)............................................................................................ 58 Tabel 13: Formules achter gedetailleerde output ...................................................................... 61 Tabel 14: Detailed accuracy by class model C(ALL) ..................................................................... 62 Tabel 15: Confusion matrix model C(ALL) ................................................................................... 62 Tabel 16: Detailed accuracy by class model C(CLEAN) ................................................................ 62 Tabel 17: Confusion matrix model C(CLEAN) ............................................................................. 62 Tabel 18: Overzicht gegevens Last.FM ........................................................................................ 69 Tabel 19: Overzicht model Last.FM ............................................................................................. 73 Tabel 20: Detailed accuracy by class model Last.FM (Naive Bayes) ........................................... 73 Tabel 21: Confusion matrix model Last.FM (Naive Bayes) .......................................................... 73 Tabel 22: Detailed accuracy by class model Last.FM (Logit) ....................................................... 74 Tabel 23: Confusion matrix model Last.FM (Naive Bayes) .......................................................... 75 Tabel 24: Overzicht o.b.v. out-of-time test-set ........................................................................... 79 Tabel 25: Detailed accuracy by class model C(ALL) (Logit) op aparte test-set............................ 80 Tabel 26: Confusion matrix model C(ALL) (Logit) op aparte test-set .......................................... 80 Tabel 27: Detailed accuracy by class model C(CLEAN) (Logit) op aparte test-set ....................... 80 Tabel 28: Confusion matrix model C(CLEAN) (Logit) op aparte test-set ..................................... 80 Tabel 29: Confusion matrix model Last.FM (Logit) op aparte test-set ....................................... 81 Tabel 30: Detailed accuracy by class model Last.FM (Logit) o.b.v. gebalanceerde training-set . 82 Tabel 31: Confusion matrix model Last.FM (Logit) o.b.v. gebalanceerde training-set ............... 83 Tabel 32: Detailed accuracy by class model Last.FM (Logit) gebalanceerd - grote test-set ....... 83 Tabel 33: Confusion matrix model Last.FM (Logit) gebalanceerd – grote test-set ..................... 83 Tabel 34: Detailed accuracy by class model Last.FM (Logit) gebalanceerd – kleine test-set ..... 84 Tabel 35: Detailed confusion matrix model Last.FM (Logit) gebalanceerd – kleine test set ...... 84 Tabel 36: Overzicht alle resultaten ............................................................................................. 86
VOORWOORD
Aangezien deze thesis kadert binnen de opleiding Handelsingenieur, is dit geen vanzelfsprekend onderwerp. Laat dit net het aspect zijn dat me aantrok. De meeste studenten kiezen vanzelfsprekend voor een bedrijfsthesis of een literatuurstudie. Ik zocht echter een uitdagend onderwerp waarin ik mijn tanden kon zetten, iets waar ik uren, dagen, weken, en zelfs maanden lang mee bezig zou willen zijn. Ik wou iets nieuws ontdekken. Er was dan ook geen seconde twijfel bij het vastleggen van dit onderwerp. Ik heb de kans gekregen om nieuwe technieken en inzichten te ontwikkelen rond datamining en machine-learning. Het analytische aspect wordt echter gecombineerd met de nodige creativiteit, een combinate die me op het lijf geschreven leek. Naast het wetenschappelijke deel, sprak de opzet achter al deze technieken me enorm aan. Als fervent muziekliefhebber ben ik zelf steeds op zoek naar nieuwe artiesten en liedjes. Het voor het eerst beluisteren van een nieuw album en deze vervolgens grijsdraaien voelt telkens aan als het ontdekken van een geheime schat. Het idee om via statistische analyze te voorspellen welke liedjes er hits zullen worden kan deze zoektocht naar nieuw fris talent enkel ten goede komen. In het kader van de afronding van dit eindwerk zou ik graag iedereen willen bedanken die heeft bijgedragen tot deze scriptie. Daarbij denk ik in vooral aan mijn promotor, Dorien Herremans. Ik kon steeds rekenen op constructieve en snelle feedback wanneer ik geen raad wist met bepaalde problemen. Ook voor uitleg i.v.m. Weka en het uitwerken van scripts in Java kon ik steeds terugvallen op m’n promotor. Daarnaast kon ik ook beschikken over de kennis en expertise van David Martens, waarvoor dank. Als laatste zou ik mijn ouders en vrienden willen bedanken. Niet alleen om het protocol te volgen, maar een oprechte bedanking om mij door dik en dun te blijven steunen en dit werk tot vervelens toe na te lezen. Ook de interesse in muziek heb ik grotendeels van thuis uit meegekregen. Dit werk was een grote puzzel met vele obstakels, maar gaande weg vielen alle stukjes in elkaar. Veel leesplezier met het resultaat.
INHOUDSTAFEL
ABSTRACT EXECUTIVE SUMMARY LIJST MET FIGUREN LIJST MET TABELLEN VOORWOORD INHOUDSTAFEL INLEIDING 1. DE MUZIEKINDUSTRIE IS BIG BUSINESS .................................................................................... 2 1.1. Beschrijving van de muziekindustire .................................................................................. 2 1.2. Digitale distributielandschap .............................................................................................. 7 1.3. Lancering van nieuwe artiesten........................................................................................ 13 2. HIT SONG SCIENCE .................................................................................................................. 18 2.1. Algemeen kader ................................................................................................................ 18 2.2. Academische basis............................................................................................................ 19 2.2.1. Grondleggers .......................................................................................................... 19 2.2.2. Preferential attachment ......................................................................................... 20 2.2.3. Not yet a science? .................................................................................................. 21 2.2.4. Once again a science? ............................................................................................ 21 2.2.5. Resultaten van Dance Hit Prediction ...................................................................... 22 2.3. Sociale media .................................................................................................................... 24 2.3.1. User generated content ............................................................................................. 24 2.3.2. Last.FM ....................................................................................................................... 26 2.4. Innovators & early adopters ............................................................................................. 27 3. METHODOLOGIE ..................................................................................................................... 32 3.1. Onderzoeksvraag .............................................................................................................. 32 3.2. Concept ............................................................................................................................. 32
4. THEORETISCHE ACHTERGROND .............................................................................................. 35 4.1. Curse of dimentionality .................................................................................................... 35 4.2. Techniek 1: Beslissingsboom (C4.5) .................................................................................. 36 4.3. Techniek 2: Ruleset (RIPPER) ............................................................................................ 37 4.4. Techniek 3: Naive Bayes ................................................................................................... 38 4.5. Techniek 4: Logistieke regressie ....................................................................................... 40 4.6. Techniek 5: Support vector machine (SVM) ..................................................................... 40 4.7. 10 Fold cross validation (10FCV)....................................................................................... 46 4.8. Receiver operating curve & Area under the curve ........................................................... 47 5. ANALYSE .................................................................................................................................. 50 5.1. Ultratop 50 en Bubbling Under met Echonest kenmerken .............................................. 50 5.1.1. Gegevensverzameling ............................................................................................ 50 5.1.2. Preprocessing ......................................................................................................... 55 5.1.3. Verwerking en resultaten ....................................................................................... 55 5.2. Ultratop 50 en Bubbling Under met Last.FM ................................................................... 65 5.2.1. Gegevensverzameling ............................................................................................ 65 5.2.2. Preprocessing ......................................................................................................... 66 5.2.3. Verwerking en resultaten ....................................................................................... 69 5.3. Out-of-time test-set .......................................................................................................... 78 5.4. Gebalanceerde Last.FM .................................................................................................... 82 6. VERGELIJKING VAN DE VERSCHILLENDE MODELLEN .............................................................. 86 7. KRITIEK & AANBEVELINGEN .................................................................................................... 88 7.1. Meta-kenmerken .............................................................................................................. 88 7.2. Regionale verschillen ........................................................................................................ 89 7.3. Representativiteit ............................................................................................................. 90 7.4. Minpunten Last.FM .......................................................................................................... 91 7.5. Portie geluk ....................................................................................................................... 92 8. BESLUIT.................................................................................................................................... 94 BIBLIOGRAFIE BIJLAGEN WOORD VAN EER
INLEIDING
‘I've written about 78 top 10 songs, and I still don't know what a hit song is.’ (Lamont Dozier, zoals geciteerd in Lindvall, 2011, 1) Met dit citaat is het onderwerp van deze thesis meteen gezet. Interviewers vragen voortdurend aan bekende artiesten en producers of ze de mysterieuze geheime code om een hit te scoren hebben ontcijferd. Het antwoord is vaak gelijkaardig aan dat van Lamont Dozier. Hij was een van de meest succesvolle producers van de afgelopen decennia en supertalent achter de schermen bij o.a. het hitlabel Motown. De gehele muziekindustrie genereerde in 2012 een totaalbedrag van maar liefst 16 miljard dollars. De bedragen die de grootste artiesten op aarde opstrijken spreken eveneens tot de verbeelding. Het consistent produceren van hits is m.a.w. een goudmijn. Indien er dus een antwoord gegeven kan worden op de vraag wat nu juist een hit-song onderscheidt van de rest, zou men hierop gericht kunnen aansturen. Wat maakt een song een hit en hoe kan de populariteit van artiesten en liedjes voorspeld worden? Deze million dollar question vormt het onderwerp van deze verhandeling. Concreet zal er op basis van machine learning technieken gezocht worden naar patronen die hit-songs differentiëren van rest. Aangezien dit niet het eerste onderzoek is binnen dit domein van de wetenschap, zal er eerst een grondige literatuurstudie uitgevoerd worden. De verschillende onderzoeken worden kritisch geëvalueerd. De beste ideeën en methodes zullen dienen als inspiratie om zelf twee modellen op te bouwen, toegepast op de Vlaamse muziekcharts. Er zullen twee verschillende benaderingen getest worden. Enerzijds wordt er gekeken naar het liedje zelf. Een tweede luik focust op sociale media. Deze twee verschillende pistes zullen apart onderzocht worden tijdens de analysefase, volledig uitgewerkt van gegevens verzameling tot bespreking van de uiteindelijke classificatieresultaten. Tot slot worden de modellen geëvalueerd en zullen er aanbevelingen geformuleerd worden naar toekomstig onderzoek toe.
1
1. DE MUZIEKINDUSTRIE IS BIG BUSINESS
De muziekindustrie komt de laatste jaren veelal negatief in het nieuws. Producenten en artiesten klagen dat hun werk te vaak illegaal gedownload en verspreid wordt en trachten hier streng tegen op te treden. Een bekend voorbeeld hiervan is de artiest Prince. Begin dit jaar dreigde de artiest met een aanklacht wegens inbreuk op het auteursrecht, gericht tegen een tiental toeschouwers, die enkele filmpjes van een concert online hadden gezet. Omdat er zoveel tegenkanting kwam vanuit de Prince-fanbase heeft de excentrieke performer de aanklacht enkele maanden later ingetrokken (Jonze, 2014). Ondanks het hekelpunt van illegaal downloaden blijft de muziekindustrie big business. Platenmaatschappijen trachten te reageren doormiddel van verschillende innovatieve diensten te lanceren zoals streaming-diensten en sociale platformen rond muziek. Een beknopt overzicht van de huidige situatie van de muziekindustrie volgt.
1.1. Beschrijving van de muziekindustrie Vroeger sprak men wel eens over de Big 4 record labels: Universal Music Group, Sony, Warner Music Group en EMI. In 2011 werd bekend gemaakt dat EMI in moeilijke papieren zat. Dit resulteerde in een complexe overname. Universal nam vooral activa van de productie eenheid over (EMI Recorded Music). Deze tak verzorgt vooral het maken en uitbrengen van nieuwe muziek. Sony kocht de eenheid over die de rechten van de artiesten beheert, EMI Music Publishing. De Europese Commissie oordeelde echter dat Universal een te grote en dominante speler op de markt zou worden. Bijgevolg moesten verschillende sublabels apart van de hand gedaan worden. Zo is de Europese tak van EMI Recorded Music nu bij Parlophone Music ondergebracht, beheerd door Warner (Williams, 2012). Een concrete opdeling van de muziekindustrie per album verkopen, wordt weergegeven in figuur 1. Universal is duidelijk de grootste, gevolgd door Sony en Warner. De overige spelers, waaronder Virgin Records, verdelen de laatste 12,30% (i.e. Indies).
2
Figuur 1: Marktaandeel labels o.b.v. albumverkoop
Sony 30%
WMG 19%
UMG 39%
Indies 12%
Bron: A2IM, 2014
Figuren 2 en 3 geven een algemeen beeld van de omvang van de wereldwijde muziekindustrie. Figuur 2 beschrijft het algemeen volume in miljarden dollars, dat gerealiseerd wordt door de verschillende activiteiten in de muziekindustrie. Er is duidelijk een dalende trend. In 1999 piekte de industrie op 28,6 miljard dollar. In 2012 behaalde men nog slechts 16,5 miljard dollar. Tot voor 2001 werden er bijna enkel inkomsten gegenereerd door fysieke distributie van cd’s en albums. De digitale distributie stijgt echter gestaag sinds 2002. In figuur 3 is te zien dat tegen 2012, de digitale distributie reeds 35% van alle inkomsten genereerde. Ook nauwkeurige opvolging van auteurs- en afbeeldingsrechten genereren de laatste jaren iets meer inkomsten. Het is duidelijk dat de industrie onder zware druk staat. De dalende trend lijkt echter wel te stagneren, in 2012 is er immers voor het eerst een zeer bescheiden toename (0,2%) in totale omzet.
3
Figuur 2: Omzet muziekindustrie in miljarden U.S. dollars
Bron: RIAJ, 2013 Figuur 3: Omzet muziekindustrie procentuele verhoudingen
Bron: RIAJ, 2013
Hoewel vorige cijfers een globaal beeld van de industrie schetsen, kan een opdeling per land meer inzicht verschaffen in de Belgische markt (Tabel 1). Er doen zich immers grondige verschillen voor afhankelijk van welke regio men bekijkt. In totale omzet behaalt België een 17de plaats. De Verenigde Staten en Japan zijn veruit de grootste afzetmarkten voor muziek gerelateerde producten. Waarbij Japan ondanks het grote volume dat al aanwezig is, toch nog
4
altijd een groeivoet van 4% kan voorleggen. Sterkste groeiers dit jaar zijn Zwitserland, Oostenrijk, Zweden, maar vooral India. Deze laatste kan een indrukwekkende 21,60% voorleggen. De verklaring hiervoor is legio, een zeer sterk groeiende bevolking met een expansie van een welvarende middenklasse die zich openstelt voor luxeproducten. Deze laatste trend doet zich ook voor in andere groei-landen zoals Brazilie, Mexico en China. Tabel 1: Omzet muziekindustrie per land Retail Market
value
%
US $
Change
Physical
Digital
Performance Rights
(millions) United States
4481,8
-0,50%
34%
58%
4%
Japan
4422
4%
80%
17%
2%
1325,8
-6,10%
49%
39%
10%
Germany
1297,9
-4,60%
75%
19%
5%
France
907,6
-2,90%
64%
23%
11%
Australia
507,4
6,80%
45%
47%
6%
Canada
453,5
5,80%
48%
43%
7%
Brazil
257,2
8,90%
62%
27%
9%
Italy
217,5
-1,80%
62%
27%
9%
Netherlands
216,3
-4,70%
58%
27%
14%
South Korea
187,5
-4,30%
55%
43%
2%
Sweden
176,7
18,70%
32%
59%
8%
Spain
166,6
-5%
53%
27%
19%
India
146,7
21,60%
31%
60%
7%
Mexico
144,5
8,20%
63%
35%
1%
Switzerland
128,5
14,20%
61%
32%
7%
Belgium
121,5
-6,30%
64%
18%
17%
Norway
118,3
6,70%
31%
57%
11%
Austria
96,2
12,40%
65%
21%
13%
China
92,4
9%
18%
82%
N/A
United Kingdom
Bron: RIAJ, 2014
5
Tabel 2: Omzet muziekindustrie en jaarlijkse evolutie
Year
Revenue
2005 2006
2007
2008 2009
2010
2011
2012
$20,7 billion $19,6 billion $18.8 billion $18,4 billion $17,4 billion $16,8 billion $16,2 billion $16,5 billion
Change -3,00% -5,00%
-4,00%
-8,00% -5,00%
-8.4%
-3,00%
+0,3%
Bron: RIAJ, 2013 Wanneer men de Belgische markt vergelijkt met de andere landen, stelt men enkele bijzondere verschillen vast. Zo is België de snelst inkrimpende markt, een daling met maar liefst 6,80%. Een reden hiervoor zou kunnen zijn dat de Belgische wetgeving nog steeds geen akkoord heeft bereikt over het bestrijden van het illegaal downloaden van auteursrechterlijke content via peer-2-peer netwerken. Ook opvallend is dat de digitale distributie in ons land moeilijk van de grond komt. Er is wel een bescheiden draagvlak (18%), maar in vergelijking met de andere landen blijft het aandeel in de totale omzet redelijk beperkt. Zo gaat in de USA de verkoop via digitale platformen reeds met het grootste deel van de koek lopen (58%). Totslot moet opgemerkt worden dat de inkomsten door het beheren van auteursrechten in België het hoogste relatieve aandeel haalt t.o.v. de andere inkomstenbronnen. Dit komt erop neer dat
6
waakhonden zoals Sabam er nauwkeurig op toezien dat de nodige auteursrechten betaald worden. Ook optredens en de vele festivals genereren in deze rubriek inkomsten. Muziekcentrum Vlaanderen (2013) rapporteerde een uitgebreider rapport met gedetailleerde informatie in verband met de verkoop van muzikale inhoud in 2012. Het totale aantal van zowel albums, singles, blu-rays en vinyl met betrekking tot muziek bedroeg 18,5 miljoen stuks. Albums worden bijna uitsluitend op fysieke dragers gekocht (95%) terwijl men voor singles vaker naar digitale dragers grijpt. Dit sluit aan bij de evolutiecijfers. De markt voor fysieke albums krimpt in (-12%) terwijl de afzetmarkt voor singles stijgt. Vreemde eend in de bijt is vinyl. De verkoopcijfers van deze vergeten muziekdrager stegen met meer dan 38%. Muziekstreamingsdiensten, zijn goed voor 3% van de totale omzet. Hier verwacht men nog wel een sterke groei de komende jaren. Het duurde immers zeer lang voordat diensten als Spotify en Deezer in ons land officieel beschikbaar werden. Dit werd bemoeilijkt door juridische kwesties. Vandaar dat België op dit vlak achterholt op de internationale markt. Het lijkt erop dat de wereldwijde community verschuift van fysieke dragers, naar digitale. Platenmaatschappijen en producenten beseffen dit maar al te goed. Digitale distributie van muziek wordt beschouwd als rijzende ster binnen de muziekindustrie. Het kan wel eens de remedie zijn tegen de tegenvallende verkoop en andere pijnpunten in deze sector. Dankzij de explosie van streaming-kanalen steeg de muziekverkoop in bijvoorbeeld Noorwegen vorig jaar met 7%, na een langdurige periode van sterke dalingen sinds 2004. Er zijn dan ook verschillende bedrijven die hierop inzetten en hun graantje willen meepikken.
1.2. Digitaal distributielandschap Aangezien digitale distributie van muziek in België nog in z’n kinderschoenen staat, wordt de internationale context besproken op basis van het IFPI Digital Music Report (2013). Een eerste onderscheid moet gemaakt worden tussen de verschillende soorten digitale platformen. Er zijn verschillende modellen die elk op hun eigen manier muziek verspreiden. Het eerste model rekent een bedrag aan per download. Vervolgens kan de gebruiker de mp3 downloaden op z’n pc en beluisteren wanneer hij maar wil. Voorbeelden hiervan zijn iTunes, Google Music of Amazon MP3. Het andere model rekent maandelijks een vooropgesteld bedrag aan om toegang te krijgen tot een immense bibliotheek van muziek. Vervolgens kan de
7
gebruiker deze verzameling van liedjes streamen naar verschillende apparaten en ongelimiteerd naar hartenlust beluisteren. De bekendste voorbeelden van dit model zijn Spotify en Deezer. De populariteit van enerzijds de subscription based modellen en anderzijds de paid-to-download diensten verschillen sterk van land tot land, zo blijkt uit figuur 4. De algemene merkbekendheid van de verschillende kanalen wordt weergegeven in figuur 5. Youtube en VEVO zijn gratis en worden eerder beschouwd als marketing instrument dan consistente en kwalitatieve leverancier van muziek.
Figuur 4: Marktaandeel digitale platformen
Bron: IFPI Digital Music Report, 2014
8
Figuur 5: Bekendheid digitale dienstverleners inzake muziek
Bron: IFPI Digital Music Report, 2014
Naast de digitale distributieplatformen, zetten meer en meer artiesten ook fors in op sociale media. Het IFPI berekende dat er jaarlijks ongeveer 26% van de totale omzet (4,5 miljard dollar) terug in dergelijke media en promotieactiviteiten geïnvesteerd wordt. Een ander onderzoek van het PEW Research Center toont aan dat van alle gebruikers van Facebook, Twitter en andere sociale netwerksites, ongeveer 67% actief deelneemt aan discussies omtrent muziek en film. New Big Sound Research Center onderzocht de activiteit rond 5 zeer populaire artiesten, Bruno Mars, Katy Perry, PSY, Justin Bieber en One Direction. Deze 5 genereerden op zich al 170 miljoen digitale interacties per week. Kortom, muziekartiesten domineren de sociale media. Zowel op Twitter als Facebook en Youtube zijn de accounts die de meeste volgers en likes hebben vooral die van popsterren. (IFPI Digital Music Report, 2014)
9
Tabel 3: Populairste Facebook pagina's op basis van likes Position
Page
Total Likes Daily Growth Weekly Growth
1
Facebook for Every Phone 397 956 663
521 757
3 848 355
2
Facebook
142 044 842
72 751
14 347 963
3
Rihanna
85 640 557
27 305
158 368
4
Shakira
84 128 250
115 396
805 679
5
Eminem
82 857 590
49 867
364 105
6
Coca-Cola
79 900 857
19 319
171 486
7
Youtube
78 591 934
13 344
100 646
8
Christiano Ronaldo
74 758 009
70 145
563 535
9
Michael Jackson
70 794 747
37 122
264 733
10
The Simpsons
70 714 663
2 813
195 713
11
Texas Holdem Poker
70 122 224
6 036
44 695
12
Harry Potter
68 852 902
14 785
11 228
13
Vin Diesel
67 628 529
9 661
681 674
14
Katy Perry
64 679 198
45 001
313 432
15
Justin Bieber
63 587 033
22 203
206 913
16
Lady Gaga
63 381 410
2 234
159 005
17
Candy Crush Saga
62 966 605
77 205
55 503
18
Will Smith
62 946 209
29 617
569 765
19
Linkin Park
60 200 415
20 134
144 795
20
Beyoncé
57 198 586
39 713
276 087
21
FC Barcelona
56 627 438
105 022
83 384
22
Bob Marley
56 542 879
82 057
560 644
23
Selena Gomez
56 270 929
34 131
244 902
24
Taylor Swift
55 694 823
64 287
43 974
25
Family Guy
55 443 491
7 680
60 235
Bron: Eigen creatie o.b.v. Inside Facebook, 2014
10
Tabel 4: Populairste Twitter accounts op basis van aantal volgers Position
Name
Followers
Tweets
1
Kate Perry
52 720 934
5 448
2
Justin Bieber
50 209 073
26 237
3
Barack Obama
41 853 512
1 119
4
Lady Gaga
40 078 171
4 427
5
Youtube
40 719 343
10 011
6
Taylor Swift
39 510 637
2 158
7
Britney Spears
36 532 924
3 618
8
Rihanna
34 532 568
8 813
9
Justin Timberlake
31 143 143
2 202
10
Instagram
31 137 250
4 803
11
Twitter
29 439 170
1 737
12
Ellen DeGeneres
27 668 829
8 557
13
Jennifer Lopze
26 819 715
2 964
14
Christiano Ronaldo
25 054 914
1 825
15
Shakira
24 230 698
2 396
16
Oprah Winfrey
23 394 257
8 546
17
Pink
22 785 390
5 338
18
Demi Lovato
21 260 138
10 878
19
Kim Kardashian
19 950 785
16 942
20
Harry Styles
19 835 556
467
21
Adele
19 722 188
204
22
Senena Gomez
18 812 332
3 166
23
Alicia Keys
18 518 478
4 686
24
Kaka
18 248 155
3 367
25
One Direction
18 155 382
6 427
26
Bruno Mars
17 996 054
3 063
27
Niall Horan
17 643 383
8 932
28
Miley Ray Cyrus
17 581 279
7 057
29
Nicki Minaj
17 490 170
26 043
30
Eminem
17 455 369 Bron: Eigen creatie o.b.v. Twitter, 2014
325
11
Tabel 5: Populairste Youtube kanalen op basis van aantal views Position
Name
Video Views
1
Rihanna VEVO
4 844 768 719
2
Machinima
4 831 141 479
3
Muyap
4 736 694 054
4
Justin Bieber VEVO
4 675 671 611
5
Universal Music Group
6
Pew Die Pie
3 954 781 173
7
Official PSY
3 576 730 244
8
Eminem VEVO
3 395 736 814
9
Smosh
3 080 383 199
10
IGN entertainment
3 071 304 070
11
Expert Village
2 937 432 472
12
Atlantic Videos
2 915 264 480
13
Rooster Teeth
2 863 198 850
14
Katy Perry VEVO
2 831 858 256
15
Lady Gaga VEVO
2 747 292 574
16
Shakira VEVO
2 745 099 544
17
The Ellen Show
2 700 525 125
18
Ray William Johnson
2 665 720 377
19
One Direction VEVO
2 644 423 158
20
Beyoncé VEVO
2 608 373 352
21
Blue Xephos
2 434 281 281
22
Spinnin Rec
2 427 045 664
23
College humor
2 403 931 462
24
Ultra Records
2 364 796 913
25
Pitbull VEVO
2 285 857 800
26
Fueled by Ramen
2 260 389 682
27
Elektra Records
2 155 341 254
28
Kontor
2 096 119 534
29
NBA
2 017 211 306
30
Real annoying orange
2 015 348 005
Bron: Eigen creatie o.b.v. Youtube, 2014
12
Een ander opmerkelijk feit is dat in verschillende landen de lokale artiesten ook ontzettend populair zijn. Deze artiesten brengen vaak nummers uit in hun moedertaal of focussen sterk op de inheemse markt. Belgische voorbeelden zijn Clouseau, bepaalde schlagerzangers of Regi & Milk Inc. Het aandeel van lokale artiesten kan hoog oplopen in bepaalde landen. Aziatische markten zijn zeer gehecht aan lokale artiesten. Maar ook dichter bij huis treft men dergelijke trend aan. Zo bestond de top 10 in Italië, Spanje en Zweden bijvoorbeeld voor maar liefst 80% uit lokale artiesten. In Duitsland bedroeg dit ongeveer 70%, in Frankrijk iets meer dan 60%. (IFPI, 2012)
1.3. Lancering van nieuwe artiesten Het is natuurlijk de droom van elk platenlabel om een nieuwe superster te ontdekken. Er wordt veel ingezet op de zoektocht naar nieuw talent, maar eens een artiest met potentieel gevonden is, moet er nog heel wat gebeuren. De investeringen m.b.t. jonge artiesten worden algemeen verspreid over een aantal activiteiten. De verschillende takenpaketten worden overzichtelijk weergegeven, in tabel 6 (inc. Bijhorend budget). Omdat goede artiesten nog steeds dun gezaaid zijn, worden vaak dikke premies uitbetaald om beloftevolle artiesten te binden aan het productiehuis. Dit valt onder de eerste categorie advance en bedraagt standaard 200 000 dollar. Dit is een soort tekenbonus of voorschot dat de artiest toelaat om zijn dagelijkse job op te geven en toch een bepaalde periode te kunnen overbruggen, terwijl deze focust op het schrijven en componeren van nieuw materiaal. De tweede en derde kostenpost spreken voor zich. Het opnemen van de muziek in de studio en het maken van de bijhorende videoclipjes dient ook gefinancierd te worden. Vooral de kost van dit laatste valt moeilijk in te schatten. Dit zal variëren naargelang de pracht en praal van de clips. Popacts vereisen meestal duurdere videoclips, waar rockacts het meestal soberder houden. Vervolgens moeten de artiesten op tournee om het nieuwe materiaal (een album of mixtape) te promoten en aan de man te brengen. Hier geldt het tegenovergestelde. De ondersteuning van een rock-act vereist meer muzikale en technische expertise dan deze van lichtere pop. Opmerkelijk is dat het grootste budget gaat naar de post marketing en promotie. Deze kan tot een derde van de totale investeringen innemen, de welke tussen de 750 000 en 1,4 miljoen dollar bedragen.
13
Tabel 6: Overzicht investeringen Advance
$200 000
Recording
$200 000–300 000
Two or Three Videos
$50 000–300 000
Tour Support Marketing and Promotion Total
$100 000 $200 000–500 000 $750 000–1,4 Million
Bron: IFPI, 2014
1.4. Best verkopende artiesten Eens de artiesten genoeg bekendheid verworven hebben, begint de investering te renderen. De platenlabels hopen natuurlijk op een internationale doorbraak en explosieve verkoopcijfers. Tabel 7 geeft de top 10 weer van best verkochte albums wereldwijd in 2013. Er werd zowel rekening gehouden met verkoopcijfers van fysieke distributiekanalen zoals muziekwinkels, als digitale downloads. De Britse boyband One Direction staat helemaal bovenaan. Hun album ‘Midnight Memories’ passeerden maar liefst 4 miljoen keer over de toonbank. Alle stijlen zijn vertegenwoordigd in de top 10, van rapper Eminem tot de crooner Michael Bublé of het Franse Dance-duo Daft Punk. Naast een top 10 voor albums, wordt er ook een top tien opgesteld op basis van digitale verkoopscijfers voor singels, weergegeven in tabel 8. Enkel digitale verkopen werden in rekening gebracht. Slechts vier van de tien artiesten uit de vorige top 10 van albums, hebben ook een single in deze tweede lijst staan. Deze zijn: Katy Perry, Daft Punk, Imagine Dragons en Bruno Mars. ‘Blurred Lines’ van Robin Thicke, de nummer een in deze lijst, werd 14,8 miljoen keer gedownload. Deze lijsten houden geen rekening met beluisteringen op streamingservices zoals Spotify of Deezer. Ook illegale downloads werden niet geteld.
14
Tabel 7: Best verkochte albums wereldwijd 2013
Bron: IFPI, 2014
Tabel 8: Best verkochte singles wereldwijd 2013 (digitaal)
Bron IFPI, 2014
15
Wanneer men dezelfde lijstjes opvraagt specifiek voor België, duiken veel artiesten opnieuw op in de top 10. Deze worden weergegeven in tabel 9 en tabel 10. Het valt echter op dat in de top 10 van best verkochte albums, maar liefst vier Belgische artiesten staan. Stromae staat zelfs helemaal bovenaan de lijst. De andere Belgische artiesten in deze top zijn The Broken Circle Breakdown Bluegrass Band (met Veerle Baetens), Axelle Red en Ozark Henry. Verder neigt de Belgische top meer naar de rock kant, terwijl in de wereldwijde top 10 naast Imagine Dragons geen enkele rockact terug te vinden was. De best verkochte singels in ons land (deze keer niet enkel digitaal, maar ook fysieke verkopen) zijn zeer gelijkaardig aan de wereldwijde top. Enkel Stromae, Martin Garrix en Bastille zijn nieuw. De volgorde is wel omgegooid. Indien men zou kunnen voorspellen welke artiesten volgend jaar in deze top 10 gaan verschijnen, zouden platenlabels hierop kunnen inspelen. Men kan gerichter investeren en artiesten met het grootste potentieel nauwkeuriger begeleiden. Het is dan ook niet verassend dat de muziekindustrie reeds verschillende stappen heeft gezet om op verscheidene manieren de populariteit van nieuwe artiesten in te schatten. Er kan gewerkt worden met demo’s, testgroepen of nieuwe artiesten aantrekken die op Youtube populaire coversongs brengen. Een andere mogelijkheid is om naar het lied zelf te kijken. Op basis van verscheidene karakteristieken zou men kunnen besluiten of een bepaald liedje veel of weinig kans heeft om binnen de tijdsgeest aan te slaan bij het grote publiek. Dit is momenteel nog grotendeels gebaseerd op fingerspitzengefühl van enkele kenners en scouts van de platenlabels. De beruchte Simon Cowell (o.a. jury lid en bedenker van Idols) is hier een voorbeeld van. Hij heeft naar eigen zeggen een voorgevoel of iets zal aanslaan of niet.
16
Tabel 9: Best verkochte albums België
Positie 1 2 3 4 5 6 7 8 9 10
# weken Label & Distributor HP Weken op 1
Artiest - Titel Stromae - Racine Carrée
Mercury - Universal
1
17
8
The Broken Circle Breakdown Bluegrass Band - The Broken Circle Breakdown
Universal - Universal 1
51
6
Daft Punk - Random Acces Memories
Colombia - Sony
1
31
4
Naive - Warner
1
43
1
Atlantic - Warner
4
51
Parlophone - Warner 1
Axelle Red - Rouge Ardent Bruno Mars - Unorthodox Jukebox Ozark Henry - Stay Gold
35
1
Pias - Pias
1
25
4
XL - V2
2
51
Nick Cave & The Bad Seeds - Push The Sky Away
Bad Seed - Pias
1
44
2
David Bowie - The Next Day
Colombia - Sony
1
39
5
Editors - The Weight Of Your Love Adele - 21
Bron: Ultratop 50, 2014
Tabel 10: Best verkochte singles België
Positie 1 2 3 4 5 6 7 8 9 10
# weken Label & Distributor HP Weken op 1
Artiest - Titel Avicci - Wake me up!
Universal - Universal
Daft Punk ft. Pharell Williams - Get Lucky
1
26
5
Columbia - Sony
1
24
6
Interscope - Universal
1
30
3
541 News - News
1
23
9
Macklemore & Ryan Lewis feat. Ray Dalton - Can't hold us
Macklemore - Warner 2
27
Macklemore & Ryan Lewis feat. Wanz - Thrift Shop
Macklemore - Warner 1
Robin Thicke ft. T.I. + Pharell - Blurred Lines Martin Garrix - Animals
Stromae - Formidable Will.i.am & Britney Spears - Scream & Shout Stromae - Papaoutai
29
8
Mercury - Universal
1
28
1
Interscope - Universal
1
26
6
Mercury - Universal
3
31
Virgin - Universal
3
24
Bastille - Pompeii
Bron: Ultratop50, 2014
17
2. HIT SONG SCIENCE
2.1. Algemeen kader Momenteel wordt het ontdekken van nieuwe artiesten en het beoordelen van nieuwe liedjes dus nog grotendeels gedaan volgens op buikgevoel. In een wereld gedomineerd door cijfers en feiten kan hier echter in de nabije toekomst wel eens verandering in komen. Men kan het vergelijken met de filmklassieker Moneyball (2011), met Brad Pitt in de hoofdrol. De film vertelt het verhaal van een lokaal baseballclubje, de Oakland Athletics, dat op basis van spelerstatistieken, de beste ploeg weet samen te stellen met een beperkt budget. Zonder uit te wijden over de technische details omtrent baseball, kan de analogie wel gemakkelijk vertaald worden naar het onderwerp van dit onderzoek. In plaats van te zoeken naar de beste slagman met een hoge batting rate, wordt er nu gezocht naar het lied met de hoogste kans om een hit te worden. Het onderwerp van deze thesis situeert zich binnen de tak van de wetenschap die in academische kringen het label van MIR krijgt, Music Information Retrieval. Dit is een multidisciplinair onderzoeksdomein dat gebaseerd is op verschillende technieken uit andere wetenschappen zoals computerwetenschap, statistiek en datamining, maar ook musicologie e.d.m. (Downie, 2003). Hoewel dit bij het grote publiek misschien niet zo bekend is, gebruiken we dagelijks toepassingen gebaseerd op MIR-systemen. Voorbeelden hiervan zijn audiozoekmachines zoals Shazam of de rubriek met aanbevolen artiesten van Last.FM en Spotify (Bello, 2012). Dit werk focust echter op het subdomein Hit Song Science (HSS). Een Franse onderzoeker van het Sony Computer Science Laboratory, François Pachet, definieerde deze wetenschap als ‘an emerging field of science that aims at predicting the success of songs before they are released on the market’ (Pachet, 2011, p.304). Het feit dat een computerprogramma zou kunnen voorspellen of een song een hit wordt of niet, spreekt natuurlijk tot de verbeelding. Enkele grote nieuwskanalen zoals BBC (2011), NBC en Wired Magazine pikten dit onderwerp dan ook vlug op. Vervolgens vond het thema zijn weg naar de ontspanningsindustrie waar verschillende bedrijven deze wetenschap trachten toe te passen in de praktijk. Twee websites die een dergelijke dienst aanbieden zijn tunehog.com en score-a-hit.com. Hoewel dergelijke sites wel 18
beweren een werkend algoritme te hebben om een liedje te klasseren als een hit of niet, geven ze niet veel achtergrondinformatie van hun geheime formule prijs. Niet enkel in het bedrijfsleven is het thema van Hit Song Science doorgebroken. Ook in academische kringen wordt er sinds kort, in beperkte mate, onderzoek gedaan naar een systeem dat hits kan voorspellen. De literatuur is echter niet unaniem over het feit dat dergelijke algoritmes überhaupt mogelijk zouden zijn. In volgende paragrafen worden de voornaamste onderzoeken betreffende Hit Prediction en Hit Song Science overlopen.
2.2. Academische basis 2.2.1. Grondleggers Het eerste onderzoek dat op basis van wetenschappelijke analyse muzikale hits trachtte te identificeren, werd uitgevoerd door twee onderzoekers, Dhanaraj & Logan (2005), van het HPonderzoekscentrum in Cambridge. De opzet was om een automatisch systeem te ontwerpen dat hits kon herkennen op basis van enerzijds de intrinsieke muzikale kenmerken en anderzijds de liedjestekst. Als statistische werktuig gebruikten ze onder andere het trainen van Support Vector Machine (SVM) Classifiers, hetwelk later in dit werk nog aan bod zal komen. Het beste resultaat werd bekomen met een model dat een oppervlakte onder de ROC-cruve (i.e. AUC) had van 0,68. Op zich niet slecht en zeker significant beter dan een willekeurige classificatie. Toch zijn er ook tekortkomingen. Zo werd er enkel gewerkt met nummer 1 hits, terwijl een song die drie maanden lang op positie twee blijft steken toch ook als een geslaagde hit beschouwd kan worden. Een recent voorbeeld hiervan is het nummer Papaoutai van onze landgenoot Stromae, dat piekte op nummer 3, maar wel platinum haalde (Ultratop 50, 2013). Hierbij komt het feit dat onderzoekers Dhanaraj & Logan slechts voor 91 songs zowel de akoestische gegevens als de teksten te pakken hebben gekregen (Dhanaraj & Logan, 2005). Dit is duidelijk een te beperkte steekproef om een veralgemeend besluit te trekken. Toch is het onderzoek van deze twee pioniers de basis geweest voor de Hit Song Science.
19
2.2.2. Preferential attachment Niet enkel in de muziek is er sprake van hits, maar ook in andere amusementssectoren zijn er steeds producten die beter presteren dan andere. Voorbeelden hiervan zijn de bestseller Fifty Shades Of Grey van de Britse auteur E. L. James of IronMan 3, die maar liefst 174 144 585 dollar ophaalde in het openingsweekend (BoxOfficeMojo, 2013). Om de voorspelbaarheid van amusementsproducten te onderzoeken, lanceerde Princeton University het project, Succes and failure in cultural markets (Salganik et al., 2006). Het onderzoek bestond uit een experiment waarbij elk van de 27.267 testpersonen apart, uit een database van 48 liedjes moest aanduiden welke hij goed vond en welke niet door ze allemaal een score te geven. Het experiment was opgedeeld in een individuele fase waarbij elk liedje zonder enige voorkennis op het testsubject werd losgelaten en een tweede fase waarbij bepaalde liedjes een fictief beoordelingscijfer hadden gekregen, alvorens de tweede testgroep zelf hun score kon ingeven. Op deze manier werd de invloed van deze voorgeschiedenis getest. Laat men zich beïnvloeden door deze fictieve rating of niet? Het besluit van Salganik en zijn team luidde: ‘Increasing the strength of social influence increased both inequality and unpredictability of success. Success was also only partly determined by quality: The best songs rarely did poorly, and the worst rarely did well, but any other result was possible.’ (Salganik et al., 2006, p. 2). De ranking die de subjecten in de eerste individuele fase maakte, reflecteerden de intrinsieke kwaliteit van de liedjes relatief goed. De tweede fase met voorgeschiedenis werd echter sterk beïnvloed door de valse scores die de onderzoekers voordien zelf hadden ingegeven. Het evenwicht werd wel enigszins terug hersteld, maar een significant verschil bleef merkbaar. Dit rich-get-richer-effect of het feit dat de songs met een voorgeschiedenis van een hoge beoordeling vaak beter presteren, wordt ook wel preferential attachment genoemd. Hoewel dit kuddegedrag niet meteen goed nieuws is voor de analytische hit prediction modellen, moeten we alle toekomstige pogingen niet meteen afschieten. Het onderzoek toont ook dat kwaliteit zelden slecht presteert en slechte songs wel degelijk negatiever scoren. Ook het aspect van de voorgeprogrammeerde rating kan zijn functie hebben in de voorspellingsmodellen. Zo bestaat de kans dat enkele individuen een sociale signaalfunctie hebben. Deze muzikale trendsetters kunnen gezien worden als equivalent aan de programmeurs die bij het experiment bepaalde songs een positieve rating toebedeelden alvorens ze op het testpubliek los te laten. Deze denkpiste zal later in deze verhandeling verder onderzocht worden.
20
2.2.3. Not yet a science? In 2008 trachtte onderzoeker Patchet het werk van de eerder vernoemde studie van Dhanaraj & Logan verder te zetten. Zijn experiment bleek echter niet in staat om de eerder vernoemde vaststellingen te valideren. Hoewel Patchets model de populariteit van songs niet kon voorspellen, was het wel mogelijk om liedjes te klasseren op basis van andere kenmerken zoals genre of gemoedstoestand. De onderzoeker besluit hieruit dat de kenmerken die hij gebruikte in het model om populariteit te voorspellen, niet voldoende relevant zijn. Hij oppert dat hiervoor andere voorspellers gezocht moeten worden. Patchet vat zijn besluit kernachtig samen in volgend citaat: ‘However, more work remains to be done to understand the features of subjectivity,…, Hit Song Science is not yet a science, but a wide open field’. (Patchet, 2008, p. 6). Vervolgens wordt er op verschillende fronten verder onderzoek gedaan naar relevante voorspellers van populariteit. Nicholas Borg and George Hokkanen (2011) slaagden er echter ook niet in om een set van variabelen aan te duiden die het aantal Youtube-views, gebruikt als proxy voor populariteit, kan voorspellen.
2.2.4. Once again a science? In de dialoog opgestart door Dhanaraj & Logan is het dus nog steeds zoeken naar een algemene methodologie, een framework, dat op basis van representatieve analytische resultaten bewijst dat het mogelijk is om hits te voorspellen. Als reactie op het citaat van Patchet, publiceerde enkele onderzoekers van het Intelligent Systems Lab te Bristol, in samenwerking met Raul Santos-Rodriguez van de Universidad Carlos III de Madrid, een artikel met de titel: ‘Hit Song Science Once Again a Science?’ (2011). De paper beweert dat het d.m.v. een relevante set van features of kenmerken, wel hits kan voorspellen. Hoewel het document slechts 2 bladzijden lang is, worden er wel interessante concepten aangehaald. Zo wordt er niet langer slechts met nummer 1 hits gewerkt, of een youtube-views-proxy om populariteit te meten. Er wordt daarentegen een grote lijst gemaakt van de Britse hitlijst van de afgelopen jaren. De singles die een hoogste notering in de top 5 halen, krijgen het label hit, terwijl de singels die blijven steken op een hoogste positie in de onderste regionen van de lijst, i.e. tussen plaats 40 en 30, als non-hits gemarkeerd worden. Ook het probleem om aan
21
features te komen die relevant zijn, wordt opgelost. Men werkt met kenmerken van The Echonest, een toenmalig nieuw concept dat vandaag uitgegroeid is tot een algemeen begrip binnen de MIR-wetenschap. The Echonest is een gigantische database die enorm veel kenmerken bevat, zowel muzikale als meta- kenmerken, van massa’s liedjes. Tenslotte voegden de onderzoekers een tijdscomponent toe aan het onderzoek, aangezien muzikale smaak over de jaren heen sterk geëvolueerd is. Hoewel het rapport heel oppervlakkig is en vanuit academisch perspectief veelal triviaal lijkt, zijn de aangehaalde concepten wel relevant en dienden ze als basis voor verder onderzoek naar Hit Song Science en Hit Prediction. Tijdens het schrijven van dit onderzoek werd bekendgemaakt dat The Echonest opgekocht is door Spotify. Men benadrukte echter dat de databases en API open source blijven en dat externe partijen hiervan gratis gebruik van kunnen blijven maken.. Onderzoekers kunnen zich dus in de toekomst verder beroepen op The Echonest. Het recentste onderzoek werd gevoerd door Dorien Herremans, Davind Martens en Kenneth Sörensen, onderzoekers aan de Universiteit Antwerpen, departement Operations Research en Toegepast Data Mining onderzoek, in 2013. Dit is tevens het meest recente onderzoek dat in deze tak van de wetenschap werd uitgevoerd.
2.2.5 Resultaten van Dance Hit Song Prediction De paper van Herremans & Martens combineerde de sterkste aspecten van de voorgaande studies binnen het domein van de HSS en voerde enkele nieuwe elementen toe, daar waar de meeste papers qua methodologie tekort schoten. Het eerste en tevens belangrijkste vernieuwende aspect blijkt meteen uit de titel van de paper, nl. Dance Hit Song Prediction. Er wordt gefocust op één subgenre van de commerciële muziek, dance. Dit komt de representativiteit van het model ten goede. Aangezien er maar op één genre gefocust wordt, zal het model niet onterecht hoog scoren door een verdoken genre classificatie. Dit effect was bij de andere onderzoeken onderliggend wel aanwezig. Een kort fictief voorbeeld zal dit effect duidelijk maken. Stel dat over het algemeen hip-hop songs vaker in charts verschijnen dan de iets alternatieve rock nummers. Het systeem zal dit effect aanleren en bijgevolg alle rock nummers systematisch een lagere waarschijnlijkheid geven om een hit te worden, onafhankelijk van de intrinsieke kwaliteit van het nummer. Als we dit
22
veralgemenen naar alle genres zal het systeem veeleer focussen op het klasseren van genres, terwijl de bedoeling van het onderzoek is, om op basis van de kwaliteit van de songs, voorspellingen te gaan maken over de aparte liedjes. Indien men, zoals in het onderzoek van Herremans (2013), gefocust is op één genre, zal dit genre-effect niet langer wegen op het model. De focus op Dance heeft als gevolg dat de parameters die als significante voorspellers aangeduid worden, relevanter zullen zijn. Het is niet moeilijk in te zien dat bij rocknummers andere aspecten zullen bijdragen tot de populariteit van het nummer dan bij bijvoorbeeld dancesongs. Uit het onderzoek bleek bijvoorbeeld dat de parameter beatdiff, de tussentijd tussen twee opeenvolgende beats, een significant intrinsiek kenmerk is van een song om de populariteit ervan te voorspellen bij dancesongs (Herremans, 2013). Bij rock, pop of andere genres zou dit misschien helemaal niét relevant zijn waardoor in een onderzoek dat niet gefilterd is op genre, deze parameter zou vervagen in gemiddeldes van de steekproef. De dataset die aan de basis van het onderzoek lag, werd op verschillende stappen samengebracht. Twee websites met hitlijsten werden geparsed naar een overzichtelijk document dat de artiest, nummer, top positie en aantal weken bevat. Deze informatie bepaalt de populariteit van de song. De manier waarop hits worden afgezet tegen non-hits werd op drie verschillende manier doorgevoerd. De dataset met de beste resultaten kwam echter tot stand na een opdeling als volgt. Liedjes die een hoogste positie laten noteren in de top 10, werden beschouwd als hits. Nummers die blijven steken op een hoogste positie in de laagste regionen (top 30-40) werden als niet-hits gelabeled. Vervolgens werd op basis van de uitvoerder en de songtitel een link gelegd met de databse van The Echonest. Zoals reeds aangehaald werd in de paper ‘Hit Song Science Once Again a Science?’ is deze database zeer accuraat en wordt het binnen het domein van de MIR aanvaard als standaard procedure (Herremans, 2013). Alle data werd gestandaardiseerd. Verschillende features werden opzettelijk niet weerhouden opdat de curse of dimentionality vermeden zou worden. Resultaat van de feature selection was een totaal van 35-50 kenmerken i.p.v. de originiele 149. Tenslotte voerde de onderzoekers de eigenlijke classificatie uit, op basis van vijf verschillende technieken, dewelke later in dit werk nog uitvoerig besproken zullen worden, nl. een beslissingsboom, een ruleset, een naive Bayes classificatie, een logistieke regressie en een
23
support vector machine classificatie. De validatie werd op basis van het 10CV (10-fold cross validation) uitgevoerd. De resultaten van de verschillende methoden werden overzichtelijk gebundeld en vergeleken op basis van nauwkeurigheid en AUC. Het model dat over het algemeen het beste presteerde was dit op basis van de logistieke regressie (Herremans, 2013). Het algemene besluit van het onderzoek luidde: ‘Multiple models were built that can successfully predict if a dance song is going to be a top 10 hit versus a lower positioned dance song, …, An interesting future expansion would be to improve the accuracy of the model by including more features such as ... social network information.’ (Herremans, 2013) Hierop zal verder gebouwd worden tijdens de analyse-fase van dit werk. De theoretische achtergrond omtrent de verschillende technieken zal in een volgend hoofdstuk kort toegelicht worden.
2.3. Sociale media 2.3.1. User generated content Buiten het academisch milieu wordt er ook volop gezocht naar een manier om hit songs te voorspellen. Op de site Sidewinder.fm publiceren Hu en Buli (2012) een artikel over de impact van sociale media op de verkoop van singles en albums. Hoewel dit niet volledig hetzelfde is als de reeds vernoemde onderzoeken, kan het wel relevant zijn als men terugdenkt aan het onderzoek van Salganik (2006) en het preferential attachment argument. Zo blijkt bijvoorbeeld dat de verkoopcijfers van singles gecorreleerd zijn met de air time op de radio, het aantal likes op Facebook en het aantal vieuws op Youtube (Hu & Buli, 2012). Dit ondersteunt de hypothese van Salganik. Een artiest die in eerste instantie al veel likes krijgt op Facebook, heeft meer kans om een hit te scoren en veel plaatjes te verkopen. Andere sociale media blijken ook hun nut te bewijzen als men hit songs wil voorspellen. Een eerste voor de hand liggend kanaal is Shazam. Dit is een bekend social media platform dat focust op muziekbeleving. Op basis van een opgenomen sample van je smartphone, kan Shazam analyseren van welke song het stukje afkomstig is. Een handige app als je op tv, op de radio of op een festival een onbekend nummertje hoort dat je graag aan je mp3-bilbiotheek zou willen toevoegen. De link met HSS is snel gemaakt. Zo vertelt Will Mills, VP van de afdeling Music & Content bij Shazam dat ‘Up to 85% of the songs that get to number one Shazam’s Tag
24
Charts, go on to break nationally, making it one of the most accurate predictive measures for success’ (Fort Mill Times, 2013). Shazam geeft hieromtrent echter niet alle gegevens vrij. Verschillende onderzoekers hebben reeds de verkoop van singles en albums trachten te voorspellen op basis van dergelijke user generated content. Verscheidene studies hebben aangetoond dat deze informatie een zeer relevante meerwaarde kan bieden om zo het gedrag, voorkeur en mening van de klant beter te kunnen begrijpen. (Hinz & al., 2011, Decker & Trusov, 2010, Godes & Mayzlin, 2004) Deze onderzoeken situeerden zich echter vooral binnen E-commerce en marketing analytics. Ook concreter toegepast op HSS zijn er enkele relevante publicaties over de voorspellingskracht van sociale media. Chen & Chellappa (2009) onderzochten de invloed van MySpace plays van een liedje, op de single- en album verkoop van de bijhorende artiest. Het besluit was dat de informatie wel degelijk een relevante predictor was. MySpace krijgt echter rake klappen en verliest veel leden aan Facebook en Twitter (Barnett, 2011). Deze predictor heeft anno 2014 bijgevolg aan relevantie verloren. Zowel Dewan & Ramprapasad (2009) als Dhar & Chang (2009) stelden een model op dat gebaseerd is op activiteit en vernoeming op muziekblogs om toekomstige verkoopcijfers van albums en singles te voorspellen. Het laatst vermelde onderzoek analyseerde de evolutie van de conversaties op deze blogs omtrent 108 albums in de 4 weken voor en na de albumrelease. Het resultaat bleek dat de hoeveelheid van artikels over het album of single, wel degelijk gecorreleerd was aan het aantal verkopen dat na de release gerealiseerd werd. Naast deze parameter van blogs, was het uitgevend label met al zijn promotiemateriaal en de scores van gerenommeerde magazines zoals Rolling Stone Magazine, ook belangrijk. Hann, Oh & James (2011) baseerden zich op cijfers van peer-to-peer-netwerken om voorspellingen te maken betreffende album verkoop. Een correlatie werd vastgesteld tussen het aantal downloads, enkele dagen voor release en de uiteindelijke verkoopcijfers na release. Er werd ook rekening gehouden met andere factoren zoals naambekendheid van de artiest, aantal commentaren op Youtube en airtime op de radio. De voorspellingsresultaten werden nauwkeuriger naarmate men de releasedatum benaderde, de hype bereikt een maximum bij releasedatum, zowel voor downloaders als voor chatter op sociale media. Ook het eerder vernoemde Shazam blijft als hit-predictor niet ononderzocht. Twee onderzoekers van de Technical University van Darmstadt concludeerden dat op basis van
25
vrijgegeven cijfermateriaal, Shazam charts de eigenlijke verkoop twee weken voor zijn. (Hinz et al. 2012) Er werd ook een verband vastgesteld met het aantal eerder verkochte albums. Een grote tekortkoming is dat het model enkel kan werken met liedjes die reeds vier weken voor officiële release in de Shazam database voorkomen en ook geshazammed worden ten gevolge van promotie op festivals, radiozenders of televisie.
2.3.2. Last.FM Een laatste gigant binnen het sociale media gebeuren, specifiek toegepast op muziek, is Last.FM. Op de homepage wordt Last.FM omschreven als ‘a music discovery service that gives you personalised recommendations based on the music you listen to’. (Last.FM, 2013) De stap naar HSS is snel gemaakt. Zo hebben twee onderzoekers reeds kleinschalig onderzocht hoe Last.FM in het plaatje van hit prediction zou passen. Hoewel Last.FM een redelijk populaire sociale media-website is, behoeft het concept achter de website iets meer uitleg. Last.FM is een website die het sociale aspect van muziekbeleving naar het internet brengt. Het achterliggend bedrijf werd opgericht in 2002 in het Verenigd Koningkrijk. De website laat gebruikers o.a. toe om een profiel aan te maken, zich op te delen in groepen en met andere gebruikers te praten over muziek. De dienst is gratis te gebruiken en vereist slechts de installatie van een klein programmatje, de scrobbler. Dit programma houdt bij welke liedjes je hebt beluisterd (incl. timestamp) en stuurt deze door naar de centrale database. Deze herkenning van de mp3-bestanden gebeurt op basis van een ID3-tag. Dus niet op basis van de geluidsgolven zelf, hetgeen bij bv. Shazam wel het geval is. Het ID3-label bevat metainformatie over de mp3-file zoals artiest, titel, album, etc. Op deze manier wordt er een luistergeschiedenis bijgehouden van alle gebruikers. Dit automatisch herkennen van de ID3-tag en het doorsturen van de informatie per beluistering noemt men een scrobble. Op basis van deze historiek wordt er automatisch aanbevelingen gedaan van nieuwe artiesten, worden gebruikers met gelijkaardige muzieksmaak gevonden en kan men een lijst met interessante events in de buurt bekomen, allemaal persoonlijk afgestemd op jouw muzieksmaak. Er worden ook statistieken bijgehouden van meest beluisterde artiest, liedje en genre per week etc. Deze gegevens zijn publiek beschikbaar op de profielpagina van de gebruiker.
26
De mogelijkheden van de website zijn zeer uitgebreid. Zo is er ook een radio die een continue stroom van liedjes generereert op basis van je luistergeschiedenis. Voor dit onderzoek echter is vooral de API belangrijk. Door middel van verschillende commando’s kan er gecommuniceerd worden met de database en kunnen onderzoekers alle informatie die beschikbaar gesteld wordt extracteren en vervolgens gebruiken voor analyses. In de volgende hoofdstukken zal dieper ingegaan worden op de technische kant van de informatie-extractie en de verwerking. Het behoeft geen verdere uitleg dat deze sociale website een schat van informatie bevat voor HSS. Een eerste onderzoek o.b.v. deze website, werd gevoerd door Bischoff (2009), voor de regio’s USA, UK en Australië, met veelbelovende resultaten met AUC’s van 0.883. Er werd echter geen rekening gehouden met verschillende genres en wederom enkel de nummer 1 hits werden als hit beschouwd. Ook werd er geen rekening gehouden met genreclassificatie om een bevooroordeeld model te vermijden.
2.4. Innovators & early adaptors Tijdens een zeer grondige literatuurstudie kwam echter nog een tweede onderzoek naar boven dat eveneens gebaseerd was op de website Last.FM. Een student, Marvin Smit, aan de Universiteit Nijmegen, departement Artificiële Intelligentie, had dergelijk materie onderzocht als eindwerk. De onderzoeker opperde de mogelijkheid dat: ‘There are people … with some sort of sixth sense for hit songs, such that they listen to hit songs even before they actually climb to the top of the record charts.’ (Smit, 2013, p.3) De student ondersteunde deze hypothese echter niet door enige theoretische omkadering in de literatuur. Het bestaan van dergelijke individuen kan echter wel gekoppeld worden aan een zeer populaire economische theorie, nl. het toonaangevende werk van Rogers, Diffusion of Innovations (1962). Deze definiëerde verschillende types consumenten die elk verschillend omgaan met innovatie en nieuwheid. In het kader van dit werk kan een nieuwe hitsong gedefinieerd worden als innovatie. Figuur 6 geeft een verdeling weer van de totale bevolking over de verschillende categorieën. Hoe meer naar links men opschuift, hoe vroeger men nieuwigheden oppikt. Aangzien de opzet is om succes te voorspellen, zullen vooral de eerste 2 categorieën belangrijk zijn en fungeren
27
als trendzetters. De originele definitie van deze twee klassen, geformuleerd door Rogers zelf, wordt eveneens weergegeven. Figuur 6: Rogers verdeling van consumenten op de innovatiecurve
Bron: Rogers, 1962 ‘Innovators are the first individuals to adopt an innovation. Innovators are willing to take risks, youngest in age, have the highest social class, have great financial liquidity, are very social and have closest contact to scientific sources and interaction with other innovators. Risk tolerance has them adopting technologies which may ultimately fail. Financial resources help absorb these failures.’ (Rogers, 1962, p. 282) ‘Early adopters are the second fastest category of individuals whom adopt an innovation. These individuals have the highest degree of opinion leadership among the other adopter categories. Early adopters are typically younger in age, have a higher social status, have more financial liquidity, advanced education, and are more socially forward than late adopters. More discrete in adoption choices than innovators. Realize judicious choice of adoption will help them maintain central communication position’. (Rogers, 1962, p. 283) Een kenmerk dat in beide gevallen terugkomt is dat de individuen, sociale, jonge opinieleiders zijn. Tevens fungeren ze als spil binnen het communicatieproces. Deze kenmerken passen perfect in het plaatje van sociale media en Last.FM. 28
Terugkomend op de betreffende paper van de Nederlandse student, Smit, kan gesteld worden dat het uitgangspunt gebaseerd is op een goed idee, ook al wordt het in de originele paper niet gedocumenteerd. Over het algemeen echter is het onderzoek en vooral de dataset te kleinschalig. Zo behandelde de student van de Universiteit Nijmegen slechts 5 liedjes voor heel Nederland. De resultaten waren echter wel veelbelovend. Het besluit van de onderzoeker luidde: ‘predictors have a better sense for listening to potential hit songs in comparison to random listeners, …, results provide a clear indication that this research could be taken to the next level.’ (Smit, 2013). Het idee dat er verschillende gebruikers van muziek bestaan werd eveneens onderzocht door een Brits marketing bureau, Emap. De resultaten kunnen gekoppeld worden aan het concept van early adopters van Rogers. Het studiebureau voerde een onderzoek uit naar verschillende types consumenten binnen de muziekindustrie. Het resultaat was een opdeling in vier categorieën: savants, enthousiasts, casuals en indifferents. Men beschreef deze klasses alsvolgt: Savants – for these people everything in life is tied up with music Enthusiasts – music is a key part of life but is balanced with other interests Casuals – music plays a welcoming role, but other things are far more important Indifferents – would not lose much sleep if music ceased to exist
De verdeling van de Britse bevolking over deze klasses wordt weergegeven in figuur 7. Het bureau voerde een eerste onderzoek uit in 2003. Een tweede bevraging gebeurde in 2006. Gedurende deze periode werd een verschuiving vastgesteld van indifferents naar casuals. Er worden dus stillaan meer mensen actief betrokken bij de beleving van muziek. Deze evolutie zette zich naar verluid ook na 2006 verder. Savants en Enthousiasts spenderen gemiddeld meer geld en tijd aan muziek en gaan ook ferventer op zoek naar nieuwe muziek op blogs en fora. Een populaire blogger schatte dat savants en enthousiasts ieder zo’n 100 à 1000 euro per jaar spenderen aan muziek. Dit budget wordt gespreid over aankopen, steamingdiensten, festivals en concerten. Naar analogie met de innovatiecurve van Rogers, kan besloten worden dat de beschrijving van de savants en enthousiasts overeenkomt met wat Rogers classeert als innovators en early adopters. 29
Figuur 7: Verdeling van verschillende typeconsumenten
Bron: Lamere, 2014
2.5. Mens of machine? Er kan gesteld worden dat er tot nu toe vooral twee aparte benaderingen waren, 2 stromingen binnen de HSS. Enerzijds de puur kwalitatieve analyses die rekening houden met musicologische kenmerken, anderzijds de voorspellingen op basis van sociale media en user generated content. Is dit een strijd tussen machine en mens, en indien ja, wie presteert beter? Omtrent deze vraag is er slechts één artikel verschenen. Matthias Seifert & Allègre L. Hadida publiceerden in mei 2013 het artikel ‘3 Humans + 1 Computer = Best Prediction’ in The Harvard Business Review. De opzet van het onderzoek was om computergestuurde modellen uit te spelen tegen de verwachtingen van kenners. Twaalf weken lang werden 180 mensen ondervraagd omtrent voorspellingen naar de hitlijsten toe. Niet enkel de mening van professionals telde mee, maar er waren ook gewone studenten bij deze testgroep. De opmerking dient gemaakt te worden dat het machinale aspect gebaseerd was op simpele modellen. Meer informatie dan ‘software that relies on common statistical tools to analyze a presumed linear relationship’ wordt niet vrijgegeven (Seifert & Hadida, 2013). Ook over de methodologie wordt geen concrete informatie vrijgegeven. Het besluit van het testproject is echter wel opmerkelijk. De beste resultaten werden bekomen wanneer men beide modellen combineerde en een duidelijk overwicht gaf aan de menselijke beoordelingen. Dit summier artikel is de laatste aanzet geweest om de uiteindelijke opzet van
30
dit onderzoek af te lijnen. De 2 stromingen binnen de HSS kunnen op deze manier tegenover elkaar gezet worden. Het machinale aspect kan vertegenwoordigd worden door de klassieke modellen gebaseerd op intrinsieke muzikale kenmerken (vb. Herremans (2013)), terwijl het aspect van de kenners & early adopters vertegenwoordigd kan worden door de user generated content op Last.FM (vb. Smit (2013)). Een concreet overzicht van het concept en de onderzoeksvragen en modellen volgt op volgende bladzijden.
31
3. METHODOLOGIE
3.1. Onderzoeksvraag Kan er een hit prediction model opgesteld worden voor het voorspellen van hit-songs binnen de Belgische hitparades? a) model opstellen op basis van Belgische Ultratop 50 Dance en de Dance Bubbling Under charts gecombineerd met The Echonest kenmerken b) model opstellen op basis van Belgische Ultratop 50 Dance en de Dance Bubbling Under charts gecombineerd met user generated content op sociale media, nl. Last.FM c) Evaluatie van beide modellen construeerd o.b.v. a) en b)
3.2. Concept Zoals de onderzoeksvraag al aangeeft zullen er 2 verschillende modellen gebouwd worden, deze worden eveneens weergegeven op volgende pagina, figuur 8. Een eerste deel zal qua methodologie analoog met de paper Dance Hit Song Prediction van Herremans (2013) opgesteld worden, toegepast op de Vlaamse hitparades voor dance muziek. Voor dit genre heeft men twee aparte lijsten, nl. de Ultratop 50 Dance en de Bubbling Under. De eerste lijst rangschikt per week de 50 best verkochte dance-plaatjes en wordt elke zaterdag geüpdatet. In de Bubbling Under staan de 20 meest veelbelovende songs die de komende week het meeste kans maken om door te breken naar de echte Ultratop 50 Dance. Deze lijst wordt arbitrair opgesteld door experts. De kenners hebben het echter niet altijd bij het rechte eind zo zal blijken, want vele liedjes blijven hangen in de Bubbling Under zonder ooit door te breken naar de echte Ultratop 50 Dance. Alle songs die voorkomen in de hitparades zullen gekoppeld worden aan de database van The Echonest om de muzikale kenmerken van elk liedje te bekomen. Op basis van deze kenmerken zal tenslotte een classificatiemodel opgesteld worden. De verschillende tussenstappen zullen eveneens in detail besproken worden.
32
Er worden verschillende assumpties gemaakt omtrent de definitie van een hit (top 30, top 20 etc.), deze zullen eveneens later besproken worden. De verschillende veronderstellingen geven aanleiding tot verschillende datasets, dewelke allemaal getest worden op voorspellingskracht. De beschreven classificatietechnieken zullen allemaal apart geëvalueerd worden. Er zal ook een onderscheid gemaakt worden op basis van welke kenmerken van The Echonest er gebruikt worden. Sommige kenmerken bevatten immers bepaalde informatie die al dan niet wenselijk is om op te nemen in het model. Het tweede luik werd geinspireerd door het onderzoek van Smit (2013) aan de Universiteit van Nijmegen, maar er werd grondig gesleuteld aan de methodologie om het onderzoek op grotere schaal uit te voeren. De opzet is om binnen de Last.FM community, early adopters voor dance hits te zoeken. Uit de literatuur bleek immers dat bepaalde groepen luisteraars intensiever op zoek gaan naar nieuwe artiesten en hitsongs dan andere. Eerst werd van bepaalde usergroups alle beluisterde tracks opgehaald per user. Er wordt dus een soort van luistergeschiedenis verzameld per gebruiker. Er werd vervolgens een pivottabel opgesteld die per user en per track het aantal beluisteringen bijhoudt, bijvoorbeeld user 5 heeft 3 keer naar liedje 401 geluisterd. Deze tabel kan vervolgens dienen als input voor de verschillende classificatiemechanismen. Welke liedjes nu juist als hit mogen doorgaan wordt vastgelegd op basis van dezelfde lijst als vorig luik, nl. de Ultratop 50 Dance. Op deze manier kunnen beide luiken tegen elkaar uitgespeeld worden. Ook hier zullen alle learning algoritmes aan bod komen. Terugkoppelend naar de literatuurstudie kan gesteld worden dat het eerste model de intrinsieke kenmerken van de liedjes omvat, terwijl het tweede model gebaseerd is op sociale media. Zodoende zijn beide luiken van de HSS onderzocht.
33
Figuur 8: Overzicht modellen
Intrinsieke Kenmerken
Sociale Media
Bron: Eigen Creatie
34
4. THEORETISCHE ACHTERGROND
Aangezien deze thesis binnen de opleiding Handelsingenieur kadert, behoeven enkele termen, die vooral uit de toegepaste statistiek, datamining en computerscience stammen, bijkomende uitleg. De iets technischere kant achter deze technieken zal dan ook in het volgende hoofdstuk aan bod komen, alsook enkele veelgebruikte begrippen en principes. Indien mogelijk zal een voorbeeld gegeven worden, toegepast op de paper van Herremans (2013) of HSS.
4.1. Curse of dimentionality Het probleem met de dimensionaliteit is inherent aan het domein van machine learning en datamining. De vloek houdt in dat een te grote hoeveelheid variabelen een negatief effect heeft op het model. McKay and Fujinaga (2006) omschrijven het probleem als volgt: ‘… too many features can overwhelm classifiers… which suggests that the number of labeled training and testing samples needed increases exponentially with the number of features.’ (McKay & Fujinaga, 2006, p. 2). Dit probleem kan op verschillende manieren aangepakt worden. Het feit dat er, ook in dit onderzoek, gefocust zal worden op het dancegenre is al een eerste oplossing. Dit brengt immers een duidelijkere aflijning mee van wat significant kan/zal zijn en wat niet. Het voorkomt ook het eerder beschreven probleem van genreclassificatie. Aangezien er enkel op dancemuziek gefocust wordt, zal het model niet aangeleerd worden om bepaalde genres systematisch te bevoordelen ten koste van andere. Vervolgens kan het selecteren van enkel de belangrijkste features (i.e. attribute selection) dit probleem ook terugdringen. Dit verhoogt tevens de begrijpbaarheid van het model, aangezien men uiteindelijk slechts een klein aantal zeer significante variabelen overhoudt (Hall, 1999). Tevens leert de literatuur ons dat een learning algoritm doorgaans beter presteert op basis van een kleinere set features. Er moet een keuze gemaakt worden tussen teveel en te weinig variabelen. Teveel variabelen kan het model verwarren. Indien te weinig variabelen geselecteerd worden, moet men inboeten aan verklaringskracht. De vraag is dus wanneer men net genoeg variabele overhoudt zodat men beide
aspecten,
begrijpbaarheid
en
verklaringskracht
optimaal
combineert.
35
4.2. Techniek 1: Beslissingsboom (C4.5 Tree) De beslissingsboom is een schematische voorstelling van een (beperkt) aantal feautures of classificatiecriteria. Toegepast op machine learning en datamining spreekt men meer over een C4.5 algoritme, wat een uitbreiding is van het ID3 algoritme van Quinlan. Het model werkt op basis van specifieke classificatiecriteria op kruispunten of nodes tussen twee beslissingen. Op elke node selecteert het algoritme de feature die het best een afsplitsing maakt tussen beide mogelijkheden. Het evaluatiecriteria om een feature te selecteren is de hoeveelheid information gain die het oplevert. Het kenmerk dat de meeste bijdrage levert qua informatiehoeveelheid wordt geselecteerd. Hierna worden twee aparte subsets gevormd die dan weer elk apart opgesplitst zullen worden tot men een volledige classificatie of beslissing heeft kunnen vormen (Kotsiantis, 2007). Een grafische voorstelling schept hierin duidelijkheid.
Figuur 9: Voorbeeld C4.5 Beslissingsboom
Bron: Herremans, 2013
36
Wanneer het algoritme de boom heeft opgesteld, doorloopt de machine de boom vanaf de wortel opnieuw tot aan de top. Overbodige takken worden gesnoeid (i.e. pruning) zodat de meest efficiënte boom overblijft. De werking van het algoritme kan zeer simpel samengevat worden in pseudocode zoals beschreven door Hardikar (2012). Pseudo Code: 1. Check for base cases. 2. For each attribute ‘a’ calculate: i.Normalized information gain from splitting on attribute ‘a’. 3. Select the best ‘a’ attribute that has highest information gain i. 4. Create a decision node that splits on best of ‘a’ as rot node. 5. Recurs on the sub lists obtained by splitting on best of ‘a’ and add those nodes as children node
4.3. Techniek 2: Rulesets (RIPPER) Een ruleset kan gezien worden als een platgedrukte beslissingsboom. Vaak wordt de ruleset dan ook uitgeschreven als een soort semi-programmeecode. Een formele definitie bestaat niet. Rückert (2008) beschrijft het begrip als volgt: ‘As a general rule of thumb, a learning algorithm which outputs hypotheses containing rules of the form \if condition then target=class can be considered to be a rule learning system’ (Rückert, 2008, p.10). Martens (2008)
stelt
dat
rulesets
en
beslissingsbomen
beide
gemakkelijk
te
begrijpen
classificatiemodellen zijn, door de zeer plastische en linguïstische manier van voorstellen. Zowel de beslissingsboom als de ruleset dienen dan ook vooral om een eerste indruk te krijgen over de materie en de gegevens. Er zullen immers op basis van andere technieken, dewelke later aan bod zullen komen, doorgaans nauwkeurigere classificatiemodellen tot stand komen. Toegepast op dit onderzoek wordt een ripper ruleset gebruikt. Dit staat voor Repeated Incremental Pruning to Produce Error Reduction Algorithm. Het model bouwt stap voor stap, sequentieel, een ruleset. Een eerste criterium wordt geselecteerd, wat leidt tot een eerste rule. Vervolgens wordt het deel van de trainingset verwijderd die onder deze beslissingsregel vallen en wordt het proces op deze nieuwe set uitgevoerd (Hall et al., 2009). Dit proces wordt herhaald tot een volledige classificatie tot stand is gekomen. (T3mean ≤ -0.356686) and (beatdiffvariance ≤ -0.27823) => NoHit (T3min ≤ -0.068467) and (T480perc ≥ 0.92738) => NoHit Otherwise => Hit
37
4.4. Techniek 3: Naive Bayes Voordat de classificatietechniek uitgelegd wordt, zal eerst het begrip conditionele onafhankelijk even verklaard worden. Dit is een begrip uit de statistiek dat, wanneer de assumptie als geldig wordt verondersteld, heel wat rekenwerk overbodig wordt gemaakt. Het is tevens een begrip dat aan de basis ligt van deze techniek. Twee events A en B zijn onafhankelijk als en slechts als kennis over het al dan niet voorkomen van event A geen extra informatie over het al dan niet voorkomen van event B geeft en vice versa. Dit wordt in de kansrekening weergegeven door volgende vergelijking.
P(A| B) = P(A) en P(B| A) = P(B) of ook P(A ∩ B) = P(A) . P(B) Een eenvoudig voorbeeld kan dit begrip verklaren. Stel dat twee vrienden, Jan en Piet, elk een eerlijke munt opgooien, respectievelijk event A en event B, ieder met een kans van ½ voor kop of let. Beide events zijn onafhankelijk. Wanneer men nu de mogelijkheid in acht neemt dat de munt die ze opgooien niét eerlijk is, verandert de situatie. Als Jan nu de munt opgooit en als resultaat kop heeft, kan Piet veronderstellen dat de oneerlijke munt een neiging heeft naar kop. Deze events zijn dus niet onafhankelijk. Want de uitkomst van A beïnvloedt de verwachting omtrent de uitkomst van B. Beschouw nu volgende situatie. Men vertelt Jan en Piet of voorhand dat men met zekerheid weet dat de munt een neiging heeft om meer kop aan te geven. In dit geval worden event A en B conditioneel afhankelijk genoemd. Het feit dat A net kop heeft gegooid verandert de verwachting van Piet omtrent event B niet. Hij wist immers al op voorhand dat de munt oneerlijk was. Indien de kennisname van de neiging van de oneerlijke munt omschreven wordt als event C, dan kan men dit voorbeeld wiskunde neerschrijven als volgt.
P(A| B) = P(A| B,C) of ook P(A ∩ B) = P(A| C) . P(B| C)
38
Dit is een concept dat in de praktijk vaak onnatuurlijk aanvoelt. Het bekendste voorbeeld hiervan verscheen in 1991 onder de Ask Marilyn column in Parade Magazine. De paradox die geopperd werd zorgde voor heel wat ophef en staat bekend als het Monty Hall-probleem. De vraag was als volgt: ‘Suppose you're on a game show, and you're given the choice of three doors. Behind one door is a car, behind the others, goats. You pick a door, say number 1, and the host, who knows what's behind the doors, opens another door, say number 3, which has a goat. He says to you: “Do you want to pick door number 2?" Is it to your advantage to switch your choice of doors? Why?’ (vos Savant, 1991) Het ontdekken van het antwoord alsook de contra-intuïtieve verklaring wordt aan de lezer overgelaten. Terugkomend op de conditionele onafhankelijk kan voor een set van x = {x1, x2, …, xN} variabelen, met voor elke variabele een set van M aantal kenmerken, wiskundig gesteld worden dat dit in volgende vergelijking resulteert (Dawid, 1979).
P(x|Y = y) = ∏M j=1 P (xj |Y = y) Deze assumptie zorgt ervoor dat de combinatorische conditionaliteit van elke mogelijke combinaties binnen de verzameling x, niet uitgevoerd moet worden. Deze waren immers conditioneel onafhankelijk verondersteld. Dit is meteen ook waarom de classificatie techniek naive bayes genoemd wordt. Vaak is deze veronderstelling van onafhankelijkheid in de praktijk niet realistisch. Recent onderzoek toonde echter aan dat met betrekking op geluidsgolven en isolated noise points deze techniek bijzonder goed reageert op irrelevante kenmerken (Tan & al., 2007). Ook het onderzoek van Herremans (2013) toonde aan dat het model op basis van deze techniek in het algemeen goed presteert. De feitelijke classificatie gebeurt op basis van volgende formule (Lewis, 1998).
P(Y| x) =
P(Y) .∏M j=1 P (xj | Y) P(x)
39
4.5. Techniek 4: Logistieke regressie Wanneer de afhankelijke variabele slechts twee uitkomsten kan aannemen, wat hier het geval is (een liedje is een hit of niet) wordt er in de statistiek vaak gebruik gemaakt van logistieke regressie. Deze techniek modelleert de kansen op een event op basis van de logistieke cumulatieve verdeling. Wiskundig kan dit voor een bepaalde song i uitgeschreven worden als volgt:
πi =
1
1+e−si
met si = 𝛽0 + ∑M j=i βj . xj
Hierbij geeft πi de kans weer op een event voor song i (hier een classificatie van song i als hit. De uitdrukking si is de lineaire predictor die voor alle M-aantal features x van de dataset een score geeft. Het behoeft geen uitleg dat πi zich tussen de waarden 0 en 1 situeert (Goos, 2012). Deze techniek wordt ook soms kortweg logit genoemd.
4.6. Techniek 5: Support vector machines (SVM) Deze techniek, vaak afgekort als SVM, is een algoritme dat gebaseerd is op de statistische learning theory, voor het eerst uitgewerkt door Vladmir Vapnik (1995). Het is een relatief nieuwe manier om aan binaire classificatie te doen. De opzet van de techniek is om een hypervlak te vinden dat de dimensionale dataset kan opdelen in twee aparte klassen. Dit is veruit de meest gecompliceerde techniek van de vijf. Het wiskundige basisidee achter het SVM-model zal kort toegelicht worden, gebaseerd op een artikel van Boswell (2002). Beschouw l eenheden gedefinieerd als {xi , yi} met i= 1,…,l, en yi een binaire parameter die +1 is indien het liedje een hit is en -1 indien het lied geen hit is (of algemener +1 bij event, -1 bij non-event). Stel dat elke eenheid een verzameling van d-aantal inputs bezit, waarvoor geldt dat x ∈ Rd. Dan kunnen alle hypervlakken Rd voorgesteld worden door een vector w en een constante b, uitgedrukt door de vergelijking.
w.x+b=0
40
Deze uitdrukking kan voor alle eenheden uitgevoerd worden, wat resulteert in een set hypervlakken gedefinieerd door de respectievelijke (w,b). Dit kan overzichtelijker in canonische vorm geschreven worden als {λw, λb} voor λ ∈ R+. Bijgevolg definieert men een
canonisch hypervlak (i.e. een hypervlak met genormaliseerde parameters) dat de data binnen elk hypervlak van elkaar scheidt met een afstand van minstens 1. Dit kan compact geschreven worden als volgt.
yi (xi . w + b) ≥ 1
∀i
Alle verschillende paren (w,b) hebben echter een verschillende functionele afstand tot een bepaald datapunt. Om dit op te lossen wordt overgegaan op de geometrische afstand, door te normaliseren door de magnitude w. Deze afstand wordt bijgevolg weergegeven door de volgende uitdrukking.
d((w,b), xi) =
𝑦𝑖 (𝑥𝑖 .(𝑤+𝑏)) ‖𝑤‖
1
≥ ‖𝑤‖
Intuïtief kan aangevoeld worden dat het hypervlak dat de geometrische afstand tot het dichtstbijzijnde datapunt maximeert, het beste classificatieresultaat zal opleveren. Dit wordt duidelijk gemaakt in figuur X. Het groene vlak beschrijft het optimale vlak, aangezien het de loodrechte afstand tot het dichtstbijzijnde datapunt maximeert. Het paarse vlak maakt ook een scheiding tussen de datapunten, maar heeft een kleinere marge, en is met het oog op een nauwkeurige classificatie bijgevolg dus minder waardevol.
41
Figuur 10: Voorbeeld SVM techniek
Bron: Yucel (2013) & Boswell (2002)
Deze intuïtieve benadering kan wiskundig beschouwd worden als het minimeren van de noemer ‖𝑤‖. Dit probleem wordt opgelost met een Lagrange multiplicator (Vapnik, 1995).
Uiteindelijk bekomt men volgende uitdrukking. Waarbij 𝛼 de vector is van de niet-negatieve Lagrange multiplicatoren en C een constante voorstelt.
Min.: W(𝛼) = -∑𝑙𝑖=1 𝛼𝑖 +
1 2
∑𝑙𝑖=1 ∑𝑙𝑗=1 𝑦𝑖 𝑦𝑗 𝛼𝑖 𝛼𝑗 (𝑥𝑖 . 𝑥𝑗 )
Vw.: ∑𝑙𝑖=1 𝑦𝑖 𝛼𝑖 = 0 0 ≤ 𝛼𝑖 ≤ C (∀𝑖)
Na introductie van de matrix (H)ij = yiyj(xi.xj) kan dit compacter geschreven worden. De uitdrukking die nu verschijnt, staat bekend als het quadratic programming probleem.
42
1
Min.: W(𝛼)= -𝛼T1 + 𝛼T H𝛼 T
2
Vw.: 𝛼 y = 0 0 ≤ 𝛼 ≤ C1
Dit probleem kan volgens verschillende technieken opgelost worden. Het optimale hypervlak wordt uiteindelijk gegeven door volgende uitdrukking.
w = ∑𝑖 𝛼𝑖 𝑦𝑖 𝑥𝑖 Deze uitdrukking beschrijft de vector w als een lineaire combinatie van de trainingeenheden. Er kan aangetoond worden dat:
𝛼𝑖 (yi (w . (xi +b)) -1) = 0
∀𝑖
Deze uitdrukking vertelt ons dat indien de functionele afstand van een eenheid strikt groter is dan 1 (wanneer yi (w . (xi +b)) > 1), de vector van de niet negatieve Lagrange multiplicatoren 𝛼,
0 wordt. Hieruit kan besloten worden dat enkel het dichtstbijzijnde datapunt bijdraagt tot de uitdrukking van w. De term support vector wordt bijgevolg gebruikt voor de trainingseenheden die een 𝛼𝑖 hebben die strikt groter is dan 0. Deze zijn de enige eenheden die nodig zijn om het
classificatiesysteem op te bouwen. Indien de onderzoeker alle andere datapunten dan de
support vectors uit de dataset zou knippen, zou op basis van deze techniek (SVM) hetzelfde hypervlak gevonden worden als met de complete dataset. Wanneer men de optimale vectoren 𝛼 i bekomen heeft, waaruit de vector w berekend wordt, moet men nog enkel de parameters b en C definiëren. Voor deze eerste te vinden kan men een willekeurige support vector selecteren waarvan alle gegevens gekend zijn en deze invullen in de initiële vergelijking van het hypervlak. Dit resulteert in volgende vergelijkingen
(𝒘⋅𝒙++𝑏)=+1 (𝒘⋅𝒙−+𝑏)=−1 𝑏=−1/2(𝒘⋅𝒙++𝒘⋅𝒙−)
43
De parameter C is een beperkende constante die weergeeft hoe strikt men de trainingdata zal opdelen in twee groepen. Een oneindig grote waarde voor C zou inhouden dat de ruimte tussen datapunten zo groot genomen wordt, dat het model resulteert in een perfecte classificatie, onder de veronderstelling dat dergelijk hypervlak bestaat binnen de dataset. De waarde van C wordt doorgaans herleid tot een eindige waarde. Hierdoor zullen er zich echter fouten voordoen. Bepaalde instanties zullen fout geklasseerd worden. Bijgevolg herleidt probleem zich tot het zoeken naar een marge die deze fouten minimaliseert.(Boswell, 2002). Een laatste opmerking dient gemaakt te worden in verband met het aantal support vectors dat men kan definiëren in een dataset. Stel dat men een optimaal hypervlak vindt dat de data opdeelt in event en non-event (i.e. hitsong of non-hitsong). Men beschouwt van de l-aantal training eenheden een subset van Ns aantal support vectoren. Nu kan in verband met de outof-sample-errors 𝜋 besloten worden dat dit begrensd is door de volgende uitdrukking
𝜋≤
𝑁𝑠
𝑙−1
Deze uitdrukking geeft het principe van Ockham’s scheermes duidelijk weer. Toegepast op SVM-modellen kan men besluiten dat deze met het kleinste aantal support vectoren de voorkeur genieten. Simpelere en compactere modellen presteren immers doorgaans beter en zijn makkelijker en eenduidiger te interpreteren. Het dient wel opgemerkt te worden dat deze techniek in het algemeen gepercipieerd wordt als een black box. De concepten en gedrag van het algoritme zijn wel gekend, maar de specifieke wiskundige technieken blijven toch voor velen moeilijk te vatten. De voorgaande bespreking van de SVM techniek veronderstelde dat de data lineair op te delen is naar event en niet-event. Dit is echter eerder de uitzondering dan de regel. Meestal zal de data wel enigszins op te delen zijn, niet volgens een rechte, maar op basis van andere vormen zoals golffuncties, cirkels of discontinue functies. Een radiale opdeling wordt grafisch weergegeven in figuur XX. Om te klasseren op basis van een hypervlak kan er overgegaan worden naar een opdeling in hogere dimensies. Deze omzetting wordt aangeduid met de Engelse term mapping. Mapping houdt in dat een functie (ϕ(y) = x) gedefinieerd wordt die de oorspronkelijke data (y) bewerkt zodat deze classificeerbaar is (x) op basis van een hypervlak.
44
De vraag blijft natuurlijk welke functie ϕ() toegepast moet worden op de data zodat deze scheidbaar is op basis van een hypervlak. De zoektocht naar deze functie vergt vaak immens veel rekenwerk en dit uitvoeren voor elke dataset apart is niet haalbaar. Het vervangen van vectoren door functies in bovenstaande vergelijkingen zou aanleiding geven tot eindeloze berekeningen, zeker bij zeer grote datasets. Indien echter voor deze stap (i.e. scalair product) een voorgeprogrammeerde formule zou bestaan kernel-trick, dan kan de transformatie van alle data worden vervangen door slechts de kernel-functie uit te voeren. Enkele veel gebruikte voorbeelden van kernels zijn de polynomiaal-kernel, de lineaire kernel, de RBF-kernel (radial base function), de MLP-kernel (multi layer perception) en de Sigmoidkernel. Zoals de naam van de verschillende kernels aangeven, is elke kernel gebaseerd op een functie om bepaalde patronen in de data om te vormen. Zo zal het voorbeeld in figuur 11 optimaal gescheiden worden door een RBF-kernel aangezien de oorspronkelijke data zich afscheidt in een cirkelvormig patroon (radiaal). Figuur 11: Opdeling in hogere dimensie
Bron: DTREG (2014)
45
4.7. 10-Fold cross validation (10FCV) Om te analyseren en valideren hoe het voorspellingsmodel reageert op de data wordt er voor verschillende datasets gewerkt volgens het 10-fold cross validation principe. De dataset wordt willekeurig verdeeld in tien subsets die bijgevolg elk 10% van de data bevatten. Vervolgens worden negen sets gebruikt als training-set, om het machine learning proces in gang te zetten. Het model wordt gevalideerd op de overgebleven set met 10% van de data, de validatie-set. Dit wordt herhaald totdat alle sets als validatie-/ test-set gefungeerd hebben. Op deze manier hebben alle data zeker in beide sets gezeten. Dit zou niet het geval zijn met willekeurige validatie-sub-sets. Een algemene term voor dit proces is de k-fold cross validatie, waarbij k een zelf te kiezen parameter is. Het voorbeeld dat geïllustreerd wordt in figuur 12 is een toepassing van een 5-fold cross validatie, aangezien er vijf verschillende sets gecreëerd werden (Giró-iNieto, 2010). De uiteindelijke score die het model zal opleveren is het gemiddelde van de 10 subsets. Wanneer er in dit onderzoek dus gesproken wordt van bijvoorbeeld een AUC-waarde van een model dat gevalideerd is op basis van 10FCV, is dit steeds een gemiddelde AUCwaarde van de 10 aparte folds. Figuur 12: 5-fold cross validation
Bron: Shane, 2010
46
Figuur 13: 10-fold cross validation
Bron: GEMLer, 2002
4.8. Receiver operating characteristic & area under the curve Om de modellen te evalueren wordt er gebruik gemaakt van de receiver operating characteristics-curve, afgekort de ROC-curve. Deze curve geeft de performantie van een binaire classifier weer, voor variërende drempelwaarden. Het gebied onder deze grafiek, wordt toepasselijk de area under the curve genoemd, of kortweg AUC. Binnen de machinelearning en datamining wordt deze methode steeds vaker gebruikt om modellen te vergelijken. Het principe werkt als volgt. Als er gewerkt wordt met binaire classificatie (event of non-event, hit of non-hit) zijn er vier mogelijke scenario’s die zich kunnen voordoen. Deze vier mogelijkheden worden afgekort door TP, FP, TN en FN of voluit respectievelijk true positive, false positive, true negative en false negative. Een volgende illustratie schetst een duidelijk overzicht. Dergelijke samenvatting van de resultaten wordt een confusion matrix genoemd. Figuur 14: Confusion matrix
Bron: Kkudi, 2011
47
De ROC-curve integreert deze begrippen in een overzichtelijke grafiek. Op de x-as wordt de FPratio weergegeven. In het hit prediction verhaal zijn dit liedjes die als hit worden geklasseerd, terwijl ze eigenlijk in het echt geen hit zijn. Op de y-as staat de TP-ratio, beide voor het scala van verschillende drempelwaarden. Op deze manier kan het model gemakkelijk geëvalueerd worden op basis van de, de TP, terwijl men ook rekening houdt met de kostprijs, nl. de FP. Andere bronnen spreken over een sensitiviteit vs. 1-specificiteits grafiek aangezien de TP-ratio de sensitiviteit van het model weergeeft en de FP-ratio gelijk is aan 1 min de specificiteit. Bijgevolg situeert zich het optimale resultaat in de linker bovenhoek (punt D). Dit punt houdt immers een perfecte classificatie in. In de praktijk is dit veelal een utopie en zal er altijd een foutenmarge zijn. De diagonaal (door punt C) geeft een random classificatie weer. Indien de curve van het model concaaf naar de linker bovenhoek afbuigt (richting punten A, B en D), presteert het model dus beter dan een willekeurige classificatie. Het verschil tussen model A en B is dat B iets meer instanties juist klasseert als event, maar wel tenkoste van een meer false positives. Een korte illustratie volgt. Wanneer men als voorbeeld een model neemt dat willekeurig de helft van de tijd de data als event labelt, kan men verwachten dat het de helft van de events en de non-events juist zal labelen. Dit model situeert zich dus op het punt (0.5, 0.5) in het ROC-vlak. Een ander model, dat willekeurig 90% van de instanties als event klasseert, zal 90% van de van de effectieve events juist raden, maar de false-positive ratio zal ook verhogen tot 90%. Dit model zou resulteren op het punt (0.9, 0.9) in het ROC-vlak. Op deze manier wordt duidelijk dat een willekeurige classificatie altijd zal resulteren in een punt op de diagonaal afhankelijk welke drempelwaarde het hanteert. Figuur 15: ROC ruimte
Bron: Jenn, 2012 48
Dit brengt ons bij het volgende concept, de area under the curve, AUC. Om verschillende modellen met elkaar te vergelijken is het optimaal om één enkel kengetal te hebben. De AUCwaarde lost dit probleem op. Het is equivalent met de waarde die de probabiliteit weergeeft dat het model een willekeurig gekozen positieve eenheid, hoger zal ranken dan een willekeurige negatieve eenheid. Toegepast op HSS houdt dit de kans in dat het model een hit een positievere score zal geven dan een non-hit. Wiskundig gezien ligt de AUC-waarde tussen 0 en 1, maar realistische modellen situeren zich binnen de grenzen 0.5 en 1, aangezien een onderzoeker logischerwijze altijd beter wenst te presteren dan willekeurige classificatie. Specifiek voor bijgevoegde grafiek, ROC-curve van het logistieke regressie model van Herremans (2013), spreekt men van een AUC van 0.68. Het ingekleurde gedeelte is echter 0.18, wat inhoudt dat het model gemiddeld 18% beter presteert dan een willekeurige classificatie.
Figuur 16: ROC curve
Bron: Herremans (2013)
49
5. ANALYSE
Om een antwoord te bieden aan de onderzoeksvraag moeten er eerst verschillende fases doorlopen worden. Alles begint uiteraard bij het verzamelen van de gegevens. Doorgaans zijn deze echter nog niet meteen klaar voor verwerking. Omdat er gewerkt wordt met verschillende databases (Ultratop 50, The Echonest, Last.FM) moet men er voor zorgen dat de gegevens zoveel mogelijk gestandaardiseerd zijn qua vorm zodat de software alle liedjes automatisch kan linken over verschillende databases heen. Het opkuisen van de datasets gebeurt tijdens de pre-processing- fase. Statistische software vereist ook vaak een specifiek format waaraan de input-gegevens moeten voldoen. De gegevens moeten bijgevolg ook omgezet worden naar de juiste bestandsextensie. Vervolgens kan het programma z’n werk doen op de dataset en kunnen de bekomen resultaten geïnterpreteerd en vergeleken worden. Elke stap in dit proces, van gegevensverzameling tot resultaatverwerking zal apart beschreven worden enerzijds voor het model gebaseerd op de Echonest-kenmerken en anderzijds voor het model gebaseerd op de Last.FM scrobbles.
5.1. Ultratop 50 & Bubbling Under samen met The Echonest 5.1.1. Gegevensverzameling Vooraleer men geavanceerde technieken kan gebruiken voor gegevensverwerking, moet de data natuurlijk eerst verzameld worden. Dit lijkt misschien vanzelfsprekend, maar dat is het allesbehalve. Voor dit eerste luik zal er zoals reeds aangehaald, gewerkt worden met de gegevens van de website van de Ultratop 50, de officiële Vlaamse hitlijst, gecombineerd met gegevens van de database The Echonest. De hitlijsten bevatten per week samen 70 songs (50 liedjes in de Ultratop 50 Dance en 20 liedjes in de Bubbling Under). Al deze tracks per week overschrijven zou een eeuwigheid duren. Daarom werd er een webcrawler geschreven in Java om alle relevante informatie te extraheren. Dit programmatje is gebaseerd op de Jsoup Java HTML parser bibliotheek. Het omvat gebruiksvriendelijke commando’s om gericht uit de HTML broncode bepaalde informatie te halen. Kort samengevat scant het programmatje de website en neemt het de 50
informatie die op voorgeprogrammeerde plaatsen op de website staat over. Concreet bestaat de website van de Ultratop uit verschillende figuren afbeeldingen en elementen, maar de nuttige informatie is samengevat in één grote tabel. Eerst moet dus deze tabel aangeduid worden als element. Vervolgens wordt er per rij de gewenste informatie uit de kolommen geprint. Zo worden onder andere de huidige positie, songtitel en artiest overgenomen naar een nieuw .txt-bestand. Als IDE (Integrated Development Environment) werd IntelliJ IDEA gebruikt. Het programmatje haalt dus niet alleen de artiest en de titel van het liedje op. Ook de positie en de datum werden telkens geprint, daarnaast werden ook aantal weken en hoogste positie overgenomen. Tenslotte werd er ook een onderscheid gemaakt tussen de twee lijsten, Ultratop 50 en Bubbling Under, d.m.v. de code A voor ultratop 50 Dance en B voor de Bubbling Under. Hieronder wordt een klein stukje output van de webcrawler weergegeven als voorbeeld. Alle benodigde lijsten werden d.m.v. dit programma verzameld voor de gespecificeerde periode. Aangezien de Bubbling Under lijsten slechts teruggaan tot 2 juli 2011 werd dit gekozen als begin datum. Als einddatum werd 16 november 2013 genomen, beide data zijn een zaterdag (het moment dat de lijsten worden geüpdatet). In totaal betreft het een periode van 125 weken. Dit resulteerde in 125 keer 50 liedjes uit de Ultratop 50 Dance lijst en 125 maal 20 liedjes uit de Bubbling Under lijst, of samen goed voor 8750 instanties! 16/11/2013; 1; DVBBS & Borgeous; Tsunami; 2; 1; A 16/11/2013; 2; Martin Garrix; Animals; 1; 1; A 16/11/2013; 3; Pitbull feat. Ke$ha; Timber; 7; 3; A 16/11/2013; 4; Wilkinson; Afterglow; 8; 4; A 16/11/2013; 6; Avicii; You Make Me; 9; 6; A
Dit zijn natuurlijk niet allemaal 8750 verschillende nummers, aangezien een liedje meestal verscheidene weken in de hitparades blijft staan. Daarom werd elke track gesorteerd op positie, met de Bubbling Under-posities lager gerankt dan de Ultratop 50 Dance-posities. Enkel de entry die hoorde bij de toppositie per liedje werd behouden, samen met de bijhorende datum. Deze procedure zal ervoor zorgen dat in de volgende stap, elk liedje slechts één maal voorkomt zodat de uitvoertijd van het volgende script niet de pan uit zou swingen. Het resultaat is een lijst met allemaal unieke liedjes en hun bijhorende toppositie en datum wanneer ze deze positie behaalde. Deze lijst bevat 982 unieke liedjes en zal gebruikt worden om de intrinsieke kenmerken van elke track op te halen.
51
Om deze gedetailleerde informatie per liedje te verzamelen, werd er beroep gedaan op de open database van The Echonest en de bijhorende API. Een nieuwe applicatie in Java laadt eerst het vorige document, i.e. alle unieke tracks uit de Ultratop 50 en de Bubbling Under. Per lijn in dit document zal de applicatie een link maken met de database van The Echonest. Indien er een match gevonden is, zal de gewenste informatie in nieuwe kolommen achter de titel en artiest geprint worden. Er werd ook rekening gehouden met mogelijke foutmeldingen. Aangezien de exacte benaming van de titel en artiest van een liedje wel eens kan verschillen (is het nu featuring, ft. of feat.?) moest hier een mouw aan gepast worden, maar hierover later meer. Een voorbeeld van de volledige output die bekomen wordt als resultaat van het script, wordt in de bijlage opgenomen aangezien deze te groot is om in het werk te voegen. Een conceptueel voorbeeld wordt weergegeven in tabel 11. De lijst van opgehaalde kenmerken per liedje is zeer uitgebreid. Zo werden er per liedje meer dan 140 kenmerken verzameld. Vaak zijn de verschillende eigenschappen op het eerste zicht niet meteen duidelijk. Een beknopt overzicht van alle features volgt.
Tabel 11: Voorbeeld gegevens Ultratop 50 & Bubbling Under + Echonest
Ultratop 50 Dance & Bubbling Under informatie
The Echonest informatie
Datum
Hoogste Positie
Artiest
Titel
Klasse
16/11/2013 16/11/2013 16/11/2013 9/11/2013 9/11/2013 2/11/2013 2/11/2013 2/11/2013
1 23 10 9 45 15 33 5
Artiest_01 Artiest_02 Artiest_03 Artiest_04 Artiest_05 Artiest_06 Artiest_07 Artiest_08
Titel_01 Titel_02 Titel_03 Titel_04 Titel_05 Titel_06 Titel_07 Titel_08
A A B A A A A B
Meta-kenmerken
Basis kenmerken
Tijdsaspect
o.a. hotness & familiarity o.a. bpm en toonaard o.a. beatdiff en timbre ## ## ## ## ## ## ## ##
## ## ## ## ## ## ## ##
## ## ## ## ## ## ## ##
Bron: Eigen creatie
52
De verschillende eigenschappen van de liedjes kunnen opgedeeld worden in drie categorieën, zoals weergegeven in vorige figuur, nl. meta-kenmerken, basis kenmerken en een kenmerken die het tijdsaspect beschrijven. De meta-kenmerken - Deze omvat alle kenmerken die niet rechtstreeks uit het liedje gehaald worden. Voorbeelden hiervan zijn: location, song- en artisthotness en artistfamiliarity. De feature location beschrijft de plaats(en) waar het liedje werd opgenomen. Deze kolom werd echter verwijderd omdat deze jammer genoeg, te vaak onbekend was en bijgevolg niet gebruikt kon worden in het verder onderzoek. De eigenschappen i.v.m. hotness en familiarity vragen allicht iets meer uitleg. Zo blijkt dat de hotness een indicatie is van hoe hip een artiest of song is op het internet. Als er veel over een bepaald liedje of artiest gepraat wordt op sociale media en in de pers, dan zal deze een hoge hotness score krijgen. Hoe het algoritme deze score exact berekent, wordt niet vrijgegeven. Hetzelfde verhaal met de familiarity parameter. Een concrete formule geeft men niet prijs. Men verklaarde echter wel dat de familiarity een score weergeeft of de artiest een belletje doet rinkelen bij de meeste mensen of niet (Lamere, 2009). Een voorbeeld kan het verschil tussen beide wellicht duidelijker maken. Artiesten zoals The Beatles, Frank Sinatra of zelfs Mozart hebben een hoge familiarity, maar wellicht een lagere hotness. Iedereen kent deze artiesten, maar aangezien ze de laatste jaren geen nieuwe tracks hebben uitgebracht of op festivals speelden, zullen ze lager scoren qua hotness. Artiesten zoals Clean Bandits, Martin Garrix of Disclosure zullen daarentegen dan weer veel hoger score op hotness dan op familiarity. Ze zijn (nog) niet gekend bij het grote publiek, maar brengen wel veel nieuwe songs uit en doen veel live optredens en dj-sets. Deze feautures blijven echter wel deels black box parameters aangezien de exacte formule niet openbaar gemaakt wordt. Het is echter duidelijk dat verwacht wordt dat deze parameters een groot gewicht zullen krijgen in het model. Er wordt veel meer gepraat over hit-songs, dan over onbekende liedjes. Maar met het oog op het doel van dit onderzoek, nl. voorspellen of nieuwe liedjes een hit gaan worden of niet, zouden deze parameters wel eens een vertekend beeld kunnen geven. Wordt een liedje een hit omdat er veel over gepraat wordt, of wordt er veel over een liedje gepraat omdat het reeds een wijd verspreide hit is? De oorzaak-gevolgrelatie is m.a.w. onduidelijk. Het is om deze reden dat een opsplitsing gemaakt zal worden in datasets met hotness en familiarity en datasets zonder deze parameters. Op deze manier kan de invloed van deze parameters apart bekeken worden. 53
De basis kenmerken - Voor muziekliefhebbers zijn de meeste begripper wel duidelijk. Een beknopte opsomming volgt. Voor een uitgebreidere beschrijving wordt verwezen naar de website van The Echonest en het onderzoek van Jehan & DesRoches (2005). De laatste twee kenmerken zijn berekend door een niet vrijgegeven formule van The Echonest. Duration: Lengte van het liedje (s) Tempo: Gemiddeld aantal beats per minuut (bpm) Time Signature: Hoeveelheid beats binnen elke bar (1 t.e.m. 5) Mode: Modaliteit van een liedje (mineur of majeur) Key: Toonaard van het liedje (0 t.e.m. 11) Loudness: Volume van het liedje in Decibels (dB) Danceability: Berekend door The Echonest o.b.v. verschillende andere kenmerken Energy: Berekend door The Echonest o.b.v. verschillende andere kenmerken Het tijdsaspect - Deze zijn allemaal gebaseerd op beatdifference en timbre. De eerste geeft de tijdspanne weer tussen twee opeenvolgende beats. Het timbre beschrijft de klankkleur van één segmentje van het lied. Een segment is meestal een zeer klein (+/- 1s) interval van gelijke harmonieën. Deze twee kenmerken worden vervolgens nog eens gedetailleerder beschreven door een aantal kengetallen. Voorbeelden hiervan zijn het maximum, het minimum, de scheefheid, standaard afwijking, percentielen etc. Het timbre wordt tenslotte nog eens onderverdeeld in verschillende vectoren, afhankelijk van welk deelaspect ze beschrijven. Zo is de eerste deelvercor T1 een indicatie voor de helderheid van het liedje. Het beschrijft de ratio van hoge t.o.v. lage frequenties. Een liedje met een hoge score, en dus meer hoge tonen dan lage, wordt bv. doorgaans ervaren als helder. De volgende deelvector, T2, geeft bv. de demping van de hoge tonen weer. Zo staan alle deelvectoren van het timbre voor een ander deelaspect van het liedje. Voor een gedetailleerdere opsomming wordt wederom verwezen naar het onderzoek van Jehan & DesRoches (2005) en Herremans (2013). Wanneer het scriptje voor alle songs alle 149 bijhorende features heeft opgehaald, komt de finale matrix tot stand, dewelke men in tabel 11 voor ogen had. De rijen zijn de verschillende songs, de kolommen zijn de bijhorende kenmerken of features (later in Weka attributes genoemd).
54
5.1.2. Preprocessing Hoewel de database van The Echonest zeer omvangrijk is, zullen er toch altijd tracks zijn die geen resultaat opleveren. Er wordt immers gewerkt met gegevens van een Belgische hitlijst. Lokale artiesten die niet gekend zijn in de database van The Echonest hebben dus onvolledige informatie. Dit resulteert in lege cellen in de matrix. Aangezien dit niet wenselijk is worden deze uit de lijst verwijderd. Zoals reeds vermeld er in het script dat de data verzamelde reeds rekening gehouden met verschillende schrijfwijze van liedjes. Het voorbeeld van ft. is reeds aangehaald, maar ook de termen vs., versus, with, and, &, en presents, zijn gefilterd. Op deze manier werd het aantal unknown artists geminimaliseerd. Wanneer de hit ‘Armin Van Buren ft. Trevor Guthrie - This Is What It Feels Like’ in de Belgische Ultratop 50 genoteerd stond zoals beschreven, maar in de database van The Echonest genoteerd stond met featuring of feat. Trevor Guthrie, dan werd dit dankzij dit scriptje toch herkend als match. Ondanks deze uitgebreide filtering werden 122 entries niet gevonden, waarvan 45 uit de Ultratop 50 en 77 uit de Bubbling Under, of int totaal een dikke 10%.
5.1.3. Verwerking en Resultaten Wanneer de lijst opgekuist is, kan Weka deze inlezen en verwerken. Alvorens de resultaten overlopen worden zullen echter verschillende assumpties gemaakt worden omtrent welke songs nu als hit aangeduid mogen worden en welke niet. De verschillende assumpties zullen resulteren in verschillende datasets waarop alle tests uitgevoerd zullen worden. Assumptie A Hit: Alle liedjes met een hoogste positie in Ultratop 50 Niet-hit: Alle liedjes met een hoogste positie in Bubbling Under Assumptie B Hit: Alle liedjes met een hoogste positie van 1 tot 30 in de Ultratop 50 Niet-hit: Alle liedjes met een hoogste positie in Bubbling Under Assumptie C Hit: Alle liedjes met een hoogste positie van 1 tot 20 in de Ultratop 50 Niet-hit: Alle liedjes met een hoogste positie in Bubbling Under
55
C pt ie su m As
As
As
su m
su m
pt ie
pt ie
B
A
Figuur 17: Schematisch overzicht assumpties A, B & C
10
20
20
10
Hit
20 30
40
40
40
50
50
50
10
10
10
20
20
Niet-Hit
30
20
Niet-Hit
Hit
30
Niet-Hit
Bubbling Under
Ultratop 50
Hit
10
Bron: Eigen creatie Het oorspronkelijke idee was om alle liedjes die niét wisten door te breken uit de Bubbling Under lijst, te onderscheiden van de liedjes in de Ultratop 50 (Assumptie A). Doorheen de verschillende assumpties wordt de definitie van een hit echter steeds strenger. Er worden steeds minder liedjes als echte hits gelabeld. De afstand tussen hits en niet-hits wordt m.a.w. groter, waardoor het machine-learning algoritme hopelijk een beter beeld kan vormen voor de classificatie. Onder assumptie A zijn er 613 hits en 369 niet-hits. Onder assumptie B blijven er nog 401 hits over. De strengste assumptie die enkel top20 liedjes als hits labelt houdt 275 hits over. Ook met betrekking tot het al dan niet in acht nemen van de verschillende meta-features van The Echonest werden verschillende veronderstellingen gemaakt. Zoals reeds vermeld berekende The Echonest zelf al een score omtrent de buzz dat er op het internet ontstaat rond een artiest en liedje (i.e. artisthotness en songhotness). Ook de bekendheid van een artiest (i.e. familiarity) kreeg in de database van The Echonest reeds een score. De datasets waarin al deze kenmerken verwerkt zijn, is aangeduid met de code (ALL). De lijsten die van de drie metafeatures enkel het attribute familiarity overhouden, krijgen de code (FAM). De lijsten die gestript zijn van alle drie deze features krijgen de code (CLEAN). Op alle datasets worden de reeds besproken tests uitgevoerd: J48-beslissingsboom, JRipruleset, NaiveBayes test, logistieke regressie en SVM. De specifieke benaming van de eerste twee tests duidt simpelweg op de naam van de open-source Java implementatie van de beschreven technieken. Zo is de J48-beslissingsboom een implementatie van het C4.5
56
algoritme, al dan niet uitgebreid met Reduced Error Puning en de J-Rip ruleset een implementatie van het Repeated Incremental Pruning to Produce Error Reduction (RIPPER). (Weka, 2014) Alvorens de output besproken kan worden, moet er nog een belangrijk detail toegevoegd worden. Voordat de tests effectief uitgevoerd mogen worden, moet er gespecificeerd worden hoe het programma normalisatie en attribute-selection moet uitvoeren. Het is immers beter en correcter dat de attribute-selection enkel en alleen uitgevoerd wordt op de training-set. De validatie set moet hier dus van uitgesloten zijn. Bij 10-cross-fold validation houdt dit in dat er 10 maal opnieuw op een andere training-set attribute-selection wordt toegepast. Indien dit niét duidelijk gespecificeerd wordt in Weka, zal men slechts één maal op de gehele data set attribute-selection uitvoeren alvorens verder te gaan met de analyse. Dit zou dus inhouden dat attributes geselecteerd worden, door reeds rekening te houden met de validatie-set, hetwelk niet wenselijk is. De attributes moeten telkens geselecteerd worden op de training-set (9/10) en vervolgens moet het model op een onbekende validatie-set (1/10) gevalideerd worden. Er moet eveneens normalizatie doorgevoerd worden. Concreet wordt dit gerealiseerd in de experimenter van Weka door eerst de Meta-FilteredClassifier te selecteren en vervolgens nog een Meta-laag van AttributeSelectedClassifier toe te voegen. Hierna kan men dan de benodigde tests en algoritmes selecteren die uitgevoerd moeten worden. Wanneer men vervolgens de experimenter z’n werk laat doen, bekomt men de gewenste resultaten volgens de juiste, correcte, procedures. De volgende tabel geeft een overzicht weer van alle AUC waarden voor de betreffende datasets na normalisatie en attribute-selection op basis van 10FCV. Er werd ook gecontroleerd of attribute selection überhaupt betere scores opleverde. Dit was zoals verwacht effectief het geval. De modellen zonder deze selectie behaalden immers consistent allemaal lagere scores en worden bijgevolg niet vermeld.
57
Tabel 12: Overzicht AUC (Echonest) J48-
JRIP-
NaiveBayes
Logistieke
Support Vector
beslissingsboom
ruleset
classificatie
regressie
(PolyKernel)
Echonest (A) (ALL)
0.61
0.58
0.67
0.69
0.60
Echonest (A) (FAM)
0.56
0.54
0.57
0.59
0.50
Echonest (A) (CLEAN)
0.53
0.54
0.54
0.55
0.50
Echonest (B) (ALL)
0.68
0.66
0.71
0.73
0.67
Echonest (B) (FAM)
0.59
0.58
0.59
0.62
0.58
Echonest (B) (CLEAN)
0.54
0.55
0.55
0.56
0.54
Echonest (C) (ALL)
0.73
0.72
0.75
0.77
0.70
Echonest (C) (FAM)
0.60
0.61
0.60
0.64
0.59
Echonest (C) (CLEAN)
0.54
0.55
0.56
0.57
0.55
Dataset
Bron: Eigen creatie
Het model gebaseerd op logistieke regressie presteert telkens het beste. Ook wordt het vermoeden omtrent de meta-kenmerken bevestigd. De features omtrent hotness en familiarity beïnvloeden het model zeer sterk. Het verschil tussen de AUC waarden van de modellen gebaseerd op logistieke regressie (C)(ALL) en (C)(CLEAN) bedraagt 0.20. Ook de verschillen tussen assumptie A, B en C (i.e. de verschillende definities omtrent een hit-song) zijn zoals verwacht. Een strengere definitie van een hit, levert inderdaad een betere classificatie op, al zijn de verschillen op de versies zonder hotness en familiarity bescheiden. De kansboom en de ruleset zullen kort besproken worden, toegepast op het model onder assumpties (C)(CLEAN). De modellen o.b.v. logistieke regressie zullen iets uitgebreider besproken worden, zowel voor assumpties (C)(ALL) als (C)(Clean).
58
J48-beslissingsboom Om de interpreteerbaarheid te bevorderen, werd als maximale diepte vijf gekozen. Deze parameter verhogen, leverde naast complexe bomen, tevens slechtere resultaten op. Concreet houdt dit in dat er gezocht wordt naar een beslissingsboom met slechts vijf lagen. Niet elke tak hoeft echter op dezelfde laag, dezelfde parameter te hanteren om een verdere afsplitsing te maken. Zoals te zien is in figuur 18, wordt er bijvoorbeeld op niveau drie, enerzijds de parameter T12min gebruikt, terwijl aan de andere zijde op hetzelfde iveau T8min gehanteerd wordt om te klasseren. Verder spreekt de interpretatie van de beslissingsboom voor zich.
Figuur 18: Beslissingsboom model C(CLEAN)
Bron: Eigen creatie o.b.v. Weka
JRIP-ruleset
59
JRIP-ruleset Zoals reeds aangehaald is een ruleset gelijkaardig aan een kansboom. Het resultaat voor dit model was een ruleset met drie regels. De gebruikte kenmerken in de ruleset, loudness en duration, zijn tevens de belangrijkste criteria van de beslissingsboom. De opmerking dient gemaakt de worden dat voor de datasets met meta-kenmerken, (ALL) en (FAM), deze steeds de eerste node vormden. If (loudness <= 0.573658) => klasse=A (129.0/55.0) If (duration <= 0.501363) and (duration >= 0.370967) => klasse=A (137.0/63.0) Other => klasse=B (378.0/127.0)
Logistieke Regressie (Logit-model) Het model gebaseerd op logistieke regressie behaalde de beste resultaten. Aangezien dit model de hoogste AUC behaalde zal de output uitvoeriger besproken worden. Hieronder worden de confusion-matrices weergegeven voor zowel de classificatie onder assumptie C met alle variabelen (dus zowel artisthotness, songhotness en familiarity) als het model dat gestript is van deze attributes (respectievelijk C(ALL) en C(CLEAN)). Ook de gedetailleerde output wordt weergegeven voor zowel model C(ALL) als model C(CLEAN). De gedetailleerde output, zoals hieronder weergegeven, bevat verschillende getallen en begrippen. Deze vereisen vooreerst allicht een extra woordje uitleg. Ten eerste moet opgemerkt worden dat de confusion-matrix in een andere, omgedraaide, volgorde staat dan het voorbeeld dat in sectie 4.8 werd besproken. De kolommen zijn de voorspelde waarden, terwijl de rijen de effectieve labels weergeven. In deze output zijn er dus 177+80 liedjes als hit gelabeld (a <--- geklasseerd als). In de gehele dataset waren er echter 177+98 hits aanwezig (a=hit). Deze ordening zorgt ervoor dat het true-positive (TP) cijfer 177 bedraagt, false-positive (FP) 80, false negative (FN) 98 en true negative(TN) 289. Deze waarden zijn belangrijk voor de berekening van de andere scores, weergegeven in de gedetailleerde output. De gebruikte formules door Weka om tot de waarden te bekomen die in de gedetailleerde output vermeld staan, worden in tabel 13 overzichtelijk weergegeven.
60
Tabel 13: Formules achter gedetailleerde output TP rate
FP rate
Precision
Recall
F-Measure
𝐓𝐏 𝐓𝐏 + 𝐅𝐍
FP FP + TN
TP TP + FP
TP TP + FN
2TP 2TP + FP + FN
FN FN + TP
TN TN + FN
TN TN + FP
2TN 2TN + FP + FN
𝐓𝐍 𝐓𝐍 + 𝐅𝐏
Bron: Eigen creatie
Deze formules zijn conform de standaard in verband met classificatiemodellen (Goos, 2012). Er dient opgemerkt te worden dat bepaalde formules echter soms met verschillende benamingen aangeduid worden afhankelijk welke bronnen men raadpleegt. Zo spreekt men voor de eerste kolom doorgaans over de true positive rate voor de bovenste formule aan te duiden en true negative rate voor de onderste formule. Deze begrippen worden ook respectievelijk sensitiviteit en specificiteit genoemd. De tweede kolom bevat bovenaan het false positive- en onderaan het false negative percentage, of ook respectievelijk de fallout en miss-rate genoemd. De derde kolom bevat inderdaad precision, hoewel de onderste waarde doorgaans met de afkorting NPV (negative predictive value) wordt aangeduid. Merk op dat de recall waarden idem zijn aan deze van de eerste kolom, alsook dus de bijhorende formule. Ter volledigheid worden ook de F-scores weergegeven. Het nut van dit laatste kengetal vervaagt echter aangezien de verschillende modellen geëvalueerd zullen worden op basis van de AUCwaarde in plaats van de f-waarde. Nu alle begrippen duidelijk zijn, kunnen de beide outputs besproken en vergeleken worden. De tabellen zijn steeds opgesteld o.b.v. de resultaten en outputs berekend met Weka.
61
Tabel 14: Detailed accuracy by class model C(ALL)
Weight Avg.
TP Rate
FP rate
Precision
Recall
F-Measure
ROC Area
Class
0.644
0.217
0.689
0.644
0.665
0.774
A
0.783
0.356
0.747
0.783
0.765
0.774
B
0.724
0.297
0.722
0.724
0.722
0.774
Bron: Eigen creatie
Tabel 15: Confusion matrix model C(ALL) a
b
<-- geklasseerd als
177
98
a = hit
80
289
b = niet-hit
Bron: Eigen creatie
Tabel 16: Detailed accuracy by class model C(CLEAN)
Weight Avg.
TP Rate
FP Rate
Precision
Recall
F-Measure
ROC Area
Class
0.378
0.298
0.486
0.378
0.425
0.571
A
0.702
0.622
0.602
0.702
0.648
0.571
B
0.564
0.484
0.553
0.564
0.553
0.571
Bron: Eigen creatie
Tabel 17: Confusion matrix model C(CLEAN) a
b
<-- geklasseerd als
104 171
a = hit
110 259
b = niet-hit
Bron: Eigen creatie
62
Het model onder assumptie C(ALL) kan 177 hits juist klasseren en doet dit ten koste van 80 false positives. Het model onder assumptie C(CLEAN) kan slechts 104 hits effectief als hit labelen en realiseert dit tegen een hogere kost, nl. 110 false positives. Het eerst genoemde model klasseert met andere woorden ongeveer 100 liedjes meer in de juiste categorie. De impact van de variabelen hotness en familiarity is dus zeer duidelijk aanwezig. Uit de gedetailleerde output valt op dat beide modellen sterker zijn in het klasseren van niethits. De specificiteit (true negative rate) is m.a.w. hoger dan de sensitiviteit (true positive rate). De TNRs bedragen immers voor model C(ALL) 0.783 en voor model C(CLEAN) 0.702, terwijl de TPRs voor de hits respectievelijk 0.644 en 0.378 bedragen. Hier wordt meteen duidelijk waarom model C(CLEAN) een veel lagere AUC behaalt. Ondanks een degelijke prestatie op het aanduiden van niet hits, scoort het model ondermaats op het labelen van hits. Dit wordt ook weerspiegeld in de precisie van het model. Beide modellen halen een hogere waarde als het aankomt op voorspellen van niet-hits. Of anders gesteld, de NPV is hoger dan de precision. Tot slot wordt ook de accuracy vermeld. Dit is de verhouding correct geklasseerde instanties over de totale populatie, m.a.w. de teller (TP + TN) gedeeld door noemer, (TP + FP + TN + FP). Een model C(ALL) heeft een accuracy van iets meer dan 72%. Model C(CLEAN) scoort een accuracy die iets boven de 56% ligt. Merk op dat alle modellen wel pertinent beter presteren dan een willekeurige classificatie, eveneens o.b.v. AUC.
63
Figuur 19: ROC-curve model C(ALL)
Bron: Eigen creatie o.b.v. Weka De AUC-curves van het model onder assumptie C(ALL) en C(CLEAN) worden weergegeven in respectievelijk figuur 19 en 20. Het eerste model, dat een AUC behaalde van 0.774 buigt zoals verwacht sterk af naar de linker bovenhoek. Het tweede model ligt daarentegen relatief dicht bij de diagonaal die willekeurige classificatie weergeeft. Dit is natuurlijk niet verwonderlijk daar de AUC-score slechts 0.571 bedroeg. Figuur 20: ROC-curve model C(CLEAN)
Bron: Eigen creatie o.b.v. Weka
64
5.2. Ultratop 50 & Bubbling Under gekoppeld aan Last.FM 5.2.1. Gegevensverzameling
Ook voor het tweede model moeten er eerst gegevens verzameld worden. Zoals reeds vermeld werd, zal er beroep gedaan worden op het sociale muziekplatform Last.FM en de bijhorende API. Een nieuwe Java applicatie maakt gebruik van verschillende commando’s zodat de benodigde data in verschillende fases verzameld kan worden. Voor een volledig overzicht van de gebruikte commando’s en alle mogelijkheden van de Last.FM API wordt verwezen naar de overzichtelijke Last.FM web-services pagina. De eerste stap in de gegevensverzameling is het selecteren van de usersgroups. Er zijn meer dan 50 miljoen users die de website gebruiken. Alle scrobbles van alle users ophalen is onmogelijk en ook niet wenselijk. Er zal dus een doordachte selectie moeten gebeuren op basis van bepaalde criteria. Er werd gekozen om drie bepaalde usergroups te onderzoeken. Enerzijds werden 2 groepen geselecteerd op basis van muziekgenre. De groepen Consistantly New Dance and Electronic en Electronic Music geven in de titelnaam van de groep hun affectie met het onderzochte genre weer. De derde groep die geselecteerd werd, is Belgium. Deze gebruikers zullen logischerwijze een grotere affectie hebben met de Belgische muziekmarkt dan mensen die niet in België wonen. De leden van de twee eerste groepen komen immers van over heel de wereld. Het programmatje bestaat uit twee aparte delen. Eerst haalt het script per groep een lijst met alle gebruikers op. De groep Consistantly New Dance and Electronic telt 2116 leden, de groep Electronic Music heeft er 3747 en Belgium telt er 1859. Dit geeft een totaal van meer dan 7000 users. Er dient echter opgemerkt te worden dat niet elke users actief was gedurende de gekozen periode. In een tweede fase leest het programma de bekomen userlijsten in, en haalt het per per user alle scrobbles voor de gewenste periode uit. Omdat het beluisteren van hits tijdsgebonden is, werd er gekozen voor een kleinere periode dan in het vorige model. Een groter tijdsinterval zou ook teveel data met zich meebrengen. Concreet werden de scrobbles opgehaald van 16 april 2013 tot 16 november 2013. Het resultaat is een lijst met per user, alle tracks waarnaar deze geluisterd heeft gedurende het geselecteerde half jaar, inclusief bijhorende datum van
65
beluistering. Er wordt dus een soort van luistergeschiedenis opgemaakt per user. Ook de groep waartoe de user behoorde werd telkens geprint zodat deze informatie niet verloren ging. Een voorbeeld van de output wordt hieronder weergegeven. In totaal werd bijna een miljoen scrobbles verzameld. Voor privacy redenen worden de usernames niet weergegeven. User; Date; Artist; Title; Group User_43; 30/09/13; Summer Heart; RustyScars; Belgium User_43; 30/09/13; Crystal Castles; ViolentYouth; Belgium User_43; 30/09/13; Cupp Cave; She Smells Like Sun Rays; Belgium User_43; 30/09/13; Compact Disk Dummies; Pale Eyes; Belgium User_43; 30/09/13; CHVRCHES; Night Sky; Belgium User_43; 30/09/13; Kleerup; Until We Bleed ft.LykkeLi; Belgium User_43; 30/09/13; Yeasayer; Fingers Never Bleed; Belgium User_43; 30/09/13; Sun Glitters; Too Much to Lose; Belgium
5.2.2. Preprocessing Ook de lijst die werd verzameld voor het tweede luik van dit onderzoek, vereiste nog enkele stappen voorverwerking. De verzamelde gegevens zijn gebaseerd op de scrobbles van de verschillende users. Deze werken zoals reeds vermeld met ID3-tags. De gebruikers moeten vaak zelf deze gegevens invullen. Zeker wanneer er gewerkt wordt met gedownloade mp3’s, hetzij van legale kanalen als soundcloud of artiestenwebsites, hetzij via illegale p2p netwerken. Dit resulteert echter in een wir-war van verschillende formats van gegevens die nog groter is dan bij vorig model. Ten eerste bevat de lijst net zoals bij het Ultratop-model voor een bepaald liedje vaak verschillende schrijfwijzen voor ft. of feat. Maar ook verschillende remixes van eenzelfde song of het al dan niet vermelden van een guest-performance kan de verdere verwerking verstoren. Het is immers de bedoeling dat deze scrobbles, indien ze in essentie hetzelfde liedje vertegenwoordigen, ook herkend worden als dezelfde scrobble. Een voorbeeldje van verschillende variaties kan dit verduidelijken. Beschouw de track ‘Timber’ van de artiest ‘Pitbull’. Pitbull staat er voor bekend altijd te werken met een featuring-artiest of bekende guest-performance. Voor dit liedje collaboreerde de Cubaanse artiest met enfant terrible, ‘Ke$ha’. De officiële benaming van dit liedje is bijgevolg ‘Pitbull – Timber ft. Ke$ha’ zoals ook wordt aangegeven op het officiële VEVO-kanaal
66
op Youtube. Aangezien dit een populaire hit was tijdens de geanalyseerde periode, resulteerde deze track in veel scrobbles over verschillende users. Hieronder volgt een lijst van allemaal verschillende mogelijke benamingen en variaties voor dit liedje. Pitbull
- Timber ft. Ke$ha
Pitbull
- Timber (featuring Ke$ha)
Pitbull
- Timber (ft. Ke$ha)
Pitbull
- Timber (with Kesha)
Pitbull
- Timber (ft. Kesha)
Pitbull
- Timber ft. Ke$ha (Original Mix)
Pitbull
- Timber ft. Ke$ha (Radio Edit)
Pitbull ft. Ke$ha
- Timber
Pitbull & Ke$ha
- Timber
Pitbull / Ke$ha
- Timber
Ke$ha ft. Pitbull
- Timber
Kesha ft. Pitbull
- Timber
Ke$ha
- Timber ft. Pitbull [Radio NRG Mix]
Als oplossing voor dit probleem werd zoveel mogelijk noise-informatie verwijderd. Alle info die tussen haakjes stond werd verwijderd, verschillende schrijfwijzen van featuring, with en versus werden allemaal gelijkgesteld, veel voorkomende tekens werden vervangen etc. Dit zal er voor zorgen dat in een latere fase van het onderzoek de verschillende scrobbles toch zoveel mogelijk herkend zullen worden als eenzelfde liedje. Ook gegevens die onvolledig waren of volledig bestonden uit onleesbare tekens werden verwijderd. 854.060 scrobbles werden behouden. Totslot dient er nog een opmerking gemaakt te worden omtrent de vormelijke vereisten van alle lijsten (dus ook het vorige luik, gebaseerd op The Echonest kenmerken moest hieraan voldoen). Deze bestaan uit een combinatie van tekst en cijfermateriaal. Omdat Weka als input een CSV bestand nodig heeft, moet er ook gezocht worden naar karakters die een juiste ordening van de informatie in de war kunnen sturen. Zo worden tekst strings aangeduid met aanhalingstekens. Wanneer Weka dus een cel tegenkomt die begint met aanhalingstekens, zal de inhoud geklasseerd worden als tekst. De songtitel ‘Feel So Close’ zal dus herkend worden als één enkele tekst-string. Er zijn echter songtitels of artiesten die de karakters “ en ‘ bevatten, bv. de titel: ‘I Don’t Wanna Dance’ of de bepaalde schrijfwijzen voor artiesten met bijnamen bv. ‘Bruce “The Boss” Springsteen’. Deze strings zullen bijgevolg in twee aparte stukken gekapt worden, bv. een eerste deel ‘I Don’ en een tweede deel ‘t Wanna Dance’.
67
Aangezien dit niet de bedoeling is, moet er een correctie aangebracht worden. Alle aanhalingstekens die binnen een titel voorkomen moeten voorzien worden van een slashteken, opdat de string niet afgebroken zou worden. Voor het voorbeeldje geeft dit het volgende resultaat: ‘I Don\’t Wanna Dance’. Op deze mannier zal Weka de titel correct inlezen als één enkele tekst-string, zonder dat het programma in de war wordt gestuurd. Hetzelfde probleem doet zich voor met entries die komma’s of semicolons bevatten. Deze zijn immers de separators die gebruikt worden binnen het CSV formaat dat Weka gebruikt als input. Deze moeten dus ook best opgekuist worden alvorens het bestand in Weka geladen kan worden. Alle nummers moeten dus ook een punt gebruiken als decimaal kenteken. Wanneer dergelijke aanpassingen gemaakt zijn, zal het bestand probleemloos geladen kunnen worden in Weka. Deze procedure is van cruciaal belang voor het verdere onderzoek. Weka vereist immers dat de matrix die ingelezen wordt per rij evenveel kolommen heeft en m.a.w. dus perfect vierkant is. Vandaar dat lege cellen, teveel comma’s of andere ruis informatie zoveel mogelijk vermeden moet worden. Indien hier geen rekening mee wordt gehouden, zal men telkens op de volgende error stoten: ‘Wrong number of values; read 5, expected 148, read token[EOL], line 19’. Deze houdt in dat er op lijn 19 slechts 5 attributes herkend werden, terwijl het programma 148 attributes verwachtte. Weka stelt deze voorwaarde omdat de CSV-bestanden omgezet worden naar ARFF-bestanden. Dit is een format en bestandsextensie speciaal ontworpen door de makers van Weka. Ze omschrijven het bestandstype alsvolgt: An ARFF (Attribute-Relation File Format) file is an ASCII text file that describes a list of instances sharing a set of attributes. (University of Waikato, 2008).
68
5.2.3. Verwerking en resultaten Alvorens dezelfde technieken ook toegepast kunnen worden op de Last.FM lijst met per user de scrobble-geschiedenis, moet de output nog omgezet worden in tabel vorm. Het doel is een tabel met als kolom-header de verschillende users en op de rijen alle verschillende tracks. De matrix onder de headers wordt dan gevuld met het aantal keer dat user X naar liedje Y luisterde. Er moet tevens een extra indicator aangemaakt worden die definieert of een bepaalde scrobble voorspellend is of niet. Een gewoon onderscheid tussen hits en niet hits volstaat niet. Aangezien de opzet is om early adopters te zoeken binnen de Last.FM community, is het belangrijk dat de users naar de hit-song luisteren voordat deze in de top 20 staat. Om deze tabel op te stellen moeten echter nog enkele stappen doorlopen worden. Een conceptueel voorbeeld van het beoogde resultaat wordt weergegeven in tabel 18. Tabel 18: Overzicht gegevens Last.FM Artiest - Titel
User_1 User_2 User_3 User_4 User_5 Totaal Hit Predictive
Liedje_1
6
0
4
2
0
12
1
0
Liedje_2
4
3
0
6
0
13
0
0
Liedje_2
0
6
9
20
0
35
1
1
Liedje_3
1
3
8
4
0
16
1
0
Liedje_4
0
0
0
0
15
15
0
0
Liedje_5
10
5
9
0
0
24
1
1
Bron: Eigen creatie De eerste stap is om alle scrobbles die refereren naar een hit te onderscheiden van alle niethit-scrobbles, onafhankelijk van de datum waarop de beluistering plaatsvond. Dit reduceert de dataset tot enkele duizenden scrobbles. Vervolgens kan voor deze kleinere dataset nagagaan worden of deze hit-scrobbles al dan niet geschieden voordat het betreffende liedje in de top 20 verscheen en dus als predictive scrobble kan doorgaan. Om dit alles praktisch te realiseren zal beroep gedaan worden op het programma Matlab. Om de niet-hits uit de lijst te filteren volstaat een simpel ismember scriptje in Matlab, hieronder weergegeven. Deze functie controleert of de inhoud van cell i uit de bron-matrix A, voorkomt in matrix B. Als matrix A wordt de grote lijst met de scrobble-geschiedenis van alle users genomen. Als matrix B wordt een hitlijst gedefinieerd die alle top 20 hits bevat van de
69
periode 16 april 2013 tot 16 november 2013 uit de Ultratop 50 Dance. Deze hits zijn m.a.w. gelijk aan de deze van het vorige model onder assumptie C. Het script zal als output een extra kolom printen (de kolom hit in tabel 18), die een 1 bevat als de scrobble inderdaad een hit song is en een 0 wanneer het om een niet-hit gaat.
A = input('Te controleren lijst: '); B = input('
Hitlijst: ');
for i = 1:1:size(A,1) if ismember(A(i,1),B) == 1 A(i,2) = {1}; else A(i,2) = {0}; end end
Het deel van de dataset waarvoor er in de extra kolom een 1 geprint is, wordt vervolgens geselecteerd voor nauwkeuriger onderzoek. Deze eerste splitsing werd gemaakt om in het komende deel tijdswinst te realiseren. Door eerst het kaf van het koren te scheiden zal het volgende script slechts op deze kleine dataset uitgevoerd moeten worden. Indien deze tussenstap niet ingevoerd werd, zou het script dat volgt veel te lang duren en uiteindelijk vastlopen. Om na te gaan of het daadwerkelijk een predictieve scrobble is of niet, moet de datum van de scrobble afgetoetst worden met de datum van doorbraak in de top 20. De volledige periode werd opgedeeld per week. Elke week kreeg een weekcode mee. De week van 16 april 2013 tot 23 april 2013 was week 1, de volgende week 2 enz. tot en met de laatste week, deze kreeg weekcode 31. Op deze manier werden de data die bij entry hoorden in de scrobblegeschiedenis vervangen door weekcodes. Deze bewerking werd gerealiseerd d.m.v. een simpele vlookup in Excel. Om te kunnen analyseren welke scrobbles nu daadwerkelijk geschiedde voordat het nummer in de top 20 doorbrak, moet nog een tussen-matrix opgesteld worden. Als beginpunt hiervoor werd de volledige hitlijst van vorig script genomen, matrix B. Deze bevatte alle top 20 hits van
70
de periode 16 april 2013 tot 16 november 2013, ie. week 1 tem. Week 31. Deze werd 31 keer gekopieerd zodat er een nieuwe matrix ontstaat met 31 kolommen. Elke kolom bevat nu de complete hitlijst voor de totale periode. Vervolgens werden per week, de liedjes die in het begin van die periode de top 20 binnen kwamen verwijderd. Het resultaat is dus dat de eerste kolom van deze matrix, die de volledige lijst bevat, steeds kleiner en kleiner wordt naargelang meer en meer liedjes doorbreken in de top 20 en dus niet meer meetellen als predictieve scrobble. Het resultaat is een matrix die 31 weeklijsten bevat. Tenslotte werd een sciptje in Matlab geschreven dat beide matrices aftoetst op overeenkomsten. Afhankelijk van de weekcode in de eerste matrix met alle scrobbles (matrix A), wordt de bijhorende kolom geselecteerd van de matrix die alle weeklijsten bevat (matrix B). Onderstaand script voert dit uit. De tussenstap op lijn 6 van het script is noodzakelijk opdat Matlab de weekcode zou herkennen als getal. Merk op dat hetzelfde script gebruikt kan worden indien in een later stadium of een ander onderzoek de noodzaak ontstaat om lijsten te definiëren die een bepaalde vaste periode ‘voorlopen’ op de echte Ultratop of moet voldoen aan andere eisen. A = input('Lijst met scrobbles: '); B = input('
Weeklijsten: ');
for i = 2:1:size(A,1) w = A(i,2); f = w{1}; h = B(:,f);
if ismember(A(i,1),h) == 1
A(i,3) = {1}; else A(i,3) = {0}; end end
71
Het finale resultaat is een extra kolom die aangeeft ofdat de scrobble geschiedde voordat het betreffende liedje doorbrak in de top 20 (1) of niet (0). Deze werd in tabel 18 weergegeven in de kolom met als hoofdding Predictive. Van het totaal van 854.060 scrobbles, werden er 5.099 gedefinieerd als hit (i.e. 0,6%). Hiervan telden slechts 2.960 scrobbles die tevens als voorspellers of predictieve scrobbles (i.e. 58% van de hits). De overige 2.139 scrobbles gebeurden dus nadat het bijhorende liedje al een hit was geworden. Het resultaat was een groep van 74 users die in deze periode naar minstens één hit geluisterd hebben voordat deze doorbrak in de top 20. De verdeling van deze 74 users in functie van de verschillende user-groepen wordt weergegeven in figuur 21. Figuur 21: Verdeling usergroups
Belgium 13%
Electronic Music 63%
Consistantly NEW electronic and dance music 24%
Bron: Eigen creatie Deze procedure werd doorlopen om de scrobbles die voldoen aan de voorwaarde van hitvoorspeller te kunnen onderscheiden van de overige scrobbles. Tenslotte kan de pivot tabel opgesteld worden die men in het begin voor ogen had, nl. een matrix met als kolommen de verschillende users en als rijen alle tracks. Om de grootte van de pivot tabel te reduceren werd een extra waardefilter toegevoegd. Enkel tracks die in totaal meer dan vijf maal beluisterd zijn, werden weerhouden. Totslot dient opgemerkt te worden dat de lege cellen opgevuld werden
72
met nullen. Dit zorgt ervoor dat Weka de lege cellen niet als missing value labelt, maar effectief aanziet als waarde toevoegende gegevens. Tabel 19: Overzicht model Last.FM
Dataset Last.FM
J48-
JRIP-
beslissingsboom
ruleset
0.50
0.51
NaiveBayes
Logit
Support Vector
regressie
(PolyKernel)
0.79
0.50
0.79
Bron: Eigen creatie
Wanneer de verschillende tests op het model worden losgelaten, bekomt men volgende resultaten, weergegeven in tabel 19. Enkel de modellen gebaseerd op logistieke regressie en naive Bayes geven aanvaardbare AUC waarden, beide hebben een score van ongeveer 0.79. De andere technieken presteren ondermaats. Tabel 20: Detailed accuracy by class model Last.FM (Naive Bayes)
Weight Avg.
TP Rate
FP Rate
Precision
Recall
F-Measure
ROC Area
Class
0.424
0.057
0.014
0.424
0.027
0.782
A
0.943
0.576
0.999
0.943
0.97
0.785
B
0.942
0.575
0.997
0.942
0.968
0.785
Bron: Eigen creatie Tabel 21: Confusion matrix model Last.FM (Naive Bayes) a
b
<-- geklasseerd als
25
34
a = hit
1754
29099
b = niet-hit
Bron: Eigen creatie
73
Figuur 22: ROC-curve model Last.FM (Naive Bayes)
Bron: Eigen creatie o.b.v. Weka
Uit de gedetailleerde output valt wederom op dat ook dit model sterker is in het klasseren van niet-hits. De true negative rate (0.942) ligt veel hoger dan de true positive rate (0.424). Er dient wel opgemerkt te worden dat de precisie van het aanduiden van hits slechts 1,4% bedraagt. Hiertegonover staat natuurlijk wel een zeer hoge precisie wat betreft het aanduiden van niet hits. Het model heeft een bijhorende AUC-waarde van 0.785, dewelke weergegen wordt in figuur 22. De accuracy bedraagt iets meer dan 94%.
Tabel 22: Detailed accuracy by class model Last.FM (Logit)
Weight Avg.
TP Rate
FP Rate
Precision
Recall
F-Measure
ROC Area
Class
0.051
0
0.0333
0.051
0.088
0.789
A
1
0.949
0.998
1
0.999
0.789
B
0.998
0.947
0.997
0.998
0.997
0.789
Bron: Eigen creatie
74
Tabel 23: Confusion matrix model Last.FM (Naive Bayes) a
b
<-- geklasseerd als
3
56
a = hit
6
30847
b = niet-hit
Bron: Eigen creatie
Hetzelfde verhaal als bij het model op basis van de Naive Bayes techniek doet zich ook hier voor. De situatie is echter nog extremer. Er worden slechts 3 hits aangeduid, er worden echter wel maar 6 op de meer dan 30.000 niet-hits fout ingedeeld. De AUC voor het model gebaseerd op logistieke regressie bedraagt 0.789 en wordt grafisch weergegeven in figuur 23. Figuur 23: ROC-curve model Last.FM (Logit)
Bron: Eigen creatie o.b.v. Weka Weka geeft eveneens de resultaten van de attribute selection weer. Op deze manier wordt duidelijk welke users de meeste bijdrage leveren aan het model. Dit wordt gemeten aan de hand van de odds-ratio. Door de coëfficiënten die de verschillen attributen krijgen in de formule te exponentiëren (
) wordt duidelijk hoeveel invloed een verandering in de
variable x1 zal hebben op de uiteindelijke score van een bepaalde instantie. Toegepast op dit model kan men dus stellen dat users met een hoge odds ratio, meer informatie geven over de waarschijnlijkheid dat het betreffende liedje een hit zal worden of niet. Indien gebruikers met
75
een hoge ratio naar een bepaald liedje luisteren, zal dit de classificatie-score van een liedje fors beinvloeden. Afhankelijk van het teken van de bijhorende coëfficiënt, zal het liedje veel meer of veel minder kans maken om als hit gelabeld te worden als de betreffende user met een hoge coëfficiënt ernaar geluisterd heeft. Een overzicht van de gebruikers met de hoogste oddsratios wordt gegeven in figuur 24. In totaal werden er 30 attributes (i.e. users) weerhouden. Hiervan zijn er 5 van de groep Belgium, 12 van de groep Consistantly NEW electonic and dance music en 13 van de groep Electronic music. Figuur 24: Verdeling usergroups na attribute selection
Belgium 17% Electronic Music 43%
Consistantly NEW electronic and dance music
40%
Bron: Eigen creatie De machtsverhoudingen tussen de verschillende groepen is dus na attribute selection licht verschoven. Na deze filtering stijgt het relatieve aantal users van de groep Belgium zeer lichtjes in verhouding tot het totaal, maar vooral de groep Consistantly NEW electronic and dance music, wint fors aan relatief gewicht. In de grafiek met de oorspronkelijke verdeling (figuur 21), had deze groep slechts een gewicht van 24%. Na attribute selection verdubbelde dit bijna. Deze groep heeft dus ten opzichte van het totaal aantal gebruikers die bij deze groep hoorde, relatief gezien meer users die na attribute selection overblijven dan de andere twee groepen.
76
Er kan ook onderzocht worden of bepaalde groepen een tendens hebben naar een negatieve, of een positieve coëfficiënt. De groep Belgium heeft vijf users die een positieve coëfficiënt hebben, tegen vier met een negatieve coëfficiënt, of m.a.w. 55% positieve versus 45% negatieve coëfficiënten. Bij de groep Electronic Music wordt een 41% vs. 59% verhouding vastgesteld, met dus een duidelijk overwicht naar negatieve coëfficiënten. De derde groep behaalt een verdeling van 44% positieve, tegenover 56% negatieve coëfficiënten. Merk wel op dat het hier over aantallen gaat, en niet over gemiddeldes. Als men alle users samen neemt, bekomt men een licht overwicht naar meer negatieve coëfficiënten, nl. 53%. Als men de top 10 van gebruikers met een positieve en negatieve coëfficiënt bekijkt, valt het op dat de groep Belgium, ondanks de laagste vertegenwoordiging, toch verhoudingsgewijs vaker hogere coëfficiënten scoort. Tot slot is het opmerkelijk dat de hoogste positieve coëfficiënten in absolute waarde van een kleinere grootteorde zijn dan de negatieve coëfficiënten. Dit is echter niet onlogisch aangezien het model veel beter scoort in het aanduiden van niet-hits en ook veel vaker een lage score oplevert dan een hoge. Een kritische bedenking dient gemaakt te worden bij het bekijken van de modellen gebaseerd op de Last.FM dataset. Het valt op dat zowel het model gebaseerd op logistieke regressie als het model op basis van Naive Bayes relatief weinig hits kunnen aanduiden, tegenover een sterke niet-hit classificatie. De oorzaak hiervan kan misschien gezocht worden in de scheefheid van de dataset. In de complete lijst met liedjes zijn er immers slechts een 60-tal hits, tegenover bijna 31.000 niet-hits. Niet meteen een gebalanceerde verhouding. Bijgevolg heeft het algoritme amper een inscentive voor het aanleren van een beslissingsregel om hits er effectief uit te halen. Alles labelen als niet-hit geeft immers op de hele dataset gezien, amper 59/30853 of nog geen 0.2% fout geklasseerde instanties. Hoewel dit natuurlijk een bovengemiddelde AUC oplevert kan het misschien nuttig zijn om de dataset te balanceren. Wanneer er een model gebouwd wordt op basis van een evenredig verdeelde training-set zullen er allicht meer hits herkend worden, al dan niet ten koste van meer fout gelabelde niet-hits. Het balanceren van de dataset, het opnieuw trainen en valideren van dit model zal in een volgende stap gebeuren. Eerst wordt er onderzocht of deze bevindingen zich überhaupt wel doorzetten op een apart opgehaalde test-set.
77
5.3. Out-of-time test-sets Alle voorgaande resultaten zijn allemaal gebaseerd op 10fold-cross validation. Er kan echter ook gekozen worden om zelf een aparte test-set te specificeren. Om na te gaan of deze optie betere resultaten zou opleveren en of de resultaten zich doorzetten, werd bijkomende informatie opgehaald. Concreet werden de hitlijsten, zowel Ultratop50 Dance als Bubbling Under, verzameld voor een testperiode lopende van 1 januari 2014 tot 26 april 2014, de laatste zaterdag van de maand april. Voor deze periode werden ook de scrobbles opgehaald van de 71 predictieve users die gebruikt werden in het voorgaande model van Last.FM. De procedure gebruikt tijdens de vorige fase van het onderzoek in verband met dataverzameling en preprocessing werd opnieuw uitgevoerd op de nieuwe lijsten. Er is echter nog een bijkomend aandachtspunt.
Merk op dat tussen de periode waarop de training-set gebaseerd is en de periode van de testset ongeveer anderhalve maand tussen is gelaten. Dit is een bewuste keuze aangezien een overlapping van training-set en test-set absoluut vermeden moet worden. De bufferperiode zorgt er bijgevolg voor dat de hitlijsten al iets verder geëvolueerd zijn. De hitlijsten bestaan dus uit nieuwe liedjes. Een tijdlijn in figuur 25, kan de bufferperiode grafisch duidelijk weergeven. Figuur 25: Schema out-of-time test-set
Bron: Eigen creatie
78
Wanneer de hitparade van 16 november 2013 echter vergeleken wordt met deze van 4 januari 2014 zijn er nog steeds enkele overlappingen. Bepaalde liedjes die in november reeds in de lijst stonden, bevinden zich in januari nog altijd in de hitparade. Al deze dubbels worden verwijderd uit de test-set. Ook de Last.FM dataset moet gefilterd worden zodat er geen overlappingen zijn. Op deze manier bekomt men eerlijke modellen, gebaseerd op een trainingset die volledig anders is dan de test-set. Indien men dit niet zou doen, riskeert men het gevaar van overfitting. Deze procedure werd wederom uitgevoerd in Matlab met een eenvoudig scriptje. Dit resulteerde in twee nieuwe datasets. De test-set werd enkel opgesteld voor het model dat de grootste afstand neemt tussen hits en niet hits, m.a.w. assumptie C. De resultaten van de verschillende classificatiemethoden op de verschillende datasets worden weergegeven in tabel 24.
Tabel 24: Overzicht o.b.v. out-of-time test-set
Dataset
J48-
JRIP-
beslissingsboom ruleset
NaiveBayes
Logit
Support Vector
regressie
(PolyKernel)
Echonest(C)(ALL)
0.71
0.72
0.77
0.79
0.74
Echonest(C)(FAM)
0.62
0.59
0.60
0.72
0.67
Echonest(C)(CLEAN)
0.54
0.58
0.55
0.58
0.51
Last.FM
0.50
0.50
0.81
0.80
0.50
Bron: Eigen creatie Over het algemeen zijn de resultaten gelijkaardig aan deze op basis van de 10FCV. Hier en daar zijn er echter wel enkele uitschieters. De belangrijkste modellen (i.e. C(ALL), C(CLEAN) en Last.FM) zullen hieronder kort besproken worden op basis van de gedetailleerde outputs, steeds gebaseerd op logistieke regressie.
79
Tabel 25: Detailed accuracy by class model C(ALL) (Logit) op aparte test-set
Weight Avg.
TP Rate
FP Rate
Precision
Recall
F-Measure
ROC Area
Class
0.661
0.211
0.661
0.661
0.661
0.789
A
0.789
0.339
0.785
0.785
0.785
0.789
B
0.740
0.290
0.740
0.740
0.740
0.789
Bron: Eigen creatie Tabel 26: Confusion matrix model C(ALL) (Logit) op aparte test-set a
b
<-- geklasseerd als
37
19
a = hit
19
71
b = niet-hit
Bron: Eigen creatie De AUC-waarde ligt iets hoger dan bij het validatie-output, nl. 0.79 tegenover 0.77. Het model scoort goede cijfers op alle test-statistieken en kan 37 hits en 71 niet-hits correct aanduiden. De invloed van de parameters hotness en familiarity mogen ook hier weer niet onderschat worden, zo blijkt uit de outputs van het model o.b.v. de dataset C(CLEAN). Tabel 27: Detailed accuracy by class model C(CLEAN) (Logit) op aparte test-set
Weight Avg.
TP Rate
FP Rate
Precision
Recall
F-Measure
ROC Area
Class
0.304
0.244
0.436
0.304
0.358
0.576
A
0.756
0.696
0.636
0.756
0.69
0.576
B
0.582
0.523
0.559
0.582
0.563
0.576
Bron: Eigen creatie
Tabel 28: Confusion matrix model C(CLEAN) (Logit) op aparte test-set a
b
<-- geklasseerd als
17
39
a = hit
22
68
b = niet-hit
Bron: Eigen creatie
80
De AUC-waarde is nauwelijks veranderd t.o.v. de validatiescore, maar in vergelijking met het vorige model, presteert het model wederom beduidend slechter. Ook De trend dat de modellen sterker zijn in het aanduiden van niet-hits, zet zich consistent door. Ook de bevindingen i.v.m. het andere luik van dit onderzoek, nl. het deel gebaseerd op Last.FM, zijn consistent met de validatieresultaten. Er worden bijna geen hits gedetecteerd, niettegenstaande het model een hoge AUC-waarde neerzet. Tabel 29: Detailed accuracy by class model Last.FM (Logit) op aparte test-set
Weight Avg.
TP Rate
FP Rate
Precision
Recall
F-Measure
ROC Area
Class
0.026
0.043
0.002
0.026
0.003
0.799
A
0.957
0.974
0.997
0.957
0.976
0.799
B
954
0.972
0.994
0.954
0.974
0.799
Bron: Eigen creatie Tabel 29: Confusion matrix model Last.FM (Logit) op aparte test-set a
b
<-- geklasseerd als
1
38
a = hit
575
12696
b = niet-hit
Bron: Eigen creatie Er kan in het algemeen gesteld worden dat de resultaten op basis van een aparte out-of-time test-sets in het verlengde liggen van de verwachtingen op basis van de resultaten bekomen door 10FCV. De trends zetten zich door en er zijn geen abnormaliteiten vastgesteld. Deze consistentie pleit in het voordeel van de gebruikte technieken en modellen. De opmerking die voorheen gemaakt werd i.v.m. de scheefheid van de Last.FM dataset, kan echter wel terug opgepikt worden. De confusion matrix van het Last.FM model leert ons dat er ook op basis van een aparte tes-set, geen hits geïdentificeerd worden. Het reeds aangehaalde idee om dit op te lossen d.m.v. de dataset te balanceren zal dan ook verder onderzocht worden in een volgend hoofdstuk.
81
5.4. Gebalanceerde Last.FM Het Last.FM model blijft moeilijkheden hebben met het identificeren van hits, niettegenstaande een behoorlijke AUC score. Dit kan misschien opgelost worden door de verhouding hits tegenover niet-hits in evenwicht te brengen. Er zijn verschillende mogelijkheden om de dataset te balanceren. Er kan gekozen worden om enkel de training-set in evenwicht te brengen en vervolgens het model dat op basis van deze data opgesteld werd, los te laten op de complete, ongebalanceerde dataset. Er kan ook voor gekozen worden om de test-set eveneens te filteren zodat deze ook gebalanceerd is. Alle opties zullen kort besproken worden. In eerste instantie wordt de training-set gebalanceerd zodat het learning algoritme aangemoedigd wordt om meer hits te herkennen, hopelijk ten koste van zo weinig mogelijk fouten in de categorie niet-hits. Concreet werden de liedjes gefilterd op ‘aantal verschillende users’ die ernaar geluisterd hebben. Enkel de instanties die bij meer dan 5 unieke users effectief een scrobble hadden werden weerhouden. Op deze manier werden reeds enorm veel liedjes uit de dataset gehaald. Ten tweede werd een selectie gemaakt op het aantal beluisteringen in totaal. Het resultaat is dat de nieuwe dataset nog maar slechts uit 59 hits en 323 niet-hits bestaat. Deze training-set werd vervolgens gevalideerd op basis van 10FCV. Het model gaf de volgende resultaten.
Tabel 30: Detailed accuracy by class model Last.FM (Logit) o.b.v. gebalanceerde training-set
Weight Avg.
TP Rate
FP Rate
Precision
Recall
F-Measure
ROC Area
Class
0.322
0.062
0.487
0.322
0.388
0.828
A
0.938
0.678
0.883
0.938
0.91
0.828
B
0.843
0.583
0.822
0.843
0.829
0.828
Bron: Eigen creatie
82
Tabel 31: Confusion matrix model Last.FM (Logit) o.b.v. gebalanceerde training-set a
b
<-- geklasseerd als
19
40
a = hit
20
303
b = niet-hit
Bron: Eigen creatie
Als besluit kan gesteld worden dat er toch al meer hits herkend worden (bijna 50%), terwijl de andere kengetallen niet fors moeten inboeten. De AUC ligt op 0.83, wat een lichte verbetering inhoudt ten opzichte van de grote, scheve dataset. In een volgende fase wordt getest of dat het model dat getraind is op deze kleine dataset, standhoudt wanneer het losgelaten wordt op de grote ongebalanceerde out-of-time test-set. Tabel 32: Detailed accuracy by class model Last.FM (Logit) gebalanceerd - grote test-set
Weight Avg.
TP Rate
FP Rate
Precision
Recall
F-Measure
ROC Area
Class
0.359
0.054
0.019
0.359
0.036
0.71
A
0.946
0.641
0.998
0.946
0.971
0.71
B
0.71
0.944
0.639
0.995
0.944
0.969
Bron: Eigen creatie
Tabel 33: Confusion matrix model Last.FM (Logit) gebalanceerd – grote test-set a
b
<-- geklasseerd als
14
25
a = hit
716
12555
b = niet-hit
Bron: Eigen creatie
Zoals te zien is in de confusion matrix, worden inderdaad iets meer hits herkend, nl. 14 tegenover het oude model, dat slechts 1 hitje juist klasseerde. De AUC gaat echter wel op
83
achteruit (van bijna 0.80 naar 0.71). Een afweging moet dus gemaakt worden tussen beide modellen in functie van welk model het meest wenselijke resultaat oplevert. Totslot werd het model ook getest op een nieuwe test-set die nieuwe data bevatte, dewelke conform de training-set, ook gebalanceerd was. Dit gaf volgende resultaten.
Tabel 34: Detailed accuracy by class model Last.FM (Logit) gebalanceerd – kleine test-set
Weight Avg.
TP Rate
FP Rate
Precision
Recall
F-Measure
ROC Area
Class
0.359
0.082
0.203
0.359
0.259
0.822
A
0.918
0.641
0.961
0.918
0.939
0.822
B
0.887
0.61
0.919
0.887
0.902
0.822
Bron: Eigen creatie
Tabel 35: Detailed confusion matrix model Last.FM (Logit) gebalanceerd – kleine test set a
b
<-- geklasseerd als
14
25
a = hit
55
615
b = niet-hit
Bron: Eigen creatie
De AUC score ligt opnieuw in de regionen van het oude (ongebalanceerde model), nl. 0.82. Er worden meer hits aangeduid. Merk echter wel op dat de precisie waarmee dit gebeurd nog steeds relatief laag ligt, slechts 20% van de liedjes die het model aanduidt als hit, zijn effectief juist geklasseerd. Het model met de ongebalanceerde dataset scoorde een precisie die nog lager was (amper 0,2%). De ingreep van het balanceren van de training-set geeft dus aanleiding tot modellen die effectief iets meer hits aanduiden en dus een mogelijk alternatief bieden voor de andere reeds opgestelde classificatiemodellen. De AUC’s zijn qua grootteorde gelijkaardig, waardoor de keuze gemaakt dient te worden op basis van de focus van de onderzoeker. Als het doel is om effectief mogelijke hits aan te zoeken, zijn de gebalanceerde modellen meer aangewezen. Anderzijds scoren de ongebalanceerde tests beter op een zuivere niet-hit classificatie.
84
Er dient opgemerkt te worden dat het balanceren van gegevens gebeurde op voorhand in Excel zodat er steeds nieuwe aparte datasets ontstonden. De mogelijkheid bestaat om een gelijkaardig resultaat te bekomen in Weka door verschillende commando’s te combineren. Zo suggereren verschillende bronnen de volgende filters: Resample, SpreadSubSample, SMOTE, InterQuartileRange of een cost-sensitive classifier (Weka, 2014). Deze ingrepen resulteren echter allemaal in gebalanceerde modellen die zwakker scoren dan deze op basis van een zelf uitgevoerde balancering. Totslot dient opgemerkt te worden dat door het balanceren van de dataset de realistische feed van gegevens aangetast wordt. Er worden binnen de Last.FM gemeenschap immers gewoonweg veel meer niet-hits beluister dan hits. De scheefheid van de dataset is met andere woorden een realistische weerspiegeling van de werkelijkheid. Dit argument speelt in het voordeel van de ongebalanceerde training-sets aangezien deze nauwer gebaseerd zijn op de realiteit.
85
6. VERGELIJKING VAN DE VERSCHILLENDE MODELLEN
Tabel 36: Overzicht alle resultaten
JRIP-
beslissingsboom
ruleset
Echonest (A)(ALL)
0.61
0.58
0.67
0.69
0.60
Echonest (A)(FAM)
0.56
0.54
0.57
0.59
0.50
Echonest (A)(CLEAN)
0.53
0.54
0.54
0.55
0.50
Echonest (B)(ALL)
0.68
0.66
0.71
0.73
0.67
Echonest (B)(FAM)
0.59
0.58
0.59
0.62
0.58
Echonest(B)(CLEAN)
0.54
0.55
0.55
0.56
0.54
Echonest (C)(ALL)
0.73
0.72
0.75
0.77
0.70
0.71
0.72
0.77
0.80
0.74
0.60
0.61
0.60
0.64
0.59
0.62
0.59
0.60
0.72
0.67
0.54
0.55
0.56
0.57
0.55
0.54
0.58
0.55
0.58
0.51
Last.FM
0.50
0.51
0.79
0.79
0.50
ongebalanceerd
0.50
0.50
0.81
0.80
0.50
Dataset
Echonest (C)(FAM)
Echonest (C)(CLEAN)
NaiveBayes
Last.FM gebalanceerd
Logit
Support
J48-
regressie
Vector (PolyKernel)
0.83 n.v.t.
n.v.t.
n.v.t.
0.71 (gr)
n.v.t.
0.82 (kl) Bron: Eigen creatie
86
Verschillende assumpties zijn gemaakt. Dit leidde tot verschillende datasets. Er werd enerzijds gewerkt met 10 fold cross validation, maar in tweede instantie werden de modellen ook getest op een nieuw opgehaalde test-set. Het luik gebaseerd op Last.FM werd eveneens gebalanceerd om zo de resultaten bij te sturen. Een duidelijk overzicht van alle verschillende modellen met de bijhorende AUC scores wordt weergegeven in tabel 37. De rode cijfers hebben telkens betrekking tot de resultaten behaald op de aparte out-of-time test-set. Uit deze tabel wordt duidelijk dat logistieke regressie in het algemeen voor deze analyse de best presterende classificatie techniek is. Deze wordt kort gevolgd door de classificatie op basis van Naive Bayes. Het model gebaseerd op SVM presteert onregelmatig en over het algemeen slechter dan verwacht. De oorzaak kan moet allicht gezocht worden in de complexiteit van de data. Het vinden van de gepaste kernel is niet vanzelfsprekend. Zowel voor het deel gebaseerd op de hitlijsten, als het luik dat vertrok van de sociale website Last.FM, is het best bekomen resultaat een AUC van 0.80 of hoger, beide behaald wanneer het model getest wordt op een aparte out-of-time test-set op basis van een model getraind met logistieke regressie. De algemene AUC’s (zeker van logit modellen) liggen consistent boven de willekeurige classificatie-grens. Deze resultaten liggen in het verlengde van het onderzoek uitgevoerd door Herremans (2013). De onderzoekers besloten op basis van hun onderzoek immers eveneens dat logistieke regressie en Naive Bayes de beste classificatie-resultaten opleverden. Ook SVM scoorde onverwacht laag. De AUC-waarden van dit onderzoek situeerden zich binnen dezelfde ordegrootte van de literatuur. Tijdens de gedetailleerde bespreking kwamen ook echter enkele pijnpunten naar boven. De modellen presteren allemaal beter in het aanduiden van niet-hits. Wanneer de parameters rond hotness en familiarity uit dataset worden weggeknipt, vervaagt de verklaringskracht voor een groot stuk.
87
7. KRITIEK & AANBEVELINGEN
Na het bespreken van de verschillende modellen, technieken en resultaten, kan de volledige procedure kritisch geëvalueerd worden. In dit deel zullen verschillende opmerkingen gemaakt worden, die naar de toekomst toe verder onderzoek kunnen aanzwengelen of waar het de modellen aangepast kunnen worden.
7.1. Meta-kenmerken Een eerste voetnoot die gemaakt kan worden, houdt verband met de meta-kenmerken i.v.m. hotness en familiarity. Het is al meermaals aangehaald dat de modellen die deze kenmerken in rekening brengen consistent beter presteren. Dit kan op verschillende manieren geïnterpreteerd worden. Ongeacht de dubbelzinnige oorzaak-gevolgrelatie, is de significantie van de parameter wel duidelijk. Artiesten kunnen hier dan ook op inspelen. Men kan een hotness-effect aansturen door prominent aanwezig te zijn op verschillende media. Door veel chatter te creëren d.m.v. marketing, sociaal engagement of fan-relaties, zullen meer mensen notie krijgen van bestaan van de artiest en kan ook de familiariteit stijgen. Ook met het oog op de budgetverdeling bij het begeleiden van nieuwe artiesten kan deze informatie relevant zijn. Het verband tussen de muziekindustrie en de sociale media is dan ook al meermaals aangehaald en zal in de toekomst enkel toenemen. Het luik van de HSS dat rekening houdt met sociale media e.d.m. zou wel eens aan belang kunnen winnen. De meta-variabelen van The Echonest
overschaduwden
immers
de
andere
echte
musikale
kenmerken
qua
onderscheidingswaarde.
7.2. Regionale verschillen Een kritische opmerking die gemaakt kan worden is het feit dat de Belgische hitlijsten gewoon in de tijd achterlopen op de grotere landen als de VS en het VK. Hoewel deze redenering vorige decennia allicht standhield, wordt deze meer en meer op de proef gesteld. Een snelle verspreiding van informatie over het net en via verschillende media zorgt ervoor dat een hit tegenwoordig in geen tijd komt overgewaaid.
88
Tevens speelt er op vlak van muziek een sterk regionaal effect. Het feit dat de hitlijsten van bepaalde landen ingepalmd wordt door een grote groep inheemse artiesten (vb. Japan, Frankrijk etc.) werd reeds aangehaald. Uit dit onderzoek is echter ook gebleken dat van de drie onderzochte usergroups op Last.FM, de groep Belgium, toch meer informatiewaarde bevatte dan de andere. Het regionaal effect, ook op België, is dus zeker niet onbelangrijk. Deze bevinding wordt ondersteund door verschillende bronnen. Het beste voorbeeld wordt gegeven door Lamere (2014) op de muziek-blog MusicMachinery. Deze heeft in de VS onderzocht wat de favoriete artiest is per staat, gebaseerd op aantal beluisteringen over verschillende diensten die gebruik maken van The Echonest. Het resultaat is opmerkelijk. Er kunnen duidelijke verschillende regionale clusters afgebakend worden. Een dergelijk onderzoek voor Europa werd jammer nog niet uitgevoerd en biedt perspectieven voor toekomstige onderzoekers.
Figuur 26: Regionale voorkeur favoriete artiest USA
Bron: Lamere, (2014)
89
7.3. Representativiteit Wat betreft de website Last.FM kan de vraag gesteld worden of de usercommunity wel een afspiegeling is van de echte gemeenschap. Het antwoord is dat dit inderdaad het geval blijkt te zijn. Alle leeftijdscategorieën zijn evenredig vertegenwoordigd. Dit besluit kan genomen worden op basis van figuur 27. Ook qua geslachtsverdeling blijkt er geen afwijking te zijn binnen de Last.FM gemeenschap. Uit figuur 28 blijkt dat er immers quasi evenveel mannelijke als vrouwelijke gebruikers zijn. Het gebruiken van Last.FM gegevens impliceert met andere woorden geen scheef getrokken populatie op basis van demografische kenmerken. De website en de bijhorende API herbergen nog tal van mogelijkheden waarop onderzoekers zich in de toekomst op kunnen berusten.
Figuur 277: Leeftijdsverdeling sociale media
Bron: Pingsom, 2012
90
Figuur 28: Verhouding man-vrouw op sociale media
Bron: Pingdom, 2012
7.4. Minpunten Last.FM
Hoewel er in de Last.FM database nog zeer veel ongebruikte nuttige informatie schuilgaat, zijn er ook enkele minpuntjes verbonden aan de website. Het grootste probleem is het feit dat gebruikers meestal zelf de ID3-tag van hun mp3-files moeten invullen. Dit houdt zoals reeds uitgelegd in dat er immens veel variaties mogelijk zijn voor eenzelfde liedje. Dit probleem werd zo goed mogelijk aangepakt, maar er bestaan andere alternatieven die niet met dit probleem kampen. Indien men werkt met informatie uit de Spotify database of andere streamingdiensten zoals Deezer of Rdio, wordt dit probleem meteen uitgeschakeld. Naar toekomstig onderzoek toe is het wellicht interessant om dergelijke platformen ook te analyseren. Ook de scheefheid van de dataset van opgehaalde scrobbles bleek een pijnpunt. Dit werd gedeeltelijk opgelost door de trainingset te balanceren. Om perk en paal te stellen
91
aan de overvloed aan niet-hits kan bijvoorbeeld een filter toegevoegd worden die enkel de scrobbles van de niet-hits ophaalt, die voortkwamen uit het onderzoek op basis van de Bubbling Under. Deze mogelijkheid is echter jammer genoeg niet voorhanden in de Last.FM API. Niettegenstaande dat er reeds zeer veel gegevens verzameld werden voor de verschillende liedjes, zijn er nog altijd variabelen die extra toegevoegde waarde kunnen geven aan het model. Een vanzelfsprekende toevoeging is een attribute die op een of andere manier de lyrics samenvat. Er wordt hierbij bijvoorbeeld gedacht aan een attribute dat het meest voorkomend woord weergeeft. Een andere mogelijkheid is dat een lied een algemeen thema of een score op agressiviteit, romantiek etc. meekrijgt op basis van lyrics. Dit aspect valt onder text-mining. Bij Dance muziek wordt er vaak beroep gedaan op relatief onbekende vocalisten. Deze worden bijna nooit in de titels van de betreffende nummers vermeld. De keuze welke stem er gebruikt wordt kan wel eens meer invloed hebben dan men denkt. Twee van de grootste Dance hits van het moment zijn immers beide ingezongen door eenzelfde vocalist, nl. de onbekende Jess Glynne. Het betreft de nummers Rather Be van Clean Bandits en My Love van Route 94. De huidige modellen houden echter niet rechtstreeks rekening met dergelijke variabelen.
7.5. Portie geluk Er kan gesteld worden dat de hit song science tot de verbeelding spreekt van het grote publiek. Enkele populaire artikels verschenen recent omtrent hit-wonder Pharell. Interviewers stelden hem de vraag of hij de geheime code gekraakt had om een hit te maken. In het afgelopen jaar veranderde alles wat de producer aanraakte in goud. Voorbeelden van z’n succes als artiest zijn oa. de hits Happy en Marilyn Monroe, maar ook als producer rijgt hij de successen aan elkaar met oa. Daft Punk, Paloma Faith en Robin Thicke. De Belgische radiozender Studio Brussel (2014) publiceerde een kleine mix waarin de intro’s van Pharell’s grootste successen in verwerkt zijn. Deze hebben opmerkelijke overeenkomsten. Blijkt dat de liedjes altijd met vier korte claps beginnen. Een fait divers dat wellicht geen voorspellingswaarde heeft, maar het onderstreept wel hoe dicht HSS bij de dagelijks leefwereld van de doorsnee burger staat. In een interview verklaarde Pharell nog het volgende op de vraag of hij een speciaal truckje had om keer op keer een hit te scoren. ‘Ik heb geen invloed op de populariteit van m’n liedjes zelf. Iedereen kan wellicht tien te gekke nummers opnoemen van onbekende artiesten. Het feit dat 92
ze onbekend zijn heeft niet altijd met de artiesten zelf te maken. Het lot bepaald deels of een liedje populair wordt of niet.’ (Lamberts, 2014, p.11) Een treffend voorbeeld dat er een toevalsfactor meespeelt is de hit ‘Sam Sparro - Happiness (The Magician Remix)’. Dit relatief onbekende nummer werd plots immens populair door een incident tijdens de overwinningsspeech van Bart De Wever bij de gemeentelijke verkiezingen van 2012. De muziekverantwoordelijke van dienst was iets te laat met het outfaden van de achtergrondmuziek, waarop de toenmalige burgemeester van Antwerpen in spe verveeld riep ‘Zet die plaat af!’. Dit clipje werd verspreid over heel het land en ontelbare parodieën en persiflages werden gepost op alle mogelijke sociale media. De artiesten in kwestie genoten bijgevolg een massa aandacht en op deze manier werd het nummer, door toeval, een grote hit. Sterker nog, ook het origineel scoorde enkele maanden later goed in de hitparades. Dergelijke gebeurtenissen zijn natuurlijk moeilijk te voorspellen. De gebruikte methodologie en resultaten bewijzen echter dat er wel degelijk relevante voorspellingen gemaakt kunnen worden.
93
8. BESLUIT
Uit de literatuurstudie kwamen bepaalde aspecten meermaals naar boven. De belangrijkste conclusie hieromtrent is dat er hoofdzakelijk twee aparte benaderingen zijn tot het vraagstuk van hit prediction. Enderzijds zijn er modellen die focussen op intrinsieke kenmerken van het lied, anderzijds zijn er onderzoekers die informatie van sociale media gebruiken om hun beslissingsregels op te stellen. Beide pistes werden in dit onderzoek onderzocht, toegepast op de hits van de Ultratop 50 Dance, de Vlaamse hitlijst voor Dance muziek. Qua methodologie was het in verleden binnen de hit song science zoeken naar een gestandaardiseerde procedure, een algemeen aanvaarde methodologie. Het is bewezen dat de methodes aagebracht door o.a. Herremans (2013), eveneens in dit onderzoek goede en consistente resultaten opleveren. Concreet werd op basis van The Echonest informatie opgehaald over de liedjes van de Ultratop 50 Dance en de bijhorende Bubbling Under lijst om zo een classificatie uit te voeren die alle liedjes opdeelt in hits en niet-hits. Om het sociale media-aspect te onderzoeken werd een eigen methode ontwikkeld dat gebaseerd is op de website Last.FM dat een gelijkaardige classificatie uitvoerde. Alle stappen die uitgevoerd werden in dit proces, van gegevensverzameling d.m.v. de webcrawler tot preprocessing, verwerking in Weka en resultaatbespreking werden overlopen en gedetailleerd besproken. De uiteindelijke resultaten liggen in de lijn van de verwachtingen. De hoogste scores die behaald worden o.b.v. AUC liggen voor beide deel-aspecten rond de 0.80. Er dient wel genuanceerd te worden dat deze scores sterk beïnvloed werden door enkele meta-kenmerken en dat de modellen uitgesproken beter presteren in het aanduiden van niethits dan omgekeerd. De negative predictive value is m.a.w. groter dan de precisie. In de literatuur werd de vraag gesteld of er wel sprake is van een science die hit prediction mogelijk maakt. Concluderend kan gesteld worden dat de methodes en resultaten bewezen zijn. De zoektocht naar relevante features om hits te voorspellen gaat echter verder. Zo kan er bijvoorbeeld gewerkt worden met lyrics, geografische spreiding of informatie van streamingdiensten. Deze tak van de wetenschap staat nog maar in z’n kinderschoenen. De weg is echter wel geplaveid voor verder onderzoek.
94
95
BIBLIOGRAFIE
Barnett, E. (2011, Maart 24). MySpace loses 10 million users in a month. The Telegraph [UK]. BBC News (2011, December 17). Secrets of pop success revealed, scientists claim. Opgehaald van http://www.bbc.com/news/technology-16218284. Bello, J. P. (2012, December 1). http://www.ismir.net/. Bischoff, K., Firan, C. S., Georgescu, M., Nejdl, W., & Paiu, R. (2009). Social Knowledge-Driven Music Hit Prediction. 5th International Conference, ADMA 2009, Beijing, China, August 17-19, 2009. Proceedings, 43-54. Borg, N. & Hokkanen, G. (2011). What makes for a hit pop song? What makes for a pop song?. Opgehaald van http://cs229.stanford.edu/proj2011/BorgHokkanenWhatMakesForAHitPopSong.pdf. Boswell, D. (2002). Introduction to Support Vector Machines. California Institute of Technology. Box Office Mojo (2013) Yearly Box Office Results. Opgehaald van http://www.boxofficemojo.com/yearly/chart/?view=widedate&view2=domestic&yr=2013&p =.htm Chen, C. & Chellappa, R. (2009). Music Sales and Online User Activity at Social Networking Sites. Working Paper, Goizueta Business School, Emory University. Dawid, A. P. (1979). Conditional Independence in Statistical Theory. Journal of the Royal Statistical Society, Series B 41 (1), 1–31. Decker, R. & Trusov, M. (2010). Estimating aggregate consumer preferences from online product reviews. International Journal of research in Marketing, 27,293-307. Dewan, S. & Ramprasad, J. (2009). Chicken and Egg? Interplay Between Music Blog Buzz and Album Sales. PACIS 2009 Proceedings, 87. Dhanaraj, R. & Logan, B (2005). Automatic prediction of hit songs. In Proceedings of the International Conference on Music Information Retrieval, 488-91. Dhar, V. & Chang, E. (2009). Does chatter matter? The impact of user-generated content on music sales. Journal of Interactive Marketing, 23,300-307. Downie, J.S. (2003). Music information retrieval. Annual review of information science and technology 37 (1), 295-340.
96
Downie, J. S. (2008). The music information retrieval evaluation exchange: A window into music information retrieval research. Acoustical Science and Technology. DTREG (2014). SVM - Support Vector Machines. Retrieved from http://www.dtreg.com/svm.htm Dunford, J. (2014, March 26). Viral Marketing. Opgehaald van http://byucomms101.wordpress.com/2014/03/26/viral-marketing-flex-like-carrie/ Franklin, K. (2013, Augustus 29). Social Media is Revolutionising the Music Industry. Opgehaald van http://www.brandwatch.com/2013/08/social-media-the-music-industry. GEMLeR (2002). Gene Expression Machine Learning Repository. Opgehaald van http://gemler.fzv.uni-mb.si/results.php Godes, D. & Mayzlin, D. (2004). Using online conversations to study word-of-mouth communication. Marketing Science,545-560. Goos, P. (2009). Kwantitatieve beleidsmethoden: enkelvoudige en meervoudige regressie (3de ed.). Leuven, België: Acco. Hall, M., Frank, E., Holmes, G., Pfahringer, B., Reutemann, P. & Witten, I. H. (2009). The WEKA data mining software: an update. ACM SIGKDD Explorations Newsletter, 11(1), 10-18. Hann, I. H., Oh, J. H. & James, G. (2011). Forecasting the Sales of Music Albums: A Functional Data Analysis of Demand and Supply Side. Working paper. Hardikar, S., Shrivastava, A. & Choudhary, V. (2012). Comparison between ID3 and C4.5 in Contrast to IDS. VSRD - IJCSIT, 2(7), 659 - 667. Hartman, W. & Roos, J. (1984). Technieken voor systeemonderzoek, Kluwer-Deventer. Herremans, D., Martens, D. & Sörensen, K. (2013). Classifcation and generation of music by composer. Herremans, D., Martens, D. & Sörensen, K., Journal of New Music Research, Special issue on Music and Machine learning, Taylor & Francis (in press) Hinz, O., Skiera, B., Barrot, C. & Becker, J. (2011). Seeding Strategies for Viral Marketing: An Empirical Comparison. Journal of Marketing, 75 (6), 55-71. Hu, V. & Buli, L. (2012, December 6). Data Science and the Music Industry: What Social Media Has To Do With Record Sales. Opgehaald van http://sidewinder.fm/post/37335300801/datascience-and-the-music-industry-what-social-media Hymes, T. (2013, September 23). What Social Media Is Doing To Music. Opgehaald van http://www.hypebot.com/hypebot/2013/09/what-social-media-is-doing-to-music-hint-itsnot-good.html.
97
IFPI (2013, April 8). IFPI's Recording Industry in Numbers 2013. Opgehaald van http://www.ifpi.org/news/ifpi-s-recording-industry-in-numbers-2013-the-must-read-ofglobal-music-published-today. IFPI (2014). Digital Music Report 2014. Retrieved from http://www.ifpi.org/downloads/DigitalMusic-Report-2014.pdf IFPI (2014, Maart 18). Music subscription revenues help drive growth in most major markets. Opgehaald van http://www.ifpi.org/news/music-subscription-revenues-help-drive-growth-inmost-major-markets. Inside Facebook. Opgehaald van April 4, 2014, van http://www.insidefacebook.com/ Jehan, T. & DesRoches, D. (2012). EchoNest Analyzer Documentation. Opgehaald van developer.echonest.com/docs/v4/_static/AnalyzeDocumentation.pdf. Jehan, T. (2005). Creating music by listening. PhD thesis, Massachusetts Institute of Technology. Jenn (2012, September 27). Recall and AUC of a binary classifier. Opgehaald van http://stats.stackexchange.com/questions/38141/recall-and-auc-of-a-binary-classifier Jonze, T. (2014, Januari 29). Prince drops $22m in lawsuits against fans and Facebook users. The Guardian. Kkudi (2011, June 8). StackExchange. Retrieved from http://tex.stackexchange.com/questions/20267/how-to-construct-a-confusion-matrix-inlatex Kotsiantis S.B. (2007). Supervised Machine Learning: A Review of Classification Techniques, Informatica 31, 249-268. Lamberts, P. (2014). Pharell Williams: ladies man. Bax Magazine. Lamere, P. (2009). Artist similarity, familiarity and hotness. Opgehaald van http://musicmachinery.com/2009/05/25/artist-similarity-familiarity-and-hotness Lamere, P. (2014, Februari 25). Exploring regional listening preferences. Opgehaald van http://musicmachinery.com/2014/02/25/exploring-regional-listening-preferences. Lamere, P. (2014, Februari 13). Exploring age-specific preferences in listening. Opgehaald van http://musicmachinery.com/2014/02/13/age-specific-listening Lewis, D.D. (1998). Naive (bayes) at forty: The independence assumption in information retrieval. In Machine learning: ECML ‘98, 4-15. Lindvall, H. (2011, Juli 14). How to write a hit song. Opgehaald van http://www.theguardian.com/music/musicblog/2011/jul/14/how-to-write-a-hit-song
98
McKay, C. & Fujinaga, I. (2006). jSymbolic: A Feature Extractor for MIDI Files. Ann Arbor, MI: Scholarly Publishing Office, University of Michigan Library. Mireia (2010, Maart 11). Bit search: Cross-validation methods for image classification. Opgehaald van http://bitsearch.blogspot.be/2010/03/learning-about-cross-validationmethods.html Muziekcentrum Vlaanderen, Belgian Entertainment Association & Ultratop (2013, Februari 5). Belgische muziekverkoop blijft dalen. Opgehaald van http://www.muziekcentrum.be/news.php?ID=3126. Ni, Y., Santos-Rodriguez, R., McVicar, M. & De Bie, T. (2011). Hit Song Science Once Again a Science?. Pachet, F. & Roy, P. (2008). Hit Song Science Is Not Yet a Science. Proceedings of Ismir 2008, 355-360. Patchet, F. (2011). Hit Song Science. In Tao, Tzanetakis & Ogihara (Ed.), Music data mining (305-326). Boca Raton: CRC Press. Pingdom (2012, August 21). Report: Social network demographics in 2012. Opgehaald van http://royal.pingdom.com/2012/08/21/report-social-network-demographics-in-2012/ RIAJ (2013). Statistics Trends. The Recording Industry of Japan. Opgehaald van http://www.riaj.or.jp/e/issue/pdf/RIAJ2013E.pdf. Rogers, E. M. (1962). Diffusion of Innovations. New York, NY: Free Press. Rückert, U., Kramer, S. & Fürnkranz, J. (2010). A Statistical Approach to Rule Learning. Universitätsbibliothek der TU München. Salganik, M.J., Dodds, P.S.& Watts, D.J. (2006). Experimental study of inequality and unpredictability in an artificial cultural market. Science, 311 (5762),854-856. Seifert, M., & Hadida, A. L. (2013). 3 Humans + 1 Computer = Best Prediction. Harvard Business Review. Opgehaald van http://hbr.org/2013/05/3-humans-1-computer-best-prediction/ar/1 Shane (2010, August 18). Cross-Validation in plain english. Opgehaald van http://stats.stackexchange.com/questions/1826/cross-validation-in-plain-english Smit, M. (2013). Can you predict a hit? Radboud Universiteit Nijmegen. Studio Brussel (2014). Het geheim achter de hits van Pharrell. Opgehaald van http://www.stubru.be/programmas/intomusic/hetgeheimachterdehitsvanpharrell Squires, R. (2014, December 2). Shazam Predicts the Acts to Watch for 2014. Opgehaald van http://news.shazam.com/pressreleases/shazam-predicts-the-acts-to-watch-for-2014including-martin-garrix-banks-and-kid-ink-935955
99
Tan et al. (2007) Introduction to data mining. India. Pearson Education. Twitter. Opgehaald op April 4, 2014, van http://twitter.com Ultratop- Belgian Charts. Opgehaald op April 4, 2014, van http://www.ultratop.be/nl/ University of Waikato (2008). Attribute-Relation File Format (ARFF). Opgehaald van http://www.cs.waikato.ac.nz/ml/weka/arff.html Vapnik, V.N. (1995). The nature of statistical learning theory. New York, NY: Springer-Verlag. vos Savant, M. (2 December 1990). Ask Marilyn. Parade Magazine, 25. Williams, P. (2012, September 21). Universal/ EMI: what Universal keeps, what it must divest. Opgehaald van http://www.musicweek.com/news/read/universal-emi-what-universal-keepswhat-it-must-divest/051889 YouTube. Opgehaald op April 12, 2014, van http://www.youtube.com Yucel, A. (2013, Maart 21). Analytics and Visualization of Big Data: Support Vector Machines (SVM). Opgehaald van http://auburnbigdata.blogspot.be/2013/03/support-vector-machinessvm.html
100
BIJLAGEN
De bijlage bij deze thesis zijn gebundeld op de CD-ROM: Data Mining & Muziek - Hit Prediction of Dance Music for the Belgian Charts - Bijlagen(Bergmans, 2014). Aangezien de datasets te omvangrijk zijn wordt er dan ook verwezen naar de digitale bijlage voor de concrete gegevens en outputs. Ook de scripts die gebruikt zijn om o.a. de data op te halen van de verschillende websites staan op deze CD.
101
VERKLARING OP WOORD VAN EER
Ik verklaar dat ik deze aan de faculteit TEW ingediende masterthesis zelfstandig en zonder hulp van andere dan de vermelde bronnen heb gemaakt. Ik bevestig dat de direct en indirect overgenomen informatie, stellingen en figuren uit andere bronnen als zodanig aangegeven zijn in overeenstemming met de richtlijnen over plagiaat in de cursus WEW en de brochure masterproef. Ik bevestig dat dit werk origineel is, aan geen andere onderwijsinstelling werd aangeboden en nog niet werd gepubliceerd. Ik ben mij bewust van de implicaties van fraude zoals beschreven in artikel 18 van het onderwijs- en examenreglement van de Universiteit Antwerpen (www.ua.ac.be/oer).
Datum:
Plaats:
Naam:
Handtekening:
102