SlideShare una empresa de Scribd logo
1 de 16
1 Developing a web application for research: programming to find related PubMed articles. Philip Wolstenholme
Introduction to talk Aims of my project What work was done? What was found? How could the project be developed in the future? Summary Questions from the audience 2
The Project A research tool to find similar articles Help explore scientific literature Simple Accessed online Only requires article title or DOI DOI: Digital Object Identifier 3
Python The programming language used for this project Used to retrieve data, display results and analyse findings Why Python: BioPython library of code Compatible with GAE GAE – Google App Engine Run programs online as ‘web applications’ 4
Advantages over alternatives Presenting related content not unique Used on PubMed, ScienceDirect, Web of Science etc My application standalone Works with content from any site, or from a PDF Bookmarklet automatically detects DOIs from webpages 5
Choice of corpus journal Searching every journal for related items ideal, but slow Selected Marine Pollution Bulletin Based on high impact factor Availability of articles on PubMed 6
Working with PubMed data Download Three years worth of Mar Pol Bul downloaded Downloaded data opened, only useful data kept Large table made of words (tokens) and their frequencies  Matrix turned into an easy and quick format for Python to read Process Shrink Matrix 7
Finding similarity 10, 821 columns 859 rows of articles Title and DOI Token frequencies 8
9
10
11
Mean ‘best match’ was 0.33 12
Were my results of good quality? Benchmarked against PubMed 46% similarity between results  For 19% of articles similarity ≥ 70% For some articles PubMed returned zero related results Our app returned results scored at 0.25 Results of comparable quality 13
Future work 14 Application good proof of concept Limited dataset One journal Three years Opportunities to adapt the application E.g. subscription service, mobile version
Summary Aimed to create simple, easy to use, functional application Completed application and carried out analysis of results Results of a good quality Aims of project achieved 15
Any questions? 16

Más contenido relacionado

Destacado

E learning tutorial2
E learning tutorial2E learning tutorial2
E learning tutorial2Sashacaro
 
EasyTrack MVP2 & Data
EasyTrack MVP2 & DataEasyTrack MVP2 & Data
EasyTrack MVP2 & Datakrlwnsr
 
Dreams. I fight for it.
Dreams. I fight for it.Dreams. I fight for it.
Dreams. I fight for it.malena115
 
Cliffside Hotel Geotechnical Design CEE121
Cliffside Hotel Geotechnical Design CEE121Cliffside Hotel Geotechnical Design CEE121
Cliffside Hotel Geotechnical Design CEE121Adam Richardson, EIT
 
Japanese Women
Japanese WomenJapanese Women
Japanese Womenwiesneskib
 
EFHK Spring 2016_manager effectiveness_Final
EFHK Spring 2016_manager effectiveness_FinalEFHK Spring 2016_manager effectiveness_Final
EFHK Spring 2016_manager effectiveness_FinalCheong Im
 
Maj konference 2012 - Janus Sandsgaard
Maj konference 2012 - Janus SandsgaardMaj konference 2012 - Janus Sandsgaard
Maj konference 2012 - Janus SandsgaardJanus Sandsgaard
 
Home Learning/Homework in Primary Schools
Home Learning/Homework in Primary SchoolsHome Learning/Homework in Primary Schools
Home Learning/Homework in Primary SchoolsClaire Dunn
 
Avin kotian u
Avin kotian uAvin kotian u
Avin kotian uAvin K
 
Scientist meets web dev: how Python became the language of data
Scientist meets web dev: how Python became the language of dataScientist meets web dev: how Python became the language of data
Scientist meets web dev: how Python became the language of dataGael Varoquaux
 

Destacado (12)

E learning tutorial2
E learning tutorial2E learning tutorial2
E learning tutorial2
 
EasyTrack MVP2 & Data
EasyTrack MVP2 & DataEasyTrack MVP2 & Data
EasyTrack MVP2 & Data
 
mi región junìn
mi región junìn mi región junìn
mi región junìn
 
Dreams. I fight for it.
Dreams. I fight for it.Dreams. I fight for it.
Dreams. I fight for it.
 
Cliffside Hotel Geotechnical Design CEE121
Cliffside Hotel Geotechnical Design CEE121Cliffside Hotel Geotechnical Design CEE121
Cliffside Hotel Geotechnical Design CEE121
 
Japanese Women
Japanese WomenJapanese Women
Japanese Women
 
866
866866
866
 
EFHK Spring 2016_manager effectiveness_Final
EFHK Spring 2016_manager effectiveness_FinalEFHK Spring 2016_manager effectiveness_Final
EFHK Spring 2016_manager effectiveness_Final
 
Maj konference 2012 - Janus Sandsgaard
Maj konference 2012 - Janus SandsgaardMaj konference 2012 - Janus Sandsgaard
Maj konference 2012 - Janus Sandsgaard
 
Home Learning/Homework in Primary Schools
Home Learning/Homework in Primary SchoolsHome Learning/Homework in Primary Schools
Home Learning/Homework in Primary Schools
 
Avin kotian u
Avin kotian uAvin kotian u
Avin kotian u
 
Scientist meets web dev: how Python became the language of data
Scientist meets web dev: how Python became the language of dataScientist meets web dev: how Python became the language of data
Scientist meets web dev: how Python became the language of data
 

Similar a Developing a web application for research: programming to find related PubMed articles.

One Scientist’s Wish List for Scientific Publishers
One Scientist’s Wish List for Scientific PublishersOne Scientist’s Wish List for Scientific Publishers
One Scientist’s Wish List for Scientific PublishersPhilip Bourne
 
Elsevier - Labs on Line
Elsevier - Labs on Line Elsevier - Labs on Line
Elsevier - Labs on Line Philip Bourne
 
Supporting PDF accessibility evaluation: Early results from the FixRep project
 Supporting PDF accessibility evaluation: Early results from the FixRep project Supporting PDF accessibility evaluation: Early results from the FixRep project
Supporting PDF accessibility evaluation: Early results from the FixRep projectUKOLN (dev), University of Bath
 
Collaborative Data Analysis with Taverna Workflows
Collaborative Data Analysis with Taverna WorkflowsCollaborative Data Analysis with Taverna Workflows
Collaborative Data Analysis with Taverna WorkflowsAndrea Wiggins
 
Chandran Honour, Nature.com
Chandran Honour, Nature.comChandran Honour, Nature.com
Chandran Honour, Nature.comMashery
 
eLanguage.net: Shifting the paradigm in Linguistics
eLanguage.net: Shifting the paradigm in LinguisticseLanguage.net: Shifting the paradigm in Linguistics
eLanguage.net: Shifting the paradigm in LinguisticsCornelius Puschmann
 
Ten Simple Rules for Open Access Publishers
Ten Simple Rules for Open Access PublishersTen Simple Rules for Open Access Publishers
Ten Simple Rules for Open Access PublishersPhilip Bourne
 
Top mobile apps for Higher Education
Top mobile apps for Higher EducationTop mobile apps for Higher Education
Top mobile apps for Higher EducationCourtney Mlinar
 
RDA Scholarly Infrastructure 2015
RDA Scholarly Infrastructure 2015RDA Scholarly Infrastructure 2015
RDA Scholarly Infrastructure 2015William Gunn
 
Navigating the Research Databases
Navigating the Research DatabasesNavigating the Research Databases
Navigating the Research DatabasesJenna Rinalducci
 
Navigating the Research Databases
Navigating the Research DatabasesNavigating the Research Databases
Navigating the Research DatabasesJenna Rinalducci
 
Keeping up to date & comparing journal apps. the stockholm workshop 2016
Keeping up to date &  comparing journal apps. the stockholm workshop 2016Keeping up to date &  comparing journal apps. the stockholm workshop 2016
Keeping up to date & comparing journal apps. the stockholm workshop 2016Guus van den Brekel
 
Utilizing the natural langauage toolkit for keyword research
Utilizing the natural langauage toolkit for keyword researchUtilizing the natural langauage toolkit for keyword research
Utilizing the natural langauage toolkit for keyword researchErudite
 
Get 'em in, Get 'em out: Finding a Road from Turnaway Data to Repurposed Space
Get 'em in, Get 'em out: Finding a Road from Turnaway Data to Repurposed SpaceGet 'em in, Get 'em out: Finding a Road from Turnaway Data to Repurposed Space
Get 'em in, Get 'em out: Finding a Road from Turnaway Data to Repurposed SpaceNikki DeMoville
 
Exploring and accessing knowledge in Research
Exploring and accessing knowledge in ResearchExploring and accessing knowledge in Research
Exploring and accessing knowledge in ResearchNabeel Salih Ali
 

Similar a Developing a web application for research: programming to find related PubMed articles. (20)

One Scientist’s Wish List for Scientific Publishers
One Scientist’s Wish List for Scientific PublishersOne Scientist’s Wish List for Scientific Publishers
One Scientist’s Wish List for Scientific Publishers
 
Using OA Content
Using OA ContentUsing OA Content
Using OA Content
 
Elsevier - Labs on Line
Elsevier - Labs on Line Elsevier - Labs on Line
Elsevier - Labs on Line
 
Supporting PDF accessibility evaluation: Early results from the FixRep project
 Supporting PDF accessibility evaluation: Early results from the FixRep project Supporting PDF accessibility evaluation: Early results from the FixRep project
Supporting PDF accessibility evaluation: Early results from the FixRep project
 
QQML presentation
QQML presentationQQML presentation
QQML presentation
 
Collaborative Data Analysis with Taverna Workflows
Collaborative Data Analysis with Taverna WorkflowsCollaborative Data Analysis with Taverna Workflows
Collaborative Data Analysis with Taverna Workflows
 
Chandran Honour, Nature.com
Chandran Honour, Nature.comChandran Honour, Nature.com
Chandran Honour, Nature.com
 
eLanguage.net: Shifting the paradigm in Linguistics
eLanguage.net: Shifting the paradigm in LinguisticseLanguage.net: Shifting the paradigm in Linguistics
eLanguage.net: Shifting the paradigm in Linguistics
 
Ten Simple Rules for Open Access Publishers
Ten Simple Rules for Open Access PublishersTen Simple Rules for Open Access Publishers
Ten Simple Rules for Open Access Publishers
 
Top mobile apps for Higher Education
Top mobile apps for Higher EducationTop mobile apps for Higher Education
Top mobile apps for Higher Education
 
RDA Scholarly Infrastructure 2015
RDA Scholarly Infrastructure 2015RDA Scholarly Infrastructure 2015
RDA Scholarly Infrastructure 2015
 
Elsevier02012011
Elsevier02012011Elsevier02012011
Elsevier02012011
 
Peer Review and Science2.0
Peer Review and Science2.0Peer Review and Science2.0
Peer Review and Science2.0
 
Navigating the Research Databases
Navigating the Research DatabasesNavigating the Research Databases
Navigating the Research Databases
 
Navigating the Research Databases
Navigating the Research DatabasesNavigating the Research Databases
Navigating the Research Databases
 
Keeping up to date & comparing journal apps. the stockholm workshop 2016
Keeping up to date &  comparing journal apps. the stockholm workshop 2016Keeping up to date &  comparing journal apps. the stockholm workshop 2016
Keeping up to date & comparing journal apps. the stockholm workshop 2016
 
Utilizing the natural langauage toolkit for keyword research
Utilizing the natural langauage toolkit for keyword researchUtilizing the natural langauage toolkit for keyword research
Utilizing the natural langauage toolkit for keyword research
 
Get 'em in, Get 'em out: Finding a Road from Turnaway Data to Repurposed Space
Get 'em in, Get 'em out: Finding a Road from Turnaway Data to Repurposed SpaceGet 'em in, Get 'em out: Finding a Road from Turnaway Data to Repurposed Space
Get 'em in, Get 'em out: Finding a Road from Turnaway Data to Repurposed Space
 
Inn Presentation
Inn PresentationInn Presentation
Inn Presentation
 
