Package: skimmr_bm
==============================SKIMMR_BM - a Brief Overview==============================-----------------------------------------------------Contact vit.novacek@deri.org for more detailed info-----------------------------------------------------0. ABSTRACT AND TABLE OF CONTENTS=================================This document provides basic information about SKIMMR (a tool formachine-aided skim reading), in particular about its SKIMMR_BM package versionthat focuses on biomedical texts.The document contains three sections:1. ABOUT - overview of the tool and its functionalities2. INSTALLATION - basic instructions on how to install SKIMMR3. USING SKIMMR - basic instruction on how to use it after installation1. ABOUT========SKIMMR is a research prototype aimed at helping users to navigate throughlarge amounts of textual data efficiently. This is done by extending thetraditional paradigm of searching and browsing of text collections. SKIMMRlets the user skim texts by navigating a network of concepts and relationsexplicitly or implicitly present in them. The concepts and their relationshave been extracted and inferred from the textual content using novel machinereading techniques that power the SKIMMR back-end.The interconnected `skimming networks' provide a high-level overview of thedomain covered by the texts, and let the user quickly discover interestingpieces of information. This process also largely reduces the burden ofsieving through lots of irrelevant resources, which is often the down sideof using the standard search engines. When the users identify interestinginformation within the high level overview, they can continue reading therelated textual resources in detail.This particular version of SKIMMR (SKIMMR_BM) focuses on biomedical articlesavailable on PubMed. The knowledge base exposed by the SKIMMR interface isextracted from the PubMed abstracts (see the SKIMMR back-end documentation fordetails). Once the users finish skimming, i.e., navigating the network ofconcepts and relations extracted from the PubMed articles, they can easilybrowse and read the related publications. This is done using an embeddedwindow with PubMed results focused on the articles most relevant to theconcepts discovered when skimming the data. Specific examples that illustratethe way SKIMMR works are provided in the following section.2. INSTALLATION===============Probably the easiest way of installing SKIMMR_BM is using easy_install:*easy_install skimmr_bm*Check the documentation at http://peak.telecommunity.com/DevCenter/EasyInstallfor more detailed info on easy_install and setuptools.Should you prefer to download and install the package manually, fetch theSKIMMR_BM distribution archive file first. After unpacking it, switch to thegenerated directory and execute the following command:*python setup.py install*If you want to install the package locally (for the current user only), usethe following:*python setup.py install --user*Check the documentation at http://docs.python.org/2/distutils/index.html formore detailed options.3. USING SKIMMR===============After downloading and installing the SKIMMR package, it can be readily usedin a basic manner through the scripts provided. These are:- dwnl_bm.py - download of the PubMed abstracts to be processed- exst_bm.py - extraction of co-occurrence statements from texts- crkb_bm.py - creation of a knowledge base and its population by semanticsimilarity relations- ixkb_bm.py - indexing of the knowledge base for efficient querying- prep_bm.py - preparation of the sub-folder structure and resources in theworking directory necessary in order to launch the SKIMMR server- srvr_bm.py - launching the SKIMMR server and UIThe scripts are located in the *bin* subdirectory of the installation package.Alternatively, you can copy them from wherever your system puts Python packagebinaries (check the documentation of your operating system and your localPython implementation).The typical way of using these scripts is summarised in the following sections.Note that there are other ways how to launch the scripts - you can check thedocumentation in the script source code for details.3.1 Creating the working directory----------------------------------First of all, SKIMMR requires a place to store and process its data. Create adirectory for that somewhere (let us assume it is called *skimmr* in thefollowing). Switch to that directory then and copy all the SKIMMR_BM scriptsthere. After that, run*python prep_bm.py*in there. This will generate three sub-directories, *data*, *lingpipe* and*text*, as well as a couple of files and directories deeper in the *data* one.By default, the LingPipe text mining software is downloaded by this script,as it is a preferred method for the biomedical knowledge extraction lateron. You can skip this, however, you need to copy the LingPipe software intothe *lingpipe* directory yourselves then, or use a general knowledge extractionpipe-line built into the SKIMMR system (see the detailed options documentedin the script sources).3.2 Downloading abstracts from PubMed-------------------------------------SKIMMR_BM is specifically meant to process textual content available via thePubMed repository. After placing one or more files with the *.pmid* extensioninto the *text* folder in the *skimmr* directory, the tool can automaticallydownload all the abstracts corresponding to the PubMed identifiers providedin the *.pmid* files (divided by any sequence of white space characters orcommas). This is done by running the following*python dwnl_bm.py E-MAIL*where E-MAIL is your e-mail (used for the purposes of the Entrez API used bySKIMMR to fetch the article data from PubMed).3.3 Processing the texts------------------------If you have not downloaded PubMed abstracts based on their IDs in the previousstep, copy the locally stored abstracts files you want to process to the*text* folder in the *skimmr* directory. Plain text files (in ASCII or Unicodeformat) are supported, with the *.txt* extensions. Note that the filenamesshould be the PubMed IDs of the corresponding articles (plus the *.txt*extension), otherwise the source article look-up in SKIMMR later on will notproduce any meaningful results.After you have all the texts in place, run*python exst_bm.py*in the *skimmr* directory. This will chop up the texts into paragraphs andextract the co-occurrence statements from them. There is a limit imposedon the number of produced statements in the exst.py script, dynamicallycomputed from the available memory (or set to 750,000 if the psutil packageis not available on your system). You can change that when using the SKIMMRlibrary functions directly.3.4 Creating the knowledge base-------------------------------After generating the co-occurrence statements in the previous step, you cancreate the knowledge base from them using*python crkb_bm.py create*which will generate a couple of knowledge base persistence files in the *stre*sub-folder of the *data* directory in the *skimmr* root folder.3.5 Computing similarities--------------------------When the knowledge base has been generated, you can augment it by computingsemantic similarity relationships between the terms that are more frequentthan average:*python crkb_bm.py compsim*This will update the knowledge base persistence files accordingly. Note thatthis step may take up to several hours for larger knowledge bases!3.6 Indexing the knowledge base-------------------------------Before you can expose the processed content via a SKIMMR web interface, youhave to index the knowledge base. This is done by running*python ixkb_bm.py*which will generate a couple of index files in the knowledge base persistencesub-directory.3.7 Launching and using the server----------------------------------At last, you can launch the SKIMMR server by*python srvr_bm.py*This will start the server at localhost (127.0.0.1) and port 8008. You canspecify alternative addresses and ports by running the server as*python srvr_bm.py ADDRESS:PORT*Also, you can specify an alternative store to be loaded by the server (usefulif you want to examine multiple stores you have previously generated):*python srvr_bm.py [ADDRESS:PORT] [FOLDER]*where FOLDER is a path to the store you want to load.After the SKIMMR server has been started, you can point you browser to thecorresponding address and port and start using the tool as indicated in the*About* web-page accessible from the SKIMMR interface (just follow the linkin the bottom of every page in the SKIMMR web interface).