The problem happens because the word "manger" can be not only a verb, but also a noun. LanguageTool is being careful here and does not raise an issue because "manger" can be a noun. Of course, semantically it can only be the verb here but it's not obvious for LanguageTool to tell.
The error is corrected dectected with some other verbs for which there is no such ambiguity such as:
{noformat}
$ echo "J'ai acheter de la soupe." | java -jar languagetool/dist/LanguageTool.jar -l fr
Expected text language: French
Working on STDIN...
1.) Line 1, column 6, Rule ID: AUX_AVOIR_VCONJ[1]
Message: Après l’auxiliaire « ai », le verbe devrait être au participe passé
J'ai acheter de la soupe.
^^^^^^^
Time: 530ms for 1 sentences (1.9 sentences/sec)
{noformat}
We could make LT detect the error with "mangé" vs "manger" is we add disambiguation rules.
I'll have to think about how to disambiguate without introducing false positives.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
I would say that manger as a noun is either in combination with another word and a trait, as in garde-maner or bien-manger or preceded by an article or a pronoun, see some examples from http://atilf.atilf.fr
Les idées affluent chez l'homme après le manger.
Quand on a peu à manger,
apporter son manger
c'est un manger des dieux
Il mettait toute son âme à bien soigner ce manger,
This should reduce false positives
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
This bug is not a false positive, but a false negative (i.e. an error not being reported).
I just added a disambiguation rule wich I will checkin-soon after further tests:
+ <!-- This is to catch frequent errors such as "J'ai manger" which would not
+ be caught without disambiguation as "manger" can also be a noun -->
+ <rule name="Etre/Avoir + verb" id="ETRE_AVOIR_V_ER">
+ <pattern>
+ <token postag="V avoir .*" postag_regexp="yes"></token>
+ <marker>
+ <token regexp="yes" postag="V inf">.*er</token>
+ </marker>
+ </pattern>
+ <disambig postag="V inf"/>
+ </rule>
I was tempted to do the same with the auxiliaire "être" but that would introduce false positive
as in for example: "Il était officier" (which is correct and should not be corrected as "Il était officié".
Witht the auxiliaire "avoir", the disambiguation looks OK I think. But these things are often more
tricky than they seem so I will check further.
> would say that manger as a noun is either in combination with another
> word and a trait, as in garde-maner or bien-manger or preceded by an
> article or a pronoun, see some examples from http://atilf.atilf.fr
> Les idées affluent chez l'homme après le manger.
But "le" can also be pronoun which can be tricky. Ex: Je veux le manger tout de suite.
Here its' clearly the verb and not the noun.
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
The problem happens because the word "manger" can be not only a verb, but also a noun. LanguageTool is being careful here and does not raise an issue because "manger" can be a noun. Of course, semantically it can only be the verb here but it's not obvious for LanguageTool to tell.
The error is corrected dectected with some other verbs for which there is no such ambiguity such as:
{noformat}
$ echo "J'ai acheter de la soupe." | java -jar languagetool/dist/LanguageTool.jar -l fr
Expected text language: French
Working on STDIN...
1.) Line 1, column 6, Rule ID: AUX_AVOIR_VCONJ[1]
Message: Après l’auxiliaire « ai », le verbe devrait être au participe passé
J'ai acheter de la soupe.
^^^^^^^
Time: 530ms for 1 sentences (1.9 sentences/sec)
{noformat}
We could make LT detect the error with "mangé" vs "manger" is we add disambiguation rules.
I'll have to think about how to disambiguate without introducing false positives.
I would say that manger as a noun is either in combination with another word and a trait, as in garde-maner or bien-manger or preceded by an article or a pronoun, see some examples from http://atilf.atilf.fr
Les idées affluent chez l'homme après le manger.
Quand on a peu à manger,
apporter son manger
c'est un manger des dieux
Il mettait toute son âme à bien soigner ce manger,
This should reduce false positives
> This should reduce false positives
This bug is not a false positive, but a false negative (i.e. an error not being reported).
I just added a disambiguation rule wich I will checkin-soon after further tests:
+ <!-- This is to catch frequent errors such as "J'ai manger" which would not
+ be caught without disambiguation as "manger" can also be a noun -->
+ <rule name="Etre/Avoir + verb" id="ETRE_AVOIR_V_ER">
+ <pattern>
+ <token postag="V avoir .*" postag_regexp="yes"></token>
+ <marker>
+ <token regexp="yes" postag="V inf">.*er</token>
+ </marker>
+ </pattern>
+ <disambig postag="V inf"/>
+ </rule>
I was tempted to do the same with the auxiliaire "être" but that would introduce false positive
as in for example: "Il était officier" (which is correct and should not be corrected as "Il était officié".
Witht the auxiliaire "avoir", the disambiguation looks OK I think. But these things are often more
tricky than they seem so I will check further.
> would say that manger as a noun is either in combination with another
> word and a trait, as in garde-maner or bien-manger or preceded by an
> article or a pronoun, see some examples from http://atilf.atilf.fr
> Les idées affluent chez l'homme après le manger.
But "le" can also be pronoun which can be tricky. Ex: Je veux le manger tout de suite.
Here its' clearly the verb and not the noun.
I'm marking this bug as resolved. Fix is in this checkin and will appear in tomorrow's nightly build.
Thanks for reporting it!
====
r7401 | dominikoeo | 2012-06-18 19:36:23 +0200 (Mon, 18 Jun 2012) | 3 lines
[fr] fixed bug #3535992: false negative in *J'ai manger* -> J'ai mangé
LT was cautious because "manger" could be a noun.
=====