Exploring and accessing knowledge in Research
Exploring and accessing knowledge in ResearchExploring and accessing knowledge in Research
Exploring and accessing knowledge in Research
 

Último

Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...DhatriParmar
 
Oppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmOppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmStan Meyer
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
MS4 level being good citizen -imperative- (1) (1).pdf
MS4 level   being good citizen -imperative- (1) (1).pdfMS4 level   being good citizen -imperative- (1) (1).pdf
MS4 level being good citizen -imperative- (1) (1).pdfMr Bounab Samir
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptxmary850239
 
Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptx
Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptxMan or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptx
Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptxDhatriParmar
 
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...DhatriParmar
 
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...Association for Project Management
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfJemuel Francisco
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptxmary850239
 
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptxDIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptxMichelleTuguinay1
 
week 1 cookery 8 fourth - quarter .pptx
week 1 cookery 8  fourth  -  quarter .pptxweek 1 cookery 8  fourth  -  quarter .pptx
week 1 cookery 8 fourth - quarter .pptxJonalynLegaspi2
 
Congestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentationCongestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentationdeepaannamalai16
 
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptxDecoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptxDhatriParmar
 
Expanded definition: technical and operational
Expanded definition: technical and operationalExpanded definition: technical and operational
Expanded definition: technical and operationalssuser3e220a
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management systemChristalin Nelson
 
How to Make a Duplicate of Your Odoo 17 Database
How to Make a Duplicate of Your Odoo 17 DatabaseHow to Make a Duplicate of Your Odoo 17 Database
How to Make a Duplicate of Your Odoo 17 DatabaseCeline George
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Seán Kennedy
 
Mythology Quiz-4th April 2024, Quiz Club NITW
Mythology Quiz-4th April 2024, Quiz Club NITWMythology Quiz-4th April 2024, Quiz Club NITW
Mythology Quiz-4th April 2024, Quiz Club NITWQuiz Club NITW
 

Último (20)

Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
Beauty Amidst the Bytes_ Unearthing Unexpected Advantages of the Digital Wast...
 
Oppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and FilmOppenheimer Film Discussion for Philosophy and Film
Oppenheimer Film Discussion for Philosophy and Film
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
MS4 level being good citizen -imperative- (1) (1).pdf
MS4 level   being good citizen -imperative- (1) (1).pdfMS4 level   being good citizen -imperative- (1) (1).pdf
MS4 level being good citizen -imperative- (1) (1).pdf
 
4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx4.16.24 Poverty and Precarity--Desmond.pptx
4.16.24 Poverty and Precarity--Desmond.pptx
 
Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptx
Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptxMan or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptx
Man or Manufactured_ Redefining Humanity Through Biopunk Narratives.pptx
 
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
Blowin' in the Wind of Caste_ Bob Dylan's Song as a Catalyst for Social Justi...
 
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
Team Lead Succeed – Helping you and your team achieve high-performance teamwo...
 
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdfGrade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
Grade 9 Quarter 4 Dll Grade 9 Quarter 4 DLL.pdf
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx
 
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptxDIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
DIFFERENT BASKETRY IN THE PHILIPPINES PPT.pptx
 
week 1 cookery 8 fourth - quarter .pptx
week 1 cookery 8  fourth  -  quarter .pptxweek 1 cookery 8  fourth  -  quarter .pptx
week 1 cookery 8 fourth - quarter .pptx
 
Congestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentationCongestive Cardiac Failure..presentation
Congestive Cardiac Failure..presentation
 
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptxDecoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
Decoding the Tweet _ Practical Criticism in the Age of Hashtag.pptx
 
Expanded definition: technical and operational
Expanded definition: technical and operationalExpanded definition: technical and operational
Expanded definition: technical and operational
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management system
 
How to Make a Duplicate of Your Odoo 17 Database
How to Make a Duplicate of Your Odoo 17 DatabaseHow to Make a Duplicate of Your Odoo 17 Database
How to Make a Duplicate of Your Odoo 17 Database
 
Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...Student Profile Sample - We help schools to connect the data they have, with ...
Student Profile Sample - We help schools to connect the data they have, with ...
 
