I am looking for an automatic sentence negation tool. Something that will be able to perform conversions like:

"this ball is large" ---> "this ball is small"
"you should run" ---> "you shouldn't run"

While searching online, I found this one: https://github.com/Bajena/SublimeNegateSentence, but looks like it deals only with examples of the 2nd type above.

I also found this one: https://github.com/Kata-M/Sentiment_Flipper, but it only deals with turning negative sentences into positive, and based on the examples it doesn't cover quite a wide range of sentences.

Edit following comments: If there is more than one option, producing a random one, or a partial/full list of possible options, are both acceptable outputs.

Are there any available tools that you can recommend?

  • 3
    Well the problem is that most sentences don't have opposites, and many have more than one! How can software know whether to negate "large" with "small" or "tiny" or even just "not large"?
    – curiousdannii
    Sep 13, 2020 at 14:40
  • ...or when to "negate" right to left vs wrong... Sep 13, 2020 at 16:21
  • 2
    ... or should He did the right thing be negated as He did the wrong thing vs He didn't do the right thing... Sep 13, 2020 at 16:23
  • I'm also interested, but this is non-trivial. Sep 13, 2020 at 20:00
  • 4
    The first one is not negation, just substitution of one item for another with a roughly antonymous meaning. ‘This ball is small’ is not the opposite of ‘this ball is large’; it’s a different sentence that has a roughly opposite meaning, but it’s no more opposite than ‘this ball is medium-sized’. Sep 13, 2020 at 20:37


Your Answer

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