As part of my NLP course project I have decided to write a program that can correct the grammatical and semantic errors in a sentence with an idea in my mind that I can convert this program to an mobile app in future which can help in faster typing in mobile devices . For example my program should be able to detect and fix following sentences which contains a combination of grammatical and semantic errors.
FROM[I *am reach* home] -> TO[I am *reaching* home OR I *reached* home OR I have *reached* home ]
FROM[Dog is *barring* in the street] -> TO[dog is *barking* in the street ]
FROM[She *died* not *seen* to be understanding] -> TO[she *does* not *seem* to understanding ]
FROM[I am not interested in *then*] -> TO[i am not interested in *them*
FROM[I would really *live* to meet you.] -> TO[i would really *like* to meet you OR I would really *love* to meet you]
FROM[He *if* a good boy.] -> TO[He *is* a good boy.]
https://www.languagetool.org and http://www.polishmywriting.com are doing a poor job in finding issues with above sentences whereas the grammar correction tools at
https://www.paperrater.com/, http://spellcheckplus.com, http://www.reverso.net/spell-checker/english-spelling-grammar/ are good.
Initially I had a rough idea in my mind about solving this problem which I thought will work to some extent and started with this project but I am completely lost now. Even after couple of days of lot of browsing I am not able to get faintest idea about how I can solve this problem. I am new to NLP but I know about parse trees , POS tagging, NLTK module in python etc., but I don't know how I can put this concepts together in use to solve my problem. For instance I can use rule based POS tagging to find that a 'verb form' is needed in sentence a like 'I reaching home' but how can I fix a semantic error or remove a totally out-of-context word from a sentence using POS tagging or parse tree or using lexical dictionary like WordNet?
I would like to at least write a small application for now that can fix grammatical and semantic error to some extent and build this over a period of time in future. Can anyone guide me about how I can approach this problem? What NLP techniques should I use and how should they be put together to solve this issue. Thanks.
Edit:
I have looked at
How to check whether a sentence is correct (simple grammar check in Python)?
but I don't understand how to use parse tree for my application.