prashanth updated resume 2024 for Teaching Profession
prashanth updated resume 2024 for Teaching Professionprashanth updated resume 2024 for Teaching Profession
prashanth updated resume 2024 for Teaching Profession
 
Mythology Quiz-4th April 2024, Quiz Club NITW
Mythology Quiz-4th April 2024, Quiz Club NITWMythology Quiz-4th April 2024, Quiz Club NITW
Mythology Quiz-4th April 2024, Quiz Club NITW
 

Developing a web application for research: programming to find related PubMed articles.

  • 1. 1 Developing a web application for research: programming to find related PubMed articles. Philip Wolstenholme
  • 2. Introduction to talk Aims of my project What work was done? What was found? How could the project be developed in the future? Summary Questions from the audience 2
  • 3. The Project A research tool to find similar articles Help explore scientific literature Simple Accessed online Only requires article title or DOI DOI: Digital Object Identifier 3
  • 4. Python The programming language used for this project Used to retrieve data, display results and analyse findings Why Python: BioPython library of code Compatible with GAE GAE – Google App Engine Run programs online as ‘web applications’ 4
  • 5. Advantages over alternatives Presenting related content not unique Used on PubMed, ScienceDirect, Web of Science etc My application standalone Works with content from any site, or from a PDF Bookmarklet automatically detects DOIs from webpages 5
  • 6. Choice of corpus journal Searching every journal for related items ideal, but slow Selected Marine Pollution Bulletin Based on high impact factor Availability of articles on PubMed 6
  • 7. Working with PubMed data Download Three years worth of Mar Pol Bul downloaded Downloaded data opened, only useful data kept Large table made of words (tokens) and their frequencies Matrix turned into an easy and quick format for Python to read Process Shrink Matrix 7
  • 8. Finding similarity 10, 821 columns 859 rows of articles Title and DOI Token frequencies 8
  • 9. 9
  • 10. 10
  • 11. 11
  • 12. Mean ‘best match’ was 0.33 12
  • 13. Were my results of good quality? Benchmarked against PubMed 46% similarity between results For 19% of articles similarity ≥ 70% For some articles PubMed returned zero related results Our app returned results scored at 0.25 Results of comparable quality 13
  • 14. Future work 14 Application good proof of concept Limited dataset One journal Three years Opportunities to adapt the application E.g. subscription service, mobile version
  • 15. Summary Aimed to create simple, easy to use, functional application Completed application and carried out analysis of results Results of a good quality Aims of project achieved 15

