This might be an interesting use of LLM rewrites: negative->positive rephrasing feels like something within GPT-4′s capabilities, and it would let you quickly translate a large corpus to read & evaluate without putting in a huge amount of work to write a large varied corpus of Abs-E text yourself. (I dislike the current name ‘Abs-E’ and by analogy to E-Prime, suggest ‘E⁺’ - short for ‘English-positive’.)
A major issue is that GPT-4s want to rewrite into ChatGPTese and hypercorrect any ‘error’, even with instructions to preserve the style and a lot of examples showing style preservation. I greatly want to avoid ChatGPTese in my writing, so it leaking through anyway is a problem. Another LLM API might be better for this (Claude?) but I don’t have tokens+scripts set up right this instant for alternatives.
That aside, I’m unimpressed right now with the generated rewrites. Working through various examples of negation is hard and yields ugly-sounding or too-strong assertions or I couldn’t do it at all without cheating, and makes me think that often a negative assertion is the most informative (without being false) way to state something.* There are negatives that should be reworded to positive, but fewer than I was hoping beforehand. (For example, the comment about the LW2 AWS hack reads better when rewritten into an affirmative positive form, definitely.)
At best, this seems like something to integrate into a grammar/style checker and only occasionally suggest a rewrite. And of course, if you only occasionally rewrite some text, the value is much lower than if you were rewriting every other sentence.
I feel a bit more optimistic about up-goer-five rewrites at this point. Although I’m not sure where I would actually want to generate a lot of up-goer-five rewrites, come to think of it...
(A linter-style tool just flagging some text is also harder to integrate into my Emacs writing workflow: if it rewrites an entire block of text, that is relatively easy (simply pipe every paragraph into the script, and blindly replace it with the script output, which is even keyboardable: select region & C-u M-; tex<TAB>... to overwrite the region with the output of passing the script into a shell-command which tab-completes to that executable Python script), but to analyze it and just color or highlight troublesome negations? Hm. That’s not something I’ve done in Emacs before...)
* Quite a few of them made me unhappy trying to come up with a good positive assertion version: “We couldn’t find John anywhere” can be made less negative in a useful way (eg. specifying where you searched), but making it entirely positive is quite painful and lengthy if you have to specify what and where and when you saw all the things which conjunctively exclude John. It’s easy to say “I looked through the house and didn’t see John” and that is better… but it’s still using negation! I don’t even know how I would make this fully positive: “I looked through each room of the house and saw X, Y, & Z.” “But did you see John? Was he there or not?” ”...Please ask me a different question.”
It seems you are hitting against the expressive limits of Existential Positive First-Order Logic. It seems that they are exponentially less powerful than first order logic, in the following sense:
every existential positive first-order sentence can be transformed in an equivalent one in prenex normal form without an exponential blowup, thanks to the absence of universal quantifiers and negation symbols.
Bodirsky, Manuel, Miki Hermann, and Florian Richoux. “Complexity of existential positive first-order logic.” Journal of Logic and Computation 23.4 (2013): 753-760.
Yeah, I’m not surprised that English-positive is a lot weaker than English (in terms of short statements), I’m just surprised that the weakness turns up so quickly with such natural-seeming sentences rather than pathological or complex statements. You see an example like “the sky is not green”, and it’s so easy to turn into “the sky is blue” or “grass is inedible” to “grass provides 0 calories”, and you start to think maybe most or all normal natural statements have feasible rewrites, and maybe this is like constructive mathematics and actually works for most things if you think about them a little harder—and then you hit “I didn’t see John.”
“Is this gluten-free?” (If we allow “gluten-free” we would allow “Every room is John-free.” and of course “Grass is edibility-free.” and very quickly Abs-E is trivial.)
Attempt: “This product contains rice flour, corn starch, tapioca flour, and salt.” but that just prompts the further question “Does any of those contain gluten?” …
Wittgenstein interrupted: “What can be said at all can be said clearly, and what we...”
“I think not all swans are white, and if we look for it we will find one that is not white.”
Attempt: “There exists a swan that is …” Blue? Green? Red? I can’t say “non-white”. I also can’t just list every color.
“I don’t believe in magic.”
I don’t even know how to start converting this to a positive statement.
Took a first stab at just the positive rewrite last night: https://github.com/gwern/gwern.net/blob/master/build/text2epositive.py
A major issue is that GPT-4s want to rewrite into ChatGPTese and hypercorrect any ‘error’, even with instructions to preserve the style and a lot of examples showing style preservation. I greatly want to avoid ChatGPTese in my writing, so it leaking through anyway is a problem. Another LLM API might be better for this (Claude?) but I don’t have tokens+scripts set up right this instant for alternatives.
That aside, I’m unimpressed right now with the generated rewrites. Working through various examples of negation is hard and yields ugly-sounding or too-strong assertions or I couldn’t do it at all without cheating, and makes me think that often a negative assertion is the most informative (without being false) way to state something.* There are negatives that should be reworded to positive, but fewer than I was hoping beforehand. (For example, the comment about the LW2 AWS hack reads better when rewritten into an affirmative positive form, definitely.)
At best, this seems like something to integrate into a grammar/style checker and only occasionally suggest a rewrite. And of course, if you only occasionally rewrite some text, the value is much lower than if you were rewriting every other sentence.
I feel a bit more optimistic about up-goer-five rewrites at this point. Although I’m not sure where I would actually want to generate a lot of up-goer-five rewrites, come to think of it...
(A linter-style tool just flagging some text is also harder to integrate into my Emacs writing workflow: if it rewrites an entire block of text, that is relatively easy (simply pipe every paragraph into the script, and blindly replace it with the script output, which is even keyboardable: select region &
C-u M-; tex<TAB>...
to overwrite the region with the output of passing the script into a shell-command which tab-completes to that executable Python script), but to analyze it and just color or highlight troublesome negations? Hm. That’s not something I’ve done in Emacs before...)* Quite a few of them made me unhappy trying to come up with a good positive assertion version: “We couldn’t find John anywhere” can be made less negative in a useful way (eg. specifying where you searched), but making it entirely positive is quite painful and lengthy if you have to specify what and where and when you saw all the things which conjunctively exclude John. It’s easy to say “I looked through the house and didn’t see John” and that is better… but it’s still using negation! I don’t even know how I would make this fully positive: “I looked through each room of the house and saw X, Y, & Z.” “But did you see John? Was he there or not?” ”...Please ask me a different question.”
It seems you are hitting against the expressive limits of Existential Positive First-Order Logic. It seems that they are exponentially less powerful than first order logic, in the following sense:
Bodirsky, Manuel, Miki Hermann, and Florian Richoux. “Complexity of existential positive first-order logic.” Journal of Logic and Computation 23.4 (2013): 753-760.
Yeah, I’m not surprised that English-positive is a lot weaker than English (in terms of short statements), I’m just surprised that the weakness turns up so quickly with such natural-seeming sentences rather than pathological or complex statements. You see an example like “the sky is not green”, and it’s so easy to turn into “the sky is blue” or “grass is inedible” to “grass provides 0 calories”, and you start to think maybe most or all normal natural statements have feasible rewrites, and maybe this is like constructive mathematics and actually works for most things if you think about them a little harder—and then you hit “I didn’t see John.”
A few more examples:
“Is this gluten-free?” (If we allow “gluten-free” we would allow “Every room is John-free.” and of course “Grass is edibility-free.” and very quickly Abs-E is trivial.)
Attempt: “This product contains rice flour, corn starch, tapioca flour, and salt.” but that just prompts the further question “Does any of those contain gluten?” …
Wittgenstein interrupted: “What can be said at all can be said clearly, and what we...”
“I think not all swans are white, and if we look for it we will find one that is not white.”
Attempt: “There exists a swan that is …” Blue? Green? Red? I can’t say “non-white”. I also can’t just list every color.
“I don’t believe in magic.”
I don’t even know how to start converting this to a positive statement.