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 '20 at 14:40
  • ...or when to "negate" right to left vs wrong... – Jeff Zeitlin Sep 13 '20 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... – Jeff Zeitlin Sep 13 '20 at 16:23
  • I'm also interested, but this is non-trivial. – Adam Bittlingmayer Sep 13 '20 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’. – Janus Bahs Jacquet Sep 13 '20 at 20:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.