Notas del editor

  1. Prompts (not script!):Introduction, marine biologist but chose a project supervised by Dr Alan Boyd which is why I’m presenting to this audience
  2. Quick introduction to what I’ll be covering
  3. Project aimed to providea useful way for someone with one journal article of interest to find related/similar articlesUsage scenario envisioned; literature review or researching for an essay. Could take a ‘classic paper’ or a piece of recommended reading from VITAL and use my app to quickly find a list of related papers.Wanted to make it as easy as possible to use, so accessed through the browser, no downloads, and all the user needs to enter is a title or a DOIDOI, in case you’re not familiar, acronym, a unique ID code given tojournal articlesExample on the right, the DOI is the highlighted code, usually found at the top or bottom of the first page of a journal article...and for people who aren’t comfortable with these initially odd looking strings of text, the user can also just paste in a title and the app will convert it to a DOI.
  4. Did all work through language called pythonIt was used download and process the data from PubMed that made up application’s corpus, to display the results of a search to the user, and to analyse the results returned by my project for my report.Python’s got numerous strenghs. It’s easy to read and has a gentle learning curve which means it’s easy to get started with – I’d never used it before my project but now I feel comfortable with using it.But the main advantages are BioPython, a collection of open source code that anyone can benefit from, and compatibility with GAE.GAE – Google App Engine, a platform for developing web applications.Web applications bit of a buzzword at the moment, but described in more useful terms, a way of programs running online rather than through a downloaded file. So when you check your Hotmail, Gmail or uni webmail using your browser rather than a downloaded email application like Outlook then you’re using a web application.
  5. By now, probably thinking that presenting related content not unique.Most if not all scientific literature aggregators do this.The advantage of my application, I’d like to think, is that it’s standalone – it can be used with any content from any website or a PDF – it’s not tied to one publisher’s website or to material available online.Also, bookmarklet, bit of code that lives inside a user’s browser, it automatically recognises DOIs within a page so with one click the user can forward these to my application.
  6. So our application aimed to look for relationships between the text content of articles, and to find those we needed a corpus, or collection of scientific literature.Ideally corpus would have encompassed a very wide range of journals, but that would be slow and beyond the realms of knowledge and processing power available for an honours project.Selected a marine biology journal by ranking all the marine journals available on PubMed by their impact factor and then removing too specific or too infrequently published journals.Impact factor, criteria for establishing rank or importance of a journal by observing how often other papers cite the papers within a journal. Bit of controversy but generally accepted as measure of a journal’s significance/standing.Result was a choice of the journal Marine Pollution Bulletin.
  7. Corpus was created by downloading from through PubMed’s API, Entrez.Working with the PubMed data to assemble our corpus was probably the hardest part of this project as it was the first big chunk that involved areas of programming that I’d never been involved in before.First of all 3 years worth of data from Marine Pollution Bulletin downloaded. This gave us a HUGE dump of data from PubMed. It had everything in it; three years worth of authors names, places of publishing, dates of publishing, dates of being added to PubMed, PubMed IDs, DOIs, all sorts of other information. It was too much information, and a lot of it would have served no use for our project.So, the next step was to process it. All this extra information was discarded, and we only kept the titles, abstracts and DOIs.Then, the titles and abstracts were separated word by word, and a big list of each word in the corpus was calculated. Then, for each word the number of times that it appears in each article was calculated – giving us an idea of the content and main themes of each article. This information was stored in the matrix, a big table that we’ll have a look at in the next slide.Finally, the matrix had to be shrunk somehow, it was just too big a file for Google App Engine to be able to read.
  8. ...this is a screen shot of a just a really small portion of the application’s dataset, opened in Excel.It might not be too easy to read but hopefully you can get some idea of the structure and scale.Down the rows we have one article per row, with the first two columns of each row holding an article’s title and DOI. The rest of the 10,821 columns contain a word count for each token/word.The matrix contained details of every single word in 859 articles, so ended up with over 9 million of these counts.You might also be able to see in this screen shot, that most of these counts are 0, in fact, 99% of the values in the matrix were zero.This meant that these values could be stripped out, leaving a file that was 95% smaller and much easier to deal with.The second step was to work out the relationships between all these word counts, and for that we used something called cosine similarity. This is just a method that worked through each row and used existing code to determine which rows share the most in common, and can be deemed related.
  9. So, to put it all in context, here’s a quick example. This is the main page, which can be accessed by anyone right now at honourspw.appspot.com.
  10. All the user has to do is paste in the title or DOI of a Marine Pollution Bulletin article from the last three years...Click submit...
  11. And they get a list of sixteen related articles dealing with metal pollution at sea.For each one of these results that the application returns, there’s also a similarity score available. This just gives a score ranging from 0 – 1 where 0 represents nothing in common and 1 represents an exact copy.We wondered what the level of match (or quality) of our results were.
  12. So, I wrote some code that records the score of the best match for all 859 articles.We found our mean best match was .33. This, to me, sounded quite low – we obviously weren’t expecting all our values to be in the .8/.9 or above range, because that would require a very homogenous set of data.But this score got us thinking about the quality of our results.
  13. So, to get an idea of PubMed, I compared the results our application was recommending for an article, to the results that PubMed was recommending.We found a 46% similarity between the results, and for almost 20% of the titles in the corpus, 70% of what PubMed recommended we did too.Also, PubMed failed to return recommendations for some papers, whereas our application returned results of a quality not too far from our overall mean.I deem that to be a comparable level of quality.