Overview
Comment: | [fr] faux positifs |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk | fr |
Files: | files | file ages | folders |
SHA3-256: |
babfb0cacb24920bf336ba4e56161f49 |
User & Date: | olr on 2021-02-21 10:51:32 |
Other Links: | manifest | tags |
Context
2021-02-22
| ||
07:43 | [build][server][cli] better Python version test check-in: 9fcb8afcbe user: olr tags: build, cli, server, trunk | |
2021-02-21
| ||
10:51 | [fr] faux positifs check-in: babfb0cacb user: olr tags: fr, trunk | |
2021-02-20
| ||
16:14 | [fr] faux positifs check-in: dba901b78f user: olr tags: fr, trunk | |
Changes
Modified gc_lang/fr/rules.grx from [08eadcc4b8] to [68fcd60fe8].
︙ | ︙ | |||
2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 | [lundi|mardi|mercredi|jeudi|vendredi|samedi|dimanche] <<- not morph(<1, ":[DA].*:[me]:[si]") =>> select(\1, ":W") __da_a__ [ça|ceci|cela] a <<- =>> select(\2, ":V") __da_autour__ autour [de|du|d’|des] <<- not morph(<1, ":D.*:[me]") =>> select(\1, "", ":N") __da_avant__ avant [que|qu’|$:D] <<- not value(<1, "|l’|quel|cet|un|mon|ton|son|notre|votre|leur|") =>> select(\1, ":R") | > > > | 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 | [lundi|mardi|mercredi|jeudi|vendredi|samedi|dimanche] <<- not morph(<1, ":[DA].*:[me]:[si]") =>> select(\1, ":W") __da_a__ [ça|ceci|cela] a <<- =>> select(\2, ":V") a [,|et] [b|c|ç|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z] <<- =>> select(\1, ":N") __da_autour__ autour [de|du|d’|des] <<- not morph(<1, ":D.*:[me]") =>> select(\1, "", ":N") __da_avant__ avant [que|qu’|$:D] <<- not value(<1, "|l’|quel|cet|un|mon|ton|son|notre|votre|leur|") =>> select(\1, ":R") |
︙ | ︙ | |||
4869 4870 4871 4872 4873 4874 4875 | @@@@ @@@@GRAPH: graphe2|g2 _ @@@@ @@@@ @@@@ @@@@ | | < | 4872 4873 4874 4875 4876 4877 4878 4879 4880 4881 4882 4883 4884 4885 4886 | @@@@ @@@@GRAPH: graphe2|g2 _ @@@@ @@@@ @@@@ @@@@ ##!!!! Doublons (casse identique) !! # SLOWER THAN REGEX RULE #__doublon__ # *WORD *WORD # <<- \1 == \2 # and not value(\2, "|nous|vous|faire|en|la|lui|donnant|œuvre|ah|oh|eh|hé|ho|ha|hou|olé|joli|Bora|couvent|dément|sapiens|très|vroum|") # and not (value(\1, "|est|une|") and value(<1, "|l’|d’|")) |
︙ | ︙ | |||
6633 6634 6635 6636 6637 6638 6639 | !!!! A / À: accentuation la préposition en début de phrase !! __typo_À_début_phrase!7__ <start> A @:[GNAY]¬:(?:Q|3s) | | | 6635 6636 6637 6638 6639 6640 6641 6642 6643 6644 6645 6646 6647 6648 6649 | !!!! A / À: accentuation la préposition en début de phrase !! __typo_À_début_phrase!7__ <start> A @:[GNAY]¬:(?:Q|3s) <<- /typo/ not value(\3, "|t’|priori|posteriori|postériori|contrario|capella|fortiori|giorno|a|") -2>> À && S’il s’agit de la préposition « à », il faut accentuer la majuscule. <start> A bientôt [<end>|,|)] <<- /typo/ -2>> À && S’il s’agit de la préposition « à », il faut accentuer la majuscule. <start> A t’ *WORD <<- /typo/ not value(\4, "|il|ils|elle|elles|iel|iels|on|ont|") -2>> À && S’il s’agit de la préposition « à », il faut accentuer la majuscule. |
︙ | ︙ | |||
18042 18043 18044 18045 18046 18047 18048 | , je [t’|vous] en [prie|supplie] , , nous [t’|vous] en [prions|supplions] , <<- not morph(>1, ":E") ~>> * # Déterminant + nombre __p_dét_plur_nombre_nom__ | | | | 18044 18045 18046 18047 18048 18049 18050 18051 18052 18053 18054 18055 18056 18057 18058 18059 18060 18061 | , je [t’|vous] en [prie|supplie] , , nous [t’|vous] en [prions|supplions] , <<- not morph(>1, ":E") ~>> * # Déterminant + nombre __p_dét_plur_nombre_nom__ [les|ces|des|mes|tes|ses|nos|vos|leurs] [*NUM|$:B] @:[NA].*:[pi]¬:(?:V0|3p|Oo|X)|>(?:janvier|février|mars|avril|mai|juin|juillet|ao[ûu]t|septembre|octobre|novembre|décembre|vendémiaire|brumaire|frimaire|nivôse|pluviôse|ventôse|germinal|floréal|prairial|messidor|thermidor|fructidor) <<- ~2>> * [les|ces|des|mes|tes|ses|nos|vos|leurs] [*NUM|$:B] ou [*NUM|$:B] @:[NA].*:[pi]¬:(?:V0|3p|Oo|X)|>(?:janvier|février|mars|avril|mai|juin|juillet|ao[ûu]t|septembre|octobre|novembre|décembre|vendémiaire|brumaire|frimaire|nivôse|pluviôse|ventôse|germinal|floréal|prairial|messidor|thermidor|fructidor) <<- ~2:4>> * [les|des] >numéro [un|*NUM|$:B] et [*NUM|$:B] <<- ~3:0>> * la >numéro un la >numéro $:B |
︙ | ︙ | |||
20486 20487 20488 20489 20490 20491 20492 20493 20494 20495 20496 20497 20498 20499 | __da_participe_passé__ >avoir $:Q <<- not value(\1, "|avoir|avoirs|") and not morph(<1, ":D") =>> rewrite(\2, ":A", "") >être $:Q <<- not value(\1, "|être|êtres|") and not morph(<1, ":D") =>> rewrite(\2, ":A", "") __purge_rien__ rien $:Q [d’|de] <<- /2>> _rien_ rien <<- morph(<1, ":V") and not value(>1, "|qui|de|d’|ne|n’|") ~>> * | > > > > > > | 20488 20489 20490 20491 20492 20493 20494 20495 20496 20497 20498 20499 20500 20501 20502 20503 20504 20505 20506 20507 | __da_participe_passé__ >avoir $:Q <<- not value(\1, "|avoir|avoirs|") and not morph(<1, ":D") =>> rewrite(\2, ":A", "") >être $:Q <<- not value(\1, "|être|êtres|") and not morph(<1, ":D") =>> rewrite(\2, ":A", "") __da_dit__ , dit /_Maj_ , dit $:D <<- =>> =select(\2, "", ":A") __purge_rien__ rien $:Q [d’|de] <<- /2>> _rien_ rien <<- morph(<1, ":V") and not value(>1, "|qui|de|d’|ne|n’|") ~>> * |
︙ | ︙ | |||
25138 25139 25140 25141 25142 25143 25144 25145 25146 25147 25148 25149 25150 25151 25152 25153 25154 25155 25156 25157 25158 | TEST: les agrandissements photo TEST: Il faut donc examiner ensemble les panneaux et les parois latéraux. TEST: Il faut donc examiner ensemble les panneaux et les parois latérales. TEST: l’homme les a volés __gn_les_2m_virg__ <start> les *WORD , @:A¬:[GP] <<- /gn/ morph(\3, ":[NA].*:[pi]", ":3[sp]") and not agreement(\3, \5) --1>> =suggAgree(\-1, \3) && Cet adjectif n’est pas accordé avec “\2 \3”. TEST: les femmes, {{blessé}} par deux fois ->> blessées TEST: les hommes, {{blessée}} par deux fois ->> blessés TEST: les femmes, demeurant rue de la paix __gn_leurs_1m__ leurs *WORD <<- /gn/ morph(\2, ":[NA].*:s", ":(?:[ipGW]|[123][sp])") and not (value(>1, "|et|ou|") and morph(>2, ":[NA]")) -2>> =suggPlur(\2) && Accord de nombre erroné avec « \1 » : « \2 » devrait être au pluriel. <<- /gn/ __also__ -1>> leur && Accord de nombre erroné avec « \2 ». | > > > > > | 25146 25147 25148 25149 25150 25151 25152 25153 25154 25155 25156 25157 25158 25159 25160 25161 25162 25163 25164 25165 25166 25167 25168 25169 25170 25171 | TEST: les agrandissements photo TEST: Il faut donc examiner ensemble les panneaux et les parois latéraux. TEST: Il faut donc examiner ensemble les panneaux et les parois latérales. TEST: l’homme les a volés __gn_les_2m_virg__ calendriers , [grégorien|julien|hégirien] et [grégorien|julien|hégirien] <<- !3>> gn <start> les *WORD , @:A¬:[GP] <<- /gn/ morph(\3, ":[NA].*:[pi]", ":3[sp]") and not agreement(\3, \5) and not (value(>1, "|et|") and morph(\-1, "#G") and morph(>2, "#G")) --1>> =suggAgree(\-1, \3) && Cet adjectif n’est pas accordé avec “\2 \3”. TEST: les femmes, {{blessé}} par deux fois ->> blessées TEST: les hommes, {{blessée}} par deux fois ->> blessés TEST: les femmes, demeurant rue de la paix TEST: les deux camps, italien et allemand, étaient à portée d’arc __gn_leurs_1m__ leurs *WORD <<- /gn/ morph(\2, ":[NA].*:s", ":(?:[ipGW]|[123][sp])") and not (value(>1, "|et|ou|") and morph(>2, ":[NA]")) -2>> =suggPlur(\2) && Accord de nombre erroné avec « \1 » : « \2 » devrait être au pluriel. <<- /gn/ __also__ -1>> leur && Accord de nombre erroné avec « \2 ». |
︙ | ︙ | |||
26862 26863 26864 26865 26866 26867 26868 | TEST: ajoute plein de sel sur ses pâtes TEST: avoir plein d’argent ne suffit pas toujours à tout résoudre __gn_groupe_de__ [un|une|le|la|ce|cette|mon|ton|son|ma|ta|sa|les|ces|des|mes|tes|ses|nos|vos|leurs|quelques|plusieurs] || [>dizaine|>douzaine||>vingtaine|>trentaine|>quarantaine|>cinquantaine|>soixantaine|>centaine|>millier|>million|>milliard|>multitude|>horde] [de|d’] *WORD | | > | 26875 26876 26877 26878 26879 26880 26881 26882 26883 26884 26885 26886 26887 26888 26889 26890 26891 26892 26893 26894 26895 26896 26897 26898 26899 26900 26901 26902 26903 26904 26905 26906 | TEST: ajoute plein de sel sur ses pâtes TEST: avoir plein d’argent ne suffit pas toujours à tout résoudre __gn_groupe_de__ [un|une|le|la|ce|cette|mon|ton|son|ma|ta|sa|les|ces|des|mes|tes|ses|nos|vos|leurs|quelques|plusieurs] || [>dizaine|>douzaine||>vingtaine|>trentaine|>quarantaine|>cinquantaine|>soixantaine|>centaine|>millier|>million|>milliard|>multitude|>horde] [de|d’] *WORD <<- /gn/ morph(\4, ":[NA].*:s", ":[ip]|>(?:bénéfice|fraude|large|long|profondeur|hauteur|perte)/") -4>> =suggPlur(\4) && Avec « \1 \2 \3… », mettre au pluriel “\4” s’il y en a bien plusieurs. [un|une|le|la|ce|cette|mon|ton|son|ma|ta|sa|les|ces|des|mes|tes|ses|nos|vos|leurs|quelques|plusieurs] >groupe [d’|de] [écoutes|paroles] <<- /gn/ -4>> =suggSing(\4) && Mettez au singulier. [>association|>assemblée|>collectif|>collectivité|>groupe|>rassemblement|>regroupement|>réunion|>troupe] [de|d’] [artiste|agriculteur|agricultrice|architecte|automobiliste|citoyen|citoyenne|con|conne|consommateur|consommatrice|enfant|entreprise|femme|fille|garçon|homme|imbécile|infirmier|infirmière|jeune|malfaiteur|médecin|motard|motarde|musicien|musicienne|passionné|passionnée|prostitué|prostituée|touriste|travailleur|travailleuse|vieille|vieillard|vieillarde] <<- /gn/ -3>> \3s && Il manque un “s”. Il y en a plusieurs dans un groupe, un rassemblement, une assemblée, etc. TEST: des centaines de {{bête}} à cornes passèrent devant nous. ->> bêtes TEST: une multitude d’{{homme}} ->> hommes TEST: des groupes de {{paroles}} ->> parole TEST: ils constituent un groupe de {{passionné}}. ->> passionnés TEST: Ce collectif d’{{artiste}} est très inventif. ->> artistes TEST: les 80 milliards de fraude fiscale TEST: un groupe de prière TEST: elle fait environ un mètre de large sur des dizaines de long TEST: six milliards de perte __gn_cage_d_escalier__ >cage d’ escaliers <<- /gn/ -3>> escalier && Usuellement, pas de “s” à escalier. __gn_carnet_de__ |
︙ | ︙ | |||
27048 27049 27050 27051 27052 27053 27054 | # extérieur/intérieur __gn_intérieur_extérieur__ [l’|d’|mon|ton|son|leur|notre|votre|cet|en] [intérieure|extérieure] <<- /gn/ -2>> =\2[:-1] && Ceci est un adjectif féminin. Pas de “e” pour le nom masculin. [d’|ces|des|les|mes|tes|ses|leurs|nos|vos|en] [intérieures|extérieures] | | | 27062 27063 27064 27065 27066 27067 27068 27069 27070 27071 27072 27073 27074 27075 27076 | # extérieur/intérieur __gn_intérieur_extérieur__ [l’|d’|mon|ton|son|leur|notre|votre|cet|en] [intérieure|extérieure] <<- /gn/ -2>> =\2[:-1] && Ceci est un adjectif féminin. Pas de “e” pour le nom masculin. [d’|ces|des|les|mes|tes|ses|leurs|nos|vos|en] [intérieures|extérieures] <<- /gn/ space(\1, 1, 3) -2>> =\2[:-2]+"s" && Ceci est un adjectif féminin. Pas de “e” pour le nom masculin. TEST: que pensez-vous de notre {{intérieure}} ? ->> intérieur TEST: à l’{{intérieure}} rien de notable. ->> intérieur TEST: un homme de l’{{intérieure}}. ->> intérieur TEST: des {{intérieures}} remarquables. ->> intérieurs |
︙ | ︙ | |||
31775 31776 31777 31778 31779 31780 31781 31782 31783 31784 31785 31786 31787 31788 | <<- /ppas/ morph(\2, ":[NA].*:[fe]", ">(?:fois|impression)/") and not morph(>1, ":(?:Y|Ov|D|ÉV)|>qu[e’]/") and not ((value(\-1, "|commencé|décidé|essayé|fini|imaginé|ordonné|oublié|recommencé|supplié|tenté|") and value(>1, "|de|d’|")) or (value(\-1, "|commencé|recommencé|réussi|pensé|échoué|") and value(>1, "|à|"))) --1>> =suggVerbPpas(\-1, ":f:s") && Si “\1 \2…” est bien le COD du participe passé “\-1”, celui-ci devrait être au féminin singulier.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais [l’|mon|ton|son|notre|votre|leur] *WORD [que|qu’] [je|j’|tu|il|elle|on|nous|vous|ils|elles|iel|iels|$:M] ?[ne|n’]¿ ?[lui|leur]¿ >avoir @:V[0-3]..t.*:Q¬:[GWÉ] [l’|mon|ton|son|notre|votre|leur] *WORD [que|qu’] $:D¬:R @:[NA] ?[ne|n’]¿ ?[lui|leur]¿ >avoir @:V[0-3]..t.*:Q¬:[GWÉ] <<- /ppas/ morph(\2, ":[NA].*:m", ":[fe]|>impression/") and morph(\-1, ":Q.*:[fp]", ":[me]:[si]") --1>> =suggVerbPpas(\-1, ":m:s") && Si “\1 \2…” est bien le COD du participe passé “\-1”, celui-ci devrait être au masculin singulier.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais <<- /ppas/ __else__ and morph(\2, ":[NA].*:f", ":[me]") and morph(\-1, ":Q.*:[mp]", ":[fe]:[si]") --1>> =suggVerbPpas(\-1, ":f:s") && Si “\1 \2…” est bien le COD du participe passé “\-1”, celui-ci devrait être au féminin singulier.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais <<- /ppas/ __else__ and morph(\2, ":[NA].*:[si]") and morph(\-1, ":Q.*:p", ":[si]") --1>> =suggSing(\-1) && Si “\1 \2…” est bien le COD du participe passé “\-1”, celui-ci devrait être au singulier.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais | > | 31789 31790 31791 31792 31793 31794 31795 31796 31797 31798 31799 31800 31801 31802 31803 | <<- /ppas/ morph(\2, ":[NA].*:[fe]", ">(?:fois|impression)/") and not morph(>1, ":(?:Y|Ov|D|ÉV)|>qu[e’]/") and not ((value(\-1, "|commencé|décidé|essayé|fini|imaginé|ordonné|oublié|recommencé|supplié|tenté|") and value(>1, "|de|d’|")) or (value(\-1, "|commencé|recommencé|réussi|pensé|échoué|") and value(>1, "|à|"))) --1>> =suggVerbPpas(\-1, ":f:s") && Si “\1 \2…” est bien le COD du participe passé “\-1”, celui-ci devrait être au féminin singulier.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais [l’|mon|ton|son|notre|votre|leur] *WORD [que|qu’] [je|j’|tu|il|elle|on|nous|vous|ils|elles|iel|iels|$:M] ?[ne|n’]¿ ?[lui|leur]¿ >avoir @:V[0-3]..t.*:Q¬:[GWÉ] [l’|mon|ton|son|notre|votre|leur] *WORD [que|qu’] $:D¬:R @:[NA] ?[ne|n’]¿ ?[lui|leur]¿ >avoir @:V[0-3]..t.*:Q¬:[GWÉ] <<- /ppas/ not morph(>1, ":(?:Y|Ov|D|ÉV)|>qu[e’]/") >>> <<- /ppas/ morph(\2, ":[NA].*:m", ":[fe]|>impression/") and morph(\-1, ":Q.*:[fp]", ":[me]:[si]") --1>> =suggVerbPpas(\-1, ":m:s") && Si “\1 \2…” est bien le COD du participe passé “\-1”, celui-ci devrait être au masculin singulier.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais <<- /ppas/ __else__ and morph(\2, ":[NA].*:f", ":[me]") and morph(\-1, ":Q.*:[mp]", ":[fe]:[si]") --1>> =suggVerbPpas(\-1, ":f:s") && Si “\1 \2…” est bien le COD du participe passé “\-1”, celui-ci devrait être au féminin singulier.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais <<- /ppas/ __else__ and morph(\2, ":[NA].*:[si]") and morph(\-1, ":Q.*:p", ":[si]") --1>> =suggSing(\-1) && Si “\1 \2…” est bien le COD du participe passé “\-1”, celui-ci devrait être au singulier.|http://fr.wikipedia.org/wiki/Accord_du_participe_pass%C3%A9_en_fran%C3%A7ais |
︙ | ︙ | |||
31830 31831 31832 31833 31834 31835 31836 31837 31838 31839 31840 31841 31842 31843 | TEST: votre père que vous m’avez {{envoyée}} ->> envoyé TEST: ton psychologue que tu nous as {{suggérés}} ->> suggéré TEST: le flacon qu’ils ont réussi à acquérir TEST: la danse qu’ils ont réussi à faire TEST: La dernière fois qu’elle a brûlé, c’était pendant la Commune. TEST: en ayant l’impression qu’il a beaucoup réussi TEST: rassuré par l’enquête qu’il avait dû mener, il consentit à me faire confiance __ppas_det_plur_COD_que_avoir__ [les|des|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs] *WORD [que|qu’] [je|j’|tu|il|elle|on|nous|vous|ils|elles|iel|iels|$:M] ?[ne|n’]¿ ?[lui|leur]¿ >avoir @:V[0-3]..t.*:Q¬:[GWÉ] [les|des|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs] *WORD [que|qu’] $:D¬:R @:[NA] ?[ne|n’]¿ ?[lui|leur]¿ >avoir @:V[0-3]..t.*:Q¬:[GWÉ] <<- /ppas/ not morph(>1, ":(?:Y|Ov|D|LV|ÉV)") and not ((value(\-1, "|commencé|décidé|essayé|fini|imaginé|ordonné|oublié|recommencé|supplié|tenté|") and value(>1, "|de|d’|")) or (value(\-1, "|commencé|recommencé|réussi|pensé|échoué|") and value(>1, "|à|"))) and morph(\2, ":[NA]") >>> | > > | 31845 31846 31847 31848 31849 31850 31851 31852 31853 31854 31855 31856 31857 31858 31859 31860 | TEST: votre père que vous m’avez {{envoyée}} ->> envoyé TEST: ton psychologue que tu nous as {{suggérés}} ->> suggéré TEST: le flacon qu’ils ont réussi à acquérir TEST: la danse qu’ils ont réussi à faire TEST: La dernière fois qu’elle a brûlé, c’était pendant la Commune. TEST: en ayant l’impression qu’il a beaucoup réussi TEST: rassuré par l’enquête qu’il avait dû mener, il consentit à me faire confiance TEST: l’hypothèse que ces deux familles aient partagé un ancêtre commun __ppas_det_plur_COD_que_avoir__ [les|des|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs] *WORD [que|qu’] [je|j’|tu|il|elle|on|nous|vous|ils|elles|iel|iels|$:M] ?[ne|n’]¿ ?[lui|leur]¿ >avoir @:V[0-3]..t.*:Q¬:[GWÉ] [les|des|ces|mes|tes|ses|nos|vos|leurs|quelques|plusieurs] *WORD [que|qu’] $:D¬:R @:[NA] ?[ne|n’]¿ ?[lui|leur]¿ >avoir @:V[0-3]..t.*:Q¬:[GWÉ] <<- /ppas/ not morph(>1, ":(?:Y|Ov|D|LV|ÉV)") and not ((value(\-1, "|commencé|décidé|essayé|fini|imaginé|ordonné|oublié|recommencé|supplié|tenté|") and value(>1, "|de|d’|")) or (value(\-1, "|commencé|recommencé|réussi|pensé|échoué|") and value(>1, "|à|"))) and morph(\2, ":[NA]") >>> |
︙ | ︙ |