{ "metadata": { "name": "" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "code", "collapsed": false, "input": [ "%matplotlib inline\n", "%autosave 10" ], "language": "python", "metadata": {}, "outputs": [ { "javascript": [ "IPython.notebook.set_autosave_interval(10000)" ], "metadata": {}, "output_type": "display_data" }, { "output_type": "stream", "stream": "stdout", "text": [ "Autosaving every 10 seconds\n" ] } ], "prompt_number": 1 }, { "cell_type": "code", "collapsed": false, "input": [ "import gensim\n", "import cPickle as pickle\n", "from sklearn import *\n", "import numpy\n", "from matplotlib import pyplot" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stderr", "text": [ "/usr/lib64/python2.7/site-packages/sklearn/pls.py:7: DeprecationWarning: This module has been moved to cross_decomposition and will be removed in 0.16\n", " \"removed in 0.16\", DeprecationWarning)\n" ] } ], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [ "articles = pickle.load(open('data/plos_biology_articles_unfurled.list','r'))" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 3 }, { "cell_type": "code", "collapsed": false, "input": [ "dois = pickle.load(open('data/plos_biology_dois.list','r'))" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 4 }, { "cell_type": "code", "collapsed": false, "input": [ "articles[0][:10]" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 5, "text": [ "['introduction',\n", " 'during',\n", " '1980s',\n", " '1990s',\n", " 'methods',\n", " 'molecular',\n", " 'genetics',\n", " 'used',\n", " 'determine',\n", " 'contributions']" ] } ], "prompt_number": 5 }, { "cell_type": "code", "collapsed": false, "input": [ "dois[0]" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 6, "text": [ "'10.1371/journal.pbio.1000584'" ] } ], "prompt_number": 6 }, { "cell_type": "markdown", "metadata": {}, "source": [ "Checking the main text of the above DOI we make certain that the article stored in `articles[0]` corresponds to the DOI stored in `dois[0]`." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let us now load the same corpus as in `articles` but already formatted as a numerical matrix that represents each article (row of the matrix) as a bag of words.\n", "We generated this corpus and the corresponding dictionary [earlier](http://georg.io/2014/02/PLOS_Biology_Topics)." ] }, { "cell_type": "code", "collapsed": false, "input": [ "corpus = gensim.corpora.MmCorpus('data/plos_biology_corpus.mm')\n", "dictionary = dictionary = gensim.corpora.dictionary.Dictionary().load('data/plos_biology.dict')" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 7 }, { "cell_type": "code", "collapsed": false, "input": [ "corpus_mat = gensim.matutils.corpus2csc(corpus)\n", "corpus_mat = corpus_mat.T\n", "print corpus_mat.shape" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "(1754, 27210)\n" ] } ], "prompt_number": 8 }, { "cell_type": "code", "collapsed": false, "input": [ "svd = decomposition.TruncatedSVD(n_components=2)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 9 }, { "cell_type": "code", "collapsed": false, "input": [ "corpus_mat_transform = svd.fit_transform(corpus_mat)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 10 }, { "cell_type": "code", "collapsed": false, "input": [ "pyplot.scatter(corpus_mat_transform[:,0], corpus_mat_transform[:,1])\n", "pyplot.scatter(numpy.median(corpus_mat_transform, axis=0)[0], numpy.median(corpus_mat_transform, axis=1)[1], color='red')" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 11, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n4UAdUQAAAABJRU5ErkJggg==\n", "text": [ "" ] } ], "prompt_number": 11 }, { "cell_type": "markdown", "metadata": {}, "source": [ "As we can see there are a few articles that lie relatively far away from the bulk of the corpus.\n", "Let's focus on some of these:" ] }, { "cell_type": "code", "collapsed": false, "input": [ "corpus_mat_transform[corpus_mat_transform[:,0]>150]" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 12, "text": [ "array([[ 188.00372631, 206.98116152],\n", " [ 173.92168158, 149.52950725],\n", " [ 153.28884507, 215.76087149],\n", " [ 162.25142408, 102.5657386 ],\n", " [ 150.9967843 , 145.03623178]])" ] } ], "prompt_number": 12 }, { "cell_type": "code", "collapsed": false, "input": [ "numpy.where(corpus_mat_transform[:,0]>150)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 13, "text": [ "(array([ 35, 1074, 1109, 1371, 1544]),)" ] } ], "prompt_number": 13 }, { "cell_type": "code", "collapsed": false, "input": [ "for index in numpy.where(corpus_mat_transform[:,0]>150)[0]:\n", " print 'http://www.plosbiology.org/article/info:doi/%s' % dois[index]" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "http://www.plosbiology.org/article/info:doi/10.1371/journal.pbio.1001060\n", "http://www.plosbiology.org/article/info:doi/10.1371/journal.pbio.1001657\n", "http://www.plosbiology.org/article/info:doi/10.1371/journal.pbio.1001283\n", "http://www.plosbiology.org/article/info:doi/10.1371/journal.pbio.1000135\n", "http://www.plosbiology.org/article/info:doi/10.1371/journal.pbio.1000373\n" ] } ], "prompt_number": 14 }, { "cell_type": "markdown", "metadata": {}, "source": [ "The first of these \"outliers\" in the above reduced space is a *Synopsis* articles so it may be understandable why that one sticks out.\n", "However, the remaining articles are research articles that all deal with neurobiological topics - so off-hand it is not obvious to me why these would lie a bit further away from the bulk of the articles." ] } ], "metadata": {} } ] }