Answers.Body: <p>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.</p>
  
  <p>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.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-08-09T20:13:44.400Z
Answers.LastActivityDate: 2016-08-09T20:13:44.400Z
Answers.UserDisplayName: winwaed
Answers.Body: <p>I'd personally be more inclined to try longstanding deterministic methods such as <a href="https://en.wikipedia.org/wiki/Damerau%E2%80%93Levenshtein_distance" rel="nofollow">Damerau</a> (for typing errors) or <a href="https://en.wikipedia.org/wiki/Soundex" rel="nofollow">Soundex</a> (for homonyms arising from transcribed speech). At the very least, I'd use those as a baseline for any more 'AI-based' approach.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-08-09T19:34:23.367Z
Answers.LastActivityDate: 2016-08-09T19:34:23.367Z
Answers.UserDisplayName: NietzscheanAI
Body: <p>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.</p>
  
  <p>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?</p>
  
  <p>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?</p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2016-08-09T15:35:12.200Z
Comments.Text: 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,
Comments.UserDisplayName: ratchet freak
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2016-08-09T19:04:22.973Z
Comments.Text: Have you considered using decision trees or fuzzy logic?
Comments.UserDisplayName: k rey
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2016-08-09T19:08:16.020Z
Comments.Text: 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.
Comments.UserDisplayName: kenorb
Tags: <deep-learning><natural-language-processing><datasets>
Title: Training network to detect spelling mistakes
UserDisplayName: kenorb
ThreadText: # Training network to detect spelling mistakes
  
  (Asked by: username_0 on 2016-08-09)
  
  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?
  
  **Tags:** deep-learning, natural-language-processing, datasets
  > **Comments:**
  > **username_1**: 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,  
  > **username_2**: Have you considered using decision trees or fuzzy logic?  
  > **username_0**: 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.  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_4 on 2016-08-09. Score: 2 | Accepted answer
  
  I'd personally be more inclined to try longstanding deterministic methods such as [Damerau](https://en.wikipedia.org/wiki/Damerau%E2%80%93Levenshtein_distance) (for typing errors) or [Soundex](https://en.wikipedia.org/wiki/Soundex) (for homonyms arising from transcribed speech). At the very least, I'd use those as a baseline for any more 'AI-based' approach.
  
  
  ---
  
  ### Answer by username_3 on 2016-08-09. Score: 2
  
  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.
  
  
  ---
  
  