These are instructions for installation of cTAKES for developers. With these instructions you can set up your development environment with cTAKES code, change or extend the code, compile the code, and deploy. If you simply want to be a user of the software, refer to the cTAKES 3.0 User Install Guide.
Knowledge about what the cTAKES components do is not supplied by the install instructions. This is found in the cTAKES 3.0 Component Use Guide. There is no training or documentation (except for code comments) on the code itself. You must familiarize yourself with the components and then study the code on your own to be able to extend it.
In order to modify/compile the source code for a cTAKES component, developers must utilize either an IDE, such as Eclipse, or another editor of your choice. Follow the appropriate sections here depending upon your developer preferences.
Once you have compiled the code you can process documents with the cTAKES components. The documents upon which you can run cTAKES will take many forms. An example of doing this is covered in the Processing Documents section.
The minimal install instructions below are short but require a lot of prerequisite setup on your own. If you need more help then follow the step by step instructions. The step by step instructions for Eclipse assume a Windows or Ubuntu Linux install environment. You will need to extrapolate for any other environments.
Eclipse minimal install instructions
Prerequisites: Java JDK 1.6+, Eclipse IDE 4.2+, subversive plugin (or svn equivalent with appropriate SVN team provider connectors), m2e plugin (or mvn equivalent)
The following location is the main trunk of cTAKES. See how cTAKES treats the trunk, branches, and tags in the developer FAQs.
- Import Project > Maven > Checkout Maven Project from SCM and use: svn and https://svn.apache.org/repos/asf/ctakes/trunk
- Select all projects.
- Wait until Eclipse downloads and builds all of your projects (it may take up to 30 minutes depending on the machine).
- The various build helpers should run jcasgen and build the projects for you. There should not be any reason to run mvn install, etc.
- Merge the version-matching resources ZIP file from http://sourceforge.net/projects/ctakesresources/files/ into your ctakes-dictionary-lookup project.
- (Optional) If you would like to launch the UIMA CVD or CPE GUI, run ctakes-clinical-pipeline/resources/launch/UIMA_<CVD | CPE>GUI--clinical_documents pipeline.launch
- (Optional) UIMA plug-ins called "UIMA Eclipse tooling and runtime support" can be installed from update site: http://www.apache.org/dist/uima/eclipse-update-site
Eclipse step by step install instructions
Preparing Java
Preparing Eclipse
If you are going to use Eclipse for development then follow these instructions.
Step |
Example |
---|---|
1. Download and install Eclipse 4.2+. |
No example |
2. Subversion Eclipse plug-in (based on Subversive site). We will use the one called "Subversive - SVN Team Provider" Juno - http://download.eclipse.org/releases/juno Expand the Collaboration category. |
|
3. Subversion team provider connectors 1.7+. |
|
4. Maven is already part of Eclipse, but more integration to Maven commands is needed. Juno - http://download.eclipse.org/releases/juno Expand the Collaboration category. |
|
5. Maven SCM connector. |
|
Compile a release in Eclipse
Step |
Example |
---|---|
1. Import the cTAKES projects using Maven. |
|
The following location is the main trunk of cTAKES. See how cTAKES treats the trunk, branches, and tags in the developer FAQs. 2. For SCM URL use "svn" in the drop-down and this in the text field https://svn.apache.org/repos/asf/ctakes/trunk Click Finish. Due to the way Maven and Eclipse work together you will see two copies of the sub-projects in Eclipse. If you look into your workspace directories there is only one set of underlying files. |
|
3. Download cTAKES 3.0 Dictionaries and models. Due to licensing considerations and easy of installability, one download from an external location was established with all the resources you will need. Licensing for these resources is found within the download. Download time will be commensurate with 1GB of data.
|
Windows: cd /tmp wget http://sourceforge.net/projects/ctakesresources/files/ctakes-resources-3.0.1.zip sudo unzip ctakes-resources-3.0.1.zip |
4. Copy (or move) the resources to cTAKES_HOME. There may be conflicts while taking this action. Overwrite the cTAKES_HOME files with those in the resources download. |
Windows: xcopy /s C:\temp\ctakes-resources-3.0.1\resources C:\Users\<userID>\workspace\ctakes\ctakes-dictionary-lookup\resources Linux: cp -R /tmp/resources/* <LINUX_ECLIPSE_WORKSPACE_HOME>/ctakes/ctakes-dictionary-lookup/resources |
5. Refresh Eclipse. |
No example |
6. Add ctakes-dictionary-lookup/resources as a folder to the classpath. |
|
7. UMLS user ID and password. If you do not have a UMLS username and password, you may request one at UMLS Terminology Services
|
|
Process documents using cTAKES
Step |
Example |
---|---|
1. Launching the UIMA CAS Visual Debugger (CVD) or the Collection Processing Engine (CPE) from Eclipse can now be accomplished in the ctakes-clinical-pipeline project. Navigate to: <cTAKES_HOME> \ctakes-clinical-pipeline \resources \launch \UIMA_<CVD | CPE>GUI--clinical_documents pipeline.launch where you must select between CVD and CPE in the command. Right-click on the launch file and select Run-As -> UIMA_<CVD | CPE>GUI-clinical_documents. Note: Don't forget to set the location of the resources and your UMLS user ID and password if you have not done so for a particular project or run configuration. |
|
2. (Optional) Process data. The User Guide describes files in the form that they came in the binary distributions. That form does not match the form when you checkout the code as we have done here. |
No example |
(Optional) UIMA tools plug-in
Developers may be interested in the Eclipse plug-ins provided by the UIMA community. They include, for example, a UIMA component descriptor editor.
Step |
Example |
---|---|
1. Find UIMA Eclipse plug-ins. http://www.apache.org/dist/uima/eclipse-update-site
|
|
2. Install UIMA Eclipse plug-ins. |
|
3. (optional) Verify the installation of the UIMA Plug-ins. Go to Help -> About Eclipse -> Installation Details -> Plug-ins. You will see a dialog such as that i the next cell with plug-in names starting with "UIMA Eclipse:". |
|
Command line minimal install instructions
Prerequisites: Java JDK 1.6+, SVN, Maven 3.0+
The following location is the main trunk of cTAKES. See how cTAKES treats the trunk, branches, and tags in the developer FAQs.
- svn co https://svn.apache.org/repos/asf/ctakes/trunk ctakes-3.0
- mvn clean compile package
- Running the mvn package command will generate a binary distribution in /ctakes-distribution/target/ctakes-<release>-bin.tar.gz/zip
- Merge the version-matching resources ZIP file from http://sourceforge.net/projects/ctakesresources/files/ into your ctakes-dictionary-lookup project.
- (Optional) If you would like to launch the UIMA CVD or CPE GUI
- with MAVEN_OPTS="-Xmx2g -Xms1g" run mvn -PrunCVD compile
For further information see the Apache Source Code Repository page.
Command line step by step install instructions
Preparing Java
Preparing command line tools
Step |
Example |
---|---|
1. Install an SVN client. Run this command to check the setup.
sudo apt-get install subversion |
Windows: The following extra packages will be installed: libapr1 libaprutil1 libneon27-gnutls libsvn1 Suggested packages: subversion-tools db4.8-util The following NEW packages will be installed: libapr1 libaprutil1 libneon27-gnutls libsvn1 subversion ... Processing triggers for python-central ... Processing triggers for man-db ... Setting up libapr1 (1.4.2-7ubuntu2) ... Setting up libaprutil1 (1.3.9+dfsg-5ubuntu3) ... Setting up libneon27-gnutls (0.29.5-3) ... Setting up libsvn1 (1.6.12dfsg-4ubuntu2) ... Setting up subversion (1.6.12dfsg-4ubuntu2) ... |
2. Install a Maven 3.0+ client. Unzip the file to the root drive. Unzip the file to /usr/local/apache-maven-3.0.4 which will be your MAVEN_HOME.
cd /tmp wget http://archive.apache.org/dist/maven/binaries/apache-maven-3.0.4-bin.tar.gz tar -xvf apache-maven-3.0.4-bin.tar.gz -C /usr/local |
Windows: |
3. Set the Maven environment variable values - Run this command to check the setup.
export M2_HOME=/usr/local/apache-maven-3.0.4 export M2=$M2_HOME/bin export PATH=$PATH:$M2 It is left to the user to make environment variables permanent in their development environment. |
Windows: tbleeker@system:~$ export ... declare -x M2="/usr/local/apache-maven-3.0.4/bin" declare -x M2_HOME="/usr/local/apache-maven-3.0.4" declare -x PATH="/usr/lib/jvm/java-6-sun/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/apache-maven-3.0.4/bin" |
Compile a release from command line
Step |
Example |
---|---|
1. Checkout the cTAKES project. The following location is the main trunk of cTAKES. See how cTAKES treats the trunk, branches, and tags in the developer FAQs.
cd / svn co https://svn.apache.org/repos/asf/ctakes/trunk cTAKES-3.0 The parameter on the end will be created as a new directory in your current location. For Linux, make sure that you have write access to the directory that you are in. We will refer to the directory you specify at the end of the checkout command as <cTAKES_HOME>. |
Windows: C:\>cd / C:\>svn co https://svn.apache.org/repos/asf/ctakes/trunk cTAKES-3.0 ... A ctakes-3.0\ctakes-type-system\pom.xml A ctakes-3.0\ctakes-type-system\.settings A ctakes-3.0\ctakes-type-system\.settings\org.eclipse.jdt.core.prefs A ctakes-3.0\ctakes-type-system\.settings\org.eclipse.core.resources.prefs A ctakes-3.0\ctakes-type-system\desc A ctakes-3.0\DISCLAIMER Checked out revision 1433729. C:\>cd cTAKES-3.0 C:\cTAKES-3.0> Linux: tbleeker@system:~$ cd / tbleeker@system:/$ svn co https://svn.apache.org/repos/asf/ctakes/trunk cTAKES-3.0 ... A ctakes-3.0/ctakes-type-system/pom.xml A ctakes-3.0/ctakes-type-system/.settings A ctakes-3.0/ctakes-type-system/.settings/org.eclipse.jdt.core.prefs A ctakes-3.0/ctakes-type-system/.settings/org.eclipse.core.resources.prefs A ctakes-3.0/ctakes-type-system/desc A ctakes-3.0/DISCLAIMER Checked out revision 1434842. tbleeker@system:/$ cd cTAKES-3.0/ tbleeker@system:/cTAKES-3.0$ |
2. Download cTAKES 3.0 Dictionaries and models. Due to licensing considerations and easy of installability, one download from an external location was established with all the resources you will need. Licensing for these resources is found within the download. Download time will be commensurate with 1GB of data.
|
Windows: cd /tmp wget http://sourceforge.net/projects/ctakesresources/files/ctakes-resources-3.0.1.zip sudo unzip ctakes-resources-3.0.1.zip |
3. Copy (or move) the resources to cTAKES_HOME. There may be conflicts while taking this action. Overwrite the cTAKES_HOME files with those in the resources download. |
Windows: xcopy /s C:\temp\ctakes-resources-3.0.1\resources C:\cTAKES-3.0\ctakes-dictionary-lookup\resources Linux: sudo cp -R /tmp/resources/* /cTAKES-3.0/ctakes-dictionary-lookup/resources |
4. Compile the complete set. cd cTAKES-3.0 mvn clean compile For Linux, make sure you are using the user that has access to the files in your cTAKES directory. Instead of "compile" you can use the maven target called "package" to compile and build all the cTAKES deliverables. Package is convenient in situations like running cTAKES outside of maven with custom processes/scripts because it will bundle up all of the 3rd party and transient dependencies. |
Windows/Linux: ... [INFO] ------------------------------------------------------------------------ [INFO] Reactor Summary: [INFO] [INFO] Apache cTAKES ..................................... SUCCESS [59.140s] [INFO] Apache cTAKES common type system .................. SUCCESS [41.856s] [INFO] Apache cTAKES utils ............................... SUCCESS [6.255s] [INFO] Apache cTAKES core ................................ SUCCESS [17.940s] [INFO] Apache cTAKES part-of-speech tagger ............... SUCCESS [5.148s] [INFO] Apache cTAKES chunker ............................. SUCCESS [3.027s] [INFO] Apache cTAKES document preprocessor ............... SUCCESS [4.118s] [INFO] Apache cTAKES dictionary lookup ................... SUCCESS [1:14.740s] [INFO] Apache cTAKES context dependent tokenizer ......... SUCCESS [5.975s] [INFO] Apache cTAKES LVG lexical tools ................... SUCCESS [7.831s] [INFO] Apache cTAKES named entity contexts ............... SUCCESS [4.743s] [INFO] Apache cTAKES Constituency Parser ................. SUCCESS [9.516s] [INFO] Apache cTAKES Dependency Parser ................... SUCCESS [32.386s] [INFO] Apache cTAKES Assertion's zoner ................... SUCCESS [2.152s] [INFO] Apache cTAKES Assertion ........................... SUCCESS [12.200s] [INFO] Apache cTAKES ctakes-clinical-pipeline ............ SUCCESS [4.446s] [INFO] Apache cTAKES Relation Extractor .................. SUCCESS [13.634s] [INFO] Apache cTAKES CoReference Resolver ................ SUCCESS [8.923s] [INFO] Apache cTAKES Drug NER ............................ SUCCESS [6.958s] [INFO] Apache cTAKES Side Effects ........................ SUCCESS [7.566s] [INFO] Apache cTAKES Smoking Status ...................... SUCCESS [8.377s] [INFO] Apache cTAKES Pad Term Spotter .................... SUCCESS [9.048s] [INFO] Apache cTAKES Temporal Information Extraction ..... SUCCESS [33.993s] [INFO] Apache cTAKES Distribution ........................ SUCCESS [17:59.809s] [INFO] ------------------------------------------------------------------------ [INFO] BUILD SUCCESS [INFO] ------------------------------------------------------------------------ [INFO] Total time: 24:22.120s [INFO] Finished at: Wed Jan 16 17:44:35 CST 2013 [INFO] Final Memory: 41M/181M [INFO] ------------------------------------------------------------------------ ... |
5. Add the resources as a folder to the classpath. |
No example |
6. UMLS user ID and password. If you do not have a UMLS username and password, you may request one at UMLS Terminology Services
|
No example |
Process documents using cTAKES
Step |
Example |
---|---|
1. Launching the UIMA CAS Visual Debugger (CVD) or the Collection Processing Engine (CPE) can now be accomplished in the ctakes-clinical-pipeline project: cd \cTAKES-3.0 set MAVEN_OPTS=-Xmx2g -Xms1g mvn -Prun<CVD|CPE> compile Linux: cd /cTAKES-3.0 export MAVEN_OPTS="-Xmx2g -Xms1g" mvn -Prun<CVD|CPE> compile where you must select between CVD and CPE in the command. |
|
2. (Optional) Process data. The User Guide describes files in the form that they came in the binary distributions. That form does not match the form when you checkout the code as we have done here. |
No example |
Next Steps
The cTAKES 3.0 Component Use Guide will help you to understand, in great detail, each of the cTAKES components that have been installed. In some cases you can learn how to improve the components.
Also, before you go on to process text in production you will need to consider dictionaries and models. cTAKES does not distribute from Apache a complete dictionary capable of annotating production data. The models provided have been trained on data that may not match your data well enough to be effective. In most cases, you will need to modify the dictionaries and train models on your own data to be effective.