Check and see if the identified annotation you get for "Smoking status: N"
without your change is actually "Non Smoker" with polarity 1.
Nonsmoker is a separate concept, from a Smoker with polarity -1.  Instead
of looking at range text, check the canonical text for the concept you have.
Having said that, there are many issues with negation in all of the
negation annotators.  Some are too eager, others are too cautious.

Peter

On Thu, Jul 23, 2020 at 10:17 AM Sreejith Pk <sreji...@gmail.com> wrote:

> Hi Team,
>
> We are using cTAKES 4.0.0 as the NLP engine in our application. I have
> added ContextAnnotator to the pipeline to achieve correct Polarity to the
> tokens.
> After analysing the ContextAnnotator code, I understand that negation
> determining condition is written in NegationFSM class.
> In my requirement, I have a sentence "Smoking status: N"  and I want to set
> polarity -1 to the token "Smoking" because of the occurrence of "N". To
> achieve the same, I have tried adding "N" to the existing HashSet
> in NegationFSM constructor like iv_negVerbsSet.add("N"); But it seems,
> polarity of the word token "Smoking" is still  coming as 1.
> With the same configuration set if I pass "Smoking status: denies", I am
> getting the polarity of token "Smoking" as -1. Kindly help.
>
> Thanks & Regards
> Sreejith
>

Reply via email to