Overview of Assertion
The assertion annotator provides a mechanism for examining and documenting the real-world implications for annotations in text. For example, one might assume that a mention of "diabetes" in text implies that patient has diabetes. However, the assertion module will consider whether a named entity or event is negated, uncertain, or conditional. Additionally, the subject of the statement may be someone other than the patient (e.g., the patient's father, for "father has hx of diabetes"), or the use of a term might be generic (e.g., "gave pt a diabetes brochure"). Each of these attributes illustrate how the "assertion" value of a named entity might be marked.
The assertion module and the NE Contexts annotator have overlapping functionality, and only one should be used at a time.
The default means of running the assertion annotator is to use an aggregate analysis engine that includes assertion/desc/AssertionMiniPipelineAnalysisEngine.xml. This is itself an aggregate analysis engine, consisting of the components listed below.
Negation, uncertainty, and conditional attribute annotator
The conceptConverterAnalysisEngine and the AssertionAnalysisEngine work together within the assertionMiniPipelineAnalysisEngine, and the pair of these two together may be included explicitly on their own.
This pair of annotators depends on the following modules being run prior to invocation of this annotator:
- sentence detector
- dictionary lookup
We use the following types as input
Then as output we modify attributes on EntityMention and EventMention. The three attributes that we modify are:
- polarity (integer values of -1 and +1)
- uncertainty (integer value 0 or 1)
- conditional (a boolean value of true or false).
Generic attribute annotator
The generic attribute annotator can be included individually from assertiondesc/GenericAttributeAnalysisEngine.xml or as part of the AssertionMiniPipelineAnalysisEngine. It relies on the output of the tokenizer, sentence detector, dependency parser, and semantic role labeler to find whether each IdentifiedAnnotation is generic, then sets the IdentifiedAnnotation:generic feature accordingly. The possible values are specified by the prefix NE_GENERIC_ in edu.mayo.bmi.uima.core.type.constants.CONST.
Subject attribute annotator
The subject attribute annotator can be included individually from assertiondesc/SubjectAttributeAnalysisEngine.xml or as part of the AssertionMiniPipelineAnalysisEngine. It relies on the output of the tokenizer, sentence detector, dependency parser, and semantic role labeler to find the subject of each IdentifiedAnnotation, then sets the IdentifiedAnnotation:subject feature accordingly.The possible values are specified by the prefix ATTR_SUBJECT_ in edu.mayo.bmi.uima.core.type.constants.CONST.