Grammalecte  Check-in [16642fccc3]

Overview
Comment:[fr] ajustements et faux positifs
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk | fr
Files: files | file ages | folders
SHA3-256: 16642fccc348828a7bf33b5c477568c42fb6c6a007b099ce3eecf38c4cadfe75
User & Date: olr on 2018-11-23 20:15:12
Other Links: manifest | tags
Context
2018-11-23
20:56
[fr] faux positif check-in: 4bf037e4ff user: olr tags: fr, trunk
20:15
[fr] ajustements et faux positifs check-in: 16642fccc3 user: olr tags: fr, trunk
16:05
[graphspell] char_player: another simplification method for sound “é” to avoid oversimplification check-in: 93a0b84b63 user: olr tags: graphspell, trunk
Changes

Modified gc_lang/fr/rules.grx from [4760498433] to [5ae8b29d7a].

3651
3652
3653
3654
3655
3656
3657



3658
3659
3660
3661
3662
3663
3664
....
7327
7328
7329
7330
7331
7332
7333
7334
7335
7336
7337
7338








7339
7340
7341
7342
7343
7344
7345
....
9114
9115
9116
9117
9118
9119
9120
9121

9122
9123
9124
9125
9126
9127
9128
.....
10025
10026
10027
10028
10029
10030
10031
10032



10033
10034
10035










10036
10037
10038
10039
10040
10041
10042
10043
10044
.....
10963
10964
10965
10966
10967
10968
10969


10970
10971
10972
10973
10974
10975
10976
.....
12991
12992
12993
12994
12995
12996
12997


12998
12999
13000
13001
13002
13003
13004
13005
.....
13130
13131
13132
13133
13134
13135
13136









13137



13138
13139
13140
13141
13142
13143
13144
.....
14184
14185
14186
14187
14188
14189
14190
14191
14192
14193
14194
14195
14196
14197
14198
.....
17130
17131
17132
17133
17134
17135
17136
17137
17138
17139
17140
17141
17142
17143
17144
    [<start>|,] trois-quarts [de|des|du]
        <<- /tu/ not after("équipe") -2>> trois quarts                          # Pas de trait d’union (sauf si vous parlez d’un vêtement ou d’un joueur de rugby).

    parce-que
    ~^[pP]arce-qu’
        <<- /tu/ ->> =\1.replace("-", " ")                                      # Pas de trait d’union.




    ~\w-(?:ç[aà]|aussi|donc)$
        <<- /tu/ ->> =\1.replace("-", " ")                                      # Pas de trait d’union.

    d’ entre-nous
    d’ entre-vous
    d’ entre-eux
    d’ entre-elles
................................................................................
TEST: Elle veut savoir combien même si ça ne lui est d’aucune utilité immédiate.


# quel que soit
__conf_quel_que_soit__
    >quelque [soi|sois|soit|soient]
    >quelque >soie @:D
        <<- /conf/ -1:2>> quel que soit|quelle que soit|quels que soient|quelles que soient         # Confusion.|https://fr.wiktionary.org/wiki/quel_que_soit

TEST: {{quelques soient}} les avantages d’un correcteur…










# quelque part
__conf_quelque_part__
    [quel|quels|quelle|quelles] que [par|pars|>part]
    [quelque|quelques] [pare|pares|par|pars]
        <<- /conf/ ->> quelque part                                         # Confusion probable.|https://fr.wiktionary.org/wiki/quelque_part

TEST: Il faut bien aller {{quelle que part}}.
................................................................................
    d’ une certaine [façon|manière]
    d’ une tout autre ampleur
    d’ une [minute|seconde] à l’ autre
    de-ci ?,¿ de-là
    de *NUM %
    de [cesse|conserve|facto|fait|guingois|luxe|nouveau|permanence|partout|préférence|profundis|rechange|routine|surcroît|surcroit|visu]
    de A à Z
    de bas (?:en haut|étage)

    de basse [condition|extraction]
    de bon [aloi|cœur|gré|matin|sens|ton]
    de bonne [facture|famille|foi|heure|humeur|grâce|qualité|compagnie]
    de bric et de broc
    de but en blanc
    de ce fait ?[incontestable|irréfutable|même]¿
    de ce seul fait
