MetaMap is a highly configurable program developed by Dr. Alan (Lan) Aronson at the National Library of Medicine (NLM) to map biomedical text to the UMLS Metathesaurus or, equivalently, to discover Metathesaurus concepts referred to in text. MetaMap uses a knowledge intensive approach based on symbolic, natural language processing (NLP) and computational linguistic techniques. Besides being applied for both IR and data mining applications, MetaMap is one of the foundations of NLM's Medical Text Indexer (MTI) which is being applied to both semiautomatic and fully automatic indexing of biomedical literature at NLM. For more information on MetaMap and related research, see the the SKR Research Information Site. (http://skr.nlm.nih.gov/papers/index.shtml)
Web Access | Our Semantic Knowledge Representation (SKR) website provides both Interactive and Batch facilities that allow users to send text to our internal machines and run various programs including the MetaMap program. The Interactive facility is designed for testing options and running small amounts of text. The Batch facility runs large amounts of text through our Scheduler program which distributes the workload over a large pool of clients. | GO TO SKR |
---|---|---|
MetaMap | Distributable version of the original Prolog MetaMap program. Currently only includes binary distribution for Solaris and Linux platforms. | GO TO MetaMap |
SKR API | Java-based API to the SKR Scheduler facility was created to provide users with the ability to programmatically submit jobs to the Scheduler Interactive and Batch facilities instead of using the web-based interfaces. We have tried to reproduce full functionality for all of the programs under the SKR Scheduler umbrella. The SKR API has been tested on the Solaris, Linux, and Windows XP platforms. | GO TO SKR API |
NOTE: MMTx is no longer supported except for major bug fixes. We recommend all users switch to the downloadable MetaMap (described above) if possible. | ||
MMTx | MetaMap Transfer (MMTx) is a java-based distributable version of the MetaMap program. Includes binary and source distributions and is supported on Solaris, Linux, Windows, and Mac platforms. MMTx was an early attempt at providing a distributable version of MetaMap and is currently being phased out in favor of the original Prolog version of MetaMap. There are two reasons for the phase out of MMTx: 1) The original Prolog version of MetaMap is much faster, especially now with the new speed enhancements (V2). 2) We were never able to make the results the same between MMTx and MetaMap - there was always about a 20% difference in the overall results MMTx would produce. | GO TO MMTx |
If you are new to MetaMap, or are unsure where to start, we would recommend starting with our research papers on MetaMap at the MetaMap section of the SKR Research Information Site (URL: http://skr.nlm.nih.gov/papers/index.shtml#MetaMap). We also recommend that people use our Interactive web interface first to get a feel for how MetaMap works and how the various options affect the results. Once you have a good feel for what you would like to do, the decision comes down to how much control you want of your data. If you need to run everything locally, you are going to need to download and install either our MetaMap program or our MMTx program depending on what is available for your platform of choice. If you do not need to maintain control of your data, we offer a Batch facility for processing large sets of data through our pool of clients. You can access our Batch facility through our SKR web site, or through our Java-based SKR API. In either case, your data is uploaded to our web site, processed by our Scheduler program, and then the results are provided to you. We maintain your data and results for a maximum of 15 days and then they are purged from our systems. Only you and our team have access to the data and results. We only review Batch jobs when there is a specific request, or we see a Batch job causing problems with the Scheduler.
PLEASE NOTE: The downloads are restricted and require a valid UMLSKS username and password! Please see the above list of prerequisites before attempting to download MetaMap.
NOTE: If you have already installed the 2008 MetaMap, you will just need to use the Binary Update download and Binary Update Installation instructions. You do not need to do a complete re-install.
Currently, each of the full downloads contains a binary version of MetaMap compiled specifically for either Linux or Solaris, and we have included the Strict Data Model for each of the years respectively. We plan to also include the Relaxed Data Model for each year and we are working on updating the DataFileBuilder to work with MetaMap. These features will be phased in as they are completed and tested.
Move the downloaded file into a directory where you want to install MetaMap. This directory will then be referred to as <parent_directory> throughout the rest of the installation instructions.
To extract the MetaMap distribution, use the following bunzip2 and tar commands substituting the appropriate name of the file you downloaded (e.g., public_mm_linux_2008.tar.bz2, public_mm_solaris_2008.tar.bz2, public_mm_linux_2007.tar.bz2, or public_mm_solaris_2007.tar.bz2):
To begin the initial install, go to the directory created when you extracted the distribution (public_mm).
To find out where your java installation is located, use the following command:
# in C Shell (csh or tcsh)
setenv JAVA_HOME /usr/local/jre1.4.2
# in Bourne Again Shell (bash)
export JAVA_HOME=/usr/local/jre1.4.2
# Bourne Shell (sh)
JAVA_HOME=/usr/local/jre1.4.2 export JAVA_HOME
# in C Shell (csh or tcsh)
setenv PATH <parent dir>/public_mm/bin:$PATH
# in Bourne Again Shell (bash)
export PATH=<parent dir>/public_mm/bin:$PATH
# Bourne Shell (sh)
PATH=<parent dir>/public_mm/bin:$PATH export PATH
% cd <parent dir>/public_mm % ./bin/install.sh Enter basedir of installation [<parent dir>/public_mm] <user hits return to get the default> Basedir is set to <parent dir>/public_mm. The WSD Server requires Sun's Java Runtime Environment (JRE) Sun's Java Developer Kit (JDK) will work as well. if the command: "which" java returns /usr/local/jre1.4.2/bin/java, then the JRE resides in /usr/local/jre1.4.2/. Where does your distribution of Sun's JRE reside? Enter home path of JRE (JDK) [/usr]: /nfsvol/nls/tools/Linux-i686/java1.4.2 Using /nfsvol/nls/tools/Linux-i686/java1.4.2 for JAVA_HOME. <parent dir>/public_mm/WSD_Server/config/disambServer.cfg generated <parent dir>/public_mm/WSD_Server/config/log4j.properties generated <parent dir>/public_mm/bin/SKRrun generated. <parent dir>/public_mm/bin/metamap07 generated. <parent dir>/public_mm/bin/wsdserverctl generated. <parent dir>/public_mm/bin/skrmedpostctl generated. Install complete. %
MetaMap requires the starting of one or two servers depending on how you
plan to use MetaMap. The SKR/MedPost Part-of-Speech Tagger Server is
required regardless of how you use MetaMap. The Word Sense
Disambiguation (WSD) Server is optional and only needs to be started if
you want/plan to use the WSD option (-y) with MetaMap. They can be
started and stopped as follows. Both servers will automatically run in
the background when started.
Starting the SKR/Medpost Part-of-Speech Tagger Server:
MetaMap (2007) Control options: tag_text no_acros_abbrs an_derivational_variants stop_large_n plain_syntax candidates semantic_types mappings best_mappings_only show_cuis Initializing db_access (07)... Berkeley DB databases (normal strict model) are open. Static variants will come from table varsan. Accessing lexicon <parent directory>/public_mm/lexicon/data/lexiconStatic2007. Variant generation mode: static. Initializing tagger on localhost... Processing 00000000.tx.1: lung cancer Phrase: "lung cancer" Meta Candidates (8): 1000 C0242379:Lung Cancer (Malignant neoplasm of lung) [Neoplastic Process] 1000 C0684249:Lung Cancer (Carcinoma of lung) [Neoplastic Process] 861 C0006826:Cancer (Malignant Neoplasms) [Neoplastic Process] 861 C0024109:Lung [Body Part, Organ, or Organ Component] 861 C0998265:Cancer (Cancer Genus) [Invertebrate] 861 C1278908:Lung (Entire lung) [Body Part, Organ, or Organ Component] 861 C1306459:Cancer (Primary malignant neoplasm) [Neoplastic Process] 768 C0032285:Pneumonia [Disease or Syndrome] Meta Mapping (1000): 1000 C0684249:Lung Cancer (Carcinoma of lung) [Neoplastic Process] Meta Mapping (1000): 1000 C0242379:Lung Cancer (Malignant neoplasm of lung) [Neoplastic Process]
Before you update MetaMap, if you run the following command, you should receive an error. Afterwards, the command should work fine.
#### ERROR: skr_phrase failed on 00000000.tx.1 lung cancer
Before you extract the binary distribution files, you should backup the affected files.
% cd public_mm/bin % mkdir Backup % cp metamap08.BINARY install.sh SKRrun.in Backup % cd ../..
% cd <parent directory of installation> % ./public_mm/bin/uninstall.sh Do you really want to uninstall MetaMap? [no/yes] yes Removing Tagger Server Removing WSD Server Removing Lexicon Removing MetaMap Databases Removing Programs Removing Base Directory Removal of MetaMap installation successful. %
For more information on running MetaMap and its many options, please see these references: