I am learning Russian a third language and as a pet project I would like to develop a basic syntax corrector.<p>There are several resources online but it kinda gets overwhelming so I thought maybe some people here have relevant experience and can give me some pointers to narrow down my research.<p>What I would like to get into is:<p>1.Basic theory behind NLP and more specifically automated grammar checking
2. Open source tools/frameworks used for this purpose.<p>Thanks a lot.
That's an enormous topic and an enormous can of worms. Modern spell checkers all use statistical methods meaning that they are trained on a corpus. That allows them to understand that the sequence of tokens [what, i, would, like to, get into, is, :] is much more probable than [get, what i, would, like, into, is, :]. I.e the latter is grammatically incorrect.<p>A good start is to learn about Markov models. For more sophisticated stuff, investigate word vectors and language modeling using recurrent neural networks. The Python library NLTK comes with a free book which can teach you the basics.