Menu

#2 Trouble with the word "internet"

v1.0 (example)
open
nobody
None
5
2004-12-08
2004-12-08
No

If I spell check the following text....

"This is a test of internet."

"internet" shows up as a misspelled word, however one
of its suggestions is "internet" as well as "Internet". If I
select "internet" it does not move forward and maintains
that "internet" is a misspelled word. If I
select "Internet" the spell checker will continue.

Any thoughts?

Thanks,
Peter

Discussion

  • Nobody/Anonymous

    Logged In: NO

    Yep, I got the same problem

     
  • Nobody/Anonymous

    Logged In: NO

    that's because 'internet' doesn't exist in the dictionary.
    You can hightlight and add it. after that it'd work

     
  • peter.edwards

    peter.edwards - 2005-03-15

    Logged In: YES
    user_id=1164145

    Why does it show up in the suggested words if it does not
    exist in the dictionary? I would think only items in the
    dictionary would show up as suggested replacement words.
    Our average user would not understand why words that are
    not in the dictionary are showing up as suggested
    replacement words.

     
  • photusEnigma

    photusEnigma - 2005-11-15

    Logged In: YES
    user_id=1281872

    We're having this same issue with the word "hindi" as well.
    We're not allowing users to create custom dictionaries...or
    "add" words, so we need to iron out why these words are both
    showing as misspelled AND as an option of correct words to
    be selected from in the suggestion field.

    Any suggestions on a solution to resolve this, or at least
    where to begin looking to debug?

     
  • Jon

    Jon - 2005-11-29

    Logged In: YES
    user_id=1392162

    After fighting with NetSpell for a while with a similar
    problem, it turns out there's a quirk in how it handles
    words entered into the dictionary with capital letters.

    If the word is in the dictionary with any capitals then
    it will flag it as wrong if it is not written the exact
    same way. In your example it's written "Internet" in the
    dictionary. If you edit the *.dic file and make it just
    "internet" it will work as expected.

    The reason you are seeing "internet" as an option is
    because
    of an algorithm NetSpell uses to check for simple changes
    to dictionary words.

     
  • Nobody/Anonymous

    Logged In: NO

    same problem with the word "axe"

     
  • ronks

    ronks - 2007-02-08

    Logged In: YES
    user_id=1191107
    Originator: NO

    The problem with "internet" vs. "Internet", and likely with other words capitalized in the dictionary, seems to be due to the BadChar procedure within the Spelling.cs file. I traced through it, and this procedure substitutes various alternative letters for each one in the misspelled word. When it replaces "i" with "I", it finds a match in the dictionary, as it should. Then (around line 340 in the file) it **converts the whole word to lower case** and stores the result in the suggestion list, even though picking that suggestion will fail and send you through the process again. Commenting out the ".ToLower()" method there corrected the problem, though I haven't experimented enough to see if that has any unwanted side effects. Also, similar issues may arise in related procedures like ReplaceChars, ExtraChar, ForgotChar, TwoWords, and SwapChar; haven't checked those out yet.

     
  • ronks

    ronks - 2007-02-10

    Logged In: YES
    user_id=1191107
    Originator: NO

    To follow up on this: I decided to convert the words of the user text to all lower-case before they are checked against the dictionary, and to convert all the words in the base dictionary to lower-case as they are read into the hash table for comparison. It required modifications to Dictionary.Contains (where the words are compared) and Dictionary.Initialize (where the _baseWords table is loaded). To avoid duplicate-key errors where A and a are both in the dictionary, I test before loading a new word. To initialize the user dictionary the same way, the changes would go into Dictionary.LoadUserFile. Now, mis-capitalizing is not flagged as an error, but replacement/suggestion words retain the capitalization from the user text and are accepted. (E.g., "Becuase" becomes "Because" even though the compare was lower-case.)

     

Log in to post a comment.

MongoDB Logo MongoDB