Section | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
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.
...
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)
Info |
---|
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/incubator/ctakes/tags/ctakes-3.0.0-incubatingtrunk
- 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 builds 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-(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
Include Page |
---|
...
|
...
|
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"
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.
Expand the Collaboration category. | ||||||
5. Maven SCM connector. |
Compile
...
a release in Eclipse
Step | Example | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1. Import the cTAKES projects using Maven. | |||||||||||||
2. For SCM URL use " 2. For SCM URL use "svn" in the drop-down and this in the text field
Click Finish. | |
| |||||||||||
3. Download | <ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="95f767e9-4f85-4a27-b61b-b2baa00e2e34"><ac:plain-text-body><![CDATA[ | 3. Download [[cTAKES 3.0 Dictionaries and models dictionary and model resources]]. .
Windows: Code Block | | ||||||||||
|
Code Block | ||
---|---|---|
| ||
/tmp |
4. Copy (merge, no files should be named the same) the resources directory (and all sub-directories) to <cTAKES_HOME>/resources.The destination will not yet exist.
Obtain the URL of the version matching ZIP file from cTAKES resources, get the file, and unzip to a temporary location.
Windows:
Linux Windows:
Code Block | ||
---|---|---|
| ||
xcopycd /stmp wget C:\temp\ctakeshttp://sourceforge.net/projects/ctakesresources/files/ctakes-resources-3.0.1.0\resources C:\Users\m075861\workspace\ctakes\resources xcopy /s C:\temp\zip sudo unzip ctakes-resources-3.0.1.0\resources C:\apache-ctakes-3.0.0-incubating\resources |
Linux:
Code Block | ||
---|---|---|
| ||
copy /tmp/ctakes-resources-3.1.0/resources/org /usr/local/apache-ctakes-3.0.0-incubating/resources/org |
5. UMLS user ID and password.
Usually the dictionaries are required to process data. If you plan to utilize the UMLS dictionaries you must pass your UMLS user ID and password to the pipeline. There are several ways to do this:
Note | ||
---|---|---|
| ||
If you do not have a UMLS username and password, you may request one at UMLS Terminology Services |
No Format |
---|
export ctakes.umlsuser=<username>, ctakes.umlspw=<password>
|
No Format |
---|
-Dctakes.umlsuser=<username> -Dctakes.umlspw=<password>
|
* Dictionary Lookup: <cTAKES_HOME>/desc/ctakes-dictionary-lookup/desc/analysis_engine/DictionaryLookupAnnotatorUMLS.xml
The following shows where in the files you would make the changes. (Do not change the <configurationParameters> by the same name.)
Code Block | ||
---|---|---|
| ||
<nameValuePair>
<name>ctakes.umlsuser</name>
<value>
<string>YOUR_UMLS_USERNAME_HERE</string>
</value>
</nameValuePair>
<nameValuePair>
<name>ctakes.umlspw</name>
<value>
<string>YOUR_UMLS_PASSWORD_HERE</string>
</value>
</nameValuePair> |
*So you simply need to switch to using those descriptors. For example, if you were using AggregateCdaProcessor.xml in the Clinical Documents pipeline you would switch to using AggregateCdaUMLSProcessor.xml instead and you will now hook into the complete dictionaries.
You can, of course, modify your own aggregate Analysis Engine files and place the DictionaryLookupAnnotatorUMLS.xml Analysis Engine within them.
Since this is an in-memory database implementation, please be patient during the initial load as it could take approximately 20-30 seconds for the database to initialize.
No example
Process documents using cTAKES
...
Step
...
Example
...
Code Block |
---|
>ctakes-clinical-pipeline
>resources
>launch
>UIMA_<CVD | CPE>GUI--clinical_documents pipeline.launch |
where you must select between CVD and CPE in the command. Other Run Configurations are also available in the Eclipse Run menu.
...
| |||||||||||||
4. Copy (or move) the resources to cTAKES_HOME.
| Windows:
Linux:
| ||||||||||||
5. Refresh Eclipse. | No example | ||||||||||||
6. Add ctakes-dictionary-lookup/resources as a folder to the classpath. | |||||||||||||
7. UMLS user ID and password.
|
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:
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.
| ||||||||
2. (Optional) Process data.
| 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.
| ||||||
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+
Info |
---|
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
Include Page | ||||
---|---|---|---|---|
|
Preparing command line tools
Step | Example | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1. Install an SVN client.
| Windows:
| ||||||||||||||
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.
| Windows: | ||||||||||||||
3. Set the Maven environment variable values -
| Windows:
|
Compile a release from command line
Step | Example | |||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1. Checkout the cTAKES project.
The parameter on the end will be created as a new directory in your current location.
We will refer to the directory you specify at the end of the checkout command as <cTAKES_HOME>. | Windows:
Linux:
| |||||||||||||||||||
2. Download cTAKES 3.0 Dictionaries and models.
| Windows:
| |||||||||||||||||||
3. Copy (or move) the resources to cTAKES_HOME.
| Windows:
Linux:
| |||||||||||||||||||
4. Compile the complete set.
| Windows/Linux:
|
...
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
...
Code Block | ||
---|---|---|
| ||
http://www.apache.org/dist/uima/eclipse-update-site
|
...
...
...
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+
- svn co https://svn.apache.org/repos/asf/incubator/ctakes/tags/ctakes-3.0.0-incubating 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
- (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.
Info |
---|
Run svn --version to check the setup. |
...
Code Block |
---|
sudo apt-get install subversion |
...
Code Block |
---|
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) ... |
...
Code Block |
---|
cd /tmp
wget http://apache.mirrors.pair.com/maven/maven-3/3.0.4/binaries/apache-maven-3.0.4-bin.tar.gz
tar -xvf apache-maven-3.0.4-bin.tar.gz -C /usr/local |
...
3. Set the Maven environment variable values -
M2_HOME=<MAVEN_HOME>
M2=<MAVEN_HOME>/bin
PATH=<existing Path>;<MAVEN_HOME>
where MAVEN_HOME is the path you unzipped to.
Info |
---|
Run mvn --version to check the setup. |
...
Code Block |
---|
export M2_HOME=/usr/local/apache-maven-3.0.4
export M2=$M2_HOME/bin
export PATH=$PATH:$M2 |
Note |
---|
It is left to the user to make environment variables permanent in their development environment. |
...
Code Block |
---|
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 the latest stable release from command line
Step | Example | ||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Code Block |
---|
cd /
svn co https://svn.apache.org/repos/asf/incubator/ctakes/tags/ctakes-3.0.0-incubating cTAKES-3.0 |
The parameter on the end will be created as a new directory in your current location.
Note |
---|
For Linux, make sure that you have write access to the directory that you are in. |
Windows:
Code Block |
---|
C:\>cd /
C:\>svn co https://svn.apache.org/repos/asf/incubator/ctakes/tags/ctakes-3.0.0-incubating 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:
Code Block |
---|
tbleeker@system:~$ cd /
tbleeker@system:/$ svn co https://svn.apache.org/repos/asf/incubator/ctakes/tags/ctakes-3.0.0-incubating 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$ |
Make sure you are in the proper directory.
Windows/Linux:
Code Block |
---|
mvn clean compile package |
Note |
---|
For Linux, make sure you are using the user that has access to the files in your cTAKES directory. |
Windows/Linux:
Code Block |
---|
... [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 [3259.386s140s] [INFO] Apache cTAKES common Assertion'stype zonersystem ................... SUCCESS [241.152s856s] [INFO] Apache cTAKES Assertionutils ............................... SUCCESS [126.200s255s] [INFO] Apache cTAKES ctakes-clinical-pipelinecore ............ SUCCESS [4.446s] [INFO] Apache cTAKES Relation Extractor .................... SUCCESS [1317.634s940s] [INFO] Apache cTAKES CoReference Resolverpart-of-speech tagger ................ SUCCESS [85.923s148s] [INFO] Apache cTAKES Drugchunker NER ............................. SUCCESS [63.958s027s] [INFO] Apache cTAKES Sidedocument Effects .......preprocessor ................. SUCCESS [74.566s118s] [INFO] Apache cTAKES Smokingdictionary Statuslookup ...................... SUCCESS [81:14.377s740s] [INFO] Apache cTAKES Padcontext Term Spotter .dependent tokenizer ......... SUCCESS [5.975s] [INFO] Apache cTAKES LVG lexical tools ................... SUCCESS [97.048s831s] [INFO] Apache cTAKES Temporalnamed Informationentity Extraction contexts ............... SUCCESS [334.993s743s] [INFO] Apache cTAKES Distribution ......Constituency Parser .................. SUCCESS [17:599.809s516s] [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] ------------------------------------------------------------------------ ... 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.
Make sure the current path or dot (.) is in your CLASSPATH environment variable accessible to the process maven is running in.
No example
6. UMLS user ID and password.
Usually the dictionaries are required to process data. If you plan to utilize the UMLS dictionaries you must pass your UMLS user ID and password to the pipeline. There are several ways to do this - select one.
Note |
---|
If you do not have a UMLS username and password, you may request one at UMLS Terminology Services |
- Environment variable - Set or export environment variables.
Refer to the Eclipse documentation above for more information. Add the system properties to the Java arguments for the maven environment.
Add these parameters to the MAVEN_OPTS environment variable in the next section as you run the commands to process documents.No Format -Dctakes.umlsuser=<username> -Dctakes.umlspw=<password>
Make the ID and password specific to you.
- Change the UMLSUser and UMLSPW <nameValuePair> strings in these descriptor files with your UMLS username and password.
Refer to the Eclipse documentation above for more information.
No example
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:
Linux:
where you must select between CVD and CPE in the command. Other Run Configurations are also available CPE in the Eclipse Run menucommand. | |||||||||||
2. (Optional) Process data.
| 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.