................................................................................

    <start> bien entendu
        <<- ~2:0>> *

    bien entendu
        <<- morph(<1, ":[NAQR]|>que/") ~>> *

    comme [moi|toi|lui|elle|nous|vous|eux|elles|ça|cela]



    comme [celui-ci|celui-là|celle-ci|celle-l|ceux-ci|ceux-là|celles-ci|celles-l]
    comme le [mien|tien|sien|nôtre|vôtre|leur]
    comme la [mienne|tienne|sienne|nôtre|vôtre|leur]










    comme les [miens|tiens|siens|miennes|tiennes|siennes|nôtres|vôtres|leurs]
        <<- morph(<1, ":[NA]", ":V0") ~>> *

    dans la grande majorité des cas     @¬:A:[me]:[pi]
        <<- ~1:6>> *

    dans la majorité des cas            @¬:A:[me]:[pi]
    dans de [très|trop] nombreux cas    @¬:A:[me]:[pi]
    dans la plupart des cas             @¬:A:[me]:[pi]
................................................................................
TEST: elles seules peuvent s’en sortir.
TEST: elle seule peut y arriver
TEST: elle seules les femmes la font craquer
TEST: À certains égards, la décence ordinaire apparaît donc comme un pendant à la banalité du mal théorisée par Hannah Arendt.
TEST: cette région un temps florissante grâce aux mines de charbon
TEST: des étoiles plein les yeux.
TEST: Ces maires sont nuit et jour aux côtés des Françaises et des Français, en prise directe avec leurs difficultés, leurs doléances et leurs espoirs.





@@@@
@@@@
@@@@
@@@@
................................................................................
__conf_amande_amende__
    yeux en [>amende]
        <<- /conf/ -3>> amande                          # Confusion. Une amende est une peine.|https://fr.wiktionary.org/wiki/amende

    >mettre à l’ amande
        <<- /conf/ -4>> amende                          # Confusion. L’amande est un fruit.



    >pâte d’ >amende
        <<- /conf/ -3>> amandes                         # Confusion. Une amende est une peine. Le fruit s’écrit “amande”.

    >faire >amande >honorable
        <<- /conf/ -2:3>> amende honorable              # Confusion. L’amande est un fruit.

    [/-je|/-tu|/-il|/-on|/-elle|/-nous|/-vous|/-ils|/-elles] >amande >honorable
        <<- /conf/ morphVC(\1, ">faire") -2:3>> amende honorable        # Confusion. L’amande est un fruit.
................................................................................


# bât / bas
__conf_bât_bas_bat__
    le [bas|bat] >blesser
        <<- /conf/ -2>> bât                                             # Confusion : là où le bât blesse.|http://fr.wiktionary.org/wiki/b%C3%A2t










TEST: C’est là que le {{bas}} blesse.





# beauté / botté
__conf_beauté__
    [>finir|>terminer|>achever|>conclure|>croître|>croitre|>grandir|>refaire] en [botter|botté|bootés|bottée|bottées]
    >refaire une [botter|botté|bootés|bottée|bottées]
    [>canon|concours|>grain|>institut|>pigeon|>produit|>salon]  de  [botter|botté|bootés|bottée|bottées]
................................................................................

# pâle / pale
__conf_pâle_pale2!6__
    [>être|>rester|>demeurer|>devenir]  >pale
        <<- /conf/ -2>> =\2.replace("a", "â").replace("A", "Â")
        # Utilisez “pâle” pour évoquer la pâleur… Une pale est, entre autres choses, un élément d’une hélice.|http://fr.wiktionary.org/wiki/pale

    [>air|>lumière|>lueur|>teinte|coloris|>couleur|>peau|>visage|>bleue|>rouge|>jaune|>verte|gris|>orange|>violette|>pourpre]  >pale
        <<- /conf/ -2>> =\2.replace("pal", "pâl")
        # Utilisez “pâle” pour évoquer la pâleur… Une pale est, entre autres choses, un élément d’une hélice.|http://fr.wiktionary.org/wiki/pale

