0
$\begingroup$

I would like to know what kind of dataset I need (to prepare) for training the network to recognize the spelling mistakes in individual words for English text.

Given the large database of words, having correct one for each incorrect. What kind of input is more efficient for that tasks? Is it using one input per each letter, syllable, whole word or I should use different pattern syllable?

Then the input should be incorrect word, output correct, and if the word doesn't need correction, then both input and output should be the same. Is that the right approach?

$\endgroup$
  • $\begingroup$ I don't think the english language with it's long and complicated history and sometimes convoluted etymology (affecting spelling rules) is a good target for that, $\endgroup$ – ratchet freak Aug 9 '16 at 15:35
  • $\begingroup$ Have you considered using decision trees or fuzzy logic? $\endgroup$ – k rey Aug 9 '16 at 19:04
  • $\begingroup$ I haven't decided yet which one would be more suitable, but I'm open to suggestions. First I'd like to decide on pattern boundaries. $\endgroup$ – kenorb Aug 9 '16 at 19:08
2
$\begingroup$

I'd personally be more inclined to try longstanding deterministic methods such as Damerau (for typing errors) or Soundex (for homonyms arising from transcribed speech). At the very least, I'd use those as a baseline for any more 'AI-based' approach.

$\endgroup$
2
$\begingroup$

I would also look at Minimum Edit Distances such as the Levenshtein distance. You could use a dynamic programming technique such as the Viterbi Algorithm.

If you don't have a dictionary to work against, you may want to train with a Markov Chain model using a known "good" text. The Viterbi Algorithm could be used again to solve the model for the text being considered.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.