Win a copy of Think Java: How to Think Like a Computer Scientist this week in the Java in General forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Creating a spell checker - guidance/ideas?

 
Matt Wilde
Ranch Hand
Posts: 34
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I need to create a spell checker with hashing. So far I pretty much made a hash table with linked lists but don't really know how to 'Mod' strings.
The code below is my Dictionary class which takes in a .txt file that is a word bank. with single alphabet letters before the start of the words with that letter.

ex.
a
airplain
apple
astronaut
b
ball
big
bunny
c
cat
cow
etc.....








Then i have a scan class in which i attempt to go through the linked lists and try to identify the strings. I don't even know :P




How would i check words for misspellings and compare them to the dictionary then provide options for the user to change the words?

Any help is very appreciative

also i forgot to include the OpenFile method which opens a short .txt doc that is misspelled.



 
fred rosenberger
lowercase baba
Bartender
Posts: 12122
30
Chrome Java Linux
  • Likes 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Ok...here is my advice:

Stop.

Throw this away. Do not keep working on this.

Why? I didn't have to get past your subject. Please read StopCoding. Then read its sister page at WhatNotHow.

Only after you follow all the instructions there should you consider writing a line of code.
 
Matt Wilde
Ranch Hand
Posts: 34
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Point taken. Starting over. Thanks for the heads up





Are these even some plausible ideas? is there another way anyone suggests i should go about this?
 
dennis deems
Ranch Hand
Posts: 808
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Matt Wilde wrote:Are these even some plausible ideas? is there another way anyone suggests i should go about this?

This is nice, but it is still all written in terms of Java. We often want to start in with Java right away, because writing code is fun. Forget about Java. Forget about the computer. How would you, without the aid of a couputer, check the spelling in an excerpt of text? That's where you should start.
 
Matt Wilde
Ranch Hand
Posts: 34
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Well, I would first start reading something. Then if i saw a word that did not look correct or i couldn't pronounce correctly, i would think back to all my years of vocabulary lessons in grade school and books i have read over the years and perhaps look in the dictionary for words that looked similar to that word. words that had the same general prefix or beginning?
 
Tony Docherty
Bartender
Posts: 2957
59
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
This is good but it is a high level description of how you check the spelling of some text. For instance when you say:

"I would first start reading something" you really should say "for each word in the text" or "I look at the text and break it into individual words"

"Then if i saw a word that did not look correct ..." how do know you it doesn't look correct, as you say it is because you are referring to the words you have learned over time ie your internal dictionary. So maybe this should be "check every word against the dictionary to see if it is a known word".

Finding the correct spelling of an unknown word can be quite tricky to describe and even harder to compute. When you do come to code it I believe you can use the Damerau-Levenshtein distance to help find words that might be the correct ones, although there may also be other (possibly better) strategies. Google may help you here.
 
Winston Gutkowski
Bartender
Pie
Posts: 10417
63
Eclipse IDE Hibernate Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Matt Wilde wrote:The code below is my Dictionary class...

Matt,

Please DontWriteLongLines (←click).

I've broken yours (line 24) up this time, but I suggest you also re-read the UseCodeTags page again thoroughly.

Thanks.

Winston
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic