Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3
Section
Column
width65%
Panel
titleContents of this Page
Table of Contents
minLevel2
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

Step

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:

Code Block
languagenone
java -version

Windows:

Code Block
languagenone
C:

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:
Code Block
languagenone
java -version

Windows:

Code Block
languagenone
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
languagenone
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
languagenone
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
languagenone
C:\apache-ctakes-3.0.0-incubating

Linux:

Code Block
languagenone
/usr/local/apache-ctakes-3.0.0-incubating

Windows:

Linux:

Code Block
languagenone
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
langnone
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
langnone
xcopy /s C:\temp\ctakes-resources-3.0.1\resources C:\apache-ctakes-3.0.0-incubating\resources

Linux:

Code Block
langnone
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
langlanguagenone
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
languagenone
<cTAKES_HOME>/bin/runctakesCVD.sh
<cTAKES_HOME>/bin/runctakesCPE.sh

Code Block
languagelangnone
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

...

CAS Index Repository \\ \* SofaIndex \[0\] \\ \* AnnotationIndex \[1\] \\ Index Repository
* SofaIndex [0]
* AnnotationIndex [1]

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
languagenone
cd \apache-ctakes-3.0.0-incubating

Linux:

Code Block
languagenone
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
languagenone
bin\runctakesCVD.bat

Linux:

Code Block
languagenone
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
langnone
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
languagenone
AggregatePlaintextUMLSProcessor.xml

rather than

none
Code Block
language
No Format
AggregatePlaintextProcessor.xml

in this step.
Use the Run-> Load AE menu bar command. Navigate to the file

Code Block
languagenone
<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


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
languagenone
cd \apache-ctakes-3.0.0-incubating

Linux:

Code Block
languagenone
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
languagenone
bin\runctakesCPE.bat

Linux:

Code Block
languagenone
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
langnone
<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

words, you will need to

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.