Comment by xoa

2 hours ago

>Only if the problem is declared to be whatever it is that spell checkers solve.

The problem being misspelling, hence, "spell checker". Like, this seems pretty straightforward? Grammar checking if you cannot use the language properly is a pretty different problem space, and indeed has long existed and is exposed as a separate thing. And not just in fancy word processors either, if you go to something as simple as macOS TextEdit you'll see separate check boxes for "Check spelling as you type" vs "Check grammar with spelling". If someone wants to try out using LLMs for grammar no problem, but spell checking is purely about the mechanical and, importantly, deterministic aspect of typos or outright non-words.

>As the classic joke goes, "Me spell chucker work grate. Need grandma chicken."

There is a genuine touch of irony/meta in you using that here in this context. That sentence has no misspelled words, and importantly gets across the exact humorous meaning the human who wrote it intended. The joke literally only works because a human was able to make creative use of language. If you had an LLM agent posting for you to HN and it automatically changed that to:

>As the classic joke goes, "My spellchecker works great but could use some grammar checking."

Well, where would the joke be now!? This goes to the exact concern people have with powerful non-deterministic meaning-changing tools replacing deterministic meaning-preserving ones.

I just fed this entire thread (excluding your comment pointing out the joke, and the text mentioning that it was a joke) to an LLM, and it did better than the dictionary spellchecker: corrected one real error, left my "squigglies" alone which was attacked by squigglies with the old-hat spellchecker, and specifically noted, without any prompting in that direction, that it left the joke spelling unchanged. It did not rewrite any sentences. I'm all for determinism where deterministic tools work, but the current implementations are so bad I can't blame people for turning to a non-deterministic program if it's still better on average.

  • LLMs don't seem to be doing a very good job of clarifying your basic thinking however, in this post or your earlier one. To reply to both:

    >I immediately disable spellchecking on every avenue it tries to approach because managing a bunch of dictionaries on every browser/device/application that has its own spellchecker for some godforsaken reason to not have squigglies spammed over every piece of jargon, slang, and slightly atypical spelling is incredibly annoying.

    But this is a logic fail is it not? LLMs are irrelevant to this. Your stated problem is "not all software/devices I use has a single shared dictionary/grammar tool to my preferences". That's a very, very reasonable complaint. I agree with you that it's always been tremendously irritating that so many applications won't even make use of operating system dictionaries but rather recreate their own, really that the entire infrastructure around spelling or grammar dictionaries is so primitive.

    But how do you think LLMs help? Even setting aside quality concerns they don't magically retroactively make every software/device use them, they're just another tool in the space something could use, or not. So you're still stuck with the exact same problem. You still don't have something sync'd/shared universally across your entire experience. I can see how you could just live within some single environment to avoid that (do everything in a browser, use the same browser company's products across platforms with sync supported, so you can use the browser language tools for everything), but again that's not unique to LLMs. That approach would work for conventional tools as well.

    >I just fed this entire thread to an LLM

    This is a second logic fail. The entire point and meaning of "non-determinism" is precisely that you can't just do something once and then have that be evidence. If we all did the "same thing", feeding every thread to an LLM, thousands of times we wouldn't all get identical results every time. Sometimes we'd get something else. And the very fact it's rare is one of the core challenges of this entire space, because humans are very, very bad at dealing with things where it works 99% of the time and fails 1% of the time. This has always been true.

    • > But this is a logic fail is it not?

      It is not. The LLM approach is not dependent on system configurations. You can expect that it probably works the same from any device or application, because it can surmise slang/jargon from training and context rather than needing to be fed every little individual case.

      And even if there were an easy and satisfying way to unify dictionaries cross-device, it still wouldn't be a pleasant experience. That first time adding every single jargon term you use is not enjoyable. If there was a solution that just... didn't require that, it would solve a problem current spellcheckers do not solve. And what do you know, it appears there is one!

      > This is a second logic fail.

      Saying things are logic fails doesn't make them logic fails, all the more so when the failure is your own reading comprehension. I explicitly noted that non-determinism doesn't need to be flawless, only better than the deterministic solution on average. If the non-deterministic error rate of LLMs is below 1%, that still puts it far, far, far ahead of the deterministic tool's error rate.

      It may be possible to create a deterministic tool that is better on average, but I haven't seen one. The current tooling is so fucking horrendously bad that after decades they cannot handle pluralising any uncommon word that is pluralised with "ies", for example squiggly is recognised and squigglies is not. That is fucking shamefully bad technology.

It's not clear whether using "grate" instead of "great" is a grammar mistake or a spelling mistake. I'd argue it's a spelling mistake. The intent was not "my spell checker works a frame of metal bars," it was "my spell checker works well." It just so happens that the misspelled word matches a different word.

An example of a sentence like this with correct spelling but bad grammar would be "my spell checker works good." All of the words are what they're meant to be, but the last word is not the correct part of speech.=

But because computers are good at detecting "this doesn't match any known word" and bad at detecting "this matches a word but isn't the word you meant to use here," we've redefined "spell checking" to mean "find words that don't match any known word."

Your point about the joke is not correct. If I put my comment into ChatGPT and ask for a grammar check, it recognizes that it's a joke with deliberately bad grammar and suggests leaving it alone. If I put my comment into a grammar checker, it flags multiple errors in the joke. And "deterministic meaning-preserving ones"? Traditional spell/grammar checkers may be deterministic, but at no point have they ever been guaranteed to preserve meaning, or even been particularly good at it.

  • >It's not clear whether using "grate" instead of "great" is a grammar mistake or a spelling mistake.

    It actually is clear, because words have meaning. "Spelling" refers specifically to the order of letters forming a given word [0, 1]. The proper use of words with a sentence, the "the study of the classes of words, their inflections, and their functions and relations in the sentence" [2] is the definition of "grammar"!

    >I'd argue it's a spelling mistake.

    Perhaps so, you're welcome to invent your own special snowflake definitions for words without much relation to decades/centuries of usage. It's a free country. But I would and will argue you are incorrect to do so and then expect to communicate with other humans.

    ----

    0: https://www.merriam-webster.com/dictionary/spell

    1: https://www.dictionary.com/browse/spell

    2: https://www.merriam-webster.com/dictionary/grammar

    • > "Spelling" refers specifically to the order of letters forming a given word

      Right. And "the given word" in that particular example means "well" and is spelled G R E A T. G R A T E is a misspelling of that word.

      Your position doesn't make any sense when you boil it down. I write some word as some sequence of letters. Whether it's correctly spelled depends not only on how that word is spelled, but how all other words, completely unrelated, are also spelled?

      Let's say someone meant to write "bite" but wrote "byte" back in 1950. That's a misspelling. Did it retroactively become a grammar error when the word "byte" was coined in 1956? Or does the word have to exist at the time of writing for it to be a grammar error instead of a spelling error?

      It's a lot more consistent if you consider the spelling relative to the word that's supposed to be there and accept that computer spell checkers miss the case where a misspelling happens to match a different word.

      1 reply →