Back to LanguageTool Homepage - Privacy - Imprint

Grammar rule based on the intent/meaning

I use LanguageTool’s Java API to run some custom rules written in an XML (Rule Editor), which is in the same format as that of ‘grammar.xml’.

Now I find it impossible to write certain grammar rules like ‘Although Vs While’ which is based on the intent/meaning of the phrases using the rule editor ( Can anyone suggest me on this? I need to write rules to catch grammar errors like ‘Although vs while’, ‘Because vs As’, ‘Greater vs Larger’, ‘Find vs Find out’.


Sentence: Elephant is greater than an ant.
Error to be caught: greater
Suggestion to the user: The word, ‘larger’ is to be used in place of ‘greater’.

One problem: this is a context dependent error.
If previous lines of text establish an emphasis on size, then “larger” is correct.
However, if the previous lines of text establish an emphasis on ‘coolness’/what-is-better, then “greater” is correct.

Thanks for the response @SkyCharger001 ! So, do you mean to say it is not possible to catch such context specific errors using LT? If not ‘greater vs larger’, is it possible to write rules like ‘Although vs while’, ‘Because vs As’ and ‘Find vs Find out’. If so, please guide me to do the same.

Sentence: While he was rich, he was not ready to help the needy.
Error: While
Suggestion: Use ‘Although’ rather than ‘While’.

Most of the problems lie in the quality of the rules that are submitted to LT. (IMHO it’s better to deal with the potential issues now, then when they actually become trouble.)

@sindhuv Thank you for you interest in the project. Anything that you can translate into a pattern can be coded into LanguageTool, so, we can create rules based on intent, and there are confusion rules that already work like that.
When it comes to meaning, it becomes slightly more complex than usual ‘rigid’ grammar rules because there can be exceptions. I would disregard weird exceptions and general logic mentioned above. As long as the rule’s message is clear, rare exceptions are not usually a problem, and they can be dealt with antipatterns.
The main issue is that someone has to find the pattern and create the rules. You can contribute to this task, i.e. by submitting rules here on the forum or in GitHub, and I will help you review and improve them so they can be added to the public LanguageTool.

Best regards