Sorted from most technical to least technical.
My first thought was to use Python with the NLTK package.
If that's too technical the somewhat less technical AllenNLP might be worth to check out. It supports co-reference resolution, which means it can track entities across sentences. It could be useful for checking whether you're overusing words.
Did a quick Github search for
correct sentence and found:
- chat correct: a Ruby script that helps correcting sentences and that shows the mistake made.
- Markov sentence correction: a Python script using a Hidden Markov model (i.e. machine learning) to correct sentences based on a vocabulary list.
Did an other Github search on
- language-check: a Python script using LanguageTool that checks for writing mistakes and can automatically give a suggestion for improvement.
LanguageTool: provides a simple browser add-on for FireFox and Chrome. It also has a stand-alone version and a Google Docs add-on. I think this would be the least technical solution.