btford / write-good

Naive linter for English prose
MIT License
4.96k stars 189 forks source link

"many" is not a weasel word after "how" #75

Open blueyed opened 7 years ago

blueyed commented 7 years ago

A sentence like the following should not trigger "many" is a weasel word and can weaken meaning, should it?

How many entries should get displayed before and after the current one?

glennhefley commented 7 years ago

This is a question which sounds like it should be inside of quotes .. i.e. "How many entries should get displayed before and after the current one?" she asked. If that is the case, no it should not, because quotes are what people have said, and grammar doesn't enter into the equation, just as i.e. She looked around and screamed, " Nay doo dee doo dee doo!"

That said, many is a quantifier that can be used with count nouns and is often preceded by as' ortoo' or so' orthat'; amounting to a large but indefinite number; "many temptations"; "the temptations are many"; "a good many"; "a great many"; "many directions"; "take as many apples as you like"; "too many clouds to see"; "never saw so many people" -- and in this aspect as with the aspect you are using if it is outside of quoting dialog is just as valuable to the reader as the word 'very' or 'few'... meaning valueless. These terms don't relay information. A better phrase would be What is the limit of entries per page? This question provides direct information to the reader, describing the environment. So if you were asking an opinion, mine would be to keep the flag on the word unless it is a dialog quotation (which in dialog, nothing should be flagged).

btford commented 7 years ago

@glennhefley – the point about quotations within dialog is interesting.

I think regardless, "How many" should be valid. For now, hardcoding that exception seems like a reasonable solution. @RichardLitt – do you think we can generalize this further?

glennhefley commented 7 years ago

@btford Don't tell anyone but I agree too. I was just attempting the best argument against.

The dialog quotation however I am all for because it is true -- and no one does it with their grammar checkers. This could be because it is terribly difficult to do, which I have no doubt is the true issue. I've been working on a project I'm calling 'Wordthy' which deals with using the English language to the best effect -- from a fiction writers point of view. At first I wasn't going to bother with a grammar checker at all, because that isn't the focus of the program. Now I'm thinking it should at least have access to one, which is why I've been sulking in the shadows and watching your work -- which at the moment is some of the most interesting.

RichardLitt commented 7 years ago

I am not sure that dialogue is a useful metric for deciding on the grammaticality of a term. Anything can be used in dialogue, even this. If anything, quoted dialogue is more likely to contain informal language, anyway.

The main difference that I see is the use of many in interrogatives, as opposed to many as an adjective. The part of speech is fluid (as far as I can tell, although this is off of the cusp and may not be an accurate assessment).

Here is a good breakdown of the uses of many.

Hard coding is a possible solution. Personally, I wouldn't bother - this is one of many possible exceptions to the weasel word concept. "How many entries are allowed" is no less clear to me than "What is the limit of entries", which is a different question, too.

Instead of hard coding, just take the weasel word line with a grain of salt, and ignore it. Otherwise, we'd have to basically build a grammar of English, which is well out of the scope of this module.

Vorror commented 7 years ago

How about adding an option to pass in an "exclude json"(Which could be passed in via command line) which would allow the user to exclude a word + check. Example:

{
    "weasel" : ["how"]
}

Maybe that would help?

blueyed commented 5 years ago

For reference: whitelisting is supported by now: https://github.com/btford/write-good/commit/685c0a24a490c13433a279cf1a1500e0cbcff992