TEST: Elle est très {{pale}} !
TEST: Sous une lumière {{pale}},


................................................................................


__imp_union_verbe_pronom_en_y_leur__
    [/-moi|/toi] en
        <<- /imp/ space_after(\1, 1, 1) and morphVC(\1, ":E") and morph(>1, ":[RC]|<end>|>,", ":[NAY]")
        ->> \1-\2                                       # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206

    [/-lui|/-nous|/-nous|/-leur]  [en|y]
        <<- /imp/ space_after(\1, 1, 1) and morphVC(\1, ":E") and morph(>1, ":[RC]|<end>|>,", ":[NAY]")
        ->> \1-\2                                       # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206

TEST: {{prends-leur en}}
TEST: {{Donnez-nous en}}.
TEST: Alors, {{parais y}} grande et lumineuse.








>
>
>







 







|




>
>
>
>
>
>
>
>







 







|
>







 







|
>
>
>
|


>
>
>
>
>
>
>
>
>
>

|







 







>
>







 







>
>
|







 







>
>
>
>
>
>
>
>
>

>
>
>







 







|







 







|







3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
....
7330
7331
7332
7333
7334
7335
7336
7337
7338
7339
7340
7341
7342
7343
7344
7345
7346
7347
7348
7349
7350
7351
7352
7353
7354
7355
7356
....
9125
9126
9127
9128
9129
9130
9131
9132
9133
9134
9135
9136
9137
9138
9139
9140
.....
10037
10038
10039
10040
10041
10042
10043
10044
10045
10046
10047
10048
10049
10050
10051
10052
10053
10054
10055
10056
10057
10058
10059
10060
10061
10062
10063
10064
10065
10066
10067
10068
10069
.....
10988
10989
10990
10991
10992
10993
10994
10995
10996
10997
10998
10999
11000
11001
11002
11003
.....
13018
13019
13020
13021
13022
13023
13024
13025
13026
13027
13028
13029
13030
13031
13032
13033
13034
.....
13159
13160
13161
13162
13163
13164
13165
13166
13167
13168
13169
13170
13171
13172
13173
13174
13175
13176
13177
13178
13179
13180
13181
13182
13183
13184
13185
.....
14225
14226
14227
14228
14229
14230
14231
14232
14233
14234
14235
14236
14237
14238
14239
.....
17171
17172
17173
17174
17175
17176
17177
17178
17179
17180
17181
17182
17183
17184
17185
    [<start>|,] trois-quarts [de|des|du]
        <<- /tu/ not after("équipe") -2>> trois quarts                          # Pas de trait d’union (sauf si vous parlez d’un vêtement ou d’un joueur de rugby).

    parce-que
    ~^[pP]arce-qu’
        <<- /tu/ ->> =\1.replace("-", " ")                                      # Pas de trait d’union.

    par-là
        <<- /tu/ not before("[Pp]ar[ -]ci ?,? *$") ->> par là                                                     # Pas de trait d’union.

    ~\w-(?:ç[aà]|aussi|donc)$
        <<- /tu/ ->> =\1.replace("-", " ")                                      # Pas de trait d’union.

    d’ entre-nous
    d’ entre-vous
    d’ entre-eux
    d’ entre-elles
................................................................................
TEST: Elle veut savoir combien même si ça ne lui est d’aucune utilité immédiate.


# quel que soit
__conf_quel_que_soit__
    >quelque [soi|sois|soit|soient]
    >quelque >soie @:D
        <<- /conf/ -1:2>> quel que soit|quelle que soit|quels que soient|quelles que soient         # Confusion : “quelque” est un déterminant.|https://fr.wiktionary.org/wiki/quel_que_soit

TEST: {{quelques soient}} les avantages d’un correcteur…


# quel que puisse
__quel_que_puisse__
    >quelque [puisse|puisses|put|pût]
        <<- /conf/ -1>> quel que|quelle que                                 # Confusion : “quelque” est un déterminant.

    >quelque [puissent|pussent]
        <<- /conf/ -1>> quels que|quelles que                               # Confusion : “quelque” est un déterminant.

