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$
3
  • $\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$ Commented Aug 9, 2016 at 15:35
  • $\begingroup$ Have you considered using decision trees or fuzzy logic? $\endgroup$
    – k rey
    Commented Aug 9, 2016 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
    Commented Aug 9, 2016 at 19:08

2 Answers 2

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$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .