get-alex / alex

Catch insensitive, inconsiderate writing
https://alexjs.com
MIT License
4.81k stars 208 forks source link

Why is "failed attempt" considered insensitive and replaced with "suicide attempt"? #346

Closed donnerpeter closed 11 months ago

donnerpeter commented 11 months ago

Steps to reproduce

Enter On a failed attempt, retry in 5 seconds. at https://alexjs.com/

Expected behaviour

I don't expect this text to be insensitive: there are attempts in all spheres of life (e.g. in client-server communication in IT) and they fail occasionally.

Actual behaviour

A warning with suicide-related fixes appears, totally irrelevant to the text.

wooorm commented 11 months ago

This project doesn’t tell you your language is good or bad. It looks for patterns that might be problems and that could perhaps be improved. IMO you’re fine.

You can contribute and improve on patterns. See: https://github.com/retextjs/retext-equality/blob/main/data/en/suicide.yml.

donnerpeter commented 11 months ago

But when is "failed attempt" a problem by itself?

wooorm commented 11 months ago

It depends on context.

donnerpeter commented 11 months ago

Any examples? I've googled for it, found https://www.collinsdictionary.com/dictionary/english/failed-attempt-to and https://dictionary.cambridge.org/example/english/failed-attempt, but these don't seem suicide-related.

wooorm commented 11 months ago

I already linked to the source, which has info and further sources. I also already told you that you can improve things by contributing.

Read what I show you. Be respectful and honest. Otherwise I’ll block you.

donnerpeter commented 11 months ago

I am sorry: I missed that your link also contains external sources. I've checked them now, and I still can't find "failed attempt" verbatim at the first one, and the second one gives me a 404.

I can contribute a PR removing this phrase, but first I'd like to make sure it's really not needed.

wooorm commented 11 months ago

I am not sure I understand. Here’s a sentence: “It was a failed attempt”. When talking about suicide, can as the sources explain be considered insensitive. The problem is with “failed” or “successful”. In the context of suicide.

donnerpeter commented 11 months ago

I see. If you want to report such sentences, it's OK. But then I don't understand why the "attempt" is included, why not report all forms of "failed", "failure", "successful", etc.? "He failed" could also be in the context of suicide.

I'd still suggest restricting the check, e.g., to "failed attempt at suicide" or something like that.

wooorm commented 11 months ago

you

someone contributed those patterns, you can contribute too

why not report all forms of "failed", "failure", "successful", etc.?

the number of false-positives is lower with two words.

"He failed" could also be in the context of suicide.

yes, depending on context

I'd still suggest restricting the check, e.g., to "failed attempt at suicide" or something like that.

then the number of false-negatives increases significantly


did you see the readme? it shows ways you can configure things, comments, options, or by using the --diff workflow in GHA

donnerpeter commented 11 months ago

someone contributed those patterns, you can contribute too

Sure, with some confirmation of what to contribute :) I'd remove or expand this pattern to avoid false positives, but is it a PR you'd approve?

then the number of false-negatives increases significantly

Not sure about "significantly", given that my searches for the bare "failed attempt" gave nothing about suicide.

did you see the readme?

Yes. Unfortunately these exclusions won't work for my case. I've got a complaint about this false positive not from alex-linter itself, but from a product using the Vale version of alex. And we try to warn only when there's a high probability of a real problem. So we suppress some of its warnings on our side. In this specific case, I had doubts about the validity of the warning at all, so I decided to discuss it in the main source, possibly later porting the fix to the Vale version.

wooorm commented 11 months ago

This sounds a lot like an XY problem.

You have a product that uses the alex database, through other things, and represents messages as facts.

The solution is to a) either pass the rule ID for this rule to the ignore list in your tools, so that none of your users will see this rule, however, more and more patterns will come up because, b) none of these warnings are certain, this is all about human language, which changes, and depends on context.

This tool helps people find things that might be problems in certain contexts.

donnerpeter commented 11 months ago

Yes, we're very aware that we're using a technology that reports potential problems to report only very likely problems, and we accommodate for that. We've addressed the "failed attempt" on our side.

I only came here to bring attention to this phrase. Other people using alex might also be annoyed by this warning, as it seems more likely to produce false than true positives. If you're OK with this, then fine. If you'd accept the PRs I've described above, I'll be glad to make them.

wooorm commented 10 months ago

Other people using alex might also be annoyed by this warning

Over the years alex existed, people have been annoyed by every word. Because they don’t understand this project. Or open source.

as it seems more likely to produce false than true positives.

Everything in this project is depending on context. Removing as you suggest both a) removes this warning for everyone, b) has an acceptable alternative: the several mechanisms to configure this tool, c) could be said for every other thing this project does.

I suggest teaching users what this project does and doesn’t do. Or not using this project. Or forking this project.