# quelque part
__conf_quelque_part__
    [quel|quels|quelle|quelles] que [par|pars|>part]
    [quelque|quelques] [pare|pares|par|pars]
        <<- /conf/ ->> quelque part                                         # Confusion probable.|https://fr.wiktionary.org/wiki/quelque_part

TEST: Il faut bien aller {{quelle que part}}.
................................................................................
    d’ une certaine [façon|manière]
    d’ une tout autre ampleur
    d’ une [minute|seconde] à l’ autre
    de-ci ?,¿ de-là
    de *NUM %
    de [cesse|conserve|facto|fait|guingois|luxe|nouveau|permanence|partout|préférence|profundis|rechange|routine|surcroît|surcroit|visu]
    de A à Z
    de bas en haut
    de bas étage
    de basse [condition|extraction]
    de bon [aloi|cœur|gré|matin|sens|ton]
    de bonne [facture|famille|foi|heure|humeur|grâce|qualité|compagnie]
    de bric et de broc
    de but en blanc
    de ce fait ?[incontestable|irréfutable|même]¿
    de ce seul fait
................................................................................

    <start> bien entendu
        <<- ~2:0>> *

    bien entendu
        <<- morph(<1, ":[NAQR]|>que/") ~>> *

    comme [moi|toi]
        <<- morph(<1, ":[NA]", ":V0") ~>> *

    comme [lui|elle|ça|cela]
    comme [celui-ci|celui-là|celle-ci|celle-là]
    comme le [mien|tien|sien|nôtre|vôtre|leur]
    comme la [mienne|tienne|sienne|nôtre|vôtre|leur]
        <<- morph(<1, ":[NA]", ":V0") and not morph(>1, ":(?:Ov|:3s)") ~>> *

    comme nous
        <<- morph(<1, ":[NA]", ":V0") and not morph(>1, ":(?:Ov|:1p)") ~>> *

    comme vous
        <<- morph(<1, ":[NA]", ":V0") and not morph(>1, ":(?:Ov|:2p)") ~>> *

    comme [eux|elles]
    comme [celui-ci|celui-là|celle-ci|celle-là]
    comme les [miens|tiens|siens|miennes|tiennes|siennes|nôtres|vôtres|leurs]
        <<- morph(<1, ":[NA]", ":V0") and not morph(>1, ":(?:Ov|:3p)") ~>> *

    dans la grande majorité des cas     @¬:A:[me]:[pi]
        <<- ~1:6>> *

    dans la majorité des cas            @¬:A:[me]:[pi]
    dans de [très|trop] nombreux cas    @¬:A:[me]:[pi]
    dans la plupart des cas             @¬:A:[me]:[pi]
................................................................................
TEST: elles seules peuvent s’en sortir.
TEST: elle seule peut y arriver
TEST: elle seules les femmes la font craquer
TEST: À certains égards, la décence ordinaire apparaît donc comme un pendant à la banalité du mal théorisée par Hannah Arendt.
TEST: cette région un temps florissante grâce aux mines de charbon
TEST: des étoiles plein les yeux.
TEST: Ces maires sont nuit et jour aux côtés des Françaises et des Français, en prise directe avec leurs difficultés, leurs doléances et leurs espoirs.
TEST: le clitoris comme vous ne l’avez jamais vu




@@@@
@@@@
@@@@
@@@@
................................................................................
__conf_amande_amende__
    yeux en [>amende]
        <<- /conf/ -3>> amande                          # Confusion. Une amende est une peine.|https://fr.wiktionary.org/wiki/amende

    >mettre à l’ amande
        <<- /conf/ -4>> amende                          # Confusion. L’amande est un fruit.

    [>biscuit|>brioche|>brownie|>bûche|>canard|>cookie|>crumble|>fondant|>gâteau|>meringue|>poulet|>mi-cuit|>pain|>tarte|>tartelette|>tuile] aux amendes
    [>biscuit|>brioche|>brownie|>bûche|>canard|>cookie|>crumble|>fondant|>gâteau|>meringue|>poulet|>mi-cuit|>pain|>tarte|>tartelette|>tuile] à l’ amende
    [>crème|>pâte|>purée] d’ >amende
        <<- /conf/ -3>> amandes                         # Confusion. Une amende est une peine. Le fruit s’écrit “amande”.

    >faire >amande >honorable
        <<- /conf/ -2:3>> amende honorable              # Confusion. L’amande est un fruit.

    [/-je|/-tu|/-il|/-on|/-elle|/-nous|/-vous|/-ils|/-elles] >amande >honorable
        <<- /conf/ morphVC(\1, ">faire") -2:3>> amende honorable        # Confusion. L’amande est un fruit.
