Hi all,
For those of you who did not see the ApacheCon ctakes presentations today, a
few new elements of ctakes were discussed and I promised to provide "locations"
for some of them.
1. Dockhand, the installation gui:
​ctakes-dockhand module in trunk.
maven package it.
The jar produced in the target directory contains the entire tool. Put it
wherever and double-click to start it.
2. Case sensitive dictionary creator gui:
ctakes-gui module in trunk.
org.apache.ctakes.gui.dictionary.cased . CasedDictionaryCreator​
Execute the main(..) method.
3. Case sensitive dictionary lookup annotator.
ctakes-dictionary-lookup-fast module in trunk.
org.apache.ctakes.dictionary.cased.ae . CasedAnnotationFinder
Add it to your piper file ... but first you need to load the settings in
the piper file created by the gui (#2).
// New case-sensitive dictionary lookup
load cased_2020aa
add CasedAnnotationFinder
where cased_2020aa is my piper file created by the CasedDictionaryCreator. It
will be different for you - it is named after your dictionary. If you didn't
change the location of your ctakes directory in the gui then you probably don't
need to specify the full path to the piper. It will find it. Also, you don't
need to add the extension ".piper" in the "load" statement even though the file
ends with ".piper". ctakes will look for files without and then with the
.piper extension.
4. BSV Sectionizer
ctakes-core module.
org.apache.ctakes.core.ae . BsvRegexSectionizer
The default regular expression file is in ctakes-core-res
org/apache/ctakes/core/sections/DefaultSectionRegex.bsv
5. Paragraph Annotator.
ctakes-core module.
org.apache.ctakes.core.ae . ParagraphAnnotator
6. Prose Sentence Detector. (Lumper)
ctakes-core module.
org.apache.ctakes.core.ae . SentenceDetectorAnnotatorBIO
7. Location relation Annotator.
ctakes-relation-extractor module.
org.apache.ctakes.relationextractor.ae .
LocationOfRelationExtractorAnnotator
! you need to specify the model in your piper file:
add LocationOfRelationExtractorAnnotator
classifierJarPath=/org/apache/ctakes/relationextractor/models/location_of/model.jar
---> you can actually add this, modifier and severity relation extractors by
just using the piper line:
load RelationSubPipe
8. Temporal Relation Annotators.
ctakes-temporal module.
You need several annotators, not just the relation annotators. How can you
find Event relations without Events?
org.apache.ctakes.temporal.ae . EventAnnotator
! use "addDescription EventAnnotator", not just the regular piper "add"
command.
org.apache.ctakes.temporal.ae . BackwardsTimeAnnotator
! you need to specify the model
add BackwardsTimeAnnotator
classifierJarPath=/org/apache/ctakes/temporal/ae/timeannotator/model.jar​
org.apache.ctakes.temporal.ae . DocTimeRelAnnotator
! you need to specify the model
add DocTimeRelAnnotator
classifierJarPath=/org/apache/ctakes/temporal/ae/doctimerel/model.jar
org.apache.ctakes.temporal.ae . EventTimeRelationAnnotator
! you need to specify the model
add EventTimeRelationAnnotator
classifierJarPath=/org/apache/ctakes/temporal/ae/eventtime/model.jar
org.apache.ctakes.temporal.ae . EventEventRelationAnnotator
! you need to specify the model
add EventEventRelationAnnotator
classifierJarPath=/org/apache/ctakes/temporal/ae/eventevent/model.jar
---> you can actually add all of this by just using the piper line:
load TemporalSubPipe
9. Coreference Annotation.
ctakes-coreference module.
... Ok, you need several annotators here too, plus model specification. Tired
of reading the lists?
---> you can actually add it all by just using the piper line:
load CorefSubPipe
I also mentioned event time relative to document creation. That is the
DocTimeRel listed in #8.
HtmlWriter. You can add the class to your piper or use --htmlOut {directory}
in your command line.
The FHIR stuff is in the ctakes-fhir module. org.apache.ctakes.fhir.cr .
FhirJsonFileReader , org.apache.ctakes.fhir.cc . FhirJsonWriter
I must warn you that fhir can be pretty verbose, and to date nlp output has not
gotten a lot of attention in the standards community, so some required slots
have meaningless fillers.
Sean