X-Git-Url: https://git.njae.me.uk/?a=blobdiff_plain;f=beatles-vs-stones-gather-data.ipynb;h=7483201d489bca65b2429b59576510680ebec3f6;hb=a2807796c308645ff86452980f6b678f458963cd;hp=a902935c59d59193144e34405faaaec8cde59644;hpb=f957e34d6d16305be59287c3ca0ffb7a08805ca3;p=battle-of-the-bands.git diff --git a/beatles-vs-stones-gather-data.ipynb b/beatles-vs-stones-gather-data.ipynb index a902935..7483201 100644 --- a/beatles-vs-stones-gather-data.ipynb +++ b/beatles-vs-stones-gather-data.ipynb @@ -12,9 +12,15 @@ "\n", "I'm also on a bit of a Beatles jag, so I've also done the analysis for Beatles songs.\n", "\n", - "http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0115255#s5\n", - "https://www.discogs.com/developers/#page:database,header:database-artist-releases\n", - "http://data.discogs.com/\n", + "### Some data sources\n", + "\n", + "* http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0115255#s5\n", + "* https://www.discogs.com/developers/#page:database,header:database-artist-releases\n", + "* http://data.discogs.com/\n", + "\n", + "* https://labrosa.ee.columbia.edu/millionsong/\n", + "\n", + "* https://twitter.com/kcimc/status/893855561590157312?s=09 and https://drive.google.com/file/d/0B9tyIRZ76JCdN3NtaVpPU3c4QWs/view (stored locally in the [1m.pkl](1m.pkl) folder)\n", "\n", "\n", "## Contents\n", @@ -25,11 +31,6 @@ "* [Tag track with artist](#tagtrackwithartist)\n", "* [Get full track data](#fulltrackdata)\n", "* [Lyrics search](#lyricssearch)\n", - "\n", - "^^ Done\n", - "\n", - "vv Not done\n", - "\n", "* [Matching datasets](#matchingdatasets)\n", "* [Copy the lyrics over](#copylyrics)\n", "* [Sentiment analysis](#sentimentanalysis)\n", @@ -48,9 +49,8 @@ }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 3, "metadata": { - "collapsed": true, "run_control": { "read_only": false } @@ -85,10 +85,8 @@ }, { "cell_type": "code", - "execution_count": 2, - "metadata": { - "collapsed": true - }, + "execution_count": 4, + "metadata": {}, "outputs": [], "source": [ "# Open a connection to the Mongo server\n", @@ -97,10 +95,8 @@ }, { "cell_type": "code", - "execution_count": 3, - "metadata": { - "collapsed": false - }, + "execution_count": 10, + "metadata": {}, "outputs": [], "source": [ "# try:\n", @@ -111,10 +107,8 @@ }, { "cell_type": "code", - "execution_count": 4, - "metadata": { - "collapsed": false - }, + "execution_count": 5, + "metadata": {}, "outputs": [], "source": [ "# Create a database and a collections within it.\n", @@ -135,10 +129,8 @@ }, { "cell_type": "code", - "execution_count": 5, - "metadata": { - "collapsed": false - }, + "execution_count": 6, + "metadata": {}, "outputs": [ { "data": { @@ -146,7 +138,7 @@ "['app_name', 'client_id', 'client_secret', 'redirect_uri', 'token']" ] }, - "execution_count": 5, + "execution_count": 6, "metadata": {}, "output_type": "execute_result" } @@ -175,6 +167,16 @@ "# config.write(configfile)" ] }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "stones_id = '22bE4uQ6baNwSHPVcDxLCe'\n", + "beatles_id = '3WrFJ7ztbogyGnTHbHJFl2'" + ] + }, { "cell_type": "markdown", "metadata": {}, @@ -188,9 +190,7 @@ { "cell_type": "code", "execution_count": 6, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [], "source": [ "def get_artists(artist_name):\n", @@ -211,9 +211,7 @@ { "cell_type": "code", "execution_count": 7, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -238,9 +236,7 @@ { "cell_type": "code", "execution_count": 8, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -272,9 +268,7 @@ { "cell_type": "code", "execution_count": 9, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [], "source": [ "def get_albums(artist_id):\n", @@ -292,9 +286,7 @@ { "cell_type": "code", "execution_count": 41, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -315,9 +307,7 @@ { "cell_type": "code", "execution_count": 13, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -338,9 +328,7 @@ { "cell_type": "code", "execution_count": 13, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -658,7 +646,6 @@ "cell_type": "code", "execution_count": 11, "metadata": { - "collapsed": false, "scrolled": true }, "outputs": [ @@ -1091,9 +1078,7 @@ { "cell_type": "code", "execution_count": 16, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [], "source": [ "def get_tracks(album_id):\n", @@ -1117,7 +1102,6 @@ "cell_type": "code", "execution_count": 45, "metadata": { - "collapsed": false, "scrolled": true }, "outputs": [ @@ -1151,7 +1135,6 @@ "cell_type": "code", "execution_count": 17, "metadata": { - "collapsed": false, "scrolled": true }, "outputs": [ @@ -1185,7 +1168,6 @@ "cell_type": "code", "execution_count": 18, "metadata": { - "collapsed": false, "scrolled": true }, "outputs": [ @@ -1766,9 +1748,7 @@ { "cell_type": "code", "execution_count": 49, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -1830,9 +1810,7 @@ { "cell_type": "code", "execution_count": 15, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -1865,7 +1843,6 @@ "cell_type": "code", "execution_count": 16, "metadata": { - "collapsed": false, "scrolled": true }, "outputs": [ @@ -2601,9 +2578,7 @@ { "cell_type": "code", "execution_count": 30, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [], "source": [ "a_type, a_token = get_spotify_auth_token()\n", @@ -2616,7 +2591,6 @@ "cell_type": "code", "execution_count": 37, "metadata": { - "collapsed": false, "scrolled": true }, "outputs": [ @@ -4562,7 +4536,6 @@ "cell_type": "code", "execution_count": 33, "metadata": { - "collapsed": false, "scrolled": true }, "outputs": [ @@ -6199,9 +6172,7 @@ { "cell_type": "code", "execution_count": 38, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -6231,9 +6202,7 @@ { "cell_type": "code", "execution_count": 35, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -6263,9 +6232,7 @@ { "cell_type": "code", "execution_count": 31, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -6299,9 +6266,7 @@ { "cell_type": "code", "execution_count": 39, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [], "source": [ "def genius_artist_search(artist_name, per_page=20):\n", @@ -6322,9 +6287,7 @@ { "cell_type": "code", "execution_count": 40, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -6346,9 +6309,7 @@ { "cell_type": "code", "execution_count": 41, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -6377,9 +6338,7 @@ { "cell_type": "code", "execution_count": 42, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [], "source": [ "def genius_song_search(artist_id):\n", @@ -6406,9 +6365,7 @@ { "cell_type": "code", "execution_count": 43, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -6429,9 +6386,7 @@ { "cell_type": "code", "execution_count": 44, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -6452,9 +6407,7 @@ { "cell_type": "code", "execution_count": 45, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -6496,7 +6449,6 @@ "cell_type": "code", "execution_count": 46, "metadata": { - "collapsed": false, "scrolled": false }, "outputs": [ @@ -7415,9 +7367,7 @@ { "cell_type": "code", "execution_count": 47, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [], "source": [ "def genius_lyrics(song_url):\n", @@ -7437,9 +7387,7 @@ { "cell_type": "code", "execution_count": 48, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -7461,9 +7409,7 @@ { "cell_type": "code", "execution_count": 49, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -7491,9 +7437,7 @@ { "cell_type": "code", "execution_count": 50, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -7514,7 +7458,6 @@ "cell_type": "code", "execution_count": 51, "metadata": { - "collapsed": false, "scrolled": true }, "outputs": [ @@ -7554,10 +7497,8 @@ }, { "cell_type": "code", - "execution_count": 52, - "metadata": { - "collapsed": true - }, + "execution_count": 8, + "metadata": {}, "outputs": [], "source": [ "def canonical_name(text):\n", @@ -7569,10 +7510,8 @@ }, { "cell_type": "code", - "execution_count": 53, - "metadata": { - "collapsed": false - }, + "execution_count": 9, + "metadata": {}, "outputs": [ { "data": { @@ -7580,7 +7519,7 @@ "'a hard days night'" ] }, - "execution_count": 53, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } @@ -7598,10 +7537,8 @@ }, { "cell_type": "code", - "execution_count": 54, - "metadata": { - "collapsed": true - }, + "execution_count": 12, + "metadata": {}, "outputs": [], "source": [ "for t in tracks.find():\n", @@ -7610,1114 +7547,2202 @@ " genius_tracks.update_one({'_id': t['_id']}, {'$set': {'ctitle': canonical_name(t['title'])}})" ] }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now to see what the differences are. Find the tracks that are in both collections, and tracks that are in only one." - ] - }, { "cell_type": "code", - "execution_count": 55, - "metadata": { - "collapsed": false - }, + "execution_count": 81, + "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "(489, 559, 57)" + "[('fight', ['Fight', 'Fight - Remastered 2009']),\n", + " ('eight days a week',\n", + " ['Eight Days A Week - Remastered 2015',\n", + " 'Eight Days A Week - Remastered 2009']),\n", + " ('yesterday', ['Yesterday - Remastered 2015', 'Yesterday - Remastered 2009']),\n", + " ('had it with you', ['Had It With You', 'Had It With You - Remastered 2009']),\n", + " ('little red rooster',\n", + " ['Little Red Rooster - Live - 2009 Re-Mastered Digital Version',\n", + " 'Little Red Rooster - Live In Ireland / 1965']),\n", + " ('sympathy for the devil',\n", + " ['Sympathy For The Devil - Live At Beacon Theatre, New York / 2006',\n", + " 'Sympathy For The Devil - Live - 2009 Re-Mastered Digital Version',\n", + " 'Sympathy For The Devil - Live']),\n", + " ('you got the silver',\n", + " ['You Got The Silver - Live At The Beacon Theatre, New York / 2006',\n", + " 'You Got The Silver - Live']),\n", + " ('worried about you',\n", + " ['Worried About You - Live Licks Tour - 2009 Re-Mastered Digital Version',\n", + " 'Worried About You - 2009 Re-Mastered Digital Version']),\n", + " ('you cant do that',\n", + " [\"You Can't Do That - Live / Bonus Track\",\n", + " \"You Can't Do That - Remastered 2009\"]),\n", + " ('when the whip comes down',\n", + " ['When The Whip Comes Down - Remastered',\n", + " 'When The Whip Comes Down - Live Licks Tour - 2009 Re-Mastered Digital Version',\n", + " 'When The Whip Comes Down - Remastered']),\n", + " ('babys in black',\n", + " [\"Baby's In Black - Live / Bonus Track\",\n", + " \"Baby's In Black - Remastered 2009\"]),\n", + " ('slipping away',\n", + " ['Slipping Away - Live - 2009 Re-Mastered Digital Version',\n", + " 'Slipping Away - 2009 Re-Mastered Digital Version']),\n", + " ('i want to hold your hand',\n", + " ['I Want To Hold Your Hand - Live / Bonus Track',\n", + " 'I Want To Hold Your Hand - Remastered 2015']),\n", + " ('yellow submarine',\n", + " ['Yellow Submarine - Remastered 2015',\n", + " 'Yellow Submarine - Remastered 2009',\n", + " 'Yellow Submarine - Remastered 2009']),\n", + " ('one hit to the body',\n", + " ['One Hit (To The Body)', 'One Hit (To The Body) - Remastered 2009']),\n", + " ('shine a light',\n", + " ['Shine A Light - Live At The Beacon Theatre, New York / 2006',\n", + " 'Shine A Light - Live - 2009 Re-Mastered Digital Version',\n", + " 'Shine a Light - Live']),\n", + " ('its only rock n roll but i like it',\n", + " [\"It's Only Rock 'n' Roll (But I Like It) - Live Licks Tour - 2009 Re-Mastered Digital Version\",\n", + " \"It's Only Rock 'N Roll (But I Like It) - Live\"]),\n", + " ('out of control',\n", + " ['Out Of Control - 2009 Digital Remaster', 'Out Of Control - Live']),\n", + " ('respectable', ['Respectable - Remastered', 'Respectable - Remastered']),\n", + " ('winning ugly', ['Winning Ugly', 'Winning Ugly - Remastered 2009']),\n", + " ('harlem shuffle', ['Harlem Shuffle', 'Harlem Shuffle - Remastered 2009']),\n", + " ('like a rolling stone',\n", + " ['Like a Rolling Stone - Live',\n", + " 'Like A Rolling Stone - Live - 2009 Re-Mastered Digital Version']),\n", + " ('too rude', ['Too Rude', 'Too Rude - Remastered 2009']),\n", + " ('hello goodbye',\n", + " ['Hello, Goodbye - Remastered 2015', 'Hello, Goodbye - Remastered 2009']),\n", + " ('tumbling dice',\n", + " ['Tumbling Dice - Live At The Beacon Theatre, New York / 2006',\n", + " 'Tumbling Dice - Live']),\n", + " ('everybody needs somebody to love',\n", + " ['Everybody Needs Somebody To Love - Live Licks Tour - 2009 Re-Mastered Digital Version',\n", + " 'Everybody Needs Somebody To Love - Live In Ireland / 1965']),\n", + " ('let it be', ['Let It Be - Remastered 2015', 'Let It Be - Remastered 2009']),\n", + " ('i will', ['I Will - Remastered 2009', 'I Will']),\n", + " ('paint it black',\n", + " ['Paint It Black - Live At The Beacon Theatre, New York / 2006',\n", + " 'Paint It Black - Live Licks Tour - 2009 Re-Mastered Digital Version',\n", + " 'Paint It Black - Live - 2009 Re-Mastered Digital Version',\n", + " 'Paint It Black - Live']),\n", + " ('start me up',\n", + " ['Start Me Up - Live At The Beacon Theatre, New York / 2006',\n", + " 'Start Me Up - Live Licks Tour - 2009 Re-Mastered Digital Version',\n", + " 'Start Me Up - Live - 2009 Re-Mastered Digital Version',\n", + " 'Start Me Up - Live - 2009 Re-Mastered Digital Version',\n", + " 'Start Me Up - 2009 Re-Mastered Digital Version',\n", + " 'Start Me Up - Live']),\n", + " ('dead flowers',\n", + " ['Dead Flowers - Live',\n", + " 'Dead Flowers - Live - 2009 Re-Mastered Digital Version']),\n", + " ('love me do',\n", + " ['Love Me Do - Mono / Remastered 2015', 'Love Me Do - Remastered 2009']),\n", + " ('key to the highway',\n", + " ['Key To The Highway - Piano Instrumental',\n", + " 'Key To The Highway - Piano Instrumental/Remastered 2009']),\n", + " ('you dont have to mean it',\n", + " [\"You Don't Have To Mean It - Live Licks Tour - 2009 Re-Mastered Digital Version\",\n", + " \"You Don't Have To Mean It - 2009 Digital Remaster\"]),\n", + " ('shattered',\n", + " ['Shattered - Remastered',\n", + " 'Shattered - Remastered',\n", + " 'Shattered - Live At The Beacon Theatre, New York / 2006',\n", + " 'Shattered - Live - 2009 Re-Mastered Digital Version']),\n", + " ('ticket to ride',\n", + " ['Ticket To Ride - Live / Remastered',\n", + " 'Ticket To Ride - Remastered 2015',\n", + " 'Ticket To Ride - Remastered 2009']),\n", + " ('hold back', ['Hold Back', 'Hold Back - Remastered 2009']),\n", + " ('all my loving',\n", + " ['All My Loving - Live / Remastered', 'All My Loving - Remastered 2009']),\n", + " ('angie',\n", + " ['Angie - Live Licks Tour - 2009 Re-Mastered Digital Version',\n", + " 'Angie - Live - 2009 Re-Mastered Digital Version',\n", + " 'Angie - Live']),\n", + " ('faraway eyes',\n", + " ['Faraway Eyes - Live',\n", + " 'Faraway Eyes - Live At The Beacon Theatre, New York / 2006']),\n", + " ('roll over beethoven',\n", + " ['Roll Over Beethoven - Live / Remastered',\n", + " 'Roll Over Beethoven - Remastered 2009']),\n", + " ('something', ['Something - Remastered 2015', 'Something - Remastered 2009']),\n", + " ('miss you',\n", + " ['Miss You - Remastered',\n", + " 'Miss You - Live',\n", + " 'Miss You - Live - 2009 Re-Mastered Digital Version',\n", + " 'Miss You - Remastered',\n", + " 'Miss You - Live']),\n", + " ('get back', ['Get Back - Remastered 2015', 'Get Back - Remastered 2009']),\n", + " ('midnight rambler', ['Midnight Rambler - Live', 'Midnight Rambler - Live']),\n", + " ('time is on my side',\n", + " ['Time Is On My Side - Live - 2009 Re-Mastered Digital Version',\n", + " 'Time Is On My Side - Live In Ireland / 1965']),\n", + " ('you cant always get what you want',\n", + " [\"You Can't Always Get What You Want - Live Licks Tour - 2009 Re-Mastered Digital Version\",\n", + " \"You Can't Always Get What You Want - Live - 2009 Re-Mastered Digital Version\",\n", + " 'You Can’t Always Get What You Want - Live']),\n", + " ('just my imagination running away with me',\n", + " ['Just My Imagination (Running Away With Me) - Remastered',\n", + " 'Just My Imagination (Running Away With Me) - Live - 2009 Re-Mastered Digital Version',\n", + " 'Just My Imagination (Running Away With Me) - Remastered']),\n", + " ('all down the line',\n", + " ['All Down The Line - Live At The Beacon Theatre, New York / 2006',\n", + " 'All Down The Line - Live']),\n", + " ('sgt peppers lonely hearts club band',\n", + " [\"Sgt. Pepper's Lonely Hearts Club Band - Remastered 2009\",\n", + " \"Sgt. Pepper's Lonely Hearts Club Band - Reprise / Remastered 2009\"]),\n", + " ('street fighting man',\n", + " ['Street Fighting Man - Live',\n", + " 'Street Fighting Man - Live Licks Tour - 2009 Re-Mastered Digital Version',\n", + " 'Street Fighting Man - Live - 2009 Re-Mastered Digital Version']),\n", + " ('little ta',\n", + " ['Little T&A - Live At The Beacon Theatre, New York / 2006',\n", + " 'Little T&A - 2009 Re-Mastered Digital Version']),\n", + " ('help',\n", + " ['Help! - Live / Remastered',\n", + " 'Help! - Remastered 2015',\n", + " 'Help! - Remastered 2009']),\n", + " ('boys', ['Boys - Live / Remastered', 'Boys - Remastered 2009']),\n", + " ('beast of burden',\n", + " ['Beast Of Burden - Remastered',\n", + " 'Beast Of Burden - Remastered',\n", + " 'Beast Of Burden - Live Licks Tour - 2009 Re-Mastered Digital Version']),\n", + " ('brown sugar',\n", + " ['Brown Sugar - Live',\n", + " 'Brown Sugar - Live At The Beacon Theatre, New York / 2006',\n", + " 'Brown Sugar - Live Licks Tour - 2009 Re-Mastered Digital Version',\n", + " 'Brown Sugar - Live - 2009 Re-Mastered Digital Version',\n", + " 'Brown Sugar - Live']),\n", + " ('rock and a hard place',\n", + " ['Rock And A Hard Place - Live - 2009 Re-Mastered Digital Version',\n", + " 'Rock And A Hard Place - 2009 Re-Mastered Digital Version']),\n", + " ('gimme shelter',\n", + " ['Gimme Shelter - Live',\n", + " 'Gimme Shelter - Live Licks Tour - 2009 Re-Mastered Digital Version',\n", + " 'Gimme Shelter - Live']),\n", + " ('before they make me run',\n", + " ['Before They Make Me Run - Remastered',\n", + " 'Before They Make Me Run - Remastered',\n", + " 'Before They Make Me Run - Live']),\n", + " ('twist and shout',\n", + " ['Twist And Shout - Live / Remastered',\n", + " 'Twist And Shout - Remastered 2009']),\n", + " ('im free',\n", + " [\"I'm Free - Live At The Beacon Theatre, New York / 2006\",\n", + " \"I'm Free - Live - 2009 Re-Mastered Digital Version\"]),\n", + " ('things we said today',\n", + " ['Things We Said Today - Live / Remastered',\n", + " 'Things We Said Today - Remastered 2009']),\n", + " ('honky tonk women',\n", + " ['Honky Tonk Women - Live',\n", + " 'Honky Tonk Women - Live Licks Tour - 2009 Re-Mastered Digital Version',\n", + " 'Honky Tonk Women - Live']),\n", + " ('neighbours',\n", + " ['Neighbours - Live Licks Tour - 2009 Re-Mastered Digital Version',\n", + " 'Neighbours - 2009 Re-Mastered Digital Version']),\n", + " ('eleanor rigby',\n", + " ['Eleanor Rigby - Remastered 2015', 'Eleanor Rigby - Remastered 2009']),\n", + " ('some girls',\n", + " ['Some Girls - Remastered',\n", + " 'Some Girls - Live At The Beacon Theatre, New York / 2006',\n", + " 'Some Girls - Remastered']),\n", + " ('sad sad sad',\n", + " ['Sad Sad Sad - Live - 2009 Re-Mastered Digital Version',\n", + " 'Sad Sad Sad - 2009 Re-Mastered Digital Version']),\n", + " ('everybodys trying to be my baby',\n", + " ['Everybody’s Trying To Be My Baby - Live / Bonus Track',\n", + " \"Everybody's Trying To Be My Baby - Remastered 2009\"]),\n", + " ('sleep tonight', ['Sleep Tonight', 'Sleep Tonight - Remastered 2009']),\n", + " ('cant buy me love',\n", + " [\"Can't Buy Me Love - Live / Remastered\",\n", + " \"Can't Buy Me Love - Remastered 2015\",\n", + " \"Can't Buy Me Love - Remastered 2009\"]),\n", + " ('dirty work', ['Dirty Work', 'Dirty Work - Remastered 2009']),\n", + " ('the long and winding road',\n", + " ['The Long And Winding Road - Remastered 2015',\n", + " 'The Long And Winding Road - Remastered 2009']),\n", + " ('far away eyes',\n", + " ['Far Away Eyes - Remastered', 'Far Away Eyes - Remastered']),\n", + " ('i go wild',\n", + " ['I Go Wild - Live', 'I Go Wild - 2009 Re-Mastered Digital Version']),\n", + " ('continental drift',\n", + " ['Continental Drift - Live - 2009 Re-Mastered Digital Version',\n", + " 'Continental Drift - 2009 Re-Mastered Digital Version']),\n", + " ('come together',\n", + " ['Come Together - Remastered 2015', 'Come Together - Remastered 2009']),\n", + " ('penny lane',\n", + " ['Penny Lane - Remastered 2015', 'Penny Lane - Remastered 2009']),\n", + " ('cant be seen',\n", + " [\"Can't Be Seen - Live - 2009 Re-Mastered Digital Version\",\n", + " \"Can't Be Seen - 2009 Re-Mastered Digital Version\"]),\n", + " ('jumpin jack flash',\n", + " [\"Jumpin' Jack Flash - Live\",\n", + " \"Jumpin' Jack Flash - Live - 2009 Re-Mastered Digital Version\",\n", + " \"Jumpin' Jack Flash - Live\"]),\n", + " ('i cant get no satisfaction',\n", + " [\"(I Can't Get No) Satisfaction - Live At The Beacon Theatre, New York / 2006\",\n", + " \"(I Can't Get No) Satisfaction - Live Licks Tour - 2009 Re-Mastered Digital Version\",\n", + " \"(I Can't Get No) Satisfaction - Live - 2009 Re-Mastered Digital Version\",\n", + " \"(I Can't Get No) Satisfaction - Live - 2009 Re-Mastered Digital Version\",\n", + " \"(I Can't Get No) Satisfaction - Live\"]),\n", + " ('a hard days night',\n", + " [\"A Hard Day's Night - Live / Remastered\",\n", + " \"A Hard Day's Night - Remastered 2015\",\n", + " \"A Hard Day's Night - Remastered 2009\"]),\n", + " ('let me go',\n", + " ['Let Me Go - Live - 2009 Re-Mastered Digital Version',\n", + " 'Let Me Go - 2009 Re-Mastered Digital Version']),\n", + " ('not fade away',\n", + " ['Not Fade Away - Live',\n", + " 'Not Fade Away - Live - 2009 Re-Mastered Digital Version']),\n", + " ('dizzy miss lizzy',\n", + " ['Dizzy Miss Lizzy - Live / Remastered',\n", + " 'Dizzy Miss Lizzy - Remastered 2009']),\n", + " ('she loves you',\n", + " ['She Loves You - Live / Remastered',\n", + " 'She Loves You - Mono / Remastered 2015']),\n", + " ('back to zero', ['Back To Zero', 'Back To Zero - Remastered 2009']),\n", + " ('lies', ['Lies - Remastered', 'Lies - Remastered']),\n", + " ('she was hot',\n", + " ['She Was Hot - Live At The Beacon Theatre, New York / 2006',\n", + " 'She Was Hot - 2009 Re-Mastered Digital Version']),\n", + " ('all you need is love',\n", + " ['All You Need Is Love - Remastered 2015',\n", + " 'All You Need Is Love - Remastered 2009',\n", + " 'All You Need Is Love - Remastered 2009'])]" ] }, - "execution_count": 55, + "execution_count": 81, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "in_both = set(g['ctitle'] for g in genius_tracks.find({}, ['ctitle']) if tracks.find({'ctitle': g['ctitle']}).count())\n", - "genius_only = set(g['ctitle'] for g in genius_tracks.find({}, ['ctitle']) if not tracks.find({'ctitle': g['ctitle']}).count())\n", - "spotify_only = set(s['ctitle'] for s in tracks.find({}, ['ctitle']) if not genius_tracks.find({'ctitle': s['ctitle']}).count())\n", - "len(in_both), len(genius_only), len(spotify_only)" + "ctitles = set([t['ctitle'] for t in tracks.find()])\n", + "\n", + "[(ct, [t['name'] for t in tracks.find({'ctitle': ct})]) \n", + " for ct in ctitles\n", + " if tracks.find({'ctitle': ct}).count() > 1\n", + "]" ] }, { "cell_type": "code", - "execution_count": 56, + "execution_count": 84, "metadata": { - "collapsed": false, "scrolled": true }, "outputs": [ { "data": { "text/plain": [ - "{'2 2 5 live at earls court',\n", - " 'a punch up at a wedding',\n", - " 'band introductions',\n", - " 'bloom blawan rmx',\n", - " 'bloom harmonic 313 rmx',\n", - " 'bloom jamie xx rework',\n", - " 'bloom mark pritchard rmx',\n", - " 'bloom objekt rmx',\n", - " 'bullet proof i wish i was',\n", - " 'charlies intro to little red rooster',\n", - " 'codex illum sphere',\n", - " 'dollars cents',\n", - " 'dollars cents live',\n", - " 'everybody needs somebody to love finale',\n", - " 'everything in its right place live in france',\n", - " 'faraway eyes',\n", - " 'feral lone rmx',\n", - " 'fog again live',\n", - " 'give up the ghost brokenchord rmx',\n", - " 'give up the ghost thriller houseghost remix',\n", - " 'good evening mrs magpie modeselektor rmx',\n", - " 'i might be wrong live',\n", - " 'i will los angeles version',\n", - " 'idioteque live in oxford',\n", - " 'intro take the a train',\n", - " 'jumping jack flash',\n", - " 'just my imagination',\n", - " 'kansas city heyheyheyhey',\n", - " 'key to the highway',\n", - " 'like spinning plates live',\n", - " 'little by little caribou rmx',\n", - " 'little by little shed',\n", - " 'little ta',\n", - " 'lotus flower jacques greene rmx',\n", - " 'lotus flower sbtrkt rmx',\n", - " 'march of the meanies',\n", - " 'martin scorsese intro',\n", - " 'morning bell live in oxford',\n", - " 'morning mr magpie nathan fake rmx',\n", - " 'morning mr magpie pearson sound scavenger rmx',\n", - " 'outro',\n", - " 'packt like sardines in a crushed tin box',\n", - " 'pepperland',\n", - " 'pepperland laid waste',\n", - " 'remyxomatosis cristian vogel rmx',\n", - " 'revolution 1',\n", - " 'sea of holes',\n", - " 'sea of monsters',\n", - " 'sea of time',\n", - " 'separator anstam rmx',\n", - " 'separator four tet rmx',\n", - " 'skttrbrain four tet remix',\n", - " 'the national anthem live in france',\n", - " 'tkol altrice rmx',\n", - " 'true love waits live in oslo',\n", - " 'untitled',\n", - " 'when im sixty four'}" + "[('eight days a week',\n", + " [('Eight Days A Week - Remastered 2015', 0.215),\n", + " ('Eight Days A Week - Remastered 2009', 0.119)]),\n", + " ('yesterday',\n", + " [('Yesterday - Remastered 2015', 0.0968),\n", + " ('Yesterday - Remastered 2009', 0.0886)]),\n", + " ('had it with you',\n", + " [('Had It With You', 0.0655),\n", + " ('Had It With You - Remastered 2009', 0.0744)]),\n", + " ('worried about you',\n", + " [('Worried About You - Live Licks Tour - 2009 Re-Mastered Digital Version',\n", + " 0.47),\n", + " ('Worried About You - 2009 Re-Mastered Digital Version', 0.0865)]),\n", + " ('when the whip comes down',\n", + " [('When The Whip Comes Down - Remastered', 0.242),\n", + " ('When The Whip Comes Down - Remastered', 0.205)]),\n", + " ('slipping away',\n", + " [('Slipping Away - Live - 2009 Re-Mastered Digital Version', 0.106),\n", + " ('Slipping Away - 2009 Re-Mastered Digital Version', 0.421)]),\n", + " ('yellow submarine',\n", + " [('Yellow Submarine - Remastered 2015', 0.543),\n", + " ('Yellow Submarine - Remastered 2009', 0.528),\n", + " ('Yellow Submarine - Remastered 2009', 0.438)]),\n", + " ('one hit to the body',\n", + " [('One Hit (To The Body)', 0.62),\n", + " ('One Hit (To The Body) - Remastered 2009', 0.688)]),\n", + " ('respectable',\n", + " [('Respectable - Remastered', 0.0677),\n", + " ('Respectable - Remastered', 0.0677)]),\n", + " ('winning ugly',\n", + " [('Winning Ugly', 0.693), ('Winning Ugly - Remastered 2009', 0.689)]),\n", + " ('harlem shuffle',\n", + " [('Harlem Shuffle', 0.224), ('Harlem Shuffle - Remastered 2009', 0.319)]),\n", + " ('too rude', [('Too Rude', 0.0245), ('Too Rude - Remastered 2009', 0.0231)]),\n", + " ('hello goodbye',\n", + " [('Hello, Goodbye - Remastered 2015', 0.525),\n", + " ('Hello, Goodbye - Remastered 2009', 0.414)]),\n", + " ('let it be',\n", + " [('Let It Be - Remastered 2015', 0.112),\n", + " ('Let It Be - Remastered 2009', 0.111)]),\n", + " ('i will', [('I Will - Remastered 2009', 0.0822), ('I Will', 0.113)]),\n", + " ('love me do',\n", + " [('Love Me Do - Mono / Remastered 2015', 0.154),\n", + " ('Love Me Do - Remastered 2009', 0.227)]),\n", + " ('key to the highway',\n", + " [('Key To The Highway - Piano Instrumental', 0.132),\n", + " ('Key To The Highway - Piano Instrumental/Remastered 2009', 0.138)]),\n", + " ('shattered',\n", + " [('Shattered - Remastered', 0.124), ('Shattered - Remastered', 0.122)]),\n", + " ('ticket to ride',\n", + " [('Ticket To Ride - Live / Remastered', 0.366),\n", + " ('Ticket To Ride - Remastered 2015', 0.259),\n", + " ('Ticket To Ride - Remastered 2009', 0.233)]),\n", + " ('hold back', [('Hold Back', 0.343), ('Hold Back - Remastered 2009', 0.368)]),\n", + " ('roll over beethoven',\n", + " [('Roll Over Beethoven - Live / Remastered', 0.634),\n", + " ('Roll Over Beethoven - Remastered 2009', 0.0952)]),\n", + " ('something',\n", + " [('Something - Remastered 2015', 0.144),\n", + " ('Something - Remastered 2009', 0.138)]),\n", + " ('miss you',\n", + " [('Miss You - Remastered', 0.364),\n", + " ('Miss You - Remastered', 0.236),\n", + " ('Miss You - Live', 0.646)]),\n", + " ('get back',\n", + " [('Get Back - Remastered 2015', 0.0959),\n", + " ('Get Back - Remastered 2009', 0.61)]),\n", + " ('just my imagination running away with me',\n", + " [('Just My Imagination (Running Away With Me) - Remastered', 0.411),\n", + " ('Just My Imagination (Running Away With Me) - Remastered', 0.322)]),\n", + " ('help',\n", + " [('Help! - Remastered 2015', 0.0776), ('Help! - Remastered 2009', 0.0994)]),\n", + " ('beast of burden',\n", + " [('Beast Of Burden - Remastered', 0.0389),\n", + " ('Beast Of Burden - Remastered', 0.0382)]),\n", + " ('before they make me run',\n", + " [('Before They Make Me Run - Remastered', 0.0499),\n", + " ('Before They Make Me Run - Remastered', 0.0532)]),\n", + " ('twist and shout',\n", + " [('Twist And Shout - Live / Remastered', 0.508),\n", + " ('Twist And Shout - Remastered 2009', 0.0414)]),\n", + " ('eleanor rigby',\n", + " [('Eleanor Rigby - Remastered 2015', 0.359),\n", + " ('Eleanor Rigby - Remastered 2009', 0.305)]),\n", + " ('some girls',\n", + " [('Some Girls - Remastered', 0.409), ('Some Girls - Remastered', 0.51)]),\n", + " ('everybodys trying to be my baby',\n", + " [('Everybody’s Trying To Be My Baby - Live / Bonus Track', 0.448),\n", + " (\"Everybody's Trying To Be My Baby - Remastered 2009\", 0.134)]),\n", + " ('sleep tonight',\n", + " [('Sleep Tonight', 0.273), ('Sleep Tonight - Remastered 2009', 0.297)]),\n", + " ('cant buy me love',\n", + " [(\"Can't Buy Me Love - Remastered 2015\", 0.325),\n", + " (\"Can't Buy Me Love - Remastered 2009\", 0.321)]),\n", + " ('dirty work',\n", + " [('Dirty Work', 0.0878), ('Dirty Work - Remastered 2009', 0.0808)]),\n", + " ('the long and winding road',\n", + " [('The Long And Winding Road - Remastered 2015', 0.0718),\n", + " ('The Long And Winding Road - Remastered 2009', 0.0559)]),\n", + " ('far away eyes',\n", + " [('Far Away Eyes - Remastered', 0.258),\n", + " ('Far Away Eyes - Remastered', 0.232)]),\n", + " ('come together',\n", + " [('Come Together - Remastered 2015', 0.1),\n", + " ('Come Together - Remastered 2009', 0.0926)]),\n", + " ('penny lane',\n", + " [('Penny Lane - Remastered 2015', 0.16),\n", + " ('Penny Lane - Remastered 2009', 0.136)]),\n", + " ('i cant get no satisfaction',\n", + " [(\"(I Can't Get No) Satisfaction - Live - 2009 Re-Mastered Digital Version\",\n", + " 0.511),\n", + " (\"(I Can't Get No) Satisfaction - Live\", 0.357)]),\n", + " ('a hard days night',\n", + " [(\"A Hard Day's Night - Remastered 2015\", 0.0983),\n", + " (\"A Hard Day's Night - Remastered 2009\", 0.0996)]),\n", + " ('dizzy miss lizzy',\n", + " [('Dizzy Miss Lizzy - Live / Remastered', 0.496),\n", + " ('Dizzy Miss Lizzy - Remastered 2009', 0.0962)]),\n", + " ('back to zero',\n", + " [('Back To Zero', 0.064), ('Back To Zero - Remastered 2009', 0.0767)]),\n", + " ('lies', [('Lies - Remastered', 0.524), ('Lies - Remastered', 0.472)]),\n", + " ('all you need is love',\n", + " [('All You Need Is Love - Remastered 2015', 0.263),\n", + " ('All You Need Is Love - Remastered 2009', 0.286),\n", + " ('All You Need Is Love - Remastered 2009', 0.155)])]" ] }, - "execution_count": 56, + "execution_count": 84, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "spotify_only" + "ctitles = set([t['ctitle'] for t in tracks.find()])\n", + "\n", + "[(ct, [(t['name'], t['liveness']) for t in tracks.find({'ctitle': ct, 'liveness': {'$lt': 0.7}})]) \n", + " for ct in ctitles\n", + " if tracks.find({'ctitle': ct, 'liveness': {'$lt': 0.7}}).count() > 1\n", + "]" ] }, { "cell_type": "code", - "execution_count": 57, - "metadata": { - "collapsed": false - }, + "execution_count": 74, + "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "{'100 years ago',\n", - " '1822',\n", - " '19th nervous breakdown',\n", - " '2000 light years from home',\n", - " '2000 man',\n", - " '2120 south michigan avenue',\n", - " '3',\n", - " 'a little rhyme',\n", - " 'a moon shaped pool tracklist album cover',\n", - " 'a picture of you',\n", - " 'a punchup at a wedding',\n", - " 'a reminder',\n", - " 'a shot of rhythm and blues',\n", - " 'across the universe wildlife version',\n", - " 'aint she sweet',\n", - " 'aint that loving you baby',\n", - " 'aint too proud to beg',\n", - " 'all sold out',\n", - " 'all things must pass',\n", - " 'all together on the wireless machine',\n", - " 'andrews blues',\n", - " 'another beatles christmas record',\n", - " 'anyway you look at it',\n", - " 'around and around',\n", - " 'baby please dont go',\n", - " 'baby whats wrong',\n", - " 'backstreet girl',\n", - " 'bad boy',\n", - " 'bad to me',\n", - " 'banana co',\n", - " 'beatle greetings',\n", - " 'beatles movie medley',\n", - " 'beautiful delilah',\n", - " 'beautiful dreamer',\n", - " 'bebopalula',\n", - " 'because i know you love me so',\n", - " 'being for the benefit of mr kite take 7',\n", - " 'being for the benefit of mr kite takes 1 2',\n", - " 'being for the benefit of mr kitei want you shes so heavyhelter skelter',\n", - " 'besame mucho',\n", - " 'big boots',\n", - " 'big ideas',\n", - " 'bishops robes',\n", - " 'bitch',\n", - " 'bitches talkin',\n", - " 'blackbirdyesterday',\n", - " 'blood red wine',\n", - " 'blue moon of kentucky',\n", - " 'blue suede shoes',\n", - " 'blue turns to grey',\n", - " 'bright lights big city',\n", - " 'bullet proofi wish i was',\n", - " 'burning bush',\n", - " 'bye bye johnny',\n", - " 'can i get a witness',\n", - " 'can you hear the music',\n", - " 'can you take me back',\n", - " 'cant get next to you',\n", - " 'carol',\n", - " 'casino boogie',\n", - " 'ceremony',\n", - " 'charlie watts introduction of marianne faithfull',\n", - " 'cherry oh baby',\n", - " 'child of nature',\n", - " 'child of the moon',\n", - " 'christmas time is here again',\n", - " 'cinnamon girl',\n", - " 'citadel',\n", - " 'clarabella',\n", - " 'climbing up a bloody great hill',\n", - " 'cocksucker blues',\n", - " 'coke babies',\n", - " 'come and get it',\n", - " 'come on',\n", - " 'come togetherdear prudence',\n", - " 'coming down again',\n", - " 'commonwealth',\n", - " 'complicated',\n", - " 'con le mie lacrime',\n", - " 'confessin the blues',\n", - " 'congratulations',\n", - " 'cook cook blues',\n", - " 'cool calm and collected',\n", - " 'cops and robbers',\n", - " 'corinna',\n", - " 'country honk',\n", - " 'crackin up',\n", - " 'crazy mama',\n", - " 'crinsk dee night',\n", - " 'criss cross man',\n", - " 'crushed pearl',\n", - " 'cry for a shadow',\n", - " 'cry to me',\n", - " 'crying waiting hoping',\n", - " 'cut a hole',\n", - " 'cuttooth',\n", - " 'da doo ron ron',\n", - " 'dance',\n", - " 'dance little sister',\n", - " 'dancing in the light',\n", - " 'dancing with mr d',\n", - " 'dandelion',\n", - " 'dear doctor',\n", - " 'dear wack',\n", - " 'diddley daddy',\n", - " 'dollars and cents',\n", - " 'doncha bother me',\n", - " 'dont ever change',\n", - " 'dont let me down',\n", - " 'dont lie to me',\n", - " 'dont look back',\n", - " 'dont stop',\n", - " 'doo doo doo doo doo heartbreaker',\n", - " 'doom and gloom',\n", - " 'down home girl',\n", - " 'down in eastern australia',\n", - " 'down in the bottom',\n", - " 'downtown suzie',\n", - " 'dream baby',\n", - " 'drift away',\n", - " 'drive my carthe wordwhat youre doing',\n", - " 'each and every day of the year',\n", - " 'eds scary song',\n", - " 'egyptian song',\n", - " 'eleanor rigbyjulia transition',\n", - " 'empty heart',\n", - " 'everybody lies through their teeth',\n", - " 'everyone needs someone to hate',\n", - " 'everything is turning to gold',\n", - " 'faithless the wonderboy',\n", - " 'falling in love again',\n", - " 'family',\n", - " 'fancyman blues',\n", - " 'fanny mae',\n", - " 'fasttrack',\n", - " 'final show',\n", - " 'fingerprint file',\n", - " 'flight 505',\n", - " 'fog',\n", - " 'follow me around',\n", - " 'following the river',\n", - " 'fool to cry',\n", - " 'fortune teller',\n", - " 'four guys',\n", - " 'free as a bird',\n", - " 'from fluff to you',\n", - " 'from us to you',\n", - " 'gangsters maul',\n", - " 'get back aka no pakistanis',\n", - " 'get off of my cloud',\n", - " 'give it up',\n", - " 'give peace a chance',\n", - " 'glad all over',\n", - " 'glass onion love remix',\n", - " 'gnik nus',\n", - " 'goin home',\n", - " 'gomper',\n", - " 'good time women',\n", - " 'good times',\n", - " 'good times bad times',\n", - " 'goodbye',\n", - " 'goodbye girl',\n", - " 'gotta get away',\n", - " 'grown up wrong',\n", - " 'hallelujah i love her so',\n", - " 'hand of fate',\n", - " 'happy song',\n", - " 'harlem shuffle ny mix',\n", - " 'harry patch in memory of',\n", - " 'have a banana',\n", - " 'have a banana speech',\n", - " 'have you seen your mother baby standing in the shadow',\n", - " 'hear me lord harrison',\n", - " 'heart of stone',\n", - " 'heavys pizza',\n", - " 'hello little girl',\n", - " 'here comes the sunthe inner light transition',\n", - " 'hey crawdaddy',\n", - " 'hey negrita',\n", - " 'hide your love',\n", - " 'highway child',\n", - " 'hiheel sneakers',\n", - " 'hitch hike',\n", - " 'honest i do',\n", - " 'hoochie coochie man',\n", - " 'hot stuff',\n", - " 'hound dog',\n", - " 'how can you be sure',\n", - " 'how do you do it',\n", - " 'how i made my millions',\n", - " 'i aint superstitious',\n", - " 'i am waiting',\n", - " 'i call your name',\n", - " 'i cant be satisfied',\n", - " 'i cant help it',\n", - " 'i dont know why',\n", - " 'i dont know why aka dont know why i love you',\n", - " 'i forgot to remember to forget',\n", - " 'i froze up',\n", - " 'i get a kick out of you',\n", - " 'i got a woman',\n", - " 'i got the blues',\n", - " 'i got to find my baby',\n", - " 'i just dont understand',\n", - " 'i just want to make love to you',\n", - " 'i just want to see his face',\n", - " 'i need you baby mona',\n", - " 'i promise',\n", - " 'i think im going mad',\n", - " 'i want none of this',\n", - " 'i want to be loved',\n", - " 'i want to know',\n", - " 'id much rather be with the boys',\n", - " 'if i was a dancer dance part 2',\n", - " 'if you cant rock me',\n", - " 'if you let me',\n", - " 'if you love me baby',\n", - " 'if you need me',\n", - " 'if you really want to be my friend',\n", - " 'if youve got trouble',\n", - " 'ill be on my way',\n", - " 'ill get you',\n", - " 'ill wear it proudly',\n", - " 'ill wind',\n", - " 'im a king bee',\n", - " 'im coming up',\n", - " 'im down',\n", - " 'im going down',\n", - " 'im gonna drive',\n", - " 'im gonna sit right down and cry over you',\n", - " 'im not signifying',\n", - " 'im talking about you',\n", - " 'in another land',\n", - " 'in spite of all the danger',\n", - " 'india',\n", - " 'india rubber',\n", - " 'inside my head',\n", - " 'intro',\n", - " 'intro excerpt from fanfare for the common man',\n", - " 'it hurts me too',\n", - " 'it should be you',\n", - " 'its all over now',\n", - " 'its for you',\n", - " 'its not easy',\n", - " 'ive been loving you too long',\n", - " 'james bond theme',\n", - " 'jazz piano song',\n", - " 'jerusalem',\n", - " 'jigsaw puzzle',\n", - " 'jingle bells',\n", - " 'jiving sister fanny',\n", - " 'john lennon vs bill oreilly',\n", - " 'john wesley harding',\n", - " 'johnny b goode',\n", - " 'jump on top of me',\n", - " 'junk',\n", - " 'just a rumour',\n", - " 'just a rumour speech',\n", - " 'kansas city',\n", - " 'keep strong',\n", - " 'keep your hands off my baby',\n", - " 'keith richards introduction of the who',\n", - " 'keys to your love',\n", - " 'kid a tracklist album cover',\n", - " 'killer cars',\n", - " 'komm gib mir deine hand',\n", - " 'ladies and gentlemen the rolling stones',\n", - " 'lady jane',\n", - " 'ladytron',\n", - " 'leave my kitten alone',\n", - " 'lend me your comb',\n", - " 'let it loose',\n", - " 'let it rock',\n", - " 'lets dance',\n", - " 'lewis mistreated',\n", - " 'lift',\n", - " 'like dreamers do',\n", - " 'linda lu',\n", - " 'little queenie',\n", - " 'little t a',\n", - " 'lonesome tears in my eyes',\n", - " 'long long while',\n", - " 'look what youve done',\n", - " 'looking tired',\n", - " 'losing my touch',\n", - " 'love',\n", - " 'love of the loved',\n", - " 'love these goon shows',\n", - " 'lozenge of love',\n", - " 'lucille',\n", - " 'lull',\n", - " 'luxury',\n", - " 'mailman bring me no more blues',\n", - " 'mannish boy',\n", - " 'manowar',\n", - " 'mantua',\n", - " 'maquiladora',\n", - " 'matchbox',\n", - " 'medley kansas cityhey hey hey hey',\n", - " 'medley rip it up shake rattle and roll blue suede shoes',\n", - " 'meet me in the bottom',\n", - " 'meeting in the aisle',\n", - " 'melatonin',\n", - " 'melody',\n", - " 'memo from turner',\n", - " 'memory motel',\n", - " 'memphis',\n", - " 'memphis tennessee',\n", - " 'mercy mercy',\n", - " 'mick jaggers and john lennons introduction of the dirty mac',\n", - " 'mick jaggers introduction of rock roll circus',\n", - " 'mick jaggers introduction to jethro tull',\n", - " 'million dollar question',\n", - " 'miss amanda jones',\n", - " 'miss you dr dre remix 2002',\n", - " 'missing links bootleg',\n", - " 'molasses',\n", - " 'mona',\n", - " 'money',\n", - " 'moonlight',\n", - " 'moonlight bay',\n", - " 'moonlight mile',\n", - " 'mothers little helper',\n", - " 'movie medley',\n", - " 'mr b',\n", - " 'my bonnie',\n", - " 'my bonnie english intro',\n", - " 'my bonnie german intro',\n", - " 'my girl',\n", - " 'my obsession',\n", - " 'no expectations',\n", - " 'no reply demo',\n", - " 'nobody does it better',\n", - " 'nobodys child',\n", - " 'not guilty',\n", - " 'nothin shakin',\n", - " 'nothin shakin but the leaves on the trees',\n", - " 'nothing from nothing',\n", - " 'nothing touches me',\n", - " 'oh baby we got a good thing goin',\n", - " 'old brown shoe',\n", - " 'on the beach',\n", - " 'on with the show',\n", - " 'one and one is two',\n", - " 'one more shot',\n", - " 'one more try',\n", - " 'ooh my arms',\n", - " 'ooh my arms speech',\n", - " 'ooh my soul',\n", - " 'open pick',\n", - " 'out of time',\n", - " 'packt like sardines in a crushd tin box',\n", - " 'paint it blacker',\n", - " 'palo alto',\n", - " 'pantomime everywhere its christmas',\n", - " 'parachute woman',\n", - " 'pass the wine sophia loren',\n", - " 'pay your dues',\n", - " 'pearly',\n", - " 'pedro the fisherman',\n", - " 'permanent daylight',\n", - " 'petrol gang',\n", - " 'phillipa chicken',\n", - " 'play with fire',\n", - " 'please go home',\n", - " 'plundered my soul',\n", - " 'poison ivy',\n", - " 'polyethylene parts 1 2',\n", - " 'pop is dead',\n", - " 'prodigal son',\n", - " 'punchdrunk lovesick singalong',\n", - " 'rain',\n", - " 'rain fall down william remix',\n", - " 'ready teddy',\n", - " 'real love',\n", - " 'reelin and rockin',\n", - " 'reminiscing',\n", - " 'revolution',\n", - " 'revolution i',\n", - " 'rhinestone cowboy',\n", - " 'ride on baby',\n", - " 'riding on a bus',\n", - " 'rip it up medley',\n", - " 'road runner',\n", - " 'ruby baby',\n", - " 'sad day',\n", - " 'saints',\n", - " 'saints when the saints go marching in',\n", - " 'salt of the earth',\n", - " 'searchin',\n", - " 'september in the rain',\n", - " 'set fire to that lot',\n", - " 'set fire to that lot speech',\n", - " 'sgt peppers lonely hearts club band band documentary multimedia',\n", - " 'sgt peppers lonely hearts club band reprise',\n", - " 'sha la la la la',\n", - " 'shake rattle and roll',\n", - " 'shake your hips',\n", - " 'she said yeah',\n", - " 'she smiled sweetly',\n", - " 'shes a rainbow',\n", - " 'short and curlies',\n", - " 'shout',\n", - " 'sie liebt dich',\n", - " 'silver train',\n", - " 'sing a song for you',\n", - " 'sing this all together',\n", - " 'sing this all together see what happens',\n", - " 'sinking ship',\n", - " 'sister morphine',\n", - " 'sittin on a fence',\n", - " 'sleepy city',\n", - " 'slow down',\n", - " 'so divine aladdin story',\n", - " 'so how come no one loves me',\n", - " 'soldier of love',\n", - " 'some other guy',\n", - " 'some things just stick in your mind',\n", - " 'somebody else',\n", - " 'someone else',\n", - " 'something happened to me yesterday',\n", - " 'something with blue jay way transition',\n", - " 'somewhere',\n", - " 'soul survivor',\n", - " 'sour milk sea',\n", - " 'spectre',\n", - " 'staircase',\n", - " 'stand by me',\n", - " 'star star',\n", - " 'stealing my heart',\n", - " 'step inside love',\n", - " 'step inside love los paranoias',\n", - " 'still a fool',\n", - " 'stoned',\n", - " 'stop breaking down',\n", - " 'stranger in my arms',\n", - " 'strawberry fields forever take 1',\n", - " 'strawberry fields forever take 7 edit piece',\n", - " 'stray cat blues',\n", - " 'stuck out all alone',\n", - " 'stupid car',\n", - " 'stupid girl',\n", - " 'summertime blues',\n", - " 'supercollider',\n", - " 'sure to fall',\n", - " 'sure to fall in love with you',\n", - " 'surprise surprise',\n", - " 'susie q',\n", - " 'suzy parker',\n", - " 'swanee river',\n", - " 'sway',\n", - " 'sweet black angel',\n", - " 'sweet georgia brown',\n", - " 'sweet little sixteen',\n", - " 'sympathy for the devil fatboy slim remix',\n", - " 'sympathy for the devil the neptunes remix',\n", - " 'take good care of my baby',\n", - " 'take it or leave it',\n", - " 'talk show host',\n", - " 'talkin about you',\n", - " 'teddy boy',\n", - " 'tell me',\n", - " 'tell me baby how many times',\n", - " 'tell me why ep',\n", - " 'tell me youre coming back',\n", - " 'thank you girl',\n", - " 'that girl belongs to yesterday',\n", - " 'that means a lot',\n", - " 'thatll be the day',\n", - " 'thats alright mama',\n", - " 'the amazing sounds of orgy',\n", - " 'the beatles 1968 christmas record',\n", - " 'the beatles christmas record',\n", - " 'the beatles seventh christmas record',\n", - " 'the beatles third christmas record',\n", - " 'the butcher',\n", - " 'the daily mail',\n", - " 'the fool on the hill demo',\n", - " 'the fool on the hill take 4',\n", - " 'the happy rishikesh song',\n", - " 'the harder they come',\n", - " 'the hippy hippy shake',\n", - " 'the honeymoon song',\n", - " 'the inner light',\n", - " 'the lantern',\n", - " 'the new generation',\n", - " 'the rocky road to dublin',\n", - " 'the sheik of araby',\n", - " 'the singer not the song',\n", - " 'the storm',\n", - " 'the thief',\n", - " 'the trickster',\n", - " 'the under assistant west coast promotion man',\n", - " 'these are my twisted words',\n", - " 'think',\n", - " 'this boy',\n", - " 'three cool cats',\n", - " 'through the lonely nights',\n", - " 'till the next goodbye',\n", - " 'time waits for no one',\n", - " 'title 5',\n", - " 'to be a brilliant light',\n", - " 'to know her is to love her',\n", - " 'too much monkey business',\n", - " 'torn and frayed',\n", - " 'transatlantic drawl',\n", - " 'travellin man',\n", - " 'try a little harder',\n", - " 'turd on the run',\n", - " 'under the board walk',\n", - " 'union city blue',\n", - " 'untogether',\n", - " 'upside down',\n", - " 'ventilator blues',\n", - " 'wake up in the morning',\n", - " 'walking the dog',\n", - " 'walking through the sleepy city',\n", - " 'watching rainbows',\n", - " 'we are wasting time',\n", - " 'we love you',\n", - " 'we want the stones',\n", - " 'were wastin time',\n", - " 'what a shame',\n", - " 'what goes on girl',\n", - " 'what is it that you say',\n", - " 'what is that you say',\n", - " 'what to do',\n", - " 'whatd i say',\n", - " 'whats the new mary jane',\n", - " 'when im sixtyfour',\n", - " 'when the saints go marchin in',\n", - " 'who am i',\n", - " 'whos been sleeping here',\n", - " 'whos driving your plane',\n", - " 'why',\n", - " 'wicked child',\n", - " 'winter',\n", - " 'wish i never met you',\n", - " 'wish you were here',\n", - " 'within you without youtomorrow never knows',\n", - " 'wonderwall',\n", - " 'words of love ep',\n", - " 'worrywort',\n", - " 'ya ya',\n", - " 'yes i am',\n", - " 'yes it is',\n", - " 'yesterdays papers',\n", - " 'you better move on',\n", - " 'you can make it if you try',\n", - " 'you cant catch me',\n", - " 'you gotta move',\n", - " 'you know my name',\n", - " 'you know my name look up the number',\n", - " 'you know what to do',\n", - " 'you never wash up after yourself',\n", - " 'youll be mine',\n", - " 'young blood',\n", - " 'youve got a hold on me',\n", - " 'yove got to hide your love away'}" + "[('twist and shout', 'Twist And Shout - Live / Remastered', 'Twist and Shout'),\n", + " ('twist and shout',\n", + " 'Twist And Shout - Live / Remastered',\n", + " 'Twist and shout - reloved version'),\n", + " ('twist and shout',\n", + " 'Twist And Shout - Live / Remastered',\n", + " 'Twist And Shout - Remastered 2009'),\n", + " ('roll over beethoven',\n", + " 'Roll Over Beethoven - Live / Remastered',\n", + " 'Roll Over Beethoven'),\n", + " ('roll over beethoven',\n", + " 'Roll Over Beethoven - Live / Remastered',\n", + " 'Roll Over Beethoven'),\n", + " ('she loves you', 'She Loves You - Live / Remastered', 'She Loves You'),\n", + " ('she loves you',\n", + " 'She Loves You - Live / Remastered',\n", + " 'She loves you - reloved version'),\n", + " ('i want to hold your hand',\n", + " 'I Want To Hold Your Hand - Live / Bonus Track',\n", + " 'I Want to Hold Your Hand'),\n", + " ('i want to hold your hand',\n", + " 'I Want To Hold Your Hand - Live / Bonus Track',\n", + " 'I Want to Hold Your Hand'),\n", + " ('love me do', 'Love Me Do - Mono / Remastered 2015', 'Love Me Do'),\n", + " ('love me do',\n", + " 'Love Me Do - Mono / Remastered 2015',\n", + " 'Love Me Do - Spankox Liverpool Remix'),\n", + " ('she loves you', 'She Loves You - Mono / Remastered 2015', 'She Loves You'),\n", + " ('she loves you',\n", + " 'She Loves You - Mono / Remastered 2015',\n", + " 'She loves you - reloved version'),\n", + " ('i want to hold your hand',\n", + " 'I Want To Hold Your Hand - Remastered 2015',\n", + " 'I Want to Hold Your Hand'),\n", + " ('i want to hold your hand',\n", + " 'I Want To Hold Your Hand - Remastered 2015',\n", + " 'I Want to Hold Your Hand'),\n", + " ('yesterday', 'Yesterday - Remastered 2015', 'Yesterday'),\n", + " ('yesterday', 'Yesterday - Remastered 2015', 'Yesterday'),\n", + " ('i will', 'I Will - Remastered 2009', 'I Will'),\n", + " ('i will', 'I Will - Remastered 2009', 'I Will'),\n", + " ('youve got to hide your love away',\n", + " \"You've Got To Hide Your Love Away - Remastered 2009\",\n", + " \"You've Got to Hide Your Love Away\"),\n", + " ('youve got to hide your love away',\n", + " \"You've Got To Hide Your Love Away - Remastered 2009\",\n", + " \"You've Got To Hide Your Love Away - Take 5, Mono\"),\n", + " ('yesterday', 'Yesterday - Remastered 2009', 'Yesterday'),\n", + " ('yesterday', 'Yesterday - Remastered 2009', 'Yesterday'),\n", + " ('little by little', 'Little By Little', 'Little by Little'),\n", + " ('little by little', 'Little By Little', 'Little By Little'),\n", + " ('roll over beethoven',\n", + " 'Roll Over Beethoven - Remastered 2009',\n", + " 'Roll Over Beethoven'),\n", + " ('roll over beethoven',\n", + " 'Roll Over Beethoven - Remastered 2009',\n", + " 'Roll Over Beethoven'),\n", + " ('i wanna be your man',\n", + " 'I Wanna Be Your Man - Remastered 2009',\n", + " 'I Wanna Be Your Man'),\n", + " ('i wanna be your man',\n", + " 'I Wanna Be Your Man - Remastered 2009',\n", + " 'I Wanna Be Your Man'),\n", + " ('money thats what i want',\n", + " \"Money (That's What I Want) - Remastered 2009\",\n", + " \"Money (That's What I Want)\"),\n", + " ('money thats what i want',\n", + " \"Money (That's What I Want) - Remastered 2009\",\n", + " \"Money (That's What I Want) - Remastered 2009\"),\n", + " ('please please me',\n", + " 'Please Please Me - Remastered 2009',\n", + " 'Please Please Me'),\n", + " ('please please me',\n", + " 'Please Please Me - Remastered 2009',\n", + " 'Please, Please Me'),\n", + " ('love me do', 'Love Me Do - Remastered 2009', 'Love Me Do'),\n", + " ('love me do',\n", + " 'Love Me Do - Remastered 2009',\n", + " 'Love Me Do - Spankox Liverpool Remix'),\n", + " ('ps i love you', 'P.S. I Love You - Remastered 2009', 'P.S. I Love You'),\n", + " ('ps i love you',\n", + " 'P.S. I Love You - Remastered 2009',\n", + " 'P.s. i love you - reloved version'),\n", + " ('twist and shout', 'Twist And Shout - Remastered 2009', 'Twist and Shout'),\n", + " ('twist and shout',\n", + " 'Twist And Shout - Remastered 2009',\n", + " 'Twist and shout - reloved version'),\n", + " ('twist and shout',\n", + " 'Twist And Shout - Remastered 2009',\n", + " 'Twist And Shout - Remastered 2009'),\n", + " ('i will', 'I Will', 'I Will'),\n", + " ('i will', 'I Will', 'I Will'),\n", + " ('paranoid android', 'Paranoid Android', 'Paranoid Android'),\n", + " ('paranoid android', 'Paranoid Android', 'Paranoid Android'),\n", + " ('high and dry', 'High And Dry', 'High and Dry'),\n", + " ('high and dry', 'High And Dry', 'High And Dry'),\n", + " ('wild horses',\n", + " 'Wild Horses - Live - 2009 Re-Mastered Digital Version',\n", + " 'Wild Horses'),\n", + " ('wild horses',\n", + " 'Wild Horses - Live - 2009 Re-Mastered Digital Version',\n", + " 'Wild Horses'),\n", + " ('pain in my heart',\n", + " 'Pain In My Heart - Live In Ireland / 1965',\n", + " 'Pain In My Heart'),\n", + " ('pain in my heart',\n", + " 'Pain In My Heart - Live In Ireland / 1965',\n", + " 'Pain In My Heart - Live In Ireland / 1965')]" ] }, - "execution_count": 57, + "execution_count": 74, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "genius_only" + "[(t['ctitle'], t['name'], g['title']) \n", + " for t in tracks.find()\n", + " for g in genius_tracks.find({'ctitle': t['ctitle']})\n", + " if genius_tracks.find({'ctitle': t['ctitle']}).count() > 1]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now to see what the differences are. Find the tracks that are in both collections, and tracks that are in only one." ] }, { "cell_type": "code", - "execution_count": 58, - "metadata": { - "collapsed": false - }, + "execution_count": 35, + "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "['revolution', 'revolution i']" + "(499, 563, 57)" ] }, - "execution_count": 58, + "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "[t for t in genius_only if 'revolution' in t]" + "in_both = set((g['ctitle'], g['primary_artist']['name'])\n", + " for g in genius_tracks.find({}, ['ctitle', 'primary_artist.name']) \n", + " if tracks.find({'ctitle': g['ctitle']}).count())\n", + "\n", + "genius_only = set((g['ctitle'], g['primary_artist']['name']) \n", + " for g in genius_tracks.find({}, ['ctitle', 'primary_artist.name']) \n", + " if not tracks.find({'ctitle': g['ctitle']}).count())\n", + "\n", + "spotify_only = set((s['ctitle'], s['artist_name'])\n", + " for s in tracks.find({}, ['ctitle', 'artist_name']) \n", + " if not genius_tracks.find({'ctitle': s['ctitle']}).count())\n", + "\n", + "len(in_both), len(genius_only), len(spotify_only)" ] }, { "cell_type": "code", - "execution_count": 59, + "execution_count": 36, "metadata": { - "collapsed": false + "scrolled": true }, "outputs": [ { "data": { "text/plain": [ - "['revolution 1']" + "[('bloom jamie xx rework', 'Radiohead'),\n", + " ('sea of monsters', 'George Martin'),\n", + " ('just my imagination', 'The Rolling Stones'),\n", + " ('jumping jack flash', 'The Rolling Stones'),\n", + " ('pepperland laid waste', 'George Martin'),\n", + " ('little ta', 'The Rolling Stones'),\n", + " ('kansas city heyheyheyhey', 'The Beatles'),\n", + " ('bullet proof i wish i was', 'Radiohead'),\n", + " ('sea of holes', 'George Martin'),\n", + " ('packt like sardines in a crushed tin box', 'Radiohead'),\n", + " ('codex illum sphere', 'Radiohead'),\n", + " ('outro', 'Jimi Hendrix'),\n", + " ('pepperland', 'George Martin'),\n", + " ('key to the highway', 'The Rolling Stones'),\n", + " ('march of the meanies', 'George Martin'),\n", + " ('dollars cents', 'Radiohead'),\n", + " ('little by little shed', 'Radiohead'),\n", + " ('sea of time', 'George Martin'),\n", + " ('faraway eyes', 'The Rolling Stones'),\n", + " ('i will los angeles version', 'Radiohead'),\n", + " ('everybody needs somebody to love finale', 'The Rolling Stones'),\n", + " ('a punch up at a wedding', 'Radiohead'),\n", + " ('revolution 1', 'The Beatles'),\n", + " ('untitled', 'Radiohead'),\n", + " ('when im sixty four', 'The Beatles')]" ] }, - "execution_count": 59, + "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "[t for t in spotify_only if 'revolution' in t]" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "collapsed": true - }, - "source": [ - "Manually fix a couple of errors." + "[s for s in spotify_only \n", + " if 'rmx' not in s[0]\n", + " if 'remix' not in s[0]\n", + " if 'live' not in s[0]\n", + " if 'intro' not in s[0]\n", + "]" ] }, { "cell_type": "code", - "execution_count": 52, - "metadata": { - "collapsed": false - }, + "execution_count": 37, + "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "" + "[('ladies and gentlemen the rolling stones', 'The Rolling Stones'),\n", + " ('the butcher', 'Radiohead'),\n", + " ('eds scary song', 'Radiohead'),\n", + " ('long long while', 'The Rolling Stones'),\n", + " ('till the next goodbye', 'The Rolling Stones'),\n", + " ('wicked child', 'Radiohead'),\n", + " ('bishops robes', 'Radiohead'),\n", + " ('hey crawdaddy', 'The Rolling Stones'),\n", + " ('baby please dont go', 'The Rolling Stones'),\n", + " ('ready teddy', 'The Beatles'),\n", + " ('somewhere', 'Ali brustofski'),\n", + " ('fool to cry', 'The Rolling Stones'),\n", + " ('john lennon vs bill oreilly', 'Nice Peter'),\n", + " ('stray cat blues', 'The Rolling Stones'),\n", + " ('because i know you love me so', 'The Beatles'),\n", + " ('2120 south michigan avenue', 'The Rolling Stones'),\n", + " ('jump on top of me', 'The Rolling Stones'),\n", + " ('cinnamon girl', 'Radiohead'),\n", + " ('john wesley harding', 'The Rolling Stones'),\n", + " ('the honeymoon song', 'The Beatles'),\n", + " ('dont ever change', 'The Beatles'),\n", + " ('mantua', 'Radiohead'),\n", + " ('fanny mae', 'The Rolling Stones'),\n", + " ('paint it blacker', 'Plan B'),\n", + " ('i froze up', 'Radiohead'),\n", + " ('permanent daylight', 'Radiohead'),\n", + " ('johnny b goode', 'The Beatles'),\n", + " ('silver train', 'The Rolling Stones'),\n", + " ('junk', 'The Beatles'),\n", + " ('please go home', 'The Rolling Stones'),\n", + " ('sie liebt dich', 'The Beatles'),\n", + " ('come togetherdear prudence', 'The Beatles'),\n", + " ('some other guy', 'The Beatles'),\n", + " ('i call your name', 'The Beatles'),\n", + " ('mona', 'The Rolling Stones'),\n", + " ('complicated', 'The Rolling Stones'),\n", + " ('little queenie', 'The Rolling Stones'),\n", + " ('memphis', 'The Beatles'),\n", + " ('glad all over', 'The Beatles'),\n", + " ('all sold out', 'The Rolling Stones'),\n", + " ('sympathy for the devil the neptunes remix', 'The Rolling Stones'),\n", + " ('blue turns to grey', 'The Rolling Stones'),\n", + " ('we are wasting time', 'The Rolling Stones'),\n", + " ('its for you', 'The Beatles'),\n", + " ('good times bad times', 'The Rolling Stones'),\n", + " ('ooh my soul', 'The Beatles'),\n", + " ('cry to me', 'The Rolling Stones'),\n", + " ('egyptian song', 'Radiohead'),\n", + " ('stoned', 'The Rolling Stones'),\n", + " ('i dont know why aka dont know why i love you', 'The Rolling Stones'),\n", + " ('get off of my cloud', 'The Rolling Stones'),\n", + " ('star star', 'The Rolling Stones'),\n", + " ('just a rumour', 'The Beatles'),\n", + " ('id much rather be with the boys', 'The Rolling Stones'),\n", + " ('petrol gang', 'The Rolling Stones'),\n", + " ('in another land', 'The Rolling Stones'),\n", + " ('you know what to do', 'The Beatles'),\n", + " ('can you hear the music', 'The Rolling Stones'),\n", + " ('you cant catch me', 'The Rolling Stones'),\n", + " ('my bonnie', 'The Beatles'),\n", + " ('money', 'The Rolling Stones'),\n", + " ('honest i do', 'The Rolling Stones'),\n", + " ('everything is turning to gold', 'The Rolling Stones'),\n", + " ('cut a hole', 'Radiohead'),\n", + " ('susie q', 'The Rolling Stones'),\n", + " ('ooh my arms', 'The Beatles'),\n", + " ('on the beach', 'Radiohead'),\n", + " ('sha la la la la', 'The Beatles'),\n", + " ('yesterdays papers', 'The Rolling Stones'),\n", + " ('my girl', 'The Rolling Stones'),\n", + " ('dear doctor', 'The Rolling Stones'),\n", + " ('i want to know', 'On A Friday'),\n", + " ('a moon shaped pool tracklist album cover', 'Radiohead'),\n", + " ('four guys', 'James Richards'),\n", + " ('i get a kick out of you', 'The Rolling Stones'),\n", + " ('shout', 'The Beatles'),\n", + " ('let it rock', 'The Rolling Stones'),\n", + " ('travellin man', 'The Rolling Stones'),\n", + " ('stealing my heart', 'The Rolling Stones'),\n", + " ('when im sixtyfour', 'The Beatles'),\n", + " ('criss cross man', 'The Rolling Stones'),\n", + " ('come on', 'The Rolling Stones'),\n", + " ('union city blue', 'Radiohead'),\n", + " ('doom and gloom', 'The Rolling Stones'),\n", + " ('baby whats wrong', 'The Rolling Stones'),\n", + " ('nobodys child', 'The Beatles'),\n", + " ('sweet little sixteen', 'The Beatles'),\n", + " ('within you without youtomorrow never knows', 'The Beatles'),\n", + " ('so divine aladdin story', 'The Rolling Stones'),\n", + " ('upside down', 'Radiohead'),\n", + " ('all things must pass', 'The Beatles'),\n", + " ('besame mucho', 'The Beatles'),\n", + " ('anyway you look at it', 'The Rolling Stones'),\n", + " ('carol', 'The Rolling Stones'),\n", + " ('winter', 'The Rolling Stones'),\n", + " ('gangsters maul', 'The Rolling Stones'),\n", + " ('what goes on girl', 'The Beatles'),\n", + " ('lonesome tears in my eyes', 'The Beatles'),\n", + " ('meet me in the bottom', 'The Rolling Stones'),\n", + " ('missing links bootleg', 'Plan B'),\n", + " ('through the lonely nights', 'The Rolling Stones'),\n", + " ('no expectations', 'The Rolling Stones'),\n", + " ('shake your hips', 'The Rolling Stones'),\n", + " ('ill get you', 'The Beatles'),\n", + " ('the beatles seventh christmas record', 'The Beatles'),\n", + " ('words of love ep', 'The Beatles'),\n", + " ('falling in love again', 'The Beatles'),\n", + " ('dont let me down', 'The Beatles'),\n", + " ('somebody else', 'Radiohead'),\n", + " ('reminiscing', 'The Beatles'),\n", + " ('the hippy hippy shake', 'The Beatles'),\n", + " ('ya ya', 'The Beatles'),\n", + " ('im down', 'The Beatles'),\n", + " ('cry for a shadow', 'The Beatles'),\n", + " ('doo doo doo doo doo heartbreaker', 'The Rolling Stones'),\n", + " ('pop is dead', 'Radiohead'),\n", + " ('love of the loved', 'The Beatles'),\n", + " ('dancing with mr d', 'The Rolling Stones'),\n", + " ('the thief', 'Radiohead'),\n", + " ('jazz piano song', 'The Beatles'),\n", + " ('da doo ron ron', 'The Rolling Stones'),\n", + " ('lets dance', 'The Beatles'),\n", + " ('one more try', 'The Rolling Stones'),\n", + " ('andrews blues', 'The Rolling Stones'),\n", + " ('memphis tennessee', 'The Beatles'),\n", + " ('sister morphine', 'The Rolling Stones'),\n", + " ('give it up', 'On A Friday'),\n", + " ('blackbirdyesterday', 'The Beatles'),\n", + " ('title 5', 'The Rolling Stones'),\n", + " ('sad day', 'The Rolling Stones'),\n", + " ('i am waiting', 'The Rolling Stones'),\n", + " ('a picture of you', 'The Beatles'),\n", + " ('dance', 'The Rolling Stones'),\n", + " ('revolution', 'The Beatles'),\n", + " ('youll be mine', 'The Beatles'),\n", + " ('lewis mistreated', 'Radiohead'),\n", + " ('keep your hands off my baby', 'The Beatles'),\n", + " ('lady jane', 'The Rolling Stones'),\n", + " ('following the river', 'The Rolling Stones'),\n", + " ('the lantern', 'The Rolling Stones'),\n", + " ('i got a woman', 'The Beatles'),\n", + " ('walking through the sleepy city', 'The Rolling Stones'),\n", + " ('aint that loving you baby', 'The Rolling Stones'),\n", + " ('sing this all together', 'The Rolling Stones'),\n", + " ('im gonna sit right down and cry over you', 'The Beatles'),\n", + " ('in spite of all the danger', 'The Beatles'),\n", + " ('crying waiting hoping', 'The Beatles'),\n", + " ('we want the stones', 'The Rolling Stones'),\n", + " ('the beatles 1968 christmas record', 'The Beatles'),\n", + " ('miss amanda jones', 'The Rolling Stones'),\n", + " ('wish i never met you', 'The Rolling Stones'),\n", + " ('sweet georgia brown', 'The Beatles'),\n", + " ('inside my head', 'Radiohead'),\n", + " ('old brown shoe', 'The Beatles'),\n", + " ('yes i am', 'Radiohead'),\n", + " ('beatle greetings', 'The Beatles'),\n", + " ('just a rumour speech', 'The Beatles'),\n", + " ('nothin shakin', 'The Beatles'),\n", + " ('hound dog', 'The Rolling Stones'),\n", + " ('stuck out all alone', 'The Rolling Stones'),\n", + " ('nothin shakin but the leaves on the trees', 'The Beatles'),\n", + " ('2000 light years from home', 'The Rolling Stones'),\n", + " ('ladytron', 'Radiohead'),\n", + " ('shes a rainbow', 'The Rolling Stones'),\n", + " ('no reply demo', 'The Beatles'),\n", + " ('im not signifying', 'The Rolling Stones'),\n", + " ('i want to be loved', 'The Rolling Stones'),\n", + " ('bebopalula', 'The Beatles'),\n", + " ('walking the dog', 'The Rolling Stones'),\n", + " ('stop breaking down', 'The Rolling Stones'),\n", + " ('whos been sleeping here', 'The Rolling Stones'),\n", + " ('downtown suzie', 'The Rolling Stones'),\n", + " ('real love', 'The Beatles'),\n", + " ('keep strong', 'On A Friday'),\n", + " ('yove got to hide your love away', 'The Beatles'),\n", + " ('this boy', 'The Beatles'),\n", + " ('the beatles third christmas record', 'The Beatles'),\n", + " ('the harder they come', 'The Rolling Stones'),\n", + " ('try a little harder', 'The Rolling Stones'),\n", + " ('kid a tracklist album cover', 'Radiohead'),\n", + " ('big boots', 'Radiohead'),\n", + " ('aint too proud to beg', 'The Rolling Stones'),\n", + " ('flight 505', 'The Rolling Stones'),\n", + " ('ill be on my way', 'The Beatles'),\n", + " ('cant get next to you', 'The Rolling Stones'),\n", + " ('im coming up', 'On A Friday'),\n", + " ('backstreet girl', 'The Rolling Stones'),\n", + " ('final show', 'Beatles Candlestick Park Setlist'),\n", + " ('wonderwall', 'Radiohead'),\n", + " ('down in the bottom', 'The Rolling Stones'),\n", + " ('you better move on', 'The Rolling Stones'),\n", + " ('each and every day of the year', 'The Rolling Stones'),\n", + " ('give peace a chance', 'The Beatles'),\n", + " ('a punchup at a wedding', 'Radiohead'),\n", + " ('why', 'The Beatles'),\n", + " ('goodbye', 'The Beatles'),\n", + " ('im gonna drive', 'The Rolling Stones'),\n", + " ('short and curlies', 'The Rolling Stones'),\n", + " ('3', 'The Rolling Stones'),\n", + " ('19th nervous breakdown', 'The Rolling Stones'),\n", + " ('pay your dues', 'The Rolling Stones'),\n", + " ('melody', 'The Rolling Stones'),\n", + " ('rhinestone cowboy', 'Radiohead'),\n", + " ('spectre', 'Radiohead'),\n", + " ('supercollider', 'Radiohead'),\n", + " ('if you cant rock me', 'The Rolling Stones'),\n", + " ('reelin and rockin', 'The Rolling Stones'),\n", + " ('its not easy', 'The Rolling Stones'),\n", + " ('think', 'The Rolling Stones'),\n", + " ('eleanor rigbyjulia transition', 'The Beatles'),\n", + " ('mannish boy', 'The Rolling Stones'),\n", + " ('phillipa chicken', 'Radiohead'),\n", + " ('cherry oh baby', 'The Rolling Stones'),\n", + " ('its all over now', 'The Rolling Stones'),\n", + " ('talkin about you', 'The Rolling Stones'),\n", + " ('matchbox', 'The Beatles'),\n", + " ('revolution i', 'The Beatles'),\n", + " ('ooh my arms speech', 'The Beatles'),\n", + " ('whatd i say', 'The Beatles'),\n", + " ('saints when the saints go marching in', 'The Beatles'),\n", + " ('bad boy', 'The Beatles'),\n", + " ('bitches talkin', 'Frank Ocean'),\n", + " ('congratulations', 'The Rolling Stones'),\n", + " ('good times', 'The Rolling Stones'),\n", + " ('thatll be the day', 'The Beatles'),\n", + " ('gnik nus', 'The Beatles'),\n", + " ('around and around', 'The Rolling Stones'),\n", + " ('ive been loving you too long', 'The Rolling Stones'),\n", + " ('i want none of this', 'Radiohead'),\n", + " ('saints', 'The Beatles'),\n", + " ('something happened to me yesterday', 'The Rolling Stones'),\n", + " ('what is that you say', 'Radiohead'),\n", + " ('glass onion love remix', 'The Beatles'),\n", + " ('gotta get away', 'The Rolling Stones'),\n", + " ('what a shame', 'The Rolling Stones'),\n", + " ('i promise', 'Radiohead'),\n", + " ('climbing up a bloody great hill', 'Radiohead'),\n", + " ('down in eastern australia', 'The Beatles'),\n", + " ('meeting in the aisle', 'Radiohead'),\n", + " ('one and one is two', 'The Beatles'),\n", + " ('love these goon shows', 'The Beatles'),\n", + " ('nothing from nothing', 'The Rolling Stones'),\n", + " ('bullet proofi wish i was', 'Radiohead'),\n", + " ('play with fire', 'The Rolling Stones'),\n", + " ('dear wack', 'The Beatles'),\n", + " ('crushed pearl', 'The Rolling Stones'),\n", + " ('the sheik of araby', 'The Beatles'),\n", + " ('aint she sweet', 'The Beatles'),\n", + " ('highway child', 'The Rolling Stones'),\n", + " ('how can you be sure', 'Radiohead'),\n", + " ('burning bush', 'Radiohead'),\n", + " ('salt of the earth', 'The Rolling Stones'),\n", + " ('not guilty', 'The Beatles'),\n", + " ('soldier of love', 'The Beatles'),\n", + " ('i aint superstitious', 'The Rolling Stones'),\n", + " ('three cool cats', 'The Beatles'),\n", + " ('confessin the blues', 'The Rolling Stones'),\n", + " ('under the board walk', 'The Rolling Stones'),\n", + " ('hoochie coochie man', 'The Rolling Stones'),\n", + " ('thank you girl', 'The Beatles'),\n", + " ('follow me around', 'Radiohead'),\n", + " ('talk show host', 'Radiohead'),\n", + " ('you know my name look up the number', 'The Beatles'),\n", + " ('how i made my millions', 'Radiohead'),\n", + " ('watching rainbows', 'The Beatles'),\n", + " ('grown up wrong', 'The Rolling Stones'),\n", + " ('crinsk dee night', 'The Beatles'),\n", + " ('hello little girl', 'The Beatles'),\n", + " ('september in the rain', 'The Beatles'),\n", + " ('cool calm and collected', 'The Rolling Stones'),\n", + " ('komm gib mir deine hand', 'The Beatles'),\n", + " ('open pick', 'Radiohead'),\n", + " ('moonlight mile', 'The Rolling Stones'),\n", + " ('step inside love', 'The Beatles'),\n", + " ('dream baby', 'The Beatles'),\n", + " ('casino boogie', 'The Rolling Stones'),\n", + " ('child of nature', 'The Beatles'),\n", + " ('hitch hike', 'The Rolling Stones'),\n", + " ('mr b', 'Radiohead'),\n", + " ('im a king bee', 'The Rolling Stones'),\n", + " ('parachute woman', 'The Rolling Stones'),\n", + " ('goin home', 'The Rolling Stones'),\n", + " ('ruby baby', 'The Beatles'),\n", + " ('sinking ship', 'On A Friday'),\n", + " ('the fool on the hill demo', 'The Beatles'),\n", + " ('have a banana', 'The Beatles'),\n", + " ('yes it is', 'The Beatles'),\n", + " ('jingle bells', 'The Beatles'),\n", + " ('prodigal son', 'The Rolling Stones'),\n", + " ('untogether', 'Radiohead'),\n", + " ('let it loose', 'The Rolling Stones'),\n", + " ('everybody lies through their teeth', 'On A Friday'),\n", + " ('blood red wine', 'The Rolling Stones'),\n", + " ('the trickster', 'Radiohead'),\n", + " ('palo alto', 'Radiohead'),\n", + " ('worrywort', 'Radiohead'),\n", + " ('i just dont understand', 'The Beatles'),\n", + " ('what is it that you say', 'On A Friday'),\n", + " ('step inside love los paranoias', 'The Beatles'),\n", + " ('i think im going mad', 'The Rolling Stones'),\n", + " ('youve got a hold on me', 'The Beatles'),\n", + " ('some things just stick in your mind', 'The Rolling Stones'),\n", + " ('empty heart', 'The Rolling Stones'),\n", + " ('the beatles christmas record', 'The Beatles'),\n", + " ('packt like sardines in a crushd tin box', 'Radiohead'),\n", + " ('beautiful dreamer', 'The Beatles'),\n", + " ('i need you baby mona', 'The Rolling Stones'),\n", + " ('blue suede shoes', 'The Beatles'),\n", + " ('sour milk sea', 'The Beatles'),\n", + " ('sleepy city', 'The Rolling Stones'),\n", + " ('family', 'The Rolling Stones'),\n", + " ('lend me your comb', 'The Beatles'),\n", + " ('ventilator blues', 'The Rolling Stones'),\n", + " ('still a fool', 'The Rolling Stones'),\n", + " ('con le mie lacrime', 'The Rolling Stones'),\n", + " ('all together on the wireless machine', 'The Beatles'),\n", + " ('whats the new mary jane', 'The Beatles'),\n", + " ('dont look back', 'The Rolling Stones'),\n", + " ('stupid girl', 'The Rolling Stones'),\n", + " ('child of the moon', 'The Rolling Stones'),\n", + " ('you can make it if you try', 'The Rolling Stones'),\n", + " ('how do you do it', 'The Beatles'),\n", + " ('kansas city', 'The Beatles'),\n", + " ('hiheel sneakers', 'The Rolling Stones'),\n", + " ('summertime blues', 'The Rolling Stones'),\n", + " ('im going down', 'The Rolling Stones'),\n", + " ('pearly', 'Radiohead'),\n", + " ('so how come no one loves me', 'The Beatles'),\n", + " ('we love you', 'The Rolling Stones'),\n", + " ('she smiled sweetly', 'The Rolling Stones'),\n", + " ('little t a', 'The Rolling Stones'),\n", + " ('banana co', 'Radiohead'),\n", + " ('clarabella', 'The Beatles'),\n", + " ('wish you were here', 'Radiohead'),\n", + " ('sing a song for you', 'Radiohead'),\n", + " ('hallelujah i love her so', 'The Beatles'),\n", + " ('luxury', 'The Rolling Stones'),\n", + " ('the storm', 'The Rolling Stones'),\n", + " ('the daily mail', 'Radiohead'),\n", + " ('something with blue jay way transition', 'The Beatles'),\n", + " ('big ideas', 'Radiohead'),\n", + " ('heart of stone', 'The Rolling Stones'),\n", + " ('i just want to make love to you', 'The Rolling Stones'),\n", + " ('what to do', 'The Rolling Stones'),\n", + " ('road runner', 'The Rolling Stones'),\n", + " ('if i was a dancer dance part 2', 'The Rolling Stones'),\n", + " ('fancyman blues', 'The Rolling Stones'),\n", + " ('transatlantic drawl', 'Radiohead'),\n", + " ('the rocky road to dublin', 'The Chieftains'),\n", + " ('teddy boy', 'The Beatles'),\n", + " ('fingerprint file', 'The Rolling Stones'),\n", + " ('memphis tennessee', 'The Rolling Stones'),\n", + " ('cocksucker blues', 'The Rolling Stones'),\n", + " ('if you let me', 'The Rolling Stones'),\n", + " ('mercy mercy', 'The Rolling Stones'),\n", + " ('i got to find my baby', 'The Beatles'),\n", + " ('the singer not the song', 'The Rolling Stones'),\n", + " ('killer cars', 'Radiohead'),\n", + " ('slow down', 'The Beatles'),\n", + " ('my bonnie', 'Tony Sheridan'),\n", + " ('heavys pizza', 'Dallas Smart'),\n", + " ('drift away', 'The Rolling Stones'),\n", + " ('lift', 'Radiohead'),\n", + " ('sure to fall in love with you', 'The Beatles'),\n", + " ('molasses', 'Radiohead'),\n", + " ('tell me why ep', 'The Beatles'),\n", + " ('ill wear it proudly', 'Radiohead'),\n", + " ('melatonin', 'Radiohead'),\n", + " ('rain', 'The Beatles'),\n", + " ('india', 'The Beatles'),\n", + " ('being for the benefit of mr kitei want you shes so heavyhelter skelter',\n", + " 'The Beatles'),\n", + " ('one more shot', 'The Rolling Stones'),\n", + " ('stupid car', 'Radiohead'),\n", + " ('jiving sister fanny', 'The Rolling Stones'),\n", + " ('another beatles christmas record', 'The Beatles'),\n", + " ('were wastin time', 'The Rolling Stones'),\n", + " ('punchdrunk lovesick singalong', 'Radiohead'),\n", + " ('can i get a witness', 'The Rolling Stones'),\n", + " ('happy song', 'On A Friday'),\n", + " ('100 years ago', 'The Rolling Stones'),\n", + " ('riding on a bus', 'The Beatles'),\n", + " ('india rubber', 'Radiohead'),\n", + " ('on with the show', 'The Rolling Stones'),\n", + " ('hey negrita', 'The Rolling Stones'),\n", + " ('moonlight', 'The Beatles'),\n", + " ('polyethylene parts 1 2', 'Radiohead'),\n", + " ('sympathy for the devil fatboy slim remix', 'The Rolling Stones'),\n", + " ('sweet black angel', 'The Rolling Stones'),\n", + " ('if you love me baby', 'The Beatles'),\n", + " ('sweet little sixteen', 'The Rolling Stones'),\n", + " ('1822', 'The Beatles'),\n", + " ('everyone needs someone to hate', 'On A Friday'),\n", + " ('leave my kitten alone', 'The Beatles'),\n", + " ('citadel', 'The Rolling Stones'),\n", + " ('country honk', 'The Rolling Stones'),\n", + " ('hot stuff', 'The Rolling Stones'),\n", + " ('someone else', 'On A Friday'),\n", + " ('hide your love', 'The Rolling Stones'),\n", + " ('look what youve done', 'The Rolling Stones'),\n", + " ('dance little sister', 'The Rolling Stones'),\n", + " ('tell me youre coming back', 'The Rolling Stones'),\n", + " ('dancing in the light', 'The Rolling Stones'),\n", + " ('i dont know why', 'The Rolling Stones'),\n", + " ('mothers little helper', 'The Rolling Stones'),\n", + " ('jigsaw puzzle', 'The Rolling Stones'),\n", + " ('2000 man', 'The Rolling Stones'),\n", + " ('from us to you', 'The Beatles'),\n", + " ('here comes the sunthe inner light transition', 'The Beatles'),\n", + " ('down home girl', 'The Rolling Stones'),\n", + " ('you never wash up after yourself', 'Radiohead'),\n", + " ('commonwealth', 'The Beatles'),\n", + " ('bye bye johnny', 'The Rolling Stones'),\n", + " ('diddley daddy', 'The Rolling Stones'),\n", + " ('crackin up', 'The Rolling Stones'),\n", + " ('i just want to see his face', 'The Rolling Stones'),\n", + " ('set fire to that lot speech', 'The Beatles'),\n", + " ('the new generation', 'Radiohead'),\n", + " ('to be a brilliant light', 'On A Friday'),\n", + " ('a little rhyme', 'The Beatles'),\n", + " ('these are my twisted words', 'Radiohead'),\n", + " ('rain fall down william remix', 'The Rolling Stones'),\n", + " ('across the universe wildlife version', 'The Beatles'),\n", + " ('i cant help it', 'The Rolling Stones'),\n", + " ('the happy rishikesh song', 'The Beatles'),\n", + " ('blue moon of kentucky', 'The Beatles'),\n", + " ('dollars and cents', 'Radiohead'),\n", + " ('it should be you', 'The Rolling Stones'),\n", + " ('goodbye girl', 'The Rolling Stones'),\n", + " ('corinna', 'The Rolling Stones'),\n", + " ('million dollar question', 'Radiohead'),\n", + " ('bitch', 'The Rolling Stones'),\n", + " ('she said yeah', 'The Rolling Stones'),\n", + " ('maquiladora', 'Radiohead'),\n", + " ('sway', 'The Rolling Stones'),\n", + " ('oh baby we got a good thing goin', 'The Rolling Stones'),\n", + " ('wake up in the morning', 'The Rolling Stones'),\n", + " ('who am i', 'The Rolling Stones'),\n", + " ('memory motel', 'The Rolling Stones'),\n", + " ('my obsession', 'The Rolling Stones'),\n", + " ('sure to fall', 'The Beatles'),\n", + " ('im talking about you', 'The Beatles'),\n", + " ('faithless the wonderboy', 'Radiohead'),\n", + " ('i got the blues', 'The Rolling Stones'),\n", + " ('carol', 'The Beatles'),\n", + " ('sgt peppers lonely hearts club band band documentary multimedia',\n", + " 'The Beatles'),\n", + " ('the under assistant west coast promotion man', 'The Rolling Stones'),\n", + " ('have you seen your mother baby standing in the shadow',\n", + " 'The Rolling Stones'),\n", + " ('suzy parker', 'The Beatles'),\n", + " ('jerusalem', 'On A Friday'),\n", + " ('plundered my soul', 'The Rolling Stones'),\n", + " ('mailman bring me no more blues', 'The Beatles'),\n", + " ('memo from turner', 'The Rolling Stones'),\n", + " ('it hurts me too', 'The Rolling Stones'),\n", + " ('stranger in my arms', 'The Beatles'),\n", + " ('young blood', 'The Beatles'),\n", + " ('soul survivor', 'The Rolling Stones'),\n", + " ('torn and frayed', 'The Rolling Stones'),\n", + " ('sittin on a fence', 'The Rolling Stones'),\n", + " ('doncha bother me', 'The Rolling Stones'),\n", + " ('fasttrack', 'Radiohead'),\n", + " ('ride on baby', 'The Rolling Stones'),\n", + " ('that girl belongs to yesterday', 'The Rolling Stones'),\n", + " ('james bond theme', 'The Beatles'),\n", + " ('love', 'The Beatles'),\n", + " ('hear me lord harrison', 'The Beatles'),\n", + " ('i forgot to remember to forget', 'The Beatles'),\n", + " ('a reminder', 'Radiohead'),\n", + " ('set fire to that lot', 'The Beatles'),\n", + " ('ceremony', 'Radiohead'),\n", + " ('harlem shuffle ny mix', 'The Rolling Stones'),\n", + " ('if you need me', 'The Rolling Stones'),\n", + " ('lozenge of love', 'Radiohead'),\n", + " ('shake rattle and roll', 'The Beatles'),\n", + " ('to know her is to love her', 'The Beatles'),\n", + " ('pedro the fisherman', 'The Beatles'),\n", + " ('harry patch in memory of', 'Radiohead'),\n", + " ('nothing touches me', 'Radiohead'),\n", + " ('dont lie to me', 'The Rolling Stones'),\n", + " ('christmas time is here again', 'The Beatles'),\n", + " ('cook cook blues', 'The Rolling Stones'),\n", + " ('losing my touch', 'The Rolling Stones'),\n", + " ('fortune teller', 'The Rolling Stones'),\n", + " ('have a banana speech', 'The Beatles'),\n", + " ('coming down again', 'The Rolling Stones'),\n", + " ('ill wind', 'Radiohead'),\n", + " ('lull', 'Radiohead'),\n", + " ('you gotta move', 'The Rolling Stones'),\n", + " ('the inner light', 'The Beatles'),\n", + " ('hand of fate', 'The Rolling Stones'),\n", + " ('staircase', 'Radiohead'),\n", + " ('dont stop', 'The Rolling Stones'),\n", + " ('get back aka no pakistanis', 'The Beatles'),\n", + " ('lucille', 'The Beatles'),\n", + " ('that means a lot', 'The Beatles'),\n", + " ('gomper', 'The Rolling Stones'),\n", + " ('tell me', 'The Rolling Stones'),\n", + " ('moonlight bay', 'The Beatles'),\n", + " ('stand by me', 'The Beatles'),\n", + " ('manowar', 'Radiohead'),\n", + " ('bad to me', 'The Beatles'),\n", + " ('miss you dr dre remix 2002', 'The Rolling Stones'),\n", + " ('too much monkey business', 'The Beatles'),\n", + " ('poison ivy', 'The Rolling Stones'),\n", + " ('free as a bird', 'The Beatles'),\n", + " ('cuttooth', 'Radiohead'),\n", + " ('come and get it', 'The Beatles'),\n", + " ('turd on the run', 'The Rolling Stones'),\n", + " ('i cant be satisfied', 'The Rolling Stones'),\n", + " ('time waits for no one', 'The Rolling Stones'),\n", + " ('if you really want to be my friend', 'The Rolling Stones'),\n", + " ('dandelion', 'The Rolling Stones'),\n", + " ('swanee river', 'The Beatles'),\n", + " ('tell me baby how many times', 'The Rolling Stones'),\n", + " ('you know my name', 'The Beatles'),\n", + " ('bright lights big city', 'The Rolling Stones'),\n", + " ('beautiful delilah', 'The Rolling Stones'),\n", + " ('when the saints go marchin in', 'The Beatles'),\n", + " ('nobody does it better', 'Radiohead'),\n", + " ('like dreamers do', 'The Beatles'),\n", + " ('searchin', 'The Beatles'),\n", + " ('thats alright mama', 'The Beatles'),\n", + " ('crazy mama', 'The Rolling Stones'),\n", + " ('good time women', 'The Rolling Stones'),\n", + " ('keys to your love', 'The Rolling Stones'),\n", + " ('whos driving your plane', 'The Rolling Stones'),\n", + " ('drive my carthe wordwhat youre doing', 'The Beatles'),\n", + " ('out of time', 'The Rolling Stones'),\n", + " ('cops and robbers', 'The Rolling Stones'),\n", + " ('pass the wine sophia loren', 'The Rolling Stones'),\n", + " ('linda lu', 'The Rolling Stones'),\n", + " ('from fluff to you', 'The Beatles'),\n", + " ('surprise surprise', 'The Rolling Stones'),\n", + " ('pantomime everywhere its christmas', 'The Beatles'),\n", + " ('coke babies', 'Radiohead'),\n", + " ('fog', 'Radiohead'),\n", + " ('sgt peppers lonely hearts club band reprise', 'The Beatles'),\n", + " ('if youve got trouble', 'The Beatles'),\n", + " ('a shot of rhythm and blues', 'The Beatles'),\n", + " ('looking tired', 'The Rolling Stones'),\n", + " ('the amazing sounds of orgy', 'Radiohead'),\n", + " ('sing this all together see what happens', 'The Rolling Stones')]" ] }, - "execution_count": 52, + "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "genius_tracks.update_many({'ctitle': 'revolution i'}, \n", - " {'$set': {'ctitle': 'revolution 1'}})\n", - "genius_tracks.update_many({'ctitle': 'when im sixtyfour'}, \n", - " {'$set': {'ctitle': 'when im sixty four'}})\n", - "genius_tracks.update_many({'ctitle': 'packt like sardines in a crushd tin box'}, \n", - " {'$set': {'ctitle': 'packt like sardines in a crushed tin box'}})\n", - "genius_tracks.update_many({'ctitle': 'a punchup at a wedding'}, \n", - " {'$set': {'ctitle': 'a punch up at a wedding'}})\n", - "genius_tracks.update_many({'ctitle': 'dollars cents'}, \n", - " {'$set': {'ctitle': 'dollars and cents'}})\n", - "genius_tracks.update_many({'ctitle': 'bullet proofi wish i was'}, \n", - " {'$set': {'ctitle': 'bullet proof i wish i was'}})" + "[g for g in genius_only\n", + " if 'take' not in g[0]\n", + " if 'medley' not in g[0]\n", + " if 'intro' not in g[0]\n", + " if 'live' not in g[0]\n", + "]" ] }, { "cell_type": "code", - "execution_count": 79, - "metadata": { - "collapsed": false - }, + "execution_count": 38, + "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "(306, 293, 41)" + "[('revolution', 'The Beatles'), ('revolution i', 'The Beatles')]" ] }, - "execution_count": 79, + "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "in_both = set(g['ctitle'] for g in genius_tracks.find({}, ['ctitle']) if tracks.find({'ctitle': g['ctitle']}).count())\n", - "genius_only = set(g['ctitle'] for g in genius_tracks.find({}, ['ctitle']) if not tracks.find({'ctitle': g['ctitle']}).count())\n", - "spotify_only = set(s['ctitle'] for s in tracks.find({}, ['ctitle']) if not genius_tracks.find({'ctitle': s['ctitle']}).count())\n", - "len(in_both), len(genius_only), len(spotify_only)" + "[t for t in genius_only if 'revolution' in t[0]]" ] }, { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": 39, "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[('revolution 1', 'The Beatles')]" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "### Copy the lyrics over\n", - "Now can can connect the tracks, let's copy across the lyrics from the Genius collection into the Spotify collection. We'll calculate the lyrical density at the same time.\n", - "\n", - "* [Top](#top)" + "[t for t in spotify_only if 'revolution' in t[0]]" ] }, { "cell_type": "code", - "execution_count": 80, - "metadata": { - "collapsed": false - }, - "outputs": [], - "source": [ - "for t in tracks.find({}, ['ctitle', 'duration_ms']):\n", - " gts = genius_tracks.find({'ctitle': t['ctitle'], 'lyrics': {'$exists': True}}, ['lyrics', 'original_lyrics'])\n", - " for gt in gts:\n", - " tracks.update_one({'_id': t['_id']}, \n", - " {'$set': {'lyrics': gt['lyrics'], \n", - " 'original_lyrics': gt['original_lyrics'],\n", - " 'lyrical_density': 1000 * len(gt['lyrics'].split()) / t['duration_ms']}})" - ] - }, - { - "cell_type": "markdown", + "execution_count": 40, "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "([], [('jumping jack flash', 'The Rolling Stones')])" + ] + }, + "execution_count": 40, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "## Sentiment analysis\n", - "I couldn't find an easily-installable equivalent to the NRC corpus, so I'm using a sentiment analysis API endpoint from [Text Processing](http://text-processing.com/docs/sentiment.html).\n", - "\n", - "* [Top](#top)" + "([t for t in in_both if 'jack flash' in t], [t for t in spotify_only if 'jack flash' in t[0]])" ] }, { "cell_type": "code", - "execution_count": 81, - "metadata": { - "collapsed": false, - "scrolled": true - }, - "outputs": [], - "source": [ - "for t in tracks.find({'lyrics': {'$exists': True}}, ['lyrics']):\n", - " text = t['lyrics']\n", - " if text:\n", - " query = urllib.parse.urlencode({'text': text}).encode('ascii')\n", - " headers = {'Accept': 'application/json',\n", - " 'User-Agent': 'curl/7.9.8 (i686-pc-linux-gnu) libcurl 7.9.8 (OpenSSL 0.9.6b) (ipv6 enabled)'}\n", - " request = urllib.request.Request('http://text-processing.com/api/sentiment/', \n", - " headers=headers, data=query)\n", - " with urllib.request.urlopen(request) as f:\n", - " response = json.loads(f.read().decode('utf-8'))\n", - " tracks.update_one({'_id': t['_id']}, {'$set': {'sentiment': response}})" - ] - }, - { - "cell_type": "code", - "execution_count": 82, - "metadata": { - "collapsed": false - }, + "execution_count": 42, + "metadata": {}, "outputs": [ { - "data": { - "text/plain": [ - "dict_keys(['sentiment', 'mode', 'instrumentalness', 'href', 'energy', 'album', 'track_href', 'popularity', 'disc_number', 'liveness', 'available_markets', 'name', 'track_number', 'loudness', 'danceability', 'lyrics', 'uri', 'speechiness', 'type', 'explicit', 'external_urls', 'external_ids', 'artist_id', 'id', 'analysis_url', 'album_id', 'valence', '_id', 'lyrical_density', 'acousticness', 'ctitle', 'duration_ms', 'preview_url', 'artists', 'tempo', 'time_signature', 'artist_name', 'key', 'original_lyrics'])" - ] - }, - "execution_count": 82, - "metadata": {}, - "output_type": "execute_result" + "name": "stdout", + "output_type": "stream", + "text": [ + "i might be wrong live [('i might be wrong live', 'Radiohead')] []\n", + "losing my touch [] [('losing my touch', 'The Rolling Stones')]\n", + "burning bush [] [('burning bush', 'Radiohead')]\n", + "just a rumour [] [('just a rumour', 'The Beatles')]\n", + "eight days a week [('eight days a week', 'The Beatles'), ('eight days a week', 'The Beatles')] [('eight days a week', 'The Beatles')]\n", + "little by little caribou rmx [('little by little caribou rmx', 'Radiohead')] []\n", + "yesterdays papers [] [('yesterdays papers', 'The Rolling Stones')]\n", + "con le mie lacrime [] [('con le mie lacrime', 'The Rolling Stones')]\n", + "come on [] [('come on', 'The Rolling Stones')]\n", + "fortune teller [] [('fortune teller', 'The Rolling Stones')]\n", + "cinnamon girl [] [('cinnamon girl', 'Radiohead')]\n", + "lewis mistreated [] [('lewis mistreated', 'Radiohead')]\n", + "bright lights big city [] [('bright lights big city', 'The Rolling Stones')]\n", + "johnny b goode [] [('johnny b goode', 'The Beatles')]\n", + "give it up [] [('give it up', 'On A Friday')]\n", + "crinsk dee night [] [('crinsk dee night', 'The Beatles')]\n", + "hoochie coochie man [] [('hoochie coochie man', 'The Rolling Stones')]\n", + "union city blue [] [('union city blue', 'Radiohead')]\n", + "yesterday [('yesterday', 'The Beatles'), ('yesterday', 'The Beatles')] [('yesterday', 'Yusdrew'), ('yesterday', 'The Beatles')]\n", + "had it with you [('had it with you', 'The Rolling Stones'), ('had it with you', 'The Rolling Stones')] [('had it with you', 'The Rolling Stones')]\n", + "gnik nus [] [('gnik nus', 'The Beatles')]\n", + "bullet proof i wish i was [('bullet proof i wish i was', 'Radiohead')] []\n", + "child of nature [] [('child of nature', 'The Beatles')]\n", + "dont stop [] [('dont stop', 'The Rolling Stones')]\n", + "kansas city heyheyheyhey [('kansas city heyheyheyhey', 'The Beatles')] []\n", + "dance [] [('dance', 'The Rolling Stones')]\n", + "besame mucho [] [('besame mucho', 'The Beatles')]\n", + "you got the silver [('you got the silver', 'The Rolling Stones'), ('you got the silver', 'The Rolling Stones')] [('you got the silver', 'The Rolling Stones')]\n", + "march of the meanies [('march of the meanies', 'George Martin')] []\n", + "stupid girl [] [('stupid girl', 'The Rolling Stones')]\n", + "child of the moon [] [('child of the moon', 'The Rolling Stones')]\n", + "stoned [] [('stoned', 'The Rolling Stones')]\n", + "good time women [] [('good time women', 'The Rolling Stones')]\n", + "you can make it if you try [] [('you can make it if you try', 'The Rolling Stones')]\n", + "christmas time is here again [] [('christmas time is here again', 'The Beatles')]\n", + "everyone needs someone to hate [] [('everyone needs someone to hate', 'On A Friday')]\n", + "its not easy [] [('its not easy', 'The Rolling Stones')]\n", + "worried about you [('worried about you', 'The Rolling Stones'), ('worried about you', 'Bob Clearmountain')] [('worried about you', 'The Rolling Stones')]\n", + "i promise [] [('i promise', 'Radiohead')]\n", + "charlie watts introduction of marianne faithfull [] [('charlie watts introduction of marianne faithfull', 'The Rolling Stones')]\n", + "out of time [] [('out of time', 'The Rolling Stones'), ('out of time', 'The Rolling Stones')]\n", + "play with fire [] [('play with fire', 'The Rolling Stones')]\n", + "the storm [] [('the storm', 'The Rolling Stones')]\n", + "hiheel sneakers [] [('hiheel sneakers', 'The Rolling Stones')]\n", + "ill wind [] [('ill wind', 'Radiohead')]\n", + "walking through the sleepy city [] [('walking through the sleepy city', 'The Rolling Stones')]\n", + "maquiladora [] [('maquiladora', 'Radiohead')]\n", + "when the whip comes down [('when the whip comes down', 'The Rolling Stones'), ('when the whip comes down', 'The Rolling Stones'), ('when the whip comes down', 'The Rolling Stones')] [('when the whip comes down', 'The Rolling Stones')]\n", + "worrywort [] [('worrywort', 'Radiohead')]\n", + "a moon shaped pool tracklist album cover [] [('a moon shaped pool tracklist album cover', 'Radiohead')]\n", + "ill be on my way [] [('ill be on my way', 'The Beatles')]\n", + "sure to fall in love with you [] [('sure to fall in love with you', 'The Beatles')]\n", + "i wanna be your man [('i wanna be your man', 'The Beatles')] [('i wanna be your man', 'The Beatles'), ('i wanna be your man', 'The Rolling Stones')]\n", + "glad all over [] [('glad all over', 'The Beatles')]\n", + "goin home [] [('goin home', 'The Rolling Stones')]\n", + "i am waiting [] [('i am waiting', 'The Rolling Stones')]\n", + "high and dry [('high and dry', 'Radiohead')] [('high and dry', 'Radiohead'), ('high and dry', 'The Rolling Stones')]\n", + "highway child [] [('highway child', 'The Rolling Stones')]\n", + "sgt peppers lonely hearts club band band documentary multimedia [] [('sgt peppers lonely hearts club band band documentary multimedia', 'The Beatles')]\n", + "gangsters maul [] [('gangsters maul', 'The Rolling Stones')]\n", + "ooh my arms speech [] [('ooh my arms speech', 'The Beatles')]\n", + "from us to you [] [('from us to you', 'The Beatles')]\n", + "why [] [('why', 'The Beatles')]\n", + "yellow submarine [('yellow submarine', 'The Beatles'), ('yellow submarine', 'The Beatles'), ('yellow submarine', 'The Beatles')] [('yellow submarine', 'The Beatles')]\n", + "im gonna drive [] [('im gonna drive', 'The Rolling Stones')]\n", + "one hit to the body [('one hit to the body', 'The Rolling Stones'), ('one hit to the body', 'The Rolling Stones')] [('one hit to the body', 'The Rolling Stones')]\n", + "nobodys child [] [('nobodys child', 'The Beatles')]\n", + "sweet little sixteen [] [('sweet little sixteen', 'The Beatles'), ('sweet little sixteen', 'The Rolling Stones')]\n", + "you better move on [] [('you better move on', 'The Rolling Stones')]\n", + "paranoid android [('paranoid android', 'Radiohead')] [('paranoid android', 'Sia'), ('paranoid android', 'Radiohead')]\n", + "keep your hands off my baby [] [('keep your hands off my baby', 'The Beatles')]\n", + "eleanor rigbyjulia transition [] [('eleanor rigbyjulia transition', 'The Beatles')]\n", + "dear wack [] [('dear wack', 'The Beatles')]\n", + "fingerprint file [] [('fingerprint file', 'The Rolling Stones')]\n", + "everything in its right place live in france [('everything in its right place live in france', 'Radiohead')] []\n", + "mailman bring me no more blues [] [('mailman bring me no more blues', 'The Beatles')]\n", + "till the next goodbye [] [('till the next goodbye', 'The Rolling Stones')]\n", + "another beatles christmas record [] [('another beatles christmas record', 'The Beatles')]\n", + "harlem shuffle [('harlem shuffle', 'The Rolling Stones'), ('harlem shuffle', 'The Rolling Stones')] [('harlem shuffle', 'The Rolling Stones')]\n", + "that means a lot [] [('that means a lot', 'The Beatles')]\n", + "tell me baby how many times [] [('tell me baby how many times', 'The Rolling Stones')]\n", + "like a rolling stone [('like a rolling stone', 'The Rolling Stones'), ('like a rolling stone', 'The Rolling Stones')] [('like a rolling stone', 'The Rolling Stones')]\n", + "you know what to do [] [('you know what to do', 'The Beatles')]\n", + "too rude [('too rude', 'The Rolling Stones'), ('too rude', 'The Rolling Stones')] [('too rude', 'The Rolling Stones')]\n", + "drive my carthe wordwhat youre doing [] [('drive my carthe wordwhat youre doing', 'The Beatles')]\n", + "everybody lies through their teeth [] [('everybody lies through their teeth', 'On A Friday')]\n", + "ladytron [] [('ladytron', 'Radiohead')]\n", + "open pick [] [('open pick', 'Radiohead')]\n", + "i want none of this [] [('i want none of this', 'Radiohead')]\n", + "whos been sleeping here [] [('whos been sleeping here', 'The Rolling Stones')]\n", + "being for the benefit of mr kitei want you shes so heavyhelter skelter [] [('being for the benefit of mr kitei want you shes so heavyhelter skelter', 'The Beatles')]\n", + "james bond theme [] [('james bond theme', 'The Beatles')]\n", + "what to do [] [('what to do', 'The Rolling Stones')]\n", + "ruby baby [] [('ruby baby', 'The Beatles')]\n", + "still a fool [] [('still a fool', 'The Rolling Stones')]\n", + "pedro the fisherman [] [('pedro the fisherman', 'The Beatles')]\n", + "watching rainbows [] [('watching rainbows', 'The Beatles')]\n", + "if you love me baby [] [('if you love me baby', 'The Beatles')]\n", + "if you cant rock me [] [('if you cant rock me', 'The Rolling Stones')]\n", + "bitches talkin [] [('bitches talkin', 'Frank Ocean')]\n", + "fog [] [('fog', 'Radiohead')]\n", + "strawberry fields forever take 7 edit piece [] [('strawberry fields forever take 7 edit piece', 'The Beatles')]\n", + "fanny mae [] [('fanny mae', 'The Rolling Stones')]\n", + "band introductions [('band introductions', 'The Rolling Stones')] []\n", + "nothing touches me [] [('nothing touches me', 'Radiohead')]\n", + "the national anthem live in france [('the national anthem live in france', 'Radiohead')] []\n", + "bloom harmonic 313 rmx [('bloom harmonic 313 rmx', 'Radiohead')] []\n", + "hey negrita [] [('hey negrita', 'The Rolling Stones')]\n", + "give up the ghost thriller houseghost remix [('give up the ghost thriller houseghost remix', 'Radiohead')] []\n", + "if you need me [] [('if you need me', 'The Rolling Stones')]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "the daily mail [] [('the daily mail', 'Radiohead')]\n", + "try a little harder [] [('try a little harder', 'The Rolling Stones')]\n", + "bishops robes [] [('bishops robes', 'Radiohead')]\n", + "casino boogie [] [('casino boogie', 'The Rolling Stones')]\n", + "fool to cry [] [('fool to cry', 'The Rolling Stones')]\n", + "outro [('outro', 'Jimi Hendrix')] []\n", + "i will [('i will', 'The Beatles'), ('i will', 'Radiohead')] [('i will', 'Radiohead'), ('i will', 'The Beatles')]\n", + "the fool on the hill demo [] [('the fool on the hill demo', 'The Beatles')]\n", + "yes it is [] [('yes it is', 'The Beatles')]\n", + "the butcher [] [('the butcher', 'Radiohead')]\n", + "blood red wine [] [('blood red wine', 'The Rolling Stones')]\n", + "youll be mine [] [('youll be mine', 'The Beatles')]\n", + "luxury [] [('luxury', 'The Rolling Stones')]\n", + "tell me youre coming back [] [('tell me youre coming back', 'The Rolling Stones')]\n", + "paint it black [('paint it black', 'The Rolling Stones'), ('paint it black', 'The Rolling Stones'), ('paint it black', 'The Rolling Stones'), ('paint it black', 'The Rolling Stones')] [('paint it black', 'The Rolling Stones')]\n", + "start me up [('start me up', 'The Rolling Stones'), ('start me up', 'The Rolling Stones'), ('start me up', 'The Rolling Stones'), ('start me up', 'The Rolling Stones'), ('start me up', 'The Rolling Stones'), ('start me up', 'The Rolling Stones')] [('start me up', 'The Rolling Stones')]\n", + "dead flowers [('dead flowers', 'The Rolling Stones'), ('dead flowers', 'The Rolling Stones')] [('dead flowers', 'The Rolling Stones')]\n", + "stuck out all alone [] [('stuck out all alone', 'The Rolling Stones')]\n", + "love me do [('love me do', 'The Beatles'), ('love me do', 'The Beatles')] [('love me do', 'The Beatles'), ('love me do', 'The Beatles')]\n", + "can i get a witness [] [('can i get a witness', 'The Rolling Stones')]\n", + "have you seen your mother baby standing in the shadow [] [('have you seen your mother baby standing in the shadow', 'The Rolling Stones')]\n", + "cherry oh baby [] [('cherry oh baby', 'The Rolling Stones')]\n", + "hear me lord harrison [] [('hear me lord harrison', 'The Beatles')]\n", + "crushed pearl [] [('crushed pearl', 'The Rolling Stones')]\n", + "criss cross man [] [('criss cross man', 'The Rolling Stones')]\n", + "citadel [] [('citadel', 'The Rolling Stones')]\n", + "shattered [('shattered', 'The Rolling Stones'), ('shattered', 'The Rolling Stones'), ('shattered', 'The Rolling Stones'), ('shattered', 'The Rolling Stones')] [('shattered', 'The Rolling Stones')]\n", + "wake up in the morning [] [('wake up in the morning', 'The Rolling Stones')]\n", + "lets dance [] [('lets dance', 'The Beatles')]\n", + "surprise surprise [] [('surprise surprise', 'The Rolling Stones')]\n", + "have a banana speech [] [('have a banana speech', 'The Beatles')]\n", + "ticket to ride [('ticket to ride', 'The Beatles'), ('ticket to ride', 'The Beatles'), ('ticket to ride', 'The Beatles')] [('ticket to ride', 'The Beatles')]\n", + "all my loving [('all my loving', 'The Beatles'), ('all my loving', 'The Beatles')] [('all my loving', 'The Beatles')]\n", + "goodbye girl [] [('goodbye girl', 'The Rolling Stones')]\n", + "turd on the run [] [('turd on the run', 'The Rolling Stones')]\n", + "codex illum sphere [('codex illum sphere', 'Radiohead')] []\n", + "the amazing sounds of orgy [] [('the amazing sounds of orgy', 'Radiohead')]\n", + "a shot of rhythm and blues [] [('a shot of rhythm and blues', 'The Beatles')]\n", + "blue turns to grey [] [('blue turns to grey', 'The Rolling Stones')]\n", + "faraway eyes [('faraway eyes', 'The Rolling Stones'), ('faraway eyes', 'The Rolling Stones')] []\n", + "dandelion [] [('dandelion', 'The Rolling Stones')]\n", + "down in the bottom [] [('down in the bottom', 'The Rolling Stones')]\n", + "transatlantic drawl [] [('transatlantic drawl', 'Radiohead')]\n", + "dollars cents [('dollars cents', 'Radiohead')] []\n", + "i got to find my baby [] [('i got to find my baby', 'The Beatles')]\n", + "mantua [] [('mantua', 'Radiohead')]\n", + "being for the benefit of mr kite take 7 [] [('being for the benefit of mr kite take 7', 'The Beatles')]\n", + "get back [('get back', 'Billy Preston'), ('get back', 'The Beatles')] [('get back', 'The Beatles')]\n", + "all things must pass [] [('all things must pass', 'The Beatles')]\n", + "time is on my side [('time is on my side', 'The Rolling Stones'), ('time is on my side', 'The Rolling Stones')] [('time is on my side', 'The Rolling Stones')]\n", + "slow down [] [('slow down', 'The Beatles')]\n", + "crackin up [] [('crackin up', 'The Rolling Stones')]\n", + "i just want to see his face [] [('i just want to see his face', 'The Rolling Stones')]\n", + "down home girl [] [('down home girl', 'The Rolling Stones')]\n", + "dont ever change [] [('dont ever change', 'The Beatles')]\n", + "all together on the wireless machine [] [('all together on the wireless machine', 'The Beatles')]\n", + "lift [] [('lift', 'Radiohead')]\n", + "glass onion love remix [] [('glass onion love remix', 'The Beatles')]\n", + "martin scorsese intro [('martin scorsese intro', 'The Rolling Stones')] []\n", + "good times bad times [] [('good times bad times', 'The Rolling Stones')]\n", + "you cant always get what you want [('you cant always get what you want', 'The Rolling Stones'), ('you cant always get what you want', 'The Rolling Stones'), ('you cant always get what you want', 'The Rolling Stones')] [('you cant always get what you want', 'The Rolling Stones')]\n", + "2 2 5 live at earls court [('2 2 5 live at earls court', 'Radiohead')] []\n", + "separator four tet rmx [('separator four tet rmx', 'Radiohead')] []\n", + "all down the line [('all down the line', 'The Rolling Stones'), ('all down the line', 'The Rolling Stones')] [('all down the line', 'The Rolling Stones')]\n", + "baby whats wrong [] [('baby whats wrong', 'The Rolling Stones')]\n", + "beautiful dreamer [] [('beautiful dreamer', 'The Beatles')]\n", + "reelin and rockin [] [('reelin and rockin', 'The Rolling Stones')]\n", + "looking tired [] [('looking tired', 'The Rolling Stones')]\n", + "matchbox [] [('matchbox', 'The Beatles')]\n", + "september in the rain [] [('september in the rain', 'The Beatles')]\n", + "hound dog [] [('hound dog', 'The Rolling Stones')]\n", + "street fighting man [('street fighting man', 'The Rolling Stones'), ('street fighting man', 'The Rolling Stones'), ('street fighting man', 'The Rolling Stones')] [('street fighting man', 'The Rolling Stones')]\n", + "downtown suzie [] [('downtown suzie', 'The Rolling Stones')]\n", + "lend me your comb [] [('lend me your comb', 'The Beatles')]\n", + "my bonnie english intro [] [('my bonnie english intro', 'The Beatles')]\n", + "sing a song for you [] [('sing a song for you', 'Radiohead')]\n", + "staircase [] [('staircase', 'Radiohead')]\n", + "across the universe wildlife version [] [('across the universe wildlife version', 'The Beatles')]\n", + "little ta [('little ta', 'The Rolling Stones'), ('little ta', 'The Rolling Stones')] []\n", + "in another land [] [('in another land', 'The Rolling Stones')]\n", + "the beatles 1968 christmas record [] [('the beatles 1968 christmas record', 'The Beatles')]\n", + "lady jane [] [('lady jane', 'The Rolling Stones')]\n", + "stray cat blues [] [('stray cat blues', 'The Rolling Stones')]\n", + "bad to me [] [('bad to me', 'The Beatles')]\n", + "soul survivor [] [('soul survivor', 'The Rolling Stones')]\n", + "keith richards introduction of the who [] [('keith richards introduction of the who', 'The Rolling Stones')]\n", + "bloom blawan rmx [('bloom blawan rmx', 'Radiohead')] []\n", + "love [] [('love', 'The Beatles')]\n", + "dont let me down [] [('dont let me down', 'The Beatles')]\n", + "melatonin [] [('melatonin', 'Radiohead')]\n", + "the harder they come [] [('the harder they come', 'The Rolling Stones')]\n", + "someone else [] [('someone else', 'On A Friday')]\n", + "pearly [] [('pearly', 'Radiohead')]\n", + "no expectations [] [('no expectations', 'The Rolling Stones')]\n", + "dont look back [] [('dont look back', 'The Rolling Stones')]\n", + "lull [] [('lull', 'Radiohead')]\n", + "million dollar question [] [('million dollar question', 'Radiohead')]\n", + "gomper [] [('gomper', 'The Rolling Stones')]\n", + "a picture of you [] [('a picture of you', 'The Beatles')]\n", + "sympathy for the devil fatboy slim remix [] [('sympathy for the devil fatboy slim remix', 'The Rolling Stones')]\n", + "revolution [] [('revolution', 'The Beatles')]\n", + "what a shame [] [('what a shame', 'The Rolling Stones')]\n", + "coming down again [] [('coming down again', 'The Rolling Stones')]\n", + "fasttrack [] [('fasttrack', 'Radiohead')]\n", + "cuttooth [] [('cuttooth', 'Radiohead')]\n", + "morning bell live in oxford [('morning bell live in oxford', 'Radiohead')] []\n", + "heavys pizza [] [('heavys pizza', 'Dallas Smart')]\n", + "i forgot to remember to forget [] [('i forgot to remember to forget', 'The Beatles')]\n", + "set fire to that lot [] [('set fire to that lot', 'The Beatles')]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "good times [] [('good times', 'The Rolling Stones')]\n", + "meeting in the aisle [] [('meeting in the aisle', 'Radiohead')]\n", + "lozenge of love [] [('lozenge of love', 'Radiohead')]\n", + "hitch hike [] [('hitch hike', 'The Rolling Stones')]\n", + "to be a brilliant light [] [('to be a brilliant light', 'On A Friday')]\n", + "separator anstam rmx [('separator anstam rmx', 'Radiohead')] []\n", + "doo doo doo doo doo heartbreaker [] [('doo doo doo doo doo heartbreaker', 'The Rolling Stones')]\n", + "beast of burden [('beast of burden', 'The Rolling Stones'), ('beast of burden', 'The Rolling Stones'), ('beast of burden', 'The Rolling Stones')] [('beast of burden', 'The Rolling Stones')]\n", + "medley kansas cityhey hey hey hey [] [('medley kansas cityhey hey hey hey', 'The Beatles')]\n", + "bloom objekt rmx [('bloom objekt rmx', 'Radiohead')] []\n", + "intro take the a train [('intro take the a train', 'Duke Ellington')] []\n", + "money thats what i want [('money thats what i want', 'The Beatles')] [('money thats what i want', 'The Beatles'), ('money thats what i want', 'The Beatles')]\n", + "how do you do it [] [('how do you do it', 'The Beatles')]\n", + "soldier of love [] [('soldier of love', 'The Beatles')]\n", + "wish i never met you [] [('wish i never met you', 'The Rolling Stones')]\n", + "remyxomatosis cristian vogel rmx [('remyxomatosis cristian vogel rmx', 'Radiohead')] []\n", + "bebopalula [] [('bebopalula', 'The Beatles')]\n", + "before they make me run [('before they make me run', 'The Rolling Stones'), ('before they make me run', 'The Rolling Stones'), ('before they make me run', 'The Rolling Stones')] [('before they make me run', 'The Rolling Stones')]\n", + "twist and shout [('twist and shout', 'The Beatles'), ('twist and shout', 'The Beatles')] [('twist and shout', 'The Beatles'), ('twist and shout', 'The Beatles'), ('twist and shout', 'The Beatles')]\n", + "jazz piano song [] [('jazz piano song', 'The Beatles')]\n", + "spectre [] [('spectre', 'Radiohead')]\n", + "within you without youtomorrow never knows [] [('within you without youtomorrow never knows', 'The Beatles')]\n", + "im free [('im free', 'The Rolling Stones'), ('im free', 'The Rolling Stones')] [('im free', 'The Rolling Stones')]\n", + "things we said today [('things we said today', 'The Beatles'), ('things we said today', 'The Beatles')] [('things we said today', 'The Beatles')]\n", + "nobody does it better [] [('nobody does it better', 'Radiohead')]\n", + "country honk [] [('country honk', 'The Rolling Stones')]\n", + "suzy parker [] [('suzy parker', 'The Beatles')]\n", + "hide your love [] [('hide your love', 'The Rolling Stones')]\n", + "charlies intro to little red rooster [('charlies intro to little red rooster', 'The Rolling Stones')] []\n", + "honky tonk women [('honky tonk women', 'The Rolling Stones'), ('honky tonk women', 'Sheryl Crow'), ('honky tonk women', 'The Rolling Stones')] [('honky tonk women', 'The Rolling Stones')]\n", + "here comes the sunthe inner light transition [] [('here comes the sunthe inner light transition', 'The Beatles')]\n", + "dear doctor [] [('dear doctor', 'The Rolling Stones')]\n", + "little t a [] [('little t a', 'The Rolling Stones')]\n", + "title 5 [] [('title 5', 'The Rolling Stones')]\n", + "saints when the saints go marching in [] [('saints when the saints go marching in', 'The Beatles')]\n", + "happy song [] [('happy song', 'On A Friday')]\n", + "neighbours [('neighbours', 'The Rolling Stones'), ('neighbours', 'Bob Clearmountain')] [('neighbours', 'The Rolling Stones')]\n", + "wonderwall [] [('wonderwall', 'Radiohead')]\n", + "i got the blues [] [('i got the blues', 'The Rolling Stones')]\n", + "the new generation [] [('the new generation', 'Radiohead')]\n", + "sleep tonight [('sleep tonight', 'The Rolling Stones'), ('sleep tonight', 'The Rolling Stones')] [('sleep tonight', 'The Rolling Stones')]\n", + "like spinning plates live [('like spinning plates live', 'Radiohead')] []\n", + "what is it that you say [] [('what is it that you say', 'On A Friday')]\n", + "teddy boy [] [('teddy boy', 'The Beatles')]\n", + "the beatles seventh christmas record [] [('the beatles seventh christmas record', 'The Beatles')]\n", + "harry patch in memory of [] [('harry patch in memory of', 'Radiohead')]\n", + "through the lonely nights [] [('through the lonely nights', 'The Rolling Stones')]\n", + "pepperland laid waste [('pepperland laid waste', 'George Martin')] []\n", + "cant buy me love [('cant buy me love', 'The Beatles'), ('cant buy me love', 'The Beatles'), ('cant buy me love', 'The Beatles')] [('cant buy me love', 'The Beatles')]\n", + "look what youve done [] [('look what youve done', 'The Rolling Stones')]\n", + "can you take me back [] [('can you take me back', 'The Beatles')]\n", + "dirty work [('dirty work', 'The Rolling Stones'), ('dirty work', 'The Rolling Stones')] [('dirty work', 'The Rolling Stones')]\n", + "heart of stone [] [('heart of stone', 'The Rolling Stones')]\n", + "moonlight [] [('moonlight', 'The Beatles')]\n", + "in spite of all the danger [] [('in spite of all the danger', 'The Beatles')]\n", + "im down [] [('im down', 'The Beatles')]\n", + "walking the dog [] [('walking the dog', 'The Rolling Stones')]\n", + "the long and winding road [('the long and winding road', 'The Beatles'), ('the long and winding road', 'The Beatles')] [('the long and winding road', 'The Beatles')]\n", + "mick jaggers and john lennons introduction of the dirty mac [] [('mick jaggers and john lennons introduction of the dirty mac', 'The Rolling Stones')]\n", + "get off of my cloud [] [('get off of my cloud', 'The Rolling Stones')]\n", + "coke babies [] [('coke babies', 'Radiohead')]\n", + "ps i love you [('ps i love you', 'The Beatles')] [('ps i love you', 'The Beatles'), ('ps i love you', 'The Beatles')]\n", + "stupid car [] [('stupid car', 'Radiohead')]\n", + "nothin shakin but the leaves on the trees [] [('nothin shakin but the leaves on the trees', 'The Beatles')]\n", + "strawberry fields forever take 1 [] [('strawberry fields forever take 1', 'The Beatles')]\n", + "far away eyes [('far away eyes', 'The Rolling Stones'), ('far away eyes', 'The Rolling Stones')] [('far away eyes', 'The Rolling Stones')]\n", + "were wastin time [] [('were wastin time', 'The Rolling Stones')]\n", + "i go wild [('i go wild', 'The Rolling Stones'), ('i go wild', 'The Rolling Stones')] [('i go wild', 'The Rolling Stones')]\n", + "have a banana [] [('have a banana', 'The Beatles')]\n", + "sea of time [('sea of time', 'George Martin')] []\n", + "continental drift [('continental drift', 'The Rolling Stones'), ('continental drift', 'The Rolling Stones')] [('continental drift', 'The Rolling Stones')]\n", + "its all over now [] [('its all over now', 'The Rolling Stones')]\n", + "come together [('come together', 'The Beatles'), ('come together', 'The Beatles')] [('come together', 'The Beatles')]\n", + "sway [] [('sway', 'The Rolling Stones')]\n", + "somewhere [] [('somewhere', 'Ali brustofski')]\n", + "penny lane [('penny lane', 'The Beatles'), ('penny lane', 'The Beatles')] [('penny lane', 'The Beatles')]\n", + "beatles movie medley [] [('beatles movie medley', 'The Beatles')]\n", + "the thief [] [('the thief', 'Radiohead')]\n", + "mercy mercy [] [('mercy mercy', 'The Rolling Stones')]\n", + "egyptian song [] [('egyptian song', 'Radiohead')]\n", + "love of the loved [] [('love of the loved', 'The Beatles')]\n", + "i just dont understand [] [('i just dont understand', 'The Beatles')]\n", + "from fluff to you [] [('from fluff to you', 'The Beatles')]\n", + "youve got to hide your love away [('youve got to hide your love away', 'The Beatles')] [('youve got to hide your love away', 'The Beatles'), ('youve got to hide your love away', 'The Beatles')]\n", + "jumpin jack flash [('jumpin jack flash', 'The Rolling Stones'), ('jumpin jack flash', 'The Rolling Stones'), ('jumpin jack flash', 'The Rolling Stones')] [('jumpin jack flash', 'The Rolling Stones')]\n", + "gotta get away [] [('gotta get away', 'The Rolling Stones')]\n", + "give peace a chance [] [('give peace a chance', 'The Beatles')]\n", + "let it rock [] [('let it rock', 'The Rolling Stones')]\n", + "i cant get no satisfaction [('i cant get no satisfaction', 'The Rolling Stones'), ('i cant get no satisfaction', 'The Rolling Stones'), ('i cant get no satisfaction', 'The Rolling Stones'), ('i cant get no satisfaction', 'The Rolling Stones'), ('i cant get no satisfaction', 'The Rolling Stones')] [('i cant get no satisfaction', 'The Rolling Stones')]\n", + "falling in love again [] [('falling in love again', 'The Beatles')]\n", + "let me go [('let me go', 'The Rolling Stones'), ('let me go', 'The Rolling Stones')] [('let me go', 'The Rolling Stones')]\n", + "corinna [] [('corinna', 'The Rolling Stones')]\n", + "dollars and cents [] [('dollars and cents', 'Radiohead')]\n", + "lucille [] [('lucille', 'The Beatles')]\n", + "jumping jack flash [('jumping jack flash', 'The Rolling Stones')] []\n", + "you know my name look up the number [] [('you know my name look up the number', 'The Beatles')]\n", + "the trickster [] [('the trickster', 'Radiohead')]\n", + "she loves you [('she loves you', 'The Beatles'), ('she loves you', 'The Beatles')] [('she loves you', 'The Beatles'), ('she loves you', 'The Beatles')]\n", + "shes a rainbow [] [('shes a rainbow', 'The Rolling Stones')]\n", + "jiving sister fanny [] [('jiving sister fanny', 'The Rolling Stones')]\n", + "im gonna sit right down and cry over you [] [('im gonna sit right down and cry over you', 'The Beatles')]\n", + "paint it blacker [] [('paint it blacker', 'Plan B')]\n", + "when the saints go marchin in [] [('when the saints go marchin in', 'The Beatles')]\n", + "how can you be sure [] [('how can you be sure', 'Radiohead')]\n", + "if you really want to be my friend [] [('if you really want to be my friend', 'The Rolling Stones')]\n", + "sgt peppers lonely hearts club band reprise [] [('sgt peppers lonely hearts club band reprise', 'The Beatles')]\n", + "dollars cents live [('dollars cents live', 'Radiohead')] []\n", + "get back aka no pakistanis [] [('get back aka no pakistanis', 'The Beatles')]\n", + "give up the ghost brokenchord rmx [('give up the ghost brokenchord rmx', 'Radiohead')] []\n", + "each and every day of the year [] [('each and every day of the year', 'The Rolling Stones')]\n", + "19th nervous breakdown [] [('19th nervous breakdown', 'The Rolling Stones')]\n", + "true love waits live in oslo [('true love waits live in oslo', 'Radiohead')] []\n", + "pay your dues [] [('pay your dues', 'The Rolling Stones')]\n", + "you never wash up after yourself [] [('you never wash up after yourself', 'Radiohead')]\n", + "all sold out [] [('all sold out', 'The Rolling Stones')]\n", + "polyethylene parts 1 2 [] [('polyethylene parts 1 2', 'Radiohead')]\n", + "love these goon shows [] [('love these goon shows', 'The Beatles')]\n", + "around and around [] [('around and around', 'The Rolling Stones')]\n", + "palo alto [] [('palo alto', 'Radiohead')]\n", + "untogether [] [('untogether', 'Radiohead')]\n", + "doom and gloom [] [('doom and gloom', 'The Rolling Stones')]\n", + "the beatles third christmas record [] [('the beatles third christmas record', 'The Beatles')]\n", + "she smiled sweetly [] [('she smiled sweetly', 'The Rolling Stones')]\n", + "little queenie [] [('little queenie', 'The Rolling Stones')]\n", + "because i know you love me so [] [('because i know you love me so', 'The Beatles')]\n", + "we want the stones [] [('we want the stones', 'The Rolling Stones')]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "sea of monsters [('sea of monsters', 'George Martin')] []\n", + "3 [] [('3', 'The Rolling Stones')]\n", + "linda lu [] [('linda lu', 'The Rolling Stones')]\n", + "please go home [] [('please go home', 'The Rolling Stones')]\n", + "tell me why ep [] [('tell me why ep', 'The Beatles')]\n", + "fight [('fight', 'The Rolling Stones'), ('fight', 'The Rolling Stones')] [('fight', 'The Rolling Stones')]\n", + "goodbye [] [('goodbye', 'The Beatles')]\n", + "mr b [] [('mr b', 'Radiohead')]\n", + "jerusalem [] [('jerusalem', 'On A Friday')]\n", + "bye bye johnny [] [('bye bye johnny', 'The Rolling Stones')]\n", + "india [] [('india', 'The Beatles')]\n", + "eds scary song [] [('eds scary song', 'Radiohead')]\n", + "beautiful delilah [] [('beautiful delilah', 'The Rolling Stones')]\n", + "upside down [] [('upside down', 'Radiohead')]\n", + "hello little girl [] [('hello little girl', 'The Beatles')]\n", + "meet me in the bottom [] [('meet me in the bottom', 'The Rolling Stones')]\n", + "feral lone rmx [('feral lone rmx', 'Radiohead')] []\n", + "aint she sweet [] [('aint she sweet', 'The Beatles')]\n", + "harlem shuffle ny mix [] [('harlem shuffle ny mix', 'The Rolling Stones')]\n", + "blue suede shoes [] [('blue suede shoes', 'The Beatles')]\n", + "road runner [] [('road runner', 'The Rolling Stones')]\n", + "leave my kitten alone [] [('leave my kitten alone', 'The Beatles')]\n", + "pantomime everywhere its christmas [] [('pantomime everywhere its christmas', 'The Beatles')]\n", + "keys to your love [] [('keys to your love', 'The Rolling Stones')]\n", + "lotus flower sbtrkt rmx [('lotus flower sbtrkt rmx', 'Radiohead')] []\n", + "little red rooster [('little red rooster', 'The Rolling Stones'), ('little red rooster', 'The Rolling Stones')] [('little red rooster', 'The Rolling Stones')]\n", + "complicated [] [('complicated', 'The Rolling Stones')]\n", + "im not signifying [] [('im not signifying', 'The Rolling Stones')]\n", + "sea of holes [('sea of holes', 'George Martin')] []\n", + "ooh my arms [] [('ooh my arms', 'The Beatles')]\n", + "cry to me [] [('cry to me', 'The Rolling Stones')]\n", + "prodigal son [] [('prodigal son', 'The Rolling Stones')]\n", + "everybody needs somebody to love finale [('everybody needs somebody to love finale', 'The Rolling Stones')] []\n", + "stand by me [] [('stand by me', 'The Beatles')]\n", + "please please me [('please please me', 'The Beatles')] [('please please me', 'The Beatles'), ('please please me', 'The Rolling Stones')]\n", + "big ideas [] [('big ideas', 'Radiohead')]\n", + "sympathy for the devil [('sympathy for the devil', 'The Rolling Stones'), ('sympathy for the devil', 'The Rolling Stones'), ('sympathy for the devil', 'The Rolling Stones')] [('sympathy for the devil', 'The Rolling Stones')]\n", + "pepperland [('pepperland', 'George Martin')] []\n", + "crying waiting hoping [] [('crying waiting hoping', 'The Beatles')]\n", + "punchdrunk lovesick singalong [] [('punchdrunk lovesick singalong', 'Radiohead')]\n", + "i dont know why aka dont know why i love you [] [('i dont know why aka dont know why i love you', 'The Rolling Stones')]\n", + "when im sixtyfour [] [('when im sixtyfour', 'The Beatles')]\n", + "a reminder [] [('a reminder', 'Radiohead')]\n", + "come togetherdear prudence [] [('come togetherdear prudence', 'The Beatles')]\n", + "four guys [] [('four guys', 'James Richards')]\n", + "cops and robbers [] [('cops and robbers', 'The Rolling Stones')]\n", + "you cant do that [('you cant do that', 'The Beatles'), ('you cant do that', 'The Beatles')] [('you cant do that', 'The Beatles')]\n", + "blue moon of kentucky [] [('blue moon of kentucky', 'The Beatles')]\n", + "andrews blues [] [('andrews blues', 'The Rolling Stones')]\n", + "bloom jamie xx rework [('bloom jamie xx rework', 'Radiohead')] []\n", + "how i made my millions [] [('how i made my millions', 'Radiohead')]\n", + "john lennon vs bill oreilly [] [('john lennon vs bill oreilly', 'Nice Peter')]\n", + "petrol gang [] [('petrol gang', 'The Rolling Stones')]\n", + "swanee river [] [('swanee river', 'The Beatles')]\n", + "cant get next to you [] [('cant get next to you', 'The Rolling Stones')]\n", + "empty heart [] [('empty heart', 'The Rolling Stones')]\n", + "let it loose [] [('let it loose', 'The Rolling Stones')]\n", + "susie q [] [('susie q', 'The Rolling Stones')]\n", + "so how come no one loves me [] [('so how come no one loves me', 'The Beatles')]\n", + "no reply demo [] [('no reply demo', 'The Beatles')]\n", + "babys in black [('babys in black', 'The Beatles'), ('babys in black', 'The Beatles')] [('babys in black', 'The Beatles')]\n", + "if youve got trouble [] [('if youve got trouble', 'The Beatles')]\n", + "anyway you look at it [] [('anyway you look at it', 'The Rolling Stones')]\n", + "thank you girl [] [('thank you girl', 'The Beatles')]\n", + "ladies and gentlemen the rolling stones [] [('ladies and gentlemen the rolling stones', 'The Rolling Stones')]\n", + "you cant catch me [] [('you cant catch me', 'The Rolling Stones')]\n", + "slipping away [('slipping away', 'The Rolling Stones'), ('slipping away', 'The Rolling Stones')] [('slipping away', 'The Rolling Stones')]\n", + "morning mr magpie pearson sound scavenger rmx [('morning mr magpie pearson sound scavenger rmx', 'Radiohead')] []\n", + "jigsaw puzzle [] [('jigsaw puzzle', 'The Rolling Stones')]\n", + "congratulations [] [('congratulations', 'The Rolling Stones')]\n", + "i want to hold your hand [('i want to hold your hand', 'The Beatles'), ('i want to hold your hand', 'The Beatles')] [('i want to hold your hand', 'The Beatles'), ('i want to hold your hand', 'Ali brustofski')]\n", + "winter [] [('winter', 'The Rolling Stones')]\n", + "whatd i say [] [('whatd i say', 'The Beatles')]\n", + "bitch [] [('bitch', 'The Rolling Stones')]\n", + "she said yeah [] [('she said yeah', 'The Rolling Stones')]\n", + "komm gib mir deine hand [] [('komm gib mir deine hand', 'The Beatles')]\n", + "i need you baby mona [] [('i need you baby mona', 'The Rolling Stones')]\n", + "the fool on the hill take 4 [] [('the fool on the hill take 4', 'The Beatles')]\n", + "memphis [] [('memphis', 'The Beatles')]\n", + "searchin [] [('searchin', 'The Beatles')]\n", + "thats alright mama [] [('thats alright mama', 'The Beatles')]\n", + "confessin the blues [] [('confessin the blues', 'The Rolling Stones')]\n", + "shine a light [('shine a light', 'The Rolling Stones'), ('shine a light', 'The Rolling Stones'), ('shine a light', 'The Rolling Stones')] [('shine a light', 'The Rolling Stones')]\n", + "the lantern [] [('the lantern', 'The Rolling Stones')]\n", + "follow me around [] [('follow me around', 'Radiohead')]\n", + "dream baby [] [('dream baby', 'The Beatles')]\n", + "talk show host [] [('talk show host', 'Radiohead')]\n", + "it hurts me too [] [('it hurts me too', 'The Rolling Stones')]\n", + "come and get it [] [('come and get it', 'The Beatles')]\n", + "shake rattle and roll [] [('shake rattle and roll', 'The Beatles')]\n", + "its only rock n roll but i like it [('its only rock n roll but i like it', 'The Rolling Stones'), ('its only rock n roll but i like it', 'The Rolling Stones')] [('its only rock n roll but i like it', 'The Rolling Stones')]\n", + "ive been loving you too long [] [('ive been loving you too long', 'The Rolling Stones')]\n", + "ventilator blues [] [('ventilator blues', 'The Rolling Stones')]\n", + "this boy [] [('this boy', 'The Beatles')]\n", + "out of control [('out of control', 'The Rolling Stones'), ('out of control', 'The Rolling Stones')] [('out of control', 'The Rolling Stones')]\n", + "when im sixty four [('when im sixty four', 'The Beatles')] []\n", + "respectable [('respectable', 'The Rolling Stones'), ('respectable', 'The Rolling Stones')] [('respectable', 'The Rolling Stones')]\n", + "winning ugly [('winning ugly', 'The Rolling Stones'), ('winning ugly', 'The Rolling Stones')] [('winning ugly', 'The Rolling Stones')]\n", + "the sheik of araby [] [('the sheik of araby', 'The Beatles')]\n", + "poison ivy [] [('poison ivy', 'The Rolling Stones')]\n", + "i just want to make love to you [] [('i just want to make love to you', 'The Rolling Stones')]\n", + "kansas city [] [('kansas city', 'The Beatles')]\n", + "honest i do [] [('honest i do', 'The Rolling Stones')]\n", + "everything is turning to gold [] [('everything is turning to gold', 'The Rolling Stones')]\n", + "jump on top of me [] [('jump on top of me', 'The Rolling Stones')]\n", + "set fire to that lot speech [] [('set fire to that lot speech', 'The Beatles')]\n", + "ride on baby [] [('ride on baby', 'The Rolling Stones')]\n", + "2120 south michigan avenue [] [('2120 south michigan avenue', 'The Rolling Stones')]\n", + "i want to know [] [('i want to know', 'On A Friday')]\n", + "lonesome tears in my eyes [] [('lonesome tears in my eyes', 'The Beatles')]\n", + "cook cook blues [] [('cook cook blues', 'The Rolling Stones')]\n", + "money [] [('money', 'The Rolling Stones')]\n", + "stranger in my arms [] [('stranger in my arms', 'The Beatles')]\n", + "climbing up a bloody great hill [] [('climbing up a bloody great hill', 'Radiohead')]\n", + "sleepy city [] [('sleepy city', 'The Rolling Stones')]\n", + "lotus flower jacques greene rmx [('lotus flower jacques greene rmx', 'Radiohead')] []\n", + "salt of the earth [] [('salt of the earth', 'The Rolling Stones')]\n", + "cool calm and collected [] [('cool calm and collected', 'The Rolling Stones')]\n", + "hello goodbye [('hello goodbye', 'The Beatles'), ('hello goodbye', 'The Beatles')] [('hello goodbye', 'The Beatles')]\n", + "miss you dr dre remix 2002 [] [('miss you dr dre remix 2002', 'The Rolling Stones')]\n", + "tumbling dice [('tumbling dice', 'The Rolling Stones'), ('tumbling dice', 'The Rolling Stones')] [('tumbling dice', 'The Rolling Stones')]\n", + "just my imagination [('just my imagination', 'The Rolling Stones')] []\n", + "everybody needs somebody to love [('everybody needs somebody to love', 'Solomon Burke'), ('everybody needs somebody to love', 'The Rolling Stones')] [('everybody needs somebody to love', 'The Rolling Stones')]\n", + "stop breaking down [] [('stop breaking down', 'The Rolling Stones')]\n", + "riding on a bus [] [('riding on a bus', 'The Beatles')]\n", + "take good care of my baby [] [('take good care of my baby', 'The Beatles')]\n", + "id much rather be with the boys [] [('id much rather be with the boys', 'The Rolling Stones')]\n", + "its for you [] [('its for you', 'The Beatles')]\n", + "wish you were here [] [('wish you were here', 'Radiohead')]\n", + "little by little shed [('little by little shed', 'Radiohead')] []\n", + "my girl [] [('my girl', 'The Rolling Stones')]\n", + "memphis tennessee [] [('memphis tennessee', 'The Beatles'), ('memphis tennessee', 'The Rolling Stones')]\n", + "moonlight mile [] [('moonlight mile', 'The Rolling Stones')]\n", + "phillipa chicken [] [('phillipa chicken', 'Radiohead')]\n", + "down in eastern australia [] [('down in eastern australia', 'The Beatles')]\n", + "aint that loving you baby [] [('aint that loving you baby', 'The Rolling Stones')]\n", + "final show [] [('final show', 'Beatles Candlestick Park Setlist')]\n", + "words of love ep [] [('words of love ep', 'The Beatles')]\n", + "sing this all together [] [('sing this all together', 'The Rolling Stones')]\n", + "let it be [('let it be', 'The Beatles'), ('let it be', 'The Beatles')] [('let it be', 'The Beatles')]\n", + "i cant be satisfied [] [('i cant be satisfied', 'The Rolling Stones')]\n", + "time waits for no one [] [('time waits for no one', 'The Rolling Stones')]\n", + "the rocky road to dublin [] [('the rocky road to dublin', 'The Chieftains')]\n", + "fancyman blues [] [('fancyman blues', 'The Rolling Stones')]\n", + "rain fall down william remix [] [('rain fall down william remix', 'The Rolling Stones')]\n", + "sure to fall [] [('sure to fall', 'The Beatles')]\n", + "i will los angeles version [('i will los angeles version', 'Radiohead')] []\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "sittin on a fence [] [('sittin on a fence', 'The Rolling Stones')]\n", + "pass the wine sophia loren [] [('pass the wine sophia loren', 'The Rolling Stones')]\n", + "grown up wrong [] [('grown up wrong', 'The Rolling Stones')]\n", + "think [] [('think', 'The Rolling Stones')]\n", + "idioteque live in oxford [('idioteque live in oxford', 'Radiohead')] []\n", + "sour milk sea [] [('sour milk sea', 'The Beatles')]\n", + "killer cars [] [('killer cars', 'Radiohead')]\n", + "tell me [] [('tell me', 'The Rolling Stones')]\n", + "sie liebt dich [] [('sie liebt dich', 'The Beatles')]\n", + "movie medley [] [('movie medley', 'The Beatles')]\n", + "one more try [] [('one more try', 'The Rolling Stones')]\n", + "tkol altrice rmx [('tkol altrice rmx', 'Radiohead')] []\n", + "mannish boy [] [('mannish boy', 'The Rolling Stones')]\n", + "commonwealth [] [('commonwealth', 'The Beatles')]\n", + "ceremony [] [('ceremony', 'Radiohead')]\n", + "dance little sister [] [('dance little sister', 'The Rolling Stones')]\n", + "i call your name [] [('i call your name', 'The Beatles')]\n", + "sing this all together see what happens [] [('sing this all together see what happens', 'The Rolling Stones')]\n", + "the happy rishikesh song [] [('the happy rishikesh song', 'The Beatles')]\n", + "revolution 1 [('revolution 1', 'The Beatles')] []\n", + "you gotta move [] [('you gotta move', 'The Rolling Stones')]\n", + "fog again live [('fog again live', 'Radiohead')] []\n", + "key to the highway [('key to the highway', 'The Rolling Stones'), ('key to the highway', 'The Rolling Stones')] []\n", + "you dont have to mean it [('you dont have to mean it', 'The Rolling Stones'), ('you dont have to mean it', 'The Rolling Stones')] [('you dont have to mean it', 'The Rolling Stones')]\n", + "mothers little helper [] [('mothers little helper', 'The Rolling Stones')]\n", + "one and one is two [] [('one and one is two', 'The Beatles')]\n", + "permanent daylight [] [('permanent daylight', 'Radiohead')]\n", + "parachute woman [] [('parachute woman', 'The Rolling Stones')]\n", + "sympathy for the devil the neptunes remix [] [('sympathy for the devil the neptunes remix', 'The Rolling Stones')]\n", + "drift away [] [('drift away', 'The Rolling Stones')]\n", + "hand of fate [] [('hand of fate', 'The Rolling Stones')]\n", + "100 years ago [] [('100 years ago', 'The Rolling Stones')]\n", + "hold back [('hold back', 'The Rolling Stones'), ('hold back', 'The Rolling Stones')] [('hold back', 'The Rolling Stones')]\n", + "saints [] [('saints', 'The Beatles')]\n", + "angie [('angie', 'The Rolling Stones'), ('angie', 'The Rolling Stones'), ('angie', 'The Rolling Stones')] [('angie', 'The Rolling Stones')]\n", + "doncha bother me [] [('doncha bother me', 'The Rolling Stones')]\n", + "roll over beethoven [('roll over beethoven', 'The Beatles'), ('roll over beethoven', 'The Beatles')] [('roll over beethoven', 'The Beatles'), ('roll over beethoven', 'The Rolling Stones')]\n", + "packt like sardines in a crushed tin box [('packt like sardines in a crushed tin box', 'Radiohead')] []\n", + "hallelujah i love her so [] [('hallelujah i love her so', 'The Beatles')]\n", + "young blood [] [('young blood', 'The Beatles')]\n", + "aint too proud to beg [] [('aint too proud to beg', 'The Rolling Stones')]\n", + "something [('something', 'The Beatles'), ('something', 'The Beatles')] [('something', 'The Beatles')]\n", + "flight 505 [] [('flight 505', 'The Rolling Stones')]\n", + "hey crawdaddy [] [('hey crawdaddy', 'The Rolling Stones')]\n", + "miss you [('miss you', 'The Rolling Stones'), ('miss you', 'The Rolling Stones'), ('miss you', 'The Rolling Stones'), ('miss you', 'The Rolling Stones'), ('miss you', 'The Rolling Stones')] [('miss you', 'The Rolling Stones')]\n", + "midnight rambler [('midnight rambler', 'The Rolling Stones'), ('midnight rambler', 'The Rolling Stones')] [('midnight rambler', 'The Rolling Stones')]\n", + "rhinestone cowboy [] [('rhinestone cowboy', 'Radiohead')]\n", + "supercollider [] [('supercollider', 'Radiohead')]\n", + "i think im going mad [] [('i think im going mad', 'The Rolling Stones')]\n", + "whats the new mary jane [] [('whats the new mary jane', 'The Beatles')]\n", + "carol [] [('carol', 'The Beatles'), ('carol', 'The Rolling Stones')]\n", + "a little rhyme [] [('a little rhyme', 'The Beatles')]\n", + "memo from turner [] [('memo from turner', 'The Rolling Stones')]\n", + "just my imagination running away with me [('just my imagination running away with me', 'The Rolling Stones'), ('just my imagination running away with me', 'The Rolling Stones'), ('just my imagination running away with me', 'The Rolling Stones')] [('just my imagination running away with me', 'The Rolling Stones')]\n", + "rain [] [('rain', 'The Beatles')]\n", + "my bonnie german intro [] [('my bonnie german intro', 'The Beatles')]\n", + "yove got to hide your love away [] [('yove got to hide your love away', 'The Beatles')]\n", + "manowar [] [('manowar', 'Radiohead')]\n", + "sgt peppers lonely hearts club band [('sgt peppers lonely hearts club band', 'The Beatles'), ('sgt peppers lonely hearts club band', 'The Beatles')] [('sgt peppers lonely hearts club band', 'The Beatles')]\n", + "diddley daddy [] [('diddley daddy', 'The Rolling Stones')]\n", + "molasses [] [('molasses', 'Radiohead')]\n", + "you know my name [] [('you know my name', 'The Beatles')]\n", + "nothing from nothing [] [('nothing from nothing', 'The Rolling Stones')]\n", + "so divine aladdin story [] [('so divine aladdin story', 'The Rolling Stones')]\n", + "i cant help it [] [('i cant help it', 'The Rolling Stones')]\n", + "keep strong [] [('keep strong', 'On A Friday')]\n", + "some things just stick in your mind [] [('some things just stick in your mind', 'The Rolling Stones')]\n", + "bad boy [] [('bad boy', 'The Beatles')]\n", + "star star [] [('star star', 'The Rolling Stones')]\n", + "pop is dead [] [('pop is dead', 'Radiohead')]\n", + "on with the show [] [('on with the show', 'The Rolling Stones')]\n", + "blackbirdyesterday [] [('blackbirdyesterday', 'The Beatles')]\n", + "sha la la la la [] [('sha la la la la', 'The Beatles')]\n", + "on the beach [] [('on the beach', 'Radiohead')]\n", + "if you let me [] [('if you let me', 'The Rolling Stones')]\n", + "help [('help', 'The Beatles'), ('help', 'The Beatles'), ('help', 'The Beatles')] [('help', 'The Beatles')]\n", + "something with blue jay way transition [] [('something with blue jay way transition', 'The Beatles')]\n", + "following the river [] [('following the river', 'The Rolling Stones')]\n", + "i aint superstitious [] [('i aint superstitious', 'The Rolling Stones')]\n", + "backstreet girl [] [('backstreet girl', 'The Rolling Stones')]\n", + "if i was a dancer dance part 2 [] [('if i was a dancer dance part 2', 'The Rolling Stones')]\n", + "sweet black angel [] [('sweet black angel', 'The Rolling Stones')]\n", + "not guilty [] [('not guilty', 'The Beatles')]\n", + "shake your hips [] [('shake your hips', 'The Rolling Stones')]\n", + "i get a kick out of you [] [('i get a kick out of you', 'The Rolling Stones')]\n", + "missing links bootleg [] [('missing links bootleg', 'Plan B')]\n", + "thatll be the day [] [('thatll be the day', 'The Beatles')]\n", + "step inside love los paranoias [] [('step inside love los paranoias', 'The Beatles')]\n", + "silver train [] [('silver train', 'The Rolling Stones')]\n", + "boys [('boys', 'The Beatles'), ('boys', 'The Beatles')] [('boys', 'The Beatles')]\n", + "bloom mark pritchard rmx [('bloom mark pritchard rmx', 'Radiohead')] []\n", + "john wesley harding [] [('john wesley harding', 'The Rolling Stones')]\n", + "a punchup at a wedding [] [('a punchup at a wedding', 'Radiohead')]\n", + "under the board walk [] [('under the board walk', 'The Rolling Stones')]\n", + "inside my head [] [('inside my head', 'Radiohead')]\n", + "to know her is to love her [] [('to know her is to love her', 'The Beatles')]\n", + "rip it up medley [] [('rip it up medley', 'The Beatles')]\n", + "good evening mrs magpie modeselektor rmx [('good evening mrs magpie modeselektor rmx', 'Radiohead')] []\n", + "brown sugar [('brown sugar', 'The Rolling Stones'), ('brown sugar', 'The Rolling Stones'), ('brown sugar', 'The Rolling Stones'), ('brown sugar', 'The Rolling Stones'), ('brown sugar', 'The Rolling Stones')] [('brown sugar', 'The Rolling Stones')]\n", + "miss amanda jones [] [('miss amanda jones', 'The Rolling Stones')]\n", + "ready teddy [] [('ready teddy', 'The Beatles')]\n", + "morning mr magpie nathan fake rmx [('morning mr magpie nathan fake rmx', 'Radiohead')] []\n", + "rock and a hard place [('rock and a hard place', 'The Rolling Stones'), ('rock and a hard place', 'The Rolling Stones')] [('rock and a hard place', 'The Rolling Stones')]\n", + "im talking about you [] [('im talking about you', 'The Beatles')]\n", + "medley rip it up shake rattle and roll blue suede shoes [] [('medley rip it up shake rattle and roll blue suede shoes', 'The Beatles')]\n", + "can you hear the music [] [('can you hear the music', 'The Rolling Stones')]\n", + "what is that you say [] [('what is that you say', 'Radiohead')]\n", + "sweet georgia brown [] [('sweet georgia brown', 'The Beatles')]\n", + "gimme shelter [('gimme shelter', 'The Rolling Stones'), ('gimme shelter', 'The Rolling Stones'), ('gimme shelter', 'The Rolling Stones')] [('gimme shelter', 'The Rolling Stones')]\n", + "jingle bells [] [('jingle bells', 'The Beatles')]\n", + "im a king bee [] [('im a king bee', 'The Rolling Stones')]\n", + "take it or leave it [] [('take it or leave it', 'The Rolling Stones')]\n", + "long long while [] [('long long while', 'The Rolling Stones')]\n", + "packt like sardines in a crushd tin box [] [('packt like sardines in a crushd tin box', 'Radiohead')]\n", + "2000 light years from home [] [('2000 light years from home', 'The Rolling Stones')]\n", + "being for the benefit of mr kite takes 1 2 [] [('being for the benefit of mr kite takes 1 2', 'The Beatles')]\n", + "real love [] [('real love', 'The Beatles')]\n", + "reminiscing [] [('reminiscing', 'The Beatles')]\n", + "just a rumour speech [] [('just a rumour speech', 'The Beatles')]\n", + "nothin shakin [] [('nothin shakin', 'The Beatles')]\n", + "we love you [] [('we love you', 'The Rolling Stones')]\n", + "one more shot [] [('one more shot', 'The Rolling Stones')]\n", + "im coming up [] [('im coming up', 'On A Friday')]\n", + "the beatles christmas record [] [('the beatles christmas record', 'The Beatles')]\n", + "i want to be loved [] [('i want to be loved', 'The Rolling Stones')]\n", + "my obsession [] [('my obsession', 'The Rolling Stones')]\n", + "somebody else [] [('somebody else', 'Radiohead')]\n", + "2000 man [] [('2000 man', 'The Rolling Stones')]\n", + "ill get you [] [('ill get you', 'The Beatles')]\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "cry for a shadow [] [('cry for a shadow', 'The Beatles')]\n", + "wicked child [] [('wicked child', 'Radiohead')]\n", + "like dreamers do [] [('like dreamers do', 'The Beatles')]\n", + "step inside love [] [('step inside love', 'The Beatles')]\n", + "sad day [] [('sad day', 'The Rolling Stones')]\n", + "talkin about you [] [('talkin about you', 'The Rolling Stones')]\n", + "faithless the wonderboy [] [('faithless the wonderboy', 'Radiohead')]\n", + "dancing with mr d [] [('dancing with mr d', 'The Rolling Stones')]\n", + "im going down [] [('im going down', 'The Rolling Stones')]\n", + "who am i [] [('who am i', 'The Rolling Stones')]\n", + "untitled [('untitled', 'Radiohead')] []\n", + "we are wasting time [] [('we are wasting time', 'The Rolling Stones')]\n", + "moonlight bay [] [('moonlight bay', 'The Beatles')]\n", + "eleanor rigby [('eleanor rigby', 'The Beatles'), ('eleanor rigby', 'The Beatles')] [('eleanor rigby', 'The Beatles')]\n", + "pain in my heart [('pain in my heart', 'The Rolling Stones')] [('pain in my heart', 'The Rolling Stones'), ('pain in my heart', 'The Rolling Stones')]\n", + "some girls [('some girls', 'The Rolling Stones'), ('some girls', 'The Rolling Stones'), ('some girls', 'The Rolling Stones')] [('some girls', 'The Rolling Stones')]\n", + "mona [] [('mona', 'The Rolling Stones')]\n", + "the hippy hippy shake [] [('the hippy hippy shake', 'The Beatles')]\n", + "baby please dont go [] [('baby please dont go', 'The Rolling Stones')]\n", + "sad sad sad [('sad sad sad', 'The Rolling Stones'), ('sad sad sad', 'The Rolling Stones')] [('sad sad sad', 'The Rolling Stones')]\n", + "cocksucker blues [] [('cocksucker blues', 'The Rolling Stones')]\n", + "junk [] [('junk', 'The Beatles')]\n", + "everybodys trying to be my baby [('everybodys trying to be my baby', 'The Beatles'), ('everybodys trying to be my baby', 'The Beatles')] [('everybodys trying to be my baby', 'The Beatles')]\n", + "mick jaggers introduction to jethro tull [] [('mick jaggers introduction to jethro tull', 'The Rolling Stones')]\n", + "hot stuff [] [('hot stuff', 'The Rolling Stones')]\n", + "my bonnie [] [('my bonnie', 'Tony Sheridan'), ('my bonnie', 'The Beatles')]\n", + "these are my twisted words [] [('these are my twisted words', 'Radiohead')]\n", + "whos driving your plane [] [('whos driving your plane', 'The Rolling Stones')]\n", + "the singer not the song [] [('the singer not the song', 'The Rolling Stones')]\n", + "da doo ron ron [] [('da doo ron ron', 'The Rolling Stones')]\n", + "what goes on girl [] [('what goes on girl', 'The Beatles')]\n", + "bullet proofi wish i was [] [('bullet proofi wish i was', 'Radiohead')]\n", + "the under assistant west coast promotion man [] [('the under assistant west coast promotion man', 'The Rolling Stones')]\n", + "yes i am [] [('yes i am', 'Radiohead')]\n", + "some other guy [] [('some other guy', 'The Beatles')]\n", + "sinking ship [] [('sinking ship', 'On A Friday')]\n", + "mick jaggers introduction of rock roll circus [] [('mick jaggers introduction of rock roll circus', 'The Rolling Stones')]\n", + "kid a tracklist album cover [] [('kid a tracklist album cover', 'Radiohead')]\n", + "sister morphine [] [('sister morphine', 'The Rolling Stones')]\n", + "oh baby we got a good thing goin [] [('oh baby we got a good thing goin', 'The Rolling Stones')]\n", + "intro [] [('intro', 'The Rolling Stones')]\n", + "the honeymoon song [] [('the honeymoon song', 'The Beatles')]\n", + "plundered my soul [] [('plundered my soul', 'The Rolling Stones')]\n", + "stealing my heart [] [('stealing my heart', 'The Rolling Stones')]\n", + "old brown shoe [] [('old brown shoe', 'The Beatles')]\n", + "clarabella [] [('clarabella', 'The Beatles')]\n", + "i got a woman [] [('i got a woman', 'The Beatles')]\n", + "1822 [] [('1822', 'The Beatles')]\n", + "revolution i [] [('revolution i', 'The Beatles')]\n", + "crazy mama [] [('crazy mama', 'The Rolling Stones')]\n", + "cant be seen [('cant be seen', 'The Rolling Stones'), ('cant be seen', 'The Rolling Stones')] [('cant be seen', 'The Rolling Stones')]\n", + "the inner light [] [('the inner light', 'The Beatles')]\n", + "banana co [] [('banana co', 'Radiohead')]\n", + "three cool cats [] [('three cool cats', 'The Beatles')]\n", + "it should be you [] [('it should be you', 'The Rolling Stones')]\n", + "travellin man [] [('travellin man', 'The Rolling Stones')]\n", + "ooh my soul [] [('ooh my soul', 'The Beatles')]\n", + "a hard days night [('a hard days night', 'The Beatles'), ('a hard days night', 'The Beatles'), ('a hard days night', 'The Beatles')] [('a hard days night', 'The Beatles')]\n", + "big boots [] [('big boots', 'Radiohead')]\n", + "youve got a hold on me [] [('youve got a hold on me', 'The Beatles')]\n", + "cut a hole [] [('cut a hole', 'Radiohead')]\n", + "dont lie to me [] [('dont lie to me', 'The Rolling Stones')]\n", + "skttrbrain four tet remix [('skttrbrain four tet remix', 'Radiohead')] []\n", + "torn and frayed [] [('torn and frayed', 'The Rolling Stones')]\n", + "too much monkey business [] [('too much monkey business', 'The Beatles')]\n", + "a punch up at a wedding [('a punch up at a wedding', 'Radiohead')] []\n", + "not fade away [('not fade away', 'The Rolling Stones'), ('not fade away', 'The Rolling Stones')] [('not fade away', 'The Rolling Stones')]\n", + "wild horses [('wild horses', 'The Rolling Stones')] [('wild horses', 'Plan B'), ('wild horses', 'The Rolling Stones')]\n", + "i froze up [] [('i froze up', 'Radiohead')]\n", + "free as a bird [] [('free as a bird', 'The Beatles')]\n", + "dizzy miss lizzy [('dizzy miss lizzy', 'The Beatles'), ('dizzy miss lizzy', 'The Beatles')] [('dizzy miss lizzy', 'The Beatles')]\n", + "india rubber [] [('india rubber', 'Radiohead')]\n", + "back to zero [('back to zero', 'The Rolling Stones'), ('back to zero', 'The Rolling Stones')] [('back to zero', 'The Rolling Stones')]\n", + "little by little [('little by little', 'Radiohead')] [('little by little', 'Radiohead'), ('little by little', 'The Rolling Stones')]\n", + "that girl belongs to yesterday [] [('that girl belongs to yesterday', 'The Rolling Stones')]\n", + "ill wear it proudly [] [('ill wear it proudly', 'Radiohead')]\n", + "summertime blues [] [('summertime blues', 'The Rolling Stones')]\n", + "short and curlies [] [('short and curlies', 'The Rolling Stones')]\n", + "family [] [('family', 'The Rolling Stones')]\n", + "lies [('lies', 'The Rolling Stones'), ('lies', 'The Rolling Stones')] [('lies', 'The Rolling Stones')]\n", + "beatle greetings [] [('beatle greetings', 'The Beatles')]\n", + "dancing in the light [] [('dancing in the light', 'The Rolling Stones')]\n", + "i dont know why [] [('i dont know why', 'The Rolling Stones')]\n", + "she was hot [('she was hot', 'The Rolling Stones'), ('she was hot', 'The Rolling Stones')] [('she was hot', 'The Rolling Stones')]\n", + "melody [] [('melody', 'The Rolling Stones')]\n", + "all you need is love [('all you need is love', 'The Beatles'), ('all you need is love', 'The Beatles'), ('all you need is love', 'The Beatles')] [('all you need is love', 'The Beatles')]\n", + "shout [] [('shout', 'The Beatles')]\n", + "ya ya [] [('ya ya', 'The Beatles')]\n", + "memory motel [] [('memory motel', 'The Rolling Stones')]\n", + "something happened to me yesterday [] [('something happened to me yesterday', 'The Rolling Stones')]\n", + "intro excerpt from fanfare for the common man [] [('intro excerpt from fanfare for the common man', 'The Rolling Stones')]\n" + ] } ], "source": [ - "tracks.find_one({'sentiment': {'$exists': True}}).keys()" + "for ct in ctitles:\n", + " sts = [(t['ctitle'], t['artist_name']) for t in tracks.find({'ctitle': ct}, ['ctitle', 'artist_name'])]\n", + " gts = [(t['ctitle'], t['primary_artist']['name']) for t in genius_tracks.find({'ctitle': ct}, ['ctitle', 'primary_artist.name'])]\n", + " if len(sts) != 1 or len(gts) != 1:\n", + " print(ct, sts, gts)" + ] + }, + { + "cell_type": "code", + "execution_count": 44, + "metadata": {}, + "outputs": [], + "source": [ + "def levenshtein(s1, s2):\n", + " if len(s1) < len(s2):\n", + " return levenshtein(s2, s1)\n", + "\n", + " # len(s1) >= len(s2)\n", + " if len(s2) == 0:\n", + " return len(s1)\n", + "\n", + " previous_row = range(len(s2) + 1)\n", + " for i, c1 in enumerate(s1):\n", + " current_row = [i + 1]\n", + " for j, c2 in enumerate(s2):\n", + " insertions = previous_row[j + 1] + 1 # j+1 instead of j since previous_row and current_row are one character longer\n", + " deletions = current_row[j] + 1 # than s2\n", + " substitutions = previous_row[j] + (c1 != c2)\n", + " current_row.append(min(insertions, deletions, substitutions))\n", + " previous_row = current_row\n", + " \n", + " return previous_row[-1]" ] }, { "cell_type": "code", - "execution_count": 83, + "execution_count": 76, "metadata": { - "collapsed": false + "scrolled": true }, "outputs": [ { - "data": { - "text/plain": [ - "{'_id': '2ucFulEWapRAmTn7l6f5Q7',\n", - " 'acousticness': 0.425,\n", - " 'album': {'album_type': 'album',\n", - " 'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/3WrFJ7ztbogyGnTHbHJFl2'},\n", - " 'href': 'https://api.spotify.com/v1/artists/3WrFJ7ztbogyGnTHbHJFl2',\n", - " 'id': '3WrFJ7ztbogyGnTHbHJFl2',\n", - " 'name': 'The Beatles',\n", - " 'type': 'artist',\n", - " 'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl2'}],\n", - " 'available_markets': ['AD',\n", - " 'AR',\n", - " 'AT',\n", - " 'AU',\n", - " 'BE',\n", - " 'BG',\n", - " 'BO',\n", - " 'BR',\n", - " 'CH',\n", - " 'CL',\n", - " 'CO',\n", - " 'CR',\n", - " 'CY',\n", - " 'CZ',\n", - " 'DE',\n", - " 'DK',\n", - " 'DO',\n", - " 'EC',\n", - " 'EE',\n", - " 'ES',\n", - " 'FI',\n", - " 'FR',\n", - " 'GB',\n", - " 'GR',\n", - " 'GT',\n", - " 'HK',\n", - " 'HN',\n", - " 'HU',\n", - " 'ID',\n", - " 'IE',\n", - " 'IS',\n", - " 'IT',\n", - " 'JP',\n", - " 'LI',\n", - " 'LT',\n", - " 'LU',\n", - " 'LV',\n", - " 'MC',\n", - " 'MT',\n", - " 'MY',\n", - " 'NI',\n", - " 'NL',\n", - " 'NO',\n", - " 'NZ',\n", - " 'PA',\n", - " 'PE',\n", - " 'PH',\n", - " 'PL',\n", - " 'PT',\n", - " 'PY',\n", - " 'SE',\n", - " 'SG',\n", - " 'SK',\n", - " 'SV',\n", - " 'TR',\n", - " 'TW',\n", - " 'UY'],\n", - " 'external_urls': {'spotify': 'https://open.spotify.com/album/03Qh833fEdVT30Pfs93ea6'},\n", - " 'href': 'https://api.spotify.com/v1/albums/03Qh833fEdVT30Pfs93ea6',\n", - " 'id': '03Qh833fEdVT30Pfs93ea6',\n", - " 'images': [{'height': 640,\n", - " 'url': 'https://i.scdn.co/image/d6028aea974c75961cb9cdc2263f5d8a8a6582bd',\n", - " 'width': 640},\n", - " {'height': 300,\n", - " 'url': 'https://i.scdn.co/image/adebae7bf6a4a441bc6a5a17ca840f77df6ed3b9',\n", - " 'width': 300},\n", - " {'height': 64,\n", - " 'url': 'https://i.scdn.co/image/3b0ddfadf13b9f3e74da93fcb21e4183a4d9fcc8',\n", - " 'width': 64}],\n", - " 'name': 'The Beatles (Remastered)',\n", - " 'type': 'album',\n", - " 'uri': 'spotify:album:03Qh833fEdVT30Pfs93ea6'},\n", - " 'album_id': '03Qh833fEdVT30Pfs93ea6',\n", - " 'analysis_url': 'https://api.spotify.com/v1/audio-analysis/2ucFulEWapRAmTn7l6f5Q7',\n", - " 'artist_id': '3WrFJ7ztbogyGnTHbHJFl2',\n", - " 'artist_name': 'The Beatles',\n", - " 'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/3WrFJ7ztbogyGnTHbHJFl2'},\n", - " 'href': 'https://api.spotify.com/v1/artists/3WrFJ7ztbogyGnTHbHJFl2',\n", - " 'id': '3WrFJ7ztbogyGnTHbHJFl2',\n", - " 'name': 'The Beatles',\n", - " 'type': 'artist',\n", - " 'uri': 'spotify:artist:3WrFJ7ztbogyGnTHbHJFl2'}],\n", - " 'available_markets': ['AD',\n", - " 'AR',\n", - " 'AT',\n", - " 'AU',\n", - " 'BE',\n", - " 'BG',\n", - " 'BO',\n", - " 'BR',\n", - " 'CH',\n", - " 'CL',\n", - " 'CO',\n", - " 'CR',\n", - " 'CY',\n", - " 'CZ',\n", - " 'DE',\n", - " 'DK',\n", - " 'DO',\n", - " 'EC',\n", - " 'EE',\n", - " 'ES',\n", - " 'FI',\n", - " 'FR',\n", - " 'GB',\n", - " 'GR',\n", - " 'GT',\n", - " 'HK',\n", - " 'HN',\n", - " 'HU',\n", - " 'ID',\n", - " 'IE',\n", - " 'IS',\n", - " 'IT',\n", - " 'JP',\n", - " 'LI',\n", - " 'LT',\n", - " 'LU',\n", - " 'LV',\n", - " 'MC',\n", - " 'MT',\n", - " 'MY',\n", - " 'NI',\n", - " 'NL',\n", - " 'NO',\n", - " 'NZ',\n", - " 'PA',\n", - " 'PE',\n", - " 'PH',\n", - " 'PL',\n", - " 'PT',\n", - " 'PY',\n", - " 'SE',\n", - " 'SG',\n", - " 'SK',\n", - " 'SV',\n", - " 'TR',\n", - " 'TW',\n", - " 'UY'],\n", - " 'ctitle': 'wild honey pie',\n", - " 'danceability': 0.792,\n", - " 'disc_number': 1,\n", - " 'duration_ms': 52973,\n", - " 'energy': 0.763,\n", - " 'explicit': False,\n", - " 'external_ids': {'isrc': 'GBAYE0601648'},\n", - " 'external_urls': {'spotify': 'https://open.spotify.com/track/2ucFulEWapRAmTn7l6f5Q7'},\n", - " 'href': 'https://api.spotify.com/v1/tracks/2ucFulEWapRAmTn7l6f5Q7',\n", - " 'id': '2ucFulEWapRAmTn7l6f5Q7',\n", - " 'instrumentalness': 0.627,\n", - " 'key': 2,\n", - " 'liveness': 0.789,\n", - " 'loudness': -11.185,\n", - " 'lyrical_density': 0.16989787250108546,\n", - " 'lyrics': 'honey pie honey pie i love you, honey pie',\n", - " 'mode': 1,\n", - " 'name': 'Wild Honey Pie - Remastered 2009',\n", - " 'original_lyrics': '\\n\\nHoney Pie\\nHoney Pie\\nI love you, Honey Pie\\n\\n',\n", - " 'popularity': 41,\n", - " 'preview_url': 'https://p.scdn.co/mp3-preview/ddebab4d5e87d46a499ce557405cfadf0330bd9c?cid=null',\n", - " 'sentiment': {'label': 'pos',\n", - " 'probability': {'neg': 0.39117763475308887,\n", - " 'neutral': 0.18873615212514983,\n", - " 'pos': 0.6088223652469111}},\n", - " 'speechiness': 0.0506,\n", - " 'tempo': 89.9,\n", - " 'time_signature': 4,\n", - " 'track_href': 'https://api.spotify.com/v1/tracks/2ucFulEWapRAmTn7l6f5Q7',\n", - " 'track_number': 5,\n", - " 'type': 'audio_features',\n", - " 'uri': 'spotify:track:2ucFulEWapRAmTn7l6f5Q7',\n", - " 'valence': 0.153}" - ] - }, - "execution_count": 83, - "metadata": {}, - "output_type": "execute_result" + "name": "stdout", + "output_type": "stream", + "text": [ + "('sea of monsters', 'George Martin') ('yellow submarine in pepperland', 'George Martin') 23 True\n", + "('just my imagination', 'The Rolling Stones') ('out of control', 'The Rolling Stones') 12 True\n", + "('jumping jack flash', 'The Rolling Stones') ('jumpin jack flash', 'The Rolling Stones') 1 True\n", + "('pepperland laid waste', 'George Martin') ('yellow submarine in pepperland', 'George Martin') 25 True\n", + "('little ta', 'The Rolling Stones') ('little t a', 'The Rolling Stones') 1 False\n", + "('kansas city heyheyheyhey', 'The Beatles') ('medley kansas cityhey hey hey hey', 'The Beatles') 11 False\n", + "('bullet proof i wish i was', 'Radiohead') ('bullet proofi wish i was', 'Radiohead') 1 False\n", + "('sea of holes', 'George Martin') ('yellow submarine in pepperland', 'George Martin') 25 True\n", + "('packt like sardines in a crushed tin box', 'Radiohead') ('packt like sardines in a crushd tin box', 'Radiohead') 1 False\n", + "('codex illum sphere', 'Radiohead') ('the butcher', 'Radiohead') 12 False\n", + "('outro', 'Jimi Hendrix') Missing 99999 False\n", + "('pepperland', 'George Martin') ('yellow submarine in pepperland', 'George Martin') 20 True\n", + "('key to the highway', 'The Rolling Stones') ('thief in the night', 'The Rolling Stones') 10 True\n", + "('march of the meanies', 'George Martin') ('yellow submarine in pepperland', 'George Martin') 24 True\n", + "('dollars cents', 'Radiohead') ('dollars and cents', 'Radiohead') 4 False\n", + "('little by little shed', 'Radiohead') ('little by little', 'Radiohead') 5 True\n", + "('sea of time', 'George Martin') ('yellow submarine in pepperland', 'George Martin') 25 True\n", + "('faraway eyes', 'The Rolling Stones') ('far away eyes', 'The Rolling Stones') 1 True\n", + "('i will los angeles version', 'Radiohead') ('wish you were here', 'Radiohead') 16 False\n", + "('everybody needs somebody to love finale', 'The Rolling Stones') ('everybody needs somebody to love', 'The Rolling Stones') 7 True\n", + "('a punch up at a wedding', 'Radiohead') ('a punchup at a wedding', 'Radiohead') 1 False\n", + "('revolution 1', 'The Beatles') ('revolution 9', 'The Beatles') 1 True\n", + "('untitled', 'Radiohead') ('untogether', 'Radiohead') 5 False\n", + "('when im sixty four', 'The Beatles') ('when im sixtyfour', 'The Beatles') 1 False\n" + ] } ], "source": [ - "tracks.find_one({'sentiment': {'$exists': True}})" + "banned_substrings = ['rmx', 'remix', 'rework', 'live', 'intro', 'medley']\n", + "genius_and_both = genius_only | in_both\n", + "for s in spotify_only:\n", + " if not any(banned in s[0] for banned in banned_substrings):\n", + " candidates = [g for g in genius_and_both if g[1] == s[1]]\n", + " if candidates:\n", + " gt = min(candidates, key=lambda g: levenshtein(s[0], g[0]))\n", + " d = levenshtein(s[0], gt[0])\n", + " else:\n", + " gt = 'Missing'\n", + " d = 99999\n", + " print(s, gt, d, gt in in_both)" ] }, { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": 52, "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "('charlies intro to little red rooster', 'The Rolling Stones') []\n", + "('bloom jamie xx rework', 'Radiohead') []\n", + "('sea of monsters', 'George Martin') []\n", + "('just my imagination', 'The Rolling Stones') []\n", + "('jumping jack flash', 'The Rolling Stones') [(('jumpin jack flash', 'The Rolling Stones'), 1)]\n", + "('pepperland laid waste', 'George Martin') []\n", + "('little ta', 'The Rolling Stones') [(('title 5', 'The Rolling Stones'), 4), (('little t a', 'The Rolling Stones'), 1), (('little rain', 'The Rolling Stones'), 3), (('little baby', 'The Rolling Stones'), 3)]\n", + "('kansas city heyheyheyhey', 'The Beatles') []\n", + "('bullet proof i wish i was', 'Radiohead') [(('bullet proofi wish i was', 'Radiohead'), 1)]\n", + "('sea of holes', 'George Martin') []\n", + "('packt like sardines in a crushed tin box', 'Radiohead') [(('packt like sardines in a crushd tin box', 'Radiohead'), 1)]\n", + "('codex illum sphere', 'Radiohead') []\n", + "('pepperland', 'George Martin') []\n", + "('key to the highway', 'The Rolling Stones') []\n", + "('march of the meanies', 'George Martin') []\n", + "('band introductions', 'The Rolling Stones') []\n", + "('dollars cents', 'Radiohead') [(('dollars and cents', 'Radiohead'), 4)]\n", + "('little by little shed', 'Radiohead') []\n", + "('sea of time', 'George Martin') []\n", + "('faraway eyes', 'The Rolling Stones') [(('far away eyes', 'The Rolling Stones'), 1)]\n", + "('i will los angeles version', 'Radiohead') []\n", + "('everybody needs somebody to love finale', 'The Rolling Stones') []\n", + "('a punch up at a wedding', 'Radiohead') [(('a punchup at a wedding', 'Radiohead'), 1)]\n", + "('martin scorsese intro', 'The Rolling Stones') []\n", + "('revolution 1', 'The Beatles') [(('revolution 9', 'The Beatles'), 1), (('revolution', 'The Beatles'), 2), (('revolution i', 'The Beatles'), 1)]\n", + "('untitled', 'Radiohead') []\n", + "('when im sixty four', 'The Beatles') [(('when im sixtyfour', 'The Beatles'), 1)]\n" + ] + } + ], "source": [ - "# Analysis\n", - "Finally, we can get to the analysis of the data!\n", - "\n", - "First, what are the lowest-valence songs, and what's the distribution of valences?\n", - "\n", - "* [Top](#top)" + "genius_and_both = genius_only | in_both\n", + "for s in spotify_only:\n", + " if 'rmx' not in s[0] and 'remix' not in s[0] and 'live' not in s[0]:\n", + " album = \n", + " candidates = [g for g in genius_and_both if g[1] == s[1]]\n", + " if candidates:\n", + " gts = [(g, levenshtein(s[0], g[0])) for g in candidates if levenshtein(s[0], g[0]) < 5]\n", + " print(s, gts)" ] }, { "cell_type": "code", - "execution_count": 84, + "execution_count": 54, "metadata": { - "collapsed": false + "scrolled": true }, "outputs": [ { "data": { "text/html": [ "
\n", + "\n", "\n", " \n", " \n", @@ -8725,4800 +9750,946 @@ " \n", " \n", " \n", - " \n", " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", + " \n", " \n", - " \n", - " \n", + " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
_idartist_namenamevalence
01AVrv7FD10FoKW38oBiKRgRadioheadBloom (Blawan Rmx)0.03255XfJmldgWzrc1AIdbBaVZnThe BeatlesLive At The Hollywood Bowl
14rkGGQEqxHIXVJ4oXjOHgFGeorge MartinSea Of Holes - Remastered 20090.03525ju5Ouzan3QwXqQt1TihbhThe Beatles1 (Remastered)
201ZpFhrMMqKPVCwyqXneVpRadioheadTrue Love Waits0.03782pCqZLeavM2BMovJXsJEIVThe BeatlesLet It Be (Remastered)
353RYTfkLiyZuUZHwJC3WmmRadioheadWe Suck Young Blood0.03782Pqkn9Dq2DFtdfkKAeqgMdThe BeatlesAbbey Road (Remastered)
40ttMfoND7IQqFSMVOPkELC47bcKzmKgmMPHXNVOWpLiuThe BeatlesBlue Jay Way - Remastered 20090.0380Yellow Submarine (Remastered)
566Pyms4pYaHEcPHZ7DdMbERadioheadTKOL (Altrice Rmx)0.038303Qh833fEdVT30Pfs93ea6The BeatlesThe Beatles (Remastered)
63gKuywOm38axM8sJGq6LaqRadioheadMK 10.03916P9yO0ukhOx3dvmhGKeYoCThe BeatlesMagical Mystery Tour (Remastered)
775YUnz58ajMo2VIIuUFvOVRadioheadThe Tourist0.04001PULmKbHeOqlkIwcDMNwD4The BeatlesSgt. Pepper's Lonely Hearts Club Band (Remaste...
80tKuiKb2mazZYdA6fPP7kIRadioheadGood Evening Mrs Magpie (Modeselektor RMX)0.04130PYyrqs9NXtxPhf0CZkq2LThe BeatlesRevolver (Remastered)
92PbwmAMaxIBIWis8XLViatGeorge MartinSea Of Monsters - Remastered 20090.04223OdI6e43crvyAHhaqpxSyzThe BeatlesRubber Soul (Remastered)
100COiZ7ncho2yi4HotbzgPvRadioheadMotion Picture Soundtrack0.042519K3IHYeVkUTjcBHGfbCOiThe BeatlesHelp! (Remastered)
112uYSbsxAMmK1awUl06T7ixRadioheadMK 20.04377BgGBZndAvDlKOcwe5rscZThe BeatlesBeatles For Sale (Remastered)
124gq2bc2770XvbJdEtfUbmwRadioheadGo Slowly0.045371Mwd9tntFQYUk4k2DwA0DThe BeatlesA Hard Day's Night (Remastered)
135olWalQH1oVza5D6xJg4oX1DBkJIEoeHrTX4WCBQGcCiRadioheadSail To The Moon0.0458The King Of Limbs
1449JPfRfsAfjWYRN6lbC3myGeorge MartinPepperland Laid Waste - Remastered 20090.04593nkEsxmIX0zRNXGAexaHAnThe BeatlesWith The Beatles (Remastered)
153uxhyRdWVXp7GQvERQl6fARadioheadVideotape0.04687gDXyW16byCQOgK965BRznThe BeatlesPlease Please Me (Remastered)
1629yXMFKIrY1fFY4DYBVZCu6vuykQgDLUCiZ7YggIpLM9RadioheadLife In a Glasshouse0.0516A Moon Shaped Pool
173cual6JOG286qZJmCxKRAT47xaqCsJcYFWqD1gwujl1TRadioheadTinker Tailor Soldier Sailor Rich Man Poor Man...0.0517TKOL RMX 1234567
186f6pEjgfTtuRROmJ4a7Gf37eyQXxuf2nGj9d2367Gi5fRadioheadThe Numbers0.0545In Rainbows
190agoaPIy92gPZ6zRhqXarEThe BeatlesTomorrow Never Knows - Remastered 20090.0556
\n", - "
" - ], - "text/plain": [ - " _id artist_name \\\n", - "0 1AVrv7FD10FoKW38oBiKRg Radiohead \n", - "1 4rkGGQEqxHIXVJ4oXjOHgF George Martin \n", - "2 01ZpFhrMMqKPVCwyqXneVp Radiohead \n", - "3 53RYTfkLiyZuUZHwJC3Wmm Radiohead \n", - "4 0ttMfoND7IQqFSMVOPkELC The Beatles \n", - "5 66Pyms4pYaHEcPHZ7DdMbE Radiohead \n", - "6 3gKuywOm38axM8sJGq6Laq Radiohead \n", - "7 75YUnz58ajMo2VIIuUFvOV Radiohead \n", - "8 0tKuiKb2mazZYdA6fPP7kI Radiohead \n", - "9 2PbwmAMaxIBIWis8XLViat George Martin \n", - "10 0COiZ7ncho2yi4HotbzgPv Radiohead \n", - "11 2uYSbsxAMmK1awUl06T7ix Radiohead \n", - "12 4gq2bc2770XvbJdEtfUbmw Radiohead \n", - "13 5olWalQH1oVza5D6xJg4oX Radiohead \n", - "14 49JPfRfsAfjWYRN6lbC3my George Martin \n", - "15 3uxhyRdWVXp7GQvERQl6fA Radiohead \n", - "16 29yXMFKIrY1fFY4DYBVZCu Radiohead \n", - "17 3cual6JOG286qZJmCxKRAT Radiohead \n", - "18 6f6pEjgfTtuRROmJ4a7Gf3 Radiohead \n", - "19 0agoaPIy92gPZ6zRhqXarE The Beatles \n", - "\n", - " name valence \n", - "0 Bloom (Blawan Rmx) 0.0325 \n", - "1 Sea Of Holes - Remastered 2009 0.0352 \n", - "2 True Love Waits 0.0378 \n", - "3 We Suck Young Blood 0.0378 \n", - "4 Blue Jay Way - Remastered 2009 0.0380 \n", - "5 TKOL (Altrice Rmx) 0.0383 \n", - "6 MK 1 0.0391 \n", - "7 The Tourist 0.0400 \n", - "8 Good Evening Mrs Magpie (Modeselektor RMX) 0.0413 \n", - "9 Sea Of Monsters - Remastered 2009 0.0422 \n", - "10 Motion Picture Soundtrack 0.0425 \n", - "11 MK 2 0.0437 \n", - "12 Go Slowly 0.0453 \n", - "13 Sail To The Moon 0.0458 \n", - "14 Pepperland Laid Waste - Remastered 2009 0.0459 \n", - "15 Videotape 0.0468 \n", - "16 Life In a Glasshouse 0.0516 \n", - "17 Tinker Tailor Soldier Sailor Rich Man Poor Man... 0.0517 \n", - "18 The Numbers 0.0545 \n", - "19 Tomorrow Never Knows - Remastered 2009 0.0556 " - ] - }, - "execution_count": 84, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "pd.DataFrame(list(tracks.find({}, \n", - " ['artist_name', 'name', 'valence'], \n", - " sort=[('valence', pymongo.ASCENDING)], limit=20)))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Just the Beatles songs." - ] - }, - { - "cell_type": "code", - "execution_count": 85, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", " \n", - " \n", - " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
_idartist_namenamevalence36lJLPoPPOKNFddTAcirncRadioheadIn Rainbows Disk 2
1130ttMfoND7IQqFSMVOPkELCThe BeatlesBlue Jay Way - Remastered 20090.0380206Eo5EkmdLvZrONzi046iC2RadioheadCom Lag: 2+2=5
1470agoaPIy92gPZ6zRhqXarEThe BeatlesTomorrow Never Knows - Remastered 20090.0556211oW3v5Har9mvXnGk0x4fHmRadioheadHail To the Thief
1096ZrPbHp9kRmQj1tGLvna8UThe BeatlesRevolution 9 - Remastered 20090.0963226svTt5o2lUgIrgYDKVmdnDRadioheadI Might Be Wrong
10427YZJHyTTDIurMqDu1v2efThe BeatlesLong, Long, Long - Remastered 20090.1350236V9YnBmFjWmXCBaUVRCVXPRadioheadAmnesiac
02ucFulEWapRAmTn7l6f5Q7The BeatlesWild Honey Pie - Remastered 20090.1530
664cLoL5KPfE1hAwfsO84FX7The BeatlesBecause - Remastered 20090.1620
1333ZFBeIyP41HhnALjxWy1pRThe BeatlesA Day In The Life - Remastered 20090.1620
447iABnSNZciNepqGtjMQxxdThe BeatlesCome Together - Remastered 20150.1780
590MKqeOVdZcUFGJvWpGCKbGThe BeatlesCome Together - Remastered 20090.1790
1102tf8ljpWPmXNIFgRVhEuJgThe BeatlesGood Night - Remastered 20090.1920
\n", - "
" - ], - "text/plain": [ - " _id artist_name \\\n", - "113 0ttMfoND7IQqFSMVOPkELC The Beatles \n", - "147 0agoaPIy92gPZ6zRhqXarE The Beatles \n", - "109 6ZrPbHp9kRmQj1tGLvna8U The Beatles \n", - "104 27YZJHyTTDIurMqDu1v2ef The Beatles \n", - "0 2ucFulEWapRAmTn7l6f5Q7 The Beatles \n", - "66 4cLoL5KPfE1hAwfsO84FX7 The Beatles \n", - "133 3ZFBeIyP41HhnALjxWy1pR The Beatles \n", - "44 7iABnSNZciNepqGtjMQxxd The Beatles \n", - "59 0MKqeOVdZcUFGJvWpGCKbG The Beatles \n", - "110 2tf8ljpWPmXNIFgRVhEuJg The Beatles \n", - "\n", - " name valence \n", - "113 Blue Jay Way - Remastered 2009 0.0380 \n", - "147 Tomorrow Never Knows - Remastered 2009 0.0556 \n", - "109 Revolution 9 - Remastered 2009 0.0963 \n", - "104 Long, Long, Long - Remastered 2009 0.1350 \n", - "0 Wild Honey Pie - Remastered 2009 0.1530 \n", - "66 Because - Remastered 2009 0.1620 \n", - "133 A Day In The Life - Remastered 2009 0.1620 \n", - "44 Come Together - Remastered 2015 0.1780 \n", - "59 Come Together - Remastered 2009 0.1790 \n", - "110 Good Night - Remastered 2009 0.1920 " - ] - }, - "execution_count": 85, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "beatles_df = pd.DataFrame(list(tracks.find({'artist_id': beatles_id}, \n", - " ['artist_name', 'name', 'valence'])))\n", - "beatles_df.sort_values('valence').head(10)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "And plot the valences.." - ] - }, - { - "cell_type": "code", - "execution_count": 86, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 86, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\nQmCC\n", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "beatles_df['valence'].hist()" - ] - }, - { - "cell_type": "code", - "execution_count": 88, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 88, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\nYII=\n", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "radiohead_df['valence'].hist()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "And now plot both on the same chart, to clearly show that Radiohead songs are generally lower-valence than The Beatles." - ] - }, - { - "cell_type": "code", - "execution_count": 89, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 89, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\nke13pqTNkr4j6Yp2z7uNx8VbJH1P0sJs+9x2z7uNtbhT0ieyry+V9Gy7593CevyqpB5JT8zw/fdJ\n+vfs66skba32ms1aqddyIdJ1ktZnX39FE2+wFk3VOrj7ZnevXGGxVcU9t7/Wi9PWSrpD0pGUk0us\nllr8vqS/dveXJcnd9yaeYyq11GJc0sLs6y5JP0k4v6TcfYukfbPscp2ke7N9/0vSIjM7f7bXbFZT\nr+VCpMl93P2YpFEzO6dJ43eKei/IuknSN1o6o/apWovsv5IXuvvXU06sDWo5Lt4q6RIz22Jm3zGz\n9yabXVq11OKzkj5qZs9J+jdJf5pobp1oer1+oioLwWZ98HQtFyJN38dOsM/JruYLssxslaRf1kQc\nU0Sz1sImrvL6gqQbqjynCGo5Lk7VRATzLklLJD1mZm+vrNwLpJZafETSPe7+hex6mA2auL/UXFT3\nRZ7NWqnv1sSBWHGhpOen7fOcpDdJk+e4L3T32f7bcTKqpQ4ys2sk3Sbp/dl/QYuoWi3O0sQvasnM\nnpW0VNKDBX2ztJbjYrekB9193N3LmrgG5OI000uqllrcJOnLkuTuWyWdbmbnpplex9mtrG9mTthT\npmpWU/+upLeY2UVm9jpJH5b00LR9vqZYlV0vaWOTxu4kVetgZu+Q9CVJv+XuL7ZhjqnMWgt3f9nd\n3+Dub3b3X9DE+wvvd/dtbZpvK9Xy+zEo6WpJyhrYxZL+L+ks06ilFj+WdI0kmdmlkk4r8HsM0sRq\nfKb/pT4k6WPS5FX8o+4+MuurNfFd3BWaWF3sknRr9thnJf1m9vVpmvjXd5cmfoG72/3Oc4veza5W\nh29q4grcbZK2Sxps95zbVYtp+25UQc9+qbUWkj4v6QeSdkq6vt1zblctNHHGyxZNnBmzTdK72z3n\nFtbiPk2svI9IGpL0cUmfkPQHU/b5oibOGNpZy+8IFx8BQIHwcXYAUCA0dQAoEJo6ABQITR0ACoSm\nDgAFQlMHgAKhqQNAgdDUAaBA/h+JY+4p63w4GAAAAABJRU5ErkJggg==\n", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "beatles_df['valence'].hist(alpha=0.5, color='blue')\n", - "radiohead_df['valence'].hist(alpha=0.5, color='red')" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Sentiment\n", - "We can now look at the sentiment scores for the lyrics. We start by looking at the most negative songs for each artist.\n", - "\n", - "* [Top](#top)" - ] - }, - { - "cell_type": "code", - "execution_count": 90, - "metadata": { - "collapsed": false, - "scrolled": true - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
_idartist_namenamenegneutralposvalence
883VgxeWOGdUYvtX1j8C9VyVThe BeatlesI'm So Tired - Remastered 20090.8924890.1463020.1075110.6300
626gLmFcRwyQCQT23Df2Re9GThe BeatlesI Want You (She's So Heavy) - Remastered 20090.8826420.0918190.1173580.4160
1076ZrPbHp9kRmQj1tGLvna8UThe BeatlesRevolution 9 - Remastered 20090.8732850.1723220.1267150.0963
1863EbGioQyKyf4dycuiPOg3kThe BeatlesEverybody's Trying To Be My Baby - Remastered ...0.8669850.9143320.1330150.9370
1679QDgDoBbS7pCrOjIH7ByAThe BeatlesEverybody’s Trying To Be My Baby - Live / Bonu...0.8669850.9143320.1330150.6390
534311wT21Et0q3vepFwXjTuThe BeatlesOne After 909 - Remastered 20090.8657370.1584700.1342630.9040
1483QbhVaulXxTyuAxHY3Pa5NThe BeatlesYou Won't See Me - Remastered 20090.8645850.2472260.1354150.4620
1953Aqo28W4LLAolYpN3duVJlThe BeatlesI'll Cry Instead - Remastered 20090.8637720.1605160.1362280.9610
923OSi8ehmSWLTD5KatlzX8rThe BeatlesDon't Pass Me By - Remastered 20090.8578310.1206760.1421690.9480
1343wAOX1N5M0ta3QNsokmhJVThe BeatlesI'm Only Sleeping - Remastered 20090.8576510.2698000.1423490.7000
\n", - "
" - ], - "text/plain": [ - " _id artist_name \\\n", - "88 3VgxeWOGdUYvtX1j8C9VyV The Beatles \n", - "62 6gLmFcRwyQCQT23Df2Re9G The Beatles \n", - "107 6ZrPbHp9kRmQj1tGLvna8U The Beatles \n", - "186 3EbGioQyKyf4dycuiPOg3k The Beatles \n", - "16 79QDgDoBbS7pCrOjIH7ByA The Beatles \n", - "53 4311wT21Et0q3vepFwXjTu The Beatles \n", - "148 3QbhVaulXxTyuAxHY3Pa5N The Beatles \n", - "195 3Aqo28W4LLAolYpN3duVJl The Beatles \n", - "92 3OSi8ehmSWLTD5KatlzX8r The Beatles \n", - "134 3wAOX1N5M0ta3QNsokmhJV The Beatles \n", - "\n", - " name neg neutral \\\n", - "88 I'm So Tired - Remastered 2009 0.892489 0.146302 \n", - "62 I Want You (She's So Heavy) - Remastered 2009 0.882642 0.091819 \n", - "107 Revolution 9 - Remastered 2009 0.873285 0.172322 \n", - "186 Everybody's Trying To Be My Baby - Remastered ... 0.866985 0.914332 \n", - "16 Everybody’s Trying To Be My Baby - Live / Bonu... 0.866985 0.914332 \n", - "53 One After 909 - Remastered 2009 0.865737 0.158470 \n", - "148 You Won't See Me - Remastered 2009 0.864585 0.247226 \n", - "195 I'll Cry Instead - Remastered 2009 0.863772 0.160516 \n", - "92 Don't Pass Me By - Remastered 2009 0.857831 0.120676 \n", - "134 I'm Only Sleeping - Remastered 2009 0.857651 0.269800 \n", - "\n", - " pos valence \n", - "88 0.107511 0.6300 \n", - "62 0.117358 0.4160 \n", - "107 0.126715 0.0963 \n", - "186 0.133015 0.9370 \n", - "16 0.133015 0.6390 \n", - "53 0.134263 0.9040 \n", - "148 0.135415 0.4620 \n", - "195 0.136228 0.9610 \n", - "92 0.142169 0.9480 \n", - "134 0.142349 0.7000 " - ] - }, - "execution_count": 90, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "pipeline = [\n", - " {'$match': {'lyrics': {'$exists': True}, 'sentiment': {'$exists': True}, 'valence': {'$exists': True},\n", - " 'artist_id': beatles_id}},\n", - " {'$project': {'artist_name': '$artist_name',\n", - " 'name': '$name',\n", - " 'valence': '$valence',\n", - " 'neg': '$sentiment.probability.neg',\n", - " 'neutral': '$sentiment.probability.neutral',\n", - " 'pos': '$sentiment.probability.pos'}}\n", - "]\n", - "beatles_df = pd.DataFrame(list(tracks.aggregate(pipeline)))\n", - "beatles_df.sort_values('neg', ascending=False).head(10)" - ] - }, - { - "cell_type": "code", - "execution_count": 91, - "metadata": { - "collapsed": false, - "scrolled": true - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
_idartist_namenamenegneutralposvalence
10111qDTSr3Dj4TkPnBcIOqEJRadioheadVegetable0.8832910.1703710.1167090.399
4938WL6GlG9NHFiQS6JxV84rRadioheadMyxomatosis0.8649210.2613550.1350790.560
972zYmvi3w2T8a9Ckrv21bvWRadioheadStop Whispering0.8559820.1886000.1440180.279
341w8QCSDH4QobcQeT4uMKLmRadiohead4 Minute Warning0.8548200.5165740.1451800.219
833aDUSpF3LexOr1lFKvPV2hRadioheadThe Bends0.8542440.5338230.1457560.315
10348IEDejXX5LH8TAC3VIGpcRadioheadI Can't0.8497300.2653750.1502700.269
753SVAN3BRByDmHOhKyIDxfCRadioheadKarma Police0.8461290.1004380.1538710.311
894dPKQxaraW6CG1rTBzV6DWRadioheadMy Iron Lung0.8450800.1908630.1549200.643
245SdmtFbNOD7Qej6jFCHkOMRadioheadFaust Arp0.8385320.1677780.1614680.224
4677SPrxY5gn6VPrKPGrfLnMRadioheadThere, There0.8355410.1359510.1644590.726
\n", - "
" - ], - "text/plain": [ - " _id artist_name name neg neutral \\\n", - "101 11qDTSr3Dj4TkPnBcIOqEJ Radiohead Vegetable 0.883291 0.170371 \n", - "49 38WL6GlG9NHFiQS6JxV84r Radiohead Myxomatosis 0.864921 0.261355 \n", - "97 2zYmvi3w2T8a9Ckrv21bvW Radiohead Stop Whispering 0.855982 0.188600 \n", - "34 1w8QCSDH4QobcQeT4uMKLm Radiohead 4 Minute Warning 0.854820 0.516574 \n", - "83 3aDUSpF3LexOr1lFKvPV2h Radiohead The Bends 0.854244 0.533823 \n", - "103 48IEDejXX5LH8TAC3VIGpc Radiohead I Can't 0.849730 0.265375 \n", - "75 3SVAN3BRByDmHOhKyIDxfC Radiohead Karma Police 0.846129 0.100438 \n", - "89 4dPKQxaraW6CG1rTBzV6DW Radiohead My Iron Lung 0.845080 0.190863 \n", - "24 5SdmtFbNOD7Qej6jFCHkOM Radiohead Faust Arp 0.838532 0.167778 \n", - "46 77SPrxY5gn6VPrKPGrfLnM Radiohead There, There 0.835541 0.135951 \n", - "\n", - " pos valence \n", - "101 0.116709 0.399 \n", - "49 0.135079 0.560 \n", - "97 0.144018 0.279 \n", - "34 0.145180 0.219 \n", - "83 0.145756 0.315 \n", - "103 0.150270 0.269 \n", - "75 0.153871 0.311 \n", - "89 0.154920 0.643 \n", - "24 0.161468 0.224 \n", - "46 0.164459 0.726 " - ] - }, - "execution_count": 91, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "pipeline = [\n", - " {'$match': {'lyrics': {'$exists': True}, 'sentiment': {'$exists': True}, 'valence': {'$exists': True},\n", - " 'artist_id': radiohead_id}},\n", - " {'$project': {'artist_name': '$artist_name',\n", - " 'name': '$name',\n", - " 'valence': '$valence',\n", - " 'neg': '$sentiment.probability.neg',\n", - " 'neutral': '$sentiment.probability.neutral',\n", - " 'pos': '$sentiment.probability.pos'}}\n", - "]\n", - "radiohead_df = pd.DataFrame(list(tracks.aggregate(pipeline)))\n", - "radiohead_df.sort_values('neg', ascending=False).head(10)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Plot the valence/negativity scatter plot, using blue for The Beatles and red for Radiohead.\n", - "\n", - "If valence and negativity are correlated, I'd expect to see a trend from high negativity/low valence to low negativity/high valence." - ] - }, - { - "cell_type": "code", - "execution_count": 92, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plt.scatter(beatles_df['valence'], beatles_df['neg'], color='blue')\n", - "plt.scatter(radiohead_df['valence'], radiohead_df['neg'], color='red')\n", - "plt.xlabel('Valence')\n", - "plt.ylabel('Sentiment negativity')\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Neutrality, I think, is to do with the confidence in the classification." - ] - }, - { - "cell_type": "code", - "execution_count": 93, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plt.scatter(beatles_df['neutral'], beatles_df['neg'], color='blue')\n", - "plt.scatter(radiohead_df['neutral'], radiohead_df['neg'], color='red')\n", - "plt.xlabel('Sentiment neutrality')\n", - "plt.ylabel('Sentiment negativity')\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "This plot shows that most songs have a low neutrality, so express a clear sentiment in the lyrics. Let's plot the distribution of \"neutral\" scores to highlight this." - ] - }, - { - "cell_type": "code", - "execution_count": 95, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 95, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\nk/SS1tcDkh7t4vq6xt03SHpigV3OlvTN1r4/lrTCzI5f7H47PfDnehPW/kNsZh93f0HSpJkd0+F1\n9UKRLGa7QNIPOrqi3lk0i9Y/UVe6+w3dXFgPFHlc/LqkU8xsg5n9yMze2bXVdVeRLD4v6YNm9oik\n6yV9oktry83+WT2qAheInf60zCJvwtp/H5tjn35Q+A1pZvYBSW/UVMXTjxbMwsxM0pcknb/IMf2g\nyONiuaZqnd+RNCjpP83sddNX/H2kSBbvl3SZu3+p9Z6fyyW9ruMry0/heTJbp6/wt2rqATptpaY+\nUG22RySdKM28hv8l7r7QP2WWqiJZyMzOkHSRpHe3/lnbjxbL4ihN/SVumNlDkk6XdE2fPnFb5HGx\nVdI17r7P3Zuaep/Lq7uzvK4qksUFkr4nSe6+UdKhZvbS7iwvK1vVmpstc86T/XV64P9U0slmdpKZ\nHSLpfZKu3W+f6xRXcudJuqXDa+qVRbMwszdI+rqk97j7zh6ssVsWzMLdn3T349z9Ve7+q5p6PuPd\n7n5Hj9bbSUX+jlwt6e2S1Bpur5b0866usjuKZPGwpDMkycxOlfQrffychmn+f9leK+lD0synG0y6\n+47F7rCjlY7P8yYsM/u8pJ+6+/WSLpX0L2a2RdJOTf1P7jsFs/hbSUdIurJVazzs7uk/47bHCmbx\nokPUp5VOkSzc/UYz+30zu1vS85I+24//Ci74uPispH80s09r6gnc8+e/x6XLzL4tabWkY81sXNLF\nkg7R1MfUfMPdbzCzs8zsQUl7JH240P22XtYDAOhz/BJzAKgIBj4AVAQDHwAqgoEPABXBwAeAimDg\nA0BFMPABoCIY+ABQEf8PYDmDh24027cAAAAASUVORK5CYII=\n", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "beatles_df['neutral'].hist(alpha=0.5, color='blue')\n", - "radiohead_df['neutral'].hist(alpha=0.5, color='red')" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Gloom index\n", - "Let's recreate the \"gloom index\" idea from the original post and see what it tells us. Bear in mind that I'm using the sentiment negativity score, not the fraction of \"sad\" words.\n", - "\n", - "* [Top](#top)" - ] - }, - { - "cell_type": "code", - "execution_count": 97, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
_idartist_namegloomlyrical_densitynamenegvalence
27966cuLvkHsW7dNkfNk6gQP9Radiohead1.5052621.991725A Wolf At the Door0.7933630.3630
50GRplBEB2FWCKutwMmS6nYThe Beatles1.4750371.853118Ticket To Ride - Live / Remastered0.8254390.4050
2525SdmtFbNOD7Qej6jFCHkOMRadiohead1.3989201.411166Faust Arp0.8385320.2240
893VgxeWOGdUYvtX1j8C9VyVThe Beatles1.3936971.708599I'm So Tired - Remastered 20090.8924890.6300
1086ZrPbHp9kRmQj1tGLvna8UThe Beatles1.2703270.874479Revolution 9 - Remastered 20090.8732850.0963
745H9q6ctIlamkqukdTrNt3kThe Beatles1.2615392.616693Her Majesty - Remastered 20090.5566080.4900
3113aDUSpF3LexOr1lFKvPV2hRadiohead1.2397681.100731The Bends0.8542440.3150
240mNQUZEATk2uItMUtiLWK5The Beatles1.2136451.615224A Hard Day's Night - Remastered 20150.8333090.7520
1120ttMfoND7IQqFSMVOPkELCThe Beatles1.2121480.799772Blue Jay Way - Remastered 20090.8124900.0380
1615ou2BiQ9FxIYkxsYvYHpATThe Beatles1.2103781.648037Help! - Remastered 20090.8239150.7610
\n", - "
" - ], - "text/plain": [ - " _id artist_name gloom lyrical_density \\\n", - "279 66cuLvkHsW7dNkfNk6gQP9 Radiohead 1.505262 1.991725 \n", - "5 0GRplBEB2FWCKutwMmS6nY The Beatles 1.475037 1.853118 \n", - "252 5SdmtFbNOD7Qej6jFCHkOM Radiohead 1.398920 1.411166 \n", - "89 3VgxeWOGdUYvtX1j8C9VyV The Beatles 1.393697 1.708599 \n", - "108 6ZrPbHp9kRmQj1tGLvna8U The Beatles 1.270327 0.874479 \n", - "74 5H9q6ctIlamkqukdTrNt3k The Beatles 1.261539 2.616693 \n", - "311 3aDUSpF3LexOr1lFKvPV2h Radiohead 1.239768 1.100731 \n", - "24 0mNQUZEATk2uItMUtiLWK5 The Beatles 1.213645 1.615224 \n", - "112 0ttMfoND7IQqFSMVOPkELC The Beatles 1.212148 0.799772 \n", - "161 5ou2BiQ9FxIYkxsYvYHpAT The Beatles 1.210378 1.648037 \n", - "\n", - " name neg valence \n", - "279 A Wolf At the Door 0.793363 0.3630 \n", - "5 Ticket To Ride - Live / Remastered 0.825439 0.4050 \n", - "252 Faust Arp 0.838532 0.2240 \n", - "89 I'm So Tired - Remastered 2009 0.892489 0.6300 \n", - "108 Revolution 9 - Remastered 2009 0.873285 0.0963 \n", - "74 Her Majesty - Remastered 2009 0.556608 0.4900 \n", - "311 The Bends 0.854244 0.3150 \n", - "24 A Hard Day's Night - Remastered 2015 0.833309 0.7520 \n", - "112 Blue Jay Way - Remastered 2009 0.812490 0.0380 \n", - "161 Help! - Remastered 2009 0.823915 0.7610 " - ] - }, - "execution_count": 97, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "pipeline = [\n", - " {'$match': {'lyrics': {'$exists': True}, 'sentiment': {'$exists': True}, 'valence': {'$exists': True}}},\n", - " {'$project': {'artist_name': '$artist_name',\n", - " 'name': '$name',\n", - " 'valence': '$valence',\n", - " 'neg': '$sentiment.probability.neg',\n", - " 'lyrical_density': '$lyrical_density',\n", - " 'gloom': {'$divide': [{'$add': [{'$subtract': [1, '$valence']},\n", - " {'$multiply': ['$sentiment.probability.neg', \n", - " {'$add': ['$lyrical_density', 1]}]}]}, \n", - " 2]}}}]\n", - "results = pd.DataFrame(list(tracks.aggregate(pipeline)))\n", - "results.sort_values('gloom', ascending=False).head(10)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Interestingly, the gloomiest songs seem pretty evenly spread between Radiohead and The Beatles." - ] - }, - { - "cell_type": "code", - "execution_count": 471, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
_idartist_namegloomlyrical_densitynamenegvalence
6166cuLvkHsW7dNkfNk6gQP9Radiohead1.5052621.991725A Wolf At the Door0.7933630.3630
435SdmtFbNOD7Qej6jFCHkOMRadiohead1.3989201.411166Faust Arp0.8385320.2240
93aDUSpF3LexOr1lFKvPV2hRadiohead1.2397681.100731The Bends0.8542440.3150
340eZN5WsQfmNFICHuw59ZfzRadiohead1.1509020.705463Glass Eyes0.8001950.0629
203ovbSnT5NNhl1gzMcw1NRZRadiohead1.1421151.151468Thinking About You0.7916600.4190
11045sp2JToyTaaKyXkGejPyRadiohead1.0908130.581341Fake Plastic Trees0.8275420.1270
244D6ZExVvYLZxhcAvifX5pxRadiohead1.0740470.749795Prove Yourself0.8150060.2780
134SE81CrzH0qPA8KHqM9SyzRadiohead1.0649140.856048Just0.8091540.3720
44aOAzvRdOsZSwZIgwcdeL0Radiohead1.0638680.524102Let Down0.8258870.1310
2311qDTSr3Dj4TkPnBcIOqEJRadiohead1.0561870.711071Vegetable0.8832910.3990
\n", - "
" - ], - "text/plain": [ - " _id artist_name gloom lyrical_density \\\n", - "61 66cuLvkHsW7dNkfNk6gQP9 Radiohead 1.505262 1.991725 \n", - "43 5SdmtFbNOD7Qej6jFCHkOM Radiohead 1.398920 1.411166 \n", - "9 3aDUSpF3LexOr1lFKvPV2h Radiohead 1.239768 1.100731 \n", - "34 0eZN5WsQfmNFICHuw59Zfz Radiohead 1.150902 0.705463 \n", - "20 3ovbSnT5NNhl1gzMcw1NRZ Radiohead 1.142115 1.151468 \n", - "11 045sp2JToyTaaKyXkGejPy Radiohead 1.090813 0.581341 \n", - "24 4D6ZExVvYLZxhcAvifX5px Radiohead 1.074047 0.749795 \n", - "13 4SE81CrzH0qPA8KHqM9Syz Radiohead 1.064914 0.856048 \n", - "4 4aOAzvRdOsZSwZIgwcdeL0 Radiohead 1.063868 0.524102 \n", - "23 11qDTSr3Dj4TkPnBcIOqEJ Radiohead 1.056187 0.711071 \n", - "\n", - " name neg valence \n", - "61 A Wolf At the Door 0.793363 0.3630 \n", - "43 Faust Arp 0.838532 0.2240 \n", - "9 The Bends 0.854244 0.3150 \n", - "34 Glass Eyes 0.800195 0.0629 \n", - "20 Thinking About You 0.791660 0.4190 \n", - "11 Fake Plastic Trees 0.827542 0.1270 \n", - "24 Prove Yourself 0.815006 0.2780 \n", - "13 Just 0.809154 0.3720 \n", - "4 Let Down 0.825887 0.1310 \n", - "23 Vegetable 0.883291 0.3990 " - ] - }, - "execution_count": 471, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "pipeline = [\n", - " {'$match': {'lyrics': {'$exists': True}, 'sentiment': {'$exists': True}, 'valence': {'$exists': True},\n", - " 'artist_id': radiohead_id}},\n", - " {'$project': {'artist_name': '$artist_name',\n", - " 'name': '$name',\n", - " 'valence': '$valence',\n", - " 'neg': '$sentiment.probability.neg',\n", - " 'lyrical_density': '$lyrical_density',\n", - " 'gloom': {'$divide': [{'$add': [{'$subtract': [1, '$valence']},\n", - " {'$multiply': ['$sentiment.probability.neg', \n", - " {'$add': ['$lyrical_density', 1]}]}]}, \n", - " 2]}}}]\n", - "results = pd.DataFrame(list(tracks.aggregate(pipeline)))\n", - "results.sort_values('gloom', ascending=False).head(10)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "These, in theory, are the most depressing Radiohead songs. For information, the [fitteR happieR songs](http://rcharlie.com/2017-02-16-fitteR-happieR/) were:\n", - "\n", - " | gloom_index| track_name\n", - "--|------------|--------------------------|\n", - "1 | 1.00 | True Love Waits\n", - "2 | 6.46 | Give Up The Ghost\n", - "3 | 9.35 | Motion Picture Soundtrack\n", - "4 | 13.70 | Let Down\n", - "5 | 14.15 | Pyramid Song\n", - "6 | 14.57 | Exit Music (For a Film)\n", - "7 | 15.29 | Dollars & Cents\n", - "8 | 15.69 | High And Dry\n", - "9 | 15.80 | Tinker Tailor Soldier ...\n", - "10| 16.03 | Videotape\n", - "\n", - "...which has only one song in common, \"Let Down\". I'm not convinced by this analysis.\n", - "\n", - "What does the same analysis say for The Beatles?" - ] - }, - { - "cell_type": "code", - "execution_count": 98, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
_idartist_namegloomlyrical_densitynamenegvalence
40GRplBEB2FWCKutwMmS6nYThe Beatles1.4750371.853118Ticket To Ride - Live / Remastered0.8254390.4050
883VgxeWOGdUYvtX1j8C9VyVThe Beatles1.3936971.708599I'm So Tired - Remastered 20090.8924890.6300
1076ZrPbHp9kRmQj1tGLvna8UThe Beatles1.2703270.874479Revolution 9 - Remastered 20090.8732850.0963
735H9q6ctIlamkqukdTrNt3kThe Beatles1.2615392.616693Her Majesty - Remastered 20090.5566080.4900
230mNQUZEATk2uItMUtiLWK5The Beatles1.2136451.615224A Hard Day's Night - Remastered 20150.8333090.7520
1110ttMfoND7IQqFSMVOPkELCThe Beatles1.2121480.799772Blue Jay Way - Remastered 20090.8124900.0380
1605ou2BiQ9FxIYkxsYvYHpATThe Beatles1.2103781.648037Help! - Remastered 20090.8239150.7610
101alcPfZWUHh01l4Fnoo5JtThe Beatles1.2034161.332561Help! - Live / Remastered0.8239150.5150
2202Iccm3cKBQHWt5yk0yX9nhThe Beatles1.2001581.530785Please Please Me - Remastered 20090.8330680.7080
271dfuJYDSIc41cw5RPsaCF1The Beatles1.1874381.651824Help! - Remastered 20150.8239150.8100
\n", - "
" - ], - "text/plain": [ - " _id artist_name gloom lyrical_density \\\n", - "4 0GRplBEB2FWCKutwMmS6nY The Beatles 1.475037 1.853118 \n", - "88 3VgxeWOGdUYvtX1j8C9VyV The Beatles 1.393697 1.708599 \n", - "107 6ZrPbHp9kRmQj1tGLvna8U The Beatles 1.270327 0.874479 \n", - "73 5H9q6ctIlamkqukdTrNt3k The Beatles 1.261539 2.616693 \n", - "23 0mNQUZEATk2uItMUtiLWK5 The Beatles 1.213645 1.615224 \n", - "111 0ttMfoND7IQqFSMVOPkELC The Beatles 1.212148 0.799772 \n", - "160 5ou2BiQ9FxIYkxsYvYHpAT The Beatles 1.210378 1.648037 \n", - "10 1alcPfZWUHh01l4Fnoo5Jt The Beatles 1.203416 1.332561 \n", - "220 2Iccm3cKBQHWt5yk0yX9nh The Beatles 1.200158 1.530785 \n", - "27 1dfuJYDSIc41cw5RPsaCF1 The Beatles 1.187438 1.651824 \n", - "\n", - " name neg valence \n", - "4 Ticket To Ride - Live / Remastered 0.825439 0.4050 \n", - "88 I'm So Tired - Remastered 2009 0.892489 0.6300 \n", - "107 Revolution 9 - Remastered 2009 0.873285 0.0963 \n", - "73 Her Majesty - Remastered 2009 0.556608 0.4900 \n", - "23 A Hard Day's Night - Remastered 2015 0.833309 0.7520 \n", - "111 Blue Jay Way - Remastered 2009 0.812490 0.0380 \n", - "160 Help! - Remastered 2009 0.823915 0.7610 \n", - "10 Help! - Live / Remastered 0.823915 0.5150 \n", - "220 Please Please Me - Remastered 2009 0.833068 0.7080 \n", - "27 Help! - Remastered 2015 0.823915 0.8100 " - ] - }, - "execution_count": 98, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "pipeline = [\n", - " {'$match': {'lyrics': {'$exists': True}, 'sentiment': {'$exists': True}, 'valence': {'$exists': True},\n", - " 'artist_id': beatles_id}},\n", - " {'$project': {'artist_name': '$artist_name',\n", - " 'name': '$name',\n", - " 'valence': '$valence',\n", - " 'neg': '$sentiment.probability.neg',\n", - " 'lyrical_density': '$lyrical_density',\n", - " 'gloom': {'$divide': [{'$add': [{'$subtract': [1, '$valence']},\n", - " {'$multiply': ['$sentiment.probability.neg', \n", - " {'$add': ['$lyrical_density', 1]}]}]}, \n", - " 2]}}}]\n", - "results = pd.DataFrame(list(tracks.aggregate(pipeline)))\n", - "results.sort_values('gloom', ascending=False).head(10)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Revised gloom index\n", - "I don't like the calculation for gloom index. If the point of \"lyrical density\" is to scale the gloom index between valence and sentiment, depending on how many words are in the song. Let's do that weighting properly.\n", - "\n", - "$$gloom = \\frac{(1 - normedLyricDensity)\\times(1 - valence) + normedLyricDensity \\times negativity }{2}$$\n", - "\n", - "* [Top](#top)" - ] - }, - { - "cell_type": "code", - "execution_count": 99, - "metadata": { - "collapsed": false, - "scrolled": true - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
_idartist_namelyrical_densitynamenegvalencescaled_ldgloom
2584gq2bc2770XvbJdEtfUbmwRadiohead0.201546Go Slowly0.7237740.04530.0396190.472775
30975YUnz58ajMo2VIIuUFvOVRadiohead0.248061The Tourist0.6678640.04000.0566580.471724
24601ZpFhrMMqKPVCwyqXneVpRadiohead0.218723True Love Waits0.5322060.03780.0459110.471229
2685olWalQH1oVza5D6xJg4oXRadiohead0.216752Sail To The Moon0.6057980.04580.0451890.469228
27253RYTfkLiyZuUZHwJC3WmmRadiohead0.276367We Suck Young Blood0.5353580.03780.0670270.466795
2054sLGaMl33I6mcsk7u4xHAURadiohead0.146307Codex0.6379420.06290.0193850.465650
1120ttMfoND7IQqFSMVOPkELCThe Beatles0.799772Blue Jay Way - Remastered 20090.8124900.03800.2587550.461657
2970COiZ7ncho2yi4HotbzgPvRadiohead0.349157Motion Picture Soundtrack0.5768080.04250.0936900.460916
2563uxhyRdWVXp7GQvERQl6fARadiohead0.382643Videotape0.6529620.04680.1059570.460694
3187wB2VenWR6rchtLwawreIgRadiohead0.359311Bullet Proof ... I Wish I Was0.8046360.07810.0974100.455239
\n", - "
" - ], - "text/plain": [ - " _id artist_name lyrical_density \\\n", - "258 4gq2bc2770XvbJdEtfUbmw Radiohead 0.201546 \n", - "309 75YUnz58ajMo2VIIuUFvOV Radiohead 0.248061 \n", - "246 01ZpFhrMMqKPVCwyqXneVp Radiohead 0.218723 \n", - "268 5olWalQH1oVza5D6xJg4oX Radiohead 0.216752 \n", - "272 53RYTfkLiyZuUZHwJC3Wmm Radiohead 0.276367 \n", - "205 4sLGaMl33I6mcsk7u4xHAU Radiohead 0.146307 \n", - "112 0ttMfoND7IQqFSMVOPkELC The Beatles 0.799772 \n", - "297 0COiZ7ncho2yi4HotbzgPv Radiohead 0.349157 \n", - "256 3uxhyRdWVXp7GQvERQl6fA Radiohead 0.382643 \n", - "318 7wB2VenWR6rchtLwawreIg Radiohead 0.359311 \n", - "\n", - " name neg valence scaled_ld gloom \n", - "258 Go Slowly 0.723774 0.0453 0.039619 0.472775 \n", - "309 The Tourist 0.667864 0.0400 0.056658 0.471724 \n", - "246 True Love Waits 0.532206 0.0378 0.045911 0.471229 \n", - "268 Sail To The Moon 0.605798 0.0458 0.045189 0.469228 \n", - "272 We Suck Young Blood 0.535358 0.0378 0.067027 0.466795 \n", - "205 Codex 0.637942 0.0629 0.019385 0.465650 \n", - "112 Blue Jay Way - Remastered 2009 0.812490 0.0380 0.258755 0.461657 \n", - "297 Motion Picture Soundtrack 0.576808 0.0425 0.093690 0.460916 \n", - "256 Videotape 0.652962 0.0468 0.105957 0.460694 \n", - "318 Bullet Proof ... I Wish I Was 0.804636 0.0781 0.097410 0.455239 " - ] - }, - "execution_count": 99, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "pipeline = [\n", - " {'$match': {'lyrics': {'$exists': True}, 'sentiment': {'$exists': True}, 'valence': {'$exists': True}}},\n", - " {'$project': {'artist_name': '$artist_name',\n", - " 'name': '$name',\n", - " 'valence': '$valence',\n", - " 'neg': '$sentiment.probability.neg',\n", - " 'lyrical_density': '$lyrical_density'}}]\n", - "results = pd.DataFrame(list(tracks.aggregate(pipeline)))\n", - "\n", - "# Use pandas to scale the lyrical density values to the range 0 -1\n", - "results['scaled_ld'] = (results['lyrical_density'] - results['lyrical_density'].min()) / \\\n", - " (results['lyrical_density'].max() - results['lyrical_density'].min())\n", - "\n", - "# Define a Python function to calculate the revised gloom index\n", - "def gloom(row):\n", - " w_valence = (1 - row['valence']) * (1 - row['scaled_ld'])\n", - " w_neg = row['neg'] * row['scaled_ld']\n", - " return (w_valence + w_neg) / 2\n", - "\n", - "# Apply this function to create a new column\n", - "results['gloom'] = results.apply(gloom, axis=1)\n", - "\n", - "# Push the results back into the database\n", - "for row in results.itertuples():\n", - " tracks.update_one({'_id': row[1]}, {'$set': {'gloom': row.gloom}})\n", - "\n", - "results.sort_values('gloom', ascending=False).head(10)" - ] - }, - { - "cell_type": "code", - "execution_count": 100, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
_idartist_namelyrical_densitynamenegvalencescaled_ldgloom
2584gq2bc2770XvbJdEtfUbmwRadiohead0.201546Go Slowly0.7237740.04530.0396190.472775
30975YUnz58ajMo2VIIuUFvOVRadiohead0.248061The Tourist0.6678640.04000.0566580.471724
24601ZpFhrMMqKPVCwyqXneVpRadiohead0.218723True Love Waits0.5322060.03780.0459110.471229
2685olWalQH1oVza5D6xJg4oXRadiohead0.216752Sail To The Moon0.6057980.04580.0451890.469228
27253RYTfkLiyZuUZHwJC3WmmRadiohead0.276367We Suck Young Blood0.5353580.03780.0670270.466795
2054sLGaMl33I6mcsk7u4xHAURadiohead0.146307Codex0.6379420.06290.0193850.465650
2970COiZ7ncho2yi4HotbzgPvRadiohead0.349157Motion Picture Soundtrack0.5768080.04250.0936900.460916
2563uxhyRdWVXp7GQvERQl6fARadiohead0.382643Videotape0.6529620.04680.1059570.460694
3187wB2VenWR6rchtLwawreIgRadiohead0.359311Bullet Proof ... I Wish I Was0.8046360.07810.0974100.455239
2895AiNZnMDCWwujIENPj9PV9Radiohead0.489208Everything In Its Right Place0.7168290.05850.1449920.454462
\n", - "
" - ], - "text/plain": [ - " _id artist_name lyrical_density \\\n", - "258 4gq2bc2770XvbJdEtfUbmw Radiohead 0.201546 \n", - "309 75YUnz58ajMo2VIIuUFvOV Radiohead 0.248061 \n", - "246 01ZpFhrMMqKPVCwyqXneVp Radiohead 0.218723 \n", - "268 5olWalQH1oVza5D6xJg4oX Radiohead 0.216752 \n", - "272 53RYTfkLiyZuUZHwJC3Wmm Radiohead 0.276367 \n", - "205 4sLGaMl33I6mcsk7u4xHAU Radiohead 0.146307 \n", - "297 0COiZ7ncho2yi4HotbzgPv Radiohead 0.349157 \n", - "256 3uxhyRdWVXp7GQvERQl6fA Radiohead 0.382643 \n", - "318 7wB2VenWR6rchtLwawreIg Radiohead 0.359311 \n", - "289 5AiNZnMDCWwujIENPj9PV9 Radiohead 0.489208 \n", - "\n", - " name neg valence scaled_ld gloom \n", - "258 Go Slowly 0.723774 0.0453 0.039619 0.472775 \n", - "309 The Tourist 0.667864 0.0400 0.056658 0.471724 \n", - "246 True Love Waits 0.532206 0.0378 0.045911 0.471229 \n", - "268 Sail To The Moon 0.605798 0.0458 0.045189 0.469228 \n", - "272 We Suck Young Blood 0.535358 0.0378 0.067027 0.466795 \n", - "205 Codex 0.637942 0.0629 0.019385 0.465650 \n", - "297 Motion Picture Soundtrack 0.576808 0.0425 0.093690 0.460916 \n", - "256 Videotape 0.652962 0.0468 0.105957 0.460694 \n", - "318 Bullet Proof ... I Wish I Was 0.804636 0.0781 0.097410 0.455239 \n", - "289 Everything In Its Right Place 0.716829 0.0585 0.144992 0.454462 " - ] - }, - "execution_count": 100, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "results[results['artist_name'] == 'Radiohead'].sort_values('gloom', ascending=False).head(10)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "This still isn't the same as the original list, though there are now two songs in common!\n", - "\n", - "\n", - " | gloom_index | track_name\n", - "--|-------------|--------------------------\n", - "1 | 1.00 | True Love Waits\n", - "2 | 6.46 | Give Up The Ghost\n", - "3 | 9.35 | Motion Picture Soundtrack\n", - "4 | 13.70 | Let Down\n", - "5 | 14.15 | Pyramid Song\n", - "6 | 14.57 | Exit Music (For a Film)\n", - "7 | 15.29 | Dollars & Cents\n", - "8 | 15.69 | High And Dry\n", - "9 | 15.80 | Tinker Tailor Soldier ...\n", - "10| 16.03 | Videotape\n" - ] - }, - { - "cell_type": "code", - "execution_count": 101, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
_idartist_namelyrical_densitynamenegvalencescaled_ldgloom
1120ttMfoND7IQqFSMVOPkELCThe Beatles0.799772Blue Jay Way - Remastered 20090.8124900.03800.2587550.461657
1086ZrPbHp9kRmQj1tGLvna8UThe Beatles0.874479Revolution 9 - Remastered 20090.8732850.09630.2861210.447499
02ucFulEWapRAmTn7l6f5Q7The Beatles0.169898Wild Honey Pie - Remastered 20090.3911780.15300.0280260.417113
1323ZFBeIyP41HhnALjxWy1pRThe Beatles0.628310A Day In The Life - Remastered 20090.7812960.16200.1959470.413445
1460agoaPIy92gPZ6zRhqXarEThe Beatles0.634931Tomorrow Never Knows - Remastered 20090.3435990.05560.1983720.412609
10327YZJHyTTDIurMqDu1v2efThe Beatles0.429399Long, Long, Long - Remastered 20090.5241220.13500.1230840.411522
654cLoL5KPfE1hAwfsO84FX7The Beatles0.325955Because - Remastered 20090.4662540.16200.0851910.403165
6671Ij3VBYQWMrng61Ae4tBuThe Beatles0.592658You Never Give Me Your Money - Remastered 20090.7534480.22600.1828870.385121
673jPXnX4SskFgAcC4YBKOwNThe Beatles0.273472Sun King - Remastered 20090.3008090.19700.0659660.384936
437iABnSNZciNepqGtjMQxxdThe Beatles0.800176Come Together - Remastered 20150.5625520.17800.2589030.377414
\n", - "
" - ], - "text/plain": [ - " _id artist_name lyrical_density \\\n", - "112 0ttMfoND7IQqFSMVOPkELC The Beatles 0.799772 \n", - "108 6ZrPbHp9kRmQj1tGLvna8U The Beatles 0.874479 \n", - "0 2ucFulEWapRAmTn7l6f5Q7 The Beatles 0.169898 \n", - "132 3ZFBeIyP41HhnALjxWy1pR The Beatles 0.628310 \n", - "146 0agoaPIy92gPZ6zRhqXarE The Beatles 0.634931 \n", - "103 27YZJHyTTDIurMqDu1v2ef The Beatles 0.429399 \n", - "65 4cLoL5KPfE1hAwfsO84FX7 The Beatles 0.325955 \n", - "66 71Ij3VBYQWMrng61Ae4tBu The Beatles 0.592658 \n", - "67 3jPXnX4SskFgAcC4YBKOwN The Beatles 0.273472 \n", - "43 7iABnSNZciNepqGtjMQxxd The Beatles 0.800176 \n", - "\n", - " name neg valence \\\n", - "112 Blue Jay Way - Remastered 2009 0.812490 0.0380 \n", - "108 Revolution 9 - Remastered 2009 0.873285 0.0963 \n", - "0 Wild Honey Pie - Remastered 2009 0.391178 0.1530 \n", - "132 A Day In The Life - Remastered 2009 0.781296 0.1620 \n", - "146 Tomorrow Never Knows - Remastered 2009 0.343599 0.0556 \n", - "103 Long, Long, Long - Remastered 2009 0.524122 0.1350 \n", - "65 Because - Remastered 2009 0.466254 0.1620 \n", - "66 You Never Give Me Your Money - Remastered 2009 0.753448 0.2260 \n", - "67 Sun King - Remastered 2009 0.300809 0.1970 \n", - "43 Come Together - Remastered 2015 0.562552 0.1780 \n", - "\n", - " scaled_ld gloom \n", - "112 0.258755 0.461657 \n", - "108 0.286121 0.447499 \n", - "0 0.028026 0.417113 \n", - "132 0.195947 0.413445 \n", - "146 0.198372 0.412609 \n", - "103 0.123084 0.411522 \n", - "65 0.085191 0.403165 \n", - "66 0.182887 0.385121 \n", - "67 0.065966 0.384936 \n", - "43 0.258903 0.377414 " - ] - }, - "execution_count": 101, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "results[results['artist_name'] == 'The Beatles'].sort_values('gloom', ascending=False).head(10)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "I don't know the Radiohead corpus, but I know some Beatles songs. _Blue Jay Way_ is pretty sad, as is _A Day in the Life_. _Revolution 9_ and _Wild Honey Pie_ are just... odd, rather than sad. It's suspicious that some obviously sad Beatles songs are missing. What does this analysis think of unequivocally sad songs like _She's Leaving Home_, _Yesterday_, and _Eleanor Rigby_?" - ] - }, - { - "cell_type": "code", - "execution_count": 102, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
_idartist_namelyrical_densitynamenegvalencescaled_ldgloom
2963uskN0xLezVg4281wzeQnThe Beatles1.005426Yesterday - Remastered 20150.8521560.3480.3340880.359435
1251Ipl1kvks5s6GKn6oqgzeYThe Beatles1.064324She's Leaving Home - Remastered 20090.7645530.3770.3556630.336673
340TRkjwb4uY3CHb5zhr9bBdThe Beatles1.628703Eleanor Rigby - Remastered 20150.8032320.8450.5624010.259783
\n", - "
" - ], - "text/plain": [ - " _id artist_name lyrical_density \\\n", - "29 63uskN0xLezVg4281wzeQn The Beatles 1.005426 \n", - "125 1Ipl1kvks5s6GKn6oqgzeY The Beatles 1.064324 \n", - "34 0TRkjwb4uY3CHb5zhr9bBd The Beatles 1.628703 \n", - "\n", - " name neg valence scaled_ld \\\n", - "29 Yesterday - Remastered 2015 0.852156 0.348 0.334088 \n", - "125 She's Leaving Home - Remastered 2009 0.764553 0.377 0.355663 \n", - "34 Eleanor Rigby - Remastered 2015 0.803232 0.845 0.562401 \n", - "\n", - " gloom \n", - "29 0.359435 \n", - "125 0.336673 \n", - "34 0.259783 " - ] - }, - "execution_count": 102, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "slh = tracks.find_one({'ctitle': 'shes leaving home'})['_id']\n", - "yd = tracks.find_one({'ctitle': 'yesterday'})['_id']\n", - "er = tracks.find_one({'ctitle': 'eleanor rigby'})['_id']\n", - "results[results['_id'].isin([slh, yd, er])].sort_values('gloom', ascending=False)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Glee index: anti-gloom\n", - "Rather than looking at the saddest songs, how about using the same data to find the happiest songs?\n", - "\n", - "* [Top](#top)" - ] - }, - { - "cell_type": "code", - "execution_count": 103, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
_idartist_namelyrical_densitynamenegvalencescaled_ldgloom
843fuEJBCK3kWnJHFTODR4cbThe Beatles1.608806Ob-La-Di, Ob-La-Da - Remastered 20090.0809690.9750.5551120.028035
783TEbDhNDU4NDXq0h86nGZ7The Beatles1.008850Hey Bulldog - Remastered 20090.2391980.9420.3353420.059382
2205VsIn7QQqcacePIb0vO0owThe Beatles0.465201Not A Second Time - Remastered 20090.7738050.9610.1361980.069540
974KIXWIzNcKzorNDgvMQwmDThe Beatles0.631592Birthday - Remastered 20090.3737310.9160.1971490.070560
2107cPPyMrSAQY7A686Cn9eUPThe Beatles0.891649All My Loving - Remastered 20090.2350230.8910.2924110.072925
1873EbGioQyKyf4dycuiPOg3kThe Beatles0.438356Everybody's Trying To Be My Baby - Remastered ...0.8669850.9370.1263650.082298
560cJ053ljI4BuP5P8tJnK5jThe Beatles0.893485For You Blue - Remastered 20090.4718270.9580.2930830.083988
2166xJSJpO6HJwHhu7UaIc8qRThe Beatles0.585885Hold Me Tight - Remastered 20090.8048700.9630.1804060.087764
4872Ob0wrObCXgvGYhFs8vipThe Beatles0.938049Across The Universe - Remastered 20090.2955250.8620.3094080.093370
1416RdvhWyzCULNTHcMbAXwXKThe Beatles0.879719And Your Bird Can Sing - Remastered 20090.5828750.9660.2880410.096049
\n", - "
" - ], - "text/plain": [ - " _id artist_name lyrical_density \\\n", - "84 3fuEJBCK3kWnJHFTODR4cb The Beatles 1.608806 \n", - "78 3TEbDhNDU4NDXq0h86nGZ7 The Beatles 1.008850 \n", - "220 5VsIn7QQqcacePIb0vO0ow The Beatles 0.465201 \n", - "97 4KIXWIzNcKzorNDgvMQwmD The Beatles 0.631592 \n", - "210 7cPPyMrSAQY7A686Cn9eUP The Beatles 0.891649 \n", - "187 3EbGioQyKyf4dycuiPOg3k The Beatles 0.438356 \n", - "56 0cJ053ljI4BuP5P8tJnK5j The Beatles 0.893485 \n", - "216 6xJSJpO6HJwHhu7UaIc8qR The Beatles 0.585885 \n", - "48 72Ob0wrObCXgvGYhFs8vip The Beatles 0.938049 \n", - "141 6RdvhWyzCULNTHcMbAXwXK The Beatles 0.879719 \n", - "\n", - " name neg valence \\\n", - "84 Ob-La-Di, Ob-La-Da - Remastered 2009 0.080969 0.975 \n", - "78 Hey Bulldog - Remastered 2009 0.239198 0.942 \n", - "220 Not A Second Time - Remastered 2009 0.773805 0.961 \n", - "97 Birthday - Remastered 2009 0.373731 0.916 \n", - "210 All My Loving - Remastered 2009 0.235023 0.891 \n", - "187 Everybody's Trying To Be My Baby - Remastered ... 0.866985 0.937 \n", - "56 For You Blue - Remastered 2009 0.471827 0.958 \n", - "216 Hold Me Tight - Remastered 2009 0.804870 0.963 \n", - "48 Across The Universe - Remastered 2009 0.295525 0.862 \n", - "141 And Your Bird Can Sing - Remastered 2009 0.582875 0.966 \n", - "\n", - " scaled_ld gloom \n", - "84 0.555112 0.028035 \n", - "78 0.335342 0.059382 \n", - "220 0.136198 0.069540 \n", - "97 0.197149 0.070560 \n", - "210 0.292411 0.072925 \n", - "187 0.126365 0.082298 \n", - "56 0.293083 0.083988 \n", - "216 0.180406 0.087764 \n", - "48 0.309408 0.093370 \n", - "141 0.288041 0.096049 " - ] - }, - "execution_count": 103, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "results.sort_values('gloom', ascending=True).head(10)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "All the top ten most gleeful songs are from The Beatles!\n", - "\n", - "What about the most gleeful Radiohead songs?" - ] - }, - { - "cell_type": "code", - "execution_count": 104, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
_idartist_namelyrical_densitynamenegvalencescaled_ldgloom
10eECFDnWy0RdjMmJ8NOeALRadiohead0.093389Feral0.4652160.7510.0000000.124500
2476dsq7Nt5mIFzvm5kIYNORyRadiohead0.67427215 Step0.8354880.8480.2127830.148717
27477SPrxY5gn6VPrKPGrfLnMRadiohead0.438813There, There0.8355410.7260.1265320.172527
2696CVdTDYoDbwYj4xn8u5GhaRadiohead0.452573Backdrifts0.8215320.7240.1315730.173889
25515ea10YpJIl3mJq75yzqsDRadiohead0.952216Jigsaw Falling Into Place0.7572250.8180.3145970.181482
2636P67UTTr5qN7XYSSlj0n6XRadiohead0.503609Paperbag Writer0.7546800.7040.1502680.182462
2983OsUjkcv1C1v5udFhgRSFgRadiohead0.329999Airbag0.6423480.6420.0866730.191323
30453aFGAl0Vebwp2bo8wtdWRRadiohead2.019892Fitter Happier0.4468410.7280.7056970.197693
2643STByesnbcQatiGHgwi1TvRadiohead0.622541I Am a Wicked Child0.7637060.6880.1938340.199778
2363pcCifdPTc2BbqmWpEhtUdRadiohead0.439692Burn the Witch0.5826020.6250.1268540.200668
\n", - "
" - ], - "text/plain": [ - " _id artist_name lyrical_density \\\n", - "1 0eECFDnWy0RdjMmJ8NOeAL Radiohead 0.093389 \n", - "247 6dsq7Nt5mIFzvm5kIYNORy Radiohead 0.674272 \n", - "274 77SPrxY5gn6VPrKPGrfLnM Radiohead 0.438813 \n", - "269 6CVdTDYoDbwYj4xn8u5Gha Radiohead 0.452573 \n", - "255 15ea10YpJIl3mJq75yzqsD Radiohead 0.952216 \n", - "263 6P67UTTr5qN7XYSSlj0n6X Radiohead 0.503609 \n", - "298 3OsUjkcv1C1v5udFhgRSFg Radiohead 0.329999 \n", - "304 53aFGAl0Vebwp2bo8wtdWR Radiohead 2.019892 \n", - "264 3STByesnbcQatiGHgwi1Tv Radiohead 0.622541 \n", - "236 3pcCifdPTc2BbqmWpEhtUd Radiohead 0.439692 \n", - "\n", - " name neg valence scaled_ld gloom \n", - "1 Feral 0.465216 0.751 0.000000 0.124500 \n", - "247 15 Step 0.835488 0.848 0.212783 0.148717 \n", - "274 There, There 0.835541 0.726 0.126532 0.172527 \n", - "269 Backdrifts 0.821532 0.724 0.131573 0.173889 \n", - "255 Jigsaw Falling Into Place 0.757225 0.818 0.314597 0.181482 \n", - "263 Paperbag Writer 0.754680 0.704 0.150268 0.182462 \n", - "298 Airbag 0.642348 0.642 0.086673 0.191323 \n", - "304 Fitter Happier 0.446841 0.728 0.705697 0.197693 \n", - "264 I Am a Wicked Child 0.763706 0.688 0.193834 0.199778 \n", - "236 Burn the Witch 0.582602 0.625 0.126854 0.200668 " - ] - }, - "execution_count": 104, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "results[results['artist_name'] == 'Radiohead'].sort_values('gloom', ascending=True).head(10)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Contrasting songs\n", - "Going back to the scatter plot of negativity against valence, there are some songs with a high valence (i.e. sound happy) with a high negativity (i.e. sad words). This seems unusual. What songs are they?\n", - "\n", - "* [Top](#top)\n", - "\n", - "These are the songs I mean:" - ] - }, - { - "cell_type": "code", - "execution_count": 105, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "image/png": "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\n", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "plt.scatter(beatles_df['valence'], beatles_df['neg'], color='blue')\n", - "plt.scatter(radiohead_df['valence'], radiohead_df['neg'], color='red')\n", - "plt.xlabel('Valence')\n", - "plt.ylabel('Sentiment negativity')\n", - "\n", - "ax = plt.gca()\n", - "circ = plt.Circle((0.9, 0.8), radius=0.15, color='g', fill=False, linewidth=5)\n", - "ax.add_patch(circ)\n", - "\n", - "plt.show()" - ] - }, - { - "cell_type": "code", - "execution_count": 106, - "metadata": { - "collapsed": false, - "scrolled": true - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
_idartist_namelyrical_densitynamenegvalencescaled_ldgloom
237pQAq14Z73YUFMtxCyt0bGThe Beatles1.516618Can't Buy Me Love - Remastered 20150.7383870.9570.5213430.202768
281dfuJYDSIc41cw5RPsaCF1The Beatles1.651824Help! - Remastered 20150.8239150.8100.5708700.275942
340TRkjwb4uY3CHb5zhr9bBdThe Beatles1.628703Eleanor Rigby - Remastered 20150.8032320.8450.5624010.259783
4657n1teNb2tkcfiYagPmUWrThe Beatles0.885556Two Of Us - Remastered 20090.7110800.9230.2901790.130498
544311wT21Et0q3vepFwXjTuThe Beatles0.718556One After 909 - Remastered 20090.8657370.9040.2290050.136137
6867jL5ZAf8hNsRZrfBHNuBTThe Beatles1.277562Mean Mr Mustard - Remastered 20090.7006310.9670.4337740.161301
933OSi8ehmSWLTD5KatlzX8rThe Beatles0.733338Don't Pass Me By - Remastered 20090.8578310.9480.2344200.120451
944zExFATo8xg8qFfR4H1ZAnThe Beatles1.364176Why Don't We Do It In The Road? - Remastered 20090.7932420.9510.4655020.197723
13477f3aNeabAbOaSB32Sd5QEThe Beatles1.620131Eleanor Rigby - Remastered 20090.8032320.8210.5592610.264054
16867tvBtAhsfHBFpuqJ13ZUqThe Beatles0.924368Act Naturally - Remastered 20090.7226190.9460.3043960.128762
1701k9tpndMDRwLkNt67Dlg02The Beatles1.408837You Like Me Too Much - Remastered 20090.7734060.9000.4818620.212244
17267VdmhC89bZ6yK2XRys0lAThe Beatles1.087652I've Just Seen A Face - Remastered 20090.8052040.9170.3642080.173016
175009oOX7tpCPLzRL9AFiBS8The Beatles1.242035No Reply - Remastered 20090.7819420.8730.4207610.201287
1765zs8tSd7ZvwBgr4NUmF5zMThe Beatles0.959827I'm A Loser - Remastered 20090.8121140.8430.3173850.182462
1773mKtIanz0poYgLnRxZrfBOThe Beatles1.501767Baby's In Black - Remastered 20090.8200880.8620.5159030.244945
18533BGv6xzxHh5E7v3r1hJLLThe Beatles1.314197I Don't Want To Spoil The Party - Remastered 20090.8178010.8960.4471940.211604
1862YHzfuuDFXzoELxJnqM4atThe Beatles0.626500What You're Doing - Remastered 20090.7519890.8310.1952840.141424
1873EbGioQyKyf4dycuiPOg3kThe Beatles0.438356Everybody's Trying To Be My Baby - Remastered ...0.8669850.9370.1263650.082298
18869d54YOS8TOQiUYjX57XeAThe Beatles1.601816A Hard Day's Night - Remastered 20090.8333090.8020.5525520.274521
1934G5YzDD1nCUPwt5y1LQovFThe Beatles0.901370Tell Me Why - Remastered 20090.8499700.8190.2959720.189498
1947KmRz1oKEwgj9qpfn72OfOThe Beatles1.509096Can't Buy Me Love - Remastered 20090.7383870.8540.5185880.226602
1963Aqo28W4LLAolYpN3duVJlThe Beatles1.349222I'll Cry Instead - Remastered 20090.8637720.9610.4600240.209207
1994dyALlslhDEzwSEr7GteXaThe Beatles1.246021You Can't Do That - Remastered 20090.7274560.9620.4222210.164551
2085tNjuWwp6FxuWCrKQAMBTjThe Beatles0.959614It Won't Be Long - Remastered 20090.7833880.8680.3173070.169345
2091JPTCjLHEtqofOFmHsfiAHThe Beatles1.036117All I've Got To Do - Remastered 20090.7211910.8760.3453310.165114
2110lLeGCsQlAbEjQBPQQxQ1bThe Beatles0.998293Don't Bother Me - Remastered 20090.8248790.9210.3314760.163120
21255nE9EppLFdb0I1HBg2O2mThe Beatles0.695489Little Child - Remastered 20090.8488860.8780.2205550.141159
2145IIBY9M2GxHcVja6DA6wsFThe Beatles1.362221Please Mister Postman - Remastered 20090.8152010.9620.4647860.199616
2166xJSJpO6HJwHhu7UaIc8qRThe Beatles0.585885Hold Me Tight - Remastered 20090.8048700.9630.1804060.087764
2193Ltllbv2lbpjP6NgPMNiFgThe Beatles1.101133Devil In Her Heart - Remastered 20090.7792200.9640.3691470.155179
2205VsIn7QQqcacePIb0vO0owThe Beatles0.465201Not A Second Time - Remastered 20090.7738050.9610.1361980.069540
22333OXG0RTtw0ycGza22tnF6The Beatles1.022599Misery - Remastered 20090.8142300.9020.3403790.170895
2476dsq7Nt5mIFzvm5kIYNORyRadiohead0.67427215 Step0.8354880.8480.2127830.148717
25515ea10YpJIl3mJq75yzqsDRadiohead0.952216Jigsaw Falling Into Place0.7572250.8180.3145970.181482
\n", - "
" - ], - "text/plain": [ - " _id artist_name lyrical_density \\\n", - "23 7pQAq14Z73YUFMtxCyt0bG The Beatles 1.516618 \n", - "28 1dfuJYDSIc41cw5RPsaCF1 The Beatles 1.651824 \n", - "34 0TRkjwb4uY3CHb5zhr9bBd The Beatles 1.628703 \n", - "46 57n1teNb2tkcfiYagPmUWr The Beatles 0.885556 \n", - "54 4311wT21Et0q3vepFwXjTu The Beatles 0.718556 \n", - "68 67jL5ZAf8hNsRZrfBHNuBT The Beatles 1.277562 \n", - "93 3OSi8ehmSWLTD5KatlzX8r The Beatles 0.733338 \n", - "94 4zExFATo8xg8qFfR4H1ZAn The Beatles 1.364176 \n", - "134 77f3aNeabAbOaSB32Sd5QE The Beatles 1.620131 \n", - "168 67tvBtAhsfHBFpuqJ13ZUq The Beatles 0.924368 \n", - "170 1k9tpndMDRwLkNt67Dlg02 The Beatles 1.408837 \n", - "172 67VdmhC89bZ6yK2XRys0lA The Beatles 1.087652 \n", - "175 009oOX7tpCPLzRL9AFiBS8 The Beatles 1.242035 \n", - "176 5zs8tSd7ZvwBgr4NUmF5zM The Beatles 0.959827 \n", - "177 3mKtIanz0poYgLnRxZrfBO The Beatles 1.501767 \n", - "185 33BGv6xzxHh5E7v3r1hJLL The Beatles 1.314197 \n", - "186 2YHzfuuDFXzoELxJnqM4at The Beatles 0.626500 \n", - "187 3EbGioQyKyf4dycuiPOg3k The Beatles 0.438356 \n", - "188 69d54YOS8TOQiUYjX57XeA The Beatles 1.601816 \n", - "193 4G5YzDD1nCUPwt5y1LQovF The Beatles 0.901370 \n", - "194 7KmRz1oKEwgj9qpfn72OfO The Beatles 1.509096 \n", - "196 3Aqo28W4LLAolYpN3duVJl The Beatles 1.349222 \n", - "199 4dyALlslhDEzwSEr7GteXa The Beatles 1.246021 \n", - "208 5tNjuWwp6FxuWCrKQAMBTj The Beatles 0.959614 \n", - "209 1JPTCjLHEtqofOFmHsfiAH The Beatles 1.036117 \n", - "211 0lLeGCsQlAbEjQBPQQxQ1b The Beatles 0.998293 \n", - "212 55nE9EppLFdb0I1HBg2O2m The Beatles 0.695489 \n", - "214 5IIBY9M2GxHcVja6DA6wsF The Beatles 1.362221 \n", - "216 6xJSJpO6HJwHhu7UaIc8qR The Beatles 0.585885 \n", - "219 3Ltllbv2lbpjP6NgPMNiFg The Beatles 1.101133 \n", - "220 5VsIn7QQqcacePIb0vO0ow The Beatles 0.465201 \n", - "223 33OXG0RTtw0ycGza22tnF6 The Beatles 1.022599 \n", - "247 6dsq7Nt5mIFzvm5kIYNORy Radiohead 0.674272 \n", - "255 15ea10YpJIl3mJq75yzqsD Radiohead 0.952216 \n", - "\n", - " name neg valence \\\n", - "23 Can't Buy Me Love - Remastered 2015 0.738387 0.957 \n", - "28 Help! - Remastered 2015 0.823915 0.810 \n", - "34 Eleanor Rigby - Remastered 2015 0.803232 0.845 \n", - "46 Two Of Us - Remastered 2009 0.711080 0.923 \n", - "54 One After 909 - Remastered 2009 0.865737 0.904 \n", - "68 Mean Mr Mustard - Remastered 2009 0.700631 0.967 \n", - "93 Don't Pass Me By - Remastered 2009 0.857831 0.948 \n", - "94 Why Don't We Do It In The Road? - Remastered 2009 0.793242 0.951 \n", - "134 Eleanor Rigby - Remastered 2009 0.803232 0.821 \n", - "168 Act Naturally - Remastered 2009 0.722619 0.946 \n", - "170 You Like Me Too Much - Remastered 2009 0.773406 0.900 \n", - "172 I've Just Seen A Face - Remastered 2009 0.805204 0.917 \n", - "175 No Reply - Remastered 2009 0.781942 0.873 \n", - "176 I'm A Loser - Remastered 2009 0.812114 0.843 \n", - "177 Baby's In Black - Remastered 2009 0.820088 0.862 \n", - "185 I Don't Want To Spoil The Party - Remastered 2009 0.817801 0.896 \n", - "186 What You're Doing - Remastered 2009 0.751989 0.831 \n", - "187 Everybody's Trying To Be My Baby - Remastered ... 0.866985 0.937 \n", - "188 A Hard Day's Night - Remastered 2009 0.833309 0.802 \n", - "193 Tell Me Why - Remastered 2009 0.849970 0.819 \n", - "194 Can't Buy Me Love - Remastered 2009 0.738387 0.854 \n", - "196 I'll Cry Instead - Remastered 2009 0.863772 0.961 \n", - "199 You Can't Do That - Remastered 2009 0.727456 0.962 \n", - "208 It Won't Be Long - Remastered 2009 0.783388 0.868 \n", - "209 All I've Got To Do - Remastered 2009 0.721191 0.876 \n", - "211 Don't Bother Me - Remastered 2009 0.824879 0.921 \n", - "212 Little Child - Remastered 2009 0.848886 0.878 \n", - "214 Please Mister Postman - Remastered 2009 0.815201 0.962 \n", - "216 Hold Me Tight - Remastered 2009 0.804870 0.963 \n", - "219 Devil In Her Heart - Remastered 2009 0.779220 0.964 \n", - "220 Not A Second Time - Remastered 2009 0.773805 0.961 \n", - "223 Misery - Remastered 2009 0.814230 0.902 \n", - "247 15 Step 0.835488 0.848 \n", - "255 Jigsaw Falling Into Place 0.757225 0.818 \n", - "\n", - " scaled_ld gloom \n", - "23 0.521343 0.202768 \n", - "28 0.570870 0.275942 \n", - "34 0.562401 0.259783 \n", - "46 0.290179 0.130498 \n", - "54 0.229005 0.136137 \n", - "68 0.433774 0.161301 \n", - "93 0.234420 0.120451 \n", - "94 0.465502 0.197723 \n", - "134 0.559261 0.264054 \n", - "168 0.304396 0.128762 \n", - "170 0.481862 0.212244 \n", - "172 0.364208 0.173016 \n", - "175 0.420761 0.201287 \n", - "176 0.317385 0.182462 \n", - "177 0.515903 0.244945 \n", - "185 0.447194 0.211604 \n", - "186 0.195284 0.141424 \n", - "187 0.126365 0.082298 \n", - "188 0.552552 0.274521 \n", - "193 0.295972 0.189498 \n", - "194 0.518588 0.226602 \n", - "196 0.460024 0.209207 \n", - "199 0.422221 0.164551 \n", - "208 0.317307 0.169345 \n", - "209 0.345331 0.165114 \n", - "211 0.331476 0.163120 \n", - "212 0.220555 0.141159 \n", - "214 0.464786 0.199616 \n", - "216 0.180406 0.087764 \n", - "219 0.369147 0.155179 \n", - "220 0.136198 0.069540 \n", - "223 0.340379 0.170895 \n", - "247 0.212783 0.148717 \n", - "255 0.314597 0.181482 " - ] - }, - "execution_count": 106, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "results[(results['valence'] > 0.8) & (results['neg'] > 0.7)]" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "That's interesting. This list contains a lot of the Beatles' most well-known songs. Is there something in this?\n", - "\n", - "Let's define \"complexity\" as the product of valence and negativity, and see which are the most complext songs." - ] - }, - { - "cell_type": "code", - "execution_count": 107, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
_idartist_namelyrical_densitynamenegvalencescaled_ldgloomcomplexity
1963Aqo28W4LLAolYpN3duVJlThe Beatles1.349222I'll Cry Instead - Remastered 20090.8637720.9610.4600240.2092070.830085
933OSi8ehmSWLTD5KatlzX8rThe Beatles0.733338Don't Pass Me By - Remastered 20090.8578310.9480.2344200.1204510.813223
1873EbGioQyKyf4dycuiPOg3kThe Beatles0.438356Everybody's Trying To Be My Baby - Remastered ...0.8669850.9370.1263650.0822980.812365
2145IIBY9M2GxHcVja6DA6wsFThe Beatles1.362221Please Mister Postman - Remastered 20090.8152010.9620.4647860.1996160.784223
544311wT21Et0q3vepFwXjTuThe Beatles0.718556One After 909 - Remastered 20090.8657370.9040.2290050.1361370.782626
2166xJSJpO6HJwHhu7UaIc8qRThe Beatles0.585885Hold Me Tight - Remastered 20090.8048700.9630.1804060.0877640.775090
2110lLeGCsQlAbEjQBPQQxQ1bThe Beatles0.998293Don't Bother Me - Remastered 20090.8248790.9210.3314760.1631200.759713
944zExFATo8xg8qFfR4H1ZAnThe Beatles1.364176Why Don't We Do It In The Road? - Remastered 20090.7932420.9510.4655020.1977230.754373
2193Ltllbv2lbpjP6NgPMNiFgThe Beatles1.101133Devil In Her Heart - Remastered 20090.7792200.9640.3691470.1551790.751168
21255nE9EppLFdb0I1HBg2O2mThe Beatles0.695489Little Child - Remastered 20090.8488860.8780.2205550.1411590.745322
\n", - "
" - ], - "text/plain": [ - " _id artist_name lyrical_density \\\n", - "196 3Aqo28W4LLAolYpN3duVJl The Beatles 1.349222 \n", - "93 3OSi8ehmSWLTD5KatlzX8r The Beatles 0.733338 \n", - "187 3EbGioQyKyf4dycuiPOg3k The Beatles 0.438356 \n", - "214 5IIBY9M2GxHcVja6DA6wsF The Beatles 1.362221 \n", - "54 4311wT21Et0q3vepFwXjTu The Beatles 0.718556 \n", - "216 6xJSJpO6HJwHhu7UaIc8qR The Beatles 0.585885 \n", - "211 0lLeGCsQlAbEjQBPQQxQ1b The Beatles 0.998293 \n", - "94 4zExFATo8xg8qFfR4H1ZAn The Beatles 1.364176 \n", - "219 3Ltllbv2lbpjP6NgPMNiFg The Beatles 1.101133 \n", - "212 55nE9EppLFdb0I1HBg2O2m The Beatles 0.695489 \n", - "\n", - " name neg valence \\\n", - "196 I'll Cry Instead - Remastered 2009 0.863772 0.961 \n", - "93 Don't Pass Me By - Remastered 2009 0.857831 0.948 \n", - "187 Everybody's Trying To Be My Baby - Remastered ... 0.866985 0.937 \n", - "214 Please Mister Postman - Remastered 2009 0.815201 0.962 \n", - "54 One After 909 - Remastered 2009 0.865737 0.904 \n", - "216 Hold Me Tight - Remastered 2009 0.804870 0.963 \n", - "211 Don't Bother Me - Remastered 2009 0.824879 0.921 \n", - "94 Why Don't We Do It In The Road? - Remastered 2009 0.793242 0.951 \n", - "219 Devil In Her Heart - Remastered 2009 0.779220 0.964 \n", - "212 Little Child - Remastered 2009 0.848886 0.878 \n", - "\n", - " scaled_ld gloom complexity \n", - "196 0.460024 0.209207 0.830085 \n", - "93 0.234420 0.120451 0.813223 \n", - "187 0.126365 0.082298 0.812365 \n", - "214 0.464786 0.199616 0.784223 \n", - "54 0.229005 0.136137 0.782626 \n", - "216 0.180406 0.087764 0.775090 \n", - "211 0.331476 0.163120 0.759713 \n", - "94 0.465502 0.197723 0.754373 \n", - "219 0.369147 0.155179 0.751168 \n", - "212 0.220555 0.141159 0.745322 " - ] - }, - "execution_count": 107, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "results['complexity'] = results['valence'] * results['neg']\n", - "results.sort_values('complexity', ascending=False).head(10)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "There's possibly something in it. The most \"complex\" song has a very upbeat pop tune and very sad lyrics. The others are similarly interesting.\n", - "\n", - "What about the least \"complex\" songs?" - ] - }, - { - "cell_type": "code", - "execution_count": 108, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
_idartist_namelyrical_densitynamenegvalencescaled_ldgloomcomplexity
2436f6pEjgfTtuRROmJ4a7Gf3Radiohead0.393192The Numbers0.2920080.05450.1098210.4368660.015914
1460agoaPIy92gPZ6zRhqXarEThe Beatles0.634931Tomorrow Never Knows - Remastered 20090.3435990.05560.1983720.4126090.019104
24601ZpFhrMMqKPVCwyqXneVpRadiohead0.218723True Love Waits0.5322060.03780.0459110.4712290.020117
27253RYTfkLiyZuUZHwJC3WmmRadiohead0.276367We Suck Young Blood0.5353580.03780.0670270.4667950.020237
2970COiZ7ncho2yi4HotbzgPvRadiohead0.349157Motion Picture Soundtrack0.5768080.04250.0936900.4609160.024514
2453cual6JOG286qZJmCxKRAT2419RUXBFyM4PpmrLRdtqWbpRadiohead0.332577Tinker Tailor Soldier Sailor Rich Man Poor Man...0.4773220.05170.0876170.4535170.024678Kid A
30975YUnz58ajMo2VIIuUFvOV257dxKtc08dYeRVHt3p9CZJnRadiohead0.248061The Tourist0.6678640.04000.0566580.4717240.026715OK Computer
2685olWalQH1oVza5D6xJg4oX26500FEaUzn8lN9zWFyZG5C2Radiohead0.216752Sail To The Moon0.6057980.04580.0451890.4692280.027746The Bends
2563uxhyRdWVXp7GQvERQl6fA276400dnyeDyD2mIFHfkwHXNRadiohead0.382643Videotape0.6529620.04680.1059570.4606940.030559
1120ttMfoND7IQqFSMVOPkELCThe Beatles0.799772Blue Jay Way - Remastered 20090.8124900.03800.2587550.4616570.030875
\n", - "
" - ], - "text/plain": [ - " _id artist_name lyrical_density \\\n", - "243 6f6pEjgfTtuRROmJ4a7Gf3 Radiohead 0.393192 \n", - "146 0agoaPIy92gPZ6zRhqXarE The Beatles 0.634931 \n", - "246 01ZpFhrMMqKPVCwyqXneVp Radiohead 0.218723 \n", - "272 53RYTfkLiyZuUZHwJC3Wmm Radiohead 0.276367 \n", - "297 0COiZ7ncho2yi4HotbzgPv Radiohead 0.349157 \n", - "245 3cual6JOG286qZJmCxKRAT Radiohead 0.332577 \n", - "309 75YUnz58ajMo2VIIuUFvOV Radiohead 0.248061 \n", - "268 5olWalQH1oVza5D6xJg4oX Radiohead 0.216752 \n", - "256 3uxhyRdWVXp7GQvERQl6fA Radiohead 0.382643 \n", - "112 0ttMfoND7IQqFSMVOPkELC The Beatles 0.799772 \n", - "\n", - " name neg valence \\\n", - "243 The Numbers 0.292008 0.0545 \n", - "146 Tomorrow Never Knows - Remastered 2009 0.343599 0.0556 \n", - "246 True Love Waits 0.532206 0.0378 \n", - "272 We Suck Young Blood 0.535358 0.0378 \n", - "297 Motion Picture Soundtrack 0.576808 0.0425 \n", - "245 Tinker Tailor Soldier Sailor Rich Man Poor Man... 0.477322 0.0517 \n", - "309 The Tourist 0.667864 0.0400 \n", - "268 Sail To The Moon 0.605798 0.0458 \n", - "256 Videotape 0.652962 0.0468 \n", - "112 Blue Jay Way - Remastered 2009 0.812490 0.0380 \n", - "\n", - " scaled_ld gloom complexity \n", - "243 0.109821 0.436866 0.015914 \n", - "146 0.198372 0.412609 0.019104 \n", - "246 0.045911 0.471229 0.020117 \n", - "272 0.067027 0.466795 0.020237 \n", - "297 0.093690 0.460916 0.024514 \n", - "245 0.087617 0.453517 0.024678 \n", - "309 0.056658 0.471724 0.026715 \n", - "268 0.045189 0.469228 0.027746 \n", - "256 0.105957 0.460694 0.030559 \n", - "112 0.258755 0.461657 0.030875 " - ] - }, - "execution_count": 108, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "results.sort_values('complexity', ascending=True).head(10)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Interestingly, all of the \"complex\" songs are by The Beatles, while most of the least \"complex\" songs are by Radiohead. How true is that for all songs?" - ] - }, - { - "cell_type": "code", - "execution_count": 109, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 109, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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\nhfx/+y1eYdT8898AAAAASUVORK5CYII=\n", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "results[results['artist_name'] == 'The Beatles']['complexity'].hist(alpha=0.5, color='blue')\n", - "results[results['artist_name'] == 'Radiohead']['complexity'].hist(alpha=0.5, color='red')" - ] - }, - { - "cell_type": "code", - "execution_count": 110, - "metadata": { - "collapsed": false, - "scrolled": true - }, - "outputs": [], - "source": [ - "# Push the results back into the database\n", - "for row in results.itertuples():\n", - " tracks.update_one({'_id': row[1]}, {'$set': {'complexity': row.complexity}})" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Average gloom per album\n", - "How close can we easily get to the final plot at the end of the fitteR happieR post?\n", - "\n", - "First, we find average gloom per album.\n", - "\n", - "* [Top](#top)" - ] - }, - { - "cell_type": "code", - "execution_count": 111, - "metadata": { - "collapsed": false, - "scrolled": true - }, - "outputs": [ - { - "data": { - "text/plain": [ - "defaultdict(int,\n", - " {'03Qh833fEdVT30Pfs93ea6': 0.24623580565335343,\n", - " '0PYyrqs9NXtxPhf0CZkq2L': 0.23500175198141857,\n", - " '19K3IHYeVkUTjcBHGfbCOi': 0.22062175593822878,\n", - " '19RUXBFyM4PpmrLRdtqWbp': 0.3431302979758603,\n", - " '1DBkJIEoeHrTX4WCBQGcCi': 0.28205809775367074,\n", - " '1PULmKbHeOqlkIwcDMNwD4': 0.2284613266716491,\n", - " '1oW3v5Har9mvXnGk0x4fHm': 0.31375539654482865,\n", - " '2Pqkn9Dq2DFtdfkKAeqgMd': 0.2884934384506727,\n", - " '2pCqZLeavM2BMovJXsJEIV': 0.2186076399504195,\n", - " '36lJLPoPPOKNFddTAcirnc': 0.3821905201779125,\n", - " '3OdI6e43crvyAHhaqpxSyz': 0.2121785350158011,\n", - " '3nkEsxmIX0zRNXGAexaHAn': 0.15291310732486194,\n", - " '47bcKzmKgmMPHXNVOWpLiu': 0.17887638062333686,\n", - " '500FEaUzn8lN9zWFyZG5C2': 0.3411762104912795,\n", - " '5XfJmldgWzrc1AIdbBaVZn': 0.2506029443837317,\n", - " '5ju5Ouzan3QwXqQt1Tihbh': 0.22464122677656365,\n", - " '6400dnyeDyD2mIFHfkwHXN': 0.34531516064731943,\n", - " '6Eo5EkmdLvZrONzi046iC2': 0.25747581401566805,\n", - " '6P9yO0ukhOx3dvmhGKeYoC': 0.2684584850649835,\n", - " '6V9YnBmFjWmXCBaUVRCVXP': 0.37361679839282097,\n", - " '6vuykQgDLUCiZ7YggIpLM9': 0.3823911679811044,\n", - " '71Mwd9tntFQYUk4k2DwA0D': 0.21540669157651762,\n", - " '7BgGBZndAvDlKOcwe5rscZ': 0.1751092911259364,\n", - " '7dxKtc08dYeRVHt3p9CZJn': 0.35290227411012665,\n", - " '7eyQXxuf2nGj9d2367Gi5f': 0.3242377357445757,\n", - " '7gDXyW16byCQOgK965BRzn': 0.1772079427962885})" - ] - }, - "execution_count": 111, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "pipeline = [\n", - " {'$match': {'gloom': {'$exists': True}}},\n", - " {'$group': {'_id': '$album.id', 'avg_gloom': {'$avg': '$gloom'}}}]\n", - "album_glooms = collections.defaultdict(int, {a['_id']: a['avg_gloom'] for a in tracks.aggregate(pipeline)})\n", - "album_glooms" - ] - }, - { - "cell_type": "code", - "execution_count": 112, - "metadata": { - "collapsed": false, - "scrolled": true - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", "
_idartist_namenamerelease_dategloom
157gDXyW16byCQOgK965BRznThe BeatlesPlease Please Me (Remastered)1963-03-220.177208
143nkEsxmIX0zRNXGAexaHAnThe BeatlesWith The Beatles (Remastered)1963-11-220.152913
1271Mwd9tntFQYUk4k2DwA0DThe BeatlesA Hard Day's Night (Remastered)1964-07-100.215407
117BgGBZndAvDlKOcwe5rscZThe BeatlesBeatles For Sale (Remastered)1964-12-040.175109
1019K3IHYeVkUTjcBHGfbCOiThe BeatlesHelp! (Remastered)1965-08-060.220622
93OdI6e43crvyAHhaqpxSyzThe BeatlesRubber Soul (Remastered)1965-12-030.212179
80PYyrqs9NXtxPhf0CZkq2LThe BeatlesRevolver (Remastered)1966-08-050.235002
71PULmKbHeOqlkIwcDMNwD4The BeatlesSgt. Pepper's Lonely Hearts Club Band (Remaste...1967-06-010.228461Pablo Honey
66P9yO0ukhOx3dvmhGKeYoCThe BeatlesMagical Mystery Tour (Remastered)1967-11-270.268458284g9Jfls8z2nbQxj5PiXkiyThe Rolling StonesBlue & Lonesome
503Qh833fEdVT30Pfs93ea6The BeatlesThe Beatles (Remastered)1968-11-220.246236294fhWcu56Bbh5wALuTouFVWThe Rolling StonesHavana Moon (Live)
447bcKzmKgmMPHXNVOWpLiuThe BeatlesYellow Submarine (Remastered)1969-01-170.178876303PbRKFafwE7Of8e4dTee72The Rolling StonesTotally Stripped (Live)
32Pqkn9Dq2DFtdfkKAeqgMdThe BeatlesAbbey Road (Remastered)1969-09-260.288493315eTqRwTGKPBUiUuN1rFaXDThe Rolling StonesLive 1965: Music From Charlie Is My Darling (L...
22pCqZLeavM2BMovJXsJEIVThe BeatlesLet It Be (Remastered)1970-05-080.218608323CHu7qW160uqPZHW3TMZ1lThe Rolling StonesShine A Light
276400dnyeDyD2mIFHfkwHXNRadioheadPablo Honey1993-02-220.345315334FTHynKEtuP7eppERNfjyGThe Rolling StonesA Bigger Bang (2009 Re-Mastered)
26500FEaUzn8lN9zWFyZG5C2RadioheadThe Bends1995-03-280.3411763450UGtgNA5bq1c0BDjPfmbDThe Rolling StonesLive Licks
257dxKtc08dYeRVHt3p9CZJnRadioheadOK Computer1997-05-280.352902350ZGddnvcVzHVHfE3WW1tV5The Rolling StonesBridges To Babylon (2009 Re-Mastered)
2419RUXBFyM4PpmrLRdtqWbpRadioheadKid A2000-10-010.343130364M8Q1L9PZq0xK5tLUpO3jdThe Rolling StonesStripped
15ju5Ouzan3QwXqQt1TihbhThe Beatles1 (Remastered)2000-11-130.2246413762ZT16LY1phGM0O8x5qW1zThe Rolling StonesVoodoo Lounge (2009 Re-Mastered)
226svTt5o2lUgIrgYDKVmdnDRadioheadI Might Be Wrong2001-01-010.000000381W1UJulgICjFDyYIMUwRs7The Rolling StonesFlashpoint
236V9YnBmFjWmXCBaUVRCVXPRadioheadAmnesiac2001-03-120.3736173925mfHGJNQkluvIqedXHSx3The Rolling StonesSteel Wheels (2009 Re-Mastered)
211oW3v5Har9mvXnGk0x4fHmRadioheadHail To the Thief2003-01-010.313755401TpcI1LEFVhBvDPSTMPGFGThe Rolling StonesDirty Work
206Eo5EkmdLvZrONzi046iC2RadioheadCom Lag: 2+2=52004-03-240.257476411WSfNoPDPzgyKFN6OSYWUxThe Rolling StonesDirty Work (Remastered 2009)
1936lJLPoPPOKNFddTAcirncRadioheadIn Rainbows Disk 22007-01-010.38219142064eFGemsrDcMvgRZ0gqtwThe Rolling StonesUndercover (2009 Re-Mastered)
187eyQXxuf2nGj9d2367Gi5fRadioheadIn Rainbows2007-12-280.324238430hxrNynMDh5QeyALlf1CdSThe Rolling StonesStill Life
131DBkJIEoeHrTX4WCBQGcCiRadioheadThe King Of Limbs2011-02-180.282058441YvnuYGlblQ5vLnOhaZzpnThe Rolling StonesTattoo You (2009 Re-Mastered)
1747xaqCsJcYFWqD1gwujl1TRadioheadTKOL RMX 12345672011-10-100.000000452wZgoXS06wSdu9C0ZJOvlcThe Rolling StonesEmotional Rescue (2009 Re-Mastered)
166vuykQgDLUCiZ7YggIpLM9RadioheadA Moon Shaped Pool2016-05-080.3823914654sqbAXxR1jFfyXb1WvrHKThe Rolling StonesSome Girls
05XfJmldgWzrc1AIdbBaVZnThe BeatlesLive At The Hollywood Bowl2016-09-090.250603476FjXxl9VLURGuubdXUn2J3The Rolling StonesSome Girls (Deluxe Version)
\n", "
" ], "text/plain": [ - " _id artist_name \\\n", - "15 7gDXyW16byCQOgK965BRzn The Beatles \n", - "14 3nkEsxmIX0zRNXGAexaHAn The Beatles \n", - "12 71Mwd9tntFQYUk4k2DwA0D The Beatles \n", - "11 7BgGBZndAvDlKOcwe5rscZ The Beatles \n", - "10 19K3IHYeVkUTjcBHGfbCOi The Beatles \n", - "9 3OdI6e43crvyAHhaqpxSyz The Beatles \n", - "8 0PYyrqs9NXtxPhf0CZkq2L The Beatles \n", - "7 1PULmKbHeOqlkIwcDMNwD4 The Beatles \n", - "6 6P9yO0ukhOx3dvmhGKeYoC The Beatles \n", - "5 03Qh833fEdVT30Pfs93ea6 The Beatles \n", - "4 47bcKzmKgmMPHXNVOWpLiu The Beatles \n", - "3 2Pqkn9Dq2DFtdfkKAeqgMd The Beatles \n", - "2 2pCqZLeavM2BMovJXsJEIV The Beatles \n", - "27 6400dnyeDyD2mIFHfkwHXN Radiohead \n", - "26 500FEaUzn8lN9zWFyZG5C2 Radiohead \n", - "25 7dxKtc08dYeRVHt3p9CZJn Radiohead \n", - "24 19RUXBFyM4PpmrLRdtqWbp Radiohead \n", - "1 5ju5Ouzan3QwXqQt1Tihbh The Beatles \n", - "22 6svTt5o2lUgIrgYDKVmdnD Radiohead \n", - "23 6V9YnBmFjWmXCBaUVRCVXP Radiohead \n", - "21 1oW3v5Har9mvXnGk0x4fHm Radiohead \n", - "20 6Eo5EkmdLvZrONzi046iC2 Radiohead \n", - "19 36lJLPoPPOKNFddTAcirnc Radiohead \n", - "18 7eyQXxuf2nGj9d2367Gi5f Radiohead \n", - "13 1DBkJIEoeHrTX4WCBQGcCi Radiohead \n", - "17 47xaqCsJcYFWqD1gwujl1T Radiohead \n", - "16 6vuykQgDLUCiZ7YggIpLM9 Radiohead \n", - "0 5XfJmldgWzrc1AIdbBaVZn The Beatles \n", + " _id artist_name \\\n", + "0 5XfJmldgWzrc1AIdbBaVZn The Beatles \n", + "1 5ju5Ouzan3QwXqQt1Tihbh The Beatles \n", + "2 2pCqZLeavM2BMovJXsJEIV The Beatles \n", + "3 2Pqkn9Dq2DFtdfkKAeqgMd The Beatles \n", + "4 47bcKzmKgmMPHXNVOWpLiu The Beatles \n", + "5 03Qh833fEdVT30Pfs93ea6 The Beatles \n", + "6 6P9yO0ukhOx3dvmhGKeYoC The Beatles \n", + "7 1PULmKbHeOqlkIwcDMNwD4 The Beatles \n", + "8 0PYyrqs9NXtxPhf0CZkq2L The Beatles \n", + "9 3OdI6e43crvyAHhaqpxSyz The Beatles \n", + "10 19K3IHYeVkUTjcBHGfbCOi The Beatles \n", + "11 7BgGBZndAvDlKOcwe5rscZ The Beatles \n", + "12 71Mwd9tntFQYUk4k2DwA0D The Beatles \n", + "13 1DBkJIEoeHrTX4WCBQGcCi Radiohead \n", + "14 3nkEsxmIX0zRNXGAexaHAn The Beatles \n", + "15 7gDXyW16byCQOgK965BRzn The Beatles \n", + "16 6vuykQgDLUCiZ7YggIpLM9 Radiohead \n", + "17 47xaqCsJcYFWqD1gwujl1T Radiohead \n", + "18 7eyQXxuf2nGj9d2367Gi5f Radiohead \n", + "19 36lJLPoPPOKNFddTAcirnc Radiohead \n", + "20 6Eo5EkmdLvZrONzi046iC2 Radiohead \n", + "21 1oW3v5Har9mvXnGk0x4fHm Radiohead \n", + "22 6svTt5o2lUgIrgYDKVmdnD Radiohead \n", + "23 6V9YnBmFjWmXCBaUVRCVXP Radiohead \n", + "24 19RUXBFyM4PpmrLRdtqWbp Radiohead \n", + "25 7dxKtc08dYeRVHt3p9CZJn Radiohead \n", + "26 500FEaUzn8lN9zWFyZG5C2 Radiohead \n", + "27 6400dnyeDyD2mIFHfkwHXN Radiohead \n", + "28 4g9Jfls8z2nbQxj5PiXkiy The Rolling Stones \n", + "29 4fhWcu56Bbh5wALuTouFVW The Rolling Stones \n", + "30 3PbRKFafwE7Of8e4dTee72 The Rolling Stones \n", + "31 5eTqRwTGKPBUiUuN1rFaXD The Rolling Stones \n", + "32 3CHu7qW160uqPZHW3TMZ1l The Rolling Stones \n", + "33 4FTHynKEtuP7eppERNfjyG The Rolling Stones \n", + "34 50UGtgNA5bq1c0BDjPfmbD The Rolling Stones \n", + "35 0ZGddnvcVzHVHfE3WW1tV5 The Rolling Stones \n", + "36 4M8Q1L9PZq0xK5tLUpO3jd The Rolling Stones \n", + "37 62ZT16LY1phGM0O8x5qW1z The Rolling Stones \n", + "38 1W1UJulgICjFDyYIMUwRs7 The Rolling Stones \n", + "39 25mfHGJNQkluvIqedXHSx3 The Rolling Stones \n", + "40 1TpcI1LEFVhBvDPSTMPGFG The Rolling Stones \n", + "41 1WSfNoPDPzgyKFN6OSYWUx The Rolling Stones \n", + "42 064eFGemsrDcMvgRZ0gqtw The Rolling Stones \n", + "43 0hxrNynMDh5QeyALlf1CdS The Rolling Stones \n", + "44 1YvnuYGlblQ5vLnOhaZzpn The Rolling Stones \n", + "45 2wZgoXS06wSdu9C0ZJOvlc The Rolling Stones \n", + "46 54sqbAXxR1jFfyXb1WvrHK The Rolling Stones \n", + "47 6FjXxl9VLURGuubdXUn2J3 The Rolling Stones \n", "\n", - " name release_date gloom \n", - "15 Please Please Me (Remastered) 1963-03-22 0.177208 \n", - "14 With The Beatles (Remastered) 1963-11-22 0.152913 \n", - "12 A Hard Day's Night (Remastered) 1964-07-10 0.215407 \n", - "11 Beatles For Sale (Remastered) 1964-12-04 0.175109 \n", - "10 Help! (Remastered) 1965-08-06 0.220622 \n", - "9 Rubber Soul (Remastered) 1965-12-03 0.212179 \n", - "8 Revolver (Remastered) 1966-08-05 0.235002 \n", - "7 Sgt. Pepper's Lonely Hearts Club Band (Remaste... 1967-06-01 0.228461 \n", - "6 Magical Mystery Tour (Remastered) 1967-11-27 0.268458 \n", - "5 The Beatles (Remastered) 1968-11-22 0.246236 \n", - "4 Yellow Submarine (Remastered) 1969-01-17 0.178876 \n", - "3 Abbey Road (Remastered) 1969-09-26 0.288493 \n", - "2 Let It Be (Remastered) 1970-05-08 0.218608 \n", - "27 Pablo Honey 1993-02-22 0.345315 \n", - "26 The Bends 1995-03-28 0.341176 \n", - "25 OK Computer 1997-05-28 0.352902 \n", - "24 Kid A 2000-10-01 0.343130 \n", - "1 1 (Remastered) 2000-11-13 0.224641 \n", - "22 I Might Be Wrong 2001-01-01 0.000000 \n", - "23 Amnesiac 2001-03-12 0.373617 \n", - "21 Hail To the Thief 2003-01-01 0.313755 \n", - "20 Com Lag: 2+2=5 2004-03-24 0.257476 \n", - "19 In Rainbows Disk 2 2007-01-01 0.382191 \n", - "18 In Rainbows 2007-12-28 0.324238 \n", - "13 The King Of Limbs 2011-02-18 0.282058 \n", - "17 TKOL RMX 1234567 2011-10-10 0.000000 \n", - "16 A Moon Shaped Pool 2016-05-08 0.382391 \n", - "0 Live At The Hollywood Bowl 2016-09-09 0.250603 " - ] - }, - "execution_count": 112, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "albums_df = pd.DataFrame(list(albums.find({}, ['release_date', 'name', 'artist_name'])))\n", - "\n", - "def try_date(d):\n", - " try:\n", - " return datetime.strptime(d, \"%Y-%m-%d\")\n", - " except ValueError:\n", - " return datetime.strptime(d, \"%Y\")\n", - "\n", - "albums_df['release_date'] = albums_df['release_date'].apply(lambda d: try_date(d))\n", - "albums_df['gloom'] = albums_df['_id'].apply(lambda i: album_glooms[i])\n", - "albums_df.sort_values('release_date', inplace=True)\n", - "albums_df" - ] - }, - { - "cell_type": "code", - "execution_count": 113, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXcAAAD2CAYAAAAtW8c3AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAHR1JREFUeJzt3X+UXWV97/H3JwmBQkpBUZGEhCFBDKBI0BS6BE4KkbCW\nktaFGjpTQXCJpYlWyVrIbYeZaVavgrRCpdHeNleopAZFRIyFm3jDuV5/DEQCVSAhYTIZ8wN6Wwxg\ngsgQvvePvSc5OTkzc+bnOWfvz2uts7J/PPuc55lz8j37fPezn0cRgZmZZcuEWlfAzMxGn4O7mVkG\nObibmWWQg7uZWQY5uJuZZZCDu5lZBlUV3CUtkLRJ0mZJ1w9Q7jJJr0uaU7LtBklbJG2U9L7RqLSZ\nmQ1s0mAFJE0AbgcuBHYB6yV9NyI2lZWbAiwBOku2zQY+DMwGpgE/kHRKuHO9mdmYqubMfS6wJSJ6\nIqIXWAUsrFBuGXAT8NuSbQuBVRHxWkRsA7akz2dmZmOomuA+Fdhesr4j3bafpHcB0yLi3wY5dmf5\nsWZmNvoGTcsAqrBtf1pFkoAvAVcM9VgzMxsb1QT3HcD0kvVpJLn3Pr8LnA4U00B/PHC/pEurOBYA\nSQ74ZmbDEBGVTqIhIgZ8ABOBZ4AZwGTgcWD2AOUfAs5Kl08DHkuPa0qfRxWOiXrT1tZW6yrURF7b\nHZHftue13RGN3/Y0dlaMxYOeuUfEPkmLgTUkOfoVEbFRUgewPiJWlx9Cmo6JiKckfRN4CugFrk0r\nZGZmY6iatAwR8SBwatm2tn7K/mHZ+ueBzw+3gmZmNnS+Q7UfhUKh1lWoiby2G/Lb9ry2G7LddtVD\nlkSSszVmZkMkqd8LqlWlZczM6ll3dw+trXewc+frTJ06gWXLrqSpaUatqzXqyts5EJ+5m1lD6+7u\nYf78L9PV1QEcBexl5sw21q5dkqkAX6mdMKXfM3fn3M2sobW23lES8ACOoqurg9bWO2pYq9FXqZ0D\ncXA3s4a2c+frHBrojmLXrtdrUZ0xU7md/XPO3cyGpN7y20nueS8HB769nHBCts5dK7ezf865m1nV\n6jG/XY91GgtDzbk7uJtZ1VpaOli5cinlZ8nNzbdw110V72scF32/Jnbtep0TTqj9r4mxUt7OlSvb\nHdzNbOTmzWujWOyouH3dukO329gaqJ97tpJSZjamDuR9S2Uvv50FfkfMrGrLll3JzJltHAjwSX57\n2bIra1Ynq8xpGTMbkrzktxvBQGkZB3czswblnLuZWc44uJuZZVBVwV3SAkmbJG2WdH2F/ddI+rmk\nxyT9UNLb0+0zJL0saUP6WD7aDTAzs0MNmnOXNAHYDFxIMrn1emBRRGwqKTMlIvakyx8gmU7vEkkz\ngO9FxDsHeQ3n3M1GSb0ND2BjZ6Tjuc8FtkRET/pkq4CFwP7g3hfYU1OA0hF7Ks/MbWajrtIt6p2d\n2bsV3wZXTVpmKrC9ZH1Huu0gkq6V9AzwBeBTJbtOkvSopIckvXdEtTWzAeVl+FsbXDVn7pXOvA/J\noUTEcmC5pEVAK3Al8CwwPSJ2S5oD3CfptLIzfbNcGI90SV6Gv7XBVRPcdwDTS9ankeTe+3M38FWA\niHgVeDVd3iCpC3gbsKH8oPb29v3LhUIh0xPXWv6MV7pkrIa/dR6/PhSLRYrFYnWFI2LABzAReAaY\nAUwGHgdml5WZVbL8AeCRdPk4YEK6fDJJeueYCq8RZlnW3NwesCcgSh57orm5fcDjtm7dFs3N7VEo\n3BjNze2xdeu2QcvPnHldyWvtiZkzrxv0uPF+ThsdaeysGLsHPXOPiH2SFgNrSHL0KyJio6QOYH1E\nrAYWS7qI5Cx9N3BFevj5wF9L6gX2AddExAvVfe2YZcdw0iXDOdtvaprB2rVLaG29pWR4gJH9Oug/\nj1/bYX5tYFXNxBQRDwKnlm1rK1n+i36Ouxe4dyQVNMuC4aRLhhtUm5pmjGrQdR6/MfkOVbNxMJzR\nFOslqHqY38bkOVTNxsFw0iX1MjfosmVX0tnZdsg0dsuWLRnXetjQeFRIszpVT3ODepjf+uQhf80a\nlIOqDcTB3cwsgzyeu5lZzviCqpllVp7vrHVaxswyqZ4uSI8Vp2XMLHfyPkKmg7uZZVK93ARWKw7u\nZpZJeb+z1jl3MxtTtbqomfecu4O7mY2ZWgfYrN8E5uBuZjXR0tLBypVLKR8fp7nZwwWPBveWMbOa\nyPtFzVpycDezMZP3i5q15L+wmY2Z4Yxjb6Ojqpy7pAXArRyYZu+msv3XAH9OMpXer4FPRMSmdN8N\nwFXAa8CnI2JNhed3zt0so7J+UbOWRnRBVdIEYDNwIbALWA8s6gveaZkpEbEnXf4AcG1EXCLpNGAl\n8B5gGvAD4JTySO7gbmY2dCO9oDoX2BIRPRHRC6wCFpYW6AvsqSlA39WSS4FVEfFaRGwDtqTPZ2Zm\nY6iaUSGnAttL1ndQIUBLuhb4LHAY8Iclx/60pNjOdJuZmY2haoJ7pVP+Q3IoEbEcWC5pEdAKXFnt\nsQDt7e37lwuFAoVCoYqqmZnlR7FYpFgsVlW2mpz7OUB7RCxI1z8HRPlF1ZLyAnZHxDHlZSU9CLRF\nxMNlxzjnbmY2RCPNua8HZkmaIWkysAi4v+wFZpWsvp/kAixpuUWSJktqAmYBjwy1AWZmNjSDpmUi\nYp+kxcAaDnSF3CipA1gfEauBxZIuAl4FdgNXpMc+JembwFNAL0kvmoY6Rc/zTC5m1rg8tswAaj3o\nkZnZQDy2zDDlfSYXM2tcniB7AB70yMz6NFqK1sF9AAcGPTp4uFIPemSWL5VStJ2d9Z2idZQagAc9\nMjNozBStz9wH0NQ0g7Vrl9DaekvJoEf1+01tZmOjEVO0Du6DaGqa4RljzHKuEVO09VszM7M60Ygp\nWvdzNzOrQj2OS+8Jsss0WpcmM7NKHNxL+K5TM8sK36FaohG7NJmZDVXugnsjdmkyMxuq3AX3A12a\nStV3lyYzs6HKXURrxC5NZmZDlbsLqlCfXZrM8sg910bGvWXMrO6459rIjbi3jKQFkjZJ2izp+gr7\nPyPpSUmPS1or6cSSffskbZD0mKT7ht8MM8sS91wbW4OOLSNpAnA7cCGwC1gv6bsRsamk2Abg7Ih4\nRdIngS+SzLUKsDci5oxyvc2swbnn2vD1pbMGUs2Z+1xgS0T0REQvsApYWFogIv5PRLySrnYCU0t2\nV/zJYGb55p5rw9OXzlq5cumA5ar5K04Ftpes7+Dg4F3uauCBkvXDJT0i6SeSFvZ3UD3o7u6hpaWD\nefPaaGnpoLu7p9ZVMsss91wbnkPTWZVVM+RvpTPvilc/JbUAZwMXlGyeHhHPSWoC1kn6eUR0lx/b\n3t6+f7lQKFAoFKqo2uhpxJlWzBqZ50sYumKxyI9+tI5+QvBBBu0tI+kcoD0iFqTrnwMiIm4qK3cR\ncBtwfkQ8389zfQ34XkTcW7a95r1lWlo60p85B4/X3Nx8i8dzN7O6cXCsGllvmfXALEkzJE0muVB6\nf2kBSWcBXwUuLQ3sko5Jj0HSccAfAE8Np0FjzRd3zKwRHJrOqmzQ4B4R+4DFwBrgSWBVRGyU1CHp\n/Wmxm0ki47fKujzOBn4m6THgfwOfL+tlUzd8ccfMGkFfOqu5+ZYBy/kmppRvqDCzRpO7O1SHe0uz\nhyUws0aSq+DuM3Azy4tcTdbhW5rNzKrr595Q+uv10tW1m5aWDo8+Z2a5kLngfqDXS2mA38gTT7xE\nZ+ff4BuUzCwPcpFznzLlcvbs+Qa+Qcls+Dz2ev0ZKOeeuTP3Src0d3XNprPTNyiZDZeH52g8DXtB\ndaBBvpqaZnDXXW2sW9fBXXe1MXPmkfgGJbPhc0eFxtOQZ+5DPYtYtuxKOjvbDukeuWzZkmG9tn+a\nWt54eI7G05DBvf+ziMo59NEafc4/TS2vKndU8K/fuhYRNX8k1ahs69Zt0dzcHoXCjdHc3B5bt26L\nQuHGgDjkMW/ejf0+z2hobm4P2FP2unuiubl9TF/XrNa2bt0WM2deV/L53xMzZ14XW7duq3XVci2N\nnRXjal2fufd3pnz66eLAWUQPcAfQS3f3Rrq7e8bsLNo/TS2vPPZ646nr4N5f+uWMM/6KmTPb6Oq6\nGlgBJGW2bdvL/PljlybxT1PLs76OCtYY6joq9Xem/NJLR7N27RJOOumv6AvsffvG8gq+pwUzs0ZR\n12fuA50pNzXN4KSTzmDbtvFLk/inqZk1iroO7oN1YaxFmsQ/Tc2sEVQ1/ICkBcCtJGmcFXHo/Kmf\nAT4O9AL/CVwVEdvTfVcAf0kyo+vfRMS/VHj+6K8eA42x7uF9zSzPRjSeu6QJwGbgQmAXyZyqi6Jk\nujxJFwAPR8Qrkj4JFCJikaRjgZ8BcwABjwJzIuLFstfoN7gPxhNsmFlejTS4nwO0RcQl6frnSPpW\n3tRP+XcBX46I8yQtAi6IiD9L930FKEbE3WXHDDu4m5nl1Ugn65gKbC9Z35Fu68/VwAP9HLtzkGPN\nzGwUVHNBtdK3QsXTbEktwNnABUM91szMRk81wX0HML1kfRpJ7v0gki4CbgDOj4jekmMLZcc+VOlF\n2tvb9y8XCgUKhUKlYmZmuVUsFikWi1WVrSbnPhF4muSC6rPAI8DlEbGxpMxZwLeAiyOiq2R76QXV\nCeny2RHxQtlrOOduZjZEI5qsIyL2SVoMrOFAV8iNkjqA9RGxGriZpC/ityQJ6ImIP4qI3ZKWkQT1\nADrKA7uZmY2+zE2zZ2aWFyPtLWNmZg3Gwd3MLIMc3M3MMqiuBw6rBc+RamZZUDcXVJub22seSD0Q\nmZk1khGNLTMeJAXsGTCQjscZdUtLBytXLqV8COHm5soTb5uZ1dKI+rmPn75ZlA4NpP3NpTraZ9Se\nI9XMsqLOLqhWDqT9zaU62tPpHZj8o5TnSDWzxlNnUatyIB2vM2rPkWpmWVFHaZmDp9ArNV7T6XmO\nVDPLirq5oDpQbxn3YjEzO1RD9JYZrB6eTs/M7GCZCO5mZnYwDxxmZpYzDu5mZhnk4G5mlkFVBXdJ\nCyRtkrRZ0vUV9p8n6VFJvZI+WLZvn6QNkh6TdN9gr9Xd3UNLSwfz5rXR0tJBd3dP9a0xMzOgujlU\nJwCbSeZQ3QWsBxZFxKaSMtOBo4GlwP0RcW/Jvpci4uhBXiMiwl0ezcyGYKQXVOcCWyKiJyJ6gVXA\nwtICEfHLiHiCZJ7UQ16/2oqO1zADZmZZV01wnwpsL1nfkW6r1uGSHpH0E0kLByrogbvMzEZHNcMP\nVDrzHkqn9OkR8ZykJmCdpJ9HRHelguM1zICZWdZVE9x3ANNL1qeR5N6rEhHPpf92SyoCZwGHBPf2\n9nbe+MYXOPbY+eze3QpcwkDjzZiZ5U2xWKRYLFZVtpoLqhOBp0kuqD4LPAJcHhEbK5T9GrA6Ir6d\nrh8DvBwRr0o6DvgxsLD0Ymxabv8dqh5mwMysOiMefkDSAuA2khz9ioj4gqQOYH1ErJb0buA7wDHA\nK8BzEfEOSecC/wjsS4/9UkTcUeH5PfyAmdkQeWwZM7MM8tgyZmY54+BuZpZBDu5mZhnk4G5mlkEO\n7mZmGeTgbmaWQQ7uZmYZ5OBuZpZBDu5mZhnk4G5mlkEO7mZmGeTgbmaWQQ7uZmYZ5OBuZpZBDu5m\nZhnk4G5mlkFVBXdJCyRtkrRZ0vUV9p8n6VFJvZI+WLbvivS4pyV9dLQqbmZm/atmDtUJwGaSOVR3\nAeuBRaXzoEqaDhwNLAXuj4h70+3HAj8D5gACHgXmRMSLZa/hmZjMzIZopDMxzQW2RERPRPQCq4CF\npQUi4pcR8QRQHqEvBtZExIsR8QKwBlgw5BaYmdmQVBPcpwLbS9Z3pNuqUX7sziEca2Zmw1RNcK90\nyl9tDmUkx5qZ2TBNqqLMDmB6yfo0ktx7NXYAhbJjH6pUsL29ff9yoVCgUChUKmZmllvFYpFisVhV\n2WouqE4Enia5oPos8AhweURsrFD2a8DqiPh2ul56QXVCunx2mn8vPc4XVM3MhmhEF1QjYh+wmORi\n6JPAqojYKKlD0vvTF3i3pO3AZcBXJf0iPXY3sIwkqD8MdJQHdjMzG32DnrmPSyV85m5mNmQj7Qpp\nZmYNxsHdzCyDHNzNzDLIwd3MLIMc3M3MMsjB3cwsgxzczcwyyMHdzCyDHNzNzDLIwd3MLIMc3M3M\nMsjB3cwsgxzczcwyyMHdzCyDHNzNzDLIwd3MLIMc3M3MMqiq4C5pgaRNkjZLur7C/smSVknaIumn\nkqan22dIelnShvSxfLQbYGZmh5o0WAFJE4DbSSbI3gWsl/TdiNhUUuxq4FcRcYqkjwA3A4vSfc9E\nxJxRrreZmQ2gmjP3ucCWiOiJiF5gFbCwrMxC4M50+R6SL4I+Fef3MzOzsVNNcJ8KbC9Z35Fuq1gm\nIvYBL0h6Q7rvJEmPSnpI0ntHWmEzMxvcoGkZKp95xyBllJZ5FpgeEbslzQHuk3RaROwpf8L29vb9\ny4VCgUKhUEXVzMzyo1gsUiwWqyqriPI4XVZAOgdoj4gF6frngIiIm0rKPJCWeVjSRODZiHhzhed6\nCLguIjaUbY/B6mFmZgeTRERUTH1Xk5ZZD8xKe75MJrlQen9Zme8BV6TLHwLWpS98XHpBFkknA7OA\nrUNvgpmZDcWgaZmI2CdpMbCG5MtgRURslNQBrI+I1cAK4OuStgDPc6CnzPnAX0vqBfYB10TEC2PR\nEDMzO2DQtMy4VMJpGTOzIRtpWsbMzBqMg7uZWQY5uJuZZZCDu5lZBjm4m5llkIO7mVkGObibmWWQ\ng7uZWQY5uJuZZZCDu5lZBjm4m5llkIO7mVkGObibmWWQg7uZWQY5uJuZZZCDu5lZBlUV3CUtkLRJ\n0mZJ11fYP1nSKklbJP1U0vSSfTek2zdKet9oVn4sVTsJbdbktd2Q37bntd2Q7bYPGtzTOVBvBy4G\nTgcul/T2smJXA7+KiFOAW4Gb02NPAz4MzAYuAZZLqjhrSL3J8ps+kLy2G/Lb9qG0u7u7h5aWDubN\na6OlpYPu7p6xq9g4GMl7Xu9/i0HnUAXmAlsiogdA0ipgIbCppMxCoC1dvgf4crp8KbAqIl4DtqVz\nrM4FHh6FupvZOOru7mH+/C/T1dUBHAXspbOzjbVrl9DUNKPW1RtXjfC3qCYtMxXYXrK+I91WsUxE\n7ANelPSGCsfurHCsmTWA1tY7SoIZwFF0dXXQ2npHDWtVGw3xt4iIAR/AZcD/KFlvAW4rK/MEcELJ\n+hbgWJJ0zp+UbP9n4I8rvEb44Ycffvgx9Ed/sbuatMwOYHrJ+jRgV1mZ7cCJwC5JE4Hfi4jdknak\n2wc6tt/Zu83MbHiqScusB2ZJmiFpMrAIuL+szPeAK9LlDwHr0uX7gUVpb5omYBbwyMirbWZmAxn0\nzD0i9klaDKwh+TJYEREbJXUA6yNiNbAC+Hp6wfR5ki8AIuIpSd8EngJ6gWsjzcOYmdnYkWOtmVn2\n5P4O1Ubpdz/a8truvMvz+563tucyuEs6TdL5kF5qzom8thtA0inpTXW5k9f3XdK5kv5e0pWQr7ZD\nztIykg4j6Z55DrCZ5OLuuoh4VNKEiHi9phUcI3ltN4Ckw0na/vtAN/B94IGI2C5JWf4Pn/P3/TLg\nBpI75i8GtpHcUPlELes1nvJ25n4GSTfNM4FPklzk/YykI7P8QScZ/uGYHLYb4Dzg6Ih4J3AdcDJw\njaTDsxzYU6eTz887JG2/NyK+Diwl+XL/kKRjalut8ZP54C7pMknXpquHA++SNDEingdeAU4jGRsn\nUzk5SR+UdGu6OgU4Mw/tBpA0R9Kp6epk4E3pWfozwOvABSRDY2SOpCZJR6SrR5Gfz/uHJX1W0rnp\npl8Bh0v6vYh4DvgPkvt1zqlZJcdZZoO7pCmSvk3yrb07HQDtaaAT+AdJJwPnAt8B5kg6Lgtncml+\n9V+BVuBTko4nGcvnYTLcbtgf2L4P/APwL5IKJHdLbwU6JL2V5Ka6nwLvkHRUv0/WYCSdJOkBkrvA\nV6aD+/078CPgK1l93yVNlHQj0Dda7T9JupgkBfUW4J/T7tgTgT3A8elxmfli60+mgnvZG3Yi8B8R\ncU5EfCMiXo+I3SRBrxe4DXiU5EaricDuca/wKOlrd3rR7J+Azog4i6SNc9Pxfv6SjLUbDnnPlwKP\nR8S5JO37WERsAb4CzADuIgl2DwEzI2LveNd3NFVo+8MRcSFJ+9pJ7gi/keSMPVPve5/0s30qcF1E\n/B1Ju68Dfk2Sc78HeDAiLic5wbkkPa7hv9gGU83wA43kCOA36fI7ST7cpGmZNwH/F3goIpZIOiIi\nXpF0JPBG4HdIvtkb0e8AL5PcLPa+iNib3k08i+Q/OhGxA1gi6bCI6M1IuyF9z9NAt5fkCwzgd4Eu\nSW9PLyBeBUyOiN+kv2Y+nubdf1ujeo+Gvrb3/T9+EiAibpe0FLgS+HxEfErS5Ih4NQvvu6SPAj3A\nv0fECyQpl2MlTYqIeyTNAz4SEW3A3SWHngrcN/41ro1MnLlLmi9pLXCzpMvTzRuAZyX9T5Kfoy+S\n/HS7Js1BviJpIfBD4GckwbGhlLV7UUT8VxrYj4iIV4FfAM1lh+2TdCkN3G44qO1flPTh9EzsR8Ap\nkh4DFpB8vr+uZJKYSAP7H5MMl9HZqIG9QttfI8kxnyXpTElnkgzmNw14a3pYQ7/vSrxV0kMkQ500\nk6QZpwD/BbyD5NoSwN8Df5Sm4ZB0oaQngbNIPiP5MNiokPX+IDk7fZhkTPmzgJUkP8smAX9L8lP0\nsLTsnwLLST4EbwO+DXyw1m0YpXbfBfy3dF9fey9It7+p5LhTGrnd/bT9X4Gl6b5TSXpJ9JVtBb6U\nLp8J/IQKI5M2yqNC278BXEvyS6UVWE0SwN6d/l0Wl/xdGvJ9Byam/74NuCtdnpT+X14BHAP8L+B8\n4Mh0/93Ap9PlmY38ng/771brCgzzzZ4ATEiXm4HlJfuuBl5I3/DzSQYx+5N03ztJLihNrHUbxqDd\nV6XtfnPJtotIzlIn1bru49T2t5Ck324DZqf73kuSd51Q6zaMUdv7Pu9vStdPLtn358DHa13/EbR7\nEvDfgZvSE5UPAHeW/V3+H0m3xyvSYP+RdN9K4Pdr3YZaPhouLSPpYyTDEC9LN/2CZOq/k9L1SSQ3\nq9wcET8kuYnhOiVzv64CfgxEo10tr6LdhwFdwC19x0TED0jO4P5g3Co6Bqps+9Z0/6+BN5D0FPo0\n8I/AD2jA9xyq/rx3AV9K17vT4z5BEvg3jFddR5OkC0h+dR8LPEPS/l5gnqS5AJH01e8AvhgRd5IM\nbvjRNC03ieRvlV+1/nYZ4jf5FJILIp8m+dC+Pd1+K8nP0x+TpCHeAfwbcHy6/z3ANcC5tW7DOLT7\n+yXtPgz4BHBSrdswTm1/gKRv92xgCXAncE6t2zCO7/tb0v1/QTJU93tq3YYRtP084E9L1pcDf0Zy\nkfjRdNsEkq6N9wAnptuOp+TXS54fNa/AMN706em/XwDuTpcnkpytvTddPxG4Azii1vWtQbu/Bhxe\n6/rWqO13kvSIqXmda9D2O/red9K8cyM/gCNJbjrsy7c3k/T8AXgcWJIuvxv4Rq3rW4+PhkvLRMQv\n08VbgSZJF0c6b2tE9F0J/yRJb4DeSs/RiIbQ7t8Ar9WijmNlCG3fC+yrRR3HyhA/76+lxzRUT5hK\nIuLliPht2laA+cB/pssfA2ZLWk3yC6YhU09jraEHDpN0DcnF0gvS9bkkN+scBlwVyW3HmZPXdoPb\nTs7armTaziBJOy2JiGckzSLp/ngG0B0RO2tZx3rVsMFd6ah2ku4BngV+S3LhbEtEdNW2dmMnr+0G\ntz2PbU8vgk8mGVbhOyQ9o54nCfQv1bJu9a7h0jJ90g/6kcCbgcuBX0bEg1n+oEN+2w1uex7bHsnZ\n51kkOffPAt+JiCsc2AfX6MMPXEuSb5sfDXq34TDltd3gtuex7TtI0k9/l7N2j0jDpmXgwE/VWtdj\nvOW13eC257XtNnQNHdzNzKyyhs25m5lZ/xzczcwyyMHdzCyDHNzNzDLIwd3MLIMc3M3MMsjB3cws\ng/4/Jzf7buWu9R8AAAAASUVORK5CYII=\n", - "text/plain": [ - "" + " name \n", + "0 Live At The Hollywood Bowl \n", + "1 1 (Remastered) \n", + "2 Let It Be (Remastered) \n", + "3 Abbey Road (Remastered) \n", + "4 Yellow Submarine (Remastered) \n", + "5 The Beatles (Remastered) \n", + "6 Magical Mystery Tour (Remastered) \n", + "7 Sgt. Pepper's Lonely Hearts Club Band (Remaste... \n", + "8 Revolver (Remastered) \n", + "9 Rubber Soul (Remastered) \n", + "10 Help! (Remastered) \n", + "11 Beatles For Sale (Remastered) \n", + "12 A Hard Day's Night (Remastered) \n", + "13 The King Of Limbs \n", + "14 With The Beatles (Remastered) \n", + "15 Please Please Me (Remastered) \n", + "16 A Moon Shaped Pool \n", + "17 TKOL RMX 1234567 \n", + "18 In Rainbows \n", + "19 In Rainbows Disk 2 \n", + "20 Com Lag: 2+2=5 \n", + "21 Hail To the Thief \n", + "22 I Might Be Wrong \n", + "23 Amnesiac \n", + "24 Kid A \n", + "25 OK Computer \n", + "26 The Bends \n", + "27 Pablo Honey \n", + "28 Blue & Lonesome \n", + "29 Havana Moon (Live) \n", + "30 Totally Stripped (Live) \n", + "31 Live 1965: Music From Charlie Is My Darling (L... \n", + "32 Shine A Light \n", + "33 A Bigger Bang (2009 Re-Mastered) \n", + "34 Live Licks \n", + "35 Bridges To Babylon (2009 Re-Mastered) \n", + "36 Stripped \n", + "37 Voodoo Lounge (2009 Re-Mastered) \n", + "38 Flashpoint \n", + "39 Steel Wheels (2009 Re-Mastered) \n", + "40 Dirty Work \n", + "41 Dirty Work (Remastered 2009) \n", + "42 Undercover (2009 Re-Mastered) \n", + "43 Still Life \n", + "44 Tattoo You (2009 Re-Mastered) \n", + "45 Emotional Rescue (2009 Re-Mastered) \n", + "46 Some Girls \n", + "47 Some Girls (Deluxe Version) " ] }, + "execution_count": 54, "metadata": {}, - "output_type": "display_data" + "output_type": "execute_result" } ], "source": [ - "fig, ax = plt.subplots()\n", - "ax.plot_date(albums_df['release_date'], albums_df['gloom'])\n", - "\n", - "fig.autofmt_xdate()\n", - "plt.show()" + "pd.DataFrame(list(albums.find({}, ['artist_name', 'name'])))" ] }, { "cell_type": "markdown", - "metadata": {}, + "metadata": { + "collapsed": true + }, "source": [ - "One thing that's noticable is the split in time between the groups, and the much shorter period the Beatles were active for." + "Manually fix a couple of errors." ] }, { "cell_type": "code", - "execution_count": 114, - "metadata": { - "collapsed": false - }, + "execution_count": 85, + "metadata": {}, "outputs": [ { "data": { - "text/html": [ - "
\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
_idartist_namenamerelease_dategloom
157gDXyW16byCQOgK965BRznThe BeatlesPlease Please Me (Remastered)1963-03-220.177208
143nkEsxmIX0zRNXGAexaHAnThe BeatlesWith The Beatles (Remastered)1963-11-220.152913
1271Mwd9tntFQYUk4k2DwA0DThe BeatlesA Hard Day's Night (Remastered)1964-07-100.215407
117BgGBZndAvDlKOcwe5rscZThe BeatlesBeatles For Sale (Remastered)1964-12-040.175109
1019K3IHYeVkUTjcBHGfbCOiThe BeatlesHelp! (Remastered)1965-08-060.220622
93OdI6e43crvyAHhaqpxSyzThe BeatlesRubber Soul (Remastered)1965-12-030.212179
80PYyrqs9NXtxPhf0CZkq2LThe BeatlesRevolver (Remastered)1966-08-050.235002
71PULmKbHeOqlkIwcDMNwD4The BeatlesSgt. Pepper's Lonely Hearts Club Band (Remaste...1967-06-010.228461
66P9yO0ukhOx3dvmhGKeYoCThe BeatlesMagical Mystery Tour (Remastered)1967-11-270.268458
503Qh833fEdVT30Pfs93ea6The BeatlesThe Beatles (Remastered)1968-11-220.246236
447bcKzmKgmMPHXNVOWpLiuThe BeatlesYellow Submarine (Remastered)1969-01-170.178876
32Pqkn9Dq2DFtdfkKAeqgMdThe BeatlesAbbey Road (Remastered)1969-09-260.288493
22pCqZLeavM2BMovJXsJEIVThe BeatlesLet It Be (Remastered)1970-05-080.218608
\n", - "
" - ], "text/plain": [ - " _id artist_name \\\n", - "15 7gDXyW16byCQOgK965BRzn The Beatles \n", - "14 3nkEsxmIX0zRNXGAexaHAn The Beatles \n", - "12 71Mwd9tntFQYUk4k2DwA0D The Beatles \n", - "11 7BgGBZndAvDlKOcwe5rscZ The Beatles \n", - "10 19K3IHYeVkUTjcBHGfbCOi The Beatles \n", - "9 3OdI6e43crvyAHhaqpxSyz The Beatles \n", - "8 0PYyrqs9NXtxPhf0CZkq2L The Beatles \n", - "7 1PULmKbHeOqlkIwcDMNwD4 The Beatles \n", - "6 6P9yO0ukhOx3dvmhGKeYoC The Beatles \n", - "5 03Qh833fEdVT30Pfs93ea6 The Beatles \n", - "4 47bcKzmKgmMPHXNVOWpLiu The Beatles \n", - "3 2Pqkn9Dq2DFtdfkKAeqgMd The Beatles \n", - "2 2pCqZLeavM2BMovJXsJEIV The Beatles \n", - "\n", - " name release_date gloom \n", - "15 Please Please Me (Remastered) 1963-03-22 0.177208 \n", - "14 With The Beatles (Remastered) 1963-11-22 0.152913 \n", - "12 A Hard Day's Night (Remastered) 1964-07-10 0.215407 \n", - "11 Beatles For Sale (Remastered) 1964-12-04 0.175109 \n", - "10 Help! (Remastered) 1965-08-06 0.220622 \n", - "9 Rubber Soul (Remastered) 1965-12-03 0.212179 \n", - "8 Revolver (Remastered) 1966-08-05 0.235002 \n", - "7 Sgt. Pepper's Lonely Hearts Club Band (Remaste... 1967-06-01 0.228461 \n", - "6 Magical Mystery Tour (Remastered) 1967-11-27 0.268458 \n", - "5 The Beatles (Remastered) 1968-11-22 0.246236 \n", - "4 Yellow Submarine (Remastered) 1969-01-17 0.178876 \n", - "3 Abbey Road (Remastered) 1969-09-26 0.288493 \n", - "2 Let It Be (Remastered) 1970-05-08 0.218608 " + "" ] }, - "execution_count": 114, + "execution_count": 85, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "beatles_df = albums_df[albums_df['release_date'] < datetime(1971, 1, 1)]\n", - "beatles_df" + "genius_tracks.update_many({'ctitle': 'revolution i'}, \n", + " {'$set': {'ctitle': 'revolution 1'}})\n", + "genius_tracks.update_many({'ctitle': 'when im sixtyfour'}, \n", + " {'$set': {'ctitle': 'when im sixty four'}})\n", + "genius_tracks.update_many({'ctitle': 'packt like sardines in a crushd tin box'}, \n", + " {'$set': {'ctitle': 'packt like sardines in a crushed tin box'}})\n", + "genius_tracks.update_many({'ctitle': 'a punchup at a wedding'}, \n", + " {'$set': {'ctitle': 'a punch up at a wedding'}})\n", + "genius_tracks.update_many({'ctitle': 'dollars cents'}, \n", + " {'$set': {'ctitle': 'dollars and cents'}})\n", + "genius_tracks.update_many({'ctitle': 'bullet proofi wish i was'}, \n", + " {'$set': {'ctitle': 'bullet proof i wish i was'}})\n", + "genius_tracks.update_many({'ctitle': 'jumpin jack flash'}, \n", + " {'$set': {'ctitle': 'jumping jack flash'}})\n", + "genius_tracks.update_many({'ctitle': 'far away eyes'}, \n", + " {'$set': {'ctitle': 'faraway eyes'}})" ] }, { "cell_type": "code", - "execution_count": 115, - "metadata": { - "collapsed": false - }, + "execution_count": 86, + "metadata": {}, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXEAAAD2CAYAAAAgRbdwAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJztnXt8VNW1+L87kJiBGECZqjwkFKzgAwULamk1+ACtba1i\nVX7Y2t60lSJqW/VK1QJ6q9XWWx/cUh9NjbVXSC1qq1XxUeLjthqK+CqIjzgoQk0QRYPRAFm/P/YJ\nmYSZyTzOM1nfz+d8ZubMmXPWObPPOmuvtfbaRkRQFEVRoklR0AIoiqIo+aNKXFEUJcKoElcURYkw\nqsQVRVEijCpxRVGUCKNKXFEUJcJkpcSNMScYY14xxrxqjLkkxfdnG2MajTHPOct/uC+qoiiK0hXT\nXZ64MaYIeBU4FtgArADOFJFXkrY5GzhMRM73UFZFURSlC9lY4pOA10RknYhsA5YAJ6fYzrgqmaIo\nitIt2SjxocDbSZ/XO+u6cqox5nljzB+NMcNckU5RFEXJSDZKPJWF3dUH8xegQkQOBR4H7ihUMEVR\nFKV7+maxzXpg36TPw7C+8Z2IyPtJH28Drk21I2OMFmpRFEXJAxFJ6bLOxhJfAYw2xowwxpQAZ2It\n750YY/ZO+ngysDqDIGmX+fPnZ/w+LIvK2TvljJKsKmfPkjMT3VriIrLDGDMHeASr9KtFZI0x5gpg\nhYg8AJxvjPkasA3YDHy7u/0qiqIohZONOwUReRjYv8u6+UnvLwUudVc0RVEUpTtCNWKzsrIyaBGy\nQuV0l6jICdGRVeV0lzDL2e1gH1cPZoz4eTxFUZSegDEGKSCwqSiKooQUVeKKoigRRpW4oihKhFEl\nriiKEmFUiSuKokQYVeKKoigRRpW4okScpqYmVqxYQVNTU9CiKAGgSlxRIszixbWMGDGG44+fxYgR\nY1i8uDZokRSf0cE+ihJRmpqaGDFiDC0ty4FxwIvEYlNYt+4V4vF40OIpLqKDfRSlB5JIJCgpqcAq\ncIBxFBePIJFIBCeU4juqxBUlolRUVNDamgBedNa8yLZt66ioqAhOKMV3VIkrSkSJx+NUVy8iFptC\nefkEYrEpVFcvUldKL0N94ooScZqamkgkElRUVIRWgUdBxjCTySeuSlxRFE9ZvLiWqqrZlJRY9091\n9SJmzDgjaLEihSpxRVECQTNo3EGzUxRFCQTNoPEeVeKKoniGZtB4jypxRVE8QzNovEd94oqieI5m\npxSGBjYVRVEijAY2FUVReiiqxBVFUSKMKnFFUZQIo0pcURQlwqgSVxTFc3T2Ie9QJa4oiqfo7EPe\noimGSo8nTDnKYZLFDzpqpywF+gNbicWma+2UHNEUQ6XXEiYrMEyy+IWtkTIQmA7MAqYjUq61U1xE\nLXGlxxKmCnphksVP1qxZwwEHHAY8Q/t5wxGsXr2SsWPHBitchFBLXOmVhKmCXphk8ZPm5mZisdEk\nn3csNorm5uYgxepRZKXEjTEnGGNeMca8aoy5JMN2pxlj2owxE9wTUVHyI0wV9MIki5/Y83uH5POG\nDYGfd4/KlhGRjAtW0b8OjACKgeeBMSm2KwOeAP4OTEizL1EUP7nrriUSi+0h5eXjJRbbQ+66a4nK\n4jNhO+92eQYMmBAKebLB0Z0pdXS3PnFjzBHAfBE50fk819nhtV22ux54FLgYuFBEnkuxL+nueIri\nNmHKCAmTLH4SlvOOamwik0+8bxa/Hwq8nfR5PTCpywEOBYaJyIPGmIvzllRRPCAej4fmBg2TLH4S\nlvNuj020tOwamwiDfPmQjRJPpf13mtPGGANcD5zdzW8AWLBgwc73lZWVVFZWZiGCoihK4XSOTVhL\nPIyxibq6Ourq6rLaNlt3ygIROcH53MmdYowpx/rMm7HKe2/gPeBrXV0q6k5RFCVoFi+upapqNsXF\nI9i2bR3V1YuYMeOMoMXKSEGTQhhj+gBrgWOBjUA9MENE1qTZfjnwYxFZleI7VeKKogROWHz02VJQ\nnriI7ADmAI8A/wKWiMgaY8wVxpivpPoJGdwpiqIoQbNp0yZWr17Npk2bghalYHTEpqIovYrzzvsh\n//M/twLDgbeZM+d7LFx4Y9BiZUTn2FQURSG6ZQB02L2i9GB61OhDj6mvr8da4B0phjDMWR9NVIkr\nSoSJSmXEsDxoJk2ahB32klwGYL2zPpqoO0VRIkpURh+2p/SVlNgc7SBT+pqamth7731pazPAMGA9\nRUXCv//9VqiuWVfUnaIoPZAoVEZsamqiqmo2LS3L2bJlJS0ty6mqmh2YRZ5IJNh99wOwFUJmAI9S\nVjY2VNcsV1SJK0pEiUJlxGweNH66WioqKvj449eArwIPAF+lpeW1UF2zXFElruRNWPycvZV4PE51\n9SJisSmUl08gFptCdfWiULkFOh40dcAKoK7TgyYIn74xRY48K4E67HjGCJOuvKEXC1qKtscQxXKe\nPZXGxkapr6+XxsbGoEVJyZw5FwjEBD4nEJM5c84XESt3LLaHwAsCIvCCxGJ7eHoe9fX1MmDABOd4\ndikvHy/19fWeHdMNKKQUrZtoYLNnEJWAmhI8mdpKIpHg+ONnsWXLyp3bl5dP4LHHbmHixIm+yxPm\ntquBTcVVohBQU8JBprYShE8/Ci6oXMmmFK2idCIq5TyV4MnUVtoValXVlE4VBb1WqDNmnMFxxx0T\nqQJYmVB3ipIXUSznqQRDd20lahUFg0BrpyieoDefki29ta24dd6qxBVFUXzGzZGqqsQVRVF8xO0s\nGM1OURRF8RE/M7hUiSuK4jm9bXSvn+mTqsQVRfGUMJbL9fqh4mc+uvrEFcVHeluWRodveCnQH9hK\nLDY90BGSfpbG1ewURelBhKmutl+sWLGCo48+k5aWD4AKIEFpaTlPPvlHz4bWZ0KH3SuKkhdhq6vt\nF2VlZbS0bASWY6sGLueTT96lrKwsEHl6YskIVeKK4gM9UXlkQ3NzM7HYaJLPOxYbRXNzcyDyRKEG\ne66oElcUH+iJyiMb7Pm9Q+c5LTcEdt49sQCW+sQVxSd6a72ZMJ63XwFmDWwqSg+jt2WntNMbz9uv\nYffqTlEURXEZPwPZqsSVHk9YRguGcdCLH/TG8/Y1kJ1u3jYvFnSOzR5F2Od2FAnPXKBBzCcZBsJ6\n3l63XbfPmwxzbKolruRFFKyrMOVm99YUwzCetx9ttz0LprT0aPr335/S0qM9y4JRJa7kTJiUYybC\npEB6c4phmM7b77ZrTBEQc169QZW4kjOFKke/fNRhUiA9MT85G8J23n492JMfFlu3Pu/twyKdn0U6\n+7JPAF4BXgUuSfH9Odg7ZRXwJDAmzX7yczApoaIQf5/fPur245WXjw/UJ95OFOIIXhCW825sbJSS\nkgGd2m5JyQDX5aqvr5cBAyY4x7BLefl4qa+vz2t/ZPCJZ6PAi4DXgRFAMfB8VyUNlCW9/yrwUJp9\n5XdFlNCRj3IMKsgVFgWiBE9jY6MUF5cJDBIYLzBIiovLXG8bfgY2+2ZhrE8CXhORdQDGmCXAyY5l\n3m7NJxdCKAPacuwQKBFjxowzOO64Y3IawNHelW1p2bUr62X3Oh6P93i3hZIdiUSCfv0+x5YtDwMJ\noIJYbJrrbbDdjVRVNaXTSFUv2mE2Snwo8HbS5/VYxd4JY8xs4MdYa/0YV6RTQk2uyrGzj9qWAe0N\nwT0lPHS0wY3ARLxsg/kYOvmQjRJPNdRzl7HzIrIIWGSMORP4KfDtVDtbsGDBzveVlZVUVlZmIYLS\nE/DTOlGUVPjdBvPtBdbV1VFXV5fVtt3WTjHGHAEsEJETnM9zsf6Za9Nsb4D3RWRgiu+ku+MpPR+/\n62j0xrodYSNs/0FPKoCVTWCzDx2BzRJsYHNsl21GS+fAZn2afeXl1G9HA1RKroRlxGZv5q67lkhp\n6UApLd1PSksHBv4fNDQkZObMBVJZOU9mzlwgDQ0JT47jZtujkOwU6UgxXAu8Bsx11l0BfMV5fwPw\nMvAc8HhXJS8uKHG9GcNH2B+qYR3y3ZtobGyUPn36O9kgEwQGSZ8+/QL7DxoaEjJq1IUCzU6baJZR\noy50XZH7mZ2Sdx2UfJZ8lbjejOEjCg9Vt3N1ldypra0V6CewXKDeee0ntbW1gcgzc+aCJAUuOxX5\nzJkLXD2On3nikRixGabh00p0ht2HacSml4SlSmMq3n33XaAcmA7Mcl53d9b7TyLxCdC/y9r+znr3\n8LPtRUKJd1yQOmAFUNfjbsYw34hdicpDNWxDvr0g7IXIRo4cCWwBlgI3O68fOuv9p6xsK7C1y9qt\nznr38LXtpTPRvVgowCc+Z84FAjGBzwnEZM6c8/PeV9iIgmsimai5t8Luu8+XKPwPNTU1AvsI7OH4\nxPcQ2FtqamoCkefSS18WmNPJJw6z5B//WOnJ8dxqe6hPPLxE9dzCVpMkEz1ViUfB5//00087xldH\n+4aYPP30077L8vbbInvuuUPgYIExAlMFxgrUyOmnt8iOHb6LlDWZlHgk3ClR6b7ngz2HoSSfGwwJ\n/bnNmHEG69a9wmOP3cK6da8EPvFtOsLubiiEKPj8S0pKdrl3S0oqKCkp8VUOETjnHDjppAbgDaAW\nWAYsAS7ipZc+4eKL7XaRI51292JBLfFdWL16dUpLZfXq1UGLFnl6crtp54YbFkqfPgdKnz4nSp8+\nB8oNNywMWqROhOU/+P3vRQ45ROSvf31EYHSX7JRRcvfdj8uBB4pcc42vYmUNUbfEe3KAqrm5mVhs\nb2AKMAGYQmnpXjQ3N3fzy+AJezC2J/fgAN58cx0LFybYseNZdux4kB07nmXhwgRvvrkuaNF2EoZ7\nd+NGuOgiuP12mDjxUEpKmkjuvZSUbOLoow9m2TK4+WaorvZNNHdIp929WChwxObq1aulpqamR1mp\nHZbK8p15tFGwFqMQjA2LFegVfuU8u0FQcYm2NpGvf13ksss61rW33f79x+3SdteuFdl7b5F77vFV\nzG4h6oFNkWgojXyJUpBQJFrKcerUEx131WiBmEydemLQIrnGkUfO7aLA7TJ06GWydKnI+vVBS9hB\nUEp8yRKRAw4Q+eST7OX55z9F4nGR5cv9kTEbIq/Eo6Q08iVKGRSFZkX4da4d8YaOXk5PiTesWydS\nXn5ZSkt89Oj/lJNOEhk8WGToUJFTTxW59lqRujqR5mb/ZQ3KAGtsFNlrL5Fnnsn9t3/7m1Xkzz1X\nqAyaYigi0UilKpQoKfGoTM9mc5Q/10XJ7RdYjrJbPPqoVU7nn/8vgVO75DyfKitW2JzntjaRN94Q\nuesukQsuEDn8cJF+/UTGjRP53vdEfvtbkZdeEtm+3TtZgzTAzjxT5KKL8v/90qUi++wj8uqr+f0+\nVAWw3FrUEk9NFF1FmfyK6fD7fwxj5k8hD+sdO0Suvtoqlvaufq7ZKZ98IvLssyI33SQyc6bI6NEi\n5eUixxwj8pOfiNx3n8jGjXmcWBrq6+slFju404M0FjvIcwPs3ntF9ttP5OOPC9vPrbeKjBwp8s47\nuf1OC2ClIGp+42yJcmAz1/KiQfSo5sw531Hk+0nQI30LeVh/8IHIySeLHHnkrr7uQntxmzaJPPig\nyPz5IiecIDJokMi++4p84xsi110n8tRTIlu35rXrQB6k770nMmSIldsNrrpK5KCDRDZvzv43oZoo\n2c2l0OyUKLkcssVaKp+V5GHJpaUVoXYV5TtjeFA9qjBkNRVy7i+9ZK3KOXNEPv3Ue1nb2myWxu9/\nL3LuuSKf/7xILCYyfrzIrFkit98usnq1ZDXC0bbvkU77Hu9L+z77bJHzznNvf21tIj/8ocjkydk/\nzNQS70WEscvfHcuWLZNUAyaWLVvW7W/zccP0BPK1zO66ywYo77zTJ0HT0NIi8ve/i1x/vfU1V1SI\nDBwocvzxIpdfLnL//TaQ2JXGxkbZbbeBAj8Q+KHAD2S33QZ69uB+8EHr/vjoI3f3u2OHyFlniZx0\nkkhra3a/cbOtZ1Li2cyxqXiIHewzutMM8LHYqLwG+/g7BdYGkic8thPPZodIG/Cp8+o9YZgaLNdJ\noltb4eKL4a9/hccfh3HjUm7mG6WlcOSRdmmnsRGefdYuN94IK1bAHnvA4Yd3LIMGfczAgWfw7ru/\nxJaA3crAgW00N3+M23/Fli12aP3tt0NZmbv7LiqC3/0Ovv51qKqCmhq7rjt8aevptLsXC2qJ74Jb\n3S4/g6ONjY1SXFwmdraW8QKDpLi4LAd3in/+/zAFjbON67zzju26f/WrIu+/77OQBbBjh3Wz3H67\ndbuMHy/Sp49/A5K+/327eMnWrSJf+ILIj35k3SzpUHdKiPDDD19o8C0IX3N7YLN//8/lFNi0/v+B\nAvsLDPTUPxrGrKbu2tMTT9ig3M9+lp3POewcddS8LgrcLlOmzHP1OI89JjJ8uA0AZ0Mh9/XmzTbQ\n+fOfp99GA5shwQ8rzg3rNKg8+lxvBOv/302S51uEEs/8/1EaX9DWJvKrX9n874cfDloa9/CjNMBH\nH1kf/YMPZre9G/f1+vX2mLfdlvp7tcRDgF9WnBuKJowWZypsQLRflyBuv6wCovnQEVS7QGCewAWe\nBtXy5aOPRE4/XeSww0TefDNoadzFj4mJzzvPZqRkg5v3yquv2pz9pUtTf+9mWnQmJa6BzTS0V8BL\nDji2V8BzMziWa8ArFe2V4qqqplBcPIJt29aFuMrjEDrXTt/HsyM1N7cH1a6iI6j2iSdBtXxZuxZO\nOQUmT4ann7YBxFwJQ+A2HSNHjuC88yq48MLDaWubCLRx3nkTGTlyhCv7f+opWLoUXnopu+3dvK/3\n2w8eeABOOAEGDYIpUzp/P2PGGRx33DHe/zfptLsXC2qJp8StJ3bY8+jzzS/PlxkzUnflR45cID/6\nkfU733yzyN132xGQL74osmGDd7nYDQ0JmTlzgVRWzpOZMxfIokUJicfTd8mzoSON7ZDAA7ep2PU+\nanHtPtq61ebP33tvPvLk777sSnudlZXezPAmIupOyZt8gnf5EoYBKX7gdZ54S4vIX/5iu9d9+6YO\nqo0ZM09++UuRuXNFvvtdkVNOEfnSl2y1u898RqRvX5Hdd7c+z89/3o5inDnT1h+58kqRRYtEamtF\nHn9c5PnnrX+0pSWzXKncCn37Xij33Ze/W8Hvh2I+pHIXlpVNcSUucdFFNmc9V7yYr7fQOivdkUmJ\nqzulG4wpAmLOqzcsXlxLVdVsSkqsa6W6elFopzsrFC+6mB9/DA89ZLvVDz0EBx8Mp50GW7YUcd99\nW7GulHa2cthhRVx0Ufr9idic4/feg02bdn194YXU60tKYM89YfDgXV8feKCGN964IkmW/mzffgV3\n330dJ588P6/zXrVqFa2tg0l2T7W2DmbVqlVMnTo1r326za7uwo9obR1W8BRyzz4Ld96ZvRulnaam\nJqqr7wSeod19WV09hXnzLi+oLZ56qm0HU6fC//0fDBmS965yJ51292IhQsPu/XKnRCUo2ZWurgE3\nA1XZ8OGHIosXi0yfbgs4HXusyG9+07l404oVKwVOkc5V/k7ZWeXPTdrarEwNDSIrVog89JDIH/4g\ncsMNIj/9qciQIe6n2t12222SarTvbYX4ZzwguffVt+/P5MQTXylof598IjJ2rK0VniteZyxdfXXu\ndVaygZ5gifttrfoV2HTzOH4FuN58cx3HH78wybLcyjPPzOfRR8/LKmCVr5zvvw/33w9/+hPU1cEX\nv2gt7ptvttZuVzZv3gQ8DFwGDAC2AA+zefOsrI+ZLcbA7rvbZeTIXb9vaCjif/93117BkCH59/Ba\nWlqAgdip/UYA64ABzvpw0T5ysajo76xd+4OC9nXllTBmDJx+eu6/dSORIBNz50JTE3z1q3Drreu4\n+uoa3nmnjaFDi/iv//q2awHdTqTT7l4sRKgUbdQscT9HJhaS+5urnI2NNvA3bZr1U598si3MlM1I\nxkJqvLhNQ0NC9trrnE69gr32OqegHkwUJr3YtX2/KNAsDQ353UcrV9og4oYN+cvkdUXUHTtETj45\nIbGYe6mVRD2wGdSgDb/K3xY6Y7nfD7nKytSugYMOmiebNhUu54YNIr/+ta1xXV5uS6IuWWLdFbkQ\npsCfVznrYSq1m4pU926fPs/JwoW5u1Q+/dROaHHHHYXL5bVrNl1mVL6DnDIp8Ui4U7zuAqXDjzzP\n5BnL210TCxfO52tfW5d116vDJbMPsAKo8MT1044N8u7qGnjvvSJGjoSKCqishKOPhqOOYmdOdiKR\noE+fIcC9wFKgiKKifUgkErS0xLnnHhucfPllOOkkmDMHpk2Dfv3ykzMej1NTcwtVVVMoKhpGW9t6\nqqtvCSSXOpFIUFQ0HOvaSQAVFBU9XvB/tHDhjcyePYv6+nomTZrE2LFjXZLYHVLdu8Y8wZtvfi/n\nfV1zDQwbBt/8ZuFyxeNxT9vBxo1tdL4/APqzYYMHhbDSaXcvFgoIbPbUSSHcGJZsC1LtLsnD2bMp\nSJUr770n8q1viQwZkpCBA2endA1s22Znjrn2WpEvf9la0gceaOtS//znLwp8o0ug8Tty4IGvyZ57\ninznOyIPPLDrpLaFEob0Tb9LDoSJrvfuxRc/IZWVue3jxRdtSd633/ZGRreZPn1uyvt6+vS5ee2P\nqLtT2gn7YJZ8SOeayCVrwQ+3wd132zzY888XaWjI3jWwbZvN1vjlL0WGDEn9wDrmmAVZ12jOlbBU\nMfS75EDYSL53339fpH//jkFV3d3X27bZfP1bb/VGHi+4994/izGndzJYjDld7r33z3ntr2AlDpwA\nvAK8ClyS4vsfAf8CngceBYan2U9+V6SHsn27yMiRl6dUbCee+JOs9+NlzGDDBjtb+pgxIk8/3XG8\nfOZNnDx5bsoH1uTJ+Vkn3RGm9M3a2lqBUV3OfZTU1tb6LksYOOQQkX/8I7uH7DXX2BTSTKVfc8GP\nUa5ux0AKUuJAEfA6Noep2FHUY7psczRQ6ryfBSxJs688L0nPo7XVjjY76KCXxJgzurgYqiQeXyuv\nv57dvrxQVm1tIr/7nc0EuOyyziMS852NaNq081I+sKZNc3EurSTCVMXQS0s8ij3UOXNE5s37qNt2\nu2aNyJ572vx7N/Az2O1XAaxslPgRwENJn+emssaTvj8UeCrNd3mfRFB4cYO0tNiC/1/5ishbb6V+\nYv/iFx/K0KG2yH42uJml0NBgp92aMEFk1apdv8933kQ/B9+IhMsS75hIY6DAOIGBrsQtwuIuypUl\nS0S+9KXNGR+y27fbiaEX5paslRG/007d0h+FKvHpwK1Jn88Cbsqw/ULg0jTfFXQifuPFDfLRRzZ1\n7swzO+bqS6eA77hDZO+9bX2OTLhV1Gf7dpEbb7SWzzXXWF9kuuNZa6bjeNlOlNy3b3mnB1bfvuW+\nzOwThoC427V4wvSQ6o6uyuydd0QGDdohpaV7ppX/+uttTRs3J8eIamyiUCV+WgolfmOabc8C/g4U\np/nep1MuHC9ukM2bRY44whZd2r6963FSK+A//tEWZXr22fT77XAbNDr7aMzZbbB6tbV6vvQlO9N5\nJvKdni0qk1d4iZuZMmFyF2UinTH02c+KXHvtQykfsq+/bo0JtwtK5dt2g8YNd8rDSZ9TulOA45zg\n5p4Z9iXz58/fuSxfvtyfK5AHbt8g775rgzld5+bL5jj33299008+mXrfhaQYtrbakqyDB9vqfNlY\nPfk+NKJkOXqB2z27KFzPTDKefbZtc10fsjt2iFRWilx3nTcy+VmdNF+WL1/eSVcWqsT7JAU2S5zA\n5tgu24x3thnVzb58uwiF4uYN8tZbIvvvL7Jgwa4R9mxdIY8+ahXtI4+kljWfYM0//2lHwJ14osi6\nddmfTyHXJkzuDT/xSuGG/XpmeuD/9rciM2bs+ptFi0QOP7yjt+oFYeqdZYNbKYZrgdeAuc66K4Cv\nOO8fBTYCzwGrgPvS7MfH0y4cN26Q116zdan/+7/Tb2PrG5cK7CtQmjYo+dRT1iL/y186r8/VMv74\nY5FLLrFumjvvzC91q5BrE4bBN37jpesjzAopUy9x7VqRYcM6t79EwrpR/vWv4GQOIzrYJ6BjvvSS\nyNChIrfcknn/ubhC6uut8k1OL85lH088YWdDOeMM6+IphHyuTdhnovGKKLg+vCBTL7GtzbblRMJu\n29YmMnWqyFVXBStzGOkRSjxqqVQrVtiZy++6K/N2+UTLX3jBjp6sqbGfs8kW2bJF5Ac/sA+V++5z\n4wxzJ0wFqYLAq1mNwmyJd9cDmT7d9gZFRKqrbVqrV6N3gyAUKYZuLvkq8ahZMU88kdrtkYp881bX\nrLFd0UWL7I1SXLyv2LztQwT2kOLi4TtvlL/+VWTffW1WTDYlXL0iTKVhg6AjoLa/awG1sBs33cV8\nLr88IaNHL5Ajj5wnu+22QB54IBGwxO7h5n8TeSVeX18vZWUHCSwQm1+8QPr3P9CXVKpc/bcPPWQV\n+GOPZbf/QqzT11+3/vZzz22QVCMoH3jgGTnrLJvKla08XmJnotm11xG2mWi8wAtDJCrGTbo5LRsa\nEjJsmHs1t8OE2/9N5JW4Hel3qnQe6XeqZyP92sl1QtU//cn6+P7+99yOU0g3+623ROLxzQKXd3rI\nwbelvLxZfvxjkebm3OTxiptuukk6KvmNd153k5tuuilo0TzHi8BmFPLEMykzNyp4hhW3/5vIK/Eg\n/uxc64PU1Fg/daph6tkeL9+MjZ/97DaBOV0ecufJj3/8h/yEyZJc/X32mpYIDHAejAPEj3KsYfAZ\n91ZLPJMyc6OCZ1hRS7wL6f7skSPnZV0kKldqamocRZN8zP2kpj2amMTChSLDh1s/dT4U6jtzu3Zx\nNuQrsy0xUCowXDKlUwYtp1eyuD3IJOx54pnchT3ZEhcJUQEsN5d8lXg6JfXZz14u8bjIpEkiv/qV\nrcfgFtla4ldfLTJqlMibb+Z3HDee2H5bNIXK7FeeeNgsVa/SK8PQ00hHpmHuDQ0JGTWqZ/rE29Hs\nFIdMBda3bRN5+GGRb39bZNAgO1z3llsk41yP2dDY2ChFRaWSXJiqqKh055/R1iYyd66dtaaQSVvd\nqHvit0Xd3wkmAAATE0lEQVQTBV+sSLjkDNsDxS+6a98NDQmZOXOBTJkyT2bOXNCjFLibRF6JZ1tg\nvaVF5J57RE4/3U4L9uUv2xzUXCfYFWkvt/pZgTKBvQTKdpZb3bFDZPZskcMOE2lqyuuUOp1boVOr\n+W3RFJrv7ZflGCbFGaYHip+E6T/oKldYey+piLwSF8ndn/jhhyJ/+IPISSdZhX7aaSJLl3ae3CAT\n6eZEfPHF1fKtb9lqf1u25H06O3FrAIyfFk0hleD89lGHZTb4sCozPwhbwakwxUmypcco8Xz9ie+9\nZ+fnmzJFZOBAO9nvQw9lHhmWeiTlQJk8+d8ybZrI1q15n0onomihRaWKYbbFxfwi7EFIr7BKfJDE\nYgdJaemgQM87qg/TyCtxNy/8hg0iN9xgq6TF43Yo+hNP7FqCtWN0YYeigifki1/8t6uzsbt5bmF3\nU/j9wArjAzJq3fhCyaan6ec1CWObyIbIK3GvLvwbb9jskoMPtkPYL7zQlmdta7MNy5h+AgcIfEXg\nXIHrZcOGcM7F53cXMR+Zg7PEo2V19SS6K7Xgd7uNapuIvBL348K//LLI5ZfbdMH99hOpqlot0Dkj\nxsv5IAtJuwuqYRZSxdAvl0JvdWGEhdra2hRuyX5SW1sbWLuNYpuIvBIXEZk69UQnQDVaICZTp56Y\n974y0dZmy72OGHGJ+DUze6HWSNS6iH7XE+9tLowwYS3xXUstLFu2LNB2G7U2EXkl3jHwZvnOAFWm\nIfBuMHny3C4K3C6TJ7s7CtINayRKXcQoZgYo+dORydRRaqE9kynIwHNPUuJFRID6+npgOFAJTHRe\nhznrvaGiohTY2mXtVme9eyQSCUpKKoBxzppxFBePIJFIZL2PeDxOdfUiSkuPpn///SktPZrq6kXE\n43FXZS2UpqYmqqpm09KynC1bVtLSspyqqtk0NTUFLZriEfF4nDvu+C2lpYb+/aG01HDHHb8lHo8T\nj8epqvom8GXsHOtfpqrqLM/b7eLFtYwYMYbjj5/FiBFjWLy41tPjeU467e7FQsGWeHbFqNygoSEh\ne+11Tief+F57neN6/rVbVnQUZsyJmttHcY9Ulm8QPcgo9VqTIeqW+ODBg+nTx2At8AlAJX36GAYP\nHuzZMcvK+vHBB7XAZcB84DI++KCWsrJ+rh6n3YqOxaZQXj6BWGxKzlZ0soW7devzobVwKyoqaG1N\nAC86a15k27Z1VFRUBCeUEhi2tzmU5F4oDMmpF5rPMQvt+eZCU1MTK1as8PZeTKfdvVgoOMVwtUCN\nwGrPLTi/rcZCfHRBWbhRyE4RCZf/M0yy+EW6OEgQPWw/LXGd2ScJN+qL5HPMqHS7gpC1kAbqpyIL\nUyA1TLL4Raa2aesTjRQ7reB4gT121ifyEj8MCa0n3gW36ovkSpTySf2UtaOB3uv0jO4N5QMuTA/i\nMMniJ5l6iT05O0Vn9umC5pNmh1+y2omZ95Lkqev69o2HLkAZpkBqmGTxk+4eXlEylHLBbcMzkxLv\n65233T06B8TG4WdArD0VKgr4JWtrayvbtn0IPEP7/7F9+xG0trZ6fuxcCLLdhFkWP2kP3FdVTaG4\neATbtq3rFLifMeMMjjvuGBKJBBUVFZG517JBZAc2GaMCSDifPTlQ+C1xkZ77xI4iuUxdFzRhajdh\nksVv/B6lGzRuTPaSDBkscWO/9wdjjBRyvDVr1lBfX8+kSZMYO3asi5IpubBmzRoOOOAwki1xOILV\nq1eG8n9pamoKjaUXJln8YvHiWqqqZlNUNJy2treprl7EjBlnBC2WpzQ1NTFixBhaWpbTfo/EYlNY\nt+6VvP53YwwiYlJ+mU67e7HggiUe5sEsvYmwTLaghJugkhLCgF8TJUfCEm9qamLYsP1obX2S9qda\nSclRrF//Wq+xZsKI9oxyp7dZ4o888gjTpp0LvJa0djTLli1i6tSpQYnlG27935ks8UiM2Fy1ahWt\nrXGSR1m1tg5m1apVQYrV6xk7dixnn322KvAs6XE1O7JmA8mjdGFjgLL4SzweZ+LEiZ4+sCOhxC29\ntyEo0ae3Fv8aP348xcVFJJfMKC4uYvz48cEK1oOIhBLXhqBEHb9rdoSFjiqGQv/+WyktlZ1VDBV3\nyEqJG2NOMMa8Yox51RhzSYrvv2SMWWmM2WaMOdVtIbUhKFGnNxf/mjHjDN5661WWL/8Db731ao/P\nTPGbbgObxpgi4FXgWKxPYwVwpoi8krTNvkA5cBHwFxG5J82+8gpsttPbgkJKz6I91S550IsqNCUb\nMgU2s1HiRwDzReRE5/NcbLrLtSm2vR243yslHgT64FDcRNuTkg+FZqcMBd5O+rzeWec7vtTmTSJq\n2QR+Xx8ld/zIVlB6F9ko8VTa33dz2m+FGrVsgqg9cPxEH25KTyabAljrgX2TPg/D+sbzYsGCBTvf\nV1ZWUllZ2e1vkhVqS4sd7FNVNYXjjjvGM4umPZvAHg+SswnCZkUFcX2iQrsfuqTEBhbVD634Sb7u\ns7q6Ourq6rLbON1QTukYKt8HeB0YAZQAzwNj02x7OzA9w77yGnIaRBnPKNV/7q1lTrsjSv+h0vPw\na2afbt0pYusnzgEeAf4FLBGRNcaYK4wxXwEwxnzeGPM2cBpwszHmpawfOVkQRHpW8tyX/fsfktfc\nl37Rm9PXMtFbc7OV4PHTHZtVPXEReRjYv8u6+Unv/wkMd1e0DrqrSewlIm3Ap85rOAny+oSZ3lrD\nWwkeP92xkSiA1Y6f6Vlul5L0Ay1ItSuam60EQYf+WAr0B7YSi03v3aVo/SZqfubeOAlvtkRpij2l\n5zBnzgWdpjAspFwzUS9FGwRRssSjJKui9Ab8nBQiEgWwgiA5sFlePiHUgU0N4ClKuPDznozERMlB\nMWPGGRx66LjQ+5k1gKco4cLPe1It8QwsXlzLhAlf4Nxzf86ECV8I7SjIKPUalN5Jbxs16+c9qT7x\nNDQ1NTF06Ci2besLjATepLh4G++80xBa5ajFlZQw0ptHzfoxPZsq8TTYuQFPAf5Bx4zuR7Js2b29\nYm5ARXEDDbq7gwY282YIyYEJ2CdAWRQlemjQ3XtUiadh/PjxlJQ0kTyUvaRkk04Jpyg5kE1JiN7m\nL3cbVeJpiMfj1NTc0ql2Sk3NLdoFVJQc6C7ApyWUC0d94t2gwUJFKZxU95H6y7Mnk09c88S7IR6P\na4NSlAJJdR9FqWZ/mFF3iqIogaAllN1BlbiiKIGgg9TcQX3iiqIEisadukcH+yiKokQYHeyjKIrS\nQ1ElriiKEmFUiSuKokQYVeKKoigRRpW4oihKhFElriiK52iRK+9QJa4oiqdokStv0TxxRVE8Q4tc\nuYPmiSuKEgg6KYT3qBJXFMUztMiV96gSVxTFM7TIlfeoT1xRFM/RIleFoQWwFEVRIowGNhVFUXoo\nqsQVRVEiTFZK3BhzgjHmFWPMq8aYS1J8X2KMWWKMec0Y8w9jzL75CFNXV5fPz3xH5XSXqMgJ0ZFV\n5XSXMMvZrRI3xhQB/wNMAw4EZhhjxnTZrArYLCL7ATcAv8hHmDBfqGRUTneJipwQHVlVTncJs5zZ\nWOKTgNdEZJ2IbAOWACd32eZk4A7n/Z+AY90TUVEURUlHNkp8KPB20uf1zrqU24jIDuADY8werkio\nKIqipKXbFENjzGnAVBH5vvP5LGCiiFyQtM3LzjYbnM+vO9u832Vfml+oKIqSB+lSDPtm8dv1QHKg\nchiwocs2bwPDgQ3GmD5AeVcFnkkIRVEUJT+ycaesAEYbY0YYY0qAM4G/dNnmfuBs5/03gL+5J6Ki\nKIqSjm4tcRHZYYyZAzyCVfrVIrLGGHMFsEJEHgCqgTuNMa8B72EVvaIoiuIxvg67VxRFUdwlkBGb\nxphI+MadHHnFJYwx2cRgAscYs7vzGol2GgWici2jImcyvikpY8xBxphpxpi+Ya6CZYw52BhzIYCI\ntAUtTzqMMZOMMVdH4UFjjDnSGHMbMDFoWTJhjJlgjPkTdvAaYW2nxphDjTHfM8bsHbQsmTDGHGCM\nOQrCey0BjDEHGmMqIdxypsNzy8gYMwi4CvgC8AZwnDHmZhF5w+tj58lVwDRjzEoRqTPG9HFy30OB\nMaYc+DlWIdaISJsJcXlIY8z3gPOBRcCqsF1PAGPMnsAC7DXdA3jGWR8qWY0xxdjR058H1gBHGGNu\nFZFng5WsM0lyHgG8aow5HPibiKw0xhSFxThKGo1+DPCWMeZY4M8i8s8wydkdflhx/wl8KiKHAt/F\nDt0PXZclqav/JHAj8DPYGdgNk7V7GfbmmCoiiyD01sO+wGUi8hsR+SRMSjGJ67CX8QisFf5N2Dlw\nLUwcDAwQkcNE5Czs/bspYJlScRBWzkOAWcA24EfGmH4hU4wDgN2BscBMbFLGhcaYspDJmRFPlJMx\n5jQnowVggYj8yHk/FWvpHNjudwwSR84fAIjIdscfNg24DWg0xnzX+a4tSF9Zl+v5O6AR+Iyz/jpj\nzJn5Fh1zm+RraowZgH1o1xtjjjHGLDPGXGqMOdX5Pshr+g1jzLnOx1kicr7zvglYbYzZPyDROuFc\nz9nOxx3A6caYAc41PAI41hgz3tk26DbaLuduwKFOT+Y94BPgABw3VcBynmqMud75uCdwJNBPRJqA\npcBm4Fxn29AZm6lwVYkbY8qMMUuBi4D3nG7+p853Rznr7wBOAeYZY4a5efw85fzAWIodi/Z57OCl\nnwEXG2PuNsYMC8LaTXE9+4rIWmx3/yFgNrAWm5t/cVDXM4WsHzg38BbgQ+BO4OtYl8pG7H9/SMDX\n9EJgs3Ojtib1tgQYAnzsbB/Ijdzler7v/PcvANdir+PNwNXYQXZXGmM+F4I2+r5zHdvb6K+NMZ/F\nKsp7gQnGmMEByXmAMeYu4KfABcaYISLyOvAP4IfOZhuBe4Dxzvdh7uHupGAl3qWRDwfeFZEjRGRx\n8nYi8qSITBSR32CrHH4G2K/Q47slp4hsM8b0A/YBRmK7V3sBnxGR9caORA1azvZG9UvgShE5RkRu\nwzbMMkdu3+hG1vbv5gGHABtE5M8icjvwILsWUQtKTsTS5rxfi7V4fZMvSznb//tLsf7w00TkTmzV\n0DeByWGQU0TanNHaP8W6UW4EVmIHCPYBdhnJ7bWcjgF5G/CMiIx3ZDrc2awamGyMGSki24F3sT2H\nmF9yFoobgc1SoMV5Pw47LB+naxU3xtQBz4rIJ+3BAhFZbYwZDCRcOL5bcj4JrHK2WQH8LzbgsdQY\nM05EXtx1l4HJ+ZSI3NHleu4NvOWTjFnLKiLLjTE3A6cD1zjbfgZbDTMsctbhtFFnm7uBfYz/gc3u\n5HxKRP5mjGnGDqh7UkTeM8YMxbbXUMgJPAUsF5HzjDGlzr3fD+u+iAHNPskZw/aoVmNjSFuNHXU+\nGqhztnkBeA5rWH5DRF42xowAPvVJxoLJ2xI3xhxvjHkU+IUxZoaz+jlgozHmd9gu1BbgJ8C3jY1Y\nizHmZGPM49gn3iavu6s5yHkxcBbwADBORM4RkeewluQHXsqYo5yXAN91FExb0vXcQId7ICyy/sQY\n810RmQe8boy5xhjzDDYu8q8wyYlto+29rWHAcL8UeC7/vTFmFrAcm+V1nTHmKazF2xAmOYFznDb6\niTHmZGzCwD9x3FQ+ynmmiGxyFHipiLQCL2F72ji9hiuBYcaYhcYW81sHbAnKlZYzIpLzgn2SPYvt\nco7HWgEXYi37/8Z2n4qdbb8J/Br7FD4WqAe+ns9xPZbzbGAhtngX2AdcUQjl/CbWJ1qOvWlW+nU9\n85T1Nuda7g6MwVpEYZRzETDY+TwSODGEcn7LkbMv1kV1DnBKCOVsv55lwOewAcNTA5LzD8Clznft\n8h3trI8n/S6OTYP+mh9yunrOOVycnUoN+xRblPRdFdZaHQgchS2A9f+c78Zhgxp+KcTeImcf3xpJ\n77mmYZfzEOC+CMjpaxvtRs7/cOT8TNK647BF+/r6IZ/n55/lRfoOtrt+VdKf9D5Q4Xw+B+tPvtX5\n/DXsk/kSrD/qIudCG4//TJWzl8qqcqqcGeRcCfy+y+82Akd5KZtfSzYXqQz79L8A6/8a46y/AVgM\n/B+2a3IwNutgb+f7ic4FPNKXE1E5e62sKqfKmYWcf02Ssxj4Po6ij/qS7cXa13m9Bqh13vfBBqi+\n6HweDtQApYGdjMrZa2VVOVXObuS8HdgtKDm9XLLKThGR9tS1G4CRxphpYiP3W0Tkaee7WdjI87Zs\n9ukFKqf7REVWldNdeqCcLcD2IGT0nDyefOcATyR9ngT8maRuVRgWlbP3yqpyqpxhltPtJadJIdoH\nlxhbrnMjNiH+MeA1CVFVQpXTfaIiq8rpLipn+MlpsI9zkfphR9zNAN4SkYfDdpFUTveJiqwqp7uo\nnOEnn2H3s7GR4OPFKW4VUlRO94mKrCqnu6icISbnOTZNRIqlq5zuExVZVU53UTnDjU6UrCiKEmHC\nNGONoiiKkiOqxBVFUSKMKnFFUZQIo0pcURQlwqgSVxRFiTCqxBVFUSKMKnFFUZQI8/8Bb8M4wxYi\noB8AAAAASUVORK5CYII=\n", "text/plain": [ - "" + "(494, 554, 52)" ] }, + "execution_count": 86, "metadata": {}, - "output_type": "display_data" + "output_type": "execute_result" } ], "source": [ - "fig, ax = plt.subplots()\n", - "ax.plot_date(beatles_df['release_date'].values, beatles_df['gloom'].values, linestyle='-')\n", - "\n", - "fig.autofmt_xdate()\n", - "\n", - "for a in beatles_df.itertuples():\n", - " for t in tracks.find({'album.id': a[1], 'gloom': {'$exists': True}}):\n", - " ax.scatter(a.release_date, t['gloom'])\n", + "in_both = set(g['ctitle'] for g in genius_tracks.find({}, ['ctitle']) if tracks.find({'ctitle': g['ctitle']}).count())\n", + "genius_only = set(g['ctitle'] for g in genius_tracks.find({}, ['ctitle']) if not tracks.find({'ctitle': g['ctitle']}).count())\n", + "spotify_only = set(s['ctitle'] for s in tracks.find({}, ['ctitle']) if not genius_tracks.find({'ctitle': s['ctitle']}).count())\n", + "len(in_both), len(genius_only), len(spotify_only)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Copy the lyrics over\n", + "Now can can connect the tracks, let's copy across the lyrics from the Genius collection into the Spotify collection. We'll calculate the lyrical density at the same time.\n", "\n", - "plt.show()" + "* [Top](#top)" ] }, { "cell_type": "code", - "execution_count": 116, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
_idartist_namenamerelease_dategloom
276400dnyeDyD2mIFHfkwHXNRadioheadPablo Honey1993-02-220.345315
26500FEaUzn8lN9zWFyZG5C2RadioheadThe Bends1995-03-280.341176
257dxKtc08dYeRVHt3p9CZJnRadioheadOK Computer1997-05-280.352902
2419RUXBFyM4PpmrLRdtqWbpRadioheadKid A2000-10-010.343130
236V9YnBmFjWmXCBaUVRCVXPRadioheadAmnesiac2001-03-120.373617
211oW3v5Har9mvXnGk0x4fHmRadioheadHail To the Thief2003-01-010.313755
206Eo5EkmdLvZrONzi046iC2RadioheadCom Lag: 2+2=52004-03-240.257476
1936lJLPoPPOKNFddTAcirncRadioheadIn Rainbows Disk 22007-01-010.382191
187eyQXxuf2nGj9d2367Gi5fRadioheadIn Rainbows2007-12-280.324238
131DBkJIEoeHrTX4WCBQGcCiRadioheadThe King Of Limbs2011-02-180.282058
166vuykQgDLUCiZ7YggIpLM9RadioheadA Moon Shaped Pool2016-05-080.382391
\n", - "
" - ], + "execution_count": 87, + "metadata": {}, + "outputs": [], + "source": [ + "for t in tracks.find({}, ['ctitle', 'duration_ms']):\n", + " gts = genius_tracks.find({'ctitle': t['ctitle'], 'lyrics': {'$exists': True}}, ['lyrics', 'original_lyrics'])\n", + " for gt in gts:\n", + " tracks.update_one({'_id': t['_id']}, \n", + " {'$set': {'lyrics': gt['lyrics'], \n", + " 'original_lyrics': gt['original_lyrics'],\n", + " 'lyrical_density': 1000 * len(gt['lyrics'].split()) / t['duration_ms']}})" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Sentiment analysis\n", + "I couldn't find an easily-installable equivalent to the NRC corpus, so I'm using a sentiment analysis API endpoint from [Text Processing](http://text-processing.com/docs/sentiment.html).\n", + "\n", + "* [Top](#top)" + ] + }, + { + "cell_type": "code", + "execution_count": 88, + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "for t in tracks.find({'lyrics': {'$exists': True}}, ['lyrics']):\n", + " text = t['lyrics']\n", + " if text:\n", + " query = urllib.parse.urlencode({'text': text}).encode('ascii')\n", + " headers = {'Accept': 'application/json',\n", + " 'User-Agent': 'curl/7.9.8 (i686-pc-linux-gnu) libcurl 7.9.8 (OpenSSL 0.9.6b) (ipv6 enabled)'}\n", + " request = urllib.request.Request('http://text-processing.com/api/sentiment/', \n", + " headers=headers, data=query)\n", + " with urllib.request.urlopen(request) as f:\n", + " response = json.loads(f.read().decode('utf-8'))\n", + " tracks.update_one({'_id': t['_id']}, {'$set': {'sentiment': response}})" + ] + }, + { + "cell_type": "code", + "execution_count": 89, + "metadata": {}, + "outputs": [ + { + "data": { "text/plain": [ - " _id artist_name name release_date \\\n", - "27 6400dnyeDyD2mIFHfkwHXN Radiohead Pablo Honey 1993-02-22 \n", - "26 500FEaUzn8lN9zWFyZG5C2 Radiohead The Bends 1995-03-28 \n", - "25 7dxKtc08dYeRVHt3p9CZJn Radiohead OK Computer 1997-05-28 \n", - "24 19RUXBFyM4PpmrLRdtqWbp Radiohead Kid A 2000-10-01 \n", - "23 6V9YnBmFjWmXCBaUVRCVXP Radiohead Amnesiac 2001-03-12 \n", - "21 1oW3v5Har9mvXnGk0x4fHm Radiohead Hail To the Thief 2003-01-01 \n", - "20 6Eo5EkmdLvZrONzi046iC2 Radiohead Com Lag: 2+2=5 2004-03-24 \n", - "19 36lJLPoPPOKNFddTAcirnc Radiohead In Rainbows Disk 2 2007-01-01 \n", - "18 7eyQXxuf2nGj9d2367Gi5f Radiohead In Rainbows 2007-12-28 \n", - "13 1DBkJIEoeHrTX4WCBQGcCi Radiohead The King Of Limbs 2011-02-18 \n", - "16 6vuykQgDLUCiZ7YggIpLM9 Radiohead A Moon Shaped Pool 2016-05-08 \n", - "\n", - " gloom \n", - "27 0.345315 \n", - "26 0.341176 \n", - "25 0.352902 \n", - "24 0.343130 \n", - "23 0.373617 \n", - "21 0.313755 \n", - "20 0.257476 \n", - "19 0.382191 \n", - "18 0.324238 \n", - "13 0.282058 \n", - "16 0.382391 " + "dict_keys(['track_number', 'time_signature', '_id', 'preview_url', 'sentiment', 'loudness', 'type', 'external_ids', 'uri', 'album_id', 'lyrics', 'lyrical_density', 'tempo', 'danceability', 'href', 'disc_number', 'available_markets', 'analysis_url', 'instrumentalness', 'artist_id', 'name', 'id', 'valence', 'external_urls', 'ctitle', 'track_href', 'duration_ms', 'artist_name', 'explicit', 'speechiness', 'artists', 'album', 'key', 'original_lyrics', 'popularity', 'acousticness', 'liveness', 'mode', 'energy'])" ] }, - "execution_count": 116, + "execution_count": 89, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "radiohead_df = albums_df[(albums_df['artist_name'] == 'Radiohead') & (albums_df['gloom'] > 0)]\n", - "radiohead_df" + "tracks.find_one({'sentiment': {'$exists': True}}).keys()" ] }, { "cell_type": "code", - "execution_count": 117, + "execution_count": 90, "metadata": { - "collapsed": false + "scrolled": true }, "outputs": [ { "data": { - "image/png": "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\n", "text/plain": [ - "" + "{'_id': '74tlMxJ8wF0sNp93GBEPdK',\n", + " 'acousticness': 0.00352,\n", + " 'album': {'album_type': 'album',\n", + " 'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/22bE4uQ6baNwSHPVcDxLCe'},\n", + " 'href': 'https://api.spotify.com/v1/artists/22bE4uQ6baNwSHPVcDxLCe',\n", + " 'id': '22bE4uQ6baNwSHPVcDxLCe',\n", + " 'name': 'The Rolling Stones',\n", + " 'type': 'artist',\n", + " 'uri': 'spotify:artist:22bE4uQ6baNwSHPVcDxLCe'}],\n", + " 'available_markets': ['GB'],\n", + " 'external_urls': {'spotify': 'https://open.spotify.com/album/3PbRKFafwE7Of8e4dTee72'},\n", + " 'href': 'https://api.spotify.com/v1/albums/3PbRKFafwE7Of8e4dTee72',\n", + " 'id': '3PbRKFafwE7Of8e4dTee72',\n", + " 'images': [{'height': 640,\n", + " 'url': 'https://i.scdn.co/image/4bd988736fe53e8109488f0f390cdfd5d119762d',\n", + " 'width': 640},\n", + " {'height': 300,\n", + " 'url': 'https://i.scdn.co/image/b5c53642ccdaac3120aa766ce5e29d9c1b61794f',\n", + " 'width': 300},\n", + " {'height': 64,\n", + " 'url': 'https://i.scdn.co/image/9c6e2872cbd2688c528d5d43c57651d12c19eec1',\n", + " 'width': 64}],\n", + " 'name': 'Totally Stripped (Live)',\n", + " 'type': 'album',\n", + " 'uri': 'spotify:album:3PbRKFafwE7Of8e4dTee72'},\n", + " 'album_id': '3PbRKFafwE7Of8e4dTee72',\n", + " 'analysis_url': 'https://api.spotify.com/v1/audio-analysis/74tlMxJ8wF0sNp93GBEPdK',\n", + " 'artist_id': '22bE4uQ6baNwSHPVcDxLCe',\n", + " 'artist_name': 'The Rolling Stones',\n", + " 'artists': [{'external_urls': {'spotify': 'https://open.spotify.com/artist/22bE4uQ6baNwSHPVcDxLCe'},\n", + " 'href': 'https://api.spotify.com/v1/artists/22bE4uQ6baNwSHPVcDxLCe',\n", + " 'id': '22bE4uQ6baNwSHPVcDxLCe',\n", + " 'name': 'The Rolling Stones',\n", + " 'type': 'artist',\n", + " 'uri': 'spotify:artist:22bE4uQ6baNwSHPVcDxLCe'}],\n", + " 'available_markets': ['GB'],\n", + " 'ctitle': 'honky tonk women',\n", + " 'danceability': 0.367,\n", + " 'disc_number': 1,\n", + " 'duration_ms': 293773,\n", + " 'energy': 0.962,\n", + " 'explicit': False,\n", + " 'external_ids': {'isrc': 'GBCBR1500392'},\n", + " 'external_urls': {'spotify': 'https://open.spotify.com/track/74tlMxJ8wF0sNp93GBEPdK'},\n", + " 'href': 'https://api.spotify.com/v1/tracks/74tlMxJ8wF0sNp93GBEPdK',\n", + " 'id': '74tlMxJ8wF0sNp93GBEPdK',\n", + " 'instrumentalness': 0.000172,\n", + " 'key': 0,\n", + " 'liveness': 0.962,\n", + " 'loudness': -5.589,\n", + " 'lyrical_density': 0.48336640875778236,\n", + " 'lyrics': \"i met a gin-soaked barroom queen in memphis she tried to take me upstairs for a ride she had to heave me right across her shoulder cause i just can't seem to drink it off my mind it's the honky tonk women gimme, gimme, gimme the honky tonk blues i laid a divorcee in new york city i had to put up some kind of a fight the lady then she covered me with roses she blew my nose and then she blew my mind it's the honky tonk women gimme, gimme, gimme the honky tonk blues strollin' on the boulevards of paris naked as the day that i will die the sailors, they're so charming there in paris but i just don't seem to sail you off my mind it's the honky tonk women gimme, gimme, gimme the honky tonk blues\",\n", + " 'mode': 1,\n", + " 'name': 'Honky Tonk Women - Live',\n", + " 'original_lyrics': \"\\n\\nI met a gin-soaked barroom queen in Memphis\\nShe tried to take me upstairs for a ride\\nShe had to heave me right across her shoulder\\nCause I just can't seem to drink it off my mind\\n\\nIt's the honky tonk women\\nGimme, gimme, gimme the honky tonk blues\\n\\nI laid a divorcee in New York City\\nI had to put up some kind of a fight\\nThe lady then she covered me with roses\\nShe blew my nose and then she blew my mind\\n\\nIt's the honky tonk women\\nGimme, gimme, gimme the honky tonk blues\\n\\nStrollin' on the boulevards of Paris\\nNaked as the day that I will die\\nThe sailors, they're so charming there in Paris\\nBut I just don't seem to sail you off my mind\\n\\nIt's the honky tonk women\\nGimme, gimme, gimme the honky tonk blues\\n\\n\",\n", + " 'popularity': 19,\n", + " 'preview_url': 'https://p.scdn.co/mp3-preview/671f51874a70b3f786fe38b452f2c0fa0e64356b?cid=null',\n", + " 'sentiment': {'label': 'neutral',\n", + " 'probability': {'neg': 0.6068924635372548,\n", + " 'neutral': 0.6112522000410702,\n", + " 'pos': 0.3931075364627452}},\n", + " 'speechiness': 0.11,\n", + " 'tempo': 114.303,\n", + " 'time_signature': 4,\n", + " 'track_href': 'https://api.spotify.com/v1/tracks/74tlMxJ8wF0sNp93GBEPdK',\n", + " 'track_number': 2,\n", + " 'type': 'audio_features',\n", + " 'uri': 'spotify:track:74tlMxJ8wF0sNp93GBEPdK',\n", + " 'valence': 0.426}" ] }, + "execution_count": 90, "metadata": {}, - "output_type": "display_data" + "output_type": "execute_result" } ], "source": [ - "fig, ax = plt.subplots()\n", - "ax.plot_date(radiohead_df['release_date'].values, radiohead_df['gloom'].values, linestyle='-')\n", - "\n", - "for a in radiohead_df.itertuples():\n", - " for t in tracks.find({'album.id': a[1], 'gloom': {'$exists': True}}):\n", - " ax.scatter(a.release_date, t['gloom'])\n", - "\n", - "fig.autofmt_xdate()\n", - "plt.show()" + "tracks.find_one({'sentiment': {'$exists': True}})" ] }, { - "cell_type": "markdown", + "cell_type": "code", + "execution_count": 91, "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(606, 65)" + ] + }, + "execution_count": 91, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ - "## Complexity per album\n", - "Let's generate the same plots for \"complexity\" per album.\n", - "\n", - "* [Top](#top)" + "tracks.find({'sentiment': {'$exists': True}}).count(), tracks.find({'sentiment': {'$exists': False}}).count()" ] }, { "cell_type": "code", - "execution_count": 118, - "metadata": { - "collapsed": false, - "scrolled": true - }, + "execution_count": 92, + "metadata": {}, "outputs": [ { "data": { "text/plain": [ - "defaultdict(int,\n", - " {'03Qh833fEdVT30Pfs93ea6': 0.3031378075765009,\n", - " '0PYyrqs9NXtxPhf0CZkq2L': 0.3955461017790891,\n", - " '19K3IHYeVkUTjcBHGfbCOi': 0.49267873060230916,\n", - " '19RUXBFyM4PpmrLRdtqWbp': 0.19682403824100217,\n", - " '1DBkJIEoeHrTX4WCBQGcCi': 0.23682091199666255,\n", - " '1PULmKbHeOqlkIwcDMNwD4': 0.33137519763673373,\n", - " '1oW3v5Har9mvXnGk0x4fHm': 0.29898400325001767,\n", - " '2Pqkn9Dq2DFtdfkKAeqgMd': 0.28015413095314634,\n", - " '2pCqZLeavM2BMovJXsJEIV': 0.354664325706374,\n", - " '36lJLPoPPOKNFddTAcirnc': 0.1704162869852709,\n", - " '3OdI6e43crvyAHhaqpxSyz': 0.44772169900647624,\n", - " '3nkEsxmIX0zRNXGAexaHAn': 0.5849736696540723,\n", - " '47bcKzmKgmMPHXNVOWpLiu': 0.2953681657492741,\n", - " '500FEaUzn8lN9zWFyZG5C2': 0.23613033343466053,\n", - " '5XfJmldgWzrc1AIdbBaVZn': 0.3884655768099993,\n", - " '5ju5Ouzan3QwXqQt1Tihbh': 0.4001232105218359,\n", - " '6400dnyeDyD2mIFHfkwHXN': 0.22536295726702718,\n", - " '6Eo5EkmdLvZrONzi046iC2': 0.3776567485151355,\n", - " '6P9yO0ukhOx3dvmhGKeYoC': 0.2752720160835255,\n", - " '6V9YnBmFjWmXCBaUVRCVXP': 0.1561887159181926,\n", - " '6vuykQgDLUCiZ7YggIpLM9': 0.12056755508379578,\n", - " '71Mwd9tntFQYUk4k2DwA0D': 0.5490106468656754,\n", - " '7BgGBZndAvDlKOcwe5rscZ': 0.5087387310808495,\n", - " '7dxKtc08dYeRVHt3p9CZJn': 0.16146444373155444,\n", - " '7eyQXxuf2nGj9d2367Gi5f': 0.2913466657800584,\n", - " '7gDXyW16byCQOgK965BRzn': 0.4732550728695838})" + "8" ] }, - "execution_count": 118, + "execution_count": 92, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "pipeline = [\n", - " {'$match': {'gloom': {'$exists': True}}},\n", - " {'$group': {'_id': '$album.id', 'avg_complexity': {'$avg': '$complexity'}}}]\n", - "album_complexities = collections.defaultdict(int, {a['_id']: a['avg_complexity'] for a in tracks.aggregate(pipeline)})\n", - "album_complexities" + "tracks.find({'sentiment': {'$exists': False}, 'lyrics': {'$exists': True}}).count()" ] }, { "cell_type": "code", - "execution_count": 119, - "metadata": { - "collapsed": false, - "scrolled": true - }, + "execution_count": 97, + "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", + "\n", "\n", " \n", " \n", " \n", " \n", " \n", + " \n", " \n", - " \n", - " \n", - " \n", " \n", " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", + " \n", + " \n", " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", " \n", " \n", "
_idartist_namelyricsnamerelease_dategloomcomplexity
157gDXyW16byCQOgK965BRznThe BeatlesPlease Please Me (Remastered)1963-03-220.1772080.473255047DgFAFnhfwoSko23P7pz5George MartinYellow Submarine In Pepperland - Remastered 2009
143nkEsxmIX0zRNXGAexaHAn12z1p43SNSbeowzy8WdYHNkThe BeatlesWith The Beatles (Remastered)1963-11-220.1529130.584974Flying - Remastered 2009
1271Mwd9tntFQYUk4k2DwA0DThe BeatlesA Hard Day's Night (Remastered)1964-07-100.2154070.54901123gKuywOm38axM8sJGq6LaqRadioheadMK 1
117BgGBZndAvDlKOcwe5rscZThe BeatlesBeatles For Sale (Remastered)1964-12-040.1751090.50873932uYSbsxAMmK1awUl06T7ixRadioheadMK 2
1019K3IHYeVkUTjcBHGfbCOiThe BeatlesHelp! (Remastered)1965-08-060.2206220.49267941q6X5sJSWQ2QnqvPghR0KrRadioheadI Am Citizen Insane
54blz5SBUxKbtDNwMWstGNGRadioheadWhere Bluebirds Fly
62zYrFer4QGSQkk5aUawfHBRadioheadHunting Bears
74DPQvbgSM0IdX4O3HOACwLRadioheadTreefingers
\n", "
" ], "text/plain": [ - " _id artist_name name \\\n", - "15 7gDXyW16byCQOgK965BRzn The Beatles Please Please Me (Remastered) \n", - "14 3nkEsxmIX0zRNXGAexaHAn The Beatles With The Beatles (Remastered) \n", - "12 71Mwd9tntFQYUk4k2DwA0D The Beatles A Hard Day's Night (Remastered) \n", - "11 7BgGBZndAvDlKOcwe5rscZ The Beatles Beatles For Sale (Remastered) \n", - "10 19K3IHYeVkUTjcBHGfbCOi The Beatles Help! (Remastered) \n", + " _id artist_name lyrics \\\n", + "0 47DgFAFnhfwoSko23P7pz5 George Martin \n", + "1 2z1p43SNSbeowzy8WdYHNk The Beatles \n", + "2 3gKuywOm38axM8sJGq6Laq Radiohead \n", + "3 2uYSbsxAMmK1awUl06T7ix Radiohead \n", + "4 1q6X5sJSWQ2QnqvPghR0Kr Radiohead \n", + "5 4blz5SBUxKbtDNwMWstGNG Radiohead \n", + "6 2zYrFer4QGSQkk5aUawfHB Radiohead \n", + "7 4DPQvbgSM0IdX4O3HOACwL Radiohead \n", "\n", - " release_date gloom complexity \n", - "15 1963-03-22 0.177208 0.473255 \n", - "14 1963-11-22 0.152913 0.584974 \n", - "12 1964-07-10 0.215407 0.549011 \n", - "11 1964-12-04 0.175109 0.508739 \n", - "10 1965-08-06 0.220622 0.492679 " + " name \n", + "0 Yellow Submarine In Pepperland - Remastered 2009 \n", + "1 Flying - Remastered 2009 \n", + "2 MK 1 \n", + "3 MK 2 \n", + "4 I Am Citizen Insane \n", + "5 Where Bluebirds Fly \n", + "6 Hunting Bears \n", + "7 Treefingers " ] }, - "execution_count": 119, + "execution_count": 97, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "albums_df['complexity'] = albums_df['_id'].apply(lambda i: album_complexities[i])\n", - "beatles_df = albums_df[albums_df['release_date'] < datetime(1971, 1, 1)]\n", - "radiohead_df = albums_df[(albums_df['artist_name'] == 'Radiohead') & (albums_df['gloom'] > 0)]\n", - "albums_df.head()" + "pd.DataFrame(list(tracks.find({'sentiment': {'$exists': False}, \n", + " 'lyrics': {'$exists': True}}, \n", + " ['name', 'artist_name', 'lyrics'])))" ] }, { "cell_type": "code", - "execution_count": 120, - "metadata": { - "collapsed": false - }, + "execution_count": 99, + "metadata": {}, "outputs": [ { "data": { - "image/png": "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\n0gWkfWoAAAAASUVORK5CYII=\n", "text/plain": [ - "" + "[{'_id': '47DgFAFnhfwoSko23P7pz5',\n", + " 'artist_name': 'George Martin',\n", + " 'lyrics': '',\n", + " 'name': 'Yellow Submarine In Pepperland - Remastered 2009',\n", + " 'original_lyrics': '\\n\\n[Instrumental]\\n\\n'},\n", + " {'_id': '2z1p43SNSbeowzy8WdYHNk',\n", + " 'artist_name': 'The Beatles',\n", + " 'lyrics': '',\n", + " 'name': 'Flying - Remastered 2009',\n", + " 'original_lyrics': '\\n\\n[Instrumental]\\n\\n'},\n", + " {'_id': '3gKuywOm38axM8sJGq6Laq',\n", + " 'artist_name': 'Radiohead',\n", + " 'lyrics': '',\n", + " 'name': 'MK 1',\n", + " 'original_lyrics': '\\n\\n[Instrumental]\\n\\n'},\n", + " {'_id': '2uYSbsxAMmK1awUl06T7ix',\n", + " 'artist_name': 'Radiohead',\n", + " 'lyrics': '',\n", + " 'name': 'MK 2',\n", + " 'original_lyrics': '\\n\\n[Instrumental]\\n\\n'},\n", + " {'_id': '1q6X5sJSWQ2QnqvPghR0Kr',\n", + " 'artist_name': 'Radiohead',\n", + " 'lyrics': '',\n", + " 'name': 'I Am Citizen Insane',\n", + " 'original_lyrics': '\\n\\n[Instrumental]\\n\\n'},\n", + " {'_id': '4blz5SBUxKbtDNwMWstGNG',\n", + " 'artist_name': 'Radiohead',\n", + " 'lyrics': '',\n", + " 'name': 'Where Bluebirds Fly',\n", + " 'original_lyrics': '\\n\\n[Distorted \"Somewhere Over The Rainbow\" lyrics]\\n\\n'},\n", + " {'_id': '2zYrFer4QGSQkk5aUawfHB',\n", + " 'artist_name': 'Radiohead',\n", + " 'lyrics': '',\n", + " 'name': 'Hunting Bears',\n", + " 'original_lyrics': '\\n\\n[Instrumental]\\n\\n'},\n", + " {'_id': '4DPQvbgSM0IdX4O3HOACwL',\n", + " 'artist_name': 'Radiohead',\n", + " 'lyrics': '',\n", + " 'name': 'Treefingers',\n", + " 'original_lyrics': '\\n\\n[Instrumental]\\n\\n'}]" ] }, + "execution_count": 99, "metadata": {}, - "output_type": "display_data" + "output_type": "execute_result" } ], "source": [ - "fig, ax = plt.subplots()\n", - "ax.plot_date(beatles_df['release_date'].values, beatles_df['complexity'].values, linestyle='-')\n", - "\n", - "fig.autofmt_xdate()\n", - "\n", - "for a in beatles_df.itertuples():\n", - " for t in tracks.find({'album.id': a[1], 'complexity': {'$exists': True}}):\n", - " ax.scatter(a.release_date, t['complexity'])\n", - "\n", - "plt.show()" + "list(tracks.find({'sentiment': {'$exists': False}, \n", + " 'lyrics': {'$exists': True}}, \n", + " ['name', 'artist_name', 'lyrics', 'original_lyrics']))" ] }, { "cell_type": "code", - "execution_count": 121, - "metadata": { - "collapsed": false - }, - "outputs": [ - { - "data": { - "image/png": "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\nP7ZvV332WXcTGznSjePSS1WfeUZ127aPt7en0d3x+6ZXMEo+yMfBtWubdNq0Oq2qul6nTavbGaqW\nS6KQRjlXFltbm+q//qvqD37g00AD5I03VPfbz4Uw+sm8eW6lbb5JuHVuvtm5dQYOVD3zzN3dOps2\nbdI+fQYpfEPheoVvaJ8+g0J9LueShoYGLSs7YrebXlnZJzO+6RWEkg/ycXDt2iYdNSp9THIhkyuL\n7brrVCdP7trtEeab4HPPOUX/xhv+HK+93UXwPPusP8fzk85unQkTVK++ukkHD75kt2tm6NCLC/aa\n8TtCryCU/C7lskJhnsIK3x8HW1udy2DyZMsTko5cTEr/9req+++v+tZb6dtEYVLvppuc62b79uyP\n9YtfqB51VPgnn7dvV128WPWww+yaScZZ8iMVBitUKgzW0tKKnFjysSnkXVFRwebNK4AzcUkxb+H9\n99d1WeNVFbZsgbff3n3btCn1vm3b3PL1997LX9bDsFNeXk5t7Ze4664vAAcBb1Bb+9WMw+VaWuD8\n8114YLpFOlEpdD5rFjz/PHzzm3DHHZkfRxVuvhn+/d/Dn5qgpAQmTYIDDuhgzZqPXzMNDR288w7s\ns09ehpc3dq9J7bKGikzNSU3q2Cj5l156GVc44hF2FY74Krff/jpDh5anVdwiTnkktn33dX8/8QkX\nF5y8b9Ag13769F48+ujH84QUFcWmLnrGtLS0MHfuw8BSEjH9c+dWc/313+mxwlWFL38Zpk+HE05I\n3y4qqZ979XJJzI46yhUZOffczI7zu9/BBx+4PDlRIV1unba2XowaBZMnQ20tHH98/tI1B0kiyWFt\n7dTdVujn5HxNZ+LnYyMLd82ECeenfBwcPPgavfRS1TlzVO+9V/WXv1T9y19UX38980LMqXzyQ4de\nrfvv36Q1Narr12csRuTx0yf/n//pwvR27Oi6XdTC85Yvd6t1X301s+8ff7zqT3/q65ByTlfzWO++\nq3r33arjxrkoneuvV123Lt8jDgaLk+8BRx99dScF77ajj74642N2RSK6prp6V3TN1q1ugnCffVwU\niB++16jhl8L9619Vy8tV167tXvsohZiqusiTMWNU33+/Z99raFA96KBonluprpnOLF+uetll7hqa\nOFH1sccsgVp3yLmSx/lJVgFrgFkpPr8Sl2v+JeBZ4KA0x8lYyDAVTXjtNdUvfMFdxGGMfsg12Src\n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\n", - "text/plain": [ - "" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "fig, ax = plt.subplots()\n", - "ax.plot_date(radiohead_df['release_date'].values, radiohead_df['complexity'].values, linestyle='-')\n", - "\n", - "fig.autofmt_xdate()\n", - "\n", - "for a in radiohead_df.itertuples():\n", - " for t in tracks.find({'album.id': a[1], 'complexity': {'$exists': True}}):\n", - " ax.scatter(a.release_date, t['complexity'])\n", - "\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", + "execution_count": 101, "metadata": {}, - "source": [ - "That isn't what I was expecting. I was expecting the complexity to go up over time, as bands became more adept at contrasting lyrics and melody. It could be because high complexity requires high valence, and bands tend not to become more \"poppy\" over time.\n", - "\n", - "Let's test that, by also showing the valence of tracks and albums over time." - ] - }, - { - "cell_type": "code", - "execution_count": 122, - "metadata": { - "collapsed": false - }, - "outputs": [], - "source": [ - "pipeline = [\n", - " {'$match': {'valence': {'$exists': True}}},\n", - " {'$group': {'_id': '$album.id', 'avg_valence': {'$avg': '$valence'}}}]\n", - "album_valences = collections.defaultdict(int, {a['_id']: a['avg_valence'] for a in tracks.aggregate(pipeline)})\n", - "albums_df['valence'] = albums_df['_id'].apply(lambda i: album_valences[i])\n", - "beatles_df = albums_df[albums_df['release_date'] < datetime(1971, 1, 1)]\n", - "radiohead_df = albums_df[(albums_df['artist_name'] == 'Radiohead') & (albums_df['gloom'] > 0)]" - ] - }, - { - "cell_type": "code", - "execution_count": 123, - "metadata": { - "collapsed": false - }, "outputs": [ { "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXkAAAD2CAYAAAAzkveEAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXl4VNXZwH93JjPJJJCAZFhkyYRFFjcWQRTUqCyKbbHS\nViNaorGWWqN1adUqBsTWqtiqWHFpFFsk+lncqrYsKgq4JApqlUCFMJFFyAQxkMmeOd8fJ5PMJDPJ\nLPfeTCb39zzzTObMzT1nZu59z3ve8y6KEAIDAwMDg/jE1NUDMDAwMDDQDkPIGxgYGMQxhpA3MDAw\niGMMIW9gYGAQxxhC3sDAwCCOMYS8gYGBQRyjipBXFKVAUZRDiqJ8EeT9yxVF+VxRlM8URdmsKMrJ\navRrYGBgYNAxamnyzwKzO3i/FDhbCDEeuBd4WqV+DQwMDAw6IEGNkwghNiuKktHB+x/5vPwIGKxG\nvwYGBgYGHdMVNvlrgH93Qb8GBgYGPQ5VNPlQURTlXOAqYLqe/RoYGBj0VHQT8oqinAI8BVwghDgS\n5BgjkY6BgYFBBAghlEDtapprlOZH+zcUZRiwBrhSCLG7o5MIIYI+8vPzO3w/lh7dZazGOI1xxvLD\nGGdoj45QRZNXFGU1kAX0UxTlGyAfsEqZLZ4CFgHHAY8riqIADUKIKWr0bWBgYGAQHLW8ay7v5P1f\nAL9Qoy8DAwMDg9DpVhGvWVlZXT2EkOkuYzXGqS7GONXFGGf0KJ3Zc/REURQRS+MxMDAw6A4oioLQ\nYePVwMDAwCDGMIS8gYGBQRxjCHkDAwODOMYQ8gYGBgZxjCHkDQwMDOIYQ8gbGBgYxDGGkDcwMDCI\nYwwhb2BgYBDHGELewMDAII4xhLyBgYFBHGMIeQMDA4M4xhDyBgYGBnGMIeQNDAwM4hhDyBsYGBjE\nMYaQNzAwMIhjDCFvYGBgEMcYQt7AwMAgjjGEvIGBgUEco4qQVxSlQFGUQ4qifNHBMY8qivK1oiif\nKYoyXo1+DQwMDAw6Ri1N/llgdrA3FUW5EBghhBgF/BJ4QqV+DQwMDAw6QBUhL4TYDBzp4JC5wN+b\nj/0YSFMUZYAafRsYGBgYBEcvm/xgYK/P6/3NbQYGBgYGGqKXkFcCtAmd+jYwMDDosSTo1M8+YKjP\n6yHAgUAHLl68uOXvrKwssrKytByXgYFBrFDrArcTUhyQZO/q0cQ0GzduZOPGjSEdqwihjkKtKIoD\n+JcQ4uQA780Bfi2EuEhRlKnAw0KIqQGOE1GPR+8Lxbgw4wPjd+xanIXwcS6YrOCph9MLwJHddePp\nZteDoigIIQJZTNQR8oqirAaygH7AISAfsAJCCPFU8zGPARcAbuAqIcTWAOeJTsjrfaE4C+GDHFA8\nIExw5kpt+6ssgcNF0G8KpI2N7Bzd7OLVhVgTMD2NWhe8lgFNNa1tZhvMLeuaa7QbXg+aC3m1iErI\n632h1Lrg5f7t2y8p16a/4jz4+rHW16Ouh8nLwztHN7x4NSfWBExP5HAxvDMTGipb2yypcN4G6DdZ\n37F0hRxRQenqSMjHT8Sr2ymFly8mi2zXgtJV4bVHQ2WJv4AH+bqyJPRz1LqkgG+qkTdTU418XetS\nd6yB+j1crH0/kaL3dWPQnhSHVDp88TTIdr3R83pwFsoJ5Z2Z8tlZqH4fxJOQ1/tCOfJpeO3RcLgo\nvPZAdIUw0+kijopYEjA9lSQ7pE/3b0s/q1Wz1VNR0Ot60FHpih8hn2SH4bn+bcNztVtyZ1wWXns0\n9JsSXnsg9BZmXbVyCJckuzRbmW3SRGC2ydeGqUY/Kkvg0Hr/tkPrZLveioJe14OOSlf8CPlaF5QW\n+LeVFmgnVIb8AFLbOBKlnizb1SZtrLTB+zLq+vA2X/WeBLuTGcSRLW2u522Qzz19n0Jvgq1ID27o\nGkVBj+tBR6UrfoS82wmiyb9NNGkrVH7wBUx6XC4tJz0uX2vF5OVw0XaYulI+h7vpqvck2N3MIEl2\nucnX1Rp8ZQmUPhfefkt3J9iKNGlA1ykKWl8PviuGhBRNV5B6BUNpT1N9AKFSL9u1wtfjpWITHI1A\n+IZD2tjIXSe9mrWv14D3htHiQvZexB9dDYpZTriGGaRj1PCg6o54V6ptP/uAc7uXohAJXm9CDb0c\n40eTr9oVXnu0qOHxEi7RbEB1lWatKDKphRLQu8vAS1dcT7GE/UwwJUmN1pQkX8fzfol3z8pTC01u\n+WxsvHaCGpuT4aCGx0s4RLsBpfcN47vx2uiO3Y3XWEHv6ymW8BN4Nf4CL173S9zO9tm7hNDEFBU/\n5pq0sTBgltyV9zJgVuTmjc7Qc1LxFZhec8vHuTBwRnhC2pENfcdHHzUbCm4neBr92zyNoZuHelpk\nrt5KSizRmSnR+4gnEnqBp8a/zVMr21UmfjT5Wpe0i/tSsUk7zdE7qfii1aSi1qzvLIT/TIJPb5TP\nWrqjNdWDaPBvEw2h7ZF0B/96tVHDg6q70t026dWgsUqupn0x22S7ysSPkNdx+QPoO6moMevr7bce\n6R5Jd/Gv14JoPai6K/Fsew9GsAlMg4ktfsw1Oi5/AHA7KTtYz8r3wSPApEDO2fVkaOGt4p312+bT\nCGfW19u7JlLzg97jjDWi8aDqzjiypfmxp5jovBPbx7ny+vY0GC6UnaKGIAyDsj1Olq9rYsk8SEkC\ndy3kr2kib5qTDLWTKqkx66c4/L8bgKZa7ZbEwdziOhNgPXHpbiCJR9t7R+i0RxY/5hodlz8AK5/+\nc4uAB/m8ZJ5sVx21lrOBNkK1JBLzQ09cuhv0THTaI4sfTV7H5Q9C4Kk70iLgvaQkgUer4KtoZ/0j\n2wBPm0aPbB80K9B/qEMk5oeetnQ36Hmo5TEXAvEj5EF74VB/BPY8D7v/hqnmG9y1+Al6dy2YLCnq\n9ukl2lzwwQLqYqecgD89belu0LPQce8pfsw1WiEElL8PH/wcXssE12aYuIycJe+Rv0YKdvDa5CHn\n5M/h8ztlAJBaqOFxctwEUNrM6UqCbNeSnpiLxSAyYr32gJrouPcUX5q8mpWPasulcNr9N5l7ZeQv\nYOKfISkdgIyBkHfHwyx7+JYW75q8Ox4iY+I82HYbvDEGxj8IGZdGH9LfPOu7jqTgdDlw2J3Y+9WH\nP+sLT8ev1SaaXCw9LRiqp9PTqpbpaF42yv/54mmS6U13Py2fh/4YRvwC0s8ILqiDCaPyzfBpHiT0\nhtOWQ99TI/tczX0U/u5Wcp9cgdVcT32TlYJfLiT7gYdC/2zfroN3Z7dvP3etNjb5yhJ4c1z79ou2\nd26j74ob3phUuo6eXIJRh/J/8aPJdxQM1dmXV70Pdj8Dpc9AYjqMuEYKFmta5/0Gsx33nw6zP5Er\ngXdnwdB5cMpSSOwX4gdqxXXMTu7TBdTUJ1BDMgC5Tz/DjEUJ2JM6+Wcvdd+H1x4tHeVi6UjI67gh\n1UJP0yJjDbVWqt0RHfaeVLHJK4pygaIoOxRF+Z+iKLcFeH+ooijvKIqyVVGUzxRFuVCNfv0INxjK\n0wB7X4WNF8Fbp0LtITjrFbjgExi1MDQB3xkmM4z6JVxUApjgjbHwv8fDdl10OsFq8TetWBI8OJ1h\nnMTahzIX3PFCIjf9oxd3vJBImUu2a0I0wVDhtEdLrEXY9iS7tJcUB4Wb5pJxYxkz71tPxo1lFG6a\na8RGqETUQl5RFBPwGDAbOBHIVhRlTJvD7gJeFEJMBLKBx6Pttx2h5oI4tgs+uwNeHQY7HoJhl8LF\ne2HyX7XbhEw8DiY/JjPpffN/0if20Hsh/7tjYAX1df4TQ0N9I46BFSGfo+zYcfzx9V7cdXEdf7my\nirsuruOPr/ei7NhxIZ8jLCLNxZLQK0DQVo2mkcsxU8GqJ+bsoXWlmpLoZtSgr0lJdJP79DO4jsW5\nFq8TamjyU4CvhRBlQogG4AVgbptjPEBq8999gP0q9OtPioOycg9L1kD+P2HJGigr9zRHetbKG+bt\n82DdmVKLP/9dmLkJhv8cEpJVH05A+p4i+z3xTvjwStiSDe69nf6bPXkPBb9ciM1aTaqtEpu1moJf\nLsSevCfkrp949EH+PL/KL3jrz/OreGL5w5F+ms6JJBiqOsj3Eaw9WvSOBA5GrK0odMTphOwzX6Ls\n0WFsvOtsyh4dxqVnvhTeStUgKGrY5AcDvnfgPqTg92UJsE5RlBuAZGCGCv36UXawiuUb+7DkokOt\naQb+lUKe43dk1L8BfSfCqF/B4LlgtnZ+Qq1QFMj4GQy+CLbfD/8eD2NuhrG3gDmIgT2hF9lT/8GM\ncf9utVmmVkDCHZ33d2w3/O8xEg6+HDB4q+673dF/po4INxiqK/z52272d4UzQg/O2ZN5vIsncq7E\nYm4t3/lUzpVUHj8DsMtNfD3SY8cpagj5QDu6be+SbOBZIcRfFEWZCqxCmnbasXjx4pa/s7KyyMrK\nCmkQK5cvahHw0Jxm4IffsezVT8h/pAh6ZYZ0nnBxuaQm4nCAPZx7MSEFTrkHhl8FW2+BN0+ULpqD\nf9Tek6exCkw27KkVUriDrJ4TLC+PEHDobdj5KFR8CCNyaep/Ee7a19oFb6U2bIVNP4UxN3XsRaQX\nKUPDa48Wt1Ou5BoqW9sSbPoL1x6csye94V2Ej4AHSDA3kd7wLhRviuuSiJHKj40bN7Jx48aQjlVD\nyO8Dhvm8HgIcaHNMLtJmjxDiI0VRkhRFSRdCtDMq+wr5cPBU7w+cZsBq10zAFxbC1VeD2QxNTfDM\nM5AdrlNGr0w4+2X4dr3MYfG/x2HSI5Dms62R4mg/lSpKewHQWA3OVVK4A4y+Eaa9AAnJ/PK2Pdz8\n6y/587zdLSudm9eM4PcPvwKejfDhz6Xnz+ibYNg8qUV2BR2Za7TQ4mJFuGrpNx3r7qF1h9pf3gDf\nfx64JOIJ18WFRl9YCLm5YLVCfT0UFIQuP9oqwEuWLAl6rBo2+WJgpKIoGYqiWIHLgNfbHFNGs4lG\nUZSxQGIgAR8NpqR+LdGnXty1YErSZmPR5YIFC6C2Ftxu+bxggWyPiEEzYc7ncPwFsOEsqd3XN2uX\nXgFgSgJzinz2FQDuMhmA9VoG7H8TJj0Kc/4rA7ia9xsyHJn8/q/ruXfrfG5661zu3Tqf3/91PRmj\nTobRefCDnXDi72HXE/D6CNj+gEzjoDd6m2tiKSGaIxsu+FT+fhd8qo4bZ3fYzB0YxHqbECRFSByU\nRHS5pICvqYHKSvmcmxuF/OiAqDV5IUSToijXA+uQk0aBEKJEUZQlQLEQ4g3gVuBpRVFuQm7CLoi2\n37bk/PwK8u9a0yb1L+Tde4XaXQGwbRs0tCl81NAg22dFGltkskizScbl8PnvZdTsqX+E4Qso21fO\nyn824BH1mBSFnMGHyEh+X2rth96FzAUw6yPoPSLo6TMcmdy37C+BtTqTGYbMlY/vtsKOv0hh75gv\nVwS9R0b2mcLVIvU210DsJERT21+/K2IOIiExHSk6fN2ETdD/nMDHx0FJRKdTavA1PlswFotsD8vs\nGwKqBEMJIf4DjG7Tlu/zdwkwXY2+gpExfDR5s2DZm61FPPJmyfZuh20ATC2AiiL49AbKNj3E8pe+\n8p/A/nQTeRcPJeOc22Dqs2Dp3fl5QxUix02EM/8B1Qfg679Kj6T0M+QE1P+c0O32kQitYN5Gbo3M\nNV66OiGaFgK5u2zmup1g6c3hIwqV7j6kpXxPv74e6SARSU2CboDDIU00vjQ0yHa1iZ8EZY1VZAyw\nkT8PlvwE8udBxoAONiejZGgQxTJYe0SkT4FZH7BykxI4d/3n4+CEX4cm4CNx0Us+Hk79A8x1wvFz\noPhX8J+JUPr3zmu1RuoSGGz+6OL9YM3Rwl8/VvYbOqM5GGpo3n4m3rmNoXn7W4Oh4rQkot0ubfA2\nG6SmyueCAvW1eIgnIR/q5qRK7A2icAZrjxjFhCchLfCmckOY5f8irYGbkNwcufuVNB85V8HrDvjy\nXqgNsrXS3J/raDrFu0/DdTQ9tP76TgClzaavYpHt8YwWAjmW9hs6oDVtRzKVNX2oqU/2D4ZKGwvD\nF+irwesQeZydDWVlsGGDfA7baSNE4kfIN1/QwmSj0ZSKMGl7QX8fJOVLsPZoMPVyBN5U7uUI/STN\naR/8hG64NXAVExx/IZy3TiY2q9oD/xoFH18Lldvb9Ve4uU2o+ua5nfeXZIcznvPfZD7juZgTTKqj\nlUB2ZMtEX+dtkM8xmJPH6QRror/l2GJN6LpgKB03q+12mDxZGw2+BSFEzDzkcCJn9WohhtrLRdYp\nRWKovVysXh3V6TrkxReFkKqp/+PFF9Xvy7mnVNzysxGiqgAhnkdUFSBu+dkI4dxTGvpJKorE6ryf\nC5vVLdJsR4TN6har864UoqIousHVHBLii8VCrBkgxDuzhTiwVgiPR5Tv2CqSrF+JkQPmi+mjs8TI\nAfNFkvUrUb5ja4jnLZdjqymPbnzdjR74ucvLhbDZ/O8jm022605NuRAv2IR4ntbHC7aY/z2aZWdA\nuRo3qYZdLsjI8N+tttnkMkiLWXLdOpgdIHPv2rVReNd0QJlzDyuXL8JTfQBT8vHk5C0lwxG6/79r\nbwUZI5OpqW9N4WCzVlO2qxr70PToB+hNHbHzLyA8bHb9mL88voq/L3S2bBZfuSKTnN+9zI9+Oj76\n/gziCq/PuMUiNyDD8RlXlcPFsP4c/2SHpiSY+T70m9wFAwqNjlINx42QLy6GmTOlz6mX1FRp75qs\nwW/jcsGQIf475FYr7Nun8dIrQoqLYeb59VQea93cS+1Vz4Z3rOp+P83RtnffsoDbzj/QLsL23q3z\nue+xVR2eonVC248peXDYE5pB9yTi6HE1iaYOQhfSI/LJe12S0nu7cNidOF0O3A12TVySQF6EK1dK\n7cNkAo9Hu91xNXA4oL7R33ujocmq/vejKDBwBkrqCaQk+Qc+pySB9eCL8O8S6fee7PNIGQbJQyk7\nVMfyOy5kyezWyNz82z4i7/712gr6WIkK1WIcsfLZOsHe24V9uLN5s7mLxunNZtu2gIlGXnp6EDdC\n3m6H9X8rZEJdLg1NVizmerYlFmC3a7fmy86GGTP00z5KSqCoCKZMgbFhKhV2u5yQHvNxOc7N1W7M\npuTBgQudD/kRTLldpilwfyOfv/tE+sFX72Xl8wdYMkf4u4vO3s2y5YvIf6jjFUDEOAvho6uld5YA\npj7TNRuUWhQv6S4FUWJlnMG8mWLN7TQM4sZcE+8lxPLy/AX09dfD8jBchvXesyhz7uGPv57ZPlfO\nXzvWyPMXZrHk7Pa59vPfP5slT4Segz9kal3w8iDAN0GWGS75Vt/rRovrt7vcE7E2zpZJ3wyiqesm\n/TDoyFwTPy6UsVT8QWVKSvwFPMjXJSWhn8MbRu2LN4xaC5JTMvn7O+uZmj+POQ9OYmr+PP7+znqS\nUzo2uZhShgR2Fz38MXy+SBZYV5OD7+Iv4JGvD76rbj+docX1213uCb2rgYWCosiVXVdnZVWB+BHy\nXRTdd3hPCaUbnuPwnjAkbpgUBcnHFKw9EA6HTKTmS3W1NmHUICePn035iI/veYvVv97Fx/e8xU+n\nfNTppJKTt5T8tSNaBL27FvLXjiAn/99QVwH/Gg1Fv5J58tWgald47VqhxfXbXSJe9a4G1hG+kdqN\n7rgo3hI/Qr4Lovt2rs7juA/GkXkoh+M+GMfO1Xma9DMlSD6mYO2BqKiAxka5MX3a8GLSe7tobJTt\nWpCW6GJFTi7JiTX0Sa4kObGGJ3JySUvs+GbJcGSSd/mZLHtTVvha9ibkXX4mGSedC1NWwA92yJTI\n606HzT+Dw59EN9C2JSM7a9cKLa7fbhLxKjc126a2Tmjd7NSz7q3bSWObhV1jU4iR4TFK3Gy8Arpm\nEzy8p4QTxGN+q7kTxGMc3nMd/TLVdbUaO1b63q9b19o2a1Z4m69FRXDZ1EIKrs2lvsmK1VzP1U8V\nUFSUHfYmbiiI77aRYPavS5tgbkR8tw3oIJCgsoQM9z/In+fT5v4HVN4hXdhsA+DUe2HcbbC7ADZd\nAr1HwdjfwaBZ4S+vTUFugWDtWqLF9RsrGTY7IqEX0CalK42yXecN2cNHe3GcqPFLkWIWtRw+2ot+\n/TToUAfPp/jR5L0k2WXQgsYXc+XuwLaSYO3R4HLBpk3+bZs2hZd7+owJLgqu9desn7k2lzMmaKMd\nDRgAFrP/jWsxNzBgQCf/GCxXeNt2S28Y8xv40W4YngPbboV/TwDnavA0BjxFQILlMg/WrjVaXL86\n3RMR43Vb9MVsk55XOte9PbSvipoG/7HUNNg4tE8DF0pnIeLVDBrXz0S8ql36hPgT8jqRNiKwrSRY\nezSosWl6wmAnSpvatorZwgmDwzhJGPTJnICnTaIxj2KhT2YnicaC5QoP1m6yQOaVMOcLmTxt11Pw\nr5Gwc7m0qXZG2lh2cr1fcoqdxEc6225DsD0Cge4bx/2HOwIk8mtuV5NaF40f5KJ4akjwVKJ4amj8\nQJsJzBDyEdIvcywffzvPTzh8/O081U01oFLu6RQHtkT/k9gSNdyES7JjPvM5hJJEo5KCUJIwnxlC\norG0sTCgjTlnwKzOha6iwOA5MGMjTHsRyjfCa5nwxeLgmTKRq6EJ1yxn7G+3k/PkSsb+djsTrlmu\nSYWekCjfAl/ky2eVqNjvYvumYir2x+jmYZIdhuf6tw3PheMm6L5xnD7YzrbEAqrrbFTWpFJdZ2Nb\nYgHpg9VdBR3Z58Rd7T+BuastHNnnVLUfiCc/eS86Rfd5c8EM61fG6SOL+HjXFL45nKFeLpg25OXB\n+jUlLX3NnDc2LD95QC4PP8rFI0yYFA/KVB0CTsL9PWpd8MpghKeBJo8Js8mDYrLAj/eH/3se3Qkl\nD8Hef8pqW2NvaVfvV+90GB3y9iw4tL719YBZcP7aqE65ZbU3QNCCxdzAtsQCpl0eYz7fHfnJH9zQ\nJT7rFftdlJc66T/cobqAB9j2oYvROzNItrZ+5up6GztHlzHhjPD76xl+8qBrilDnjnKs5gZ2fjuW\nv29awM5vx2IxN+DcobIfN1LbHOvOo+TBcaz8ZQ4lD45jjDsvbG1zywdQUyOoqZHPWz5QfajtcB2z\nU1w6uTU3eGcc2UZjowdFgQSzfG5s9MCRbeF3njoaTn9K5sG39Ia1k2FLNnzXei49K/R0SPkWfwEP\ncGhdVBp9xX4XE+rkPkxa8lGSE2uYUJcbexp9Z/78XeCznj7YzrizJmsi4AGGjLSz8NnmFUO1XDEs\nfLaAISPV7y9+hHyklYgixDGmP/VN/jbnhiYLjjH9Ve/r4M4SfnW+9OTxPq47/zEO7gzdN997w7vr\nelGyfyzuul6a3/CFhTB+bAULL9/O+LEVFIYw5x45ouCu8y/g7K5L4ciRKG5w2yAYfx/8qBSOmwTv\n/RDemQUH38aeLvjTfXsYM/gKsk48lzGDr+BP9+3RPwfRwXWUuWDJGuk6umQNlLlke6SU7/iChnbX\naALlO76IcrAqk+Jov3/SWC29a+LMZ92L3Q4XLsxmzG1lXPzoBsbcVsaFC7M1ue7ix4VS73qWSelM\nGr6FT0snkGBqoNFjYdLwbZA0TfWujiOwx4lsD20PoLzUyYcfZpP33HKs5nrqm6wsX/Brzhjp1ERb\ncbng8Xu2cOTYBKqqB9PQZOHxe7YwY8a0Di9kZ+V4Rie08cpJaGBn5Xj6RjsoSyqMvRVOuAGcz8Mn\neZRVmPjm/Qo+uedQa0K0tR9RNlfjhGhtKKs/iUfXwT0+dXzvXgM3TDuJjAjP2X+AguWbth5OjfQf\nEGNRnHUVINp4RIlG+P6/3aNGbYScecYe5v9sEbXf72fq2YM584ylgPrXnCpCXlGUC4CHkSuDAiHE\n/QGO+RmQjyzJ/rkQ4go1+m5B5+g+pxP+++00bJYKBqSVc6iyP18cmKZJtfXvmMLxQdoHh3gOU1om\nec8tp6Y+mRpkTvm85/7K1uurVRunL/8truDT0gnN/Uk+LZ3Af4srOG9O8D2LISPtLLy9gCdyWu3I\nC1cW8NA/VfxSzVYYcRUMX8DKX5/Hkou+ap8QbdFZ5P/iNJrtBM2mAt+/6eC9AMd1eIzC35a/3SLg\nveO4Zx7cu/I17jvtpxF9zPSRJ7NlzSQmDPuUhqYELOZGtn0ziWnZJ0d0Ps0I5jZbe6h7ROxGQJlz\nD8tvm6lLttWohbyiKCbgMeB84ABQrCjKa0KIHT7HjARuA84QQhxVFEX9ncnmHfryT15kt2s4I+yl\n9D/tUs1mfK8tt6Ymne/c8uPYbNrYcgeOHsvjz1zPdee3JrB5/O3r+dn9oXvyHKtLx2T2v2FM5gSO\n1an/UwBQtQureUzLhALNfvNVu4DgfXqXsaNvmEFmfyd7yh088KhdG/OJYsIjlMD1cy19IXMB0Ow6\nhfD/u8VBQAQ/Jozj6urfCTiO2u/90zWHRZKdaQuuo2L9rZQfHUj/1INMW3Bd7GnBwdxjB86QwU8f\n50oN3tMQmxG7EbBy+aIWAQ/aZltVQ5OfAnwthCgDUBTlBWAusMPnmF8AfxVCHAUQQqgfTF/rIu+u\nsfx13UFMJg8ej4lfz17B8lddmlwU3mrrbavZaCGM7HY4bvxlTLjzKqaO+JiPdp/ObTfXhNWXwwEe\n/De3PGiQT76Zk8fVUN/UNn+9hZPH1QT5D38Ou+0cKbPj8WgxulaCpkTueyoM/bG2nftgtm/BXft1\nu3Ek9Qm0hgsDRzbpV84gPZYjXtPGwqjr4WufLHyjmmMV0sbGfsRuBHiq9wdWLqqjmNSDoMbG62Bg\nr8/rfc1tvpwAjFYUZbOiKB8oihKgcF50lGw7yGPrfoXARJMnAYGJx9ZeR8m2g2p31cLUqWXMmbOE\nkSPzmTNnCVOnlmnTUa2L7AEzWX/7bHKznmH97bPJHjAzrA0o76Rks0kXQZtN2yIn9pEnUXDtL7BZ\nq0m1VWKzVlNw7S+wjzypw/9zueTEWVMjE6rV1MjXWvmt//DypVyxwj8h2hUrRvDDy5dq02EQFub9\nhrvX4DeOu9fAwosjtcj7EOsRrwCTl8vqS1NXyufJPv7B3WH8YWLy1AbOtpoc5aQeADU0+UC7OG2d\n3ROAkcBQsQpfAAAgAElEQVTZwDBgk6IoJ3o1e18WL17c8ndWVhZZWVkhDaLoy8A3Q9GXGYw9I6RT\nhMWePWXMnLmc3buXACls3erms8/yWb8+j8xMFW5MX5o3le2pFdhTmxdBptSwN6Cys2HG9AqcO8px\njOmviT9/C0l2sm/5ATNOHo2zIhNH+h7ssx7odLze6F7fvPfe6F4tJqQmTyaTR5zJg2/uxiPApMCk\n4WfS5NG33GBGuuCGOb1Y9mZVyzhuuDCJjO+fhL2TYejFuo6nS/Bq7m2IibKAaiEEbL+PnEnfkP+f\noSy5YK/Phv8I8u4PTbnYuHEjGzduDOnYqIOhFEWZCiwWQlzQ/Pp2ZOXw+32OWQF8KIT4e/PrDcBt\nQohP25wr4mCoLVtg+nSB/5wj2LxZYZr6Di9cccUSnn/+VsDX3c/N/PnLWLUqX93Oal00vpxBAq2S\nrxEbCZeEWVShK6rvhBkMpXdxk8N7Sjjug3F+LthCwHdnbtckejkowQKCzn4NPrgczloD/c/Wbzwx\ngrfAt9Uq98C6rMC3Gnia4NMbwLUFst6irLyuuZbxAUzJx0dVy1jrYKhiYKSiKBmKoliBy4DX2xzz\nKnBe82DSgVFAqQp9t2C1gsXi/xkTEpR2OV/UYt8+D/4CHiCFjz7ysH69uil8XcfsXP2kf+DE1U8W\nhB5gBLrHEbQQ5lJbb7OSpTKwZ0ewds3wTQuckNKaFnjQTJhWCJt/CkdizL9dY3xNd5WV2pvuNKWx\nRv6GR3fAjPcg+XgyHJnkP7SKJSveIf+hVZq57EZtrhFCNCmKcj2wjlYXyhJFUZYAxUKIN4QQaxVF\nmaUoyldAI3CrEOJItH374nC0D4gzmbTxdlm7FrZtMwFu2mryFouJP/wBtm2DPn1g4kSYMEE+T5wI\ngwaFH7jndMLrn2dTdOf4lrQG37rHkucMQ/jpHUcQBXrWzi2rmkKgXYKyqil0iaOhdyXru6IdOAMm\nPQob58DMzdDL0RUj05Qy5x6eWCZ9xpP6DGbhrUspd2XqarrTjLrv4P0fQfIwOWGbE3XtPm5y17hc\nMHAgft4YJhMcPKjeBbFjB9xyC/zvf/Db35bxwAOtNnlwM2JEq03e44HSUinst25tfZjN/kJ/4sTA\nE1Tbz3brTwpZkdOaC176jocRIRdrdTRjBJcLHlu4mKvPfobS8uEM71/Ks+9fza+fWKyvIAnl99m5\nHP73mBT0cfSbBasH/Mt71jP9rEzdTHea4P4G3r0Ajp8DEx4ARZskAx2Za+JGyK9bB7MD+OysXSsL\nbETDd9/BkiWwejXccYcsom21ys3XRYtWcuCAh+OPN7F0aU6Hm65CwP79/kJ/2zaoqmov+EeNkhMC\nALUuvn5iGEteGsL+IwMZ3Pcg+T/dx6iF30Rok/fxOY7xAsVa43LJ1VVTk8CkNOERZsxmhW+/1VmQ\nHC6WOZcafDKlWVLhvA3S3OXl87vg27Vw/rtg6YLyeBpwx/VXcNfE59u5j967dT6nTFvVzk2529jk\nj3wB710Eo2+CsTdr2lVHQj5+0hpoQEMDrFgB994LP/0pbN/uf+NnZmaEtcmqKDBkiHz86Eet7eXl\nrRr/q6/C3XfDoUNwyilS4A89bifLH5vLvu8K8K4aPtp9JevP/pDMiT8K1l17ukOVoGb08qjYtg2a\nmgAUPELeDk1Nsj1a5SAsQo3YPmWpjATddAmc84aM3u2uCAGV2xHlmwL6jNcdcepqulOVQxtlecpJ\nj4Ljsi4dStwI+QkTWnfgvVitsj1chIB//xtuvhmGDYN33oGTOnbvjor+/eUqxHcl8v338NlnUtg8\n+sg6HwEPkMLuQ/9g0YP3sqowDCEPUrDrKNwjEdaFhXD11a2vn3mmG2lvkeLdeO0sulNRYPIK2PwT\n+CgHzlylmQlAE4SQq5Z9r8Del6GpBqvVFDAgLamXXKnY7foL96iUjLIX4ZM8mPYCDDyv42PLt8gk\ndANnQX8N3AABhBAx85DDiZzVq4Ww2YRISZHPq1eHf44vvxRi9mwhRo8W4o03hPB4ohqSKmRl3e1T\nmqT10b//3eKVV4SoqenqEQbG+3ukpYX+e5SXC2E2+39Os1m2a0F5uRBWq39/Vqt2/XVKTbkQFUXy\nuSMaqoVYd5YQn9wYGxdpRzQ1CHHwXSGK84R4ZYgQ/xotxLY7hKgoFsLjEc4dxeLmOYiqAoR4Xj7f\nPAfh3FHcJcON5LptoeQvQrw8WIjvPuv82A0zhXie1seGWRGPuVl2Bparwd7oike0Ql4IeXMWFYV/\nk7pcQlx3nRB2uxCPPCJEfb22/YXD/PmLBVS1EfJVYvLkxSIrS4i+fYX4+c+FeOut0MetNeXl8gbx\nHbPN1vn39OKL7SczkO1aoYZy0CXUHRHizZOF+PK+rh5Jexprhdj3hhAfXi3EP9OFeGuiEP+9V4jv\ntwc83LnpYZF/iUks+jEi/xKTcG56WOcBS7zXbXrvcnHa8CKR3rs8pOtWeJqE2HqrEP8aI0SVs/OO\nDm32F/Dex6HNEY27IyHfjdZ5oWG3y4o+oS6x6uvhz3+GsWMhIUF60Nxwg9zo6YzCQhm4M3OmfA4l\nX3okLF2aw4gR+UiXTfB68rz4Yg7vvgtffgmTJsHSpXD88XDttdLEJG3NrezZU8YVVyzh3HPzueKK\nJezZo1EaBiKvS3voUHjtapCdLT023n1XPncb05C1D2T9B3Y9Cbuf6erRQEMVfPOSLMzy8gDYfj/0\nORlmF8OFn8JJdwYt4/jB3ht5ZtNBss8cx1cHXuaDvTfqPHiJ0wnZZxTyydJJ3H/Z7/hk6SQuPaOw\n4+u2qR4+uBJcH8DMLZASQsR7sDoBUdQPCEow6d8VD1TQ5EPF4xHitdeEGDlSiDlzhNgeWMEISqSa\naqQ8/LBTmM2Lhdl8tzCbF4uHHw6sLTidQjzwgBCTJgkxYIAQ118vxKZNQuza5RQjRtzisyKoEiNG\n3CJKS0PQOiIg0u9n+/bAmny4v08k49V6RaYZlTuFWDNQiL2v6d93bYUQu58VYuMPhXixtxDvzBbi\n6yeFqD4Y8il8r5X7Lr1NLJ53t6b3Uke49pWLZ6/9ubBZ3SLNdkTYrG6x8torhWtfkMHUVwqx4Xwh\n3rtYmtBCRUdNvssFu99gdBLyn38uxPnnCzFunBD/+U9k5ygqkjY7X0GUmirb1SZSgfm//wmxdKkQ\nJ50khM0W2OQzf/5i9QfcTKRmkOuv9/+s11+v2RD9xhmRDTZWqCgS4p92IQ5tav9eqHb+UHHvE2Ln\nY0JsOE+I/0sV4v1LhChdJc1HEVBUJERa7zoBQsw8ea14f9F0kdqrTpN7qTPKd2wVNqvb/16zukX5\njq3tD64+IMRb44X4eKEQTY3hd7Zhli42+bjxrgmF8nJYtEi6KebnS7NGQoTfgJ61QYMtFTuL/Bs1\nCu66Sz6mTPFQXNw+DcPLL3uYPr3Vg6HtIz299e+kpIDdBKW8vIy6upXIOjEmystzIIQ6R8uXw3XX\nQVERTJkiTWla4Rs67w26yc2Vbntd4a4XsVdHv8nS02bzPDjvbejT7A6mVr6iY7tgb7NHzLGdcPwP\n4ITrYdBsSEju/P87wDGwgvq6ZMDK5p3TmeDYhoVKHAMVOqo9oAVOlwOruYGU3i4cdidOl4P6RitO\nlwP7aJ8Dj+6UQU4jroETfx9Z/dnz1+riXRN3Qj7QTVJXB48+CvffDwsWSLt73yhryemZT75XL1l4\n2zf5Wk2NoFev0C+sE04wUVzcPg3D+eeb+N3v5PfmfezZIwWsb5vLBYmJwSeDto+9e8v4zW+WA60R\nwb/5TT7TpuVx2mmdC/r0dBg3Tj5rid5ZLzsi6mRcg2bBxL/AxgtlVKw5uTVfkTeS9uNcGSvRmRut\nELL83t6XYd/LUFsOQy6GU5ZA/yxV/fPtyXsouHY5uU89gcXcwDbnBP75m8uwJ/8JvYW8I6OJH0z4\nF09ds7AluvwXf3sSR8aFrQe5PoRNP4ZT75MVxqKh/zTtXCebiZuIV4BHHinjlltW4tUcly3LYdiw\nDH77W+nn/uCDcMIJao1WokfQTvHmI5x9XiK1Da0aU5KlmvffqWPy9NBmq7apkdumYegMIeDo0faC\nP9hj374leDzts3TOnr2M//yn4wAyPTMP6p31Updx7HgEdq2AScvhvbng8c1XlAQz3/ePovUiPFDx\ncasPu2iCoZfIR7+pYDK3/x81qCyBN8fhOpqO0+Vg3ODtpCRVy7zyQTZqtaLiy3dILv4ByYmt31l1\nnY3qyW+QftJ5sO91OVFOfQ4Gz9F1bB3RIyJeP/mkveZ40035jBiRx1NPZXD++dr0q0egRh+LE4XR\nfm1KczshlrfOzMxg/fo8Fi1a5pOGIfTc94oCaWnyMXJk58effrqHoqL25qEDBzou9aS3+UTPFVlH\nqLqiGHMj1B6Ebbf4C3gATy0k+KRD8DRA+fvNGvsrYD0OhvwYpr8EfcdHZoYIl8YqMNv86yWgyHad\nKT8kGNxkAZ+03g1NCZQfEqQnPQVf5MM5b0J6kJKFMUjcCPm77lpJq4Cn+XkJI0Ys4/zzVc7vrjNV\nniGsuHohv3pWLmcbmiysuGohVZ6HwjpPuGkYoqFv38BZOnfuNHHxxXD77TB1avv/i3T/IRqys2H8\neH32AIKh+h7PqX+Eyq/Y8/WX/P190VKI5PKzkhhVVyE10r0vw4E3IGW41NbPfxdSR3d+brUJWJhb\ngKWP3iOh/5hTsHzT4NdmMTfgSPo3bH8FZm6C3iFoOTFE3Aj5I0cC53f//nuNi4TqwJCRdv5SciEl\nD4yhtHwEw/vvZtHL9zNnZOwm8rj33hzWrs3Hd2UF+bz9dh6ffQaXXgrDh8uEbzNntiqMauw/hEss\nFKbwXVGYTDKbalQrCkVhm/VOVq37F/fMoyW7491rarnefAGZY6fIGran3AMpw1T9LGGTZIfhuf41\nXpOHQeWXkDpK16GkD7az5uh9fLbxluaJUTA361ROO7YRZn4AtgG6jkcN4kbIB9McZXv3xm6HCxdm\nc9aNMxgx0Mnugw7uf8Qe08maTjstgyuvzOMf/1iGd4/kyivzmD49g+nT4Ze/lML1ppuk187tt8Ml\nl0DV4SMkmg9R1/Riy/9ZzZdSdXgAoZqmwiHWvGuEaB/EFinPPrWc++a15oRJSYJ75sHv37uQR/L+\nqU4nalDrgtIC/7aaA7D/TV2LqYNMe/zhB8tZ8sOm1rJ8r36BfU4RGRoIeF0S8QXzreyKB1H4yRcX\nOwX4B/vALaK4WJtgHy96BtF0p4CdUH37m5qEePVVIU4/XYgTThDizps3C7ipze94kyhe/4Ym49Qz\n3qEjtMihc/tV0wIG3Nx+1TT1Bq4GFUVC/F+a/zhfSBHi1Uzdh7L45vktOXS8j6oCxOKb56vel5rx\nGfSEtAYZGRmYzXnAMiAfWIbZnEdGRmgbi5GgV1oDL+GmbOhKQk1rYDLB3Lnw4Yfw5JPw9Kq1wFL8\n91aW8qe/btZknF5beHpvF6cNLya9t0uzeIeO2LatvU2+vl62R0pSSi/ctf5t7lrZHlOkOGhs8P/w\njU1NUH8Eag7qNw73XjyujwKmPfZUH1C1Kz1LG8aNkJdCJQMp4JcA+VitGZ3mSomUuKo/qQHhbiQq\nCmRlwZAhCoH2VrZ+btXku7XbYf3fCil7JIMNd8yk7JEM1v+tsFtMpJ2Rc/295K+hRdC7ayF/jWyP\nJVzH7OSs8K9hnLPiGer6ZMGhd7TtvLYCvn4CNpwD/x6PyUTAidGUfLyq3Uaa2ykS4sYmLzfs/Ntq\namS7FsRSEE046FWMw26Xk95jPntpubmd9zloUOC9lepqEyNHys3aGTPk46yzIDm6YEuodTHNnAuJ\nNXjd5qaZc6E2hIAhFZkwodWF04vFElk9BC8Zo08j746HWfbwLS3eNXl3PETG6NOiH7CKbNsGz2/O\nZu3nM1qiTCuO2bmzuoKxh94Bx+XqdthQBfteg7JCcG2CQRfCmFtg0Gx+mHmAKxbOZNWvWksRXrFi\nBIueWKrqEPSMmFfLln4BsAP4H3BbB8f9BLmbNjHI+xHbpIqK2tuAk5K0s63qnaBMDVavlt9JSop8\n1jJHS6TfzyuvBN5beeUVp6ivF2LLFiGWLBHirLPk58jKEuLee4X46CMhGhoiGGgge/D/pcp2ndHs\n91E7d43KvPiiEGZTg196X7OpQfz7hS/Vs8s31gmx93UhNl8mf99358h8O/VH/Q4rKhIiNbVUnDRk\nnrhw/CRx0pB5onfvUk3kyOpHNgub1S1Sbd8Lm9UtVj8SWXIyITq2yUcd8aooiqlZuJ8PHACKgcuE\nEDvaHNcLeBOwANcLIbYGOJeIdDxdEbnodb3rDvUnXS4YPLi9prh/vzbfT3Gx3Kuo9ClZmpoKGzbI\nfYWOxjl0aBk0PYEloZaGxiQwL2Tv3ox246yqgvffl+fcsAH27pUmH6+mf8IJIcTyxFiBc71WWrHE\nu/9xYd78Y04bsZWGJgsWcwPFuyfhmbaGc2tO4fBpH1J6KDP878TTJDV152rYuwbSTpSrgqE/gaTA\n6RJcLrj1J4WsyMltSWuwcGUBD/0zW93fo/m6cx1Jwely4LA7sfd1R3zdaVrIW1GUqUC+EOLC5te3\nI2eV+9sc9xdgPfBb4Ba1hTx0jdDtLjelloXOAxHNpLtldSET6nJpaLJiMdezLbGAaZd3/kMePCjz\n6G/YAOvXSwHvFfjnnw8DgnnAOQsRH+XShAUzDShTjQLnevJ9yTp6fTKHBHOr72hjk5mq097i+20r\nuX/l+RQW5YYWwyAEHNkqBXvZC5DUHzIuh4xLQ4sHqHXR+HIGCT4Rr43YSLhE5Uk/1MLtIdKRkFdj\n43UwsNfn9b7mNt8BjAeGCCHeUqG/oHiLP2zYoF/xh+7k8aIn3uAem01q8DZbiME9tS5OJ5fkxBrS\nkitJTqzhdHKl5tMJAwfC5ZfLmrDffCMF/aRJ8NJLMGaMLIx+883w1ltyFeDlkdfOpFfOjaRfczW9\ncm7kkdfOjO7DG4SFEAruOv/NdnddCq7DVh547jymj3qnc+eGozvhi8XwxmjYfKlMznbeerhwG4z7\nbegBX24nCRb/HdEEiwXczog+W1BCLdyuAmpsvAaaPVrUcUVRFOAvwIJO/kcVuqLob3dAzULnoZKd\nLbXocFY6R/Y5MVVbSUtu1aTc1RY8+5z0DSPCV1Fg9Gj5+PWvobERPv1UKgAPPgg/+xlMnAhjx5bx\n1FPNOY/qws+WaRA9zsrxjLPWyEAwjwmzyUOStYaPd57Kxh0KqdY8po8+l4PfD+ZQ9VKczkx5LVXv\nk0Wznatl8FTGpXDGKqkJR5pzJ8UhN2Z9aXCrL3ybC7e71t+Gs2IEjvTd2Gfer4mJUA0hvw/wnSaH\nIG3zXnoDJwIbmwX+QOA1RVF+FMhks3jx4pa/s7KyyMrKCmswFftdlJc66T/cQfpgQ9p7sdth5UoV\nw+Y1wulyMDrBX8OxJDSw0+WgbxQpQxIS4PTT5ePOO8Hths2bYeHClQTKeXTXXZ1ny9SEWpfUGlMc\nXbIn0BUMHQbifyYUBRLMMg2JECYGHV/K6P65LPpxLSlJG3HXwoInt5Bcfg1sWA/ffyGTqU14QKY/\nViNLZl0F0DbkuEm2q/x7FH6YTe4Nl2E2N9HUZKbgGYVsR2j/u3HjRjZu3BjSsWrY5M3ATuTG67dA\nEZAthCgJcvy7wM1CiHZhHtHa5FtsuR4rFlPottyehJ57CJHkhHG54JafFLL0ktv88vSovvHVzPTp\n+WzZsqRdu8WSz+WXL2mx6Q8cqH7f7VCrwEc348iuYpSNM+mT3GqfrqxO5f7iM7jz9LV+wUnuWli2\ncRj5f3gEjr8QzInqDqb0Ofgop3371JUwfEH79ghxuWDIEEhNbC1OcrTOzr59kd2XmtrkhRBNwPXA\nOuAr4AUhRImiKEsURflBoH9BA3NNxX4XE+qabbk2acudUJdLxX4jOskXvfYQIg0Ws9sh7ZRsMn9T\nxsw/rSfzN2WknaKNgAdwOLx++b64ueACE6efDq+8IouXnHyyzLPT1p6vGrWu1gIfDZXy+ePQ9iK6\nO5/tcmA1t1m9mRuo+r4qcPRpyggYerH6Ah6gX5AUwsHaI2TbNrhkogzCW98chPfjiYVRRTgHQ5WI\nVyHEf4QQo4UQo4QQf2puyxdCvBHg2PMCmWmipbzUSYPHf8OkwWOhvNSpdlcGIeB0grWt2cVc32lE\nn8slNX6BQpMnAYFCQYF2kcRLl+YwYEA+rYLezYAB+TzySA6/+hWsWdM6pvR0ac8fOBDOPhuWLpXp\nGBobVRiI2wkmK66j6RTvPg3X0XQwqbThV+uS3hwxOmE0mOxc/ZR/xOvVTxVQn+DQJfrUj7SxbDma\n3zyW3lTX2dhyNF/14iUWj4uCa6VS2qfZweCZa3OxeNT/jeKmMlTFfhfJ6zLaV3SZVWbY5rsA194K\nMkYmU1PfGpJqs1ZTtqsa+9DgJd0i9a+PeJzNfvm+tWgTE3MC+uV7cbth06ZW/3yns9U/f+bMEP3z\n21LrovB3t5L75Aqs5nrqm6wU/HIh2Q88FJ0tuBuYgEo+O8y4CceR3rvCJ+I1nfVvbOM/f/8ZS2a3\nRp/mrx1B3v3ryXBkajIWr+tvSkKrGcXdaFc93ubIrmK+ffls/vjaEPYfGcjgvgf5/dx9DLrkffqO\nVNeFssszT/o+iCLitbxciPnTVwv3Mzbx/dOpwv2MTcyfvjqmI1DDpTtloRQVRWL1DVf5R/TdkNNp\nJKkW2Rg7Qo0slAcPyujUq64SYsgQ+cjJEeL55+V7oVBeLoQtqcE/QjipIbrPXVMuxAu2NtkdbTEX\n+Vq07iths7j9o9UtblG07ivh3FMqFt88X9y98Fyx+Ob5wrmnVNux6JSVtPTz9WJE/7l+kd0j+s8V\npZ+vj+h8dBDx2uWC3W8wUaY1SEsTfqHRXZEyVivUTEuqC80CpnxFuii65zRRviI9JAFTXi6ExeJ/\nk1ks2gl5tdNTeDxC7NwpxGOPCXHxxUL06SPEyScLcfPNQrz1lhBVVYH/r6hIiLTedf7CpVdddNdv\nc8oGv9+gi1I2dET5Ny5hVur9PrtZqRfl37j0H4tO6UounZvnI+BFi6CfPy8vovP1CCHfHXPJhIqa\nn03X1cCe1UIUJsnc4IVJ8nUndEV+d+8Empqq/gTa0CDEhx8KsXSpEGefLfPSnHOOfP3hh635dsq/\ncYnEhBIBiwXcLWCxSEwoiU7Q1ZSL1Xk/FzaLW6QkHhU2i1uszrsy5jT57duFAE8bgecR27fL9/Ve\nwWp5PZSUCHHDDUIkJCxq83nl49xzbo/ovD1CyAuh7Y/Tlagl+HRfDexZLbX3F1PkcwhCvqsma70E\nybFjUqO/6Sap4ffpIzX+xb/bLPr1yvFbvg9IvVKUfvpaxH2VlwthtTT6m74sjTGn+Dz6aHthB7K9\nq1awal4PDQ1CrFkjxHnnCdG/vxC//70Qc+cuDqzJz18cUR89RsgL0c3s1iGihuDTXXhGYQ+O18k6\nEN9+K8SqVUIMz1wU+Ka/LDLNTggh1q4NLDzXrlXxA6jA008HHuef/9y9V+cHDghxzz1CDB4sxLRp\nco+mtla+V1rqFCOGXetvkx92rSgtdUbUV0dCPm6KhniJx1wy3jwwSUmQkiKfw41W1bNIAdDiEuhH\niC6B2dkyBcGjj8pnPXIQufZWULx+O669Fdp35sPAgTB/PgzLCFws5eNPrFToOyTdGRYkrUxCgs7X\nrAoIAe+9JwvVjxsH+/bBm2/K6OrLL4fEZtf+zEHJrL/l78w/czznjjuL+WeOZ/0tfydzULQFEtoT\nN0VDegJet7xI0nI4HFBd7d9WU6NhmbsoEjBFEikbDYWPbiH3txOwmgdT32Sh4MEtZN8wTbsOA9Cv\nX+BiKfX1sljK7NlwzTUym6YpRNVs6NDw2rsKOZ4yYCVeN1bIYeLEDP0Ka0TJ0aOwahU8/rgsxH7d\ndfDUU5CWFuQf3E4yByWy6te7gF2yzZIqlSC101kEU/G74oEK5pp4RC1zjZ6uiUKIVpv8/6XGrE2+\n/BuXsFn93fdsVrfunh0rVwYulrJypVMcOSLEX/8qxPjxQjgcctN2797OzxmokI7NFnseZ7JQzM1t\nPvvN4pVXnOLhh53CbF4szOa7hdm8WDz8cGTmDK3473+FuO46Ifr2FWLePCHeflt6WHWKyu6t9CRz\nTTyihqnF6ZTpfn1JStJ46evIlkUQztsgn0MIwtHbrOTcUY7V3ODXZjE34NxRrk2HQRg0KAPwL0QP\neQwalEGfPlIz3LoV/vlPWejllFPgBz+AV1/1LwTjSzCNt6s1YSHgu+/gq6/g7bfhD/c+DdyDf5K4\ne3jy8QdYvnw5TU230tS0hKamW1m+fDl79pR13eCRq8v/+z845xxZiyE9Hb74Qv42550X4ko7yc6z\nJf5Rvs+WFGiSlC5uIl7jGTWqXnVF5Sxvv+EkRNN7nJFG5qo+DpcsauJ7+SsKHDoU+HO73VKo/O1v\nsGsXLFggTVyjRvkfp2chnYYGKC+Hb7+Vj4MHA/996JBUMAYNko+v/vt7yiv+2O58ivJjhFhFWxPW\nBRcs48kn8+nXT9b4jTSrcDD27Clj0aKV7N/vYfBgE0uX5pCZmcG+fdIE8/TTrSmsL75YfrfhUlIi\nbfbpvV1+dW23b4exEWRQ6Cji1bDJR4keWR29G69tb9Zw+lPjHOESiW1d73Hah6ZT8KC0yVvMDTQ0\nWSh4cBv2ofra5Csq/AU8yNcVFYE/e0qKFOwLFkiBUVAA06bBiSdK2/0ll8jJcerUMubMWcmePR4y\nM01MnZoDZIQ1tqqqjoW29+8jR+RYBw5sFeADB8JJJ8l0D972gQP9V5VXZAuef6H9fkS/43pRcbj9\nZvSmTR6mTWv9zvr1k9p0v37t/w70Xlpa8Ilhz54yZs5czu7d3vTTbt55J59TTsmjqCiDyy+XqSxO\nPBppAEUAABeySURBVDGsr7AdRUXyueKYnYpjdr/2SIR8R8SdJh/rqXSjQY3Pptf3E61GrndZRdfe\nCpw7ynGM6a+rBu/luecgJ6d9+8qVUpCHQn09vP661O6Li+Gii8p4993l7NvXKrBGjMhn/fo8MjIy\nOHy4c6374EG5kegVzl7h3fb1wIHydzJHkNJ9z54yzjjtDxz67i8t4xxw3E2cPj2N119fTFvhP3/+\nMlatygekM8Hhw/JRUdH534cPy//p2zfwBLBu3RI+++zWdn1OnryMt9/Op3fv8D9fILyafFu00OTj\nSsjrKXS7yvzRXdA70Vh3R+2b3umEH/5wCV9+2V5g2WzLaGyUAiuYwPb9OzVVfZOIL669FQwdXkFd\n44u0JIlLuJTNG2u4bMHzflq1d5LKzAxvNeJLfb3cEwg0GTz2WD4HDrSvLzBtWj6bN7dvj4ZTToH/\n/rf19cknS9t+JPQIc41v/nKv4M3NlZkBtRC63g1CXyHv3SA0hLzUwLuL+1ssMHasnBTXr29tmzUr\n8qW7wwHpx9USyPd+/Cl1vPteq892V+PcUU6SZTB1jfktbYmWSkT1ftavz2PRomUcOODh+ONNLF0a\nnYAHed8OHBi4EMx775k4cKC96ahXL3V9VEpK/AU8yNclJeqba+LGu0ZvrwxDiHWM3S4nWV9yc2N3\nAnS55OpDq7z1ofS/ebN/26ZN0Y1nsN1NoIIow4dUxYyAB3CM6U99k//uZUOTBceY/mRmZrBqVT7v\nvLOEVavyoxbwnXHLLTlI76bW+gKQ39yuHl6bfKjt0RA3Ql5voevdILTZ5HLWZtN+I7OrBVE4eAtt\n+KJl8Y9oKCyUpreZM+VzYaH+Y9BCSVl6bw4jBlyBr8AaMeAKlt6bE/lJtSApnUnDt2GzVtM7qRKb\ntZpJw7dBkv57I336ZDBl5BmYTX/CpNyJ2fQnJo88gz591J1cRgapVxysPSqCOdB3xYNumKBMr1w5\n3S3VcFdkk4yEWMleqtU4St9/RMyfNkace2KWmD9tjCh9/xF1Bqwi3mvluBSXGHv8V+K4FFeXXSuu\nfeXC/Yx/imz3Mzbh2qfuBVFU1D6ldkJC5J+ZDoKh4mrjFbrAK0OH/rrjJm93GXMsbRBr5dNesd9F\neamT/sMdMVklzVvU2nclbrXSUtRa13v6cDH1a2dipfWCqCcV6+wN0E+9C0Lt+0PTQt6xhp4JyvRa\n5uueXEwFuotNPpb2VrKz5U2+YYN8VkPAFxbCsFF2zvzhZIaNsneJKSoUAsUIQBeY0lIcmKnxazJT\nG1LOpXDQ09yriiavKMoFwMPISaNACHF/m/dvAq4BGgAXcLUQYm+A80StyeuFnppqd9GKfelOY9Yz\nKlRPustvEGw19dJLMqJUz/FX7HfRe8NgrAkNNHlMmE0e6hstHJuxX5NVkFqrFE01eUVRTMBjwGzg\nRCBbUZQxbQ7bCkwSQowH1gAPRttvVxNMi9ZCu+6KTd5o6U6rDy006Figu/wGwVZToP/4y0udrNpy\nJRPu/JTrVy5nwp2fsmrLfMpLtelUD8uDGn7yU4CvhRBlAIqivADMBXZ4DxBCvOdz/EfAfBX67VJ6\n9fLXMEC+7tVLm/6ys6XPv577DdEQS2aQULDbY/87DZfu8ht4TXuPPdbalpsLEyboP35TWibvl5zF\nB/nTqW+yYjXXs/CZFUxLy9SuU41RwyY/GPA1vexrbgtGLvBvFfrtUqqqAmd1rKrSrs/uVBClO64+\n4g01is3ogdfdNr23i9OGF5Pe29XifltQAEPtLrJOLmao3aX5+GvcghVXX0dyYg19kitJTqzhiat/\nRY27e5iRA6GGJh/IDhTwG1EU5QpgEnCOCv12KYG0CUWJPS2pK+luq49YQAtPkmiKzeiB0wk/PW0V\nK666tkV7/uWzT+N0zif7jEIuezSXJqyYqUeZWgBoZ09zpH1GQ5MFfDZfG5osONI+A2Zq1q+WqCHk\n9wG+BbyGAAfaHqQoygzgDuBsIUSQDNiwePHilr+zsrLIyspSYYjq0xVZHbsj8WgG0Qq1cy/5pvrw\nomWqj0hJU3ay4qprSU6sIblZuD551S/4tmk4fJyL4qkhwSt0P86FgTM0ybsO0LevoDHRP0o4JdFN\nQt/Y0uQ3btzIxo0bQzo2au8aRVHMwE7gfOBboAjIFkKU+BwzAXgJmC2E2N3BubqNd40Xvf3yDeIT\nLTxhYikGoCO2v/Uigw9cS1ry0Za2yupUDve/jeF1D0CDzwewpMoiNCr6rPtR64KXByFEU4t3jaKY\n4ZJvNZlYuoV3jRCiCbgeWAd8BbwghChRFGWJoig/aD7sAWTGn5cURdmmKMqr0fYbK3QnOzl0r9QI\nPQmvJ4yvXTpaT5LusvHaf/SpWAJU50o7ISviOsHRsOXrM6mpT6K2IYma+iS2fH2GJv3oFQMQdxGv\nBsHRO/+9Qei4XHDrTwpZkZPb6tWxsoCH/pkdlQLRXWIAtjyxmAmJD9DQZMFibmBb3e+YtnAxOAul\nicZkkQL+9IKQykhGimvnNjJOGU1KorulYpO7LoWyL3ZiHz1BvX50jHg1hHwPobsExniJx/QUHVLr\nov6lDKzm1h+ovsmG9adlUZsJSkpkdsMpU9RPY6sWhYXwuxsOkdm/lD3lw3ng0QGtk1GtC9xOqcFr\nZIv3UvzuHmZe1JfKmj4tbam2Sja8+R2Tz1XPjVJtU1qPSmtgEJjuEhgD+oeyx0IWyiP7nNTU+f9A\nNXUWjuxzRnXewkKYNAluvFE+x2JaA5cLcq9uZF/FADZtP4N9FQPIvbqxxaToOmanuHQyrmPaz76O\n47+nvsn/d2hosuA4/nt1+3HoZ0qLOyFv2JwD013ss74eIZWV8jk3V7vfU+/+guF0ObAk+P9AloQG\nnC5HxOeMlc/WGc6dR7Aqbv/9CMWNc+cR3SdgpdcQVuQsxGatJtUm0x6vyFmI0muIqv3oGUcSV0I+\nFjSyWKW7BCfpveKIlRXOkJF2Fj5bQHWdjcrqVKrrbCx8toAhIyP/gWLls3WGw+5k7qRXKHskg/V3\nzKTskQzmTnqVXuZ9uk9Sew7YeW/XhZQ8MIZXb7qYkgfGsHHXhew5oP6Nolc6jbixyXc3m3NX0eW2\n507Q+3eMpesmLw9eeM7VsuF32QI7y5dHfr5Y+mwdUllC/WunYk1o9bCpb7Tw+dCdzPxxpq4uoN7v\nzGaqYEBaOYcq+1PjSY+976wNPcIm3120lq4m1l0+9V5xxEpKZG9of8UxO5+UTqbimD3qSlrdZfV2\nxFVFTb1/jpCaeht9kr/X3cTovR6+c6dTcmAc37nTYzJFdjgYmrxBTKLXiiNWrhstA5diffW27UMX\no3dmkGxt/RGq623sHF3GDqddVxfQWLkewqVHaPLdRWsxCA29VhyxsgLUcmM81ldvHe1H6J0GOlau\nBzVRI3dNzGAkxOqcWNfq9CZWvI56ci4kux3STslm4p3jOX1kER/vmsLMeWNbPrue+Y8cjvaZZN3u\n2PNCC4e4EvJgJMTqCCPitT2xJFx7qpLicsHRLwrZ+gf/aF+XK7po30ioqICmJv+2pibZ3l1/j7ix\nyRt0THe1NeqFscLpOrZ96GL0jgySE31s8nU2do4pY8IZdl1/m+eeg5yc9u0rV8KCBdr2HQ09wiZv\n0DHxaGtUk1i3W8czfSzOgFGmfSxO3WNfpkwJr707YAj5HkKs2J4NDNrirHBgNbeJ9jU38NmuTN2D\nocaOhVmz/NtmzYrdnD+hYAj5HoLhfdRzifVUH66jdq5+yt+75uqnCigpTdd99elywaZN/m2bNsXu\ndxcKcbfxahCcnrqxFxI6ZjrUk+6w2d6nD7z4UTZvfzWjJdq34pidS27Sf/UZaAIRQrZrFXGt9f1o\nbLwaGLTkLLfKIhUa5yzXi+6y2V5SAuPGtW/fvh0++0zffPgdjUVtk42aE7Cx8WpgEIxalxTwTTWy\nzFxTjXxd243X581oUW1KC6qqwNRGEimKbNc7GKqqSk6Evths7X3no0XPDKGGucagZ+N2Sg2+yUfd\nNVlkezc32zgcMPfU9tWmHDG2SqmvB4/Hv02IVlON3sFQ4bRHincC9l1leSdgtT+rockb9GxSHF1S\nR1QP7L1dPH1NLsmJNfRJriQ5sYa/XZOLvXdsrVJ27QqvXUv0clAwioYYGOhFkh1OL0CYbDSaUhEm\nm7TJd3MtHrSrNqU2/9/euQdbVdVx/PPlchUZhEQvogJKDxUREE3EbOgOD8l/RB0hSElKFETCHDRT\ny8jJZzrhqMjIoJAVlmhZ9jLTG1SoiI98IlqgDldEBBpNFOHXH2sdPN7Ovdx7zz777HPu7zNzhv1Y\nl/056+zzO2v91t5rZ+3a9DRSRBX30BBJX5b0kqSXJV1SYP8eku6WtEbSCkn9kjiu4yTBkhWTOHjW\nOsZc8xAHz1rHkhXZSme0l1I8baoUDBgAM2d+ctvMmeW9Nj2Nm+Mq5qEhkjoBLwOjgPXASmCimb2U\nV+Y8YJCZzZD0FeBUM5tY4P/yq2ucVKmUK1Daw8aNMPv0Jcyfcjbbd9RSW7Od6YsWcuPS9OeEaQ2V\n8MDxrNLS1TVJDLwOA9aY2bp4sLuBccBLeWXGAd+Py0uBWxI4ruMUTZoDYGlTVwcnTZ/E4ReM5jO9\n1/Lqm4dw3U11mX1fAwZ4cC8FSQT5g4DX89bfIAT+gmXMbIekLZJ6mtk7CRzfcdpNtU/3EG6Aq2Pt\n2jq/Aa6DkkROvlAXoWnOpWkZFSjjOKnTEaZ78MnXOjZJtOTfAPIHUvsQcvP5vA70BdZLqgG6m9nm\nQv/ZnDlzdi3X19dTX1+fgKLjNI9P9+BUGg0NDTQ0NLSqbBIDrzXAasLAayPwODDJzF7MKzMDODIO\nvE4ETvGBV8dxnGQo6cBrzLHPBB4kpH8WmtmLkn4ArDSzB4CFwF2S1gCbgP8L8I7jOE7y+ARljuM4\nFY5PUOY4jtNB8SDvOI5TxXiQdxzHqWI8yDuO41QxHuQdx3GqGA/yjuM4VYwHecdxnCrGg7zjOE4V\n40HecRynivEg7ziOU8V4kHccx6liPMg7juNUMR7kHcdxqhgP8o7jOFWMB3nHcZwqxoO84zhOFeNB\n3nEcp4rxIO84jlPFeJB3HMepYjzIO47jVDFFBXlJ+0h6UNJqSX+S1KNAmSGS/iHpWUlPS5rQ3uM1\nNDQUo5sqleLqnsninsninsVTbEv+O8BDZnYY8DBwaYEy7wGTzWwQcBIwV1L39hwsyxXZlEpxdc9k\ncc9kcc/iKTbIjwMWx+XFwClNC5jZK2b2alxuBN4C6oo8ruM4jtMKig3yvcxsA4CZvclugrekYUBt\nLug7juM4pUVm1nIB6c/A/vmbAAO+Cywys555ZTeZ2b7N/D8HAI8QUjcrmynTsozjOI5TEDNToe2d\nW/GHY5rbJ2mDpP3NbIOk3oRUTKFyewMPAJc1F+BbknQcx3HaR7Hpmt8AU+LyWcD9TQtIqgV+DSw2\ns/uKPJ7jOI7TBnabrmnxj6WewC+BvsBrwHgz2yLpGGCamZ0r6QzgDuB5Pk71TDGzfxZt7ziO47RI\nUUHecRzHyTaZveNVUkXk5yVltg4rDUm7HSPKAnGMqWLO0UqgkuqyklwhY0Fe0pGSxkrqbBnuYkga\nJGk2gJntLLdPc0gaJunqrP8QSTpe0gLg2HK7tISkoyUtBc4GyOo5KukoSefEiyEyi6QjJI2A7NZl\nDkkDJdVD9l2bkomWk6R9gKuALwCvAqMlzc/w9fRXAWMlrTKzBkk1Zraj3FI54h3F1xCC5iIz2ylJ\nWTw5JZ0DzALmAU9lrS4BJO0LzCHUZ0/g0bg9U67xIodbgM8DLwLDJd1uZo+V1+yT5HkOB16WdBzw\nsJmtktQpSw2n2EC6BRgJvCZpFHC/mT2RNdfmyEoL79vAB2Z2FDAVGEgYpM0UeemEZcBNwA8BzGxH\nxlrLlxO+QCea2TzIdOujH3C5md1mZtuyFDTzuIFQhcMJrfjJhA1Zcx0E9DCzY8zsTML3++0yOxXi\nSILnEGA6sB24UFLXDAbNHsDewADgDGATMFtStwy6FqRsgUnS6ZJmxtU5ZnZhXD6R0FoamMt9lpPo\neR6AmX0U83FjgQXAW5Kmxn07y5mra1KfdxDuWegVt98gaaKkfuXyy5Ffn3FCu4HA45JGxknuLpN0\nWtxfzvocL+n8uDrdzGbF5Y3AC5IOK5PaJ4j1OSOu7gAmSOoR63A4MErS0Fi23OdnznNP4KjYE9oE\nbAOOIKbByp3zlnSapB/H1X2B44GuZrYRuBd4Bzg/ls1cY7QpqQd5Sd0k3QtcBGyKaYQP4r4Rcfti\n4FTgCkl90nYs4LlFgdrYIn4aeJ3Qkr9Y0j2S+pSjtVygPjub2WpCSuEPwAxgNTA+umalPmvMbCvw\nH+AuwrxH84BGwuc+pMz1ORt4J36JP8zrqRlwIPDfWL4sX/Im9bk5fu7PANcR6nE+cDXh8uYrJR2a\ngfNzc6zH3Pl5q6RPE4Lor4CjJe1Xrl5nHCP4OfA94AJJB5rZK8AK4FuxWCNwHzA07s9qD3kXqQT5\nJl+EvsAGMxtuZkvyy5nZMjM71sxuA64HegGfS8OxNZ5mtl1SV+AAoD+h+7Y/YQ6fNyTVZMAzd9L9\nCLjSzEaa2QLCidsteqfCbjxz+64AhgDrzex+M7sT+D1h8rsseGKBnXF5NaHFnJpfKz1zn/tlhHz8\n6WZ2FzAX+DdwQhY8zWynmW0mnI/bCWnPVYQbK2uAzWl55rvGBuYC4FEzGxq9jovFFgInSOpvZh8B\nGwi9j73SdG0vaQ28dgHej8uDgT4AsftWJ6kBeMzMtuUGM8zsBUn7AWtTcmyN5zLgqVhmJfAzwoDM\nvZIGp3iDV2s8l5vZ4ib12Ztw01pa7NbTzB6RNB+YAFwby/YC7s6QZwPx/Ixl7gEOUPoDr7vzXG5m\nD0t6F5gILDOzTZIOIpyrmfAElgOPmNk3JXWJ3/uuhNTIXsC7KbruReiVvUAYw3pP0h7AZ4GGWOYZ\n4ElCw3O8mT0n6WDggxQ9201JW/KSxihMcHa9pElx85NAo6Q7CN20rYR56KcojLqbpHGS/kL4xXy7\n1F3iNnheDJxJmIdnsJlNM7MnCa3RLaV0bKPnJcDUGIR25tXnej5OQWTB81JJU83sCuAVSddKepQw\nJvN8KR3b6kk4P3M9tT5A37QCfFs+d0nTCRMBjlYYi1lOaDH/K0uewLR4fm6TNI5wMcMTxDRYyq4T\nzeztGOC7mNmHwLOEnjqx53El0EfSzZKeA9YBW8uVrmsTZlaSF+GX8DFCt3YooSUxm9B7uJHQRauN\nZScDtxJ+yUcBjwOnlMqtCM+zgJuB7nG9E9Apg56TCXnZ7oQv1qqM1udkQhe5E+EKhsMJrakses4D\n9ovr/YGTMuj5tejZmZACmwacmkHPXH12Aw4lDGaeloZnM64/JUyeSJ7jl+L2ury/qyNc5n1yWq6J\nvN+EK29X0CP8Cs7L23c2obX7KWAE4UlSX437BhMGXtIKmB3Fs6ZCPCulPrPuOYQwGWDWPVM9P1vh\n+o3o2itv22jgt0DntBxL9t4TrMSvE9IBV+V9kJuBQ+L6NEI++/a4fjLh1/0SQj7sovhBqMQftnu6\np3t2EM82uK4CftLk7xqBEaX2K/n7T6gSuxFaEBcQcnCHx+1zgSXA3wldn0GEKyd6x/3Hxgo+PpU3\n657u6Z4dxrMdrr/Lc60FziX+EFTyK8nK7Bf/vRb4RVyuIQyifTGu9wUWAV3K9obd0z3ds8N4ttH1\nTmDPcrqW4pXY1TVmlrs0by7QX9JYC1cfbDWzv8V90wmj59uTOm5bcc9kcc9kcc/kaYPr+8BH5XAs\nKSX65ZwG/DVvfRjhqVG7um5ZeLmne7pnx/GsNNekXok/NCR3843ClKyNhBsGHgLWWIZmlXTPZHHP\nZHHP5Kkk1yRJ/GaoWIldCXctTgJeM7M/Zq0S3TNZ3DNZ3DN5Ksk1SUo1rcEMwkj2GIuTj2UU90wW\n90wW90yeSnJNhJI841UVMpm+eyaLeyaLeyZPJbkmhT/I23Ecp4rJ0tOMHMdxnITxIO84jlPFeJB3\nHMepYjzIO47jVDEe5B3HcaoYD/KO4zhVjAd5x3GcKuZ/dvdE6CBCPMkAAAAASUVORK5CYII=\n", "text/plain": [ - "" + "" ] }, + "execution_count": 101, "metadata": {}, - "output_type": "display_data" + "output_type": "execute_result" } ], "source": [ - "fig, ax = plt.subplots()\n", - "ax.plot_date(beatles_df['release_date'].values, beatles_df['complexity'].values, linestyle='-', color='blue')\n", - "ax.plot_date(beatles_df['release_date'].values, beatles_df['valence'].values, linestyle='-', color='orange')\n", - "\n", - "fig.autofmt_xdate()\n", - "\n", - "for a in beatles_df.itertuples():\n", - " for t in tracks.find({'album.id': a[1], 'complexity': {'$exists': True}}):\n", - " ax.scatter(a.release_date, t['complexity'], color='blue')\n", - " ax.scatter(a.release_date, t['valence'], color='orange')\n", - "\n", - "plt.show()" + "tracks.update_many({'lyrics': ''}, {'$unset': {'lyrics': ''}})" ] }, { "cell_type": "code", - "execution_count": 124, - "metadata": { - "collapsed": false - }, + "execution_count": 102, + "metadata": {}, "outputs": [ { "data": { - "image/png": "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\ngg==\n", + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
\n", + "
" + ], "text/plain": [ - "" + "Empty DataFrame\n", + "Columns: []\n", + "Index: []" ] }, + "execution_count": 102, "metadata": {}, - "output_type": "display_data" + "output_type": "execute_result" } ], "source": [ - "fig, ax = plt.subplots()\n", - "ax.plot_date(radiohead_df['release_date'].values, radiohead_df['complexity'].values, linestyle='-', color='blue')\n", - "ax.plot_date(radiohead_df['release_date'].values, radiohead_df['valence'].values, linestyle='-', color='orange')\n", - "\n", - "fig.autofmt_xdate()\n", - "\n", - "for a in radiohead_df.itertuples():\n", - " for t in tracks.find({'album.id': a[1], 'complexity': {'$exists': True}}):\n", - " ax.scatter(a.release_date, t['complexity'], color='blue')\n", - " ax.scatter(a.release_date, t['valence'], color='orange')\n", - "\n", - "plt.show()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "It definitely looks like the Beatles changed style over time, with the _White Ablum_ / _Yellow Submarine_ (around 1969) being a glitch in the trend. _Hail to the Thief_ and _Com Lag_ are unusual albums for Radiohead." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Conclusion\n", - "A couple of things have come out of this. \n", - "\n", - "One is that the original analysis is very sensitive to how the sentiment of lyrics is determined. That means I'm not too confident about the reliability of results from either fitteR-happieR or this notebook.\n", - "\n", - "Another is that the Beatles are undoubtedly better than Radiohead. The happiest Beatles sonds are happier than anything Radiohead have done, and their saddest songs are about as sad as Radiohead. In just about every measure, the Beatles' range of music is larger, and covers, Radiohead's.\n", - "\n", - "QED.\n", - "\n", - "## Next steps\n", - "The obvious next step is to analyse a different group. What would Queen or ELO look like? Is Adele more depressing than Radiohead?\n", - "\n", - "Another approach would be to apply some machine learning / data mining techniques, perhaps to train a better sentiment analyser, or to cluster songs into groups. Which songs by different artists are most similar to each other?\n", - "\n", - "* [Top](#top)" + "pd.DataFrame(list(tracks.find({'sentiment': {'$exists': False}, \n", + " 'lyrics': {'$exists': True}}, \n", + " ['name', 'artist_name', 'lyrics'])))" ] }, { "cell_type": "code", "execution_count": null, - "metadata": { - "collapsed": true - }, + "metadata": {}, "outputs": [], "source": [] } @@ -13539,9 +10710,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.5.2+" + "version": "3.5.3" } }, "nbformat": 4, - "nbformat_minor": 0 + "nbformat_minor": 1 }