I am looking for negation detection software or libraries. Linux, Microsoft Windows or Mac OS X are all OK. Any price and license is good too. I am mostly interested in the quality of the detection.

I am aware of:

  • Apache cTAKES (Java, Apache License 2.0), which contains two negation detection modules, namely NE Contexts and Assertion, but the negation detection is not always accurate so I am looking for alternatives, and cTAKES is not always very convenient to use.
  • pyConTextNLP (Python package) (GitHub repository), but the package seems to be not so well documented and mostly in beta phase.
  • The NegEx package (Java, Apache License 2.0) but it focuses on clinical conditions.
  • Look at spacy.io, it's new and industrial strength and the parsing accuracy is high. Can we assume any prog lang and English only? Oct 7, 2015 at 20:22
  • @AdamM.B. Thanks, correct any programming language and for English. It looks like spacy.io doesn't have negation detection yet. Oct 7, 2015 at 20:27
  • It has, eg api.spacy.io/displacy/…. (See how 'NEG' is the edge leading to 'not'?) Similar for 'is no better', 'is not better', 'isn't better'... It does not do anything for 'none' though. Mar 30, 2016 at 15:47

1 Answer 1


Take a look at below:

Deep Linguistic Analysis for Topic-level Analysis

Bitext’s API uses Deep Linguistic Analysis based on grammars, which allows for opinion analysis not only at the sentence level, but also at the phrase level within the sentence. This is possible because the syntactic analysis identifies the different phrases (noun phrases, adjective phrases, verb phrases etc) and their dependencies.

The sentiment analysis service is not limited to extracting a single opinion per sentence. It can actually detect as many opinions as the sentence contains. For example in the sentence “This phone is awesome, but it was much too expensive and the screen is not big enough”, three opinions will be extracted: “phone” + “awesome”, “phone” + “much too expensive” and “screen” + “not big enough”.

The service can therefore perform topic detection:

an entity (brand/person/product/place…) a concept (like “global warming”, “public policies” or “financial crisis”). and detect exactly which features or attributes of the topic are being discussed. Deep Linguistic Analysis accurately handles complex structures like negation: “their new camera is really not bad at all”.

The sentiment analysis service handles complex language structures which play a major role in sentiment analysis, such as negation or comparative sentences. Deep Linguistic Analysis automatically handles these structures and can capture the difference between opinions like:

“This phone is much better than my old phone.” – Positive

“This phone is not much better than my old phone.” – Negative

AlchemyAPI helps developers and businesses build cognitive applications through text analysis and deep learning.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.