| Section |
|---|
| Column |
|---|
| | Panel |
|---|
| title | Contents of this Page |
|---|
| |
|
| Column |
|---|
| Include Page |
|---|
| CTAKES:Menu cTAKES 3.0 to IncludeCTAKES: |
|---|
| Menu cTAKES 3.0 to Include |
|---|
|
|
|
...
Once you have finished installing cTAKES and its separately-bundled resources, you will be able to see what cTAKES is capable of.
Prerequisites
| Note |
|---|
If you wish to perform named entity recognition / concept identification for anything other than a few sample concepts, you will need to perform the optional step of installing the separately-bundled UMLS resources - see step 4. And you will need to use an aggregate that makes use of those UMLS resources. |
Prerequisites
Example |
|---|
1. Make sure you have Java 1.6 or higher. Most systems come with Java already installed.
Run this command to check your version.
Windows and Linux: | Windows: |
Step | Example |
|---|
1. Make sure you have Java 1.6 or higher. Most systems come with Java already installed. Run this command to check your version. Windows and Linux: Windows: | Code Block |
|---|
| C:\>java -version
java version "1.6.0_20"
Java(TM) SE Runtime Environment (build 1.6.0_20-b02)
Java HotSpot(TM) Client VM (build 16.3-b01, mixed mode, sharing)
|
Linux:
| Code Block |
|---|
| tbleeker@system:/$ java -version
java version "1.6.0_22"
OpenJDK Runtime Environment (IcedTea6 1.10.1) (6b22-1.10.1-0ubuntu1)
OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode)
|
|
...
Step | Example |
|---|
1. Navigate to the cTAKES downloads page on the Apache site and download the binary package. Select a mirror site and press the Change button to modify the URL to your desired mirror location before doing the download or accept the default.
Windows: Download the ZIP file. Linux: Use wget to obtain the *.TAR.GZ file. wget <URL of the file from downloads>
| Info |
|---|
The download time will be commensurate with ~165MB of data. |
| Windows:  Linux:
| Code Block |
|---|
| HTTP request sent, awaiting response... 200 OK
Length: 763500777 (728M) [application/x-gzip]
Saving to: `apache-ctakes-3.0.0-incubating-bin.tar.gz'
13% [===========> ] 106,548,331 1.13M/s eta 11m 9s |
|
2. (Optional but recommended) Verify the downloaded files against a file signature to ensure you have the proper and complete file. | No example
|
3. Unzip the file you downloaded into a directory that you want to be the cTAKES install location. The compressed files contain a single directory at the top level. This folder we will call <cTAKES_HOME>. You will need to refer to this directory later.
Windows: | Code Block |
|---|
| C:\apache-ctakes-3.0.0-incubating
|
Linux: | Code Block |
|---|
| /usr/local/apache-ctakes-3.0.0-incubating
|
| Windows:  Linux:
| Code Block |
|---|
| tar -xvf apache-ctakes-3.0.0-incubating-bin.tar.gz -C /usr/local |
|
Optional steps - install UMLS resources
Step | Example |
|---|
4. Download cTAKES 4. Download cTAKES 3.0 Dictionaries and models. These resources are required to operate cTAKES.
| Info |
|---|
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. |
| Info |
|---|
Download time will be commensurate with 1GB of data. |
Windows: Go to cTAKES resources and download the ZIP file with a matching version from the ctakesresources project. Unzip the files into a temporary location such as C:\temp.
Linux: Obtain the URL of the version matching ZIP file from cTAKES resources, get the file, and unzip to a temporary location.
| Windows: 
Linux:
| Code Block |
|---|
| cd /tmp
wget http://sourceforge.net/projects/ctakesresources/files/ctakes-resources-3.0.1.zip
sudo unzip ctakes-resources-3.0.1.zip |
|
5. Copy (or move) the resources to cTAKES_HOME. Copy the contents of the temporary resources directory (and all sub-directories) to <cTAKES_HOME>/resources.
| Info |
|---|
There may be conflicts while taking this action. Overwrite the cTAKES_HOME files with those in the resources downloadHOME files with those in the resources download. |
| Windows:
| Code Block |
|---|
| xcopy /s C:\temp\ctakes-resources-3.0.1\resources C:\apache-ctakes-3.0.0-incubating\resources |
Linux:
| Code Block |
|---|
| cp -R /tmp/resources/* /usr/local/apache-ctakes-3.0.0-incubating/resources |
|
(Optional) Add UMLS access rights
| Note |
|---|
In the initial setup cTAKES will recognize only few sample concepts in text. If you wish to perform named entity recognition or concept identification for anything other than these few words, you will need to 1) obtain the rights to use UMLS resources 2) add those credentials to cTAKES, and 3) use an aggregate that makes use of those UMLS resources. If you don't, cTAKES will work but won't recognize much. |
Step | Example |
|---|
1. If you do not have a UMLS username and password, you may request one at UMLS Terminology Services. | No example |
2. Edit the following files. Add the ctakes.umlsuser and ctakes.umlspw parameters to the java command found in the file.adding in your UMLS. Make sure you substitute your actual ID and password if you cut and paste the example.
Windows: | Code Block |
|---|
| xcopy /s C:\temp\ctakes-resources-3.0.1\resources C:\apache-ctakes-3.0.0-incubating\resources<cTAKES_HOME>\bin\runctakesCVD.bat
<cTAKES_HOME>\bin\runctakesCPE.bat
|
Linux: | Code Block |
|---|
| <cTAKES_HOME>/bin/runctakesCVD.sh
<cTAKES_HOME>/bin/runctakesCPE.sh
|
| | Code Block |
|---|
| cpjava -R /tmp/resources/* /usr/local/apache-ctakes-3.0.0-incubating/resourcesDctakes.umlsuser=<YOUR_UMLS_ID_HERE> -Dctakes.umlspw=<YOUR_UMLS_PASSSWORD_HERE> -cp ... |
|
3. You will select an aggregate when you run cTAKES (continue reading). | No example |
Process documents using cTAKES
...
Step | Example |
|---|
1. Open a command prompt and change to the cTAKES_HOME directory.
| Note |
|---|
It is best if <cTAKES_HOME> is your current directory. The scripts will change directories, so being home to run the command is best. |
| Windows:
| Code Block |
|---|
| cd \apache-ctakes-3.0.0-incubating
|
Linux: | Code Block |
|---|
| cd /usr/local/apache-ctakes-3.0.0-incubating
|
|
2. Start the CAS Visual Debugger by running this command: The application may take a minute to start on slower hardware. | Windows: | Code Block |
|---|
| bin\runctakesCVD.bat
|
Linux: | Code Block |
|---|
| bin/runctakesCVD.sh
|
|
3. Copy the example text from the next cell in this table and paste the contents into the Text section of CVD, replacing the text that is already there.
You can also download a copy of the file from here
| | Code Block |
|---|
| Dr. Nutritious
Medical Nutrition Therapy for Hyperlipidemia
Referral from: Julie Tester, RD, LD, CNSD
Phone contact: (555) 555-1212
Height: 144 cm Current Weight: 45 kg Date of current weight: 02-29-2001
Admit Weight: 53 kg BMI: 18 kg/m2
Diet: General
Daily Calorie needs (kcals): 1500 calories, assessed as HB + 20% for activity.
Daily Protein needs: 40 grams, assessed as 1.0 g/kg.
Pt has been on a 3-day calorie count and has had an average intake of 1100 calories.
She was instructed to drink 2-3 cans of liquid supplement to help promote weight gain.
She agrees with the plan and has my number for further assessment. May want a Resting
Metabolic Rate as well. She takes an aspirin a day for knee pain. |
|
4. An analysis engine (AE) needs to be loaded in order to process text. If you installed the optional UMLS resources, use | Code Blocknoformat |
|---|
| AggregatePlaintextUMLSProcessor.xml |
rather than | Code Block |
|---|
language | none| No Format |
|---|
AggregatePlaintextProcessor.xml |
in this step. Use the Run-> Load AE menu bar command. Navigate to the file
| Code Block |
|---|
| <cTAKES_HOME>
/desc
/ctakes-clinical-pipeline
/desc
/analysis_engine
/AggregatePlaintextProcessor.xml
|
Click Open. Loading the analysis engine may take a minute. Once the analysis engine has successfully loaded you should see a tree in the Analysis Results frame:
| Wiki Markup | CAS Index Repository \\
\* SofaIndex \[0\] \\
\* AnnotationIndex \[1\] \\ Index Repository * SofaIndex [0] * AnnotationIndex [1]
| 
|
5. From the menu bar, click Run -> Run AggregatePlaintextProcessor or "Run AggregatePlaintextUMLSProcessor".
| 
|
6. You'll get a list of all the annotations for this clinical document in the Analysis Results frame. Annotations such as concepts mentioned, division by sentence, etc from the pipeline are viewable. To see one, in the Analysis Results frame, click on the key in front of:
CAS Index Repository * AnnotationIndex * uima.tcas.Annotation * org.apache.ctakes.medfacts.types.Concept
This will show an AnnotationIndex in the lower frame. Select any annotation in that lower frame and you will see the text discovered in the Text frame on the right like the concept of the problem Hyperlipidemia.
For a medication example select this
CAS Index Repository * AnnotationIndex * uima.tcas.Annotation * org.apache.ctakes.typsystem.type.textsem.IdentifiedAnnotation * org.apache.ctakes.typsystem.type.textsem.EventMention * org.apache.ctakes.typsystem.type.textsem.MedicationEventMention
Now select items in the lower frame to see the text being annotated.
You may close the CAS Visual Debugger (CVD) application if you wish. | 
|
...
Step | Example |
|---|
1. Open a command prompt and change to the cTAKES_HOME directory:
| Note |
|---|
It is best if <cTAKES_HOME> is your current directory. The scripts will change directories, so being home to run the command is best. |
| Windows:
| Code Block |
|---|
| cd \apache-ctakes-3.0.0-incubating
|
Linux: | Code Block |
|---|
| cd /usr/local/apache-ctakes-3.0.0-incubating
|
|
2. Create a directory for some test data. | Windows:mkdir testdata |
3. Download this sample file and place it into the testdata directory.
| No example
|
4. Start the collection processing engine by running this command: The application may take a minute to start on slower hardware. | Windows: | Code Block |
|---|
| bin\runctakesCPE.bat
|
Linux: | Code Block |
|---|
| bin/runctakesCPE.sh
|
|
5. This will bring up the Collection Processing Engine Configurator. In the Menu bar click File >Open CPE Descriptor | |
6. Navigate to the following file, which uses the AggregateCdaProcessor | Code Block |
|---|
|
<cTAKES_HOME>
/desc
/ctakes-clinical-pipeline
/desc
/collection_processing_engine
/test1.xml
|
Click Open.
| No example
|
7. Change the Collection reader input directory to testdata and the CAS Consumer , which contains a CDA file(s). Within the CAS Consumers pane of the same window, change the output directory to testdata/output in the CPE fields
| 
|
8. Click the Play button (green/blue play arrow near the bottom).
| Info |
|---|
What just happened? You placed a sample CDA document into the input of a pipeline. The pipeline was a file system reader that will process all files in a directory. The processing was accomplished by the chunker cTAKES component (noted by the descriptor that you openedname of the Analysis Engine pictured). One resulting file for each input file was placed into the output directory. This output file is an XML file that annotates the noun phrases and verb phrases. |
| |
9. You should see that one document was processed. You did process a collection of documents. In this case the collection only contained one just to show how to do it. Close the results window. | Image Removed
| 10. | Note |
|---|
This example of using the CPE GUI did not use the separately-downloaded UMLS resources. If you wish to perform named entity recognition | / or concept identification for anything other than a few | sample concepts perform the optional step of installing the separately-bundled UMLS resources, and 1) obtain the rights to use UMLS resources 2) add those credentials to cTAKES, and 3) use an aggregate that makes use of those UMLS resources (see above). |
| Image Added No example
|
11 10. Close the CPE application. You may be prompted to save changes. Since this was just a test you may click the No button. | No example
|
...
Also, before you go on to process text in production, you will want to consider dictionaries and models. If you did not install the separately-bundled obtain the rights yet to the UMLS resources and models, you will want to do so. Be aware, the models (within the separate resources download) have been trained on data that may not match your data well enough to be effective. In some cases you might want to modify the dictionaries and train models using your own data.