................................................................................


# bât / bas
__conf_bât_bas_bat__
    le [bas|bat] >blesser
        <<- /conf/ -2>> bât                                             # Confusion : là où le bât blesse.|http://fr.wiktionary.org/wiki/b%C3%A2t

    [>âne|>cheval|>mule|>mulet|>jument|>sacoche] de [bas|>bat]
        <<- /conf/ -3>> bât                                             # Confusion probable.|https://fr.wiktionary.org/wiki/b%C3%A2t

    [bas|>bât] de l’ aile
        <<- /conf/ -1>> bat                                             # Confusion probable.|https://fr.wiktionary.org/wiki/battre_de_l%E2%80%99aile

    [bas|>bât] [son|leur] plein
        <<- /conf/ -1>> bat                                             # Confusion probable.|https://fr.wiktionary.org/wiki/battre_son_plein

TEST: C’est là que le {{bas}} blesse.
TEST: Sur son cheval de {{bas}}.
TEST: ça {{bât}} de l’aile, cette histoire.
TEST: La fête {{bât}} son plein.


# beauté / botté
__conf_beauté__
    [>finir|>terminer|>achever|>conclure|>croître|>croitre|>grandir|>refaire] en [botter|botté|bootés|bottée|bottées]
    >refaire une [botter|botté|bootés|bottée|bottées]
    [>canon|concours|>grain|>institut|>pigeon|>produit|>salon]  de  [botter|botté|bootés|bottée|bottées]
................................................................................

# pâle / pale
__conf_pâle_pale2!6__
    [>être|>rester|>demeurer|>devenir]  >pale
        <<- /conf/ -2>> =\2.replace("a", "â").replace("A", "Â")
        # Utilisez “pâle” pour évoquer la pâleur… Une pale est, entre autres choses, un élément d’une hélice.|http://fr.wiktionary.org/wiki/pale

    [>air|>lumière|>lueur|>teinte|coloris|>couleur|>peau|>visage|>bleue|>rouge|>fuschia|>jaune|>verte|gris|>orange|>violette|>pourpre]  >pale
        <<- /conf/ -2>> =\2.replace("pal", "pâl")
        # Utilisez “pâle” pour évoquer la pâleur… Une pale est, entre autres choses, un élément d’une hélice.|http://fr.wiktionary.org/wiki/pale

TEST: Elle est très {{pale}} !
TEST: Sous une lumière {{pale}},


................................................................................


__imp_union_verbe_pronom_en_y_leur__
    [/-moi|/toi] en
        <<- /imp/ space_after(\1, 1, 1) and morphVC(\1, ":E") and morph(>1, ":[RC]|<end>|>,", ":[NAY]")
        ->> \1-\2                                       # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206

    [/-lui|/-nous|/-vous|/-leur]  [en|y]
        <<- /imp/ space_after(\1, 1, 1) and morphVC(\1, ":E") and morph(>1, ":[RC]|<end>|>,", ":[NAY]")
        ->> \1-\2                                       # S’il s’agit d’un impératif, mettez un trait d’union.|http://bdl.oqlf.gouv.qc.ca/bdl/gabarit_bdl.asp?id=4206

TEST: {{prends-leur en}}
TEST: {{Donnez-nous en}}.
TEST: Alors, {{parais y}} grande et lumineuse.

Modified graphspell-js/char_player.js from [e1e81e7b96] to [f96c981877].

40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
        let i = 1;
        for (let c of sWord) {
            if (c == 'e' || c != sWord.slice(i, i+1)) {  // exception for <e> to avoid confusion between crée / créai
                sNewWord += c;
            }
            i++;
        }
        return sNewWord.replace(/eau/g, "o").replace(/au/g, "o").replace(/ai/g, "ê").replace(/ei/g, "ê").replace(/ph/g, "f");
    },

    aVowel: new Set("aáàâäāeéèêëēiíìîïīoóòôöōuúùûüūyýỳŷÿȳœæAÁÀÂÄĀEÉÈÊËĒIÍÌÎÏĪOÓÒÔÖŌUÚÙÛÜŪYÝỲŶŸȲŒÆ"),
    aConsonant: new Set("bcçdfghjklmnñpqrstvwxzBCÇDFGHJKLMNÑPQRSTVWXZ"),
    aDouble: new Set("bcdfjklmnprstzBCDFJKLMNPRSTZ"),  // letters that may be used twice successively









|







40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
        let i = 1;
        for (let c of sWord) {
            if (c == 'e' || c != sWord.slice(i, i+1)) {  // exception for <e> to avoid confusion between crée / créai
                sNewWord += c;
            }
            i++;
        }
        return sNewWord.replace(/eau/g, "o").replace(/au/g, "o").replace(/ai/g, "").replace(/ei/g, "").replace(/ph/g, "f");
    },

    aVowel: new Set("aáàâäāeéèêëēiíìîïīoóòôöōuúùûüūyýỳŷÿȳœæAÁÀÂÄĀEÉÈÊËĒIÍÌÎÏĪOÓÒÔÖŌUÚÙÛÜŪYÝỲŶŸȲŒÆ"),
    aConsonant: new Set("bcçdfghjklmnñpqrstvwxzBCÇDFGHJKLMNÑPQRSTVWXZ"),
    aDouble: new Set("bcdfjklmnprstzBCDFJKLMNPRSTZ"),  // letters that may be used twice successively


Modified graphspell/char_player.py from [a659c6f535] to [702cb9b352].

30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
def simplifyWord (sWord):
    "word simplication before calculating distance between words"
    sWord = sWord.lower().translate(_xTransCharsForSimplification)
    sNewWord = ""
    for i, c in enumerate(sWord, 1):
        if c == 'e' or c != sWord[i:i+1]:  # exception for <e> to avoid confusion between crée / créai
            sNewWord += c
    return sNewWord.replace("eau", "o").replace("au", "o").replace("ai", "ê").replace("ei", "ê").replace("ph", "f")


aVowel = set("aáàâäāeéèêëēiíìîïīoóòôöōuúùûüūyýỳŷÿȳœæAÁÀÂÄĀEÉÈÊËĒIÍÌÎÏĪOÓÒÔÖŌUÚÙÛÜŪYÝỲŶŸȲŒÆ")
aConsonant = set("bcçdfghjklmnñpqrstvwxzBCÇDFGHJKLMNÑPQRSTVWXZ")
aDouble = set("bcdfjklmnprstzBCDFJKLMNPRSTZ")  # letters that may be used twice successively









|







30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
def simplifyWord (sWord):
    "word simplication before calculating distance between words"
    sWord = sWord.lower().translate(_xTransCharsForSimplification)
    sNewWord = ""
    for i, c in enumerate(sWord, 1):
        if c == 'e' or c != sWord[i:i+1]:  # exception for <e> to avoid confusion between crée / créai
            sNewWord += c
    return sNewWord.replace("eau", "o").replace("au", "o").replace("ai", "").replace("ei", "").replace("ph", "f")


aVowel = set("aáàâäāeéèêëēiíìîïīoóòôöōuúùûüūyýỳŷÿȳœæAÁÀÂÄĀEÉÈÊËĒIÍÌÎÏĪOÓÒÔÖŌUÚÙÛÜŪYÝỲŶŸȲŒÆ")
aConsonant = set("bcçdfghjklmnñpqrstvwxzBCÇDFGHJKLMNÑPQRSTVWXZ")
aDouble = set("bcdfjklmnprstzBCDFJKLMNPRSTZ")  # letters that may be used twice successively